[SCM] mplayer2/master: Imported Upstream version 2.0-665-gb5349bb
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Nov 18 20:03:23 UTC 2012
The following commit has been merged in the master branch:
commit 3601ca0412ecba6ef9e05764072d87d3a729939f
Author: Reinhard Tartler <siretart at tauware.de>
Date: Sun Nov 18 19:47:08 2012 +0100
Imported Upstream version 2.0-665-gb5349bb
diff --git a/.gitignore b/.gitignore
index e902393..427ccb2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,10 +10,15 @@
/version.h
/codecs.conf.h
/codec-cfg
-/codec-cfg-test
-/codecs2html
/cpuinfo
/tags
/TAGS
/locale
/po
+/DOCS/man/*/mplayer.1
+/input/input.conf.h
+/libmpdemux/ebml_defs.c
+/libmpdemux/ebml_types.h
+/libvo/vdpau_template.c
+/libvo/vo_gl3_shaders.h
+/sub/osd_font.h
diff --git a/Copyright b/Copyright
index 491ddea..6ef2e00 100644
--- a/Copyright
+++ b/Copyright
@@ -43,22 +43,6 @@ Copyright: 2001-2002 Dave Chapman <dave at dchapman.com>
License: GNU General Public License
-Name: librtsp
-Version: xine CVS 2003/04/10 + patches
-URL: http://www.xinehq.de
-Directory: stream/librtsp/
-Copyright: 2000-2002 the xine project
-License: GNU General Public License
-
-
-Name: realrtsp
-Version: xine CVS 2003/04/17 + patches
-URL: http://www.xinehq.de
-Directory: stream/realrtsp/
-Copyright: 2002 the xine project
-License: GNU General Public License
-
-
Name: pnm protocol implementation
Version: xine CVS 2002/12/26 + patches
URL: http://www.xinehq.de
@@ -75,14 +59,6 @@ Copyright: 2001 Jason Carter
License: GNU General Public License
-Name: FreeSDP
-Version: 0.4.1
-URL: https://savannah.nongnu.org/projects/freesdp/
-Directory: stream/freesdp/
-Copyright: 2001-2003 Federico Montesino Pouzols <fedemp at suidzer0.org>
-License: GNU General Public License
-
-
Name: MJPEG Tools
Version: post 2001-12-03 release or CVS snapshot
URL: http://mjpeg.sourceforge.net/
diff --git a/DOCS/man/cs/mplayer.1 b/DOCS/man/cs/mplayer.1
deleted file mode 100644
index 28a0021..0000000
--- a/DOCS/man/cs/mplayer.1
+++ /dev/null
@@ -1,10602 +0,0 @@
-.\" Synced with r24573
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" Tuto man stránku napsali/pÚà Gabucino, Diego Biurrun, Jonas Jermann
-.\" PÅeklad (translation): JiÅà Heryán
-.\" Kódovánà (encoding): UTF-8
-.\"
-.
-.\" --------------------------------------------------------------------------
-.\" Definice maker
-.\" --------------------------------------------------------------------------
-.
-.\" definice odsazenà pro pododstavce
-.nr SS 5
-.\" pÅidat novou podvolbu
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" zaÄátek prvnà úrovnÄ podvoleb, ukonÄeno pomocà .RE
-.de RSs
-.RS 10
-..
-.\" zaÄátek druhé úrovnÄ podvoleb
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" konec druhé úrovnÄ podvoleb
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" Název
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2007-06-01" "The MPlayer Project" "The Movie Player"
-.
-.SH NÃZEV
-mplayer \- pÅehrávaÄ filmů
-.br
-mencoder \- filmový enkodér
-.
-.\" --------------------------------------------------------------------------
-.\" PoužitÃ
-.\" --------------------------------------------------------------------------
-.
-.SH POUŽITÃ
-.na
-.nh
-.B mplayer
-.RI [volby][soubor|URL|playlist|\-]
-.
-.br
-.B mplayer
-(volby) soubor1
-[volby k souboru1] [soubor2] [volby k souboru2]
-.
-.br
-.in
-.B mplayer
-[volby]
-{skupina souborů a voleb k nim}
-[volby pro skupinu]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[titul|[prvnÃ_titul]\-poslednÃ_titul ]
-[volby]
-.
-.br
-.B mplayer
-vcd://stopa[/zaÅÃzenÃ]
-.
-.br
-.B mplayer
-tv://[kanál][/id_vstupu]
-[volby]
-.
-.br
-.B mplayer
-radio://[kanál|frekvence][/capture]
-[volby]
-.
-.br
-.B mplayer
-pvr://
-[volby]
-.
-.br
-.B mplayer
-dvb://[ÄÃslo_karty@]kanál
-[volby]
-.
-.br
-.B mplayer
-mf://(souborová_maska|@seznam_v_souboru)
-[\-mf volby] [volby]
-.
-.br
-.B mplayer
-[cdda|cddb]://stopa[\-poslednÃ_stopa][:rychlost][/zaÅÃzenÃ]
-[volby]
-.
-.br
-.B mplayer
-cue://soubor[:stopa]
-[volby]
-.
-.br
-.B mplayer
-[ soubor|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|smb]://
-[uživatel:heslo@]URL[:port] [volby]
-.
-.br
-.B mplayer
-sdp://soubor
-[volby]
-.
-.br
-.B mplayer
-mpst://poÄÃtaÄ[:port]/URL
-[volby]
-.
-.br
-.B mplayer
-tivo://poÄÃtaÄ/(list|llist|fsid)
-[volby]
-.
-.br
-.B gmplayer
-[volby]
-[\-skin\ skin]
-.
-.br
-.B mencoder
-[volby] soubor
-[soubor|URL|\-] [\-o soubor | file://soubor | smb://[user:pass@]host/filepath]
-.
-.br
-.B mencoder
-[volby] soubor1
-[volby pro soubor1] [soubor2] [volby pro soubor2]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" Popis
-.\" --------------------------------------------------------------------------
-.
-.SH POPIS
-.B mplayer
-je filmový pÅehrávaÄ pro Linux (bÄžà na mnoha platformách a CPU
-architekturách, viz dokumentace).
-PÅehraje vÄtÅ¡inu MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM,
-MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM a RoQ souborů s podporou mnoha
-nativnÃch i binárnÃch kodeků.
-Můžete sledovat Video CD, SVCD, DVD, 3ivx, DivX\ 3/4/5 a dokonce
-i WMV filmy.
-.PP
-MPlayer podporuje velké množstvà výstupnÃch audio a video rozhranÃ.
-Pracuje s X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
-Quartz, Mac OS X CoreVideo, také můžete použÃt GGI, SDL (a vÅ¡echny jejÃ
-ovladaÄe), VESA (na vÅ¡ech VESA-kompatibilnÃch kartách, dokonce bez X11),
-nÄkteré nÃzkoúrovÅové ovladaÄe
-(pro Matrox, 3dfx a ATI) a nÄkteré hardwarové MPEG dekódovacà karty, jako je
-Siemens DVB, Hauppauge PVR (IVTV), DXR2 a DXR3/\:Hollywood+.
-Mnoho z\ nich podporuje hardwarové nebo softwarové Å¡kálovánÃ, takže si můžete
-užÃt film na celé obrazovce.
-.PP
-MPlayer má displej na obrazovce (OSD) pro stavové informace, krásné velké
-vyhlazené a stÃnované titulky a vizuálnà odezvu na povely z\ klávesnice.
-Podporovány jsou Evropské/\:ISO8859\-1,2 (Bulharské, Anglické, Äeské, atd),
-Cyrilické a Korejské fonty spolu s 12 formáty titulků (MicroDVD, SubRip, OGM,
-SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS a náš vlastnÃ: MPsub) a
-také DVD titulky (SPU proudy, VOBsub a Closed Captions).
-.PP
-.B mencoder
-(MPlayerův filmový Enkodér) je jednoduchý filmový enkodér navržený pro pÅevod
-MPlayerem pÅehratelných filmů (viz výš) do jiného formátu pÅehratelného
-MPlayerem (viz nÞ).
-Enkóduje video do MPEG-4 (DivX/Xvid), nÄkterého z libavcodec kodeků a PCM/\:MP3/\:VBRMP3
-audio v 1, 2 nebo 3 průchodech.
-Dále umà kopÃrovat datový proud (stream copy) a má rozsáhlý systém filtrů (crop,
-expand, flip, postprocess, rotate, scale, noise, konverze RGB/\:YUV) a mnoho
-dalÅ¡Ãch.
-.PP
-Abyste mohli rychle zaÄÃt, naleznete pÅÃklady použità na konci této manuálové
-stránky.
-.PP
-.B gmplayer
-je MPlayer s grafickým uživatelským rozhranÃm (GUI).
-Má stejné volby jako MPlayer.
-.PP
-.B PÅeÄtÄte si také HTML dokumentaci!
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Interaktivnà ovládánÃ
-.\" --------------------------------------------------------------------------
-.
-.SH "INTERAKTIVNÃ OVLÃDÃNÃ"
-MPlayer má plnÄ nastavitelnou, pÅÃkazovÄ orientovanou ovládacà vrstvu,
-která jej umožÅuje ovládat pomocà klávesnice, myÅ¡i, joysticku
-nebo dálkového ovládaÄe (s pomocà LIRC).
-.br
-Možnosti pÅizpůsobenà ovládánà naleznete v nápovÄdÄ k volbÄ \-input.
-.
-.TP
-.B Ovládánà klávesnicÃ
-.PD 0
-.RS
-.IPs "<\- a \->"
-PÅevine zpÄt/\:vpÅed o 10 sekund.
-.IPs "dolů a nahoru"
-PÅevine zpÄt/\:vpÅed o 1 minutu.
-.IPs "pgdown a pgup"
-PÅevine zpÄt/\:vpÅed o 10 minut.
-.IPs "[ a ]"
-SnÞÃ/\:zvýšà aktuálnà rychlost pÅehrávánà o 10%.
-.IPs "{ a }"
-Zpomalà na polovinu/\:zdvojà aktuálnà rychlost pÅehrávánÃ.
-.IPs "backspace (mazátko)"
-Vrátà rychlost pÅehrávánà na normál.
-.IPs "< a >"
-PÅejde zpÄt/\:vpÅed v playlistu.
-.IPs "ENTER"
-PÅejde vpÅed v playlistu, dokonce i pÅes konec.
-.IPs "HOME a END"
-PÅejde na dalÅ¡Ã/\:pÅedchozà podstrom v rodiÄovském playlistu.
-.IPs "INS a DEL (pouze ASX playlist)"
-PÅejde na dalÅ¡Ã/\:pÅedchozà alternativnà zdroj.
-.IPs "p / MEZERNÃK"
-Pauza pÅehrávánà (dalšà stisk odpauzuje).
-.IPs ".\ \ \ \ "
-Krok vpÅed.
-PrvnÃm stiskem pozastavÃte pÅehrávánÃ, s\ každým dalÅ¡Ãm stiskem se pÅehraje jeden
-snÃmek a opÄt zastavà (libovolná jiná klávesa odpauzuje).
-.IPs "q / ESC"
-Stop pÅehrávánà a ukonÄenà programu.
-.IPs "+ a -"
-Nastavenà zpoždÄnà zvuku po +/\- 0.1 sekundy.
-.IPs "/ a *"
-ZtlumenÃ/\:zesÃlenà hlasitosti
-.IP "9 a 0"
-ZtlumenÃ/\:zesÃlenà hlasitosti
-.IPs "( a )"
-Nastavenà stereováhy k levému nebo pravému kanálu.
-.IPs "m\ \ \ \ "
-Vypnutà zvuku.
-.IPs "_ (pouze MPEG-TS a libavformat)"
-Cykluje dostupné video stopy.
-.IPs "# (pouze DVD, MPEG, Matroska, AVI a libavformat)"
-PÅepÃná mezi dostupnými zvukovými stopami.
-.IPs "TAB (pouze MPEG-TS)"
-Cykluje dostupnými programy.
-.IPs "f\ \ \ \ "
-PÅepÃnaÄ na celou obrazovku a zpÄt (viz také volbu \-fs).
-.IPs "T\ \ \ \ "
-PÅepÃnaÄ funkce vždy-nahoÅe (stay-on-top) (viz také volbu \-ontop).
-.IPs "w a e"
-SnÞenÃ/\:zvýšenà rozsahu pan-and-scan (lupa).
-.IPs "o\ \ \ \ "
-PÅepÃnaÄ zobrazenà OSD: nic / posuvnÃk / posuvnÃk + Äas /
-posuvnÃk + Äas + celkový Äas.
-.IPs "d\ \ \ \ "
-PÅepÃnaÄ zahazovánà snÃmků: nic / zruÅ¡ zobrazenà / zruÅ¡ dekódovánÃ
-(viz volby \-framedrop a \-hardframedrop).
-.IPs "v\ \ \ \ "
-PÅepÃnaÄ viditelnosti titulků.
-.IPs "j\ \ \ \ "
-Cykluje dostupné titulky.
-.IPs "y / g"
-Krok vpÅed/zpÄt v titulcÃch.
-.IPs "F\ \ \ \ "
-PÅepÃnaÄ zobrazenà "vynucených titulků".
-.IPs "a\ \ \ \ "
-PÅepÃnaÄ zarovnánà titulků: vrch / stÅed / spodek.
-.IPs "x a z"
-Nastavenà zpoždÄnà titulků po +/\- 0.1 sekundy.
-.IPs "r a t"
-Posun titulků nahoru/dolů.
-.IPs "i (pouze režim \-edlout)"
-Nastavà zaÄátek a konec EDL bloku k vynechánà a zapÃÅ¡e jej do daného souboru.
-.IPs s (pouze \-vf screenshot)
-PoÅÃdà snÃmek obrazovky.
-.IPs "S (pouze \-vf screenshot)"
-Start/stop snÃmánà screenshotů.
-.IPs "I\ \ \ \ "
-Zobrazà jméno souboru na OSD.
-.IPs "! a @"
-PÅevine na zaÄátek pÅedchozÃ/následujÃcà kapitoly.
-.IPs "D (pouze \-vo xvmc, \-vf yadif, \-vf kerndeint)"
-Aktivuje/deaktivuje odstraÅovaÄ prokladu.
-.RE
-.PD 1
-.PP
-.RS
-NásledujÃcà klávesy jsou Äinné pouze pokud použÃváte hardwarovÄ akcelerovaný
-video výstup (xv, (x)vidix, (x)mga, atd), nebo softwarový ekvalizér
-(\-vf eq nebo \-vf eq2) nebo filtr hue (\-vf hue).
-.RE
-.PP
-.PD 0
-.RS
-.IPs "1 a 2"
-Nastavenà kontrastu.
-.IPs "3 a 4"
-Nastavenà jasu.
-.IPs "5 a 6"
-Nastavenà barevného tónu (hue).
-.IPs "7 a 8"
-Nastavenà sytosti barev (saturation).
-.RE
-.PD 1
-.PP
-.RS
-(NásledujÃcà klávesy jsou Äinné pouze pokud použÃváte výstupnà video rozhranÃ
-Quartz nebo corevideo.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "command + 0"
-Zmenšà video okna na polovinu původnà velikosti.
-.IPs "command + 1"
-Nastavà velikost video okna na původnà velikost.
-.IPs "command + 2"
-ZvÄtšà video okno na dvojnásobek původnà velikosti.
-.IPs "command + f"
-PÅepÃnaÄ na celou obrazovku a zpÄt (viz také volbu \-fs).
-.IPs "command + [ a command + ]"
-Nastavà alfa-kanál okna.
-.RE
-.PD 1
-.PP
-.RS
-(NásledujÃcà klávesy jsou platné pouze pokud použÃváte výstupnà video
-rozhranà sdl.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "c\ \ \ \ "
-Cykluje dostupné celoobrazovkové režimy.
-.IPs "n\ \ \ \ "
-Obnovà původnà režim.
-.RE
-.PD 1
-.PP
-.RS
-(NásledujÃcà klávesy jsou platné, pokud máte klávesnici
-s multimediálnÃmi tlaÄÃtky.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "PAUSE"
-Pauza.
-.IPs "STOP\ "
-UkonÄenà pÅehrávánà a skonÄÃ.
-.IPs "PÅEDCHOZÃ a DALÅ Ã"
-PÅevÃjenà zpÄt/\:vpÅed o 1 minutu.
-.RE
-.PD 1
-.PP
-.RS
-(NásledujÃcà klávesy jsou platné, pokud jste zakompilovali podporu GUI
-a dostanou pÅednost pÅed výše uvedenými definicemi tlaÄÃtek.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "ENTER"
-Start pÅehrávánÃ.
-.IPs "ESC\ \ "
-Stop pÅehrávánÃ.
-.IPs "l\ \ \ \ "
-NaÄtenà souboru.
-.IPs "t\ \ \ \ "
-NaÄtenà titulků.
-.IPs "c\ \ \ \ "
-OtevÅe voliÄ skinů.
-.IPs "p\ \ \ \ "
-OtevÅe playlist.
-.IPs "r\ \ \ \ "
-OtevÅe pÅedvolby.
-.RE
-.PD 1
-.PP
-.RS
-(NásledujÃcà klávesy jsou platné, pokud jste zakompilovali podporu vstupu z TV
-nebo DVB a dostanou pÅednost pÅed výše uvedenými definicemi tlaÄÃtek.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "h a k"
-Volba pÅedchozÃho/\:dalÅ¡Ãho kanálu.
-.IPs "n\ \ \ \ "
-ZmÄna normy.
-.IPs "u\ \ \ \ "
-ZmÄna seznamu kanálů.
-.RE
-.PD 1
-.PP
-.RS
-(NásledujÃcà klávesy jsou platné pouze pokud jste zakompilovali podporu
-dvdnav: PoužÃvajà se pro navigaci v nabÃdkách.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "keypad 8"
-TlaÄÃtko nahoru.
-.IPs "keypad 2"
-TlaÄÃtko dolů.
-.IPs "keypad 4"
-TlaÄÃtko doleva.
-.IPs "keypad 6"
-TlaÄÃtko doprava.
-.IPs "keypad 5"
-Návrat do hlavnà nabÃdky.
-.IPs "keypad 7"
-Návrat do nejbližšà nabÃdky (Åazenà pÅednosti je: kapitola->titul->hlavnÃ).
-.IPs "keypad ENTER"
-Potvrzenà volby.
-.RE
-.PD 1
-.PP
-.RS
-.
-(NásledujÃcà klávesy jsou platné pouze pokud byla zvolena podpora teletextu pÅi
-kompilaci: PoužÃvajà se pro ovládánà teletextu televize.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X"
-ZapnutÃ/\:vypnutà teletextu.
-.IPs "Q a W"
-PÅechod na dalÅ¡Ã/\:pÅedchozà teletextovou stránku.
-.RE
-.PD 1
-.PP
-.RS
-.
-.TP
-.B Ovládánà myÅ¡Ã
-.PD 0
-.RS
-.IPs "tlaÄÃtko 3 a tlaÄÃtko 4"
-PÅevÃjenà zpÄt/\:vpÅed o 1 minutu.
-.IPs "tlaÄÃtko 5 a tlaÄÃtko 6"
-SnÞenÃ/\:zvýšenà hlasitosti.
-.RE
-.PD 1
-.
-.TP
-.B Ovládánà joystickem
-.PD 0
-.RS
-.IPs "doleva a doprava"
-PÅevÃjenà zpÄt/\:vpÅed o 10 sekund.
-.IPs "nahoru a dolů"
-PÅevÃjenà vpÅed/\:zpÄt o 1 minutu.
-.IPs "tlaÄÃtko 1"
-Pauza
-.IPs "tlaÄÃtko 2"
-Cykluje stav OSD: nic / pÅevÃjenà / pÅevÃjenà + poÄitadlo /
-pÅevÃjenà + poÄitadlo + celkový Äas.
-.IPs "tlaÄÃtko 3 a tlaÄÃtko 4"
-SnÞenÃ/\:zvýšenà hlasitosti.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" PoužitÃ
-.\" --------------------------------------------------------------------------
-.
-.SH "POUŽITà OBECNÄ"
-Každá 'flag' volba má svůj 'noflag' protÄjÅ¡ek, Äili\& protÄjÅ¡kem volby \-fs je
-\-nofs.
-.PP
-Pokud je volba oznaÄená jako (pouze XXX), pak bude pracovat jen v kombinaci
-s volbou XXX nebo pokud je XXX zakompilováno.
-.PP
-.I POZNÃMKA:
-Parser podvoleb (použÃvaný napÅ. podvolbami \-ao pcm) podporuje
-zvláštnà druh eskejpovánà ÅetÄzce zamýšlený pro použità externÃmi GUI.
-.br
-Formát je následujÃcÃ:
-.br
-%n%ÅetÄzec_délky_n
-.br
-.I PÅÃKLADY:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-Nebo ve skriptu:
-.br
-mplayer \-ao pcm:file=%`expr length "$NAME"`%"$NAME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" KonfiguraÄnà soubory
-.\" --------------------------------------------------------------------------
-.
-.SH "KONFIGURAÄNÃ SOUBORY"
-Můžete umÃstit vÅ¡echny své volby do konfiguraÄnÃch souborů, které budou naÄteny
-pÅi každém spuÅ¡tÄnà MPlayeru/MEncoderu.
-Systémový konfiguraÄnà soubor 'mplayer.conf' je v konfiguraÄnÃm adresáÅi
-(zpravidla\& /etc/\:mplayer nebo /usr/\:local/\:etc/\:mplayer), uživatelský
-konfiguraÄnà soubor je pak '~/\:.mplayer/\:config'.
-KonfiguraÄnà soubor MEncoderu je 'mencoder.conf' v konfiguraÄnÃm adresáÅi
-(napÅ\& /etc/\:mplayer nebo /usr/\:local/\:etc/\:mplayer), uživatelský
-je pak '~/\:.mplayer/\:mencoder.conf'.
-Uživatelské volby pÅebijà systémové volby a pÅÃkazový Åádek pÅebije vÅ¡e.
-Syntax konfiguraÄnÃho souboru je 'volba=<hodnota>', vÅ¡ecko za '#' je považováno
-za komentáÅ.
-Volby které nemajà hodnoty jsou povoleny nastavenÃm na 'yes' nebo '1' nebo
- 'true' a zakázány nastavenÃm na 'no' nebo '0' nebo 'false'.
-I podvolby mohou být takto nastavovány.
-.PP
-RovnÄž můžete napsat konfiguraÄnà soubory k jednotlivým filmům.
-Pokud chcete mÃt konfiguraÄnà soubor pro film s názvem 'film.avi', vytvoÅte
-soubor s názvem 'film.avi.conf' s volbami pro tento film a umÃstÄte jej do
-~/.mplayer/.
-Můžete rovnÄž vložit konfiguraÄnà soubor do stejného adresáÅe jako pÅehrávaný
-soubor, jestliže uvedete volbu \-use\-filedir\-conf (na pÅÃkazovém Åádku nebo
-v globálnÃm konfiguraÄnÃm souboru).
-.PP
-.I PÅÃKLAD KONFIGURAÄNÃHO SOUBORU MPLAYERU:
-.sp 1
-.nf
-# Jako výchozà použijeme video výstup Matrox.
-vo=xmga
-# Rád dÄlám stojky když se dÃvám na video.
-flip=yes
-# DekódovánÃ/enkódovánà z nÄkolika PNG souborů,
-# zaÄneme mf://maska_souboru
-mf=type=png:fps=25
-# StraÅ¡idelné negativy jsou božÃ.
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I "PÅÃKLAD KONFIGURAÄNÃHO SOUBORU MENCODERU:"
-.sp 1
-.nf
-# Nastavà výchozà soubor pro výstup z MEncoderu.
-o=encoded.avi
-# NásledujÃcà 4 Åádky umožnà pÅÃkazu mencoder tv:// zaÄÃt okamžitÄ zachytávat.
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# komplexnÄjšà výchozà nastavenà enkódovánÃ
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont-autoscale=3
-subfont-osd-scale=6
-subfont-text-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Profily
-.\" --------------------------------------------------------------------------
-.
-.SH "PROFILY"
-Pro usnadnÄnà práce s\ odliÅ¡nými konfiguracemi si můžete definovat profily
-v\ konfiguraÄnÃch souborech.
-Profil zaÄnete uvedenÃm jeho jména v\ hranatých závorkách, napÅ.\& '[muj-profil]'.
-VÅ¡echny konfiguraÄnà volby budou souÄástà profilu.
-Popis (zobrazený pomocà \-profile help) si můžete definovat pomocà volby
-profile-desc.
-Profil ukonÄÃte zapoÄetÃm nového, nebo použitÃm profilu 'default' pro
-pokraÄovánà bÄžného nastavenÃ.
-.fi
-.PP
-.I "PÅÃKLAD PROFILU MENCODERU:"
-.sp 1
-.nf
-
-[mpeg4]
-profile-desc="Enkódovánà do MPEG4"
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile-desc="Enkódovánà do MPEG4 s vysokou kvalitou"
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Volby
-.\" --------------------------------------------------------------------------
-.
-.SH "ZÃKLADNÃ VOLBY"
-.
-.TP
-.B \-codecs\-file <soubor> (viz také volby \-afm, \-ac, \-vfm, \-vc)
-PÅeskoÄà standardnà vyhledávánà a použije <soubor> namÃsto vestavÄného souboru
-codecs.conf.
-.
-.TP
-.B \-include <konfiguraÄnà soubor>
-Zadaný <konfiguraÄnÃ\ soubor> bude zpracován po ostatnÃch konfiguraÄnÃch souborech.
-.
-.TP
-.B \-list\-options
-VypÃÅ¡e vÅ¡echny dostupné volby.
-.
-.TP
-.B \-msgcharset <znaková_sada>
-PÅevádà terminálové zprávy na zadanou znakovou sadu (výchozÃ: autodetekce).
-Text bude ve znakové sadÄ nastavené configure volbou \-\-charset.
-Nastavte ji na "noconv" pro potlaÄenà konverze (napÅ. kvůli potÞÃm s iconv).
-.br
-.I POZNÃMKA:
-Volba zaÄne pracovat až po zpracovánà pÅÃkazového Åádku.
-PromÄnná prostÅedà MPLAYER_CHARSET vám pomůže zbavit se prvnÃch Åádek
-vadného výstupu.
-.
-.TP
-.B \-msglevel <all=<úroveÅ>:<module>=<úroveÅ>:...>
-Ovládá upovÃdanost každého modulu pÅÃmo.
-Modul 'all' zmÄnà upovÃdanost vÅ¡ech modulů neuvedených explicitnÄ
-na pÅÃkazovém Åádku.
-Seznam vÅ¡ech dostupných modulů zÃskáte pomocà '\-msglevel help'.
-.br
-.I POZNÃMKA:
-NÄkteré zprávy jsou vypsány jeÅ¡tÄ pÅed zpracovánÃm pÅÃkazového Åádku a
-nejsou tedy ovlivnÄny volbou \-msglevel.
-Tyto zprávy lze ovládat promÄnnou prostÅedà MPLAYER_VERBOSE,
-podrobnosti naleznete nÞe v popisu k nÃ.
-.br
-Dostupné úrovnÄ:
-.PD 0
-.RSs
-.IPs \-1
-úplné ticho
-.IPs 0
-pouze kritické zprávy
-.IPs 1
-chybové zprávy
-.IPs 2
-varovánÃ
-.IPs 3
-krátké tipy
-.IPs 4
-informaÄnà sdÄlenÃ
-.IPs 5
-stavové informace (výchozÃ)
-.IPs 6
-obsáhlá sdÄlenÃ
-.IPs 7
-debug úroveŠ2
-.IPs 8
-debug úroveŠ3
-.IPs 9
-debug úroveŠ4
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet\ "
-MénÄ upovÃdaný výstup na konzoli; konkrétnÄ potlaÄà zobrazovánà stavového Åádku
-(tedy\ A: 0.7 V: 0.6 A-V: 0.068 ...).
-Volba je užiteÄná na pomalých nebo vadných terminálech, které nezvládajÃ
-návrat vozÃku (tedy\& \\r).
-.
-.TP
-.B \-priority <prio> (pouze Windows)
-Nastavà prioritu procesu pro MPlayer odpovÃdajÃcà pÅeddefinovaným prioritám
-dostupným pod Windows.
-Možné hodnoty <prio>:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I VAROVÃNÃ:
-Použità priority realtime může způsobit zamrznutà systému.
-.RE
-.
-.TP
-.B \-really\-quiet (viz také \-quiet)
-Zobrazovat jeÅ¡tÄ ménÄ výstupnÃch a stavových informacà než s\ \-quiet.
-PotlaÄà také GUI chybová okna.
-.
-.TP
-.B \-profile <profil1,profil2,...>
-Použije zadaný(é) profil(y). Seznam zadaných profilů vypÃÅ¡e \-profile help.
-.
-.TP
-.B \-show\-profile <profil>
-VypÃÅ¡e popis a obsah profilu.
-.
-.TP
-.B \-use\-filedir\-conf
-Poohlédne se po konfiguraÄnÃm souboru k filmu ve stejném adresáÅi
-kde je pÅehrávaný film.
-.br
-.I VAROVÃNÃ:
-Může být nebezpeÄné, pÅehráváme-li z nedůvÄryhodného média.
-.
-.TP
-.B "\-v\ \ \ \ \ "
-ZvyÅ¡uje úroveÅ upovÃdanosti o jednu úroveÅ na každé \-v
-nalezené na pÅÃkazové Åádce.
-.
-.
-.
-.SH "VOLBY PÅEHRÃVAÄE (POUZE MPLAYER)"
-.
-.TP
-.B \-autoq <ÄÃslo> (použijte s \-vf [s]pp)
-Dynamicky mÄnà úroveÅ postprocesingu v závislosti na vytÞenà procesoru.
-Zadané ÄÃslo vyjadÅuje maximálnà úroveÅ.
-Obvykle zde použijete velké ÄÃslo.
-Pro zprovoznÄnà funkce můžete použÃt \-vf\ [s]pp bez parametrů.
-.
-.TP
-.B \-autosync <faktor>
-PostupnÄ upravuje synchronizaci A/V podle namÄÅeného zpoždÄnà zvuku.
-Volba \-autosync 0 (výchozÃ) nastavà Äasovánà snÃmků
-výhradnÄ podle mÄÅenà zpoždÄnà zvuku.
-Uvedenà \-autosync 1 provede to samé, ale s urÄitými zmÄnami v A/V
-korekÄnÃm algoritmu.
-NerovnomÄrné snÃmkové rychlosti obrazu ve filmech které hrajà dobÅe
-s \-nosound může Äasto pomoci nastavenà této volby na celé ÄÃslo vÄtšà než 1.
-ÄÃm vyššà hodnota, tÃm vÃce se bude Äasovánà blÞit \-nosound.
-Zkuste \-autosync 30 pro zamaskovánà problémů se zvukovými ovladaÄi které
-neposkytujà perfektnà mÄÅenà zpoždÄnà zvuku.
-Pokud se pÅi tomto nastavenà vyskytne velký posun mezi video a audio složkou,
-zabere korekce jen asi 1 nebo 2 sekundy.
-Tato zpoždÄná reakce na náhlý rozpad A/V synchronizace by mÄla být jediným
-průvodnÃm jevem zapnutà této volby pro vÅ¡echny ovladaÄe zvuku.
-.
-.TP
-.B \-benchmark
-Po skonÄenà pÅehrávánà vypÃÅ¡e statistiku o využità CPU a zahozených snÃmcÃch.
-Volbu použijte v kombinaci s \-nosound a \-vo null pro benchmark pouze
-video kodeku.
-.br
-.I POZNÃMKA:
-Pokud MPlayer s touto volbou pÅehrává pouze video, pak ignoruje snÃmkovou
-rychlost (můžete to brát jako nekoneÄné fps).
-.
-.TP
-.B \-colorkey <ÄÃslo>
-ZmÄnà klÃÄovacà barvu na RGB hodnotu podle vaÅ¡eho uváženÃ.
-0x000000 je Äerná a 0xffffff je bÃlá.
-Podporováno pouze cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix,
-xover, xv (viz \-vo xv:ck), xvmc (viz \-vo xv:ck) a directx video výstupy.
-.
-.TP
-.B \-nocolorkey
-Zakáže klÃÄovánÃ.
-Podporováno pouze video výstupy cvidix, fbdev, svga, vesa, winvidix, xmga,
-xvidix, xover, xv (viz \-vo xv:ck), xvmc (viz \-vo xv:ck) a directx.
-.
-.TP
-.B \-correct\-pts (experimentálnÃ)
-PÅepne MPlayer do experimentálnÃho režimu, ve kterém jsou Äasové znaÄky
-video snÃmků poÄÃtány odliÅ¡nÄ a jsou podporovány filtry, které pÅidávajà nové
-snÃmky, nebo mÄnà Äasové znaÄky stávajÃcÃch.
-PÅesnÄjšà Äasovánà může být viditelné napÅÃklad pÅi pÅehrávánà titulků Äasovaných
-na zmÄnu scény pomocà volby \-ass.
-Bez \-correct\-pts bude Äasovánà titulků obvykle mimo o nÄkolik snÃmků.
-Tato volba nepracuje správnÄ s nÄkterými demuxery a kodeky.
-.
-.TP
-.B \-crash\-debug (DEBUG KÃD)
-Automaticky pÅipojà gdb pÅi pádu nebo SIGTRAP.
-Podpora musà být zakompilována pomocà konfiguraÄnà volby \-\-enable\-crash\-debug.
-.
-.TP
-.B \-doubleclick\-time
-Äas v milisekundách, bÄhem kterého se rozpoznajà dva stisky tlaÄÃtka jako
-dojklik (výchozÃ: 300).
-NastavenÃm na 0 necháte dvoukliky rozpoznávat váš okennà systém
-(pouze \-vo directx).
-.br
-.I POZNÃMKA:
-Chovánà může být mÃrnÄ odliÅ¡né v závislosti na tom, jestli pÅebÃráte
-MOUSE_BTN0_DBL nebo MOUSE_BTN0\-MOUSE_BTN0_DBL.
-.
-.TP
-.B \-edlout <soubor>
-VytvoÅà nový soubor a zapÃÅ¡e do nÄj editaÄnà (EDL) záznamy.
-BÄhem pÅehrávánà stiskne uživatel 'i' pro oznaÄenà zaÄátku a konce vystÅiženého
-bloku.
-Takto zÃskáte základ pro pozdÄjšà jemné doladÄnà editaÄnÃho souboru (EDL).
-Detaily viz http://www.mplayerhq.hu/\:DOCS/\:HTML/\:cs/\:edl.html.
-.
-.TP
-.B \-enqueue (Pouze GUI)
-ZaÅadà soubory zadané pÅÃkazovou Åádkou do playlistu namÃsto okamžitého
-pÅehránÃ.
-.
-.TP
-.B \-fixed\-vo
-Vynutà stejný videosystém (okno) pro vÃce souborů (jedna (od)inicializace pro
-všechny soubory).
-Pro vÅ¡echny soubory bude použito pouze jednou otevÅené okno.
-Takto lze lze pÅehrávat film rozdÄlený do vÃce souborů bez prodlev mezi
-jednotlivými Äástmi.
-V souÄasnosti umožÅujà fixed-vo jen tyto video výstupy: gl, gl2, mga, svga, x11,
-xmga, xv, xvidix a dfbmga.
-.
-.TP
-.B \-framedrop (viz též \-hardframedrop)
-Nezobrazà nÄkteré snÃmky, aby zachoval A/V synchronizaci na pomalých strojÃch.
-Na zahozené snÃmky nejsou použity video filtry.
-B-snÃmky se ani nedekódujÃ.
-.
-.TP
-.B \-(no)gui
-Zapne nebo vypne grafické rozhranà (výchozà závisà na názvu binárky).
-Pracuje pouze jako prvnà argument na pÅÃkazové Åádce.
-Nepracuje jako volby konfiguraÄnÃho souboru.
-.
-.TP
-.B \-h, \-help, \-\-help
-VypÃÅ¡e krátké shrnutà dostupných voleb.
-.
-.TP
-.B \-hardframedrop
-IntenzivnÄjšà zahazovánà snÃmků (pÅerušà dekódovánÃ).
-Vede ke zkreslenà obrazu!
-.
-.TP
-.B \-identify
-Zkratka pro \-msglevel identify=4.
-VypÃÅ¡e parametry souboru ve snadno zpracovatelném formátu.
-RovnÄž vypÃÅ¡e mnohem podrobnÄjšà informace o titulcÃch, jazycÃch zvukových proudů
-a ID.
-V\ nÄkterých pÅÃpadech dostanete vÃce informacà použitÃm \-msglevel identify=6.
-NapÅÃklad pro DVD vypÃÅ¡e délku (Äas) každého titulu, stejnÄ jako
-ID disku.
-Skript TOOLS/\:midentify.sh potlaÄà ostatnà výstup MPlayeru a (s\ trochou Å¡tÄstÃ)
-upravà jména souborů pro shell.
-.
-.TP
-.B \-idle (viz také \-slave)
-Nechá MPlayer neÄinnÄ Äekat, mÃsto skonÄenÃ, pokud již nemá dalšà soubor
-k pÅehránÃ. VÄtÅ¡inou to využijete v závislém režimu, kdy lze MPlayer ovládat
-pomocà zasÃlánà pÅÃkazů.
-.
-.TP
-.B \-input <pÅÃkazy>
-Tato volba se použÃvá pro nastavenà různých Äástà vstupnÃho systému.
-Cesty jsou relativnà k ~/.mplayer/.
-.br
-.I POZNÃMKA:
-Autorepeat je v souÄasnosti podporován pouze pro joysticky.
-.sp 1
-Dostupné pÅÃkazy:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<soubor>
-Nastavà použità jiného konfiguraÄnÃho souboru než je výchozÃ
-~/\:.mplayer/\:input.conf.
-NenÃ-li zadána plná cesta, pÅedpokládá se ~/\:.mplayer/\:<soubor>.
-.IPs ar-delay
-ZpoždÄnà v milisekundách než zaÄne autorepeat klávesy (0 pro zruÅ¡enÃ).
-.IPs ar-rate
-PoÄet stisků klávesy za sekundu generovaných funkcà autorepeat.
-.IPs keylist
-VypÃÅ¡e vÅ¡echny klávesy, kterým mohou být pÅiÅazeny pÅÃkazy.
-.IPs cmdlist
-VypÃÅ¡e vÅ¡echny pÅÃkazy, které lze pÅiÅadit klávesám.
-.IPs js-dev
-Nastavà zadaný joystick pro použità (výchozÃ: /dev/\:input/\:js0).
-.IPs file=<soubor>
-Äte pÅÃkazy ze zadaného <souboru>.
-NejpoužitelnÄjšà s\ FIFO (pojmenovaná roura).
-.br
-.I POZNÃMKA:
-Pokud je zadaný soubor FIFO, MPlayer otevÅe oba konce, takže můžete provést
-nÄkolik 'echo "seek 10" > mp_pipe' a roura bude stále platná.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-Nastavuje velikost vyrovnávacà pamÄti FIFO pro události klávesnice (výchozÃ: 7).
-FIFO velikosti n může uchovat (n-1) událostÃ.
-Pokud je pamÄÅ¥ pÅÃliÅ¡ malá, nÄkteré události mohou být ztraceny
-(to vede k "zaseknutým tlaÄÃtkům myÅ¡i" a podobným efektům).
-Pokud je pÅÃliÅ¡ velká, může se zdát že MPlayer zatuhnul zatÃmco zpracovává
-nastÅádané události.
-Chcete-li dosáhnout stejného chovánà jako v dobÄ pÅed existencà této volby,
-nastavte ji na 2 v Linuxu nebo 1024 ve Windows.
-.
-.TP
-.B \-lircconf <soubor> (Pouze LIRC)
-UrÄuje konfiguraÄnà soubor pro LIRC (výchozÃ: ~/.lircrc).
-.
-.TP
-.B \-list\-properties
-VypÃÅ¡e seznam dostupných nastavenÃ.
-.
-.TP
-.B \-loop <ÄÃslo>
-PÅehraje film <ÄÃslo> krát.
-0 znamená poÅád.
-.
-.TP
-.B \-menu (Pouze OSD menu)
-Zapne podporu OSD menu.
-.
-.TP
-.B \-menu\-cfg <soubor> (Pouze OSD menu)
-Použije náhradnà menu.conf.
-.
-.TP
-.B \-menu\-chroot <cesta> (pouze OSD menu)
-PÅesune koÅen menu výbÄru souboru na zadané mÃsto.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-menu\-chroot=/home"
-Omezà výbÄr souboru na adresáŠ/\:home a nÞe (Äili.\& nebude
-možný pÅÃstup na /, ale na /home/jméno_uživatele bude).
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdir (pouze OSD menu)
-Souborový prohlÞeÄ startuje z poslednà známé pozice, mÃsto pracovnÃho
-adresáÅe.
-.
-.TP
-.B \-menu\-root <hodnota> (Pouze OSD menu)
-UrÄà hlavnà menu.
-.
-.TP
-.B \-menu\-startup (pouze OSD menu)
-Zobrazà hlavnà menu pÅi startu MPlayeru.
-.
-.TP
-.B \-mouse\-movements
-Povolà MPlayeru dostávat události ukazatele hlášené výstupnÃm
-video rozhranÃm (zatÃm jsou podporovány pouze odvozeniny X11).
-Nutné pro volbu tlaÄÃtek v DVD nabÃdkách.
-.
-.TP
-.B \-noconsolecontrols
-Zamezà MPlayeru ÄÃst stisky kláves ze standardnÃho vstupu.
-Použitelné pokud naÄÃtáte data ze standardnÃho vstupu.
-Tato volba je automaticky zapnutá když je '\-' nalezen na pÅÃkazovém Åádku.
-Zde máte pÅÃklad kdy je nutné nastavit volbu ruÄnÄ:\&
-pokud otevÅete /dev/\:stdin (nebo ekvivalent na vaÅ¡em systému), použijete stdin
-v playlistu nebo plánujete ÄÃst stdin pozdÄji pÅÃkazem loadfile nebo
-loadlist v závislém režimu.
-.
-.TP
-.B \-nojoystick
-Vypne ovládánà joystickem.
-.
-.TP
-.B \-nolirc
-Vypne ovládánà pomocà dálkového ovládaÄe.
-.
-.TP
-.B \-nomouseinput
-Vypne ovládánà pomocà myši (kontextové menu mozplayerxp spoléhá na
-tuto volbu).
-.
-.TP
-.B \-rtc (pouze RTC)
-Zapne použità Linuxového RTC (hodiny reálného Äasu \- /dev/\:rtc) jako
-Äasové základny.
-Toto vzbudà proces každou 1/1024 sekundy pro zjiÅ¡tÄnà aktuálnÃho Äasu.
-NepotÅebné s modernÃmi Linuxovými jádry konfigurovanými pro použità na
-desktopech, jelikož ty již budà proces s podobnou pÅesnostà pÅi použitÃ
-normálnÄ Äasovaného spánku.
-.
-.TP
-.B \-playing\-msg <ÅetÄzec>
-VypÃÅ¡e <ÅetÄzec> pÅed zaÄátkem pÅehrávánÃ.
-Podporovány jsou následujÃcà expanze:
-.RSs
-.IPs ${NÃZEV}
-Expanduje na hodnotu parametru NÃZEV.
-.IPs $(NÃZEV:TEXT)
-Expanduje TEXT jen pokud je dostupný parametr NÃZEV.
-.RE
-.
-.TP
-.B \-playlist <soubor>
-PÅehraje soubory uvedené v playlistu (ASX, Winamp, SMIL, nebo
-ve formátu název-souboru-na-samostatném-Åádku).
-.br
-.I POZNÃMKA:
-Playlist je zpracován jako vstup. Volby nalezené za touto volbou
-budou tedy uplatnÄny pouze pro soubory v playlistu.
-.br
-DODÄLAT: Volba musà být důkladnÄ objasnÄna a dokumentována.
-.
-.TP
-.B \-rtc\-device <zaÅÃzenÃ>
-Použije zadané <zaÅÃzenÃ> hodin reálného Äasu jako Äasovou základnu.
-.
-.TP
-.B \-shuffle
-PÅehraje soubory v náhodném poÅadÃ.
-.
-.TP
-.B \-skin <jméno> (pouze GUI)
-Nahraje skin z adresáÅe <jméno>. Zde jsou výchozÃ
-adresáÅe se skiny:\& /usr/\:local/\:share/\:mplayer/\:skins/\: a ~/.mplayer/\:skins/.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-Zkoušà /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene
-a poté ~/.mplayer/\:skins/\:fittyfene.
-.RE
-.PD 1
-.
-.TP
-.B \-slave (viz též \-input)
-PÅepne do závislého režimu. V nÄm MPlayer sloužà jako podkladová aplikace
-(backend) pro jiné programy.
-MPlayer Äte pÅÃkazy oddÄlené novým Åádkem(\\n) ze std. vstupu, nezpracovává vÅ¡ak
-vstupy z klávesnice apod.
-.br
-.I POZNÃMKA:
-Prostudujte si volbu \-input cmdlist pro seznam pÅÃkazů a DOCS/tech/slave.txt
-pro jejich popis.
-.
-.TP
-.B \-softsleep
-Äasové rámce jsou zÃskávány opakovaným zjišťovánÃm pÅesného Äasu namÃsto
-požadavku na jádro o vÄasné probuzenà MPlayeru.
-To je užiteÄné, pokud je Äasovánà jádrem nepÅesné a nemůžete ani použÃt RTC.
-Cenou je vÄtšà zátÄž CPU.
-.
-.TP
-.B \-sstep <sek>
-PÅeskoÄà <sek> sekund po každém snÃmku.
-Udržuje se normálnà snÃmková rychlost, pÅehrávánà je tedy zrychlené.
-PÅeskakovánà může být nepÅesné, protože MPlayer umà pÅevÃjet pouze na dalšà klÃÄový snÃmek.
-.
-.
-.SH "VOLBY PRO DEMUXER/DATOVÃ PROUD"
-.
-.TP
-.B \-a52drc <úroveÅ>
-Vybere dynamickou kompresnà úroveŠpro AC-3 zvukové proudy, kde
-<úroveÅ> je desetinné ÄÃslo v rozsahu od 0 do 1. ÃroveÅ 0 znamená bez komprese
-a 1 (což je výchozÃ) znamená plná komprese (tiché pasáže jsou jeÅ¡tÄ tiššÃ
-a naopak).
-Tato volba se projevà pouze pokud AC-3 proud obsahuje informaci o požadovaném
-kompresnÃm rozsahu.
-.
-.TP
-.B \-aid <ID> (viz také volbu \-alang)
-Vybere audio kanál (MPEG: 0\-31 AVI/\:OGM: 1\-99 ASF/\:RM: 0\-127,
-VOB(AC-3): 128\-159 VOB(LPCM): 160\-191 MPEG-TS 17\-8190).
-MPlayer vypÃÅ¡e dostupná audio ID pokud bÄžà v upovÃdaném (\-v) režimu.
-PÅi pÅehrávánà MPEG-TS proudu, použije MPlayer/\:Mencoder prvnà program
-(pokud je) se zvoleným audio proudem.
-.
-.TP
-.B \-alang <kód jazyka[, kód jazyka,...]> (viz také volbu \-aid)
-Nastavà seznam jazyků zvuku k použità podle priority.
-Různé nosné formáty souborů použÃvajà různé kódy jazyka.
-DVD použÃvajà dvoupÃsmenné kódy jazyka podle ISO 639\-1, Matroska, MPEG-TS a NUT
-použÃvajà trojpÃsmenné kódy podle ISO 639\-2, zatÃmco OGM použÃvá volnou formu
-identifikace.
-MPlayer vypÃÅ¡e dostupné jazyky pokud bÄžà v upovÃdaném (\-v) režimu.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-alang hu,en"
-.IPs "mplayer dvd://1 \-alang hu,en"
-Vybere zvukovou stopu v maÄarÅ¡tinÄ, pokud nenà k dispozici, použije stopu v angliÄtinÄ.
-.IPs "mplayer \-alang jpn example.mkv"
-PÅehraje Matroska soubor v japonÅ¡tinÄ.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]jméno> (pouze \-audiofile)
-Vynutà zadaný typ audio demuxeru pro \-audiofile.
-Použijte '+' pÅed jménem pro vynucenÃ, což pÅeskoÄà nÄkteré testy!
-Zadejte jméno demuxeru tak jak je vypsáno pomocà \-audio\-demuxer help.
-Z důvodu zpÄtné kompatibility rovnÄž akceptuje ID demuxeru, jak je definováno v
-libmpdemux/\:demuxer.h.
-NapÅÃklad \-audio\-demuxer audio nebo \-audio\-demuxer 17 vynutà MP3.
-.
-.TP
-.B \-audiofile <soubor>
-PÅehraje video se zvukem z externÃho souboru (WAV, MP3 nebo Ogg Vorbis).
-.
-.TP
-.B \-audiofile\-cache <kBajtů>
-Povolà vyrovnávacà pamÄÅ¥ zvukového proudu z \-audiofile a použije pro ni zadané
-množstvà pamÄti.
-.
-.TP
-.B \-reuse\-socket (pouze udp://)
-UmožnÃ, aby byl socket použitelný jinými procesy, jakmile bude uzavÅen.
-.
-.TP
-.B \-bandwidth <hodnota> (pouze sÃÅ¥)
-Nastavà maximálnà šÃÅku pásma pro pÅehrávánà ze sÃtÄ (pro servery které
-umà poslat obsah v různých datových tocÃch (bitrate)).
-Použitelné když chcete sledovat živé vysÃlánà a máte pomalé pÅipojenÃ.
-PÅi Real RTST streamovánà je volba rovnÄž použita pro nastavenà maximálnÃ
-vysÃlacà šÃÅku pásma, což umožÅuje rychlejšà plnÄnà vyrovnávacà pamÄti a
-ukládánà datového proudu (streamdump).
-.
-.TP
-.B \-cache <kBajtů>
-Tato volba nastavuje kolik pamÄti (v kilobajtech) bude použito pro vyrovnávacà pamÄÅ¥
-souboru nebo URL.
-ZvláštÄ vhodné pro pomalá média.
-.
-.TP
-.B \-nocache
-Vypne vyrovnávacà pamÄÅ¥.
-.
-.TP
-.B \-cache\-min <procento>
-PÅehrávánà zaÄne jakmile byla vyrovnávacà pamÄÅ¥ naplnÄna z vÃce <procent> než
-je zde nastavený práh.
-.
-.TP
-.B \-cache\-seek\-min <procento>
-Pokud se má pÅevinout na pozici mimo <procento> velikosti vyrovnávacà pamÄti
-z aktuálnà pozice, MPlayer pozastavà pÅehrávánà do doby,
-než se vyrovnávacà pamÄÅ¥ doplnà alespoÅ na tuto pozici, mÃsto aby provedl
-pÅevÃjenà v datovém proudu (výchozÃ: 50).
-.
-.TP
-.B \-cdda <volba1:volba2> (pouze CDDA)
-Tato volba se použÃvá na vyladÄnà Ätenà z Audio CD v MPlayeru.
-.sp 1
-Dostupné volby jsou:
-.RSs
-.IPs speed=<hodnota>
-Nastavà rychlost otáÄenà CD.
-.IPs paranoia=<0\-2>
-Nastavà úroveŠpro paranoiu.
-Zdá se, že jiné hodnoty než 0 znemožnà pÅehrát vÅ¡e kromÄ prvnà stopy.
-.RSss
-0: zákaz testovánà (výchozÃ)
-.br
-1: pouze koliznà test
-.br
-2: plné ovÄÅovánà a korekce dat
-.REss
-.IPs generic-dev=<hodnota>
-Použije zadané obecné SCSI zaÅÃzenÃ.
-.IPs sector-size=<hodnota>
-Nastavà velikost sektoru pro atomické ÄtenÃ.
-.IPs overlap=<hodnota>
-Vynutà minimálnà pÅesah <hodnota> sektorů prohledávaných pÅi verifikaci.
-.IPs toc-bias
-pÅedpokládá že zavádÄcà ofset stopy 1 uvedený v TOC bude adresován jako
-LBA 0.
-Tuto volbu vyžadujà nÄkteré mechaniky Toshiba abychom dostali správné hranice stop.
-.IPs toc-offset=<poÄet>
-PÅidá <poÄet> sektorů k zÃskaným hodnotám pÅi adresovánà stop.
-Může být záporné.
-.IPs (no)skip
-(Ne)pÅijmi nedokonale opravená data.
-.RE
-.
-.TP
-.B \-cdrom\-device <cesta k zaÅÃzenÃ>
-Nastavà jméno CD-ROM zaÅÃzenà (výchozÃ: /dev/\:cdrom).
-.
-.TP
-.B \-channels <poÄet> (viz také \-af channels)
-Nastavuje požadavek na poÄet pÅehrávaných audiokanálů (výchozÃ: 2).
-MPlayer požádá dekodér o dekódovánà zvuku do požadovaného poÄtu kanálů a
-od této chvÃle je na dekodéru, aby si s tÃm poradil.
-To je zpravidla důležité pouze pokud pÅehráváte video s AC-3 zvukem (jako DVD).
-V tom pÅÃpadÄ liba52 provede dekódovánà a automaticky smÃchá zvuk do
-požadovaného poÄtu kanálů.
-Pro pÅÃmou kontrolu poÄtu výstupnÃch kanálů nezávisle na poÄtu dekódovaných
-kanálů použijte filtr channels.
-.br
-.I POZNÃMKA:
-Tato funkce je zajiÅ¡tÄna pomocà kodeků (pouze AC-3), filtrů (surround) a
-zvukových rozhranà (minimálnÄ OSS).
-.sp 1
-Dostupné volby jsou:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-stereo
-.IPs 4
-surround
-.IPs 6
-plný 5.1
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <ID kapitoly>[\-<poslednà ID kapitoly>] (pouze dvd:// a dvdnav://)
-UrÄà poÄáteÄnà kapitolu pro pÅehrávánÃ.
-VolitelnÄ lze urÄit také poslednà pÅehrávanou kapitolu (výchozÃ: 1).
-.
-.TP
-.B \-cookies (pouze sÃÅ¥)
-PosÃlá cookies pÅi odesÃlánà HTTP požadavků.
-.
-.TP
-.B \-cookies\-file <soubor> (pouze sÃÅ¥)
-Äte HTTP cookies ze <soubor> (výchozÃ: ~/.mozilla/ a ~/.netscape/)
-a zrušà Ätenà z výchozÃch mÃst.
-PÅedpokládá se že soubor má formát Netscape.
-.
-.TP
-.B \-delay <sekund>
-ZpoždÄnà audia v sekundách (kladné Äi záporné desetinné ÄÃslo)
-.br
-Záporné hodnoty zpožÄujà zvuk a kladné hodnoty zpožÄujà video.
-PovÅ¡imnÄte si, že je to pÅesný opak volby \-audio\-delay pro MEncoder.
-.br
-.I POZNÃMKA:
-Pokud je volba použita v MEncoderu, nezaruÄujeme správnou funkci
-s \-ovc copy; mÃsto toho použijte \-audio\-delay.
-.
-.TP
-.B \-ignore\-start
-Ignoruje nastavené Äasy startu proudů v AVI souborech.
-V MPlayeru se tak vynulujà veÅ¡kerá zpoždÄnà ze souborů enkódovaných s volbou
-\-audio\-delay.
-BÄhem enkódovánà tato volba zabránà MEncoderu pÅevést originálnà startovnÃ
-pozice do nového souboru; volba \-audio\-delay tÃm nenà ovlivnÄna.
-Poznamenejme, že MEncoder obÄas nastavuje startovnà Äasy automaticky, aby
-kompenzoval oÄekávané zpoždÄnà dekódovánÃ, proto tuto volbu nepoužÃvejte bez
-pÅedchozÃho otestovánÃ.
-.
-.TP
-.B \-demuxer <[+]jméno>
-Vynutà typ demuxeru.
-Použijte '+' pÅed jménem pro vynucenÃ, což pÅeskoÄà nÄkteré testy!
-Zadejte jméno demuxeru tak jak je vypsáno pomocà \-demuxer help.
-Z důvodu zpÄtné kompatibility rovnÄž akceptuje ID demuxeru, jak je definováno v
-libmpdemux/\:demuxer.h.
-.
-.TP
-.B \-dumpaudio (pouze MPlayer)
-Uložà surový komprimovaný audio proud do ./stream.dump (použitelné s MPEG/\:AC-3,
-ve vÄtÅ¡inÄ ostatnÃch pÅÃpadů nebude výsledný soubor pÅehratelný).
-Pokud na pÅÃkazovém Åádku použijete vÃce jednu z voleb \-dumpaudio, \-dumpvideo
-nebo \-dumpstream, použije se pouze ta poslednÃ.
-.
-.TP
-.B \-dumpfile <soubor> (pouze MPlayer)
-UrÄà soubor do kterého bude MPlayer ukládat.
-Může být použito s \-dumpaudio / \-dumpvideo / \-dumpstream.
-.
-.TP
-.B \-dumpstream (pouze MPlayer)
-Uložà surový datový proud do ./stream.dump.
-Použitelné když ripujete z DVD nebo sÃtÄ.
-Pokud na pÅÃkazovém Åádku použijete vÃce jednu z voleb \-dumpaudio, \-dumpvideo
-nebo \-dumpstream, použije se pouze ta poslednÃ.
-.
-.TP
-.B \-dumpvideo (pouze MPlayer)
-Uložà surový komprimovaný video datový proud do ./stream.dump
-(nijak zvlášť užiteÄné).
-Pokud na pÅÃkazovém Åádku použijete vÃce jednu z voleb \-dumpaudio, \-dumpvideo
-nebo \-dumpstream, použije se pouze ta poslednÃ.
-.
-.TP
-.B \-dvbin <volby> (pouze DVB)
-PÅedá zadané volby vstupnÃmu modulu DVB, ÄÃmž nahradà výchozà volby:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-UrÄà ÄÃslo karty k použità 1\-4 (výchozÃ: 1).
-.IPs file=<soubor>
-Dá pokyn MPlayeru aby Äetl kanály ze <souboru>.
-VýchozÃm je ~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc} (podle typu vašà karty)
-nebo ~/.mplayer/\:channels.conf jako poslednà záchrana.
-.IPs timeout=<1\-30>
-Maximálnà poÄet sekund po který se bude MPlayer pokouÅ¡et vyladit
-frekvenci, než to vzdá (výchozÃ: 30).
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <cesta k zaÅÃzenÃ> (pouze DVD)
-Nastavà jméno DVD mechaniky (výchozÃ: /dev/\:dvd).
-RovnÄž můžete zadat adresáŠdo kterého jste pÅedtÃm pÅÃmo zkopÃrovali soubory
-z DVD (napÅ.\& pomocà vobcopy).
-Poznamenejme že pÅedevÅ¡Ãm použità \-dumpstream je obvykle lepšà způsob
-kopÃrovánà DVD (viz pÅÃklady).
-.
-.TP
-.B \-dvd\-speed <násobek rychlosti v KB/s> (pouze DVD)
-Pokusà se omezit rychlost DVD (výchozÃ: 0, beze zmÄny).
-Základnà rychlost DVD je asi 1350KB/s, takže mechanika 8x dokáže ÄÃst až
- rychlostà 10800KB/s.
-Menšà rychlosti poskytujÃé tiššà chod. Pro sledovánà DVD by 2700KB/s mÄlo být
-tiché i dostateÄnÄ rychlé.
-MPlayer resetuje pÅi zavÅenà rychlost mechaniky na výchozà nastavenÃ.
-Hodnoty menšà než 100 znamenajà násobky 1350KB/s, Äili \-dvd\-speed 8 nastavÃ
-10800KB/s.
-.br
-.I POZNÃMKA:
-Pro zmÄnu rychlosti musÃte mÃt právo zápisu k DVD zaÅÃzenÃ.
-.
-.TP
-.B \-dvdangle <ID úhlu> (pouze DVD)
-NÄkteré DVD disky obsahujà scény, které mohou být pozorovány z nÄkolika úhlů.
-Zde můžete sdÄlit MPlayeru které úhly použÃt (výchozÃ: 1).
-.
-.TP
-.B \-edl <soubor>
-Zapne editaÄnà akce (EDL) ze souboru bÄhem pÅehrávánÃ.
-Video bude pÅeskakováno, zvuk bude vypÃnán a zapÃnán podle vstupů ze zadaného
-souboru.
-Detaily jak EDL použÃt naleznete na
-http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html.
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|velikost[b|kb|mb]> (viz také \-ss a \-sb)
-Stop na zadané Äasové znaÄce nebo bajtové pozici.
-.br
-.I POZNÃMKA:
-Bajtová pozice je dostupná pouze pro MEncoder a nebude pÅesná, jelikož
-dokáže zastavit pouze na kraji snÃmku.
-Použije-li se v kombinaci s volbou \-ss, posune se \-endpos o poÄet sekund
-zadaných pomocà \-ss.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-Stop na 56 sekundách.
-.IPs "\-endpos 01:10:00"
-Stop na 1 hodinÄ a 10 minutách.
-.IPs "\-ss 10 \-endpos 56"
-Stop na 1 minutÄ a 6 sekundách.
-.IPs "\-endpos 100mb"
-Enkóduje pouze 100 MB.
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-Vynutà obnovu indexu.
-Použitelné pro soubory s vadným indexem (video se rozcházà se zvukem, apod.\&).
-Umožnà pÅevÃjenà v souborech, kde to nebylo možné.
-Index můžete opravit trvale pomocà MEncoderu (viz dokumentace).
-.br
-.I POZNÃMKA:
-Tato volba pracuje pouze pokud nosný formát umožÅuje pÅevÃjenÃ
-(Äili\ ne se standardnÃm vstupem, rourou, atd.\&).
-.
-.TP
-.B \-fps <desetinné_ÄÃslo>
-PÅepÃÅ¡e snÃmkovou rychlost (framerate) videa.
-UžiteÄné pokud je originálnà hodnota Å¡patná nebo úplnÄ chybÃ.
-.
-.TP
-.B \-frames <ÄÃslo>
-PÅehraje/\:konvertuje pouze prvnÃch <ÄÃslo> snÃmků, pak skonÄÃ.
-.
-.TP
-.B \-hr\-mp3\-seek (pouze MP3)
-PÅesné pÅevÃjenà MP3.
-Zapnuto pÅi pÅehrávánà externÃho MP3 souboru, jelikož musÃme
-pÅevÃjet velmi pÅesnÄ abychom udrželi A/V synchronizaci.
-PÅevÃjenà může být velmi pomalé (zvláštÄ zpÄtné) jelikož musÃme pÅevinout
-až na zaÄátek, abychom naÅ¡li požadovaný snÃmek.
-.
-.TP
-.B \-idx (viz též \-forceidx)
-VytvoÅà index pro soubory, které ho nemajÃ,
-což umožnà jejich pÅevÃjenÃ.
-Použitelné u vadných/\:nekompletnÃch downloadů nebo Å¡patnÄ vytvoÅených souborů.
-.br
-.I POZNÃMKA:
-Tato volba pracuje pouze pokud nosný formát umožÅuje pÅevÃjenÃ
-(Äili\ ne se standardnÃm vstupem, rourou, atd.\&).
-.
-.TP
-.B \-noidx
-PÅeskoÄà znovusestavenà indexového souboru.
-S touto volbou MEncoder nezapÃÅ¡e index.
-.
-.TP
-.B \-ipv4\-only\-proxy (pouze sÃÅ¥)
-Nepoužije proxy pro IPv6 adresy.
-Pro IPv4 bude stále proxy použÃvána.
-.
-.TP
-.B \-loadidx <soubor_obsahujÃcÃ_index>
-Soubor ze kterého budou naÄtena indexová data video souboru uložená volbou \-saveidx.
-Tento index se použije pro pÅevÃjenà a nahradà jakákoli indexová data
-z původnÃho AVI.
-MPlayer vám nezabránà v naÄtenà indexu ze souboru který byl vygenerován
-pro jiné AVI, pak ovšem bude výsledek žalostný.
-.br
-.I POZNÃMKA:
-MPlayer má již podporu OpenDML, což Äinà tuto volbu zastaralou.
-.
-.TP
-.B \-mc <sekund/snÃmek>
-maximálnà korekce A-V synchronizace na snÃmek (v sekundách)
-.
-.TP
-.B \-mf <volba1:volba2:...>
-PoužÃvá se pÅi dekódovánà z vÃce PNG nebo JPEG souborů.
-.sp 1
-Dostupné volby jsou:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<hodnota>
-Å¡ÃÅka vstupnÃho souboru (výchozÃ: autodetekce)
-.IPs h=<hodnota>
-výška vstupnÃho souboru (výchozÃ: autodetekce)
-.IPs fps=<hodnota>
-snÃmková rychlost výstupu (výchozÃ: 25)
-.IPs type=<hodnota>
-typy vstupnÃch souborů (možnosti: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (pouze AVI)
-Vynutà použità AVI parseru navrženého pro neprokládané soubory
-(umožnà pÅehrávánà nÄkterých vadných AVI souborů).
-.
-.TP
-.B \-nobps (pouze AVI)
-NepoužÃvat průmÄrnou hodnotu byte/\:sekunda pro A-V synchronizaci (AVI).
-Pomůže u nÄkterých AVI souborů s vadnou hlaviÄkou.
-.
-.TP
-.B \-noextbased
-PotlaÄÃ volbu demuxeru podle pÅÃpony souboru.
-NormálnÄ když nemůže být s jistotou urÄen nosný formát souboru (demuxer)
-(soubor nemá hlaviÄku, nebo z nà nelze typ urÄit), je použita
-pÅÃpona pro výbÄr demuxeru.
-V pÅÃpadÄ selhánà je vždy použit kontextový výbÄr demuxeru.
-.
-.TP
-.B \-passwd <heslo> (viz též volbu \-user) (pouze sÃÅ¥)
-Nastavà heslo pro HTTP autentifikaci.
-.
-.TP
-.B \-prefer\-ipv4 (pouze sÃÅ¥)
-Použije se IPv4 protokol pro sÃÅ¥ové spojenÃ.
-PÅi selhánà použije automaticky IPv6.
-.
-.TP
-.B \-prefer\-ipv6 (pouze IPv6 sÃÅ¥)
-Použije se IPv6 protokol pro sÃÅ¥ové spojenÃ.
-PÅi selhánà použije automaticky IPv4.
-.TP
-.B \-psprobe <pozice v bytech>
-PÅi pÅehrávánà MPEG-PS proudu sloužà tato volby k urÄenà poÄtu bytů
-v proudu, které má MPlayer prohledat, aby urÄil použitý video kodek.
-Tato volby je nutná pro pÅehrávánà EVO souborů obsahujÃcÃch H.264 proudy.
-.
-.TP
-.B \-pvr <volba1:volba2:...> (Pouze PVR)
-Tato volba dolaÄuje různé parametry enkódovánà zachytávacÃho modulu PVR.
-Volba by mÄla být použitelná s jakoukoli kartou postavenou na hardwarovém MPEG
-enkodéru podporovaném V4L2 ovladaÄi.
-Hauppauge WinTV PVR\-150/250/350/500 a všechny karty založené na IVTV
-jsou známy jako PVR zachytávacà karty.
-UpozorÅujeme, že pouze jádro Linux 2.6.18 a vyššÃ
- je schopno obsluhovat MPEG proud pÅes vrstvu V4L2.
-Pro hardwarové zachytávánà MPEG proudu a jeho sledovánà pomocÃ
-MPlayeru/MEncoderu, použijte 'pvr://' jako URL filmu.
-.sp 1
-Dostupné volby jsou:
-.RSs
-.IPs aspect=<0\-3>
-Nastavuje pomÄr stran vstupu:
-.RSss
-0: 1:1
-.br
-1: 4:3 (výchozÃ)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-Nastavuje vzorkovacà kmitoÄet enkódovaného zvuku (výchozÃ: 48000 Hz, dostupné: 32000, 44100
-a 48000 Hz).
-.IPs alayer=<1\-3>
-Nastavuje kódovánà zvuku (MPEG audio layer)(výchozÃ: 2).
-.IPs abitrate=<32\-448>
-Nastavuje datový tok zvuku v kbps (výchozÃ: 384 kbps).
-.IPs amode=<hodnota>
-Nastavuje zvukový režim.
-Dostupné pÅednastavené režimy jsou 'stereo', 'joint_stereo', 'dual' a 'mono'
-(výchozÃ: stereo).
-.IPs vbitrate=<hodnota>
-Nastavà průmÄrný datový tok pro enkódovánà videa v Mbps (výchozÃ: 6).
-.IPs vmode=<hodnota>
-Nastavà režim enkódovánà videa:
-.RSss
-vbr: promÄnný datový tok (výchozÃ)
-.br
-cbr: konstantnà datový tok
-.REss
-.IPs vpeak=<hodnota>
-Nastavuje hornà mez datového toku videa v Mbps
-(použitelné pouze pro VBR enkódovánÃ, výchozÃ: 9.6).
-.IPs fmt=<hodnota>
-Vybere MPEG formét pro enkódovánÃ:
-.RSss
-ps: MPEG 2 Program Stream (výchozÃ)
-.br
-ts: MPEG 2 Transport Stream
-.br
-mpeg1: MPEG 1 System Stream
-.br
-vcd: Video CD compatible stream
-.br
-svcd: Super Video CD compatible stream
-.br
-dvd: DVD compatible stream
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <volba1:volba2:...> (pouze radio)
-Tyto volby nastavujà různé parametry zachytávacÃho mudulu rádia.
-Chcete-li poslouchat rádio pomocà MPlayeru, použijte 'radio://<kmitoÄet>'
-(nenÃ-li zadána volba channels) nebo 'radio://<ÄÃslo_kanálu>'
-(je-li zadána volba channels) jako URL filmu.
-SpustÃte-li MPlayer s '\-v', uvidÃte povolený kmitoÄtový rozsah.
-Pro start zachytávacÃho podsystému použijte 'radio://<kmitoÄet nebo kanál>/capture'.
-Pokud nenà zadáno klÃÄové slovo capture, můžete rádio poslouchat pouze pomocÃ
-line-in kabelu.
-Použità capture pro poslech nedoporuÄujeme, kvůli potÞÃm se synchronizacÃ, které ÄinÃ
-proces nepohodlným.
-.sp 1
-Dostupné volby jsou:
-.RSs
-.IPs device=<hodnota>
-Rádio zaÅÃzenà k použità (výchozÃ: /dev/radio0 pro Linux a /dev/tuner0 pro *BSD).
-.IPs driver=<hodnota>
-Rádio rozhranà k použità (výchozÃ: v4l2 pokud je, jinak v4l).
-V souÄasnosti jsou podporována rozhranà v4l a v4l2.
-.IPs volume=<0..100>
-Hlasitost zvuku rádio zaÅÃzenà (výchozà 100)
-.IPs "freq_min=<hodnota> (pouze *BSD BT848)"
-minimálnà povolený kmitoÄet (výchozÃ: 87.50)
-.IPs "freq_max=<hodnota> (pouze *BSD BT848)"
-maximálnà povolený kmitoÄet (výchozÃ: 108.00)
-.IPs channels=<kmitoÄet>\-<název>,<kmitoÄet>\-<název>,...
-Nastavà seznam kanálů.
-Ve jménech použijte _ mÃsto mezer (nebo si pohrajte s uvozovkami ;-).
-Názvy kanálů budou vypisovány pomocà OSD a pÅÃkazy závislého režimu
-radio_step_channel a radio_set_channel se vám budou hodit pro dálkové
-ovládánà (viz LIRC).
-Je-li zadáno, bude ÄÃslo v URL fimu považováno za pozici kanélu v seznamu.
-.br
-.I PÅÃKLAD:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<hodnota> (s povoleným radio capture)"
-Jméno zaÅÃzenà ze kterého se bude zachytávat zvuk.
-Bez pÅÃsluÅ¡ného jména bude zachytávánà zakázáno
-i pÅes to, že v URL je klÃÄové slovo capture.
-Pro ALSA zaÅÃzenà použijte formu hw=<karta>.<zaÅÃzenÃ>.
-Pokud jméno zaÅÃzenà obsahuje '=', modul použije k zachytávánÃ
-ALSA, jinak OSS.
-.IPs "arate=<hodnota> (s povoleným radio capture)"
-Rychlost ve vzorcÃch za sekundu (výchozÃ: 44100).
-.br
-.I POZNÃMKA:
-PoužÃváte-li audio capture nastavte také volbu \-rawaudio rate=<hodnota>
-se stejnou hodnotou jako arate.
-Máte-li potÞe s rychlostà zvuku (bÄžà pÅÃliÅ¡ rychle), zkuste pÅehrávat
-s odliÅ¡nými vzorkovacÃmi kmitoÄty (napÅ.\& 48000,44100,32000,...).
-.IPs "achannels=<hodnota> (s povoleným radio capture)"
-PoÄet zachytávaných zvukových kanálů.
-.RE
-.
-.TP
-.B \-rawaudio <volba1:volba2:...>
-Tato volba umožnà pÅehrát surový (raw) zvukový soubor.
-RovnÄž budete muset použÃt \-demuxer rawaudio.
-Volba může být použita pro pÅehrávánà audio CD které nejsou 44kHz 16-bitů
-stereo. K pÅehrávánà surových AC-3 proudů
-použijte \-rawaudio on:format=0x2000 \-demuxer rawaudio.
-.sp 1
-Dostupné volby jsou:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<hodnota>
-poÄet kanálů
-.IPs rate=<hodnota>
-rychlost ve vzorcÃch za sekundu
-.IPs samplesize=<hodnota>
-velikost vzorku v bajtech
-.IPs bitrate=<hodnota>
-datový tok (bitrate) pro rawaudio soubory
-.IPs format=<hodnota>
-fourcc v hexadecimálnÃm tvaru
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <volba1:volba2:...>
-Tato volba umožnà pÅehrát surový (raw) video soubor.
-Budete rovnÄž muset použÃt \-demuxer rawvideo.
-.sp 1
-Dostupné volby jsou:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<hodnota>
-rychlost ve snÃmcÃch za sekundu (výchozÃ: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-nastavà standardnà rozmÄry snÃmku
-.IPs w=<hodnota>
-Å¡ÃÅka obrázku v pixelech
-.IPs h=<hodnota>
-výška obrázku v pixelech
-.IPs i420|yv12|yuy2|y8
-nastavà barevnou hloubku
-.IPs format=<hodnota>
-barevná hloubka (fourcc) v hexadecimálnà nebo ÅetÄzcové konstantÄ.
-Použijte \-rawvideo format=help pro seznam možných ÅetÄzců.
-.IPs size=<hodnota>
-velikost snÃmku v bajtech
-.REss
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif -demuxer rawvideo -rawvideo qcif"
-PÅehraje vÄhlasné "foreman" vzorkové video.
-.IPs "mplayer sample-720x576.yuv -demuxer rawvideo -rawvideo w=720:h=576"
-PÅehraje surový YUV sampl.
-.RE
-.PD 1
-.
-.TP
-.B \-rtsp\-port
-PoužÃvá se s 'rtsp://' URL pro vynucenà ÄÃsla portu klienta.
-To se může hodit, pokud jste pÅipojeni za routerem a chcete pÅeposÃlat RTSP
-datový proud ze serveru konkrétnÃmu klientu.
-.
-.TP
-.B \-rtsp\-destination
-PoužÃvá se v kombinaci s 'rtsp://' adresami URL pro vynucenà cÃlové IP adresy
-pro spojenÃ. Tato volba se může hodit s nÄkterými RTSP servery, které
-neposÃlajà RTP pakety do správného rozhranÃ.
-Pokud spojenà s RTSP serverem selže, použijte \-v pro zjiÅ¡tÄnÃ,
-pÅes kterou IP adresu se navazuje spojenà a zkuste mÃsto nà vynutit
-nÄkterou z adres vaÅ¡eho poÄÃtaÄe.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (pouze LIVE555)
-PoužÃvá se v kombinaci s 'rtsp://' URL pro urÄenà že pakety odpovÄdi
-protokolu RTP a RTCP budou tunelovány pÅes TCP (pro TCP i RTSP se použije stejné spojenÃ).
-Tato volba je užiteÄná, jestliže vaÅ¡e internetové pÅipojenà nepropouÅ¡tà pÅÃchozÃ
-UDP pakety (viz http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-saveidx <soubor>
-Vynutà sestavenà indexu a ten pak uložà do externÃho <souboru>.
-V souÄasné dobÄ tato volba pracuje pouze u AVI souborů.
-.br
-.I POZNÃMKA:
-MPlayer má již podporu OpenDML, což Äinà tuto volbu zastaralou.
-.
-.TP
-.B \-sb <bajtová pozice> (viz též volbu \-ss)
-PÅevine na zadanou bajtovou pozici.
-Použitelné pÅi pÅehrávánà z CD-ROM obrazů nebo .VOB souborů s bincem na zaÄátku.
-.
-.TP
-.B \-speed <0.01\-100>
-Zpomalà nebo zrychlà pÅehrávánà násobkem zadaným jako parametr.
-V kombinaci s \-oac copy nenà zaruÄena správná funkÄnost.
-.
-.TP
-.B \-srate <Hz>
-Vybere vzorkovacà kmitoÄet zvuku, který bude použit
-(zvukové karty zde samozÅejmÄ majà své limity).
-Pokud je vybraný vzorkovacà kmitoÄet odliÅ¡ný od zdrojového,
-bude se rozdÃl kompenzovat vloženÃm zvukového filtru resample nebo lavcresample
-do vrstvy audio filtrů.
-Způsob pÅevzorkovánà je možné nastavit pomocà volby \-af\-adv.
-Jako výchozà se použÃvá rychlé pÅevzorkovánÃ, které může způsobit zkreslenÃ.
-.
-.TP
-.B \-ss <Äas> (viz též volbu \-sb)
-PÅevine na zadanou Äasovou znaÄku.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-PÅevine na 56 sekundu.
-.IPs "\-ss 01:10:00"
-PÅevine na pozici 1 hodina 10 minut.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Åekne MPlayeru aby nezahazoval TS pakety oznaÄené jako poÅ¡kozené.
-ObÄas nutné pro pÅehránà vadných MPEG-TS souborů.
-.
-.TP
-.B \-tsprobe <bajtová pozice>
-Když pÅehráváte MPEG-TS proud, můžete touto volbou zvolit kolik
-bajtů v datovém proudu má MPlayer prohledat na požadovaná
-audio a video ID.
-.
-.TP
-.B \-tsprog <1\-65534>
-Když pÅehráváte MPEG-TS proud, můžete touto volbou urÄit který
-program (pokud je) chcete sledovat.
-Lze použÃt s \-vid a \-aid.
-.
-.TP
-.B \-tv <volba1:volba2:...> (pouze TV/\:PVR)
-Touto volbou nastavÃte různé volby pro TV zachytávacà kartu.
-K\ pÅehrávánà TV pomocà MPlayeru, použijte 'tv://' nebo 'tv://<ÄÃslo_kanálu>'
-pÅÃpadnÄ 'tv://<jméno_kanálu> (viz nÞ volbu channels pro jméno_kanálu)
-jako URL filmu.
-Také můžete použÃt 'tv:///<vstupnÃ_id>' pro sledovánÃ
-filmu z kompozitnÃho S-Video vstupu (detaily viz volba input).
-.sp 1
-Dostupné volby jsou:
-.RSs
-.IPs noaudio
-Vypne zvuk.
-.IPs "automute=<0\-255> (pouze v4l a v4l2)"
-Pokud je sÃla signálu hlášená zaÅÃzenÃm menšà než tato hodnota,
-audio i video budou stlumeny.
-Ve vÄtÅ¡inÄ pÅÃpadů staÄà automute=100.
-Výchozà je 0 (automute vypnuto).
-.IPs driver=<hodnota>
-Viz \-tv driver=help pro seznam zakompilovaných vstupnÃch TV ovladaÄů.
-Možnosti: dummy, v4l, v4l2, bsdbt848 (výchozÃ: autodetekce)
-.IPs device=<hodnota>
-Nastavà TV zaÅÃzenà (výchozÃ: /dev/\:video0).
-.I POZNÃMKA:
-PÅi použità ovladaÄe bsdbt848 můžete zadat jméno zaÅÃzenà bktr i tuner.
-OddÄlte je Äárkou, tuner až po bktr
-(Äili -tv device=/dev/bktr1,/dev/tuner1).
-.IPs input=<hodnota>
-Nastavà vstup (výchozÃ: 0 (TV), viz seznam vypsaný na konzoli).
-.IPs freq=<hodnota>
-Nastavà kmitoÄet kanálového voliÄe pÅijÃmaÄe (napÅ.\& 511.250).
-Nenà kompatibilnàs parametrem chanels.
-.IPs outfmt=<hodnota>
-Nastavà výstupnà formát obrazu pÅijÃmaÄe na pÅednastavenou hodnotu podporovanou
-V4L ovladaÄem (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) nebo
-libovolný formát zadaný hexadecimálnÄ.
-Zkuste outfmt=help pro seznam dostupných formátů.
-.IPs width=<hodnota>
-Nastavà šÃÅku výstupnÃho okna.
-.IPs height=<hodnota>
-Nastavà výšku výstupnÃho okna.
-.IPs fps=<hodnota>
-Nastavà snÃmkovou rychlost zachytávaného videa (snÃmky za sekundu).
-.IPs buffersize=<hodnota>
-Nastavà maximálnà velikost vyrovnávacà pamÄti pro zachytávánà (výchozÃ: dynamicky).
-.IPs norm=<hodnota>
-PÅi použità bsdbt848 a v4l, jsou dostupné normy PAL, SECAM a NTSC.
-PÅi použità v4l2 je seznam dostupných norem vypsán na konzoli, viz také nÞe
-uvedenou volbu normid.
-.IPs normid=<hodnota> (pouze v4l2)
-Nastavà TV normu na zadané ÄÃselné ID.
-TV norma je závislá na použité zachytávacà kartÄ.
-Seznam dostupných TV norem je vypsán na konzoli.
-.IPs channel=<hodnota>
-Nastavà pÅijÃmaÄ na kanál ÄÃslo <hodnota>.
-.IPs chanlist=<hodnota>
-Dostupné jsou: argentina, australia, china-bcast, europe-east, europe-west,
-france, ireland, italy, japan-bcast, japan-cable, newzealand, russia,
-southafrica, us-bcast, us-cable, us-cable-hrc
-.IPs channels=<kanál>\-<jméno>,<kanál>\-<jméno>,...
-Nastavà jména kanálů.
-.I POZNÃMKA:
-Je-li <kanál> celé ÄÃslo vyššà než 1000, bude považován za kmitoÄet (v kHz)
-spÃÅ¡e než jméno kanálu z kmitoÄtové tabulky.
-.br
-Použijte _ mÃsto mezer ve jménech (nebo si pohrajte s citacemi ;-).
-Jména kanálů budou pak zapsány pomocà OSD. PÅÃkazy závislého režimu
-tv_step_channel, tv_set_channel a tv_last_channel jsou zase užiteÄné pro
-ovládánà pomocà DO (viz lirc).
-Volba nenà kompatibilnàs volbou frekvence.
-.br
-.I POZNÃMKA:
-ÄÃslo kanálu oznaÄuje pozici v seznamu 'channels' a zaÄÃná od 1.
-.br
-.I PÅÃKLAD:
-tv://1, tv://2, tv://TV1, tv_set_channel 1, tv_set_channel 2,
-tv_set_channel TV1, atd.
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-Nastavenà obrazového ekvalizéru na kartÄ.
-.IPs audiorate=<hodnota>
-Nastavenà datového toku (bitrate) zachytávaného zvuku.
-.IPs forceaudio
-Zachytávat zvuk i když ve v4l nejsou k dispozici žádné zdroje zvuku.
-.IPs "alsa\ "
-Zachytávat z ALSA.
-.IPs amode=<0\-3>
-Zvolà audio režim:
-.RSss
-0: mono
-.br
-1: stereo
-.br
-2: jazyk 1
-.br
-3: jazyk 2
-.REss
-.IPs forcechan=<1\-2>
-Ve výchozÃm stavu je poÄet audio kanálů zÃskán automaticky dotazem na audio režim
-TV karty.
-Tato volba umožÅuje vynutit stereo/\:mono záznam navzdory volbÄ amode
-a hodnotám vráceným z v4l.
-Může být použita pro ÅeÅ¡enà problémů když TV karta nenà schopna sdÄlit
-aktuálnà audio režim.
-.IPs adevice=<hodnota>
-Nastavà audio zaÅÃzenÃ.
-<hodnota> může být /dev/\:xxx pro OSS a ID hardwaru pro ALSA.
-V hardwarovém ID pro ALSA musÃte nahradit veÅ¡keré ':' za '.'.
-.IPs audioid=<hodnota>
-Vybere zvukový výstup zachytávacà karty, pokud je jich vÃce než jeden.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-Tyto volby nastavujà zvukový smÄÅ¡ovaÄ video zachytávacà karty.
-Pokud vaÅ¡e karta nemá smÄÅ¡ovaÄ, nebudou mÃt žádný vliv.
-Ve v4l2 je hodnota 50 je pÅednastavenou hodnotou
-regulátoru tak, jak ji sdÄluje ovladaÄ.
-.IPs "gain=<0\-100> (v4l2)"
-Nastavenà ovladaÄe gain pro video zaÅÃzenà (obvykle webkamery) na požadovanou
-hodnotu s vylouÄenÃm automatu.
-Hodnota 0 zapÃná automat.
-Je-li volba vynechána, ovládánà gain zůstává na původnà hodnotÄ.
-.IPs immediatemode=<logická_hodnota>
-Logická 0 znamená: zachytávánà videa i zvuku najednou
-(výchozà pro MEncoder).
-Logická 1 (výchozà pro MPlayer) znamená: zachytávánà pouze videa, zvuk
-je posÃlán pÅes loopback kabel z TV karty pÅÃmo do zvukové karty.
-.IPs mjpeg
-Použije hardwarovou MJPEG kompresi (pokud to karta umožÅuje).
-PÅi použità této volby nemusÃte zadávat Å¡ÃÅku a výšku výstupnÃho okna.
-MPlayer si ji odvodà automaticky z hodnoty decimation (viz nÞe).
-.IPs decimation=<1|2|4>
-Vybere velikost obrazu který bude komprimován hardwarovou
-MJPEG kompresÃ:
-.RSss
-1: plná velikost
- 704x576 PAL
- 704x480 NTSC
-.br
-2: poloviÄnà velikost
- 352x288 PAL
- 352x240 NTSC
-.br
-4: Ätvrtinová velikost
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-Nastavenà kvality JPEG komprese
-(< 60 doporuÄujeme pro plnou velikost)
-.IPs tdevice=<hodnota>
-Nastavuje zaÅÃzenà pro TV teletext (pÅÃklad: /dev/\:vbi0) (výchozÃ: žádné).
-.IPs tformat=<formát>
-Nastavuje formát zobrazenà TV teletextu (výchozÃ: 0):
-.RSss
-0: neprůhledné pozadÃ
-.br
-1: transparentnÃ
-.br
-2: neprůhledné s invertovanými barvami
-.br
-3: transparentnàs invertovanými barvami
-.REss
-.IPs tpage=<100\-899>
-Nastavà ÄÃslo úvodnà stránky TV teletextu (výchozÃ: 100).
-.IPs tlang=<\-1\-127>
-Nastavà výchozà kód jazyka teletextu (výchozÃ: 0), který bude použit
-jako hlavnà jazyk dokud nebude pÅijat paket typu 28.
-Vhodné pokud teletextový systém použÃvá nelatinkovou znakovou sadu, ale
-kódy jazyka nejsou z nÄjakého důvodu pÅenášeny teletextovými pakety typu 28.
-Seznam podporovaných kódů jazyků dostanete nastavenÃm této volby na \-1.
-.RE
-.
-.TP
-.B \-tvscan <parametr1:parametr2:...> (pouze TV a MPlayer)
-Doladà scanner TV kanálu.
-MPlayer rovnÄž vypÃÅ¡e hodnotu pro volbu "-tv channels="
-a to pro existujÃcà i právÄ nalezené kanály.
-.sp 1
-Dostupné parametry jsou:
-.RSs
-.IPs autostart
-Zahájà ladÄnà kanálů ihned po startu (výchozÃ: vypnuto).
-.IPs period=<0.1\-2.0>
-Nastavà zpoždÄnà v sekundách pÅed pÅepnutÃm na dalšà kanál (výchozÃ: 0.5).
-Nižšà hodnoty vedou k rychlejÅ¡Ãmu ladÄnÃ, ale mohou detekovat
-neaktivnà TV kanály jako aktivnÃ.
-.IPs threshold=<1\-100>
-Práh sÃly signálu (v procentech), jak je hlášen
-zaÅÃzenÃm (výchozÃ: 50).
-Signál silnÄjšà než tato hodnota znamená, že
-aktuálnÄ naladÄný kanál je aktivnÃ.
-.RE
-.
-.TP
-.B \-user <uživatelské jméno> (viz též volbu \-passwd) (pouze sÃÅ¥)
-Nastavà uživatelské jméno pro HTTP autentifikaci.
-.
-.TP
-.B \-user\-agent <ÅetÄzec>
-Použije zadaný <ÅetÄzec> jako jméno prohlÞeÄe (user agent) pro HTTP pÅenos.
-.
-.TP
-.B \-vid <ID>
-Vybere video kanál (MPG: 0\-15 ASF: 0\-255 MPEG-TS: 17\-8190).
-Z\ pÅehrávaného MPEG-TS proudu použije MPlayer/\:MEncoder prvnà program
-(pokud je) s\ vybraným video proudem.
-.
-.TP
-.B \-vivo <parametr> (LADÃCÃ KÃD)
-Vynutà audio parametry pro VIVO demuxer (pro úÄely ladÄnÃ).
-DODÄLAT: Dokumentovat.
-.
-.
-.
-.SH "VOLBY PRO OSD/TITULKY"
-.I POZNÃMKA:
-Viz také volbu \-vf expand.
-.
-.TP
-.B \-ass (pouze FreeType)
-Zapne SSA/ASS renderovánà titulků.
-S touto volbou se použije libass pro SSA/ASS
-externà titulky a Matroska stopy.
-Také můžete použÃt \-embeddedfonts.
-.
-.TP
-.B \-ass\-border\-color <hodnota>
-Nastavà barvu okraje (linky) pro textové titulky.
-Barevný formát je RRGGBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <hodnota>
-PÅidá Äerný pruh na spodek snÃmku.
-SSA/ASS renderovaÄ pak umÃstà titulky tam (s \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-color <hodnota>
-Nastavà barvu textových titulků.
-Barevný formát je RRGGBBAA.
-.
-.TP
-.B \-ass\-font\-scale <hodnota>
-Nastavà škálovacà koeficient pro fonty v SSA/ASS renderovaÄi.
-.
-.TP
-.B \-ass\-force\-style <[Styl.]Param=Hodnota[,...]>
-PÅepÃÅ¡e nÄkteré nastavenà stylu.
-.sp
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <typ>
-Nastavà typ hintingu.
-.PD 0
-.RSs
-.IPs <typ>
-0: Žádný hinting.
-.br
-1: FreeType autohinter, režim light.
-.br
-2: FreeType autohinter, režim normal.
-.br
-3: Nativnà hinter fontu.
-.br
-0\-3 + 4: Stajné, ale hinting se provede pouze pokud je OSD renderováno
-v rozliÅ¡enà obrazovky a tudÞ nebude Å¡kálováno.
-.br
-Výchozà hodnotou je 7 (použije se nativnà hinter pro neškálované OSD, jinak
-žádný hinting).
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <hodnota>
-Nastavà odsazenà Åádků pro SSA/ASS renderovaÄ.
-.
-.TP
-.B \-ass\-styles <soubor>
-Nahraje všechny SSA/ASS styly nalezené v daném souboru a použije je pro
-renderovánà textových titulků.
-Syntaxe souboru je shodná se sekcÃ
-[V4 Styles] / [V4+ Styles] SSA/ASS.
-.
-.TP
-.B \-ass\-top\-margin <hodnota>
-PÅidá Äerný pruh na vrch snÃmku.
-SSA/ASS renderovaÄ pak umÃstà hornà titulky tam (s \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-use\-margins
-Zapne umisÅ¥ovánà hornÃch a dolnÃch titulků do Äerných okrajů, jsou-li
-dostupné.
-.
-.TP
-.B \-dumpjacosub (pouze MPlayer)
-PÅevede zvolené titulky (urÄené volbou \-sub) do ÄasovÄ orientovaného
-JACOsub formátu.
-VytvoÅà soubor dumpsub.js v aktuálnÃm adresáÅi.
-.
-.TP
-.B \-dumpmicrodvdsub (pouze MPlayer)
-PÅevede zvolené titulky (urÄené volbou \-sub) do MicroDVD formátu.
-VytvoÅà soubor dumpsub.sub v aktuálnÃm adresáÅi.
-.
-.TP
-.B \-dumpmpsub (pouze MPlayer)
-PÅevede zvolené titulky (urÄené volbou \-sub) do MPlayerova
-vlastnÃho formátu, MPsub.
-VytvoÅà soubor dump.mpsub v aktuálnÃm adresáÅi.
-.
-.TP
-.B \-dumpsami (pouze MPlayer)
-PÅevede zvolené titulky (urÄené volbou \-sub) do ÄasovÄ orientovaného
-SAMI formátu.
-VytvoÅà soubor dumpsub.smi v aktuálnÃm adresáÅi.
-.
-.TP
-.B \-dumpsrtsub (pouze MPlayer)
-PÅevede zvolené titulky (urÄené volbou \-sub) do ÄasovÄ orientovaného
-SubViewer (SRT) formátu.
-VytvoÅà soubor dumpsub.srt v aktuálnÃm adresáÅi.
-.br
-.I POZNÃMKA:
-NÄkteré Å¡patné hardwarové pÅehrávaÄe se rdousà SRT titulky s Unixovými
-konci Åádků.
-Pokud máte smůlu a vlastnÃte takovou maÅ¡inu, protáhnÄte si své
-titulkové soubory pÅes unix2dos nebo podobný program pro výmÄnu Unixových
-konců Åádků za DOS/Windows konce Åádků.
-.
-.TP
-.B \-dumpsub (pouze MPlayer) (BETA KÃD)
-Vydestiluje datový proud titulků z VOB proudů.
-Viz také volby \-dump*sub a \-vobsubout*.
-.
-.TP
-.B \-embeddedfonts (Pouze FreeType)
-ZapÃná extrakci vložených fontů z Matrosky (výchozÃ: vypnuto).
-Tyto fonty mohou pak být použity pro SSA/ASS renderovánÃ
-titulků (volba \-ass).
-Soubory fontů jsou vytvoÅeny v adresáÅi ~/.mplayer/\:fonts.
-.br
-.I POZNÃMKA:
-S FontConfigem 2.4.2 nebo novÄjÅ¡Ãm jsou vložené fonty otevÃrány pÅÃmo z pamÄti
-a tato volba je výchozà povolena.
-.
-.TP
-.B \-ffactor <ÄÃslo>
-PÅevzorkovánà alfa mapy fontu.
-.sp 1
-Možnosti:
-.PD 0
-.RSs
-.IPs 0
-ÄistÄ bÃlý font
-.IPs 0.75
-velmi tenká Äerná obruba (výchozÃ)
-.IPs 1
-tenká Äerná obruba
-.IPs 10
-tlustá Äerná obruba
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (pouze FriBiDi)
-Zapne zpracovánà titulků pomocà FriBiDi.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-ZmÄnà FriBiDi posuzovánà o umÃsÅ¥ovánà Äárek v titulcÃch.
-Volbu použijte, pokud jsou Äárky umÃstÄny na zaÄátku vÄty a ne na konci.
-.
-.TP
-.B \-font <cesta k souboru font.desc>
-Vyhledá fonty pro OSD/\:TITULKY v alternativnÃm adresáÅi (výchozà pro normálnÃ
-fonty: ~/\:.mplayer/\:font/\:font.desc, výchozà pro FreeType fonty:
-~/.mplayer/\:subfont.ttf).
-.br
-.I POZNÃMKA:
-PoužÃváte-li FreeType, je parametrem této volby cesta k\ textovému souboru fontu.
-.br
-PoužÃváte-li fontconfig, je parametrem této volby jméno fontu ve fontconfig.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (pouze fontconfig)
-Zapne použità fontconfigem spravovaných fontů.
-.
-.TP
-.B \-forcedsubsonly
-Zobrazà pouze vynucené titulky pro datový proud DVD titulků zvolený napÅ.\&
-pomocà \-slang.
-.
-.TP
-.B \-fribidi\-charset <název znakové sady> (pouze FriBiDi)
-Nastavà znakovou sadu pÅedávanou do FriBiDi pÅi dekódovánà ne-UTF-8
-titulků (výchozÃ: ISO8859\-8).
-.
-.TP
-.B \-ifo <VOBsub IFO soubor>
-OznaÄà soubor ze kterého bude naÄtena paleta a velikost rámce pro VOBsub
-titulky.
-.
-.TP
-.B \-noautosub
-Vypne automatické naÄÃtánà souborů s titulky.
-.
-.TP
-.B \-osd\-duration <Äas>
-Nastavà trvánà OSD zpráv v ms (výchozÃ: 1000).
-.
-.TP
-.B \-osdlevel <0\-3> (pouze MPlayer)
-Nastavuje režim zobrazenà ve kterém bude startovat OSD.
-.PD 0
-.RSs
-.IPs 0
-pouze titulky
-.IPs 1
-hlasitost + pÅevÃjenà (výchozÃ)
-.IPs 2
-hlasitost + pÅevÃjenà + Äas + procenta
-.IPs 3
-hlasitost + pÅevÃjenà + Äas + procenta + celkový Äas
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Povolà zobrazenà titulku v dobÄ kdy je jeÅ¡tÄ zobrazen pÅedchozà titulek
-(ve výchozÃm stavu je funkce zapnuta pouze pro nÄkteré titulkové formáty).
-.
-.TP
-.B \-sid <ID> (viz také volbu \-slang, \-vobsubid)
-Zobrazuje datový proud titulků urÄený pomocà <ID> (0\-31).
-MPlayer vypÃÅ¡e dostupná ID titulků pokud je spuÅ¡tÄn v upovÃdaném (\-v) režimu.
-Pokud nemůžete zvolit nÄkteré z titulků na DVD, zkuste také \-vobsubid.
-.
-.TP
-.B \-slang <kód jazyka[,kód jazyka,...]> (viz též volbu \-sid)
-Nastavuje seznam jazyků titulků k použità podle priority.
-Různé nosné formáty použÃvajà odliÅ¡né kódy jazyka.
-DVD použÃvajà dvoupÃsmenný kód podle ISO 639\-1, Matroska použÃvajà tÅÃpÃsmenný
-kód jazyka podle ISO 639\-2, zatÃmco OGM použÃvajà volnou formu identifikace.
-MPlayer vypÃÅ¡e dostupné jazyky titulků pokud je spuÅ¡tÄn v upovÃdaném (\-v) režimu.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-slang cs,en"
-Zvolà Äeskou titulkovou stopu na DVD, ale vrátà se zpÄt k anglické, pokud Äeská
-nenà k dispozici.
-.IPs "mplayer \-slang jpn example.mkv"
-PÅehraje Matroska soubor s Japonskými titulky.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <režim>
-Režim Å¡kálovánÃ/\:vyhlazovánà pro DVD/\:VOBsub.
-K hodnotÄ <režim> můžete pÅiÄÃst 16 když chcete vynutit Å¡kálovánà i když
-velikost originálnÃho a Å¡kálovaného snÃmku souhlasÃ. Takto napÅÃklad
-dosáhnete vyhlazenà titulků Gaussovým rozostÅenÃm.
-.sp 1
-Dostupné režimy vyhlazovánà jsou:
-.PD 0
-.RSs
-.IPs 0
-žádné (nejrychlejÅ¡Ã, Å¡karedé)
-.IPs 1
-pÅibližné (vadné?)
-.IPs 2
-plné (pomalé)
-.IPs 3
-bilineárnà (výchozÃ, rychlé a obstojné)
-.IPs 4
-použÃvá softwarové Gaussovo rozostÅenà (vypadá skvÄle)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-UrÄà jak budou zarovnány SPU (DVD/\:VOBsub) titulky.
-.PD 0
-.RSs
-.IPs "\-1"
-Originálnà pozice.
-.IPs " 0"
-Zarovnat na hornà okraj (originálnÃ/\:výchozà chovánÃ).
-.IPs " 1"
-Zarovnat na stÅed.
-.IPs " 2"
-Zarovnat na spodnà okraj.
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-Parametr odchylka (variance) pro Gauss použÃvaný volbou \-spuaa 4.
-ÄÃm vÄtšà hodnota, tÃm vÄtšà rozostÅenà (výchozÃ: 1.0).
-.
-.TP
-.B \-sub <titulky1,titulky2,...>
-Použije/\:zobrazà zadané titulkové soubory.
-V jednom okamžiku může být zobrazen pouze jeden ze souborů.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-UrÄuje hodnotu alfa kanálu pro titulky a pozadà OSD.
-ÄÃm vÄtšà hodnota, tÃm vÃce průhlednosti.
-Hodnota 0 znamená úplnou průhlednost.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-UrÄuje barvu pozadà titulků a OSD.
-V souÄasnosti jsou titulky ÄernobÃlé, hodnota tedy urÄuje intenzitu bÃlé.
-Hodnota 255 znamená bÃlá a 0 Äerná.
-.
-.TP
-.B \-sub\-demuxer <[+]jméno> (pouze \-subfile) (BETA KÃD)
-Vynutà urÄitý typ titulkového demuxeru pro \-subfile.
-Použijte '+' pÅed jménem pro vynucenÃ, což pÅeskoÄà nÄkteré testy!
-Zadejte jméno demuxeru tak jak je vypsán pomocà \-sub\-demuxer help.
-Z důvodu zpÄtné kompatibility rovnÄž akceptuje ID demuxeru, jak je definováno
-v subreader.h.
-.
-.TP
-.B \-sub\-fuzziness <mód>
-Nastavà povolený rozptyl pÅi vyhledávánà titulků:
-.PD 0
-.RSs
-.IPs 0
-pÅesná shoda
-.IPs 1
-NaÄte vÅ¡echny titulky obsahujÃcà název filmu.
-.IPs 2
-NaÄte vÅ¡echny titulky v aktuálnÃm adresáÅi.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Zakáže veÅ¡keré úpravy titulků po jejich naÄtenÃ.
-PoužÃváno pro ladÃcà úÄely.
-.
-.TP
-.B \-subalign <0\-2>
-UrÄà který okraj titulků by mÄl být zarovnán na výšku zadanou
-pomocà \-subpos.
-.PD 0
-.RSs
-.IPs 0
-Zarovnat hornà okraj titulku (originálnà chovánÃ).
-.IPs 1
-Zarovnat stÅed titulku.
-.IPs 2
-Zarovnat spodnà okraj titulku (výchozÃ).
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-Zobrazovat DVD Closed Caption (CC) titulky.
-Toto
-.B nejsou
-VOB titulky, ale speciálnà ASCII titulky pro neslyÅ¡ÃcÃ
-zakódované do VOB userdata proudu na vÄtÅ¡inÄ region 1 DVD.
-CC titulky zatÃm nebyly nalezeny na DVD z jiných regionů.
-.
-.TP
-.B \-subcp <kódová\ stránka> (pouze iconv)
-Pokud máte nainstalován v systému iconv(3), můžete použÃt tuto volbu
-k urÄenà kódovánà titulků.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250 (vÄtÅ¡ina Äeských titulků, pozn. pÅekl.)
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<jazyk>:<kódová stránka pÅi selhánÃ> (pouze ENCA)
-Zde můžete zadat dvoupÃsmenný kód jazyka, aby ENCA automaticky
-urÄila kódovou stránku.
-Pokud si nejste jisti, zadejte zde cokoli a sledujte výpis mplayer \-v na
-konzoli pro seznam dostupných jazyků.
-Kódová stránka pÅi selhánà udává kódovánà které se použije v pÅÃpadÄ selhánÃ
-autodetekce.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Odhadne kódovánÃ, pÅedpokládá že jsou titulky v ÄeÅ¡tinÄ, nastavà latin 2
-pokud detekce selže.
-.IPs "\-subcp enca:pl:cp1250"
-Odhadne kódovánà pro polÅ¡tinu, pÅi selhánà nastavà cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <sekund>
-Opozdà titulky o <sekund> sekund.
-Můžete zadat zápornou hodnotu.
-.
-.TP
-.B \-subfile <soubor> (BETA KÃD)
-ZatÃm nepoužitelné.
-Stejné jako \-audiofile, ale pro titulkové proudy (OggDS?).
-.
-.TP
-.B \-subfont <soubor> (pouze FreeType)
-Nastavà font titulků.
-Pokud nenà zadán \-subfont, použije se \-font.
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (pouze FreeType)
-Nastavà režim automatického Å¡kálovánà pÃsma.
-.br
-.I POZNÃMKA:
-0 znamená že 'text scale' a 'OSD scale' nastavujà výšku fontu v bodech.
-.sp 1
-Režim může být:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-žádné Å¡kálovánÃ
-.IPs 1
-proporÄnÄ vztažené k Å¡ÃÅce obrazu
-.IPs 2
-proporÄnÄ vztažené k výšce obrazu
-.IPs 3
-proporÄnÄ vztažené k diagonále obrazu (výchozÃ)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (pouze FreeType)
-Nastavà polomÄr rozostÅenà fontu (výchozÃ: 2).
-.
-.TP
-.B \-subfont\-encoding <hodnota> (pouze FreeType)
-Nastavà kódovánà fontu.
-Je-li nastaveno 'unicode', budou renderovány všechny znaky (glyfy) z fontu a
-bude použito unicode (výchozÃ: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (pouze FreeType)
-Nastavà koeficient auto-Å¡kálovánà OSD prvků (výchozÃ: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (pouze FreeType)
-Nastavà tloušťku obtahové linky (výchozÃ: 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (pouze FreeType)
-Nastavà koeficient auto-Å¡kálovánà textu titulků v procentech rozmÄru
-obrazu (výchozÃ: 5).
-.
-.TP
-.B \-subfps <rychlost>
-UrÄà snÃmkovou rychlost (fps) pro titulkový soubor (desetinné ÄÃslo),
-výchozÃ: stejná rychlost fps jako má film.
-.br
-.I POZNÃMKA:
-POUZE pro snÃmkovÄ orientované SUB soubory, napÅ.\& MicroDVD formát.
-.
-.TP
-.B \-subpos <0\-100> (použitelné s \-vf expand)
-UrÄuje pozici titulků na obrazovce.
-Hodnota vyjadÅuje vertikálnà pozici titulku v % výšky obrazu.
-.
-.TP
-.B \-subwidth <10\-100>
-Nastavuje maximálnà šÃÅku titulků na obrazovce.
-Použitelné pro TV-out.
-Hodnota vyjadÅuje Å¡ÃÅku titulků v % Å¡ÃÅky obrazu.
-.
-.TP
-.B \-noterm\-osd
-Zakáže zobrazovánà OSD zpráv na konzoli, pokud nenà dostupný žádný video
-výstup.
-.
-.TP
-.B \-term\-osd\-esc <escape sequence>
-Nastavà únikovou sekvenci, která se použije pÅed zapsánÃm OSD zprávy na
-konzoli.
-Ãniková sekvence by mÄla pÅesunout kursor na zaÄátek Åádku použitého pro
-OSD a vyÄistit jej (výchozÃ: ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-Åekne MPlayeru aby zpracoval titulkový soubor jako unicode.
-.
-.TP
-.B "\-utf8 \ \ "
-Åekne MPlayeru aby zpracoval titulkový soubor jako UTF-8.
-.
-.TP
-.B \-vobsub <VOBsub soubor bez pÅÃpony>
-Nastavà VOBsub soubory které budou použity pro titulkovánÃ.
-UvádÄjte soubory s plnou cestou bez pÅÃpon, Äili\& bez
- '.idx', '.ifo' nebo '.sub'.
-.
-.TP
-.B \-vobsubid <0\-31>
-Nastavà ID pro VOBsub titulky.
-.
-.
-.
-.SH "VOLBY PRO ZVUKOVÃ VÃSTUP (POUZE MPLAYER)"
-.
-.TP
-.B \-abs <hodnota> (pouze \-ao oss) (ZASTARALÃ)
-PÅepÃÅ¡e detekovanou velikost vyrovnávacà pamÄti zvukové karty/\:ovladaÄe.
-.
-.TP
-.B \-format <formát> (viz také audio filtr format)
-Vybere formát vzorků vystupujÃcÃch z vrstvy audio filtrů do zvukové karty.
-Hodnoty které může <formát> nabýt jsou uvedeny nÞe u popisu audio filtru
-format.
-.
-.TP
-.B \-mixer <zaÅÃzenÃ>
-Použije jiné mixážnà zaÅÃzenà než je výchozà /dev/\:mixer.
-PoužÃváte-li ALSA zadejte jméno smÄÅ¡ovaÄe.
-.
-.TP
-.B \-mixer\-channel <kanál smÄÅ¡ovaÄe>[,index smÄÅ¡ovaÄe] (pouze \-ao oss a \-ao alsa)
-Tato volba naÅÃdà MPlayeru použÃt jiný kanál pro ovládánà hlasitosti
-než výchozà PCM.
-Volby pro OSS zahrnujÃ
-.B vol, pcm, line.
-Chcete-li úplný seznam voleb, poohlédnÄte se po SOUND_DEVICE_NAMES v
-/usr/\:include/\:linux/\:soundcard.h.
-V pÅÃpadÄ ALSA můžete použÃt jména která zobrazà alsamixer, jako
-.B Master, Line, PCM.
-.br
-.I POZNÃMKA:
-Jména kanálů ALSA smÄÅ¡ovaÄe následovaná ÄÃslem musà být zadána ve formátu <jméno,ÄÃslo>,
-napÅ.\& jméno kanálu 'PCM 1' ALSA smÄÅ¡ovaÄe musà být pÅevedeno na
-.BR PCM,1
-.
-.TP
-.B \-softvol
-Vynutà použità softwarového mixéru, namÃsto použità mixéru zvukové karty.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-Nastavà maximálnà úroveÅ zesÃlenà v procentech (výchozÃ: 110).
-Hodnota 200 umožnà nastavovat hlasitost až do dvojnásobku aktuálnà úrovnÄ
-(nastavené maximum).
-PÅi hodnotách menÅ¡Ãch než 100 bude poÄáteÄnà hlasitost (což je 100%) vÄtšà než je
-maximum, takže bude napÅ. OSD nesprávnÄ ukazovat.
-.
-.TP
-.B \-volstep <0\-100>
-Nastavà velikost kroku o který se zmÄnà hlasitost v procentech celého rozsahu
-(výchozÃ: 3).
-.
-.
-.
-.SH "VÃSTUPNÃ ZVUKOVÃ ROZHRANÃ (POUZE MPLAYER)"
-Výstupnà zvuková rozhranà zajišťujà pÅÃstup k různým audio výstupnÃm zaÅÃzenÃm.
-Syntax je:
-.
-.TP
-.B \-ao <rozhranÃ1[:parametr1[=hodnota]:...],rozhranÃ2,...[,]>
-Nastavuje seznam použitých audio výstupnÃch rozhranà podle priority.
-.PP
-Pokud seznam konÄà ',', pak se v pÅÃpadÄ selhánà vÅ¡ech zadaných rozhranà použijÃ
-i ostatnÃ.
-Parametry jsou volitelné a v mnoha pÅÃpadech je nemusÃte vůbec použÃt.
-.br
-.I POZNÃMKA:
-Seznam zakompilovaných rozhranà zÃskáte pomocà \-ao help.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Zkusà rozhranà ALSA, potom OSS, pak ostatnÃ.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-Nastavà noblock-režim a jako prvnà kartu nastavà Ätvrté zaÅÃzenÃ.
-.RE
-.PD 1
-.sp 1
-Dostupná zvukové výstupnà rozhranà jsou:
-.
-.TP
-.B "alsa\ \ \ "
-Zvukové rozhranà ALSA 0.9/1.x
-.PD 0
-.RSs
-.IPs noblock
-Nastavà noblock režim.
-.IPs device=<zaÅÃzenÃ>
-Nastavà jméno zvukového zaÅÃzenÃ.
-NahraÄte jakékoli ',' za '.' a jakékoli ':' za '=' ve jménÄ ALSA zaÅÃzenÃ.
-Pro hwac3 výstup pÅes S/PDIF, použijte zaÅÃzenà "iec958" nebo "spdif",
-pokud pÅesnÄ nevÃte jak to nastavit správnÄ.
-.RE
-.
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-Zvukové rozhranà ALSA 0.5.
-.
-.TP
-.B "oss\ \ \ \ "
-Rozhranà OSS.
-.PD 0
-.RSs
-.IPs <dsp-device>
-Nastavà výstupnà zvukové zaÅÃzenà (výchozÃ: /dev/\:dsp).
-.IPs <mixer-device>
-Nastavà zvukové mixážnà zaÅÃzenà (výchozÃ: /dev/\:mixer).
-.IPs <mixer-channel>
-Nastavà kanál mixážnÃho zaÅÃzenà (výchozÃ: pcm).
-.RE
-.PD 1
-.TP
-.B "sdl (pouze SDL)"
-Zvukové rozhranà multiplatformnà knihovny SDL (Simple Directmedia Layer).
-.PD 0
-.RSs
-.IPs <ovladaÄ>
-ExplicitnÄ vybere SDL audio ovladaÄ k použità (výchozÃ: SDL si sama vybere).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-Zvukový výstup pÅes aRts démona.
-.
-.TP
-.B "esd\ \ \ \ "
-Zvukový výstup pÅes ESD démona.
-.PD 0
-.RSs
-.IPs <server>
-ExplicitnÄ vybere ESD server k použità (výchozÃ: localhost).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-Zvukový výstup pÅes JACK (Jack Audio Connection Kit).
-.PD 0
-.RSs
-.IPs port=<jméno>
-PÅipojà se na porty zadaného <jména> (výchozÃ: fyzické porty).
-.IPs name=<název klienta>
-Název klienta pÅedávaný do JACK (výchozÃ: MPlayer [<PID>]).
-UžiteÄné, pokud chcete navazovat urÄitá spojenà automaticky.
-.IPs (no)estimate
-PÅedpoÄÃtá zpoždÄnà zvuku, což má Äinit pÅehrávánà videa plynulejÅ¡Ãm
-(výchozÃ: zapnuto).
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-Zvukový výstup pÅes NAS.
-.
-.TP
-.B coreaudio (pouze Mac OS X)
-Nativnà Mac OS X zvuk.
-.
-.TP
-.B openal
-ExperimentálnÃ, nedokonÄené (mixáž na mono) OpenAL zvukové výstupnà rozhranÃ.
-.
-.TP
-.B sgi (pouze SGI)
-Nativnà SGI zvukové rozhranÃ.
-.PD 0
-.RSs
-.IPs "<jméno výstupnÃho zaÅÃzenÃ>"
-ExplicitnÄ vybere výstupnà zaÅÃzenÃ/\:rozhranà k použitÃ
-(výchozÃ: výchozà nastavenà systému).
-NapÅÃklad, 'Analog Out' nebo 'Digital Out'.
-.RE
-.PD 1
-.
-.TP
-.B sun (pouze Sun)
-Nativnà Sun zvuk.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere audio zaÅÃzenà k použità (výchozÃ: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (pouze Windows)
-Nativnà Windows waveout audio zvuk.
-.
-.TP
-.B dsound (pouze Windows)
-Zvukový výstup DirectX DirectSound.
-.PD 0
-.RSs
-.IPs device=<ÄÃslo_zaÅÃzenÃ>
-Nastavà ÄÃslo zaÅÃzenà k použitÃ.
-PÅehánà souboru s \-v vypÃÅ¡e seznam dostupných zaÅÃzenÃ.
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (viz také volbu \-dxr2) (pouze DXR2)
-Vlastnà ovladaÄ pro Creative DXR2.
-.
-.TP
-.B ivtv (pouze IVTV)
-Zvukové výstupnà MPEG rozhranà zvuku speciálnÄ pro IVTV.
-Pracuje pouze s \-ac hwmpa.
-.
-.TP
-.B v4l2 (vyžaduje jádro Linux 2.6.22+)
-Výstupnà zvukové rozhranà pro V4L2 karty s hardwarovým MPEG dekodérem.
-.
-.TP
-.B mpegpes (pouze DVB)
-Výstupnà audio rozhranà pro DVB karty, které zapisuje výstup do MPEG-PES
-souboru, pokud nenà instalována žádná DVB karta.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-DVB karta k použitÃ, pokud je jich instalováno vÃc.
-.IPs file=<soubor>
-jméno výstupnÃho souboru
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-Neprodukuje žádný zvuk, rychlost pÅehrávánà videa je vÅ¡ak zachována.
-Pro výkonnostnà testy použijte \-nosound.
-.
-.TP
-.B "pcm\ \ \ \ "
-Zvukové rozhranà pro zápis surového PCM/\:wave proudu.
-.PD 0
-.RSs
-.IPs (no)waveheader
-Zahrne Äi nezahrne wave hlaviÄku (výchozÃ: zahrne).
-Pokud ji nezahrne, bude vygenerována surová (raw) PCM.
-.IPs file=<soubor>
-ZapÃÅ¡e zvuk do <souboru> mÃsto výchozÃho audiodump.wav.
-Pokud jste zadali nowaveheader, je výchozà audiodump.pcm.
-.IPs "fast\ "
-Zkusà dumpovat rychleji než v reálném Äase.
-UjistÄte se, že nedojde k oÅÃznutà výstupu (obvykle se
-zprávou "PÅÃliÅ¡ mnoho paketů ve vyrovnávacà pamÄti").
-Je bÄžné dostat zprávu "Váš systém je pÅÃliÅ¡ pomalý pro toto pÅehrávánÃ".
-.RE
-.PD 1
-.
-.TP
-.
-.TP
-.B "plugin\ \ "
-Plugin audio výstup.
-.
-.
-.
-.SH "VOLBY PRO VIDEO VÃSTUP (POUZE MPLAYER)"
-.
-.TP
-.B \-adapter <hodnota>
-Nastavà grafickou kartu na kterou se bude posÃlat obrázek.
-Seznam dostupných karet zÃskáte, doplnÃte-li tuto volbu o \-v.
-V souÄasnosti pracuje pouze s video rozhranÃm directx.
-.
-.TP
-.B \-bpp <hloubka>
-PÅepÃÅ¡e detekovanou barevnou hloubku.
-Funkci podporujà pouze tato výstupnà rozhranÃ: fbdev, dga, svga, vesa.
-.
-.TP
-.B \-border
-PÅehrává film v orámovaném oknÄ s dekoracemi.
-Jelikož je to zapnuté jako výchozÃ, použijte q-noborder pro vypnutÃ
-standardnÃch dekoracà okna.
-Podporováno výstupnÃm video rozhranÃm directx.
-.
-.TP
-.B \-brightness <\-100\-100>
-Nastavuje jas video signálu (výchozà 0).
-Funkci nepodporujà vÅ¡echna video rozhranÃ.
-.
-.TP
-.B \-contrast <\-100\-100>
-Nastavuje kontrast video signálu (výchozà 0).
-Funkci nepodporujà vÅ¡echna video rozhranÃ.
-.
-.TP
-.B \-display <jméno> (pouze X11)
-Stanovà jméno serveru a ÄÃslo displaye X serveru na který chcete zobrazovat.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-Zapne direct rendering (nenà podporováno vÅ¡emi kodeky a video rozhranÃmi).
-.br
-.I VAROVÃNÃ:
-Může způsobit rozbità OSD/TIT !
-.
-.TP
-.B \-dxr2 <volba1:volba2:...>
-Tato volba sloužà k ovládánà dxr2 video rozhranÃ.
-.RSs
-.IPs ar-mode=<hodnota>
-režim pomÄru obrazu (0 = normal, 1 = pan-and-scan, 2 = letterbox (výchozÃ))
-.IPs iec958-encoded
-Nastavà iec958 výstupnà režim na enkódovaný.
-.IPs iec958-decoded
-Nastavà iec958 výstupnà režim na dekódovaný (výchozÃ).
-.IPs macrovision=<hodnota>
-režim macrovision (0 = vypnuto (výchozÃ), 1 = agc, 2 = agc 2 colorstripe,
-3 = agc 4 colorstripe)
-.IPs "mute\ "
-vypnout zvukový výstup
-.IPs unmute
-zapnout zvukový výstup
-.IPs ucode=<hodnota>
-cesta k mikrokódu
-.RE
-.RS
-.sp 1
-.I Výstup na TV
-.RE
-.RSs
-.IPs 75ire
-zapne 7.5 IRE výstupnà režim
-.IPs no75ire
-vypne 7.5 IRE výstupnà režim (výchozÃ)
-.IPs "bw\ \ \ "
-ÄernobÃlý TV výstup
-.IPs color
-barevný TV výstup (výchozÃ)
-.IPs interlaced
-prokládaný TV výstup (výchozÃ)
-.IPs nointerlaced
-zakáže prokládaný TV výstup
-.IPs norm=<hodnota>
-TV norma (ntsc (výchozÃ), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-nastavà režim (tvar) pixelů na Ätvercový
-.IPs ccir601-pixel
-nastavà režim pixelů na ccir601
-.RE
-.RS
-.sp 1
-.I pÅekrývánÃ(overlay)
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-Nastavà levou oÅezovou znaÄku (výchozÃ: 50).
-.IPs cr-right=<0\-500>
-Nastavà pravou oÅezovou znaÄku (výchozÃ: 300).
-.IPs cr-top=<0\-500>
-Nastavà hornà oÅezovou znaÄku (výchozÃ: 0).
-.IPs cr-bottom=<0\-500>
-Nastavà dolnà oÅezovou znaÄku (výchozÃ: 0).
-.IPs ck-[r|g|b]=<0\-255>
-Nastavà pÅÃrůstek Äervené (ck-r), zelené (ck-g) nebo modré (ck-b) složky
-klÃÄovacà barvy pro pÅekrývánÃ.
-.IPs ck-[r|g|b]min=<0\-255>
-minimálnà hodnota pÅÃsluÅ¡né barevné složky klÃÄe
-.IPs ck-[r|g|b]max=<0\-255>
-maximálnà hodnota pÅÃsluÅ¡né barevné složky klÃÄe
-.IPs ignore-cache
-Ignoruje nastavenà pÅekrývánà uložené v cache.
-.IPs update-cache
-Aktualizuje nastavenà pÅekrývánà uložené v cache.
-.IPs ol-osd
-Zapne pÅekrývaný display na obrazovce (OSD).
-.IPs nool-osd
-Vypne pÅekrývaný OSD (výchozÃ).
-.IPs ol[h|w|x|y]-cor=<\-20\-20>
-Nastavà rozmÄr pÅekrytà (Å¡,v) a pozici (x,y) v pÅÃpadÄ kdy se Å¡patnÄ kryje
-s oknem (výchozÃ: 0).
-.IPs overlay
-Zapne pÅekrývánà (výchozÃ).
-.IPs nooverlay
-Aktivuje TV-out.
-.IPs overlay-ratio=<1\-2500>
-Doladà pÅekrývánà (výchozÃ: 1000).
-.RE
-.
-.TP
-.B \-fbmode <název režimu> (pouze \-vo fbdev)
-ZmÄnà video režim na ten který je pojmenován jako <název režimu> v\ souboru
-/etc/\:fb.modes.
-.br
-.I POZNÃMKA:
-VESA framebuffer nepodporuje zmÄny režimu.
-.
-.TP
-.B \-fbmodeconfig <soubor> (pouze fbdev)
-PÅenastavà konfiguraÄnà soubor pro režim framebufferu (výchozÃ: /etc/\:fb.modes).
-.
-.TP
-.B \-fs (viz také volbu \-zoom)
-PÅehrávánà na celé obrazovce (vycentruje film a vytvoÅà kolem nÄj Äerný okraj).
-Funkce nenà podporována vÅ¡emi video rozhranÃmi.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (ZASTARALÃ, použijte volbu \-fs)
-Zkuste tuto volbu pokud máte stále problémy s celoobrazovkovým režimem.
-.
-.TP
-.B \-fstype <typ1,typ2,...> (pouze X11)
-Nastavà výÄet režimů celoobrazovkových hladin podle priority, které majà být použity.
-Jednotlivé režimy můžete potlaÄit tak, že jim pÅedÅadÃte '\-'.
-Pokud narazÃte na problém typu "film v celoobrazovkovém režimu je pÅekryt jinými
-okny", zkuste použÃt jiné poÅadÃ.
-.br
-.I POZNÃMKA:
-Viz volbu \-fstype help pro seznam dostupných režimů.
-.sp 1
-Dostupné režimy jsou:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-Použije _NETWM_STATE_ABOVE je-li k dispozici.
-.IPs below
-Použije _NETWM_STATE_BELOW je-li k dispozici.
-.IPs fullscreen
-Použije _NETWM_STATE_FULLSCREEN je-li k dispozici.
-.IPs layer
-Použije _WIN_LAYER s pÅednastavenou hladinou.
-.IPs layer=<0...15>
-Použije _WIN_LAYER se zadanou hladinou.
-.IPs netwm
-Vynutà NETWM styl.
-.IPs "none\ "
-Nenastavovat hladinu pro celoobrazovkové okno.
-.IPs stays_on_top
-Použije _NETWM_STATE_STAYS_ON_TOP je-li k dispozici.
-.REss
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-Výchozà poÅadà bude použito jako záchrana v pÅÃpadÄ, že zadáte Å¡patné nebo
-nepodporované režimy.
-.IPs \-fullscreen
-Provádà pÅepÃnánà na celou obrazovku v OpenBoxu 1.x.
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] nebo [Å xV][+x+y]
-Nastavà pozici na obrazovce kde bude zobrazen výstup.
-Hodnoty x a y udávajà vzdálenost v pixelech od levého hornÃho rohu obrazovky
-k levému hornÃmu rohu obrazu, jestliže vÅ¡ak jsou hodnoty doplnÄny znakem procento, pak
-udávajà vzdálenost v procentech rozmÄru obrazovky v daném smÄru.
-SouÅadnice lze rovnÄž zadat ve standardnÃm X11 \-geometry formátu.
-Pokud je externà okno nastaveno pomocà volby \-wid, pak jsou souÅadnice x a y
-vztaženy k levému hornÃmu rohu okna mÃsto obrazovky.
-.br
-.I POZNÃMKA:
-Tato volba je podporována pouze rozhranÃmi x11, xmga, xv, xvmc, xvidix,
-gl, gl2, directx a tdfxfb.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs 50:40
-UmÃstà okno na x=50, y=40.
-.IPs 50%:50%
-UmÃstà okno doprostÅed obrazovky.
-.IPs "100%\ "
-UmÃstà okno doprostÅed pravého okraje obrazovky.
-.IPs 100%:100%
-UmÃstà okno do pravého dolnÃho rohu obrazovky.
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <ID okna> (viz také volbu \-wid) (pouze GUI)
-Tato volba Åekne GUI aby rovnÄž použilo X11 okno a pÅilepilo se na spodek videa,
-což je použitelné pro vestavÄné mini-GUI v prohlÞeÄi (s MPlayer pluginem
-napÅÃklad).
-.
-.TP
-.B \-hue <\-100\-100>
-Upravà barevné tónovánà video signálu (výchozÃ: 0).
-S touto volbou můžete dostat barevný negativ obrázku.
-Nenà podporováno vÅ¡emi video rozhranÃmi.
-.
-.TP
-.B \-monitor\-dotclock <rozsah[,rozsah,...]> (pouze \-vo fbdev a vesa)
-Nastavà povolený bodový nebo pixelový frekvenÄnà rozsah monitoru.
-.
-.TP
-.B \-monitor\-hfreq <rozsah[,rozsah,...]> (pouze \-vo fbdev a vesa)
-Nastavà horizontálnà (Åádkový) frekvenÄnà rozsah monitoru.
-.
-.TP
-.B \-monitor\-vfreq <rozsah[,rozsah,...> (pouze \-vo fbdev a vesa)
-Nastavà vertikálnà (snÃmkový) frekvenÄnà rozsah monitoru.
-.TP
-.B \-monitoraspect <pomÄr> (viz také volbu \-aspect)
-Nastavà pomÄr stran vaÅ¡eho monitoru nebo TV obrazovky.
-Hodnota 0 zrušà pÅedchozà nastavenà (Äili to z konfiguraÄnÃho souboru).
-Má pÅednost pÅed \-monitorpixelaspect pokud je povoleno.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-monitoraspect 4:3 nebo 1.3333
-.br
-\-monitoraspect 16:9 nebo 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <pomÄr> (viz také volbu \-aspect)
-Nastavà pomÄr stran jednotlivých pixelů vaÅ¡eho monitoru nebo TV (výchozÃ:
-1).
-Hodnota 1 znamená Ätvercové pixely
-(správnÄ pro (skoro) vÅ¡echny LCD).
-.
-.TP
-.B \-nodouble
-VypÃná dvojitou vyrovnávacà pamÄÅ¥, vÄtÅ¡inou pro úÄely ladÄnÃ.
-Dvojitá vyrovnávacà pamÄÅ¥ odstraÅuje tÅepotánà ukládánÃm dvou snÃmků v pamÄti,
-kdy zobrazuje jeden snÃmek, zatÃmco zpracovává druhý.
-Může ovlivnit negativnÄ OSD, avÅ¡ak v mnoha pÅÃpadech odstranà jeho blikánÃ.
-.
-.TP
-.B \-nograbpointer
-Nezachytávat ukazatel myÅ¡i po zmÄnÄ video režimu (\-vm).
-To je použitelné pro vÃcehlaviÄkové nastavenÃ.
-.TP
-.B \-nokeepaspect
-Nedodržovat pomÄr stran okna bÄhem zmÄny velikosti.
-Pracuje pouze s video rozhranÃmi x11, xv, xmga, xvidix, directx.
-NavÃc pod X11 váš okennà manažer musà rozumÄt pokynům pro pomÄr stran okna.
-.
-.TP
-.B "\-ontop\ "
-UmÃstà okno pÅehrávaÄe trvale nad ostatnà okna.
-Podporováno video rozhranÃmi použÃvajÃcÃmi X11, kromÄ SDL,
-stejnÄ jako directx, corevideo, quartz, ggi a gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-Zapne "pÅibližovacÃ" funkci (pan-and-scan) (oÅÃznutÃm videa po stranách tak,
-aby napÅ.\& film 16:9 pokryl obrazovku 4:3 bez Äerných okrajů).
-Tato funkce pracuje pouze s video rozhranÃmi xv, xmga, mga, gl,
-gl2, quartz, corevideo a xvidix.
-.br
-.I POZNÃMKA:
-Hodnoty mezi \-1 a 0 jsou také povoleny, ale naprosto experimenálnÃ
-a mohou havarovat nebo hůÅ.
-Použijte na vlastnà riziko!
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (experimentálnÃ)
-ZmÄnà rozsah působenà funkce pan-and-scan (výchozÃ: 1).
-Kladné hodnoty jsou násobky výchozÃho rozsahu.
-Záporné hodnoty zase umožnà zoomovat až na násobek \-panscanrange+1.
-NapÅ. \-panscanrange \-3 umožÅuje zoom násobek až do 4.
-Tato vlastnost je experimentálnÃ.
-Nehlaste chyby, pokud nepoužÃváte \-vo gl.
-.br
-Hodnota, v daném rozsahu, udává jak moc má být obraz oÅÃznut.
-.
-.TP
-.B \-refreshrate <Hz>
-Nastavà obnovovacà kmitoÄet monitoru v Hz.
-ZatÃm podporovánà pouze \-vo directx v kombinaci s volbou \-vm.
-.
-.TP
-.B \-rootwin (pouze X11)
-PÅehraje film v koÅenovém oknÄ (pozadà desktopu).
-Obrázek na ploÅ¡e vÅ¡ak může pÅekrýt zobrazované video.
-Pracuje pouze s video rozhranÃmi x11, xv, xmga, xvidix, quartz, corevideo a directx.
-.
-.TP
-.B \-saturation <\-100\-100>
-Nastavenà sytosti barev (saturace) video signálu (výchozÃ: 0).
-Pomocà této volby můžete nastavit ÄernobÃlý obraz.
-Volba nenà podporována vÅ¡emi video rozhranÃmi.
-.
-.TP
-.B \-screenh <pixely>
-Nastavuje svislé rozliÅ¡enà obrazovky pro ty výstupnà video rozhranÃ, které
-neznajà rozlišenà obrazovky jako fbdev, x11 a TVout.
-.
-.TP
-.B \-screenw <pixely>
-Nastavuje vodorovné rozliÅ¡enà obrazovky pro ty výstupnà video rozhranÃ, které
-neznajà rozlišenà obrazovky jako fbdev, x11 a TVout.
-.
-.TP
-.B \-stop\-xscreensaver (pouze X11)
-PÅi startu vypne xscreensaver a pÅi skonÄenà jej zase zapne.
-.
-.TP
-.B "\-vm \ \ \ "
-Zkusà zmÄnit video režim.
-Funkce je podporována video rozhranÃmi dga, x11, xv, sdl a directx.
-Je-li použita s directx video rozhranÃm, můžete použÃt volby \-screenw,
-\-screenh, \-bpp a \-refreshrate pro nastavenà nového video režimu.
-.
-.TP
-.B "\-vsync \ \ "
-Zapne synchronizaci na snÃmkový zpÄtný bÄh (VBI) pro video rozhranà vesa,
-dfbmga a svga.
-.
-.TP
-.B \-wid <ID okna> (viz také volbu \-guiwid) (pouze X11, OpenGL a DirectX)
-Tato volba sdÄlà MPlayeru aby se pÅipojil na existujÃcà okno.
-To je využitelné k vestavÄnà MPlayeru do internetového prohlÞeÄe
-(napÅÃklad s rozÅ¡ÃÅenÃm plugger).
-.
-.TP
-.B \-xineramascreen <\-2\-...> (pouze X11)
-V Xinerama konfiguracÃch (jedna pracovnà plocha je rozprostÅena
-na vÃce monitorů) touto volbou sdÄlÃte MPlayeru kterou obrazovku použÃt.
-Hodnota \-2 znamená celoobrazovkové zobrazenà pÅes celou virtuálnà plochu
-(v tomto pÅÃpadÄ jsou Xinerama informace úplnÄ ignorovány), \-1
-znamená celoobrazovkové zobrazenà na zobrazovaÄi s aktuálnÃm oknem.
-PoÄáteÄnà pozice nastavenou pomocà \-geometry je relativnà k nastavené
-obrazovce.
-Obvykle pracuje pouze s "\-fstype \-fullscreen" nebo "\-fstype none".
-.
-.TP
-.B \-zrbw (pouze \-vo zr)
-Zobrazuj pouze ÄernobÃle.
-Pro optimálnà výkon může být tato volba zkombinována s '\-lavdopts gray'.
-.
-.TP
-.B \-zrcrop <[Å¡ÃÅka]x[výška]+[x offset]+[y offset]> (pouze \-vo zr)
-Vybere Äást obrázku k zobrazenÃ. VÃce než jeden výskyt této volby zapne
-cinerama režim, ve kterém je video rozprostÅeno na vÃce TV (nebo promÃtaÄek) pro
-vytvoÅenà vÄtÅ¡Ãho obrazu.
-Volby za n-tou volbou \-zrcrop jsou aplikovány na n-tou MJPEG kartu.
-Každá karta by mÄla mÃt aspoÅ \-zrdev jako doplnÄk k \-zrcrop.
-PÅÃklady naleznete ve výstupu \-zrhelp a v Zr sekci dokumentace.
-.
-.TP
-.B \-zrdev <zaÅÃzenÃ> (pouze \-vo zr)
-Zadejte jméno souboru zaÅÃzenà náležejÃcà vašà MJPEG kartÄ, ve výchozÃm stavu
-zr video rozhranà použije prvnà v4l zaÅÃzenà které najde.
-.
-.TP
-.B \-zrfd (pouze \-vo zr)
-Vynutà dÄlenÃ: DÄlenÃ, tak jak je popsáno u voleb \-zrhdec a \-zrvdec,
-nastane pouze tehdy, může-li hardwarový Å¡kálovaÄ rozprostÅÃt obraz na původnÃ
-velikost.
-Touto volbou vynutÃte dÄlenà vždy.
-.
-.TP
-.B \-zrhdec <1|2|4> (pouze \-vo zr)
-Horizontálnà dÄlenÃ: Požádá video rozhranà aby posÃlalo pouze každý druhý nebo Ätvrtý
-Åádek/\:pixel vstupnÃho obrázku do MJPEG karty a použilo Å¡kálovaÄ karty k rozprostÅenÃ
-obrázku na původnà velikost.
-.
-.TP
-.B \-zrhelp (pouze \-vo zr)
-Zobrazà seznam vÅ¡ech \-zr* voleb, jejich výchozà hodnoty a pÅÃklad
-cinerama režimu.
-.
-.TP
-.B \-zrnorm <norma> (pouze \-vo zr)
-Nastavà TV normu PAL nebo NTSC (výchozÃ: beze zmÄny).
-.
-.TP
-.B \-zrquality <1\-20> (pouze \-vo zr)
-ÄÃslo od 1 (nejlepÅ¡Ã) do 20 (nejhorÅ¡Ã) reprezentuje kvalitu jpeg kódovánÃ.
-.
-.TP
-.B \-zrvdec <1|2|4> (pouze \-vo zr)
-Svislé dÄlenÃ: Požádá video rozhranà aby posÃlalo pouze každý druhý nebo Ätvrtý
-sloupec/\:pixel vstupnÃho obrázku do MJPEG karty a použilo Å¡kálovaÄ karty k rozprostÅenÃ
-obrázku na původnà velikost.
-.
-.TP
-.B \-zrxdoff <x offset obrazovky> (pouze \-vo zr)
-Pokud je film menšà než TV obrazovka, tato volba nastavà odsazenà obrazu v ose x.
-Hodnota je vztažena k levému hornÃmu rohu obrazovky (výchozÃ: vystÅedÄno).
-.
-.TP
-.B \-zrydoff <y offset obrazovky> (pouze \-vo zr)
-Pokud je film menšà než TV obrazovka, tato volba nastavà odsazenà obrazu v ose y.
-Hodnota je vztažena k levému hornÃmu rohu obrazovky (výchozÃ: vystÅedÄno).
-.
-.
-.
-.SH "VÃSTUPNÃ VIDEO ROZHRANÃ (POUZE MPLAYER)"
-Výstupnà video rozhranà jsou rozhranà k různým výstupnÃm video zaÅÃzenÃm.
-Syntax je:
-.
-.TP
-.B \-vo <rozhranÃ1[:parametr1[=hodnota]:...],rozhranÃ2,...[,]>
-Nastavuje seznam video rozhranà k použità podle priority.
-.PP
-KonÄÃ-li seznam Äárkou ',', prozkoušà MPlayer v pÅÃpadÄ selhánà i rozhranà neuvedená
-v seznamu.
-Parametry jsou volitelné a vÄtÅ¡inou mohou být vynechány.
-.br
-.I POZNÃMKA:
-Viz \-vo help pro seznam zakompilovaných video rozhranÃ.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Zkusà Matrox X11 rozhranÃ, pak Xv rozhranà a nakonec ostatnÃ.
-.IPs "\-vo directx:noaccel"
-Použije rozhranà DirectX s vypnutou akceleracÃ.
-.RE
-.PD 1
-.sp 1
-Dostupná video rozhranà jsou:
-.
-.TP
-.B xv (pouze X11)
-Použije rozÅ¡ÃÅenà XVideo z XFree86 4.x umožÅujÃcà hardwarovÄ akcelerované
-pÅehrávánÃ.
-Pokud nemůžete použÃt nativnà hardwarové rozhranÃ, je toto patrnÄ nejlepÅ¡Ã
-volba.
-Pro informaci jaký barevný klÃÄ je použitý a jak je vykreslován, spusÅ¥te
-MPlayer s volbou \-v a sledujte Åádky zaÄÃnajÃcà [xv common].
-.PD 0
-.RSs
-.IPs port=<ÄÃslo>
-Zvolà konkrétnà XVideo port.
-.IPs ck=<cur|use|set>
-Vybere zdroj pro zÃskánà barevného klÃÄe (výchozÃ: cur).
-.RSss
-.IPs cur
-Výchozà volba pÅebÃrá barevný klÃÄ aktuálnÄ nastavený v Xv.
-.IPs use
-Použije, ale nenastavà barevný klÃÄ z MPlayeru (pro jeho zmÄnu použijte volbu
-\-colorkey).
-.IPs set
-Shodné s use, ale dodaný barevný klÃÄ rovnÄž nastavÃ.
-.RE
-.IPs ck-method=<man|bg|auto>
-Nastavà metodu vykreslovánà barevného klÃÄe (výchozÃ: man).
-.RSss
-.IPs man
-Vykreslà barevný klÃÄ manuálnÄ (v nÄkterých pÅÃpadech omezà blikánÃ).
-.IPs bg
-Nastavà barevný klÃÄ jako pozadà okna.
-.IPs auto
-Nechá Xv vykreslit barevný klÃÄ.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (pouze X11)
-Video rozhranà se sdÃlenou pamÄtà bez hardwarové akcelerace které pracuje vždy když
-je spuÅ¡tÄné X11.
-.
-.TP
-.B xover (pouze X11)
-PÅidá podporu X11 vÅ¡em rozhranÃm založeným na overlay (pÅekrývánÃ).
-V souÄasnosti je podporován pouze tdfx_vid.
-.PD 0
-.RSs
-.IPs <vo_rozhranÃ>
-Vybere video rozhranÃ, které se použije jako zdroj pro pÅekrytà nad X11.
-.RE
-.PD 1
-.
-.TP
-.B xvmc (pouze X11 spolu s \-vc ffmpeg12mc)
-Výstupnà video rozhranà využÃvajÃcà XvMC (X Video Motion Compensation)
-rozÅ¡ÃÅenà z XFree86 4.x ke zrychlenà MPEG-1/2 a VCR2 dekódovánÃ.
-.PD 0
-.RSs
-.IPs port=<ÄÃslo>
-Zvolà konkrétnà XVideo port.
-.IPs (no)benchmark
-Vypne zobrazovánÃ.
-Nutné pro správné benchmarkovánà (test výkonu) rozhranà která mÄnà obrazové
-buffery pouze pÅi zpÄtném bÄhu monitoru (nVidia).
-VýchozÃm je nepotlaÄovat zobrazovánà (nobenchmark).
-.IPs (no)bobdeint
-Velmi jednoduchý odstraÅovaÄ prokladu.
-Nemusà vypydat lépe než \-vf tfields=1,
-ale je to jediný odstraÅovaÄ pro xvmc (výchozÃ: nobobdeint).
-.IPs (no)queue
-Skládá obrázky k zobrazenà do fronty aby se vÃce využila paralelnà práce video
-hardwaru.
-Může pÅidat malou (nepostÅehnutelnou) stálou odchylku v A/V synchronizaci
-(výchozÃ: noqueue).
-.IPs (no)sleep
-Použije funkci sleep pÅi Äekánà na dokonÄenà renderovánÃ
-(na Linuxu se toto nedoporuÄuje) (výchozÃ: nosleep).
-.IPs ck=cur|use|set
-Stejné jako \-vo xv:ck (viz \-vo xv).
-.IPs ck-method=man|bg|auto
-Stejné jako \-vo xv:ck-method (viz \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B dga (pouze X11)
-Zobrazuje video pÅes XFree86 rozÅ¡ÃÅenÃ: Direct Graphics Access.
-Považujeme za zastaralé.
-.
-.TP
-.B sdl (pouze SDL)
-Video rozhranà platformnÄ nezávislé knihovny SDL (Simple Directmedia Layer).
-Vzhledem k tomu, že SDL má vlastnà X11 vrstvu, nemajà X11 volby MPlayeru
-na SDL žádný vliv.
-.PD 0
-.RSs
-.IPs driver=<ovladaÄ>
-ExplicitnÄ vybere SDL ovladaÄ k použitÃ.
-.IPs (no)forcexv
-Použije XVideo pÅes sdl výstupnà video rozhranà (výchozÃ: forcexv).
-.IPs (no)hwaccel
-Použije hardwarovÄ akcelerovaný Å¡kálovaÄ (výchozÃ: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX) je rozhranÃm k video akcelerujÃcÃm
-vlastnostem různých grafických karet.
-Poskytuje velmi rychlý video výstup na kartách které jej podporujÃ.
-.PD 0
-.RSs
-.IPs <ovladaÄ>
-JednoznaÄnÄ vybere VIDIXový ovladaÄ k použitÃ.
-Dostupné ovladaÄe jsou cyberblade, mach64, mga_crtc2,
-mga, nvidia, pm2, pm3, radeon, rage128, sis_vid a unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (pouze X11)
-X11 front-end pro VIDIX
-.PD 0
-.RSs
-.IPs <ovladaÄ>
-shodné s vidix
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-Obecný a platformnÄ nezávislý front-end k VIDIXu. Může dokonce pracovat
-v textové konzoli s nVidia kartami.
-.PD 0
-.RSs
-.IPs <ovladaÄ>
-shodné s vidix
-.RE
-.PD 1
-.TP
-.B winvidix (pouze Windows)
-Windows front-end pro VIDIX
-.PD 0
-.RSs
-.IPs <ovladaÄ>
-shodné s vidix
-.RE
-.PD 1
-.
-.TP
-.B directx (pouze Windows)
-Výstupnà video rozhranà využÃvajÃcà DirectX.
-.PD 0
-.RSs
-.IPs noaccel
-Vypne hardwarovou akceleraci.
-VyzkouÅ¡ejte, máte-li potÞe se zobrazovánÃm.
-.RE
-.PD 1
-.
-.TP
-.B quartz (pouze Mac OS X)
-Video rozhranà Mac OS X Quartz.
-V nÄkterých pÅÃpadech může být efektivnÄjšà vynucenà packed YUV výstupnÃho
-formátu, napÅÃklad s\& \-vf format=yuy2
-.PD 0
-.RSs
-.IPs device_id=<ÄÃslo>
-Zvolà zobrazovacà zaÅÃzenà pro zobrazenà na celou obrazovku.
-.IPs fs_res=<Å¡ÃÅka>:<výška>
-Nastavà rozlišenà celoobrazovkového režimu (použitelné pro pomalé systémy).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 nebo 10.3.9 s QuickTime 7)
-Výstupnà video rozhranà Mac OS X CoreVideo.
-.PD 0
-.RSs
-.IPs device_id=<ÄÃslo>
-Vybere zobrazovacà zaÅÃzenà pro celoobrazovkový režim.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (pouze Linux)
-Použije jaderný framebuffer k pÅehrávánà videa.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere jméno zaÅÃzenà fbdev k použità (napÅ.\& /dev/\:fb0) nebo
-název vidixového ovladaÄe, pokud jméno zaÅÃzenà zaÄÃná vidix (napÅ.\&
-vidixsis_vid povolà sis ovladaÄ).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (pouze Linux)
-Použije jaderný framebuffer k pÅehrávánà videa. Alternativnà implementace.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere jméno zaÅÃzenà fbdev k použità (výchozÃ: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Obecné video rozhranÃ; funkÄnà s každou VESA VBE 2.0
-kompatibilnà kartou.
-.PD 0
-.RSs
-.IPs (no)dga
-Zapne nebo vypne DGA režim (výchozÃ: zapnuto).
-.IPs neotv_pal
-Aktivuje TV out na neomagicu a nastavà jej na normu PAL.
-.IPs neotv_ntsc
-Aktivuje TV out na neomagicu a nastavà jej na normu NTSC.
-.IPs vidix
-Použije VIDIX ovladaÄ.
-.IPs "lvo:\ \ \ "
-Aktivuje Linuxové pÅekrývánà videa (Linux Video Overlay) v režimu vesa.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-PÅehraje video s pomocà knihovny SVGA.
-.PD 0
-.RSs
-.IPs "<video režim>"
-UrÄà video režim k použitÃ.
-Režim může být zadán ve formátu <Å¡ÃÅka>x<výška>x<poÄet_barev>,
-napÅ.\& 640x480x16M nebo ÄÃslem grafického režimu, napÅ.\& 84.
-.IPs bbosd
-Zobrazuj OSD do Äerných okrajů pod filmem (pomalejÅ¡Ã).
-.IPs native
-Použije pouze nativnà vykreslovacà funkce.
-Toto vyÅadà direct rendering, OSD a hardwarovou akceleraci.
-.IPs retrace
-Vynutà zmÄnu snÃmku až v dobÄ snÃmkového zpÄtného bÄhu.
-Použitelné pouze s volbou \-double.
-Má stejný efekt jako volba \-vsync.
-.IPs "sq\ \ \ "
-Zkusà vybrat video režim se Ätvercovými pixely.
-.IPs vidix
-Použije svga s VIDIX.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-Video rozhranà OpenGL, jednoduchá verze.
-RozmÄry videa musà být menšà než maximálnÃ
-velikost textury ve vašà OpenGL implementaci.
-Navrženo tak, aby pracovalo i se základnÃmi implementacemi OpenGL,
-ale rovnÄž použÃvá novÄjšà rozÅ¡ÃÅenÃ, které umožÅujà dalšà barevné prostory
-a direct rendering.
-PoužÃvejte prosÃm \-dr, pokud rozhranà pracuje s vašà OpenGL implementacÃ,
-protože pÅi vyššÃch rozliÅ¡enÃch poskytuje
-.B velké
-zrychlenÃ.
-Kód provádà minimum testů, takže pokud tato vlastnost nefunguje, může to být
-proto, že nenà podporována vašà kartou/OpenGL implementacà i v pÅÃpadÄ,
-že neobdržÃte žádnou chybovou zprávu.
-Použijte glxinfo nebo podobný nástroj pro zobrazenà podporovaných OpenGL
-rozÅ¡ÃÅenÃ.
-.PD 0
-.RSs
-.IPs (no)scaled-osd
-ZmÄnà chovánà OSD pÅi zmÄnách velikosti okna (výchozÃ: vypnuto).
-Pokud volbu zapnete, chová se OSD vÃce jako v jiných video rozhranÃch, což
-je lepšà pro fonty s pevnou výškou.
-Je-li volba vypnuta, vypadá lépe s\ FreeType fonty a použÃvá okraje
-v\ celoobrazovkovém režimu.
-Nepracuje správnÄ s ass titulky (viz volbu \-ass), ty můžete mÃsto toho
-renderovat bez podpory OpenGL pÅes \-vf ass.
-.IPs osdcolor=<0xRRGGBB>
-Barva OSD (výchozÃ: 0xffffff, odpovÃdá bÃlé).
-.IPs rectangle=<0,1,2>
-Nastavà použità pravoúhlých textur, což Å¡etÅà video RAM, ale Äasto je pomalejÅ¡Ã
-(výchozÃ: 0).
-.RSss
-0: Použije power-of-two textury.
-.br
-1: Použije rozÅ¡ÃÅenà GL_ARG_texture_rectangle.
-.br
-2: Použije rozÅ¡ÃÅenà GL_ABR_texture_non_power_of_two.
-V nÄkterých pÅÃpadech je podporováno pouze softwarovÄ a proto velmi pomalé.
-.REss
-.RE
-.IPs swapinterval=<n>
-Minimálnà interval mezi dvÄma prohozenÃmi vyrovnávacÃch pamÄtÃ, poÄÃtaných
-v zobrazených snÃmcÃch (výchozÃ:1 ).
-1 odpovÃdá zapnutà VSYNC, 0 vypnutà VSYNC.
-Hodnoty menšà než 0 ponechajà výchozà nastavenà systému.
-To omezà snÃmkovou rychlost na (horizontálnà obnovovacà frekvenci / n).
-Pro svou funkci vyžaduje podporu GLX_SGI_swap_control.
-V nÄkterých (vÄtÅ¡inÄ/vÅ¡ech?) implementacÃch pracuje pouze v celoobrazovkovém
-režimu.
-.IPs yuv=<n>
-Vybere typ konverze YUV na RGB.
-.RSss
-0: Použije se softwarová konverze (výchozÃ).
-Kompatibilnà se všemi verzemi OpenGL.
-Poskytuje ovládánà jasu, kontrastu a sytosti.
-.br
-1: Použijà se register combiners.
-PoužÃvá specifické nVidia rozÅ¡ÃÅenà (GL_NV_register_combiners).
-Vyžaduje aspoÅ tÅi texturové jednotky.
-Poskytuje ovládánà sytosti a barevného tónu.
-Tato metoda je rychlá, ale nepÅesná.
-.br
-2: Použije se fragment program.
-Vyžaduje rozÅ¡ÃÅenà GL_ARB_fragment_program a aspoÅ tÅi texturové jednotky.
-Poskytuje ovládánà jasu, kontrastu, sytosti a barevného tónu.
-.br
-3: Použije se fragment program použÃvajÃcà POW instrukci.
-Vyžaduje rozÅ¡ÃÅenà GL_ARB_fragment_program a aspoÅ tÅi texturové jednotky.
-Poskytuje ovládánà jasu, kontrastu, sytosti, barevného tónu a gama.
-Gama může být také nastavena nezávisle pro Äervenou, zelenou a modrou složku.
-Metoda 4 je obvykle rychlejÅ¡Ã.
-.br
-4: Použije se fragment program s dodateÄnou kontrolou.
-Vyžaduje rozÅ¡ÃÅenà GL_ARB_fragment_program a aspoÅ ÄtyÅi texturové jednotky.
-Poskytuje ovládánà jasu, kontrastu, sytosti, barevného tónu a gama.
-Gama může být také nastavena nezávisle pro Äervenou, zelenou a modrou složku.
-.br
-5: Použije ATI-specifickou metodu (pro staršà karty).
-PoužÃvá rozÅ¡ÃÅenà specifické pro ATI (GL_ATI_fragment_shader - nikoli
-GL_ARB_fragment_shader!).
-Vyžaduje aspoÅ tÅi texturovacà jednotky.
-Poskytuje ovládánà sytosti a tónovánÃ.
-Tato metoda je rychlá, ale nepÅesná.
-.br
-6: Použije 3D texturu pro konverzi pomocà lookup.
-Vyžaduje rozÅ¡ÃÅenà GL_ARB_fragment_program a aspoÅ ÄtyÅi texturovacà jednotky.
-ExtrémnÄ pomalé (softwarová emulatce) na nÄkterých (vÅ¡ech?) ATI kartách,
-jelikož použÃvá textury s porder pixely.
-Poskytuje nastavenà jasu, kontrastu, sytosti, tónovánà a gama.
-Gamu lze rovnÄž nastavit nezávisle pro Äervenou, zelenou a modrou.
-Rychlost je mnohem vÃce závislá na rychlosti GPU pamÄti než u jiných metod.
-.RE
-.IPs lscale=<n>
-Vybere škálovacà funkci pro škálovanà jasové složky.
-Platná pouze pro YUV režimy 2, 3, 4 a 6.
-.RSss
-0: Použije jednoduchou lineárnà filtraci (výchozÃ).
-.br
-1: Použije bikubickou filtraci (lepšà kvalita).
-Vyžaduje jeÅ¡tÄ jednu texturovacà jednotku.
-Staršà karty to nebudou schopny zvládnout pro barevnou složku minimálnÄ
-v režimu celé obrazovky.
-.br
-2: Použijte kubické filtrovánà ve vodorovném a lineárnà filtrovánà ve svislém
-smÄru. Pracuje s o málo vÃce kartami než metoda 1.
-.RE
-.IPs cscale=<n>
-Vybere škálovacà funkci pro škálovánà barevné složky.
-Podrobnosti viz lscale.
-.IPs customprog=<soubor>
-Nahraje uživatelský fragment program ze <souboru>.
-Jako pÅÃklad viz TOOLS/edgedect.fp.
-.IPs customtex=<soubor>
-Nahraje uživatelskou "gamma ramp" texturu ze <souboru>.
-To může být použito v kombinaci s yuv=4 nebo s volbou customprog.
-.IPs (no)customtlin
-Je-li zapnuta (výchozÃ), použije se pro customtex texturu GL_LINEAR interpolace,
-jinak GL_NEAREST.
-.IPs (no)customtrect
-Je-li zapnuta, použije se texture_rectangle pro customtex texturu.
-Výchozà je vypnuta.
-.RE
-.sp 1
-.RS
-NormálnÄ nenà důvod pro použità následujÃcÃch voleb.
-VÄtÅ¡inou sloužà pro testovacà úÄely.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-Zavolá glFinish() pÅed prohozenÃm bufferů.
-PomalejÅ¡Ã, ale v nÄkterých pÅÃpadech pÅesnÄjšà výstup (výchozÃ: vypnuto).
-.IPs (no)manyfmts
-Zapne podporu pro vÃce (RGB a BGR) barevných formátů (výchozÃ: zapnuto).
-Vyžaduje OpenGL verze >= 1.2.
-.IPs slice-height=<0\-...>
-PoÄet Åádků zkopÃrovaných do textury v jednom kuse (výchozÃ: 0).
-0 pro celý obrázek.
-.br
-.I POZNÃMKA:
-PoužÃvate-li YUV barevný prostor (viz podvolba yuv), platà zvláštnà pravidla:
-.RSss
-Pokud dekodér použÃvá renderovánà po Äástech (viz \-noslices), nemá tato volba
-žádný efekt, použije se velikost Äástà tak, jak jsou poskytovány dekodérem.
-.br
-Pokud dekodér nepoužÃvá renderovánà po Äástech, je výchozà 16.
-.RE
-.IPs (no)osd
-Zapne nebo vypne podporu renderovánà OSD pÅes OpenGL (výchozÃ: zapnuto).
-Tato volba je pro testovánÃ; k vypnutà OSD použijte radÄji \-osdlevel 0.
-.IPs (no)aspect
-Zapne nebo vypne Å¡kálovánà na pomÄr stran a podporu pan-and-scan (výchozÃ: zapnuto).
-Vypnutà může zvýšit rychlost.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Druhá generace OpenGL video rozhranÃ.
-Podporuje OSD a videa vÄtšà než maximálnà velikost textury.
-.PD 0
-.RSs
-.IPs (no)glfinish
-stejné jako gl (výchozÃ: zapnuto)
-.IPs yuv=<n>
-Nastavà typ konverze YUV na RGB.
-Pokud ji nastavÃte na jinou hodnotu než 0, vypne se OSD a nastavovánà jasu,
-kontrastu a gama bude dostupné pouze pÅes globálnà nastavenà X serveru.
-Jinak majà hodnoty stejný význam jako pro \-vo gl.
-.REss
-.
-.TP
-.B "null\ \ \ "
-Neprodukuje žádné video.
-Použitelné pro testy výkonu.
-.
-.TP
-.B "aa\ \ \ \ \ "
-Výstupnà video rozhranà do ASCII art pracujÃcà v textové konzoli.
-Seznam a vysvÄtlivky dostupných podvoleb dostanete spuÅ¡tÄnÃm
-.I mplayer \-vo aa:help
-.
-.TP
-.B "caca\ \ \ "
-Barevné výstupnà video rozhranà do ASCII art pracujÃcà v textové konzoli.
-.
-.TP
-.B "bl\ \ \ \ \ "
-PÅehrávánà videa UDP protokolem Blinkenlights.
-Toto rozhranà je velmi závislé na hardwaru.
-.PD 0
-.RSs
-.IPs <bl_zaÅÃzenÃ>
-ExplicitnÄ vybere Blinkenlights ovladaÄ zaÅÃzenà k použitÃ.
-Je to nÄco jako arcade:host=localhost:2323 nebo
-hdl:file=jméno1,file=jméno2.
-MusÃte uvést zaÅÃzenÃ.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-Video rozhranà pro grafický systém GGI.
-.PD 0
-.RSs
-.IPs <ovladaÄ>
-ExplicitnÄ vybere GGI ovladaÄ k použitÃ.
-ZamÄÅte veÅ¡keré ',', které se objevà v ÅetÄzci ovladaÄe za '.'.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-PÅehrávánà videa pomocà knihovny DirectFB.
-.PD 0
-.RSs
-.IPs (no)input
-Použije DirectFB namÃsto klávesnicového kódu MPlayeru (výchozÃ: zapnuto).
-.IPs buffermode=single|double|triple
-Double (dvojitá) a triple (trojitá) vyrovnávacà pamÄÅ¥ dávajà nejlepšà výsledky
-pokud chcete vylouÄit trhánÃ.
-Trojitá vyrovnávacà pamÄÅ¥ je mnohem úÄinnÄjšà vzhledem k tomu že nebrzdÃ
-MPlayer pÅi Äekánà na vertikálnà synchronizaci.
-Jednoduchou (single) vyrovnávacà pamÄÅ¥ můžete s\ klidem vypustit (výchozÃ: single).
-.IPs fieldparity=top|bottom
-Ovládá Åazenà prokládaných snÃmků (výchozÃ: vypnuto).
-Platné hodnoty jsou top = nejdÅÃve hornà polÃÄka, bottom = nejdÅÃve spodnà polÃÄka.
-Tato volba nebude mÃt žádný efekt na progresivnà filmový materiál, jako je mnoho
-MPEG filmů.
-Tuto volbu povolte pokud máte problémy s trhánÃm nebo nevyhlazovánÃm pÅi sledovánÃ
-prokládaného filmového materiálu.
-.IPs layer=N
-Vynutà použità vrstvy s ID N pro pÅehrávánà (výchozÃ: \-1 - auto).
-.IPs dfbopts=<výÄet>
-Nastavà výÄet parametrů pro DirectFB.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Výstupnà video rozhranà pro Matrox G400/\:G450/\:G550 které použÃvá knihovnu
-DirectFB k zpÅÃstupnÄnà speciálnÃch hardwarových vlastnostÃ.
-ZapÃná CRTC2 (druhý výstup), zobrazuje video nezávisle na prvnÃm výstupu.
-.PD 0
-.RSs
-.IPs (no)input
-stejné jako directfb (výchozÃ: vypnuto)
-.IPs buffermode=single|double|triple
-stejné jako u directfb (výchozÃ: triple)
-.IPs fieldparity=top|bottom
-stejné jako u directfb
-.IPs (no)bes
-ZapÃná použità Matrox BES (vestavÄný zvÄtÅ¡ovaÄ) (výchozÃ: vypnuto).
-Dává velmi dobré výsledky jak z hlediska rychlosti tak i kvality
-vzhledem k tomu že úpravu obrázku zajišťuje hardware.
-Pracuje pouze na primárnÃm výstupu.
-.IPs (no)spic
-PoužÃvá Matrox pod-obrázkovou vrstvu k zobrazenà OSD (výchozÃ: zapnuto).
-.IPs (no)crtc2
-Zapne TV-out na sekundárnÃm výstupu (výchozÃ: zapnuto).
-Výstupnà kvalita je úžasná, protože se jedná o plnÄ prokládaný obraz
-s odpovÃdajÃcà synchronizacà lichých a sudých půlsnÃmků.
-.IPs tvnorm=pal|ntsc|auto
-Nastavà TV normu na Matrox kartÄ bez nutnosti editace /etc/\:directfbrc
-(výchozÃ: vypnuto).
-Platné normy jsou pal = PAL, ntsc = NTSC.
-Speciálnà normou je auto (automatické pÅizpůsobenà použÃvá PAL/\:NTSC) protože urÄuje
-kterou normu použÃt podle snÃmkové rychlosti filmu.
-.RE
-.PD 1
-.
-.TP
-.B mga (pouze Linux)
-Nativnà Matrox výstupnà video rozhranà použÃvajÃcà vestavÄný YUV Å¡kálovaÄ na kartách
-Åady Gxxx pomocà jaderného modulu.
-Pokud máte kartu od Matroxů, pak je toto nejrychlejšà volba.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere jméno zaÅÃzenà pro matrox k použità (výchozÃ: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (pouze Linux s X11)
-Výstupnà video rozhranà mga, bÄžà v X11 oknÄ.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere jméno zaÅÃzenà pro matrox k použità (výchozÃ: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (pouze Linux) (viz také \-vf yuv2 a \-dr)
-Výstupnà video rozhranà výslovnÄ urÄené pro S3 Virge.
-Toto rozhranà podporuje následujÃcà vlastnosti karty: YUV konverze a Å¡kálovánÃ,
-dvojitou vyrovnávacà pamÄÅ¥ a direct rendering.
-Použijte \-vf yuy2 pro hardwarovÄ akcelerované YUY2 renderovánÃ, což je
-mnohem rychlejšà než YV12 na této kartÄ.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere jméno zažÃzenà fbdev k použità (výchozÃ: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B 3dfx (pouze Linux)
-Nativnà 3dfx video rozhranÃ, které použÃvá
-pÅÃmo 3dfx hardware nad X11.
-Podporována je pouze barevná hloubka 16 bpp.
-.
-.TP
-.B tdfxfb (pouze Linux)
-Toto rozhranà použÃvá ovladaÄ tdfxfb ovladaÄ framebufferu
-k pÅehrávánà filmů s YUV akceleracà na 3dfx kartách.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere jméno zaÅÃzenà fbdev k použità (výchozÃ: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (pouze Linux)
-Nativnà 3dfx výstupnà video rozhranÃ, které pracuje v kombinaci
-s jaderným modulem tdfx_vid.
-.PD 0
-.RSs
-.IPs <zaÅÃzenÃ>
-ExplicitnÄ vybere jméno zaÅÃzenà k použità (výchozÃ: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (viz také volbu \-dxr2) (pouze DXR2)
-Nativnà video rozhranà ke Creative DXR2.
-.PD 0
-.RSs
-.IPs <vo_rozhranÃ>
-Výstupnà video podrozhranà pro pÅekrývánà (x11, xv).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (pouze DXR3)
-Nativnà video rozhranà k Sigma Designs em8300 MPEG dekodéru (Creative DXR3, Sigma Designs
-Hollywood Plus).
-Viz též lavc video filtr.
-.PD 0
-.RSs
-.IPs overlay
-Aktivuje pÅekrývánà namÃsto TV-Outu.
-.IPs prebuf
-ZapÃná Ätenà napÅed do vyrovnávacà pamÄti.
-.IPs "sync\ "
-ZapÃná nový synchronizaÄnà modul.
-.IPs norm=<norma>
-UrÄuje TV normu.
-.RSss
-0: NemÄnit souÄasnou normu (výchozÃ).
-.br
-1: Automaticky zvolit PAL/\:NTSC.
-.br
-2: Automaticky zvolit PAL/\:PAL-60.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.REss
-.IPs <0\-3>
-UrÄuje ÄÃslo zaÅÃzenà které se má použÃt pokud máte vÃce než jednu em8300 kartu.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (pouze IVTV)
-Výstupnà video rozhranà pro TV-Out speciálnÄ pro MPEG dekodéry
-(Hauppauge WinTV PVR-150/250/350/500) s Äipy Conexant CX23415
-(iCompression iTVC15) nebo Conexant CX23416 (iCompression iTVC16).
-Viz také lavc video filtr.
-.PD 0
-.RSs
-.IPs device
-ExplicitnÄ vybere zaÅÃzenà MPEG dekodéru k použità (výchozÃ: /dev/video16).
-.IPs output
-ExplicitnÄ vybere TV-Out výstup využitý pro videsignál.
-.RE
-.PD 1
-.
-.TP
-.B v4l2 (vyžaduje jádro Linux 2.6.22+)
-Video výstupnà rozhranà pro karty sluÄitelné s V4L2 s vestavÄným hardwarovým
-MPEG dekodérem. Viz také lavc video filtr.
-.PD 0
-.RSs
-.IPs device
-ExplicitnÄ vybere zaÅÃzenà MPEG dekodéru k použità (výchozÃ: /dev/video16).
-.IPs output
-ExplictnÄ vybere výstup TV-Out k použità pro video signál.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (pouze DVB)
-Výstupnà video rozhranà pro DVB, které zapisuje do souboru ve formátu MPEG-PES,
-pokud nenà nainstalována DVB karta.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-UrÄà ÄÃslo zaÅÃzenà k použitÃ, pokud máte vÃce než jednu výstupnà DVB kartu.
-(pouze V3 API, takové jaké majà ovladaÄe Åady 1.x.y).
-.IPs <soubor>
-jméno výstupnÃho souboru (výchozÃ: ./grab.mpg).
-.RE
-.PD 1
-.
-.TP
-.B zr (viz také \-zr* a \-zrhelp)
-Výstupnà video rozhranà mnoha MJPEG zachytávacÃch/\:pÅehrávacÃch karet.
-.
-.TP
-.B zr2 (viz také zrmjpeg video filtr)
-Výstupnà video rozhranà mnoha MJPEG zachytávacÃch/\:pÅehrávacÃch karet, druhá generace.
-.PD 0
-.RSs
-.IPs dev=<zaÅÃzenÃ>
-Nastavà jméno video zaÅÃzenà k použitÃ.
-.IPs norm=<PAL|NTSC|SECAM|auto>
-Nastavuje video normu k použità (výchozÃ: auto).
-.IPs (no)prebuf
-(De)Aktivuje prebuffering, zatÃm nepodporováno.
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-SpoÄÃtá MD5 otisk jednotlivÄ pro vÅ¡echny snÃmky a zapÃÅ¡e je do souboru.
-Podporuje barevné prostory RGB24 a YV12.
-Použitelné pÅi hledánà chyb.
-.PD 0
-.RSs
-.IPs outfile=<hodnota>
-Nastavà jméno výstupnÃho souboru (výchozÃ: ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-PÅevádà video proud na sekvenci nekomprimovaných YUV 4:2:0 obrázků a
-ukládá je do souboru (výchozÃ: ./stream.yuv).
-Formát je shodný s tÃm, který použÃvá mjpegtools, což je výhodné pokud chcete
-video zpracovávat pomocà sady mjpegtools.
-Podporuje formáty: YV12, RGB (24 bpp) a BGR (24 bpp).
-Můžete to zkombinovat s volbou \-fixed\-vo pro spojovánà souborů
-se stejnými rozmÄry a snÃmkovou rychlostÃ.
-.PD 0
-.RSs
-.IPs interlaced
-Zapisuje výstup jako prokládané snÃmky, hornà půlsnÃmek napÅed.
-.IPs interlaced_bf
-Zapisuje výstup jako prokládané snÃmky, dolnà půlsnÃmek napÅed.
-.IPs file=<soubor>
-ZapÃÅ¡e výstup do <soubor>u namÃsto výchozÃho stream.yuv.
-.REss
-.PD 1
-.RS
-.sp 1
-.I POZNÃMKA:
-Pokud neuvedete žádnou volbu, bude výstup progresivnÃ
-(Äili.\& neprokládaný).
-.RE
-.
-.TP
-.B "gif89a\ "
-Vyexportuje vÅ¡echny snÃmky do jediného animovaného GIF souboru v aktuálnÃm adresáÅi.
-Podporuje pouze RGB formát s barevnou hloubkou 24 bpp a výstup je pÅeveden
-na 256 barev.
-.PD 0
-.RSs
-.IPs <fps>
-Desetinné ÄÃslo nastavujÃcà snÃmkovou rychlost (výchozÃ: 5.0).
-.IPs <output>
-Nastavà jméno výstupnÃho souboru (výchozÃ: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I POZNÃMKA:
-MusÃte nastavit snÃmkovou rychlost pÅed jménem souboru, jinak bude souÄástÃ
-jména souboru.
-.sp 1
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15.0:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-Vyexportuje každý snÃmek do JPEG souboru v aktuálnÃm adresáÅi.
-Každý soubor bude pojmenován ÄÃslem snÃmku i s vodÃcÃmi nulami.
-.PD 0
-.RSs
-.IPs [no]progressive
-Nastavuje použità standardnÃho nebo progresivnÃho JPEG (výchozÃ: noprogressive).
-.IPs [no]baseline
-Nastavuje zda použÃt baseline nebo ne (výchozÃ: baseline).
-.IPs optimize=<0\-100>
-faktor optimalizace (výchozÃ: 100)
-.IPs smooth=<0\-100>
-faktor rozmazánà (výchozÃ: 0)
-.IPs quality=<0\-100>
-faktor kvality (výchozÃ: 75)
-.IPs outdir=<adresáÅ>
-Nastavuje adresáŠdo kterého se budou ukládat JPEG soubory (výchozÃ: ./).
-.IPs subdirs=<pÅedpona>
-VytvoÅà oÄÃslované podadresáÅe se zadanou pÅedponou, do kterých budou ukládány
-soubory mÃsto aktuálnÃho adresáÅe.
-.IPs "maxfiles=<hodnota> (pouze subdirs)"
-Maximálnà poÄet souborů uložených v jednom podadresáÅi.
-Musà být vÄtšà nebo rovno 1 (výchozÃ: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Vyexportuje každý snÃmek do PNM souboru v aktuálnÃm adresáÅi.
-Každý ze souborů je pojmenován ÄÃslem snÃmku vÄetnÄ ÃºvodnÃch nul.
-Podporuje PPM, PGM a PGMYUV soubory v režimu raw i ASCII.
-Viz též pnm (5), ppm (5) a pgm (5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-Zapisuje PPM soubory (výchozÃ).
-.IPs "pgm\ \ "
-Zapisuje PGM soubory.
-.IPs pgmyuv
-Zapisuje PGMYUV soubory.
-PGMYUV jsou podobné PGM, ale zároveÅ obsahujà U a V složku pÅidanou na spodnÃ
-okraj obrázku.
-.IPs "raw\ \ "
-Zapisuje PNM soubory v raw režimu (výchozÃ).
-.IPs ascii
-Zapisuje PNM soubory v ASCII režimu.
-.IPs outdir=<adresáÅ>
-Nastavà adresáŠpro ukládánà PNM souborů (výchozÃ: ./).
-.IPs subdirs=<pÅedpona>
-VytvoÅà oÄÃslované podadresáÅe se zadanou pÅedponou, do kterých budou ukládány
-soubory mÃsto aktuálnÃho adresáÅe.
-.IPs "maxfiles=<hodnota> (pouze subdirs)"
-Maximálnà poÄet PNM souborů uložených v jednom podadresáÅi.
-Musà být vÄtšà nebo rovno 1 (výchozÃ: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Vyexportuje každý snÃmek do PNG souboru v aktuálnÃm adresáÅi.
-Každý soubor bude pojmenován ÄÃslem snÃmku i s vodÃcÃmi nulami.
-Podporuje formáty RGB a BGR, oba v 24bpp barevné hloubce.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Nastavuje úroveŠkomprese.
-Nastavte 0 pro žádnou kompresi, 9 pro maximálnà kompresi.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-Vyexportuje každý snÃmek do Targa souboru v aktuálnÃm adresáÅi.
-Každý soubor bude pojmenován ÄÃslem snÃmku i s vodÃcÃmi nulami.
-ÃÄel tohoto rozhranà je: mÃt jednoduchý bezztrátový zapisovaÄ obrázků,
-který nebude potÅebovat žádnou externà knihovnu.
-Podporuje barevný formát BGR[A], v barevné hloubce 15, 24 a 32 bpp.
-Můžete vynutit urÄitý formát pomocà video filtru format.
-.sp 1
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "VOLBY PRO DEKÃDOVÃNÃ/FILTROVÃNÃ"
-.
-.TP
-.B \-ac <[\-|+]kodek1,[\-|+]kodek2,...[,]>
-Nastavà seznam zvukových kodeků k použità podle priority, shodnÄ
-s jejich názvy v codecs.conf.
-NapiÅ¡te '\-' pÅed název kodeku, který chcete vylouÄit.
-Použijte '+' pÅed jménem kodeku pro jeho vynucenÃ, což nejspÃÅ¡ skonÄà haváriÃ!
-Pokud seznam zakonÄÃte Äárkou, použije v pÅÃpadÄ selhánà Mplayer i kodeky
-neuvedené na seznamu.
-.br
-.I POZNÃMKA:
-Ãplný seznam dostupných kodeků zÃskáte pomocà \-ac help.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-Vynutà MP3 kodek l3codeca.acm.
-.IPs "\-ac mad,"
-NejdÅÃve zkusà libmad a pokud selže, zkoušà ostatnÃ.
-.IPs "\-ac hwac3,a52,"
-Zkusà hardwarový AC-3 kanál, pak softwarový AC-3 kodek, nakonec ostatnÃ.
-.IPs "\-ac hwdts,"
-Zkusà hardwarový DTS kanál, pÅi selhánà ostatnÃ.
-.IPs "\-ac \-ffmp3,"
-PÅeskoÄà FFmpeg MP3 dekodér.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(filtry)> (viz také \-af)
-Nastavuje pokroÄilé filtrovacà vlastnosti:
-.RSs
-.IPs force=<0\-7>
-Vynutà vkládánà audio filtrů podle následujÃcÃho klÃÄe:
-.RSss
-0: Použije se plnÄ automatický režim vkládánà filtrů.
-.br
-1: Optimalizuje se na vÄrnost (výchozÃ).
-.br
-2: Optimalizuje se na rychlost.
-.I VarovánÃ:
-NÄkteré vlastnosti v audio filtrech mohou tiÅ¡e selhat a
-tak snÞit kvalitu zvuku.
-.br
-3: Nepoužije se automatické vkládánÃ, ani optimalizace.
-.I VarovánÃ:
-PoužitÃm tohoto nastavenà můžete shodit MPlayer.
-.br
-4: Použije automatické vkládánà filtrů tak jako 0 nahoÅe,
-ale poÄÃtá s plovoucà desetinnou Äárkou kdykoli je to možné.
-.br
-5: Použije automatické vkládánà filtrů tak jako 1 nahoÅe,
-ale poÄÃtá s plovoucà desetinnou Äárkou kdykoli je to možné.
-.br
-6: Použije automatické vkládánà filtrů tak jako 2 nahoÅe,
-ale poÄÃtá s plovoucà desetinnou Äárkou kdykoli je to možné.
-.br
-7: Nepoužije žádné automatické vkládánà filtrů tak jako 3 nahoÅe
-a poÄÃtá s plovoucà desetinnou Äárkou kdykoli je to možné.
-.REss
-.IPs list=<filtry>
-Shodné s volbou \-af.
-.RE
-.
-.TP
-.B \-afm <ovladaÄ1,ovladaÄ2,...>
-Nastavà seznam rodin zvukových ovladaÄů k použità podle priority, tak
-jak jsou uvedeny v codecs.conf.
-Jestliže žádná nevyhovÃ, použije se výchozà nastavenÃ.
-.br
-.I POZNÃMKA:
-Seznam dostupných rodin ovladaÄů zÃskáte pomocà \-afm help.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-NejdÅÃve zkoušà rodinu libavcodec kodeků od FFmpeg.
-.IPs "\-afm acm,dshow"
-NejdÅÃve zkoušà Win32 kodeky.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <pomÄr\ stran> (viz také volbu \-zoom)
-PÅepÃÅ¡e zjiÅ¡tÄný pomÄr stran videa v pÅÃpadech, kdy je informace o pomÄru
-stran v pÅehrávaném souboru nesprávná, nebo chybÃ.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-aspect 4:3 nebo \-aspect 1.3333
-.br
-\-aspect 16:9 nebo \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Zakáže automatickou kompenzaci pomÄru stran videa.
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-Nastavà prvnà půlsnÃmek prokládaného obsahu.
-Vhodné pro odstraÅovaÄe prokladu zdvojujÃcà snÃmkovou rychlost: \-vf tfields=1,
-\-vf yadif=1 a \-vo xvmc:bobdeint.
-.PD 0
-.RSs
-.IPs \-1
-auto (výchozÃ): Pokud dekodér neexportuje vhodné informace,
-použije se 0 (nejprve hornà půlsnÃmek).
-.IPs 0
-nejprve hornà půlsnÃmek
-.IPs 1
-nejprve dolnà půlsnÃmek
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-PÅevrátà obraz vzhůru nohama.
-.
-.TP
-.B \-lavdopts <volba1:volba2:...> (DEBUG KÃD)
-Nastavuje parametry dekódovánà pro libavcodec.
-VÃce voleb oddÄlujte dvojteÄkou.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-Dostupné volby jsou:
-.RE
-.RSs
-.IPs bitexact
-Ve vÅ¡ech krocÃch dekódovánà se použijà pouze bit-exact algoritmy (pro testovánÃ
-kodeků).
-.IPs bug=<hodnota>
-Manuálnà korekce chyb enkodéru.
-.RSss
-0: nic
-.br
-1: autodetekce chyb (výchozÃ)
-.br
-2 (msmpeg4v3): nÄkteré starým lavc generované msmpeg4v3 soubory (žádná auto-detekce)
-.br
-4 (mpeg4): Xvid chyba prokládánà (auto-detekováno pokud fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (auto-detekována pokud fourcc==UMP4)
-.br
-16 (mpeg4): chyba vyplÅovánà (padding bug) (auto-detekována)
-.br
-32 (mpeg4): chyba ilegálnà vlc (auto-detekována podle fourcc)
-.br
-64 (mpeg4): Xvid a DivX chyba qpel (auto-detekována podle fourcc/\:verze)
-.br
-128 (mpeg4): stará standardnà qpel (auto-detekována podle fourcc/\:verze)
-.br
-256 (mpeg4): jiná qpel chyba (auto-detekována podle fourcc/\:verze)
-.br
-512 (mpeg4): chyba direct-qpel-blocksize (auto-detekována podle fourcc/\:verze)
-.br
-1024 (mpeg4): chyba edge padding (auto-detekována podle fourcc/\:verze)
-.REss
-.IPs debug=<hodnota>
-Zobrazà ladÃcà informace.
-.RSss
-.br
-0: vypnuto
-.br
-1: informace o obrázku
-.br
-2: ÅÃzenà rychlosti
-.br
-4: bitový proud
-.br
-8: typ makrobloku (MB)
-.br
-16: kvantizaÄnà parametr bloku (QP)
-.br
-32: vektor pohybu
-.br
-0x0040: vizualizace pohybového vektoru (použijte \-noslices)
-.br
-0x0080: pÅeskoÄenà MB
-.br
-0x0100: start kód
-.br
-0x0200: PTS
-.br
-0x0400: odolnost proti chybám
-.br
-0x0800: operace správce pamÄti (H.264)
-.br
-0x1000: chyby
-.br
-0x2000: Vizualizace kvantizaÄnà parametr (QP), nižšà QP je zbarven zelenÄji.
-.br
-0x4000: Vizualizace typů bloků.
-.REss
-.IPs ec=<hodnota>
-Nastavà strategii nápravy chyb.
-.RSss
-1: PoužÃt silný deblok filtr pro poÅ¡kozené MB.
-.br
-2: Opakované vyhledávánà (pomalé) pohybového vektoru (MV)
-.br
-3: vÅ¡e (výchozÃ)
-.REss
-.IPs er=<hodnota>
-Nastavenà strategie odolnosti proti chybám.
-.RSss
-.br
-0: vypnuto
-.br
-1: mÃrná (MÄlo by pracovat s vadnými enkodéry.)
-.br
-2: normálnà (výchozÃ) (Pracuje s vyhovujÃcÃmi enkodéry.)
-.br
-3: agresivnà (VÃce testů, ale může působit problémy i na dobrých proudech.)
-.br
-4: velmi agresivnÃ
-.REss
-.IPs fast (pouze MPEG-2, MPEG-4 a H.264)
-Zapne optimalizace nevyhovujÃcà specifikaci, což může potenciálnÄ způsobit
-problémy jako: zjednoduÅ¡enou dekvantizaci, pÅedpokládané použità výchozÃ
-kvantizaÄnà matice, pÅedpokládaný YUV 4:2:0 a pÅeskoÄenà nÄkolika testů
-detekujÃcÃch poÅ¡kozené bitové proudy.
-.IPs "gray\ "
-dekódovánà pouze ÄernobÃle (o nÄco rychlejšà než barevnÄ)
-.IPs "idct=<0\-99> (viz \-lavcopts)"
-(viz lavcopts)
-Nejlepšà kvality dekódovánà dosáhnete použitÃm stejného IDCT algoritmu jak pro
-dekódovánÃ, tak pro enkódovánÃ.
-OvÅ¡em cenou za to může být vÄrnost.
-.IPs lowres=<ÄÃslo>[,<Å¡>]
-Dekóduje s nižšÃm rozliÅ¡enÃm.
-Dekódovánà pÅi nÃzkém rozliÅ¡enà nenà podporováno vÅ¡emi kodeky a Äasto povede
-k zobrazovánà ošklivých artefaktů.
-To nenà chyba, ale vedlejšà úÄinek nedekódovánà na plné rozliÅ¡enÃ.
-.RSss
-.br
-0: vypnuto
-.br
-1: 1/2 rozliÅ¡enÃ
-.br
-2: 1/4 rozliÅ¡enÃ
-.br
-3: 1/8 rozliÅ¡enÃ
-.REss
-.RS
-Pokud zadáte <Å¡>, bude použito dekódovánà pÅi nÃzkém rozliÅ¡enà pouze pokud je
-Å¡ÃÅka videa vÄtšà nebo rovna <Å¡>.
-.RE
-.IPs "sb=<poÄet> (pouze MPEG-2)"
-PÅeskoÄà zadaný poÄet dolnÃch Åad makrobloků.
-.IPs "st=<poÄet> (pouze MPEG-2)"
-PÅeskoÄà zadaný poÄet hornÃch Åad makrobloků.
-.IPs "skiploopfilter=<skiphodnota> (pouze H.264)"
-Vynechá loop filtr (Äili deblokovánÃ) bÄhem dekódovánà H.264.
-Jelikož filtrovaný snÃmek má být použitý jako referenÄnÃ
-pro dekódovánà závislých snÃmků, má tato volba horšà vliv na kvalitu
-než napÅ.\& nedeblokovánà MPEG-2 videa.
-Ale minimálnÄ pro HDTV s vysokým datovým tokem poskytuje vysoké zrychlenÃ
-bez viditelného zhoršenà kvality.
-.sp 1
-<skiphodnota> může nabývat tÄchto hodnot:
-.RSss
-.br
-none: Nic nevynechává.
-.br
-default: PÅeskoÄà zbyteÄné kroky (napÅ.\& pakety s nulovou délkou v AVI).
-.br
-nonref: PÅeskoÄà snÃmky, které nejsou referovány (Äili nejsou použity pro
-dekódovánà ostatnÃch snÃmků, chyba se nemůže ÅetÄzit).
-.br
-bidir: PÅeskoÄÃ B-Frames.
-.br
-nonkey: PÅeskoÄà vÅ¡echny snÃmky kromÄ klÃÄových.
-.br
-all: PÅeskoÄà vÅ¡echny snÃmky.
-.REss
-.IPs "skipidct=<skiphodnota> (pouze MPEG1/2)"
-PÅeskoÄÃ IDCT krok.
-TémÄÅ ve vÅ¡ech pÅÃpadech velmi snÞà kvalitu
-(viz skiploopfilter pro dostupné skip hodnoty).
-.IPs skipframe=<skiphodnota>
-PÅeskoÄà zcela dekódovánà snÃmků.
-Znamená velké zrychlenÃ, ale trhaný pohyb a obÄas tÄžké artefakty
-(viz skiploopfilter pro dostupné skip hodnoty).
-.IPs "threads=<1\-8> (pouze MPEG-1/2)"
-poÄet vláken použitých pro dekódovánà (výchozÃ: 1)
-.IPs vismv=<hodnota>
-Vizualizuje pohybové vektory.
-.RSss
-.br
-0: vypnuta
-.br
-1: Vizualizace dopÅednÄ predikovaných pohybových vektorů P-snÃmků.
-.br
-2: Vizualizace dopÅednÄ predikovaných pohybových vektorů B-snÃmků.
-.br
-4: Vizualizace zpÄtnÄ predikovaných pohybových vektorů B-snÃmků.
-.REss
-.IPs vstats
-VypÃÅ¡e trochu statistiky a uložà ji do ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-Vypne zobrazovánà videa po ÄtvereÄcÃch 16x16 bodů. MÃsto toho se vykreslà celý
-obrázek v jednom tahu.
-Může to být rychlejšà nebo pomalejšà v závislosti na kartÄ a dostupné
-vyrovnávacà pamÄti.
-Volba je úÄinná pouze s libmpeg2 a libavcodec kodeky.
-.
-.TP
-.B \-nosound
-NepÅehrávat/\:enkódovat zvuk.
-Použitelné pro výkonové testy.
-.
-.TP
-.B \-novideo
-NepÅehrávat/\:enkódovat video.
-V mnoha pÅÃpadech to nebude fungovat, mÃsto toho použijte \-vc null \-vo null.
-.
-.TP
-.B \-pp <kvalita> (viz také volbu \-vf pp)
-Nastavà úroveŠpostprocesingu DLL.
-Tuto volbu již nenà možné použÃt s \-vf pp.
-Pracuje pouze s Win32 DirectShow DLL které majà internà rutiny pro postprocesing.
-Platný rozsah \-pp hodnot závisà na kodeku, zpravidla 0\-6,
-kde 0=vypnuto 6=nejpomalejÅ¡Ã/\:nejlepÅ¡Ã.
-.
-.TP
-.B \-pphelp (viz také volbu \-vf pp)
-VypÃÅ¡e shrnutà dostupných postprocesnÃch filtrů a jejich použitÃ.
-.
-.TP
-.B \-ssf <mód>
-Nastavuje parametry softwarového Å¡kálovaÄe.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-filtr Gaussovo rozostÅenà (luma)
-.IPs cgb=<0\-100>
-filtr Gaussovo rozostÅenà (chroma)
-.IPs ls=<\-100\-100>
-filtr zaostÅenà (luma)
-.IPs cs=<\-100\-100>
-filtr zaostÅenà (chroma)
-.IPs chs=<h>
-chroma horizontálnà posun
-.IPs cvs=<v>
-chroma vertikálnà posun
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <mód>
-Zvolà typ MP2/\:MP3 stereo výstupu.
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-levý kanál
-.IPs 2
-pravý kanál
-.RE
-.PD 1
-.
-.TP
-.B \-sws <typ softwarového Å¡kálovaÄe> (viz také volby \-vf scale a \-zoom)
-Nastavuje algoritmus použitý softwarovým Å¡kálovaÄem pro zpracovánà volby \-zoom.
-To ovlivÅuje výstupnà video rozhranà bez hardwarové akcelerace, napÅ.\& x11.
-.sp 1
-Možná nastavenà jsou:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-rychlý bilineárnÃ
-.IPs 1
-bilineárnÃ
-.IPs 2
-bikubický (dobrá kvalita) (výchozÃ)
-.IPs 3
-experimentálnÃ
-.IPs 4
-nejbližšà okolà (špatná kvalita)
-.IPs 5
-prostorový
-.IPs 6
-luma bikubický / chroma bilineárnÃ
-.IPs 7
-Gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-pÅirozený bikubický spline
-.RE
-.sp 1
-.PD 1
-.I POZNÃMKA:
-NÄkteré \-sws volby lze obrátit.
-VÃce informacà naleznete v popisu video filtru scale.
-.RE
-.
-.TP
-.B \-vc <[\-|+]kodek1,[\-|+]kodek2,...[,]>
-Nastavà seznam video kodeků k použità podle priority, shodnÄ
-s jejich názvy v codecs.conf.
-NapiÅ¡te '\-' pÅed jméno kodeku, který chcete vynechat.
-Použijte '+' pÅed jménem kodeku pro jeho vynucenÃ, což nejspÃÅ¡ skonÄà haváriÃ!
-KonÄÃ-li seznam Äárkou, pak se v pÅÃpadÄ selhánà použijà i kodeky,
-které nejsou na seznamu.
-.br
-.I POZNÃMKA:
-Pomocà \-vc help dostanete seznam dostupných kodeků.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Vynutà Win32/\:VfW DivX kodek, pÅi selhánà skonÄÃ.
-.IPs "\-vc \-divxds,\-divx,"
-PÅeskoÄÃ Win32 DivX kodeky.
-.IPs "\-vc ffmpeg12,mpeg12,"
-Zkusà MPEG-1/2 kodek z libavcodec, potom libmpeg2, nakonec ostatnÃ.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <rodina1,rodina2,...>
-Nastavà seznam rodin video kodeků k použità podle priority, shodnÄ
-s jejich názvy v codecs.conf.
-Pokud žádná nevyhovÃ, použije se výchozà nastavenÃ.
-.br
-.I POZNÃMKA:
-Viz \-vfm help pro úplný seznam dostupných rodin kodeků.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Zkoušà libavcodec, potom DirectShow, potom VFW kodeky a v pÅÃpadÄ Å¾e žádný
-kodek nenà vhodný, zkusà i ostatnÃ.
-.IPs "\-vfm xanim"
-NejdÅÃv zkusà XAnim kodeky.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (viz také volbu \-zoom) (pouze MPlayer)
-Å káluje obraz na Å¡ÃÅku <x> (pokud je k dispozici softwarové nebo hardwarové
-Å¡kálovánÃ).
-VypÃná kalkulaci pomÄru stran.
-.
-.TP
-.B \-xvidopts <volba1:volba2:...>
-Nastavà doplÅkové parametry pro dekódovánà s Xvid.
-.br
-.I POZNÃMKA:
-Protože je libavcodec rychlejšà než Xvid, doporuÄujeme použÃt postprocesnÃ
-filtr (\-vf pp) i dekodér (\-vfm ffmpeg) libavcodecu.
-.sp 1
-Internà postprocesnà filtry Xvidu:
-.PD 0
-.RSs
-.IPs "deblock-chroma (viz také volbu \-vf pp)"
-deblok filtr barevné (chroma) složky
-.IPs "deblock-luma (viz také volbu \-vf pp)"
-deblok filtr jasové (luma) složky
-.IPs "dering-luma (viz také volbu \-vf pp)"
-dering filtr jasové složky
-.IPs "dering-chroma (viz také volbu \-vf pp)"
-dering filtr barevné složky
-.IPs "filmeffect (viz také volbu \-vf noise)"
-PÅidá do videa umÄleckou filmovou zrnitost.
-Může zvýšit vnÃmanou kvalitu, zatÃmco se skuteÄná kvalita snÞÃ.
-.RE
-.sp 1
-.RS
-metody renderovánÃ:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-Aktivuje direct rendering metodu 2.
-.IPs nodr2
-Deaktivuje direct rendering metodu 2.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <hodnota> (viz také volbu \-zoom)
-.PD 0
-.RSs
-.IPs hodnota<=8
-Škáluje obraz násobkem <hodnota>.
-.IPs hodnota>8
-Nastavà šÃÅku na <hodnota> a vypoÄÃtá výšku tak aby zachoval správný pomÄr
-stran.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (viz také volbu \-zoom) (pouze MPlayer)
-Škáluje obraz na výšku <y> (pokud je k dispozici softwarové nebo hardwarové
-Å¡kálovánÃ).
-VypÃná kalkulaci pomÄru stran.
-.
-.TP
-.B "\-zoom\ \ "
-Umožnà softwarové Å¡kálovánÃ, kdykoli je to možné.
-UmožÅuje Å¡kálovat na výstupnà rozhranà (jako x11, fbdev), které nepodporujÃ
-hardwarové Å¡kálovánÃ, u kterých MPlayer vypÃná výchozà škálovánà z výkonových
-důvodů.
-.
-.
-.
-.SH "AUDIO FILTRY"
-Audio filtry umožÅujà mÄnit audio proud a jeho vlastnosti.
-Syntaxe je:
-.
-.TP
-.B \-af <filtr1[=parametr1:parametr2:...],filtr2,...>
-Aktivuje Äárkou oddÄlený seznam audio filtrů.
-.PP
-.I POZNÃMKA:
-Ãplný seznam audio filtrů dostanete zadánÃm volby \-af help.
-.PP
-Dostupné filtry jsou:
-.
-.TP
-.B resample[=vzorkovacÃ_kmitoÄet[:sloppy][:typ]]
-ZmÄnà vzorkovacà kmitoÄet audio proudu.
-Můžete to použÃt když máte zvukovou kartu s pevným vzorkovacÃm kmitoÄtem,
-nebo jestli máte starou zvukovou kartu, která má maximálnà vzorkovacà kmitoÄet
-44.1 kHz.
-Tento filtr je aktivován automaticky podle potÅeby.
-Podporován je pouze celoÄÃselný formát 16-bit a desetinný (float) s nativnÃm
-ÅazenÃm bajtů (endian).
-.br
-.I POZNÃMKA:
-V MEncoderu je nutné použÃt také volbu \-srate <Hz>.
-.PD 0
-.RSs
-.IPs <vzorkovacÃ_kmitoÄet>
-výstupnà vzorkovacà kmitoÄet v Hz.
-Platný rozsah pro tento parametr je 8000 až 192000.
-Pokud je vstupnà a výstupnà vzorkovacà kmitoÄet stejný, nebo hodnota
-nenà uvedena, bude filtr automaticky vyÅazen.
-Vysoký vzorkovacà kmitoÄet obvykle zvyÅ¡uje kvalitu zvuku, zvlášť v kombinaci
-s ostatnÃmi filtry.
-.IPs <sloppy>
-Umožnà (1) nebo znemožnà (0) aby se výstupnà kmitoÄet mÃrnÄ odliÅ¡oval
-od kmitoÄtu zadaného hodnotou <vzorkovacÃ_kmitoÄet> (výchozÃ: 1).
-Můžete to použÃt, pokud je start pÅehrávánà extrémnÄ pomalý.
-.IPs <typ>
-Vybere metodu pÅevzorkovánÃ.
-.RSss
-0: lineárnà interpolace (rychlá, Å¡patná kvalita zvlášť pÅi zvyÅ¡ovánà kmitoÄtu)
-.br
-1: polyfázová filtrbanka s celoÄÃselným zpracovánÃm
-.br
-2: polyfázová filtrbanka s desetinným zpracovánÃm (pomalé, nejlepšà kvalita)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-nastavà výstupnà kmitoÄet resample filtru na 44100Hz pÅi použitÃ
-pÅesného Å¡kálovánà výstupnà frekvence a lineárnà interpolace.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=vkmitoÄet[:délka[:lineár[:poÄet[:stÅih]]]]]
-ZmÄnà vzorkovacà kmitoÄet zvukového proudu na celoÄÃselný <vkmitoÄet> v Hz.
-Podporován je pouze formát 16-bitů nativnÃ-endian.
-.br
-.I POZNÃMKA:
-V MEncoderu je nutné použÃt také volbu \-srate <Hz>.
-.PD 0
-.RSs
-.IPs <vkmitoÄet>
-výstupnà vzorkovacà kmitoÄet
-.IPs <délka>
-délka filtru s ohledem na nižšà vzorkovacà kmitoÄet (výchozÃ: 16)
-.IPs <lineár>
-je-li 1 pak budou filtry lineárnÄ interpolovány mezi polyfázovými
-vstupy
-.IPs <poÄet>
-log2 poÄtu polyfázových vstupů
-(..., 10->1024, 11->2048, 12->4096, ...)
-(výchozÃ: 10->1024)
-.IPs <stÅih>
-meznà kmitoÄet (0.0\-1.0), výchozà nastavenà závisà na délce filtru
-.RE
-.PD 1
-.
-.TP
-.B sweep[=rychlost]
-Provádà sinusové vyhlazovánÃ.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-Sinusová funkce delta, použÃvejte velmi malé hodnoty, abyste slyÅ¡eli vyhlazenÃ.
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=frekv:útlum]
-Odstanà sinusovku zadaného kmitoÄtu.
-Vhodné pro odstranÄnà 50/60Hz ruÅ¡enà na nekvalitnÃm audio zaÅÃzenÃ.
-PravdÄpodobnÄ pracuje pouze na mono vstupu.
-.PD 0
-.RSs
-.IPs <frekv>
-Sinusový kmitoÄet, který má být odstranÄn (v Hz) (výchozÃ: 50)
-.IPs <zpoždÄnÃ>
-Ovládá pÅizpůsobivost (vyššà hodnota umožnà filtru rychlejšà pÅizpůsobenà se
-zmÄnám amplitudy a fáze, nižšà hodnota pÅizpůsobovánà zpomalÃ) (výchozÃ: 0.001).
-Rozumné hodnoty jsou kolem 0.001.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=flag]
-Head-related transfer function(PÅenosová funkce vztažená k hlavÄ): PÅevádÃ
-vÃcekanálový zvuk na 2 kanálový výstup pro sluchátka se zachovánÃm prostorovosti
-zvuku.
-.sp 1
-.PD 0
-.RS
-.IPs "PÅÃznak Význam"
-.IPs "m maticové dekódovánà zadnÃho kanálu"
-.IPs "s dvoukanálové maticové dekódovánÃ"
-.IPs "0 nepoužÃvá se maticové dekódovánà (výchozÃ)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-10 pásmový oktávový grafický ekvalizér, implementovaný pomocà 10 IIR pásmových propustÃ.
-To znamená, že pracuje bez ohledu na typ pÅehrávaného audia.
-StÅednà kmitoÄty jednotlivých propustà jsou:
-.sp 1
-.PD 0
-.RS
-.IPs "ÄÃslo kmitoÄet"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-Pokud je vzorkovacà kmitoÄet pÅehrávaného zvuku nižšà než stÅednÃ
-kmitoÄet propusti, pak bude tato propust vypnuta.
-Známou chybou tohoto filtru je to, že nemá úplnÄ symetrickou pÅenosovou
-charakteristiku nejvyššÃho kanálu, pokud se vzorkovacà kmitoÄet blÞÃ
-stÅednÃmu kmitoÄtu propusti.
-Tento problém může být vyÅeÅ¡en nadvzorkovánÃm zvuku pomocà filtru resample
-pÅedtÃm, než vstoupà do tohoto filtru.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-desetinná ÄÃsla reprezentujÃcà zisk v dB
-pro každé frekvenÄnà pásmo (\-12\-12)
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-ZesÃlà nÃzké a vysoké frekvence zvuku, zatÃmco témÄÅ odstranà pásmo
-okolo 1kHz.
-.RE
-.PD 1
-.
-.TP
-.B channels=poÄet_kanálů[:poÄet:od1:do1:od2:do2:od3:do3:...]
-Může být použit pro pÅidánÃ, odstranÄnÃ, pÅesmÄrovánà a kopÃrovánà zvukových
-kanálů. Pokud je zadán pouze <poÄet_kanálů>, použije se výchozà smÄrovánÃ,
-které pracuje takto: Pokud je poÄet výstupnÃch kanálů vyššà než poÄet
-vstupnÃch, vložà se prázdné kanály (s výjimkou mixovánà z mono na stereo.
-Tady se mono kanál zopakuje do obou výstupnÃch kanálů).
-Pokud je poÄet výstupnÃch kanálů menšà než poÄet vstupnÃch kanálů, pÅebývajÃcÃ
-kanály jsou zahozeny.
-.PD 0
-.RSs
-.IPs <poÄet_kanálů>
-poÄet výstupnÃch kanálů (1\-6)
-.IPs "<poÄet>\ "
-poÄet tras (1\-6)
-.IPs <od1:do1:od2:do2:od3:do3:...>
-Páry ÄÃsel mezi 0 a 5 které definujà kam smÄrovat který kanál.
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-ZmÄnà poÄet kanálů na 4 a nastavà 4 trasy tak, že prohodà kanál 0
-s kanálem 1 a ponechá kanály 2 a 3 beze zmÄny.
-PodotknÄme, že pokud media obsahuje pouze dvoukanálový zvuk, kanály
-2 a 3 budou tiché, ale 0 a 1 budou i tak prohozené.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-ZmÄnà poÄet kanálů na 6 a nastavà 4 trasy, které zkopÃrujà kanál 0 do
-kanálů 0 až 3.
-Kanály 4 a 5 budou tiché.
-.IPs "mplayer \-af channels=6:6:0:4:1:0:2:1:3:2:4:3:5:5 media.avi"
-MÄl by vytvoÅit 6-kanálový ffdca (DTS) výstup správnÄ fungujÃcà s ALSA.
-.RE
-.PD 1
-.
-.TP
-.B format[=format] (viz také \-format)
-Konvertuje různé formáty vzorků mezi sebou.
-Automaticky se zapne, pokud jej vyžaduje zvuková karta nebo jiný filtr.
-.PD 0
-.RSs
-.IPs <format>
-Nastavà požadovaný formát.
-Obecná forma je 'sbe', kde 's' znamená znaménko (buÄ 's' pro "se znaménkem"
-(signed) nebo 'u' pro "bez znaménka" (unsigned)), 'b' oznaÄuje poÄet bitů na
-vzorek (16, 24 nebo 32) a 'e' urÄuje endian ('le' pro little-endian, 'be' pro
-big-endian a 'ne' použije endian poÄÃtaÄe na kterém bÄžà MPlayer).
-Platné hodnoty (spolu s dalÅ¡Ãmi) jsou: 's16le', 'u32be' a 'u24ne'.
-Výjimkou z tohoto pravidla jsou rovnÄž platné oznaÄenà formátů: u8, s8,
-floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 a imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]]
-Implementuje softwarové ovládánà hlasitosti.
-Tento filtr použÃvejte opatrnÄ, protože může snÞit odstup signál-Å¡um zvuku.
-Ve vÄtÅ¡inÄ pÅÃpadů je nejlepšà nastavit PCM zvuk na maximum, nechat tento
-filtr být a ovládat výstupnà hlasitost do reproduktorů pomocà hlavnÃho
-kanálu hlasitosti na smÄÅ¡ovaÄe.
-V pÅÃpadÄ, že má vaÅ¡e zvuková karta digitálnà PCM smÄÅ¡ovaÄ mÃsto analogového
-a slyÅ¡Ãte oÅezánÃ, použijte mÃsto nÄj MASTER smÄÅ¡ovaÄ.
-Pokud je pÅipojen k poÄÃtaÄi externà zesilovaÄ (takto je to témÄÅ vždy),
-můžete minimalizovat Å¡um nastavovánÃm hlavnà hlasitosti a voliÄe
-hlasitosti na zesilovaÄi tak dlouho, dokud nezmizà šumivý zvuk na pozadÃ.
-.br
-Tento filtr má i jinou schopnost: ZmÄÅà maximálnà úroveÅ zvuku v celém
-souboru a vypÃÅ¡e ji pÅi skonÄenà MPlayeru.
-Tato hodnota hlasitosti může být využita pro nastavenà úrovnÄ zvuku
-v MEncoderu, takže může být využit celý dynamický rozsah.
-.br
-.I POZNÃMKA:
-Tento filtr nelze opakovat, proto může být aktivován pouze jednou pro každý
-zvukový proud.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-Nastavà zamýšlený zisk v dB pro všechny kanály v proudu
-od \-200dB do +60dB, kde \-200dB úplnÄ ztlumà zvuk
-a +60dB odpovÃdá tisÃcinásobnému zesÃlenà (výchozÃ: 0).
-.IPs "<sc>\ "
-Zapne (1) nebo vypne (0) jemnou kompresi dynamiky.
-Komprese dynamiky zjemnà zvuk, pokud jsou použity vysoké hodnoty hlasitosti.
-Tuto volbu zapnÄte pokud máte reproduktory s velmi nÃzkým dynamickým rozsahem.
-.br
-.I VAROVÃNÃ:
-Tato vlastnost vytváÅà zkreslenà a mÄla by být považována za poslednà možnost.
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-ZesÃlà zvuk o 10.1dB a tvrdÄ jej omezÃ, pokud je jeho úroveÅ pÅÃliÅ¡ vysoká.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-Volná mixáž kanálů.
-JednoduÅ¡e kombinuje filtry volume a chanels, což můžete použÃt
-k namixovánà mnoha zvukových kanálů do jen nÄkolika, napÅ.\& stereo
-na mono, nebo ke zmÄnÄ "váhy" stÅedového reproduktoru v systému
-surround.
-Tento filtr je tÄžké použÃt a bude potÅeba dost popÅemýšlet než dosáhnete
-zamýšleného výsledku.
-PoÄet parametrů tohoto filtru závisà na poÄtu výstupnÃch kanálů.
-PÅÃklad mixáže Å¡estikanálového zvuku na dvoukanálový pomocà tohoto filtru
-naleznete v sekci pÅÃklady poblÞ konce.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-PoÄet výstupnÃch kanálů (1\-6).
-.IPs <Lij>
-Jak velká Äást hlasitosti vstupnÃho kanálu i je mixována do výstupnÃho kanálu j
-(0\-1).
-Princip nastavenà spoÄÃvá v tom, že nejdÅÃv zadáte n ÄÃsel udávajÃcÃch co dÄlat
-s prvnÃm vstupnÃm kanálem, pak n ÄÃsel pro druhý vstupnà kanál atd.
-Pokud pro nÄkteré vstupnà kanály nezadáte ÄÃsla, pÅedpokládajà se 0.
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-Namixuje stereo zvuk na mono.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-Poskytne tÅÃkanálový zvuk tak, že nechá kanály 0 a 1 beze zmÄn
-a namixuje kanály 0 a 1 do kanálu 2 (ten může být poslán napÅÃklad do
-subwooferu).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-PÅidá kanál pro subwoofer do audio proudu.
-Audio data použitá pro vytvoÅenà kanálu subwooferu jsou průmÄrem kanálů 0 a 1.
-Výsledný zvuk je poslán do dolnà propusti provedené ÄtyÅnásobným
-Butterworth filtrem s výchozÃm meznÃm kmitoÄtem 60Hz
-a pÅidán do oddÄleného kanálu zvukového proudu.
-.br
-.I VAROVÃNÃ:
-VypnÄte tento filtr pÅi pÅehrávánà DVD s Dolby
-Digital 5.1 zvukem, jinak tento filtr zniÄÃ zvuk pro subwoofer.
-.PD 0
-.RSs
-.IPs "<fc>\ "
-meznà kmitoÄet pro dolnà propust (20Hz až 300Hz) (výchozÃ: 60Hz)
-Pro nejlepšà výsledky nastavujte meznà kmitoÄet co nejnÞe.
-Vylepšà to zkušenost se stereo nebo surround zvukem.
-.IPs "<ch>\ "
-Nastavà ÄÃslo kanálu do kterého bude vložen zvuk pro subwoofer.
-ÄÃslo kanálu muže být mezi 0 a 5 (výchozÃ: 5).
-VÅ¡imnÄte si, že je poÄet kanálů automaticky zvýšen na <ch> podle potÅeby.
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-PÅidá kanál pro subwoofer s meznÃm kmitoÄtem 100 Hz do výstupnÃho kanálu 4.
-.RE
-.PD 1
-.
-.TP
-.B "center\ "
-VytvoÅà stÅednà kanál za zadnÃch kanálů. V souÄasnosti může mÃt nÃzkou kvalitu,
-jelikož zatÃm neimplementuje hornà propust pro správnou extrakci, ale mÃsto toho
-průmÄruje a půlà kanály.
-.PD 0
-.RSs
-.IPs "<k>\ "
-UrÄà ÄÃslo kanálu, do kterého se vložà stÅednà kanál.
-ÄÃslo kanálu může být mezi 0 a 5 (výchozÃ: 5).
-PoÄet kanálů se automaticky zvýšà na <k> podle potÅeby.
-.RE
-.PD 1
-.
-.TP
-.B surround[=zpoždÄnÃ]
-Dekodér pro maticovÄ kódovaný surround zvuk jako je Dolby Surround.
-Mnoho dvoukanálových zvuků může obsahovat maticový surround zvuk.
-Vyžaduje zvukovou kartu s alespoŠ4 kanály.
-.PD 0
-.RSs
-.IPs <zpoždÄnÃ>
-zpoždÄnà v ms pro zadnà reproduktory (0 až 1000) (výchozÃ: 20)
-ZpoždÄnà by mÄlo být nastaveno následovnÄ: Pokud je d1 vzdálenostà mÃsta
-poslechu od pÅednÃch reproduktorů a d2 vzdálenostà mÃsta poslechu od zadnÃch
-reproduktorů, pak by <zpoždÄnÃ> mÄlo být nastaveno na 15 (15 ms) pokud
-d1 <= d2 a na 15 + 5*(d1-d2) pokud d1 > d2.
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-PÅidá dekódovánà surround zvuku se zpoždÄnÃm 15 ms pro zvuk zadnÃch
-reproduktorů.
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-Zpozdà zvuk do reproduktorů tak, aby zvuk z různých kanálů dorazil
-k posluchaÄi ve stejnou dobu.
-Tato volba je užiteÄná pouze pokud máte vÃce než dva reproduktory.
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-ZpoždÄnà v ms které by mÄlo být vloženo do jednotlivých kanálů
-(desetinné ÄÃslo mezi 0 a 1000).
-.RE
-.PD 1
-.sp 1
-.RS
-Kalkulaci potÅebného zpoždÄnà různých kanálů provedete takto:
-.IP 1. 3
-ZmÄÅte vzdálenosti k reproduktorům v metrech z mÃsta poslechu, ÄÃmž
-dostanete vzdálenosti s1 až s5 (pro systém 5.1).
-Nenà důvod kompenzovat subwoofer (rozdÃl byste stejnÄ neslyÅ¡eli).
-.IP 2. 3
-PÅiÅaÄte vzdálenosti s1 až s5 od nejdelÅ¡Ã, Äili
-s[i] = max(s) - s[i]; i = 1...5.
-.IP 3.
-VypoÄtÄte nutná zpoždÄnà v ms jako d[i] = 1000*s[i]/342; i = 1...5.
-.RE
-.PD 0
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-Zpozdà levý Äelnà a pravý o 10.5 ms, oba zadnà kanály a subwoofer
-o 0 ms a stÅednà reproduktor o 7 ms.
-.RE
-.PD 1
-.
-.TP
-.B export[=mmap_soubor[:pvzorků]]
-Exportuje vstupnà signál jiným procesům pomocà mapovánà pamÄti (mmap()).
-Mapované pamÄÅ¥ové oblasti obsahujà hlaviÄku:
-.sp 1
-.nf
-int nch /*poÄet kanálů*/
-int size /*velikost bufferu*/
-unsigned long long counter /*Použitý pro udržovánà synchronizace,
- updatován po každém exportu dat.*/
-.fi
-.sp 1
-Zbytek je využitý (neprokládanými) 16 bitovými daty.
-.PD 0
-.RSs
-.IPs <mmap_soubor>
-soubor do kterého se majà data mapovat
-(výchozÃ: ~/.mplayer/\:mplayer-af_export).
-.IPs <pvzorků>
-poÄet vzorků na kanál (výchozÃ: 512)
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-Vyexportuje 1024 vzorků na kanál do '/tmp/mplayer-af_export'.
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-(LineárnÄ) zvÄtÅ¡uje rozdÃl mezi pravým a levým kanálem, což dodá urÄitý druh "live"
-efektu pÅi pÅehrávánÃ.
-.PD 0
-.RSs
-.IPs <mul>
-Nastavà rozdÃlový koeficient (výchozÃ: 2.5).
-0.0 znamená mono zvuk (průmÄr obou kanálů), pÅi 1.0 bude zvuk beze zmÄn,
-pÅi \-1.0 budou levý a pravý kanál prohozeny.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=metoda:cÃl]
-Maximalizuje hlasitost bez zkreslenà zvuku.
-.PD 0
-.RSs
-.IPs <metoda>
-Nastavà použÃvanou metodu.
-.RSss
-1: PoužÃvá jeden vzorek pro vyhlazenà zmÄn pomocà standardnÃho váženého
-průmÄru z pÅedchozÃch vzorků (výchozÃ).
-.br
-2: PoužÃvá nÄkolik vzorků pro vyhlazenà zmÄn pomocà standardnÃho váženého
-průmÄru z pÅedchozÃch vzorků (výchozÃ).
-.REss
-.IPs <cÃl>
-Nastavà cÃlovou amplitudu jako podÃl maxima daného typu vzorku
-(výchozÃ: 0.25).
-.RE
-.PD 1
-.
-.TP
-.B ladspa=soubor:název[:voliÄe...]
-Nahraje LADSPA (Linux Audio Developer's Simple Plugin API) plugin.
-Tento filtr lze ÅetÄzit, lze tedy použÃt nÄkolik LADSPA pluginů najednou.
-.PD 0
-.RSs
-.IPs <soubor>
-Nastavà soubor s knihovnou LADSPA pluginů.
-Pokud je nastavena LADSPA_PATH, je použita pro hledánà uvedeného souboru.
-Pokud nenà nastavena, musÃte uvést úplnou cestu k souboru.
-.IPs <název>
-Nastavà jméno filtru v knihovnÄ.
-NÄkteré knihovny obsahujà jen jeden filtr, jiné jich obsahujà mnoho.
-Zadáte-li zde 'help', vypÚà se vÅ¡echny filtry z uvedené knihovny, což
-eliminuje použità 'listplugins' z LADSPA SDK.
-.IPs <voliÄe>
-VoliÄe jsou nula nebo vÃce desetinných ÄÃsel, ovlivÅujÃcÃch chovánà nahraného
-pluginu (napÅÃklad zpoždÄnà (delay), práh (threshold) nebo zisk (gain)).
-V upovÃdaném režimu (pÅidejte \-v mezi volby MPlayerova pÅÃkazového Åádku)
-budou vypsány vÅ¡echny dostupné voliÄe a jejich výchozà hodnoty.
-To eliminuje použità 'analyseplugin' z LADSPA SDK.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-Filtr Kompresor/expander použitelný pro mikrofonnà vstup.
-PotlaÄuje zkreslenà velmi hlasitých zvuků a zvyÅ¡uje hlasitost velmi tichých
-zvuků.
-Tento filtr je netestován, možná dokonce nepoužitelný.
-.
-.TP
-.B "gate\ \ \ "
-Filtr Noise gate podobný zvukovému filtru comp.
-Tento filtr je netestován, možná dokonce nepoužitelný.
-.
-.TP
-.B karaoke
-Jednoduchý filtr pro odstranÄnà hlasu využÃvajÃcà fakt, že hlasy
-je obvykle zaznamenány v mono a pozdÄji 'centrálnÄ' mixovány do
-finálnÃho zvuku.
-Pamatujte, že tento filtr pÅevede signál na mono.
-Pracuje dobÅe pro dvoukanálové stopy; nenamáhejte se jej
-zkouÅ¡et na nÄÄem jiném než dvoukanálovém stereu.
-.
-.
-.
-.SH "VIDEO FILTRY"
-Video filtry umožÅujà upravovat video proud a jeho vlastnosti.
-Syntax je:
-.
-.TP
-.B \-vf <filtr1[=parametr1:parametr2:...],filtr2,...>
-Nastavà ÅetÄz video filtrů.
-.PP
-Mnoho parametrů je volitelných. Pokud je vynecháte, budou nastaveny
-na výchozà hodnoty.
-Použijte '\-1' pro naÅÃzenà použità výchozà hodnoty.
-Parametry w:h znamenajà šÃÅku krát výšku v pixelech, x:y znamenajà pozici x;y
-vztaženou k levému hornÃmu rohu obrazu.
-.br
-.I POZNÃMKA:
-Ãplný seznam video filtrů dostanete pomocà \-vf help.
-.sp 1
-Video filtry jsou organizovány a ovládány v seznamech.
-Zde je nÄkolik pÅÃkazů pro práci se seznamem filtrů.
-.
-.TP
-.B \-vf\-add <filtr1[,filtr2,...]>
-PÅidá filtry zadané jako parametry do seznamu filtrů.
-.
-.TP
-.B \-vf\-pre <filtr1[,filtr2,...]>
-PÅidá zadané filtry na zaÄátek seznamu filtrů.
-.
-.TP
-.B \-vf\-del <index1[,index2,...]>
-Vymaže filtry na zadaných pozicÃch.
-ÄÃslovánà indexu zaÄÃná nulou, záporné hodnoty adresujà konec seznamu
-(\-1 je poslednà položka).
-.
-.TP
-.B \-vf\-clr
-ÃplnÄ vyprázdnà seznam filtrů.
-.PP
-Filtrům, které to podporujÃ, můžete zadat parametry za jejich jménem.
-.
-.TP
-.B \-vf <filtr>=help
-VypÃÅ¡e názvy parametrů a rozsah jejich hodnot pro konkrétnà filtr.
-.
-.TP
-.B \-vf <filtr=pojmenovaný_parametr1=hodnota1[:pojmenovaný_parametr2=hodnota2:...]>
-Nastavà hodnoty pojmenovaných parametrů.
-Použijte on a off nebo yes a no pro nastavenà pÅÃznaků.
-.PP
-Dostupné filtry jsou:
-.
-.TP
-.B crop[=w:h:x:y]
-VyÅÃzne vyznaÄenou Äást obrazu, ostatnà zahodÃ.
-Použitelné pro odstranÄnà Äerných pruhů ze Å¡irokoúhlých filmů.
-.PD 0
-.RSs
-.IPs <w>,<h>
-OÅezaná Å¡ÃÅka a výška, výchozà jsou originálnà rozmÄry.
-.IPs <x>,<y>
-Pozice umÃstÄnà oÅÃznutého obrázku, výchozà je stÅed obrazu.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=limit:obvod]
-VypoÄÃtá potÅebné parametry oÅezu a vypÃÅ¡e je na std. výstup.
-.PD 0
-.RSs
-.IPs <limit>
-Práh, který může být volitelnÄ nastaven od 0 (nic) do 255 (vÅ¡e) (výchozÃ: 24).
-.br
-.IPs <obvod>
-Hodnota udává jaká Å¡ÃÅka/\:výška by mÄla být vidÄt (výchozÃ: 16).
-PÅesah je automaticky nastaven na stÅed videa.
-Zvolte 2 chcete-li pouze sudé rozmÄry (nutné pro 4:2:2 video).
-16 je nejlepšà pro enkódovánà vÄtÅ¡inou video kodeků.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=w:h:x:y]
-Tento plugin zachytává input.conf direktivu 'change_rectangle'
-která má dva parametry.
-.PD 0
-.RSs
-.IPs <w>,<h>
-Å¡ÃÅka a výška (výchozÃ: \-1, maximálnà šÃÅka kdy jsou hranice jeÅ¡tÄ viditelné)
-.IPs <x>,<y>
-pozice od levého hornÃho rohu (výchozÃ: \-1, levý hornà roh)
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-ZvÄtšà (neÅ¡káluje) obraz na zadanou hodnotu a umÃstà nezmÄnÄný originál
-na souÅadnice x, y.
-použÃvá se pro umÃstÄnà titulků a OSD do výsledných Äerných okrajů.
-.RSs
-.IPs <w>,<h>
-Výsledná Å¡ÃÅka,výška (výchozÃ: originálnà šÃÅka,výška).
-Záporné hodnoty pro w a h jsou považovány za pÅesahy (offsety) originálnÃch
-velikostÃ.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-PÅidá okraj Å¡iroký 50 pixelů na spodek obrázku.
-.RE
-.PD 1
-.IPs <x>,<y>
-pozice originálu v rozÅ¡ÃÅeném obrázku (výchozÃ: stÅed)
-.IPs "<o>\ \ "
-renderovánà OSD/\:titulků
-.RSss
-0: vypnuto (výchozÃ)
-.br
-1: zapnuto
-.REss
-.IPs "<a>\ \ "
-Expanduje tak aby odpovÃdal pomÄru stran, mÃsto rozliÅ¡enà (výchozÃ: 0).
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-Expanduje na 800x600, pokud nemá zdroj vyššà rozliÅ¡enÃ, v tom pÅÃpadÄ
-expanduje tak, aby dosáhl pomÄru stran 4/3.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Zaokrouhluje tak, aby byla jak výška, tak Å¡ÃÅka beze zbytku dÄlitelná <r>
-(výchozÃ: 1).
-.RE
-.
-.TP
-.B flip (viz také volbu \-flip)
-PÅevrátà obraz vzhůru nohama.
-.
-.TP
-.B "mirror\ "
-PÅevrátà obraz podle osy Y.
-.
-.TP
-.B rotate[=<0\-7>]
-OtáÄà obraz po 90 stupnÃch a volitelnÄ jej pÅevrátÃ.
-PÅi hodnotách mezi 4\-7 je otoÄenà provedeno pouze pokud je obraz na výšku
-nikoli na Å¡ÃÅku.
-.RSs
-.IPs 0
-OtoÄà obraz o 90 stupÅů po smÄru hodinových ruÄiÄek a pÅevrátà jej (výchozÃ).
-.IPs 1
-OtoÄà obraz o 90 stupÅů po smÄru hodinových ruÄiÄek.
-.IPs 2
-OtoÄà obraz o 90 stupÅů proti smÄru hodinových ruÄiÄek.
-.IPs 3
-OtoÄà obraz o 90 stupÅů proti smÄru hodinových ruÄiÄek a pÅevrátà jej.
-.RE
-.
-.TP
-.B scale[=š:v[:proklad[:odbar[:par[par2[:pevná[:noup[:arnd]]]]]]]]
-Å káluje obraz pomocà (pomalého) softwarového Å¡kálovaÄe a provádà konverzi
-barevného prostoru YUV<\->RGB (viz také volbu \-sws).
-.RSs
-.IPs <Å¡>,<v>
-výsledná Å¡ÃÅka/výška (výchozÃ: originálnà šÃÅka/\:výška)
-.br
-.I POZNÃMKA:
-Použijete-li \-zoom, a podkladové filtry (vÄetnÄ libvo) nejsou schopny
-Å¡kálovat, pÅenastavà se na d_Å¡ÃÅku/\:d_výšku!
-.RSss
- 0: naÅ¡kálovaná d_Å¡ÃÅka/\:d_výška
-.br
-\-1: originálnà šÃÅka/\:výška
-.br
-\-2: VypoÄÃtá Å¡/v pomocà druhého rozmÄru a pÅedÅ¡kálovaného pomÄru stran.
-.br
-\-3: VypoÄÃtá Å¡/v pomocà druhého rozmÄru a původnÃho pomÄru stran.
-.br
--(n+8): Jako výše uvedené -n, ale zaokrouhlà rozmÄr na nejbližšà násobek 16.
-.REss
-.IPs <proklad>
-PÅepÃná prokládané Å¡kálovánÃ.
-.RSss
-0: vypnuto (výchozÃ)
-.br
-1: zapnuto
-.REss
-.IPs <odbar>
-ignorovánà barevné informace
-.RSss
-0: PoužÃvat barvy ze vÅ¡ech Åádků.
-.br
-1: PoužÃvat barvy pouze z každého 2. Åádku.
-.br
-2: PoužÃvat barvy pouze z každého 4. Åádku.
-.br
-3: PoužÃvat barvy pouze z každého 8. Åádku.
-.REss
-.IPs "<par>[:<par2>] (viz také volbu \-sws)"
-Nastavenà nÄkterých parametrů v závislosti na typu Å¡kálovaÄe nastaveném
-pomocà \-sws.
-.RSss
-\-sws 2 (bikubické): B (rozostÅenÃ) a C (kroužkovánÃ)
-.br
-0.00:0.60 výchozÃ
-.br
-0.00:0.75 odpovÃdá "precise bicubic" z VirtualDubu
-.br
-0.00:0.50 Catmull-Rom spline
-.br
-0.33:0.33 Mitchell-Netravali spline
-.br
-1.00:0.00 kubická B-spline
-.br
-\-sws 7 (Gauss): ostÅenà (0 (jemné) \- 100 (ostré))
-.br
-\-sws 9 (lanczos): délka filtru (1\-10)
-.REss
-.IPs <pevná>
-Å káluje na pÅednastavený rozmÄr.
-.RSss
-qntsc: 352x240 (NTSC Ätvrtina obrazu)
-.br
-qpal: 352x288 (PAL Ätvrtina obrazu)
-.br
-ntsc: 720x480 (standard NTSC)
-.br
-pal: 720x576 (standard PAL)
-.br
-sntsc: 640x480 (square pixel NTSC)
-.br
-spal: 768x576 (square pixel PAL)
-.REss
-.IPs <noup>
-Znemožnà zvÄtÅ¡enà pÅesahujÃcà původnà rozmÄry.
-.RSss
-0: Umožnà zvÄtÅ¡enà (výchozÃ).
-.br
-1: Znemožnà zvÄtÅ¡enÃ, pokud jedna ze stran pÅesáhne původnà hodnotu.
-.br
-2: Znemožnà zvÄtÅ¡enÃ, pokud obÄ ze stran pÅesáhnou svou původnà hodnotu.
-.REss
-.IPs <arnd>
-PÅesné zaokrouhlovánà vertikálnÃho Å¡kálovaÄe, což může být rychlejÅ¡Ã
-nebo pomalejšà než výchozà zaokrouhlenÃ.
-.RSss
-0: Vypnuto pÅesné zaokrouhlovánà (výchozÃ).
-.br
-1: Zapnuto pÅesné zaokrouhlovánÃ.
-.REss
-.RE
-.
-.TP
-.B dsize[=pomÄr_stran|w:h:metoda:r]
-ZmÄnà zamýšlený rozmÄr/\:pomÄr_stran obrazovky v daném bodÄ ÅetÄzce filtrů.
-PomÄr stran může být zadán jako zlomek (4/\:3) nebo desetinné ÄÃslo (1.33).
-AlternativnÄ můžete zadat pÅÃmo požadovanou Å¡ÃÅku a výšku obrazu.
-Tento filtr sám o sobÄ
-.B neškáluje
-; pouze ovlivnà chovánà pozdÄjÅ¡Ãch Å¡kálovaÄů
-(softwarových nebo hardwarových) pÅi auto-Å¡kálovanà na správný pomÄr stran.
-.RSs
-.IPs <w>,<h>
-Nová Å¡ÃÅka a výška zobrazovaÄe.
-Může nabývat také tÄchto speciálnÃch hodnot:
-.RSss
- 0: původnà šÃÅka a výška zobrazovaÄe
-.br
-\-1: původnà šÃÅka a výška videa (výchozÃ)
-.br
-\-2: VypoÄÃtá w/h pomocà druhého rozmÄru a původnÃho pomÄru stran
-zobrazovaÄe.
-.br
-\-3: VypoÄÃtá w/h pomocà druhého rozmÄru a původnÃho pomÄru stran
-videa.
-.REss
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IP dsize=800:\-2
-Nastavà rozliÅ¡enà zobrazenà na 800x600 pro video s pomÄrem stran 4/3, nebo
-800x450 pro video s pomÄrem stran 16/9.
-.RE
-.IPs <metoda>
-Upravà šÃÅku a výšku podle původnÃho pomÄru stran.
-.RSss
-\-1: Ignoruje původnà pomÄr stran (výchozÃ).
-.br
- 0: Ponechá pomÄr stran zobrazovaÄe, s použitÃm <w> a <h> jako maximálnÃ
-rozliÅ¡enÃ.
-.br
- 1: Ponechá pomÄr stran zobrazovaÄe, s použitÃm <w> a <h> jako minimálnÃ
-rozliÅ¡enÃ.
-.br
- 2: Ponechá pomÄr stran videa, s použitÃm <w> a <h> jako maximálnÃ
-rozliÅ¡enÃ.
-.br
- 3: Ponechá pomÄr stran videa, s použitÃm <w> a <h> jako minimálnÃ
-rozliÅ¡enÃ.
-.REss
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-Nastavà rozliÅ¡enà zobrazovaÄe na maximálnÄ 800x600, nebo menÅ¡Ã, aby zůstal
-zachován pomÄr stran.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Zaokrouhlà nahoru na násobek <r> (výchozÃ: 1).
-.RE
-.
-.TP
-.B "yuy2\ \ \ "
-Vynutà softwarovou konverzi YV12/\:I420/\:422P na YUY2.
-Použitelné pro video karty/\:rozhranàs pomalým YV12 ale rychlým YUY2.
-.
-.TP
-.B "yvu9\ \ \ "
-Vynutà softwarovou YVU9 do YV12 konverzi barevného prostoru.
-Nahrazeno pomocà softwarového Å¡kálovaÄe.
-.
-.TP
-.B "yuvcsp\ "
-PÅizpůsobà YUV barevné hodnoty rozsahu CCIR 601 bez provedenà skuteÄné konverze.
-.
-.TP
-.B rgb2bgr[=swap]
-Konverze barevného prostoru: RGB 24/32 <\-> BGR 24/32.
-.PD 0
-.RSs
-.IPs "swap\ "
-RovnÄž zajišťuje zámÄnu R <-> B.
-.RE
-.PD 1
-.
-.TP
-.B palette
-Konverze barevného prostoru RGB/BGR 8 \-> 15/16/24/32bpp za použitÃ
-palety.
-.
-.TP
-.B format[=fourcc]
-Omezà barevný prostor pro následujÃcà filtr bez provedenà konverze.
-Chcete-li provést opravdovou konverzi, použijte v kombinaci s filtrem scale.
-.br
-.I POZNÃMKA:
-Seznam dostupných formátů zÃskáte pomocà format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-jméno formátu jako rgb15, bgr24, yv12, atd (výchozÃ: yuy2)
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-Omezà barevný prostor pro následujÃcà filtr bez provedenà konverze.
-Na rozdÃl od filtru formát, tato volba umožÅuje jakýkoliv barevný prostor
-.B kromÄ
-toho který zadáte.
-.br
-.I POZNÃMKA:
-Seznam dostupných formátů zÃskáte pomocà noformat=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-jméno formátu jako rgb15, bgr24, yv12, atd (výchozÃ: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=filtr1[:volba1[:volba2...]]/[\-]filtr2...] (viz také volbu \-pphelp)
-ZapÃná uvedený ÅetÄzec postprocesnÃch filtrů.
-Filtry musà být oddÄleny '/' a mohou být vypnuty použitÃm '\-'.
-Každý podfiltr a nÄkteré volby majà jak krátký, tak dlouhý název, které mohou
-být zamÄÅovány. NapÅÃklad dr/dering jsou stejné.
-VÅ¡echny podfiltry sdÃlejà spoleÄné volby vymezujÃcà jejich působnost:
-.PD 0
-.RSs
-.IPs a/autoq
-Automaticky vypne filtr pokud je procesor pÅÃliÅ¡ pomalý.
-.IPs c/chrom
-Provádà také filtrovánà barevné složky (chrominance)(výchozÃ).
-.IPs y/nochrom
-Provádà filtrovánà pouze jasové (ÄernobÃlé) složky (nikoli barvonosné).
-.IPs n/noluma
-Provádà filtrovánà pouze barvonosné složky (nikoli jasové).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I POZNÃMKA:
-\-pphelp zobrazà seznam dostupných filtrů.
-.sp 1
-Dostupné podfiltry jsou
-.RE
-.RSs
-.IPs hb/hdeblock[:rozdÃl[:plochost]]
-horizontálnà deblokovacà filtr
-.RSss
-<rozdÃl>: RozdÃlová faktor kde vyššà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 32).
-.br
-<plochost>: Práh plochosti kde nižšà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 39).
-.REss
-.IPs vb/vdeblock[:rozdÃl[:plochost]]
-vertikálnà deblokovacà filtr
-.RSss
-<rozdÃl>: RozdÃlová faktor kde vyššà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 32).
-.br
-<plochost>: Práh plochosti kde nižšà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 39).
-.REss
-.IPs ha/hadeblock[:rozdÃl[:plochost]]
-vážený horizontálnà deblokovacà filtr
-.RSss
-<rozdÃl>: RozdÃlová faktor kde vyššà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 32).
-.br
-<plochost>: Práh plochosti kde nižšà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 39).
-.REss
-.IPs va/vadeblock[:rozdÃl[:plochost]]
-vážený vertikálnà deblokovacà filtr
-.RSss
-<rozdÃl>: RozdÃlová faktor kde vyššà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 32).
-.br
-<plochost>: Práh plochosti kde nižšà hodnoty znamenajà vÃce deblokovánÃ
-(výchozÃ: 39).
-.REss
-.sp 1
-Horizontálnà a vertikálnà deblokovacà filtr sdÃlejà hodnoty rozdÃlu a
-plochosti, takže nelze nastavit rozdÃlné horizontálnà a vertikálnà prahy.
-.sp 1
-.IPs h1/x1hdeblock
-experimentálnà horizontálnà deblokovacà filtr
-.IPs v1/x1vdeblock
-experimentálnà vertikálnà deblokovacà filtr
-.IPs dr/dering
-kroužkový filtr
-.IPs tn/tmpnoise[:práh1[:práh2[:práh3]]]
-omezovaÄ promÄnného Å¡umu
-.RSss
-<práh1>: vyššà -> silnÄjšà filtrovánÃ
-.br
-<práh2>: vyššà -> silnÄjšà filtrovánÃ
-.br
-<práh3>: vyššà -> silnÄjšà filtrovánÃ
-.REss
-.IPs al/autolevels[:f/fullyrange]
-automatická korekce jasu / kontrastu
-.RSss
-f/fullyrange: Roztáhnout jasovou složku na (0\-255).
-.REss
-.IPs lb/linblenddeint
-Lineárnà smÄÅ¡ovacà filtr prokladu odstraÅuje proklad daného bloku
-filtrovánÃm vÅ¡ech Åádků pomocà (1 2 1) filtru.
-.IPs li/linipoldeint
-Lineárnà interpolaÄnà filtr prokladu odstraÅuje proklad daného bloku
-lineárnà interpolacà každého druhého Åádku.
-.IPs ci/cubicipoldeint
-Kubický interpolaÄnà filtr prokladu odstraÅuje proklad daného bloku
-prostorovou interpolacà každého druhého Åádku.
-.IPs md/mediandeint
-Mediánový filtr prokladu odstraÅuje proklad daného bloku
-použitÃm mediánového filtru na každý druhý Åádek.
-.IPs fd/ffmpegdeint
-FFmpeg filtr prokladu odstraÅuje proklad daného bloku
-filtrovánÃm každého druhého Åádku pomocà (\-1 4 2 4 \-1) filtru.
-.IPs l5/lowpass5
-VertikálnÄ provedený FIR lowpass filtr prokladu odstraÅuje proklad
-daného bloku filtrovánÃm vÅ¡ech Åádků pomocà (\-1 2 6 2 \-1) filtru.
-.IPs fq/forceQuant[:kvantizer]
-Nahradà tabulku kvantizerů ze vstupu pevným, vámi zadaným, kvantizerem.
-.RSss
-<kvantizer>: požadovaný kvantizer
-.REss
-.IPs de/default
-výchozà kombinace pp filtrů (hb:a,vb:a,dr:a)
-.IPs fa/fast
-rychlá kombinace pp filtrů (h1:a,v1:a,dr:a)
-.IPs "ac\ \ \ "
-pp filtr vysoké kvality, kombinace (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/\:vb/\:dr/\:al"
-horizontálnà a vertikálnà deblokovánÃ, dering a automatický jas/\:kontrast
-.IPs "\-vf pp=de/\:-al"
-pÅednastavené filtry bez korekce jasu/\:kontrastu
-.IPs "\-vf pp=default/\:tmpnoise:1:2:3"
-Zapne pÅednastavené filtry a filtr zrnÄnà (promÄnný Å¡um).
-.IPs "\-vf pp=hb:y/\:vb:a \-autoq 6"
-HorizontálnÄ deblokuje pouze luminanci a zapÃná nebo vypÃná vertikálnÃ
-deblokovánà podle dostupného výkonu CPU.
-.RE
-.PD 1
-.
-.TP
-.B spp[=kvalita[:qp[:režim]]]
-Jednoduchý postprocesnà filtr, který komprimuje a dekomprimuje obrázek
-s posunem nÄkolika (nebo \- v pÅÃpadÄ kvality úrovnÄ 6 \- vÅ¡emi) smÄry a
-zprůmÄruje výsledky.
-.RSs
-.IPs <kvalita>
-0\-6 (výchozÃ: 3)
-.IPs "<qp>\ "
-Vynutà kvantizaÄnà parametr (výchozÃ: 0, použije QP z videa).
-.IPs <režim>
-0: ostrý práh (výchozÃ)
-.br
-1: jemný práh (lepšà dering, ale rozmazanÄjÅ¡Ã)
-.br
-4: jako 0, ale použijà se také B-snÃmky' QP (může způsobit cukánÃ)
-.br
-5: jako 1, ale použijà se také B-snÃmky' QP (může způsobit cukánÃ)
-.RE
-.
-.TP
-.B uspp[=kvalita[:qp]]
-Ultra jednoduchý & pomalý postprocesnà filtr, který komprimuje a
-dekomprimuje obraz s posunem nÄkolika (nebo \- v pÅÃpadÄ kvality úrovnÄ
-8 \- vÅ¡emi) smÄry a zprůmÄruje výsledky.
-Volba se lišà od spp v tom, že pro komprimaci a dekomprimaci použÃvá Snow z
-libavcodec, zatÃmco spp použÃvá zjednoduÅ¡enou pouze intra 8x8 DCT podobnÄ
-jako MJPEG.
-.RSs
-.IPs <kvalita>
-0\-8 (výchozÃ: 3)
-.IPs "<qp>\ "
-Vynutà kvantizaÄnà parametr (výchozÃ: 0, použije QP z videa).
-.RE
-.
-.TP
-.B fspp[=kvalita[:qp[:sÃla[:bsnÃmky]]]]
-rychlejšà verze jednoduchého postprocesnÃho filtru
-.RSs
-.IPs <kvalita>
-4\-5 (odpovÃdá spp; výchozÃ: 4)
-.IPs "<qp>\ "
-Vynutà kvantizaÄnà parametr (výchozÃ: 0, použije QP z videa).
-.IPs <\-15\-32>
-SÃla filtru, nižšà hodnoty zachovajà vÃce detailů, ale také vÃce artefaktů,
-zatÃmco vyššà hodnoty uÄinà obraz hladÅ¡Ãm, ale i rozmazanÄjÅ¡Ãm (výchozÃ:
-0 \- PSNR optimálnÃ).
-.IPs <bsnÃmky>
-0: nepoužÃvat QP z B-snÃmků (výchozÃ)
-.br
-1: použÃvat také QP z B-snÃmků (může způsobit cukánÃ)
-.RE
-.
-.TP
-.B pp7[=qp[:režim]]
-Varianta spp filtru podobná spp=6 se 7 bodovým DCT, kde je
-použitý jen stÅednà vzorek po IDCT.
-.RSs
-.IPs "<qp>\ "
-Vynutà kvantizaÄnà parametr (výchozÃ: 0, použije QP z videa).
-.IPs <mode>
-0: hard thresholding
-.br
-1: soft thresholding (lepšà odkroužkovánÃ, ale rozmazanÄjÅ¡Ã)
-.br
-2: medium thresholding (výchozÃ, dobré výsledky)
-.RE
-.
-.TP
-.B qp=rovnice
-filtr pro zmÄnu kvantizaÄnÃho parametru (QP)
-.RSs
-.IPs <rovnice>
-nÄjaká rovnice napÅ. "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B geq=rovnice
-filtr pro zmÄnu generické rovnice
-.RSs
-.IPs <rovnice>
-NÄjaká rovnice, napÅ.\& 'p(W-X\\,Y)' pro horizontálnà pÅeklopenà obrazu.
-Můžete použÃvat mezery pro lepšà Äitelnost rovnice.
-Zde máte nÄkolik konstant, které můžete využÃt v rovnici:
-.RSss
-PI: konstanta pÃ
-.br
-E: konstanta e
-.br
-X / Y: koordináty aktuálnÃho vzorku
-.br
-W / H: Å¡ÃÅka a výška obrázku
-.br
-SW / SH: Å¡ÃÅková/výšková Å¡kála závislá na aktuálnÄ filtrovaném polÃÄku,
-napÅ.\& 1,1 a 0.5,0.5 pro YUV 4:2:0.
-.br
-p(x,y): vracà hodnotu pixelu na souÅadnicÃch x/y akuálnÃho polÃÄka.
-.REss
-.RE
-.
-.TP
-.B "test\ \ \ "
-Generuje různé testovacà vzory.
-.
-.TP
-.B rgbtest
-Generuje RGB testovacà vzor použitelný pro detekci problémů RGB vs BGR.
-Budete vidÄt Äervený, zelený a modrý svislý pruh.
-.
-.TP
-.B lavc[=quality:fps]
-Rychlá softwarová konverze YV12 do MPEG-1 pomocà libavcodec pro použitÃ
-s DVB/\:DXR3/\:IVTV/\:V4L2.
-.RSs
-.IPs <quality>
-1\-31: pevná qscale
-.br
-32\-: pevný bitrate v kilobitech
-.IPs <fps>
-vynutà výstupnà fps (desetinné ÄÃslo) (výchozÃ: 0, autodetekce založena na výšce)
-.RE
-.
-.TP
-.B dvbscale[=pomÄr_stran]
-Nastavà optimálnà škálovánà pro DVB karty, Å¡káluje hardwarovÄ v ose X a provede
-softwarové Å¡kálovánà v ose Y pro zachovánà pomÄru stran.
-Toto je použitelné pouze v kombinaci s expand a scale
-.RSs
-.IPs <aspect>
-Ovládá pomÄr stran, vypoÄÃtá se jako DVB_VÃÅ KA*POMÄR_STRAN (výchozÃ:
-576*4/3=768), nastavte 576*(16/9)=1024 pro 16:9 TV.
-.RE
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-DODÄLAT: VysvÄtlit co to dÄlá.
-.RE
-.PD 1
-.
-.TP
-.B [=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-PÅidá Å¡um.
-.PD 0
-.RSs
-.IPs <0\-100>
-luma šum
-.IPs <0\-100>
-chroma šum
-.IPs u
-konstantnà šum (jinak Gaussův)
-.IPs t
-promÄnný Å¡um (Å¡umový obrazec se mÄnà mezi snÃmky)
-.IPs a
-průmÄrovaný promÄnný Å¡um (jemnÄjÅ¡Ã, ale mnohem pomalejÅ¡Ã)
-.IPs h
-vysoká kvalita (o nÄco lépe vypadá, o nÄco pomalejÅ¡Ã)
-.IPs p
-smÄÅ¡uje náhodný Å¡um se (skoro)konstantnÃm vzorem
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-Tento filtr je zamÄÅen na omezenà šumu v obrázku a stabilnà obraz bude skuteÄnÄ
-stabilnà (To by mÄlo vylepÅ¡it komprimovatelnost.).
-.PD 0
-.RSs
-.IPs <luma_spatial>
-prostorová intenzita svÄtlosti (výchozÃ: 4)
-.IPs <chroma_spatial>
-prostorová intenzita barevnosti (výchozÃ: 3)
-.IPs <luma_tmp>
-promÄnná intenzita svÄtlosti (výchozÃ: 6)
-.IPs <chroma_tmp>
-promÄnná intenzita barevnosti (výchozÃ: 6)
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-Vysoce preciznÃ/\:kvalitnà verze denoise3d filtru.
-Použità a parametry jsou stejné.
-.
-.TP
-.B eq[=jas:kontrast] (ZASTARALÃ)
-Softwarový ekvalizér s interaktivnÃm ovládánÃm shodným s hardwarovým
-ekvalizérem pro karty/\:ovladaÄe které nemajà podporu nastavenà jasu a
-kontrastu v hardwaru.
-RovnÄž může být použitelný pro MEncoder, buÄ pro opravu mizernÄ zachycených
-filmů, nebo pro mÃrné snÞenà kontrastu, ÄÃmž zamaskujete artefakty vznikajÃcÃ
-pÅi nÃzkých datových tocÃch.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-poÄáteÄnà jas
-.IPs <\-100\-100>
-poÄáteÄnà kontrast
-.RE
-.PD 1
-.
-.TP
-.B eq2[=gama:kontrast:jas:sytost_barev:rg:gg:bg:váha]
-Alternativnà softwarový ekvalizér použÃvajÃcà pÅevodnà tabulky (velmi pomalé),
-umožÅujÃcà gama korekci navÃc k jednoduché korekci jasu a kontrastu.
-Pokud jsou vÅ¡echny gama hodnoty nastaveny na 1.0, pak použÃvá stejný MMX
-optimalizovaný kód jako \-vf eq.
-Parametry jsou desetinná ÄÃsla.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-poÄáteÄnà hodnota gama (výchozÃ: 1.0)
-.IPs <\-2\-2>
-poÄáteÄnà kontrast, kdy záporné hodnoty produkujà negativ (výchozÃ: 1.0)
-.IPs <\-1\-1>
-poÄáteÄnà jas (výchozÃ: 0.0)
-.IPs <0\-3>
-poÄáteÄnà sytost barev (výchozÃ: 1.0)
-.IPs <0.1\-10>
-hodnota gama Äervené složky (výchozÃ: 1.0)
-.IPs <0.1\-10>
-hodnota gama zelené složky (výchozÃ: 1.0)
-.IPs <0.1\-10>
-hodnota gama modré složky (výchozÃ: 1.0)
-.IPs <0\-1>
-Parametr váha může být použit pro omezenà vysoké gama korekce velmi jasných
-ploch, Äili\& zamezà jejich pÅebuzenà na ÄistÄ bÃlou.
-Hodnota 0.0 úplnÄ potlaÄà gama korekci zatÃmco 1.0 ji ponechá v plné sÃle
-(výchozÃ: 1.0).
-.RE
-.PD 1
-.
-.TP
-.B hue[=hue:barevná_sytost]
-Softwarový ekvalizér i interaktivnÃm ovládánÃm podobným hardwarovému
-ekvalizéru pro karty/\:rozhranà které nepodporujà tónovánà a sytost
-barev v hardwaru.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-poÄáteÄnà tón (default: 0.0)
-.IPs <\-100\-100>
-poÄáteÄnà sytost barev, kde negativnà hodnoty vedou k inverznÃm barvám
-(výchozÃ: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-Konvertuje jednoduchý YUV 4:2:0 do pakovaného 4:2:2 s poloviÄnà výškou,
-podsampluje se luma ale veškeré barevné (chroma) informace jsou zachovány.
-Použitelné pro výstup na zobrazovaÄ s nÃzkým rozliÅ¡enÃm když má hardwarové
-podsamplovánà špatnou kvalitu, nebo nenà k dispozici.
-RovnÄž může být použit jako primitivnà pouze-luma deinterlacer (odstraÅovaÄ
- prokladu) s velmi malou režià pro CPU.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-Ve výchozÃm stavu se pÅi podvzorkovánà pakuje průmÄrná hodnota párovaných Åádků.
-Jakákoli hodnota jiná než 0 nebo 1 nastavà výchozà (průmÄrovacÃ) chovánÃ.
-.RSss
-0: Pro podvzorkovánà použije pouze sudé Åádky.
-.br
-1: Pro podvzorkovánà použije pouze liché Åádky.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=režim]
-Když je v YUV 4:2:0 formátech uloženo prokládané video, pak se prokládánÃ
-barev, dÃky vertikálnÃmu podsamplovánà chroma kanálů, pÅesnÄ nekryje.
-Tento filtr pakuje původnà 4:2:0 data do YUY2 (4:2:2) formátu s chroma
-Åádky na jejich správných mÃstech, takže na zobrazeném Åádku pocházà jak
-svÄtelná (luma) tak barevná (chroma) informace ze stejného mÃsta v originále.
-.PD 0
-.RSs
-.IPs <režim>
-Vybere režim vzorkovánÃ.
-.RSss
-0: vzorkovánà nejbližšÃho okolÃ, rychlé ale nepÅesné
-.br
-1: lineárnà interpolace (výchozÃ)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-Použitelné pouze s MEncoderem.
-Pokud to použijete pÅi enkódovánÃ, vynutÃte kódovánà i duplicitnÃch snÃmků.
-To zabere vÃce mÃsta, ale je to nutnost pro výstup do MPEG souborů, nebo pokud
-plánujete demultiplexovat a multiplexovat video proud po zakódovánÃ.
-MÄl by být na konci, nebo co nejblÞ konce, ÅetÄzu filtrů, pokud nemáte opravdu
-dobrý důvod pro jiné umÃstÄnÃ.
-.
-.TP
-.B softskip
-Použitelné pouze s MEncoderem.
-Softskip pÅesunuje pÅeskakovánà snÃmků z mÃsta pÅed ÅetÄzem filtrů do
-nÄkterého mÃsta v ÅetÄzci filtrů.
-To umožÅuje filtrům, které to potÅebujÃ, vidÄt vÅ¡echny snÃmky (inverznÃ
-telecine, filtr náhodného Å¡umu, atd.) aby správnÄ fungovaly.
-Volba by mÄla být umÃstÄna za filtry, které potÅebujà vidÄt vÅ¡echny snÃmky, ale
-pÅed vÅ¡echny dalšà filtry nároÄné na CPU.
-.
-.TP
-.B decimate[=max:hi:lo:frac]
-Zahodà snÃmky které se pÅÃliÅ¡ nelišà od pÅedchozÃho aby se snÞila
-snÃmková rychlost.
-Hlavnà zamÄÅenà tohoto filtru je na enkódovánà s velmi nÃzkým datovým tokem
-(napÅÃklad datový proud pÅes klasický modem), ale teoreticky může být použitý
-pro opravu filmů, u kterých bylo nesprávnÄ provedeno inverznà telecine.
-.PD 0
-.RSs
-.IPs <max>
-Nastavà maximálnà množstvà po sobÄ jdoucÃch snÃmků, které mohou být zahozeny
-(je-li kladný), nebo minimálnà interval mezi zahozenými snÃmky (je-li záporný).
-.IPs <hi>,<lo>,<frac>
-SnÃmek je vhodný k zahozenà pokud se žádný 8x8 region nelišà vÃce než je
-práh nastavený v <hi> a jestliže ménÄ než <frac> regionů (1 znamená celý
-obrázek) se lišà vÃce než je práh nastavený v <lo>.
-Hodnoty <hi> a <lo> jsou pro bloky 8x8 pixelů a reprezentujà aktuálnà odchylku
-hodnot pixelů, takže práh 64 odpovÃdá zmÄnÄ každého pixelu o jedniÄku, nebo
-té samé hodnotÄ rozprostÅené nerovnomÄrnÄ v bloku.
-.RE
-.PD 1
-.
-.TP
-.B dint[=sense:level]
-Filtr "drop-deinterlace (dint)" detekuje a zahodà prvnà ze sady prokládaných
-snÃmků.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-relativnà odchylka sousednÃch pixelů (výchozÃ: 0.1)
-.IPs <0.0\-1.0>
-Jaká Äást obrázku má být detekována jako prokládaná, aby byl
-snÃmek zahozen (výchozÃ: 0.15).
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (ZASTARALÃ)
-filtr deinterlace (odstraÅovaÄ prokladu) z FFmpeg, stejné jako \-vf pp=fd
-.
-.TP
-.B kerndeint[=práh[:map[:poÅadÃ[:ostÅenÃ[:dvoucestné]]]]]
-Adaptivnà jaderný deinterlacer od Donalda Grafta.
-Odstranà proklad z tÄch Äástà videa, kde je pÅekroÄen nastavitelný práh.
-.PD 0
-.RSs
-.IPs <0\-255>
-práh (výchozÃ: 10)
-.IPs <map>
-.RSss
-0: Ignoruje pixely pÅesahujÃcà práh (výchozÃ).
-.br
-1: Obarvà pixely pÅesahujÃcà práh bÃle.
-.REss
-.IPs <poÅadÃ>
-.RSss
-0: Ponechá polÃÄka jak jsou (výchozÃ).
-.br
-1: Prohodà polÃÄka.
-.REss
-.IPs <ostÅenÃ>
-.RSss
-0: Vypne dodateÄné ostÅenà (výchozÃ).
-.br
-1: Zapne dodateÄné ostÅenÃ.
-.REss
-.IPs <dvoucestné>
-.RSss
-0: Vypne dvoucestné ostÅenà (výchozÃ).
-.br
-1: Zapne dvoucestné ostÅenÃ.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cWxH:amount[:l|cWxH:amount]]
-maska rozostÅenà / Gaussovo rozostÅenÃ
-.RSs
-.IPs "l\ \ \ \ "
-Aplikuje efekt na ÄernobÃlou složku.
-.IPs "c\ \ \ \ "
-Aplikuje efekt na barevnou složku.
-.IPs <Å¡ÃÅka>x<výška>
-Å¡ÃÅka a výška matice, oba rozmÄry musà být liché
-(min = 3x3, max = 13x11 nebo 11x13, obvykle nÄco mezi 3x3 a 7x7)
-.IPs amount
-Relativnà množstvà ostÅenÃ/\:rozmazánà pÅidané obrázku
-(rozumný rozsah je \-1.5\-1.5).
-.RSss
-<0: rozmazánÃ
-.br
->0: ostÅenÃ
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-ZamÄnà úrovnÄ U & V.
-.
-.TP
-.B il[=d|i][s][:[d|i][s]]
-Rozložà Äi proložà Åádky.
-Tento filtr pÅidává schopnost zpracovávat jednotlivé půlsnÃmky prokládaného
-obrázku bez nutnosti odstranÄnà prokladu.
-Můžete filtrovat své prokládané DVD a zobrazovat je na televizi aniž byste
-zruÅ¡ili prokládánÃ.
-ZatÃmco odstranÄnà prokladu (pomocà "deinterlace" filtru) odstranà proklad
-trvale (vyhlazenÃm, průmÄrovánÃm, apod.) rozloženà (deinterleave) rozdÄlÃ
-snÃmek na dva půlsnÃmky (jeden z lichých a druhý ze sudých Åádků), takže
-je můžete zpracovávat nezávisle a pak je zase složit (interleave).
-.PD 0
-.RSs
-.IPs d
-rozložit (umÃstà prvnà půlsnÃmek nad druhý)
-.IPs i
-interleave
-.IPs s
-zamÄnit polÃÄka (zamÄnà sudé a liché Åádky)
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-Rozložà Äi proložà Åádky.
-Tento filtr je velmi podobný filtru il, jen je mnohem rychlejÅ¡Ã, problém je
-že ne vždy funguje.
-Zvlášť pÅi urÄitých kombinacÃch filtrů může zcela náhodnÄ demolovat snÃmky,
-takže buÄte rádi pokud bude fungovat a nenadávejte když to nezvládne zrovna tu
-vaši kombinaci filtrů.
-.PD 0
-.RSs
-.IPs d
-Rozložà snÃmek a půlsnÃmky umÃstà vedle sebe.
-.IPs i
-Znovu složà půlsnÃmky (odstranà efekt fil=d).
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-Vyextrahuje jediný snÃmek z prokládaného obrázku za použità jednoduché
-aritmetiky, aby se neplýtvalo výkonem CPU.
-Volitelný argument n udává zdali se má použÃt liché Äi sudé polÃÄko
-(což závisà na tom zda je n sudé nebo liché).
-.
-.TP
-.B detc[=promÄnná1=hodnota1:prom2=hodnota2:...]
-Pokusà se obrátit 'telecine' proces a zÃskat tÃm Äistý, neprokládaný proud
-se snÃmkovou rychlostà filmu.
-Toto je prvnà a nejprimitivnÄjšà 'inverse telecine' filtr pÅidaný do
-MPlayeru/\:MEncoderu.
-Pracuje tak, že se zafixuje na telecine šablonu 3:2 a sleduje ji tak dlouho,
-jak je to jen možné.
-Filtr je vhodný pro perfektnÄ proložený (telecined) materiál, zvládne dokonce
-i pomÄrnÄ velké množstvà šumu, ale naprosto selhává, pokud byl film komplexnÄ
-editován po provedenà telecine.
-Vývoj tohoto filtru byl zastaven, jelikož ivtc, pullup,
-a filmdint jsou ve vÄtÅ¡inÄ pÅÃpadů lepÅ¡Ã.
-NásledujÃcà argumenty (syntax viz výš) můžete použÃt k ovlivnÄnà chovánà detc:
-.RSs
-.IPs "<dr>\ "
-Nastavà režim zahazovánà snÃmků.
-.RSss
-0: Nezahazovat snÃmky abychom mÄli pevnou snÃmkovou rychlostà (výchozÃ).
-.br
-1: Vždy zahodit snÃmek pokud za poslednÃch 5 snÃmků nebyl žádný zahozen
-nebo slouÄen z půlsnÃmků.
-.br
-2: Vždy zachovat vstupnÄ-výstupnà pomÄr snÃmkové rychlosti 5:4.
-.br
-.I POZNÃMKA:
-V MEncoderu použÃvejte módy 1 nebo 2.
-.REss
-.IPs "<am>\ "
-Analytický režim.
-.RSss
-0: Pevný vzor s poÄáteÄnÃm ÄÃslem snÃmku nastaveném ve <fr>.
-.br
-1: agresivnà vyhledávánà telecine vzoru (výchozÃ)
-.REss
-.IPs "<fr>\ "
-Nastavà poÄáteÄnà ÄÃslo snÃmku v ÅadÄ.
-0\-2 jsou tÅi Äisté progresivnà snÃmky; 3 a 4 jsou dva prokládané snÃmky.
-Výchozà hodnota \-1 znamená 'nenà v telecine ÅadÄ'.
-ÄÃslo které zde nastavÃte urÄuje typ imaginárnÃho snÃmku pÅed zaÄátkem
-vlastnÃho filmu.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-Prahové hodnoty pro různé režimy.
-.RE
-.
-.TP
-.B ivtc[=1]
-Experimentálnà 'mezistátnÃ' inverse telecine filtr.
-Než aby se ÅÃdil Å¡ablonou jako detc, rozhoduje se tento filtr nezávisle pro
-každý snÃmek.
-Takto dostanete mnohem lepšà výsledek pokud byl film hodnÄ editován po aplikaci
-telecine, ale na druhou stranu je vÃce ovlivÅován Å¡umem, napÅ. pÅi zachytávánÃ
-z televize.
-Volitelný parametr (ivtc=1) odpovÃdá volbÄ dr=1 z detc filtru, a může být
-použitý v MEncoderu ale ne v MPlayeru.
-StejnÄ jako u detc, musÃte zadat správnou výstupnà snÃmkovou rychlost (\-ofps
-24000/1001) použÃváte-li MEncoder.
-Dalšà vývoj ivtc byl zastaven, jelikož se filtry pullup a filmdint
-zdajà být mnohem preciznÄjÅ¡Ã.
-.
-.TP
-.B pullup[=jl:jr:jt:jb:sb:mp]
-TÅetà generace půlsnÃmky spojujÃcÃho (inverse telecine) filtru.
-Je schopný si poradit s kombinovaným hard-telecine, 24000/1001 fps
-progresivnÃm, a 30000/1001 fps progresivnÃm obsahem.
-Filtr pullup má mnohem robustnÄjšà návrh než detc nebo ivtc, protože pÅi
-rozhodovánà bere v potaz následujÃcà obsah.
-StejnÄ jako ivtc je pullup mezinárodnà v tom smyslu, že se nefixuje na
-jedinou Å¡ablonu, ale mÃsto toho nahlÞà do následujÃcÃch snÃmků aby naÅ¡el shody
-a obnovil progresivnà snÃmky.
-Filtr je stále ve vývoji, ale již teÄ je velmi preciznÃ.
-.RSs
-.IPs "jl, jr, jt a jb"
-Tyto parametry nastavujà množstvà "nepoÅádku" který se má ignorovat
-vlevo(jl), vpravo(jr), nahoÅe(jt) a dole(jb) v obrázku, každé zvlášť.
-Vpravo/\:vlevo jsou v jednotkách po osmi pixelech, zatÃmco nahoÅe/\:dole jsou
-v jednotkách po dvou ÅádcÃch.
-Výchozà je 8 pixelů ze všech stran.
-.br
-.IPs "sb (pÅesné zlomy)"
-Nastavenà tohoto parametru na 1 sice zredukuje zmÄny v pullup-em
-generovaném a obÄas Å¡patnÄ poskládaném snÃmku, ale může vést k velkému množstvÃ
-zahozených snÃmků v rychlých scénách.
-Naopak nastavenÃm sb na \-1 bude pullup snadnÄji nacházet shody půlsnÃmků.
-To může pomoci zpracovat video které má mezi půlsnÃmky jisté rozmazánÃ,
-ale může způsobit propuÅ¡tÄnà prokládaného snÃmku na výstup.
-.br
-.IPs "mp (metric plane)"
-Tento parametr může být nastaven na 1 nebo 2 pro použità barevné
-plochy mÃsto ÄernobÃlé (luma) pro provádÄnà pullup výpoÄtů.
-To může zvýšit pÅesnost s velmi Äistým zdrojovým materiálem, ale mnohem spÃÅ¡
-to pÅesnost snÞÃ, zvlášť když je zde barevný Å¡um (duhový efekt) nebo
-jakékoliv ÄernobÃlé video.
-Hlavnà použità nastavenà mp na barevnou plochu je snÞenà zátÄže CPU,
-což umožnà provozovat pullup v reálném Äase na pomalých strojÃch.
-.REss
-.RS
-.sp 1
-.I POZNÃMKA:
-Vždy doplÅte za pullup filtr softskip filtrem když enkódujete, aby byla jistota,
-že pullup-em projdou vÅ¡echny snÃmky.
-Pokud se tak nestane, dostanete vadný výstup a program obvykle zhavaruje dÃky
-omezenÃm návrhu ve vrstvÄ kodeků/\:filtrů.
-.REss
-.
-.TP
-.B filmdint[=volby]
-Inverse telecine filtr, podobný výše zmÃnÄnému pullup filtru.
-Je navržen tak aby si poradil s jakoukoli pulldown Å¡ablonou, vÄetnÄ kombinace
-soft a hard telecine a omezenou podporu pro filmy které byly pro potÅeby
-televize zrychleny nebo zpomaleny.
-Pouze ÄernobÃlá složka je použita pro vyhledávánà snÃmkových zlomů.
-Pokud snÃmek nemá shodu, pak je proklad odstranÄn pomocà jednoduchého
-lineárnÃho průmÄrovánÃ.
-Pokud je zdrojem MPEG-2, tento filtr musà být prvnà v ÅadÄ, aby se dostal k
-snÃmkovým flagům nastavovaným MPEG-2 dekodérem.
-V závislosti na zdrojovém MPEG pak můžete ignorovat tato doporuÄenÃ,
-alespoÅ pokud nebudete dostávat mnoho "Bottom-first field" varovánÃ.
-Bez parametrů provádà bÄžné inverse telecine a mÄl by být použÃván v MEncoderu
-s \-fps a \-ofps: mencoder \-fps 30000/1001 \-ofps 24000/1001.
-Pokud tento filtr použijete v MPlayeru, budete mÃt nerovnomÄrné snÃmkovánÃ
-bÄhem pÅehrávánÃ, ale je to poÅád lepšà než použÃt pp=lb nebo neodstraÅovat
-proklad vůbec.
-Nastaveno může být vÃce voleb, oddÄlovaÄ je /.
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-Má stejnou funkci jako crop filtr, jen je rychlejšà a pracuje s hard i soft
-telecine obsahem stejnÄ dobÅe jako když y nenà násobkem 4.
-Pokud by oÅez v ose x nebo y fragmentoval pixely v barevné mapÄ, bude
-oÅezová plocha zvÄtÅ¡ena.
-To obvykle znamená že x a y musà být sudé.
-.IPs io=<ifps>:<ofps>
-Za každý vstupnà ifps snÃmek vystoupà z filtru ofps snÃmek.
-PomÄr ifps/\:ofps odpovÃdá pomÄru \-fps/\-ofps.
-To může být použito k filtrovánà filmů, které jsou vysÃlány do TV s jinou
-snÃmkovou rychlostÃ, než je ta originálnÃ.
-.IPs luma_only=<n>
-Pokud n je různé od nuly, je barevná mapa kopÃrována beze zmÄn.
-To se použÃvá v YV12 vzorkované TV, kdy se zahodà jedna barvonosná složka.
-.IPs mmx2=<n>
-Na platformÄ x86, pokud je n=1, použijà se MMX2 optimalizované funkce, pokud je
-n=2, použijà se 3DNow! optimalizované funkce, jinak se použije jednoduché C.
-NenÃ-li volba zadána, provede se autodetekce MMX2 a 3DNow!. Volbu použÃvejte
-pro potlaÄenà autodetekce.
-.IPs fast=<n>
-ÄÃm vÄtšà je n, tÃm rychlejšà (a nepÅesnÄjÅ¡Ã) bude filtr.
-Výchozà hodnota je n=3.
-Pokud je n liché, pak je snÃmek bezprostÅednÄ následujÃcà za snÃmkem oznaÄeným
-REPEAT_FIRST_FIELD MPEG flagem je považován za progresivnÃ, takže filtr
-nespotÅebuje žádný Äas na soft-telecine MPEG-2 obsahu.
-Toto je jediný efekt tohoto flagu pokud je k dispozici MMX2 nebo 3DNow!.
-Bez MMX2 a 3DNow! budou použity stejné výpoÄty jak pro n=0 nebo 1, tak pro n=2
-nebo 3.
-Pokud je n=2 nebo 3, pak je jasová Å¡kála použitá pro detekci zlomů ve snÃmku
-zredukována z 256 úrovnà na 128, což výraznÄ urychlà filtr, aniž by to mÄlo
-podstatný vliv na pÅesnost.
-Pokud je n=4 nebo 5, pak je použita rychlejÅ¡Ã, ale nepÅesnÄjšà metoda detekce
-zlomů, což může ÄastÄji vést k zámÄnÄ vysokých detailů ve svislé ose za
-prokládaný obsah.
-.IPs verbose=<n>
-Pokud n je různé od nuly, vytiskne podrobné metriky pro každý snÃmek.
-PoužÃvá se pro ladÄnÃ.
-.IPs dint_thres=<n>
-Práh pro odstranÄnà prokladu.
-PoužÃvá se pÅi odstraÅovánà prokladu v nesouhlasných půlsnÃmcÃch.
-ÄÃm vÄtšà hodnota, tÃm ménÄ Ãºprav se provede, nastavte n=256 pro úplné potlaÄenÃ
-odstraÅovánà prokladu.
-Výchozà hodnota n=8.
-.IPs comb_thres=<n>
-Práh pro porovnávánà lichých a sudých půlsnÃmků.
-Výchozà je 128.
-.IPs diff_thres=<n>
-Práh detekce okamžitých zmÄn ve snÃmku.
-Výchozà je 128.
-.IPs sad_thres=<n>
-Práh souhrnných zmÄn, výchozà je 64.
-.RE
-.
-.TP
-.B softpulldown
-Tento filtr pracuje korektnÄ pouze v MEncoderu a chová se podle MPEG-2 flagů
-použÃvaných v soft 3:2 pulldown (soft telecine).
-Pokud chcete použÃt ivtc nebo detc filtr na filmy na jejichž Äásti bylo aplikováno
-soft telecine, pak pÅedÅazenÃm tohoto filtru dosáhnete mnohem lepÅ¡Ãho výsledku.
-.
-.TP
-.B divtc[=volby]
-Inverznà telecine pro video s odstranÄným prokladem.
-Pokud ve filmu s 3:2-pulldown telecine dojde ke ztrátÄ jednoho z půlsnÃmků,
-nebo v nÄm byl odstranÄn proklad metodou, která ponechá jeden půlsnÃmek a
-druhý odvodÃ, pak je výsledkem roztÅepané video s každým Ätvrtým snÃmkem
-duplicitnÃm.
-Tento filtr má za úkol nalézt tyto duplikáty a obnovit původnà snÃmkovou
-rychlost filmu.
-PoužÃváte-li tento filtr, musÃte nastavit \-ofps na 4/5 snÃmkové rychlosti
-vstupnÃho souboru a pozdÄji ve výÄtu filtrů umÃstit filtr softskip, abyste mÄli
-jistotu, že filtrem divtc projdou vÅ¡echny snÃmky.
-Dostupné jsou dva různé režimy:
-VýchozÃm je jednoduÅ¡e použitelný jednoprůchodový režim, který má ale
-nevýhodu v tom, že jakákoli zmÄna fáze telecine (ztracené snÃmky nebo Å¡patná
-editace) způsobà krátkodobé zachvÄnÃ, dokud se nedokáže filtr znovu
-synchronizovat.
-Dvouprůchodový režim se tomu vyhýbá tÃm, že nejprve prozkoumá celé video a
-pak využije zÃskané informace o zmÄnách fáze, takže se dokáže synchronizovat
-pÅÃmo v mÃstÄ zmÄny.
-Tyto fáze
-.B nekorespondujÃ
-s prvnÃm nebo druhým průchodem enkódovacÃho procesu.
-MusÃte provést zvláštnà prvnà průchod s divtc pÅed samotným enkódovánÃm a
-odstranit výsledné video.
-Použijte \-nosound \-ovc raw \-o /dev/null, abyste neplýtvali výkonem CPU
-na tento průchod.
-Pro dalšà zrychlenà můžete pÅidat za divtc nÄco jako crop=2:2:0:0.
-Pak použijte druhý průchod divtc pro samotné enkódovánÃ.
-Pokud použÃváte vÃceprůchodové enkódovánÃ, použijte druhý průchod divtc
-pro všechny tyto průchody.
-Dostupné volby jsou:
-.RSs
-.IPs pass=1|2
-Použità dvouprůchodového režimu.
-.IPs file=<soubor>
-Nastavà jméno log souboru pro dvouprůchodový režim (výchozÃ: "framediff.log").
-.IPs threshold=<hodnota>
-Nastavà minimálnà tloušťku prokladového vzoru aby jej filtr takto vyhodnotil
- (výchozÃ: 0.5).
-Toto se použÃvá pro zamezenà detekce faleÅ¡ných vzorů z velmi tmavých nebo
-nehybných Äástà videa.
-.IPs window=<poÄet_snÃmků>
-Nastavà poÄet minulých snÃmků ke kterým se pÅihlÞà pÅi vyhledávánà vzorů
- (výchozÃ: 30).
-Delšà window zvyšuje spolehlivost vyhledávánà vzorů, kratšà window zase
-zkracuje reakÄnà dobu pÅi zmÄnÄ telecine fáze.
-Volba se projevà pouze v jednoprůchodovém režimu.
-Dvouprůchodový režim zatÃm použÃvá pevné window rozprostÅené vpÅed i vzad.
-.IPs phase=0|1|2|3|4
-Nastavà poÄáteÄnà telecine fázi pro jednoprůchodový režim (výchozÃ: 0).
-Dvouprůchodový režim nahlÞà vpÅed, takže je schopen použÃt od zaÄátku správnou
-fázi, zatÃmco jednoprůchodový může jenom hádat.
-V jednoprůchodovém režimu je nastavena správná fáze, jakmile je nalezena, ale
-touto volbou můžete vyÅeÅ¡it možné zmatky na zaÄátku.
-Prvnà průchod z dvouprůchodového režimu toto rovnÄž použÃvá, takže pokud si
-uložÃte výstup z prvnÃho průchodu, dostanete stabilnà fázový výsledek.
-.IPs deghost=<hodnota>
-Nastavenà prahu pro odstraÅovánà duchů (0\-255 pro jednoprůchodový režim,
-\-255\-255 pro dvouprůchodový režim, výchozà 0).
-Jakákoli nenulová hodnota zapne filtrovánà duchů.
-Filtr proti duchům zesÃlà jakékoli kompresnà artefakty ve splývajÃcÃch snÃmcÃch,
-takže se zde nastavà práh pro vyÅazenà tÄch pixelů z filtrovánÃ, které se liÅ¡Ã
-od poslednÃho snÃmku ménÄ než zadaná hodnota.
-Pokud použijete dvouprůchodový režim, pak můžete použÃt záporné hodnoty k tomu,
-aby filtr prozkoumal celé video na zaÄátku druhého průchodu a rozhodl jestli se
-budou nebo nebudou vymÃtat duchové a na základÄ toho nastavil parametr na nulu
-nebo pevnou hodnotu.
-Tuto volbu zaÅaÄte do druhého průchodu, v prvnÃm nemá na nic vliv.
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-Zpozdà video o jeden snÃmek, takže se zmÄnà jejich poÅadÃ.
-PÅedpokládané použità je pro opravu filmů v PAL, které byly zachytávány
-v opaÄném poÅadà půlsnÃmků než pÅevod filmu-na-video.
-Dostupné volby jsou:
-.RSs
-.IPs t
-Zachytává se nejprve hornà půlsnÃmek, pÅenášà se nejdÅÃve spodnÃ.
-Filtr zpozdà spodnà půlsnÃmek.
-.IPs b
-Zachytává se nejprve dolnà půlsnÃmek, pÅenášà se nejdÅÃve hornÃ.
-Filtr zpozdà hornà půlsnÃmek.
-.IPs p
-Zachytává i pÅenášà půlsnÃmky ve stejném poÅadÃ.
-Tento režim existuje pouze proto, že se na nÄj odkazuje dokumentace k jiným
-volbám. Ale s tÃmto nastavenÃm nebude filtr dÄlat zhola nic ;-)
-.IPs a
-PoÅadà zachytávaných půlsnÃmků je urÄeno automaticky pomocà půlsnÃmkových flagů,
-pÅenášà se opaÄnÄ.
-Filtr vybÃrá mezi režimy t a b pro každý snÃmek za použità snÃmkových flagů.
-Pokud nejsou snÃmkové informace k dispozici, pracuje stejnÄ jako u.
-.IPs u
-Zachytává v neznámém nebo promÄnném poÅadÃ, pÅenášà v obráceném poÅadÃ.
-Filtr vybÃrá mezi režimy t a b pro každý snÃmek tak, že analyzuje obrázky a
-volà tu alternativu, která produkuje nejmenšà rozdÃly mezi snÃmky.
-.IPs T
-Zachytává nejdÅÃve hornÃ, pÅenášà v neznámém nebo různém promÄnném.
-Filtr vybÃrá mezi t a p pomocà analýzy obrázku.
-.IPs B
-Zachytává nejdÅÃve dolnÃ, pÅenášà v neznámém nebo promÄnném poÅadÃ.
-Filtr vybÃrá mezi t a p pomocà analýzy obrázku.
-.IPs A
-Zachytávánà je ÅÃzeno snÃmkovými flagy, pÅenášà v neznámém nebo promÄnném poÅadÃ.
-Filtr vybÃrá mezi t, b a p pomocà snÃmkových flagů a analýzy obrázku.
-Pokud nejsou snÃmkové informace k dispozici, pracuje stejnÄ jako U.
-Toto je výchozà režim.
-.IPs U
-Jak zachytávánà tak pÅenos probÄhne v neznámém nebo promÄnném poÅadÃ.
-Filtr vybÃrá mezi t, b a p pouze na základÄ analýzy obrázku.
-.IPs v
-UpovÃdaný režim.
-VypÃÅ¡e vybraný režim pro každý snÃmek a průmÄrnou ploÅ¡nou odchylku mezi polÃÄky
-pro t, b, a p alternativy.
-.RE
-.
-.TP
-.B telecine[=start]
-Aplikuje 3:2 'telecine' proces pro zvýšenà snÃmkové rychlosti o 20%.
-NejspÃÅ¡ to nebude správnÄ fungovat v MPlayeru, ale může být použito
-takto: 'mencoder \-fps 30000/1001 \-ofps 30000/1001 \-vf telecine'.
-ObÄ fps volby jsou nezbytné!
-(A/V synchronizace se rozpadne, pokud budou špatné.)
-Volitelný parametr start nastavà filtru kde v telecine vzoru se má zaÄÃt (0\-3).
-.
-.TP
-.B tinterlace[=režim]
-Proklad pracovnÃho (temporal) snÃmku \- spojà dva snÃmky do jednoho prokládaného, tÃm
-snÞà snÃmkovou rychlost na polovinu.
-Sudé snÃmky vytvoÅà lichý (hornÃ) půlsnÃmek, liché snÃmky sudý (dolnÃ) půlsnÃmek.
-Toto lze použÃt pro zruÅ¡enà úÄinků tfields filtru (v režimu 0).
-Dostupné režimy jsou:
-.PD 0
-.RSs
-.IPs 0
-PÅesune liché snÃmky do lichého (hornÃho) půlsnÃmku, sudé do sudého (spodnÃho),
-vytvoÅà video s plnou (2x původnÃ) výškou, ale poloviÄnà snÃmkovou rychlostÃ.
-.IPs 1
-Do výstupu jdou pouze liché snÃmky, sudé se zahodÃ, výška zůstane nezmÄnÄna.
-.IPs 2
-Do výstupu jdou pouze sudé snÃmky, liché se zahodÃ, výška zůstane nezmÄnÄna.
-.IPs 3
-Každý snÃmek je expandován na plnou (2x původnÃ) výšku, ale jednotlivé Åádky
-jsou proloženy Äernou; snÃmková rychlost se nezmÄnÃ.
-.IPs 4
-Prokládá liché Åádky z lichých půlsnÃmků sudými Åádky ze sudých půlsnÃmků.
-NemÄnà výšku, snižuje snÃmkovou rychlost na polovinu.
-.RE
-.PD 1
-.
-.TP
-.B tfields[=režim[:dominantnÃ_půlsnÃmek]]
-RozdÄlenà pracovnÃho (temporal) snÃmku \- rozdÄlà snÃmek na dvÄ polÃÄka a
-tÃm zdvojnásobà snÃmkovou rychlost.
-PodobnÄ jako telecine filtr, pracuje tfields správnÄ pouze v MEncoder a jen
-když jsou volby \-fps a \-ofps nastaveny na požadovanou (dvojitou) rychlost!
-.PD 0
-.RSs
-.IPs <režim>
-0: Ponechá polÃÄka beze zmÄn. (To způsobà poskakovánÃ/\:chvÄnÃ.)
-.br
-1: Odvodà chybÄjÃcà Åádky. (Použitý algoritmus nemusà být to pravé oÅechové.)
-.br
-2: PÅekládá polÃÄka o 1/4 pixelu s lineárnà interpolacà (žádné poskakovánÃ).
-.br
-4: PÅekládá polÃÄka o 1/4 pixelu s 4tap filtrem (vyššà kvalita) (výchozÃ).
-.IPs <dominantnÃ_půlsnÃmek>\ (ZASTARALÃ)
-\-1: auto (výchozÃ)
-Pracuje pouze pokud dekodér exportuje vhodné informace a pÅed tfields nejsou
-žádné filtry odstraÅujÃcà tyto informace,
-jinak se použije nastavenà 0 (nejprve hornà půlsnÃmek).
-.br
-0: nejprve hornÃ
-.br
-1: nejprve spodnÃ
-.br
-.I POZNÃMKA:
-Tato volba bude nejspÃÅ¡ v bodoucà verzi odstranÄna.
-MÃsto nà použijte \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B yadif=[=režim[:dominantnÃ_půlsnÃmek]]
-Dalšà filtr pro odstranÄnà prokladu
-.PD 0
-.RSs
-.IPs <režim>
-0: Produkuje 1 snÃmek na každý snÃmek.
-.br
-1: Produkuje 1 snÃmek na každý půlsnÃmek.
-.br
-2: Jako 0, ale vynechá prostorové ovÄÅenà prokládánÃ.
-.br
-3: Jako 1, ale vynechá prostorové ovÄÅenà prokládánÃ.
-.IPs <dominantnÃ_půlsnÃmek>\ (ZASTARALÃ)
-Pracuje jako v tfields.
-.br
-.I POZNÃMKA:
-Tato volba bude nejspÃÅ¡ v bodoucà verzi odstranÄna.
-MÃsto nà použijte \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[režim[:parita[:qp]]]
-OdstraÅovaÄ prokladu s kompenzacà pohybu.
-Vyžaduje jeden půlsnÃmek z každého snÃmku jako vstup aproto musà být
-použitý spolu s tfields=1 nebo yadif=1/3 nebo podobný.
-.IPs <režim>
-0: rychlý
-.br
-1: stÅednÃ
-.br
-2: pomalý, opakovaný odhad pohybu
-.br
-3: velmi pomalý, jako 2 plus vÃce referenÄnÃch snÃmků
-.IPs <parita>
-0 nebo 1 vybÃrá, který půlsnÃmek použÃt (poznámka: zatÃm žádná autodetekce!).
-.IPs "<qp>\ "
-Vyššà hodnoty by mÄly vést k hladÅ¡Ãmu vektoru pohybu půlsnÃmku,
-ale ménÄ optimálnÃm individuálnÃm vektorům.
-.RE
-.PD 1
-.
-.TP
-.B boxblur=průmÄr:sÃla[:průmÄr:sÃla]
-kubické rozostÅenÃ
-.PD 0
-.RSs
-.IPs <průmÄr>
-sÃla rozostÅovánÃ
-.IPs <sÃla>
-poÄet aplikacà filtru
-.RE
-.PD 1
-.
-.TP
-.B sab=průmÄr:pf:rozdÃlBarev[:prům:pf:rozdÃlBarev]
-tvarovÄ-adaptivnà rozostÅenÃ
-.PD 0
-.RSs
-.IPs <průmÄr>
-sÃla rozostÅovánà (~0.1\-4.0) (ÄÃm vÄtÅ¡Ã, tÃm pomalejÅ¡Ã)
-.IPs "<pf>\ "
-sÃla pre-filtru (~0.1\-2.0)
-.IPs <rozdÃlBarev>
-maximálnà odliÅ¡nost pixelů které jeÅ¡tÄ budou zapoÄÃtávány (~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B smartblur=průmÄr:sÃla:práh[:průmÄr:sÃla:práh]
-chytré rozostÅenÃ
-.PD 0
-.RSs
-.IPs <průmÄr>
-sÃla rozostÅovánà (~0.1\-5.0) (ÄÃm vÄtÅ¡Ã, tÃm pomalejÅ¡Ã)
-.IPs <sÃla>
-rozostÅenà (0.0\-1.0) nebo zaostÅenà (\-1.0\-0.0)
-.IPs <práh>
-filtrovat vše (0), filtrovat plochy (0\-30) nebo filtrovat obrysy (\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-Koriguje perspektivu filmů, které nebyly natáÄeny kolmo na obrazovku.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-souÅadnice levého hornÃho, pravého hornÃho, levého dolnÃho a pravého dolnÃho rohu
-.IPs "<t>\ \ "
-lineárnà (0) nebo kubické pÅevzorkovánà (1)
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-Å káluje a vyhladà obrázek pomocà algoritmu 2x scale s interpolacÃ.
-.
-.TP
-.B "1bpp\ \ \ "
-Konvertuje jednobitovou bitmapu na YUV/\:BGR 8/\:15/\:16/\:32
-.
-.TP
-.B down3dright[=Åádky]
-PÅeskládá a zmÄnà velikost stereoskopických obrázků.
-Vyextrahuje obÄ stereo Äásti a umÃstà je vedle sebe, pak je Å¡káluje tak, aby zůstal
-zachován původnà pomÄr stran videa.
-.PD 0
-.RSs
-.IPs <Åádky>
-poÄet Åádků pro vybránà ze stÅedu obrázku (výchozÃ: 12)
-.RE
-.PD 1
-.
-.TP
-.B bmovl=hidden:opaque:fifo
-Tento filtr pro pÅekrývánà bitmap Äte bitmapy z FIFO a vykresluje je pÅes film,
-což umožÅuje nÄkteré transformace.
-Viz také TOOLS/\:bmovl-test.c, což je malý testovacà program pro tento filtr.
-.PD 0
-.RSs
-.IPs <hidden>
-Nastavà výchozà hodnotu pro flag 'hidden' (0=viditelné, 1=skryté).
-.IPs <opaque>
-Nastavà výchozà hodnotu pro flag 'opaque' (0=průhledné (pozadÃ), 1=neprůhledné).
-.IPs <fifo>
-Nastavà cestu/\:jméno_souboru pro FIFO (pojmenovaná roura spojujÃcÃ
-\'mplayer \-vf bmovl' s ovládacÃm programem)
-.RE
-.PD 1
-.sp 1
-.RS
-FIFO pÅÃkazy jsou:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 Å¡ÃÅka výška xpozice ypozice alfa clear"
-následováno Å¡ÃÅka*výška*4 Bajty hrubých RGBA32 dat.
-.IPs "ABGR32 Å¡ÃÅka výška xpozice ypozice alfa clear"
-následováno Å¡ÃÅka*výška*4 Bajty hrubých ABGR32 dat.
-.IPs "RGB24 Å¡ÃÅka výška xpozice ypozice alfa clear"
-následováno Å¡ÃÅka*výška*3 Bajty hrubých RGB24 dat.
-.IPs "BGR24 Å¡ÃÅka výška xpozice ypozice alfa clear"
-následováno Å¡ÃÅka*výška*3 Bajty hrubých BGR24 dat.
-.IPs "ALPHA Å¡ÃÅka výška xpozice ypozice alfa"
-ZmÄnà alfa průhlednost zadané oblasti.
-.IPs "CLEAR Å¡ÃÅka výška xpozice ypozice"
-VyÄistà oblast.
-.IPs OPAQUE
-Zakáže veškerou průhlednost.
-PoÅ¡lete "ALPHA 0 0 0 0 0" až ji budete chtÃt znovu zapnout.
-.IPs "HIDE\ "
-Skryje bitmapu.
-.IPs "SHOW\ "
-Ukáže bitmapu.
-.RE
-.PD 1
-.sp 1
-.RS
-Argumenty jsou:
-.RE
-.PD 0
-.RSs
-.IPs "<Å¡ÃÅka>, <výška>"
-Nastavà rozmÄr obrázku/oblasti.
-.IPs "<xpozice>, <ypozice>"
-ZaÄne vykreslovánà na pozici x/y
-.IPs "<alfa>"
-Nastavà rozdÃl alfa.
-Pokud toto nastavÃte na \-255 můžete pak poslat sekvenci ALPHA-pÅÃkazů pro
-nastavenà plochy na \-225, \-200, \-175 atd pro hezký stmÃvacà efekt! ;)
-.RSss
-0: Zůstává stejný jako původnÃ.
-.br
-255: Nastavà vše na neprůhledné.
-.br
-\-255: Nastavà vše na průhledné.
-.REss
-.IPs <clear>
-VyÄistà framebuffer pÅed nanášenÃm.
-.RSss
-0: Obrázek bude vykreslen na pÅedchozÃ, takže nemusÃte posÃlat 1,8MB RGBA32
-dat kdykoli se zmÄnà malá Äást obrázku.
-.br
-1: clear
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]krok
-Renderuje pouze každý n-tý snÃmek, nebo každý intra (klÃÄový) snÃmek.
-.sp 1
-Pokud zavoláte filtr s parametrem I (velkým), pak jsou renderovány
-.B pouze
-klÃÄové snÃmky.
-Na DVD to vÅ¡eobecnÄ znamená jeden v každých 15/12 snÃmků (IBBPBBPBBPBBPBB),
-v AVI to znamená každou zmÄnu scény nebo každou keyint hodnotu (viz \-lavcopts
-keyint=hodnota pokud použÃváte MEncoder pro enkódovánà videa).
-.sp 1
-Jakmile je nalezen klÃÄový snÃmek, vypÃÅ¡e se 'I!' se znakem nového
-Åádku, ÄÃmž se uchová obsah stavového Åádku MPlayeru/\:MEncoderu na obrazovce,
-protože obsahuje Äas (v sekundách) a ÄÃslo klÃÄového snÃmku
-(Tuto informaci můžete využÃt pÅi stÅÃhánà AVI.).
-.sp 1
-Pokud zavoláte filtr s ÄÃselným parametrem 'krok' pak je renderován pouze jeden
-z každých 'krok' snÃmků.
-.sp 1
-Pokud pÅedÅadÃte 'i' (malé) ÄÃslu, pak se bude vypisovat 'I!' (jako s I
-parametrem).
-.sp 1
-Pokud zadáte pouze i, pak nenà se snÃmky vůbec nic provádÄno, pouze je
-vypisováno 'I!'.
-.
-.TP
-.B tile=xdlaždic:ydlaždic:poÄet_polÃ:start:odstup
-Vykreslà sadu obrázků do jednoho velkého jako dlaždice.
-Pokud vynecháte parametr nebo použijete hodnotu menšà než 0, je použita
-výchozà hodnota.
-Nastavovánà parametrů můžete kdykoliv ukonÄit (... \-vf tile=10:5 ...).
-ZaÅadit scale filtr pÅed tile se zdá být docela dobrý nápad :-)
-.sp 1
-Parametry jsou:
-.sp 1
-.PD 0
-.RSs
-.IPs <xdlaždic>
-poÄet dlaždic v ose x (výchozÃ: 5)
-.IPs <ydlaždic>
-poÄet dlaždic v ose y (výchozÃ: 5)
-.IPs <poÄet_polÃ>
-Vykreslà kompletnà dlažbu jakmile je zpracováno 'poÄet_polÃ' obrázků s tÃm,
-že 'poÄet_polÃ' by mÄlo být ÄÃslo menšà než xdlaždic * ydlaždic.
-ChybÄjÃcà dlaždice jsou prázdné.
-Můžete napÅÃklad zapsat dlažbu 8 * 7 dlaždic každých 50 snÃmků a dostat jeden
-obrázek každé 2 sekundy @ 25 fps.
-.IPs <start>
-pixelů od kraje (x/\:y) (výchozÃ: 2)
-.IPs <odstup>
-pixelů mezi 2 dlaždicemi (x/\:y) (výchozÃ: 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:Å¡:v:t]
-PotlaÄà logo TV stanice pomocà jednoduché interpolace okolnÃch pixelů.
-Pouze nastavte obdélnÃk okolo loga a sledujte jak zmizà (a Äas od Äasu se mÃsto nÄj
-objevà nÄco jeÅ¡tÄ Å¡karedÅ¡Ãho \- záležà na vkusu).
-.PD 0
-.RSs
-.IPs <x>,<y>
-Levý hornà roh loga.
-.IPs <Å¡>,<v>
-Å ÃÅka a výška ÄiÅ¡tÄného obdélnÃku.
-.IPs <t>
-Tloušťka nejasné hranice obdélnÃku (pÅidáno k Å¡ a v). Pokud je nastavena na \-1,
-zobrazà se zelený obdélnÃk na obrazovce, abychom mohli jednoduÅ¡e najÃt správné
-x,y,Å¡,v parametry.
-.RE
-.PD 1
-.
-.TP
-.B remove-logo=/cesta/k/bitmapovému_souboru_s_logem.pgm
-PotlaÄà logo TV stanice pomocà PGM nebo PPM obrázkového souboru, který
-oznaÄÃ, které pixely zobrazujà logo. Å ÃÅka a výška takového obrázku musÃ
-odpovÃdat rozmÄrům zpracovávaného videa.
-PoužÃvá filtrovacà obrázek a algoritmus kruhového rozostÅenà pro odstranÄnÃ
-loga.
-.RSs
-.IPs /cesta/k/bitmapovému_souboru_s_logem.pgm
-[cesta] + jméno_souboru filtrovacÃho obrázku.
-.RE
-.
-.TP
-.B zrmjpeg[=volby]
-Softwarový YV12 na MJPEG enkodér pro použità se zr2 video rozhranÃm.
-.RSs
-.IPs maxheight=<h>|maxwidth=<w>
-Tyto volby nastavujà maximálnà šÃÅku a výšku, kterou zr karta dokáže zpracovat
- (Filtrovacà vrstva MPlayeru si je zatÃm neumà zjistit).
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Použijte tyto volby k automatickému nastavenà max-Å¡ÃÅky a max-výšky na hodnoty
-známé pro kombinaci karta/\:režim.
-NapÅÃklad jsou platnými hodnotami: dc10-PAL a buz-NTSC (výchozÃ: dc10+PAL)
-.IPs color|bw
-Volà enkódovánà v barvÄ nebo ÄernobÃle.
-ÄernobÃlé enkódovánà je rychlejÅ¡Ã.
-Barva je výchozÃ.
-.IPs hdec={1,2,4}
-Horizontálnà dÄlenà 1, 2 nebo 4.
-.IPs vdec={1,2,4}
-Vertikálnà dÄlenà 1, 2 nebo 4.
-.IPs quality=1\-20
-Nastavà JPEG kompresnà kvalitu [NEJLEPÅ Ã] 1 \- 20 [ODPORNÃ].
-.IPs fd|nofd
-Ve výchozÃm stavu je dÄlenà provádÄno pouze pokud je Zoran hardware schopen
-škálovat výsledné MJPEG obrázky na původnà velikost.
-Volba fd naÅÃdà filtru provést zvolené dÄlenà vždy (Å¡karedé).
-.RE
-.
-.TP
-.B screenshot
-UmožÅuje poÅizovat snÃmky z filmu pomocà pÅÃkazů závislého režimu,
-které mohou být mapovány na tlaÄÃtka.
-Detaily viz dokumentace závislého režimu (slave mode) a sekce
-INTERAKTIVNÃ OVLÃDÃNÃ.
-Do pracovnÃho adresáÅe budou ukládány soubory pojmenované 'shotNNNN.png',
-kdy za NNNN bude použito prvnà volné ÄÃslo - žádné soubory nebudou pÅepsány.
-Filtr nemá žádné nároky pokud nenà použÃván a pÅijÃmá libovolný barevný
-prostor, takže jej bezpeÄnÄ můžete pÅidat do konfiguraÄnÃho souboru.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-PÅesune renderovánà SSA/ASS pÅed filtr screenshot.
-Takto sejmuté snÃmky obrazu budou obsahovat i titulky.
-.RE
-.PD 1
-.
-.TP
-.B "ass\ \ \ \ "
-PÅesune renderovánà SSA/ASS titulků do daného mÃsta ÅetÄzce filtrů.
-Použitelné pouze s volbou \-ass.
-.RE
- .
-.TP
-.B blackframe[=suma:práh]
-Detekuje snÃmky, které jsou (témÄÅ) úplnÄ Äerné.
-Může se hodit pro detekci pÅechodů kapitol nebo reklam.
-Výstupnà Åádky zahrnujà ÄÃslo detekovaného snÃmku, procento temnoty,
-typ snÃmku a ÄÃslo poslednÃho zaznamenaného klÃÄového snÃmku.
-.RSs
-.IPs <suma>
-Procento pixelů, které musà být pod úrovnà prahu (výchozÃ: 98).
-.IPs <práh>
-Práh pod kterým jsou pixely považovány za Äerné (výchozÃ: 32).
-.RE
-.
-.
-.
-.SH "OBECNÃ ENKÃDOVACÃ VOLBY (POUZE MENCODER)"
-.
-.TP
-.B \-audio\-delay <jakékoli desetinné ÄÃslo>
-Zpozdà zvuk nebo video pomocà nastavenà pole delay v hlaviÄce
-(výchozÃ: 0.0).
-Toto nezpůsobà žádné zpoždÄnà nÄkterého z datových proudů, ale pÅehrávaÄ
-uvidà nastavené zpoždÄnà a provede korekci.
-Kladné hodnoty zpožÄujà zvuk, záporné video.
-Poznamenejme, že je to pÅesný opak volby \-delay.
-NapÅÃklad pokud video hraje správnÄ s \-delay 0.2, můžete jej opravit
-MEncoderem pomocà \-audio\-delay \-0.2.
-.sp 1
-V souÄasnosti tato volba pracuje pouze s výchozÃm muxerem (\-of avi).
-PoužÃváte-li jiný muxer, musÃte použÃt volbu \-delay.
-.
-.TP
-.B \-audio\-density <1\-50>
-PoÄet zvukových chunků za sekundu (Výchozà jsou 2 audio chunky 0.5s dlouhé).
-.br
-.I POZNÃMKA:
-Pouze CBR, VBR toto ignoruje a ukládá každý paket do nového chunku.
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-Nastavà jak daleko napÅed se má naÄÃtat zvuk do vyrovnávacà pamÄti (výchozÃ: 0.5s).
-.
-.TP
-.B \-fafmttag <formát>
-Může být použitý k nahrazenà pÅÃznaku audio formátu výstupnÃho souboru.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-ZpůsobÃ, že zvuk ve výstupnÃm souboru bude mÃt pÅÃznak audio formátu nastaven
-na 0x55 (mp3).
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-Může být použito pro pÅepsánà video fourcc ve výstupnÃm souboru.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-Nastavà ve výstupnÃm souboru 'div3' jako video fourcc.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-PÅepÃÅ¡e údaj o pomÄru stran uložený v AVI OpenDML vprp hlaviÄce.
-Takto můžete zmÄnit pomÄr stran s '\-ovc copy'.
-.
-.TP
-.B \-frameno\-file <soubor> (ZAVRŽENA)
-Nastavà jméno zvukového souboru s mapovánÃm ÄÃsel snÃmků vytvoÅeného
-v prvnÃm (pouze zvuk) průchodu speciálnÃho tÅÃprůchodového režimu enkódovánÃ.
-.br
-.I POZNÃMKA:
-PoužitÃm tohoto režimu dosáhnete nejspÃÅ¡ rozjetà A-V synchronizace.
-NepoužÃvejte jej.
-Režim ponechán pouze pro zpÄtnou kompatibilitu a v budoucà verzi
-bude nejspÃÅ¡ odstranÄn.
-.
-.TP
-.B \-hr\-edl\-seek
-PoužÃvá preciznÄjÅ¡Ã, ale mnohem pomalejšà metodu pro vynechávánà ÄástÃ.
-Äásti urÄené k vynechánà nejsou pÅeskakovány, mÃsto toho jsou vÅ¡echny
-snÃmky dekódovány, ale pouze ty potÅebné jsou enkódovány.
-To umožÅuje zaÄÃnat mimo klÃÄové snÃmky.
-.br
-.I POZNÃMKA:
-Nemusà správnÄ pracovat pÅi '\-ovc copy'.
-.
-.TP
-.B \-info <volba1:volba2:...> (pouze AVI)
-Nastavà informaÄnà hlaviÄku výsledného AVI souboru.
-.sp 1
-Dostupné volby jsou:
-.RSs
-.IPs "help\ "
-Zobrazà tuto nápovÄdu.
-.IPs name=<hodnota>
-název dÃla
-.IPs artist=<hodnota>
-umÄlec nebo autor dÃla
-.IPs genre=<hodnota>
-žánr/kategorie dÃla
-.IPs subject=<hodnota>
-obsah dÃla
-.IPs copyright=<hodnota>
-informace o autorských právech
-.IPs srcform=<hodnota>
-originálnà formát digitalizovaného dÃla
-.IPs comment=<hodnota>
-obecné poznámky k dÃlu
-.RE
-.
-.TP
-.B \-noautoexpand
-Nevkládat automaticky filtr expand do MEncoderova filtrovacÃho ÅetÄzce.
-To je užiteÄné chcete-li ovlivnit ve které Äásti filtrovacÃho ÅetÄzce budou
-vykresleny titulky když je kódujete napevno do videa.
-.
-.TP
-.B \-noencodedups
-Ani se nepokoušà enkódovat duplicitnà snÃmky jako kopie; do výstupu jdou vždy
-snÃmky s nulovou délkou pro indikaci duplicit.
-SnÃmek nulové délky je zapsán tak jako tak, dokud nenà nahrán filtr nebo enkodér
-schopný enkódovat duplikáty.
-V souÄasnosti je to jediný filtr, a to harddup.
-.
-.TP
-.B \-noodml (pouze \-of avi)
-Nezapisovat OpenDML index do AVI souborů >1GB.
-.
-.TP
-.B \-noskip
-Nezahazovat snÃmky.
-.
-.TP
-.B \-o <soubor>
-Výstup jde do zadaného souboru namÃsto výchozÃho 'test.avi'.
-.
-.TP
-.B \-oac <jméno kodeku>
-Enkóduje zadaným audio kodekem (žádný výchozÃ).
-.br
-.I POZNÃMKA:
-Použijte \-oac help pro informaci o dostupných kodecÃch.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-oac copy"
-žádné enkódovánÃ, jen proudové kopÃrovánÃ
-.IPs "\-oac pcm"
-Enkóduje nekomprimovaný PCM.
-.IPs "\-oac mp3lame"
-Enkóduje do MP3 (pomocà Lame).
-.IPs "\-oac lavc"
-Enkóduje pomocà libavcodec kodeku.
-.RE
-.PD 1
-.
-.TP
-.B \-of <formát> (BETA KÃD!)
-Enkóduje do zadaného nosného formátu (výchozÃ: AVI).
-.br
-.I POZNÃMKA:
-Použijte \-of help pro informaci o dostupných formátech.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-of avi"
-Enkóduje do AVI (výchozÃ).
-.IPs "\-of mpeg"
-Enkóduje do MPEG (viz také \-mpegopts).
-.IPs "\-of lavf"
-Enkóduje pomocà libavformat muxerů (viz také \-lavfopts).
-.IPs "\-of rawvideo"
-surový video proud (žádný multiplex \- pouze jeden video proud)
-.IPs "\-of rawaudio"
-surový audio proud (žádný multiplex \- pouze jeden audio proud)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-Nastavuje snÃmkovou rychlost ve snÃmcÃch za sekundu (fps) výstupnÃho
-souboru, která může být odlišná od rychlosti zdroje.
-Volbu musÃte nastavit pro soubory s promÄnnou snÃmkovou rychlostÃ
-(ASF, nÄkteré MOV) a progresivnÃ
-(30000/1001 fps telecined MPEG) soubory.
-.
-.TP
-.B \-ovc <jméno kodeku>
-Enkóduje pomocà zadaného video kodeku (žádný výchozÃ).
-.br
-.I POZNÃMKA:
-Použijte \-ovc help pro informaci o dostupných kodecÃch.
-.sp 1
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-žádné enkódovánÃ, jen proudové kopÃrovánÃ
-.IPs "\-ovc raw"
-Enkóduje do libovolného nekomprimovaného formátu (použijte '\-vf format' pro
-nastavenÃ).
-.IPs "\-ovc lavc"
-Enkóduje pomocà libavcodec kodeků.
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <soubor>
-Ve dvouprůchodovém režimu enkódovánà budou informace z prvnÃho průchodu uloženy
-do <souboru> namÃsto výchozÃho divx2pass.log.
-.
-.TP
-.B \-skiplimit <hodnota>
-Nastavà maximálnà poÄet zahoditelných snÃmků po zakódovánà jednoho
-snÃmku (\-noskiplimit pro nekoneÄno).
-.
-.TP
-.B \-vobsubout <koÅen>
-Nastavuje koÅen pro jména výstupnÃch .idx a .sub souborů.
-Toto vypne renderovánà titulků v enkódovaném filmu a pÅevede je na
-VOBsub titulkové soubory.
-.
-.TP
-.B \-vobsuboutid <id_jazyku>
-Nastavà dvoupÃsmenný kód jazyka pro titulky.
-Toto pÅepÃÅ¡e informaci naÄtenou z DVD nebo .ifo souboru.
-.
-.TP
-.B \-vobsuboutindex <index>
-Nastavà index titulků ve výstupnÃm souboru (výchozÃ: 0).
-.
-.
-.
-.SH "ENKÃDOVACÃ VOLBY PRO JEDNOTLIVÃ KODEKY (POUZE MENCODER)"
-Enkódovacà volby pro kodeky můžete pÅedat pomocà následujÃcà syntaxe:
-.
-.TP
-.B \-<kodek>opts <volba1[=hodnota],volba2,...>
-.
-.PP
-Kde <kodek> může být: lavc, xvidenc, lame, toolame, twolame,
-nuv, xvfw, faac, x264enc, mpeg, lavf.
-.
-.
-.SS lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-nápovÄda
-.
-.TP
-.B vbr=<0\-4>
-metoda variabilnÃho datového toku
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (výchozÃ)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-průmÄrný datový tok
-.
-.TP
-.B "cbr\ \ \ \ "
-pevný datový tok
-Vynutà CBR režim enkódovánà také v nÞe uvedených pÅednastavených ABR režimech.
-.
-.TP
-.B br=<0\-1024>
-datový tok v kbit/\:s (pouze CBR a ABR)
-.
-.TP
-.B q=<0\-9>
-kvalita (0 \- nejlepÅ¡Ã, 9 \- nejhorÅ¡Ã) (pouze VBR)
-.
-.TP
-.B aq=<0\-9>
-algoritmizovaná kvalita (0 \- nejlepÅ¡Ã/\:nejpomalejÅ¡Ã, 9 \- nejhorÅ¡Ã/\:nejrychlejÅ¡Ã)
-.
-.TP
-.B ratio=<1\-100>
-kompresnà pomÄr
-.
-.TP
-.B vol=<0\-10>
-zisk audio vstupu
-.
-.TP
-.B mode=<0\-3>
-(výchozÃ: auto)
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-joint-stereo
-.IPs 2
-dualchannel
-.IPs 3
-mono
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-žádné
-.IPs 1
-vše
-.IPs 2
-pÅizpůsobivé
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-Zapne rychlejšà enkódovánà v nÞe uvedených VBR preset režimech. Výsledkem je
-ponÄkud horšà kvalita a vyššà datové toky.
-.
-.TP
-.B highpassfreq=<kmitoÄet>
-Nastavà kmitoÄet hornà propusti v Hz.
-KmitoÄty pod nastavenou mezà budou potlaÄeny.
-Nastavenà na \-1 vypne filtrovánÃ, nastavenà na 0
-sdÄlà LAME aby zvolil hodnoty automaticky.
-.
-.TP
-.B lowpassfreq=<kmitoÄet>
-Nastavà kmitoÄet dolnà propusti v Hz.
-KmitoÄty nad nastavenou mezà budou potlaÄeny.
-Nastavenà na \-1 vypne filtrovánÃ, nastavenà na 0
-sdÄlà LAME aby zvolil hodnoty automaticky.
-.
-.TP
-.B preset=<hodnota>
-pÅednastavà hodnoty
-.RSs
-.IPs "help\ "
-VypÃÅ¡e dalšà volby a informace o pÅednastavených hodnotách.
-.IPs medium
-VBR enkódovánÃ, dobrá kvalita, datový tok 150\-180 kbps
-.IPs standard
-VBR enkódovánÃ, vysoká kvalita, datový tok 170\-210 kbps
-.IPs extreme
-VBR enkódovánÃ, velmi vysoká kvalita, datový tok 200\-240 kbps
-.IPs insane
-CBR enkódovánÃ, nejvyššà pÅednastavitelná kvalita, datový tok 320 kbps
-.IPs <8\-320>
-ABR enkódovánà s průmÄrným datovým tokem na nastavené hodnotÄ
-.RE
-.sp 1
-.RS
-.I PÅÃKLADY:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-UrÄeno pro vÄtÅ¡inu lidà a vÄtÅ¡inu typů hudby poskytuje dostateÄnÄ vysokou kvalitu.
-.IPs cbr:preset=192
-Enkóduje s ABR pÅednastaveným na 192 kbps s vynuceným konstantnÃm datovým tokem.
-.IPs preset=172
-Enkóduje s ABR pÅednastaveným na 172 kbps průmÄrného datového toku.
-.IPs preset=extreme
-UrÄeno pro lidi s extrémnÄ dobrým sluchem a odpovÃdajÃcà aparaturou.
-.RE
-.PD 1
-.
-.
-.SS toolame a twolame (\-toolameopts a obdobnÄ \-twolameopts)
-.
-.TP
-.B br=<32\-384>
-V režimu CBR oznaÄuje datový tok v kbps, zatÃmco v režimu VBR je to
-minimálnà datový tok pro jeden rámec.
-Režim VBR nebude pracovat s hodnotou nižšà než 112.
-.
-.TP
-.B vbr=<\-50\-50> (pouze VBR)
-rozsah variability; je-li záporný, udržuje enkodér průmÄrný datový tok
-poblÞ nižšÃho prahu, je-li kladný, poblÞ vyššÃho.
-Je-li nastaven na 0, použije se CBR (výchozÃ).
-.
-.TP
-.B maxvbr=<32\-384> (pouze VBR)
-maximálnà datový tok povolený na rámec v kbps
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-(výchozÃ: mono pro 1-kanálový zvuk, jinak stereo)
-.
-.TP
-.B psy=<0\-4>
-psychoakustický model (výchozÃ: 2)
-.
-.TP
-.B errprot=<0 | 1>
-ZaÅadà ochranu proti chybám.
-.
-.TP
-.B debug=<0\-10>
-úroveÅ ladÃcÃch informacÃ
-.RE
-
-.PD 1
-.
-.
-.SS faac (\-faacopts)
-.
-.TP
-.B br=<datový_tok>
-průmÄrný datový tok v kbps (vzájemnÄ se vyluÄuje s quality)
-.
-.TP
-.B quality=<1\-1000>
-režim kvality, ÄÃm vyššÃ, tÃm lepšà (vzájemnÄ se vyluÄuje s br)
-.
-.TP
-.B object=<1\-4>
-komplexita typu objektu
-.PD 0
-.RSs
-.IPs 1
-MAIN (výchozÃ)
-.IPs 2
-LOW
-.IPs 3
-SSR
-.IPs 4
-LTP (extrémnÄ pomalé)
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-verze MPEG (výchozÃ: 4)
-.
-.TP
-.B "tns\ \ \ \ "
-Zapne profilovánà promÄnným Å¡umem.
-.
-.TP
-.B cutoff=<0\-vzorkovacÃ_kmitoÄet/2>
-meznà frekvence (výchozÃ: vzorkovacÃ_kmitoÄet/2)
-.
-.TP
-.B "raw\ \ \ \ "
-Ukládá datový tok jako surová data s extra daty v hlaviÄce nosiÄe
-(výchozÃ: 0, odpovÃdá ADTS).
-Tento pÅÃznak nenastavujte, pokud nenà výslovnÄ vyžadován, jinak nebudete
-pozdÄji schopni pÅipojit zvuk.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-.
-Mnoho libavcodec (krátce lavc) voleb je jen struÄnÄ dokumentovaných.
-Všechny detaily naleznete ve zdrojovém kódu.
-.PP
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B acodec=<hodnota>
-audio kodek (výchozÃ: mp2)
-.PD 0
-.RSs
-.IPs "ac3\ \ "
-Dolby Digital (AC-3)
-.IPs adpcm_*
-Adaptivnà PCM formáty - detaily viz HTML documentace.
-.IPs "flac\ "
-Free Lossless Audio Codec (FLAC)
-.IPs "g726\ "
-G.726 ADPCM
-.IPs libamr_nb
-3GPP Adaptive Multi-Rate (AMR) narrow-band
-.IPs libamr_wb
-3GPP Adaptive Multi-Rate (AMR) wide-band
-.IPs libfaac
-Advanced Audio Coding (AAC) - použÃvá FAAC
-.IPs libmp3lame
-MPEG-1 audio layer 3 (MP3) - použÃvá LAME
-.IPs "mp2\ \ "
-MPEG-1 audio layer 2 (MP2)
-.IPs pcm_*
-PCM formáty - detaily viz HTML dokumentace.
-.IPs roq_dpcm
-Id Software RoQ DPCM
-.IPs sonic
-Experimentálnà jednoduchý ztrátový kodek.
-.IPs sonicls
-Experimentálnà jednoduchý bezztrátový kodek.
-.IPs vorbis
-Vorbis
-.IPs wmav1
-Windows Media Audio v1
-.IPs wmav2
-Windows Media Audio v2
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<hodnota>
-Audio datový tok v kbit/\:s (výchozà 224).
-.
-.TP
-.B atag=<hodnota>
-Použije specifický Windows audio format tag (napÅ.\& atag=0x55).
-.
-.TP
-.B bit_exact
-Použijà se pouze preciznÃ, na bit pÅesné, algoritmy (s výjimkou (I)DCT).
-NavÃc bit_exact vypne nÄkolik optimalizacà a tudÞ by mÄl být použÃván výhradnÄ
-pro regresnà testy, kdy potÅebujeme binárnÄ identické soubory dokonce i pÅi
-zmÄnÄ verze enkodéru.
-Tato volba rovnÄž potlaÄà hlaviÄku user_data v MPEG-4 proudech.
-NepoužÃvejte tuto volbu, pokud nevÃte pÅesnÄ co dÄláte.
-.
-.TP
-.B threads=<1\-8>
-Maximálnà poÄet použitých vláken (výchozÃ: 1).
-Může mÃt mÃrnÄ negativnà vliv na odhadovánà pohybu.
-.RE
-.
-.TP
-.B vcodec=<hodnota>
-Použije zadaný kodek (výchozÃ: mpeg4).
-.PD 0
-.RSs
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs dvvideo
-Sony Digital Video
-.IPs "ffv1\ "
-bezztrátový video kodek z FFmpeg
-.IPs ffvhuff
-nestandardnà o 20% menšà HuffYUV použÃvajÃcà YV12
-.IPs "flv\ \ "
-Sorenson H.263 použÃvaný ve Flash Videu
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs huffyuv
-HuffYUV
-.IPs libtheora
-Theora
-.IPs libx264
-x264 H.264/AVC MPEG-4 Part 10
-.IPs libxvid
-Xvid MPEG-4 Part 2 (ASP)
-.IPs ljpeg
-Lossless JPEG
-.IPs mjpeg
-Motion JPEG
-.IPs mpeg1video
-MPEG-1 video
-.IPs mpeg2video
-MPEG-2 video
-.IPs mpeg4
-MPEG-4 (DivX 4/5)
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG4v2
-.IPs roqvideo
-ID Software RoQ Video
-.IPs "rv10\ "
-starý RealVideo kodek
-.IPs "snow (also see: vstrict)"
-Experimentálnà kodek z FFmpeg založený na vlnkové analýze (wavelet)
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs "wmv1\ "
-Windows Media Video, verze 1 (alias WMV7)
-.IPs "wmv2\ "
-Windows Media Video, verze 2 (alias WMV8)
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-minimálnà kvantizer (průchod\ 1/2)
-.RSs
-.IPs 1
-NedoporuÄujeme (mnohem vÄtšà soubor, malý rozdÃl v kvalitÄ a divné vedlejÅ¡Ã
-úÄinky: msmpeg4, h263 budou mÃt velmi Å¡patnou kvalitu, regulátor datového toku
-bude zmatený, což povede ke snÞenà kvality a nÄkteré dekodéry nebudou schopny
-takové video dekódovat).
-.IPs 2
-DoporuÄeno pro normálnà mpeg4/\:mpeg1video enkódovánà (výchozÃ).
-.IPs 3
-DoporuÄeno pro h263(p)/\:msmpeg4.
-Důvod preference 3 pÅed 2 je ten, že 2 může vést k pÅeteÄenÃm.
-(Toto bude v budoucnu opraveno pro h263(p) zámÄnou za
-kvantizer na MB, msmpeg4 nemůže být takto opraven jelikož to nepodporuje.)
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-Minimálnà Lagrangeův násobiÄ pro regulátor datového toku na úrovni snÃmku (výchzÃ: 2.0).
-Lavc zÅÃdka použije quantizery pod hodnotou lmin.
-SnÞenÃm lmin pÅinutÃte lavc pro nÄkteré snÃmky spÃÅ¡e volit nižšà kvantizery,
-ale ne nižšà než hodnota vqmin.
-ObdobnÄ zvýšenÃm lmin pÅinutà lavc vÃce volit nÃzké kvantizery,
-dokonce i když by je vqmin povolila.
-MÄli byste asi nastavit lmin pÅibližnÄ stejnÄ jako vqmin.
-PoužÃváte-li adaptivnà kvantizaci, zmÄna lmin/lmax může mÃt menÅ¡Ã
-efekt; viz mblmin/mblmax.
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-maximálnà Lagrangeův násobiÄ pro regulátor datového toku (výchozÃ: 31.0)
-.RE
-.
-.TP
-.B mblmin=<0.01\-255.0>
-Minimálnà Lagrangeův násobiÄ pro ÅÃzenà datového toku na úrovni makrobloku
-(výchozÃ:2.0).
-Tento parametr ovlivÅuje adaptivnà kvantizaci jako qprd,
-lumi_mask, atd...
-.RE
-.
-.TP
-.B mblmax=<0.01\-255.0>
-Maximálnà Lagrangeův násobiÄ pro ÅÃzenà datového toku na úrovni makrobloku
-(výchozÃ: 31.0).
-.RE
-.
-.TP
-.B vqscale=<0\-31>
-Konstantnà kvantizer /\: enkódovánàs konstantnà kvalitou (nastavà pevný
-kvantizer režim).
-Nižšà hodnota znamená lepšà kvalitu, ale vÄtšà soubory (výchozÃ: \-1).
-V pÅÃpadÄ snow kodeku znamená hodnota 0 bezztrátové enkódovánÃ.
-Jelikož ostatnà kodeky to nepodporujÃ, vqscale=0 bude mÃt nedefinovaný
-efekt.
-1 nenà doporuÄována (podrobnÄ viz vqmin).
-.
-.TP
-.B vqmax=<1\-31>
-Maximálnà kvantizer (průchod\ 1/2) 10\-31 mÄl by být v rozumném rozsahu (výchozÃ: 31).
-.
-.TP
-.B mbqmin=<1\-31>
-zastaralé, použijte vqmin
-.
-.TP
-.B mbqmax=<1\-31>
-zastaralé, použijte vqmax
-.
-.TP
-.B vqdiff=<1\-31>
-maximálnà odliÅ¡nost kvantizeru mezi po sobÄ jdoucÃmi I- nebo P-snÃmky
-(průchod\ 1/2) (výchozÃ: 3)
-.
-.TP
-.B vmax_b_frames=<0\-4>
-maximálnà poÄet B-snÃmků mezi ne-B-snÃmky:
-.PD 0
-.RSs
-.IPs 0
-žádné B-snÃmky (výchozÃ)
-.IPs 0\-2
-rozumný rozsah pro MPEG-4
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-metoda odhadovánà pohybu.
-.sp 1
-Dostupné metody jsou:
-.PD 0
-.RSs
-.IPs 0
-žádná (mizerná kvalita)
-.IPs 1
-úplná (pomalá, momentálnÄ neudržovaná a vypnutá)
-.IPs 2
-log (nÃzká kvalita, momentálnÄ neudržovaná a vypnutá)
-.IPs 3
-phods (nÃzká kvalita, momentálnÄ neudržovaná a vypnutá)
-.IPs 4
-EPZS: diamant velikost=1, velikost může být nastavena pomocà *dia voleb
-(výchozÃ)
-.IPs 5
-X1 (experimentálnÃ, momentálnÄ je aliasem pro EPZS)
-.IPs 8
-iter (iterative overlapped block, použitý pouze ve snow)
-.RE
-.PD 1
-.sp 1
-.I POZNÃMKA:
-0\-3 v souÄasnosti ignoruje množstvà spotÅebovaných bitů,
-takže kvalita může být nÃzká.
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-vyhledávacà rozsah odhadovánà (výchozÃ: 0 (neomezený))
-.
-.TP
-.B mbd=<0\-2> (viz také *cmp, qpel)
-Rozhodovacà algoritmus makrobloku (režim vysoké kvality), enkóduje každý
-makroblok ve vÅ¡ech režimech a vybere nejlepÅ¡Ã.
-Toto je pomalé, ale výsledkem je lepšà kvalita a velikost souboru.
-Je-li mbd nastaveno na 1 nebo 2, je hodnota mbcmp ignorována pÅi porovnávánÃ
-makrobloků.
-Avšak je-li hodnota jakékoli porovnávacà volby (precmp, subcmp, cmp nebo mbcmp)
-nenulová, použije se pomalejšà ale lepšà půlpixelové vyhledávánà pohybu,
-bez ohledu na nastavenà mbd.
-Je-li nastaveno qpel, použije se vždy Ätvrtpixelová pÅesnost.
-.PD 0
-.RSs
-.IPs 0
-Použije porovnávacà funkci danou mbcmp (výchozÃ).
-.IPs 1
-Zvolà takový režim makrobloku který spotÅebuje nejménÄ bitů (=vhq).
-.IPs 2
-Zvolà režim makrobloku který má nejlepšà omezenà datového toku.
-.RE
-.PD 1
-.TP
-.B "vhq\ \ \ \ "
-Stejné jako mbd=1, zachováno z důvodu kompatibility.
-.
-.TP
-.B "v4mv\ \ \ "
-Povoleny 4 vektory pohybu na makroblok (o nÄco lepšà kvalita).
-Pracuje lépe v kombinaci s mbd>0.
-.
-.TP
-.B "obmc\ \ \ "
-kompenzace pohybu pÅekrývajÃcÃch se makrobloků (H.263+)
-.
-.TP
-.B "loop\ \ \ "
-loop filtr (H.263+)
-pozor, tento je vadný
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-MomentálnÄ nedÄlá vůbec nic.
-.
-.TP
-.B keyint=<0\-300>
-maximálnà interval mezi klÃÄovými snÃmky ve snÃmcÃch (výchozÃ: 250 neboli jeden
-klÃÄový (I) snÃmek na každých 10 sekund pÅi rychlosti 25 snÃmků za sekundu.
-To je doporuÄená výchozà hodnota pro MPEG-4).
-VÄtÅ¡ina kodeků vyžaduje pravidelné klÃÄové snÃmky, aby se omezila akumulace
-chyb. KlÃÄové snÃmky jsou rovnÄž použity pro pÅevÃjenÃ, jelikož pÅevÃjet lze
-pouze na klÃÄové snÃmky, ale klÃÄové snÃmky potÅebujà vÃce prostoru než ostatnÃ
-snÃmky, takže velké ÄÃslo povede k o nÄco menÅ¡Ãmu souboru, ale nepÅesnÄjÅ¡Ãmu
-pÅevÃjenÃ. 0 je ekvivalentnà 1, tedy že vÅ¡echny snÃmky budou klÃÄové.
-Hodnoty >300 nejsou doporuÄovány, protože kvalita může být Å¡patná v závislosti
-na dekodéru, enkodéru a Å¡tÄstÃ.
-V MPEG-1/2 je bÄžné použÃvat hodnoty <=30.
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-Práh detekce zmÄny scény.
-KlÃÄový snÃmek je vložen jakmile libavcodec zjistà zmÄnu scény.
-Tato volba nastavuje citlivost detekce.
-\-1000000000 způsobÃ, že zmÄna scény bude detekována v každém snÃmku,
-1000000000 znamená že nebudou detekovány žádné zmÄny scény (výchozÃ: 0).
-.
-.TP
-.B sc_factor=<jakékoli kladné celé ÄÃslo>
-ZpůsobÃ, že snÃmky s vyššÃmi kvantizery budou ÄastÄji spouÅ¡tÄt detekci zmÄny
-scény a ukládat libavcodecu použità I-snÃmku (výchozÃ: 1).
-BezpeÄný je rozsah 1\-16.
-Hodnoty mezi 2 a 6 mohou vést k lepÅ¡Ãmu PSNR (v průmÄru do 0.04 dB) a lepÅ¡Ã
-umÃstÄnà I-snÃmků ve vysokorychlostnÃch scénách.
-Vyššà hodnoty než 6 mohou dát nepatrnÄ lepšà PSNR (průmÄrnÄ o 0.01 dB vÃc, než
-sc_factor=6), ale znatelnÄ horšà vizuálnà kvalitu.
-.
-.TP
-.B vb_strategy=<0\-2> (pouze prvnà průchod)
-strategie výbÄru mezi I/P/B-snÃmky:
-.RSs
-.IPs 0
-Vždy použÃvat maximálnà poÄet B-snÃmků (výchozÃ).
-.IPs 1
-Vyhnout se B-snÃmkům ve vysoce pohyblivých scénách.
-Viz volbu b_sensitivity pro vyladÄnà této strategie.
-.IPs 2
-UmÃsÅ¥uje B-snÃmky vÃce ménÄ optimálnÄ pro dosaženà maximálnà kvality
-(pomalejÅ¡Ã). Spomalenà způsobené touto volbou můžete snÞit doladÄnÃm volby
-brd_scale.
-.RE
-.PD 1
-.
-.TP
-.B b_sensitivity=<jakékoli celé ÄÃslo vÄtšà než 0>
-Nastavuje jak citlivÄ bude vb_strategy=1 detekovat pohyb a zabraÅuje použitÃ
-B-snÃmků (výchozÃ: 40).
-Nižšà citlivost povede k vÃce B-snÃmkům.
-Použità vÃce B-snÃmků obvykle vylepšà PSNR, ale pÅÃliÅ¡ mnoho B-snÃmků může
-poškodit kvalitu ve velmi pohyblivých scénách.
-Pokud zde nenà extrémnÄ mnoho pohybu, může být b_sensitivity bezpeÄnÄ
-snÞena pod výchozà hodnotu; 10 je ve vÄtÅ¡inÄ pÅÃpadů rozumná hodnota.
-.
-.TP
-.B brd_scale=<0\-10>
-SnÞà rozliÅ¡enà snÃmků pro dynamické hodnocenà vhodnosti B-snÃmku (výchozÃ: 0).
-Každé zvýšenà brd_scale o jednu způsobà zmenÅ¡enà rozmÄrů snÃmku na polovinu, což
-zvýšà rychlost ÄtyÅnásobnÄ.
-Oba rozmÄry po zmÄnÅ¡enà musà být sudé, takže brd_scale=1 vyžaduje aby
-originálnà rozmÄry byly násobkem ÄtyÅ, brd_scale=2 násobky osmi, atd.
-Jinými slovy musà být původnà rozmÄry snÃmku beze zbytku dÄlitelné
-2^(brd_scale+1).
-.
-.TP
-.B bidir_refine=<0\-4>
-RadÄji zpÅesnà oba vektory pohybu použité v dvousmÄrných makroblocÃch, než by
-znovu použil vektory ze zpÄtného a dopÅedného vyhledávánÃ.
-Bez B-snÃmků nemá tato volba žádný efekt.
-.PD 0
-.RSs
-.IPs 0
-Vypnuto (výchozÃ).
-.IPs 1\-4
-Použije Å¡iršà vyhledávánà (vyššà hodnoty jsou pomalejÅ¡Ã).
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-Aktivuje internà dvou(nebo vÃce)průchodový režim, uveÄte pouze v pÅÃpadech kdy chcete
-provádÄt dvou(vÃce)průchodové enkódovánÃ.
-.PD 0
-.RSs
-.IPs 1
-prvnà průchod (viz také turbo)
-.IPs 2
-druhý průchod
-.IPs 3
-N-tý průchod (druhý a dalšà průchody ve vÃceprůchodovém režimu enkódovánÃ)
-.RE
-.RS
-Popis funkce a použitÃ:
-.br
-V prvnÃm průchodu (vpass=1) se zapÚà statistická data do souboru.
-Asi budete chtÃt vypnout nÄkteré volby nároÄné na CPU, podobnÄ jako to
-dÄlá "turbo" režim.
-.br
-Ve dvouprůchodovém režimu: se ve druhém průchodu (vpass=2) Ätou statistiky
-z prvnÃho průchodu. Na jejich základÄ pak probÃhá rozhodovánà regulátoru
-datového toku.
-.br
-Ve vÃceprůchodovém režimu: se ve druhém průchodu (vpass=3, toto nenà pÅeklep)
-nejprve pÅeÄtou statistiky a následnÄ jsou pÅepsány.
-MusÃte si zálohovat divx2pass.log jeÅ¡tÄ pÅed provedenÃm druhého průchodu pokud
-je sebemenšà možnost, že byste z nÄjakého důvodu pÅeruÅ¡ili MEncoder.
-Můžete použÃt vÅ¡echny enkódovacà volby, kromÄ tÄch velmi nároÄných na CPU,
-jako je "qns".
-.br
-Tento průchod můžete opakovat stále dokola a dolaÄovat enkódovánÃ.
-Každý následujÃcà průchod použije statistiky svého pÅedchůdce pro vylepÅ¡enÃ.
-Poslednà průchod může zahrnovat jakékoli volby nároÄné na CPU.
-.br
-Pokud chcete dvouprůchodové enkódovánÃ, použijte nejprve vpass=1 a poté vpass=2.
-.br
-Pokud chcete 3 nebo vÃceprůchodové enkódovánÃ, použijte vpass=1 pro prvnÃ
-průchod a pak vpass=3 znovu a znovu, dokud nebudete spokojeni s výsledkem.
-.RE
-.PD 1
-.sp 1
-.RS
-HuffYUV:
-.RE
-.PD 0
-.RSs
-.IPs pass 1
-Uložà statistiky.
-.IPs pass 2
-Enkóduje s optimálnà Huffmanovou tabulkou založenou na statistikách z prvnÃho
-průchodu.
-.RE
-.PD 1
-.
-.TP
-.B turbo (pouze dvouprůchodový režim)
-VýraznÄ urychlà prvnà průchod dÃky rychlejÅ¡Ãm algoritmům a vypnutÃm voleb
-nároÄných na CPU.
-PravdÄpodobnÄ o nÄco snÞà celkový PSNR (kolem 0.01dB) a
-o nÄco vÃce zmÄnà PSNR (až do 0.03dB) a typ jednotlivých snÃmků.
-.
-.TP
-.B aspect=<x/y>
-Ukládá pomÄr stran filmu internÄ, stejnÄ jako v MPEG souborech.
-Výsledek je hezÄà než po pÅeÅ¡kálovánÃ, protože nenà snÞena kvalita.
-Pouze MPlayer takové soubory pÅehraje správnÄ, ostatnà pÅehrávaÄe je budou
-zobrazovat s nesprávným pomÄrem stran.
-PomÄr stran může být zadán jako zlomek nebo desetinné ÄÃslo.
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/9 nebo aspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-Stejné jako volba aspect, ale pomÄr stran se spoÄÃtá automaticky, vÄetnÄ zmÄn
-provedených v ÅetÄzu filtrů (crop/\:expand/\:scale/\:atd.).
-NepÅedstavuje žádné snÞenà výkonnosti, takže můžete mÃt tuto volbu stále
-zapnutou.
-.
-.TP
-.B vbitrate=<hodnota>
-Nastavà datový tok (průchod\ 1/2) (výchozÃ: 800).
-.br
-.I VAROVÃNÃ:
-1kbit = 1000 bitů.
-.PD 0
-.RSs
-.IPs 4\-16000
-(v kilobitech)
-.IPs 16001\-24000000
-(v bitech)
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<hodnota>
-pÅibližná tolerance velikosti souboru v kbitech.
-1000\-100000 je rozumný rozsah.
-(pozor: 1kbit = 1000 bitů)
-(výchozÃ: 8000)
-.br
-.I POZNÃMKA:
-Hodnota vratetol by nemÄla být pÅÃliÅ¡ velká pÅi druhém průchodu, jinak můžou
-nastat problémy pÅi použità vrc_(min|max)rate.
-.
-.TP
-.B vrc_maxrate=<hodnota>
-maximálnà datový tok v kbit/\:sec (průchod\ 1/2)
-(výchozÃ: 0, neomezený)
-.
-.TP
-.B vrc_minrate=<hodnota>
-minimálnà datový tok kbit/\:sec (průchod\ 1/2)
-(výchozÃ: 0, neomezený)
-.
-.TP
-.B vrc_buf_size=<hodnota>
-vyrovnávacà pamÄÅ¥ v kbit (průchod\ 1/2).
-V MPEG-1/\:2 se takto rovnÄž nastavà velikost vbv bufferu, pro VCD nastavte 327,
-pro SVCD 917 a pro DVD 1835.
-.
-.TP
-.B vrc_buf_aggressivity
-v souÄasnosti nepoužitelné
-.
-.TP
-.B vrc_strategy
-Metoda kontroly toku.
-Pamatujte, že nÄkteré volby ovlivÅujÃcà kontrolu toku pÅestanou mÃt vliv, pokud
-vrc_strategy nebude nastavena na 0.
-.PD 0
-.RSs
-.IPs 0
-Použije internà lavc kontrolu toku (výchozÃ).
-.IPs 1
-Použije Xvid kontrolu toku (experimentálnÃ; vyžaduje MEncoder skompilovaný s
-podporou Xvid 1.1 nebo vyššÃm).
-.RE
-.PD 1
-.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-kvantizaÄnà faktor mezi B- a ne-B-snÃmky (průchod\ 1/2) (výchozÃ: 1.25)
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-kvantizaÄnà faktor mezi I- a ne-I-snÃmky (průchod\ 1/2) (výchozÃ: 0.8)
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-pÅesah kvantizace mezi B- a ne-B-snÃmky (průchod\ 1/2) (výchozÃ: 1.25)
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-(průchod\ 1/2) (výchozÃ: 0.0)
-.br
-if v{b|i}_qfactor > 0
-.br
-I/B-snÃmkový kvantizer = P-snÃmkový kvantizer * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-else
-.br
-provádÄt normálnà ÅÃzenà toku (nefixovat se na kvantizer následujÃcÃho P-snÃmku) a
-nastavit q= -q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I TIP:
-Chcete-li enkódovat s konstantnÃm kvantizerem a odliÅ¡nými kvantizery pro
-I/P- a B-snÃmky, použijte:
-lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>
-.
-.TP
-.B vqblur=<0.0\-1.0> (prvnà průchod)
-RozostÅenà kvantizeru, vÄtšà hodnoty způsobà vÄtšà průmÄrovánà kvantizeru
-v Äase (pomalejšà zmÄny).
-.RSs
-.IPs 0.0
-RozostÅenà kvantizeru zakázáno.
-.IPs 1.0
-PrůmÄruje kvantizer vÅ¡emi pÅedchozÃmi snÃmky.
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0> (druhý průchod)
-Gaussovo rozostÅenà kvantizeru (výchozÃ: 0.5), vÄtšà hodnoty způsobà vÄtÅ¡Ã
-průmÄrovánà kvantizeru
-v Äase (pomalejšà zmÄny).
-.
-.TP
-.B vqcomp=<0.0\-1.0>
-Komprese kvantizeru na nÞ závisà vrc_eq (průchod\ 1/2) (výchozÃ: 0,5).
-NapÅÃklad pÅedpokládejme, že je použita výchozà rovnice pro ÅÃzenà datového
-toku: Pokud vqcomp=1.0, regulátor datového toku alokuje pro každý snÃmek
-tolik bitů, aby mohly být enkódovány pÅi stejném QP.
-Pokud vqcomp=0.0, regulátor datového toku alokuje vÅ¡em snÃmkům stejnÄ, Äili
-zcela CBR.
-.I POZNÃMKA:
-Toto byla extrémnà nastavenÃ, která by nemÄla být nikdy použita.
-Rozumné kvality bývá dosaženo nÄkde mezi tÄmito extrémy.
-.
-.TP
-.B vrc_eq=<rovnice>
-hlavnà rovnice kontroly datového toku (průchod\ 1/2)
-.RE
-.RSs
-.IPs "1\ \ \ \ "
-konstantnà datový tok
-.IPs "tex\ \ "
-konstantnà kvalita
-.IPs 1+(tex/\:avgTex-1)*qComp
-pÅibližnÄ rovnice ze starého kódu ÅÃzenà toku
-.IPs tex^qComp
-s qcomp 0.5 nebo tak nÄjak (výchozÃ)
-.RE
-.PP
-.RS
-vložené operátory:
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-promÄnné:
-.RE
-.RSs
-.IPs "tex\ \ "
-komplexnost textury
-.IPs iTex,pTex
-komplexnost intra a ne-intra textury
-.IPs avgTex
-průmÄrná komplexnost textury
-.IPs avgIITex
-průmÄrná komplexnost intra textury v I-snÃmcÃch
-.IPs avgPITex
-průmÄrná komplexnost intra textury v P-snÃmcÃch
-.IPs avgPPTex
-průmÄrná komplexnost ne-intra textury v P-snÃmcÃch
-.IPs avgBPTex
-průmÄrná komplexnost ne-intra textury v B-snÃmcÃch
-.IPs "mv\ \ \ "
-poÄet bitů použitých na pohybové vektory
-.IPs fCode
-maximálnà délka vektoru pohybu v log2 škále
-.IPs iCount
-poÄet intra makrobloků / poÄet makrobloků
-.IPs "var\ \ "
-prostorová komplexnost
-.IPs mcVar
-okamžitá komplexnost
-.IPs qComp
-qcomp z pÅÃkazového Åádku
-.IPs "isI, isP, isB"
-Je rovno 1 pokud je obrázek typu I/P/B jinak je rovno 0
-.IPs "Pi,E\ "
-Viz vaÅ¡e oblÃbená uÄebnice matematiky
-.RE
-.PP
-.RS
-funkce:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-maximum / minimum
-.IPs gt(a,b)
-je rovno 1 pokud a>b, jinak 0
-.IPs lt(a,b)
-je rovno 1 pokud a<b, jinak 0
-.IPs eq(a,b)
-je rovno 1 pokud a==b, jinak 0
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<volby>
-Uživatelem definovaná kvalita pro uvedené Äásti (konec, titulky, ...) (průchod\ 1/2).
-Volby jsou <prvnÃ_snÃmek>, <poslednÃ_snÃmek>, <kvalita>[/<prvnÃ_snÃmek>,
-<poslednÃ_snÃmek>, <kvalita>[/...]]:
-.RSs
-.IPs "kvalita (2\-31)"
-kvantizer
-.IPs "kvalita (\-500\-0)"
-korekce kvality v %
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-poÄáteÄnà komplexnost (průchod 1)
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-PoÄáteÄnà naplnÄnà vyrovnávacà pamÄti jako zlomek vrc_buf_size (výchozÃ: 0.9)
-.
-.TP
-.B vqsquish=<0|1>
-UrÄuje jak udržet kvantizer mezi qmin a qmax (průchod\ 1/2).
-.PD 0
-.RSs
-.IPs 0
-Použije vystÅihávánà (clipping).
-.IPs 1
-Použije pÄknou diferenciálnà funkci (výchozÃ).
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-Nastavà samostatný práh pro potlaÄovánà souÄinitele jasu.
-PÅi záporné hodnotÄ se bere v potaz i DC koeficient (mÄl by být aspoÅ \-4
-nebo nižšà enkódujete-li s quant=1):
-.PD 0
-.RSs
-.IPs 0
-vypnuto (výchozÃ)
-.IPs \-4
-doporuÄenà JVT
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-Nastavà samostatný práh pro potlaÄovánà souÄinitele barevnosti.
-PÅi záporné hodnotÄ se bere v potaz i DC koeficient (mÄl by být aspoÅ \-4
-nebo nižšà enkódujete-li s quant=1):
-.PD 0
-.RSs
-.IPs 0
-vypnuto (výchozÃ)
-.IPs 7
-doporuÄenà JVT
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-striktnà sluÄitelnost se standardem
-.RSs
-.IPs 0
-vypnuto
-.IPs 1
-Toto nastavenà lze doporuÄit pouze pokud chcete výstup posÃlat do referenÄnÃho
-MPEG-4 dekodéru.
-.IPs \-1
-Povolà specifická rozÅ¡ÃÅenà libavcodec (výchozÃ).
-.IPs \-2
-Povolà použità experimentálnÃch kodeků a vlastnostÃ, které nemusà být
-pÅehratelné budoucÃmi verzemi MPlayeru (snow).
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-DÄlenà dat.
-PÅidá 2 Bajty ke každému video paketu, zvýšà odolnost proti chybám pÅi pÅenosu
-nespolehlivými kanály (napÅ.\& streaming pÅes internet).
-Každý video paket bude zakódován ve tÅech oddÄlených Äástech:
-.PD 0
-.RSs
-.IPs "1. MV"
-vektory pohybu
-.IPs "2. DC koeficienty"
-obrázek s nÃzkým rozliÅ¡enÃm
-.IPs "3. AC koeficienty"
-detaily
-.RE
-.PD 1
-.RS
-MV & DC jsou nejdůležitÄjÅ¡Ã, jejich ztráta vypadá mnohem hůÅe než ztráta AC
-a 1. & 2. Äásti.
-(MV & DC) jsou mnohem menšà než tÅetà Äást (AC) což znamená že chyby budou
-postihovat AC Äást mnohem ÄastÄji než Äásti MV & DC.
-Äili obrázek bude vypadat lépe s rozdÄlenÃm než bez nÄj, protože bez rozdÄlenÃ
-budou chyby niÄit vÅ¡echny složky AC/\:DC/\:MV stejnÄ.
-.RE
-.
-.TP
-.B vpsize=<0\-10000> (viz také vdpart)
-Velikost video paketu, zvyšuje odolnost proti chybám.
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-vypnuto (výchozÃ)
-.IPs 100\-1000
-dobrá volba
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-režim struktury malých plošek pro H.263+
-.
-.TP
-.B "gray\ \ \ "
-enkódovánà pouze v odstÃnech Å¡edé (rychlejÅ¡Ã)
-.
-.TP
-.B vfdct=<0\-10>
-DCT algoritmus
-.PD 0
-.RSs
-.IPs 0
-Automaticky vybrat nejlepšà (výchozÃ).
-.IPs 1
-rychlý celoÄÃselný
-.IPs 2
-pÅesný celoÄÃselný
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-s plovoucà Åádovou Äárkou AAN
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-IDCT algoritmus.
-.br
-.I POZNÃMKA:
-Podle naÅ¡eho nejlepÅ¡Ãho vÄdomà vÅ¡echny tyto IDCT splnà IEEE1180 testy.
-.PD 0
-.RSs
-.IPs 0
-Automaticky vybrat nejlepšà (výchozÃ).
-.IPs 1
-JPEG referenÄnà celoÄÃselný
-.IPs 2
-jednoduchý
-.IPs 3
-jednoduchý mmx
-.IPs 4
-libmpeg2mmx (nepÅesný, nepoužÃvejte k enkódovánà s keyint >100)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.IPs 10
-simplearm
-.IPs 11
-H.264
-.IPs 12
-VP3
-.IPs 13
-IPP
-.IPs 14
-xvidmmx
-.IPs 15
-CAVS
-.IPs 16
-simplearmv5te
-.IPs 17
-simplearmv6
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-Maskovánà svÄtla je 'psychovizuálnÃ' nastavenà využÃvajÃcà poznatku, že lidské
-oko rozliÅ¡uje ménÄ detailů ve velmi jasných Äástech obrázku.
-Maskovánà svÄtla komprimuje jasné oblasti silnÄji než ty ménÄ jasné.
-Takto uÅ¡etÅené bity mohou být použity v ostatnÃch snÃmcÃch, ÄÃmž se zlepÅ¡Ã
-celková subjektivnà kvalita ale možná se snÞà PSNR.
-.br
-.I VAROVÃNÃ:
-BuÄte opatrnÃ, pÅÃliÅ¡ vysoké hodnoty mohou způsobit různé straÅ¡idelnosti.
-.br
-.I VAROVÃNÃ:
-Vysoké hodnoty mohou vypadat dobÅe na nÄkterých monitorech / TV / TFT,
-ale na jiných odpornÄ.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-vypnuto (výchozÃ)
-.IPs 0.0\-0.3
-rozumný rozsah
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-Maskovánà tmy je 'psychovizuálnÃ' nastavenà využÃvajÃcà poznatku, že lidské
-oko rozliÅ¡uje ménÄ detailů ve velmi tmavých Äástech obrázku.
-Maskovánà tmy komprimuje tmavé oblasti silnÄji než ty ménÄ tmavé.
-Takto uÅ¡etÅené bity mohou být použity v ostatnÃch snÃmcÃch, ÄÃmž se zlepÅ¡Ã
-subjektivnà kvalita ale možná se snÞà PSNR.
-.br
-.I VAROVÃNÃ:
-BuÄte opatrnÃ, pÅÃliÅ¡ vysoké hodnoty mohou způsobit různé straÅ¡idelnosti.
-.br
-.I VAROVÃNÃ:
-Vysoké hodnoty mohou vypadat dobÅe na nÄkterých monitorech / TV / TFT,
-ale na jiných odpornÄ.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-vypnuto (výchozÃ)
-.IPs 0.0\-0.3
-rozumný rozsah
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-Maskovánà okamžité komplexnosti (výchozÃ: 0.0 (vypnuto)).
-.br
-PÅedstavme si scénu s ptákem letÃcÃm pÅes celou obrazovku; tcplx_mask
-zvýšà kvantizery ptaÄÃch makrobloků (což snÞà jejich kvalitu), protože lidské
-oko si zpravidla nemá Äas vÅ¡imnout vÅ¡ech ptaÄÃch detailů.
-UpozorÅujeme, že pokud se maskovaný objekt zastavà (napÅ.\& pták pÅistane),
-pak bude po urÄitou dobu vypadat hroznÄ, dokud enkodér nepozná, že se objekt
-nehýbe a potÅebuje kvalitnà makrobloky.
-UÅ¡etÅené bity jsou použity na zbytek scény, což zvyÅ¡uje subjektivnà kvalitu a
-je důvodem pro opatrné nasazovánà filtru.
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-Maskovánà prostorové komplexnosti.
-VÄtšà hodnoty potlaÄujà ÄtvereÄkovánÃ, pokud nenà použÃván žádný deblokovacÃ
-filtr pÅi dekódovánÃ, což nebývá dobrý nápad.
-.br
-PÅedstavme si scénu s domem, trávnÃkem (ten mÃvá vysokou prostorovou
-komplexnost) a modrým nebem. Filtr scplx_mask zvýšà kvantizery makrobloků trávy
-(což snÞà jejich kvalitu) a uÅ¡etÅené bity použije na dům a oblohu.
-.br
-.I TIP:
-OÅÃznÄte veÅ¡keré Äerné okraje, protože snižujà kvalitu makrobloků (to
-platà i bez použità scplx_mask).
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-vypnuto (výchozÃ)
-.IPs 0.0\-0.5
-rozumný rozsah
-.RE
-.PD 1
-.sp 1
-.RS
-.I POZNÃMKA:
-Tato volba nemá stejný efekt jako použità uživatelské matice která by vÃce
-komprimovala vysoké kmitoÄty, jelikož scplx_mask snÞà kvalitu P bloků dokonce
-i když se mÄnà pouze DC.
-Výsledek scplx_mask tedy pravdÄpodobnÄ nebude vypadat tak dobÅe.
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0> (viz také vi_qfactor)
-SnÞà kvalitu 'inter' (P) bloků.
-Což zvýšà kvalitu 'intra' (I) bloků, protože průmÄrný datový tok je pÅidÄlený
-celé video sekvenci (výchozÃ: 0.0 (vypnuto)).
-Nastavenà p_mask=1.0 zdvojnásobà poÄet bitů pÅidÄlených jednotlivým I blokům.
-.
-.TP
-.B border_mask=<0.0\-1.0>
-border-processing pro enkodéry ve stylu MPEG.
-Border processing zvýšà kvantizer makrobloků, které jsou vzdáleny ménÄ než
-pÄtinu Å¡ÃÅky/výšky obrazu od okraje, jelikož jsou Äasto ménÄ důležité.
-.
-.TP
-.B "naq\ \ \ \ "
-Normalizuje adaptivnà kvantizaci (experimentálnÃ).
-Když použÃváte adaptivnà kvantizaci (*_mask), průmÄrný kvantizer makrobloků
-nemusà již odpovÃdat požadovanému kvantizeru na úrovni celého snÃmku.
-Naq se pokusà upravit kvantizery makrobloků tak, aby mÄly správný průmÄr.
-.
-.TP
-.B "ildct\ \ "
-Použije prokládanou DCT (Diskrétnà Kosinova Transformace)
-.
-.TP
-.B "ilme\ \ \ "
-Použije prokládané odhadovánà pohybu (oboustranná exkluzivita s qpel).
-.
-.TP
-.B "alt\ \ \ \ "
-Použije alternativnà skenovacà tabulku.
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-automatika
-.IPs 0
-nejprve spodnà půlsnÃmek
-.IPs 1
-nejprve hornà půlsnÃmek
-.RE
-.PD 1
-.
-.TP
-.B format=<hodnota>
-.PD 1
-.RSs
-.IPs "YV12\ "
-výchozÃ
-.IPs "444P\ "
-pro ffv1
-.IPs "422P\ "
-pro HuffYUV, bezztrátový JPEG, dv a ffv1
-.IPs "411P\ "
-pro bezztrátový JPEG, dv a ffv1
-.IPs "YVU9\ "
-pro bezztrátový JPEG, ffv1 a svq1
-.IPs "BGR32"
-pro bezztrátový JPEG a ffv1
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(pro HuffYUV)
-.PD 0
-.RSs
-.IPs 0
-predikce vlevo
-.IPs 1
-ploÅ¡ná/\:mÅÞková predikce
-.IPs 2
-predikce podle mediánu
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(pro bezztrátový JPEG)
-.PD 0
-.RSs
-.IPs 0
-predikce vlevo
-.IPs 1
-predikce nahoru
-.IPs 2
-predikce vlevo nahoru
-.IPs 3
-ploÅ¡ná/\:mÅÞková predikce
-.IPs 6
-predikce podle průmÄru
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-(pro ffv1)
-.PD 0
-.RSs
-.IPs 0
-vlc kódovánà (Golomb-Rice)
-.IPs 1
-aritmetické kódovánà (CABAC)
-.RE
-.PD 1
-.
-.TP
-.B context
-(pro ffv1)
-.PD 0
-.RSs
-.IPs 0
-malý kontextový model
-.IPs 1
-velký kontextový model
-.RE
-.PD 1
-.sp 1
-.RS
-(pro ffvhuff)
-.RE
-.PD 0
-.RSs
-.IPs 0
-pÅedurÄené Huffman tabulky (vestavÄné nebo dva průchody)
-.IPs 1
-adaptivnà Huffman tabulky
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-PoužÃt quarter pel kompenzaci pohybu (oboustranná exkluzivita s ilme).
-.br
-.I TIP:
-Toto, jak se zdá, je užiteÄné pouze pÅi enkódovánà s vysokým datovým tokem.
-.
-.TP
-.B mbcmp=<0\-2000>
-Nastavà porovnávacà funkci pro rozhodovánà v makrobloku,
-použito pouze pokud mbd=0.
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-souÄet absolutnÃch odchylek, rychlé (výchozÃ)
-.IPs "1 (SSE)"
-souÄet ÄtvereÄkovaných chyb
-.IPs "2 (SATD)"
-souÄet absolutnÃch odchylek po Hadamard transformaci
-.IPs "3 (DCT)"
-souÄet absolutnÃch odchylek po DCT
-.IPs "4 (PSNR)"
-souÄet ÄtvereÄnÃch kvantizaÄnÃch chyb (nepoužÃvejte, nÃzká kvalita)
-.IPs "5 (BIT)"
-poÄet bitů potÅebných pro blok
-.IPs "6 (RD)"
-optimalizace omezenà datového toku, pomalé
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-souÄet absolutnÃch svislých odchylek
-.IPs "9 (VSSE)"
-souÄet ÄtvereÄnÃch svislých odchylek
-.IPs "10 (NSSE)"
-Å¡umuvzdorný souÄet ÄtvereÄnÃch odchylek
-.IPs "11 (W53)"
-vlnka 5/3, použita pouze ve snow
-.IPs "12 (W97)"
-9/7 wavelet, použita pouze ve snow
-.IPs "+256\ "
-Použije též barvu, v souÄasnosti nepracuje (správnÄ) s B-snÃmky.
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-Nastavà porovnávacà funkci pro rozhodovánà prokládané DCT
-(viz mbcmp pro dostupné porovnávacà funkce) (výchozÃ: 0).
-.
-.TP
-.B precmp=<0\-2000>
-Nastavà porovnávacà funkci pro odhad pohybu pÅed průchodem
-(viz mbcmp pro dostupné porovnávacà funkce) (výchozÃ: 0).
-.
-.TP
-.B cmp=<0\-2000>
-Nastavà porovnávacà funkci pro plný odhad pel pohybu
-(viz mbcmp pro dostupné porovnávacà funkce) (výchozÃ: 0).
-.
-.TP
-.B subcmp=<0\-2000>
-Nastavà porovnávacà funkci pro odhad sub pel pohybu
-(viz mbcmp pro dostupné porovnávacà funkce) (výchozÃ: 0).
-.
-.TP
-.B skipcmp=<0\-2000>
-DODÄLAT: Dokumentovat.
-.
-.TP
-.B nssew=<0\-1000000>
-Tato volba ovládá NSSE váhu. VÄtšà váha může způsobit zvýšenà šumu.
-0 NSSE odpovÃdá použità SSE.
-Volbu můžete shledat užiteÄnou, pokud radÄji necháváte troÅ¡ku Å¡umu
-v enkódovaném videu, než byste jej pÅedtÃm odfiltrovali (výchozÃ: 8).
-.
-.TP
-.B predia=<\-99\-6>
-druh a rozmÄr diamantu pro odhad pohybu v pÅedprůchodu
-.
-.TP
-.B dia=<\-99\-6>
-Druh a rozmÄr diamantu pro odhad pohybu.
-Vyhledávánà pohybu je opakovaný proces.
-Použità malého diamantu neomezà vyhledávánà jen na malé vektory pohybu.
-Jen je ÄastÄji skonÄeno dÅÃve, než je nalezen úplnÄ nejlepšà vektor pohybu,
-zvláštÄ pokud je pÅÃtomen Å¡um.
-VÄtšà diamanty umožÅujà vÄtšà zábÄr pÅi vyhledávánà vektoru pohybu, což je
-pomalejÅ¡Ã, ale dosáhne se tak vyššà kvality.
-.br
-Velké normálnà diamanty dosahujà lepšà kvality než tvarovÄ-adaptivnà diamanty.
-.br
-TvarovÄ-adaptivnà diamanty jsou dobrým kompromisem mezi rychlostà a kvalitou.
-.br
-.I POZNÃMKA:
-RozmÄr u normálnÃch diamantů a tÄch s adaptivnÃm tvarem nemá stejný význam.
-.RSs
-.IPs \-3
-tvarovÄ-adaptivnà (rychlý) diamant velikost 3
-.IPs \-2
-tvarovÄ-adaptivnà (rychlý) diamant velikost 2
-.IPs \-1
-vyhledávánà nepravidelným vÃcediamantem (pomalé)
-.IPs 1
-normálnà diamant velikost=1 (výchozÃ) =diamant typu EPZS
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-normálnà diamant velikost=2
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-Trellisova vyhledávacà kvantizace.
-Nalezne optimálnà enkódovánà pro každý 8x8 blok.
-Trellisova vyhledávacà kvantizace je zkrátka a dobÅe optimálnà kvantizacÃ
-ve smyslu PSNR versus datový tok (PÅedpoklad je, že zde nebudou žádné
-prstýnkové fragmenty pÅedstavené v IDCT, což zjevnÄ nenà tento pÅÃpad.).
-Jednoduše nalezne blok s minimem chyb a lambda*bitů.
-.PD 0
-.RSs
-.IPs lambda
-konstanta závislá na kvantizaÄnÃm parametru (QP)
-.IPs "bits\ "
-množstvà bitů potÅebných k zakódovánà bloku
-.IPs error
-souÄet ÄtvereÄkovaných chyb kvantizace
-.RE
-.PD 1
-.
-.TP
-.B "cbp\ \ \ \ "
-Vzor optimálnÄ zakódovaného a omezeným datovým tokem zkresleného bloku.
-Zvolà takový vzor bloku, který minimalizuje zkreslenà + lambda*datový tok.
-Může být použÃvaný pouze spolu s Trellisovou kvantizacÃ
-.
-.TP
-.B "mv0\ \ \ \ "
-Zkoušà enkódovat každý MB s MV=<0,0> a vybere ten lepÅ¡Ã.
-Nemá žádný vliv pokud mbd=0.
-.
-.TP
-.B mv0_threshold=<jakékoli nezáporné celé ÄÃslo>
-Pokud jsou okolnà vektory pohybu <0,0> a skóre odhadu pohybu
-daného bloku je menšà než mv0_threshold, pak je <0,0> použitý jako
-vektor pohybu a dalšà odhad pohybu je pÅeskoÄen (výchozÃ:
-256).
-SnÞenà mv0_threshold na 0 může ponÄkud (0.01dB) zvýšit PSNR a
-možná o nÄco zlepÅ¡it vzhled enkódovaného videa; zvýšenÃ
-mv0_threshold nad 320 vede ke zmenšenà PSNR a vizuálnà kvality.
-Vyššà hodnoty trochu zrychlà enkódovánà (obvykle ménÄ než 1%,
-podle ostatnÃch použitých voleb).
-.br
-.I POZNÃMKA:
-Zapnutà této volby nevyžaduje mv0.
-.
-.TP
-.B qprd (pouze mbd=2)
-Datovým tokem zkreslený optimálnà kvantizaÄnà parametr QP pro danou
-lambda každého makrobloku.
-.
-.TP
-.B last_pred=<0\-99>
-množstvà ukazatelů pohybu z pÅedchozÃho snÃmku
-.PD 0
-.RSs
-.IPs 0
-(výchozÃ)
-.IPs a
-Použije 2a+1 x 2a+1 makroblokových ÄtvereÄnÃch ukazatelů vektoru pohybu
-z pÅedchozÃho snÃmku
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-pÅedprůchod pro odhad pohybu
-.PD 0
-.RSs
-.IPs 0
-vypnuto
-.IPs 1
-pouze po I-snÃmcÃch (výchozÃ)
-.IPs 2
-vždy
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-subpel vylepÅ¡enà kvality (pro qpel) (výchozÃ: 8 (vysoká kvalita))
-.br
-.I POZNÃMKA:
-Toto má podstatný vliv na rychlost.
-.
-.TP
-.B refs=<1\-8>
-poÄet referenÄnÃch snÃmků pro zváženà kompenzace pohybu
-(pouze Snow) (výchozÃ: 1)
-.
-.TP
-.B "psnr\ \ \ "
-vypÃÅ¡e PSNR (odstup signálu od Å¡umu) pro celé video po skonÄenà enkódovánÃ
-a uložà hodnotu PSNR pro každý snÃmek do souboru s názvem
-podobným 'psnr_hhmmss.log'.
-Hodnoty jsou v dB (decibelech), ÄÃm vÄtÅ¡Ã, tÃm lepÅ¡Ã.
-.
-.TP
-.B mpeg_quant
-Použije MPEG kvantizery namÃsto H.263.
-.
-.TP
-.B "aic\ \ \ \ "
-ZapÃná AC predikci pro MPEG-4 nebo pokroÄilou intra predikci pro H.263+.
-To malinko yvýšà kvalitu (kolem 0.02 dB PSNR) a mÃrnÄ zpomalÃ
-enkódovánà (okolo 1%).
-.br
-.I POZNÃMKA:
-vqmin by mÄl být 8 nebo vÄtšà pro H.263+ AIC.
-.
-.TP
-.B "aiv\ \ \ \ "
-alternativnà vnitÅnà vlc pro H.263+
-.
-.TP
-.B "umv\ \ \ \ "
-neomezené MV (pouze H.263+)
-UmožÅuje enkódovat libovolnÄ dlouhé MV.
-.
-.TP
-.B ibias=<\-256\-256>
-bias intra kvantizeru (256 odpovÃdá 1.0, výchozà pro kvantizer v provedenà MPEG: 96,
-výchozà pro kvantizer v provedenà H.263: 0)
-.br
-.I POZNÃMKA:
-Uvedený H.263 MMX kvantizer nedokáže pracovat s kladným biasem (nastavte vfdct=1 nebo 2),
-MPEG MMX kvantizer nedokáže pracovat se záporným biasem (nastavte vfdct=1 nebo 2).
-.
-.TP
-.B pbias=<\-256\-256>
-inter kvantizer bias (256 odpovÃdá 1.0, výchozà pro kvantizer v provedenà MPEG: 0,
-výchozà pro kvantizer v provedenà H.263: \-64)
-.br
-.I POZNÃMKA:
-Uvedený H.263 MMX kvantizer nedokáže pracovat s kladným biasem (nastavte vfdct=1 nebo 2),
-MPEG MMX kvantizer nedokáže pracovat se záporným biasem (nastavte vfdct=1 nebo 2).
-.br
-.I TIP:
-VÄtšà kladný bias (\-32 až \-16 mÃsto \-64) zlepÅ¡ujÃ,zdá se, PSNR.
-.
-.TP
-.B nr=<0\-100000>
-Redukce šumu, 0 znamená vypnuto.
-Pro typický obsah je rozumný rozsah 0\-600, ale pÅi vysokém zaÅ¡umÄnà jej můžete
-nastavit výše (výchozÃ: 0).
-Vzhledem k nÃzkému vlivu na rychlost byste jej mohli upÅednostnit pÅed
-filtrovánÃm Å¡umu pomocà video filtrů jako denoise3d nebo hqdn3d.
-.
-.TP
-.B qns=<0\-3>
-Tvarovánà šumu kvantizeru.
-MÃsto kvantizace, která co nejlépe odpovÃdá vstupnÃmu videu ve smyslu PSNR,
-radÄji volà kvantizaci která kryje Å¡um (obvykle kroužkové artefakty) frekvenÄnÄ
-podobným obsahem obrázku.
-VÄtšà hodnoty jsou pomalejÅ¡Ã, ale nemusà zlepÅ¡it kvalitu.
-Toto může, a mÄlo by, být použÃváno spolu s Trellisovou kvantizacÃ. V tom
-pÅÃpadÄ bude Trellisova kvantizace (optimálnà pro konstantnà váhu) použita jako
-výchozà bod pro opakované vyhledávánÃ.
-.PD 0
-.RSs
-.IPs 0
-vypnuto (výchozÃ)
-.IPs 1
-Pouze snÞà absolutnà hodnotu koeficientů.
-.IPs 2
-Pouze zmÄnà koeficienty pÅed poslednÃm nenulovým koeficientem + 1.
-.IPs 3
-Zkusà vše.
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<Äárkami oddÄlená matice>
-Použije uživatelskou inter matici.
-Vyžaduje 64 Äárkou oddÄlených celých ÄÃsel.
-.
-.TP
-.B intra_matrix=<Äárkami oddÄlená matice>
-Použije uživatelskou intra matici.
-Vyžaduje 64 Äárkou oddÄlených celých ÄÃsel.
-.
-.TP
-.B vqmod_amp
-experimentálnà modulace kvantizeru
-.
-.TP
-.B vqmod_freq
-experimentálnà modulace kvantizeru
-.
-.TP
-.B "dc\ \ \ \ \ "
-intra pÅesnost DC v bitech (výchozÃ: 8).
-Pokud zadáte vcodec=mpeg2video, pak může nabýt hodnotu 8, 9, 10 nebo 11.
-.
-.TP
-.B cgop (viz také sc_threshold)
-ZavÅe vÅ¡echny GOPy.
-V souÄasnosti pracuje pouze tehdy, pokud je vypnutá detekce zmÄn scény
-(sc_threshold=1000000000).
-.
-.TP
-.B (no)lowdelay
-Nastavà pÅÃznak low delay pro MPEG-1/2 (zakazuje B-snÃmky).
-.
-.TP
-.B vglobal=<0\-3>
-Ovládá zápis globálnÃch video hlaviÄek.
-.PD 0
-.RSs
-.IPs 0
-Kodek rozhodne, kde zapsat globálnà hlaviÄky (výchozÃ).
-.IPs 1
-ZapÃÅ¡e globálnà hlaviÄky pouze v extradata (vyžadováno pro .mp4/MOV/NUT).
-.IPs 2
-ZapÃÅ¡e globálnà hlaviÄky pouze do Äela klÃÄových snÃmků.
-.IPs 3
-Kombinuje 1 a 2.
-.RE
-.PD 1
-.
-.TP
-.B aglobal=<0\-3>
-Stejné jako vglobal pro audio hlaviÄky.
-.TP
-.B level=<hodnota>
-Nastavà CodecContext Level.
-Použijte 31 nebo 41 pro pÅehrávánà videa na Playstation 3.
-.
-.TP
-.B skip_exp=<0\-1000000>
-DODÄLAT: Dokumentovat.
-.
-.TP
-.B skip_factor=<0\-1000000>
-DODÄLAT: Dokumentovat.
-.
-.TP
-.B skip_threshold=<0\-1000000>
-DODÄLAT: Dokumentovat.
-.
-.
-.SS nuv (\-nuvopts)
-.
-Nuppel video je založeno na RTJPEG a LZO.
-Ve výchozÃm stavu jsou snÃmky nejprve enkódovány pomocà RTJPEG a poté komprimovány
-pomocà LZO, ale jeden z průchodů nebo oba dva mohou být vypnuty.
-Takže můžete ve skuteÄnosti vyprodukovat surový i420, LZO komprimovaný i420,
-RTJPEG, nebo výchozà LZO komprimovaný RTJPEG.
-.br
-.I POZNÃMKA:
-Dokumentace nuvrec obsahuje různé rady a pÅÃklady k volbám pro nejpoužÃvanÄjÅ¡Ã
-TV enkódovánÃ.
-.
-.TP
-.B c=<0\-20>
-práh barev (výchozÃ: 1)
-.
-.TP
-.B l=<0\-20>
-práh jasu (výchozÃ: 1)
-.
-.TP
-.B "lzo\ \ \ \ "
-Zapne LZO kompresi (výchozÃ).
-.
-.TP
-.B "nolzo\ \ "
-Vypnout LZO kompresi.
-.
-.TP
-.B q=<3\-255>
-úroveÅ kvality (výchozÃ: 255)
-.
-.TP
-.B "raw \ \ \ "
-Vypnout RTJPEG enkódovánÃ.
-.
-.TP
-.B "rtjpeg\ "
-Zapnout RTJPEG enkódovánà (výchozÃ).
-.
-.SS xvidenc (\-xvidencopts)
-.
-Zde máte k dispozici tÅi režimy: konstantnà datový tok (CBR), pevný kvantizer a
-dvouprůchodový.
-.
-.TP
-.B pass=<1|2>
-Nastavà průchod ve dvouprůchodovém režimu.
-.
-.TP
-.B turbo (pouze dva průchody)
-Dramaticky zrychlà prvnà průchod použitÃm rychlejÅ¡Ãch algoritmů a vypnutÃm
-voleb nároÄných na CPU.
-PravdÄpodobnÄ trochu snÞà globálnà PSNR a trochu vÃce ovlivnà typ a
-PSNR jednotlivých snÃmků.
-.
-.TP
-.B bitrate=<hodnota> (CBR nebo dvouprůchodový režim)
-Nastavà požadovaný datový tok v kilobitech/\:sekundu jestliže <16000 nebo
-v bitech/\:sekundu jestliže >16000.
-Pokud je <hodnota> záporná, Xvid použije jejà absolutnà hodnotu jako požadovanou
-velikost (v kB) videa a spoÄÃtá datový tok automaticky
-(výchozÃ: 687 kbitů/s).
-.
-.TP
-.B fixed_quant=<1\-31>
-PÅepne do režimu s pevným kvantizerem a nastavà kvantizer který bude použit.
-.
-.TP
-.B zones=<zóna0>[/<zóna1>[/...]]
-Uživatelem nastavená kvalita pro urÄité Äásti (konec, titulky, ...).
-Každá zóna má formu <start-snÃmek>,<režim>,<hodnota> kde <režim> může být
-.PD 0
-.RSs
-.IPs "q"
-PÅepsánà konstantnÃho kvantizeru, kde hodnota=<2.0\-31.0>
-urÄuje hodnotu kvantizeru.
-.IPs "w"
-PÅepsánà váhy pro ÅÃzenà datového toku, kde hodnota=<0.01\-2.00>
-urÄuje korekci kvality v %.
-.RE
-.PD 1
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-Enkóduje vÅ¡echny snÃmky poÄÃnaje snÃmkem 90000 konstantnÃm kvantizerem 20.
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-Enkóduje snÃmky 0\-10000 s 10% datového toku, enkóduje snÃmky od 90000
-až do konce konstantnÃm kvantizerem 20.
-Poznamenejme, že druhá zóna je nutná pro ohraniÄenà prvnà zóny, jinak
-by byly vÅ¡echny snÃmky až do snÃmku 89999 enkódovány s 10%
-datového toku.
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-Tato volba ovlivÅuje subsystém odhadovánà pohybu.
-Vyššà hodnota by mÄla dát pÅesnÄjšà odhad pohybu (výchozÃ: 6).
-ÄÃm lepšà odhad, tÃm lepšà komprese.
-PÅesnost je vyvážena vÄtšà zátÄžà CPU, takže tuto hodnotu snižte, požadujete-li
-enkódovánà v reálném Äase.
-.
-.TP
-.B (no)qpel
-BÄhem vyhledávánà pohybu použÃvá jako výchozà MPEG-4 pÅesnost na půl pixelu.
-Standard nabÃzà režim, kde enkodéry mohou použÃt pÅesnost na Ätvrt pixelu.
-Tato volba obvykle zajistà ostÅejšà obraz.
-NaneÅ¡tÄstà to způsobuje výrazné zvýšenà datového toku a nÄkdy vyššà použité
-datové toky znemožnà dosaženà lepšà kvality obrázku pÅi pevném
-datovém toku (CBR).
-Nejlepšà je otestovat výsledek s a bez qpel a pak se rozhodnout zda aktivace
-stojà za to.
-.
-.TP
-.B (no)gmc
-Zapne globálnà kompenzaci pohybu. To nechá Xvid generovat speciálnÃ
-snÃmky (GMC-snÃmky) které jsou vhodné pro Pan/\:Zoom/\:Rotating obrázky.
-Jestli aktivace této volby uÅ¡etÅà nÄjaké bity závisà na zdrojovém
-materiálu.
-.
-.TP
-.B (no)trellis
-Trellisova kvantizace je druh adaptivnà kvantizaÄnà metody, která Å¡etÅà bity
-pomocà zmÄn kvantizaÄnÃch koeficientů tak, aby byly lépe komprimovatelné
-entropickým enkodérem.
-ZlepÅ¡enà kvality je znatelné a pokud VHQ na váš vkus pÅÃliÅ¡ zamÄstnává CPU,
-může být tato volba dobrou alternativou jak uÅ¡etÅit pár bitů (a zvýšit
-kvalitu pÅi konstantnÃm datovém toku) s nižšà zátÄžà než VHQ (výchozÃ: zapnuto).
-.
-.TP
-.B (no)cartoon
-Tuto volbu aktivujte pokud kódujete animovaný film.
-Volba upravà nÄkteré internà Xvid úrovnÄ tak, aby se lépe rozhodoval nad
-typy snÃmků a vektory pohybu v ploÅ¡e vypadajÃcÃch animovaných filmech.
-.
-.TP
-.B (no)chroma_me
-Obvyklý algoritmus odhadujÃcà pohyb použÃvá pouze jasovou informaci pro nalezenÃ
-nejlepÅ¡Ãho vektoru pohybu.
-V\ nÄkterém video materiálu může použità barev pomoci nalézt lepšà vektory.
-Tato volba pÅepÃná použÃvánà barev pro odhady pohybu (výchozÃ: zapnuto).
-.
-.TP
-.B (no)chroma_opt
-Zapne pÅedfiltr chroma optimizer.
-Ten provede troÅ¡ku magie navÃc nad barvami, aby se minimalizovaly stupÅovité
-pÅechody na obrysech.
-Zvýšà kvalitu za cenu rychlosti enkódovánÃ.
-PÅirozenÄ snižuje PSNR úmÄrnÄ zvyÅ¡ovánà matematické odliÅ¡nosti od originálu,
-ale subjektivnà kvalita se zvyšuje.
-Protože pracujeme s barevnými informacemi, budete to nejspÃÅ¡ chtÃt vypnout
-pÅi enkódovánà ÄernobÃlého obrazu.
-.
-.TP
-.B (no)hq_ac
-Aktivuje vysoce kvalitnà predikci AC koeficientů pro klÃÄové snÃmky
-z pÅilehlých bloků (výchozÃ: zapnuto).
-.
-.TP
-.B vhq=<0\-4>
-Algoritmus vyhledávánà pohybu je založen na vyhledávánà v obvyklé barevné oblasti
-a zkoušà najÃt pohybový vektor, který minimalizuje rozdÃl mezi referenÄnÃm snÃmkem
-a enkódovaným snÃmkem.
-Pokud aktivujete tuto volbu, Xvid použije taky frekvenÄnà oblast (DCT) k vyhledávánÃ
-pohybového vektoru, který minimalizuje nejen prostorovou odlišnost, ale také
-délku enkódovaného bloku.
-Od nejrychlejÅ¡Ãho k nejpomalejÅ¡Ãmu:
-.PD 0
-.RSs
-.IPs 0
-vypnuto
-.IPs 1
-rozhodovánà podle režimu (inter/\:intra MB) (výchozÃ)
-.IPs 2
-omezené hledánÃ
-.IPs 3
-stÅednà hledánÃ
-.IPs 4
-rozsáhlé hledánÃ
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-Adaptivnà kvantizace umožÅuje aby se kvantizery makrobloku liÅ¡ily
-snÃmek od snÃmku.
-Jedná se o 'psychosenzitivnÃ' nastavenÃ, které má využÃt faktu, že lidské
-oko má tendenci vnÃmat ménÄ detailů ve velmi svÄtlých a velmi tmavých
-Äástech obrázku.
-ZmÃnÄné oblasti komprimuje vÃce než ty průmÄrné, což Å¡etÅà bity, které mohou být
-využity v ostatnÃch snÃmcÃch, což zvýšà celkovou subjektivnà kvalitu, ale
-může snÞit PSNR.
-.
-.TP
-.B (no)grayscale
-PÅinutà Xvid zahodit barevnou informaci, takže enkódované video je pouze
-ÄernobÃlé. Nijak to nezrychlà enkódovánÃ, pouze zabránà zapsánÃ
- barvonosných dat v poslednÃm kroku enkódovánÃ.
-.
-.TP
-.B (no)interlacing
-Enkóduje půlsnimky prokládaného video materiálu.
-ZapnÄte tuto možnost pro prokládaný obsah.
-.br
-.I POZNÃMKA:
-MusÃte-li Å¡kálovat video, mÄli byste použÃt mÄniÄ velikosti s podporou
-prokládaného obsahu, který můžete aktivovat pomocÃ
- \-vf scale=<Å¡ÃÅka>:<výška>:1.
-.
-.TP
-.B min_iquant=<0\-31>
-minimálnà kvantizer I-snÃmku (výchozÃ: 2)
-.
-.TP
-.B max_iquant=<0\-31>
-maximálnà kvantizer I-snÃmku (výchozÃ: 31)
-.
-.TP
-.B min_pquant=<0\-31>
-minimálnà kvantizer P-snÃmku (výchozÃ: 2)
-.
-.TP
-.B max_pquant=<0\-31>
-maximálnà kvantizer P-snÃmku (výchozÃ: 31)
-.
-.TP
-.B min_bquant=<0\-31>
-minimálnà kvantizer B-snÃmku (výchozÃ: 2)
-.
-.TP
-.B max_bquant=<0\-31>
-maximálnà kvantizer B-snÃmku (výchozÃ: 31)
-.
-.TP
-.B min_key_interval=<hodnota> (pouze 2 průchody)
-minimálnà interval mezi klÃÄovými snÃmky (výchozÃ: 0)
-.
-.TP
-.B max_key_interval=<hodnota>
-maximálnà interval mezi klÃÄovými snÃmky (výchozÃ: 10*fps)
-.
-.TP
-.B quant_type=<h263|mpeg>
-Nastavuje typ kvantizeru k použitÃ.
-PÅi vyššÃch datových tocÃch zjistÃte, že MPEG kvantozace zachová vÃce detailů.
-PÅi nižšÃch datových tocÃch poskytuje vyhlazovánà H.263 ménÄ blokovacÃho Å¡umu.
-PoužÃváte-li uživatelské matice,
-.B musÃte
-použÃt MPEG kvantizaci.
-.
-.TP
-.B quant_intra_matrix=<soubor>
-NaÄte uživatelský soubor s intra maticÃ.
-Takový soubor můžete vytvoÅit maticovým editorem z xvid4confu.
-.
-.TP
-.B quant_inter_matrix=<soubor>
-NaÄte uživatelský soubor s inter maticÃ.
-Takový soubor můžete vytvoÅit maticovým editorem z xvid4confu.
-.
-.TP
-.B keyframe_boost=<0\-1000> (pouze dvouprůchodový režim)
-PÅesune nÄjaké bity z prostoru vyhrazeného ostatnÃm druhům snÃmků do intra
-snÃmků, což zlepšà kvalitu klÃÄových snÃmků.
-Hodnota udává návdavek, takže hodnota 10 pÅidá oproti normálu o 10%
-vÃce bitů vaÅ¡im klÃÄovým snÃmkům
-(výchozÃ: 0).
-.
-.TP
-.B kfthreshold=<hodnota> (pouze dvouprůchodový režim)
-Pracuje spolu s kfreduction.
-Udává minimálnà vzdálenost pod kterou považujete dva snÃmky za
-posloupné a jsou posuzovány odliÅ¡nÄ podle kfreduction
-(výchozÃ: 10).
-.
-.TP
-.B kfreduction=<0\-100> (pouze dvouprůchodový režim)
-DvÄ výše uvedené volby mohou být použity k doladÄnà velikosti klÃÄových snÃmků,
-které považujete za pÅÃliž blÃzké prvnÃmu (v ÅadÄ).
-kfthreshold nastavuje rozsah, ve kterém jsou klÃÄové snÃmky redukovány a
-kfreduction urÄuje redukci datového toku, který dostanou.
-S\ poslednÃm I-snÃmkem bude zacházeno normálnÄ
-(výchozÃ: 30).
-.
-.TP
-.B max_bframes=<0\-4>
-Maximálnà poÄet B-snÃmků vložených mezi I/P-snÃmky (výchozÃ: 2)
-.
-.TP
-.B bquant_ratio=<0\-1000>
-quantizer ratio between B- and non-B-frames, 150=1.50 (default: 150)
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-odliÅ¡nost kvantizeru mezi B- a ne-B-snÃmky, 100=1.00 (výchozÃ: 100)
-.
-.TP
-.B bf_threshold=<\-255\-255>
-Toto nastavenà umožnà stanovit prioritu použità B-snÃmků.
-ÄÃm vyššà hodnota, tÃm vyššà pravdÄpodobnost použità B-snÃmků
-(výchozÃ: 0).
-NezapomÃnejme, že B-snÃmky obvykle majà vyššà kvantizer a proto
-jejich nadužÃvánà může zhorÅ¡it vizuálnà kvalitu.
-.
-.TP
-.B (no)closed_gop
-Tato volba naÅÃdà Xvid uzavÅÃt každou "GOP" (Skupinu Obrázků ohraniÄenou dvÄma
-I-snÃmky), což uÄinà tyto skupiny vzájemnÄ nezávislými.
-Volba pouze zaÅÃdÃ, aby poslednà snÃmek skupiny byl buÄ P-snÃmek nebo
-N-snÃmek, ale nikdy B-snÃmek.
-Obvykle je vhodné mÃt tuto volbu zapnutou (výchozÃ: zapnuto).
-.
-.TP
-.B (no)packed
-Tato volba je urÄena pro nápravu potÞà s poÅadÃm snÃmků když enkódujete do
-nosných formátů jako je AVI, které si neumà poradit se zpÅeházenými
-snÃmky.
-V praxi je vÅ¡ak vÄtÅ¡ina dekodérů (jak softwarových, tak hardwarových) schopna
-poradit si s poÅadÃm snÃmků samostatnÄ a mohou být zapnutÃm této volby zmateny,
-takže ji můžete bezpeÄnÄ nechat vypnutou, pokud opravdu nevÃte co dÄláte.
-.br
-.I VAROVÃNÃ:
-takto vygenerujete ilegálnà bitový proud, který nebude dekódovatelný pomocÃ
-ISO-MPEG-4 dekodérů s výjimkou DivX/\:libavcodec/\:Xvid.
-.br
-.I VAROVÃNÃ:
-Takto se rovnÄž zapÃÅ¡e faleÅ¡ná DivX verze do souboru, takže vadná autodetekce
-nÄkterých dekodérů dostane zabrat.
-.
-.TP
-.B frame_drop_ratio=<0\-100> (pouze max_bframes=0)
-Tento parametr umožÅuje vytváÅet video proudy s variabilnÃm datovým tokem.
-Jeho hodnota nastavuje práh citlivosti na zmÄny; pokud je rozdÃlnost souÄasného
-a pÅedchozÃho snÃmku menšà nebo rovna tomuto prahu, snÃmek nebude kódován
-(mÃsto nÄj je do proudu umÃstÄn tzv. n-vop).
-Jestliže pÅehrávaÄ narazà n-vop, zobrazà pÅedchozà snÃmek.
-.br
-.I VAROVÃNÃ:
-Hrátky s tÃmto parametrem mohou vyústit v mizerné video, takže ji použÃvejte
-jen na vlastnà nebezpeÄÃ!
-.
-.TP
-.B rc_reaction_delay_factor=<hodnota>
-Tento parametr ovládá poÄet snÃmků, které CBR regulátor datového toku poÄká než
-zareaguje na zmÄny toku a vykompenzuje je tak, aby byl dosažen konstantnÃ
-datový tok v\ rámci průmÄrovacÃho rozsahu snÃmků.
-.
-.TP
-.B rc_averaging_period=<hodnota>
-SkuteÄného CBR je tÄžké dosáhnout.
-V závislosti na video materiálu bude datový tok různý a tÄžko pÅedvÃdatelný.
-Proto Xvid použÃvá průmÄrovacà periodu pro kterou garantuje spotÅebu daného
-poÄtu bitů (mÃnus malá odchylka).
-Toto nastavenà vyjadÅuje "poÄet snÃmků" pro který Xvid průmÄruje datový tok
-a zkoušà dosáhnout CBR.
-.
-.TP
-.B rc_buffer=<hodnota>
-velikost vyrovnávacà pamÄti regulátoru datového toku
-.
-.TP
-.B curve_compression_high=<0\-100>
-Toto nastavenà umožnà Xvidu odebrat urÄité procento bitů z datovÄ nároÄných
-scén a dát je zpÄt do bitového zásobnÃku.
-To využijete pokud máte klip s tak velkým množstvÃm bitů alokovaných pro
-scény s vysokým datovým tokem, že ty ostatnà zaÄÃnajà vypadat Å¡patnÄ
-(výchozÃ: 0).
-.
-.TP
-.B curve_compression_low=<0\-100>
-Toto nastavenà umožnà Xvidu pÅidat urÄité procento navÃc scénám s nÃzkým
-datovým tokem tak, že odebere nÄkolik bitů z celého klipu.
-To pÅijde vhod, pokud máte jen nÄkolik 'pomalých' scén, které jsou stále
-ÄtvereÄkované (výchozÃ: 0).
-.
-.TP
-.B overflow_control_strength=<0\-100>
-BÄhem prvnÃho průchodu ve dvouprůchodovém režimu je poÄÃtána Å¡kálovaná kÅivka
-datového toku.
-RozdÃl mezi oÄekávaným průbÄhem kÅivky a výsledkem se nazývá pÅeteÄenÃ.
-Regulátor datového toku ve dvouprůchodovém režimu se pÅirozenÄ snažà kompenzovat
-toto pÅeteÄenà tak, že jej rozprostÅe na následujÃcà snÃmky.
-Tento parametr nastavuje jak velké množstvà tohoto pÅeteÄenà pÅipadne na
-každý nový snÃmek.
-NÃzké hodnoty povolujà lÃnou regulaci pÅeteÄenÃ, velké skoky v toku jsou
-kompenzovány pomaleji (to může vést ke ztrátÄ pÅesnosti pÅi malých souborech).
-Vyššà hodnoty působà zmÄny v pÅerozdÄlovánà bitů strmÄjÅ¡Ã. Pokud hodnotu nastavÃte
-pÅÃliÅ¡ vysoko, může dojÃt k vytváÅenà artefaktů (výchozÃ: 5).
-.br
-.I POZNÃMKA:
-Tento parametr velmi ovlivÅuje kvalitu, použÃvejte jej opatrnÄ!
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-BÄhem alokace bitů pro snÃmky může regulátor pÅeteÄenà zvýšit velikost
-snÃmku.
-Tento parametr nastavuje maximálnà procento o které může regulátor zvÄtÅ¡it
-velikost snÃmku v porovnánà s ideálnà alokaÄnà kÅivkou
-(výchozÃ: 5).
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-BÄhem alokace bitů pro snÃmky může regulátor pÅeteÄenà snÞit velikost
-snÃmku.
-Tento parametr nastavuje maximálnà procento o které může regulátor zmenšit
-velikost snÃmku v porovnánà s ideálnà alokaÄnà kÅivkou
-(výchozÃ: 5).
-.
-.TP
-.B container_frame_overhead=<0...>
-Nastavuje průmÄrné navýšenà v bajtech na jeden snÃmek.
-VÄtÅ¡inou uživatelé nastavujà cÃlový datový tok videa bez zohlednÄnà velikosti
-pÅidané nosiÄem (container).
-Toto malé a (vÄtÅ¡inou) stálé navýšenà může způsobit pÅekroÄenà požadované
-velikosti souboru.
-Xvid umožÅuje uživateli nastavit velikost navýšenà na snÃmek zabrané nosiÄem
-(zadává se průmÄr na snÃmek).
-0 má speciálnà význam, nechá Xvid použÃt vlastnà výchozà hodnotu
-(výchozÃ: 24 \- průmÄrné navýšenà pro AVI).
-.
-.TP
-.B profile=<název_profilu>
-Omezà volby a VBV (vrcholový datový tok v krátkém Äasovém úseku) podle
-Simple, Advanced Simple a DivX profilů.
-Výsledná videa by mÄly být pÅehratelné stolnÃmi pÅehrávaÄi, které vyhovujÃ
-nastaveným profilům.
-.PD 0
-.RSs
-.IPs unrestricted
-žádné omezenà (výchozÃ)
-.IPs "sp0\ \ "
-simple profil úrovnÄ 0
-.IPs "sp1\ \ "
-simple profil úrovnÄ 1
-.IPs "sp2\ \ "
-simple profil úrovnÄ 2
-.IPs "sp3\ \ "
-simple profil úrovnÄ 3
-.IPs "asp0\ "
-advanced simple profil úrovnÄ 0
-.IPs "asp1\ "
-advanced simple profil úrovnÄ 1
-.IPs "asp2\ "
-advanced simple profil úrovnÄ 2
-.IPs "asp3\ "
-advanced simple profil úrovnÄ 3
-.IPs "asp4\ "
-advanced simple profil úrovnÄ 4
-.IPs "asp5\ "
-advanced simple profil úrovnÄ 5
-.IPs dxnhandheld
-DXN handheld profil
-.IPs dxnportntsc
-DXN pÅenositelný NTSC profil
-.IPs dxnportpal
-DXN pÅenositelný PAL profil
-.IPs dxnhtntsc
-DXN domácà kino NTSC profil
-.IPs dxnhtpal
-DXN domácà kino PAL profil
-.IPs dxnhdtv
-DXN HDTV profil
-.RE
-.PD 1
-.RS
-.I POZNÃMKA:
-Tyto profily by mÄly být použÃvány v kombinaci s vhodným \-ffourcc.
-ObecnÄ je použitelné DX50, jelikož nÄkteré pÅehrávaÄe nerozpoznajà Xvid, ale
-vÄtÅ¡ina rozpozná DivX.
-.RE
-.
-.TP
-.B par=<režim>
-Nastavuje režim pomÄru stran pixelu (PAR=the Pixel Aspect Ratio)
-(nepleÅ¥te si to s DAR, the Display Aspect Ratio=pomÄr stran obrazovky).
-PAR je pomÄr Å¡ÃÅky a výšky jediného pixelu.
-Oba zmÃnÄné pomÄry stran jsou v následujÃcÃm vztahu: DAR = PAR * (Å¡ÃÅka/\:výška).
-.br
-MPEG-4 rozeznává 5 pomÄrů stran pixelu a jeden rozÅ¡ÃÅený, umožÅujÃcà nastavit
-konkrétnà pomÄr stran pixelu.
-.br
-5 standardnÃch režimů, které můžete zadat:
-.PD 0
-.RSs
-.IPs vga11
-Obvyklý PAR na PC.
-Pixely majà Ätvercový tvar.
-.IPs pal43
-Standardnà PAL 4:3 PAR.
-Pixely jsou obdélnÃkové.
-.IPs pal169
-stejné jako viz výš
-.IPs ntsc43
-stejné jako viz výš
-.IPs ntsc169
-stejné jako viz výš (NezapomeÅte zadat pÅesný pomÄr stran.)
-.IPs "ext\ \ "
-UmožÅuje nastavit váš vlastnà pomÄr stran pixelu pomocà par_width a
-par_height.
-.RE
-.PD 1
-.RS
-.I POZNÃMKA:
-VÅ¡eobecnÄ staÄà nastavit volby aspect a autoaspect.
-.RE
-.
-.TP
-.B par_width=<1\-255> (pouze par=ext)
-Nastavuje Å¡ÃÅku pixelu v uživatelském pomÄru stran pixelu.
-.
-.TP
-.B par_height=<1\-255> (pouze par=ext)
-Nastavuje výšku pixelu v uživatelském pomÄru stran pixelu.
-.
-.TP
-.B aspect=<x/y | f (desetinné ÄÃslo)>
-InternÄ uložà pomÄr stran filmu, stejnÄ jako MPEG soubory.
-Mnohem lepšà ÅeÅ¡enà než Å¡kálovánÃ, protože nenà snÞena kvalita.
-Pouze MPlayer a nÄkolik dalÅ¡Ãch pÅehrávaÄů pÅehrajà tyto soubory správnÄ,
-ostatnà je pÅehrajà se Å¡patným pomÄrem stran.
-PomÄr stran může být zadán zlomkem, nebo desetinným ÄÃslem.
-.
-.TP
-.B (no)autoaspect
-Stejné jako volba aspect, ale pomÄr stran je vypoÄÃtán automaticky,
-s pÅihlédnutÃm ke vÅ¡em úpravám (crop/\:expand/\:scale/\:atd.)
-provedeným ve filtrech.
-.
-.TP
-.B "psnr\ \ \ "
-VypÃÅ¡e PSNR (odstup signálu od Å¡umu) pro celé video po dokonÄenà enkódovánà a
-uložà snÃmkové PSNR do souboru s\ názvem ve tvaru 'psnr_hhmmss.log' v aktuálnÃm
-adresáÅi.
-Vrácené hodnoty jsou v dB (decibel), ÄÃm vyššà tÃm lepÅ¡Ã.
-.
-.TP
-.B "debug\ \ "
-Ukládá statistiky pro každý snÃmek v ./xvid.dbg. (Toto nenà ÅÃdÃcà soubor
-dvouprůchodového režimu.)
-.RE
-.
-.PP
-.sp 1
-NásledujÃcà volba je dostupná pouze v Xvid 1.1.x.
-.
-.TP
-.B bvhq=<0|1>
-Toto nastavenà umožnà výbÄr z vektorových kandidátů na B-snÃmky na základÄ
-operátoru optimalizovaného na omezenà datového toku.
-To samé zajišťuje volba vhq pro P-snÃmky.
-Takto dostaneme hezÄà B-snÃmky s témÄÅ nepostÅehnutelným dopadem na rychlost
-(výchozÃ: 1).
-.
-.PP
-.sp 1
-NásledujÃcà volba je dostupná pouze v Xvid verzi 1.2.x.
-.
-.TP
-.B threads=<0\-n>
-VytvoÅà n vláken pro bÄh odhadu pohybu (výchozÃ: 0).
-Maximálnà poÄet vláken, které můžete použÃt zÃskáte vydÄlenÃm výšky obrazu
-ÄÃslem 16.
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<hodnota>
-Nastavà průmÄrný datový tok k použità v kilobitech/\:sekundu (výchozÃ: vypnuto).
-Jelikož se může okamžitý datový tok liÅ¡it, může být v krátkých videÃch tento
-průmÄr nepÅesný (viz ratetol).
-KonstantnÃho datového toku lze docÃlit kombinacà této volby s vbv_maxrate,
-se znatelným zhorÅ¡enÃm kvality.
-.
-.TP
-.B qp=<0\-51>
-Zvolà kvantizer pro P-snÃmky. I- a B-snÃmky jsou pÅÃpadnÄ z této hodnoty
-offsetovány pomocà ip_factor a pb_factor.
-Použitelný rozsah je 20\-40.
-Nižšà hodnoty vedou k vyššà vÄrnosti a vyššÃmu datovému toku.
-0 znamená bezztrátový.
-Poznamenejme, že kvantizace v H.264 pracuje odliÅ¡nÄ od MPEG-1/2/4:
-KvantizaÄnà parametr (QP) v H.264 se nacházà na logaritmické Å¡kále.
-Mapovánà odpovÃdá pÅibližnÄ H.264QP = 12 + 6*log2(MPEGQP).
-NapÅÃklad MPEG s kvantizaÄnÃm parametrem QP = 2 odpovÃdá H.264 s QP=18.
-.
-.TP
-.B crf=<1.0\-50.0>
-Zapne režim konstantnà kvality a nastavà kvalitu.
-Škála je podobná QP.
-Tak jako režimy založené na datovém toku umožÅuje každému snÃmku použÃt
-odliÅ¡ný QP podle komplexnosti snÃmku.
-.
-.TP
-.B pass=<1\-3>
-Zapne 2 nebo 3-průchodový režim.
-DoporuÄujeme vždy enkódovat v 2 nebo 3-průchodovém režimu, protože poskytuje
-lepšà rozdÄlovánà bitů a zlepÅ¡uje celkovou kvalitu.
-.PD 0
-.RSs
-.IPs 1
-prvnà průchod
-.IPs 2
-druhý průchod (dvouprůchodového režimu)
-.IPs 3
-N-tý průchod (druhý a tÅetà průchod tÅÃprůchodového režimu)
-.RE
-.RS
-Popis funkce a použitÃ:
-.br
-V prvnÃm průchodu (pass=1) se vytvoÅà soubor se statistikami o videu.
-Zde byste mÄli deaktivovat nÄkteré volby nároÄné na CPU, kromÄ tÄch,
-které jsou ve výchozÃm stavu zapnuté.
-.br
-Ve dvouprůchodovém režimu se ve druhém průchodu (pass=2) Äte soubor statistik
-a jeho obsah ÅÃdà rozhodovánà omezovaÄe datového toku.
-.br
-Ve tÅÃprůchodovém režimu, se ve druhém průchodu (pass=3, toto nenà pÅeklep)
-provádà obojÃ: PÅeÄte se soubor statistik, pak jsou statistiky pÅepsány.
-Můžete použÃt vÅ¡echny enkódovacà volby, kromÄ tÄch nejnároÄnÄjÅ¡Ãch na CPU.
-.br
-TÅetà průchod (pass=3) je stejný jako ten druhý až na to, že se nynà Ätou
-statistiky z druhého průchodu.
-Můžete použÃt vÅ¡echny enkódovacà volby, vÄetnÄ tÄch nejnároÄnÄjÅ¡Ãch.
-.br
-V prvnÃm průchodu můžete použÃt buÄ průmÄrný datový tok, nebo konstantnÃ
-kvantizer.
-DoporuÄujeme ABR, jelikož nevyžaduje volbu kvantizeru.
-NásledujÃcà průchody jsou ABR, proto musÃte zvolit datový tok.
-.REss
-.
-.TP
-.B turbo=<0\-2>
-Rychlý režim pro prvnà průchod.
-BÄhem prvnÃho průchodu dvou a vÃceprůchodového enkódovánà je možné zvýšit
-rychlost vypnutÃm nÄkterých voleb se zanedbatelným nebo žádným vlivem na
-kvalitu koneÄného průchodu.
-.PD 0
-.RSs
-.IPs 0
-vypnuto (výchozÃ)
-.IPs 1
-Omezà subq, frameref a vypne nÄkteré analytické režimy inter-makroblokových
-oddÃlů.
-.IPs 2
-Omezà subq a frameref na 1, použije diamantovou metodu vyhledávánà pohybu a
-vypne analytické režimy pro vÅ¡echny typy oddÃlů.
-.RE
-.RS
-ÃroveÅ 1 může zrychlit prvnà průchod až 2x bez zmÄny celkového
-PSNR poslednÃho průchodu v porovnánà s prvnÃm průchodem v plné kvalitÄ.
-.br
-ÃroveÅ 2 může zrychlit prvnà průchod až 4x pÅi asi +/\- 0.05dB zmÄnÄ
-v\ celkovém PSNR poslednÃho průchodu v\ porovnánà s\ prvnÃm průchodem
-v\ plné kvalitÄ.
-.REss
-.
-.TP
-.B keyint=<hodnota>
-Nastavà maximálnà interval mezi IDR-snÃmky (výchozÃ: 250).
-Vyššà hodnoty Å¡etÅà bity, což zvyÅ¡uje kvalitu za cenu nižšà pÅesnosti pÅi
-pÅetáÄenÃ.
-Na rozdÃl od MPEG-1/2/4, H.264 netrpà DCT driftem pÅi velkých hodnotách
-keyint.
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-Nastavà minimálnà rozestup mezi IDR-snÃmky (výchozÃ: 25).
-Pokud nastane zmÄna scény v tomto rozmezÃ, budou snÃmky stále enkódovány jako
-I-snÃmky, ale nezaÄnou novou GOP.
-V H.264, nemusà být nutnÄ I-SnÃmky zapouzdÅeny v GOP, protože je možné
-aby byl P-snÃmek iniciován z vÃce snÃmků než bezprostÅednÄ pÅedcházejÃcÃm
-(viz také frameref).
-Proto se na I-snÃmky nemusà dát nutnÄ pÅetáÄet.
-IDR-SnÃmky zabránà dalÅ¡Ãm P-snÃmkům ukazovat na jakýkoli snÃmek
-pÅed IDR-SnÃmkem.
-.
-.TP
-.B scenecut=<\-1\-100>
-Ovládá, jak agresivnÄ budou vkládány I-snÃmky navÃc (výchozÃ: 40).
-PÅi nÃzkých hodnotách scenecut vynutà Äasto kodek I-snÃmek až pÅi pÅekroÄenÃ
-hodnoty keyint.
-Vhodné hodnoty scenecut mohou nalézti lepšà umÃstÄnà pro I-snÃmek.
-Velké hodnoty použÃvajà vÃce I-snÃmků, než je nezbytné, což plýtvá bity.
-Hodnota \-1 vypne detekci zmÄny scény, takže na každých keyint snÃmků pÅipadá
-vždy jen jeden I-snÃmek, dokonce i když dojde ke zmÄnÄ scény dÅÃve.
-Vypnutà nedoporuÄujeme. Plýtvá datovým tokem, protože P-snÃmky pÅi zmÄnÄ
-scény jsou stejnÄ velké jako I-snÃmky, avÅ¡ak nevynulujà "poÄÃtadlo keyint".
-.
-.TP
-.B frameref=<1\-16>
-PoÄet pÅedchozÃch snÃmků použitých pro predikce v B- a P-snÃmcÃch (výchozÃ: 1).
-Filtr je efektivnà na animovaných filmech, ale ve hraných filmech se zlepÅ¡enÃ
-rychle vytrácà okolo asi 6 referenÄnÃch snÃmků.
-Volba nemá vliv na rychlost dekódovánÃ, ale zvyÅ¡uje množstvà pamÄti nutné pro
-dekódovánÃ.
-NÄkteré dekodéry si jsou schopny poradit pouze s 15 referenÄnÃmi snÃmky.
-.
-.TP
-.B bframes=<0\-16>
-maximálnà poÄet po sobÄ jdoucÃch B-snÃmků mezi I- a P-snÃmky (výchozÃ: 0)
-.
-.TP
-.B (no)b_adapt
-Automaticky rozhoduje kdy a kolik B-snÃmků, až do maximálnÃho poÄtu uvedeného
-výše, se použije (výchozÃ: zapnuto).
-Pokud je tato volba vypnuta, je použito maximum B-snÃmků.
-.
-.TP
-.B b_bias=<\-100\-100>
-Ovládá rozhodovacà proces provádÄný b_adapt.
-Vyššà b_bias produkuje vÃce B-snÃmků (výchozÃ: 0).
-.
-.TP
-.B (no)b_pyramid
-Umožnà použità B-snÃmků jako reference pro predikci ostatnÃch snÃmků.
-NapÅÃklad uvažujme tÅi po sobÄ jdoucà B-snÃmky: I0 B1 B2 B3 P4.
-Bez této volby následujà B-snÃmky stejný vzor jako MPEG-[124].
-Äili jsou kódovány v\ poÅadà I0 P4 B1 B2 B3 a vÅ¡echny B-snÃmky
-jsou predikovány z\ I0 a P4.
-S touto volbou jsou snÃmky kódovány v\ poÅadà I0 P4 B2 B1 B3.
-B2 je stejný jako výše, ale B1 je predikován z\ I0 a B2 a
-B3 je predikován z\ B2 a P4.
-To obvykle mÃrnÄ zvýšà kompresi a má minimálnà vliv na rychlost.
-Je to vÅ¡ak experimentálnà volba: nenà plnÄ doladÄna a nemusà vždy pomoci.
-Vyžaduje bframes >= 2.
-Nevýhoda: zvýšà zpoždÄnà dekódovánà na 2 snÃmky.
-.
-.TP
-.B (no)deblock
-PoužÃt deblokovacà filtr (výchozÃ: zapnuto).
-Vzhledem k\ tomu jak malý Äas to zabere, v\ porovnánà s\ nárůstem kvality,
-nedoporuÄujeme volbu vypÃnat.
-.
-.TP
-.B deblock=<\-6\-6>,<\-6\-6>
-Prvnà parametr je AlphaC0 (výchozÃ: 0).
-To upravuje úrovnÄ (prahy) pro H.264 in-loop deblokovacà filtr.
-Zaprvé, tento parametr nastavuje maximálnà zmÄnu kterou filtr může
-provést na jakémkoli pixelu.
-Zadruhé, tento parametr ovlivÅuje práh pro zmÄnu pÅi filtrovánà obrysů.
-Kladná hodnota snižuje blokové artefakty vÃce, ale rovnÄž smaže detaily.
-.br
-Druhý parametr je Beta (výchozÃ: 0).
-OvlivÅuje práh detailů.
-Bloky s vysokými detaily nejsou filtrovány, jelikož vyhlazovánà provádÄné
-filtrem by bylo vidÄt vÃce než původnà ÄtvereÄkovánÃ.
-.br
-Výchozà chovánà filtru témÄÅ vždy poskytne optimálnà kvalitu, takže bývá
-nejlepšà nechat jej být, nebo provést jen malé úpravy.
-Pokud vÅ¡ak váš zdroj již obsahuje ÄtvereÄkovánà nebo Å¡um, který byste chtÄli
-odstranit, může být vhodné zde troÅ¡ku pÅidat.
-.
-.TP
-.B (no)cabac
-Použije CABAC (KontextovÄ-Adaptivnà Binárnà Aritmetické KódovánÃ)
-(výchozÃ: zapnuto).
-Zpomalà enkódovánÃ, ale mÄlo by uÅ¡etÅit 10\-15% datového toku.
-Tuto volbu byste nemÄli vypÃnat, pokud nevyžadujete maximálnà rychlost
-dekódovánÃ.
-.
-.TP
-.B qp_min=<1\-51> (pouze ABR nebo dvouprůchodový režim)
-Minimálnà kvantizer, 10\-35 se zdá být použitelným rozsahem (výchozÃ: 10).
-.
-.TP
-.B qp_max=<1\-51> (pouze ABR nebo dvouprůchodový režim)
-Maximálnà kvantizer (výchozÃ: 51)
-.
-.TP
-.B qp_step=<1\-50> (pouze ABR nebo dvouprůchodový režim)
-Maximálnà hodnota o kterou se může snÞit/\:zvýšit kvantizer mezi snÃmky
-(výchozÃ: 4).
-.
-.TP
-.B ratetol=<0.1\-100.0> (ABR nebo dvouprůchodový režim)
-povolená odchylka v průmÄrném datovém toku (žádné konkrétnà jednotky)
-(default: 1.0)
-.
-.TP
-.B vbv_maxrate=<hodnota> (ABR nebo dvouprůchodový režim)
-maximálnà okamžitý datový tok v kbitech/\:sekundu (výchozÃ: vypnuto)
-.
-.TP
-.B vbv_bufsize=<hodnota> (ABR nebo dvouprůchodový režim)
-perioda průmÄrovánà pro vbv_maxrate, v kbitech
-(výchozÃ: žádná, musà být nastavena je-li zapnuto vbv_maxrate)
-.
-.TP
-.B vbv_init=<0.0\-1.0> (ABR nebo dvouprůchodový režim)
-poÄáteÄnà využità vyrovnávacà pamÄti jako zlomek vbv_bufsize (výchozÃ: 0.9)
-.
-.TP
-.B ip_factor=<hodnota>
-faktor kvantizeru mezi I- a P-snÃmky (výchozÃ: 1.4)
-.
-.TP
-.B pb_factor=<hodnota>
-faktor kvantizeru mezi P- a B-snÃmky (výchozÃ: 1.3)
-.
-.TP
-.B qcomp=<0\-1> (ABR nebo dvouprůchodový režim)
-komprese kvantizeru (výchozÃ: 0.6).
-Nižšà hodnota Äinà datový tok stálejÅ¡Ãm,
-zatÃmco vyššà hodnota Äinà stálejÅ¡Ãm kvantizaÄnà parametr.
-.
-.TP
-.B cplx_blur=<0\-999> (pouze dvouprůchodový režim)
-RozostÅenà komplexnosti pracovnÃho (temporal) snÃmku pÅed kompresà kÅivky
-(výchozÃ: 20).
-Nižšà hodnoty umožÅujà hodnotÄ kvantizeru rychlé zmÄny,
-vyššà hodnoty vynucujà pomalejšà zmÄny.
-DÃky cplx_blur bude mÃt každý I-snÃmek kvalitu odpovÃdajÃcà následným
-P-snÃmkům. RovnÄž pÅi stÅÃdánà snÃmků s vysokou a nÃzkou komplexnostÃ
-(napÅ.\& animace s nÃzkou snÃmkovou rychlostÃ) nebude plýtvat bity
-na fluktuaci kvantizeru.
-.
-.TP
-.B qblur=<0\-99> (pouze dvouprůchodový režim)
-RozostÅenà pracovnÃho (temporal) kvantizaÄnÃho parametru po kompresi kÅivky
-(výchozÃ: 0.5).
-Nižšà hodnoty umožÅujà ostÅejšà skoky hodnoty kvantizeru,
-vyššà hodnoty vynucujà pozvolnÄjšà zmÄny.
-.
-.TP
-.B zones=<zone0>[/<zone1>[/...]]
-Uživatelem nastavená kvalita pro urÄité zóny (konec, titulky, ...).
-Každá zóna je urÄena jako <poÄáteÄnÃ-snÃmek>,<koncový snÃmek>,<volba> - kde
-volba může být:
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-kvantizer
-.IPs "b=<0.01\-100.0>"
-násobitel datového toku
-.RE
-.PD 1
-.RS
-.I POZNÃMKA:
-Volba kvantizer nenà důslednÄ dodržována.
-OvlivÅuje pouze plánovacà fázi ÅÃzenà datového toku a je stále pÅedmÄtem
-kompenzace pÅeplnÄnà a qp_min/qp_max.
-.RE
-.
-.TP
-.B direct_pred=<jméno>
-UrÄuje typ odhadovánà pohybu použité pro pÅÃmé (direct) makrobloky v B-snÃmcÃch.
-.PD 0
-.RSs
-.IPs none
-PÅÃmé makrobloky nejsou použÃvány.
-.IPs spatial
-Vektory pohybu jsou extrapolovány ze sousednÃch bloků.
-(výchozÃ)
-.IPs temporal
-Vektory pohybu jsou odvozeny z následujÃcÃho P-snÃmku.
-.IPs auto
-Kodek volà mezi prostorovou (spatial) a průbÄžnou (temporal) pro každý snÃmek.
-.RE
-.PD 1
-.RS
-Prostorová a průbÄžná metoda majà v průmÄru stejné PSNR a jsou i stejnÄ rychlé.
-Volba mezi nimi závisà na obsahu videa.
-Auto je o nÄco lepÅ¡Ã, ale pomalejÅ¡Ã.
-Auto je nejefektivnÄjšà pÅi vÃceprůchodovém režimu.
-direct_pred=0 je jak pomalejÅ¡Ã, tak ménÄ kvalitnÃ.
-.RE
-.
-.TP
-.B (no)weight_b
-Použije váženou predikci v B-snÃmcÃch.
-Bez této volby dajà obousmÄrnÄ predikované makrobloky stejnou váhu každému
-referenÄnÃmu snÃmku.
-S touto volbou se váha odvozuje podle okamžité pozice B-snÃmku vzhledem
-k referenÄnÃmu.
-Vyžaduje bframes > 1.
-.
-.TP
-.B partitions=<seznam>
-Povolà nÄkteré volitelné typy makrobloků (výchozÃ: p8x8,b8x8,i8x8,i4x4).
-.PD 0
-.RSs
-.IPs p8x8
-Povolà typy p16x8, p8x16, p8x8.
-.IPs p4x4
-Povolà typy p8x4, p4x8, p4x4.
-p4x4 je doporuÄený pouze se subq >= 5 a pouze pÅi nÃzkém rozliÅ¡enÃ.
-.IPs b8x8
-Povolà typy b16x8, b8x16, b8x8.
-.IPs i8x8
-Povolà typ i8x8.
-i8x8 nemá žádný vliv, dokud nenà povolena 8x8dct.
-.IPs i4x4
-Povolà typy i4x4.
-.IPs all
-Povolà všechny výše uvedené typy.
-.IPs none
-Zakáže všechny výše uvedené typy.
-.RE
-.PD 1
-.RS
-Bez ohledu na tuto volbu jsou typy makrobloků p16x16, b16x16 a i16x16
-vždy povoleny.
-.br
-ÃÄelem je najÃt typ a rozmÄr nejlépe odpovÃdajÃcà urÄité oblasti obrázku.
-NapÅÃklad panorama je lépe reprezentováno bloky 16x16, zatÃmco malé pohyblivé
-objekty jsou lépe reprezentovány menÅ¡Ãmi bloky.
-.RE
-.
-.TP
-.B (no)8x8dct
-Adaptivnà velikost transformovaného prostoru: umožÅuje vybÃrat mezi
-4x4 a 8x8 DCT.
-RovnÄž umožÅuje použÃt makrobloky typu i8x8.
-Bez této volby je použito pouze 4x4 DCT.
-.
-.TP
-.B me=<jméno>
-Zvolà celopixelový algoritmus odhadu pohybu.
-.PD 0
-.RSs
-.IPs dia
-diamantové vyhledávánÃ, rádius 1. (rychlé)
-.IPs hex
-Å¡estiúhelnÃkové vyhledávánÃ, rádius 2. (výchozÃ)
-.IPs umh
-nestejnomÄrné vÃceÅ¡estiúhelnÃkové vyhledávánà (pomalé)
-.IPs esa
-důkladné vyhledávánà (velmi pomalé a o nic lepšà než umh)
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-rádius důkladného nebo vÃceÅ¡estiúhelnÃkového vyhledávánà pohybu (výchozÃ: 16)
-.
-.TP
-.B subq=<1\-7>
-Nastavuje kvalitu subpel dolaÄovánÃ.
-Tento parametr ovlivÅuje pomÄr kvalita versus rychlost v procesu rozhodovánÃ
-o predikovaném pohybu.
-NastavenÃm subq=5 může zvýšit komprimaci až o 10% oproti subq=1.
-.PD 0
-.RSs
-.IPs 1
-Provádà rozhodovánà v režimu s pÅesnostà na celý pixel na vÅ¡ech
-kandidátských typech makrobloku.
-Pak vybere nejlepÅ¡Ã.
-NáslednÄ zpÅesnà pohyb tohoto typu na rychlou Ätvrtpixelovou pÅesnost
-(nejrychlejÅ¡Ã).
-.IPs 2
-Použije režim vyhledávánà pohybu s pÅesnostà půl pixelu na vÅ¡ech
-kandidátských typech makrobloku. Pak vybere nejlepÅ¡Ã.
-Nakonec zpÅesnà pohyb tohoto typu na Ätvrtpixelovou pÅesnost.
-.IPs 3
-Stejné jako 2, ale použÃvá pomalejšà Ätvrtpixelovou zpÅesÅovánÃ.
-.IPs 4
-Použije rychlý Ätvrtpixelový režim vyhledávánà pohybu na vÅ¡ech kandidátských
-typech makrobloku. Pak vybere nejlepÅ¡Ã.
-Nakonec zpÅesnà pohyb tohoto typu na Ätvrtpixelovou pÅesnost.
-.IPs 5
-Použije nejkvalitnÄjšà vyhledávánà pohybu s\ Ätvrtpixelovou pÅesnostÃ
-na vÅ¡ech kandidátských typech makrobloku, než je vybrán ten nejlepšà (výchozÃ).
-.IPs 6
-Zapne optimalizaci omezovánà toku typů makrobloků
-v\ I- a P-snÃmcÃch.
-.IPs 7
-Zapne optimalizaci omezenà toku pro vektory pohybu a intra režimy. (nejlepÅ¡Ã)
-.RE
-.PD 1
-.RS
-Výše uvedený pojem "všechny kandidátské typy" neznamená všechny povolené typy:
-4x4, 4x8, 8x4 jsou zkoušeny pouze pokud je 8x8 lepšà než 16x16.
-.RE
-.
-.TP
-.B (no)chroma_me
-Bere v potaz barvu bÄhem vyhledávánà pohybu subpixelu
-(výchozÃ: zapnuto).
-Vyžaduje subq>=5.
-.
-.TP
-.B (no)mixed_refs
-UmožÅuje každému pohybovému oddÃlu 8x8 nebo 16x8 nezávisle zvolit
-referenÄnà snÃmek.
-Bez této volby musà použÃt celý makroblok stejnou referenci.
-Vyžaduje frameref>1.
-.
-.TP
-.B (no)brdo
-Zapne optimalizaci oÅezánà datového toku makroblokových typů v B-snÃmcÃch.
-Vyžaduje subq>=6.
-.
-.TP
-.B (no)bime
-RadÄji zpÅesnà oba vektory pohybu v dvousmÄrných makroblocÃch, než aby použil
-vektory ze zpÄtného a dopÅedného vyhledávánÃ.
-Tato volba nemá žádný vliv bez B-snÃmků.
-.
-.TP
-.B trellis=<0\-2>
-optimálnà kvantizace z hlediska omezenà datového toku
-.PD 0
-.RSs
-.IPs 0
-vypnuto (výchozÃ)
-.IPs 1
-zapnuto pouze pro koneÄný výsledek (final encode)
-.IPs 2
-zapnuto pÅi vÅ¡ech rozhodovánÃch o režimech (pomalé, vyžaduje subq>=6)
-.RE
-.PD 1
-.
-.TP
-.B deadzone_inter=<0\-32>
-Nastavà velikost deadzone jasové kvantizace pro ne-trellisovu
-kvantizaci klÃÄových snÃmků (výchozÃ: 21).
-Nižšà hodnoty pomáhajà zachovat jemné detaily a zrnitost filmu (typicky
-využitelné pro vysoce kvalitnÃ/datovÄ nároÄné enkódy), zatÃmco vyššà hodnoty
-pomáhajà odfiltrovat tyto detaily, aby se uÅ¡etÅily bity, které se mohou využÃt
-pro jiné makrobloky a snÃmky (typicky využitelné pro enkódy s\ limitovanou velikostÃ).
-DoporuÄujeme, abyste zaÄali s\ ladÄnÃm deadzone_intra pÅed zmÄnou tohoto
-parametru.
-.
-.TP
-.B deadzone_intra=<0\-32>
-Nastavà velikost deadzone jasové kvantizace pro ne-trellisovu
-kvantizaci neklÃÄových snÃmků (výchozÃ: 11).
-Tato volba má stejný efekt jako deadzone_inter až na to, že ovlivÅuje klÃÄové
-snÃmky.
-DoporuÄujeme, abyste zaÄali s\ ladÄnÃm tohoto parametru pÅed zmÄnou
-deadzone_inter.
-.
-.TP
-.B (no)fast_pskip
-Provádà detekci early skip v\ P-snÃmcÃch (výchozÃ: zapnuto).
-To obvykle zadarmo zlepšà rychlost, ale může obÄas způsobovat artefakty
-v\ plochách bez detailů, jako je obloha.
-.
-.TP
-.B (no)dct_decimate
-Eliminuje dct bloky v\ P-snÃmcÃch obsahujÃcÃch pouze malý jediný koeficient
-(výchozÃ: zapnuto).
-Odstranà to nÄkteré detaily, takže uÅ¡etÅà bity, které mohou být použity
-v\ jiných snÃmcÃch, což jak doufáme zvýšà celkovou subjektivnà kvalitu.
-Pokud komprimujete ne-anime obsah s\ vysokým datovým tokem, mÄli byste to
-vypnout pro zachovánà tolika detailů, kolik je možné.
-.
-.TP
-.B nr=<0\-100000>
-Omezenà šumu, 0 znamená vypnuto.
-Pro typický obsah je vhodný rozsah 100\-1000, ale můžete ji o nÄco
-zvýšit pro velmi zaÅ¡umÄný obsah (výchozÃ: 0).
-Vzhledem k malému vlivu na rychlost jÃm můžete nahradit filtrovánà šumu pomocÃ
-videofiltrů jako denoise3d nebo hqdn3d.
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-Použije odlišný kvantizer pro barvu vztažený k jasu.
-Použitelné hodnoty jsou v rozsahu <\-2\-2> (výchozÃ: 0).
-.
-.TP
-.B cqm=<flat|jvt|<soubor>>
-BuÄ použije pÅeddefinovanou uživatelskou kvantizaÄnà matici, nebo nahraje
-soubor formátu JM s maticÃ.
-.PD 0
-.RSs
-.IPs "flat\ "
-Použije se pÅeddefinovaná flat 16 matice (výchozÃ).
-.IPs "jvt\ \ "
-Použije se pÅeddefinovaná JVT matice.
-.IPs <soubor>
-Použije se zadaný soubor formátu JM s maticÃ.
-.PD 1
-.RE
-.RS
-.I POZNÃMKA:
-Uživatelé použÃvajÃcà Windows CMD.EXE mohou mÃt problém se zpracovánÃm
-pÅÃkazového Åádku, pokud se pokusà použÃt vÅ¡echny CQM seznamy.
-To je způsobeno omezenÃm délky pÅÃkazového Åádku.
-V tom pÅÃpadÄ doporuÄujeme, abyste seznamy vložili do CQM souboru formátu JM
-a ten pak nahráli výše uvedeným způsobem.
-.RE
-.
-.TP
-.B cqm4iy=<seznam> (viz také cqm)
-Uživatelská 4x4 intra jasová matice zadaná jako seznam 16 Äárkou oddÄlených
-hodnot v rozsahu 1\-255.
-.
-.TP
-.B cqm4ic=<seznam> (viz také cqm)
-Uživatelská 4x4 intra chrominanÄnà matice zadaná jako seznam 16 Äárkou
-oddÄlených hodnot v rozsahu 1\-255.
-.
-.TP
-.B cqm4py=<seznam> (viz také cqm)
-Uživatelská 4x4 inter jasová matice zadaná jako seznam 16 Äárkou oddÄlených
-hodnot v rozsahu 1\-255.
-.
-.TP
-.B cqm4pc=<seznam> (viz také cqm)
-Uživatelská 4x4 inter chrominanÄnà matice zadaná jako seznam 16 Äárkou
-oddÄlených hodnot v rozsahu 1\-255.
-.
-.TP
-.B cqm8iy=<seznam> (viz také cqm)
-Uživatelská 8x8 intra jasová matice zadaná jako seznam 64 Äárkou oddÄlených
-hodnot v rozsahu 1\-255.
-.
-.TP
-.B cqm8py=<seznam> (viz také cqm)
-Uživatelská 8x8 inter jasová matice zadaná jako seznam 64 Äárkou oddÄlených
-hodnot v rozsahu 1\-255.
-.
-.TP
-.B level_idc=<10\-51>
-Nastavuje Level bitového proudu tak jak je definován v\ annex A
-standardu H.264 (výchozÃ: 51 - Level 5.1).
-To je použito pro sdÄlenà dekodéru jaké vlastnosti musà podporovat.
-Tento parametr použijte pouze pokud vÃte co znamená a musÃte jej nastavit.
-.
-.TP
-.B threads=<1\-16>
-RozvÄtvà vlákna pro paralelnà enkódovánà na vÃce procesorech (výchozÃ: 1).
-MÃrnÄ snižuje kvalitu komprese.
-Nastavenà na 0 nebo 'auto' sdÄlà libx264, aby detekovala poÄet CPU, které
-máte a zvolila vhodný poÄet vláken.
-.
-.TP
-.B (no)global_header
-Způsobà že se SPS a PPS objevà pouze jednou, na zaÄátku bitového proudu
-(výchozÃ: vypnuto).
-NÄkteré pÅehrávaÄe, jako Sony PSP, vyžadujà použità této volby.
-VýchozÃm chovánÃm je opakovánà SPS a PPS pÅed každým IDR snÃmkem.
-.
-.TP
-.B (no)interlaced
-Považovat video obsah za prokládaný.
-.
-.TP
-.B log=<\-1\-3>
-Nastavenà množstvà logovacÃch informacà vypisovaných na obrazovku.
-.PD 0
-.RSs
-.IPs "\-1"
-žádné
-.IPs " 0"
-Vypisuje pouze chyby.
-.IPs " 1"
-varovánÃ
-.IPs " 2"
-PSNR a dalšà analytické statistiky po skonÄenà enkódovánÃ
-(výchozÃ)
-.IPs " 3"
-PSNR, QP, typ snÃmku, velikost a ostatnà statistiky pro každý snÃmek
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-Tiskne statistiky odstupu signál-šum.
-.br
-.I POZNÃMKA:
-Sloupce 'Y', 'U', 'V', a 'Avg' PSNR ve shrnutà nejsou matematicky správné
-(jsou to jednoduÅ¡e průmÄry odstupu signál-Å¡um z jednotlivých snÃmků).
-Jsou zde pouze pro srovnánà s JM referenÄnÃm kodekem.
-Pro jakékoli jiné využità radÄji použijte 'GlobálnÃ' PSNR, nebo PSNR
-jednotlivých snÃmků vypisovaných pÅi log=3.
-.
-.TP
-.B (no)ssim
-VypÃÅ¡e výsledky Structural Similarity Metric.
-To je alternativou k PSNR a může lépe odpovÃdat vnÃmané kvalitÄ
-komprimovaného videa.
-.
-.TP
-.B (no)visualize
-Zapne x264 vizualizace bÄhem enkódovánÃ.
-Pokud to x264 na vaÅ¡em systému podporuje, bude bÄhem enkódovánà otevÅeno nové
-okno, ve kterém se pokusà x264 ukazovat pÅehled o tom, jak jsou enkódovány
-jednotlivé snÃmky.
-Každý typ bloku vizualizovaného filmu bude obarven následovnÄ:
-.PD 0
-.RSs
-.IPs ÄervenÄ/růžovÄ
-intra blok
-.IPs "modÅe\ "
-inter blok
-.IPs zelenÄ
-pÅeskoÄený blok
-.IPs žlutÄ
-B-blok
-.RE
-.PD 1
-.RS
-Tuto vlastnost považujte za experimentálnà a může se zmÄnit.
-KonkrétnÄ závisà na tom, zda byl x264 zkompilován se zapnutou vizualizacÃ.
-Poznamenejme, že po enkódovánà vykreslenà vizualizace x264 zastavà a Äeká
-na stisk klávesy, než enkóduje dalšà snÃmek.
-.RE
-.
-.
-.SS xvfw (\-xvfwopts)
-.
-Enkódovánà pomocà Video for Windows kodeků je zpravidla zastaralé, pokud
-nechcete enkódovat nÄkterým obskurnÃm otÅepaným kodekem.
-.
-.TP
-.B codec=<jméno>
-Jméno binárnÃho kodeku, kterým se má enkódovat.
-.TP
-.B compdata=<soubor>
-Název souboru s nastavenÃm kodeku (napÅ. firstpass.mcf) vytvoÅený programem
-vfw2menc.
-.
-.
-.SS MPEG muxer (\-mpegopts)
-.
-MPEG muxer umà generovat 5 typů datových proudů, z nichž každý má rozumné
-výchozà volby, které si uživatel může upravit.
-ObecnÄ, když enkódujete MPEG soubory, bývá vhodné vypnout MEncoderův
-kód pro pÅeskakovánà snÃmků (viz video filtry \-noskip, \-mc a také
-harddup a softskip).
-.PP
-.I PÅÃKLAD:
-.PD 0
-.RSs
-.IPs format=mpeg2:tsaf:vbitrate=8000
-.RE
-.PD 1
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
-formát proudu (výchozÃ: mpeg2).
-pes1 a pes2 jsou velice vadné formáty (žádná pack hlaviÄka a žádné vyplÅovánÃ),
-ale VDR je použÃvá; nevybÃrejte je, pokud pÅesnÄ nevÃte co dÄláte.
-.
-.TP
-.B size=<až do 65535>
-Velikost packu v bajtech, nemÄÅte ji, pokud nevÃte jistÄ co dÄláte
-(výchozÃ: 2048).
-.
-.TP
-.B muxrate=<int>
-Nominálnà rychlost multiplexovánà v kbitech/s použitá v\ hlaviÄkách
-packů (výchozÃ: 1800 kb/s).
-Bude zmÄnÄna podle potÅeby v\ pÅÃpadÄ Å¾e 'format=mpeg1' nebo 'mpeg2'.
-.
-.TP
-.B "tsaf\ \ \ "
-Nastavà Äasovou znaÄku v každém snÃmku, pokud je to možné;
-doporuÄujeme pÅi format=dvd. Pokud dvdauthor pÃÅ¡e nÄco
-jako "..audio sector out of range...", nejspÃÅ¡ jste nezapnuli toto.
-.
-.TP
-.B interleaving2
-PoužÃvá lepšà algoritmus k proloženà audio a video paketů založeném na
-principu, že se muxer vždy pokoušà naplnit proud s nejvÄtÅ¡Ãm procentem
-volného prostoru.
-.
-.TP
-.B vdelay=<1\-32760>
-PoÄáteÄnà zpoždÄnà videa v milisekundách (výchozÃ: 0),
-použijte ji pokud chcete zpozdit video s ohledem na audio.
-Nepracuje s :drop.
-.
-.TP
-.B adelay=<1\-32760>
-PoÄáteÄnà hodnota zpoždÄnà zvuku v milisekundách (výchozÃ: 0),
-použijte ji, pokud chcete opozdit zvuk vůÄi videu.
-.
-.TP
-.B "drop\ \ \ "
-Je-li použito spolu s vdelay, muxer zahodà tu Äást audia,
-která pÅeÄnÃvá.
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-Nastavà šÃÅku a výšku když je video MPEG-1/2.
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-Nastavà "pan and scan" Å¡ÃÅku a výšku pokud je video MPEG-2.
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-Nastavuje zobrazovaný pomÄr stran pro MPEG-2 video.
-NepoužÃvejte pro MPEG-1, jinak bude výsledný pomÄr stran zcela Å¡patný.
-.
-.TP
-.B vbitrate=<int>
-Nastavà datový tok videa v kbitech/s pro MPEG-1/2 video.
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
-Nastavà snÃmkovou rychlost pro MPEG-1/2 video.
-Tato volba bude ignorována, je-li použita v kombinaci s telecine.
-.
-.TP
-.B telecine
-Zapne soft 3:2 pulldown soft telecine režim: Muxer upravà video proud tak,
-aby vypadal jako enkódovaný se snÃmkovou rychlostà 30000/1001 fps.
-Pracuje pouze s MPEG-2 videem, pokud je výstupnà snÃmková rychlost
-24000/1001 fps. Konvertujte ji pomocà \-ofps podle potÅeby.
-Jakákoli jiná snÃmková rychlost je nekompatibilnà s touto volbou.
-.
-.TP
-.B film2pal
-ZapÃná FILM na PAL a NTSC na PAL soft telecine režim: Muxer upravÃ
-video proud tak,
-aby vypadal jako enkódovaný se snÃmkovou rychlostà 25 fps.
-Pracuje pouze s MPEG-2 videem, pokud je výstupnà snÃmková rychlost
-24000/1001 fps. Konvertujte ji pomocà \-ofps podle potÅeby.
-Jakákoli jiná snÃmková rychlost je nekompatibilnà s touto volbou.
-.TP
-.B tele_src a tele_dest
-Zapne libovolnou telecinaci pomocà DGPulldown kódu od Donanda Grafta.
-MusÃte nastavit původnà a požadovanou snÃmkovou rychlost; muxer se postará,
-aby video proud vypadal jakoby byl enkódován pÅi požadované rychlosti.
-Pracuje pouze s MPEG-2 videem, pokud je vstupnà snÃmková rychlost nižšà než
-výstupnà a jejà zvýšenà je <= 1.5.
-.sp 1
-.RS
-.I PÅÃKLAD:
-.RE
-.PD 0
-.RSs
-.IPs tele_src=25,tele_dest=30000/1001
-telecinace PAL na NTSC
-.RE
-.PD 1
- .
-.TP
-.B vbuf_size=<40\-1194>
-Nastavuje velikost bufferu video dekodéru v kilobytech.
-Zadejte ji pouze pokud je bitový tok video proudu pÅÃliÅ¡ velký pro
-zvolený formát a zárovÄÅ perfektnÄ vÃte co dÄláte.
-PÅÃliÅ¡ vysoké hodnoty mohou vést k nepÅehratelnému filmu, podle schopnostÃ
-pÅehrávaÄe.
-Pokud muxujete HDTV video, mÄla by staÄit velikost 400.
-.
-.TP
-.B abuf_size=<4\-64>
-Nastavuje velikost bufferu audio dekodéru v kilo bytech.
-Ostatnà je obdobné jako vbuf_size.
-.
-.
-.SS FFmpeg libavformat demuxery (\-lavfdopts)
-.
-.TP
-.B probesize=<hodnota>
-Maximálnà množstvà skoumaných dat ve fázi detekce.
-V\ pÅÃpadÄ MPEG-TS tato hodnota udává maximálnà poÄet TS
-paketů, které se budou skenovat.
-.
-.
-.
-.SS FFmpeg libavformat muxery (\-lavfopts) (viz také \-of lavf)
-.
-.TP
-.B delay=<hodnota>
-V souÄasnosti má význam pouze pro MPEG[12]: Maximálnà povolená odchylka
-v sekundách, mezi referenÄnÃm ÄasovaÄem výstupnÃho proudu (SCR)
-a dekódovanou Äasovou znaÄkou (DTS) pro jakýkoli dostupný datový proud
-(prodleva od demux do dekódovánÃ).
-Výchozà je 0.7 (jak pÅikazujà standardy definované MPEG).
-Vyššà hodnoty vyžadujà vÄtšà vyrovnávacà pamÄti a nesmà být použÃvány.
-.
-.TP
-.B format=<nosný_formát>
-PÅenastavà výstupnà nosný formát (kontejner) do kterého se bude multiplexovat
-(výchozÃ: autodetekce z pÅÃpony výstupnÃho souboru).
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-MPEG-1 systémy a MPEG-2 PS
-.IPs "asf\ \ "
-Advanced Streaming Format
-.IPs "avi\ \ "
-Soubor Audio Video Interleave
-.IPs "wav\ \ "
-Waveform Audio
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-Macromedia Flash video soubory
-.IPs "rm\ \ \ "
-RealAudio a RealVideo
-.IPs "au\ \ \ "
-SUN AU formát
-.IPs "nut\ \ "
-NUT Open container format (experimentálnÃ)
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-Formát MPEG-4
-.IPs "dv\ \ \ "
-Sony Digital Video kontejner
-.RE
-.PD 1
-.TP
-.B muxrate=<tok>
-Nominálnà datový tok multiplexu v\ bitech za sekundu;
-v\ souÄasnosti má význam pouze pro MPEG[12].
-ObÄas je zvýšenà nutné pro pÅedejità "podteÄenà bufferu".
-.
-.TP
-.B packetsize=<velikost>
-Velikost, vyjádÅená v bajtech, jednotkového paketu pro zvolený formát.
-Když muxujete do MPEG[12] implementacÃ, výchozà hodnoty jsou:
-2324 pro [S]VCD, 2048 pro všechny ostatnà formáty.
-.
-.TP
-.B preload=<odchylka>
-V souÄasnosti má význam pouze pro MPEG[12]: PoÄáteÄnà odchylka v sekundách,
-mezi referenÄnÃm ÄasovaÄem výstupnÃho proudu (SCR) a Äasovou znaÄkou (DTS)
-pro jakýkoli dostupný datový proud (doba od demux do dekódovánÃ).
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" promÄnné prostÅedÃ
-.\" --------------------------------------------------------------------------
-.
-.SH PROMÄNNÃ PROSTÅEDÃ
-.
-K ovládánà chovánà MPlayeru a MEncoderu lze použÃt Åadu
-promÄnných prostÅedÃ.
-.
-.TP
-.B MPLAYER_CHARSET (viz také \-msgcharset)
-Konvertuje terminálové zprávy na zadanou znakovou sadu (výchozÃ: autodetekce).
-Hodnota "noconv" znamená žádnou konverzi.
-.
-.TP
-.B MPLAYER_HOME
-AdresáŠkde bude hledat MPlayer uživatelská nastavenÃ.
-.
-.TP
-.B MPLAYER_VERBOSE (viz také \-v a \-msglevel)
-Nastavà poÄáteÄnà úroveÅ upovÃdanosti pro vÅ¡echny moduly (výchozÃ: 0).
-Výsledná upovÃdanost odpovÃdá \-msglevel 5 plus
-hodnota MPLAYER_VERBOSE.
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-Pokud je nastavena LADSPA_PATH, vyhledává uvedený soubor.
-Pokud ne, musÃte zadat celé jméno i s cestou.
-DODÄLAT: Toto rovnÄž zmiÅujeme v sekci ladspa.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-Nastavuje adresáÅ, do kterého se ukládajà CSS klÃÄe DVD titulů.
-To zrychluje otevÃránà DVD které jsou v cache.
-AdresáŠDVDCSS_CACHE je vytvoÅen, pokud již neexistuje a
-podadresáŠje vytvoÅen podle názvu DVD nebo data výroby.
-Pokud nenà DVDCSS_CACHE nastavena, nebo je prázdná, libdvdcss použije
-výchozà hodnotu, kterou je "${HOME}/.dvdcss/" pod Unixem a
-"C:\\Documents and Settings\\$USER\\Application Data\\dvdcss\\" pod Win32.
-Speciálnà hodnota "off" vypne ukládánà klÃÄů.
-.
-.TP
-.B DVDCSS_METHOD
-Nastavà metodu autentifikace a deÅ¡ifrovánÃ, kterou použije
-libdvdcss pro Ätenà šifrovaných disků.
-Může být titul, klÃÄ nebo disk.
-Může nabýt hodnoty title, key nebo disc.
-.PD 0
-.RSs
-.IPs "key\ \ "
-je výchozà metoda.
-libdvdcss použije sadu vypoÄÃtaných klÃÄů pÅehrávaÄe pro dosaženÃ
-klÃÄe disku.
-To může selhat, pokud mechanika nerozpozná žádný z klÃÄů pÅehrávaÄe.
-.IPs "disc\ "
-je záchytná metoda, pokud klÃÄ selže.
-MÃsto použità klÃÄů pÅehrávaÄe, libdvdcss zÃská klÃÄ disku
-hrubou silou.
-Tento proces je nároÄný na CPU a vyžaduje 64 MB pamÄti pro uloženÃ
-doÄasných dat.
-.IPs title
-je záchytnou metodou, pokud všechny ostatnà metody selžou.
-Nezávisà na výmÄnÄ klÃÄů s DVD mechanikou, ale spÃÅ¡e použije
-kryptografický útok pro uhodnutà klÃÄe.
-V ojedinÄlých pÅÃpadech může selhat, jelikož na disku nenà dostatek
-šifrovaných dat pro provedenà statistického útoku, ale na druhou stranu
-je to jediný způsob, jak dešifrovat DVD uložené na hard disku, nebo DVD
-se špatným regionem na RPC2 mechanice.
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-Nastavà raw zaÅÃzenà k použitÃ.
-PÅesné použità závisà na operaÄnÃm systému. Linuxová utilita pro
-nastavenà raw zaÅÃzenà je napÅÃklad raw(8).
-Pamatujte, že na vÄtÅ¡inÄ operaÄnÃch systémů vyžaduje použitÃ
-raw zaÅÃzenà vysoce zarovnané buffery: Linux vyžaduje zarovnánÃ
-na 2048 bajtů (což je velikost DVD sektoru).
-.
-.TP
-.B DVDCSS_VERBOSE
-Nastavà upovÃdanost libdvdcss.
-.PD 0
-.RSs
-.IPs 0
-Neprodukuje žádné zprávy.
-.IPs 1
-Vypisuje chybové zprávy na stderr.
-.IPs 2
-Vypisuje chybové a debugovacà zprávy na stderr.
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-PÅeskoÄà obnovenà vÅ¡ech klÃÄů pÅi startu.
-V souÄasnosti vypnuto.
-.
-.TP
-.B HOME
-DODÄLAT: Zdokumentovat.
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B AUDIODEV
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B AUDIOSERVER
-Nastavà server Network Audio Systému, na který by se mÄlo pÅipojit
-výstupnà audio rozhranà nas a pÅenos, který by mÄl být
-použitý.
-Pokud nenà nastavena, použije se mÃsto nà DISPLAY.
-PÅenos může být tcp nebo unix.
-Syntaxe je tcp/<poÄÃtaÄ>:<port>, <poÄÃtaÄ>:<ÄÃslo_instance>
-nebo [unix]:<ÄÃslo_instance>.
-Základnà port NAS je 8000 a <ÄÃslo_instance> je k nÄmu pÅiÄteno.
-.sp 1
-.RS
-.I PÅÃKLADY:
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=poÄÃtaÄ:0
-PÅipojà se k NAS serveru na <poÄÃtaÄi> pomocà výchozÃho portu a pÅenosu.
-.IPs AUDIOSERVER=tcp/poÄÃtaÄ:8000
-PÅipojà se k NAS serveru na <poÄÃtaÄi> naslouchajÃcÃmu na TCP portu 8000.
-.IPs AUDIOSERVER=(unix)?:0
-PÅipojà se k NAS serveru instance 0 na localhost pomocà unix domain soketů.
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-DODÄLAT: Zdokumentovat.
-.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-DODÄLAT: Zdokumentovat.
-.
-.SS osdep:
-.
-.TP
-.B TERM
-DODÄLAT: Zdokumentovat.
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B FRAMEBUFFER
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B HOME
-DODÄLAT: Zdokumentovat.
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B HOMEPATH
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B http_proxy
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B LOGNAME
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B USERPROFILE
-DODÄLAT: Zdokumentovat.
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B DISPLAY
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B HOME
-DODÄLAT: Zdokumentovat.
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B BKTR_DEV
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B BKTR_FORMAT
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B BKTR_FREQUENCY
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B http_proxy
-DODÄLAT: Zdokumentovat.
-.
-.TP
-.B no_proxy
-DODÄLAT: Zdokumentovat.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Files
-.\" --------------------------------------------------------------------------
-.
-.SH SOUBORY
-.
-.TP
-/usr/\:local\:etc/\:mplayer/\:mplayer.conf
-Systémové nastavenà MPlayeru.
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mencoder.conf
-Systémové nastavenà MEncoderu.
-.
-.TP
-~/.mplayer/\:config
-Uživatelské nastavenà MPlayeru.
-.
-.TP
-~/.mplayer/\:mencoder.conf
-Uživatelské nastavenà MEncoderu.
-.
-.TP
-~/.mplayer/\:input.conf
-konfigurace ovládacÃch tlaÄÃtek (viz '\-input keylist' pro úplný seznam)
-.
-.TP
-~/.mplayer/\:gui.conf
-konfiguraÄnà soubor pro GUI
-.
-.TP
-~/.mplayer/\:gui.pl
-GUI playlist
-.
-.TP
-~/.mplayer/\:font/
-adresáŠs fontem (Zde musà být soubor font.desc a soubory s pÅÃponou .RAW.)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-uložené CSS klÃÄe
-.
-.TP
-Za pÅedpokladu že je pÅehráván /path/\:to/\:movie.avi, MPlayer bude soubory
-s titulky vyhledávat v tomto poÅadÃ:
-.RS
-/path/\:to/\:movie.sub
-.br
-~/.mplayer/\:sub/\:movie.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" PÅÃklady
-.\" --------------------------------------------------------------------------
-.
-.SH PÅÃKLADY POUŽITà MPLAYERU
-.
-.PP
-.B Rychlý start pÅehrávánà DVD:
-.nf
-mplayer dvd://1
-.fi
-.
-.PP
-.B PÅehrávat v japonÅ¡tinÄ s anglickými titulky:
-.nf
-mplayer dvd://1 \-alang ja \-slang en
-.fi
-.
-.PP
-.B PÅehrát pouze kapitoly 5, 6, 7:
-.nf
-mplayer dvd://1 \-chapter 5\-7
-.fi
-.
-.PP
-.B PÅehrát pouze tituly 5, 6, 7:
-.nf
-mplayer dvd://5\-7
-.fi
-.
-.PP
-.B PÅehrávánà DVD s vÃce úhly pohledu:
-.nf
-mplayer dvd://1 \-dvdangle 2
-.fi
-.
-.PP
-.B PÅehrávánà z odliÅ¡ného DVD zaÅÃzenÃ:
-.nf
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.fi
-.
-.PP
-.B PÅehrávánà DVD videa z adresáÅe s VOB soubory:
-.nf
-mplayer dvd://1 \-dvd\-device /cesta/\:do/\:adresáÅe/
-.fi
-.
-.PP
-.B ZkopÃrovánà filmu z DVD disku na hard disk, uloženà do souboru "titul1.vob":
-.nf
-mplayer dvd://1 \-dumpstream \-dumpfile titul1.vob
-.fi
-.
-.PP
-.B PÅehrávat proud z HTTP:
-.nf
-mplayer http://mplayer.hq/example.avi
-.fi
-.
-.PP
-.B PÅehrávat proud pÅes RTSP:
-.nf
-mplayer rtsp://server.example.com/streamName
-.fi
-.
-.PP
-.B PÅevést titulky do MPsub formátu:
-.nf
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B PÅevést titulky do MPsub bez koukánà na video:
-.nf
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null \-vo null \-noframedrop \-benchmark \-sub zdroj.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Vstup ze standardnÃho V4L:
-.nf
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420 \-vo xv
-.fi
-.
-.PP
-.B PÅehrávánà na Zoran kartÄ (staré provedenÃ, opuÅ¡tÄno):
-.nf
-mplayer \-vo zr \-vf scale=352:288 file.avi
-.fi
-.
-.PP
-.B PÅehrávánà na Zoran kartÄ (nové provedenÃ):
-.nf
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi
-.fi
-.
-.PP
-.B PÅehrávánà šestikanálového AAC souboru, máte-li jen dva reproduktory:
-.nf
-mplayer \-rawaudio format=0xff \-demuxer rawaudio \-af pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac
-.fi
-.br
-MusÃte si pohrát s hodnotami "pan" (tedy násobte hodnotou) pro
-zvýšenà hlasitosti nebo potlaÄenà omezenÃ.
-.PP
-.B Inverze šachovnice pomocà filtru geq:
-.nf
-mplayer \-vf geq='128+(p(X\\,Y)\-128)*(0.5\-gt(mod(X/SW\\,128)\\,64))*(0.5\-gt(mod(Y/SH\\,128)\\,64))*4'
-.fi
-.
-.
-.SH PÅÃKLADY POUŽITà MENCODERU
-.
-.PP
-.B Enkódovat DVD titul #2, pouze vybrané kapitoly:
-.nf
-mencoder dvd://2 \-chapter 10\-15 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Enkódovat DVD titul #2, zmÄna velikosti na 640x480:
-.nf
-mencoder dvd://2 \-vf scale=640:480 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Enkódovat DVD titul #2, zmÄna velikosti na 512xHHH (dodržà pomÄr stran):
-.nf
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B To samé, jen datový tok je nastaven na 1800kbitů a optimalizované makrobloky:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B To samé, jen s MJPEG kompresÃ:
-.nf
-mencoder dvd://2 \-o title2.avi \-ovc lavc \-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800 \-oac copy
-.fi
-.
-.PP
-.B Enkódovánà vÅ¡ech *.jpg souborů v aktuálnÃm adresáÅi:
-.nf
-mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Enkódovánà z tuneru (nastavte formát pomocà \-vf format):
-.nf
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.fi
-.
-.PP
-.B Enkódovánà z roury:
-.nf
-rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.fi
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Chyby, autoÅi, standardnà upozornÄnÃ
-.\" --------------------------------------------------------------------------
-.
-.SH CHYBY
-NepanikaÅte.
-Pokud nÄjakou najdete, dejte nám vÄdÄt, ale prosÃme abyste si nejdÅÃv pÅeÄetli
-veškerou dokumentaci.
-Také si dejte pozor na smajlÃky. :)
-Mnoho chyb je výsledkem špatného nastavenà nebo použità parametrů.
-Äást dokumentace vÄnovaná ohlaÅ¡ovánà chyb
-(http://www.mplayerhq.hu/\:DOCS/\:HTML/\:cs/\:bugreports.html)
-vysvÄtluje jak sestavit použitelné hlášenà o chybách.
-.
-.
-.
-.SH AUTOÅI
-MPlayer byl původnÄ napsán Arpadem Gereoffym.
-Viz soubor AUTHORS pro seznam nÄkterých dalÅ¡Ãch pÅispÄvatelů.
-.TP
-MPlayer (C) 2000\-2009 The MPlayer Team
-.PP
-Tuto manuálovou stránku pÅevážnÄ pÃÅ¡Ã: Gabucino, Jonas Jermann a Diego Biurrun.
-Spravuje ji (anglický originál): Diego Biurrun
-ProsÃme zasÃlejte pÅipomÃnky k nà do konference MPlayer-DOCS.
-PodnÄty a pÅipomÃnky k pÅekladu posÃlejte do konference MPlayer-translations.
-.PP
-PÅeklad: JiÅà Heryán
-.
-.SH "UPOZORNÄNÃ K PÅEKLADU"
-PÅekladem mohlo dojÃt k zanesenà následných chyb a nepÅesnostÃ. Nepracuje-li
-nÄkterá vlastnost jak je popisováno, nebo je nÄkterá Äást nepochopitelná,
-nahlédnÄte nejprve do anglického originálu a pÅÃpadné pÅipomÃnky zaÅ¡lete
-do konference MPlayer-translations.
-.\" end of file
diff --git a/DOCS/man/de/mplayer.1 b/DOCS/man/de/mplayer.1
deleted file mode 100644
index 120c6ce..0000000
--- a/DOCS/man/de/mplayer.1
+++ /dev/null
@@ -1,11826 +0,0 @@
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" Diese Man-Page wurde/wird von Moritz Bunkus, Sebastian Krämer,
-.\" Tobias Diedrich gepflegt.
-.\" Encoding: iso-8859-1
-.\"
-.\" In sync with r28126
-.
-.\" --------------------------------------------------------------------------
-.\" Makrodefinitionen
-.\" --------------------------------------------------------------------------
-.
-.\" Einrückung für Suboptionen
-.nr SS 5
-.\" neue Suboption hinzufügen
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" Beginn des ersten Suboptionen-Levels, endet mit .RE
-.de RSs
-.RS 10
-..
-.\" Beginn des zweiten Suboptionen-Levels
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" Ende des zweiten Levels von Suboptionen
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" Titel
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "01.01.2008" "Das MPlayer Projekt"
-.
-.SH NAME
-mplayer \- Movie Player
-.br
-mencoder \- Movie Encoder
-.
-.\" --------------------------------------------------------------------------
-.\" Synopsis
-.\" --------------------------------------------------------------------------
-.
-.SH SYNOPSIS
-.na
-.nh
-.B mplayer
-[Optionen] [Datei|URL|Playlist|\-]
-.
-.br
-.B mplayer
-[Optionen] Datei1
-[spezielle Optionen] [Datei2] [spezielle Optionen]
-.
-.br
-.B mplayer
-[Optionen]
-{Liste von Dateien und Optionen}
-[spezifische Optionen für die Optionen der Liste]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[Titel|[Starttitel]\-Endtitel][/Gerät]
-[Optionen]
-.
-.br
-.B mplayer
-vcd://Titel[/Gerät]
-.
-.br
-.B mplayer
-tv://[Kanal][/input_id]
-[Optionen]
-.
-.br
-.B mplayer
-radio://[Kanal oder Frequenz][/capture]
-[Optionen]
-.
-.br
-.B mplayer
-pvr://
-[Optionen]
-.
-.br
-.B mplayer
-dvb://[Kartennummer@]Kanal
-[Optionen]
-.
-.br
-.B mplayer
-mf://[Dateimaske|@Listendatei]
-[Optionen für \-mf] [Optionen]
-.
-.br
-.B mplayer
-[cdda|cddb]://Titel[\-Endtitel][:Geschwindigkeit][/Gerät]
-[Optionen]
-.
-.br
-.B mplayer
-cue://Datei[:Titel]
-[Optionen]
-.
-.br
-.B mplayer
-[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://
-[Benutzer:Passwort@]URL[:Port] [Optionen]
-.
-.br
-.B mplayer
-sdp://Datei
-[Optionen]
-.
-.br
-.B mplayer
-mpst://Rechnername[:Port]/URL
-[Optionen]
-.
-.br
-.B mplayer
-tivo://Rechnername/[list|llist|fsid]
-[Optionen]
-.
-.br
-.B gmplayer
-[Optionen]
-[\-skin\ Skin]
-.
-.br
-.B mencoder
-[Optionen] Datei
-[Datei|URL|\-] [\-o Datei | file://Datei |
-smb://[Benutzer:Passwort@]Host/Verzeichnis]
-.
-.br
-.B mencoder
-Optionen Datei1
-[spezielle Optionen] [Datei2] [spezielle Optionen]
-.ad
-.hy
-
-.\" --------------------------------------------------------------------------
-.\" Beschreibung
-.\" --------------------------------------------------------------------------
-.
-.SH BESCHREIBUNG
-.B mplayer
-ist ein Movie-Player für Linux (der auch auf vielen anderen Plattformen und
-CPU-Architekturen läuft, siehe Dokumentation).
-Er spielt die meisten Dateien in den Formaten
-MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, OGG/\:OGM, MKV
-VIVO, FLI, NuppelVideo, yuv4mpeg, FILM und RoQ ab, unterstützt von vielen
-eingebauten und binären Codecs.
-Es können VCDs, SVCDs, DVDs, 3ivx-, DivX 3/4/5-, WMV- und sogar H.264-Filme
-angeschaut werden.
-.PP
-MPlayer unterstützt eine große Auswahl an Video- und Audioausgabetreibern.
-Er funktioniert mit X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca,
-DirectFB, Quartz und Mac OS X CoreVideo, du kannst ihn aber auch mit GGI, SDL
-(und damit allen von SDL unterstützen Treiber), VESA (mit jeder VESA-kompatiblen
-Grafikkarte, auch ohne X11) sowie mit einigen kartenspezifischen
-Low-Level-Treibern (für Matrox, 3Dfx und ATI) und ein paar
-Hardware-MPEG-Decoderkarten wie der Siemens DVB, Hauppauge PVR (IVTV), DXR2
-und DXR3/\:Hollywood+ benutzen.
-Die meisten von ihnen unterstützen Software- oder Hardwareskalierung,
-so dass die Vollbildwiedergabe kein Problem ist.
-.PP
-MPlayer verfügt über ein On-Screen-Display (OSD) für Statusinformationen,
-schöne, große, schattierte und kantengeglättete Untertitel und visuelles
-Feedback bei Tastatureingaben.
-Europäische/\:ISO 8859\-1,2 (Ungarisch, Englisch, Tschechisch etc), Kyrillische
-und Koreanische Schriftarten werden ebenso wie zwölf Untertitelformate
-(MicroDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub,
-PJS und unser eigenes: MPsub) unterstützt, ebenso wie DVD-Untertitel
-(SPU-Streams, VOBsub und Closed Captions).
-.PP
-.B mencoder
-(MPlayer's Movie Encoder) ist ein einfacher Movie-Encoder, der so entworfen
-wurde, dass er alle von MPlayer abspielbaren Filme (siehe oben) in andere
-von MPlayer abspielbare Formate (siehe unten) umwandeln kann.
-Er encodiert nach MPEG-4 (DivX/Xvid), jeden der libavcodec-Codecs und Audio
-nach PCM/\:MP3/\:VBRMP3, das ganze in 1, 2 oder 3 Durchgängen.
-Des weiteren kann er Streams kopieren und verfügt über ein mächtiges
-Filtersystem (Entfernen (cropping) und Hinzufügen (expanding) von Rändern,
-horizontales Spiegeln, Postprocessing (Nachbearbeitung), Rotation, Skalierung,
-Rauschunterdrückung (denoising), RGB/\:YUV-Konvertierung und mehr).
-.PP
-.B gmplayer
-ist die Bezeichnung für MPlayer mit einem graphischen Benutzerinterface.
-Er verfügt über die gleichen Optionen wie MPlayer.
-.PP
-Beispiele zum Gebrauch, die dir zu einem schnellen Start verhelfen,
-findest Du am Ende dieser Manpage.
-.PP
-.B Siehe auch die HTML-Dokumentation!
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Keyboard control
-.\" --------------------------------------------------------------------------
-.
-.SH "INTERAKTIVE STEUERUNG"
-MPlayer besitzt eine Kontrollfunktion, die befehlsgesteuert ist und sich komplett
-konfigurieren lässt.
-Die Steuerung geschieht mittels Tastatur, Maus, Joystick oder Fernbedienung
-(funktionierende LIRC-Unterstützung vorausgesetzt).
-Bei der Option \-input findest du Beschreibungen, wie man diese Funktionen
-anpassen kann.
-.
-.TP
-.B Tastatursteuerung
-.PD 0
-.RSs
-.IPs "<\- und \->"
-Springe 10 Sekunden zurück/\:vor.
-.IPs "hoch und runter"
-Springe 1 Minute vor/\:zurück.
-.IPs "BildHoch und BildRunter (bzw.\& PGUP/\:PGDOWN)"
-Springe 10 Minuten vor/\:zurück.
-.IPs "[ und ]"
-Verringert/erhöht die Abspielgeschwindigkeit um 10%.
-.IPs "{ und }"
-Halbiert/verdoppelt die Abspielgeschwindigkeit.
-.IPs "Löschen (Backspace)"
-Setzt die Abspielgeschwindigkeit zurück.
-.IPs "< und >"
-zurück/\:vor in der Playlist
-.IPs "Eingabetaste"
-nächster Eintrag der Playlist, auch über das Ende hinaus.
-.IPs "Pos1 und Ende"
-nächster/\:voriger Eintrag des Wiedergabebaums der aktuellen Liste
-.IPs "INS und DEL"
-nächste/\:vorige alternative Quelle
-.IPs "p / LEERTASTE"
-Wiedergabe pausieren (erneutes Drücken unterbricht die Pause).
-.IPs ".\ \ \ \ "
-Einen Schritt vorwärts.
-Einmaliges Drücken pausiert die Wiedergabe, jedes weitere wird einen Frame
-abspielen und die Wiedergabe erneut anhalten (jede andere Taste hebt die Pause
-auf).
-.IPs "q / ESC"
-Stoppt die Wiedergabe und beendet MPlayer.
-.IPs "U\ \ \ \ "
-Stoppt die Wiedergabe (und beendet, wenn \-idle nicht verwendet wurde).
-.IPs "+ und \-"
-Passt die Audioverzögerung um +/\- 0.1 Sekunde an.
-.IPs "/ und *"
-Verringert/\:erhöht die Lautstärke.
-.IPs "9 und 0"
-Verringert/\:erhöht die Lautstärke.
-.IPs "( und )"
-Passt Ton-Balance an bezüglich dem linken/\:rechten Kanal.
-.IPs "m\ \ \ \ "
-Ton-Stummschaltung.
-.IPs "_ (nur bei MPEG-TS, AVI und libavformat)"
-Wechselt zwischen den verfügbaren Videospuren.
-.IPs "# (nur bei DVD, MPEG, Matroska, AVI und libavformat)"
-Wechselt zwischen den verfügbaren Audiospuren.
-.IPs "TAB (nur bei MPEG-TS und libavformat)"
-Wechselt zwischen den verfügbaren MPEG-Programmen.
-.IPs "f\ \ \ \ "
-Ändert Vollbild-Wiedergabe (ein/\:aus, siehe auch \-fs).
-.IPs "T\ \ \ \ "
-Ändert Stay-on-top-Eigenschaft (ein/\:aus, siehe auch \-fs).
-.IPs "w und e"
-Verringert/\:erhöht den Panscan-Bereich.
-.IPs "o\ \ \ \ "
-Wechselt zwischen OSD-Anzeigen: keine / Suche / Suche+Zeit /
-Suche+Zeit+Gesamtzeit.
-.IPs "d\ \ \ \ "
-Wechselt zwischen verschiedenen Framedropping-Einstellungen: keine /
-überspringe
-Display / überspringe Decodierung (siehe auch \-framedrop und \-hardframedrop).
-.IPs "v\ \ \ \ "
-Ändert Sichtbarkeit der Untertitel (aus/\:ein).
-.IPs "j\ \ \ \ "
-Wechselt durch die verfügbaren Untertitel.
-.IPs "F\ \ \ \ "
-Ändert die Anzeige der "erzwungenen Untertitel".
-.IPs "a\ \ \ \ "
-Ändert die Positionierung der Untertitel: oben / mittig / unten.
-.IPs "x und z"
-Passt die Untertitel-Anzeige um +/\- 0.1 Sekunde an.
-.IPs "r und t"
-Bewegt die Untertitel nach oben/unten.
-.IPs "i (nur im Modus \-edlout)"
-Setze Beginn oder Ende eines EDL-Sprungs und schreibe es in die angegebene
-Datei.
-.IPs "s (nur bei \-vf screenshot)"
-Mache einen Schnappschuss.
-.IPs "S (nur bei \-vf screenshot)"
-Beginne/beende die Aufnahme von Schnappschüssen.
-.IPs "I\ \ \ \ "
-Zeige den Dateinamen im OSD.
-.IPs "P\ \ \ \ "
-Zeige den Fortschrittsbalken, die abgelaufene Zeit und die Gesamtzeit im OSD.
-.IPs "! und @"
-Spult zum Anfang des vorigen/nächsten Kapitels.
-.IPs "D (nur bei \-vo xvmc, \-vf yadif, \-vf kerndeint)"
-Aktiviere/deaktiviere Deinterlacer.
-.IPs "A"
-Wechselt bei DVD durch die verfügbaren Perspektiven.
-.RE
-.PD 1
-.PP
-.RS
-(Die folgenden Tasten funktionieren nur in Verbindung mit
-hardwarebeschleunigter
-Videoausgabe (xv, (x)vidix, (x)mga, etc.\&), dem Softwareequalizer-
-(\-vf eq oder \-vf eq2) oder dem Farbtonfilter (\-vf hue).)
-.RE
-.PP
-.PD 0
-.RSs
-.IPs "1 und 2"
-Passe Kontrast an.
-.IPs "3 und 4"
-Passe Helligkeit an.
-.IPs "5 und 6"
-Passe Farbton an.
-.IPs "7 und 8"
-Passe Sättigung an.
-.RE
-.PD 1
-.PP
-.RS
-(Die folgenden Tasten sind nur gültig bei Benutzung der Videoausgabetreiber
-quartz und corevideo.)
-.RE
-.PP
-.PD 0
-.RSs
-.IPs "Apfel + 0"
-Ändere die Größe des Wiedergabefensters auf die Hälfte der Originalgröße.
-.IPs "Apfel + 1"
-Ändere die Größe des Wiedergabefensters auf die Originalgröße.
-.IPs "Apfel + 2"
-Ändere die Größe des Wiedergabefensters auf das doppelte der Originalgröße.
-.IPs "Apfel + f"
-Ändert Vollbild-Wiedergabe (ein/\:aus, siehe auch \-fs).
-.IPs "Apfel + [ und Apfel + ]"
-Setze Alphawert des Abspielfensters.
-.RE
-.PD 1
-.PP
-.RS
-(Die folgenden Tasten sind nur gültig bei Benutzung des Videoausgabetreibers
-sdl.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "c\ \ \ \ "
-Wechsle durch verfügbare Vollbildmodi.
-Stelle ursprünglichen Modus wieder her.
-.RE
-.PD 1
-.PP
-.RS
-(Die folgenden Tasten sind nur für Tastaturen mit Multimedia-Tasten gültig.)
-.RE
-.PP
-.PD 0
-.RSs
-.IPs PAUSE
-Pause.
-.IPs "STOP\ "
-Wiedergabe anhalten und beenden.
-.IPs "ZURÜCK und VORWÄRTS"
-Im Minutenschritt zurück-/\:vorwärts spulen.
-.RE
-.PD 1
-.PP
-.RS
-(Die folgenden Tasten sind nur gültig, falls MPlayer mit GUI-Unterstützung
-übersetzt wurde und haben Vorrang vor den oben definierten Tasten.)
-.RE
-.PP
-.PD 0
-.RSs
-.IPs ENTER
-Startet Wiedergabe.
-.IPs "ESC\ \ "
-Beendet die Wiedergabe.
-.IPs "l\ \ \ \ "
-Datei laden.
-.IPs "t\ \ \ \ "
-Untertitel laden.
-.IPs "c\ \ \ \ "
-Skinbrowser öffnen.
-.IPs "p\ \ \ \ "
-Playlist öffnen.
-.IPs "r\ \ \ \ "
-Konfigurationsdialog öffnen.
-.RE
-.PD 1
-.PP
-.RS
-(Die folgenden Tasten sind nur gültig, falls MPlayer mit Unterstützung
-für TV-Karten oder DVB-Input übersetzt wurde und haben Vorrang vor den oben
-definierten Tasten.)
-.RE
-.PP
-.PD 0
-.RSs
-.IPs "h und k"
-Wählt vorigen/\:nächsten Kanal.
-.IPs "n\ \ \ \ "
-Ändert Norm (PAL/\:NTSC).
-.IPs "u\ \ \ \ "
-Ändert die Anzeige der Liste der Kanäle.
-.RE
-.PD 1
-.PP
-.RS
-(Die folgenden Tasten sind nur gültig, falls MPlayer mit dvdnav-Unterstützung
-übersetzt wurde: Sie werden benutzt, um durch die Menüs zu navigieren.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "Tastenfeld 8"
-Wähle Knopf hoch.
-.IPs "Tastenfeld 2"
-Wähle Knopf runter.
-.IPs "Tastenfeld 4"
-Wähle Knopf links.
-.IPs "Tastenfeld 6"
-Wähle Knopf rechts.
-.IPs "Tastenfeld 5"
-Kehre zum Hauptmenü zurück.
-.IPs "Tastenfeld 7"
-Kehre zum nächsten Menü zurück (Vorzug erhält Kapitel->Titel->Ursprung, in
-dieser Reihenfolge).
-.IPs "Tastenfeld ENTER"
-Bestätige die Auswahl.
-.RE
-.PD 1
-.PP
-.RS
-.
-(Die folgenden Tasten sind nur gültig, falls Unterstützung für Videotext
-bei der Compilierung aktiviert wurde: Sie werden verwendet, um TV-Videotext
-zu steuern.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X\ \ \ \ "
-Schaltet Videotext an/\:aus.
-.IPs "Q und W"
-Gehe zur nächsten/\:vorigen Videotextseite.
-.RE
-.PD 1
-.PP
-.RS
-.
-.TP
-.B Maussteuerung
-.PD 0
-.RS
-.IPs "Maustaste 3 und Maustaste 4"
-Spule 1 Minute zurück/\:vor.
-.IPs "Tasten 5 und 6"
-Verringert/\:erhöht die Lautstärke.
-.RE
-.PD 1
-.
-.TP
-.B Joysticksteuerung
-.PD 0
-.RS
-.IPs "links und rechts"
-Spule 10 Sekunden zurück/\:vor.
-.IPs "hoch und runter"
-Spule 1 Minute vor/\:zurück.
-.IPs "Knopf 1"
-Pause.
-.IPs "Knopf 2"
-Zwischen OSD-Zuständen wechseln: aus / Suche / Suche+Zeit /
-Suche+Zeit+Gesamtzeit.
-.IPs "Knopf 3 und 4"
-Verringert/\:erhöht die Lautstärke.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Zum Umgang mit MPlayer
-.\" --------------------------------------------------------------------------
-.
-.SH "ZUM UMGANG MIT MPLAYER"
-Jede Option 'flag' kennt ein Gegenstück, 'noflag'.
-Beispielsweise ist die Option '\-fs' das Gegenstück zu '\-nofs'.
-.PP
-Wenn eine Option als (nur bei XXX)-markiert ist, wird diese nur in Kombination
-mit der XXX-Option funktionieren oder wenn XXX einkompiliert wurde.
-.PP
-.I HINWEIS:
-Der Unteroptionsparser (z.B.\& für \-ao pcm Unteroptionen) unterstützt eine
-spezielle Methode zum Escapen von Zeichenketten, die für externe GUIs gedacht
-ist.
-.br
-Das Format ist folgendermaßen:
-.br
-%n%Zeichenkette_der_Länge_n
-.br
-.I BEISPIELE:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-Oder in einem Skript:
-.br
-mplayer \-ao pcm:file=%`expr length "$NAME"`%"$NAME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" Konfigurationsdateien
-.\" --------------------------------------------------------------------------
-.
-.SH "KONFIGURATIONSDATEIEN"
-Du kannst jede Option in einer Konfigurationsdatei speichern, die bei jedem
-Start von MPlayer/MEncoder gelesen wird.
-Die systemweite Konfigurationsdatei 'mplayer.conf' liegt in deinem
-Konfigurationsverzeichnis (z.B.\& /etc/\:mplayer oder
-/usr/\:local/\:etc/\:mplayer), die benutzerspezifische Datei ist
-\'~/\:.mplayer/\:config'.
-Die Konfigurationsdatei für MEncoder ist 'mencoder.conf' in deinem
-Konfigurationsverzeichnis (z.B.\& /etc/\:mplayer oder
-/usr/\:local/\:etc/\:mplayer), die benutzerspezifische
-ist '~/\:.mplayer/\:mencoder.conf'.
-Benutzerspezifische Einstellungen haben Vorrang vor den systemweiten,
-und Optionen auf der Kommandozeile überschreiben die beiden anderen.
-Die Syntax der Konfigurationsdateien lautet 'Option=<Wert>'
-und alles, was nach einem '#' kommt, wird als Kommentar verstanden und nicht
-ausgewertet.
-Optionen, die keine Werte benötigen, können aktiviert werden, wenn
-du ihnen den Wert 'yes' oder '1' oder 'true' zuweist, deaktiviert werden sie
-mit 'no' oder '0' oder 'false'.
-Auch Suboptionen können in dieser Art angegeben werden.
-.PP
-.PP
-Du kannst auch dateispezifische Konfigurationsdateien schreiben.
-Wenn du für eine Datei namens 'movie.avi' eine Konfigurationsdatei schreiben
-möchtest, dann nenne diese Datei 'movie.avi.conf' mit den für
-diesen Film relevanten Optionen und speichere die Datei in ~/\:.mplayer/.
-Du kannst die Konfigurationsdatei auch im selben Verzeichnis wie die Datei
-ablegen, die abgespielt werden soll, solange du die Option \-use\-filedir\-conf
-verwendest (entweder auf der Kommandozeile oder in deiner globalen
-Konfigurationsdatei).
-.PP
-.I BEISPIEL FÜR DIE MPLAYER-KONFIGURATIONSDATEI:
-.sp 1
-.nf
-# Benutze in der Voreinstellung den Matrox-Treiber
-vo=xmga
-# Ich stehe darauf, beim Zusehen einen Handstand zu machen.
-flip=yes
-# Decodiere/encodiere mehrere Dateien im PNG-Format,
-# beginne mit mf://Dateimaske.
-mf=type=png:fps=25
-# Unheimliche Negativbilder sind cool.
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I "BEISPIEL FÜR DIE MENCODER-KONFIGURATIONSDATEI:"
-.sp 1
-.nf
-# Sorge dafür, dass MEncoder in eine Standarddatei
-schreibt.
-o=encodiert.avi
-# Die nächsten vier Zeilen bewirken, dass mencoder tv:// sofort mit der
-Aufnahme beginnt.
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# eine Menge komplexerer Encodierungsoptionen
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont-autoscale=3
-subfont-osd-scale=6
-subfont-text-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Profile
-.\" --------------------------------------------------------------------------
-.
-.SH "PROFILE"
-Um die Arbeit mit verschiedenen Konfigurationsprofilen zu erleichtern, können
-in den Konfigurationsdateien mehrere Profile definiert werden.
-Ein Profil beginnt mit dessen Name in eckigen Klammern, z.B.\& '[mein-Profil]'.
-Alle nachfolgenden Optionen werden Teil des Profils sein.
-Eine Beschreibung (gezeigt durch \-profile help) kann mit der Option
-profile-desc definiert werden.
-Um das Profil abzuschließen, beginne ein neues oder benutze den
-Profilnamen 'default', um mit normalen Optionen fortzufahren.
-.fi
-.PP
-.I "BEISPIEL-PROFIL FÜR MPLAYER:"
-.sp 1
-.nf
-
-[protocol.dvd]
-profile-desc="Profil für dvd://-Streams"
-vf=pp=hb/vb/dr/al/fd
-alang=de
-
-[protocol.dvdnav]
-profile-desc="Profil für dvdnav://-Streams"
-profile=protocol.dvd
-mouse-movements=yes
-
-[extension.flv]
-profile-desc="Profil für .flv-Dateien"
-flip=yes
-
-[vo.pnm]
-outdir=/tmp
-
-[ao.alsa]
-device=spdif
-.fi
-.PP
-.I "BEISPIEL-PROFIL FÜR MENCODER:"
-.sp 1
-.nf
-
-[mpeg4]
-profile-desc="MPEG4-Encodierung"
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile-desc="HQ MPEG4-Encodierung"
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Optionen
-.\" --------------------------------------------------------------------------
-.
-.SH "ALLGEMEINE OPTIONEN"
-.
-.TP
-.B \-codecs\-file <Dateiname> (siehe auch \-afm, \-ac, \-vfm, \-vc)
-Überschreibe den Standardsuchpfad und benutze die angegebene Datei
-anstelle der systemweit installierten oder
-der eingebauten codecs.conf.
-.
-.TP
-.B \-include <Konfigurationsdatei>
-Gib eine Konfigurationsdatei an, die nach den Standardkonfigurationsdateien
-eingelesen werden soll.
-.
-.TP
-.B \-list\-options
-Gibt alle verfügbaren Optionen aus.
-.
-.TP
-.B \-msgcharset <Zeichensatz>
-Konvertiere Konsolenausgaben in den angegebenen Zeichensatz (Standard:
-automatische Erkennung).
-Der Text wird diejenige Codierung haben, die mit der configure-Option
-\-\-charset angegeben wurde.
-Setze dies auf "noconv", um jegliche Konvertierung zu deaktivieren (z.B.\& bei
-Problemen mit iconv).
-.br
-.I ANMERKUNG:
-Diese Option tritt nach dem Einlesen der Kommandozeile in Kraft.
-Die Umgebungsvariable MPLAYER_CHARSET kann dir helfen, fehlerhafte erste
-Zeilen der Ausgabe loszuwerden.
-.
-.TP
-.B \-msgcolor
-Aktiviere farbenfrohe Konsolenausgaben auf Terminals, die ANSI-Farben
-unterstützen.
-.
-.TP
-.B \-msglevel <all=<Level>:<Modul>=<Level>:...>
-Steuert die Ausführlichkeit der Ausgabe für jedes einzelne Modul.
-Das 'all'-Modul steuert alle nicht explizit auf der Kommandozeile angegebenen
-Module.
-Siehe '\-msglevel help' für eine Liste der verfügbaren Module.
-.br
-.I ANMERKUNG:
-Manche Meldungen werden ausgegeben, bevor die Kommandozeile eingelesen wird,
-und bleiben daher von \-msglevel unberührt.
-Um diese Meldungen zu kontrollieren, musst du die Umgebungsvariable
-MPLAYER_VERBOSE verwenden, für Details siehe deren Beschreibung unten.
-.br
-Verfügbare Levels:
-.PD 0
-.RSs
-.IPs \-1
-Absolute Stille
-.IPs 0
-Nur fatale Fehlermeldungen
-.IPs 1
-Fehlermeldungen
-.IPs 2
-Warnmeldungen
-.IPs 3
-Kurze Hinweise
-.IPs 4
-Informationen
-.IPs 5
-Statusmeldungen (Standard)
-.IPs 6
-Ausführliche Meldungen
-.IPs 7
-Debuglevel 2
-.IPs 8
-Debuglevel 3
-.IPs 9
-Debuglevel 4
-.RE
-.PD 1
-.
-.TP
-.B \-msgmodule
-Fügt vor jeder Konsolenausgabe den Modulnamen an.
-.
-.TP
-.B \-noconfig <Optionen>
-Lies die gewählten Konfigurationsdateien nicht ein.
-.br
-.I ANMERKUNG:
-Werden auf der Kommandozeile die Optionen \-include oder \-use\-filedir\-conf
-angegeben, so werden sie berücksichtigt.
-.sp 1
-Verfügbare Optionen sind:
-.PD 0
-.RSs
-.IPs "all\ \ "
-alle Konfigurationsdateien
-.IPs "gui (nur bei GUI)"
-GUI-Konfigurationsdatei
-.IPs system
-Systemkonfigurationsdatei
-.IPs "user\ "
-benutzerspezifische Konfigurationsdatei
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet \ "
-Konsolenausgaben werden weniger ausführlich; insbesondere wird damit die
-Statuszeile (z.B.\& A: 0.7 V: 0.6 A-V: 0.068 ...) nicht angezeigt.
-Besonders nützlich ist dies bei langsamen Terminals oder fehlerhaften, die
-Zeilenvorschübe nicht richtig verarbeiten (z.B.\& \\r).
-.
-.TP
-.B \-priority <Priorität> (nur bei Windows)
-Setzt die Prozesspriorität für MPlayer anhand der von Windows vordefinierten
-Prioritäten.
-Mögliche Werte für <Priorität>:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I WARNUNG:
-Echtzeitpriorität (realtime) zu benutzen kann das System einfrieren.
-.RE
-.
-.TP
-.B \-profile <Profil1,Profil2,...>
-Benutze eins (oder mehrere) der angegebenen Profile, \-profile help gibt eine
-Liste der definierten Profile aus.
-.
-.TP
-.B \-really\-quiet (siehe auch \-quiet)
-Zeige noch weniger Ausgaben und Statusmeldungen an als mit \-quiet.
-Verhindert außerdem Dialoge mit Fehlermeldungen in der GUI.
-.
-.TP
-.B \-show\-profile <Profil>
-Zeige eine Beschreibung und den Inhalt eines Profils an.
-.
-.TP
-.B \-use\-filedir\-conf
-Schaue nach einer dateispezifischen Konfigurationsdatei im selben Verzeichnis
-wie die Datei, die abgespielt wird.
-.br
-.I WARNUNG:
-Kann gefährlich sein beim Abspielen von nicht-vertrauenswürdigen Medien.
-.
-.TP
-.B "\-v\ \ \ \ \ "
-Erhöht die Ausführlichkeit der Ausgaben um eine Stufe für jedes \-v auf der
-Kommandozeile.
-.
-.
-.
-.SH "PLAYER-SPEZIFISCHE OPTIONEN (NUR FÜR MPLAYER)"
-.
-.TP
-.B \-autoq <Qualität> (zusammen mit \-vf [s]pp)
-Ändert dynamisch das Qualitätslevel (der Nachbearbeitung (Postprocessing)), je
-nachdem, wieviel CPU-Zeit gerade frei ist.
-Das angegebene Level ist das maximal verwendete Level.
-Normalerweise kannst du eine große Zahl wählen.
-Um dieses Feature zu benutzen, muss \-vf [s]pp ohne Parameter aufgerufen
-werden.
-.
-.TP
-.B \-autosync <Faktor>
-Ändert die Schrittweise der A/V-Synchronisation basierend auf den
-Messungen der Audioverzögerung.
-Mit \-autosync\ 0, dem Standardwert, wird das Bildtiming nur auf der
-gemessenen Audioverzögerung basieren.
-Angeben von \-autosync\ 1 wird das gleiche tun, den
-A/\:V-Synchronisationsalgorithmus jedoch leicht verändern.
-Bei einem Film mit nicht gleichbleibender Framerate, der mit \-nosound
-problemlos abgespielt wird, kann \-autosync mit einem Wert größer 1
-helfen.
-Je höher der Wert, desto mehr ähnelt das Verhalten dem von \-nosound.
-\-autosync\ 30 kann bei Problemen helfen, die bei Audiotreibern entstehen,
-die keine perfekt funktionierende Messung der Audioverzögerung zulassen.
-Falls große A/\:V-Synchronisationsunterschiede auftreten, dauert es mit mit
-diesem Wert meist nur eine oder zwei Sekunden, bis die A/\:V-Synchronisation
-wieder in Ordnung ist.
-Diese Verzögerung bei der Reaktion auf abrupte A/\:V-Synchronisationsänderungen
-sollte bei allen Sound-Treibern der einzige Nebeneffekt dieser Option sein.
-.
-.TP
-.B \-benchmark
-Gibt am Ende einige Statistiken über die CPU-Auslastung und ausgelassene
-Frames aus.
-Kann zusammen mit \-nosound und \-vo null benutzt werden,
-um den Videocodec einem Geschwindigkeitstest zu unterziehen.
-.br
-.I ANMERKUNG:
-Bei dieser Option ignoriert MPlayer die Abspieldauer eines Frames, wenn nur
-Video abgespielt wird (das kannst Du Dir als unendlich hohe Framerate
-vorstellen).
-.
-.TP
-.B \-colorkey <Nummer>
-Ändert den Farbwert auf einen RGB-Wert deiner Wahl.
-0x000000 ist schwarz und 0xffffff ist weiß.
-Wird nur von folgenden Videoausgabetreibern unterstützt: cvidix, fbdev,
-svga, vesa, winvidix, xmga, xvidix, xover, xv (siehe \-vo xv:ck), xvmc
-(siehe \-vo xv:ck) und directx.
-.
-.TP
-.B \-nocolorkey
-Schaltet die Wahl des Farbwertes ab.
-Wird nur von folgenden Videoausgabetreibern unterstützt: cvidix, fbdev,
-svga, vesa, winvidix, xmga, xvidix, xover, xv (siehe \-vo xv:ck), xvmc
-(siehe \-vo xv:ck) und directx.
-.
-.TP
-.B \-correct\-pts (EXPERIMENTELL)
-Lässt mplayer in einen experimentellen Modus wechseln, in dem Zeitstempel für
-Videoframes anders berechnet werden und in dem Filter, die neue Frames
-hinzufügen oder Zeitstempel verändern, unterstützt werden.
-Die genaueren Zeitstempel können beispielsweise sichtbar sein bei der
-Wiedergabe von Untertiteln mit der Option \-ass, wenn die Untertitel zu
-Szenenwechseln geschehen.
-Ohne \-correct\-pts wird das Timing für Untertitel normalerweise um ein paar
-Frames verschoben sein.
-Diese Option funktioniert mit einigen Demuxern und Codecs nicht richtig.
-.
-.TP
-.B \-crash\-debug (DEBUG-CODE)
-Führt bei einem Absturz oder SIGTRAP automatisch gdb aus.
-Unterstützung hierfür muss einkompiliert sein durch Ausführung von 'configure'
-mit \-\-enable\-crash\-debug.
-.
-.TP
-.B \-doubleclick\-time
-Zeit in Millisekunden, um zwei aufeinander folgende Mausklicks als Doppelklick
-zu erkennen (Standard: 300).
-Setze dies auf 0, um deinen Window-Manager entscheiden zu lassen, was ein
-Doppelklick ist (nur bei \-vo directx).
-.br
-.I ANMERKUNG:
-Du wirst leicht unterschiedliches Verhalten erleben, je nach dem, ob du
-MOUSE_BTN0_DBL oder MOUSE_BTN0\-MOUSE_BTN0_DBL bindest.
-.
-.TP
-.B \-edlout <Dateiname>
-Erstellt eine neue Datei und schreibt EDL (edit decision list) -Markierungen
-hinein.
-Während der Wiedergabe drückt der Benutzer 'i', um Beginn oder Ende eines
-Blocks, der übersprungen werden soll, zu markieren.
-Damit erhält er eine Ausgangsbasis, die er an seine Bedürfnisse
-anpassen kann.
-Siehe http://www.mplayerhq.hu/\:DOCS/\:HTML/\:de/\:edl.html für Details.
-.
-.TP
-.B \-enqueue (nur beim GUI)
-Hänge die auf der Kommandozeile angegebenen Dateien an die Playlist an,
-anstatt sie sofort abzuspielen.
-.
-.TP
-.B \-fixed\-vo
-Erzwingt dasselbe Videosystem für mehrere Dateien (einmalige Initialisierung
-für alle Dateien).
-Dementsprechend wird für alle Dateien nur ein Fenster geöffnet.
-Momentan funktionieren die folgenden Treiber mit \-fixed\-vo: gl, gl2, mga,
-svga, x11, xmga, xv, xvidix und dfbmga.
-.
-.TP
-.B \-framedrop (siehe auch \-hardframedrop, experimentell ohne \-nocorrect\-pts)
-Verwirft einige Frames, ohne sie anzuzeigen, um auf langsamen Systemen
-die A/\:V-Synchronisation beizubehalten.
-Videofilter werden auf diese Frames nicht angewendet.
-B-Frames werden überhaupt nicht decodiert.
-.
-.TP
-.B \-(no)gui
-(De)aktiviert die GUI-Schnittstelle (Standard hängt vom Namen der Binärdatei
-ab).
-Funktioniert nur als erstes Argument auf der Kommandozeile.
-Funktioniert nicht als Option in einer Konfigurationsdatei.
-.
-.TP
-.B \-h, \-help, \-\-help
-Zeigt eine kurze Zusammenfassung der Optionen an.
-.
-.TP
-.B \-hardframedrop (experimentell ohne \-nocorrect\-pts)
-Noch rabiateres Verwerfen von Frames (verhindert evtl. korrekte
-Decodierung).
-Führt zu Bildstörungen!
-Beachte, dass vor allem der libmpeg2-Decoder mit dieser Einstellung abstürzen
-kann, ziehe also Benutzung von "\-vc ffmpeg12," in Betracht.
-.
-.TP
-.B \-heartbeat\-cmd
-Befehl, der während der Wiedergabe alle 30 Sekunden via system() - z.B.\& in
-der Shell - ausgeführt wird.
-.sp 1
-.I ANMERKUNG:
-MPlayer verwendet diesen Befehl ohne jegliche Überprüfung, es ist in deiner
-Verantwortung sicherzustellen, dass dies keine Sicherheitsrisiken birgt
-(stelle z.B.\& sicher, dass der volle Pfad verwendet wird, wenn wie unter
-Windows "." in deinem Pfad ist).
-.sp 1
-Dies kann "missbraucht" werden, um Bildschirmschoner zu deaktiveren, die
-die passende X-API nicht unterstützen (siehe auch \-stop\-xscreensaver).
-Wenn du meinst, dass dies zu kompliziert ist, bitte den Autor deines
-Bildschirmschonerprogramms darum, die X-API entsprechend zu unterstützen.
-.sp 1
-.I BEISPIEL für xscreensaver:
-mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" Datei
-.sp 1
-.I BEISPIEL für GNOME-Bildschirmschoner:
-mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" Datei
-.RE
-.PD 1
-.
-.TP
-.B \-identify
-Kurzschreibweise für \-msglevel identify=4.
-Zeigt Dateiparameter in einem einfach einzulesenden Format an.
-Gibt außerdem detailliertere Informationen über IDs und die Sprachen von
-Untertiteln und Audiospuren.
-In manchen Fällen erhältst du mehr Informationen durch Benutzung von \-msglevel
-identify=6.
-Zum Beispiel listet es für eine DVD die Kapitel die zeitliche Länge jedes
-Titels sowie die Disc-ID.
-Kombiniere dies mit \-frames 0, um alle Ausgaben zu unterdrücken.
-Das Wrapper-Script TOOLS/\:midentify unterdrückt die anderen Ausgaben von
-MPlayer
-und führt (hoffentlich) Shell-Escaping für die Dateinamen aus.
-.
-.TP
-.B \-idle (siehe auch \-slave)
-MPlayer wartet nichtstuend anstatt zu beenden, wenn keine Datei
-abzuspielen ist.
-Hauptsächlich für den Slave-Modus nützlich, in dem MPlayer
-durch Eingabekommandos gesteuert werden kann.
-.
-.TP
-.B \-input <Kommandos>
-Diese Option kann benutzt werden, um bestimmte Teile von MPlayers
-Eingabesystem zu konfigurieren.
-Pfadangaben sind relativ zu ~/.mplayer/.
-.br
-.I ANMERKUNG:
-Automatische Wiederholung (autorepeat) wird momentan nur von Joysticks
-unterstützt.
-.sp 1
-Die verfügbaren Kommandos lauten:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<Dateiname>
-Gib eine andere Konfigurationsdatei als die Standarddatei
-~/\:.mplayer/\:input.conf an.
-Wenn kein Pfadname angegeben wird, dann wird ~/\:.mplayer/\:<Dateiname>
-angenommen.
-.IPs ar-dev=<Gerät>
-Gerät, das als Apple-Infrarotfernbedienung verwendet werden soll (Standard ist
-automatische Erkennung, nur bei Linux).
-.IPs ar-delay
-Zeit in Millisekunden, bevor ein Tastendruck automatisch wiederholt
-wird (0 deaktiviert dies).
-.IPs ar-rate
-Anzahl der Tastendrücke pro Sekunde bei automatisch wiederholtem
-Drücken der Tasten (0 deaktiviert dies).
-.IPs keylist
-Zeigt alle Tastennamen an, die mit Kommandos belegt werden können.
-.IPs cmdlist
-Zeigt alle Kommandos an, die zugewiesen werden können.
-.IPs js-dev
-Gibt das zu benutzende Joystickgerät an (Standard: /dev/\:input/\:js0).
-.IPs file=<Datei>
-Liest Kommandos aus der angegeben Datei.
-Ist mit einem FIFO am sinnvollsten.
-.br
-.I ANMERKUNG:
-Falls die angegebene Datei ein FIFO ist, öffnet MPlayer beide Enden, so dass
-mehrere 'echo "seek 10" > mp_pipe' ausgeführt werden können und die Pipe in
-Ordnung bleibt.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-Gibt die Größe des FIFO an, der Schlüsselevents zwischenspeichert (Standard:
-7).
-Ein FIFO der Größe n kann (n-1) Events zwischenspeichern.
-Wenn er zu klein ist, können manche Events verlorengehen (was zu
-"hängenden Mausbuttons" und ähnlichen Effekten führen kann).
-Ist er zu groß, kann es zu einem scheinbar aufgehängten MPlayer führen,
-während die zwischengespeicherten Events abgearbeitet werden.
-Um ein Verhalten wie vor der Einführung dieser Option zu erhalten, setze den
-Wert auf 2 für Linux oder 1024 für Windows.
-.
-.TP
-.B \-lircconf <Dateiname> (nur bei LIRC)
-Gibt eine Konfigurationsdatei für LIRC an (Standard: ~/.lircrc).
-.
-.TP
-.B \-list\-properties
-Gibt eine Liste der verfügbaren Eigenschaften aus.
-.
-.TP
-.B \-loop <Anzahl>
-Wiederholt die Wiedergabe <Anzahl> mal.
-0 bedeutet ständige Wiederholung.
-.
-.TP
-.B \-menu
-Aktiviere das OSD-Menü.
-.
-.TP
-.B \-menu\-cfg <Dateiname>
-Benutze eine andere menu.conf.
-.
-.TP
-.B \-menu\-chroot <Pfad> (nur bei OSD-Menü)
-Chroot auf das angegebene Verzeichnis für den Datei-Auswahldialog
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-menu\-chroot /home"
-Wird den Datei-Auswahldialog auf /\:home und darunter beschränken (z.B.\&
-wird kein Zugriff auf / möglich sein, auf /home/benutzer_name jedoch schon).
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdir (nur bei OSD-Menü)
-Der Datei-Browser startet von der zuletzt bekannten Stelle anstatt dem
-aktuellen Verzeichnis.
-.
-.TP
-.B \-menu\-root <Wert>
-Gib das Hauptmenü an.
-.
-.TP
-.B \-menu\-startup
-Zeige das Hauptmenü beim Start von MPlayer.
-.
-.TP
-.B \-mouse\-movements
-Erlaube MPlayer, Mauszeiger-Events zu empfangen, die vom Videoausgabetreiber
-gesendet werden (momentan werden nur die Derivate von X11 unterstützt).
-Nötig, um in DVD-Menüs Schaltflächen auszuwählen.
-.
-.TP
-.B \-noar
-Schaltet Unterstützung für Apple-Infrarotfernbedienung ab.
-.
-.TP
-.B \-noconsolecontrols
-Für Ereignisse wird von MPlayer nicht die Standardeingabe (stdin) verwendet.
-Das ist nützlich beim Lesen von Daten von der Standardeingabe.
-Diese Option wird automatisch aktiviert, wenn \- auf der Kommandozeile
-gefunden wird.
-Es gibt auch Situationen, in denen du sie manuell setzen musst, z.B.\&
-wenn du /dev/\:stdin (oder das Äquivalent auf deinem System) öffnest, stdin in
-einer Playlist öffnest, oder vorhast, irgendwann später von stdin via loadfile
-oder loadlist Slave-Kommandos zu lesen.
-.
-.TP
-.B \-nojoystick
-Schaltet die Joystickunterstützung aus.
-.
-.TP
-.B \-nolirc
-Schaltet Unterstützung für LIRC aus.
-.
-.TP
-.B \-nomouseinput
-Sperrt die Eingabe mittels Mausbuttons (Buttonpress/\:-release) (diese Option
-wird unter anderem von mozplayerxp verwendet, um ein eigenes Kontextmenü
-anzuzeigen).
-.
-.TP
-.B \-rtc (nur bei RTC)
-Aktiviert die Benutzung der Linux-Echtzeituhr (real-time clock (RTC) \-
-/dev/\:rtc) als Zeitgeber.
-Dies weckt den Prozess alle 1/1024 Sekunden, um die aktuelle Zeit zu
-überprüfen.
-Dies ist nutzlos mit modernen Linuxkernels, die für Desktopbenutzung
-konfiguriert sind, da diese den Prozess bei normal zeitgesteuerten Pausen
-schon mit ähnlicher Genauigkeit aufwecken.
-.
-.TP
-.B \-playing\-msg <Zeichenkette>
-Gibt vor Beginn der Wiedergabe eine Zeichenkette aus.
-Folgende Erweiterungen werden unterstützt:
-.RSs
-.IPs ${NAME}
-Erweitere um den Wert der Eigenschaft NAME.
-.IPs ?(NAME:TEXT)
-Erweitere TEXT nur, wenn die Eigenschaft NAME verfügbar ist.
-.IPs ?(!NAME:TEXT)
-Erweitere TEXT nur, wenn die Eigenschaft NAME nicht verfügbar ist.
-.RE
-.
-.TP
-.B \-playlist <Dateiname>
-Spiele die in der Datei angegebenen Dateien ab (eine Datei pro Zeile,
-oder eine Datei im Winamp-, SMIL- oder ASX-Format).
-.br
-.I Anmerkung:
-Diese Option wird als ein Eintrag gesehen, so dass alle Optionen danach nur auf
-die Elemente dieser Playlist angewendet werden.
-.br
-FIXME: Dies muss noch genauer angegeben und ordentlich dokumentiert werden.
-.
-.TP
-.B \-rtc\-device <Gerät>
-Benutze das angegebene Gerät als Echtzeituhr.
-.
-.TP
-.B \-shuffle
-Spielt die Dateien in zufälliger Reihenfolge ab.
-.
-.TP
-.B \-skin <Name> (nur mit GUI)
-Lädt eine Oberfläche (skin) aus dem angegebenen Verzeichnis, das sich in einem
-der beiden Standardoberflächenverzeichnisse
-/usr/\:local/\:share/\:mplayer/\:skins/\: und ~/.mplayer/\:skins/ befindet.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-Probiert zuerst /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene und
-anschließend ~/.mplayer/\:skins/\:fittyfene.
-.RE
-.PD 1
-.
-.TP
-.B \-slave (siehe auch \-input)
-Diese Option aktiviert den Slave-Modus, der dazu gedacht ist, MPlayer von
-anderen Programmen aus zu steuern.
-Anstatt Tastatureingaben abzufangen, liest MPlayer durch Zeilenumbruchszeichen
-(\\n) getrennte Kommandos von stdin.
-.br
-.I ANMERKUNG:
-Siehe \-input cmdlist für eine Liste der Slave-Kommandos und
-DOCS/\:tech/\:slave.txt (englisch) für deren Beschreibung.
-.
-.TP
-.B \-softsleep
-Steuert die Zeit für Frames, indem wiederholt die aktuelle Zeit abgefragt wird,
-anstatt den Kernel anzuweisen, MPlayer bei der angegebenen Zeit aufzuwecken.
-Nützlich, wenn der Zeitgeber deines Kernels ungenau ist und du auch nicht RTC
-benutzen kannst.
-Der Preis dafür ist eine höhere CPU-Auslastung.
-.
-.TP
-.B \-sstep <Sekunden>
-Überspringt <Sekunden> Sekunden nach jedem Frame.
-Die normale Framerate des Films wird beibehalten, die Wiedergabe ist also
-beschleunigt.
-Da MPlayer nur zum nächsten Keyframe springen kann, kann diese Option ungenau
-sein.
-.
-.
-.
-.SH "DEMUXER-/STREAM-OPTIONEN"
-.
-.TP
-.B \-a52drc <Level>
-Gibt das Level der Dynamic Range Compression für AC-3-Audiostreams an.
-<Level> ist ein Fließkommawert im Bereich von 0 bis 1, wobei 0 keine
-Kompression
-und 1 volle Kompression bedeutet (laute Passagen werden leiser und umgekehrt).
-Diese Option zeigt nur Wirkung, wenn im AC-3-Stream die Range Compression
-Information vorhanden ist (Standard: 1).
-.
-.TP
-.B \-aid <ID> (siehe auch \-alang)
-Gibt die zu verwendende Audiospur an (MPEG: 0\-31 AVI/\:OGM: 1\-99
-ASF/\:RM: 0\-127 VOB(LPCM): 160\-191 MPEG-TS: 17\-8190).
-MPlayer gibt alle verwendbaren Audio-IDs aus, wenn er im ausführlichen Modus
-(\-v) gestartet wird.
-Beim Abspielen eines MPEG-TS-Streams wählt MPlayer/\:MEncoder das erste
-Programm (falls vorhanden) mit der gewählten Audiospur.
-.
-.TP
-.B \-alang <Sprachcode[,Sprachcode,...]> (siehe auch \-aid)
-Gibt eine Prioritätenliste der abzuspielenden Audiospuren an.
-Verschiedene Containerformate verwenden unterschiedliche Ländercodes.
-DVDs benutzen den zweibuchstabigen ISO 639\-1\-Sprachcode, Matroska, MPEG-TS und
-NUT benutzen den dreibuchstabigen ISO 639\-2\-Sprachcode, während OGM einen
-formlosen Bezeichner verwendet.
-MPlayer gibt alle vorhandenen Sprachen aus, wenn er im ausführlichen Modus
-(\-v) gestartet wird.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang hu,en"
-Wählt die ungarische Sprachspur einer DVD und wählt die englische, wenn
-Ungarisch nicht verfügbar ist.
-.IPs "mplayer \-alang jpn example.mkv"
-Spielt eine Matroskadatei auf japanisch ab.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <+Name> (nur bei \-audiofile)
-Erzwingt den Audiodemuxertyp für \-audiofile.
-Setze ein '+' vor den Namen, um den Demuxer zu erzwingen, dann werden
-einige Überprüfungen nicht durchgeführt!
-Gib den Demuxernamen an, wie er von \-audio\-demuxer help angezeigt wird.
-Zur Rückwärtskompatibilität wird auch die Demuxer-ID, wie sie in
-subreader.h definiert wird, akzeptiert.
-\-audio\-demuxer audio oder \-audio\-demuxer 17 erzwingt das Abspielen als MP3.
-.
-.TP
-.B \-audiofile <Dateiname>
-Spielt Audio aus einer externen Datei (WAV, MP3 oder Ogg Vorbis) zu einem
-Film ab.
-.
-.TP
-.B \-audiofile\-cache <kBytes>
-Aktiviert das Zwischenspeichern des von \-audiofile benutzten Streams; benutzt
-dafür die angegebene Menge Speicher.
-.
-.TP
-.B \-reuse\-socket (nur bei udp://)
-Erlaubt, dass ein Socket von einem anderen Prozess wiederverwendet wird,
-sobald es geschlossen wird.
-.
-.TP
-.B \-bandwidth <Wert> (nur bei Netzwerk)
-Gibt die maximal zu benutzende Bandbreite für Netzwerkstreaming an (bei
-Servern, die Streams in verschiedenen Bitraten senden können).
-Nützlich, wenn du Live-Streams über eine langsame Verbindung ansehen
-möchtest.
-Im Falle von Real-RTSP-Streaming wird dies auch verwendet, um die maximale
-Zuführungsbandbreite festzulegen, was schnelleres Auffüllen des Caches und
-Stream-Dumping ermöglicht.
-.
-.TP
-.B \-cache <kBytes>
-Diese Option gibt an, wieviel Speicher (in kBytes) MPlayer zum
-Precachen einer Datei oder URL benutzt.
-Besonders bei langsamen Medien sinnvoll.
-.
-.TP
-.B \-nocache
-Deaktiviert Zwischenspeicherung.
-.
-.TP
-.B \-cache\-min <Prozent>
-Die Wiedergabe startet, wenn der Cache bis zu <Prozent> der Gesamtgröße gefüllt
-ist.
-.TP
-.
-.B \-cache\-seek\-min <Prozent>
-Falls ein Sprung zu einer Position nicht weiter als <Prozent> der Cachegröße
-von der aktuellen Position gemacht wird, wartet MPlayer bis der Cache
-zu dieser Stelle gefüllt ist, anstatt einen Sprung im Datenstrom zu machen
-(Standard: 50).
-.
-.TP
-.B \-cdda <Option1:Option2> (nur bei CDDA)
-Diese Option kann benutzt werden, um die CD-Audio-Auslesefeatures von
-MPlayer zu verfeinern.
-sp 1
-Vorhandene Optionen sind folgende:
-.RSs
-.IPs speed=<Wert>
-Setzt die CD-Umdrehungsgeschwindigkeit.
-.IPs paranoia=<0\-2>
-Setzt den Paranoia-Wert.
-.RSss
-0: deaktiviert Fehlererkennung (Standard)
-.br
-1: nur Überlappungstest
-.br
-2: komplette Datenkorrektur und -überprüfung
-.REss
-.IPs generic-dev=<Wert>
-Benutzt das angegebene generische SCSI-Gerät.
-.IPs sector-size=<Wert>
-Setzt die atomare Lesegröße.
-.IPs overlap=<Wert>
-Erzwingt eine minimal zu durchsuchende Überlappung bei der Datenüberprüfung
-von <Wert> Sektoren.
-.IPs toc-bias
-Nimm an, dass der Startoffset von Spur 1, wie er in der TOC steht, als
-LBA 0 adressiert wird.
-Einige Toshiba-Laufwerke benötigen diese Option, um die Spurgrenzen richtig
-zu erkennen.
-.IPs toc-offset=<Wert>
-Addiere <Wert> Sektoren zu den ermittelten Werten bei der Adressierung
-der Spuren.
-Kann negativ sein.
-.IPs (no)skip
-Akzeptiere (niemals) nicht perfekte Datenrekonstruktion.
-.RE
-.
-.TP
-.B \-cdrom\-device <Pfad zum Gerät>
-Gibt das CD-ROM-Gerät an (Standard: /dev/\:cdrom).
-.
-.TP
-.B \-channels <Anzahl> (siehe auch \-af channels)
-Ändere die Anzahl der wiederzugebenden Kanäle (Standard: 2).
-MPlayer weist den Decoder an, den Ton in soviele Kanäle wie angegeben zu
-decodieren.
-Dann liegt es am Decoder, diese Anforderung zu erfüllen.
-Dies ist normalerweise nur wichtig bei der Wiedergabe von AC-3-Audio (wie bei
-DVDs).
-In diesem Falle erledigt bei der Standardeinstellung liba52 die Decodierung
-und mischt den Ton auf die angegebene Anzahl Kanäle herunter.
-Um die Anzahl der Ausgabekanäle unabhängig von der Anzahl der decodierten
-Kanäle zu kontrollieren, benutze den Filter channels.
-.br
-.I ANMERKUNG:
-.br
-Diese Option wird von den Codecs (nur AC-3), den Filtern (surround)
-und den Audioausgabetreibern (zumindest von OSS) beachtet.
-.sp 1
-Verfügbare Optionen sind:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-Stereo
-.IPs 4
-Surround
-.IPs 6
-volles 5.1
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <Kapitel-ID>[\-<ID des letzten Kapitels>](nur dvd:// und dvdnav://)
-Gibt das Kapitel an, ab dem abgespielt werden soll.
-Optional kann angegeben werden, nach welchem Kapitel mit dem Abspielen
-aufgehört werden soll (Standard: 1).
-.
-.TP
-.B \-cookies (nur bei Netzwerk)
-Sende Cookies bei HTTP-Anfragen.
-.
-.TP
-.B \-cookies\-file <Dateiname>) (nur bei Netzwerk)
-Lies HTTP-Cookies aus <Dateiname> und überspringe die Suche in den
-Standardverzeichnissen (Standard: ~/.mozilla/ und ~/.netscape/).
-Es wird angenommen, dass die Datei im Netscape-Format vorliegt.
-.
-.TP
-.B \-delay <Sekunden>
-Audioverzögerung in Sekunden (postive oder negative Fließkommazahl)
-.br
-Negative Werte verzögern den Ton, positive Werte verzögern das Video.
-Beachte, dass dies das genaue Gegenteil der MEncoder-Option \-audio\-delay
-ist.
-.br
-.I HINWEIS:
-Falls diese Option mit MEncoder benutzt wird, funktioniert sie im Zusammenhang
-mit \-ovc copy nicht notwendigerweise; benutze stattdessen \-audio\-delay.
-.
-.TP
-.B \-ignore\-start
-Ignoriere die angegebene Startzeit für Streams in AVI-Dateien.
-In MPlayer setzt dies Streamverzögerungen, die mit der Option \-audio\-delay
-encodiert wurden, auf null.
-Bei Encodierungen verhindert diese Option, dass MEncoder die originalen
-Startzeiten der Streams in die neue Datei überträgt; die Option \-audio\-delay
-ist davon nicht betroffen.
-Beachte, dass MEncoder manchmal die Startzeiten von Streams automatisch
-anpasst, um angenommene Decodierungsverzögerungen zu kompensieren.
-Benutze diese Option für Encodierungen daher nicht, ohne vorher zu testen.
-.
-.TP
-.B \-demuxer <[+]Name>
-Erzwingt den Demuxertyp.
-Setze ein '+' vor den Namen um den Demuxer zu erzwingen, dann werden
-einige Überprüfungen nicht durchgeführt!
-Gib den Demuxernamen, wie er von \-demuxer help angezeigt wird, an.
-Zur Rückwärtskompatibilität wird auch die Demuxer-ID, wie in
-libmpdemux/\:demuxer.h definiert, akzeptiert.
-.
-.TP
-.B \-dumpaudio (nur MPlayer)
-Schreibt den unbehandelten, komprimierten Audiostream nach ./\:stream.dump
-(nützlich bei MPEG/\:AC-3), in den meisten anderen Fällen wird die
-resultierende Datei nicht abspielbar sein.
-.
-.TP
-.B \-dumpfile <Dateiname> (nur MPlayer)
-Gibt den Dateinamen an, in den MPlayer schreiben soll.
-Sollte in Verbindung mit \-dumpaudio / \-dumpvideo / \-dumpstream benutzt
-werden.
-.
-.TP
-.B \-dumpstream (nur MPlayer)
-Schreibt den unbehandelten Stream nach ./\:stream.dump.
-Nützlich, um DVD- oder Netzwerk-Streams zu rippen.
-Falls mehr als eine der Optionen \-dumpaudio, \-dumpvideo oder \-dumpstream
-angegeben wurde, gilt nur die zuletzt angegebene.
-.
-.TP
-.B \-dumpvideo (nur bei MPlayer)
-Schreibt den unbehandelten, komprimierten Videostream nach ./stream.dump
-(nicht sehr nützlich).
-Falls mehr als eine der Optionen \-dumpaudio, \-dumpvideo oder \-dumpstream
-angegeben wurde, gilt nur die zuletzt angegebene.
-.
-.TP
-.B \-dvbin <Optionen> (nur bei DVB)
-Übergibt die folgenden Parameter an das DVB-Inputmodul und überschreibt dabei
-die Standardeinstellungen:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Benutze Karte 1\-4 (Standard: 1).
-.IPs file=<Dateiname>
-Weist MPlayer an, die Liste der Kanäle aus <Dateiname> zu lesen
-Standardeinstellung ist ~/\:.mplayer/\:channels.conf.{sat,ter,cbl,atsc} (je
-nach Kartentyp)
-oder ~/\:.mplayer/\:channels.conf als letzte Möglichkeit.
-.IPs timeout=<1\-30>
-Maximale Anzahl Sekunden, die benutzt werden, um eine Frequenz einzustellen,
-bevor aufgegeben wird (Standard: 30).
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <Pfad\ zum\ Gerät> (nur bei DVD)
-Gib das DVD-Gerät oder .iso-Dateinamen an (Standard: /dev/\:dvd).
-Du kannst auch ein Verzeichnis angeben, das die zuvor direkt von DVD kopierten
-Dateien enthält (z.B.\& von vobcopy).
-.
-.TP
-.B \-dvd\-speed <Faktor oder Geschwindigkeit in KB/s> (nur bei DVD)
-Versuche die DVD-Geschwindigkeit zu begrenzen (Standard: 0, keine Änderung).
-Die Grundgeschwindigkeit bei DVD ist ungefähr 1350KB/s, ein 8-fach Laufwerk
-kann also mit bis zu 10800KB/s lesen.
-Bei langsameren Geschwindigkeiten ist das Laufwerk leiser, 2700KB/s
-sollten zum Anschauen von DVDs ausreichen und leise sein.
-Beim Schließen setzt MPlayer die Geschwindigkeit auf den Standardwert
-des Laufwerks zurück.
-Werte kleiner als 100 entsprechen Vielfachen von 1350KB/s,
-d.h.\& \-dvd\-speed 8 entspricht 10800KB/s (8-fach).
-.br
-.I ANMERKUNG:
-Für die Änderung der Geschwindigkeit benötigst Du Schreibzugriff auf
-das DVD-Gerät.
-.
-.TP
-.B \-dvdangle <Winkel-ID> (nur bei DVD)
-Einige DVDs beinhalten Szenen, die aus verschiedenen Perspektiven/\:Winkeln
-betrachtet werden können.
-Mit dieser Option kannst du MPlayer vorschreiben, welche Perspektive er
-wiedergeben soll (Standard: 1).
-.
-.TP
-.B \-edl <Dateiname>
-Aktiviert EDL-Aktionen (Edit Decision List) während der Wiedergabe.
-Teile des Videos werden entsprechend den Einträgen der angegebenen
-Datei übersprungen und Teile des Audios stummgeschaltet.
-Siehe http://www.mplayerhq.hu/\:DOCS/\:HTML/\:de/\:edl.html für Details, wie
-du dieses
-Feature benutzen kannst.
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|Größe[b|kb|mb]> (siehe auch \-ss und \-sb)
-Beende zu angegebener Zeit oder Byteposition.
-.br
-.I ANMERKUNG:
-Byteposition ist nur für MEncoder aktiviert und wird nicht genau sein, da
-MEncoder nur an Bildgrenzen anhalten kann.
-In Verbindung mit der Option \-ss wird die Zeit für \-endpos um die mit \-ss
-angegebenen Sekunden nach hinten verschoben.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-Encodiere nur 56 Sekunden.
-.IPs "\-endpos 01:10:00"
-Encodiere nur 1 Stunde 10 Minuten.
-.IPs "\-endpos 100mb"
-Encodiere nur 100 MBytes.
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-Erzwingt Indexneugenerierung.
-Nützlich für Dateien mit defektem Index (A/V-Desynchronisation etc.\&).
-Das ermöglicht das Spulen in Dateien, in denen dies vorher nicht möglich war.
-Mit MEncoder kann der Index permanent repariert werden (siehe Dokumentation).
-.br
-.I ANMERKUNG:
-Diese Option funktioniert nur, wenn das zugrunde liegende Medium Spulen
-unterstützt (z.B.\& nicht bei Standardeingabe, Pipe etc.\&)
-.
-.TP
-.B \-fps <Fließkommazahl>
-Überschreibt die Framerate.
-Nützlich, falls dieser Wert falsch ist oder fehlt.
-.
-.TP
-.B \-frames <Anzahl>
-Nur die ersten <Anzahl> Bilder werden wiedergegeben/\:encodiert, danach wird
-MPlayer beendet.
-.
-.TP
-.B \-hr\-mp3\-seek (nur bei MP3)
-Hi-res mp3-Spulen.
-Standardmäßig ist diese Option an, wenn ein externes MP3 abgespielt wird,
-da MPlayer an die exakte Position spulen muss, um die A/V-Syncronisation
-beizubehalten.
-Kann langsam sein, vor allem dann, wenn zurückgespult wird, da dann erst
-zum Anfang gespult wird, um die genaue Stelle zu finden.
-.
-.TP
-.B \-idx (siehe auch \-forceidx)
-Erstellt den Index neu, wenn kein Index gefunden wurde, und ermöglicht somit
-Spulen.
-Nützlich bei defekten/\:unvollständigen Downloads oder bei schlecht
-erstellten Dateien.
-.br
-.I ANMERKUNG:
-Diese Option ist nur nutzbar, wenn das zugrundeliegende Medium spulen
-unterstützt (z.B.\& nicht bei Standardeingabe, Pipe, etc.\&)
-.
-.TP
-.B \-noidx
-Überspringe die Neugenerierung der Indexdatei.
-MEncoder überspringt bei dieser Option das Schreiben des Index.
-.
-.TP
-.B \-ipv4\-only\-proxy (nur bei Netzwerk)
-Überspringt Proxy-Server bei IPv6-Adressen.
-Für IPv4-Verbindungen wird er aber benutzt.
-.
-.TP
-.B \-loadidx <Index-Datei>
-Die Datei, von der die von \-saveidx gespeicherten Indexdaten für das Video
-gelesen werden.
-Dieser Index wird zum Spulen benutzt, dabei wird der im AVI enthaltene Index
-überschrieben.
-MPlayer wird nicht verhindern, dass du einen Index einer anderen AVI-Datei
-benutzt, aber dies wird sicherlich zu ungewünschten Resultaten führen.
-.br
-.I ANMERKUNG:
-Diese Option ist veraltet, da MPlayer nun Unterstützung für OpenDML hat.
-.
-.TP
-.B \-mc <Sekunden/Frame>
-maximale A/V-Synchronisationsanpassung pro Frame (in Sekunden)
-.
-.TP
-.B \-mf <Option1:Option2:...>
-Wird benutzt, wenn mehrere PNG- oder JPEG-Dateien decodiert werden.
-.sp 1
-Verfügbare Optionen sind folgende:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<Wert>
-Breite der Eingabedatei (Standard: automatische Erkennung)
-.IPs h=<Wert>
-Höhe der Eingabedatei (Standard: automatische Erkennung)
-.IPs fps=<Wert>
-Frames pro Sekunde bei der Ausgabe (Standard: 25)
-.IPs type=<Wert>
-Typ der Quelldateien (mögliche Typen sind: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (nur bei AVI)
-Erzwingt die Benutzung des nicht-interleaved-AVI-Parsers (was die Wiedergabe
-einiger schlechter AVI-Dateien ermöglicht).
-.
-.TP
-.B \-nobps (nur bei AVI)
-Benutze nicht den durchschnittlichen Bytes/\:Sekunde-Wert für die
-A/\:V-Synchronisation.
-Hilft bei einigen AVI-Dateien mit defektem Header.
-.
-.TP
-.B \-noextbased
-Deaktiviert die auf Dateinamenserweiterungen basierende Demultiplexerauswahl.
-Wenn der Dateityp (und damit der Demultiplexer) nicht zweifelsfrei
-festgestellt werden kann (z.B. wenn die Datei keinen Header besitzt
-oder dieser nicht zuverlässig genug ist), dann wird normalerweise ein
-Demultiplexer anhand der Dateiendung gewählt.
-Die inhaltsbasierte Demultiplexerauswahl wird bei Problemen immer
-vorgenommen.
-.
-.TP
-.B \-passwd <Passwort> (siehe auch \-user) (nur bei Netzwerk)
-Gibt das Passwort für die HTTP-Authentifizierung an.
-.
-.TP
-.B \-prefer\-ipv4 (nur bei Netzwerk)
-Benutzt IPv4 bei Netzwerkverbindungen.
-Greift automatisch auf IPv6-Verbindungen zurück.
-.
-.TP
-.B \-prefer\-ipv6 (nur bei IPv6-Netzwerk)
-Benutzt IPv6 bei Netzwerkverbindungen.
-Greift automatisch auf IPv4-Verbindungen zurück.
-.
-.TP
-.B \-psprobe <Byte-Position>
-Beim Abspielen eines MPEG-PS- oder MPEG-PES-Streams lässt dich diese Option
-wählen, wie viele Bytes des Streams MPlayer untersuchen soll, um den zu
-benutzenden Videocodec zu identifizieren.
-Diese Option ist nötig, um EVO- oder VDR-Dateien abzuspielen, die H.264-Streams
-enthalten.
-.
-.TP
-.B \-pvr <Option1:Option2:...> (nur bei PVR)
-Diese Option nimmt verschiedene Feineinstellungen der Eigenschaften für die
-Encodierung des PVR-Capture-Moduls vor.
-Es muss mit irgendeiner auf einem Hardware-MPEG-Encoder basierenden Karte
-verwendet werden, die vom V4L2-Treiber unterstützt wird.
-Die Hauppauge WinTV PVR\-150/250/350/500 und alle IVTV-basierten Karten sind
-als PVR-Capture-Karten bekannt.
-Beachte, dass nur Linuxkernel Version 2.6.18 oder höher in der Lage sind,
-MPEG-Layer durch die V4L2-Schicht zu verarbeiten.
-Für das Einfangen eines MPEG-Streams und um diesen mit MPlayer/Mencoder
-anzuschauen, verwende 'pvr://' als Film-URL.
-.sp 1
-Verfügbare Optionen sind folgende:
-.RSs
-.IPs aspect=<0\-3>
-Gib den Aspekt der Eingabe an:
-.RSss
-0: 1:1
-.br
-1: 4:3 (Standard)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-Gib die Audio-Rate für die Encodierung an (Standard: 48000 Hz, verfügbar:
-32000, 44100 und 48000 Hz).
-.IPs alayer=<1\-3>
-Gib die Encodierung des MPEG-Audio-Layers an (Standard: 2).
-.IPs abitrate=<32\-448>
-Gib die Bitrate für die Audioencodierung in kbps an (Standard: 384).
-.IPs amode=<Wert>
-Gib den Modus für die Audioencodierung an.
-Verfügbare Preset-Werte sind 'stereo', 'joint_stereo', 'dual' und 'mono'
-(Standard: stereo).
-.IPs vbitrate=<Wert>
-Gib die durchschnittliche Bitrate für die Videoencodierung an (Standard:
-6).
-.IPs vmode=<Wert>
-Gib den Modus für die Videoencodierung an:
-.RSss
-vbr: variable Bitrate (Standard)
-.br
-cbr: konstante Bitrate
-.REss
-.IPs vpeak=<Wert>
-Gib den Höchstwert für die Bitrate der Videoencodierung an
-(nur nützlich für VBR-Encodierung, Standard: 9.6).
-.IPs fmt=<Wert>
-Wähle ein MPEG-Format für die Encodierung:
-.RSss
-ps: MPEG-2 Program Stream (Standard)
-.br
-ts: MPEG-2 Transport Stream
-.br
-mpeg1: MPEG-1 System Stream
-.br
-vcd: Video CD-kompatibler Stream
-.br
-svcd: Super Video CD-kompatibler Stream
-.br
-dvd: DVD-kompatibler Stream
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <Option1:Option2:...> (Radio only)
-Diese Optionen setzen verschiedene Parameter des Radio-Capture-Moduls.
-Für das Radiohören mit MPlayer benutze 'radio://<Frequenz>'
-(wenn die Option channels nicht gegeben ist) oder 'radio://<Kanal_Nummer>'
-(wenn die Option channels angegeben wurde) als Film-URL.
-Du kannst dir den erlaubten Frequenzbereich anzeigen lassen, indem du MPlayer
-mit der Option '\-v' startest.
-Um das Aufnahme-Subsystem zu starten, benutze
-\'radio://<Frequenz oder Kanal>/capture'.
-Wenn das Schlüsselwort capture nicht gegeben ist, kannst du nur mit einem
-Line-In-Kabel Radio hören.
-Capture zu verwenden für das Anhören wird nicht empfohlen wegen
-Synchronisationsproblemen, was diesen Prozess unkomfortabel macht.
-.sp 1
-Verfügbare Optionen sind folgende:
-.RSs
-.IPs device=<Wert>
-Radiogerät, das verwendet werden soll (Standard: /dev/radio0 für Linux und
-/dev/tuner0 für *BSD).
-.IPs driver=<Wert>
-Radiotreiber, der verwendet werden soll (Standard: v4l2 wenn verfügbar, v4l
-sonst).
-Momentan werden die Treiber v4l und v4l2 unterstützt.
-.IPs volume=<0..100>
-Lautstärke für das Radiogerät (Standard: 100)
-.IPs "freq_min=<Wert> (nur bei *BSD BT848)"
-minimal erlaubte Frequenz (Standard: 87.50)
-.IPs "freq_max=<Wert> (nur bei *BSD BT848)"
-maximal erlaubte Frequenz (Standard: 108.00)
-.IPs channels=<Frequenz>\-<Name>,<Frequenz>\-<Name>,...
-Setzt die Liste der Kanäle.
-Benutze _ für Leerzeichen in Namen (oder spiele mit der Quotierung ;-).
-Die Kanalnamen werden dann mittels OSD geschrieben, und für eine Fernbedienung
-(siehe LIRC) werden die Slave-Kommandos radio_step_channel und radio_set_channel
-nutzbar sein.
-Falls angegeben, wird die Nummer in einer Film-URL als Kanalposition in der
-Kanalliste verstanden.
-.br
-.I BEISPIELE:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<Wert> (nur bei Radio Capture)"
-Name des Geräts, von dem der Ton aufgenommen werden soll.
-Ohne einen solchen Namen wird die Aufnahme deaktiviert, selbst wenn das
-Schlüsselwort capture in der URL auftaucht.
-Benutze dies für ALSA-Geräte in der Form hw=<Karte>.<Gerät>.
-Wenn der Gerätename ein '=' enthält, wird das Modul ALSA für die Aufnahme
-verwenden, sonst OSS.
-.IPs "arate=<Wert> (nur bei Radio Capture)"
-Rate in Samples pro Sekunde (Standard: 44100).
-.br
-.I ANMERKUNG:
-Bei Verwendung von Audioaufnahme setze auch die Option \-rawaudio rate=<Wert>
-mit dem selben Wert wie für arate.
-Wenn du Probleme mit der Tongeschwindigkeit hast (zu schnell läuft), versuche
-es mit verschiedenen Werten für die Rate (z.B.\& 48000,44100,32000,...)
-abzuspielen.
-.IPs "achannels=<Wert> (nur bei Radio Capture)"
-Anzahl der aufzunehmenden Audiokanäle.
-.RE
-.
-.TP
-.B \-rawaudio <Option1:Option2:...>
-Mit dieser Option können raw-Audiodateien abgespielt werden.
-Sie kann auch verwendet werden, um Audio-CDs abzuspielen, die nicht mit 44KHz
-16-Bit Stereo aufgenommen wurden.
-Benutze zum Abspielen von RAW-AC-3-Streams \-rawaudio format=0x2000 \-demuxer
-rawaudio.
-.sp 1
-Verfügbare Optionen sind folgende:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<Wert>
-Anzahl der Kanäle
-.IPs rate=<Wert>
-Rate in Samples pro Sekunde
-.IPs samplesize=<Wert>
-Sample-Größe in Bytes
-.IPs format=<Wert>
-FourCC als Hexadezimalwert oder String-Konstante.
-Verwende \-rawvideo format=help für eine Liste gültiger Zeichenketten.
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <option1:option2:...>
-Mit dieser Option kannst du Dateien abspielen, die nur aus Videodaten bestehen.
-Du musst außerdem \-demuxer rawvideo angeben.
-.sp 1
-Verfügbare Optionen sind folgende:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<Wert>
-Anzahl der Bilder pro Sekunde (Standard: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-setzt die Standardbildgröße
-.IPs w=<Wert>
-Bildbreite in Pixeln
-.IPs h=<Wert>
-Bildhöhe in Pixeln
-.IPs i420|yv12|yuy2|y8
-wählt den Farbraum
-.IPs format=<Wert>
-Farbraum (FourCC) als Hexadezimalwert
-.IPs size=<Wert>
-Framegröße in Bytes
-.REss
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif \-demuxer rawvideo \-rawvideo qcif"
-Spielt das berühmte "foreman" Beispielvideo.
-.IPs "mplayer sample-720x576.yuv \-demuxer rawvideo \-rawvideo w=720:h=576"
-Spielt ein raw-YUV-Beispielvideo.
-.RE
-.PD 1
-.
-.TP
-.B \-rtsp\-port
-Wird bei 'rtsp://'-URLs benutzt, um die Portnummer des Clients zu erzwingen.
-Diese Option kann nützlich sein, wenn du hinter einem Router bist und den
-RTSP-Stream vom Server an einen bestimmten Client weiterleiten möchtest.
-.
-.TP
-.B \-rtsp\-destination
-Wird zusammen mit 'rtsp://'-DLLs benutzt, um zu erzwingen, dass die
-Ziel-IP-Adresse gebunden wird.
-Diese Option kann nützlich sein bei einem RTSP-Server, der RTP-Pakete nicht an
-die richtige Schnittstelle schickt.
-Wenn die Verbindung zu dem RTSP-Server fehlschlägt, benutze \-v, um zu sehen,
-welche IP-Adresse MPlayer zu binden versucht.
-Versuche, die Adresse zu erzwingen, die deinem Computer zugewiesen wurde.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (nur bei LIVE555 und NEMESI)
-Kann zusammen mit 'rtsp://'-URLs verwendet werden, um anzugeben, dass die
-daraus resultierenden eingehenden RTP- und RTCP-Pakete per TCP
-übertragen werden (mit der gleichen TCP-Verbindung wie RTSP).
-Diese Option kann hilfreich sein, wenn deine Internetverbindung eingehende
-UDP-Pakete nicht durchlässt (siehe http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-saveidx <Dateiname>
-Erzwingt Neugenerierung des Index und schreibt den Index in <Dateiname>.
-Funktioniert momentan nur mit AVI-Dateien.
-.br
-.I ANMERKUNG:
-Diese Option ist veraltet, da MPlayer nun OpenDML unterstützt.
-.
-.TP
-.B \-sb <Byteposition> (siehe auch \-ss)
-Springt an die Byteposition.
-Nützlich beim Abspielen von CD-ROM-Abbildern / .VOB-Dateien mit Müll
-am Anfang.
-.
-.TP
-.B \-speed <0.01\-100>
-Erhöht oder verringert die Abspielgeschwindigkeit abhängig vom angegebenen
-Faktor.
-Es wird nicht garantiert, dass diese Option zusammen mit \-ovc copy
-funktioniert.
-.
-.TP
-.B \-srate <Hz>
-Erzwingt eine zu benutzende Audioabspielrate (natürlich haben Soundkarten
-diesbezüglich Beschränkungen).
-Falls die gewählte Samplefrequenz verschieden von der des aktuellen Mediums
-ist, wird der resample oder lavcresample Audiofilter in die Audiofilterschicht
-eingefügt, um den Unterschied auszugleichen.
-Der Resampling-Typ kann mit der Option \-af\-adv gesteuert werden.
-Standard ist ein schnelles Resampling, das Störungen verursachen kann.
-.
-.TP
-.B \-ss <Zeit> (siehe auch \-sb)
-Springt zu der angegebenen Zeitposition.
-.sp 1
-.I BEISPIELE:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-Springt zu 56 Sekunden.
-.IPs "\-ss 01:10:00"
-Springt zu 1 Stunde 10 Minuten.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Sorgt dafür, dass MPlayer solche TS-Pakete, die als unbrauchbar markiert
-wurden, nicht ignoriert.
-Diese Option wird manchmal gebraucht, um korrupte MPEG-TS-Dateien abzuspielen.
-.
-.TP
-.B \-tsprobe <Byteposition>
-Beim Abspielen eines MPEG-TS-Streams kannst du mit dieser Option auswählen,
-wie viele Bytes MPlayer nach den gewünschten Audio- und Video-IDs durchsuchen
-soll.
-.
-.TP
-.B \-tsprog <1\-65534>
-Beim Abspielen eines MPEG-TS-Streams kann mit dieser Option ausgewählt werden,
-welches Programm (falls vorhanden) abgespielt werden soll.
-Kann in Verbindung mit \-vid und \-aid benutzt werden.
-.
-.TP
-.B \-tv <Option1:Option2:...> (nur bei TV/\:PVR)
-Diese Option steuert verschiedene Einstellungen des TV-Empfang-Moduls.
-Um mit MPlayer fernzusehen, benutze die Optionen 'tv://'
-oder 'tv://<Kanalnummer>' oder sogar 'tv://<Kanalname>' (siehe unten die
-Option channels für die Kanalnamen) als Film-URL.
-Du kannst auch 'tv:///<input_id>' verwenden, um ein Video vom Composite- oder
-S-Video-Eingang zu schauen (siehe Option input für Details).
-.sp 1
-Verfügbare Optionen:
-.RSs
-.IPs noaudio
-kein Sound
-.IPs "automute=<0\-255> (nur bei v4l und v4l2)"
-Wenn die vom Gerät gemeldete Signalstärke geringer ist als dieser Wert,
-werden Ton und Video stummgeschaltet.
-In den meisten Fällen wird automute=100 ausreichen.
-Standardwert ist 0 (automute deaktiviert).
-.IPs driver=<Wert>
-Siehe \-tv driver=help für eine Liste eincompilierter TV-Eingabetreiber.
-mögliche Werte: dummy, v4l, v4l2, bsdbt848 (Standard: automatische Erkennung)
-.IPs device=<Wert>
-Gibt ein anderes TV-Gerät als /dev/\:video0 an.
-.I ANMERKUNG:
-Dem bsdbt848-Treiber kannst du sowohl bktr- als tuner-Gerätenamen übergeben,
-indem du sie durch Komma trennst, tuner hinter bktr (z.B.\& \-tv
-device=/dev/bktr1,/dev/tuner1).
-.IPs input=<Wert>
-Gibt den Eingang an (Standard: 0 (TV), siehe Ausgaben in der Konsole für
-mögliche Eingänge).
-.IPs freq=<Wert>
-Gibt die Frequenz an, auf die der Tuner gesetzt wird (z.B.\& 511.250).
-Kann nicht zusammen mit dem Parameter channels benutzt werden.
-.IPs outfmt=<Wert>
-Gibt das Ausgabeformat des Tuners mit einer Voreinstellung des
-V4L-Treibers (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) oder ein
-frei wählbares Format als hexadezimalen Wert an.
-Angabe von outfm=help listet alle wählbaren Formate.
-.IPs width=<Wert>
-Breite des Ausgabefensters
-.IPs height=<Wert>
-Höhe des Ausgabefensters
-.IPs fps=<Wert>
-Framerate, mit der das Video aufgenommen wird (Bilder pro Sekunde, frames per
-second).
-.IPs buffersize=<Wert>
-Maximalgröße des Capture-Puffers in Megabytes (Standard: dynamisch)
-.IPs norm=<Wert>
-Für bsdbt848 und v4l sind die Normen PAL, SECAM und NTSC verfügbar.
-Für v4l2 siehe Option normid und die Ausgabe von MPlayer für eine Liste der
-verfügbaren TV-Normen.
-.IPs "normid=<Wert> (nur bei V4L2)"
-Setzt die TV-Norm auf die angegebene numerische ID.
-Die TV-Norm hängt von der Videokarte ab.
-Siehe MPlayer-Output für eine Liste der verfügbaren TV-Normen.
-.IPs channel=<Wert>
-Setzt den Tuner auf Kanal <Wert>.
-.IPs chanlist=<Wert>
-Werte: argentina, australia, china-bcast, europe-east, europe-west, france,
-ireland, italy, japan-bcast, japan-cable, newzealand, russia, southafrica,
-us-bcast, us-cable, us-cable-hrc
-.IPs channels=<Kanal>\-<Name>[=<Norm>],<Kanal>\-<Name>[=<Norm>],...
-Setzt Namen für Kanäle.
-.I ANMERKUNG:
-Wenn <Kanal> eine Ganzzahl größer als 1000 ist, wird sie als Frequenz (in
-kHz) behandelt, ansonsten als Kanalname aus der Frequenztabelle.
-.br
-Benutze '_' anstelle von Leerzeichen bei Namen (oder spiele mit der
-Shellquotierung rum ;-).
-Die Sendernamen werden dann per OSD angezeigt, und die Slave-Kommandos
-tv_step_channel, tv_set_channel und tv_last_channel werden per
-Fernbedienung benutzbar sein (siehe LIRC).
-Kann nicht zusammen mit dem frequency-Parameter benutzt werden.
-.br
-.I ANMERKUNG:
-Die Sendernummer wird dann die Position des Eintrags in der 'channels'-Liste
-sein, mit 1 beginnend.
-.br
-.I BEISPIEL:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-Setzt Werte des Bild-Equaliziers der Karte.
-.IPs audiorate=<Wert>
-Setzt die Audiobitrate für Capturing.
-.IPs forceaudio
-Capture auch dann Audio, wenn v4l keine Audioquellen zurückmeldet.
-.IPs "alsa\ "
-Benutze ALSA für Capturing.
-.IPs amode=<0\-3>
-Wählt einen Audiomodus:
-.RSss
-0: Mono
-.br
-1: Stereo
-.br
-2: Sprache 1
-.br
-3: Sprache 2
-.REss
-.IPs forcechan=<1\-2>
-Normalerweise wird die Anzahl der aufgenommenen Audiokanäle automatisch
-durch Ermitteln des Audiomodus der TV-Karte festgelegt.
-Mit dieser Option kann Stereo/\:Mono unabhängig von dem von V4L
-zurückgegebenen Audiomodus erzwungen werden.
-Kann benutzt werden, wenn die TV-Karte den aktuellen Audiomodus nicht
-angeben kann.
-.IPs adevice=<Wert>
-Setzt ein Audiogerät.
-<Wert> sollte /dev/\:xxx bei OSS und eine Hardware-ID bei ALSA sein.
-Du musst in der Hardware-ID von ALSA jedes ':' durch ein '.' ersetzen.
-.IPs audioid=<Wert>
-Wählt einen Audioausgang der TV-Karte, wenn diese mehrere hat.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-Diese Optionen setzen Parameter des Mixers auf der Capture-Karte.
-Sie haben keinen Effekt, wenn deine Karte keinen Mixer hat.
-Bei V4L2 steht 50 für den vom
-Treiber angegebenen Default-Wert.
-.IPs "gain=<0\-100> (v4l2)"
-Setze die Kontrolle der Verstärkung für Videogeräte (normalerweise Webcams)
-auf den gewünschten Wert und schalte die automatische Kontrolle aus.
-Der Wert 0 aktiviert automatische Kontrolle.
-Wird diese Option ausgelassen, wird die Verstärkungskontrolle nicht
-geändert.
-.IPs immediatemode=<bool>
-Ein Wert von 0 bedeutet: Nimm Audio und Video zusammen in einem Puffer auf
-(Standard für MEncoder).
-Ein Wert von 1 bedeutet: Nimm nur Video direkt von der Karte und Audio
-über ein externes Kabel von der TV-Karte zur Soundkarte auf (Standard
-für MPlayer).
-.IPs mjpeg
-Benutzte Hardware-MJPEG-Kompression (wenn dies die Karte unterstützt).
-Bei dieser Option musst du Breite und Höhe des Ausgabefensters nicht
-angeben, denn MPlayer ermittelt diese Werte automatisch vom
-Dezimierungswert (siehe unten).
-.IPs decimation=<1|2|4>
-Wählt die Bildgröße für die Hardware-MJPEG-Kompression:
-.RSss
-1: volle Größe
- 704x576 PAL
- 704x480 NTSC
-.br
-2: mittlere Größe
- 352x288 PAL
- 352x240 NTSC
-.br
-4: kleine Größe
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-Wählt die Qualität der JPEG-Kompression.
-(< 60 für volle Größe empfohlen)
-.IPs tdevice=<Wert>
-Gib Gerät für TV-Videotext an (Beispiel: /dev/\:vbi0) (Standard: kein).
-.IPs tformat=<Format>
-Gib das Anzeigeformat für TV-Videotext an (Standard: 0):
-.RSss
-0: opak
-.br
-1: transparent
-.br
-2: opak mit invertierten Farben
-.br
-3: transparent mit invertierten Farben
-.REss
-.IPs tpage=<100\-899>
-Gib initiale Seitenzahl für TV-Videotext an (Standard: 100).
-.IPs tlang=<\-1\-127>
-Gib den Standardsprachcode für Videotext an (Standard: 0), der als primäre
-Sprache verwendet wird, bis ein Typ-28-Paket empfangen wird.
-Nützlich, wenn der Videotext keine lateinischen Buchstaben verwendet, die
-Sprachcodes aus irgendwelchen Gründen aber nicht via Typ-28-Pakete
-übertragen werden.
-Setze diese Option auf \-1 für eine Liste der unterstützten Sprachcodes.
-.IPs "hidden_video_renderer (nur bei dshow)"
-Terminiere Stream mit Videorenderer anstelle mit Null-Renderer
-(Standard: aus).
-Nützlich, wenn Video einfriert, der Ton jedoch nicht.
-.I ANMERKUNG:
-Funktioniert möglicherweise nicht mit der Kombination \-vo directx und \-vf
-crop.
-.IPs "hidden_vp_renderer (nur bei dshow)"
-Terminiere den VideoPort-Pin-Stream mit dem Videorenderer anstatt ihn vom
-Graph zu entfernen (Standard: aus).
-Nützlich, wenn deine Karte einen VideoPort-Pin hat und das Video ruckelt.
-.I ANMERKUNG:
-Funktioniert möglicherweise nicht mit der Kombination \-vo directx und \-vf
-crop.
-.IPs "system_clock (nur bei dshow)"
-Verwende die Systemuhr als Synchronisationsquelle anstall der Standarduhr des
-Graphen (normalerweise die Uhr von einer der Live-Quellen im Graph).
-.IPs "normalize_audio_chunks (nur bei dshow)"
-Erstelle Audiostücke von der Dauer gleich der eines Videoframes (Standard:
-aus).
-Manche Soundkarten produzieren Audiostücke von 0.5 Sekunden Länge, was
-zusammen mit immediatemode=0 zu ruckelndem Video führt.
-.RE
-.
-.TP
-.B \-tvscan <Option1:Option2:...> (nur bei TV und MPlayer)
-Mache Einstellungen für den TV-Kanal-Scanner.
-MPlayer wird auch Werte für die Option "-tv channels=" ausgeben,
-inklusive der existierenden und der gerade gefundenen Kanäle.
-.sp 1
-Verfügbare Unteroptionen sind:
-.RSs
-.IPs autostart
-Beginne Kanal-Scan unmittelbar nach dem Start (Standard: deaktiviert).
-.IPs period=<0.1\-2.0>
-Gib die Verzögerung an in Sekunden, bevor zum nächsten Kanal gewechselt wird
-(Standard: 0.5).
-Niedrigere Werte bewirken schnelleres Scannen, können inaktive TV-Kanäle
-jedoch als aktiv erkennen.
-.IPs threshold=<1\-100>
-Schwellenwert für die Signalstärke (in Prozent), wie vom Gerät angegeben
-(Standard: 50).
-Eine Signalstärke höher als dieser Wert ist Anzeichen dafür, dass der
-momentan gescannte Kanal aktiv ist.
-.RE
-.
-.TP
-.B \-user <Benutzername> (siehe auch \-passwd) (nur bei Netzwerk)
-Gibt den Benutzernamen für die HTTP-Authentifizierung an.
-.
-.TP
-.B \-user\-agent <Zeichenkette>
-Benutze Zeichenkette als User-Agent beim HTTP-Streaming.
-.
-.TP
-.B \-vid <ID>
-Wählt die Videospur (MPG: 0\-15 ASF: 0\-255 MPEG-TS: 17\-8190).
-Beim Abspielen von MPEG-TS-Streams benutzt MPlayer/\:MEncoder das erste
-Programm (falls vorhanden) mit dem gewählten Video-Stream.
-.
-.TP
-.B \-vivo <Unteroptionen> (DEBUG-CODE)
-Erzwingt Audioparameter für den VIVO-Demuxer (nur für Debugging-Zwecke).
-FIXME: Dokumentiere dies.
-.
-.
-.
-.SH "OSD-/UNTERTITEL-OPTIONEN"
-.I ANMERKUNG:
-Siehe auch \-vf expand.
-.
-.TP
-.B \-ass (nur bei FreeType)
-Schaltet das Zeichnen von SSA/ASS-Untertiteln ein.
-Mit dieser Option wird libass für externe SSA/ASS-Untertitel und
-Matroska-Spuren verwendet.
-.br
-.I ANMERKUNG:
-Wenn fontconfig eincompiliert wurde, schaltet \-ass automatisch \-fontconfig
-ein, wenn dies nicht mit \-nofontconfig anders angegeben wurde.
-.
-.TP
-.B \-ass\-border\-color <Wert>
-Setzt die Rahmen(rand)farbe für Textuntertitel.
-Das Farbformat ist RRGGBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <Wert>
-Fügt einen schwarzen Streifen unten ins Bild hinzu.
-Der SSA/ASS-Renderer kann Untertitel dorthin legen (mit \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-color <Wert>
-Setzt die Farbe für Textuntertitel.
-Das Farbformat ist RRGGBBAA.
-.
-.TP
-.B \-ass\-font\-scale <Wert>
-Setze den Skalierungskoeffizienten, der für Schriften im
-SSA/ASS-Renderer verwendet werden soll.
-.
-.TP
-.B \-ass\-force\-style <[Style.]Param=Wert[,...]>
-Überschreibe Stil- oder Skriptinfo-Parameter.
-.sp
-.I EXAMPLE:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.br
-\-ass\-force\-style PlayResY=768
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <Typ>
-Setze den Typ für das Hinting.
-<Typ> kann sein:
-.PD 0
-.RSs
-.IPs 0
-kein Hinting
-.IPs 1
-Autohinter von FreeType, light-Modus
-.IPs 2
-Autohinter von FreeType, normaler Modus
-.IPs 3
-nativer Hinter der Schrift
-.IPs "0-3 + 4"
-Das gleiche, Hinting wird jedoch nur durchgeführt, wenn das OSD auf
-Bildschirmauflösung gezeichnet wird und daher nicht skaliert wird.
-.RE
-.RSs
-Der Standardwert ist 7 (benutze nativen Hinter für unskaliertes OSD und sonst
-kein Hinting).
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <Wert>
-Setzt den Wert für den Zeilenabstand für den SSA/ASS-Renderer.
-.
-.TP
-.B \-ass\-styles <Dateiname>
-Lade alle SSA/ASS-Styles, die in der angegebenen Datei gefunden wurden, und
-verwende sie für das Zeichnen von Textuntertiteln.
-Der Syntax der Datei ist genau wie der Abschnitt [V4 Styles] / [V4+ Styles]
-von SSA/ASS.
-.
-.TP
-.B \-ass\-top\-margin <Wert>
-Fügt einen schwarzen Streifen oben ins Bild hinzu.
-Der SSA/ASS-Renderer kann Obertitel dorthin legen (mit \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-use\-margins
-Aktiviert die Platzierung der Ober- und Untertitel in schwarzen
-Rändern, wenn sie verfügbar sind.
-.
-.TP
-.B \-dumpjacosub (nur bei MPlayer)
-Konvertiert den (mit der \-sub\-Option angegebenen) Untertitel in das
-zeitbasierende JACOsub-Untertitelformat.
-Erstellt eine Datei dumpsub.js im aktuellen Verzeichnis.
-.
-.TP
-.B \-dumpmicrodvdsub (nur bei MPlayer)
-Konvertiert den (mit der \-sub\-Option angegebenen) Untertitel in das
-MicroDVD-Untertitelformat.
-Erstellt eine Datei dumpsub.sub im aktuellen Verzeichnis.
-.
-.TP
-.B \-dumpmpsub (nur bei MPlayer)
-Konvertiert den (mit der \-sub\-Option angegebenen) Untertitel in das
-MPlayer-Untertitelformat MPsub.
-Erstellt eine Datei dump.mpsub im aktuellen Verzeichnis.
-.
-.TP
-.B \-dumpsami (MPlayer only)
-Konvertiert den (mit der \-sub\-Option angegebenen) Untertitel in das
-zeitbasierende SAMI-Untertitelformat.
-Erstellt eine Datei dumpsub.smi im aktuellen Verzeichnis.
-.
-.TP
-.B \-dumpsrtsub (nur bei MPlayer)
-Konvertiert den (mit der \-sub\-Option angegebenen) Untertitel in das
-zeitbasierende SubViewer-Untertitelformat (SRT).
-Erstellt eine Datei dumpsub.srt im aktuellen Verzeichnis.
-.br
-.I HINWEIS:
-Einige Hardwareplayer können nicht mit SRT-Untertiteln mit Unix-Zeilenenden
-umgehen.
-Wenn du Pech hast und solch ein Gerät besitzt, solltest du unix2dos oder ein
-ähnliches Programm benutzen,
-um die Unix-Zeilenenden durch DOS/Windows-Zeilenenden zu ersetzen.
-.
-.TP
-.B \-dumpsub (nur bei MPlayer) (BETA CODE)
-Speichert den Untertitel-Substream eines VOB-Streams.
-Siehe auch die Optionen \-dump*sub und \-vobsubout*.
-.
-.TP
-.B \-noembeddedfonts
-Deaktiviert die Nutzung von in Matroska-Dateien und ASS-Untertiteln eingebetteten Schriften (Standard:
-aktiviert).
-Diese Schriften können für das Rendern von SSA/ASS-Untertiteln verwendet werden
-.
-.TP
-.B \-ffactor <Nummer>
-Resampling der Alpha-Matrix der Schrift.
-Mögliche Werte:
-.PD 0
-.RSs
-.IPs 0
-komplett weiße Schriften
-.IPs 0.75
-sehr dünner schwarzer Umriss (Standard)
-.IPs 1
-dünner schwarzer Umriss
-.IPs 10
-dicker schwarzer Umriss
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (nur bei FriBiDi)
-Schaltet horizontales Spiegeln der Untertitel mittels FriBiDi ein.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-Ändere die Annahmen von FriBiDi über die Platzierung von Kommata in
-Untertiteln.
-Benutze dies, falls Kommata in Untertiteln am Anfang eines Satzes anstatt am
-Ende angezeigt werden.
-.TP
-.B \-font <Pfad zur font.desc-Datei>
-Sucht nach den OSD-/\:Untertitelschriften in einem anderen Verzeichnis
-(Standard für normale Schriften: ~/\:.mplayer/\:font/\:font.desc,
-Standard für FreeType-Schriften: ~/.mplayer/\:subfont.ttf).
-.br
-.I ANMERKUNG:
-Bei FreeType gibt diese Option den Pfad zur Textschriftdatei an.
-Bei fontconfig gibt diese Option den fontconfig-Schriftnamen an.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (nur bei fontconfig)
-Ermöglicht die Benutzung von Schriften, die von fontconfig verwaltet werden.
-.br
-.I ANMERKUNG:
-\-ass schaltet dies automatisch ein, wenn dies nicht explizit mit
-\-nofontconfig überschrieben wird.
-.
-.TP
-.B \-forcedsubsonly
-Stelle nur erzwungene DVD-Untertitel in der z.B.\& mit \-slang gewählten
-Sprache dar.
-.
-.TP
-.B \-fribidi\-charset <Zeichensatzname> (nur bei FriBiDi)
-Gibt den Zeichensatz an, der an FriBiDi übergeben wird, wenn Untertitel
-decodiert werden, die nicht im UTF8-Format sind (Standard: ISO8859\-8).
-.
-.TP
-.B \-ifo <VOBsub IFO-Datei>
-Gibt die Datei an, aus der MPlayer die Palette und die Framegröße für
-VOBsub-Untertitel lädt.
-.
-.TP
-.B \-noautosub
-Deaktiviert das automatische Laden von Untertiteln.
-.
-.TP
-.B \-osd\-duration <Zeit> (nur bei MPlayer)
-Setzt die Anzeigedauer der OSD-Meldungen in ms (Standard: 1000).
-.
-.TP
-.B \-osd\-fractions <0\-2>
-Setzt die Art der Anzeige von Nachkommastellen des aktuellen Zeitstempels im
-OSD:
-.PD 0
-.RSs
-.IPs 0
-Keine Anzeige der Nachkommastellen (Standard).
-.IPs 1
-Zeige die ersten beiden Nachkommastellen.
-.IPs 2
-Zeige genäherte Framezahl an.
-Die angezeigte Framezahl ist nicht exakt, sondern nur genähert.
-Für variable FPS ist die Näherung weit von der tatsächlichen Framezahl
-entfernt.
-.RE
-.PD 1
-.
-.TP
-.B \-osdlevel <0\-3> (nur bei MPlayer)
-Gibt den Modus an, in dem das OSD startet:
-.PD 0
-.RSs
-.IPs 0
-nur Untertitel
-.IPs 1
-Lautstärkeleiste und Positionsanzeige (Standard)
-.IPs 2
-Lautstärkeleiste, Positionsanzeige, Zeitangabe und prozentuale Dateiposition
-.IPs 3
-Lautstärkeleiste, Positionsanzeige, Zeitangabe, prozentuale Dateiposition und
-Gesamtzeit
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Erlaubt die Anzeige des nächsten Untertitels, während der aktuelle noch
-sichtbar ist.
-(Standardverhalten ist, diese Unterstützung nur bei bestimmten Formaten zu
-aktivieren).
-.
-.TP
-.B \-sid <ID> (siehe auch \-slang, \-vobsubid)
-Zeigt den Untertitelstream an, der durch <ID> (0\-31) angegeben wird.
-Mplayer gibt eine Liste der verfügbaren Untertitel-IDs aus, wenn er im
-ausführlichen (\-v) Modus gestartet wird.
-Wenn du einen der Untertitel einer DVD nicht auswählen kannst, versuche auch
-die Option \-vobsubid.
-.
-.TP
-.B \-slang <Sprachcode[,Sprachcode,...]> (siehe auch \-sid)
-Gibt eine Prioritätenliste von zu benutzenden Untertitelsprachen an.
-Verschiedene Containerformate verwenden unterschiedliche Sprachcodes.
-DVDs benutzen ISO 639\-1\-Sprachcodes mit zwei Buchstaben, Matroska verwendet
-ISO 639\-2\-Sprachcodes mit drei Buchstaben, während OGM einen formfreien
-Bezeichner gebraucht.
-Mplayer gibt eine Liste der verfügbaren Untertitel-IDs aus, wenn er im
-ausführlichen (\-v) Modus gestartet wird.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang hu,en"
-Wählt den ungarischen Untertitel einer DVD und verwendet die englischen
-Untertitel, wenn es keine ungarischen gibt.
-.IPs "mplayer \-slang jpn example.mkv"
-Spielt eine Matroskadatei mit japanischen Untertiteln ab.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <Modus>
-Antialiasing-/\:Skalierungsmodus für DVD/\:VOBsub.
-Ein Wert von 16 kann zu <Modus> hinzuaddiert werden, um die Skalierung auch
-dann zu erzwingen, wenn das Orignalbild und das skalierte Bild bereits die
-gleiche Größe haben.
-Dies kann benutzt werden, um z.B.\& die Untertitel mit einem Gaußschen
-Unschärfefilter zu glätten.
-Die verfügbaren Modi lauten:
-.PD 0
-.RSs
-.IPs 0
-nichts (am schnellsten, sehr hässlich)
-.IPs 1
-approximiert (kaputt?)
-.IPs 2
-komplett (langsam)
-.IPs 3
-bilinear (Standard, schnell und nicht zu übel)
-.IPs 4
-benutzt Gaußsche Unschärfe des Softwareskalierers (sieht sehr gut aus)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-Gibt an, wie SPU-Untertitel (DVD/\:VOBsub) positioniert werden sollen.
-.PD 0
-.RSs
-.IPs "\-1"
-Originalposition
-.IPs " 0"
-Positioniere oben (Originalverhalten, Standard).
-.IPs " 1"
-Positioniere mittig.
-.IPs " 2"
-Positioniere unten.
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-Varianzparameter des Gaußschen Weichzeichners bei Benutzung von \-spuaa 4.
-Höhere Werte stehen für stärkere Weichzeichnung (Standard: 1.0).
-.
-.TP
-.B \-sub <Untertiteldatei1, Untertiteldatei2,...>
-Diese Untertitel werden benutzt/\:angezeigt.
-Nur ein Untertitel kann zu einer Zeit angezeigt werden.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-Gibt den Wert des Alphakanals bei Untertiteln und für OSD-Hintergründe an.
-Große Werte bedeuten mehr Transparenz.
-Der Wert 0 steht für vollständige Transparenz.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-Gibt den Farbwert für Untertitel und den OSD-Hintergrund an.
-Momentan werden Untertitel nur in Graustufen dargestellt, so dass dieser
-Wert äquivalent zur Farbintensität ist.
-Der Wert 255 steht für weiß und 0 für schwarz.
-.
-.TP
-.B \-sub\-demuxer <[+]Name> (nur mit \-subfile) (BETA CODE)
-Erzwinge Untertitel-Demuxertyp für \-subfile.
-Benutze '+' vor dem Namen um den Typ zu erzwingen, dies wird ein paar
-Überprüfungen überspringen!
-Gib den Demuxernamen an wie durch \-sub\-demuxer help angezeigt.
-Für Rückwärtskompatibilität wird auch die in libmpdemux/\:demuxer.h definierte
-Demuxer-ID akzeptiert.
-.
-.TP
-.B \-sub\-fuzziness <Modus>
-Passe die Unschärfe für die Suche nach Untertiteln an:
-.PD 0
-.RSs
-.IPs 0
-exakter Treffer
-.IPs 1
-Lade alle Untertitel, die den Filmnamen enthalten.
-.IPs 2
-Lade alle Untertitel im aktuellen Verzeichnis.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Deaktiviert Text-Postprocessing jeder Art nach dem Laden der Untertitel.
-Wird für Debugging-Zwecke verwendet.
-.
-.TP
-.B \-subalign <0\-2>
-Gibt an, welche Kante der Untertitel an der von \-subpos angegebenen Höhe
-positioniert werden sollen.
-.PD 0
-.RSs
-.IPs 0
-Positioniere obere Untertitelkante (Originalverhalten).
-.IPs 1
-Positioniere mittlere Untertitelkante.
-.IPs 2
-Positioniere untere Untertitelkante (Standard).
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-Zeigt DVD-Closed-Caption-Untertitel (CC) an.
-Diese sind
-.B keine
-VOB-Untertitel
-sondern spezielle ASCII-Untertitel für Hörgeschädigte, die
-in VOB-Userdatenstreams auf den meisten Region-1-DVDs zu finden sind.
-CC-Untertitel wurden bisher auf keinen DVDs für andere Regionen entdeckt.
-.
-.TP
-.B \-subcp <Codepage> (nur bei iconv)
-Wenn dein System iconv(3) unterstützt, kannst du mit dieser Option
-die Codepage für die Untertitel angeben.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<Sprache>:<alternative Codepage> (nur bei ENCA)
-Du kannst eine Sprache im 2-Zeichen-Sprachcode angeben, um ENCA automatisch
-eine Codepage erkennen zu lassen.
-Wenn du nicht sicher bist, gib irgendetwas ein und sieh dir die Ausgaben von
-mplayer \-v an, um die verfügbaren Sprachen zu sehen.
-Die alternative Codepage gibt die zu benutzende Codepage an, falls die
-automatische Erkennung versagt.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Nimm an, die Untertitel seien Tschechisch, und rate die Kodierung.
-Wenn die Erkennung versagt, benutze latin2.
-.IPs "\-subcp enca:pl:cp1250"
-Rate die Kodierung für Polnisch, benutze sonst cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <sek>
-Verzögert die Untertitel um <sek> Sekunden.
-Kann negativ sein.
-.
-.TP
-.B \-subfile <Dateiname> (BETA CODE)
-Zur Zeit unbrauchbar.
-Das gleiche wie \-audiofile, jedoch für Untertitel-Streams (OggDS?).
-.
-.TP
-.B \-subfont <Dateiname> (nur bei FreeType)
-Setzt die Schriftart für Untertitel.
-Wenn kein \-subfont gegeben ist, wird \-font verwendet.
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (nur bei FreeType)
-Setzt den Modus für automatische Skalierung der Untertitel.
-.br
-.I ANMERKUNG:
-0 bedeutet, dass text-scale und osd-scale Schrifthöhen in Punkten sind.
-.sp 1
-Der Modus kann folgende Werte annehmen:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-keine automatische Skalierung
-.IPs 1
-proportional zur Höhe des Films
-.IPs 2
-proportional zur Breite des Films
-.IPs 3
-proportional zur Diagonale des Films (Standard)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (nur bei FreeType)
-Setzt den Verwischradius für die Schriften (Standard: 2).
-.
-.TP
-.B \-subfont\-encoding <Wert> (nur bei FreeType)
-Setzt die Schriftcodierung.
-Wenn 'unicode' angegeben wird, so werden alle Zeichen der Schriftdatei
-gerendert, und unicode wird benutzt werden (Standard: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (nur bei FreeType)
-Setzt den Koeffizienten für die automatische Skalierung der OSD-Elemente
-(Standard: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (nur bei FreeType)
-Setzt die Schriftumrissstärke (Standard: 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (nur bei FreeType)
-Setzt den Koeffizienten für die automatische Skalierung der Untertitel als
-prozentualen Anteil der Anzeigegröße (Standard: 5).
-.
-.TP
-.B \-subfps <Rate>
-Gibt die Framerate der Untertitel an (Standard: Framerate des Films).
-.br
-.I ANMERKUNG:
-<Rate> > Film-Fps beschleunigt Untertitel bei bildbasierten
-Untertitel-Dateien und verlangsamt sie bei zeitbasierten.
-.
-.TP
-.B \-subpos <0\-100> (nützlich mit \-vf expand)
-Gibt die Position der Untertitel auf dem Bildschirm an.
-Der Wert gibt die vertikale Position der Untertitel in % der Anzeigehöhe an.
-.
-.TP
-.B \-subwidth <10\-100>
-Gibt die maximale Breite der Untertitel an.
-Nützlich für Ausgabe auf dem Fernseher.
-Der Wert ist die Breite des Untertitels in % der Bildschirmbreite.
-.
-.TP
-.B \-noterm\-osd
-Deaktiviert die Anzeige der OSD-Meldungen auf der Konsole bei nichtverfügbarer
-Videoausgabe.
-.
-.TP
-.B \-term\-osd\-esc
-Gibt die Escapesequenz an, mit der OSD-Meldungen auf der Konsole eingeleitet
-werden.
-Die Escapesequenz sollte den Cursor zum Anfang der für OSD benutzten Zeile
-bewegen und die Zeile löschen (Standard: ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-Weist MPlayer an, die Untertiteldatei als Unicode zu behandeln.
-.
-.TP
-.B \-unrarexec <Pfad zum unrar-Programm> (unter MingW nicht unterstützt)
-Gib den Pfad zum unrar-Programm an, damit MPlayer es für den Zugriff auf
-rar-komprimierte VOBsub-Dateien verwenden kann (Standard: nicht gesetzt, also
-ist dieses Feature deaktiviert).
-Der Pfad muss den Dateinamen des Programms beinhalten, z.B.\&
-/usr/local/bin/unrar.
-.
-.TP
-.B "\-utf8 \ \ "
-Weist MPlayer an, die Untertiteldatei als UTF-8 zu behandeln.
-.
-.TP
-.B \-vobsub <VOBsub-Datei ohne Erweiterung>
-Gibt eine VOBsub-Datei an, die für die Untertitel verwendet werden soll.
-Angegeben wird der volle Pfadname ohne Erweiterung, z.B.\& ohne '.idx',
-\'.ifo' oder '.sub'.
-.
-.TP
-.B \-vobsubid <0\-31>
-Gibt die ID für die VOBsub-Untertitel an.
-.
-.
-.
-.SH "OPTIONEN FÜR DIE AUDIOAUSGABE (NUR BEI MPLAYER)"
-.
-.TP
-.B \-abs <Wert> (nur bei \-ao oss) (VERALTET)
-Überschreibt die automatisch erkannte Puffergröße der Audiotreiber/\:-karte.
-.
-.TP
-.B \-format <Format> (siehe auch format Audiofilter)
-Wählt das Sampleformat, das für die Ausgabe der Audiofilterschicht zur
-Soundkarte verwendet wird.
-Die Werte, die <Format> annehmen kann, stehen unten in der Beschreibung
-des format Audiofilters.
-.
-.TP
-.B \-mixer <Gerät>
-Benutze einen anderen Mixer als den Standardmixer /dev/\:mixer.
-Bei ALSA ist dies der Mixer-Name.
-.
-.TP
-.B \-mixer\-channel <Mixer-Anschluß>[,Mixer-Index] <nur bei \-ao oss und \-ao
-alsa)
-Bei dieser Option benutzt MPlayer zur Lautstärkeregulierung einen anderen
-Anschluß als die Standardeinstellung PCM.
-Optionen für OSS beinhalten
-.B vol, pcm, line.
-Für eine komplette Liste der Optionen suche nach SOUND_DEVICE_NAMES in der
-Datei /usr/\:include/\:linux/\:soundcard.h.
-Bei ALSA kannst du die Namen benutzen, die beispielsweise alsamixer anzeigt,
-wie
-.B Master, Line, PCM.
-.br
-.I ANMERKUNG:
-Die Namen von ALSA-Mixerkanälen gefolgt von einer Nummer müssen im Format
-<Name,Nummer> angegeben werden, z.B.\& muss ein Kanal, der im alsamixer 'PCM 1'
-heißt, umbenannt werden in
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-Erzwingt den Gebrauch des Softwaremixers anstelle des Mixers der Soundkarte.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-Setzt die maximale Verstärkung in Prozent (Standard: 110).
-Ein Wert von 200 erlaubt dir, die Lautstärke bis zum doppelten des aktuellen
-Lautstärkelevels einzustellen.
-Bei Werten unter 100 wird die anfängliche Lautstärke (die 100% ist) über dem
-Maximum sein, was z.B.\& das OSD nicht korrekt darstellen kann.
-.
-.TP
-.B \-volstep <0\-100>
-Setzt die Schrittweite der Mixer-Lautstärkeänderungen in Prozent der
-Gesamtweite (Standard: 3).
-.
-.TP
-.B \-volume <-1\-100> (siehe auch \-af volume)
-Setze die Lautstärke im Mixer zum Programmstart, entweder in Hardware oder
-Software (in Verbindung mit \-softvol).
-Ein Wert von -1 (Standard) ändert die Lautstärke nicht.
-.
-.
-.
-.SH "AUDIOAUSGABETREIBER (NUR BEI MPLAYER)"
-Audioausgabetreiber sind Schnittstellen zu verschiedenen Ausgabeeinrichtungen.
-Die Syntax ist folgende:
-.
-.TP
-.B \-ao <Treiber1[:Suboption[=Wert]:...],Treiber2,...[,]>
-Gibt eine Prioritätenliste der zu benutzenden Audiotreiber an.
-.PP
-Wenn die Liste mit ',' endet, so werden notfalls auch nicht in der
-Kommandozeile aufgeführte Treiber benutzt.
-Suboptionen sind optional und können größtenteils weggelassen werden.
-.br
-.I ANMERKUNG:
-Eine Liste der eincompilierten Audiotreiber erhältst du mit \-ao help.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Probiere den ALSA-Treiber, dann den OSS-Treiber, dann andere.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-Setzt den noblock-Modus und den Gerätenamen auf erste Karte,
-viertes Gerät.
-.RE
-.PD 1
-.sp 1
-Verfügbare Audioausgabetreiber sind folgende:
-.
-.TP
-.B "alsa\ \ \ "
-ALSA 0.9/1.x Audioausgabetreiber.
-.PD 0
-.RSs
-.IPs noblock
-Setzt den noblock-Modus.
-.IPs device=<Gerät>
-Setzt den Gerätenamen.
-Ersetze jedes ',' mit '.' und jeden ':' mit '=' im ALSA-Gerätenamen.
-Benutze für hwac3-Ausgabe via S/PDIF ein "iec958"- oder "spdif"-Gerät, es sei
-denn, du weißt wirklich, wie sie gesetzt werden muss.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-ALSA 0.5 Audioausgabetreiber.
-.
-.TP
-.B "oss\ \ \ \ "
-OSS Audioausgabetreiber.
-.PD 0
-.RSs
-.IPs <dsp-device>
-Setzt das Audioausgabegerät (Standard: /dev/\:dsp).
-.IPs <mixer-device>
-Setzt das Audiomixergerät (Standard: /dev/\:mixer).
-.IPs <mixer-channel>
-Setzt den Audiomixerkanal (Standard: pcm).
-.RE
-.PD 1
-.
-.TP
-.B sdl (nur bei SDL) (nur bei SDL) (nur bei SDL) (nur bei SDL) (nur bei SDL) (nur bei SDL) (nur bei SDL) (nur bei SDL) (Simple
-Directmedia Layer) Bibliothek.
-.PD 0
-.RSs
-.IPs <Treiber>
-Wähle den SDL-Audioausgabetreiber explizit (Standard: lasse SDL wählen).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-Audioausgabe über den aRts-Daemon.
-.
-.TP
-.B "esd\ \ \ \ "
-Audioausgabe über den ESD-Daemon.
-.PD 0
-.RSs
-.IPs <Server>
-Wähle den zu benutzenden ESD-Server explizit (Standard: localhost).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-Audioausgabe über JACK (Jack Audio Connection Kit)
-.PD 0
-.RSs
-.IPs port=<Name>
-Verbindet zu den Ports mit dem angegebenen Namen (Standard: physikalische
-Ports).
-.IPs name=<Client-Name>
-Client-Name, der an JACK weitergegeben wird (Standard: MPlayer [<PID>]).
-Nützlich, falls du bestimmte Verbindungen automatisch eingerichtet haben
-möchtet.
-.IPs (no)estimate
-Schätze die Audioverzögerung, sollte die Wiedergabe flüssiger machen
-(Standard: eingeschaltet).
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-Audioausgabe über NAS
-.
-.TP
-.B coreaudio (nur bei Mac OS X)
-Nativer Mac OS X-Audioausgabetreiber.
-.
-.TP
-.B "openal\ "
-Experimenteller OpenAL-Audioausgabetreiber
-.
-.TP
-.B "pulse\ \ "
-PulseAudio-Audioausgabetreiber
-.PD 0
-.RSs
-.IPs "[<Host>][:<Ausgabesenke>]"
-Gib den Host und optional die zu verwendende Ausgabesenke an.
-Leere Angabe von <Host> verwendet eine lokale Verbindung, "localhost" verwendet
-Netzwerkverbindungen (höchstwahrscheinlich nicht, was du willst).
-.RE
-.PD 1
-.
-.TP
-.B sgi (nur bei SGI)
-Nativer SGI-Audioausgabetreiber.
-.PD 0
-.RSs
-.IPs "<Name des Ausgabegeräts>"
-Wähle das zu nutzende Ausgabegerät/\:Interface explizit
-(Standard: systemweite Voreinstellung).
-Beispiele: 'Analog Out' oder 'Digital Out'.
-.RE
-.PD 1
-.
-.TP
-.B sun (nur bei Sun)
-Nativer Sun-Audioausgabetreiber.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wähle das zu benutzende Audiogerät explizit (Standard: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (nur bei Windows)
-Nativer Windows-Waveout-Audioausgabetreiber.
-.
-.TP
-.B dsound (nur bei Windows)
-DirectX-Audioausgabetreiber DirectSound
-.PD 0
-.RSs
-.IPs device=<Gerätenummer>
-Setzt das zu benutzende Gerät.
-Wenn du eine Datei mit \-v abspielst, wird dir eine Liste aller verfügbaren
-Geräte angezeigt.
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (siehe auch \-dxr2) (nur bei DXR2)
-DXR2-spezifischer Ausgabetreiber von Creative.
-.
-.TP
-.B v4l2 (benötigt Linux-Kernel 2.6.22+)
-Audioausgabetreiber für V4L2-Karten mit Hardware-MPEG-Decoder.
-.
-.TP
-.B mpegpes (nur bei DVB)
-Audioausgabetreiber für DVB-Karten, der die Ausgabe in eine MPEG-PES-Datei
-schreibt, wenn keine DVB-Karte installiert ist.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-DVB-Karte, die benutzt werden soll, wenn mehr als eine Karte verfügbar ist.
-Wird keine Karte angegeben, sucht MPlayer die erste verfügbare Karte.
-.IPs file=<Dateiname>
-Ausgabedateiname
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-Produziert keine Audioausgabe, behält aber die Videoabspielgeschwindigkeit bei.
-Benutze \-nosound für Benchmarking-Zwecke.
-.
-.TP
-.B "pcm\ \ \ \ "
-Filewriter-Audioausgabe im raw-PCM/Wave-Format.
-.PD 0
-.RSs
-.IPs (no)waveheader
-Fügt den Wave-Header (nicht) hinzu (Standard: hinzugefügt).
-Wird er nicht hinzugefügt, erfolgt die Ausgabe als raw-PCM.
-.IPs file=<Dateiname>
-Schreibe den Sound nach <Dateiname> und nicht in die Standarddatei
-audiodump.wav.
-Wurde nowaveheader angegeben, ist der Standard audiodump.pcm.
-.IPs "fast\ "
-Versuche, schneller als mit der eigentlichen Abspielgeschwindigkeit auszugeben.
-Stelle sicher, dass die Ausgabe nicht abgeschnitten wird (normalerweise mit
-der Nachricht "Zu viele Videopakete im Puffer").
-Es ist normal, dass du die Nachricht "Your system is too SLOW to play this!"
-bekommst.
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-Plugin-Audioausgabetreiber.
-.
-.
-.
-.SH "OPTIONEN FÜR DIE VIDEOAUSGABE (NUR BEI MPLAYER)"
-.
-.TP
-.B \-adapter <Wert>
-Bestimmt die Grafikkarte, die das Bild erhalten wird.
-Du bekommst eine Liste aller verfügbaren Karten, wenn du diese Option mit \-v
-aufrufst.
-Funktioniert momentan nur mit dem directx-Videoausgabetreiber.
-.
-.TP
-.B \-bpp <Farbtiefe>
-Überschreibt die automatisch erkannte Farbtiefe.
-Wird nur von fbdev-, dga2-, svga- und vesa-Videoausgabetreibern unterstützt.
-.
-.TP
-.B \-border
-Spiele den Film mit Fensterrand und Dekoration.
-Da dies standardmäßig an ist, benutze \-noborder um die normale
-Fensterdekoration abzuschalten.
-.
-.TP
-.B \-brightness <\-100\-100>
-Passt die Helligkeit der Videoausgabe an (Standard: 0).
-Wird nicht von allen Videoausgabetreibern unterstützt.
-.
-.TP
-.B \-contrast <\-100\-100>
-Passt den Kontrast der Videoausgabe an (Standard: 0).
-Wird nicht von allen Videoausgabetreibern unterstützt.
-.
-.TP
-.B \-display <Name> (nur bei X11)
-Gibt den Rechnernamen und die Display-Nummer des X-Servers an, auf dem
-die Anzeige erscheinen soll.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-Schaltet direktes Rendern an (wird nicht von allen Codecs und
-Videoausgabetreibern unterstützt)
-.br
-.I WARNUNG:
-Kann zu Störungen beim OSD und bei Untertiteln führen!
-.
-.TP
-.B \-dxr2 <Option1:Option2:...>
-Mit dieser Option wird der dxr2-Videoausgabetreiber gesteuert.
-.RSs
-.IPs ar-mode=<Wert>
-Modus für die Anpassung des Höhen-/Breitenverhältnisses (0 = normal,
-1 = Panscan, 2 = letterbox (Standard))
-.IPs iec958-encoded
-Setzt den iec958-Ausgabemodus auf 'encoded'.
-.IPs iec958-decoded
-Setzt den iec958-Ausgabemodus auf 'decoded' (Standard).
-.IPs macrovision=<Wert>
-Macrovision-Modus (0 = aus (Standard), 1 = agc, 2 = agc 2 colorstripe,
-3 = agc 4 colorstripe)
-.IPs "mute\ "
-Stummschalten der Soundausgabe
-.IPs unmute
-Ausschalten der Stummschaltung der Soundausgabe
-.IPs ucode=<Wert>
-Pfad zum Microcode
-.RE
-.RS
-.sp 1
-.I TV-Ausgabe
-.RE
-.RSs
-.IPs 75ire
-Schaltet den 7.5 IRE-Ausgabemodus an
-.IPs no75ire
-Schaltet den 7.5 IRE-Ausgabemodus ab (Standard)
-.IPs "bw\ \ \ "
-TV-Ausgabe in schwarz/weiß
-.IPs color
-TV-Ausgabe in Farbe (Standard)
-.IPs interlaced
-TV-Ausgabe ist interlaced (Standard)
-.IPs nointerlaced
-Deaktiviert die interlaced-TV-Ausgabe
-.IPs norm=<Wert>
-TV-Norm (ntsc (Standard), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-Setzt TV-Pixelmodus auf square
-.IPs ccir601-pixel
-Setzt TV-Pixelmodus auf ccir601
-.RE
-.RS
-.sp 1
-.I Overlay
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-Setzt den Wert für das Abschneiden des Bildrandes links (Standard: 50).
-.IPs cr-right=<0\-500>
-Setzt den Wert für das Abschneiden des Bildrandes rechts (Standard: 300).
-.IPs cr-top=<0\-500>
-Setzt den Wert für das Abschneiden des Bildrandes oben (Standard: 0).
-.IPs cr-bottom=<0\-500>
-Setzt den Wert für das Abschneiden des Bildrandes unten (Standard: 0).
-.IPs ck-[r|g|b]=<0\-255>
-Setzt die Verstärkung des r(oten), g(rünen) oder b(lauen) Wertes des
-Overlay-Farbschlüssels.
-.IPs ck-[r|g|b]min=<0\-255>
-Minimalwert für den entsprechenden Farbschlüssel
-.IPs ck-[r|g|b]max=<0\-255>
-Maximalwert für den entsprechenden Farbschlüssel
-.IPs ignore-cache
-Ignoriere die zwischengespeicherten Overlay-Einstellungen.
-.IPs update-cache
-Aktualisiere die zwischengespeicherten Overlay-Einstellungen.
-.IPs ol-osd
-Aktiviert Overlay-Onscreen-Anzeige.
-.IPs nool-osd
-Deaktiviert Overlay-Onscreen-Anzeige (Standard).
-.IPs ol[h|b|x|y]-cor=<Wert>
-Passt die Overlay-Größe (h,b) und Position (x,y) an, falls es nicht
-ganz dem Fenster entspricht (Standard: 0).
-.IPs overlay
-Aktiviere das Overlay (Standard).
-.IPs nooverlay
-Aktiviere die TV-Ausgabe.
-.IPs overlay-ratio=<1\-2500>
-Verfeinert das Overlay (Standard: 1000).
-.RE
-.
-.TP
-.B \-fbmode <Modusname> (nur bei \-vo fbdev)
-Wechselt in den angegebenen Videomodus, der als <Modusname> in
-/etc/\:fb.modes steht.
-.br
-.I ANMERKUNG:
-Der VESA-Framebuffer unterstützt den Moduswechsel nicht.
-.
-.TP
-.B \-fbmodeconfig <Dateiname> (nur bei \-vo fbdev)
-Überschreibt die Einstellung für die Konfigurationsdatei des Framebuffers
-(Standard: /etc/\:fb.modes).
-.
-.TP
-.B \-fs (siehe auch \-zoom)
-Vollbildwiedergabe (zentriert den Film und erstellt schwarze Balken rund um
-das Bild).
-Wird nicht von allen Videoausgabetreibern unterstützt.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (VERALTET) (benutze die Option \-fs)
-Benutze diese Option, wenn du mit dem Vollbildmodus Probleme hast.
-.
-.TP
-.B \-fstype <Typ1,Typ2,...> (nur bei X11)
-Gib eine Prioritätenliste von Vollbildmodi an, die benutzt
-werden sollen.
-Du kannst die Modi durch Voransetzen von '\-' negieren.
-Falls du das Problem hast, dass das Vollbild von anderen Fenstern überdeckt
-wird, probiere eine andere Reihenfolge.
-.br
-.I ANMERKUNG:
-Siehe \-fstype help für eine vollständige Liste aller verfügbaren Modi.
-.sp 1
-Die verfügbaren Modi sind:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-Benutze die _NETWM_STATE_ABOVE-Anweisung, falls verfügbar.
-.IPs below
-Benutze die _NETWM_STATE_BELOW-Anweisung, falls verfügbar.
-.IPs fullscreen
-Benutze die _NETWM_STATE_FULLSCREEN-Anweisung, falls verfügbar.
-.IPs layer
-Benutze die _WIN_LAYER-Anweisung mit dem Standard-Layer.
-.IPs layer=<0...15>
-Benutze die _WIN_LAYER-Anweisung mit der angegebenen Layernummer.
-.IPs netwm
-Erzwinge den NETWM-Stil.
-.IPs "none\ "
-Richte den Vollbild-Fenster-Layer nicht ein.
-.IPs stays_on_top
-Benutze die _NETWM_STATE_STAYS_ON_TOP-Anweisung, falls verfügbar.
-.REss
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-Standardreihenfolge; wird benutzt, wenn falsche oder nichtunterstützte Modi
-angegeben werden.
-.IPs \-fullscreen
-Korrigiert den Vollbildwechsel bei OpenBox 1.x.
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] oder [BxH][+x+y]
-Gibt an, wo die Videoausgabe initial erscheint.
-x und y sind Angaben in Pixeln und geben den Abstand von der linken oberen
-Ecke des Bildschirms zur linken oberen Ecke des darzustellenden
-Bildes an.
-Wenn ein Prozentzeichen nach einem Argument verwendet wird, dann wird statt
-dessen die prozentuale Bildschirmbreite/\:-höhe in diese Richtung verwendet.
-Auch das bei der X-Standardoption \-geometry verwendete Format wird
-unterstützt.
-Falls ein externes Fenster mit der Option \-wid angegeben wird, so sind die
-Koordinaten x und y relativ zur linken oberen Ecke des Fensters und nicht zu
-der des Bildschirms.
-.br
-.I ANMERKUNG:
-Diese Option wird nur von x11-, xmga-, xv-, xvmc-, xvidix-, gl, gl2,
-directx-, fbdev- und tdfxfb-Videoausgabetreibern unterstützt.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs 50:40
-Platziert das Fenster bei x=50, y=40.
-.IPs 50%:50%
-Platziert das Fenster in der Mitte des Bildschirms.
-.IPs "100%\ "
-Platziert das Fenster in der Mitte des rechten Randes des Bildschirmes.
-.IPs 100%:100%
-Platziert das Fenster in der unteren rechten Ecke des Bildschirmes.
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <Fenster-ID> (siehe auch \-wid) (nur bei GUI)
-Weist die GUI an, auch ein X11-Fenster zu benutzen und sich selbst an die
-Unterseite des Videos zu heften, was nützlich ist beim Einbetten einer Mini-GUI
-in einen Browser (z.B.\& mit dem MPlayer-Plugin).
-.
-.TP
-.B \-hue <\-100\-100>
-Passt die Farbe des Videosignals an (Standard: 0).
-Du kannst mit dieser Option Negativfarben erhalten.
-Wird nicht von allen Videoausgabetreibern unterstützt.
-.
-.TP
-.B \-monitor\-dotclock <Bereich[,Bereich,...]> (nur bei \-vo fbdev und vesa)
-Gib den Bereich für dotclock oder pixelclock des Monitors an.
-.
-.TP
-.B \-monitor\-hfreq <Bereich[,Bereich,...> (nur bei \-vo fbdev und vesa)
-Gibt den Bereich für den horizontalen Frequenzbereich des Monitors an.
-.
-.TP
-.B \-monitor\-vfreq <Bereich[,Bereich,...> (nur bei \-vo fbdev und vesa)
-Gibt den Bereich für den vertikalen Frequenzbereich des Monitors an.
-.
-.TP
-.B \-monitoraspect <Verhältnis> (siehe auch \-aspect)
-Gibt das Höhen-/\:Breitenverhältnis deines Monitors oder Fernsehers an.
-Der Wert 0 schaltet frühere Einstellungen (z.B.\& in der config Datei) aus.
-Überschreibt bei Verwendung die Einstellung von \-monitorpixelaspect.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-\-monitoraspect 4:3 oder 1.3333
-.br
-\-monitoraspect 16:9 oder 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <ratio> (siehe auch \-aspect)
-Setze den Aspekt eines einzelnen Pixels deines Monitors oder TV-Schirms
-(Standard: 1).
-Ein Wert von 1 bedeutet quadratische Pixel (korrekt für (fast?) alle LCDs).
-.
-.TP
-.B \-nodouble
-Deaktiviert Double-Buffering, hauptsächlich für Debugging-Zwecke.
-Double-Buffering vermeidet Flimmern dadurch, dass zwei Bilder im Speicher
-gehalten werden, von denen das eine angezeigt wird, während das andere noch
-decodiert wird.
-Es kann das OSD negativ beeinflussen, entfernt aber oft Flimmern des OSD.
-.
-.TP
-.B \-nograbpointer
-Übernimm den Mauszeiger nach einem Wechsel des Videomodus (mit \-vm)
-nicht.
-Nützlich bei Multihead-Einrichtungen.
-.
-.TP
-.B \-nokeepaspect
-Behalte beim Ändern der Fenstergröße das
-Höhen-/\:Breitenverhältnis nicht bei.
-Funktioniert nur mit den x11-, xv-, xmga-, xvidix- und
-directx-Videoausgabetreibern.
-Außerdem muss dein Windowmanager unter X11 Anweisungen zum
-Fenster-Seitenverhältnis verstehen.
-.
-.TP
-.B "\-ontop\ "
-Sorgt dafür, dass das Abspielfenster oberhalb von anderen Fenstern bleibt.
-Wird unterstützt von Videoausgabetreibern, die X11 benutzen, außer SDL,
-außerdem directx, corevideo, quartz, ggi und gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-Aktiviert Panscan.
-Dabei werden z.B.\& bei einem 16:9-Film und einem 4:3-Monitor die Seiten
-abgeschnitten, damit der komplette Bildbereich ausgefüllt wird.
-Der Bereich kontrolliert, wieviel vom Bild abgeschnitten wird.
-Dies funktioniert nur mit den xv-, xmga-, mga-, gl-, gl2, quartz-, corevideo- und
-xvidix-Videoausgabetreibern.
-.br
-.I ANMERKUNG:
-Werte zwischen \-1 und 0 sind auch erlaubt, jedoch höchst experimentell
-und können zu Abstürzen oder schlimmerem führen.
-Benutzung auf eigenes Risiko!
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (experimentell)
-Ändert den Bereich der Panscan-Funktion (Standard: 1).
-Positive Werte bedeuten ein Vielfaches des Standardbereichs.
-Negative Zahlen bedeuten einen Zoom bis zum Faktor \-panscanrange+1.
-Z.B.\& erlaubt \-panscanrange \-3 eine bis zu 4-fache Vergrößerung.
-Diese Funktionalität ist experimentell.
-Melde keine Fehler, wenn du nicht \-vo gl benutzt.
-.
-.TP
-.B \-refreshrate <Hz>
-Setze die Bildwiederholfrequenz des Monitors in Hz.
-Momentan nur unterstützt von \-vo directx kombiniert mit der Option \-vm.
-.
-.TP
-.B \-rootwin
-Spielt den Film im Hauptfenster (dem Desktophintergrund) ab.
-Desktophintergrundbilder können den Film allerdings verdecken.
-Funktioniert nur mit den x11-, xv-, xmga-, xvidix-, quartz-, corevideo- und
-directx-Videoausgabetreibern.
-.
-.TP
-.B \-saturation <\-100\-100>
-Passt die Sättigung des Videosignals an (Standard: 0).
-Es ist möglich, dass du mit dieser Option ein Graustufenbild bekommst.
-Wird nicht von allen Videoausgabetreibern unterstützt.
-.
-.TP
-.B \-screenh <Pixel>
-Gib die Bildschirmhöhe für Videoausgabetreiber an, die die
-Bildschirmauflösung nicht kennen, wie fbdev, x11 und TV-Ausgabe.
-.
-.TP
-.B \-screenw <Pixel>
-Gib die Bildschirmbreite für Videoausgabetreiber an, die die
-Bildschirmauflösung nicht kennen, wie fbdev, x11 und TV-Ausgang.
-.
-.TP
-.B \-stop\-xscreensaver (nur bei X11)
-Deaktiviert den Bildschirmschoner beim Start von MPlayer und aktiviert ihn
-beim Beenden wieder.
-Wenn dein Bildschirmschoner weder XSS- noch XResetScreensaver-API unterstützt,
-verwende statt dessen die Option \-hearbeat\-cmd.
-.
-.TP
-.B "\-vm \ \ \ "
-Versucht, in einen anderen Videomodus zu wechseln.
-Unterstützt von dga-, x11, xv-, sdl- und directx-Videoausgabetreibern.
-In Verbindung mit dem directx-Videoausgabetreiber können die Optionen
-\-screenw, \-screenh, \-bpp und \-refreshrate benutzt werden, um den neuen
-Anzeigemodus zu setzen.
-.
-.TP
-.B "\-vsync \ \ "
-Aktiviert VBI für vesa-, dfbmga- und svga-Videoausgabetreiber.
-.
-.TP
-.B \-wid <Fenster-ID> (siehe auch \-guiwid) (nur bei X11, OpenGL und DirectX)
-Weist MPlayer an, sich an ein bestehendes X11-Fenster zu binden, was
-beispielsweise nützlich ist, um MPlayer in einen Browser einzubetten (z.B.\&
-mit der plugger-Erweiterung).
-.
-.TP
-.B \-xineramascreen <\-2\-...>
-Bei Xinerama-Konfigurationen (z.B.\& bei einem einzigen Desktop, der sich
-über mehrere Monitore erstreckt) gibt diese Option an, auf welchem Schirm
-das Video angezeigt werden soll.
-Wert \-2 steht für die Wiedergabe auf dem gesamten virtuellen Display (in
-diesem Falle werden Xinerama-Informationen komplett ignoriert), \-1
-steht für Vollbildwiedergabe auf dem Display, das das aktuelle Fenster anzeigt.
-Die mit der Option \-geometry gesetzte Initialposition ist relativ zum
-angegebenen Bildschirm.
-Wird normalerweise nur mit "\-fstype \-fullscreen" oder "\-fstype none"
-funktionieren.
-Diese Option ist nicht geeignet, nur das Startbild zu setzen (denn es wird auf
-dem angegebenen Bildschirm immer im Vollbildmodus dargestellt), \-geometry ist
-für diesen Zweck momentan die beste
-zur Verfügung stehende Option.
-Unterstützt von den Videoausgabetreibern gl, gl2, x11 und xv.
-.
-.TP
-.B \-zrbw (nur bei \-vo zr)
-Anzeige in schwarz/weiß.
-Für optimale Performance kann dies mit der Option '\-lavdopts gray'
-kombiniert werden.
-.
-.TP
-.B \-zrcrop <[Breite]x[Höhe]+[x Offset]+[y Offset]> (nur bei \-vo zr)
-Wählt den anzuzeigenden Teilausschnitt des Bildes.
-Wird diese Option mehrmals angegeben, so aktiviert sie den Cinerama-Modus.
-Im Cinerama-Modus wird der Film auf mehr als einen Fernseher (oder Beamer)
-verteilt, um insgesamt eine größere Anzeigefläche zu erhalten.
-Optionen, die nach dem n-ten \-zrcrop erscheinen, gelten für die
-n-te MJPEG-Karte.
-Für jede Karte sollte zusätzlich zu \-zrcrop ein \-zrdev angegeben werden.
-Beispiele befinden sich in der Zr-Sektion der Dokumentation oder in der
-Ausgabe von \-zrhelp.
-.
-.TP
-.B \-zrdev <Gerät> (nur bei \-vo zr)
-Gibt die zu deiner MJPEG-Karte gehörende Gerätedatei an.
-Standardmäßig verwendet der zr-Videoausgabetreiber das erste v4l-Gerät, das
-er findet.
-.
-.TP
-.B \-zrfd (nur bei \-vo zr)
-Erzwungene Dezimierung: Dezimierung, wie mit \-zrhdec und \-zrvdec angegeben.
-Wird nur angewandt, wenn der Hardwareskalierer das Bild wieder auf seine
-ursprüngliche Größe ausdehnen kann.
-Benutze diese Option, um Dezimierung zu erzwingen.
-.
-.TP
-.B \-zrhdec <1|2|4> (nur bei \-vo zr)
-Horizontale Dezimierung: Weist den Treiber an, nur jede zweite
-oder vierte Zeile/\:Pixel des Bildes an die MJPEG-Karte zu schicken und
-den Hardwareskalierer der MJPEG-Karte dazu zu benutzen, das Bild wieder
-auf seine Urpsrungsgröße auszudehnen.
-.
-.TP
-.B \-zrhelp (nur bei \-vo zr)
-Zeigt eine Liste aller \-zr*\-Optionen, ihre Standardwerte und ein Beispiel
-für den Cinerama-Modus an.
-.
-.TP
-.B \-zrnorm <Norm> (nur bei \-vo zr)
-Gib die Fernsehnorm PAL oder NTSC an (Standardwert: keine Änderung).
-.
-.TP
-.B \-zrquality <1\-20> (nur bei \-vo zr)
-Eine Nummer von 1 (beste) bis 20 (schlechteste), die die
-JPEG-Encodierungsqualität angibt.
-.
-.TP
-.B \-zrvdec <1|2|4> (nur bei \-vo zr)
-Horizontale Dezimierung: Weist den Treiber an, nur jede zweite
-oder vierte Spalte/\:Pixel des Bildes an die MJPEG-Karte zu schicken und
-den Hardwareskalierer der MJPEG-Karte dazu zu benutzen, das Bild wieder
-auf seine Urpsrungsgröße auszudehnen.
-.
-.TP
-.B \-zrxdoff <x Anzeige-Offset> (nur bei \-vo zr)
-Wenn das Bild kleiner als der Fernsehbildschirm ist, gibt diese
-Option die Bildposition relativ zur oberen linken Ecke des Fernsehers
-an (Standard: zentriert).
-.
-.TP
-.B \-zrydoff <y Anzeige-Offset> (nur bei \-vo zr)
-Wenn das Bild kleiner als der Fernsehbildschirm ist, gibt diese
-Option die Bildposition relativ zur oberen linken Ecke des Fernsehers
-an (Standard: zentriert).
-.
-.
-.
-.SH "VIDEOAUSGABETREIBER (NUR BEI MPLAYER)"
-Videoausgabetreiber sind Schnittstellen zu verschiedenen
-Videoausgabe-Einrichtungen.
-Die Syntax ist folgende:
-.
-.TP
-.B \-vo <Treiber1[:Suboption1[=Wert]:...],Treiber2,...[,]>
-Gibt eine Prioritätenliste der zu verwendenden Videoausgabetreiber an.
-.PP
-Wenn die Liste mit ',' endet, so werden notfalls auch nicht in der
-Kommandozeile aufgeführte Treiber benutzt.
-Suboptionen sind optional und können hauptsächlich weggelassen werden.
-.br
-.I ANMERKUNG:
-Eine Liste der eincompilierten Videotreiber erhältst du mit \-vo help.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Versuche zuerst den Matrox-X11-Treiber, dann den Xv-Treiber, dann andere.
-.IPs "\-vo directx:noaccel"
-Benutzt den DirectX-Treiber mit abgeschalteten Beschleunigungs-Features.
-.RE
-.PD 1
-.sp 1
-Folgende Videoausgabetreiber sind verfügbar:
-.
-.TP
-.B xv (nur bei X11)
-Benutzt die XVideo-Erweiterung von XFee86 4.x, um hardwarebeschleunigtes
-Abspielen zu ermöglichen.
-Wenn du keinen hardwarespezifischen Treiber wählen kannst, ist dies für dich
-vermutlich die beste Wahl.
-Für Informationen darüber, welcher Farbschlüssel benutzt wird und wie er
-dargestellt wird, starte MPlayer mit der Option \-v und suche in der Ausgabe
-Zeilen, die am Anfang mit [xv common] gekennzeichnet sind.
-.PD 0
-.RSs
-.IPs adaptor=<Nummer>
-Wähle einen bestimmten XVideo-Adapter (siehe xvinfo-Ergebnisse).
-.IPs port=<Nummer>
-Wähle einen bestimmten XVideo-Port.
-.IPs ck=<cur|use|set>
-Wählt die Quelle, von der der Farbschlüssel genommen wird (Standard: cur).
-.RSss
-.IPs cur
-Benutzt den aktuell in Xv gesetzten Farbschlüssel.
-.IPs use
-Benutze, setze aber nicht den Farbschlüssel von MPlayer (benutze die Option
-\-colorkey, um dies zu ändern).
-.IPs set
-Das gleiche wie bei der Option use, setzt jedoch auch den gelieferten
-Farbschlüssel.
-.RE
-.IPs ck-method=<man|bg|auto>
-Setzt die Zeichenmethode für den Farbschlüssel (Standard: man).
-.RSss
-.IPs man
-Zeichne den Farbschlüssel manuell (reduziert in manchen Fällen Flimmern).
-.IPs bg
-Setze den Farbschlüssel als Fensterhintergrund.
-.IPs auto
-Lässt Xv den Farbschlüssel zeichnen.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (nur bei X11)
-Ein Videoausgabetreiber mit Shared Memory ohne Hardwarebeschleunigung, der
-immer funktioniert, wenn X11 läuft.
-.
-.TP
-.B xover (nur bei X11)
-Ergänzt alle Overlay-basierten Treiber um X11-Unterstützung.
-Momentan nur von tdfx_vid unterstützt.
-.PD 0
-.RSs
-.IPs <vo_Treiber>
-Wähle den Treiber, der als Quelle für das auf X11 aufsetzende Overlay benutzt
-werden soll.
-.RE
-.PD 1
-.
-.TP
-.B xvmc (nur bei X11 mit \-vc ffmpeg12mc)
-Ein Videoausgabetreiber, der die XvMC- (X Video Motion Compensation)
-Unterstützung von XFree86 4.x benutzt, um das Decodieren von MPEG-1/\:2 und
-VCR2 zu beschleunigen.
-.PD 0
-.RSs
-.IPs adaptor=<Nummer>
-Wähle einen bestimmten XVideo-Adapter (siehe xvinfo-Ergebnisse).
-.IPs port=<Nummer>
-Wählt einen speziellen XVideo-Port.
-.IPs (no)benchmark
-Deaktiviert die Anzeige von Bildern.
-Benötigt für einwandfreies Benchmarking von Treibern, die den Bildpuffer nur
-bei einem Monitor-Retrace ändern (nVidia).
-Voreinstellung ist, die Bildwiedergabe nicht zu deaktivieren (nobenchmark).
-.IPs (no)bobdeint
-Sehr einfacher Deinterlacer.
-Sieht möglicherweise nicht besser als \-vf tfields=1 aus, ist aber
-der einzige Deinterlacer, der mit xvmc funktioniert (Standard: nobobdeint).
-.IPs (no)queue
-Frames werden in einer Queue angeordnet, um der Videohardware weitergehendes
-paralleles Arbeiten zu ermöglichen.
-Dies kann eine geringe konstante (nicht bemerkbare) A/V-Desynchronisation mit
-sich bringen (Standard: noqueue).
-.IPs (no)sleep
-Benutze die Sleep-Funktion, während auf Beendigung des Renderns gewartet
-wird (nicht empfohlen unter Linux) (Standard: nosleep).
-.IPs ck=cur|use|set
-Das gleiche wie \-vo xv:ck (siehe \-vo xv).
-.IPs ck-method=man|bg|auto
-Das gleiche wie die \-vo xv:ck-Methode (siehe \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B dga (nur bei X11)
-Gib das Video über die Direct Graphics Access-Erweiterung von XFree86 aus.
-Wird als veraltet betrachtet.
-.
-.TP
-.B sdl (nur bei SDL, fehlerhaft/veraltet)
-Höchst-plattformunabhängiger Videoausgabetreiber der SDL-Bibliothek (Simple
-Directmedia Layer).
-Da SDL einen eigenen X11-Layer benutzt, haben die X11-Optionen von MPlayer
-keine Wirkung auf SDL.
-Beachte, dass es mehrere kleine Bugs gibt (\-vm/\-novm wird größtenteils
-ignoriert, \-fs verhält sich so wie \-novm es sollte, das Fenster ist
-in der oberen linken Ecke, wenn man aus dem Vollbildmodus
-zurückkehrt, Panscan wird nicht unterstützt...)
-.PD 0
-.RSs
-.IPs driver=<Treiber>
-Wähle den zu benutzenden SDL-Treiber explizit.
-.IPs (no)forcexv
-Erzwingt die Benutzung von XVideo über den SDL-Videoausgabetreiber (Standard:
-forcexv).
-.IPs (no)hwaccel
-Benutze den hardwarebeschleunigten Skalierer (Standard: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface für *niX) ist eine Schnittstelle zu den
-Videobeschleunigungsfunktionen verschiedener Grafikkarten.
-Sehr schneller Videoausgabetreiber bei Karten, die dies unterstützen.
-.PD 0
-.RSs
-.IPs <Subdevice>
-Wähle explizit einen VIDIX-Subdevice-Treiber, der benutzt werden soll.
-Verfügbare Subdevice-Treiber sind cyberblade, ivtv, mach64,
-mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
-sis_vid und unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (nur bei X11)
-X11-Frontend für VIDIX
-.PD 0
-.RSs
-.IPs <Subdevice>
-das gleich wie bei vidix
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-Generisches, plattformunabhängiges VIDIX-Frontend, das mit nVidia-Karten sogar
-in der Konsole läuft.
-.PD 0
-.RSs
-.IPs <Subdevice>
-das gleich wie bei vidix
-.RE
-.PD 1
-.
-.TP
-.B winvidix (nur bei Windows)
-Windows-Frontend für VIDIX
-.PD 0
-.RSs
-.IPs <Subdevice>
-das gleich wie bei vidix
-.RE
-.PD 1
-.
-.TP
-.B direct3d (nur bei Windows) (BETA-Code!)
-Videoausgabetreiber, der das Direct3D-Interface verwendet (nützlich für Vista).
-.
-.TP
-.B directx (nur bei Windows)
-Videoausgabetreiber, der die DirectX-Schnittstelle benutzt.
-.PD 0
-.RSs
-.IPs noaccel
-Schaltet Hardwarebeschleunigung ab.
-Probiere diese Option bei Problemen mit der Darstellung.
-.RE
-.PD 1
-.
-.TP
-.B quartz (nur bei Mac OS X)
-Mac OS X Quartz-Videoausgabetreiber.
-Unter manchen Umständen mag es effizienter sein, ein komprimiertes
-YUV-Ausgabeformat zu erzwingen, z.B.\& mit \-vf format=yuy2.
-.PD 0
-.RSs
-.IPs device_id=<Nummer>
-Wähle ein Gerät für die Darstellung im Vollbildmodus.
-.IPs fs_res=<Breite>:<Höhe>
-Gib die Auflösung im Vollbildmodus an (nützlich auf langsamen Systemen).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 oder 10.3.9 mit QuickTime 7)
-Mac OS X CoreVideo-Videoausgabetreiber
-.PD 0
-.RSs
-.IPs device_id=<Nummer>
-Wähle das Anzeigegerät für die Vollbildwiedergabe.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (nur bei Linux)
-Benutze für die Videoausgabe den Kernel-Framebuffer.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wähle explizit das zu benutzende fbdev-Gerät (z.B.\& /dev/\:fb0) oder das
-VIDIX-Subdevice, falls der Gerätename mit 'vidix' beginnt
-(z.B.\& 'vidixsis_vid' beim SIS-Treiber).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (nur bei Linux)
-Benutze für die Videoausgabe den Kernel-Framebuffer, alternative
-Implementation.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wähle das zu benutzende fbdev-Gerät explizit. (Standard: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Sehr genereller Videoausgabetreiber, der mit jeder VESA VBE 2.0-kompatiblen
-Karte funktionieren sollte.
-.PD 0
-.RSs
-.IPs (no)dga
-Schaltet den DGA-Modus ein oder aus (Standard: ein).
-.IPs neotv_pal
-Aktiviere die TV-Ausgabe von NeoMagic und setze die Norm auf PAL.
-.IPs neotv_ntsc
-Aktiviere die TV-Ausgabe von NeoMagic und setze die Norm auf NTSC.
-.IPs vidix
-Benutze den VIDIX-Treiber.
-.IPs "lvo:\ \ \ "
-Aktiviere das auf dem VESA-Modus aufsetzende Linux-Video-Overlay.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-Gib das Video über die SVGA-Bibliothek aus.
-.PD 0
-.RSs
-.IPs "<Videomodus>"
-Gib den zu benutzenden Videomodus an.
-Der Modus kann angegeben werden im Format <Breite>x<Höhe>x<Farben>, z.B.\&
-640x480x16M, oder per Grafikmodusnummer, z.B.\& 84.
-.IPs bbosd
-Zeigt das OSD in den schwarzen Rändern des Films an (langsamer).
-.IPs native
-Benutze nur native Darstellungsfunktionen.
-Dies verhindert direktes Rendern, OSD und Hardwarebeschleunigung.
-.IPs retrace
-Erzwingt Frame-Wechsel bei vertikalem Retrace.
-Nur benutzbar mit \-double.
-Dies hat denselben Effekt wie die Option \-vsync.
-.IPs "sq\ \ \ "
-Versucht, einen Videomodus mit quadratischen Pixeln zu wählen.
-.IPs vidix
-Benutze svga mit VIDIX.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-OpenGL-Videoausgabetreiber, einfache Version.
-Die Videogröße muss kleiner
-sein als die maximale Texturgröße deiner OpenGL-Implementierung.
-Es ist beabsichtigt, auch mit den einfachsten OpenGL-Implementierungen zu
-funktionieren, benutzt aber auch neuere Erweiterungen, die mehr Farbräume
-und direct rendering ermöglichen.
-Probiere für optimale Geschwindigkeit etwas ähnliches wie
-.br
-\-vo gl:yuv=2:rectangle=2:force\-pbo:ati\-hack \-dr \-noslices
-.br
-Dieser Code macht nur sehr wenige Fehlerüberprüfungen, falls also ein Feature
-nicht funktioniert liegt das vieleicht an fehlender Unterstützung durch deine
-Grafiktreiber/OpenGL-Implementierung, auch wenn du keine Fehlermeldung
-bekommst.
-Benutze glxinfo oder ein ähnliches Tool um dir die unterstützten
-OpenGL-Erweiterungen anzeigen zu lassen.
-.PD 0
-.RSs
-.IPs (no)ati\-hack
-ATI\-Treiber können ein korruptes Bild liefern, wenn PBOs verwendet werden
-(wenn \-dr oder force\-pbo verwendet wird).
-Diese Option behebt diesen Fehler auf Kosten von etwas mehr Speicher.
-.IPs (no)force\-pbo
-Verwende immer PBOs, um Texturen zu transferieren, selbst wenn dies eine extra
-Kopie involviert.
-Momentan bewirkt dies einen geringen Geschwindigkeitsvorteil mit
-NVidia\-Treibern und einen großen mit ATI\-Treibern.
-Benötigt möglicherweise \-noslices und die Suboption ati\-hack, um richtig zu
-funktionieren.
-.IPs (no)scaled-osd
-Ändert das Verhalten des OSD bei Änderung der Fenstergröße (Standard:
-deaktiviert).
-Falls aktiviert ist das Verhalten den anderen Videoausgabetreibern ähnlicher,
-was bei Schriftarten mit fester Größe besser ist.
-Deaktiviert sieht es mit FreeType-Schriftarten besser aus und benutzt im
-Vollbildmodus die Ränder.
-Funktioniert momentan nicht mit ass-Untertiteln (siehe \-ass), du kannst sie
-statt dessen jedoch ohne OpenGL-Unterstützung mit \-vf ass darstellen lassen.
-.IPs osdcolor=<0xAARRGGBB>
-Farbe für das OSD (Standard: 0x00ffffff, entspricht nicht-transparentem weiß).
-.IPs rectangle=<0,1,2>
-Wähle einen bestimmten Typ für rechtwinklige Texturen aus.
-Dies spart Grafikspeicher, ist aber oft langsamer (Standard: 0).
-.RSss
-0: Benutze Texturen mit einer Größe, die eine Potenz von 2 ist (Standard).
-.br
-1: Benutze die GL_ARB_texture_rectangle-Erweiterung.
-.br
-2: Benutze die GL_ARB_texture_non_power_of_two-Erweiterung.
-Dies wird manchmal nur durch Software emuliert und ist dann sehr langsam.
-.RE
-.IPs swapinterval=<n>
-Minimales Intervall zwischen zwei Pufferwechseln, in angezeigten Bildern
-(Standard: 1).
-1 entspricht dem Einschalten von VSYNC, 0 dem Ausschalten von VSYNC.
-Werte unter 0 belassen es bei der systemweiten Voreinstellung.
-Dies limitiert die Framerate auf (horizontale Refresh-Rate / n).
-Benötigt GLX_SGI_swap_control-Unterstützung, um zu funktionieren.
-Bei manchen (den meisten/allen?) Implementierungen funktioniert dies nur im
-Vollbildmodus.
-.IPs yuv=<n>
-Wählt den Typ der Umwandlung von YUV nach RGB aus.
-.RSss
-0: Benutze Softwareumwandlung (Standard).
-Funktioniert mit allen OpenGL-Versionen.
-Ermöglicht Helligkeits-, Kontrast- und Sättigungseinstellung.
-.br
-1: Benutze register combiners.
-Dies benutzt eine nVidia-spezifische Erweiterung (GL_NV_register_combiners).
-Es werden mindestens drei Textureinheiten benötigt.
-Ermöglicht Sättigungs- und Farbwerteinstellung.
-Diese Methode ist schnell aber ungenau.
-.br
-2: Benutze ein Fragmentprogramm.
-Benötigt die GL_ARB_fragment_program-Erweiterung und mindestens drei
-Textureinheiten.
-Ermöglicht Helligkeits-, Kontrast-, Sättigungseinstellung und
-Farbwertkorrektur.
-.br
-3: Benutze ein Fragmentprogramm, das die POW-Instruktion benutzt.
-Benötigt die GL_ARB_fragment_program-Erweiterung und mindestens drei
-Textureinheiten.
-Ermöglicht Helligkeits-, Kontrast-, Sättigungs-,
-Farbwert- und Gammaeinstellung.
-Gamma kann für Rot, Grün und Blau unterschiedlich gesetzt werden.
-Methode 4 ist meist schneller.
-.br
-4: Benutze ein Fragmentprogramm mit Tabelle.
-Benötigt die GL_ARB_fragment_program-Erweiterung und mindestens vier
-Textureinheiten.
-Ermöglicht Helligkeits-, Kontrast-, Sättigungs-,
-Farbwert- und Gammaeinstellung.
-Gamma kann für Rot, Grün und Blau unterschiedlich gesetzt werden.
-.br
-5: Benutze ATI-spezifische Methode (für ältere Karten)
-Benutzt eine ATI-spezifische Erweiterung (GL_ATI_fragment_shader \- nicht
-GL_ARB_fragment_shader!).
-Mindestens drei Textureinheiten werden benötigt.
-Ermöglicht Sättigungs- und Farbwerteinstellung.
-Diese Methode ist schnell aber ungenau.
-.br
-6: Benutze eine 3D-Textur für die Konvertierung via Nachschlagetabelle.
-Benötigt die GL_ARB_fragment_program-Erweiterung und mindestens vier
-Textureinheiten.
-Extrem langsam (Softwareemulation) auf manchen (allen?) ATI-Karten, da es eine
-Textur mit Randpixeln verwendet.
-Stellt Kontrolle über Helligkeit, Kontrast, Sättigung, Farbton und Gamma
-bereit.
-Gamma kann außerdem unabhängig für rot, grün und blau gesetzt werden.
-Die Geschwindigkeit hängt mehr von der Speicherbandbreite der GPU ab als
-andere Methoden.
-.RE
-.IPs ycbcr
-Verwende die GL_MESA_ycbcr_texture-Erweiterung, um YUV nach RGB zu konvertieren.
-Dies ist in den meisten Fällen vermutlich langsamer als eine Konvertierung zu
-RGB in Software.
-.IPs lscale=<n>
-Wählt die zu benutzende Skalierungsmethode für Luminanzskalierung.
-Nur gültig für yuv-Modi 2, 3, 4 und 6.
-.RSss
-0: Benutze einfache lineare Filterung (Standard).
-.br
-1: Benutze bikubische B-Spline-Filterung (bessere Qualität).
-Benötigt eine zusätzliche Textureinheit.
-Ältere Karten werden dies für Chrominanz zumindest im Vollbildmodus nicht
-verarbeiten können.
-.br
-2: Benutze kubische Filterung in horizontaler, lineare Filterung in vertikaler
-Richtung.
-Funktioniert auf ein paar mehr Karten als Methode 1.
-.br
-3: Das gleiche wie 1, verwendet aber keine Lookup-Textur.
-Ist auf manchen Karten möglicherweise schneller.
-.br
-4: Verwende experimentelle unscharfe Maskierung mit 3x3-Unterstützung und einer
-Standardstärke von 0.5.
-5: Verwende experimentelle unscharfe Maskierung mit 5x5-Unterstützung und einer
-Standardstärke von 0.5.
-.RE
-.IPs cscale=<n>
-Wählt die zu benutzende Skalierungsmethode für Chrominanzskalierung.
-Für Details siehe lscale.
-.IPs filter-strength=<Wert>
-Setze die Effektstärke für diejenigen lscale/cscale-Filter, die dies
-unterstützen.
-.IPs customprog=<Dateiname>
-Lädt ein eigenes Fragmentprogramm aus <Dateiname>.
-Siehe TOOLS/\:edgedetect.fp als Beispiel.
-.IPs customtex=<Dateiname>
-Lädt eine eigene "gamma ramp"-Textur aus <Dateiname>.
-Kann zusammen mit yuv=4 oder mit der customprog-Option benutzt werden.
-.IPs (no)customtlin
-Wenn aktiviert (Standard), benutze für die customtex-Textur
-GL_LINEAR-Interpolation, benutze sonst GL_NEAREST.
-.IPs (no)customtrect
-Wenn aktiviert, benutze für die customtex-Textur texture_rectangle.
-Standardeinstellung ist deaktiviert.
-.RE
-.sp 1
-.RS
-Normalerweise gibt es keinen Grund, die folgenden Optionen zu verwenden.
-Sie sind hauptsächlich für Testzwecke.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-Rufe glFinish() vor dem Wechsel der Puffer auf.
-Langsamer, aber sorgt manchmal für korrektere Ausgabe (Standard: aus).
-.IPs (no)manyfmts
-Schaltet die Unterstütztung für mehr (RGB und BGR) Farbformate.
-Benötigt eine OpenGL-Version >= 1.2.
-.IPs slice-height=<0\-...>
-Anzahl der Linien, die an einem Stück zur Textur kopiert werden (Standard: 0).
-0 für ganzes Bild.
-.br
-.I ANMERKUNG:
-Falls der YUV-Farbraum benutzt wird (siehe yuv-Unteroption), gilt folgendes:
-.RSss
-Wenn der Dekoder in Streifen rendert (siehe \-noslices), dann hat diese
-Einstellung keinen Effekt, die Streifengröße des Dekoders wird benutzt.
-.br
-Wenn der Dekoder nicht in Streifen rendert, dann ist die Standardeinstellung
-16.
-.RE
-.IPs (no)osd
-(De)aktiviere die Unterstützung für das Rendern des OSD via OpenGL (Standard:
-aktiviert).
-Hauptsächlich für Testzwecke, Du solltest \-osdlevel 0 benutzen, um OSD zu
-deaktivieren.
-.IPs (no)aspect
-(De)aktiviert die Skalierung des Aspekts und die Unterstützung für Panscan
-(Standard: aktiviert).
-Deaktivierung kann die Geschwindigkeit möglicherweise erhöhen.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Variante des OpenGL\-Videoausgabetreibers.
-Unterstützt Videos, die größer als die maximale Texturgröße sind, aber es
-fehlen viele der erweiterten Features und Optimierungen des gl\-Treibers, und
-es ist unwahrscheinlich, dass dieser Treiber erweitert wird.
-.PD 0
-.RSs
-.IPs (no)glfinish
-das gleiche wie bei gl (Standard: aktiviert)
-.IPs yuv=<n>
-Wählt den Typ der Umwandlung von YUV nach RGB aus.
-Bei anderen Werten als 0 wird das OSD deaktiviert und Helligkeits-, Kontrast-
-und Gammaeinstellung ist nur über die globale X-Server-Einstellung möglich.
-Davon abgesehen ist die Bedeutung dieselbe wie bei \-vo gl.
-.REss
-.
-.TP
-.B "null\ \ \ "
-Produziert keine Videoausgabe.
-Nützlich für Benchmarking-Zwecke.
-.
-.TP
-.B "aa\ \ \ \ \ "
-ASCII-Art-Videoausgabetreiber, der auf einer Textkonsole funktioniert.
-Du bekommst eine Liste mit allen Optionen und ihren Erläuterungen
-mit 'mplayer \-vo aa:help'.
-.br
-.I ANMERKUNG:
-Dieser Treiber kann nicht richtig mit \-aspect umgehen.
-.br
-.I TIPP:
-Wahrscheinlich muß \-monitorpixelaspect spezifiert werden.
-Versuche 'mplayer \-vo aa \-monitorpixelaspect 0.5'.
-.
-.TP
-.B "caca\ \ \ "
-Farbiger ASCII-Art-Videoausgabetreiber, der auf einer Textkonsole funktioniert.
-.
-.TP
-.B "bl\ \ \ \ \ "
-Videowiedergabe, die das Blinkenlights-UDP-Protokoll unterstützt.
-Dieser Treiber ist höchstgradig hardwarespezifisch.
-.PD 0
-.RSs
-.IPs <Subdevice>
-Wählt den zu benutzenden Subdevice-Treiber von Blinkenlights explizit.
-Die Angabe ist der Art arcade:host=localhost:2323 oder
-hdl:file=Name1,file=Name2.
-Du musst ein Subdevice angeben.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-Videoausgabetreiber des GGI-Grafiksystems.
-.PD 0
-.RSs
-.IPs <Treiber>
-Wählt den zu benutzenden GGI-Treiber explizit.
-Ersetze jedes ',' das in der Treiberzeichenkette vorkommt durch ein '.'.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-Videowiedergabe über die DirectFB-Bibliothek.
-.PD 0
-.RSs
-.IPs (no)input
-Benutze DirectFB anstelle des MPlayer-Tastaturcodes (Standard: aktiviert).
-.IPs buffermode=single|double|triple
-Doppeltes (double) und dreifaches (triple) Buffering liefern die besten
-Resultate, wenn du Abreißprobleme vermeiden möchstest.
-Triplebuffering ist effizienter als Doublebuffering, da es MPlayer
-während des Wartens auf das vertikale Retrace nicht blockiert.
-Einfaches Buffern sollte vermieden werden (Standard: single).
-.IPs fieldparity=top|bottom
-Kontrolliert die Ausgabereihenfolge für interlaced-Bilder (Standard:
-deaktiviert).
-Gültige Werte sind top = obere Felder zuerst, bottom = untere Felder zuerst.
-Diese Option hat keinerlei Effekt auf progressives Filmmaterial, wie es die
-meisten MPEG-Filme sind.
-Du musst diese Option aktivieren, wenn es beim Schauen von
-interlaced-Filmmaterial zu Abreißeffekten oder unscharfen Bewegungen kommt.
-.IPs layer=N
-Wird den Layer mit der ID N für die Wiedergabe erzwingen (Standard: \-1 \-
-auto).
-.IPs dfbopts=<Liste>
-Gibt eine Parameterliste für DirectFB an.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Matrox G400/\:G450/\:G550-spezifische Videoausgabetreiber, die die
-DirectFB-Bibliothek benutzen, um von speziellen Hardware-Feeatures Gebrauch zu
-machen.
-Ermöglicht CRTC2 (zweiten Bildschirm) und stellt Videos unabhängig vom ersten
-Bildschirm dar.
-.PD 0
-.RSs
-.IPs (no)input
-das gleiche wie bei directfb (Standard: deaktiviert)
-.IPs buffermode=single|double|triple
-das gleiche wie bei (Standard: triple)
-.IPs fieldparity=top|bottom
-das gleiche wie bei directfb
-.IPs (no)bes
-Ermöglicht die Nutzung von Matrox BES (Backend-Skalierer) (Standard:
-deaktiviert).
-Gibt hinsichtlich Geschwindigkeit und Ausgabequalität sehr gute Resultate, da
-interpolierte Bildverarbeitung in der Hardware geschieht.
-Funktioniert nur auf dem ersten Bildschirm.
-.IPs (no)spic
-Nutzt den Matrox-Sub-Picture-Layer für die Anzeige des OSD (Standard:
-aktiviert).
-.IPs (no)crtc2
-Schaltet TV-Out des zweiten Monitors an (Standard: aktiviert).
-An der Wiedergabequalität ist erstaunlich, da ein komplettes Interlaced-Bild
-mit exakter Synchronisation auf jedem (un)geraden Feld dargestellt wird.
-.IPs tvnorm=pal|ntsc|auto
-Setzt die TV-Norm der Matrox-Karte, ohne /etc/\:directfbrc ändern zu
-müssen (Standard: deaktiviert).
-Gültige Normen sind pal = PAL, ntsc = NTSC.
-Eine spezielle Norm ist auto (automatisches Anpassen zu PAL/\:NTSC), denn
-die Norm wird bestimmt, indem die Framerate des Films betrachtet wird.
-.RE
-.PD 1
-.
-.TP
-.B mga (nur bei Linux)
-Matrox-spezifischer Videoausgabetreiber, der den YUV-Backend-Skalierer von
-Gxxx-Karten durch ein Kernelmodul benutzt.
-Wenn du eine Matroxkarte hast, ist dies die schnellste Option.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wählt das zu benutzende Matrox-Gerät explizit (Standard: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (nur bei Linux, X11)
-Der mga-Videoausgabetreiber, läuft in einem X11-Fenster.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wählt das zu benutzende Matrox-Gerät explizit (Standard: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (nur bei Linux) (siehe auch \-vf yuv2 und \-dr)
-S3 Virge-spezifischer Videoausgabetreiber.
-Dieser Treiber unterstützt die YUV-Konvertierung und -skalierung der Karte,
-doppelte Pufferung und direktes Rendern.
-Benutze \-vf yuy2 für hardwarebeschleunigtes YUY2-Rendering, welches bei
-dieser Karte wesentlich schneller als YV12 ist.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wähle das zu verwendende fbdev-Gerät explizit (Standard: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B wii (nur bei Linux)
-Nintendo Wii/GameCube-spezifischer Videoausgabetreiber.
-.
-.TP
-.B 3dfx (nur bei Linux)
-3Dfx-spezifischer Videoausgabetreiber, der die 3Dfx-Hardware direkt auf X11
-verwendet.
-Nur 16 bpp werden unterstützt.
-.
-.TP
-.B tdfxfb (nur bei Linux)
-Dieser Treiber setzt den tdfxfb-Framebuffer-Treiber ein, um auf 3dfx-Karten
-Filme mit YUV-Beschleunigung abzuspielen.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wähle das zu benutzende fbdev-Gerät explizit (Standard: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (nur bei Linux)
-3Dfx-spezifischer Videoausgabetreiber, der in Verbindung mit dem
-tdfx_vid-Kernelmodul funktioniert.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wähle das zu benutzende Gerät explizit (Standard:/dev/\:tdfx_vid).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (siehe auch \-dxr2) (nur bei DXR2)
-DXR2-spezifischer Videoausgabetreiber von Creative.
-.PD 0
-.RSs
-.IPs <vo_Treiber>
-Der für das Overlay zu benutzende unterliegende Videoausgabetreiber (x11, xv)
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (nur bei DXR3)
-Sigma Designs em8300 MPEG-Decoder-Chip- (Creative DXR3, Sigma Designs
-Hollywood Plus) spezifischer Videoausgabetreiber.
-Siehe auch den lavc-Videofilter.
-.PD 0
-.RSs
-.IPs overlay
-Aktiviert Overlay anstelle von TV-Ausgabe.
-.IPs prebuf
-Schaltet Prebuffering ein.
-.IPs "sync\ "
-Schaltet die neue Sync-Engine ein.
-.IPs norm=<Norm>
-Gibt die TV-Norm an.
-.RSss
-0: Ändert die aktuelle Norm nicht (Standard).
-.br
-1: Automatische Anpassung mit PAL/\:NTSC.
-.br
-2: Automatische Anpassung mit PAL/\:PAL-60.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.RE
-.IPs <0\-3>
-Gibt die Gerätenummer an, wenn mehr als eine em8300-Karte vorhanden ist.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (nur bei IVTV)
-Videoausgabetreiber für TV-Out speziell für den Conexant CX23415 (iCompression
-iTVC15) oder Conexant CX23416 (iCompression iTVC16) MPEG Decoder-Chip
-(Hauppauge WinTV PVR-150/250/350/500).
-Siehe auch den Videofilter lavc.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wählt den zu verwendenden MPEG-Decoder explizit (Standard: /dev/video16).
-.IPs <Ausgabe>
-Wählt die für das Videosignal zu verwendende TV-Out-Ausgabe.
-.RE
-.PD 1
-.
-.TP
-.B v4l2 (benötigt Linux-Kernel 2.6.22+)
-Videoausgabetreiber für V4L2-kompatible Karten mit eingebautem
-Hardware-MPEG-Decoder.
-Siehe auch lavc-Videofilter.
-.PD 0
-.RSs
-.IPs <Gerät>
-Wähle den Gerätenamen des zu verwendenden MPEG-Decoders explizit
-(Standard: /dev/video16).
-.IPs <Ausgabe>
-Wähle die für das Videosignal zu verwendende TV-Out-Ausgabe explizit.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (nur bei DVB)
-Videoausgabetreiber für DVB-Karten, der die Ausgabe in eine MPEG-PES-Datei
-schreibt, falls keine DVB-Karte installiert ist.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Gibt die Gerätenummer an, wenn mehr als eine DVB-Ausgabekarte vorhanden ist
-(nur bei V3 API, wie bei den Treibern der 1.x.y-Serie).
-Wird keine Karte angegeben, sucht MPlayer die erste verfügbare Karte.
-.IPs <Dateiname>
-Ausgabedateiname (Standard: ./grab.mpg).
-.RE
-.PD 1
-.
-.TP
-.B zr (siehe auch \-zr* und \-zrhelp)
-Videoausgabetreiber für eine Anzahl von MJPEG-Capture/\:Wiedergabe-Karten.
-.
-.TP
-.B zr2 (siehe auch den zrmjpeg-Videofilter)
-Videoausgabetreiber für eine Anzahl von MJPEG-Capture/\:Wiedergabe-Karten,
-zweite Generation.
-.PD 0
-.RSs
-.IPs dev=<Gerät>
-Gibt das zu benutzende Gerät an.
-.IPs norm=<PAL|NTSC|SECAM|auto>
-Gibt die zu benutzende Videonorm an (Standard: auto).
-.IPs (no)prebuf
-(De)aktiviert Prebuffering, wird noch nicht unterstützt.
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-Berechnet MD5-Summen von jedem Frame und schreibt sie in eine Datei.
-Unterstützt die Farbräume RGB24 und YV12.
-Nützlich für Debugging-Zwecke.
-.PD 0
-.RSs
-.IPs outfile=<Dateiname>
-Gibt den Ausgabe-Dateinamen an (Standard: ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-Wandelt den Videostream in eine Abfolge von unkomprimierten YUV 4:2:0-Bildern
-um und speichert diese in einer Datei im aktuellen Verzeichnis
-(Standard: ./stream.yuv).
-Das Format ist das gleiche, das von den mjpegtools benutzt wird, daher ist
-diese Option nützlich, wenn du das Video mit den mjpegtools bearbeiten
-möchtest.
-Es unterstützt das YV12-, RGB- (24 bpp) und BGR-Format (24 bpp).
-Du kannst dies mit der Option \-fixed\-vo kombinieren, um Dateien mit derselben
-Größe (bezogen auf das Format) und gleichem fps-Wert aneinanderzuhängen.
-.PD 0
-.RSs
-.IPs interlaced
-Schreibt die Ausgabe-Frames interlaced, obere Felder zuerst.
-.IPs interlaced_bf
-Schreibt die Ausgabe-Frames interlaced, untere Felder zuerst.
-.IPs file=<Dateiname>
-Schreibe die Ausgabe nach <Dateiname> anstatt in die Standarddatei stream.yuv.
-.REss
-.PD 1
-.RS
-.sp 1
-.I ANMERKUNG:
-Bei Weglassen dieser Optionen ist die Ausgabe 'progressive' (d.h.\& nicht
-interlaced).
-.RE
-.
-.TP
-.B "gif89a\ "
-Gibt jeden Frame in eine animierte GIF-Datei im aktuellen Verzeichnis aus.
-Es unterstützt nur das RGB-Format (24 bpp), und die Ausgabe wird zu 256 Farben
-konvertiert.
-.PD 0
-.RSs
-.IPs <fps>
-Fließkommawert, der die Framerate angibt (Standard: 5.0).
-.IPs <output>
-Gibt den Ausgabedateinamen an (Standard: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I ANMERKUNG:
-Du musst die Framerate vor dem Dateinamen angeben, sonst wird die Framerate
-Teil des Dateinamens.
-.sp 1
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:15:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-Gibt jeden Frame in eine JPEG-Datei im aktuellen Verzeichnis aus.
-Jede Datei bekommt die Framenummer mit vorangestellt ergänzenden Nullen als
-Name.
-.PD 0
-.RSs
-.IPs [no]progressive
-Gibt Standard-JPEG oder progressives JPEG an (Standard: noprogressive).
-.IPs [no]baseline
-Benutze eine/\:keine Baseline (Standard: baseline).
-.IPs optimize=<0\-100>
-Optimierungswert (Standard: 100)
-.IPs smooth=<0\-100>
-Glättungsfaktor (Standard: 0)
-.IPs quality=<0\-100>
-Qualitätsfaktor (Standard: 75)
-.IPs outdir=<Verzeichnisname>
-Gib das Verzeichnis an, in das die JPEG-Bilder gespeichert werden
-(Standard: ./).
-.IPs subdirs=<Präfix>
-Erstellt nummerierte Unterverzeichnisse mit dem angegebenen Präfix, in
-welches die Dateien gespeichert werden anstatt in das aktuelle Verzeichnis.
-.IPs "maxfiles=<Wert> (nur mit subdirs)"
-Maximale Anzahl an JPEG-Dateien, die pro Unterverzeichnis gespeichert werden.
-Muss größer oder gleich 1 sein (Standard: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Gibt jeden Frame in eine PNM-Datei in das aktuelle Verzeichnis aus.
-Jede Datei bekommt die Frame-Nummer mit vorangestellt ergänzenden Nullen als
-Name.
-Unterstützt PPM-, PGM- und PGMYUV-Dateien sowohl im raw- als auch im
-ASCII-Modus.
-Siehe auch pnm(5), ppm(5) und pgm(5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-Schreibe PPM-Dateien (Standard).
-.IPs "pgm\ \ "
-Schreibe PGM-Dateien.
-.IPs pgmyuv
-Schreibe PGMYUV-Dateien.
-PGMYUV ist wie PGM, enthält jedoch zusätzlich eine U- und V-Ebene, die am Bild
-unten angehängt werden.
-.IPs "raw\ \ "
-Schreibe PNM-Dateien im raw-Modus (Standard).
-.IPs ascii
-Schreibe PNM-Dateien im ASCII-Modus.
-.IPs outdir=<Verzeichnisname>
-Gib das Verzeichnis an, in das die PNM-Dateien gespeichert werden
-(Standard: ./).
-.IPs subdirs=<Präfix>
-Erstellt nummerierte Unterverzeichnisse mit dem angegebenen Präfix, in
-welches die Dateien gespeichert werden anstatt in das aktuelle Verzeichnis.
-.IPs "maxfiles=<Wert> (nur mit subdirs)"
-Maximale Anzahl an JPEG-Dateien, die pro Unterverzeichnis gespeichert werden.
-Muss größer oder gleich 1 sein (Standard: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Gibt jeden Frame in eine PNG-Datei im aktuellen Verzeichnis aus.
-Jede Datei bekommt die Frame-Nummer mit vorangestellt ergänzenden Nullen als
-Name.
-Unterstützt die RGB- und BGR-Formate mit 24 bpp.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Gibt die Kompressionsstufe an.
-0 steht für keine, 9 für maximale Kompression.
-.IPs outdir=<Verzeichnisname>
-Gib das Verzeichnis an, in das die PNG-Dateien gespeichert werden sollen
-(Standard: ./).
-.IPs alpha (Standard: noalpha)
-Erstelle PNG-Dateien mit Alpha-Kanal.
-Beachte, dass MPlayer Alpha-Kanäle im allgemeinen nicht unterstützt, so dass
-dies nur in manchen Fällen sinnvoll ist.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-Gibt jeden Frame in eine TGA-Datei im aktuellen Verzeichnis aus.
-Jede Datei bekommt die Frame-Nummer mit vorangestellt ergänzenden Nullen als
-Name.
-Der Zweck dieses Videoausgabetreibers ist das Schreiben von verlustfreien
-Bildern, die ohne jegliche externe Bibliothek verwendet werden können.
-Unterstützt werden BGR[A]-Farbformate mit 15, 24 und 32 bpp.
-Ein bestimmtes Format kann erzwungen werden durch Benutzung des
-format-Videofilters.
-.sp 1
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "OPTIONEN FÜR DIE DECODIERUNG/DAS FILTERN"
-.
-.TP
-.B \-ac <[\-|+]Codec1,[\-|+]Codec2,...[,]>
-Gib eine Prioritätsliste der zu verwendenden Audiocodecs an.
-Die Codecnamen entsprechen den in codecs.conf definierten Einträgen.
-Ein '\-' vor dem Codecnamen deaktiviert diesen Codec.
-Ein '+' vor dem Codecnamen erzwingt diesen, dies führt vermutlich zu Abstürzen!
-Wenn die Liste mit ',' endet, wird MPlayer auch auf Codecs zurückgreifen, die
-nicht in der Liste stehen.
-.br
-.I ANMERKUNG:
-Mit \-ac help erhältst du eine vollständige Liste aller verfügbaren Codecs.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-Erzwingt den l3codeca.acm-MP3-Codec.
-.IPs "\-ac mad,"
-Probiert zuerst libmad und dann andere Codecs.
-.IPs "\-ac hwac3,a52,"
-Probiere AC-3-Passthrough, dann
-Software-AC-3-Decodierung, danach andere Codecs.
-.IPs "\-ac hwdts,"
-Probiere Hardware-DTS-Passthrough, danach anderes.
-.IPs "\-ac \-ffmp3,"
-Überspringe den MP3-Decoder von FFmpeg.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(Filter)> (siehe auch \-af)
-Gibt erweiterte Audiofilteroptionen an:
-.RSs
-.IPs force=<0\-7>
-Erzwingt das Einfügen von Audiofiltern nach folgenden Regeln:
-.RSss
-0: Benutze komplett automatisches Einfügen (Standard)
-.br
-1: Optimiere auf Genauigkeit.
-.br
-2: Optimiere auf Geschwindigkeit.
-.I Warnung:
-Manche Features der Audiofilter können ohne Meldung zu geben versagen, wodurch
-sich die Audioqualität verringern kann.
-.br
-3: Benutze kein automatisches Einfügen von Filtern und keine Optimierung.
-.I Warnung:
-Diese Einstellung kann MPlayer zum Absturz bringen.
-.br
-4: Benutze automatisches Einfügen von Filtern gemäß Option 0 oben, benutze
-aber Verarbeitung von Fließkommawerten, falls möglich.
-.br
-5: Benutze automatisches Einfügen von Filtern gemäß Option 1 oben, benutze
-aber Verarbeitung von Fließkommawerten, falls möglich.
-.br
-6: Benutze automatisches Einfügen von Filtern gemäß Option 2 oben, benutze
-aber Verarbeitung von Fließkommawerten, falls möglich.
-.br
-7: Benutze kein automatisches Einfügen von Filtern gemäß Option 3 oben, benutze
-aber Verarbeitung von Fließkommawerten, falls möglich.
-.REss
-.IPs list=<Filter>
-Das gleiche wie \-af.
-.RE
-.
-.TP
-.B \-afm <Treiber1,Treiber2,...>
-Gibt eine Prioritätsliste der zu verwendenden Audiocodecfamilien an,
-so wie sie in codecs.conf definiert wurden.
-Wenn keine der angegebenen
-Familien benutzt werden kann, so werden die Standardcodecs verwendet.
-.br
-.I ANMERKUNG:
-.br
-Mit \-afm help erhältst du eine Liste aller verfügbaren Codecfamilien.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-Probiert zuerst die Codecs von FFmpegs libavcodec.
-.IPs "\-afm acm,dshow"
-Probiert zuerst die Win32-Codecs.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <Verhältnis> (siehe auch \-zoom)
-Überschreibt das Höhen-/\:Breitenverhältnis des Films in dem Falle, dass die in
-der wiedergegebenen Datei gespeicherten Informationen fehlerhaft sind oder ganz
-fehlen.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-\-aspect 4:3 oder \-aspect 1.3333
-.br
-\-aspect 16:9 oder \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Deaktiviert die automatische Anpassung des Höhen-/\:Breitenverhältnisses.
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-Stellt das erste Feld ein bei interlaced Inhalten.
-Nützlich für Deinterlacer, die die Framerate verdoppeln: \-vf tfields=1,
-\-vf yadif=1 und \-vo xvmc:bobdeint.
-.PD 0
-.RSs
-.IPs \-1
-auto (default): Fällt auf 0 (oberes Feld zuerst) zurück,
-wenn der Decoder keine angemessenen Informationen ausgibt.
-.IPs 0
-oberes Feld zuerst
-.IPs 1
-unteres Feld zuerst
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-Stellt das Bild auf den Kopf (horizontales Spiegeln).
-.
-.TP
-.B \-lavdopts <Option1:Option2:...> (DEBUG-CODE)
-Gibt Parameter für die Decodierung mit libavcodec an.
-Trenne bei mehreren Optionen mit einem Doppelpunkt.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-Verfügbare Optionen sind folgende:
-.RE
-.RSs
-.IPs bitexact
-Benutze in allen Decodierungsschritten nur bitgenaue Algorithmen (zum
-Testen von Codecs).
-.IPs bug=<Wert>
-Umgehe Fehler (Bugs) des Encoders manuell.
-.RSss
-0: nichts
-.br
-1: automatische Erkennung von Fehlern (Standard)
-.br
-2 (msmpeg4v3): manche ältere, von lavc generierte msmpeg4v3-Dateien (keine
-automatische Erkennung)
-.br
-4 (mpeg4): Xvid-Interlacing-Bug (automatisch erkannt bei fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (automatisch erkannt bei fourcc==UMP4)
-.br
-16 (mpeg4): Padding-Bug (automatisch erkannt)
-.br
-32 (mpeg4): ungültiger vlc-Bug (automatisch erkannt durch fourcc)
-.br
-64 (mpeg4): qpel-Bug bei Xvid und DivX (automatisch erkannt durch
-fourcc/\:Version)
-.br
-128 (mpeg4): alter qpel-Standard-Bug (automatisch erkannt durch
-fourcc/\:Version)
-.br
-256 (mpeg4): noch ein anderer qpel-Bug (automatisch erkannt durch
-fourcc/\:Version)
-.br
-512 (mpeg4): Bug bei direkter qpel-Blockgröße (automatisch erkannt durch
-fourcc/\:Version)
-.br
-1024 (mpeg4): Randfüllungs-Bug (edge padding, automatisch erkannt durch
-fourcc/\:Version)
-.REss
-.IPs debug=<Wert>
-Zeige Debugging-Informationen an.
-.RSss
-.br
-0: deaktiviert
-.br
-1: Bildinformationen
-.br
-2: Ratenkontrolle (Rate Control)
-.br
-4: Bitstream
-.br
-8: Makroblock-Typ (MB type)
-.br
-16: Quantisierungsparameter (QP)
-.br
-32: Motion-Vector (MV)
-.br
-0x0040: Motion-Vector-Visualisierung (benutze \-noslices)
-.br
-0x0080: Überspringen des Makroblocks (MB)
-.br
-0x0100: Startcode
-.br
-0x0200: PTS
-.br
-0x0400: Fehler-Belastbarkeit
-.br
-0x0800: Speichermanagement-Kontrolloperationen (H.264)
-.br
-0x1000: Fehler/\:Bugs
-.br
-0x2000: Visualisiere Quantisierungsparameter (QP), niedrigere QP sind grüner.
-.br
-0x4000: Visualisiere Blocktypen.
-.REss
-.IPs ec=<Wert>
-Setze zu verwendende Strategie zum Verbergen von Fehlern.
-.RSss
-1: Benutze einen starken Deblock-Filter bei beschädigten Makroblöcken (MBs).
-.br
-2: iterative Motion-Vector-Suche (langsam)
-.br
-3: alles (Standard)
-.REss
-.IPs er=<Wert>
-Setze Strategie zur Fehlerbehandlung.
-.RSss
-.br
-0: deaktiviert
-.br
-1: vorsichtig (Sollte mit den meisten fehlerhaften Encodern funktionieren.)
-.br
-2: normal (Standard) (Funktioniert mit konformen Encodern.)
-.br
-3: aggressiv (mehr Überprüfungen, die aber selbst bei konformen Daten
-Fehler liefern können)
-.br
-4: sehr agressiv
-.REss
-.IPs "fast (nur bei MPEG-2, MPEG-4 und H.264)"
-Aktiviere Optimierungen, die nicht den Spezifikationen entsprechen und
-möglicherweise Probleme verursachen können, wie beispielsweise einfachere
-Dequantisierung, einfachere Bewegungskompensierung, angenommene Benutzung
-der Standardquantisierungsmatrix und
-angenommen, dass YUV als 4:2:0 vorliegt, und das Überspringen von ein paar
-Überprüfungen, die sonst
-vorgenommen werden, um fehlerhafte Bitstreams zu erkennen.
-.IPs "gray\ "
-Decodierung nur mit Graustufen (was ein bischen schneller als mit Farbe ist)
-.IPs "idct=<0\-99> (siehe \-lavcopts)"
-Um die beste Decodierqualität zu erreichen, benutze denselben IDCT-Algorithmus
-für Decodierung und Encodierung.
-Dies kann allerdings auf Kosten der Genauigkeit gehen.
-.IPs lowres=<Nummer>[,<b>]
-Decodierung bei niedrigeren Auflösungen.
-Dies wird nicht von allen Codecs unterstützt und wird oft in hässlichen
-Artefakten resultieren.
-Dies ist kein Bug sondern ein Nebeneffekt der Decodierung bei nicht voller
-Auflösung.
-.RSss
-.br
-0: deaktiviert
-.br
-1: 1/\:2 Auflösung
-.br
-2: 1/\:4 Auflösung
-.br
-3: 1/\:8 Auflösung
-.REss
-.RS
-Falls <b> angegeben wurde, wird die Decodierung bei niedriger Auflösungen nur
-dann benutzt, falls die Breite des Videos größer oder gleich dem Wert <b> ist.
-.RE
-.B o=<Schlüssel>=<Wert>[,<Schlüssel>=<Wert>[,...]]
-Übergib AVOptions an den libavcodec-Decoder.
-Beachte, ein Patch, um o= überflüssig zu machen und alle unbekannten Optionen
-durch das AVOption-System zu übergeben, ist willkommen.
-Eine komplette Liste der AVOptions findest du im FFmpeg-Handbuch.
-Beachte, dass manche Optionen mit MEncoder-Optionen in Konflikt stehen können.
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.PD 0
-.IPs o=debug=pict
-.PD 1
-.RE
-.IPs "sb=<Nummer> (nur bei MPEG-2)"
-Überspringe unten die angegebene Anzahl von Makroblockreihen.
-.IPs "st=<Nummer> (nur bei MPEG-2)"
-Überspringe oben die angegebene Anzahl von Makroblockreihen.
-.IPs "skiploopfilter=<skipvalue> (nur bei H.264)"
-Überspringt den Schleifenfilter (Deblocking) während der H.264-Decodierung.
-Da das gefilterte Bild als Referenz für darauf aufbauende Bilder benutzt wird,
-hat dies im Vergleich zum Weglassen des Deblocking-Filters bei z.B.\& MPEG-2
-einen
-stärkeren negativen Effekt auf die Qualität.
-Aber zumindest bei HDTV mit hoher Bitrate bietet dies einen hohen
-Geschwindigkeitsgewinn bei kaum sichtbarem Qualitätsverlust.
-.sp 1
-<skipvalue> kann einen der folgenden Werte annehmen:
-.RSss
-.br
-none: Niemals überspringen.
-.br
-default: Unnötige Verarbeitungsschritte überspringen (z.B.\& 0 Byte große
-Pakete in AVI).
-.br
-nonref: Überspringe unreferenzierte Bilder (z.B.\& nicht für die Decodierung
-anderer Bilder benötigt, der Fehler kann nicht akkumulieren).
-.br
-bidir: B-Frames überspringen.
-.br
-nonkey: Alle Bilder außer Keyframes überspringen.
-.br
-all: Alle Bilder überspringen.
-.REss
-.IPs "skipidct=<skipvalue> (nur bei MPEG-1/2)"
-Überspringt den IDCT-Schritt.
-Verringert die Qualität in fast allen Fällen stark (siehe skiploopfilter
-für mögliche Werte).
-.IPs skipframe=<skipvalue>
-Überspringt die Dekodierung von Bildern komplett.
-Hoher Geschwindigkeitsgewinn, aber ruckelige Bewegungen und manchmal
-schlimme Artefakte (siehe skiploopfilter für mögliche Werte).
-.IPs "threads=<1\-8> (nur bei MPEG-1/2 und H.264)"
-Anzahl der für die Decodierung zu benutzenden Threads (Standard: 1).
-.IPs vismv=<Wert>
-Visualisiere Motion-Vectors.
-.RSss
-.br
-0: deaktiviert
-.br
-1: Mache von P-Frames vorwärts vorausberechnete Motion-Vectors sichtbar.
-.br
-2: Mache von B-Frames vorwärts vorausberechnete Motion-Vectors sichtbar.
-.br
-4: Mache von B-Frames rückwärts vorausberechnete Motion-Vectors sichtbar.
-.REss
-.IPs vstats
-Gebe Statistiken aus und speichere sie in ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-Deaktiviert die Anzeige des Videos in 16-Pixel-hohen Streifen und stellt den
-kompletten Frame statt dessen in einem einzigen Durchgang dar.
-Dies kann die Darstellung schneller oder langsamer machen, abhängig von
-Hardware/Cache.
-Dies hat nur einen Effekt bei den Codecs libmpeg2 und libavcodec.
-.
-.TP
-.B \-nosound
-Spielt keinen Sound ab bzw.\& encodiert keinen Sound.
-Nützlich für Benchmarking-Zwecke.
-.
-.TP
-.B \-novideo
-Spielt kein Video ab bzw.\& encodiert kein Video.
-In vielen Fällen funktioniert dies nicht, benutze stattdessen \-vc null \-vo
-null.
-.
-.TP
-.B \-pp <Qualität> (siehe auch \-vf pp)
-Setzt das Postprocessing-Level der DLL.
-Diese Option kann nicht mehr in Verbindung mit \-vf pp verwendet werden,
-sondern nur noch mit Win32-DirectShow-DLLs, die eigene interne
-Postprocessing-Routinen mitbringen.
-Der gültige Wertebereich für \-pp variiert je nach Codec, ist meistens aber
-0\-6, wobei 0=deaktiviert und 6=langsamster/\:bester Modus bedeutet.
-.
-.TP
-.B \-pphelp (siehe auch \-vf pp)
-Zeigt eine Zusammenfassung der vorhandenen Postprocessing-Filter und deren
-Benutzung.
-.
-.TP
-.B \-ssf <Modus>
-Gibt die Parameter für den Softwareskalierer an.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-gaußscher Unschärfefilter (beim Helligkeitsanteil)
-.IPs cgb=<0\-100>
-gaußscher Unschärfefilter (beim Farbanteil)
-.IPs ls=<\-100\-100>
-Schärfefilter (beim Helligkeitsanteil)
-.IPs cs=<\-100\-100>
-Schärfefilter (beim Farbanteil)
-.IPs chs=<h>
-horizontale Verschiebung des Farbanteils
-.IPs cvs=<v>
-vertikale Verschiebung des Farbanteils
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <Modus>
-Wählt den Typ der MP2/\:MP3-Stereoausgabe.
-.PD 0
-.RSs
-.IPs 0
-Stereo
-.IPs 1
-Linker Kanal
-.IPs 2
-Rechter Kanal
-.RE
-.PD 1
-.
-.TP
-.B \-sws <Typ des Softwareskalierers> (siehe auch \-vf scale und \-zoom)
-Mit dieser Option wird die Qualität (und damit auch die Geschwindigkeit)
-des Softwareskalierers gewählt, der bei \-zoom zum Einsatz kommt.
-Dieser wird beispielsweise bei x11 oder anderen Videotreibern benutzt,
-die keine Hardwarebeschleunigung bieten.
-.sp 1
-Mögliche Werte sind:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-fast bilinear
-.IPs 1
-bilinear
-.IPs 2
-bicubic (gute Qualität) (Standard)
-.IPs 3
-experimentell
-.IPs 4
-nearest neighbour (schlechte Qualität)
-.IPs 5
-area
-.IPs 6
-luma bicubic / chroma bilinear
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-natural bicubic spline
-.RE
-.PD 1
-.sp 1
-.RS
-.I ANMERKUNG:
-Manche \-sws\-Optionen sind einstellbar.
-Die Beschreibung des Videofilters scale enthält weitere Informationen.
-.RE
-.
-.TP
-.B \-vc <[\-|+]Codec1,[\-|+]Codec2,...[,]>
-Gibt eine Prioritätsliste der zu verwendenden Videocodecs an, entsprechend dem
-Codecnamen in codecs.conf.
-Ein '\-' vor dem Codecnamen deaktiviert diesen Codec.
-Ein '+' vor dem Codecnamen erzwingt diesen, das führt vermutlich zu einem Absturz!
-Wenn die Liste mit ',' endet, dann greift MPlayer auch auf auch nicht
-aufgeführte Codecs zurück.
-.br
-.I ANMERKUNG:
-Mit \-vc help wird eine vollständige Liste der verfügbaren Codecs ausgegben.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Erzwingt den Win32/\:VFW DivX-Codec; andere werden nicht ausprobiert.
-.IPs "\-vc \-divxds,\-divx,"
-Überspringt die Win32-DivX-Codecs.
-.IPs "\-vc ffmpeg12,mpeg12,"
-Probiert zuerst dem MPEG-1/\:2-Codec von libavcodec, gefolgt von libmpeg2, dann
-andere.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <Treiber1,Treiber2,...>
-Gibt eine Prioritätsliste der zu verwendenden Videocodecfamilien an,
-entsprechend den Namen in codecs.conf.
-Wenn keine davon funktioniert, werden die Standardfamilien ausprobiert.
-.br
-.I ANMERKUNG:
-Mit \-vfm help wird eine vollständige Liste der verfügbaren
-Videocodecfamilien ausgegeben.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Probiert zuerst libavcodec, dann DirectShow, dann die VfW-Codecs und
-schließlich
-andere, falls diese nicht funktioniert haben.
-.IPs "\-vfm xanim"
-Probiert zuerst die XAnim-Codecs.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (siehe auch \-zoom) (nur bei MPlayer)
-Skaliert das Bild auf eine Breite von <x> (falls
-Software-/\:Hardwareskalierung verfügbar ist).
-Deaktiviert die Berechnung des Höhen-/\:Breitenverhältnisses.
-.
-.TP
-.B \-xvidopts <Option1:Option2:...>
-Gibt zusätzliche Parameter für die Decodierung mit Xvid an.
-.br
-.I ANMERKUNG:
-Da libavcodec schneller als Xvid ist, könntest du in Betracht ziehen, den
-Nachbearbeitungsfilter (\-vf pp) und Decoder (\-vfm ffmpeg) von libavcodec zu
-benutzen.
-.sp 1
-Xvid's interne Nachbearbeitungsfilter:
-.PD 0
-.RSs
-.IPs "deblock-chroma (siehe auch \-vf pp)"
-Chrominanz-Deblock-Filter
-.IPs "deblock-luma (siehe auch \-vf pp)"
-Luminanz-Deblock-Filter
-.IPs "dering-luma (siehe auch \-vf pp)"
-Luminanz-Deringing-Filter
-.IPs "dering-chroma (siehe auch \-vf pp)"
-Chrominanz-Deringing-Filter
-.IPs "filmeffect (siehe auch \-vf noise)"
-Fügt dem Video künstlich Körnung hinzu.
-Kann die wahrgenommene Qualität erhöhen, während die eigentliche Qualität
-geringer ist.
-.RE
-.sp 1
-.RS
-Methoden für das Rendern:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-Aktiviert direktes Rendern mit Methode 2.
-.IPs nodr2
-Deaktiviert direktes Rendern mit Methode 2.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <Wert> (siehe auch \-zoom)
-.PD 0
-.RSs
-.IPs Wert<=8
-Skaliert das Bild um den Faktor <Wert>.
-.IPs Wert>8
-Setze die Bildbreite auf <Wert> und berechne die Höhe so, dass das
-ursprüngliche Höhen-/\:Breitenverhältnis beibehalten wird.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (siehe auch \-zoom) (nur bei MPlayer)
-Skaliert das Bild auf eine Höhe von <y> (falls Software-/\:Hardwareskalierung
-verfügbar ist).
-Deaktiviert die Berechnung des Höhen-/\:Breitenverhältnisses.
-.
-.TP
-.B "\-zoom\ \ "
-Lässt Softwareskalierung zu, wo sie verfügbar ist.
-Dies erlaubt Skalierung mit Videoausgabetreibern (wie x11, fbdev), die
-Hardwareskalierung nicht unterstützen und bei denen MPlayer skalieren aus
-Performancegründen standardmäßig deaktiviert.
-.
-.
-.
-.SH "AUDIOFILTER"
-Audiofilter erlauben dir, den Audiostream und seine Eigenschaften zu verändern.
-Die Syntax ist folgende:
-.
-.TP
-.B \-af <Filter1[=Parameter1:Parameter2:...],Filter2,...>
-Aktiviert eine Kette von Audiofiltern.
-.PP
-.I ANMERKUNG:
-Für eine vollständige Liste der verfügbaren Audiofilter siehe \-af help.
-.PP
-Die verfügbaren Filter lauten:
-.
-.TP
-.B resample[=srate[:salopp][:Typ]]
-Ändert die Samplerate des Audiostreams.
-Kann benutzt werden, wenn du eine Soundkarte mit fester Frequenz hast oder
-eine, die maximal 44.1kHz unterstützt.
-Dieser Filter wird automatisch eingefügt, wenn nötig.
-Unterstützt nur 16-Bit-Integer und -Float im Native-Endian-Format als Input.
-.br
-.I ANMERKUNG:
-In Verbindung mit MEncoder musst du zusätzlich \-srate <srate> angeben.
-.PD 0
-.RSs
-.IPs <srate>
-Ausgabe-Samplerate in Hz.
-Der gültige Bereich dieses Parameters ist 8000 bis 192000.
-Falls die Samplefrequenz von Eingabe und Ausgabe gleich ist oder dieser
-Parameter ausgelassen wird, wird der Filter automatisch entfernt.
-Eine hohe Samplefrequenz erhöht normalerweise die Audioqualität, vor allem in
-Kombination mit anderen Filtern.
-.IPs <salopp>
-Erlaube (1) oder erlaube nicht (0), dass sich die Ausgabefrequenz leicht von
-der von <srate> vorgegebenen Frequenz unterscheidet (Standard: 1).
-Kann benutzt werden, wenn der Start der Wiedergabe extrem langsam ist.
-.IPs <Typ>
-Wählt die zu verwendende Methode für das Resampling.
-.RSss
-0: lineare Interpolation (schnell, schlechte Qualität, vor allem bei
-Erhöhung der Frequenz)
-.br
-1: mehrphasige Filterbank und Integer-Verarbeitung
-.br
-2: mehrphasige Filterbank und Fließkommazahl-Verarbeitung (langsam,
-beste Qualität)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-würde die Ausgabefrequenz des resample-Filters auf 44100Hz setzen und dabei
-exakte Skalierung der Ausgabefrequenz und lineare Interpolation verwenden.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=srate[:Länge[:linear[:Zähler[:Abschluss]]]]]
-Ändert die Samplerate des Audiostreams zu einem Integerwert in Hz.
-Unterstützt nur das 16-Bit Native-Endian-Format.
-.br
-.I ANMERKUNG:
-In Verbindung mit MEncoder musst du zusätzlich \-srate <srate> angeben.
-.PD 0
-.RSs
-.IPs <srate>
-die Samplerate der Ausgabe
-.IPs <Länge>
-Länge des Filters hinsichtlich der niedrigeren Samplerate (Standard: 16)
-.IPs <linear>
-Falls 1 werden die Filter zwischen mehrphasigen Einträgen linear interpoliert.
-.IPs <Zähler>
-log2 der Anzahl der Polyphase-Einträge
-(..., 10->1024, 11->2048, 12->4096, ...)
-(Standard: 10->1024)
-.IPs <Abschluss>
-Abschlussfrequenz (0.0\-1.0), Standardwert wird abhängig von der Filterlänge
-gesetzt.
-.RE
-.PD 1
-.
-.TP
-.B lavcac3enc[=tospdif[:Bitrate[:minchn]]]
-Encodiere Multichannel-Audio mit libavcodec während der Wiedergabe zu AC-3.
-Unterstützt 16-Bit native-endian Eingabeformat, maximal 6 Kanäle.
-Die Ausgabe ist big-endian, wenn ein raw-AC-3-Stream ausgegeben wird, und
-native-endian, wenn nach S/PDIF ausgegeben wird.
-Die Samplerate der Ausgabe dieses Filters ist die der Eingabe.
-Wenn die Eingabesamplerate 48kHz, 44.1kHz, oder 32kHz beträgt, verwendet
-sie dieser Filter direkt.
-Ansonsten wird vorher automatisch ein Resampling-Filter eingefügt, der die
-Samplerate der Ein- und Ausgabe auf 48kHz bringt.
-Du musst '\-channels N' angeben, damit der Decoder den Ton in n Kanäle
-decodiert.
-Dann kann der Filter die n-kanalige Eingabe zu AC-3 encodieren.
-.br
-.PD 0
-.RSs
-.IPs <tospdif>
-Gib raw-AC-3-Stream aus wenn null oder nicht gesetzt, gib sonst für Passthrough
-auf S/PDIF aus, wenn <tospdif> auf ungleich null gesetzt ist.
-.IPs <Bitrate>
-Die Bitrate, mit der der AC-3-Stream encodiert werden soll.
-Setze dies auf 384 oder 384000, um 384kbits zu erhalten.
-Gültige Werte: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256,
- 320, 384, 448, 512, 576, 640
-Die Standardbitrate hängt von der Anzahl der Eingabekanäle ab:
-1ch: 96, 2ch: 192, 3ch: 224, 4ch: 384, 5ch: 448, 6ch: 448
-.IPs <minchn>
-Wenn die Zahl für die Eingabekanäle kleiner als <minchn> ist, wird der Filter
-sich selbst entfernen (Standard: 5).
-.RE
-.PD 1
-.
-.TP
-.B sweep[=Geschwindigkeit]
-Erzeugt eine Sinusschwingung.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-Sinusfunktions-Delta, benutze sehr geringe Werte, um die Schwingung zu hören.
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=Frequenz:Abfall]
-Entfernt einen Sinus an der angegebenen Frequenz.
-Nützlich, um bei Audiogeräten niedriger Qualität das 50/60Hz-Rauschen
-loszuwerden.
-Funktioniert wahrscheinlich nur bei Mono-Input.
-.PD 0
-.RSs
-.IPs <Frequenz>
-Die Frequenz des Sinus, der entfernt werden soll (in Hz) (Standard: 50)
-.IPs <Abfall>
-Kontrolliert die Anpassung (ein größerer Wert bewirkt, dass der Filter
-Änderungen von Amplitude und Phase schneller adaptiert, ein kleinerer Wert
-wird die Adaption langsamer machen (Standard: 0.0001).
-Sinnvolle Werte bewegen sich um 0.001.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=flag]
-Die "head-related transfer function": Konvertiert mehrkanäliges
-Audiosignal auf zwei Kanäle für Kopfhörer, behält dabei die Räumlichkeit des
-Klangs.
-.sp 1
-.PD 0
-.RS
-.IPs "Flag Bedeutung"
-.IPs "m Matrixdecodierung des hinteren Kanals"
-.IPs "s 2-Kanal-Matrixdecodierung"
-.IPs "0 keine Matrixdecodierung (Standard)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-Graphischer Equalizier, der im 10-Octaven-Frequenzbereich arbeitet;
-implementiert durch einen 10-IIR-Bandfilter.
-Das bedeutet, dass er unabhängig davon funktioniert, welcher Art der
-wiedergegebene Audiotyp ist.
-Die mittleren Frequenzen für die 10 Frequenzbereiche sind:
-.sp 1
-.PD 0
-.RS
-.IPs "Nr. Frequenz"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-Falls die Samplerate des wiedergegebenen Klangs niedriger ist als die mittlere
-Frequenz für einen Frequenzbereich, wird dieser Bereich deaktiviert.
-Ein bekannter Fehler dieses Filters ist, dass die Charakteristiken für den
-höchsten Bereich nicht komplett symmetrisch sind, wenn die Samplerate nah an
-der mittleren Frequenz dieses Bereichs liegt.
-Dieses Problem kann dadurch umgangen werden, dass man mit Hilfe des
-Filters resample die Samplerate des Klangs erhöht, bevor er diesen Filter
-erreicht.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-Fließkommawerte, die die Verstärkung in dB für jeden Frequenzbereich
-repräsentieren (\-12\-12)
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-Würde den Klang im Bereich der oberen und unteren Frequenzen verstärken und
-ihn gleichzeitig im Bereich um 1kHz fast verschwinden lassen.
-.RE
-.PD 1
-.
-.TP
-.B channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]
-Kann benutzt werden, um Audiokanäle hinzuzufügen, zu entfernen, zu kopieren
-oder deren Routing zu verändern.
-Wenn nur <nch> gegeben ist, wird das Standardrouting benutzt, es funktioniert
-folgendermaßen: Falls die Anzahl der Ausgabekanäle größer ist als die Anzahl
-der Eingangskanäle, so werden leere Kanäle erzeugt (Ausnahme: Upmix von Mono
-auf Stereo, dann wird der Monokanal auf beiden Ausgabekanälen wiederholt).
-Ist die Anzahl der Ausgabekanäle kleiner als die Anzahl der Eingangskanäle,
-so werden die überschüssigen Kanäle verworfen.
-.PD 0
-.RSs
-.IPs <nch>
-Anzahl der Ausgabekanäle (1\-6)
-.IPs "<nr>\ "
-Anzahl der Leitungen für das Routing (1\-6)
-.IPs <von1:bis1:von2:bis2:von3:bis3:...>
-Paare von Nummers zwischen 0 und 5, die festlegen, wo das Routing für jeden
-Kanal stattfinden soll.
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-Würde die Anzahl der Kanäle auf 4 setzen und 4 Routen aufsetzen, die die
-Kanäle 0 und 1 vertauschen und die Kanäle 2 und 3 unberührt lassen.
-Beachte, dass bei der Wiedergabe eines Mediums mit nur zwei Känalen die Kanäle
-2 und 3 still wären, 0 und 1 aber trotzdem vertauscht würden.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-Würde die Anzahl der Kanäle auf 6 setzen und 4 Routen aufsetzen, die den Kanal
-0 nach Kanal 0 und 3 kopieren.
-Kanäle 4 und 5 werden keinen Ton enthalten.
-.RE
-.PD 1
-.
-.TP
-.B format[=Format] (siehe auch \-format)
-Konvertiert zwischen verschiedenen Sampleformaten.
-Wird automatisch aktiviert, falls die Soundkarte oder ein anderer Filter dies
-benötigt.
-.PD 0
-.RSs
-.IPs <Format>
-Setzt das gewünschte Format.
-Die allgemeine Form is 'sbe', wobei 's' für 'signed' steht (alternativ 'u'
-für 'unsigned'), 'b' die Anzahl der Bits pro Sample ist (16, 24 oder 32)
-und 'e' die Endianness angibt ('le' heißt little-endian, 'be' big-endian; 'ne'
-ist die Endianness des Computers, auf dem MPlayer läuft).
-Gültige Werte (unter anderem) sind: 's16le', 'u32be' und 'u24ne'.
-Ausnahmen dieser Regel, die auch gültige Formatangaben sind: u8, s8,
-floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 und imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v:sc]
-Implementiert die Lautstärkeregulierung in Software.
-Benutze diesen Filter mit Vorsicht, da er das Verhältnis von Signalstärke zum
-Rauschen (signal to noise ratio) reduzieren kann.
-In den meisten Fällen ist es am besten, das Level für den PCM-Sound auf
-maximal zu stellen, diesen Filter wegzulassen und die Ausgabestärke zu den
-Lautsprechern mit der Mixereinstellung Master zu regulieren.
-In dem Falle, dass deine Soundkarte einen digitalen anstelle eines analogen
-PCM-Mixers hat, benutze stattdessen die MASTER-Mixereinstellung.
-Wenn ein externer Verstärker mit dem Computer verbunden ist (das ist fast
-immer der Fall), kann das Rauschlevel minimiert werden, indem Master-Level und
-der Lautstärkeregler am Verstärker angepasst werden, bis das Rauschen im
-Hintergrund verschwunden ist.
-.br
-Dieser Filter hat ein zweites Feature: Er misst die insgesamt maximale
-Lautstärke und gibt diese aus, wenn MPlayer beendet wird.
-Diese Lautstärkeabschätzung kann benutzt werden, um die Lautstärke in MEncoder
-so zu setzen, dass ein maximaler dynamischer Bereich benutzt wird.
-.br
-.I ANMERKUNG:
-Dieser Filter ist nicht reentrant (ablaufinvariant) und kann dementsprechend
-nur einmal pro Audiostream aufgerufen werden.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-Setzt die gewünschte Verstärkung in dB für alle Kanäle in diesem Stream.
-Die Verstärkung kann zwischen \-200dB und +60dB liegen, wobei \-200dB den
-Sound komplett verstummen lässt und +60dB einer 1000-fachen Verstärkung
-entspricht (Standard: 0).
-.IPs "<sc>\ "
-Schaltet "Soft-Clipping" an (1) oder aus (0).
-Soft-Clipping kann den Klang weicher machen, wenn sehr hohe Lautstärken
-benutzt werden.
-Benutze diese Option, wenn der dynamische Bereich der Lautsprecher sehr
-niedrig ist.
-.br
-.I WARNUNG:
-Dieses Feature bewirkt Störgeräusche und sollte als letzte Möglichkeit
-angesehen werden.
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-Würde den Klang um 10.1dB verstärken und abschneiden, wenn die Lautstärke zu
-hoch ist.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-Mischt Kanäle beliebig.
-Im Prinzip eine Kombination der Filter volume und channels, der benutzt werden
-kann, viele Kanäle auf nur wenige herunterzumischen, z.B.\& Stereo nach Mono
-oder das Verändern der "Breite" vom mittleren Lautsprecher in einem
-Surroundsound-System.
-Dieser Filter ist schwierig zu benutzen und wird etwas Herumprobieren
-benötigen, bevor die gewünschten Ergebnisse eintreten.
-Die Anzahl der Optionen für diesen Filter hängt von der Anzahl der
-Ausgabekanäle ab.
-Ein Beispiel dazu, wie mit diesem Filter eine 6-Kanal-Datei auf 2 Kanäle
-heruntergemischt werden kann, findest du im Abschnitt Beispiele nahe dem Ende
-der Manpage.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-Anzahl der Ausgabekanäle (1\-6).
-.IPs <Lij>
-Gibt an, wieviel vom Eingabekanal i in den Ausgabekanal j gemischt wird (0\-1).
-Prinzipiell geben die ersten n Zahlen an, was mit dem ersten Eingabekanal
-gemacht wird, dann n Zahlen, die den zweiten Eingabekanal betreffen, usw.
-Falls für einige Eingabekanäle nichts angegeben ist, wird 0 angenommen.
-.RE
-.sp 1
-.RS
-.I BEISPIELE:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-Würde von stereo nach mono heruntermischen.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-Würde 3 Ausgabekanäle liefern, Kanäle 0 und 1 bleiben intakt und der
-Ausgabekanal 2 wäre die Mischung aus den Kanälen 0 und 1 (und könnte zum
-Beispiel an eine Subwoofer geschickt werden).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-Fügt dem Audiostream einen Subwoofer-Kanal hinzu.
-Die Audiodaten, die für die Erzeugung des Subwoofer-Kanals benutzt werden,
-ist ein Durchschnitt des Klanges in Kanal 0 und Kanal 1.
-Der resultierende Klang ist dann tiefpassgefiltert von einem
-Butterworth-Filter vierten Ranges mit einem voreingestellten Abschnitt der
-Frequenzen bei 60Hz und wird in einem separaten Kanal dem Audiostream
-hinzugefügt.
-.br
-.I WARNUNG:
-Deaktiviere diesen Filter, wenn du DVDs mit Dolby Digital 5.1-Klang abspielst,
-sonst wird dieser Filter den Klang des Subwoofers stören.
-.PD 0
-.RSs
-.IPs "<fc>\ "
-Ab dieser Frequenz schneidet der Tiefpassfilter ab (20Hz bis 300Hz)
-(Standard: 60Hz).
-Versuche für beste Resultate die Frequenz, ab der abgeschnitten
-wird, so niedrig wie möglich zu setzten.
-Das wird den Stereo- oder Surroundsound-Genuß erhöhen.
-.IPs "<ch>\ "
-Bestimmt die Kanalnummer, in die der Sub-Kanal eingefügt werden soll.
-Die Kanalnummer kann zwischen 0 und 5 liegen (Standard: 5).
-Beachte, dass die Anzahl der Kanäle automatisch auf <ch> erhöht wird, sollte
-es nötig sein.
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-Würde einen Subwoofer-Kanal mit einer Abschlussfrequenz von 100Hz zum
-Ausgabekanal 4 hinzufügen.
-.RE
-.PD 1
-.
-.TP
-.B "center\ "
-Erzeugt aus den vorderen Kanälen einen mittleren Kanal.
-Kann zur Zeit möglicherweise geringe Qualität liefern, da er keine
-Hochpassfilter für eine entsprechende Extraktion besitzt, sondern nur über die
-Kanäle mittelt und halbiert.
-.PD 0
-.RSs
-.IPs "<ch>\ "
-Legt die Kanalnummer fest, in die der mittlere Kanal eingefügt werden soll.
-Die Kanalnummer kann zwischen 0 und 5 liegen (Standard: 5).
-Beachte dass die Anzahl der Kanäle automatisch auf <ch> erhöht wird, wenn es
-nötig sein sollte.
-.RE
-.PD 1
-.
-.TP
-.B surround[=Verzögerung]
-Decoder für Matrix-encodierten Surroundsound, wie z.B.\& Dolby Surround.
-Viele Dateien mit zwei Audiokanälen enthalten tatsächlich matrixencodierten
-Surroundsound.
-Benötigt eine Soundkarte, die mindestens 4 Kanäle unterstützt.
-.PD 0
-.RSs
-.IPs <Verzögerung>
-Verzögerung in ms für die hinteren Lautsprecher (0 bis 1000) (Standard: 20)
-Diese Verzögerung sollte wie folgt gesetzt werden: Wenn d1 der Abstand ist,
-von dem aus die vorderen Lautsprecher gehört werden, und d2 der Abstand ist,
-von dem aus die hinteren Lautsprecher gehört werden, dann sollte die
-Verzögerung auf 15ms gesetzt werden, falls d1 <= d2 und auf 15 + 5*(d1-d2),
-falls d1 > d2.
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-Würde Decodierung von Surroundsound hinzufügen mit einer Verzögerung von 15ms
-für die hinteren Lautsprecher.
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-Verzögert die Soundausgabe zu den Lautsprechern so, dass der Klang der
-verschiedenen Kanäle die Position, an dem sie gehört werden, gleichzeitig
-erreicht.
-Das macht nur Sinn, wenn du mehr als 2 Lautsprecher hast.
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-Die Verzögerung in ms, die jedem Kanal auferlegt wird (Fließkommazahl zwischen
-0 und 1000).
-.RE
-.PD 1
-.sp 1
-.RS
-Um die benötigte Verzögerung für die verschiedenen Kanäle zu berechnen, gehe
-wie folgt vor:
-.IP 1. 3
-Messe die Entfernung zu den Lautsprechern in Metern in Relation zu der
-Position,
-an der gehört wird, was dir die Entfernungen s1 bis s5 liefert (bei einem
-5.1-System).
-Für den Subwoofer macht Anpassung keinen Sinn (du wirst den Unterschied eh
-nicht hören).
-.IP 2. 3
-Subtrahiere die Abstände s1 bis s5 von der maximalen Entfernung, z.B.\&
-s[i] = max(s) \- s[i]; i = 1...5.
-.IP 3.
-Berechne die benötigten Verzögerungen in ms als d[i] = 1000*s[i]/342; i =
-1...5.
-.RE
-.PD 0
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-Würde die vordere Linke und Rechte um 10.5ms verzögern, die beiden hinteren
-Kanäle und den Subwoofer um 0ms und Center um 7ms.
-.RE
-.PD 1
-.
-.TP
-.B export[=mmapped_Datei[:nsamples]]
-Exportiert das Eingangssignal an andere Prozesse mittels Memory Mapping
-(mmap()).
-Memory-mapped-Bereiche enthalten einen Header:
-.sp 1
-.nf
-int nch /*Anzahl der Kanäle*/
-int size /*Größe des Buffers*/
-unsigned long long counter /*Wird benutzt, um Synchronisation zu
- wahren und aktualisiert, wenn neue
- Daten exportiert werden.*/
-.fi
-.sp 1
-Der Rest sind (nicht-interleaved) 16-bit-Daten über die Auslastung.
-.PD 0
-.RSs
-.IPs <mmapped_Datei>
-Datei, zur der die Daten exportiert werden sollen
-(Standard: ~/\:.mplayer/\:mplayer-af_export).
-.IPs <nsamples>
-Anzahl der Samples pro Kanal (Standard: 512)
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-Würde 1024 Samples pro Kanal nach '/tmp/mplayer-af_export' exportieren.
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-Erhöht den Unterschied zwischen linken und rechten Kanälen (linear), was der
-Wiedergabe eine Art "Live"-Effekt hinzuzufügt.
-.PD 0
-.RSs
-.IPs <mul>
-Setzt den Differenz-Koeffizient (Standard: 2.5).
-0.0 bedeutet Klang in Mono (Durchschnitt beider Kanäle), bei 1.0 bleibt der
-Klang unverändert, mit \-1.0 werden linker und rechter Kanal vertauscht.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=Methode:Ziel]
-Maximiert die Lautstärke, ohne den Klang zu verzerren.
-.PD 0
-.RSs
-.IPs <Methode>
-Setzt die zu benutzende Methode.
-.RSss
-1: Benutze ein einziges Sample, um die Abweichungen mit Hilfe eines
-standardgewichteten Durchschnitts der vorigen Samples zu glätten (Standard).
-.br
-2: Benutze mehrere Samples, um die Abweichungen mit Hilfe eines
-standardgewichteten Durchschnitts der vorigen Samples zu glätten.
-.REss
-.IPs <Ziel>
-Setzt die Zielamplitude als Bruchteil des Maximalwertes der Samplingauflösung
-(Standard: 0.25).
-.RE
-.PD 1
-.
-.TP
-.B ladspa=Datei:Label[:Kontrollen...]
-Lade ein LADSPA (Linux Audio Developer's Simple Plugin API) Plugin.
-Es können mehrere Filter gleichzeitig verwendet werden.
-.PD 0
-.RSs
-.IPs <Datei>
-Gibt eine Bibliotheksdatei des LADSPA-Plugins an.
-Falls LADSPA_PATH gesetzt ist, wird nach der angegeben Datei gesucht.
-Ist es nicht gesetzt, muss der volle Pfadname angegeben werden.
-.IPs <Label>
-Gibt den Filter innerhalb der Bibliothek an.
-Manche Bibliotheken beinhalten nur einen Filter, andere aber enthalten mehrere.
-Angabe von 'help' hier zeigt alle verfügbaren Filter innerhalb der angegebenen
-Bibliothek, was die Benutzung von 'listplugins' des LADSPA SDK überflüssig
-macht.
-.IPs <Kontrollen>
-Kontrollen sind null oder mehr Fließkommawerte, die das Verhalten des
-geladenen Plugins bestimmen (zum Beispiel Verzögerung, Schwellenwert oder
-Verstärkung).
-Im ausführlichen Modus (füge \-v zur MPlayer-Kommandozeile hinzu) werden alle
-Kontrollen und ihre dazugehörigen Wertebereiche ausgegeben.
-Dies macht die Benutzung von 'analyseplugin' des LADSPA SDK überflüssig.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-Kompressor/Expandier-Filter, der bei Input von einem Mikrophon benutzt werden
-kann.
-Verhindert Artefakte bei sehr lautem Klang und erhöht die Lautstärke bei sehr
-leisem Klang.
-Dieser Filter ist nicht getestet und möglicherweise unbrauchbar.
-.
-.TP
-.B "gate\ \ \ "
-Ein das Rauschen beschränkender Filter, ähnlich dem Audiofilter comp.
-Dieser Filter ist nicht getestet und möglicherweise unbrauchbar.
-.
-.TP
-.B karaoke
-Einfacher Filter zur Entfernung von Stimmen, der die Tatsache ausnutzt, dass
-diese normalerweise mit einem Monogerät aufgenommen werden und später 'mittig'
-in den endgültigen Audiostream gemixt werden.
-Sei dir im klaren darüber, dass dieser Filter dein Signal in Mono umwandelt.
-Funktioniert gut für Tracks mit zwei Kanälen; mach dir nicht die Mühe, es auf
-etwas anderes als 2-Kanal-Stereo anzuwenden.
-.TP
-.B scaletempo[=Option1:Option2:...]
-Skaliert die Audiogeschwindigkeit, ohne die Tonhöhe zu verändern.
-Optional wird auf die Wiedergabegeschwindigkeit synchronisiert (Standard).
-.br
-Dies funktioniert, indem \'stride\' ms Audio bei normaler
-Geschwindigkeit dann \'stride*scale\' ms des eingehenden Audios
-verbraucht.
-Es puzzelt die Stücke wieder zusammen, indem \'overlap\'% der Schrittweite mit
-dem Audio des vorigen Schrittes überblendet werden.
-Optional wird eine kurze statistische Analyse der nächsten \'search\' ms Audio
-durchgeführt, um die beste Überlappungsposition zu bestimmen.
-.PD 0
-.RSs
-.IPs scale=<Wert>
-Nomineller Wert, um die die Geschwindigkeit skaliert werden soll.
-Skaliert um diese Menge zusätzlich zur Geschwindigkeit.
-(Standard: 1.0)
-.IPs stride=<Wert>
-Länge eines Schrittes in Millisekunden.
-Zu hohe Werte verursachen merkliche Sprünge bei hohen Skalierungswerten und
-ein Echo bei niedrigen.
-Sehr niedrige Werte werden die Tonhöhe verändern.
-Erhöhen des Wertes verbessert die Performance.
-(Standard: 60)
-.IPs overlap=<Prozent>
-Prozentsatz, um den sich die Schritte überlappen.
-Verringerung erhöht Performance.
-(Standard: .20)
-.IPs search=<Wert>
-Länge in Millisekunden, um die für die beste Überlappungsposition gesucht wird.
-Verringerung erhöht Performance sehr.
-Auf langsamen Systemen wirst du diesen Wert sehr niedrig setzen wollen.
-(Standard: 14)
-.IPs speed=<tempo|pitch|both|none>
-Bestimme die Antwort auf Geschwindigkeitsveränderungen.
-.RSss
-.IPs tempo
-Skaliert das Tempo synchron zur Geschwindigkeit (Standard).
-.IPs pitch
-Kehrt die Wirkung des Filters um.
-Skaliert Tonhöhe, ohne das Tempo zu verändern.
-Füge \'[ speed_mult 0.9438743126816935\' und \'] speed_mult 1.059463094352953\'
-deiner input.conf hinzu, um Schrittweite auf Halbtöne zu setzen.
-.I WARNUNG:
-Verliert Synchronisation mit Video.
-.IPs both
-Skaliert sowohl Tempo als auch Tonhöhe.
-.IPs none
-Ignoriere Tempoveränderungen.
-.RE
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
-Würde die Datei bei 1.2-fachem der normalen Geschwindigkeit wiedergeben, Audio
-auf normaler Tonhöhe.
-Änderung der Wiedergabegeschwindigkeit würde Anpassung der
-Audiogeschwindigkeit veranlassen, so dass diese passt.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
-Würde die Datei bei 1.2-fachem der normalen Geschwindigkeit wiedergeben, Audio
-auf normaler Tonhöhe, aber Änderung der Wiedergabegeschwindigkeit hätte keinen
-Effekt auf das Audiotempo.
-.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
-Würde die Qualitäts- und Performanceparameter anpassen.
-.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
-Würde dafür sorgen, dass scaletempo Code mit Fließkommazahlen verwendet.
-Möglicherweise schneller auf manchen Plattformen.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
-Würde die Datei bei 1.2-fachem der normalen Geschwindigkeit wiedergeben, Audio
-auf normaler Tonhöhe.
-Änderung der Wiedergabegeschwindigkeit würde die Tonhöhe ändern und Audiotempo
-bei 1.2-fachem lassen.
-.RE
-.PD 1
-.
-.
-.
-.
-.SH "VIDEOFILTER"
-Videofilter erlauben dir, den Videostream und seine Eigenschaften zu ändern.
-Die Syntax ist folgende:
-.
-.TP
-.B \-vf <Filter1[=Parameter1:Parameter2:...],Filter2,...>
-Aktiviert eine Videofilterkette zusammen mit ihren Optionen.
-.PP
-Viele Parameter sind optional und werden teilweise mit Standardwerten belegt,
-wenn sie weggelassen werden.
-Mit '\-1' werden die Standardwerte explizit beibehalten.
-Die Parameter w:h bedeuten Breite (width) x Höhe (height); x:y bedeutet
-die x:y-Position relativ zur linken oberen Ecke des größeren Bildes.
-.br
-.I ANMERKUNG:
-Eine vollständige Liste aller verfügbaren Plugins liefert \-vf help.
-.sp 1
-Videofilter werden in Listen verwaltet.
-Es gibt ein paar Kommandos, um die Filterliste zu regeln.
-.
-.TP
-.B \-vf\-add <Filter1[,Filter2,...]>
-Fügt die angegebenen Filter ans Ende der Filterliste hinzu.
-.
-.TP
-.B \-vf\-pre <Filter1[,Filter2,...]>
-Fügt die angegebenen Filter an den Anfang der Filterliste hinzu.
-.
-.TP
-.B \-vf\-del <Index1[,Index2,...]>
-Löscht die Filter an der angegebenen Indexposition.
-Indexnummern beginnen bei 0, negative Nummern adressieren das Ende der Liste
-(\-1 ist der letzte).
-.
-.TP
-.B \-vf\-clr
-Leert die Filterliste komplett.
-.PP
-Bei Filtern, die dies unterstützen, kannst Du auf Parameter über den Namen
-zugreifen.
-.
-.TP
-.B \-vf <filter>=help
-Gibt die Parameternamen und die gültigen Wertebereiche der Parameter für einen
-bestimmen Filter aus.
-.
-.TP
-.B \-vf <Filter=benannter_Parameter1=Wert1[:benannter_Parameter2=Wert2:...]>
-Setzt einen benannten Parameter auf den angegebenen Wert.
-Benutze 'on' und 'off' oder 'yes' und 'no', um Flag-Parameter zu setzen.
-.PP
-Die verfügbaren Filter sind folgende:
-.
-.TP
-.B crop[=b:h:x:y]
-Schneidet den angegeben Teil des Bildes aus und verwirft den Rest.
-Nützlich, um schwarze Balken bei Widescreen-Filmen zu entfernen.
-.PD 0
-.RSs
-.IPs <b>,<h>
-Abgeschnittene Breite und Höhe, ist voreingestellt auf die originale Breite
-und Höhe.
-.IPs <x>,<y>
-Position des abgeschnittenen Bildes, ist voreingestellt auf die Mitte.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=Limit:Rundung]
-Berechnet die Schneideparameter für den crop-Filter und gibt die empfohlenen
-Parameter auf die Standardausgabe aus.
-.PD 0
-.RSs
-.IPs <Limit>
-Schwellenwert, der optional angegeben werden kann als nichts (0) bis hin zu
-allem
-(255) (Standard: 24).
-.br
-.IPs <Rundung>
-Wert, durch den die Breite/\:Höhe teilbar sein sollte (Standard: 16).
-Der Offset wird automatisch angepasst, um das Video zu zentrieren.
-Benutze 2, um gerade Dimensionen zu bekommen (wird für 4:2:2-Video gebraucht).
-16 ist beim Encodieren für die meisten Videocodecs die beste Wahl.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=b:h:x:y]
-Zeichnet ein Rechteck der geforderten Breite und Höhe an den angegebenen
-Koordinaten über das Bild und gibt die aktuellen Rechteckparameter auf die
-Konsole aus.
-Dies kann verwendet werden, um optimale Parameter für das Beschneiden der
-Ränder (cropping) zu finden.
-Wenn du die Direktive 'change_rectangle' an einen Tastenanschlag bindest,
-kannst du so das Rechteck während der Wiedergabe bewegen und dessen Größe
-ändern.
-.PD 0
-.RSs
-.IPs <b>,<h>
-Breite und Höhe (Standard: \-1, maximal mögliche Breite, wobei die Begrenzungen
-sichtbar bleiben)
-.IPs <x>,<y>
-Position der linken oberen Ecke (Standard: \-1, ganz oben, ganz links)
-.RE
-.PD 1
-.
-.TP
-.B expand[=b:h:x:y:o:a:r]
-Vergrößert das Bild ohne Skalierung auf die angegebene Größe und
-platziert das unskalierte Originalbild an die Koordinaten x/\:y.
-Kann benutzt werden, um die Platzierung des OSD/der Untertitel auf
-schwarzen Balken zu erreichen.
-.RSs
-.IPs <b>,<h>
-Expandierte Breite,Höhe (Standard: originale Breite,Höhe).
-Negative Werte für b und h werden als Offsets zur Originalgröße behandelt.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-Fügt unterhalb des Bildes einen Rand von 50 Pixel ein.
-.RE
-.PD 1
-.IPs <x>,<y>
-Position des ursprünglichen Bildes im expandierten Bild (Standard: Mitte)
-.IPs "<o>\ \ "
-Anzeige von OSD/\:Untertiteln
-.RSss
-0: deaktiviert (Standard)
-.br
-1: aktiviert
-.REss
-.IPs "<a>\ \ "
-Expandiert angepasst an das Seitenverhältnis anstatt an die Auflösung
-(Standard: 0).
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-Erweitert auf 800x600, es sei denn, die Quelle hat einen höhere Auflösung, dann
-wird auf das Seitenverhältnis 4/3 erweitert.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Rundet Breite und Höhe auf Vielfache von <r> auf. (Standard: 1).
-.RE
-.
-.TP
-.B flip (siehe auch \-flip)
-Stellt das Bild auf den Kopf.
-.
-.TP
-.B "mirror\ "
-Spiegelt das Bild an der Y-Achse.
-.
-.TP
-.B rotate[=<0\-7>]
-Dreht das Bild um +/\:- 90 Grad (und stellt es optional auf den Kopf).
-Bei Werten zwischen 4\-7 wird das Bild nur dann gedreht, wenn es vorher
-hochkant war (es also höher als breit ist).
-.RSs
-.IPs 0
-Drehe um 90 Grad im Uhrzeigersinn und stelle es auf den Kopf (Standard).
-.IPs 1
-Drehe um 90 Grad im Uhrzeigersinn.
-.IPs 2
-Drehe um 90 Grad gegen den Uhrzeigersinn.
-.IPs 3
-Drehe um 90 Grad gegen den Uhrzeigersinn und stelle es auf den Kopf.
-.RE
-.
-.TP
-.B scale[=b:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
-Skaliert das Bild mit dem Softwareskalierer (langsam) und führt eine
-Farbraumkonvertierung zwischen YUV und RGB durch (siehe auch \-sws).
-.RSs
-.IPs <b>,<h>
-skalierte Breite/\:Höhe (Standard: originale Breite/\:Höhe)
-.br
-.I ANMERKUNG:
-Wenn \-zoom benutzt wird und die unterliegenden Filter (inklusive libvo)
-Skalierung nicht unterstützen, werden die Werte d_width/\:d_height benutzt.
-.\" FIXME: Klärung von d_width/\:d_height!
-.RSss
- 0: skalierte d_width/\:d_height
-.br
-\-1: originale Breite/\:Höhe
-.br
-\-2: Berechne Breite/Höhe anhand der jeweils anderen Größe und dem
-vorskalierten Breiten-/Höhenverhältnis.
-.br
-\-3: Berechne Breite/Höhe anhand der jeweils anderen Größe und dem
-originalen Breiten-/Höhenverhältnis.
-.br
-\-(n+8): wie \-n oben, rundet aber die Abmessung auf das nächste Vielfache von
-16.
-.REss
-.IPs <interlaced>
-Schalte Interlaced-Skalierung an/\:aus.
-.RSss
-0: aus (Standard)
-.br
-1: ein
-.REss
-.IPs <chr_drop>
-Chroma-Skipping, Auslassen von Chrominanz-Berechnungen
-.RSss
-0: Benutze alle verfügbaren Eingabezeilen für Chrominanz-Berechnungen.
-.br
-1: Benutze nur jede zweite Eingabezeile für Chrominanz-Berechnungen.
-.br
-2: Benutze nur jede vierte Eingabezeile für Chrominanz-Berechnungen.
-.br
-3: Benutze nur jede achte Eingabezeile für Chrominanz-Berechnungen.
-.REss
-.IPs "<par>:[:<par2>] (siehe auch \-sws)"
-Setzt einige Skalierungsparameter abhängig vom Skalierer, der mit \-sws
-gewählt wurde.
-.RSss
-\-sws 2 (bicubisch): B (weichzeichnend) und C (verstärkend)
-.br
-0.00:0.60 Standard
-.br
-0.00:0.75 "precise bicubic" von VirtualDub
-.br
-0.00:0.50 Catmull-Rom spline
-.br
-0.33:0.33 Mitchell-Netravali spline
-.br
-1.00:0.00 cubic B-spline
-.br
-\-sws 7 (gaussian): Schärfe (0 (weich) \- 100 (scharf))
-.br
-\-sws 9 (lanczos): Filterlänge (1\-10)
-.REss
-.IPs <presize>
-Skaliere auf eine Standardgröße.
-.RSss
-qntsc: 352x240 (NTSC Quarter-Screen)
-.br
-qpal: 352x288 (PAL Quarter-Screen)
-.br
-ntsc: 720x480 (Standard-NTSC)
-.br
-pal: 720x576 (Standard-PAL)
-.br
-sntsc: 640x480 (NTSC mit quadratischen Pixeln)
-.br
-spal: 768x576 (PAL mit quadratischen Pixeln)
-.REss
-.IPs <noup>
-Verbietet Hochskalierung über die ursprünglichen Abmessungen hinaus.
-.RSss
-0: Erlaubt Hochskalierung (Standard).
-.br
-1: Verbietet Hochskalierung, falls eine Abmessung ihren ursprünglichen Wert
-überschreitet.
-.br
-2: Verbietet Hochskalierung, falls beide Abmessungen ihre ursprünglichen Werte
-überschreiten.
-.REss
-.IPs <arnd>
-Genaues Runden für den vertikalen Skalierer, der schneller oder langsamer als
-das Standardrunden ist.
-.RSss
-0: Deaktiviert genaues Runden (Standard).
-.br
-1: Aktiviert genaues Runden.
-.REss
-.RE
-.
-.TP
-.B dsize=[Aspekt|b:h:Aspektmethode:r]
-Ändert die beabsichtigte Displaygröße/\:den Aspekt an einer frei wählbaren
-Position der Filterkette.
-Der Aspekt kann als Bruch (4/3) oder Fließkommazahl (1.33) angegeben werden.
-Alternativ können exakte Wiedergabebreite und -höhe wie gewünscht angegeben
-werden.
-Beachte, dass dieser Filter selbst
-.B keine
-Skalierung vornimmt; er beeinflusst nur, was spätere Skalierer (Software oder
-Hardware) beim automatischen Skalieren tun werden, um den Aspekt zu
-korrigieren.
-.RSs
-.IPs <b>,<h>
-Neue Wiedergabebreite und -höhe.
-Kann auch die folgenden Spezialwerte haben:
-.RSss
- 0: ursprüngliche Anzeigebreite und -höhe.
-.br
-\-1: ursprüngliche Videobreite/-höhe (Standard).
-.br
-\-2: Berechne Breite/Höhe anhand der anderen Abmessung und des ursprünglichen
-Anzeigeaspekts.
-.br
-\-3: Berechne Breite/Höhe anhand der anderen Abmessung und des ursprünglichen
-Videoaspekts.
-.REss
-.sp 1
-.I BEISPIEL:
-.PD 0
-.IP dsize=800:\-2
-Gibt eine Anzeigeauflösung von 800x600 für ein Video mit Aspekt 4/3, oder
-800x450 für ein 16/9-Video an.
-.RE
-.IPs <Aspektmethode>
-Verändert Breite und Höhe anhand des ursprünglichen Aspekts.
-.RSss
-\-1: Ignoriere ursprünglichen Aspekt (Standard).
-.br
- 0: Behalte Anzeigeaspekt durch Benutzung von <b> und <h> als Maximalauflösung.
-.br
- 1: Behalte Anzeigeaspekt durch Benutzung von <b> und <h> als Minimalauflösung.
-.br
- 2: Behalte Videoaspekt durch Benutzung von <b> und <h> als Maxmimalauflösung.
-.br
- 3: Behalte Videoaspekt durch Benutzung von <b> und <h> als Minimalauflösung.
-.REss
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-Gibt eine Anzeigeauflösung von maximal 800x600 oder kleiner an, um den Aspekt
-beizubehalten.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Rundet Breite und Höhe auf ein Vielfaches von <r> auf (Standard: 1).
-.RE
-.
-.TP
-.B "yuy2\ \ \ "
-Erzwingt Konvertierung von YV12/\:I420/\:422P nach YUY2 in Software.
-Nützlich bei Videokarten/\:Treibern mit langsamer YV12- aber
-schneller YUY2-Unterstützung.
-.
-.TP
-B "yvu9\ \ \ "
-Erzwingt eine Software-Farbraumkonvertierung von YVU9 nach YV12.
-Zu Gunsten des Softwareskalierers abgelehnt.
-.
-.TP
-.B "yuvcsp\ "
-Zieht die YUV-Farbwerte auf den CCIR 601-Bereich zusammen, ohne eine
-wirkliche Konvertierung vorzunehmen.
-.
-.TP
-.B rgb2bgr[=swap]
-Farbraumkonvertierung RGB 24/32 <\-> BGR 24/32
-.PD 0
-.RSs
-.IPs "swap\ "
-Führe auch eine R <-> B-Vertauschung durch.
-.RE
-.PD 1
-.
-.TP
-.B palette
-Farbraumkonvertierung RGB/BGR 8 \-> 15/16/24/32bpp unter Verwendung
-einer Farbpalette.
-.
-.TP
-.B format[=fourcc]
-Beschränkt den Farbraum des nächsten Filters ohne jegliche Konvertierung.
-Benutze ihn zusammen mit dem scale-Filter, um tatsächlich eine Konvertierung
-durchzuführen.
-.br
-.I ANMERKUNG:
-Für eine Liste der verfügbaren Formate siehe format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-Formatname wie rgb15, bgr24, yv12 usw.\& (Standard: yuy2)
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-Beschränkt den Farbraum des nächsten Filters ohne jegliche Konvertierung.
-Anders als der format-Filter erlaubt dieser jeden Farbraum
-.B außer
-dem von dir angegebenen.
-.br
-.I ANMERKUNG:
-Für eine Liste der verfügbaren Formate siehe noformat=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-Formatname wie rgb15, bgr24, yv12 usw.\& (Standard: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=Filter1[:Option1[:Option2...]]/[\-]Filter2...] (siehe auch \-pphelp)
-Aktiviert die Benutzung der angegebenen Kette von Postprocessing-Subfiltern.
-Subfilter müssen durch ein '/'\-Zeichen voneinander getrennt werden und
-können durch ein vorangestelltes '\-' deaktiviert werden.
-Jeder Unterfilter und manche Optionen haben einen kurzen und einen langen
-Namen, die unabhängig voneinander benutzt werden können, so ist z.B.\&
-dr/dering das gleiche.
-Alle Subfilter teilen gemeinsame Optionen, um ihren Geltungsbereich zu
-bestimmen:
-.PD 0
-.RSs
-.IPs a/autoq
-Schalte den Subfilter automatisch aus, falls die CPU zu langsam ist.
-.IPs c/chrom
-Führe außerdem Chrominanz-Filterung durch (Standard).
-.IPs y/nochrom
-Führe nur Luminanz-Filterung durch (keine Chrominanz).
-.IPs n/noluma
-Führe nur Chrominanz-Filterung durch (keine Luminanz).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I ANMERKUNG:
-\-pphelp zeigt eine Liste der verfügbaren Subfilter.
-.sp 1
-Verfügbare Subfilter sind folgende:
-.RE
-.RSs
-.IPs hb/hdeblock[:Differenz[:Flachheit]]
-horizontaler Deblocking-Filter
-.RSss
-<Differenz>: Differenzfaktor, wobei größere Werte mehr Deblocking
-bedeuten (Standard: 32).
-.br
-<Flachheit>: Schwellenwert für die Flachheit, wobei niedrigere Werte
-mehr Deblocking bedeuten (Standard: 39).
-.REss
-.IPs vb/vdeblock[:Differenz[:Flachheit]]
-vertikaler Deblocking-Filter
-.RSss
-<Differenz>: Differenzfaktor, wobei größere Werte mehr Deblocking
-bedeuten (Standard: 32).
-.br
-<Flachheit>: Schwellenwert für die Flachheit, wobei niedrigere Werte
-mehr Deblocking bedeuten (Standard: 39).
-.REss
-.IPs ha/hadeblock[:Differenz[:Flachheit]]
-genauer horizontaler Deblocking-Filter
-.RSss
-<Differenz>: Differenzfaktor, wobei größere Werte mehr Deblocking
-bedeuten (Standard: 32).
-.br
-<Flachheit>: Schwellenwert für die Flachheit, wobei niedrigere Werte
-mehr Deblocking bedeuten (Standard: 39).
-.REss
-.IPs va/vadeblock[:Differenz[:Flachheit]]
-genauer vertikaler Deblocking-Filter
-.RSss
-<Differenz>: Differenzfaktor, wobei größere Werte mehr Deblocking
-bedeuten (Standard: 32).
-.br
-<Flachheit>: Schwellenwert für die Flachheit, wobei niedrigere Werte
-mehr Deblocking bedeuten (Standard: 39).
-.REss
-.sp 1
-Die horizontalen und vertikalen Deblocking-Filter benutzen die Werte
-für Differenz und Flachheit gemeinsam, du kannst daher keine unterschiedlichen
-horizontalen und vertikalen Schwellenwerte angeben.
-.sp 1
-.IPs h1/x1hdeblock
-experimenteller horizontaler Deblocking-Filter
-.IPs v1/x1vdeblock
-experimenteller vertikaler Deblocking-Filter
-.IPs dr/dering
-Störungsfilter
-.IPs tn/tmpnoise[:Schwelle1[:Schwelle2[:Schwelle3]]]
-Reduzierung zeitweisen Rauschens
-.RSss
-<Schwelle1>: größer \-> stärkere Filterung
-.br
-<Schwelle2>: größer \-> stärkere Filterung
-.br
-<Schwelle3>: größer \-> stärkere Filterung
-.REss
-.IPs al/autolevels[:f/fullyrange]
-automatische Korrektur von Helligkeit und Kontrast
-.RSss
-f/fullyrange: Ausdehnung der Luminanz auf (0\-255).
-.REss
-.IPs lb/linblenddeint
-Linearer Mischungs-Deinterlace-Filter, der Deinterlacing eines gegebenen
-Blocks durch Filterung mit einem (1 2 1)-Filter durchführt.
-.IPs li/linipoldeint
-Linearer Interpolations-Deinterlace-Filter, der Deinterlacing eines gegebenen
-Blocks durch lineare Interpolation jeder zweiten Zeile durchführt.
-.IPs ci/cubicipoldeint
-Cubischer Interpolations-Deinterlace-Filter, der Deinterlacing eines gegebenen
-Blocks durch cubische Interpolation jeder zweiten Zeile durchführt.
-.IPs md/mediandeint
-Median-Deinterlace-Filter, der Deinterlacing eines gegebenen Blocks durch
-Medianfilterung jeder zweiten Zeile durchführt.
-.IPs fd/ffmpegdeint
-FFmpeg-Deinterlace-Filter, der Deinterlacing eines gegebenen Blocks durch
-Filterung jeder zweiten Zeite mit einem (\-1 4 2 4 \-1)-Filter durchführt.
-.IPs l5/lowpass5
-Vertikal angewendeter FIR-Tiefpass-Deinterlace-Filter, der Deinterlacing eines
-gegebenen Blocks durch Filterung aller Zeilen mit einem (\-1 2 6 2 \-1)-Filter
-durchführt.
-.IPs fq/forceQuant[:Quantisierungsparameter]
-Überschreibt die Tabelle der Quantisierungsparameter der Eingabe mit einem
-konstanten Quantisierungsparameter, den du angibst.
-.RSss
-<Quantisierungsparameter>: zu benutzender Quantisierungsparameter
-.REss
-.IPs de/default
-Standard-pp-Filterkombination (hb:a,vb:a,dr:a)
-.IPs fa/fast
-schnelle pp-Filterkombination (h1:a,v1:a,dr:a)
-.IPs "ac\ \ \ "
-hochqualitative pp-Filterkombination (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-horizontales und vertikales Deblocking, Abschwächung und automatische
-Helligkeit/\:Kontrast
-.IPs "\-vf pp=de/\-al"
-Standardfilter ohne Helligkeits\-/\:Kontrastkorrektur
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-Aktiviert Standardfilter und temporäre Rauschunterdrücker.
-.IPs "\-vf pp=hb:y/vb:a"
-Horizontales Deblocking nur luminanzbezogen, schaltet vertikales Deblocking
-je nach verfügbarer CPU-Auslastung hinzu.
-.RE
-.PD 1
-.
-.TP
-.B spp[=Qualität[:qp[:Modus]]]
-Einfacher Nachbearbeitungsfilter, der das Bild
-mit mehreren (bzw.\& \- im Falle von Qualitätslevel 6 \- allen) Verschiebungen
-komprimiert und dekomprimiert und daraus den Mittelwert bildet.
-.RSs
-.IPs <Qualität>
-0\-6 (Standard: 3)
-.IPs "<qp>\ "
-Erzwinge Quantisierungsparameter (Standard: 0, benutze QP vom Video).
-.IPs <Modus>
-0: harter Schwellenwert (Standard)
-.br
-1: weicher Schwellenwert (besseres Deringing, aber unschärfer)
-.br
-4: wie 0, benutze aber auch den QP von B-Frames (kann Flackern verursachen).
-.br
-5: wie 1, benutze aber auch QP von B-Frames (kann Flackern verursachen).
-.RE
-.
-.TP
-.B uspp[=Qualität[:qp]]
-Ultra-einfacher und -langsamer Nachbearbeitungsfilter, der das Bild
-mit mehreren (bzw.\& \- im Falle von Qualitätslevel 8 \- alle) Verschiebungen
-rekomprimiert und daraus den Mittelwert bildet.
-Dies unterscheidet sich im Verhalten zu spp insofern, dass uspp tatsächlich
-jeden Fall mit libavcodec Snow encodiert und decodiert, wohingegen spp eine
-vereinfachte nur-Intra 8x8 DCT ähnlich der bei MJPEG benutzten verwendet.
-.RSs
-.IPs <Qualität>
-0\-8 (Standard: 3)
-.IPs "<qp>\ "
-Erzwinge Quantisierungsparameter (Standard: 0, benutze QP vom Video).
-.RE
-.
-.TP
-.B fspp[=Qualität[:qp[:Stärke[:bframes]]]]
-schnellere Variante des einfachen Nachbearbeitungsfilters.
-.RSs
-.IPs <Qualität>
-4\-5 (äquivalent zu spp; Standard: 4)
-.IPs "<qp>\ "
-Erzwinge Quantisierungsparameter (Standard: 0, benutze QP vom Video).
-.IPs <Stärke> (\-15\-32)
-Stärke des Filters, niedrigere Werte behalten mehr Details, aber auch mehr
-Artefakte, während höhere Werte das Bild glatter und unschärfer machen
-(Standard: 0 \- PSNR optimal).
-.IPs <bframes>
-0: Benutze QP von B-Frames nicht (Standard).
-.br
-1: Benutze auch QP von B-Frames (Kann Flackern verursachen).
-.RE
-.
-.TP
-.B pp7[=qp[:Modus]]
-Variante des spp-Filters, vergleichbar mit spp=6 mit 7-Punkt DCT, wobei
-nur der Wert aus der Mitte nach der IDCT weiterbenutzt wird.
-.RSs
-.IPs "<qp>\ "
-Erzwinge Quantisierungsparameter (Standard: 0, benutze QP vom Video).
-.IPs <Modus>
-0: harte Schwellwerte
-.br
-1: weiche Schwellwerte (besseres Deringing, aber unschärfer)
-.br
-2: mittlere Schwellwerte (Standard, gute Ergebnisse)
-.RE
-.
-.TP
-.B qp=Gleichung
-Filter zur Änderung der Quantisierungsparameter (QP).
-.RSs
-.IPs <Gleichung>
-eine Gleichung wie "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B geq=Gleichung
-generischer Gleichungsänderungsfilter
-.RSs
-.IPs <Gleichung>
-Irgendeine Gleichung, z.B.\& 'p(W-X\\,Y)' zum horizontalen Spiegeln des Bildes.
-Du kannst Leerzeichen verwenden, um die Gleichung besser lesbar zu machen.
-Es gibt ein paar Konstanten, die in der Gleichung verwendet werden können:
-.RSss
-PI: die Zahl Pi
-.br
-E: die Zahl e
-.br
-X / Y: die Koordinaten des aktuellen Samples
-.br
-W / H: Breite und Höhe des Bildes
-.br
-SW / SH: Skalierung der Breite/Höhe abhängig von der momentan gefilterten
-Ebene, z.B.\& 1,1 und 0.5,0.5 für YUV 4:2:0.
-.br
-p(x,y): Gibt den Wert des Pixels an Position x/y der aktuellen Ebene zurück.
-.REss
-.RE
-.
-.TP
-.B "test\ \ \ "
-Generiere verschiedene Testmuster.
-.
-.TP
-.B rgbtest[=Breite:Höhe]
-Generiere ein RGB-Testmuster, nützlich, um RGB/\:BGR-Probleme zu erkennen.
-Du solltest einen roten, grünen und blauen Streifen von oben nach unten sehen.
-.RSs
-.IPs <Breite>
-Gewünschte Breite des generierten Bildes (Standard: 0).
-0 bedeutet Breite des Eingabebildes.
-.br
-.IPs <Höhe>
-Gewünschte Höhe des generierten Bildes (Standard: 0).
-0 bedeutet Höhe des Eingabebildes.
-.RE
-.
-.TP
-.B lavc[=Qualität:fps]
-Schnelle Softwarekonvertierung von YV12 nach MPEG-1 mit libavcodec
-für die Benutzung mit DVB/\:DXR3/\:IVTV/\:V4L2.
-.RSs
-.IPs <Qualität>
-1\-31: fester Quantisierungsfaktor
-.br
-32\-: feste Bitrate in kBit
-.IPs <fps>
-Erzwinge Ausgabe-fps (Fließkommawert) (Standard: 0, automatische
-Erkennung basierend auf Höhe)
-.RE
-.
-.TP
-.B dvbscale[=Aspekt]
-Wählt die optimale Skalierung für DVB-Karten, skaliert hardwareseitig
-die X-Achse und berecht die Y-Achse softwareseitig, um den Aspekt
-beizubehalten.
-Nützlich nur in Verbindung mit expand und scale.
-.RSs
-.IPs <Aspekt>
-Kontrolliere das Seitenverhältnis, berechnet durch DVB_HÖHE*ASPEKT
-(Standard:
-576*4/3=768), setze auf 576*(16/9)=1024 für einen 16:9-Fernseher.
-.RE
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-.\" FIXME: Erkläre, was dieser Befehl bewirkt.
-.RE
-.PD 1
-.
-.TP
-.B "noise[=Helligkeit[u][t|a][h][p]:Farbwert[u][t|a][h][p]]"
-Fügt Rauschen hinzu.
-.PD 0
-.RSs
-.IPs <0\-100>
-Helligkeitsrauschen
-.IPs <0\-100>
-Farbrauschen
-.IPs u
-gleichförmiges Rauschen (sonst gaußsch)
-.IPs t
-temporäres Rauschen (Rauschmuster wechselt zwischen Bildern)
-.IPs a
-gemitteltes temporäres Rauschen (weicher, aber viel langsamener)
-.IPs h
-hohe Qualität (sieht etwas besser aus, dafür etwas langsamer)
-.IPs p
-Mische Rauschen mit einem (halbwegs) gleichmäßigen Muster
-.RE
-.PD 1
-.
-.TP
-.B "denoise3d[=Helligkeit_r:Farbwert_r:Helligkeit_z:Farbwert_z]"
-Dieser Filter versucht, Bildrauschen zu unterdrücken und so bewegungslose
-Bilder wirklich statisch zu machen (was das Bild besser komprimierbar machen
-sollte).
-.PD 0
-.RSs
-.IPs <Helligkeit_r>
-räumliche Helligkeitsstärke (Standard: 4)
-.IPs <Farbwert_r>
-räumliche Farbstärke (Standard: 3)
-.IPs <Helligkeit_z>
-zeitliche Helligkeitsstärke (Standard: 6)
-.IPs <Farbwert_z>
-zeitliche Farbstärke (Standard: Helligkeit_r*Farbwert_r/Helligkeit_z)
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=Helligkeit_r:Farbwert_r:Helligkeit_z:Farbwert_z]"
-Hochpräzise und -qualitative Version des Denoise3d-Filters.
-Parameter und Gebrauch sind dieselben.
-.
-.TP
-.B ow[=Tiefe[:Helligkeitsstärke[:Farbtonstärke]]]
-Overcomplete Wavelet Denoiser.
-.PD 0
-.RSs
-.IPs <Tiefe>
-Größere Tiefenwerte werden Komponenten mit niedrigerer Frequenz stärker
-entstören, das Filtern jedoch verlangsamen (Standard: 8).
-.IPs <Helligkeitsstärke>
-Helligkeitsstärke (Standard: 1.0)
-.IPs <Farbtonstärke>
-Farbtonstärke (Standard: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B eq[=Helligkeit:Kontrast] (VERALTET)
-Softwareequalizer mit interaktiver Kontrolle wie beim Hardwareequalizer, für
-Karten/\:Treiber, die die Kontrolle über Helligkeit und Kontrast via Hardware
-nicht unterstützen.
-Kann in Verbindung mit MEncoder nützlich sein; einerseits, um schlecht
-aufgenommene Filme zu reparieren, und zum anderen, um Artifakte zu maskieren
-und niedrigere Bitraten benutzen zu können.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-initiale Helligkeit
-.IPs <\-100\-100>
-initialer Kontrast
-.RE
-.PD 1
-.
-.TP
-.B eq2[=gamma:Kontrast:Helligkeit:Sättigung:rg:gg:bg:weight]
-Alternativer Softwareequalizer, der Lookup-Tabellen benutzt (sehr langsam).
-Er erlaubt neben simpler Anpassung der Helligkeit und des Kontrastes
-auch eine Gammakorrektur.
-Beachte, dass er den gleichen MMX-optimierten Code benutzt wie \-vf eq, wenn
-alle Gammawerte 1.0 betragen!
-Die Parameter werden als Fließkommazahlen angegeben.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-initialer Gammawert (Standard: 1.0)
-.IPs <\-2\-2>
-initialer Kontrast, wobei negative Werte ein Negativbild bewirken
-(Standard: 1.0)
-.IPs <\-1\-1>
-initiale Helligkeit (Standard: 0.0)
-.IPs <0\-3>
-initiale Sättigung (Standard: 1.0)
-.IPs <0.1\-10>
-Gammawert der roten Komponente (Standard: 1.0)
-.IPs <0.1\-10>
-Gammawert der grünen Komponente (Standard: 1.0)
-.IPs <0.1\-10>
-Gammawert der blauen Komponente (Standard: 1.0)
-.IPs <0\-1>
-Der Parameter weight kann verwendet werden, um die Wirkung hoher Gammawerte auf
-helle Bildbereiche zu reduzieren, sie also z.B.\& davon abzuhalten
-zu übersteuern und ganz weiss zu werden.
-Bei 0.0 hat die Gammakorrektur gar keinen Effekt mehr, bei 1.0 hat sie die
-volle Stärke.
-.RE
-.PD 1
-.
-.TP
-.B hue[=Farbton:Sättigung]
-Softwareequalizer mit interaktiver Kontrolle wie beim Hardwareequalizer, für
-Karten/\Treiber, die Farbton- und Sättigungskontrolle nicht in Hardware
-unterstützen.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-initiale Farbtonstärke (Standard: 0.0)
-.IPs <\-100\-100>
-initiale Sättigung, wobei negative Werte zu negativer Chrominanz führen
-(Standard: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-Konvertiert planares YUV 4:2:0 in halbhohes, gepacktes 4:2:2, wobei
-der Farbanteil beibehalten und die Helligkeit nach unten angepasst wird.
-Nützlich bei Ausgaben auf Geräte mit niedriger Auflösung, bei denen
-die Hardwareskalierung schlechte Qualität liefert oder nicht verfügbar ist.
-Kann auch als primitiver Deinterlacer benutzt werden, der nur auf dem
-Helligkeitsanteil arbeitet und sehr wenig CPU-Leistung erfordert.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-In der Voreinstellung bildet halfpack beim Downsampling den Durchschnitt
-von Zeilenpaaren.
-Jeder von 0 oder 1 verschiedene Wert liefert das
-Standard(downsampling)verhalten.
-.RSss
-0: Benutze beim Downsampling nur die geraden Zeilen.
-.br
-1: Benutze beim Downsampling nur die ungeraden Zeilen.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=Modus]
-Wenn interlaced-Videos in YUV 4:2:0-Formaten gespeichert wird, wird das
-Interlacing der Chrominanz wegen vertikalen Resamplings der Chrominanzkanäle
-nicht an den richtigen Stellen dargestellt.
-Dieser Filter packt die planaren 4:2:0-Daten in das YUY2 (4:2:2)-Format
-mit den Chrominanzlinien an den richten Stellen.
-So kommen die Daten für Helligkeit und Chrominanz für jede Zeile vom selben
-Feld.
-.PD 0
-.RSs
-.IPs <Modus>
-Wähle den Skalierungs-Modus.
-.RSss
-0: Bildpunktverdopplung (nearest-neighbor), schnell aber ungenau
-.br
-1: lineare Interpolation (Standard)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-Nur in Verbindung mit MEncoder nützlich.
-Wenn harddup bei der Encodierung verwendet wird, sorgt es dafür, dass doppelte
-Frames auch im encodierten Output doppelt vorkommen.
-Dies verbraucht ein wenig mehr Platz, ist jedoch für die Ausgabe in
-MPEG-Dateien nötig oder dann, wenn der Videostream nach der Encodierung
-getrennt und neu zusammengesetzt werden soll (demux und remux).
-Die Option sollte am oder nahe am Ende der Filterkette stehen, es sei denn, du
-hast einen guten Grund, es anders zu machen.
-.
-.TP
-.B softskip
-Nur in Verbindung mit MEncoder nützlich.
-Softskip verschiebt den Schritt des Encodierungsvorgangs, Frames zu
-Überspringen (Wegzulassen) von der Position vor der Filterkette in die
-Filterkette hinein.
-Dies erlaubt denjenigen Filtern, die alle Frames untersuchen müssen
-(umgekehrtes Telecine, zeitliche Rauschunterdrückung), korrekt zu arbeiten.
-Sollte nach den Filtern, die alle Frames untersuchen müssen, platziert werden
-und vor all denjenigen, die CPU-intensiv sind.
-.
-.TP
-.B decimate[=max:hi:lo:frac]
-Lässt Frames weg, die sich nicht sehr on den vorigen unterscheiden, um die
-Framerate zu reduzieren.
-Die Hauptanwendung für diesen Filters ist die Encodierung bei sehr niedrigen
-Bitraten (z.B.\& Streaming über eine Modemverbindung), er kann aber
-theoretisch auch dazu benutzt werden, Filme zu reparieren, die mit
-inversed-telecine fehlerhaft encodiert worden sind.
-.PD 0
-.RSs
-.IPs <max>
-Setzt eine obere Grenze für die Anzahl aufeinanderfolgender Frames, die
-weggelassen werden können (falls positiv), sonst das kleinste Intervall
-zwischen weggelassenen Frames (falls negativ).
-.IPs <hi>,<lo>,<frac>
-Ein Frame ist Kanditat dafür, weggelassen zu werden, falls keine 8x8-Region
-sich mehr unterscheidet als der Schwellenwert <hi> angibt und falls sich nicht
-mehr als der Anteil <frac> angibt (wobei 1 das ganze Bild bedeutet) vom
-Schwellenwert <lo> unterscheidet.
-Werte für <hi> und <lo> beziehen sich auf 8x8-Pixelblöcke und repräsentieren
-aktuelle Unterschiede der Pixelwerte.
-Ein Schwellenwert von 64 entspricht also einer Einheit im Unterschied für jeden
-Pixel oder derselben unterschiedlichen Ausbreitung über einen Block.
-.RE
-.PD 1
-.
-.TP
-.B dint[=sense:level]
-Der verwerfende Deinterlace-Filter (drop-deinterlace, dint) erkennt und
-verwirft den ersten einer Gruppe von interlaced Frames.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-relative Differenz zwischen benachbarten Pixeln (Standard: 0.1)
-.IPs <0.0\-1.0>
-Wie groß der als interlaced erkannte Teil eines Bildes sein muss, damit der
-Frame verworfen wird (Standard: 0.15).
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (VERALTET)
-FFmpeg-Deinterlace-Filter, gleichbedeutend mit \-vf pp=fd
-.
-.TP
-.B kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
-Donald Grafts adaptiver Kernel-Deinterlacer.
-Führt ein Deinterlacing von Teilen des Videos durch, falls ein
-wählbarer Schwellenwert überschritten wird.
-.PD 0
-.RSs
-.IPs <0\-255>
-Schwellenwert (Standard: 10)
-.IPs <map>
-.RSss
-0: Ignoriere Pixel, die den Schwellenwert überschreiten (Standard).
-.br
-1: Färbt Pixel, die den Schwellenwert überschreiten, weiß.
-.REss
-.IPs <order>
-.RSss
-0: Rühre die Felder nicht an (Standard).
-.br
-1: Tausche die Felder.
-.REss
-.IPs <sharp>
-.RSss
-0: Deaktiviere zusätzliches Schärfen (Standard).
-.br
-1: Füge zusätzliche Schärfe hinzu.
-.REss
-.IPs <twoway>
-.RSss
-0: Deaktiviert zwei-Wege-Schärfung (default).
-.br
-1: Aktiviert zwei-Wege-Schärfung.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "unsharp=l|cBxH:Menge[:l|cWxH:Menge]"
-Unschärfemaske / Gaußscher Weichzeichner
-.RS
-.IPs "l\ \ \ \ "
-Wendet den Effekt auf den Helligkeitsanteil an.
-.IPs "c\ \ \ \ "
-Wendet den Effekt auf den Farbanteil an.
-.IPs <Breite>x<Höhe>
-Breite und Höhe der Matrix, die in beide Richtungen
-ungerade sein muss (min = 3x3, max = 13x11 oder 11x13, normalerweise
-zwischen 3x3 und 7x7).
-.IPs Menge
-relative "Menge" der Schärfe/\:Unschärfe, die dem Bild hinzugefügt
-wird (ein vernünftiger Bereich ist \-1.5\-1.5).
-.RSss
-<0: weichzeichnen
-.br
->0: schärfen
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-Vertauscht die U- und V-Ebene.
-.
-.TP
-.B il=[d|i][s][:[d|i][s]]
-Führt ein (De)Interleaving von Zeilen durch.
-Das Ziel dieses Filters ist es, die Bearbeitung von interlaced Bildern zu
-ermöglichen, ohne sie vorher zu deinterlacen.
-Du kannst eine interlaced DVD filtern und am Fernseher ausgeben, ohne
-das Interlacing zu entfernen.
-Während Deinterlacing (mit dem Postprocessing-Filter) Interlacing permanent
-entfernt (smoothing, averaging, etc.\&), teilt
-dieser Filter das Bild in zwei Felder auf (sogenannte Halbbilder),
-so dass diese unabhängig voneinander gefiltert und wieder interleavt werden
-können.
-.PD 0
-.RSs
-.IPs d
-deinterleave, entschachteln (einen über dem anderen plazieren)
-.IPs i
-interleave, verschachteln
-.IPs s
-vertauschen der Felder (gerade und ungerade Zeilen austauschen)
-.RE
-.PD 1
-.
-.TP
-.B fil=[i|d]
-Führt ein (De)Interleaving von Zeilen durch.
-Dieser Filter ist dem il-Filter sehr ähnlich, jedoch viel schneller.
-Der Hauptnachteil ist, dass er nicht immer funktioniert.
-Besonders in Kombination mit anderen Filtern kann es zu zufällig gestörten
-Bildern kommen.
-Sei also froh, wenn es funktioniert, beschwere dich aber nicht, falls bei
-deiner Filterkombination Fehler auftreten.
-.PD 0
-.RSs
-.IPs d
-Deinterleave der Felder, platziert beide Seite an Seite.
-.IPs i
-Erneutes Interleave der Felder (kehrt den Effekt von fil=d um).
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-Extrahiert ein einzelnes Feld eines interlaced Bildes mit Stride-Arithmetik,
-um Verschwendung von CPU-Zeit zu vermeiden.
-Der optionale Parameter n gibt an, ob das gerade oder ungerade Feld extrahiert
-wird (abhängig davon, ob n selber gerade oder ungerade ist).
-.
-.TP
-.B detc[=Var1=Wert1:Var2=Wert2:...]
-Versucht, den 'Telecine'-Prozess umzukehren, um einen sauberen,
-nicht-interlaced-Stream mit der Framerate des Films wiederherzustellen.
-Dieser war der erste und primitivste Inverse-Telecine-Filter, der zu
-MPlayer/\:MEncoder hinzugefügt wurde.
-Er speichert Telecine-3:2-Muster zwischen und folgt ihnen soweit wie möglich.
-Dies macht in tauglich für perfekt-telecined Material, selbst bei
-Vorhandensein eines gewissen Grades an Störung.
-Er wird jedoch nicht funktionieren bei Vorhandensein komplexer
-Post-Telecine-Änderungen.
-Die Entwicklung an diesem Filter findet nicht weiter statt, da ivtc, pullup
-und filmdint für die meisten Anwendungen besser geeignet sind.
-Die folgenden Argumente (Syntax siehe oben) steuern das Verhalten des
-detc-Filters:
-.RSs
-.IPs "<dr>\ "
-Setzt den Framedropping-Modus.
-.RSss
-0: Kein Frame wird ausgelassen, um eine feste Framerate der Ausgabe
-zu erhalten (Standard).
-.br
-1: Ein Frame wird immer dann verworfen, wenn es keine Auslassungen oder
-Telecine-Zusammenführungen innerhalb der letzten 5 Frames gab.
-.br
-2: Ein ständiges Verhältnis von 5:4 der Eingabe zur Ausgabe wird beibehalten.
-.br
-.I ANMERKUNG:
-Benutze Modus 1 oder 2 mit MEncoder.
-.REss
-.IPs "<am>\ "
-Analyse-Modus.
-.RSss
-0: Festgelegtes Muster mit initialer Anzahl der Frames angegeben durch <fr>.
-.br
-1: aggressive Suche nach Telecine-Muster (Standard).
-.REss
-.IPs "<fr>\ "
-Setzt die initiale Anzahl der Frames in Folge.
-0\-2 sind die drei sauberen, progressiven Frames; 3 und 4 sind die beiden
-interlaced-Frames.
-Der Standardwert, \-1, bedeutet 'nicht in Telecine-Abfolge'.
-Die hier angegebene Zahl gibt den Typ des imaginären vorigen Frames an, bevor
-der Film beginnt.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-Schwellenwerte, die in bestimmten Modi verwendet werden.
-.RE
-.
-.TP
-.B ivtc[=1]
-Experimenteller 'zustandsloser' Inverse-Telecine-Filter.
-Anstatt zu versuchen, ein Muster zu finden, wie es der detc-Filter tut, trifft
-ivtc seine Entscheidungen unabhängig für jeden Frame.
-Dies liefert wesentlich bessere Resultate für Material, das ausgiebiger
-Editierung unterzogen wurde, nachdem Telecine angewendet wurde.
-Im Endeffekt ist es jedoch nicht so nachsichtig bei leicht gestörtem Input,
-wie bei Capturing von TV-Input.
-Der optionale Parameter (ivtc=1) entspricht der Option dr=1 des detc-Filters
-und sollte nur von MEncoder, nicht von MPlayer verwendet werden.
-Wie bei detc muss auch hier bei Benutzung von MEncoder die korrekte
-Ausgabe-Framerate (\-ofps 24000/1001) angegeben werden.
-Die Entwicklung an itvc findet nicht weiter statt, da die Filter pullup und
-filmdint genauer zu sein scheinen.
-.
-.TP
-.B pullup[=jl:jr:jo:ju:sb:mp]
-Pulldown-Umkehrungs- (inverse telecine) Filter der dritten Generation, der
-mixed Hard-telecine- und Progressive-Material mit 24000/1001 und 30000/1001 fps
-handhaben kann.
-Der Pullup-Filter ist wesentlich robuster als detc oder ivtc, da er
-für Entscheidungen zukünftigen Kontext zurate zieht.
-Wie ivtc auch ist pullup zustandslos in dem Sinne, dass er nicht nach einem zu
-folgenden Muster sucht, sondern stattdessen nach vorne schaut, um Gegenstücke
-zu finden und progressive Frames zusammenzusetzen.
-Der Filter befindet sich noch in der Entwicklung, scheint aber akkurat zu
-arbeiten.
-.RSs
-.IPs "jl, jr, jt, und jb"
-Diese Optionen bestimmen die zu ignorierende Menge "Müll"
-links, rechts, oben und unten am Bildrand, respektive.
-Links/\:rechts sind in Einheiten von 8 Pixeln anzugeben, oben/\:unten in
-Einheiten von 2 Zeilen.
-Der Standardwert ist 8 Pixel an jeder Seite.
-.br
-.IPs "sb (strict breaks)"
-Setzen dieser Option auf 1 reduziert die Chancen von pullup,
-gelegentlich einen falsch getroffenen Frame zu generieren.
-Es kann jedoch auch dazu führen, dass während schnellen bewegten Szenen eine
-exzessive Anzahl an Frames ausgelassen wird.
-Im Gegensatz dazu führt ein Setzen auf \-1 dazu, dass pullup Felder leichter
-zuordnet.
-Dies kann helfen beim Verarbeiten von Videomaterial, das zwischen Feldern
-leicht verwischt ist, jedoch kann es auch zu interlaced Frames in der Ausgabe
-führen.
-.br
-.IPs "mp (metric plane)"
-Diese Option kann auf 1 oder 2 gesetzt werden, um bei den
-Berechnungen von pullup eine Chrominanzebene anstelle einer Helligkeitsebene
-zu verwenden.
-Dies kann die Genauigkeit bei sehr sauberem Quellmaterial verbessern,
-vermutlich wird die Qualitätt jedoch verschlechtert, vor allem wenn es sich um
-Videomaterial in Graustufen handelt oder Regenbogeneffekte sichbar sind.
-Der vorwiegende Zweck vom Setzen von mp auf Chrominanzebene ist, die
-CPU-Auslastung zu verringern und pullup in Echtzeit oder auf langsamen
-Maschinen zu benutzen.
-.REss
-.RS
-.sp 1
-.I ANMERKUNG:
-Lasse beim Encodieren auf jede Anwendung von pullup den Filter softskip folgen.
-Dies stellt sicher, dass pullup jeden Frame betrachtet.
-Falls dies nicht geschieht, führt dies zu einer unkorrekten Ausgabe und wird
-auf Grund von Designbeschränkungen auf Codec-/\:Filterebene normalerweise
-abbrechen.
-.REss
-.
-.TP
-.B filmdint[=Optionen] Inverse telecine-Filter, ähnlich dem Pullup-Filter oben.
-Er ist konstruiert, jedes Pulldown-Muster zu handhaben, inklusive mixed soft
-und hard telecine sowie begrenzter Unterstützung für Filme, deren
-Framerate für die Wiedergabe auf einem Fernseher verringert oder
-erhöht worden ist.
-Nur die Luminanzebene wird benutzt, um Frameunterbrechungen zu finden.
-Falls es zu einem Feld keinen Treffer gibt, wird das Deinterlacing mit einer
-einfachen linearen Approximation durchgeführt.
-Falls die Quelle aus MPEG-2-Material besteht, muss dieser der erste Filter
-sein, um Zugang zu den Feld-Flags zu erlauben, die vom MPEG-2-Decoder gesetzt
-werden.
-Abhängig von der MPEG-Quelle kannst du diesen Hinweis ignorieren, solange du
-keine Warnungen "Bottom-first field" bekommst.
-Werden keine Optionen angegeben, bewerkstelligt dieser Filter normales inverse
-telecine und sollte zusammen mit mencoder \-fps 30000/1001 \-ofps 24000/1001
-benutzt werden.
-Wird dieser Filter mit mplayer benutzt wird, kommt es zu unregelmäßigen
-Frameraten, aber dies ist im Allgemeinen besser als pp=lb oder gar kein
-Deinterlacing zu benutzen.
-Es können mehrere Optionen getrennt durch / angegeben werden.
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-Genau wie der Filter crop, aber schneller, und er funktioniert auch mit mixed
-hard und soft telecined-Inhalten, wenn y kein Vielfaches von 4 ist.
-Falls x oder y das Abschneiden von nicht-ganzzahligen Pixeln erfordern würde,
-wird die Chrominanzebene erweitert.
-Das bedeutet üblicherweise, dass x und y geradzahlig sein müssen.
-.IPs io=<ifps>:<ofps>
-Für alle ifps Eingabeframes wird der Filter ofps Ausgabeframes liefern.
-Das Verhältnis von ifps/\:ofps sollte dem Verhältnis \-fps/\-ofps entsprechen.
-Dies könnte benutzt werden, um Filme zu filtern, die auf einem Fernseher mit
-einer anderen Framerate als der originalen wiedergegeben werden.
-.IPs luma_only=<n>
-Ist n ungleich 0, wird die Chrominanzebene unverändert kopiert.
-Dies ist nützlich für Fernseher im YV12-Modus, die eine der Chrominanzebenen
-wegfallen lassen.
-.IPs mmx2=<n>
-Auf der x86-Architektur, falls n=1, benutze MMX2-optimierte Funktionen, falls
-n=2, benutze 3DNow!-optimierte Funktionen, sonst einfach C.
-Wird diese Option nicht angegeben, werden MMX2 und 3DNow! automatisch erkannt.
-Benutze diese Option, um die automatische Erkennung zu übergehen.
-.IPs fast=<n>
-Bei größeren Werten für n wird dies den Filter auf Kosten der Genauigkeit
-beschleunigen.
-Der Standardwert ist n=3.
-Ist n ungerade, so wird ein Frame, der direkt auf einen mit dem
-REPEAT_FIRST_FIELD-MPEG-Flag markierten Frame folgt, als progressive angesehen.
-Daher wird sich der Filter keinen soft-telecined MPEG-2-Inhalten widmen.
-Dies ist der einzige Effekt dieses Flags, falls MMX2 oder 3DNow! verfügbar ist.
-Ohne MMX2 und 3DNow! und falls n=0 oder 1, werden dieselben Berechnungen
-durchgeführt wie mit n=2 oder 3.
-Ist n=2 oder 3, so wird die Anzahl der Helligkeitslevels, die benutzt werden,
-um Frameunterbrechungen zu finden, von 256 auf 128 reduziert, was einen
-schnelleren Filter zur Folge hat, ohne dabei viel an Genauigkeit zu verlieren.
-Ist n=4 oder 5, so wird eine schnellere, aber weniger genauere Metrik benutzt,
-um Frameunterbrechungen zu finden, welche dazu neigt, hohe vertikale Details
-als interlaced-Inhalte fehlzuinterpretieren.
-.IPs verbose=<n>
-Falls n von null verschieden ist, gibt dies die detaillierteren Metriken für
-jeden Frame aus.
-Nützlich für Debugging-Zwecke.
-.IPs dint_thres=<n>
-Schwellenwert für Deinterlacing.
-Wird während des Deinterlacing von nicht zugeordneten Frames benutzt.
-Größere Werte bedeuten weniger Deinterlacing; benutze n=256, um Deinterlacing
-komplett abzuschalten.
-Standardwert ist n=8.
-.IPs comb_thres=<n>
-Schwellenwert für den Vergleich von top fields und bottom fields.
-Standardwert ist 128.
-.IPs diff_thres=<n>
-Schwellenwert, um die zeitliche Veränderung eines Feldes zu
-erkennen.
-Standardwert ist 128.
-.IPs sad_thres=<n>
-Summe des "Absolute Difference"-Schwellenwerts, Standardwert ist 64.
-.RE
-.
-.TP
-.B softpulldown
-Dieser Filter arbeitet nur mit MEncoder korrekt und richtet sich nach den
-MPEG-2-Flags, die für soft 3:2-Pulldown (soft telecine) benutzt werden.
-Wenn du einen der Filter ivtc oder detc für Filme benutzen möchtest, die zum
-Teil 'soft telecined' sind, sollte er durch das Einfügen dieses Filters
-zuverlässiger gemacht werden.
-.
-.TP
-.B divtc[=Optionen]
-Inverse telecine für deinterlaced Videos.
-Falls 3:2-pulldown telecined Videomaterial eins der Felder verloren hat oder
-deinterlaced ist durch ein Verfahren, das ein Feld beibehält und das andere
-interpoliert, ist das Ergebnis ein ruckelndes Video, das jeden vierten Frame
-doppelt enthält.
-Dieser Filter beabsichtigt, diese Duplikate zu finden, zu entfernen und die
-ursprüngliche Framerate des Films wiederherzustellen.
-Bei Benutzung dieses Filters musst du einen Wert für \-ofps angeben, der 4/5
-der Framerate der Eingabedatei entspricht.
-Außerdem musst du den Filter softskip an eine spätere Stelle der Filterkette
-stellen um sicherzustellen, dass dictc alle Frames sieht.
-Es sind zwei verschiedene Modi verfügbar:
-Der Modus mit einem Durchlauf ist die Standardeinstellung und sehr einfach zu
-benutzen, hat aber den Nachteil, dass alle Änderungen in der telecine-Phase
-(verlorengegangene Frames oder schlechte Bearbeitungungen) kurzzeitiges
-Ruckeln verursachen, bis der Filter wieder synchronisieren kann.
-Der Modus mit zwei Durchläufen vermeidet dies durch Analyse des ganzen Videos
-im Voraus, so dass er Phasenänderungen vorher kennt und die Resynchronisierung
-an der exakten Stelle durchführen kann.
-Diese Durchläufe entsprechen
-.B nicht
-dem ersten und zweiten Durchlauf des Encodierungsvorgangs.
-Du musst einen extra-Durchlauf mit Durchlauf 1 von divtc vor der eigentlichen
-Encodierung durchführen, die das resultierende Video verwirft.
-Benutze \-nosound \-ovc raw \-o /dev/null, um Verschwendung von CPU-Zeit für
-diesen Durchlauf zu vermeiden.
-Du kannst außerdem sowas wie crop=2:2:0:0 hinter divtc hinzufügen, um die
-Dinge noch etwas weiter zu beschleunigen.
-Benutze dann divtc-Durchlauf 2 für die eigentliche Encodierung.
-Wenn du mehrere Encoder-Durchläufe machste, benutze divtc-Durchlauf 2 für all
-diese.
-Die Optionen sind:
-.RSs
-.IPs pass=1|2
-Benutze Modus mit zwei Durchläufen.
-.IPs file=<Dateiname>
-Setzt den Dateinamen für das Logfile beim Modus mit zwei Durchläufen (Standard:
-"framediff.log").
-.IPs threshold=<Wert>
-Setzt die minimale Stärke, die das telecine-Muster haben muss, damit der Filter
-es als solches wahrnimmt (Standard: 0.5).
-Dies wird benutzt, um bei sehr dunklen oder fast still stehenden Videos die
-Erkennung von falschen Mustern zu vermeiden.
-.IPs window=<numframes>
-Setzt die Anzahl der vorangegangenen Frames, die bei der Suche nach Mustern
-berücksichtigt werden (Standard: 30).
-Ein längeres Zeitfenster erhöht die Zuverlässigkeit der Mustersuche, ein
-kürzeres Zeitfenster jedoch verbessert die Reaktionszeit für Änderungen in der
-telecine-Phase.
-Dies betrifft nur den Modus mit einem einzigen Durchlauf.
-Der Modus mit zwei Durchläufen benutzt zur Zeit ein festes Zeitfenster, das
-nach vorne und
-hinten gerichtet ist.
-.IPs phase=0|1|2|3|4
-Setzt die anfängliche telecine-Phase für den Modus mit einem Durchlauf
-(Standard: 0).
-Der Modus mit zwei Durchläufen kann in die Zukunft sehen, so dass er von Anfang
-an die richtige Phase wählen kann, der Modus mit einem Durchlauf kann nur
-raten.
-Er erkennt die richtige Phase, wenn er sie findet, aber diese Option kann
-genutzt werden, um ein mögliches Haken am Anfang zu korrigieren.
-Der erste Durchlauf des Modus mit zwei Durchläufen benutzt dies auch; wenn du
-also die
-Ausgabe des ersten Durchlaufs speicherst, bekommst du als Ergebnis eine
-konstante Phase.
-.IPs deghost=<Wert>
-Setzt den Schwellenwert für die Entfernung von stark unscharfen
-Bildern (Deghosting) (0\-255 für Modus mit einem, \-255\-255 für Modus mit zwei
-Durchläufen, Standard: 0).
-Ist der Wert ungleich null, wird Deghosting benutzt.
-Dies ist für Videomaterial gedacht, das deinterlaced wurde in der Art, dass
-die Felder übereinandergelegt wurden anstatt eins von beiden wegzulassen.
-Deghosting erhöht Kompressionsartefakte in übereinandergelegten Frames, daher
-wird der Parameterwert als Schwellenwert benutzt, um diejenigen Pixel vom
-Deghosting auszuschließen, die sich vom vorigen in weniger als dem angegebenen
-Wert unterscheiden.
-Wird der Modus mit zwei Durchläufen verwendet, so kann ein negativer Wert
-benutzt werden,
-damit der Filter zu Beginn des zweiten Durchlaufs das ganze Video analysiert
-um zu entscheiden, ob Deghosting verwendet werden muss oder nicht.
-Der Filter wählt dann entweder null oder den absoluten Wert des Parameters.
-Gib diesen Parameter im zweiten Durchlauf an, im ersten bewirkt er keinen
-Unterschied.
-.RE
-.
-.TP
-.B phase=[t|b|p|a|u|T|B|A|U][:v]
-Verzögert interlaced Video um die Zeit eines Feldes, so dass sich die
-Reihenfolge der Felder ändert.
-Die Absicht ist, Videos im PAL-Format zu korrigieren, die bei der Umsetzung
-von Film zu Video mit umgekehrter Feldreihenfolge aufgenommen wurden.
-Die Optionen sind:
-.RSs
-.IPs t
-Nimm die Feldreihenfolge top-first, transferiere dabei bottom-first.
-Der Filter verzögert das untere (bottom) Feld.
-.IPs b
-Nimm die Feldreihenfolge bottom-first, transferiere dabei top-first.
-Der Filter verzögert das obere (top) Feld.
-.IPs p
-Nimm auf und transferiere mit derselben Feldreihenfolge.
-Dieser Modus existiert nur als Referenz zur Dokumentation anderer Optionen;
-falls du es trotzdem auswählst, wird der Filter guten Gewissens nichts tun ;-)
-.IPs a
-Nimm die Feldreihenfolge, die durch die Flags der Felder automatisch bestimmt
-werden und transferiere die andere.
-Der Filter wählt einen der Modi t und b Frame für Frame aus unter Zuhilfenahme
-der Feld-Flags.
-Ist keine Feldinformation verfügbar, arbeitet er wie bei Angabe von u.
-.IPs u
-Nimm unbekannte oder variable, transferiere die andere Feldreihenfolge.
-Der Filter wählt einen der Modi t und b Frame für Frame aus durch Analyse der
-Bilder und sucht diejenige Alternative mit dem besten Treffer zwischen den
-Feldern aus.
-.IPs T
-Nimm die Feldreihenfolge top-first, transferiere unbekannte oder variable.
-Der Filter wählt einen der Modi t und p nach Analyse der Bilder.
-.IPs B
-Nimm die Feldreihenfolge bottom-first, transferiere unbekannte oder variable.
-Der Filter wählt einen der Modi b und p nach Analyse der Bilder.
-.IPs A
-Nimm die durch Feld-Flags bestimmte Feldreihenfolge, transferiere
-unbekannte oder variable.
-Der Filter wählt einen der Modi t und p nach Analyse der Felder und Bilder.
-Ist keine Feldinformation verfügbar, arbeitet der Filter wie Angabe von U.
-Dies ist der Standardmodus.
-.IPs U
-Nimm auf und transferiere unbekannte oder variable Feldreihenfolge.
-Der Filter wählt einen der Modi t, b oder p nur anhand der Bildanalyse.
-.IPs v
-Ausführliche Vorgehensweise.
-Gibt den ausgewählten Modus für jeden Frame sowie die gemittelte quadrierte
-Differenz der Felder für die Auswahlen von t, b und p aus.
-.RE
-.
-.TP
-.B telecine[=Start]
-Wende 3:2 'telecine'-Prozess an, um die Framerate um 20% zu erhöhen.
-Dies funktioniert mit MPlayer vermutlich nicht korrekt, kann jedoch in
-Verbindung mit 'mencoder \-fps 30000/1001 \-ofps 30000/1001 \-vf telecine'
-benutzt werden.
-Beide fps-Optionen müssen angegeben werden!
-(A/V-Synchronisation wird verlorengehen, wenn sie falsch sind.)
-Der optionale Parameter Start bestimmt, wo im telecine-Muster zu beginnen ist
-(0\-3).
-.
-.TP
-.B tinterlace[=Modus]
-Temporäres Interlacing der Felder \- verschmelze Paare von Frames in einen
-Frame, halbiere dabei die Framerate.
-Geradzahlige Frames werden in das obere Feld verschoben, ungerade in das
-untere Feld.
-Dies kann benutzt werden, um den Effekt des Filters tfields (im Modus 0)
-komplett umzukehren.
-Verfügbare Modi sind:
-.PD 0
-.RSs
-.IPs 0
-Verschiebe ungerade Frames in das obere Feld, geradzahlige in das untere.
-Dies generiert einen Frame voller Höhe bei halbierter Framerate.
-.IPs 1
-Gib nur ungerade Frames aus, geradzahlige werden weggelassen; die Höhe bleibt
-unverändert.
-.IPs 2
-Gib nur geradzahlige Frames aus, ungerade werden weggelassen; die Höhe bleibt
-unverändert.
-.IPs 3
-Expandiere jeden Frame zu voller Höhe, aber fülle alternierende Zeilen
-schwarz; die Framerate bleibt unverändert.
-.IPs 4
-Verschachtele gerade Zeilen von geraden Frames mit ungeraden Zeilen von
-ungeraden Frames.
-Die Höhe bleibt ungeändert bei halber Framerate.
-.RE
-.PD 1
-.
-.TP
-.B tfields[=Modusi[:Feld_Dominanz]]
-Temporäre Auftrennung der Felder \- trenne die Felder in ganze Frames auf;
-dies verdoppelt die Framerate.
-Genau wie beim Filter telecine wird tfields nur bei MEncoder korrekt arbeiten,
-und nur dann, wenn sowohl \-fps als auch \-ofps mit der gewünschten (doppelten)
-Framerate angegeben werden!
-.PD 0
-.RSs
-.IPs <Modus>
-0: Lasse die Felder unangetastet (wird zu Sprüngen/\:Flackern führen).
-.br
-1: Interpoliere fehlende Zeilen. (Der benutzte Algorithmus ist möglicherweise
-nicht allzu gut.)
-.br
-2: Wandle Felder mit linearer Interpolation zu 1/4 Pixel um (kein Sprung).
-.br
-4: Wandle Felder mit dem 4tap-Filter zu 1/4 Pixel um (höhere Qualität) (Standard).
-.IPs <Feld_Dominanz>\ (VERALTET)
-\-1: automatisch (Standard)
-Funktioniert nur, wenn der Decoder angemessene Informationen ausgibt und keine
-anderen Filter in der Filterkette vor tfields kommen, die diese Informationen
-verwefen; sonst fällt der Filter zurück auf 0 (obere Felder zuerst).
-.br
-0: obere Felder zuerst
-.br
-1: untere Felder zuerst
-.br
-.I ANMERKUNG:
-Diese Option wird in einer zukünftigen Version vermutlich entfernt.
-Benutze stattdessen \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B yadif=[Modus[:Felddominanz]]
-Noch ein Deinterlacing-Filter
-.PD 0
-.RSs
-.IPs <Modus>
-0: Gib 1 Frame für jeden Frame aus.
-.br
-1: Gib 1 Frame für jedes Feld aus.
-.br
-2: Wie 0, überspringt aber die Überprüfung für räumliches Interlacing.
-.br
-3: Wie 1, überspringt aber die Überprüfung für räumliches Interlacing.
-.IPs <Felddominanz>\ (VERALTET)
-Arbeitet wie tfields.
-.br
-.I ANMERKUNG:
-Diese Option wird in einer zukünftigen Version vermutlich entfernt.
-Benutze stattdessen \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[Modus[:Parität[:QP]]]
-Bewegungskompensierender Deinterlacer.
-Dieser benötigt ein Feld pro Frame als Input und muss daher zusammen mit
-tfields=1 oder yadif=1/3 oder einem Äquivalent verwendet werden.
-.PD 0
-.RSs
-.IPs <Modus>
-0: schnell
-.br
-1: mittel
-.br
-2: langsam, iterative Bewegungsabschätzung
-.br
-3: besonders langsam, wie 2 plus mehrere Referenzframes
-.IPs <Parität>
-0 oder 1 bestimmt, welches Feld verwendet wird (Beachte: bisher keine
-automatische Erkennung!).
-.IPs "<QP>\ "
-Höhere Werte sollten zu einem weicheren Bewegungsvektorfeld aber weniger
-optimalen individuellen Vektoren führen.
-.RE
-.PD 1
-.
-.TP
-.B "boxblur=Radius:Stärke[:Radius:Stärke]"
-Kastenunschärfe
-.PD 0
-.RSs
-.IPs <Radius>
-Stärke des Unschärfefilters
-.IPs <Stärke>
-Anzahl der Anwendungen des Filters
-.RE
-.PD 1
-.
-.TP
-.B sab=Radius:pf:colorDiff[:Radius:pf:colorDiff]
-umrissabhängige Glättung/Unschärfe (shape adaptive blur)
-.PD 0
-.RSs
-.IPs <Radius>
-Stärke des Glättungsfilters (~0.1\-4.0) (je größer desto langsamer)
-.IPs "<pf>\ "
-Stärke der Vorfilterung (~0.1\-2.0)
-.IPs <colorDiff>
-maximale Differenz zwischen Pixeln, damit diese betrachtet werden
-(~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B smartblur=Radius:Stärke:Schwellenwert[:Radius:Stärke:Schwellenwert]
-intelligente Glättung
-.PD 0
-.RSs
-.IPs <Radius>
-Stärke des Glättungsfilters (~0.1\-5.0) (je größer desto langsamer)
-.IPs <Stärke>
-glätten (0.0\-1.0) oder schärfen (\-1.0\-0.0)
-.IPs <Schwellenwert>
-Filterung von allem (0), nur gleichförmigen Bereichen (0\-30) oder nur Kanten
-(\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-Korrigiere die Perspektive von Filmen, die nicht lotrecht zum Bildschirm
-gefilmt wurden.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-Koordinaten der Ecken links oben, rechts oben, links unten, rechts unten
-.IPs "<t>\ \ "
-lineare (0) oder kubische (1) Neuberechnung
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-Benutzt den 2x-Skalier- und Interpolationsalgorithmus für die Skalierung
-und Glättung des Bildes.
-.
-.TP
-.B "1bpp\ \ \ "
-Konvertierung von 1bpp-Bitmaps nach YUV/\:BGR 8/\:15/\:16/\:32
-.
-.TP
-.B down3dright[=Zeilen]
-Positioniert stereoskopische Bilder neu und ändert deren Größe.
-Extrahiert beide Stereofelder und setzt sie nebeneinander.
-Dabei wird die Größe so geändert, dass das ursprüngliche Größenverhältnis
-beibehalten wird.
-.PD 0
-.RSs
-.IPs <Zeilen>
-Anzahl der Zeilen, die von der Mitte des Bildes ausgewählt werden sollen
-(Standard: 12)
-.RE
-.PD 1
-.
-.TP
-.B bmovl=versteckt:opak:fifo
-Der Bitmap-Overlay-Filter liest Bitmaps von einem FIFO und zeigt sie oberhalb
-des Filmfensters an, was ein paar Transformationen der Bilder erlaubt.
-Ein kleines Testprogramm findest du in TOOLS/\:bmovl-test.c.
-.PD 0
-.RSs
-.IPs <versteckt>
-Setzt den Standardwert des 'hidden'-Flags (0=sichtbar, 1=unsichtbar).
-.IPs <opak>
-Setzt den Standardwert des 'opak'-Flags (0=transparent, 1=opak).
-.IPs <fifo>
-Pfad und Dateiname des FIFOs (eine named pipe, die 'mplayer \-vf bmovl'
-mit der kontrollierenden Anwendung verknüpft).
-.RE
-.PD 1
-.sp 1
-.RS
-Die FIFO-Kommandos sind folgende:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 Breite Höhe xpos ypos alpha clear"
-gefolgt von Breite*Höhe*4 Bytes raw-RGBA32-Daten.
-.IPs "ABGR32 Breite Höhe xpos ypos alpha clear"
-gefolgt von Breite*Höhe*4 Bytes raw-ABGR32-Daten.
-.IPs "RGB24 Breite Höhe xpos ypos alpha clear"
-gefolgt von Breite*Höhe*3 Bytes raw-RGB32-Daten.
-.IPs "BGR24 Breite Höhe xpos ypos alpha clear"
-gefolgt von Breite*Höhe*3 bytes raw-BGR32-Daten.
-.IPs "ALPHA Breite Höhe xpos ypos alpha"
-Ändert die Alpha-Transparenz für den angegebenen Bereich.
-.IPs "CLEAR Breite Höhe xpos ypos"
-Löscht den Bereich.
-.IPs OPAQUE
-Deaktiviert die Alpha-Transparenz.
-Schicke "ALPHA 0 0 0 0 0" an den FIFO, um sie wieder zu aktivieren.
-.IPs "HIDE\ "
-Versteckt die Bitmap.
-.IPs "SHOW\ "
-Zeigt die Bitmap an.
-.RE
-.PD 1
-.sp 1
-.RS
-Die Argumente sind folgende:
-.RE
-.PD 0
-.RSs
-.IPs "<Breite>, <Höhe>"
-Größe des Bildes/Bereiches.
-.IPs "<xpos>, <ypos>"
-Starte bei Position x/y.
-.IPs <alpha>
-Setzt die Alpha-Differenz.
-Wenn du den Wert auf \-255 setzt, dann kannst du mit einer Sequenz von
-ALPHA-Kommandos den Bereich auf \-225, \-200, \-175 etc.\& setzen, um einen netten
-Fade-In-Effekt zu erzielen! ;)
-.RSss
-0: genau wie bei der Vorlage.
-.br
-255: Bedecke alles.
-.br
-\-255: Mache alles transparent.
-.REss
-.IPs <clear>
-Lösche den Framebuffer vor dem "Blitting".
-.RSss
-0: Das Blitting eines Bildes wird nur über dem vorigen (darunterliegenden)
-angewendet, daher brauchst du nicht jedesmal, wenn ein kleiner Teil des
-Bildschirms aktualisiert wird, 1,8MB RGBA32-Daten an den FIFO schicken.
-.br
-1: löschen
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]step
-Rendert nur jeden n-ten Frame oder jeden Intra-Frame (Keyframe).
-.sp 1
-Rufst du den Filter mit groß geschriebenem I als Parameter auf, so werden
-.B nur
-Keyframes gerendert.
-Für DVDs bedeutet dies im Allgemeinen, dass nur einer von 15/12
-(IBBPBBPBBPBBPBB) Frames dargestellt wird, bei AVIs wirkt diese Option bei
-jedem Szenenwechsel oder jedem keyint-Wert (siehe \-lavcopts keyint=Wert,
-falls du MEncoder zum Encodieren des Videos benutzt).
-.sp 1
-Wird ein Keyframe gefunden, so wird ein 'I!' gefolgt von einem Zeilenumbruch
-ausgegeben, wobei die aktuelle Zeile der Ausgabe von MPlayer/\:MEncoder
-auf dem Bildschirm bleibt, da sie die Zeit (in Sekunden) und die
-Framenummer des Keyframes enthält.
-(Du kannst diese Angabe benutzen, um ein AVI korrekt zu splitten.)
-.sp 1
-Rufst du den Filter mit einem numerischen Parameter 'step' auf, so wird nur
-ein Frame von 'step' vielen angezeigt.
-.sp 1
-Setzt du ein klein geschriebenes 'i' vor diese Nummer, so wird 'I!' angezeigt
-(wie beim Parameter I).
-.sp 1
-Gibst du nur das i an, so passiert nichts mit den Frames, aber es wird
-ein 'I!' für jeden Keyframe ausgegeben.
-.
-.TP
-.B tile=xtiles:ytiles:Ausgabe:Start:delta
-Kachelt eine Reihe von Bildern zu einem größeren Bild.
-Lässt du einen Parameter weg oder benutzt einen Wert kleiner als 0, so wird
-der Standardwert benutzt.
-Du kannst auch aufhören, wenn du zufrieden bist (... \-vf tile=10:5 ...).
-Es ist vermutlich eine gute Idee, den Filter scale vor das Kacheln zu
-setzen :-)
-.sp 1
-Die Parameter sind folgende:
-.sp 1
-.PD 0
-.RSs
-.IPs <xtiles>
-Anzahl der Kacheln auf der X-Achse (Standard: 5)
-.IPs <ytiles>
-Anzahl der Kacheln auf der Y-Achse (Standard: 5)
-.IPs <Ausgabe>
-Stelle die Kacheln erst dann dar, wenn <Ausgabe> viele Frames erreicht sind,
-wobei <Ausgabe> eine Zahl sein sollte, die kleiner ist als xtile * ytile.
-Fehlende Kacheln werden leer gelassen.
-Du könntest zum Beispiel nach jeden 50 Frames alle 2 Sekunden bei 25 fps
-ein 8 * 7 Kacheln großes Bild erstellen.
-.IPs <Start>
-Dicke des äußeren Rahmens in Pixeln (Standard: 2)
-.IPs <delta>
-Dicke des inneren Rahmens in Pixeln (Standard: 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:b:h:t]
-Unterdrückt das Logo eines Fernsehsenders durch einfache Interpolation der
-umgebenden Pixel.
-Setze einfach ein Rechteck, das das Logo bedeckt, und sieh zu, wie es
-verschwindet (und manchmal etwas unschöneres entsteht \- deine Erfahrungen
-können variieren).
-.PD 0
-.RSs
-.IPs <x>,<y>
-die linke obere Ecke des Logos
-.IPs <b>,<h>
-Breite und Höhe des bereinigten Rechtecks
-.IPs <t>
-Dicke des fließenden Übergangs des Rechtecks zum Rest (wird zur Breite und
-Höhe addiert).
-Auf \-1 gesetzt wird ein grünes Rechteck auf den Bildschirm gezeichnet, um das
-Finden der richtigen Parameter für x,y,w und h zu erleichtern.
-.RE
-.PD 1
-.
-.TP
-.B remove-logo=/pfad/zur/logo_bitmap_datei.pgm
-Unterdrückt das Senderlogo unter Benutzung des angegebenen PGM- oder PPM-Bildes
-um herauszufinden, welche Bildpunkte das Logo umfassen.
-Die Breite und Höhe des Bildes muss denen des zu bearbeitenden Videos
-entsprechen.
-Benutzt das Bild und einen runden Weichzeichnungsalgorithmus, um das Logo zu
-entfernen.
-.RSs
-.IPs /pfad/zur/logo_bitmap_datei.pgm
-[Pfad] + Dateiname des Filterbildes.
-.RE
-.
-.TP
-.B zrmjpeg[=Optionen]
-Software-Encoder von YV12 nach MJPEG für die Benutzung des
-zr2-Videoausgabetreibers.
-.RSs
-.IPs maxheight=<h>|maxwidth=<b>
-Diese Optionen setzen die maximale Breite und Höhe, die die zr-Karte handhaben
-kann (die Filterschicht von MPlayer kann diese momentan nicht abfragen).
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Benutze diese Option, um die Werte für maxwidth und maxheight bei einer
-bekannten Kombination für Karte/Modus automatisch zu setzen.
-Gültige Optionen sind zum Beispiel dc10-PAL und buz-NTSC (Standard: dc10+PAL).
-.IPs color|bw
-Setze Encodierung auf Farbe oder schwarz/weiß.
-Schwarz/weiß-Encodierung ist schneller.
-Encodierung in Farbe ist Standard.
-.IPs hdec={1,2,4}
-Horizontale Dezimierung 1, 2 oder 4.
-.IPs vdec={1,2,4}
-Vertikale Dezimierung 1, 2 oder 4.
-.IPs quality=1\-20
-Setze Kompressionsqualität für JPEG [BESTE] 1 \- 20 [SEHR SCHLECHT].
-.IPs fd|nofd
-Der Standard ist, dass die Dezimierung nur dann durchgeführt wird, wenn die
-Zoran Hardware die erzeugten MJPEG-Bilder auf die originale Größe
-hochskalieren kann.
-Die Option fd weist den Filter an, die geforderte Skalierung immer auszuführen
-(hässlich).
-.RE
-.
-.TP
-.B screenshot
-Erlaubt das Erstellen von Schnappschüssen des Videos mit Hilfe
-von Slave-Kommandos, die an Tasten gebunden werden können.
-Siehe Dokumentation des Slave-Modus und den Abschnitt INTERAKTIVE STEUERUNG
-für Details.
-Es werden Dateien mit dem Namen 'shotNNNN.png' im aktuellen Verzeichnis
-abgelegt, NNNN entspricht hierbei der ersten verfügbaren Nummer \- keine Datei
-wird überschrieben.
-Der Filter führt zu keiner Mehrbelastung, solange er nicht benutzt wird und
-akzeptiert beliebige Farbräume, es ist also ungefährlich ihn in die
-Konfigurationsdatei mit aufzunehmen.
-.RE
-.
-.TP
-.B "ass\ \ \ \ "
-Verschiebt das Zeichnen der SSA/ASS-Untertitel an einen beliebigen Punkt in der
-Videofilterkette.
-Nur sinnvoll mit der Option \-ass.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-Verschiebt das Rendern von SSA/ASS vor den Filter screenshot.
-Auf diese Weise geschossene Schnappschüsse werden die Untertitel enthalten.
-.RE
-.PD 1
-.
-.TP
-.B blackframe[=Menge:Schwellenwert]
-Erkenne Frames, die (fast) komplett schwarz sind.
-Kann nützlich sein, um Kapitelübergänge oder Werbung zu erkennen.
-Ausgabezeilen bestehen aus der Framenummer des erkannten Frames, dem
-prozentualen Schwarzanteil, dem Frametyp und der Framenummer des zuletzt
-vorgekommenen Keyframes.
-.RSs
-.IPs <Menge>
-Prozentaler Anteil der Pixel, die unter dem Schwellenwert liegen müssen
-(Standard: 98).
-.IPs <Schwellenwert>
-Schwellenwert, unter dem ein Pixelwert als schwarz angenommen wird
-(Standard: 32).
-.RE
-.PD 1
-.
-.TP
-.B stereo3d[=in:out]
-Stereo3d wandelt zwischen verschiedenen stereoskopischen Bildformaten um.
-.RSs
-.IPs <in>
-Stereoskopisches Eingabeformat. Mögliche Werte:
-.RS
-.B sbsl oder side_by_side_left_first
-.RS
-nebeneinander parallel (linkes Auge links, rechtes Auge rechts)
-.RE
-.B sbsr oder side_by_side_right_first
-.RS
-nebeneinander gekreuzt (rechtes Auge links, linkes Auge rechts)
-.RE
-.B abl oder above_below_left_first
-.RS
-oben-unten (linkes Auge oben, rechtes Auge unten)
-.RE
-.B abl oder above_below_right_first
-.RS
-oben-unten (rechtes Auge oben, linkes Auge unten)
-.RE
-.B ab2l oder above_below_half_height_left_first
-.RS
-oben-unten mit halber Höhenauflösung (linkes Auge oben, rechtes Auge unten)
-.RE
-.B ab2r oder above_below_half_height_right_first
-.RS
-oben-unten mit halber Höhenauflösung (rechtes Auge oben, linkes Auge unten)
-.RE
-.RE
-.IPs <out>
-Stereoskopisches Ausgabeformat. Mögliche Werte sind alle Eingabeformate, sowie:
-.RS
-.B arcg oder anaglyph_red_cyan_gray
-.RS
-anaglyph rot/cyan grau (roter Filter auf dem linken Auge, cyan Filter auf dem
-rechten Auge)
-.RE
-.B arch oder anaglyph_red_cyan_half_color
-.RS
-anaglyph rot/cyan halbfarbig (roter Filter auf dem linken Auge, cyan Filter auf
-dem rechten Auge)
-.RE
-.B arcc oder anaglyph_red_cyan_color
-.RS
-anaglyph rot/cyan farbig (roter Filter auf dem linken Auge, cyan Filter auf dem
-rechten Auge)
-.RE
-.B arcd oder anaglyph_red_cyan_dubios
-.RS
-anaglyph red/cyan farbig optimiert mit der Least-Squares-Projektion von Dubois
-(roter Filter auf dem linken Auge, cyan Filter auf dem rechten Auge)
-.RE
-.B agmg oder anaglyph_green_magenta_gray
-.RS
-anaglyph grün/magenta grau (grüner Filter auf dem linken Auge, magenta Filter
-auf dem rechten Auge)
-.RE
-.B agmh oder anaglyph_green_magenta_half_color
-.RS
-anaglyph grün/magenta halbfarbig (grüner Filter auf dem linken Auge, magenta
-Filter auf dem rechten Auge)
-.RE
-.B agmc oder anaglyph_green_magenta_color
-.RS
-anaglyph grün/magenta farbig (grüner Filter auf dem linken Auge, magenta Filter
-auf dem rechten Auge)
-.RE
-.B aybg oder anaglyph_yellow_blue_gray
-.RS
-anaglyph gelb/blau grau (gelber Filter auf dem linken Auge, blauer Filter auf
-dem rechten Auge)
-.RE
-.B aybh oder anaglyph_yellow_blue_half_color
-.RS
-anaglyph gelb/blau halbfarbig (gelber Filter auf dem linken Auge, blauer Filter
-auf dem rechten Auge)
-.RE
-.B aybc oder anaglyph_yellow_blue_color
-.RS
-anaglyph gelb/blau farbig (gelber Filter auf dem linken Auge, blauer Filter auf
-dem rechten Auge)
-.RE
-.B ml oder mono_left
-.RS
-mono Ausgabe (nur linkes Auge)
-.RE
-.B mr oder mono_right
-.RS
-mono Ausgabe (nur rechtes Auge)
-.RE
-.RE
-.RE
-.
-.
-.
-.SH "ALLGEMEINE ENCODING-OPTIONEN (NUR BEI MENCODER)"
-.
-.TP
-.B \-audio\-delay <beliebige Fließkommazahl>
-Verzögert entweder Audio oder Video durch Setzen eines Verzögerungsfeldes im
-Dateikopf (Standard: 0.0).
-Dies wird bei der Encodierung keinen der beiden Streams verzögern, der Player
-jedoch wird das Verzögerungsfeld beachten und kompensieren.
-Positive Werte verzögern den Ton und negative Werte verzögern das Video.
-Beachte, dass diese Option das genaue Gegenstück zur Option \-delay ist.
-Zum Beispiel, wenn ein Video korrekt abgespielt wird mit \-delay 0.2, kannst
-Du das Video mit MEncoder reparieren, indem du \-audio\-delay \-0.2 verwendest.
-Momentan funktioniert diese Option nur mit dem Standardmuxer (\-of avi).
-Wenn du einen anderen Muxer benutzt, musst du stattdessen \-delay verwenden.
-.
-.TP
-.B \-audio\-density <1\-50>
-Anzahl der Audioblöcke pro Sekunde (Standard ist 2, was in 0.5s langen
-Audioblöcken resultiert).
-.br
-.I ANMERKUNG:
-Nur bei CBR (konstanter Bitrate), VBR (variable Bitrate) dagegen ignoriert
-diese Einstellung, da jedes Paket in einen eigenen Block kommt.
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-Setzt das Audiopuffer-Zeitintervall (Standard: 0.5s).
-.
-.TP
-.B \-fafmttag <format>
-Hiermit kann die Audioformat-Kennzeichnung der Ausgabedatei überschrieben werden.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-Legt fest, dass die Ausgabedatei die Kennzeichnung 0x55 (mp3) enthält.
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-Hiermit kann das FourCC-Feld der Ausgabedatei überschrieben werden.
-.sp
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "-ffourcc div3"
-Legt fest, dass die Ausgabedatei als FourCC-Feld 'div3' enthält.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-Überschreibe den Aspekt, der im AVI-OpenDML-vprp-Header gespeichert ist.
-Dies kann benutzt werden, um den Aspekt mit '\-ovc copy' zu ändern.
-.
-.TP
-.B \-frameno\-file <Dateiname> (VERALTET)
-Gibt die Audiodatei an, in der die Zuweisungen der Framenummern stehen, die im
-ersten (nur Audio-) Durchlauf in einem speziellen Modus mit drei Durchläufen
-erstellt wurden.
-.br
-.I ANMERKUNG:
-Die Benutzung dieses Modus wird höchstwahrscheinlich die
-Audio-/\:Video-Synchronisation zerstören.
-Benutze diesen Modus nicht.
-Er wird nur aus Gründen der Rückwärtskompatibilität behalten und in einer
-zukünftigen Version vermutlich entfernt.
-.
-.TP
-.B \-hr\-edl\-seek
-Benutze eine präzisere, jedoch wesentlich langsamere Methode, Bereiche zu
-überspringen.
-Bereiche, die markiert sind, übersprungen zu werden, werden nicht direkt
-übergangen, sondern es werden alle Frames decodiert, aber nur die benötigten
-Frames werden encodiert.
-Dies erlaubt das Starten in Bereichen zwischen Keyframes.
-.br
-.I ANMERKUNG:
-Es ist nicht garantiert, dass dies mit der Option '\-ovc copy' funktioniert.
-.
-.TP
-.B \-info <Option1:Option2:...> (nur bei AVIs)
-Gibt die Werte für den Info-Dateikopf der resultierenden AVI-Datei an.
-.sp 1
-Die verfügbaren Optionen sind:
-.RSs
-.IPs "help\ "
-Zeigt diese Beschreibung.
-.IPs name=<Wert>
-Titel des Films
-.IPs artist=<Wert>
-Künstler oder Autor des Films
-.IPs genre=<Wert>
-Kategorie des Films
-.IPs subject=<Wert>
-Inhalte der Datei
-.IPs copyright=<Wert>
-Copyright-Informationen
-.IPs srcform=<Wert>
-Urpsrungsform des digitalisierten Materials
-.IPs comment=<Wert>
-allgemeine Kommentare über den Film
-.RE
-.
-.TP
-.B \-noautoexpand
-Füge den Filter expand nicht automatisch in die Filterkette von MEncoder ein.
-Nützlich, um zu kontrollieren, an welcher Stelle der Filterkette die Untertitel
-dargestellt werden, falls Untertitel fest in den Film eincodiert werden.
-.
-.TP
-.B \-noencodedups
-Versuche nicht, doppelte Frames doppelt zu encodieren; gib immer
-Zero-byte-Frames aus, um Duplikate anzudeuten.
-Zero-byte-Frames werden sowieso geschrieben, solange kein Filter oder
-Encoder geladen wird, der in der Lage ist, doppelte Frames zu encodieren.
-Zur Zeit ist der einzige solche Filter harddup.
-.
-.TP
-.B \-noodml (nur bei \-of AVI)
-Schreibe keinen OpenDML-Index für AVI-Dateien >1GB.
-.
-.TP
-.B \-noskip
-Verwirf keine Bilder.
-.
-.TP
-.B \-o <Dateiname>
-Schreibt in die angegebene Datei.
-.br
-Falls ein Standarddateiname benutzt werden soll, kann diese Option in die
-MEncoder-Konfigurationsdatei geschrieben werden.
-.
-.TP
-.B \-oac <Codecname>
-Encodiere Audio mit dem angegebenen Audiocodec (kein Standardwert vorhanden).
-.br
-.I ANMERKUNG:
-\-oac help liefert eine Liste der verfügbaren Audiocodecs.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "-oac copy"
-kein Encodieren, nur eine Kopie des Streams
-.IPs "-oac pcm"
-Encodiere zu unkomprimiertem PCM.
-.IPs "-oac mp3lame"
-Encodiere zu MP3 (benutzt LAME).
-.IPs "\-oac lavc"
-Encodiere mit dem libavcodec Codec.
-.RE
-.PD 1
-.
-.TP
-.B \-of <Format> (BETA\-CODE!)
-Gib in das angegebene Containerformat aus (Standard: AVI).
-.br
-.I ANMERKUNG:
-Mit \-of help bekommst du eine Liste vorhandener Containerformate.
-.sp 1
-.I BEISPIELE:
-.PD 0
-.RSs
-.IPs "\-of avi"
-Encodiere zu AVI.
-.IPs "\-of mpeg"
-Encodiere zu MPEG (siehe auch \-mpegopts).
-.IPs "\-of lavf"
-Encodiere mit den Muxern von libavcodec (siehe auch \-lavfopts).
-.IPs "\-of rawvideo"
-reiner (raw) Videostream (kein Muxing \- nur ein Videostream)
-.IPs "\-of rawaudio"
-reiner (raw) Audiostream (kein Muxing \- nur ein Audiostream)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-Setzt die Anzahl der Bilder pro Sekunde (fps) für die Ausgabedatei, die
-unterschiedlich zu der der Quelldatei sein kann.
-Diese Option muss gesetzt werden, wenn eine Quelldatei mit
-variabler Framerate (ASF, einige MOV) oder ein progressiver (30000/1001
-fps telecined MPEG) Film encodiert wird.
-.
-.TP
-.B \-ovc <Codecname>
-Encodiere Video mit dem angegebenen Codec (kein Standardwert gesetzt).
-.br
-.I ANMERKUNG:
-Mit \-ovc help erhältst du eine Liste verfügbarer Codecs.
-.sp 1
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-kein Encodieren, sondern nur eine Kopie des Videostreams
-.IPs "\-ovc raw"
-Encodiere zu einem frei wählbaren Format (benutze '\-vf format', um dieses
-auszuwählen).
-.IPs "\-ovc lavc"
-Encodiere mit einem libavcodec Codec.
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <Dateiname>
-Schreibe die Informationen des ersten Durchlaufs anstelle der Standarddatei
-divx2pass.log in die angegebene Datei.
-.
-.TP
-.B \-skiplimit <Wert>
-Gibt die maximale Anzahl ausgelassener Bilder nach einem encodierten Frame an
-(mit \-noskiplimit gibt es ein solches Limit nicht).
-.
-.TP
-.B \-vobsubout <Basisname>
-Gibt den Basisnamen für die Ausgabe der .idx- und .sub-Dateien an.
-Damit wird das Rendern der Untertitel im encodierten Film deaktiviert, und
-die Untertitel werden statt dessen in eine VOBsub-Untertiteldatei umgeleitet.
-.
-.TP
-.B \-vobsuboutid <Sprach-ID>
-Gibt den zweibuchstabigen Sprachcode für die Untertitel an.
-Dieser Wert überschreibt, was von der DVD oder der .ifo-Datei gelesen wurde.
-.
-.TP
-.B \-vobsuboutindex <Index>
-Gibt den Index der VOBsub-Untertitel in den Ausgabedateien an (Standardwert:
-0).
-.
-.
-.
-.SH "CODEC-SPEZIFISCHE ENCODING-OPTIONEN (NUR BEI MENCODER)"
-Für die Encodierung kannst du Codec-spezifische Parameter angeben, indem du
-folgende Syntax benutzt:
-.
-.TP
-.B \-<codec>opts <Option1[=Wert1]:Option2[=Wert2]:...>
-.
-.PP
-Wobei <Codec> einer der folgenden sein kann: lavc, xvidenc, mp3lame,
-toolame, twolame, nuv, xvfw, faac, x264enc, mpeg und lavf.
-.
-.
-.SS mp3lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-Liefert einen Hilfstext.
-.
-.TP
-.B vbr=<0\-4>
-zu verwendender Bitratenmodus
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (default)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-durchschnittliche (average) Bitrate
-.
-.TP
-.B "cbr\ \ \ \ "
-konstante Bitrate
-Dies erzwingt den CBR-Modus auch bei nachfolgenden Modi mit ABR-Presets.
-.
-.TP
-.B br=<0\-1024>
-Bitrate in kBit/s (nur bei CBR und ABR)
-.
-.TP
-.B q=<0\-9>
-Qualität (0 \- höchste, 9 \- niedrigste) (nur bei VBR)
-.
-.TP
-.B aq=<0\-9>
-Qualität des Algorithmus (0 \- am besten/\:langsamsten, 9 \- am
-schlechtesten/\:schnellsten)
-.
-.TP
-.B ratio=<1\-100>
-Kompressionsverhältnis
-.
-.TP
-.B vol=<0\-10>
-Audioeingangsverstärkung
-.
-.TP
-.B mode=<0\-3>
-(Standard: automatisch)
-.PD 0
-.RSs
-.IPs 0
-Stereo
-.IPs 1
-Joint-Stereo
-.IPs 2
-Dual-Channel
-.IPs 3
-Mono
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-kein Padding
-.IPs 1
-alles
-.IPs 2
-automatische Anpassung
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-Aktiviert schnelles Encodieren bei nachfolgenden Modi mit VBR-Presets.
-Führt zu leicht schlechterer Qualität und höheren Bitraten.
-.
-.TP
-.B highpassfreq=<Frequenz>
-Setzt die Frequenz für Highpass-Filterung in Hz.
-Frequenzen unterhalb der angegebenen werden abgeschnitten.
-Ein Wert von \-1 deaktiviert die Filterung, ein Wert von 0 lässt LAME die Werte
-für die Frequenz automatisch wählen.
-.
-.TP
-.B lowpassfreq=<Frequenz>
-Setzt die Frequenz für Lowpass-Filterung in Hz.
-Frequenzen oberhalb der angegebenen werden abgeschnitten.
-Ein Wert von \-1 deaktiviert die Filterung, ein Wert von 0 lässt LAME die Werte
-für die Frequenz automatisch wählen.
-.
-.TP
-.B preset=<Wert>
-Werte für verschiedene Presets
-.RSs
-.IPs "help\ "
-Gibt Informationen über die Presets und über weitere Optionen aus.
-.IPs medium
-VBR-Encodierung, gute Qualität, Bitrate im Rahmen von ca. 150\-180 kBit/s
-.IPs standard
-VBR-Encodierung, hohe Qualität, Bitrate im Rahmen von ca. 170\-210 kBit/s
-.IPs extreme
-VBR-Encodierung, sehr hohe Qualität, Bitrate im Rahmen von ca. 200\-240 kBit/s
-.IPs instane
-CBR-Encodierung, Preset mit der besten Qualität, Bitrate 320 kBit/s
-.IPs <8\-320>
-ABR-Encodierung mit der gegebenen Bitrate im Mittel
-.RE
-.sp 1
-.RS
-.I BEISPIELE:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-Für die meisten Leute reicht das aus und bietet schon ziemlich gute Qualität.
-.IPs cbr:preset=192
-Encodiere mit ABR-Preset bei erzwungener konstanter Bitrate von 192 kBit/s.
-.IPs preset=172
-Encodiere mit ABR-Preset bei einer durchschnittlichen Bitrate von 172 kBit/s.
-.IPs preset=extreme
-Für Menschen mit einem sehr guten Gehör und entsprechender HiFi-Ausstattung.
-.RE
-.PD 1
-.
-.
-.SS toolame und twolame (\-toolameopts und \-twolameopts respektive)
-.
-.TP
-.B br=<32\-384>
-Im CBR-Modus gibt dieser Parameter die Bitrate in kbps an, im VBR-Modus ist er
-die minimal erlaubte Bitrate pro Frame.
-VBR funktioniert nicht mit einem Wert unter 112.
-.
-.TP
-.B vbr=<\-50\-50> (nur bei VBR)
-Bereich für Abweichungen; falls negativ verlagert der Encoder die
-durchschnittliche Bitrate zum unteren Limit, wenn positiv zum höheren.
-Auf 0 gesetzt wird CBR benutzt (Standard).
-.
-.TP
-.B maxvbr=<32\-384> (nur bei VBR)
-maximal erlaubte Bitrate pro Frame in kBit/s
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-(Standard: mono bei 1-Kanal-Audio, sonst stereo)
-.
-.TP
-.B psy=<\-1\-4>
-psychoakustisches Modell (Standard: 2)
-.
-.TP
-.B errprot=<0 | 1>
-Füge Fehlerkorrektur hinzu.
-.
-.TP
-.B debug=<0\-10>
-Debugging-Level
-.RE
-.PD 1
-.
-.
-.SS faac (\-faacopts)
-.
-.TP
-.B br=<Bitrate>
-mittlere Bitrate in kBit/s (schließt Option quality aus)
-.
-.TP
-.B quality=<1\-1000>
-Qualitätsmodus, je höher desto besser (schließt Option br aus)
-.
-.TP
-.B object=<1\-4>
-Komplexität des Objekttyps
-.PD 0
-.RSs
-.IPs 1
-MAIN (Standard)
-.IPs 2
-LOW
-.IPs 3
-SSR
-.IPs 4
-LTP (extrem langsam)
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-MPEG-Version (Standard: 4)
-.
-.TP
-.B "tns\ \ \ \ "
-Aktiviert temporäre Rauschanpassung.
-.
-.TP
-.B cutoff=<0\-sampling_rate/2>
-Frequenz, ab der abgeschnitten wird (Standard: sampling_rate/2)
-.
-.TP
-.B "raw\ \ \ \ "
-Speichert den Bitstream als reine Arbeitsdaten mit Extrainformationen im
-Dateikopf des Containers (Standard: 0, entspricht ADTS).
-Setze diese Option nicht, wenn du sie nicht unbedingt brauchst, sonst wirst
-du den Audiostream später nicht erneut muxen können.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-Viele Optionen von libavcodec (kurz lavc) sind nur knapp dokumentiert.
-Lies die Sourcen für alle Details.
-.PP
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B o=<Schlüssel>=<Wert>[,<Schlüssel>=<Wert>[,...]]
-Übergib AVOptions an den libavcodec-Encoder.
-Beachte, ein Patch, um o= überflüssig zu machen und alle unbekannten Optionen
-durch das AVOption-System zu übergeben, ist willkommen.
-Eine komplette Liste der AVOptions findest du im FFmpeg-Handbuch.
-Beachte, dass manche Optionen mit MEncoder-Optionen in Konflikt stehen
-können.
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.PD 0
-.IPs o=bt=100k
-.PD 1
-.RE
-.
-.TP
-.B acodec=<Wert>
-Audiocodec (Standard: mp2)
-.PD 0
-.RSs
-.IPs "ac3\ \ "
-Dolby Digital (AC-3)
-.IPs adpcm_*
-Adaptive PCM Formate \- siehe HTML-Dokumentation für Details.
-.IPs "flac\ "
-Free Lossless Audio Codec (FLAC)
-.IPs "g726\ "
-G.726 ADPCM
-.IPs libamr_nb
-3GPP Adaptive Multi-Rate (AMR) narrow-band
-.IPs libamr_wb
-3GPP Adaptive Multi-Rate (AMR) wide-band
-.IPs libfaac
-Advanced Audio Coding (AAC) \- benutzt FAAC
-.IPs libmp3lame
-MPEG-1 Audio Layer 3 (MP3) \- benutzt LAME
-.IPs "mp2\ \ "
-MPEG-1 Audio Layer 2 (MP2)
-.IPs pcm_*
-PCM Formate \- siehe HTML-Dokumentation für Details.
-.IPs roq_dpcm
-Id Software RoQ DPCM
-.IPs sonic
-experimenteller, einfacher, verlustbehafteter Codec
-.IPs sonicls
-experimenteller, einfacher, verlustfreier Codec
-.IPs vorbis
-Vorbis
-.IPs wmav1
-Windows Media Audio v1
-.IPs wmav2
-Windows Media Audio v2
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<Wert>
-Audiobitrate in kbps (Standard: 224)
-.
-.TP
-.B atag=<Wert>
-Benutze die angegebene Windows-Audioformatkennung (z.B.\& atag=0x55).
-.
-.TP
-.B bit_exact
-Benutze nur bitgenaue Algorithmen (außer (I)DCT).
-Zusätzlich deaktiviert bit_exact mehrere Optimierungen und sollte daher
-nur für Regressionstests verwendet werden, die binär identische Dateien
-benötigen, selbst wenn sich die Version des Encoders ändert.
-Dies unterdrückt in MPEG-4-Streams außerdem den user_data-Dateikopf.
-Benutze diese Option nicht, wenn du nicht genau weißt, was du tust.
-.
-.TP
-.B threads=<1\-8>
-Maximale Anzahl der zu benutzenden Threads (Standard: 1).
-Kann einen leicht negativen Effekt auf die Bewegungsabschätzung haben.
-.RE
-.
-.TP
-.B vcodec=<Wert>
-Verwende den angegebenen Codec (Standard: mpeg4).
-.PD 0
-.RSs
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs dvvideo
-Sony Digital Video
-.IPs "ffv1\ "
-FFmpegs verlustfreier Videocodec
-.IPs ffvhuff
-nicht-standardkonformes, 20% kleineres HuffYUV, benutzt YV12
-.IPs "flv\ \ "
-Sorenson H.263, verwendet in Flash-Videos
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs huffyuv
-HuffYUV
-.IPs libtheora
-Theora
-.IPs libx264
-x264 H.264/AVC MPEG-4 Part 10
-.IPs libxvid
-Xvid MPEG-4 Part 2 (ASP)
-.IPs ljpeg
-Lossless JPEG
-.IPs mjpeg
-Motion JPEG
-.IPs mpeg1video
-MPEG-1 Video
-.IPs mpeg2video
-MPEG-2 Video
-.IPs mpeg4
-MPEG-4 (DivX 4/\:5)
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG4v2
-.IPs roqvideo
-ID Software RoQ Video
-.IPs "rv10\ "
-ein alter RealVideo Codec
-.IPs "snow (siehe auch: vstrict)"
-FFmpegs experimenteller Wavelet-basierter Codec
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs "wmv1\ "
-Windows Media Video, Version 1 (WMV7)
-.IPs "wmv2\ "
-Windows Media Video, Version 2 (WMV8)
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-minimaler Quantisierungsparameter
-.RSs
-.IPs 1
-Nicht empfohlen (viel größere Datei, geringer Qualitätsunterschied und
-seltsame Seiteneffekte: msmpeg4 und h263 werden eine sehr geringe Qualität
-liefern und die Bitratenkontrolle wird verwirrt sein, was auch eine geringere
-Qualität zur Folge hat; manche Decoder werden es nicht decodieren können).
-.IPs 2
-Empfohlen für normales Encodieren mit mpeg4/\:mpeg1video (Standard).
-.IPs 3
-Empfohlen für h263(p)/\:msmpeg4.
-Der Grund dafür, 3 dem Wert 2 vorzuziehen ist, dass 2 zu Overflows führen kann.
-(Dies wird zukünftig für h263(p) korrigiert werden, indem der
-Quantisierungsparameter pro Macro-Block geändert wird; msmpeg4 kann nicht
-korrigiert werden, da es dies nicht unterstützt.)
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-Minimaler Frame-Level basierter Lagrange-Multiplikator für die
-Bitratenkontrolle (Standard: 2.0).
-Lavc wird Quantisierungparameter, die unter dem Wert für lmin liegen, kaum
-verwenden.
-Ein niedriger Wert für lmin bewirkt, dass lavc für manche Frames eher
-niedrigere Quantisierungsparameter verwendet, jedoch nicht niedriger als der
-angegebene Wert für vqmin.
-Entsprechend wird ein größerer Wert für lmin bewirken, dass lavc niedrige
-Quantisierungsparameter eher nicht verwendet, auch wenn vqmin diese erlaubt
-hätte.
-Vermutlich willst du lmin ungefähr gleich vqmin setzen.
-Wenn adaptive Quantisierung verwendet wird, wirkt sich die Änderung von
-lmin/lmax weniger stark aus; siehe mblmin/mblmax.
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-Maximaler Lagrange-Multiplikator für die Bitratenkontrolle (Standard: 31.0)
-.RE
-.
-.TP
-.B mblmin=<0.01\-255.0>
-Minimaler Macroblock-Level basierter Lagrange-Multiplikator für die
-Bitratenkontrolle (Standard: 2.0).
-Dieser Parameter wirkt sich auf Optionen für die adaptive Quantisierung wie
-qprd, lumi_mask, usw aus.
-.RE
-.
-.TP
-.B mblmax=<0.01\-255.0>
-Maximaler Macroblock-Level basierter Lagrange-Multiplikator für die
-Bitratenkontrolle (Standard: 31.0).
-.RE
-.
-.TP
-.B vqscale=<0\-31>
-Encodierung mit konstantem Quantisierungsparameter bzw.\& konstanter Qualität
-(wählt den 'fixed quantizer'-Modus).
-Ein kleinerer Wert bedeutet bessere Qualität bei größeren Dateien (Standard: \-1).
-Im Falle des snow Codecs bedeutet der Wert 0 verlustfreie Encodierung.
-Da die anderen Codecs dies nicht unterstützen, hat vqscale=0 bei diesen
-nicht-definierte Auswirkungen.
-Der Wert 1 wird nicht empfohlen (siehe vqmin für Details).
-.
-.TP
-.B vqmax=<1\-31>
-Maximaler Quantisierungsparameter, Werte im Bereich 10\-31
-sollten vernünftig sein (Standard: 31).
-.
-.TP
-.B mbqmin=<1\-31>
-veraltet, benutze vqmin
-.
-.TP
-.B mbqmax=<1\-31>
-veraltet, benutze vqmax
-.
-.TP
-.B vqdiff=<1\-31>
-maximaler Unterschied der Quantisierungsparameter zwischen
-aufeinanderfolgenden Intra- und P-Frames (Standard: 3)
-.
-.TP
-.B vmax_b_frames=<0\-4>
-maximale Anzahl der B-Frames zwischen nicht-B-Frames
-.PD 0
-.RSs
-.IPs 0
-keine B-Frames (Standard)
-.IPs 0\-2
-vernünftiger Bereich für MPEG-4
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-Verfahren für die Bewegungsabschätzung.
-Verfügbare Modi sind die folgenden:
-.PD 0
-.RSs
-.IPs 0
-keine (sehr geringe Qualität)
-.IPs 1
-volle (langsam, momentan nicht gewartet und deaktiviert)
-.IPs 2
-log (geringe Qualität, momentan nicht gewartet und deaktiviert)
-.IPs 3
-phods (geringe Qualität, momentan nicht gewartet und deaktiviert)
-.IPs 4
-EPZS: Größe=1 diamond, Größe kann mit den *dia-Optionen angepasst werden
-(Standard).
-.IPs 5
-X1 (experimentell, verweist momentan nur auf EPZS)
-.IPs 8
-iter (iterativ überlappter Block, wird nur bei snow benutzt)
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I ANMERKUNG:
-0\-3 ignorieren momentan den Umfang der gebrauchten Bits, die Qualität
-kann daher gering sein.
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-Umfang der Bewegungsabschätzung (Standard: 0 (unbegrenzt))
-.
-.TP
-.B mbd=<0\-2> (siehe auch *cmp, qpel)
-Macroblock decision algorithm: Entscheidungsalgorithmus für Macro-Blocks (hohe
-Qualitätsstufe), encodiert jeden Macro-Block in allen Modi und wählt den
-besten aus.
-Dies ist zwar langsam, führt aber zu besserer Qualität und Dateigröße.
-Wenn mbd auf 1 oder 2 gesetzt ist, wird der mbcmp-Wert beim Vergleich von
-Macro-Blöcken ignoriert (der mbcmp-Wert wird jedoch in anderen Bereichen
-verwendet, insbesondere bei den Bewegungssuchalgorithmen).
-Falls jedoch irgendeine Vergleichseinstellung (precmp, subcmp, cmp oder mbcmp)
-ungleich null ist, wird eine langsamere aber bessere Bewegungssuche verwendet,
-die auf halbe Pixel genau arbeitet.
-Dabei ist egal, auf welchen Wert mbd gesetzt wurde.
-Wenn qpel gesetzt ist, wird in jedem Falle auf Viertelpixel genaue
-Bewegungssuche verwendet.
-.PD 0
-.RSs
-.IPs 0
-Benutze von mbcmp gegebene Vergleichsfunktion (Standard).
-.IPs 1
-Wählt denjenigen Modus für einen Macro-Block, der die wenigsten Bits benötigt
-(entspricht vhq).
-.IPs 2
-Wählt den Modus für einen Macro-Block mit der geringsten Ratenverzerrung
-.RE
-.PD 1
-.
-.TP
-.B "vhq\ \ \ \ "
-Bewirkt das gleiche wie mbd=1, wird aus Kompatibilitätsgründen beibehalten.
-.
-.TP
-.B "v4mv\ \ \ "
-Erlaubt 4 Motion-Vectors pro Macro-Block (leicht verbesserte Qualität).
-Arbeitet besser in Verbindung mit mbd > 0.
-.
-.TP
-.B "obmc\ \ \ "
-Bewegungskompensation überlappender Blöcke (H.263+)
-.
-.TP
-.B "loop\ \ \ "
-Loop-Filter (H.263+)
-Beachte, dass diese Option nicht funktioniert.
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-Bewirkt zur Zeit absolut gar nichts.
-.
-.TP
-.B keyint=<0\-300>
-Maximale Anzahl von Bildern zwischen zwei Keyframes (Standard: 250, was einem
-Keyframe alle zehn Sekunden bei einem 25fps-Film entspricht.
-Dies ist der empfohlene Standardwert für MPEG-4).
-Die meisten Codecs benötigen regelmäßig Keyframes, um die Anhäufung von
-Versatzfehlern zu begrenzen.
-Keyframes werden auch für das Spulen in Filmen gebraucht, da nur ein Sprung zu
-Keyframes möglich ist.
-Keyframes jedoch benötigen mehr Platz als andere Frames,
-daher bedeutet ein höherer Wert hier geringfügig kleinere Dateien und damit
-weniger genaues Spulen.
-0 ist gleichbedeutend mit 1, was jeden Frame zu einem Keyframe macht.
-Werte > 300 werden nicht empfohlen, da die Qualität abhängig von Decoder,
-Encoder und Glück schlecht sein kann.
-Für MPEG-1/2 sind Werte <=30 üblich.
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-Schwellenwert für die Erkennung eines Szenenwechsels.
-Ein Keyframe wird von libavcodec eingefügt, wenn ein Szenenwechsel entdeckt
-wird.
-Mit dieser Option kannst du die Sensitivität dieser Erkennung bestimmen.
-\-1000000000 bedeutet, dass mit jedem Frame ein Szenenwechsel erkannt wird;
-1000000000 bedeutet, dass gar keine Szenenwechsel erkannt werden (Standard: 0).
-.
-.TP
-.B sc_factor=<jede mögliche Ganzzahl>
-Bewirkt, dass Frames mit höheren Quantisierungsparametern eher eine Erkennung
-eines Szenenwechsels bewirken und libavcodec veranlassen, einen Intra-Frame zu
-benutzen (Standard: 1).
-1\-16 ist ein sinnvoller Bereich.
-Werte zwischen 2 und 6 können bewirken, den PSNR-Wert zu erhöhen (um bis zu
-ungefähr 0.04 dB) und Intra-Frames in Szenen mit viel Bewegung besser zu
-platzieren.
-Höhere Werte als 6 könnten den PSNR-Wert leicht erhöhen (um ungefähr 0.01 dB
-mehr als sc_factor=6) aber zu bemerkbar schlechterer Qualität führen.
-.
-.TP
-.B vb_strategy=<0\-2> (nur bei Durchlauf 1)
-Strategie, mit der zwischen Intra-/P-/B-Frames gewählt wird:
-.PD 0
-.RSs
-.IPs 0
-Benutzt immer die maximale Anzahl B-Frames (Standard).
-.IPs 1
-Vermeide B-Frames in schnell bewegten Szenen.
-Siehe die Option b_sensitivity, um Feineinstellungen für diese Option
-vorzunehmen.
-.IPs 2
-Platziert B-Frames mehr oder weniger optimal, um maximale Qualität zu
-erbringen (langsamer).
-Du kannst versuchen, den Einfluß auf die Geschwindigkeit durch
-Herumprobieren mit der Option brd_scale zu verringern.
-.RE
-.PD 1
-.
-.TP
-.B b_sensitivity=<jede Ganzzahl größer als 0>
-Macht Anpassungen, wie sensitiv vb_strategy=1 Bewegung erkennt und den Gebrauch
-von B-Frames vermeidet (Standard: 40).
-Geringere Empfindlichkeit führt zu mehr B-Frames.
-Der Gebrauch von mehr B-Frames verbessert PSNR normalerweise, zu viele B-Frames
-jedoch können die Qualität in hochbewegten Szenen stören.
-Wenn es nicht gerade einen extrem hohen Anteil Bewegung gibt, kann
-b_sensitivity sicher auf einen Wert unter dem Standardwert verringert werden;
-10 ist in den meisten Fällen ein brauchbarer Wert.
-.
-.TP
-.B brd_scale=<0\-10>
-Skaliert Frames für dynamische B-Frame-Entscheidungen herunter (Standard: 0).
-Jedesmal, wenn brd_scale um eins erhöht wird, werden die Bildabmessungen durch
-zwei geteilt, was die Geschwindigkeit um den Faktor vier verbessert.
-Beide Abmessungen des komplett herunterskalierten Bildes müssen gerade Zahlen
-sein, daher benötigt brd_scale=1 originale Abmessungen, die ein Vielfaches von
-vier sind, für brd_scale=2 ein Vielfaches von acht usw.
-Mit anderen Worten müssen beide Abmessungen des Originalbildes ohne Rest
-teilbar sein durch 2^(brd_scale+1).
-.
-.TP
-.B bidir_refine=<0\-4>
-Verfeinert die beiden Motion-Vectors, die in bidirektionalen Makroblöcken
-benutzt werden, anstatt die Vektoren der Vorwärts- und Rückwärtssuche zu
-benutzen.
-Diese Option hat ohne B-Frames keine Wirkung.
-.PD 0
-.RSs
-.IPs 0
-Deaktiviert (Standard).
-.IPs 1\-4
-Benutze eine weitergehende Suche (größere Werte sind langsamer).
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-Aktiviert den internen Modus für zwei (oder mehr) Durchläufe.
-Gib diese Option nur an, wenn du mit zwei (oder mehr) Durchläufen encodieren
-möchtest.
-.PD 0
-.RSs
-.IPs 1
-erster Durchlauf (siehe auch turbo)
-.IPs 2
-zweiter Durchlauf
-.IPs 3
-N-ter Durchlauf (zweiter und nachfolgende Durchläufe beim N-pass-Modus)
-.RE
-.RS
-Hier also wie es funktioniert und benutzt wird:
-.br
-Der erste Durchlauf (vpass=1) schreibt eine Datei mit Statistiken.
-Du möchtest vielleicht ein paar CPU-intensive Optionen deaktivieren, wie es
-der Modus "turbo" tut.
-.br
-Im Modus mit zwei Durchläufen wird im zweiten Durchlauf (vpass=2) die
-Statistikdatei gelesen, und die Bitratenkontrolle fällt dementsprechende
-Entscheidungen.
-.br
-Im N-pass-Modus (vpass=3, das ist kein Schreibfehler) wird beides getan: Erst
-werden die Statistiken eingelesen, dann überschrieben.
-Wenn die Möglichkeit besteht, dass du diesen Vorgang abbrechen musst, solltest
-du die Datei divx2pass.log vorher sichern.
-Du kannst alle Encodierungsoptionen verwenden, außer sehr CPU-lastigen
-wie "qns".
-.br
-Du kannst denselben Durchlauf wiederholt durchführen, um die Encodierung zu
-verfeinern.
-Jeder nachfolgende Durchlauf wird die Statistiken des vorigen benutzen, um die
-Ergebnisse zu verbessern.
-Der letzte Durchlauf kann beliebige CPU-intensive Optionen beinhalten.
-.br
-Wenn du mit zwei Durchläufen encodieren möchtest, benutze zuerst vpass=1 und
-dann vpass=2.
-.br
-Wenn du mit drei oder mehr Durchläufen encodieren möchtest, benutze vpass=1 für
-den ersten Durchlauf, dann vpass=3 und dann vpass=3 immer wieder, bis du mit
-dem Ergebnis zufrieden bist.
-.RE
-.PD 1
-.sp 1
-.RS
-huffyuv:
-.RE
-.PD 0
-.RSs
-.IPs "pass 1"
-Speichert Statistiken.
-.IPs "pass 2"
-Encodiert mit einer optimalen Huffman-Tabelle, basierend auf den Statistiken
-des ersten Durchlaufs.
-.RE
-.PD 1
-.
-.TP
-.B turbo (nur im Modus mit zwei Durchläufen)
-Erhöht die Geschwindigkeit des ersten Durchgangs drastisch, indem schnellere
-Algorithmen benutzt und CPU-intensive Optionen deaktiviert werden
-Dies wird den PSNR-Wert im Ganzen wahrscheinlich ein wenig (etwa
-0.01dB) und Typ und PSNR-Wert einzelner Frames ein wenig mehr (bis zu
-0.03db) verringern.
-.
-.TP
-.B aspect=<x/y>
-Speichere den Filmaspekt intern, wie bei MPEG-Dateien.
-Dies ist eine viel elegantere Lösung als den Film neu zu skalieren, da die
-Qualität nicht verringert wird.
-MPlayer und ein paar weitere Player werden diese Dateien korrekt wiedergeben,
-andere werden das Größenverhältnis falsch darstellen.
-Der Parameter für das Verhältnis kann als Bruch oder Fließkommawert angegeben
-werden.
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/9 oder aspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-Das gleiche wie die Option aspect, wobei jedoch das Verhältnis automatisch
-berechnet wird.
-Veränderungen in der Filterkette wie crop/\:expand/\:scale/\:etc.\& werden
-dabei berücksichtigt.
-Diese Option verursacht keine Performanceeinbußen, du kannst sie also getrost
-immer aktivert lassen.
-.
-.TP
-.B vbitrate=<Wert>
-Gibt die Bitrate an (Standard: 800).
-.br
-.I WARNUNG:
-1kBit = 1000 Bits
-.PD 0
-.RSs
-.IPs 4\-16000
-(in kBit)
-.IPs 16001\-24000000
-(in Bit)
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<Wert>
-ungefähre Dateigrößentoleranz in kBit.
-Werte im Bereich 1000\-100000 sind vernünftig.
-(Warnung: 1kBit = 1000 Bits)
-(Standard: 8000)
-.br
-.I ANMERKUNG:
-vratetol sollte im zweiten Durchlauf nicht zu groß sein, es kann sonst in
-Verbindung mit vrc_(min|max)rate zu Problemen kommen.
-.
-.TP
-.B vrc_maxrate=<Wert>
-maximale Bitrate in kBit/\:Sek
-(Standard: 0, unbegrenzt)
-.
-.TP
-.B vrc_minrate=<Wert>
-minimale Bitrate in kBit/\:Sek
-(Standard: 0, unbegrenzt)
-.
-.TP
-.B vrc_buf_size=<Wert>
-Puffergröße in kBit
-Für MPEG-1/2 setzt dies außerdem die vbv-Puffergröße; benutze 327
-für VCDs, 917 für SVCDs und 1835 für DVDs.
-.
-.TP
-.B vrc_buf_aggressivity
-momentan nutzlos
-.
-.TP
-.B vrc_strategy
-Methode zur Bitratenkontrolle.
-Beachte, dass manche der die Bitratenkontrolle betreffenden Optionen nicht
-wirksam sind, wenn vrc_strategy nicht auf 0 gesetzt ist.
-.PD 0
-.RSs
-.IPs 0
-Benutze die interne lavc-Bitratenkontrolle (Standard).
-.IPs 1
-Benutze die Xvid-Bitratenkontrolle (experimentell; MEncoder muss mit
-Unterstützung für Xvid 1.1 oder höher kompiliert worden sein).
-.RE
-.PD 1
-.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-Quantisierungsparameter zwischen B- und Nicht-B-Frames
-(Standard: 1.25)
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-Quantisierungsparameter zwischen Intra- und Nicht-Intraframes
-(Standard: 0.8)
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-Offset des Quantisierungsparameters zwischen B- und Nicht-B-Frames
-(Standard: 1.25)
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-Offset des Quantisierungsparameters zwischen Intra- und Nicht-Intraframes
-(Standard: 0.0)
-.br
-falls v{b|i}_qfactor > 0
-.br
-Intra-/B-Frame-Quantisierungsparameter = P-Frame-Quantisierungsparameter *
-v{b|i}_qfactor + v{b|i}_qoffset
-.br
-sonst
-.br
-benutze die normale Bitratenkontrolle (lege den nächsten
-P-Frame-Quantisierungsparameter nicht fest) und setze
-q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I TIPP:
-Für Encodierung mit unterschiedlichen aber konstanten Quantisierungsparametern
-für Intra-/P- und B-Frames kannst du folgendes benutzen:
-lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>.
-.
-.TP
-.B vqblur=<0.0\-1.0> (erster Durchlauf)
-Glättung des Quantisierungsparameters (Standard: 0.5); größere Werte bilden den
-Durchschnitt über längere Zeit (langsamerer Wechsel).
-.PD 0
-.RSs
-.IPs 0.0
-Glättung des Quantisierungsparameters deaktiviert.
-.IPs 1.0
-Bildet für den Quantisierungsparameter den Durchschnitt aller vorangegangenen
-Frames.
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0> (zweiter Durchlauf)
-Gaußsche Unschärfe des Quantisierungsparameters (Standard: 0.5); größere Werte
-bilden den Durchschnitt über längere Zeit (langsamerer Wechsel).
-.
-.TP
-.B vqcomp=<Wert>
-Kompression des Quantisierungsparameters, vrc_eq hängt davon ab
-(Standard: 0.5).
-.I ANMERKUNG:
-Die wahrgenommene Qualität ist optimal irgendwo zwischen den Extremen des
-Bereichs.
-.
-.TP
-.B vrc_eq=<Gleichung>
-hauptsächlich verwendete Gleichung für die Bitratenkontrolle
-.RE
-.RSs
-.IPs 1+(tex/\:avgTex-1)*qComp
-ungefähr die Gleichung des Codes der alten Bitratenkontrolle
-.IPs tex^qComp
-wobei qcomp = 0.5 oder einem ähnlichen Wert (Standard)
-.RE
-.PP
-.RS
-Infixoperatoren:
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-Variablen:
-.RE
-.RSs
-.IPs "tex\ \ "
-Texturkomplexität
-.IPs iTex,pTex
-Intra- und Nicht-Intra-Texturkomplexität
-.IPs avgTex
-durchschnittliche Texturkomplexität
-.IPs avgIITex
-durchschnittliche Intra-Texturkomplexität bei Intraframes
-.IPs avgPITex
-durchschnittliche Intra-Texturkomplexität bei P-Frames
-.IPs avgPPTex
-durchschnittliche Nicht-Intra-Texturkomplexität bei P-Frames
-.IPs avgBPTex
-durchschnittliche Nicht-Intra-Texturkomplexität bei B-Frames
-.IPs "mv\ \ \ "
-für Motion-Vectors verwendete Bits
-.IPs fCode
-maximale Länge der Motion-Vectors in log2-Skalierung
-.IPs iCount
-Anzahl der Intra-Macroblöcke /\: Anzahl der Macroblöcke
-.IPs "var\ \ "
-räumliche Komplexität
-.IPs mcVar
-zeitliche Komplexität
-.IPs qComp
-auf der Kommandozeile angegebener Wert für qcomp
-.IPs "isI, isP, isB"
-Ist 1 bei einem Bildtyp I/P/B, sonst 0.
-.IPs "Pi,E\ "
-Schau in dein Lieblingsmathebuch.
-.RE
-.PP
-.RS
-Funktionen:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-Maximum /\: Minimum
-.IPs gt(a,b)
-(greater than) ist 1 falls a>b, sonst 0
-.IPs lt(a,b)
-(less than) ist 1 falls a<b, sonst 0
-.IPs eq(a,b)
-(equals) ist 1 falls a==b, sonst 0
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<Optionen>
-Vom Benutzer angegebene Qualität für bestimmte Abschnitte
-(Ende, Abspann, ...).
-Die Optionen haben folgenden Aufbau: <Startframe>, <Endframe>,
-<Qualität>[/<Startframe>, <Endframe>, <Qualität>[/...]]:
-.PD 0
-.RSs
-.IPs "Qualität (2\-31)"
-Quantisierungsparameter
-.IPs "Qualität (\-500\-0)"
-Qualitätskorrektur in %
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-anfängliche Komplexität (Durchlauf 1)
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-initiale Pufferbelegung als Bruchteil von vrc_buf_size (Standard: 0.9)
-.
-.TP
-.B vqsquish=<0|1>
-Gibt an, wie die Quantisierungsparameter zwischen qmin und qmax beibehalten
-werden:
-.PD 0
-.RSs
-.IPs 0
-Benutze Clipping.
-.IPs 1
-Benutzt eine schöne ableitbare Funktion (Standard).
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-Setzt die Schwelle für die Eliminierung von einzelnen Koeffizienten beim
-Helligkeitsanteil.
-Bei negativen Werten wird auch der DC-Koeffizient betrachtet (sollte
-mindestens \-4 or niedriger sein, wenn mit quant=1 encodiert wird):
-.PD 0
-.RSs
-.IPs 0
-deaktiviert (Standard)
-.IPs \-4
-JVT-Empfehlung
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-Setzt die Schwelle für die Eliminierung von einzelnen Koeffizienten beim
-Farbanteil.
-Bei negativen Werten wird auch der DC-Koeffizient betrachtet (sollte
-mindestens \-4 or niedriger sein, wenn mit quant=1 encodiert wird):
-.PD 0
-.RSs
-.IPs 0
-deaktiviert (Standard)
-.IPs 7
-JVT-Empfehlung
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-strikte Einhaltung des Standards
-.PD 0
-.RSs
-.IPs 0
-deaktiviert
-.IPs 1
-Nur empfehlenswert, wenn die Ausgabe mit einem MPEG-4-Referenzdecoder
-decodiert werden soll.
-.IPs \-1
-Erlaubt die Benutzung libavcodec-spezifischer Erweiterungen (Standard).
-.IPs \-2
-Erlaubt die Benutzung experimenteller Codecs und Features, die von zukünftigen
-Versionen von MPlayer möglicherweise nicht abspielbar sein werden (snow).
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-Datenpartitionierung.
-Fügt zwei Bytes pro Videopaket hinzu und erhöht die Fehlerresistenz beim
-Transfer über unzuverlässige Kanäle (z.B.\& Streaming über das Internet).
-Jedes Videopaket wird in drei separate Partitionen aufgeteilt:
-.PD 0
-.RSs
-.IPs "1. MVs"
-Bewegung
-.IPs "2. DC-Koeffizienten"
-niedrig aufgelöstes Bild
-.IPs "3. AC-Koeffizienten"
-Details
-.RE
-.PD 1
-.RS
-MV und DC sind am wichtigsten, sie zu verlieren bedeutet ein viel schlechteres
-Bild als der Verlust von AC und der ersten oder zweiten Partition.
-MV und DC sind viel kleiner als die dritte Partition (AC), was bedeutet, dass
-auftretende Fehler die AC-Partition viel häufiger treffen wird als die MV- und
-DC-Partitionen.
-Daher sieht das Bild mit Partitionierung viel besser aus, denn ohne eine
-solche würde ein Fehler AC/\:DC/\:MV in gleichem Umfang zerstören.
-.RE
-.
-.TP
-.B vpsize=<0\-10000> (siehe auch vdpart)
-Videopaketgröße, erhöht die Fehlerresistenz.
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-deaktiviert (Standard)
-.IPs 100\-1000
-gute Wahl
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-slice-structured- (anteilig strukturierter) Modus für H.263+
-.
-.TP
-.B "gray\ \ \ "
-Encodierung zu Graustufenbildern (schneller)
-.
-.TP
-.B vfdct=<0\-10>
-DCT-Algorithmus
-.PD 0
-.RSs
-.IPs 0
-Wählt automatisch einen guten (Standard).
-.IPs 1
-schneller Integer-Algorithmus
-.IPs 2
-genauer Integer-Algorithmus
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-Fließkomma-AAN
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-IDCT-Algorithmus
-.br
-.I ANMERKUNG:
-Nach unserem Wissensstand bestehen all diese IDCT-Algorithmen die IEEE1180-Tests.
-.PD 0
-.RSs
-.IPs 0
-Wählt automatisch einen guten (Standard).
-.IPs 1
-JPEG-Referenzalgorithmus (Integer)
-.IPs 2
-simple
-.IPs 3
-simplemmx
-.IPs 4
-libmpeg2mmx (ungenau, benutze ihn nicht mit einem keyint > 100)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.IPs 10
-simplearm
-.IPs 11
-H.264
-.IPs 12
-VP3
-.IPs 13
-IPP
-.IPs 14
-xvidmmx
-.IPs 15
-CAVS
-.IPs 16
-simplearmv5te
-.IPs 17
-simplearmv6
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-Helligkeitsmaskierung ist eine 'psychosensorische' Einstellung, die die
-Tatsache nutzen soll, dass das menschliche Auge dazu neigt, in sehr hellen
-Teilen eines Bildes weniger Details zu erkennen.
-Helligkeitsmaskierung komprimiert sehr helle Stellen stärker als
-durchschnittlich helle, so dass ein paar Bits eingespart werden, die dann auf
-andere Frames verwendet werden können, was die subjektive Qualität im Ganzen
-erhöht, den PSNR-Wert dabei jedoch möglicherweise reduziert.
-.br
-.I WARNUNG:
-Sei vorsichtig, zu große Werte können katastrophale Ergebnisse liefern.
-.br
-.I WARNUNG:
-Große Werte mögen auf einigen Monitoren gut aussehen, können auf anderen aber
-auch schrecklich aussehen.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-deaktiviert (Standard)
-.IPs 0.0\-0.3
-sinnvoller Bereich
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-Dunkelheitsmaskierung ist eine 'psychosensorische' Einstellung, die die
-Tatsache nutzen soll, dass das menschliche Auge dazu neigt, in sehr dunklen
-Teilen eines Bildes weniger Details zu erkennen.
-Dunkelheitsmaskierung komprimiert sehr dunkle Stellen stärker als
-durchschnittlich dunkle, so dass ein paar Bits eingespart werden, die dann auf
-andere Frames verwendet werden können, was die subjektive Qualität im Ganzen
-erhöht, den PSNR-Wert dabei jedoch möglicherweise reduziert.
-.br
-.I WARNUNG:
-Sei vorsichtig!
-Zu große Werte können katastrophale Ergebnisse liefern.
-.br
-.I WARNUNG:
-Große Werte mögen auf einigen Monitoren gut aussehen, können auf anderen
-Monitoren /\: dem Fernseher /\: TFTs aber auch schrecklich aussehen.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-deaktiviert (Standard)
-.IPs 0.0\-0.3
-sinnvoller Bereich
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-Maskierung der zeitlichen Komplexität (Standard: 0.0 (deaktiviert)).
-Stell dir eine Szene mit einem Vogel vor, der durch die ganze Szene fliegt;
-tcplx_mask wird die Quantisierungsparameter der zum Vogel gehörenden
-Macroblöcke erhöhen (und so deren Qualität verringern), da das menschliche
-Auge normalerweise nicht die Zeit hat, alle Details des Vogels wahrzunehmen.
-Sei gewarnt, dass es für kurze Zeit schrecklich aussieht, wenn das Objekt
-anhält (z.B.\& bei der Landung des Vogels), bis der Encoder bemerkt, dass das
-Objekt angehalten hat und die Blöcke neu definiert werden müssen.
-Die eingesparten Bits werden auf andere Teile des Videos verwendet, was die
-subjektiv wahrgenommene Qualität erhöhen kann \- vorausgesetzt, tcplx_mask ist
-sorgfältig gewählt.
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-Gebietsbezogene Maskierung der Komplexität.
-Größere Werte helfen bei Blockartefakten, falls kein Deblocking-Filter
-beim Decodieren benutzt wird, was vielleicht keine gute Idee ist.
-.br
-Stell die eine Szene vor mit Gras (was üblicherweise eine hohe gebietsbezogene
-Komplexität hat), einem blauen Himmel und einem Haus; scplx_mask wird die
-Quantisierungsparameter der zum Gras gehörenden Macroblöcke erhöhen, was deren
-Qualität verringert, um mehr Bits auf den Himmel und das Haus zu verwenden.
-.br
-.I TIPP:
-Schneide alle schwarzen Balken komplett ab, da sie die Qualität der
-Macroblöcke verringern (gilt auch ohne scplx_mask).
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-deaktiviert (Standard)
-.IPs 0.0\-0.5
-sinnvoller Bereich
-.RE
-.PD 1
-.sp 1
-.RS
-.I ANMERKUNG:
-Diese Einstellung hat nicht denselben Effekt wie die Benutzung einer
-benutzerdefinierten Matrix, die hohe Frequenzen stärker komprimieren würde, da
-scplx_mask die Qualität der P-Blöcke verringert, selbst wenn sich nur die
-DC-Koeffizienten ändern.
-Das Ergebnis mit scplx_mask wird vermutlich nicht so gut aussehen.
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0> (siehe auch vi_qfactor)
-Verringert die Qualität von Interblöcken.
-Dies ist das Äquivalent zum Erhöhen der Qualität der Intrablöcke, da dieselbe
-mittlere Bitrate von der Bitratenkontrolle zur ganzen Videosequenz zugeteilt
-wird (Standard: 0.0 (deaktiviert)).
-p_mask=1.0 verdoppelt die Anzahl der jedem Intrablock zugeteilten Bits.
-.
-.TP
-.B border_mask=<0.0\-1.0>
-Randbearbeitung (border processing) bei MPEG-ähnlichen Encodern.
-Randbearbeitung erhöht den Quantisierungsparameter für Makroblöcke, die
-weniger als ein Fünftel der Framebreite/\:-höhe vom Rand des Frames entfernt
-sind, da sie visuell oft weniger bedeutsam sind.
-.
-.TP
-.B "naq\ \ \ \ "
-Normalisierte adaptive Quantisierung (experimentell).
-Wenn adaptive Quantisierung benutzt wird (*_mask), dann wird der
-durchschnittliche Quantisierungsparameter pro Macroblock eventuell
-nicht mehr dem geforderten Quantisierungsparameter auf Framelevel entsprechen.
-Naq versucht dann, den pro Macroblock verwendeten Quantisierungsparameter
-anzupassen, um den geforderten Durchschnitt beizubehalten.
-.
-.TP
-.B "ildct\ \ "
-Benutze die interlaced DCT.
-.
-.TP
-.B "ilme\ \ \ "
-Benutze interlaced Bewegungsabschätzung (schließt qpel gegenseitig aus).
-.
-.TP
-.B "alt\ \ \ \ "
-Benutzt eine alternative Suchtabelle.
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-automatisch
-.IPs 0
-bottom field first (unteres Feld zuerst)
-.IPs 1
-top field first (oberes Feld zuerst)
-.RE
-.PD 1
-.
-.TP
-.B format=<Wert>
-.PD 0
-.RSs
-.IPs "YV12\ "
-Standard
-.IPs "444P\ "
-für ffv1
-.IPs "422P\ "
-für HuffYUV, verlustfreies JPEG, dv und ffv1
-.IPs "411P\ "
-für verlustfreies JPEG, dv und ffv1
-.IPs "YVU9\ "
-für verlustfreies JPEG, ffv1 und svq1
-.IPs "BGR32"
-für verlustfreies JPEG und ffv1
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(für HuffYUV)
-.PD 0
-.RSs
-.IPs 0
-linke Vorhersage
-.IPs 1
-Vorhersage der Ebene/\:des Gradienten
-.IPs 2
-Medianvorhersage
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(für verlustfreies JPEG)
-.PD 0
-.RSs
-.IPs 0
-linke Vorhersage
-.IPs 1
-obere Vorhersage
-.IPs 2
-linke obere Vorhersage
-.IPs 3
-Vorhersage der Ebene/\:des Gradienten
-.IPs 6
-Durchschnittsvorhersage
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-(für ffv1)
-.PD 0
-.RSs
-.IPs 0
-vlc-Codierung (Golomb-Rice)
-.IPs 1
-arithmetische Codierung (CABAC)
-.RE
-.PD 1
-.
-.TP
-.B context
-(für ffv1)
-.PD 0
-.RSs
-.IPs 0
-Modell zu kleinem Kontext
-.IPs 1
-Modell zu großem Kontext
-.RE
-.PD 1
-.sp 1
-.RS
-(für ffvhuff)
-.RE
-.PD 0
-.RSs
-.IPs 0
-vorbestimmte Huffman-Tabellen (eingebaut oder two-pass)
-.IPs 1
-adaptive Huffman-Tabellen
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-Benutze auf ein viertel Pixel ("quarter pel") genaue Bewegungsabschätzung
-(schließt ilme gegenseitig aus).
-.br
-.I ANMERKUNG:
-Dies scheint nur für Encodierung mit hohen Bitraten sinnvoll zu sein.
-.
-.TP
-.B mbcmp=<0\-2000>
-Setzt die Vergleichsfunktion für Macroblockentscheidungen; hat nur
-Auswirkungen bei mbd=0.
-Dies wird auch bei manchen Bewegungssuchalgorithmen verwendet, in welchem
-Falle sie unabhängig von der mbd-Einstellung Auswirkungen hat.
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-Summe der absoluten Differenzen, schnell (Standard)
-.IPs "1 (SSE)"
-Summe der quadrierten Fehler
-.IPs "2 (SATD)"
-Summe der absoluten Hadamard-transformierten Differenzen
-.IPs "3 (DCT)"
-Summe der absoluten DCT-transformierten Differenzen
-.IPs "4 (PSNR)"
-Summe der quadratischen Quantisierungsfehler (zu vermeiden, niedrige Qualität)
-.IPs "5 (BIT)"
-Anzahl der für den Block benötigten Bits
-.IPs "6 (RD)"
-Ratenverzerrung (rate distortion) optimal, langsam
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-Summe der absoluten vertikalen Differenzen
-.IPs "9 (VSSE)"
-Summe der quadrierten vertikalen Differenzen
-.IPs "10 (NSSE)"
-Rauschen beibehaltende Summe der quadrierten Differenzen
-.IPs "11 (W53)"
-5/\:3-Wavelet, wird nur bei snow verwendet
-.IPs "12 (W97)"
-9/\:7-Wavelet, wird nur bei snow verwendet
-.IPs "+256\ "
-Benutze auch die Farbinformation, funktioniert momentan nicht (korrekt) mit
-B-Frames.
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-Setzt die Vergleichsfunktion für interlaced DCT-Entscheidungen (siehe mbcmp
-für eine Liste der verfügbaren Vergleichsfunktionen).
-.
-.TP
-.B precmp=<0\-2000>
-Setzt die Vergleichsfunktion für "pre pass"-Bewegungsabschätzung (siehe mbcmp
-für eine Liste der verfügbaren Vergleichsfunktionen) (Standard: 0).
-.
-.TP
-.B cmp=<0\-2000>
-Setzt die Vergleichsfunktion für "full pel"-Bewegungsabschätzung (siehe mbcmp
-für eine Liste der verfügbaren Vergleichsfunktionen) (Standard: 0).
-.
-.TP
-.B subcmp=<0\-2000>
-Setzt die Vergleichsfunktion für "sub pel"-Bewegungsabschätzung (siehe mbcmp
-für eine Liste der verfügbaren Vergleichsfunktionen) (Standard: 0).
-.
-.TP
-.B skipcmp=<0\-2000>
-FIXME: Dokumentiere diese Option.
-.
-.TP
-.B nssew=<0\-1000000>
-Diese Einstellung kontrolliert die NSSE-Gewichtung, wobei eine höhere
-Gewichtung stärkeres Rauschen erzeugt.
-NSSE 0 ist identisch mit SSE.
-Vielleicht findest du dies nützlich, wenn du die Beibehaltung von etwas
-Rauschen in deinem encodierten Video besser findest als es vor dem Encodieren
-herauszufiltern. (Standard: 8)
-.
-.TP
-.B predia=<\-99\-6>
-Rautentyp und -größe für "pre pass"-Bewegungsabschätzung
-.
-.TP
-.B dia=<\-99\-6>
-Rautentyp und -größe für die Bewegungsabschätzung.
-Bewegungsabschätzung ist ein iterativer Prozess.
-Eine kleine Raute zu benutzen begrenzt die Suche nicht auf das Auffinden von nur
-kleinen Motion-Vectors.
-Es ist nur irgendwie wahrscheinlicher, dass die Suche anhält, bevor der beste
-Motion-Vector gefunden wurde \- vor allem, wenn Rauschen involviert ist.
-Größere Rauten erlauben eine ausgedehntere Suche nach dem besten
-Motion-Vector, welche daher langsamer ist, dafür aber zu einem besseren
-Ergebnis führt.
-.br
-Große normale Rauten sind qualitativ besser als an das Muster anpassende
-("shape adaptive") Rauten.
-.br
-An das Muster anpassende Rauten sind ein guter Kompromiss zwischen
-Geschwindigkeit und Qualität.
-.br
-.I ANMERKUNG:
-Die Größen von normalen und an das Muster anpassende Rauten haben
-nicht dieselbe Bedeutung.
-.RSs
-.IPs \-3
-an das Muster anpassende (schnell) Raute der Größe 3
-.IPs \-2
-an das Muster anpassende (schnell) Raute der Größe 2
-.IPs \-1
-ungerade Multi-Hexagon-Suche (langsam)
-.IPs 1
-Normale Raute der Größe 1 (Standard), entspricht einer Raute des Typs EPZS.
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-normale Raute der Größe 2
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-Trellis-Quantisierung.
-Hiermit wird die optimale Encodierung für jeden 8x8-Block gefunden.
-Die Trellis-Quantisierung ist bei gegenseitiger Abschätzung von PSNR-Wert gegen
-die Bitrate optimal (unter der Annahme, dass durch die IDCT keine
-Rundungsfehler ins Spiel kommen \- was natürlich nicht der Fall ist).
-Sie findet einfach einen Block für das Minimum von Fehler und lambda*Bits.
-.PD 0
-.RSs
-.IPs lambda
-vom Quantisierungsparameter (QP) abhängige Konstante
-.IPs "bits\ "
-Menge der für die Encodierung eines Blocks benötigten Bits
-.IPs error
-Summe der quadrierten Quantisierungsfehler
-.RE
-.PD 1
-.
-.TP
-.B "cbp\ \ \ \ "
-Ratenverzerrtes optimal codiertes Blockmuster (coded block pattern).
-Wird dasjenige codierte Blockmuster auswählen, das Verzerrung + lambda*Rate
-minimiert.
-Dies kann nur zusammen mit der Trellis-Quantisierung benutzt werden.
-.
-.TP
-.B "mv0\ \ \ \ "
-Versuche jeden Macroblock mit Motion-Vector=<0,0> zu encodieren und wähle
-den besseren.
-Dies hat keinen Effekt, falls mbd=0.
-.
-.TP
-.B mv0_threshold=<jede nicht-negative Ganzzahl>
-Wenn umgebende Bewegungsvektoren <0,0> sind und die Auswertung der
-Bewegungsabschätzung des aktuellen Blocks kleiner als mv0_threshold ist, so
-wird <0,0> für den Bewegungsvektor benutzt und jede weitere
-Bewegungsabschätzung wird übersprungen (Standard: 256).
-mv0_threshold auf 0 abzusenken kann eine leichte (0.01dB) Erhöhung des PSNR
-zur Folge haben und das encodierte Video möglicherweise leicht besser aussehen
-lassen; mv0_threshold auf über 320 zu erhöhen führt zu einem niedrigeren PSNR
-und visueller Qualität.
-Höhere Werte beschleunigen die Encodierung ganz leicht (normalerweise weniger
-als 1%, abhängig von den anderen verwendeten Optionen).
-.br
-.I ANMERKUNG:
-Diese Option setzt nicht voraus, dass mvm0 aktiviert ist.
-.
-.TP
-.B qprd (nur mit mbd=2)
-ratenverzerrter optimaler Quantisierungsparameter bei gegebenem lambda für
-jeden Macroblock
-.
-.TP
-.B last_pred=<0\-99>
-Menge der Bewegungsvorhersagen vom vorigen Frame
-.PD 0
-.RSs
-.IPs 0
-(Standard)
-.IPs a
-Benutzt ein 2a+1 x 2a+1 Macroblockquadrat von Motion-Vector-Vorhersagen vom
-vorigen Frame.
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-"pre-pass"-Bewegungsabschätzung
-.PD 0
-.RSs
-.IPs 0
-deaktiviert
-.IPs 1
-nur nach Intraframes (Standard)
-.IPs 2
-immer
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-"subpel refinement"-Qualität (für qpel) (Standard: 8 (hohe Qualität))
-.br
-.I ANMERKUNG:
-Diese Einstellung hat signifikante Auswirkung auf die Geschwindigkeit.
-.
-.TP
-.B refs=<1\-8>
-Anzahl der Referenz-Frames, die bei der Bewegungsabschätzung berücksichtigt
-werden sollen (nur bei Snow) (Standard: 1)
-.
-.TP
-.B "psnr\ \ \ "
-Gibt den maximalen Signal-zu-Rauschabstand (peak signal to noise ratio) für
-das komplette Video nach dem Encodieren aus und speichert die PSNR-Werte für
-jedes Bild in einer Datei der Form 'psnr_hhmmss.log'.
-Ausgegebene Werte haben die Einheit dB (Dezibel), je höher desto besser.
-.
-.TP
-.B mpeg_quant
-Benutze MPEG-Quantisierungsparameter anstelle von H.263.
-.
-.TP
-.B "aic\ \ \ \ "
-Aktiviere AC-Vorhersage für MPEG-4 oder fortgeschrittene Intra-Vorhersage
-(advanced intra prediction) für H.263+.
-Dies wird die Qualität leicht erhöhen (um die 0.02 dB PSNR) und die Encodierung
-leicht verlangsamen (ungefähr 1%).
-.br
-.I ANMERKUNG:
-vqmin sollte 8 oder höher sein für H.263+ AIC.
-.
-.TP
-.B "aiv\ \ \ \ "
-alternativer "inter vlc" für H.263+
-.
-.TP
-.B "umv\ \ \ \ "
-unbegrenzte Motion-Vectors (unlimited MVs) (nur bei H.263+)
-Erlaubt die Encodierung von beliebig langen Motion-Vectors.
-.
-.TP
-.B ibias=<\-256\-256>
-Intra-Quantisierungsverzerrung (256 entspricht 1.0,
-MPEG-Quantisierungsstandard: 96, H.263-artiger Quantisierungsstandard: 0)
-.br
-.I ANMERKUNG:
-Die H.263-MMX-Quantisierung kann positive Verzerrungen nicht verarbeiten
-(setze vfdct=1 oder 2), die MPEG-MMX-Quantisierung kann negative Verzerrungen
-nicht verarbeiten (setze vfdct=1 oder 2).
-.
-.TP
-.B pbias=<\-256\-256>
-Inter-Quantisierungsverzerrung (256 entspricht 1.0,
-MPEG-Quantisierungsstandard: 0, H.263-artiger Quantisierungsstandard: \-64)
-.br
-.I ANMERKUNG:
-Die H.263-MMX-Quantisierung kann positive Verzerrungen nicht verarbeiten
-(setze vfdct=1 oder 2), die MPEG-MMX-Quantisierung kann negative Verzerrungen
-nicht verarbeiten (setze vfdct=1 oder 2).
-.br
-.I TIPP:
-Eine eher positive Verzerrung (\-32 \- \-16 anstatt \-64) scheint den
-PSNR-Wert zu verbessern.
-.
-.TP
-.B (no)dct_decimate
-Eliminiert dct-Blocks in P-Frames, die nur einen einzigen kleinen
-Koeffizienten beinhalten (Standard: aktiviert).
-Dies wird ein paar Details entfernen, daher wird es Bits einsparen, die auf
-andere Frames verwendet werden können, was hoffentlich die wahrgenommene
-Qualität insgesamt verbessert.
-Wenn du nicht-Anime-Inhalt mit hoher Bitrate komprimierst, möchtest du diese
-Option vielleicht deaktivieren, um so viele Details wie möglich beizubehalten.
-.
-.TP
-.B nr=<0\-100000>
-Rauschunterdrückung (noise reduction), 0 bedeutet deaktiviert.
-0\-600 ist ein sinnvoller Bereich für typischen Inhalt, für etwas
-verrauschteren Inhalt kannst du den Wert etwas erhöhen (Standard: 0).
-Durch den geringen Einfluss auf die Geschwindigkeit möchtest du diese Option
-der Rauschunterdrückung mit Filtern wie denoise3d oder hqdn3d vielleicht
-vorziehen.
-.
-.TP
-.B qns=<0\-3>
-Rauschanpassung des Quantisierungsparameters, "Quantizer noise shaping".
-Anstatt die Quantisierung so zu wählen, dass dem Quellvideo im Sinne von PSNR
-am besten entsprochen wird, wählt die Rauschanpassung die Quantisierung so,
-dass Rauschen (normalerweise Ringbildungen) durch ähnlichfrequenten Inhalt im
-Bild maskiert wird.
-Größere Werte sind langsamer, müssen aber nicht unbedingt zu besserer Qualität
-führen.
-Dies kann und sollte zusammen mit der Trellis-Quantisierung benutzt werden, in
-welchem Falle diese (optimal für konstante Gewichtung) als Einstiegspunkt für
-die iterative Suche benutzt wird.
-.PD 0
-.RSs
-.IPs 0
-deaktiviert (Standard)
-.IPs 1
-Verringere nur die absoluten Werte der Koeffizienten.
-.IPs 2
-Ändere Koeffizienten nur vor dem letzten von 0 verschiedenen Koeffizient + 1.
-.IPs 3
-Versuche alle.
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<durch Kommas getrennte Matrix>
-Benutze eine eigene Intermatrix.
-Braucht eine kommaseparierte Zeichenkette von 64 Integerwerten.
-.
-.TP
-.B intra_matrix=<durch Kommas getrennte Matrix>
-Benutze eine eigene Intramatrix.
-Braucht eine kommaseparierte Zeichenkette von 64 Integerwerten.
-.
-.TP
-.B vqmod_amp
-experimentelle Modulation des Quantisierungsparameters
-.
-.TP
-.B vqmod_freq
-experimentelle Modulation des Quantisierungsparameters
-.
-.TP
-.B "dc\ \ \ \ \ "
-Intra-DC-Genauigkeit in Bits (Standard: 8).
-Wenn du vcodec=mpeg2video angibst, kann dieser Wert 8, 9, 10 oder 11 sein.
-.
-.TP
-.B cgop (siehe auch sc_threshold)
-Schließt alle GOPs.
-Funktioniert momentan nur, wenn die Szenenwechselerkennung deaktiviert ist
-(sc_threshold=1000000000).
-.
-.TP
-.B (no)lowdelay
-Setzt den low-delay-Flag für MPEG-1/2 (deaktiviert B-Frames).
-.
-.TP
-.B vglobal=<0\-3>
-Kontrolliere das Schreiben globaler Videoheader.
-.PD 0
-.RSs
-.IPs 0
-Der Codec entscheidet, wo globale Header geschrieben werden (Standard).
-.IPs 1
-Schreibe globale Header nur in Extradata (benötigt für .mp4/MOV/NUT).
-.IPs 2
-Schreibe globale Header nur vor Keyframes.
-.IPs 3
-Kombiniere 1 und 2.
-.RE
-.PD 1
-.
-.TP
-.B aglobal=<0\-3>
-Das gleiche wie vglobal für Audioheader.
-.
-.TP
-.B level=<Wert>
-Setze CodecContext Level.
-Benutze 31 oder 41, um das Video auf einer Playstation 3 abspielen zu können.
-.
-.TP
-.B skip_exp=<0\-1000000>
-FIXME: Dokumentiere diese Option.
-.
-.TP
-.B skip_factor=<0\-1000000>
-FIXME: Dokumentiere diese Option.
-.
-.TP
-.B skip_threshold=<0\-1000000>
-FIXME: Dokumentiere diese Option.
-.
-.
-.SS nuv (\-nuvopts)
-.
-NuppelVideo basiert auf RTJPEG und LZO.
-Normalerweise werden Frames zuerst mit RTJPEG encodiert und dann mit LZO
-komprimiert; es ist jedoch möglich, entweder einen oder beide Durchgänge zu
-deaktivieren.
-Als Ergebnis kannst du also tatsächlich raw i420, LZO-komprimiertes i420,
-RTJPEG oder normales LZO-komprimiertes RTJPEG ausgeben.
-.br
-.I ANMERKUNG:
-Die nuvrec-Dokumentation enthält einige Anweisungen und Beispiele zu
-Einstellungen, die für die meisten TV-Encodierungen genutzt werden können.
-.
-.TP
-.B c=<0\-20>
-Chrominanzschwellenwert (Standard: 1)
-.
-.TP
-.B l=<0\-20>
-Helligkeitsschwellenwert (Standard: 1)
-.
-.TP
-.B "lzo\ \ \ \ "
-Aktiviert LZO-Kompression (Standard).
-.
-.TP
-.B "nolzo\ \ "
-Deaktiviert LZO-Kompression.
-.
-.TP
-.B q=<3\-255>
-Qualitätslevel (Standard: 255)
-.
-.TP
-.B "raw \ \ \ "
-Deaktiviert RTJPEG-Encodierung.
-.
-.TP
-.B "rtjpeg\ "
-Aktiviert RTJPEG-Encodierung (Standard).
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-Es sind drei Modi verfügbar: konstante Bitrate (CBR), feste
-Quantisierungsparameter und Encodieren in zwei Durchläufen (two-pass).
-.
-.TP
-.B pass=<1|2>
-Gibt die Nummer des Durchlaufs im Modus mit zwei Durchläufen an.
-.
-.TP
-.B turbo (nur im Modus mit zwei Durchläufen)
-Erhöht die Geschwindigkeit des ersten Durchgangs drastisch, indem schnellere
-Algorithmen benutzt und CPU-intensive Optionen deaktiviert werden.
-Dies wird den PSNR-Wert im Ganzen wahrscheinlich ein wenig verringern und Typ
-und PSNR-Wert einzelner Frames ein wenig mehr verändern.
-.
-.TP
-.B bitrate=<Wert> (nur bei CBR oder im Modus mit zwei Durchläufen)
-Setzt die zu benutzende Bitrate in kBits/\:Sekunde, wenn der Wert < 16000 ist,
-oder in Bits/\:Sekunde, wenn der Wert > 16000 ist.
-Ist <Wert> negativ, so benutzt Xvid dessen absoluten Wert als Zielgröße des
-Videos (in kBytes) und berechnet die zugehörige Bitrate automagisch.
-(Standard: 687 kBits/s)
-.
-.TP
-.B fixed_quant=<1\-31>
-Aktiviert den Modus mit festen Quantisierungsparametern und legt den zu
-benutzenden Quantisierungsparameter fest.
-.
-.TP
-.B zones=<Zone0>[/<Zone1>[/...]] (nur bei CBR oder Modus mit zwei Durchläufen)
-Vom Benutzer angegebene Qualität für bestimmte Abschnitte (Ende, Abspann, ...).
-Jede Zone hat die Form <Start-Frame>,<Modus>,<Wert>, wobei <Modus> einer der
-folgenden sein kann:
-.PD 0
-.RSs
-.IPs "q"
-Überschreiben des konstanten Quantisierungsparameters, wobei Wert=<2.0\-31.0>
-den Wert des Quantisierungsparameters angibt.
-.IPs "w"
-Überschreiben der Gewichtung der Ratenkontrolle, wobei Wert=<0.01\-2.00> die
-Qualitätskorrektur in % angibt.
-.RE
-.PD 1
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-Encodiere alles Frames ab Frame 90000 mit einem konstanten
-Quantisierungsparameter von 20.
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-Encodiere alle Frames 0\-10000 mit 10% der Bitrate und alle Frames von 90000
-bis zum Ende mit einem konstanten Quantisierungsparameter von 20.
-Beachte, dass die zweite Zone benötigt wird, um die erste Zone zu beschränken,
-da ohne diese alles bis zu Frame 89999 mit 10% der Bitrate encodiert würde.
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-Diese Option kontrolliert das Bewegungsabschätzungssubsystem.
-Je höher der Wert, desto genauer sollte die Abschätzung sein (Standard: 6).
-Je genauer die Abschätzung ist, desto mehr Bits können eingespart werden.
-Die Präzision wird auf Kosten der CPU-Zeit erreicht; benutze also niedrigere
-Werte, falls du Encodierung in Echtzeit brauchst.
-.
-.TP
-.B (no)qpel
-MPEG-4 benutzt normalerweise eine Präzision halber Pixel für die
-Bewegungsabschätzung.
-Der Standard schlägt einen Modus vor, in dem es Encodern erlaubt ist, eine
-Präzision von einem viertel Pixel zu verwenden.
-Dies führt gewöhnlicherweise zu einem schärferen Bild.
-Nachteilig ist, dass dies einen großen Einfluss auf die Bitrate hat, und
-manchmal verhindert dies auch ein besseres Bild bei fester Bitrate.
-Es ist besser, durch Tests im Einzelfall zu entscheiden, ob es sich lohnt,
-diese Option zu aktivieren.
-.
-.TP
-.B (no)gmc
-Aktiviert Globale Bewegungskompensation (Global Motion Compensation), welche
-Xvid spezielle Frames (GMC-Frames) generieren lässt, die sich gut für
-Pan/\:Zoom/\:Drehung von Bildern eignen.
-Ob das Benutzen dieser Option Bits einspart, hängt sehr vom Quellmaterial ab.
-.
-.TP
-.B (no)trellis
-Die Trellis-Quantisierung ist eine Art adaptive Quantisierungsmethode, die Bits
-einspart, indem sie die Quantisierungskoeffizienten so verändert, dass sie vom
-Entropie-Encoder stärker komprimiert werden können.
-Der Einfluss auf die Qualität ist gut, und falls VHQ für dich zu viel
-CPU-Leistung braucht, kann diese Option eine gute Möglichkeit sein, mit
-weniger Aufwand als bei VHQ ein paar Bits einzusparen (und bei fester Bitrate
-die Qualität zu erhöhen) (Standard: aktiviert).
-.
-.TP
-.B (no)cartoon
-Aktiviere diese Option, wenn die zu encodierende Sequenz ein Anime/\:Cartoon
-ist.
-Sie modifiziert ein paar Xvid-interne Schwellenwerte, so dass Xvid bei
-Frametypen und Motion-Vectors für flach aussehende Cartoons bessere
-Entscheidungen trifft.
-.
-.TP
-.B (no)chroma_me
-Normalerweise benutzt der Algorithmus für die Bewegungsabschätzung nur
-Helligkeitsinformationen, um den besten Motion-Vector zu finden.
-Für manches Videomaterial jedoch kann die Benutzung der Chrominanzebenen
-helfen, bessere Resultate zu finden.
-Diese Einstellung (de)aktiviert die Benutzung der Chrominanzebenen für die
-Bewegungsabschätzung (Standard: aktiviert).
-.
-.TP
-.B (no)chroma_opt
-Aktiviert einen Vorfilter für die Farbtonoptimierung.
-Er wird ein paar Tricks auf die Farbinformationen anwenden, um Kammeffekte an
-Kanten zu minimieren.
-Er wird die Qualität auf Kosten der Zeit für die Encodierung verbessern.
-Naturgemäß verringert er den PSNR-Wert, da die mathematische Abweichung zum
-Originalbild größer wird, aber der subjektive Eindruck wird besser sein.
-Da er Farbinformationen benutzt, solltest du ihn bei Encodierung im
-Schwarz/weiß-Modus abschalten.
-.
-.TP
-.B (no)hq_ac
-Aktiviert die 'High Quality AC coefficient prediction', also die Vorhersage
-von Koeffizienten für Intra-Frames von benachbarten Blöcken (Standard:
-aktiviert).
-.
-.TP
-.B vhq=<0\-4>
-Der Algorithmus für die Bewegungsabschätzung basiert auf der Suche im
-normalen Farbraum und versucht, einen Motion-Vector zu finden, der die
-Differenz zwischen dem ursprünglichen und dem encodierten Frame minimiert.
-Ist diese Option aktiviert, benutzt Xvid außerdem den Frequenzbereich
-(frequency domain, DCT), um nach einem Motion-Vector zu suchen, der nicht nur
-den Unterschied in einem bestimmten Gebiet, sondern außerdem die encodierte
-Länge eines Blocks minimiert.
-Vom schnellsten zum langsamsten:
-.PD 0
-.RSs
-.IPs 0
-aus
-.IPs 1
-Entscheidung des Modus (Inter-/\:Intra-Macro-Block) (Standard)
-.IPs 2
-begrenzte Suche
-.IPs 3
-mittlere Suche
-.IPs 4
-ausgiebige Suche
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-Adaptive Quantisierung erlaubt den Quantisierungsparametern der Macro-Blöcke,
-sich innerhalb eines Frames zu unterscheiden.
-Dies ist eine 'psychosensorische' Einstellung, die die Tatsache nutzen soll,
-dass das menschliche Auge dazu neigt, in sehr hellen und sehr dunklen Teilen
-eines Bildes weniger Details zu erkennen.
-Sie komprimiert diese Bereiche stärke als mittlere, was Bits einspart, die
-dafür für andere Frames benutzt werden können, so wird die subjektive Qualität
-im Ganzen erhöht, der PSNR-Wert dabei jedoch möglicherweise reduziert.
-.
-.TP
-.B (no)grayscale
-Sorgt dafür, dass Xvid die Chrominanzebenen verwirft, so dass das encodierte
-Video schwarz/weiß wird.
-Beachte, dass dies den Encodierungsvorgang nicht beschleunigt, es werden in
-der letzten Stufe der Encodierung einfach keine Farbdaten geschrieben.
-.
-.TP
-.B (no)interlacing
-Encodiert die Felder von interlaced Videomaterial.
-Schalte diese Option bei interlaced Inhalten ein.
-.br
-.I ANMERKUNG:
-Solltest du das Video anders skalieren, brauchst du einen Skalierer, der
-interlaced Material bemerkt; du kannst einen solchen mit \-vf
-scale=<Breite>:<Höhe>:1 aktivieren.
-.
-.TP
-.B min_iquant=<0\-31>
-minimaler Wert für den Quantisierungsparameter für Intra-Frames (Standard: 2)
-.
-.TP
-.B max_iquant=<0\-31>
-maximaler Wert für den Quantisierungsparameter für Intra-Frames (Standard: 2)
-.
-.TP
-.B min_pquant=<0\-31>
-minimaler Wert für den Quantisierungsparameter für P-Frames (Standard: 2)
-.
-.TP
-.B max_pquant=<0\-31>
-maximaler Wert für den Quantisierungsparameter für P-Frames (Standard: 31)
-.
-.TP
-.B min_bquant=<0\-31>
-minimaler Wert für den Quantisierungsparameter für B-Frames (Standard: 2)
-.
-.TP
-.B max_bquant=<0\-31>
-minimaler Wert für den Quantisierungsparameter für B-Frames (Standard: 31)
-.
-.TP
-.B min_key_interval=<Wert> (nur im Modus mit zwei Durchläufen)
-minimale Anzahl Frames zwischen zwei Keyframes (Standard: 0)
-.
-.TP
-.B max_key_interval=<Wert>
-maximale Anzahl Frames zwischen zwei Keyframes (Standard: 10*fps)
-.
-.TP
-.B quant_type=<h263|mpeg>
-Bestimmt die zu benutzende Quantisierungsmethode.
-Bei hohen Bitraten wirst du meinen, dass die MPEG-Quantisierung mehr Details
-behält.
-Bei niedrigen Bitraten wird die Glättung von H.263 weniger Blockartefakte
-liefern.
-Bei der Benutzung eigener Matrizen
-.B muss
-die MPEG-Quantisierung benutzt werden.
-.
-.TP
-.B quant_intra_matrix=<Dateiname>
-Lädt eine Datei mit einer eigenen Intra-Matrix.
-Du kannst eine solche mit dem Matrixeditor von xvid4conf erstellen.
-.
-.TP
-.B quant_inter_matrix=<Dateiname>
-Lädt eine Datei mit einer eigenen Inter-Matrix.
-Du kannst eine solche mit dem Matrixeditor von xvid4conf erstellen.
-.
-.TP
-.B keyframe_boost=<0\-1000> (nur im Modus mit zwei Durchläufen)
-Diese Option verlagert einige Bits aus dem Vorrat anderer Frametypen zu
-Intra-Frames, so dass die Qualität von Keyframes verbessert wird.
-Diese Menge ein extra Anteil, daher wird ein Wert von 10 den Keyframes 10%
-mehr Bits als sonst zuteilen (Standard: 0).
-.
-.TP
-.B kfthreshold=<Wert> (nur im Modus mit
-zwei Durchläufen)
-Arbeitet mit kfreduction zusammen.
-Bestimmt den minimalen Abstand, unter dem zwei Frames als aufeinanderfolgend
-gelten und gemäß kfreduction anders behandelt werden (Standard: 10).
-.
-.TP
-.B kfreduction=<0-\100> (nur im Modus mit zwei Durchläufen)
-Die oberen beiden Einstellungen können genutzt werden, um die Größe von
-Keyframes anzupassen, die du für zu nah hintereinander zum ersten hältst.
-kfthreshold setzt den Bereich, in dem Keyframes reduziert werden, und
-kfreduction bestimmt die Reduktion der Bitrate, die angewendet wird.
-Der letzte Intra-Frame wird normal behandelt (Standard: 30).
-.
-.TP
-.B max_bframes=<0\-4>
-Maximale Anzahl der B-Frames, die zwischen Intra- und P-Frames gesetzt wird
-(Standard: 2).
-.
-.TP
-.B bquant_ratio=<0\-1000>
-Verhältnis von B-Frames zu nicht-B-Frames bei der Quantisierung, 150=1.50
-(Standard: 150).
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-Offset von B-Frames zu nicht-B-Frames bei der Quantisierung, 100=1.00
-(Standard: 100).
-.
-.TP
-.B bf_threshold=<\-255\-255>
-Diese Option erlaubt dir, die Priorität für die Benutzung von B-Frames
-anzugeben.
-Je höher der Wert, desto wahrscheinlicher wird ein B-Frame benutzt (Standard:
-0).
-Vergiss nicht, dass B-Frames normalerweise einen höheren
-Quantisierungsparameter benutzen, daher kann aggressives Erzeugen von B-Frames
-zu schlechterer visueller Qualität führen.
-.
-.TP
-.B (no)closed_gop
-Diese Option weist Xvid an, jede GOP (Group Of Pictures, Gruppe von Bildern,
-die von zwei I-Frames begrenzt sind) zu schließen, was die GOPs unabhängig
-voneinander macht.
-Dies bedeutet lediglich, dass der letzte Frame einer GOP entweder ein P- oder
-ein N-Frame ist, nicht aber ein B-Frame.
-Es ist normalerweise sinnvoll, diese Option zu aktivieren (Standard:
-aktiviert).
-.
-.TP
-.B (no)packed
-Diese Option ist dazu gedacht, Probleme mit der Framereihenfolge zu lösen bei
-der Encodierung in Containerformate wie AVI, die mit aus der Reihenfolge
-gekommenen Frames nicht umgehen können.
-In der Praxis können die meisten (sowohl Software- als auch Hardware-) Decoder
-die Framereihenfolge richtig handhaben, es kann sie sogar verwirren, wenn
-diese Option aktiviert ist, daher kannst du sie mit Sicherheit weglassen;
-aktiviere sie nur, wenn du genau weißt, was du tust.
-.br
-.I WARNUNG:
-Dies erzeugt einen ungültigen Bitstream, der höchstwahrscheinlich von keinem
-ISO-MPEG-4-Decoder außer DivX/\:libavcodec/\:Xvid dekodiert werden kann.
-.br
-.I WARNUNG:
-Dies wird außerdem eine vorgetäuschte DivX-Version in der Datei speichern,
-welche die Fehlerkorrekturmechanismen mancher Decoder verwirren kann.
-.
-.TP
-.B frame_drop_ratio=<0\-100> (nur bei max_bframes=0)
-Diese Einstellung erlaubt die Erstellung von Videostreams mit variabler
-Framerate.
-Der Wert dieser Einstellung gibt den Schwellenwert an, ab dem ein Frame nicht
-encodiert wird, wenn nämlich die Differenz des folgenden zum vorigen Frame
-kleiner oder gleich diesem Schwellenwert ist (ein sogenanntes n-vop wird in
-den Stream geschrieben).
-Bei der Wiedergabe wird bei Erreichen eines n-vop der vorige Frame dargestellt.
-.br
-.I WARNUNG:
-Rumspielen mit dieser Einstellung kann zu ruckelnden Videos führen, benutze
-sie also auf eigenes Risiko!
-.
-.TP
-.B rc_reaction_delay_factor=<Wert>
-Dieser Parameter kontrolliert die Anzahl der Frames, die die
-CBR-Bitratenkontrolle wartet, bevor sie auf Änderungen der Bitrate reagiert
-und sie anpasst, um in einer durchschnittlich großen Spanne von Frames eine
-konstante Bitrate zu erhalten.
-.
-.TP
-.B rc_averaging_period=<Wert>
-Eine wirklich konstante Bitrate ist nur schwer zu erreichen.
-Abhängig vom Videomaterial kann die Bitrate variabel und schwer vorauszusagen
-sein.
-Daher benutzt der Xvid-Encoder einen durchschnittlichen Zeitraum, für den er
-eine gegebene Anzahl Bits garantiert (minus einer kleinen Schwankung).
-Diese Option setzt die Anzahl der Frames, über denen Xvid die Bitrate mittelt,
-um eine konstante Bitrate zu erreichen.
-.
-.TP
-.B rc_buffer=<Wert>
-Größe des Bitratenkontrollpuffers
-.
-.TP
-.B curve_compression_high=<0\-100>
-Diese Einstellung erlaubt Xvid, einen gewissen Teil der Bits weg von Szenen
-mit hohen Bitraten zu nehmen und dem allgemeinen Vorrat für Bits hinzuzufügen.
-Du kannst diese Option benutzen, falls du einen Film mit so vielen schnell
-bewegten Szenen hast, dass die Szenen mit geringeren Bitraten anfangen,
-schlecht auszusehen (Standard: 0).
-.
-.TP
-.B curve_compression_low=<0\-100>
-Diese Einstellung erlaubt Xvid, einen gewissen Teil der allgemein verfügbaren
-Bits den Szenen zuzuteilen, die mit niedrigeren Bitraten codiert
-werden, wobei dafür dem ganzen Video ein paar Bits weggenommen werden.
-Die kann sich nützlich erweisen, wenn du ein paar Szenen mit eigentlich
-niedriger Bitrate hast, die trotzdem Blockeffekte zeigen (Standard: 0).
-.
-.TP
-.B overflow_control_strength=<0\-100>
-Während des ersten Durchlaufs im Modus mit zwei Durchläufen wird eine skalierte
-Bitratenkurve berechnet.
-Die Differenz zwischen dieser erwarteten Kurve und dem bei der Encodierung
-erzielten Resultat wird Overflow genannt.
-Offensichtlich versucht die Bitratenkontrolle beim zweiten Durchlauf, diesen
-Overflow zu
-kompensieren, indem er über die nächsten Frames verteilt wird.
-Diese Einstellung kontrolliert, wie stark ein Overflow für jeden neuen
-Frame verteilt wird.
-Niedrige Werte erlauben eine lässige Kontrolle des Overflows, so dass sehr
-hohe Bitraten langsamer abgefangen werden (was bei kurzen Clips die
-Präzision verringern kann).
-Hohe Werte machen Änderungen der Bit-Verteilung abrupter, möglicherweise sogar
-zu abrupt, wenn du zu hohe Werte wählst, was zu Artefakten führen kann
-(Standard: 5).
-.br
-.I ANMERKUNG:
-Diese Einstellung hat großen Einfluss auf die Qualität, spiele damit also nur
-vorsichtig!
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-Während der Zuteilung von Bits für Frames kann die Kontrolle für den Overflow
-die Größe eines Frames erhöhen.
-Dieser Parameter bestimmt den maximalen Anteil, um den dieser Kontrolle
-erlaubt wird, die Größe eines Frames im Vergleich zu der idealen Kurve zu
-erhöhen (Standard: 5).
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-Während der Zuteilung von Bits für Frames kann die Kontrolle für den Overflow
-die Größe eines Frames verringern.
-Dieser Parameter bestimmt den maximalen Anteil, um den dieser Kontrolle
-erlaubt wird, die Größe eines Frames im Vergleich zu der idealen Kurve zu
-verringern (Standard: 5).
-.
-.TP
-.B container_frame_overhead=<0...>
-Gibt den durchschnittlichen Frame-Overhead pro Frame in Bytes an.
-Meistens geben Benutzer die Zielbitrate für ein Video an, ohne dabei den
-Overhead des Videocontainers zu beachten.
-Dieser kleine aber (meistens) konstante Overhead kann dazu führen, dass die
-gewünschte Dateigröße überschritten wird.
-Xvid erlaubt Benutzern, den Anteil des Overheads anzugeben, der pro Frame
-erzeugt wird (gib nur einen Durchschnittswert pro Frame an).
-0 hat eine spezielle Bedeutung, sie lässt Xvid eigene Standardwerte
-wählen (Standard: 24 \- durchschnittlicher Overhead für AVIs).
-.
-.TP
-.B profile=<profile_name>
-Beschränkt Optionen und VBV (höchste Bitrate innerhalb kurzer Zeit) anhand
-Simple, Advanced-Simple und der DivX-Profile.
-Resultierende Videos sollten von Standalone-Geräten, die diese
-Profilspezifikationen unterstützen, abspielbar sein.
-.PD 0
-.RSs
-.IPs unrestricted
-keine Beschränkungen (Standard)
-.IPs "sp0\ \ "
-Simple-Profil Level 0
-.IPs "sp1\ \ "
-Simple-Profil Level 1
-.IPs "sp2\ \ "
-Simple-Profil Level 2
-.IPs "sp3\ \ "
-Simple-Profil Level 3
-.IPs "asp0\ "
-Advanced-Simple-Profil Level 0
-.IPs "asp1\ "
-Advanced-Simple-Profil Level 1
-.IPs "asp2\ "
-Advanced-Simple-Profil Level 2
-.IPs "asp3\ "
-Advanced-Simple-Profil Level 3
-.IPs "asp4\ "
-Advanced-Simple-Profil Level 4
-.IPs "asp5\ "
-Advanced-Simple-Profil Level 5
-.IPs dxnhandheld
-DXN-Handheld-Profil
-.IPs dxnportntsc
-DXN-Portable NTSC-Profil
-.IPs dxnportpal
-DXN-Portable PAL-Profil
-.IPs dxnhtntsc
-DXN-Home-Theater NTSC-Profil
-.IPs dxnhtpal
-DXN-Home-Theater PAL-Profil
-.IPs dxnhdtv
-DXN-HDTV-Profil
-.RE
-.PD 1
-.RS
-.I ANMERKUNG:
-Diese Profile sollten in Verbindung mit einem entsprechenden \-ffourcc benutzt
-werden.
-Generell anwendbar ist DX50, da manche Geräte Xvid nicht, die meisten aber
-DivX erkennen.
-.RE
-.
-.TP
-.B par=<Modus>
-Gibt den Modus für das Pixel-Aspektverhältnis (Pixel Aspect Ratio, PAR) an,
-also dem Größenverhältnis der Pixel (nicht zu verwechseln mit dem Aspekt auf
-dem Bildschirm (Display Aspect Ratio, DAR).
-PAR ist das Verhältnis von Breite zu Höhe eines einzelnen Pixels.
-Beide Verhältnisse stehen also in folgendem Zusammenhang: DAR = PAR *
-(Breite/\:Höhe).
-.br
-MPEG-4 definiert 5 verschiedene Pixel-Aspekte sowie einen erweiterten, der es
-erlaubt, einen eigenen spezifischen Pixel-Aspekt anzugeben.
-Fünf Standardmodi können angegeben werden:
-.PD 0
-.RSs
-.IPs vga11
-Das ist der normale PAR für Inhalte auf dem PC.
-Pixel sind hierbei einheitliche Quadrate.
-.IPs pal43
-PAL-Standard 4:3 PAR.
-Pixel sind Rechtecke.
-.IPs pal169
-das gleiche wie oben
-.IPs ntsc43
-das gleiche wie oben
-.IPs ntsc169
-das gleiche wie oben (Vergiss nicht, das genaue Verhältnis anzugeben.)
-.IPs "ext\ \ "
-Erlaubt dir, einen eigenen Aspekt (PAR) mit par_width und par_height anzugeben.
-.RE
-.PD 1
-.RS
-.I ANMERKUNG:
-Normalerweise ist das Setzen der Optionen aspect und autoaspect ausreichend.
-.RE
-.
-.TP
-.B par_width=<1\-255> (nur bei par=ext)
-Gibt die Breite des Pixel-Größenverhältnisses an.
-.
-.TP
-.B par_height=<1\-255> (nur bei par=ext)
-Gibt die Höhe des Pixel-Größenverhältnisses an.
-.
-.TP
-.B aspect=<x/y | f (Fließkommazahl)>
-Speichere den Filmaspekt intern, wie bei MPEG-Dateien.
-Dies ist eine viel elegantere Lösung als den Film neu zu skalieren, da die
-Qualität nicht verringert wird.
-MPlayer und ein paar andere Player werden diese Dateien korrekt wiedergeben,
-andere werden das Größenverhältnis falsch darstellen.
-Der Parameter für das Verhältnis kann als Bruch oder Fließkommawert angegeben
-werden.
-.
-.TP
-.B (no)autoaspect
-Das gleiche wie die Option aspect, wobei jedoch das Verhältnis automatisch
-berechnet wird, Veränderungen in der Filterkette wie
-crop/\:expand/\:scale/\:etc.\& werden dabei berücksichtigt.
-.
-.TP
-.B "psnr\ \ \ "
-Gib den PSNR-Wert (Peak Signal to Noise Ratio) des kompletten Films nach dem
-Encodieren aus und speichere ihn für jeden einzelnen Frame in einer Datei der
-Form 'psnr_hhmmss.log' im aktuellen Verzeichnis.
-Die gelieferten Werte haben die Einheit dB (Dezibel), je höher desto besser.
-.
-.TP
-.B "debug\ \ "
-Speichert Statistiken für jeden einzelnen Frame in ./\:xvid.dbg.
-(Dies ist nicht das Logfile des Modus mit zwei Durchläufen.)
-.RE
-.
-.PP
-.sp 1
-Die folgende Option ist nur bei Xvid 1.1.x verfügbar.
-.
-.TP
-.B bvhq=<0|1>
-Diese Einstellung erlaubt mögliche Auswahlen des Encodierungsvorgangs für
-B-Frames, einen Raten-störungsoptimierten Operator verwenden, was für
-P-Frames mit der Option vhq getan wird.
-Dies liefert besser aussehende B-Frames, während fast keine
-Performance-Einbußen auftreten (Standard: 1).
-.
-.PP
-.sp 1
-Die folgende Option ist nur bei Xvid 1.2.x verfügbar.
-.
-.TP
-.B threads=<0\-n>
-Erzeugt n Threads für die Bewegungsabschätzung (Standard: 0).
-Die Bildhöhe geteilt durch 16 ergibt die maximale Anzahl Threads, die
-verwendet werden kann.
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<Wert>
-Setzt die durchschnittliche Bitrate auf kbits/\:Sekunde (Standard: aus).
-Da die lokale Bitrate variieren kann, ist es möglich, dass dieser
-Durchschnittswert für sehr kurze Videos ungenau berechnet wird (siehe ratetol).
-Konstante Bitraten können erreicht werden, indem man diese Option mit
-vbv_maxrate kombiniert, allerdings vermindert das die Qualität signifikant.
-.
-.TP
-.B qp=<0\-51>
-Diese Option wählt den Quantizer für P-Frames.
-Intra- und B-Frames werden mit diesem Wert jeweils durch ip_factor und
-pb_factor verrechnet.
-20\-40 ist ein brauchbarer Bereich.
-Niedrigere Werte bewirken geringere Verlusten bei höheren Bitraten.
-0 ist verlustfrei.
-Beachte, dass die Quantisierung bei H.264 anders funktioniert als bei
-MPEG-1/2/4:
-Die Quantisierungsparameter (QP) von H.264 liegen auf einer logarithmischen
-Skala.
-Das Mapping ist ungefähr H264QP = 12 + 6*log2(MPEGQP).
-Beispielsweise ist MPEG bei QP=2 vergleichbar mit H.264 bei QP=18.
-.
-.TP
-.B crf=<1.0\-50.0>
-Aktiviert den "constant quality mode" und legt die Qualität fest.
-Die Skala ist ähnlich der des QP.
-Ähnlich wie die Bitraten-basierten Modi ermöglicht
-dies, für jeden Frame einen anderen QP festzulegen, je nach dessen Komplexität.
-.
-.TP
-.B pass=<1\-3>
-2- oder 3-pass-Modus (d.h. mit 2 oder 3 Durchläufen) aktivieren.
-Es wird empfohlen, immer im 2- oder 3-pass-Modus zu enkodieren, da dies zu
-einer besseren Bit-Verteilung und allgemein besseren Qualität führt.
-.PD 0
-.RSs
-.IPs 1
-Erster Durchlauf
-.IPs 2
-Zweiter Durchlauf (bei Encodierung mit zwei Durchläufen)
-.IPs 3
-n-ter Durchlauf (zweiter und dritter Durchlauf des 3-Durchläufe-Modus)
-.RE
-.RS
-Und so funktioniert es bzw.\& so wird es angewandt:
-.br
-Der erste Durchlauf (pass=1) erstellt Statistiken über das Video und
-schreibt diese in eine Datei.
-Es bietet sich an, einige CPU-intensive Optionen zu deaktivieren; abgesehen von
-denen, die als Voreinstellung aktiviert sind.
-.br
-Im 2-pass-Modus liest der zweite Durchlauf (pass=2) diese Datei wieder ein und
-berechnet auf dieser Grundlage die Bitratenkontrolle.
-.br
-Im 3-pass-Modus tut der zweite Durchlauf (pass=3, dies ist kein Tippfehler)
-beides: Zuerst liest er die Statistiken ein, dann überschreibt er sie.
-Du kannst alle Optionen verwenden, außer vielleicht den sehr CPU-intensiven.
-.br
-Der dritte Durchlauf (pass=3) macht das gleiche wie der zweite Durchlauf,
-außer dass er die Statisitiken des zweiten Durchlaufs verwendet.
-Du kannst alle Optionen verwenden, einschließlich der sehr CPU-intensiven.
-.br
-Der erste Durchlauf kann entweder eine durchschnittliche Bitrate (ABR) oder
-einen konstanten Quantizer verwenden.
-ABR wird empfohlen, da dafür nicht das Ermitteln eines Quantizers nötig ist.
-Nachfolgende Durchläufe sind ABR; es muss eine Bitrate angegeben werden.
-.REss
-.
-.TP
-.B turbo=<0\-2>
-Schneller erster Durchlauf.
-Während des ersten Durchlaufs des Encodierens mit mehreren Durchläufen kann
-die Geschwindigkeit durch Deaktivieren einiger Optionen gesteigert werden \-
-ohne bzw. ohne merkliche Minderung der Qualität des letzten Durchlaufs.
-.PD 0
-.RSs
-.IPs 0
-deaktiviert (Standard)
-.IPs 1
-Reduziere subq und frameref und deaktiviere einige "inter macroblock partitions
-analysis"-Modi.
-.IPs 2
-Reduziere subq und frameref auf 1, verwende eine "diamond ME"-Suche und
-deaktiviere alle "partitions analysis"-Modi.
-.RE
-.RS
-
-Stufe 1 kann die Geschwindigkeit des ersten Durchlaufs bis auf das Doppelte
-erhöhen, ohne das globale PSNR im Vergleich zu einem vollen ersten Durchlauf zu
-verändern.
-.br
-Stufe 2 kann die Geschwindigkeit des ersten Durchlaufs bis auf das Vierfache
-erhöhen \- bei einer Veränderung des PSNR von ca. +/\- 0.05dB im Vergleich zu
-einem vollen ersten Durchlauf.
-.REss
-.
-.TP
-.B keyint=<Wert>
-Setzt das maximale Intervall zwischen IDR-Frames (Standard: 250).
-Höhere Werte sichern Bits und erhöhen dadurch die Qualität auf Kosten der
-Suchpräzision.
-Anders als MPEG-1/2/4 ist H.264 nicht von DCT-Versatz bei hohen keyint-Werten
-betroffen.
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-Setzt das minimale Intervall zwischen IDR-Frames (Standard: 25).
-Wenn innerhalb dieses Intervalls Szenenwechsel stattfinden, werden sie dennoch
-als Intra-Frames encodiert, sie starten aber nicht mit einem neuen GOP.
-In H.264 begrenzen Intra-frames nicht unbedingt einen geschlossen GOP, da ein
-P-Frame durch mehrere als nur den vorangehenden Frame vorausberechnet werden
-kann (siehe auch frameref).
-Daher sind Intra-Frames nicht notwendigerweise spulbar.
-IDR-Frames verhindern, dass nachfolgende P-Frames sich auf einen Frame vor dem
-IDR-Frame beziehen.
-.
-.TP
-.B scenecut=<\-1\-100>
-Legt fest, wie aggressiv zusätzliche Intra-Frames eingefügt werden (Standard:
-40).
-Mit geringen Werten für scenecut muss der Codec oft einen Intra-Frame einfügen,
-wenn er den Wert für keyint übersteigen würde.
-Gute Werte für scenecut finden evtl.\& eine bessere Position für Intra-Frames.
-Hohe Werte setzen mehr Intra-Frames als nötig ein und verschwenden damit Bits.
-\-1 schaltet die scenecut-Erkennung ab, dadurch werden Intra-Frames nur einmal
-pro jedem anderen keyint-Frame eingesetzt, sogar wenn ein Szenenwechsel früher
-stattfindet.
-Diese ist nicht empfehlenswert und verschwendet Bitraten, denn als scenecuts
-enkodierte P-Frames sind genau so groß wie I-Frames, ohne dabei aber den
-"keyint counter" zurückzusetzen.
-.
-.TP
-.B frameref=<1\-16>
-Die Anzahl der vorhergehenden Frames, die zum Vorausberechnen in B- und
-P-Frames
-verwendet werden (Standard: 1).
-Das ist besonders effektiv bei animierten Filmen; bei Realfilm-Material nehmen
-die Verbesserungen bei mehr als etwa 6 Referenz-Frames ziemlich schnell ab.
-Dies hat keinen Einfluss auf die Dekodiergeschwindigkeit, erhöht aber den zum
-Encodieren benötigten Speicherbedarf.
-Einige Dekodierer können maximal 15 Referenz-Frames behandeln.
-.
-.TP
-.B bframes=<0\-16>
-maximale Anzahl aufeinanderfolgender B-Frames zwischen Intra- and P-Frames
-(Standard: 0)
-.
-.TP
-.B (no)b_adapt
-Legt automatisch fest, wann und wieviele B-Frames verwendet werden, bis maximal
-zum o.a. Wert (Standard: an).
-Falls diese Option deaktiviert ist, wird die maximale Anzahl für B-Frames
-verwendet.
-.
-.TP
-.B b_bias=<\-100\-100>
-Erlaubt Einflussnahme auf die Funktion von b_adapt.
-Ein höherer Wert für b_bias erzeugt mehr B-Frames (Standard: 0).
-.
-.TP
-.B (no)b_pyramid
-Ermöglicht die Verwendung von B-Frames als Referenz für die Vorhersage anderer
-Frames.
-Nehmen wir als Beispiel 3 aufeinanderfolgende Frames: I0 B1 B2 B3 P4.
-Ohne diese Option verhalten sich B-Frames genau wie MPEG-[124].
-Sie werden also in der Reihenfolge I0 P4 B1 B2 B3 kodiert, und alle B-Frames
-werden auf Grundlage von I0 und P4 berechnet.
-Mit dieser Option werden sie als I0 P4 B2 B1 B3 encodiert.
-B2 ist das gleiche wie oben, jedoch wird B1 aus I0 and B2 berechnet, während B3
-auf B2 und B4 basiert.
-Das Ergebnis ist eine etwas bessere Komprimierung bei fast keinem
-Geschwindigkeitsverlust.
-Allerdings ist dies eine experimentelle Option: die Feinabstimmung fehlt noch,
-und daher bringt sie möglicherweise keinen Vorteil.
-Benötigt bframes >= 2.
-Nachteil: Erhöht die Decodierungsverzögerung auf 2 Frames.
-.
-.TP
-.B (no)deblock
-Deblocking-Filter verwenden (Standard: an).
-Da diese Option sehr wenig Zeit im Vergleich zum Qualitätsgewinn benötigt,
-sollte sie nicht deaktiviert werden.
-.
-.TP
-.B deblock=<\-6\-6>,<\-6\-6>
-Der erste Parameter ist AlphaC0 (Standard: 0).
-Dieser regelt Schwellenwerte für den H.264-Inloop-Deblocking-Filter.
-Zunächst legt dieser Parameter den Höchstwert für die Änderung fest, den der
-Filter auf jeden einzelnen Pixel anwenden darf.
-Weiterhin beeinflusst dieser Parameter den Schwellenwert für den Unterschied,
-der über die Kante hinaus gefiltert wird.
-Positive Werte reduzieren blockförmige Strukturen, verwischen aber auch
-Details.
-.br
-Der zweite Parameter ist Beta (Standard: 0).
-Beeinflusst den Schwellwert für Details.
-Sehr detailreiche Blöcke werden nicht gefiltert, da das Glätten durch den
-Filter stärker auffallen würde als die ursprünglichen Blöcke.
-.br
-Die Standardeinstellung des Filters erreicht fast immer optimale Qualität,
-daher ist es am besten, keine oder nur geringe Änderungen vorzunehmen.
-Falls allerdings dein Quellmaterial schon Blöcke oder Rauschen aufweist und Du
-diese entfernen möchtest, kannst Du den Wert etwas erhöhen.
-.
-.TP
-.B (no)cabac
-Verwende CABAC (Context-Adaptive Binary Arithmetic Coding) (Standard: an).
-Verlangsamt geringfügig die Encodierung und Decodierung, spart aber für
-gewöhnlich 10\-15% Bitrate.
-Solange Du keinen großen Wert auf Geschwindigkeit bei der Decodierung legst,
-solltest Du diese Option nicht deaktivieren.
-.
-.TP
-.B qp_min=<1\-51> (ABR oder Modus mit zwei Durchläufen)
-Minimaler Quantisierungsparameter, 10\-30 ist ein brauchbarer Bereich
-(Standard: 10).
-.
-.TP
-.B qp_max=<1\-51> (ABR oder Modus mit zwei Durchläufen)
-Maximaler Quantisierungsparameter (Standard: 51)
-.
-.TP
-.B qp_step=<1\-50> (ABR oder Modus mit zwei Durchläufen)
-Maximaler Wert um den der Quantisierungsparameter zwischen Frames
-erhöht/gesenkt werden kann (Standard: 4).
-.
-.TP
-.B ratetol=<0.1\-100.0> (ABR oder Modus mit zwei Durchläufen)
-Erlaubte Streuung der durchschnittlichen Bitrate (keine besonderen Einheiten)
-.
-.TP
-.B vbv_maxrate=<Wert> (ABR oder Modus mit zwei Durchläufen)
-Maximale lokale Bitrate in kBits/\:Sekunde (Standard: deaktiviert)
-.
-.TP
-.B vbv_bufsize=<Wert> (ABR oder Modus mit zwei Durchläufen)
-Mittelungsperiode für vbv_maxrate, in kBits
-(Standard: keine, muss angegeben werden wenn vbv_maxrate aktiviert ist)
-.
-.TP
-.B vbv_init=<0.0\-1.0> (ABR oder Modus mit zwei Durchläufen)
-Anfängliche Pufferauslastung als Bruchteil von vbv_bufsize (Standard: 0.9)
-.
-.TP
-.B ip_factor=<Wert>
-Quantizer-Faktor zwischen Intra- und P-Frames (Standard: 1.4)
-.
-.TP
-.B pb_factor=<Wert>
-Quantizer-Faktor zwischen P- und B-Frames (Standard: 1.3)
-.
-.TP
-.B qcomp=<0\-1> (ABR oder Modus mit zwei Durchläufen)
-Komprimierung des Quantisierungsparameters (Standard: 0.6).
-Ein niedrigerer Wert führt zu einer konstanteren Bitrate, während ein höherer
-Wert zu einem konstanteren Quantisierungsparameter führt.
-.
-.TP
-.B cplx_blur=<0\-999> (nur im Modus mit zwei Durchläufen)
-Zeitliche Unschärfe der geschätzten Frame-Komplexität vor der
-Kurvenkomprimierung (Standard: 20).
-Niedrigere Werte ermöglichen einen volatileren Quantisierungsparameterwert,
-höhere Werte forcieren sanftere Schwankungen.
-cplx_blur stellt sicher, dass jeder Intra-Frame eine mit den nachfolgenden
-P-Frames
-vergleichbare Qualität hat.
-Außerdem stellt diese Option sicher, dass abwechselnd hoch- und weniger
-komplexe Frames (z.B. Animation mit wenigen fps)
-keine Bits auf schwankende Quantizer verschwenden.
-.
-.TP
-.B qblur=<0\-99> (nur im Modus mit zwei Durchläufen)
-Zeitliche Unschärfe des Quantisierungsparameters nach der
-Kurvenkomprimierung (Standard: 0.5).
-Niedrigere Werte ermöglichen einen volatileren Quantisierungsparameterwert,
-höhere Werte forcieren sanftere Schwankungen.
-.
-.TP
-.B zones=<Zone0>[/<Zone1>[/...]]
-Vom Benutzer festgelegte Qualität für besondere Abschnitte (Ende, Abspann,
-...).
-Jede Zone ist <Start-Frame>,<End-Frame>,<Option>, wobei Option die folgenden
-Werte annehmen kann:
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-Quantisierungsparameter
-.IPs "b=<0.01\-100.0>"
-Bitraten-Multiplikator
-.RE
-.PD 1
-.RS
-.I Anmerkung:
-Die Quantisierungsparameter-Option wird nicht streng forciert.
-Sie betrifft nur die Planungsphase von ratecontrol und unterliegt der
-Überlauf-Kompensation sowie qp_min/qp_max.
-.RE
-.
-.TP
-.B direct_pred=<Name>
-Legt den Typ der Bewegungsvorhersage fest, der für direkte Markoblöcke in
-B-Frames verwendet wird.
-.PD 0
-.RSs
-.IPs none
-Direkte Makroblöcke werden nicht genutzt.
-.IPs spatial
-Bewegungsvektoren werden über benachbarte Blöcke extrapoliert.
-(Standard)
-.IPs temporal
-Bewegungsvektoren werden über den nachfolgenden P-Frame extrapoliert.
-.IPs auto
-Der Codec wählt für jeden Frame zwischen räumlicher und zeitlicher Vorhersage.
-.RE
-.PD 1
-.RS
-Zeitlich und räumlich haben in etwa die gleiche Geschwindigkeit und PSNR,
-die Wahl zwischen beiden hängt vom Videoinhalt ab.
-Auto ist etwas besser, jedoch langsamer.
-Auto eignet sich vor allem bei Encodierung mit mehreren Durchläufen.
-direct_pred=none ist sowohl langsamer als auch von schlechterer Qualität.
-.RE
-.
-.TP
-.B (no)weight_b
-Gewichtete Berechnung in B-Frames verwenden.
-Ohne diese Option messen bidirektional berechnete Makroblöcke jedem
-Referenz-Frame gleiches Gewicht bei.
-Mit dieser Option werden die Gewichtungen anhand der zeitlichen Position des
-B-Frames im Verhältnis zu den Referenzen bestimmt.
-Benötigt bframes > 1.
-.
-.TP
-.B partitions=<Liste>
-Aktiviere einige optionale Makroblock-Typen (Standard: p8x8,b8x8,i8x8,i4x4).
-.PD 0
-.RSs
-.IPs p8x8
-Aktiviere die Typen p16x8, p8x16, p8x8.
-.IPs p4x4
-Aktiviere die Typen p8x4, p4x8, p4x4.
-p4x4 wird nur bei subq >= 5 empfohlen, und auch nur bei niedrigen Auflösungen.
-.IPs b8x8
-Aktiviere die Typen b16x8, b8x16, b8x8.
-.IPs i8x8
-Aktiviere Typ i8x8.
-i8x8 hat keinen Einfluß, wenn 8x8dct nicht aktiviert ist.
-.IPs i4x4
-Aktiviere Typ i4x4.
-.IPs all
-Aktivere alle der oben gelisteten Typen.
-.IPs none
-Deaktiviere alle der oben gelisteten Typen.
-.RE
-.PD 1
-.RS
-Unabhängig von dieser Option werden die Makroblock-Typen p16x16, b16x16 und
-i16x16 immer aktiviert.
-.br
-Die Kunst besteht darin, Typen und Größen zu finden, die einen
-bestimmten Bereich des Bildes am besten beschreiben.
-So wird ein weiter Kameraschwenk bei 16x16 Blöcken besser dargestellt,
-während kleine, bewegliche Objekte besser mit kleinen Blöcken dargestellt
-werden.
-.RE
-.
-.TP
-.B (no)8x8dct
-Adaptive räumliche Transformationsgröße: Erlaubt Makroblöcken die Wahl
-zwischen 4x4 und 8x8 DCT.
-Erlaubt außerdem den Makroblock-Typ i8x8.
-Ohne diese Option wird nur 4x4 DCT verwendet.
-.
-.TP
-.B me=<Name>
-Wählt den Vollpixel-Bewegungsschätzungs-Algorithmus.
-.PD 0
-.RSs
-.IPs dia
-Diamant-Suche, Radius 1 (schnell)
-.IPs hex
-Hexagon-Suche, Radius 2 (Standard)
-.IPs umh
-Ungerade Multi-Hexagon-Suche (langsam)
-.IPs esa
-Gründliche Suche (sehr langsam und nicht besser als umh)
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-Radius der gründlichen bzw. Multi-Hexagon-Bewegungssuche (Standard: 16)
-.
-.TP
-.B subq=<0\-9>
-Anpassen der Verfeinerungsqualität von subpel.
-Dieser Parameter kontrolliert das Gleichgewicht von Qualität und
-Geschwindigkeit beim Prozess der Bewegungsschätzung.
-subq=5 kann bis zu 10% besser als subq=1 komprimieren.
-.PD 0
-.RSs
-.IPs 0
-Wendet Vollpixel-Präzisionsbewegungsschätzung auf alle in Frage kommenden
-Makroblock-Typen an, wählt dann den besten Typen anhand einer SATD-Metrik
-(schneller als subq=1, nicht zu empfehlen, wenn du nicht ultra-schnelle
-Encodierung brauchst).
-.IPs 1
-Macht das gleiche wie 0 und verfeinert die Bewegung dieses Typs auf schnelle
-Viertelpixel-Präzision (schnell).
-.IPs 2
-Wendet Halbpixel-Präzisionsbewegungsschätzung auf alle in Frage kommenden
-Makroblock-Typen an, wählt dann den besten Typen anhand einer SATD-Metrik und
-verfeinert schließlich die
-Bewegung dieses Typen auf schnelle Viertelpixel-Präzision.
-.IPs 3
-Wie 2, verwendet jedoch langsamere Viertelpixel-Verfeinerung.
-.IPs 4
-Wendet schnelle Viertelpixel-Präzisionsbewegungsschätzung auf alle in Frage
-kommenden Makroblock-Typen an, wählt dann den besten Typen anhand einer
-SATD-Metrik und schließt dann
-die Viertelpixel-Verfeinerung für diesen Typen ab.
-.IPs 5
-Wendet die bestmögliche Viertelpixel-Präzisionsbewegungsschätzung auf alle in
-Frage kommenden Makroblock-Typen an und wählt dann den besten Typen.
-Außerdem werden anstatt die Vektoren von Vorwärts- und Rückwärtssuche
-wiederzuverwenden die beiden Bewegungsvektoren, die in bidirektionalen
-Makroblöcken verwendet werden, anhand einer SATD-Metrik verfeinert.
-.IPs 6
-Aktiviert Rate-Distortion-Optimierung von Makroblock-Typen in Intra- und
-P-Frames an (Standard).
-.IPs 7
-Aktiviert Rate-Distortion-Optimierung von Makroblock-Typen in allen Frames.
-.IPs 8
-Aktiviert Rate-Distortion-Optimierung von Bewegungsvektoren und
-Intra-Prediction-Modi in Intra- und P-Frames.
-.IPs 9
-Aktiviert Rate-Distortion-Optimierung von Bewegungsvektoren und
-Intra-Prediction-Modi in allen Frames (am besten).
-.RE
-.PD 1
-.RS
-"alle in Frage kommenden" meint im obigen Zusammenhang nicht alle aktivierten
-Typen; 4x4, 4x8, 8x4 werden nur probiert, wenn 8x8 besser als 16x16 ist.
-.RE
-.
-.TP
-.B (no)chroma_me
-Berücksichtigt Chrominanz-Informationen während der Subpixel-Bewegungssuche.
-(Standard: aktiviert).
-Benötigt subq>=5.
-.
-.TP
-.B (no)mixed_refs
-Ermöglicht für jede 8x8- oder 16x8-Bewegungspartition die unabhängige Wahl
-eines Referenz-Frames.
-Ohne diese Option muss ein gesamter Makroblock dieselbe Referenz benutzen.
-Benötigt frameref>1.
-.
-.TP
-.B trellis=<0\-2> (nur bei Cabac)
-Optimale Quantisierung der Rate-Distortion
-.PD 0
-.RSs
-.IPs 0
-deaktiviert (Standard)
-.IPs 1
-nur bei abschließender Encodierung aktiviert
-.IPs 2
-während allen Modus-Entscheidungen aktiviert (langsam, benötigt subq>=6)
-.RE
-.PD 1
-.
-.TP
-.B psy-rd=rd[,trell]
-Setzt die Stärke der psychovisuellen Optimierung.
-.PD 0
-.RSs
-.IPs rd=<0.0\-10.0>
-Optimierungsstärke (benötigt subq>=6) (Standard: 1.0)
-.IPs trell=<0.0\-10.0>
-Trellis (benötigt trellis, experimentell) (Standard: 0.0)
-.RE
-.PD 1
-.
-.
-.TP
-.B deadzone_inter=<0\-32>
-Setzt die Größe der Inter-Luma-Quantisierungs-Deadzone für
-nicht-Trellis-Quantisierung (Standard: 21).
-Niedrigere Werte helfen dabei, feine Details und Körnung zu bewahren
-(typischerweise nützlich bei Encodierungen mit hoher Bitrate/Qualität),
-während höhere Werte dabei helfen, diese Details herauszufiltern, um Bits zu
-sparen, die dafür auf andere Macroblöcke und Frames verwendet werden können
-(typischerweise nützlich bei Encodierungen mit mangelnder Bitrate).
-Es wird empfohlen, mit Feineinstellungen für deadzone_intra zu beginnen, bevor
-du diesen Parameter verwendest.
-.
-.TP
-.B deadzone_intra=<0\-32>
-Setzt die Größe der Intra-Luma-Quantisierungs-Deadzone für
-nicht-Trellis-Quantisierung (Standard: 11).
-Diese Option hat dieselbe Wirkung wie deadzone_inter, bezieht sich aber auf
-Intra-Frames.
-Es wird empfohlen, mit Feineinstellungen für diese Option zu beginnen, bevor
-du deadzone_inter änderst.
-.
-.TP
-.B (no)fast_pskip
-Führt in P-Frames eine frühe Sprungerkennung durch (Standard: aktiviert).
-Dies verbessert die Geschwindigkeit normalerweise ohne zusätzliche Kosten,
-kann manchmal jedoch zu Artefakten führen in Bereichen ohne Details, wie ein
-Himmel.
-.
-.TP
-.B nr=<0\-100000>
-Rauschunterdrückung, 0 bedeutet deaktiviert.
-100\-1000 ist ein sinnvoller Bereich für typischen Inhalt, du möchtest den
-Wert aber vielleicht erhöhen bei etwas verrauschteren Inhalten (Standard: 0).
-Da der Einfluß auf die Geschwindigkeit gering ist, möchtest du diese Methode
-der Rauschunterdrückung mit Filtern wie denoise3d oder hqdn3d möglicherweise
-vorziehen.
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-Einen anderen Quantisierungsparameter für die Chrominanz im Vergleich zur
-Helligkeit verwenden.
-Brauchbare Werte liegen im Bereich <\-2\-2> (Standard: 0).
-.
-.TP
-.B aq_mode=<0\-2>
-Definiert, wie die adaptive Quantisierung (AQ) die Bits verteilt:
-.PD 0
-.RSs
-.IPs 0
-deaktiviert
-.IPs 1
-Vermeide es, Bits zwischen Frames zu bewegen.
-.IPs 2
-Bewege Bits zwischen Frames (Standard).
-.RE
-.PD 1
-.
-.TP
-.B aq_strength=<positiver Fließkommawert>
-Kontrolliert, wie stark die adaptive Quantisierung (AQ) Blockbildung und
-Verwaschungen in flachen und texturierten Bereichen reduziert (Standard: 1.0).
-Ein Wert von 0.5 wird zu schwacher AQ und weniger Details führen, während ein
-Wert von 1.5 zu starker AQ und mehr Details führt.
-.
-.TP
-.B cqm=<flat|jvt|<Dateiname>>
-Verwendet entweder eine vom Benutzer vorgegebene Quantisierungsmatrix oder lädt
-eine Matrixdatei im JM-Format.
-.PD 0
-.RSs
-.IPs "flat\ "
-Verwendet die vorgegebene Flache-16-Matrix (Standard).
-.IPs "jvt\ \ "
-Verwendet die JVT-Matrix.
-.IPs <Dateiname>
-Verwende die vorgegebene Matrixdatei im JM-Format.
-.PD 1
-.RE
-.RS
-.I ANMERKUNG:
-Beim Verwenden der CMD.EXE von Windows können Probleme beim Parsen der
-Kommandozeile
-auftreten, wenn alle CQM-Listen verwendet werden sollen.
-Das liegt an der Beschränkung der Kommandozeilenlänge.
-In diesem Fall ist empfehlenswert, die Listeninhalte in eine CQM-Datei im
-JM-Format zu packen und wie oben angegeben zu laden.
-.RE
-.
-.TP
-.B cqm4iy=<list> (siehe auch cqm)
-Eigene 4x4 Intra-Luminanz-Matrix, angegeben als Liste von 16 kommagetrennten
-Werten im Bereich von 1\-255.
-.
-.TP
-.B cqm4ic=<list> (siehe auch cqm)
-Eigene 4x4 Intra-Chrominanz-Matrix, angegeben als Liste von 16 kommagetrennten
-Werten im Bereich von 1\-255.
-.
-.TP
-.B cqm4py=<list> (siehe auch cqm)
-Eigene 4x4 Inter-Luminanz-Matrix, angegeben als Liste von 16 kommagetrennten
-Werten im Bereich von 1\-255.
-.
-.TP
-.B cqm4pc=<list> (siehe auch cqm)
-Eigene 4x4 Inter-Chrominanz-Matrix, angegeben als Liste von 16 kommagetrennten
-Werten im Bereich von 1\-255.
-.
-.TP
-.B cqm8iy=<list> (siehe auch cqm)
-Eigene 8x8 Intra-Luminanz-Matrix, angegeben als Liste von 64 kommagetrennten
-Werten im Bereich von 1\-255.
-.
-.TP
-.B cqm8py=<list> (siehe auch cqm)
-Eigene 8x8 Inter-Luminanz-Matrix, angegeben als Liste von 64 kommagetrennten
-Werten im Bereich von 1\-255.
-.
-.TP
-.B level_idc=<10\-51>
-Legt die Ebene des Bitstroms fest, wie im Anhang A des H.264-Standards
-beschrieben.
-(Standard: 51 \- Ebene 5.1).
-Wird benötigt, um dem Dekoder mitzuteilen, welche Funktionen er unterstützen
-muss.
-Verwende diesen Parameter nur, wenn Du weißt, was Du tust und wenn Du ihn
-setzen musst.
-.
-.TP
-.B threads=<0\-16>
-Erstellt Threads, um parallel auf mehreren CPUs zu encodieren (Standard: 1).
-Dies führt zu geringen Einbußen der Kompressionsqualität.
-0 oder 'auto' weist x264 an, die verfügbare Anzahl CPUs zu erkennen und eine
-entsprechende Anzahl Threads zu wählen.
-.
-.TP
-.B (no)global_header
-Bewirkt, dass SPS und PPS nur einmal bei Beginn des Bitstreams erscheinen
-(Standard: deaktiviert).
-Manche Wiedergabegeräte, wie die PSP, benötigen diese Option.
-Das Standardverhalten veranlasst, dass SPS und PPS vor jedem IDR-Frame
-wiederholt werden.
-.
-.TP
-.B (no)interlaced
-Behandle den Videoinhalt als interlaced.
-.
-.TP
-.B log=<\-1\-3>
-Einstellen, wieviel an Loginformationen auf dem Bildschirm ausgegeben wird.
-.PD 0
-.RSs
-.IPs "\-1"
-keine
-.IPs " 0"
-Nur Fehler ausgeben.
-.IPs " 1"
-Warnungen
-.IPs " 2"
-PSNR und andere Analyse-Statistiken nach der Encodierung ausgeben (Standard)
-.IPs " 3"
-PSNR, QP, Frame-Type, Größe und andere Statistiken für jeden Frame
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-Gib PSNR-Statistiken aus.
-.br
-.I ANMERKUNG:
-Die PSNR-Felder'Y', 'U', 'V' und 'Avg' in der Zusammenfassung sind nicht
-mathematisch exakt, sondern einfach die durchschnittliche PSNR pro Frame.
-Sie werden nur zum Vergleich mit dem JM-Referenz-Codec beibehalten.
-Für alle anderen Zwecke benutze bitte den PSNR 'Global' oder aber die
-PSNRs pro Frame, die von log=3 ausgegeben werden.
-.
-.TP
-.B (no)ssim
-Gib die Ergebnisse der Structural Similarity Metric aus.
-Dies ist eine Alternative zu PSNR, die unter Umständen besser mit der
-wahrgenommenen Qualität des komprimierten Videos korrelliert.
-.
-.TP
-.B (no)visualize
-x264-Visualisierung während der Encodierung aktivieren.
-Falls das x264 auf deinem System das unterstützt, wird während des
-Encodierprozesses ein neues Fenster geöffnet, in dem x264 versuchen wird, eine
-Übersicht darüber zu geben, wie jeder Block enkodiert wird.
-Jeder Block-Typ in der Visualisierung wird wiefolgt eingefärbt:
-.PD 0
-.RSs
-.IPs rot/pink
-Intra-Block
-.IPs "blau\ "
-Inter-Block
-.IPs grün
-Skip-Block
-.IPs gelb
-B-Block
-.RE
-.PD 1
-.RS
-Diese Funktion sollte als experimentell betrachtet werden; sie kann in
-zukünftigen Versionen ihr Verhalten ändern.
-Insbesondere beruht sie darauf, dass x264 mit Unterstützung für
-Visualisierungen kompiliert wurde.
-Momentan ist es so, dass x264 nach jeder Encodierung und Visualisieren eines
-Frames anhält, auf einen Tastendruck des Benutzers wartet und dann erst den
-nächsten Frame enkodiert.
-.RE
-.
-.
-.SS xvfw (\-xvfwopts)
-.
-Encodierung mit Video for Windows Codecs ist hauptsächlich obsolet, es sei
-denn, du möchtest mit irgendeinem obskuren Codec encodieren.
-.
-.TP
-.B codec=<Name>
-Der Name der Binärcodecdatei, mit der encodiert werden soll.
-.
-.TP
-.B compdata=<Datei>
-Der Name der Datei mit den Codec-Einstellungen (etwa firstpass.mcf), die
-von vfw2menc erstellt wurde.
-.
-.
-.SS MPEG Muxer (\-mpegopts)
-.
-Der MPEG Muxer kann 5 verschiedene Streamtypen generieren, wovon jeder
-sinnvolle Standardparameter hat, die der Benutzer überschreiben kann.
-Beim Generieren von MPEG-Dateien ist es generell sinnvoll, MEncoders Code zum
-Überspringen von Frames zu benutzen (siehe \-noskip, \-mc sowie die Videofilter
-harddup und softskip).
-.PP
-.I BEISPIEL:
-.PD 0
-.RSs
-.IPs format=mpeg2:tsaf:vbitrate=8000
-.RE
-.PD 1
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
-Streamformat (default: mpeg2).
-pes1 und pes2 sind mangelhafte Formate (kein Paketheader und kein Padding),
-VDR verwendet sie jedoch; wähle diese nicht, wenn du nicht genau weißt, was
-du tust.
-.
-.TP
-.B size=<bis zu 65535>
-Paketgröße in Bytes; verändere diese nicht, wenn du nicht genau weißt, was du
-tust (Standard: 2048).
-.
-.TP
-.B muxrate=<int>
-Nominale Mux-Rate in kBit/s, die in den Paket-Headern benutzt wird (Standard:
-1800 kb/s).
-Wird nach Bedarf aktualisiert, im Falle 'format=mpeg1' oder 'mpeg2'.
-.
-.TP
-.B "tsaf\ \ \ "
-Setzt Zeitstempel (timestamps) bei allen Frames, wenn möglich; empfohlen bei
-format=dvd.
-Wenn sich dvdauthor beschwert mit einer Meldung wie "..audio sector out of
-range...", hast du diese Option vermutlich nicht aktiviert.
-.
-.TP
-.B interleaving2"
-Verwendet einen besseren Algorithmus für das Interleaving von Audio- und
-Videopaketen, basierend auf dem Prinzip, dass der Muxer immer versuchen wird,
-den Stream mit dem größten Prozentanteil des verfügbaren Platzes zu füllen.
-.
-.TP
-.B vdelay=<1\-32760>
-Initiale Zeit, um die das Video verzögert wird, in Millisekunden (Standard:
-0), benutze dies, um Video bezüglich Audio zu verzögern.
-Dies funktioniert nicht mit :drop.
-.
-.TP
-.B adelay=<1\-32760>
-Initiale Zeit, um die der Ton verzögert wird, in Millisekunden (Standard: 0),
-benutze dies, um Ton bezüglich Video zu verzögern.
-.
-.TP
-.B "drop\ \ \ "
-Bei Benutzung mit vdelay verwirft der Muxer den Teil der Audiospur, der
-angepasst wurde.
-.
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-Setzt Videobreite und -höhe, wenn das Video MPEG-1/2 ist.
-.
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-Setzt Videobreite und -höhe bei Pan-und-Scan-Video bei MPEG-2.
-.
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-Setzt den Display-Aspekt für MPEG-1/2-Video.
-Verwende diese Option nicht mit MPEG-1, oder der Aspekt wird völlig falsch sein.
-.
-.
-.TP
-.B vbitrate=<int>
-Setzt die Videobitrate in kbit/s für MPEG-1/2-Video.
-.
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 |
-60 >
-Setzt die Framerate bei MPEG-1/2-Video.
-Diese Option wird ignoriert, wenn sie zusammen mit der Option telecine benutzt
-wird.
-.
-.TP
-.B telecine
-Aktiviert 3:2-Pulldown-Soft-telecine-Modus: Der Muxer wird dafür
-sorgen, dass der Videostream wie mit 30000/\:1001 fps encodiert aussieht.
-Das funktioniert nur mit MPEG-2-Video, wenn die Framerate der Ausgabe
-24000/\:1001 beträgt, konvertiere diese mit \-ofps, falls nötig.
-Jede andere Framerate ist mit dieser Option inkompatibel.
-.
-.TP
-.B film2pal
-Aktiviert FILM zu PAL und NTSC zu PAL Soft-telecine-Modus: Der Muxer wird dafür
-sorgen, dass der Videostream wie mit 25 fps encodiert aussieht.
-Das funktioniert nur mit MPEG-2-Video, wenn die Framerate der Ausgabe
-24000/\:1001 beträgt, konvertiere diese mit \-ofps, falls nötig.
-Jede andere Framerate ist mit dieser Option inkompatibel.
-.
-.TP
-.B tele_src und tele_dest
-Ermöglicht beliebiges Telecining durch Verwendung des DGPulldown-Codes von
-Donand Graft.
-Du musst die originale und die erwünschte Framerate angeben; der Muxer wird
-den Videostream dann so aussehen lassen, als wäre er mit gewünschten
-Framerate encodiert worden.
-Dies funktioniert bei MPEG-2 nur dann, wenn die Framerate der Eingabe kleiner
-ist als die der Ausgabe und die Frameratenerhöhung <= 1.5 ist.
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.PD 0
-.RSs
-.IPs tele_src=25,tele_dest=30000/1001
-Telecining von PAL zu NTSC
-.RE
-.PD 1
-.
-.TP
-.B vbuf_size=<40\-1194>
-Setzt die Größe des Puffers des Videodecoders in Kilobytes.
-Gib diese nur an, wenn die Bitrate des Videostreams zu groß für das gewählte
-Format ist und wenn du genau weißt, was du tust.
-Ein zu hoch gewählter Wert kann zu einem nicht abspielbaren Film führen,
-abhängig von den Fähigkeiten deines Players.
-Beim Muxen von HDTV-Video sollte ein Wert von 400 ausreichen.
-.
-.TP
-.B abuf_size=<4\-64>
-Setzt die Größe des Puffers des Audiodecoders in Kilobytes.
-Es gilt das gleiche Prinzip wie für vbuf_size.
-.
-.
-.SS FFmpeg-libavformat-Demuxer (\-lavfdopts)
-.
-.TP
-.B analyzeduration=<Wert>
-Maximale Länge in Sekunden, die verwendet wird, um Streameigenschaften
-zu analysieren.
-.
-.TP
-.B format=<Wert>
-Gib einen speziellen libavformat-Demuxer an.
-.
-.TP
-.B o=<Schlüssel>=<Wert>[,<Schlüssel>=<Wert>[,...]]
-Übergib AVOptions an den libavformat-Demuxer.
-Beachte, ein Patch, um o= überflüssig zu machen und alle unbekannten Optionen
-durch das AVOption-System zu übergeben, ist willkommen.
-Eine komplette Liste der AVOptions findest du im FFmpeg-Handbuch.
-Beachte, dass manche Optionen mit MEncoder-Optionen in Konflikt stehen
-können.
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.PD 0
-.IPs o=ignidx
-.PD 1
-.RE
-.
-.TP
-.B probesize=<Wert>
-Maximale Datenmenge, die während der Erkennungsphase untersucht wird.
-Im Falle von MPEG-TS gibt dieser Wert die maximale Anzahl der zu scannenden
-TS-Pakete an.
-.
-.TP
-.B cryptokey=<Hex-String>
-Verschlüsselungsschlüssel, den der Demuxer verwenden soll.
-Dies sind die binären Rohdaten des Schlüssels in eine hexadezimale
-Zeichenkette konvertiert.
-.
-.
-.SS FFmpeg-libavformat-Muxer (\-lavfopts) (siehe auch \-of lavf)
-.
-.TP
-.B delay=<Wert>
-Momentan nur für MPEG[12] von Bedeutung: Maximal erlaubter Abstand in Sekunden
-zwischen dem Referenzzeitgeber des Ausgabestreams (SCR) und des
-Decodierungszeitstempels (DTS) für jeden vorhandenen Stream
-(Verzögerung von Demuxing zu Decodierung).
-Standardwert ist 0.7 (wie vom Standard von MPEG vorgegeben).
-Höhere Werte erfordern größere Puffer und dürfen nicht verwendet werden.
-.
-.TP
-.B format=<container_format>
-Überschreibt das Containerformat, in welches geschrieben wird (Standard:
-automatische Erkennung anhand der Dateiendung).
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-MPEG-1-Systeme und MPEG-2 PS
-.IPs "asf\ \ "
-Advanced Streaming Format
-.IPs "avi\ \ "
-Audio Video Interleave Datei
-.IPs "wav\ \ "
-Waveform Audio
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-Macromedia Flash Videodateien
-.IPs "rm\ \ \ "
-RealAudio und RealVideo
-.IPs "au\ \ \ "
-SUN AU-Format
-.IPs "nut\ \ "
-NUT offenes Containerformat (experimentell)
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-MPEG-4-Format
-.IPs "ipod\ "
-MPEG-4-Format mit speziellen Header-Flags, die von der Apple
-iPod-Firmware benötigt werden
-.IPs "dv\ \ \ "
-Sony Digital Video Container
-.IPs "matroska\ \ \ "
-Matroska
-.RE
-.PD 1
-.TP
-.B muxrate=<Rate>
-Nominale Bitrate des Multiplex in Bits pro Sekunde;
-momentan nur für MPEG[12] von Bedeutung.
-Manchmal ist es nötig, diese zu erhöhen, um "Buffer Underflows" zu verweiden.
-.
-.TP
-.B o=<Schlüssel>=<Wert>[,<Schlüssel>=<Wert>[,...]]
-Übergib AVOptions an den libavformat-Muxer.
-Beachte, ein Patch, um o= überflüssig zu machen und alle unbekannten Optionen
-durch das AVOption-System zu übergeben, ist willkommen.
-Eine komplette Liste der AVOptions findest du im FFmpeg-Handbuch.
-Beachte, dass manche Optionen mit MEncoder-Optionen in Konflikt stehen
-können.
-.sp 1
-.RS
-.I BEISPIEL:
-.RE
-.RSs
-.PD 0
-.IPs o=packetsize=100
-.PD 1
-.RE
-.
-.TP
-.B packetsize=<Größe>
-Größe, ausgedrückt in Bytes, des einheitlichen Pakets für das gewählte Format.
-Beim Muxing zu MPEG[12]-Implementierungen sind die Standardwerte 2324 für
-[S]VCD und 2048 für alle anderen Formate.
-.
-.TP
-.B preload=<Abstand>
-Momentan nur für MPEG[12] von Bedeutung: Initialer Abstand in Sekunden zwischen
-dem Referenzzeitgeber des Ausgabestreams (SCR) und des
-Decodierungszeitstempels (DTS) für jeden vorhandenen Stream
-(Verzögerung von Demuxing zu Decodierung).
-.
-.TP
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Dateien
-.\" --------------------------------------------------------------------------
-.
-.SH DATEIEN
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-systemweite Einstellungen
-.
-.TP
-~/.mplayer/\:config
-Benutzereinstellungen
-.
-.TP
-~/.mplayer/\:input.conf
-Eingabebelegungen (siehe '\-input keylist' für eine vollständige Auflistung
-aller Tastennamen)
-.
-.TP
-~/.mplayer/\:gui.pl
-Playlist für die GUI
-.
-.TP
-~/.mplayer/\:font/
-Schriftartenverzeichnis (es müssen sich eine Datei font.desc und Dateien mit
-der Erweiterung .RAW in dem Verzeichnis befinden)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-zwischengespeicherte CSS-Schlüssel
-.
-.TP
-Angenommen, dass /Pfad/\:zum/\:film.avi abgespielt wird,
-sucht MPlayer nach Untertiteldateien in folgender Reihenfolge:
-.RS
-/Pfad/\:zum/\:film.sub
-.br
-~/.mplayer/\:sub/\:film.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Umgebungsvariablen
-.\" --------------------------------------------------------------------------
-.
-.SH UMGEBUNGSVARIABLEN
-.
-Es gibt einige Umgebungsvariablen, die benutzt werden können, um das Verhalten
-von MPlayer und MEncoder zu steuern.
-.
-.TP
-.B MPLAYER_CHARSET (siehe auch \-msgcharset)
-Konvertiere Konsolenausgaben in den angegebenen Zeichensatz (Standard:
-automatische Erkennung).
-Der Wert "noconv" bedeutet keine Konvertierung.
-.TP
-.B MPLAYER_HOME
-Verzeichnis, in dem MPlayer nach dem Benutzereinstellungen sucht.
-.
-.TP
-.B MPLAYER_VERBOSE (siehe auch \-v und \-msglevel)
-Setze das initiale Ausführlichkeitslevel quer durch alle
-Benachrichtigungsmodule (Standard: 0).
-Das resultierende Ausführlichkeitslevel entspricht dem von \-msglevel 5 plus
-dem Wert von MPLAYER_VERBOSE.
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-Falls LADSPA_PATH gesetzt ist, wird dort der angegebenen Datei gesucht.
-Ansonsten muss ein vollständiger Pfadname angegeben werden.
-FIXME: Dies wird auch in der ladspa-Sektion erwähnt.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-Gibt das Verzeichnis an, in dem die Titelschlüssel gespeichert werden sollen.
-Dies beschleunigt die entschlüsselung von DVDs, die im Cache sind.
-Falls das Verzeichnis noch nicht existiert, wird es erzeugt und ein
-nach dem Titel oder Herstellungsdatum der DVD benanntes Unterverzeichnis
-angelegt.
-Wenn DVDCSS_CACHE nicht gesetzt oder leer ist, wird die Standardeinstellung
-benutzt, die unter Unix "${HOME}/.dvdcss/" und unter Win32
-"C:\\Dokumente und Einstellungen\\$USER\\Anwendungsdaten\\dvdcss\\" ist.
-Der spezielle Wert "off" deaktiviert den Cache.
-.
-.TP
-.B DVDCSS_METHOD
-Stellt die Authentifizierungs- und Entschlüsselungsmethode ein,
-die libdvdcss zum Lesen verschlüsselter DVDs benutzt.
-Mögliche Werte sind title, key oder disc.
-.PD 0
-.RSs
-.IPs "key\ \ "
-Standardeinstellung, libdvdcss benutzt einen Satz vorberechneter
-Player-Schlüssel um zu Versuchen den Disc-Schlüssel zu bekommen.
-Dies kann fehlschlagen, wenn das Laufwerk keinen der Player-Schlüssel
-erkennt.
-.IPs "disc\ "
-Ausweichmethode, wenn key fehlgeschlagen ist.
-Anstelle die Player-Schlüssel zu benutzen, knackt libdvdcss den
-Disc-Schlüssel mit einem Brute-Force-Algorithmus.
-Dieser Prozess ist CPU-Intensiv und benötigt 64MB Speicher für
-temporäre Daten.
-.IPs title
-Wird benutzt, wenn die anderen Methoden fehlgeschlagen sind.
-Es findet kein Schlüsselaustausch mit dem Laufwerk statt, an dessen
-Stelle wird ein Kryptografischer Angriff benutzt um den Titel-Schlüssel
-zu erraten.
-In seltenen Fällen kann dies fehlschlagen, wenn nicht genug verschlüsselte
-Daten auf der DVD sind um einen statistischen Angriff durchzuführen,
-andererseits ist dies die einzige Möglichkeit um eine verschlüsselt
-auf der Festplatte abgelegte oder mit nicht zur Laufwerksregion passende
-DVD abzuspielen.
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-Gibt die zu benutzende Rohdaten-Gerätedatei an.
-Die genaue Syntax hängt vom verwendeten Betriebssystem ab,
-z.B. wird uner Linux das raw(8)-Tool benutzt um diese
-Gerätedatei aufzusetzen.
-Beachte bitte, dass bei den meisten Betriebssystemen die Benutzung
-von Rohdaten-Gerätedateien streng ausgerichtet Puffer benötigt:
-Linux verlangt eine Ausrichtung auf 2048 Byte (die Größe eines DVD-Sektors).
-.
-.TP
-.B DVDCSS_VERBOSE
-Steuert die Ausführlichkeit der Meldungen von libdvdcss.
-.PD 0
-.RSs
-.IPs 0
-Keine Ausgaben.
-.IPs 1
-Gibt Fehlermeldungen auf stderr aus.
-.IPs 2
-Gibt Fehler- und Debugmeldungen auf stderr aus.
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-Überspringt das Ermitteln aller Schlüssel beim Start.
-Momentan unbenutzt.
-.
-.TP
-.B HOME
-FIXME: Muss noch dokumentiert werden.
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B AUDIODEV
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B AUDIOSERVER
-Gibt den Network Audio System Server und Transporttyp an, zu dem der
-nas-Audioausgabetreiber verbinden soll.
-Falls AUDIOSERVER nicht gesetzt ist, wird DISPLAY benutzt.
-Mögliche Werte für den Transporttyp sind tcp und unix.
-Die Syntax ist tcp/<rechner>:<port>, <rechner>:<instanznummer>
-oder [unix]:<instanznummer>.
-Der NAS-Basisport ist 8000 und <instanznummer> wird dazugezählt.
-.sp 1
-.RS
-.I BEISPIELE:
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=rechner:0
-Verbinde mit NAS-Server auf rechner mit Standardport und -Transporttyp.
-.IPs AUDIOSERVER=tcp/rechner:8000
-Verbinde mit auf port 8000 lauschendem NAS-Server auf rechner.
-.IPs AUDIOSERVER=(unix)?:0
-Verbinde mit NAS-Serverinstanz 0 auf localhost unter Benutzung von
-unix domain sockets.
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-FIXME: Muss noch dokumentiert werden.
-.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B VIDIXIVTVALPHA
-Setze dies auf 'disable', um den VIDIX\-Treiber daran zu hindern, die
-Einstellungen für das Alphablending zu kontrollieren.
-Du kannst die Einstellungen selbst vornehmen mit 'ivtvfbctl'.
-.
-.SS osdep:
-.
-.TP
-.B TERM
-FIXME: Muss noch dokumentiert werden.
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B FRAMEBUFFER
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B HOME
-FIXME: Muss noch dokumentiert werden.
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B HOMEPATH
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B http_proxy
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B LOGNAME
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B USERPROFILE
-FIXME: Muss noch dokumentiert werden.
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B DISPLAY
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B HOME
-FIXME: Muss noch dokumentiert werden.
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B BKTR_DEV
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B BKTR_FORMAT
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B BKTR_FREQUENCY
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B http_proxy
-FIXME: Muss noch dokumentiert werden.
-.
-.TP
-.B no_proxy
-FIXME: Muss noch dokumentiert werden.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Files
-.\" --------------------------------------------------------------------------
-.
-.SH FILES
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-Systemweite Einstellungen für MPlayer
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mencoder.conf
-Systemweite Einstellungen für MEncoder
-.
-.TP
-~/.mplayer/\:config
-Benutzerspezifische Einstellungen für MPlayer
-.
-.TP
-~/.mplayer/\:mencoder.conf
-Benutzerspezifische Einstellungen für MEncoder
-.
-.TP
-~/.mplayer/\:input.conf
-Eingabebindungen (Siehe '\-input keylist' für eine vollständige Liste)
-.
-.TP
-~/.mplayer/\:gui.conf
-GUI-Konfigurationsdatei
-.
-.TP
-~/.mplayer/\:gui.pl
-GUI-Playliste
-.
-.TP
-~/.mplayer/\:font/
-Font-Verzeichnis (Es müssen eine font.desc-Datei und Dateien
-mit .RAW-Erweiterung existieren)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-Cacheverzeichnis für CSS-Schlüssel
-.
-.TP
-Angenommen, das /path/\:to/\:movie.avi abgespielt werden soll, sucht
-MPlayer in folgender Reichenfolge nach Untertiteldateien:
-.RS
-/path/\:to/\:movie.sub
-.br
-~/.mplayer/\:sub/\:movie.sub
-.br
-~/.mplayer/\:default.sub
-.RE
-.PD 1
-.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Beispiele
-.\" --------------------------------------------------------------------------
-.
-.SH BEISPIELE ZUM GEBRAUCH VON MPLAYER
-.
-.PP
-.B Schnellstart für das Abspielen einer DVD:
-.nf
-mplayer dvd://1
-.fi
-.
-.PP
-.B Audio auf Japanisch mit englischen Untertiteln:
-.nf
-mplayer dvd://1 \-alang ja \-slang en
-.fi
-.
-.PP
-.B Spiele nur die Kapitel 5, 6, 7:
-.nf
-mplayer dvd://1 \-chapter 5\-7
-.fi
-.
-.PP
-.B Spiele nur die Titel 5, 6, 7:
-.nf
-mplayer dvd://5\-7
-.fi
-.
-.PP
-.B bei einer DVD mit mehreren Kameraperspektiven:
-.nf
-mplayer dvd://1 \-dvdangle 2
-.fi
-.
-.PP
-.B Abspielen von einem anderen DVD-Gerät:
-.nf
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.fi
-.
-.PP
-.B Spiele DVD-Videos direkt aus einem Verzeichnis mit VOB-Dateien:
-.nf
-mplayer dvd://1 \-dvd\-device /Pfad/\:zum/\:Verzeichnis/
-.fi
-.
-.PP
-.B Kopiere den Titel einer DVD auf die Festplatte, speichere die Datei unter
-dem Namen "title1.vob":
-.nf
-mplayer dvd://1 \-dumpstream \-dumpfile title1.vob
-.fi
-.
-.PP
-.B Spiele eine DVD mit dvdnav vom Pfad /dev/sr1:
-.nf
-mplayer dvdnav:////dev/sr1
-.fi
-.
-.PP
-.B Streaming per HTTP:
-.nf
-mplayer http://mplayer.hq/example.avi
-.fi
-.
-.PP
-.B Streaming mit RTSP:
-.nf
-mplayer rtsp://server.example.com/streamName
-.fi
-.
-.PP
-.B Konvertiere Untertitel in das MPsub-Format:
-.nf
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Konvertiere Untertitel in das MPsub-Format, ohne dabei das Video anzuschauen:
-.nf
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null \-vo null
-\-noframedrop \-benchmark \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Eingabe vom Standard-V4L-Gerät:
-.nf
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420
-\-vo xv
-.fi
-.
-.PP
-.B Wiedergabe auf Zoran-Karten (alte Bauweise, veraltet):
-.nf
-mplayer \-vo zr \-vf scale=352:288 Datei.avi
-.fi
-.
-.PP
-.B Wiedergabe auf Zoran-Karten (neue Bauweise):
-.nf
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg Datei.avi
-.fi
-.
-.PP
-.B Wiedergabe von DTS-CD mit Passthrough:
-.nf
-mplayer \-ac hwdts \-rawaudio format=0x2001 \-cdrom\-Gerät /dev/cdrom cdda://
-.fi
-.br
-Du kannst auch \-afm hwac3 anstelle von \-ac hwdts verwenden.
-Passe '/dev/cdrom' entsprechend dem CD-ROM-Gerät deines Systems an.
-Wenn dein externer Receiver Decodierung von raw-DTS-Streams unterstützt,
-kannst du diese direkt via cdda:// abspielen, ohne format, hwac3 oder hwdts
-angeben zu müssen.
-.
-.PP
-.B Spiele eine 6-kanalige AAC-Datei mit nur zwei Lautsprechern ab:
-.nf
-mplayer \-rawaudio on:format=0xff \-af
-pan=6:.32:.39:.06:.17:-.17:.33:.32:.06:.39:-.17:.17:.33 adts_he-aac160_51.aac
-.fi
-.br
-Du könntest etwas mit den Werten für pan experimentieren (z.B.\& mit einem
-Wert multiplizieren), um die Lautstärke zu erhöhen oder Abschneiden von Sound
-zu vermeiden.
-.
-.PP
-.B Schachbrett-Invertierung mit dem geq-Filter:
-.nf
-mplayer \-vf geq='128+(p(X\\,Y)\-128)*(0.5\-gt(mod(X/SW\\,128)\\,64))*(0.5\-gt(mod(Y/SH\\,128)\\,64))*4'
-.fi
-.
-.
-.SH BEISPIELE ZUM GEBRAUCH VON MENCODER
-.
-.PP
-.B Encodiere Titel Nr. 2 der DVD, aber nur ausgewählte Kapitel:
-.nf
-mencoder dvd://2 \-chapter 10\-15 \-o title2.avi \-oac copy \-ovc
-lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Encodiere Titel Nr. 2 der DVD und skaliere auf 640x480:
-.nf
-mencoder dvd://2 \-vf scale=640:480 \-o title2.avi \-oac copy \-ovc
-lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Encodiere Titel Nr. 2 der DVD und skaliere auf 512xHHH unter Beibehaltung des Höhen-/Breitenverhältnisses:
-.nf
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o title2.avi \-oac copy \-ovc
-lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Das gleiche, aber mit einer Bitrate von 1800kBit und optimierten Makroblocks:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts
-vcodec=mpeg4:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B Das gleiche, aber mit MJPEG-Kompression:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts
-vcodec=mjpeg:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B Encodiere alle .jpg-Dateien im aktuellen Verzeichnis:
-.nf
-mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc lavc \-lavcopts
-vcodec=mpeg4
-.fi
-.
-.PP
-.B Encodiere aus einem Fernsehsignal (gib ein Format mit \-vf format an):
-.nf
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.fi
-.
-.PP
-.B Encodiere aus einer Pipe:
-rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts
-vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.fi
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Fehler, Autoren, Haftungsausschluss
-.\" --------------------------------------------------------------------------
-.
-.SH FEHLER/\:BUGS
-Keine Panik.
-Berichte uns davon, wenn du einen findest, sei aber sicher, dass Du vorher die
-ganze Dokumentation gelesen hast.
-Achte auf Smilies. :)
-Viele Fehler sind das Resultat eines fehlerhaften Setups oder falscher
-Benutzung der Parameter.
-Die Sektion über Fehlerberichterstattung in der Dokumentation
-(http://www.mplayerhq.hu/\:DOCS/\:HTML/\:de/\:bugreports.html) beschreibt,
-wie man nutzbringende Fehlerberichte
-erstellt.
-.
-.
-.
-.SH AUTOREN
-MPlayer wurde ursprünglich von Arpad Gereöffy geschrieben.
-Siehe Datei AUTHORS für eine Liste einiger der vielen anderen Beitragenden.
-.PP
-MPlayer is (C) 2000\-2009 The MPlayer Team
-.PP
-Diese Manpage wurde zum größten Teil von Gabucino, Diego Biurrun und
-Jonas Jermann geschrieben und von Moritz Bunkus und Sebastian Krämer
-ins Deutsche übersetzt.
-Sie wird gepflegt von Sebastian Krämer.
-Schicke Mails die Manpage betreffend bitte an die MPlayer-DOCS-Mailingliste.
-.\" Ende der Datei
diff --git a/DOCS/man/en/af.rst b/DOCS/man/en/af.rst
new file mode 100644
index 0000000..1822a44
--- /dev/null
+++ b/DOCS/man/en/af.rst
@@ -0,0 +1,549 @@
+Audio Filters
+=============
+
+Audio filters allow you to modify the audio stream and its properties. The
+syntax is:
+
+--af=<filter1[=parameter1:parameter2:...],filter2,...>
+ Setup a chain of audio filters.
+
+*NOTE*: To get a full list of available audio filters, see ``--af=help``.
+
+Audio filters are managed in lists. There are a few commands to manage the
+filter list.
+
+--af-add=<filter1[,filter2,...]>
+ Appends the filters given as arguments to the filter list.
+
+--af-pre=<filter1[,filter2,...]>
+ Prepends the filters given as arguments to the filter list.
+
+--af-del=<index1[,index2,...]>
+ Deletes the filters at the given indexes. Index numbers start at 0,
+ negative numbers address the end of the list (-1 is the last).
+
+--af-clr
+ Completely empties the filter list.
+
+Available filters are:
+
+resample[=srate[:sloppy[:type]]]
+ Changes the sample rate of the audio stream. Can be used if you have a
+ fixed frequency sound card or if you are stuck with an old sound card that
+ is only capable of max 44.1kHz. This filter is automatically enabled if
+ necessary. It only supports 16-bit integer and float in native-endian
+ format as input.
+
+ <srate>
+ output sample frequency in Hz. The valid range for this parameter is
+ 8000 to 192000. If the input and output sample frequency are the same
+ or if this parameter is omitted the filter is automatically unloaded.
+ A high sample frequency normally improves the audio quality,
+ especially when used in combination with other filters.
+ <sloppy>
+ Allow (1) or disallow (0) the output frequency to differ slightly from
+ the frequency given by <srate> (default: 1). Can be used if the
+ startup of the playback is extremely slow.
+ <type>
+ Select which resampling method to use.
+
+ :0: linear interpolation (fast, poor quality especially when
+ upsampling)
+ :1: polyphase filterbank and integer processing
+ :2: polyphase filterbank and floating point processing
+ (slow, best quality)
+
+ *EXAMPLE*:
+
+ ``mplayer --af=resample=44100:0:0``
+ would set the output frequency of the resample filter to 44100Hz using
+ exact output frequency scaling and linear interpolation.
+
+lavcresample[=srate[:length[:linear[:count[:cutoff]]]]]
+ Changes the sample rate of the audio stream to an integer <srate> in Hz.
+ It only supports the 16-bit native-endian format.
+
+ <srate>
+ the output sample rate
+ <length>
+ length of the filter with respect to the lower sampling rate (default:
+ 16)
+ <linear>
+ if 1 then filters will be linearly interpolated between polyphase
+ entries
+ <count>
+ log2 of the number of polyphase entries (..., 10->1024, 11->2048,
+ 12->4096, ...) (default: 10->1024)
+ <cutoff>
+ cutoff frequency (0.0-1.0), default set depending upon filter length
+
+lavcac3enc[=tospdif[:bitrate[:minchn]]]
+ Encode multi-channel audio to AC-3 at runtime using libavcodec. Supports
+ 16-bit native-endian input format, maximum 6 channels. The output is
+ big-endian when outputting a raw AC-3 stream, native-endian when
+ outputting to S/PDIF. The output sample rate of this filter is same with
+ the input sample rate. When input sample rate is 48kHz, 44.1kHz, or 32kHz,
+ this filter directly use it. Otherwise a resampling filter is
+ auto-inserted before this filter to make the input and output sample rate
+ be 48kHz. You need to specify ``--channels=N`` to make the decoder decode
+ audio into N-channel, then the filter can encode the N-channel input to
+ AC-3.
+
+ <tospdif>
+ Output raw AC-3 stream if zero or not set, output to S/PDIF for
+ passthrough when <tospdif> is set non-zero.
+ <bitrate>
+ The bitrate to encode the AC-3 stream. Set it to either 384 or 384000
+ to get 384kbits.
+
+ Valid values: 32, 40, 48, 56, 64, 80, 96, 112, 128,
+ 160, 192, 224, 256, 320, 384, 448, 512, 576, 640.
+
+ Default bitrate is based on the input channel number:
+
+ :1ch: 96
+ :2ch: 192
+ :3ch: 224
+ :4ch: 384
+ :5ch: 448
+ :6ch: 448
+
+ <minchn>
+ If the input channel number is less than <minchn>, the filter will
+ detach itself (default: 5).
+
+sweep[=speed]
+ Produces a sine sweep.
+
+ <0.0-1.0>
+ Sine function delta, use very low values to hear the sweep.
+
+sinesuppress[=freq:decay]
+ Remove a sine at the specified frequency. Useful to get rid of the 50/60Hz
+ noise on low quality audio equipment. It probably only works on mono input.
+
+ <freq>
+ The frequency of the sine which should be removed (in Hz) (default:
+ 50)
+ <decay>
+ Controls the adaptivity (a larger value will make the filter adapt to
+ amplitude and phase changes quicker, a smaller value will make the
+ adaptation slower) (default: 0.0001). Reasonable values are around
+ 0.001.
+
+bs2b[=option1:option2:...]
+ Bauer stereophonic to binaural transformation using ``libbs2b``. Improves
+ the headphone listening experience by making the sound similar to that
+ from loudspeakers, allowing each ear to hear both channels and taking into
+ account the distance difference and the head shadowing effect. It is
+ applicable only to 2 channel audio.
+
+ fcut=<300-1000>
+ Set cut frequency in Hz.
+ feed=<10-150>
+ Set feed level for low frequencies in 0.1*dB.
+ profile=<value>
+ Several profiles are available for convenience:
+
+ :default: will be used if nothing else was specified (fcut=700,
+ feed=45)
+ :cmoy: Chu Moy circuit implementation (fcut=700, feed=60)
+ :jmeier: Jan Meier circuit implementation (fcut=650, feed=95)
+
+ If fcut or feed options are specified together with a profile, they will
+ be applied on top of the selected profile.
+
+hrtf[=flag]
+ Head-related transfer function: Converts multichannel audio to 2 channel
+ output for headphones, preserving the spatiality of the sound.
+
+ ==== ===================================
+ Flag Meaning
+ ==== ===================================
+ m matrix decoding of the rear channel
+ s 2-channel matrix decoding
+ 0 no matrix decoding (default)
+ ==== ===================================
+
+equalizer=[g1:g2:g3:...:g10]
+ 10 octave band graphic equalizer, implemented using 10 IIR band pass
+ filters. This means that it works regardless of what type of audio is
+ being played back. The center frequencies for the 10 bands are:
+
+ === ==========
+ No. frequency
+ === ==========
+ 0 31.25 Hz
+ 1 62.50 Hz
+ 2 125.00 Hz
+ 3 250.00 Hz
+ 4 500.00 Hz
+ 5 1.00 kHz
+ 6 2.00 kHz
+ 7 4.00 kHz
+ 8 8.00 kHz
+ 9 16.00 kHz
+ === ==========
+
+ If the sample rate of the sound being played is lower than the center
+ frequency for a frequency band, then that band will be disabled. A known
+ bug with this filter is that the characteristics for the uppermost band
+ are not completely symmetric if the sample rate is close to the center
+ frequency of that band. This problem can be worked around by upsampling
+ the sound using the resample filter before it reaches this filter.
+
+ <g1>:<g2>:<g3>:...:<g10>
+ floating point numbers representing the gain in dB for each frequency
+ band (-12-12)
+
+ *EXAMPLE*:
+
+ ``mplayer --af=equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi``
+ Would amplify the sound in the upper and lower frequency region while
+ canceling it almost completely around 1kHz.
+
+channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]
+ Can be used for adding, removing, routing and copying audio channels. If
+ only <nch> is given the default routing is used, it works as follows: If
+ the number of output channels is bigger than the number of input channels
+ empty channels are inserted (except mixing from mono to stereo, then the
+ mono channel is repeated in both of the output channels). If the number of
+ output channels is smaller than the number of input channels the exceeding
+ channels are truncated.
+
+ <nch>
+ number of output channels (1-8)
+ <nr>
+ number of routes (1-8)
+ <from1:to1:from2:to2:from3:to3:...>
+ Pairs of numbers between 0 and 7 that define where to route each
+ channel.
+
+ *EXAMPLE*:
+
+ ``mplayer --af=channels=4:4:0:1:1:0:2:2:3:3 media.avi``
+ Would change the number of channels to 4 and set up 4 routes that swap
+ channel 0 and channel 1 and leave channel 2 and 3 intact. Observe that
+ if media containing two channels was played back, channels 2 and 3
+ would contain silence but 0 and 1 would still be swapped.
+
+ ``mplayer --af=channels=6:4:0:0:0:1:0:2:0:3 media.avi``
+ Would change the number of channels to 6 and set up 4 routes that copy
+ channel 0 to channels 0 to 3. Channel 4 and 5 will contain silence.
+
+format[=format]
+ Convert between different sample formats. Automatically enabled when
+ needed by the sound card or another filter. See also ``--format``.
+
+ <format>
+ Sets the desired format. The general form is 'sbe', where 's' denotes
+ the sign (either 's' for signed or 'u' for unsigned), 'b' denotes the
+ number of bits per sample (16, 24 or 32) and 'e' denotes the
+ endianness ('le' means little-endian, 'be' big-endian and 'ne' the
+ endianness of the computer MPlayer is running on). Valid values
+ (amongst others) are: 's16le', 'u32be' and 'u24ne'. Exceptions to this
+ rule that are also valid format specifiers: u8, s8, floatle, floatbe,
+ floatne, mulaw, alaw, mpeg2, ac3 and imaadpcm.
+
+volume[=v[:sc]]
+ Implements software volume control. Use this filter with caution since it
+ can reduce the signal to noise ratio of the sound. In most cases it is
+ best to set the level for the PCM sound to max, leave this filter out and
+ control the output level to your speakers with the master volume control
+ of the mixer. In case your sound card has a digital PCM mixer instead of
+ an analog one, and you hear distortion, use the MASTER mixer instead. If
+ there is an external amplifier connected to the computer (this is almost
+ always the case), the noise level can be minimized by adjusting the master
+ level and the volume knob on the amplifier until the hissing noise in the
+ background is gone.
+
+ This filter has a second feature: It measures the overall maximum sound
+ level and prints out that level when MPlayer exits. This feature currently
+ only works with floating-point data, use e.g. ``--af-adv=force=5``, or use
+ ``--af=stats``.
+
+ *NOTE*: This filter is not reentrant and can therefore only be enabled
+ once for every audio stream.
+
+ <v>
+ Sets the desired gain in dB for all channels in the stream from -200dB
+ to +60dB, where -200dB mutes the sound completely and +60dB equals a
+ gain of 1000 (default: 0).
+ <sc>
+ Turns soft clipping on (1) or off (0). Soft-clipping can make the
+ sound more smooth if very high volume levels are used. Enable this
+ option if the dynamic range of the loudspeakers is very low.
+
+ *WARNING*: This feature creates distortion and should be considered a
+ last resort.
+
+ *EXAMPLE*:
+
+ ``mplayer --af=volume=10.1:0 media.avi``
+ Would amplify the sound by 10.1dB and hard-clip if the sound level is
+ too high.
+
+pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
+ Mixes channels arbitrarily. Basically a combination of the volume and the
+ channels filter that can be used to down-mix many channels to only a few,
+ e.g. stereo to mono or vary the "width" of the center speaker in a
+ surround sound system. This filter is hard to use, and will require some
+ tinkering before the desired result is obtained. The number of options for
+ this filter depends on the number of output channels. An example how to
+ downmix a six-channel file to two channels with this filter can be found
+ in the examples section near the end.
+
+ <n>
+ number of output channels (1-8)
+ <Lij>
+ How much of input channel i is mixed into output channel j (0-1). So
+ in principle you first have n numbers saying what to do with the first
+ input channel, then n numbers that act on the second input channel
+ etc. If you do not specify any numbers for some input channels, 0 is
+ assumed.
+
+ *EXAMPLE*:
+
+ ``mplayer --af=pan=1:0.5:0.5 media.avi``
+ Would down-mix from stereo to mono.
+
+ ``mplayer --af=pan=3:1:0:0.5:0:1:0.5 media.avi``
+ Would give 3 channel output leaving channels 0 and 1 intact, and mix
+ channels 0 and 1 into output channel 2 (which could be sent to a
+ subwoofer for example).
+
+sub[=fc:ch]
+ Adds a subwoofer channel to the audio stream. The audio data used for
+ creating the subwoofer channel is an average of the sound in channel 0 and
+ channel 1. The resulting sound is then low-pass filtered by a 4th order
+ Butterworth filter with a default cutoff frequency of 60Hz and added to a
+ separate channel in the audio stream.
+
+ *Warning*: Disable this filter when you are playing DVDs with Dolby
+ Digital 5.1 sound, otherwise this filter will disrupt the sound to the
+ subwoofer.
+
+ <fc>
+ cutoff frequency in Hz for the low-pass filter (20Hz to 300Hz)
+ (default: 60Hz) For the best result try setting the cutoff frequency
+ as low as possible. This will improve the stereo or surround sound
+ experience.
+ <ch>
+ Determines the channel number in which to insert the sub-channel
+ audio. Channel number can be between 0 and 7 (default: 5). Observe
+ that the number of channels will automatically be increased to <ch> if
+ necessary.
+
+ *EXAMPLE*:
+
+ ``mplayer --af=sub=100:4 --channels=5 media.avi``
+ Would add a sub-woofer channel with a cutoff frequency of 100Hz to
+ output channel 4.
+
+center
+ Creates a center channel from the front channels. May currently be low
+ quality as it does not implement a high-pass filter for proper extraction
+ yet, but averages and halves the channels instead.
+
+ <ch>
+ Determines the channel number in which to insert the center channel.
+ Channel number can be between 0 and 7 (default: 5). Observe that the
+ number of channels will automatically be increased to <ch> if
+ necessary.
+
+surround[=delay]
+ Decoder for matrix encoded surround sound like Dolby Surround. Many files
+ with 2 channel audio actually contain matrixed surround sound. Requires a
+ sound card supporting at least 4 channels.
+
+ <delay>
+ delay time in ms for the rear speakers (0 to 1000) (default: 20) This
+ delay should be set as follows: If d1 is the distance from the
+ listening position to the front speakers and d2 is the distance from
+ the listening position to the rear speakers, then the delay should be
+ set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.
+
+ *EXAMPLE*:
+
+ ``mplayer --af=surround=15 --channels=4 media.avi``
+ Would add surround sound decoding with 15ms delay for the sound to the
+ rear speakers.
+
+delay[=ch1:ch2:...]
+ Delays the sound to the loudspeakers such that the sound from the
+ different channels arrives at the listening position simultaneously. It is
+ only useful if you have more than 2 loudspeakers.
+
+ ch1,ch2,...
+ The delay in ms that should be imposed on each channel (floating point
+ number between 0 and 1000).
+
+ To calculate the required delay for the different channels do as follows:
+
+ 1. Measure the distance to the loudspeakers in meters in relation to your
+ listening position, giving you the distances s1 to s5 (for a 5.1
+ system). There is no point in compensating for the subwoofer (you will
+ not hear the difference anyway).
+
+ 2. Subtract the distances s1 to s5 from the maximum distance, i.e.
+ ``s[i] = max(s) - s[i]; i = 1...5``.
+
+ 3. Calculate the required delays in ms as ``d[i] = 1000*s[i]/342; i =
+ 1...5``.
+
+ *EXAMPLE*:
+
+ ``mplayer --af=delay=10.5:10.5:0:0:7:0 media.avi``
+ Would delay front left and right by 10.5ms, the two rear channels and
+ the sub by 0ms and the center channel by 7ms.
+
+export[=mmapped_file[:nsamples]]
+ Exports the incoming signal to other processes using memory mapping
+ (``mmap()``). Memory mapped areas contain a header:
+
+ | int nch /\* number of channels \*/
+ | int size /\* buffer size \*/
+ | unsigned long long counter /\* Used to keep sync, updated every time new data is exported. \*/
+
+ The rest is payload (non-interleaved) 16 bit data.
+
+ <mmapped_file>
+ file to map data to (default: ``~/.mplayer/mplayer-af_export``)
+ <nsamples>
+ number of samples per channel (default: 512)
+
+ *EXAMPLE*:
+
+ ``mplayer --af=export=/tmp/mplayer-af_export:1024 media.avi``
+ Would export 1024 samples per channel to ``/tmp/mplayer-af_export``.
+
+extrastereo[=mul]
+ (Linearly) increases the difference between left and right channels which
+ adds some sort of "live" effect to playback.
+
+ <mul>
+ Sets the difference coefficient (default: 2.5). 0.0 means mono sound
+ (average of both channels), with 1.0 sound will be unchanged, with
+ -1.0 left and right channels will be swapped.
+
+volnorm[=method:target]
+ Maximizes the volume without distorting the sound.
+
+ <method>
+ Sets the used method.
+
+ 1
+ Use a single sample to smooth the variations via the standard
+ weighted mean over past samples (default).
+ 2
+ Use several samples to smooth the variations via the standard
+ weighted mean over past samples.
+
+ <target>
+ Sets the target amplitude as a fraction of the maximum for the sample
+ type (default: 0.25).
+
+ladspa=file:label[:controls...]
+ Load a LADSPA (Linux Audio Developer's Simple Plugin API) plugin. This
+ filter is reentrant, so multiple LADSPA plugins can be used at once.
+
+ <file>
+ Specifies the LADSPA plugin library file. If ``LADSPA_PATH`` is set,
+ it searches for the specified file. If it is not set, you must supply
+ a fully specified pathname.
+ <label>
+ Specifies the filter within the library. Some libraries contain only
+ one filter, but others contain many of them. Entering 'help' here,
+ will list all available filters within the specified library, which
+ eliminates the use of 'listplugins' from the LADSPA SDK.
+ <controls>
+ Controls are zero or more floating point values that determine the
+ behavior of the loaded plugin (for example delay, threshold or gain).
+ In verbose mode (add ``-v`` to the MPlayer command line), all
+ available controls and their valid ranges are printed. This eliminates
+ the use of 'analyseplugin' from the LADSPA SDK.
+
+comp
+ Compressor/expander filter usable for microphone input. Prevents artifacts
+ on very loud sound and raises the volume on very low sound. This filter is
+ untested, maybe even unusable.
+
+gate
+ Noise gate filter similar to the comp audio filter. This filter is
+ untested, maybe even unusable.
+
+karaoke
+ Simple voice removal filter exploiting the fact that voice is usually
+ recorded with mono gear and later 'center' mixed onto the final audio
+ stream. Beware that this filter will turn your signal into mono. Works
+ well for 2 channel tracks; do not bother trying it on anything but 2
+ channel stereo.
+
+scaletempo[=option1:option2:...]
+ Scales audio tempo without altering pitch, optionally synced to playback
+ speed (default).
+
+ This works by playing 'stride' ms of audio at normal speed then consuming
+ 'stride*scale' ms of input audio. It pieces the strides together by
+ blending 'overlap'% of stride with audio following the previous stride. It
+ optionally performs a short statistical analysis on the next 'search' ms
+ of audio to determine the best overlap position.
+
+ scale=<amount>
+ Nominal amount to scale tempo. Scales this amount in addition to
+ speed. (default: 1.0)
+ stride=<amount>
+ Length in milliseconds to output each stride. Too high of value will
+ cause noticable skips at high scale amounts and an echo at low scale
+ amounts. Very low values will alter pitch. Increasing improves
+ performance. (default: 60)
+ overlap=<percent>
+ Percentage of stride to overlap. Decreasing improves performance.
+ (default: .20)
+ search=<amount>
+ Length in milliseconds to search for best overlap position. Decreasing
+ improves performance greatly. On slow systems, you will probably want
+ to set this very low. (default: 14)
+ speed=<tempo|pitch|both|none>
+ Set response to speed change.
+
+ tempo
+ Scale tempo in sync with speed (default).
+ pitch
+ Reverses effect of filter. Scales pitch without altering tempo.
+ Add ``[ speed_mult 0.9438743126816935`` and ``] speed_mult
+ 1.059463094352953`` to your ``input.conf`` to step by musical
+ semi-tones.
+
+ *WARNING*: Loses sync with video.
+ both
+ Scale both tempo and pitch.
+ none
+ Ignore speed changes.
+
+ *EXAMPLE*:
+
+ ``mplayer --af=scaletempo --speed=1.2 media.ogg``
+ Would playback media at 1.2x normal speed, with audio at normal pitch.
+ Changing playback speed, would change audio tempo to match.
+
+ ``mplayer --af=scaletempo=scale=1.2:speed=none --speed=1.2 media.ogg``
+ Would playback media at 1.2x normal speed, with audio at normal pitch,
+ but changing playback speed has no effect on audio tempo.
+
+ ``mplayer --af=scaletempo=stride=30:overlap=.50:search=10 media.ogg``
+ Would tweak the quality and performace parameters.
+
+ ``mplayer --af=format=floatne,scaletempo media.ogg``
+ Would make scaletempo use float code. Maybe faster on some platforms.
+
+ ``mplayer --af=scaletempo=scale=1.2:speed=pitch audio.ogg``
+ Would playback audio file at 1.2x normal speed, with audio at normal
+ pitch. Changing playback speed, would change pitch, leaving audio
+ tempo at 1.2x.
+
+stats
+ Collects and prints statistics about the audio stream, especially the
+ volume. These statistics are especially intended to help adjusting the
+ volume while avoiding clipping. The volumes are printed in dB and
+ compatible with the volume audio filter.
diff --git a/DOCS/man/en/ao.rst b/DOCS/man/en/ao.rst
new file mode 100644
index 0000000..4b429f9
--- /dev/null
+++ b/DOCS/man/en/ao.rst
@@ -0,0 +1,128 @@
+Audio Output Drivers
+====================
+
+Audio output drivers are interfaces to different audio output facilities. The
+syntax is:
+
+--ao=<driver1[:suboption1[=value]:...],driver2,...[,]>
+ Specify a priority list of audio output drivers to be used.
+
+If the list has a trailing ',' MPlayer will fall back on drivers not contained
+in the list. Suboptions are optional and can mostly be omitted.
+
+*NOTE*: See ``--ao=help`` for a list of compiled-in audio output drivers.
+
+*EXAMPLE*:
+
+ - ``--ao=alsa,oss,`` Try the ALSA driver, then the OSS driver, then others.
+ - ``--ao=alsa:noblock:device=hw=0.3`` Sets noblock-mode and the device-name
+ as first card, fourth device.
+
+Available audio output drivers are:
+
+alsa
+ ALSA 0.9/1.x audio output driver
+
+ noblock
+ Sets noblock-mode.
+ device=<device>
+ Sets the device name. Replace any ',' with '.' and any ':' with '=' in
+ the ALSA device name. For hwac3 output via S/PDIF, use an "iec958" or
+ "spdif" device, unless you really know how to set it correctly.
+
+oss
+ OSS audio output driver
+
+ <dsp-device>
+ Sets the audio output device (default: ``/dev/dsp``).
+ <mixer-device>
+ Sets the audio mixer device (default: ``/dev/mixer``).
+ <mixer-channel>
+ Sets the audio mixer channel (default: pcm).
+
+sdl (SDL only)
+ highly platform independent SDL (Simple Directmedia Layer) library audio
+ output driver
+
+ <driver>
+ Explicitly choose the SDL audio driver to use (default: let SDL
+ choose).
+
+jack
+ audio output through JACK (Jack Audio Connection Kit)
+
+ port=<name>
+ Connects to the ports with the given name (default: physical ports).
+ name=<client>
+ Client name that is passed to JACK (default: MPlayer [<PID>]). Useful
+ if you want to have certain connections established automatically.
+ (no-)estimate
+ Estimate the audio delay, supposed to make the video playback smoother
+ (default: enabled).
+ (no-)autostart
+ Automatically start jackd if necessary (default: disabled). Note that
+ this seems unreliable and will spam stdout with server messages.
+
+coreaudio (Mac OS X only)
+ native Mac OS X audio output driver
+
+ device_id=<id>
+ ID of output device to use (0 = default device)
+ help
+ List all available output devices with their IDs.
+
+openal
+ Experimental OpenAL audio output driver
+
+pulse
+ PulseAudio audio output driver
+
+ [<host>][:<output sink>]
+ Specify the host and optionally output sink to use. An empty <host>
+ string uses a local connection, "localhost" uses network transfer
+ (most likely not what you want).
+
+portaudio
+ PortAudio audio output driver. This works on all platforms, and has
+ extensive MS Windows support.
+
+ device
+ Specify the subdevice to use. Giving ``help`` as device name lists all
+ devices found by PortAudio. Devices can be given as numeric values,
+ starting from ``1``.
+
+dsound (Windows only)
+ DirectX DirectSound audio output driver
+
+ device=<devicenum>
+ Sets the device number to use. Playing a file with ``-v`` will show a
+ list of available devices.
+
+v4l2 (requires Linux 2.6.22+ kernel)
+ Audio output driver for V4L2 cards with hardware MPEG decoder.
+
+null
+ Produces no audio output but maintains video playback speed. Use
+ ``--nosound`` for benchmarking.
+
+pcm
+ raw PCM/wave file writer audio output
+
+ (no-)waveheader
+ Include or do not include the wave header (default: included). When
+ not included, raw PCM will be generated.
+ file=<filename>
+ Write the sound to <filename> instead of the default
+ ``audiodump.wav``. If nowaveheader is specified, the default is
+ ``audiodump.pcm``.
+
+rsound
+ audio output to an RSound daemon
+
+ host=<name/path>
+ Set the address of the server (default: localhost). Can be either a
+ network hostname for TCP connections or a Unix domain socket path
+ starting with '/'.
+ port=<number>
+ Set the TCP port used for connecting to the server (default: 12345).
+ Not used if connecting to a Unix domain socket.
diff --git a/DOCS/man/en/control.rst b/DOCS/man/en/control.rst
new file mode 100644
index 0000000..274a090
--- /dev/null
+++ b/DOCS/man/en/control.rst
@@ -0,0 +1,303 @@
+Interactive Control
+===================
+
+MPlayer has a fully configurable, command-driven control layer which allows you
+to control MPlayer using keyboard, mouse, joystick or remote control (with
+LIRC). The sections below describe the default bindings. Bindings can be
+freely reconfigured in the input.conf configuration file.
+
+Key input works in either video playback window or terminal window. Modifier
+keys (Alt, Ctrl and Meta, plus Shift for combinations with non-printable
+characters like Shift+RIGHT) may work only partially or not at all depending
+on the platform and input method. For example, terminal input does not support
+modifiers at all, while Linux video outputs using X support arbitrary modifier
+combinations.
+
+
+keyboard control
+----------------
+
+LEFT and RIGHT
+ Seek backward/forward 10 seconds. These keys will only seek to video
+ keyframes, so the actual step may be more than 10 seconds.
+
+UP and DOWN
+ Seek forward/backward 1 minute.
+
+PGUP and PGDWN
+ Seek forward/backward 10 minutes.
+
+Shift+LEFT and Shift+RIGHT
+ Seek backward/forward exactly 1 second using precise seeking (see option
+ ``--hr-seek`` for details).
+
+Shift+UP and Shift+DOWN
+ Seek forward/backward exactly 5 seconds using precise seeking (see option
+ ``--hr-seek`` for details).
+
+[ and ]
+ Decrease/increase current playback speed by 10%.
+
+{ and }
+ Halve/double current playback speed.
+
+BACKSPACE
+ Reset playback speed to normal.
+
+< and >
+ Go backward/forward in the playlist.
+
+ENTER
+ Go forward in the playlist, even over the end.
+
+HOME and END
+ next/previous playtree entry in the parent list
+
+INS and DEL (ASX playlist only)
+ next/previous alternative source.
+
+p / SPACE
+ Pause (pressing again unpauses).
+
+.
+ Step forward. Pressing once will pause movie, every consecutive press will
+ play one frame and then go into pause mode again.
+
+q / ESC
+ Stop playing and quit.
+
+U
+ Stop playing (and quit if ``--idle`` is not used).
+
+\+ and -
+ Adjust audio delay by +/- 0.1 seconds.
+
+/ and *
+ Decrease/increase volume.
+
+9 and 0
+ Decrease/increase volume.
+
+( and )
+ Adjust audio balance in favor of left/right channel.
+
+m
+ Mute sound.
+
+\_
+ Cycle through the available video tracks.
+
+\#
+ Cycle through the available audio tracks.
+
+TAB (MPEG-TS and libavformat only)
+ Cycle through the available programs.
+
+f
+ Toggle fullscreen (see also ``--fs``).
+
+T
+ Toggle stay-on-top (see also ``--ontop``).
+
+w and e
+ Decrease/increase pan-and-scan range.
+
+o
+ Toggle OSD states: none / seek / seek + timer / seek + timer + total time.
+
+d
+ Toggle frame dropping states: none / skip display / skip decoding (see
+ ``--framedrop`` and ``--hardframedrop``).
+
+v
+ Toggle subtitle visibility.
+
+j and J
+ Cycle through the available subtitles.
+
+y and g
+ Step forward/backward in the subtitle list.
+
+F
+ Toggle displaying "forced subtitles".
+
+a
+ Toggle subtitle alignment: top / middle / bottom.
+
+x and z
+ Adjust subtitle delay by +/- 0.1 seconds.
+
+V
+ Toggle subtitle VSFilter aspect compatibility mode. See
+ ``--ass-vsfilter-aspect-compat`` for more info.
+
+C (``--capture`` only)
+ Start/stop capturing the primary stream.
+
+r and t
+ Move subtitles up/down.
+
+i (``--edlout`` mode only)
+ Set start or end of an EDL skip and write it out to the given file.
+
+s
+ Take a screenshot. The file will contain the original video image only,
+ without extra elements like separate subtitles or OSD content.
+
+S
+ Start/stop taking video-only screenshots of every new frame drawn.
+
+Alt+s
+ Take a screenshot of the current player window contents. The file will
+ contain the current contents of the player window: video will be scaled
+ to the current window size, and any subtitle or OSD elements will be
+ included.
+
+Alt+S
+ Start/stop taking screenshots of the player window for every new frame
+ drawn.
+
+I
+ Show filename on the OSD.
+
+P
+ Show progression bar, elapsed time and total duration on the OSD.
+
+! and @
+ Seek to the beginning of the previous/next chapter.
+
+D (``--vo=vdpau``, ``--vf=yadif``, ``--vf=kerndeint`` only)
+ Activate/deactivate deinterlacer.
+
+A
+ Cycle through the available DVD angles.
+
+c
+ Change YUV colorspace.
+
+(The following keys are valid only when using a video output that supports the
+corresponding adjustment, the software equalizer (``--vf=eq`` or ``--vf=eq2``)
+or hue filter (``--vf=hue``).)
+
+1 and 2
+ Adjust contrast.
+
+3 and 4
+ Adjust brightness.
+
+5 and 6
+ Adjust hue.
+
+7 and 8
+ Adjust saturation.
+
+(The following keys are valid only when using the corevideo video output
+driver.)
+
+command + 0
+ Resize movie window to half its original size.
+
+command + 1
+ Resize movie window to its original size.
+
+command + 2
+ Resize movie window to double its original size.
+
+command + f
+ Toggle fullscreen (see also ``--fs``).
+
+command + [ and command + ]
+ Set movie window alpha.
+
+(The following keys are valid only when using the sdl video output driver.)
+
+c
+ Cycle through available fullscreen modes.
+
+n
+ Restore original mode.
+
+(The following keys are valid if you have a keyboard with multimedia keys.)
+
+PAUSE
+ Pause.
+
+STOP
+ Stop playing and quit.
+
+PREVIOUS and NEXT
+ Seek backward/forward 1 minute.
+
+(The following keys are only valid if you compiled with TV or DVB input
+support and will take precedence over the keys defined above.)
+
+h and k
+ Select previous/next channel.
+
+n
+ Change norm.
+
+u
+ Change channel list.
+
+(The following keys are only valid if you compiled with dvdnav support: They
+are used to navigate the menus.)
+
+keypad 8
+ Select button up.
+
+keypad 2
+ Select button down.
+
+keypad 4
+ Select button left.
+
+keypad 6
+ Select button right.
+
+keypad 5
+ Return to main menu.
+
+keypad 7
+ Return to nearest menu (the order of preference is: chapter->title->root).
+
+keypad ENTER
+ Confirm choice.
+
+(The following keys are used for controlling TV teletext. The data may come
+from either an analog TV source or an MPEG transport stream.)
+
+X
+ Switch teletext on/off.
+
+Q and W
+ Go to next/prev teletext page.
+
+mouse control
+-------------
+
+button 3 and button 4
+ Seek backward/forward 1 minute.
+
+button 5 and button 6
+ Decrease/increase volume.
+
+joystick control
+----------------
+
+left and right
+ Seek backward/forward 10 seconds.
+
+up and down
+ Seek forward/backward 1 minute.
+
+button 1
+ Pause.
+
+button 2
+ Toggle OSD states: none / seek / seek + timer / seek + timer + total time.
+
+button 3 and button 4
+ Decrease/increase volume.
+
+
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
deleted file mode 100644
index 3575fb2..0000000
--- a/DOCS/man/en/mplayer.1
+++ /dev/null
@@ -1,7899 +0,0 @@
-.\" $Revision$
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" This man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
-.
-.\" --------------------------------------------------------------------------
-.\" Macro definitions
-.\" --------------------------------------------------------------------------
-.
-.\" define indentation for suboptions
-.nr SS 5
-.\" add new suboption
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" begin of first level suboptions, end with .RE
-.de RSs
-.RS 10
-..
-.\" begin of 2nd level suboptions
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" end of 2nd level suboptions
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" Title
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2009-03-25" "The MPlayer Project" "The Movie Player"
-.
-.SH NAME
-mplayer \- movie player
-.
-.\" --------------------------------------------------------------------------
-.\" Synopsis
-.\" --------------------------------------------------------------------------
-.
-.SH SYNOPSIS
-.na
-.nh
-.B mplayer
-[options] [file|URL|playlist|\-]
-.
-.br
-.B mplayer
-[options] file1
-[specific options] [file2] [specific options]
-.
-.br
-.B mplayer
-[options]
-{group of files and options}
-[group-specific options]
-.
-.br
-.B mplayer
-[br]://[title][/device]
-[options]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[title|[start_title]\-end_title][/device]
-[options]
-.
-.br
-.B mplayer
-vcd://track[/device]
-.
-.br
-.B mplayer
-tv://[channel][/input_id]
-[options]
-.
-.br
-.B mplayer
-radio://[channel|frequency][/capture]
-[options]
-.
-.br
-.B mplayer
-pvr://
-[options]
-.
-.br
-.B mplayer
-dvb://[card_number@]channel
-[options]
-.
-.br
-.B mplayer
-mf://[filemask|@listfile]
-[\-mf options] [options]
-.
-.br
-.B mplayer
-[cdda|cddb]://track[\-endtrack][:speed][/device]
-[options]
-.
-.br
-.B mplayer
-cue://file[:track]
-[options]
-.
-.br
-.B mplayer
-[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://
-[user:pass@]URL[:port] [options]
-.
-.br
-.B mplayer
-sdp://file
-[options]
-.
-.br
-.B mplayer
-mpst://host[:port]/URL
-[options]
-.
-.br
-.B mplayer
-tivo://host/[list|llist|fsid]
-[options]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" Description
-.\" --------------------------------------------------------------------------
-.
-.SH DESCRIPTION
-.B mplayer
-is a movie player for Linux (runs on many other platforms and CPU
-architectures, see the documentation).
-It plays most MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM,
-MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many
-native and binary codecs.
-You can watch VCD, SVCD, DVD, Blu\-ray, 3ivx, DivX 3/4/5, WMV and even H.264 movies,
-too.
-.PP
-MPlayer supports a wide range of video and audio output drivers.
-It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
-Quartz, Mac OS X CoreVideo, but you can also use GGI, SDL (and all their drivers),
-VESA (on every VESA-compatible card, even without X11), some low-level
-card-specific drivers (for Matrox, 3dfx and ATI) and some hardware MPEG decoder
-boards, such as the Siemens DVB, Hauppauge PVR (IVTV) and DXR3/\:Hollywood+.
-Most of them support software or hardware scaling, so you can enjoy movies in
-fullscreen mode.
-.PP
-MPlayer has an onscreen display (OSD) for status information, nice big
-antialiased shaded subtitles and visual feedback for keyboard controls.
-European/\:ISO8859-1,2 (Hungarian, English, Czech, etc), Cyrillic and Korean
-fonts are supported along with 12 subtitle formats (MicroDVD, SubRip, OGM,
-SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS and our own: MPsub) and
-DVD subtitles (SPU streams, VOBsub and Closed Captions).
-.PP
-Usage examples to get you started quickly can be found at the end
-of this man page.
-.PP
-.B Also see the HTML documentation!
-.
-.
-.\" --------------------------------------------------------------------------
-.\" interactive control
-.\" --------------------------------------------------------------------------
-.
-.SH "INTERACTIVE CONTROL"
-MPlayer has a fully configurable, command-driven control layer
-which allows you to control MPlayer using keyboard, mouse, joystick
-or remote control (with LIRC).
-See the \-input option for ways to customize it.
-.
-.TP
-.B keyboard control
-.PD 0
-.RS
-.IPs "LEFT and RIGHT"
-Seek backward/\:forward 10 seconds.
-Shift+arrow does a 1 second exact seek (see \-hr\-seek; currently modifier
-keys like shift only work if used in an X output window).
-.IPs "UP and DOWN"
-Seek forward/\:backward 1 minute.
-Shift+arrow does a 5 second exact seek (see \-hr\-seek; currently modifier
-keys like shift only work if used in an X output window).
-.IPs "PGUP and PGDWN"
-Seek forward/\:backward 10 minutes.
-.IPs "[ and ]"
-Decrease/increase current playback speed by 10%.
-.IPs "{ and }"
-Halve/double current playback speed.
-.IPs "BACKSPACE"
-Reset playback speed to normal.
-.IPs "< and >"
-Go backward/\:forward in the playlist.
-.IPs "ENTER"
-Go forward in the playlist, even over the end.
-.IPs "HOME and END"
-next/\:previous playtree entry in the parent list
-.IPs "INS and DEL (ASX playlist only)"
-next/\:previous alternative source.
-.IPs "p / SPACE"
-Pause (pressing again unpauses).
-.IPs ".\ \ \ \ "
-Step forward.
-Pressing once will pause movie, every consecutive press will play one frame
-and then go into pause mode again.
-.IPs "q / ESC"
-Stop playing and quit.
-.IPs "U\ \ \ \ "
-Stop playing (and quit if \-idle is not used).
-.IPs "+ and \-"
-Adjust audio delay by +/\- 0.1 seconds.
-.IPs "/ and *"
-Decrease/\:increase volume.
-.IPs "9 and 0"
-Decrease/\:increase volume.
-.IPs "( and )"
-Adjust audio balance in favor of left/\:right channel.
-.IPs "m\ \ \ \ "
-Mute sound.
-.IPs "_ (MPEG-TS, AVI and libavformat only)"
-Cycle through the available video tracks.
-.IPs "# (DVD, Blu-ray, MPEG, Matroska, AVI and libavformat only)"
-Cycle through the available audio tracks.
-.IPs "TAB (MPEG-TS and libavformat only)"
-Cycle through the available programs.
-.IPs "f\ \ \ \ "
-Toggle fullscreen (also see \-fs).
-.IPs "T\ \ \ \ "
-Toggle stay-on-top (also see \-ontop).
-.IPs "w and e"
-Decrease/\:increase pan-and-scan range.
-.IPs "o\ \ \ \ "
-Toggle OSD states: none / seek / seek + timer / seek + timer + total time.
-.IPs "d\ \ \ \ "
-Toggle frame dropping states: none / skip display / skip decoding
-(see \-framedrop and \-hardframedrop).
-.IPs "v\ \ \ \ "
-Toggle subtitle visibility.
-.IPs "j and J"
-Cycle through the available subtitles.
-.IPs "y and g"
-Step forward/backward in the subtitle list.
-.IPs "F\ \ \ \ "
-Toggle displaying "forced subtitles".
-.IPs "a\ \ \ \ "
-Toggle subtitle alignment: top / middle / bottom.
-.IPs "x and z"
-Adjust subtitle delay by +/\- 0.1 seconds.
-.IPs "V\ \ \ \ "
-Toggle subtitle VSFilter aspect compatibility mode.
-See -ass\-vsfilter\-aspect\-compat for more info.
-.IPs "C (\-capture only)"
-Start/stop capturing the primary stream.
-.IPs "r and t"
-Move subtitles up/down.
-.IPs "i (\-edlout mode only)"
-Set start or end of an EDL skip and write it out to the given file.
-.IPs "s (\-vf screenshot only)"
-Take a screenshot.
-.IPs "S (\-vf screenshot only)"
-Start/stop taking screenshots.
-.IPs "I\ \ \ \ "
-Show filename on the OSD.
-.IPs "P\ \ \ \ "
-Show progression bar, elapsed time and total duration on the OSD.
-.IPs "! and @"
-Seek to the beginning of the previous/next chapter.
-.IPs "D (\-vo vdpau, \-vf yadif, \-vf kerndeint only)"
-Activate/deactivate deinterlacer.
-.IPs "A\ \ \ \ "
-Cycle through the available DVD angles.
-.IPs "c (currently -vo vdpau and -vo xv only)"
-Change YUV colorspace.
-.RE
-.PD 1
-.PP
-.RS
-(The following keys are valid only when using a video output that supports
-the corresponding adjustment, the software equalizer
-(\-vf eq or \-vf eq2) or hue filter (\-vf hue).)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "1 and 2"
-Adjust contrast.
-.IPs "3 and 4"
-Adjust brightness.
-.IPs "5 and 6"
-Adjust hue.
-.IPs "7 and 8"
-Adjust saturation.
-.RE
-.PD 1
-.PP
-.RS
-(The following keys are valid only when using the quartz or corevideo
-video output driver.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "command + 0"
-Resize movie window to half its original size.
-.IPs "command + 1"
-Resize movie window to its original size.
-.IPs "command + 2"
-Resize movie window to double its original size.
-.IPs "command + f"
-Toggle fullscreen (also see \-fs).
-.IPs "command + [ and command + ]"
-Set movie window alpha.
-.RE
-.PD 1
-.PP
-.RS
-(The following keys are valid only when using the sdl
-video output driver.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "c\ \ \ \ "
-Cycle through available fullscreen modes.
-.IPs "n\ \ \ \ "
-Restore original mode.
-.RE
-.PD 1
-.PP
-.RS
-(The following keys are valid if you have a keyboard
-with multimedia keys.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs PAUSE
-Pause.
-.IPs "STOP\ "
-Stop playing and quit.
-.IPs "PREVIOUS and NEXT"
-Seek backward/\:forward 1 minute.
-.RE
-.PD 1
-.PP
-.RS
-(The following keys are only valid if you compiled with TV or DVB input
-support and will take precedence over the keys defined above.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "h and k"
-Select previous/\:next channel.
-.IPs "n\ \ \ \ "
-Change norm.
-.IPs "u\ \ \ \ "
-Change channel list.
-.RE
-.PD 1
-.PP
-.RS
-(The following keys are only valid if you compiled with dvdnav
-support: They are used to navigate the menus.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "keypad 8"
-Select button up.
-.IPs "keypad 2"
-Select button down.
-.IPs "keypad 4"
-Select button left.
-.IPs "keypad 6"
-Select button right.
-.IPs "keypad 5"
-Return to main menu.
-.IPs "keypad 7"
-Return to nearest menu (the order of preference is: chapter->title->root).
-.IPs "keypad ENTER"
-Confirm choice.
-.RE
-.PD 1
-.PP
-.RS
-.
-(The following keys are used for controlling TV teletext. The data may
-come from either an analog TV source or an MPEG transport stream.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X\ \ \ \ "
-Switch teletext on/\:off.
-.IPs "Q and W"
-Go to next/\:prev teletext page.
-.RE
-.PD 1
-.
-.TP
-.B mouse control
-.PD 0
-.RS
-.IPs "button 3 and button 4"
-Seek backward/\:forward 1 minute.
-.IPs "button 5 and button 6"
-Decrease/\:increase volume.
-.RE
-.PD 1
-.
-.TP
-.B joystick control
-.PD 0
-.RS
-.IPs "left and right"
-Seek backward/\:forward 10 seconds.
-.IPs "up and down"
-Seek forward/\:backward 1 minute.
-.IPs "button 1"
-Pause.
-.IPs "button 2"
-Toggle OSD states: none / seek / seek + timer / seek + timer + total time.
-.IPs "button 3 and button 4"
-Decrease/\:increase volume.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Usage
-.\" --------------------------------------------------------------------------
-.
-.SH "USAGE"
-Every 'flag' option has a 'noflag' counterpart, e.g.\& the opposite of the
-\-fs option is \-nofs.
-.PP
-If an option is marked as (XXX only), it will only work in combination with
-the XXX option or if XXX is compiled in.
-.PP
-.I NOTE:
-The suboption parser (used for example for \-ao pcm suboptions) supports
-a special kind of string-escaping intended for use with external GUIs.
-.br
-It has the following format:
-.br
-%n%string_of_length_n
-.br
-.I EXAMPLES:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-Or in a script:
-.br
-mplayer \-ao pcm:file=%`expr length "$NAME"`%"$NAME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" Configuration files
-.\" --------------------------------------------------------------------------
-.
-.SH "CONFIGURATION FILES"
-You can put all of the options in configuration files which will be read
-every time MPlayer is run.
-The system-wide configuration file 'mplayer.conf' is in your configuration
-directory (e.g.\& /etc/\:mplayer or /usr/\:local/\:etc/\:mplayer), the user
-specific one is '~/\:.mplayer/\:config'.
-User specific options override system-wide options and options given on the
-command line override either.
-The syntax of the configuration files is 'option=<value>', everything after
-a '#' is considered a comment.
-Options that work without values can be enabled by setting them to 'yes'
-or '1' or 'true' and disabled by setting them to 'no' or '0' or 'false'.
-Even suboptions can be specified in this way.
-.PP
-You can also write file-specific configuration files.
-If you wish to have a configuration file for a file called 'movie.avi', create a file
-named 'movie.avi.conf' with the file-specific options in it and put it in
-~/.mplayer/.
-You can also put the configuration file in the same directory as the file to
-be played, as long as you give the \-use\-filedir\-conf option (either on the
-command line or in your global config file).
-If a file-specific configuration file is found in the same directory, no
-file-specific configuration is loaded from ~/.mplayer.
-In addition, the \-use\-filedir\-conf option enables directory-specific
-configuration files.
-For this, MPlayer first tries to load a mplayer.conf from the same directory as
-the file played and then tries to load any file-specific configuration.
-.PP
-.I EXAMPLE MPLAYER CONFIGURATION FILE:
-.sp 1
-.nf
-# Use Matrox driver by default.
-vo=xmga
-# I love practicing handstands while watching videos.
-flip=yes
-# Decode multiple files from PNG,
-# start with mf://filemask
-mf=type=png:fps=25
-# Eerie negative images are cool.
-vf=eq2=1.0:\-0.8
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Profiles
-.\" --------------------------------------------------------------------------
-.
-.SH "PROFILES"
-To ease working with different configurations profiles can be defined in the
-configuration files.
-A profile starts with its name between square brackets, e.g.\& '[my-profile]'.
-All following options will be part of the profile.
-A description (shown by \-profile help) can be defined with the profile-desc
-option.
-To end the profile, start another one or use the profile name 'default'
-to continue with normal options.
-.fi
-.PP
-.I "EXAMPLE MPLAYER PROFILE:"
-.sp 1
-.nf
-
-[protocol.dvd]
-profile-desc="profile for dvd:// streams"
-vf=pp=hb/vb/dr/al/fd
-alang=en
-
-[protocol.dvdnav]
-profile-desc="profile for dvdnav:// streams"
-profile=protocol.dvd
-mouse-movements=yes
-nocache=yes
-
-[extension.flv]
-profile-desc="profile for .flv files"
-flip=yes
-
-[vo.pnm]
-outdir=/tmp
-
-[ao.alsa]
-device=spdif
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Options
-.\" --------------------------------------------------------------------------
-.
-.SH "GENERAL OPTIONS"
-.
-.TP
-.B \-codecpath <dir>
-Specify a directory for binary codecs.
-.
-.TP
-.B \-codecs\-file <filename> (also see \-afm, \-ac, \-vfm, \-vc)
-Override the standard search path and use the specified file
-instead of the builtin codecs.conf.
-.
-.TP
-.B \-include <configuration file>
-Specify configuration file to be parsed after the default ones.
-.
-.TP
-.B \-list\-options
-Prints all available options.
-.
-.TP
-.B \-msgcharset <charset>
-Convert console messages to the specified character set (default: autodetect).
-Text will be in the encoding specified with the \-\-charset configure option.
-Set this to "noconv" to disable conversion (for e.g.\& iconv problems).
-.br
-.I NOTE:
-The option takes effect after command line parsing has finished.
-The MPLAYER_CHARSET environment variable can help you get rid of
-the first lines of garbled output.
-.
-.TP
-.B \-msgcolor
-Enable colorful console output on terminals that support ANSI color.
-.
-.TP
-.B \-msglevel <all=<level>:<module>=<level>:...>
-Control verbosity directly for each module.
-The 'all' module changes the verbosity of all the modules not
-explicitly specified on the command line.
-See '\-msglevel help' for a list of all modules.
-.br
-.I NOTE:
-Some messages are printed before the command line is parsed and are
-therefore not affected by \-msglevel.
-To control these messages you have to use the MPLAYER_VERBOSE environment
-variable, see its description below for details.
-.br
-Available levels:
-.PD 0
-.RSs
-.IPs "\-1"
-complete silence
-.IPs " 0"
-fatal messages only
-.IPs " 1"
-error messages
-.IPs " 2"
-warning messages
-.IPs " 3"
-short hints
-.IPs " 4"
-informational messages
-.IPs " 5"
-status messages (default)
-.IPs " 6"
-verbose messages
-.IPs " 7"
-debug level 2
-.IPs " 8"
-debug level 3
-.IPs " 9"
-debug level 4
-.RE
-.PD 1
-.
-.TP
-.B \-msgmodule
-Prepend module name in front of each console message.
-.
-.TP
-.B \-noconfig <options>
-Do not parse selected configuration files.
-.br
-.I NOTE:
-If \-include or \-use\-filedir\-conf options are
-specified at the command line, they will be honoured.
-.sp 1
-Available options are:
-.PD 0
-.RSs
-.IPs "all\ \ "
-all configuration files
-.IPs system
-system configuration file
-.IPs "user\ "
-user configuration file
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet\ "
-Make console output less verbose; in particular, prevents the status line
-(i.e.\& A: 0.7 V: 0.6 A-V: 0.068 ...) from being displayed.
-Particularly useful on slow terminals or broken ones which do not properly
-handle carriage return (i.e.\& \\r).
-.
-.TP
-.B \-priority <prio> (Windows and OS/2 only)
-Set process priority for MPlayer according to the predefined
-priorities available under Windows and OS/2.
-Possible values of <prio>:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I WARNING:
-Using realtime priority can cause system lockup.
-.RE
-.
-.TP
-.B \-profile <profile1,profile2,...>
-Use the given profile(s), \-profile help displays a list of the defined profiles.
-.
-.TP
-.B \-really\-quiet (also see \-quiet)
-Display even less output and status messages than with \-quiet.
-.
-.TP
-.B \-show\-profile <profile>
-Show the description and content of a profile.
-.
-.TP
-.B \-use\-filedir\-conf
-Look for a file-specific configuration file in the same directory as
-the file that is being played.
-.br
-.I WARNING:
-May be dangerous if playing from untrusted media.
-.
-.TP
-.B "\-v\ \ \ \ \ "
-Increment verbosity level, one level for each \-v
-found on the command line.
-.
-.
-.
-.SH "PLAYER OPTIONS"
-.
-.TP
-.B \-autoq <quality> (use with \-vf [s]pp)
-Dynamically changes the level of postprocessing depending on the available spare
-CPU time.
-The number you specify will be the maximum level used.
-Usually you can use some big number.
-You have to use \-vf [s]pp without parameters in order for this to work.
-.
-.TP
-.B \-autosync <factor>
-Gradually adjusts the A/V sync based on audio delay measurements.
-Specifying \-autosync 0, the default, will cause frame timing to be based
-entirely on audio delay measurements.
-Specifying \-autosync 1 will do the same, but will subtly change the A/V
-correction algorithm.
-An uneven video framerate in a movie which plays fine with \-nosound can
-often be helped by setting this to an integer value greater than 1.
-The higher the value, the closer the timing will be to \-nosound.
-Try \-autosync 30 to smooth out problems with sound drivers which do
-not implement a perfect audio delay measurement.
-With this value, if large A/V sync offsets occur, they will only take about
-1 or 2 seconds to settle out.
-This delay in reaction time to sudden A/V offsets should be the only
-side-effect of turning this option on, for all sound drivers.
-.
-.TP
-.B \-benchmark
-Prints some statistics on CPU usage and dropped frames at the end of playback.
-Use in combination with \-nosound and \-vo null for benchmarking only the
-video codec.
-.br
-.I NOTE:
-With this option MPlayer will also ignore frame duration when playing
-only video (you can think of that as infinite fps).
-.
-.TP
-.B \-chapter\-merge\-threshold <number>
-Threshold for merging almost consecutive ordered chapter parts
-in milliseconds (default: 100).
-Some Matroska files with ordered chapters have inaccurate chapter
-end timestamps, causing a small gap between the end of one chapter and
-the start of the next one when they should match.
-If the end of one playback part is less than the given threshold away
-from the start of the next one then keep playing video normally over the
-chapter change instead of doing a seek.
-.
-.TP
-.B \-colorkey <number>
-Changes the colorkey to an RGB value of your choice.
-0x000000 is black and 0xffffff is white.
-Only supported by the fbdev, svga, vesa, xmga,
-xover, xv (see \-vo xv:ck) and directx video output drivers.
-.
-.TP
-.B \-nocolorkey
-Disables colorkeying.
-Only supported by the fbdev, svga, vesa, xmga,
-xover, xv (see \-vo xv:ck) and directx video output drivers.
-.
-.TP
-.B \-correct\-pts, \-nocorrect\-pts
-Switches MPlayer to a mode where timestamps for video frames
-are calculated differently and video filters which add new frames or
-modify timestamps of existing ones are supported.
-Now enabled automatically for most common file formats.
-The more accurate timestamps can be visible for example when playing
-subtitles timed to scene changes with the \-ass option.
-Without \-correct\-pts the subtitle timing will typically be off by some frames.
-This option does not work correctly with some demuxers and codecs.
-.
-.TP
-.B \-crash\-debug (DEBUG CODE)
-Automatically attaches gdb upon crash or SIGTRAP.
-Support must be compiled in by configuring with \-\-enable\-crash\-debug.
-.
-.TP
-.B \-doubleclick\-time
-Time in milliseconds to recognize two consecutive button presses as
-a double-click (default: 300).
-Set to 0 to let your windowing system decide what a double-click is
-(\-vo directx only).
-.
-.TP
-.B \-edlout <filename>
-Creates a new file and writes edit decision list (EDL) records to it.
-During playback, the user hits 'i' to mark the start or end of a skip block.
-This provides a starting point from which the user can fine-tune EDL entries
-later.
-See http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html for details.
-.
-.TP
-.B \-fixed\-vo, \-nofixed\-vo
-\-fixed\-vo enforces a fixed video system for multiple files (one
-(un)initialization for all files).
-Therefore only one window will be opened for all files.
-Now enabled by default, use \-nofixed\-vo to disable and create a new window
-whenever the video stream changes.
-Some of the older drivers may not be fixed-vo compliant.
-.
-.TP
-.B \-framedrop (also see \-hardframedrop, experimental without \-nocorrect\-pts)
-Skip displaying some frames to maintain A/V sync on slow systems.
-Video filters are not applied to such frames.
-For B-frames even decoding is skipped completely.
-.
-.TP
-.B \-h, \-help, \-\-help
-Show short summary of options.
-.
-.TP
-.B \-hardframedrop (experimental without \-nocorrect\-pts)
-More intense frame dropping (breaks decoding).
-Leads to image distortion!
-Note that especially the libmpeg2 decoder may crash with this,
-so consider using "\-vc ffmpeg12,".
-.
-.TP
-.B \-heartbeat\-cmd
-Command that is executed every 30 seconds during playback via system() -
-i.e.\& using the shell.
-.sp 1
-.I NOTE:
-MPlayer uses this command without any checking, it is your responsibility
-to ensure it does not cause security problems (e.g.\& make sure to use full
-paths if "." is in your path like on Windows).
-It also only works when playing video (i.e.\& not with \-novideo but works with \-vo null).
-.sp 1
-This can be "misused" to disable screensavers that do not support the proper
-X API (also see \-stop\-xscreensaver).
-If you think this is too complicated, ask the author of the screensaver
-program to support the proper X APIs.
-.sp 1
-.I EXAMPLE for xscreensaver:
-mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
-.sp 1
-.I EXAMPLE for GNOME screensaver:
-mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
-.RE
-.PD 1
-.
-.TP
-.B \-hr\-seek off|absolute|always
-Select when to use precise seeks that are not limited to keyframes.
-Such seeks require decoding video from the previous keyframe up to the target
-position and so can take some time depending on decoding performance.
-For some video formats precise seeks are disabled. This option selects the
-default choice to use for seeks; it's possible to explicitly override that
-default in the definition of key bindings and in slave mode commands.
-.PD 0
-.RSs
-.IPs off
-Never use precise seeks.
-.IPs absolute
-Use precise seeks if the seek is to an absolute position in the file,
-such as a chapter seek, but not for relative seeks like the default
-behavior of arrow keys (default).
-.IPs always
-Use precise seeks whenever possible.
-.RE
-.PD 1
-.
-.TP
-.B \-identify
-Shorthand for \-msglevel identify=4.
-Show file parameters in an easily parseable format.
-Also prints more detailed information about subtitle and audio
-track languages and IDs.
-In some cases you can get more information by using \-msglevel identify=6.
-For example, for a DVD or Blu\-ray it will list the chapters and time length
-of each title, as well as a disk ID.
-Combine this with \-frames 0 to suppress all video output.
-The wrapper script TOOLS/\:midentify.sh suppresses the other MPlayer output and
-(hopefully) shellescapes the filenames.
-.
-.TP
-.B \-idle (also see \-slave)
-Makes MPlayer wait idly instead of quitting when there is no file to play.
-Mostly useful in slave mode where MPlayer can be controlled
-through input commands.
-.
-.TP
-.B \-input <commands>
-This option can be used to configure certain parts of the input system.
-Paths are relative to ~/.mplayer/.
-.br
-.I NOTE:
-Autorepeat is currently only supported by joysticks.
-.sp 1
-Available commands are:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<filename>
-Specify input configuration file other than the default
-~/\:.mplayer/\:input.conf.
-~/\:.mplayer/\:<filename> is assumed if no full path is given.
-.IPs ar-dev=<device>
-Device to be used for Apple IR Remote (default is autodetected, Linux only).
-.IPs ar-delay
-Delay in milliseconds before we start to autorepeat a key (0 to disable).
-.IPs ar-rate
-Number of key presses to generate per second on autorepeat.
-.IPs (no)default-bindings
-Use the key bindings that MPlayer ships with by default.
-.IPs keylist
-Prints all keys that can be bound to commands.
-.IPs cmdlist
-Prints all commands that can be bound to keys.
-.IPs js-dev
-Specifies the joystick device to use (default: /dev/\:input/\:js0).
-.IPs file=<filename>
-Read commands from the given file.
-Mostly useful with a FIFO.
-.br
-.I NOTE:
-When the given file is a FIFO MPlayer opens both ends so you can do
-several 'echo "seek 10" > mp_pipe' and the pipe will stay valid.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-Specify the size of the FIFO that buffers key events (default: 7).
-If it is too small some events may be lost.
-The main disadvantage of setting it to a very large value is that if you
-hold down a key triggering some particularly slow command then the player
-may be unresponsive while it processes all the queued commands.
-.
-.TP
-.B \-lircconf <filename> (LIRC only)
-Specifies a configuration file for LIRC (default: ~/.lircrc).
-.
-.TP
-.B \-list\-properties
-Print a list of the available properties.
-.
-.TP
-.B \-loop <number>
-Loops movie playback <number> times.
-0 means forever.
-.
-.TP
-.B \-menu (OSD menu only)
-Turn on OSD menu support.
-.
-.TP
-.B \-menu\-cfg <filename> (OSD menu only)
-Use an alternative menu.conf.
-.
-.TP
-.B \-menu\-chroot <path> (OSD menu only)
-Chroot the file selection menu to a specific location.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-menu\-chroot /home"
-Will restrict the file selection menu to /\:home and downward (i.e.\& no
-access to / will be possible, but /home/user_name will).
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdir (OSD menu only)
-File browser starts from the last known location instead of current directory.
-.
-.TP
-.B \-menu\-root <value> (OSD menu only)
-Specify the main menu.
-.
-.TP
-.B \-menu\-startup (OSD menu only)
-Display the main menu at MPlayer startup.
-.
-.TP
-.B \-mouse\-movements
-Permit MPlayer to receive pointer events reported by the video
-output driver.
-Necessary to select the buttons in DVD menus.
-Supported for X11-based VOs (x11, xv, etc) and the gl, gl2, direct3d and
-corevideo VOs.
-.
-.TP
-.B \-noar
-Turns off AppleIR remote support.
-.
-.TP
-.B \-noconsolecontrols
-Prevent MPlayer from reading key events from standard input.
-Useful when reading data from standard input.
-This is automatically enabled when \- is found on the command line.
-There are situations where you have to set it manually, e.g.\&
-if you open /dev/\:stdin (or the equivalent on your system), use stdin
-in a playlist or intend to read from stdin later on via the loadfile or
-loadlist slave commands.
-.
-.TP
-.B \-noinitial-audio-sync
-When starting a video file or after events such as seeking MPlayer will by
-default modify the audio stream to make it start from the same timestamp as
-video, by either inserting silence at the start or cutting away the first
-samples.
-This option disables that functionality and makes the player behave like
-older MPlayer versions did: video and audio are both started immediately
-even if their start timestamps differ, and then video timing is gradually
-adjusted if necessary to reach correct synchronization later.
-.
-.TP
-.B \-nojoystick
-Turns off joystick support.
-.
-.TP
-.B \-nolirc
-Turns off LIRC support.
-.
-.TP
-.B \-nomouseinput
-Disable mouse button press/\:release input (mozplayerxp's context menu relies
-on this option).
-.TP
-.B \-noordered\-chapters
-Disable support for Matroska ordered chapters.
-MPlayer will not load or search for video segments from other files,
-and will also ignore any chapter order specified for the main file.
-.
-.TP
-.B \-pts\-association\-mode auto|decode|sort
-Select the method used to determine which container packet timestamp
-corresponds to a particular output frame from the video decoder.
-Normally you shouldn't need to change this option.
-.PD 0
-.RSs
-.IPs auto
-Try to pick a working mode from the ones below automatically (default)
-.IPs decoder
-Use decoder reordering functionality.
-.IPs sort
-Maintain a buffer of unused pts values and use the lowest value for the frame.
-.RE
-.PD 1
-.
-.TP
-.B \-rtc (RTC only)
-Turns on usage of the Linux RTC (realtime clock \- /dev/\:rtc) as timing
-mechanism.
-This wakes up the process every 1/1024 seconds to check the current time.
-Useless with modern Linux kernels configured for desktop use as they already
-wake up the process with similar accuracy when using normal timed sleep.
-.
-.TP
-.B \-playing\-msg <string>
-Print out a string before starting playback.
-The following expansions are supported:
-.RSs
-.IPs ${NAME}
-Expand to the value of the property NAME.
-.IPs ?(NAME:TEXT)
-Expand TEXT only if the property NAME is available.
-.IPs ?(!NAME:TEXT)
-Expand TEXT only if the property NAME is not available.
-.RE
-.
-.TP
-.B \-playlist <filename>
-Play files according to a playlist file (ASX, Winamp, SMIL, or
-one-file-per-line format).
-.br
-.I WARNING:
-The way MPlayer parses and uses playlist files is not safe against
-maliciously constructed files.
-Such files may trigger harmful actions.
-This has been the case for all MPlayer versions, but unfortunately this
-fact was not well documented earlier, and some people have even misguidedly
-recommended use of -playlist with untrusted sources.
-Do NOT use -playlist with random internet sources or files you don't trust!
-.br
-.I NOTE:
-This option is considered an entry so options found after it will apply
-only to the elements of this playlist.
-.br
-FIXME: This needs to be clarified and documented thoroughly.
-.
-.TP
-.B \-rtc\-device <device>
-Use the specified device for RTC timing.
-.
-.TP
-.B \-shuffle
-Play files in random order.
-.
-.TP
-.B \-slave (also see \-input)
-Switches on slave mode, in which MPlayer works as a backend for other programs.
-Instead of intercepting keyboard events, MPlayer will read commands separated
-by a newline (\\n) from stdin.
-.br
-.I NOTE:
-See \-input cmdlist for a list of slave commands and DOCS/tech/slave.txt
-for their description.
-Also, this is not intended to disable other inputs, e.g.\& via the video window,
-use some other method like \-input nodefault\-bindings:conf=/dev/null for that.
-.
-.TP
-.B \-softsleep
-Time frames by repeatedly checking the current time instead of asking the
-kernel to wake up MPlayer at the correct time.
-Useful if your kernel timing is imprecise and you cannot use the RTC either.
-Comes at the price of higher CPU consumption.
-.
-.TP
-.B \-sstep <sec>
-Skip <sec> seconds after every frame.
-The normal framerate of the movie is kept, so playback is accelerated.
-Since MPlayer can only seek to the next keyframe this may be inexact.
-.
-.
-.
-.SH "DEMUXER/STREAM OPTIONS"
-.
-.TP
-.B \-a52drc <level>
-Select the Dynamic Range Compression level for AC-3 audio streams.
-<level> is a float value ranging from 0 to 1, where 0 means no compression
-and 1 (which is the default) means full compression (make loud passages more
-silent and vice versa).
-Values up to 2 are also accepted, but are purely experimental.
-This option only shows an effect if the AC-3 stream contains the required range
-compression information.
-.
-.TP
-.B \-aid <ID> (also see \-alang)
-Select audio channel (MPEG: 0\-31, AVI/\:OGM: 1\-99, ASF/\:RM: 0\-127,
-VOB(AC-3): 128\-159, VOB(LPCM): 160\-191, MPEG-TS 17\-8190).
-MPlayer prints the available audio IDs when run in verbose (\-v) mode.
-When playing an MPEG-TS stream, MPlayer will use the first program (if present)
-with the chosen audio stream.
-.
-.TP
-.B \-ausid <ID> (also see \-alang)
-Select audio substream channel.
-Currently the valid range is 0x55..0x75 and applies only to MPEG-TS when handled
-by the native demuxer (not by libavformat).
-The format type may not be correctly identified because of how this information
-(or lack thereof) is embedded in the stream, but it will demux correctly the
-audio streams when multiple substreams are present.
-MPlayer prints the available substream IDs when run with \-identify.
-.
-.TP
-.B \-alang <language code[,language code,...]> (also see \-aid)
-Specify a priority list of audio languages to use.
-Different container formats employ different language codes.
-DVDs use ISO 639-1 two letter language codes, Matroska, MPEG-TS and NUT
-use ISO 639-2 three letter language codes while OGM uses a free-form identifier.
-MPlayer prints the available languages when run in verbose (\-v) mode.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang hu,en"
-Chooses the Hungarian language track on a DVD and falls back on English if
-Hungarian is not available.
-.IPs "mplayer \-alang jpn example.mkv"
-Plays a Matroska file in Japanese.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]name> (\-audiofile only)
-Force audio demuxer type for \-audiofile.
-Use a '+' before the name to force it, this will skip some checks!
-Give the demuxer name as printed by \-audio\-demuxer help.
-\-audio\-demuxer audio forces MP3.
-.
-.TP
-.B \-audiofile <filename>
-Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a
-movie.
-.
-.TP
-.B \-audiofile\-cache <kBytes>
-Enables caching for the stream used by \-audiofile, using the specified
-amount of memory.
-.
-.TP
-.B \-reuse\-socket (udp:// only)
-Allows a socket to be reused by other processes as soon as it is closed.
-.
-.TP
-.B \-bandwidth <Bytes> (network only)
-Specify the maximum bandwidth for network streaming (for servers that are
-able to send content in different bitrates).
-Useful if you want to watch live streamed media behind a slow connection.
-With Real RTSP streaming, it is also used to set the maximum delivery
-bandwidth allowing faster cache filling and stream dumping.
-.
-.TP
-.B \-bluray\-angle <angle ID> (Blu\-ray only)
-Some Blu\-ray discs contain scenes that can be viewed from multiple angles.
-Here you can tell MPlayer which angles to use (default: 1).
-.
-.TP
-.B \-bluray\-chapter <chapter ID> (Blu\-ray only)
-Tells MPlayer which Blu\-ray chapter to start the current title from (default: 1).
-.
-.TP
-.B \-bluray\-device <path to disc> (Blu\-ray only)
-Specify the Blu\-ray disc location. Must be a directory with Blu\-ray structure.
-.
-.TP
-.B \-cache <kBytes>
-This option specifies how much memory (in kBytes) to use when precaching a
-file or URL.
-Especially useful on slow media.
-.
-.TP
-.B \-nocache
-Turns off caching.
-.
-.TP
-.B \-cache\-min <percentage>
-Playback will start when the cache has been filled up to <percentage>
-of the total.
-.
-.TP
-.B \-cache\-seek\-min <percentage>
-If a seek is to be made to a position within <percentage> of the cache size
-from the current position, MPlayer will wait for the cache to be filled to
-this position rather than performing a stream seek (default: 50).
-.
-.TP
-.B \-capture
-Allows capturing the primary stream (not additional audio tracks or other
-kind of streams) into the file specified by \-dumpfile or \"stream.dump\"
-by default.
-If this option is given, capturing can be started and stopped by pressing
-the key bound to this function (see section INTERACTIVE CONTROL).
-Same as for \-dumpstream, this will likely not produce usable results for
-anything else than MPEG streams.
-Note that, due to cache latencies, captured data may begin and end
-somewhat delayed compared to what you see displayed.
-.
-.TP
-.B \-cdda <option1:option2> (CDDA only)
-This option can be used to tune the CD Audio reading feature of MPlayer.
-.sp 1
-Available options are:
-.RSs
-.IPs speed=<value>
-Set CD spin speed.
-.IPs paranoia=<0\-2>
-Set paranoia level.
-Values other than 0 seem to break playback of anything but the first track.
-.RSss
-0: disable checking (default)
-.br
-1: overlap checking only
-.br
-2: full data correction and verification
-.REss
-.IPs generic-dev=<value>
-Use specified generic SCSI device.
-.IPs sector-size=<value>
-Set atomic read size.
-.IPs overlap=<value>
-Force minimum overlap search during verification to <value> sectors.
-.IPs toc-bias
-Assume that the beginning offset of track 1 as reported in the TOC will be
-addressed as LBA 0.
-Some Toshiba drives need this for getting track boundaries correct.
-.IPs toc-offset=<value>
-Add <value> sectors to the values reported when addressing tracks.
-May be negative.
-.IPs (no)skip
-(Never) accept imperfect data reconstruction.
-.RE
-.
-.TP
-.B \-cdrom\-device <path to device>
-Specify the CD-ROM device (default: /dev/\:cdrom).
-.
-.TP
-.B \-channels <number> (also see \-af channels)
-Request the number of playback channels (default: 2).
-MPlayer asks the decoder to decode the audio into as many channels as
-specified.
-Then it is up to the decoder to fulfill the requirement.
-This is usually only important when playing videos with AC-3 audio (like DVDs).
-In that case liba52 does the decoding by default and correctly downmixes the
-audio into the requested number of channels.
-To directly control the number of output channels independently of how many
-channels are decoded, use the channels filter.
-.br
-.I NOTE:
-This option is honored by codecs (AC-3 only), filters (surround) and audio
-output drivers (OSS at least).
-.sp 1
-Available options are:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-stereo
-.IPs 4
-surround
-.IPs 6
-full 5.1
-.IPs 8
-full 7.1
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <chapter ID>[\-<endchapter ID>] (dvd:// and dvdnav:// only)
-Specify which chapter to start playing at.
-Optionally specify which chapter to end playing at (default: 1).
-.
-.TP
-.B \-edition <edition ID> (Matroska only)
-Specify the edition (set of chapters) to use, where 0 is the first. If set to
--1 (the default), MPlayer will choose the first edition declared as a default,
-or if there is no default, the first edition defined.
-.
-.TP
-.B \-cookies (network only)
-Send cookies when making HTTP requests.
-.
-.TP
-.B \-cookies\-file <filename> (network only)
-Read HTTP cookies from <filename> (default: ~/.mozilla/ and ~/.netscape/)
-and skip reading from default locations.
-The file is assumed to be in Netscape format.
-.
-.TP
-.B \-delay <sec>
-audio delay in seconds (positive or negative float value)
-.br
-Negative values delay the audio, and positive values delay the video.
-.
-.TP
-.B \-ignore\-start
-Ignore the specified starting time for streams in AVI files.
-This nullifies stream delays.
-.
-.TP
-.B \-demuxer <[+]name>
-Force demuxer type.
-Use a '+' before the name to force it, this will skip some checks!
-Give the demuxer name as printed by \-demuxer help.
-.
-.TP
-.B \-dumpaudio
-Dumps raw compressed audio stream to ./stream.dump (useful with MPEG/\:AC-3,
-in most other cases the resulting file will not be playable).
-If you give more than one of \-dumpaudio, \-dumpvideo, \-dumpstream
-on the command line only the last one will work.
-.
-.TP
-.B \-dumpfile <filename>
-Specify which file MPlayer should dump to.
-Should be used together with \-dumpaudio / \-dumpvideo / \-dumpstream /
-\-capture.
-.
-.TP
-.B \-dumpstream
-Dumps the raw stream to ./stream.dump.
-Useful when ripping from DVD or network.
-If you give more than one of \-dumpaudio, \-dumpvideo, \-dumpstream
-on the command line only the last one will work.
-.
-.TP
-.B \-dumpvideo
-Dump raw compressed video stream to ./stream.dump (not very usable).
-If you give more than one of \-dumpaudio, \-dumpvideo, \-dumpstream
-on the command line only the last one will work.
-.
-.TP
-.B \-dvbin <options> (DVB only)
-Pass the following parameters to the DVB input module, in order to override
-the default ones:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Specifies using card number 1\-4 (default: 1).
-.IPs file=<filename>
-Instructs MPlayer to read the channels list from <filename>.
-Default is ~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc} (based on your card type)
-or ~/.mplayer/\:channels.conf as a last resort.
-.IPs timeout=<1\-30>
-Maximum number of seconds to wait when trying to tune a
-frequency before giving up (default: 30).
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <path to device> (DVD only)
-Specify the DVD device or .iso filename (default: /dev/\:dvd).
-You can also specify a directory that contains files previously copied directly
-from a DVD (with e.g.\& vobcopy).
-.
-.TP
-.B \-dvd\-speed <factor or speed in KB/s> (DVD only)
-Try to limit DVD speed (default: 0, no change).
-DVD base speed is about 1350KB/s, so a 8x drive can read at speeds up to
-10800KB/s.
-Slower speeds make the drive more quiet, for watching DVDs 2700KB/s should be
-quiet and fast enough.
-MPlayer resets the speed to the drive default value on close.
-Values less than 100 mean multiples of 1350KB/s, i.e.\& \-dvd\-speed 8 selects
-10800KB/s.
-.br
-.I NOTE:
-You need write access to the DVD device to change the speed.
-.
-.TP
-.B \-dvdangle <angle ID> (DVD only)
-Some DVD discs contain scenes that can be viewed from multiple angles.
-Here you can tell MPlayer which angles to use (default: 1).
-.
-.TP
-.B \-edl <filename>
-Enables edit decision list (EDL) actions during playback.
-Video will be skipped over and audio will be muted and unmuted according to
-the entries in the given file.
-See http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html for details
-on how to use this.
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]> (also see \-ss and \-sb)
-Stop at given time.
-.br
-.I NOTE:
-When used in conjunction with \-ss option, \-endpos time will shift forward by
-seconds specified with \-ss.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-Stop at 56 seconds.
-.IPs "\-endpos 01:10:00"
-Stop at 1 hour 10 minutes.
-.IPs "\-ss 10 \-endpos 56"
-Stop at 1 minute 6 seconds.
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-Force index rebuilding.
-Useful for files with broken index (A/V desync, etc).
-This will enable seeking in files where seeking was not possible.
-.br
-.I NOTE:
-This option only works if the underlying media supports seeking
-(i.e.\& not with stdin, pipe, etc).
-.
-.TP
-.B \-fps <float value>
-Override video framerate.
-Useful if the original value is wrong or missing.
-.
-.TP
-.B \-frames <number>
-Play/\:convert only first <number> frames, then quit.
-.
-.TP
-.B \-hr\-mp3\-seek (MP3 only)
-Hi-res MP3 seeking.
-Enabled when playing from an external MP3 file, as we need to seek
-to the very exact position to keep A/V sync.
-Can be slow especially when seeking backwards since it has to rewind
-to the beginning to find an exact frame position.
-.
-.TP
-.B \-http-header-fields <field1,field2>
-Set custom HTTP fields when accessing HTTP stream.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs
-mplayer \-http\-header\-fields 'Field1: value1','Field2: value2' http://localhost:1234
-.br
-Will generate HTTP request:
-.RSss
-.br
-GET / HTTP/1.0
-.br
-Host: localhost:1234
-.br
-User-Agent: MPlayer
-.br
-Icy-MetaData: 1
-.br
-Field1: value1
-.br
-Field2: value2
-.br
-Connection: close
-.REss
-.RE
-.
-.TP
-.B \-idx (also see \-forceidx)
-Rebuilds index of files if no index was found, allowing seeking.
-Useful with broken/\:incomplete downloads, or badly created files.
-.br
-.I NOTE:
-This option only works if the underlying media supports seeking
-(i.e.\& not with stdin, pipe, etc).
-.
-.TP
-.B \-noidx
-Skip rebuilding index file.
-.
-.TP
-.B \-ipv4\-only\-proxy (network only)
-Skip the proxy for IPv6 addresses.
-It will still be used for IPv4 connections.
-.
-.TP
-.B \-lavfdopts <option1:option2:...>
-Specify parameters for libavformat demuxers (\-demuxer lavf).
-Separate multiple options with a colon.
-.sp
-.RS
-Available suboptions are:
-.RE
-.RSs
-.IPs analyzeduration=<value>
-Maximum length in seconds to analyze the stream properties.
-.IPs format=<value>
-Force a specific libavformat demuxer.
-.IPs o=<key>=<value>[,<key>=<value>[,...]]
-Pass AVOptions to libavformat demuxer.
-Note, a patch to make the o= unneeded and pass all unknown options through
-the AVOption system is welcome.
-A full list of AVOptions can be found in the FFmpeg manual.
-Note that some options may conflict with MPlayer options.
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.PD 0
-.IPs o=fflags=+ignidx
-.PD 1
-.RE
-.IPs probesize=<value>
-Maximum amount of data to probe during the detection phase.
-In the case of MPEG-TS this value identifies the maximum number
-of TS packets to scan.
-.IPs cryptokey=<hexstring>
-Encryption key the demuxer should use.
-This is the raw binary data of the key converted to a hexadecimal string.
-.RE
-.
-.TP
-.B \-loadidx <index file>
-The file from which to read the video index data saved by \-saveidx.
-This index will be used for seeking, overriding any index data
-contained in the AVI itself.
-MPlayer will not prevent you from loading an index file generated
-from a different AVI, but this is sure to cause unfavorable results.
-.br
-.I NOTE:
-This option is obsolete now that MPlayer has OpenDML support.
-.
-.TP
-.B \-mc <seconds/frame>
-maximum A-V sync correction per frame (in seconds)
-.
-.TP
-.B \-mf <option1:option2:...>
-Used when decoding from multiple PNG or JPEG files.
-.sp 1
-Available options are:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<value>
-input file width (default: autodetect)
-.IPs h=<value>
-input file height (default: autodetect)
-.IPs fps=<value>
-output fps (default: 25)
-.IPs type=<value>
-input file type (available: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (AVI only)
-Force usage of non-interleaved AVI parser (fixes playback
-of some bad AVI files).
-.
-.TP
-.B \-nobps (AVI only)
-Do not use average byte/\:second value for A-V sync.
-Helps with some AVI files with broken header.
-.
-.TP
-.B \-noextbased
-Disables extension-based demuxer selection.
-By default, when the file type (demuxer) cannot be detected reliably
-(the file has no header or it is not reliable enough), the filename
-extension is used to select the demuxer.
-Always falls back on content-based demuxer selection.
-.
-.TP
-.B \-passwd <password> (also see \-user) (network only)
-Specify password for HTTP authentication.
-.
-.TP
-.B \-prefer\-ipv4 (network only)
-Use IPv4 on network connections.
-Falls back on IPv6 automatically.
-.
-.TP
-.B \-prefer\-ipv6 (IPv6 network only)
-Use IPv6 on network connections.
-Falls back on IPv4 automatically.
-.
-.TP
-.B \-psprobe <byte position>
-When playing an MPEG-PS or MPEG-PES streams, this option lets you specify
-how many bytes in the stream you want MPlayer to scan in order to identify
-the video codec used.
-This option is needed to play EVO or VDR files containing H.264 streams.
-.
-.TP
-.B \-pvr <option1:option2:...> (PVR only)
-This option tunes various encoding properties of the PVR capture module.
-It has to be used with any hardware MPEG encoder based card supported by the
-V4L2 driver.
-The Hauppauge WinTV PVR\-150/250/350/500 and all IVTV based
-cards are known as PVR capture cards.
-Be aware that only Linux 2.6.18 kernel
-and above is able to handle MPEG stream through V4L2 layer.
-For hardware capture of an MPEG stream and watching it with
-MPlayer, use 'pvr://' as a movie URL.
-.sp 1
-Available options are:
-.RSs
-.IPs aspect=<0\-3>
-Specify input aspect ratio:
-.RSss
-0: 1:1
-.br
-1: 4:3 (default)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-Specify encoding audio rate (default: 48000 Hz, available: 32000, 44100
-and 48000 Hz).
-.IPs alayer=<1\-3>
-Specify MPEG audio layer encoding (default: 2).
-.IPs abitrate=<32\-448>
-Specify audio encoding bitrate in kbps (default: 384).
-.IPs amode=<value>
-Specify audio encoding mode.
-Available preset values are 'stereo', 'joint_stereo', 'dual' and 'mono' (default: stereo).
-.IPs vbitrate=<value>
-Specify average video bitrate encoding in Mbps (default: 6).
-.IPs vmode=<value>
-Specify video encoding mode:
-.RSss
-vbr: Variable BitRate (default)
-.br
-cbr: Constant BitRate
-.REss
-.IPs vpeak=<value>
-Specify peak video bitrate encoding in Mbps
-(only useful for VBR encoding, default: 9.6).
-.IPs fmt=<value>
-Choose an MPEG format for encoding:
-.RSss
-ps: MPEG-2 Program Stream (default)
-.br
-ts: MPEG-2 Transport Stream
-.br
-mpeg1: MPEG-1 System Stream
-.br
-vcd: Video CD compatible stream
-.br
-svcd: Super Video CD compatible stream
-.br
-dvd: DVD compatible stream
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <option1:option2:...> (radio only)
-These options set various parameters of the radio capture module.
-For listening to radio with MPlayer use 'radio://<frequency>'
-(if channels option is not given) or 'radio://<channel_number>'
-(if channels option is given) as a movie URL.
-You can see allowed frequency range by running MPlayer with '\-v'.
-To start the grabbing subsystem, use 'radio://<frequency or channel>/capture'.
-If the capture keyword is not given you can listen to radio
-using the line-in cable only.
-Using capture to listen is not recommended due to synchronization
-problems, which makes this process uncomfortable.
-.sp 1
-Available options are:
-.RSs
-.IPs device=<value>
-Radio device to use (default: /dev/radio0 for Linux and /dev/tuner0 for *BSD).
-.IPs driver=<value>
-Radio driver to use (default: v4l2 if available, otherwise v4l).
-Currently, v4l and v4l2 drivers are supported.
-.IPs volume=<0..100>
-sound volume for radio device (default 100)
-.IPs "freq_min=<value> (*BSD BT848 only)"
-minimum allowed frequency (default: 87.50)
-.IPs "freq_max=<value> (*BSD BT848 only)"
-maximum allowed frequency (default: 108.00)
-.IPs channels=<frequency>\-<name>,<frequency>\-<name>,...
-Set channel list.
-Use _ for spaces in names (or play with quoting ;-).
-The channel names will then be written using OSD and the slave commands
-radio_step_channel and radio_set_channel will be usable for
-a remote control (see LIRC).
-If given, number in movie URL will be treated as channel position in
-channel list.
-.br
-.I EXAMPLE:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<value> (radio capture only)"
-Name of device to capture sound from.
-Without such a name capture will be disabled,
-even if the capture keyword appears in the URL.
-For ALSA devices use it in the form hw=<card>.<device>.
-If the device name contains a '=', the module will use
-ALSA to capture, otherwise OSS.
-.IPs "arate=<value> (radio capture only)"
-Rate in samples per second (default: 44100).
-.br
-.I NOTE:
-When using audio capture set also \-rawaudio rate=<value> option
-with the same value as arate.
-If you have problems with sound speed (runs too quickly), try to play
-with different rate values (e.g.\& 48000,44100,32000,...).
-.IPs "achannels=<value> (radio capture only)"
-Number of audio channels to capture.
-.RE
-.
-.TP
-.B \-rawaudio <option1:option2:...>
-This option lets you play raw audio files.
-You have to use \-demuxer rawaudio as well.
-It may also be used to play audio CDs which are not 44kHz 16-bit stereo.
-For playing raw AC-3 streams use \-rawaudio format=0x2000 \-demuxer rawaudio.
-.sp 1
-Available options are:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<value>
-number of channels
-.IPs rate=<value>
-rate in samples per second
-.IPs samplesize=<value>
-sample size in bytes
-.IPs bitrate=<value>
-bitrate for rawaudio files
-.IPs format=<value>
-fourcc in hex
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <option1:option2:...>
-This option lets you play raw video files.
-You have to use \-demuxer rawvideo as well.
-.sp 1
-Available options are:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<value>
-rate in frames per second (default: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-set standard image size
-.IPs w=<value>
-image width in pixels
-.IPs h=<value>
-image height in pixels
-.IPs i420|yv12|yuy2|y8
-set colorspace
-.IPs format=<value>
-colorspace (fourcc) in hex or string constant.
-Use \-rawvideo format=help for a list of possible strings.
-.IPs size=<value>
-frame size in Bytes
-.REss
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif -demuxer rawvideo -rawvideo qcif"
-Play the famous "foreman" sample video.
-.IPs "mplayer sample-720x576.yuv -demuxer rawvideo -rawvideo w=720:h=576"
-Play a raw YUV sample.
-.RE
-.PD 1
-.
-.TP
-.B \-referrer <string> (network only)
-Specify a referrer path or URL for HTTP requests.
-.
-.TP
-.B \-rtsp\-port
-Used with 'rtsp://' URLs to force the client's port number.
-This option may be useful if you are behind a router and want to forward
-the RTSP stream from the server to a specific client.
-.
-.TP
-.B \-rtsp\-destination
-Used with 'rtsp://' URLs to force the destination IP address to be bound.
-This option may be useful with some RTSP server which do not
-send RTP packets to the right interface.
-If the connection to the RTSP server fails, use \-v to see
-which IP address MPlayer tries to bind to and try to force
-it to one assigned to your computer instead.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (LIVE555 and NEMESI only)
-Used with 'rtsp://' URLs to specify that the resulting incoming RTP and RTCP
-packets be streamed over TCP (using the same TCP connection as RTSP).
-This option may be useful if you have a broken internet connection that does
-not pass incoming UDP packets (see http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-rtsp\-stream\-over\-http (LIVE555 only)
-Used with 'http://' URLs to specify that the resulting incoming RTP and RTCP
-packets be streamed over HTTP.
-.
-.TP
-.B \-saveidx <filename>
-Force index rebuilding and dump the index to <filename>.
-Currently this only works with AVI files.
-.br
-.I NOTE:
-This option is obsolete now that MPlayer has OpenDML support.
-.
-.TP
-.B \-sb <byte position> (also see \-ss)
-Seek to byte position.
-Useful for playback from CD-ROM images or VOB files with junk at the beginning.
-.
-.TP
-.B \-speed <0.01\-100>
-Slow down or speed up playback by the factor given as parameter.
-.
-.TP
-.B \-srate <Hz>
-Select the output sample rate to be used
-(of course sound cards have limits on this).
-If the sample frequency selected is different from that
-of the current media, the resample or lavcresample audio filter will be inserted
-into the audio filter layer to compensate for the difference.
-The type of resampling can be controlled by the \-af\-adv option.
-The default is fast resampling that may cause distortion.
-.
-.TP
-.B \-ss <time> (also see \-sb)
-Seek to given time position.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-Seeks to 56 seconds.
-.IPs "\-ss 01:10:00"
-Seeks to 1 hour 10 min.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Tells MPlayer not to discard TS packets reported as broken in the stream.
-Sometimes needed to play corrupted MPEG-TS files.
-.
-.TP
-.B \-tsprobe <byte position>
-When playing an MPEG-TS stream, this option lets you specify how many
-bytes in the stream you want MPlayer to search for the desired
-audio and video IDs.
-.
-.TP
-.B \-tsprog <1\-65534>
-When playing an MPEG-TS stream, you can specify with this option which
-program (if present) you want to play.
-Can be used with \-vid and \-aid.
-.
-.TP
-.B \-tv <option1:option2:...> (TV/\:PVR only)
-This option tunes various properties of the TV capture module.
-For watching TV with MPlayer, use 'tv://' or 'tv://<channel_number>'
-or even 'tv://<channel_name> (see option channels for channel_name below)
-as a movie URL.
-You can also use 'tv:///<input_id>' to start watching a
-movie from a composite or S-Video input (see option input for details).
-.sp 1
-Available options are:
-.RSs
-.IPs noaudio
-no sound
-.IPs "automute=<0\-255> (v4l and v4l2 only)"
-If signal strength reported by device is less than this value,
-audio and video will be muted.
-In most cases automute=100 will be enough.
-Default is 0 (automute disabled).
-.IPs driver=<value>
-See \-tv driver=help for a list of compiled-in TV input drivers.
-available: dummy, v4l, v4l2, bsdbt848 (default: autodetect)
-.IPs device=<value>
-Specify TV device (default: /dev/\:video0).
-.I NOTE:
-For the bsdbt848 driver you can provide both bktr and tuner device
-names separating them with a comma, tuner after
-bktr (e.g.\& -tv device=/dev/bktr1,/dev/tuner1).
-.IPs input=<value>
-Specify input (default: 0 (TV), see console output for available inputs).
-.IPs freq=<value>
-Specify the frequency to set the tuner to (e.g.\& 511.250).
-Not compatible with the channels parameter.
-.IPs outfmt=<value>
-Specify the output format of the tuner with a preset value supported by the
-V4L driver (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) or an
-arbitrary format given as hex value.
-Try outfmt=help for a list of all available formats.
-.IPs width=<value>
-output window width
-.IPs height=<value>
-output window height
-.IPs fps=<value>
-framerate at which to capture video (frames per second)
-.IPs buffersize=<value>
-maximum size of the capture buffer in megabytes (default: dynamical)
-.IPs norm=<value>
-For bsdbt848 and v4l, PAL, SECAM, NTSC are available.
-For v4l2, see the console output for a list of all available norms,
-also see the normid option below.
-.IPs "normid=<value> (v4l2 only)"
-Sets the TV norm to the given numeric ID.
-The TV norm depends on the capture card.
-See the console output for a list of available TV norms.
-.IPs channel=<value>
-Set tuner to <value> channel.
-.IPs chanlist=<value>
-available: argentina, australia, china-bcast, europe-east, europe-west, france,
-ireland, italy, japan-bcast, japan-cable, newzealand, russia, southafrica,
-us-bcast, us-cable, us-cable-hrc
-.IPs channels=<chan>\-<name>[=<norm>],<chan>\-<name>[=<norm>],...
-Set names for channels.
-.I NOTE:
-If <chan> is an integer greater than 1000, it will be treated as frequency (in kHz)
-rather than channel name from frequency table.
-.br
-Use _ for spaces in names (or play with quoting ;-).
-The channel names will then be written using OSD, and the slave commands
-tv_step_channel, tv_set_channel and tv_last_channel will be usable for
-a remote control (see LIRC).
-Not compatible with the frequency parameter.
-.br
-.I NOTE:
-The channel number will then be the position in the 'channels' list,
-beginning with 1.
-.br
-.I EXAMPLE:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-Set the image equalizer on the card.
-.IPs audiorate=<value>
-Set input audio sample rate.
-.IPs forceaudio
-Capture audio even if there are no audio sources reported by v4l.
-.IPs "alsa\ "
-Capture from ALSA.
-.IPs amode=<0\-3>
-Choose an audio mode:
-.RSss
-0: mono
-.br
-1: stereo
-.br
-2: language 1
-.br
-3: language 2
-.REss
-.IPs forcechan=<1\-2>
-By default, the count of recorded audio channels is determined automatically
-by querying the audio mode from the TV card.
-This option allows forcing stereo/\:mono recording regardless of the amode
-option and the values returned by v4l.
-This can be used for troubleshooting when the TV card is unable to report the
-current audio mode.
-.IPs adevice=<value>
-Set an audio device.
-<value> should be /dev/\:xxx for OSS and a hardware ID for ALSA.
-You must replace any ':' by a '.' in the hardware ID for ALSA.
-.IPs audioid=<value>
-Choose an audio output of the capture card, if it has more than one.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-These options set parameters of the mixer on the video capture card.
-They will have no effect, if your card does not have one.
-For v4l2 50 maps to the default value of the
-control, as reported by the driver.
-.IPs "gain=<0\-100> (v4l2)"
-Set gain control for video devices (usually webcams) to the desired
-value and switch off automatic control.
-A value of 0 enables automatic control.
-If this option is omitted, gain control will not be modified.
-.IPs immediatemode=<bool>
-A value of 0 means capture and buffer audio and video together.
-A value of 1 (default) means to do video capture only and let the
-audio go through a loopback cable from the TV card to the sound card.
-.IPs mjpeg
-Use hardware MJPEG compression (if the card supports it).
-When using this option, you do not need to specify the width and height
-of the output window, because MPlayer will determine it automatically
-from the decimation value (see below).
-.IPs decimation=<1|2|4>
-choose the size of the picture that will be compressed by hardware
-MJPEG compression:
-.RSss
-1: full size
- 704x576 PAL
- 704x480 NTSC
-.br
-2: medium size
- 352x288 PAL
- 352x240 NTSC
-.br
-4: small size
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-Choose the quality of the JPEG compression
-(< 60 recommended for full size).
-.IPs tdevice=<value>
-Specify TV teletext device (example: /dev/\:vbi0) (default: none).
-.IPs tformat=<format>
-Specify TV teletext display format (default: 0):
-.RSss
-0: opaque
-.br
-1: transparent
-.br
-2: opaque with inverted colors
-.br
-3: transparent with inverted colors
-.REss
-.IPs tpage=<100\-899>
-Specify initial TV teletext page number (default: 100).
-.IPs tlang=<\-1\-127>
-Specify default teletext language code (default: 0), which will be used
-as primary language until a type 28 packet is received.
-Useful when the teletext system uses a non-latin character set, but language
-codes are not transmitted via teletext type 28 packets for some reason.
-To see a list of supported language codes set this option to \-1.
-.IPs "hidden_video_renderer (dshow only)"
-Terminate stream with video renderer instead of Null renderer (default: off).
-Will help if video freezes but audio does not.
-.I NOTE:
-May not work with \-vo directx and \-vf crop combination.
-.IPs "hidden_vp_renderer (dshow only)"
-Terminate VideoPort pin stream with video renderer
-instead of removing it from the graph (default: off).
-Useful if your card has a VideoPort pin and video is choppy.
-.I NOTE:
-May not work with \-vo directx and \-vf crop combination.
-.IPs "system_clock (dshow only)"
-Use the system clock as sync source instead of the default graph clock
-(usually the clock from one of the live sources in graph).
-.IPs "normalize_audio_chunks (dshow only)"
-Create audio chunks with a time length equal to
-video frame time length (default: off).
-Some audio cards create audio chunks about 0.5s in size, resulting in
-choppy video when using immediatemode=0.
-.RE
-.
-.TP
-.B \-tvscan <option1:option2:...> (TV only)
-Tune the TV channel scanner.
-MPlayer will also print value for "-tv channels=" option,
-including existing and just found channels.
-.sp 1
-Available suboptions are:
-.RSs
-.IPs autostart
-Begin channel scanning immediately after startup (default: disabled).
-.IPs period=<0.1\-2.0>
-Specify delay in seconds before switching to next channel (default: 0.5).
-Lower values will cause faster scanning, but can detect
-inactive TV channels as active.
-.IPs threshold=<1\-100>
-Threshold value for the signal strength (in percent), as reported
-by the device (default: 50).
-A signal strength higher than this value will indicate that the
-currently scanning channel is active.
-.RE
-.
-.TP
-.B \-user <username> (also see \-passwd) (network only)
-Specify username for HTTP authentication.
-.
-.TP
-.B \-user\-agent <string>
-Use <string> as user agent for HTTP streaming.
-.
-.TP
-.B \-vid <ID>
-Select video channel (MPG: 0\-15, ASF: 0\-255, MPEG-TS: 17\-8190).
-When playing an MPEG-TS stream, MPlayer will use the first program (if present)
-with the chosen video stream.
-.
-.TP
-.B \-vivo <suboption> (DEBUG CODE)
-Force audio parameters for the VIVO demuxer (for debugging purposes).
-FIXME: Document this.
-.
-.
-.
-.SH "OSD/SUBTITLE OPTIONS"
-.I NOTE:
-Also see \-vf expand.
-.
-.TP
-.B \-ass, \-noass (FreeType only)
-Use libass to render all text subtitles.
-This enables support for the native styling of SSA/ASS subtitles,
-and also support for some styling features in other subtitle formats by
-conversion to ASS markup.
-Enabled by default if the player was compiled with libass support.
-.br
-.I NOTE:
-Some of the other subtitle options were written for the old non-libass
-subtitle rendering system and may not work the same way or at all with
-libass rendering enabled.
-.
-.TP
-.B \-ass\-border\-color <value>
-Sets the border (outline) color for text subtitles.
-The color format is RRGGBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <value>
-Adds a black band at the bottom of the frame.
-The SSA/ASS renderer can place subtitles there (with \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-color <value>
-Sets the color for text subtitles.
-The color format is RRGGBBAA.
-.
-.TP
-.B \-ass\-font\-scale <value>
-Set the scale coefficient to be used for fonts in the SSA/ASS renderer.
-.
-.TP
-.B \-ass\-force\-style <[Style.]Param=Value[,...]>
-Override some style or script info parameters.
-.sp
-.I EXAMPLE:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.br
-\-ass\-force\-style PlayResY=768
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <type>
-Set hinting type.
-<type> can be:
-.PD 0
-.RSs
-.IPs 0
-no hinting
-.IPs 1
-FreeType autohinter, light mode
-.IPs 2
-FreeType autohinter, normal mode
-.IPs 3
-font native hinter
-.IPs "0-3 + 4"
-The same, but hinting will only be performed if the OSD is rendered at
-screen resolution and will therefore not be scaled.
-.RE
-.RSs
-The default value is 5 (use light hinter for unscaled OSD and no hinting otherwise).
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <value>
-Set line spacing value for SSA/ASS renderer.
-.
-.TP
-.B \-ass\-styles <filename>
-Load all SSA/ASS styles found in the specified file and use them for
-rendering text subtitles.
-The syntax of the file is exactly like the
-[V4 Styles] / [V4+ Styles] section of SSA/ASS.
-.
-.TP
-.B \-ass\-top\-margin <value>
-Adds a black band at the top of the frame.
-The SSA/ASS renderer can place toptitles there (with \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-use\-margins
-Enables placing toptitles and subtitles in black borders when they
-are available.
-.
-.TP
-.B \-ass\-vsfilter\-aspect\-compat
-Stretch SSA/ASS subtitles when playing anamorphic videos for compatibility
-with traditional VSFilter behavior.
-This switch has no effect when the video is stored with square pixels.
-.sp 1
-The renderer historically most commonly used for the SSA/ASS subtitle formats,
-VSFilter, had questionable behavior that resulted in subtitles being
-stretched too if the video was stored in anamorphic format that required
-scaling for display.
-This behavior is usually undesirable and newer VSFilter versions may
-behave differently.
-However, many existing scripts compensate for the stretching by modifying
-things in the opposite direction.
-Thus if such scripts are displayed "correctly" they will not appear as intended.
-This switch enables emulation of the old VSFilter behavior (undesirable but
-expected by many existing scripts).
-Enabled by default.
-.
-.TP
-.B \-dumpjacosub
-Convert the given subtitle (specified with the \-sub option) to the time-based
-JACOsub subtitle format.
-Creates a dumpsub.js file in the current directory.
-.
-.TP
-.B \-dumpmicrodvdsub
-Convert the given subtitle (specified with the \-sub option) to the
-MicroDVD subtitle format.
-Creates a dumpsub.sub file in the current directory.
-.
-.TP
-.B \-dumpmpsub
-Convert the given subtitle (specified with the \-sub option) to MPlayer's
-subtitle format, MPsub.
-Creates a dump.mpsub file in the current directory.
-.
-.TP
-.B \-dumpsami
-Convert the given subtitle (specified with the \-sub option) to the time-based
-SAMI subtitle format.
-Creates a dumpsub.smi file in the current directory.
-.
-.TP
-.B \-dumpsrtsub
-Convert the given subtitle (specified with the \-sub option) to the time-based
-SubViewer (SRT) subtitle format.
-Creates a dumpsub.srt file in the current directory.
-.br
-.I NOTE:
-Some broken hardware players choke on SRT subtitle files with Unix
-line endings.
-If you are unlucky enough to have such a box, pass your subtitle
-files through unix2dos or a similar program to replace Unix line
-endings with DOS/Windows line endings.
-.
-.TP
-.B \-dumpsub (BETA CODE)
-Dumps the subtitle substream from VOB streams.
-Also see the \-dump*sub options.
-.
-.TP
-.B \-noembeddedfonts
-Disables use of fonts embedded in Matroska containers and ASS scripts (default: enabled).
-These fonts can be used for SSA/ASS subtitle
-rendering (\-ass option).
-.
-.TP
-.B \-ffactor <number>
-Resample the font alphamap.
-Can be:
-.PD 0
-.RSs
-.IPs 0
-plain white fonts
-.IPs 0.75
-very narrow black outline (default)
-.IPs 1
-narrow black outline
-.IPs 10
-bold black outline
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (FriBiDi only)
-Turns on flipping subtitles using FriBiDi.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-Change FriBiDi's assumptions about the placements of commas in subtitles.
-Use this if commas in subtitles are shown at the start of a sentence
-instead of at the end.
-.
-.TP
-.B \-font <path to font.desc file, path to font (FreeType), font pattern (Fontconfig)>
-Search for the OSD/\:SUB fonts in an alternative directory (default for normal
-fonts: ~/\:.mplayer/\:font/\:font.desc, default for FreeType fonts:
-~/.mplayer/\:subfont.ttf).
-.br
-.I NOTE:
-With FreeType, this option determines the path to the text font file.
-With Fontconfig, this option determines the Fontconfig font pattern.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.br
-\-font 'Bitstream Vera Sans:style=Bold'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig, \-nofontconfig (fontconfig only)
-Enables the use of fontconfig managed fonts. Enabled by default.
-.
-.TP
-.B \-forcedsubsonly
-Display only forced subtitles for the DVD subtitle stream selected by e.g.\&
-\-slang.
-.
-.TP
-.B \-fribidi\-charset <charset name> (FriBiDi only)
-Specifies the character set that will be passed to FriBiDi when
-decoding non-UTF-8 subtitles (default: ISO8859-8).
-.
-.TP
-.B \-ifo <VOBsub IFO file>
-Indicate the file that will be used to load palette and frame size for VOBsub
-subtitles.
-.
-.TP
-.B \-noautosub
-Turns off automatic subtitle file loading.
-.
-.TP
-.B \-osd\-duration <time>
-Set the duration of the OSD messages in ms (default: 1000).
-.
-.TP
-.B \-osd\-fractions <0\-2>
-Set how fractions of seconds of the current timestamp are printed on the OSD:
-.PD 0
-.RSs
-.IPs 0
-Do not display fractions (default).
-.IPs 1
-Show the first two decimals.
-.IPs 2
-Show approximate frame count within current second.
-This frame count is not accurate but only an approximation.
-For variable fps, the approximation is known to be far off the correct frame
-count.
-.RE
-.PD 1
-.
-.TP
-.B \-osdlevel <0\-3>
-Specifies which mode the OSD should start in.
-.PD 0
-.RSs
-.IPs 0
-subtitles only
-.IPs 1
-volume + seek (default)
-.IPs 2
-volume + seek + timer + percentage
-.IPs 3
-volume + seek + timer + percentage + total time
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Allows the next subtitle to be displayed while the current one is
-still visible (default is to enable the support only for specific
-formats).
-.
-.TP
-.B \-sid <ID> (also see \-slang, \-vobsubid)
-Display the subtitle stream specified by <ID> (0\-31).
-MPlayer prints the available subtitle IDs when run in verbose (\-v) mode.
-If you cannot select one of the subtitles on a DVD, also try \-vobsubid.
-.
-.TP
-.B \-nosub
-Disables any otherwise auto-selected internal subtitles (as e.g.\& the Matroska/mkv
-demuxer supports).
-Use \-noautosub to disable the loading of external subtitle files.
-.
-.TP
-.B \-slang <language code[,language code,...]> (also see \-sid)
-Specify a priority list of subtitle languages to use.
-Different container formats employ different language codes.
-DVDs use ISO 639-1 two letter language codes, Matroska uses ISO 639-2
-three letter language codes while OGM uses a free-form identifier.
-MPlayer prints the available languages when run in verbose (\-v) mode.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang hu,en"
-Chooses the Hungarian subtitle track on a DVD and falls back on English if
-Hungarian is not available.
-.IPs "mplayer \-slang jpn example.mkv"
-Plays a Matroska file with Japanese subtitles.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <mode>
-Antialiasing/\:scaling mode for DVD/\:VOBsub.
-A value of 16 may be added to <mode> in order to force scaling even
-when original and scaled frame size already match.
-This can be employed to e.g.\& smooth subtitles with gaussian blur.
-Available modes are:
-.PD 0
-.RSs
-.IPs 0
-none (fastest, very ugly)
-.IPs 1
-approximate (broken?)
-.IPs 2
-full (slow)
-.IPs 3
-bilinear (default, fast and not too bad)
-.IPs 4
-uses swscaler gaussian blur (looks very good)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-Specify how SPU (DVD/\:VOBsub) subtitles should be aligned.
-.PD 0
-.RSs
-.IPs "\-1"
-original position
-.IPs " 0"
-Align at top (original behavior, default).
-.IPs " 1"
-Align at center.
-.IPs " 2"
-Align at bottom.
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-Variance parameter of gaussian used by \-spuaa 4.
-Higher means more blur (default: 1.0).
-.
-.TP
-.B \-sub <subtitlefile1,subtitlefile2,...>
-Use/\:display these subtitle files.
-Only one file can be displayed at the same time.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-Specify the alpha channel value for subtitles and OSD backgrounds.
-Big values mean more transparency.
-0 means completely transparent.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-Specify the color value for subtitles and OSD backgrounds.
-Currently subtitles are grayscale so this value is equivalent to the
-intensity of the color.
-255 means white and 0 black.
-.
-.TP
-.B \-sub\-demuxer <[+]name> (\-subfile only) (BETA CODE)
-Force subtitle demuxer type for \-subfile.
-Use a '+' before the name to force it, this will skip some checks!
-Give the demuxer name as printed by \-sub\-demuxer help.
-.
-.TP
-.B \-sub\-fuzziness <mode>
-Adjust matching fuzziness when searching for subtitles:
-.PD 0
-.RSs
-.IPs 0
-exact match
-.IPs 1
-Load all subs containing movie name.
-.IPs 2
-Load all subs in the current and \-sub\-paths directories.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Disables any kind of text post processing done after loading the subtitles.
-Used for debug purposes.
-.
-.TP
-.B \-subalign <0\-2>
-Specify which edge of the subtitles should be aligned at the height
-given by \-subpos.
-.PD 0
-.RSs
-.IPs 0
-Align subtitle top edge (original behavior).
-.IPs 1
-Align subtitle center.
-.IPs 2
-Align subtitle bottom edge (default).
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc <1\-4>\ "
-Display DVD Closed Caption (CC) subtitles from the specified channel.
-These are
-.B not
-the VOB subtitles, these are special ASCII subtitles for the
-hearing impaired encoded in the VOB userdata stream on most region 1 DVDs.
-CC subtitles have not been spotted on DVDs from other regions so far.
-.
-.TP
-.B \-subcp <codepage> (iconv only)
-If your system supports iconv(3), you can use this option to
-specify the subtitle codepage.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<language>:<fallback codepage> (ENCA only)
-You can specify your language using a two letter language code to
-make ENCA detect the codepage automatically.
-If unsure, enter anything and watch mplayer \-v output for available
-languages.
-Fallback codepage specifies the codepage to use, when autodetection fails.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Guess the encoding, assuming the subtitles are Czech, fall back on
-latin 2, if the detection fails.
-.IPs "\-subcp enca:pl:cp1250"
-Guess the encoding for Polish, fall back on cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-paths <path1:path2:...>
-Specify extra directories where to search for subtitles matching the video.
-Multiple directories can be separated by ":" (";" on Windows).
-Paths can be relative or absolute.
-Relative paths are interpreted relative to video file directory.
-
-.sp 1
-.I EXAMPLE:
-Assuming that /path/\:to/\:movie/\:movie.avi is played and \-sub\-paths
-sub:subtitles:/tmp/subs is specified, MPlayer searches for subtitle files in
-these directories:
-.RSs
-/path/\:to/\:movie/
-.br
-/path/\:to/\:movie/\:sub/
-.br
-/path/\:to/\:movie/\:subtitles/
-.br
-/tmp/\:subs/
-.br
-~/.mplayer/\:sub/
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <sec>
-Delays subtitles by <sec> seconds.
-Can be negative.
-.
-.TP
-.B \-subfile <filename> (BETA CODE)
-Currently useless.
-Same as \-audiofile, but for subtitle streams (OggDS?).
-.
-.TP
-.B \-subfont <path to font (FreeType), font pattern (Fontconfig)> (FreeType only)
-Sets the subtitle font (see \-font).
-If no \-subfont is given, \-font is used.
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (FreeType only)
-Sets the autoscale mode.
-.br
-.I NOTE:
-0 means that text scale and OSD scale are font heights in points.
-.sp 1
-The mode can be:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-no autoscale
-.IPs 1
-proportional to movie height
-.IPs 2
-proportional to movie width
-.IPs 3
-proportional to movie diagonal (default)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (FreeType only)
-Sets the font blur radius (default: 2).
-.
-.TP
-.B \-subfont\-encoding <value> (FreeType only)
-Sets the font encoding.
-When set to 'unicode', all the glyphs from the font file will be rendered and
-unicode will be used (default: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (FreeType only)
-Sets the autoscale coefficient of the OSD elements (default: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (FreeType only)
-Sets the font outline thickness (default: 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (FreeType only)
-Sets the subtitle text autoscale coefficient as percentage of the
-screen size (default: 5).
-.
-.TP
-.B \-subfps <rate>
-Specify the framerate of the subtitle file (default: movie fps).
-.br
-.I NOTE:
-<rate> > movie fps speeds the subtitles up for frame-based subtitle files and
-slows them down for time-based ones.
-.
-.TP
-.B \-subpos <0\-100> (useful with \-vf expand)
-Specify the position of subtitles on the screen.
-The value is the vertical position of the subtitle in % of the screen height.
-.
-.TP
-.B \-subwidth <10\-100>
-Specify the maximum width of subtitles on the screen.
-Useful for TV-out.
-The value is the width of the subtitle in % of the screen width.
-.
-.TP
-.B \-noterm\-osd
-Disable the display of OSD messages on the console when no video output is
-available.
-.
-.TP
-.B \-term\-osd\-esc <escape sequence>
-Specify the escape sequence to use before writing an OSD message on the
-console.
-The escape sequence should move the pointer to the beginning of the line
-used for the OSD and clear it (default: ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-Tells MPlayer to handle the subtitle file as unicode.
-.
-.TP
-.B \-unrarexec <path to unrar executable> (not supported on MingW)
-Specify the path to the unrar executable so MPlayer can use it to access
-rar-compressed VOBsub files (default: not set, so the feature is off).
-The path must include the executable's filename, i.e.\& /usr/local/bin/unrar.
-.
-.TP
-.B "\-utf8 \ \ "
-Tells MPlayer to handle the subtitle file as UTF-8.
-.
-.TP
-.B \-vobsub <VOBsub file without extension>
-Specify a VOBsub file to use for subtitles.
-Has to be the full pathname without extension, i.e.\& without
-the '.idx', '.ifo' or '.sub'.
-.
-.TP
-.B \-vobsubid <0\-31>
-Specify the VOBsub subtitle ID.
-.
-.
-.
-.SH "AUDIO OUTPUT OPTIONS"
-.
-.TP
-.B \-abs <value> (\-ao oss only) (OBSOLETE)
-Override audio driver/\:card buffer size detection.
-.
-.TP
-.B \-format <format> (also see the format audio filter)
-Select the sample format used for output from the audio filter
-layer to the sound card.
-The values that <format> can adopt are listed below in the
-description of the format audio filter.
-.
-.TP
-.B \-gapless\-audio
-Try to play consecutive audio files with no silence or disruption
-at the point of file change.
-This feature is implemented in a simple manner and relies on audio output
-device buffering to continue playback while moving from one file to another.
-If playback of the new file starts slowly, for example because it's played from
-a remote network location or because you have specified cache settings that
-require time for the initial cache fill, then the buffered audio may run out
-before playback of the new file can start.
-.
-.TP
-.B \-mixer <device>
-Use a mixer device different from the default /dev/\:mixer.
-For ALSA this is the mixer name.
-.
-.TP
-.B \-mixer\-channel <mixer line>[,mixer index] (\-ao oss and \-ao alsa only)
-This option will tell MPlayer to use a different channel for controlling
-volume than the default PCM.
-Options for OSS include
-.B vol, pcm, line.
-For a complete list of options look for SOUND_DEVICE_NAMES in
-/usr/\:include/\:linux/\:soundcard.h.
-For ALSA you can use the names e.g.\& alsamixer displays, like
-.B Master, Line, PCM.
-.br
-.I NOTE:
-ALSA mixer channel names followed by a number must be specified in the
-<name,number> format, i.e.\& a channel labeled 'PCM 1' in alsamixer must
-be converted to
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-Force the use of the software mixer, instead of using the sound card
-mixer.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-Set the maximum amplification level in percent (default: 110).
-A value of 200 will allow you to adjust the volume up to a maximum of
-double the current level.
-With values below 100 the initial volume (which is 100%) will be above
-the maximum, which e.g.\& the OSD cannot display correctly.
-.
-.TP
-.B \-volstep <0\-100>
-Set the step size of mixer volume changes in percent of the whole range
-(default: 3).
-.
-.TP
-.B \-volume <-1\-100> (also see \-af volume)
-Set the startup volume in the mixer, either hardware or software (if
-used with \-softvol).
-A value of -1 (the default) will not change the volume.
-.
-.
-.
-.SH "AUDIO OUTPUT DRIVERS"
-Audio output drivers are interfaces to different audio output facilities.
-The syntax is:
-.
-.TP
-.B \-ao <driver1[:suboption1[=value]:...],driver2,...[,]>
-Specify a priority list of audio output drivers to be used.
-.PP
-If the list has a trailing ',' MPlayer will fall back on drivers not
-contained in the list.
-Suboptions are optional and can mostly be omitted.
-.br
-.I NOTE:
-See \-ao help for a list of compiled-in audio output drivers.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Try the ALSA driver, then the OSS driver, then others.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-Sets noblock-mode and the device-name as first card, fourth device.
-.RE
-.PD 1
-.sp 1
-Available audio output drivers are:
-.
-.TP
-.B "alsa\ \ \ "
-ALSA 0.9/1.x audio output driver
-.PD 0
-.RSs
-.IPs noblock
-Sets noblock-mode.
-.IPs device=<device>
-Sets the device name.
-Replace any ',' with '.' and any ':' with '=' in the ALSA device name.
-For hwac3 output via S/PDIF, use an "iec958" or "spdif" device, unless
-you really know how to set it correctly.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-ALSA 0.5 audio output driver
-.
-.TP
-.B "oss\ \ \ \ "
-OSS audio output driver
-.PD 0
-.RSs
-.IPs <dsp-device>
-Sets the audio output device (default: /dev/\:dsp).
-.IPs <mixer-device>
-Sets the audio mixer device (default: /dev/\:mixer).
-.IPs <mixer-channel>
-Sets the audio mixer channel (default: pcm).
-.RE
-.PD 1
-.
-.TP
-.B sdl (SDL only)
-highly platform independent SDL (Simple Directmedia Layer) library
-audio output driver
-.PD 0
-.RSs
-.IPs <driver>
-Explicitly choose the SDL audio driver to use (default: let SDL choose).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-audio output through the aRts daemon
-.
-.TP
-.B "esd\ \ \ \ "
-audio output through the ESD daemon
-.PD 0
-.RSs
-.IPs <server>
-Explicitly choose the ESD server to use (default: localhost).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-audio output through JACK (Jack Audio Connection Kit)
-.PD 0
-.RSs
-.IPs port=<name>
-Connects to the ports with the given name (default: physical ports).
-.IPs name=<client name>
-Client name that is passed to JACK (default: MPlayer [<PID>]).
-Useful if you want to have certain connections established automatically.
-.IPs (no)estimate
-Estimate the audio delay, supposed to make the video playback smoother
-(default: enabled).
-.IPs (no)autostart
-Automatically start jackd if necessary (default: disabled).
-Note that this seems unreliable and will spam stdout with server messages.
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-audio output through NAS
-.
-.TP
-.B coreaudio (Mac OS X only)
-native Mac OS X audio output driver
-.PD 0
-.RSs
-.IPs device_id=<id>
-ID of output device to use (0 = default device)
-.IPs help
-List all available output devices with their IDs.
-.RE
-.PD 1
-.
-.TP
-.B "openal\ "
-Experimental OpenAL audio output driver
-.
-.TP
-.B "pulse\ \ "
-PulseAudio audio output driver
-.PD 0
-.RSs
-.IPs "[<host>][:<output sink>]"
-Specify the host and optionally output sink to use.
-An empty <host> string uses a local connection, "localhost"
-uses network transfer (most likely not what you want).
-.RE
-.PD 1
-.
-.TP
-.B sgi (SGI only)
-native SGI audio output driver
-.PD 0
-.RSs
-.IPs "<output device name>"
-Explicitly choose the output device/\:interface to use
-(default: system-wide default).
-For example, 'Analog Out' or 'Digital Out'.
-.RE
-.PD 1
-.
-.TP
-.B sun (Sun only)
-native Sun audio output driver
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the audio device to use (default: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (Windows only)
-native Windows waveout audio output driver
-.
-.TP
-.B dsound (Windows only)
-DirectX DirectSound audio output driver
-.PD 0
-.RSs
-.IPs device=<devicenum>
-Sets the device number to use.
-Playing a file with \-v will show a list of available devices.
-.RE
-.PD 1
-.
-.TP
-.B kai (OS/2 only)
-OS/2 KAI audio output driver
-.PD 0
-.RSs
-.IPs uniaud
-Force UNIAUD mode.
-.IPs dart
-Force DART mode.
-.IPs (no)share
-Open audio in shareable or exclusive mode.
-.IPs bufsize=<size>
-Set buffer size to <size> in samples (default: 2048).
-.RE
-.PD 1
-.
-.TP
-.B dart (OS/2 only)
-OS/2 DART audio output driver
-.PD 0
-.RSs
-.IPs (no)share
-Open DART in shareable or exclusive mode.
-.IPs bufsize=<size>
-Set buffer size to <size> in samples (default: 2048).
-.RE
-.PD 1
-.
-.TP
-.B ivtv (IVTV only)
-IVTV specific MPEG audio output driver.
-Works with \-ac hwmpa only.
-.
-.TP
-.B v4l2 (requires Linux 2.6.22+ kernel)
-Audio output driver for V4L2 cards with hardware MPEG decoder.
-.
-.TP
-.B mpegpes (DVB only)
-Audio output driver for DVB cards that writes the output to an MPEG-PES
-file if no DVB card is installed.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-DVB card to use if more than one card is present.
-If not specified MPlayer will search the first usable card.
-.IPs file=<filename>
-output filename
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-Produces no audio output but maintains video playback speed.
-Use \-nosound for benchmarking.
-.
-.TP
-.B "pcm\ \ \ \ "
-raw PCM/wave file writer audio output
-.PD 0
-.RSs
-.IPs (no)waveheader
-Include or do not include the wave header (default: included).
-When not included, raw PCM will be generated.
-.IPs file=<filename>
-Write the sound to <filename> instead of the default
-audiodump.wav.
-If nowaveheader is specified, the default is audiodump.pcm.
-.RE
-.PD 1
-.
-.TP
-.B "rsound\ \ \ \ "
-audio output to an RSound daemon
-.PD 0
-.RSs
-.IPs host=<name/path>
-Set the address of the server (default: localhost).
-Can be either a network hostname for TCP connections or a Unix domain
-socket path starting with '/'.
-.IPs port=<number>
-Set the TCP port used for connecting to the server (default: 12345).
-Not used if connecting to a Unix domain socket.
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-plugin audio output driver
-.
-.
-.
-.SH "VIDEO OUTPUT OPTIONS"
-.
-.TP
-.B \-adapter <value>
-Set the graphics card that will receive the image.
-You can get a list of available cards when you run this option with \-v.
-Currently only works with the directx video output driver.
-.
-.TP
-.B \-bpp <depth>
-Override the autodetected color depth.
-Only supported by the fbdev, dga, svga, vesa video output drivers.
-.
-.TP
-.B \-border
-Play movie with window border and decorations.
-Since this is on by default, use \-noborder to disable the standard window
-decorations.
-.
-.TP
-.B \-brightness <\-100\-100>
-Adjust the brightness of the video signal (default: 0).
-Not supported by all video output drivers.
-.
-.TP
-.B \-contrast <\-100\-100>
-Adjust the contrast of the video signal (default: 0).
-Not supported by all video output drivers.
-.
-.TP
-.B \-display <name> (X11 only)
-Specify the hostname and display number of the X server you want to display
-on.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-Turns on direct rendering (not supported by all codecs and video outputs)
-.br
-.I WARNING:
-May cause OSD/SUB corruption!
-.
-.TP
-.B \-fbmode <modename> (\-vo fbdev only)
-Change video mode to the one that is labeled as <modename> in
-/etc/\:fb.modes.
-.br
-.I NOTE:
-VESA framebuffer does not support mode changing.
-.
-.TP
-.B \-fbmodeconfig <filename> (\-vo fbdev only)
-Override framebuffer mode configuration file (default: /etc/\:fb.modes).
-.
-.TP
-.B \-force\-window\-position
-Forcefully move MPlayer's video output window to default location whenever
-there is a change in video parameters, video stream or file.
-This used to be the default behavior.
-Currently only affects X11 VOs.
-.
-.TP
-.B \-fs (also see \-zoom)
-Fullscreen playback (centers movie, and paints black bands around it).
-Not supported by all video output drivers.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (OBSOLETE, use the \-fs option)
-Try this option if you still experience fullscreen problems.
-.
-.TP
-.B \-fstype <type1,type2,...> (X11 only)
-Specify a priority list of fullscreen modes to be used.
-You can negate the modes by prefixing them with '\-'.
-If you experience problems like the fullscreen window being covered
-by other windows try using a different order.
-.br
-.I NOTE:
-See \-fstype help for a full list of available modes.
-.sp 1
-The available types are:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-Use the _NETWM_STATE_ABOVE hint if available.
-.IPs below
-Use the _NETWM_STATE_BELOW hint if available.
-.IPs fullscreen
-Use the _NETWM_STATE_FULLSCREEN hint if available.
-.IPs layer
-Use the _WIN_LAYER hint with the default layer.
-.IPs layer=<0...15>
-Use the _WIN_LAYER hint with the given layer number.
-.IPs netwm
-Force NETWM style.
-.IPs "none\ "
-Clear the list of modes; you can add modes to enable afterward.
-.IPs stays_on_top
-Use _NETWM_STATE_STAYS_ON_TOP hint if available.
-.REss
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-Default order, will be used as a fallback if incorrect or
-unsupported modes are specified.
-.IPs \-fullscreen
-Fixes fullscreen switching on OpenBox 1.x.
-.RE
-.PD 1
-.
-.TP
-.B \-gamma <\-100\-100>
-Adjust the gamma of the video signal (default: 0).
-Not supported by all video output drivers.
-.
-.TP
-.B \-geometry x[%][:y[%]] or [WxH][+-x+-y]
-Adjust where the output is on the screen initially.
-The x and y specifications are in pixels measured from the top-left of the
-screen to the top-left of the image being displayed, however if a percentage
-sign is given after the argument it turns the value into a percentage of the
-screen size in that direction.
-It also supports the standard X11 \-geometry option format, in which e.g.
-+10-50 means "place 10 pixels from the left border and 50 pixels from the lower
-border" and "--20+-10" means "place 20 pixels beyond the right and 10 pixels
-beyond the top border".
-If an external window is specified using the \-wid option, then the x and
-y coordinates are relative to the top-left corner of the window rather
-than the screen.
-The coordinates are relative to the screen given with \-xineramascreen for
-the video output drivers that fully support \-xineramascreen (direct3d, gl, gl2,
-vdpau, x11, xv, corevideo).
-.br
-.I NOTE:
-May not be supported by some of the older VO drivers.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs 50:40
-Places the window at x=50, y=40.
-.IPs 50%:50%
-Places the window in the middle of the screen.
-.IPs "100%\ "
-Places the window at the middle of the right edge of the screen.
-.IPs 100%:100%
-Places the window at the bottom right corner of the screen.
-.RE
-.PD 1
-.
-.TP
-.B \-hue <\-100\-100>
-Adjust the hue of the video signal (default: 0).
-You can get a colored negative of the image with this option.
-Not supported by all video output drivers.
-.
-.TP
-.B \-monitor\-dotclock <range[,range,...]> (\-vo fbdev and vesa only)
-Specify the dotclock or pixelclock range of the monitor.
-.
-.TP
-.B \-monitor\-hfreq <range[,range,...]> (\-vo fbdev and vesa only)
-Specify the horizontal frequency range of the monitor.
-.
-.TP
-.B \-monitor\-vfreq <range[,range,...]> (\-vo fbdev and vesa only)
-Specify the vertical frequency range of the monitor.
-.
-.TP
-.B \-monitoraspect <ratio> (also see \-aspect)
-Set the aspect ratio of your monitor or TV screen.
-A value of 0 disables a previous setting (e.g.\& in the config file).
-Overrides the \-monitorpixelaspect setting if enabled.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-\-monitoraspect 4:3 or 1.3333
-.br
-\-monitoraspect 16:9 or 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <ratio> (also see \-aspect)
-Set the aspect of a single pixel of your monitor or TV screen (default: 1).
-A value of 1 means square pixels
-(correct for (almost?) all LCDs).
-.
-.TP
-.B \-name (X11 only)
-Set the window class name.
-.
-.TP
-.B \-nodouble
-Disables double buffering, mostly for debugging purposes.
-Double buffering fixes flicker by storing two frames in memory, and
-displaying one while decoding another.
-It can affect OSD negatively, but often removes OSD flickering.
-.
-.TP
-.B \-nograbpointer
-Do not grab the mouse pointer after a video mode change (\-vm).
-Useful for multihead setups.
-.
-.TP
-.B \-nokeepaspect
-Do not keep window aspect ratio when resizing windows.
-By default MPlayer tries to keep the correct video aspect ratio by
-instructing the window manager to maintain window aspect when resizing,
-and by adding black bars if the window manager nevertheless allows
-window shape to change.
-This option disables window manager aspect hints and scales the video
-to completely fill the window without regard for aspect ratio.
-.
-.TP
-.B "\-ontop\ "
-Makes the player window stay on top of other windows.
-Supported by video output drivers which use X11, except SDL,
-as well as directx, corevideo, quartz, ggi and gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-Enables pan-and-scan functionality (cropping the sides of e.g.\& a 16:9
-movie to make it fit a 4:3 display without black bands).
-The range controls how much of the image is cropped.
-May not work with all video output drivers.
-.br
-.I NOTE:
-Values between \-1 and 0 are allowed as well, but highly experimental
-and may crash or worse.
-Use at your own risk!
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (experimental)
-Change the range of the pan-and-scan functionality (default: 1).
-Positive values mean multiples of the default range.
-Negative numbers mean you can zoom in up to a factor of \-panscanrange+1.
-E.g.\& \-panscanrange \-3 allows a zoom factor of up to 4.
-This feature is experimental.
-Do not report bugs unless you are using \-vo gl.
-.
-.TP
-.B \-refreshrate <Hz>
-Set the monitor refreshrate in Hz.
-Currently only supported by \-vo directx combined with the \-vm option.
-.
-.TP
-.B \-rootwin
-Play movie in the root window (desktop background).
-Desktop background images may cover the movie window, though.
-May not work with all video output drivers.
-.
-.TP
-.B \-saturation <\-100\-100>
-Adjust the saturation of the video signal (default: 0).
-You can get grayscale output with this option.
-Not supported by all video output drivers.
-.
-.TP
-.B \-screenh <pixels>
-Specify the screen height for video output drivers which
-do not know the screen resolution like fbdev, x11 and TV-out.
-.
-.TP
-.B \-screenw <pixels>
-Specify the screen width for video output drivers which
-do not know the screen resolution like fbdev, x11 and TV-out.
-.
-.TP
-.B \-stop\-xscreensaver (X11 only)
-Turns off xscreensaver at startup and turns it on again on exit.
-If your screensaver supports neither the XSS nor XResetScreenSaver
-API please use \-heartbeat\-cmd instead.
-.
-.TP
-.B \-title (also see \-use\-filename\-title)
-Set the window title.
-Supported by X11-based video output drivers.
-.
-.TP
-.B \-use\-filename\-title (also see \-title)
-Set the window title using the media filename, when not set with \-title.
-Supported by X11-based video output drivers.
-.
-.TP
-.B "\-vm \ \ \ "
-Try to change to a different video mode.
-Supported by the dga, x11, xv, sdl and directx video output drivers.
-If used with the directx video output driver the \-screenw,
-\-screenh, \-bpp and \-refreshrate options can be used to set
-the new display mode.
-.
-.TP
-.B "\-vsync \ \ "
-Enables VBI for the vesa, dfbmga and svga video output drivers.
-.
-.TP
-.B \-wid <window ID> (X11, OpenGL and DirectX only)
-This tells MPlayer to attach to an existing window.
-Useful to embed MPlayer in a browser (e.g.\& the plugger extension).
-This option fills the given window completely, thus aspect scaling,
-panscan, etc are no longer handled by MPlayer but must be managed by the
-application that created the window.
-.
-.TP
-.B \-xineramascreen <\-2\-...>
-In Xinerama configurations (i.e.\& a single desktop that spans across multiple
-displays) this option tells MPlayer which screen to display the movie on.
-A value of \-2 means fullscreen across the whole virtual display (in this case
-Xinerama information is completely ignored), \-1 means
-fullscreen on the display the window currently is on.
-The initial position set via the \-geometry option is relative to the
-specified screen.
-Will usually only work with "\-fstype \-fullscreen" or "\-fstype none".
-This option is not suitable to only set the startup screen (because
-it will always display on the given screen in fullscreen mode),
-\-geometry is the best that is available for that purpose
-currently.
-Supported by at least the direct3d, gl, gl2, x11, xv and corevideo video output
-drivers.
-.
-.
-.
-.SH "VIDEO OUTPUT DRIVERS"
-Video output drivers are interfaces to different video output facilities.
-The syntax is:
-.
-.TP
-.B \-vo <driver1[:suboption1[=value]:...],driver2,...[,]>
-Specify a priority list of video output drivers to be used.
-.PP
-If the list has a trailing ',' MPlayer will fall back on drivers not
-contained in the list.
-Suboptions are optional and can mostly be omitted.
-.br
-.I NOTE:
-See \-vo help for a list of compiled-in video output drivers.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Try the Matrox X11 driver, then the Xv driver, then others.
-.IPs "\-vo directx:noaccel"
-Uses the DirectX driver with acceleration features turned off.
-.RE
-.PD 1
-.sp 1
-Available video output drivers are:
-.
-.TP
-.B xv (X11 only)
-Uses the XVideo extension of XFree86 4.x to enable hardware
-accelerated playback.
-If you cannot use a hardware specific driver, this is probably
-the best option.
-For information about what colorkey is used and how it is drawn run MPlayer
-with \-v option and look out for the lines tagged with [xv common] at the
-beginning.
-.PD 0
-.RSs
-.IPs adaptor=<number>
-Select a specific XVideo adaptor (check xvinfo results).
-.IPs port=<number>
-Select a specific XVideo port.
-.IPs ck=<cur|use|set>
-Select the source from which the colorkey is taken (default: cur).
-.RSss
-.IPs cur
-The default takes the colorkey currently set in Xv.
-.IPs use
-Use but do not set the colorkey from MPlayer (use \-colorkey option to change
-it).
-.IPs set
-Same as use but also sets the supplied colorkey.
-.RE
-.IPs ck-method=<man|bg|auto>
-Sets the colorkey drawing method (default: man).
-.RSss
-.IPs man
-Draw the colorkey manually (reduces flicker in some cases).
-.IPs bg
-Set the colorkey as window background.
-.IPs auto
-Let Xv draw the colorkey.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (X11 only)
-Shared memory video output driver without hardware acceleration that
-works whenever X11 is present.
-.
-.TP
-.B xover (X11 only)
-Adds X11 support to all overlay based video output drivers.
-Currently only supported by tdfx_vid.
-.PD 0
-.RSs
-.IPs <vo_driver>
-Select the driver to use as source to overlay on top of X11.
-.RE
-.PD 1
-.
-.TP
-.B vdpau (X11 only)
-Uses the VDPAU interface to display and optionally also decode video.
-Hardware decoding is used with \-vc ffmpeg12vdpau, ffwmv3vdpau, ffvc1vdpau, ffh264vdpau or ffodivxvdpau.
-.PD 0
-.RSs
-.IPs sharpen=<\-1\-1>
-For positive values, apply a sharpening algorithm to the video,
-for negative values a blurring algorithm (default: 0).
-.IPs denoise=<0\-1>
-Apply a noise reduction algorithm to the video (default: 0, no noise reduction).
-.IPs deint=<-4\-4>
-Select deinterlacing mode (default: -3).
-Positive values choose mode and enable deinterlacing.
-Corresponding negative values select the same deinterlacing mode,
-but do not enable deinterlacing on startup (useful in configuration files
-to specify what mode will be enabled by the "D" key).
-All modes respect \-field\-dominance.
-.RSss
-.IPs 0
-same as -3
-.IPs 1
-Show only first field, similar to \-vf field.
-.IPs 2
-Bob deinterlacing, similar to \-vf tfields=1.
-.IPs 3
-motion adaptive temporal deinterlacing.
-May lead to A/V desync with slow video hardware and/or high resolution.
-.IPs 4
-motion adaptive temporal deinterlacing with edge-guided spatial interpolation.
-Needs fast video hardware.
-.RE
-.IPs chroma\-deint
-Makes temporal deinterlacers operate both on luma and chroma (default).
-Use nochroma\-deint to solely use luma and speed up advanced deinterlacing.
-Useful with slow video memory.
-.IPs pullup
-Try to apply inverse telecine, needs motion adaptive temporal deinterlacing.
-.IPs colorspace=<0-3>
-Select the color space for YUV to RGB conversion.
-In general BT.601 should be used for standard definition (SD) content and
-BT.709 for high definition (HD) content.
-Using incorrect color space results in slightly under or over saturated and
-shifted colors.
-.RSss
-.IPs 0
-Guess the color space based on video resolution.
-Video with width >= 1280 or height > 576 is assumed to be HD and BT.709 color
-space will be used.
-.IPs 1
-Use ITU-R BT.601 color space (default).
-.IPs 2
-Use ITU-R BT.709 color space.
-.IPs 3
-Use SMPTE-240M color space.
-.RE
-.IPs hqscaling=<0-9>
-.RSss
-.IPs 0
-Use default VDPAU scaling (default).
-.IPs 1\-9
-Apply high quality VDPAU scaling (needs capable hardware).
-.RE
-.IPs studio
-Output video in studio level RGB (16-235).
-This is what TVs and video monitors generally expect.
-By default PC level RGB (0-255) suitable for PC monitors is used.
-Providing studio level output to a device expecting PC level input results in
-grey blacks and dim whites, the reverse in crushed blacks and whites.
-.IPs fps=<number>
-Override autodetected display refresh rate value (the value is needed for framedrop to allow video playback rates higher than display refresh rate, and for vsync-aware frame timing adjustments).
-Default 0 means use autodetected value.
-A positive value is interpreted as a refresh rate in Hz and overrides the autodetected value.
-A negative value disables all timing adjustment and framedrop logic.
-.IPs queuetime_windowed=<number>
-.IPs queuetime_fs=<number>
-Use VDPAU's presentation queue functionality to queue future video frame
-changes at most this many milliseconds in advance (default: 50).
-See below for additional information.
-.IPs output_surfaces=<2-15>
-Allocate this many output surfaces to display video frames (default: 3).
-See below for additional information.
-.RE
-.RS
-.sp 1
-Using the VDPAU frame queueing functionality controlled by the queuetime
-options makes MPlayer's frame flip timing less sensitive to system CPU load
-and allows MPlayer to start decoding the next frame(s) slightly earlier
-which can reduce jitter caused by individual slow-to-decode frames.
-However the NVIDIA graphics drivers can make other window behavior such as
-window moves choppy if VDPAU is using the blit queue (mainly happens
-if you have the composite extension enabled) and this feature is active.
-If this happens on your system and it bothers you then you can set the
-queuetime value to 0 to disable this feature.
-The settings to use in windowed and fullscreen mode are separate because there
-should be less reason to disable this for fullscreen mode (as the driver issue
-shouldn't affect the video itself).
-.sp 1
-You can queue more frames ahead by increasing the queuetime values and the
-output_surfaces count (to ensure enough surfaces to buffer video for a
-certain time ahead you need at least as many surfaces as the video has
-frames during that time, plus two).
-This could help make video smoother in some cases.
-The main downsides are increased video RAM requirements for the surfaces
-and laggier display response to user commands (display changes only become
-visible some time after they're queued). The graphics driver implementation may
-also have limits on the length of maximum queuing time or number of queued
-surfaces that work well or at all.
-.RE
-.PD 1
-.
-.TP
-.B dga (X11 only)
-Play video through the XFree86 Direct Graphics Access extension.
-Considered obsolete.
-.
-.TP
-.B sdl (SDL only, buggy/outdated)
-Highly platform independent SDL (Simple Directmedia Layer) library
-video output driver.
-Since SDL uses its own X11 layer, MPlayer X11 options do not have
-any effect on SDL.
-Note that it has several minor bugs (\-vm/\-novm is mostly ignored,
-\-fs behaves like \-novm should, window is in top-left corner when
-returning from fullscreen, panscan is not supported, ...).
-.PD 0
-.RSs
-.IPs driver=<driver>
-Explicitly choose the SDL driver to use.
-.IPs (no)forcexv
-Use XVideo through the sdl video output driver (default: forcexv).
-.IPs (no)hwaccel
-Use hardware accelerated scaler (default: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B direct3d (Windows only) (BETA CODE!)
-Video output driver that uses the Direct3D interface (useful for Vista).
-.
-.TP
-.B directx (Windows only)
-Video output driver that uses the DirectX interface.
-.PD 0
-.RSs
-.IPs noaccel
-Turns off hardware acceleration.
-Try this option if you have display problems.
-.RE
-.PD 1
-.
-.TP
-.B kva (OS/2 only)
-Video output driver that uses the libkva interface.
-.PD 0
-.RSs
-.IPs snap
-Force SNAP mode.
-.IPs wo
-Force WarpOverlay! mode.
-.IPs dive
-Force DIVE mode.
-.IPs (no)t23
-Enable or disable workaround for T23 laptop (default: disabled).
-Try to enable this option if your video card supports upscaling only.
-.RE
-.PD 1
-.
-.TP
-.B quartz (Mac OS X only)
-Mac OS X Quartz video output driver.
-Under some circumstances, it might be more efficient to force a
-packed YUV output format, with e.g.\& \-vf format=yuy2.
-.PD 0
-.RSs
-.IPs device_id=<number>
-Choose the display device to use in fullscreen.
-.IPs fs_res=<width>:<height>
-Specify the fullscreen resolution (useful on slow systems).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 or 10.3.9 with QuickTime 7)
-Mac OS X CoreVideo video output driver
-.PD 0
-.RSs
-.IPs device_id=<number>
-Choose the display device to use for fullscreen or set it to \-1 to
-always use the same screen the video window is on (default: \-1 \- auto).
-.IPs shared_buffer
-Write output to a shared memory buffer instead of displaying it and
-try to open an existing NSConnection for communication with a GUI.
-.IPs buffer_name=<name>
-Name of the shared buffer created with shm_open as well as the name of
-the NSConnection MPlayer will try to open (default: "mplayerosx").
-Setting buffer_name implicitly enables shared_buffer.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (Linux only)
-Uses the kernel framebuffer to play video.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the fbdev device name to use (e.g.\& /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (Linux only)
-Uses the kernel framebuffer to play video,
-alternative implementation.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the fbdev device name to use (default: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Very general video output driver that should work on any VESA VBE 2.0
-compatible card.
-.PD 0
-.RSs
-.IPs (no)dga
-Turns DGA mode on or off (default: on).
-.IPs neotv_pal
-Activate the NeoMagic TV out and set it to PAL norm.
-.IPs neotv_ntsc
-Activate the NeoMagic TV out and set it to NTSC norm.
-.IPs "lvo:\ \ \ "
-Activate the Linux Video Overlay on top of VESA mode.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-Play video using the SVGA library.
-.PD 0
-.RSs
-.IPs "<video mode>"
-Specify video mode to use.
-The mode can be given in a <width>x<height>x<colors> format,
-e.g.\& 640x480x16M or be a graphics mode number, e.g.\& 84.
-.IPs bbosd
-Draw OSD into black bands below the movie (slower).
-.IPs native
-Use only native drawing functions.
-This avoids direct rendering, OSD and hardware acceleration.
-.IPs retrace
-Force frame switch on vertical retrace.
-Usable only with \-double.
-It has the same effect as the \-vsync option.
-.IPs "sq\ \ \ "
-Try to select a video mode with square pixels.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-OpenGL video output driver, simple version.
-Video size must be smaller than
-the maximum texture size of your OpenGL implementation.
-Intended to work even with the most basic OpenGL implementations,
-but also makes use of newer extensions, which allow support for more
-colorspaces and direct rendering.
-For optimal speed try adding the options
-.br
-\-dr \-noslices
-.br
-The code performs very few checks, so if a feature does not work, this
-might be because it is not supported by your card/OpenGL implementation
-even if you do not get any error message.
-Use glxinfo or a similar tool to display the supported OpenGL extensions.
-.PD 0
-.RSs
-.IPs (no)ati\-hack
-ATI drivers may give a corrupted image when PBOs are used (when using \-dr
-or force\-pbo).
-This option fixes this, at the expense of using a bit more memory.
-.IPs (no)force\-pbo
-Always uses PBOs to transfer textures even if this involves an extra copy.
-Currently this gives a little extra speed with NVidia drivers and a lot more
-speed with ATI drivers.
-May need \-noslices and the ati\-hack suboption to work correctly.
-.IPs (no)scaled-osd
-Changes the way the OSD behaves when the size of the
-window changes (default: disabled).
-When enabled behaves more like the other video output drivers,
-which is better for fixed-size fonts.
-Disabled looks much better with FreeType fonts and uses the
-borders in fullscreen mode.
-Does not work correctly with ass subtitles (see \-ass), you can instead
-render them without OpenGL support via \-vf ass.
-.IPs osdcolor=<0xAARRGGBB>
-Color for OSD (default: 0x00ffffff, corresponds to non-transparent white).
-.IPs rectangle=<0,1,2>
-Select usage of rectangular textures which saves video RAM, but often is
-slower (default: 0).
-.RSss
-0: Use power-of-two textures (default).
-.br
-1: Use the GL_ARB_texture_rectangle extension.
-.br
-2: Use the GL_ARB_texture_non_power_of_two extension.
-In some cases only supported in software and thus very slow.
-.RE
-.IPs swapinterval=<n>
-Minimum interval between two buffer swaps, counted in
-displayed frames (default: 1).
-1 is equivalent to enabling VSYNC, 0 to disabling VSYNC.
-Values below 0 will leave it at the system default.
-This limits the framerate to (horizontal refresh rate / n).
-Requires GLX_SGI_swap_control support to work.
-With some (most/all?) implementations this only works in fullscreen mode.
-.IPs ycbcr
-Use the GL_MESA_ycbcr_texture extension to convert YUV to RGB.
-In most cases this is probably slower than doing software conversion to RGB.
-.IPs yuv=<n>
-Select the type of YUV to RGB conversion.
-The default is auto-detection deciding between values 0 and 2.
-.RSss
-0: Use software conversion.
-Compatible with all OpenGL versions.
-Provides brightness, contrast and saturation control.
-.br
-1: Use register combiners.
-This uses an nVidia-specific extension (GL_NV_register_combiners).
-At least three texture units are needed.
-Provides saturation and hue control.
-This method is fast but inexact.
-.br
-2: Use a fragment program.
-Needs the GL_ARB_fragment_program extension and at least three texture units.
-Provides brightness, contrast, saturation and hue control.
-.br
-3: Use a fragment program using the POW instruction.
-Needs the GL_ARB_fragment_program extension and at least three texture units.
-Provides brightness, contrast, saturation, hue and gamma control.
-Gamma can also be set independently for red, green and blue.
-Method 4 is usually faster.
-.br
-4: Use a fragment program with additional lookup.
-Needs the GL_ARB_fragment_program extension and at least four texture units.
-Provides brightness, contrast, saturation, hue and gamma control.
-Gamma can also be set independently for red, green and blue.
-.br
-5: Use ATI-specific method (for older cards).
-This uses an ATI-specific extension (GL_ATI_fragment_shader \- not
-GL_ARB_fragment_shader!).
-At least three texture units are needed.
-Provides saturation and hue control.
-This method is fast but inexact.
-.br
-6: Use a 3D texture to do conversion via lookup.
-Needs the GL_ARB_fragment_program extension and at least four texture units.
-Extremely slow (software emulation) on some (all?) ATI cards since it uses
-a texture with border pixels.
-Provides brightness, contrast, saturation, hue and gamma control.
-Gamma can also be set independently for red, green and blue.
-Speed depends more on GPU memory bandwidth than other methods.
-.RE
-.IPs colorspace
-Select the color space for YUV to RGB conversion.
-.RSss
-.IPs 0
-Use the formula used normally by MPlayer (default).
-.IPs 1
-Use ITU-R BT.601 color space.
-.IPs 2
-Use ITU-R BT.709 color space.
-.IPs 3
-Use SMPTE-240M color space.
-.RE
-.IPs levelconv=<n>
-Select the brightness level conversion to use for the YUV to RGB conversion
-.RSss
-.IPs 0
-Convert TV to PC levels (default).
-.IPs 1
-Convert PC to TV levels.
-.IPs 2
-Do not do any conversion.
-.RE
-.IPs lscale=<n>
-Select the scaling function to use for luminance scaling.
-Only valid for yuv modes 2, 3, 4 and 6.
-.RSss
-.IPs 0
-Use simple linear filtering (default).
-.IPs 1
-Use bicubic B-spline filtering (better quality).
-Needs one additional texture unit.
-Older cards will not be able to handle this for chroma at least in fullscreen mode.
-.IPs 2
-Use cubic filtering in horizontal, linear filtering in vertical direction.
-Works on a few more cards than method 1.
-.IPs 3
-Same as 1 but does not use a lookup texture.
-Might be faster on some cards.
-.IPs 4
-Use experimental unsharp masking with 3x3 support and a default strength of 0.5 (see filter-strength).
-.IPs 5
-Use experimental unsharp masking with 5x5 support and a default strength of 0.5 (see filter-strength).
-.RE
-.IPs cscale=<n>
-Select the scaling function to use for chrominance scaling.
-For details see lscale.
-.IPs filter-strength=<value>
-Set the effect strength for the lscale/cscale filters that support it.
-.IPs stereo=<value>
-Select a method for stereo display.
-You may have to use \-aspect to fix the aspect value.
-Experimental, do not expect too much from it.
-.RSss
-.IPs 0
-normal 2D display
-.IPs 1
-Convert side by side input to full-color red-cyan stereo.
-.IPs 2
-Convert side by side input to full-color green-magenta stereo.
-.IPs 3
-Convert side by side input to quadbuffered stereo.
-Only supported by very few OpenGL cards.
-.RE
-.RE
-.sp 1
-.RS
-The following options are only useful if writing your own fragment programs.
-.RE
-.sp 1
-.RSs
-.IPs customprog=<filename>
-Load a custom fragment program from <filename>.
-See TOOLS/edgedect.fp for an example.
-.IPs customtex=<filename>
-Load a custom "gamma ramp" texture from <filename>.
-This can be used in combination with yuv=4 or with the customprog option.
-.IPs (no)customtlin
-If enabled (default) use GL_LINEAR interpolation, otherwise use GL_NEAREST
-for customtex texture.
-.IPs (no)customtrect
-If enabled, use texture_rectangle for customtex texture.
-Default is disabled.
-.IPs (no)mipmapgen
-If enabled, mipmaps for the video are automatically generated.
-This should be useful together with the customprog and the TXB
-instruction to implement blur filters with a large radius.
-For most OpenGL implementations this is very slow for any non-RGB
-formats.
-Default is disabled.
-.RE
-.sp 1
-.RS
-Normally there is no reason to use the following options, they mostly
-exist for testing purposes.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-Call glFinish() before swapping buffers.
-Slower but in some cases more correct output (default: disabled).
-.IPs (no)manyfmts
-Enables support for more (RGB and BGR) color formats (default: enabled).
-Needs OpenGL version >= 1.2.
-.IPs slice-height=<0\-...>
-Number of lines copied to texture in one piece (default: 0).
-0 for whole image.
-.br
-.I NOTE:
-If YUV colorspace is used (see yuv suboption), special rules apply:
-.RSss
-If the decoder uses slice rendering (see \-noslices), this setting
-has no effect, the size of the slices as provided by the decoder is used.
-.br
-If the decoder does not use slice rendering, the default is 16.
-.RE
-.IPs (no)osd
-Enable or disable support for OSD rendering via OpenGL (default: enabled).
-This option is for testing; to disable the OSD use \-osdlevel 0 instead.
-.IPs (no)aspect
-Enable or disable aspect scaling and pan-and-scan support (default: enabled).
-Disabling might increase speed.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Variant of the OpenGL video output driver.
-Supports videos larger than the maximum texture size but lacks many of the
-advanced features and optimizations of the gl driver and is unlikely to be
-extended further.
-.PD 0
-.RSs
-.IPs (no)glfinish
-same as gl (default: enabled)
-.IPs yuv=<n>
-Select the type of YUV to RGB conversion.
-If set to anything except 0 OSD will be disabled and brightness, contrast and
-gamma setting is only available via the global X server settings.
-Apart from this the values have the same meaning as for \-vo gl.
-.REss
-.
-.TP
-.B matrixview
-OpenGL-based renderer creating a Matrix-like running-text effect.
-.PD 0
-.RSs
-.IPs cols=<n>
-Number of text columns to display.
-Very low values (< 16) will probably fail due to scaler limitations.
-Values not divisible by 16 may cause issues as well.
-.IPs rows=<n>
-Number of text rows to display.
-Very low values (< 16) will probably fail due to scaler limitations.
-Values not divisible by 16 may cause issues as well.
-.REss
-.
-.TP
-.B "null\ \ \ "
-Produces no video output.
-Useful for benchmarking.
-.
-.TP
-.B "aa\ \ \ \ \ "
-ASCII art video output driver that works on a text console.
-You can get a list and an explanation of available suboptions
-by executing 'mplayer \-vo aa:help'.
-.br
-.I NOTE:
-The driver does not handle \-aspect correctly.
-.br
-.I HINT:
-You probably have to specify \-monitorpixelaspect.
-Try 'mplayer \-vo aa \-monitorpixelaspect 0.5'.
-.
-.TP
-.B "caca\ \ \ "
-Color ASCII art video output driver that works on a text console.
-.
-.TP
-.B "bl\ \ \ \ \ "
-Video playback using the Blinkenlights UDP protocol.
-This driver is highly hardware specific.
-.PD 0
-.RSs
-.IPs <subdevice>
-Explicitly choose the Blinkenlights subdevice driver to use.
-It is something like arcade:host=localhost:2323 or
-hdl:file=name1,file=name2.
-You must specify a subdevice.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-GGI graphics system video output driver
-.PD 0
-.RSs
-.IPs <driver>
-Explicitly choose the GGI driver to use.
-Replace any ',' that would appear in the driver string by a '.'.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-Play video using the DirectFB library.
-.PD 0
-.RSs
-.IPs (no)input
-Use the DirectFB instead of the MPlayer keyboard code (default: enabled).
-.IPs buffermode=single|double|triple
-Double and triple buffering give best results if you want to avoid tearing issues.
-Triple buffering is more efficient than double buffering as it does
-not block MPlayer while waiting for the vertical retrace.
-Single buffering should be avoided (default: single).
-.IPs fieldparity=top|bottom
-Control the output order for interlaced frames (default: disabled).
-Valid values are top = top fields first, bottom = bottom fields first.
-This option does not have any effect on progressive film material
-like most MPEG movies are.
-You need to enable this option if you have tearing issues or unsmooth
-motions watching interlaced film material.
-.IPs layer=N
-Will force layer with ID N for playback (default: \-1 \- auto).
-.IPs dfbopts=<list>
-Specify a parameter list for DirectFB.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Matrox G400/\:G450/\:G550 specific video output driver that uses the
-DirectFB library to make use of special hardware features.
-Enables CRTC2 (second head), displaying video independently of the first head.
-.PD 0
-.RSs
-.IPs (no)input
-same as directfb (default: disabled)
-.IPs buffermode=single|double|triple
-same as directfb (default: triple)
-.IPs fieldparity=top|bottom
-same as directfb
-.IPs (no)bes
-Enable the use of the Matrox BES (backend scaler) (default: disabled).
-Gives very good results concerning speed and output quality as interpolated
-picture processing is done in hardware.
-Works only on the primary head.
-.IPs (no)spic
-Make use of the Matrox sub picture layer to display the OSD (default: enabled).
-.IPs (no)crtc2
-Turn on TV-out on the second head (default: enabled).
-The output quality is amazing as it is a full interlaced picture
-with proper sync to every odd/\:even field.
-.IPs tvnorm=pal|ntsc|auto
-Will set the TV norm of the Matrox card without the need
-for modifying /etc/\:directfbrc (default: disabled).
-Valid norms are pal = PAL, ntsc = NTSC.
-Special norm is auto (auto-adjust using PAL/\:NTSC) because it decides
-which norm to use by looking at the framerate of the movie.
-.RE
-.PD 1
-.
-.TP
-.B mga (Linux only)
-Matrox specific video output driver that makes use of the YUV back
-end scaler on Gxxx cards through a kernel module.
-If you have a Matrox card, this is the fastest option.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the Matrox device name to use (default: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (Linux, X11 only)
-The mga video output driver, running in an X11 window.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the Matrox device name to use (default: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (Linux only) (also see \-dr)
-S3 Virge specific video output driver.
-This driver supports the card's YUV conversion and scaling, double
-buffering and direct rendering features.
-Use \-vf format=yuy2 to get hardware-accelerated YUY2 rendering, which is
-much faster than YV12 on this card.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the fbdev device name to use (default: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B wii (Linux only)
-Nintendo Wii/GameCube specific video output driver.
-.
-.TP
-.B 3dfx (Linux only)
-3dfx-specific video output driver that directly uses
-the hardware on top of X11.
-Only 16 bpp are supported.
-.
-.TP
-.B tdfxfb (Linux only)
-This driver employs the tdfxfb framebuffer driver to play movies with
-YUV acceleration on 3dfx cards.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the fbdev device name to use (default: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (Linux only)
-3dfx-specific video output driver that works in combination with
-the tdfx_vid kernel module.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the device name to use (default: /dev/\:tdfx_vid).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (DXR3 only)
-Sigma Designs em8300 MPEG decoder chip (Creative DXR3, Sigma Designs
-Hollywood Plus) specific video output driver.
-Also see the lavc video filter.
-.PD 0
-.RSs
-.IPs overlay
-Activates the overlay instead of TV-out.
-.IPs prebuf
-Turns on prebuffering.
-.IPs "sync\ "
-Will turn on the new sync-engine.
-.IPs norm=<norm>
-Specifies the TV norm.
-.RSss
-0: Does not change current norm (default).
-.br
-1: Auto-adjust using PAL/\:NTSC.
-.br
-2: Auto-adjust using PAL/\:PAL-60.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.RE
-.IPs <0\-3>
-Specifies the device number to use if you have more than one em8300 card.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (IVTV only)
-Conexant CX23415 (iCompression iTVC15) or Conexant CX23416 (iCompression
-iTVC16) MPEG decoder chip (Hauppauge WinTV PVR-150/250/350/500)
-specific video output driver for TV-out.
-Also see the lavc video filter.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the MPEG decoder device name to use (default: /dev/video16).
-.IPs <output>
-Explicitly choose the TV-out output to be used for the video signal.
-.RE
-.PD 1
-.
-.TP
-.B v4l2 (requires Linux 2.6.22+ kernel)
-Video output driver for V4L2 compliant cards with built-in hardware MPEG decoder.
-Also see the lavc video filter.
-.PD 0
-.RSs
-.IPs <device>
-Explicitly choose the MPEG decoder device name to use (default: /dev/video16).
-.IPs <output>
-Explicitly choose the TV-out output to be used for the video signal.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (DVB only)
-Video output driver for DVB cards that writes the output to an MPEG-PES file
-if no DVB card is installed.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Specifies the device number to use if you have more than one DVB output card
-(V3 API only, such as 1.x.y series drivers).
-If not specified MPlayer will search the first usable card.
-.IPs <filename>
-output filename (default: ./grab.mpg)
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-Calculate MD5 sums of each frame and write them to a file.
-Supports RGB24 and YV12 colorspaces.
-Useful for debugging.
-.PD 0
-.RSs
-.IPs outfile=<value>
-Specify the output filename (default: ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-Transforms the video stream into a sequence of uncompressed YUV 4:2:0
-images and stores it in a file (default: ./stream.yuv).
-The format is the same as the one employed by mjpegtools, so this is
-useful if you want to process the video with the mjpegtools suite.
-It supports the YV12 format.
-If your source file has a different format and is interlaced, make sure
-to use -vf scale=::1 to ensure the conversion uses interlaced mode.
-You can combine it with the \-fixed\-vo option to concatenate files
-with the same dimensions and fps value.
-.PD 0
-.RSs
-.IPs interlaced
-Write the output as interlaced frames, top field first.
-.IPs interlaced_bf
-Write the output as interlaced frames, bottom field first.
-.IPs file=<filename>
-Write the output to <filename> instead of the default stream.yuv.
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTE:
-If you do not specify any option the output is progressive
-(i.e.\& not interlaced).
-.RE
-.
-.TP
-.B "gif89a\ "
-Output each frame into a single animated GIF file in the current directory.
-It supports only RGB format with 24 bpp and the output is converted to 256
-colors.
-.PD 0
-.RSs
-.IPs <fps>
-Float value to specify framerate (default: 5.0).
-.IPs <output>
-Specify the output filename (default: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTE:
-You must specify the framerate before the filename or the framerate will
-be part of the filename.
-.sp 1
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-Output each frame into a JPEG file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
-.PD 0
-.RSs
-.IPs [no]progressive
-Specify standard or progressive JPEG (default: noprogressive).
-.IPs [no]baseline
-Specify use of baseline or not (default: baseline).
-.IPs optimize=<0\-100>
-optimization factor (default: 100)
-.IPs smooth=<0\-100>
-smooth factor (default: 0)
-.IPs quality=<0\-100>
-quality factor (default: 75)
-.IPs outdir=<dirname>
-Specify the directory to save the JPEG files to (default: ./).
-.IPs subdirs=<prefix>
-Create numbered subdirectories with the specified prefix to
-save the files in instead of the current directory.
-.IPs "maxfiles=<value> (subdirs only)"
-Maximum number of files to be saved per subdirectory.
-Must be equal to or larger than 1 (default: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Output each frame into a PNM file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
-It supports PPM, PGM and PGMYUV files in both raw and ASCII mode.
-Also see pnm(5), ppm(5) and pgm(5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-Write PPM files (default).
-.IPs "pgm\ \ "
-Write PGM files.
-.IPs pgmyuv
-Write PGMYUV files.
-PGMYUV is like PGM, but it also contains the U and V plane, appended at the
-bottom of the picture.
-.IPs "raw\ \ "
-Write PNM files in raw mode (default).
-.IPs ascii
-Write PNM files in ASCII mode.
-.IPs outdir=<dirname>
-Specify the directory to save the PNM files to (default: ./).
-.IPs subdirs=<prefix>
-Create numbered subdirectories with the specified prefix to
-save the files in instead of the current directory.
-.IPs "maxfiles=<value> (subdirs only)"
-Maximum number of files to be saved per subdirectory.
-Must be equal to or larger than 1 (default: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Output each frame into a PNG file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
-24bpp RGB and BGR formats are supported.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Specifies the compression level.
-0 is no compression, 9 is maximum compression.
-.IPs alpha (default: noalpha)
-Create PNG files with an alpha channel.
-Note that MPlayer in general does not support alpha, so this will only
-be useful in some rare cases.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-Output each frame into a Targa file in the current directory.
-Each file takes the frame number padded with leading zeros as name.
-The purpose of this video output driver is to have a simple lossless
-image writer to use without any external library.
-It supports the BGR[A] color format, with 15, 24 and 32 bpp.
-You can force a particular format with the format video filter.
-.sp 1
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "DECODING/FILTERING OPTIONS"
-.
-.TP
-.B \-ac <[\-|+]codec1,[\-|+]codec2,...[,]>
-Specify a priority list of audio codecs to be used, according to their codec
-name in codecs.conf.
-Use a '\-' before the codec name to omit it.
-Use a '+' before the codec name to force it, this will likely crash!
-If the list has a trailing ',' MPlayer will fall back on codecs not
-contained in the list.
-.br
-.I NOTE:
-See \-ac help for a full list of available codecs.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-Force the l3codeca.acm MP3 codec.
-.IPs "\-ac mad,"
-Try libmad first, then fall back on others.
-.IPs "\-ac hwac3,a52,"
-Try hardware AC-3 passthrough, software AC-3, then others.
-.IPs "\-ac hwdts,"
-Try hardware DTS passthrough, then fall back on others.
-.IPs "\-ac \-ffmp3,"
-Skip FFmpeg's MP3 decoder.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(filters)> (also see \-af)
-Specify advanced audio filter options:
-.RSs
-.IPs force=<0\-7>
-Forces the insertion of audio filters to one of the following:
-.RSss
-0: Use completely automatic filter insertion (currently identical to 1).
-.br
-1: Optimize for accuracy (default).
-.br
-2: Optimize for speed.
-.I Warning:
-Some features in the audio filters may silently fail,
-and the sound quality may drop.
-.br
-3: Use no automatic insertion of filters and no optimization.
-.I Warning:
-It may be possible to crash MPlayer using this setting.
-.br
-4: Use automatic insertion of filters according to 0 above,
-but use floating point processing when possible.
-.br
-5: Use automatic insertion of filters according to 1 above,
-but use floating point processing when possible.
-.br
-6: Use automatic insertion of filters according to 2 above,
-but use floating point processing when possible.
-.br
-7: Use no automatic insertion of filters according to 3 above,
-and use floating point processing when possible.
-.REss
-.IPs list=<filters>
-Same as \-af.
-.RE
-.
-.TP
-.B \-afm <driver1,driver2,...>
-Specify a priority list of audio codec families to be used, according
-to their codec name in codecs.conf.
-Falls back on the default codecs if none of the given codec families work.
-.br
-.I NOTE:
-See \-afm help for a full list of available codec families.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-Try FFmpeg's libavcodec codecs first.
-.IPs "\-afm acm,dshow"
-Try Win32 codecs first.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <ratio> (also see \-zoom)
-Override movie aspect ratio, in case aspect information is
-incorrect or missing in the file being played.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-\-aspect 4:3 or \-aspect 1.3333
-.br
-\-aspect 16:9 or \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Disable automatic movie aspect ratio compensation.
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-Set first field for interlaced content.
-Useful for deinterlacers that double the framerate: \-vf tfields=1,
-\-vf yadif=1 and \-vo vdpau:deint.
-.PD 0
-.RSs
-.IPs \-1
-auto (default): If the decoder does not export the appropriate information,
-it falls back to 0 (top field first).
-.IPs 0
-top field first
-.IPs 1
-bottom field first
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-Flip image upside-down.
-.
-.TP
-.B \-lavdopts <option1:option2:...> (DEBUG CODE)
-Specify libavcodec decoding parameters.
-Separate multiple options with a colon.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-Available options are:
-.RE
-.RSs
-.IPs bitexact
-Only use bit-exact algorithms in all decoding steps (for codec testing).
-.IPs bug=<value>
-Manually work around encoder bugs.
-.RSss
-0: nothing
-.br
-1: autodetect bugs (default)
-.br
-2 (msmpeg4v3): some old lavc generated msmpeg4v3 files (no autodetection)
-.br
-4 (mpeg4): Xvid interlacing bug (autodetected if fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (autodetected if fourcc==UMP4)
-.br
-16 (mpeg4): padding bug (autodetected)
-.br
-32 (mpeg4): illegal vlc bug (autodetected per fourcc)
-.br
-64 (mpeg4): Xvid and DivX qpel bug (autodetected per fourcc/\:version)
-.br
-128 (mpeg4): old standard qpel (autodetected per fourcc/\:version)
-.br
-256 (mpeg4): another qpel bug (autodetected per fourcc/\:version)
-.br
-512 (mpeg4): direct-qpel-blocksize bug (autodetected per fourcc/\:version)
-.br
-1024 (mpeg4): edge padding bug (autodetected per fourcc/\:version)
-.REss
-.IPs debug=<value>
-Display debugging information.
-.RSss
-.br
-0: disabled
-.br
-1: picture info
-.br
-2: rate control
-.br
-4: bitstream
-.br
-8: macroblock (MB) type
-.br
-16: per-block quantization parameter (QP)
-.br
-32: motion vector
-.br
-0x0040: motion vector visualization (use \-noslices)
-.br
-0x0080: macroblock (MB) skip
-.br
-0x0100: startcode
-.br
-0x0200: PTS
-.br
-0x0400: error resilience
-.br
-0x0800: memory management control operations (H.264)
-.br
-0x1000: bugs
-.br
-0x2000: Visualize quantization parameter (QP), lower QP are tinted greener.
-.br
-0x4000: Visualize block types.
-.REss
-.IPs ec=<value>
-Set error concealment strategy.
-.RSss
-1: Use strong deblock filter for damaged MBs.
-.br
-2: iterative motion vector (MV) search (slow)
-.br
-3: all (default)
-.REss
-.IPs er=<value>
-Set error resilience strategy.
-.RSss
-.br
-0: disabled
-.br
-1: careful (Should work with broken encoders.)
-.br
-2: normal (default) (Works with compliant encoders.)
-.br
-3: aggressive (More checks, but might cause problems even for valid bitstreams.)
-.br
-4: very aggressive
-.REss
-.IPs "fast (MPEG-2, MPEG-4, and H.264 only)"
-Enable optimizations which do not comply to the specification and might
-potentially cause problems, like simpler dequantization, simpler motion
-compensation, assuming use of the default quantization matrix, assuming
-YUV 4:2:0 and skipping a few checks to detect damaged bitstreams.
-.IPs "gray\ "
-grayscale only decoding (a bit faster than with color)
-.IPs "idct=<0\-99> (see \-lavcopts)"
-For best decoding quality use the same IDCT algorithm for decoding and encoding.
-This may come at a price in accuracy, though.
-.IPs lowres=<number>[,<w>]
-Decode at lower resolutions.
-Low resolution decoding is not supported by all codecs, and it will
-often result in ugly artifacts.
-This is not a bug, but a side effect of not decoding at full resolution.
-.RSss
-.br
-0: disabled
-.br
-1: 1/2 resolution
-.br
-2: 1/4 resolution
-.br
-3: 1/8 resolution
-.REss
-.RS
-If <w> is specified lowres decoding will be used only if the width of the
-video is major than or equal to <w>.
-.RE
-.B o=<key>=<value>[,<key>=<value>[,...]]
-Pass AVOptions to libavcodec decoder.
-Note, a patch to make the o= unneeded and pass all unknown options through
-the AVOption system is welcome.
-A full list of AVOptions can be found in the FFmpeg manual.
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.PD 0
-.IPs o=debug=pict
-.PD 1
-.RE
-.IPs "sb=<number> (MPEG-2 only)"
-Skip the given number of macroblock rows at the bottom.
-.IPs "st=<number> (MPEG-2 only)"
-Skip the given number of macroblock rows at the top.
-.IPs "skiploopfilter=<skipvalue> (H.264 only)"
-Skips the loop filter (AKA deblocking) during H.264 decoding.
-Since the filtered frame is supposed to be used as reference
-for decoding dependent frames this has a worse effect on quality
-than not doing deblocking on e.g.\& MPEG-2 video.
-But at least for high bitrate HDTV this provides a big speedup with
-no visible quality loss.
-.sp 1
-<skipvalue> can be either one of the following:
-.RSss
-.br
-none: Never skip.
-.br
-default: Skip useless processing steps (e.g.\& 0 size packets in AVI).
-.br
-nonref: Skip frames that are not referenced (i.e.\& not used for
-decoding other frames, the error cannot "build up").
-.br
-bidir: Skip B-Frames.
-.br
-nonkey: Skip all frames except keyframes.
-.br
-all: Skip all frames.
-.REss
-.IPs "skipidct=<skipvalue> (MPEG-1/2 only)"
-Skips the IDCT step.
-This degrades quality a lot of in almost all cases
-(see skiploopfilter for available skip values).
-.IPs skipframe=<skipvalue>
-Skips decoding of frames completely.
-Big speedup, but jerky motion and sometimes bad artifacts
-(see skiploopfilter for available skip values).
-.IPs "threads=<0\-16>"
-Number of threads to use for decoding.
-Whether threading is actually supported depends on codec.
-0 means autodetect number of cores on the machine and use that, up to the
-maximum of 16.
-(default: 0)
-.IPs vismv=<value>
-Visualize motion vectors.
-.RSss
-.br
-0: disabled
-.br
-1: Visualize forward predicted MVs of P-frames.
-.br
-2: Visualize forward predicted MVs of B-frames.
-.br
-4: Visualize backward predicted MVs of B-frames.
-.REss
-.IPs vstats
-Prints some statistics and stores them in ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-Disable drawing video by 16-pixel height slices/\:bands, instead draws the
-whole frame in a single run.
-May be faster or slower, depending on video card and available cache.
-It has effect only with libmpeg2 and libavcodec codecs.
-.
-.TP
-.B \-nosound
-Do not play sound.
-Useful for benchmarking.
-.
-.TP
-.B \-novideo
-Do not play video.
-With some demuxers this may not work. In those cases you can try \-vc null \-vo null instead; but "\-vc null" is always unreliable.
-.
-.TP
-.B \-pp <quality> (also see \-vf pp)
-Set the DLL postprocess level.
-This option is no longer usable with \-vf pp.
-It only works with Win32 DirectShow DLLs with internal postprocessing routines.
-The valid range of \-pp values varies by codec, it is mostly
-0\-6, where 0=disable, 6=slowest/\:best.
-.
-.TP
-.B \-pphelp (also see \-vf pp)
-Show a summary about the available postprocess filters and their usage.
-.
-.TP
-.B \-ssf <mode>
-Specifies software scaler parameters.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-gaussian blur filter (luma)
-.IPs cgb=<0\-100>
-gaussian blur filter (chroma)
-.IPs ls=<\-100\-100>
-sharpen filter (luma)
-.IPs cs=<\-100\-100>
-sharpen filter (chroma)
-.IPs chs=<h>
-chroma horizontal shifting
-.IPs cvs=<v>
-chroma vertical shifting
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <mode>
-Select type of MP2/\:MP3 stereo output.
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-left channel
-.IPs 2
-right channel
-.RE
-.PD 1
-.
-.TP
-.B \-sws <software scaler type> (also see \-vf scale and \-zoom)
-Specify the software scaler algorithm to be used with the \-zoom option.
-This affects video output drivers which lack hardware acceleration, e.g.\& x11.
-.sp 1
-Available types are:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-fast bilinear
-.IPs 1
-bilinear
-.IPs 2
-bicubic (good quality) (default)
-.IPs 3
-experimental
-.IPs 4
-nearest neighbor (bad quality)
-.IPs 5
-area
-.IPs 6
-luma bicubic / chroma bilinear
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-natural bicubic spline
-.RE
-.PD 1
-.sp 1
-.RS
-.I NOTE:
-Some \-sws options are tunable.
-The description of the scale video filter has further information.
-.RE
-.
-.TP
-.B \-vc <[\-|+]codec1,[\-|+]codec2,...[,]>
-Specify a priority list of video codecs to be used, according to their codec
-name in codecs.conf.
-Use a '\-' before the codec name to omit it.
-Use a '+' before the codec name to force it, this will likely crash!
-If the list has a trailing ',' MPlayer will fall back on codecs not
-contained in the list.
-.br
-.I NOTE:
-See \-vc help for a full list of available codecs.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Force Win32/\:VfW DivX codec, no fallback.
-.IPs "\-vc \-divxds,\-divx,"
-Skip Win32 DivX codecs.
-.IPs "\-vc ffmpeg12,mpeg12,"
-Try libavcodec's MPEG-1/2 codec, then libmpeg2, then others.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <driver1,driver2,...>
-Specify a priority list of video codec families to be used, according
-to their names in codecs.conf.
-Falls back on the default codecs if none of the given codec families work.
-.br
-.I NOTE:
-See \-vfm help for a full list of available codec families.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Try the libavcodec, then Directshow, then VfW codecs and fall back
-on others, if they do not work.
-.IPs "\-vfm xanim"
-Try XAnim codecs first.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (also see \-zoom)
-Scale image to width <x> (if software/\:hardware scaling is available).
-Disables aspect calculations.
-.
-.TP
-.B \-xvidopts <option1:option2:...>
-Specify additional parameters when decoding with Xvid.
-.br
-.I NOTE:
-Since libavcodec is faster than Xvid you might want to use the libavcodec
-postprocessing filter (\-vf pp) and decoder (\-vfm ffmpeg) instead.
-.sp 1
-Xvid's internal postprocessing filters:
-.PD 0
-.RSs
-.IPs "deblock-chroma (also see \-vf pp)"
-chroma deblock filter
-.IPs "deblock-luma (also see \-vf pp)"
-luma deblock filter
-.IPs "dering-luma (also see \-vf pp)"
-luma deringing filter
-.IPs "dering-chroma (also see \-vf pp)"
-chroma deringing filter
-.IPs "filmeffect (also see \-vf noise)"
-Adds artificial film grain to the video.
-May increase perceived quality, while lowering true quality.
-.RE
-.sp 1
-.RS
-rendering methods:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-Activate direct rendering method 2.
-.IPs nodr2
-Deactivate direct rendering method 2.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <value> (also see \-zoom)
-.PD 0
-.RSs
-.IPs value<=8
-Scale image by factor <value>.
-.IPs value>8
-Set width to value and calculate height to keep correct aspect ratio.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (also see \-zoom)
-Scale image to height <y> (if software/\:hardware scaling is available).
-Disables aspect calculations.
-.
-.TP
-.B "\-zoom\ \ "
-Allow software scaling, where available.
-This will allow scaling with output drivers (like x11, fbdev) that
-do not support hardware scaling where MPlayer disables scaling by
-default for performance reasons.
-.
-.
-.
-.SH "AUDIO FILTERS"
-Audio filters allow you to modify the audio stream and its properties.
-The syntax is:
-.
-.TP
-.B \-af <filter1[=parameter1:parameter2:...],filter2,...>
-Setup a chain of audio filters.
-.PP
-.I NOTE:
-To get a full list of available audio filters, see \-af help.
-.sp 1
-Audio filters are managed in lists.
-There are a few commands to manage the filter list.
-.
-.TP
-.B \-af\-add <filter1[,filter2,...]>
-Appends the filters given as arguments to the filter list.
-.
-.TP
-.B \-af\-pre <filter1[,filter2,...]>
-Prepends the filters given as arguments to the filter list.
-.
-.TP
-.B \-af\-del <index1[,index2,...]>
-Deletes the filters at the given indexes.
-Index numbers start at 0, negative numbers address the end of the
-list (\-1 is the last).
-.
-.TP
-.B \-af\-clr
-Completely empties the filter list.
-.PP
-Available filters are:
-.
-.TP
-.B resample[=srate[:sloppy[:type]]]
-Changes the sample rate of the audio stream.
-Can be used if you have a fixed frequency sound card or if you are
-stuck with an old sound card that is only capable of max 44.1kHz.
-This filter is automatically enabled if necessary.
-It only supports 16-bit integer and float in native-endian format as input.
-.PD 0
-.RSs
-.IPs <srate>
-output sample frequency in Hz.
-The valid range for this parameter is 8000 to 192000.
-If the input and output sample frequency are the same or if this
-parameter is omitted the filter is automatically unloaded.
-A high sample frequency normally improves the audio quality,
-especially when used in combination with other filters.
-.IPs <sloppy>
-Allow (1) or disallow (0) the output frequency to differ slightly
-from the frequency given by <srate> (default: 1).
-Can be used if the startup of the playback is extremely slow.
-.IPs <type>
-Select which resampling method to use.
-.RSss
-0: linear interpolation (fast, poor quality especially when upsampling)
-.br
-1: polyphase filterbank and integer processing
-.br
-2: polyphase filterbank and floating point processing (slow, best quality)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-would set the output frequency of the resample filter to 44100Hz using
-exact output frequency scaling and linear interpolation.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=srate[:length[:linear[:count[:cutoff]]]]]
-Changes the sample rate of the audio stream to an integer <srate> in Hz.
-It only supports the 16-bit native-endian format.
-.PD 0
-.RSs
-.IPs <srate>
-the output sample rate
-.IPs <length>
-length of the filter with respect to the lower sampling rate (default: 16)
-.IPs <linear>
-if 1 then filters will be linearly interpolated between polyphase entries
-.IPs <count>
-log2 of the number of polyphase entries
-(..., 10->1024, 11->2048, 12->4096, ...)
-(default: 10->1024)
-.IPs <cutoff>
-cutoff frequency (0.0\-1.0), default set depending upon filter length
-.RE
-.PD 1
-.
-.TP
-.B lavcac3enc[=tospdif[:bitrate[:minchn]]]
-Encode multi-channel audio to AC-3 at runtime using libavcodec.
-Supports 16-bit native-endian input format, maximum 6 channels.
-The output is big-endian when outputting a raw AC-3 stream,
-native-endian when outputting to S/PDIF.
-The output sample rate of this filter is same with the input sample rate.
-When input sample rate is 48kHz, 44.1kHz, or 32kHz, this filter directly use it.
-Otherwise a resampling filter is auto-inserted before this filter to make
-the input and output sample rate be 48kHz.
-You need to specify '\-channels N' to make the decoder decode audio into
-N-channel, then the filter can encode the N-channel input to AC-3.
-.br
-.PD 0
-.RSs
-.IPs <tospdif>
-Output raw AC-3 stream if zero or not set,
-output to S/PDIF for passthrough when <tospdif> is set non-zero.
-.IPs <bitrate>
-The bitrate to encode the AC-3 stream.
-Set it to either 384 or 384000 to get 384kbits.
-Valid values: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256,
- 320, 384, 448, 512, 576, 640
-Default bitrate is based on the input channel number:
-1ch: 96, 2ch: 192, 3ch: 224, 4ch: 384, 5ch: 448, 6ch: 448
-.IPs <minchn>
-If the input channel number is less than <minchn>, the filter will
-detach itself (default: 5).
-.RE
-.PD 1
-.
-.TP
-.B sweep[=speed]
-Produces a sine sweep.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-Sine function delta, use very low values to hear the sweep.
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=freq:decay]
-Remove a sine at the specified frequency.
-Useful to get rid of the 50/60Hz noise on low quality audio equipment.
-It probably only works on mono input.
-.PD 0
-.RSs
-.IPs <freq>
-The frequency of the sine which should be removed (in Hz) (default: 50)
-.IPs <decay>
-Controls the adaptivity (a larger value will make the filter adapt to
-amplitude and phase changes quicker, a smaller value will make the
-adaptation slower) (default: 0.0001).
-Reasonable values are around 0.001.
-.RE
-.PD 1
-.
-.TP
-.B bs2b[=option1:option2:...]
-Bauer stereophonic to binaural transformation using libbs2b.
-Improves the headphone listening experience by making the sound
-similar to that from loudspeakers, allowing each ear to hear both
-channels and taking into account the distance difference and the
-head shadowing effect.
-It is applicable only to 2 channel audio.
-.PD 0
-.RSs
-.IPs fcut=<300\-1000>
-Set cut frequency in Hz.
-.IPs feed=<10\-150>
-Set feed level for low frequencies in 0.1*dB.
-.IPs profile=<value>
-Several profiles are available for convenience:
-.PD 0
-.RSs
-.IPs default
-will be used if nothing else was specified (fcut=700, feed=45)
-.IPs "cmoy\ "
-Chu Moy circuit implementation (fcut=700, feed=60)
-.IPs jmeier
-Jan Meier circuit implementation (fcut=650, feed=95)
-.RE
-.RE
-.sp 1
-.RS
-If fcut or feed options are specified together with a profile, they
-will be applied on top of the selected profile.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=flag]
-Head-related transfer function: Converts multichannel audio to
-2 channel output for headphones, preserving the spatiality of the sound.
-.sp 1
-.PD 0
-.RS
-.IPs "Flag Meaning"
-.IPs "m matrix decoding of the rear channel"
-.IPs "s 2-channel matrix decoding"
-.IPs "0 no matrix decoding (default)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-10 octave band graphic equalizer, implemented using 10 IIR band pass filters.
-This means that it works regardless of what type of audio is being played back.
-The center frequencies for the 10 bands are:
-.sp 1
-.PD 0
-.RS
-.IPs "No. frequency"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-If the sample rate of the sound being played is lower than the center
-frequency for a frequency band, then that band will be disabled.
-A known bug with this filter is that the characteristics for the
-uppermost band are not completely symmetric if the sample
-rate is close to the center frequency of that band.
-This problem can be worked around by upsampling the sound
-using the resample filter before it reaches this filter.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-floating point numbers representing the gain in dB
-for each frequency band (\-12\-12)
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-Would amplify the sound in the upper and lower frequency region
-while canceling it almost completely around 1kHz.
-.RE
-.PD 1
-.
-.TP
-.B channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]
-Can be used for adding, removing, routing and copying audio channels.
-If only <nch> is given the default routing is used, it works as
-follows: If the number of output channels is bigger than the number of
-input channels empty channels are inserted (except mixing from mono to
-stereo, then the mono channel is repeated in both of the output
-channels).
-If the number of output channels is smaller than the number
-of input channels the exceeding channels are truncated.
-.PD 0
-.RSs
-.IPs <nch>
-number of output channels (1\-8)
-.IPs "<nr>\ "
-number of routes (1\-8)
-.IPs <from1:to1:from2:to2:from3:to3:...>
-Pairs of numbers between 0 and 7 that define where to route each channel.
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-Would change the number of channels to 4 and set up 4 routes that
-swap channel 0 and channel 1 and leave channel 2 and 3 intact.
-Observe that if media containing two channels was played back, channels
-2 and 3 would contain silence but 0 and 1 would still be swapped.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-Would change the number of channels to 6 and set up 4 routes
-that copy channel 0 to channels 0 to 3.
-Channel 4 and 5 will contain silence.
-.RE
-.PD 1
-.
-.TP
-.B format[=format] (also see \-format)
-Convert between different sample formats.
-Automatically enabled when needed by the sound card or another filter.
-.PD 0
-.RSs
-.IPs <format>
-Sets the desired format.
-The general form is 'sbe', where 's' denotes the sign (either 's' for signed
-or 'u' for unsigned), 'b' denotes the number of bits per sample (16, 24 or 32)
-and 'e' denotes the endianness ('le' means little-endian, 'be' big-endian
-and 'ne' the endianness of the computer MPlayer is running on).
-Valid values (amongst others) are: 's16le', 'u32be' and 'u24ne'.
-Exceptions to this rule that are also valid format specifiers: u8, s8,
-floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 and imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]]
-Implements software volume control.
-Use this filter with caution since it can reduce the signal
-to noise ratio of the sound.
-In most cases it is best to set the level for the PCM sound to max,
-leave this filter out and control the output level to your
-speakers with the master volume control of the mixer.
-In case your sound card has a digital PCM mixer instead of an analog
-one, and you hear distortion, use the MASTER mixer instead.
-If there is an external amplifier connected to the computer (this
-is almost always the case), the noise level can be minimized by
-adjusting the master level and the volume knob on the amplifier
-until the hissing noise in the background is gone.
-.br
-This filter has a second feature: It measures the overall maximum
-sound level and prints out that level when MPlayer exits.
-This feature currently only works with floating-point data,
-use e.g. \-af\-adv force=5, or use \-af stats.
-.br
-.I NOTE:
-This filter is not reentrant and can therefore only be enabled
-once for every audio stream.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-Sets the desired gain in dB for all channels in the stream
-from \-200dB to +60dB, where \-200dB mutes the sound
-completely and +60dB equals a gain of 1000 (default: 0).
-.IPs "<sc>\ "
-Turns soft clipping on (1) or off (0).
-Soft-clipping can make the sound more smooth if very
-high volume levels are used.
-Enable this option if the dynamic range of the
-loudspeakers is very low.
-.br
-.I WARNING:
-This feature creates distortion and should be considered a last resort.
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-Would amplify the sound by 10.1dB and hard-clip if the
-sound level is too high.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-Mixes channels arbitrarily.
-Basically a combination of the volume and the channels filter
-that can be used to down-mix many channels to only a few,
-e.g.\& stereo to mono or vary the "width" of the center
-speaker in a surround sound system.
-This filter is hard to use, and will require some tinkering
-before the desired result is obtained.
-The number of options for this filter depends on
-the number of output channels.
-An example how to downmix a six-channel file to two channels with
-this filter can be found in the examples section near the end.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-number of output channels (1\-8)
-.IPs <Lij>
-How much of input channel i is mixed into output channel j (0\-1).
-So in principle you first have n numbers saying what to do with the
-first input channel, then n numbers that act on the second input channel
-etc.
-If you do not specify any numbers for some input channels, 0 is assumed.
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-Would down-mix from stereo to mono.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-Would give 3 channel output leaving channels 0 and 1 intact,
-and mix channels 0 and 1 into output channel 2 (which could
-be sent to a subwoofer for example).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-Adds a subwoofer channel to the audio stream.
-The audio data used for creating the subwoofer channel is
-an average of the sound in channel 0 and channel 1.
-The resulting sound is then low-pass filtered by a 4th order
-Butterworth filter with a default cutoff frequency of 60Hz
-and added to a separate channel in the audio stream.
-.br
-.I Warning:
-Disable this filter when you are playing DVDs with Dolby
-Digital 5.1 sound, otherwise this filter will disrupt
-the sound to the subwoofer.
-.PD 0
-.RSs
-.IPs "<fc>\ "
-cutoff frequency in Hz for the low-pass filter (20Hz to 300Hz) (default: 60Hz)
-For the best result try setting the cutoff frequency as low as possible.
-This will improve the stereo or surround sound experience.
-.IPs "<ch>\ "
-Determines the channel number in which to insert the sub-channel audio.
-Channel number can be between 0 and 7 (default: 5).
-Observe that the number of channels will automatically
-be increased to <ch> if necessary.
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-Would add a sub-woofer channel with a cutoff frequency of
-100Hz to output channel 4.
-.RE
-.PD 1
-.
-.TP
-.B "center\ "
-Creates a center channel from the front channels.
-May currently be low quality as it does not implement a
-high-pass filter for proper extraction yet, but averages and
-halves the channels instead.
-.PD 0
-.RSs
-.IPs "<ch>\ "
-Determines the channel number in which to insert the center channel.
-Channel number can be between 0 and 7 (default: 5).
-Observe that the number of channels will automatically
-be increased to <ch> if necessary.
-.RE
-.PD 1
-.
-.TP
-.B surround[=delay]
-Decoder for matrix encoded surround sound like Dolby Surround.
-Many files with 2 channel audio actually contain matrixed surround sound.
-Requires a sound card supporting at least 4 channels.
-.PD 0
-.RSs
-.IPs <delay>
-delay time in ms for the rear speakers (0 to 1000) (default: 20)
-This delay should be set as follows: If d1 is the distance
-from the listening position to the front speakers and d2 is the distance
-from the listening position to the rear speakers, then the delay should
-be set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-Would add surround sound decoding with 15ms delay for the sound to the
-rear speakers.
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-Delays the sound to the loudspeakers such that the sound from the
-different channels arrives at the listening position simultaneously.
-It is only useful if you have more than 2 loudspeakers.
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-The delay in ms that should be imposed on each channel
-(floating point number between 0 and 1000).
-.RE
-.PD 1
-.sp 1
-.RS
-To calculate the required delay for the different channels do as follows:
-.IP 1. 3
-Measure the distance to the loudspeakers in meters in relation
-to your listening position, giving you the distances s1 to s5
-(for a 5.1 system).
-There is no point in compensating for the subwoofer (you will not hear the
-difference anyway).
-.IP 2. 3
-Subtract the distances s1 to s5 from the maximum distance,
-i.e.\& s[i] = max(s) \- s[i]; i = 1...5.
-.IP 3.
-Calculate the required delays in ms as d[i] = 1000*s[i]/342; i = 1...5.
-.RE
-.PD 0
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-Would delay front left and right by 10.5ms, the two rear channels
-and the sub by 0ms and the center channel by 7ms.
-.RE
-.PD 1
-.
-.TP
-.B export[=mmapped_file[:nsamples]]
-Exports the incoming signal to other processes using memory mapping (mmap()).
-Memory mapped areas contain a header:
-.sp 1
-.nf
-int nch /*number of channels*/
-int size /*buffer size*/
-unsigned long long counter /*Used to keep sync, updated every
- time new data is exported.*/
-.fi
-.sp 1
-The rest is payload (non-interleaved) 16 bit data.
-.PD 0
-.RSs
-.IPs <mmapped_file>
-file to map data to (default: ~/.mplayer/\:mplayer-af_export)
-.IPs <nsamples>
-number of samples per channel (default: 512)
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-Would export 1024 samples per channel to '/tmp/mplayer-af_export'.
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-(Linearly) increases the difference between left and right channels
-which adds some sort of "live" effect to playback.
-.PD 0
-.RSs
-.IPs <mul>
-Sets the difference coefficient (default: 2.5).
-0.0 means mono sound (average of both channels), with 1.0 sound will be
-unchanged, with \-1.0 left and right channels will be swapped.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=method:target]
-Maximizes the volume without distorting the sound.
-.PD 0
-.RSs
-.IPs <method>
-Sets the used method.
-.RSss
-1: Use a single sample to smooth the variations via the standard
-weighted mean over past samples (default).
-.br
-2: Use several samples to smooth the variations via the standard
-weighted mean over past samples.
-.REss
-.IPs <target>
-Sets the target amplitude as a fraction of the maximum for the
-sample type (default: 0.25).
-.RE
-.PD 1
-.
-.TP
-.B ladspa=file:label[:controls...]
-Load a LADSPA (Linux Audio Developer's Simple Plugin API) plugin.
-This filter is reentrant, so multiple LADSPA plugins can be used at once.
-.PD 0
-.RSs
-.IPs <file>
-Specifies the LADSPA plugin library file.
-If LADSPA_PATH is set, it searches for the specified file.
-If it is not set, you must supply a fully specified pathname.
-.IPs <label>
-Specifies the filter within the library.
-Some libraries contain only one filter, but others contain many of them.
-Entering 'help' here, will list all available filters within the specified
-library, which eliminates the use of 'listplugins' from the LADSPA SDK.
-.IPs <controls>
-Controls are zero or more floating point values that determine the
-behavior of the loaded plugin (for example delay, threshold or gain).
-In verbose mode (add \-v to the MPlayer command line), all available controls
-and their valid ranges are printed.
-This eliminates the use of 'analyseplugin' from the LADSPA SDK.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-Compressor/expander filter usable for microphone input.
-Prevents artifacts on very loud sound and raises the volume on
-very low sound.
-This filter is untested, maybe even unusable.
-.
-.TP
-.B "gate\ \ \ "
-Noise gate filter similar to the comp audio filter.
-This filter is untested, maybe even unusable.
-.
-.TP
-.B karaoke
-Simple voice removal filter exploiting the fact that voice is
-usually recorded with mono gear and later 'center' mixed onto
-the final audio stream.
-Beware that this filter will turn your signal into mono.
-Works well for 2 channel tracks; do not bother trying it
-on anything but 2 channel stereo.
-.
-.TP
-.B scaletempo[=option1:option2:...]
-Scales audio tempo without altering pitch, optionally synced to playback
-speed (default).
-.br
-This works by playing \'stride\' ms of audio at normal speed then
-consuming \'stride*scale\' ms of input audio.
-It pieces the strides together by blending \'overlap\'% of stride with
-audio following the previous stride.
-It optionally performs a short statistical analysis on the next \'search\'
-ms of audio to determine the best overlap position.
-.PD 0
-.RSs
-.IPs scale=<amount>
-Nominal amount to scale tempo.
-Scales this amount in addition to speed.
-(default: 1.0)
-.IPs stride=<amount>
-Length in milliseconds to output each stride.
-Too high of value will cause noticable skips at high scale amounts and
-an echo at low scale amounts.
-Very low values will alter pitch.
-Increasing improves performance.
-(default: 60)
-.IPs overlap=<percent>
-Percentage of stride to overlap.
-Decreasing improves performance.
-(default: .20)
-.IPs search=<amount>
-Length in milliseconds to search for best overlap position.
-Decreasing improves performance greatly.
-On slow systems, you will probably want to set this very low.
-(default: 14)
-.IPs speed=<tempo|pitch|both|none>
-Set response to speed change.
-.RSss
-.IPs tempo
-Scale tempo in sync with speed (default).
-.IPs pitch
-Reverses effect of filter.
-Scales pitch without altering tempo.
-Add \'[ speed_mult 0.9438743126816935\' and \'] speed_mult 1.059463094352953\'
-to your input.conf to step by musical semi-tones.
-.I WARNING:
-Loses sync with video.
-.IPs both
-Scale both tempo and pitch.
-.IPs none
-Ignore speed changes.
-.RE
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.RSs
-.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
-Would playback media at 1.2x normal speed, with audio at normal pitch.
-Changing playback speed, would change audio tempo to match.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
-Would playback media at 1.2x normal speed, with audio at normal pitch,
-but changing playback speed has no effect on audio tempo.
-.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
-Would tweak the quality and performace parameters.
-.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
-Would make scaletempo use float code.
-Maybe faster on some platforms.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
-Would playback audio file at 1.2x normal speed, with audio at normal pitch.
-Changing playback speed, would change pitch, leaving audio tempo at 1.2x.
-.RE
-.PD 1
-.
-.TP
-.B "stats\ \ "
-Collects and prints statistics about the audio stream, especially the volume.
-These statistics are especially intended to help adjusting the volume while
-avoiding clipping.
-The volumes are printed in dB and compatible with the volume audio filter.
-.
-.
-.
-.SH "VIDEO FILTERS"
-Video filters allow you to modify the video stream and its properties.
-The syntax is:
-.
-.TP
-.B \-vf <filter1[=parameter1:parameter2:...],filter2,...>
-Setup a chain of video filters.
-.PP
-Many parameters are optional and set to default values if omitted.
-To explicitly use a default value set a parameter to '\-1'.
-Parameters w:h means width x height in pixels, x:y means x;y position counted
-from the upper left corner of the bigger image.
-.br
-.I NOTE:
-To get a full list of available video filters, see \-vf help.
-.sp 1
-Video filters are managed in lists.
-There are a few commands to manage the filter list.
-.
-.TP
-.B \-vf\-add <filter1[,filter2,...]>
-Appends the filters given as arguments to the filter list.
-.
-.TP
-.B \-vf\-pre <filter1[,filter2,...]>
-Prepends the filters given as arguments to the filter list.
-.
-.TP
-.B \-vf\-del <index1[,index2,...]>
-Deletes the filters at the given indexes.
-Index numbers start at 0, negative numbers address the end of the
-list (\-1 is the last).
-.
-.TP
-.B \-vf\-clr
-Completely empties the filter list.
-.PP
-With filters that support it, you can access parameters by their name.
-.
-.TP
-.B \-vf <filter>=help
-Prints the parameter names and parameter value ranges for a particular
-filter.
-.
-.TP
-.B \-vf <filter=named_parameter1=value1[:named_parameter2=value2:...]>
-Sets a named parameter to the given value.
-Use on and off or yes and no to set flag parameters.
-.PP
-Available filters are:
-.
-.TP
-.B crop[=w:h:x:y]
-Crops the given part of the image and discards the rest.
-Useful to remove black bands from widescreen movies.
-.PD 0
-.RSs
-.IPs <w>,<h>
-Cropped width and height, defaults to original width and height.
-.IPs <x>,<y>
-Position of the cropped picture, defaults to center.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=limit:round[:reset]]
-Calculates necessary cropping parameters and prints the recommended parameters
-to stdout.
-.PD 0
-.RSs
-.IPs <limit>
-Threshold, which can be optionally specified from nothing (0) to
-everything (255) (default: 24).
-.br
-.IPs <round>
-Value which the width/\:height should be divisible by (default: 16).
-The offset is automatically adjusted to center the video.
-Use 2 to get only even dimensions (needed for 4:2:2 video).
-16 is best when encoding to most video codecs.
-.br
-.IPs <reset>
-Counter that determines after how many frames cropdetect will reset the
-previously detected largest video area and start over to detect the current
-optimal crop area (default: 0).
-This can be useful when channel logos distort the video area.
-0 indicates never reset and return the largest area encountered during playback.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=w:h:x:y]
-Draws a rectangle of the requested width and height at the specified
-coordinates over the image and prints current rectangle parameters
-to the console.
-This can be used to find optimal cropping parameters.
-If you bind the input.conf directive 'change_rectangle' to keystrokes,
-you can move and resize the rectangle on the fly.
-.PD 0
-.RSs
-.IPs <w>,<h>
-width and height (default: \-1, maximum possible width where boundaries
-are still visible.)
-.IPs <x>,<y>
-top left corner position (default: \-1, uppermost leftmost)
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-Expands (not scales) movie resolution to the given value and places the
-unscaled original at coordinates x, y.
-Can be used for placing subtitles/\:OSD in the resulting black bands.
-.RSs
-.IPs <w>,<h>
-Expanded width,height (default: original width,height).
-Negative values for w and h are treated as offsets to the original size.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-Adds a 50 pixel border to the bottom of the picture.
-.RE
-.PD 1
-.IPs <x>,<y>
-position of original image on the expanded image (default: center)
-.IPs "<o>\ \ "
-OSD/\:subtitle rendering
-.RSss
-0: disable (default)
-.br
-1: enable
-.REss
-.IPs "<a>\ \ "
-Expands to fit an aspect instead of a resolution (default: 0).
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-Expands to 800x600, unless the source is higher resolution, in which
-case it expands to fill a 4/3 aspect.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Rounds up to make both width and height divisible by <r> (default: 1).
-.RE
-.
-.TP
-.B flip (also see \-flip)
-Flips the image upside down.
-.
-.TP
-.B "mirror\ "
-Mirrors the image on the Y axis.
-.
-.TP
-.B rotate[=<0\-7>]
-Rotates the image by 90 degrees and optionally flips it.
-For values between 4\-7 rotation is only done if the movie geometry is
-portrait and not landscape.
-.RSs
-.IPs 0
-Rotate by 90 degrees clockwise and flip (default).
-.IPs 1
-Rotate by 90 degrees clockwise.
-.IPs 2
-Rotate by 90 degrees counterclockwise.
-.IPs 3
-Rotate by 90 degrees counterclockwise and flip.
-.RE
-.
-.TP
-.B scale[=w:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
-Scales the image with the software scaler (slow) and performs a YUV<\->RGB
-colorspace conversion (also see \-sws).
-.RSs
-.IPs <w>,<h>
-scaled width/\:height (default: original width/\:height)
-.br
-.I NOTE:
-If \-zoom is used, and underlying filters (including libvo) are
-incapable of scaling, it defaults to d_width/\:d_height!
-.RSss
- 0: scaled d_width/\:d_height
-.br
-\-1: original width/\:height
-.br
-\-2: Calculate w/h using the other dimension and the prescaled aspect ratio.
-.br
-\-3: Calculate w/h using the other dimension and the original aspect ratio.
-.br
-\-(n+8): Like \-n above, but rounding the dimension to the closest multiple of 16.
-.REss
-.IPs <interlaced>
-Toggle interlaced scaling.
-.RSss
-0: off (default)
-.br
-1: on
-.REss
-.IPs <chr_drop>
-chroma skipping
-.RSss
-0: Use all available input lines for chroma.
-.br
-1: Use only every 2. input line for chroma.
-.br
-2: Use only every 4. input line for chroma.
-.br
-3: Use only every 8. input line for chroma.
-.REss
-.IPs "<par>[:<par2>] (also see \-sws)"
-Set some scaling parameters depending on the type of scaler selected
-with \-sws.
-.RSss
-\-sws 2 (bicubic): B (blurring) and C (ringing)
-.br
-0.00:0.60 default
-.br
-0.00:0.75 VirtualDub's "precise bicubic"
-.br
-0.00:0.50 Catmull-Rom spline
-.br
-0.33:0.33 Mitchell-Netravali spline
-.br
-1.00:0.00 cubic B-spline
-.br
-\-sws 7 (gaussian): sharpness (0 (soft) \- 100 (sharp))
-.br
-\-sws 9 (lanczos): filter length (1\-10)
-.REss
-.IPs <presize>
-Scale to preset sizes.
-.RSss
-qntsc: 352x240 (NTSC quarter screen)
-.br
-qpal: 352x288 (PAL quarter screen)
-.br
-ntsc: 720x480 (standard NTSC)
-.br
-pal: 720x576 (standard PAL)
-.br
-sntsc: 640x480 (square pixel NTSC)
-.br
-spal: 768x576 (square pixel PAL)
-.REss
-.IPs <noup>
-Disallow upscaling past the original dimensions.
-.RSss
-0: Allow upscaling (default).
-.br
-1: Disallow upscaling if one dimension exceeds its original value.
-.br
-2: Disallow upscaling if both dimensions exceed their original values.
-.REss
-.IPs <arnd>
-Accurate rounding for the vertical scaler, which may be faster
-or slower than the default rounding.
-.RSss
-0: Disable accurate rounding (default).
-.br
-1: Enable accurate rounding.
-.REss
-.RE
-.
-.TP
-.B dsize[=aspect|w:h:aspect-method:r]
-Changes the intended display size/\:aspect at an arbitrary point in the
-filter chain.
-Aspect can be given as a fraction (4/3) or floating point number
-(1.33).
-Alternatively, you may specify the exact display width and height
-desired.
-Note that this filter does
-.B not
-do any scaling itself; it just affects
-what later scalers (software or hardware) will do when auto-scaling to
-correct aspect.
-.RSs
-.IPs <w>,<h>
-New display width and height.
-Can also be these special values:
-.RSss
- 0: original display width and height
-.br
-\-1: original video width and height (default)
-.br
-\-2: Calculate w/h using the other dimension and the original display
-aspect ratio.
-.br
-\-3: Calculate w/h using the other dimension and the original video
-aspect ratio.
-.REss
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IP dsize=800:\-2
-Specifies a display resolution of 800x600 for a 4/3 aspect video, or
-800x450 for a 16/9 aspect video.
-.RE
-.IPs <aspect-method>
-Modifies width and height according to original aspect ratios.
-.RSss
-\-1: Ignore original aspect ratio (default).
-.br
- 0: Keep display aspect ratio by using <w> and <h> as maximum
-resolution.
-.br
- 1: Keep display aspect ratio by using <w> and <h> as minimum
-resolution.
-.br
- 2: Keep video aspect ratio by using <w> and <h> as maximum
-resolution.
-.br
- 3: Keep video aspect ratio by using <w> and <h> as minimum
-resolution.
-.REss
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-Specifies a display resolution of at most 800x600, or smaller, in order
-to keep aspect.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Rounds up to make both width and height divisible by <r> (default: 1).
-.RE
-.
-.TP
-.B "yvu9\ \ \ "
-Forces software YVU9 to YV12 colorspace conversion.
-Deprecated in favor of the software scaler.
-.
-.TP
-.B "yuvcsp\ "
-Clamps YUV color values to the CCIR 601 range without doing real conversion.
-.
-.TP
-.B palette
-RGB/BGR 8 \-> 15/16/24/32bpp colorspace conversion using palette.
-.
-.TP
-.B format[=fourcc[:outfourcc]]
-Restricts the colorspace for the next filter without doing any conversion.
-Use together with the scale filter for a real conversion.
-.br
-.I NOTE:
-For a list of available formats see format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-format name like rgb15, bgr24, yv12, etc (default: yuy2)
-.IPs <outfourcc>
-Format name that should be substituted for the output.
-If this is not 100% compatible with the <fourcc> value it will crash.
-.br
-Valid examples:
-.br
-format=rgb24:bgr24 format=yuyv:yuy2
-.br
-Invalid examples (will crash):
-.br
-format=rgb24:yv12
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-Restricts the colorspace for the next filter without doing any conversion.
-Unlike the format filter, this will allow any colorspace
-.B except
-the one you specify.
-.br
-.I NOTE:
-For a list of available formats see noformat=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-format name like rgb15, bgr24, yv12, etc (default: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=filter1[:option1[:option2...]]/[\-]filter2...] (also see \-pphelp)
-Enables the specified chain of postprocessing subfilters.
-Subfilters must be separated by '/' and can be disabled by
-prepending a '\-'.
-Each subfilter and some options have a short and a long name that can be
-used interchangeably, i.e.\& dr/dering are the same.
-All subfilters share common options to determine their scope:
-.PD 0
-.RSs
-.IPs a/autoq
-Automatically switch the subfilter off if the CPU is too slow.
-.IPs c/chrom
-Do chrominance filtering, too (default).
-.IPs y/nochrom
-Do luminance filtering only (no chrominance).
-.IPs n/noluma
-Do chrominance filtering only (no luminance).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I NOTE:
-\-pphelp shows a list of available subfilters.
-.sp 1
-Available subfilters are
-.RE
-.RSs
-.IPs hb/hdeblock[:difference[:flatness]]
-horizontal deblocking filter
-.RSss
-<difference>: Difference factor where higher values mean
-more deblocking (default: 32).
-.br
-<flatness>: Flatness threshold where lower values mean
-more deblocking (default: 39).
-.REss
-.IPs vb/vdeblock[:difference[:flatness]]
-vertical deblocking filter
-.RSss
-<difference>: Difference factor where higher values mean
-more deblocking (default: 32).
-.br
-<flatness>: Flatness threshold where lower values mean
-more deblocking (default: 39).
-.REss
-.IPs ha/hadeblock[:difference[:flatness]]
-accurate horizontal deblocking filter
-.RSss
-<difference>: Difference factor where higher values mean
-more deblocking (default: 32).
-.br
-<flatness>: Flatness threshold where lower values mean
-more deblocking (default: 39).
-.REss
-.IPs va/vadeblock[:difference[:flatness]]
-accurate vertical deblocking filter
-.RSss
-<difference>: Difference factor where higher values mean
-more deblocking (default: 32).
-.br
-<flatness>: Flatness threshold where lower values mean
-more deblocking (default: 39).
-.REss
-.sp 1
-The horizontal and vertical deblocking filters share the
-difference and flatness values so you cannot set
-different horizontal and vertical thresholds.
-.sp 1
-.IPs h1/x1hdeblock
-experimental horizontal deblocking filter
-.IPs v1/x1vdeblock
-experimental vertical deblocking filter
-.IPs dr/dering
-deringing filter
-.IPs tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]
-temporal noise reducer
-.RSss
-<threshold1>: larger -> stronger filtering
-.br
-<threshold2>: larger -> stronger filtering
-.br
-<threshold3>: larger -> stronger filtering
-.REss
-.IPs al/autolevels[:f/fullyrange]
-automatic brightness / contrast correction
-.RSss
-f/fullyrange: Stretch luminance to (0\-255).
-.REss
-.IPs lb/linblenddeint
-Linear blend deinterlacing filter that deinterlaces the given block
-by filtering all lines with a (1 2 1) filter.
-.IPs li/linipoldeint
-Linear interpolating deinterlacing filter that deinterlaces the given block
-by linearly interpolating every second line.
-.IPs ci/cubicipoldeint
-Cubic interpolating deinterlacing filter deinterlaces the given block
-by cubically interpolating every second line.
-.IPs md/mediandeint
-Median deinterlacing filter that deinterlaces the given block
-by applying a median filter to every second line.
-.IPs fd/ffmpegdeint
-FFmpeg deinterlacing filter that deinterlaces the given block
-by filtering every second line with a (\-1 4 2 4 \-1) filter.
-.IPs l5/lowpass5
-Vertically applied FIR lowpass deinterlacing filter that deinterlaces
-the given block by filtering all lines with a (\-1 2 6 2 \-1) filter.
-.IPs fq/forceQuant[:quantizer]
-Overrides the quantizer table from the input with the constant
-quantizer you specify.
-.RSss
-<quantizer>: quantizer to use
-.REss
-.IPs de/default
-default pp filter combination (hb:a,vb:a,dr:a)
-.IPs fa/fast
-fast pp filter combination (h1:a,v1:a,dr:a)
-.IPs "ac\ \ \ "
-high quality pp filter combination (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-horizontal and vertical deblocking, deringing and automatic
-brightness/\:contrast
-.IPs "\-vf pp=de/\-al"
-default filters without brightness/\:contrast correction
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-Enable default filters & temporal denoiser.
-.IPs "\-vf pp=hb:y/vb:a"
-Horizontal deblocking on luminance only, and switch vertical deblocking
-on or off automatically depending on available CPU time.
-.RE
-.PD 1
-.
-.TP
-.B spp[=quality[:qp[:mode]]]
-Simple postprocessing filter that compresses and decompresses the
-image at several (or \- in the case of quality level 6 \- all)
-shifts and averages the results.
-.RSs
-.IPs <quality>
-0\-6 (default: 3)
-.IPs "<qp>\ "
-Force quantization parameter (default: 0, use QP from video).
-.IPs <mode>
-0: hard thresholding (default)
-.br
-1: soft thresholding (better deringing, but blurrier)
-.br
-4: like 0, but also use B-frames' QP (may cause flicker)
-.br
-5: like 1, but also use B-frames' QP (may cause flicker)
-.RE
-.
-.TP
-.B uspp[=quality[:qp]]
-Ultra simple & slow postprocessing filter that compresses and
-decompresses the image at several (or \- in the case of quality
-level 8 \- all) shifts and averages the results.
-The way this differs from the behavior of spp is that uspp actually
-encodes & decodes each case with libavcodec Snow, whereas spp uses
-a simplified intra only 8x8 DCT similar to MJPEG.
-.RSs
-.IPs <quality>
-0\-8 (default: 3)
-.IPs "<qp>\ "
-Force quantization parameter (default: 0, use QP from video).
-.RE
-.
-.TP
-.B fspp[=quality[:qp[:strength[:bframes]]]]
-faster version of the simple postprocessing filter
-.RSs
-.IPs <quality>
-4\-5 (equivalent to spp; default: 4)
-.IPs "<qp>\ "
-Force quantization parameter (default: 0, use QP from video).
-.IPs <\-15\-32>
-Filter strength, lower values mean more details but also more artifacts,
-while higher values make the image smoother but also blurrier (default:
-0 \- PSNR optimal).
-.IPs <bframes>
-0: do not use QP from B-frames (default)
-.br
-1: use QP from B-frames too (may cause flicker)
-.RE
-.
-.TP
-.B pp7[=qp[:mode]]
-Variant of the spp filter, similar to spp=6 with 7 point DCT where
-only the center sample is used after IDCT.
-.RSs
-.IPs "<qp>\ "
-Force quantization parameter (default: 0, use QP from video).
-.IPs <mode>
-0: hard thresholding
-.br
-1: soft thresholding (better deringing, but blurrier)
-.br
-2: medium thresholding (default, good results)
-.RE
-.
-.TP
-.B qp=equation
-quantization parameter (QP) change filter
-.RSs
-.IPs <equation>
-some equation like "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B geq=equation
-generic equation change filter
-.RSs
-.IPs <equation>
-Some equation, e.g.\& 'p(W-X\\,Y)' to flip the image horizontally.
-You can use whitespace to make the equation more readable.
-There are a couple of constants that can be used in the equation:
-.RSss
-PI: the number pi
-.br
-E: the number e
-.br
-X / Y: the coordinates of the current sample
-.br
-W / H: width and height of the image
-.br
-SW / SH: width/height scale depending on the currently filtered plane, e.g.\&
-1,1 and 0.5,0.5 for YUV 4:2:0.
-.br
-p(x,y): returns the value of the pixel at location x/y of the current plane.
-.REss
-.RE
-.
-.TP
-.B "test\ \ \ "
-Generate various test patterns.
-.
-.TP
-.B rgbtest[=width:height]
-Generate an RGB test pattern useful for detecting RGB vs BGR issues.
-You should see a red, green and blue stripe from top to bottom.
-.RSs
-.IPs <width>
-Desired width of generated image (default: 0).
-0 means width of input image.
-.br
-.IPs <height>
-Desired height of generated image (default: 0).
-0 means height of input image.
-.RE
-.
-.TP
-.B lavc[=quality:fps]
-Fast software YV12 to MPEG-1 conversion with libavcodec for use with DVB/\:DXR3/\:IVTV/\:V4L2.
-.RSs
-.IPs <quality>
-1\-31: fixed qscale
-.br
-32\-: fixed bitrate in kbits
-.IPs <fps>
-force output fps (float value) (default: 0, autodetect based on height)
-.RE
-.
-.TP
-.B dvbscale[=aspect]
-Set up optimal scaling for DVB cards, scaling the x axis in hardware and
-calculating the y axis scaling in software to keep aspect.
-Only useful together with expand and scale.
-.RSs
-.IPs <aspect>
-Control aspect ratio, calculate as DVB_HEIGHT*ASPECTRATIO (default:
-576*4/3=768), set it to 576*(16/9)=1024 for a 16:9 TV.
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-FIXME: Explain what this does.
-.RE
-.PD 1
-.
-.TP
-.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-Adds noise.
-.PD 0
-.RSs
-.IPs <0\-100>
-luma noise
-.IPs <0\-100>
-chroma noise
-.IPs u
-uniform noise (gaussian otherwise)
-.IPs t
-temporal noise (noise pattern changes between frames)
-.IPs a
-averaged temporal noise (smoother, but a lot slower)
-.IPs h
-high quality (slightly better looking, slightly slower)
-.IPs p
-mix random noise with a (semi)regular pattern
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-This filter aims to reduce image noise producing smooth images and making still
-images really still (This should enhance compressibility.).
-.PD 0
-.RSs
-.IPs <luma_spatial>
-spatial luma strength (default: 4)
-.IPs <chroma_spatial>
-spatial chroma strength (default: 3)
-.IPs <luma_tmp>
-luma temporal strength (default: 6)
-.IPs <chroma_tmp>
-chroma temporal strength (default: luma_tmp*chroma_spatial/luma_spatial)
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-High precision/\:quality version of the denoise3d filter.
-Parameters and usage are the same.
-.
-.TP
-.B ow[=depth[:luma_strength[:chroma_strength]]]
-Overcomplete Wavelet denoiser.
-.PD 0
-.RSs
-.IPs <depth>
-Larger depth values will denoise lower frequency components more, but
-slow down filtering (default: 8).
-.IPs <luma_strength>
-luma strength (default: 1.0)
-.IPs <chroma_strength>
-chroma strength (default: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B eq[=brightness:contrast] (OBSOLETE)
-Software equalizer with interactive controls just like the hardware
-equalizer, for cards/\:drivers that do not support brightness and
-contrast controls in hardware.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-initial brightness
-.IPs <\-100\-100>
-initial contrast
-.RE
-.PD 1
-.
-.TP
-.B eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
-Alternative software equalizer that uses lookup tables (very slow),
-allowing gamma correction in addition to simple brightness
-and contrast adjustment.
-Note that it uses the same MMX optimized code as \-vf eq if all
-gamma values are 1.0.
-The parameters are given as floating point values.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-initial gamma value (default: 1.0)
-.IPs <\-2\-2>
-initial contrast, where negative values result in a
-negative image (default: 1.0)
-.IPs <\-1\-1>
-initial brightness (default: 0.0)
-.IPs <0\-3>
-initial saturation (default: 1.0)
-.IPs <0.1\-10>
-gamma value for the red component (default: 1.0)
-.IPs <0.1\-10>
-gamma value for the green component (default: 1.0)
-.IPs <0.1\-10>
-gamma value for the blue component (default: 1.0)
-.IPs <0\-1>
-The weight parameter can be used to reduce the effect of a high gamma value on
-bright image areas, e.g.\& keep them from getting overamplified and just plain
-white.
-A value of 0.0 turns the gamma correction all the way down while 1.0 leaves it
-at its full strength (default: 1.0).
-.RE
-.PD 1
-.
-.TP
-.B hue[=hue:saturation]
-Software equalizer with interactive controls just like the hardware
-equalizer, for cards/\:drivers that do not support hue and
-saturation controls in hardware.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-initial hue (default: 0.0)
-.IPs <\-100\-100>
-initial saturation, where negative values result
-in a negative chroma (default: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-Convert planar YUV 4:2:0 to half-height packed 4:2:2, downsampling luma but
-keeping all chroma samples.
-Useful for output to low-resolution display devices when hardware downscaling
-is poor quality or is not available.
-Can also be used as a primitive luma-only deinterlacer with very low CPU
-usage.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-By default, halfpack averages pairs of lines when downsampling.
-Any value different from 0 or 1 gives the default (averaging) behavior.
-.RSss
-0: Only use even lines when downsampling.
-.br
-1: Only use odd lines when downsampling.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=mode]
-When interlaced video is stored in YUV 4:2:0 formats, chroma
-interlacing does not line up properly due to vertical downsampling of
-the chroma channels.
-This filter packs the planar 4:2:0 data into YUY2 (4:2:2) format with
-the chroma lines in their proper locations, so that in any given
-scanline, the luma and chroma data both come from the same field.
-.PD 0
-.RSs
-.IPs <mode>
-Select the sampling mode.
-.RSss
-0: nearest-neighbor sampling, fast but incorrect
-.br
-1: linear interpolation (default)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B decimate[=max:hi:lo:frac]
-Drops frames that do not differ greatly from the previous frame in
-order to reduce framerate.
-The main use of this filter is for very-low-bitrate encoding (e.g.\&
-streaming over dialup modem), but it could in theory be used for
-fixing movies that were inverse-telecined incorrectly.
-.PD 0
-.RSs
-.IPs <max>
-Sets the maximum number of consecutive frames which can be
-dropped (if positive), or the minimum interval between
-dropped frames (if negative).
-.IPs <hi>,<lo>,<frac>
-A frame is a candidate for dropping if no 8x8 region differs by more
-than a threshold of <hi>, and if not more than <frac> portion (1
-meaning the whole image) differs by more than a threshold of <lo>.
-Values of <hi> and <lo> are for 8x8 pixel blocks and represent actual
-pixel value differences, so a threshold of 64 corresponds to 1 unit of
-difference for each pixel, or the same spread out differently over the
-block.
-.RE
-.PD 1
-.
-.TP
-.B dint[=sense:level]
-The drop-deinterlace (dint) filter detects and drops the first from a set
-of interlaced video frames.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-relative difference between neighboring pixels (default: 0.1)
-.IPs <0.0\-1.0>
-What part of the image has to be detected as interlaced to
-drop the frame (default: 0.15).
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (OBSOLETE)
-FFmpeg deinterlacing filter, same as \-vf pp=fd
-.
-.TP
-.B kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
-Donald Graft's adaptive kernel deinterlacer.
-Deinterlaces parts of a video if a configurable threshold is exceeded.
-.PD 0
-.RSs
-.IPs <0\-255>
-threshold (default: 10)
-.IPs <map>
-.RSss
-0: Ignore pixels exceeding the threshold (default).
-.br
-1: Paint pixels exceeding the threshold white.
-.REss
-.IPs <order>
-.RSss
-0: Leave fields alone (default).
-.br
-1: Swap fields.
-.REss
-.IPs <sharp>
-.RSss
-0: Disable additional sharpening (default).
-.br
-1: Enable additional sharpening.
-.REss
-.IPs <twoway>
-.RSss
-0: Disable twoway sharpening (default).
-.br
-1: Enable twoway sharpening.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cWxH:amount[:l|cWxH:amount]]
-unsharp mask / gaussian blur
-.RSs
-.IPs "l\ \ \ \ "
-Apply effect on luma component.
-.IPs "c\ \ \ \ "
-Apply effect on chroma components.
-.IPs <width>x<height>
-width and height of the matrix, odd sized in both directions
-(min = 3x3, max = 13x11 or 11x13, usually something between 3x3 and 7x7)
-.IPs amount
-Relative amount of sharpness/\:blur to add to the image
-(a sane range should be \-1.5\-1.5).
-.RSss
-<0: blur
-.br
->0: sharpen
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-Swap U & V plane.
-.
-.TP
-.B il[=d|i][s][:[d|i][s]]
-(De)interleaves lines.
-The goal of this filter is to add the ability to process interlaced images
-pre-field without deinterlacing them.
-You can filter your interlaced DVD and play it on a TV without breaking the
-interlacing.
-While deinterlacing (with the postprocessing filter) removes interlacing
-permanently (by smoothing, averaging, etc) deinterleaving splits the frame into
-2 fields (so called half pictures), so you can process (filter) them
-independently and then re-interleave them.
-.PD 0
-.RSs
-.IPs d
-deinterleave (placing one above the other)
-.IPs i
-interleave
-.IPs s
-swap fields (exchange even & odd lines)
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-(De)interleaves lines.
-This filter is very similar to the il filter but much faster, the main
-disadvantage is that it does not always work.
-Especially if combined with other filters it may produce randomly messed
-up images, so be happy if it works but do not complain if it does not for
-your combination of filters.
-.PD 0
-.RSs
-.IPs d
-Deinterleave fields, placing them side by side.
-.IPs i
-Interleave fields again (reversing the effect of fil=d).
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-Extracts a single field from an interlaced image using stride arithmetic
-to avoid wasting CPU time.
-The optional argument n specifies whether to extract the even or the odd
-field (depending on whether n is even or odd).
-.
-.TP
-.B detc[=var1=value1:var2=value2:...]
-Attempts to reverse the 'telecine' process to recover a clean,
-non-interlaced stream at film framerate.
-This was the first and most primitive inverse telecine filter to be
-added to MPlayer.
-It works by latching onto the telecine 3:2 pattern and following it as
-long as possible.
-This makes it suitable for perfectly-telecined material, even in the
-presence of a fair degree of noise, but it will fail in the presence
-of complex post-telecine edits.
-Development on this filter is no longer taking place, as ivtc, pullup,
-and filmdint are better for most applications.
-The following arguments (see syntax above) may be used to control
-detc's behavior:
-.RSs
-.IPs "<dr>\ "
-Set the frame dropping mode.
-.RSss
-0: Do not drop frames to maintain fixed output framerate (default).
-.br
-1: Always drop a frame when there have been no drops or telecine
-merges in the past 5 frames.
-.br
-2: Always maintain exact 5:4 input to output frame ratio.
-.REss
-.IPs "<am>\ "
-Analysis mode.
-.RSss
-0: Fixed pattern with initial frame number specified by <fr>.
-.br
-1: aggressive search for telecine pattern (default)
-.REss
-.IPs "<fr>\ "
-Set initial frame number in sequence.
-0\-2 are the three clean progressive frames; 3 and 4 are the two
-interlaced frames.
-The default, \-1, means 'not in telecine sequence'.
-The number specified here is the type for the imaginary previous
-frame before the movie starts.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-Threshold values to be used in certain modes.
-.RE
-.
-.TP
-.B ivtc[=1]
-Experimental 'stateless' inverse telecine filter.
-Rather than trying to lock on to a pattern like the detc filter does,
-ivtc makes its decisions independently for each frame.
-This will give much better results for material that has undergone
-heavy editing after telecine was applied, but as a result it is not as
-forgiving of noisy input, for example TV capture.
-The optional parameter (ivtc=1) corresponds to the dr=1 option for the
-detc filter, and should not be used with MPlayer.
-Further development on ivtc has stopped, as the pullup and filmdint
-filters appear to be much more accurate.
-.
-.TP
-.B pullup[=jl:jr:jt:jb:sb:mp]
-Third-generation pulldown reversal (inverse telecine) filter,
-capable of handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001
-fps progressive content.
-The pullup filter is designed to be much more robust than detc or
-ivtc, by taking advantage of future context in making its decisions.
-Like ivtc, pullup is stateless in the sense that it does not lock onto
-a pattern to follow, but it instead looks forward to the following
-fields in order to identify matches and rebuild progressive frames.
-It is still under development, but believed to be quite accurate.
-.RSs
-.IPs "jl, jr, jt, and jb"
-These options set the amount of "junk" to ignore at
-the left, right, top, and bottom of the image, respectively.
-Left/\:right are in units of 8 pixels, while top/\:bottom are in units of
-2 lines.
-The default is 8 pixels on each side.
-.br
-.IPs "sb (strict breaks)"
-Setting this option to 1 will reduce the chances of
-pullup generating an occasional mismatched frame, but it may also
-cause an excessive number of frames to be dropped during high motion
-sequences.
-Conversely, setting it to \-1 will make pullup match fields more
-easily.
-This may help processing of video where there is slight blurring
-between the fields, but may also cause there to be interlaced frames
-in the output.
-.br
-.IPs "mp (metric plane)"
-This option may be set to 1 or 2 to use a chroma
-plane instead of the luma plane for doing pullup's computations.
-This may improve accuracy on very clean source material, but more
-likely will decrease accuracy, especially if there is chroma noise
-(rainbow effect) or any grayscale video.
-The main purpose of setting mp to a chroma plane is to reduce CPU load
-and make pullup usable in realtime on slow machines.
-.REss
-.
-.TP
-.B filmdint[=options]
-Inverse telecine filter, similar to the pullup filter above.
-It is designed to handle any pulldown pattern, including mixed soft and
-hard telecine and limited support for movies that are slowed down or sped
-up from their original framerate for TV.
-Only the luma plane is used to find the frame breaks.
-If a field has no match, it is deinterlaced with simple linear
-approximation.
-If the source is MPEG-2, this must be the first filter to allow
-access to the field-flags set by the MPEG-2 decoder.
-Depending on the source MPEG, you may be fine ignoring this advice, as
-long as you do not see lots of "Bottom-first field" warnings.
-With no options it does normal inverse telecine.
-When this filter is used with MPlayer, it will result in an uneven
-framerate during playback, but it is still generally better than using
-pp=lb or no deinterlacing at all.
-Multiple options can be specified separated by /.
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-Just like the crop filter, but faster, and works on mixed hard and soft
-telecined content as well as when y is not a multiple of 4.
-If x or y would require cropping fractional pixels from the chroma
-planes, the crop area is extended.
-This usually means that x and y must be even.
-.IPs io=<ifps>:<ofps>
-For each ifps input frames the filter will output ofps frames.
-This could be used to filter movies that are broadcast on TV at a frame
-rate different from their original framerate.
-.IPs luma_only=<n>
-If n is nonzero, the chroma plane is copied unchanged.
-This is useful for YV12 sampled TV, which discards one of the chroma
-fields.
-.IPs mmx2=<n>
-On x86, if n=1, use MMX2 optimized functions, if n=2, use 3DNow!
-optimized functions, otherwise, use plain C.
-If this option is not specified, MMX2 and 3DNow! are auto-detected, use
-this option to override auto-detection.
-.IPs fast=<n>
-The larger n will speed up the filter at the expense of accuracy.
-The default value is n=3.
-If n is odd, a frame immediately following a frame marked with the
-REPEAT_FIRST_FIELD MPEG flag is assumed to be progressive, thus filter
-will not spend any time on soft-telecined MPEG-2 content.
-This is the only effect of this flag if MMX2 or 3DNow! is available.
-Without MMX2 and 3DNow, if n=0 or 1, the same calculations will be used
-as with n=2 or 3.
-If n=2 or 3, the number of luma levels used to find the frame breaks is
-reduced from 256 to 128, which results in a faster filter without losing
-much accuracy.
-If n=4 or 5, a faster, but much less accurate metric will be used to
-find the frame breaks, which is more likely to misdetect high vertical
-detail as interlaced content.
-.IPs verbose=<n>
-If n is nonzero, print the detailed metrics for each frame.
-Useful for debugging.
-.IPs dint_thres=<n>
-Deinterlace threshold.
-Used during de-interlacing of unmatched frames.
-Larger value means less deinterlacing, use n=256 to completely turn off
-deinterlacing.
-Default is n=8.
-.IPs comb_thres=<n>
-Threshold for comparing a top and bottom fields.
-Defaults to 128.
-.IPs diff_thres=<n>
-Threshold to detect temporal change of a field.
-Default is 128.
-.IPs sad_thres=<n>
-Sum of Absolute Difference threshold, default is 64.
-.RE
-.
-.TP
-.B divtc[=options]
-Inverse telecine for deinterlaced video.
-If 3:2-pulldown telecined video has lost one of the fields or is deinterlaced
-using a method that keeps one field and interpolates the other, the result is
-a juddering video that has every fourth frame duplicated.
-This filter is intended to find and drop those duplicates and restore the
-original film framerate.
-Two different modes are available:
-One pass mode is the default and is straightforward to use,
-but has the disadvantage that any changes in the telecine
-phase (lost frames or bad edits) cause momentary judder
-until the filter can resync again.
-Two pass mode avoids this by analyzing the whole video
-beforehand so it will have forward knowledge about the
-phase changes and can resync at the exact spot.
-These passes do
-.B not
-correspond to pass one and two of the encoding process.
-You must run an extra pass using divtc pass one before the
-actual encoding throwing the resulting video away.
-Use \-nosound \-ovc raw \-o /dev/null to avoid
-wasting CPU power for this pass.
-You may add something like crop=2:2:0:0 after divtc
-to speed things up even more.
-Then use divtc pass two for the actual encoding.
-If you use multiple encoder passes, use divtc
-pass two for all of them.
-The options are:
-.RSs
-.IPs pass=1|2
-Use two pass mode.
-.IPs file=<filename>
-Set the two pass log filename (default: "framediff.log").
-.IPs threshold=<value>
-Set the minimum strength the telecine pattern must have for the filter to
-believe in it (default: 0.5).
-This is used to avoid recognizing false pattern from the parts of the video
-that are very dark or very still.
-.IPs window=<numframes>
-Set the number of past frames to look at when searching for pattern
-(default: 30).
-Longer window improves the reliability of the pattern search, but shorter
-window improves the reaction time to the changes in the telecine phase.
-This only affects the one pass mode.
-The two pass mode currently uses fixed window that extends to both future
-and past.
-.IPs phase=0|1|2|3|4
-Sets the initial telecine phase for one pass mode (default: 0).
-The two pass mode can see the future, so it is able to use the correct
-phase from the beginning, but one pass mode can only guess.
-It catches the correct phase when it finds it, but this option can be used
-to fix the possible juddering at the beginning.
-The first pass of the two pass mode also uses this, so if you save the output
-from the first pass, you get constant phase result.
-.IPs deghost=<value>
-Set the deghosting threshold (0\-255 for one pass mode, \-255\-255 for two pass
-mode, default 0).
-If nonzero, deghosting mode is used.
-This is for video that has been deinterlaced by blending the fields
-together instead of dropping one of the fields.
-Deghosting amplifies any compression artifacts in the blended frames, so the
-parameter value is used as a threshold to exclude those pixels from
-deghosting that differ from the previous frame less than specified value.
-If two pass mode is used, then negative value can be used to make the
-filter analyze the whole video in the beginning of pass-2 to determine
-whether it needs deghosting or not and then select either zero or the
-absolute value of the parameter.
-Specify this option for pass-2, it makes no difference on pass-1.
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-Delay interlaced video by one field time so that the field order
-changes.
-The intended use is to fix PAL movies that have been captured with the
-opposite field order to the film-to-video transfer.
-The options are:
-.RSs
-.IPs t
-Capture field order top-first, transfer bottom-first.
-Filter will delay the bottom field.
-.IPs b
-Capture bottom-first, transfer top-first.
-Filter will delay the top field.
-.IPs p
-Capture and transfer with the same field order.
-This mode only exists for the documentation of the other options to refer to,
-but if you actually select it, the filter will faithfully do nothing ;-)
-.IPs a
-Capture field order determined automatically by field flags, transfer opposite.
-Filter selects among t and b modes on a frame by frame basis using field flags.
-If no field information is available, then this works just like u.
-.IPs u
-Capture unknown or varying, transfer opposite.
-Filter selects among t and b on a frame by frame basis by analyzing the
-images and selecting the alternative that produces best match between the
-fields.
-.IPs T
-Capture top-first, transfer unknown or varying.
-Filter selects among t and p using image analysis.
-.IPs B
-Capture bottom-first, transfer unknown or varying.
-Filter selects among b and p using image analysis.
-.IPs A
-Capture determined by field flags, transfer unknown or varying.
-Filter selects among t, b and p using field flags and image analysis.
-If no field information is available, then this works just like U.
-This is the default mode.
-.IPs U
-Both capture and transfer unknown or varying.
-Filter selects among t, b and p using image analysis only.
-.IPs v
-Verbose operation.
-Prints the selected mode for each frame and the average squared difference
-between fields for t, b, and p alternatives.
-.RE
-.
-.TP
-.B telecine[=start]
-Apply 3:2 'telecine' process to increase framerate by 20%.
-This most likely will not work correctly with MPlayer.
-The optional start parameter tells the filter where in the telecine
-pattern to start (0\-3).
-.
-.TP
-.B tinterlace[=mode]
-Temporal field interlacing \- merge pairs of frames into an interlaced
-frame, halving the framerate.
-Even frames are moved into the upper field, odd frames to the lower field.
-This can be used to fully reverse the effect of the tfields filter (in mode 0).
-Available modes are:
-.PD 0
-.RSs
-.IPs 0
-Move odd frames into the upper field, even into the lower field, generating
-a full-height frame at half framerate.
-.IPs 1
-Only output odd frames, even frames are dropped; height unchanged.
-.IPs 2
-Only output even frames, odd frames are dropped; height unchanged.
-.IPs 3
-Expand each frame to full height, but pad alternate lines with black;
-framerate unchanged.
-.IPs 4
-Interleave even lines from even frames with odd lines from odd frames.
-Height unchanged at half framerate.
-.RE
-.PD 1
-.
-.TP
-.B tfields[=mode[:field_dominance]]
-Temporal field separation \- split fields into frames, doubling the
-output framerate.
-.PD 0
-.RSs
-.IPs <mode>
-0: Leave fields unchanged (will jump/\:flicker).
-.br
-1: Interpolate missing lines. (The algorithm used might not be so good.)
-.br
-2: Translate fields by 1/4 pixel with linear interpolation (no jump).
-.br
-4: Translate fields by 1/4 pixel with 4tap filter (higher quality) (default).
-.IPs <field_dominance>\ (DEPRECATED)
-\-1: auto (default)
-Only works if the decoder exports the appropriate information and
-no other filters which discard that information come before tfields
-in the filter chain, otherwise it falls back to 0 (top field first).
-.br
-0: top field first
-.br
-1: bottom field first
-.br
-.I NOTE:
-This option will possibly be removed in a future version.
-Use \-field\-dominance instead.
-.RE
-.PD 1
-.
-.TP
-.B yadif=[mode[:field_dominance]]
-Yet another deinterlacing filter
-.PD 0
-.RSs
-.IPs <mode>
-0: Output 1 frame for each frame.
-.br
-1: Output 1 frame for each field.
-.br
-2: Like 0 but skips spatial interlacing check.
-.br
-3: Like 1 but skips spatial interlacing check.
-.IPs <field_dominance>\ (DEPRECATED)
-Operates like tfields.
-.br
-.I NOTE:
-This option will possibly be removed in a future version.
-Use \-field\-dominance instead.
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[mode[:parity[:qp]]]
-Motion compensating deinterlacer.
-It needs one field per frame as input and must thus be used together
-with tfields=1 or yadif=1/3 or equivalent.
-.PD 0
-.RSs
-.IPs <mode>
-0: fast
-.br
-1: medium
-.br
-2: slow, iterative motion estimation
-.br
-3: extra slow, like 2 plus multiple reference frames
-.IPs <parity>
-0 or 1 selects which field to use (note: no autodetection yet!).
-.IPs "<qp>\ "
-Higher values should result in a smoother motion vector
-field but less optimal individual vectors.
-.RE
-.PD 1
-.
-.TP
-.B boxblur=radius:power[:radius:power]
-box blur
-.PD 0
-.RSs
-.IPs <radius>
-blur filter strength
-.IPs <power>
-number of filter applications
-.RE
-.PD 1
-.
-.TP
-.B sab=radius:pf:colorDiff[:radius:pf:colorDiff]
-shape adaptive blur
-.PD 0
-.RSs
-.IPs <radius>
-blur filter strength (~0.1\-4.0) (slower if larger)
-.IPs "<pf>\ "
-prefilter strength (~0.1\-2.0)
-.IPs <colorDiff>
-maximum difference between pixels to still be considered (~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B smartblur=radius:strength:threshold[:radius:strength:threshold]
-smart blur
-.PD 0
-.RSs
-.IPs <radius>
-blur filter strength (~0.1\-5.0) (slower if larger)
-.IPs <strength>
-blur (0.0\-1.0) or sharpen (\-1.0\-0.0)
-.IPs <threshold>
-filter all (0), filter flat areas (0\-30) or filter edges (\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-Correct the perspective of movies not filmed perpendicular to the screen.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-coordinates of the top left, top right, bottom left, bottom right corners
-.IPs "<t>\ \ "
-linear (0) or cubic resampling (1)
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-Scale and smooth the image with the 2x scale and interpolate algorithm.
-.
-.TP
-.B "1bpp\ \ \ "
-1bpp bitmap to YUV/\:BGR 8/\:15/\:16/\:32 conversion
-.
-.TP
-.B down3dright[=lines]
-Reposition and resize stereoscopic images.
-Extracts both stereo fields and places them side by side, resizing
-them to maintain the original movie aspect.
-.PD 0
-.RSs
-.IPs <lines>
-number of lines to select from the middle of the image (default: 12)
-.RE
-.PD 1
-.
-.TP
-.B bmovl=hidden:opaque:fifo
-The bitmap overlay filter reads bitmaps from a FIFO and displays them
-on top of the movie, allowing some transformations on the image.
-Also see TOOLS/bmovl-test.c for a small bmovl test program.
-.PD 0
-.RSs
-.IPs <hidden>
-Set the default value of the 'hidden' flag (0=visible, 1=hidden).
-.IPs <opaque>
-Set the default value of the 'opaque' flag (0=transparent, 1=opaque).
-.IPs <fifo>
-path/\:filename for the FIFO (named pipe connecting 'mplayer \-vf bmovl' to the
-controlling application)
-.RE
-.PD 1
-.sp 1
-.RS
-FIFO commands are:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 width height xpos ypos alpha clear"
-followed by width*height*4 Bytes of raw RGBA32 data.
-.IPs "ABGR32 width height xpos ypos alpha clear"
-followed by width*height*4 Bytes of raw ABGR32 data.
-.IPs "RGB24 width height xpos ypos alpha clear"
-followed by width*height*3 Bytes of raw RGB24 data.
-.IPs "BGR24 width height xpos ypos alpha clear"
-followed by width*height*3 Bytes of raw BGR24 data.
-.IPs "ALPHA width height xpos ypos alpha"
-Change alpha transparency of the specified area.
-.IPs "CLEAR width height xpos ypos"
-Clear area.
-.IPs OPAQUE
-Disable all alpha transparency.
-Send "ALPHA 0 0 0 0 0" to enable it again.
-.IPs "HIDE\ "
-Hide bitmap.
-.IPs "SHOW\ "
-Show bitmap.
-.RE
-.PD 1
-.sp 1
-.RS
-Arguments are:
-.RE
-.PD 0
-.RSs
-.IPs "<width>, <height>"
-image/area size
-.IPs "<xpos>, <ypos>"
-Start blitting at position x/y.
-.IPs <alpha>
-Set alpha difference.
-If you set this to \-255 you can then send a sequence of ALPHA-commands to set
-the area to \-225, \-200, \-175 etc for a nice fade-in-effect! ;)
-.RSss
-0: same as original
-.br
-255: Make everything opaque.
-.br
-\-255: Make everything transparent.
-.REss
-.IPs <clear>
-Clear the framebuffer before blitting.
-.RSss
-0: The image will just be blitted on top of the old one, so you do not need to
-send 1.8MB of RGBA32 data every time a small part of the screen is updated.
-.br
-1: clear
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]step
-Renders only every nth frame or every intra frame (keyframe).
-.sp 1
-If you call the filter with I (uppercase) as the parameter, then
-.B only
-keyframes are rendered.
-For DVDs it generally means one in every 15/12 frames (IBBPBBPBBPBBPBB),
-for AVI it means every scene change or every keyint value.
-.sp 1
-When a keyframe is found, an 'I!' string followed by a newline character is
-printed, leaving the current line of MPlayer output on the screen, because it
-contains the time (in seconds) and frame number of the keyframe (You can use
-this information to split the AVI.).
-.sp 1
-If you call the filter with a numeric parameter 'step' then only one in
-every 'step' frames is rendered.
-.sp 1
-If you put an 'i' (lowercase) before the number then an 'I!' is printed
-(like the I parameter).
-.sp 1
-If you give only the i then nothing is done to the frames, only I! is
-printed.
-.
-.TP
-.B tile=xtiles:ytiles:output:start:delta
-Tile a series of images into a single, bigger image.
-If you omit a parameter or use a value less than 0, then the default
-value is used.
-You can also stop when you are satisfied (... \-vf tile=10:5 ...).
-It is probably a good idea to put the scale filter before the tile :-)
-.sp 1
-The parameters are:
-.sp 1
-.PD 0
-.RSs
-.IPs <xtiles>
-number of tiles on the x axis (default: 5)
-.IPs <ytiles>
-number of tiles on the y axis (default: 5)
-.IPs <output>
-Render the tile when 'output' number of frames are reached, where 'output'
-should be a number less than xtile * ytile.
-Missing tiles are left blank.
-You could, for example, write an 8 * 7 tile every 50 frames to have one
-image every 2 seconds @ 25 fps.
-.IPs <start>
-outer border thickness in pixels (default: 2)
-.IPs <delta>
-inner border thickness in pixels (default: 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:w:h:t]
-Suppresses a TV station logo by a simple interpolation of the
-surrounding pixels.
-Just set a rectangle covering the logo and watch it disappear (and
-sometimes something even uglier appear \- your mileage may vary).
-.PD 0
-.RSs
-.IPs <x>,<y>
-top left corner of the logo
-.IPs <w>,<h>
-width and height of the cleared rectangle
-.IPs <t>
-Thickness of the fuzzy edge of the rectangle (added to w and h).
-When set to \-1, a green rectangle is drawn on the screen to
-simplify finding the right x,y,w,h parameters.
-.IPs file=<file>
-You can specify a text file to load the coordinates from.
-Each line must have a timestamp (in seconds, and in ascending order) and the
-"x:y:w:h:t" coordinates (t can be omitted).
-.RE
-.PD 1
-.
-.TP
-.B remove\-logo=/path/to/logo_bitmap_file_name.pgm
-Suppresses a TV station logo, using a PGM or PPM image
-file to determine which pixels comprise the logo.
-The width and height of the image file must match
-those of the video stream being processed.
-Uses the filter image and a circular blur
-algorithm to remove the logo.
-.RSs
-.IPs /path/to/logo_bitmap_file_name.pgm
-[path] + filename of the filter image.
-.RE
-.
-.TP
-.B screenshot
-Allows acquiring screenshots of the movie using slave mode
-commands that can be bound to keypresses.
-See the slave mode documentation and the INTERACTIVE CONTROL
-section for details.
-Files named 'shotNNNN.png' will be saved in the working directory,
-using the first available number \- no files will be overwritten.
-The filter has no overhead when not used and accepts an arbitrary
-colorspace, so it is safe to add it to the configuration file.
-Make sure that the screenshot filter is added after all other filters
-whose effect you want to record on the saved image.
-E.g.\& it should be the last filter if you want to have an exact
-screenshot of what you see on the monitor.
-.RE
-.
-.TP
-.B "ass\ \ \ \ "
-Moves SSA/ASS subtitle rendering to an arbitrary point in the filter chain.
-Only useful with the \-ass option.
-.sp 1
-.I EXAMPLE:
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-Moves SSA/ASS rendering before the screenshot filter.
-Screenshots taken this way will contain subtitles.
-.RE
-.PD 1
-.
-.TP
-.B blackframe[=amount:threshold]
-Detect frames that are (almost) completely black.
-Can be useful to detect chapter transitions or commercials.
-Output lines consist of the frame number of the detected frame, the
-percentage of blackness, the frame type and the frame number of the last
-encountered keyframe.
-.RSs
-.IPs <amount>
-Percentage of the pixels that have to be below the threshold (default: 98).
-.IPs <threshold>
-Threshold below which a pixel value is considered black (default: 32).
-.RE
-.PD 1
-.
-.TP
-.B stereo3d[=in:out]
-Stereo3d converts between different stereoscopic image formats.
-.RSs
-.IPs <in>
-Stereoscopic image format of input. Possible values:
-.RS
-.B sbsl or side_by_side_left_first
-.RS
-side by side parallel (left eye left, right eye right)
-.RE
-.B sbsr or side_by_side_right_first
-.RS
-side by side crosseye (right eye left, left eye right)
-.RE
-.B abl or above_below_left_first
-.RS
-above-below (left eye above, right eye below)
-.RE
-.B abl or above_below_right_first
-.RS
-above-below (right eye above, left eye below)
-.RE
-.B ab2l or above_below_half_height_left_first
-.RS
-above-below with half height resolution (left eye above, right eye below)
-.RE
-.B ab2r or above_below_half_height_right_first
-.RS
-above-below with half height resolution (right eye above, left eye below)
-.RE
-.RE
-.IPs <out>
-Stereoscopic image format of output. Possible values are all the input formats
-as well as:
-.RS
-.B arcg or anaglyph_red_cyan_gray
-.RS
-anaglyph red/cyan gray (red filter on left eye, cyan filter on right eye)
-.RE
-.B arch or anaglyph_red_cyan_half_color
-.RS
-anaglyph red/cyan half colored (red filter on left eye, cyan filter on right
-eye)
-.RE
-.B arcc or anaglyph_red_cyan_color
-.RS
-anaglyph red/cyan color (red filter on left eye, cyan filter on right eye)
-.RE
-.B arcd or anaglyph_red_cyan_dubois
-.RS
-anaglyph red/cyan color optimized with the least squares projection of dubois
-(red filter on left eye, cyan filter on right eye)
-.RE
-.B agmg or anaglyph_green_magenta_gray
-.RS
-anaglyph green/magenta gray (green filter on left eye, magenta filter on right
-eye)
-.RE
-.B agmh or anaglyph_green_magenta_half_color
-.RS
-anaglyph green/magenta half colored (green filter on left eye, magenta filter on
-right eye)
-.RE
-.B agmc or anaglyph_green_magenta_color
-.RS
-anaglyph green/magenta colored (green filter on left eye, magenta filter on
-right eye)
-.RE
-.B aybg or anaglyph_yellow_blue_gray
-.RS
-anaglyph yellow/blue gray (yellow filter on left eye, blue filter on right eye)
-.RE
-.B aybh or anaglyph_yellow_blue_half_color
-.RS
-anaglyph yellow/blue half colored (yellow filter on left eye, blue filter on
-right eye)
-.RE
-.B aybc or anaglyph_yellow_blue_color
-.RS
-anaglyph yellow/blue colored (yellow filter on left eye, blue filter on right
-eye)
-.RE
-.B irl or interleave_rows_left_first
-.RS
-Interleaved rows (left eye has top row, right eye starts on next row)
-.RE
-.B irr or interleave_rows_right_first
-.RS
-Interleaved rows (right eye has top row, left eye starts on next row)
-.RE
-.B ml or mono_left
-.RS
-mono output (left eye only)
-.RE
-.B mr or mono_right
-.RS
-mono output (right eye only)
-.RE
-.RE
-.I NOTE:
-To use either of the interleaved-rows output formats to display
-full-screen on a row-interleaved 3D display, you will need to scale the
-video to the correct height first using the "scale" filter, if it is not
-already the right height. Typically, that is 1080 rows (so use e.g.
-"-vf scale=1440:1080,stereo3d=sbsl:irl" for a 720p side-by-side encoded
-movie).
-.RE
-.PD 1
-.
-.TP
-.B gradfun[=strength[:radius]]
-Fix the banding artifacts that are sometimes introduced into nearly flat
-regions by truncation to 8bit colordepth.
-Interpolates the gradients that should go where the bands are, and
-dithers them.
-.sp 1
-This filter is designed for playback only.
-Do not use it prior to lossy compression, because compression tends
-to lose the dither and bring back the bands.
-.RSs
-.IPs <strength>
-Maximum amount by which the filter will change any one pixel.
-Also the threshold for detecting nearly flat regions (default: 1.2).
-.IPs <radius>
-Neighborhood to fit the gradient to.
-Larger radius makes for smoother gradients, but also prevents the filter
-from modifying pixels near detailed regions (default: 16).
-.RE
-.
-.TP
-.B fixpts[=options]
-Fixes the presentation timestamps (PTS) of the frames.
-By default, the PTS passed to the next filter is dropped, but the following
-options can change that:
-.RSs
-.IPs print
-Print the incoming PTS.
-.IPs fps=<fps>
-Specify a frame per second value.
-.IPs start=<pts>
-Specify an initial value for the PTS.
-.IPs autostart=<n>
-Uses the
-.IR n th
-incoming PTS as the initial PTS.
-All previous PTS are kept, so setting a huge value or \-1 keeps the PTS
-intact.
-.IPs autofps=<n>
-Uses the
-.IR n th
-incoming PTS after the end of autostart to determine the framerate.
-.RE
-.sp 1
-.RS
-.I EXAMPLE:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf fixpts=fps=24000/1001,ass,fixpts"
-Generates a new sequence of PTS, uses it for ASS subtitles, then drops it.
-Generating a new sequence is useful when the timestamps are reset during the
-program; this is frequent on DVDs.
-Dropping it may be necessary to avoid confusing encoders.
-.RE
-.PD 1
-.sp 1
-.RS
-.I NOTE:
-Using this filter together with any sort of seeking (including -ss and EDLs)
-may make demons fly out of your nose.
-.RE
-.
-.
-.\" --------------------------------------------------------------------------
-.\" environment variables
-.\" --------------------------------------------------------------------------
-.
-.SH ENVIRONMENT VARIABLES
-.
-There are a number of environment variables that can be used to
-control the behavior of MPlayer.
-.
-.TP
-.B MPLAYER_CHARSET (also see \-msgcharset)
-Convert console messages to the specified charset (default: autodetect).
-A value of "noconv" means no conversion.
-.
-.TP
-.B MPLAYER_HOME
-Directory where MPlayer looks for user settings.
-.
-.TP
-.B MPLAYER_LOCALEDIR
-Directory where MPlayer looks for gettext translation files (if enabled).
-.
-.TP
-.B MPLAYER_VERBOSE (also see \-v and \-msglevel)
-Set the initial verbosity level across all message modules (default: 0).
-The resulting verbosity corresponds to that of \-msglevel 5 plus the
-value of MPLAYER_VERBOSE.
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-If LADSPA_PATH is set, it searches for the specified file.
-If it is not set, you must supply a fully specified pathname.
-FIXME: This is also mentioned in the ladspa section.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-Specify a directory in which to store title key values.
-This will speed up descrambling of DVDs which are in the cache.
-The DVDCSS_CACHE directory is created if it does not exist,
-and a subdirectory is created named after the DVD's title
-or manufacturing date.
-If DVDCSS_CACHE is not set or is empty, libdvdcss will use
-the default value which is "${HOME}/.dvdcss/" under Unix and
-"C:\\Documents and Settings\\$USER\\Application Data\\dvdcss\\" under Win32.
-The special value "off" disables caching.
-.
-.TP
-.B DVDCSS_METHOD
-Sets the authentication and decryption method that
-libdvdcss will use to read scrambled discs.
-Can be one of title, key or disc.
-.PD 0
-.RSs
-.IPs "key\ \ "
-is the default method.
-libdvdcss will use a set of calculated player keys to try and get the disc key.
-This can fail if the drive does not recognize any of the player keys.
-.IPs "disc\ "
-is a fallback method when key has failed.
-Instead of using player keys, libdvdcss will crack the disc key using
-a brute force algorithm.
-This process is CPU intensive and requires 64 MB of memory to store
-temporary data.
-.IPs title
-is the fallback when all other methods have failed.
-It does not rely on a key exchange with the DVD drive, but rather uses
-a crypto attack to guess the title key.
-On rare cases this may fail because there is not enough encrypted data
-on the disc to perform a statistical attack, but in the other hand it
-is the only way to decrypt a DVD stored on a hard disc, or a DVD with
-the wrong region on an RPC2 drive.
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-Specify the raw device to use.
-Exact usage will depend on your operating system, the Linux
-utility to set up raw devices is raw(8) for instance.
-Please note that on most operating systems, using a raw device
-requires highly aligned buffers: Linux requires a 2048 bytes
-alignment (which is the size of a DVD sector).
-.
-.TP
-.B DVDCSS_VERBOSE
-Sets the libdvdcss verbosity level.
-.PD 0
-.RSs
-.IPs 0
-Outputs no messages at all.
-.IPs 1
-Outputs error messages to stderr.
-.IPs 2
-Outputs error messages and debug messages to stderr.
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-Skip retrieving all keys on startup.
-Currently disabled.
-.
-.TP
-.B HOME
-FIXME: Document this.
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-FIXME: Document this.
-.
-.TP
-.B AUDIODEV
-FIXME: Document this.
-.
-.TP
-.B AUDIOSERVER
-Specifies the Network Audio System server to which the
-nas audio output driver should connect and the transport
-that should be used.
-If unset DISPLAY is used instead.
-The transport can be one of tcp and unix.
-Syntax is tcp/<somehost>:<someport>, <somehost>:<instancenumber>
-or [unix]:<instancenumber>.
-The NAS base port is 8000 and <instancenumber> is added to that.
-.sp 1
-.RS
-.I EXAMPLES:
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=somehost:0
-Connect to NAS server on somehost using default port and transport.
-.IPs AUDIOSERVER=tcp/somehost:8000
-Connect to NAS server on somehost listening on TCP port 8000.
-.IPs AUDIOSERVER=(unix)?:0
-Connect to NAS server instance 0 on localhost using unix domain sockets.
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-FIXME: Document this.
-.
-.SS osdep:
-.
-.TP
-.B TERM
-FIXME: Document this.
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-FIXME: Document this.
-.
-.TP
-.B FRAMEBUFFER
-FIXME: Document this.
-.
-.TP
-.B HOME
-FIXME: Document this.
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-FIXME: Document this.
-.
-.TP
-.B HOMEPATH
-FIXME: Document this.
-.
-.TP
-.B http_proxy
-FIXME: Document this.
-.
-.TP
-.B LOGNAME
-FIXME: Document this.
-.
-.TP
-.B USERPROFILE
-FIXME: Document this.
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-FIXME: Document this.
-.
-.TP
-.B DISPLAY
-FIXME: Document this.
-.
-.TP
-.B HOME
-FIXME: Document this.
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-FIXME: Document this.
-.
-.TP
-.B BKTR_DEV
-FIXME: Document this.
-.
-.TP
-.B BKTR_FORMAT
-FIXME: Document this.
-.
-.TP
-.B BKTR_FREQUENCY
-FIXME: Document this.
-.
-.TP
-.B http_proxy
-FIXME: Document this.
-.
-.TP
-.B no_proxy
-FIXME: Document this.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Files
-.\" --------------------------------------------------------------------------
-.
-.SH FILES
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-MPlayer system-wide settings
-.
-.TP
-~/.mplayer/\:config
-MPlayer user settings
-.
-.TP
-~/.mplayer/\:input.conf
-input bindings (see '\-input keylist' for the full list)
-.
-.TP
-~/.mplayer/\:font/
-font directory (There must be a font.desc file and files with .RAW extension.)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-cached CSS keys
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Examples
-.\" --------------------------------------------------------------------------
-.
-.SH EXAMPLES OF MPLAYER USAGE
-.
-.PP
-.B Quickstart Blu\-ray playing:
-.nf
-mplayer br:////path/to/disc
-mplayer br:// \-bluray\-device /path/to/disc
-.fi
-.
-.PP
-.B Quickstart DVD playing:
-.nf
-mplayer dvd://1
-.fi
-.
-.PP
-.B Play in Japanese with English subtitles:
-.nf
-mplayer dvd://1 \-alang ja \-slang en
-.fi
-.
-.PP
-.B Play only chapters 5, 6, 7:
-.nf
-mplayer dvd://1 \-chapter 5\-7
-.fi
-.
-.PP
-.B Play only titles 5, 6, 7:
-.nf
-mplayer dvd://5\-7
-.fi
-.
-.PP
-.B Play a multiangle DVD:
-.nf
-mplayer dvd://1 \-dvdangle 2
-.fi
-.
-.PP
-.B Play from a different DVD device:
-.nf
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.fi
-.
-.PP
-.B Play DVD video from a directory with VOB files:
-.nf
-mplayer dvd://1 \-dvd\-device /path/\:to/\:directory/
-.fi
-.
-.PP
-.B Copy a DVD title to hard disk, saving to file "title1.vob":
-.nf
-mplayer dvd://1 \-dumpstream \-dumpfile title1.vob
-.fi
-.
-.PP
-.B Play a DVD with dvdnav from path /dev/sr1:
-.nf
-mplayer dvdnav:////dev/sr1
-.fi
-.
-.PP
-.B Stream from HTTP:
-.nf
-mplayer http://mplayer.hq/example.avi
-.fi
-.
-.PP
-.B Stream using RTSP:
-.nf
-mplayer rtsp://server.example.com/streamName
-.fi
-.
-.PP
-.B Convert subtitles to MPsub format:
-.nf
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Convert subtitles to MPsub format without watching the movie:
-.nf
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null \-vo null \-noframedrop \-benchmark \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B input from standard V4L:
-.nf
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420 \-vo xv
-.fi
-.
-.PP
-.B Play DTS-CD with passthrough:
-.nf
-mplayer \-ac hwdts \-rawaudio format=0x2001 \-cdrom\-device /dev/cdrom cdda://
-.fi
-.br
-You can also use \-afm hwac3 instead of \-ac hwdts.
-Adjust '/dev/cdrom' to match the CD-ROM device on your system.
-If your external receiver supports decoding raw DTS streams,
-you can directly play it via cdda:// without setting format, hwac3 or hwdts.
-.
-.PP
-.B Play a 6-channel AAC file with only two speakers:
-.nf
-mplayer \-rawaudio format=0xff \-demuxer rawaudio \-af pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac
-.fi
-.br
-You might want to play a bit with the pan values (e.g multiply with a value) to
-increase volume or avoid clipping.
-.
-.PP
-.B checkerboard invert with geq filter:
-.nf
-mplayer \-vf geq='128+(p(X\\,Y)\-128)*(0.5\-gt(mod(X/SW\\,128)\\,64))*(0.5\-gt(mod(Y/SH\\,128)\\,64))*4'
-.fi
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Bugs, authors, standard disclaimer
-.\" --------------------------------------------------------------------------
-.
-.SH AUTHORS
-MPlayer was initially written by Arpad Gereoffy.
-See the AUTHORS file for a list of some of the many other contributors.
-.PP
-MPlayer is (C) 2000\-2011 The MPlayer Team
-.PP
-This man page was written mainly by Gabucino, Jonas Jermann and Diego Biurrun.
-.\" end of file
diff --git a/DOCS/man/en/mplayer.rst b/DOCS/man/en/mplayer.rst
new file mode 100644
index 0000000..6586353
--- /dev/null
+++ b/DOCS/man/en/mplayer.rst
@@ -0,0 +1,361 @@
+========
+mplayer2
+========
+
+------------
+movie player
+------------
+
+:Manual section: 1
+
+
+Synopsis
+========
+
+| **mplayer** [options] [file|URL|playlist|-]
+| **mplayer** [options] file1 [specific options] [file2] [specific options]
+| **mplayer** [options] {group of files and options} [group-specific options]
+| **mplayer** [br]://[title][/device] [options]
+| **mplayer** [dvd|dvdnav]://[title|[start\_title]-end\_title][/device] [options]
+| **mplayer** \vcd://track[/device]
+| **mplayer** \tv://[channel][/input_id] [options]
+| **mplayer** radio://[channel|frequency][/capture] [options]
+| **mplayer** \pvr:// [options]
+| **mplayer** \dvb://[card\_number@]channel [options]
+| **mplayer** \mf://[filemask|\@listfile] [-mf options] [options]
+| **mplayer** [cdda|cddb]://track[-endtrack][:speed][/device] [options]
+| **mplayer** \cue://file[:track] [options]
+| **mplayer** [file|mms[t]|http|http\_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]:// [user:pass\@]URL[:port] [options]
+| **mplayer** \sdp://file [options]
+| **mplayer** \mpst://host[:port]/URL [options]
+| **mplayer** \tivo://host/[list|llist|fsid] [options]
+
+
+Description
+===========
+
+**mplayer** is a movie player for Linux (runs on many other platforms and CPU
+architectures, see the documentation). It supports a wide variety of video
+file formats, audio and video codecs, and subtitle types. Special input URL
+types are available to read input from a variety of sources other than disk
+files. Depending on platform, a variety of different video and audio output
+methods are supported.
+
+Usage examples to get you started quickly can be found at the end of this man
+page.
+
+
+.. include:: control.rst
+
+
+Usage
+=====
+
+Every *flag* option has a *no-flag* counterpart, e.g. the opposite of the
+``--fs`` option is ``--no-fs``. ``--fs=yes`` is same as ``--fs``, ``--fs=no``
+is the same as ``--no-fs``.
+
+If an option is marked as *(XXX only)*, it will only work in combination with
+the *XXX* option or if *XXX* is compiled in.
+
+| *NOTE*: The suboption parser (used for example for ``--ao=pcm`` suboptions)
+ supports a special kind of string-escaping intended for use with external
+ GUIs.
+| It has the following format:
+| %n%string\_of\_length\_n
+| *EXAMPLES*:
+| `mplayer --ao pcm:file=%10%C:test.wav test.avi`
+| Or in a script:
+| `mplayer --ao pcm:file=%\`expr length "$NAME"\`%"$NAME" test.avi`
+
+
+Configuration Files
+===================
+
+You can put all of the options in configuration files which will be read every
+time MPlayer is run. The system-wide configuration file 'mplayer.conf' is in
+your configuration directory (e.g. ``/etc/mplayer`` or
+``/usr/local/etc/mplayer``), the user specific one is ``~/.mplayer/config``.
+User specific options override system-wide options and options given on the
+command line override either. The syntax of the configuration files is
+``option=<value>``, everything after a *#* is considered a comment. Options
+that work without values can be enabled by setting them to *yes* or *1* or
+*true* and disabled by setting them to *no* or *0* or *false*. Even suboptions
+can be specified in this way.
+
+You can also write file-specific configuration files. If you wish to have a
+configuration file for a file called 'movie.avi', create a file named
+'movie.avi.conf' with the file-specific options in it and put it in
+``~/.mplayer/``. You can also put the configuration file in the same directory
+as the file to be played, as long as you give the ``--use-filedir-conf``
+option (either on the command line or in your global config file). If a
+file-specific configuration file is found in the same directory, no
+file-specific configuration is loaded from ``~/.mplayer``. In addition, the
+``--use-filedir-conf`` option enables directory-specific configuration files.
+For this, MPlayer first tries to load a mplayer.conf from the same directory
+as the file played and then tries to load any file-specific configuration.
+
+*EXAMPLE MPLAYER CONFIGURATION FILE:*
+
+| # Use gl3 video output by default.
+| vo=gl3
+| # I love practicing handstands while watching videos.
+| flip=yes
+| # Decode multiple files from PNG,
+| # start with mf://filemask
+| mf=type=png:fps=25
+| # Eerie negative images are cool.
+| vf=eq2=1.0:-0.8
+
+
+Profiles
+========
+
+To ease working with different configurations profiles can be defined in the
+configuration files. A profile starts with its name between square brackets,
+e.g. *[my-profile]*. All following options will be part of the profile. A
+description (shown by ``--profile=help``) can be defined with the profile-desc
+option. To end the profile, start another one or use the profile name
+*default* to continue with normal options.
+
+*EXAMPLE MPLAYER PROFILE:*
+
+| [protocol.dvd]
+| profile-desc="profile for dvd:// streams"
+| vf=pp=hb/vb/dr/al/fd
+| alang=en
+|
+| [protocol.dvdnav]
+| profile-desc="profile for dvdnav:// streams"
+| profile=protocol.dvd
+| mouse-movements=yes
+| nocache=yes
+|
+| [extension.flv]
+| profile-desc="profile for .flv files"
+| flip=yes
+
+
+Options
+=======
+
+.. include:: options.rst
+
+.. include:: ao.rst
+
+.. include:: vo.rst
+
+.. include:: af.rst
+
+.. include:: vf.rst
+
+
+Environment Variables
+=====================
+
+There are a number of environment variables that can be used to control the
+behavior of MPlayer.
+
+``MPLAYER_CHARSET`` (see also ``--msgcharset``)
+ Convert console messages to the specified charset (default: autodetect). A
+ value of "noconv" means no conversion.
+
+``MPLAYER_HOME``
+ Directory where MPlayer looks for user settings.
+
+``MPLAYER_LOCALEDIR``
+ Directory where MPlayer looks for gettext translation files (if enabled).
+
+``MPLAYER_VERBOSE`` (see also ``-v`` and ``--msglevel``)
+ Set the initial verbosity level across all message modules (default: 0).
+ The resulting verbosity corresponds to that of ``--msglevel=5`` plus the
+ value of ``MPLAYER_VERBOSE``.
+
+libaf:
+ ``LADSPA_PATH``
+ If ``LADSPA_PATH`` is set, it searches for the specified file. If it
+ is not set, you must supply a fully specified pathname.
+
+ FIXME: This is also mentioned in the ladspa section.
+
+libdvdcss:
+ ``DVDCSS_CACHE``
+ Specify a directory in which to store title key values. This will
+ speed up descrambling of DVDs which are in the cache. The
+ ``DVDCSS_CACHE`` directory is created if it does not exist, and a
+ subdirectory is created named after the DVD's title or manufacturing
+ date. If ``DVDCSS_CACHE`` is not set or is empty, libdvdcss will use
+ the default value which is ``${HOME}/.dvdcss/`` under Unix and
+ ``C:\Documents and Settings\$USER\Application Data\dvdcss\`` under
+ Win32. The special value "off" disables caching.
+
+ ``DVDCSS_METHOD``
+ Sets the authentication and decryption method that libdvdcss will use
+ to read scrambled discs. Can be one of title, key or disc.
+
+ key
+ is the default method. libdvdcss will use a set of calculated
+ player keys to try and get the disc key. This can fail if the drive
+ does not recognize any of the player keys.
+
+ disc
+ is a fallback method when key has failed. Instead of using player
+ keys, libdvdcss will crack the disc key using a brute force
+ algorithm. This process is CPU intensive and requires 64 MB of
+ memory to store temporary data.
+
+ title
+ is the fallback when all other methods have failed. It does not
+ rely on a key exchange with the DVD drive, but rather uses a crypto
+ attack to guess the title key. On rare cases this may fail because
+ there is not enough encrypted data on the disc to perform a
+ statistical attack, but on the other hand it is the only way to
+ decrypt a DVD stored on a hard disc, or a DVD with the wrong region
+ on an RPC2 drive.
+
+ ``DVDCSS_RAW_DEVICE``
+ Specify the raw device to use. Exact usage will depend on your
+ operating system, the Linux utility to set up raw devices is raw(8)
+ for instance. Please note that on most operating systems, using a raw
+ device requires highly aligned buffers: Linux requires a 2048 bytes
+ alignment (which is the size of a DVD sector).
+
+ ``DVDCSS_VERBOSE``
+ Sets the libdvdcss verbosity level.
+
+ :0: Outputs no messages at all.
+ :1: Outputs error messages to stderr.
+ :2: Outputs error messages and debug messages to stderr.
+
+ ``DVDREAD_NOKEYS``
+ Skip retrieving all keys on startup. Currently disabled.
+
+ ``HOME``
+ FIXME: Document this.
+
+osdep:
+ ``TERM``
+ FIXME: Document this.
+
+libvo:
+ ``DISPLAY``
+ FIXME: Document this.
+
+ ``FRAMEBUFFER``
+ FIXME: Document this.
+
+ ``HOME``
+ FIXME: Document this.
+
+libmpdemux:
+
+ ``HOME``
+ FIXME: Document this.
+
+ ``HOMEPATH``
+ FIXME: Document this.
+
+ ``http_proxy``
+ FIXME: Document this.
+
+ ``LOGNAME``
+ FIXME: Document this.
+
+ ``USERPROFILE``
+ FIXME: Document this.
+
+libavformat:
+
+ ``http_proxy``
+ FIXME: Document this.
+
+ ``no_proxy``
+ FIXME: Document this.
+
+
+Files
+=====
+
+``/usr/local/etc/mplayer/mplayer.conf``
+ MPlayer system-wide settings
+
+``~/.mplayer/config``
+ MPlayer user settings
+
+``~/.mplayer/input.conf``
+ input bindings (see ``--input=keylist`` for the full list)
+
+``~/.mplayer/subfont.ttf``
+ Fallback font file. Normally unnecessary; only really needed in the
+ very unusual case where the player uses a libass library that has
+ fontconfig disabled.
+
+``~/.mplayer/DVDkeys/``
+ cached CSS keys
+
+
+Examples
+=========================
+
+Quickstart Blu-ray playing:
+ - ``mplayer br:////path/to/disc``
+ - ``mplayer br:// --bluray-device=/path/to/disc``
+
+Quickstart DVD playing:
+ ``mplayer dvd://1``
+
+Play in Japanese with English subtitles:
+ ``mplayer dvd://1 --alang=ja --slang=en``
+
+Play only chapters 5, 6, 7:
+ ``mplayer dvd://1 --chapter=5-7``
+
+Play only titles 5, 6, 7:
+ ``mplayer dvd://5-7``
+
+Play a multiangle DVD:
+ ``mplayer dvd://1 --dvdangle=2``
+
+Play from a different DVD device:
+ ``mplayer dvd://1 --dvd-device=/dev/dvd2``
+
+Play DVD video from a directory with VOB files:
+ ``mplayer dvd://1 --dvd-device=/path/to/directory/``
+
+Copy a DVD title to hard disk, saving to file title1.vob :
+ ``mplayer dvd://1 --dumpstream --dumpfile=title1.vob``
+
+Play a DVD with dvdnav from path /dev/sr1:
+ ``mplayer dvdnav:////dev/sr1``
+
+Stream from HTTP:
+ ``mplayer http://mplayer.hq/example.avi``
+
+Stream using RTSP:
+ ``mplayer rtsp://server.example.com/streamName``
+
+Convert subtitles to MPsub format:
+ ``mplayer dummy.avi --sub=source.sub --dumpmpsub``
+
+Convert subtitles to MPsub format without watching the movie:
+ ``mplayer /dev/zero --rawvideo=pal:fps=xx --demuxer=rawvideo --vc=null --vo=null --noframedrop --benchmark --sub=source.sub --dumpmpsub``
+
+input from standard V4L:
+ ``mplayer tv:// --tv=driver=v4l:width=640:height=480:outfmt=i420 --vc=rawi420 --vo=xv``
+
+Play DTS-CD with passthrough:
+ ``mplayer --ac=hwdts --rawaudio=format=0x2001 --cdrom-device=/dev/cdrom cdda://``
+
+ You can also use ``--afm=hwac3`` instead of ``--ac=hwdts``. Adjust
+ ``/dev/cdrom`` to match the CD-ROM device on your system. If your external
+ receiver supports decoding raw DTS streams, you can directly play it via
+ ``cdda://`` without setting format, hwac3 or hwdts.
+
+Play a 6-channel AAC file with only two speakers:
+ ``mplayer --rawaudio=format=0xff --demuxer=rawaudio --af=pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac``
+
+ You might want to play a bit with the pan values (e.g multiply with a
+ value) to increase volume or avoid clipping.
+
+checkerboard invert with geq filter:
+ ``mplayer --vf=geq='128+(p(X\,Y)-128)*(0.5-gt(mod(X/SW\,128)\,64))*(0.5-gt(mod(Y/SH\,128)\,64))*4'``
diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst
new file mode 100644
index 0000000..8d2e354
--- /dev/null
+++ b/DOCS/man/en/options.rst
@@ -0,0 +1,2481 @@
+--a52drc=<level>
+ Select the Dynamic Range Compression level for AC-3 audio streams. <level>
+ is a float value ranging from 0 to 1, where 0 means no compression and 1
+ (which is the default) means full compression (make loud passages more
+ silent and vice versa). Values up to 2 are also accepted, but are purely
+ experimental. This option only shows an effect if the AC-3 stream contains
+ the required range compression information.
+
+--abs=<value>
+ (``--ao=oss`` only) (OBSOLETE)
+ Override audio driver/card buffer size detection.
+
+--ac=<[-\|+]codec1,[-\|+]codec2,...[,]>
+ Specify a priority list of audio codecs to be used, according to their
+ codec name in codecs.conf. Use a '-' before the codec name to omit it.
+ Use a '+' before the codec name to force it, this will likely crash! If
+ the list has a trailing ',' MPlayer will fall back on codecs not contained
+ in the list.
+
+ *NOTE*: See ``--ac=help`` for a full list of available codecs.
+
+ *EXAMPLE*:
+
+ :``--ac=mp3acm``: Force the l3codeca.acm MP3 codec.
+ :``--ac=mad,``: Try libmad first, then fall back on others.
+ :``--ac=hwac3,a52,``: Try hardware AC-3 passthrough, software AC-3, then
+ others.
+ :``--ac=hwdts,``: Try hardware DTS passthrough, then fall back on
+ others.
+ :``--ac=-ffmp3,``: Skip FFmpeg's MP3 decoder.
+
+--adapter=<value>
+ Set the graphics card that will receive the image. You can get a list of
+ available cards when you run this option with ``-v``. Currently only works
+ with the directx video output driver.
+
+--af=<filter1[=parameter1:parameter2:...],filter2,...>
+ Specify a list of audio filters to apply to the audio stream. See
+ 'Audio Filters`_ for details and descriptions of the available filters.
+ The option variants ``--af-add``, ``--af-pre``, ``--af-del`` and
+ ``--af-clr`` exist to modify a previously specified list, but you
+ shouldn't need these for typical use.
+
+--af-adv=<force=(0-7):list=(filters)>
+ See also ``--af``.
+ Specify advanced audio filter options:
+
+ force=<0-7>
+ Forces the insertion of audio filters to one of the following:
+
+ 0
+ Use completely automatic filter insertion (currently identical to
+ 1).
+ 1
+ Optimize for accuracy (default).
+ 2
+ Optimize for speed. *Warning*: Some features in the audio filters
+ may silently fail, and the sound quality may drop.
+ 3
+ Use no automatic insertion of filters and no optimization.
+ *Warning*: It may be possible to crash MPlayer using this setting.
+ 4
+ Use automatic insertion of filters according to 0 above, but use
+ floating point processing when possible.
+ 5
+ Use automatic insertion of filters according to 1 above, but use
+ floating point processing when possible.
+ 6
+ Use automatic insertion of filters according to 2 above, but use
+ floating point processing when possible.
+ 7
+ Use no automatic insertion of filters according to 3 above, and
+ use floating point processing when possible.
+
+ list=<filters>
+ Same as ``--af``.
+
+--afm=<driver1,driver2,...>
+ Specify a priority list of audio codec families to be used, according to
+ their codec name in codecs.conf. Falls back on the default codecs if none
+ of the given codec families work.
+
+ *NOTE*: See ``--afm=help`` for a full list of available codec families.
+
+ *EXAMPLE*:
+
+ :``--afm=ffmpeg``: Try FFmpeg's libavcodec codecs first.
+ :``--afm=acm,dshow``: Try Win32 codecs first.
+
+--aid=<ID>
+ Select audio channel (MPEG: 0-31, AVI/OGM: 1-99, ASF/RM: 0-127, VOB(AC-3):
+ 128-159, VOB(LPCM): 160-191, MPEG-TS 17-8190). MPlayer prints the
+ available audio IDs when run in verbose (-v) mode. When playing an MPEG-TS
+ stream, MPlayer will use the first program (if present) with the chosen
+ audio stream. See also ``--alang``.
+
+--alang=<languagecode[,languagecode,...]>
+ Specify a priority list of audio languages to use. Different container
+ formats employ different language codes. DVDs use ISO 639-1 two letter
+ language codes, Matroska, MPEG-TS and NUT use ISO 639-2 three letter
+ language codes while OGM uses a free-form identifier. MPlayer prints the
+ available languages when run in verbose (``-v``) mode. See also ``--aid``.
+
+ *EXAMPLE*:
+
+ ``mplayer dvd://1 --alang=hu,en``
+ Chooses the Hungarian language track on a DVD and falls back on
+ English if Hungarian is not available.
+ ``mplayer --alang=jpn example.mkv``
+ Plays a Matroska file in Japanese.
+
+--ao=<driver1[:suboption1[=value]:...],driver2,...[,]>
+ Specify a priority list of audio output drivers to be used. For
+ interactive use you'd normally specify a single one to use, but in
+ configuration files specifying a list of fallbacks may make sense. See
+ `Audio Output Drivers`_ for details and descriptions of available
+ drivers.
+
+--ar, --no-ar
+ Enable/disable AppleIR remote support. Enabled by default.
+
+--aspect=<ratio>
+ Override movie aspect ratio, in case aspect information is incorrect or
+ missing in the file being played. See also ``--noaspect``.
+
+ *EXAMPLE*:
+
+ - ``--aspect=4:3`` or ``--aspect=1.3333``
+ - ``--aspect=16:9`` or ``--aspect=1.7777``
+
+--ass, --no-ass
+ Use libass to render all text subtitles. This enables support for the
+ native styling of SSA/ASS subtitles, and also support for some styling
+ features in other subtitle formats by conversion to ASS markup. Enabled by
+ default if the player was compiled with libass support.
+
+ *NOTE*: Some of the other subtitle options were written for the old
+ non-libass subtitle rendering system and may not work the same way or at
+ all with libass rendering enabled.
+
+--ass-border-color=<value>
+ Sets the border (outline) color for text subtitles. The color format is
+ RRGGBBAA.
+
+--ass-bottom-margin=<value>
+ Adds a black band at the bottom of the frame. The SSA/ASS renderer can
+ place subtitles there (with ``--ass-use-margins``).
+
+--ass-color=<value>
+ Sets the color for text subtitles. The color format is RRGGBBAA.
+
+--ass-font-scale=<value>
+ Set the scale coefficient to be used for fonts in the SSA/ASS renderer.
+
+--ass-force-style=<[Style.]Param=Value[,...]>
+ Override some style or script info parameters.
+
+ *EXAMPLE*:
+
+ - ``--ass-force-style=FontName=Arial,Default.Bold=1``
+ - ``--ass-force-style=PlayResY=768``
+
+--ass-hinting=<type>
+ Set hinting type. <type> can be:
+
+ :0: no hinting
+ :1: FreeType autohinter, light mode
+ :2: FreeType autohinter, normal mode
+ :3: font native hinter
+ :0-3 + 4: The same, but hinting will only be performed if the OSD is
+ rendered at screen resolution and will therefore not be scaled.
+
+ The default value is 0 (no hinting).
+
+--ass-line-spacing=<value>
+ Set line spacing value for SSA/ASS renderer.
+
+--ass-styles=<filename>
+ Load all SSA/ASS styles found in the specified file and use them for
+ rendering text subtitles. The syntax of the file is exactly like the ``[V4
+ Styles]`` / ``[V4+ Styles]`` section of SSA/ASS.
+
+--ass-top-margin=<value>
+ Adds a black band at the top of the frame. The SSA/ASS renderer can place
+ toptitles there (with ``--ass-use-margins``).
+
+--ass-use-margins
+ Enables placing toptitles and subtitles in black borders when they are
+ available.
+
+--ass-vsfilter-aspect-compat
+ Stretch SSA/ASS subtitles when playing anamorphic videos for compatibility
+ with traditional VSFilter behavior. This switch has no effect when the
+ video is stored with square pixels.
+
+ The renderer historically most commonly used for the SSA/ASS subtitle
+ formats, VSFilter, had questionable behavior that resulted in subtitles
+ being stretched too if the video was stored in anamorphic format that
+ required scaling for display. This behavior is usually undesirable and
+ newer VSFilter versions may behave differently. However, many existing
+ scripts compensate for the stretching by modifying things in the opposite
+ direction. Thus if such scripts are displayed "correctly" they will not
+ appear as intended. This switch enables emulation of the old VSFilter
+ behavior (undesirable but expected by many existing scripts).
+
+ Enabled by default.
+
+--audio-demuxer=<[+]name>
+ Force audio demuxer type when using ``--audiofile``. Use a '+' before the
+ name to force it, this will skip some checks! Give the demuxer name as
+ printed by ``--audio-demuxer=help``. ``--audio-demuxer=audio`` forces MP3.
+
+--audiofile=<filename>
+ Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a
+ movie.
+
+--audiofile-cache=<kBytes>
+ Enables caching for the stream used by ``--audiofile``, using the
+ specified amount of memory.
+
+--ausid=<ID>
+ Select audio substream channel. Currently the valid range is 0x55..0x75
+ and applies only to MPEG-TS when handled by the native demuxer (not by
+ libavformat). The format type may not be correctly identified because of
+ how this information (or lack thereof) is embedded in the stream, but it
+ will demux correctly the audio streams when multiple substreams are
+ present. MPlayer prints the available substream IDs when run with
+ ``--identify``. See also ``--alang``.
+
+--autoq=<quality>
+ Used with ``--vf=[s]pp``.
+ Dynamically changes the level of postprocessing depending on the available
+ spare CPU time. The number you specify will be the maximum level used.
+ Usually you can use some big number. You have to use ``--vf=[s]pp``
+ without parameters in order for this to work.
+
+--autosub, --no-autosub
+ Load additional subtitle files matching the video filename. Enabled by
+ default. See also ``--sub-fuzziness``.
+
+--autosync=<factor>
+ Gradually adjusts the A/V sync based on audio delay measurements.
+ Specifying ``--autosync=0``, the default, will cause frame timing to be
+ based entirely on audio delay measurements. Specifying ``--autosync=1``
+ will do the same, but will subtly change the A/V correction algorithm. An
+ uneven video framerate in a movie which plays fine with ``--nosound`` can
+ often be helped by setting this to an integer value greater than 1. The
+ higher the value, the closer the timing will be to ``--nosound``. Try
+ ``--autosync=30`` to smooth out problems with sound drivers which do not
+ implement a perfect audio delay measurement. With this value, if large A/V
+ sync offsets occur, they will only take about 1 or 2 seconds to settle
+ out. This delay in reaction time to sudden A/V offsets should be the only
+ side-effect of turning this option on, for all sound drivers.
+
+--bandwidth=<Bytes>
+ Specify the maximum bandwidth for network streaming (for servers that are
+ able to send content in different bitrates). Useful if you want to watch
+ live streamed media behind a slow connection. With Real RTSP streaming, it
+ is also used to set the maximum delivery bandwidth allowing faster cache
+ filling and stream dumping.
+
+--benchmark
+ Prints some statistics on CPU usage and dropped frames at the end of
+ playback. Use in combination with ``--nosound`` and ``--vo=null`` for
+ benchmarking only the video codec.
+
+ *NOTE*: With this option MPlayer will also ignore frame duration when
+ playing only video (you can think of that as infinite fps).
+
+--bluray-angle=<ID>
+ Some Blu-ray discs contain scenes that can be viewed from multiple angles.
+ Here you can tell MPlayer which angles to use (default: 1).
+
+--bluray-chapter=<ID>
+ (Blu-ray only)
+ Tells MPlayer which Blu-ray chapter to start the current title from
+ (default: 1).
+
+--bluray-device=<path>
+ (Blu-ray only)
+ Specify the Blu-ray disc location. Must be a directory with Blu-ray
+ structure.
+
+--border, --no-border
+ Play movie with window border and decorations. Since this is on by
+ default, use ``--no-border`` to disable the standard window decorations.
+
+--bpp=<depth>
+ Override the autodetected color depth. Only supported by the fbdev, dga,
+ svga, vesa video output drivers.
+
+--brightness=<-100-100>
+ Adjust the brightness of the video signal (default: 0). Not supported by
+ all video output drivers.
+
+--cache=<kBytes>
+ Enable caching of the input stream (if not already enabled) and set the
+ size of the cache in kilobytes. Caching is enabled by default (with a
+ default cache size) for network streams. May be useful when playing files
+ from slow media, but can also have negative effects, especially with file
+ formats that require a lot of seeking, such as mp4. See also ``--nocache``.
+
+--cache-min=<percentage>
+ Playback will start when the cache has been filled up to <percentage> of
+ the total.
+
+--cache-seek-min=<percentage>
+ If a seek is to be made to a position within <percentage> of the cache
+ size from the current position, MPlayer will wait for the cache to be
+ filled to this position rather than performing a stream seek (default:
+ 50).
+
+--capture
+ Allows capturing the primary stream (not additional audio tracks or other
+ kind of streams) into the file specified by ``--dumpfile`` or by default.
+ If this option is given, capturing can be started and stopped by pressing
+ the key bound to this function (see section `Interactive Control`_). Same
+ as for ``--dumpstream``, this will likely not produce usable results for
+ anything else than MPEG streams. Note that, due to cache latencies,
+ captured data may begin and end somewhat delayed compared to what you see
+ displayed.
+
+--cdda=<option1:option2>
+ This option can be used to tune the CD Audio reading feature of MPlayer.
+
+ Available options are:
+
+ speed=<value>
+ Set CD spin speed.
+
+ paranoia=<0-2>
+ Set paranoia level. Values other than 0 seem to break playback of
+ anything but the first track.
+
+ :0: disable checking (default)
+ :1: overlap checking only
+ :2: full data correction and verification
+
+ generic-dev=<value>
+ Use specified generic SCSI device.
+
+ sector-size=<value>
+ Set atomic read size.
+
+ overlap=<value>
+ Force minimum overlap search during verification to <value> sectors.
+
+ toc-bias
+ Assume that the beginning offset of track 1 as reported in the TOC
+ will be addressed as LBA 0. Some Toshiba drives need this for getting
+ track boundaries correct.
+
+ toc-offset=<value>
+ Add <value> sectors to the values reported when addressing tracks. May
+ be negative.
+
+ (no)skip
+ (Never) accept imperfect data reconstruction.
+
+--cdrom-device=<path>
+ Specify the CD-ROM device (default: ``/dev/cdrom``).
+
+--channels=<number>
+ Request the number of playback channels (default: 2). MPlayer asks the
+ decoder to decode the audio into as many channels as specified. Then it is
+ up to the decoder to fulfill the requirement. This is usually only
+ important when playing videos with AC-3 audio (like DVDs). In that case
+ liba52 does the decoding by default and correctly downmixes the audio into
+ the requested number of channels. To directly control the number of output
+ channels independently of how many channels are decoded, use the channels
+ filter (``--af=channels``).
+
+ *NOTE*: This option is honored by codecs (AC-3 only), filters (surround)
+ and audio output drivers (OSS at least).
+
+ Available options are:
+
+ :2: stereo
+ :4: surround
+ :6: full 5.1
+ :8: full 7.1
+
+--chapter=<start[-end]>
+ Specify which chapter to start playing at. Optionally specify which
+ chapter to end playing at (default: 1).
+
+--chapter-merge-threshold=<number>
+ Threshold for merging almost consecutive ordered chapter parts in
+ milliseconds (default: 100). Some Matroska files with ordered chapters
+ have inaccurate chapter end timestamps, causing a small gap between the
+ end of one chapter and the start of the next one when they should match.
+ If the end of one playback part is less than the given threshold away from
+ the start of the next one then keep playing video normally over the
+ chapter change instead of doing a seek.
+
+--codecpath=<dir>
+ Specify a directory for binary codecs.
+
+--codecs-file=<filename>
+ Override the standard search path and use the specified file instead of
+ the builtin codecs.conf.
+
+--colorkey=<number>
+ Changes the colorkey to an RGB value of your choice. 0x000000 is black and
+ 0xffffff is white. Only supported by the xv (see ``--vo=xv:ck``) and
+ directx video output drivers. See also ``--nocolorkey``.
+
+--colormatrix=<colorspace>
+ Controls the YUV to RGB color space conversion when playing video. There
+ are various standards. Normally, BT.601 should be used for SD video, and
+ BT.709 for HD video. (This is done by default.) Using incorrect color space
+ results in slightly under or over saturated and shifted colors.
+
+ The color space conversion is additionally influenced by the related
+ options --colormatrix-input-range and --colormatrix-output-range.
+
+ These options are not always supported. Different video outputs provide
+ varying degrees of support. The gl and vdpau video output drivers usually
+ offer full support. The xv output can set the color space if the system
+ video driver supports it, but not input and output levels. The scale video
+ filter can configure color space and input levels, but only if the output
+ format is RGB (if the video output driver supports RGB output, you can
+ force this with ``-vf scale,format=rgba``).
+
+ If this option is set to ``auto`` (which is the default), the video's
+ color space flag will be used. If that flag is unset, the color space
+ will be selected automatically. This is done using a simple heuristic that
+ attempts to distinguish SD and HD video. If the video is larger than
+ 1279x576 pixels, BT.709 (HD) will be used; otherwise BT.601 (SD) is
+ selected.
+
+ Available color spaces are:
+
+ :auto: automatic selection (default)
+ :BT.601: ITU-R BT.601 (SD)
+ :BT.709: ITU-R BT.709 (HD)
+ :SMPTE-240M: SMPTE-240M
+ :sd: alias for BT.601
+ :hd: alias for BT.709
+ :0: compatibility alias for auto (do not use)
+ :1: compatibility alias for BT.601 (do not use)
+ :2: compatibility alias for BT.709 (do not use)
+ :3: compatibility alias for SMPTE-240M (do not use)
+
+--colormatrix-input-range=<color-range>
+ YUV color levels used with YUV to RGB conversion. This option is only
+ necessary when playing broken files, which don't follow standard color
+ levels or which are flagged wrong. If the video doesn't specify its
+ color range, it is assumed to be limited range.
+
+ The same limitations as with --colormatrix apply.
+
+ Available color ranges are:
+
+ :auto: automatic selection (normally limited range) (default)
+ :limited: limited range (16-235 for luma, 16-240 for chroma)
+ :full: full range (0-255 for both luma and chroma)
+
+--colormatrix-output-range=<color-range>
+ RGB color levels used with YUV to RGB conversion. Normally, output devices
+ such as PC monitors use full range color levels. However, some TVs and
+ video monitors expect studio level RGB. Providing full range output to a
+ device expecting studio level input results in crushed blacks and whites,
+ the reverse in dim grey blacks and dim whites.
+
+ The same limitations as with --colormatrix apply.
+
+ Available color ranges are:
+
+ :auto: automatic selection (equals to full range) (default)
+ :limited: limited range (16-235 per component), studio levels
+ :full: full range (0-255 per component), PC levels
+
+--consolecontrols, --no-consolecontrols
+ ``--no-consolecontrols`` prevents the player from reading key events from
+ standard input. Useful when reading data from standard input. This is
+ automatically enabled when ``-`` is found on the command line. There are
+ situations where you have to set it manually, e.g. if you open
+ ``/dev/stdin`` (or the equivalent on your system), use stdin in a playlist
+ or intend to read from stdin later on via the loadfile or loadlist slave
+ commands.
+
+--contrast=<-100-100>
+ Adjust the contrast of the video signal (default: 0). Not supported by all
+ video output drivers.
+
+--cookies, --no-cookies
+ (network only)
+ Support cookies when making HTTP requests. Disabled by default.
+
+--cookies-file=<filename>
+ (network only)
+ Read HTTP cookies from <filename> (default: ``~/.mozilla/`` and
+ ``~/.netscape/``) and skip reading from default locations. The file is
+ assumed to be in Netscape format.
+
+--correct-pts, --no-correct-pts
+ Switches MPlayer to a mode where timestamps for video frames are
+ calculated differently and video filters which add new frames or modify
+ timestamps of existing ones are supported. Now enabled automatically for
+ most common file formats. The more accurate timestamps can be visible for
+ example when playing subtitles timed to scene changes with the ``--ass``
+ option. Without ``--correct-pts`` the subtitle timing will typically be
+ off by some frames. This option does not work correctly with some demuxers
+ and codecs.
+
+--crash-debug
+ DEBUG CODE.
+ Automatically attaches gdb upon crash or **SIGTRAP**. Support must be
+ compiled in by configuring with ``--enable-crash-debug``.
+
+--cursor-autohide-delay=<number>
+ Make mouse cursor automatically hide after given number of milliseconds.
+ A value of -1 will disable cursor autohide. A value of -2 means the cursor
+ will stay hidden. Supported by video output drivers which use X11 or
+ OS X Cocoa.
+
+--delay=<sec>
+ audio delay in seconds (positive or negative float value). Negative values
+ delay the audio, and positive values delay the video.
+
+--demuxer=<[+]name>
+ Force demuxer type. Use a '+' before the name to force it, this will skip
+ some checks! Give the demuxer name as printed by ``--demuxer=help``.
+
+--display=<name>
+ (X11 only)
+ Specify the hostname and display number of the X server you want to
+ display on.
+
+ *EXAMPLE*:
+
+ ``--display=xtest.localdomain:0``
+
+--double, --no-double
+ Double buffering. The option to disable this exists mostly for debugging
+ purposes and should not normally be used.
+
+--doubleclick-time
+ Time in milliseconds to recognize two consecutive button presses as a
+ double-click (default: 300). Set to 0 to let your windowing system decide
+ what a double-click is (``--vo=directx`` only).
+
+--dr
+ Turns on direct rendering (not supported by all codecs and video outputs)
+
+ *WARNING*: May cause OSD/SUB corruption!
+
+--dumpaudio
+ Dumps raw compressed audio stream to ``./stream.dump`` (useful with
+ MPEG/AC-3, in most other cases the resulting file will not be playable).
+ If you give more than one of ``--dumpaudio``, ``--dumpvideo``,
+ ``--dumpstream`` on the command line only the last one will work.
+
+--dumpfile=<filename>
+ Specify which file MPlayer should dump to. Should be used together with
+ ``--dumpaudio`` / ``--dumpvideo`` / ``--dumpstream`` / ``--capture``.
+
+--dumpjacosub
+ Convert the given subtitle (specified with the ``--sub`` option) to the
+ time-based JACOsub subtitle format. Creates a ``dumpsub.js`` file in the
+ current directory.
+
+--dumpmicrodvdsub
+ Convert the given subtitle (specified with the ``--sub`` option) to the
+ MicroDVD subtitle format. Creates a dumpsub.sub file in the current
+ directory.
+
+--dumpmpsub
+ Convert the given subtitle (specified with the ``--sub`` option) to
+ MPlayer's subtitle format, MPsub. Creates a dump.mpsub file in the current
+ directory.
+
+--dumpsami
+ Convert the given subtitle (specified with the ``--sub`` option) to the
+ time-based SAMI subtitle format. Creates a ``dumpsub.smi`` file in the
+ current directory.
+
+--dumpsrtsub
+ Convert the given subtitle (specified with the ``--sub`` option) to the
+ time-based SubViewer (SRT) subtitle format. Creates a ``dumpsub.srt`` file
+ in the current directory.
+
+ *NOTE*: Some broken hardware players choke on SRT subtitle files with Unix
+ line endings. If you are unlucky enough to have such a box, pass your
+ subtitle files through ``unix2dos`` or a similar program to replace Unix
+ line endings with DOS/Windows line endings.
+
+--dumpstream
+ Dumps the raw stream to ``./stream.dump``. Useful when ripping from DVD or
+ network. If you give more than one of ``--dumpaudio``, ``--dumpvideo``,
+ ``--dumpstream`` on the command line only the last one will work.
+
+--dumpsub
+ BETA CODE.
+ Dumps the subtitle substream from VOB streams. Also see the **--dump*sub**
+ options.
+
+--dumpvideo
+ Dump raw compressed video stream to ``./stream.dump`` (not very usable).
+ If you give more than one of ``--dumpaudio``, ``--dumpvideo``,
+ ``--dumpstream`` on the command line only the last one will work.
+
+--dvbin=<options>
+ Pass the following parameters to the DVB input module, in order to
+ override the default ones:
+
+ :card=<1-4>: Specifies using card number 1-4 (default: 1).
+ :file=<filename>: Instructs MPlayer to read the channels list from
+ <filename>. Default is
+ ``~/.mplayer/channels.conf.{sat,ter,cbl,atsc}`` (based
+ on your card type) or ``~/.mplayer/channels.conf`` as a
+ last resort.
+ :timeout=<1-30>: Maximum number of seconds to wait when trying to tune a
+ frequency before giving up (default: 30).
+
+--dvd-device=<path>
+ Specify the DVD device or .iso filename (default: ``/dev/dvd``). You can
+ also specify a directory that contains files previously copied directly
+ from a DVD (with e.g. vobcopy).
+
+--dvd-speed=<speed>
+ Try to limit DVD speed (default: 0, no change). DVD base speed is 1385
+ kB/s, so a 8x drive can read at speeds up to 11080 kB/s. Slower speeds
+ make the drive more quiet. For watching DVDs 2700 kB/s should be quiet and
+ fast enough. MPlayer resets the speed to the drive default value on close.
+ Values of at least 100 mean speed in kB/s. Values less than 100 mean
+ multiples of 1385 kB/s, i.e. ``--dvd-speed=8`` selects 11080 kB/s.
+
+ *NOTE*: You need write access to the DVD device to change the speed.
+
+--dvdangle=<ID>
+ Some DVD discs contain scenes that can be viewed from multiple angles.
+ Here you can tell MPlayer which angles to use (default: 1).
+
+--edition=<ID>
+ (Matroska files only)
+ Specify the edition (set of chapters) to use, where 0 is the first. If set
+ to -1 (the default), MPlayer will choose the first edition declared as a
+ default, or if there is no default, the first edition defined.
+
+--edlout=<filename>
+ Creates a new file and writes edit decision list (EDL) records to it.
+ During playback, the user hits 'i' to mark the start or end of a skip
+ block. This provides a starting point from which the user can fine-tune
+ EDL entries later. See http://www.mplayerhq.hu/DOCS/HTML/en/edl.html for
+ details.
+
+--embeddedfonts, --no-embeddedfonts
+ Use fonts embedded in Matroska container files and ASS scripts (default:
+ enabled). These fonts can be used for SSA/ASS subtitle rendering
+ (``--ass`` option).
+
+--endpos=<[[hh:]mm:]ss[.ms]>
+ Stop at given time.
+
+ *NOTE*: When used in conjunction with ``--ss`` option, ``--endpos`` time
+ will shift forward by seconds specified with ``--ss``.
+
+ *EXAMPLE*:
+
+ ``--endpos=56``
+ Stop at 56 seconds.
+ ``--endpos=01:10:00``
+ Stop at 1 hour 10 minutes.
+ ``--ss=10 --endpos=56``
+ Stop at 1 minute 6 seconds.
+
+--extbased, --no-extbased
+ Enabled by default.
+ Disables extension-based demuxer selection. By default, when the file type
+ (demuxer) cannot be detected reliably (the file has no header or it is not
+ reliable enough), the filename extension is used to select the demuxer.
+ Always falls back on content-based demuxer selection.
+
+--ffactor=<number>
+ Resample the font alphamap. Can be:
+
+ :0: plain white fonts
+ :0.75: very narrow black outline (default)
+ :1: narrow black outline
+ :10: bold black outline
+
+--field-dominance=<-1-1>
+ Set first field for interlaced content. Useful for deinterlacers that
+ double the framerate: ``--vf=tfields=1``, ``--vf=yadif=1`` and
+ ``--vo=vdpau:deint``.
+
+ :-1: auto (default): If the decoder does not export the appropriate
+ information, it falls back to 0 (top field first).
+ :0: top field first
+ :1: bottom field first
+
+--fixed-vo, --no-fixed-vo
+ ``--fixed-vo`` enforces a fixed video system for multiple files (one
+ (un)initialization for all files). Therefore only one window will be
+ opened for all files. Now enabled by default, use ``--no-fixed-vo`` to
+ disable and create a new window whenever the video stream changes. Some of
+ the older drivers may not be *fixed-vo* compliant.
+
+--flip
+ Flip image upside-down.
+
+--font=<pattern-or-filename>
+ Specify font to use for OSD and for subtitles that do not themselves
+ specify a particular font. See also ``--subfont``. The argument is a
+ fontconfig pattern and the default is ``sans``.
+
+ *EXAMPLE*:
+
+ - ``--font='Bitstream Vera Sans'``
+ - ``--font='Bitstream Vera Sans:style=Bold'``
+
+--force-window-position
+ Forcefully move MPlayer's video output window to default location whenever
+ there is a change in video parameters, video stream or file. This used to
+ be the default behavior. Currently only affects X11 VOs.
+
+--forcedsubsonly
+ Display only forced subtitles for the DVD subtitle stream selected by e.g.
+ ``--slang``.
+
+--forceidx
+ Force index rebuilding. Useful for files with broken index (A/V desync,
+ etc). This will enable seeking in files where seeking was not possible.
+
+ *NOTE*: This option only works if the underlying media supports seeking
+ (i.e. not with stdin, pipe, etc).
+
+--format=<format>
+ Select the sample format used for output from the audio filter layer to
+ the sound card. The values that <format> can adopt are listed below in the
+ description of the ``format`` audio filter.
+
+--fps=<float>
+ Override video framerate. Useful if the original value is wrong or missing.
+
+--framedrop
+ Skip displaying some frames to maintain A/V sync on slow systems. Video
+ filters are not applied to such frames. For B-frames even decoding is
+ skipped completely. May produce unwatchably choppy output. See also
+ ``--hardframedrop``.
+
+--frames=<number>
+ Play/convert only first <number> frames, then quit.
+
+--fs
+ Fullscreen playback (centers movie, and paints black bands around it).
+
+--fsmode-dontuse=<0-31>
+ OBSOLETE, use the ``--fs`` option.
+ Try this option if you still experience fullscreen problems.
+
+--fstype=<type1,type2,...>
+ (X11 only)
+ Specify a priority list of fullscreen modes to be used. You can negate the
+ modes by prefixing them with '-'. If you experience problems like the
+ fullscreen window being covered by other windows try using a different
+ order.
+
+ *NOTE*: See ``--fstype=help`` for a full list of available modes.
+
+ The available types are:
+
+ above
+ Use the ``_NETWM_STATE_ABOVE`` hint if available.
+ below
+ Use the ``_NETWM_STATE_BELOW`` hint if available.
+ fullscreen
+ Use the ``_NETWM_STATE_FULLSCREEN`` hint if available.
+ layer
+ Use the ``_WIN_LAYER`` hint with the default layer.
+ layer=<0...15>
+ Use the ``_WIN_LAYER`` hint with the given layer number.
+ netwm
+ Force NETWM style.
+ none
+ Clear the list of modes; you can add modes to enable afterward.
+ stays_on_top
+ Use ``_NETWM_STATE_STAYS_ON_TOP`` hint if available.
+
+ *EXAMPLE*:
+
+ ``--fstype=layer,stays_on_top,above,fullscreen``
+ Default order, will be used as a fallback if incorrect or
+ unsupported modes are specified.
+ ``--fstype=fullscreen``
+ Fixes fullscreen switching on OpenBox 1.x.
+
+--gamma=<-100-100>
+ Adjust the gamma of the video signal (default: 0). Not supported by all
+ video output drivers.
+
+--gapless-audio
+ Try to play consecutive audio files with no silence or disruption at the
+ point of file change. This feature is implemented in a simple manner and
+ relies on audio output device buffering to continue playback while moving
+ from one file to another. If playback of the new file starts slowly, for
+ example because it's played from a remote network location or because you
+ have specified cache settings that require time for the initial cache
+ fill, then the buffered audio may run out before playback of the new file
+ can start.
+
+ *NOTE*: The audio device is opened using parameters chosen according to
+ the first file played and is then kept open for gapless playback. This
+ means that if the first file for example has a low samplerate then the
+ following files may get resampled to the same low samplerate, resulting in
+ reduced sound quality. If you play files with different parameters,
+ consider using options such as ``--srate`` and ``--format`` to explicitly
+ select what the shared output format will be.
+
+--geometry=<x[%][:y[%]]>, --geometry=<[WxH][+-x+-y]>
+ Adjust where the output is on the screen initially. The x and y
+ specifications are in pixels measured from the top-left of the screen to
+ the top-left of the image being displayed, however if a percentage sign is
+ given after the argument it turns the value into a percentage of the
+ screen size in that direction. It also supports the standard X11
+ ``--geometry`` option format, in which e.g. +10-50 means "place 10 pixels
+ from the left border and 50 pixels from the lower border" and "--20+-10"
+ means "place 20 pixels beyond the right and 10 pixels beyond the top
+ border". If an external window is specified using the ``--wid`` option,
+ then the x and y coordinates are relative to the top-left corner of the
+ window rather than the screen. The coordinates are relative to the screen
+ given with ``--xineramascreen`` for the video output drivers that fully
+ support ``--xineramascreen`` (direct3d, gl, vdpau, x11, xv, corevideo).
+
+ *NOTE*: May not be supported by some of the older VO drivers.
+
+ *EXAMPLE*:
+
+ ``50:40``
+ Places the window at x=50, y=40.
+ ``50%:50%``
+ Places the window in the middle of the screen.
+ ``100%``
+ Places the window at the middle of the right edge of the screen.
+ ``100%:100%``
+ Places the window at the bottom right corner of the screen.
+
+--grabpointer, --no-grabpointer
+ ``--no-grabpointer`` tells the player to not grab the mouse pointer after a
+ video mode change (``--vm``). Useful for multihead setups.
+
+--hardframedrop
+ More intense frame dropping (breaks decoding). Leads to image distortion!
+
+--heartbeat-cmd
+ Command that is executed every 30 seconds during playback via *system()* -
+ i.e. using the shell.
+
+ *NOTE*: mplayer uses this command without any checking, it is your
+ responsibility to ensure it does not cause security problems (e.g. make
+ sure to use full paths if "." is in your path like on Windows). It also
+ only works when playing video (i.e. not with ``--novideo`` but works with
+ ``-vo=null``).
+
+ This can be "misused" to disable screensavers that do not support the
+ proper X API (see also ``--stop-xscreensaver``). If you think this is too
+ complicated, ask the author of the screensaver program to support the
+ proper X APIs.
+
+ *EXAMPLE for xscreensaver*: ``mplayer --heartbeat-cmd="xscreensaver-command
+ -deactivate" file``
+
+ *EXAMPLE for GNOME screensaver*: ``mplayer
+ --heartbeat-cmd="gnome-screensaver-command -p" file``
+
+--help
+ Show short summary of options and key bindings.
+
+--hr-mp3-seek
+ Only affects the internal ``audio`` demuxer, which is not used by default
+ for mp3 files any more. The equivalent functionality is always enabled
+ with the now default libavformat demuxer for mp3. Hi-res MP3 seeking.
+ Enabled when playing from an external MP3 file, as we need to seek to the
+ very exact position to keep A/V sync. Can be slow especially when seeking
+ backwards since it has to rewind to the beginning to find an exact frame
+ position.
+
+--hr-seek=<off|absolute|always>
+ Select when to use precise seeks that are not limited to keyframes. Such
+ seeks require decoding video from the previous keyframe up to the target
+ position and so can take some time depending on decoding performance. For
+ some video formats precise seeks are disabled. This option selects the
+ default choice to use for seeks; it's possible to explicitly override that
+ default in the definition of key bindings and in slave mode commands.
+
+ :off: Never use precise seeks.
+ :absolute: Use precise seeks if the seek is to an absolute position in the
+ file, such as a chapter seek, but not for relative seeks like
+ the default behavior of arrow keys (default).
+ :always: Use precise seeks whenever possible.
+
+--hr-seek-demuxer-offset=<seconds>
+ This option exists to work around failures to do precise seeks (as in
+ ``--hr-seek``) caused by bugs or limitations in the demuxers for some file
+ formats. Some demuxers fail to seek to a keyframe before the given target
+ position, going to a later position instead. The value of this option is
+ subtracted from the time stamp given to the demuxer. Thus if you set this
+ option to 1.5 and try to do a precise seek to 60 seconds, the demuxer is
+ told to seek to time 58.5, which hopefully reduces the chance that it
+ erroneously goes to some time later than 60 seconds. The downside of
+ setting this option is that precise seeks become slower, as video between
+ the earlier demuxer position and the real target may be unnecessarily
+ decoded.
+
+--http-header-fields=<field1,field2>
+ Set custom HTTP fields when accessing HTTP stream.
+
+ *EXAMPLE*:
+
+ ``mplayer --http-header-fields='Field1: value1','Field2: value2' http://localhost:1234``
+
+ Will generate HTTP request:
+
+ | GET / HTTP/1.0
+ | Host: localhost:1234
+ | User-Agent: MPlayer
+ | Icy-MetaData: 1
+ | Field1: value1
+ | Field2: value2
+ | Connection: close
+
+--hue=<-100-100>
+ Adjust the hue of the video signal (default: 0). You can get a colored
+ negative of the image with this option. Not supported by all video output
+ drivers.
+
+--identify
+ Shorthand for ``--msglevel=identify=4``. Show file parameters in an easily
+ parseable format. Also prints more detailed information about subtitle and
+ audio track languages and IDs. In some cases you can get more information
+ by using ``--msglevel=identify=6``. For example, for a DVD or Blu-ray it
+ will list the chapters and time length of each title, as well as a disk
+ ID. Combine this with ``--frames=0`` to suppress all video output. The
+ wrapper script ``TOOLS/midentify.sh`` suppresses the other MPlayer output
+ and (hopefully) shellescapes the filenames.
+
+--idle
+ Makes MPlayer wait idly instead of quitting when there is no file to play.
+ Mostly useful in slave mode where MPlayer can be controlled through input
+ commands (see also ``--slave``).
+
+--idx
+ Rebuilds index of files if no index was found, allowing seeking. Useful
+ with broken/incomplete downloads, or badly created files. Now this is done
+ automatically by the demuxers used for most video formats, meaning that
+ this switch has no effect in the typical case. See also ``--forceidx``.
+
+ *NOTE*: This option only works if the underlying media supports seeking
+ (i.e. not with stdin, pipe, etc).
+
+--ifo=<file>
+ Indicate the VOBsub IFO file that will be used to load palette and frame
+ size for VOBsub subtitles.
+
+--ignore-start
+ Ignore the specified starting time for streams in AVI files. This
+ nullifies stream delays.
+
+--include=<configuration-file>
+ Specify configuration file to be parsed after the default ones.
+
+--initial-audio-sync, --no-initial-audio-sync
+ When starting a video file or after events such as seeking MPlayer will by
+ default modify the audio stream to make it start from the same timestamp
+ as video, by either inserting silence at the start or cutting away the
+ first samples. Disabling this option makes the player behave like older
+ MPlayer versions did: video and audio are both started immediately even if
+ their start timestamps differ, and then video timing is gradually adjusted
+ if necessary to reach correct synchronization later.
+
+--input=<commands>
+ This option can be used to configure certain parts of the input system.
+
+ *NOTE*: Autorepeat is currently only supported by joysticks.
+
+ Available commands are:
+
+ conf=<filename>
+ Specify input configuration file other than the default
+ ``~/.mplayer/input.conf``. ``~/.mplayer/<filename>`` is assumed if no
+ full path is given.
+
+ ar-dev=<device>
+ Device to be used for Apple IR Remote (default is autodetected, Linux
+ only).
+
+ ar-delay
+ Delay in milliseconds before we start to autorepeat a key (0 to
+ disable).
+
+ ar-rate
+ Number of key presses to generate per second on autorepeat.
+
+ (no)default-bindings
+ Use the key bindings that MPlayer ships with by default.
+
+ keylist
+ Prints all keys that can be bound to commands.
+
+ cmdlist
+ Prints all commands that can be bound to keys.
+
+ js-dev
+ Specifies the joystick device to use (default: ``/dev/input/js0``).
+
+ file=<filename>
+ Read commands from the given file. Mostly useful with a FIFO.
+ See also ``--slave``.
+
+ *NOTE*: When the given file is a FIFO MPlayer opens both ends so you
+ can do several `echo "seek 10" > mp_pipe` and the pipe will stay
+ valid.
+
+--ipv4-only-proxy
+ Skip any HTTP proxy for IPv6 addresses. It will still be used for IPv4
+ connections.
+
+--joystick, --no-joystick
+ Enable/disable joystick support. Enabled by default.
+
+--keepaspect, --no-keepaspect
+ Keep window aspect ratio when resizing windows. Enabled by default. By
+ default MPlayer tries to keep the correct video aspect ratio by
+ instructing the window manager to maintain window aspect when resizing,
+ and by adding black bars if the window manager nevertheless allows window
+ shape to change. --no-keepaspect disables window manager aspect hints and
+ scales the video to completely fill the window without regard for aspect
+ ratio.
+
+--key-fifo-size=<2-65000>
+ Specify the size of the FIFO that buffers key events (default: 7). If it
+ is too small some events may be lost. The main disadvantage of setting it
+ to a very large value is that if you hold down a key triggering some
+ particularly slow command then the player may be unresponsive while it
+ processes all the queued commands.
+
+--lavdopts=<option1:option2:...>
+ Specify libavcodec decoding parameters. Separate multiple options with a
+ colon.
+
+ *EXAMPLE*: ``--lavdopts=gray:skiploopfilter=all:skipframe=nonref``
+
+ Available options are:
+
+ bitexact
+ Only use bit-exact algorithms in all decoding steps (for codec
+ testing).
+
+ bug=<value>
+ Manually work around encoder bugs.
+
+ :0: nothing
+ :1: autodetect bugs (default)
+ :2: (msmpeg4v3): some old lavc generated msmpeg4v3 files (no
+ autodetection)
+ :4: (mpeg4): Xvid interlacing bug (autodetected if fourcc==XVIX)
+ :8: (mpeg4): UMP4 (autodetected if fourcc==UMP4)
+ :16: (mpeg4): padding bug (autodetected)
+ :32: (mpeg4): illegal vlc bug (autodetected per fourcc)
+ :64: (mpeg4): Xvid and DivX qpel bug (autodetected per
+ fourcc/version)
+ :128: (mpeg4): old standard qpel (autodetected per fourcc/version)
+ :256: (mpeg4): another qpel bug (autodetected per fourcc/version)
+ :512: (mpeg4): direct-qpel-blocksize bug (autodetected per
+ fourcc/version)
+ :1024: (mpeg4): edge padding bug (autodetected per fourcc/version)
+
+ debug=<value>
+ Display debugging information.
+
+ :0: disabled
+ :1: picture info
+ :2: rate control
+ :4: bitstream
+ :8: macroblock (MB) type
+ :16: per-block quantization parameter (QP)
+ :32: motion vector
+ :0x0040: motion vector visualization (use ``--no-slices``)
+ :0x0080: macroblock (MB) skip
+ :0x0100: startcode
+ :0x0200: PTS
+ :0x0400: error resilience
+ :0x0800: memory management control operations (H.264)
+ :0x1000: bugs
+ :0x2000: Visualize quantization parameter (QP), lower QP are tinted
+ greener.
+ :0x4000: Visualize block types.
+
+ ec=<value>
+ Set error concealment strategy.
+
+ :1: Use strong deblock filter for damaged MBs.
+ :2: iterative motion vector (MV) search (slow)
+ :3: all (default)
+
+ fast (MPEG-2, MPEG-4, and H.264 only)
+ Enable optimizations which do not comply to the specification and
+ might potentially cause problems, like simpler dequantization, simpler
+ motion compensation, assuming use of the default quantization matrix,
+ assuming YUV 4:2:0 and skipping a few checks to detect damaged
+ bitstreams.
+
+ gray
+ grayscale only decoding (a bit faster than with color)
+
+ idct=<0-99>
+ For best decoding quality use the same IDCT algorithm for decoding and
+ encoding. This may come at a price in accuracy, though.
+
+ lowres=<number>[,<w>]
+ Decode at lower resolutions. Low resolution decoding is not supported
+ by all codecs, and it will often result in ugly artifacts. This is not
+ a bug, but a side effect of not decoding at full resolution.
+
+ :0: disabled
+ :1: 1/2 resolution
+ :2: 1/4 resolution
+ :3: 1/8 resolution
+
+ If <w> is specified lowres decoding will be used only if the width of
+ the video is major than or equal to <w>.
+
+ o=<key>=<value>[,<key>=<value>[,...]]
+ Pass AVOptions to libavcodec decoder. Note, a patch to make the o=
+ unneeded and pass all unknown options through the AVOption system is
+ welcome. A full list of AVOptions can be found in the FFmpeg manual.
+
+ *EXAMPLE*: ``o=debug=pict``
+
+ sb=<number> (MPEG-2 only)
+ Skip the given number of macroblock rows at the bottom.
+
+ st=<number> (MPEG-2 only)
+ Skip the given number of macroblock rows at the top.
+
+ skiploopfilter=<skipvalue> (H.264 only)
+ Skips the loop filter (AKA deblocking) during H.264 decoding. Since
+ the filtered frame is supposed to be used as reference for decoding
+ dependent frames this has a worse effect on quality than not doing
+ deblocking on e.g. MPEG-2 video. But at least for high bitrate HDTV
+ this provides a big speedup with no visible quality loss.
+
+ <skipvalue> can be one of the following:
+
+ :none: Never skip.
+ :default: Skip useless processing steps (e.g. 0 size packets in AVI).
+ :nonref: Skip frames that are not referenced (i.e. not used for
+ decoding other frames, the error cannot "build up").
+ :bidir: Skip B-Frames.
+ :nonkey: Skip all frames except keyframes.
+ :all: Skip all frames.
+
+ skipidct=<skipvalue> (MPEG-1/2 only)
+ Skips the IDCT step. This degrades quality a lot of in almost all
+ cases (see skiploopfilter for available skip values).
+
+ skipframe=<skipvalue>
+ Skips decoding of frames completely. Big speedup, but jerky motion and
+ sometimes bad artifacts (see skiploopfilter for available skip
+ values).
+
+ threads=<0-16>
+ Number of threads to use for decoding. Whether threading is actually
+ supported depends on codec. 0 means autodetect number of cores on the
+ machine and use that, up to the maximum of 16. (default: 0)
+
+ vismv=<value>
+ Visualize motion vectors.
+
+ :0: disabled
+ :1: Visualize forward predicted MVs of P-frames.
+ :2: Visualize forward predicted MVs of B-frames.
+ :4: Visualize backward predicted MVs of B-frames.
+
+ vstats
+ Prints some statistics and stores them in ``./vstats_*.log``.
+
+--lavfdopts=<option1:option2:...>
+ Specify parameters for libavformat demuxers (``--demuxer=lavf``). Separate
+ multiple options with a colon.
+
+ Available suboptions are:
+
+ analyzeduration=<value>
+ Maximum length in seconds to analyze the stream properties.
+ format=<value>
+ Force a specific libavformat demuxer.
+ o=<key>=<value>[,<key>=<value>[,...]]
+ Pass AVOptions to libavformat demuxer.
+
+ Note, a patch to make the *o=* unneeded and pass all unknown options
+ through the AVOption system is welcome. A full list of AVOptions can
+ be found in the FFmpeg manual. Note that some options may conflict
+ with MPlayer options.
+
+ *EXAMPLE*: ``o=fflags=+ignidx``
+ probesize=<value>
+ Maximum amount of data to probe during the detection phase. In the
+ case of MPEG-TS this value identifies the maximum number of TS packets
+ to scan.
+ cryptokey=<hexstring>
+ Encryption key the demuxer should use. This is the raw binary data of
+ the key converted to a hexadecimal string.
+
+--lirc, --no-lirc
+ Enable/disable LIRC support. Enabled by default.
+
+--lircconf=<filename>
+ (LIRC only)
+ Specifies a configuration file for LIRC (default: ``~/.lircrc``).
+
+--list-options
+ Prints all available options.
+
+--list-properties
+ Print a list of the available properties.
+
+--loadidx=<filename>
+ The file from which to read the video index data saved by ``--saveidx``.
+ This index will be used for seeking, overriding any index data contained
+ in the AVI itself. MPlayer will not prevent you from loading an index file
+ generated from a different AVI, but this is sure to cause unfavorable
+ results.
+
+ *NOTE*: This option is obsolete now that MPlayer has OpenDML support.
+
+--loop=<number>
+ Loops movie playback <number> times. 0 means forever.
+
+--mc=<seconds/frame>
+ Maximum A-V sync correction per frame (in seconds)
+
+--mf=<option1:option2:...>
+ Used when decoding from multiple PNG or JPEG files.
+
+ Available options are:
+
+ :w=<value>: input file width (default: autodetect)
+ :h=<value>: input file height (default: autodetect)
+ :fps=<value>: output fps (default: 25)
+ :type=<value>: input file type (available: jpeg, png, tga, sgi)
+
+--mixer=<device>
+ Use a mixer device different from the default ``/dev/mixer``. For ALSA
+ this is the mixer name.
+
+--mixer-channel=<name[,index]>
+ (``--ao=oss`` and ``--ao=alsa`` only)
+ This option will tell MPlayer to use a different channel for controlling
+ volume than the default PCM. Options for OSS include **vol, pcm, line**.
+ For a complete list of options look for ``SOUND_DEVICE_NAMES`` in
+ ``/usr/include/linux/soundcard.h``. For ALSA you can use the names e.g.
+ alsamixer displays, like **Master, Line, PCM**.
+
+ *NOTE*: ALSA mixer channel names followed by a number must be specified in
+ the <name,number> format, i.e. a channel labeled 'PCM 1' in alsamixer must
+ be converted to PCM,1.
+
+--monitoraspect=<ratio>
+ Set the aspect ratio of your monitor or TV screen. A value of 0 disables a
+ previous setting (e.g. in the config file). Overrides the
+ ``--monitorpixelaspect`` setting if enabled.
+ See also ``--monitorpixelaspect`` and ``--aspect``.
+
+ *EXAMPLE*:
+
+ - ``--monitoraspect=4:3`` or ``--monitoraspect=1.3333``
+ - ``--monitoraspect=16:9`` or ``--monitoraspect=1.7777``
+
+--monitorpixelaspect=<ratio>
+ Set the aspect of a single pixel of your monitor or TV screen (default:
+ 1). A value of 1 means square pixels (correct for (almost?) all LCDs). See
+ also ``--monitoraspect`` and ``--aspect``.
+
+--mouse-movements
+ Permit MPlayer to receive pointer events reported by the video output
+ driver. Necessary to select the buttons in DVD menus. Supported for
+ X11-based VOs (x11, xv, etc) and the gl, direct3d and corevideo VOs.
+
+--mouseinput, --no-mouseinput
+ Enabled by default. Disable mouse button press/release input
+ (mozplayerxp's context menu relies on this option).
+
+--msgcharset=<charset>
+ Convert console messages to the specified character set (default:
+ autodetect). Text will be in the encoding specified with the --charset
+ configure option. Set this to "noconv" to disable conversion (for e.g.
+ iconv problems).
+
+ *NOTE*: The option takes effect after command line parsing has finished.
+ The ``MPLAYER_CHARSET`` environment variable can help you get rid of the
+ first lines of garbled output.
+
+--msgcolor
+ Enable colorful console output on terminals that support ANSI color.
+
+--msglevel=<module1=level1:module2=level2:...>
+ Control verbosity directly for each module. The *all* module changes the
+ verbosity of all the modules not explicitly specified on the command line.
+
+ See ``--msglevel=help`` for a list of all modules.
+
+ *NOTE*: Some messages are printed before the command line is parsed and
+ are therefore not affected by ``--msglevel``. To control these messages
+ you have to use the ``MPLAYER_VERBOSE`` environment variable; see its
+ description below for details.
+
+ Available levels:
+
+ :-1: complete silence
+ :0: fatal messages only
+ :1: error messages
+ :2: warning messages
+ :3: short hints
+ :4: informational messages
+ :5: status messages (default)
+ :6: verbose messages
+ :7: debug level 2
+ :8: debug level 3
+ :9: debug level 4
+
+--msgmodule
+ Prepend module name in front of each console message.
+
+--name
+ Set the window class name for X11-based video output methods.
+
+--ni
+ (Internal AVI demuxer which is not used by default only)
+ Force usage of non-interleaved AVI parser (fixes playback of some bad AVI
+ files).
+
+--noaspect
+ Ignore aspect ratio information from video file and assume the video has
+ square pixels. See also ``--aspect``.
+
+--nobps
+ (Internal AVI demuxer which is not used by default only)
+ Do not use average byte/second value for A-V sync. Helps with some AVI
+ files with broken header.
+
+--nocache
+ Turn off input stream caching. See ``--cache``.
+
+--nocolorkey
+ Disables colorkeying. Only supported by the xv (see ``--vo=xv:ck``) and
+ directx video output drivers.
+
+--noconfig=<options>
+ Do not parse selected configuration files.
+
+ *NOTE*: If ``--include`` or ``--use-filedir-conf`` options are specified
+ at the command line, they will be honoured.
+
+ Available options are:
+
+ :all: all configuration files
+ :system: system configuration file
+ :user: user configuration file
+
+--noidx
+ Do not use index present in the file even if one is present.
+
+--nosound
+ Do not play sound. Useful for benchmarking.
+
+--nosub
+ Disables any otherwise auto-selected internal subtitles (as e.g. the
+ Matroska/mkv demuxer supports). Use ``--no-autosub`` to disable the
+ loading of external subtitle files.
+
+--novideo
+ Do not play video. With some demuxers this may not work. In those cases
+ you can try ``--vc=null --vo=null`` instead; but ``--vc=null`` is always
+ unreliable.
+
+--ontop
+ Makes the player window stay on top of other windows. Supported by video
+ output drivers which use X11, except SDL, as well as directx and corevideo.
+
+--ordered-chapters, --no-ordered-chapters
+ Enabled by default.
+ Disable support for Matroska ordered chapters. MPlayer will not load or
+ search for video segments from other files, and will also ignore any
+ chapter order specified for the main file.
+
+--osd-duration=<time>
+ Set the duration of the OSD messages in ms (default: 1000).
+
+--osd-fractions=<0-2>
+ Set how fractions of seconds of the current timestamp are printed on the
+ OSD:
+
+ :0: Do not display fractions (default).
+ :1: Show the first two decimals.
+ :2: Show approximate frame count within current second. This frame count
+ is not accurate but only an approximation. For variable fps, the
+ approximation is known to be far off the correct frame count.
+
+--osdlevel=<0-3>
+ Specifies which mode the OSD should start in.
+
+ :0: subtitles only
+ :1: volume + seek (default)
+ :2: volume + seek + timer + percentage
+ :3: volume + seek + timer + percentage + total time
+
+--overlapsub
+ Allows the next subtitle to be displayed while the current one is still
+ visible (default is to enable the support only for specific formats).
+
+--panscan=<0.0-1.0>
+ Enables pan-and-scan functionality (cropping the sides of e.g. a 16:9
+ movie to make it fit a 4:3 display without black bands). The range
+ controls how much of the image is cropped. May not work with all video
+ output drivers.
+
+ *NOTE*: Values between -1 and 0 are allowed as well, but highly
+ experimental and may crash or worse. Use at your own risk!
+
+--panscanrange=<-19.0-99.0>
+ (experimental)
+ Change the range of the pan-and-scan functionality (default: 1). Positive
+ values mean multiples of the default range. Negative numbers mean you can
+ zoom in up to a factor of ``--panscanrange=+1``. E.g. ``--panscanrange=-3``
+ allows a zoom factor of up to 4. This feature is experimental. Do not
+ report bugs unless you are using ``--vo=gl``.
+
+--passwd=<password>
+ Used with some network protocols. Specify password for HTTP authentication.
+ See also ``--user``.
+
+--playing-msg=<string>
+ Print out a string before starting playback. The following expansions are
+ supported:
+
+ ${NAME}
+ Expand to the value of the property ``NAME``.
+ ?(NAME:TEXT)
+ Expand ``TEXT`` only if the property ``NAME`` is available.
+ ?(!NAME:TEXT)
+ Expand ``TEXT`` only if the property ``NAME`` is not available.
+
+--playlist=<filename>
+ Play files according to a playlist file (ASX, Winamp, SMIL, or
+ one-file-per-line format).
+
+ *WARNING*: The way MPlayer parses and uses playlist files is not safe
+ against maliciously constructed files. Such files may trigger harmful
+ actions. This has been the case for all MPlayer versions, but
+ unfortunately this fact was not well documented earlier, and some people
+ have even misguidedly recommended use of ``--playlist`` with untrusted
+ sources. Do NOT use ``--playlist`` with random internet sources or files
+ you don't trust!
+
+ *NOTE*: This option is considered an entry so options found after it will
+ apply only to the elements of this playlist.
+
+ FIXME: This needs to be clarified and documented thoroughly.
+
+--pp=<quality>
+ This option only works when decoding video with Win32 DirectShow DLLs with
+ internal postprocessing routines. See also ``--vf=pp``. Set the DLL
+ postprocess level. The valid range of ``--pp`` values varies by codec, it
+ is mostly 0-6, where 0=disable, 6=slowest/best.
+
+--pphelp
+ Show a summary about the available postprocess filters and their usage.
+ See also ``--vf=pp``.
+
+--prefer-ipv4
+ Use IPv4 on network connections. Falls back on IPv6 automatically.
+
+--prefer-ipv6
+ Use IPv6 on network connections. Falls back on IPv4 automatically.
+
+--priority=<prio>
+ (Windows only.)
+ Set process priority for MPlayer according to the predefined priorities
+ available under Windows.
+
+ Possible values of <prio>:
+ idle|belownormal|normal|abovenormal|high|realtime
+
+ *WARNING*: Using realtime priority can cause system lockup.
+
+--profile=<profile1,profile2,...>
+ Use the given profile(s), ``--profile=help`` displays a list of the
+ defined profiles.
+
+--psprobe=<bytecount>
+ When playing an MPEG-PS or MPEG-PES streams, this option lets you specify
+ how many bytes in the stream you want MPlayer to scan in order to identify
+ the video codec used. This option is needed to play EVO or VDR files
+ containing H.264 streams.
+
+--pts-association-mode=<auto|decode|sort>
+ Select the method used to determine which container packet timestamp
+ corresponds to a particular output frame from the video decoder. Normally
+ you shouldn't need to change this option.
+
+ :auto: Try to pick a working mode from the ones below automatically
+ (default)
+ :decoder: Use decoder reordering functionality.
+ :sort: Maintain a buffer of unused pts values and use the lowest value
+ for the frame.
+
+--pvr=<option1:option2:...>
+ This option tunes various encoding properties of the PVR capture module.
+ It has to be used with any hardware MPEG encoder based card supported by
+ the V4L2 driver. The Hauppauge WinTV PVR-150/250/350/500 and all IVTV
+ based cards are known as PVR capture cards. Be aware that only Linux
+ 2.6.18 kernel and above is able to handle MPEG stream through V4L2 layer.
+ For hardware capture of an MPEG stream and watching it with MPlayer, use
+ ``pvr://`` as a movie URL.
+
+ Available options are:
+
+ aspect=<0-3>
+ Specify input aspect ratio:
+
+ :0: 1:1
+ :1: 4:3 (default)
+ :2: 16:9
+ :3: 2.21:1
+
+ arate=<32000-48000>
+ Specify encoding audio rate (default: 48000 Hz, available: 32000,
+ 44100 and 48000 Hz).
+
+ alayer=<1-3>
+ Specify MPEG audio layer encoding (default: 2).
+
+ abitrate=<32-448>
+ Specify audio encoding bitrate in kbps (default: 384).
+
+ amode=<value>
+ Specify audio encoding mode. Available preset values are 'stereo',
+ 'joint_stereo', 'dual' and 'mono' (default: stereo).
+
+ vbitrate=<value>
+ Specify average video bitrate encoding in Mbps (default: 6).
+
+ vmode=<value>
+ Specify video encoding mode:
+
+ :vbr: Variable BitRate (default)
+ :cbr: Constant BitRate
+
+ vpeak=<value>
+ Specify peak video bitrate encoding in Mbps (only useful for VBR
+ encoding, default: 9.6).
+
+ fmt=<value>
+ Choose an MPEG format for encoding:
+
+ :ps: MPEG-2 Program Stream (default)
+ :ts: MPEG-2 Transport Stream
+ :mpeg1: MPEG-1 System Stream
+ :vcd: Video CD compatible stream
+ :svcd: Super Video CD compatible stream
+ :dvd: DVD compatible stream
+
+--quiet
+ Make console output less verbose; in particular, prevents the status line
+ (i.e. A: 0.7 V: 0.6 A-V: 0.068 ...) from being displayed. Particularly
+ useful on slow terminals or broken ones which do not properly handle
+ carriage return (i.e. \\r).
+
+--quvi-format=<format>
+ When mplayer2 is given a video streaming site URL to play, and libquvi is
+ used to translate that into the address of the actual video file, this
+ option affects which video format is chosen in case there are several
+ alternatives for the original URL. The value is passed directly to
+ libquvi. Available values depend on the site and video. According to
+ libquvi documentation, the only values that are guaranteed to be available
+ are "default" (usually lowest quality) and "best". Defaults to "best".
+
+--radio=<option1:option2:...>
+ These options set various parameters of the radio capture module. For
+ listening to radio with MPlayer use ``radio://<frequency>`` (if channels
+ option is not given) or ``radio://<channel_number>`` (if channels option
+ is given) as a movie URL. You can see allowed frequency range by running
+ MPlayer with ``-v``. To start the grabbing subsystem, use
+ ``radio://<frequency or channel>/capture``. If the capture keyword is not
+ given you can listen to radio using the line-in cable only. Using capture
+ to listen is not recommended due to synchronization problems, which makes
+ this process uncomfortable.
+
+ Available options are:
+
+ device=<value>
+ Radio device to use (default: ``/dev/radio0`` for Linux and
+ ``/dev/tuner0`` for \*BSD).
+
+ driver=<value>
+ Radio driver to use (default: v4l2 if available, otherwise v4l).
+ Currently, v4l and v4l2 drivers are supported.
+
+ volume=<0..100>
+ sound volume for radio device (default 100)
+
+ freq_min=<value> (\*BSD BT848 only)
+ minimum allowed frequency (default: 87.50)
+
+ freq_max=<value> (\*BSD BT848 only)
+ maximum allowed frequency (default: 108.00)
+
+ channels=<frequency>-<name>,<frequency>-<name>,...
+ Set channel list. Use _ for spaces in names (or play with quoting ;-).
+ The channel names will then be written using OSD and the slave
+ commands radio_step_channel and radio_set_channel will be usable for a
+ remote control (see LIRC). If given, number in movie URL will be
+ treated as channel position in channel list.
+
+ *EXAMPLE*: ``radio://1``, ``radio://104.4``, ``radio_set_channel 1``
+
+ adevice=<value> (radio capture only)
+ Name of device to capture sound from. Without such a name capture will
+ be disabled, even if the capture keyword appears in the URL. For ALSA
+ devices use it in the form ``hw=<card>.<device>``. If the device name
+ contains a '=', the module will use ALSA to capture, otherwise OSS.
+
+ arate=<value> (radio capture only)
+ Rate in samples per second (default: 44100).
+
+ *NOTE*: When using audio capture set also ``--rawaudio=rate=<value>``
+ option with the same value as arate. If you have problems with sound
+ speed (runs too quickly), try to play with different rate values (e.g.
+ 48000, 44100, 32000,...).
+
+ achannels=<value> (radio capture only)
+ Number of audio channels to capture.
+
+--rawaudio=<option1:option2:...>
+ This option lets you play raw audio files. You have to use
+ ``--demuxer=rawaudio`` as well. It may also be used to play audio CDs
+ which are not 44kHz 16-bit stereo. For playing raw AC-3 streams use
+ ``--rawaudio=format=0x2000 --demuxer=rawaudio``.
+
+ Available options are:
+
+ :channels=<value>: number of channels
+ :rate=<value>: rate in samples per second
+ :samplesize=<value>: sample size in bytes
+ :bitrate=<value>: bitrate for rawaudio files
+ :format=<value>: fourcc in hex
+
+--rawvideo=<option1:option2:...>
+ This option lets you play raw video files. You have to use
+ ``--demuxer=rawvideo`` as well.
+
+ Available options are:
+
+ :fps=<value>: rate in frames per second (default: 25.0)
+ :sqcif|qcif|cif|4cif|pal|ntsc: set standard image size
+ :w=<value>: image width in pixels
+ :h=<value>: image height in pixels
+ :i420|yv12|yuy2|y8: set colorspace
+ :format=<value>: colorspace (fourcc) in hex or string
+ constant. Use ``--rawvideo=format=help``
+ for a list of possible strings.
+ :size=<value>: frame size in Bytes
+
+ *EXAMPLE*:
+
+ - ``mplayer foreman.qcif --demuxer=rawvideo --rawvideo=qcif`` Play the
+ famous "foreman" sample video.
+
+ - ``mplayer sample-720x576.yuv --demuxer=rawvideo --rawvideo=w=720:h=576``
+ Play a raw YUV sample.
+
+--really-quiet
+ Display even less output and status messages than with ``--quiet``.
+
+--referrer=<string>
+ Specify a referrer path or URL for HTTP requests.
+
+--refreshrate=<Hz>
+ Set the monitor refreshrate in Hz. Currently only supported by
+ ``--vo=directx`` combined with the ``--vm`` option.
+
+--reuse-socket
+ (udp:// only)
+ Allows a socket to be reused by other processes as soon as it is closed.
+
+--rootwin
+ Play movie in the root window (desktop background). Desktop background
+ images may cover the movie window, though. May not work with all video
+ output drivers.
+
+--rtc
+ Turns on usage of the Linux RTC (realtime clock - ``/dev/rtc``) as timing
+ mechanism. This wakes up the process every 1/1024 seconds to check the
+ current time. Useless with modern Linux kernels configured for desktop use
+ as they already wake up the process with similar accuracy when using
+ normal timed sleep.
+
+--rtc-device=<device>
+ Use the specified device for RTC timing.
+
+--rtsp-destination
+ Used with ``rtsp://`` URLs to force the destination IP address to be
+ bound. This option may be useful with some RTSP server which do not send
+ RTP packets to the right interface. If the connection to the RTSP server
+ fails, use ``-v`` to see which IP address MPlayer tries to bind to and try
+ to force it to one assigned to your computer instead.
+
+--rtsp-port
+ Used with ``rtsp://`` URLs to force the client's port number. This option
+ may be useful if you are behind a router and want to forward the RTSP
+ stream from the server to a specific client.
+
+--rtsp-stream-over-http
+ (LIVE555 only)
+ Used with ``http://`` URLs to specify that the resulting incoming RTP and
+ RTCP packets be streamed over HTTP.
+
+--rtsp-stream-over-tcp
+ (LIVE555 and NEMESI only)
+ Used with ``rtsp://`` URLs to specify that the resulting incoming RTP and
+ RTCP packets be streamed over TCP (using the same TCP connection as RTSP).
+ This option may be useful if you have a broken internet connection that
+ does not pass incoming UDP packets (see http://www.live555.com/mplayer/).
+
+--saturation=<-100-100>
+ Adjust the saturation of the video signal (default: 0). You can get
+ grayscale output with this option. Not supported by all video output
+ drivers.
+
+--saveidx=<filename>
+ Force index rebuilding and dump the index to <filename>. Currently this
+ only works with AVI files.
+
+ *NOTE*: This option is obsolete now that MPlayer has OpenDML support.
+
+--sb=<n>
+ Seek to byte position. Useful for playback from CD-ROM images or VOB files
+ with junk at the beginning. See also ``--ss``.
+
+--screenh=<pixels>
+ Specify the screen height for video output drivers which do not know the
+ screen resolution like x11 and TV-out.
+
+--screenw=<pixels>
+ Specify the screen width for video output drivers which do not know the
+ screen resolution like x11 and TV-out.
+
+--show-profile=<profile>
+ Show the description and content of a profile.
+
+--shuffle
+ Play files in random order.
+
+--sid=<ID>
+ Display the subtitle stream specified by <ID> (0-31). MPlayer prints the
+ available subtitle IDs when run in verbose (``-v``) mode. If you cannot
+ select one of the subtitles on a DVD, try ``--vobsubid``.
+ See also ``--slang``, ``--vobsubid``, ``--nosub``.
+
+--slang=<languagecode[,languagecode,...]>
+ Specify a priority list of subtitle languages to use. Different container
+ formats employ different language codes. DVDs use ISO 639-1 two letter
+ language codes, Matroska uses ISO 639-2 three letter language codes while
+ OGM uses a free-form identifier. MPlayer prints the available languages
+ when run in verbose (``-v``) mode. See also ``--sid``.
+
+ *EXAMPLE*:
+
+ - ``mplayer dvd://1 --slang=hu,en`` chooses the Hungarian subtitle track on
+ a DVD and falls back on English if Hungarian is not available.
+ - ``mplayer --slang=jpn example.mkv`` plays a Matroska file with Japanese
+ subtitles.
+
+--slave
+ Switches on slave mode, in which MPlayer works as a backend for other
+ programs. Instead of intercepting keyboard events, MPlayer will read
+ commands separated by a newline (\n) from stdin. See also ``--input``,
+ suboption ``file``.
+
+ *NOTE*: See ``DOCS/tech/slave.txt`` for a description of slave commands.
+ Also, this is not intended to disable other inputs, e.g. via the video
+ window. If you want to do that, use something like
+ ``--input=nodefault-bindings:conf=/dev/null``.
+
+--slices, --no-slices
+ Drawing video by 16-pixel height slices/bands, instead draws the whole
+ frame in a single run. May be faster or slower, depending on video card
+ and available cache. It has effect only with libavcodec codecs. Enabled by
+ default if applicable; usually disabled when threading is used.
+
+--softsleep
+ Time frames by repeatedly checking the current time instead of asking
+ the kernel to wake up MPlayer at the correct time. Useful if your kernel
+ timing is imprecise and you cannot use the RTC either. Comes at the
+ price of higher CPU consumption.
+
+--softvol
+ Force the use of the software mixer, instead of using the sound card
+ mixer.
+
+--softvol-max=<10.0-10000.0>
+ Set the maximum amplification level in percent (default: 110). A value of
+ 200 will allow you to adjust the volume up to a maximum of double the
+ current level. With values below 100 the initial volume (which is 100%)
+ will be above the maximum, which e.g. the OSD cannot display correctly.
+
+--speed=<0.01-100>
+ Slow down or speed up playback by the factor given as parameter.
+
+--spuaa=<mode>
+ Antialiasing/scaling mode for DVD/VOBsub. A value of 16 may be added to
+ <mode> in order to force scaling even when original and scaled frame size
+ already match. This can be employed to e.g. smooth subtitles with gaussian
+ blur. Available modes are:
+
+ :0: none (fastest, very ugly)
+ :1: approximate (broken?)
+ :2: full (slow)
+ :3: bilinear (default, fast and not too bad)
+ :4: uses swscaler gaussian blur (looks very good)
+
+--spualign=<-1-2>
+ Specify how SPU (DVD/VOBsub) subtitles should be aligned.
+
+ :-1: Original position
+ :0: Align at top (original behavior, default).
+ :1: Align at center.
+ :2: Align at bottom.
+
+--spugauss=<0.0-3.0>
+ Variance parameter of gaussian used by ``--spuaa=4``. Higher means more
+ blur (default: 1.0).
+
+--srate=<Hz>
+ Select the output sample rate to be used (of course sound cards have
+ limits on this). If the sample frequency selected is different from that
+ of the current media, the resample or lavcresample audio filter will be
+ inserted into the audio filter layer to compensate for the difference. The
+ type of resampling can be controlled by the ``--af-adv`` option.
+
+--ss=<time>
+ Seek to given time position.
+
+ *EXAMPLE*:
+
+ ``--ss=56``
+ Seeks to 56 seconds.
+ ``--ss=01:10:00``
+ Seeks to 1 hour 10 min.
+
+--ssf=<mode>
+ Specifies software scaler parameters.
+
+ :lgb=<0-100>: gaussian blur filter (luma)
+ :cgb=<0-100>: gaussian blur filter (chroma)
+ :ls=<-100-100>: sharpen filter (luma)
+ :cs=<-100-100>: sharpen filter (chroma)
+ :chs=<h>: chroma horizontal shifting
+ :cvs=<v>: chroma vertical shifting
+
+ *EXAMPLE*: ``--vf=scale=-ssf=lgb=3.0``
+
+--sstep=<sec>
+ Skip <sec> seconds after every frame. Since MPlayer will only seek to
+ the next keyframe unless you use ``--hr-seek`` this may be inexact.
+
+--stereo=<mode>
+ Select type of MP2/MP3 stereo output.
+
+ :0: stereo
+ :1: left channel
+ :2: right channel
+
+--stop-xscreensaver
+ (X11 only)
+ Turns off xscreensaver at startup and turns it on again on exit. If your
+ screensaver supports neither the XSS nor XResetScreenSaver API please use
+ ``--heartbeat-cmd`` instead.
+
+--sub=<subtitlefile1,subtitlefile2,...>
+ Use/display these subtitle files. Only one file can be displayed at the
+ same time.
+
+--sub-bg-alpha=<0-255>
+ Specify the alpha channel value for subtitles and OSD backgrounds. Big
+ values mean more transparency. 0 means completely transparent.
+
+--sub-bg-color=<0-255>
+ Specify the color value for subtitles and OSD backgrounds. Currently
+ subtitles are grayscale so this value is equivalent to the intensity of
+ the color. 255 means white and 0 black.
+
+--sub-demuxer=<[+]name>
+ Force subtitle demuxer type for ``--subfile``. Using a '+' before the name
+ will force it, this will skip some checks! Give the demuxer name as
+ printed by ``--sub-demuxer=help``.
+
+--sub-fuzziness=<mode>
+ Adjust matching fuzziness when searching for subtitles:
+
+ :0: exact match
+ :1: Load all subs containing movie name.
+ :2: Load all subs in the current and ``--sub-paths`` directories.
+
+--sub-no-text-pp
+ Disables any kind of text post processing done after loading the
+ subtitles. Used for debug purposes.
+
+--sub-paths=<path1:path2:...>
+ Specify extra directories where to search for subtitles matching the
+ video. Multiple directories can be separated by ":" (";" on Windows).
+ Paths can be relative or absolute. Relative paths are interpreted relative
+ to video file directory.
+
+ *EXAMPLE*: Assuming that ``/path/to/movie/movie.avi`` is played and
+ ``--sub-paths=sub:subtitles:/tmp/subs`` is specified, MPlayer searches for
+ subtitle files in these directories:
+
+ - ``/path/to/movie/``
+ - ``/path/to/movie/sub/``
+ - ``/path/to/movie/subtitles/``
+ - ``/tmp/subs/``
+ - ``~/.mplayer/sub/``
+
+--subalign=<0-2>
+ Specify which edge of the subtitles should be aligned at the height given
+ by ``--subpos``.
+
+ :0: Align subtitle top edge (original behavior).
+ :1: Align subtitle center.
+ :2: Align subtitle bottom edge (default).
+
+--subcc=<1-4>
+ Display DVD Closed Caption (CC) subtitles from the specified channel.
+ These are *not* the VOB subtitles, these are special ASCII subtitles for
+ the hearing impaired encoded in the VOB userdata stream on most region 1
+ DVDs. CC subtitles have not been spotted on DVDs from other regions so
+ far.
+
+--subcp=<codepage>
+ If your system supports ``iconv(3)``, you can use this option to specify
+ the subtitle codepage.
+
+ *EXAMPLE*:
+ - ``--subcp=latin2``
+ - ``--subcp=cp1250``
+
+ If the player was compiled with ENCA support you can use special syntax
+ to use that.
+
+ ``--subcp=enca:<language>:<fallback codepage>``
+
+ You can specify your language using a two letter language code to make
+ ENCA detect the codepage automatically. If unsure, enter anything and
+ watch mplayer ``-v`` output for available languages. Fallback codepage
+ specifies the codepage to use, when autodetection fails.
+
+ *EXAMPLE*:
+
+ - ``--subcp=enca:cs:latin2`` guess the encoding, assuming the subtitles
+ are Czech, fall back on latin 2, if the detection fails.
+ - ``--subcp=enca:pl:cp1250`` guess the encoding for Polish, fall back on
+ cp1250.
+
+--subdelay=<sec>
+ Delays subtitles by <sec> seconds. Can be negative.
+
+--subfile=<filename>
+ (BETA CODE)
+ Currently useless. Same as ``--audiofile``, but for subtitle streams
+ (OggDS?).
+
+--subfont=<pattern-or-filename>
+ Sets the subtitle font (see ``--font``). If no ``--subfont`` is given,
+ ``--font`` is used for subtitles too.
+
+--subfont-autoscale=<0-3>
+ Sets the autoscale mode.
+
+ *NOTE*: 0 means that text scale and OSD scale are font heights in points.
+
+ The mode can be:
+
+ :0: no autoscale
+ :1: proportional to movie height
+ :2: proportional to movie width
+ :3: proportional to movie diagonal (default)
+
+--subfont-blur=<0-8>
+ Sets the font blur radius (default: 2).
+
+--subfont-encoding=<value>
+ Sets the font encoding. When set to 'unicode', all the glyphs from the
+ font file will be rendered and unicode will be used (default: unicode).
+
+--subfont-osd-scale=<0-100>
+ Sets the autoscale coefficient of the OSD elements (default: 4).
+
+--subfont-outline=<0-8>
+ Sets the font outline thickness (default: 2).
+
+--subfont-text-scale=<0-100>
+ Sets the subtitle text autoscale coefficient as percentage of the screen
+ size (default: 3.5).
+
+--subfps=<rate>
+ Specify the framerate of the subtitle file (default: movie fps).
+
+ *NOTE*: <rate> > movie fps speeds the subtitles up for frame-based
+ subtitle files and slows them down for time-based ones.
+
+--subpos=<0-100>
+ Specify the position of subtitles on the screen. The value is the vertical
+ position of the subtitle in % of the screen height.
+ Can be useful with ``--vf=expand``.
+
+--subwidth=<10-100>
+ Specify the maximum width of subtitles on the screen. Useful for TV-out.
+ The value is the width of the subtitle in % of the screen width.
+
+--sws=<n>
+ Specify the software scaler algorithm to be used with the ``--zoom``
+ option. This affects video output drivers which lack hardware
+ acceleration, e.g. x11. See also ``--vf=scale`` and ``--zoom``.
+
+ Available types are:
+
+ :0: fast bilinear
+ :1: bilinear
+ :2: bicubic (good quality) (default)
+ :3: experimental
+ :4: nearest neighbor (bad quality)
+ :5: area
+ :6: luma bicubic / chroma bilinear
+ :7: gauss
+ :8: sincR
+ :9: lanczos
+ :10: natural bicubic spline
+
+ *NOTE*: Some ``--sws`` options are tunable. The description of the scale
+ video filter has further information.
+
+--term-osd, --no-term-osd
+ Display OSD messages on the console when no video output is available.
+ Enabled by default.
+
+--term-osd-esc=<string>
+ Specify the escape sequence to use before writing an OSD message on the
+ console. The escape sequence should move the pointer to the beginning of
+ the line used for the OSD and clear it (default: ``^[[A\r^[[K``).
+
+--title
+ Set the window title. Supported by X11-based video output drivers.
+ See also ``--use-filename-title``.
+
+--tskeepbroken
+ Tells MPlayer not to discard TS packets reported as broken in the stream.
+ Sometimes needed to play corrupted MPEG-TS files.
+
+--tsprobe=<bytecount>
+ When playing an MPEG-TS stream, this option lets you specify how many
+ bytes in the stream you want MPlayer to search for the desired audio and
+ video IDs.
+
+--tsprog=<1-65534>
+ When playing an MPEG-TS stream, you can specify with this option which
+ program (if present) you want to play. Can be used with ``--vid`` and
+ ``--aid``.
+
+--tv=<option1:option2:...>
+ This option tunes various properties of the TV capture module. For
+ watching TV with MPlayer, use ``tv://`` or ``tv://<channel_number>`` or
+ even ``tv://<channel_name>`` (see option channels for channel_name below)
+ as a movie URL. You can also use ``tv:///<input_id>`` to start watching a
+ movie from a composite or S-Video input (see option input for details).
+
+ Available options are:
+
+ noaudio
+ no sound
+
+ automute=<0-255> (v4l and v4l2 only)
+ If signal strength reported by device is less than this value, audio
+ and video will be muted. In most cases automute=100 will be enough.
+ Default is 0 (automute disabled).
+
+ driver=<value>
+ See ``--tv=driver=help`` for a list of compiled-in TV input drivers.
+ available: dummy, v4l, v4l2, bsdbt848 (default: autodetect)
+
+ device=<value>
+ Specify TV device (default: ``/dev/video0``). NOTE: For the bsdbt848
+ driver you can provide both bktr and tuner device names separating
+ them with a comma, tuner after bktr (e.g. ``--tv
+ device=/dev/bktr1,/dev/tuner1``).
+
+ input=<value>
+ Specify input (default: 0 (TV), see console output for available
+ inputs).
+
+ freq=<value>
+ Specify the frequency to set the tuner to (e.g. 511.250). Not
+ compatible with the channels parameter.
+
+ outfmt=<value>
+ Specify the output format of the tuner with a preset value supported
+ by the V4L driver (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420)
+ or an arbitrary format given as hex value. Try outfmt=help for a list
+ of all available formats.
+
+ width=<value>
+ output window width
+
+ height=<value>
+ output window height
+
+ fps=<value>
+ framerate at which to capture video (frames per second)
+
+ buffersize=<value>
+ maximum size of the capture buffer in megabytes (default: dynamical)
+
+ norm=<value>
+ For bsdbt848 and v4l, PAL, SECAM, NTSC are available. For v4l2, see
+ the console output for a list of all available norms, also see the
+ normid option below.
+
+ normid=<value> (v4l2 only)
+ Sets the TV norm to the given numeric ID. The TV norm depends on the
+ capture card. See the console output for a list of available TV norms.
+
+ channel=<value>
+ Set tuner to <value> channel.
+
+ chanlist=<value>
+ available: argentina, australia, china-bcast, europe-east,
+ europe-west, france, ireland, italy, japan-bcast, japan-cable,
+ newzealand, russia, southafrica, us-bcast, us-cable, us-cable-hrc
+
+ channels=<chan>-<name>[=<norm>],<chan>-<name>[=<norm>],...
+ Set names for channels.
+
+ *NOTE*: If <chan> is an integer greater than 1000, it will be treated
+ as frequency (in kHz) rather than channel name from frequency table.
+ Use _ for spaces in names (or play with quoting ;-). The channel names
+ will then be written using OSD, and the slave commands
+ tv_step_channel, tv_set_channel and tv_last_channel will be usable for
+ a remote control (see LIRC). Not compatible with the frequency
+ parameter.
+
+ *NOTE*: The channel number will then be the position in the 'channels'
+ list, beginning with 1.
+
+ *EXAMPLE*: ``tv://1``, ``tv://TV1``, ``tv_set_channel 1``,
+ ``tv_set_channel TV1``
+
+ [brightness|contrast|hue|saturation]=<-100-100>
+ Set the image equalizer on the card.
+
+ audiorate=<value>
+ Set input audio sample rate.
+
+ forceaudio
+ Capture audio even if there are no audio sources reported by v4l.
+
+ alsa
+ Capture from ALSA.
+
+ amode=<0-3>
+ Choose an audio mode:
+
+ :0: mono
+ :1: stereo
+ :2: language 1
+ :3: language 2
+
+ forcechan=<1-2>
+ By default, the count of recorded audio channels is determined
+ automatically by querying the audio mode from the TV card. This option
+ allows forcing stereo/mono recording regardless of the amode option
+ and the values returned by v4l. This can be used for troubleshooting
+ when the TV card is unable to report the current audio mode.
+
+ adevice=<value>
+ Set an audio device. <value> should be ``/dev/xxx`` for OSS and a
+ hardware ID for ALSA. You must replace any ':' by a '.' in the
+ hardware ID for ALSA.
+
+ audioid=<value>
+ Choose an audio output of the capture card, if it has more than one.
+
+ [volume|bass|treble|balance]=<0-65535> (v4l1)
+
+ [volume|bass|treble|balance]=<0-100> (v4l2)
+ These options set parameters of the mixer on the video capture card.
+ They will have no effect, if your card does not have one. For v4l2 50
+ maps to the default value of the control, as reported by the driver.
+
+ gain=<0-100> (v4l2)
+ Set gain control for video devices (usually webcams) to the desired
+ value and switch off automatic control. A value of 0 enables automatic
+ control. If this option is omitted, gain control will not be modified.
+
+ immediatemode=<bool>
+ A value of 0 means capture and buffer audio and video together. A
+ value of 1 (default) means to do video capture only and let the audio
+ go through a loopback cable from the TV card to the sound card.
+
+ mjpeg
+ Use hardware MJPEG compression (if the card supports it). When using
+ this option, you do not need to specify the width and height of the
+ output window, because MPlayer will determine it automatically from
+ the decimation value (see below).
+
+ decimation=<1|2|4>
+ choose the size of the picture that will be compressed by hardware
+ MJPEG compression:
+
+ :1: full size
+
+ - 704x576 PAL
+ - 704x480 NTSC
+
+ :2: medium size
+
+ - 352x288 PAL
+ - 352x240 NTSC
+
+ :4: small size
+
+ - 176x144 PAL
+ - 176x120 NTSC
+
+ quality=<0-100>
+ Choose the quality of the JPEG compression (< 60 recommended for full
+ size).
+
+ tdevice=<value>
+ Specify TV teletext device (example: ``/dev/vbi0``) (default: none).
+
+ tformat=<format>
+ Specify TV teletext display format (default: 0):
+
+ :0: opaque
+ :1: transparent
+ :2: opaque with inverted colors
+ :3: transparent with inverted colors
+
+ tpage=<100-899>
+ Specify initial TV teletext page number (default: 100).
+
+ tlang=<-1-127>
+ Specify default teletext language code (default: 0), which will be
+ used as primary language until a type 28 packet is received. Useful
+ when the teletext system uses a non-latin character set, but language
+ codes are not transmitted via teletext type 28 packets for some
+ reason. To see a list of supported language codes set this option to
+ -1.
+
+ hidden_video_renderer (dshow only)
+ Terminate stream with video renderer instead of Null renderer
+ (default: off). Will help if video freezes but audio does not.
+
+ *NOTE*: May not work with ``--vo=directx`` and ``--vf=crop``
+ combination.
+
+ hidden_vp_renderer (dshow only)
+ Terminate VideoPort pin stream with video renderer instead of removing
+ it from the graph (default: off). Useful if your card has a VideoPort
+ pin and video is choppy.
+
+ *NOTE*: May not work with ``--vo=directx`` and ``--vf=crop``
+ combination.
+
+ system_clock (dshow only)
+ Use the system clock as sync source instead of the default graph clock
+ (usually the clock from one of the live sources in graph).
+
+ normalize_audio_chunks (dshow only)
+ Create audio chunks with a time length equal to video frame time
+ length (default: off). Some audio cards create audio chunks about 0.5s
+ in size, resulting in choppy video when using immediatemode=0.
+
+--tvscan=<option1:option2:...>
+ Tune the TV channel scanner. MPlayer will also print value for "-tv
+ channels=" option, including existing and just found channels.
+
+ Available suboptions are:
+
+ autostart
+ Begin channel scanning immediately after startup (default: disabled).
+
+ period=<0.1-2.0>
+ Specify delay in seconds before switching to next channel (default:
+ 0.5). Lower values will cause faster scanning, but can detect inactive
+ TV channels as active.
+
+ threshold=<1-100>
+ Threshold value for the signal strength (in percent), as reported by
+ the device (default: 50). A signal strength higher than this value will
+ indicate that the currently scanning channel is active.
+
+--unicode
+ Tells MPlayer to handle the subtitle file as unicode.
+
+--unrarexec=<filename>
+ Specify the path to the unrar executable so MPlayer can use it to access
+ rar-compressed VOBsub files (default: not set, so the feature is off). The
+ path must include the executable's filename, i.e.
+ ``/usr/local/bin/unrar``. Not supported on MingW.
+
+--use-filedir-conf
+ Look for a file-specific configuration file in the same directory as the
+ file that is being played.
+
+ *WARNING*: May be dangerous if playing from untrusted media.
+
+--use-filename-title
+ Set the window title using the media filename, when not set with
+ ``--title``. Supported by X11-based video output drivers. See also
+ ``--title``.
+
+--user=<username>
+ Used with some network protocols.
+ Specify username for HTTP authentication. See also ``--passwd``.
+
+--user-agent=<string>
+ Use <string> as user agent for HTTP streaming.
+
+--utf8
+ Tells MPlayer to handle the subtitle file as UTF-8.
+
+-v
+ Increment verbosity level, one level for each ``-v`` found on the command
+ line.
+
+--vc=<[-\|+]codec1,[-\|+]codec2,...[,]>
+ Specify a priority list of video codecs to be used, according to their
+ codec name in ``codecs.conf``. Use a '-' before the codec name to omit it.
+ Use a '+' before the codec name to force it, this will likely crash! If
+ the list has a trailing ',' MPlayer will fall back on codecs not contained
+ in the list.
+
+ *NOTE*: See ``--vc=help`` for a full list of available codecs.
+
+ *EXAMPLE*:
+
+ :``--vc=divx``: Force Win32/VfW DivX codec, no fallback.
+ :``--vc=-divxds,-divx,``: Skip Win32 DivX codecs.
+ :``--vc=ffh264vdpau,ffvc1vdpau,``: Try VDPAU decoding of H.264 or VC-1,
+ then anything else.
+
+--vf=<filter1[=parameter1:parameter2:...],filter2,...>
+ Specify a list of video filters to apply to the video stream. See
+ `Video Filters`_ for details and descriptions of the available filters.
+ The option variants ``--vf-add``, ``--vf-pre``, ``--vf-del`` and
+ ``--vf-clr`` exist to modify a previously specified list, but you
+ shouldn't need these for typical use.
+
+--vfm=<driver1,driver2,...>
+ Specify a priority list of video codec families to be used, according to
+ their names in codecs.conf. Falls back on the default codecs if none of
+ the given codec families work.
+
+ *NOTE*: See ``--vfm=help`` for a full list of available codec families.
+
+ *EXAMPLE*:
+
+ :``--vfm=ffmpeg,dshow,vfw``:
+ Try the libavcodec, then Directshow, then VfW codecs and fall back on
+ others, if they do not work.
+ :``--vfm=xanim``:
+ Try XAnim codecs first.
+
+--vid=<ID>
+ Select video channel (MPG: 0-15, ASF: 0-255, MPEG-TS: 17-8190). When
+ playing an MPEG-TS stream, MPlayer will use the first program (if present)
+ with the chosen video stream.
+
+--vivo=<suboption>
+ (DEBUG CODE)
+ Force audio parameters for the VIVO demuxer (for debugging purposes).
+ FIXME: Document this.
+
+--vm
+ Try to change to a different video mode. Supported by the x11, xv,
+ sdl and directx video output drivers. If used with the directx video
+ output driver the ``--screenw``, ``--screenh``, ``--bpp`` and
+ ``--refreshrate`` options can be used to set the new display mode.
+
+--vo=<driver1[:suboption1[=value]:...],driver2,...[,]>
+ Specify a priority list of video output drivers to be used. For
+ interactive use you'd normally specify a single one to use, but in
+ configuration files specifying a list of fallbacks may make sense. See
+ `Video Output Drivers`_ for details and descriptions of available drivers.
+
+--vobsub=<file>
+ Specify a VOBsub file to use for subtitles. Has to be the full pathname
+ without extension, i.e. without the ``.idx``, ``.ifo`` or ``.sub``.
+
+--vobsubid=<0-31>
+ Specify the VOBsub subtitle ID.
+
+--volstep=<0-100>
+ Set the step size of mixer volume changes in percent of the whole range
+ (default: 3).
+
+--volume=<-1-100>
+ Set the startup volume in the mixer, either hardware or software (if used
+ with ``--softvol``). A value of -1 (the default) will not change the
+ volume. See also ``--af=volume``.
+
+--vsync
+ Enables VBI for the vesa, dfbmga and svga video output drivers.
+
+--wid=<ID>
+ (X11, OpenGL and DirectX only)
+ This tells MPlayer to attach to an existing window. Useful to embed
+ MPlayer in a browser (e.g. the plugger extension). Earlier this option
+ always filled the given window completely, thus aspect scaling, panscan,
+ etc were no longer handled by MPlayer but had to be managed by the
+ application that created the window. Now aspect is maintained by default.
+ If you don't want that use ``--no-keepaspect``.
+
+--x=<width>
+ Scale image to width <width> (if software/hardware scaling is available).
+ Disables aspect calculations.
+
+--xineramascreen=<-2-...>
+ In Xinerama configurations (i.e. a single desktop that spans across
+ multiple displays) this option tells MPlayer which screen to display the
+ movie on. A value of -2 means fullscreen across the whole virtual display
+ (in this case Xinerama information is completely ignored), -1 means
+ fullscreen on the display the window currently is on. The initial position
+ set via the ``--geometry`` option is relative to the specified screen.
+ Will usually only work with ``--fstype=-fullscreen`` or ``--fstype=none``.
+ This option is not suitable to only set the startup screen (because it
+ will always display on the given screen in fullscreen mode),
+ ``--geometry`` is the best that is available for that purpose currently.
+ Supported by at least the direct3d, gl, x11, xv and corevideo video output
+ drivers.
+
+--xvidopts=<option1:option2:...>
+ Specify additional parameters when decoding with Xvid.
+
+ *NOTE*: Since libavcodec is faster than Xvid you might want to use the
+ libavcodec postprocessing filter (``--vf=pp``) and decoder
+ (``--vfm=ffmpeg``) instead.
+
+ Xvid's internal postprocessing filters:
+
+ :deblock-chroma (see also ``--vf=pp``): chroma deblock filter
+ :deblock-luma (see also ``--vf=pp``): luma deblock filter
+ :dering-luma (see also ``--vf=pp``): luma deringing filter
+ :dering-chroma (see also ``--vf=pp``): chroma deringing filter
+ :filmeffect (see also ``--vf=noise``):
+ Adds artificial film grain to the video. May increase perceived
+ quality, while lowering true quality.
+
+ rendering methods:
+
+ :dr2: Activate direct rendering method 2.
+ :nodr2: Deactivate direct rendering method 2.
+
+--xy=<value>
+
+ :value<=8: Scale image by factor <value>.
+ :value>8: Set width to value and calculate height to keep correct aspect
+ ratio.
+
+--y=<height>
+ Scale image to height <height> (if software/hardware scaling is available).
+ Disables aspect calculations.
+
+--zoom
+ Allow software scaling, where available. This will allow scaling with
+ output drivers (like x11) that do not support hardware scaling where
+ MPlayer disables scaling by default for performance reasons.
diff --git a/DOCS/man/en/vf.rst b/DOCS/man/en/vf.rst
new file mode 100644
index 0000000..9d6cb77
--- /dev/null
+++ b/DOCS/man/en/vf.rst
@@ -0,0 +1,1450 @@
+Video Filters
+=============
+
+Video filters allow you to modify the video stream and its properties. The
+syntax is:
+
+--vf=<filter1[=parameter1:parameter2:...],filter2,...>
+ Setup a chain of video filters.
+
+Many parameters are optional and set to default values if omitted. To
+explicitly use a default value set a parameter to '-1'. Parameters w:h means
+width x height in pixels, x:y means x;y position counted from the upper left
+corner of the bigger image.
+
+*NOTE*: To get a full list of available video filters, see ``--vf=help``.
+
+Video filters are managed in lists. There are a few commands to manage the
+filter list.
+
+--vf-add=<filter1[,filter2,...]>
+ Appends the filters given as arguments to the filter list.
+
+--vf-pre=<filter1[,filter2,...]>
+ Prepends the filters given as arguments to the filter list.
+
+--vf-del=<index1[,index2,...]>
+ Deletes the filters at the given indexes. Index numbers start at 0,
+ negative numbers address the end of the list (-1 is the last).
+
+--vf-clr
+ Completely empties the filter list.
+
+With filters that support it, you can access parameters by their name.
+
+--vf=<filter>=help
+ Prints the parameter names and parameter value ranges for a particular
+ filter.
+
+--vf=<filter=named_parameter1=value1[:named_parameter2=value2:...]>
+ Sets a named parameter to the given value. Use on and off or yes and no to
+ set flag parameters.
+
+Available filters are:
+
+crop[=w:h:x:y]
+ Crops the given part of the image and discards the rest. Useful to remove
+ black bands from widescreen movies.
+
+ <w>,<h>
+ Cropped width and height, defaults to original width and height.
+ <x>,<y>
+ Position of the cropped picture, defaults to center.
+
+cropdetect[=limit:round[:reset]]
+ Calculates necessary cropping parameters and prints the recommended
+ parameters to stdout.
+
+ <limit>
+ Threshold, which can be optionally specified from nothing (0) to
+ everything (255) (default: 24).
+ <round>
+ Value which the width/height should be divisible by (default: 16). The
+ offset is automatically adjusted to center the video. Use 2 to get
+ only even dimensions (needed for 4:2:2 video). 16 is best when
+ encoding to most video codecs.
+ <reset>
+ Counter that determines after how many frames cropdetect will reset
+ the previously detected largest video area and start over to detect
+ the current optimal crop area (default: 0). This can be useful when
+ channel logos distort the video area. 0 indicates never reset and
+ return the largest area encountered during playback.
+
+rectangle[=w:h:x:y]
+ Draws a rectangle of the requested width and height at the specified
+ coordinates over the image and prints current rectangle parameters to the
+ console. This can be used to find optimal cropping parameters. If you bind
+ the ``input.conf`` directive 'change_rectangle' to keystrokes, you can
+ move and resize the rectangle on the fly.
+
+ <w>,<h>
+ width and height (default: -1, maximum possible width where boundaries
+ are still visible.)
+ <x>,<y>
+ top left corner position (default: -1, uppermost leftmost)
+
+expand[=w:h:x:y:osd:aspect:round]
+ Expands (not scales) movie resolution to the given value and places the
+ unscaled original at coordinates x, y. Can be used for placing
+ subtitles/OSD in the resulting black bands.
+
+ <w>,<h>
+ Expanded width,height (default: original width,height). Negative
+ values for w and h are treated as offsets to the original size.
+
+ *EXAMPLE*:
+
+ `expand=0:-50:0:0`
+ Adds a 50 pixel border to the bottom of the picture.
+
+ <x>,<y>
+ position of original image on the expanded image (default: center)
+
+ <osd>
+ OSD/subtitle rendering
+
+ :0: disable (default)
+ :1: enable
+
+ <aspect>
+ Expands to fit an aspect instead of a resolution (default: 0).
+
+ *EXAMPLE*:
+
+ `expand=800:::::4/3`
+ Expands to 800x600, unless the source is higher resolution, in
+ which case it expands to fill a 4/3 aspect.
+
+ <round>
+ Rounds up to make both width and height divisible by <r> (default: 1).
+
+flip
+ Flips the image upside down. See also ``--flip``.
+
+mirror
+ Mirrors the image on the Y axis.
+
+rotate[=<0-7>]
+ Rotates the image by 90 degrees and optionally flips it. For values
+ between 4-7 rotation is only done if the movie geometry is portrait and
+ not landscape.
+
+ :0: Rotate by 90 degrees clockwise and flip (default).
+ :1: Rotate by 90 degrees clockwise.
+ :2: Rotate by 90 degrees counterclockwise.
+ :3: Rotate by 90 degrees counterclockwise and flip.
+
+scale[=w:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
+ Scales the image with the software scaler (slow) and performs a YUV<->RGB
+ colorspace conversion (see also ``--sws``).
+
+ <w>,<h>
+ scaled width/height (default: original width/height)
+
+ *NOTE*: If ``--zoom`` is used, and underlying filters (including
+ libvo) are incapable of scaling, it defaults to d_width/d_height!
+
+ :0: scaled d_width/d_height
+ :-1: original width/height
+ :-2: Calculate w/h using the other dimension and the prescaled
+ aspect ratio.
+ :-3: Calculate w/h using the other dimension and the original
+ aspect ratio.
+ :-(n+8): Like -n above, but rounding the dimension to the closest
+ multiple of 16.
+
+ <interlaced>
+ Toggle interlaced scaling.
+
+ :0: off (default)
+ :1: on
+
+ <chr_drop>
+ chroma skipping
+
+ :0: Use all available input lines for chroma.
+ :1: Use only every 2. input line for chroma.
+ :2: Use only every 4. input line for chroma.
+ :3: Use only every 8. input line for chroma.
+
+ <par>[:<par2>] (see also ``--sws``)
+ Set some scaling parameters depending on the type of scaler selected
+ with ``--sws``.
+
+ | --sws=2 (bicubic): B (blurring) and C (ringing)
+ | 0.00:0.60 default
+ | 0.00:0.75 VirtualDub's "precise bicubic"
+ | 0.00:0.50 Catmull-Rom spline
+ | 0.33:0.33 Mitchell-Netravali spline
+ | 1.00:0.00 cubic B-spline
+
+ --sws=7 (gaussian): sharpness (0 (soft) - 100 (sharp))
+
+ --sws=9 (lanczos): filter length (1-10)
+
+ <presize>
+ Scale to preset sizes.
+
+ :qntsc: 352x240 (NTSC quarter screen)
+ :qpal: 352x288 (PAL quarter screen)
+ :ntsc: 720x480 (standard NTSC)
+ :pal: 720x576 (standard PAL)
+ :sntsc: 640x480 (square pixel NTSC)
+ :spal: 768x576 (square pixel PAL)
+
+ <noup>
+ Disallow upscaling past the original dimensions.
+
+ :0: Allow upscaling (default).
+ :1: Disallow upscaling if one dimension exceeds its original value.
+ :2: Disallow upscaling if both dimensions exceed their original values.
+
+ <arnd>
+ Accurate rounding for the vertical scaler, which may be faster or
+ slower than the default rounding.
+
+ :0: Disable accurate rounding (default).
+ :1: Enable accurate rounding.
+
+dsize[=aspect|w:h:aspect-method:r]
+ Changes the intended display size/aspect at an arbitrary point in the
+ filter chain. Aspect can be given as a fraction (4/3) or floating point
+ number (1.33). Alternatively, you may specify the exact display width and
+ height desired. Note that this filter does *not* do any scaling itself; it
+ just affects what later scalers (software or hardware) will do when
+ auto-scaling to correct aspect.
+
+ <w>,<h>
+ New display width and height.
+
+ Can also be these special values:
+
+ :0: original display width and height
+ :-1: original video width and height (default)
+ :-2: Calculate w/h using the other dimension and the original display
+ aspect ratio.
+ :-3: Calculate w/h using the other dimension and the original video
+ aspect ratio.
+
+ *EXAMPLE*:
+
+ ``dsize=800:-2``
+ Specifies a display resolution of 800x600 for a 4/3 aspect video,
+ or 800x450 for a 16/9 aspect video.
+
+ <aspect-method>
+ Modifies width and height according to original aspect ratios.
+
+ :-1: Ignore original aspect ratio (default).
+ :0: Keep display aspect ratio by using <w> and <h> as maximum
+ resolution.
+ :1: Keep display aspect ratio by using <w> and <h> as minimum
+ resolution.
+ :2: Keep video aspect ratio by using <w> and <h> as maximum
+ resolution.
+ :3: Keep video aspect ratio by using <w> and <h> as minimum
+ resolution.
+
+ *EXAMPLE*:
+
+ ``dsize=800:600:0``
+ Specifies a display resolution of at most 800x600, or smaller, in
+ order to keep aspect.
+
+ <r>
+ Rounds up to make both width and height divisible by <r> (default: 1).
+
+yvu9
+ Forces software YVU9 to YV12 colorspace conversion. Deprecated in favor of
+ the software scaler.
+
+yuvcsp
+ Clamps YUV color values to the CCIR 601 range without doing real
+ conversion.
+
+palette
+ RGB/BGR 8 -> 15/16/24/32bpp colorspace conversion using palette.
+
+format[=fourcc[:outfourcc]]
+ Restricts the colorspace for the next filter without doing any conversion.
+ Use together with the scale filter for a real conversion.
+
+ *NOTE*: For a list of available formats see ``format=fmt=help``.
+
+ <fourcc>
+ format name like rgb15, bgr24, yv12, etc (default: yuy2)
+ <outfourcc>
+ Format name that should be substituted for the output. If this is not
+ 100% compatible with the <fourcc> value it will crash.
+
+ *EXAMPLE*
+
+ ====================== =====================
+ Valid Invalid (will crash)
+ ====================== =====================
+ ``format=rgb24:bgr24`` ``format=rgb24:yv12``
+ ``format=yuyv:yuy2``
+ ====================== =====================
+
+noformat[=fourcc]
+ Restricts the colorspace for the next filter without doing any conversion.
+ Unlike the format filter, this will allow any colorspace except the one
+ you specify.
+
+ *NOTE*: For a list of available formats see ``noformat=fmt=help``.
+
+ <fourcc>
+ format name like rgb15, bgr24, yv12, etc (default: yv12)
+
+pp[=filter1[:option1[:option2...]]/[-]filter2...]
+ Enables the specified chain of postprocessing subfilters. Subfilters must
+ be separated by '/' and can be disabled by prepending a '-'. Each
+ subfilter and some options have a short and a long name that can be used
+ interchangeably, i.e. dr/dering are the same. All subfilters share common
+ options to determine their scope:
+
+ a/autoq
+ Automatically switch the subfilter off if the CPU is too slow.
+ c/chrom
+ Do chrominance filtering, too (default).
+ y/nochrom
+ Do luminance filtering only (no chrominance).
+ n/noluma
+ Do chrominance filtering only (no luminance).
+
+ *NOTE*: ``--pphelp`` shows a list of available subfilters.
+
+ Available subfilters are:
+
+ hb/hdeblock[:difference[:flatness]]
+ horizontal deblocking filter
+
+ :<difference>: Difference factor where higher values mean more
+ deblocking (default: 32).
+ :<flatness>: Flatness threshold where lower values mean more
+ deblocking (default: 39).
+
+ vb/vdeblock[:difference[:flatness]]
+ vertical deblocking filter
+
+ :<difference>: Difference factor where higher values mean more
+ deblocking (default: 32).
+ :<flatness>: Flatness threshold where lower values mean more
+ deblocking (default: 39).
+
+ ha/hadeblock[:difference[:flatness]]
+ accurate horizontal deblocking filter
+
+ :<difference>: Difference factor where higher values mean more
+ deblocking (default: 32).
+ :<flatness>: Flatness threshold where lower values mean more
+ deblocking (default: 39).
+
+ va/vadeblock[:difference[:flatness]]
+ accurate vertical deblocking filter
+
+ :<difference>: Difference factor where higher values mean more
+ deblocking (default: 32).
+ :<flatness>: Flatness threshold where lower values mean more
+ deblocking (default: 39).
+
+ The horizontal and vertical deblocking filters share the difference and
+ flatness values so you cannot set different horizontal and vertical
+ thresholds.
+
+ h1/x1hdeblock
+ experimental horizontal deblocking filter
+
+ v1/x1vdeblock
+ experimental vertical deblocking filter
+
+ dr/dering
+ deringing filter
+
+ tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]
+ temporal noise reducer
+
+ :<threshold1>: larger -> stronger filtering
+ :<threshold2>: larger -> stronger filtering
+ :<threshold3>: larger -> stronger filtering
+
+ al/autolevels[:f/fullyrange]
+ automatic brightness / contrast correction
+
+ :f/fullyrange: Stretch luminance to (0-255).
+
+ lb/linblenddeint
+ Linear blend deinterlacing filter that deinterlaces the given block by
+ filtering all lines with a (1 2 1) filter.
+
+ li/linipoldeint
+ Linear interpolating deinterlacing filter that deinterlaces the given
+ block by linearly interpolating every second line.
+
+ ci/cubicipoldeint
+ Cubic interpolating deinterlacing filter deinterlaces the given block
+ by cubically interpolating every second line.
+
+ md/mediandeint
+ Median deinterlacing filter that deinterlaces the given block by
+ applying a median filter to every second line.
+
+ fd/ffmpegdeint
+ FFmpeg deinterlacing filter that deinterlaces the given block by
+ filtering every second line with a (-1 4 2 4 -1) filter.
+
+ l5/lowpass5
+ Vertically applied FIR lowpass deinterlacing filter that deinterlaces
+ the given block by filtering all lines with a (-1 2 6 2 -1) filter.
+
+ fq/forceQuant[:quantizer]
+ Overrides the quantizer table from the input with the constant
+ quantizer you specify.
+
+ :<quantizer>: quantizer to use
+
+ de/default
+ default pp filter combination (hb:a,vb:a,dr:a)
+
+ fa/fast
+ fast pp filter combination (h1:a,v1:a,dr:a)
+
+ ac
+ high quality pp filter combination (ha:a:128:7,va:a,dr:a)
+
+ *EXAMPLE*:
+
+ ``--vf=pp=hb/vb/dr/al``
+ horizontal and vertical deblocking, deringing and automatic
+ brightness/contrast
+
+ ``--vf=pp=de/-al``
+ default filters without brightness/contrast correction
+
+ ``--vf=pp=default/tmpnoise:1:2:3``
+ Enable default filters & temporal denoiser.
+
+ ``--vf=pp=hb:y/vb:a``
+ Horizontal deblocking on luminance only, and switch vertical
+ deblocking on or off automatically depending on available CPU time.
+
+spp[=quality[:qp[:mode]]]
+ Simple postprocessing filter that compresses and decompresses the image at
+ several (or - in the case of quality level 6 - all) shifts and averages
+ the results.
+
+ <quality>
+ 0-6 (default: 3)
+
+ <qp>
+ Force quantization parameter (default: 0, use QP from video).
+
+ <mode>
+
+ :0: hard thresholding (default)
+ :1: soft thresholding (better deringing, but blurrier)
+ :4: like 0, but also use B-frames' QP (may cause flicker)
+ :5: like 1, but also use B-frames' QP (may cause flicker)
+
+uspp[=quality[:qp]]
+ Ultra simple & slow postprocessing filter that compresses and decompresses
+ the image at several (or - in the case of quality level 8 - all) shifts
+ and averages the results.
+
+ The way this differs from the behavior of spp is that uspp actually
+ encodes & decodes each case with libavcodec Snow, whereas spp uses a
+ simplified intra only 8x8 DCT similar to MJPEG.
+
+ <quality>
+ 0-8 (default: 3)
+
+ <qp>
+ Force quantization parameter (default: 0, use QP from video).
+
+fspp[=quality[:qp[:strength[:bframes]]]]
+ faster version of the simple postprocessing filter
+
+ <quality>
+ 4-5 (equivalent to spp; default: 4)
+
+ <qp>
+ Force quantization parameter (default: 0, use QP from video).
+
+ <-15-32>
+ Filter strength, lower values mean more details but also more
+ artifacts, while higher values make the image smoother but also
+ blurrier (default: 0 - PSNR optimal).
+
+ <bframes>
+ 0: do not use QP from B-frames (default)
+ 1: use QP from B-frames too (may cause flicker)
+
+pp7[=qp[:mode]]
+ Variant of the spp filter, similar to spp=6 with 7 point DCT where only
+ the center sample is used after IDCT.
+
+ <qp>
+ Force quantization parameter (default: 0, use QP from video).
+
+ <mode>
+ :0: hard thresholding
+ :1: soft thresholding (better deringing, but blurrier)
+ :2: medium thresholding (default, good results)
+
+qp=equation
+ quantization parameter (QP) change filter
+
+ <equation>
+ some equation like ``2+2*sin(PI*qp)``
+
+geq=equation
+ generic equation change filter
+
+ <equation>
+ Some equation, e.g. ``p(W-X\,Y)`` to flip the image horizontally. You
+ can use whitespace to make the equation more readable. There are a
+ couple of constants that can be used in the equation:
+
+ :PI: the number pi
+ :E: the number e
+ :X / Y: the coordinates of the current sample
+ :W / H: width and height of the image
+ :SW / SH: width/height scale depending on the currently filtered plane,
+ e.g. 1,1 and 0.5,0.5 for YUV 4:2:0.
+ :p(x,y): returns the value of the pixel at location x/y of the current
+ plane.
+
+test
+ Generate various test patterns.
+
+rgbtest[=width:height]
+ Generate an RGB test pattern useful for detecting RGB vs BGR issues. You
+ should see a red, green and blue stripe from top to bottom.
+
+ <width>
+ Desired width of generated image (default: 0). 0 means width of input
+ image.
+
+ <height>
+ Desired height of generated image (default: 0). 0 means height of
+ input image.
+
+lavc[=quality:fps]
+ Fast software YV12 to MPEG-1 conversion with libavcodec for use with
+ DVB/DXR3/IVTV/V4L2.
+
+ <quality>
+ :1-31: fixed qscale
+ :32-: fixed bitrate in kbits
+
+ <fps>
+ force output fps (float value) (default: 0, autodetect based on height)
+
+dvbscale[=aspect]
+ Set up optimal scaling for DVB cards, scaling the x axis in hardware and
+ calculating the y axis scaling in software to keep aspect. Only useful
+ together with expand and scale.
+
+ <aspect>
+ Control aspect ratio, calculate as ``DVB_HEIGHT*ASPECTRATIO`` (default:
+ ``576*4/3=768``), set it to ``576*(16/9)=1024`` for a 16:9 TV.
+
+ *EXAMPLE*:
+
+ ``--vf=dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc``
+ FIXME: Explain what this does.
+
+noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
+ Adds noise.
+
+ :<0-100>: luma noise
+ :<0-100>: chroma noise
+ :u: uniform noise (gaussian otherwise)
+ :t: temporal noise (noise pattern changes between frames)
+ :a: averaged temporal noise (smoother, but a lot slower)
+ :h: high quality (slightly better looking, slightly slower)
+ :p: mix random noise with a (semi)regular pattern
+
+denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
+ This filter aims to reduce image noise producing smooth images and making
+ still images really still (This should enhance compressibility.).
+
+ <luma_spatial>
+ spatial luma strength (default: 4)
+ <chroma_spatial>
+ spatial chroma strength (default: 3)
+ <luma_tmp>
+ luma temporal strength (default: 6)
+ <chroma_tmp>
+ chroma temporal strength (default:
+ ``luma_tmp*chroma_spatial/luma_spatial``)
+
+hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
+ High precision/quality version of the denoise3d filter. Parameters and
+ usage are the same.
+
+ow[=depth[:luma_strength[:chroma_strength]]]
+ Overcomplete Wavelet denoiser.
+
+ <depth>
+ Larger depth values will denoise lower frequency components more, but
+ slow down filtering (default: 8).
+ <luma_strength>
+ luma strength (default: 1.0)
+ <chroma_strength>
+ chroma strength (default: 1.0)
+
+eq[=brightness:contrast] (OBSOLETE)
+ Software equalizer with interactive controls just like the hardware
+ equalizer, for cards/drivers that do not support brightness and contrast
+ controls in hardware.
+
+ <-100-100>
+ initial brightness
+ <-100-100>
+ initial contrast
+
+eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
+ Alternative software equalizer that uses lookup tables (very slow),
+ allowing gamma correction in addition to simple brightness and contrast
+ adjustment. Note that it uses the same MMX optimized code as ``--vf=eq``
+ if all gamma values are 1.0. The parameters are given as floating point
+ values.
+
+ <0.1-10>
+ initial gamma value (default: 1.0)
+ <-2-2>
+ initial contrast, where negative values result in a negative image
+ (default: 1.0)
+ <-1-1>
+ initial brightness (default: 0.0)
+ <0-3>
+ initial saturation (default: 1.0)
+ <0.1-10>
+ gamma value for the red component (default: 1.0)
+ <0.1-10>
+ gamma value for the green component (default: 1.0)
+ <0.1-10>
+ gamma value for the blue component (default: 1.0)
+ <0-1>
+ The weight parameter can be used to reduce the effect of a high gamma
+ value on bright image areas, e.g. keep them from getting overamplified
+ and just plain white. A value of 0.0 turns the gamma correction all
+ the way down while 1.0 leaves it at its full strength (default: 1.0).
+
+hue[=hue:saturation]
+ Software equalizer with interactive controls just like the hardware
+ equalizer, for cards/drivers that do not support hue and saturation
+ controls in hardware.
+
+ <-180-180>
+ initial hue (default: 0.0)
+ <-100-100>
+ initial saturation, where negative values result in a negative chroma
+ (default: 1.0)
+
+halfpack[=f]
+ Convert planar YUV 4:2:0 to half-height packed 4:2:2, downsampling luma
+ but keeping all chroma samples. Useful for output to low-resolution
+ display devices when hardware downscaling is poor quality or is not
+ available. Can also be used as a primitive luma-only deinterlacer with
+ very low CPU usage.
+
+ <f>
+ By default, halfpack averages pairs of lines when downsampling. Any
+ value different from 0 or 1 gives the default (averaging) behavior.
+
+ :0: Only use even lines when downsampling.
+ :1: Only use odd lines when downsampling.
+
+ilpack[=mode]
+ When interlaced video is stored in YUV 4:2:0 formats, chroma interlacing
+ does not line up properly due to vertical downsampling of the chroma
+ channels. This filter packs the planar 4:2:0 data into YUY2 (4:2:2) format
+ with the chroma lines in their proper locations, so that in any given
+ scanline, the luma and chroma data both come from the same field.
+
+ <mode>
+ Select the sampling mode.
+
+ :0: nearest-neighbor sampling, fast but incorrect
+ :1: linear interpolation (default)
+
+decimate[=max:hi:lo:frac]
+ Drops frames that do not differ greatly from the previous frame in order
+ to reduce framerate. The main use of this filter is for very-low- bitrate
+ encoding (e.g. streaming over dialup modem), but it could in theory be
+ used for fixing movies that were inverse-telecined incorrectly.
+
+ <max>
+ Sets the maximum number of consecutive frames which can be dropped (if
+ positive), or the minimum interval between dropped frames (if
+ negative).
+ <hi>,<lo>,<frac>
+ A frame is a candidate for dropping if no 8x8 region differs by more
+ than a threshold of <hi>, and if not more than <frac> portion (1
+ meaning the whole image) differs by more than a threshold of <lo>.
+ Values of <hi> and <lo> are for 8x8 pixel blocks and represent actual
+ pixel value differences, so a threshold of 64 corresponds to 1 unit of
+ difference for each pixel, or the same spread out differently over the
+ block.
+
+dint[=sense:level]
+ The drop-deinterlace (dint) filter detects and drops the first from a set
+ of interlaced video frames.
+
+ <0.0-1.0>
+ relative difference between neighboring pixels (default: 0.1)
+ <0.0-1.0>
+ What part of the image has to be detected as interlaced to drop the
+ frame (default: 0.15).
+
+lavcdeint (OBSOLETE)
+ FFmpeg deinterlacing filter, same as ``--vf=pp=fd``
+
+kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
+ Donald Graft's adaptive kernel deinterlacer. Deinterlaces parts of a video
+ if a configurable threshold is exceeded.
+
+ <0-255>
+ threshold (default: 10)
+ <map>
+ :0: Ignore pixels exceeding the threshold (default).
+ :1: Paint pixels exceeding the threshold white.
+
+ <order>
+ :0: Leave fields alone (default).
+ :1: Swap fields.
+
+ <sharp>
+ :0: Disable additional sharpening (default).
+ :1: Enable additional sharpening.
+
+ <twoway>
+ :0: Disable twoway sharpening (default).
+ :1: Enable twoway sharpening.
+
+unsharp[=l|cWxH:amount[:l|cWxH:amount]]
+ unsharp mask / gaussian blur
+
+ l
+ Apply effect on luma component.
+
+ c
+ Apply effect on chroma components.
+
+ <width>x<height>
+ width and height of the matrix, odd sized in both directions (min =
+ 3x3, max = 13x11 or 11x13, usually something between 3x3 and 7x7)
+
+ amount
+ Relative amount of sharpness/blur to add to the image (a sane range
+ should be -1.5-1.5).
+
+ :<0: blur
+ :>0: sharpen
+
+swapuv
+ Swap U & V plane.
+
+il[=d|i][s][:[d|i][s]]
+ (De)interleaves lines. The goal of this filter is to add the ability to
+ process interlaced images pre-field without deinterlacing them. You can
+ filter your interlaced DVD and play it on a TV without breaking the
+ interlacing. While deinterlacing (with the postprocessing filter) removes
+ interlacing permanently (by smoothing, averaging, etc) deinterleaving
+ splits the frame into 2 fields (so called half pictures), so you can
+ process (filter) them independently and then re-interleave them.
+
+ :d: deinterleave (placing one above the other)
+ :i: interleave
+ :s: swap fields (exchange even & odd lines)
+
+fil[=i|d]
+ (De)interleaves lines. This filter is very similar to the il filter but
+ much faster, the main disadvantage is that it does not always work.
+ Especially if combined with other filters it may produce randomly messed
+ up images, so be happy if it works but do not complain if it does not for
+ your combination of filters.
+
+ :d: Deinterleave fields, placing them side by side.
+ :i: Interleave fields again (reversing the effect of fil=d).
+
+field[=n]
+ Extracts a single field from an interlaced image using stride arithmetic
+ to avoid wasting CPU time. The optional argument n specifies whether to
+ extract the even or the odd field (depending on whether n is even or odd).
+
+detc[=var1=value1:var2=value2:...]
+ Attempts to reverse the 'telecine' process to recover a clean,
+ non-interlaced stream at film framerate. This was the first and most
+ primitive inverse telecine filter to be added to MPlayer. It works by
+ latching onto the telecine 3:2 pattern and following it as long as
+ possible. This makes it suitable for perfectly-telecined material, even in
+ the presence of a fair degree of noise, but it will fail in the presence
+ of complex post-telecine edits. Development on this filter is no longer
+ taking place, as ivtc, pullup, and filmdint are better for most
+ applications. The following arguments (see syntax above) may be used to
+ control detc's behavior:
+
+ <dr>
+ Set the frame dropping mode.
+
+ :0: Do not drop frames to maintain fixed output framerate (default).
+ :1: Always drop a frame when there have been no drops or telecine
+ merges in the past 5 frames.
+ :2: Always maintain exact 5:4 input to output frame ratio.
+
+ <am>
+ Analysis mode.
+
+ :0: Fixed pattern with initial frame number specified by <fr>.
+ :1: aggressive search for telecine pattern (default)
+
+ <fr>
+ Set initial frame number in sequence. 0-2 are the three clean
+ progressive frames; 3 and 4 are the two interlaced frames. The
+ default, -1, means 'not in telecine sequence'. The number specified
+ here is the type for the imaginary previous frame before the movie
+ starts.
+
+ <t0>, <t1>, <t2>, <t3>
+ Threshold values to be used in certain modes.
+
+ivtc[=1]
+ Experimental 'stateless' inverse telecine filter. Rather than trying to
+ lock on to a pattern like the detc filter does, ivtc makes its decisions
+ independently for each frame. This will give much better results for
+ material that has undergone heavy editing after telecine was applied, but
+ as a result it is not as forgiving of noisy input, for example TV capture.
+ The optional parameter (ivtc=1) corresponds to the dr=1 option for the
+ detc filter, and should not be used with MPlayer. Further development on
+ ivtc has stopped, as the pullup and filmdint filters appear to be much
+ more accurate.
+
+pullup[=jl:jr:jt:jb:sb:mp]
+ Third-generation pulldown reversal (inverse telecine) filter, capable of
+ handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001
+ fps progressive content. The pullup filter is designed to be much more
+ robust than detc or ivtc, by taking advantage of future context in making
+ its decisions. Like ivtc, pullup is stateless in the sense that it does
+ not lock onto a pattern to follow, but it instead looks forward to the
+ following fields in order to identify matches and rebuild progressive
+ frames. It is still under development, but believed to be quite accurate.
+
+ jl, jr, jt, and jb
+ These options set the amount of "junk" to ignore at the left, right,
+ top, and bottom of the image, respectively. Left/right are in units of
+ 8 pixels, while top/bottom are in units of 2 lines. The default is 8
+ pixels on each side.
+
+ sb (strict breaks)
+ Setting this option to 1 will reduce the chances of pullup generating
+ an occasional mismatched frame, but it may also cause an excessive
+ number of frames to be dropped during high motion sequences.
+ Conversely, setting it to -1 will make pullup match fields more
+ easily. This may help processing of video where there is slight
+ blurring between the fields, but may also cause there to be interlaced
+ frames in the output.
+
+ mp (metric plane)
+ This option may be set to 1 or 2 to use a chroma plane instead of the
+ luma plane for doing pullup's computations. This may improve accuracy
+ on very clean source material, but more likely will decrease accuracy,
+ especially if there is chroma noise (rainbow effect) or any grayscale
+ video. The main purpose of setting mp to a chroma plane is to reduce
+ CPU load and make pullup usable in realtime on slow machines.
+
+filmdint[=options]
+ Inverse telecine filter, similar to the pullup filter above. It is
+ designed to handle any pulldown pattern, including mixed soft and hard
+ telecine and limited support for movies that are slowed down or sped up
+ from their original framerate for TV. Only the luma plane is used to find
+ the frame breaks. If a field has no match, it is deinterlaced with simple
+ linear approximation. If the source is MPEG-2, this must be the first
+ filter to allow access to the field-flags set by the MPEG-2 decoder.
+ Depending on the source MPEG, you may be fine ignoring this advice, as
+ long as you do not see lots of "Bottom-first field" warnings. With no
+ options it does normal inverse telecine. When this filter is used with
+ MPlayer, it will result in an uneven framerate during playback, but it is
+ still generally better than using pp=lb or no deinterlacing at all.
+ Multiple options can be specified separated by /.
+
+ crop=<w>:<h>:<x>:<y>
+ Just like the crop filter, but faster, and works on mixed hard and
+ soft telecined content as well as when y is not a multiple of 4. If x
+ or y would require cropping fractional pixels from the chroma planes,
+ the crop area is extended. This usually means that x and y must be
+ even.
+
+ io=<ifps>:<ofps>
+ For each ifps input frames the filter will output ofps frames. This
+ could be used to filter movies that are broadcast on TV at a frame
+ rate different from their original framerate.
+
+ luma_only=<n>
+ If n is nonzero, the chroma plane is copied unchanged. This is useful
+ for YV12 sampled TV, which discards one of the chroma fields.
+
+ mmx2=<n>
+ On x86, if n=1, use MMX2 optimized functions, if n=2, use 3DNow!
+ optimized functions, otherwise, use plain C. If this option is not
+ specified, MMX2 and 3DNow! are auto-detected, use this option to
+ override auto-detection.
+
+ fast=<n>
+ The larger n will speed up the filter at the expense of accuracy. The
+ default value is n=3. If n is odd, a frame immediately following a
+ frame marked with the REPEAT_FIRST_FIELD MPEG flag is assumed to be
+ progressive, thus filter will not spend any time on soft-telecined
+ MPEG-2 content. This is the only effect of this flag if MMX2 or 3DNow!
+ is available. Without MMX2 and 3DNow, if n=0 or 1, the same
+ calculations will be used as with n=2 or 3. If n=2 or 3, the number of
+ luma levels used to find the frame breaks is reduced from 256 to 128,
+ which results in a faster filter without losing much accuracy. If n=4
+ or 5, a faster, but much less accurate metric will be used to find the
+ frame breaks, which is more likely to misdetect high vertical detail
+ as interlaced content.
+
+ verbose=<n>
+ If n is nonzero, print the detailed metrics for each frame. Useful for
+ debugging.
+
+ dint_thres=<n>
+ Deinterlace threshold. Used during de-interlacing of unmatched frames.
+ Larger value means less deinterlacing, use n=256 to completely turn
+ off deinterlacing. Default is n=8.
+
+ comb_thres=<n>
+ Threshold for comparing a top and bottom fields. Defaults to 128.
+
+ diff_thres=<n>
+ Threshold to detect temporal change of a field. Default is 128.
+
+ sad_thres=<n>
+ Sum of Absolute Difference threshold, default is 64.
+
+divtc[=options]
+ Inverse telecine for deinterlaced video. If 3:2-pulldown telecined video
+ has lost one of the fields or is deinterlaced using a method that keeps
+ one field and interpolates the other, the result is a juddering video that
+ has every fourth frame duplicated. This filter is intended to find and
+ drop those duplicates and restore the original film framerate. Two
+ different modes are available: One pass mode is the default and is
+ straightforward to use, but has the disadvantage that any changes in the
+ telecine phase (lost frames or bad edits) cause momentary judder until the
+ filter can resync again. Two pass mode avoids this by analyzing the whole
+ video beforehand so it will have forward knowledge about the phase changes
+ and can resync at the exact spot. These passes do *not* correspond to pass
+ one and two of the encoding process. You must run an extra pass using
+ divtc pass one before the actual encoding throwing the resulting video
+ away. Use ``--nosound --ovc=raw -o /dev/null`` to avoid wasting CPU power
+ for this pass. You may add something like ``crop=2:2:0:0`` after divtc to
+ speed things up even more. Then use divtc pass two for the actual
+ encoding. If you use multiple encoder passes, use divtc pass two for all
+ of them. The options are:
+
+ pass=1|2
+ Use two pass mode.
+
+ file=<filename>
+ Set the two pass log filename (default: ``framediff.log``).
+
+ threshold=<value>
+ Set the minimum strength the telecine pattern must have for the filter
+ to believe in it (default: 0.5). This is used to avoid recognizing
+ false pattern from the parts of the video that are very dark or very
+ still.
+
+ window=<numframes>
+ Set the number of past frames to look at when searching for pattern
+ (default: 30). Longer window improves the reliability of the pattern
+ search, but shorter window improves the reaction time to the changes
+ in the telecine phase. This only affects the one pass mode. The two
+ pass mode currently uses fixed window that extends to both future and
+ past.
+
+ phase=0|1|2|3|4
+ Sets the initial telecine phase for one pass mode (default: 0). The
+ two pass mode can see the future, so it is able to use the correct
+ phase from the beginning, but one pass mode can only guess. It catches
+ the correct phase when it finds it, but this option can be used to fix
+ the possible juddering at the beginning. The first pass of the two
+ pass mode also uses this, so if you save the output from the first
+ pass, you get constant phase result.
+
+ deghost=<value>
+ Set the deghosting threshold (0-255 for one pass mode, -255-255 for
+ two pass mode, default 0). If nonzero, deghosting mode is used. This
+ is for video that has been deinterlaced by blending the fields
+ together instead of dropping one of the fields. Deghosting amplifies
+ any compression artifacts in the blended frames, so the parameter
+ value is used as a threshold to exclude those pixels from deghosting
+ that differ from the previous frame less than specified value. If two
+ pass mode is used, then negative value can be used to make the filter
+ analyze the whole video in the beginning of pass-2 to determine
+ whether it needs deghosting or not and then select either zero or the
+ absolute value of the parameter. Specify this option for pass-2, it
+ makes no difference on pass-1.
+
+phase[=t|b|p|a|u|T|B|A|U][:v]
+ Delay interlaced video by one field time so that the field order changes.
+ The intended use is to fix PAL movies that have been captured with the
+ opposite field order to the film-to-video transfer. The options are:
+
+ t
+ Capture field order top-first, transfer bottom-first. Filter will
+ delay the bottom field.
+
+ b
+ Capture bottom-first, transfer top-first. Filter will delay the top
+ field.
+
+ p
+ Capture and transfer with the same field order. This mode only exists
+ for the documentation of the other options to refer to, but if you
+ actually select it, the filter will faithfully do nothing ;-)
+
+ a
+ Capture field order determined automatically by field flags, transfer
+ opposite. Filter selects among t and b modes on a frame by frame basis
+ using field flags. If no field information is available, then this
+ works just like u.
+
+ u
+ Capture unknown or varying, transfer opposite. Filter selects among t
+ and b on a frame by frame basis by analyzing the images and selecting
+ the alternative that produces best match between the fields.
+
+ T
+ Capture top-first, transfer unknown or varying. Filter selects among t
+ and p using image analysis.
+
+ B
+ Capture bottom-first, transfer unknown or varying. Filter selects
+ among b and p using image analysis.
+
+ A
+ Capture determined by field flags, transfer unknown or varying. Filter
+ selects among t, b and p using field flags and image analysis. If no
+ field information is available, then this works just like U. This is
+ the default mode.
+
+ U
+ Both capture and transfer unknown or varying. Filter selects among t,
+ b and p using image analysis only.
+
+ v
+ Verbose operation. Prints the selected mode for each frame and the
+ average squared difference between fields for t, b, and p
+ alternatives.
+
+telecine[=start]
+ Apply 3:2 'telecine' process to increase framerate by 20%. This most
+ likely will not work correctly with MPlayer. The optional start parameter
+ tells the filter where in the telecine pattern to start (0-3).
+
+tinterlace[=mode]
+ Temporal field interlacing - merge pairs of frames into an interlaced
+ frame, halving the framerate. Even frames are moved into the upper field,
+ odd frames to the lower field. This can be used to fully reverse the
+ effect of the tfields filter (in mode 0). Available modes are:
+
+ :0: Move odd frames into the upper field, even into the lower field,
+ generating a full-height frame at half framerate.
+ :1: Only output odd frames, even frames are dropped; height unchanged.
+ :2: Only output even frames, odd frames are dropped; height unchanged.
+ :3: Expand each frame to full height, but pad alternate lines with black;
+ framerate unchanged.
+ :4: Interleave even lines from even frames with odd lines from odd frames.
+ Height unchanged at half framerate.
+
+tfields[=mode[:field_dominance]]
+ Temporal field separation - split fields into frames, doubling the output
+ framerate.
+
+ <mode>
+ :0: Leave fields unchanged (will jump/flicker).
+ :1: Interpolate missing lines. (The algorithm used might not be so
+ good.)
+ :2: Translate fields by 1/4 pixel with linear interpolation (no jump).
+ :4: Translate fields by 1/4 pixel with 4tap filter (higher quality)
+ (default).
+
+ <field_dominance> (DEPRECATED)
+ :-1: auto (default) Only works if the decoder exports the appropriate
+ information and no other filters which discard that information
+ come before tfields in the filter chain, otherwise it falls back
+ to 0 (top field first).
+ :0: top field first
+ :1: bottom field first
+
+ *NOTE*: This option will possibly be removed in a future version. Use
+ ``--field-dominance`` instead.
+
+yadif=[mode[:field_dominance]]
+ Yet another deinterlacing filter
+
+ <mode>
+ :0: Output 1 frame for each frame.
+ :1: Output 1 frame for each field.
+ :2: Like 0 but skips spatial interlacing check.
+ :3: Like 1 but skips spatial interlacing check.
+
+ <field_dominance> (DEPRECATED)
+ Operates like tfields.
+
+ *NOTE*: This option will possibly be removed in a future version. Use
+ ``--field-dominance`` instead.
+
+mcdeint=[mode[:parity[:qp]]]
+ Motion compensating deinterlacer. It needs one field per frame as input
+ and must thus be used together with tfields=1 or yadif=1/3 or equivalent.
+
+ <mode>
+ :0: fast
+ :1: medium
+ :2: slow, iterative motion estimation
+ :3: extra slow, like 2 plus multiple reference frames
+
+ <parity>
+ 0 or 1 selects which field to use (note: no autodetection yet!).
+
+ <qp>
+ Higher values should result in a smoother motion vector field but less
+ optimal individual vectors.
+
+boxblur=radius:power[:radius:power]
+ box blur
+
+ <radius>
+ blur filter strength
+ <power>
+ number of filter applications
+
+sab=radius:pf:colorDiff[:radius:pf:colorDiff]
+ shape adaptive blur
+
+ <radius>
+ blur filter strength (~0.1-4.0) (slower if larger)
+ <pf>
+ prefilter strength (~0.1-2.0)
+ <colorDiff>
+ maximum difference between pixels to still be considered (~0.1-100.0)
+
+smartblur=radius:strength:threshold[:radius:strength:threshold]
+ smart blur
+
+ <radius>
+ blur filter strength (~0.1-5.0) (slower if larger)
+ <strength>
+ blur (0.0-1.0) or sharpen (-1.0-0.0)
+ <threshold>
+ filter all (0), filter flat areas (0-30) or filter edges (-30-0)
+
+perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
+ Correct the perspective of movies not filmed perpendicular to the screen.
+
+ <x0>,<y0>,...
+ coordinates of the top left, top right, bottom left, bottom right
+ corners
+ <t>
+ linear (0) or cubic resampling (1)
+
+2xsai
+ Scale and smooth the image with the 2x scale and interpolate algorithm.
+
+1bpp
+ 1bpp bitmap to YUV/BGR 8/15/16/32 conversion
+
+down3dright[=lines]
+ Reposition and resize stereoscopic images. Extracts both stereo fields and
+ places them side by side, resizing them to maintain the original movie
+ aspect.
+
+ <lines>
+ number of lines to select from the middle of the image (default: 12)
+
+bmovl=hidden:opaque:fifo
+ The bitmap overlay filter reads bitmaps from a FIFO and displays them on
+ top of the movie, allowing some transformations on the image. See also
+ ``TOOLS/bmovl-test.c`` for a small bmovl test program.
+
+ <hidden>
+ Set the default value of the 'hidden' flag (0=visible, 1=hidden).
+ <opaque>
+ Set the default value of the 'opaque' flag (0=transparent, 1=opaque).
+ <fifo>
+ path/filename for the FIFO (named pipe connecting ``mplayer
+ --vf=bmovl`` to the controlling application)
+
+ FIFO commands are:
+
+ RGBA32 width height xpos ypos alpha clear
+ followed by width*height*4 Bytes of raw RGBA32 data.
+ ABGR32 width height xpos ypos alpha clear
+ followed by width*height*4 Bytes of raw ABGR32 data.
+ RGB24 width height xpos ypos alpha clear
+ followed by width*height*3 Bytes of raw RGB24 data.
+ BGR24 width height xpos ypos alpha clear
+ followed by width*height*3 Bytes of raw BGR24 data.
+ ALPHA width height xpos ypos alpha
+ Change alpha transparency of the specified area.
+ CLEAR width height xpos ypos
+ Clear area.
+ OPAQUE
+ Disable all alpha transparency. Send "ALPHA 0 0 0 0 0" to enable it
+ again.
+ HIDE
+ Hide bitmap.
+ SHOW
+ Show bitmap.
+
+ Arguments are:
+
+ <width>, <height>
+ image/area size
+ <xpos>, <ypos>
+ Start blitting at position x/y.
+ <alpha>
+ Set alpha difference. If you set this to -255 you can then send a
+ sequence of ALPHA-commands to set the area to -225, -200, -175 etc for
+ a nice fade-in-effect! ;)
+
+ :0: same as original
+ :255: Make everything opaque.
+ :-255: Make everything transparent.
+
+ <clear>
+ Clear the framebuffer before blitting.
+
+ :0: The image will just be blitted on top of the old one, so you do
+ not need to send 1.8MB of RGBA32 data every time a small part of
+ the screen is updated.
+ :1: clear
+
+framestep=I|[i]step
+ Renders only every nth frame or every intra frame (keyframe).
+
+ If you call the filter with I (uppercase) as the parameter, then *only*
+ keyframes are rendered. For DVDs it generally means one in every 15/12
+ frames (IBBPBBPBBPBBPBB), for AVI it means every scene change or every
+ keyint value.
+
+ When a keyframe is found, an 'I!' string followed by a newline character
+ is printed, leaving the current line of MPlayer output on the screen,
+ because it contains the time (in seconds) and frame number of the keyframe
+ (You can use this information to split the AVI.).
+
+ If you call the filter with a numeric parameter 'step' then only one in
+ every 'step' frames is rendered.
+
+ If you put an 'i' (lowercase) before the number then an 'I!' is printed
+ (like the I parameter).
+
+ If you give only the i then nothing is done to the frames, only I! is
+ printed.
+
+tile=xtiles:ytiles:output:start:delta
+ Tile a series of images into a single, bigger image. If you omit a
+ parameter or use a value less than 0, then the default value is used. You
+ can also stop when you are satisfied (``... --vf=tile=10:5 ...``). It is
+ probably a good idea to put the scale filter before the tile :-)
+
+ The parameters are:
+
+ <xtiles>
+ number of tiles on the x axis (default: 5)
+ <ytiles>
+ number of tiles on the y axis (default: 5)
+ <output>
+ Render the tile when 'output' number of frames are reached, where
+ 'output' should be a number less than xtile * ytile. Missing tiles are
+ left blank. You could, for example, write an 8 * 7 tile every 50
+ frames to have one image every 2 seconds @ 25 fps.
+ <start>
+ outer border thickness in pixels (default: 2)
+ <delta>
+ inner border thickness in pixels (default: 4)
+
+delogo[=x:y:w:h:t]
+ Suppresses a TV station logo by a simple interpolation of the surrounding
+ pixels. Just set a rectangle covering the logo and watch it disappear (and
+ sometimes something even uglier appear - your mileage may vary).
+
+ <x>,<y>
+ top left corner of the logo
+ <w>,<h>
+ width and height of the cleared rectangle
+ <t>
+ Thickness of the fuzzy edge of the rectangle (added to w and h). When
+ set to -1, a green rectangle is drawn on the screen to simplify
+ finding the right x,y,w,h parameters.
+ file=<file>
+ You can specify a text file to load the coordinates from. Each line
+ must have a timestamp (in seconds, and in ascending order) and the
+ "x:y:w:h:t" coordinates (*t* can be omitted).
+
+remove-logo=/path/to/logo_bitmap_file_name.pgm
+ Suppresses a TV station logo, using a PGM or PPM image file to determine
+ which pixels comprise the logo. The width and height of the image file
+ must match those of the video stream being processed. Uses the filter
+ image and a circular blur algorithm to remove the logo.
+
+ ``/path/to/logo_bitmap_file_name.pgm``
+ [path] + filename of the filter image.
+
+screenshot
+ Allows acquiring screenshots of the movie using slave mode commands that
+ can be bound to keypresses. See the slave mode documentation and the
+ ``INTERACTIVE CONTROL`` section for details. Files named ``shotNNNN.png``
+ will be saved in the working directory, using the first available number -
+ no files will be overwritten. The filter has no overhead when not used. It
+ does however break playback in some cases, especially VDPAU hardware
+ decoding is incompatible with the filter. Thus it is not completely safe to
+ add the filter to default configuration "just in case you might want to
+ take screenshots". Make sure that the screenshot filter is added after all
+ other filters whose effect you want to record on the saved image. E.g. it
+ should be the last filter if you want to have an exact screenshot of what
+ you see on the monitor.
+
+ass
+ Moves SSA/ASS subtitle rendering to an arbitrary point in the filter
+ chain. See the ``--ass`` option.
+
+ *EXAMPLE*:
+
+ ``--vf=ass,screenshot``
+ Moves SSA/ASS rendering before the screenshot filter. Screenshots
+ taken this way will contain subtitles.
+
+blackframe[=amount:threshold]
+ Detect frames that are (almost) completely black. Can be useful to detect
+ chapter transitions or commercials. Output lines consist of the frame
+ number of the detected frame, the percentage of blackness, the frame type
+ and the frame number of the last encountered keyframe.
+
+ <amount>
+ Percentage of the pixels that have to be below the threshold (default:
+ 98).
+
+ <threshold>
+ Threshold below which a pixel value is considered black (default: 32).
+
+stereo3d[=in:out]
+ Stereo3d converts between different stereoscopic image formats.
+
+ <in>
+ Stereoscopic image format of input. Possible values:
+
+ sbsl or side_by_side_left_first
+ side by side parallel (left eye left, right eye right)
+ sbsr or side_by_side_right_first
+ side by side crosseye (right eye left, left eye right)
+ abl or above_below_left_first
+ above-below (left eye above, right eye below)
+ abl or above_below_right_first
+ above-below (right eye above, left eye below)
+ ab2l or above_below_half_height_left_first
+ above-below with half height resolution (left eye above, right eye
+ below)
+ ab2r or above_below_half_height_right_first
+ above-below with half height resolution (right eye above, left eye
+ below)
+
+ <out>
+ Stereoscopic image format of output. Possible values are all the input
+ formats as well as:
+
+ arcg or anaglyph_red_cyan_gray
+ anaglyph red/cyan gray (red filter on left eye, cyan filter on
+ right eye)
+ arch or anaglyph_red_cyan_half_color
+ anaglyph red/cyan half colored (red filter on left eye, cyan filter
+ on right eye)
+ arcc or anaglyph_red_cyan_color
+ anaglyph red/cyan color (red filter on left eye, cyan filter on
+ right eye)
+ arcd or anaglyph_red_cyan_dubois
+ anaglyph red/cyan color optimized with the least squares
+ projection of dubois (red filter on left eye, cyan filter on right
+ eye)
+ agmg or anaglyph_green_magenta_gray
+ anaglyph green/magenta gray (green filter on left eye, magenta
+ filter on right eye)
+ agmh or anaglyph_green_magenta_half_color
+ anaglyph green/magenta half colored (green filter on left eye,
+ magenta filter on right eye)
+ agmc or anaglyph_green_magenta_color
+ anaglyph green/magenta colored (green filter on left eye, magenta
+ filter on right eye)
+ aybg or anaglyph_yellow_blue_gray
+ anaglyph yellow/blue gray (yellow filter on left eye, blue filter
+ on right eye)
+ aybh or anaglyph_yellow_blue_half_color
+ anaglyph yellow/blue half colored (yellow filter on left eye, blue
+ filter on right eye)
+ aybc or anaglyph_yellow_blue_color
+ anaglyph yellow/blue colored (yellow filter on left eye, blue
+ filter on right eye)
+ irl or interleave_rows_left_first
+ Interleaved rows (left eye has top row, right eye starts on next
+ row)
+ irr or interleave_rows_right_first
+ Interleaved rows (right eye has top row, left eye starts on next
+ row)
+ ml or mono_left
+ mono output (left eye only)
+ mr or mono_right
+ mono output (right eye only)
+
+gradfun[=strength[:radius]]
+ Fix the banding artifacts that are sometimes introduced into nearly flat
+ regions by truncation to 8bit colordepth. Interpolates the gradients that
+ should go where the bands are, and dithers them.
+
+ This filter is designed for playback only. Do not use it prior to lossy
+ compression, because compression tends to lose the dither and bring back
+ the bands.
+
+ <strength>
+ Maximum amount by which the filter will change any one pixel. Also the
+ threshold for detecting nearly flat regions (default: 1.2).
+
+ <radius>
+ Neighborhood to fit the gradient to. Larger radius makes for smoother
+ gradients, but also prevents the filter from modifying pixels near
+ detailed regions (default: 16).
+
+fixpts[=options]
+ Fixes the presentation timestamps (PTS) of the frames. By default, the PTS
+ passed to the next filter is dropped, but the following options can change
+ that:
+
+ print
+ Print the incoming PTS.
+
+ fps=<fps>
+ Specify a frame per second value.
+
+ start=<pts>
+ Specify an initial value for the PTS.
+
+ autostart=<n>
+ Uses the *n*\th incoming PTS as the initial PTS. All previous PTS are
+ kept, so setting a huge value or -1 keeps the PTS intact.
+
+ autofps=<n>
+ Uses the *n*\th incoming PTS after the end of autostart to determine
+ the framerate.
+
+ *EXAMPLE*:
+
+ ``--vf=fixpts=fps=24000/1001,ass,fixpts``
+ Generates a new sequence of PTS, uses it for ASS subtitles, then drops
+ it. Generating a new sequence is useful when the timestamps are reset
+ during the program; this is frequent on DVDs. Dropping it may be
+ necessary to avoid confusing encoders.
+
+ *NOTE*: Using this filter together with any sort of seeking (including
+ ``--ss``) may make demons fly out of your nose.
diff --git a/DOCS/man/en/vo.rst b/DOCS/man/en/vo.rst
new file mode 100644
index 0000000..f597448
--- /dev/null
+++ b/DOCS/man/en/vo.rst
@@ -0,0 +1,759 @@
+Video Output Drivers
+====================
+
+Video output drivers are interfaces to different video output facilities. The
+syntax is:
+
+--vo=<driver1[:suboption1[=value]:...],driver2,...[,]>
+ Specify a priority list of video output drivers to be used.
+
+If the list has a trailing ',' MPlayer will fall back on drivers not contained
+in the list. Suboptions are optional and can mostly be omitted.
+
+*NOTE*: See ``--vo=help`` for a list of compiled-in video output drivers.
+
+*EXAMPLE*:
+
+ ``--vo=gl,xv,``
+ Try the gl driver, then the Xv driver, then others.
+ ``--vo=directx:noaccel``
+ Uses the DirectX driver with acceleration features turned off.
+
+Available video output drivers are:
+
+xv (X11 only)
+ Uses the XVideo extension to enable hardware accelerated playback. This is
+ the most compatible VO on X, but may be low quality, and has issues with
+ OSD and subtitle display.
+ For information about what colorkey is used and how it is drawn run
+ MPlayer with ``-v`` option and look out for the lines tagged with ``[xv
+ common]`` at the beginning.
+
+ adaptor=<number>
+ Select a specific XVideo adaptor (check xvinfo results).
+ port=<number>
+ Select a specific XVideo port.
+ ck=<cur|use|set>
+ Select the source from which the colorkey is taken (default: cur).
+
+ cur
+ The default takes the colorkey currently set in Xv.
+ use
+ Use but do not set the colorkey from MPlayer (use the ``--colorkey``
+ option to change it).
+ set
+ Same as use but also sets the supplied colorkey.
+
+ ck-method=<man|bg|auto>
+ Sets the colorkey drawing method (default: man).
+
+ man
+ Draw the colorkey manually (reduces flicker in some cases).
+ bg
+ Set the colorkey as window background.
+ auto
+ Let Xv draw the colorkey.
+
+x11 (X11 only)
+ Shared memory video output driver without hardware acceleration that works
+ whenever X11 is present.
+
+vdpau (X11 only)
+ Uses the VDPAU interface to display and optionally also decode video.
+ Hardware decoding is used with ``--vc=ffmpeg12vdpau``,
+ ``--vc=ffwmv3vdpau``, ``--vc=ffvc1vdpau``, ``--vc=ffh264vdpau`` or
+ ``--vc=ffodivxvdpau``.
+
+ sharpen=<-1-1>
+ For positive values, apply a sharpening algorithm to the video, for
+ negative values a blurring algorithm (default: 0).
+ denoise=<0-1>
+ Apply a noise reduction algorithm to the video (default: 0, no noise
+ reduction).
+ deint=<-4-4>
+ Select deinterlacing mode (default: -3). Positive values choose mode
+ and enable deinterlacing. Corresponding negative values select the
+ same deinterlacing mode, but do not enable deinterlacing on startup
+ (useful in configuration files to specify what mode will be enabled by
+ the "D" key). All modes respect ``--field-dominance``.
+
+ 0
+ same as -3
+ 1
+ Show only first field, similar to ``--vf=field``.
+ 2
+ Bob deinterlacing, similar to ``--vf=tfields=1``.
+ 3
+ motion adaptive temporal deinterlacing. May lead to A/V desync
+ with slow video hardware and/or high resolution.
+ 4
+ motion adaptive temporal deinterlacing with edge-guided spatial
+ interpolation. Needs fast video hardware.
+ chroma-deint
+ Makes temporal deinterlacers operate both on luma and chroma (default).
+ Use no-chroma-deint to solely use luma and speed up advanced
+ deinterlacing. Useful with slow video memory.
+ pullup
+ Try to apply inverse telecine, needs motion adaptive temporal
+ deinterlacing.
+ hqscaling=<0-9>
+ 0
+ Use default VDPAU scaling (default).
+ 1-9
+ Apply high quality VDPAU scaling (needs capable hardware).
+ fps=<number>
+ Override autodetected display refresh rate value (the value is needed
+ for framedrop to allow video playback rates higher than display
+ refresh rate, and for vsync-aware frame timing adjustments). Default 0
+ means use autodetected value. A positive value is interpreted as a
+ refresh rate in Hz and overrides the autodetected value. A negative
+ value disables all timing adjustment and framedrop logic.
+ composite-detect
+ NVIDIA's current VDPAU implementation behaves somewhat differently
+ under a compositing window manager and does not give accurate frame
+ timing information. With this option enabled, the player tries to
+ detect whether a compositing window manager is active. If one is
+ detected, the player disables timing adjustments as if the user had
+ specified fps=-1 (as they would be based on incorrect input). This
+ means timing is somewhat less accurate than without compositing, but
+ with the composited mode behavior of the NVIDIA driver there is no
+ hard playback speed limit even without the disabled logic. Enabled by
+ default, use no-composite-detect to disable.
+ queuetime_windowed=<number> and queuetime_fs=<number>
+ Use VDPAU's presentation queue functionality to queue future video
+ frame changes at most this many milliseconds in advance (default: 50).
+ See below for additional information.
+ output_surfaces=<2-15>
+ Allocate this many output surfaces to display video frames (default:
+ 3). See below for additional information.
+
+ Using the VDPAU frame queueing functionality controlled by the queuetime
+ options makes MPlayer's frame flip timing less sensitive to system CPU
+ load and allows MPlayer to start decoding the next frame(s) slightly
+ earlier which can reduce jitter caused by individual slow-to-decode
+ frames. However the NVIDIA graphics drivers can make other window behavior
+ such as window moves choppy if VDPAU is using the blit queue (mainly
+ happens if you have the composite extension enabled) and this feature is
+ active. If this happens on your system and it bothers you then you can set
+ the queuetime value to 0 to disable this feature. The settings to use in
+ windowed and fullscreen mode are separate because there should be less
+ reason to disable this for fullscreen mode (as the driver issue shouldn't
+ affect the video itself).
+
+ You can queue more frames ahead by increasing the queuetime values and the
+ output_surfaces count (to ensure enough surfaces to buffer video for a
+ certain time ahead you need at least as many surfaces as the video has
+ frames during that time, plus two). This could help make video smoother in
+ some cases. The main downsides are increased video RAM requirements for
+ the surfaces and laggier display response to user commands (display
+ changes only become visible some time after they're queued). The graphics
+ driver implementation may also have limits on the length of maximum
+ queuing time or number of queued surfaces that work well or at all.
+
+sdl (SDL only, buggy/outdated)
+ Highly platform independent SDL (Simple Directmedia Layer) library video
+ output driver. Since SDL uses its own X11 layer, MPlayer X11 options do
+ not have any effect on SDL. Note that it has several minor bugs
+ (``--vm``/``--no-vm`` is mostly ignored, ``--fs`` behaves like ``--no-vm``
+ should, window is in top-left corner when returning from fullscreen,
+ panscan is not supported, ...).
+
+ driver=<driver>
+ Explicitly choose the SDL driver to use.
+ (no-)forcexv
+ Use XVideo through the sdl video output driver (default: forcexv).
+ (no-)hwaccel
+ Use hardware accelerated scaler (default: hwaccel).
+
+direct3d (Windows only) (BETA CODE!)
+ Video output driver that uses the Direct3D interface (useful for Vista).
+
+directx (Windows only)
+ Video output driver that uses the DirectX interface.
+
+ noaccel
+ Turns off hardware acceleration. Try this option if you have display
+ problems.
+
+corevideo (Mac OS X 10.6 and later)
+ Mac OS X CoreVideo video output driver. Uses the CoreVideo APIs to fill
+ PixelBuffers and generate OpenGL textures from them (useful as a fallback
+ for vo_gl).
+
+gl
+ OpenGL video output driver, simple version. Video size must be smaller
+ than the maximum texture size of your OpenGL implementation. Intended to
+ work even with the most basic OpenGL implementations, but also makes use
+ of newer extensions, which allow support for more colorspaces and direct
+ rendering. For optimal speed try adding the options ``--dr=-noslices``
+
+ The code performs very few checks, so if a feature does not work, this
+ might be because it is not supported by your card/OpenGL implementation
+ even if you do not get any error message. Use ``glxinfo`` or a similar
+ tool to display the supported OpenGL extensions.
+
+ (no-)ati-hack
+ ATI drivers may give a corrupted image when PBOs are used (when using
+ ``--dr`` or `force-pbo`). This option fixes this, at the expense of
+ using a bit more memory.
+ (no-)force-pbo
+ Always uses PBOs to transfer textures even if this involves an extra
+ copy. Currently this gives a little extra speed with NVidia drivers
+ and a lot more speed with ATI drivers. May need ``--no-slices`` and
+ the ati-hack suboption to work correctly.
+ (no-)scaled-osd
+ Changes the way the OSD behaves when the size of the window changes
+ (default: disabled). When enabled behaves more like the other video
+ output drivers, which is better for fixed-size fonts. Disabled looks
+ much better with FreeType fonts and uses the borders in fullscreen
+ mode. Does not work correctly with ass subtitles (see ``--ass``), you
+ can instead render them without OpenGL support via ``--vf=ass``.
+ osdcolor=<0xAARRGGBB>
+ Color for OSD (default: 0x00ffffff, corresponds to non-transparent
+ white).
+ rectangle=<0,1,2>
+ Select usage of rectangular textures which saves video RAM, but often
+ is slower (default: 0).
+
+ 0
+ Use power-of-two textures (default).
+ 1
+ Use the ``GL_ARB_texture_rectangle`` extension.
+ 2
+ Use the ``GL_ARB_texture_non_power_of_two`` extension. In some
+ cases only supported in software and thus very slow.
+
+ swapinterval=<n>
+ Minimum interval between two buffer swaps, counted in displayed frames
+ (default: 1). 1 is equivalent to enabling VSYNC, 0 to disabling VSYNC.
+ Values below 0 will leave it at the system default. This limits the
+ framerate to (horizontal refresh rate / n). Requires
+ ``GLX_SGI_swap_control`` support to work. With some (most/all?)
+ implementations this only works in fullscreen mode.
+ ycbcr
+ Use the ``GL_MESA_ycbcr_texture`` extension to convert YUV to RGB. In
+ most cases this is probably slower than doing software conversion to
+ RGB.
+ yuv=<n>
+ Select the type of YUV to RGB conversion. The default is
+ auto-detection deciding between values 0 and 2.
+
+ 0
+ Use software conversion. Compatible with all OpenGL versions.
+ Provides brightness, contrast and saturation control.
+ 1
+ Same as 2. This used to use nVidia-specific extensions, which
+ didn't provide any advantages over using fragment programs, except
+ possibly on very ancient graphic cards. It produced a gray-ish
+ output, which is why it has been removed.
+ 2
+ Use a fragment program. Needs the ``GL_ARB_fragment_program``
+ extension and at least three texture units. Provides brightness,
+ contrast, saturation and hue control.
+ 3
+ Use a fragment program using the POW instruction. Needs the
+ ``GL_ARB_fragment_program`` extension and at least three texture
+ units. Provides brightness, contrast, saturation, hue and gamma
+ control. Gamma can also be set independently for red, green and
+ blue. Method 4 is usually faster.
+ 4
+ Use a fragment program with additional lookup. Needs the
+ ``GL_ARB_fragment_program`` extension and at least four texture
+ units. Provides brightness, contrast, saturation, hue and gamma
+ control. Gamma can also be set independently for red, green and
+ blue.
+ 5
+ Use ATI-specific method (for older cards). This uses an
+ ATI-specific extension (``GL_ATI_fragment_shader`` - not
+ ``GL_ARB_fragment_shader``!). At least three texture units are
+ needed. Provides saturation and hue control. This method is fast
+ but inexact.
+ 6
+ Use a 3D texture to do conversion via lookup. Needs the
+ ``GL_ARB_fragment_program extension`` and at least four texture
+ units. Extremely slow (software emulation) on some (all?) ATI
+ cards since it uses a texture with border pixels. Provides
+ brightness, contrast, saturation, hue and gamma control. Gamma can
+ also be set independently for red, green and blue. Speed depends
+ more on GPU memory bandwidth than other methods.
+
+ lscale=<n>
+ Select the scaling function to use for luminance scaling. Only valid
+ for yuv modes 2, 3, 4 and 6.
+
+ 0
+ Use simple linear filtering (default).
+ 1
+ Use bicubic B-spline filtering (better quality). Needs one
+ additional texture unit. Older cards will not be able to handle
+ this for chroma at least in fullscreen mode.
+ 2
+ Use cubic filtering in horizontal, linear filtering in vertical
+ direction. Works on a few more cards than method 1.
+ 3
+ Same as 1 but does not use a lookup texture. Might be faster on
+ some cards.
+ 4
+ Use experimental unsharp masking with 3x3 support and a default
+ strength of 0.5 (see `filter-strength`).
+ 5
+ Use experimental unsharp masking with 5x5 support and a default
+ strength of 0.5 (see `filter-strength`).
+
+ cscale=<n>
+ Select the scaling function to use for chrominance scaling. For
+ details see `lscale`.
+ filter-strength=<value>
+ Set the effect strength for the `lscale`/`cscale` filters that support
+ it.
+ noise-strength=<value>
+ Set how much noise to add. 0 to disable (default), 1.0 for a level
+ suitable for dithering to 6 bit.
+ stereo=<value>
+ Select a method for stereo display. You may have to use ``--aspect`` to
+ fix the aspect value. Experimental, do not expect too much from it.
+
+ 0
+ Normal 2D display
+ 1
+ Convert side by side input to full-color red-cyan stereo.
+ 2
+ Convert side by side input to full-color green-magenta stereo.
+ 3
+ Convert side by side input to quadbuffered stereo. Only supported
+ by very few OpenGL cards.
+
+ The following options are only useful if writing your own fragment
+ programs.
+
+ customprog=<filename>
+ Load a custom fragment program from <filename>. See
+ ``TOOLS/edgedect.fp`` for an example.
+ customtex=<filename>
+ Load a custom "gamma ramp" texture from <filename>. This can be used
+ in combination with yuv=4 or with the customprog option.
+ (no-)customtlin
+ If enabled (default) use ``GL_LINEAR`` interpolation, otherwise use
+ ``GL_NEAREST`` for customtex texture.
+ (no-)customtrect
+ If enabled, use texture_rectangle for customtex texture. Default is
+ disabled.
+ (no-)mipmapgen
+ If enabled, mipmaps for the video are automatically generated. This
+ should be useful together with the customprog and the TXB instruction
+ to implement blur filters with a large radius. For most OpenGL
+ implementations this is very slow for any non-RGB formats. Default is
+ disabled.
+
+ Normally there is no reason to use the following options, they mostly
+ exist for testing purposes.
+
+ (no-)glfinish
+ Call ``glFinish()`` before swapping buffers. Slower but in some cases
+ more correct output (default: disabled).
+ (no-)manyfmts
+ Enables support for more (RGB and BGR) color formats (default:
+ enabled). Needs OpenGL version >= 1.2.
+ slice-height=<0-...>
+ Number of lines copied to texture in one piece (default: 0). 0 for
+ whole image.
+
+ *NOTE*: If YUV colorspace is used (see `yuv` suboption), special rules
+ apply: If the decoder uses slice rendering (see ``--no-slices``), this
+ setting has no effect, the size of the slices as provided by the
+ decoder is used. If the decoder does not use slice rendering, the
+ default is 16.
+ (no-)osd
+ Enable or disable support for OSD rendering via OpenGL (default:
+ enabled). This option is for testing; to disable the OSD use
+ ``--osdlevel=0`` instead.
+ backend=<sys>
+ auto
+ auto-select (default)
+ cocoa
+ Cocoa/OSX
+ win
+ Win32/WGL
+ x11
+ X11/GLX
+
+gl3
+ OpenGL video output driver, extended version. The requires an OpenGL 3
+ capable graphics driver. (Note: this is only because of developer pedantry.
+ The dependency on actual OpenGL 3 features is rather low.)
+
+ It supports extended scaling methods, dithering and color management.
+ It tries to use sane defaults for good quality output.
+
+ Note that some cheaper LCDs do dithering that gravely interferes with
+ vo_gl3's dithering. Disabling dithering with ``dither-depth=-1`` helps.
+
+ Sometimes you can achieve better quality or performance by changing the
+ fbo-format sub-option to ``rgb16f``, ``rgb32f`` or ``rgb``. (Known
+ problems include Mesa/Intel not accepting ``rgb16``, Mesa sometimes not
+ being compiled with float texture support, and some OSX setups being very
+ slow with ``rgb16``, but fast with ``rgb32f``.)
+
+ lscale=<filter>
+ Set the scaling filter. Possible choices:
+ bilinear
+ bicubic_fast
+ sharpen3
+ sharpen5
+ hanning
+ hamming
+ hermite
+ quadric
+ bicubic
+ kaiser
+ catmull_rom
+ mitchell
+ spline16
+ spline36
+ gaussian
+ sinc2
+ sinc3
+ sinc4
+ lanczos2
+ lanczos3
+ lanczos4
+ blackman2
+ blackman3
+ blackman4
+
+ bilinear
+ Bilinear hardware texture filtering (fastest, mid-quality).
+
+ lanczos2
+ Lanczos scaling with radius=2. Provides a good quality and speed.
+ This is the default.
+
+ lanczos3
+ Lanczos with radius=3.
+
+ bicubic_fast
+ Bicubic filter. Has a blurring effect on the image, even if no
+ scaling is done.
+
+ sharpen3
+ Unsharp masking (sharpening) with radius=3 and a default strength
+ of 0.5 (see ``lparam1``).
+
+ sharpen5
+ Unsharp masking (sharpening) with radius=5 and a default strength
+ of 0.5 (see ``lparam1``).
+
+ mitchell
+ Mitchell-Netravali. The ``b`` and ``c`` parameters can be set with
+ ``lparam1`` and ``lparam2``. Both are set to 1/3 by default.
+
+ lparam1=<value>
+ Set filter parameters. Ignored if the filter is not tunable. These are
+ unset by default, and use the filter specific default if applicable.
+
+ lparam2=<value>
+ See ``lparam1``.
+
+ stereo=<value>
+ Select a method for stereo display. You may have to use ``--aspect`` to
+ fix the aspect value. Experimental, do not expect too much from it.
+
+ 0
+ Normal 2D display
+ 1
+ Convert side by side input to full-color red-cyan stereo.
+ 2
+ Convert side by side input to full-color green-magenta stereo.
+ 3
+ Convert side by side input to quadbuffered stereo. Only supported
+ by very few OpenGL cards.
+
+ srgb
+ Enable gamma-correct scaling by working in linear light. This
+ makes use of sRGB textures and framebuffers.
+ This option forces the options 'indirect' and 'gamma'.
+ NOTE: for YUV colorspaces, gamma 2.2 is assumed. RGB input is always
+ assumed to be in sRGB.
+ This option is not really useful, as gamma-correct scaling does not
+ have much influence on typical video playback.
+
+ pbo
+ Enable use of PBOs. This is faster, but can sometimes lead to
+ sporadic and temporary image corruption.
+
+ dither-depth=<n>
+ Positive non-zero values select the target bit depth. Default: 0.
+
+ \-1
+ Disable any dithering done by mplayer.
+ 0
+ Automatic selection. If output bit depth can't be detected,
+ 8 bits per component are assumed.
+ 8
+ Dither to 8 bit output.
+
+ Note that dithering will always be disabled if the bit depth
+ of the video is lower or equal to the detected dither-depth.
+ If color management is enabled, input depth is assumed to be
+ 16 bits, because the 3D LUT output is 16 bit wide.
+
+ Note that the depth of the connected video display device can not be
+ detected. Often, LCD panels will do dithering on their own, which
+ conflicts with vo_gl3's dithering, and leads to ugly output.
+
+ debug
+ Check for OpenGL errors, i.e. call glGetError(). Also request a
+ debug OpenGL context (which does nothing with current graphics drivers
+ as of this writing).
+
+
+ swapinterval=<n>
+ Interval in displayed frames between two buffer swaps.
+ 1 is equivalent to enable VSYNC, 0 to disable VSYNC.
+
+ no-scale-sep
+ When using a separable scale filter for luma, usually two filter
+ passes are done. This is often faster. However, it forces
+ conversion to RGB in an extra pass, so it can actually be slower
+ if used with fast filters on small screen resolutions. Using
+ this options will make rendering a single operation.
+ Note that chroma scalers are always done as 1-pass filters.
+
+ cscale=<n>
+ As lscale but for chroma (2x slower with little visible effect).
+ Note that with some scaling filters, upscaling is always done in
+ RGB. If chroma is not subsampled, this option is ignored, and the
+ luma scaler is used instead. Setting this option is often useless.
+
+ no-fancy-downscaling
+ When using convolution based filters, don't extend the filter
+ size when downscaling. Trades downscaling performance for
+ reduced quality.
+
+ no-npot
+ Force use of power-of-2 texture sizes. For debugging only.
+ Borders will be distorted due to filtering.
+
+ glfinish
+ Call glFinish() before swapping buffers
+
+ backend=<sys>
+ auto
+ auto-select (default)
+ cocoa
+ Cocoa/OSX
+ win
+ Win32/WGL
+ x11
+ X11/GLX
+
+ indirect
+ Do YUV conversion and scaling as separate passes. This will
+ first render the video into a video-sized RGB texture, and
+ draw the result on screen. The luma scaler is used to scale
+ the RGB image when rendering to screen. The chroma scaler
+ is used only on YUV conversion, and only if the video uses
+ chroma-subsampling.
+ This mechanism is disabled on RGB input.
+ Specifying this option directly is generally useful for debugging only.
+
+ fbo-format=<fmt>
+ Selects the internal format of any FBO textures used.
+ fmt can be one of: rgb, rgba, rgb8, rgb16, rgb16f, rgb32f
+ Default: rgb16.
+
+ gamma
+ Always enable gamma control. (Disables delayed enabling.)
+
+ force-gl2
+ Create a legacy GL context. This will randomly malfunction
+ if the proper extensions are not supported.
+
+ icc-profile=<file>
+ Load an ICC profile and use it to transform linear RGB to
+ screen output. Needs LittleCMS2 support compiled in.
+
+ icc-cache=<file>
+ Store and load the 3D LUT created from the ICC profile in
+ this file. This can be used to speed up loading, since
+ LittleCMS2 can take a while to create the 3D LUT.
+ Note that this file contains an uncompressed LUT. Its size depends on
+ the ``3dlut-size``, and can be very big.
+
+ icc-intent=<value>
+ 0
+ perceptual
+ 1
+ relative colorimetric
+ 2
+ saturation
+ 3
+ absolute colorimetric (default)
+
+ 3dlut-size=<r>x<g>x<b>
+ Size of the 3D LUT generated from the ICC profile in each
+ dimension. Default is 128x256x64.
+ Sizes must be a power of two, and 256 at most.
+
+null
+ Produces no video output. Useful for benchmarking.
+
+caca
+ Color ASCII art video output driver that works on a text console.
+
+directfb
+ Play video using the DirectFB library.
+
+ (no-)input
+ Use the DirectFB instead of the MPlayer keyboard code (default:
+ enabled).
+ buffermode=single|double|triple
+ Double and triple buffering give best results if you want to avoid
+ tearing issues. Triple buffering is more efficient than double
+ buffering as it does not block MPlayer while waiting for the vertical
+ retrace. Single buffering should be avoided (default: single).
+ fieldparity=top|bottom
+ Control the output order for interlaced frames (default: disabled).
+ Valid values are top = top fields first, bottom = bottom fields first.
+ This option does not have any effect on progressive film material like
+ most MPEG movies are. You need to enable this option if you have
+ tearing issues or unsmooth motions watching interlaced film material.
+ layer=N
+ Will force layer with ID N for playback (default: -1 - auto).
+ dfbopts=<list>
+ Specify a parameter list for DirectFB.
+
+v4l2 (requires Linux 2.6.22+ kernel)
+ Video output driver for V4L2 compliant cards with built-in hardware MPEG
+ decoder. See also the lavc video filter.
+
+ <device>
+ Explicitly choose the MPEG decoder device name to use (default:
+ ``/dev/video16``).
+ <output>
+ Explicitly choose the TV-out output to be used for the video signal.
+
+md5sum
+ Calculate MD5 sums of each frame and write them to a file. Supports RGB24
+ and YV12 colorspaces. Useful for debugging.
+
+ outfile=<value>
+ Specify the output filename (default: ``./md5sums``).
+
+yuv4mpeg
+ Transforms the video stream into a sequence of uncompressed YUV 4:2:0
+ images and stores it in a file (default: ``./stream.yuv``). The format is
+ the same as the one employed by mjpegtools, so this is useful if you want
+ to process the video with the mjpegtools suite. It supports the YV12
+ format. If your source file has a different format and is interlaced, make
+ sure to use ``--vf=scale=::1`` to ensure the conversion uses interlaced
+ mode. You can combine it with the ``--fixed-vo`` option to concatenate
+ files with the same dimensions and fps value.
+
+ interlaced
+ Write the output as interlaced frames, top field first.
+ interlaced_bf
+ Write the output as interlaced frames, bottom field first.
+ file=<filename>
+ Write the output to <filename> instead of the default ``stream.yuv``.
+
+ *NOTE*: If you do not specify any option the output is progressive (i.e.
+ not interlaced).
+
+gif89a
+ Output each frame into a single animated GIF file in the current
+ directory. It supports only RGB format with 24 bpp and the output is
+ converted to 256 colors.
+
+ <fps>
+ Float value to specify framerate (default: 5.0).
+ <output>
+ Specify the output filename (default: ``./out.gif``).
+
+ *NOTE*: You must specify the framerate before the filename or the
+ framerate will be part of the filename.
+
+ *EXAMPLE*: ``mplayer video.nut --vo=gif89a:fps=15:output=test.gif``
+
+jpeg
+ Output each frame into a JPEG file in the current directory. Each file
+ takes the frame number padded with leading zeros as name.
+
+ [no]progressive
+ Specify standard or progressive JPEG (default: noprogressive).
+ [no]baseline
+ Specify use of baseline or not (default: baseline).
+ optimize=<0-100>
+ optimization factor (default: 100)
+ smooth=<0-100>
+ smooth factor (default: 0)
+ quality=<0-100>
+ quality factor (default: 75)
+ outdir=<dirname>
+ Specify the directory to save the JPEG files to (default: ``./``).
+ subdirs=<prefix>
+ Create numbered subdirectories with the specified prefix to save the
+ files in instead of the current directory.
+ maxfiles=<value> (subdirs only)
+ Maximum number of files to be saved per subdirectory. Must be equal to
+ or larger than 1 (default: 1000).
+
+pnm
+ Output each frame into a PNM file in the current directory. Each file
+ takes the frame number padded with leading zeros as name. It supports PPM,
+ PGM and PGMYUV files in both raw and ASCII mode. See also ``pnm(5)``,
+ ``ppm(5)`` and ``pgm(5)``.
+
+ ppm
+ Write PPM files (default).
+ pgm
+ Write PGM files.
+ pgmyuv
+ Write PGMYUV files. PGMYUV is like PGM, but it also contains the U and
+ V plane, appended at the bottom of the picture.
+ raw
+ Write PNM files in raw mode (default).
+ ascii
+ Write PNM files in ASCII mode.
+ outdir=<dirname>
+ Specify the directory to save the PNM files to (default: ``./``).
+ subdirs=<prefix>
+ Create numbered subdirectories with the specified prefix to save the
+ files in instead of the current directory.
+ maxfiles=<value> (subdirs only)
+ Maximum number of files to be saved per subdirectory. Must be equal to
+ or larger than 1 (default: 1000).
+
+png
+ Output each frame into a PNG file in the current directory. Each file
+ takes the frame number padded with leading zeros as name. 24bpp RGB and
+ BGR formats are supported.
+
+ z=<0-9>
+ Specifies the compression level. 0 is no compression, 9 is maximum
+ compression.
+ alpha
+ Create PNG files with an alpha channel. Note that MPlayer in general
+ does not support alpha, so this will only be useful in some rare
+ cases.
+
+tga
+ Output each frame into a Targa file in the current directory. Each file
+ takes the frame number padded with leading zeros as name. The purpose of
+ this video output driver is to have a simple lossless image writer to use
+ without any external library. It supports the BGR[A] color format, with
+ 15, 24 and 32 bpp. You can force a particular format with the format video
+ filter.
+
+ *EXAMPLE*: ``mplayer video.nut --vf=format=bgr15 --vo=tga``
+
+sharedbuffer (Mac OS X 10.6 and later)
+ Mac OS X headless video output designed to interact with GUIs. It copies
+ image data to a shared buffer so that the data can be read from a GUI and
+ rendered.
+
+ It uses the same protocol as MPlayer's ``-vo corevideo:shared_buffer``
+
+ buffer_name=<buffer_name>
+ Name of the shared buffer created with shm_open() as well as the name
+ of the NSConnection mplayer2 will try to open (default: mplayerosx).
diff --git a/DOCS/man/es/mplayer.1 b/DOCS/man/es/mplayer.1
deleted file mode 100644
index 213780b..0000000
--- a/DOCS/man/es/mplayer.1
+++ /dev/null
@@ -1,7567 +0,0 @@
-.\" synced with 1.685
-.\" Encoding: iso-8859-1
-.\" MPlayer (C) 2000-2010 El equipo de MPlayer
-.\" Esta página de manual ha sido escrita por Gabucino, Diego Biurrun,
-.\" Jonas Jermann y traducida al español por Juan Martín López.
-.\"
-.\" FIXME: break lines longer than 80 characters; remove trailing whitespaces
-.\" FIXME: New sentences need to start on new lines.
-.
-.\" FIXME: Partir las líneas que contienen más de 80 caracteres;
-.\" FIXME: Las nuevas frases deben comenzar en nuevas líneas.
-.\" Arreglado hasta la línea 1131.
-.\"
-.\" Traducido hasta la línea 4483 hay que revisar también las anteriores para
-.\" detectar algunos pequeños cambios.
-.
-.\" --------------------------------------------------------------------------
-.\" Definiciones de Macros
-.\" --------------------------------------------------------------------------
-.
-.\" define la indentación para las subopciones
-.nr SS 5
-.\" añade una nueva subopción
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" principio del primer nivel de subopciones, finaliza con .RE
-.de RSs
-.RS 10
-..
-.\" principio del segundo nivel de subopciones
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" final del segundo nivel de subopciones
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" Título
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2006-10-15" "Proyecto MPlayer" "El Reproductor de Películas"
-.
-.SH NOMBRE
-mplayer \- reproductor de películas
-.br
-mencoder \- codificador de películas
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Sinopsis
-.\" --------------------------------------------------------------------------
-.
-.SH SINOPSIS
-.na
-.nh
-.B mplayer
-[opciones] [archivo|URL|playlist|\-]
-.
-.br
-.B mplayer
-[opciones] fichero1
-[opciones específicas] fichero2 [opciones específicas]
-.
-.br
-.B mplayer
-[opciones]
-{grupo de ficheros y opciones}
-[opciones específicas del grupo]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[título|[título_inicial]-título_final]
-[opciones]
-.
-.br
-.B mplayer
-vcd://pista[/dispositivo]
-.
-.br
-.B mplayer
-tv://[canal]
-[opciones]
-.
-.br
-.B mplayer
-radio://[canal|frecuencia][/capture]
-[opciones]
-.
-.br
-.B mplayer
-pvr://
-[opciones]
-.
-.br
-.B mplayer
-dvb://[numero_tarjeta@]canal
-[opciones]
-.
-.br
-.B mplayer
-mf://máscara
-[\-mf opciones] [opciones]
-.
-.br
-.B mplayer
-[cdda|cddb]://pista[\-pista_final][:velocidad][/dispositivo]
-[opciones]
-.
-.br
-.B mplayer
-cue://archivo[:pista]
-[opciones]
-.
-.br
-.B mplayer
-[fichero|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|smb]://
-[usuario:contraseña@]URL[:puerto] [opciones]
-.
-.br
-.B mplayer
-sdp://fichero
-[opciones]
-.
-.br
-.B mplayer
-mpst://host[:puerto]/URL
-[opciones]
-.
-.br
-.B mplayer
-tivo://host/[list|llist|fsid]
-[opciones]
-.
-.br
-.B gmplayer
-[opciones]
-[\-skin\ skin]
-.
-.br
-.B mencoder
-[opciones] fichero
-[fichero|URL|\-] [\-o\ fichero\ |\ file://fichero\ |
-smb://[usuario:contraseña@]host/ruta_al_fichero]
-.
-.br
-.B mencoder
-[opciones] fichero1
-[opciones específicas] fichero2 [opciones específicas]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" Descripción
-.\" --------------------------------------------------------------------------
-.
-.SH DESCRIPCIÓN
-.B mplayer
-es un reproductor de películas para Linux (funciona en muchas otras plataformas
-y arquitecturas de CPU, vea la documentación).
-Reproduce la mayoría de los ficheros MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM,
-QT/\:MOV/\:MP4, ogg/\:OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ,
-soportados de forma nativa y otros codecs binarios.
-Además puede ver VideoCD, SVCD, DVD, 3ivx, DivX\ 3/\:4/\:5 e incluso películas
-WMV.
-.PP
-MPlayer soporta un amplio rango de controladores de salida de video y de
-audio.
-Funciona con X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
-Quartz, Mac OS X CoreVideo, pero también puede usar GGI, SDL (y todos sus
-controladores), VESA (en cualquier tarjeta compatible con VESA, incluso sin X11)
-, algunos controladores de tarjetas específicas a bajo nivel (par Matrox, 3Dfs y
- ATI) y algunas tarjetas decodificadoras de MPEG por hardware, tales como
-Siemens DVB, Hauppauge PVR (IVTV), DXR2 y DXR3/\:Hollywood+.
-La mayoría de ellos soportan escalado por software o por hardware, para que
-pueda disfrutar de las películas en modo de pantalla completa.
-.PP
-MPlayer tiene información en pantalla (OSD, On Screen Display) sobre el estado,
-subtítulos grandes y bonitos con suavizado de bordes y realimentación visual de
-los controles con teclado.
-Tipos de letra Europeo/\:ISO8859\-1,2 (Húngaro, Inglés, Checoslovaco, etc),
-Cirílico y Koreano se soportan en 12 formatos de subtítulos (MicroDVD, SubRip,
-OGM, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS y el nuestro:
-MPsub) así como subtítulos DVD (cadenas SPU, VOBsub y Closed Captions).
-.PP
-.B mencoder
-(Codificador de Películas de MPlayer) es un codificador simple de películas,
-diseñado para codificar películas que se pueden reproducir con MPlayer (vea
-más arriba) a otros formatos también reproducibles con MPlayer (vea más abajo).
-Codifica a MPEG-4 (DivX/Xvid), cualquier codec de libavcodec y audio en
-PCM/\:MP3/\:VBRMP3 en 1, 2 o 3\ pasadas.
-Además, tiene habilidades para copiar flujos, un potente sistema de filtros
-(recortar, expandir, girar, post-procesar, rotar, escalar, ruidos,
-conversión rgb/\:yuv) y más.
-.PP
-.B gmplayer
-es MPlayer con una interfaz gráfica para el usuario.
-Tiene las mismas opciones que MPlayer.
-.PP
-Se pueden encontrar ejemplos de uso para familiarizarle rápidamente con el
-manejo del programa al final de esta página del manual
-.PP
-.B ¡Lea también la documentación HTML!
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Control interactivo
-.\" --------------------------------------------------------------------------
-.
-.SH "CONTROL INTERACTIVO"
-MPlayer tiene una capa de control totalmente configurable, dirigida por órdenes,
- que le permite controlar MPlayer usando el teclado, el ratón, un mando de
-juegos o un mando a distancia (usando LIRC). Vea la opción \-input para conocer
-las maneras de configurarlo.
-.TP
-.B control por teclado
-.PD 0
-.RSss
-.IPs "<\- y \->"
-Posiciona atrás/\:adelante 10 segundos.
-.IPs "arriba y abajo"
-Posiciona atrás/\:adelante 1 minuto.
-.IPs "repág y avpág"
-Posiciona atrás/\:adelante 10 minutos.
-.IPs "[ y ]"
-Aumenta/disminuye la velocidad de reproducción en un 10%
-.IPs "{ y }"
-Dobla/Divide la velocidad de reproducción.
-.IPs "Retroceso"
-Devuelve la reproducción a la velocidad normal.
-.IPs "< y >"
-retrocede/\:avanza en la lista de reproducción.
-.IPs "INICIO y FIN"
-siguiente/\:previa entrada del árbol de reproducción en la lista actual.
-.IPs "INS y SUPR"
-siguiente/\:previa fuente alternativa (solo para listas de reproducción ASX).
-.IPs "p / ESPACIO"
-Pausa la película (cualquier tecla para salir del modo pausa).
-.IPs ".\ \ \ \ "
-Paso adelante. Pesionar una vez detiene la película.
-Cada pulsación posterior reproduce un frame y detiene la película otra vez
-(cualquier otra tecla hace retornar al modo normal).
-.IPs "q / ESC"
-Detiene la película y sale.
-.IPs "+ y \-"
-Ajusta el retardo de audio por +/\- 0.1 segundos.
-.IPs "/ y *"
-Decrementa/\:incrementa el volumen.
-.IPs "9 and 0"
-Decrementa/\:incrementa el volumen.
-.IPs "m\ \ \ \ "
-Silencia el sonido.
-.IPs "_ (sólo MPEG-TS and libavformat)"
-Alterna entre las pistas de vídeo disponibles
-.IPs "# (sólo MPEG, Matroska, AVI y libavformat)"
-Alterna entre las pistas de audio disponibles
-.IPs "f\ \ \ \ "
-Cambia al modo de pantalla completa (vea también \-fs).
-.IPs "T\ \ \ \ "
-Cambia al modo siempre-visible (vea también \-ontop).
-.IPs "w y e"
-Decrementa/\:incrementa el rango de pan y scan.
-.IPs "o\ \ \ \ "
-Cambia entre los estados de OSD: nada / posición / posición + tiempo posición +
-tiempo + tiempo total.
-.IPs "d\ \ \ \ "
-Cambia el saltarse imágenes.
-cambia entre los estados del salto de imágenes: nada / saltar el mostrar
-en pantalla / saltar decodificación (vea \-framedrop y \-hardframedrop).
-.IPs "v\ \ \ \ "
-Cambia la visibilidad de los subtítulos.
-.IPs "j\ \ \ \ "
-Alterna entre los subtítulos disponibles.
-.IPs "y/g\ \ \ \ "
-Paso adelante/atrás en la lista de subtítulos
-.IP "F\ \ \ \ "
-Cambia la visibilidad de "subtítulos forzados".
-.IPs "a\ \ \ \ "
-Cambia la alineación de los subtítulos: arriba/\:enmedio/\:abajo.
-.IPs "x y z"
-Ajusta el retardo de subtítulos por +/\:- 0.1 segundos.
-.IPs "r y t"
-Mueve los subtítulos arriba/\:abajo.
-.IPs "i (sólo modo \-edlout)"
-Establece una marca EDL.
-.IPs "s (sólo \-vf screenshot)"
-Realiza una captura de pantalla.
-.IPs "S (sólo \-vf screenshot)"
-Comienza/para la toma de capturas de pantalla.
-.IPs "I\ \ \ \ "
-Muestra el nombre del fichero que se está reproduciendo en pantalla.
-.IPs "D (sólo \-vo xvmc, \-vf yadif, \-vf kerndeint)"
-Activa/desactiva el desentrelazador.
-.PD 1
-.PP
-(Las siguientes teclas son válidas únicamente cuando se usa una salida de video
-acelerada por hardware (xv, (x)vidix, (x)mga, etc), el ecualizador por software
-(\-vf eq o \-vf eq2) o el filtro de tonalidad (\-vf hue).)
-.PP
-.PD 0
-.IPs "1 y 2"
-Ajusta el contraste.
-.IPs "3 y 4"
-Ajusta el brillo.
-.IPs "5 y 6"
-Ajusta el matiz.
-.IPs "7 y 8"
-Ajusta la saturación.
-.PD 1
-.PP
-(Las siguientes teclas son válidas únicamente cuando se usa quartz o el
-controlador de vídeo de corevideo)
-.PP
-.PD 0
-.IPs "command + 0"
-Cambia el tamaño de la ventana a la mitad de su tamaño.
-.IPs "command + 1"
-Cambia el tamaño de la ventana a su tamaño original.
-.IPs "command + 2"
-Cambia el tamaño de la ventana al doble su tamaño original.
-.IPs "command + f"
-Cambia al modo de pantalla completa (vea también \-fs).
-.IPs "command + [ and command + ]"
-Establece el canal alfa de la ventana de la película.
-.PD 1
-.PP
-(Las siguientes teclas son válidas únicamente cuando se usa el controlador de
-vídeo sdl)
-.PP
-.PD 0
-.IPs "c\ \ \ \ "
-Alterna entre los diferentes modos de pantalla completa.
-.IPs "n\ \ \ \ "
-Vuelve al modo original.
-.PD 1
-.PP
-(Las siguientes teclas son válidas únicamente cuando se usa un teclado
-multimedia)
-.PP
-.PD 0
-.IPs "PAUSE"
-pausa.
-.IPs "STOP\ \ \ \ "
-Detiene la reproducción y sale.
-.IPs "PREVIOUS and NEXT"
-Posiciona atrás/\:adelante 1 minuto.
-.PD 1
-.PP
-(Las siguientes teclas son válidas únicamente cuando se ha compilado con soporte
- para la interfaz gráfica y tienen precedencia sobre las anteriores)
-.PP
-.PD 0
-.IPs "ENTER"
-Comienza la reproducción.
-.IPs "ESC\ \ \ \ "
-Detiene la reproducción.
-.IPs "l\ \ \ \ "
-Carga un fichero.
-.IPs "t\ \ \ \ "
-Carga los subtítulos.
-.IPs "c\ \ \ \ "
-Abre el navegador de temas.
-.IPs "r\ \ \ \ "
-Abre el diálogo de preferencias.
-.PD 1
-.PP
-(Las siguientes teclas son válidas únicamente cuando se ha compilado con soporte
- para la TV o DVB y tienen precedencia sobre las anteriores)
-.PP
-.PD 0
-.IPs "h and k"
-Selecciona el canal anterior/siguiente.
-.IPs "n\ \ \ \ "
-Cambia la norma.
-.IPs "u\ \ \ \ "
-Cambia la lista de canales.
-.PD 1
-.PP
-(Las siguientes teclas son válidas únicamente cuando se ha compilado con soporte
- para dvdnav: se usan para navegar por los menús)
-.PP
-.PD 0
-.IPs "Teclado numérico 8"
-Selecciona el botón hacia arriba.
-.IPs "Teclado numérico 2"
-Selecciona el botón hacia abajo.
-.IPs "Teclado numérico 4"
-Selecciona el botón hacia la izquierda.
-.IPs "Teclado numérico 6"
-Selecciona el botón hacia la derecha.
-.IPs "Teclado numérico 5"
-Vuelve al menú principal.
-.IPs "Teclado numérico 7"
-Vuelve al menú más cercano (el orden preferido es: capítulo->título->raíz).
-.IPs "Teclado numérico INTRO"
-Confirma la elección.
-.PD 1
-.
-.TP
-.B control del ratón
-.PD 0
-.RSs
-.IPs "Botón 3 y Botón 4"
-Posiciona atrás/\:adelante 1 minuto.
-.IPs "Botón 4 y Botón 5"
-Aumenta/disminuye el volumen
-.RE
-.PD 1
-.
-.TP
-.B control del joystick
-.PD 0
-.RSs
-.IPs "izquierda y derecha"
-Posiciona atrás/\:adelante 10 segundos.
-.IPs "arriba y abajo"
-Posiciona atrás/\:adelante 1 minuto.
-.IPs "botón 1"
-Pausa
-.IPs "botón 2"
-Cambia los estados OSD: ninguno / búsqueda / búsqueda + contador / búsqueda +
-contador+ tiempo total.
-.IPs "botón 3"
-Aumenta/disminuye el volumen
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opciones
-.\" --------------------------------------------------------------------------
-.
-.SH "USO"
-Cada opción 'etiqueta' tiene su contrapartida 'noetiqueta', es decir, \& el
-opuesto a la opción \-fs es \-nofs.
-.PP
-Si una opción está marcada como (XXX solamente), solo funcionará en combinación
-con la opción XXX o si está compilado con soporte XXX.
-.PP
-.I NOTA:
-El analizador de subopciones (se usa por ejemplo para las subopciones \-ao pcm)
-soporta un modo especial de escape de cadenas pensado para usarse con interfaces
-gráficas de usuario externas.
-.br
-Tienen el siguiente formato:
-.br
-%n%string_of_length_n
-.br
-.I EJEMPLOS:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-O en un script:
-.br
-mplayer \-ao pcm:file=%`expr length "$NAME"`%"$NAME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" Ficheros de configuración
-.\" --------------------------------------------------------------------------
-.
-.SH "FICHEROS DE CONFIGURACIÓN"
-Puede escribir todas sus opciones en ficheros de configuración que serán leídos
-cada vez que se ejecute MPlayer/MEncoder.
-El archivo de configuración del sistema global 'mplayer.conf' está en su
-directorio de configueración (p.e.\& /etc/\:mplayer
-o /usr/\:local/\:etc/\:mplayer), el específico de usuario
-es '~/\:.mplayer/\:config'. El fichero de configuración para
-MEncoder es mencoder.conf en su directorio de configuración
-(p.e.\& /etc/\:mplayer o /usr/\:local/\:etc/\:mplayer) el específico
-de usuario es '~/\:.mplayer/mencoder.conf'.
-Las opciones específicas de usuario sobreescriben a las del sistema y a su vez
-las que se pasan por línea de comandos sustituyen a estas.
-La sintaxis del archivo de configuración es 'opción=<valor>', todo lo que haya
-después de un '#' es considerado un comentario.
-Las opciones que funcionan sin valores pueden ser activadas estableciendo
-su valor a 'yes' o '1' o 'true' y desactivadas estableciendo su valor a 'no'
-o '0' o 'false'. Incluso las subopciones pueden se especificadas de este modo.
-.PP
-También puede escribir ficheros de configuración para ficheros específicos.
-Si dispone de un archivo de configuración para un archivo llamado 'pelicula.avi'
-cree otro archivo llamado 'pelicula.avi.conf' con las opciones específicas y
-colóquelo en ~/.mplayer o en el mismo directorio que el fichero mientras use la
-opción \-use\-filedir\-conf (tanto en la línea de comandos como en el fichero de
-configuración global).
-.PP
-.I "EJEMPLO DE FICHERO DE CONFIGURACIÓN DE MPLAYER:"
-.sp 1
-.nf
-# Usar controlador de Matrox por defecto.
-vo=xmga
-# Me encanta practicar manualidades mientras veo vídeos.
-flip=yes
-# Decodificar/\:codificar múltiples archivos desde png,
-# empezando con mf://mascaradearchivo
-mf=type=png:fps=25
-# Las imágenes en negativo son extrañamente bonitas.
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I "EJEMPLO DE FICHERO DE CONFIGURACIÓN DE MENCODER:"
-.sp 1
-.nf
-# Establece la salida de Mencoder a un fichero por defecto.
-o=encoded.avi
-# Las 4 siguientes líneas permiten a mencoder tv:// comenzar la captura
-# inmediatamente.
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# conjunto de opciones por defecto más complejo.
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont-autoscale=3
-subfont-osd-scale=6
-subfont-text-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Perfiles
-.\" --------------------------------------------------------------------------
-.
-.SH "PERFILES"
-Para facilitar el trabajo con diferentes configuraciones se pueden definir
-perfiles en los ficheros de configuración. Un perfil comienza con su nombre
-entre corchetes, p.e.\& '[mi-perfil]'.
-Todas las opciones que le sigan serán parte del perfil.
-Se puede definir una descripción (mostrada por \-profile help) con la opción
-profile-desc.
-Para acabar el perfil, comience otro o use el nombre de perfil default para
-seguir con las opciones normales.
-.fi
-.PP
-.I "PERFIL DE EJEMPLO DE MENCODER:"
-.sp 1
-.nf
-
-[mpeg4]
-profile-desc="Codificación MPEG4"
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile-desc="Codificación HQ MPEG4"
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.SH "OPCIONES GENERALES"
-.
-.TP
-.B \-codecs\-file <nombrearchivo> (Vea también \-afm, \-ac, \-vfm y \-vc.)
-Usa el archivo codecs.conf especificado en lugar del instalado por sistema o el
-interno.
-.
-.TP
-.B \-include <archivo\ de\ configuración>
-Archivo de configuración específico que se consultará después del que haya por
-defecto.
-.
-.TP
-.B \-list\-options
-Saca por pantalla todas las opciones disponibles
-.
-.TP
-.B \-msgcharset <charset>
-Convierte los mensajes de la consola al conjunto de caracteres especificado
-(default: autodetect). El texto se codificará con el parámetro especificado con
-la opción de configuración \-\-charset. Establézcalo a noconv para inhabilitar
-la conversión (por e.j.\& problemas con iconv ).
-.br
-.I NOTA:
-La opción tiene efecto después de que el analizador de la línea de comandos ha
-finalizado. La variable de entorno MPLAYER_CHARSET puede ayudarle a deshacerse
-de las primeras líneas de salida estropeada.
-.TP
-.B \-msglevel <all=<nivel>:<módulo>=<nivel>:...>
-Controla la cantidad de mensajes para cada módulo. El módulo 'all' cambia la
-cantidad de mensajes para el resto de módulos no especificados en la línea de
-comandos. Vea '\-msglevel help' para una lista de todos los módulos.
-.br
-.I NOTA:
-Los mensajes mostrados antes de que la línea de comandos haya sido analizada
-únicamente pueden ser controlados por la variable de entorno MPLAYER_VERBOSE
-que se aplica a todos los módulos.
-.br
-Niveles disponibles:
-.PD 0
-.RSs
-.IPs "\-1"
-completo silencio
-.IPs " 0"
-únicamente mensajes fatales
-.IPs " 1"
-mensajes de error
-.IPs " 2"
-mensajes de aviso
-.IPs " 3"
-mensajes de ayuda cortos
-.IPs " 4"
-mensajes de información
-.IPs " 5"
-mensajes de estado (aquellos ocultos por \-quiet)
-.IPs " 6"
-mensajes prolijos.
-.IPs " 7"
-nivel de detección de errores 2
-.IPs " 8"
-nivel de detección de errores 3
-.IPs " 9"
-nivel de detección de errores 4
-.RE
-.PD 1
-.TP
-.B "\-quiet\ \ "
-Hace que MPlayer muestre menos información; en particular oculta la línea de
-estado (i.e.\& A: 0.7 V: 0.6 A-V: 0.068 ...) que no será mostrada.
-Es particularmente útil en terminales lentos o donde no funciona bien el manejo
-del retorno de carro (i.e.\& \\r).
-.
-.TP
-.B \-priority <prio> (sólo Windows)
-Establece la prioridad de acuerdo a un conjuto de prioridades predefinidas
-disponibles bajo Windows.
-Posibles valores de <prio>:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I AVISO:
-Usar la prioridad realtime puede causar un cuelgue del sistema.
-.RE
-.TP
-.B \-profile <perfil1,perfil2,...>
-Usa los perfiles dados, \-profile muestra una lista con todos los perfiles
-definidos.
-.
-.TP
-.B \-really\-quiet (vea también \-quiet)
-Muestra incluso menos mensajes de salida y de estado que con la opción \-quiet.
-.
-.TP
-.B \-show\-profile <perfil>
-Muestra la descripción y el contenido de un perfil.
-.
-.TP
-.B \-use\-filedir\-conf
-Busca un fichero de configuración específico en el mismo directorio que el
-fichero que se va a reproducir.
-.br
-.I AVISO:
-Puede ser peligroso si se reproduce desde un lugar desconocido.
-.
-.TP
-.B \-v, \-verbose
-Aumenta el nivel de prolijo, un nivel por cada \-v encontrado en
-la línea de comandos.
-.
-.
-.
-.SH "OPCIONES DEL REPRODUCTOR (SOLO MPLAYER)"
-.
-.TP
-.B \-autoq <calidad> (use con \-vf [s]pp)
-Cambia dinámicamente el nivel de postprocesado dependiendo del tiempo de CPU
-disponible.
-El número que especifique será el máximo nivel usado.
-Lo normal es que pueda usar cualquier número grande.
-Deberá usar \-vf [s]pp sin parámetros para que esto funcione.
-.
-.TP
-.B \-autosync <factor>
-Ajusta gradualmente la sincronización A/\:V basada en medidas de retardo de
-audio.
-Especificando \-autosync\ 0, por defecto, causa que el tiempo de imágenes esté
-basado completamente en medidas de retardo de audio.
-Especificando \-autosync\ 1 hará lo mismo, pero se se usará sutilmente el
-algoritmo de corrección de A/\:V.
-Un ratio de imágenes de video irregular que funciona bien con \-nosound puede
-incluso mejorarse estableciendo este a un valor entero mayor que 1.
-Cuanto más alto sea el valor, más cerca se estará de la sincronización de
-\-nosound. Pruebe \-autosync\ 30 para suavizar problemas con controladores de
-sonido que no implementan una medida del retardo de audio perfecta.
-.sp 1
-Con este valor, si ocurre un desplazamiento de sincronización A/\:V grande sólo
-pasarán 1 o 2\ segundos hasta estabilizarse.
-Este retardo en tiempo de reacción a repentinos desplazamientos A/\:V debe ser
-el único efecto colateral de activar esta opción, para todos los controladores
-de sonido.
-.
-.TP
-.B \-benchmark
-Muestra algunas estadísticas en uso de CPU e imágenes eliminadas al final de
-la reproducción.
-Úselo en combinación con \-nosound y \-vo null para medida del rendimiento del
-codec de vídeo.
-.br
-.I NOTA:
-Con esta opción MPlayer ignorará la duración de las imágenes mientras reproduzca
-sólo vídeo (puede ver esto como un valor infinito de fps).
-.
-.TP
-.B \-colorkey <número>
-Cambia el colorkey a un valor RGB de su elección.
-0x000000 es negro y 0xffffff es blanco.
-Solo soportado por los controladores de salida de video cvidix, fbdev, svga,
-vesa, winvidix, xmga, xvidix, xover, xv (vea \-vo xv:ck), xvmc (vea \-vo xv:ck)
-y directx.
-.TP
-.B \-nocolorkey
-Desactiva el colorkeying.
-Sólo soportado por los controladores de salida de video cvidix, fbdev, svga,
-vesa, winvidix, xmga, xvidix, xover, xv (vea \-vo xv:ck), xvmc (vea \-vo xv:ck)
-y directx.
-.
-.TP
-.B \-correct\-pts (experimental)
-Cambia MPlayer a un modo experimental en el que las marcas de tiempo para las
-imágenes de vídeo se calculan de una forma diferente y se soportan los filtros
-de vídeo que añaden nuevas imágenes o modifican las marcas de tiempo de los
-existentes. Se pueden ver las marcas de tiempo mas precisas por ejemplo cuando
-se reproducen subtítulos sincronizados a cambios de escena con la opción \-ass.
-Sin \-correct\-pts seguramente la sincronización irá desplazada algunas imágenes.
-Esta opción no funciona correctamente con algunos demuxers y codecs.
-.
-.TP
-.B \-crash\-debug (CÓDIGO DE DETECCIÓN DE ERRORES)
-Automáticamente añade gdb sobre un fallo o SIGTRAP.
-El soporte debe estar compilado añadiendo \-\-enable\-crash\-debug en
-la fase de configurado.
-.
-.TP
-.B \-edlout <nombredearchivo> (EDL solamente)
-Crea un nuevo archivo y escribe lista de decisión de edición (EDL) al mismo.
-Durante la reproducción, cuando el usuario pulse 'i', una entrada para saltar
-los últimos dos segundos de reproducción será escrita al archivo.
-Esto proporciona un punto de partida para que el usuario pueda ajustar de
-manera fina las entradas de EDL después.
-Vea http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html para más detalles.
-.
-.TP
-.B \-enqueue (solo GUI)
-Encola los archivos dados en la línea de comandos en la lista de reproducción
-en lugar de reproducirlos inmediatamente.
-.
-.TP
-.B \-fixed\-vo
-Fuerza un sistema de video fijo para múltiples archivos (una (des)inicialización
-para todos los archivos).
-Por lo tanto sólo se abrirá una ventana para todos los archivos.
-Actualmente los siguientes controladores funcionan bien con fixed-vo: gl, gl2,
-mga, svga, x11, xmga, xv, xvidix y dfbmga.
-.
-.TP
-.B \-framedrop (vea también \-hardframedrop)
-Se salta la representación de algunas imágenes para mantener la sincronización
-A/\:V en sistemas lentos.
-Los filtros de vídeo no se aplican a estas imágenes.
-Para los marcos tipo B el proceso de decodificación es completamente saltado.
-.
-.TP
-.B \-(no)gui
-Habilita o inhabilita la interfaz gráfica (la acción por defecto depende del
-nombre del binario).
-Únicamente funciona si se usa como primer argumento de la línea de
-comandos. No funciona como opción en el fichero de configuración.
-.
-.TP
-.B \-h, \-help, \-\-help
-Muestra un pequeño sumario de las opciones.
-.
-.TP
-.B \-hardframedrop
-Salto mayor de imágenes (puede romper la decodificación).
-¡Lleva a distorsiones de la imagen!
-.
-.TP
-.B \-identify
-Atajo para \-msglevel identify=4.
-Muestra parámetros del archivo en un formato fácilmente analizable.
-También muestra información sobre los lenguajes y los IDs de los subtítulos
-y las pista de audio. En algunos casos puede obtener más información
-usando \-msglevel identify=6.
-Por ejemplo, para un DVD mostrará la duración de cada título así como
-el ID del disco.
-El script wrapper TOOLS/\:midentify suprime todas las otras salidas de MPlayer
-y (con suerte) muestra los nombres de archivo.
-.
-.TP
-.B \-idle (vea también \-slave)
-Hace que MPlayer espere en un modo ocioso en vez de salir cuando no hay un
-fichero para reproducir.
-Es útil sobretodo cuando se ejecuta MPlayer en modo esclavo y puede
-ser controlado a través de comandos de entrada.
-.
-.TP
-.B \-input <comandos>
-Esta opción puede usarse para configurar algunas partes del sistema de entrada.
-Las rutas son relativas a ~/\:.mplayer/.
-.br
-.I NOTA:
-Autorrepetición está soportada actualmente solo por palanca de juegos.
-.sp 1
-Las órdenes disponibles son:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<fichero>
-Leer input.conf alternativo.
-Si no se da la ruta completa, se asume ~/\:.mplayer/\:<archivo>.
-.IPs ar-delay
-Retardo en mseg antes de empezar a autorrepetir una tecla (0 para inhabilitar).
-.IPs ar-rate
-Número de pulsaciones de tecla a generar por segundo en autorrepetición.
-.IPs keylist
-Muestra todas las teclas a las que pueden asignarse órdenes.
-.IPs cmdlist
-Muestra todas las órdenes para las que pueden asignarse teclas.
-.IPs js-dev
-Especifica el dispositivo de palanca de juegos a usar (por defecto:
-/dev/\:input/\:js0).
-.IPs file=<fichero>
-Lee comandos desde el archivo dado.
-Esto es más útil con un fifo.
-.br
-.I NOTA:
-Cuando el fichero especificado es un fifo MPlayer lo abre de manera que pueda
-hacer 'echo "seek 10" > mp_pipe' y el pipe sigue siendo válido.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-Espeficia el tamaño del FIFO que almacena eventos de teclado (default: 10).
-Un FIFO de tamaño n puede almacenar (n-1) eventos.
-Si es demasiado pequeño se pueden perder algunos eventos (conduciendo
-a "botones de ratón pegados" y efectos similares).
-Si es demasiado grande puede parecer que MPlayer se cuelga
-mientras procesa los eventos almacenados.
-Esta opción se introdujo para obtener el mimso comportamiento que antes,
-establézcalo a 2 para Linux o a 1024 para Windows.
-.
-.TP
-.B \-lircconf <archivo> (LIRC solamente)
-Especifica un archivo de configuración para LIRC (por defecto: ~/\:.lircrc).
-.
-.TP
-.B \-list\-properties
-Imprime todas las propiedades disponibles.
-.
-.TP
-.B \-loop <número>
-Repite la reproducción de la película <número> veces.
-0 significa para siempre.
-.
-.TP
-.B \-menu (menú OSD solamente)
-Activa soporte para menú OSD.
-.
-.TP
-.B \-menu\-cfg <fichero> (menú OSD solamente)
-Usa un menu.conf alternativo.
-.
-.TP
-.B \-menu\-root <valor> (menú OSD solamente)
-Especifica el menú principal.
-.
-TP
-.B \-menu\-startup (menú OSD solamente)
-Muestra el menú principal al comienzo de ejecución.
-.
-.TP
-.B \-mouse\-movements
-Permite a MPlayer recibir eventos del puntero enviados por el controlador
-de vídeo de salida (actualmente sólo los derivados de X11 están soportados).
-Es necesario para seleccionar los botones en los menús de los DVD.
-.
-.TP
-.B \-noconsolecontrols
-Previene que MPlayer lea eventos de teclado desde la entrada estándar.
-Útil cuando lea datos desde la entrada estándar.
-Esto se activa automáticamente cuando se encuentra \- en la línea de órdenes.
-Se trata de situaciones donde debe establecerlo manualmente, por ejemplo
-si abre /dev/\:stdin (o el equivalente en su sistema), usa
-stdin en la lista de reproducción o va a leer desde stdin más tarde
-cargando un archivo o mediante órdenes de carga de archivo en modo esclavo.
-.
-.TP
-.B \-nojoystick
-Desactiva el soporte de joystick.
-.
-.TP
-.B \-nolirc
-Desactiva el soporte para LIRC.
-.
-.TP
-.B \-nomouseinput (X11 solamente)
-Inhabilita la entrada de pulsar/\:soltar botón del ratón (el menú
-contextual de mozplayerxp se basa en esta opción).
-.
-.TP
-.B \-rtc (RTC solamente)
-Activa el uso del RTC de Linux (realtime clock \- /dev/\:rtc) como mecanismo
-de sincronización.
-Esto despierta el proceso cada 1/1024 para comprobar el tiempo actual.
-Es inútil con los kernels modernos de Linux configurados para escritorio
-ya que ellos despiertan el proceso con una precisión similar cuando usan
-el proceso normal de sueño.
-.
-.TP
-.B \-playlist <archivo>
-Reproduce archivos de acuerdo a una lista de reproducción (ASX, Winamp, SMIL,
-o 1 archivo por línea).
-.
-.br
-.I NOTA:
-Esta opción es considerada una entrada como entrada par alas opciones que
-después se aplican solo a los elementos de esta lista de reproducción.
-.br
-FIXME: Esto deber aclararse mejor.
-.
-.TP
-.B \-playing\-msg <cadena>
-Imprime una cadena antes de empezar la reproducción.
-Las siguientes expansiones están soportadas.
-.RSs
-.IPs ${NAME}
-Expande el valor de la propiedad NAME.
-.IPs $(NAME:TEXT)
-Expande TEXT sólo si la propiedad nombre esta disponible.
-.RE
-.TP
-.B \-rtc\-device <dispositivo>
-Usa el dispositivo especificado para la temporización RTC.
-.
-.TP
-.B \-shuffle
-Reproduce archivos en orden aleatorio.
-.
-.TP
-.B \-skin <nombre> (sólo GUI)
-Carga un skin del directorio dado como parámetro bajo el directorio
-por defecto para los skins, /usr/\:local/\:share/\:mplayer/ y
-~/.mplayer/\:skins/.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-Intenta usar /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene y
-después ~/.mplayer/\:skins/\:fittyfene.
-.RE
-.PD 1
-.
-.TP
-.B \-slave (vea también \-input)
-Usa el modo esclavo en el cual MPlayer trabaja como backend para otros
-programas.
-En lugar de interceptar eventos de teclado, MPlayer leerá órdenes de stdin.
-.br
-.I NOTA:
-Vea DOCS/\:tech/\:slave.txt y \-input cmdlist para una lista de órdenes como
-esclavo.
-.
-.TP
-.B \-softsleep
-Usa temporizadores software de alta calidad en lugar del RTC.
-Tan preciso como RTC sin requerir privilegios especiales.
-Se paga el precio de un consumo alto de CPU.
-.
-.TP
-.B \-sstep <seg>
-Muestra cada imagen durante <seg> segundos.
-Útil para presentaciones.
-.
-.
-.
-.SH "OPCIONES DE DEMUXER/\:STREAM"
-.
-.TP
-.B \-a52drc <nivel>
-Elige el nivel de Rango Dinámico de Compresión para flujos de audio AC3.
-<nivel> es un valor en coma flotante en rango de 0 a 1, donde 0 significa
-sin compresión y 1 (que es el valor por defecto) significa compresión
-máxima (hace las partes ruidosas más silenciosas y viceversa).
-Esta opción solo muestra un efecto si el flujo AC3 contiene la información
-del rango de compresión requerido.
-.
-.TP
-.B \-aid <id> (vea también \-alang)
-Selecciona canal de audio (MPEG: 0\-31 AVI/\:OGM: 1\-99 ASF/\:RM: 0\-127,
-VOB(AC3): 128\-159 VOB(LPCM): 160\-191 MPEG-TS 17\-8190).
-MPlayer imprime los IDs disponibles cuando se ejecuta en modo prolijo (\-v).
-Cuando se reproducen flujos MPEG-TS, MPlayer/\:MEncoder usará el primer programa
-(si está presente) con el flujo de audio elegido.
-.
-.TP
-.B \-alang <código de país,[código de país, ...]> (vea también \-aid)
-Especifica una lista de prioridades de lenguaje de audio a usar.
-Diferentes formatos de contención usan diferentes códigos de lenguaje.
-Los DVDs usan ISO 639\-1 códigos de lenguaje de dos letras, Matroska, MPEG-TS y
-NUT use ISO 639\-2 códigos de lenguaje de tres letras, mientras OGM usa un
-identificador libre Mplayer imprime los lenguajes disponibles cuando se ejecuta
-en modo prolijo Selecciona el idioma de audio para el DVD y siempre intenta
-reproducir pistas cuyo lenguaje coincide con el código dado.
-MPlayer muestra una lista de los idiomas disponibles cuando se ejecuta
-en modo prolijo (\-v).
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang es,en"
-Reproduce en Español y cambia a Inglés si el Español no está disponible.
-.IPs "mplayer \-alang jpn example.mkv"
-Reproduce un fichero Matroska en japonés.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <número> (\-audiofile sólo)
-Fuerza el tipo de audio demuxer para \-audiofile.
-Use un '+' delante del nombre para forzarlo, ¡esto evitará algunos chequeos!.
-Pásele al demuxer uno de los nombres de la lista imprimida por \-audio\-demuxer
-help. Por compatibilidad con versiones anteriores también acepta el ID del
-demuxer como se define en libmpdemux/\:demuxer.h \-audio\-demuxer audio o
-\-audio\-demuxer 17 fuerza MP3.
-.
-.TP
-.B \-audiofile <nombredearchivo>
-Reproduce audio desde un archivo externo (WAV, MP3 u Ogg Vorbis) mientras
-visualiza una película.
-.
-.TP
-.B \-audiofile\-cache <kBytes>
-Habilita caché para el flujo usado por \-audiofile, usando la cantidad
-especificada de memoria.
-.
-.TP
-.B \-bandwidth <valor> (red solamente)
-Especifica el máximo ancho de banda para el streaming de red (para
-servidores que son capaces de enviar contenido en diferentes bitrates).
-Útil si quiere ver contenido multimedia en vivo desde una conexión lenta.
-Con streaming Real RTSP, también se usa para establecer ancho de banda máximo
-de envío, permitiendo un relleno de la cache más rápido y un volcado del stream.
-.
-.TP
-.B \-cache <kBytes>
-Esta opción especifica cuanta memoria se usará (en kBytes) cuando se rellene
-la cache para reproducir un fichero o una URL.
-Especialmente útil para medios lentos.
-.
-.TP
-.B \-cache\-min <porcentaje>
-La reproducción comenzará cuando el umbral de relleno de caché establecido
-con esta opción se alcance.
-.
-.TP
-.B \-cache\-seek\-min <porcentaje>
-Si se tiene que realizar una búsqueda a una posición dentro de porcentaje del
-tamaño de la cache desde la posición actual, MPlayer esperará a que se llene la
-cache hasta esa posición en vez de realizar una búsqueda en el flujo
-(por defecto: 50).
-.
-.TP
-.B \-cdda <opción1:opción2> (CDDA solamente)
-Esta opción puede ser usada para ajustar la lectura de AUDIO-CD de MPlayer.
-.sp 1
-Las opciones disponibles son:
-.RSs
-.IPs speed=<valor>
-Establece la velocidad del CD.
-.IPs paranoia=<0\-2>
-Establece el nivel de paranoia. Otro valor que no sea 0 parece que impide
-la reproducción de cualquier cosa excepto la primera pista.
-.RSss
-0: desactiva la comprobación (por defecto)
-.br
-1: solapa la comprobación solamente
-.br
-2: corrección y verificación completa
-.REss
-.IPs generic-dev=<valor>
-Usa dispositivo genérico SCSI especificado.
-.IPs sector-size=<valor>
-tamaño de lectura atómico
-.IPs overlap=<valor>
-Fuerza el mínimo solapamiento de búsqueda durante la verificación a <valor>
-sectores.
-.IPs toc-bias
-Asume que el desplazamiento inicial de la pista 1 como viene dada en el TOC
-será direccionada como LBA\ 0.
-Algunas unidades Toshiba necesitan esto para obtener los límites de las
-pistas correctamente.
-.IPs toc-offset=<valor>
-Añade <valor> sectores a los valores reportados cuando se direccionan pistas.
-Puede ser negativo.
-.IPs (no)skip
-(Nunca) aceptar reconstrucción imperfecta de datos.
-.RE
-.
-.TP
-.B \-cdrom\-device <ruta al dispositivo>
-Especifica el dispositivo de CD-ROM (por defecto: /dev/cdrom).
-.TP
-.B \-channels <número> (vea también \-af canales)
-Cambia el número de canales de reproducción (por defecto: 2).
-MPlayer pide al decodificador que decodifique el audio en tantos canales como
-se hayan especificado. Entonces depende del decodificador cumplir con la
-petición.
-Normalmente sólo es importante cuando se reproducen vídeos con audio AC3
-(como los DVDs).
-En ese caso la liba52 realiza la decodificación por defecto y mezcla
-correctamente el audio en el número de canales que se han pedido.
-Para controlar directamente el número de canales de salida independientemente
-de canales que han sido decodificados, use el filtro de canales
-.br
-.I NOTA:
-Esta opción es agradecida por los codecs (AC3 solo), filtros (surround) y
-controladores ao (al menos OSS).
-.sp 1
-Las opciones disponibles son:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-stereo
-.IPs 4
-surround
-.IPs 6
-5.1 completo
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <id\ del\ capítulo>[\-<id\ capítulo\ final>] (dvd:// y dvdnav:// solamente)
-Especifica qué capítulo se empieza a reproducir.
-Opcionalmente se especifica en qué capítulo se termina la
-reproducción (por defecto: 1).
-.
-.TP
-.B \-cookies (red solamente)
-Envía cookies cuando hace peticiones HTTP.
-.
-.TP
-.B \-cookies\-file <nombre de archivo> (red solamente)
-Lee cookies HTTP desde el archivo <nombre de archivo>(por defecto: ~/.mozilla/
-y ~/.netscape/) en lugar de leer desde las ubicaciones por defecto.
-Se supone que el archivo está en formato de Netscape.
-.
-.TP
-.B \-delay <sec>
-Establece el retraso en segundos (valor real positivo o negativo).
-.br
-.I NOTA:
-Cuando se usa con MEncoder, no se garantiza que funcione correctamente
-con \-ovc copy; use \-audio\-delay en su lugar.
-.
-.TP
-.B \-ignore\-start
-Ignora el tiempo de comienzo especificado para flujos en ficheros AVI.
-Con MPlayer esto anula los retrasos en los flujos de los ficheros codificados
-con la opción \-audio\-delay.
-Durante la codificación, esta opción previene que MEncoder transfiera los
-tiempos de comienzo del flujo original al nuevo fichero; la
-opción \-audio\-delay no se ve afectada.
-Tenga en cuenta que a veces MEncoder ajusta los tiempos de comienzo del flujo
-automáticamente para compensar con anticipación retrasos debidos a la
-codificación así que no use esta opción para codificar sin haberla probado
-primero.
-.
-.TP
-.B \-demuxer <[+]nombre>
-Fuerza el tipo de demuxer.
-Use un '+' delante del nombre para forzarlo, ¡esto evitará algunas comprobaciones!.
-Pásele al demuxer uno de los nombres de la lista imprimida por \-demuxer help.
-Por compatibilidad con versiones anteriores también acepta el ID del demuxer como
-se define en libmpdemux/\:demuxer.h \-demuxer audio o \-demuxer 17 fuerza MP3.
-.
-.TP
-.B \-dumpaudio (MPlayer solamente)
-Vuelca audio comprimido raw a ./stream.dump (útil con MPEG/\:AC3), en la mayoría del
-resto de casos el fichero resultante no será reproducible si utiliza más de un \-dumpaudio,
-\-dumpvideo, \-dumpstream en la línea de comandos sólo funcionará el último que haya sido
-especificado.
-.
-.TP
-.B \-dumpfile <nombredelarchivo> (MPlayer solamente)
-Especifica en qué archivo debe volcar la salida MPlayer.
-Debe ser usado junto con \-dumpaudio / \-dumpvideo / \-dumpstream.
-.
-.TP
-.B \-dumpstream (MPlayer solamente)
-Vuelca el flujo raw a ./stream.dump.
-Útil cuando se ripea desde DVD o red.
-Si utiliza más de un \-dumpaudio, \-dumpvideo, \-dumpstream en la línea de
-comandos sólo funcionará el último que haya sido especificado.
-.
-.TP
-.B \-dumpvideo (MPlayer solamente)
-Vuelca flujo de vídeo comprimido raw a ./stream.dump (no es muy usable).
-Si utiliza más de un \-dumpaudio, \-dumpvideo, \-dumpstream en la línea
-de comandos sólo funcionará el último que haya sido especificado.
-.
-.TP
-.B \-dvbin <opciones> (DVB solamente)
-Pasa los siguientes parámetros al módulo de entrada de DVB, para
-no usar los valores por defecto:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Especifica el número de tarjeta usada 1\-4 (por defecto: 1).
-.IPs file=<archivo>
-Ordena a MPlayer que lea los canales desde la lista <archivo>.
-Por defecto es ~/.mplayer/\:channels.conf.{sat,ter,cbl} (basado en su tipo
-de tarjeta) o ~/.mplayer/\:channels.conf como última opción.
-.IPs timeout=<1\-30>
-Número máximo de segundos a esperar cuando configurar una frecuencia antes
-de darse por vencido (por defecto: 30).
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <ruta\ al\ dispositivo> (DVD solamente)
-Especifica el dispositivo de DVD (por defecto: /dev/\:dvd).
-También puede especificar un directorio que contenga los ficheros copiados
-previamente directamente de un DVD (con p.e.\& vobcopy).
-Tenga en cuenta que usar \-dumpstream es normalmente una forma mejor
-para copiar los títulos del DVD en primer lugar (vea los ejemplos).
-.
-.TP
-.B \-dvd\-speed <factor o velocidad en KB/s> (DVD solamente)
-Intenta limitar la velocidad del DVD (por defecto: 0, sin cambios).
-La velocidad base del DVD 1350KB/s, así que un lector 8x puede leer a velocidades
-hasta 10800KB/s.
-Velocidades más pequeñas hacen la unidad más silenciosa, para ver
-DVDs 2700KB/s debería ser suficientemente rápido y silencioso.
-MPlayer resetea la velocidad del dispositivo a la velocidad por defecto al
-cerrarse p.e.\& \-dvd\-speed 8 seleciona 10800KB/s.
-.br
-.I NOTA:
-Se necesita acceso de escritura al dispositivo de DVD para poder cambiar la velocidad.
-.
-.TP
-.B \-dvdangle <ángulo\ id> (DVD solamente)
-Algunos discos DVD contienen escenas que pueden verse desde múltiples ángulos.
-Aquí puede usted decirle a MPlayer qué ángulos desea usar (por defecto: 1).
-.
-.TP
-.B \-edl <nombredearchivo>
-Habilita acciones de edición de lista de decisión (EDL) durante la reproducción.
-El video puede ser saltado y el audio silenciado y activado de acuerdo a unas
-entradas dadas en el archivo.
-Vea http://www.mplayer-hq.hu/DOCS/HTML/en/edl.html para detalles sobre como usar esta
-característica.
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|tamaño[b|kb|mb]> (vea también \-ss y \-sb)
-Para en un tiempo o tamaño dado.
-.br
-.I NOTA:
-La posición por tamaño sólo está habilitada para MEncoder y no será precisa, ya que
-únicamente puede parar en un límite del frame.
-Cuando se usa en conjunción con la opción \-ss, el tiempo especificado por \-endpos
-se adelantará los segundos indicados por \-ss.
-.sp 1
-.I EJEMPLOS:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-Para a los 56 segundos.
-.IPs "\-endpos 01:10:00"
-Para a la hora y 10 minutos.
-.IPs "\-ss 10 \-endpos 56"
-Para al minuto y 6 segundos.
-.IPs "\-endpos 100mb"
-Sólo codifica 100 MB.
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-Fuerza la reconstrucción del índice.
-Útil para archivos con índice mal (desincronización A/\:V, etc).
-Activa la posibilidad de búsquedas en archivos donde no era posible.
-Puede arreglar el índice permanentemente con MEncoder (vea la documentación).
-.br
-.I NOTA:
-Esta opción solo funciona si el dispositivo soporta búsquedas
-(p.e.\& no se puede usar con stdin, pipe, etc).
-.
-.TP
-.B \-fps <valor en coma flotante>
-Sobreescribe la tasa de imágenes por segundo.
-Útil si el valor original es incorrecto o no existe.
-.
-.TP
-.B \-frames <número>
-Reproduce/\:convierte solo los primeros <número> frames, y luego termina.
-.
-.TP
-.B \-hr\-mp3\-seek (MP3 solamente)
-Posicionamiento MP3 de alta resolución.
-Activo cuando se reproduce desde un archivo MP3 externo, y se necesita
-búsqueda en una posición concreta para mantener la sincronización A/\:V.
-Puede ser lento especialmente cuando se posiciona hacia atrás \- tiene
-que rebobinar hasta el principio para encontrar el marco exacto.
-.
-.TP
-.B \-idx (vea también \-forceidx)
-Reconstruye el índice de los archivos en los que no se encuentra, permitiendo
-búsquedas.
-Es útil con descargas rotas/\:incompletas, o archivos que están mal creados.
-.br
-.I NOTA:
-Esta opción solo funciona si el medio soporta búsquedas
-(p.e.\& no con stdin, pipe, etc).
-.
-.TP
-.B \-ipv4\-only\-proxy (red solamente)
-Se salta el proxy para direcciones IPv6.
-Sigue siendo usado para conexiones IPv4.
-.
-.TP
-.B \-loadidx <archivo índice>
-El archivo desde el que se leerán los datos de índice del video guardados
-con \-saveidx.
-Este índice se usará para las búsquedas, usándose con preferencia ante los
-datos de índice contenidos en el archivo AVI.
-MPlayer no intentará evitar que se cargue un archivo de índice generado
-desde un AVI diferente, pero tenga por seguro que causará resultados
-no favorables.
-.br
-.I NOTA:
-Esta opción es obsoleta ahora que MPlayer tiene soporte para OpenDML.
-.
-.TP
-.B \-mc <segundos/\:marco>
-Máxima sincronización A-V por marco (en segundos).
-.
-.TP
-.B \-mf <opción1:opción2:...>
-Usado cuando se decodifica de archivo múltiple de PNG o JPEG.
-.sp 1
-Las opciones disponibles son:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<valor>
-ancho de salida (autodetectado)
-.IPs h=<valor>
-alto de salida (autodetectado)
-.IPs fps=<valor>
-fps de la salida (por defecto: 25)
-.IPs type=<valor>
-tipo de archivos de salida (disponibles: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (AVI solamente)
-Fuerza el uso de analizador de AVI no-entrelazado (corrige la reproducción
-de archivos AVI en mal estado).
-.
-.TP
-.B \-nobps (AVI solamente)
-No usa un valor medio de bytes/\:seg para sincronización A-V.
-Ayuda con algunos archivos AVI que tienen la cabecera en mal estado.
-.
-.TP
-.B \-noextbased
-Invalida la selección del demuxer basada en extensión del nombre de
-archivo.
-Por defecto, cuando un tipo de archivo (demuxer) no puede ser detectado
-con fiabilidad (el archivo no tiene cabecera o no es demasiado fiable),
-la extensión del nombre del archivo es usada para seleccionar el demuxer.
-Siempre se intenta comprobar la selección por el contenido del archivo.
-.
-.TP
-.B \-passwd <contraseña> (vea también la opción \-user) (red solamente)
-Especifica una contraseña para autenticación HTTP.
-.
-.TP
-.B \-prefer\-ipv4 (red solamente)
-Usa IPv4 en las conecciones de red.
-Si falla, usa IPv6 automáticamente.
-.
-.TP
-.B \-prefer\-ipv6 (red solamente)
-Usa IPv6 para las conecciones de red.
-Si falla, usa IPv4 automáticamente.
-.TP
-.B \-pvr <opción1:opción2:...> (solamente PVR)
-Esta opción ajusta varias opciones del módulo de captura PVR.
-Tiene que usarse con cualquier hardware codificador MPEG soportado
-por el driver V4L2.
-Se conoce que funciona con Hauppauge WinTV PVR\-150/250/350/500
-y todas las tarjetas basadas en IVTV. Tenga en cuenta que sólo los kernels de Linux
-2.6.18 y superiores pueden manejar flujos MPEG a través de la capa V4L2.
-Para la captura y visionado de un flujo MPEG por hardware con MPlayer,MEncoder
-use 'pvr://' como la url de la película.
-.sp 1
-Las opciones disponibles son:
-.RSs
-.IPs aspect=<0\-3>
-Especifica el ratio de la entrada:
-.RSss
-0: 1:1
-.br
-1: 4:3 (por defecto)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-Especifica el ratio de codificación del audio (por defecto: 48000 Hz,
-disponibles: 32000, 44100 y 48000 Hz).
-.IPs alayer=<1\-3>
-Especifica la capa de codificación MPEG para el audio (por defecto: 2).
-.IPs abitrate=<32\-448>
-Especifica el bitrate de codificación del audio (por defecto: 384).
-.IPs amode=<valor>
-Especifica el modo de codificación del audio.
-Los posibles valores son: 'stereo', 'joint_stereo', 'dual' y 'mono'
-(por defecto: stereo).
-.IPs vbitrate=<valor>
-Especifica el valor medio del bitrate de la codificación de vídeo
-(por defecto: 6).
-.IPs vmode=<valor>
-Especifica el valor de codificación de vídeo.
-.RSss
-vbr: BitRate variable (por defecto)
-.br
-cbr: BitRate constante
-.REss
-.IPs fmt=<valor>
-Escoge un formato MPEG para la codificación
-.RSss
-ps: MPEG-2 Flujo de programa (por defecto)
-.br
-ts: MPEG-2 Flujo de transporte
-.br
-mpeg1: MPEG-1 Flujo de sistema
-.br
-vcd: Flujo compatible con Video CD
-.br
-svcd: Flujo compatible con Super Video CD
-.br
-dvd: Flujo compatible con DVD
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-rawaudio <opción1:opción2:...>
-Esta opción le permite reproducir archivos de audio raw, debe usarse junto
-con la opción \-demuxer rawaudio.
-También puede usarse para reproducir audio CDs que no son 44KHz 16-bit
-estéreo.
-Para reproducir flujos crudos AC3 use \-rawaudio on:format=0x2000.
-.sp 1
-Las opciones disponibles son:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<valor>
-número de canales
-.IPs rate=<valor>
-razón en muestras por segundo
-.IPs samplesize=<valor>
-tamaño de la muestra en bytes
-.IPs bitrate=<valor>
-tasa de bits para archivos rawaudio
-.IPs format=<valor>
-fourcc en hexadecimal
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <opción1:opción2:...>
-Esta opción le permite reproducir vídeos raw, debe usarse junto con
-la opción \-demuxer rawvideo.
-.sp 1
-Las opciones disponibles son:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<valor>
-razón en imágenes por segundo (por defecto: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-establece tamaño estandar de imagen
-.IPs w=<valor>
-ancho de la imagen en píxeles
-.IPs h=<valor>
-alto de la imagen en píxeles
-image height in pixels
-.IPs i420|yv12|yuy2|y8
-establece espacio de color
-.IPs format=<valor>
-espacio de color (fourcc) en hexadecimal
-.IPs size=<valor>
-tamaño de marco en Bytes
-.REss
-.sp 1
-.RS
-.I EJEMPLOS:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif \-demuxer rawvideo \-rawvideo qcif"
-Reproduce el famoso vídeo de ejemplo "foreman".
-.IPs "mplayer sample-720x576.yuv \-demuxer rawvideo \-rawvideo w=720:h=576"
-Reproduce un ejemplo como raw YUV.
-.RE
-.PD 1
-.
-.TP
-.B \-rtsp\-port
-Usado junto con URLs 'rtsp://' para forzar el número de puerto del cliente.
-Esta opción puede ser útil si esta detrás de un router y quiere dirigir el
-flujo RTSP desde el servidor a un cliente específico.
-.
-.TP
-.B \-rtsp\-destination
-Usado junto con URLs 'rtsp://' para forzar la dirección IP de destino a
-la que estar asociada.
-Esta opción puede ser útil para algunos servidores
-RTSP que no mandan paquetes RTP a la interfaz adecuada.
-Si la conexión al servidor RTSP falla, use la opción \-v para ver a que
-dirección IP está intentando asociarse MPlayer y trate de forzar la
-asociación con una IP asignada a su ordenador en su lugar.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (LIVE555 solamente)
-Usado con URLs 'rtsp://' para especificar que los paquetes entrantes RTP y
-RTCP serán enviados a través de TCP (usando la misma conección TCP como RTSP).
-Esta opción puede ser útil si dispone de una mala conección a internet que
-no acepta paquetes UDP entrantes (vea http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-saveidx <archivo>
-Fuerza la reconstrucción del índice y vuelca el índice a <archivo>.
-Actualmente solo funciona con archivos AVI.
-.br
-.I NOTA:
-Esta opción es obsoleta ahora que MPlayer tiene soporte para OpenDML.
-.
-.TP
-.B \-sb <posición\ del\ byte> (vea también la opción \-ss)
-Se posiciona en el byte indicado.
-Útil para reproducir desde imágenes de CD-ROM / archivos VOB con cosas al
-principio.
-.
-.TP
-.B \-speed <0.01\-100>
-Acelera o ralentiza la reproducción por el factor pasado como parámetro.
-No se garantiza que funcione correctamente con la opción \-oac copy.
-.
-.TP
-.B \-srate <Hz>
-Elige la tasa de muestreo de salida
-(por supuesto las tarjetas de sonido tienen limitaciones al respecto).
-Si la frecuencia seleccionada difiere de la existente en el medio seleccionado
-se insertará un filtro de audio de resample o lavcresample para compensar la
-diferencia.
-El tipo de resampleo puede ser controlado por la opción \-af\-adv.
-La opción por defecto es usar el resampleo rápido que puede causar cierta
-distorsión.
-.
-.TP
-.B \-ss <tiempo> (vea también la opción \-sb)
-Se posiciona en el tiempo indicado.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-Se posiciona en 56 segundos.
-.IPs "\-ss 01:10:00"
-Se posiciona en 1\ hora 10\ minutos.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Le dice a MPlayer que no descarte paquetes TS detectados como no válidos
-en el medio que se esté reproduciendo.
-Algunas veces es necesario para reproducir archivos MPEG-TS corruptos.
-.
-.TP
-.B \-tsprobe <posición\ byte>
-Durante la reproducción de MPEG-TS, esta opción le permite especificar
-cuántos bytes quiere que MPlayer busque para los pids de audio y video
-deseados.
-.
-.TP
-.B \-tsprog <1\-65534>
-Mientras se reproducen flujos MPEG-TS, puede especificar con ésta
-opción que programa (si está presente) desea reproducir.
-Puede ser usada con \-vid y \-aid.
-.
-.TP
-.B \-radio <opción1:opción2:...> (solamente radio)
-Esta opción ajusta varias propiedades del módulo de captura de radio.
-Para oír la radio con MPlayer use 'radio://frecuencia' (si la opción
-de canales no está dada) o 'radio://<número_canal>' (si la opción de
-canales está dada) como una URL de película. Puede ver el rango de
-frecuencias permitidas ejecutando MPlayer con la opción '\-v'.
-Para iniciar el subsistema de grabación, use 'radio://<frecuencia
-o canal>/capture'. Si no se usa la palabra clave capture usted sólo
-puede escuchar la radio usando el cable de entrada.
-Usar la opción de captura para escuchar la radio no es nada recomendable
-debido a problemas de sincronización que hacen que el proceso no sea
-nada confortable.
-.sp 1
-Las opciones disponibles son:
-.RSs
-.IPs device=<valor>
-Dispositivo de radio a usar (por defecto: /dev/radio0 para Linux y /dev/tuner0 para *BSD).
-.IPs driver=<valor>
-Driver de radio a usar (por defecto: v4l2 si está disponible, en otro caso v4l).
-.IPs volume=<0..100>
-Volumen de sonido para el dispositivo de radio (por defecto: 100).
-.IPs freq_min=<valor> (solamente *BSD BT848)
-Frecuencia mínima permitida (por defecto: 87.50).
-.IPs freq_max=<valor> (solamente *BSD BT848)
-Frecuencia máxima permitida (por defecto: 108.00).
-.IPs channels=<frecuencia>\-<nombre>,<frecuencia>\-<nombre>,...
-Fija la lista de canales.
-Use _ para los espacios en los nombres, los canales entonces los nombres serán escritos
-usando OSD y los comandos slave radio_step_channel y radio_set_channel se podrán usar con
-un control remoto (vea también LIRC).
-Si se especifica la opción, un número en la URL de la película será tratado como una posición
-en la lista de canales.
-.br
-.I EJEMPLO:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs adevice=<valor> (con la opción de radio capture habilitada)
-Nombre del dispositivo desde el que grabar. Sin este valor la grabación estará
-desactivada incluso si la palabra clave capture aparece en la URL.
-Para dispositivos ALSA use el nombre en la forma de hw=<tarjeta>.<dispositivo>.
-Si el nombre del dispositivo contiene un '=', el módulo usará ALSA para grabar,
-en cualquier otro caso usará OSS.
-.IPs arate=<valor> (con la opción de radio capture habilitada)
-Tasa en muestras por segundo (por defecto: 44100).
-.br
-.I NOTA:
-Cuando use la captura de audio establezca también la opción \-rawaudio rate=<valor>
-con el mismo valor que arate. Si tiene problemas con la velocidad del sonido (va demasiado
-deprisa), pruebe cambiando el valor de la tasa (p.e.\& 48000,44100,32000,...).
-.IPs achannels=<valor> (con la opción de radio capture habilitada)
-Número de canales de audio que desea grabar.
-.RE
-.
-.TP
-.B \-tv <opción1:opción2:...> (TV solamente)
-Esta opción ajusta varias propiedades del módulo de captura de TV.
-Para ver la TV con MPlayer, use 'tv://' o 'tv://<número_canal>'
-o incluso 'tv://<nombre_canal> (vea la opción canales para nombre_canal
-más abajo) como una URL de película.
-.sp 1
-Las opciones disponibles son:
-.RSs
-.IPs noaudio
-sin sonido
-.IPs driver=<valor>
-disponibles: dummy, v4l, v4l2, bsdbt848
-.IPs device=<valor>
-Especifica el dispositivo de TV (por defecto: /dev/\:video0).
-.IPs input=<valor>
-Especifica la entrada (por defecto 0 (TV) (vea la salida en consola para
-ver las entradas disponibles)
-.IPs freq=<valor>
-Especifica la frecuencia a establecer en el sintonizador (p.e.\& 511.250).
-No compatible con el parámetro de los canales.
-.IPs outfmt=<valor>
-Especifica el formato de salida del sintonizador con un valor preestablecido
-soportado por el controlador V4L (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2,
-i420) o un formato arbitrario dado como valor hexadecimal.
-Pruebe outfmt=help para una lista de todos los formatos disponibles.
-.IPs width=<valor>
-anchura de la ventana de salida
-.IPs height=<valor>
-altura de la ventana de salida
-.IPs fps=<valor>
-razón de captura de video (imágenes por segundo)
-.IPs buffersize=<valor>
-tamaño máximo del buffer de captura en megabytes (por defecto: dinámico)
-.IPs norm=<valor>
-disponible: PAL, SECAM, NTSC.
-Para v4l2 use la opción normid de más abajo.
-.IPs "normid=<valor> (v4l2 solamente)"
-Vea la salida de MPlayer para una lista de normas de TV.
-disponibles.
-.IPs channel=<valor>
-Coloca el sintonizador en el canal <valor>.
-.IPs chanlist=<valor>
-disponibles: argentina, australia, china-bcast, europe-east, europe-west,
-france, ireland, italy, japan-bcast, japan-cable, newzealand, russia,
-southafrica, us-bcast, us-cable, us-cable-hrc
-.IPs channels=<canal>\-<nombre>,<canal>\-<nombre>,...
-Establece el nombre para los canales.
-Use _ para espacios en los nombres (o juegue con las comillas ;-).
-Los nombres de canal serán escritos usando OSD, y las órdenes tv_step_channel,
-tv_set_channel y tv_last_channel estarán disponibles usando un mando a
-distancia (vea LIRC).
-No compatible con el parámetro de frecuencia.
-.br
-.I NOTA:
-El número de canal debe ser la posición en la lista de 'canales',
-comenzando con 1.
-.br
-.I EJEMPLO:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brillo|contraste|matiz|saturación]=<\-100\-100>
-Establece la ecualización de imagen para la tarjeta.
-.IPs audiorate=<valor>
-Establece la razón de captura de audio.
-.IPs forceaudio
-Captura audio incluso si no hay origen de audio reportado por v4l.
-.IPs "alsa\ "
-Captura desde ALSA.
-.IPs amode=<0\-3>
-Selecciona un modo de audio:
-.RSss
-0: mono
-.br
-1: stereo
-.br
-2: idioma 1
-.br
-3: idioma 2
-.REss
-.IPs forcechan=<1\-2>
-Por defecto, la cuenta de canales de audio grabados es determinada
-automáticamente preguntando el modo de audio a la tarjeta de TV.
-Esta opción permite forzar grabación estéreo/\:mono sin importar la opción
-amode y los valores devueltos por v4l.
-Esto puede ser usado para solucionar problemas cuando la tarjeta de tv no
-es capaz de informar del modo de audio actual.
-.IPs adevice=<valor>
-Establece el dispositivo de sonido.
-<valor> debe ser /dev/\:xxx para OSS y un ID hardware para ALSA.
-Vea la documentación de \-ao alsa para saber cómo especificar el ID hardware.
-.IPs audioid=<valor>
-Elije la salida de audio de la tarjeta capturadora, si tiene más
-de una.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-Estas opciones establecen los parámetros del mezclador en la tarjeta
-de captura de vídeo.
-No tiene efecto si la tarjeta no tiene uno.
-Para v4l2 50 mapea el valor por defecto de control, como es reportado por
-el controlador.
-.IPs immediatemode=<bool>
-Un valor de 0 significa captura y buffer de audio y video juntos (por
-defecto para MEncoder).
-Un valor de 1 (por defecto para MPlayer) significa que la captura de video
-va sola y deja la captura de audio a través del cable de realimentación que
-se conecta desde la tarjeta de TV a la tarjeta de sonido.
-.IPs mjpeg
-Usa compresión MJPEG por hardware (si la tarjeta lo soporta).
-Usando esta opción, no necesita especificar la anchura y altura de la
-ventana de salida, porque mplayer la determinará automáticamente desde
-el valor de decimación (vea más abajo).
-.IPs decimation=<1,2,4>
-elije el tamaño de la imagen que será comprimida por compresión MJPEG
-por hardware:
-.RSss
-1: tamaño completo
- 704x576 PAL
- 704x480 NTSC
-.br
-2: tamaño medio
- 352x288 PAL
- 352x240 NTSC
-.br
-4: tamaño pequeño
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-Elije la calidad de la compresión JPEG.
-(calidad < 60 recomendada para tamaño completo).
-.RE
-.
-.TP
-.B \-user <nombre\ de\ usuario> (vea también la opción \-passwd) (red solamente)
-Especifica un nombre de usuario para autenticación HTTP.
-.
-.TP
-.B \-user\-agent <cadena>
-Usa la cadena como User-Agent para el flujo HTTP.
-.B \-vid <id>
-Selecciona el canal de video (MPG: 0\-15 ASF: 0\-255 MPEG-TS: 17\-8190).
-Cuando se reproducen flujos MPEG-TS, MPlayer/\:MEncoder usará el primer
-programa (si está presente) con el flujo de video elegido.
-.
-.TP
-.B \-vivo <sub-opciones> (CÓDIGO EN PRUEBAS)
-Fuerza parámetros de audio para el demuxer VIVO (para pruebas).
-.
-.
-.
-.SH "OPCIONES OSD/\:SUB"
-.I NOTA:
-Vea también \-vf expand.
-.
-.TP
-.B \-ass (solamente FreeType)
-Activa el renderizado de subtítulos SSA/ASS.
-Con esta opción se usará libass para los subtítulos externos
-SSA/ASS y las pistas Matroska. Puede que también quiera usar
-la opción \-embeddedfonts.
-.
-.TP
-.B \-ass\-border\-color <valor>
-Establece el color del borde (contorno) para el texto de los subtítulos
-El formato del color es RRGGBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <valor>
-Añade una banda negra en la parte inferior de la imagen.
-El renderizador SSA/ASS puede poner los subtítulos ahí (con \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-color <valor>
-Establece el color del texto de los subtítulos
-El formato del color es RRGGBBAA.
-.
-.TP
-.B \-ass\-font\-scale <valor>
-Establece el coeficiente de la escala que se usará para las fuentes en el
-renderizador SSA/ASS.
-.
-.TP
-.B \-ass\-force\-style <[Estilo.]Parámetro=Valor[,...]>
-Sobreescribe algunos parámetros de estilo.
-.sp
-.I EJEMPLO:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.RE
-.PD 1
-.TP
-.B \-ass\-line\-spacing <valor>
-Establece el valor del espaciado de línea para el renderizador SSA/ASS.
-.
-.TP
-.B \-ass\-styles <nombre_de_fichero>
-Carga todos los estilos SSA/ASS encontrados en el fichero y los usa para
-renderizar los subtítulos.
-La sintaxis del fichero es exactamente como la sección
-[V4 Styles] / [V4+ Styles] de SSA/ASS.
-.
-.TP
-.B \-ass\-top\-margin <valor>
-Añade una banda negra en la parte superior de la imagen.
-El renderizador SSA/ASS puede poner los subtítulos ahí (con \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-use\-margins
-Habilita/Inhabilita el uso de subtítulos inferiores y superiores en los
-bordes negros cuando estan disponibles (por defecto: no).
-.
-.TP
-.B \-dumpjacosub (MPlayer solamente)
-Convierte el subtítulo dado (especificado con la opción \-sub) al formato
-de subtítulo basado en tiempo JACOsub.
-Crea un archivo dumpsub.js en el directorio actual.
-.
-.TP
-.B \-dumpmicrodvdsub (MPlayer solamente)
-Convierte el subtítulo dado (especificado con la opción \-sub) al
-formato de subtítulos MicroDVD.
-Crea un archivo dumbsub.sub en el directorio actual.
-.
-.TP
-.B \-dumpmpsub (MPlayer solamente)
-Convierte el subtítulo dado (especificado con la opción \-sub) al formato
-de subtítulos de MPlayer, MPsub.
-Crea un archivo dump.mpsub en el directorio actual.
-.
-.TP
-.B \-dumpsami (MPlayer solamente)
-Convierte el subtítulo dado (especificado con la opción \-sub) al formato
-de subtítulo basado en tiempo SAMI.
-Crea un archivo dumpsub.smi en el directorio actual.
-.
-.TP
-.B \-dumpsrtsub (MPlayer solamente)
-Convierte el subtítulo dado (especificado con la opción \-sub) al formato
-de subtítulo basado en tiempo SubViewer (SRT).
-Crea un archivo dumpsub.srt en el directorio actual.
-.br
-.I NOTE:
-Algunos reproductores hardware se paran con ficheros de subtítulos SRT que
-usan acabados de línea Unix.
-Si es tan desafortunado de poseer uno de esos aparatos, pase los ficheros
-de subtítulos a través de unix2dos o algún programa similar para
-sustituir los acabados de líneas Unix por acabados de líneas DOS/Windows.
-.
-.TP
-.B \-dumpsub (solamente MPlayer) (CÓDIGO BETA)
-Vuelca el flujo de subtítulo desde archivos VOB
-Vea también las opciones \-dump*sub y \-vobsubout*.
-.
-.TP
-.B \-embeddedfonts (solamente FreeType)
-Habilita la extracción de las fuentes incrustadas Matroska (por defecto: desactivado)
-Estas fuentes pueden ser usadas para el renderizado de subtítulos SSA/ASS (opción \-ass)
-Los ficheros de las fuentes se crean en el directorio ~/.mplayer/\:fonts
-.br
-.I NOTA:
-Con FontConfig 2.4.2 o superior, las fuentes incrustadas se abren directamente desde la
-memoria y esta opción está activada por defecto.
-.
-.TP
-.B \-ffactor <número>
-Muestreo mapa alpha de la tipografía.
-Puede ser:
-.PD 0
-.RSs
-.IPs 0
-tipografía plana blanca
-.IPs 0.75
-línea exterior negra muy fina (por defecto)
-.IPs 1
-línea exterior negra fina
-.IPs 10
-línea exterior negra gruesa
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (FriBiDi solamente)
-Activa inversión de subtítulos usando FriBiDi.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-Cambia la presuposición de FriBiDi sobre la posición de las comas en los subtítulos,
-Use esta opción si las comas en los subtítulos se ven al principio de la frase en vez
-de al final.
-.
-.TP
-.B \-font <ruta\ a\ archivo\ font.desc>
-Búsqueda de tipografías OSB/\:SUB en un directorio alternativo (por defecto
-para tipografías normales: ~/\:.mplayer/\:font/\:font.desc, por defecto para
-tipografías FreeType:
-~/.mplayer/\:subfont.ttf).
-.br
-.I NOTA:
-Con FreeType, esta opción determina la ruta al archivo de tipografía de texto.
-.br
-Con fontconfig, esta opción determina el nombre de la tipografía de fontconfig.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (fontconfig solamente)
-Habilita el uso de tipografías administradas por fontconfig.
-.
-.TP
-.B \-forcedsubsonly
-Muestra solo subtítulos forzados para el flujo de subtítulos de DVD seleccionado,
-p.e.\& \-slang.
-.
-.TP
-.B \-fribidi\-charset <nombre\ de\ conjunto\ de\ caracteres> (FriBiDi solamente)
-Especifica el conjunto de caracteres que será pasado a FriBiDi
-cuando se decodifiquen subtítulos no-UTF8 (por defecto: ISO8859\-8).
-.
-.TP
-.B \-ifo <archivo\ VOBsub\ ifo>
-Indica el archivo que debe ser usado para cargar el tamaño de paleta y marco
-de subtítulos VOBsub.
-.
-.TP
-.B \-noautosub
-Desactiva carga automática de archivos de subtítulo.
-.
-.TP
-.B \-osd\-duration <time>
-Establece la duración de los mensajes OSD en ms (por defecto: 1000).
-.
-.TP
-.B \-osdlevel <0\-3> (MPlayer solamente)
-Especifica en qué modo de OSD se debe iniciar.
-.
-.PD 0
-.RSs
-.IPs 0
-solamente subtítulos
-.IPs 1
-volumen + posicionamiento (por defecto)
-.IPs 2
-volumen + posicionamiento + tiempo + porcentaje
-.IPs 3
-volumen + posicionamiento + tiempo + porcentaje + tiempo total
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Permite que el siguiente subtítulo sea mostrado mientras el actual
-está aún visible (por defecto esto está habilitado solo para formatos
-específicos).
-.
-.TP
-.B \-sid <ID> (vea también la opción \-slang, \-vobsubid)
-Muestra los subtítulos de DVD en el idioma especificado por <ID> (0\-31).
-MPlayer muestra la lista de idiomas disponibles cuando se ejecuta en modo
-prolijo (\-v).
-Si no puede seleccionar uno de los subtítulos en un DVD, pruebe
-también con \-vobsubid.
-.
-.TP
-.B \-slang <código\ de\ país[,código\ de\ país,...]> (vea también \-sid)
-Especifica una lista de idiomas de subtítulos a usar.
-Diferentes formatos de contención usan diferentes códigos de lenguaje.
-Los DVDs usan ISO 639\-1 códigos de lenguaje de dos letras, Matroska, MPEG-TS and NUT
-use ISO 639\-2 códigos de lenguaje de tres letras, mientras OGM usa un identificador libre
-MPlayer muestra la lista de idiomas disponibles cuando se ejecuta en modo
-prolijo (\-v).
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "mplayer \-slang es,en"
-Selecciona Español y vuelve a Inglés si el Español no está disponible.
-.IPs "mplayer \-slang jpn example.mkv"
-Reproduce un fichero Matroska con subtítulos en japonés.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <modo>
-Modo antialias/\:escalado para DVD/\:VOBsub.
-Un valor de 16 puede añadirse al <modo> para forzar escalado incluso cuando
-la imagen original y la escalada coinciden en tamaño.
-Puede emplearse por ejemplo para suavizar subtítulos cuando se usa
-difuminado gaussiano.
-Los modos disponibles son:
-.PD 0
-.RSs
-.IPs 0
-ninguno (el más rápido, muy feo)
-.IPs 1
-aproximado (¿roto?)
-.IPs 2
-completo (lento)
-.IPs 3
-bilineal (por defecto, rápido y no demasiado malo)
-.IPs 4
-usa difuminado gaussiano swscaler (se ve bastante bien)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2> (OSD solamente)
-Especifica cómo deben alinearse los subtítulos SPU (DVD/\:VOBsub).
-.PD 0
-.RSs
-.IPs \-1
-posición original
-.IPs 0
-alineado arriba (comportamiento original/\:por defecto)
-.IPs 1
-alineado al centro
-.IPs 2
-alineado abajo
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0> (OSD solamente)
-Parámetro de varianza de gaussiana usado por \-spuaa 4.
-Valores más altos significa más difuminado (por defecto: 1.0).
-.
-.TP
-.B \-sub <archivosubtítulos1,archivosubtítulos2,...>
-Uso/\:muestra esos archivos de subtítulos.
-Solo un archivo puede ser mostrado en un momento dado.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-Especifica el valor de canal alfa para subtítulos y OSD de fondo.
-Valores grandes significa mayor transparencia.
-0 significa completamente transparente.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-Especifica el valor de color para subtítulos y OSD de fondo.
-Actualmente los subtítulos están en escala de grises y este valor es
-la intensidad del color.
-255 significa blanco y 0 negro.
-.
-.TP
-.B \-sub\-demuxer <[+]nombre> (sólo con \-subfile) (CÓDIGO BETA)
-Fuerza el tipo de demuxer de subtítulos para \-subfile.
-Use un '+' delante del nombre para forzarlo, ¡esto evitará algunos chequeos!.
-Pásele al demuxer uno de los nombres de la lista imprimida por \-sub\-demuxer help.
-Por compatibilidad con versiones anteriores también acepta el ID del demuxer como
-se define en subreader.h.
-.
-.TP
-.B \-sub\-fuzziness <modo>
-Ajusta el nivel de afinado cuando busca subtítulos:
-.PD 0
-.RSs
-.IPs 0
-coincidencia exacta
-.IPs 1
-Carga todos los subtítulos que contengan el nombre de la película.
-.IPs 2
-Carga todos los subtítulos en el directorio actual.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Inhabilita todo tipo de postproceso de texto después de cargar los
-subtítulos.
-Usado para pruebas.
-.
-.TP
-.B \-subalign <0\-2>
-Especifica cómo deben alinearse los subtítulos con \-subpos.
-.PD 0
-.RSs
-.IPs 0
-alinea arriba (comportamiento original/\:por defecto)
-.IPs 1
-alinea al centro
-.IPs 2
-alinea abajo
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-Muestra subtículos de DVD Closed Caption (CC).
-Esto no es los subtítulos VOB, son subtítulos especiales ASCII codificados
-para el que no oye bien en el flujo de datos de usuario VOB en la mayoría de los
-DVDs de la región 1.
-Los subtítulos CC no han sido publicados en DVDs de otras regiones hasta ahora.
-.
-.TP
-.B \-subcp <codepage> (iconv solamente)
-Si su sistema soporta iconv(3), puede usar esta opción para
-especificar la página de códigos para los subtítulos.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<language>:<fallback codepage> (ENCA solamente)
-Puede especificar su idioma usando un código de dos letras para hacer
-que ENCA detecte la página de códigos automáticamente.
-Si está inseguro, introduzca cualquier cosa y vea la salida de mplayer \-v
-para obtener la lista de idiomas disponibles.
-Fallback codepage especifica la página de códigos a usar cuando la
-autodetección falla.
-.
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Sugiere la codificación, asumiendo los subtítulos en Checo, volviendo a
-latin 2 si la detección falla.
-.IPs "\-subcp enca:pl:cp1250"
-Sugiere la codificación para Polaco, volviendo si falla a cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <seg>
-Retrasa subtítulos por <seg> segundos.
-Puede ser negativo.
-.
-.TP
-.B \-subfile <nombredearchivo> (CÓDIGO BETA)
-Actualmente la opción es inútil.
-Lo mismo que \-audiofile, pero para flujos de subtítulos (¿OggDS?).
-.TP
-.B \-subfont\-autoscale <0\-3> (solamente FreeType)
-Establece el modo de autoescala.
-.br
-.I NOTA:
-0 significa que el escalado de texto y de OSD es la altura de la tipografía
-medido en puntos.
-.sp 1
-El modo puede ser:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-sin autoescala
-.IPs 1
-proporcional a la altura de la película
-.IPs 2
-proporcional a la anchura de la película
-.IPs 3
-proporcional a la diagonal de la película (por defecto)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (solamente FreeType)
-Establece el radio de difuminado de la tipografía (por defecto: 2).
-.TP
-.B \-subfont\-encoding <valor> (solamente FreeType)
-Establece la codificación del tipo de letra.
-Cuando se establece a 'unicode', todos los símbolos del archivo de tipo de letra
-son renderizados y es usado unicode (por defecto: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (solamente FreeType)
-Establece el coeficiente de autoescala de los elementos del OSD
-(por defecto: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (solamente FreeType)
-Establece el grosor de la línea de contorno de las letras (por defecto: 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (solamente FreeType)
-Establece el coeficiente de autoescala del texto de subtítulos como porcentaje
-del tamaño de pantalla (por defecto: 5).
-.
-.TP
-.B \-subfps <razón>
-Especifica la tasa de imágenes por segundo del archivo de subtítulos (por
-defecto: fps de la película).
-.br
-.I NOTA:
-Solo archivos SUB basados en imágenes, p.e.\& no el formato MicroDVD.
-.
-.TP
-.B \-subpos <0\-100> (útil con \-vf expand)
-Especifica la posición de los subtítulos en pantalla.
-El valor es la posición vertical de los subtítulos en % de la altura de pantalla.
-.TP
-.B \-subwidth <10\-100> (OSD solamente)
-Especifica el ancho máximo de los subtítulos en pantalla.
-Útil para salida de TV.
-El valor es la anchura de los subtítulos en % del ancho de la pantalla.
-.
-.TP
-.B \-noterm\-osd
-Inhabilita la escritura de mensajes OSD en la consola cuando ninguna salida
-de vídeo está disponible.
-.
-.TP
-.B \-term\-osd\-esc <secuencia de escape>
-Especifica la secuencia de escape a usar antes de escribir un mensaje OSD
-en la consola.
-La secuencia de escape debería mover el puntero al comienzo de la línea usada
-por el OSD y limpiarla (por defecto: ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-Le dice a MPlayer que maneje los archivos de subtítulos como unicode.
-.
-.TP
-.B "\-utf8 \ \ "
-Le dice a MPlayer que maneje los archivos de subtítulos como UTF-8.
-.
-.TP
-.B \-vobsub <archivo\ VOBsub\ sin\ extensión>
-Especifica los archivos VOBsub que serán usados para subtítulos.
-Esto es la ruta completa sin extensiones, p.e.\& sin
-el '.idx', '.ifo' o '.sub'.
-.
-.TP
-.B \-vobsubid <0\-31>
-Especifica el ID del subtítulo VOBsub.
-.
-.
-.
-.SH "OPCIONES DE SALIDA DE AUDIO (MPLAYER SOLAMENTE)"
-.
-.TP
-.B \-abs <valor> (\-ao oss solamente) (OBSOLETO)
-Sobreescribe la detección del tamaño del buffer de audio del
-controlador/\:tarjeta.
-.
-.TP
-.B \-format <formato> (vea también la opción format del filtro de audio)
-Selecciona el formato de la muestra usado para la salida desde la capa del
-filtro de audio hasta la tarjeta de sonido.
-Los valores que <formato> acepta están listados abajo en la descripción del
-formato en el filtro de audio.
-.
-.TP
-.B \-mixer <dispositivo>
-Usa un dispositivo mezclador diferente al que hay por defecto /dev/\:mixer.
-Para ALSA este es el nombre del mezclador.
-.
-.TP
-.B \-mixer\-channel <mixer line>[,mixer index] (solo para \-ao oss y \-ao alsa)
-Esta opción le dice a MPlayer que use un canal diferente al PCM por
-defecto para controlar el volumen.
-Las opciones para OSS incluyen
-.B vol, pcm, line.
-Para una lista completa de opciones busque SOUND_DEVICE_NAMES en
-/usr/\:include/\:linux/\:soundcard.h.
-Para ALSA puede usar los nombres por ejemplo como los muestra alsamixer,
-.B Master, Line, PCM.
-.br
-.I NOTA:
-El nombre de los canales de mezcla de ALSA seguidos de un número deben ser
-especificados en el formato <nombre,número>, p.e.\& un canal llamado 'PCM 1' en
-alsamixer convertirse a
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-Fuerza el uso del mezcaldor por software en vez de usar el mezclador de la
-tarjeta de sonido.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-Fija el nivel máximo de amplificación en porcentaje (por defecto: 110).
-Un valor de 200 le permitirá ajustar el volumen hasta un máximo del doble del
-nivel actual.
-Con valores por debajo de 100 el volumen inicial (que es el 100%) estará por
-debajo del máximo, p.e.\& el OSD no se mostrará correctamente.
-.
-.TP
-.B \-volstep <0\-100>
-Establece el porcentaje de incremento o decremento para los cambios de volumen,
-el porcentaje es en relación con el total.
-.
-.TP
-.B \-volume <-1\-100> (vea también \-af volume)
-Establece el volumen inicial en el mezclador, ya sea por hardware o
-software (si se usa con \-softvol).
-Un valor de -1 (que es el valor por defecto) no cambiará el volumen.
-.
-.
-.
-.SH "CONTROLADORES DE SALIDA DE AUDIO (MPLAYER SOLAMENTE)"
-.
-Los controladores de salida de audio son interfaces para las diferentes
-facilidades de salida de audio.
-La sintaxis es:
-.
-.TP
-.B \-ao <driver1[:subopción1[=valor]:...],driver2,...[,]>
-Especifica una lista de controladores de salida de audio a usar.
-.PP
-Si la lista tiene una ',' al final, intentará usar finalmente los controladores
-no listados en la línea de órdenes.
-Las subopciones son opcionales y se pueden omitir la mayoría de las veces.
-.br
-.I NOTA:
-Vea \-ao help para una lista de controladores disponibles.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Prueba el controlador ALSA, luego el OSS, y finalmente otros.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-Establece el modo noblock y el nombre del dispositivo como primera
-tarjeta, cuarto dispositivo.
-.RE
-.PD 1
-.sp 1
-Los controladores de audio disponibles son:
-.
-.TP
-.B "alsa\ \ \ "
-Controlador de salida de audio ALSA 0.9/\:1.x
-.PD 0
-.RSs
-.IPs noblock
-Establece el modo noblock.
-.IPs device=<dispositivo>
-Establece el nombre del dispositivo.
-Reemplace cualquier ',' con '.' y cualquier ':' con '=' en el nombre del
-dispositivo ALSA.
-Para usar la salida hwac3 vía S/PDIF, use un dispositivo "iec958" o "spdif", a
-menos que realmente sepa como configurarlo correctamente.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-Controlador de salida de audio ALSA 0.5.
-.
-.TP
-.B "oss\ \ \ \ "
-Controlador de salida de audio OSS.
-.PD 0
-.RSs
-.IPs <dsp-device>
-Establece el dispositivo de salida de audio (por defecto: /dev/\:dsp).
-.IPs <mixer-device>
-Establece el dispositivo de mezcla de audio (por defecto: /dev/\:mixer).
-.IPs <mixer-channel>
-Establece el canal de mezcla (por defecto: pcm).
-.RE
-.PD 1
-.
-.TP
-.B sdl (SDL solamente)
-Biblioteca de controlador de salida de audio SDL (Simple Directmedia Layer)
-altamente independiente de la plataforma.
-.PD 0
-.RSs
-.IPs <controlador>
-Selecciona el controlador de audio que SDL debe usar (por defecto: deja que SDL
-escoja).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-Salida de audio a través del demonio aRts.
-.TP
-.B "esd\ \ \ \ "
-Salida de audio a través del demonio ESD.
-.PD 0
-.RSs
-.IPs <servidor>
-Selecciona el servidor ESD a utilizar (por defecto: servidor local).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-Salida de audio a través de JACK (Jack Audio Connection Kit).
-.PD 0
-.RSs
-.IPs port=<nombre>
-Conecta a los puertos que tienen el nombre dado (por defecto: puertos físicos).
-.IPs name=<nombre del cliente>
-Nombre del cliente que se le pasa a JACK (por defecto: MPlayer [<PID>]).
-Es útil si desea que ciertas conexiones se establezcan automáticamente.
-.IPs (no)estimate
-Estimación del retraso del audio, supuestamente hace que la reproducción del
-vídeo sea más uniforme (por defecto: activada).
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-Salida de audio a través de NAS.
-.
-.TP
-.B coreaudio (Mac OS X solamente)
-Controlador de salida de audio nativo Mac OS X.
-.
-.TP
-.B "openal\ "
-Controlador de salida de audio OpenAl, es experimental y está sin acabar (el
-sonido se mezclará en un sólo canal).
-.
-.TP
-.B sgi (SGI solamente)
-Controlador de salida de audio SGI nativo.
-.PD 0
-.RSs
-.IPs "<nombre del dispositivo de salida>"
-Especifica la interfaz del dispositivo de salida (por defecto: configuración del
-sistema).
-Por ejemplo, 'Salida Analógica' o 'Salida Digital'.
-.RE
-.PD 1
-.
-.TP
-.B sun (Sun solamente)
-Controlador de salida de audio Sun nativo.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifia el dispositivo de audio (por defecto: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (Windows solamente)
-Controlador de salida de audio de forma de onda nativo de Windows.
-.
-.TP
-.B dsound (Windows solamente)
-Controlador de salida de audio DirectX DirectSound.
-.PD 0
-.RSs
-.IPs device=<numdispositivo>
-Selecciona el número del dispositivo que será usado.
-Reproducir un fichero con la opción \-v mostrará una lista de los dispositivos
-disponibles
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (vea también \-dxr2) (DXR2 solamente)
-Controlador de salida específico de Creative DXR2.
-.
-.TP
-.B ivtv (IVTV solamente)
-Controlador de salida MPEG específico IVTV.
-Solamente funciona con \-ac hwmpa.
-.
-.TP
-.B mpegpes (DVB solamente)
-Controlador de salida para tarjetas DVB que escriben la salida a un fichero
-MPEG-PES si no hay ninguna tarjeta DVB instalada.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Tarjeta DVB a usar si hay más de una.
-.IPs file=<fichero>
-Fichero de salida
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-No produce salida de audio pero mantiene la velocidad de reproducción
-del vídeo.
-Use \-nosound para pruebas de rendimiento.
-.
-.TP
-.B "pcm\ \ \ \ "
-Escribe ficheros raw PCM/wave con el audio de salida.
-.PD 0
-.RSs
-.IPs (no)waveheader
-Incluye o excluye la cabecera de las ondas (por defecto: incluido).
-Cuando no se incluya se generará un fichero PCM.
-.IPs file=<fichero>
-Escribe el sonido en el <fichero> en vez de en la opción por defecto
-audiodump.wav.
-Si se especifica nowaveheader, la opción por defecto es audiodump.pcm.
-.IPs "fast\ "
-Trata de volcar la información mas rápido que en tiempo real. Asegurese de
-que la salida no se ve truncada (normalmente con el mensaje "Demasiados paquetes
-de vídeo en el buffer").
-Es normal obtener el mensaje "¡Su sistema es demasiado lento para reproducir
-esto!".
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-Controlador de salida de audio con alguna extensión.
-.
-.
-.
-.SH "OPCIONES DE SALIDA DE VÍDEO (MPLAYER SOLAMENTE)"
-.
-.TP
-.B \-adapter <valor>
-Establece la tarjeta gráfica que recibirá la imagen.
-Puede obtener una lista de las tarjeta gráficas disponibles cuando ejecute
-esta opción con \-v.
-Actualmente sólo funciona con con el controlador de salida de vídeo directx.
-.
-.TP
-.B \-bpp <profundidad>
-Usar una profundidad de color diferente a la que se ha detectado.
-Sólo soportado por los controladores de salida de vídeo fbdev, dga2, svga, vesa.
-.
-.TP
-.B \-border
-Reproduce la película con adornos y bordes.
-Dado que la opción está activada por defecto, use \-noborder para invalidar los
-adornos de la ventana.
-Soportado por el controlador de salida de vídeo directx.
-.
-.TP
-.B \-brightness <\-100\-100>
-Ajusta el brillo del vídeo de salida (por defecto 0).
-No soportado por todos los controladores de salida de vídeo.
-.
-.TP
-.B \-contrast <\-100\-100>
-Ajusta el contraste del vídeo de salida (por defecto 0).
-No soportado por todos los controladores de salida de vídeo.
-.
-.TP
-.B \-display <nombre> (X11 solamente)
-Se debe especificar el nombre y el número del dispositivo del servidor de las X
-en el que desea que se muestre el vídeo.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-Activa el renderizado directo (no está soportado por todos los codecs y salidas
-de vídeo)
-.br
-.I AVISO:
-¡Puede causar corrupción en OSD/\:SUB!
-.
-.TP
-.B \-dxr2 <opción1:opción2:...>
-Esta opción se usa para gestionar el controlador de salida de vídeo dxr2.
-.RSs
-.IPs ar-mode=<valor>
-modo de razón de aspecto (0 = normal, 1 = pan y scan, 2 = letterbox
-(por defecto))
-.IPs iec958-encoded
-Selecciona el modo de salida iec958.
-.IPs iec958-decoded
-Establece modo de salida iec958 al decodificador (por defecto).
-.IPs macrovision=<valor>
-modo macrovisión (0 = desactivado (por defecto), 1 = agc, 2 = agc 2 colorstripe,
-3 = agc 4 colorstripe)
-.IPs "mute\ "
-silencia la salida de audio
-.IPs unmute
-reactiva la salida de audio
-.IPs ucode=<valor>
-ruta al microcódigo
-.RE
-.RS
-.sp 1
-.I Salida de TV
-.RE
-.RSs
-.IPs 75ire
-activa el modo de salida 7.5 IRE
-.IPs no75ire
-desactiva el modo de salida 7.5 IRE (por defecto)
-.IPs bw\ \ \
-salida de TV b/\:n
-.IPs color
-salida de TV en color (por defecto)
-.IPs interlaced
-salida de TV entrelazada (por defecto)
-.IPs nointerlaced
-desactiva la salida de TV entrelazada
-.IPs norm=<valor>
-norma de TV (ntsc (por defecto), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-establece el modo de pixel a cuadrado
-.IPs ccir601-pixel
-establece el modo de pixel a ccir601
-.RE
-.RS
-.sp 1
-.I superposición
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-Establece el valor de recorte por la izquierda (por defecto: 50).
-.IPs cr-right=<0\-500>
-Establece el valor de recorte por la derecha (por defecto: 300).
-.IPs cr-top=<0\-500>
-Establece el valor de recorte por arriba (por defecto: 0).
-.IPs cr-bottom=<0\-500>
-Establece el valor de recorte desde abajo (por defecto: 0).
-.IPs ck-[r|g|b]=<0\-255>
-Establece la ganancia de color de superposición en r(ed) (rojo),
-g(reen) (verde) o b(lue) (azul).
-.IPs ck-[r|g|b]min=<0\-255>
-valor mínimo para para la clave de color respectiva
-.IPs ck-[r|g|b]max=<0\-255>
-valor máximo para la clave de color respectiva
-.IPs ignore-cache
-Ignora la caché de configuración de superposición.
-.IPs update-cache
-Actualiza la caché de configuración de superposición.
-.IPs ol-osd
-Activa información en pantalla en superposición.
-.IPs nool-osd
-Desactiva información en pantalla en superposición (por defecto).
-.IPs ol[h|w|x|y]-cor=<\-20\-20>
-Ajusta el tamaño de superposición (h, w) y posición (x, y) en caso
-de que no coincida con la ventana perfectamente (por defecto: 0).
-.IPs overlay
-Activa superposición (por defecto).
-.IPs nooverlay
-Activa la salida de TV.
-.IPs overlay-ratio=<1\-2500>
-Afina la superposición (por defecto 1000).
-.RE
-.
-.TP
-.B \-fbmode <nombredelmodo> (\-vo fbdev solamente)
-Cambia el modo de vídeo al que se haya denominado como <nombredelmodo>
-en /etc/\:fb.modes.
-.br
-.I NOTA:
-El framebuffer VESA no soporta el cambio de modo.
-.
-.TP
-.B \-fbmodeconfig <nombrearchivo> (\-vo fbdev solamente)
-Usa este archivo de configuración en lugar del archivo de configuración (por
-defecto: /etc/\:fb.modes).
-.
-.TP
-.B \-fs (vea también \-zoom)
-Reproducción a pantalla completa (centra la película, y crea bandas
-negras alrededor).
-No está soportado por todos los controladores de salida de vídeo.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (OBSOLETO, use la opción \-fs)
-Pruebe esta opción si continúa teniendo problemas en pantalla completa.
-.
-.TP
-.B \-fstype <tipo1,tipo2,...> (X11 solamente)
-Especifica una lista de prioridad de los modos de pantalla completa que serán
-usados.
-Puede negar modos usando el prefijo '\-'.
-Si tiene problemas como por ejemplo que la ventana en pantalla completa sea
-cubierta por otras ventanas intente usar un orden distinto.
-.br
-.I NOTA:
-Vea \-fstype help para una lista completa de los modos disponibles.
-.sp 1
-Los tipos disponibles son:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-Usa _NETWM_STATE_ABOVE si está disponible.
-.IPs below
-Usa _NETWM_STATE_BELOW si está disponible.
-.IPs fullscreen
-Usa _NETWM_STATE_FULLSCREEN si está disponible.
-.IPs layer
-Usa _WIN_LAYER con la capa por defecto.
-.IPs layer=<0..15>
-Usa _WIN_LAYER con el número de capa indicado.
-.IPs netwm
-Fuerza estilo NETWM.
-.IPs "none\ "
-No establece una capa de ventana de pantalla completa.
-.IPs stays_on_top
-Usa _NETWM_STATE_STAYS_ON_TOP si está disponible.
-.REss
-.sp 1
-.RS
-.I EJEMPLO:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-Orden por defecto, se usará en caso de especificar modos incorrectos o no
-soportados.
-.IPs \-fullscreen
-Fija el cambio a pantalla completa en OpenBox 1.x.
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] or [WxH][+x+y]
-Ajusta donde estará la salida en la pantalla inicialmente.
-Las especificaciones x e y son medidas en pixels desde arriba-izquierda de la
-pantalla hasta arriba-izquierda de la imagen que será mostrada, sin embargo
-si se indica el signo de porcentaje después del argumento el valor se toma
-como un porcentaje del tamaño de la pantalla en esa dirección.
-También soporta el formato de opción estándar de X11 \-geometry.
-Si se especifica una ventana externa usando la opción \-wid entonces las
-coordenadas x e y son relativas a la posición arriba-izquierda de esa ventana en
-vez de la pantalla
-.br
-.I NOTA:
-Esta opción está solo soportada por los controladores de salida de vídeo
-x11, xmga, xv, xvmc, xvidix, gl, gl2, directx y tdfxfb.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs 50:40
-Coloca la ventana en x=50, y=40.
-.IPs 50%:50%
-Coloca la ventana en la mitad de la pantalla.
-.IPs "100%\ "
-Coloca la ventana en la esquina superior izquierda de la pantalla.
-.IPs 100%:100%
-Coloca la ventana en la esquina inferior izquierda de la pantalla.
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <id\ de\ ventana> (vea también \-wid) (GUI solamente)
-Esto le dice al GUI que use una ventana X11 y se pegue debajo del vídeo,
-lo cual es útil para embeber en un navegador un mini-GUI (con
-la extensión MPlayer por ejemplo).
-.
-.TP
-.B \-hue <\-100\-100>
-Ajusta el matiz de la señal de vídeo (por defecto: 0).
-Puede obtener colores inversos en la imagen con esta opción.
-No está soportado por todos los controladores de salida de vídeo.
-.
-.TP
-.B \-monitor\-dotclock <rango[,rango,...]> (\-vo fbdev y vesa solamente)
-Especifica el rango de dotclock o pixelclock del monitor.
-.
-.TP
-.B \-monitor\-hfreq <rango[,rango,...]> (\-vo fbdev y vesa solamente)
-Especifica el rango de frecuencia horizontal del monitor.
-.
-.TP
-.B \-monitor\-vfreq <rango[,rango,...]> (\-vo fbdev y vesa solamente)
-Especifica el rango de frecuencia vertical del monitor.
-.
-.TP
-.B \-monitoraspect <razón> (vea también \-aspect)
-Establece la razón de aspecto de su monitor o pantalla de TV.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-\-monitoraspect 4:3 o 1.3333
-.br
-\-monitoraspect 16:9 o 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <razón> (vea también \-aspect)
-Establece el aspecto de un único pixel de su monitor o pantalla de televisión
-(por defecto: desactivado).
-Invalida la opción \-monitoraspect .
-Un valor de 0 la inhabilita, un valor de 1 significa pixels cuadrados
-(correcto para (¿casi?) todos los LCDs).
-.
-.TP
-.B \-nodouble
-Desactiva el almacenamiento de imágenes doble, principalmente con propósitos de
-depuración. El almacenamiento de imágenes doble soluciona los problemas de
-parpadeo almacenando dos imágenes en memoria y mostrando una mientras decodifica
-la otra.
-Puede afectar al OSD negativamente, pero a menudo elimina el parpadeo del OSD.
-.
-.TP
-.B \-nograbpointer
-No capturar el puntero del ratón después de cambiar el modo de video (\-vm).
-Útil en una configuración multicabeza.
-.
-.TP
-.B \-nokeepaspect
-No mantiene la razón de aspecto cuando se cambia el tamaño de las ventanas.
-Solo funciona con los controladores de salida de vídeo x11, xv, xmga, xvidix,
-y directx.
-Además bajo X11 su administrador de ventanas necesita entender los consejos
-de aspecto de ventana.
-.
-.TP
-.B \-ontop
-Hace que la ventana de reproducción se quede por encima de las otras ventanas.
-Soportado por controladores que usen X11, excepto SDL, así como directx,corevideo,
-quartz, ggi y gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-Activa funcionalidad pan y scan (recortando los lados de por ejemplo una
-película a 16:9 para ajustarla a una pantalla 4:3 sin bandas negras).
-.br
-El rango controla cuánto de la imagen será recortado.
-Sólo funciona con los controladores de salida de vídeo xv, xmga, mga, gl, gl2,
-quartz, corevideo y xvidix.
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (experimental)
-Cambia el rango de la funcionalidad pan y scan (por defecto: 1).
-Valores positivos significan múltiplos del rango por defecto.
-Con valores negativos puede hacer zoom hasta un factor de \-panscanrange+1.
-P.e. \-panscanrange \-3 permite un factor de zoom de hasta 4.
-Esta característica es experimental.
-No reporte errores a menos que esté usando \-vo gl.
-.
-.TP
-.B \-refreshrate <Hz>
-Establece la frecuencia de refresco del monitor en Hz.
-Actualmente solo está soportado por \-vo directx combinado con la opción
-\-vm.
-.
-.TP
-.B \-rootwin
-Reproduce la película en la ventana raíz (fondo de escritorio).
-Las imágenes del fondo de escritorio pueden cubrir sin embargo a la ventana
-de la película.
-Funciona sólo con los controladores de salida de vídeo x11, xv, xmga,
-xvidix, quartz, corevideo y directx.
-.
-.TP
-.B \-saturation <\-100\-100>
-Ajusta la saturación de la salida de vídeo (por defecto: 0).
-Puede obtener salida en escala de grises con esta opción.
-No está soportado por todos los controladores de vídeo de salida
-.
-.TP
-.B \-screenh <pixels>
-Especifica la resolución vertical de la pantalla para los controladores
-de salida de vídeo que no conozcan esta resolución como fbdev, x11 y TVout.
-.
-.TP
-.B \-screenw <pixels>
-Especifica la resolución horizontal de la pantalla para los controladores
-de salida de vídeo que no conozcan esta resolución como fbdev, x11 y TVout.
-.
-.TP
-.B \-stop\-xscreensaver (X11 solamente)
-Desactiva el protector de pantalla al comienzo y lo vuelve a activar
-al finalizar.
-.
-.TP
-.B "\-vm \ \ \ "
-Intenta cambiar a un modo de vídeo diferente.
-Soportado por los controladores de salida de vídeo dga, x11, xv, sdl y
-directx.
-Si se usa con el controlador de salida de vídeo de directx las opciones
-\-screenw, \-screenh, \-bpp y \-refreshrate pueden usarse para establecer
-un nuevo modo de pantalla.
-.
-.TP
-.B "\-vsync \ \ "
-Activa VBI para los controladores de salida de vídeo vesa, dfbmga y svga.
-.
-.TP
-.B \-wid <id\ de\ ventana> (vea también \-guiwid) (sólo X11, OpenGL y DirectX)
-Le dice a MPlayer que use una ventana existente.
-Útil para embeber MPlayer en un navegador (con la extensión plugger por
-ejemplo).
-.
-.TP
-.B \-xineramascreen <\-2\-...> (X11 only)
-En configuraciones de Xinerama (p.e.\& un único escritorio que se extiende sobre
-múltiples pantallas) esta opción le dice a MPlayer en qué pantalla ha de
-reproducir la película.
-Un valor de \-2 significa pantalla completa a través de todo el dispositivo
-virtual, \-1 significa pantalla completa en el dispositivo en el que está la
-ventana actual.
-La posición inicial especificada con la opción \-geometry es relativa a la
-pantalla especificada.
-Normalmente sólo funcionara con "\-fstype \-fullscreen" o "\-fstype none".
-.
-.TP
-.B \-zrbw (\-vo zr solamente)
-Muestra en blanco y negro.
-Para rendimiento óptimo, esta opción puede combinarse con '\-lavdopts gray'.
-.
-.TP
-.B \-zrcrop <[ancho]x[alto]+[desplazamiento x]+[desplazamiento y]> (\-vo zr\
- solamente)
-Selecciona una parte de la imagen de entrada para mostrar, se puede usar
-esta opción varias veces para cambiar en modo cinerama.
-En el modo cinerama la película es distribuida sobre más de una TV (o
-proyectores) para crear una pantalla mayor.
-Las opciones que aparecen después de n-ésimo \-zrcrop se aplican a la tarjeta
-MJPEG n\-ésima, cada tarjeta debe tener al menos un \-zrdev adicionalmente a
-\-zrcrop.
-Para ejemplos, vea la salida de \-zrhelp y la sección Zr de la documentación.
-.
-.TP
-.B \-zrdev <dispositivo> (\-vo zr solamente)
-Especifica el archivo especial de dispositivo que corresponde a su tarjeta
-MJPEG, por defecto el controlador zr toma el primer dispositivo v4l que
-encuentra.
-.
-.TP
-.B \-zrfd (\-vo zr solamente)
-Fuerza decimación: Decimación, como se especifica por \-zrhdec y \-zrvdec,
-solamente ocurre si el escalador hardware puede ajustar el tamaño de la
-imagen a su tamaño original. Use esta opción para forzar la decimación.
-.
-.TP
-.B \-zrhdec <1,2,4> (\-vo zr solamente)
-Decimación horizontal: Pide al controlador que envíe solo cada 2 o 4
-líneas/\:pixels de la imagen de entrada a la tarjeta MJPEG y usa el escalador
-de la tarjeta MJPEG para ajustar la imagen a su tamaño original.
-.
-.TP
-.B \-zrhelp (\-vo zr solamente)
-Muestra una lista de todas las opciones de \-zr*, sus valores por defecto
-y un ejemplo del modo cinerama.
-.
-.TP
-.B \-zrnorm <norma> (\-vo zr solamente)
-Especifica la norma de TV PAL o NTSC (por defecto: sin cambios).
-.
-.TP
-.B \-zrquality <1\-20> (\-vo zr solamente)
-Un número de 1 (mejor) a 20 (peor) representando la calidad de codificación
-JPEG.
-.
-.TP
-.B \-zrvdec <1|2|4> (\-vo zr solamente)
-Decimación vertical: Pide al controlador que envíe solo cada 2 o 4
-líneas/\:pixels de la imagen de entrada a la tarjeta MJPEG y usa el
-escalador de la tarjeta MJPEG para ajustar el tamaño de la imagen a su
-tamaño original.
-.
-.TP
-.B \-zrxdoff <desplazamiento x de la imagen> (\-vo zr solamente)
-Si la película es menor que la pantalla de TV, esta opción especifica
-la posición x de la película relativa a la esquina superior izquierda de
-la pantalla (por defecto: centrado).
-.
-.TP
-.B \-zrydoff <desplazamiento y de la imagen> (\-vo zr solamente)
-Si la película es menor que la pantalla de TV, esta opción especifica
-la posición y de la película relativa a la esquina superior izquierda de
-la pantalla (por defecto: centrado).
-.
-.
-.
-.SH "CONTROLADORES DE SALIDA DE VÍDEO (SOLAMENTE MPLAYER)"
-Los controladores de salida de vídeo son interfaces para las distintas
-facilidades de salida de vídeo.
-La sintaxis es:
-.
-.TP
-.B \-vo <controlador1[:subopción1[=valor]:...],controlador2,...[,]>
-Especifica una lista prioritaria de controladores de vídeo.
-.PP
-Si la lista tiene una ',' al final se probarán después otros controladores
-no listados en la línea de órdenes.
-Las subopciones son opcionales y en su mayoría pueden omitirse.
-.br
-.I NOTA:
-Vea \-vo help para una lista de controladores de vídeo compilados.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Prueba el controlador Matrox X11, luego el controlador Xv y luego los otros.
-.IPs "\-vo directx:noaccel"
-Usa el controlador DirectX con las características de aceleración
-desactivadas.
-.RE
-.PD 1
-.sp 1
-Los controladores de salida disponibles son:
-.
-.TP
-.B xv (solamente X11)
-Usa la extensión XVideo de XFree86 4.x para activar la reproducción acelerada
-por hardware.
-Si no puede usar un controlador de vídeo específico para su hardware,
-probablemente esta sea la mejor opción.
-Para obtener información a cerca de lo que es la clave de color y como se dibuja
-ejecute MPlayer con la opción \-v y mire las líneas marcadas con [xv common] al
-comienzo.
-.PD 0
-.RSs
-.IPs port=<número>
-Selecciona el puerto de XVideo específico.
-.IPs ck=<cur|use|set>
-Selecciona el origen del que se obtiene la clave de color (por defecto: cur).
-.RSss
-.IPs cur
-Por defecto obtiene la clave de color seleccionada en Xv.
-.IPs use
-Usa pero no establece la clave de color de MPlayer (use la opción \-colorkey
-para cambiarla).
-.IPs set
-Lo mismo que use pero también establece la clave de color proporcionada.
-.RE
-.IPs ck-method=<man|bg|auto>
-Establece el método de dibujado de la clave de color (por defecto: man).
-.RSss
-.IPs man
-Dibuja la clave de color manualmente (reduce el parpadeo en algunos casos).
-.IPs bg
-Establece la clave de color como la ventana de fondo.
-.IPs auto
-Deja que Xv dibuje la clave de color.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (solamente X11)
-Controlador de salida de vídeo de memoria compartida sin aceleración hardware
-que funciona en cualquier X11 que esté presente.
-.
-.TP
-.B xover (solamente X11)
-Añade soporte X11 a todos los controladores de salida de vídeo basados
-en recubrimiento.
-Actualmente sólo soportado por tdfx_vid.
-.PD 0
-.RSs
-.IPs <vo_driver>
-Selecciona el controlador como fuente para usarlo como recubrimiento de X11
-.RE
-.PD 1
-.
-.TP
-.B xvmc (X11, \-vc ffmpeg12mc solamente)
-Este controlador de salida de vídeo usa la extensión XvMC (X Video
-Motion Compensation) de XFree86 4.x para acelerar la decodificación
-MPEG1/\:2 y VCR2.
-.PD 0
-.RSs
-.IPs port=<número>
-Selecciona un puerto específico de XVideo.
-.IPs (no)benchmark
-Inhabilita el visionado de imágenes.
-Necesario para hacer bien las pruebas de rendimiento de controladores
-que cambian los almacenes de imagen en el trazo del monitor solamente
-(nVidia).
-La opción por defecto es no inhabilitar el visionado de imágenes (nobenchmark).
-.IPs (no)bobdeint
-Un desentrelazador muy simple.
-Puede que no se vea mejor que \-vf tfields=1,
-pero es el único desentrelazador para xvmc (por defecto: nobobdeint).
-.IPs (no)queue
-Encola imágenes para mostrar para permitir más trabajo paralelo del
-hardware de vídeo.
-Puede añadir una pequeña (no apreciable) desincronización de A/\:V
-(por defecto: noqueue).
-.IPs (no)sleep
-Usa la función sleep mientras espera a que termine el renderizado (no
-recomendado en Linux). (por defecto: nosleep).
-.IPs ck=cur|use|set
-Lo mismo que \-vo xv:ck (vea \-vo xv).
-.IPs ck-method=man|bg|auto
-Lo mismo que \-vo xv:ck-method (vea \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B dga (solamente X11)
-Reproduce vídeo a través de la extensión XFree86 Direct Graphics Access.
-Se considera obsoleto.
-.
-.TP
-.B sdl (SDL solamente)
-Biblioteca de controlador de salida de vídeo SDL (Simple Directmedia Layer)
-altamente independiente de la plataforma.
-Dado que SDL usa su propia capa para acceder a X11, las opciones X11 de MPlayer
-no tienen ningún efecto sobre sdl.
-.PD 0
-.RSs
-.IPs driver=<controlador>
-Especifica el controlador que usará SDL.
-.IPs (no)forcexv
-Usa XVideo a través del controlador de salida de vídeo sdl (por defecto:
-forcexv).
-.IPs (no)hwaccel
-Usa el escalador acelerado por hardware (por defecto: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX) es una interfaz para las características
-de aceleración de vídeo de las diferentes tarjetas gráficas.
-Controlador de salida de vídeo muy rápido en tarjetas que lo soporten.
-.PD 0
-.RSs
-.IPs <subdevice>
-Elige explícitamente el dispositivo VIDIX en el controlador que se
-está usando.
-Los controladores disponibles son cyberblade, mach64, mga_crtc2,
-mga, nvidia, pm2, pm3, radeon, rage128, sis y unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (solamente X11)
-Frontend X11 para VIDIX
-.PD 0
-.RSs
-.IPs <subdevice>
-lo mismo que vidix
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-Frontend genérico e independiente de plataforma para VIDIX, puede incluso
-funcionar en una consola de texto con tarjetas nVidia.
-.PD 0
-.RSs
-.IPs <subdevice>
-lo mismo que vidix
-.RE
-.PD 1
-.TP
-.B winvidix (solamente Windows)
-Frontend de Windows para VIDIX
-.PD 0
-.RSs
-.IPs <subdevice>
-lo mismo que vidix
-.RE
-.PD 1
-.
-.TP
-.B directx (solamente Windows)
-Controlador de salida de vídeo que usa la interfaz DirectX.
-.PD 0
-.RSs
-.IPs noaccel
-Desactiva la aceleración hardware.
-Pruebe esta opción si tiene problemas con la representación en pantalla.
-.RE
-.PD 1
-.TP
-.B quartz (Mac OS X solamente)
-Controlador de salida de vídeo Mac OS X Quartz.
-Bajo algunas circunstancias, puede ser más eficiente forzar un formato
-de salida YUV empaquetado, con p.e.\& \-vf format=yuy2.
-.PD 0
-.RSs
-.IPs device_id=<número>
-Elige el dispositivo de salida a usar en pantalla completa.
-.IPs fs_res=<ancho>:<alto>
-Especifica la resolución a pantalla completa (útil en sistemas lentos).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 o 10.3.9 con QuickTime 7)
-Controlador de salida de vídeo Mac OS X CoreVideo.
-.PD 0
-.RSs
-.IPs device_id=<número>
-Elige el dispositivo de salida a usar en pantalla completa.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (solamente Linux)
-Usa el framebuffer del kernel para la reproducir vídeo.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el nombre del dispositivo fbdev a usar (p.e.\& /dev/\:fb0) o el
-nombre del dispositivo VIDIX si el nombre del dispositivo comienza con 'vidix'
-(p.e.\& 'vidixsis_vid' para el controlador sis).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (solamente Linux)
-Usa el framebuffer del kernel para reproducir vídeo,
-implementación alternativa.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el nombre del dispositivo fbdev a usar (p.e.\& /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Controlador de salida de vídeo muy general que debe funcionar en cualquier
-tarjeta compatible con VESA VBE 2.0.
-.PD 0
-.RSs
-.IPs (no)dga
-Activa o desactiva el modo DGA (por defecto: activado).
-.IPs neotv_pal
-Activa la salida NeoMagic TV y establece el modo PAL.
-.IPs neotv_ntsc
-Activa la salida NeoMagic TV y establece el modo NTSC.
-.IPs vidix
-Usa el controlador VIDIX.
-.IPs "lvo\ \ "
-Activa el recubrimiento de Vídeo Linux para el modo VESA.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-Reproduce vídeo usando la biblioteca SVGA.
-.PD 0
-.RSs
-.IPs "<modo de vídeo>"
-Especifica el modo de vídeo.
-El modo de vídeo se puede dar en la forma <ancho>x<alto>x<colores>,
-por ejemplo 640x480x16M o por un número de modo de vídeo como por ejemplo 84.
-.IPs bbosd
-Dibuja OSD dentro de las bandas negras bajo la película (más lento).
-.IPs native
-Utiliza sólo las funciones de dibujo nativas.
-Evita renderizado directo, OSD y aceleración hardware.
-.IPs retrace
-Fuerza el cambio de imagen en el repintado vertical.
-Sólo se puede usar con \-double.
-Tiene el mismo efecto que la opción \-vsync.
-.IPs "sq\ \ \ "
-Prueba el modo de vídeo con pixels cuadrados.
-.IPs vidix
-Usa svga con VIDIX.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-Controlador de salida de vídeo OpenGL, es una versión muy simple.
-El tamaño del vídeo debe ser menor que el tamaño máximo de la textura
-de su implementación OpenGL.
-Está hecho para que trabaje incluso con las implementaciones de OpenGL
-más simples, pero también hace uso de las nuevas extensiones, que permite
-soporte para mas espacios de color y renderizado directo.
-Por favor use \-dr si funciona con su implementación OpenGL, dado que para
-mayores resoluciones esto supone una
-.B gran
-mejora de la velocidad.
-El código realiza muy pocas comprobaciones, así que si una característica no
-funciona puede ser debido a que no está soportada por su tarjeta/implementación
-OpenGL incluso si no obtiene ningún mensaje de error.
-Use glxinfo o una herramienta similar para comprobar las extensiones OpenGL que
-soporta su sistema.
-.PD 0
-.RSs
-.IPs (no)scaled-osd
-Cambia la manera en la que se comporta el OSD cuando cambia el tamaño de
-la ventana (por defecto: desactivado).
-Cuando se activa se comporta de forma parecida al resto de controladores, lo
-cual es mejor para las fuentes fixed-size.
-Cuando se desactiva se ve mucho mejor con las fuentes FreeType, además usa los
-bordes en el modo de pantalla completa.
-No funciona correctamente con el formato de subtítulos ass (vea \-ass), puede
-renderizarlos sin soporte de OpenGL usando \-vf ass.
-.IPs osdcolor=<0xRRGGBB>
-Color para el OSD (por defecto: 0xffffff, corresponde al color blanco).
-.IPs rectangle=<0,1,2>
-Selecciona el uso de texturas rectangulares que ahorran RAM, pero a menudo es
-más lento (por defecto: 0).
-.RSss
-0: Usa texturas potencias-de-dos (por defecto).
-.br
-1: Usa la extensión GL_ARB_texture_rectangle.
-.br
-2: Usa la extensión GL_ARB_texture_non_power_of_two.
-En algunos casos esta extensión sólo se soporta por software y por lo tanto es
-muy lenta.
-.RE
-.IPs swapinterval=<n>
-Intervalo mínimo entre dos intercambios de memoria, se cuenta en frames
-mostrados (por defecto: 1).
-1 es equivalente a activar VSYNC, 0 para desactivar VSYNC.
-Valores por debajo de 0 la dejarán al valor por defecto del sistema.
-Esto limita el ratio de imágenes a (tasa de refresco horizontal / n).
-Requiere el soporte GLX_SGI_swap_control para funcionar.
-Con algunas (casi todas?) implementaciones esto sólo funciona en el modo de
-pantalla completa.
-.IPs yuv=<n>
-Selecciona el tipo de conversión de YUV a RGB.
-.RSss
-0: Usa conversión por software (por defecto).
-Compatible con todas las versiones de OpenGL.
-Provee control para el brillo, contraste y saturación.
-.br
-1: Usa register combiners.
-Esto usa una extensión específica de nVidia (GL_NV_register_combiners).
-Al menos se necesitan tres unidades de texturas.
-Provee control para la saturación y la tonalidad.
-Este método es rápido pero inexacto.
-.br
-2: Usa un fragment program.
-Necesita la extensión GL_ARB_fragment_program y al menos tres unidades de
-textura.
-Provee control para brillo, contraste, saturación y tonalidad.
-.br
-3: Usa un fragment program utilizando la instrucción POW.
-Necesita la extensión GL_ARB_fragment_program y al menos tres unidades de
-textura.
-Provee control para brillo, contraste, saturación, tonalidad y gamma.
-La opción gamma se puede establecer independientemente para el rojo, verde y
-azul.
-El método número 4 es normalmente más rápido.
-.br
-4: Usa un fragment program con búsqueda adicional.
-Necesita la extensión GL_ARB_fragment_program y al menos tres unidades de
-textura.
-Provee control para brillo, contraste, saturación, tonalidad y gamma.
-La opción gamma se puede establecer independientemente para el rojo, verde y
-azul.
-.br
-5: Usa un método específico de ATI (para tarjetas antiguas).
-Esto usa una extensión específica de ATI (GL_ATI_fragment_shader \- no
-GL_ARB_fragment_shader!).
-Al menos se necesitan tres unidades de textura.
-Provee control de saturación y tonalidad.
-Este método es rápido pero inexacto.
-.br
-6: Usa una textura 3D para hacer una conversión por búsqueda.
-Necesita la extensión GL_ARB_fragment_program y al menos cuatro unidades de
-textura.
-Extremadamente lento (emulación por software) en algunas (¿todas?) las tarjetas
-ATI dado que usan una textura con border pixels.
-Provee control para brillo, contraste, saturación, tonalidad y gamma.
-La opción gamma se puede establecer independientemente para el rojo, verde y
-azul.
-La velocidad depende más del ancho de banda de la memoria de la GPU que el resto
-de métodos.
-.RE
-.IPs lscale=<n>
-Selecciona la función de escalado a usar para el escalado luminiscente.
-Únicamente válido para los modos yuv 2, 3, 4 y 6.
-.RSss
-0: Usa un simple filtro linear (por defecto).
-.br
-1: Usa un filtro bicúbico (mayor calidad).
-Necesita una unidad de textura adicional.
-Las tarjetas antiguas no serán capaces de manejarlo para el chroma al menos en
-el modo de pantalla completa.
-.br
-2: Usa un método de filtrado cúbico en horizontal y lineal en vertical.
-Funciona en algunas tarjetas más que el método 1.
-.RE
-.IPs cscale=<n>
-Selecciona la función de escalado a usar para el escalado del chroma.
-Para más detalles vea lscale.
-.IPs customprog=<nombre fichero>
-Carga un fragmento de programa propio desde <nombre fichero>.
-Vea TOOLS/edgedect.fp para un ejemplo.
-.IPs customtex=<nombre fichero>
-Carga una textura "gamma ramp" propia desde <nombre fichero>.
-Esto se puede usar junto con yuv=4 o con la opción customprog.
-.IPs (no)customtlin
-Si se activa (por defecto) usa la interpolación GL_LINEAR, en otro caso usa
-GL_NEAREST para la textura customtex.
-.IPs (no)customtrect
-Si se activa usa texture_rectangle para la textura customtex.
-Por defecto está desactivada.
-.RE
-.sp 1
-.RS
-Normalmente no hay razón para usar las siguientes opciones, únicamente existen
-con propósitos de prueba.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-LLama a glFinish() antes de intercambiar las zonas de memoria.
-Más lento pero en algunos casos da una salida mejor (por defecto: desactivado).
-.IPs (no)manyfmts
-Activa soporte para más (RGB y BGR) formatos de color (por defecto: activado).
-Necesita una versión de OpenGL >= 1.2.
-.IPs slice-height=<0\-...>
-Número de líneas copiadas a la textura en una pieza (por defecto: 4).
-0 para la imagen entera.
-.br
-.I NOTA:
-Si se usa el espacio de color YUV (vea la opción yuv), se aplican las siguientes
-reglas especiales:
-.RSss
-Si el decodificador usa el renderizado por partes (vea \-noslices), esta opción
-no tiene efecto, se utiliza el tamaño de las partes proporcionado por el
-decodificador.
-.br
-Si el decodificador no usa el renderizado por partes, por defecto se usan 16.
-.RE
-.IPs (no)osd
-Activa o desactiva el soporte para el renderizado OSD usando OpenGL (por defecto:
-activado).
-Esta opción se usa para pruebas; para desactivar el OSD use \-osdlevel 0.
-.IPs (no)aspect
-Activa o desactiva el aspecto del escalado y el soporte pan-and-scan (por
-defecto: activado).
-Desactivarlo puede incrementar la velocidad.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Controlador de salida de vídeo de OpenGL, segunda generación.
-Soporta OSD y vídeos más grandes que el tamaño máximo de la textura.
-.PD 0
-.RSs
-.IPs (no)glfinish
-lo mismo que gl (por defecto: activado)
-.IPs yuv=<n>
-Selecciona el tipo de conversión de YUV a RGB.
-Si se configura a algo que no sea 0, el OSD estará desactivado y las opciones de
-brillo, contraste y gamma sólo serán accesibles a través de la configuración
-global del servidor X.
-Exceptuando estos casos tiene el mismo significado que para \-vo gl.
-.REss
-.
-.TP
-.B "null\ \ \ "
-No produce salida de vídeo.
-Útil para pruebas de rendimiento.
-.
-.TP
-.B "aa\ \ \ \ \ "
-Controlador de salida de vídeo ASCII art que funciona en una consola de texto.
-Puede obtener una lista y una explicación de las opciones disponibles para el
-controlador ejecutando
-.I mplayer \-vo aa:help
-.
-.TP
-.B "caca\ \ \ "
-Controlador de salida de vídeo ASCII art coloreado que funciona en una
-consola de texto.
-.
-.TP
-.B "bl\ \ \ \ \ "
-Reproducción de vídeo usando el protocolo UDP Blinkenlights.
-Este controlador es altamente dependiente de hardware específico.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el dispositivo Blinkenlights que se usará.
-es algo como arcade:host=localhost:2323 o
-hdl:file=name1,file=name2.
-Debe especificar un dispositivo.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-Controlador de salida de vídeo del sistema gráfico GGI.
-.PD 0
-.RSs
-.IPs <controlador>
-Especifica el controlador GGI que se usará.
-Reemplace cualquier ',' que aparezca en la cadena del driver por un '.'.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-Reproduce vídeo usando la biblioteca DirectFB.
-.PD 0
-.RSs
-.IPs (no)input
-Usa el código de teclado de DirectFB en lugar del de MPlayer
-(por defecto: activado).
-.IPs buffermode=single|double|triple
-Doble y triple buffer da mejores resultados si quiere evitar problemas de
-desgarros de imagen. El buffer triple es más eficiente que el doble buffer
-ya que no bloquea MPlayer mientras se espera al refresco vertical.
-El buffer simple debe evitarse (por defecto: single).
-.IPs fieldparity=top|bottom
-Controla el orden de salida de los marcos entrelazados (por defecto: desactivado).
-Valores válidos son top = campos superiores primero, bottom = campos
-inferiores primero.
-Esta opción no tiene ningún efecto en material fílmico progresivo como
-lo son la mayoría de las películas MPEG.
-Necesitará activar esta opción si tiene problemas de desgarros de
-imagen/\:movimientos
-no suaves mientras visualiza material entrelazado.
-.IPs layer=N
-Forzará la capa con id N para la reproducción (por defecto: \-1 \- auto).
-.IPs dfbopts=<list>
-Especifica una lista de parámetros para DirectFB.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Controlador específico de salida de vídeo de Matrox G400/\:G450/\:G550 que usa
-la biblioteca DirectFB para poder usar las características especiales de
-hardware.
-Activa CRTC2 (segundo monitor), mostrando el vídeo independientemente
-del primer monitor.
-.PD 0
-.RSs
-.IPs (no)input
-lo mismo que directfb (por defecto: desactivado).
-.IPs buffermode=single|double|triple
-lo mismo que directfb (por defecto: triple).
-.IPs fieldparity=top|bottom
-lo mismo que directfb.
-.IPs (no)bes
-Activa el uso de Matrox BES (backend scaler) (por defecto: desactivado).
-Obtiene resultados muy buenos en lo que concierne a velocidad y calidad
-de la salida como procesado interpolado de la imagen hecho mediante hardware.
-Funciona sólo en el monitor primario.
-.IPs (no)spic
-Hace uso de la capa sub imagen de Matrox para mostrar el OSD (por defecto: activado).
-.IPs (no)crtc2
-Activa la salida TV en el segundo monitor (por defecto: activado).
-La calidad de la salida es muy buena y es una imagen completamente
-entrelazada con sincronización correcta en cada campo par/\:impar.
-.IPs tvnorm=pal|ntsc|auto
-Establece la norma TV de la tarjeta Matrox sin la necesidad de modificar
-/etc/\:directfbrc (por defecto: desactivado).
-Normas válidas son pal = PAL, ntsc = NTSC. Una norma especial
-es auto (auto-ajusta el uso de PAL/\:NTSC) porque decide qué norma se usa
-mirando la tasa de marcos de imagen de la película.
-.RE
-.PD 1
-.
-.TP
-.B mga (solamente Linux)
-Controlador de salida de vídeo específico de Matrox que hace uso del backend
-scaler YUV en tarjetas Gxxx a través del módulo del kernel.
-Si tiene una tarjeta Matrox, esta es la opción más rápida.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el nombre de dispositivo Matrox que se usará (por defecto:
-/dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (solamente Linux, X11)
-El controlador de salida de vídeo mga, funcionando en una ventana X11.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el nombre de dispositivo Matrox que se usará (por defecto:
-/dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (solamente Linux) (vea también \-vf yuv2 y \-dr)
-Controlador de salida de vídeo específico para S3 Virge.
-Este controlador soporta las características de conversión y escalado YUV de
-la tarjeta, doble almacenamiento de memoria y renderizado directo.
-Use \-vf yuy2 para obtener renderizado YUY2 acelerado por hardware que es mucho
-más rápido que YV12 en esta tarjeta.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el nombre de dispositivo fbdev que se usará
-(por defecto: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B 3dfx (solamente Linux)
-Controlador de salida de vídeo específico para 3Dfx que usa directamente el
-hardware por encima de X11.
-Únicamente se soportan 16 bpp.
-.
-.TP
-.B tdfxfb (solamente Linux)
-Este controlador emplea el framebuffer tdfx para reproducir las películas
-con aceleración YUV en las tarjetas 3dfx.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el nombre de dispositivo fbdev que se usará
-(por defecto: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (solamente Linux)
-Controlador de salida de vídeo específico para 3Dfx.
-Funciona conjuntamente con el módulo del kernel.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Especifica el nombre de dispositivo fbdev que se usará
-(por defecto: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (vea también \-dxr2) (DXR2 solamente)
-Controlador de salida de vídeo específico para Creative DXR2.
-.PD 0
-.RSs
-.IPs <controlador vídeo>
-Controlador de vídeo para usar como overlay (x11, xv).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (DXR3 solamente)
-Controlador de salida de vídeo específico para el chip decodificador Sigma
-Design em8300 MPEG (Creative DXR3, Sigma Designs Hollywood Plus).
-Vea también el filtro de video lavc.
-.PD 0
-.RSs
-.IPs overlay
-Activa overlay en lugar de TVOut.
-.IPs prebuf
-Activa prebuffering.
-.IPs "sync\ "
-Activa el nuevo motor de sincronización.
-.IPs norm=<norm>
-Especifica la norma de TV.
-.RSss
-0: No cambia la norma actual (por defecto).
-.br
-1: Auto-ajusta usando PAL/\:NTSC.
-.br
-2: Auto-ajusta usando PAL/\:PAL-60.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.REss
-.IPs <0\-3>
-Especifica el número de dispositivo a usar si su hardware tiene más de una
-tarjeta em8300.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (IVTV only)
-Conexant CX23415 (iCompression iTVC15) o Conexant CX23416 (iCompression
-iTVC16) chip de decodificación MPEG (Hauppauge WinTV PVR-150/250/350/500)
-controlador de vídeo específico para salida de TV.
-Vea también el filtro de vídeo lavc.
-.PD 0
-.RSs
-.IPs dispositivo
-Especifica el nombre del dispositivo (por defecto: /dev/video16).
-.IPs salida
-Especifica la salida de TV para la señal de vídeo.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (DVB solamente)
-Controlador de salida de vídeo específico para DVB que escribe la salida en un
-fichero MPEG-PES si no hay ninguna tarjeta DVB instalada.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Especifica el número de dispositivo a usar si tiene más de una tarjeta con
-salida DVB (sólo API V3, tales como la serie de controladores 1.x.y).
-.IPs <fichero>
-fichero de salida (por defecto: ./grab.mpg)
-.RE
-.PD 1
-.
-.TP
-.B zr (vea también \-zr* y \-zhelp)
-Controlador de salida de vídeo para unas cuantas tarjetas
-capturadoras/\:reproductoras de MJPEG.
-.
-.TP
-.B zr2 (vea también el filtro de vídeo zrmjpeg)
-Controlador de salida de vídeo para unas cuantas tarjetas
-capturadoras/\:reproductoras de MJPEG, segunda generación.
-.PD 0
-.RSs
-.IPs dev=<dispositivo>
-Especifica el dispositivo de vídeo.
-.IPs norm=<PAL|NTSC|SECAM|auto>
-Especifica la norma de vídeo (por defecto: auto).
-.IPs (no)prebuf
-Activa o desactiva el prebuffering, todavía no está soportado.
-.RE
-.PD 1
-.
-.TP
-.B "md5\ \ \ \ "
-Calcula las sumas MD5 de cada frame y las escribe en un fichero.
-Soporta los espacios de color RGB24 y YV12.
-Útil para depurar.
-.PD 0
-.RSs
-.IPs outfile=<valor>
-Permite especificar el nombre del archivo de salida (por defecto: ./md5).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-Transforma el flujo de vídeo en una secuencia de imágenes YUV 4:2:0 sin
-comprimir y las almacena en un fichero (por defecto: ./stream.yuv).
-El formato es el mismo que el empleado por mjpegtools, por lo que le será
-útil si quiere procesar el vídeo con la suite de mjpegtools.
-Soporta los formatos YV12, RGB (24 bpp) y BGR (24 bpp).
-Puede combinar la opción con el parámetro \-fixed\-vo para concatenar ficheros
-con las mismas dimensiones y valor de fps.
-.PD 0
-.RSs
-.IPs interlaced
-Escribe la salida como frames entrelazados, el campo de arriba primero.
-.IPs interlaced_bf
-Escribe la salida como frames entrelazados, el campo de abajo primero.
-.IPs file=<fichero>
-Escribe la salida a <fichero> en vez de a stream.yuv.
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTA:
-Si no especifica ninguna opción la salida es progresiva
-(p.e.\& no entrelazada).
-.RE
-.
-.TP
-.B "gif89a\ "
-Guarda cada frame en un fichero gif animado en el actual directorio.
-Sólo soporta el formato RGB con 24 bpp y la salida se convierte a 256 colores.
-.PD 0
-.RSs
-.IPs <fps>
-Numero real para especificar el framerate (por defecto: 5.0).
-.IPs <fichero>
-Especifica el fichero de salida (por defecto: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTA:
-Debe especificar el framerate antes que el nombre del fichero o el framerate
-formará parte del nombre del fichero.
-.sp 1
-.I EJEMPLO:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15.0:filename=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-Guarda cada frame en un archivo JPEG en el directorio actual.
-Cada archivo toma el número de frame completado con ceros como nombre.
-.PD 0
-.RSs
-.IPs [no]progressive
-Especifica JPEG estándar o progresivo (por defecto: noprogressive)
-.IPs [no]baseline
-Especifica el uso o no de línea base (por defecto: baseline)
-.IPs optimize=<0\-100>
-factor de optimización (por defecto: 100)
-.IPs smooth=<0\-100>
-factor de suavizado (por defecto: 0)
-.IPs quality=<0\-100>
-factor de calidad (por defecto: 75)
-.IPs outdir=<valor>
-Especifica el directorio donde se guardarán los archivos JPEG (por defecto: ./).
-.IP subdirs=<valor>
-Crea subdirectorios numerados con el prefijo dado para guardar
-los ficheros en vez de usar el directorio actual.
-.IP maxfiles=<valor>
-Número máximo de archivos JPEG que se guardarán en cada subdirectorio.
-Debe ser igual o mayor que 1 (por defecto: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Guarda cada frame en un fichero PNM en el directorio actual.
-Cada archivo toma el número de frame completado con ceros como nombre.
-Soporta ficheros PPM, PGM and PGMYUV tanto en modo crudo como modo ASCII.
-Vea también pnm(5), ppm(5) y pgm(5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-Escribre ficheros PPM (por defecto).
-.IPs "pgm\ \ "
-Escribre ficheros PGM.
-.IPs pgmyuv
-Escribre ficheros PGMYUV.
-PGMYUV es como PGM pero también contiene los planos U y V añadidos al fondo
-de la imagen.
-.IPs "raw\ \ "
-Escribe ficheros PNM en modo crudo (por defecto).
-.IPs ascii
-Escribe ficheros PNM en modo crudo ASCII.
-.IPs outdir=<directorio>
-Especifica el directorio en el que guardar los ficheros PNM (por defecto: ./).
-.IPs subdirs=<prefijo>
-Crea subdirectorios numerados con el prefijo dado para guardar
-los ficheros en vez de usar el directorio actual.
-.IPs maxfiles=<valor> (solamente subdirs)
-Número máximo de archivos que se guardarán en cada subdirectorio.
-Debe ser igual o mayor que 1 (por defecto: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Guarda cada frame en un fichero PNG en el directorio actual.
-Cada archivo toma el número de frame completado con ceros como nombre.
-se soportan los formatos 24bpp RGB y BGR.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Especifica el nivel de compresión.
-0 si no hay compresión, 9 para la máxima compresión.
-.RE
-.PD 1
-.
-.
-.TP
-.B "tga\ \ \ \ "
-Guarda cada frame en un fichero Targa en el directorio actual.
-Cada archivo toma el número de frame completado con ceros como nombre.
-El propósito de este controlador de vídeo de salida es tener un escritor de
-imágenes sin pérdidas, sencillo, que no necesite ninguna librería externa.
-Soporta el formato de color BGR[A] con 15, 24 y 32 bpp.
-Puede forzar un formato particular con el filtro de vídeo de formato.
-.sp 1
-.I EJEMPLO:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "OPCIONES DE DECODIFICADO/\:FILTRADO"
-.
-.TP
-.B \-ac <[\-|+]codec1,[\-|+]codec2,...[,]>
-Especifica una lista de prioridades de los codecs de audio,
-de acuerdo a su nombre en codecs.conf.
-Use un '\-' antes del nombre del codec para omitirlo.
-Use un '+' antes del nombre del codec para forzar su uso, ¡esto probablemente
-cause el fallo del programa!.
-Si la lista al final tiene una ',' MPlayer probará los codecs no listados.
-.br
-.I NOTA:
-Vea \-ac help para una lista completa de los codecs disponibles.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-Fuerza el codec MP3 l3codeca.acm.
-.IPs "\-ac mad,"
-Prueba libmad primero, después los demás.
-.IPs "\-ac hwac3,a52,"
-Prueba pasar a través del hardware AC3, luego el codec por software
-AC3, y finalmente los demás.
-.IPs "\-ac hwdts,"
-Prueba el codec por hardware DTS, luego los demás.
-.IPs "\-ac \-ffmp3,"
-Se salta el decodificador MP3 de FFmpeg.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(filtros)> (vea también la opción \-af)
-Especifica opciones avanzadas de los filtros de audio:
-.RSs
-.IPs force=<0\-7>
-Fuerza la inserción de filtros de audio de una de las siguientes maneras:
-.RSss
-0: Inserción de filtros completamente automática.
-.br
-1: Optimizada para precisión (por defecto).
-.br
-2: Optimizada para velocidad.
-.I Aviso:
-Algunas de las características de los filtros de audio pueden fallar
-silenciosamente y la calidad del sonido puede bajar.
-.br
-3: No usar ni la inserción automática de filtros ni las optimizaciones.
-.I Aviso:
-Es posible que MPlayer falle usando esta opción.
-.br
-4: Inserción automática de filtros de acuerdo con la opción 0,
-pero se hace uso del proceso en coma flotante cuando sea posible.
-.br
-5: Inserción automática de filtros de acuerdo con la opción 1,
-pero se hace uso del proceso en coma flotante cuando sea posible.
-.br
-6: Inserción automática de filtros de acuerdo con la opción 2,
-pero se hace uso del proceso en coma flotante cuando sea posible.
-.br
-7: Inserción automática de filtros de acuerdo con la opción 3,
-pero se hace uso del proceso en coma flotante cuando sea posible.
-.REss
-.IPs list=<filtros>
-Lo mismo que \-af.
-.RE
-.
-.TP
-.B \-afm <driver1,driver2,...>
-Especifica una lista de prioridades de familias de codecs de audio, de
-acuerdo a su nombre en codecs.conf.
-Se queda en el que tiene por defecto si ninguno funciona bien.
-.br
-.I NOTA:
-Vea \-afm help para una lista completa de los controladores disponibles.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-Prueba los codecs libavcodec de FFmpeg primero.
-.IPs "\-afm acm,dshow"
-prueba los codecs Win32 primero
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <razón> (vea también \-zoom)
-Sobreescribe la razón de aspecto de las películas en el caso de que la
-información del aspecto sea incorrecta o falte.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-\-aspect 4:3 o \-aspect 1.3333
-.br
-\-aspect 16:9 o \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Desactiva la compensación automática de la relación de aspecto de la
-película.
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-Estblece el primer campo para el contenido entrelazado.
-Útil para desentrelazadores que doblan el framerate: \-vf tfields=1,
-\-vf yadif=1 y \-vo xvmc:bobdeint.
-.PD 0
-.RSs
-.IPs \-1
-auto (por defecto): Si el decodificador no exporta la información adecuada
-vuelve a 0 (el campo de arriba primero).
-.IPs 0
-el campo de arriba primero
-.IPs 1
-el campo de abajo primero
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-Voltea la imagen arriba-abajo.
-.
-.TP
-.B \-lavdopts <opción1:opción2:...> (CÓDIGO DE DEPURACIÓN)
-Especifica los parámetros de decodificado de libavcodec.
-Separe las opciones múltiples con una coma.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-Las opciones disponibles son:
-.RE
-.RSs
-.IPs bitexact
-Usar únicamente los algoritmos bit-exact en todos los pasos de decodificación
-(para la comprobación de codecs).
-.IPs bug=<valor>
-Corrección manual para los fallos de codificador.
-.RSss
-0: nada
-.br
-1: detectar automáticamente errores (por defecto)
-.br
-2 (msmpeg4v3): algunos viejos ficheros lavc msmpeg4v3 (sin detección)
-.br
-4 (mpeg4): error de entrelazado de XviD (detección si fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (detección si fourcc==UMP4)
-.br
-16 (mpeg4): error de rellenado (detectado automáticamente)
-.br
-32 (mpeg4): error vlc ilegal (detectado para fourcc)
-.br
-64 (mpeg4): error qpel de Xvid y DivX (detectado para fourcc/\:version)
-.br
-128 (mpeg4): antiguo estándar qpel (detectado para fourcc/\:version)
-.br
-256 (mpeg4): otro fallo qpel (detectado para fourcc/\:version)
-.br
-512 (mpeg4): error direct-qpel-blocksize (detectado para fourcc/\:version)
-.br
-1024 (mpeg4): error de rellenado de bordes (detectado para fourcc/\:version)
-.REss
-.IPs debug=<valor>
-debug:
-.RSss
-.br
-0: desactivado
-.br
-1: información de imagen
-.br
-2: control de tasa
-.br
-4: flujo de bits
-.br
-8: tipo de MB
-.br
-16: QP
-.br
-32: vector de movimiento
-.br
-0x0040: Visualización de vector de movimiento (use \-noslices)
-.br
-0x0080: salto de MB
-.br
-0x0100: startcode
-.br
-0x0200: PTS
-.br
-0x0400: error de resistencia
-.br
-0x0800: operaciones de control de manejo de memoria (H.264)
-.br
-0x1000: fallos
-.br
-0x2000: Visualización del parámetro de cuantización (QP), valores bajos producen
-un tinte verde.
-.br
-0x4000: Visualización del tipo de bloques.
-.REss
-.IPs ec=<valor>
-Estrategia para la ocultación de errores:
-.RSss
-1: usa un filtro desbloqueador fuerte para MBs dañados
-.br
-2: búsqueda MV iterativa (lento)
-.br
-3: todos (por defecto)
-.REss dequantization
-.IPs er=<valor>
-Estrategia para la resistencia de errores:
-.RSss
-.br
-0: desactivado
-.br
-1: cuidadoso (debe funcionar con codificadores en mal estado)
-.br
-2: normal (por defecto) (funciona con codificadores que lo cumplan)
-.br
-3: agresivo (más comprobaciones pero puede causar problemas incluso
-para flujos válidos)
-.br
-4: muy agresivo
-.REss
-.IPs "fast (MPEG-2, MPEG-4, y H.264 solamente)"
-Activar algunas optimizaciones que no cumplen las especificaciones y que
-potencialmente pueden causar problemas, como decuantización simple, compensación
-de movimiento simple, asume el uso de la matriz de cuantización por defecto,
-asume YUV 4:2:0 y saltar algunas comprobaciones de detección de flujos de
-bits dañados
-.IPs "gray\ "
-decodificación solo en escala de grises (un poco más rápida que con color)
-.IPs "idct=<0\-99> (vea \-lavcopts)"
-Para una mejor calidad de la decodificación use el mismo algoritmo para
-decodificar y codificar. Esto, sin embargo, hace que se pague un precio
-en precisión.
-.IPs lowres=<número>[,<w>]
-Decodifica a resoluciones más bajas.
-La decodificación a resoluciones más bajas no esta soportada por todos los
-codecs y a menudo producirá artefactos no deseados.
-Esto no es un fallo, sino un efecto secundario de no decodificar a resolución
-completa.
-.RSss
-.br
-0: desactivado
-.br
-1: 1/2 resolución
-.br
-2: 1/4 resolución
-.br
-3: 1/8 resolución
-.REss
-.RS
-Si se especifica <w> la decodificación a resoluciones más bajas sólo se usará si
-la anchura del vídeo es mayor o igual que <w>.
-.RE
-.IPs "sb=<número> (sólo MPEG2)"
-Salta el número de filas de macrobloque especificadas en la parte de abajo.
-.IPs "st=<número> (sólo MPEG2)"
-Salta el número de filas de macrobloque especificadas en la parte de arriba.
-.IPs skiploopfilter=<valor\ de\ salto>\ (sólo\ H.264)
-Salta el filtro de bucle (desbloqueo) durante la decodificación H.264.
-Como se supone que el marco filtrado debe usarse como referencia
-para decodificar marcos dependientes esto tiene un efecto peor en la calidad
-que no hacer el desbloqueo en p.e.\& MPEG-2 vídeo.
-Pero al menos para ficheros HDTV con una alta tasa de bits produce una gran
-aceleración sin una visible pérdida de calidad.
-.sp 1
-<valor de salto> puede ser uno de los siguientes valores:
-.RSss
-.br
-none: No saltar nunca.
-.br
-default: Saltar pasos de proceso inútiles (p.e.\& paquetes de tamaño 0 en AVI).
-.br
-nonref: Saltar marcos que no están referenciados (p.e.\& no se usa para
-decodificar otros marcos, el error no se puede "acumular").
-.br
-bidir: Salta Marcos-B.
-.br
-nonkey: Salta todos los marcos excepto los marcos clave.
-.br
-all: Salta todos los marcos.
-.REss
-.IPs "skipidct=<valor de salto> (sólo MPEG-1/2)"
-Salta el paso IDCT.
-Esto degrada mucho la calidad en la mayoría de los casos
-(vea skiploopfilter para obtener los valores de salto disponibles).
-.IPs skipframe=<valor\ de\ salto>
-Salta la decodificación de marcos por completo.
-Produce una gran aceleración, pero también un movimiento desigual y a veces
-artefactos
-(vea skiploopfilter para obtener los valores de salto disponibles).
-.IPs "threads=<1\-8> (sólo MPEG-1/2)"
-número de hilos que se usarán para la decodificación (por defecto: 1)
-.IPs vismv=<valor>
-Visualiza los vectores de movimiento.
-.RSss
-.br
-0: desactivado
-.br
-1: visualiza MVs de marcos de imagen P previstos en adelante
-.br
-2: visualiza MVs de marcos de imagen B previstos en adelante
-.br
-4: visualiza MVs de marcos de imagen B previstos hacia atrás
-.REss
-.IPs vstats
-Muestra algunas estadísticas y las almacena en ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-Desactiva el dibujado de vídeo por bandas/\:rebanadas de altura de 16-pixels,
-en lugar de dibujar la imagen entera de una pasada.
-Puede ser más rápido o más lento, dependiendo de la cache/\:tarjeta.
-Sólo tiene efecto con los codecs libmpeg2 y libavcodec.
-.
-.TP
-.B \-nosound
-No reproduce/\:codifica sonido.
-Útil para pruebas de rendimiento.
-.
-.TP
-.B \-novideo
-No reproduce/\:codifica vídeo.
-En muchos casos no funcionará, use \-vc null \-vo null en su lugar.
-.
-.TP
-.B \-pp <calidad> (¡vea también la opción \-vf pp!)
-Establece el nivel de procesado de la DLL.
-Esta opción ya no se puede usar con \-vf pp.
-Sólo funciona con DLLs Win32 DirectShow con rutinas internas
-de procesado.
-El rango válido de valores para \-pp varía con el codec, la mayoría
-tienen de 0\-6, donde 0=desactivado 6=lento/\:mejor.
-.
-.TP
-.B \-pphelp (vea también la opción \-vf pp)
-Muestra un resumen sobre los filtros de procesado disponibles y su uso.
-.
-.TP
-.B \-ssf <modo>
-Especifica los parámetros del escalador por software.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-Filtro difuminado Gaussiano (luma)
-.IPs cgb=<0\-100>
-Filtro difuminado Gaussiano (croma)
-.IPs ls=<0\-100>
-filtro de perfilado (luma)
-.IPs cs=<0\-100>
-filtro de perfilado (croma)
-.IPs chs=<h>
-desplazamiento de croma horizontal
-.IPs cvs=<v>
-desplazamiento de croma vertical
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <modo>
-Selecciona el tipo de salida estéreo de MP2/\:MP3.
-.
-.PD 0
-.RSs
-.IPs 0
-Estéreo
-.IPs 1
-Canal izquierdo
-.IPs 2
-Canal derecho
-.RE
-.PD 1
-.
-.TP
-.B \-sws <tipo\ de\ escalador\ software> (vea también la opción \-vf y \-zoom)
-Especifica el algoritmo que usará el escalador por software con la opción
-\-zoom.
-Esto afecta a los drivers de salida de vídeo que no tienen aceleración por
-hardware p.e.\& x11.
-.sp 1
-Las configuraciones posibles son:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-bilineal rápido
-.IPs 1
-bilineal
-.IPs 2
-bicúbico (calidad buena) (por defecto)
-.IPs 3
-experimental
-.IPs 4
-entorno cercano (calidad mala)
-.IPs 5
-área
-.IPs 6
-luma bicúbico / croma bilineal
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-spline bicúbico natural
-.RE
-.PD 1
-.sp 1
-.RS
-.I NOTA:
-Algunas opciones de \-sws son configurables.
-La descripción del filtro de escalado de vídeo tiene más información.
-.RE
-.
-.TP
-.B \-vc <[\-|+]codec1,[\-|+]codec2,...[,]>
-Especifica una lista prioritaria de codecs para usarse, de acuerdo a sus
-nombres del codec en codecs.conf.
-Use un '\-' antes del nombre del codec para omitirlo.
-Use un '+' antes del nombre del codec para forzarlo, esto probablemente falle.
-Si la lista tiene una ',' final, se probarán los codecs no listados.
-.br
-.I NOTA:
-Vea \-vc help para una lista completa de codecs disponibles.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Fuerza codec Win32/\:VfW DivX, y no otros.
-.IPs "\-vc \-divxds,\-divx,"
-Prueba codecs excepto los Win32 DivX.
-.IPs "\-vc ffmpeg12,mpeg12,"
-Prueba el codec libavcodec MPEG1/\:2, después libmpeg2 y luego el resto.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <driver1,driver2,...>
-Especifica una lista prioritaria de familia de codecs de vídeo a ser usados,
-de acuerdo a sus nombres en codecs.conf.
-Regresa al que haya por defecto si no funciona ninguno.
-.br
-.I NOTA:
-Vea \-vfm help para una lista completa de controladores disponibles.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Prueba los codecs libavcodec, luego Direcshow, después VFW y luego el resto
-, si no funcionan.
-.IPs "\-vfm xanim"
-prueba primero los codecs XAnim
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (vea también \-zoom) (MPlayer solamente)
-Escala la imagen a ancho x (si hay escalado sw/\:hw disponible).
-Inhabilita cálculos de aspecto.
-.
-.TP
-.B \-xvidopts <opción1:opción2:...>
-Especifica parámetros adicionales cuando se decodifica con XviD.
-.br
-.I NOTA:
-Dado que libavcodec es más rápida que Xvid quizá prefiera usar el filtro de
-procesado libavcodec (\-vf pp) y decodificador (\-vfm ffmpeg).
-.sp 1
-Filtros de procesado internos de Xvid:
-.PD 0
-.RSs
-.IPs deblock-chroma (vea también \-vf pp)
-filtro de debloque de croma
-.IPs deblock-luma (vea también \-vf pp)
-filtro de debloque de luminancia
-.IPs dering-luma (vea también \-vf pp)
-filtro de desanillado lumínico
-filtro
-.IPs dering-chroma (vea también \-vf pp)
-filtro de desanillado de croma
-.IPs filmeffect (vea también \-vf noise)
-Añade grano de película artificial al vídeo.
-Puede incrementar la calidad percibida, mientras que disminuye un poco la
-calidad real.
-.RE
-.sp 1
-.RS
-métodos de renderizado:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-Activa el método 2 de renderizado directo.
-.IPs nodr2
-Desactiva el método 2 de renderizado directo.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <valor> (vea también \-zoom)
-.PD 0
-.RSs
-.IPs valor<=8
-Escala la imagen en un factor <valor>.
-.IPs valor>8
-Establece el ancho al valor y calcula el alto para mantener la relación
-de aspecto correcta.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (MPlayer solamente)
-Escala la imagen a altura y (si hay escalado sw/\:hw disponible).
-Inabilita cálculos de aspecto.
-.TP
-.B "\-zoom \ "
-Permite escalar por software, cuando esté disponible.
-Esto permite el escalado con drivers de salida (como x11, fbdev) que no
-soportan escalado por hardware en los que MPlayer desactiva el escalado
-por defecto por razones de rendimiento
-.
-.
-.
-.SH "FILTROS DE VIDEO"
-Los filtros de video son plugins que permiten modificar el flujo de video
-y sus propiedades.
-La sintaxis es:
-.TP
-.B \-vf <filtro1[=parámetros],filtro2,...>
-Configura una cadena de filtros de video
-.
-.TP
-.B \-vop <...,filtro3[=parámetros],filtro2,filtro1> (OBSOLETO)
-Configura una cadena de filtros de video, a ser aplicados en orden
-.B inverso.
-Anticuado en favor de \-vf.
-.PP
-Los parámetros son opcionales y si son omitidos, algunos serán tomados sus
-valores por defecto.
-Use '\-1' para mantener el valor por defecto.
-Los parámetros w:h significan ancho x alto en pixels, x:y significa posición
-x;y contada desde la esquina superior izquierda de la imagen grande.
-.br
-.I NOTA:
-Para obtener una lista completa de los filtros disponibles, vea \-vf help.
-.sp 1
-Los filtros son administrados en listas.
-Hay unas pocas órdenes para administrar la lista de filtros.
-.TP
-.B \-vf\-add <filtro1[,filtro2,...]>
-Añade los filtros dados como argumentos a la lista de filtros.
-.TP
-.B \-vf\-pre <filtro1[,filtro2,...]>
-Quita los filtros dados como argumentos a la lista de filtros.
-.TP
-.B \-vf\-del <índice1[,índice2,...]>
-Borra los filtros en los índices dados.
-Los números de índices comienzan en 0, los números negativos se
-direccionan al final de la lista (\-1 es el último).
-.TP
-.B \-vf\-clr
-Vacía por completo la lista de filtros.
-.PP
-Con filtros que lo soporten, puede acceder a los parámetros por su nombre.
-.TP
-.B \-vf <filtro>=help
-Muestra los nombres de los parámetros y el rango de valores para el filtro
-en particular.
-.TP
-.B \-vf <filtro=nombre_parámetro1=valor1[:nombre_parámetro2=valor2:...]>
-Establece un parámetro dado por nombre al valor dado.
-Use on y off o yes y no para establecer o no los parámetros.
-.PP
-Los filtros disponibles son:
-.
-.TP
-.B crop[=w:h:x:y]
-Recorta la parte de la imagen dada y descarta el resto.
-Útil para borrar bandas negras de películas en formato panorámico.
-.PD 0
-.RSs
-.IPs w,h
-Recortado con ancho y alto, con ancho y alto original por defecto.
-.IPs x,y
-Posición de la imagen recortada, por defecto es centrada.
-.RE
-.PD 1
-.TP
-.B cropdetect[=0\-255]
-Calcula los parámetros necesarios de recortado y muestra los parámetros
-recomendados en la salida estandar.
-El umbral puede ser especificado opcionalmente desde nada (0) hasta todo
-(255).
-(por defecto: 24)
-.
-.TP
-.B rectangle[=w:h:x:y]
-El plugin responde a la directiva de input.conf 'change_rectangle' que
-tiene dos parámetros.
-.PD 0
-.RSs
-.IPs w,h
-ancho y alto (por defecto: \-1, anchura máxima posible mientras
-continúan visibles las fronteras)
-.IPs x,y
-posición de la esquina arriba izquierda (por defecto: \-1, lo más
-a la izquierda posible, lo más arriba posible)
-.RE
-.PD 1
-.TP
-.B expand[=w:h:x:y:o]
-Expande (no escala) la resolución de la película al valor dado y
-coloca el original sin escalar en las coordenadas x, y.
-Puede ser usado para colocar subtítulos/\:OSD en las bandas negras
-resultantes.
-.RSs
-.IPs w,h
-ancho,alto expandido (por defecto: ancho,alto original).
-Valores negativos para w y h son tratados como desplazamiento del tamaño
-original.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-añade un borde de 50 pixels en la parte de abajo de la imagen
-.RE
-.PD 1
-.IPs x,y
-posición de la imagen original en la imagen expandida (por defecto: centrada)
-.IPs o
-renderizado de OSD/\:subtítulos
-.RSss
-0: desactivado (por defecto)
-.br
-1: activado
-.REss
-.RE
-.TP
-.B "flip\ \ \ "
-Voltea la imagen de arriba a abajo.
-Vea también la opción \-flip.
-.
-.TP
-.B "mirror\ "
-Hace espejo de la imagen en el eje Y.
-.
-.TP
-.B rotate[=<0\-7>]
-Rota y voltea (opcional) la imagen +/\:- 90 grados.
-Para parámetros entre 4\-7 la rotación se hace solo si la geometría de la
-película es en vertical y no en horizontal.
-.
-.TP
-.B scale[=w:h[:interlaced[:chr_drop[:param[:presize]]]]]
-Escala la imagen con el escalador de software (lento) y realiza una
-conversión en el espacio de color YUV<\->RGB (vea también \-sws).
-.RSs
-.IPs "w,h\ \ "
-Escala a ancho/\:alto (por defecto: ancho/\:alto original)
-.I NOTA:
-Si se usa \-zoom, y filtros de capas (incluyendo libvo) no es
-posible escalar, y entonces se usará d_ancho/\:d_alto por defecto!
-.RSss
- 0: d_width/\:d_height escalado
-.br
-\-1: width/\:height original
-.br
-\-2: Calcula w/\:h usando la otra dimensión y la razón de aspecto de preescalado.
-.br
-\-3: Calcula w/\:h usando la otra dimensión y la razón de aspecto original.
-.REss
-.IPs interlaced
-Cambia indicador de escalado entrelazado.
-.IPs chr_drop
-Salto de crominancia
-.RSss
-0: usa todas las líneas de entrada de crominancia disponibles
-.br
-1: usa solo cada 2. líneas de entrada para crominancia
-.br
-2: usa solo cada 4. líneas de entrada para crominancia
-.br
-3: usa solo cada 8. líneas de entrada para crominancia
-.REss
-.IPs param
-parámetro de escalado (depende del método de escalado usado)
-.RSss
-\-sws 2 (bicúbico): perfilado (0 (suave) \- 100 (nítido))
-.br
-\-sws 7 (gaussiano): sharpness (0 (suave) \- 100 (nítido))
-.br
-\-sws 9 (lanczos): longitud del filtro (1 \- 10)
-.REss
-.IPs presize
-Escala a tamaños preestablecidos.
-.RSss
-qntsc: 352x240 (NTSC quarter screen)
-.br
-qpal: 352x288 (PAL quarter screen)
-.br
-ntsc: 720x480 (NTSC estándar)
-.br
-pal: 720x576 (PAL estándar)
-.br
-sntsc: 640x480 (NTSC square pixel)
-.br
-spal: 768x576 (PAL square pixel)
-.REss
-.RE
-.TP
-.B dsize={aspecto|w:h}
-Cambia el tamaño/\:aspecto deseado de la pantalla en un punto arbitrario
-de la cadena de filtro.
-El aspecto puede ser dado como una fracción (4/\:3) o como un número en
-coma flotante (1.33).
-Alternativamente, puede especificar el ancho y alto deseados exactos para la
-pantalla.
-Note que este filtro NO escala por sí mismo; solo afecta cuando se está
-escalando (software o hardware) o cuando se auto-escala para corregir
-aspecto.
-.TP
-.B "yuy2\ \ \ "
-Fuerza conversión software YV12/\:I420 o 422P a YUY2.
-Útil para tarjetas de video/\:controladores con soporte YV12 lento pero
-soporte YUY2 rápido.
-.
-.TP
-.B "yvu9\ \ \ "
-Fuerza la conversión en el espacio de color YVU9 a YV12.
-Ya no se usa en favor del escalador de software.
-.
-.TP
-.B "yuvcsp\ "
-Mantiene los valores de color YUV en el rango CCIR 601 sin hacer una conversión real.
-.
-.TP
-.B rgb2bgr[=swap]
-Conversión en el espacio de color RGB 24/\:32 <\-> BGR 24/\:32.
-.PD 0
-.RSs
-.IPs "swap\ "
-También realiza intercambio R <\-> B.
-.RE
-.PD 1
-.TP
-.B palette
-Conversión usando paleta en el espacio de color RGB/\:BGR 8 \-> 15/\:16/\:24/\:32bpp.
-.
-.TP
-.B format[=fourcc]
-Restringe el espacio de color al siguiente filtro sin realizar ninguna
-conversión.
-Usar junto con el filtro de escalado para una conversión real.
-Para obtener una lista de los formatos disponibles vea formar=fmt=help.
-.PD 0
-.RSs
-.IPs fourcc
-nombre del formato como rgb15, bgr24, yv12, etc (por defecto: yuy2)
-.RE
-.PD 1
-.TP
-.B noformat[=fourcc]
-Restringe el espacio de color para el siguiente filtro sin hacer
-ninguna conversión. A diferencia del filtro format, este pemite
-cualquier espacio de color
-.B excepto
-el que especifique.
-Para obtener una lista de los formatos disponibles vea noformat=fmt=help.
-.PD 0
-.RSs
-.IPs fourcc
-nombres de formato son rgb15, bgr24, yv12, etc (por defecto: yv12)
-.RE
-.PD 1
-.TP
-.B pp[=filter1[:opción1[:opción2...]]/\:[\-]filtro2...] (vea también \-pphelp)
-Esta opción habilita el uso del filtro de postprocesado interno de
-MPlayer, y también proporciona una interfaz para que pueda pasarle opciones
-al filtro. Para obtener una lista de los filtros disponibles, use \-pphelp.
-Note que cada sub-filtro debe separarse con un signo /.
-.br
-Cada filtro se aplica por defecto a 'c' (crominancia).
-.br
-Las palabras claves aceptan un prefijo '\-' para desactivar la opción.
-.br
-A ':' seguido por una letra puede agregarse a la opción para indicar su
-objetivo:
-.PD 0
-.RSs
-.IPs a
-Desactivar automáticamente el filtro si la CPU es demasiado lenta.
-.IPs c
-Hacer filtro de crominancia, también.
-.IPs y
-No filtrar la crominancia (solo la luminancia).
-.RE
-.PD 1
-.sp 1
-.RS
-.I EJEMPLO:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/\:vb/\:dr/\:al"
-eliminación de bloques horizontal y vertical, eliminación de efecto
-de anillos y brillo/\:contraste automático
-.IPs "\-vf pp=hb/\:vb/\:dr/\:al/\:lb"
-eliminación de bloques horizontal y vertical, eliminación de efecto
-de anillos, brillo/\:contraste automático y desentrelazador de mezcla
-lineal
-.IPs "\-vf pp=de/\:-al"
-filtros por defecto sin corrección de brillo/\:contraste
-.IPs "\-vf pp=de/tn:1:2:3"
-Activa los filtros por defecto y el eliminador temporal de ruido.
-.IPs "\-vf pp=hb:y/\:vb:a \-autoq 6"
-Elimina bloques de luminancia solo horizontal y cambia a vertical o se
-desactiva dependiendo de la disponibiblidad del tiempo de CPU.
-.RE
-.PD 1
-.TP
-.B spp[=quality[:qp[:modo]]]
-filtro de postprocesado simple
-.RSs
-.IPs quality
-0\-6 (por defecto: 3)
-.OPs "qp\ \ \ "
-parámetro para forzar la cuantización (por defecto: 0, usa qp del video)
-.IPs "modo\ \ \ "
-0: umbral fuerte (por defecto)
-.br
-1: umbral suave (mejor deringing, peor difuminado de imagen)
-.RE
-.TP
-.B qp=ecuación
-filtro de cambio qp
-.RSs
-.IPs ecuación
-una ecualización como "2+2*sen(PI*qp)"
-.RE
-.TP
-.B "test\ \ \ "
-Genera varios patrones de test.
-.TP
-.B rgbtest
-Genera un patrón de test RGB útil para detectar problemas de RGB frente
-a BGR.
-Debe mostrar franjas roja, verde y azul de arriba a abajo.
-.TP
-.B lavc[=quality:fps]
-Conversión sofware YV12 a MPEG1 con libavcodec para usar con DVB/\:DXR3.
-Más rápido y mejor calidad que con \-vf fame.
-.RSs
-.IPs quality
-.RSss
-1\-31: qscale fijo
-.br
-32\-: bitrate fijo en kBits
-.REss
-.IPs "fps\ \ "
-fuerza los fps de salida (valor real) (por defecto: 0, autodetección basada en la altura)
-.RE
-.TP
-.B "fame\ \ \ "
-Conversión software YV12 a MPEG1 con libfame para usar con DVB/\:DXR3.
-.TP
-.B dvbscale[=aspect]
-Configura un escalado óptimo para tarjetas DVB, escalando el eje X en
-hardware y calculando el eje Y por software para mantener el aspecto.
-Solo es útil junto con expand+scale
-(\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc).
-.RSs
-.IPs aspect
-Controla la razón de aspecto, calculado como DVB_HEIGHT*ASPECTRATIO
-(por defecto 576*4/\:3=768), establezcalo a 576*(16/\:9)=1024 para una TV
-de 16:9.
-.RE
-.TP
-.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-Agregar ruido.
-.PD 0
-.RSs
-.IPs <0\-100>
-ruido en luminancia
-.IPs <0\-100>
-ruido en crominancia
-.IPs u
-ruido uniforme (si no será gaussiano)
-.IPs t
-ruido temporal (el patrón de ruido cambia entre imágenes)
-.IPs a
-ruido temporal medio (suave, pero muy lento)
-.IPs h
-alta calidad (ligeramente mejor de vista, ligeramente lento)
-.IPs p
-mezcla ruido aleatorio con un patrón (semi)regular
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=luma:chroma:time]
-Este filtro intenta reducir el ruido de la imagen produciendo imágenes
-suavizadas y haciendo que las imágenes quietas sean realmente quietas
-(Esto debería mejorar la compresibilidad).
-Puede tener de 0 a 3 parámetros.
-Si omite un parámetros, se usará un valor razonable.
-.PD 0
-.RSs
-.IPs "luma\ "
-dureza de la luminancia espacial (por defecto = 4)
-.IPs chroma
-dureza de crominancia espacial (por defecto = 3)
-.IPs "time\ "
-dureza temporal (por defecto = 6)
-.RE
-.PD 1
-.TP
-.B hqdn3d[=luma:chroma:time]
-Versión de alta precisión/\:calidad del filtro denoise3d.
-Los parámetros y el uso son los mismos.
-.TP
-.B eq[=brillo:cont]
-Ecualizador software con controles interactivos como el ecualizador
-de hardware, para tarjetas/\:controladores que no soporten controles
-de brillo y contraste por hardware.
-También puede ser útil con MEncoder, para arreglar películas capturadas
-que no se vean bien, o para reducir ligeramente el contraste y
-enmascarar artificios que aparecen con bitrates bajos.
-Los valores iniciales en el rango \-100\-100 pueden darse en la línea
-de órdenes.
-.TP
-.B eq2[=gamma:contraste:brillo:saturación:rg:gg:bg:peso]
-Ecualizador por software alternativo que usa tablas de consulta (muy lento),
-permitiendo corrección de gamma además de los ajustes de brillo simple
-y ajustes de contraste. Note que usa el mismo código optimizado MMX que
-\-vf eq si todos los valores de gamma son 1.0.
-Los parámetros son tomados como valores en coma flotante.
-Los parámetros rg, gg, bg son los valores de gamma independientes para las
-componentes de Rojo, Verde y Azul.
-Los valores por defecto son 1.0, brillo=0.0.
-El parámetro peso puede usarse para reducir el efecto de un valor alto del gamma
-en áreas con brillo, e.g.\& se mantiene para obtener más amplificadas y blancos
-planos.
-Un valor de 0.0 devuelve la corrección gamma de todo mientras que 1.0 da
-el máximo valor.
-Por defecto es gamma=1.0, contraste=1.0, brillo=0.0, saturación=1.0, peso=1.0.
-El rango es 0.1\-10 para gamma, \-2\-2 para contraste (valores negativos resultan
-en imagen en negativo), \-1\-1 para brillo, 0\-3 para saturación.
-.TP
-.B hue[=matiz:saturación]
-Por defecto es matiz=0.0, saturación=1.0.
-Los rangos de valores son \-180\-180 para matiz, \-2\-2 para saturación (valores negativos
-resultan en croma negativa).
-.TP
-.B halfpack[=f]
-Convierte YUV 4:2:0 planar a empaquetado 4:2:2 altura-media, rebajando la
-luminancia pero manteniendo todas las muestras de crominancia.
-Útil para dispositivos de salida de baja-resolución cuando el rebajado
-por hardware es de peor calidad o no está disponible.
-También peude usarse como un desenlazador primitivo de solo luminancia con
-un consumo muy bajo de cpu.
-Por defecto, halfpack hade medias de pares de líneas cuando baja el muestreo.
-El parámetro f opcional puede ser cero para usar solo líneas pares, o 1 para usar
-solo líneas impares.
-Cualquier otro valor para f hace que se use el comportamiento por defecto (para
-hacer la media).
-.TP
-.B ilpack[=mode]
-Cuando el video entrelazado es almacenado en formatos YUV 4:2:0, el entrelazado
-de crominancia no se alinea correctamente debido al submuestreo vertical de los
-canales de crominancia.
-Este filtro empaqueta los datos de 4:2:0 planar en formato YUY2 (4:2:2) con
-las líneas de crominancia en sus posiciones correctas, en cualquier scanline
-dado, la luminancia y la crominancia vienen ambos del mismo campo.
-El argumento opcional selecciona el modo de muestreo.
-Por defecto, se usa interpolación lineal (modo 1).
-El modo 0 usa muestreo por entorno más cercano, el cual es rápido
-pero incorrecto.
-.TP
-.B harddup
-Solo es útil con MEncoder.
-Si harddup se usa en la codificación, forzará marcos de imagen duplicados
-para codificarse en la salida.
-Usa un poco más de espacio, pero es necesario para sacar archivos MPEG o
-si planea demultiplexar y remultiplexar el flujo de video después de la
-codificaión.
-Debe ser colocado cerca del final de la cadena de filtros a menos que tenga
-una buena razón para no hacerlo.
-.TP
-.B softskip
-Solo útil con MEncoder.
-Softskip mueve el paso de salto de imagen (lo elimina) de codificación
-de antes de la cadena de filtros en algún punto de la cadena de filtros.
-Esto permite que los filtros que necesitan ver más imágenes (telecine
-inverso, denoising temporal, etc.) funcionen correctamente.
-Debe ser emplazado después de los filtros que necesiten ver todos los
-marcos de imagen y antes de los filtros que hagan un uso intensivo de la CPU.
-.TP
-.B decimate[=max:hi:lo:frac]
-Ignora imágenes que no difieren mucho de las imágenes anteriores para
-reducir el número de imágenes por segundo.
-El argumento max (si es positivo) establece el máximo número de imágenes
-consecutivas que pueden ser ignoradas, o (si es negativo) el mínimo intervalo
-entre imágenes ignoradas.
-Una imagen es candidata a ser ignorada si no hay región de 8x8 que difiera
-más que un umbral de hi, y si no hay más que una porción frac (1 significa
-la imagen entera) que difiera más que el umbral de lo.
-Los valores de hi y lo son para bloques de pixels de 8x8 y representan
-las diferencias de valores de pixels actuales, para que un umbral de 64
-corresponda a 1 unidad de diferencia para cada pixel, o el mismo esparcido
-de forma diferente sobre el bloque.
-El principal uso de este filtro es para codificación a bitrate-muy-bajo (p.e.\&
-streaming sobre conección con modem), pero puede ser en teoría usado para
-corregir películas que han sido invertidas en telecine incorrectamente.
-.TP
-.B dint[=sense:level]
-Detecta y elimina la primera de las imágenes entrelazadas en el flujo de video.
-Los valores pueden ir de 0.0 a 1.0 \- el primero (por defecto 0.1) es la diferencia
-relativa entre pixels del entorno, el segundo (por defecto 0.15) is qué parte de la
-imagen debe ser detectada como entrelazada para eliminar la imagen.
-.TP
-.B lavcdeint
-Usa el filtro de desentrelazado de livavcodec.
-.TP
-.B kerndeint[=umbral[map[:orden[:sharp[:twoway]]]]]
-Desentralazador de núcleo adaptativo de Donald Graft.
-Desentrelaza partes de video si se excede un umbral configurable.
-.PD 0
-.RSs
-.IPs umbral (0 \- 255)
-Umbral (por defecto 10).
-.IPs map (0 ó 1)
-Pinta pixels que exceden el umbral de blanco (por defecto 0).
-.IPs orden (0 ó 1)
-Intercambia campos si 1 (por defecto 0).
-.IPs sharp (0 ó 1)
-Activa perfilado adicional (por defecto 0).
-.IPs twoway (0 ó 1)
-Activa perfilado en dos veces (por defecto 0).
-.RE
-.PD 1
-.TP
-.B unsharp=l|cWxH:amount[:l|cWxH:amount]
-Máscara de eliminación de perfilado / difuminado gaussiano.
-.RSs
-.IPs l
-Aplica el efecto en la componente de luminancia.
-.IPs c
-Aplica el efecto en las componentes de crominancia.
-.IPs WxH
-ancho y alto de la matriz, tamaño impar en ambas direcciones
-(min = 3x3, max = 13x11 or 11x13, normalmente algo entre 3x3 y 7x7)
-.IPs amount
-Cantidad relativa de perfilado/\:difuminado a añadir a la imagen
-(un rango correcto está entre \-1.5\-1.5).
-.RSss
-<0: difumina
-.br
->0: perfila
-.REss
-.RE
-.TP
-.B "swapuv\ "
-Intercambia el plano U y V.
-.TP
-.B il=[d|i][s][:[d|i][s]]
-(des)entrelaza líneas.
-El objetivo de este filtro es añadir la habilidad para procesar imágenes
-entrelazadas pre-campo sin desentrelazarlas.
-Puede filtrar su DVD entrelazado y reproducirlo en una TV sin romper el
-entrelazado.
-Durante el desentrelazado (con el filtro de postprocesado) se elimina el
-entrelazado permanentemente (por suavizado, media, etc) desentrelazando
-roturas de la imagen en 2 campos (también llamados semi imágenes), para
-que pueda procesarlo (filtrarlo) después independientemente y re-entrelazarlo.
-.PD 0
-.RSs
-.IPs d
-desentrelaza (colocando uno encima del otro)
-.IPs i
-entrelaza
-.IPs s
-intercambia campos (cambia entre líneas par e impar)
-.RE
-.PD 1
-.TP
-.B fil=[i|d]
-(des)interpolación de líneas.
-Este filtro es muy similar al filtro il pero mucho más rápido, la principal
-desventaja es que no siempre funciona. Especialmente si es combinado con
-otros filtros puede producir efectos extraños en las imágenes, de modo que
-alégrese si le funciona pero no se nos queje si no funciona para su
-combinación de filtros.
-.PD 0
-.RSs
-.IPs d
-Desinterpola campos, colocandolos uno al lado de otro.
-.IPs i
-Interpola campos de nuevo (invirtiendo el efecto de fil=d).
-.RE
-.PD 1
-.TP
-.B field[=n]
-Extrae un campo simple de una imagen entrelazada usando aritmética a saltos
-para evitar consumir mucho tiempo de CPU. El argumento opcional n especifica
-cuál extraer el campo par o el impar (dependiendo de si n es par o impar)
-.TP
-.B detc[=var1=value2:var2=value2:...]
-Intenta invertir el proceso de 'telecine' para recuperar un flujo limpio,
-no entrelazado en las imágenes por segundo de la película.
-Este fue el primer filtro de telecine inverso que se añadió a
-MPlayer/\:MEncoder.
-Funciona enganchando el patrón de telecine 3:2 y siguiendolo tanto como
-sea posible.
-Esto lo hace perfecto para usarlo en material telecine, incluso en la
-presencia de un grado de ruido lejano, pero cae en la presencia de editores
-de telecine complejos.
-El desarrollo de este filtro no está siendo continuado, ya que ivtc, pullup,
-y filmdint son mejores para la mayoría de las aplicaciones.
-Lo siguientes argumentos (vea la sintaxis más arriba) pueden
-usarse para controlar el comportamiento de detc:
-.RSs
-.IPs dr
-Establece la forma de saltarse imágenes. 0 (por defecto) significa no saltar
-imágenes para mantener fijo el número de imágenes por segundo de salida. 1
-significa saltar siempre una imagen cuando no hay saltos o mezclas de telecine
-en los 5 frames pasados. 2 significa mantener siempre relación 5:4 de entrada a
-salida.
-.I NOTA:
-Use modo 1 o 2 con MEncoder.
-.IPs am
-Modo análisis. Los valores disponibles son 0 (patrón fijo con número inicial
-de imagen especificada en fr=#) y 1 (búsqueda agresiva para patrón de telecine).
-Por defecto es 1.
-.IPs fr
-Establece el número inicial de imagen en la secuencia. 0\-2 son las tres
-imágenes progresivas limpias; 3 y 4 son las dos imágenes entrelazadas. El
-valor por defecto, \-1, significa 'no en secuencia de telecine'. El
-número especificado aquí es el tipo para la imagen previa imaginaria antes
-de que la película comience.
-.IPs "tr0, tr1, tr2, tr3"
-Valores umbrales para ser usados en ciertos modos.
-.RE
-.TP
-.B ivtc[=1]
-Filtro de telecine inverso 'sin-estado' experimental.
-En lugar de intentar bloquear en un patrón como hace el filgro detc,
-ivtc toma decisiones independientes para cada imagen.
-Esto da resultados mucho mejores para material que ha sido mal editado
-después de aplicar telecine, además de para resultados que tienen
-ruido de entrada, por ejemplo captura de TV.
-El parámetro opcional (ivtc=1) corresonde a la opción dr=1 para el filtro
-detc, y debe ser usado con MEncoder pero no con mplayer. Como con detc,
-debe especificar la relación de imágenes por segundo correcta (\-ofps 23.976)
-cuando use MEncoder.
-El desarrollo de ivtc se ha parado, ya que los filtros pullup y filmdint
-parecen ser mucho más precisos.
-.B pullup[=jl:jr:jt:jb:sb]
-Filtro de pulldown inverso de tercera generación (telecine inverso),
-capaz de manejar contenido de telecine-duro mezclado, 24 fps progresivo,
-y 30 fps progresivo.
-El filtro pullup está diseñado para ser mucho más robusto que detc o
-ivtc, tomando ventaja del contexto futuro al tomar sus decisiones.
-Como ivtc, pullup no tiene en cuenta el estado en el sentido en que no
-bloquea el patrón siguiente, sino que en lugar de eso mira hacia los
-siguientes campos para identificar coincidencias y reconstruir marcos
-de imagen progresivos.
-Aún está bajo desarrollo, pero creemos que es bastante impreciso.
-Las opciones jl, jr, jt, y jb establecen la cantidad de "junk" para ignorar
-a la izquierda, derecha, arriba, y abajo de la imagen, respectivamente.
-Izquierda/\:derecha son unidades de 8 pixels, mientras que arriba/abajo son
-unidades de dos líneas.
-El valor por defecto son 8 pixels en cada lado.
-Establecer la opción sb (strict breaks) a 1 reduce los cambios de pullup
-generando un marco que ocasionalmente no coincide, pero también puede causar
-un número excesivo de marcos de imagen eliminados durante las escenas de
-mucho movimiento.
-.br
-.I NOTA:
-Use siempre pullup seguido del filtro softskip cuando codifique para
-asegurarse de que pullup es capaz de ver cada marco de imagen.
-Un fallo en esto hará que se tenga una salida incorrecta y probablemente
-ocasionará un cuelgue, debido a limitaciones en el diseño de la capa de
-codecs/\:filtros.
-.TP
-.B filmdint[=opciones]
-Filtro de telecine inverso, similar al filtro pullup de arriba.
-Está diseñado para manejar un patrón pulldown, incluyendo mezcla por software
-y telecine por hard y limitado para soportar películas que han sido ralentizadas
-o aceleradas desde su tasa de bits original para TV.
-Solo se usa el plano luma para encontrar los cortes de marcos de imagen.
-Si un campo no tiene coincidencia, es desentrelazado con una aproximación
-lineal simple.
-Si la fuente es MPEG-2, debe ser el primer filtro para permitir acceso
-a los field-flags establecidos por el decodificador MPEG-2.
-Dependiendo de la fuente MPEG, puede que le funcione ignorando este aviso y
-no vea un montón de advertencias "Bottom-first field".
-Sin opciones realiza un telecine inverso normal, y debe usarse junto con
-mencoder \-fps 29.97 \-ofps 23.976.
-Cuando este filtro se usa con mplayer, resulta en una tasa de imágenes por
-segundo impar durante la reproducción, pero sigue siendo generalmente mejor
-que usar pp=lb o no desentrelazar.
-Se pueden especificar múltiples opciones separadas por /.
-.RSs
-.IPs crop=w:h:x:y
-Igual que el filtro crop (recortado), pero más rápido, y funciona en mezclas
-de contexto de telecine hard y soft así como con un valor de y que no sea
-múltiplo de 4.
-Si x o y requieren recorte fraccional de pixels desde los planos de croma,
-el área de recorte es extendida.
-Normalmente esto significa que x e y deben ser pares.
-.IPs io=ifps:ofps
-Para cada ifps marcos de imagen de entrada el filtro proporciona ofps marcos.
-La razón ifps/\:ofps debe coincidir con la razón \-fps/\-ofps.
-Esto puede usarse para filtrar películas de broadcast en una TV a la razón
-de imágenes por segundo distinta a la original.
-.IPs luma_only=n
-Si n es distinto de cero, el plano croma es copiado sin cambios.
-Esto es útil para TV YV12 muestreada, que descarga uno de los campos de croma.
-.IPs mmx2=n
-En x86, si n=1, usa funcines optimizadas MMX2, si n=2, usa funciones optimizadas
-3DNow!, en otro caso, usa C plano.
-Si esta opción no es especificada, MMX2 y 3DNow! son auto-detectados, use esta
-opción para forzar la detección.
-.IPs fast=n
-Valores más altos de n aceleran el filtro a expensas de precisión.
-El valor por defecto es n=3.
-Si n es impar, el marco inmediatamente siguiente al marco marcado con la
-etiqueta MPEG REPEAT_FIRST_FIELD se asume que es progresivo, por eso el
-filtro no pierde ningún tiempo en contenido MPEG-2 soft-telecine.
-Este es el único efecto de esta etiqueta si MMX2 o 3DNow! están disponibles.
-Sin MMX2 y 3DNow!, si n=0 o 1, los mismos cálculos se usan como con n=2 o n=3.
-Si n=2 o 3, el número de niveles de luma usados para encontrar la rotura de marco
-es reducido de 256 a 128, que resulta en un filtro rápido sin perder mucha
-precisión.
-Si n=4 o 5, se usará una métrica rápida pero mucho menos precisa para encontrar
-la rotura de marcos, algo así como detectar un detalle vertical grande en
-un contexto entrelazado.
-.IPs verbose=n
-Si n no es cero, muestra la métrica detallada para cada marco.
-Útil para pruebas.
-.IPs dint_thres=n
-Umbral de desentrelazado.
-Usado durante el desentrelazado de marcos no coincidentes.
-Valores más grandes significa menos desentrelazado, use n=256 para desactivar
-el desentrelazado por completo.
-El valor por defecto es n=8.
-.IPs comb_thres=n
-Umbral para comparar campos superior e inferior.
-El valor por defecto es 128.
-.IPs diff_thres=n
-Umbral para detectar cambios temporales en un campo.
-El valor por defecto es 128.
-.IPs sad_thres=n
-Suma de umbrales de diferencia absoluta, el valor por defecto es 64.
-.RE
-.TP
-.B softpulldown
-Este filtro funciona correctamente solo con MEncoder y actúa en las marcas
-MPEG2 usadas para bajada 3:2 por software (telecine por software).
-Si desea usar el filtro ivtc o detc en películas que estén parcialmente
-con telecine por software, insertando este filtro antes el proceso se hace
-de manera más fiable.
-.TP
-.B divtc[=opciones]
-Telecine inverso para video desentrelazado.
-Si video con telecine 3:2-pulldown ha perdido uno de los campos o está
-desentrelazado usando un método que mantiene un campo e interpola el otro,
-el resultado es un video en mal estado que tiene duplicado cada cuarto
-marco de imagen.
-Este filtro está pensado para encontrar y eliminar estos marcos de imagen
-duplicados y restaurar la tasa de imágenes por segundo original de la película.
-Cuando se usa este filtro, debe especificar \-ofps que es 4/\:5 del fps del
-archivo de entrada (23.976 si la entrada es 29.97fps).
-Las opciones son:
-.RSs
-.IPs pass=<1|2>
-Usa el modo de dos pasadas.
-Esto produce mejores resultados.
-La pasada 1 analiza el video y escribe los resultados en un archivo de log.
-La pasada 2 lee después de este archivo de log y usa la información para
-realizar el trabajo.
-Note que estas pasadas NO corresponden a las pasadas 1 y 2 del proceso de
-codificación.
-Para usar el divtc de dos pasadas con la codificación de dos pasadas, debe
-realizar tres pasadas: primero divtc pasada 1 y codificación pasada 1, luego
-divtc pasada 2 y codificación pasada 1, y finalmente divtc pasada 2 y
-codificación pasada 2.
-.IPs file=nombrearchivo
-Establece el nombre del archivo del log de 2-pasadas (por defecto:
-"framediff.log").
-.IPs threshold=valor
-Establece la fuerza mínima que el patrón de telecine debe tener para que
-el filtro lo detecte (por defecto: 0.5).
-Esto se usa para evitar reconocimientos erróneos de patrones desde las partes
-de video que sean muy oscuras o fijas.
-.IPs window=numframes
-Establece el número de marcos pasados para buscar cuando se busca un
-patrón (por defecto: 30).
-Ventanas mayoras mejoran la calidad del patrón de búsqueda, pero ventanas
-más pequeñas mejoran el tiempo de reacción de los cambios en la fase del
-telecine.
-Esto solo afecta al modo de una pasada.
-El modo de dos pasadas actualmente usa ventana fija que se extiende al futuro
-y al pasado.
-.IPs phase=0|1|2|3|4
-Establece la fase de telecine inicial para el modo de una pasada
-(por defecto: 0).
-El modo de dos pasadas puede ver el futuro, es capaz de usar la fase correcta
-desde el principio, pero el modo de una pasada solo puede suponerlo.
-Cachea la fase correcta cuando la encuentra, pero esta opción se puede usar
-para arreglar posibles problemas desde el principio.
-La primera pasada en el modo de dos pasadas también usa esto, por eso si
-guarda la salida de la primera pasada, puede obtener un resultado de fase
-constante.
-.IPs deghost=valor
-Establece el valor para deghosting (0\-255 para el modo de una pasada,
-\-255\-255 para el modo de dos pasadas, por defecto 0).
-Si no es cero, se usa el modo deghost.
-Esto es para el video que ha sido desentrelazado uniendo los campos en lugar
-de eliminar un campo.
-Deghosting amplifica cualquier artefacto debido a la compresión en los
-marcos de imagen que han unido los campos, por eso el parámetro de valor
-se usa como umbral para excluir esos pixels del deghosting que difieren
-de los del marco de imagen previo menos que el valor especificado.
-Si se usa el modo de dos pasadas, puede usarse un valor negativo para hacer
-que el filtro analice el video completo al principio de la segunda pasada
-para determinar si se necesita deghosting o no y entonces elige o cero
-o el valor absoluto del parámetro.
-Especifique esta opción para 2 pasadas, no hay diferencia en una pasada.
-.RE
-.TP
-.B phase=[t|b|p|a|u|T|B|A|U][:v]
-Retardo del video entrelazado por un campo temporal para el cambio de orden
-en el campo.
-La intención del uso de esto es arreglar películas PAL que hayan sido
-capturadas con el orden de campo opuesto a la transferencia de película
-a video.
-Las opciones son:
-.RSs
-.IPs t
-Orden del campo de captura primero-arriba, transferir primero-abajo.
-El filtro retrasa el campo inferior.
-.IPs b
-Captura campo-inferior, transferir primero-arriba.
-El filtro retrasa el campo superior.
-.IPs p
-Captura y transfiere con el mismo orden el campo.
-Este modo solo existe para la documentación de las otras opciones que se
-refieren a él, pero si actualmetne lo selecciona, no hará nada ;-)
-.IPs a
-Orden de captura de campo determinado automáticamente por etiquetas de campo,
-transferencia opuesta.
-El filtro selecciona el modo t y b en una base marco a marco usando etiquetas
-de campo.
-Si no hay información de campo disponible, entonces funciona igual que el u.
-.IPs u
-Captura desconocida o variante, transferencia opuesta.
-El filtro selecciona el modo t y b en una base marco a marco analizando las
-imágenes y seleccionando la alternativa que produce la mejor relación entre los
-campos.
-.IPs T
-Captura top-first, transferencia desconocida o variante.
-El filtro selecciona t y p usando análisis de la imagen.
-.IPs B
-Captura bottom-first, transferencia desconocida o variante.
-El filtro selecciona cuánto b y p usando análisis de la imagen.
-.IPs A
-Captura determinada por etiquetas de campo, transferencia desconocida o variante.
-El filtro selecciona cuántos t, b y p usando etiquetas de campo y análisis de
-la imagen.
-Si no hay información de campo disponible, entonces funciona como el modo U.
-Este es el modo por defecto.
-.IPs U
-Ambas capturas y transferencia desconocida o variante.
-El filtro selecciona la cantidad de t, b y p usando análisis de imagen solamente.
-.IPs v
-Operación prolija.
-Muestra el modo seleccionado para cada marco y hace la media cuadrada de la
-diferencia entre campos para t, b y p alternativamente.
-.RE
-.TP
-.B telecine[=inicio]
-Aplica proceso de "telecine" 3:2 para incrementar las imágenes por segundo
-en un 20%. Esto la mayoría de las veces no funciona correctamente con MPlayer,
-pero puede usarse con 'mencoder \-fps 29.97 \-ofps 29.97 \-vf telecine'. ¡Ambas
-opciones son esenciales! (la sincronización A/\:V puede romperse si se ponen
-mal). El parámetro opcional inicio le dice al filtro donde iniciar el
-patrón de telecine (0\-3).
-.TP
-.B tinterlace[=modo]
-Entrelazado de campo temporal \- mezcla pares de marcos en un marco
-entrelazado, dividiendo en dos el número de imágenes por segundo.
-Los marcos pares son movidos en el campo superior, los impares en el campo
-inferior.
-Esto puede ser usado para invertir totalmente el efecto del filtro tfields
-(en modo 0).
-Los modos disponibles son:
-.PD 0
-.RSs
-.IPs 0
-marcos impares en campo superior, pares en inferior, generando un marco
-de imagen completo a la mitad de imágenes por segundo
-.IPs 1
-solo saca los marcos impares, los pares son eliminados, la altura no cambia
-.IPs 2
-solo saca los marcos pares, los impares son eliminados, la altura no cambia
-.IPs 3
-expande cada marco a su altura completa, pero rellena líneas alternas con
-negro, las imágenes por segundo no cambian
-.RE
-.PD 1
-.TP
-.B tfields[=modo]
-Separación temporal de campo \- separa campos en imágenes, doblando el
-número de imágenes por segundo de salida. Como el filtro de
-telecine, 'tfields' solo funciona correctamente con mencoder, y solo si ambas
-opciones \-fps y \-ofps están establecidas al deseao (doble) número de
-imágenes por segundo! Los modos disponibles son:
-.PD 0
-.RSs
-.IPs 0
-deja los campos sin cambios (esto produce saltos/parpadeos)
-.IPs 1
-interpola líneas que falten (el algoritmo usado puede no ser del todo bueno)
-.IPs 2
-translada campos por 1/\:4 de pixel con interpolación lineal (sin saltos)
-.IPs 4
-translada campos por 1/\:4 de pixel con filtro 4tap (alta calidad)
-.RE
-.PD 1
-.TP
-.B boxblur=radius:power[:radius:power]
-caja de difuminado
-.PD 0
-.RSs
-.IPs radius
-tamaño del filtro
-.IPs power
-Hasta donde debe ser aplicado el filtro.
-.RE
-.PD 1
-.TP
-.B sab=rad:pf:colorDiff[:rad:pf:colorDiff]
-difuminado de forma adaptativo
-.PD 0
-.RSs
-.IPs "rad\ \ \ "
-dureza del filtro de difuminado (~0.1\-4.0) (más lento cuanto mayor sea)
-.IPs "pf\ \ \ "
-dureza del prefiltrado (~0.1\-2.0)
-.IPs colorDiff
-Cuánto se pueden considerar de diferentes los pixels.
-(~0.1\-100.0)
-.RE
-.PD 1
-.TP
-.B smartblur=rad:strength:thresh[:rad:strength:thresh]
-difuminado inteligente
-.PD 0
-.RSs
-.IPs "rad\ \ "
-dureza del filtro de difuminado (~0.1\-5.0) (más lento cuanto mayor sea)
-.IPs strength
-difuminado (0.0\-1.0) o perfilado (\-1.0\-0.0)
-.IPs thresh
-filtrar todo (0), filtrar áreas planas (0\-30) o filtrar bordes (\-30\-0)
-.RE
-.PD 1
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-corrección de perspectiva
-.PD 0
-.RSs
-.IPs x0,y0,...
-coordenadas de las esquinas de arriba a la izquierda, arriba a la derecha,
-abajo a la izquierda y abajo a la derecha
-.IPs "t\ \ \ \ "
-muestreo lineal (0) o cúbico (1)
-.RE
-.PD 1
-.TP
-.B "2xsai\ \ "
-Usa escala 2x y algoritmo de interpolación para escalar y suavizar imágenes.
-.TP
-.B "1bpp\ \ \ "
-conversión de mapa de bits de 1bpp a YUV/\:BGR 8/\:15/\:16/\:32
-.TP
-.B down3dright[=líneas]
-Reposición y tamaño de imágenes estereoscópicas.
-Extrae ambos campos estéreso y los coloca lado a lado, redimensionandolos
-para mantener el aspecto original de la película.
-.PD 0
-.RSs
-.IPs líneas
-número de líneas a seleccionar desde el centro de la imagen (por defecto: 12)
-.RE
-.PD 1
-.TP
-.B bmovl=hidden:opaque:<fifo>
-Lee mapas de bits de un FIFO y los muestra en una ventana.
-.
-.PD 0
-.RSs
-.IPs hidden
-Establece el valor por defecto de la bandera 'oculto' (booleano)
-.IPs opaque
-bandera que cambia entre modos alphablended (tranparente) y opaco (rápido)
-.IPs "fifo\ "
-ruta/\:nombrearchivo para el FIFO (nombre de tubería conectando con mplayer
-\-vf bmovl a la aplicación que lo controla)
-.RE
-.PD 1
-
-.RS
-Los comandos para FIFO son:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 ancho alto xpos ypos alpha clear"
-seguido de ancho*alto*4 Bytes de datos crudos RGBA32.
-.IPs "ABGR32 ancho alto xpos ypos alpha clear"
-seguido de ancho*alto*4 Bytes de datos crudos ABGR32.
-.IPs "RGB24 ancho alto xpos ypos alpha clear"
-seguido de ancho*alto*3 Bytes de datos crudos RGB32.
-.IPs "BGR24 ancho alto xpos ypos alpha clear"
-seguido de ancho*alto*3 Bytes de datos crudos BGR32.
-.IPs "ALPHA ancho alto xpos ypos alpha"
-cambia alpha por área
-.IPs "CLEAR ancho alto xpos ypos"
-limpia área
-.IPs OPAQUE
-desactiva toda transparencia alpha.
-Envíe "ALPHA 0 0 0 0 0" para activarla de nuevo.
-.IPs "HIDE\ "
-oculta mapas de bits
-.IPs "SHOW\ "
-muestra mapas de bits
-.RE
-.PD 1
-
-.RS
-Los argumentos son:
-.RE
-.PD 0
-.RSs
-.IPs "ancho, alto"
-tamaño de la imagen/\:área
-.IPs xpos, ypos
-comienza a actuar en posición X/\:Y
-.IPs alpha
-Establece diferencia alpha.
-Si establece el valor a \-255 puede enviar una secuencia de órdenes-ALPHA
-para establecer el área a \-225, \-200, \-175 etc para un bonito efecto de
-desvanecimiento ;)
-.RSss
-0: igual que el original
-.br
-255: hace que todo sea opaco
-.br
-\-255: hace que todo sea transparente
-.REss
-.IPs clear
-limpia el framebuffer antes de comenzar.
-.RSss
-0: La imagen es intercambiada encima de la antigua, no necesita enviar 1.8MB
-de datos RGBA32 todo el tiempo ya que solo una pequeña parte de la pantalla
-es actualizada.
-.br
-1: limpiar
-.REss
-.RE
-.PD 1
-.TP
-.B framestep=I|[i]paso
-Filtra solamente el marco Intra (clave) o uno cada paso.
-Si llama al filtro con I (en mayúsculas) como parámetro entonces
-SOLO los marcos clave van en la salida.
-Para DVD esto significa, generalmente, un marco cada 15/\:12 (IBBPBBPBBPBBPBB),
-para AVI significa en cada cambio de escena o en todos los valores clave enteros
-(vea \-lavcopts keyint=valor si usa MEncoder para codificar el video).
-.sp 1
-Cuando se encuentra un marco clave, una 'I!' seguida de un caracter de nueva
-línea es escrita, dejando la línea actual de mplayer/\:mencoder, donde obtiene
-el tiempo (en segundos) y el número de marco clave.
-(Puede usar esta información para cortar el AVI).
-.sp 1
-Si llama al filtro con un parámetro numérico n entonces solo un marco cada
-n es enviado a la salida.
-.sp 1
-Si usa una 'i' (en minúsculas) antes del número entonces se escribe una ¡I!
-(como con el parámetro I).
-
-Si coloca solo la i entonces no ocurre nada en los marcos, solo la ¡I! es impresa.
-.TP
-.B tile=xtile:ytile:output:start:delta
-Crea un mosaico con una serie de imágenes en una imagen simple, grande.
-Si omite un parámetro o usa un valor menor de 0, entonces se usará el
-valor por defecto.
-También puede detenerlo cuando desee (... \-vf file=10:5 ...).
-.
-Probablemente sea una buena idea colocar un filtro de escalado antes del de
-mosaico :-)
-.br
-Los parámetros son:
-.sp 1
-.PD 0
-.RSs
-.IPs xtile
-número de mosaicos en el eje x (por defecto: 5)
-.IPs ytile
-número de mosaicos en el eje y (por defecto: 5)
-.IPs output
-Renderiza el mosaico cuando 'output' número de marcos se han alcanzado,
-donde 'output' debe ser un número menor que xtile * ytile.
-Los mosaicos que falten se dejan en blanco.
-Usted puede, por ejemplo, escribir un mosaico de 8 * 7 cada 50 marcos para
-obtener una imagen cada 2 segundos @ 25 fps.
-.IPs start
-pixel donde se empieza (x/\:y) (por defecto: 2)
-.IPs delta
-pixel entre cada 2 mosaicos, (x/\:y) (por defecto: 4)
-.RE
-.PD 1
-.TP
-.B delogo[=x:y:w:h:t]
-Suprime el logo de una estación de TV mediante una interpolación simple de
-los pixels de alrededor.
-Establece un rectángulo cubriendo el logo y lo hace desaparecer (y
-algunas veces aparece algo más feo incluso \- su experiencia puede variar).
-.PD 0
-.RSs
-.IPs x,y
-Posición de la esquina de arriba a la izquierda del logo.
-.IPs w,h
-Ancho y alto del rectángulo a limpiar.
-.IPs t
-Anchura del filo borroso del rectángulo (añadida a w y h). Cuando
-se establece en \-1, un rectángulo verde se dibuja en la pantalla para
-simplificarla busqueda de los parámetros x, y, w, h correctos.
-.RE
-.PD 1
-.TP
-.B zrmjpeg[=opciones]
-Codificador por software de YV12 a MJPEG para uso con dispositivo de
-salida de video zr2.
-.RSs
-.IPs maxheight=h|maxwidth=w
-Estas opciones establecen el ancho y alto máximos que la tarjeta zr
-puede manejar.
-La capa de filtros de MPlayer no puede hacer actualmente esto.
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Use estas opciones para establecer maxheight y maxwidth automáticamente
-a los valores conocidos por la combinación tarjeta/\:modo.
-Por ejemplo, opciones válidas son: dc10-PAL y buz-NTSC (por defecto: dc10+PAL).
-.IPs color|bw
-Elige color o blanco y negro para la codificación.
-La codificación en blanco y negro es más rápida.
-Por defecto es en color.
-.IPs hdec={1,2,4}
-Decimación horizontal 1, 2 ó 4.
-.IPs vdec={1,2,4}
-Decimación vertical 1, 2 ó 4.
-.IPs quality=1\-20
-Establece la calidad en la compresión JPEG [MEJOR] 1 \- 20 [MUY MALA].
-.IPs fd|nofd
-Por defecto, la decimación solo se hace si el hardware Zoran puede
-sobreescalar las imágenes MJPEG resultantes al tamaño original.
-La opción fd le indica al filtro que siempre haga la decimación
-(antiestético).
-.RE
-.
-.
-.SH "OPCIONES DE CODIFICACIÓN GENERALES (SOLAMENTE MENCODER)"
-.TP
-.B \-audio\-delay <0.0\-...>
-Establece el campo de retardo de audio en la cabecera.
-Por defecto es 0.0, valores negativos no funcionan.
-Esto no retrasa el audio durante la codificación, si no que el reproductor
-ve el retardo por defecto de audio, permitiendo el uso de la opción \-delay.
-.TP
-.B \-audio\-density <1\-50>
-Número de chunks de audio por segundo (por defecto es 2 para trozos de audio
-largos de 0.5s).
-.br
-.I NOTA:
-Solamente CBR, VBR ignora esto ya que pone cada paquete en un trozo nuevo.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-Establece el intervalo de tiempo para buffer de audio (por defecto: 0.5s).
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|tamaño[b|kb|mb]> (vea también la opción \-ss y \-sb)
-Detiene la codificación en el tiempo indicado o la posición en bytes.
-Puede especificarse de varios modos:
-.br
-.I NOTA:
-La posición en bytes no es precisa, porque solo se puede
-parar en imágenes frontera.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-codifica solo 56 segundos
-.IPs "\-endpos 01:10:00"
-codifica solo 1 hora y 1 minutos
-.IPs "\-endpos 100mb"
-codifica solo 100 MBytes
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-Puede usarse para forzar el fourcc de video en el archivo de salida.
-
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-se tendrá un archivo de salida conteniendo 'div3' como fourcc de video.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-Sobreescribe la razón de aspecto guardada en la cabecera vprp del AVI OpenDML.
-Puede usarse para cambiar la razón de aspecto con \-ovc copy.
-.TP
-.B \-info <opción1:opción2:...> (AVI solamente)
-Especifica la información de cabecera del archivo AVI resultante.
-.br
-Las opciones disponibles son:
-.
-.RSs
-.IPs "help\ "
-muestra esta descripción
-.IPs name=<valor>
-título del trabajo
-.IPs artist=<valor>
-artista o autor del trabajo
-.IPs genre=<valor>
-categoría de trabajo original
-.IPs subject=<valor>
-contenido del trabajo
-.IPs copyright=<valor>
-información de copyright
-.IPs srcform=<valor>
-formato original del material digitalizado
-.IPs comment=<valor>
-comentarios generales acerca del trabajo
-.RE
-.
-.TP
-.B \-noautoexpand
-No inserta automáticamente el filtro de expandir en la cadena de filtros
-de MEncoder. Útil para controlar en que punto de la cadena de filtros se
-renderizan los subtítulos cuandor se están codificando dentro de la película.
-.TP
-.B \-noodml (\-of avi solamente)
-No escribe índice OpenDML para archivos > 1GB.
-.TP
-.B \-noskip
-No se salta imágenes.
-.TP
-.B \-o <nombrearchivo>
-Redirige la salida al nombrearchivo dado, en lugar de usar 'test.avi' por defecto.
-.TP
-.B \-oac <nombre codec>
-Codifica con el codec de audio especificado.
-Use \-oac help para obtener una lista de los codecs disponibles.
-(no hay un valor establecido por defecto)
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-oac copy"
-no codifica, solo copia el flujo
-.IPs "\-oac pcm"
-codifica en PCM sin comprimir
-.IPs "\-oac mp3lame"
-codifica a MP3 (usando Lame)
-.IPs "\-oac lavc"
-codifica con codec libavcodec
-.RE
-.PD 1
-.
-.TP
-.B \-of <formato> (¡CÓDIGO BETA!)
-Codifica en el formato especificado.
-Use \-of help para obtener una lista de formatos disponibles.
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-of avi"
-Codifica a avi (por defecto).
-.IPs "\-of mpeg"
-Codifica a MPEG.
-.IPs "\-of rawvideo"
-flujo de video sin procesar (no multiplexa \- solo video, solo un flujo)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-El archivo de salida tendrá diferentes imágenes:seg que el origen.
-DEBE establecerse para fps variable (asf, algunos mov) y archivos
-progresivos (MPEG telecine de 29.97fps).
-.TP
-.B \-ovc <nombre codec>
-Codifica con el codec de video especificado.
-Use \-ovc help para obtener una lista de los codecs disponibles.
-(no hay un valor por defecto establecido)
-.sp 1
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-no codifica, solo copia el flujo
-.IPs "\-ovc divx4"
-codifica a DivX4/\:DivX5
-.IPs "\-ovc raw"
-codifica a un formato arbitrario sin comprimir (use \-vf format para seleccionarlo)
-.IPs "\-ovc lavc"
-codifica con codecs libavcodec
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <nombrearchivo>
-Cuando se codifica en modo 2pasadas, MEncoder vuelva la información de
-la priemra pasada al archivo dado en lugar del divx2pass.log por defecto.
-.TP
-.B \-skiplimit <valor>
-Número máximo de imágenes que se pueden saltar después de una sin saltar
-(\-noskiplimit para un número ilimitado).
-.TP
-.B \-vobsubout <nombrebase>
-Especifica el nombrebase del archivo de salida .idx y .sub.
-Esto desactiva el renderizado de subtítulos en la película codificada y
-lo desvía a archivos de subtítulo VOBsub.
-.TP
-.B \-vobsuboutid <langid>
-Especifica el código de idioma de dos letras para los subtítulos.
-Esto indica cuál será leido del DVD o el archivo .ifo.
-.TP
-.B \-vobsuboutindex <índice>
-Especifica el índice de los subtítulos en los archivos de salida.
-(por defecto: 0)
-.
-.
-.SH "OPCIONES ESPECÍFICAS DE CODECS PARA CODIFICACIÓN (MENCODER SOLAMENTE)"
-Puede espeficiar parámetros de codificación específicos de un codec usando
-la siguiente sintaxis:
-.TP
-.B \-<codec>opts <opción1[=valor],opción2,...>
-.
-.PP
-Donde <codec> puede ser: lavc, xvidenc, divx4, lame, x264
-.
-.
-.SS divx4 (\-divx4opts)
-.
-DivX4 está obsoleto y solo tiene soporte por completitud.
-Para detalles acerca de las opciones para divx4, lea el código, la
-mayoría de las opciones no se describen aquí.
-.TP
-.B "help\ \ \ "
-obtener ayuda
-.TP
-.B br=<valor>
-especifica el bitrate
-.RSs
-.IPs 4\-16000
-(en kbit)
-.IPs 16001\-24000000
-(en bit)
-.RE
-.TP
-.B key=<valor>
-intervalo máximo para el keyframe (en marcos)
-.TP
-.B deinterlace
-activar desentrelazado (evite esto, DivX4 falla mucho)
-.TP
-.B q=<1\-5>
-calidad (1\-el más rápido, 5\-el mejor)
-.TP
-.B min_quant=<1\-31>
-cuantizador mínimo
-.TP
-.B max_quant=<1\-31>
-cuantizador máximo
-.TP
-.B rc_period=<valor>
-período de tasa de control
-.TP
-.B rc_reaction_period=<valor>
-período de reacción de la tasa de control
-.TP
-.B rc_reaction_ratio=<value>
-razón de reacción de la tasa de control
-.TP
-.B crispness=<0\-100>
-especifica encrespadura/\:suavizado
-.TP
-.B pass=<1\-2>
-Con esto puede codificar archivos DivX4 en 2pasadas.
-Primero codifica con pass=1, después con los mismos parámetros, codifica
-con pass=2.
-.TP
-.B vbrpass=<0\-2>
-No tiene en cuenta el argumento pass y usa XviD VBR Library en lugar
-de DivX4 VBR. Las opciones disponibles son:
-.
-.RSs
-.IPs 0
-codificación en una pasada (como si no se pusiese nada en la línea de órdenes)
-.IPs 1
-Análisis (primero) pasada de la codificación en dos pasadas.
-El archivo AVI resultante puede ser dirigido a /dev/\:null.
-.IPs 2
-Pasada (segunda) final de la codificación en dos pasadas.
-.RE
-.
-.
-.SS lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-obtiene ayuda
-.TP
-.B vbr=<0\-4>
-método de bitrate variable
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (por defecto)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.TP
-.B "abr\ \ \ \ "
-bitrate medio
-.TP
-.B "cbr\ \ \ \ "
-bitrate constante.
-.br
-Fuerza también codificación en modo CBR en los modos preestablecidos
-ABR siguientes.
-.TP
-.B br=<0\-1024>
-especifica el bitrate en kBit (solamente CBR y ABR)
-.TP
-.B q=<0\-9>
-calidad (0\-la más alta, 9\-la más baja) (solamente para VBR)
-.TP
-.B aq=<0\-9>
-calidad algorítmica (0\-el mejor/\:el más lento, 9\-el peor/\:el más rápido)
-.TP
-.B ratio=<1\-100>
-razón de compresión
-.TP
-.B vol=<0\-10>
-establece la ganancia de audio de entrada
-.TP
-.B mode=<0\-3>
-(por defecto: auto)
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-joint-stereo
-.IPs 2
-dualchannel
-.IPs 3
-mono
-.RE
-.PD 1
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-no
-.IPs 1
-todo
-.IPs 2
-ajustar
-.RE
-.PD 1
-.TP
-.B "fast\ \ \ "
-cambia en codificación rápida en modos preestablecidos VBR siguientes,
-calidad ligeramente inferior y bitrates altos.
-.TP
-.B highpassfreq=<freq>
-Establece una precuencia de filtrado paso alta en Hz.
-Las frecuencias por debajo de la especificada serán atenuadas.
-Un valor de \-1 desactiva el filtrado, un valor de 0 hace
-que se elijan los valores automáticamente.
-.TP
-.B lowpassfreq=<freq>
-Establece una frecuencia de filtrado paso baja en Hz.
-Frecuencias por encima de la especificada serán atenuadas.
-Un valor de \-1 desactiva el filtrado, un valor de 0 hace
-que se elijan los valores automáticamente.
-.TP
-.B preset=<valor>
-valores preestablecidos
-.RSs
-.IPs medium
-codificación VBR, buena calidad, rango de bitrate 150\-180 kbps.
-.IPs standard
-codificación VBR, alta calidad, rango de bitrate 170\-210 kbps.
-.IPs extreme
-codificación VBR, calidad muy alta, rango de bitrate 200\-240 kbps.
-.IPs insane
-codificación CBR, la más alta calidad preestablecida, bitrate a 320 kbps.
-.IPs <8\-320>
-codificación ABR con el bitrate medio dado en kbps.
-.RE
-
-.RS
-.I EJEMPLO:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-para la mayoría de la gente en la mayoría de la música, una calida bastante alta.
-.IPs cbr:preset=192
-codifica con preestablecidos ABR a 192 kbps forzando bitrate constante.
-.IPs preset=172
-codifica con preestablecidos ABR a 172 kbps con bitrate medio.
-.IPs preset=extreme
-para gente con oido extremadamente bueno y equipo similar.
-.IPs preset=help
-imprime opciones adicionales e información en la configuración preestablecida.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-.
-Muchas de las opciones de lavc son muy especializadas y concísamente
-documentadas. Lea el código fuente para los detalles completos.
-.PP
-.I EJEMPLO:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B acodec=<valor>
-Codec de audio (por defecto: mp2):
-.PD 0
-.RSs
-.IPs mp2
-MPEG Layer 2
-.IPs mp3
-MPEG Layer 3
-.IPs ac3
-AC3
-.IPs adpcm_ima_wav
-PCM IMA Adaptativo (4bits por muestra, compresión 4:1)
-.RE
-.PD 1
-.TP
-.B abitrate=<valor>
-Tasa de bits de audio en kBit (por defecto 224).
-.TP
-.B atag=<valor>
-Usa la etiqueta de formato de audio de Windows especificada (e.g.\& atag=0x55).
-.TP
-.B bit_exact
-Usa solo algoritmos de bit exacto (excepto (i)dct).
-Adicionalmente bit_exact desactiva varias optimizaciones y por
-eso solo debe usarse para test de regresión que necesiten archivos
-binarios idénticos incluso si cambia la versión del codificador.
-También suprime el encabezado user_data en flujos MPEG-4.
-No use esta opción a menos que sepa exactamente lo que está haciendo.
-.TP
-.B threads=<1\-8>
-Número máximo de threads a usar (por defecto: 1).
-.RE
-.TP
-.B vcodec=<valor>
-Usa el codec especificado (por defecto: mpeg4):
-.PD 0
-.RSs
-.IPs mjpeg
-Motion JPEG
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs mpeg4
-DivX 4/\:5
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG4v2
-.IPs wmv1
-Windows Media Video 7
-.IPs wmv2
-Windows Media Video 8
-.IPs rv10
-un codec RealVideo antiguo
-.IPs mpeg1video
-MPEG1 video :)
-.IPs huffyuv
-HuffYUV
-.RE
-.PD 1
-.TP
-.B vqmin=<1\-31>
-cuantizador mínimo (pasada\ 1/\:2)
-.RSs
-.IPs 1
-No recomendado (archivo mucho mayor, poca diferencia de calidad y efectos
-colaterales malos: msmpeg4, h263 debe tener muy poca calidad, el control de
-tasa puede confundirse resultando en peor calidad y algunos decodificadores
-pueden no ser capaces de decodificarlo).
-.IPs 2
-Recomendado para codificación mpeg4/\:mpeg1video normal (por defecto).
-.IPs 3
-Recomendado para h263(p)/\:msmpeg4.
-La razón para preferir 3 sobre 2 es que 2 puede dar overflows (esto será
-corregido para h263(p) cambiando el cuantizador por MB en el futuro,
-msmpeg4 no puede corregirlo porque no tiene soporte para ello).
-.RE
-.TP
-.B lmin=<0.01\-255.0>
-Multiplicador de lagrange mínimo para control de tasa de bits, probablemente desee
-usar un valor igual o menor que vqmin. (por defecto: 2.0).
-.RE
-.TP
-.B lmax=<0.01\-255.0>
-multiplicador de lagrange máximo para control de tasa de bits
-(por defecto: 31.0)
-.RE
-.TP
-.B vqscale=<1\-31>
-Cuantizador constante /\: codificación de calidad constante (selecciona el modo
-de cuantizador fijo).
-Un valor menor significa mejor calidad pero archivos grandes (por defecto: 0
-(desactivado)).
-1 no se recomienda (vea vqmin para más detalles).
-.TP
-.B vqmax=<1\-31>
-cuantizador máximo (pasada\ 1/\:2) 10\-31 debe ser un rango aceptable
-(por defecto: 31)
-.TP
-.B mbqmin=<1\-31>
-cuantizador mínimo de macrobloque (pasada\ 1/\:2) (por defecto: 2)
-.TP
-.B mbqmax=<1\-31>
-cuantizador máximo de macrobloque (pasada\ 1/\:2) (por defecto: 31)
-.TP
-.B vqdiff=<1\-31>
-máxima diferencia del cuantizador entre marcos I o P (pasada\ 1/\:2) (por defecto: 3)
-.TP
-.B vmax_b_frames=<0\-4>
-número de marcos B entre marcos no B:
-.PD 0
-.RSs
-.IPs 0
-sin marcos B (por defecto)
-.IPs 0\-2
-rango correcto para MPEG4
-.RE
-.PD 1
-.TP
-.B vme=<0\-5>
-método de estimación del movimiento.
-.br
-.I NOTA:
-0\-3 actualmente ignora la cantidad de Bits usados,
-y la calidad puede ser baja. Los métodos disponibles son:
-.PD 0
-.RSs
-.IPs 0
-nada (calidad muy baja)
-.IPs 1
-completo (lento)
-.IPs 2
-log (calidad baja)
-.IPs 3
-phods (calidad baja)
-.IPs 4
-EPZS (por defecto)
-.IPs 5
-X1 (experimental)
-.RE
-.PD 1
-.TP
-.B me_range=<0\-9999>
-rango de búsqueda de estimación de movimiento, 0 (por defecto) significa
-sin límite.
-.TP
-.B mbd=<0\-2>
-algoritmo de decisión de macrobloque (modo alta calidad), codifica cada macro
-bloque en todos los modos y elije el mejor.
-Esto es lento pero resulta en una mejor calidad y tamaño del archivo.
-.PD 0
-.RSs
-.IPs 0
-usa mbcmp (por defecto)
-.IPs 1
-selecciona el modo MB que necesita los menos bits posibles (=vhq)
-.IPs 2
-selecciona el modo MB que tiene la mejor razón de distorsión
-.RE
-.PD 1
-.TP
-.B "vhq\ \ \ \ "
-Lo mismo que mbd=1, se mantiene por razones de compatibilidad.
-.TP
-.B "v4mv\ \ \ "
-Permite 4 vectores de movimiento por macrobloque (calidad ligeramente superior).
-.TP
-.B "obmc\ \ \ "
-Compensación de movimiento por bloque superpuesto (H.263+).
-.TP
-.B "loop\ \ \ "
-Filtro de bucle (H.263+).
-nota, no funciona
-.TP
-.B inter_threshold <\-1000\-1000>
-Actualmente no hace absolutamente nada.
-.TP
-.B keyint=<0\-300>
-intervalo máximo entre marcos clave en los marcos.
-Los marcos clave son necesarios para posicionamiento y el posicionamiento solo
-es posible en esos marcos clave, sin embargo los marcos clave necesitan más
-espacio que otros y un número grande para este valor hace que los archivos
-sean ligeramente menores, pero menos precisos en el posicionamiento, 0 significa
-no usar marcos clave.
-Valores >300 no son recomendables porque la calidad puede ser muy mala dependiendo
-del decodificador, codificador y suerte.
-Para un cumplimiento estricto de MPEG1/\:2/\:4 este debe ser <=132.
-(por defecto: 250 o un marco clave cada diez segundos en una película de 25fps)
-.TP
-.B sc_threshold=<\-1000000\-1000000>
-Umbral para la detección del cambio de escena.
-Libavcodec inserta un marco clave cuando detecta un cambio de escena.
-Puede especificar la sensibilidad de la detección con esta opción.
-\-1000000 significa que se detecta un cambio de escena en cada nuevo
-marco de imagen, 1000000 significa que no se detectan cambios de escena
-(el valor por defecto es 0).
-.TP
-.B vb_strategy=<0\-1>
-estrategia a elegir entre marcos I/\:P/\:B (pasada 2):
-.RSs
-.IPs 0
-usar siempre el número máximo de marcos B (por defecto)
-.IPs 1
-evitar marcos B en escenas de mucho movimiento (puede causar mala predicción
-de la tasa de bits)
-.RE
-.TP
-.B vpass=<1\-2>
-Activa el modo interno de dos pasadas, solo especificado si desea usar
-codificación en dos pasadas.
-.PD 0
-.RSs
-.IPs 1
-primera pasada
-.IPs 2
-segunda pasada
-.RE
-.PD 1
-
-.RS
-huffyuv:
-.RE
-.PD 0
-.RSs
-.IPs "pass 1"
-Guarda estadísticas.
-.IPs "pass 2"
-Codifica con tabla Huffman óptima basada en las estadísticas de la pasada 1.
-.RE
-.PD 1
-.TP
-.B aspect=<x/\:y>
-Almacena el aspecto de la película de forma interna, como los archivos MPEG.
-Mucho mejor solución que reescalar, porque la calidad no se ve decrementada.
-Solo MPlayer puede reproducir estos archivos correctamente, otros reproductores
-muestran mal el aspecto.
-El parámetro de aspecto puede darse como razón o como número en coma flotante.
-.sp 1
-.RS
-.I EJEMPLO:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/\:9 or aspect=1.78"
-.PD 1
-.RE
-.TP
-.B autoaspect
-Igual que la opción aspect, pero calcula automáticamente el aspecto,
-tomando en cuenta todos los ajustes (recorte/\:expansión/\:escalado/\:etc.)
-realizados en la cadena de filtrado.
-.TP
-.B vbitrate=<valor>
-especifica la tasa de bits (pasada\ 1/\:2).
-Advertencia: 1kBit = 1000 Bits.
-.RSs
-.IPs 4\-16000
-(en kbit)
-.IPs 16001\-24000000
-(en bit)
-.IPs 800
-por defecto
-.RE
-.TP
-.B vratetol=<valor>
-tolerancia del tamaño del archivo aproximada en kBit.
-1000\-100000 es un rango aceptable.
-(advertencia: 1kBit = 1000 Bits)
-(por defecto: 8000)
-.br
-.I NOTA:
-vratetol no debe ser demasiado grande durante la segunda pasada o puede
-haber problemas si se usa vrc_(min|max)rate.
-
-.TP
-.B vrc_maxrate=<valor>
-bitrate máximo en kbit/\:seg (pasada\ 1/\:2)
-.TP
-.B vrc_minrate=<valor>
-bitrate mínimo en kbit/\:seg (pasada\ 1/\:2)
-.TP
-.B vrc_buf_size=<valor>
-tamaño del buffer en kbit (pasada\ 1/\:2).
-Para MPEG1/\:2 también establece el tamaño del buffer vbv, use 327 para VCD,
-917 para SVCD y 1835 para DVD.
-.TP
-.B vrc_buf_aggressivity
-actualmente no se usa
-.TP
-.B vrc_strategy
-No tiene efecto, reservada para uso futuro.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-factor de cuantización entre marcos B y no B (pasada\ 1/\:2) (por defecto: 1.25)
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-(pasada\ 1/\:2) (por defecto: 0.8)
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-desplazamiento del cuantizador entre marcos B y no B (pasada\ 1/\:2)
-(por defecto: 1.25)
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-(pasada\ 1/\:2) (por defecto: 0.0)
-.br
-si v{b|i}_qfactor > 0
-.br
-cuantizador marco-I/\:B = cuantizador marco-P * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-si no
-.br
-haz ratecontrol normal (no bloquear al siguiente cuantizador de marco P) y
-establecer q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.TP
-.B "\ "
-Consejo: Para realizar una codificación con cuantización constante con
-diferentes cuantizadores para marcos I/\:P y B puede usar:
-lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>
-.TP
-.B vqblur=<0.0\-1.0> (pasada 1)
-Cuantizador difuminado, valores mayores hacen media del cuantizador
-sobre más tiempo (cambios lentos).
-.RSs
-.IPs 0.0
-qblur desactivado
-.IPs 0.5
-(por defecto)
-.IPs 1.0
-hace media del cuantizador sobre todos los marcos previos
-.RE
-.TP
-.B vqblur=<0.0\-99.0> (pasada 2)
-Cuantizador de difuminado gaussiano, valores mayores hacen media del
-cuantizador sobre más tiempo (cambios lentos) (por defecto: 0.5).
-.TP
-.B vqcomp=<valor>
-cuantizador de compresión, depende de vrc_eq (pasada\ 1/\:2) (por defecto: 0.5)
-.TP
-.B vrc_eq=<ecuación>
-ecuación principal de control de tasa (pasada\ 1/\:2):
-.RE
-.RSs
-.IPs "1\ \ \ \ "
-tasa de bits constante
-.IPs "tex\ \ "
-calidad constante
-.IPs 1+(tex/\:avgTex-1)*qComp
-aproximadamente la ecuación del códido antiguo de ratecontrol
-.IPs tex^qComp
-con qcomp 0.5 o similar (por defecto)
-.RE
-.PP
-.RS
-infijos de operadores: +,\-,*,/,^
-.RE
-.sp 1
-.RS
-variables:
-.RE
-.RSs
-.IPs "tex\ \ "
-complejidad de textura
-.IPs iTex,pTex
-complejidad de textura intra, no intra
-.IPs avgTex
-complejidad de textura media
-.IPs avgIITex
-complejidad de textura media en marcos I
-.IPs avgPITex
-complejidad de intra textura media en marcos P
-.IPs avgPPTex
-complejidad de no intra textura media en marcos P
-.IPs avgBPTex
-complejidad de no intra textura media en marcos B
-.IPs "mv\ \ \ "
-Bits usados para vectores de movimiento
-.IPs fCode
-longitud máxima del vector de movimiento en escala log2
-.IPs iCount
-número de intra macro bloques / número de macro bloques
-.IPs "var\ \ "
-complejidad espacial
-.IPs mcVar
-complejidad temporal
-.IPs qComp
-qcomp desde la línea de órdenes
-.IPs isI, isP, isB
-es 1 si el tipo de imagen es I/\:P/\:B si no 0
-.IPs "Pi,E\ "
-vea su libro de matemáticas favorito
-.RE
-.PP
-.RS
-funciones:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-máximo / mínimo
-.IPs gt(a,b)
-es 1 if a>b, 0 si no
-.IPs lt(a,b)
-es 1 if a<b, 0 si no
-.IPs eq(a,b)
-es 1 if a==b, 0 si no
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<opciones>
-Calidad especificada por el usuario para partes específicas (final,
-créditos, ..) (pasada\ 1/\:2).
-Las opciones son <marco-inicial>, <marco-final>, <calidad>[/\:<marco-inicial>,
-<marco-final>, <calidad>[/\:...]]:
-.RSs
-.IPs "calidad (2\-31)"
-cuantizador
-.IPs "calidad (\-500\-0)"
-corrección de calidad en %
-.RE
-.TP
-.B vrc_init_cplx=<0\-1000>
-compleijidad inicial (pasada\ 1)
-.TP
-.B vqsquish=<0,1>
-especifica cómo mantener el cuantizador entre qmin y qmax (pasada\ 1/\:2):
-.PD 0
-.RSs
-.IPs 0
-usar recorte
-.IPs 1
-usar una bonita función diferenciable (por defecto)
-.RE
-.PD 1
-.TP
-.B vlelim=<\-1000\-1000>
-Establece el coeficiente simple para el umbral de eliminación de luminancia.
-Valores negativos también pueden considerarse para el coeficiente dc (debe ser
-al menos \-4 o menor para codificar con quant=1):
-.PD 0
-.RSs
-.IPs 0
-desactivado (por defecto)
-.IPs \-4
-(recomendación JVT)
-.RE
-.PD 1
-.TP
-.B vcelim=<\-1000\-1000>
-Establece el coeficiente simple para el umbral de eliminación de crominancia.
-Valores negativos también pueden considerarse para el coeficiente dc (debe ser
-al menos \-4 o menor para codificar con quant=1):
-.PD 0
-.RSs
-.IPs 0
-desactivado (por defecto)
-.IPs 7
-(recomendación JVT)
-.RE
-.TP
-.B vstrict=<\-1,0,1>
-cumplimiento estricto del estandar
-.RSs
-.IPs 0
-desactivado (por defecto)
-.IPs 1
-solo recomendado si desea alimentar la salida en el decodificador de referencia
-MPEG4
-.IPs \-1
-permite codificación YV12 huffyuv no-estandar (archivos 20% más pequeños, pero no
-pueden ser reproducidos con el codec huffyuv oficial)
-.RE
-.PD 1
-.TP
-.B "vdpart\ "
-particionamiento de datos.
-Añade 2 Bytes por paquete de video, mejora resistencia-al-error cuando se
-transfiere a través de canales no fiables (ej.\& streaming sobre internet)
-Cada paquete de video debe ser codificado en 3 particiones diferentes:
-.PD 0
-.RSs
-.IPs "1. MVs"
-(movimiento)
-.IPs "2. coeficientes DC"
-(imagen de baja resolución)
-.IPs "3. coeficientes AC"
-(detalles)
-.RE
-.PD 1
-.TP
-.B "\ "
-MV & DC son los más importantes, su pérdida hace que se vea mucho peor la
-imagen que si se perdiese AC y las particiones 1. & 2. (MV&DC) son mucho
-menores que la partición 3. (AC) lo cual significa que errores que afecten
-a la partición AC son mucho menos importantes que en particiones MV&DC.
-De ahí, que la imagen se vea mejor con particionamiento que sin él, ya que
-sin particionamiento un error puede mandar al traste AC/\:DC/\:MV de igual modo.
-.TP
-.B vpsize=<0\-10000>
-tamaño del paquete de video, mejora resistencia-al-error (vea también
-la opción \-vdpart):
-.RSs
-.IPs 0
-desactivado (por defecto)
-.IPs 100\-1000
-buena elección
-.RE
-.TP
-.B "ss\ \ \ \ \ "
-modo estructurado slice para H.263+
-.TP
-.B "gray\ \ \ "
-codificación solo en escala de grises (rápida)
-.TP
-.B vfdct=<0\-10>
-algoritmo dct:
-.PD 0
-.RSs
-.IPs 0
-selecciona automáticamente uno bueno (por defecto)
-.IPs 1
-entero rápido
-.IPs 2
-entero con precisión
-.IPs 3
-mmx
-.IPs 4
-mlib
-.IPs 5
-altivec
-.IPs 6
-AAN en coma flotante
-.RE
-.PD 1
-.TP
-.B idct=<0\-99>
-algoritmo idct.
-.br
-.I NOTA:
-Según el mejor de nuestros conocimientos todos estos IDCTs pasan
-los tests de IEEE1180.
-.PD 0
-.RSs
-.IPs 0
-selecciona automáticamente uno bueno (por defecto)
-.IPs 1
-entero de jpeg de referencia
-.IPs 2
-simple
-.IPs 3
-simplemmx
-.IPs 4
-libmpeg2mmx (impreciso, NO USAR para codificación con keyint >100)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-altivec
-.IPs 9
-sh4
-.RE
-.PD 1
-.TP
-.B lumi_mask=<0.0\-1.0>
-máscara de luminancia
-.br
-.I ADVERTENCIA:
-Tenga cuidado, valores muy grandes pueden causar cosas desastrosas.
-.br
-.I ADVERTENCIA:
-Valores grandes pueden hacer que se vea bien en algunos monitores
-pero puede verse horrible en otros monitores:
-.RSs
-.IPs 0.0
-desactivado (por defecto)
-.IPs 0.0\-0.3
-rango correcto
-.RE
-.TP
-.B dark_mask=<0.0\-1.0>
-máscara de oscuridad
-.br
-.I ADVERTENCIA:
-Tenga cuidado, valores muy grandes pueden causar cosas desastrosas.
-.br
-.I ADVERTENCIA:
-Valores grandes pueden hacer que se vea bien en algunos monitores
-pero puede verse horrible en otros monitores / TV / TFT:
-.RSs
-.IPs 0.0
-desactivado (por defecto)
-.IPs 0.0\-0.3
-rango correcto
-.RE
-.TP
-.B tcplx_mask=<0.0\-1.0>
-máscara de complejidad temporal (por defecto: 0.0 (desactivado))
-.TP
-.B scplx_mask=<0.0\-1.0>
-Máscara de complejidad espacial.
-Valores grandes ayudan contra imágenes con bloques, si no hay filtro para
-eliminar esos bloques durante la decodificación.
-.br
-.I CONSEJO:
-Recorte cualquier borde negro completamente para reducir la calidad
-de los macro bloques (también se aplica sin scplx_mask).
-.RSs
-.IPs 0.0
-desactivado (por defecto)
-.IPs 0.0\-0.5
-rango correcto
-.RE
-.TP
-.B p_mask=<0.0\-1.0>
-inter MB máscara (por defecto: 0.0 (deshabilitado))
-.TP
-.B "naq\ \ \ \ "
-Cuantización adaptativa normalizada (experimental).
-Cuando se usa cuantización adaptativa (*_mask), la media por-MB del cuantizador
-puede no volver a coincidir con el nivel de marco del cuantizador requerido.
-Naq intentará ajustar los cuantizadores por-MB para mantener la media correcta.
-.TP
-.B "ildct\ \ "
-Usa dct entrelazado
-.TP
-.B "ilme\ \ \ "
-Usa estimación de movimiento entrelazada (mutuamente excluyente con qpel).
-.TP
-.B "alt\ \ \ \ "
-Usa scantable alternativa.
-.TP
-.B format=<valor>
-.RSs
-.IPs "YV12\ "
-por defecto
-.IPs "422P\ \ "
-para huffyuv or jpeg sin pérdida
-.IPs 411P,410P,BGR32
-para jpeg sin pérdidas
-.IPs 411P,YVU9
-para jpeg sin pérdidas y ffv1
-.IPs BGR32
-para jpeg sin pérdidas y ffv1
-.RE
-.TP
-.B "pred\ \ \ "
-(para huffyuv)
-.PD 0
-.RSs
-.IPs 0
-predicción de pérdidas
-.IPs 1
-predicción de plano/\:gradiente
-.IPs 2
-predicción media
-.RE
-.PD 1
-.TP
-.B pred
-(para jpeg sin pérdidas)
-.PD 0
-.RSs
-.IPs 0
-predicción de pérdidas
-.IPs 1
-predicción superior
-.IPs 2
-predicción superior de pérdidas
-.IPs 3
-predicción de plano/\:gradiente
-.IPs 6
-significado de predicción
-.RE
-.PD 1
-.TP
-.B "coder\ \ "
-(para ffv1)
-.PD 0
-.RSs
-.IPs 0
-codificación vlc (golomb rice)
-.IPs 1
-codificación aritmética (cabac)
-.RE
-.PD 1
-.TP
-.B context
-(para ffv1)
-.PD 0
-.RSs
-.IPs 0
-modelo de contexto pequeño
-.IPs 1
-modelo de contexto grande
-.RE
-.PD 1
-.TP
-.B "qpel\ \ \ "
-Usa compensación de movimiento quarter pel (mutamente excluyente con ilme).
-Sugerencia: Esto es útil solamente para codificaciones con tasa de bits alta.
-.TP
-.B ildctcmp=<0\-2000>
-función de comparación para la decisión de dct entrelazado
-.B precmp=<0\-2000>
-función de comparación para la estimación de movimiento pre pass
-.TP
-.B cmp=<0\-2000>
-función de comparación para la estimación de movimiento full pel
-.TP
-.B subcmp=<0\-2000>
-función de comparación para la estimación de movimiento sub pel
-.TP
-.B mbcmp=<0\-2000>
-función de comparación para la decisión de macrobloque, solo usado
-si mbd=0
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-suma de diferencias absolutas, rápido (por defecto)
-.IPs "1 (SSE)"
-suma de errores cuadráticos
-.IPs "2 (SATD)"
-suma de diferencias de transformadas de hadamard absolutas
-.IPs "3 (DCT)"
-suma de diferencias de trasnformadas dct absolutas
-.IPs "4 (PSNR)"
-suma de errores cuadráticos de cuantización (no usar, baja calidad)
-.IPs "5 (BIT)"
-número de bits necesarios para el bloque
-.IPs "6 (RD)"
-razón de distorsión óptima, lento
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-suma de las diferencias verticales absolutas
-.IPs "9 (VSSE)"
-suma de las diferencias verticales al cuadrado
-.IPs "10 (NSSE)"
-preservación del ruido sumando las diferencias cuadradas
-.IPs "+256\ "
-usar también crominancia, no funciona (correctamente) actualmente con marcos B
-.RE
-.PD 1
-.TP
-.B nsse=<0\-100>
-Peso NSSE, pesos más altos producen resultados más ruidosos, con 0 NSSE es
-idéntico a SSE
-.TP
-.B predia=<\-99\-6>
-Tipo y tamaño diamante para la estimación pre pasada de movimiento
-.TP
-.B dia=<\-99\-6>
-Estimación de movimiento tipo y tamaño diamante.
-.br
-.I NOTA:
-Los tamaños de los diamantes normales y la forma adaptativa no tienen
-el mismo significado.
-.IPs \-3
-forma adaptativa (rápido) diamante con tamaño 3
-.IPs \-2
-forma adaptativa (rápido) diamante con tamaño 2
-.IPs \-1
-experimental
-.IPs 1
-tamaño normal=1 diamante (por defecto) =tipo de diamante EPZS
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.br
-.IPs 2
-tamaño normal=2 diamantes
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.TP
-.B "trell\ \ "
-Cuantización de búsqueda Trellis.
-Esto encuentra la codificación óptima para cada bloque de 8x8.
-La cuantización de búsqueda Trelllis es bastante simple como cuantización
-óptima en el sentido de PSNR frente a tasa de bits (asumiendo que no hay
-errores de redundancia introducidos en el IDCT, que obviamente no es el caso)
-símplemente encuentras un bloque para el error mínimo y lambda*bits.
-.PD 0
-.RSs
-.IPs lambda
-constante de la que depende qp
-.IPs "bits\ "
-cantidad de bits necesarios para codificar el bloque
-.IPs error
-suma de errores cuadráticos de la cuantización
-.RE
-.PD 1
-.TP
-.B "cbp\ \ \ \ "
-Tasa el patrón de distorsión de código de bloque óptimo.
-Seleccionará el patrón de bloque codificado que minimize + lambda*tasa
-solo puede ser usado junto con cuantización trellis.
-.TP
-.B "mv0\ \ \ \ "
-Intenta codificar cada MB con MV=<0,0> y elije el mejor
-esto no tiene ningún efecto si mbd=0.
-.TP
-.B "qprd\ \ \ "
-QP de tasa de distorsión óptimo para un lambda dado de cada macrobloque,
-note que esto necesita mbd=2
-.TP
-.B last_pred=<0\-99>
-Cantidad de predictores de movimiento desde los marcos previos
-.PD 0
-.RSs
-.IPs 0
-(por defecto)
-.IPs a
-usa 2a+1 x 2a+1 macro bloques cuadrados de predictores de vector
-de movimiento desde el marco anterior
-.RE
-.PD 1
-.TP
-.B preme=<0\-2>
-pre-pasada de estimación de movimiento
-.PD 0
-.RSs
-.IPs 0
-desactivado
-.IPs 1
-solo después de marcos I (por defecto)
-.IPs 2
-siempre
-.RE
-.PD 1
-.TP
-.B subq=<1\-8>
-Redefinimiento de calidad de subpel (para qpel) (por defecto: 8).
-.br
-.I NOTA:
-Esto tiene un efecto significativo en la velocidad.
-.TP
-.B "psnr\ \ \ "
-Imprime la psnr (pico de relación señal ruido) para el video entero después de
-la codificación y almacena la psnr por marco en un archivo con un nombre
-como 'psnr_hhmmss.log'.
-Los valores devueltos están en dB (decibelios), cuanto más alto mejor.
-.TP
-.B mpeg_quant
-Usa cuantizadores MPEG en lugar de H.263.
-.TP
-.B "aic\ \ \ \ "
-Predicción ac (=predicción interna avanzada para H.263+)
-.br
-.I NOTA:
-vqmin debe ser 8 o superior para AIC H.263+.
-.TP
-.B "umv\ \ \ \ "
-MVs ilimitados (H.263+ solamente)
-Permite codificación de MVs de longitud arbitraria.
-.TP
-.B ibias=<\-256\-256>
-Cuantizador de unión interno (256 == 1.0)
-.br
-Cuantizador de estilo MPEG por defecto: 96
-.br
-Cuantizador de estilo H.263 por defecto: 0
-.br
-.I NOTA:
-El cuantizador H.263 MMX no puede manejar uniones positivas
-(establece vfdct=1ó2), el cuantizador MPEG MMX no puede manejar uniones
-negativas (establece vfdct=1ó2).
-.TP
-.B pbias=<\-256\-256>
-cuantizador de unión interno (256 == 1.0)
-.br
-cuantizador de estilo MPEG por defecto: 0
-.br
-cuantizador de estilo H.263 por defecto: \-64
-.br
-.I NOTA:
-el cuantizador H.263 MMX no puede manejar uniones positivas (establece
-vfdct=1ó2), el cuantizador MPEG MMX no puede manejar uniones negativas
-(establece vfdct=1ó2).
-.br
-Consejo: una unión más positiva (\-32 \- \-16 en lugar de \-64) parece mejorar la PSNR
-.TP
-.B nr=<0\-100000>
-reducción de ruido, 0 es deshabilitado
-.TP
-.B qns=<0\-3>
-Cuantizador del perfilado de ruido, reduce artefactos de anillo, valores mayores
-hacen que sea más lento pero puede no resultar en una mejor calidad.
-Esto puede y debe ser usado junto con cuantización trellis, en cuyo caso la
-cuantización trellis (óptima para peso constante) será usada como punto
-de partida para la búsqueda iterativa.
-.PD 0
-.RSs
-.IPs 0
-desactivado (por defecto)
-.IPs 1
-solo disminuye el valor absoluto de los coeficientes
-.IPs 2
-solo cambia coeficientes antes del último coeficiente no cero + 1
-.IPs 3
-prueba todo
-.RE
-.PD 1
-.TP
-.B inter_matrix=<comma separated matrix>
-Usa matriz interna personalizada.
-Necesita una cadena separada por comas de 64 enteros.
-.TP
-.B vqmod_freq
-modulación cuantizada experimental
-.TP
-.B "dc\ \ \ \ \ "
-precisión intra DC en bits (por defecto: 8).
-Si especifica vcodec=mpeg2video este valor puede ser 8, 9, 10 u 11.
-.TP
-.B "cgop\ \ \ "
-Cierra todos los GOPs.
-Actualmente no funciona (todavía).
-.
-.
-.SS nuv (\-nuvopts)
-.
-Nuppel video está basado en rtjpeg y lzo.
-Por defecto los marcos son codificados primero con ftjpeg y luego comprimidos
-con lzo. Pero ambas pasadas pueden ser o no habilitadas. Para que pueda obtener
-una salida raw i420, lzo comprimido i420, rtjpeg, o el rtjpeg comprimido en lzo
-por defecto.
-.br
-.I NOTA:
-La documentación de nuvrec contiene algunos avisos y ejemplos acerca de
-la configuración a usar en la mayoría de las codificaciones de TV.
-.TP
-.B c=<0\-20>
-Umbral de crominancia
-.TP
-.B l=<0\-20>
-Umbral de luminancia
-.TP
-.B "nolzo \ "
-Desactiva la compresión lzo
-.TP
-.B q=<3\-255>
-Establece el nivel de calidad
-.TP
-.B "raw \ \ \ "
-Desactiva la codificación rtjpeg
-.TP
-.B "rtjpeg\ "
-Activa codificación rtjpeg.
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-Hay tres métodos disponibles: tasa de bits constante (CBR), cuantizador fijo y
-2pasadas.
-.TP
-.B pass=<1|2>
-Especifica la pasada en el modo de 2pasadas.
-.TP
-.B bitrate=<valor>
-Establece la tasa de bits a ser usada en kbits/\:segundo si <16000 o en
-bits/\:segundo si >16000
-.br
-Si <valor> es negativo, XviD usará el valor absoluto como tamaño (en kbytes)
-del video y calculará la tasa de bits asociada automágicamente.
-(modo CBR o 2pasadas, por defecto: 687 kbits/\:s)
-.TP
-.B fixed_quant=<1\-31>
-Cambia al modo de cuantizador fijo y especifica el cuantizador a usar.
-.TP
-.B me_quality=<0\-6>
-Esta opción controla el subsistema de estimación de movimiento.
-Cuanto más alto sea el valor, más precisa puede ser la estimación.
-Cuanto más precisa es la estimación, más bits se pueden ahorrar.
-La precisión se gana a expensas de tiempo de CPU para que decremente este
-valor si necesita codificación en tiempo real.
-(por defecto: 6)
-.TP
-.B interlacing
-Codifica los campos de material de video entrelazado.
-Active esta opción para contenido entrelazado.
-.I Nota:
-Esta opción no desentrelaza video, lo codifica basado en campos.
-.TP
-.B "4mv\ \ \ \ "
-Usa 4 vectores de movimiento por macro-bloque.
-Obtiene mejor compresión, pero ralentiza la codificación.
-.br
-.I ADVERTENCIA:
-Esta opción no existe en XviD-1.0.x.
-.TP
-.B rc_reaction_delay_factor=<valor>
-Este parámetro controla el retardo en marcos de imagen antes de que el
-controlador de tasa de CBR reaccione a cambios de tasas e intente compensar
-el cambio para obtener una tasa de bits constante sobre un rango promediado
-de marcos.
-.TP
-.B rc_averaging_period=<valor>
-CBR es dificil de obtener.
-Dependiendo del material de video, la tasa de bits puede variar, y puede
-ser dificil de predecir.
-Por eso XviD usa un periodo medio por el cual garantiza una cantidad de bits
-(salvo una pequeña variación).
-Esta configuración expresa el "número de marcos" para la media XviD e intenta
-obtener CBR.
-.TP
-.B rc_buffer=<valor>
-tamaño del buffer de control de tasa
-.TP
-.B quant_range=<1\-31>\-<1\-31>[/\:<1\-31>\-<1\-31>]
-cuantizador mín y máx para todos los marcos (por defecto: 2\-31, modo CBR)
-.br
-cuantizador mín y máx para marcos I/\:P (por defecto: 2\-31/2\-31, modo
-2pasadas)
-.TP
-.B min_key_interval=<valor>
-intervalo mínimo entre marcos clave (por defecto: 0, 2pasadas solamente)
-.TP
-.B max_key_interval=<valor>
-intervalo máximo entre marcos clave (por defecto: 10*fps)
-.TP
-.B mpeg_quant
-Usa cuantizadores MPEG en lugar de H.263.
-Para tasas de bits altas, puede encontrar que la cuantización MPEG
-preserva más detalles.
-Para tasas de bits bajas, el suavizado de H.263 le permitirá obtener menos
-ruido de bloque.
-Cuando use matrices personalizadas, debe usar MPEG.
-.TP
-.B mod_quant
-Decide qué usar si cuantizadores MPEG o H.263 en una base marco-a-marco.
-.br
-.I ADVERTENCIA:
-Esto generará un flujo de bits ilegal, y probablemente no será decodificable
-por cualquier decodificador MPEG4 que no sea libavcodec o XviD.
-(solamente modo 2pasadas)
-.TP
-.B greyscale
-Hace que XviD decarte los planos croma para que el video salga solo en
-escala de grises.
-Note que esto no acelera la codificación, solo previene que los datos de
-crominancia sean escritos en la última etapa de la codificación.
-.TP
-.B "debug\ \ "
-Guarda estadísticas por marco en ./xvid.dbg.
-.TP
-.B keyframe_boost=<0\-1000>
-Desplaza algunos bits desde la entrada para otros tipos de marco en intra
-marcos, para mejorar la calidad del marco clave.
-(por defecto: 0, solamente modo 2pasadas)
-.TP
-.B kfthreshold=<valor>
-(por defecto: 10, solamente modo 2pasadas)
-.TP
-.B kfreduction=<0\-100>
-Las dos opciones anteriores pueden usarse para ajustar el tamaño de los
-marcos clave que considere demasiado cerca del primero (en una fila).
-kfthreshold establece el rango en el que los marcos clave se reducen,
-y kfreduction determina la reducción de tasa de bits que se obtiene.
-El último marco tipo i se tratará de manera normal.
-(por defecto: 30, solamente modo 2pasadas)
-.RE
-.PP
-Las siguientes opciones solo están disponibles en la última versión
-estable de XviD 1.0.x (api4).
-.TP
-.B "packed\ "
-Crea un flujo de bits que pueden ser decodificados sin retardos.
-.br
-.I ADVERTENCIA:
-Esto puede generar flujo de bits ilegal, y PUEDE NO ser
-decodificable por decodificadores ISO-MPEG4 excepto DivX/\:libavcodec/\:XviD.
-.br
-.I ADVERTENCIA:
-Esto puede también almacenar una versión errónea de DivX en el archivo
-de modo que la autodetección de errores de algunos decodificadores puede
-verse confundida.
-.TP
-.B divx5bvop
-genera marcos-B compatibles con DivX5 (por defecto: activado)
-.TP
-.B "qpel\ \ \ "
-MPEG4 usa precisión de mitad de pixel para su búsqueda de movimiento por
-defecto.
-El estándar propone un modo donde los codificacores tienen permitido usar
-precisión de un cuarto de pixel.
-Esta opción resulta normalmente en una imagen más nítida.
-Desafortunadamente esto tiene un gran impacto en la tasa de bits y algunas
-veces la tasa de bits más alta hace que no se pueda obtener una mejor
-calidad de imagen con ésta fija.
-Es mejor probar con y sin esta opción y ver si es mejor o peor activarla.
-.TP
-.B "gmc\ \ \ \ "
-Activa la Compensación Global de Movimiento, lo cual hace que XviD genere
-marcos especiales (marcos GMC) que describen mejor las imágenes de
-Pan/\:Zoom/\:Rotación.
-La decisión de activar esta opción o no para ahorrar bits depende en gran
-medida del tipo de video.
-.TP
-.B trellis
-Cuantización Trellis es un tipo de método de cuantización adaptativa que
-ahorra bits modificando los coeficientes de cuantización para hacer más
-compresible por el codificador de entropía.
-Su impacto en la calidad es muy bueno, y si VHQ usa demasiada CPU para usted,
-esta configuración puede ser una buena alternativa para ahorrar unos pocos
-bits (y ganar calidad a una tasa de bits fija) con menor coste que VHQ.
-.TP
-.B cartoon
-Activelo si su secuencia de codificación es de dibujos animados.
-Modifica algunos umbrales internos de XviD para que XviD tome mejores
-decisiones en los tipos de marcos de imagen y vectores de movimiento
-para dibujos que tipo plano.
-.TP
-.B chroma_me
-El algoritmo de estimación de movimiento usual usa solo la información
-de luminancia para encontrar el mejor vector de movimiento.
-Sin embargo para algún tipo de video, usar los planos de crominancia pueden
-ayudar a encontrar mejores vectores.
-Esta configuración activa el uso de los planos de crominancia para la
-estimación de movimiento.
-.TP
-.B chroma_opt
-Activa el prefiltrado del optimizador de crominancia.
-Añade algo de magia extra en la información del color para minimizar el
-efecto escalera en los bordes.
-Mejora la calidad al coste de velocidad de codificación.
-Reduce la PSNR por naturaleza, como la desviación matemática a la imagen
-original más grande, pero bajando la calidad subjetiva de la imagen.
-Debido a que funciona con la información del color, puede que desee desactivarlo
-cuando codifique en escala de grises.
-.TP
-.B reduced
-Activa codificación de marcos de resolución reducida.
-.br
-.I ADVERTENCIA:
-¡El flujo de bits creado es cualquier perfil de MPEG-4!
-Esto significa que probablemente no se podrá decodificar más que con XviD.
-
-.TP
-.B max_bframes=<0\-4>
-número máximo de marcos B a colocar entre marcos I/\:P (por defecto: 0)
-.TP
-.B bquant_ratio=<0\-1000>
-radio del cuantizador entre marcos B y no B, 150=1.50 (por defecto: 150)
-.TP
-.B bquant_offset=<\-1000\-1000>
-desplazamiento del cuantizador entre marcos B y no B, 100=1.00
-(por defecto: 100)
-.TP
-.B bf_threshold=<\-255\-255>
-Algunas veces los marcos tipo B no se ven correctamente e introducen
-artefactos cuando la mayor parte de los marcos es estática y algunas zonas
-pequeñas tienen grandes movimientos (en una escena estática con un hombre
-hablando, su boca probablemente se ve mal si lo que rodea al hombre y a su
-boca es completamente estático).
-Esta configuración permite favorecer o no el uso de marcos tipo B.
-Cuanto mayor sea el valor, mayor será la probabilidad de usar marcos tipo B.
-(por defecto: 0)
-.TP
-.B "hq_ac\ \ "
-Activa la predicción del coeficiente de alta calidad AC para entornos de
-bloque.
-.TP
-.B vhq=<0\-4>
-El algoritmo de búsqueda de movimiento está basado en búsqueda en el
-dominio de color habitual e intenta encontrar el vector de movimiento que
-minimiza la diferencia entre el marco de referencia y el marco codificado.
-Con esta configuración activada, XviD usa también el dominio de la
-frecuencia (DCT) para buscar un vector de movimiento que minimice no solo
-la diferencia espacial sino también la longitud de la codificación de bloque.
-De más rápido a más lento:
-.PD 0
-.RSs
-.IPs 0
-desactivado (por defecto)
-.IPs 1
-decisión de modo (MB inter/\:intra)
-.IPs 2
-búsqueda limitada
-.IPs 3
-búsqueda media
-.IPs 4
-búsqueda extendida
-.RE
-.PD 1
-.TP
-.B aspect=<x/\:y | f (valor real)>
-Almacena el aspecto de la película internamente, como los archivos MPEG.
-Mucha mayor resolución que el reescalado, porque no disminuye la calidad.
-MPlayer y otros pocos reproductores reproducirán estos archivos correctamente,
-otros los mostrarán con una razón de aspecto incorrecta.
-El parámetro de aspecto se puede dar como una razón o como un número en coma
-flotante.
-.TP
-.B autoaspect
-Lo mismo que la opción aspect, pero el aspecto es calculado automáticamente,
-teniendo en cuenta todos los ajustes (recortado/\:expansión/\:escalado/etc.)
-hechos en la cadena de filtros.
-.TP
-.B "psnr\ \ \ "
-imprime la psnr (pico de relación señal ruido) para el video completo después
-de codificar y almacenar la psnr por marco en un archivo con un nombre
-como 'psnr_hhmmss.log' en el directorio actual.
-Los valores devueltos están en dB (decibelios), cuanto más altos mejor.
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<valor>
-Establece la tasa de bits a usar en kbits/\:segundo (por defecto: desactivado).
-Es requerido si desea una codificación CBR (tasa de bits constante).
-.TP
-.B iframe=<valor>
-Frecuencia de marcos I (por defecto: 60).
-.TP
-.B frameref=<valor>
-Número de marcos previos usados como predictores de un marco P (por defecto:
-1).
-.br
-.I NOTA:
-La versión actual de x264 (r38) aún no ha implementado esta característica.
-.TP
-.B idrframe=<valor>
-Cada <valor> I-Frames son IDR-Frames.
-En H.264, I-Frames no son necesarios en un GOP cerrado porque está permitido
-qeu haya marcos P para predecir más marcos que solo los precedentes (vea la
-opción frameref).
-De todos modos, los marcos I no son necesariamente posicionables. IDR-Frames
-restringe los siguientes marcos P de los referentes a cualquier marco anterior
-que sea IDR-Frame (por defecto: 2).
-.TP
-.B bframe=<valor>
-Número de marcos B entre marcos I y P (por defecto: 0).
-.TP
-.B deblock=<0|1>
-Usa filtro de desbloqueado (por defecto: activado).
-.TP
-.B deblockalpha=<\-6\-6>
-Parámetro alphaC0 del filtro de desbloqueado.
-Adjusta el umbral para el filtro de desbloqueado de H.264.
-Primero, este parámetro ajusta la máxima cantidad de cambios qeu el filtro tiene
-permitido causar en un pixel.
-Segundo, afecta al umbral para la diferencia cruzada del borde que está siendo
-filtrado.
-Un valor positivo reduce más los artifactos de bloque, pero también se pierden
-detalles (por defecto: 0).
-.TP
-.B deblockbeta=<\-6\-6>
-Parámetro beta del filtro de desbloqueado.
-Afecta al máximo gradiente permitido entre dos bloques adyacentes (por
-defecto: 0).
-.TP
-.B cabac
-Usa CABAC (Context-Adaptative Binary Arithmetic Coding) (por defecto:
-desactivado).
-.TP
-.B cabacidc=<valor>
-Valor inicial del IDC CABAC.
-El codificador debe elegir un contexto para cada bloque que codifica, pero para el primer bloque en un marco, no hay bloques previos para predecir el contexto.
-Ajustar esto puede afectar a la tasa de bits por una fracción de porcentaje, pero no afecta directamente a la distorsión.
-.RSs
-\-1: Deja al codificador decidir el contexto (por defecto) (normalmente 0)
-.br
-0: baja complejidad
-.br
-1: complejidad media
-.br
-2: complejidad alta
-.REss
-.TP
-.B qp_constant=<2\-51>
-Elige el cuantizador a usar.
-Valores menores resultan en mejor fidelidad, pero altas tasas de bits.
-Note que la cuantización en H.264 funciona distinto que en mpeg[124].
-Los QP de H.264 están en escala logarítmica. Como ejemplo, la diferencia
-de tasa de bits entre QP=20 y QP=40 es de un factor 10.
-Los cuantizadores útiles en H.264 tienen a ser muy grandes comparados
-con mpeg[124].
-20\-40 es un rango útil (por defecto:26).
-.br
-.I NOTA:
-Esta opción toma efecto incluso aunque especifique codificación cbr.
-En tal caso, el primer marco codificado usará el factor de cuantización
-que especifique, pero en marcos posteriores, el control de tasa decide
-qué cuantizador usar.
-.TP
-.B qp_min=<2\-51>
-Cuantizador mínimo. Solo CBR. 20\-40 parece ser un rango útil (por defecto: 2).
-.TP
-.B qp_max=<2\-51>
-Cuantizador máximo. Solo CBR.
-.TP
-.B qp_step=<valor>
-Máximo valor por el que el cuantizador incrementa/\:decrementa entre marcos.
-.TP
-.B rc_buffer_size=<valor>
-Tamaño del bufer de control de tasa (por defecto: 1 segundo a la tasa de
-bits que ha especificado).
-.TP
-.B rc_init_buffer=<valor>
-Establece el tamaño inicial del buffer de control de tasa (por defecto:
-1/\:4 de rc_buffer_size)
-.B rc_sens=<0\-100>
-Sensitividad de control de tasa (por defecto: 100).
-.TP
-.B ip_factor=<valor>
-Factor de cuantización entre marcos I y P (por defecto: 2.0).
-.TP
-.B pb_factor=<valor>
-Factor de cuantización entre marcos P y B (por defecto: 2.0).
-.TP
-.B pass=<1|2>
-Para modo 2-pasadas. La primera pasada guarda las estadísticas.
-.TP
-.B qcompress=<0\-1>
-Compresión del cuantizador. Afecta el control de tasa: un valor bajo hace
-una tasa de bits más constante, mientras que un valor alto hace un
-parámetro de cuantización más constante (por defecto: 0.6).
-.TP
-.B qblur=<0\-1>
-Parámetro de difuminado temporal de cuantización. Valores menores permiten
-que el valor del cuantizador cambie más; valores más altos fuerzan que
-varíe más suavemente (por defecto: 0.5).
-.TP
-.B fullinter
-Usa todos los métodos de análisis de interframe disponibles (i4x4, psub8x8,
-psub16x16) (por defecto: 4x4, psub16x16)
-.TP
-.B log=<\-1\-3>
-Ajusta la cantidad de histórico de información mostrada en pantalla.
-.RSs
-\-1: nada
-.br
-0: errores (para debug x264)
-.br
-1: advertencias
-.br
-2: PSNR y otras estadísticas de análisis cuando termina la codificación (por
-defecto)
-.br
-3: PSNR, qp, frametype, size, y otras estadísticas para cada marco
-.REss
-.TP
-.B psnr
-Muestra estadísticas de la relación señal ruido.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Archivos
-.\" --------------------------------------------------------------------------
-.
-.SH ARCHIVOS
-.TP
-/etc/\:mplayer/\:mplayer.conf
-configuración del sistema
-.
-.TP
-~/.mplayer/\:config
-configuración de usuario
-.
-.TP
-~/.mplayer/\:input.conf
-asignación de entradas (vea '\-input keylist' para una lista completa de teclas)
-.
-.TP
-~/.mplayer/\:gui.conf
-archivo de configuración del GUI
-.
-.TP
-~/.mplayer/\:gui.pl
-lista de reproducción del GUI
-.
-.TP
-~/.mplayer/\:font/
-directorio de tipografía (Debe haber un archivo font.desc y archivos
-con extensión .RAW.)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-claves CSS en caché
-.
-.TP
-Los archivos sub son buscados en este orden (por ejemplo /mnt/\:cdrom/\:pelicula.avi):
-.RS
-/mnt/\:cdrom/\:pelicula.sub
-.br
-~/.mplayer/\:sub/\:pelicula.sub
-.br
-~/.mplayer/\:pelicula.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Ejemplos
-.\" --------------------------------------------------------------------------
-.
-.SH EJEMPLOS
-.
-.TP
-.B Reproducción rápida de DVD
-mplayer dvd://1
-.
-.TP
-.B Reproducción en japonés con subtítulos en inglés
-mplayer dvd://1 \-alang ja \-slang en
-.
-.TP
-.B Reproducir solo los capítulos 5, 6, 7
-mplayer dvd://1 \-chapter 5\-7
-.
-.TP
-.B Reproducir solo los títulos 5, 6, 7
-mplayer dvd://5\-7
-.
-.TP
-.B Reproducción de DVD multiángulo
-mplayer dvd://1 \-dvdangle 2
-.
-.TP
-.B Reproducción desde un dispositivo distinto de DVD
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.
-.TP
-.B Flujo desde HTTP
-mplayer http://mplayer.hq/\:ejemplo.avi
-.
-.TP
-.B Flujo usando RTSP
-mplayer rtsp://servidor.ejemplo.es/\:nombreFlujo
-.
-.TP
-.B Convertir subtítulo a MPsub (a ./dump.mpsub)
-mplayer bobo.avi \-sub origen.sub \-dumpmpsub
-.
-.TP
-.B Convertir subtítulo a MPsub sin ver la película
-mplayer /dev/zero \-rawvideo on:pal:fps=xx \-vc null \-vo null \-noframedrop
-\-benchmark \-sub origen.sub \-dumpmpsub
-.
-.TP
-.B Entrada desde V4L estandar
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420
-\-vo xv
-.
-.TP
-.B Reproducción en tarjeta Zoran (al viejo estilo, desvalorizado)
-mplayer \-vo zr \-vf scale=352:288 archivo.avi
-.
-.TP
-.B Reproducción en tarjeta Zoran (nuevo estilo)
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg archivo.avi
-.
-.TP
-.B Codificación del título #2 del DVD, solo los capítulos seleccionados
-mencoder dvd://2 \-chapter 10\-15 \-o titulo2.avi \-oac copy
-\-ovc lavc \-lavcopts vcodec=mpeg4
-.
-.TP
-.B Codificación del título #2 del DVD, redimensionando a 640x480
-mencoder dvd://2 \-vf scale=640:480 \-o titulo2.avi \-oac copy
-\-ovc lavc \-lavcopts vcodec=mpeg4
-.
-.TP
-.B Codificación del título #2 del DVD, redimensionando a 512xHHH (manteniendo relación de aspecto)
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o titulo2.avi \-oac copy
-\-ovc lavc \-lavcopts vcodec=mpeg4
-.
-.TP
-.B Lo mismo, pero con la familia libavcodec, compresión MPEG4 (Divx5)
-mencoder dvd://2 \-o titulo2.avi \-ovc lavc
-\-lavcopts vcodec=mpeg4:vhq:vbitrate=1800 \-oac copy
-.
-.TP
-.B Lo mismo, pero con la familia libavcodec, compresión MJPEG
-mencoder dvd://2 \-o titulo2.avi \-ovc lavc
-\-lavcopts vcodec=mjpeg:vhq:vbitrate=1800 \-oac copy
-.
-.TP
-.B Codificación de todos los archivos *.jpg del directorio actual
-mencoder "mf://*.jpg" \-mf fps=25 \-o salida.avi \-ovc lavc
-\-lavcopts vcodec=mpeg4
-.
-.TP
-.B Codificación desde el sintonizador (especifica formato con \-vf format)
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.
-.TP
-.B Codificación desde una tubería
-rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts
-vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Fallos, autores, descargo estándar
-.\" --------------------------------------------------------------------------
-.
-.SH FALLOS
-Si encuentra uno, infórmenos de ello, pero por favor asegúrese de leer
-toda la documentación primero.
-Muchos errores son debidos a una configuración incorrecta o un mal uso
-de parámetros.
-La sección sobre informe de errores en la documentación
-(DOCS/\:HTML/es/\:bugreports.html) explica cómo crear informes de error
-útiles.
-.
-.
-.SH AUTORES
-MPlayer fue inicialmente escrito por Arpad Gereoffy.
-Vea el archivo AUTORES para obtener una lista de muchos otros
-contribuyentes.
-.
-.TP
-MPlayer es (C) 2000\-2009
-.B El Equipo MPlayer
-.
-.TP
-Esta página de manual está escrita y mantenida por
-.B Gabucino
-.br
-.B Diego Biurrun
-.br
-.B Jonas Jermann
-.TP
-la versión en español es traducida y mantenida por
-.B Juan Martín López
-.
-.PP
-Por favor, envíe correos acerca de ella a la lista de correo MPlayer-DOCS.
-.\" fin del archivo
diff --git a/DOCS/man/fr/mplayer.1 b/DOCS/man/fr/mplayer.1
deleted file mode 100644
index 7c5c3fd..0000000
--- a/DOCS/man/fr/mplayer.1
+++ /dev/null
@@ -1,11970 +0,0 @@
-.\" synced with r30135
-.\" Encoding: iso-8859-1
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" The English man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
-.\" Traduction: Guillaume POIRIER < poirierg AT gmail POINT com >,
-.
-.\" --------------------------------------------------------------------------
-.\" Définition des macros
-.\" --------------------------------------------------------------------------
-.
-.\" Définit l'indentation pour les sous-options
-.nr SS 4
-.\"
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" début du premier niveau des sous-options, se termine par .RE
-.de RSs
-.RS 10
-..
-.\" début du 2nd niveau des sous-options
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" fin du 2nd niveau des sous-options
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" Titre
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "27 avril 2009" "The MPlayer Project" "Le Lecteur Vidéo"
-.
-.SH NAME
-mplayer \- Lecteur vidéo
-.br
-mencoder \- Encodeur vidéo
-.
-.\" --------------------------------------------------------------------------
-.\" Synopsis
-.\" --------------------------------------------------------------------------
-.
-.SH SYNOPSIS
-.na
-.nh
-.B mplayer
-[options] [fichier|URL|liste de lecture |\-]
-.
-.br
-.B mplayer
-[options] fichier1
-[options spécifiques] [fichier2] [options spécifiques]
-.
-.br
-.B mplayer
-[options]
-{ "groupe de fichiers et d'options" }
-[options spécifiques au groupe]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[titre|[titre_de_début]\-titre_de_fin ][/périphérique]
-[options]
-.
-.br
-.B mplayer
-vcd://piste[/périphérique]
-[options]
-.
-.br
-.B mplayer
-tv://[chaîne][/identifiant de l'entrée]
-[options]
-.
-.br
-.B mplayer
-radio://[chaîne|fréquence][/capture]
-[options]
-.
-.br
-.B mplayer
-pvr://
-[options]
-.
-.br
-.B mplayer
-dvb://[numero_de_carte@]canal
-[options]
-.
-.br
-.B mplayer
-mf://[masque de fichier|@liste de fichiers]
-[options \-mf] [options]
-.
-.br
-.B mplayer
-[cdda|cddb]://piste[\-piste_de_fin][:vitesse][/périphérique]
-[options]
-.
-.br
-.B mplayer
-cue://fichier[:piste]
-[options]
-.
-.br
-.B mplayer
-[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://
-[utilisateur:mot_de_passe@]URL[:port] [options]
-.
-.br
-.B mplayer
-sdp://fichier
-[options]
-.
-.br
-.B mplayer
-mpst://hôte[:port]/URL
-[options]
-.
-.br
-tivo://hôte/[list|llist|fsid]
-[options]
-.
-.br
-.B gmplayer
-[options]
-[\-skin\ skin]
-.
-.br
-.B mencoder
-[options] fichier
-[fichier|URL|\-] [\-o fichier | file://fichier | smb://[utilisateur:mot_de_passe@]hôte/chemin/vers/le/fichier]
-.
-.br
-.B mencoder
-[options] fichier1
-[options spécifiques] [fichier2] [options spécifiques]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" Description
-.\" --------------------------------------------------------------------------
-.
-.SH DESCRIPTION
-.B mplayer
-est un lecteur vidéo pour Linux (il fonctionne sur beaucoup d'autres
-Unices et processeurs non\-x86, voir la documentation).
-Il joue la plupart des formats MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV,
-RM, QT/\:MOV/\:MP4, Ogg/\:OGM, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM
-et RoQ, gérés par plusieurs codecs natifs et par des codecs binaires.
-Vous pouvez regarder des films VCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV et
-même H.264.
-.PP
-Un autre gros atout de MPlayer est la grande variété de pilotes de
-sortie audio et vidéos gérés.
-Il fonctionne avec X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca,
-DirectFB, Quartz, Mac OS X CoreVideo, mais vous pouvez aussi utiliser
-GGI, SDL (et de cette façon tous leurs drivers), VESA (sur n'importe
-quelle carte compatible VESA, même sans X11), quelques drivers spécifiques à
-certaines cartes (pour Matrox, 3dfx et ATI) et certaines cartes de
-décompression MPEG, telles que les Siemens DVB, Hauppauge PVR (IVTV), DXR2 et DXR3/\:Hollywood+.
-La plupart d'entre eux gèrent le redimensionnement logiciel ou
-matériel, vous pouvez donc apprécier les films en plein-écran.
-.PP
-MPlayer possède un affichage sur écran (OnScreenDisplay) pour les
-informations, de belles et grandes polices lissées et des effets
-visuels pour confirmer les contrôles au clavier. Les polices
-européennes/\:ISO8859\-1,2 (Hongroise, Anglaise, Tchèque, etc),
-Cyrillique et Coréenne sont gérées ainsi que 11 formats de
-sous-titres (MicroDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT,
-SSA, AQTitle, JACOsub, PJS et le nôtre: MPsub) et les sous-titres
-DVD (SPU streams, VobSub et Closed Captions).
-.PP
-.B mencoder
-(MPlayer's Movie Encoder) est un simple encodeur de vidéos, conçu pour encoder
-des vidéos jouables par MPlayer (voir ci-dessus) dans d'autres formats jouables
-par MPlayer (voir ci-dessous).
-Il encode en MPEG-4 (DivX/Xvid), un des codecs libavcodec, et en
-PCM/\:MP3/\:VBRMP3 audio en 1, 2 ou 3 passe(s).
-Il permet également de copier des flux de données (stream), possède un
-puissant système de plugins (découpage, expansion, retournement, postprocess,
-rotation, redimensionnement, bruit, conversion RGB/\:YUV) et bien plus.
-.PP
-.B gmplayer
-est l'interface graphique de MPlayer.
-Elle possède les mêmes options que MPlayer, cela dit toutes peuvent ne
-pas fonctionner correctement à cause des des conflits avec la
-configuration de l'IHM graphique (stocké dans gui.conf).
-Certaines options peuvent êtres redéfinies par la configuration de
-gui.conf, et certaines autres peuvent être définies de façon
-permanente par gui.conf
-.PP
-Des exemples d'usage pour vous familiariser rapidement sont disponibles
-à la fin de cette page de manuel.
-.PP
-.B Regardez également la documentation HTML !
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Contrôle interactif
-.\" --------------------------------------------------------------------------
-.
-.SH "CONTRÔLE INTERACTIF"
-MPlayer dispose d'une couche de contrôle pleinement configurable, qui
-vous permet de contrôler MPlayer avec le clavier, la souris, le joystick
-ou une télécommande (en utilisant LIRC).
-.br
-Le fichier de configuration par défaut pour le système d'entrée est
-~/.mplayer/\:input.conf mais cela peut être outrepassé en utilisant
-l'option \-input conf.
-.br
-Ces touches peuvent/\:ne peuvent pas fonctionner, suivant votre pilote de
-sortie vidéo.
-.
-.TP
-.B contrôle au clavier
-.PD 0
-.Rs
-.IPs "<\- et \->"
-Recule/\:avance de 10 secondes.
-.IPs "haut et bas"
-Avance/\:recule/ d'1 minute.
-.IPs "PG.PRÉC. et PG.SUIV."
-Avance/\:recule de 10 minutes
-.IPs "[ et ]"
-Diminue/accélère la vitesse courante de lecture de 10%.
-.IPs "{ and }"
-Réduit de moitié/double la vitesse courante de lecture.
-.IPs "backspace"
-Ré-initialise la vitesse de lecture à la normale.
-.IPs "< et >"
-Recule/\:avance dans la liste de lecture (playlist).
-.IPs "ENTER"
-Avance dans la liste de lecture, même après la fin
-.IPs "ORIG et FIN"
-Va au prochain/\:précédent arbre de lecture (playtree) dans la liste des
-pères.
-.IPs "INSER et SUPPR (liste de lecture ASX uniquement)"
-Va à la prochaine/\:précédente source de rechange.
-.IPs "p / ESPACE"
-Met en pause (un autre appui reprend la lecture).
-.IPs .\ \ \ \
-Avance d'une trame.
-Le premier appui mettra le film en pause, et chaque appui suivant jouera
-juste une trame et remettra le film en pause (toute autre touche arrête la
-pause).
-.IPs "q / ESC"
-Stoppe la lecture et quitte.
-.IPs "U\ \ \ \ "
-Stoppe la lecture (et quitte si \-idle n'est pas utilisé).
-.IPs "+ et \-"
-Ajuste le décalage audio de +/\- 0.1 secondes.
-.IPs "/ et *"
-Réduit/\:augmente le volume.
-.IPs "9 et 0"
-Réduit/\:augmente le volume.
-.IPs "( et )"
-Ajuste la balance audio en faveur du canal de gauche/\:droite.
-.IPs "m\ \ \ \ "
-Coupe le son (mute).
-.IPs "_ (MPEG-TS, AVI et libavformat uniquement)"
-Alterne entre les pistes vidéos disponibles.
-.IPs "# (DVD, MPEG, Matroska, AVI et libavformat uniquement)"
-Alterne entre les pistes audio disponibles.
-.IPs "TAB (MPEG-TS et libavformat uniquement)"
-Alterne entre les différents programmes disponibles.
-.IPs "f\ \ \ \ "
-Bascule en mode plein-écran.
-.IPs "T\ \ \ \ "
-Bascule en mode toujours visible.
-.IPs "w et e"
-Réduit/\:augmente l'intervalle pan (horizontal) et scan.
-.IPs "o\ \ \ \ "
-Alterne entre les états OSD: aucun / déplacement /
-déplacement + chrono / déplacement + chrono + durée totale
-.IPs "d\ \ \ \ "
-Alterne entre les modes de sauts de trame: aucun / saut d'affichage / saut de
-décodage (voir \-framedrop et \-hardframedrop)
-.IPs "v\ \ \ \ "
-Bascule l'affichage des sous-titres.
-.IPs "j\ \ \ \ "
-Alterne entre les différents sous-titres disponibles.
-.IPs "y et g"
-Choisit le sous-titre suivant/précédent dans la liste des sous-titres.
-.IPs "F\ \ \ \ "
-Bascule l'affichage des "sous-titres forcés".
-.IPs "a\ \ \ \ "
-Bascule l'alignement des sous-titres: haut/milieu/bas.
-.IPs "x et z"
-Ajuste le décalage des sous-titres de +/\- 0.1 secondes.
-.IPs "r et t"
-Translate les sous-titres vers le haut/bas.
-.IPs i (mode \-edlout uniquement)
-Crée une marque EDL.
-.IPs "s (\-vf screenshot uniquement)"
-Réalise une capture d'écran.
-.IPs "S (\-vf screenshot uniquement)"
-Amorce/arrête la capture d'écran.
-.IPs "I\ \ \ \ "
-Affiche le nom de fichier dans l'OSD.
-.IPs "P\ \ \ \ "
-Affiche la barre d'avancement, le temps écoulé et la durée totale sur l'OSD.
-.IPs "! and @"
-Saute au début du chapitre précédent/suivant.
-.IPs "D (\-vo xvmc, \-vo vdpau, \-vf yadif et \-vf kerndeint uniquement)"
-Active/désactive le désentrelacement.
-.IPs "A"
-Bascule entre les angles disponibles du DVD.
-.RE
-.PD 1
-.PP
-.RS
-(Les touches suivantes ne sont valides qu'en utilisant une sortie vidéo
-accélérée matériellement (xv, (x)vidix, (x)mga, etc), l'égaliseur
-logiciel (\-vf eq ou \-vf eq2) ou le filtre de teinte (\-vf hue).)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "1 et 2"
-Ajuste le contraste.
-.IPs "3 et 4"
-Ajuste la luminosité.
-.IPs "5 et 6"
-Ajuste la teinte.
-.IPs "7 et 8"
-Ajuste la saturation.
-.RE
-.PD 1
-.PP
-.RS
-(Les touches suivantes ne sont valides que lorsque le pilote de sortie
-vidéo quartz ou corevideo est utilisé.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "command + 0"
-Divise par deux la taille de la fenêtre vidéo.
-.IPs "command + 1"
-Ajuste la fenêtre fenêtre vidéo à sa taille d'origine.
-.IPs "command + 2"
-Double la taille de la fenêtre vidéo.
-.IPs "command + f"
-Bascule en mode plein-écran (voir aussi \-fs).
-.IPs "command + [ et command + ]"
-Change l'alpha (transparence) de la fenêtre vidéo.
-.RE
-.PD 1
-.PP
-.RS
-(Les touches suivantes ne sont valides que lorsque le pilote de sortie
-vidéo sdl est utilisé.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "c\ \ \ \ "
-Alterne entre les différents modes plein écran.
-.IPs "n\ \ \ \ "
-Restore le mode d'origine.
-.RE
-.PD 1
-.PP
-.RS
-(Les touches suivantes ne sont valides que si vous avez un clavier avec
-des touches multimédia.)
-.PP
-.PD 0
-.RS
-.IPs PAUSE
-Pause.
-.IPs "STOP\ "
-Stoppe la lecture et quitte.
-.IPs "AVANT et SUIVANT"
-Navigue en arrière/\:avant d'une minute.
-.RE
-.PD 1
-.
-.PP
-.RS
-(Les touches suivantes sont valides uniquement si MPlayer a été
-compilé avec le support de la GUI et si elles ont une priorité supérieure à celles
-définies plus haut dans ce document.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "ENTRÉE"
-Démarre la lecture.
-.IPs "ESC\ \ "
-Stoppe la lecture.
-.IPs "l\ \ \ \ "
-Charge un fichier.
-.IPs "t\ \ \ \ "
-Charge un sous-titre.
-.IPs "c\ \ \ \ "
-Ouvre le navigateur de skins.
-.IPs "p\ \ \ \ "
-Ouvre la liste de lecture (playlist).
-.IPs "r\ \ \ \ "
-Ouvre la fenêtre de préférences.
-.RE
-.PD 1
-.
-.PP
-.RS
-(Les touches suivantes ne sont valides que si MPlayer a été
-compilé avec le support de l'entrée TV ou DVB et si elles ont une priorité
-supérieure à celles définies plus haut dans ce document.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "h et k"
-Sélectionne le canal précédent/\:suivant.
-.IPs n
-Change de norme.
-.IPs u
-Change la liste des canaux.
-.RE
-.PD 1
-.PP
-.RS
-(Les touches suivantes ne sont valides que si MPlayer a été
-compilé avec le support dvdnav: elles sont utilisées pour la
-navigation dans les menus).
-.RE
-.PP
-.PD 0
-.RS
-.IPs "touche 8"
-Bouton haut.
-.IPs "touche 2"
-Bouton bas.
-.IPs "touche 4"
-Bouton gauche.
-.IPs "touche 6"
-Bouton droit.
-.IPs "touche 5"
-Retourne au menu principal.
-.IPs "touche 7"
-Retourne au menu le plus proche (dans l'ordre: chapitre->titre->racine).
-.IPs "touche ENTRÉE"
-Confirme le choix.
-.RE
-.PD 1
-.PP
-.RS
-.
-.
-(Les touches suivantes ne sont valides que si MPlayer a été compilé
-avec le support télétexte\ : elles servent à contrôler le télétexte de
-la TV, dont les données peuvent provenir d'une source TV analogique ou
-par MPEG Transport Stream.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X\ \ \ \ "
-Active/\:désactive le télétexte.
-.IPs "Q at W"
-Va à la page télétexte suivante/précédente.
-.RE
-.PD 1
-.PP
-.RS
-.
-.
-.TP
-.B contrôle à la souris
-.PD 0
-.RS
-.IPs "bouton 3 et bouton 4"
-Navigue en arrière/\:avant d'une minute.
-.IPs "boutonn 5 et bouton 6"
-Diminue/\:augmente le volume.
-.RE
-.PD 1
-.
-.TP
-.B contrôle au joystick
-.PD 0
-.RS
-.IPs "gauche et droite"
-Navigue en arrière/\:avant de 10 secondes.
-.IPs "haut et bas"
-Navigue en avant/\:arrière d'une minute.
-.IPs "bouton 1"
-Met en pause.
-.IPs "bouton 2"
-Alterne entre les états de l'OSD\ : rien / navigation / navigation + temps
-écoulé / navigation + temps écoulé + temps total.
-.IPs "bouton 3 et bouton 4"
-Diminue/\:augmente le volume.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Options
-.\" --------------------------------------------------------------------------
-.
-.SH "NOTES GÉNÉRALES"
-.PP
-Chaque option a son opposé, par ex.\& l'inverse de l'option
-\-fs est \-nofs.
-.PP
-Si une option est documentée comme (XXX uniquement), cela veut dire
-qu'elle fonctionnera uniquement si vous activez l'option XXX ou
-que XXX a été compilé dans MPlayer.
-.PP
-.I NOTE\ :
-L'analyseur syntaxique de sous-options (suboption parser), (utilisé par exemple par les sous-options de \-ao pcm) gère un type particulier d'échappement de chaîne de caractère destiné à être utilisé par les IHM externes.
-.br
-Il suit le format suivant\ :
-.br
-%n%chaîne_de_longueur_n
-.br
-.I EXEMPLES\ :
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-Ou dans un script\ :
-.br
-mplayer \-ao pcm:file=%`longueur expr "$NOM"`%"$NOM" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" Fichiers de configuration
-.\" --------------------------------------------------------------------------
-.
-Vous pouvez placer toutes les options dans des fichiers de configuration
-qui seront lues à chaque exécution de MPlayer/MEncoder.
-Le fichier de configuration général 'mplayer.conf' se trouve dans le répertoire
-habituel des fichiers de configuration (par ex.\& /etc/\:mplayer ou
-/usr/\:local/\:etc/\:mplayer), et le fichier de configuration spécifique à
-l'utilisateur se trouve dans '~/\:.mplayer/\:config'.
-Le fichier de configuration pour MEncoder est 'mencoder.conf' qui se trouve
-dans le répertoire habituel des fichiers de configuration (par ex.\&
-/etc/\:mplayer ou /usr/\:local/\:etc/\:mplayer), et le fichier de
-configuration spécifique à l'utilisateur est '~/\:.mplayer/\:mencoder.conf'.
-Les options du fichier utilisateur ont priorité sur les options du fichier
-global, et les options données sur la ligne de commande ont priorité sur tous
-les fichiers.
-La syntaxe des fichiers de configuration est 'option=<valeur>', tout ce qui
-suit un '#' est considéré comme un commentaire.
-Les options qui nécessitent des valeurs peuvent être activées en les
-initialisant à 'yes' ou '1' ou désactivées en les initialisant à 'no'
-ou '0'.
-Ceci est même applicable aux sous-options.
-.PP
-Vous pouvez également écrire des fichiers de config spécifiques à un fichier.
-Si vous souhaitez avoir un fichier de config pour un fichier nommé 'film.avi',
-créez un fichier nommé 'film.avi.conf' contenant les options spécifiques à ce
-fichier et placez-le dans ~/.mplayer/.
-Si un tel fichier de configuration se trouve dans le même répertoire,
-aucun fichier de configuration spécifique ne sera lu depuis
-~/.mplayer/.
-De plus, l'option \-use\-filedir\-conf permet de définir des fichiers
-de configuration spécifiques à un répertoire.
-Pour ce faire, MPlayer essaye de charger un fichier mplayer.conf
-depuis le même répertoire que celui du fichier joué, et essaye ensuite
-de charger un fichier de configuration spécifique.
-.PP
-.I EXEMPLE DE FICHIER DE CONFIGURATION MPLAYER\ :
-.sp 1
-.nf
-# Utilise les pilotes Matrox par défaut.
-vo=xmga
-# J'adore faire le poirier en regardant les vidéos.
-flip=yes
-# Décode/encode des fichiers png,
-# démarre avec mf://filemask
-mf=type=png:fps=25
-# Les images en négatif, c'est cool.
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I "EXEMPLE DE FICHIER DE CONFIGURATION MENCODER :"
-.sp 1
-.nf
-# Fait écrire MEncoder dans un certain fichier par défaut.
-o=encoded.avi
-# Les 4 lignes suivantes permettant à mencoder tv:// de capturer immédiatement.
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# des options d'encodage plus complexes.
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont-autoscale=3
-subfont-osd-scale=6
-subfont-text-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Profils
-.\" --------------------------------------------------------------------------
-.
-.SH "PROFILS"
-Pour faciliter l'utilisation de différentes configuration, vous pouvez définir
-des profils dans les fichiers de configuration.
-Un profil commence par un nom entre crochets, par ex.\& '[mon-profil]'.
-Toutes les options qui suivront feront partie de ce profil.
-Une description (affichée par \-profile help) peut être définie avec l'option
-profile-desc.
-Pour finir le profil, commencez-un nouveau, ou utilisez le nom de
-profil 'default' pour continuer avec les options normales.
-.fi
-.PP
-.I "EXEMPLE DE PROFIL MPLAYER\ :"
-.sp 1
-.nf
-
-[protocol.dvd]
-profile-desc="profil pour les flux dvd://"
-vf=pp=hb/vb/dr/al/fd
-alang=en
-
-[protocol.dvdnav]
-profile-desc="profil pour les flux dvdnav://"
-profile=protocol.dvd
-mouse-movements=yes
-nocache=yes
-
-[extension.flv]
-profile-desc="profil pour les fichiers .flv"
-flip=yes
-
-[vo.pnm]
-outdir=/tmp
-
-[ao.alsa]
-device=spdif
-.fi
-.PP
-.I "EXEMPLE DE PROFIL MENCODER\ :"
-.sp 1
-.nf
-
-[mpeg4]
-profile-desc="MPEG4 encoding"
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile-desc="HQ MPEG4 encoding"
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Options
-.\" --------------------------------------------------------------------------
-.
-.SH "OPTIONS GÉNÉRALES"
-.
-.TP
-.B \-codecs\-file <nomfichier> (voir aussi \-afm, \-ac, \-vfm et \-vc)
-Change le chemin de recherche standard et utilise le fichier donné en
-paramètre au lieu du fichier codecs.conf inclus dans MPlayer.
-.
-.TP
-.B \-include <fichier de configuration>
-Spécifie le fichier de configuration à analyser après ceux par défaut.
-.
-.TP
-.B \-list\-options
-Affiche toutes les options disponibles.
-.
-.TP
-.B \-msgcharset <charset>
-Convertit les messages consoles à l'ensemble de caractères spécifié
-(par défaut\ : auto-détection).
-Le texte sera alors dans l'encodage défini par l'option du script configure
-\-\-charset.
-La valeur "noconv" permet de désactiver toute conversion (par ex. en
-cas de problèmes avec iconv)\ ;
-.br
-.I NOTE\ :
-Ceci n'aura d'effet qu'après que la ligne de commande aura été analysée,
-la variable d'environnment MPLAYER_CHARSET vous permettra de ne plus subir
-la troncature des premières lignes affichées.
-.
-.TP
-.B \-msgcolor
-Colorise la sortie console dans les terminaux supportant les couleurs ANSI.
-.
-.TP
-.B \-msglevel <all=<niveau>:<module>=<niveau>:...>
-Contrôle directement le niveau de verbosité de chaque module.
-Le module 'all' change le niveau de verbosité de tous les modules
-à part ceux explicitement donnés sur la ligne de commande.
-Tapez '\-msglevel help' pour avoir la liste de tous les modules.
-.br
-NOTE\ :
-Certains messages sont affichés avant que la ligne de commande ne soit
-analysée et ne sont par conséquent pas affectés par \-msglevel.
-Pour contrôler ces messages, vous devez utiliser la variable d'environnement
-MPLAYER_VERBOSE, voir sa description plus bas pour plus de détails.
-.br
-Niveaux disponibles\ :
-.PD 0
-.RSs
-.IPs "\-1"
-complètement silencieux
-.IPs " 0"
-messages fatals
-.IPs " 1"
-messages d'erreurs
-.IPs " 2"
-messages d'avertissement
-.IPs " 3"
-messages de conseil
-.IPs " 4"
-messages informatifs
-.IPs " 5"
-messages de statut (par défaut)
-.IPs " 6"
-messages verbeux
-.IPs " 7"
-niveau de debug 2
-.IPs " 8"
-niveau de debug 3
-.IPs " 9"
-niveau de debug 4
-.RE
-.PD 1
-.
-.TP
-.B \-msgmodule
-Préfixe les messages console avec le nom du module concerné.
-.
-.TP
-.B \-noconfig <options>
-Ne tient pas compte des fichiers de configuration donnés.
-.br
-.I NOTE\ :
-Si les options \-include ou \-use\-filedir\-conf sont données en ligne de commande,
-elles seront honorées.
-.sp 1
-Les options disponibles sont\ :
-.PD 0
-.RSs
-.IPs "all\ \ "
-tous les fichiers de configuration
-.IPs "gui (GUI uniquement)"
-le fichier de l'interface graphique (GUI)
-.IPs system
-la configuration du système
-.IPs "user\ "
-la configuration de l'utilisateur
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet\ "
-Avec cette option, la ligne d'état (c-à-d A: 0.7 V: 0.6 A-V: 0.068 ...) ne
-sera pas affichée.
-Cela est particulièrement utile sur les terminaux lents ou endommagés qui ne
-gèrent pas les retours chariot (c-à-d \\r).
-.
-.TP
-.B \-priority <prio> (Windows et OS/2 uniquement)
-Définit le niveau de priorité de MPlayer suivant les priorités prédéfinies
-disponibles sous Windows et OS/2.
-Valeurs possibles de <prio>\ :
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I ATTENTION\ :
-L'utilisation de la priorité realtime (temps-réel) peut figer le système.
-.RE
-.
-.TP
-.B \-profile <profile1,profile2,...>
-Utilise le profil donné, \-profile help affichant la liste des profils définis.
-.
-.TP
-.B \-really\-quiet (voir aussi \-quiet)
-Affiche encore moins de messages d'état que \-quiet.
-Supprime aussi les boîtes de dialogue d'erreur de l'interface graphique.
-.
-.B \-show\-profile <profile>
-Affiche la description et le contenu du profil donné.
-.
-.B \-use\-filedir\-conf
-Recherche un fichier de configuration spécifique au fichier joué
-dans le même répertoire que ce dernier.
-.br
-.I ATTENTION\ :
-Peut être dangereux si joué depuis des média en lesquels vous ne
-pouvez avoir confiance.
-.
-.TP
-.B "\-v\ \ \ \ \ "
-Agmente le niveau de verbosité d'un niveau par chaque \-v
-donné en ligne de commande.
-.
-.
-.
-.SH "OPTIONS DE LECTURE (MPLAYER UNIQUEMENT)"
-.
-.TP
-.B \-autoq <qualité> (utiliser avec \-vf [s]pp)
-Change dynamiquement le niveau de postprocessing en fonction de la charge
-processeur.
-Le nombre à indiquer est le niveau maximum utilisé.
-Normalement vous pouvez utiliser un nombre important.
-Vous devez indiquer \-vf [s]pp sans paramètres pour l'utiliser.
-.
-.TP
-.B \-autosync <facteur>
-Ajuste graduellement la synchro A/V en fonction de la mesure du décalage
-audio.
-En spécifiant \-autosync 0, valeur par défaut, la synchronisation des trames
-sera entièrement basée sur la mesure du décalage audio.
-En spécifiant \-autosync 1 la même chose sera faite, mais en changeant
-légèrement l'algorithme de correction A/V utilisé.
-On peut souvent améliorer la lecture d'une vidéo possédant un débit binaire
-vidéo irrégulier, mais qui peut-être lue avec \-nosound, en initialisant
-cette option à une valeur entière supérieure à 1.
-Plus cette valeur sera élevée, plus le débit sera proche de \-nosound.
-Essayez \-autosync 30 pour faire disparaître les problèmes avec les pilotes
-audio qui ne possèdent pas une mesure de décalage audio parfaite.
-Avec cette valeur, si de larges écarts de synchro A/V se produisent, il ne
-mettront qu'une seconde ou deux pour disparaître.
-Ce temps de réaction devrait être le seul effet de bord si cette option est
-activée, pour tous les pilotes audio.
-.
-.TP
-.B \-benchmark
-Affiche quelques statistiques sur l'utilisation CPU et les trames sautées
-à la fin de la lecture.
-À utiliser avec \-nosound et \-vo null pour mesurer les performances
-du codec vidéo.
-.br
-.I NOTE:
-Avec cette option MPlayer ignorera également la durée des trames pendant la
-lecture de vidéo uniquement (vous pouvez le comprendre comme des fps infinis).
-.
-.TP
-.B \-colorkey <nombre>
-Affecte une valeur RVB de votre choix à la couleur clé.
-0x000000 est noir et 0xffffff est blanc.
-Géré par les pilotes de sortie vidéo cvidix, fbdev, svga, vesa, winvidix, xmga,
-xvidix, xover, xv (voir \-vo xv:ck), xvmc (voir \-vo xv:ck) et directx
-uniquement.
-.
-.TP
-.B \-nocolorkey
-Désactive la couleur de transparence.
-Géré par les pilotes de sortie vidéo cvidix, fbdev, svga, vesa, winvidix, xmga,
-xvidix, xover, xv (voir \-vo xv:ck), xvmc (voir \-vo xv:ck) et directx
-uniquement.
-.
-.TP
-.B \-correct\-pts (EXPÉRIMENTAL)
-Bascule MPlayer dans un mode expérimental où les timestamps des trames vidéos
-sont calculées différemment, et où les filtres qui ajoutent des trames ou modifient
-les timestamps sont supportés.
-Les timestamps plus précis se ressentent par exemple lorsque vous regardez avec
-l'option \-ass une vidéo dont les sous-titres sont synchronisés avec un changement
-de scène.
-Sans l'option \-correct\-pts le timing des sous-titres est typiquement décalé de
-quelques trames.
-Cette option ne fonctionne pas bien avec certains démultiplexeurs et certains codecs.
-.
-.TP
-.B \-crash\-debug (CODE DE DÉBOGAGE)
-Attache gdb automatiquement lors d'un crash ou d'un SIGTRAP.
-N'est géré que si MPlayer a été compilé avec l'option de
-configuration \-\-enable\-crash\-debug.
-.
-.TP
-.B \-doubleclick\-time
-Délais en milli-secondes pour interpréter deux clics consécutifs comme un
-double-clic (default\ : 300).
-Mettre à 0 pour laisser le gestionnaire de fenêtes décider ce qu'est un double-clic
-(\-vo directx uniquement).
-.br
-.I NOTE\ :
-Vous aurez un comportement différent si vous associez MOUSE_BTN0_DBL ou
-MOUSE_BTN0\-MOUSE_BTN0_DBL.
-.
-.TP
-.B \-edlout <nomfichier>
-Crée un nouveau fichier et y écrit les commandes d'édition de la liste
-de décision (EDL).
-Durant la lecture, la touche 'i' permet de marquer le début ou la fin d'un
-bloc à sauter.
-Cela fournit un point de départ depuis lequel l'utilisateur peut régler
-plus finement les entrées EDL plus tard.
-Voir http://www.mplayerhq.hu/\:DOCS/\:HTML/\:fr/\:edl.html pour les détails.
-.
-.TP
-.B \-enqueue (GUI uniquement)
-Ajoute les fichiers donnés en ligne de commande à la liste de lecture au
-lieu de les jouer immédiatement.
-.
-.TP
-.B \-fixed\-vo
-Force l'initialisation d'une seule fenêtre vidéo pour la lecture d'une
-série de fichiers.
-Actuellement les pilotes suivants fonctionnent avec fixed-vo: gl, gl2, mga,
-svga, x11, xmga, xv, xvidix et dfbmga.
-.
-.TP
-.B \-framedrop (voir aussi \-hardframedrop, expérimental sans \-nocorrect\-pts)
-Saute l'affichage de certaines trames pour maintenir la synchro A/V sur
-les machines lentes.
-Les filtres vidéo ne sont pas appliqués sur de telles trames.
-Pour les trames-B, leur décodage est même complètement désactivé.
-Notez que le décodeur libmpeg2 est particulièrement sujet à plantage
-lorsque cette option est utilisée, ainsi devriez-vous peut-être utiliser à
-la place "\-vc ffmpeg12,".
-.
-.TP
-.B \-(no)gui
-Active ou désactive l'interface graphique (le comportement par défaut
-dépend du nom du fichier exécuté).
-Ne fonctionne que si placé en tête de la ligne de commande.
-Ne fonctionne pas en tant qu'option de fichier de configuration.
-.
-.TP
-.B \-h, \-help, \-\-help
-Affiche un court résumé des options.
-.
-.TP
-.B \-hardframedrop (expérimental sans \-nocorrect\-pts)
-Saute les trames de façon plus brutale (casse le décodage).
-Mène à des distorsions d'image!
-.
-.TP
-.B \-heartbeat\-cmd
-Commande exécutée via system() - c-à-d via le shell - toutes les 30 secondes
-lors de la lecture.
-.sp 1
-.I NOTE\ :
-MPlayer utilise cette commande sans aucune sorte de vérification, il est
-donc de votre responsablité qu'elle ne pose pas de problème de sécurité
-(c-à-d que vous devriez spécifier le chemin absolu, surtout si "." est dans
-le chemin de recherche $PATH, comme c'est le cas sous Windows).
-Cela fonctionne aussi lors de la lecture d'une vidéo (c-à-d.\& que ça ne
-fonctionne pas avec \-novideo alors que ça fonctionne avec \-vo null).
-.sp 1
-Ceci peut être "détourné" pour désactiver un économiseur d'écran ne gérant par
-l'API de X prévu à cet effet (voir aussi \-stop\-xscreensaver).
-Si cela vous semble un peu trop compliqué, demandez à l'auteur du programme
-d'économiseur d'écran de gérer l'API de X dédiée.
-.sp 1
-.I EXEMPLE pour xscreensaver:
-mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
-.sp 1
-.I EXEMPLE pour l'économiseur d'écran de GNOME\ :
-mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
-.RE
-.PD 1
-.
-.TP
-.B \-identify
-Raccourci pour \-msglevel identify=4.
-Affiche les paramètres de fichier dans un format facilement analysable.
-Affiche aussi des informations plus détaillées à propos des langues et des
-identifiants des sous-titres et des pistes audio.
-Dans certains cas, vous aurez encore plus d'informations en utilisant
-\-msglevel identify=6.
-Par exemple, pour les DVDs, cela listera la durée de chaque titre et de
-chaque chapitre, tout comme le numéro d'identifiant du DVD.
-Ajoutez l'option \-frames 0 pour supprimer toute sortie console superflue.
-Le script TOOLS/\:midentify.sh supprime le reste de l'affichage et (espérons-le)
-formate les noms de fichiers pour le shell.
-.
-.TP
-.B \-idle (voir aussi \-slave)
-Fait que MPlayer se met en attente au lieu de quitter lorsqu'il n'y a pas
-de fichier à jouer.
-Surtout utile en "slave mode" où MPlayer peut être controlé par l'envoi de
-commandes.
-.
-.TP
-.B \-input <commandes>
-Cette option peut être utilisée pour configurer certaines parties du
-système de contrôle.
-Les chemins sont relatifs à ~/.mplayer/.
-.br
-.I NOTE:
-La répétition automatique n'est pour l'instant gérée que par les joysticks.
-.sp 1
-Les commandes disponibles sont:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<nom_fichier>
-Définit le fichier de configuration pour les évènements d'entrée (input) au
-lieu de ~/\:.mplayer/\:input.conf par défaut.
-Si vous ne donnez pas de chemin absolu, il sera cherché à
-~/\:.mplayer/\:<nom_fichier>.
-.IPs ar-dev=<peripherique>
-Périphérique à utiliser pour contrôler la télécommande Apple IR
-(auto-détecté par défaut, Linux uniquement).
-.IPs ar-delay
-Temps en millisecondes avant de démarrer la répétition automatique
-d'une touche
-(0 pour désactiver).
-.IPs ar-rate
-Combien de frappes par seconde pendant la répétition automatique.
-.IPs (no)default-bindings
-Répond aux touches de contrôle par défaut de MPlayer.
-.IPs keylist
-Affiche toutes les touches pouvant être attachées.
-.IPs cmdlist
-Affiche toutes les commandes pouvant être attachées.
-.IPs js-dev
-Spécifie le périphérique joystick à utiliser (par défaut\ :
-/dev/\:input/\:js0).
-.IPs file=<nom_fichier>
-Lit les commandes depuis un fichier donné.
-Utile surtout avec une FIFO.
-.br
-.I NOTE:
-Quand le fichier indiqué est une FIFO, MPlayer ouvre chaque extrémité
-donc vous pouvez avoir plusieurs \'echo "seek 10" > mp_pipe\' et le pipe
-restera valide.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-Définit la taille de la FIFO qui tamponne les évènements clavier
-(par défaut\ : 7).
-Une FIFO de taille n peut tamponner (n - 1) évènements.
-Si elle est trop petite, quelques évènements risquent d'être perdus
-(débouchant sur une erreur "stuck mouse button" ou un effet similaire).
-Si elle est trop grande, MPlayer pourrait sembler bloqué alors qu'il
-traite les évènements tamponnés.
-Pour avoir le même comportement que celui existant avant que cette option
-soit introduite, mettez-la à 2 sous Linux et 1024 sous Windows.
-.
-.TP
-.B \-lircconf <nom_fichier> (LIRC uniquement)
-Indique un fichier de configuration pour LIRC (Linux Infrared Remote
-Control, voir http://www.lirc.org) (par défaut\ : ~/.lircrc).
-.
-.TP
-.B \-list\-properties
-Affiche la liste des propriétés disponibles.
-.
-.TP
-.B \-loop <nombre>
-Répète la lecture <nombre> fois.
-0 signifie illimité.
-.
-.TP
-.B \-menu (OSD menu uniquement)
-Active le menu OSD.
-.
-.TP
-.B \-menu\-cfg <nom_fichier> (OSD menu uniquement)
-Utilise le menu.conf indiqué.
-.
-.TP
-.B \-menu\-chroot <path> (OSD menu only)
-Cloître le menu de sélection de fichiers à un emplacement spécifique.
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IPs "\-menu\-chroot /home"
-Limite au répertoire et sous-répertoire /\:home/ le menu de sélection de fichier
-(c-à-d qu'il ne sera pas possible d'accéder à /, tandis que /\:home/\:user_name/
-sera accessible).
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdir (OSD menu uniquement)
-Force le navigateur de fichiers a toujours démarrer depuis son ancienne
-position plutôt que depuis le répertoire courant.
-.
-.TP
-.B \-menu\-root <valeur> (OSD menu uniquement)
-Spécifie le menu principal.
-.
-.TP
-.B \-menu\-startup (OSD menu uniquement)
-Affiche le menu principal au lancement de MPlayer.
-.
-.TP
-.B \-mouse\-movements
-Permet MPlayer de recevoir des évènements souris envoyés
-par le pilote de sortie vidéo.
-Utilisé pour sélectioner les boutons des menus DVDs.
-Géré par par les VOs basés sur X11 (x11, xv, xvmc, etc.) ainsi que les VOs gl,
-gl2, direct3d et corevideo.
-.
-.TP
-.B \-noar
-Désactive la gestion de la télécommande AppleIR.
-.
-.TP
-.B \-noconsolecontrols
-Empêche MPlayer de réagir aux commandes clavier depuis l'entrée
-standard.
-Utile quand il lit des données depuis l'entrée standard.
-Ce mode est automatiquement activé lorsque \- est présent sur la
-ligne de commande.
-Il se peut que vous ayez à l'activer manuellement, ex.\&
-si vous ouvrez /dev/\:stdin (ou équivalent sur votre système),
-utilisez stdin dans une liste de lecture (playlist) ou tentez de
-lire depuis la couche stdin par le truchement des commandes loadfile
-ou loadlist du mode esclave.
-.
-.TP
-.B \-nojoystick
-Désactive la gestion du joystick.
-Activé par défaut, si il a été compilé pour.
-.
-.TP
-.B \-nolirc
-Désactive la gestion de LIRC.
-.
-.TP
-.B \-nomouseinput
-Désactive l'interprétation des boutons de la souris (le menu contextuel
-de mozplayerxp dépend de cette option).
-.
-.TP
-.B \-rtc (RTC uniquement)
-Active l'utilisation du RTC Linux (real-time clock \- /dev/\:rtc)
-comme mécanisme de synchro.
-Cela réveillera le processus tous les 1/1024 de secondes pour récupérer
-l'heure courante.
-Inutile avec un noyau Linux récent configuré pour une utilisation de
-bureau, puisqu'ils réveillent suffisament souvent les processus .
-.
-.TP
-.B \-playing\-msg <chaîne_de_caractères>
-Affiche une chaîne de caractères avant de commencer la lecture.
-Les expansions suivantes sont gérées:
-.RSs
-.IPs ${NAME}
-Expand la valeur de la propriété NAME.
-.IPs ?(NAME:TEXT)
-Expand TEXT uniquement si la propriété NAME est disponible.
-.RE
-.
-.TP
-.B \-playlist <fichier>
-Joue les fichiers d'après une liste de lecture (1 fichier par ligne, ou aux
-formats Winamp ou ASX).
-.br
-.I NOTE:
-Cette option est considérée comme une entrée, donc les options trouvées à la
-suite s'appliqueront uniquement aux éléments de la liste de lecture.
-.br
-FIXME: Cette description est quelque peu alambiquée, et devrait être mieux
-documentée.
-.
-.TP
-.B \-rtc\-device <périph>
-Utilise ce périphérique spécial RTC pour améliorer la synchro.
-.
-.TP
-.B \-shuffle
-Joue les fichiers en ordre aléatoire.
-.
-.TP
-.B \-skin <nom_skin> (GUI uniquement)
-Charge le skin <nom_skin> (revêtement décoratif) depuis les répertoires
-par défaut /usr/\:local/\:share/\:mplayer/\:skins/\: et ~/.mplayer/\:skins/.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-Essaie /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene en premier, puis
-~/.mplayer/\:skins/\:fittyfene en cas d'échec.
-.RE
-.PD 1
-.
-.
-.TP
-.B \-slave (voir aussi \-input)
-Cette option enclenche le mode esclave.
-Ceci est prévu pour l'utilisation de MPlayer en tant que base (backend)
-pour d'autres programmes.
-Au lieu d'intercepter les évènements clavier, MPlayer va lire ses
-commandes séparées par un retour chariot (\\n) via l'entrée stdin.
-.br
-.I NOTE\ :
-Voir \-input cmdlist pour une liste des commandes esclaves, et
-DOCS/tech/slave.txt pour leur description.
-De plus, cette option n'est pas vouée à désactiver les autres entrées,
-comme via la fenêtre vidéo\ ; pour cela, utilisez d'autres méthodes, comme
-\-input nodefault\-binds:conf=/dev/null.
-.
-.TP
-.B \-softsleep
-Assure la syncho en vérifiant périodiquement l'horloge courante
-au lieu de demander au noyau de réveiller MPlayer à un moment précis.
-Utile si votre noyau ne dispose pas de timer précis et que vous ne
-pouvez pas non plus utiliser la RTC.
-.
-.TP
-.B \-sstep <sec>
-Saute <sec> secondes après chaque trame.
-Le nombre d'images par secondes affichées étant conservé, la lecture est donc
-accélérée.
-Étant donné que MPlayer ne peut se déplacer dans les flux vidéo que de
-trame-clé en trame-clé, cet intervalle ne sera pas scrupuleusement respecté.
-.
-.
-.SH "OPTIONS DEMULTIPLEXEUR/FLUX"
-.
-.TP
-.B \-a52drc <niveau>
-Active le contrôle de volume dynamique des flux audios AC-3.
-<niveau> est un flottant compris entre 0 et 1, où 0 signifie aucun contrôle
-et 1 (defaut) signifie un contrôle total (rendre les passages bruyants plus
-calmes et vice versa).
-Cette option ne fonctionne uniquement si le flux AC-3 comporte ce genre
-d'information de contrôle.
-.
-.TP
-.B \-aid <ID> (voir aussi \-alang)
-Sélectionne le canal audio (MPEG: 0\-31 AVI/\:OGM: 1\-99 ASF/\:RM: 0\-127
-VOB(AC-3): 128\-159 VOB(LPCM): 160\-191 MPEG-TS 17\-8190).
-MPlayer affiche les IDs audios disponibles quand il est lancé en mode
-bavard (-v).
-Pour jouer des flux MPEG-TS, MPlayer/\:MEncoder utilisera le premier programme
-(si présent) avec le flux audio choisi.
-.
-.TP
-.B \-ausid <ID> (voir aussi \-alang)
-Sélectionne le canal du sous-flux audio.
-L'intervalle des valeurs valides est 0x55..0x75 et s'applique uniquement au
-démultiplexeur MPEG-TS natif (par celui de libavformat).
-Le type de format peut ne pas être correctement identifié puisque cette information n'est pas présente dans le flux, mais le démultiplexage des flux audios se fera correctement en présence de sous-flux multiples.
-MPlayer affiche tous les identifiants des sous-flux quand il est lancé avec
-l'option \-identify.
-.
-.TP
-.B \-alang <code de langue[,code de langue,...]> (voir aussi \-aid)
-Définit une liste de langues de pistes audio à jouer en priorité.
-Chaque format de conteneur utilise des codes de pays différents.
-Les DVDs utilisent les codes à deux lettres ISO 639\-1, Matroska, MPEG-TS et NUT
-les codes à trois lettres ISO 639\-2, tandis que OGM utilise des
-identifiants à forme libre.
-MPlayer affiche les langues disponibles quand il est lancé en mode bavard
-(\-v).
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-alang hu,en"
-Sélectionne le hongrois et se rabat sur l'anglais si le hongrois n'est pas
-disponible.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]nom> (\-audiofile uniquement)
-Force le type de démultiplexeur audio pour \-audiofile.
-Ajoutez un '+' avant son nom pour le forcer, ce qui va sauter
-certains contrôles.
-Indiquez le nom du demultiplexeur parmi la liste donnée par \-audio\-demuxer
-help.
-Pour assurer la compatibilité ascendante, il est aussi possible de donner
-l'ID du démultiplexeur comme défini dans subreader.h.
-Par exemple, \-audio\-demuxer audio ou \-audio\-demuxer 17 force le
-démultiplexeur MP3.
-.
-.TP
-.B \-audiofile <nomfichier>
-Joue la piste audio depuis un fichier externe (WAV, MP3 ou Ogg Vorbis)
-pendant la visualisation d'un film.
-.
-.TP
-.B \-audiofile\-cache <Koctets>
-Active la mise en cache pour le flux utilisé par \-audiofile, en utilisant
-la quantité demandée de mémoire.
-.
-.TP
-.B \-(no)reuse-socket (udp:// uniquement)
-Permet au socket d'être ré-utilisé par un autre processus aussitôt qu'il
-est fermé.
-.
-.TP
-.B \-bandwidth <octets> (réseau uniquement)
-Spécifie la bande passante maximum pour le streaming par le réseau (pour les
-serveurs capables d'envoyer du contenu à différents débits).
-Utile si vous voulez voir en direct avec une connexion lente des médias
-streamés.
-Avec les flux Real RTSP streaming, c'est aussi utilisé pour définir la bande
-passante d'émission maximale, permettant un remplissage du cache et une
-sauvegarde plus rapide.
-.
-.TP
-.B \-cache <Koctets>
-Cette option indique combien de mémoire (en Ko) utiliser pour mettre un
-fichier ou une URL en cache.
-Particulièrement utile sur des médias lents.
-.
-.TP
-.B \-nocache
-Désactive la mise en cache.
-.
-.TP
-.B \-cache\-min <pourcentage>
-La lecture commencera quand le cache sera rempli jusqu'à <pourcentage>
-du total.
-.
-.TP
-.B \-cache\-seek\-min <pourcentage>
-Si un déplacement (seek) est demandé à une position située à <pourcentage>
-de la taille du cache depuis la position courante, MPlayer va attendre
-que le cache se remplisse jusqu'à cette position au lieu de réaliser un
-seek sur flux (par défaut\ : 50).
-.
-.TP
-.B \-cdda <option1:option2>
-Cette option est utilisée pour régler les capacités de lecture de CD Audio
-de MPlayer.
-.sp 1
-Les options disponibles sont:
-.
-.RSs
-.IPs speed=<valeur>
-Règle la vitesse de lecture du CD
-.IPs paranoia=<0\-2>
-Règle le niveau de paranoia.
-Toute valeur autre que 0 semble ne permettre la lecture de la
-première piste uniquement.
-.RSss
-0: désactive la détection (par défaut)
-.br
-1: détection des chevauchements uniquement
-.br
-2: correction et vérification complète des données
-.REss
-.IPs generic-dev=<valeur>
-utiliser le périphérique SCSI générique spécifié
-.IPs sector-size=<valeur>
-taille de lecture atomique
-.IPs overlap=<valeur>
-force la recherche minimum de chevauchements pendant vérification à <valeur>
-secteurs.
-.IPs toc-bias
-Considère que l'offset de début de la piste 1 comme reportée dans la TOC sera
-adressée en tant que LBA 0.
-Certains lecteurs Toshiba ont besoin de cela pour garder des transitions de
-pistes correctes.
-.IPs toc-offset=<valeur>
-Ajouter <valeur> secteurs aux valeurs renvoyées pendant l'adressage des pistes.
-Peut être négatif.
-.IPs (no)skip
-(jamais) accepter les reconstructions imparfaites de données.
-.RE
-.
-.TP
-.B \-cdrom\-device <périph>
-Outrepasse le nom par défaut du lecteur de CDROM (/dev/\:cdrom).
-.
-.TP
-.B \-channels <nombre> (voir aussi \-af channels)
-Définit le nombre de canaux audio à utiliser. (défaut\ : 2).
-MPlayer demande au décodeur de décoder l'audio sur le nombre requis de canaux.
-Maintenant c'est au décodeur de satisfaire cette demande.
-Généralement, c'est important seulement pour la lecture des vidéos avec de
-l'audio AC-3 (comme les DVDs).
-Dans ce cas liba52 fait le décodage par défaut et fusionne
-correctement l'audio dans le nombre requis de canaux.
-Pour contrôler directement le nombre de canaux de sortie quelque soit le
-nombre de canaux décodés, utilisez le filtre channels.
-.br
-.I NOTE:
-Cette option est comprise par les codecs (AC-3 uniquement), filtres (surround)
-et pilotes de sortie audio (OSS au moins).
-.sp 1
-Les options disponibles sont:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-Stereo
-.IPs 4
-Surround
-.IPs 6
-5.1 complet
-.IPs 8
-7.1 complet
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <id chapitre>[\-<id fin chapitre>] (dvd:// et dvdnav:// uniquement)
-Indique à quel chapitre commencer la lecture.
-Vous pouvez également indiquer à quel chapitre arrêter la lecture
-(par défaut\ : 1).
-.
-.TP
-.B \-cookies (réseau uniquement)
-Envoie des cookies lors des requêtes HTTP.
-.
-.TP
-.B \-cookies\-file <fichier> (réseau uniquement)
-Lit les cookies HTTP depuis <fichier> (par défaut\ : ~/.mozilla/ et
-~/.netscape/).
-Ce fichier est supposé être au format Netscape.
-.
-.TP
-.B \-delay <sec>
-retard audio en secondes (nombre flottant positif ou négatif)
-.br
-Les valeurs négatives délayent le son, et les valeurs positives délayent
-la vidéo.
-Notez que c'est l'exact opposé de l'option \-audio\-delay de MEncoder.
-.br
-.I NOTE\ :
-Lorsque utilisé avec MEncoder et \-ovc copy, le résultat peut ne pas
-être correct: utilisez \-audio\-delay à la place.
-.
-.TP
-.B \-ignore\-start
-Ignore le temps de démarrage pour les flux dans les fichiers AVIs.
-Ceci permet d'ignorer le retardement du flux dans les fichiers
-encodés avec l'option \-audio\-delay.
-Pendant l'encodage, cette option évite à MEncoder de transférer au
-nouveau fichier le moment original de démarrage du flux\ ;
-l'option \-audio\-delay n'est pas affectée.
-Notez que MEncoder ajuste parfois automatique les moments de démarrage
-du flux pour compenser les délais de décodage anticipés, donc n'utilisez pas cette option avant de l'avoir testée.
-.
-.TP
-.B \-demuxer <[+]nom>
-Forcer le type de démultiplexeur.
-Ajoutez un '+' avant son nom pour le forcer, ce qui va sauter
-certains contrôles.
-Indiquez le nom du démultiplexeur comme listé par \-demuxer help.
-Pour assurer la compatibilité ascendante, il est aussi possible de donner
-l'ID du démultiplexeur comme définit dans libmpdemux/\:demuxer.h.
-.
-.TP
-.B \-dumpaudio (MPlayer uniquement)
-Décharge le flux audio brut dans ./stream.dump (utile avec
-MPEG/\:AC-3), dans la plupart des autres cas, le fichier résultant ne
-sera pas lisible).
-Si vous spécifiez plus qu'une des options \-dumpaudio, \-dumpvideo,
-\-dumpstream, seule la dernière de la ligne de commande sera prise en
-compte.
-.
-.TP
-.B \-dumpfile <nomfichier> (MPlayer uniquement)
-Indique dans quel fichier MPlayer doit écrire le flux à sauver.
-Devrait être utilisé avec \-dumpaudio / \-dumpvideo / \-dumpstream.
-.
-.TP
-.B \-dumpstream (MPlayer uniquement)
-Décharge le flux brut dans ./stream.dump.
-Utile en rippant depuis un DVD ou depuis le réseau.
-Si vous spécifiez plus qu'une des options \-dumpaudio, \-dumpvideo,
-\-dumpstream, seule la dernière de la ligne de commande sera prise en
-compte.
-.
-.TP
-.B \-dumpvideo (MPlayer uniquement)
-Décharge le flux vidéo brut dans ./stream.dump (pas très utilisable).
-Si vous spécifiez plus qu'une des options \-dumpaudio, \-dumpvideo,
-\-dumpstream, seule la dernière de la ligne de commande sera prise en
-compte.
-.
-.TP
-.B \-dvbin <options> (DVB uniquement)
-Passe les paramètres suivants au module d'entrée DVB, de façon à
-outrepasser ceux par défaut\ :
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Spécifie le numéro de carte à utiliser (par défaut\ : 1).
-.IPs file=<nom_fichier>
-Dit à MPlayer de lire les canaux depuis <nom_fichier>.
-~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc} par défaut (en fonction de votre
-type de carte) ou ~/.mplayer/\:channels.conf en dernier recours.
-.IPs timeout=<1\-30>
-Nombre maximal de secondes à attendre lors des tentatives de synthonisation
-à la bonne fréquence avant d'abandonner (par défaut\ : 30).
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <périph> (DVD uniquement)
-Définit le nom du périphérique DVD ou fichier .iso (par défaut\ : /dev/\:dvd).
-Vous pouvez aussi donner un répertoire contenant l'arborescence complète
-d'un DVD (que vous auriez copié, par exemple, avec vobcopy).
-.
-.TP
-.B \-dvd\-speed <facteur ou débit en Ko/s> (DVD uniquement)
-Essaye de limiter la vitesse du DVD (par défaut\ : pas de changement).
-La vitesse de base d'un DVD est d'environ 1350Ko/s, donc un lecteur 8x
-peut lire jusqu'à une vitesse de 10800Ko/s.
-Une vitesse plus lente rend le lecteur plus silencieux; pour regarder un DVD,
-une vitesse de 2700KB/s devrait être assez rapide et silencieux.
-MPlayer ré-initialise le lecteur à sa vitesse d'origine quand il termine
-la lecture.
-Les valeurs inférieures 100 signifie un multiple de 1350Ko/s, c-à-d
-\-dvd\-speed 8 met la limite à 10800Ko/s.
-.br
-.I NOTE\ :
-Vous devez avoir un accès en écriture au périphérique DVD pour changer la
-vitesse.
-.
-.TP
-.B \-dvdangle <ID angle> (DVD uniquement)
-Certains DVDS contiennent des scènes qui peuvent être vues sous différents
-angles.
-Vous pouvez ainsi dire à MPlayer quels angles utiliser (par défaut\ : 1).
-.
-.TP
-.B \-edl <nomfichier>
-Active les actions d'édition de liste de décision (EDL) durant la lecture.
-La vidéo sera sautée et le son coupé et remis suivant les entrées du
-fichier indiqué.
-Voir http://www.mplayerhq.hu/\:DOCS/\:HTML/\:fr/\:edl.html pour les détails
-sur comment l'utiliser.
-.
-.TP
-.B \-forceidx
-Forcer la reconstruction de l'index.
-Utile pour les fichiers possédant un index cassé (désynchro, etc).
-Cela vous permettra aussi de naviguer en avant/\:arrière si cela n'était
-pas possible.
-Vous pouvez réparer l'index de façon permanente avec MEncoder (voir la
-documentation).
-.br
-.I NOTES:
-Vous ne pouvez utiliser cette option que si le media en question permet les
-déplacements (c-à-d pas depuis stdin, un pipe, etc).
-.
-.TP
-.B \-fps <flottant>
-Forcer le nombre de trames/\:sec de la vidéo (si la valeur est mauvaise ou
-absente de l'entête).
-.
-.TP
-.B \-frames <nombre>
-Joue/\:convertit uniquement les <nombre> premières trames, puis sort.
-.
-.TP
-.B \-hr\-mp3\-seek (MP3 uniquement)
-Déplacement haute résolution dans mp3.
-Par défaut, activé quand un fichier MP3 externe est lu, car nous devons nous
-y positionner très précisément pour garder la synchro A/V. Cela peut être
-lent,surtout en allant en arrière, puisqu'il faut revenir au début pour
-trouver la trame exacte.
-.
-.TP
-.B \-idx (voir aussi \-forceidx)
-Reconstruit l'index du fichier vidéo si aucun index n'est trouvé,
-permet ainsi de se déplacer.
-Utile avec les téléchargements cassés/\:incomplets, les vidéos en cours
-de/\:ou mal générées.
-.br
-.I NOTES:
-Vous ne pouvez utiliser cette option que si le media en question permet les
-déplacements (c-à-d pas depuis stdin, un pipe, etc).
-.
-.TP
-.B \-noidx
-Saute la reconstruction de l'index du fichier.
-Avec cette option, MEncoder saute l'écriture de l'index du fichier.
-.
-.TP
-.B \-ipv4\-only\-proxy (réseau uniquement)
-Saute le proxy pour les adresses IPv6.
-Il sera toujours utilisé pour les connections IPv4.
-.
-.TP
-.B \-loadidx <nomfichier>
-Lit l'index depuis <nomfichier>, tel que sauvé par \-saveidx.
-Cet index aura priorité, (pour le déplacement par ex.\&) sur l'index de
-la vidéo jouée
-Attention, MPlayer ne vous empêchera pas de charger l'index
-généré pour un AVI différent, mais cela vous causera sûrement des torts.
-.I NOTE:
-Cette option est obsolète maintenant que MPlayer gère OpenDML.
-.
-.TP
-.B \-mc <secondes/\:trame>
-Correction de synchro A-V maximum par trame (en secondes).
-.
-.TP
-.B \-mf <option1:option2:...>
-Utilisé lors du décodage de multiples fichiers PNG ou JPEG.
-.sp 1
-Les options disponibles sont:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<valeur>
-largeur de l'entrée (par défaut\ : autodétection)
-.IPs h=<valeur>
-hauteur de l'entrée (par défaut autodétection)
-.IPs fps=<valeur>
-fps de la sortie (par défaut\ : 25)
-.IPs type=<valeur>
-type des fichiers d'entrée (types disponibles: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (AVI uniquement)
-Forcer l'utilisation du filtre AVI non entrelacé (permet de
-jouer certains mauvais fichiers AVI).
-.I NOTE\ :
-Il ne s'agit pas d'entrelacement au sens de celle présente dans
-une vidéo issue d'un caméscope numérique, mais d'entrelacement au
-sens de multiplexage audio vidéo dans le fichier vidéo.
-.
-.TP
-.B \-nobps (AVI uniquement)
-Ne pas utiliser la valeur octet/\:sec moyenne pour la synchro A-V.
-Aide pour certains fichiers AVI avec une entête cassée.
-.
-.TP
-.B \-noextbased
-Désactive la sélection de démultiplexeur basée sur l'extension du fichier.
-Par défaut, quand le type de fichier (respectivement, de démultiplexeur)
-ne peut être détecté de façon fiable (le fichier n'a pas d'entête ou
-n'est pas suffisamment fiable), l'extension du fichier est utilisée
-pour sélectionner le démultiplexeur.
-Il se rabat toujours sur une sélection de démultiplexeur basée sur le
-contenu.
-.
-.TP
-.B \-passwd <mot\ de\ passe> (voir également \-user) (réseau uniquement)
-Indique le mot de passe pour l'identification http.
-.
-.TP
-.B \-prefer\-ipv4 (réseau uniquement)
-Utilise IPv4 pour les connections réseau.
-Se rabat automatiquement sur IPv6.
-.
-.TP
-.B \-prefer\-ipv6 (réseau IPv6 uniquement)
-Utilise IPv6 pour les connections réseau.
-Se rabat automatiquement sur IPv4.
-.
-.TP
-.B \-psprobe <position en octets>
-En jouant des flux MPEG-PS ou MPEG-PES, cette option vous permet de spécifier
-combien d'octets doivent être scannés par MPlayer pour identifier le codec
-vidéo utilisé.
-Cette option est nécessaire pour lire les fichiers EVO ou VDR contenant un
-flux H264.
-.
-.TP
-.B \-pvr <option1:option2:...> (carte PVR uniquement)
-Cette option permet le réglage de différentes propriétés d'enregistrement du
-module de capture des cartes PVR.
-Son utilisation est restreinte aux cartes disposant d'un encodeur MPEG
-matériel et supportées par le driver V4L2.
-Les cartes basées sur le pilote IVTV, telles que les Hauppauge
-WinTV PVR\-150/250/350/500 en sont un bon exemple.
-Soyiez attentif au fait qu'un noyau Linux 2.6.18 ou supérieur est requis
-pour la capture de flux MPEG par le biais du pilote V4L2.
-Pour procéder à la capture matérielle au format MPEG ainsi qu'à sa
-visualisation via MPlayer/MEncoder, utilisez 'pvr://' comme URL de film.
-.sp 1
-Les options disponibles sont :
-.RSs
-.IPs aspect=<0\-3>
-Spécifie un format visuel pour l'entrée vidéo\ :
-.RSss
-0: 1:1
-.br
-1: 4:3 (par défaut)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-Spécifie le taux d'échantillonnage de l'encodeur audio (la valeur par défaut
-est de 48000 Hz, et sont disponibles 32000, 44100 et 48000 Hz).
-.IPs alayer=<1\-3>
-Spécifie le niveau d'encodage MPEG audio (par défaut\ : 2).
-.IPs abitrate=<32\-448>
-Spécifie le taux binaire d'encodage audio en kbps (par défaut\ : 384).
-.IPs amode=<valeur>
-Spécifie le mode d'encodage audio.
-Les différentes valeurs disponibles sont 'stereo', 'joint_stereo', 'dual'
-et 'mono'.
-La valeur par défaut est le Stéréo.
-.IPs vbitrate=<valeur>
-Spécifie le taux binaire moyen d'encodage vidéo (par défaut\ : 6 Mbps).
-.IPs vmode=<valeur>
-Spécifie le mode d'encodage vidéo\ :
-.RSss
-vbr: Taux binaire variable (par défaut).
-.br
-cbr: Taux binaire constant.
-.REss
-.IPs vpeak=<valeur>
-Spécifie le taux binaire maximum d'encodage vidéo (utile uniquement dans le
-cas du mode VBR).
-La valeur par défaut est de 9.6 Mbps.
-.IPs fmt=<valeur>
-Détermine le format MPEG utilisé pour l'encodage\ :
-.RSss
-ps: Flux compatible MPEG 2 Program Stream (par défaut).
-.br
-ts: Flux compatible MPEG 2 Transport Stream.
-.br
-mpeg1: Flux compatible MPEG 1 System Stream.
-.br
-vcd: Flux compatible Video CD.
-.br
-svcd: Flux compatible Super Video CD.
-.br
-dvd: Flux compatible DVD.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <option1:option2:...> (radio uniquement)
-Les options suivantes permettent de paramétrer le module de capture
-radio.
-Pour écouter la radio avec MPlayer, utilisez une URL de
-type 'radio://<fréquence>' (si l'option 'channels' n'est pas donnée),
-ou 'radio://<numéro de canal>' (si l'option 'channels' est donnée).
-Pour voir la plage de fréquence autorisée, lancez MPlayer avec l'option '\-v'.
-Pour commencer l'enregistrement, faites 'radio://<fréquence ou canal>/capture'.
-Si le mot-clef capture n'est pas donné vous pouvez uniquement écouter
-la radio par la sortie line-in.
-Utiliser 'capture' pour écouter n'est pas recommandé à cause des
-problèmes de synchronisation, ce qui rend l'écoute désagréable.
-.sp 1
-Les options disponibles sont:
-.RSs
-.IPs device=<valeur>
-Le périphérique radio à utiliser (par défaut\ : /dev/radio0 sous Linux et
-/dev/tuner0 sous *BSD).
-.IPs driver=<valeur>
-Le pilote radio à utiliser (par défaut\ : v4l2 si disponible,
-v4l sinon).
-.IPs volume=<0..100>
-volume du périphérique radio (par défaut\ : 100)
-.IPs "freq_min=<valeur> (*BSD BT848 uniquement)"
-fréquence minimale autorisée (par défaut\ : 87.50)
-.IPs "freq_max=<valeur> (*BSD BT848 uniquement)"
-fréquence maximale autorisée (default: 108.00)
-.IPs channels=<fréquence>\-<nom>,<fréquence>\-<nom>,...
-Défini la liste des canaux.
-.I NOTE\ :
-Si <channel> est un entier supérieur à 1000, il sera interprété comme une
-fréquence (en in kHz) au lieu du nom du canal de la table des fréquences.
-.br
-Utilisez _ pour les espaces (ou jouez avec les guillements).
-Les noms des canaux seront alors affichées en utilisant l'OSD et les
-commandes esclaves radio_step_channel et radio_set_channel seront
-utilisables par télécommande (voir LIRC).
-Si un numéro est donné dans l'URL, il sera compris comme la position
-du canal dans la liste des canaux.
-.br
-.I EXEMPLE:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<valeur> (avec la capture radio activée)"
-Nom du périphérique depuis lequel enregistrer le son.
-Faute d'être spécifié, la capture sera désactivée, même
-si le mot-clef capture apparaît dans l'URL.
-Donnez les périphériques ALSA sous la forme hw=<card>.<device>.
-Si le nom contient un '=', la capture se fera avec ALSA, sinon
-avec OSS.
-.IPs "arate=<value> (avec la capture radio activée)"
-Nombre d'échantillons par seconde (par défaut: 44100).
-.br
-.I NOTE:
-Pendant les capture, utilisez aussi l'option \-rawaudio rate=<valeur>
-avec la même valeur que arate.
-Si vous avez des problèmes de vitesse du son (trop rapide), essayez
-différents taux d'échantillonnage (c-à-d 48000,44100,32000,...).
-.IPs "achannels=<value> (avec la capture radio activée)"
-Nombre de canaux audios à enregistrer.
-.RE
-.
-.TP
-.B \-rawaudio <option1:option2:...>
-Cette option vous permet de lire des fichiers audio bruts.
-Vous devez aussi utiliser \-demuxer rawaudio.
-Il peut aussi être utilisé pour lire des CD audio qui ne sont pas 44kKHz
-16-bit stéréo.
-Pour lire un flux AC-3 brut, utilisez \-rawaudio format=0x2000
-\-demuxer rawaudio.
-.sp 1
-Les options disponibles sont:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<valeur>
-nombre de canaux
-.IPs rate=<valeur>
-taux d'échantillonnage par seconde
-.IPs samplesize=<valeur>
-taille des échantillons en octets
-.IPs format=<valeur>
-fourcc en hexa
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <option1:option2:...>
-Cette option vous permet de lire des fichiers vidéo bruts.
-Vous devez aussi utiliser \-demuxer rawvideo.
-.sp 1
-Les options disponibles sont:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<valeur>
-débit en trames par seconde (par défaut\ : 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-défini la taille d'image standard
-.IPs w=<valeur>
-largeur de l'image en pixels
-.IPs h=<valeur>
-hauteur de l'image en pixels
-.IPs i420|yv12|yuy2|y8
-défini l'espace de couleurs
-.IPs format=<valeur>
-Espace de couleur (fourcc) en hexadécimal ou chaîne constante.
-Spécifiez \-rawvideo format=help pour avoir une liste des chaînes possibles.
-.IPs size=<valeur>
-taille de trame en octets
-.REss
-.sp 1
-.RS
-.I EXEMPLE:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif -demuxer rawvideo -rawvideo qcif"
-Joue le fameux morceau de vidéo "foreman".
-.IPs "mplayer sample-720x576.yuv -demuxer rawvideo -rawvideo w=720:h=576"
-Joue un morceau de vidéo YUV.
-.RE
-.PD 1
-.
-.TP
-.B \-rtsp\-port
-Utilisé avec 'rtsp://', URLs pour forcer l'utilisation d'un port particulier
-au niveau du client.
-Cette option peut être utile si vous êtes derrière un routeur et souhaitez
-redistribuer le flux RTSP du serveur vers un client spécifique.
-.
-.TP
-.B \-rtsp\-destination
-Utilisé avec les URLs de type 'rtsp://', permet de forcer l'addresse IP de
-destination qui doit être utilisée.
-Cette option peut s'avérer utile lorsque le serveur RTSP n'envoit pas les
-paquets RTP vers la bonne interface.
-Si la connection au serveur RTSP échoue, utilisez l'option \-v pour connaître
-l'adresse IP auto-détectée par MPlayer et tentez de la remplacer par celle
-d'une de vos interfaces par le biais de cette option.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (LIVE555 et NEMESI uniquement)
-Utilisé avec 'rtsp://', URLs pour indiquer que les paquets RTP et RTCP
-entrants seront streamés sur TCP (en utilisant la même connexion TCP que
-RTSP).
-Cette option peut être utile si vous avez une mauvaise connexion Internet
-qui bloque les paquets UDP entrants (voir http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-saveidx <nomfichier>
-Force la reconstruction de l'index et le sauvegarde dans <nomfichier>.
-Pour l'instant cela ne fonctionne qu'avec les fichiers AVI.
-.br
-.I NOTE:
-Cette option est obsolète maintenant que MPlayer gère OpenDML.
-.
-.TP
-.B \-sb <position octet> (voir aussi \-ss)
-Se place à la position donnée en octets.
-Utile pour la lecture d'images CDROM ou fichiers VOB avec des informations
-erronées au début.
-.
-.TP
-.B \-speed <0.01\-100>
-Ralentit ou accélère la lecture du facteur donné en paramètre.
-Il n'est pas garanti que ceci fonctionne correctement avec \-oac copy.
-.
-.TP
-.B \-srate <Hz>
-Sélectionne la fréquence d'échantillonnage audio de sortie à utiliser
-(tout en sachant que les cartes son ont leurs limites dans ce domaine).
-Si la fréquence d'échantillonnage sélectionnée est différente de celle du
-média courant, le filtre audio resample ou lavcresample sera inséré dans la
-couche audio pour compenser la différence.
-Le type de ré-échantillonnage peut être contrôlé par l'option \-af\-adv.
-Par défaut, un ré-échantillonnage rapide est fait, ce qui peut créer des
-distorsions.
-.TP
-.B \-ss <temps> (voir aussi \-sb)
-Se place à la position temporelle indiquée.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-se place à 56 secondes
-.IPs "\-ss 01:10:00"
-se place à 1 heure 10 min
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Dit à MPlayer de ne pas rejeter les paquets TS marqués comme cassés dans le
-flux.
-Parfois requis pour lire des fichiers MPEG-TS corrompus.
-.
-.TP
-.B \-tsprobe <position octet>
-Pour la lecture de flux MPEG-TS, cette option vous permet d'indiquer sur
-combien d'octets du flux MPlayer devra chercher les IDs audio et vidéo
-désirés.
-.
-.TP
-.B \-tsprog <1\-65534>
-Pour la lecture de flux MPEG-TS, vous pouvez indiquer quel programme (si
-présent) vous voulez lire.
-Peut être utilisé avec \-vid et \-aid.
-.
-.TP
-.B \-tv <option1:option2:...> (TV/\:PVR uniquement)
-Cette option active les facultés de capture TV de MPlayer.
-Pour regarder la TV avec MPlayer, utilisez 'tv://' ou 'tv://<numéro_canal>'
-ou même 'tv://<nom_canal>' (voir l'option channels pour numéro_canal
-plus bas) comme URL de film.
-Vous pouvez aussi spécifier 'tv:///<identifiant de l'entrée>' pour avoir
-directement l'image donnée par l'entrée Composite ou S-Video input (voir les
-options d'entrées pour plus de détails).
-.\" FIXME: Le texte suivant ne doit pas etre ici...
-.I NOTE:
-.br
-MPlayer n'accepte pas les deux-points, vous devez donc taper l'ID périphérique
-avec des points (c'est-à-dire .\& hw.0,0 au lieu de hw:0,0).
-.br
-Bien que vous puissiez sélectionner n'importe quelle fréquence
-d'échantillonnage en utilisant ALSA, le codec audio de LAME n'est
-capable d'encoder que les fréquences 'standards'. Vous obtiendrez
-un fichier .avi sans son si vous choisissez une fréquence inhabituelle
-et utilisez ce codec.
-.sp 1
-Les options disponibles sont:
-.RSs
-.IPs noaudio
-aucun son
-.IPs "automute=<0\-255> (v4l et v4l2 uniquement)"
-Si la force du signal indiqué par le périphérique est moins que cette valeur,
-l'audio et la vidéo seront coupés (par défaut\ : 0, automute désactivée).
-Dans la plupart des cas, automute=100 devrait convenir.
-.IPs driver=<valeur>
-Voir \-tv driver=help pour avoir la liste des pilotes d'entrée TV activés
-à la compilation.
-disponibles: dummy, v4l, v4l2, bsdbt848 (par défaut\ : auto-détecté)
-.IPs device=<valeur>
-Défini un périphérique TV (par défaut /dev/\:video0).
-.I NOTE\ :
-Pour le pilote bsdbt848 vous pouvez donner autant bktr que tuner en tant que nom
-de périphérique, séparé par une virgule, en plaçant tuner après bktr
-(ex\ : -tv device=/dev/bktr1,/dev/tuner1).
-.IPs input=<valeur>
-Défini une autre entrée que celle par défaut 0 (Télévision) (voir
-la sortie console pour en obtenir la liste)
-.IPs freq=<valeur>
-Spécifie sur quelle fréquence régler le tuner (par exemple \& 511.250).
-Non compatible avec le paramètre channels.
-.IPs outfmt=<valeur>
-Spécifie le format de sortie du tuner avec une valeur pré-selectionnée
-Géré par le pilote v4l (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2,
-i420) ou un format arbitraire donné en valeur héxa.
-Essayez outfmt=help pour avoir la liste des formats disponibles.
-.IPs width=<valeur>
-largeur de la fenêtre
-.IPs height=<valeur>
-hauteur de la fenêtre
-.IPs fps=<valeur>
-fréquence de la capture vidéo (trames par seconde)
-.IPs buffersize=<valeur>
-taille maximale du tampon de capture en mégaoctets (ajusté de façon
-dynamique par défaut)
-.IPs norm=<valeur>
-Pour bsdbt848 et v4l, PAL, SECAM, NTSC sont disponibles.
-Pour v4l2, référez-vous à la sortie console pour avoir une liste des normes
-disponibles, voir aussi l'option normid ci-dessous.
-.IPs "normid=<value> (v4l2 uniquement)"
-Défini la norme TV à l'identifiant numérique donné.
-La norme TV dépend de la carte d'acquisition.
-Voir les messages de MPlayer sur la console pour une liste des normes TV
-disponibles.
-.IPs channel=<valeur>
-Régler le tuner sur le canal <valeur>
-.IPs chanlist=<valeur>
-disponible: argentina, australia, china-bcast, europe-east, europe-west,
-france, ireland, italy, japan-bcast, japan-cable, newzealand, russia,
-southafrica, us-bcast, us-cable, us-cable-hrc
-.IPs channels=<canal>\-<nom>[=<norme>],<canal>\-<nom>[=<norme>],...
-Définit des noms pour les canaux.
-Utilisez _ pour les espaces dans les noms (ou jouez avec les guillemets ;-).
-Les noms de canaux seront ensuite écrits en utilisant l'OSD, et les commandes
-tv_step_channel, tv_set_channel et tv_last_channel seront utilisables
-avec une télécommande (voir LIRC).
-Non compatible avec le paramètre frequency.
-.br
-.I NOTE\ :
-Le numéro de canal sera sa position dans la liste des 'channels',
-en commençant à 1.
-.br
-.I EXEMPLE\:
-Exemple: utilisez tv://1, tv://2, tv://TV1, tv_set_channel 1, tv_set_channel 2,
-tv_set_channel TV1, etc.
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-Initialise les paramètres de couleur de la carte.
-Correspondent à [luminosité|contraste|tonalité|saturation]
-.IPs audiorate=<valeur>
-Définit le débit binaire de capture audio.
-.IPs forceaudio
-Capture l'audio même si il n'y a pas de sources audio signalées par v4l.
-.IPs alsa
-capture depuis ALSA
-.IPs amode=<0\-3>
-choisit un mode audio:
-.RSss
-0: mono
-.br
-1: stéréo
-.br
-2: langue 1
-.br
-3: langue 2
-.REss
-.IPs forcechan=<1\-2>
-Par défaut, le nombre de canaux audio est déterminé par l'interrogation
-automatique de la carte tv.
-Cette option vous permet de forcer l'enregistrement stereo/\:mono sans
-tenir compte de l'option amode et des valeurs retournées par v4l.
-Elle peut être utilisée quand la carte tv est incapable de renvoyer le
-mode audio courant.
-.IPs adevice=<valeur>
-Indique un périphérique audio.
-<valeur> devrait être /dev/\:xxx pour OSS et l'identifiant (ID) matériel
-pour ALSA.
-Vous devez remplacer tout ':' par un '.' dans l'identifiant matériel
-pour ALSA.
-.IPs audioid=<valeur>
-choisit la sortie audio de la carte de capture, si elle en a plus qu'une.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l1)"
-Ces options règlent les paramètres du mixeur de la carte de capture vidéo.
-Elles n'auront aucun effet si votre carte ne dispose pas d'un mixeur.
-Pour v4l1, 0\-65535 est un intervalle valide.
-Pour v4l2, l'intervalle valide est 0 à 100, et 50 correspond à la valeur par
-défaut du contrôle, tel que reporté par le pilote.
-.IPs "gain=<0\-100> (v4l2)"
-Défini le contrôle de gain pour le périphérique vidéo (généralement une
-webcam) à la valeure voulue et désactive le contrôle de gain automatique.
-La valeur 0 active le contrôle automatique.
-.IPs immediatemode=<bool>
-Un valeur de 0 signifie capturer et mettre en cache l'audio et la vidéo
-ensemble (par défaut pour MEncoder).
-Une valeur de 1 (par défaut pour MPlayer) signifie ne capturer que la vidéo et
-laisser l'audio passer directement de la carte TV à la carte son.
-.IPs mjpeg
-Utilise la compression mjpeg matérielle (si la carte le gère).
-En utilisant cette option, vous n'avez pas besoin de spécifier la largeur
-et la hauteur de la fenêtre de sortie, car MPlayer la déterminera
-automatiquement d'après la valeur affectée à l'option decimation
-(voir ci-dessous).
-.IPs decimation=<1|2|4>
-choisit la taille de l'image qui sera compressée matériellement\ :
-.RSss
-1: pleine résolution
- 704x576 PAL
- 704x480 NTSC
-.br
-2: résolution moyenne
- 352x288 PAL
- 352x240 NTSC
-.br
-4: faible résolution
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-Choisit la qualité de la compression jpeg
-(< 60 recommandé en pleine résolution).
-.IPs tdevice=<valeur>
-Défini le périphérique télétexte (exemple\ : /dev/\:vbi0)
-(par défaut\ : aucun).
-.IPs tformat=<format>
-Défini le mode d'affichage télétexte (par défaut\ : 0).
-.RSss
-0: opaque
-.br
-1: transparent
-.br
-2: opaque en couleurs inverse
-.br
-3: transparent en couleur inverse
-.REss
-.IPs tpage=<100\-999>
-Défini le numéro de page de télétexte au démarage (par défaut\ : 100).
-.IPs tlang=<\-1\-127>
-Défini le code du langage télétexte par défaut (par défaut\ : 0), qui sera
-utilisée comme langue primaire jusqu'à ce que le paquet de type 28 est reçu.
-Utile lorsque le système télétexte utilise un ensemble de caractères non
-latins, et que le code du langage n'est pas transmis par le paquet
-télétexte de type 28 pour une raison quelconque.
-La liste des langues gérées et affichée lorsque cette option est mise
-à \-1.
-.IPs "hidden_video_renderer (dshow uniquement)"
-Termine le flux avec un moteur de rendu vidéo au lieu de Null.
-Aide à traiter le cas où la vidéo se fige et pas l'audio.
-.I NOTE:
-Peut ne pas fonctionner avec la combinaison \-vo directx et \-vf crop.
-.IPs "hidden_vp_renderer (dshow uniquement)"
-Termine le flux VideoPort pin avec un moteur de rendu vidéo au lieu de
-l'enlever du graphe.
-Utile si votre carte dispone d'une pin VideoPort et que la vidéo est hachée.
-.I NOTE\ :
-Peut ne pas fonctionner avec la combinaison \-vo directx et \-vf crop.
-.IPs "system_clock (dshow uniquement)"
-Utilise l'horloge systéme comme source de synchronisation à la place de
-celle du graphe par défaut (généralement l'horloge d'une des sources du
-graphe).
-.IPs "normalize_audio_chunks (dshow uniquement)"
-Crée des morceaux audios avec une durée égale à la taille de la trame vidéo.
-Certaines cartes son créent des morceaux audios dont la durée est 0.5s,
-débouchant à une vidéo haché avec l'option immediatemode=0.
-.RE
-.
-.TP
-.B \-tvscan <option1:option2:...> (TV et MPlayer uniquement)
-Ajuste le scanner de chaînes TV.
-MPlayer affichera aussi des informations avec l'option "-tv channels=",
-comprenant les chaînes existantes et celles nouvellement trouvées.
-.sp 1
-Les sous-options disponibles sont:
-.RSs
-.IPs autostart
-Commence le scan juste après le démarage.
-.IPs period=<0.1\-2.0>
-Défini le délais en secondes avant de passer au canal suivant
-(par défaut\ : 0.5).
-Une valueur trop faible rend le scan plus rapide, mais peut conduire
-à la détection de certains canaux inactifs comme actives.
-.IPs threshold=<1\-100>
-Seuil pour la force du signal (en pourcent), tel que renvoyé par le
-périphérique (par défaut\ : 50).
-Un seuil trop élevé peut conduire à la détection d'un canal actif comme
-inactif.
-.RE
-.
-.TP
-.B \-user <nom utilisateur> (voir également \-passwd) (réseau uniquement)
-Indique un nom d'utilisateur pour l'identification HTTP.
-.
-.TP
-.B \-user\-agent <chaine>
-Utilise <chaine> comme User-Agent pour les flux sur HTTP.
-.
-.TP
-.B \-vid <ID>
-Sélectionne le canal vidéo (MPG: 0\-15 ASF: 0\-255 MPEG-TS: 17\-8190).
-Pour lire un flux MPEG-TS, MPlayer/\:MEncoder utilisera le premier programme
-(si présent) avec le flux vidéo choisi.
-.
-.TP
-.B \-vivo <sous-options> (CODE DE DÉBOGAGE)
-Force les paramètres audio du démultiplexeur VIVO (pour débogage).
-FIXME: Document this.
-.
-.
-.
-.SH "OPTIONS OSD/SOUS-TITRES"
-.I NOTE:
-Voir également \-vf expand.
-.
-.TP
-.B \-ass (FreeType uniquement)
-Active le rendu des sous-titres SSA/ASS.
-Avec cette option, libass sera utilisé pour les fichiers de
-sous-titres et ceux contenus dans les pistes Matroska.
-Fonctionne avec \-embeddedfonts.
-.br
-.I NOTE\ :
-Contrairement aux OSD normaux, libass utilise fontconfig par défaut.
-Pour désactiver ceci, utiliser l'option \-nofontconfig.
-.
-.TP
-.B \-ass\-border\-color <valeur>
-Défini la couleur du bord des sous-titre texte.
-Le format de la couleur est RRVVBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <valeue>
-Ajoute une bande noire en bas de la trame.
-Les titres pourront y être affichés lors du rendu SSA/ASS
-(avec \-ass\-use\-margins).
-.
-.B \-ass\-color <valeur>
-Défini la couleur des sous-titres texte.
-Le format de la couleur est RRVVBBAA.
-.
-.TP
-.B \-ass\-font\-scale <valeur>
-Définit le coefficient de mise à l'échelle lors du rendu des polices
-pour les sous-titres SSA/ASS.
-.
-.TP
-.B \-ass\-force\-style <[Style.]Param=Valeur[,...]>
-Force les paramètres de style.
-.sp
-.I EXAMPLE:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <type>
-Défini le type de d'indice (hinting).
-<type> peut prendre les valeurs\ :
-.PD 0
-.RSs
-.IPs 0
-pas d'indice
-.IPs 1
-indice auto de FreeType, mode léger
-.IPs 2
-indice auto de FreeType, mode normal
-.IPs 3
-indice natif de la police
-.IPs "0\-3 + 4"
-Idem, sauf que les indices ne seront pris en compte que si l'OSD est rendu
-à la résolution de l'écran, auquel cas il n'y aura pas de redimensionnement.
-.RE
-.RSs
-La valeur par défaut est 7 (indice natif pour l'OSD non redimensionné et pas
-d'utilisation des indices dans le cas contraire).
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <valeur>
-Définit la tailles des espaces pour le rendu SSA/ASS.
-.
-.TP
-.B \-ass\-styles <fichier>
-Charge le style SSA/ASS du fichier donné et l'utilise pour l'affichage
-des sous-titres texte.
-La syntaxe de ce fichier est la même que celle définie dans la section
-[V4 Styles] / [V4+ Styles] de SSA/ASS.
-.
-.TP
-.B \-ass\-top\-margin <valeur>
-Ajoute une bande noire en haut de la trame.
-Les titres pourront y être affichés lors du rendu SSA/ASS
-(avec \-ass\-use\-margins).
-.TP
-.B \-ass\-use\-margins
-Active/désactive le placement des sous-titres et sur-titres dans
-les bandes noires quand elles sont disponibles (par défaut\ : non).
-.
-.TP
-.B \-dumpjacosub (MPlayer uniquement)
-Convertit les sous-titres donnés (via l'option \-sub) au format basé sur le
-temps JACOsub.
-Crée un fichier dumpsub.js dans le répertoire courant.
-.
-.TP
-.B \-dumpmicrodvdsub (MPlayer uniquement)
-Convertit les sous-titres donnés (via l'option \-sub) au format MicroDVD.
-Crée un fichier dumpsub.sub dans le répertoire courant.
-.
-.TP
-.B \-dumpmpsub (MPlayer uniquement)
-Convertit les sous-titres donnés (via l'option \-sub) au format natif de
-MPlayer, MPsub.
-Crée un fichier dump.mpsub dans le répertoire courant.
-.
-.TP
-.B \-dumpsami (MPlayer uniquement)
-Convertit les sous-titres donnés (via l'option \-sub) au format basé sur le
-temps SAMI.
-Crée un fichier dumpsub.smi dans le répertoire courant.
-.
-.TP
-.B \-dumpsrtsub (MPlayer uniquement)
-Convertit les sous-titres donnés (via l'option \-sub) au format basé sur le
-temps SubViewer (SRT).
-Crée un fichier dump.srt dans le répertoire courant.
-.br
-.I NOTE\ :
-Certaines mauvaises platines de salons peuvent avoir du mal avec les
-sous-titres SRT dont les fins de ligne sont Unix.
-Si vous avez la malchance de posséder un tel matériel, transformez votre
-sous-titre avec unix2dos ou un programme similaire pour remplacer les fins
-de lignes avec des fins de ligne DOS/Windows.
-.
-.TP
-.B \-dumpsub (MPlayer uniquement) (CODE BÉTA)
-Extrait les sous-titres d'un flux VOB.
-Voir également les options \-dump*sub et \-vobsubout*.
-.
-.TP
-.B \-embeddedfonts (FreeType uniquement)
-Active l'extraction des polices embarquées dans les fichiers Matroska.
-Ces polices peuvent être utilisées pour l'affichage des sous-titres
-SSA/ASS (option \-ass).
-Les fichiers de polices seront créés dans le répertoire ~/.mplayer/\:fonts.
-.br
-.I NOTE\ :
-Avec FontConfig 2.4.2 ou ultérieur, les polices embarquées sont ouvertes
-directement depuis la mémoire, et cette option est activé par défaut.
-.
-.TP
-.B \-ffactor <nombre>
-Ré-échantillonne le canal de transparence (alpha) de la palette de la police.
-Peut être:
-.
-.PD 0
-.RSs
-.IPs 0
-polices toutes blanches
-.IPs 0.75
-bordure noire très fine (par défaut)
-.IPs 1
-bordure noire fine
-.IPs 10
-bordure noire épaisse
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (FriBiDi uniquement)
-Active le retournement des sous-titres en utilisant FriBiDi.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-Change les suppositions de FriBiDi vis-à vis de la place des virgules dans
-les sous-titres.
-À utiliser si les virgules des sous-titres sont affichés au début des
-phrases au lieu de la fin.
-.
-.TP
-.B \-font <chemin vers le fichier font.desc, la police (FreeType), motif de police (Fontconfig)>
-Recherche les polices OSD/\:SUB dans un répertoire particulier
-(par défaut pour les polices normales: ~/\:.mplayer/\:font/\:font.desc,
-pour les polices FreeType: ~/.mplayer/\:subfont.ttf).
-.br
-.I NOTE:
-Avec FreeType, cette option détermine le chemin vers le fichier de polices.
-Avec Fontconfig, cette option détermine le motif de police Fontconfig.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans:style'
-.br
-\-font 'Bitstream Vera Sans:style=Bold'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (fontconfig uniquement)
-Active l'utilisation des polices gérées par fontconfig.
-.br
-.I NOTE\ :
-Par défaut fontconfig est utilisé pour afficher les sous-titres rendus par libass.
-Cette option active aussi le rendu de l'OSD avec fontconfig.
-.
-.TP
-.B \-forcedsubsonly
-N'affiche que les sous-titres forcés des sous-titres DVD sélectionnés,
-par ex.\& avec \-slang.
-.
-.TP
-.B \-fribidi\-charset <nom charset>
-Définit le charset à passer à FriBiDi pour le décodage de sous-titres non-UTF8
-(par défaut\ : ISO8859\-8).
-.
-.TP
-.B \-ifo <fichier ifo VOBsub>
-Indique le fichier à utiliser pour charger la palette et la taille des trames
-des sous-titres VOBSUB.
-.
-.TP
-.B \-noautosub
-Désactive le chargement automatique du fichier de sous-titres.
-.
-.B \-osd\-duration <durée>
-Définit la durée d'affichage en ms des messages OSD (par défaut\ : 1000).
-.
-.TP
-.B \-osdlevel <0\-3> (MPlayer uniquement)
-Définit dans quel mode OSD démarrer.
-.
-.PD 0
-.RSs
-.IPs 0
-0: sous-titres uniquement
-.IPs 1
-volume + position (par défaut)
-.IPs 2
-volume + position + compteur + pourcentage
-.IPs 3
-volume + position + compteur + pourcentage + temps total
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Permet au prochain sous-titre de s'afficher pendant que l'actuel est toujours
-visible (le comportement par défaut est d'en activer la gestion que pour des
-formats spécifiques).
-.
-.TP
-.B \-sid <ID> (voir aussi \-slang, \-vobsubid)
-Affiche la piste de sous-titres correspondant à <ID> (0\-31).
-MPlayer affiche la liste des IDs de sous-titres disponibles quand il est
-lancé en mode bavard (\-v).
-Si vous n'arrivez pas à sélectionner une des pistes de sous-titres d'un
-DVD, essayez avec \-vobsubid.
-.
-.TP
-.B \-nosub
-Désactive la sélection automatique de sous-titres (c'est ce qui se
-passe par défaut avec le démultiplexeur Matroska/mkv par exemple).
-.
-.TP
-.B \-slang <code de pays[,code de langue,...]> (voir aussi l'option \-sid)
-Définit une liste de langues de sous-titres à afficher en priorité.
-Chaque format de conteneur utilise des codes de pays différents.
-Les DVDs utilisent les codes à deux lettres ISO 639\-1, Matroska
-les codes à trois lettres ISO 639\-2, tandis que OGM utilise des
-identifiants à forme libre.
-MPlayer affiche les langues disponibles quand il est lancé en mode bavard
-(\-v).
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang hu,en"
-Sélectionne la piste de sous-titres hongroises du DVD et se rabat sur
-l'anglaise si le hongrois n'est pas disponible.
-.IPs "mplayer \-slang jpn example.mkv"
-Joue un fichier Matroska avec les sous-titres japonais.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <mode>
-Mode d'anti-crénelage/\:redimmensionnement pour DVD/\:VobSub.
-Une valeur de 16 peut être ajouté à mode pour forcer le redimmensionnement
-même si la trame originale et la trame redimmensionnée correspondent déjà, par
-ex.\& pour lisser les sous-titres avec un flou gaussien.
-Les modes disponibles sont:
-.PD 0
-.RSs
-.IPs 0
-aucun (le plus rapide, très vilain)
-.IPs 1
-approximatif (cassé ?)
-.IPs 2
-complet (lent)
-.IPs 3
-bilinéaire (par défaut, rapide et pas trop mauvais)
-.IPs 4
-utilise le flou gaussien swscaler (très joli)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-Définit l'alignement des sous-titres SPU (DVD/\:VobSub).
-.PD 0
-.RSs
-.IPs "\-1"
-position originale.
-.IPs " 0"
-Aligner en haut (par défaut).
-.IPs " 1"
-Aligner au milieu.
-.IPs " 2"
-Aligner en bas.
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-Paramètre de Variance du gaussien utilisé par \-spuaa 4.
-L'accroître augmente le flou (par défaut\ : 1.0).
-.
-.TP
-.B \-sub <fichier\ de\ sous-titres1,fichier\ de\ sous-titres2,...>
-Utilise/\:affiche ces sous-titres.
-Un seul fichier peut être affiché à la fois.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-Définit la valeur du canal de transparence alpha pour le fond des sous-titres
-et de l'OSD.
-De grandes valeurs signifient plus transparent.
-La valeur 0 est une exception et signifie complètement transparent.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-Spécifie la valeur de la couleur pour le fond des sous-titres et de l'OSD.
-Actuellement les sous-titres sont en niveau de gris donc cette valeur est
-équivalente à l'intensité de la couleur.
-La valeur 255 signifie blanc et 0 noir.
-.
-.TP
-.B \-sub\-demuxer <[+]nom> (\-subfile uniquement) (CODE BÉTA)
-Force le type de démultiplexeur de sous-titres pour \-subfile.
-Ajoutez un '+' avant son nom pour le forcer, ce qui va sauter
-certains contrôles.
-Indiquez le nom du démultiplexeur comme listé par \-sub\-demuxer help.
-Pour assurer la compatibilité ascendante, il est aussi possible de donner
-l'ID du démultiplexeur comme défini dans libmpdemux/\:demuxer.h.
-.
-.TP
-.B \-sub\-fuzziness <mode>
-Ajuste l'exactitude de recherche des sous-titres:
-.PD 0
-.RSs
-.IPs 0
-correspondance exacte
-.IPs 1
-Charge tous les sous-titres contenant le nom du film.
-.IPs 2
-Charge tous les sous-titres du répertoire courant.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Désactive tout post-traitement du texte après avoir chargé les sous-titres.
-Utilisé pour débogage.
-.
-.TP
-.B \-subalign <0\-2>
-Définit quel bord des sous-titres doit être aligné à la
-hauteur définie par \-subpos.
-.PD 0
-.RSs
-.IPs 0
-Aligne le bord du haut du sous-titre (comportement original).
-.IPs 1
-Aligne au centre du sous-titre.
-.IPs 2
-Aligne le bas du sous-titre (par défaut).
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-Affiche les sous-titres DVD Closed Caption (CC).
-Ce ne sont
-.B pas
-les sous-titres VOB, ce sont des sous-titres ASCII spéciaux pour
-malentendants encodés dans les flux VOB sur la plupart des DVD zone 1.
-Actuellement il ne semble pas y avoir de sous-titres CC sur les DVD
-d'autres zones.
-.
-.TP
-.B \-subcp <codepage> (iconv uniquement)
-Si votre système gère iconv(3), vous pouvez utiliser cette
-option pour définir la page de code du sous-titre.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<langue>:<page\ de\ code\ alternative> (ENCA uniquement)
-Vous pouvez définir votre langue d'après son code à deux lettres pour
-que ENCA détecte automatiquement votre page de code.
-En cas de doute, mettez n'importe quoi et regardez la sortie de mplayer
-en mode verbeux (\-v) pour savoir quelles sont les langues disponibles.
-La page de code alternative sera utilisée en cas d'échec de l'autodétection.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Devine l'encodage, en faisant l'hypothèse que ce soit du Tchèque, et se rabat
-sur latin 2 si la détection échoue.
-.IPs "\-subcp enca:pl:cp1250"
-Tente avec un code Polonais, ou se rabat sur cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <sec>
-Retarde les sous-titres de <sec> secondes.
-Peut être négatif.
-.
-.TP
-.B \-subfile <nomfichier> (CODE BÉTA)
-Inutile actuellement.
-Identique à \-audiofile, mais pour les flux de sous-titres (OggDS ?).
-.
-.TP
-.B \-subfont <chemin vers la police (FreeType), motif de police (Fontconfig)> (FreeType uniquement)
-Spécifie la police des sous-titres (voir \-font).
-Si \-subfont n'est pas spécifié, \-font est utilisé.
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (FreeType uniquement)
-Sélectionne le mode de redimensionnement automatique.
-.br
-.I NOTE:
-0 signifie que les tailles du texte et de l'OSD sont des largeurs de police
-en pixels.
-.sp 1
-Le mode peut être:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-aucun redimensionnement
-.IPs 1
-proportionnel à la largeur du film
-.IPs 2
-proportionnel à la hauteur du film
-.IPs 3
-proportionnel à la diagonale du film (par défaut)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (FreeType uniquement)
-Fixe le rayon de flou (blur) sur les polices (par défaut\ : 2).
-.
-.TP
-.B \-subfont\-encoding <valeur> (FreeType uniquement)
-Fixe l'encodage de la police.
-Avec 'unicode', tous les signes du fichier de police seront affichés et unicode
-sera utilisé (par défaut\ : unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (FreeType uniquement)
-Fixe le coefficient de mise à l'échelle automatique des éléments OSD
-(par défaut\ : 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (FreeType uniquement)
-Fixe l'épaisseur de la bordure de police (par défaut\ : 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (FreeType uniquement)
-Fixe le coefficient de mise à l'échelle automatique (en pourcentage de la
-taille de l'écran) (par défaut\ : 5).
-.
-.TP
-.B \-subfps <ratio>
-Définit le rapport trame/\:sec (fps) du sous-titre (par défaut\ : le même
-rapport que celui du film)
-.br
-.I NOTE\ :
-<ratio> > fps du film accélère les sous-titres pour les fichiers de
-sous-titres basés sur le numéro d'image, et les ralentis pour ceux basés
-sur le temps.
-.
-.TP
-.B \-subpos <0\-100> (utile avec \-vf expand)
-Définit la position des sous-titres sur l'écran.
-Cette valeur est la position verticale des sous-titres en % de la hauteur
-de l'écran.
-.
-.TP
-.B \-subwidth <10\-100>
-Définit la largeur maximum des sous-titres sur l'écran.
-Utile pour la sortie TV.
-La valeur est la largeur des sous-titres en % de la largeur de l'écran.
-.
-.TP
-.B \-noterm\-osd
-Désactive l'affichage des messages OSD sur la console lorsqu'il n'y a
-pas de vidéo à afficher.
-.
-.TP
-.B \-term\-osd\-esc <séquence d'échappement>
-Défini la séquence d'échappement à utiliser avant d'écrire un message OSD
-sur la console.
-La séquence d'échappement doit déplacer le curseur au début de la ligne
-utilisée par l'OSD et l'effacer (par défaut\ : ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-Indique à MPlayer de traiter le fichier de sous-titre au format unicode.
-.
-.TP
-.B \-unrarexec <cheming version l'exécutable unrar> (non gèré sous MingW)
-Défini le cheming version l'exécutable unrar pour que MPlayer puisse
-l'utiliser pour ouvrir les fichiers VOBsub compressés au format RAR.
-Le chemin doit inclure le nom de l'exécutable, par exemple: /opt/bin/unrar.
-.
-.TP
-.B \-utf8
-Indique à MPlayer de traiter le fichier de sous-titre au un format UTF-8.
-.
-.TP
-.B \-vobsub <fichier VOBsub sans extension>
-Définit le fichier VOBsub qui sera utilisé pour les sous-titres.
-Indiquez le chemin complet sans extensions, c'est-à-dire
-sans '.idx', '.ifo' ou '.sub'.
-.
-.TP
-.B \-vobsubid <0\-31>
-Définit le numéro de sous-titre du fichier VOBsub.
-.
-.TP
-.B \-volume <-1\-100> (voir aussi \-af volume)
-Défini le niveau de démarrage du volume mixeur, soit matériel ou matériel
-(si l'option \-softvol est aussi activée).
-La valeur -1 (par défaut) ne change pas le volume.
-.
-.
-.SH "OPTIONS DE SORTIE AUDIO (MPLAYER UNIQUEMENT)"
-.
-.TP
-.B \-abs <valeur> (\-ao oss uniquement) (OBSOLÈTE)
-Outrepasse la détection de la taille du buffer audio du pilote/\:de la
-carte.
-.
-.TP
-.B \-format <0\-8192>
-Sélectionne le format utilisé pour la sortie depuis la couche filtre
-(suivant les définitions de libao2/\:afmt.h):
-.
-.PD 0
-.RSs
-.IPs " 1"
-Mu-Law
-.IPs " 2"
-A-Law
-.IPs " 4"
-Ima-ADPCM
-.IPs " 8"
-8-bit non signé
-.IPs " 16"
-16-bit signé (little-endian)
-.IPs " 32"
-16-bit signé (big-endian)
-.IPs " 64"
-8-bit signé
-.IPs " 128"
-16-bit non signé (little-endian)
-.IPs " 256"
-16-bit non signé (big-endian)
-.IPs " 512"
-MPEG (2) audio
-.IPs 1024
-AC-3
-.IPs 4096
-32-bit signé (little-endian)
-.IPs 8192
-32-bit signé (big-endian)
-.RE
-.PD 1
-.
-.TP
-.B \-mixer <périph.>
-Utilise un autre périphérique de mixage que celui par défaut /dev/\:mixer.
-C'est le mixeur utilisé par ALSA
-.
-.TP
-.B \-mixer\-channel <ligne de mixeur>[,index de mixeur] (\-ao oss et \-ao alsa uniquement)
-Cette option dit à MPlayer d'utiliser un canal différent du PCM par défaut
-pour contrôler le volume.
-Les options OSS incluent
-.B vol, pcm, line.
-Pour une liste complète des options, cherchez SOUND_DEVICE_NAMES dans
-/usr/\:include/\:linux/\:soundcard.h.
-Pour ALSA vous pouvez utiliser les noms tels qu'indiqués par ex.\& par
-alsamixer, comme
-.B Master, Line, PCM.
-.br
-.I NOTE\ :
-Les canaux du mixeur ALSA suivis par un nombre doivent être donnés au format
-<nom,nombre>, par ex.\& le canal dont le label est 'PCM 1' dans alsamixer doit
-être transformé en
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-Force l'utilisation du mixeur logiciel à la place de celui de la carte son.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-Définit le niveau maximal d'amplification en pourcents (par défaut\ : 0).
-Une valeur de 200 vous permet d'ajuster le volume, au maximum, jusqu'au double
-du niveau courant.
-Avec une valeur inférieure à 100, le niveau initial (qui est 100%) sera
-au-delà du niveau maximum\ ; par conséquent l'OSD ne l'affichera pas
-correctement.
-.
-.TP
-.B \-volstep <0\-100>
-Définit l'importance de l'augmentation du volume, en pourcentage du volume
-maximum (par défaut\ : 3).
-.
-.
-.SH "OPTIONS DE SORTIE AUDIO (MPLAYER UNIQUEMENT)"
-Les pilotes de sortie audio sont des interfaces vers différentes
-architectures de sortie audio.
-La syntaxe est\ :
-.
-.TP
-.B \-ao <driver1[:sous-option1[=valeur]:...],driver2,...[,]>
-Défini une liste de priorité des drivers de sortie audio à utiliser.
-.PP
-Si la liste finit par ',', les autres pilotes seront essayés en cas d'échec.
-Les sous-options sont optionnelles et peuvent, la plupart du temps,
-être omises.
-.br
-.I NOTE:
-Pour obtenir la liste complète des pilotes disponibles, voir \-ao help.
-.sp 1
-.I EXEMPLE
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Essaie d'utiliser ALSA, puis OSS ainsi que les autres en cas d'échec.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-Initialise le nom de périphérique et en accès non bloquant,
-de la première carte, quatrième périphérique (ouf\ ! ;-).
-.RE
-.PD 1
-.
-.sp 1
-Les pilotes de sortie audio sont\ :
-.
-.TP
-.B "alsa\ \ \ "
-Pilote de sortie audio ALSA 0.9/1.x
-.PD 0
-.RSs
-.IPs noblock
-Active le mode non-bloquant.
-.IPs device=<périphérique>
-Défini le nom de périphérique.
-Remplacez les ',' par '.' et ':' par '=' dans les noms de périphériques ALSA.
-Pour la sortie sonore hwac3 S/PDIF, choisissez un périphérique "iec958" ou
-"spdif" device, à moins que vous sachiez vraiment comment bien
-le configurer.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-Pilote de sortie audio ALSA 0.5
-.TP
-.B "oss\ \ \ \ "
-Pilote de sortie audio OSS.
-.PD 0
-.RSs
-.IPs <périphérique-dsp>
-Définit le périphérique audio d'entrée (par défaut\ : /dev/\:dsp)
-.IPs <périphérique_de_mixage>
-Définit le périphérique de mixage (par défaut\ : /dev/\:mixer)
-.IPs <canal_de_mixage>
-Définit le canal de mixage (par défaut\ : pcm).
-.RE
-.PD 1
-.
-.TP
-.B sdl (SDL uniquement, bogué, périmé)
-Pilote de sortie audio de la librairie SDL.
-SDL (Simple Directmedia Layer) est une librairie très indépendante de la
-plateforme.
-Notez qu'il souffre d'un certain nombre de bogues mineurs (\-vm/\-novm est à
-peu près ignoré, \-fs se comporte comme like \-novm, la fenêtre est
-systématiquement dans le coin en haut à gauche lorsque l'on sort du mode plein
-écran, panscan n'est pas géré, ...)
-.PD 0
-.RSs
-.IPs <pilote>
-Choisit explicitement le pilote SDL à utiliser (par défaut\ : SDL choisit
-tout seul).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-sortie audio par le démon aRts
-.
-.TP
-.B "esd\ \ \ \ "
-sortie audio par le démon ESD
-.PD 0
-.RSs
-.IPs <serveur>
-Choisi explicitement le serveur ESD à utiliser (par défaut\ : localhost).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-sortie audio par JACK (Jack Audio Connection Kit)
-.PD 0
-.RSs
-.IPs port=<nom_port>
-Se connecte aux ports <nom_port> (par défaut\ : ports physiques).
-.IPs name=<nom_du_client>
-Nom du client qui passé à JACK (par défaut\ : MPlayer [<PID>]).
-.IPs (no)estimate
-Estime le délai audio, supposé réduire les à-coups lors de la lecture
-vidéo (par défaut\ : activé).
-.IPs (no)autostart
-Démarre le serveur jackd si nécessaire (par défaut\ : désactivé)
-Notez que cette option ne semble pas fiable et polluera la console avec plein
-de messages du serveur jackd.
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-sortie audio par NAS
-.
-.TP
-.B coreaudio (Mac OS X uniquement)
-pilote de sortie audio natif de Mac OS X
-.TP
-.B "openal\ "
-Pilote de sortie audio OpenAL expérimental.
-.
-.TP
-.B "pulse\ \ "
-Pilote de sortie audio PulseAudio
-.PD 0
-.RSs
-.IPs "<hôte>[:<récepteur>]"
-Défini l'hôte et optionnellement le récepteur à utiliser.
-Si vous passez une chaîne vide en tant que <récepteur>, la connection restera
-locale, tandis que "localhost") générera du traffic réseau (ce qui n'est
-probablement pas ce que vous voulez).
-.RE
-.PD 1
-.
-.TP
-.B sgi (SGI uniquement)
-pilote de sortie audio natif de SGI
-.PD 0
-.RSs
-.IPs "<nom du périphérique de sortie>"
-Choisit explicitement le périphérique/\:interface à utiliser
-(par défaut\ : celui configuré pour le système global).
-Par exemple, 'Analog Out' ou 'Digital Out'.
-.RE
-.PD 1
-.
-.TP
-.B sun (Sun uniquement)
-Pilote de sortie audio natif de Sun.
-.PD 0
-.RSs
-.IPs <pilote>
-Choisit explicitement le périphérique audio à utiliser (par défaut\ :
-/dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (Windows uniquement)
-pilote de sortie audio waveout natif de Windows
-.
-.TP
-.B dsound (Windows uniquement)
-pilote de sortie audio DirectX DirectSound
-.PD 0
-.RSs
-.IPs device=<num_périph>
-Défini le numéro de périphérique à utiliser.
-Jouer un fichier avec l'option \-v vous donnera une liste des périphériques
-disponibles.
-.RE
-.PD 1
-.
-.TP
-.B dart (OS/2 uniquement)
-pilote de sortie audio DART pour OS/2
-.PD 0
-.RSs
-.IPs (no)share
-Ouvre DART en mode partagé (share) ou exclusif.
-.IPs bufsize=<taille>
-Fixe la taille du tampon à <taille> échantillons (par défaut\ : 2048).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (also see \-dxr2) (DXR2 uniquement)
-pilote de sortie de la Créative DXR2
-.
-.TP
-.B ivtv (IVTV uniquement)
-pilote de sortie MPEG audio des cartes IVTV.
-Ne fonctionne qu'avec l'option \-ac hwmpa.
-.
-.TP
-.B v4l2 (requière un kernel Linux 2.6.22 ou supérieur)
-pilote de sortie audio pour les cartes V4L2 à décodeur MPEG matériel.
-.
-.TP
-.B mpegpes (DVB uniquement)
-Pilote de sortie pour cartes DVB qui re-diriche sa sortie dans un
-fichier MPEG-PES si aucune carte DVB n'est installée.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Carte DVB à utiliser si plus qu'une carte est présente.
-Si non spécifié, MPlayer utilisera la première carte détectée.
-.IPs file=<filename>
-fichier de sortie
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-N'émet pas de son mais maintient la vitesse de lecture.
-Utilisez \-nosound pour des mesures (benchmarking).
-.
-.TP
-.B "pcm\ \ \ \ "
-extracteur de son PCM/\:wave brut
-.PD 0
-.RSs
-.IPs (no)waveheader
-Inclu ou n'inclu pas l'entête wave (par défaut\ inclut).
-Quand l'entête n'est pas incluse, un fichier PCM brut sera généré.
-.IPs file=<nomfichier>
-Écrit le son dans le <nomfichier> au lieu de ./audiodump.wav par défaut.
-Si l'option nowaveheader est définie, le fichier par défaut
-est ./audiodump.pcm.
-.IPs "fast\ "
-Essaye d'écrire le fichier plus rapidement qu'en temps réel.
-Assurez-vous la sortie ne se trouve pas tronquée (le message
-"Too many video packets in buffer / trop de paquets vidéos dans le buffer"
-s'affiche généralement dans ce cas).
-C'est normal que le message "Your system is too SLOW to play this! /
-Votre machine est trop LENTE pour jouer cette vidéo" s'affiche.
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-pilote de plugin de sortie audio
-.
-.
-.SH "OPTIONS DE SORTIE VIDÉO (MPLAYER UNIQUEMENT)"
-.
-.TP
-.B \-adapter <valeur>
-Définit la carte graphique qui recevra l'image
-Vous pouvez obtenir une liste des cartes disponibles si cette option est
-combinée à l'option \-v.
-Ne fonctionne pour le moment qu'avec le pilote de sortie vidéo directx.
-.
-.TP
-.B \-bpp <profondeur>
-Outrepasse la profondeur de couleur détectée automatiquement.
-Géré uniquement par les pilotes de sortie vidéo fbdev, dga, svga, vesa.
-.
-.TP
-.B \-border
-Joue la vidéo avec les bordures et décorations de fenêtre (par défaut).
-Spécifiez \-noborder pour désactiver les décorations de fenêtre
-standard.
-.
-.TP
-.B \-brightness <\-100\-100>
-Ajuste la luminosité du signal vidéo (par défaut\ : 0).
-N'est pas géré par tous les pilotes de sortie vidéo.
-.
-.TP
-.B \-contrast <\-100\-100>
-Ajuste le contraste du signal vidéo (par défaut\ : 0).
-N'est pas géré par tous les pilotes de sortie vidéo.
-.
-.TP
-.B \-display <nom> (X11 uniquement)
-Spécifier le nom d'hôte et le numéro d'affichage du serveur X sur lequel vous
-désirez afficher la vidéo.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-Active le rendu direct (pas géré par tous les codecs et sorties vidéo)
-.br
-.I ATTENTION\ :
-Attention: peut corrompre OSD/SUB!
-.
-.TP
-.B \-dxr2 <option1:option2:...>
-Cette option est utilisée pour contrôler le pilote de sortie vidéo dxr2.
-.
-.RSs
-.IPs ar-mode=<valeur>
-mode de rapport hauteur/\:largeur (0 = normal, 1 = pan-and-scan, 2 = letterbox
-(par défaut))
-.IPs iec958-encoded
-Met le mode de sortie iec958 à "encodé".
-.IPs iec958-decoded
-Met le mode de sortie iec958 à "décodé" (par défaut)
-.IPs macrovision=<valeur>
-mode macrovision mode (0 = off (par défaut), 1 = agc, 2 = agc 2 colorstripe,
-3 = agc 4 colorstripe)
-.IPs mute
-coupe la sortie son
-.IPs unmute
-rétabli la sortie son
-.IPs ucode=<valeur>
-chemin du microcode
-.RE
-.RS
-.sp 1
-.I Sortie TV
-.RE
-.RSs
-.IPs 75ire
-active le mode de sortie 7.5 IRE
-.IPs no75ire
-désactive le mode de sortie 7.5 IRE (par défaut)
-.IPs "bw\ \ \ "
-sortie TV noir et blanc
-.IPs color
-sortie TV couleur (par défaut)
-.IPs interlaced
-sortie TV entrelacée
-.IPs nointerlaced
-désactive la sortie TV entrelacée
-.IPs norm=<valeur>
-norme TV (ntsc (par défaut), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-initialise le mode pixel à square (carré)
-.IPs ccir601-pixel
-initialise le mode pixel à ccir601
-.RE
-.RS
-.sp 1
-.I overlay
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-Initialise la valeur de rognage (cropping) à gauche (par défaut\ : 50).
-.IPs cr-right=<0\-500>
-Initialise la valeur de rognage à droite (par défaut\ : 300).
-.IPs cr-top=<0\-500>
-Initialise la valeur de rognage en haut (par défaut\ : 0).
-.IPs cr-bottom=<0\-500>
-Initialise la valeur de rognage en bas (par défaut\ : 0).
-.IPs ck-[r|v|b]=<0\-255>
-Initialise le gain de r(ouge), v(ert) ou b(leu) pour la couleur
-de transparence.
-.IPs ck-[r|v|b]min=<0\-255>
-valeur minimum pour la couleur de transparence respective (r, v, b).
-.IPs ck-[r|v|b]max=<0\-255>
-valeur minimum pour la couleur de transparence respective (r, v, b).
-.IPs ignore-cache
-Ignore les paramètres d'incrustation.
-.IPs update-cache
-Met à jour les paramètres d'incrustation.
-.IPs ol-osd
-Active l'OnScreen Display (OSD) en incrustation dans la vidéo.
-.IPs nool-osd
-Désactive l'incrustation de l'OSD (par défaut)
-.IPs ol[h|l|x|y]-cor=<\-20\-20>
-Ajuste la taille (h,l) et la position (x,y) de l'affichage superposé. au
-cas où il ne correspond pas parfaitement à la fenêtre (par défaut\ : 0).
-.IPs overlay
-Active l'incrustation (overlay) (par défaut).
-.IPs nooverlay
-Active la sortie TV.
-.IPs overlay-ratio=<1\-2500>
-Règle l'incrustation (par défaut\ : 1000).
-.RE
-.
-.TP
-.B \-fbmode <nom_mode> (\-vo fbdev uniquement)
-Se place dans le mode vidéo <nom_mode> tel qu'indiqué dans
-/etc/\:fb.modes.
-.br
-.I NOTE:
-Le framebuffer VESA ne permet pas le changement de mode.
-.
-.TP
-.B \-fbmodeconfig <nomfichier> (\-vo fbdev uniquement)
-Outrepasse le fichier de configuration du mode du framebuffer
-(par défaut\ : /etc/\:fb.modes).
-.
-.TP
-.B \-fs (voir aussi \-zoom)
-Affichage plein-écran (centre le film, et dessine des bandes noires autour).
-Tous les pilotes de sortie vidéo ne le permettent pas.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (OBSOLÈTE, utilisez l'option \-fs)
-Essayez cette option si vous avez encore des problèmes en plein-écran.
-.
-.TP
-.B \-fstype <type1,type2,...> (X11 uniquement)
-Définit une liste classée par ordre de priorité des modes plein-écran
-à utiliser.
-Vous pouvez inverser les modes en les préfixant par '\-'.
-Si vous avez des problèmes d'affichage, comme votre vidéo en plein-écran est
-cachée par d'autres fenêtres, essayez de ré-ordonner cette liste.
-.br
-.I NOTE:
-Voir \-fstype help pour une liste complète des modes disponibles.
-.sp 1
-Les types disponibles sont:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-Utilise l'astuce _NETWM_STATE_ABOVE si disponible.
-.IPs below
-Utilise l'astuce _NETWM_STATE_BELOW si disponible.
-.IPs fullscreen
-Utilise l'astuce _NETWM_STATE_FULLSCREEN si disponible.
-.IPs layer
-Utilise l'astuce _WIN_LAYER avec la couche par défaut.
-.IPs layer=<0...15>
-Utilise l'astuce _WIN_LAYER avec le numéro de couche.
-.IPs netwm
-Force le style NETWM.
-.IPs "none\ "
-Efface la liste des modes\ ; vous pouvez ajouter des modes à activer
-plus tard.
-.IPs stays_on_top
-Utilise l'astuce _NETWM_STATE_STAYS_ON_TOP si disponible.
-.REss
-.sp 1
-.RS
-.I EXEMPLE:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-L'ordre par défaut, si des modes incorrects ou non gérés sont donnés, sera
-utilisé en recours.
-.IPs \-fullscreen
-Corrige le basculement en mode plein-écran sur OpenBox 1.x.
-.RE
-.P 1
-.
-.TP
-.B \-geometry x[%][:y[%]] ou [WxH][+x+y]
-Ajuste la position d'origine sur l'écran de sortie.
-Les variables x et y sont en pixels mesurés à partir du coin supérieur droit
-de l'écran jusqu'au coin supérieur droit de la vidéo affichée, cependant si
-un signe pourcentage est indiqué après la variable, cette valeur est alors
-interprétée comme le pourcentage de la taille de l'écran dans cette direction.
-Il gère également le format d'option standard X11 \-geometry.
-Si une fenêtre externe est donnée par l'intermédiaire de l'option \-wid,
-alors les coordonnées x et y sont relatives aux coin supérieur gauche de la
-fenêtre au lieu celui de l'écran.
-Les coordonnées sont relatives à l'écran donné par l'option \-xineramascreen
-pour les pilotes de sortie vidéo gérant complètement l'option \-xineramascreen
-(direct3d, gl, gl2, vdpau, x11, xv, xvmc, corevideo).
-.br
-.I NOTE:
-Cette option n'est permise que par les pilotes de sortie vidéo x11, xmga, xv,
-xvmc, xvidix, gl, gl2, directx, fbdev, tdfxfb et corevideo.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs 50:40
-Place la fenêtre à x=50, y=40
-.IPs 50%:50%
-Place la fenêtre au centre de l'écran
-.IPs 100%
-Place la fenêtre en haut à gauche de l'écran
-.IPs 100%:100%
-Place la fenêtre en bas à gauche de l'écran
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <ID fenêtre> (voir aussi \-wid) (GUI uniquement)
-Indique à la GUI (Graphical User Interface\ : interface homme-machine
-graphique) d'utiliser également une fenêtre X11 et de se fixer au bas de
-la vidéo, ce qui est utile pour embarquer une mini-GUI dans un navigateur (avec
-mplayerplug-in par exemple).
-.
-.TP
-.B \-hue <\-100\-100>
-Ajuste la couleur (hue) du signal vidéo (par défaut\ : 0).
-Vous pouvez obtenir un négatif de l'image avec cette option.
-Non géré par tous les pilotes de sortie vidéo.
-.
-.TP
-.B \-monitor\-dotclock <intervalle[,intervalle,...]> (\-vo fbdev et vesa \
-uniquement)
-Définit les paramètres de rafraichissement dotclock ou pixelclock du moniteur.
-.
-.TP
-.B \-monitor\-hfreq <intervalle[,intervalle,...]> (\-vo fbdev et vesa \
-uniquement)
-Définit l'intervalle de rafraichissement horizontal du moniteur.
-.
-.TP
-.B \-monitor\-vfreq <intervalle[,intervalle,...]> (\-vo fbdev et vesa \
-uniquement)
-Définit l'intervalle de rafraichissement vertical du moniteur.
-.
-.TP
-.B \-monitoraspect <rapport> (Voir aussi \-aspect)
-Fixe le rapport hauteur/\:largeur de votre moniteur ou de votre TV.
-La valeur 0 désactive le dernier paramètrage (ex: celle
-du fichier de configuration).
-Passe outre \-monitorpixelaspect si activé.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-\-monitoraspect 4:3 ou 1.3333
-.br
-\-monitoraspect 16:9 ou 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <ratio> (voir aussi \-aspect)
-Défini l'aspect d'un seul pixel de votre moniteur ou écran TB
-(par défaut\ : 1).
-Écrase le paramétrage de \-monitoraspect.
-La valeur 1 signifie des pixels carrés (correct
-pour presque tous les écrans LCD).
-.
-.TP
-.B \-name (X11 uniquement)
-Défini le nom de la classe de fenêtre.
-.
-.TP
-.B \-nodouble
-Désactive le double tamponnage (buffering), surtout à des fins de débogage.
-Le double tamponnage évite les phénomènes de scintillement en plaçant
-deux trames en mémoire, et en affichant l'une tandis que l'on décode
-l'autre.
-Peut affecter négativement l'OSD, mais évite les effets de scintillement
-de l'OSD.
-.
-.TP
-.B \-nograbpointer
-Ne capture pas le pointeur de la souris après une changement de mode vidéo
-(\-vm).
-Utile pour les configurations multi-écrans.
-.
-.TP
-.B \-nokeepaspect
-Ne garde pas le rapport hauteur/\:largeur de la fenêtre lors d'un
-redimensionnement de fenêtre X11.
-Ne fonctionne actuellement qu'avec les pilotes de sortie vidéo x11, xv, xmga
-et xvidix.
-De plus, votre gestionnaire de fenêtres doit comprendre les astuces de rapport
-hauteur/\:largeur de fenêtres.
-.
-.TP
-.B "\-ontop\ "
-Rend la fenêtre de lecture toujours visible.
-Permise par les pilotes de sortie vidéo qui utilisent X11, excepté SDL,
-aussi bien que directx, corevideo, quartz, ggi et gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-Active la fonctionnalité "pan-and-scan" (par ex.\& couper les côtés d'un
-film 16/\:9e pour qu'il tienne sans bords noirs sur un écran 4/\:3)
-L'intervalle définit à quel point l'image sera coupée.
-Cette option ne fonctionne qu'avec les pilotes de sortie vidéo xv, xmga, mga,
-gl, gl2, quartz, corevideo et xvidix.
-.br
-.I NOTE\ :
-Des valeurs compris entre \-1 et 0 sont aussi permises, mais très expérimentale,
-et peuvent faire planter MPlayer et pire encore.
-A utiliser à vos risques et périls!
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (expérimental)
-Change l'intervalle de la fonction pan-and-scan (par défaut\ : 1).
-Les valeurs positives signifie multiples de l'intervalle par défaut.
-Les valeurs négatives signifie que vous pouvez zoomer jusqu'à un facteur
-de \-panscanrange+1.
-Par ex.\& \-panscanrange \-3 vous permet de zoomer jusqu'à un facteur de 4.
-Cette fonction est expérimentale.
-N'envoyez pas de rapport de bug à moins que vous utilisiez \-vo gl.
-.
-.TP
-.B \-refreshrate <Hz>
-Définit la fréquence de rafraichissement en Hz.
-N'est géré actuellement que par \-vo directx combinée avec l'option \-vm.
-.
-.TP
-.B \-rootwin
-Joue le film dans la fenêtre root (le fond du bureau).
-Les images en fond d'écran peuvent néanmoins cacher le film.
-Cette option ne fonctionne qu'avec les pilotes de sortie vidéo x11, xv, xmga,
-xvidix, quartz, corevideo et directx.
-.
-.TP
-.B \-saturation <\-100\-100>
-Ajuste la saturation du signal vidéo (par défaut\ : 0).
-Vous pouvez obtenir une sortie en noir et blanc avec cette option.
-N'est pas géré par tous les pilotes de sortie vidéo.
-.
-.TP
-.B \-screenh <pixels>
-Définit la hauteur de votre écran pour des pilotes de
-sortie vidéo qui ne connaissent pas la résolution de l'écran, comme
-fbdev, x11 et TVout
-.
-.TP
-.B \-screenw <pixels>
-Définit la largeur de votre écran pour des pilotes de
-sortie vidéo qui ne connaissent pas la résolution de l'écran, comme
-fbdev, x11 et TVout
-.
-.TP
-.B \-stop\-xscreensaver (X11 uniquement)
-Désactive xscreensaver (le reposeur d'écran) au lancement et le réactive
-à la sortie.
-Si votre reposeur d'écran ne supporte ni l'API XSS, ni XResetScreenSaver,
-alors veuillez utiliser \-heartbeat\-cmd à la place.
-.
-.TP
-.B \-title (voir aussi \-use\-filename\-title)
-Défini le titre de la fenêtre.
-Géré par tous les pilotes de sortie vidéos basés sur X11.
-.
-.TP
-.B \-use\-filename\-title (voir aussi \-title)
-Défini la barre de titre en fonction du nom de fichier du média, quand
-celui-ci n'est pas défini par \-title.
-Géré par tous les pilotes de sortie vidéos basés sur X11.
-.
-.TP
-.B "\-vm \ \ \ "
-Essaie de changer vers un autre mode vidéo.
-Les pilotes de sortie vidéo dga, x11, xv, sdl et directx le permettent.
-Si utilisé avec le pilote de sortie vidéo directx, les options \-screenw,
-\-screenh, \-bpp et \-refreshrate peuvent être utilisées pour paramétrer ce
-nouveau mode d'affichage vidéo.
-.
-.TP
-.B "\-vsync \ \ "
-Active VBI pour les pilotes de sortie vidéo vesa, dfbmga et svga.
-.
-.TP
-.B \-wid <window\ ID> (voir aussi \-guiwid) (X11, OpenGL et DirectX \
-uniquement)
-Dit à MPlayer de s'attacher à une fenêtre existante.
-Utile pour intégrer MPlayer dans un navigateur (avec l'extension plugger
-par exemple).
-Cette option rempli complètement la fenêtre donnée, si bien que le
-ratio d'aspect, panscan, etc. ne sont plus assurés par MPlayer et
-doivent ainsi être assurés par l'application qui a créé la fenêtre.
-.
-.TP
-.B \-xineramascreen <\-2\-...>
-Dans les configurations xinerama (c'est à dire un bureau unique s'étendant sur
-plusieurs écrans, cette option dit à MPlayer sur quel écran afficher le film.
-La valeur \-2 signifie plein écran sur la totalité de l'écran virtuel, (dans ce
-cas l'information Xinerama est complètement ignorée, la valeur
-\-1 signifie plein écran sur l'écran où se trouve la fenêtre.
-La position initiale définie par l'option \-geometry est relative à l'écran
-défini.
-Fontionnera généralement uniquement avec "\-fstype \-fullscreen" ou
-"\-fstype none".
-Cette option ne convient pas pour définir l'écran de démarrage (car l'affichage
-se fera toujours en plein écran sur le moniteur donné), \-geometry est plus
-approprié.
-Géré au moins par les pilotes de sortie vidéo direct3d, gl, gl2, x11, xv et
-corevideo.
-.
-.TP
-.B \-zrbw (\-vo zr uniquement)
-Affiche en noir et blanc.
-Pour des performances optimales, cette option '\-lavdopts gray'.
-.
-.TP
-.B \-zrcrop <[width]x[height]+[x offset]+[y offset]> (\-vo zr uniquement)
-Sélectionne une partie de l'image pour affichage, de multiples occurrences
-de cette option activent le mode cinérama.
-En mode cinérama le film est réparti sur plusieurs TV (ou moniteurs) pour
-créer un écran plus large.
-Les options apparaissant après le n-ième \-zrcrop s'appliquent à la n-ième
-carte MJPEG, chaque carte devant au moins avoir un \-zrdev en plus de \-zrcrop.
-Voir la sortie de \-zrhelp et la section Zr de la documentation pour les
-exemples.
-.
-.TP
-.B \-zrdev <périphérique> (\-vo zr uniquement)
-Définir le fichier de périphérique spécial qui correspond à votre carte
-MJPEG, par défaut le pilote de sortie vidéo zr prend le premier périphérique
-v4l qu'il peut trouver.
-.
-.TP
-.B \-zrfd (\-vo zr uniquement)
-Forcer le sous-échantillonnage\ : le sous-échantillonnage, paramétré via
-\-zrhdec et \-zrvdec, ne fonctionne que si le zoom matériel peut étirer
-l'image à sa taille originale.
-Utilisez cette option pour forcer le sous-échantillonnage.
-\-zrhdec <1|2|4> (\-vo zr uniquement)
-Sous-échantillonnage horizontal\ : Demande au pilote de n'envoyer que chaque
-2ème ou 4ème ligne/\:pixel de l'image à la carte MJPEG et d'utiliser
-le zoom de la carte MJPEG pour étirer l'image à sa taille initiale.
-.
-.TP
-.B \-zrhelp (\-vo zr uniquement)
-Affiche la liste de toutes les options \-zr*, leur valeur par défaut et un
-exemple de mode cinérama.
-.
-.TP
-.B \-zrnorm <norm> (\-vo zr uniquement)
-Définit la norme TV à PAL ou NTSC (par défaut\ : 'no change').
-.
-.TP
-.B \-zrquality <1\-20> (\-vo zr uniquement)
-Un nombre de 1 (meilleur) à 20 (pire) représentant la qualité de l'encodage
-JPEG.
-1 est la meilleure qualité et 20 la plus mauvaise.
-.
-.TP
-.B \-zrvdec <1|2|4> (\-vo zr uniquement)
-Sous-échantillonnage vertical\ : Demande au pilote de n'envoyer que chaque
-2ème ou 4ème ligne/\:pixel de l'image à la carte MJPEG et d'utiliser
-le zoom de la carte MJPEG pour étirer l'image à sa taille initiale.
-.
-.TP
-.B \-zrxdoff <offset d'affichage x> (\-vo zr uniquement)
-Si le film est plus petit que l'écran, cette option contrôle la position x du
-film par rapport au coin supérieur gauche de l'écran (par défaut\ : centré).
-.
-.TP
-.B \-zrydoff <offset d'affichage y> (\-vo zr uniquement)
-Si le film est plus petit que l'écran, cette option contrôle la position y du
-film par rapport au coin supérieur gauche de l'écran (par défaut\ : centré).
-.
-.
-.SH "PILOTES DE SORTIE VIDÉO (MPLAYER UNIQUEMENT)"
-Les pilotes de sortie vidéo sont des interfaces pour accéder aux
-fonctions de sortie vidéo.
-La syntaxe est:
-.
-.TP
-.B \-vo <pilote1[:option],pilote2,...[,]>
-Spécifie une liste des priorités pour les pilotes de sortie à utiliser.
-.PP
-Si la liste se termine par ',' les autres pilotes seront essayés en cas
-d'échec.
-Les sous-options sont optionnelles et peuvent être omises pour la plupart.
-.br
-.I NOTE:
-Voir \-vo help pour la liste des pilotes de sortie vidéo compilés dans votre
-version de MPlayer.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Essaie le pilote Matrox X11, puis le pilote Xv, puis les autres.
-.IPs "\-vo directx:noaccel"
-Utilise le pilote DirectX en désactivant les fonctions d'accélération.
-.RE
-.PD 1
-.sp 1
-Les pilotes de sortie disponibles sont:
-.
-.TP
-.B xv (X11 uniquement)
-Utilise l'extension XVideo de XFree86 4.x pour permettre la
-lecture avec accélération matérielle.
-Si vous ne pouvez pas utiliser un pilote spécifique a votre matériel,
-ceci est probablement la meilleure option.
-Pour obtenir des informations sur quel couleur de transparence (colorkey)
-est utilisée, et comment elle est affichée, lancez MPlayer avec l'option \-v
-puis regardez les lignes commençant par [xv common].
-.PD 0
-.RSs
-.IPs adaptor=<nombre>
-Sélectionne un adaptateur XVideo particulier (cf. xvinfo).
-.IPs port=<nombre>
-Sélectionne un port XVideo particulier.
-.IPs ck=<cur|use|set>
-Sélectionne la source à partir de laquelle la couleur de transparence
-est prise (par défaut\ : cur).
-.RSss
-.IPs cur
-Choisit celle utilisée par Xv.
-.IPs use
-Utilise mais ne défini pas la couleur de transparence depuis MPlayer
-(utilisez l'option \-colorkey pour la changer).
-.IPs set
-Comme 'use' mais défini aussi la couleur de transparence donnée.
-.RE
-.IPs ck-method=<man|bg|auto>
-Définit la méthode de remplissage de la couleur de transparence
-(par défaut\ : man).
-.RSss
-.IPs man
-Remplit la couleur de transparence manuellement (déduit les sautillements
-dans certains cas).
-.IPs bg
-Définit la couleur de transparence d'après l'arrière-plan de la fenêtre.
-.IPs auto
-Laisse Xv remplir la couleur de transparence.
-.RE
-.PD 1
-.
-.TP
-.B x11 (X11 uniquement)
-Pilote de sortie vidéo en mémoire partagée sans accélération matérielle qui
-fonctionne dès que X11 est présent.
-.
-.TP
-.B xover (X11 uniquement)
-Ajoute la gestion de X11 à tous les pilotes de sortie vidéo basés sur
-l'incrustation (overlay).
-Géré actuellement uniquement par tdfx_vid.
-.PD 0
-.RSs
-.IPs <pilote_vo>
-Sélectionnne le pilote à utiliser comme source pour l'incrustation dans X11.
-.RE
-.PD 1
-.
-.TP
-.B vdpau (avec \-vc ffmpeg12vdpau, ffwmv3vdpau, ffvc1vdpau, ffh264vdpau,
-ou ffodivxvdpau)
-Sortie vidéo utilisant VDPAU pour décoder les vidéos matériellement.
-Gère aussi l'affichage de vidéos décodées en logiciel.
-.PD 0
-.RSs
-.IPs sharpen=<\-1\-1>
-Pour des valeurs positives, applique à la vidéo un filtre d'affinage,
-pour des valeurs négatives, applique à la vidéo un filtre de flou (par
-défaut\ : 0)
-.IPs denoise=<0\-1>
-Applique à la vidéo un filtre de réduction de bruit (par défaut\ : 0, pas de
-réduction de bruit)
-.IPs deint=<0\-4>
-Sélectionne un désentrelaceur (par défaut\ : 0)
-Tous les modes > 0 respectent \-field\-dominance.
-.RSss
-.IPs 0
-pas de désentrelacement
-.IPs 1
-Affiche uniquement le premier champ, comme le filtre \-vf field.
-.IPs 2
-désentrelaceur bob, similaire à \-vf tfields=1.
-.IPs 3
-Désentrelaceur à adaptation de mouvement temporel.
-Peut provoquer des désynchronisations A/V avec les cartes vidéos lentes
-et/ou avec les trop grandes résolutions.
-C'est le comportement par défaut si "D" est utilisé pour activer le
-désentrelacement.
-.IPs 4
-Désentrelaceur à adaptation de mouvement temporel avec interpolation
-spatiale guidé par les bords.
-Nécessite une carte vidéo rapide.
-.RE
-.IPs chroma\-deint
-Ordonne au désentrelaceurs temporels de prendre en compte la luminance et
-la chrominance (par défaut).
-Utilisez nochroma\-deint pour ne prendre en compte que la luminance et
-accélérer le désentrelacement.
-Utile quand la mémoire vidéo est lente.
-.IPs pullup
-Essaye d'appliquer un filtre téléciné inverse.
-Nécessite un filtre de désentrelacement à adaptation de mouvement temporel.
-.IPs colorspace
-Sélectionne l'espace de couleur pour la conversion YUV vers RVB.
-En général, BT.601 est recommandé pour les contenus à définition standard
-(SD), et BT.709 pour la haute définition (HD)
-L'utilisation d'un espace de couleur inapproprié peut donner des
-couleurs trop ou pas assez saturées.
-.RSss
-.IPs 0
-Déduit l'espace de couleur en fonction de la résolution vidéo.
-Une vidéo dont la largeur est >= 1280 ou on la hauteur est > 576 est
-détectée comme HD et donc l'espace de couleur BT.709 sera utilisé.
-.IPs 1
-Utilise l'espace de couleur ITU-R BT.601 (par défaut).
-.IPs 2
-Utilise l'espace de couleur ITU-R BT.709.
-.IPs 3
-Utilise l'espace de couleur SMPTE-240M.
-.RE
-.IPs hqscaling
-.RSss
-.IPs 0
-Utilise la mise à l'échelle VDPAU (par défaut).
-.IPs 1\-9
-Utilise une mise à l'échelle de haute qualité (nécessite un matériel
-compatible).
-.RE
-.IPs force\-mixer
-Force l'utilisation du mixeur VDPAU, qui implémente toutes les options
-ci-dessus (par défaut).
-Utilisez noforce\-mixer pour permettre l'affichage de vidéos utilisant
-l'espace de couleur BGRA.
-.RE
-.PD 1
-.
-.TP
-.B xvmc (X11 avec \-vc ffmpeg12mc uniquement)
-Ce pilote emploie l'extension XvMC (X Video Motion Compensation) de
-XFree86 4.x pour accélérer les lectures de médias MPEG-1/\:2 et VCR2.
-.PD 0
-.RSs
-.IPs adaptor=<nombre>
-Sélectionne un adaptateur XVideo particulier (cf. xvinfo).
-.IPs port=<nombre>
-Sélectionne un port XVideo particulier.
-.IPs (no)benchmark
-Désactive l'affichage de toute image.
-Nécessaire pour évaluer les performances (benchmarking) des pilotes qui
-mettent à jour leurs tampons d'affichage uniquement lors du rafraîchissement
-de l'écran (nVidia).
-Par défaut les images sont affichées (nobenchmark).
-.IPs (no)bobdeint
-Dé-entrelaceur très simple.
-Peut ne pas donner un résultat plus joli que \-vf tfields=1, mais c'est
-le seul désentrelaceur disponible pour xvmc (par défaut\ : nobobdeint).
-.IPs (no)queue
-Met plusieurs trames dans queue d'affichage pour permettre aux circuits
-matériels de les traiter en parallèle.
-Peut introduire une faible (imperceptible) et constante désynchronisation
-A/V (par défaut\ : noqueue).
-.IPs (no)sleep
-Utilise la fonction sleep() lorsque MPlayer attend la fin de l'affichage de
-l'image (déconseillé sous Linux) (par défaut\ : nosleep).
-.IPs ck=cur|use|set
-Comme pour \-vo xv:ck (voir \-vo xv).
-.IPs ck-method=man|bg|auto
-Comme pour \-vo xv:ck-method (voir \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B dga (X11 uniquement)
-Joue la vidéo par l'intermédiaire de l'extension Direct Graphics Access de
-XFree86.
-Considéré comme obsolète.
-.
-.TP
-.B sdl (SDL uniquement)
-Pilote de sortie vidéo de la librairie multi-plateforme SDL (Simple
-Directmedia Layer).
-Étant donné que SDL dispose de sa propre couche X11, les options X11 de
-MPlayer n'ont aucun effet sur SDL.
-.PD 0
-.RSs
-.IPs driver=<pilote>
-Choisit explicitement le pilote SDL à utiliser.
-.IPs (no)forcexv
-Utilise XVideo à travers le pilote de sortie vidéo sdl (par défaut\ : forcexv).
-.IPs (no)hwaccel
-Utilise le redimensionnement matériel (par défaut\ : hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX) est une interface pour les fonctionnalités
-d'accélération vidéo de différentes cartes graphiques.
-Pilote de sortie vidéo très rapide sur les cartes le gérant.
-.PD 0
-.RSs
-.IPs <sous-périphérique>
-Choisi explicitement le sous-périphérique à utiliser.
-Les pilotes de sous-périphérique existant sont cyberblade, ivtv,
-mach64, mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
-sis et unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (X11 uniquement)
-VIDIX tournant sous X11.
-.
-.TP
-.B "cvidix\ "
-Interface à VIDIX générique et indépendante de la plateforme et pouvant
-tourner dans une console texte avec une carte graphique nVidia.
-.PD 0
-.RSs
-.IPs <sous-périphérique>
-Comme pour vidix
-.RE
-.PD 1
-.
-.TP
-.B winvidix (Windows uniquement)
-VIDIX tournant sous Windows.
-.
-.TP
-.B direct3d (Windows uniquement) (CODE BÉTA!)
-Pilote de sortie vidéo utilisant l'interface Direct3D (utilse sous Vista).
-.
-.TP
-.B directx (Windows uniquement)
-Pilote de sortie vidéo utilisant l'interface DirectX.
-.PD 0
-.RSs
-.IPs noaccel
-Désactive l'accélération matérielle.
-Essayez cette option si vous avez des problèmes d'affichage.
-.RE
-.PD 1
-.
-.TP
-.B kva (OS/2 uniquement)
-Pilote de sortie vidéo utilisant l'interface libkva.
-.PD 0
-.RSs
-.IPs snap
-Force le mode SNAP.
-.IPs wo
-Force le mode WarpOverlay!.
-.IPs dive
-Force le mode DIVE.
-.IPs (no)t23
-Active le contournement pour les bugs de l'ordinateur portable T23
-(par défaut\ : désactivé).
-Essayez d'activer cette option si votre carte vidéo ne gère que
-l'agrandissement d'image (upscaling).
-.RE
-.PD 1
-.
-.TP
-.B quartz (Mac OS X uniquement)
-Pilote de sortie vidéo Quartz pour Mac OS X.
-Dans certains cas, il est préférable de forcer le format de sortie packed YUV,
-avec par ex.\& \-vf format=yuy2
-.PD 0
-.RSs
-.IPs device_id=<numéro>
-Choisir le moniteur à utiliser en plein-écran.
-.IPs fs_res=<largeur>:<hauteur>
-Choisir la résolution du mode plein-écran (utile sur les systèmes plus lents).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 ou 10.3.9 avec QuickTime 7)
-pilote de sortie vidéo CoreVideo pour Mac OS X
-.PD 0
-.RSs
-.IPs device_id=<numéro>
-Choisir le moniteur à utiliser en plein-écran (par défaut\ : -1).
-La valeur -1 laisse la vidéo sur le même écran.
-.IPs shared_buffer
-Écrit la sortie dans un tampon partagé au lieu de l'afficher, et essaye
-d'établir une NSConnection avec une IHM existante.
-.IPs buffer_name=<name>
-Nom du tampon partagé créé avec shm_open pour effectuer la NSConnection avec
-une IHM (defaut\ : "mplayerosx").
-Définir l'option buffer_name active shared_buffer implicitement.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (Linux uniquement)
-Utilise le framebuffer du noyau pour afficher la vidéo.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique fbdev à utiliser (par ex.\& /dev/\:fb0)
-ou le nom du sous-périphérique vidix si le nom de périphérique commence
-par 'vidix' (par ex.\& 'vidixsis_vid' pour utiliser le pilote sis).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (Linux uniquement)
-Utilise le framebuffer du noyau pour afficher la vidéo,
-implémentation différente.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique fbdev à utiliser (par défaut\ :
-/dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Pilote de sortie vidéo générique qui devrait fonctionner sur n'importe quelle
-carte compatible VESA VBE 2.0.
-.PD 0
-.RSs
-.IPs (no)dga
-(Dés)active le mode DGA (par défaut\ : activé).
-.IPs neotv_pal
-Active la sortie TV NeoMagic et la configure en norme PAL.
-.IPs neotv_ntsc
-Active la sortie TV NeoMagic et la configure en norme NTSC.
-.IPs vidix
-Utilise le pilote VIDIX.
-.IPs "lvo:\ \ \ "
-Active le "Linux Video Overlay" au-dessus du mode VESA.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-Affiche la vidéo en utilisant la librairie SVGA.
-.PD 0
-.RSs
-.IPs "<mode vidéo>"
-Définit le mode vidéo à utiliser.
-Ce mode peut être donné au format <largeur>x<hauteur>x<couleurs>,
-ex.\& 640x480x16M ou d'après leur numéro de mode graphique, ex.\& 84.
-.IPs bbosd
-Affiche l'OSD sur les bandes noires du film (plus lent)
-.IPs native
-N'utilise que les fonctions d'affichage natives.
-Cela évite toute accélération matérielle, OSD, et direct rendering.
-.IPs retrace
-Oblige un échange de trame lors du retracé vertical.
-Ne fonctionne qu'avec \-double.
-Cela a le même effet que l'option \-vsync.
-.IPs "sq\ \ \ "
-Essaye d'utiliser un mode vidéo aux pixels carrés.
-.IPs vidix
-Utilise svga avec VIDIX.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-Pilote de sortie vidéo OpenGL, version assez dépouillée.
-La taille de la vidéo doit être plus petite que la taille maximale
-d'un texture permise par votre implémentation d'OpenGL.
-Faite pour fonctionner même avec l'implémentation la plus simple
-l'OpenGL, mais utilise des extensions récentes, permettant de gérer
-plus d'espaces de couleur et de direct rendering.
-Pour une rapidité optimale, essayez quelquechose comme\ :
-.br
-\-vo gl:yuv=2:rectangle=2:force\-pbo:ati\-hack \-dr \-noslices
-.br
-Le code ne vérifiant que très peu de choses, si une fonction ne marche
-pas, c'est peut-être parceque votre carte ou votre implémentation de
-OpenGL ne la gère pas, même si aucun message d'erreur s'affiche.
-Utilisez glxinfo ou un outil similaire pour afficher les extensions
-d'OpenGL gérées.
-.PD 0
-.RSs
-.IPs (no)ati\-hack
-Les pilotes ATI peuvent afficher une image corrompue lorsque les PBO
-sont utilisés (quand les options \-dr ou force\-pbo sont activées).
-Cette option corrige ce problème, au frais d'une consommation mémoire un
-peu plus élevée.
-.IPs (no)force\-pbo
-Utilise toujours les PBOs pour transférer les textures, même si cela
-provoque une copie en plus.
-Est à l'heure actuelle un peu plus rapide avec les pilotes NVidia et bien
-plus rapide avec les pilotes ATI.
-Il se peut que vous ayez à utiliser les options \-noslices et la sous-option
-ati\-hack pour que tout fonctionne correctement.
-.IPs (no)scaled-osd
-Change le comportement de l'OSD quand la taille de la fenêtre vidéo change
-(par défaut\ : désactivé).
-Lorsqu'il est activé, il se comporte comme les autres pilotes de sortie
-vidéo, ce qui est mieux pour les polices de caractères à taille fixe.
-En le désactivant, le résultat est plus esthétique avec les polices FreeType,
-et en mode plein-écran, s'affichera dans les bandes noires.
-Ne fonctionne pas bien avec les sous-titres ass (voir \-ass), vous pouvez
-effectuer le rendu sans OpenGL via \-vf ass.
-.IPs osdcolor=<0xAARRGGBB>
-Couleur de l'OSD (par défaut\ : 0xffffff, correspond à blanc opaque).
-.IPs rectangle=<0,1,2>
-Définit l'utilisation des textures rectangulaires ce qui économise de la
-RAM vidéo, mais est souvent plus lent (par défaut\ : 0).
-.RSss
-0: Utilise des textures de taille d'une puissance de deux (par défaut).
-.br
-1: Utilise GL_ARB_texture_rectangle
-.br
-2: Utilise l'extension GL_ARB_texture_non_power_of_two.
-N'est dans certains cas que supporté de manière logicielle, donc lent.
-.RE
-.IPs swapinterval=<n>
-Intervalle minimum entre chaque échange de tampon, exprimé en nombre de
-trames affichées (par défaut\ : 1).
-1 est équivalent à activer VSYNC, 0 désactive VSYNC.
-Une valeur inférieure à 0 utilisera la configuration système.
-Ceci limite le débit de trames (framerate) à (rafraîchissement
-horizontal / n).
-Requiert le support de GLX_SGI_swap_control pour fonctionner.
-Avec certaines implémentation (la plupart/toutes?) ceci ne fonctionne
-qu'en mode plein écran
-.IPs ycbcr
-Utilise l'extension GL_MESA_ycbcr_texture pour la conversion YUV vers RVB.
-Généralement plus lent que de réaliser cette conversion par logiciel.
-.IPs yuv=<n>
-Choisit le type de conversion YUV vers RGB.
-.RSss
-0: Utilise la conversion logicielle (par défaut).
-Compatible avec toutes les versions d'OpenGL.
-Offre le contrôle de la luminosité, du contraste et de la saturation.
-.br
-1: Utilise les "register combiners".
-Ceci utilise un extension nVidia (GL_NV_register_combiners).
-Au moins trois unitées de texture sont nécessaires.
-Offre le contrôle de la saturation et de la teinte.
-Cette méthode est rapide mais inexacte.
-.br
-2: Utilise un "programme fragment".
-Nécessite l'extension GL_ARB_fragment_program et au moins trois unités
-de textures.
-Offre le contrôle de la luminosité, du contraste, de la saturation, et
-de la teinte.
-.br
-3: Utilise un "programme fragment" utilisant l'instruction POW.
-Nécessite l'extension GL_ARB_fragment_program et au moins trois unités
-de texture.
-Offre le contrôle de la luminosité, du contraste, de la saturation, de
-la teinte et du gamma.
-Le chaque composante rouge, verte et bleue du gamma peut être configurée.
-La méthode 4 est généralement plus rapide.
-.br
-4: Utilise un "programme fragment" avec une consultation de table.
-Nécessite l'extension GL_ARB_fragment_program et au moins quatre unités
-de texture.
-Offre le contrôle de la luminosité, du contraste, de la saturation, de
-la teinte et du gamma.
-Le chaque composante rouge, verte et bleue du gamma peut être configurée.
-.br
-5: Utilise des méthodes spécifiques à ATI (pour les cartes plus anciennes).
-Ceci utilise une extension spécifique à ATI (GL_ATI_fragment_shader - pas
-GL_ARB_fragment_shader\ !).
-Au moins trois unités de texture sont nécessaires.
-Permet le contrôle de la saturation et de la teinte.
-Cette méthode est rapide mais inexacte.
-.br
-6: Utilise une texture 3D pour réaliser la conversion en utilisant une
-table de lookup.
-Nécessite l'extension GL_ARB_fragment_program et au moins 4 unités de
-texture.
-Extrèmement lent (émulation logicielle) avec certaines (toutes?) cartes
-ATI puisque cela utilise des textures pour les pixels en bordure.
-Permet le contrôle de la luminosité, du contraste, de la saturation, de
-la teinte et du gamma.
-Le gamma du rouge, vert et bleu peut aussi être ajusté indépendement.
-La vitesse de ce type de conversion dépend plus de la bande passante
-de la carte vidéo que les autres méthodes.
-.RE
-.IPs lscale=<n>
-Sélection de la fonction de mise à l'échelle à utiliser pour la luminance.
-Valide uniquement pour les modes yuv 2, 3, 4 et 6.
-.RSss
-0: Utilise un simple fitrage linéraire (par défaut)
-.br
-1: Utilise un fitrage bicubique B-spline (meilleure qualité).
-Nécessite une unité de texture supplémentaire.
-Les cartes plus anciennes ne pourront pas gérer le chroma, tout du moins
-pas en mode plein écran.
-.br
-2: Utilise un fitrage cubique en direction horizontale, et un filtre
-linéaire en vectical.
-Fonctionne avec un peu plus de cartes que la méthode 1.
-.br
-3: Comme 1 sauf qu'elle n'effecture pas de consultation de table de texture.
-Peut être plus rapide sur certaines cartes.
-.br
-4: Utilise un masquage flou expérimental de taille 3x3 et d'une force de 0.5
-par défaut (voir filter-strength).
-.br
-5: Utilise un masquage flou expérimental de taille 5x5 et d'une force de 0.5
-par défaut (voir filter-strength).
-.RE
-.IPs cscale=<n>
-Sélection de la fonction de mise à l'échelle à utiliser pour la chrominance.
-Pour plus de détails, voir lscale.
-.IPs filter-strength=<valeur>
-Défini la force des filtres lscale/cscale.
-.
-.IPs customprog=<nom_fichier>
-Charge un programme fragment personnalisé depuis <nom_fichier>.
-Voir l'exemple TOOLS/edgedect.fp.
-.IPs customtex=<nom_fichier>
-Charge une texture "gamma ramp" personnalisée depuis <nom_fichier>.
-Peut être utilisé en même temps que yuv=4 ou avec l'option customprog.
-.IPs (no)customtlin
-Utilise l'interpolation GL_LINEAR (par défaut), sinon utilise
-GL_NEAREST comme texture customtex.
-.IPs (no)customtrect
-Utilise texture_rectangle comme texture customtex.
-.IPs (no)mipmapgen
-Permet la génération automatique de mipmaps pour la vidéo.
-Peut être utile combiné avec les instruction customprog et TXB
-pour implémenter des filtre de floutage à large diamètre.
-Très lent avec la plupart des implémentation OpenGL pour les formats
-non-RVB.
-.RE
-.sp 1
-.RS
-Les options suivantes sont surtout là à des fins de tests, aussi, vous
-ne devriez pas avoir à les utiliser.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-Appelle glFinish() avant d'échanger les tampons.
-Plus lent mais dans certains cas affichage "plus correct".
-.IPs (no)manyfmts
-Active la gestion de plus de formats de couleurs (RGB and BGR)
-(par défaut\ : activé).
-Nécessite une version d'OpenGL >= 1.2.
-.IPs slice-height=<0\-...>
-Nombre de lignes de texture à copier à la fois (par défaut\ : 0).
-0 pour l'image entière.
-.br
-.I NOTE\ :
-Si l'espace de couleur YUV est utilisé (voir la sous-option yuv), des
-règles spéciales s'appliquent\ :
-.RSss
-Si le décodeur utilise le rendu en "slice" (voir \-noslices), cette option
-n'a pas d'effet, et la taille de "slice" utilisée par le décodeur est
-utilisée.
-.br
-Si le décodeur n'utilise pas le rendu en "slice", la valeur par défaut
-est 16.
-.RE
-.IPs (no)osd
-Active ou désactive la gestion de l'incrustation OSD via OpenGL
-(par défaut\ : activé).
-Cette option présente à des fins de des tests\ ; vous devriez plutôt utiliser
-\-osdlevel 0 pour désactiver l'incrustation OSD.
-.IPs (no)aspect
-Active ou désactive la gestion du redimensionnement du ratio d'aspect et
-le "pan-and-scan" (par défaut\ : activé).
-Sa désactivation peut économiser un peu de temps processeur.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Variante du pilote de sortie vidéo OpenGL.
-Gère les vidéos de taille supérieure à la taille maximale d'une texture,
-mais n'offre ni les fonctionnalités avancées, ni optimisations du pilote
-de sortie vidéo gl et a très peu de chances d'être amélioré à l'avenir.
-.PD 0
-.RSs
-.IPs (no)glfinish
-Fonctionne comme pour le pilote de sortie vidéo gl (par défaut\ : activé)
-.IPs yuv=<n>
-Choisit le type de conversion YUV vers RGB.
-Si défini à autre chose que 0, l'OSD sera désactivé et le paramétrage de
-la luminosité, du contraste et du gamma sera uniquement paramétrable à
-travers les paramètres globaux du serveur X.
-A part ces quelques détails, les valeurs de <n> ont le même sens que pour
-\-vo gl.
-.REss
-.
-.TP
-.B "null\ \ \ "
-Pas de sortie vidéo.
-Utile pour les benchmarks.
-.
-.TP
-.B "aa\ \ \ \ \ "
-Pilote de sortie vidéo art ASCII fonctionnant dans une console texte.
-Vous pouvez obtenir une liste et des explications sur les sous-options
-disponibles en exécutant 'mplayer \-vo aa:help'.
-.br
-.I NOTE\ :
-Ce pilote ne gère pas \-aspect correctement.
-.br
-.I ASTUCE:
-Vous allez probablement devoir spécifier \-monitorpixelaspect.
-Essayez 'mplayer \-vo aa \-monitorpixelaspect 0.5'.
- .
-.
-.TP
-.B "caca\ \ \ "
-Pilote de sortie vidéo art ASCII en couleur fonctionnant dans une console
-texte.
-.
-.TP
-.B "bl\ \ \ \ \ "
-Lecture vidéo en utilisant le protocole UDP Blinkenlights.
-Ce pilote est très dépendant du matériel.
-.PD 0
-.RSs
-.IPs <sous-périph>
-Choisit explicitement le sous-périphérique Blinkenlights à utiliser (par ex.\&
-arcade:host=localhost:2323 ou hdl:file=nom1,file=nom2).
-Vous devez définir un sous-périphérique.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-Pilote de sortie vidéo pour le système graphique GGI.
-.PD 0
-.RSs
-.IPs <pilote>
-Choisit explicitement le pilote GGI à utiliser.
-Remplacez tout ',' apparaissant dans la chaîne de caractère du pilote par
-un '.'.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-Joue la vidéo en utilisant la librairie DirectFB.
-.PD 0
-.RSs
-.IPs (no)input
-Utilise les codes de touches de DirectFB au lieu de ceux de MPlayer
-(par défaut\ : activé).
-.IPs buffermode=single|double|triple
-Le tamponnage (buffering) double ou triple produit les meilleurs résultats
-si vous voulez éviter les effets de distortions.
-Le triple tamponnage est plus efficace que le double puisqu'il ne bloque
-pas MPlayer lorsqu'il attend le rafraîchissement vertical.
-Le tamponnage simple devrait être évité (par défaut\ : single).
-.IPs fieldparity=top|bottom
-Contrôle l'ordre d'affichage des trames entrelacées (défaut\ : désactivé).
-Les paramètres valides sont top = les champs du haut en premier,
-bottom = les champs du bas en premier.
-Cette option n'a aucun effet sur les vidéos non entrelacées, ce qui représente
-la majorité des vidéos MPEG.
-Vous devriez activer cette option si vous observez des distortions ou des
-mouvements saccadés lorsque vous regardez une vidéo entrelacée.
-.IPs layer=N
-Forcera l'utilisation de la couche dont l'ID est N pour la lecture
-(par défaut\ : \-1 - auto).
-IPs dfbopts=<liste>
-Défini une liste de paramètres DirectFB.
-.
-.TP
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Pilote de sortie vidéo spécifique aux Matrox G400/\:G450/\:G550 utilisant
-la librairie DirectFB pour exploiter des fonctions câblées spéciales.
-Active CRTC2 (bi-écran), affichant la vidéo indépendemment de l'autre écran.
-.PD 0
-.RSs
-.IPs (no)input
-comme directfb (par défaut\ : désactivé)
-.IPs buffermode=single|double|triple
-comme directfb (par défaut\ : triple)
-.IPs fieldparity=top|bottom
-comme directfb
-.IPs (no)bes
-Active l'utilisation du Matrox BES (backend scaler\ : fonctions de changement
-de taille) (par défaut\ : désactivé).
-Donne de très bons résultats en matière de rapidité de traitement et de
-qualité visuelle, puisque le traitement des vidéos entrelacées est réalisé par
-des circuits matériels spécialisés.
-Ne fonctionne que sur la sortie vidéo primaire.
-.IPs (no)spic
-Utilise la couche de sous-image Matrox (sub picture layer) pour afficher l'OSD
-(par défaut\ : activé).
-.IPs (no)crtc2
-Active la sortie TV de la deuxième sortie vidéo (par défaut\ : activé).
-La qualité de l'image y est époustouflante puisque toutes les spécificités
-et limitations de l'affichage sur une TV sont gérées (image entrelacée,
-synchro, etc ...)
-.IPs tvnorm=pal|ntsc|auto
-Définit la norme TV de la carte Matrox sans avoir besoin de modifier
-/etc/\:directfbrc (par défaut\ : désactivé).
-Les normes valides sont pal = PAL, ntsc = NTSC.
-La norme auto est particulière (auto-ajustement PAL/\:NTSC) puisqu'elle choisit
-la norme à utiliser en fonction du nombre de trames par secondes du fim.
-.RE
-.PD 1
-.
-.TP
-.B mga (Linux uniquement)
-Pilote de sortie vidéo spécifique aux cartes Matrox utilisant le mécanisme
-de changement de taille (scaling) en espace de couleur YUV sur les cartes
-Gxxx au moyen d'un module noyau.
-Si vous avez une carte Matrox, c'est l'option la plus rapide.
-If you have a Matrox card, this is the fastest option.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique Matrox à utiliser (par defaut\ :
-/dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (Linux, X11 uniquement)
-Le pilote de sortie vidéo MGA, tournant dans une fenêtre X11.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique Matrox à utiliser (par defaut\ :
-/dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (Linux uniquement) (voir aussi \-vf yuv2 et \-dr)
-Pilote de sortie vidéo spécifique aux cartes S3 Virge.
-Ce pilote supporte les fonctionnalités de conversion YUV, mise à l'échelle,
-double tamponnage, et rendu direct que cette carte gère.
-Utilisez \-vf yuy2 pour activer le rendu YUV2 accéléré matériellement,
-qui est plus rapide que YV12 avec cette carte.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique fbdev à utiliser (par défaut\ :
-/dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B wii (Linux uniquement)
-Pilote de sortie vidéo spécifique aux consoles Nintendo Wii et GameCube.
-.
-.TP
-.B 3dfx (Linux uniquement)
-Pilote de sortie vidéo spécifique aux cartes 3dfx, qui exploite directement
-les circuits matériels 3dfx sous X11.
-Ne gère que le 16 bits/pixel.
-.
-.TP
-.B tdfxfb (Linux uniquement)
-Ce pilote utilise le pilote framebuffer tdfxfb pour jouer les films avec
-accélération YUV des 3dfx.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique fbdev à utiliser (par défaut\ :
-/dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (Linux uniquement)
-Pilote de sortie vidéo spécifique aux cartes 3Dfx qui fonctionnne avec
-le module noyau tdfx_vid.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique à utiliser (par défaut\ :
-/dev/\:tdfx_vid).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (voir aussi \-dxr2) (DXR2 uniquement)
-Pilote de sortie vidéo spécifique aux cartes Créatives DXR2.
-.PD 0
-.RSs
-.IPs <pilote_vo>
-Définit le sous-pilote à utiliser pour l'incrustation (overlay) (x11, xv).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (DXR3 uniquement)
-Pilote de sortie vidéo spécifique pour le chipset de décodage MPEG
-Sigma Designs em8300 (Creative DXR3, Sigma Designs Hollywood Plus).
-Voir aussi le filtre vidéo lavc.
-.PD 0
-.RSs
-.IPs overlay
-Active l'incrustation (overlay) au lieu de TVOut.
-.IPs prebuf
-Active le pré-buffering.
-.IPs "sync\ "
-Active le nouveau moteur de synchro.
-.IPs norm=<norm>
-Spécifie la norme TV.
-.RSss
-0: Ne change pas la norme actuelle (par défaut).
-.br
-1: Ajuste automatiquement entre PAL/\:NTSC.
-.br
-2: Ajuste automatiquement entre PAL/\:PAL-60.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.RE
-.IPs <0\-3>
-Définit le numéro de périphérique à utiliser si vous avez plus d'une carte
-em8300.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (IVTV uniquement)
-Pilote de sortie vidéo spécifique pour les chipsets de décodage MPEG
-Conexant CX23415 (iCompression iTVC15) et Conexant CX23416
-(iCompression iTVC16) présents sur les cartes
-Hauppauge WinTV PVR-150/250/350/500.
-Voir aussi le filtre vidéo lavc.
-.PD 0
-.RSs
-.IPs <périph>
-Choisit explicitement le périphérique de décodage MPEG à utiliser
-(par défaut\ : /dev/\:video16).
-.IPs <sortie>
-Choisit explicitement le type de connecteur signal vidéo à utiliser
-pour la sortie TV.
-.RE
-.PD 1
-.
-.TP
-.B v4l2 (requière un kernel Linux 2.6.22 ou supérieur)
-Périphérique de sortie vidéo pour les cartes V4L2 à décodeur MPEG matériel.
-Voir aussi le vidéo lavc.
-.PD 0
-.RSs
-.IPs <périph>
-Spécifie le nom du périphérique décodeur MPEG à utiliser (par defaut\ : /dev/video16).
-.IPs <sortie>
-Spécifie la sortie TV à utiliser pour envoyer le signal vidéo.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (DVB uniquement)
-Pilote de sortie vidéo pour cartes DVB permettant l'écriture au format
-MPEG-PES dans un fichier si aucune carte DVB n'est installée.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Défini le numéro de périphérique à utiliser si vous avez plus d'une carte
-DVB (API V3 uniquement, comme la série de pilotes 1.x.y).
-Si non spécifié, MPlayer utilisera la première carte détectée.
-.IPs <nom_fichier>
-nom du fichier de sortie (par défaut\ : ./grab.mpg)
-.RE
-.PD 1
-.
-.TP
-.B zr (voir aussi \-zr* et \-zrhelp)
-Pilote de sortie vidéo pour un certain nombre de cartes de capture/\:lecture
-MJPEG.
-.
-.TP
-.B zr2 (voir aussi le filtre vidéo zrmjpeg)
-Pilote de sortie vidéo pour un certain nombre de cartes de capture/\:lecture
-MJPEG, seconde génération.
-.PD 0
-.RSs
-.IPs dev=<périph>
-Définit le vidéo périphérique à utiliser.
-.IPs norm=<PAL|NTSC|SECAM|auto>
-Définit la norme vidéo à utiliser (par défaut\ : auto)
-.IPs (no)prebuf
-(Dés)Active le pré-tamponnage (prebuffering), non géré pour le moment.
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-Calcule la somme de contrôle MD5 de chaque trame et l'écrit dans un fichier.
-Gère les espaces de couleurs RGB24 et YV12.
-Utile pour le débogage.
-.PD 0
-.RSs
-.IPs outfile=<nom_fichier>
-Définit le nom de fichier de sortie (par défaut\ : ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-Transforme le flux vidéo en une séquence d'images YUV 4:2:0 non compressées
-et les stocke dans un fichier (par défaut\ : ./stream.yuv).
-Ce format est identique à celui employé par la suite mjpegtools, ce qui peut
-vous être utile si vous comptez retraiter cette vidéo avec cette suite.
-Ne gère que les formats YV12, RGB (24 bits/pixel) et BGR (24 bits/pixel).
-Vous pouvez la combiner avec l'option \-fixed\-vo pour concaténer des fichiers
-ayant les mêmes dimensions et le même nombre de trames par seconde.
-.PD 0
-.RSs
-.IPs interlaced
-Entrelace les trames de sortie, en commençant par les champs du haut.
-.IPs interlaced_bf
-Entrelace les trames de sortie, en commençant par les champs du bas.
-.IPs file=<nom_fichier>
-Écrit la sortie dans <nom_fichier> (par défaut\ : ./stream.yuv).
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTE\ :
-Si vous ne définissez pas d'options, sortie sera "progressive"
-(c-à-d non entrelacée).
-.RE
-.
-.TP
-.B "gif89a\ "
-Écrit chaque trame dans un fichier GIF animé du répertoire courant.
-Ne gère que le format RGB avec 24 bits/pixel en entrée, et est limité en
-sortie à 256 couleurs.
-.PD 0
-.RSs
-.IPs <fps>
-Valeur flottante pour définir le nombre de trames/sec (framerate)
-(par défaut\ : 5.0).
-.IPs <output>
-Définit le nom du fichier de sortie (par défaut\ : ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTE\ :
-Vous devez définir le framerate avant le nom du fichier de sortie pour que
-le framerate ne soit pas inclus dans le nom du fichier.
-.sp 1
-.I EXEMPLE\ :
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-sépare chaque trame dans un fichier JPEG du répertoire courant.
-Le nom de chaque fichier contient le numéro de trame, précédé au besoin par
-des zéros.
-.PD 0
-.RSs
-.IPs [no]progressive
-Fichiers JPEG standards ou progressifs (par défaut\ : non progressifs).
-.IPs [no]baseline
-Utilisation de baseline ou pas (par défaut\ : baseline).
-.IPs optimize=<0\-100>
-facteur d'optimisation (par défaut\ : 100)
-.IPs smooth=<0\-100>
-facteur d'adoucissement (par défaut\ : 0)
-.IPs quality=<0\-100>
-facteur de qualité (par défaut\ : 75)
-.IPs outdir=<chemin>
-Définit le répertoire où sauver les fichiers JPEG (par défaut\ ./).
-.IPs subdirs=<préfixe>
-Crée des sous-répertoires numérotés, avec le préfixe donné pour y écrire
-les fichiers au lieu de les mettre tous dans le même répertoire.
-.IPs "maxfiles=<valeur> (subdir uniquement)"
-Nombre maximum de fichier JPEG à créer par sous-répertoire.
-<valeur> doit être plus grand ou égal à 1 (par défaut\ : 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Écrit, dans le répertoire courant, chaque trame dans un fichier PNM.
-Le nom de chaque fichier contient le numéro de trame, précédé au besoin par
-des zéros.
-Gère les fichiers PPM, PGM et PGMYUB, en mode brut ou ASCII.
-Voir aussi les pages de manuel pnm (5), ppm (5) et pgm (5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-Écrit des fichiers PPM (par défaut).
-.IPs "pgm\ \ "
-Écrit des fichiers PGM.
-.IPs pgmyuv
-Écrit des fichiers PGMYUV.
-PGMYUV est similaire à PGM, mais contient en plus les plans U et V, rajoutés
-en bas de l'image.
-.IPs "raw\ \ "
-Écrit les fichiers PNM en mode brut (par défaut).
-.IPs ascii
-Écrit les fichiers PNM en mode ASCII (par défaut).
-.IPs outdir=<nom_répertoire>
-Définit le répertoire où écrire les fichiers PNM.
-.IPs subdirs=<préfixe>
-Crée des sous-répertoires numérotés avec le préfixe donné
-pour y écrire les fichiers au lieu de les mettre tous dans le
-même répertoire.
-.IPs maxfiles=<valeur> (subdir uniquement)
-Nombre maximum de fichiers à écrire par sous-répertoire.
-Doit être plus grand ou égal à 1 (par défaut\ : 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Sépare chaque trame dans un fichier PNG du répertoire courant.
-Le nom de chaque fichier contient le numéro de trame, précédé au besoin par
-des zéros.
-Ne gère que les formats RGB et BGR 24 bits/pixel.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Définit le taux de compression.
-0 équivaut à pas de compression et 9 à la compression maximale.
-.IPs alpha (par défaut\ : noalpha)
-Crée un fichier PNG avec un canal alpha.
-Notez que MPlayer ne gère en général pas les canaux alpha, donc cette
-option sera probablement rarement utile.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-Sépare chaque trame dans un fichier Targa du répertoire courant.
-Le nom de chaque fichier contient le numéro de trame, précédé au besoin par
-des zéros.
-L'intérêt de ce pilote de sortie vidéo est de pouvoir facilement extraire
-sans perte des images sans l'aide d'une librairie externe.
-Ne gère que les formats BGR[A] à 15, 24 ou 32 bits/pixel.
-Vous pouvez forcer un certain format avec le filtre vidéo format.
-.sp 1
-.I EXEMPLE\ :
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.SH "OPTIONS DE DÉCODAGE/FILTRAGE"
-.
-.TP
-.B \-ac <[\-|+]codec1,[\-|+]codec2,...[,]>
-Définit une liste de priorité des codecs audio à utiliser, à partir de leur
-nom de codec dans codecs.conf.
-Utilisez un '\-' avant le nom d'un codec pour l'omettre.
-Ajoutez un '+' avant son nom pour le forcer, ce qui va probablement
-planter!
-Si la liste se termine par ',', se rabat alors sur les codecs non-listés.
-.br
-.I NOTE:
-Voir \-ac pour une liste complète des codecs disponibles.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-Force le codec MP3 l3codeca.acm.
-.IPs "\-ac mad,"
-Essaie d'abord libmad, puis se rabat sur les autres.
-.IPs "\-ac hwac3,a52,"
-Essaie le transfert matériel AC-3 (vers un décodeur externe par ex.\&),
-le codec logiciel AC-3, puis les autres.
-.IPs "\-ac hwdts,"
-Essaye le transfert matériel DTS, puis se rabat sur les autres.
-.IPs "\-ac \-ffmp3,"
-Essaie tous les codecs excepté le décodeur MP3 de FFmpeg.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(filtres)> (voir aussi \-af)
-Défini les options avancées de filtrage audio\ :
-.RSs
-.IPs force=<0\-7>
-Force l'insertion de filtres audios de l'une des façons suivantes:
-.RSss
-0: Utilise l'insertion totalement automatique des filtres.
-.br
-1: Optimise pour fidélité (par défaut).
-.br
-2: Optimise pour la vitesse.
-.I Attention\ :
-Certaines fonctions dans la chaîne des filtres audio peuvent faillir en
-silence, et la qualité du son peut s'en voir dégradée.
-.br
-3: Désactive toute optimisation et toute insertion automatique de filtre.
-.I Attention\ :
-Il se peut que MPlayer se plante en utilisant cette option.
-.br
-4: Active l'insertion automatique de filtre d'après 0 ci-dessus,
-mais si possible effectue le traitement en virgule flottante.
-.br
-5: Active l'insertion automatique de filtre d'après 1 ci-dessus,
-mais si possible effectue le traitement en virgule flottante.
-.br
-6: Active l'insertion automatique de filtre d'après 2 ci-dessus,
-mais si possible effectue le traitement en virgule flottante.
-.br
-7: Active l'insertion automatique de filtre d'après 3 ci-dessus,
-mais si possible effectue le traitement en virgule flottante.
-.REss
-.IPs list=<filtres>
-Identique à \-af.
-.RE
-.
-.TP
-.B \-afm <driver1,driver2,...>
-Définit une liste de priorité des familles de codecs audio à utiliser,
-d'après leur nom de pilote dans codecs.conf.
-Il se rabat sur celui par défaut si aucun ne convient.
-.br
-.I NOTE:
-Voir \-afm help pour la liste complète des familles de codecs disponibles.
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-Essaie les codecs libavcodec de FFmpeg en premier.
-.IPs "\-afm acm,dshow"
-Essaie les codecs Win32 en premier.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <ratio> (voir aussi \-zoom)
-Force le rapport hauteur/\:largeur du film, dans le cas où l'information de
-ration d'aspect est incorrecte ou manquante dans le fichier lu.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-\-aspect 4:3 ou \-aspect 1.3333
-.br
-\-aspect 16:9 ou \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Désactive la compensation automatique du rapport hauteur/\:largeur.
-.
-.TP
-.B \-field\-dominance <\-1\-1>
-Défini le premier champ du contenu entrelacé.
-Utile pour les dé-entrelaceurs qui doublent le nombre d'images par seconde
-\-vf tfields=1, \-vf yadif=1, \-vo vdpau:deint et \-vo xvmc:bobdeint.
-.PD 0
-.RSs
-.IPs \-1
-auto (par défaut)\ : Si le décodeur l'exporte pas l'information nécessaire,
-se rabat sur 0 (le champs du haut en premier).
-.IPs 0
-le champ du haut d'abord
-.IPs 1
-le champ du bas d'abord
-.RE
-.PD 1
-.
-.TP
-.B "\-flip\ \ "
-Renverse l'image de haut en bas.
-.
-.TP
-.B \-lavdopts <option1:option2:...> (CODE DE DÉBOGAGE)
-Définit les paramètres de décodage de libavcodec.
-Séparez les différentes options par le caractère ':'.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-Les options disponibles sont:
-.RE
-.RSs
-.IPs bitexact
-N'utilise pour toutes les étapes du décodage que des algorithmes
-précises au bit près (pour le test de codecs).
-.IPs bug=<valeur>
-Contourne manuellement les bogues des encodeurs.
-.RSss
-0: rien
-.br
-1: autodétecter les bogues (par défaut)
-.br
-2 (msmpeg4v3): certains vieux fichiers msmpeg4v3 générés avec lavc (pas
-d'autodétection)
-.br
-4 (mpeg4): bogue d'entrelacement de xvid (autodétecté si fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (autodétecté si fourcc==UMP4)
-.br
-16 (mpeg4): bogue de remplissage (autodétecté)
-.br
-32 (mpeg4): bogue vlc illégal (autodétecté par fourcc)
-.br
-64 (mpeg4): bogue qpel XVID et DIVX (autodétecté par foorcc/\:version)
-.br
-128 (mpeg4): vieux standard qpel (autodétecté par fourcc/\:version)
-.br
-256 (mpeg4): un autre bogue qpel (autodétecté par fourcc/\:version)
-.br
-512 (mpeg4): bogue direct-qpel-blocksize (autodétecté par fourcc/\:version)
-.br
-1024 (mpeg4): bogue de remplissage des bords (autodétecté par fourcc/\:version)
-.REss
-.IPs debug=<valeur>
-Affiche des informations de débogage.
-.RSss
-.br
-0: désactivé
-.br
-1: info image
-.br
-2: contrôle du débit (rate control)
-.br
-4: flux (bitstream)
-.br
-8: type de macro-bloc (MB)
-.br
-16: paramètre de quantification par bloc (QP)
-.br
-32: vecteur de mouvement (MV)
-.br
-0x0040: visualisation du vecteur de mouvement (utilisez -noslices)
-.br
-0x0080: saut macro-bloc (MB)
-.br
-0x0100: startcode
-.br
-0x0200: PTS
-.br
-0x0400: résilience aux erreurs
-.br
-0x0800: opérations de contrôle de gestion de la mémoire (H264)
-.br
-0x1000: bogues
-.br
-0x2000: Visualise le paramètre quantification (QP), plus le QP est bas plus
-teinte est verte.
-.br
-0x4000: Visualise le type de bloc.
-.REss
-.IPs ec=<valeur>
-Définit la stratégie de dissimulation des erreurs.
-.RSss
-1: Utilise un filtre de déblocage fort pour les macro-blocs endommagés.
-.br
-2: recherche du vecteur de mouvement itérative (lente)
-.br
-3: toutes (par défaut)
-.REss
-.IPs er=<valeur>
-Définit la stratégie de résilience aux erreurs.
-.RSss
-.br
-0: désactivé
-.br
-1: prudente (Devrait fonctionner avec les encodeurs cassés.)
-.br
-2: normale (par défaut) (Fonctionne avec les encodeurs conformes.)
-.br
-3: agressive (Plus de vérifications, mais peut causer des problèmes même avec
-les flux valides)
-.br
-4: très agressive
-.REss
-.IPs "fast (MPEG-2, MPEG-4, et H.264 uniquement)"
-Active des optimisations non conformes aux spécifications, et
-qui peuvent éventuellement poser problème, comme une déquantification
-plus simple, une compensation de mouvement plus simple, l'hypothèse que
-les matrices de quantifications par défaut ont été utilisées, que l'espace
-de couleur est YUV 4:2:0 et le saut de quelques vérifications pour
-détecter les flux endommagés.
-.IPs "gray\ "
-décodage en niveaux de gris uniquement (un peu plus rapide qu'en couleur)
-.IPs "idct=<0\-99> (voir \-lavcopts)"
-Pour obtenir la meilleure qualité d'encodage utilisez le même algorithme IDCT
-pour le décodage et l'encodage.
-Cela dit, vous pourriez y perdre en terme de précision.
-.IPs lowres=<valeur>[,<l>]
-Décodage en résolution réduite.
-Le décodage en résolution basse n'est pas géré par tous les codecs, et risque
-de produire des artefacts disgracieux.
-Ceci n'est pas un bogue, mais un effet de bord du décodage en résolution
-réduite.
-.RSss
-.br
-0: désactivé
-.br
-1: 1/2 résolution
-.br
-2: 1/4 résolution
-.br
-3: 1/8 résolution
-.REss
-.RS
-Si <l> est défini, le décodage en résolution réduite sera effectué uniquement
-si la largeur de la vidéo est plus grande ou égale à <l>.
-.RE
-.B o=<clef>=<valeur>[,<clef>=<valeur>[,...]]
-Passe des AVOptions au décodeur libavcodec.
-Notez que la création d'une rustine pour que cette option ne soit pas
-nécessaire, mais qu'à la place, toutes les options inconnues soient passées
-au système AVOption est la bienvenue.
-Une liste complète des AVOptions est disponible dans la documentation de
-FFmpeg.
-De plus, notez que certaines options peuvent entrer en conflit avec les
-options de MEncoder.
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.PD 0
-.IPs o=debug=pict
-.PD 1
-.RE
-.IPs "sb=<valeur> (MPEG-2 uniquement)"
-Saute <valeur> lignes de macro-blocs au bas de l'image.
-.IPs "st=<valeur> (MPEG-2 uniquement)"
-Saute <valeur> lignes de macro-blocs en haut de l'image.
-.IPs "skiploopfilter=<skipvalue> (H.264 uniquement)"
-Saute le loop filter (aussi connu sous le nom de deblocking) lors
-du décodage H.264.
-Étant donné que les trames filtrées sont supposées être utilisées
-comme références pour les trames dépendant d'autres trames (P, B)
-ceci dégrade plus la qualité visuelle que si vous ne faites par de
-deblocking pour une vidéo MPEG-2 par exemple.
-Cependant, pour les flux TVHD à haut débit, cela accélère notablement
-le décodage sans que cela n'affecte vraiment la qualité.
-.sp 1
-<skipvalue> peut prendre pour valeur\ :
-.RSss
-.br
-none: Ne saute jamais.
-.br
-default: Saute les étapes de traitements inutiles
-(par ex.\& les paquets AVI de taille nulle).
-.br
-nonref: Saute les trames qui ne sont pas référencées (i.e.\& non
-utilisées pour décoder d'autres trames, de façon à ne pas "accumuler"
-des erreurs de décodage).
-.br
-bidir: Saute les Trames-B.
-.br
-nonkey: Saute toutes les trames à l'exception des trames-clés.
-.br
-all: Saute toutes les trames.
-.REss
-.IPs "skipidct=<skipvalue> (MPEG-1/2 uniquement)"
-Saute l'étape d'IDCT.
-Ceci dégrade énormément la qualité dans pratiquement tous les cas
-(voir skiploopfilter pour les valeurs de "skipvalue" disponibles).
-.IPs skipframe=<skipvalue>
-Saute complètement le décodage des trames.
-Grosse accélération, mais mouvements saccadés et parfois artefacts
-visuels
-(voir skiploopfilter pour les valeurs de "skipvalue" disponibles).
-.IPs "threads=<1\-8> (MPEG-1/2 et H.264 uniquement)"
-nombre de threads à utiliser pour le décodage (pa défaut\ : 1)
-décodage multithreadé
-.IPs vismv=<valeur>
-Visualise les vecteurs de mouvement.
-.RSss
-.br
-0: désactivé
-.br
-1: Visualise les MVs prédits en avant des trames-P.
-.br
-2: Visualise les MVs prédits en avant des trames-B.
-.br
-4: Visualise les MVs prédits en arrière des trames-B.
-.REss
-.IPs vstats
-Affiche quelques statistiques et les écrits dans ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-Désactive l'affichage de la vidéo par tranches/\:bandes de 16 pixels, affiche
-plutôt la trame entière d'un seul coup.
-Peut être plus rapide ou plus lent, en fonction de la carte/du cache.
-Cette option n'a d'effet que sur les codecs libmpeg2 et libavcodec.
-.
-.TP
-.B \-nosound
-Ne pas jouer/\:encoder le son.
-Utile pour les mesures de performances (benchmarking).
-.
-.TP
-.B \-novideo
-Ne pas jouer/\:encoder la vidéo.
-Dans bien des cas, cela ne fonctionnera pas, utilisez à la place \-vc null
-\-vo null.
-.
-.TP
-.B \-pp <qualité> (voir aussi \-vf pp)
-Initialise le niveau de post-traitement de la DLL.
-Cette option n'est plus utilisable avec \-vf pp.
-Fonctionne uniquement avec les DLLs DirectShow Win32 qui ont des routines
-de post-traitement interne.
-L'intervalle valide de la valeur \-pp pour les filtres de pp varient suivant
-les codecs, il est généralement 0\-6, où 0=désactivé 6=plus lent/\:meilleur.
-.
-.TP
-.B \-pphelp (voir aussi \-vf pp)
-Affiche un aperçu des filtres de post-traitement disponibles et de leur
-utilisation.
-.
-.TP
-.B \-ssf <mode>
-Définit les paramètres de redimensionnement logiciel (scaler).
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-filtre flou gaussien (luma)
-.IPs cgb=<0\-100>
-filtre flou gaussien (chroma)
-.IPs ls=<100\-100>
-filtre netteté (sharpen) (luma)
-.IPs cs=<100\-100>
-filtre netteté (sharpen) (chroma)
-.IPs chs=<h>
-décalage chroma horizontal
-.IPs cvs=<v>
-décalage chroma vertical
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <mode>
-Sélectionne le mode de sortie stéréo MP2/\:MP3.
-.
-.PD 0
-.RSs
-.IPs 0
-stéréo
-.IPs 1
-canal gauche
-.IPs 2
-canal droit
-.RE
-.PD 1
-.
-.TP
-.B \-sws <type de zoom logiciel> (voir aussi \-vf scale et \-zoom)
-Définit l'algorithme du zoom logiciel qui sera utilisé par l'option \-zoom.
-Agit sur les pilotes de sortie vidéo qui ne disposent pas de ce type
-d'accélération logicielle, ex.\& x11.
-.sp 1
-Les types possibles sont\ :
-.sp 1
-.br
-.PD 0
-.RSs
-.IPs 0
-bilinéaire rapide
-.IPs 1
-bilinéaire
-.IPs 2
-bicubique (bonne qualité) (par défaut)
-.IPs 3
-experimental
-.IPs 4
-plus proche voisin (mauvaise qualité)
-.IPs 5
-area
-.IPs 6
-luma bicubique / chroma bilinéaire
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-bicubique spline naturelle
-.RE
-.PD 1
-.sp 1
-.RS
-.I NOTE\ :
-Certaines options de \-sws sont paramétrables.
-Plus d'informations sont disponibles dans la description du filtre scale.
-.
-.TP
-.B \-vc <[\-|+]codec1,[\-|+]codec2,...[,]>
-Définit une liste de priorité des codecs vidéo à utiliser, suivant leur nom
-de codec dans codecs.conf.
-Utilisez un '\-' avant le nom d'un codec pour l'omettre.
-Ajoutez un '+' avant son nom pour le forcer, ce qui va probablement
-planter!
-Si la liste se termine par ',', il se rabattra sur les codecs non-listés.
-.br
-.I NOTE\ :
-Voir \-vc help pour une liste complète des codecs disponibles.
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Force le codec DivX Win32/\:VfW, sans rabattement.
-.IPs "\-vc \-divxds,\-divx,"
-Essaie les autres codecs excepté les codecs DivX Win32.
-.IPs "\-vc ffmpeg12,mpeg12,"
-Essaie le codec MPEG-1/\:2 de libavcodec, puis libmpeg2, puis les autres.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <pilote1,pilote2,...>
-Définit une liste de priorité des familles de codecs vidéo à utiliser,
-d'après leur nom de pilote dans codecs.conf.
-Il se rabat sur celui par défaut si aucun ne convient.
-.br
-.I NOTE\ :
-Voir \-vfm help pour une liste complète des familles de codecs disponibles.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Essaie les codecs libavcodec, puis Directshow, puis VFW et se rabat sur
-les autres, si aucun n'arrive à convenir.
-.IPs "\-vfm xanim"
-Essaie les codecs XAnim en premier.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (voir aussi \-zoom) (MPlayer uniquement)
-Zoome l'image à la largeur <x> (si un zoom logiciel ou matériel est
-disponible).
-Désactive les calculs de rapport hauteur/\:largeur.
-.
-.TP
-.B \-xvidopts <option1:option2:...>
-Définit des paramètres additionnels de décodage avec Xvid.
-.br NOTE\ :
-Étant donné que libavcodec est plus rapide qu'Xvid, peut-être aurez-vous
-besoin d'utiliser les filtres de post-traitement de libavcodec (\-vf pp)
-et le décodeur (\-vfm ffmpeg) à la place.
-.sp 1
-Les filtres de post-traitement d'Xvid\ :
-.PD 0
-.RSs
-.IPs "deblock-chroma (voir aussi \-vf pp)"
-filtre de déblocage chroma
-.IPs "deblock-luma (voir aussi \-vf pp)"
-filtre de déblocage luma (voir aussi \-vf pp)
-.IPs "dering-luma (voir aussi \-vf pp)"
-filtre de deringing luma
-.IPs "dering-chroma (voir aussi \-vf pp)"
-filtre de deringing chroma
-.IPs "filmeffect (voir aussi \-vf noise)"
-Active le filtre d'ajout artificiel de grain d'Xvid.
-Peut accroître la qualité subjective, mais dans l'absolu dégrade l'image.
-.RE
-.sp 1
-.RS
-méthodes de rendu\ :
-.IPs "dr2\ \ "
-Active la méthode 2 de rendu direct.
-.IPs nodr2
-Désactive la méthode 2 de rendu direct.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <valeur> (voir aussi \-zoom)
-.PD 0
-.RSs
-.IPs valeur<=8
-Zoome l'image d'un facteur <valeur>.
-.IPs valeur>8
-Initialiser la largeur à <valeur> et calculer la hauteur pour garder le
-rapport hauteur/\:largeur.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (voir aussi \-zoom) (MPlayer uniquement)
-Zoome l'image à la hauteur <y> (si un zoom logiciel ou matériel est
-disponible).
-Désactive les calculs de rapport hauteur/\:largeur.
-.
-.TP
-.B "\-zoom\ \ "
-Permet le zoom logiciel, si disponible.
-Ceci permettra le redimensionnement avec les pilotes de sortie qui ne le
-gèrent pas matériellement (comme x11, fbdev) pour lesquels MPlayer désactive
-le redimensionnement pour des raisons de performances.
-.
-.
-.SH "FILTRES AUDIO"
-Les filtres audio vous permettent de modifier le flux audio et ses propriétés.
-La syntaxe est\ :
-.
-.TP
-.B \-af <filtre1[=paramètre1:paramètre2:...],filtre2,...>
-Active un liste de filtres audio séparés par une virgule, accompagnés de leurs
-options.
-Voir aussi la section des filtres audio de la documentation.
-.PP
-I NOTE\ :
-Pour obtenir une liste complète des filtres audio disponibles, voir \-af help.
-.sp 1
-Les filtres audios sont gérés en liste.
-Voici quelques commandes pour gérer la liste de filtres.
-.
-.TP
-.B \-af\-add <filtre1[,filtre2,...]>
-Ajoute le filtre donné en argument à la fin de la liste de filtres.
-.
-.TP
-.B \-af\-pre <filtre1[,filtre2,...]>
-Ajoute le filtre donné en argument au début de la liste de filtres.
-.
-.TP
-.B \-af\-del <index1[,index2,...]>
-Supprime le filtre à l'index indiqué.
-Les numéros d'index commencent à 0, les nombres négatifs indiquent la fin
-de la liste (\-1 pour le dernier).
-.
-.TP
-.B \-af\-clr
-Vide complètement la liste de filtres.
-.
-.PP
-Les filtres disponibles sont:
-.
-.TP
-.B resample[=srate[:sloppy][:type]]
-Change la fréquence d'échantillonnage du flux audio.
-Peut être utilisé si vous disposez d'une carte son dont la fréquence
-sonore est fixe ou si vous votre carte ne gère qu'une fréquence maximale
-de 44.1kHz.
-Ce filtre est automatiquement activé si nécessaire.
-Il ne gère en entrée que le format 16-bit entier et flottant en boutisme
-(endianness) natif.
-.br
-.I NOTE\ :
-Avec MEncoder, vous devez aussi utiliser \-srate <srate>.
-.PD 0
-.RSs
-.IPs <srate>
-fréquence d'échantillonnage de sortie en Hz.
-L'intervalle de valeurs valides pour ce paramètre est 8000 jusqu'à 192000.
-Si l'entrée et la sortie ont la même fréquence d'échantillonnage, ou
-si ce paramètre est omis, ce filtre est automatiquement déchargé.
-Une haute fréquence d'échantillonnage améliore généralement la qualité
-sonore, tout particulièrement quand il est utilisé avec d'autres filtres.
-.IPs <sloppy>
-Autorise (1) ou interdit (0) que la fréquence de sortie soit légèrement
-différente de la fréquence donnée par <srate> (par défaut\ : 1).
-Peut être utilisé si le démarrage de la lecture est extrêmement lent.
-.IPs <type>
-Définit la méthode de ré-échantillonnage à utiliser.
-.RSss
-0: interpolation linéaire (rapide, mauvaise qualité tout particulièrement
-en cas de sur-échantillonnage)
-.br
-1: banque de filtres polyphases et traitement en entier
-.br
-2: banque de filtres polyphases et traitement en virgule flottante
-(lent, meilleure qualité)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-Mettrait la fréquence de sortie du filtre resample filter à 44100Hz
-en réalisant une changement de fréquence et une interpolation linéaire.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=srate[:lg[:linéaire[:nb[:freq_coup]]]]]
-Change le taux d'échantillonnage du flux audio en un entier <srate> en Hz.
-Ne gère que le format 16-bit en boutisme (endianness) natif.
-.br
-.I NOTE\ :
-Avec MEncoder, vous devez aussi utiliser \-srate <srate>.
-.PD 0
-.RSs
-.IPs <srate>
-le taux d'échantillonnage de sortie
-.IPs <lg>
-longueur du filtre par rapport au taux d'échantillonnage le plus faible
-(par défaut\ : 16)
-.IPs <linéaire>
-si à 1 alors les filtres seront interpolés linéairement entre les entrées
-polyphase
-.IPs <nb>
-le log2 du nombre d'entrées polyphase
-(..., 10->1024, 11->2048, 12->4096, ...) (par défaut\ : 10->1024)
-.IPs <freq_coup>
-fréquence de coupure (0.0\-1.0) (par défaut\ : initialisé en fonction de la
-longueur du filtre)
-.RE
-.PD 1
-.
-.TP
-.B lavcac3enc[=vers_spdif[:débit[:canal_min]]]
-Code en AC-3 à la volée du son multi-canaux grâce à libavcodec.
-Gère en entrée le format 16-bit native-endian, avec 6 canaux au maximum.
-La sortie est big-endian quand la sortie est un flux AC-3 brut,
-native-endian quand la sortie est S/PDIF.
-Quand le taux d'échantillonnage de l'entrée est 48kHz, 44.1kHz, ou 32kHz,
-le taux est le même en sortie.
-Dans le cas contraire, un filtre de ré-échantillonnage est automatiquent
-rajouté devant ce filtre pour que le taux d'entrée et de sortie soit 48kHz.
-Vous devez spécifier '\-channels N' pour que le décodeur décode le son en N
-canaux, pour que ce filtre puisse alors coder les N canaux en AC-3.
-.br
-.PD 0
-.RSs
-.IPs <vers_spdif>
-Sort au flux AC-3 brut si égal à 0 ou non spécifié, sort
-transit vers S/PDIF quand <vers_spdif> est différent de 0.
-.IPs <débit>
-Le débit de codage du flux AC-3.
-Spécifiez 384 ou 384000 pour obtenir 384kbit/s.
-Valeurs valides\ : 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256,
-320, 384, 448, 512, 576, 640
-Le débit par défaut est fonction du nombre de canaux d'entrée\ :
-1 canal\ : 96, 2 canaux\ : 192, 3 canaux\ : 224, 4 canaux\ : 384,
-5 canaux\ : 448, 6 canaux\ : 448.
-.IPs <canal_min>
-Si le nombre de canaux d'entrée est inférieur à <canal_min>, le filtre se
-détachera (par defaut\ : 5).
-.RE
-.PD 1
-.
-.TP
-.B sweep[=vitesse]
-Produit un balayage sinus, tonalité dont la fréquence augmente avec le
-temps.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-Delat de la fonction sinus, prenez des valeurs très faible pour
-entrendre le balayage.
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=freq:amortissement]
-Enlève un sinosoïde à la fréquence spécifiée.
-Utile pour supprimer le bruit à 50/60Hz que l'on trouve dans les équipements
-audios bon marchés.
-Ceci ne fonctionne probablement qu'avec une entrée mono.
-.PD 0
-.RSs
-.IPs <freq>
-La fréquence (en Hz) de la sinusoïde à enlever (par défaut\ : 50).
-.IPs <amortissement>
-Contrôle l'adaptivité (une plus grande valeur rend le filtre plus rapide à
-réagir à des changements de phase et d'amplitude, une plus petite valueur
-rendra l'adaptation plus lente (par défaut\ : 0.0001).
-Les valeurs utiles sont autour de 0.001.
-.RE
-.PD 1
-.
-.TP
-.B bs2b[=option1:option2]
-Transformation stereophonique vers binaurale en utilisant libbs2b.
-Améliore le confort d'écoute avec un casque audio en le rendant plus
-proche du son sortant d'enceintes, permettant à chaque oreille d'entendre
-les deux canaux audio tout en prenant en compte la différence de distance
-et les effets de masquage.
-Ne fonctionne qu'avec deux canaux audio.
-.PD 0
-.RSs
-.IPs fcut=<300\-1000>
-Défini la fréquence de coupure (en Hz).
-.IPs feed=<10\-150>
-Défini le niveau d'entrée des basses fréquences (en dixième de dB).
-.IPs profile=<valeur>
-Plusieurs profils sont disponibles\ :
-.PD 0
-.RSs
-.IPs default
-réglage par défaut (fcut=700, feed=45);
-.IPs "cmoy\ "
-implémentation du circuit Chu Moy (fcut=700, feed=60);
-.IPs jmeier
-implémentation du circuit Jan Meier (fcut=650, feed=95).
-.RE
-.RE
-.sp 1
-.RS
-Si les options fcut et/ou sont utilisées en même temps qu'un profil, ce sont
-ces options qui ont priorité sur les réglages apporté par le profil.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=drapeau]
-Convertit un son multicanaux vers 2 canaux pour un casque stéréo, tout en
-préservant la spatialité du son.
-.sp 1
-.PD 0
-.RS
-.IPs "Drapeau Signification"
-.IPs "m décodage du canal arrière en matrice"
-.IPs "s décodage de 2 canaux en matrice"
-.IPs "0 pas de décodage en matrice (par défaut)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-Égaliseur graphique à 10 bandes, implémenté en utilisant 10 filtres
-passe-bande IIR.
-Cela signifie qu'il fonctionne quel que soit le type de son joué.
-Les fréquences centrales pour chacune des 10 bandes sont:
-.sp 1
-.PD 0
-.RS
-.IPs "No. fréquence"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-Si la fréquence du son joué est plus basse que la fréquence centrale
-de la bande de fréquence, alors cette bande sera désactivée.
-Un bogue connu de ce filtre est que les caractéristiques de la bande
-la plus haute ne sont pas complètement symétriques si la fréquence
-de l'échantillon est proche de la fréquence centrale de la bande.
-Ce problème peut être contourné en sur-échantillonnant le son en
-utilisant le filtre resample avant qu'il n'atteigne ce filtre.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-nombres à virgule compris représentant le gain en dB de chaque
-bande de fréquence (\-12\-12)
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-Amplifierait le son sur les fréquences les plus hautes et les plus basses tout en les annulant presque complètement autour de 1kHz.
-.RE
-.PD 1
-.
-.TP
-.B channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]
-Peut être utilisé pour ajouter, supprimer, re-router et copier des
-canaux audios.
-Si seulement <nch> est donné, le routage par défaut est utilisé, ça
-fonctionne de la façon suivante\ : Si le nombre de canaux de sortie est
-plus grand que le nombre de canaux d'entrée des canaux vides sont insérés
-(excepté pour le mixage de mono vers stéréo, où le canal audio est répété
-sur chacun des canaux de sortie).
-Si le nombre de canaux de sortie est plus petit que le nombre de canaux
-d'entrée les canaux en trop seront tronqués.
-.PD 0
-.RSs
-.IPs <nch>
-nombre de canaux de sortie (1\-8)
-.IPs "<nr>\ "
-nombre de routes (1\-8)
-.IPs <from1:to1:from2:to2:from3:to3:...>
-Paires de nombres entre 0 and 7 définissant où router chaque canal.
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-Changera le nombre de canaux à 4 et défini 4 routes qui
-échangent le canal 0 et le canal 1 et laisse le canal 2 et 3 intacts.
-Veuillez noter que si un média contenant deux canaux était joué, les
-canaux 2 et 3 contiendraient uniquement du silence, mais 0 et 1 seraient
-quand même échangés.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-Changerait le nombre de canaux à 6 et construit 4 routes copiant
-les canaux 0 vers les canaux 0 et 3
-Les canaux 4 et 5 contiendront du silence.
-.RE
-.PD 1
-.
-.TP
-.B format[=format] (voir aussi \-format)
-Convertit entre différents formats d'échantillons.
-Activé automatiquement lorsque la carte son ou un autre filtre le nécessite.
-.PD 0
-.RSs
-.IPs <format>
-Définit le format souhaité.
-Sa forme générale est 'sbe', où 's' indique le signe (soit 's' pour signé
-ou 'u' pour non signé (unsigned)), 'b' indique le nombre de bits par
-échantillon (16, 24 ou 32), et 'e' indique le boutisme (endianness)
-('le' pour petit-boutiste (little-endian), 'be' pour gros-boutiste
-(big-endian), et 'ne' pour le boutisme de l'ordinateur sur lequel MPlayer
-tourne).
-Des valeurs valides sont (parmi d'autres)\ : 's16le', 'u32be' et 'u24ne'.
-Quelques spécificateurs valides de formats font exception à cette règle: u8,
-s8, floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 et imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]]
-Implémente un contrôleur logiciel de volume.
-Utilisez ce filtre avec précaution car il peut réduire le rapport
-signal sur bruit (et donc la fidélité) du son.
-Dans la plupart des cas il vaut mieux fixer le niveau du son PCM
-au max, laisser ce filtre de côté et contrôler le niveau de sortie
-de vos hauts-parleur avec le contrôleur de volume principal du mixeur.
-Au cas où votre carte son a un mixeur numérique au lieu d'un
-analogique, et que vous entendez un son distordu, utilisez le mixeur
-MASTER à la place.
-Si il y a un amplificateur externe connecté à l'ordinateur (ce qui
-est presque toujours le cas), le niveau de bruit peut être minimisé
-en ajustant le niveau maître et le bouton du volume jusqu'à ce que
-le bruit résiduel soit parti.
-Ce filtre a une seconde fonction\ : Il mesure le niveau maximum du
-son et l'affiche quand MPlayer se termine.
-Cette estimation de volume peut être utilisée pour définir le
-niveau de son dans MEncoder pour que la dynamique maximale soit
-utilisé.
-.br
-.I NOTE\ :
-Ce filtre n'est pas réentrant et ne peux donc être activé qu'une seule
-fois pour chaque flux audio.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-Définit le gain désiré en dB pour tous les canaux du flux,
-de \-200dB à +60dB, où \-200dB coupe le son complètement
-et +40dB équivaut à un gain de 1000 (par défaut\ : 0).
-.IPs "<sc>\ "
-Active (1) ou désactive (0) le l'écrêtage logiciel.
-L'écrêtage logiciel peut rendre le son plus doux si le son filtré
-comporte des sons très forts.
-Activez cette option si la dynamique de vos enceintes est très
-faible.
-.br
-.I ATTENTION\ :
-Cette fonctionnalité peut créer des distortions, et ne devrait
-être utilisée qu'en dernier recours.
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer -af volume=10.1:0 media.avi"
-amplifierait le son de 10.1dB et bloque le volume s'il est
-trop haut.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-Mixe les canaux arbitrairement.
-Il s'agit d'une combinaison du filtre volume et channels pouvant être
-utilisé pour mixer plusieurs canaux dans seulement quelques-uns, par
-ex.\& stéréo vers mono ou varier la "largeur" du haut-parleur central
-d'un équipement "home theater".
-Ce filtre est difficile à utiliser, et vous demandera quelques
-tâtonnements avant d'obtenir le résultat désiré.
-Le nombre d'options de ce filtre dépend du nombre de canaux de sortie.
-Un exemple de mixage de six canaux vers deux à l'aide de ce filtre peut
-être trouvé dans la section des exemples, vers la fin de ce document.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-nombre de canaux de sortie (1\-8)
-.IPs <Lij>
-Combien du canal i est mixé dans le canal de sortie j (0\-1).
-En principe, vous avez un nombre spécifiant ce que faire avec le premier
-canal d'entrée, et un nombre agissant sur le canal d'entrée, etc.
-Si vous ne donnez pas de nombres pour certains des canaux d'entrée, ils
-prennent la valeur 0.
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-Mixe ensemble les canaux stéréo vers mono.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-Donnerait 3 canaux, en laissant là où ils sont les canaux 0 et 1,
-et mixerait les canaux 0 et 1 vers le canal 2 (qui pourrait par
-exemple être envoyé sur un caisson de basse).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-Ajoute au plux audio un canal pour caisson de basse.
-Ce canal sera créé à partir des canaux 0 et 1 en faisant
-la moyenne des deux.
-Le son résultant passe alors par un filtre Butterworth
-passe-bas du 4ième ordre dont la la fréquence de coupure
-par défaut est 60Hz, et ajouté au flux audio dans un canal
-distinct.
-.br
-.I Attention\ :
-Désactivez ce filtre lorsque vous regardez un DVD avec du
-son Dolby Digital 5.1, ou sinon ce filtre perturbera le son
-déjà prévu pour le caisson de basse.
-.PD 0
-.RSs
-.IPs <fc>
-fréquence de coupure en Hz pour le filtre passe-bas (20Hz à 300Hz)
-(par défaut\ : 60Hz).
-Pour un meilleur résultat, essayez de baisser la fréquence de coupure
-aussi bas que possible.
-Cela améliorera l'effet surround ou stéréo.
-.IPs "<ca>\ "
-Définit le numéro de canal vers lequel router le flux du caisson de basse.
-Le numéro de canal doit être compris entre 0 et 7 (par défaut\ : 5).
-Notez que le nombre de canaux sera automatiquement incrémenté jusqu'à <ca>
-si nécessaire.
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 -channels 5 media.avi"
-Ajoutera un canal pour caisson de basse dont la fréquence de
-coupure sera de 100Hz, et sera envoyé vers le canal 4.
-.RE
-.PD 1
-.
-.TP
-.B center[=<ca>]
-Crée un canal central à partir des canaux de devant.
-Peut être de mauvaise qualité puisqu'il n'implémente pas pour le
-moment un filtre passe-haut pour une bonne extraction, mais
-fait une moyenne des canaux et l'atténue de moitié à la place.
-.PD 0
-.RSs
-.IPs <ca>
-Détermine le canal dans lequel insérer le canal central.
-Le numéro de canal peut être un nombre compris entre 0 et 7
-(par défaut\ : 5).
-Notez que le nombre de canaux sera automatiquement augmenté à <ca>
-si nécessaire.
-.RE
-.PD 1
-.
-.TP
-.REss
-.B surround[=retard]
-Décodeur pour le son surround encodé en matrice comme Dolby Surround.
-Beaucoup de fichiers avec deux canaux audio contiennent actuellement
-du son surround en matrice.
-Pour utiliser cette fonction vous avez besoin d'une carte son
-supportant au moins 4 canaux.
-.PD 0
-.RSs
-.IPs <retard>
-retard en ms pour les hauts-parleur arrière (0 à 1000) (par défaut\ : 20)
-Ce décalage devrait être défini ainsi\ : si d1 est la distance entre la
-position d'écoute et les hauts-parleur de devant et d2 la distance entre
-la position d'écoute et les hauts-parleur de derrière, alors le retard
-d peut être fixé à 15ms si d1 si d1 <= d2 et à 15 + 5*(d1-d2) si d1 > d2.
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-Ajouterait un décodage de son surround avec un retard de 15ms pour le son des
-haust-parleur arrière.
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-Retarde l'envoi du son vers les hauts-parleur de façon à faire
-arriver le son dans les différents canaux au même moment à la
-position d'écoute.
-Cela n'est utile que si vous avez plus de 2 hauts-parleur.
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-Le retard en millisecondes devant être imposé à chaque canal
-(nombre flottant entre 0 et 1000).
-.RE
-.PD 1
-.sp 1
-.RS
-Pour calculer le décalage requis pour chaque canal, faites comme ceci:
-.IP 1. 3
-Mesurez la distance en mètre entre les hauts parleur et votre position
-d'écoute, ce qui vous donne les distances s1 à s5 (pour un système 5.1).
-Ce n'est pas la peine de le faire pour le caisson de basses (vous
-n'entendrez pas la différence de toute façon).
-.IP 2. 3
-Soustrayez les distances s1 à s5 à la distance maximum c-à-d.\&
-s[i] = max(s) - s[i]; i = 1...5.
-.IP 3.
-Calculez les décalages requis (en ms) ainsi\ :
-d[i] = 1000*s[i]/342; i = 1...5
-.RE
-.PD 0
-.sp 1
-.RS
-.
-.TP
-.B export[=fichier_mmappé[:nsamples]]
-Exporte le signal entrant vers un autre processus en utilisant le mappage
-mémoire (mmap()).
-Les aires de mémoire mappées contiennent une entête:
-.sp 1
-.nf
-int nch /*nombre de canaux*/
-int size /*taille du tampon*/
-unsigned long long counter /*Utilisé pour garder la synchro, mis à jour
- chaque fois que de nouvelles données son
- exportées.*/
-.fi
-.sp 1
-Le reste est charge utile, constitué de données 16bit (non-entrelacées).
-.PD 0
-.RSs
-.IPs <fichier_mmappé>
-fichier où mapper les données (par défaut\ : ~/.mplayer/\:mplayer-af_export)
-.IPs <nsamples>
-nombre d'échantillons par canal (par défaut\ : 512)
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-Exporterait 1024 échantillons par canal dans '/tmp/mplayer-af_export'.
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-Augmente (linéairement) la différence entre les canaux de gauche et de
-droite ce qui permet d'obtenir un lecture avec un effet 'live'.
-.PD 0
-.RSs
-.IPs <mul>
-Définit le coefficient de différence (par défaut\ : 2.5)
-0.0 donne un son mono (moyenne des deux cannaux), 1.0 done un son
-inchangé, tandis qu'avec \-1.0 les canaux gauche et droit seront
-inversés.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=méthode:cible]
-Maximalise le volume sans introduire de distortions sonores.
-.PD 0
-.RSs
-.IPs <méthode>
-Définit la méthode utilisée.
-.RSss
-1 : Utilise un seul échantillon pour lisser les variations en
-prenant une moyenne pondérée des échantillons précédents
-(par défaut).
-.br
-2 : Utilise plusieurs échantillons pour lisser les variations en
-prenant une moyenne pondérée des échantillons précédents
-.IPs <cible>
-Spécifie l'amplitude cible en tant que fraction du maximum permis
-par le type d'échantillon (par défaut 0.25).
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ladspa=nom_fichier:label[:contrôles...]
-Charge un plugin LADSPA (Linux Audio Developer's Simple Plugin API).
-Ce filtre est réentrant, donc plusieurs instances de plugins LADSPA peuvent
-être utilisés à la fois.
-.PD 0
-.RSs
-.IPs <nom_fichier>
-Définit le fichier de la librairie du plugin LADSPA.
-Si LADSPA_PATH est défini, la recherche se fait dans le répertoire spécifié.
-S'il n'est pas défini, vous devez alors donner le chemin absolu.
-.IPs <label>
-Sélectionne le filtre de la librairie.
-Certaines librairies disposent d'un seul filtre, mais d'autres en contiennent
-plusieurs.
-Entrez 'help' ici pour obtenir une liste des filtres disponibles dans la
-librairie donnée, ce qui élimine d'utilisation de 'listplugins' depuis le
-kit de développement LADSPA.
-.IPs <contrôles>
-Les paramètres contrôles sont aucun ou plus nombres flottants qui
-contrôlent le comportement du plugin chargé (par exemple délais, seuil ou
-amplification).
-En mode bavard (en ajoutant \-v à la ligne de commande de MPlayer), s'affichent
-tous les paramètres de contrôle ainsi que leurs intervalles valides.
-Ceci élimine d'utilisation de 'analyseplugin' depuis le kit de développement
-LADSPA.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-Filtre de compression/expansion utile pour une entrée micro.
-Augmente le volume des sons faibles ou diminue celui des sons forts
-pour éviter des artefacts sonores.
-Ce filtre a été très peu testé, et n'est peut-être même pas
-utilisable.
-.
-.TP
-.B "gate\ \ \ "
-Filtre antiparasite similaire au filtre audio comp.
-Ce filtre a été très peu testé, et n'est peut-être même pas
-utilisable.
-.
-.TP
-.B karaoke
-Filtre simple de suppression de voix exploitant le fait que la voix
-est généralement enregistrée en mono pour être ensuite répartie
-sur les deux canaux dans le flux final.
-Attention, ce filtre transformera votre son en mono.
-Fonctionne mieux avec les sons stéréo; il est vain d'essayer ce
-filtre avec d'autres types de sources.
-.
-.TP
-.B scaletempo[=option1:option2:...]
-Change l'échelle de temps du son sans altérer la hauteur de ton,
-optionnellement synchronisé avec la vitesse de lecture (par défaut).
-.br
-Cela fonctionne en jouant \'stride\' ms de son à vitesse normale
-puis \'stride*scale\' ms de son d'entrée.
-Les échantillons sont ensuite joints en combinant \'overlap\'% de
-stride avec les échantillons du stride précédent.
-Optionnellement, il détermine statistiquement sur les \'search\' ms de son
-à venir la meilleure position d'overlap.
-.PD 0
-.RSs
-.IPs scale=<quantité>
-Change l'échelle temporelle (par défaut\ : 1.0).
-Définissez cette quantité en plus de la vitesse.
-.IPs stride=<quantité>
-Durée en millisecondes de chaque stride de sortie (par défaut\ : 60).
-De valeurs trop grandes produiront des sauts très audibles, et de valeurs
-trop faible un écho.
-De valeurs trop faibles changeront la hauteur de ton.
-Accroître cette valeur augmente la performance.
-.IPs overlap=<pourcent>
-Pourcetage de stride à chevaucher (overlap) (par défaut\ : .20).
-Baisser cette valeur augmente la performance.
-.IPs search=<quantité>>
-Durée en milli-secondes sur laquelle chercher la meilleur position de
-chevauchement (overlap) (par defaut\ : 14).
-Diminuer cette durée améliorera beaucoup la performance.
-Sur les machines lentes, vous devrez probablement beaucoup diminuer cette
-valeur.
-.IPs speed=<tempo|pitch|both|none>
-Défini la réponse à un changement de vitesse.
-.RSss
-.IPs tempo
-Ajuste le tempo pour rester synchronisé (par défaut).
-.IPs pitch
-Inverse l'effet de ce filtre.
-Ajuste le ton sans changer le tempo.
-Ajoutez \'[ speed_mult 0.9438743126816935\' et \'] speed_mult 1.059463094352953\'
-à votre input.conf pour ajuster par demi-ton.
-.I ATTENTION\ :
-Perd la synchronisation avec la vidéo.
-Looses synch with video.
-.IPs both
-Ajuste le tempo et le ton.
-.IPs none
-Ignore les changements de vitesse.
-.RE
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
-Jouera le média à 1.2x la vitesse normale, avec le son à un ton normal.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
-Jouera le média à 1.2x la vitesse normale, avec le son à un ton normal,
-mais changer la vitesse de lecture n'affectera pas le tempo.
-.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
-Ajustera la qualité et les paramètres de performance.
-.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
-Fera scaletempo effectuer les calculs en flottant.
-Peut-être plus rapide sur certaines plateformes.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
-Jouera le média à 1.2x la vitesse normale, avec le son à un ton normal.
-Changer la vitesse de lecture affectera le ton, en laissant le tempo à 1.2x.
-.RE
-.PD 1
-.
-TP
-.B "stats\ \ "
-Collecte et affiche des statistiques à propos des flux audio, le volume en
-particulier.
-Ces statistiques sont voués à être utilisés pour aider l'ajustement du volume
-sans saturation.
-Les volumes sont affichés en dB et sont compatibles avec le filtre audio volume.
-.
-.
-.
-.SH "FILTRES VIDÉO"
-Les filtres vidéo vous permettent de modifier le flux vidéo et ses propriétés.
-La syntaxe est\ :
-.
-.TP
-.B \-vf <filtre1[=paramètre1:paramètre2:...],filtre2,...>
-Initialise une chaine de filtres vidéo.
-.PP
-La plupart des paramètres sont optionnels et s'initialiseront avec des
-valeurs par défaut si omis.
-Pour utiliser explicitement les valeurs par défaut, mettez la valeur à '\-1'.
-Les paramètres l:h signifient largeur x hauteur en pixels, x:y signifient
-position x;y à partir de du coin supérieur gauche de la plus grande image.
-.br
-.I NOTE\ :
-Pour avoir une liste complète des filtres vidéo disponibles, voir \-vf help.
-.sp 1
-Les filtres vidéo sont gérés en liste.
-Voici quelques commandes pour gérer la liste de filtres.
-.
-.TP
-.B \-vf\-add <filtre1[,filtre2,...]>
-Ajoute le filtre donné en argument à la fin de la liste de filtres.
-.
-.TP
-.B \-vf\-pre <filtre1[,filtre2,...]>
-Ajoute le filtre donné en argument au début de la liste de filtres.
-.
-.TP
-.B \-vf\-del <index1[,index2,...]>
-Supprime le filtre à l'index indiqué.
-Les numéros d'index commencent à 0, les nombres négatifs indiquent la fin
-de la liste (\-1 pour le dernier).
-.
-.TP
-.B \-vf\-clr
-Vide complètement la liste de filtres.
-.PP
-Avec les filtres qui le permettent, vous pouvez accéder à leur paramètres via
-noms.
-.
-.TP
-.B \-vf <filtre>=help
-Affiche les noms des paramètres et leur intervalle de valeur pour un filtre
-particulier.
-.
-.TP
-.B \-vf <filtre=param_nommé=val1[:param_nommé2=val2:...]>
-Fait correspondre un paramètre nommé à une valeur donnée.
-Utilisez on et off ou yes et no pour positionner les drapeaux des paramètres.
-.PP
-Les filtres disponibles sont:
-.
-.TP
-.B crop[=l:h:x:y]
-Découpe la partie donnée de l'image et jette le reste.
-Utile pour enlever les bandes noires d'un film en cinémascope.
-.PD 0
-.RSs
-.IPs <l>,<h>
-Largeur et hauteur coupées, par défaut les largeurs et hauteurs originales.
-.IPs <x>,<y>
-Position de l'image coupée, par défaut au centre.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=limite:arrondi]
-Calcule les paramètres nécessaires de découpage et les affiche sur stdout.
-.PD 0
-.RSs
-.IPs <limite>
-Le seuil qui peut éventuellement être défini de rien (0) à tout (255)
-(par défaut\ : 24).
-.br
-.IPs <arrondi>
-Valeur dont la hauteur/\:largeur doit être multiple (par défaut\ : 16).
-L'offset est ajusté automatiquement pour que la vidéo soit au centre.
-Prenez 2 pour avoir des dimensions paires (obligatoire pour les vidéos
-4:2:2).
-16 est recommandé pour encoder avec la plupart des codecs vidéos.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=l:h:x:y]
-Dessine, par-dessus l'image, un rectangle de la largeur et hauteur demandée,
-aux coordonnées données, et affiche les paramètres courants de rectangle sur
-la console.
-Peut être utilisé pour affiner la recherche des paramètre de découpage (cropping)
-optimals.
-Si vous associiez la directive input.conf 'change_rectangle' à une touche, vous
-pourriez alors déplacer et re-dimentionner le rectangle à la volée.
-.PD 0
-.RSs
-.IPs <l>,<h>
-largeur et hauteur (par défaut\ : \-1, largeur maximum où les limites sont
-toujours visibles.)
-.IPs <x>,<y>
-position du coin supérieur gauche (par défaut\ : \-1, le plus haut et le plus
-à gauche)
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-Étend (ne zoome pas) la résolution du film aux valeurs fournies et place
-l'original non redimensionné aux coordonnées x y.
-Peut être utilisé pour placer les sous-titres /\:l'OSD dans les bandes noires.
-.RSs
-.IPs <l>,<h>
-Largeur,hauteur étendues (par défaut\ : largeur, hauteur originales).
-Des valeurs négatives pour l et h sont traitées en tant qu'offset de la taille
-originale.
-.sp 1
-.I EXEMPLE
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-Ajoute un bord de 50 pixels en bas de l'image.
-.RE
-.PD 1
-.IPs <x>,<y>
-position de l'image originale sur l'image étendue (par défaut\ : centrée)
-.IPs "<o>\ \ "
-rendu OSD/\:sous-titres
-.RSss
-0: désactivé (par défaut)
-.br
-1: activé
-.REss
-.IPs "<a>\ \ "
-Étend pour correspondre à un certain ratio d'aspect au lieu d'une
-résolution (par défaut\ : 0).
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-Étend à 800x600, à moins que la source soit d'une résolution supérieure,
-et dans ce cas, l'étend pour correspondre à un aspect 4/3.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Arrondit à l'unité supérieure pour que tant la largeur que la hauteur
-soit divisible par <r> (par défaut\ : 1).
-.RE
-.
-.TP
-.B flip (voir aussi \-flip)
-Inverse l'image de haut en bas.
-.
-.TP
-.B mirror
-Inverse l'image selon l'axe Y, comme dans un miroir.
-.
-.TP
-.B rotate[=<0\-7>]
-Retourne l'image de 90 degrés et éventuellement la retourne.
-Pour les valeurs entre 4\-7 la rotation n'est faite que si la géométrie
-du film est en mode portrait et non en paysage.
-.RSs
-.IPs 0
-Retourne de 90 degrés dans le sens horaire et retourne (par défaut).
-.IPs 1
-Retourne de 90 degrés dans le sens horaire.
-.IPs 2
-Retourne de 90 degrés dans le sens anti-horaire.
-.IPs 3
-Retourne de 90 degrés dans le sens anti-horaire et retourne.
-.RE
-.
-.TP
-.B scale[=l:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
-Redimensionne l'image avec le zoom logiciel (lent) et applique une conversion
-de palette YUV<\->RGB (voir également l'option \-sws).
-.RSs
-.IPs <l>,<h>
-largeur/\:hauteur redimensionnée (par défaut\ : largeur, hauteur originales)
-.br
-.I NOTE:
-Si \-zoom est utilisée, et que les filtres sous-jacents (y compris libvo)
-ne sont pas capables de redimmensionner, alors les valeurs par défaut seront
-d_width/d_height\ !
-.RSss
- 0: largeur/hauteur dimmensionnées à d_width/\:d_height
-.br
-\-1: largeur/hauteur originales
-.br
-\-2: Calcule l/h en utilisant l'autre dimension et le rapport
-hauteur/largeur redimensionné.
-.br
-\-3: Calcule l/h en utilisant l'autre dimension et le rapport
-hauteur/\:largeur original.
-.br
-\-(n+8): Comme \-n ci-dessus, mais en arrondissant les dimensions au plus
-proche multiple de 16.
-.REss
-.IPs <interlaced>
-Active le redimensionnement entrelacé.
-.RSss
-0: désactivé (par défaut)
-.br
-1: activé
-.REss
-.IPs <chr_drop>
-saute le chroma
-.RSss
-0: Utilise toutes les lignes d'entrée disponibles pour le chroma.
-.br
-1: N'utilise qu'une ligne d'entrée sur 2 pour le chroma.
-.br
-2: N'utilise qu'une ligne d'entrée sur 4 pour le chroma.
-.br
-3: N'utilise qu'une ligne d'entrée sur 8 pour le chroma.
-.REss
-.IPs "<par>[:<par2>] (voir aussi \-sws)"
-Définit quelques paramètres dépendants du type de zoom sélectionné
-avec \-sws
-.RSss
-\-sws 2 (bicubique)\ : B (flou) et C (ringing: scintillement)
-.br
-(0.00:0.60) par défaut
-.br
-(0.00:0.75) le "precise bicubic" de VirtualDub
-.br
-(0.00:0.50) spline de Catmull-Rom
-.br
-(0.33:0.33) spline de Mitchell-Netravali
-.br
-(1.00:0.00) spline-B cubique
-.br
-\-sws 7 (gaussien)\ : netteté (0 (doux) \- 100 (dur))
-.br
-\-sws 9 (lanczos)\ : longueur du filtre (1\-10)
-.REss
-IPs <presize>
-Redimensionne à une taille pré-définie.
-Scale to preset sizes.
-.RSss
-qntsc: 352x240 (quart d'écran NTSC)
-.br
-qpal: 352x288 (quart d'écran PAL)
-.br
-ntsc: 720x480 (NTSC standard)
-.br
-pal: 720x576 (PAL standard)
-.br
-sntsc: 640x480 (NTSC à pixels carrés)
-.br
-spal: 768x576 (PAL à pixels carrés)
-.REss
-.IPs <noup>
-Interdit le redimensionnement plus grand que les dimensions originales.
-.RSss
-0: Permet le redimensionnement plus grand (par défaut).
-.br
-1: Interdit le redimensionnement plus grand si une dimension devient plus
-grande que celle d'origine.
-.br
-2: Interdit le redimensionnement plus grand si les deux dimensions deviennent plus grandes que celles d'origine.
-.REss
-.IPs <arnd>
-Arrondi précis pour la mise à l'échelle de l'axe vertical, peut
-être plus rapide ou plus lent que l'arrondi par défaut.
-.RSss
-0: Désactive l'arrondi précis (par défaut).
-.br
-1: Active l'arrondi précis.
-.REss
-.RE
-.
-.TP
-.B dsize[=aspect|l:h:aspect-method:r]
-Change la taille ou le rapport hauteur/\:largeur de l'affichage à un point
-arbitraire de la chaine de fitres.
-"aspect" peut être donné en tant que fraction (4/3) ou que nombre flottant
-(1.33).
-Vous pouvez également spécifier les largeurs et hauteurs exactes de
-l'affichage désiré.
-Notez que ce filtre ne fait
-.B aucun
-redimmensionnement lui-même; il affecte juste ce que feront les prochains
-redimmensionnements (logiciels ou matériels) feront en corrigeant le rapport
-hauteur/largeur.
-.RSs
-.IPs <l>,<h>
-Nouvelles largeur et hauteur d'affichage.
-Peut aussi être ces valeurs spéciales\ :
-.RSss
- 0: largeur et hauteur originales d'affichage
-.br
-\-1: largeur/hauteur originales de la vidéo (par défaut)
-.br
-\-2: Calcule l/h d'après l'autre dimension et le ratio d'aspect
-original d'affichage.
-.br
-\-3: Calculate l/h d'après l'autre dimension et le ratio d'aspect
-original de la vidéo.
-.REss
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IP dsize=800:\-2
-Définit une résolution d'affichage de 800x600 pour une vidéo dont le
-ratio d'aspect est 4/3, ou 800x450 pour une vidéo dont l'aspect ratio
-est 16/9.
-.RE
-.IPs <aspect-method>
-Change la largeur et la hauteur d'après le ratio d'aspect original.
-.RSss
-\-1: Ignore le ratio d'aspect original (par défaut).
-.br
- 0: Garde le ratio d'aspect d'affichage en prenant <l> and <h> comme la
-résolution maximale.
-.br
- 1: Garde le ratio d'aspect d'affichage en prenant <l> and <h> comme la
-résolution minimale.
-.br
- 2: Garde le ratio d'aspect de la vidéo en prenant <l> and <h> comme la
-résolution maximale.
-.br
- 3: Garde le ratio d'aspect de la vidéo en prenant <l> and <h> comme la
-résolution minimale.
-.REss
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-Définit une résolution d'affichage d'au plus 800x600, ou moins, tout en
-gardant le ratio d'aspect.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Arrondit à l'unité supérieure pour que tant la hauteur de la largeur
-soit divisible par <r> (par défaut\ : 1).
-.RE
-.
-.TP
-.B "yuy2\ \ \ "
-Force la conversion logicielle YV12/\:I420/\:422P vers YUY2
-Utile pour les cartes graphiques/\:pilotes qui gèrent YV12 trop lentement mais
-YUY2 rapidement.
-.
-.TP
-.B "yvu9\ \ \ "
-Force la conversion logicielle d'espace de couleur de YVU9 en YV12.
-Utiliser de préférence le zoom logiciel.
-.
-.TP
-.B "yuvcsp\ "
-Calle les valeurs de couleurs YUV sur l'intervalle CCIR 601 sans conversion
-réelle.
-.
-.TP
-.B rgb2bgr[=swap]
-Conversion d'espace de couleur RGB 24/32 <\-> BGR 24/32
-.PD 0
-.RSs
-.IPs swap
-Échange aussi R <\-> B.
-.RE
-.PD 1
-.
-.TP
-.B palette
-Conversion d'espace de couleur RGB/BGR 8 \-> 15/16/\:24/32bpp en
-utilisant palette.
-.
-.TP
-.B format[=fourcc]
-Restreint l'espace de couleur du prochain filtre sans faire de conversion.
-Utilisez-le avec le filtre scale pour faire une véritable conversion.
-.br
-.I NOTE\ :
-Pour avoir une liste des formats disponibles, voir format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-nom de format comme rgb15, bgr24, yv12, etc (par défaut\ : yuy2)
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-Restreint l'espace de couleur au prochain filtre sans faire aucune conversion.
-Contrairement au filtre format, il permet n'importe quel espace de couleur
-.B excepté
-celui que vous donnez.
-.br
-.I NOTE\ :
-Pour une liste des différents formats disponibles, voyez noformat=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-nom du format comme rgb15, bgr24, yv12, etc. (par défaut: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=filtre1[:opt1[:opt2...]]/[\-]filtre2...] (c.f. \-pphelp)
-Construit la chaîne de filtres qui est spécifiée.
-Les sous-filtres doivent être séparés avec '/', peuvent être désactivés
-en les préfixant de '\-'.
-Chaque sous-filtre et quelques options ont une forme longue et une forme
-abréviée équivalente, comme par ex\. dr/dering sont les mêmes options.
-La portée de chaque sous-filtre peut être contrôlée en ajoutant ':' suivi
-de 'a', 'c' ou 'y' (par défaut\ : c)\ :
-.PD 0
-.RSs
-.IPs a/autoq
-Désactive le sous-filtre automatiquement si le micro-processeur est trop lent.
-.IPs c/chrom
-Filtre également la chrominance (par défaut).
-.IPs y/nochrom
-Filtrage de la luminance uniquement (pas de la chrominance).
-.IPs n/noluma
-Filtrage de la chrominance uniquement (pas de la luminance).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I NOTE\ :
-\-pphelp affiche une liste des sous-filtres disponibles.
-.sp 1
-Les sous-filtres disponibles sont
-.RE
-.RSs
-.IPs hb/hdeblock[:différence[:platitude]]
-filtre de déblocage horizontal
-.RSss
-<différence>: Facteur de différence où plus la valeur est grande, plus le
-déblocage est important (par défaut: 32).
-.br
-<platitude>: Seuil de platitude où plus la valeur est petite, plus le
-déblocage est important (par défaut: 39).
-.REss
-.IPs vb/vdeblock[:différence[:platitude]]
-filtre de déblocage vertical
-.RSss
-<différence>: Facteur de différence où plus la valeur est grande, plus le
-déblocage est important (par défaut: 32).
-.br
-<platitude>: Seuil de platitude où plus la valeur est petite, plus le
-déblocage est important (par défaut: 39).
-.REss
-.IPs ha/hadeblock[:différence[:platitude]]
-filtre précis de déblocage horizontal
-.RSss
-<différence>: Facteur de différence où plus la valeur est grande, plus le
-déblocage est important (par défaut: 32).
-.br
-<platitude>: Seuil de platitude où plus la valeur est petite, plus le
-déblocage est important (par défaut: 39).
-.REss
-.IPs va/vadeblock[:différence[:platitude]]
-filtre précis de déblocage vertical
-.RSss
-<différence>: Facteur de différence où plus la valeur est grande, plus le
-déblocage est important (par défaut: 32).
-.br
-<platitude>: Seuil de platitude où plus la valeur est petite, plus le
-déblocage est important (par défaut: 39).
-.REss
-.sp 1
-Les filtres de déblocage horizontal et vertical partagent les mêmes
-valeurs différence et platitude, donc il n'est pas possible de leur
-donner des seuils horizontaux et verticaux différents.
-.sp 1
-.IPs h1/x1hdeblock
-filtre expérimental de déblocage horizontal
-.IPs v1/x1vdeblock
-filtre expérimental de déblocage vertical
-.IPs dr/dering
-filtre de "deringing"
-.IPs tn/tmpnoise[:seuil1[:seuil2[:seuil3]]]
-réducteur de bruit temporel
-.RSss
-<seuil1>: plus grand \-> filtrage plus important
-.br
-<seuil2>: plus grand \-> filtrage plus important
-.br
-<seuil3>: plus grand \-> filtrage plus important
-.REss
-.IPs al/autolevels[:f/fullyrange]
-correction automatique de la luminosité / contraste
-.RSss
-f/fullyrange: Accroît la luminosité jusqu'à (0\-255).
-.REss
-.IPs lb/linblenddeint
-Filtre de désentrelacement à "mélangeage linéaire" (linear blend) filtrant
-le bloc donné en filtrant chaque ligne par un filtre (1 2 1).
-.IPs li/linipoldeint
-Filtre de désentrelacement à interpolation linéaire désentrelaçant le
-bloc donné en réalisant une interpolation linéaire d'une ligne sur deux.
-.IPs ci/cubicipoldeint
-Filtre de désentrelacement à interpolation cubique désentrelaçant le
-bloc donné en réalisant une interpolation cubique d'une ligne sur deux.
-.IPs md/mediandeint
-Filtre de désentrelacement médian désentrelaçant le bloc donné en
-appliquand un filtre médian d'une ligne sur deux.
-.IPs fd/ffmpegdeint
-Filtre de désentrelacement de FFmpeg désentrelaçant le bloc donné en
-filtrant une ligne sur deux avec un filtre (\-1 4 2 4 \-1).
-.IPs l5/lowpass5
-Applique un filtre passe-bas FIR désentrelaçant le bloc donné en
-filtrant toutes les lignes avec un filtre (\-1 2 6 2 \-1).
-.IPs fq/forceQuant[:quantum]
-Outrepasse la table des quantums de la source avec le quantum constant
-que vous donnez.
-.RSss
-<quantum>: le quantum à utiliser
-.REss
-.IPs de/default
-combinaison de filtres de post-traitement (pp) par défaut (hb:a,vb:a,dr:a)
-.IPs fa/fast
-combinaison de filtres pp rapides (h1:a,v1:a,dr:a)
-.IPs ac\ \ \
-combinaison de filtres pp haute qualité (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I EXEMPLE\ :
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-Déblocage horizontal et vertical, "deringing" et luminosité/\:contraste auto
-.IPs "\-vf pp=de/\-al"
-Filtres par défaut sans correction de luminosité/\:contraste
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-Active les filtres par défaut ainsi que le débruiteur temporel.
-.IPs "\-vf pp=hb:y/vb:a"
-Débloque la luminance horizontale uniquement, et active ou désactive
-automatiquement le déblocage vertical suivant la puissance de calcul
-processeur disponible.
-.RE
-.PD 1
-.
-.TP
-.B spp[=qualité[:qp[:mode]]]
-Filtre de post-traitement simple qui compresse et décompresse l'image
-avec différents (ou \- dans le cas du niveau de qualité 6 \- tous)
-décalages et fait la moyenne des résultats.
-
-.RSs
-.IPs <qualité>
-0\-6 (par défaut\ : 3)
-.IPs "<qp>\ "
-Force le paramètre de quantification (par défaut\ : 0, utilise le QP de
-la video).
-.IPs <mode>
-0: fort seuillage (hard thresholding) (par défaut)
-.br
-1: faible seuillage (soft thresholding) (meilleure élimination des parasites,
-mais image plus floue)
-.br
-4: comme 0, mais utilise aussi les QP des trames-B QP (peut provoquer un scintillement)
-.br
-5: comme 1, mais utilise aussi les QP des trames-B QP (peut provoquer un scintillement)
-.RE
-.
-.TP
-.B uspp[=qualité[:qp]]
-Filtre de post-traitement ultra simple & lent qui compresse et décompresse
-l'image avec différents décalages (ou \- dans le cas du niveau de qualité 8
-\- tous) et fait la moyenne des résultats.
-La différence avec spp est que chaque étape d'encodage & décodage est faite
-avec libavcodec Snow, tandis que spp utilise uniquement une DCT 8x8 intra,
-comme MJPEG.
-.RSs
-.IPs <qualité>
-0\-8 (par défaut\ : 3)
-.IPs "<qp>\ "
-Force le paramètre de quantification (par défaut\ : 0, utilise le QP de
-la vidéo).
-.RE
-.
-.TP
-.B fspp[=qualité[:qp[:force[:bframes]]]]
-version plus rapide du filtre de post-traitement simple
-.RSs
-.IPs <qualité>
-4\-5 (équivalent à spp; par défaut\ : 4)
-.IPs "<qp>\ "
-Force les paramètres de quantification (par défaut\ : 0, prend le QP de
-la vidéo).
-IPs <\-15\-32>
-Force du filtrage, de faibles valeurs signifie plus de détails, mais
-aussi plus d'artefacts, tandis que de valeurs plus grandes signifie
-rend l'image plus lisse mais plus floue
-(par défaut\ : 0 \- optimal vis-à-vis du PSNR).
-.IPs <bframes>
-.br
-4: comme 0, mais utilise aussi les QP des trames-B QP (peut provoquer un scintillement)
-.br
-5: comme 1, mais utilise aussi les QP des trames-B QP (peut provoquer un scintillement)
-.RE
-.RE
-.
-.TP
-.B pp7[=qp[:mode]]
-Variante du filtre spp, similaire à pp=6 avec 7 points de DCT
-où uniquement l'échantillon du centre est utilisé après la IDCT.
-.RSs
-.IPs <qp>
-Force le paramètre de quantification (par déaut\ : 0, choisit QP en
-fonction de la vidéo).
-.IPs <mode>
-0: fort seuillage
-.br
-1: faible seuillage (meilleur deringing, mais plus flou)
-.br
-2: seuillage moyen (par défaut, bon résulats)
-.RE
-.
-.TP
-.B qp=equation
-filtre de changement des paramètres de quantification (QP)
-.RSs
-.IPs <equation>
-une équation comme "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B geq=equation
-filtre générique programmable avec une équation
-.RSs
-.IPs <equation>
-Une équation, par ex.\& 'p(W-X\\,Y)' pour retourner l'image horizontalement.
-Vous pouvez introduire des espaces pour rendre l'équation plus lisible.
-Un certain nombre de constantes pré-définies peuvent être utilisées dans
-l'équation\ :
-.RSss
-PI\ : le nombre pi.
-.br
-E\ : le nombre e
-.br
-X / Y\ : les coordonnées de l'échantillon courant
-.br
-W / H\ : la largeur et la hauteur de l'image
-.br
-SW / SH\ : échelle de la largeur/hauteur en fonction du plan filtré, par ex.\&
-1,1 et 0.5,0.5 pour YUV 4:2:0.
-.br
-p(x,y)\ : retourne la valeur du pixel de coordonnées (x,y) du plan courant.
-.REss
-.RE
-.
-.TP
-.B "test\ \ \ "
-Génère divers motifs de test.
-.
-.TP
-.B rgbtest[=largeur:hauteur]
-Génère un motif de test RGB utile pour détecter les problèmes entre RGB BGR.
-Vous devriez voir une frise rouge, verte et bleue du haut vers le bas.
-.RSs
-.IPs <largeur>
-Largeur désirée de l'image générée (par défaut\ : 0).
-0 correspond à la largeur de l'image d'entrée.
-.br
-.IPs <hauteur>
-Hauteur désirée de l'image générée (par défaut\ : 0).
-0 correspond à la hauteur de l'image d'entrée.
-.RE
-.
-.TP
-.B lavc[=qualité:fps]
-Conversion logicielle rapide YV12 vers MPEG-1 avec libavcodec pour utilisation
-avec DVB/\:DXR3/\:IVTV/\:V4L2.
-Plus rapide et de meilleure qualité que \-vf fame.
-.RSs
-.IPs <qualité>
-1\-31: qscale fixe
-.br
-32\-: débit binaire fixe en kbits
-.IPs <fps>
-force le nombre de trames par seconde en sortie (nombre flottant)
-(par défaut\ : 0, autodétection basée sur la hauteur)
-.RE
-.
-.TP
-.B "fame\ \ \ "
-Conversion logicielle rapide YV12 vers MPEG-1 avec libfame pour utilisation avec
-DVB/\:DXR3/\:IVTV.
-.
-.TP
-.B dvbscale[=aspect]
-Fixe le zoom optimum pour les cartes DVB, en redimmensionnant sur l'axe x de
-façon matérielle et en calculant le redimmensionnement sur l'axe y de façon
-logicielle pour conserver le rapport hauteur/\:largeur.
-Utile uniquement quand il est combiné avec expand et scale
-(\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc).
-.RSs
-.IPs <aspect>
-contrôle le rapport hauteur/\:largeur (aspect ratio), calculé comme ceci\ :
-DVB_HAUTEUR*ASPECTRATIO (par défaut\ : 576*4/3=768, fixez-le à
-576*(16/9)=1024 pour une télé 16:9).
-.RE
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-FIXME: Expliquer ce qu'il fait.
-.RE
-.PD 1
-.
-.TP
-.B "noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]"
-Ajoute du bruit.
-.PD 0
-.RSs
-.IPs <0\-100>
-bruit luma
-.IPs <0\-100>
-bruit chroma
-.IPs u
-bruit uniforme (gaussien sinon)
-.IPs t
-bruit temporel (le motif de bruit change entre les trames)
-.IPs a
-bruit temporel moyen (plus lisse, mais beaucoup plus lent)
-.IPs h
-haute qualité (qualité légèrement meilleure, mais légèrement plus lent)
-.IPs p
-mixe du bruit aléatoire avec un motif (semi-)régulier
-.RE
-.PD 1
-.
-.TP
-.B "denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]"
-Ce filtre est destiné à réduire le bruit de l'image pour que les plans fixes
-soient vraiment fixes (cela devrait améliorer la compressibilité.).
-.PD 0
-.RSs
-.IPs <luma_spatial>
-force spatiale du luma (par défaut\ : 4)
-.IPs <chroma_spatial>
-force spatiale du chroma (par défaut\ : 3)
-.IPs <luma_tmp>
-force temporelle du luma (par défaut\ : 6)
-.IPs <chroma_tmp>
-force temporelle du chroma (par défaut\ : luma_tmp*chroma_spatial/luma_spatial)
-.RE
-.PD 1
-.
-.TP
-.B "hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]"
-Version haute précision\/:qualité du filtre denoise3d.
-Les paramètres et le comportement sont les mêmes.
-.
-.TP
-.B ow[=profondeur[:force_luminance[:force_chrominance]]]
-Débruiteur "Overcomplete Wavelet".
-.PD 0
-.RSs
-.IPs <profondeur>
-Une plus grand profondeur débruitera plus les basses fréquences, mais
-ralentira le filtrage (par défaut\ : 8).
-.IPs <force_luminance>
-force luminance (défaut\ : 1.0)
-.IPs <force_chrominance>
-force chrominance (défaut\ : 1.0)
-.RE
-.PD 1
-.
-.TP
-.B eq[=lumi:cont] (OBSOLÈTE)
-Égaliseur logiciel avec contrôles interactifs tout comme les égaliseurs
-matériels, pour les cartes/\:pilotes qui ne permettent pas de contrôler
-la luminosité et le contraste de façon matérielle.
-Peut également être utile avec MEncoder, soit pour réparer des films mal
-capturés, soit pour réduire légèrement le contraste pour masquer des
-artefacts et s'accomoder de débits plus bas.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-luminosité initiale
-initial brightness
-.IPs <\-100\-100>
-contraste initial
-.RE
-.PD 1
-.
-.TP
-.Bs eq2[=gamma:contraste:luminosité:saturation:gr:gv:gb:poids]
-Égaliseur logiciel alternatif qui utilise des tables de lookup (très lent),
-autorisant une correction du gamma en plus d'un simple ajustement de
-luminosité et de contraste.
-Notez que cela utilise le même code MMX optimisé que \-vf eq si toutes les
-valeurs gamma sont 1.0.
-Les paramètres sont donnés en nombres flottants.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-valeur gamma initiale (par défaut\ : 1.0)
-.IPs <\-2\-2>
-contraste initial, où une valeur négative produit une image en négatif
-(par défaut\ : 1.0)
-.IPs <\-1\-1>
-luminosité initiale (par défaut\ : 0.0)
-.IPs <0\-3>
-saturation initiale (par défaut\ : 1.0)
-.IPs <0.1\-10>
-valeur gamma pour la composante rouge (par défaut\ : 1.0)
-.IPs <0.1\-10>
-valeur gamma pour la composante verte (par défaut\ : 1.0)
-.IPs <0.1\-10>
-valeur gamma pour la composante bleue (par défaut\ : 1.0)
-.IPs <0\-1>
-Le paramètre poids peut être utilisé pour réduire l'effet d'un gamma trop
-grand sur les parties claires de l'image, c-à-d.\& les empécher d'être
-sur-amplifiées et de devenir complètement blanches.
-Une valeur de 0.0 désactive complètement la correction gamma tandis que 1.0
-lui laisse toute sa force (par défaut\ : 1.0).
-.RE
-.PD 1
-.
-.TP
-.B hue[=couleur:saturation]
-Égaliseur logiciel à l'ajustement interactif, tout comme les égaliseurs
-matériels, pour les cartes/\:pilotes qui ne gèrent pas le l'ajustement
-de la teinte et de la saturation en matériel.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-teinte initiale (par défaut\ : 0.0)
-.IPs <\-100\-100>
-saturation initiale, où une valeur négative produit une image en négatif
-(par défaut\ : 1.0)
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-Convertit le YUV 4:2:0 planaire en 4:2:2 demi-hauteur, en sous-échantillonnant
-le luma mais en gardant les échantillons chroma.
-Utile quand la sortie est un périphérique à basse résolution et dont
-les fonctions matérielles de mise à l'échelle sont de mauvaise qualité ou
-n'existent pas.
-Peut également être utilisé comme désentrelaceur primitif pour luma
-uniquement avec une très faible utilisation du processeur.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-Par défaut, halfpack fait une moyenne des lignes deux à deux pour
-sous-échantillonner.
-Tout valeur de f différente de 0 ou 1 renvoie au comportement par défaut
-(moyenne).
-.RSss
-0: Utilise seulement les lignes paires lors du sous-échantillonnage.
-.br
-1: Utilise seulement les lignes impaires lors du sous-échantillonnage.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=mode]
-Quand une vidéo entrelacée est stockée au format YUV 4:2:0, l'entrelacement
-chroma est mal aligné, ce qui est dû au sous-échantillonnage vertical des
-canaux chroma.
-Ce filtre convertit les données 4:2:0 planaires au format YUY2 (4:2:2)
-avec les lignes chroma à leur bon emplacement, de façon à ce que à chaque
-ligne de balayage (scanline), les données luma et chroma proviennent toutes
-deux du même champ.
-.PD 0
-.RSs
-.IPs <mode>
-Sélectionne le mode d'échantillons.
-.RSss
-0: échantillonnage du 'plus proche voisin' (nearest-neighbor),
-rapide mais incorrect
-.br
-1: interpolation linéaire (par défaut)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-Utile uniquement avec MEncoder.
-Si harddup est utilisé lors de l'encodage, les trames dupliquées seront
-aussi présentes en sortie.
-Cela nécessite un peu plus de place, mais est indispensable pour les
-fichiers de sortie MPEG ou si vous comptez démultiplexer et multiplexer
-le flux vidéo après l'encodage.
-Devrait être mis à la fin (ou presque) de la chaîne de filtres, à moins
-que vous ayez une bonne raison de faire autrement.
-.
-.TP
-.B softskip
-Utile uniquement avec MEncoder.
-Softskip change le moment du "skipping" (saut) de trame lors de l'encodage,
-qui se fait normalement avant la chaîne de filtres, pour qu'elle se fasse à
-l'intérieur de celle-ci.
-Cela permet aux filtres qui ont besoin de voir toutes les trames
-(téléciné inverse, débruitage temporel, etc.\&) pour fonctionner
-correctement.
-Il devrait être placé après les filtres qui ont besoin de voir toutes
-les trames et avant tout filtre gourmand en temps de calcul.
-.
-.TP
-.B decimate[=max:haut:bas:frac]
-Saute les trames qui ne différent pas beaucoup de la trame précédente de
-façon à réduire le débit.
-L'usage de ce filtre est destiné aux encodages à très bas débit (par ex.\&
-une transmission sur ligne RTC), mais peut être en théorie utilisé pour
-corriger des films dont l'inverse-teleciné aurait été mal fait.
-.PD 0
-.RSs
-.IPs <max>
-Définit le nombre maximum de trames consécutives qui peuvent être sautées
-(si positif), ou l'interval minimum entre les trames sautées (si négatif).
-.IPs <haut>,<bas>,<frac>
-Une trame peut être sautée si aucun bloc 8x8 ne différe de plus que
-la limite <haut>, et si pas plus de <frac> portions (1 signifiant l'image
-entière) ne diffèrent de plus que la limite <bas>.
-Les valeurs de <haut> et <bas> sont pour des blocs de 8x8 pixels et
-représentent les différences effectives de pixels, donc une limite de 64
-corespond à 1'unité de différence pour chaque pixel, ou la même chose
-répartie différemment sur le bloc.
-.RE
-.PD 1
-.
-.TP
-.B dint[=sens:niveau]
-Le filtre désentrelace-et-saute détecte et saute la première trame d'un
-groupe de trames entrelacées.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-différence relative entre les pixels voisins (par défaut\ : 0.1)
-.IPs <0.0\-1.0>
-Quelle partie de l'image qui devra être détectée comme entrelacée pour
-sauter la trame (par défaut\ : 0.15).
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (OBSOLÈTE)
-filtre de désentrelacement de FFmpeg, identique à \-vf pp=fd
-.
-.TP
-.B kerndeint[=seuil[:carte[:ordre[:netteté[:deuxsens]]]]]
-désentrelaceur noyau adaptatif de Donald Graft.
-Désentrelace des parties de la vidéo si un seuil configurable est dépassé.
-.PD 0
-.RSs
-.IPs <0\-255>
-Seuil (par défaut\ : 10).
-.IPs <carte>
-.RSss
-0: Ignore les pixels dépassant le seuil (par défaut).
-.br
-1: Peint en blanc les pixels dépassant le seuil.
-.REss
-.IPs <ordre>
-0: Ne touche pas aux champs (par défaut).
-.br
-1: Échange les champs.
-.REss
-.IPs <netteté>
-.RSss
-0: Désactive l'amélioration de la netteté (sharpening) (par défaut).
-.br
-1: Améliore davantage la netteté.
-.REss
-.IPs <deuxsens>
-.RSss
-0: Désactive l'augmentation de la netteté (sharpening) dans les deux sens
-(par défaut).
-.br
-1: Active l'augmentation de la netteté dans les deux sens.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cLxH:quantité[:l|cLxH:quantité]]
-masque unsharp / flou gaussien
-.RSs
-.IPs l\ \ \ \
-Applique l'effet sur le composant luma
-.IPs "c\ \ \ \ "
-Applique l'effet sur les composants chroma
-.IPs <largeur>x<hauteur>
-largeur et hauteur de la matrice, dont les deux dimensions sont impaires
-(min = 3x3, max = 13x11 ou 11x13, généralement quelque chose entre 3x3 et 7x7)
-.IPs quantité
-taux relatif de dureté / flou à ajouter à l'image
-(généralement quelque chose entre \-1.5 et 1.5)
-.RSss
-<0: flou
-.br
->0: netteté
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-Echange les plans U & V.
-.
-.TP
-.B il[=[d|i][s][:[d|i][s]]]
-(Dés)entrelace les lignes.
-Le but de ce filtre est d'ajouter la possibilité de traiter le pré-champ
-d'images entrelacées sans les désentrelacer.
-Vous pouvez filtrer votre DVD entrelacé et le jouer sur la TV sans casser
-l'entrelacement.
-Pendant que le désentrelacement (avec le filtre de post-traitement)
-supprime le désentrelacement de façon permanente (en lissant
-la moyenne etc), le démultiplexage sépare la trame en 2 champs (appelé
-demi-images), de façon à ce que vous puissiez les traiter (filtrer)
-indépendemment et les re-multiplexer.
-.PD 0
-.RSs
-.IPs d
-démultiplexe (en plaçant l'une au dessus de l'autre)
-.IPs i
-multiplexe
-.IPs s
-échange les champs (échange les lignes paires & impaires)
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-(dé)multiplexe les lignes.
-Ce filtre est très proche du filtre"il" mais bien plus rapide, son principal
-inconvénient est qu'il ne fonctionne pas toujours.
-Surtout s'il est combiné avec d'autres filtres, il peut produire des images
-corrompues aléatoirement, donc soyez heureux si il fonctionne mais ne vous
-plaignez pas si il ne fonctionne pas avec votre combinaison de filtres.
-.PD 0
-.RSs
-.IPs d
-Démultiplexe les champs, les plaçant cote-à-cote.
-.IPs i
-Re-multiplexe les champs (inversant l'effet de fil=d).
-.RE
-.PD 1
-.
-.TP
-.B "field[=n]"
-Extrait un seul champ d'une image entrelacée en utilisant des astuces de
-calculs pour éviter de gaspiller le temps CPU.
-L'argument optionnel n spécifie si l'on doit extraire un champ pair ou
-impair (selon que n soit paire ou impaire).
-.
-.TP
-.B "detc[=var1=valeur1:var2=valeur2:...]"
-Essaie d'inverser le processus de "telecine" pour retrouver un flux propre et
-non-entralaçé au bon débit de trame du film.
-Ce filtre "inverse telecine" a été le premier à être inclus dans
-MPlayer/\:MEncoder et c'est aussi le plus primitif.
-Il fonctionne en basculant vers le motif telecine 3:2 et en le suivant aussi
-longtemps que possible.
-Il peut être utilisé uniquement avec des films qui auraient été parfaitement
-"televined", avec une faible présence de bruit.
-Ce filtre n'est plus maintenu puisque les filtres ivtc, pullup et filmdint
-remplissent mieux ce rôle.
-Les arguments suivants (voir leur syntaxe plus haut) peuvent être utilisés
-pour contrôler son comportement:
-.RSs
-.IPs "<dr>\ "
-Définit le mode de saut de trames.
-.RSss
-0: Ne pas sauter de trames pour maintenir le débit de trame de sortie
-(par défaut).
-.br
-1: Toujours sauter une trame si il n'y a pas eu de sauts ou d'assemblage
-téléciné parmi les 5 dernières trames.
-.br
-2: Toujours maintenir le rapport exact 5:4 entre les trames d'entrée et de
-sortie.
-.br
-.I NOTE\ :
-Utilisez le mode 1 avec MEncoder.
-.REss
-.IPs "<am>\ "
-Type d'analyse.
-Les valeurs disponibles sont 0 (motif fixé avec numéro de trame initiale
-définit par fr=#) et 1 (recherche agressive du motif telecine).
-La valeur par défaut est 1.
-.IPs "<fr>\ "
-Définit le numéro de trame initiale de la séquence.
-0\-2 sont les trois trames progressives propres; 3 et 4 sont les deux trames
-entrelaçées.
-La valeur par défaut, \-1, signifie "pas dans la séquence telecine".
-Le nombre spécifié ici est le type de la précédente trame imaginaire avant le
-début du film.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-Valeurs seuils à utiliser dans certains types.
-.RE
-.
-.TP
-.B ivtc[=1]
-filtre expérimental d'inversement téléciné "sans état".
-Plutôt que d'essayer de se bloquer sur un motif comme le fait le filtre detc,
-ivtc prend ses décisions indépendemment pour chaque trame.
-Cela donne de bien meilleurs résultats pour une vidéo ayant subi d'importantes
-modifications/\:éditions après que telecine ait été appliqué, mais par contre
-il n'est pas aussi tolérant aux entrées avec beaucoup de bruit, comme par
-exemple la capture TV.
-Le paramètre optionnel (itvc=1) correspond à l'option dr=1 du filtre detc,
-et devrait être utilisé avec MEncoder mais pas avec MPlayer.
-Comme pour detc, vous devez définir le débit de trame de sortie correct
-(\-ofps 24000/1001) en utilisant MEncoder.
-.
-.TP
-.B pullup[=jg:jd:jh:jb:cs:mp]
-Filtre d'inversion de pulldown (telecine inversé) de troisième génération,
-capable de gérer une vidéo composée de hard-telecine, 24000/1001 fps
-progressif, et 30 fps progressif.
-Le filtre pullup est conçu pour être plus robuste que detc ou ivtc, en se
-basant sur le contexte futur pour prendre ses décisions.
-Tout comme ivtc, pullup est sans état, dans le sens où il ne reste pas
-dans un seul mode, mais observe plutôt les champs à venir pour
-sélectionner le bon mode et reconstuire correctement les trames.
-Il est toujours en développement, mais est déjà très correct.
-.RSs
-.IPs "jg, jd, jh et jb"
-Ces paramètres définissent la quantité d'informations "parasites" à
-éliminer respectivement à gauche, à droite, en haut et en bas de l'image.
-Gauche/\:droite sont donnés par colonnes de 8 pixels, tandis que le haut/\:bas
-sont donnés par paquet de 2 lignes.
-.br
-.IPs "cs (changement strict)"
-Mettre ce paramètre à 1 réduira les chances que pullup
-reconstruise incorrectement une trame, mais peut aussi déboucher sur un saut
-trop important de trames lors de scènes avec beaucoup de mouvements.
-Réciproquement, le mettre à \-1 fera que le pullup aura plus de facilité
-à identifier les champs.
-Cela devrait aider au traitement de vidéos comportant un léger flou
-entre les champs, mais peut aussi faire que des trames entrelacées seront
-encore présentes en sortie.
-.br
-.IPs "mp (metric plane)"
-Cette option peut être définie à 1 ou 2 pour que le chroma
-soit utilisé au lieu du luma pour les calculs de pullup.
-Cela devrait améliorer la finesse de l'image sur des vidéos de très bonne
-qualité, mais a plus de chance de la diminuer, surtout si le chroma
-est bruité (effet arc-en-ciel) ou que la vidéo est noir et blanc.
-L'intérêt d'agir sur mp pour que les calculs se fassent sur le chroma
-et de réduire l'utilisation du processeur pour que le pullup puisse se
-faire en temps réel sur une machine peu rapide.
-.REss
-.RS
-.sp 1
-.I NOTE\ :
-Faites toujours suivre pullup du filtre logiciel softskip lors d'un encodage
-pour s'assurer que pullup soit capable de voir toutes les trames.
-Sinon, le flux de sortie sera incorrect ou même plantera, pour des raisons
-de limitations de design de la couche codec/\:filtre.
-.REss
-.
-.TP
-.B filmdint[=options]
-Filtre telecine inversé, similaire au filtre pullup ci-dessus.
-Il est conçu pour gérer n'importe quel motif pulldown (même le telecine soft
-et hard mélangés) et gère de façon limitée les films qui sont ralentis ou
-accélérés pour la TV.
-Seul le plan luma est utilisé pour détecter les changements de trames.
-Si un champ n'a pas de corespondance, il est désentrelacé par simple
-approximation linéaire.
-Si la source est en MPEG-2, il doit être le premier filtre à avoir accès
-aux "field-flags" initialisés par l'encodeur MPEG-2.
-Suivant la source MPEG, il est inutile de tenir compte de ce conseil, tant
-que vous ne voyez pas une multitude d'avertissements "Bottom-first field".
-Sans options il fait un telecine inverse normal, et devrait être utilisé avec
-mencoder \-fps 30000/1001 \-ofps 24000/1001.
-Quand ce filtre est utilisé avec MPlayer, cela produira un débit impair
-pendant la lecture, mais il sera généralement meilleur qu'en utilisant
-pp=lb ou pas de désentrelacement du tout.
-Les options multiples doivent être séparées par /.
-.RSs
-.IPs crop=<l>:<h>:<x>:<y>
-Exactement comme le filtre crop, mais plus rapide, et fonctionne également
-avec des films teleciné hard et soft mélangés, du moment que y soit un
-multiple de 4.
-Si x ou y nécessitaient de couper des fractions de pixels du plan chroma,
-l'aire coupée serait étendue.
-Ceci signifie généralement que x et y doivent être pairs.
-.IPs io=<ifps>:<ofps>
-Pour chaque ifps trames d'entrées le filtre sortira ofps trames.
-Le rapport ifps/\:ofps devrait correspondre au rapport \-fps/\-ofps.
-Ceci peut être utilisé pour filtrer des films qui sont diffusés à la TV à
-un débit différent de celui d'origine.
-.IPs luma_only=<n>
-Si n est non-nul, le plan chroma est copié tel quel.
-C'est utile pour la TV échantillonnée en YV12, qui annule un des champ chroma.
-.IPs mmx2=<n>
-Sur x86, si n=1, utilise les fonctions optimisées pour MMX2, si n=2, utilise
-les fonctions optimisées pour 3DNow!, sinon, utilise juste du C.
-Si cette option n'est pas précisée, MMX2 et 3DNow! sont détectés
-automatiquement, utilisez cette option pour outrepasser la détection
-automatique.
-.IPs fast=<n>
-Une valeur de n plus grande accélère le filtre au détriment de l'exactitude.
-La valeur par défaut est n=3.
-Si n est impair, une trame suivant immédiatement une trame marquée par le flag
-mpeg REPEAT_FIRST_FIELD est supposée progressive, ainsi le filtre ne passera
-son temps que sur la vidéo MPEG-2 soft-telecine.
-C'est le seul effet de ce flag si MMX2 ou 3DNow! est disponible.
-Sans MMX2 et 3DNow, si n=0 ou 1, les mêmes calculs seront faits comme pour
-MMX2.
-Si n=2 ou 3, le nombre de niveaux luma utilisé pour trouver les changements de
-trame est réduit de 256 à 128, ce qui donne un filtre plus rapide sans perdre
-trop d'exactitude.
-Si n=4 ou 5, des métriques plus rapides, mais bien moins exactes sont
-utilisés pour trouver les changements de trames, mais risque de prendre les
-détails verticaux pour une vidéo entrelacé.
-.IPs verbose=<n>
-Si n est non-nul, affiche les métriques détaillés pour chaque trame.
-Utile pour débogage.
-.IPs dint_thres=<n>
-Seuil de désentrelacement.
-Utilisé pour désentrelacer les trames sans correspondance.
-Une valeur plus grande signifie moins de désentrelacement, utilisez n=256
-pour désactiver complètement le désentrelacement (par défaut\ : 8).
-.IPs comb_thres=<n>
-Seuil pour comparer les champs haut et bas (par défaut\ : 128).
-.IPs diff_thres=<n>
-Seuil pour détecter les changements temporels d'un champ (par défaut\ : 128).
-.IPs sad_thres=<n>
-Seuil de la Somme des Différences Absolues (par défaut\ : 64).
-.RE
-.
-.TP
-.B softpulldown
-Ce filtre ne fonctionne qu'avec MEncoder et agit sur les flags MPEG-2 utilisés
-pour le pulldown soft 3:2 (soft telecine).
-Si vous voulez utiliser les filtres ivtc ou detc sur des films qui sont
-soft téléciné, insérer ce filtre avant eux devrait les rendre plus efficaces.
-.
-.TP
-.B divtc[=options]
-Inverse telecine pour les vidéos désentrelacées.
-Si une vidéo 3:2-pulldown telecine a perdu l'un de ses champs ou a été
-désentrelacé avec une méthode qui garde un champ et interpole l'autre,
-la vidéo se retrouve saccadée dont une trame sur quatre est dupliquée.
-Ce filtre a pour but de trouver et jeter ces trames dupliquées pour
-retrouver le débit de trame (framerate) original.
-Lorsque vous utilisez ce filtre, vous devez définir \-ofps
-à 4/5 du débit de trame du fichier d'entrée et ajouter
-softskip après dans la chaîne de filtrage pour être sûr
-que divtc voit bien toutes les trames.
-Deux modes sont possibles\ :
-Le mode une passe, qui est celui par défaut et dont
-l'usage est évident, mais a le désavantage que tout
-changement dans la phase télécinée (trame manquante
-ou mauvais générique de fin) cause des erreurs
-temporaires d'affichage jusqu'à ce que le filtre se
-re-synchronise.
-Le mode deux passes permet d'éviter ça en analysant
-tout d'abord toute la vidéo pour connaître les
-changements de phase et ainsi toujours conserver la
-synchronisation.
-Ces passes ne correspondent
-.B pas
-aux deux passes du processus d'encodage.
-Vous devez lancer une passe préliminaire suplémentaire
-pour faire la première passe divtc avant de commencer
-à encoder, en jettant la vidéo résultante .
-Utilisez les options \-nosound \-ovc raw \-o /dev/null
-pour ne pas gâcher inutilement du temps processeur pour
-cette passe.
-Vous pouvez aussi ajouter quelque chose comme
-crop=2:2:0:0 après divtc pour accélérer encore le
-processus.
-Utilisez ensuite la passe deux divtc pour l'encodage
-proprement dit.
-Si vous faites plusieurs passes d'encodage, utilisez la
-la passe deux divtc pour chacune d'entre elles.
-Les options sont\ :
-.RSs
-.IPs pass=1|2
-Utilise le mode deux passes.
-.IPs file=<nom_fichier>
-Définit le nom du fichier journal (par défaut\ : "framediff.log").
-.IPs threshold=<valeur>
-Défini la force minimum que le motif telecine doit avoir pour que le filtre
-le voit (par défaut\ : 0.5).
-Ceci est utilisé pour éviter de reconnaître des motifs erronés lors des
-moments vraiment sombres ou statiques.
-.IPs window=<nombre_trames>
-Définit le nombre de trames précédents à considérer lors que la recherche
-de motif (par défaut\ : 30).
-Une fenêtre (window) plus grande améliore la fiabilité de la recherche de
-motif, mais une fenêtre plus étroite améliore le temps de réaction aux
-changements dans la phase telecine.
-Cela n'affecte que le mode à passe unique.
-Le mode 2-passes considère une fenêtre fixe de trames futures et passées.
-.IPs phase=0|1|2|3|4
-Définit la phase initiale telecine pour le mode à passe unique
-(par défaut\ : 0).
-Le mode 2-passes peut voir le futur, il est donc possible d'utiliser la
-bonne phase depuis le début, tandis que le mode à passe unique ne peut que
-deviner.
-Il se met à utiliser la phase adéquate dès qu'il trouve cette information,
-mais cette option peut vous aider à vous débarasser des saccades du début.
-La première passe du mode 2-passes utilise aussi cette option, donc si
-vous enregistrez la sortie de la première passe, vous aurez un fichier où
-la phase est constante.
-.IPs deghost=<valeur>
-Définit le seuil "deghosting" (0\-255 pour le mode à passe unique,
-\-255\-255 pour celui 2-passes, par défaut 0).
-Si non-nul, le mode deghosting est utilisé.
-Ceci est destiné aux vidéos ayant été désentrelacées en fusionnant les champs
-ensemble au lieu d'en jeter un.
-Le deghosting amplifie les artefacts de compression des champs fusionnés,
-et la valeur du paramètre est celle du seuil pour exclure les pixels
-du filtre deghosting s'il diffère moins que ce seuil de la trame
-précédente.
-En mode 2-passes, une valeur négative peut être donnée pour que le filtre
-analyse la totalité de la vidéo au début de la 2ème passe pour déterminer
-si un deghosting est nécessaire, et prendra alors pour paramètre zéro où
-la valeur absolue du paramètre négatif.
-Définissez cette option pour la 2ème passe, elle ne change rien à la 1ere
-passe.
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-.I NOTE\ :
-Si vous avez des connaissances audiovisuelles, veuillez indiquez au traducteur
-si cette option \-très technique\- est correctement décrite, en vous aidant de
-sa version anglaise.
-.br
-Retarde la vidéo entrelacée du temps d'un champ pour changer l'ordre des
-champs.
-Le but est de pouvoir réparer des films PAL avant été mal capturés avec
-un ordre de champ inversé vers le transfert film-vers-vidéo.
-Les options sont\ :
-.RSs
-.IPs t
-Capture l'ordre des champs en commençant par le haut, transfert depuis le bas.
-Le filtre retardera les champs du bas.
-.IPs b
-Capture en commençant du bas, transfert depuis le haut.
-Le filtre retardera les champs du haut.
-.IPs p
-La capture et le transfert se refont avec le même ordre de champs.
-Ce mode n'existe que comme référence pour la documentation des autres options,
-mais si vous le sélectionnez effectivement, ce filtre ne fera tout simplement
-rien ;-)
-.IPs a
-Capture l'ordre des champs déterminés automatiquement par les "field flags",
-le transfert à l'opposé.
-Le filtre choisit entre les modes t et b à chaque trame d'après les
-"field flags".
-S'il n'existe aucune information sur les champs, alors cette fonction se
-comporte comme u.
-.IPs u
-Capture inconnue ou variée, transfert à l'opposé.
-Le filtre choisit entre les modes t et b à chaque trame en analysant les
-images et sélectionnant le mode qui produit la correspondance la plus
-proche entre les champs.
-.IPs T
-Capture depuis le haut, transfert inconnu ou varié.
-Le filtre choisit entre les modes t et p en analysant l'image.
-.IPs B
-Capture depuis le bas, transfert inconnu ou varié.
-Le filtre choisit entre les modes b et p en analysant l'image.
-.IPs A
-Capture en fonction des "field flags", transfert inconnu ou varié (par défaut).
-Si aucune information sur les champs n'est disponible, fonctionne tout
-comme U.
-.IPs U
-Capture autant que transfert inconnu ou varié.
-Le filtre choisit entre les modes t, b et p en analysant l'image.
-.IPs v
-opération bavarde (verbose)
-Affiche le mode sélectionné pour chaque trame et la moyenne de la différence
-au carré des champs pour les modes t, b, and p.
-.RE
-.
-.TP
-.B "telecine[=départ]"
-Applique un processus telecine 3:2 "telecine" pour augmenter le débit de 20%.
-Cela ne fonctionnera surement pas correctement avec MPlayer, mais peut être
-utilisé avec 'mencoder \-fps 30000/1001 \-ofps 30000/1001 \-vf telecine'.
-Les deux options fps sont essentielles !
-(la synchro A/V sera brisée si elles sont mauvaises.)
-Le paramètre optionnel départ indique où démarrer (0\-3).
-.
-.TP
-.B "tinterlace[=mode]"
-Entrelacement temporel de champs \- réunis des paires de trames dans une trame
-entrelacée, divisant le débit par deux.
-Les trames paires sont déplacées dans le champ supérieur, les trames impaires
-le sont dans le champ inférieur.
-Ceci peut être utilisé pour inverser complètement l'effet du filtre tfields
-(en mode 0).
-Les modes disponibles sont:
-.PD 0
-.RSs
-.IPs 0
-Déplace les trames impaires dans le champ supérieur, les paires dans
-l'inférieur, pour générer une trame complète à un débit moitié moindre
-.IPs 1
-Afficher uniquement les trames impaires, les trames paires sont sautées, la
-taille est inchangée.
-.IPs 2
-Afficher uniquement les trames paires, les trames paires sont sautées, la
-taille est inchangée.
-.IPs 3
-Étend chaque trame en pleine résolution, mais remplit une ligne sur deux
-en noir, le débit est inchangé.
-.IPs 4
-Entrelace les lignes paires a en utilisant des trames paires, et les lignes
-impaires avec d'après les trames impaires.
-La hauteur est inchangée et le débit d'image réduit de moitié.
-.RE
-.PD 1
-.
-.TP
-.B "tfields[=mode:[dominance de champs]]"
-Séparation temporelle des champs \- sépare les champs en trames, doublant le
-débit de sortie.
-Comme le filtre telecine, "tfields" ne fonctionnera correctement qu'avec
-MEncoder, et seulement si \-fps et \-ofps sont définis au débit (double) désiré!
-.PD 0
-.RSs
-.IPs <mode>
-0: Laisse les champs inchangés. (Cela va sauter/\:scintiller.)
-.br
-1: Interpole les lignes manquantes. (L'algorithme utilisé peut ne pas être si
-bon.)
-.br
-2: Fait une translation de champs de 1/\:4 pixel avec interpolation linéaire
-(pas de saut).
-.br
-4: Fait une translation de champs de 1/\:4 pixel avec le filtre 4tap (meilleure
-qualité) (par défaut).
-.
-.IPs <dominance de champs> (DEPRECATED/À ÉVITER)
-\-1: auto (par défaut)
-Ne fonctionne que si le décodeur exporte les informations nécessaires
-et que les filtres de la chaîne de filtres appliqués avant tfields
-ne supriment pas cette information, sinon on commence par défaut
-par le champ du haut.
-.br
-0: champ du haut d'abord
-.br
-1: champ du bas d'abord
-.br
-.I NOTE\ :
-Cette option sera probablement elevée dans une version ultérieure.
-Utilisez \-field\-dominance à la place.
-.RE
-.PD 1
-.
-.TP
-.B yadif=[mode[:dominance_de_champ]]
-"Yet another deinterlacing filter" (encore un autre filtre de désentrelacement).
-.PD 0
-.RSs
-.IPs <mode>
-0: sort une trame pour chaque trame d'entrée
-1: sort une trame pour chaque champ d'entrée
-2: comme 0 mais ne vérifie pas l'entrelacement spatial
-3: comme 3 mais ne vérifie pas l'entrelacement spatial
-.IPs <dominance de champ> (DEPRECATED/À ÉVITER)
-cf tfields
-.br
-.I NOTE\ :
-Cette option sera probablement elevée dans une version ultérieure.
-Utilisez \-field\-dominance à la place.
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[mode[:parité[:qp]]]
-Dés-entrelaceur à compensation de mouvement.
-Doit être avoir en entrée un champ par trame, c'est pourquoi il doit être
-utilisé avec tfields=1 our yadif=1 ou 3 ou équivalent.
-.PD 0
-.RSs
-.IPs <mode>
-0: rapide
-.br
-1: medium
-.br
-2: lent, réalise une estimation de mouvement itérative
-.br
-3: encore plus lent, utilise plusieurs trames de références
-.IPs <parité>
-0 ou 1 en fonction du champ à utiliser (note\ : pas d'auto-détection
-pour le moment)
-.IPs "<qp>\ "
-Des valeurs plus grandes devraient produire pour le champ des vecteurs de
-mouvement plus doux, mais des vecteurs moins optimals individuellement.
-.RE
-.PD 1
-.
-.TP
-.B "boxblur=rayon:puissance[:rayon:puissance]"
-Floute l'image.
-.PD 0
-.RSs
-.IPs <rayon>
-force du filtre de floutage
-.IPs <puissance>
-nombre d'applications du filtre
-.RE
-.PD 1
-.
-.TP
-.B "sab=rayon:pf:colorDiff[:rad:pf:colorDiff]"
-flou de forme adaptative
-.PD 0
-.RSs
-.IPs <rayon>
-force du filtre de flou (~0.1\-4.0) (plus la valeur est
-grande, moins il est rapide)
-.IPs <pf>
-force du préfiltre (~0.1\-2.0)
-.IPs <colorDiff>
-différence maximale autorisée entre pixels pour être toujours significatif
-(~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B "smartblur=rayon:force:limite[:rayon:force:limite]"
-flou intelligent
-.PD 0
-.RSs
-.IPs <rayon>
-force du filtre de flou (~0.1\-5.0) (plus la valeur est
-grande, moins il est rapide)
-.IPs <force>
-flou (0.0\-1.0) ou accentuation (\-1.0\-0.0)
-.IPs <limite>
-filtre tout (0), filtre les surfaces plates (0\-30) ou filtre les
-bords (\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B "perspective=x0:y0:x1:y1:x2:y2:x3:y3:t"
-Corrige la perspective des vidéos non filmées perpendiculairement à l'écran.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-coordonnées des coins supérieur-gauche, supérieur-droit, inférieur-gauche
-et inférieur-droit
-.IPs "<t>\ \ "
-ré-échantillonnage linéaire (0) ou cubique (1)
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-Redimensionne et lisse l'image avec l'algorithme "zoom x2 et interpolation".
-.
-.TP
-.B "1bpp\ \ \ "
-conversion bitmap 1bpp vers YUV/\:BGR 8/\:15/\:16/\:32
-.
-.TP
-.B down3dright[=lignes]
-Repositionne et redimmensionne les images stéréoscopiques.
-Extrait les deux champs et les place côte à côte, les redimmensionnant pour
-garder le rapport hauteur/\:largeur du film.
-.PD 0
-.RSs
-.IPs <lignes>
-nombre de lignes à sélectionner à partir du milieu de l'image (par défault: 12)
-.RE
-.PD 1
-.
-.TP
-.B "bmovl=hidden:opaque:fifo"
-Le filtre de superposition d'images (bitmap overlay filter) lit depuis une
-FIFO des images (bitmaps) et les incruste dans la vidéo (overlay), après
-les avoir préalablement transformées.
-Voir aussi TOOLS/bmovl-test.c pour un programme de test simple de bmovl.
-.PD 0
-.RSs
-.IPs <hidden>
-Définit la valeur par défaut du drapeau 'hidden' (0=visible, 1=caché)
-.IPs <opaque>
-Définit la valeur par défaut du drapeau 'alphablended' (0=transparent,
-1=opaque)
-.IPs <fifo>
-chemin/\:nom de fichier pour le FIFO (pipe nommé connectant 'mplayer
-\-vf bmovl' à l'application le contrôlant)
-.RE
-.PD 1
-.sp 1
-.RS
-les commandes FIFO sont:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 largeur hauteur xpos ypos alpha clear"
-suivi de largeur*hauteur*4 octets de données RGBA32 brutes.
-.IPs "RGB24 largeur hauteur xpos ypos alpha clear"
-suivi de largeur*hauteur*4 octets de données ABGR24 brutes.
-.IPs "RGB24 largeur hauteur xpos ypos alpha clear"
-suivi de largeur*hauteur*3 octets de données RGB24 brutes.
-.IPs "BGR24 largeur hauteur xpos ypos alpha clear"
-suivi de largeur*hauteur*3 octets de données BGR24 brutes.
-.IPs "ALPHA largeur hauteur xpos ypos alpha"
-Change la transparence du canal alpha de la surface donnée.
-.IPs "CLEAR largeur hauteur xpos ypos"
-Efface la surface.
-.IPs OPAQUE
-Désactive toute transparence alpha.
-Envoyez "ALPHA 0 0 0 0 0" pour la réactiver.
-.IPs "HIDE\ "
-Cache la bitmap.
-.IPs "SHOW\ "
-Sontre la bitmap.
-.RE
-.PD 1
-.sp 1
-.RS
-Les arguments sont\ :
-.RE
-.PD 0
-.RSs
-.IPs "<largeur>, <hauteur>"
-taille de l'image/\:surface
-.IPs "<xpos>, <ypos>"
-Démarre le blitting à la position x/\:y.
-.IPs <alpha>
-Fixe la différence alpha.
-Si vous le fixez à \-255 vous pouvez envoyer une séquence de commandes
-ALPHA pour mettre la surface à \-225, \-200, \-175 etc pour un joli effet
-de fondu ! ;)
-.RSss
-0: la même que l'original
-.br
-255: Rends tout opaque.
-.br
-\-255: Rends tout transparent.
-.REss
-.IPs <clear>
-Efface le framebuffer avant 'blitting'.
-.RSss
-0: l'image sera simplement 'blittée' par dessus l'ancienne, donc vous
-n'aurez pas à envoyer 1,8 Mo de données RGBA32 chaque fois qu'une petite
-partie de l'écran serait mise à jour.
-.br
-1: clear
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "framestep=I|[i]step"
-N'affiche qu'une trame toutes les n trames ou que chaque trame intra (trame-clé).
-.sp 1
-Si vous appelez ce filtre avec I (en majuscule) en paramètre, alors
-.B seules
-les trames-clés seront affichées.
-Pour les DVDs cela signifie une toutes les 15/12 trames (IBBPBBPBBPBBPBB),
-pour l'AVI cela signifie à chaque changement de scène ou à chaque valeur de
-keyint (voir \-lavcopts keyint=valeur si vous utilisez MEncoder pour encoder la
-vidéo).
-.sp 1
-Quand une trame clé est trouvée, la chaine "I!" suivi d'un retour chariot est
-affichée, laissant la ligne courante de MPlayer/\:MEncoder à l'écran, car elle
-contient le temps (en secondes) et le numéro de trame de la trame clé
-(Vous pouvez utiliser cette information pour couper un AVI).
-.sp 1
-Si vous appelez le filtre avec un paramètre numérique 'step' alors seule une
-sur 'step' trames sera affichée.
-.sp 1
-Si vous mettez un 'i' (minuscule) devant le nombre alors un 'I!' sera affiché
-(comme le paramètre I).
-.sp 1
-Si vous n'indiquez que i alors rien ne sera fait aux trames, seul 'I!' est
-affiché.
-.
-.TP
-.B "tile=xtiles:ytiles:output:start:delta"
-Crée une mosaïque d'images à partir d'une série d'images plus petites.
-Si vous omettez un paramètre ou utilisez une valeur plus petite que 0, alors
-la valeur par défaut est utilisée.
-Vous pouvez également arrêter quand vous êtes satisfait (...
-\-vf tile=10:5 ...)
-C'est probablement une bonne idée de placer le filtre scale avant tile :-)
-.sp 1
-Les paramètres sont:
-.sp 1
-.PD 0
-.RSs
-.IPs <xtile>
-nombre d'éléments de mosaïque sur l'axe x (par défaut\ : 5)
-.IPs <ytile>
-nombre d'éléments de mosaïque sur l'axe y (par défaut\ : 5)
-.IPs <output>
-Affiche la mosaïque quand le nombre de trame est égal à 'output',
-où 'output' doit être un nombre inférieur à xtile * ytile.
-Les éléments de la mosaïque manquants sont laissés vides.
-Vous pouvez, par exemple, écrire une mosaïque de 8 * 7 toutes les 50 trames
-pour obtenir une image toutes les 2 secondes à 25 fps.
-.IPs <start>
-épaisseur en pixels de la bordure extérieure (par défaut\ : 2)
-.IPs <delta>
-épaisseur en pixels de la bordure intérieure (par défaut\ : 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:l:h:t]
-Supprime un logo de station de télé par simple interpolation des pixels
-environnants.
-Définissez juste un rectangle recouvrant le logo et regardez-le
-disparaître (vous risquez aussi de voir quelque chose de pire apparaître \-
-ça dépend des cas).
-.PD 0
-.RSs
-.IPs <x>,<y>
-position du coin supérieur gauche du logo
-.IPs <l>,<h>
-largeur et hauteur du rectangle nettoyé
-.IPs <t>
-Épaisseur des bords du rectangle (ajouté à l et h).
-Quand il est égal à \-1, un rectangle vert est dessiné sur l'écran pour
-simplifier la recherche des paramètres x,y,l,h.
-.RE
-.PD 1
-.
-.TP
-.B remove-logo=/chemin/vers/fichier_bitmap_du_logo.pgm
-Supprime un logo de station TV, en utilisant un fichier
-d'image PGM ou PPM pour déterminer quels sont les pixels
-se compose le logo.
-La largeur et la longueur de l'image doit correspondre à
-celles du flux vidéo traité.
-Le logo sera éliminé grâce au filtre défini par le fichier
-image donné, et par un algorithme de flou circulaire.
-.RSs
-.IPs /chemin/vers/nom_fichier_bitmap_du_logo.pgm
-[chemin] + nom de l'image définissant le filtre.
-.RE
-.
-.TP
-.B zrmjpeg[=options]
-Encodeur logiciel YV12 vers MJPEG pour utilisation avec le périphérique de
-sortie vidéo zr2.
-.RSs
-.IPs maxheight=<h>|maxwidth=<l>
-Ces options initialisent la largeur et la hauteur maximum que la carte zr peut
-gérer (la couche de filtres de MPlayer ne peut actuellement pas les deviner).
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Utilisez ces options pour initialiser maxwidth et maxheight automatiquement
-avec les valeurs connues de combinaisons carte/\:mode.
-Par exemple, voici des options valides: dc10-PAL et buz-NTSC
-(par défaut\ : dc10+PAL).
-.IPs color|bw
-Sélectionne l'encodage couleur ou noir et blanc.
-L'encodage N&B est plus rapide (par défaut\ : color).
-.IPs hdec={1,2,4}
-Décimation (sous-échantillonnage) horizontale 1, 2 ou 4.
-.IPs vdec={1,2,4}
-Décimation verticale 1, 2 ou 4.
-.IPs quality=1\-20
-Définit la qualité de la compression JPEG [MEILLEUR] 1 \- 20 [TRÈS MAUVAIS].
-.IPs fd|nofd
-Par défaut, le sous-échantillonnage n'est appliqué que si le matériel zoran
-peut agrandir les images MJPEG à leur taille originale.
-L'option fd dit au filtre de toujours appliquer la décimation demandée
-(image médiocre).
-.RE
-.
-.TP
-.B screenshot
-Permet de réaliser des captures d'écran en utilisant des commandes du
-mode slave, qui peuvent être associés à des appuis de touches.
-Voir la documentation du mode slave et la section CONTRÔLE
-INTERACTIF pour plus de détails.
-Chaque capture sera sauvegardée dans le répertoire de travail, et chaque
-fichier aura un nom de type 'shotNNNN.png' en utilisant le premier nombre
-disponible \- aucun fichier ne sera écrasé.
-Ce filtre ne provoque pas de surcoût lorsqu'il n'est pas utilisé, et accepte
-tous les espaces de couleur, donc ça ne pose pas de problème de l'ajouter par
-défaut dans votre fichier de configuration.
-Assurez-vous que ce filtre est appliqué après tous les autres filtres vidéos,
-sinon l'image capturée ne correspondra pas à ce que vous voyez à l'écran.
-.RE
-.
-.TP
-.B "ass\ \ \ \ "
-Déplace le rendu des sous-titres SSA/ASS à une position arbitraire dans
-la chaîne de filtrage.
-Utile uniquement pour l'option \-ass.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-Déplace le rendu SSA/ASS devant le filtre screenshot.
-Les captures d'écran prises de cette façon contiendront les sous-titres.
-.RE
-.PD 1
-.
-.TP
-.B blackframe[=quantité:seuil]
-Détecte les trames qui sont (presque) complètement noires.
-Peut être utilise pour détecter les fins de chapitres ou les pubs.
-Le format de sortie consiste en le numéro de la trame détectée,
-le pourcentage de noir, le type de trame, et le numéro de trame de
-la dernière trame-clée rencontrée.
-.RSs
-.IPs <quantité>
-Pourcentage de pixels qui doivent être sous le seuil (par défaut: 98).
-.IPs <seuil>
-Seuil en dessous duquel un pixel est considéré comme noir (par défaut: 32)
-.RE
-.
-.TP
-.B gradfun[=force[:rayon]]
-Corrige les "effets de bande" (banding) qui se produisent parfois dans les
-régions presque uniformes, dûes à la troncature de la profondeur des
-couleur à 8bits.
-Interpole le dégradé qui devraient se situer où les bandes sont, et
-effectue un tramage.
-.sp 1
-Ce filtre est destiné à être uniquement utilisé pour la lecture.
-Ne l'utilisez pas avant une compression à perte, car la compression tend
-à supprimer le tramage et de rétablir les bandes.
-.RSs
-.IPs <force>
-Le delta maximum permis pour la modification d'un pixel.
-Est aussi le seuil pour détecter les régions presque uniformes (par
-defaut\ : 1.2).
-.IPs <rayon>
-Le voisinage avec lequel le dégradé doit être injecté.
-Un rayon plus grand produit des dégradés plus doux, mais empêche le filtre
-de modifier les pixels près des régions détaillées (par defaut\ : 16).
-.RE
-.
-.
-.SH "OPTIONS D'ENCODAGE GÉNÉRALES (MENCODER UNIQUEMENT)"
-.
-.TP
-.B \-audio\-delay <un nombre à virgule>
-Retarde le son ou la vidéo en définissant le champ délai dans l'entête
-(par défaut\ : 0.0).
-Cela ne retarde aucun des flux pendant l'encodage, mais le lecteur
-verra le champ délai et compensera le délai d'après lui.
-Les valeurs positives retardent l'audio, et les valeurs négatives
-retardent la vidéo.
-Notez que c'est l'exact opposé de l'option \-delay.
-Par exemple, si une vidéo est jouée correctement avec \-delay 0.2, alors
-vous pouvez corriger la vidéo avec MEncoder avec \-audio\-delay \-0.2.
-.sp 1
-Pour le moment, cette option ne fonctionne qu'avec le multiplexeur
-par défaut (\-of avi).
-Si vous utilisez un multiplexeur différent, alors vous devez utiliser
-\-delay à la place.
-.TP
-.B \-audio\-density <1\-50>
-Nombre de morceaux audio par seconde (par défaut\ : 2 pour des morceaux
-audio de 0.5s de durée).
-.br
-.I NOTE:
-CBR uniquement, VBR l'ignore car il place chaque paquet dans un nouveau
-morceau.
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-Défini la durée du tampon audio (par défaut\ : 0.5s).
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|taille[o|ko|mo]> (voir aussi \-ss et \-sb)
-Stoppe l'encodage à la position temps ou octet indiquée.
-.br
-.I NOTE:
-La position en octet ne sera pas précise, car on ne peut
-s'arrêter qu'en limite de trame.
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-N'encode que 56 secondes.
-.IPs "\-endpos 01:10:00"
-N'encode que 1 heure 10 minutes.
-.IPs "\-endpos 100mb"
-N'encode que 100 Mo.
-.RE
-.PD 1
-.
-.TP
-.B \-fafmttag <format>
-Peut être utilisé pour outrepasser l'étiquette du format audio du fichier
-de sortie.
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-Le fichier de sortie aura comme étiquette de format audio 0x55 (mp3).
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-Peut être utilisé pour outrepasser le fourcc vidéo du fichier de sortie.
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-Le fichier de destination contiendra 'div3' en tant que fourcc vidéo.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-Outrepasse le rapport hauteur/\:largeur inscrit dans l'en-tête AVI OpenDML
-vprp.
-Cela permet, avec '\-ovc copy', de changer le hauteur/\:largeur d'un fichier
-existant
-.
-.TP
-.B \-frameno\-file <nom_fichier> (DEPRÉCIÉ)
-Définit le nom du fichier audio contenant la carte des numéros de trames
-créé lors de la première passe (où juste l'audio est encodée) du mode
-d'encodage 3-passes spécial.
-.br
-.I NOTE:
-Utiliser ce mode risque de déboucher sur une désynchronisation
-audio-vidéo.
-Ne l'utilisez pas!
-Cette option est gardée uniquement pour maintenir la compatibilité
-ascendante et risque d'être enlevée dans les versions futures.
-.
-.TP
-.B \-hr\-edl\-seek
-Utilise une méthode précise, mais plus lente pour sauter des
-séquences de film.
-Les séquences marquées pour être sautées ne sont pas réellement
-sautées, à la place toutes les trames sont décodées, mais uniquement
-les trames utiles sont encodées.
-Ceci permet de pouvoir commencer en dehors de frontières de
-trames-clés.
-.br
-.I NOTE\ :
-Ceci n'est pas garanti de fonctionner correctement
-avec '\-ovc copy'.
-.
-.TP
-.B \-info <option1:option2:...> (AVI uniquement)
-Définit l'entête d'info dans le fichier AVI de destination.
-.sp 1
-Les options disponibles sont:
-.
-.RSs
-.IPs "help\ "
-Affiche cette description.
-.IPs name=<valeur>
-titre du film
-.IPs artist=<valeur>
-artiste ou auteur du film
-.IPs genre=<valeur>
-catégorie de genre du film
-.IPs subject=<valeur>
-contenu du film
-.IPs copyright=<valeur>
-information de copyright
-.IPs srcform=<valeur>
-forme originale de la vidéo qui a été numérisée
-.IPs comment=<valeur>
-commentaires généraux sur le film
-.RE
-.
-.TP
-.B \-noautoexpand
-N'insère pas automatiquement le filtre expand dans la chaine de filtres de
-MEncoder.
-Utile pour contrôler à quel maillon de la chaîne de filtre les sous-titres
-sont affichés lors de leur incrustation dans l'image.
-.
-.TP
-.B \-noencodedups
-Ne pas encoder les trames répétées\ ;
-Encoder chacune d'elles par une trame nulle pour indiquer qu'elle était
-en double.
-Les trames nulles seront écrites quand même, sauf si un filtre ou un
-encodeur capable de gérer l'encodage de doublons est chargé.
-Pour le moment, le seul filtre le permettant est harddup.
-.
-.TP
-.B \-noodml (\-of avi uniquement)
-Ne pas écrire l'index OpenDML des fichiers AVI >1Go.
-.
-.TP
-.B \-noskip
-Ne saute pas de trames.
-.
-.TP
-.B \-o <nomfichier>
-Écrit dans le fichier <nomfichier>.
-.br
-Si vous voulez un nom de fichier par défaut, vous pouvez spécifier cette
-option dans le fichier de configuration de MEncoder.
-.
-.TP
-.B \-oac <nom codec>
-Encode avec le codec audio (pas de valeur par défaut).
-.br
-.I NOE\ :
-Utilisez \-ovc help pour obtenir une liste des codecs disponibles.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-oac copy"
-pas d'encodage, juste une copie du flux
-.IPs "\-oac pcm"
-Encode en PCM non-compressé.
-.IPs "\-oac mp3lame"
-Encode en MP3 (en utilisant LAME).
-.IPs "\-oac lavc"
-Encode avec un des codecs de libavcodec.
-.RE
-.PD 1
-.
-.TP
-.B \-of <format> (CODE BÉTA!)
-Encode dans le format de conteneur donné (par défaut\ : AVI).
-.br
-.I NOTE\ :
-Pour obtenir la liste complète des formats de conteneurs disponibles,
-voir \-of help.
-.sp 1
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs "\-of avi"
-Encode en AVI.
-.IPs "\-of mpeg"
-Encode en MPEG (voir aussi \-mpegopts).
-.IPs "\-of lavf"
-Encode en utilisant les multiplexeurs libavformat (voir aussi \-lavfopts).
-.IPs "\-of rawvideo"
-flux vidéo brut (pas de multiplexage \- uniquement un flux vidéo)
-.IPs "\-of rawaudio"
-flux audio brut (pas de multiplexage \- uniquement un flux audio)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-Définit le rapport trame/\:sec (fps) du fichier de sortie,
-qui peut être différent de celui de la source.
-Vous devez le définir pour les fichiers à fps variable
-(ASF, quelques MOV) et progressifs (MPEG téléciné à 30000/1001 fps).
-.
-.TP
-.B \-ovc <nom codec>
-Encode avec le codec vidéo indiqué (pas de valeur par défaut).
-.br
-.I NOTE\ :
-Pour obtenir la liste complète des codecs disponibles, voir \-ovc help.
-.sp 1
-.I EXEMPLE\ :
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-pas d'encodage, juste une copie du flux
-.IPs "\-ovc raw"
-Encode dans un format non-compressé arbitraire (que vous sélectionnez
-avec '\-vf format').
-.IPs "\-ovc lavc"
-Encode avec un codec de libavcodec.
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <nomfichier>
-Envoie les informations de la première passe du mode deux passes dans
-<nomfichier> au lieu de ./divx2pass.log par défaut.
-.
-.TP
-.B \-skiplimit <valeur>
-Définit le nombre maximal de trames pouvant être sautées après avoir encodé
-une trame (\-noskiplimit pour un nombre illimité).
-.
-.TP
-.B \-vobsubout <nom_de_base>
-Définit le nom de base pour les fichiers .idx et .sub de destination.
-Cela désactive le rendu des sous-titres dans le film encodé et le redirige
-vers un groupe de fichiers de sous-titres VOBsub.
-.
-.TP
-.B \-vobsuboutid <langid>
-Définit le code-langue à deux lettres pour les sous-titres.
-Ceci outrepasse ce qui est lu depuis le DVD ou le fichier .ifo.
-.
-.TP
-.B \-vobsuboutindex <index>
-Spécifie l'index des sous-titres dans le fichiers de sortie.
-(par défaut\ : 0)
-.
-.
-.
-.SH "OPTIONS D'ENCODAGE SPÉCIFIQUES AUX CODECS (MENCODER UNIQUEMENT)"
-Vous pouvez définir les options d'encodage spécifiques aux codecs en suivant
-la syntaxe ci-dessous\ :
-.
-.TP
-.B \-<codec>opts <option1[=valeur1]:option2[=valeur2]:...>
-.
-.PP
-Où <codec> peut être: lavc, xvidenc, lame, toolame, twolame,
-nuv, xvfw, faac, x264enc, mpeg, lavf.
-.
-.
-.SS mp3lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-afficher l'aide
-.
-.TP
-.B vbr=<0\-4>
-méthode variable bitrate
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (par défaut)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-bitrate moyen (ou plutôt, moyenné)
-.
-.TP
-.B "cbr\ \ \ \ "
-bitrate constant
-Force également l'encodage en mode CBR sur les modes ABR sélectionnés suivant.
-.
-.TP
-.B br=<0\-1024>
-bitrate en kbps (CBR et ABR uniquement).
-.
-.TP
-.B q=<0\-9>
-qualité (0 \- meilleure, 9 \- moins bonne) (VBR uniquement)
-.
-.TP
-.B aq=<0\-9>
-qualité algorithmique (0 \- meilleure/\:plus lent, 9 \- pire/\:plus rapide)
-.
-.TP
-.B ratio=<1\-100>
-rapport de compression
-.
-.TP
-.B vol=<0\-10>
-gain d'entrée audio
-.
-.TP
-.B mode=<0\-3>
-(par défaut\ : auto)
-.PD 0
-.RSs
-.IPs 0
-stéréo
-.IPs 1
-joint-stereo
-.IPs 2
-dualchannel
-.IPs 3
-mono
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-aucun
-.IPs 1
-tous
-.IPs 2
-ajuste
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-Sélectionne le plus rapide des modes VBR pré-sélectionnés à suivre cette
-option.
-Produit des fichiers de qualité légèrement inférieure au bitrate plus
-important.
-.
-.TP
-.B highpassfreq=<fréq>
-Définit la fréquence de coupure du filtre passe-haut en Hz.
-Les fréquences en dessous de la fréquence de coupure seront supprimées.
-Une fréquence de \-1 désactivera le filtrage, tandis que 0
-laissera LAME choisir la fréquence automatiquement.
-.
-.TP
-.B lowpassfreq=<fréq>
-Définit la fréquence de coupure du filtre passe-bas en Hz.
-Les fréquences au dessus de la fréquence de coupure seront supprimées.
-Une fréquence de \-1 désactivera le filtrage, tandis que 0
-laissera LAME choisir la fréquence automatiquement.
-.
-.TP
-.B preset=<valeur>
-valeurs de preset
-.RSs
-.IPs "help\ "
-Affiche d'autres options et des informations sur les modes
-pré-sélectionnés.
-.IPs medium
-encodage VBR, bonne qualité, intervalle bitrate 150\-180 kbps
-.IPs standard
-encodage VBR, haute qualité, intervalle bitrate 170\-210 kbps
-.IPs extreme
-encodage VBR, très haute qualité, intervalle bitrate 200\-240 kbps
-.IPs insane
-encodage CBR, plus haute qualité pré-sélectionnée, bitrate 320 kbps
-.IPs <8\-320>
-encodage ABR au bitrate moyen indiqué
-.RE
-.sp 1
-.RS
-.I EXEMPLE:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-Devrait convenir à la plupart des gens et à plupart des musiques car ce
-preset est déjà d'assez grande qualité.
-.IPs cbr:preset=192
-Encode avec les présélections ABR à un bitrate constant forcé à 192 kbps.
-.IPs preset=172
-Encode avec les présélections ABR à un bitrate moyen de 172 kbps.
-.IPs preset=extreme
-Devrait convenir aux gens très exigeants, ayant une audition extrêmement
-bonne et un équipement HI-FI en rapport.
-.RE
-.PD 1
-.
-.
-.SS toolame et twolame (respectivement \-toolameopts et \-twolameopts)
-.TP
-.B br=<0\-384>
-En mode débit binaire constant (CBR), ce paramètre défini le débit
-binaire (bitrate) en kbps, en mode débit binaire variable (VBR), il
-défini le débit minimum autorisée part trame.
-Le mode VBR ne fonctionnera pas avec une valeur inférieure à 112.
-.
-.TP
-.B vbr=<\-50\-50> (VBR uniquement)
-plage de variation; si elle est négative, l'encodeur fait tendre le
-débit binaire moyen vers la limite basse, tandis qu'une valeur
-positive le fait tendre vers la limite haute.
-À 0, le mode CBR est utilisé (par défaut).
-.
-.TP
-.B maxvbr=<32\-384> (VBR uniquement)
-débit binaire maximal autorisée par trame, en kbps.
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-(par défaut\ : mono pour de l'audio mono-canal, stéréo sinon)
-.
-.TP
-.B psy=<1\-4>
-modèle psycho-acoustique (par défaut\ : 2)
-.
-.TP
-.B errprot=<0 | 1>
-Rajoute des informations de correction d'erreurs.
-.
-.TP
-.B debug=<0\-10>
-niveau de débogage
-.RE
-.PD 1
-.
-.
-.SS faac (\-faacopts)
-.
-.TP
-.B br=<bitrate>
-débit binaire moyen en kps (mutuellement exclusif avec quality)
-.
-.TP
-.B quality=<1\-1000>
-mode qualité, plus la valeur est grande, plus la qualité est bonne
-(mutuellement exclusif avec br)
-.
-.TP
-.B object=<1\-4>
-complexité du type d'objet
-.PD 0
-.RSs
-.IPs 1
-MAIN (par défaut)
-.IPs 2
-LOW
-.IPs 3
-SSR
-.IPs 4
-LTP (extrêmement lent)
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-version de MPEG (par défaut\ : 4)
-.
-.TP
-.B "tns\ \ \ \ "
-Active la modélisation temporelle de bruit.
-.
-.TP
-.B cutoff=<0\-fréquence d'échantillonnage/2>
-fréquence de coupure (par défaut\ : échantillonnage/2)
-.
-.TP
-.B "raw\ \ \ \ "
-Stocke le flux de bit en tant que la charge utile brute et les données
-supplémentaires de l'en-tête du container
-(par défaut\ : 0, correspond à ADTS).
-Ne levez ce drapeau que si cela est explicitement requis ou sinon
-vous ne pourrez pas re-multiplexer le flux audio plus tard.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-.
-De nombreuses options de libavcodec (lavc pour faire plus simple) sont
-très spécialisées et pauvrement documentées.
-Pour avoir tous les détails lisez le source.
-.PP
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B o=<clef>=<valeur>[,<clef>=<valeur>[,...]]
-Passe les AVOptions à l'encodeur libavcodec.
-Notez que la création d'une rustine pour que cette option ne soit pas
-nécessaire, mais qu'à la place, toutes les options inconnues soient passées
-au système AVOption est la bienvenue.
-Une liste complète des AVOptions est disponible dans la documentation de
-FFmpeg.
-De plus, notez que certaines options peuvent entrer en conflit avec les
-options de MEncoder.
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.PD 0
-.IPs o=bt=100k
-.PD 1
-.RE
-.
-.TP
-.B acodec=<value>
-codec audio (par défaut\ : mp2)
-.PD 0
-.RSs
-.IPs "ac3\ \ "
-Dolby Digital (AC-3)
-.IPs adpcm_*
-formats adaptatifs PCM \- voir la documentation HTML pour plus de details.
-.IPs "flac\ "
-Free Lossless Audio Codec (FLAC)
-.IPs "g726\ "
-G.726 ADPCM
-.IPs libfaac
-Advanced Audio Coding (AAC) \- utilisant FAAC
-.IPs libmp3lame
-MPEG-1 audio layer 3 (MP3) \- utilisant LAME
-.IPs "mp2\ \ "
-MPEG-1 audio layer 2 (MP2)
-.IPs pcm_*
-formats PCM \- voir la documentation HTML pour plus de details.
-.IPs roq_dpcm
-RoQ DPCM de Id Software
-.IPs sonic
-codec à perte expérimental simple
-.IPs sonicls
-codec sans perte expérimental simple
-.IPs vorbis
-Vorbis
-.IPs wmav1
-Windows Media Audio v1
-.IPs wmav2
-Windows Media Audio v2
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<valeur>
-débit binaire audio en kbps (par défaut\ : 224)
-.
-.TP
-.B atag=<valeur>
-Utilise le tag Windows audio spécifié (par ex. atag=0x55).
-.
-.TP
-.B bit_exact
-Utilise uniquement les algorithmes à bit exact (excepté (I)DCT).
-De plus, bit_exact désactive certaines optimisations, ce qui
-fait que cette option ne devrait être utilisée que pour des
-tests de régression, qui nécessitent des fichiers identiques
-bit-à-bit, même quand la version de l'encodeur change.
-Cela supprime également l'entête user-data des flux MPEG-4
-N'utilisez donc cette option que si vous êtes sûrs d'en avoir
-besoin.
-.
-.TP
-.B threads=<1\-8>
-Nombre maximum de threads à utiliser (par défaut\ : 1).
-Peut avoir un effet néfaste sur l'estimation du mouvement.
-.
-.TP
-.B vcodec=<valeur>
-Emploie le codec indiqué (par défaut\ : mpeg4).
-.PD 0
-.RSs
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs dvvideo
-Sony Digital Video
-.IPs "ffv1\ "
-codec vidéo sans perte de FFmpeg
-.IPs ffvhuff
-HuffYUV non-standard produisant des fichiers 20% plus petits en
-utilisant YV12
-.IPs "flv\ \ "
-Sorenson H.263 used in Flash Video
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs huffyuv
-HuffYUV
-.IPs libtheora
-Theora
-.IPs libx264
-x264 H.264/AVC MPEG-4 Part 10
-.IPs libxvid
-Xvid MPEG-4 Part 2 (ASP)
-.IPs ljpeg
-Lossless (sans perte) JPEG
-.IPs mjpeg
-Motion JPEG
-.IPs mpeg1video
-MPEG-1 video
-.IPs mpeg2video
-MPEG-2 video
-.IPs mpeg4
-MPEG-4 (DivX 4/5)
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG-4v2
-.IPs roqvideo
-ID Software RoQ Video
-.IPs "rv10\ "
-un ancien codec RealVideo
-.IPs "snow (voir aussi\ : vstrict)"
-codec expérimental basé sur les wavelets de FFmpeg
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs "wmv1\ "
-Windows Media Video, version 1 (alias WMV7)
-.IPs wmv2
-Windows Media Video, version 2 (alias WMV8)
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-quantum minimum (passe 1/2)
-.RSs
-.IPs 1
-Non recommandé (fichier bien plus gros, faible différence de qualité et
-secondaires étranges\ : msmpeg4, h263 seront de mauvaise qualité, le
-contrôleur du débit sera perdu entrainant une mauvaise qualité et certains
-décodeurs seront incapables de le décoder).
-.IPs 2
-Recommandé pour l'encodage normal mpeg4/\:mpeg1video (par défaut).
-.IPs 3
-Recommandé pour h263(p)/\:msmpeg4. La raison de préférer 3 à 2 est que
-2 peut conduire à des dépassements.
-(Ceci sera corrigé pour h263(p) en changeant les quantum par macro-bloc
-dans le futur, msmpeg4 ne peut être corrigé car il ne gère pas cela).
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-Multiplicateur de Lagrange minimum (au niveau trame) pour le contrôleur
-de débit, (par défaut\ : 2.0).
-Libavcodec n'utilisera que rarement des quantum inférieurs à la valeur de lmin.
-Baiser lmin augmente la tendence de libavcodec à choisir des quantums plus
-petits pour certaines trames, mais jamais plus petit que la valeur de vqmin.
-De la même façon, augmenter lmin diminue la tendence de libavcodec à choisir
-des quantum plus petits, même si vqmin l'aurait permis.
-Il est conseillé de garder lmin à peu près égal à vqmin.
-Quand la quantification adaptative est utilisée, changer lmin/lmax a moins
-d'effet (voir mblmin/mblmax).
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-Multiplicateur de Lagrange maximum pour le contrôleur de débit.
-(par défault: 31.0)
-.RE
-.
-.TP
-.B mblmin=<0.01\-255.0>
-Multiplicateur de Lagrange minimum (au niveau macro-bloc) pour le contrôleur
-de débit, (par défaut\ : 2.0).
-Cette option affecte les options de quantification adaptatives comme qprd,
-lumi_mask, etc..
-.RE
-.
-.TP
-.B mblmax=<0.01\-255.0>
-Multiplicateur de Lagrange maximum (au niveau macro-bloc) pour le contrôleur
-de débit, (par défaut\ : 31.0).
-Cette option affecte les options de quantification adaptatives comme qprd,
-lumi_mask, etc..
-.RE
-.
-.TP
-.B vqscale=<0\-31>
-Quantificateur constant /\: qualité d'encodage constante.
-Une valeur basse signifie une meilleur qualité mais de gros fichiers
-(par défaut\ : \-1).
-Dans le cas du codec Snow, 0 signifie encodage sans perte.
-Étant donné que tous les codecs ne le supporte pas, vqscale=0 aura un
-effet imprévisible.
-1 est déconseillé (voir vqmin pour plus de détails).
-.
-.TP
-.B vqmax=<1\-31>
-Quantificateur maximum (passe\ 1/2) 10\-31 devrait être un intervalle
-raisonnable (par défaut\ : 31).
-.
-.TP
-.B mbqmin=<1\-31>
-obsolète, utilisez vqmin
-.
-.TP
-.B mbqmax=<1\-31>
-obsolète, utilisez vqmax
-.
-.TP
-.B vqdiff=<1\-31>
-différence maximale de quantum entre chaque trame-I ou -P
-consécutive (passe 1/2) (par défaut\ : 3)
-.
-.TP
-.B vmax_b_frames=<0\-4>
-nombre maximum de trames-B entre les trames-non-B\ :
-.PD 0
-.RSs
-.IPs 0
-pas de trames-B (par défaut)
-.IPs 0\-2
-intervalle sensé pour MPEG-4
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-méthode d'estimation du mouvement.
-Les méthodes disponibles sont:
-.PD 0
-.RSs
-.IPs 0
-aucune (qualité très mauvaise, n'est plus maintenu et est désactivé)
-.IPs 1
-pleine (lent)
-.IPs 2
-log (mauvaise qualité, n'est plus maintenu et est désactivé)
-.IPs 3
-phods (mauvaise qualité, n'est plus maintenu et est désactivé)
-.IPs 4
-EPZS\ : diamant de taille 1, dont la taille peut être ajustée avec les
-options *dia (par défaut)
-.IPs 5
-X1 (expérimental, est un alias de EPZS pour le moment)
-.IPs 8
-iter ("iterative overlapped block", utilisé uniquement par Snow)
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I NOTE:
-0\-3 pour l'instant ignorent la quantité de Bits utilisés, donc la qualité
-peut être mauvaise.
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-intervalle de recherche de l'estimation de mouvement
-(par défaut\ : 0 (illimité))
-.
-.TP
-.B mbd=<0\-2> (voir aussi *cmp, qpel)
-Algorithme de décision de macro-block (mode haute qualité), encode chaque
-macro-block dans tous les modes et choisit le meilleur.
-C'est lent mais permet d'améliorer la qualité visuelle et réduire la taille
-du fichier.
-Quand mbd est mis à 1 ou 2, la valeur de de mbcmp est ignoré quand les
-macro-blocks sont comparés entre eux (la valeur de mbcmp reste utilisée dans
-d'autres endroits, en particulier dans les algorithmes de recherche de
-mouvement).
-En revanche, si l'une des options de comparaisons (precmp, subcmp, cmp, or
-mbcmp) n'est pas à zéro, une recherche de mouvement half-pel plus lente et
-de meilleure qualité est utilisée, quel que soit la valeur de mbd.
-Si qpel est activé, une recherche de mouvement quart-pel sera utilisé dans
-tous les cas.
-.PD 0
-.RSs
-.IPs 0
-Utilise la fonction de comparaison donnée par mbcmp (par défaut).
-.IPs 1
-Sélectionne le mode MB qui requiert le moins de bits (=vhq).
-.IPs 2
-Sélectionne le mode MB qui est le plus fidèle à l'original.
-.RE
-.PD 1
-.
-.TP
-.B "vhq\ \ \ \ "
-Identique à mbd=1, gardé pour raisons de compatibilité.
-.
-.TP
-.B v4mv
-Permet 4 vecteurs de mouvement par macro-bloc (qualité légèrement meilleure).
-Gagne à être utilisé en conjonction de mbd>0.
-.
-.TP
-.B "obmc\ \ \ "
-Compensation de mouvement par groupes de blocs (H.263+)
-.
-.TP
-.B "loop\ \ \ "
-Filtre loop (H.263+)
-note: est actuellement cassé
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-Ne fait absolument rien pour l'instant.
-.
-.TP
-.B keyint=<0\-300>
-intervalle (en trames) entre les trames-clé (keyframe)
-(par défaut\ : 250 ou une trame-clé toutes les dix secondes dans un
-film à 25fps.
-C'est la valeur par défaut recommandée pour MPEG-4.)
-La plupart des codecs requièrent des trames-clés espacées régulièrement
-de façon à ne pas accumuler des erreurs d'encodage.
-Les trames-clés sont de plus indispensables pour les déplacements, puisqu'il
-ne peut se faire que de trame-clé à trame-clé \- mais celles-ci prennent plus
-de place que les autres types de trames.
-Un espacement plus important des trames-clé signifie donc des fichiers
-légèrement plus petits, mais un déplacement moins précis.
-0 est équivalent à 1, ce qui rend chaque trame une trame-clé.
-Les valeurs >300 ne sont pas recommandées car la qualité peut être
-mauvaise suivant le décodeur, l'encodeur et votre horoscope ;-).
-Il est courant pour MPEG-1/\:2 de prendre un espacement de <=30.
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-Seuil pour la détection des changements de scène.
-Une trame-clé est insérée par libavcodec quand il détecte un changement
-de scène.
-Vous pouvez définir la sensibilité de la détection avec cette option.
-\-1000000000 signifie qu'il y aura un changement détecté à chaque trame,
-1000000000 signifie qu'aucun changement de scène ne sera détecté
-(par défaut\ : 0).
-.
-.TP
-.B sc_factor=<une valeur positive>
-Conduit les trames avec des quanta plus grands à augmenter la
-probabilité de déclencher la détection de changement de scène, et de
-faire que libavcodec utilise une trame-I (par défaut\ : 1).
-Les valeurs intéressantes sont comprises dans l'intervalle 1\-16.
-Des valeurs entre 2 et 6 peuvent augmenter le PSNR (jusqu'à environ
-0.04 dB) et un meilleur placement des trames-I dans les scènes avec
-beaucoup de mouvements.
-Des valeurs plus grandes que 6 peuvent faire légèrement augmenter le
-PSNR (approximativement 0.01 dB de plus qu'avec sc_factor=6), mais
-dégrade sensiblement la qualité visuelle.
-.
-.TP
-.B vb_strategy=<0\-2> (première passe uniquement)
-stratégie à choisir entre les trames-I/P/Bi\ :
-.PD 0
-.RSs
-.IPs 0
-Toujours utiliser le nombre maximum de trames-B (par défaut).
-.IPs 1
-Évite les trames-B dans les scènes avec beaucoup de mouvements.
-Voir aussi l'option b_sensitivity pour ajouter cette stratégie.
-.IPs 2
-Place les trames-B plus ou moins optimalement pour obtenir la meilleure
-qualité (plus lent).
-Vous pouvez réduire l'impact de cette option sur la vitesse d'encodage en
-agissant sur l'option brd_scale.
-.RE
-.PD 1
-.
-.B b_sensitivity=<un entier positif supérieur à 0>
-Ajuste avec quelle sensibilité la détection de mouvement de vb_strategy=1
-évite d'utiliser des trames-B (par défaut\ : 40).
-Une sensibilité plus faible résultera en plus de trames-B.
-L'utilisation de plus de trames-B améliore généralement le PSNR,
-mais trop de trames-B peut dégrader la qualité dans les scènes avec
-des mouvements rapides.
-À moins que votre source comporte énormément de mouvements, b_sensitivity
-peut sans problème être diminué par rapport à la valeur par défaut; 10
-est une valeur raisonnable dans la plupart des cas.
-.
-.TP
-.B brd_scale=<0\-10>
-Réduit la résolution des trames pour la décision dynamique des trames-B
-(par defaut\ : 0).
-À chaque fois que brd_scale est augmenté de 1, les dimensions de la trame
-sont divisées par 2, ce qui augmente la vitesse d'un facteur 4.
-Les deux dimensions de la trame réduite doivent être des nombres pairs,
-donc brd_scale=1 requiert que les dimensions originales soient des multiples
-de 4, brd_scale=1 requiert que que se soient des multiples de 8, etc.
-En d'autres termes, chaque dimension de la trame originale doit être
-divisible par 2^(brd_scale+1) sans reste.
-.
-.TP
-.B bidir_refine=<0\-4>
-Affine les deux vecteurs de mouvement utilisés par les macro-blocs
-bi-directionnels, au lieu de ré-utiliser les vecteurs des recherches
-avant et arrière.
-Cette option n'a pas d'effet sans trames-B.
-.PD 0
-.RSs
-.IPs 0
-Désactivé (par défaut).
-.IPs 1\-4
-Utilise une plus large recherche (plus la recherche est large, plus
-elle est lente).
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-Active le mode interne deux (ou plus) passes.
-Ne le spécifiez que si vous désirez utiliser l'encodage deux (ou plus)
-passes\ :
-.PD 0
-.RSs
-.IPs 1
-première passe (voir aussi turbo)
-.IPs 2
-seconde passe
-.IPs 3
-Nième passe (seconde passe et passes suivantes de l'encodage N-passes)
-.RE
-.RS
-Voici comment cela fonctionne, et comment l'utiliser\ :
-.br
-La première passe (vpass=1) écrit le fichier de statistiques.
-Vous devriez désactiver des options gourmandes en temps processeur,
-comme le fait le mode "turbo".
-.br
-En mode deux passes, la seconde passe (vpass=2) se base sur le fichier de
-statistiques pour allouer le bon nombre de bits aux trames (ratecontrol).
-.br
-En mode N-passes, la seconde passe (vpass=3, non ce n'est pas une
-erreur) fait les deux\ : elle lit le fichier de statistiques, puis ré-écrit
-par dessus.
-(Peut-être que vous devriez sauver le fichier divx2pass.log avant si
-MEncoder peut être interrompu dans son cours).
-Vous devriez utiliser toutes les options d'encodage, à l'exception de celles
-vraiment très gourmandes, comme "qns".
-.br
-Chaque passe additionnelle utilisera les statistiques générées par la passe
-précédente pour améliorer le résultat.
-La dernière passe peut être effectuée en utilisant toutes les options
-d'encodage, même les plus gourmandes.
-.br
-Si vous voulez effectuer un encodage en 2 passes, utilisez d'abord vpass=1,
-puis vpass=2.
-.br
-Si vous voulez effectuer un encodage en 3 passes ou plus, utilisez vpass=1
-pour la première passe, puis vpass=3, puis vpass=3, encore et encore jusqu'à
-ce que le résultat vous convienne.
-.RE
-.PD 1
-.sp 1
-.RS
-huffyuv\ :
-.RE
-.PD 0
-.RSs
-.IPs "la passe 1"
-Sauve les statistiques.
-.IPs "la passe 2"
-Encode avec une table Huffman optimisée d'après les statistiques de la passe 1.
-.RE
-.PD 1
-.
-.TP
-.B turbo (deux passes uniquement)
-Accélère énormément la première passe en utilisant des algorithmes plus
-rapides et en désactivant des options gourmandes en temps processeur.
-Cela va sans doute diminuer le PSNR global (d'environ 0.01dB) et changer
-un peu plus le type et le PSNR des trames générées (jusqu'à 0.03dB).
-.
-.TP
-.B aspect=<x/y>
-Stocke le rapport hauteur/largeur du film en interne, tout comme les fichiers
-MPEG.
-Bien mieux que le redimensionnement, car la qualité n'en est pas diminuée.
-Probablement seul MPlayer sera capable de relire ces fichiers correctement,
-les autres lecteurs l'afficheront avec un mauvais rapport hauteur/\:largeur.
-Le paramètre peut être donné en tant que ratio hauteur/\:largeur ou nombre
-flottant.
-.sp 1
-.RS
-.I EXEMPLE:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/9 ou aspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-Même chose que l'option aspect, mais calcule automatiquement le rapport
-hauteur/\:largeur, en prenant en compte tous les ajustements
-(crop/\:expand/\:scale/\:etc.) faits dans la chaine de filtres.
-N'affecte pas la vitesse d'encodage, donc vous pouvez sans problème
-l'activer tout le temps.
-.
-.TP
-.B vbitrate=<valeur>
-Définit le débit binaire (bitrate) (passe 1/2) (par défaut\ : 800).
-.br
-.I ATTENTION\ :
-1kbit = 1000 bits
-.PD 0
-.RSs
-.IPs 4\-16000
-(en kbits)
-.IPs 16001\-24000000
-(en bits)
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<valeur>
-tolérance approximative de taille du fichier en kbit.
-1000\-100000 est un intervalle raisonnable.
-attention: 1kibit = 1000 bits
-(par défaut\ : 8000)
-.br
-.I NOTE\ :
-vratetol ne devrait pas être trop grand lors de la seconde passe ou il peut
-se produire des problèmes si vrc_(min|max)rate est utilisé.
-.
-.TP
-.B vrc_maxrate=<valeur>
-bitrate maximum en kbit/\:sec (passe 1/2)
-(par défaut\ : 0, illimité)
-.
-.TP
-.B vrc_minrate=<valeur>
-bitrate minimum en kbit/\:sec (passe 1/2)
-(par défaut\ : 0, illimité)
-.
-.TP
-.B vrc_buf_size=<valeur>
-taille du tampon en kbit (passe 1/2).
-Pour MPEG-1/\:2 cela fixe également la taille du tampon vbv, utilisez 327 pour
-un VCD, 917 pour un SVCD et 1835 pour un DVD.
-.I NOTE:
-vratetol ne devrait pas être trop grand durant la seconde passe
-ou il pourrait y avoir des problèmes si vrc_(min|max)rate est utilisé.
-.
-.TP
-.B vrc_buf_aggressivity
-actuellement inutile
-.
-.TP
-.B vrc_strategy
-Méthode de ratecontrol (contrôle du débit).
-Notez que certaines des options agissant sur le ratecontrol n'auront
-d'effet que si vrc_strategy est à 0.
-.PD 0
-.RSs
-.IPs 0
-Utilise le ratecontrol interne de lavc (par défaut).
-.IPs 1
-Utlise le ratecontrol d'Xvid (expérimental; nécessite que MEncoder
-soit compilé par le support d'Xvid 1.1 ou supérieur).
-.RE
-.PD 1
-.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-facteur de quantum entre les trames-B et non-B (passe 1/2)
-(par défaut\ : 1.25)
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-facteur de quantum entre les trames-I et non-I (passe 1/2)
-(par défaut\ : 0.8)
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-offset des quantum entre les trames-B et non-B (passe 1/2)
-(par défaut\ : 1.25)
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-(passe 1/2) (par défaut\ : 0.0)
-.br
-si v{b|i}_qfactor > 0
-.br
-quantum trame-I/B = quantum trame-P * v{b|i}_qfactor +
-v{b|i}_qoffset
-.br
-sinon
-.br
-procède à un contrôle de débit normal (ne verrouille pas le prochain
-quantum trame-P) et initialise q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I ASTUCE\ :
-Pour faire de l'encodage à quantum constant avec des
-quantum différents pour les trames-I/P et -B vous pouvez utiliser\ :
-lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>.
-.
-.TP
-.B vqblur=<0.0\-1.0> (passe 1)
-Flou quantum (par défaut\ : 0.5), plus la valeur est grande, plus
-les quantum seront semblables d'une trame à l'autre (variations
-plus basses).
-.PD 0
-.RSs
-.IPs 0.0
-Flou quantum désactivé.
-.IPs 1.0
-Répartit les quantum sur toutes les trames précédentes.
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0> (passe 2)
-Flou gaussien quantum (par défaut\ : 0.5), plus la valeur est grande,
-plus les quantum seront semblables d'une trame à l'autre
-(variations plus basses).
-.
-.TP
-.B vqcomp=<0.0\-1.0>
-Compression quantum, vrc_eq dépend de cette option (passe 1/2)
-(par défaut\ : 0.5).
-.I NOTE\ :
-La qualité subjective sera optimale pour des valeurs entre ces deux extrêmes.
-.
-.TP
-.B vrc_eq=<équation>
-équation principale de contrôle de débit (passe 1/2)
-.RE
-.RSs
-.IPs 1+(tex/\:avgTex-1)*qComp
-approximativement l'équation de l'ancien code de contrôle de débit
-.IPs tex^qComp
-avec qcomp 0.5 ou quelque chose comme ça (par défaut)
-.RE
-.PP
-.RS
-opérateurs infixes\ :
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-variables:
-.RE
-.RSs
-.IPs "tex\ \ "
-complexité de la texture
-.IPs iTex,pTex
-complexité de la texture intra, non-intra
-.IPs avgTex
-complexité moyenne de la texture
-.IPs avgIITex
-complexité de la texture intra dans les trames-I
-.IPs avgPITex
-complexité de la texture intra dans les trames-P
-.IPs avgPPTex
-complexité de la texture non-intra dans les trames-P
-.IPs avgBPTex
-complexité de la texture non-intra dans les trames-B
-.IPs "mv\ \ \ "
-bits utilisés pour les vecteurs de mouvement
-.IPs fCode
-longueur maximum des vecteurs de mouvement en échelle log base 2
-.IPs iCount
-nombre de blocs macro intra / nombre de blocs macro
-.IPs "var\ \ "
-complexité spatiale
-.IPs mcVar
-complexité temporelle
-.IPs qComp
-qcomp depuis la ligne de commande
-.IPs "isI, isP, isB"
-Est égal à 1 si le type d'image est I/P/B, 0 sinon.
-.IPs "Pi,E\ "
-Voir votre livre de maths favori.
-.RE
-.PP
-.RS
-fonctions:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-maximum / minimum
-.IPs gt(a,b)
-est égal à 1 si a>b, 0 sinon
-.IPs lt(a,b)
-est égal à 1 si a<b, 0 sinon
-.IPs eq(a,b)
-est égal à 1 si a==b, 0 sinon
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.PD 1
-.
-.TP
-.B vrc_override=<options>
-Qualité définie par l'utilisateur pour les parties spécifiques (fin,
-remerciements, ...) (passe 1/2).
-Les options sont <trame de début>, <trame de fin>, <qualité>[/<trame de
-début>, <trame de fin>, <qualité>[/...]]:
-.PD 0
-.RSs
-.IPs "qualité (2\-31)"
-quantum
-.IPs "qualité (\-500\-0)"
-correction de qualité en %
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-complexité initiale (passe 1)
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-remplissage initial du tampon, exprimé en tant que fraction de
-vrc_buf_size (par défaut\ : 0.9)
-Indique à l'encodeur quelle quantité de données le lecteur va
-pré-charger dans le vbv-buffer, avant de commencer à les décoder.
-.
-.TP
-.B vqsquish=<0|1>
-Définit comment garder le quantum entre qmin et qmax (passe 1/2).
-.PD 0
-.RSs
-.IPs 0
-Utilise le découpage (clipping).
-.IPs 1
-Utilise une bonne fonction différenciable (par défaut).
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-Définit le coefficient de seuil d'élimination pour la luminance.
-Des valeurs négatives prendront aussi en compte le coefficient DC (qui devrait
-être au moins \-4 ou plus bas pour l'encodage à quant=1):
-.PD 0
-.RSs
-.IPs 0
-désactivé (par défaut)
-.IPs \-4
-recommandation JVT
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-Définit le coefficient de seuil d'élimination pour la chrominance.
-Des valeurs négatives prendront aussi en compte le coefficient DC (qui devrait
-être au moins \-4 ou plus bas pour l'encodage à quant=1):
-.PD 0
-.RSs
-.IPs 0
-désactivé (par défaut)
-.IPs 7
-recommandation JVT
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-conformité stricte au standard
-.PD 0
-.RSs
-.IPs 0
-désactivé
-.IPs 1
-Seulement recommandé si vous voulez fournir la sortie au décodeur MPEG-4 de
-référence.
-.IPs \-1
-Autorise des extensions spécifiques à libavcodec (par défaut).
-.IPs \-2
-Active les codecs et les fonctionnalités expérimentales risquant de ne
-plus pouvoir être lues par les futures versions de MPlayer
-(snow).
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-Partitionnement des données.
-Ajoute 2 octets par paquet vidéo, améliore la résistance aux erreurs
-pendant un transfert sur un canal non-fiable(c-à-d.\& streamer sur l'internet)
-Chaque paquet vidéo sera encodé dans trois partitions différentes:
-.PD 0
-.RSs
-.IPs "1. MVs"
-mouvement
-.IPs "2. coefficients DC"
-image basse résolution
-.IPs "3. coefficients AC"
-détails
-.RE
-.PD 1
-.RS
-MV & DC sont les plus importants, les perdre est bien pire que de perdre les
-partitions AC et 1. & 2.
-(MV & DC) sont bien plus petites que la partition 3. (AC) ce qui veut dire
-que les erreurs atteindrons la partition AC bien plus souvent que les
-partitions MV & DC.
-Ainsi, l'image sera plus belle avec le partitionnement que sans, car sans
-partitionnement une erreur plantera AC/\:DC/\:MV équitablement.
-.RE
-.
-.TP
-.B vpsize=<0\-10000> (voir aussi \-vdpart)
-Taille des paquets vidéo, améliore la résistance aux erreurs.
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-désactivé (par défaut)
-.IPs 100\-1000
-bon choix
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-mode structuré en tranches pour H.263+
-.
-.TP
-.B "gray\ \ \ "
-encodage en niveaux de gris uniquement (plus rapide)
-.
-.TP
-.B vfdct=<0\-10>
-algorithme DCT:
-.PD 0
-.RSs
-.IPs 0
-en sélectionne un bon automatiquement (par défaut)
-.IPs 1
-entier rapide
-.IPs 2
-entier précis
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-nombre flottant AAN
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-algorithme IDCT.
-.I NOTE:
-À notre connaissance tous ces IDCTs réussissent les tests IEEE1180.
-.PD 0
-.RSs
-.IPs 0
-En sélectionne un bon automatiquement (par défaut).
-.IPs 1
-JPEG de référence en entiers
-.IPs 2
-simple
-.IPs 3
-simplemmx
-.IPs 4
-libmpeg2mmx (inadapté, ne pas utiliser en encodant avec keyint >100)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.IPs 10
-simplearm
-.IPs 11
-H.264
-.IPs 12
-VP3
-.IPs 13
-IPP
-.IPs 14
-xvidmmx
-.IPs 15
-CAVS
-.IPs 16
-simplearmv5te
-.IPs 17
-simplearmv6
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-La luminance masking (masquage des zones saturées de lumière) est un
-algorithme psychosensoriel qui est sensé tenir compte de la moindre
-sensibilité rétinienne aux zones saturées de lumière.
-La luminance masking compresse plus fortement les zones très lumineuses,
-économisant ainsi des bits, pouvant être redistribués à d'autres trames,
-augmentant ainsi la qualité subjective globale de la vidéo, tout en
-dégradant probablement un peu le PSNR.
-.br
-.I ATTENTION\ :
-Soyez prudent, un masquage trop violent peut causer des résultats
-désastreux.
-.br
-.I ATTENTION\ :
-De grandes valeurs peuvent paraître bonnes sur certains moniteurs
-mais peuvent être horribles sur d'autres moniteurs.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-désactivé (par défaut)
-.IPs 0.0\-0.3
-intervalle sensé
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-Le darkness masking (masquage des zones sombres) est un
-algorithme psychosensoriel qui est sensé tenir compte de la moindre
-sensibilité rétinienne aux zones plus sombres.
-Le darkness masking compresse plus fortement les zones très sombres,
-économisant ainsi des bits, pouvant être redistribués à d'autres trames,
-augmentant ainsi la qualité subjective globale de la vidéo, tout en
-dégradant probablement un peu le PSNR.
-.br
-.I ATTENTION\ :
-Soyez prudent, un masquage trop violent peut causer des résultats
-désastreux.
-.br
-.I ATTENTION\ :
-De grandes valeurs peuvent paraître bonnes sur certains moniteurs
-mais peuvent être horribles sur d'autres moniteurs / TV / TFT.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-désactivé (par défaut)
-.IPs 0.0\-0.3
-intervalle sensé
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-Masquage de la complexité temporelle (par défaut\ : 0.0 (désactivé)).
-Imaginez une scène avec un oiseau y volant, tcplx_mask va augmenter les
-quantum des macro-blocs décrivant l'oiseau (et donc réduit leur
-qualité) puisque l'oeil humain n'a normalement pas le temps de voir tous
-les détails de l'oiseau.
-Sachez cependant que si l'objet masqué s'arrêtre (ex.\& l'oiseau se pose)
-il est très probable qu'il soit très laid un court instant (jusqu'à ce
-que l'encodeur remarque que l'objet ne bouge plus et doit voir ses blocs
-affinés).
-Les bits économisés seront redistribués au reste de la vidéo, ce qui peut
-en améliorer la qualité subjective, pourvu que la valeur donnée à tcplx_mask
-soit bien choisie.
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-masquage de la complexité spatiale
-De plus grandes valeurs peuvent aider contre l'effet de blocs (blockiness),
-si aucun filtre de déblocage n'est utilisé pendant le décodage, ce qui
-n'est d'ailleurs pas une bonne idée.
-.br
-Imaginez une scène avec une pelouse (caractéristique d'une grande complexité
-spatiale), un ciel bleu et une maison, scplx_mask va augmenter les
-quantum des macro-blocs décrivant la pelouse (et donc réduit leur
-qualité), pour pouvoir distribuer plus de bits au ciel et à la maison.
-.I
-ASTUCE\ :
-Enlevez tous les bords noirs car ils vont réduire la qualité des macro-blocs
-(ce qui est reste vrai, même sans scplx_mask).
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-désactivé (par défaut)
-.IPs 0.0\-0.5
-intervalle sensé
-.RE
-.PD 1
-.sp 1
-.RS
-.I NOTE\ :
-Cette option n'a pas le même effet que l'usage d'une matrice personnalisée
-qui compresserait plus fort les hautes fréquences, puisque scplx_mask
-réduira la qualité des blocs-P même si seulement le DC change.
-scplx_mask ne rendra pas un résultat aussi bon.
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0> (voir aussi vi_qfactor)
-Réduit la qualité des blocs inter, ce qui revient à augmenter celle blocs
-intra, puisque le même bitrate moyen sera distribué par le "rate
-controller" à l'ensemble de la séquence vidéo (par défaut\ : 0.0 (désactivé)).
-p_mask=1.0 double la quantité de bits donnés à chaque bloc intra.
-.
-.TP
-.B border_mask=<0.0\-1.0>
-masquage des bords pour les encodeurs de type MPEG.
-Le masquage des bords augmente les quantum des macro-blocs se situant
-à 1/5e de la largeur/hauteur du bord de la trame, étant donné qu'ils
-ont moins d'importance visuelle.
-.
-.TP
-.B "naq\ \ \ \ "
-Normalise la quantification adaptive (expérimental).
-En utilisant la quantification adaptive (*_mask), le quantum moyen
-par MB peut ne pas correspondre au quantum par trame demandée.
-Naq essaiera d'ajuster les quantum par MB pour maintenir une
-moyenne correcte.
-.
-.TP
-.B "ildct\ \ "
-Utilise une DCT entrelacée.
-.
-.TP
-.B "ilme\ \ \ "
-Utilise l'estimation de mouvement entrelacé (mutuellement exclusif avec qpel)
-.
-.TP
-.B "alt\ \ \ \ "
-Utilise une autre table de scan.
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-automatique
-.IPs 0
-champ du dessous en premier
-.IPs 1
-champ du dessus en premier
-.RE
-.PD 1
-.
-.TP
-.B format=<valeur>
-.PD 0
-.RSs
-.IPs "YV12\ "
-par défaut
-.IPs "444P\ "
-pour ffv1
-.IPs "422P\ "
-pour HuffYUV, JPEG sans perte (lossless), dv et ffv1
-.IPs "411P\ "
-pour JPEG sans perte, dv et ffv1
-.IPs "YVU9\ "
-pour JPEG sans perte, ffv1 et svq1
-.IPs BGR32
-pour JPEG sans perte et ffv1
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(pour HuffYUV)
-.PD 0
-.RSs
-.IPs 0
-prédiction gauche
-.IPs 1
-prédiction plane/\:gradient
-.IPs 2
-prédiction médiane
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(pour jpeg sans perte)
-.PD 0
-.RSs
-.IPs 0
-prédiction à gauche
-.IPs 1
-prédiction en haut
-.IPs 2
-prédiction en haut à gauche
-.IPs 3
-prédiction plane/\:graduelle
-.IPs 6
-prédiction moyenne
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-(pour ffv1)
-.PD 0
-.RSs
-.IPs 0
-codage vlc (Golomb-Rice)
-.IPs 1
-codage arithmétique (CABAC)
-.RE
-.PD 1
-.
-.TP
-.B context
-(pour ffv1)
-.PD 0
-.RSs
-.IPs 0
-petit modèle contextuel
-.IPs 1
-grand modèle contextuel
-.RE
-.PD 1
-.sp 1
-.RS
-(pour ffvhuff)
-.RE
-.PD 0
-.RSs
-.IPs 0
-tables de Huffman pré-calculées (intégrée ou deux passes)
-.IPs 1
-tables de Huffman adaptives
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-Utilise la compensation de mouvement d'une précision d'un quart de pixel.
-.br
-.I ASTUCE\ :
-Cela ne semble utile que pour les encodages à haut débit.
-.
-.TP
-.B mbcmp=<0\-2000>
-Choisit la fonction de comparaison pour décider du meilleur du macroblock
-à coder, n'a d'effet que si mbd=0.
-Est aussi utilisé dans certaines fonctions de recherche de mouvement, auquel cas
-a un effet quelquesoit la valeur de mbd.
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-somme des différences absolues, rapide (par défaut)
-.IPs "1 (SSE)"
-somme des erreurs au carré
-.IPs "2 (SATD)"
-somme des différences absolues de la transformée de Hadamard
-.IPs "3 (DCT)"
-somme des différences absolues de la transformée DCT
-.IPs "4 (PSNR)"
-somme des erreurs de quantification au carré (évitez, mauvaise qualité)
-.IPs "5 (BIT)"
-nombre de bits requis pour le bloc
-.IPs "6 (RD)"
-taux de distortion optimal, lent
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-somme des différences verticales absolues
-.IPs "9 (VSSE)"
-somme des différences verticales absolues au carré
-.IPs "10 (NSSE)"
-somme des différences au carré préservant le bruit
-.IPs "11 (W53)"
-ondelette 5/3, utilisé par Snow
-.IPs "12 (W97)"
-ondelette 9/7, utilisé par Snow
-.IPs "+256\ "
-Utilise également le chroma, ne fonctionne pour le moment pas (correctement)
-avec les trames-B actuellement
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-Choisit la fonction de comparaison pour la décision DCT entrelacé
-(voir mbcmp pour les fonctions de comparaison disponibles).
-.
-.TP
-.B precmp=<0\-2000>
-Choisit la fonction de comparaison pour la pré-passe de l'estimation de
-mouvement
-(voir mbcmp pour les fonctions de comparaison disponibles).
-.
-.TP
-.B cmp=<0\-2000>
-Choisit la fonction de comparaison pour l'estimation de mouvement full pel
-(voir mbcmp pour les fonctions de comparaison disponibles).
-.
-.TP
-.B subcmp=<0\-2000>
-Choisit la fonction de comparaison pour l'estimation de mouvement sub pel
-(voir mbcmp pour les fonctions de comparaison disponibles).
-.
-.B skipcmp=<0\-2000>
-FIXME: Document this.
-.
-.TP
-.B nssew=<0\-1000000>
-Si vous préférez garder du bruit dans votre vidéo encodée au lieu
-de le filtrer avant de l'encoder, cette option contrôle le poids NSSE,
-où de plus grandes valeurs laisseront plus de bruit,
-À 0 NSSE est identique à SSE (par défaut\ 8).
-.
-.TP
-.B predia=<\-99\-6>
-type et taille de diamant pour la pré-passe d'estimation de mouvement
-.
-.TP
-.B dia=<\-99\-6>
-Type et taille de diamant pour l'estimation de mouvement.
-La recherche de mouvement est un processus itératif.
-L'utilisation de diamants plus petits ne limitent pas la recherche à
-de petits vecteurs de mouvement.
-En revanche, la recherche risque de se terminer avant d'avoir trouvé
-celui qui serait vraiment meilleur, surtout en présence de bruit.
-De plus grands diamants permettent une recherche plus étendue du meilleur
-vecteur de mouvement, et sont par conséquent plus lents mais améliorent la
-qualité.
-.br
-Les gros diamants normaux améliorent plus la qualité de leur équivalent à
-dimension adaptative.
-.br
-Les diamants à dimensions adaptatives sont un bon compromis vitesse/\:qualité.
-.br
-.I NOTE:
-Les tailles des diamants normales et celles de ceux à dimensions adaptatives
-n'ont pas la même signification
-.RSs
-.IPs \-3
-dimension adaptative de taille 3 (rapide)
-.IPs \-2
-dimension adaptative de taille 2 (rapide)
-.IPs \-1
-recherche multi-hexagonale irrégulière (lent)
-.IPs 1
-diamant normal de taille=1 (par défaut) = type de diamant EPZS
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-diamant normal de taille=2
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-Quantisation par recherche trellis.
-Ceci trouvera l'encodage optimal pour chaque bloc 8x8.
-La quantification par recherche trellis est en gros une quantification
-optimale en terme de compromis entre PSNR et bitrate (En supposant qu'il
-n'y aurait pas d'erreurs introduites par l'IDCT, ce qui n'est clairement
-pas le cas.).
-Il trouve simplement un bloc ayant le minimum d'erreurs et lambda*bits.
-.PD 0
-.RSs
-.IPs lambda
-constante dépendante des paramètres de quantification (QP)
-.IPs "bits\ "
-quantité de bits requis pour encoder le bloc
-.IPs error
-somme des erreurs au carré de la quantification
-.RE
-.PD 1
-.
-.TP
-.B cbp (trell uniquement)
-Motif de bloc codé optimisant le taux de distortion.
-Sélectionnera le motif de bloc qui minimise la distortion + lambda*débit.
-.
-.TP
-.B "mv0\ \ \ \ "
-Essaie d'encoder chaque MB avec MV=<0,0> et choisit le meilleur.
-Ceci n'a pas d'effet si mbd=0.
-.
-.TP
-.B mv0_threshold=<nombre positif>
-Quand les vecteurs de mouvement des alentours sont <0,0> et que le score
-du bloc courant donné par l'estimation de mouvement est moins que
-mv0_threshold, <0,0> est utilisé comme vecteur de mouvement et la suite
-de l'estimation de mouvement est sauté (par défaut: 256).
-Baisser mv0_threshold à 0 peut permettre une petite augmentation du PSNR
-(0.01dB) et peut-être rendre la vidéo plus jolie\ ; augmenter
-mv0_threshold au-delà de 320 diminue le PSNR PSNR et la qualité visuelle.
-Des valeurs plus grandes accélèrent l'encodage un tout petit peu
-(généralement moins de 1%, en fonction des options utilisées).
-.br
-.I NOTE\ :
-Cette option ne requière pas que mv0 soit activé.
-.
-.TP
-.B qprd (mbd=2 uniquement)
-paramètres de quantification (QP) à taux de distortion optimal pour le
-lambda donné de chaque macrobloc
-.
-.TP
-.B last_pred=<0\-99>
-quantité de prédicteurs de mouvement à partir de la trame précédente
-.PD 0
-.RSs
-.IPs 0
-(par défaut)
-.IPs a
-Utilisera 2a+1 x 2a+1 blocs macro au carré de prédicteurs de vecteur de
-mouvement depuis la trame précédente.
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-pré-passe d'estimation de mouvement
-.PD 0
-.RSs
-.IPs 0
-désactivée
-.IPs 1
-uniquement après les trames-I (par défaut)
-.IPs 2
-toujours
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-qualité de raffinement subpel (pour qpel) (par défaut\ : 8)
-.I NOTE:
-Ceci a un effet significatif sur la vitesse.
-.
-.B refs=<1\-8> (Snow uniquement)
-nombre de trames utilisées comme références lors de la compensation
-de mouvement (par défaut\ : 1)
-.
-.TP
-.B "psnr\ \ \ "
-Affiche le PSNR (peak signal to noise ratio, Raport Signal sur Bruit)
-pour l'ensemble de la vidéo après l'encodage et stocke le PSNR par trame
-dans un fichier comme 'psnr_012345.log'.
-Les valeurs retournées sont en dB (décibel), le plus haut est le mieux.
-.
-.TP
-.B mpeg_quant
-Utilise les quantum MPEG au lieu de H.263.
-.
-.TP
-.B "aic\ \ \ \ "
-Active la prédiction AC pour MPEG-4 ou la prédiction intra avancée pour
-H.263+.
-Améliore un petit peu la qualité (environ 0.02 dB de PSNR) et réduit
-un peu la rapidité d'encodage (environ about 1%).
-.br
-.I NOTE\ :
-vqmin devrait être égal à 8 ou plus pour H263+ AIC.
-.
-.TP
-.B "aiv\ \ \ \ "
-alternatice inter vlc pour H.263+
-FIXME: N'explique pas grand-chose.
-.
-.TP
-.B umv
-Vecteurs de Mouvement illimités (H.263+ uniquement)
-Autorise l'encodage de Vecteurs de Mouvements de longueur arbitraire.
-.
-.TP
-.B ibias=<\-256\-256>
-polarisation intra quantum (256 équivaut à 1.0, les quantum
-de type MPEG par défaut\ : 96, les quantum de type H.263
-par défaut\ : 0)
-.br
-.I NOTE\ :
-Le quantum H.263 MMX ne peut pas gérer de polarisations positives
-(choisir vfdct=1 ou 2).
-Le quantum MPEG MMX ne peut pas gérer de polarisations négatives
-(choisir vfdct=1 ou 2)
-.
-.TP
-.B pbias=<\-256\-256>
-polarisation inter quantum (256 équivaut à 1.0, les quantum
-de type MPEG par défaut\ : 0, les quantum de type H.263
-par défaut\ : \-64)
-.br
-.I NOTE\ :
-Le quantum H.263 MMX ne peut pas gérer de polarisations positives
-(choisir vfdct=1 ou 2)
-Le quantum MPEG MMX ne peut pas gérer de polarisations negatives
-(choisir vfdct=1 ou 2)
-.br
-.I ASTUCE\ :
-Une polarisation plus positive (\-32\- \-16 au lieu de \-64) semble améliorer
-le PSNR
-.
-.TP
-.B nr=<0\-100000>
-Réduction du bruit, 0 signifie désactivé.
-Les valeurs typiques se situent dans l'intervalle 0\-600 pour la plupart
-des vidéos, mais vous pouvez essayer des valeurs un peu plus grandes pour
-des vidéos particulièrement bruitées (par défaut\ : 0).
-Étant donné son faible impact sur la vitesse d'encodage, vous pouvez
-essayer cette option à la place des filtres de débruitage vidéo tels que
-denoise3d ou hqdn3d.
-.
-.TP
-.B qns=<0\-3>
-Quantification d'après un modèle de bruit.
-Au lieu d'effectuer la quantification dans le but d'essayer d'obtenir l'image la
-plus fidèle d'un point de vue PSNR, la quantification sera faite de façon à
-ce que le bruit (souvent le "ringing") soit masqué par des données de
-fréquence similaire dans l'image.
-Ceci peut et doit être utilisé avec la quantification par treillis, dans ce
-cas la quantification par trellis (optimale pour un poids constant) sera
-utilisée comme point de départ pour la recherche itérative.
-.PD 0
-.RSs
-.IPs 0
-désactivé (par défaut)
-.IPs 1
-Baisse uniquemement la valeur absolue des coefficients.
-.IPs 2
-Change uniquement les coefficients avant le coefficient non null + 1.
-.IPs 3
-Essaie tout.
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<matrice séparée par des virgules>
-Utilise une matrice inter personnalisée. Cela requiert une chaine de 64 entiers
-séparés par des virgules.
-.
-.TP
-.B intra_matrix=<matrice séparée par des virgules>
-Utilise une matrice intra personnalisée. Cela requiert une chaine de 64 entiers
-séparés par des virgules.
-.
-.TP
-.B vqmod_amp
-modulation de quantum expérimental
-.
-.TP
-.B vqmod_freq
-modulation de quantum expérimental
-.TP
-.B "dc\ \ \ \ \ "
-Précision DC intra en bits (par défaut\ : 8).
-Si vous utilisez vcodec=mpeg2video cette valeur peut être 8, 9, 10 ou 11.
-.
-.TP
-.B cgop (voir aussi sc_threshold)
-Ferme tous les GOPs (groupes de trames).
-Ne fonctionne pour le moment que si la détection de changement de scène
-est désactivée (sc_threshold=1000000000).
-.
-.TP
-.B "gmc\ \ \ \ "
-Active la compensation de mouvement globale (Global Motion Compensation).
-.
-.TP
-.B (no)lowdelay
-Active le drapeau de délais pour MPEG-1/2 (désactive les trames-B).
-.
-.TP
-.B vglobal=<0\-3>
-Contrôle l'écriture des en-têtes vidéos globales.
-Control writing global video headers.
-.PD 0
-.RSs
-.IPs 0
-Laisse le codec décider où écrire les en-têtes vidéos globales
-(par défaut).
-.IPs 1
-N'écrit les en-têtes vidéos globales que dans les données extras (requis
-pour .mp4/MOV/NUT).
-.IPs 2
-N'écrit les en-têtes vidéos globales que devant les trames-clées.
-.IPs 3
-Combine 1 et 2.
-.RE
-.PD 1
-.
-.TP
-.B aglobal=<0\-3>
-Pareil que vglobal pour les en-têtes audios.
-.
-.TP level=<valeur>
-Spécifie le niveau CodecContext Level.
-Utilisez 31 ou 41 pour pouvoir lire la vidéo sur une Playstation 3.
-.
-.TP
-.B skip_exp=<0\-1000000>
-FIXME: Document this.
-.
-.TP
-.B skip_factor=<0\-1000000>
-FIXME: Document this.
-.
-.TP
-.B skip_threshold=<0\-1000000>
-FIXME: Document this.
-.
-.
-.SS nuv (\-nuvopts)
-.
-Nuppel video est basé sur RTJPEG et LZO.
-Par défaut les trames sont d'abord encodées avec RTJPEG et ensuite avec LZO,
-mais il est possible de désactiver chaque passe, ou les deux.
-Cela vous permet d'obtenir du i420 brut, du i420 compressé par LZO, du
-RTJPEG, ou le RTJPEG compressé par LZO.
-.br
-.I NOTE:
-La documentation de nuvrec contient quelques conseils et exemples sur les
-paramètres à utiliser avec les encodages TV courants.
-.
-.TP
-.B c=<0\-20>
-seuil de chrominance (par défaut\ : 1)
-.
-.TP
-.B l=<0\-20>
-seuil de luminance (par défaut\ : 1)
-.
-.TP
-.B "lzo\ \ \ \ "
-Active la compression LZO (par défaut).
-.
-.TP
-.B "nolzo\ \ "
-Désactive la compression LZO.
-.
-.TP
-.B q=<3\-255>
-niveau de qualité (par défaut: 255)
-.
-.TP
-.B "raw\ \ \ "
-Désactive l'encodage RTJPEG.
-.
-.TP
-.B "rtjpeg\ "
-Active l'encodage RTJPEG (par défaut).
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-Il y a trois modes disponibles: débit binaire constant (CBR), quantum
-fixe et deux passes.
-.
-.TP
-.B pass=<1|2>
-Définit la passe en mode deux passes.
-.
-.TP
-.B turbo (deux passes uniquement)
-Accélère énormément la première passe en utilisant des algorithmes plus
-rapides et en désactivant des options gourmandes en temps processeur.
-Cela va sans doute diminuer le PSNR global et changer un peu plus le type
-et le PSNR des trames générées.
-.
-.TP
-.B bitrate=<valeur> (CBR ou mode deux passes)
-Fixe le débit binaire (bitrate) à utiliser en koctets/\:seconde si <16000 ou
-en bits/\:seconde
-si >16000.
-Si <valeur> est un nombre négatif, Xvid l'interprètera comme la taille
-visée de la vidéo (défaut\ : 687 kbits/s).
-.
-.TP
-.B fixed_quant=<1\-31>
-Passe en mode quantum fixe et définit le quantum à utiliser.
-.
-.TP
-.B zones=<zone0>[/<zone1>[/...]] (CBR ou mode deux passes)
-Personnalisation de la qualité de parties spécifiques (générique du
-début, de fin...).
-Chaque zone est définie par <trame-du-debut>,<mode>,<valeur> où <mode>
-peut être
-.PD 0
-.RSs
-.IPs "q"
-Forçage à quanta constant, où valeur=<2.0\-31.0>
-represente la valeur de quanta.
-.IPs "w"
-Forçage du poids du contrôleur de flux, où valeur=<0.01\-2.00>
-représente la correction de qualité en %.
-.RE
-.PD 1
-.sp 1
-.RS
-.I EXEMPLE:
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-Encode les trames depuis la trame 90000 à quanta constant 20.
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-Encode les trames 0\-10000 à 10% de bitrate, encode les trames de 90000
-jusqu'à la fin à quanta constant 20.
-Notez que la seconde zone est nécessaire pour arrêter la première zone,
-puisque sans cela toutes les trames jusqu'à la trame 89999 seraient
-encodées à 10% du bitrate.
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-Contrôle la qualité de détection de mouvement.
-Plus cette valeur est grande et plus l'évaluation est fine et utilise
-judicieusement les bits (par défaut\ : 6).
-En revanche, cette plus grande finesse se paye par un temps d'encodage plus
-long; aussi, si vous devez faire un encodage en temps réel, agissez sur ce
-paramètre.
-.
-.TP
-.B (no)qpel
-MPEG-4 recherche par défaut les mouvements avec une précision d'un demi-pixel.
-Il est néanmoins possible de faire une recherche avec une précision d'un
-quart de pixel, ce qui permet généralement d'obtenir une image plus
-détaillée et d'économiser des bits en description de mouvement.
-Malheureusement, cette plus grande précision consomme une partie de la bande
-passante vidéo, ainsi cette option peut aussi bien dégrader la qualité
-de l'image que l'améliorer.
-Le mieux est donc de comparer la vidéo obtenue avec et sans cette option et
-de ne garder que celle qui vous paraît la plus fidèle (qui n'est pas
-forcément celle dont le PSNR est le plus élevé).
-.
-.TP
-.B (no)gmc
-Active la Compensation de Mouvement Globale, ce qui permet à Xvid d'engendrer
-des trames spéciales (trames GMC), particulièrement adaptées aux mouvements
-de travelling/\:zoom/\:rotation.
-L'efficacité de cette option en terme d'économie de bits est très dépendante
-du type de vidéo source.
-.
-.TP
-.B (no)trellis
-La quantification trellis est un type d'encodage adaptatif qui permet
-d'économiser des bits en modifiant les coefficients de quantification pour
-augmenter la compressibilité de la vidéo.
-À même temps de calcul, cela améliore plus la qualité visuelle
-que de jouer sur les options VHQ .
-Aussi, dans un contexte d'encodage temps réel, pensez à cette option
-(par défaut\ : activé).
-.
-.TP
-.B (no)cartoon
-Ceci est un mode spécial d'Xvid permettant de mieux tenir compte des grands
-à-plats de couleur que l'on trouve typiquement dans les dessins animés.
-.
-.TP
-.B (no)chroma_me
-Utilise l'information chroma en plus de la luma pour estimer le mouvement.
-Suivant le type de vidéo encodée, cette option peut aider à trouver de
-meilleurs vecteurs de mouvement (par défaut\ : activé).
-.
-.TP
-.B (no)chroma_opt
-Active un préfiltre d'optimisation chroma qui améliore la qualité
-.I subjective
-de l'image, tout en dégradant sensiblement le PSNR et la vitesse d'encodage.
-Étant donné que cette option travaille sur l'information de chroma, vous
-pouvez désactiver cette option lors d'un encodage en noir et blanc.
-.
-.TP
-.B (no)hq_ac
-Active une meilleure prédiction des composantes AC pour les blocks intra
-en prenant en compte les blocs voisins (par défaut\: activé).
-.
-.TP
-.B vhq=<0\-4>
-L'algorithme de recherche de mouvement s'efforce de trouver un vecteur de
-mouvement qui minimise la différence entre la trame de référence et la trame
-encodée.
-Cette option permet à Xvid de faire aussi sa recherche dans le domaine
-fréquentiel (DCT), pour obtenir non seulement un vecteur de mouvement qui
-minimise la différence spatiale du vecteur de mouvement mais aussi la
-longueur du bloc.
-Du plus rapide au plus lent\ :
-.PD 0
-.RSs
-.IPs 0
-off
-.IPs 1
-sélection du mode (inter/\:intra MB) (par défaut)
-.IPs 2
-recherche limitée
-.IPs 3
-recherche moyenne
-.IPs 4
-recherche large
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-La quantification adaptative permet aux quanta des macro-blocs de
-varier à l'intérieur de chaque trame.
-Il s'agit ici d'un algorithme psychosensoriel sensé tenir compte
-de la moindre sensibilité rétinienne aux zones saturées de lumière
-ou plongées dans le noir.
-Ces zones seront alors compressées plus fortement que les zones
-intermédiaires, économisant ainsi des bits pouvant être redistribués
-à d'autres trames, augmentant ainsi la qualité subjective globale
-de la vidéo, tout en dégradant probablement un peu le PSNR.
-.
-.TP
-.B (no)grayscale
-Indique à Xvid de ne pas enregistrer l'information de chroma pour que la
-vidéo produite ne soit qu'en noir & blanc.
-Notez que cela ne changera en rien le temps de compression, cela évitera juste
-d'avoir l'information de chroma présente dans le fichier vidéo.
-.
-.TP
-.B (no)interlacing
-Active la gestion des vidéos entrelacées.
-L'encodage se fera en tenant compte des champs de la vidéo entrelacée.
-.br
-.I NOTE\ :
-Si vous redimmensionnez la vidéo, vous devriez utiliser un filtre de
-redimentionnement adapté à ce genre de vidéo, ce qui se fait avec
-\-vf scale=<largeur>:<hauteur>:1.
-.
-.TP
-.B min_iquant=<0\-31>
-quantum minimum pour les trames-I (par défaut\ : 2)
-.
-.TP
-.B max_iquant=<0\-31>
-quantum maximum pour les trames-I (par défaut\ : 31)
-.
-.TP
-.B min_pquant=<0\-31>
-quantum minimum pour les trames-P (par défaut\ : 2)
-.
-.TP
-.B max_pquant=<0\-31>
-quantum maximum pour les trames-P (par défaut\ : 31)
-.
-.TP
-.B min_bquant=<0\-31>
-quantum minimum pour les trames-B (par défaut\ : 2)
-.
-.TP
-.B max_bquant=<0\-31>
-quantum maximum pour les trames-B (par défaut\ : 31)
-.
-.TP
-.B min_key_interval=<valeur> (mode deux passes uniquement)
-Intervalle minimum entre les trames-clés.
-S'exprime en tant que gain en pourcentage, pour lequel la
-valeur 10 donnera au trames-clé 10% de plus de bits que
-la normale
-(par défaut\ : 0).
-.
-.TP
-.B max_key_interval=<valeur>
-intervalle maximum entre les trames-clés (par défaut\ : 10*fps)
-.
-.TP
-.B quant_type=<h263|mpeg>
-Définit le type de quantum à utiliser.
-À débit binaire plutôt élevé (> 950kb), les quantum MPEG ont tendance à
-conserver plus de détails.
-À faible débit binaire, H.263 adoucit plus les traits de l'image et donnera une
-image où les macro-blocs se verront moins.
-Si vous utilisez vos propres matrices de quantification, vous
-.B devez
-utiliser la quantification MPEG.
-.
-.TP
-.B quant_intra_matrix=<nom_fichier>
-Charge une matrice intra personnalisée.
-Vous pouvez construire de tels fichiers avec l'éditeur de matrices de
-xvid4conf.
-.
-.TP
-.B quant_inter_matrix=<filename>
-Charge une matrice inter personnalisée.
-Vous pouvez construire de tels fichiers avec l'éditeur de matrices de
-xvid4conf.
-.
-.TP
-.B keyframe_boost=<0\-1000> (mode deux passes uniquement)
-Emprunte des bits depuis les autres "pools" de trames vers les trames-clés
-pour augmenter la qualité des trames-clés
-(défaut\ : 0).
-.
-.TP
-.B kfthreshold=<valeur> (mode deux passes uniquement)
-S'utilise de pair avec kfreduction.
-Définit la distance minimale en dessous de laquelle vous considérez
-que deux trames-clés sont vues comme consécutives et traitées
-différemment en fonction de kfreduction
-(défaut\ : 0).
-.
-.TP
-.B kfreduction=<0\-100> (mode 2passes uniquement)
-Les deux options ci-dessus contrôlent la taille des trames-clés qui vous
-semblent trop proches l'une de l'autre.
-kfthreshold contrôle la réduction de la distance inter trames-clés et
-kfreduction contrôle leur réduction de débit binaire.
-La dernière trame-clé est traitée normalement.
-(défaut\ : 0)
-.
-.TP
-.B max_bframes=<0\-4>
-Nombre maximum de trames-B à insérer entre les trames-I/P
-(par défaut\ : 2).
-.
-.TP
-.B bquant_ratio=<0\-1000>
-rapport de quantum entre les trames-B et non-B, 150=1.50
-(par défaut\ : 150)
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-offset de quantum entre les trames-B et non-B, 100=1.00
-(par défaut\ : 100)
-.
-.TP
-.B bf_threshold=<\-255\-255>
-Cette option permet de changer la probabilité qu'une trame soit une trame-B.
-Plus la valeur est haute, plus la probabilité que la trame générée soit
-une trame-B est forte (par défaut\ : 0).
-Gardez à l'esprit que les trames-B ont généralement un quanta plus
-élevé, ainsi une production excessive de trames-B peut dégrader la
-qualité visuelle.
-.
-.TP
-.B (no)closed_gop
-Cette option demande à Xvid de fermer chaque GOP (Group Of Pictures\ :
-Groupe D'Images encadrées par deux trames-I), ce qui signifie que chaque
-GOP sera indépendant des GOP suivants.
-Ceci implique que la dernière trame du GOP est soit une trame-P ou une
-trame-N, mais pas une trame-B.
-Il est plutôt recommandé d'activer cette option (par défaut\ : activé).
-.
-.TP
-.B (no)packed
-Cette option a pour but de résoudre les problèmes de l'ordre des trames
-lorsque l'encodage est fait vers un container comme AVI qui ne gère pas
-les trames dans le désordre.
-En pratique, la plupart des décodeurs (autant logiciels que matériels)
-sont capables de gérer les trames dans le désordre eux-même, et peuvent
-même être gênés lorsque cette option est activée, c'est pourquoi vous
-pouvez sans problème laisser cette option désactivée, à moins de savoir
-précisément ce que vous faites.
-.br
-.I ATTENTION\ :
-Ceci engendrera un flux de bits illégal vis à vis de la norme MPEG-4,
-et NE SERA PAS décodable par les décodeurs excepté DivX/\:libavcodec/\:Xvid.
-.br
-.I ATTENTION\ :
-Ceci ajoutera également une fausse version de divx dans le fichier donc
-l'autodétection de bogues risque de ne pas fonctionner.
-.
-.TP
-.B frame_drop_ratio=<0\-100> (max_bframes=0 uniquement)
-Cette option vous permet de créer les flux vidéo à débit de trame variable.
-Le paramètre définit un seuil en dessous duquel, si la différence
-entre la trame précédente et la suivante est plus grande ou égale à ce
-seuil, la trame n'est pas codée (une trame appelée n-vop se sera juste
-présente dans le flux).
-Lors de la lecture, la n-vop sera jouée en affichant la trame précédente.
-.br
-.I ATTENTION\ :
-Une mauvaise utilisation de cette option peut produire des vidéos de très
-mauvaise qualité, soyez prévenus\ !
-.
-.TP
-.B rc_reaction_delay_factor=<valeur>
-Définit avec quelle rapidité le contrôleur de débit binaire CBR réagira à un
-changement de débit binaire et s'efforcera de le compenser pour obtenir un
-débit binaire constant sur cet ensemble de trames.
-.
-.TP
-.B rc_averaging_period=<valeur>
-Un encodage à débit binaire vraiment constant est très difficile à réaliser.
-En fonction du type de scène, le débit binaire peut fortement varier et peut
-être difficile à prédire.
-C'est pourquoi Xvid essaye plutôt de garantir ce débit binaire sur <valeur>
-nombre de trames.
-.
-.TP
-.B rc_buffer=<valeur>
-Taille du tampon de contrôle du débit.
-.
-.TP
-.B curve_compression_high=<0\-100>
-Cette option permet à Xvid de voler un certain pourcentage de bits aux
-scènes mouvementées pour les remettre dans le "pool" de bits.
-Vous pouvez par exemple agir sur cette option si vous avez un film
-dont les scènes mouvementées monopolisent tellement de bits que les scènes
-moins rapides en souffrent (par défaut\ : 0).
-.
-.TP
-.B curve_compression_low=<0\-100>
-Cette option permet à Xvid de donner un certain pourcentage de bits en
-plus aux scènes lentes, en prenant quelques bits tout au long du film.
-Vous pouvez agir sur cette option si vous avez quelques scènes lentes qui
-sont encore "blocky" (de gros blocs apparaissent sur l'image)
-(par défaut\ : 0).
-.
-.TP
-.B overflow_control_strength=<0\-100> (mode 2-passes uniquement)
-Lors de la première passe de l'encodage 2-passes, une courbe de bitrate
-normalisée à 100 est calculée.
-La différence entre cette courbe et le résultat obtenu lors de l'encodage
-effectif est appelée "overflow".
-Bien évidemment, la deuxième passe s'efforce de compenser cet overflow,
-en le distribuant sur toutes les trames suivantes.
-Cette option vous permet de contrôler quelle fraction de cet overflow est
-distribuée à chaque nouvelle trame.
-Une valeur basse permet un contrôle de l'overflow paresseux, où des grosses
-demandes de bitrate sont compensées lentement (ce qui peut faire beaucoup
-varier la taille des petites vidéos).
-Une valeur plus haute rendra la re-distribution de bits plus brusque,
-peut-être même trop brusque si vous lui donnez une valeur trop importante,
-ce qui créera des artefacts (par défaut\ : 5).
-.br
-.I NOTE\ :
-Cette option a un grand impact sur le résultat final, soyez prévenus!
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-Lors de l'allocation de bits aux trames, le contrôleur d'overflow peut
-faire croître la taille de la trame.
-Cette option contrôle le pourcentage maximum d'accroissement par rapport
-à la courbe de bits calculée en première passe (par défaut\ : 5).
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-Lors de l'allocation de bits aux trames, le contrôleur d'overflow peut
-diminuer la taille de la trame.
-Cette option contrôle le pourcentage maximum de diminution par rapport
-à la courbe de bits calculée en première passe (par défaut\ : 5).
-.
-.TP
-.B container_frame_overhead=<0...>
-Définit l'overhead moyen par trame, en octets.
-La plupart des utilisateurs indiquent la taille visée de leur vidéo
-sans tenir compte de l'overhead du conteneur vidéo.
-Ce petit, mais à peu près constant overhead peut faire excéder la taille
-du fichier généré.
-Xvid permet aux utilisateurs de donner le l'overhead par trame de
-leur conteneur (donner une moyenne par trame).
-0 a un sens particulier, il laisse Xvid prendre la valeur par défaut.
-(par défaut\ : 24 \- l'overhead moyen d'AVI).
-.
-.TP
-.B profile=<nom_du_profil>
-Restreint les options et le VBV (bitrate maximal sur une courte période)
-d'après les profils Simple, Advanced Simple et ceux de DivX.
-La vidéo obtenue devrait être visionnable sur les platines de salon et les
-lecteurs exigeant ces profils.
-.PD 0
-.RSs
-.IPs unrestricted
-Pas de restriction (par default)
-.IPs "sp0\ \ "
-simple profile niveau 0
-.IPs "sp1\ \ "
-simple profile niveau 1
-.IPs "sp2\ \ "
-simple profile niveau 2
-.IPs "sp3\ \ "
-simple profile niveau 3
-.IPs "asp0\ "
-advanced simple profile niveau 0
-.IPs "asp1\ "
-advanced simple profile niveau 1
-.IPs "asp2\ "
-advanced simple profile niveau 2
-.IPs "asp3\ "
-advanced simple profile niveau 3
-.IPs "asp4\ "
-advanced simple profile niveau 4
-.IPs "asp5\ "
-advanced simple profile at level 5
-.IPs dxnhandheld
-Profil DivX pour appareils de poche
-.IPs dxnportntsc
-Profil DivX NTSC pour les appareils mobiles
-.IPs dxnportpal
-Profil DivX PAL pour les appareils mobiles
-.IPs dxnhtntsc
-Profil DivX NTSC pour le home cinéma
-.IPs dxnhtpal
-Profil DivX PAL pour le home cinéma
-.IPs dxnhdtv
-Profil DivX NTSC pour la TV HD
-.RE
-.PD 1
-.RS
-.I NOTE\ :
-Ces profils devraient être utilisés en conjonction du \-ffourcc approprié.
-En général, DX50 convient, étant donné que certains lecteurs ne reconnaissent
-pas Xvid mais reconnaissent DivX.
-.RE
-.
-.TP
-.B par=<mode>
-Définit le mode de Pixel Aspect Ratio\ : Rapport largeur/\:hauteur des Pixels
-(à ne pas confondre avec le DAR, Display Aspect Ratio\ :
-Rapport hauteur/\:largeur d'affichage).
-PAR est le ratio entre la largeur et la hauteur d'un pixel.
-Ils sont tous deux liés par la formule\ : DAR = PAR * (largeur/hauteur).
-.br
-MPEG-4 défini 5 PAR et un étendu, pour permettre de définir des PAR
-particuliers.
-5 modes standard peuvent être définis\ :
-.PD 0
-.RSs
-.IPs vga11
-C'est le PAR classique des vidéos informatiques.
-Les pixels sont carrés.
-.IPs pal43
-le PAR du standard PAL 4:3.
-Pixels are rectangles.
-.IPs pal169
-comme ci-dessus
-.IPs ntsc43
-comme ci-dessus
-.IPs ntsc169
-comme ci-dessus (N'oubliez pas de donner le ratio exact.)
-.IPs "ext\ \ "
-Permet de définir un PAR particulier avec les options par_width et par_height.
-.RE
-.PD 1
-.RS
-.I NOTE\ :
-Généralement, on peut se contenter d'utiliser les options aspect et
-autoaspect.
-.RE
-.
-.TP
-.B par_width=<1\-255> (par=ext uniquement)
-Définit la largeur du PAR particulier.
-.
-.TP
-.B par_height=<1\-255> (par=ext uniquement)
-Définit la hauteur du PAR particulier.
-.
-.TP
-.B aspect=<x/y | f (nombre flottant)>
-Stocke le rapport hauteur/\:largeur du film en interne, tout comme les fichiers
-MPEG.
-C'est une meilleure solution que le redimensionnement, parce que la qualité
-n'est pas altérée.
-MPlayer et quelques autres lecteurs liront ces fichiers correctement, les
-autres l'afficheront avec un mauvais rapport hauteur/\:largeur.
-Le paramètre aspect peut être donné en ratio ou en nombre flottant.
-.
-.TP
-.B (no)autoaspect
-Même chose que l'option aspect mais calcule automatiquement le rapport
-hauteur/\:largeur, en prenant en compte les ajustements faits par la chaîne de
-filtres
-(découpage/\:expansion/\:redimensionnement/\:etc...).
-.
-.TP
-.B "psnr\ \ \ "
-affiche le PSNR (peak signal to noise ratio\ : rapport du signal crête sur
-bruit) pour l'ensemble de la vidéo après encodage et stocke le PSNR par trame
-dans un fichier portant un nom tel que 'psnr_hhmmss.log'.
-Les valeurs renvoyées sont en dB (décibel), plus elles sont hautes, plus la
-vidéo générée est fidèle à l'originale.
-.
-.TP
-.B "debug\ \ "
-Sauve les statistiques par trames dans ./xvid.dbg. (Ce n'est pas le
-fichier de contrôle 2passes.)
-.
-.PP
-.sp 1
-L'option suivante n'est disponible que dans les versions 1.1.x de Xvid.
-.
-.TP
-.B bvhq=<0|1>
-Cette option permet une sélection des différents candidats de vecteurs
-de mouvement pour les trames-B d'après leur taux de distortion,
-ce qui correspond à ce que fait l'option vhq avec les trames-P.
-Cela produit des trames-B plus jolies sans pour autant avoir un impact
-significatif sur le temps de calcul (par défaut\: 1).
-.
-.PP
-.sp 1
-L'option suivante n'est disponible que dans la version 1.2.x de Xvid.
-.
-.TP
-.B threads=<0\-n>
-Crée n threads pour effectuer la recherche de mouvements (par défaut\ : 0).
-Le nombre maximum de threads qui peuvent être utilisés est la hauteur de
-l'image divisé par 16.
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<valeur>
-Fixe le débit binaire (bitrate) moyen à utiliser en kbits/\:seconde
-(par défaut\ : désactivé).
-Etant donné que le débit binaire peut varier, cette moyenne peut ne
-pas être respectée pour des vidéos très courtes (voir ratetol).
-Pour un encodage en débit binaire constant (CBR), vous devez utiliser
-cette option accompagnée de vbv_maxrate, pour une qualité finale
-significativement moins bonne.
-.
-.TP
-.B qp=<0\-51>
-Définit le quantum à utiliser pour les trames-B.
-Une valeur comprise dans l'intervalle 20\-40 semble convenir.
-Une valeur plus faible code l'image plus fidèlement, mais prend plus de place.
-0 est le mode sans perte (lossless).
-Notez que la quantification dans H.264 fonctionne différemment de MPEG-1/2/4\ :
-l'échelle des paramètres de quantification (QP) de H.264 est logarithmique.
-L'équivalence est approximativement H264QP = 12 + 6*log2(MPEGQP).
-Par exemple, MPEG à QP=2 est équivalent à H.264 à QP=18.
-.
-.TP
-.B crf=<1.0\-50.0>
-Active le mode qualité constante, et choisi la qualité.
-L'échelle est similaire à QP.
-Tout comme les modes basés sur le bitrate, celui-ci permet aux trames
-d'utiliser des QP différents en fonction de la complexité de la trame.
-.
-.TP
-.B pass=<1\-3>
-Active le mode 2 ou 3-passes.
-Il est recommandé de toujours encoder en mode 2 ou 3 passes puisque cela
-permet une distribution plus adéquate des bits et améliore la qualité
-globale.
-.PD 0
-.RSs
-.IPs 1
-première passe
-.IPs 2
-seconde passe
-.IPs 3
-Nième passe (seconde et troisième passes de l'encodage trois passes)
-.RE
-.RS
-Voici comment cela fonctionne, et comment l'utiliser\ :
-.br
-La première passe (pass=1) écrit le fichier de statistiques.
-Vous devriez désactiver des options gourmandes en temps processeur.
-.br
-En mode deux passes, la seconde passe (pass=2) se base sur le fichier de
-statistiques pour allouer le bon nombre de bits aux trames (ratecontrol).
-.br
-En mode trois passes, la seconde passe (pass=3, non ce n'est pas une
-erreur) fait les deux\ : elle lit le fichier de statistiques, puis ré-écrit
-par dessus.
-Vous devriez utiliser toutes les options d'encodage, à l'exception de celles
-vraiment très gourmandes.
-.br
-La troisième passe (pass=3) fait la même chose que la seconde, à la
-différence près qu'elle dispose des statistiques de la deuxième passe pour mieux
-travailler.
-Vous pouvez utiliser toutes les options d'encodage, même les plus
-gourmandes.
-.br
-La première passe peut être effectuée à un débit binaire moyen (ABR) ou
-à quanta constant.
-Le mode ABR est recommandé puisqu'il ne nécessite pas que vous deviniez
-le quanta à utiliser.
-Les passes suivantes sont ABR (débit binaire moyen), et vous devez définir
-un débit binaire.
-.REss
-.
-.TP
-.B turbo=<0\-2>
-Mode première passe rapide.
-Lors de la première passe d'un encodage deux (ou plus) passes, il est
-possible de gagner en vitesse en désactivant certaines options sans que
-cela ait d'effet notable, ou même sans aucun effet sur la qualité des
-statistiques récoltées lors de la première passe.
-.PD 0
-.RSs
-.IPs 0
-désactivé (par défaut)
-.IPs 1
-Diminue subq, frameref et désactive quelques modes d'analyses de partitions
-inter-macrobloc.
-.IPs 2
-Diminue subq et frameref à 1, utilise la recherche ME diamant et désactive
-tous les modes d'analyses de partitions.
-.RE
-.RS
-Le niveau 1 peut accélérer la première passe jusqu'à 2x sans affecter le
-PSNR global de la dernière passe si vous l'aviez lancée en qualité optimale.
-.br
-Le niveau 2 peut accélérer la première passe jusqu'à 4x avec un changement
-du PSNR global de +/\- 0.05dB par rapport à celui obtenu avec une première
-passe à qualité optimale.
-.REss
-.
-.TP
-.B keyint=<valeur>
-Définit l'intervalle maximum autorisé entre trames-IDR (par défaut\ : 250).
-Un intervalle plus grand fait économiser des bits, et donc améliore la
-qualité, mais rend la navigation (seeking) moins précise.
-Contrairement à MPEG-1/2/4, H.264 ne souffre d'aucune dérive DCT avec des
-grandes valeurs de keyint.
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-Définit l'intervalle minimum entre chaque trame-IDR
-(par défaut\ : 25).
-Si des changements de scène apparaissent dans cet intervalle, ils seront
-quand même encodés en trame-I, mais n'initient pas un nouveau GOP.
-En H.264, les trames-I n'encadrent pas nécessairement un groupe fermé de
-trames prédites (closed GOP) car une trame-P peut aussi être prédite
-à partir d'autres trames que celles la précédant (voir aussi frameref).
-Ainsi, les trames-I ne permettent pas nécessairement une navigation précise
-dans le film.
-Les trames-IDR empêchent les trames-P qui les suivent d'être prédites à partir
-de trames précédant les trames-IDR.
-.
-.TP
-.B scenecut=<\-1\-100>
-Contrôle avec quelle insistance on insère les trames-I en plus, par exemple
-lors des changements de scène.
-(par défaut\ 40).
-Avec une valeur de scenecut faible, le codec aura tendance à ne mettre des
-trames-I que toutes les <keyint> trames.
-Une bonne valeur de scenecut est celle qui place une trame-I de façon la
-plus optimale.
-Avec une valeur trop grande, il sera choisi plus de trames-I, ce qui
-gâche des bits.
-\-1 désactive la détection des changements de scène, ainsi les trames-I ne
-seront insérées que toutes les keyint trames, même s'il vient d'y avoir
-un changement de scène.
-Cela n'est guère recommandé et gâche des bits puisque les changements de
-scène encodés par des trames-P sont aussi coûteux en bits que les trames-I,
-mais ne remettent pas à zéro le "compteur keyint".
-.
-.TP
-.B frameref=<1\-15>
-Nombre des trames précédentes à utiliser comme prédicteur pour les
-trames-B et -P (par défaut\ : 1).
-Est efficace avec les dessins animés, mais avec des films dont les
-sujets sont réels, on n'observe plus d'amélioration significative
-au-delà d'environ 6 trames de référence.
-N'a pas d'effet sur le temps de décodage, mais augmente la quantité
-de mémoire nécessaire pour le décodage.
-Quelques décodeurs ne gèrent qu'au plus 15 trames de référence.
-.
-.TP
-.B bframe=<0\-16>
-nombre maximum de trames-B consécutives entre les trames-I et -P
-(par défaut\ : 0)
-.
-.TP
-.B (no)b_adapt
-Décide automatiquement quand utiliser des trames-B et combien, jusqu'au
-maximum défini ci-dessus (par défaut\ : activé).
-Si cette option est désactivée, alors le maximum de trames-B est utilisé.
-.
-.TP
-.B b_bias=<\-100\-100>
-Contrôle la décision prise par b_adapt.
-Un biais plus important produit plus de trames-B (par défaut\ : 0).
-.
-.TP
-.B (no)b_pyramid
-Autorise les trames-B à servir de référence pour prédire d'autres
-trames.
-Si on prend par exemple 3 trames-B consécutives\ : I0 B1 B2 B3 P4.
-Sans cette option, les trames-B ont les mêmes restrictions que
-MPEG-[124].
-Elles sont alors codées dans l'ordre I0 P4 B1 B2 B3, et toutes les
-trames-B sont prédites à partir de I0 et P4.
-Avec cette option, elles sont codées I0 P4 B2 B1 B3.
-B2 est la même que ci-dessus, mais B1 est prédit à partir de I0 et
-B2, et B3 est prédite à partir de B2 et P4.
-Ceci améliore généralement légèrement la compressiblité, et ne dégrade
-pas la vitesse d'encodage.
-Cependant, c'est une option expérimentale\ : elle n'est pas encore
-peaufinée, et n'aide pas toujours la compression.
-Requière bframes >= 2.
-Désavantage\ : augmente de 2 trames le délai de décodage.
-.
-.TP
-.B (no)deblock
-Utilise le filtre intégré (inloop) atténuant l'effet de blocs
-(deblocking) (par défaut\ : activé).
-Étant donné qu'il prend assez peu de temps au regard de l'amélioration
-visuelle qu'il procure, il est déconseillé de le désactiver.
-.
-.TP
-.B deblock=<\-6\-6>,<\-6\-6>
-Le premier paramètre est alphaC0 (par défaut\ : 0).
-Il détermine les seuils du filtre de deblocking de H.264.
-Tout d'abord, cette option détermine à quel point le filtre peut modifier
-l'apparence de chacun des pixels de l'image.
-Ensuite, cette option détermine la différence maximale à la limite des blocs
-filtrés.
-Une valeur positive réduit les artefacts de blocking, mais enlève du détail
-à l'image.
-.br
-Le deuxième paramètre est Beta (par défaut\ : 0).
-Paramètre beta du filtre de deblocking (par défaut\ : 0).
-Affecte seuil de détail.
-Les blocs très détaillés ne sont pas filtrés, puisque l'effet de lissage
-dû au filtre seraient plus visibles que l'effet de bloc original.
-.br
-Le paramétrage par défaut de ce filtre permet généralement d'atteindre
-une qualité optimale, il est donc conseillé de laisser la valeur par
-défaut ou de ne la changer qu'un peu.
-Par contre, si la vidéo source souffre déjà d'artefacts de blocking
-ou de bruit que vous voulez atténuer, vous devriez l'augmenter un peu.
-.
-.TP
-.B (no)cabac
-Utilise CABAC (codage de l'information adaptée en fonction du contexte
-avec un code de longueur variable non entière\ : Context-Adaptive Binary
-Arithmetic Coding) (par défaut\ : activé).
-Ralentit un peu l'encodage mais permet d'économiser 10\-15% du bitrate.
-À moins que vous n'ayez besoin de décoder à vitesse élevée, vous ne
-devriez jamais le désactiver.
-Si vous désactivez cette option, le codage CAVLC (codage de l'information
-adaptée en fonction du contexte avec un code de longueur variable
-entière\ : Context-Adaptive Variable Length Coding) est utilisé à la place.
-.
-.TP
-.B qp_min=<1\-51> (ABR ou deux passes)
-Quanta minimum, 10\-30 semble être un intervalle raisonnable
-(par défaut\ : 10).
-.TP
-.B qp_max=<1\-51> (ABR ou deux passes)
-quanta maximum (par défaut\ : 51)
-.
-.TP
-.B qp_step=<1\-50> (ABR ou deux passes)
-différence de quanta maximale autorisée d'une trame à l'autre
-(par défaut\ : 4)
-.
-.TP
-.B ratetol=<0.1\-100.0> (ABR ou deux passes)
-écart autorisé par rapport au débit binaire donné
-(par d'unité particulière) (par défaut: 1.0)
-.
-.TP
-.B vbv_maxrate=<valeur> (ABR ou deux passes)
-pic maximum de débit binaire, en kbits/\:secondes
-.
-.TP
-.B vbv_bufsize=<value> (ABR ou deux passes)
-temps de moyennage de vbv_maxrate, en kbits
-(par défaut\ : aucun, mais doit être défini si vbv_maxrate est activé)
-.
-.TP
-.B vbv_init=<0.0\-1.0> (ABR ou deux passes)
-occupation initiale du tampon, exprimé en fraction de vbv_bufsize
-(par défaut\ : 0.9)
-.
-.TP
-.B ip_factor=<value>
-facteur de quantification entre les trames-I et -P (par défaut\ : 1.4)
-.
-.TP
-.B pb_factor=<value>
-facteur de quantification entre les trames-P et -B (par défaut\ : 1.3)
-.
-.TP
-.B qcomp=<0\-1> (ABR ou deux passes)
-compression des quantum (par défaut\ : 0.6)
-Une faible valeur rend le débit binaire plus constant,
-alors qu'une valeur importante rend les quantum plus constants.
-.
-.TP
-.B cplx_blur=<0\-999> (2 passes uniquement)
-Flou temporel de la complexité de trame estimée, avant la compression de
-la courbe (défaut\ : 20).
-Des valeurs plus faibles permettent au quantum de plus changer d'une
-trame à l'autre, des valeurs plus hautes forcent une variation plus douce.
-cplx_blur permet de s'assurer que chaque trame-I ait une qualité comparable
-aux trames-P suivantes, et garantit qu'une alternance de trames à complexité
-forte et faible (par ex.\& un dessin animé dont la cadence d'animation est
-faible) ne gâche pas de bits en faisant fluctuer les quantum.
-.
-.TP
-.B qblur=<0\-99> (2 passes uniquement)
-Flou temporel entre les quantum, après la compression de la courbe
-(par défaut\ : 0.5).
-Une faible valeur permet aux quantum de voir leur valeur varier plus
-d'une trame à l'autre\ ; une valeur forte oblige la variation à être plus
-progressive.
-.
-.TP
-.B zones=<zone0>[/<zone1>[/...]]
-Redéfinition de la qualité de certaines parties du film
-(crédits, générique de fin, ...).
-Chaque zone est définie par le triplet
-<trame de début>,<trame de fin>,<option> où option peut être
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-quanta
-.IPs "b=<0.01\-100.0>"
-multiplicateur du débit binaire (bitrate)
-.RE
-.PD 1
-.RS
-.I NOTE\ :
-L'option quanta n'est pas respectée strictement.
-Elle affect uniquement le stade de planning du contrôleur
-de débit (ratecontrol), et est encore sujet à la compensation
-de débordement et à qp_min/qp_max.
-.RE
-.
-.TP
-.B direct_pred=<nom>
-Détermine le type de prédicteur de mouvement utilisé pour les macro-blocs
-directs dans les trames-B.
-.PD 0
-.RSs
-.IPs none
-Aucun macro-bloc direct n'est utilisé.
-.IPs spatial
-Les vecteurs de mouvements sont extrapolés d'après les blocs adjacents
-(par défaut).
-.IPs temporal
-Les vecteurs de mouvements sont extrapolés d'après la trame-P suivante.
-.IPs auto
-Le codec choisit entre spatial et temporel à chaque trame.
-.RE
-.PD 1
-Les prédicteurs spatiaux et temporels sont approximativement de la même
-vitesse, produisent un PSNR similaire, et le choix entre les deux dépend
-du type de vidéo.
-Auto est légèrement mieux, mais est plus lent.
-Auto est plus efficace en mode multipasses.
-direct_pred=none est lent et de qualité médiocre.
-.
-.TP
-.B (no)weight_b
-Utilise des prédictions pondérées dans les trames-B.
-Sans cette option, les macro-blocs prédits bidirectionnellement voient
-leurs trames de référence pondérés de la même valeur.
-Avec cette option, les pondérations sont déterminées par la position
-temporelle de la trame-B par rapport à celles de référence.
-Requière bframes > 1.
-.
-.TP
-.B partitions=<liste>
-Autorise certain types de macro-blocs optionnels (par défaut\ :
-p8x8,b8x8,i8x8,i4x4).
-.PD 0
-.RSs
-.IPs p8x8
-Autorise les types p16x8, p8x16, p8x8.
-.IPs p4x4
-Autorise les types p8x4, p4x8, p4x4.
-p4x4 n'est recommandé que si subq >= 5, et uniquement à faible résolutions.
-.IPs b8x8
-Autorise les types b16x8, b8x16, b8x8.
-.IPs i8x8
-Autorise le type i8x8.
-i8x8 n'a pas d'effet à moins que 8x8dct soit autorisé aussi.
-.IPs i4x4
-Autorise le type i4x4.
-.IPs all
-Autorise tous les types ci-dessus.
-.IPs none
-N'autorise aucun des types ci-dessus.
-.RE
-.PD 1
-.RS
-Quelles que soient cet option, les types de macro-blocs p16x16, b16x16,
-et i16x16 sont toujours utilisés.
-.br
-L'idée est de trouver le type et la taille des macro-blocs qui décrit le
-mieux une certaine région de l'image.
-Par exemple, un travelling est mieux représenté par des blocs 16x16, tandis
-qu'un petit objet en mouvement sera mieux codé par des petits blocs.
-.RE
-.
-.TP
-.B (no)8x8dct
-Taille de transformée spatiale adaptative\ : autorise les macro-blocs
-à décider entre 4x4 et 8x8 DCT.
-Sans cette option, uniquement le type 4x4 DCT est utilisé.
-Appartient au "High Profile" de la norme h264.
-.
-.TP
-.B me=<nom>
-Définit l'algorithme d'estimation du mouvement fullpixel.
-.PD 0
-.RSs
-.IPs dia
-recherche diamant, de rayon 1 (rapide)
-.IPs hex
-recherche hexagonale, de rayon 2 (par défaut)
-.IPs umh
-recherche multi-hexagonale irrégulière (lent)
-.IPs esa
-recherche exhaustive (très lent, et pas meilleur que umh).
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-rayon de de la recherche exhaustive et multi-hexagonale de mouvement
-(par défaut\ 16)
-.
-.TP
-.B subq=<0\-9>
-Ajuste la qualité d'affinement de subpel.
-Ce paramètre contrôle le compromis qualité/\:vitesse lié aux décisions du
-processus d'estimation du mouvement.
-subq=5 peut augmenter jusqu'à 10% le taux de compression par rapport à subq=1.
-.PD 0
-.RSs
-.IPs 0
-Effectue une recherche de mouvement d'une précision fullpixel (c-à-d qu'elle
-capture les mouvements d'une trame à la suivante avec une précision d'un pixel)
-sur tous les types de macro-blocs candidats.
-Sélectionne ensuite le meilleur type avec la métrique SAD (plus rapide que
-subq=1, mais non recommandé à moins que vous cherchiez à réaliser un encodage
-ultra-rapide).
-.IPs 1
-Comme 0, affine ensuite rapidement avec une précision qu'un quart de pixel le
-mouvement de ce type (rapide).
-.IPs 2
-Effectue une recherche de mouvement d'une précision demi pixel sur tous les
-types de macro-blocs candidats.
-Sélectionne ensuite le meilleur type avec la métrique SATD.
-Puis affine rapidement avec une précision qu'un quart de pixel le mouvement de
-ce type.
-.IPs 3
-Comme 2, mais utilise un affinage plus lent qu'un quart de pixel.
-.IPs 4
-Effectue une rapide recherche de mouvement d'une précision d'un quart de
-pixel (quarterpixel) sur tous les types de macro-blocs candidats.
-Puis sélectionne le meilleur type avec la métrique SATD.
-Termine ensuite l'affinement quarterpixel pour ce type.
-.IPs 5
-Effectue la recherche de mouvement de la meilleure qualité sur tous les
-types de macro-blocs candidats, avant de choisir le meilleur type.
-Affine aussi les deux vecteurs de mouvement utilisés par les macro-blocs
-bi-directionnels avec la métrique SATD, au lieu de ré-utiliser les vecteurs
-des recherches avant et arrière.
-.IPs 6
-Active la sélection des macro-blocs en fonction de leur taux de distortion,
-pour les trames-I et P (par défaut).
-.IPs 7
-Active la sélection des macro-blocs en fonction de leur taux de distortion dans
-toutes les trames.
-.IPs 8
-Active la sélection des vecteurs de mouvement et des modes de prédictions intra
-en fonction de leur taux de distortion dans les trames-I et -P.
-.IPs 9
-Active la sélection des vecteurs de mouvement et des modes de prédictions intra
-en fonction de leur taux de distortion dans toutes les trames (le meilleur).
-.RE
-.PD 1
-.RS
-Ci-dessus, le terme "tous les candidats" ne signifie pas forcément tous les
-types possibles\ : 4x4, 4x8 et 8x4 ne sont essayés que si 8x8 est meilleur que
-16x16.
-.RE
-.
-.TP
-.B (no)chroma_me
-Utilise l'information chroma en plus de la luma lors de la recherche
-de mouvement sub pixel (par défaut\: activé).
-Nécessite subq>=5.
-.
-.TP
-.B (no)mixed_refs
-Permet à chaque partition de mouvement 8x8 ou 16x8 de choisir indépendamment
-leur trame de référence.
-Sans cette option, tout le macro-bloc doit utiliser la même référence.
-Nécessite frameref>1.
-.TP
-.
-.B trellis=<0\-2> (cabac uniquement)
-quatification optimale du point de vue du taux de distortion
-.PD 0
-.RSs
-.IPs 0
-désactivé (par défaut)
-.IPs 1
-activé uniquement lors de l'encodage final
-.IPs 2
-activé pour toutes les décisions de modes de macroblocs (lent, requiert
-subq>=6)
-.RE
-.PD 1
-.
-.TP
-.B psy-rd=rd[,trell]
-Défini la force de l'optimisation psycho-visuelle.
-.PD 0
-.RSs
-.IPs rd=<0.0\-10.0>
-force de l'optimisation psy (requière subq>=6) (defaut\ : 1.0)
-.IPs trell=<0.0\-10.0>
-trellis (requière trellis, expérimental) (default\ : 0.0)
-.RE
-.PD 1
-.
-.TP
-.B deadzone_inter=<0\-32>
-Défini la taille de la zone morte de quantification luma inter pour
-la quantification non-tellis (par défaut\ : 21).
-Les valeurs plus faibles aident à la préservation des détails fins et du
-grain de film (typiquement utile pour les encodages haute qualité/débit),
-alors que les valeurs plus élevées aident à filter ces détails, économisant
-ainsi des bits pouvant être redistribués à d'autres macro-blocs et trames
-(typiquement utile pour les encodages à très bas débit).
-Il est recommandé que vous commenciez par ajustier deadzone_intra avant de
-toucher à ce paramètre.
-.
-.TP
-.B deadzone_intra=<0\-32>
-Défini la taille de la zone morte de quantification luma intra pour
-la quantification non-tellis (par défaut\ : 11).
-Cette option a le même effet que deadzone_inter à la différence près quelle
-s'applique aux trames inter.
-Il est recommandé que vous commenciez par ajustier ce paramètre avant de
-toucher à deadzone_inter.
-.
-.TP
-.B (no)fast_pskip
-Effectue tôt une détection de skip des trames-P (par défaut\ : activé).
-Ceci accélère généralement 'gratuitement' l'encodage, mais dans certains
-cas, ceci produit des artefacts dans les régions sans détails, comme le
-ciel.
-.
-.TP
-.B (no)dct_decimate
-Élimine les blocs dct des trames-P contenant uniquement un petit
-coefficient isolé (par défaut\ : activé).
-Enlève certains détails, ce qui économise des bits pouvant être
-redistribués aux autres trames, améliorant probablement la qualité
-globale subjective.
-Si vous compressez avec un haut débit binaire des sources qui ne
-sont pas des dessins animés, pous pouvez désactiver cette option pour
-préserver le plus de détails possibles.
-.
-.TP
-.B nr=<0\-100000>
-Réduction du bruit, 0 signifie désactivé.
-Les valeurs typiques se situent dans l'intervalle 100\-1000 pour la plupart
-des vidéos, mais vous pouvez essayer des valeurs un peu plus grandes pour
-des vidéos particulièrement bruitées (par défaut\ : 0).
-Étant donné son faible impact sur la vitesse d'encodage, vous pouvez
-essayer cette option à la place des filtres de débruitage vidéo tels que
-denoise3d ou hqdn3d.
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-Utilise un quanta différent pour la chroma et la luma.
-Les valeurs intéressantes se situent dans l'intervalle <\-2\-2>
-(par défaut\ : 0).
-.
-.RS
-.I NOTES\ :
-Les fichiers encodés avec des CQMs ne sont pas décodés correctement avec
-les lecteurs basés sur FFmpeg.
-.br
-Les utilisateurs de CMD.EXE de Windows peuvent rencontrer des problèmes
-d'analyse de la ligne de commande s'ils utilisent toutes les CQM sous
-forme de listes.
-Ceci est dû à la limite de la longueur de la ligne de commande.
-Dans ce cas, il est recommandé d'utiliser de mettre les listes dans un
-fichier de CQM au format JM, et de le charger comme précisé plus haut.
-.RE
-.
-.TP
-.B aq_mode=<0\-2>
-Ajuste comment la quantification adaptative (AQ) distribue les bits:
-.PD 0
-.RSs
-.IPs 0
-désactivé
-.IPs 1
-Évite de déplacer des bits entre les trames.
-.IPs 2
-Déplace des bits entre les trames (par défaut).
-.RE
-.PD 1
-.
-.TP
-.B aq_strength=<valeur flottante positive>
-Contrôle à quel point la quantification adaptative (AQ) peut réduire les
-effets de "blocking" et de flou dans les zones uniformes ou texturées (par
-défaut\ : 1.0).
-Une valeur de 0.5 conduira à une faible AQ, et moins de détails, tandis
-qu'une valeur de 1.5 conduira à une forte AQ, et plus de détails.
-.
-.TP
-.B cqm=<flat|jvt|<nom_fichier>>
-Utilise soit une matrice de quantification personnalisée (CQM) prédéfinie
-ou en charge une au format JM depuis un fichier.
-.PD 0
-.RSs
-.IPs "flat\ "
-Utilise la matrice prédéfinie "flat 16" (par défaut).
-.IPs "jvt\ \ "
-Utilise la matrice prédéfinie JVT.
-.IPs <nom_fichier>
-Utilise la matrice personnalisée au format JM depuis un fichier.
-.PD 1
-.RE
-.
-.TP
-.B cqm4iy=<liste> (voir aussi cqm)
-Matrice luminance intra 4x4 personnalisée, donnée sous forme d'une liste
-de 16 valeurs dans l'intervalle 1\-255, séparées par une virgule.
-.
-.TP
-.B cqm4ic=<liste> (voir aussi cqm)
-Matrice chrominance intra 4x4 personnalisée, donnée sous forme d'une liste
-de 16 valeurs dans l'intervalle 1\-255, séparées par une virgule.
-.
-.TP
-.B cqm4py=<liste> (voir aussi cqm)
-Matrice luminance inter 4x4 personnalisée, donnée sous forme d'une liste
-de 16 valeurs dans l'intervalle 1\-255, séparées par une virgule.
-.
-.TP
-.B cqm4pc=<liste> (voir aussi cqm)
-Matrice chrominance inter 4x4 personnalisée, donnée sous forme d'une liste
-de 16 valeurs dans l'intervalle 1\-255, séparées par une virgule.
-.
-.TP
-.B cqm8iy=<liste> (voir aussi cqm)
-Matrice luminance intra 8x8 personnalisée, donnée sous forme d'une liste
-de 64 valeurs dans l'intervalle 1\-255, séparées par une virgule.
-.
-.TP
-.B cqm8py=<liste> (voir aussi cqm)
-Matrice luminance inter 8x8 personnalisée, donnée sous forme d'une liste
-de 64 valeurs dans l'intervalle 1\-255, séparées par une virgule.
-.
-.TP
-.B level_idc=<10\-51>
-Définit le Niveau (Level) du flux comme définit dans l'annexe A du standard
-H.264 (par défaut\ : 40 \- Niveau 4.0).
-Ceci est utilisé pour indiquer au décodeur quelles options du codec il
-doit gérer.
-N'utilisez ce paramètre que si vous saisissez bien ce qu'il signifie,
-et qu'il vous faut le modifier.
-.
-.TP
-.B threads=<1\-16>
-Crée des threads pour encoder en parallèle sur plusieurs processeurs
-(par défaut\ : 1).
-Cela dégrade un peu la qualité de la compression.
-0 ou 'auto' demande à x264 de détecter le nombre de processeurs et de
-créer le nombre de threads approprié.
-.
-.TP
-.B (no)global_header
-Fait que les SPS et PPS n'apparaissent qu'une seule fois, au début et
-à la fin du flux de bits.
-Certains lecteurs, comme la PSP de Sony, requièrent cette option.
-Le comportement par défaut fait que les SPS et PPS se répètent avant
-chaque trame IDR.
-.
-.TP
-.B (no)interlaced
-Traite la vidéo en tant qu'entrelacée.
-.
-.TP
-.B log=<\-1\-3>
-Ajuste la quantité d'informations de log à afficher à l'écran.
-.PD 0
-.IPs "\-1"
-aucune
-.IPs " 0"
-Affiche uniquement les erreurs.
-.IPs " 1"
-avertissements
-.IPs " 2"
-PSNR et autres analyses statistiques lorsque l'encodage se termine
-(par défaut)
-.IPs " 3"
-PSNR, paramètres de quantification, type de trame, taille, et autres
-statistiques sur chaque trame
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-Affiche les statistiques de rapport signal/bruit.
-.br
-.I NOTE\ :
-Les champs PSNR 'Y', 'U', 'V', et 'Avg' dans le résumé post-encode ne sont
-pas complètement juste mathématiquement parlant (ce sont juste les moyennes
-des PSNR de chaque trame).
-Ils sont affichés uniquement pour pouvoir les comparer à ceux du codec de
-référence JM.
-Dans les autres cas, préférez donc utiliser ou bien le PSNR 'Global', ou bien
-les PSNR de chaque trame affichés par l'option log=3.
-.
-.TP
-.B (no)ssim
-Affiche la mesure Structural Similarity Metric.
-C'est une alternative à PSNR, qui devrait être mieux corrélée à la
-qualité visuelle perçue de la vidéo compressé.
-.
-.TP
-i.B (no)visualize
-Active la visualisation x264 lors de l'encodage.
-Si la librairie x264 de votre système la gère, une nouvelle fenêtre va
-s'ouvrir pendant l'encodage, où x264 affichera une représentation de la
-façon dont chaque trame est encodée.
-Chaque bloc de la vidéo visualisée sera colorisée comme suit\ :
-.PD 0
-.RSs
-.IPs rouge/rose
-bloc intra
-.IPs bleu\
-bloc inter
-.IPs "vert\ "
-block sauté (skip)
-.IPs jaune
-bloc-B
-.RE
-.PD 1
-.RS
-Cette fonctionnalité doit être considérée comme expérimentale, et peut
-évoluer.
-En particulier, elle ne fonctionne que si x264 est compilé avec la
-visualisation activée
-Notez qu'au moment où ceci est écrit, x264 se met en pause après avoir
-encodé et affiché chaque trame, en attente que l'utilisateur appuie sur
-une touche pour encoder la trame suivante.
-.RE
-.
-.
-.SS xvfw (\-xvfwopts)
-.
-L'encodage avec les codecs Video for Windows est presque obsolète à moins
-que vous vouliez encoder avec des codecs confidentiels.
-.
-.TP
-.B codec=<nom>
-Le nom du fichier du codec binaire avec lequel vous souhaitez encoder.
-.
-.TP
-.B compdata=<fichier>
-Le nom du fichier de configuration de codec (ex\ : firstpass.mcf) créé
-par vfw2menc.
-.
-.
-.SS multiplexeur MPEG (\-mpegopts)
-.
-Le multiplexeur MPEG peut générer 5 types de flux, chacun ayant des
-paramètres, raisonnables par défaut, que l'utilisateur peut redéfinir.
-En général, lorsque vous générez un fichier MPEG, il est recommandé
-de désactiver le code de saut de trames de MEncoder (voir \-noskip, \-mc,
-tout comme les filtres vidéo harddup et softskip).
-.PP
-.I EXEMPLE:
-.PD 0
-.RSs
-.IPs format=mpeg2:tsaf:vbitrate=8000
-.RE
-.PD 1
-.
-.TP
-.B delay=<valeur>
-N'a de sens pour le moment que pour MPEG[12]: Distance maximale
-permise, en secondes, entre la référence temporelle du flux de sortie
-(SCR) et le timestamp de décodage (DTS) pour tout flux présent (délais
-entre le démultiplexage et le décodage) (par défaut: 0.7 requis par les
-standards MPEG).
-Des valeurs plus grandes demandent des tampons plus grands, et est
-découragé.
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
-le format de flux (par défaut\ : mpeg2).
-Les formats pes1 et pes2 sont vraiment barbares (pas d'en-tête pour
-les paquets et pas de "remplissage" (padding)), mais les VRD
-(enregistreur vidéo de salon) les utilisent\ ;
-ne les utilisez pas à moins que vous sachier vraiment ce que vous faites.
-.
-.TP
-.B size=<jusqu'à 65535>
-Taille des paquets en octets, à ne pas changer à moins que vous
-sachiez exactement ce que vous faites (par défaut\ : 2048).
-.
-.TP
-.B muxrate=<entier>
-Taux de multiplexage nominal en kbit/s utilisé dans l'entête des
-paquets headers (par défaut\ : 1800 kb/s).
-Sera mis à jour si nécessaire dans le cas où 'format=mpeg1' ou 'mpeg2'.
-.
-.TP
-.B tsaf
-Place des marques d'horodatage (timestamps) dans chaque trame, si possible;
-recommandé lorsque format=dvd.
-Si dvdauthor indique un message du type "..audio sector out of range...",
-c'est que vous devez activer cette option.
-.
-.TP
-.B interleaving2
-Utilise un meilleur algorithme pour entrelacer les paquets audio et vidéo,
-basé sur le principe que le multiplexeur essayera de toujours remplir le flux
-le moins rempli.
-.TP
-.B vdelay=<1\-32760>
-Retard vidéo initial, en millisecondes (par défaut\ : 0),
-à utiliser si vous voulez retarder la vidéo par rapport au son.
-.
-.TP
-.B adelay=<1\-32760>
-Retard audio initial, en millisecondes (par défaut\ : 0),
-à utiliser si vous voulez retarder l'audio par rapport à la vidéo.
-.
-.TP
-.B drop
-Lorsque utilisé en même temps que vdelay, le multiplexeur élimine
-le début de la piste sonore qui n'aurait pas été jouée si elle commençait
-avant la vidéo.
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-Définit la largeur et la hauteur de la vidéo lorsqu'il s'agit de MPEG-1/2.
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-Définit la largeur et la hauteur de la vidéo pan et scan lorsqu'il s'agit
-de MPEG-1/2.
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-Définit le ratio d'aspect pour les vidéos MPEG-2.
-Ne pas utiliser avec les vidéos MPEG-1 ou le ratio d'aspect sera complètement faux.
-.
-.TP
-.B vbitrate=<entier>
-Définit le débit binaire vidéo kbit/s pour les vidéos MPEG-1/2.
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
-Définit le nombre de trames par secondes pour les vidéos MPEG-1/2.
-Cette option sera ignorée si vous l'utilisez en même
-temps que l'option téléciné.
-.
-.TP
-.B telecine
-Active le mode pulldown 3:2 logiciel\ : Le multiplexeur va faire comme
-si la vidéo avait été encodée à 30000/1001 images par seconde.
-Ne fonctionne qu'avec les vidéos MPEG-2 dont le nombre de trames par
-seconde est 24000/1001, convertissez-le avec l'option \-ofps si
-nécessaire.
-Tout autre nombre de trames par seconde est incompatible avec cette
-option.
-.
-.TP
-.B film2pal
-Active le mode téléciné logiciel FILM vers PAL et NTSC vers PAL\ :
-Il va faire comme si la vidéo avait été encodée à 25 fps.
-Ne fonctionne qu'avec les vidéos MPEG-2 dont le nombre de trames par
-seconde est 24000/1001, convertissez-le avec l'option \-ofps si
-nécessaire.
-Tout autre nombre de trames par seconde est incompatible avec cette
-option.
-.
-.TP
-.B tele_src et tele_dest
-Active le mode téléciné arbitraire en utilisant le code DGPulldown
-de Donand Graft.
-Vous devez donner la cadence de prise de vue (framerate) de la
-source ainsi que la cadence désirée\ ; le multiplexeur fera en
-sorte que le flux vidéo soit comme si il avait été encodé à
-la cadence demandée.
-Ceci ne fonctionne avec les vidéos MPEG-2 que quand la cadence de prise
-de vue de la source est plus faible que celle en sortie, et que
-l'accélération de la cadence est <= 1.5.
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.PD 0
-.RSs
-.IPs "tele_src=25:tele_dest=30000/1001"
-Exemple de téléciné PAL vers NTSC.
-.RE
-.PD 1
-.
-.TP
-.B vbuf_size=<40\-1194>
-Défini la taille du tampon de décodage vidéo, exprimé en kilobits.
-À définir uniquement si le débit du flux vidéo est trop haut pour le
-format choisi, et que vous savez ce que vous faites.
-Une valeur trop haute peut produire des fichier illisibles, selon les
-capacités du lecteur.
-Pour multiplexer une vidéo HDTV, une valeur de 400 devrait suffire.
-.
-.TP
-.B abuf_size=<4\-64>
-Défini la taille du tampon de décodage audio, exprimé en kilobits.
-Les mêmes contraites que pour vbuf_size existent avec cette option.
-.
-.
-.SS Démultiplexeurs de libavformat de FFmpeg (\-lavfdopts)
-.
-.TP
-.B analyzeduration=<valeur>
-Durée maximale (en secondes) pour analyser les propriétés du flux.
-.
-.TP
-.B format=<valeur>
-Force l'utilisation d'un dé-multiplexeur libavformat spécifique.
-.
-.TP
-.B o=<clef>=<valeur>[,<clef>=<valeur>[,...]]
-Passe les AVOptions au démultiplexeur libavformat.
-Notez que la création d'une rustine pour que cette option ne soit pas
-nécessaire, mais qu'à la place, toutes les options inconnues soient passées
-au système AVOption est la bienvenue.
-Une liste complète des AVOptions est disponible dans la documentation de
-FFmpeg.
-De plus, notez que certaines options peuvent entrer en conflit avec les
-options de MPlayer/MEncoder.
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.PD 0
-.IPs o=ignidx
-.PD 1
-.RE
-.
-.TP
-.B probesize=<valeur>
-Quantité maximal de données à lire lors de la phase de détection.
-Dans le cas de MPEG-TS, cette valeur correspond au nombre maximal
-de paquets TS à scanner.
-.
-.TP
-.B cryptokey=<chaîne hexdécimale>
-Donne la clée de chiffrement à utiliser.
-La chaîne hexa doit être le contenu brut de la clée, convertie en hexa.
-.
-.
-.SS Multiplexeurs de libavformat de FFmpeg (\-lavfopts) (voir aussi \-of lavf)
-.
-.TP
-.B format=<format_de_container>
-Outrepasse le format de container vers lequel multiplexer le fichier de
-sortie (par défaut\ : auto-détection d'après l'extension du fichier de
-sortie).
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-MPEG-1 systems and MPEG-2 PS
-.IPs "asf\ \ "
-Advanced Streaming Format
-.IPs "avi\ \ "
-fichier Audio Video Interleave
-.IPs "wav\ \ "
-Waveform Audio
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-Macromedia Flash video files
-.IPs "rm\ \ \ "
-RealAudio et RealVideo
-.IPs "au\ \ \ "
-SUN AU format
-.IPs "nut\ \ "
-NUT open container format (expérimental)
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-format MPEG-4
-.IPs "ipod\ "
-format MPEG-4 avec les drapeaux supplémentaires requis par les micrologiciels
-(firmware) des iPods d'Apple
-.IPs "dv\ \ \ "
-Sony Digital Video container
-.IPs "matroska\ \ \ "
-Matroska
-.RE
-.PD 1
-.
-.TP
-.B muxrate=<débit>
-Débit binaire du multiplexe, en bits par secondes;
-n'a de sens pour le moment que pour MPEG[12].
-Il arrive qu'il faille augmenter ce paramètre pour éviter des débordements
-de tampons "buffer underflows".
-.
-.TP
-.B o=<clef>=<valeur>[,<clef>=<valeur>[,...]]
-Passe les AVOptions au multiplexeur libavformat.
-Notez que la création d'une rustine pour que cette option ne soit pas
-nécessaire, mais qu'à la place, toutes les options inconnues soient passées
-au système AVOption est la bienvenue.
-Une liste complète des AVOptions est disponible dans la documentation de
-FFmpeg.
-De plus, notez que certaines options peuvent entrer en conflit avec les
-options de MEncoder.
-.sp 1
-.RS
-.I EXEMPLE\ :
-.RE
-.RSs
-.PD 0
-.IPs o=packetsize=100
-.PD 1
-.RE
-.
-.TP
-.B packetsize=<taille>
-Taille, exprimée en octets, du paquet unitaire du format donné.
-Lorsque le format de sortie est l'une des implémentations de MPEG[12],
-les valeurs par défaut sont\ :
-2324 pour [S]VCD, et 2048 pour tous les autres formats.
-.
-.TP
-.B preload=<distance>
-N'a de sens pour le moment que pour MPEG[12]: Distance maximale
-permise, en secondes, entre la référence temporelle du flux de sortie
-(SCR) et le timestamp de décodage (DTS) pour tout flux présent (délais
-entre le démultiplexage et le décodage).
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" variables' environment
-.\" --------------------------------------------------------------------------
-.
-.SH VARIABLES D'ENVIRONMENT
-.
-Il existe un grand nombre de variables d'environnement qui peuvent être
-utilisées pour contrôler le comportement de MPlayer et MEncoder.
-.
-.TP
-.B MPLAYER_CHARSET (voir aussi \-msgcharset)
-Convertit les messages console à la charset spécifiée
-(par défaut\ : auto-détection).
-La valeur "noconv" signifie aucune conversion.
-.
-.TP
-.B MPLAYER_HOME
-Le répertoire où MPlayer lit la configuration de l'utilisateur.
-.
-.TP
-.B MPLAYER_VERBOSE (voir aussi \-v et \-msglevel)
-Définit le niveau initial de verbosité de tous les messages des
-modules (par défaut\ : 0).
-Le niveau de verbosité final sera celui de \-msglevel 5 plus la valueur
-de MPLAYER_VERBOSE.
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-Si LADSPA_PATH est définie, le fichier correspondant est recherché.
-Si elle n'est pas définie, vous devez donner le chemin absolu.
-FIXME: Ceci est une redite de la section LADSPA.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-Un répertoire spécifique dans lequel stocker les valeurs de la clé
-CSS.
-Ceci accélèrera le cassage de la protection du DVD si sa clé est
-en cache.
-Le répertoire DVDCSS_CACHE sera créé s'il n'existe pas, et un répertoire
-nommé en fonction du titre ou de la date de fabrication du DVD sera créé
-en son sein.
-Si DVDCSS_CACHE n'est pas défini ou vide, libdvdcss utilisera la valeur
-par défaut, qui est "${HOME}/.dvdcss/" sous Unix et
-"C:\\Documents and Settings\\$USER\\Application Data\\dvdcss\\" sous Win32.
-La valeur spéciale "off" désactive la mise en cache.
-.
-.TP
-.B DVDCSS_METHOD
-Définit la méthode d'authentication et de decryptage que libdvdcss
-utilisera pour lire les disques cryptés.
-Elles peuvent être 'title', 'key' ou 'disc'.
-.PD 0
-.RSs
-.IPs "key\ \ "
-est la méthode par défaut.
-libdvdcss utilisera un set de clés de lecture pré-calculées pour
-obtenir celle du disque.
-Ceci peut échouer si le lecteur ne reconnaît aucune des clés de lecture.
-.IPs "disc\ "
-est la méthode vers laquelle libdvdcss se rabat lorsque 'key' a échoué.
-Au lieu d'utiliser les clés de lecture, libdvdcss va casser la clé du
-disque en utilisant un algorithme de force brute.
-Ceci est assez coûteux en temps CPU, et nécessite 64 Mo de mémoire pour
-stocker les données temporaires.
-.IPs title
-est la méthode vers laquelle libdvdcss se rabat lorsque toute les autres
-méthodes ont échoué.
-Ceci ne se base pas sur un échange de clé avec le lecteur DVD, mais
-utilise à la place une attache crypto pour deviner la clé du titre.
-En de rares cas, ceci va échouer s'il n'y a pas assez de données cryptées
-sur le disque pour effectuer l'attaque statistique, mais d'un autre
-côté c'est la seule façon de décrypter les DVDs enregistrés sur disque
-dur, ou un disque dont la région ne correspond pas à la région RPC2 du
-lecteur DVD.
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-Définit le périphérique brut à utiliser.
-L'usage exact dépend de votre système d'exploitation, l'utilitaire
-raw(8) étant celui disponible sous Linux.
-Specify the raw device to use.
-Notez qu'avec la plupart des systèmes d'exploitation, utiliser un
-périphérique brut requiert des buffers très alignés: Linux exige
-un alignement sur 2048 octets (qui est la taille d'un secteur DVD).
-.
-.TP
-.B DVDCSS_VERBOSE
-Définit le niveau de verbosité de libdvdcss.
-.PD 0
-.RSs
-.IPs 0
-N'affiche aucun messages.
-.IPs 1
-Envoie tous les messages d'erreurs sur stderr.
-.IPs 2
-Envoie tous les messages d'erreurs et de débug sur stderr.
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-Saute la récupération de toute clé au démarrage.
-Désactivé pour le moment.
-.
-.TP
-.B HOME
-FIXME: Documente ceci.
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-FIXME: Documente ceci.
-.
-.TP
-.B AUDIODEV
-FIXME: Documente ceci.
-.
-.TP
-.B AUDIOSERVER
-Définit le serveur Network Audio System auquel le pilote de sortie
-audio nas doit se connecter et transporter les données.
-Si non défini, DISPLAY est utilisé à la place.
-Le type de transport peut être tcp et unix.
-La syntax est tcp/<hôte>:<port>, <hôte>:<numéro d'instance>
-ou [unix]:<numéro d'instance>.
-Le port de base de NAS est 8000 et <numéro d'instance> y est
-ajouté.
-.sp 1
-.RS
-.I EXEMPLES\ :
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=somehost:0
-Se connecte au serveur NAS somehost en utilisant le port et le transport
-par défaut.
-.IPs AUDIOSERVER=tcp/somehost:8000
-Se connecte au serveur NAS somehost écoutant sur le port TCP 8000.
-.IPs AUDIOSERVER=(unix)?:0
-Se connecte au serveur NAS d'instance 0 sur localhost en utilisant des sockets Unix.
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-FIXME: Documente ceci.
-.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-FIXME: Documente ceci.
-.
-.TP
-.B VIDIXIVTVALPHA
-Définissez cette variable à 'disable' pour empêcher le pilote VIDIX
-de contrôler la transparence (alphablending).
-Vous pouvez ensuite la contrôler avec 'ivtvfbctl'.
-.
-.SS osdep:
-.
-.TP
-.B TERM
-FIXME: Documente ceci.
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-FIXME: Documente ceci.
-.
-.TP
-.B FRAMEBUFFER
-FIXME: Documente ceci.
-.
-.TP
-.B HOME
-FIXME: Documente ceci.
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-FIXME: Documente ceci.
-.
-.TP
-.B HOMEPATH
-FIXME: Documente ceci.
-.
-.TP
-.B http_proxy
-FIXME: Documente ceci.
-.
-.TP
-.B LOGNAME
-FIXME: Documente ceci.
-.
-.TP
-.B USERPROFILE
-FIXME: Documente ceci.
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-FIXME: Documente ceci.
-.
-.TP
-.B DISPLAY
-FIXME: Documente ceci.
-.
-.TP
-.B HOME
-FIXME: Documente ceci.
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-FIXME: Documente ceci.
-.
-.TP
-.B BKTR_DEV
-FIXME: Documente ceci.
-.
-.TP
-.B BKTR_FORMAT
-FIXME: Documente ceci.
-.
-.TP
-.B BKTR_FREQUENCY
-FIXME: Documente ceci.
-.
-.TP
-.B http_proxy
-FIXME: Documente ceci.
-.
-.TP
-.B no_proxy
-FIXME: Documente ceci.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Fichiers
-.\" --------------------------------------------------------------------------
-.
-.SH FICHIERS
-.
-.TP
-/usr/\:local\:etc/\:mplayer/\:mplayer.conf
-paramètres globaux de MPlayer
-.
-.TP
-/usr/\:local\:etc/\:mplayer/\:mencoder.conf
-paramètres globaux de MEncoder
-.
-.TP
-~/.mplayer/\:config
-paramètres utilisateur de MPlayer
-.
-.TP
-~/.mplayer/\:mencoder.conf
-paramètres utilisateur de MEncoder
-.
-.TP
-~/.mplayer/\:input.conf
-correspondance des entrées (voir '\-input keylist' pour la liste complète)
-.
-.TP
-~/.mplayer/\:gui.conf
-fichier de config de la GUI
-.
-.TP
-~/.mplayer/\:gui.pl
-liste de lecture de la GUI
-.
-.TP
-~/.mplayer/\:font/
-Répertoire des polices (Il doit y avoir un fichier font.desc et des fichiers
-avec une extension .RAW)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-clés CSS en cache
-.
-.TP
-Dans l'hypothèse que le fichier /chemin/\:vers/\:film.avi soit joué, MPlayer
-cherche les les fichiers sub dans cet ordre\ :
-.RS
- /chemin/\:vers/\:film.avi
-.br
-~/.mplayer/\:sub/\:film.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Exemples
-.\" --------------------------------------------------------------------------
-.
-.SH EXEMPLES D'UTILISATIONS DE MPLAYER
-.
-.PP
-.B Lecture rapide de DVD\ :
-mplayer dvd://1
-.
-.PP
-.B Lecture en japonais avec sous-titres anglais\ :
-mplayer dvd://1 \-alang ja \-slang en
-.
-.PP
-.B Ne lire que les chapitres 5, 6, 7\ :
-mplayer dvd://1 \-chapter 5\-7
-.
-.PP
-.B Lecture d'un DVD multi-angle\ :
-mplayer dvd://1 \-dvdangle 2
-.
-.PP
-.B Lecture depuis un autre périphérique DVD\ :
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.
-.PP
-.B Joue un DVD vidéo depuis un répertoire contenant des fichiers VOB\ :
-mplayer dvd://1 \-dvd\-device /chemin/\:vers/\:répertoire/
-.
-.PP
-.B Copie le titre 1 du DVD sur le disque dur, sous le nom "title1.vob"\ :
-mplayer dvd://1 \-dumpstream \-dumpfile title1.vob
-.
-.PP
-.B Joue un DVD depuis le périphérique /dev/sr1 avec dvdnav \:
-mplayer dvdnav:////dev/sr1
-.
-.PP
-.B Streaming depuis HTTP\ :
-mplayer http://mplayer.hq/exemple.avi
-.
-.PP
-.B Streaming en utilisant RTSP\ :
-mplayer rtsp://serveur.exemple.com/\:NomFlux
-.
-.PP
-.B Convertit les sous-titres au format MPsub\ :
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.
-.PP
-.B Convertit les sous-titres en au format MPsub sans afficher le film\ :
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null
-\-vo null \-noframedrop \-benchmark \-sub source.sub \-dumpmpsub
-.
-.PP
-.B Entrée depuis V4L standard\ :
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420
-\-vo xv
-.
-.PP
-.B Lecture sur cartes zoran (ancienne méthode, dépréciée)\ :
-mplayer \-vo zr \-vf scale=352:288 file.avi
-.
-.PP
-.B Lecture sur carte zoran (nouvelle méthode)\ :
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi
-.
-.PP
-.B Lecture d'un CD-DTS en passthrough:
-.nf
-mplayer \-ac hwdts \-rawaudio format=0x2001 \-cdrom\-device /dev/cdrom cdda://
-.fi
-.br
-Vous pouvez aussi utiliser \-afm hwac3 au lieu de \-ac hwdts.
-Adaptez '/dev/cdrom' pour que ça corresponde avec le périphérique CD-ROM de
-votre machine.
-Si votre récepteur externe gère le décodage de flux DTS bruts,
-vous pouvez lire directement avec cdda://, sans préciser le format,
-hwac3 ou hwdts.
-.
-.PP
-.B Joue un fichier AAC 6 canaux avec seulement deux enceintes\ :
-mplayer \-rawaudio format=0xff \-demuxer rawaudio \-af pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac
-.br
-Peut-être vous aurez à ajuster un peu la valeur de pan (par c-à-d la
-multiplier par une valeur) pour augementer le volume ou éviter l'écrêtage
-.
-.PP
-.B inverseur à damier avec le filtre geq\ :
-.nf
-mplayer \-vf geq='128+(p(X\,Y)\-128)*(0.5-gt(mod(X/SW\,128)\,64))*(0.5-gt(mod(Y/SH\,128)\,64))*4'
-.fi
-.
-.SH EXEMPLES D'UTILISATIONS DE MENCODER
-.
-.PP
-.B Encode le titre #2 d'un DVD, uniquement les chapitres sélectionnés\ :
-mencoder dvd://2 \-chapter 10\-15 \-o titre2.avi \-oac copy \-ovc divx4
-.
-.PP
-.B Encode le titre #2 d'un DVD, redimensionnement en 640x480\ :
-mencoder dvd://2 \-vf scale=640:480 \-o titre2.avi \-oac copy \-ovc divx4
-.
-.PP
-.B Encodage du titre #2 d'un DVD, redimensionnement en 512xHHH (gardant \
-le rapport hauteur/\:largeur)\ :
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o titre2.avi \-oac copy
-\-ovc divx4
-.
-.PP
-.B Même chose, mais avec un bitrate de 1800kbit et des macro-blocs optimisés\ :
-mencoder dvd://2 \-o titre2.avi \-oac copy \-ovc lavc
-\-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
-.
-.PP
-.B Même chose, mais une compression MJPEG\ :
-mencoder dvd://2 \-o titre2.avi \-oac copy \-ovc lavc
-\-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
-.
-.PP
-.B Encode tous les fichiers *.jpg du répertoire courant
-mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc divx4
-.
-.PP
-.B Encode depuis un tuner TV
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc rawrgb
-.
-.PP
-.B Encode depuis un pipe
-rar p test-SVCD.rar | mencoder \-ovc divx4 \-divx4opts br=800 \-ofps 24 \-
-.
-.PP
-.B Encode de multiples fichiers *.vob
-cat *.vob | mencoder <options> \-
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Bogues, auteurs, disclaimer standard
-.\" --------------------------------------------------------------------------
-.
-.SH BOGUES
-Pas de panique.
-Si vous en trouvez un, faites-nous un rapport de bogue, mais s'il vous plaît,
-assurez-vous d'avoir lu toute la documentation auparavant.
-De plus, vérifiez s'il n'y a pas de smiley. :-)
-Beaucoup de bogues sont le résultat d'une installation incorrecte ou d'une
-mauvaise utilisation des paramètres.
-La section de la doc sur les rapports de bogues
-(http://www.mplayerhq.hu/\:DOCS/\:HTML/\:fr/\:bugreports.html)
-explique comment créer des rapports de bogues utiles.
-.
-.
-.SH AUTEURS
-MPlayer était écrit à l'origine par Arpad Gereoffy.
-Voir le fichier AUTHORS pour la liste de certains des nombreux autres
-contributeurs.
-.TP
-MPlayer est (C) 2000\-2009 The MPlayer Team
-.TP
-Cette page de man est basée sur sa version en langue anglaise, écrite et
-maintenue par Gabucino, Jonas Jermann et Diego Biurrun
-.TP
-et est traduite en français par
-.B Nicolas Le Gaillart < nicolas AT legaillart.com >
-jusqu'à février 2004.
-.br
-.B Guillaume Poirier % gpoirier CHEZ mplayerhq POINT hu %
-depuis Août 2004.
-.PP
-Merci d'envoyer les mails la concernant sur la liste de diffusion
-MPlayer-translations.
-.\" end of file
diff --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1
deleted file mode 100644
index c95a867..0000000
--- a/DOCS/man/hu/mplayer.1
+++ /dev/null
@@ -1,11841 +0,0 @@
-.\" Synced with r32066
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette
-.\" Karbantartó: Gabrov
-.\" Encoding/kódolás: iso-8859-2
-.
-.\" --------------------------------------------------------------------------
-.\" Makró definíciók
-.\" --------------------------------------------------------------------------
-.
-.\" alopciók behúzásának definíciója
-.nr SS 5
-.\" új alopció hozzáadása
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" elsõ szintû alopciók kezdete, vége .RE-vel
-.de RSs
-.RS 10
-..
-.\" második szintû alopciók kezdete
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" második szintû alopciók vége
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" Név
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2010. 09. 26." "MPlayer Project" "A film lejátszó"
-.
-.SH NÉV
-mplayer \- film lejátszó
-.br
-mencoder \- film kódoló
-.
-.\" --------------------------------------------------------------------------
-.\" Szintaxis
-.\" --------------------------------------------------------------------------
-.
-.SH SZINTAXIS
-.na
-.nh
-.B mplayer
-[opciók] [fájl|URL|lejátszáslista|\-]
-.
-.br
-.B mplayer
-[opciók] fájl1
-[specifikus opciók] [fájl2] [specifikus opciók]
-.
-.br
-.B mplayer
-[opciók]
-{fájlok csoportja és opcióik}
-[csoport specifikus opciók]
-.
-.br
-.B mplayer
-[br]://[sáv][/eszköz]
-[opciók]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[sáv|[kezdõ_sáv]\-vég_sáv][/eszköz]
-[opciók]
-.
-.br
-.B mplayer
-vcd://sáv[/eszköznév]
-.
-.br
-.B mplayer
-tv://[csatorna][/input_id]
-[opciók]
-.
-.br
-.B mplayer
-radio://[csatorna vagy frekvencia][/capture]
-[opciók]
-.
-.br
-.B mplayer
-pvr://
-[opciók]
-.
-.br
-.B mplayer
-dvb://[kártya_szám@]csatorna
-[opciók]
-.
-.br
-.B mplayer
-mf://[fájlmaszk|@listafájl]
-[\-mf opciók] [opciók]
-.
-.br
-.B mplayer
-[cdda|cddb]://sáv[\-végsáv][:sebesség][/eszköznév]
-[opciók]
-.
-.br
-.B mplayer
-cue://fájl[:sáv]
-[opciók]
-.
-.br
-.B mplayer
-[fájl|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://
-[felhasználó:jelszó@]URL[:port] [opciók]
-.
-.br
-.B mplayer
-sdp://fájl
-[opciók]
-.
-.br
-.B mplayer
-mpst://gépnév[:port]/URL
-[opciók]
-.
-.br
-.B mplayer
-tivo://host/[lista|llist|fsid]
-[opciók]
-.
-.br
-.B gmplayer
-[opciók]
-[\-skin\ skin]
-.
-.br
-.B mencoder
-[opciók] fájl
-[fájl|URL|\-] [\-o\ fájl | file://fájl | smb://[felhasználó:jelszó@]hoszt/fájlút]
-.
-.br
-.B mencoder
-[opciók] fájl1
-[specifikus opciók] [fájl2] [specifikus opciók]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" Leírás
-.\" --------------------------------------------------------------------------
-.
-.SH LEÍRÁS
-.B mplayer
-egy film lejátszó Linuxra (fut számos más platformon és CPU architektúrán is,
-lásd a dokumentációt).
-Lejátsza a legtöbb MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM,
-MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM és RoQ fájlt, számos natív és bináris
-codec-et támogat.
-Tudsz nézni vele VCD, SVCD, DVD, Blu\-ray lemezeket, 3ivx-et, DivX 3/4/5-öt, WMV-t és még
-H.264 filmeket is.
-.PP
-Az MPlayer a videó és audió kimeneti vezérlõk széles skáláját támogatja.
-Van X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
-Quartz, Mac OS X CoreVideo támogatás, de használhatod a GGI, SDL (és ennek összes
-vezérlõje), VESA (minden VESA-kompatibilis kártyán, még X11 nélkül is), néhány
-alacsony szintû, kártyaspecifikus vezérlõ (Matroxhoz, 3dfx-hez és ATI-hoz) és
-pár hardveeres MPEG dekódoló lap, mint pl.\& a Siemens DVB, Hauppauge PVR (IVTV),
-DXR2 és DXR3/\:Hollywood+ támogatását is. A legtöbbjük tudja a szoftveres és
-harderes nagyítást, így a filmjeidet teljes képernyõs módban élvezheted.
-.PP
-Az MPlayernek van onscreen display (OSD) funkciója is a státuszinformációk
-és a szép, élsímított, árnyékolt feliratok megjelenítéséhez és a billentyûzetrõl
-érkezõ jelek visszajelzéséhez. Európai/\:ISO8859\-1,2 (magyar, angol, cseh, stb.),
-cirill és koreai betûtípusok mind támogatottak 12 felirat formátummal (MicroDVD,
-SubRip, OGM, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS és a mi
-sajátunk: MPsub) és DVD felirattal (SPU streams, VOBsub és Closed Captions)
-egyetemben.
-.PP
-.B mencoder
-(MPlayer's Movie Encoder) egy egyszerû film kódoló, amit az
-MPlayer által lejátszható filmek (lásd fent) más, MPlayer által támogatott
-formátumba történõ átalakítására terveztünk (lásd lejebb).
-MPEG-4-be (DivX/Xvid) kódol, a libavcodec valamelyik codec-jével és
-PCM/\:MP3/\:VBRMP3 audióval 1, 2 vagy 3 lépésben.
-Továbbá képes stream-et másolni, hatékony szûrõ rendszere van (vágás,
-nagyítás, tükrözés, utófeldolgozás, forgatás, méretezés, zajszûrés,
-RGB/\:YUV átalakítás) és így tovább.
-.PP
-.B gmplayer
-egy MPlayer grafikus felhasználó felülettel.
-Ugyan azok az opciói, mint az MPlayer-nek, de nem biztos, hogy minden tökéletesen
-fog mûködni a GUI konfigurációja miatt (ami a gui.conf fájlban van).
-Gyakorlatilag néhány opció felülírásra kerül a gui.conf fájl beállításaival,
-míg mások véglegesen ott kerülnek tárolásra.
-.PP
-A gyors kezdéshez példákat ezen man oldal végén találhatsz.
-.PP
-.B Nézd meg a HTML dokumentációt is!
-.
-.
-.\" --------------------------------------------------------------------------
-.\" interaktív vezérlés
-.\" --------------------------------------------------------------------------
-.
-.SH "INTERAKTÍV VEZÉRLÉS"
-Az MPlayernek egy teljesen személyre szabható, parancs-vezérelt irányító rétege
-van, aminek a segítségével vezérelhetõ billentyûzettel, egérrel, joystickkal,
-vagy távirányítóval (LIRC-cel).
-Lásd a \-input kapcsolót a testreszabásához.
-.
-.TP
-.B irányítás billentyûzetrõl
-.PD 0
-.RS
-.IPs "<\- és \->"
-Lépés vissza/\:elõre 10 másodperccel.
-.IPs "fel és le"
-Lépés elõre/\:hátra 1 perccel.
-.IPs "pgup és pgdown"
-Lépés elõre/\:hátra 10 perccel.
-.IPs "[ és ]"
-Csökkenti/növeli az aktuális lejátszási sebességet 10%-kal.
-.IPs "{ és }"
-Felezi/duplázza az aktuális lejátszási sebességet.
-.IPs "backspace"
-Visszaállítja a lejátszási sebességet normálisra.
-.IPs "< és >"
-Vissza/\:elõre lépés a lejátszási listában.
-.IPs "ENTER"
-Elõre lépés a lejátszási listában, akár a végén túlra is.
-.IPs "HOME és END"
-következõ/\:elõzõ szülõi playtree bejegyzésre ugrás
-.IPs "INS és DEL (csak ASX lejátszási listában)"
-Következõ/\:elõzõ alternatív forrás.
-.IPs "p / SPACE"
-Szünet (újra megnyomva indít).
-.IPs ".\ \ \ \ "
-Elõre lépés.
-Egyszer megnyomva megállítja a filmet, majd minden egyes megnyomásra egy
-képkockát lejátszik és újra megáll (bármelyik másik gombbal elindul újra).
-.IPs "q / ESC"
-Lejátszás megállítása és kilépés.
-.IPs "U\ \ \ \ "
-Lejátszás megállítása (és kilépés, ha a \-idle nincs megadva).
-.IPs "+ és \-"
-Audió késleltetés állítása +/\- 0.1 másodperccel.
-.IPs "/ and *"
-Hangerõ csökkentése/\:növelése.
-.IPs "9 és 0"
-Hangerõ csökkentése/\:növelése.
-.IPs "( és )"
-Beállítja az audió egyensúlyt a bal/\:jobb csatornának megfelelõen.
-Beállítja az audió egyensúlyt a bal/\:jobb csatornának megfelelõen.
-.IPs "m\ \ \ \ "
-Hang elnémítása.
-.IPs "_ (csak MPEG-TS, AVI és libavformat mellett)"
-Váltás az elérhetõ videó sávok között.
-.IPs "# (csak DVD, Blu-Ray, MPEG, Matroska, AVI és libavformat mellett)"
-Váltás az elérhetõ audió sávok között.
-.IPs "TAB (csak MPEG-TS és libavformat)"
-Váltás az elérhetõ programok között.
-.IPs "f\ \ \ \ "
-Teljes képernyõs lejátszás (lásd a \-fs\-t).
-.IPs "T\ \ \ \ "
-Az ablak mindig látható (lásd a \-ontop\-t).
-.IPs "w és e"
-Pan-scan tartomány csökkentése/\:növelése.
-.IPs "o\ \ \ \ "
-Váltás az OSD állapotok között: nincs / keresés / keresés + idõ / keresés + idõ + össz idõ.
-.IPs "d\ \ \ \ "
-Váltás a Képkocka eldobási módok között: nincs / megjelenítés kihagyása / dekódolás kihagyása
-(lásd a \-framedrop és \-hardframedrop kapcsolókat).
-.IPs "v\ \ \ \ "
-Feliratok láthatóságának ki-/bekapcsolása.
-.IPs "j\ \ \ \ "
-Lépegetés az elérhetõ feliratok között.
-.IPs "y és g"
-Elõre/hátra lépés a felirat listában.
-.IPs "F\ \ \ \ "
-"Kényszerített felirat" megjelenítése.
-.IPs "a\ \ \ \ "
-Felirat igazítás állítása: fent / középen / lent.
-.IPs "x és z"
-Felirat késleltetés állítása +/\- 0.1 másodperccel.
-.IPs "r és t"
-Felirat mozgatása fel/le.
-.IPs "i (csak \-edlout módban)"
-Egy EDL kihagyás kezdetének vagy végének bejelölése és a megadott fájlba írása.
-.IPs "s (csak \-vf screenshot mellett)"
-Képernyõmentés készítése.
-.IPs "S (csak \-vf screenshot mellett)"
-Képernyõmentések készítésének elindítása/leállítása.
-.IPs "I\ \ \ \ "
-Fájlnév megjelenítése az OSD-n.
-.IPs "P\ \ \ \ "
-Megjeleníti a folyamatsávot, az eltelt idõt és az össz hosszot az OSD-n.
-.IPs "! és @"
-Ugrás az elõzõ/következõ fejezet elejére.
-.IPs "D (csak \-vo xvmc, \-vo vdpau, \-vf yadif, \-vf kerndeint mellett)"
-Deinterlacer aktiválása/deaktiválása.
-.IPs "A"
-Lépegetés az elérhetõ DVD szögek között.
-.RE
-.PD 1
-.PP
-.RS
-(A következõ billentyûk csak hardveres támogatású videó kimeneteken
-(xv, (x)vidix, (x)mga, stb.), a szoftveres equalizer
-(\-vf eq vagy \-vf eq2) vagy hue szûrõ (\-vf hue) használatakor mûködnek.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "1 és 2"
-Kontraszt beállítása.
-.IPs "3 és 4"
-Fényerõ beállítása.
-.IPs "5 és 6"
-Színárnyalat beállítása.
-.IPs "7 és 8"
-Szaturáció beállítása.
-.RE
-.PD 1
-.PP
-.RS
-(A következõ billentyûk csak quartz vagy corevideo videó kimeneten mûködnek.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "command + 0"
-Film ablak eredeti méretének felére állítása.
-.IPs "command + 1"
-Film ablak eredeti méretûre állítása.
-.IPs "command + 2"
-Film ablak eredeti méretének duplájára állítása.
-.IPs "command + f"
-Teljes képernyõs lejátszás (lásd még a \-fs\-t).
-.IPs "command + [ és command + ]"
-Film ablak alpha-jának beállítása.
-.RE
-.PD 1
-.PP
-.RS
-(A következõ billentyûk csak az sdl kimeneti videó vezérlõvel mûködnek.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "c\ \ \ \ "
-Léptetés a használható teljes képernyõs módok között.
-.IPs "n\ \ \ \ "
-Eredeti mód visszaállítása.
-.RE
-.PD 1
-.PP
-.RS
-(A következõ gombok csak akkor mûködnek, ha multimédiás billentyûzeted van.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs PAUSE
-Szünet.
-.IPs "STOP\ "
-Lejátszás megállítása és kilépés.
-.IPs "PREVIOUS és NEXT"
-Lépés hátra/\:elõre 1 perccel.
-.RE
-.PD 1
-.PP
-.RS
-(A következõ gombok csak akkor mûködnek, ha GUI támogatás be van fordítva
-és elsõbbséget élveznek a fenti gomb-definíciókkal szemben.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs ENTER
-Lejátszás elindítása.
-.IPs "ESC\ \ "
-Lejátszás megállítása.
-.IPs "l\ \ \ \ "
-Fájl betöltése.
-.IPs "t\ \ \ \ "
-Felirat betöltése.
-.IPs "c\ \ \ \ "
-Skin böngészõ megnyitása.
-.IPs "p\ \ \ \ "
-Lejátszási lista megnyitása.
-.IPs "r\ \ \ \ "
-Beállítások megnyitása.
-.RE
-.PD 1
-.PP
-.RS
-(A következõ gombok csak akkor mûködnek, ha TV vagy DVB bemenet támogatással
-fordítottál és elsõbbséget élveznek a fenti gomb-definíciókkal szemben.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "h és k"
-Elõzõ/\:következõ csatorna kiválasztása.
-.IPs "n\ \ \ \ "
-Normaváltás.
-.IPs "u\ \ \ \ "
-Csatornalista átváltása.
-.RE
-.PD 1
-.PP
-.RS
-(A következõ gombok csak akkor mûködnek, ha dvdnav támogatással fordítottál:
-a menüben való navigációra használatosak.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "keypad 8"
-Kiválasztás fel.
-.IPs "keypad 2"
-Kiválasztás le.
-.IPs "keypad 4"
-Kiválasztás balra.
-.IPs "keypad 6"
-Kiválasztás jobbra.
-.IPs "keypad 5"
-Visszatérés a fõmenübe.
-.IPs "keypad 7"
-Visszatérés a legközelebbi menübe (a sorrend: fejezet->cím->fõmenü).
-.IPs "keypad ENTER"
-Választás jóváhagyása.
-.RE
-.PD 1
-.PP
-.RS
-.
-(A következõ gombok a TV teletext irányítására szolgálnak. Az adatai jöhetnek
-analóg TV forrásból vagy egy MPEG Transport Stream-bõl.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X\ \ \ \ "
-Teletext ki/\:bekapcsolása.
-.IPs "Q and W"
-Ugrás a következõ/\:elõzõ teletext oldalra.
-.RE
-.PD 1
-.
-.TP
-.B irányítás egérrel
-.PD 0
-.RS
-.IPs "3. gomb és 4. gomb"
-Lépés hátra/\:elõre 1 perccel.
-.IPs "5. gomb és 6. gomb"
-Hangerõ csökkentése/\:növelése.
-.RE
-.PD 1
-.
-.TP
-.B irányítás botkormánnyal
-.PD 0
-.RS
-.IPs "balra és jobbra"
-Lépés hátra/\:elõre 10 másodperccel.
-.IPs "fel és le"
-Lépés elõre/\:hátra 1 perccel.
-.IPs "1. gomb"
-Szünet.
-.IPs "2. gomb"
-OSD állapotok váltása: nincs / léptetés / léptetés + idõzítõ / léptetõ + idõzítõ + össz idõ.
-.IPs "3. gomb és 4. gomb"
-Hangerõ csökkentése/\:növelése.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Használat
-.\" --------------------------------------------------------------------------
-.
-.SH "HASZNÁLAT"
-Minden 'flag' opciónak van egy 'noflag' párja, pl.\& a \-fs opcióé a \-nofs.
-.PP
-Ha egy opciónak (csak XXX) jelölése van, csak az XXX-szel együtt használva,
-vagy befordított XXX mellett mûködik.
-.PP
-.I MEGJEGYZÉS:
-Az alopció értelmezõ (amit például a \-ao pcm alopcióinál használunk) támogat
-egy speciális típusú string-escaping-et, ami a külsõ GUI-khoz lett kitalálva.
-.br
-Formátuma az alábbi:
-.br
-%n%n_hosszusagu_karakterlanc
-.br
-.I PÉLDÁK:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-Vagy script-ben:
-.br
-mplayer \-ao pcm:file=%`expr length "$NAME"`%"$NAME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" Konfigurációs fájlok
-.\" --------------------------------------------------------------------------
-.
-.SH "KONFIGURÁCIÓS FÁJLOK"
-Ezen opciók mindegyike beleírható a konfigurációs fájlokba, amit az
-MPlayer/MEncoder minden indításkor beolvas.
-A rendszerszintû konfigurációs fájl az 'mplayer.conf', a konfigurációs
-könyvtáradban van (pl.\& /etc/\:mplayer vagy /usr/\:local/\:etc/\:mplayer),
-a felhasználói szintû pedig '~/\:.mplayer/\:config'.
-A MEncoder konfigurációs fájl a 'mencoder.conf' a konfigurációs könyvtáradban
-van (pl.\& /etc/\:mplayer vagy /usr/\:local/\:etc/\:mplayer), a felhasználói
-szintû pedig a '~/\:.mplayer/\:mencoder.conf'.
-A felhasználóspecifikus opciók felülbírálják a rendszerszintûeket, a
-parancssorban megadottak pedig mindkettõt.
-A konfigurációs fájl szintaxisa 'opció=<érték>', \'#' jeltõl számitva
-minden kommentként van kezelve.
-Az olyan opciók melyek egyébként érték megadása nélkül használandóak, itt
-a 'true' vagy '1' értékkel engedélyezhetõek, míg a 'false' illetve '0'
-értékkel letilthatóak. Még az al-opciók is paraméterezhetõek ily módon.
-.PP
-Fájl-specifikus konfigurációs fájlokat is írhatsz.
-Ha például a 'movie.avi' fájlhoz szeretnél konfigurációs fájlt,
-hozz létre egy 'movie.avi.conf' nevû fájlt az opciókkal, és tedd
-a ~/.mplayer/ könyvtárba.
-A konfigurációs fájlt teheted ugyanabba a könyvtárba is, mint ahol a
-lejátszandó fájl van, feltéve hogy megadod a \-use\-filedir\-conf kapcsolót (vagy
-a parancssorban vagy a globális konfigurációs fájlban).
-Ha egy fájl specifikus konfigurációs fájl található ugyan abban a könyvtárban, nem
-tölt be egy fájl specifikus konfigurációt sem a ~/.mplayer könyvtárból.
-Ráadásul a \-use\-filedir\-conf opció engedélyezi a könyvtár specifikus
-konfigurációs fájlokat.
-Ezért az MPlayer elõször megpróbálja betölteni az mplayer.conf-ot az
-lejátszandó fájlt tartalmazó könyvtárból, majd megpróbál betölteni bármilyen fájl
-specifikus konfigurációt.
-.PP
-.I PÉLDA AZ MPLAYER KONFIGURÁCIÓS FÁJLJÁRA:
-.sp 1
-.nf
-# Matrox vezérlõ használata alapértelmezésként.
-vo=xmga
-# Imádok filmek közben kézenállni.
-flip=yes
-# Több fájl dekódolása/kódolása png-bõl,
-# a lejátszást mf://fájlmaszk opcióval kell indítani
-mf=type=png:fps=25
-# A titokzatos negatív képek sirályak.
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I "PÉLDA A MENCODER KONFIGURÁCIÓS FÁJLJÁRA:"
-.sp 1
-.nf
-# Az MEncoder kimenetének alapértelmezett fájlneve.
-o=encoded.avi
-# A következõ 4 sor megengedi a mencoder tv:// -nek, hogy azonnal kezdje el a mentést.
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# sokkal bonyolultabb alapértelmezett kódolási beállítások
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont-autoscale=3
-subfont-osd-scale=6
-subfont-text-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Profilok
-.\" --------------------------------------------------------------------------
-.
-.SH "PROFILOK"
-A különbözõ konfigurációjú történõ munka megkönnyítésére profilokat lehet
-definiálni a konfigurációs fájlokban.
-Egy profil a négyzetes zárójelbe tett nevével kezdõdik, pl.\& '[en-profilom]'.
-Az összes ezutáni opció a profil része lesz.
-A leírás (melyet a \-profile help mutat) a profile-desc opcióval adható meg.
-A profil befejezéséhez kezdj egy újat vagy használd a 'default' profil nevet
-az általános opciókkal történõ folytatásához.
-.fi
-.PP
-.I "PÉLDA MPLAYER PROFIL:"
-.sp 1
-.nf
-
-[protocol.dvd]
-profile-desc="profil dvd:// folyamokhoz"
-vf=pp=hb/vb/dr/al/fd
-alang=en
-
-[protocol.dvdnav]
-profile-desc="profil dvdnav:// folyamokhoz"
-profile=protocol.dvd
-mouse-movements=yes
-nocache=yes
-
-[extension.flv]
-profile-desc="profil .flv fájlokhoz"
-flip=yes
-
-[vo.pnm]
-outdir=/tmp
-
-[ao.alsa]
-device=spdif
-.fi
-.PP
-.I "PÉLDA MENCODER PROFIL:"
-.sp 1
-.nf
-
-[mpeg4]
-profile-desc="MPEG4 kódolás"
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile-desc="HQ MPEG4 kódolás"
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Opciók
-.\" --------------------------------------------------------------------------
-.
-.SH "ÁLTALÁNOS OPCIÓK"
-.
-.TP
-.B \-codecpath <könyvtár>
-Megadja a bináris codec-ek könyvtárát.
-.
-.TP
-.B \-codecs\-file <fájlnév> (lásd még \-afm, \-ac, \-vfm, \-vc)
-Felülbírálja a szabványos keresési útvonalat és a megadott fájlt
-használja a beépített codecs.conf helyett.
-.
-.TP
-.B \-include <konfigurációs fájl>
-Az alapértelmezettek után beolvasandó konfigurációs fájl.
-.
-.TP
-.B \-list\-options
-Kiírja az összes elérhetõ opciót.
-.
-.TP
-.B \-msgcharset <kódlap>
-A konzol üzeneteket a megadott kódlapra konvertálja (alapértelmezett: automatikus
-felismerés).
-A szöveg a a configure \-\-charset opciójával megadott kódolású lesz.
-Beállíthatod "noconv"-ra is a konvertálás teljes letiltásához (pl.\& ha
-problémáid vannak az iconv-val).
-.br
-.I MEGJEGYZÉS:
-Ez csak a parancssor értelmezésének befejezése után lép életbe.
-Az MPLAYER_CHARSET környezeti változóval szabadulhatsz meg az elsõ
-sorok elrontott kimenetétõl.
-
-.
-.TP
-.B \-msgcolor
-Engedélyezi a színes konzol kimenetet az ANSI színeket támogató terminálokon.
-.
-.TP
-.B \-msglevel <all=<szint>:<module>=<szint>:...>
-Külön beállítja a beszédességet minden modulhoz.
-Az 'all' modul minden más, explicit nem megadott modul beszédességét beállítja.
-Lásd a '\-msglevel help' kimenetét a modulok listájához.
-.br
-.I MEGJEGYZÉS:
-Egyes üzenetek a parancssor értelmezése elõtt kerülnek kiírásra, ezért
-a \-msglevel nem érinti azokat.
-Ezen üzenetek szabályozásához az MPLAYER_VERBOSE környezeti változót
-kell használnod, a leírását lásd lejjebb.
-.br
-Használható szintek:
-.PD 0
-.RSs
-.IPs \-1
-teljes némaság
-.IPs 0
-csak végzetes üzenetek
-.IPs 1
-hiba üzenetek
-.IPs 2
-figyelmeztetõ üzenetek
-.IPs 3
-rövid tanácsok
-.IPs 4
-információs üzenetek
-.IPs 5
-státusz üzenetek (alapértelmezett)
-.IPs 6
-bõbeszédû üzenetek
-.IPs 7
-2. szintû debug
-.IPs 8
-3. szintû debug
-.IPs 9
-4. szintû debug
-.RE
-.PD 1
-.
-.TP
-.B \-msgmodule
-Minden egyes konzol üzenet elé beilleszti a modul nevét.
-.
-.TP
-.B \-noconfig <opciók>
-Ne értelmezze a kiválaszott konfigurációs fájlokat.
-.br
-.I MEGJEGYZÉS:
-Ha a \-include vagy \-use\-filedir\-conf opciók adottak a
-parancssorban, figyelembe lesznek véve.
-.sp 1
-Elérhetõ opciók:
-.PD 0
-.RSs
-.IPs "all\ \ "
-minden konfigurációs fájl
-.IPs "gui (csak GUI)"
-GUI konfigurációs fájl
-.IPs system
-rendszer konfigurációs fájl
-.IPs "user\ "
-felhasználói konfigurációs fájl
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet\ "
-Hatására a konzoli kimeneti sorok kevésbé lesznek beszédesek;
-alaphelyzetben megakadályozza, hogy a státuszsor
-(pl.\& A: 0.7 V: 0.6 A-V: 0.068 ...) megjelenjen.
-Általában lassú vagy hibás terminálokon hasznos, amik nem kezelik
-megfelelõen a kocsi visszát (pl.\& \\r).
-.
-.TP
-.B \-priority <prio> (csak Windows és OS/2 alatt)
-Az MPlayer processz proirítását állítja be a Windows alatt elérhetõ
-elõre definiált értékeknek megfelelõen.
-A <prio> lehetséges értékei:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I FIGYELMEZTETÉS:
-A realtime priorítás használata rendszer leakadást eredményezhet.
-.RE
-.
-.TP
-.B \-profile <profil1,profil2,...>
-A megadott profil(ok) használata, \-profile help kiírja a definiált profilokat.
-.
-.TP
-.B \-really\-quiet (lásd még \-quiet)
-Még kevesebb kimenet és státusz üzenet kiírása, mint a \-quiet esetén.
-Elnyomja a GUI hibaüzeneteket is.
-.
-.TP
-.B \-show\-profile <profil>
-Megmutatja egy profil leírását és tartalmát.
-.
-.TP
-.B \-use\-filedir\-conf
-Egy fájl-specifikus konfigurációs fájlt keres ugyan abban a könyvtárban,
-amelyikben a lejátszandó fájl van.
-.br
-.I FIGYELMEZTETÉS:
-Veszélyes lehet, ha nem megbízható médiát játszol le.
-.
-.TP
-.B "\-v\ \ \ \ \ "
-Növeli a beszédességet egy szinttel minden parancssorban található
-\-v esetén.
-.
-.
-.
-.SH "LEJÁTSZÓ OPCIÓK (CSAK MPLAYER)"
-.
-.TP
-.B \-autoq <minõség> (használd a \-vf [s]pp mellett)
-Dinamikusan változtatja a postprocessing értékét a maradék CPU idõ
-függvényében. A megadott szám lesz a maximálisan használandó érték. Általában
-célravezetõ nagy számok beírása.
-Ezen opció használatához elengedhetetlen a \-vf [s]pp opció paraméterek nélküli
-használata.
-.
-.TP
-.B \-autosync <faktor>
-A/V szinkron pontosítása a mért különbség alapján.
-Az \-autosync 0 opció megadása egyenértékû az alapállapottal, ami szerint
-az idõzítés teljes egészében az audio kártya által közölt értéken fog mûködni.
-Az \-autosync 1 elvégzi ugyanezt, de valamelyest megváltoztatja a használt
-A/V korrekciós algoritmust.
-Olyan, páratlan számú framerátájú filmeknél, melyek a \-nosound opcióval
-helyesen játszódnak le, hasznos lehet ezen opció 1-nél nagyobb értékre
-állítása.
-Minél nagyobb az érték, az idõzítés annál közelebb lesz a \-nosound\-hoz.
-Az \-autosync 30 opciót érdemes kipróbálni, amennyiben a hangkártya
-meghajtója nem, vagy hibásan támogatja az audio késlekedés mérését.
-Ezen érték megadásával, ha nagy az A/V szinkron eltérés értéke, 1\-2
-másodperc alatt helyreáll a helyes szinkron.
-Ez a reagálásbeli késés a váratlan A/V eltéréseknél az egyetlen
-mellékhatása ennek az opciónak, minden hangkártya esetében.
-.
-.TP
-.B \-benchmark
-A lejátszás végén némi CPU statisztikát és az eldobott képkockákat írja ki.
-A \-nosound és \-vo null opciókkal együtt a video codec sebességének
-mérésére használható.
-.br
-.I MEGJEGYZÉS:
-Ezzel az opcióval az MPlayer figyelmen kívül hagyja a képkockák késleltetését,
-ha hang nélküli lejátszás történik (felfogható végtelen FPS-ként is).
-.
-.TP
-.B \-colorkey <szám>
-A colorkey megváltoztatása egy tetszés szerinti RGB színre. A fekete szín a
-0x000000, a fehér pedig a 0xffffff. Csak a cvidix, fbdev, svga, vesa,
-winvidix, xmga, xvidix és xover, xv (lásd \-vo xv:ck), xvmc (lásd \-vo xv:ck)
-és directx videó kimeneti meghajtók támogatják.
-.
-.TP
-.B \-nocolorkey
-Kikapcsolja a colorkey használatát.
-Csak a cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix, xover, xv
-(lásd \-vo xv:ck), xvmc (lásd \-vo xv:ck) és directx videó kimeneti
-meghajtók támogatják.
-.
-.TP
-.B \-correct\-pts (KÍSÉRLETI)
-Átváltja az MPlayert egy kísérleti módba, melyben a videó kockák idõbélyege
-másképp lesz kiszámítva és támogatottak lesznek azok a szûrõk, melyek új kockákat
-szúrnak be vagy a meglévõek idõbélyegét módosítják.
-A sokkal pontosabb idõbélyegek láthatóak például a fejezetváltásokhoz
-igazított feliratok esetén a \-ass opció használatával.
-A \-correct\-pts nélkül a felirat idõzítés elcsúszik néhány kockával.
-Ez az opció nem mûködik jól néhány demuxer-rel és codec-kel.
-.
-.TP
-.B \-crash\-debug (DEBUG KÓD)
-Automatikusan kapcsolódik a gdb-hez összeomlásnál vagy SIGTRAP-nál.
-A támogatását be kell fordítani a configure \-\-enable\-crash\-debug kapcsolójával.
-.
-.TP
-.B \-doubleclick\-time
-Két egymás utáni gombnyomás dupla-kattintásként történõ értelmezéséhez
-szükséges idõkorlát milliszekundumban (alapértelmezett: 300).
-A 0 érték az ablakozó rendszerre bízza a dupla-kattintás eldöntését
-(csak \-vo directx).
-.br
-.I MEGJEGYZÉS:
-Kicsit más mûködést kapsz attól függõen, hogy a MOUSE_BTN0_DBL
-vagy MOUSE_BTN0\-MOUSE_BTN0_DBL-hez rendelsz-e hozzá funckiót.
-.
-.TP
-.B \-edlout <fájlnév>
-Létrehoz egy új fájlt és az edit decision list (EDL) rekordokat beleírja.
-Lejátszás közben, a felhasználó az 'i' gomb megnyomásával jelölheti meg egy
-kihagyási rész elejét és végét.
-Ez egy kezdõpont a felhasználónak az EDL bejegyzések késõbbi finomhangolásához.
-Lásd http://www.mplayerhq.hu/\:DOCS/\:HTML/\:hu/\:edl.html fájlt a részletekért.
-.
-.TP
-.B \-edl-backward-delay <szám>
-Ha EDL-t használsz a lejátszás során és visszafelé ugrálsz, lehet, hogy
-egy EDL rekord közepére jutsz.
-Ebben az esetben az MPlayer tovább keres visszafelé az EDL rekord induló
-pozíciója felé, majd azonnal kihagyja az EDL rekordban megadott részt.
-Ezen viselkedés elkerüléséhez az MPlayer egy megadott, fix idõ intervallummal
-az EDL rekord kezdete elé ugrik.
-Ezzel a paraméterrel megadhatod ezt az idõ intervallumot másodpercekben
-(alapértelmezett: 2 másodperc).
-.
-.TP
-.B \-edl-start-pts
-Beállítja a pozíciókat az EDL rekordokban a lejátszott fájl kezdõ idejének megfelelõen.
-Néhány formátum, különösen az MPEG TS általában nem nulla PTS értékkel kezdõdik,
-és amikor EDL fájl készül az \-edlout kapcsolóval, az EDL rekordok abszolút
-absolute értékeket tartalmaznak, ami csak az adott fájlnál jók.
-Ha egy más formátumra lesz átkódolva, ez az EDL fájl többé nem megfelelõ.
-A \-edl-start-pts megadásával az EDL pozíciók automatikusan igazodnak a kezdõ
-idõhöz: az EDL fájl létrehozásakor kivonja a kezdõ idõt minden EDL rekordból,
-az EDL fájllal történõ lejátszáskor pedig hozzáadja a fájl kezdõ idejét minden
-EDL pozícióhoz.
-.
-.TP
-.B \-noedl-start-pts
-Letiltja az EDL pozíciók beállítását.
-.
-.TP
-.B \-enqueue (csak GUI)
-A parancssorban megadott fájlok a lejátszási listába kerülnek sorba az azonnali
-lejátszás helyett.
-.
-.TP
-.B \-fixed\-vo
-A video rendszer egy javított változatának használata, mely több fájl
-lejátszásakor nyújt elõnyöket (egy (un)inicializálás az összes fájlhoz).
-Csak egy ablak lesz nyitva az összes fájlnak.
-Jelenleg a következõ meghajtók támogatják a fixed-vo-t: gl, gl2, mga, svga, x11,
-xmga, xv, xvidix és dfbmga.
-.
-.TP
-.B \-framedrop (lásd még \-hardframedrop, \-nocorrect\-pts nélkül csak kísérleti jelleggel)
-Néhány képkocka megjelenítésének hanyagolása, hogy lassú rendszereken is
-megfelelõ legyen az A/V szinkron. A videó szûrõk nem vonatkoznak ezekre
-a képkockákra.
-B képkockáknál a dekódolást is átugorja.
-.
-.TP
-.B \-(no)gui
-Engedélyezi vagy letiltja a GUI felületet (alapértelmezésben a bináris nevétõl függ).
-A parancssorban csak a legelsõ kapcsolóként megadva mûködik.
-Nem mûködik konfig-fájl opcióként.
-.
-.TP
-.B \-h, \-help, \-\-help
-Rövid segítõ szöveg kiírása.
-.
-.TP
-.B \-hardframedrop (\-nocorrect\-pts nélkül csak kísérleti jelleggel)
-Intenzívebb képkockaeldobás (a dekódolási minõség rovására).
-Torz képekhez vezet!
-Figyelj rá, hogy különösen a libmpeg2 dekódolóval ez összeomolhat,
-ezért fontold meg a "\-vc ffmpeg12," használatát.
-.
-.TP
-.B \-heartbeat\-cmd
-Parancs, mely a lejátszás során 30 másodpercenként lefut egy system() hívás
-segítségével - pl.\& shell használat.
-.sp 1
-.I MEGJEGYZÉS:
-Az MPlayer ezt a parancsot ellenõrzés nélkül használja, a te felelõsséged,
-hogy ne okozzon biztonsági problémát (pl.\& gyõzõdj meg róla, hogy teljes elérési
-utakat használsz, ha a "." benne van az elérési utadban, mint Windows alatt).
-Csak videó lejátszás közben mûködik (pl.\& a \-novideo kapcsolóval nem, de \-vo null mellett igen).
-.sp 1
-Ezt "ki lehet használni" az olyan képernyõvédõ letiltásához, amely nem
-támogatja ehhez a megfelelõ X API-kat (lásd még \-stop\-xscreensaver).
-Ha úgy gondolod, hogy ez túl komplikált, kérd meg a képernyõvédõ
-szerzõjét, hogy támogassa a szükséges X API-kat.
-.sp 1
-.I PÉLDA az xscreensaver-hez:
-mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" fájl
-.sp 1
-.I PÉLDA a GNOME képernyõvédõjéhez:
-mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" fájl
-.RE
-.PD 1
-.
-.TP
-.B \-identify
-A \-msglevel identify=4 rövidítése.
-A fájl paramétereinek kiírása emészthetõ formában.
-Bõvebb információt kínál a feliratról, az audiósávok nyelvérõl és ID-irõl is.
-Néhány esetben több információt kapsz a \-msglevel identify=6 kapcsolóval.
-Például egy DVD vagy Blu\-Ray esetén kiírja a fejezeteket és az egyes címek idõbeli
-hosszát, valamint a lemez ID-t is.
-Ha a \-frames 0 kapcsolóval használod, elnyom minden videó kimenetet.
-A TOOLS/\:midentify.sh wrapper script eltünteti a maradék kimenetet, és
-(remélhetõleg) shell escape-eli a fájlneveket.
-.
-.TP
-.B \-idle (lásd még \-slave)
-Az MPlayer tétlen állapotban fog várakozni a kilépés helyett, ha nincs lejátszandó fájl.
-Általában szolga módban hasznos, ahol az MPlayer bemeneti parancsokkal vezérelhetõ.
-.TP
-.B \-input <parancsok>
-Ez az opció használható az input rendszer bizonyos paramétereinek
-beállítására. Az útvonalak a ~/.mplayer/ könyvtárhoz viszonyulnak.
-.br
-.I MEGJEGYZÉS:
-Az autorepeat jelenleg csak joystick-ekkel mûködik.
-.sp 1
-A rendelkezésre álló parancsok listája:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<fájlnév>
-Az alapértelmezett ~/\:.mplayer/\:input.conf -tól eltérõ bemeneti
-konfigurációs fájl megadása.
-Ha nincs elérési út megadva, a ~/\:.mplayer/\:<fájlnév> a feltételezett.
-.IPs ar-dev=<eszköz>
-Az Apple IR távirányítóhoz használt eszköz (alapértelmezetten automatikus detektálás, csak Linux-on).
-.IPs ar-delay
-Egy gomb automatikus ismétlése elõtti késleltetés miliszekundumban (0: kikapcsolás).
-.IPs ar-rate
-Billentyû/másodperc érték megadása autorepeat használata esetén.
-.IPs (no)default-bindings
-Az alapértelmezetten MPlayerbe épített billentyû-hozzárendeléseket használja.
-.IPs keylist
-Az összes használható billentyû listájának kiírása.
-.IPs cmdlist
-Az összes használható parancs kiírása.
-.IPs js-dev
-Használandó joystick megadása (alapállapot: /dev/\:input/\:js0).
-.IPs file=<fájlnév>
-Parancsok beolvasása a megadott fájlból. Leginkább FIFO megadása
-esetén hasznos.
-.br
-.I MEGJEGYZÉS:
-Ha az adott fájl egy FIFO, az MPlayer mindkét végét megnyitja, tehát
-kiadhatsz több 'echo "seek 10" > mp_pipe' parancsot is, és a pipe még
-mindig mûködni fog.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-A billentyûzet eseményeket bufferelõ FIFO méretét adhatod meg vele
-(alapértelmezett: 7).
-Az n méretû FIFO (n\-1) eseményt tud tárolni.
-Ha túl kicsi, néhány esemény elveszhet ("beragadt egérgomb" és
-hasonló effektusok).
-Ha túl nagy, az MPlayer látszólag kiakad a bufferelt események
-feldolgozása közben.
-Ha ugyan azt a viselkedést akarod, ami ezen opció bevezetése elõtt
-volt, akkor állítsd be Linux alatt 2-re, Windows alatt pedig 1024-re.
-.
-.TP
-.B \-lircconf <fájlnév> (csak LIRC)
-A LIRC konfigurációs fájljának megadása (alapértelmezett: ~/.lircrc).
-.
-.TP
-.B \-list\-properties
-Kiírja az elérhetõ tulajdonságok listáját.
-.
-.TP
-.B \-loop <szám>
-Film lejátszása <szám> alkalommal.
-A 0 érték végtelent jelent.
-.
-.TP
-.B \-menu (csak OSD menü)
-OSD menu támogatás bekapcsolása.
-.
-.TP
-.B \-menu\-cfg <fájlnév> (csak OSD menü)
-Alternatív menu.conf fájl használata.
-.
-.TP
-.B \-menu\-chroot <elérési út> (csak OSD menü)
-A fájl kiválasztó menü könyvtárát a megadott könyvtárra állítja.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-menu\-chroot /home"
-Lekorlátozza a fájl kiválasztó menüt a /\:home könyvtárra és annak alkönyvtáraira
-(pl.\& nincs hozzáférés a / könyvtárhoz, de van a /home/user_name könyvtárhoz).
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdir (csak OSD menü)
-A fájl böngészõ az utolsó ismert helyrõl indul az aktuális könyvtár helyett.
-.
-.TP
-.B \-menu\-root <érték> (csak OSD menü)
-Fõmenû megadása.
-.
-.TP
-.B \-menu\-startup (csak OSD menü)
-A fõmenü megjelenítése az MPlayer indításakor.
-.
-.TP
-.B \-mouse\-movements
-Engedélyezi az MPlayernek a pozícionáló eszköz eseményeinek fogadását,
-melyeket a videó kimeneti eszköz küld.
-Szükséges a dvd menükben a gombok kiválasztásához.
-Az X11 alapú VO-kban (x11, xv, xvmc, stb.), a gl, a gl2, a direct3d és a
-corevideo VO-kban támogatott.
-.
-.TP
-.B \-noar
-Kikapcsolja az AppleIR távirányító támogatását.
-.
-.TP
-.B \-noconsolecontrols
-Megtiltja az MPlayernek a billentyûzet események olvasását a standard
-input-ról. Hasznos, ha a standard input-ról olvasol be adatot.
-Ez automatikusan engedélyezõdik, ha \- van a parancssorban.
-Vannak esetek, amikor kézzel kell beállítanod, pl.\&
-ha megnyitod a /dev/\:stdin -t (vagy a rendszereden az ennek megfelelõt),
-lejátszási listában használod az stdin-t vagy késõbb akarsz olvastatni
-az stdin-rõl a loadfile vagy loadlist szolga parancsok segítségével.
-.
-.TP
-.B \-nojoystick
-Joystick támogatás kikapcsolása.
-.
-.TP
-.B \-nolirc
-LIRC támogatás kikapcsolása.
-.
-.TP
-.B \-nomouseinput
-Kikapcsolja az egérgomb nyomás/\:felengedés input-ot (a mozplayerxp
-helyzetérzékeny menüje igényli ezt a kapcsolót).
-.
-.TP
-.B \-rtc (csak RTC)
-Bekapcsolja a Linux RTC (realtime clock \- /dev/\:rtc) idõzítõ
-mechanizmusként való használatát.
-Ez felébreszti a folyamatot minden 1/1024 másodpercben, hogy ellenõrizze az
-aktuális idõt.
-Hasztalan a modern, asztali használatra beállított Linux kernelekkel, mivel
-azok már hasonló pontossággal ébresztik fel a folyamatot normálisan idõzített
-sleep használatta mellett.
-.
-.TP
-.B \-playing\-msg <karakterlánc>
-Kiír egy karakterláncot a lejátszás kezdete elõtt.
-A következõ bõvítmények támogatottak:
-.RSs
-.IPs ${NAME}
-A NAME tulajdonság értéke kerül a helyére.
-.IPs ?(NAME:TEXT)
-Csak akkor jelenik meg a TEXT, ha a NAME elérhetõ.
-.IPs ?(!NAME:TEXT)
-Csak akkor jelenik meg a TEXT, ha a NAME nem elérhetõ.
-.RE
-.
-.TP
-.B \-playlist <fájlnév>
-Fájlok lejátszása egy lejátszási listának megfelelõen (ASX, Winamp,
-SMIL vagy egy fájl/sor formátumú).
-.br
-.I MEGJEGYZÉS:
-Ez a kapcsoló egy egységnek tekinthetõ, ezért az ezután megadott opciók
-csak ezen lejátszási lista elemeire lesznek érvényesek.
-.br
-FIXME: Ezen még javítani kell és pontosan dokumentálni.
-.
-.TP
-.B \-rtc\-device <eszköz>
-A megadott eszköz használata az RTC idõzítéshez.
-.
-.TP
-.B \-shuffle
-Fájlok lejátszása véletlenszerû sorrendben.
-.
-.TP
-.B \-skin <név> (csak GUI)
-Skin betöltése a megadott könyvtárból az alapértelmezett skin könyvtáron
-belül, /usr/\:local/\:share/\:mplayer/\:skins/\: és ~/.mplayer/\:skins/.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-Megpróbálja a /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene
-majd utána a ~/.mplayer/\:skins/\:fittyfene könyvtárat.
-.RE
-.PD 1
-.
-.TP
-.B \-slave (lásd még \-input)
-Bekapcsolja a szolga (slave) módot, amiben az MPlayer egy hátsó (backend)
-programként mûködik más programok számára. A billentyûzet események
-feldolgozása helyett az MPlayer újsor (\\n) karakterrel elválasztott
-parancsokat olvas az stdin-rõl.
-.br
-.I MEGJEGYZÉS:
-A \-input cmdlist kapcsoló kilistázza a szolga módban használható parancsokat,
-a DOCS/tech/slave.txt fájlban megtalálod a leírásukat.
-Ez nem a többi, pl.\& a videó ablakon keresztül érkezõ input letiltására készült,
-arra használj mást, mint a \-input nodefault\-bindings:conf=/dev/null.
-.
-.TP
-.B \-softsleep
-Idõkeretek használata az aktuális idõ ellenõrzéséhez az MPlayer megfelelõ
-idõpontban kernel által történõ felébresztése helyett.
-Hasznos, ha a kerneled idõzítése nem precíz és nem tudod használni az RTC-t sem.
-Nagyobb CPU használat az ára.
-.
-.TP
-.B \-sstep <sec>
-<sec> másodperc kihagyása minden képkocka után.
-A film normális framerátája megmarad, így a lejátszás gyorsított. Mivel
-az MPlayer csak a következõ kulcs képkockára tud ugrani, ez pontatlan.
-.
-.TP
-.B \-udp\-ip <ip>
-Beállítja a cél címet az \-udp\-master által küldött adatcsomagoknak.
-Egy broadcast címre történõ állításával elérhetõ, hogy több kiszolgáló
-ugyan azon a broadcast címen tudjon szinkronizálni a mesterrel (alapértelmezett: 127.0.0.1).
-.
-.TP
-.B \-udp\-master
-Kiküld egy adatcsomagot az \-udp\-ip címre az \-udp\-port porton minden kocka
-lejátszása elõtt.
-Az adatcsomag a mester pozícióját mutatja a fájlban.
-.
-.TP
-.B \-udp\-port <port>
-Beállítja a cél portot az \-udp\-master által küldött adatcsomagoknak, és az
-\-udp\-slave által figyelt portot (alapértelmezett: 23867).
-.
-.TP
-.B \-udp\-seek\-threshold <sec>
-Amikor a mester keres, a kiszolgálónak el kell döntenie, hogy õ is ugrik
-vagy a kockák közötti szünet kiiktatásával beéri azt.
-Ha a mester több, mint <sec> másodperccel messzebb van a kiszolgálótól,
-a kiszolgáló ugrik.
-Egyébként "fut", hogy utolérje vagy vár a mesterre.
-Ezt majdnem mindig ajánlott az alapértelmezett 1 másodpercen hagyni.
-.
-.TP
-.B \-udp\-slave
-Figyel az \-udp\-port porton és követi a mester pozícióját.
-.
-.
-.SH "DEMUXER/FOLYAM OPCIÓK"
-.
-.TP
-.B \-a52drc <szint>
-A Dynamic Range Compression szintjét választja ki AC-3 audió folyamokhoz.
-A <szint> egy 0 és 1 közötti lebegõpontos érték, ahol a 0 jelenti, hogy nincs
-tömörítés és az 1 (ami az alapértelmezett) a teljes tömörítést (a hangos
-átmeneteket sokkal halkabbá teszi és fordítva).
-Egészen 2-ig adható meg érték, de ezek még csak kísérleti jellegûek.
-Ez a kapcsoló csak akkor hatásos, ha az AC-3 folyam tartalmazza a szükséges
-tartomány tömörítési információkat.
-.
-.TP
-.B \-aid <ID> (lásd még \-alang)
-Audió csatorna kiválasztása (MPEG: 0\-31, AVI/\:OGM: 1\-99, ASF/\:RM: 0\-127,
-VOB(AC-3): 128\-159, VOB(LPCM): 160\-191, MPEG-TS 17\-8190).
-Az MPlayer kiírja a használható audió ID-ket, ha bõbeszédû (\-v) módban
-fut. Ha egy MPEG-TS folyamot játszol le, az MPlayer/\:MEncoder az elsõ
-programot (ha van) fogja használni a kiválaszott audió folyammal.
-.
-.TP
-.B \-ausid <ID> (lásd még \-alang)
-Kiválasztja az audió alfolyam csatornáját.
-Jelenleg az érvényes tartomány 0x55..0x75 és csak az MPEG-TS-re vonatkozik,
-amennyiben azt a natív demuxer kezeli (nem a libavformat).
-A formátum típus lehet, hogy rosszul lesz megállapítva, attól függõen, hogy
-ez az információ (vagy annak hiánya) hogyan van az adatfolyamban, de jól
-demux-álja az audió folyamokat, ha több alfolyam található.
-Az MPlayer kiírja az elérhetõ alfolyam ID-ket a \-identify kapcsolóval.
-.
-.TP
-.B \-alang <nyelv kód[,nyelv kód,...]> (lásd még \-aid)
-A használni kívánt nyelvek priorítás listája.
-A különbözõ konténer formátumok különbözõ nyelv kódokat alkalmaznak.
-A DVD-k az ISO 639\-1 két betûs nyelv kódokat, a Matroska, az MPEG-TS és
-a NUT az ISO 639\-2 három betûs nyelv kódokat, míg az az OGM egy egyéni
-azonosítót használ. Az MPlayer kiírja a használható nyelveket ha
-bõbeszédû (\-v) módban fut.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang hu,en"
-Kiválasztja a magyar nyelvû sávot a DVD-n, ha az nem elérhetõ, akkor visszavált
-angolra.
-.IPs "mplayer \-alang jpn example.mkv"
-Japánul játszik le egy Matroska fájlt.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]név> (csak \-audiofile mellett)
-Audió demuxer-t ír elõ az \-audiofile \-hoz.
-A név elé írt '+' jellel kényszerítheted, így elmarad pár ellenõrzés!
-A demuxer nevét kell megadni a \-audio\-demuxer help listának megfelelõen.
-Kompatibilítási okokból elfogadja a demuxer ID-t is, ahogy
-az a libmpdemux/\:demuxer.h fájlban van.
-A \-audio\-demuxer audio vagy \-audio\-demuxer 17 MP3-at ír elõ.
-.
-.TP
-.B \-audiofile <fájlnév>
-Audiót játszik le egy külsõ fájlból (WAV, MP3 vagy Ogg Vorbis) a film
-nézése közben.
-.
-.TP
-.B \-audiofile\-cache <kByte>
-Az \-audiofile opcióval megadott folyam beolvasásának cache-elése, a megadott
-mennyiségû memória használatával.
-.
-.TP
-.B \-reuse\-socket (csak udp:// mellett)
-Engedélyezi a socket használtatát más folyamatoknak, amint az bezárul.
-.
-.TP
-.B \-bandwidth <bájt> (csak hálózatnál)
-Maximális sávszélesség megadása hálózati lejátszáshoz (olyan szerverekkel
-használható, melyek képesek különbözõ bitrátával küldeni).
-Hasznos ha élõben stream-elt médiát akarsz nézni lassú kapcsolattal.
-Real RTSP steam-mel a maximális küldési sávszélesség is beállítható vele,
-lehetõséget teremtve a gyorsabb cache feltöltésre és a stream dump-olásra.
-.
-.TP
-.B \-bluray\-angle <szög ID> (csak Blu\-ray)
-Néhány Blu\-ray lemez tartalmaz olyan jeleneteket, melyek több szögbõl is megtekinthetõek.
-Itt magadhatod az MPlayernek, hogy melyik szöget használja (alapértelmezett: 1).
-.
-.TP
-.B \-bluray\-chapter <fejezet ID> (csak Blu\-ray)
-Megadja az MPlayernek melyik Blu\-ray fejezetet kell elindítania az aktuális címbõl (alapértelmezett: 1).
-.
-.TP
-.B \-bluray\-device <lemez elérési útja> (csak Blu\-ray)
-Megadja a Blu\-ray lemez helyét. Egy könyvtárnak kell lennie Blu\-ray struktúrával.
-.
-.TP
-.B \-cache <kByte>
-Ezzel az opcióval megadható hogy mennyi memória (kbyte-ban) legyen használva
-gyorsítótárnak fájl vagy URL elõcache-elésénél.
-Különösen hasznos lassú médián.
-.
-.TP
-.B \-nocache
-Kikapcsolja a cache-elést.
-.
-.TP
-.B \-cache\-min <százalék>
-A lejátszás akkor indul, ha a cache <százalék>-ig feltöltõdött.
-.
-.TP
-.B \-cache\-seek\-min <százalék>
-Ha léptetést kell végezni az aktuális pozícióból a cache méretének
-<százalék>-kal megadott részén belüli pozícióba, az MPlayer
-megvárja, hogy a cache feltöltõdjön addig a pozícióig
-egy folyamban történõ ugrás helyett (alapértelmezett: 50).
-.
-.TP
-.B \-cdda <opció1:opció2> (csak CDDA)
-Ez az opció használható az MPlayer CD Audio olvasási képességeinek
-finomhangolására.
-.sp 1
-Az elérhetõ opciók:
-.RSs
-.IPs speed=<érték>
-CD pörgetési sebesség állítása.
-.IPs paranoia=<0\-2>
-Paranoia szint állítása.
-A 0-tól különbözõ értékek úgy tûnik, elrontják a lejátszást az elsõ sáv
-kivételével mindenhol.
-.RSss
-0: ellenõrzés kikapcsolása (alapértelmezett)
-.br
-1: csak overlap ellenõrzés
-.br
-2: teljes adatjavítás és ellenõrzés
-.REss
-.IPs generic-dev=<érték>
-Megadott SCSI egység használata.
-.IPs sector-size=<érték>
-Atomi olvasás mérete.
-.IPs overlap=<érték>
-Ellenõrzés esetén az overlap keresés legalacsonyabb értékének állítása
-<érték> szektorszámra.
-.IPs toc-bias
-Annak feltételezése, hogy a TOC-ban 1-es számmal szereplõ sáv kezdõ
-offset-je LBA 0-ként kerül címzésre.
-Néhány Toshiba meghajtónak szüksége van erre hogy a sávok határai
-jók legyenek.
-.IPs toc-offset=<érték>
-<érték> darab szektor hozzáadása a jelentett értékhez a címzésnél.
-Lehet negatív.
-.IPs (no)skip
-(soha) ne fogadjon el hibás adatrekonstrukciót.
-.RE
-.
-.TP
-.B \-cdrom\-device <elérési út az eszközhöz>
-A CD-ROM meghajtó megadása (alapértelmezett: /dev/\:cdrom).
-.
-.TP
-.B \-channels <szám> (lásd még \-af channels)
-Lejátszási csatornák igénylése (alapértelmezett: 2).
-Az MPlayer megmondja a dekódernek hogy annyi csatornán dekódoljon,
-amennyit ez az opció megad.
-Innentõl a dekóderen múlik ennek teljesítése.
-Ez akkor fontos ha AC-3-as hanggal ellátott videót nézel (pl.\& DVD).
-Ebben alapértelmezésként a liba52 dekódol és lemixeli az audiót a kért
-számú csatornára.
-A kimeneti csatornák dekódolt csatornák számától független, direkt
-megadásához használd a channels szûrõt.
-.br
-.I MEGJEGYZÉS:
-Ezt az opciót a codec-ek (csak AC-3), a szûrõk (surround) és az audió
-kimeneti vezérlõk (legalábbis az OSS) is figyelembe veszik.
-.sp 1
-A rendelkezésre álló opciók:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-sztereó
-.IPs 4
-térhatás
-.IPs 6
-teljes 5.1
-.IPs 8
-teljes 7.1
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <fejezet ID>[\-<utolsó fejezet ID-je>] (csak dvd:// és dvdnav://)
-Itt adható meg, hogy a lejátszás mely fejezetnél kezdõdjön. Opcionálisan az
-is megadható, hogy melyiknél végzõdjön (alapértelmezésként: 1).
-.
-.TP
-.B \-cookies (csak hálózatnál)
-Cookie-k küldése HTTP kéréseknél.
-.
-.TP
-.B \-cookies\-file <fájlnév> (csak hálózatnál)
-Beolvassa a HTTP cookie-t a <fájlnév> fájlból (alapértelmezett: ~/.mozilla/ és
-~/.netscape/) és kihagyja az alapértelmezett helyeket.
-A fájlt Netscape formátumúnak feltételezi.
-.
-.TP
-.B \-delay <másodperc>
-audió késleltetés másodpercben (pozitív vagy negatív lebegõpontos szám)
-.br
-A negatív értékek az audiót, a pozitív értékek a videót késleltetik.
-Figyelj rá, hogy ez a \-audio\-delay MEncoder opció tökéletes ellentéte.
-.br
-.I MEGJEGYZÉS:
-Ha MEncoder-rel használod, nem garantált a helyes mûködés \-ovc copy
-mellett; használd a \-audio\-delay opciót helyette.
-.
-.TP
-.B \-ignore\-start
-Figyelmen kívül hagyja az AVI fájlokban lévõ folyamok kezdõidejét.
-Az MPlayerben ez nullázza a folyam késleltetéseket, melyek bele lettek
-kódolva a fájlba a \-audio\-delay opcióval.
-Kódolás közben ez az opció megakadályozza a MEncodert az eredeti folyam
-kezdõidõk új fájlba történõ átvitelében; a \-audio\-delay opciót nem
-érinti.
-Jegyezd meg, hogy a MEncoder néha automatikusan átállítja a folyam
-kezdõidõket, hogy kompenzálja a várt dekódolási késleltetést, ezért
-ne használd ezt az opciót kódolásnál elõzetes tesztelés nélkül.
-.
-.TP
-.B \-demuxer <[+]név>
-Demuxer típusának felülbírálata.
-A név elé írt '+' jellel kényszerítheted, így elmarad pár ellenõrzés!
-A demuxer nevét kell megadni a libmpdemux/\:demuxer.h fájlnak megfelelõen.
-Kompatibilítási okokból elfogadja a demuxer ID-t is, ahogy
-az a libmpdemux/\:demuxer.h fájlban van.
-.
-.TP
-.B \-dumpaudio (csak MPlayer)
-Nyers, tömörített audio stream kiírása a ./stream.dump fájlba (MPEG/\:AC-3-nál
-hasznos, egyébként a legtöbb esetben lejátszhatatlan fájlt eredményez).
-Ha egynél több \-dumpaudio, \-dumpvideo, \-dumpstream kapcsolót adsz
-meg a parancssorban, csak az utolsó fog mûködni.
-.
-.TP
-.B \-dumpfile <fájlnév> (csak MPlayer)
-Itt adható meg hogy az MPlayer melyik fájlba dumpoljon.
-Együtt használandó a \-dumpaudio / \-dumpvideo / \-dumpstream opciókkal.
-.
-.TP
-.B \-dumpstream (csak MPlayer)
-Nyers, tömörítetlen stream kiírása a ./stream.dump fájlba.
-Hasznos DVD vagy hálózati folyam rippeléséhez.
-Ha egynél több \-dumpaudio, \-dumpvideo, \-dumpstream kapcsolót adsz
-meg a parancssorban, csak az utolsó fog mûködni.
-.
-.TP
-.B \-dumpvideo (csak MPlayer)
-Nyers, tömörítetlen video stream kiírása a ./stream.dump fájlba
-(nem túl hasznos). Ha egynél több \-dumpaudio, \-dumpvideo, \-dumpstream
-kapcsolót adsz meg a parancssorban, csak az utolsó fog mûködni.
-.
-.TP
-.B \-dvbin <opciók> (csak DVB)
-Átadja a következõ paramétereket a DVB modulnak, így felülírhatók az
-alapértelmezett beállítások:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Megadható a használandó kártya száma 1\-4\-ig. (alapértelmezett: 1).
-.IPs file=<fájlnév>
-Megmondja az MPlayer-nek, hogy a csatornalistát a <fájlnév> nevû fájlból
-olvassa. Az alapértelmezett a ~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc}
-(a kártyád típusától függõen) vagy ~/.mplayer/\:channels.conf mint utolsó
-lehetõség.
-.IPs timeout=<1\-30>
-Frekvencia beállításának sikertelenné nyilvánítása elõtt a
-várakozással töltött másodpercek maximális száma. Alapértelmezett 30.
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <eszköz elérési útja> (csak DVD)
-Megadja a DVD eszközt vagy .iso fájlnevet (alapértelmezett: /dev/\:dvd).
-Megadhatsz egy könyvtárat is, ami egy elõzõleg DVD-rõl (pl.\& vobcopy-val)
-lemásolt fájlokat tartalmaz.
-.
-.TP
-.B \-dvd\-speed <együttható vagy sebesség KB/s-ben> (csak DVD)
-Megpróbálja korlátozni a DVD sebességet (alapértelmezett: 0, nincs változás).
-A DVD alap sebessége 1350KB/s körül van, így egy 8x-os meghajtó akár
-10800KB/s-mal is képes olvasni.
-Az alacsonyabb sebesség halkabbá teszi a meghajtót, DVD-k nézéséhez a
-2700KB/s-os sebesség megfelelõen halk és elég gyors.
-Az MPlayer visszaállítja a meghajtó alapértelmezett sebességét kilépéskor.
-A 100-nál kisebb értékek az 1350KB/s többszörösét jelentik, pl.\& \-dvd\-speed 8
-10800KB/s-et választ ki.
-.br
-.I MEGJEGYZÉS:
-Írási joggal kell rendelkezned a DVD eszközre a sebesség megváltoztatásához.
-.
-.TP
-.B \-dvdangle <szög ID> (csak DVD)
-Néhány DVD lemezen egyes jelenetek több szemszögbõl is megtekinthetõk.
-Itt adhatod meg az MPlayernek, hogy mely szögeket jelenítse meg
-(alapértelmezett: 1).
-.
-.TP
-.B \-edl <fájlnév>
-Engedélyezi az edit decision list (EDL) akciókat lejátszás közben.
-A videóból részek maradnak ki és az audió elnémul illetve újra megszólal
-a megadott fájl bejegyzéseinek megfelelõen.
-Lásd a http://www.mplayerhq.hu/\:DOCS/\:HTML/\:hu/\:edl.html fájlban a használati útmutatót.
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|méret[b|kb|mb]> (lásd még \-ss és \-sb)
-Film megállítása a megadott idõ illetve méret elérésekor.
-.br
-.I MEGJEGYZÉS:
-A bájtpozíció csak a MEncoder-ben engedélyezett és nem lesz pontos, mivel csak
-képkocka határon lehet megállni.
-Ha a \-ss opcióval együtt használod, a \-endpos idõ tolódik a \-ss kapcsolónál
-megadott másodpercekkel.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-Megállítás 56 másodpercnél.
-.IPs "\-endpos 01:10:00"
-Megállítás 1 óra 10 percnél.
-.IPs "\-endpos 100mb"
-Csak 100 MB elkódolása.
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-Index újraépítésének kényszerítése.
-Hibás indexû fájloknál hasznos (A/V desync, stb.).
-Ezzel azokban a fájlokban is tudsz tekerni, melyekben ez alapból nem
-lehetséges.
-Az indexet a MEncoderrel lehet maradandóan javítani (lásd a dokumentációt).
-.br
-.I MEGJEGYZÉS:
-Értelemszerûen ez az opció csak akkor használható ha a média tekerhetõ
-(tehát pl.\& stdin-nel, pipe-al nem).
-.
-.TP
-.B \-fps <lebegõpontos érték>
-A video framerátájánek felülbírálata.
-Hasznos, ha az eredeti érték hibás vagy hiányzik.
-.
-.TP
-.B \-frames <szám>
-Csak az elsõ <szám> képkocka lejátszása/\:koncertálása, majd kilépés.
-.
-.TP
-.B \-hr\-mp3\-seek (csak MP3)
-Nagy pontosságú MP3 tekerés.
-Alapban csak külsõ MP3 fájlból történõ lejátszásnál van bekapcsolva,
-mivel ilyenkor a pontos helyre kell tekerni az A/V szinkronhoz. Fõleg
-akkor lehet lassú ha hátrafelé kell tekerni, mivel ilyenkor a fájl elejétõl
-újra kell számolni a frame-eket.
-.
-.TP
-.B \-idx (lásd még \-forceidx)
-Újraépíti az indexet azokban a fájlokban, amelyekben nem található, lehetõvé
-téve így a tekerést.
-Hasznos hibás/\:befejezetlen letöltéseknél vagy hibás fájloknál.
-.br
-.I MEGJEGYZÉS:
-Értelemszerûen ez az opció csak akkor használható ha a média tekerhetõ
-(tehát pl.\& stdin-nel, pipe-al nem).
-.
-.TP
-.B \-noidx
-Az index fájl újraépítésének kihagyása.
-A MEncoder nem készít indexet ezzel az opcióval.
-.
-.TP
-.B \-ipv4\-only\-proxy (csak hálózaton)
-Proxy figyelmen kívül hagyása az IPv6 címeknél.
-Az IPv4 kapcsolatoknál használva lesz.
-.
-.TP
-.B \-loadidx <index fájl>
-Az a fájl, ahova a videó index a \-saveidx kapcsolóval ki lett mentve.
-Ezután az MPlayer a beolvasott fájl alapján fog tekerni a lejátszott AVI
-fájlban, felülbírálva a magában az AVI-ban található adatokat.
-Az MPlayer nem akadályoz meg abban, hogy egy másik AVI-ból generált
-index fájlt tölts be, de ez biztosan rossz eredménye lesz.
-.br
-.I MEGJEGYZÉS:
-Ez a kapcsoló már idejétmúlt, mivel az MPlayerben van OpenDML támogatás.
-.
-.TP
-.B \-mc <másodperc/képkocka>
-Maximális A-V szinkron javítás egy képkocka alatt (másodpercben).
-.br
-A \-mc 0 opciót mindig a \-noskip opcióval kell használni a mencodernél,
-különben majdnem biztosan A-V csúszást okoz.
-.
-.TP
-.B \-mf <opció1:opció2:...>
-Több PNG vagy JPEG fájlból történõ dekódolásnál használatos.
-.sp 1
-A rendelkezésre álló opciók:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<érték>
-a bemeneti fájl szélessége (alapértelmezett: automatikus felismerés)
-.IPs h=<érték>
-a bemeneti fájl magassága (alapértelmezett: automatikus felismerés)
-.IPs fps=<érték>
-kimenet fps-e (alapértelmezett: 25)
-.IPs type=<érték>
-bemeneti fájlok típusa (használható: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (csak AVI)
-Nem átlapolt AVI értelmezõ használatának kényszerítése (javítja a
-lejátszást pár hibás AVI fájlnál).
-.
-.TP
-.B \-nobps (csak AVI)
-Ne haszálja az AVI átlagos bájt/\:sec értékét az A\-V szinkronhoz.
-Hibás fejlécû AVI-knál segíthet.
-.
-.TP
-.B \-noextbased
-Kikapcsolja a kiterjesztés alapján történõ demuxerkiválasztást.
-Alapban, mikor olyan fájlt kell betölteni melyet nem lehet megbízhatóan
-detektálni (a fájlban nincs fejléc vagy nem eléggé megbízható), a fájl
-kiterjesztése alapján töltõdik be a megfelelõ demuxer. Sikertelenség
-esetén visszalép a tartalom alapján történõ detektáláshoz.
-.
-.TP
-.B \-passwd <jelszó> (lásd még \-user) (csak hálózaton)
-Jelszó megadása HTTP autentikációhoz.
-.
-.TP
-.B \-prefer\-ipv4 (csak hálózaton)
-IPv4 preferálása hálózati lejátszás esetén.
-Automatikusan visszavált IPv6-ra, amennyiben szükséges.
-.
-.TP
-.B \-prefer\-ipv6 (csak IPv6 hálózaton)
-IPv6 preferálása hálózati lejátszás esetén.
-Automatikusan visszavált IPv4-ra, amennyiben szükséges.
-.
-.TP
-.B \-psprobe <bájt pozíció>
-MPEG-PS vagy MPEG-PES folyam lejátszásakor ezzel az opcióval megadhatod,
-hogy az MPlayer hány bájtot vizsgáljon át a használt videó codec
-azonosításához.
-Ez az opció a H264 folyamokat tartalmazó EVO vagy VDR fájlok lejátszásához szükséges.
-.
-.TP
-.B \-pvr <opció1:opció2:...> (csak PVR)
-Ez az opció különbözõ kódolási tulajdonságokat állít be a PVR rögzítõ modulban.
-Bármilyen, a V4L2 vezérlõ által támogatott hardveres MPEG kódolóval rendelkezõ
-kártyával kell használni.
-A Hauppauge WinTV PVR\-150/250/350/500 és minden IVTV
-alapú kártya ismertebb neve a PVR rögzítõ kártya.
-Ügyelj rá, hogy csak a 2.6.18-as és késõbbi Linux kernelek képesek
-az MPEG folyamok V4L2 rétegen keresztüli kezelésére.
-MPEG folyam hardveres mentéséhez és MPlayerrel/Mencoderrel történõ
-lejátszásához használd a 'pvr://'-t a film URL-jeként.
-.sp 1
-A használható opciók:
-.RSs
-.IPs aspect=<0\-3>
-Megadja a bemenet képarányát:
-.RSss
-0: 1:1
-.br
-1: 4:3 (alapértelmezett)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-Megadja az audió kódolási rátáját (alapértelmezett: 48000 Hz, használható: 32000, 44100
-és 48000 Hz).
-.IPs alayer=<1\-3>
-Megadja az MPEG audió réteg kódolását (alapértelmezett: 2).
-.IPs abitrate=<32\-448>
-Megadja az audió kódolási bitrátáját kbps-ben (alapértelmezett: 384).
-.IPs amode=<érték>
-Megadja az audió kódolási módot.
-Az elérhetõ elõre beállított értékek a 'stereo', 'joint_stereo', 'dual' és 'mono' (alapértelmezett: stereo).
-.IPs vbitrate=<érték>
-Megadja az átlagos videó kódolási bitrátát Mbps-ben (alapértelmezett: 6).
-.IPs vmode=<value>
-Megadja a videó kódolás módját:
-.RSss
-vbr: Változó BitRáta (alapértelmezett)
-.br
-cbr: Konstans BitRáta
-.REss
-.IPs vpeak=<érték>
-Megadja a videó kódolási bitrátájának csúcsértékét Mbps-ben
-(csak VBR kódolásnál hasznos, alapértelmezett: 9.6).
-.IPs fmt=<érték>
-Kiválasztja a kódoláshoz használt MPEG formátumot:
-.RSss
-ps: MPEG-2 Program Stream (alapértelmezett)
-.br
-ts: MPEG-2 Transport Stream
-.br
-mpeg1: MPEG-1 System Stream
-.br
-vcd: Video CD kompatibilis folyam
-.br
-svcd: Super Video CD kompatibilis folyam
-.br
-dvd: DVD kompatibilis folyam
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <opció1:opció2:...> (csak rádió)
-Ezek az opciók a rádió adás rögzítõ modul különbözõ paramétereit állítják be.
-MPlayerrel történõ rádióhallgatáshoz használd a 'radio://<frekvencia>'
-(ha a channels opció nincs megadva) vagy a 'radio://<csatorna_szám>'
-(ha a channels meg vannak adva) formát film URL-ként.
-Az engedélyezett frekvencia tartományt az MPlayer '\-v' kapcsolója írja ki.
-A rögzítõ alrendszer elindításához használd
-a 'radio://<frekvencia vagy csatorna>/capture' formát.
-Ha a capture kulcsszó nincs megadva, csak a line-in kábelen keresztül
-tudsz rádiót hallgatni.
-A capture-rel történõ hallgatás nem javasolt szinkronizációs problémák
-miatt, ami élvezhetetlenné teszi az adést.
-.sp 1
-A használható opciók:
-.RSs
-.IPs device=<érték>
-A használandó rádiós eszköz (alapértelmezett: /dev/radio0 Linux alatt és /dev/tuner0 *BSD alatt).
-.IPs driver=<érték>
-A használandó rádió vezérlõ (alapértelmezett: v4l2 ha van, különben v4l).
-Jelenleg a v4l és v4l2 vezérlõk támogatottak.
-.IPs volume=<0..100>
-A rádiós eszköz hangereje (alapértelmezett: 100)
-.IPs "freq_min=<érték> (csak *BSD BT848)"
-minimálisan engedélyezett frekvencia (alapértelmezett: 87.50)
-.IPs "freq_max=<érték> (csak *BSD BT848)"
-maximálisan engedélyezett frekvencia (alapértelmezett: 108.00)
-.IPs channels=<frekvencia>\-<név>,<frekvencia>\-<név>,...
-Beállítja a csatorna listát.
-Használj _ jelent a szóköz helyett a nevekben (vagy idézõjeleket ;-).
-A csatorna nevek az OSD segítségével lesznek kiírva és a
-radio_step_channel és radio_set_channel szolga módú parancsok használhatóak
-a távoli vezérlésre (lásd LIRC).
-Ha meg van adva, az URL-ben szereplõ szám a csatorna pozícióját adja meg
-a csatorna listában.
-.br
-.I PÉLDA:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<érték> (csak rádióról történõ rögzítésnél)"
-Annak az eszköznek a neve, melyrõl rögzíteni kell.
-Ezen mentési név megadása nélkül a mentés akkor is le lesz tiltva,
-ha a capture kulcsszó szerepel az URL-ben.
-ALSA eszközökhöz használd a hw=<kártya>.<eszköz> formát.
-Ha az eszköz neve '=' jelet tartalmaz, a modul az ALSA-t
-használja a rögzítésre, különben az OSS-t.
-.IPs "arate=<érték> (csak rádióról történõ rögzítésnél)"
-Mintavételi ráta (alapértelmezett: 44100).
-.br
-.I MEGJEGYZÉS:
-Ha audió mentést végzel, állítsd be a \-rawaudio rate=<érték> opciót
-is ugyan arra az értékre, mint az arate-t.
-Ha problémád van a hang sebességével (túl gyors), próbáld meg
-lejátszani más ráta értékekkel (pl.\& 48000,44100,32000,...).
-.IPs "achannels=<érték> (csak rádióról történõ rögzítésnél)"
-A rögzítendõ audió csatornák száma.
-.RE
-.
-.TP
-.B \-rawaudio <opció1:opció2:...>
-Ezzel az opcióval le lehet játszani nyers audió fájlokat.
-Használnod kell a \-demuxer rawaudio kapcsolót is.
-Használható olyan audió CD-k lejátszásához, melyek nem 44kHz 16-bit sztereók.
-Nyers AC-3 folyamok lejátszásához használd a
-\-rawaudio format=0x2000 \-demuxer rawaudio kapcsolót.
-.sp 1
-A használható opciók:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<érték>
-csatornák száma
-.IPs rate=<érték>
-frekvencia
-.IPs samplesize=<érték>
-minták mérete bájtban
-.IPs bitrate=<érték>
-bitráta a rawaudio fájlokhoz
-.IPs format=<érték>
-fourcc hexában
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <option1:option2:...>
-Ezzel az opcióval le lehet játszani nyers videó fájlokat.
-Használnod kell a \-demuxer rawvideo kapcsolót is.
-.sp 1
-A használható opciók:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<érték>
-képkocka/másodperc (alapértelmezett: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-képszabvány típusa
-.IPs w=<érték>
-kép szélessége pixelben
-.IPs h=<érték>
-kép magassága pixelben
-.IPs i420|yv12|yuy2|y8
-színtér beállítása
-.IPs format=<érték>
-Színtér (fourcc) hexában vagy karakter konstansban.
-A \-rawvideo format=help kiírja a lehetséges karakterek listáját.
-.IPs size=<érték>
-képkockák mérete bájtban
-.REss
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif \-demuxer rawvideo \-rawvideo qcif"
-Lejátsza a népszerû "foreman" minta videót.
-.IPs "mplayer sample-720x576.yuv \-demuxer rawvideo \-rawvideo w=720:h=576"
-Nyers YUV minta lejátszása.
-.RE
-.PD 1
-.
-.TP
-.B \-referrer <karakterlánc> (csak hálózaton)
-Megadja a hivatkozó elérési útját vagy URL-jét a HTTP kérésekhez.
-.
-.TP
-.B \-rtsp\-port
-Az 'rtsp://' URL-ekkel használatos a kliens port számának kényszerítésére.
-Ez az opció hasznos, ha egy router mögött vagy és továbbítani akarod az
-RTSP folyamot a szerverrõl egy megadott kliensre.
-.
-.TP
-.B \-rtsp\-destination
-rtsp:// URL-ekkel használandó a cél IP címek kötéséhez.
-Ez az opció pár olyan RTSP szerver esetén hasznos, melyek nem a megfelelõ
-interfésznek küldik az RTP csomagokat.
-Ha az RTSP szerverhez sikertelen a kapcsolódás, használd a \-v kapcsolót, hogy
-meglásd, melyik IP címhez próbál kapcsolódni az MPlayer és helyette próbálj
-ki inkább egy olyat, ami a számítógépedhez van rendelve.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (csak LIVE555 és NEMESI)
-rtsp:// URL-ekkel használandó, azt adja meg hogy a bejövõ RTP és RTCP
-csomagok TCP-n keresztül jöjjenek (ugyan azt a TCP kapcsolatot használva,
-mint az RTSP). Olyan internet kapcsolat esetében hasznos, amely nem
-engedi be az UDP csomagokat (lásd http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-rtsp\-stream\-over\-http (csak LIVE555)
-A 'http://' URL-ekkel együtt megadja, hogy a bejövõ RTP és RTCP csomagokat
-HTTP-n keresztül kell stream-elni.
-.
-.TP
-.B \-saveidx <fájlnév>
-Index újraépítése, és elmentése a <fájlnév> nevû fájlba. Jelenleg csak
-AVI fájlokkal mûködik.
-.br
-.I MEGJEGYZÉS:
-Ez a kapcsoló már idejétmúlt, mivel az MPlayerben van OpenDML támogatás.
-.
-.TP
-.B \-sb <bájt pozíció> (lásd még \-ss)
-Bájt pozícióra tekerés.
-CDROM image-ek, vagy olyan VOB fájlok lejátszásánál hasznos, melyek elején
-szemét van.
-.
-.TP
-.B \-speed <0.01\-100>
-Lejátszás lelassítása vagy felgyorsítása a paraméterként megadott
-faktorral. Nem biztos, hogy jól mûködik az \-oac copy kapcsolóval.
-.
-.TP
-.B \-srate <Hz>
-A használni kívánt mintavételi ráta megadása (természetesen a hangkártya
-által megszabott határon belül).
-Ha a kiválasztott minta frekvencia különbözik az aktuális médiáétól, a
-resample vagy a lavcresample audió szûrõ beillesztõdik az audió rétegbe
-a különbség kompenzálására. A resampling típusa vezérelhetõ a \-af\-adv
-kapcsolóval. Az alapértelmezett a gyors resampling, ami torzulást
-eredményezhet.
-.
-.TP
-.B \-ss <idõ> (lásd még \-sb)
-Megadott idõponthoz tekerés.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-Tekerés 56 másodperchez.
-.IPs "\-ss 01:10:00"
-Tekerés 1 óra 10 perchez.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Kikapcsolja a folyamban hibásnak jelzett TS csomagok eldobását.
-Néha szükséges egyes hibás MPEG-TS fájlok lejátszásához.
-.
-.TP
-.B \-tsprobe <bájt pozíció>
-MPEG-TS folyamok lejátszásánál ezzel a kapcsolóval megadhatod, hogy az
-MPlayer hány bájton keresse a kívánt audió és videó ID-ket.
-.
-.TP
-.B \-tsprog <1\-65534>
-MPEG-TS folyam lejátszásánál ezzel a kapcsolóval megadhatod, hogy melyik
-programot (ha létezik) akarod nézni.
-A \-vid és \-aid kapcsolókkal együtt használható.
-.
-.TP
-.B \-tv <opció1:opció2:...> (csak TV/\:PVR)
-Ez az opció bekapcsolja a TV grabbelõ modul különbözõ tulajdonságait.
-Az MPlayerrel történõ TV nézéshez a 'tv://' vagy a 'tv://<csatorna_szám>'
-vagy akár a 'tv://<csatorna_név>' (lásd a csatorna opciókat a csatorna_név-hez
-alább) film URL-t add meg.
-Használhatod a 'tv:///<input_id>' formát a Kompozit vagy S-Video bemenetrõl
-érkezõ film megtekintéséhez (lásd az input opciót a bõvebb infókért).
-.sp 1
-Használható opciók:
-.RSs
-.IPs noaudio
-hang kikapcsolása
-.IPs "automute=<0\-255> (csak v4l és v4l2)"
-Ha az eszköz által jelzett jelerõsség kisebb, mint ez az érték,
-az audió és a videó el lesz némítva.
-A legtöbb esetben az automute=100 elég.
-Alapértelmezett a 0 (automute letiltva).
-.IPs driver=<érték>
-Lásd a \-tv driver=help-et a befordított TV bemeneti vezérlõk listájához.
-elérhetõek: dummy, v4l, v4l2, bsdbt848 (alapértelmezett: autodetect)
-.IPs device=<érték>
-TV eszköz megadása (alapértelmezett: /dev/\:video0).
-.I MEGJEGYZÉS:
-A bsdbt848 vezérlõnek megadhatod mind a bktr, mind a tuner eszköz nevét
-vesszõvel elválasztva, tuner a bktr után
-(pl.\& \-tv device=/dev/bktr1,/dev/tuner1).
-.IPs input=<érték>
-Input megadása (alapértelmezett: 0 (TV), lásd a konzol kimenetet az elérhetõ inputokért).
-.IPs freq=<érték>
-A tuner-en beállítandó frekvencia (pl.\& 511.250).
-Nem kompatibilis a channels paraméterrel.
-.IPs outfmt=<érték>
-A tuner kimeneti formátumának megadása a V4L vezérlõ által támogatott
-értékkel (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) vagy egy
-önkényesen megadott hexa értékkel.
-Az outfmt=help kilistázza az elérhetõ formátumokat.
-.IPs width=<érték>
-kimeneti ablak szélessége
-.IPs height=<érték>
-kimeneti ablak magassága
-.IPs fps=<érték>
-a videó mentés framerátája (képkocka per másodperc)
-.IPs buffersize=<érték>
-a mentéshez használt buffer maximális mérete megabájtokban (alapértelmezett: dinamikus)
-.IPs norm=<érték>
-A bsdbt848-nál és a v4l, PAL, SECAM, NTSC rendszereknél használható.
-A v4l2-höz lásd a konzol kimenetet az elérhetõ normák listájához,
-valamint a normid opciót alább.
-.IPs "normid=<érték> (csak v4l2)"
-Beállítja a TV normát a megadott numerikus ID-nek megfelelõen.
-A TV norma a kártyától függ.
-Lásd a konzol kimenetet az elérhetõ TV normák listájához.
-.IPs channel=<érték>
-Beállítja a tunert az <érték> csatornára.
-.IPs chanlist=<érték>
-elérhetõ: argentina, australia, china-bcast, europe-east, europe-west, france,
-ireland, italy, japan-bcast, japan-cable, newzealand, russia, southafrica,
-us-bcast, us-cable, us-cable-hrc
-.IPs channels=<csat>\-<név>[=<norma>],<csat>\-<név>[=<norma>],...
-Csatornák neveinek beállítása.
-.I MEGJEGYZÉS:
-Ha a <csat> 1000-nél nagyobb egész, frekvenciaként lesz értelmezve (kHz-ben)
-a frekvenciatáblázatban szereplõ csatornanév helyett.
-.br
-Használj _ jelet a szóköz helyett a nevekben (vagy játsz az idézõjelezéssel ;-).
-A csatorna nevek ezután az OSD segítségével megjelennek és a tv_step_channel,
-tv_set_channel és tv_last_channel szolga módú parancsok használhatóak lesznek
-távirányítóval (lásd LIRC).
-Nem kompatibilis a frequency paraméterrel.
-.br
-.I MEGJEGYZÉS:
-A csatorna szám a 'channels' listában lévõ pozíciót fogja jelölni,
-1-essel kezdõdõen.
-.br
-.I PÉLDA:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-A kártya kép equalizerjének beállítása.
-.IPs audiorate=<érték>
-Az audió mentési bitrátájának beállítása.
-.IPs forceaudio
-Audió mentése akkor is, ha a v4l szerint nincs audió forrás.
-.IPs "alsa\ "
-Mentés ALSA-ról.
-.IPs amode=<0\-3>
-Audió mód választása:
-.RSss
-0: monó
-.br
-1: sztereó
-.br
-2: 1-es nyelv
-.br
-3: 2-es nyelv
-.REss
-.IPs forcechan=<1\-2>
-Alapesetben a felvett audio csatornák száma a tv kártya audió módjának
-lekérdezésével derül ki.
-Ezzel az opcióval ki lehet kényszeríteni a sztereó/\:mono felvételt a v4l
-által visszaadott amode opció és értékétõl függetlenül.
-Hibakeresésre használható, ha a TV kártya nem tudja megmondani az aktuális
-audió módot.
-.IPs adevice=<érték>
-Audió eszköz beállítása.
-Az <érték>-nek /dev/\:xxx-nek kell lennie OSS-nél vagy egy hardver ID-nek ALSA-nál.
-A ':'-at egy '.'-tal kell helyettesítened az ALSA hardver ID-ben.
-.IPs audioid=<érték>
-A felvevõkártya audió kimenetei közötti választás, ha több van.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-Ezekkel az opciókkal a felvevõkártya mixerének egyes paraméterei állíthatók.
-Ha nincs neki, az opció hatástalan.
-A v4l2 esetén az 50 az alapértelmezett érték, amit a vezérlõ ad.
-.IPs "gain=<0\-100> (v4l2)"
-Beállítja a gain control-t a videó eszközön (általában webcam) a megadott
-értékre és kikapcsolja az automatikus vezérlést.
-A 0 érték engedélyezi az automatikus vezérlést.
-Ha ez az opció elmarad, a gain control nem módosul.
-.IPs immediatemode=<bool>
-A 0-ás érték az audió és videó egyszerre felvételét jelenti (mencoder-nél
-alapértelmezett). Az 1-es érték (mplayer-nél alapértelmezett) csak videó
-felvételt jelent, az audió egy visszacsatoló kábelen keresztül fog menni
-a TV kártyából a hangkártyába.
-.IPs mjpeg
-Hardveres MJPEG tömörítés bekapcsolása (ha a kártya támogatja).
-Az opció használatakor a kép szélességét és magasságát az MPlayer a decimation
-értékéból fogja meghatározni (lásd lejjebb).
-.IPs decimation=<1|2|4>
-a tömörítendõ kép méretének meghatározása hardveres MJPEG tömörítéshez:
-.RSss
-1: teljes méret
- 704x576 PAL
- 704x480 NTSC
-.br
-2: közepes méret
- 352x288 PAL
- 352x240 NTSC
-.br
-4: kicsi méret
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-A JPEG tömörítés minõségének beállítása
-(< 60 javasolt a teljes mérethez).
-.IPs tdevice=<érték>
-Megadja a TV teletext eszközt (például: /dev/\:vbi0) (alapértelmezett: nincs).
-.IPs tformat=<format>
-Megadja a TV teletext megjelenítési módját (alapértelmezett: 0):
-.RSss
-0: nem átlátszó
-.br
-1: átlátszó
-.br
-2: nem átlátszó inverz színekkel
-.br
-3: átlátszó inverz színekkel
-.REss
-.IPs tpage=<100\-899>
-Megadja a kezdõ TV teletext oldal számát (alapértelmezett: 100).
-.IPs tlang=<\-1\-127>
-Megadja az alapértelmezett teletext nyelv kódot (alapértelmezett: 0), amely
-az elsõdleges nyelvként lesz használva, amíg egy 28-as típusú csomag érkezik.
-Hasznos, ha a teletext rendszer nem-latin karakterkészletet használ,
-de valamiért a nyelv kód nem kerül átvitelre 28-as típusú teletext csomagon belül.
-A támogatott nyelvek listájához állítsd be ezt az opciót \-1 értékre.
-.IPs "hidden_video_renderer (csak dshow)"
-A folyamot a videó rendererrel szakítja meg a Null renderer helyett (alapértelmezett: kikapcsolva).
-Segít, ha a videó megáll, de az audio nem.
-.I MEGJEGYZÉS:
-Nem biztos, hogy mûködik a \-vo directx és \-vf crop kombinációval.
-.IPs "hidden_vp_renderer (csak dshow)"
-A videó rendererrel szakítja meg a VideoPort csatlakozón folyamot
-az egyszerû eltávolítás helyett (alapértelmezett: off).
-Hasznos, ha a kártyádon van VideoPort csatlakozó és a videó érdes.
-.I MEGJEGYZÉS:
-Nem biztos, hogy mûködik a \-vo directx és \-vf crop kombinációval.
-.IPs "system_clock (csak dshow)"
-A rendszerórát használja a forrás szinkronizálásához az alapértelmezett
-graph óra helyett (általában a graph-ban lévõ valamelyik élõ forrás órája).
-.IPs "normalize_audio_chunks (csak dshow)"
-A videó kockával azonos hosszúságú audió csonkokat készít
-(alapértelmezett: kikapcsolva).
-Némelyik hangkártya kb. 0.5s méretû audió csonkokat készít, érdes videót
-eredményezve, ha immediatemode=0-t használsz.
-.RE
-.
-.TP
-.B \-tvscan <opció1:opció2:...> (csak TV és MPlayer)
-A TV csatorna keresõ finomhangolására használható opció.
-Az MPlayer kiírja az értékeket a "-tv channels=" opcióhoz,
-beleértve a már meglévõ és az épp megtalált csatornákat.
-.sp 1
-Az elérhetõ alopciók:
-.RSs
-.IPs autostart
-Indulás után azonnal megkezdi a csatornák keresését (alapértelmezett: nincs beállítva).
-.IPs period=<0.1\-2.0>
-Megadja a késleltetést másodpercben a következõ csatornára
-történõ váltás elõtt (alapértelmezett: 0.5).
-A kisebb érték gyorsabb keresést eredményez, de inaktív
-TV csatornákat is aktívként detektálhat.
-.IPs threshold=<1\-100>
-A jelerõsség határértéke (százalékban), melyet az eszköz ad
-át (alapértelmezett: 50).
-Az ennél nagyobb jelerõsség azt jelenti, hogy a jelenleg
-vizsgált csatorna aktív.
-.RE
-.
-.TP
-.B \-user <felhasználónév> (lásd még \-passwd) (csak hálózat)
-Felhasználónév megadása HTTP autentikációhoz.
-.
-.TP
-.B \-user\-agent <karakterlánc>
-A <karakterlánc> használata user agent-ként HTTP streaming esetén.
-.
-.TP
-.B \-vid <ID>
-Videó csatorna kiválasztása (MPG: 0\-15, ASF: 0\-255, MPEG-TS: 17\-8190).
-MPEG-TS folyam lejátszásakor az MPlayer/\:MEncoder az elsõ programot
-(ha létezik) fogja használni a kiválasztott videó folyammal.
-.
-.TP
-.B \-vivo <alopció> (DEBUG KÓD)
-A VIVO demuxer audió paramétereinek felülbírálata (hibakeresõ célokra).
-FIXME: Ezt még dokumentálni kell.
-.
-.
-.
-.SH "OSD/FELIRAT OPCIÓK"
-.I MEGJEGYZÉS:
-Lásd még a \-vf expand opciót.
-.
-.TP
-.B \-ass (csak FreeType)
-Bekapcsolja az SSA/ASS felirat renderelést.
-Ezzel az opcióval a libass lesz használva az SSA/ASS
-külsõ feliratokhoz és Matroska sávokhoz.
-Ajánlott még a \-embeddedfonts engedélyezése is.
-.br
-.I MGEJEGYZÉS:
-A normális OSD-vel ellentétben a libass a fontconfig-ot használja alapértelmezésként.
-A letiltásához használd a \-nofontconfig kapcsolót.
-.
-.TP
-.B \-ass\-border\-color <érték>
-Beállítja a határok (körvonal) színét a szöveges feliratokhoz.
-A színformátum RRGGBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <érték>
-Egy fekete sávot ad a kocka aljához.
-Az SSA/ASS renderelõ a feliratokat ide tudja tenni (a \-ass\-use\-margins kapcsolóval).
-.
-.TP
-.B \-ass\-color <érték>
-Beállítja a szöveges feliratok színét.
-A színformátum RRGGBBAA.
-.
-.TP
-.B \-ass\-font\-scale <érték>
-Beállítja a betûtípusokhoz használt arány együtthatót az SSA/ASS renderelõben.
-.
-.TP
-.B \-ass\-force\-style <[Stílus.]Param=Érték[,...]>
-Felülír pár stílus vagy script infó paramétert.
-.sp
-.I PÉLDA:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.br
-\-ass\-force\-style PlayResY=768
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <típus>
-A hint típusát állítja be.
-A <típus> lehet:
-.PD 0
-.RSs
-.IPs 0
-nincs hint
-.IPs 1
-FreeType autohinter, könnyû mód
-.IPs 2
-FreeType autohinter, normális mód
-.IPs 3
-betûtípus natív hinter-e
-.IPs "0-3 + 4"
-Ugyan az, de a hint csak akkor hajtódik végre, ha az OSD a képernyõ
-felbontásában kerül renderelésre, vagyis nem lesz méretezve.
-.RE
-.RSs
-Az alapértelmezett érték a 7 (natív hinter használata nem méretezett OSD-hez, különben nincs hint).
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <érték>
-Beállítja a sor kihagyás értékét az SSA/ASS renderelõben.
-.
-.TP
-.B \-ass\-styles <fájlnév>
-Betölti az összes, adott fájlban található SSA/ASS stílust és
-felhasználja a szöveges feliratoknál.
-A fájl szintaxisa ugyan olyan, mint az SSA/ASS
-[V4 Styles] / [V4+ Styles] része.
-.
-.TP
-.B \-ass\-top\-margin <érték>
-Egy fekete sávot ad a kocka tetejéhez.
-Az SSA/ASS renderelõ a felsõ feliratokat ide tudja tenni (a \-ass\-use\-margins kapcsolóval).
-.
-.TP
-.B \-ass\-use\-margins
-Engedélyezi a felsõ és alsó feliratok fekete határokra történõ kiírását,
-ha elérhetõek.
-.
-.TP
-.B \-dumpjacosub (csak MPlayer)
-A használt felirat (amit a \-sub opció ad meg) JacoSUB formátumba
-konvertálása.
-Az aktuális könyvtárban hoz létre egy dumpsub.js fájlt.
-.
-.TP
-.B \-dumpmicrodvdsub (csak MPlayer)
-A használt felirat (amit a \-sub opció ad meg) MicroDVD formátumba
-konvertálása.
-Az aktuális könyvtárban hoz létre egy dumpsub.sub fájlt.
-.
-.TP
-.B \-dumpmpsub (csak MPlayer)
-A használt felirat (amit a \-sub opció ad meg) MPsub formátumba
-konvertálása.
-Az aktuális könyvtárban hoz létre egy dump.mpsub fájlt.
-.
-.TP
-.B \-dumpsami (csak MPlayer)
-A használt felirat (amit a \-sub opció ad meg) idõ alapú SAMI formátumba
-konvertálása.
-Az aktuális könyvtárban hoz létre egy dumpsub.smi fájlt.
-.
-.TP
-.B \-dumpsrtsub (csak MPlayer)
-A használt felirat (amit a \-sub opció ad meg) idõ alapú SubViewer formátumba
-konvertálása.
-Az aktuális könyvtárban hoz létre egy dumpsub.srt fájlt.
-.br
-.I MEGJEGYZÉS:
-Néhány hibás hardveres lejátszó meghal a Unix sorvégzõdésû SRT felirat
-fájlokon.
-Ha elég peches vagy és ilyened van, ereszd át a feliratodat a
-unix2dos vagy hasonló programon a Unix-os sorvégzõdések DOS/Windows
-sorvégzõdésekre cseréléséhez.
-.
-.TP
-.B \-dumpsub (csak MPlayer) (BÉTA KÓD)
-VOB stream-ekbõl a felirat stream kimentése.
-Lásd még a \-dump*sub és \-vobsubout* opciókat is.
-.
-.TP
-.B \-embeddedfonts (csak FreeType)
-Engedélyezi a matroska beágyazott betûinek kicsomagolását (alapértelmezett: kikapcsolva).
-Ezek a betûtípusok használhatóak az SSA/ASS feliratok
-rendereléséhez (-ass kapcsoló).
-A betûtípus fájlok a ~/.mplayer/fonts könyvtárban lesznek létrehozva.
-.br
-.I MEGJEGYZÉS:
-2.4.2 vagy újabb FontConfig esetén a beágyazott betûtípusok közvetlenül a memóriából
-kerülnek megnyitásra és ez az opció alapértelmezésben engedélyezett.
-.
-.TP
-.B \-ffactor <szám>
-Font alphamap-jának megadása.
-Lehetséges értékek:
-.PD 0
-.RSs
-.IPs 0
-egyszerû fehér betûk
-.IPs 0.75
-nagyon halvány fekete körvonal (alapértelmezett)
-.IPs 1
-vékony fekete körvonal
-.IPs 10
-vastag fekete körvonal
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (csak FriBiDi)
-Feliratok megfordítása FriBiDi-vel.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-A FriBiDi feltételezett vesszõ elhelyezéseinek felülbírálata a feliratokban.
-Akkor használd, ha a feliratban lévõ vesszõk a mondat elején látszódnak
-és nem a végén.
-.
-.TP
-.B \-font <útvonal a font.desc fájlhoz, útvonal a betûtípushoz (FreeType), betûtípus minta (Fontconfig)>
-Az OSD/\:SUB betûtipusok megadott könyvtárban történõ keresése
-(normál fontoknál alapértelmezett:
-~/\:.mplayer/\:font/\:font.desc, FreeType fontokhoz: ~/.mplayer/\:subfont.ttf).
-.br
-.I MEGJEGYZÉS:
-FreeType-pal ez az opció a szöveges betûtípus fájlok elérési útját határozza meg.
-A fontconfig-gal ez az opció a Fontconfig betûtípus mintáját határozza meg.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.br
-\-font 'Bitstream Vera Sans:style=Bold'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (csak fontconfig)
-A fontconfig-gal karbantartott betûtípusok használatának engedélyezése.
-.br
-.I MEGJEGYZÉS:
-Alapértelmezésben a fontconfig a libass által renderelt feliratoknál használatos,
-az OSD-nél nem. A \-fontconfig kapcsolóval használható libass-hoz és OSD-hez, a
-\-nofontconfig kapcsolóval egyáltalán nem lesz felhasználva.
-.
-.TP
-.B \-forcedsubsonly
-Csak a kényszerített feliratokat jeleníti meg a DVD felirat stream-bõl pl.\&
-egy \-slang kapcsolóval kiválasztva.
-.
-.TP
-.B \-fribidi\-charset <karakterkészlet neve> (csak FriBiDi)
-Nem UTF8 felirat esetén itt adható meg a FriBiDi-nek adandó karakterkészlet
-neve. (alapértelmezett: "ISO8859\-8").
-.
-.TP
-.B \-ifo <VOBsub ifo fájl>
-Itt adható meg, hogy a VOBSUB feliratok palettája és frame mérete melyik
-fájlban tárolódik.
-.
-.TP
-.B \-noautosub
-Automatikus felirat betöltés kikapcsolása.
-.
-.TP
-.B \-osd\-duration <idõ>
-Beállítja az OSD üzenetek hosszát ms-ben (alapértelmezett: 1000).
-.
-.TP
-.B \-osdlevel <0\-3> (csak MPlayer)
-Megadja hogy mely OSD módban induljon az MPlayer.
-.PD 0
-.RSs
-.IPs 0
-csak feliratok
-.IPs 1
-hangerõ + tekerés (alapértelmezett)
-.IPs 2
-hangerõ + tekerés + idõ + százalék
-.IPs 3
-hangerõ + tekerés + idõ + százalék + teljes idõtartam
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Engedélyezi, hogy a következõ felirat még az elõzõ eltûnése elõtt
-megjelenjen (alapértelmezetten be van kapcsolva a támogatása bizonyos
-formátumoknál).
-.
-.TP
-.B \-sid <ID> (lásd még \-slang, \-vobsubid)
-Az <ID> (0\-31) által megadott DVD felirat megjelenítésének bekapcsolása.
-Az MPlayer kiírja az elérhetõ felirat ID-ket, ha a beszédes (\-v) módban fut.
-Ha a feliratok valamelyikét nem tudod kiválasztani a DVD_n, próbáld ki a
-\-vobsubid kapcsolót.
-.
-.TP
-.B \-nosub
-Letilt minden automatikusan kiválasztott belsõ feliratot (mint pl.\& amit a
-Matroska/mkv demuxer támogat).
-A külsõ felirat fájlok betöltését a \-noautosub kapcsolóval tilthatod le.
-.
-.TP
-.B \-slang <nyelv kód[,nyelv kód,...]> (lásd még \-sid)
-Felirat nyelvek priorítási listájának megadására használható.
-A különbözõ konténer formátumok különbözõ nyelvi kódokat használnak.
-A DVD-k az ISO 639\-1 két betûs nyelv kódokat, a Matroska az ISO 639\-2
-három betûs kódokat, míg az OGM egy egyedi azonosítót használ.
-Az MPlayer kiírja az elérhetõ nyelvek listáját, ha beszédes (\-v) módban fut.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang hu,en"
-Kiválasztja a magyar feliratot a sávon, vagy ha az nem elérhetõ, akkor
-visszavált az angolra.
-.IPs "mplayer \-slang jpn example.mkv"
-Egy Matroska fájlt játszik le japán felirattal.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <mód>
-Antialiasing/\:méretezés módja DVD/\:VOBsub esetén.
-Ha a <mód> értékhez 16-ot hozzáadsz, akkor a méretezés akkor is megtörténik,
-ha az eredeti és az átméretezett képméret azonos.
-Ez pl.\& a feliratok gaussian blur-ral történõ elmosásához használható.
-A használható módok:
-.PD 0
-.RSs
-.IPs 0
-nincs (leggyorsabb, jó ocsmány)
-.IPs 1
-körülbelüli (hibás?)
-.IPs 2
-teljes (lassú)
-.IPs 3
-bilineáris (alap, gyors, és nem rossz)
-.IPs 4
-swscaler gaussian blur-jának használata (nagyon szép)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-Megadja, hogy az SPU (DVD/\:VOBsub) feliratok hogyan legyenek helyezve.
-.PD 0
-.RSs
-.IPs "\-1"
-eredeti pozíció
-.IPs " 0"
-Felülre igazítás (eredeti viselkedés, alapértelmezett).
-.IPs " 1"
-Középre igazítás.
-.IPs " 2"
-Alulra igazítás.
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-A \-spuaa 4 által használt gaussian variancia paramétere.
-A magasabb érték több blur-t jelent (alapértelmezett: 1.0).
-.
-.TP
-.B \-sub <feliratfájl1,feliratfájl2,...>
-A megadott felirat fájlok használata/\:megjelenítése.
-Egyszerre csak egy fájl jeleníthetõ meg.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-Megadott alpha csatorna érték használata a feliratok és az OSD hátteréhez.
-A nagyobb érték nagyobb átlátszóságot jelent.
-A 0 érték kivétel, ez jelenti a teljes átlátszóságot.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-Megadott szín érték használata a feliratok és OSD hátteréhez.
-Jelenleg a feliratok fekete-fehérek, így ez az intenzitást szabályozza.
-A 255-ös érték fehéret, a 0 feketét jelent.
-.
-.TP
-.B \-sub\-demuxer <[+]név> (csak \-subfile) (BÉTA KÓD)
-A felirat demuxer típusát adja meg a \-subfile opcióhoz.
-A név elé írt '+' jellel kényszerítheted, így elmarad pár ellenõrzés!
-A demuxer nevét kell megadni a \-sub\-demuxer help listának megfelelõen.
-Kompatibilítási okokból elfogadja a demuxer ID-t is, ahogy
-az a subreader.h fájlban van.
-.
-.TP
-.B \-sub\-fuzziness <mód>
-Felirat fájlok "intelligens" keresése:
-.PD 0
-.RSs
-.IPs 0
-pontos egyezés
-.IPs 1
-Az összes, film nevét tartalmazó felirat betöltése.
-.IPs 2
-Az aktuális könyvtárban lévõ összes felirat betöltése.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Kikapcsol mindenféle szöveg utómunkálatot a felirat betöltése után.
-Hibakeresési célra használatos.
-.
-.TP
-.B \-subalign <0\-2>
-Megadja, hogy a felirat melyik sarkát kell a \-subpos által megadott
-magassághoz igazítani.
-.PD 0
-.RSs
-.IPs 0
-Felirat felsõ sarkának igazítása (eredeti tulajdonság).
-.IPs 1
-Felirat közepének igazítása.
-.IPs 2
-Felirat alsó sarkának igazítása (alapértelmezett).
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-DVD Closed Caption (CC) feliratok megjelenítése.
-Ezek
-.B nem
-a VOB feliratok, hanem speciális ASCII feliratok, amiket hallássérülteknek
-kódolnak bele a VOB userdata folyamjába a legtöbb 1-es régiójú DVD-n.
-A CC feliratok más régiókban még nem használatosak.
-.
-.TP
-.B \-subcp <kódlap> (csak iconv)
-Ha a rendszered támogatja az iconv(3) használatát, ezzel az opcióval
-meg lehet adni a felirat kódlapját.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<nyelv>:<tartalék kódlap> (csak ENCA)
-Megadhatod a nyelvedet egy két betûs nyelv kóddal, hogy az ENCA
-detektálhassa a kódlapodat.
-Ha bizonytalan vagy, írj be bármit, majd nézd meg a \-v kimenetét
-az elérhetõ nyelvekért.
-A tartalék kódlap megadja a használandó kódlapot, ha az automatikus
-felismerés sikertelen.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Kódolás kitalálása, feltételezi, hogy a felirat cseh, a tartalék kódlap
-a latin 2, ha az automatikus felismerés sikertelen.
-.IPs "\-subcp enca:pl:cp1250"
-A kódolás feltételezhetõen lengyel, a tartalék kódlap cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <sec>
-Felirat késleltetése <sec> másodperccel.
-Lehet negatív is.
-.
-.TP
-.B \-subfile <fájlnév> (BÉTA KÓD)
-Jelenleg haszontalan.
-Ugyan az, mint az \-audiofile, de felirat folyamokra (OggDS?).
-.
-.TP
-.B \-subfont <útvonal a betûtípushoz (FreeType), betûtípus minta (Fontconfig)> (csak FreeType)
-Beállítja a felirat betûtípusát (lásd \-font).
-Ha nincs megadva a \-subfont, a \-font lesz használva.
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (csak FreeType)
-Beállítja az automatikus átméretezés módját.
-.br
-.I MEGJEGYZÉS:
-A 0 azt jelenti, hogy a text scale és OSD scale a font magassága pontban.
-.sp 1
-A módok:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-automatikus átméretezés kikapcsolása
-.IPs 1
-proporcionális a film magasságához
-.IPs 2
-proporcionális a film szélességéhez
-.IPs 3
-proporcionális a film átlójához (alapértelmezett)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (csak FreeType)
-A font elmosásának átmérõje (alapérték: 2).
-.
-.TP
-.B \-subfont\-encoding <érték> (csak FreeType)
-Beállítja a betûtípus kódolását.
-Ha 'unicode'-ot állítasz be, a betû összes jele le lesz renderelve és
-a unicode lesz használva (alapértelmezett: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (csak FreeType)
-Az OSD elemek autoscale értéke (alapértelmezett: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (csak FreeType)
-A font körvonalának vastagsága (alapértelmezett: 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (csak FreeType)
-A felirat szövegének autoscale értéke a képernyõméret százalékában
-(alapértelmezett: 5).
-.
-.TP
-.B \-subfps <ráta>
-A felirat fájl framerátájának megadása (alapértelmezett: a film fps-e).
-.br
-.I MEGJEGYZÉS:
-Ha a <ráta> > film fps-e, a felirat felgyorsul a képkocka alapú felirat fájloknál
-és lelassul az idõ alapúaknál.
-.
-.TP
-.B \-subpos <0\-100> (hasznos a \-vf expand opcióval)
-A feliratok képernyõn elfoglalt helye.
-Az érték a képernyõ magasságának megadott százaléka, ahol a felirat
-legyen.
-.
-.TP
-.B \-subwidth <10\-100>
-Megadja a feliratok maximális szélességét a képernyõn.
-Hasznos a TV kimenethez.
-Az érték a felirat szélessége százalékban, a képernyõ szélességéhez
-viszonyítva.
-.
-.TP
-.B \-noterm\-osd
-Letiltja az OSD üzenetek konzolon történõ megjelenítését, ha nincs elérhetõ
-videó kimenet.
-.
-.TP
-.B \-term\-osd\-esc <escape szekvencia>
-Megadja a konzolra írt OSD üzenetek kiírásakor használatos escape szekvenciát.
-Az escape szekvenciának az OSD-hez használt sor elejére kell vinnie a kurzort és
-le kell törölnie (alapértelmezett: ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-Megadja az MPlayernek, hogy a feliratot UNICODE-ként kezelje.
-.
-.TP
-.B \-unrarexec <unrar futtatható elérési útvonala> (MingW alatt nem támogatott)
-Megadja az futtatható unrar elérési útvonalát, így az MPlayer fel tudja
-használni a rar-ral tömörített VOBsub fájlok lejátszásához (alapértelmezésben
-nincs beállítva, így ez a funkció nem használható).
-Az elérési útnak tartalmaznia kell a futtatható fájlnevét is, pl.\& /usr/local/bin/unrar.
-.
-.TP
-.B "\-utf8 \ \ "
-Megadja az MPlayernek, hogy a feliratot UTF8-ként kezelje.
-.
-.TP
-.B \-vobsub <VOBsub fájl kiterjesztés nélkül>
-Megadja hogy mely VobSub fájlt kell betölteni.
-Teljes útvonalat és fájlnevet kell megadni kiterjesztés nélkül, tehát
-a \'.idx', '.ifo', '.sub' elhagyandó.
-.
-.TP
-.B \-vobsubid <0\-31>
-A VobSub felirat ID-je itt adható meg.
-.
-.
-.
-.SH "AUDIÓ KIMENETI OPCIÓK (CSAK MPLAYER)"
-.
-.TP
-.B \-abs <érték> (csak \-ao oss) (RÉGI)
-Felülbírálja az audió vezérlõ/\:kártya buffer méretének detektálását.
-.
-.TP
-.B \-format <formátum> (lásd még a format audió szûrõt)
-Kiválasztja a minta formátumát, amit az audió szûrõ réteg
-kimenetként használ a hangkártyával való kommunikációban.
-A <format> értékei megtalálhatóak lejjebb, a format audió
-szûrõ leírásánál.
-.
-.TP
-.B \-mixer <eszköz>
-Az alapértelmezet /dev/\:mixer eszköztõl eltérõ mixer eszköz használata.
-Az ALSA esetén ez a mixer neve.
-.
-.TP
-.B \-mixer\-channel <mixer sor>[,mixer index] (csak \-ao oss és \-ao alsa)
-Ez a kapcsoló azt mondja meg az MPlayernek, hogy más csatornát használjon
-a hangerõ változtatásához az alapértelmezett PCM helyett.
-Az OSS opciói
-.B vol, pcm, line.
-Az opciók teljes listájához lásd a SOUND_DEVICE_NAMES-t a
-/usr/\:include/\:linux/\:soundcard.h fájlban.
-ALSA-hoz használhatod a neveket, amiket pl.\& az \& alsamixer
-megjelenít, úgy mint
-.B Master, Line, PCM.
-.br
-.I MEGJEGYZÉS:
-Az ALSA mixer csatorna neveit egy szám követi, amit a <név,szám> formában
-kell megadni, pl.\& ha a csatorna neve 'PCM 1' az alsamixer-ben,
-akkor
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-A szoftveres mixek használatának elõírása, a hangkártya mixere helyett.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-A maximális amplifikációs tartomány százalékban (alapértelmezett: 110).
-A 200-as érték segítségével maximálisan az aktuális szint duplájára
-állíthatod be a hangerõt.
-A 100 alatti értékekkel a kezdeti hangerõ (ami 100%) a maximum felett lesz,
-amitõl pl.\& az OSD nem tud helyesen megjelenni.
-.
-.TP
-.B \-volstep <0\-100>
-A mixer hangerõ változtatásának léptékét állítja be a teljes tartomány
-százalékában (alapértelmezett: 3).
-.
-.TP
-.B \-volume <-1\-100> (lásd még \-af volume)
-Beállítja a kezdõ hangerõt a keverõben, akár hardveres, akár szoftveres (ha a
-\-softvol-lal együtt használod).
-A -1-es érték (alapértelmezett) nem változtat a hangerõn.
-.
-.
-.
-.SH "AUDIÓ KIMENETI VEZÉRLÕK (CSAK MPLAYER)"
-Az audió kimeneti vezérlõk interfészek a különbözõ audió kimeneti berendezésekhez.
-A szintaxis:
-.
-.TP
-.B \-ao <vezérlõ1[:alopció1[=érték]:...],vezérlõ2,...[,]>
-A használandó audió kimeneti vezérlõk priorítási listája.
-.PP
-Ha ennek a listának a végén vagy egy ',', az MPlayer sikertelenség esetén a
-listában nem szereplõ vezérlõket is használhat.
-Az alopciók megadhatóak, de legtöbbször elhagyhatóak.
-.br
-.I MEGJEGYZÉS:
-Lásd az \-ao help kimenetét a befordított kimeneti audió vezérlõk listájához.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Elõször az ALSA, majd az OSS vezérlõt próbálja, aztán mást.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-Beállítja a noblock-módot és az eszköz nevet mint elsõ kártya, negyedik eszköz.
-.RE
-.PD 1
-.sp 1
-Használható kimeneti audió eszközök:
-.
-.TP
-.B "alsa\ \ \ "
-ALSA 0.9/1.x audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs noblock
-Beállítja a noblock-módot.
-.IPs device=<eszköz>
-Beállítja az eszköz nevét.
-Minden ','-t cserélj le '.'-tal és minden ':'-ot '='-lel az ALSA eszköz névben.
-Az S/PDIF-en keresztüli hwac3 kimenethez használj egy "iec958" vagy "spdif"
-eszközt, feltéve, hogy tényleg tudod, hogyan kell jól beállítani.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-ALSA 0.5 audió kimeneti meghajtó
-.
-.TP
-.B "oss\ \ \ \ "
-OSS audió kimeneti meghajtó
-.PD 0
-.RSs
-.IPs <dsp-device>
-Beállítja az audió kimeneti eszközt (alapértelmezett: /dev/\:dsp).
-.IPs <mixer-eszköz>
-Beállítja a mixer eszközt (alapértelmezett: /dev/\:mixer).
-.IPs <mixer-csatorna>
-Beállítja a mixer csatornát (alapértelmezett: pcm).
-.RE
-.PD 1
-.
-.TP
-.B sdl (csak SDL)
-platform független SDL (Simple Directmedia Layer) függvénykönyvtár
-audió kimeneti vezérlõje
-.PD 0
-.RSs
-.IPs <meghajtó>
-Explicit kiválasztja a használni kívánt SDL audió meghajtót (alapértelmezett:
-SDL választja).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-aRts démonon keresztüli audió kimenet
-.
-.TP
-.B "esd\ \ \ \ "
-ESD démonon keresztüli audió kimenet
-.PD 0
-.RSs
-.IPs <szerver>
-Explicit kiválasztja a használni kívánt ESD szervert (alapértelmezett: localhost).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-JACK-en (Jack Audio Connection Kit) keresztüli audió kimenet
-.PD 0
-.RSs
-.IPs port=<név>
-A megadott nevû portokhoz csatlakozik (alapértelmezett: fizikai portok).
-.IPs name=<kliens név>
-Kliens neve, amit a JACK-nek át kell adni (alapértelmezett: MPlayer [<PID>]).
-Hasznos, ha bizonyos kapcsolatokat automatikusan akarsz felépíteni.
-.IPs (no)estimate
-Megbecsüli az audió késleltetést, a szándékok szerint folyamatosabbá
-teszi a videó lejátszást (alapértelmezett: engedélyezve).
-.IPs (no)autostart
-Automatikusan elindítja a jackd-t, ha szükséges (alapértelmezett: letiltva).
-Emlékezz rá, hogy ez nem megbízható és a szerver üzenetek bepiszkítják az stdout-ot.
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-NAS-on keresztüli audió kimenet
-.
-.TP
-.B coreaudio (csak Mac OS X)
-natív Mac OS X audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs device_id=<id>
-a használandó kimeneti eszköz ID-je (0 = alapértelmezett eszköz)
-.IPs help
-Kilistázza az összes elérhetõ kimeneti eszközt az ID-jével eggyütt.
-.RE
-.PD 1
-.
-.TP
-.B "openal\ "
-Kísérleti OpenAL audió kimeneti vezérlõ
-.
- .TP
-.B "pulse\ \ "
-PulseAudio audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs "[<hoszt>][:<kimenet csökkenés>]"
-Megadja a használandó hosztot és opcionálisan a kimenet csökkenést.
-Az üres <hoszt> karakterlánc egy helyi kapcsolatot, a "localhost"
-hálózati átvitelt használ (valószínûleg nem ezt akarod).
-.RE
-.PD 1
-.
-.TP
-.B sgi (csak SGI)
-natív SGI audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs "<kimeneti eszköz neve>"
-Explicit kiválasztja a használandó kimeneti eszközt/\:interfészt
-(alapértelmezett: rendszerszintû alapértelmezés).
-Például 'Analog Out' vagy 'Digital Out'.
-.RE
-.PD 1
-.
-.TP
-.B sun (csak Sun)
-natív Sun audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit kiválasztja a használni kívánt audió eszközt (alapértelmezett: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (csak Windows)
-natív Windows waveout audió kimeneti vezérlõ
-.
-.TP
-.B dsound (csak Windows)
-DirectX DirectSound audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs device=<eszközszám>
-Beállítja a használandó eszköz számát.
-Egy fájl \-v kapcsolóval történõ lejátszásával kilistázza az elérhetõ eszközöket.
-.RE
-.PD 1
-.
-.TP
-.B kai (csak OS/2)
-OS/2 KAI audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs uniaud
-UNIAUD mód kényszerítése.
-.IPs dart
-DART mód kényszerítése.
-.IPs (no)share
-Audió megosztott vagy kizárólagos módban történõ megnyitása.
-.IPs bufsize=<méret>
-Beállítja a buffer méretét <méret> nagyságúra mintákban (alapértelmezett: 2048).
-.RE
-.PD 1
-.
-.TP
-.B dart (csak OS/2)
-OS/2 DART audió kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs (no)share
-A DART-ot megosztható vagy exkluzív módban nyitja meg.
-.IPs bufsize=<méret>
-A buffer méretét <méret> számú mintára állítja (alapértelmezett: 2048).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (lásd még \-dxr2) (csak DXR2)
-Speciális Creative DXR2 kimeneti vezérlõ
-.
-.TP
-.B ivtv (csak IVTV)
-Speciális IVTV MPEG kimeneti audió vezérlõ.
-Csak a \-ac hwmpa kapcsolóval mûködik.
-.
-.TP
-.B v4l2 (Linux 2.6.22+ kernel kell hozzá)
-Audió kimeneti vezérlõ a V4L2 kártyákhoz hardveres MPEG dekóderrel.
-.
-.TP
-.B mpegpes (csak DVB)
-DVB kártyákhoz tartozó kimeneti audió vezérlõ, ami a kimenetet egy MPEG-PES
-fájlba írja ha nincs telepített DVB kártya.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Használandó DVB kártya, ha több, mint egy kártya van.
-Ha nincs megadva, az MPlayer megkeresi az elsõ használható kártyát.
-.IPs file=<fájlnév>
-kimeneti fájl neve
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-Letiltja az audió kimenetet de megtartja a videó lejátszási sebességét.
-használd a \-nosound kapcsolót a sebességméréshez.
-.
-.TP
-.B "pcm\ \ \ \ "
-nyers PCM/wave fájl író kimeneti vezérlõ
-.PD 0
-.RSs
-.IPs (no)waveheader
-Beleírja vagy ne a wave fejlécet (alapértelmezett: beírja).
-Ha nem írja bele, nyers PCM generálódik.
-.IPs file=<fájlnév>
-A <fájlnév> nevû fájlba írja ki a hangot az alapértelmezett audiodump.wav
-helyett.
-Ha a nowaveheader meg van adva, az alapértelmezett az audiodump.pcm.
-.IPs "fast\ "
-A valós idejûnél gyorsabban próbál dump-olni.
-Gyõzõdj meg róla, hogy a kimenet nem lett levágva (általában egy
-"Túl sok videó csomag a bufferban" üzenettel).
-Az normális, hogy egy "A rendszered TÚL lassú ehhez!" üzenetet kapsz.
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-plugin audió kimeneti vezérlõ
-.
-.
-.
-.SH "VIDEÓ KIMENETI OPCIÓK (CSAK MPLAYER)"
-.
-.TP
-.B \-adapter <érték>
-Megadható a grafikus kártya, ami a képet kapja.
-A használható kártyákról listát kaphatsz a \-v kapcsolóval együtt
-használod ezt az opciót.
-Jelenleg csak a directx kimeneti videó vezérlõvel mûködik.
-.
-.TP
-.B \-bpp <mélység>
-Felülbírálja az automatikusan megállapított színmélységet.
-Csak az fbdev, dga, svga, vesa videó kimenet támogatja.
-.
-.TP
-.B \-border
-Ablakkerettel és dekorációkkal játsza le a filmet.
-Mivel alapértelmezésként ez be van kapcsolva, használd a \-noborder opciót
-a szabványos ablak dekorációk kikapcsolásához.
-.
-.TP
-.B \-brightness <\-100\-100>
-A videó jel fényerejének beállítása (alapértelmezett: 0).
-Nem minden videó kimeneti vezérlõ támogatja.
-.
-.TP
-.B \-contrast <\-100\-100>
-A videó jel kontrasztjának beállítása (alapértelmezett: 0).
-Nem minden videó kimeneti vezérlõ támogatja.
-.
-.TP
-.B \-display <név> (csak X11)
-Megadható vele az X szerver hosztjának neve és a képernyõjének száma,
-amin a megjelenítésnek történnie kell.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-Bekapcsolja a direkt renderelést (nem minden codec és videó kimenet támogatja)
-.br
-.I FIGYELMEZTETÉS:
-OSD/SUB hibákat okozhat!
-.
-.TP
-.B \-dxr2 <opció1:opció2:...>
-Ezzel a kapcsolóval a dxr2 videó kimeneti vezérlõ irányítható.
-.RSs
-.IPs ar-mode=<érték>
-Méretarány mód (0 = normális, 1 = pan-and-scan, 2 = letterbox (alapértelmezett))
-.IPs iec958-encoded
-Az iec958 kimenetet kódoltra állítja be.
-.IPs iec958-decoded
-Az iec958 kimenetet dekódoltra állítja be (alapértelmezett).
-.IPs macrovision=<érték>
-macrovision mód (0 = ki (alapértelmezett), 1 = agc, 2 = agc 2 colorstripe,
-3 = agc 4 colorstripe)
-.IPs "mute\ "
-hang elnémítása
-.IPs unmute
-hang megszólaltatása
-.IPs ucode=<érték>
-útvonal a mikrokódhoz
-.RE
-.RS
-.sp 1
-.I TV kimenet
-.RE
-.RSs
-.IPs 75ire
-7.5 IRE mód bekapcsolása
-.IPs no75ire
-7.5 IRE mód kikapcsolása (alapértelmezett)
-.IPs "bw\ \ \ "
-fekete-fehér TV kimenet
-.IPs color
-színes TV kimenet (alapértelmezett)
-.IPs interlaced
-átlapolt TV kimenet (alapértelmezett)
-.IPs nointerlaced
-nem átlapolt TV kimenet
-.IPs norm=<érték>
-TV norma (ntsc (alapértelmezett), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-négyzet alakú pixelmód beállítása
-.IPs ccir601-pixel
-ccir601 pixelmód beállítása
-.RE
-.RS
-.sp 1
-.I overlay
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-Bal oldali vágás mértéke (alapértelmezett: 50).
-.IPs cr-right=<0\-500>
-Jobb oldali vágás mértéke (alapértelmezett: 300).
-.IPs cr-top=<0\-500>
-Fentrõl történõ vágás mértéke (alapértelmezett: 0).
-.IPs cr-bottom=<0\-500>
-Alulról történõ vágás mértéke (alapértelmezett: 0).
-.IPs ck-[r|g|b]=<0\-255>
-A r(ed), g(reen) vagy b(lue) összetevõ beállítása az overlay színkulcsban.
-.IPs ck-[r|g|b]min=<0\-255>
-a megfelelõ színkulcs minimum értéke
-.IPs ck-[r|g|b]max=<0\-255>
-a megfelelõ színkulcs maximum értéke
-.IPs ignore-cache
-Figyelmen kívül hagyja a cache-elt overlay beállításokat.
-.IPs update-cache
-Frissíti a cache-elt overlay beállításokat.
-.IPs ol-osd
-OSD bekapcsolása.
-.IPs nool-osd
-OSD kikapcsolása (alapértelmezett).
-.IPs ol[h|w|x|y]-cor=<\-20\-20>
-Az overlay méretének (h,w) és pozíciójának (x,y) beállítása, ha
-nem felel meg tökéletesen az ablaknak (alapértelmezett: 0).
-.IPs overlay
-Overlay bekapcsolása (alapértelmezett).
-.IPs nooverlay
-TV kimenet bekapcsolása.
-.IPs overlay-ratio=<1\-2500>
-Overlay hangolása (alapértelmezett: 1000).
-.RE
-.
-.TP
-.B \-fbmode <módnév> (csak \-vo fbdev kapcsolóval)
-Videomód megváltoztatása az /etc/\:fb.modes-ban <módnév> néven szereplõre.
-.br
-.I MEGJEGYZÉS:
-A VESA framebuffer nem támogatja a módváltást.
-.
-.TP
-.B \-fbmodeconfig <filename> (\-vo fbdev only)
-A framebuffer mód konfigurációs fájljának felülbírálata (alapértelmezett: /etc/\:fb.modes).
-.
-.TP
-.B \-fs (lásd még \-zoom)
-Teljesképernyõs lejátszás (filmet középre, köré fekete keret).
-Nem minden videó kimeneti vezérlõ támogatja.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (RÉGI, használd az \-fs kapcsolót)
-Próbáld ki ezt az opciót teljesképernyõs üzemmódnál jelentkezõ
-problémák esetén.
-.
-.TP
-.B \-fstype <típus1,típus2,...> (csak X11)
-Használandó teljesképernyõs módok priorítási listájának megadása.
-Kikapcsolhatod a módokat ha eléjük írsz egy '\-'\-t.
-Ha problémákat tapasztalsz, mint például hogy a teljes képernyõs ablakot
-egy másik ablak takarja, próbálj ki egy másik sorrendet.
-.br
-.I MEGJEGYZÉS:
-Lásd a \-fstype help kimenetét az elérhetõ módok teljes listájához.
-.sp 1
-Az elérhetõ típusok:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-A _NETWM_STATE_ABOVE hint-et használja, ha elérhetõ.
-.IPs below
-A _NETWM_STATE_BELOW hint-et használja, ha elérhetõ.
-.IPs fullscreen
-A _NETWM_STATE_FULLSCREEN hint-et használja, ha elérhetõ.
-.IPs layer
-A _WIN_LAYER hint-et használja az alapértelmezett réteggel.
-.IPs layer=<0...15>
-A _WIN_LAYER hint-et használja a megadott rétegszámmal.
-.IPs netwm
-NETWM stílus kényszerítése.
-.IPs "none\ "
-Törli a módok listáját; ezután hozzáadhatsz módokat az engedélyezéséhez.
-.IPs stays_on_top
-A _NETWM_STATE_STAYS_ON_TOP hint-et használja, ha elérhetõ.
-.REss
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-Az alapértelmezett sorrend, ezt használja, ha hibás vagy nem támogatott
-módot adtak meg.
-.IPs \-fullscreen
-A teljes képernyõs váltás javítása OpenBox 1.x-en.
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] vagy [WxH][+-x+-y]
-Annak beállítása hogy kezdéskor hova lesz kirakva a video.
-Az x és y érték a képernyõ bal felsõ sarkától a megjelenítendõ ablak
-bal felsõ sarkáig mért távolság pixelben, vagy ha egy százalék jelet
-írsz az érték mögé, akkor a képernyõ adott irányú méretének százalék
-érték lesz. Támogatja továbbá a szabványos X11 \-geometry opció formátumot
-is, melyben pl. a +10-50 azt jelenti, hogy "tedd 10 pixellel a bal szegély
-mellé és 50 pixellel az alsó szegély fölé", a "--20+-10" pedig azt, hogy
-"tedd 20 pixellel a jobb szegélyen túl és 10 pixellel a felsõ szegély fölé".
-Ha egy külsõ ablak is meg van adva a \-wid opcióval, akkor az x és y
-koordináták az ablak bal felsõ sarkához viszonyulnak a képernyõ helyett.
-A \-xineramascreen kapcsolóval megadott koordináták a képernyõhöz
-viszonyítottak, azon videó kimeneti vezérlõknél, amelyek teljes mértékben
-támogatják a \-xineramascreen kapcsolót (direct3d, gl, gl2, vdpau, x11,
-xv, xvmc, corevideo).
-.br
-.I MEGJEGYZÉS:
-Ezt az opciót csak az x11, xmga, xv, xvmc, xvidix, gl, gl2, directx,
-fbdev, tdfxfb és corevideo videó kimeneti vezérlõk támogatják.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs 50:40
-Ablak elhelyezése az x=50, y=40 koordinátákra.
-.IPs 50%:50%
-Ablak elhelyezése a képernyõ közepére.
-.IPs "100%\ "
-Ablak elhelyezése a képernyõ jobb oldalán, középen.
-.IPs 100%:100%
-Ablak elhelyezése a képernyõ jobb alsó sarkába.
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <ablak ID> (lásd még \-wid) (csak GUI)
-Ez az opció megmondja a GUI-nak, hogy tapadjon oda a lejátszóablak aljához,
-egy böngészõben megjelenítendõ mini-GUI-nál lehet hasznos (az MPlayer pluginnel).
-.
-.TP
-.B \-hue <\-100\-100>
-Videó jel "hue" értékének megváltoztatása (alapértelmezett: 0).
-Ezzel az opcióval egy színes negatívot kaphatsz a képrõl.
-Nem minden videó kimeneti vezérlõ támogatja.
-.
-.TP
-.B \-monitor\-dotclock <tartomány[,tartomány,...]> (csak \-vo fbdev és vesa)
-A monitor dotclock vagy pixelclock tartományának megadása.
-.
-.TP
-.B \-monitor\-hfreq <tartomány[,tartomány,...]> (csak \-vo fbdev és vesa)
-A monitor vízszintes képfrissítési frekvenciatartományának megadása.
-.
-.TP
-.B \-monitor\-vfreq <tartomány[,tartomány,...]> (csak \-vo fbdev és vesa)
-A monitor függõleges képfrissítési frekvenciatartományának megadása.
-.
-.TP
-.B \-monitoraspect <arány> (lásd még \-aspect)
-A monitor vagy TV képernyõ képarányának megadása.
-A 0 letiltja az elõzõ képarány beállítást (pl.\& a konfigurációs fájlét).
-Felülbírálja a \-monitorpixelaspect beállítást, amennyiben az meg van adva.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-\-monitoraspect 4:3 vagy 1.3333
-.br
-\-monitoraspect 16:9 vagy 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <ráta> (lásd még \-aspect)
-Beállítja egy pixel arányát a monitorodon vagy TV képernyõdön (alapértelmezett: 1).
-Az 1 négyzetes pixeleket jelent
-(megfelelõ a (legtöbb?) LCD képernyõn).
-.
-.TP
-.B \-name (csak X11)
-Beállítja az ablak osztály nevét.
-.
-.TP
-.B \-nodouble
-Letiltja a dupla bufferelést, leginkább hibakeresési célzattal.
-A dupla bufferelés kiküszöböli a vibrálást úgy, hogy két képet tart a memóriában
-és az egyik megjelenítése közben dekódolja a másikat.
-Az OSD-re negatív hatással lehet, de gyakran megszünteti az OSD villózását.
-.
-.TP
-.B \-nograbpointer
-Ne fogja meg az egérmutatót videó mód váltás után (\-vm). Többkártyás
-kimenetnél hasznos.
-.
-.TP
-.B \-nokeepaspect
-Ne tartsa meg az ablak képarányát az ablak átméretezésekor. Jelenleg csak az
-x11, xv, xmga, xvidix, directx videó kimenetekkel mûködik.
-Továbbá X11 alatt az ablakkezelõdnek is támogatnia kell.
-.
-.TP
-.B "\-ontop\ "
-A lejátszási ablak folyamatosan a többi ablak elõtt lesz látható.
-Azok a videó kimeneti vezérlõk támogatják, amelyek X11-et használnak,
-kivéve az SDL-t, valamint a directx, corevideo, quartz, ggi és gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-Pan & Scan funkció bekapcsolása (pl.\& egy 16:9 arányú film széleinek a
-levágása, hogy elférjen egy 4:3 arányú képernyõn fekete sávok nélkül)
-A tartomány vezérli, hogy a képbõl mennyi kerül levágásra.
-Ez a funkció csak az xv, xmga, mga, gl, gl2, quartz, corevideo és xvidix videó
-kimeneti meghajtókkal mûködik.
-.br
-.I MEGJEGYZÉS:
-A \-1 és 0 közötti értékek is engedélyezettek, de csak kísérleti jelleggel
-és összeomlást vagy még rosszabbat okozhatnak.
-Csak saját felelõsségre használd!
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (kísérleti)
-Megváltoztatja a pan-and-scan funkcionalítás tartományát (alapértelmezett: 1).
-A pozitív értékek az alapértelmezett tartomány többszörösét jelentik.
-A negatív számok azt jelentik, hogy \-panscanrange+1 faktorig tudsz nagyítani.
-Pl.\& \-panscanrange \-3 4-es nagyítási faktort enged.
-Ez a képesség még kísérleti.
-Ne jelents hibákat, hacsak nem \-vo gl-t használsz.
-.
-.TP
-.B \-refreshrate <Hz>
-A monitor frissítési frekvenciájának beállítása Hz-ben.
-Jelenleg csak a \-vo directx támogatja a \-vm opcióval együtt.
-.
-.TP
-.B \-rootwin
-A film root ablakban (asztal hátterében) történõ lejátszása.
-Az asztalon lévõ háttérkép kitakarhatja a filmet.
-Csak az x11, xv, xmga, xvidix, quartz, corevideo és directx videó meghajtók
-támogatják.
-.
-.TP
-.B \-saturation <\-100\-100>
-Video jel szaturációjának beállítása (alapértelmezett: 0).
-Fekete fehér képet is elõ lehet állítani vele.
-Nem minden videó kimeneti vezérlõ támogatja.
-.
-.TP
-.B \-screenh <pixel>
-A képernyõ magasságának megadása az olyan videó kimeneti vezérlõnek,
-ami nem tudja a képernyõ felbontását, mint az fbdev, x11 és TV-out.
-.
-.TP
-.B \-screenw <pixel>
-A képernyõ szélességének megadása az olyan videó kimeneti vezérlõnek,
-ami nem tudja a képernyõ felbontását, mint az fbdev, x11 és TV-out.
-.
-.TP
-.B \-stop\-xscreensaver (csak X11)
-Kikapcsolja az xscreensaver-t a lejátszás indításakor, kilépéskor újraindítja.
-Ha a képernyõ védõd sem az XSS, sem az XResetScreenSaver API-t nem támogatja,
-használd inkább a \-heartbeat\-cmd kapcsolót.
-.
-.TP
-.B \-title (lásd még \-use\-filename\-title)
-Beállítja az ablak címét.
-Az X11 alapú videó kimeneti vezérlõk támogatják.
-.
-.TP
-.B \-use\-filename\-title (lásd még \-title)
-Beállítja az ablak címét a média fájlnevére, ha nincs megadva a \-title opcióval.
-Az X11 alapú videó kimeneti vezérlõk támogatják.
-.
-.TP
-.B "\-vm \ \ \ "
-Megpróbál átváltani egy másik videó módba. A dga, x11, xv, sdl és
-directx videó kimeneti meghajtók támogatják.
-Ha a directx videó kimeneti vezérlõvel használod, a \-screenw,
-\-screenh, \-bpp és \-refreshrate opciókkal beállíthatod az új
-képernyõ módot.
-.
-.TP
-.B "\-vsync \ \ "
-VBI bekapcsolása a vesa, dfbmga és az svga videó kimeneti meghajtóhoz.
-.
-.TP
-.B \-wid <ablak ID> (lásd még \-guiwid) (csak X11, OpenGL és DirectX)
-Ez megadja az MPlayernek hogy egy már létezõ X11 ablakban játsszon le,
-hasznos ha böngészõbe akarod integrálni az MPlayert (pl.\& a plugger
-kiterjesztéssel).
-Ez az opció a megadott ablakot teljesen kitölti, ezért a méretezést, panscan-t,
-stb. már nem az MPlayer kezeli, hanem az alkalmazás, amelyik az ablakot létrehozta.
-.
-.TP
-.B \-xineramascreen <\-2\-...>
-Xinerama konfigurációkban (tehát amikor egy desktop több kijelzõn látható),
-ezzel az opcióval adható meg hogy melyik kijelzõn történjen a lejátszás.
-A \-2 érték teljes képernyõt jelent az egész virtuális képernyõn (ebben az
-esetben a Xinerama információk teljesen figyelmen kívül maradnak), a \-1
-teljes képernyõs lejátszás azon a képernyõn, amelyiken az ablak épp van.
-A kezdeti pozíció a \-geometry opcióval állítható be a megadott képernyõhöz
-relatívan.
-Általában a "\-fstype \-fullscreen" vagy "\-fstype none" opciókkal együtt
-mûködik.
-Ez az opció nem alkalmas csak a kezdõ képernyõ beállítására (mert
-a megadott képernyõn mindig teljes képernyõsen jelenik meg), jelenleg
-a \-geometry a legalkalmasabb erre a célra.
-A direct3d, gl, gl2, x11, xv és a corevideo videó kimeneti vezérlõ
-támogatja.
-.
-.TP
-.B \-zrbw (csak \-vo zr)
-Fekete fehér lejátszás.
-Az optimális teljesítményhez kombinálható a '\-lavdopts gray' kapcsolóval.
-.
-.TP
-.B \-zrcrop <[szélesség]x[magasság]+[x offszet]+[y offszet]> (csak \-vo zr)
-Csak a bemeneti kép kiválasztott részének megjelenítése, valamint
-többszöri használatával kapcsolható be a cinerama mód is.
-Cinerama módban a film több mint egy TV-n lesz megjelenítve a nagyobb
-kép létrehozásához.
-Az n\-edik \-zrcrop opció utáni opciók az n\-edig MJPEG kártyára vonatkoznak,
-mindegyik kártyához meg kell adni legalább egy \-zrdev opciót a \-zrcrop
-mellé. Példákért lásd a \-zrhelp kimenetét és a Zr részt a dokumentációban.
-.
-.TP
-.B \-zrdev <eszköz> (csak \-vo zr)
-Itt lehet megadni az MJPEG kártya egységnevét, alapban a legelsõ
-v4l egységet feltételezi annak.
-.
-.TP
-.B \-zrfd (csak \-vo zr)
-Decimation kényszerítése: Decimation, ahogy a \-zrhdec és \-zrvdec opciókkal
-meg van adva, csak akkor történik meg, ha a hardveres méretezõ szét
-tudja húzni a képet az eredeti méretére.
-Ezzel a kapcsolóval kényszerítheted a decimation-t.
-.
-.TP
-.B \-zrhdec <1|2|4> (csak \-vo zr)
-Vízszintes decimation: Arra utasítja a vezérlõt, hogy a forrás képbõl csak
-minden második vagy negyedik sor/\:pixel kerüljön elküldésre az MJPEG
-kártyának és az MJPEG kártya a scaler-jét használja a kép eredeti méretre
-való széthúzásához.
-.
-.TP
-.B \-zrhelp (csak \-vo zr)
-Az összes \-zr* opció, alapértékeik és egy cinerama mód példa kiírása.
-.
-.TP
-.B \-zrnorm <norma> (csak \-vo zr)
-A TV norma megadása: PAL vagy NTSC (alapértelmezett: nincs váltás).
-.
-.TP
-.B \-zrquality <1\-20> (csak \-vo zr)
-Egy szám 1-tõl (legjobb) 20-ig (legrosszabb), a JPEG kódolási minõségét adja meg.
-.
-.TP
-.B \-zrvdec <1|2|4> (csak \-vo zr)
-Függõleges decimation: Arra utasítja a vezérlõt, hogy a forrás képbõl csak
-minden második vagy negyedik sor/\:pixel kerüljön elküldésre az MJPEG
-kártyának és az MJPEG kártya a scaler-jét használja a kép eredeti méretre
-való széthúzásához.
-.
-.TP
-.B \-zrxdoff <x megjelenítési offszet> (csak \-vo zr)
-Ha a film kisebb, mint a TV képernyõ, ez az opció adja meg az x offszetet
-a TV képernyõ bal felsõ sarkától (alapértelmezett: középre igazított).
-.
-.TP
-.B \-zrydoff <y megjelenítési offszet> (csak \-vo zr)
-Ha a film kisebb, mint a TV képernyõ, ez az opció adja meg az y offszetet
-a TV képernyõ bal felsõ sarkától (alapértelmezett: középre igazított).
-.
-.
-.
-.SH "VIDEÓ KIMENETI VEZÉRLÕK (CSAK MPLAYER)"
-A videó kimeneti vezérlõk interfészek a különbözõ videó kimeneti berendezésekhez.
-A szintaxis:
-.
-.TP
-.B \-vo <vezérlõ1[:alopció1[=érték]:...],vezérlõ2,...[,]>
-A használandó videó kimeneti vezérlõk priorítási listája.
-.PP
-Ha ennek a listának a végén vagy egy ',', az MPlayer sikertelenség esetén a
-listában nem szereplõ vezérlõket is használhat.
-Az alopciók megadhatóak, de legtöbbször elhagyhatóak.
-.br
-.I MEGJEGYZÉS:
-Lásd a \-vo help kimenetét a befordított kimeneti videó vezérlõk listájához.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Kipróbálja a Matrox X11 vezérlõt, majd az Xv vezérlõt, majd mást.
-.IPs "\-vo directx:noaccel"
-DirectX vezérlõt használ a gyorsítási funkciók kikapcsolásával.
-.RE
-.PD 1
-.sp 1
-Használható kimeneti videó eszközök:
-.
-.TP
-.B xv (csak X11)
-Az XFree86 4.x XVideo kiterjesztését használja a hardveres gyorsítású
-lejátszáshoz.
-Ha nem tudsz harver specifikus vezérlõt használni, valószínûleg ez a
-legjobb opció.
-A használt színkulcsról és annak megjelenítésérõl a \-v opcióval ad
-információkat az MPlayer, keresd az [xv common] tag-gel kezdõdõ
-sorokat.
-.PD 0
-.RSs
-.IPs adaptor=<szám>
-Kiválasztja a megadott XVideo adaptort (lásd az xvinfo ereményét).
-.IPs port=<szám>
-Adott XVideo port kiválasztása.
-.IPs ck=<cur|use|set>
-A forrás kiválasztása, amibõl a színkulcs származik (alapértelmezett: cur).
-.RSss
-.IPs cur
-Alapértelmezetten az Xv aktuális beállításaiból veszi a színkulcsot.
-.IPs use
-Az MPlayer használja, de nem módosítja a színkulcsot (a \-colorkey opcióval
-megváltoztathatod).
-.IPs set
-Ugyan az, mint a use de be is állítja a támogatott színkulcsot.
-.RE
-.IPs ck-method=<man|bg|auto>
-A színkulcs megjelenítésének módja (alapértelmezett: man).
-.RSss
-.IPs man
-Kézi megjelenítés (csökkenti a villódzást néhány esetben).
-.IPs bg
-Ablak háttereként állítja be a színkulcsot.
-.IPs auto
-Xv-vel rajzoltatja ki a színkulcsot.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (csak X11)
-Osztott memóriás videó kimeneti vezérlõ hardver-gyorsítás nélkül, ami
-mindig mûködik ha van X11.
-.
-.TP
-.B xover (csak X11)
-X11 támogatást ad az összes overlay alapú videó kimeneti vezérlõhöz.
-Jelenleg csak a tdfx_vid támogatja.
-.PD 0
-.RSs
-.IPs <vo_vezérlõ>
-Vezérlõ kiválasztása az overlay forrásaként az X11 felett.
-.RE
-.PD 1
-.
-.TP
-.B vdpau (\-vc ffmpeg12vdpau, ffwmv3vdpau, ffvc1vdpau, ffh264vdpau vagy ffodivxvdpau kapcsolókkal)
-Videó kimenet, ami a VDPAU-t használja a videó hardveres dekódolásához.
-Támogatja a szoftveresen dekódolt videó megjelenítését is.
-.PD 0
-.RSs
-.IPs sharpen=<\-1\-1>
-Pozitív értékekkel egy élesítõ algoritmust alkalmaz a videóra,
-negatív értékekkel pedig elmosást (alapértelmezett: 0).
-.IPs denoise=<0\-1>
-Egy zajcsökkentõ algoritmust alkalmaz a videóra (alapértelmezett: 0, nincs zajcsökkentés).
-.IPs deint=<0\-4>
-Kiválasztja a deinterlacer-t (alapértelmezett: 0).
-Minden mód > 0 figyelembe veszi a \-field\-dominance kapcsolót.
-.RSss
-.IPs 0
-nincs deinterlace
-.IPs 1
-Csak az elsõ mezõt mutatja, hasonló a \-vf field kapcsolóhoz.
-.IPs 2
-Bob deinterlace, hasonló a \-vf tfields=1 kapcsolóhoz.
-.IPs 3
-mozgás adaptív idõbeli deinterlace
-A/V deszinkronizációt okozhat lassú videó hardveren és/vagy nagy felbontásnál.
-Ez az alapértelmezett, ha a "D" gombbal engedélyezhetõ a deinterlacing.
-.IPs 4
-mozgás adaptív idõbeli deinterlace él-vezérelt térbeli interpolációval
-Gyors videó hardver kell hozzá.
-.RE
-.IPs chroma\-deint
-Az idõbeli deinterlacer-ek mind a fényerõsségen, mint a telítettségen változtatnak (alapértelmezett).
-Használd a nochroma\-deint kapcsolót, ha csak a fényerõsséget akarod változtatni és gyorsítani
-szeretnél a fejlett deinterlacing-en.
-Hasznos lassú videó memóriánál.
-.IPs pullup
-Megpróbálja kihagyni a deinterlacing-et a progresszív kockáknál, hasznos,
-ha telecine-s tartalmat nézel, de gyors videó hardver kell hozzá a nagy felbontásokhoz.
-Csak mozgás adaptív idõbeli deinterlace mellett mûködik.
-.IPs colorspace
-Kiválasztja a színteret a YUV-RGB konverzióhoz.
-Általában a BT.601 használatos a szabvány felbontású (SD) tartalomhoz és
-a BT.709 a nagy felbontású (HD) tartalomhoz.
-A hibás színtér használata kicsit alul vagy túl telített képet és
-elcsúszott színeket okoz.
-.RSss
-.IPs 0
-Megpróbálja kitalálni a színteret a videó felbontása alapján.
-A szélesség >= 1280 vagy magasság > 576 méretû videók HD-ként lesznek kezelve,
-és a BT.709 színtér lesz használva.
-.IPs 1
-Az ITU-R BT.601 színteret használja (alapértelmezett).
-.IPs 2
-Az ITU-R BT.709 színteret használja.
-.IPs 3
-Az SMPTE-240M színteret használja.
-.RE
-.IPs hqscaling
-.RSss
-.IPs 0
-Az alapértelmezett VDPAU méretezést használja (alapértelmezett).
-.IPs 1\-9
-Nagyon jó minõségû VDPAU méretezést használ (megfelelõ hardver kell hozzá).
-.RE
-.IPs force\-mixer
-Kényszeríti a VDPAU mixer használatát, ami implementálja a fenti opciókat (alapértelmezett).
-A noforce\-mixer használatával jeleníthetõ meg a BGRA színtér.
-(Letiltja az összes fenti opciót és a hardveres equalizert, ha
-a BGRA képformátum van használva.)
-.RE
-.PD 1
-.
-.TP
-.B xvmc (csak X11 \-vc ffmpeg12mc kapcsolóval)
-Videó kimeneti vezérlõ ami az XFree86 4.x XvMC (X Video Motion Compensation)
-kiterjesztését használja az MPEG-1/2 és VCR2 dekódolás gyorsításához.
-.PD 0
-.RSs
-.IPs adaptor=<szám>
-Kiválasztja a megadott XVideo adaptort (lásd az xvinfo eredményét).
-.IPs port=<szám>
-Adott XVideo port kiválasztása.
-.IPs (no)benchmark
-Letiltja a kép megjelenítését.
-Szükséges az olyan vezérlõk megfelelõ sebességméréséhez, amik a kép
-buffert a monitorokon csak retrace-re állítják (nVidia).
-Alapértelmezett a képek megjelenítése (nobenchmark).
-.IPs (no)bobdeint
-Nagyon egyszerû deinterlacer.
-Nem néz ki jobban, mint a \-vf tfields=1,
-de ez az egyetlen deinterlacer az xvmc-hez (alapértelmezett: nobobdeint).
-.IPs (no)queue
-A megjelenítendõ képkockák sorba állítása a videó hardver párhuzamos
-mûködtetéséhez. Egy kicsi (nem észrevehetõ) konstans A/V deszinkronizációt
-okozhat (alapértelmezett: noqueue).
-.IPs (no)sleep
-A sleep függvény használata, amikor a renderelés elkészülésére vár
-(nem javasolt Linuxon) (alapértelmezett: nosleep).
-.IPs ck=cur|use|set
-Ugyan az, mint a \-vo xv:ck (lásd \-vo xv).
-.IPs ck-method=man|bg|auto
-Ugyan az, mint a \-vo xv:ck-method (lásd \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B dga (csak X11)
-A videót az XFree86 Direct Graphics Access kiterjesztésén keresztül
-játsza le. Idejétmúltnak lett minõsítve.
-.
-.TP
-.B sdl (csak SDL, hibás/idejétmúlt)
-Platform független SDL (Simple Directmedia Layer) függvénykönyvtár
-videó kimeneti vezérlõje.
-Mivel az SDL csak a saját X11 rétegét használja, az MPlayer X11
-opcióinak nincs hatásuk az SDL-re.
-Emlékezz rá, hogy számos kisebb hibája van (\-vm/\-novm opciót a
-legtöbbször figyelmen kívül hagyja, a \-fs úgy mûködik, ahogy a
-\-novm opciónak kellene, az ablak a bal felsõ sarokba kerül, ha
-kikapcsolod a teljes képernyõs megjelenítést, a panscan nem támogatott, ...).
-.PD 0
-.RSs
-.IPs driver=<vezérlõ>
-A használni kívánt SDL vezérlõ explicit kiválasztása.
-.IPs (no)forcexv
-XVideo használata az sdl kimeneti videó vezérlõn keresztül (alapértelmezett: forcexv).
-.IPs (no)hwaccel
-Hardveres gyorsítású méretezõ használata (alapértelmezett: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-A VIDIX (VIDeo Interface for *niX) egy interfész a különbözõ
-grafikus kártyák videó gyorsítási képességeihez.
-Nagyon gyors kimeneti videó vezérlõ az olyan kártyákon, amik támogatják.
-.PD 0
-.RSs
-.IPs <aleszköz>
-Explicit kiválasztja a használni kívánt VIDIX aleszközt.
-A használható aleszközök a cyberblade, ivtv, mach64,
-mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
-sis_vid és unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (csak X11)
-X11 frontend a VIDIX-hez
-.PD 0
-.RSs
-.IPs <aleszköz>
-Ugyan az, mint a vidix-nél.
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-Általános és platform független VIDIX frontend, akár szöveges konzolon
-is futhat nVidia kártyákkal.
-.PD 0
-.RSs
-.IPs <aleszköz>
-Ugyan az, mint a vidix-nél.
-.RE
-.PD 1
-.
-.TP
-.B winvidix (csak Windows)
-Windows-os frontend a VIDIX-hez
-.PD 0
-.RSs
-.IPs <aleszköz>
-Ugyan az, mint a vidix-nél.
-.RE
-.PD 1
-.
-.TP
-.B direct3d (csak Windows) (BÉTA KÓD!)
-Kimeneti videó vezérlõ, amely Direct3D interfészt használ (hasznos Vista-hoz).
-.
-.TP
-.B directx (csak Windows)
-Kimeneti videó vezérlõ, ami a DirectX interfészét használja.
-.PD 0
-.RSs
-.IPs noaccel
-Kikapcsolja a hardveres gyorsítást.
-Próbáld ki ezt az opciót, ha megjelenítési problémáid vannak.
-.RE
-.PD 1
-.
-.TP
-.B kva (csak OS/2)
-Kimeneti videó vezérlõ, ami a libkva interfészt használja.
-.PD 0
-.RSs
-.IPs snap
-Kényszeríti a SNAP módot.
-.IPs wo
-Kényszeríti a WarpOverlay! módot.
-.IPs dive
-Kényszeríti a DIVE módot.
-.IPs (no)t23
-Engedélyezi vagy letiltja a T23 laptopokra vonatkozó kódot (alapértelmezett: letiltott).
-Próbáld meg engedélyezni ezt az opciót, ha a videó kártyád csak a felméretezést támogatja.
-.RE
-.PD 1
-.
-.TP
-.B quartz (csak Mac OS X)
-Mac OS X Quartz kimeneti videó vezérlõ.
-Bizonyos esetekben hatékonyabb lehet egy csomagolt YUV kimeneti
-formátum kényszerítése, pl.\& a \& \-vf format=yuy2 kapcsolóval.
-.PD 0
-.RSs
-.IPs device_id=<szám>
-A teljes képernyõs módban használt képernyõ száma.
-.IPs fs_res=<szélesség>:<magasság>
-A teljes képernyõ felbontása (hasznos lassú rendszereknél).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 vagy 10.3.9 QuickTime 7-tel)
-Mac OS X CoreVideo kimeneti videó vezérlõ
-.PD 0
-.RSs
-.IPs device_id=<szám>
-Teljes képernyõs lejátszásnál a használni kívánt képernyõ eszköz, vagy -1-re állítva
-mindig ugyan azt a képernyõt használja, amelyiken a videó ablak van (alapértelmezett: \-1 \- auto).
-.
-.IPs shared_buffer
-A kimenetet egy osztott memória bufferbe írja a megjelenítése helyett és
-megpróbál megnyitni egy létezõ NSConnection-t a GUI-val történõ kommunikációhoz.
-.IPs buffer_name=<név>
-Az osztott buffer neve, mely az shm_open-nel jön létre, valamint az
-NSConnection neve, amit az MPlayer megpróbál megnyitni (alapértelmezett: "mplayerosx").
-A buffer_name megadása implicit engedélyezi a shared_buffer-t.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (csak Linux)
-A kernel framebuffer-jét használja videó lejátszáshoz.
-.PD 0
-.RSs
-.IPs <eszköz>
-Az fbdev eszköz nevének explicit megadása (pl.\& /dev/\:fb0) vagy a
-VIDIX aleszköz neve, ha a név 'vidix'-szel kezdõdik
-(pl.\& 'vidixsis_vid' a sis vezérlõhöz).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (csak Linux)
-A kernel framebuffer-jét használja videó lejátszáshoz,
-alternatív megvalósítás.
-.PD 0
-.RSs
-.IPs <eszköz>
-A használni kívánt fbdev eszköz explicit megadása (alapértelmezett: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Nagyon általános kimeneti videó vezérlõ, aminek mûködnie kell bármilyen VESA VBE 2.0
-kompatibilis kártyán.
-.PD 0
-.RSs
-.IPs (no)dga
-Ki vagy bekapcsolja a DGA módot (alapértelmezett: be).
-.IPs neotv_pal
-Aktiválja a NeoMagic TV kimenetet és beállítja PAL normára.
-.IPs neotv_ntsc
-Aktiválja a NeoMagic TV kimenetet és beállítja NTSC normára.
-.IPs vidix
-VIDIX vezérlõ használata.
-.IPs "lvo:\ \ \ "
-A Linux Video Overlay aktiválása a VESA mód felett.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-Videó lejátszása az SVGA függvénykönyvtár használatával.
-.PD 0
-.RSs
-.IPs "<videó mód>"
-Használni kívánt videó mód megadása.
-A mód <szélesség>x<magasság>x<szín> formátumban adható meg,
-pl.\& 640x480x16M vagy egy grafikus mód számmal, pl.\& 84.
-.IPs bbosd
-Az OSD-t a film alatt, fekete keretben rajzolja ki (lassabb).
-.IPs native
-Csak natív rajzolási függvények használata.
-Ez kikapcsolja a direkt renderelést, az OSD-t és a hardveres gyorsítást.
-.IPs retrace
-Képkocka váltás kényszerítése függõleges visszatérésnél.
-Csak a \-double\-lel használható.
-Ugyan az a hatása, mint a \-vsync opciónak.
-.IPs "sq\ \ \ "
-Videó mód kiválasztása négyzet pixelekkel.
-.IPs vidix
-svga használata VIDIX-szel.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-OpenGL kimeneti videó vezérlõ, egyszerû verzió.
-A videó méretének kisebbnek kell lennie, mint az OpenGL implementációd maximum
-textúra mérete.
-A szándékok szerint a legegyszerûbb OpenGL implementációkkal is mûködik, de
-használhat újabb kiterjesztéseket is, melyek engedélyezik több színtér és a
-direct rendering támogatását.
-Az optimális sebességhez add hozzá a következõ opciókat a parancssorhoz
-.br
-\-dr \-noslices
-.br
-A kód nagyon kevés ellenõrzést végez, így ha egy tulajdonság nem elérhetõ, az
-azért lehet, mert a kártyád/OpenGL implementációd nem támogatja, akkor sem, ha
-hibaüzenetet nem kapsz.
-Használd a glxinfo-t vagy valami hasonló eszközt a támogatott OpenGL
-kiterjesztések megtekintéséhez.
-.PD 0
-.RSs
-.IPs (no)ati\-hack
-Az ATI vezérlõk hibás képet adhatnak ha PBO-kat használsz (\-dr vagy
-force\-pbo használata).
-Ez az opció javítja ezt, egy kicsivel nagyobb memória használat mellett.
-.IPs (no)force\-pbo
-Mindig PBO-kat használ a textúrák átviteléhez, akkor is, ha ez egy plusz
-másolást igényel.
-Jelenleg ez egy kis extra sebességet ad az NVidia vezérlõkkel és sokkal
-gyorsabb az ATI vezérlõkkel.
-Szükség lehet a \-noslices és az ati\-hack alopciókra a megfelelõ mûködéshez.
-.IPs (no)scaled-osd
-Az OSD viselkedésének megváltoztatása, amikor az ablakméret módosul
-(alapértelmezett: letiltva).
-Ha engedélyezed, sokkal inkább a másik kimeneti videó vezérlõre hasonlít,
-ami jobb fix méretû betûtípusoknál.
-Letiltva sokkal jobban néznek ki FreeType betûtípusokkal és a határokat
-használja teljes képernyõs módban.
-Nem mûködik jól ass feliratokkal (lásd \-ass), helyettük OpenGL támogatás
-nélkül is renderelheted a \-vf ass kapcsolóval.
-.IPs osdcolor=<0xAARRGGBB>
-OSD színe (alapértelmezett: 0x00ffffff, ez megfelel a nem transzparens fehérnek).
-.IPs rectangle=<0,1,2>
-Kiválasztja a téglalap alakú textúrák használatát, ami videó RAM-ot spórol
-meg, de sokszor lassabb (alapértelmezett: 0).
-.RSss
-0: Power-of-two textúrák használata (alapértelmezett).
-.br
-1: GL_ARB_texture_rectangle kiterjesztés használata.
-.br
-2: GL_ARB_texture_non_power_of_two kiterjesztés használata.
-Néhány esetben csak szoftveresen támogatott és ezért nagyon lassú.
-.RE
-.IPs swapinterval=<n>
-Minimális idõköz két buffercsere között, a megjelenített képkockák
-számában mérve (alapértelmezett: 1).
-Az 1 a VSYNC engedélyezésével, a 0 a VSYNC letiltásával azonos.
-A 0-nál kisebb értékek a rendszer alapértelmezését hagyják érvényben.
-Ez a framerátát (vízszíntes frissítési ráta / n)-ra korlátozza.
-GLX_SGI_swap_control támogatás kell a mûködéséhez.
-Néhány (legtöbb/összes?) implementációval csak teljes képernyõs módban mûködik.
-.IPs ycbcr
-Használja a GL_MESA_ycbcr_texture bõvítményt a YUV-RGB konverzióknál.
-A legtöbb esetben ez valószínûleg lassabb, mint az RGB-be történõ szoftveres konverzió.
-.IPs yuv=<n>
-Kiválasztja a YUV és az RGB konverzió típusát.
-Az alapértelmezett az automatikus döntés a 0 és a 2 között.
-.RSss
-0: Szoftveres konverzió használata.
-Kompatibilis minden OpenGL verzióval.
-Fényerõsség, kontraszt és telítettség beállítását teszi lehetõvé.
-.br
-1: Összekötõ regisztereket használ.
-Ez egy nVidia-specifikus kiterjesztés (GL_NV_register_combiners).
-Legalább három textúra egység szükséges.
-Telítettség és színárnyalat beállítását teszi lehetõvé.
-Ez a módszer gyors, de pontatlan.
-.br
-2: Fragmentum programot használ.
-A GL_ARB_fragment_program kiterjesztés kell hozzá és legalább
-három textúra egység.
-Fényerõsség, kontraszt, telítettség és színárnyalat beállítását
-teszi lehetõvé.
-.br
-3: POW utasítást használó fragmentum programot használ.
-A GL_ARB_fragment_program kiterjesztés kell hozzá és legalább
-három textúra egység.
-Fényerõsség, kontraszt, telítettség, színárnyalat és gamma
-beállítását teszi lehetõvé.
-A gamma külön állítható a vörös, zöld és kék színre.
-A 4. módszer általában gyorsabb.
-.br
-4: Fragmentum programot használ további elemzéssel.
-A GL_ARB_fragment_program kiterjesztés kell hozzá és legalább
-négy textúra egység.
-Fényerõsség, kontraszt, telítettség, színárnyalat és gamma
-beállítását teszi lehetõvé.
-A gamma külön állítható a vörös, zöld és kék színre.
-.br
-5: ATI-specifikus módszer (régebbi kártyákhoz).
-Ez egy ATI-specifikus kiterjesztés (GL_ATI_fragment_shader \- nem
-GL_ARB_fragment_shader!).
-Legalább három textúra egység szükséges.
-Telítettség és színárnyalat beállítását teszi lehetõvé.
-Ez a módszer gyors, de pontatlan.
-.br
-6: Egy 3D textúra átnézését használja a konverzió végrehajásához.
-GL_ARB_fragment_program kiterjesztés kell hozzá és legalább négy
-textúra egység.
-Fényerõsség, kontraszt, telítettség, színárnyalat és gamma
-beállítását teszi lehetõvé.
-A gamma külön állítható a vörös, zöld és kék színre.
-A sebessége jobban függ a GPU memória sávszélességétõl, mint a többi módszernél.
-.RE
-.IPs colorspace
-Kiválasztja a színteret a YUV-RGB átalakításhoz.
-.RSss
-.IPs 0
-Az MPlayer által normálisan használt formulát választja (alapértelmezett).
-.IPs 1
-Az ITU-R BT.601 színteret használja.
-.IPs 2
-Az ITU-R BT.709 színteret használja.
-.IPs 3
-Az SMPTE-240M színteret használja.
-.RE
-.IPs levelconv=<n>
-Kiválasztja a fényesség konvertálási szintjét a YUV-RGB konvertálás során
-.RSss
-.IPs 0
-TV-rõl PC szintre (alapértelmezett).
-.IPs 1
-PC-rõl TV szintre.
-.IPs 2
-Nincs semmilyen konvertálás.
-.RE
-.IPs lscale=<n>
-Kiválasztja a használandó méretezõ függvényt a fényerõsséghez.
-Csak a 2-es, 3-as, 4-es és 6-os yuv módoknál helyes.
-.RSss
-0: Egyszerû lineáris szûrés használata (alapértelmezett)
-.br
-1: Bicubic B-spline szûrõ használata (jobb minõség).
-További egy textúra egység kell hozzá.
-A régi kártyák nem tudják használni ezt a telítettséget, legalábbis teljes képernyõnél.
-.br
-2: Köbös szûrés vízszintes, lineáris szûrés függõleges irányban.
-Egy kicsit több kártyán mûködik, mint az 1.
-.br
-3: Ugyan az, mint az 1, de nem használ texturát.
-Néhány kártyán gyorsabb lehet.
-.br
-4: Kísérleti életlenítõ maszkot használ 3x3 támogatással és az alapértelmezett 0.5-ös erõsséggel
-(lásd filter-strength).
-.br
-5: Kísérleti életlenítõ maszkot használ 5x5 támogatással és az alapértelmezett 0.5-ös erõsséggel
-(lásd filter-strength).
-.RE
-.IPs cscale=<n>
-Kiválasztja a használandó méretezõ függvényt a színességhez.
-A részletekért lásd a lscale-t.
-.IPs filter-strength=<érték>
-Beállítja a lscale/cscale szûrõk erõsségét, ahol ez támogatott.
-.IPs stereo=<érték>
-Kiválaszt egy módszert a sztereó képernyõkhöz.
-Valószínûleg használnod kell a -aspect kapcsolót a képarány javításához.
-Kísérleti dolog, ne várj tõle túl sokat.
-.RSss
-0: Normális 2D képernyõ
-.br
-1: a bemenet bal-jobb osztása teljes színû, vörös-cián sztereóra.
-.br
-2: a bemenet bal-jobb osztása teljes színû vörös-cián sztereóra.
-.br
-3: a bemenet bal-jobb osztása quadbuffer-es sztereóra.
-Csak nagyon kevés OpenGL kártya támogatja.
-.RE
-.RE
-.sp 1
-.RS
-A következõ opciók csak akkor hasznosak, ha a saját fragmentum programodat írod.
-.RE
-.sp 1
-.RSs
-.IPs customprog=<fájlnév>
-Saját fragmentum programot tölt be a <fájlnév>-bõl.
-Lásd a TOOLS/edgedect.fp fájl példáért.
-.IPs customtex=<fájlnév>
-Egyéni "gamma ramp" textúrát tölt be a <fájlnév>-bõl.
-A yuv=4 vagy a customprog opcióval együtt használható.
-.IPs (no)customtlin
-Ha engedélyezett (alapértelmezett), GL_LINEAR interpoláció használata,
-különben GL_NEAREST a customtex textúrákhoz.
-.IPs (no)customtrect
-Ha engedélyezve van, texture_rectangle-t használ a customtex textúrákhoz.
-Alapértelmezésben le van tiltva.
-.IPs (no)mipmapgen
-Ha engedélyezve van, a videóhoz a mipmap-ok automatikusan generálódnak.
-Ez a customprog és a TXB utasítással együtt hasznos, a nagy sugarú elmosó
-szûrõ implementálásához.
-A legtöbb OpenGL implementációnál ez nagyon lassú bármely nem-RGB
-formátumnál.
-Alapértelmezésben le van tiltva.
-.RE
-.sp 1
-.RS
-Alapesetben a következõ opciókra nincs szükség, többnyire csak tesztelési
-célokat szolgálnak.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-Buffer csere elõtt a glFinish() meghívása.
-Lassabb, de a legtöbb esetben jobb kimenetet biztosít (alapértelmezett: kikapcsolva).
-.IPs (no)manyfmts
-Több szín formátum (RGB és BGR) támogatása (alapértelmezett: engedélyezve).
-OpenGL verzió >= 1.2 szükséges hozzá.
-.IPs slice-height=<0\-...>
-Az egy darabban a textúrára másolandó sorok száma (alapértelmezett: 0).
-0 a teljes kép.
-.br
-.I MEGJEGYZÉS:
-Ha YUV színteret használsz (lásd yuv alopció), különleges szabályok lépnek életbe:
-.RSss
-Ha a dekódoló slice renderelést használ (lásd \-noslices), ennek a beállításnak
-nincs hatása, a dekódoló által megadott slice méret lesz használva.
-.br
-Ha a dekódoló nem használ slice renderelést, az alapértelmezett 16.
-.RE
-.IPs (no)osd
-Engedélyezi vagy letiltja az OSD OpenGL-en keresztüli renderelésének
-támogatását (alapértelmezett: engedélyezett).
-Ez az opció teszteléshez van; az OSD letiltásához használd helyette a
-\-osdlevel 0 kapcsolót.
-.IPs (no)aspect
-Engedélyezi vagy letiltja a kép átméretezést és a pan-and-scan támogatást
-(alapértelmezett: engedélyezett).
-A kikapcsolása növeli a sebességet.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Az OpenGL videó kimeneti vezérlõ variánsa.
-Támogatja a maximális textúra méretnél nagyobb videókat, de hiányzik belõle
-a gl vezérlõ több fejlettebb funkciója és optimalizációja és valószínûleg
-nem lesz továbbfejlesztve.
-.PD 0
-.RSs
-.IPs (no)glfinish
-ugyan az, mint a gl-nél (alapértelmezett: engedélyezve)
-.IPs yuv=<n>
-Kiválasztja a YUV-ból RGB-be történõ konverzió típusát.
-Ha 0-tól különbözõ értékre van állítva, az OSD le lesz tiltva és a fényerõsség,
-a kontraszt és a gamma beállítások csak a globális X szerver beállításain
-keresztül érhetõek el.
-Ettõl eltekintve az értékeknek ugyan az a jelentésük, mint a \-vo gl esetén.
-.REss
-.
-.TP
-.B matrixview
-OpenGL alapú renderelõ Mátrix-szerû futó szöveg effektus létrehozásához.
-.PD 0
-.RSs
-.IPs cols=<n>
-A megjelenítendõ szöveg oszlopok száma.
-A nagyon alacsony értékek (< 16) valószínûleg nem lesznek jók a méretaránybeli
-korlátok miatt.
-A 16-tal nem osztható értékek is gondot okozhatnak.
-.IPs rows=<n>
-A megjelenítendõ szöveg sorok száma.
-A nagyon alacsony értékek (< 16) valószínûleg nem lesznek jók a méretaránybeli
-korlátok miatt.
-A 16-tal nem osztható értékek is gondot okozhatnak.
-.REss
-.
-.TP
-.B "null\ \ \ "
-Letiltja a videó kimenetet.
-Haszos sebességméréshez.
-.
-.TP
-.B "aa\ \ \ \ \ "
-ASCII art kimeneti videó vezérlõ, ami mûködik szöveges konzolon.
-Az elérhetõ alopciók listáját és azok leírását megkaphatod egy
-'mplayer \-vo aa:help' paranccsal.
-.br
-.I MEGJEGYZÉS:
-A vezérlõ nem kezeli jól a \-aspect opciót.
-.br
-.I TANÁCS:
-Valószínûleg meg kell adnod a \-monitorpixelaspect opciót.
-Próbáld ezt: 'mplayer \-vo aa \-monitorpixelaspect 0.5'.
-.
-.TP
-.B "caca\ \ \ "
-Színes ASCII art kimeneti videó vezérlõ, ami mûködik szöveges konzolon.
-.
-.TP
-.B "bl\ \ \ \ \ "
-Videó lejátszás a Blinkenlights UDP protokol segítségével.
-Ez a vezérlõ nagyon hardver specifikus.
-.PD 0
-.RSs
-.IPs <aleszköz>
-Explicit kiválasztja a használni kívánt Blinkenlights aleszköz vezérlõt.
-Valami olyasmi, mint pl.\& arcade:host=localhost:2323 vagy
-hdl:file=name1,file=name2.
-Meg kell adnod az aleszközt.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-GGI grafikus rendszer kimeneti videó vezérlõje
-.PD 0
-.RSs
-.IPs <vezérlõ>
-Explicit kiválasztja a használandó GGI vezérlõt.
-Cserélj ki minden, a vezérlõ karakterláncában elõforduló ','-t '.'-ra.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-Videó lejátszása a DirectFB függvénykönyvtár használatával.
-.PD 0
-.RSs
-.IPs (no)input
-DirectFB használata az MPlayer billentyûzet kódja helyett (alapértelmezett: engedélyezve).
-.IPs buffermode=single|double|triple
-A dupla és tripla bufferelés a legeredményesebb, ha el akarod kerülni a film
-megszakadás problémáját.
-A tripla bufferelés hatékonyabb, mint a dupla, mert nem blokkolja az MPlayert
-míg a függõleges visszatérésre vár.
-A szimpla bufferelés elkerülendõ (alapértelmezett: szimpla).
-.IPs fieldparity=top|bottom
-Az átlapolt képkockák kimeneti sorrendjének vezérlése (alapértelmezett: letiltva).
-Az érvényes értékek top = felsõ mezõ elõször, bottom = alsó mezõ elõször.
-Ennek az opciónak nincs hatása a progresszív filmanyagra, mint amilyen
-a legtöbb MPEG film.
-Engedélyezned kell ezt az opciót, ha szakadásos vagy életlenségi problémáid
-vannak átlapolt film nézése közben.
-.IPs layer=N
-Az N ID-jû réteget fogja használni lejátszáshoz (alapértelmezett: \-1 \- auto).
-.IPs dfbopts=<list>
-Paraméterlista megadása a DirectFB-nek.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Matrox G400/\:G450/\:G550 specifikus kimeneti videó vezérlõ, ami a
-DirectFB függvénykönyvtárat használja a speciális hardver képességek kihasználásához.
-Engedélyezi a CRTC2-t (második fej), az elsõ fejtõl független videó megjelenítést.
-.PD 0
-.RSs
-.IPs (no)input
-ugyan az, mint a directfb (alapértelmezett: letiltva)
-.IPs buffermode=single|double|triple
-ugyan az, mint a directfb (alapértelmezett: triple)
-.IPs fieldparity=top|bottom
-ugyan az, mint a directfb
-.IPs (no)bes
-Engedélyezi a Matrox BES (backend scaler) használatát (alapértelmezett: letiltva).
-Nagyon jó eredményeket ad a sebességre és a kimeneti minõségre vonatkozóan, mivel
-az interpolált képfeldolgozás a hardverben fog lezajlani.
-Csak az elsõdleges fejen mûködik.
-.IPs (no)spic
-Az OSD-t a Matrox sub picture layer segítségével jeleníti meg (alapértelmezett: engedélyezve).
-.IPs (no)crtc2
-Bekapcsolja a TV kimenetet a második fejen (alapértelmezett: engedélyezve).
-A kimenet minõsége bámulatos, mert egy teljesen átlapolt kép lesz megfelelõ szinkronnal
-a páros/\:páratlan mezõknél.
-.IPs tvnorm=pal|ntsc|auto
-Beállítja a Matrox kártya TV normáját úgy, hogy nem szükséges a
-/etc/\:directfbrc módosítása (alapértelmezett: kikapcsolva).
-Az érvényes normák pal = PAL, ntsc = NTSC.
-Az auto (automata beállítás PAL/\:NTSC használatával) speciális norma, mert a film
-framerátája alapján dönti el a használandó normát.
-.RE
-.PD 1
-.
-.TP
-.B mga (csak Linux)
-Matrox specifikus kimeneti videó vezérlõ, ami a YUV back end scaler
-használatát írja elõ Gxxx kártyákon a kernel modul segítségével.
-Ha Matrox kártyád van, ez a leggyorsabb lehetõség.
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit megadja a használandó Matrox eszköz nevét (alapértelmezett: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (csak Linux, X11)
-Az mga kimeneti videó vezérlõ X11-es ablakban futtatva.
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit megadja a használandó Matrox eszköz nevét (alapértelmezett: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (csak Linux) (lásd még \-dr)
-S3 Virge specifikus videó kimeneti vezérlõ.
-Ez a vezérlõ támogatja a kártya YUV konverzióját és méretezését, a dupla
-bufferelést és a direkt renderelést.
-Használd a \-vf yuy2 kapcsolót a hardveres gyorsítású YUY2 rendereléshez,
-ami sokkal gyorsabb mint az YV12 ezen a kártyán.
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit kiválasztja a használandó fbdev eszköz nevét (alapértelmezett: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B wii (csak Linux)
-Nintendo Wii/GameCube specifikus videó kimeneti vezérlõ.
-.
-.TP
-.B 3dfx (csak Linux)
-3dfx specifikus kimeneti videó vezérlõ, ami közvetlenül.
-használja a hardvert az X11 felett.
-Csak a 16 bpp támogatott.
-.
-.TP
-.B tdfxfb (csak Linux)
-Ez a vezérlõ a tdfxfb framebuffer vezérlõt használja a film YUV gyorsítással
-történõ lejátszásához 3dfx kártyákon.
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit megadja a használni kívánt fbdev eszköz nevét (alapértelmezett: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (csak Linux)
-3dfx specifikus kimeneti videó vezérlõ, amely a tdfx_vid
-kernel modullal mûködik együtt.
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit megadja a használni kívánt eszköz nevét (alapértelmezett: /dev/\:tdfx_vid).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (lásd még \-dxr2) (csak DXR2)
-Creative DXR2 specifikus kimeneti videó vezérlõ.
-.PD 0
-.RSs
-.IPs <vo_vezérlõ>
-Kimeneti videó alvezérlõt használ overlay-jel (x11, xv).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (csak DXR3)
-Sigma Designs em8300 MPEG dekódoló chip (Creative DXR3, Sigma Designs
-Hollywood Plus) specifikus kimeneti videó vezérlõ.
-Lásd még a lavc videó szûrõt.
-.PD 0
-.RSs
-.IPs overlay
-Aktiválja a overlay-t a TVOut helyett.
-.IPs prebuf
-Bekapcsolja az elõbufferelést.
-.IPs "sync\ "
-Bekapcsolja az új szinkronizáló-motort.
-.IPs norm=<norm>
-Megadja a TV normát.
-.RSss
-0: Nem változtatja meg az aktuális normát (alapértelmezett).
-.br
-1: Automatikus beállítás PAL/\:NTSC használatával.
-.br
-2: Automatikus beállítás PAL/\:PAL-60 használatával.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.RE
-.IPs <0\-3>
-Megadja a használni kívánt eszköz számát, ha egynél több em8300 kártyád van.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (csak IVTV)
-Conexant CX23415 (iCompression iTVC15) vagy Conexant CX23416 (iCompression
-iTVC16) MPEG dekódoló chipekhez (Hauppauge WinTV PVR-150/250/350/500)
-specifikus videó vezérlõ a TV kimenethez.
-Lásd még a lavc videó szûrõt.
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit kiválasztja a használni kívánt MPEG dekódoló eszköz nevét (alapértelmezett: /dev/video16).
-.IPs <kimenet>
-Explicit kiválasztja a TV kimenet videó jelhez használt kimenetét.
-.RE
-.PD 1
-.
-.TP
-.B v4l2 (Linux 2.6.22+ kernel kell hozzá)
-Videó kimeneti vezérlõ a V4L2-t ismerõ kártyákhoz beépített hardveres MPEG dekódolóval.
-Lásd még a lavc videó szûrõt.
-.PD 0
-.RSs
-.IPs <eszköz>
-Explicit kiválasztja a használni kívánt MPEG dekódoló eszköz nevét (alapértelmezett: /dev/video16).
-.IPs <kimenet>
-Explicit kiválasztja a használni kívánt TV kimenetet a videó jelnek.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (csak DVB)
-Kimeneti videó vezérlõ a DVB kártyákhoz, ami a kimenetet egy MPEG-PES fájlba
-írja, ha nincs DVB kártya telepítve.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Megadja a használandó eszköz számát, ha több, mint egy kimeneti DVB kártya van
-(csak V3 API, mint pl.\& az 1.x.y sorozatú vezérlõk).
-Ha nincs megadva, az MPlayer megkeresi az elsõ használható kártyát.
-.IPs <fájlnév>
-kimeneti fájl neve (alapértelmezett: ./grab.mpg).
-.RE
-.PD 1
-.
-.TP
-.B zr (lásd még \-zr* és \-zrhelp)
-Kimeneti videó vezérlõ számos MJPEG elmentõ/\:lejátszó kártyához.
-.
-.TP
-.B zr2 (lásd még a zrmjpeg videó szûrõt)
-Kimeneti videó vezérlõ számos MJPEG elmentõ/\:lejátszó kártyához,
-második generáció.
-.PD 0
-.RSs
-.IPs dev=<eszköz>
-Megadja a használni kívánt videó eszközt.
-.IPs norm=<PAL|NTSC|SECAM|auto>
-Megadja a használni kívánt videó normát (alapértelmezett: auto).
-.IPs (no)prebuf
-(De)aktiválja az elõpufferelést, még nem támogatott.
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-Minden egyes képkocka MD5 öszegét kiszámítja és kiírja egy fájlba.
-Támogatja az RGB24 és a YV12 színtereket.
-Hasznos hibakereséskor.
-.PD 0
-.RSs
-.IPs outfile=<érték>
-Megadja a kimeneti fájl nevét (alapértelmezett: ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-A videó folyamot tömörítetlen YUV 4:2:0-ás képek sorozatává alakítja át
-és eltárolja egy fájlban (alapértelmezett: ./stream.yuv).
-A formátum ugyan az, mint amit az mjpegtools alkalmaz, így ez akkor
-hasznos, ha a videót az mjpegtools-szal akarod feldolgozni.
-Az YV12 formátumot támogatja.
-Ha a forrás fájlodnak eltérõ formátuma van és átlapolt, akkor használd
-a -vf scale=::1 opciót, hogy kényszerítsd az átlapolt módú konvertálást.
-Kombinálhatod a \-fixed\-vo opcióval ugyanolyan képméretû és fps
-értékû fájlok összefûzéséhez.
-.PD 0
-.RSs
-.IPs interlaced
-A kimenetet átlapolt képkockákból írja meg, a felsõ mezõ lesz elõbbre.
-.IPs interlaced_bf
-A kimenetet átlapolt képkockákból írja meg, az alsó mezõ lesz elõbbre.
-.IPs file=<fájlnév>
-A kimenetet a <fájlnév> fájlba írja az alapértelmezett stream.yuv helyett.
-.REss
-.PD 1
-.RS
-.sp 1
-.I MEGJEGYZÉS:
-Ha nem adsz meg semmilyen kapcsolót, a kimenet progresszív lesz
-(pl.\& nem átlapolt).
-.RE
-.
-.TP
-.B "gif89a\ "
-Minden egyes képkockát egy egyszerû animált GIF fájlba ír az aktuális
-könyvtárban. Csak az RGB formátumot támogatja 24 bpp-vel és a kimenet 256
-színûre lesz konvertálva.
-.PD 0
-.RSs
-.IPs <fps>
-Lebegõpontos érték a frameráta megadásához (alapértelmezett: 5.0).
-.IPs <fájlnév>
-Megadja a kimeneti fájl nevét (alapértelmezett: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I MEGJEGYZÉS:
-A framerátát a fájlnév elõtt kell megadnod, különben a fájlnév része lesz.
-.sp 1
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-Minden egyes képkockát egy JPEG fájlba ír az aktuális könyvtárban.
-Minden fájl neve a képkocka sorszáma lesz vezetõ nullákkal.
-.PD 0
-.RSs
-.IPs [no]progressive
-Szabványos vagy progresszív JPEG elõírása (alapértelmezett: noprogressive).
-.IPs [no]baseline
-Baseline használata (alapértelmezett: baseline).
-.IPs optimize=<0\-100>
-optimalizációs faktor (alapértelmezett: 100)
-.IPs smooth=<0\-100>
-simítási faktor (alapértelmezett: 0)
-.IPs quality=<0\-100>
-minõség faktor (alapértelmezett: 75)
-.IPs outdir=<dirnév>
-A mentési könyvtár megadása (alapértelmezett: ./).
-.IPs subdirs=<prefix>
-A megadott prefix-szel kezdõdõ, számozott alkönyvtárak létrehozása
-a fájlok mentéséhez az aktuális könyvtár helyett.
-.IPs "maxfiles=<érték> (csak subdirs-szel)"
-Az egy alkönyvtárba menthetõ fájlok maximális száma.
-Nagyobb vagy egyenlõ mint 1 (alapértelmezett: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Minden egyes képkockát egy PNM fájlba ír az aktuális könyvtárban.
-Minden fájl neve a képkocka sorszáma lesz vezetõ nullákkal.
-Támogatja a PPM, PGM és PGMYUV fájlokat mind nyers mind ASCII módban.
-Lásd még pnm(5), ppm(5) és pgm(5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-PPM fájl írása (alapértelmezett).
-.IPs "pgm\ \ "
-PGM fájl írása.
-.IPs pgmyuv
-PGMYUV fájl írása.
-A PGMYUV olyan, mint a PGM, de tartalmazza az U és V plane-t is, a kép aljához fûzve.
-.IPs "raw\ \ "
-PNM fájl írása nyers módban (alapértelmezett).
-.IPs ascii
-PNM fájl írása ASCII módban.
-.IPs outdir=<dirnév>
-Megadja a PNM fájlok mentési könyvtárát (alapértelmezett: ./).
-.IPs subdirs=<prefix>
-A megadott prefix-szel kezdõdõ, számozott alkönyvtárak létrehozása
-a fájlok mentéséhez az aktuális könyvtár helyett.
-.IPs "maxfiles=<érték> (csak subdirs-szel)"
-Az egy alkönyvtárba menthetõ fájlok maximális száma.
-Nagyobb vagy egyenlõ mint 1 (alapértelmezett: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Minden egyes képkockát PNG fájlba ír az aktuális könyvtárban.
-Minden fájl neve a képkocka sorszáma lesz vezetõ nullákkal.
-24bpp-s RGB és BGR formátumokat támogat.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Megadja a tömörítési szintet.
-0-val nincs tömörítés, 9 a maximális tömörítés.
-.IPs outdir=<könyvtárnév>
-Megadja a könyvtárat, ahova a PNG fájlokat menteni kell (alapértelmezett: ./).
-.IPs alpha (alapértelmezett: noalpha)
-Alfa csatornás PNG fájlok létrehozása.
-Ne feledd, hogy az MPlayer általában nem támogatja az alfát, ezért ez csak
-néhány ritka esetben hasznos.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-Minden egyes képkockát Targa fájlba ír az aktuális könyvtárban.
-Minden fájl neve a képkocka sorszáma lesz vezetõ nullákkal.
-Ezen kimeneti videó vezérlõ célja, hogy legyen egy egyszerû, veszteségmentes
-kép író, mely nem használ külsõ függvénykönyvtárat.
-Támogatja a BGR[A] szín formátumot, 15, 24 és 32 bpp-vel.
-Megadhatsz különleges videó formátumot is a formátum videó szûrõvel.
-.sp 1
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "DEKÓDOLÓ/SZÛRÕ OPCIÓK"
-.
-.TP
-.B \-ac <[\-|+]codec1,[\-|+]codec2,...[,]>
-Használandó audió codec-ek priorításos listája, a codecs.conf-ban lévõ neveik
-alapján.
-A név elé írt '\-' jel kikapcsolja az adott codec használatát.
-A név elé írt '+' jel kényszeríti a használatát, ez valószínûleg összeomlást okoz!
-Ha a lista végén van egy ',', az MPlayer próbálkozik a listában nem
-szereplõ codec-okkal is.
-.br
-.I MEGJEGYZÉS:
-Lásd a \-ac help kimenetét az elérhetõ összes codec listájához.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-l3codeca.acm MP3 codec kényszerítése.
-.IPs "\-ac mad,"
-Elsõsorban libmad, aztán mások használata.
-.IPs "\-ac hwac3,a52,"
-Elõször hardveres AC-3 áteresztés, majd szoftveres AC-3 codec, végül egyéb használata.
-.IPs "\-ac hwdts,"
-Hardveres DTS áteresztés, majd visszalépés másra.
-.IPs "\-ac \-ffmp3,"
-Az FFmpeg MP3 dekóderének letiltása.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(szûrõk)> (also see \-af)
-Audió szûrõ opcióinak haladó szintû megadása:
-.RSs
-.IPs force=<0\-7>
-Az audió szûrõ beillesztésének módját írja elõ a következõképpen:
-.RSss
-0: Teljesen automatikus szûrõ beillesztés (jelenleg azonos az 1-gyel).
-.br
-1: Pontosságra optimalizálva (alapértelmezett).
-.br
-2: Sebességre optimalizálva.
-.I Figyelmeztetés:
-Néhány képesség hang nélkül hibázhat az audió szûrõkben,
-amitõl a hangminõség romolhat.
-.br
-3: Nincs automatikus beillesztés és nincs optimalizáció.
-.I Figyelmeztetés:
-Ezzel a beállítással összeomolhat az MPlayer.
-.br
-4: Automatikus beillesztés a fenti 0-hoz hasonlóan, de
-lebegõpontos feldolgozást használ ha lehetséges.
-.br
-5: Automatikus beillesztés a fenti 1-hez hasonlóan, de
-lebegõpontos feldolgozást használ ha lehetséges.
-.br
-6: Automatikus beillesztés a fenti 2-höz hasonlóan, de
-lebegõpontos feldolgozást használ ha lehetséges.
-.br
-7: Nincs automatikus beillesztés a fenti 2-höz hasonlóan és
-lebegõpontos feldolgozást használ ha lehetséges.
-.REss
-.IPs list=<filters>
-Ugyan az, mint a \-af.
-.RE
-.
-.TP
-.B \-afm <vezérlõ1,vezérlõ2,...>
-Megadja a használandó audió codec családok priorításos listáját, a codecs.conf
-fájlban lévõ neveiknek megfelelõen.
-Ha az elõírt codec családok nem mûködnek, visszatér az alapértelmezett codec-re.
-.br
-.I MEGJEGYZÉS:
-Lásd a \-afm help -et az elérhetõ codec családok listájához.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-Elõször az FFmpeg libavcodec codec-jeit használja.
-.IPs "\-afm acm,dshow"
-A Win32 codec-eket próbálja elõször.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <ráta> (lásd még \-zoom)
-Felülbírálja a film képarányát, abban az esetben, ha az arány
-információ hibás vagy hiányzik a lejátszandó fájlban.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-\-aspect 4:3 vagy \-aspect 1.3333
-.br
-\-aspect 16:9 vagy \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Kikapcsolja az automatikus film képarány kompenzációt.
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-Beállítja az elsõ mezõt az átlapolt tartalomnál.
-Hasznos a framerátát duplázó deinterlacer-eknél: \-vf tfields=1,
-\-vf yadif=1, \-vo vdpau:deint és \-vo xvmc:bobdeint.
-.PD 0
-.RSs
-.IPs \-1
-automatikus (alapértelmezett): Ha a dekódoló nem küldi ki a megfelelõ információkat,
-visszalép 0-ra (felsõ mezõ elõször).
-.IPs 0
-felsõ mezõ elõször
-.IPs 1
-alsó mezõ elõször
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-Tükrözi a képet vízszintesen.
-.
-.TP
-.B \-lavdopts <opció1:opció2:...> (DEBUG KÓD)
-Megadja a libavcodec dekódolási paramétereit.
-Több opciót kettõsponttal kell elválasztani.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-Elérhetõ opciók:
-.RE
-.RSs
-.IPs bitexact
-Csak bit-pontosságú algoritmusokat használ a dekódolás minden lépésében (codec
-teszteléshez).
-.IPs bug=<érték>
-A kódoló hibáinak kézi megkerülése.
-.RSss
-0: semmi
-.br
-1: hibák automatikus észlelése (alapértelmezett)
-.br
-2 (msmpeg4v3): néhány régi lavc-vel generált msmpeg4v3 fájl (nincs automatikus detektálás)
-.br
-4 (mpeg4): Xvid átlapolási hiba (automatikusan megtalálva, ha a fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (automatikusan megtalálva ha a fourcc==UMP4)
-.br
-16 (mpeg4): igazítás hiba (automatikusan megtalálva)
-.br
-32 (mpeg4): illegális vlc hiba (automatikusan megtalálva fourcc alapján)
-.br
-64 (mpeg4): Xvid és DivX qpel hiba (automatikusan megtalálva fourcc/\:version alapján)
-.br
-128 (mpeg4): régi szabványos qpel (automatikusan megtalálva fourcc/\:version alapján)
-.br
-256 (mpeg4): másik qpel hiba (automatikusan megtalálva fourcc/\:version alapján)
-.br
-512 (mpeg4): direct-qpel-blocksize hiba (automatikusan megtalálva fourcc/\:version alapján)
-.br
-1024 (mpeg4): él igazítási hiba (automatikusan megtalálva fourcc/\:version alapján)
-.REss
-.IPs debug=<érték>
-Debug információk kiírása.
-.RSss
-.br
-0: kikapcsolva
-.br
-1: kép infó
-.br
-2: ráta vezérlés
-.br
-4: bitstream
-.br
-8: makroblokk (MB) típus
-.br
-16: blokkonkénti kvantálási paraméter (QP)
-.br
-32: mozgó vektor
-.br
-0x0040: mozgó vektor vizualizáció (használd a \-noslices kapcsolót)
-.br
-0x0080: makroblokk (MB) kihagyás
-.br
-0x0100: startcode
-.br
-0x0200: PTS
-.br
-0x0400: hibatûrés
-.br
-0x0800: memória menedzsment vezérléso mûveletek (H.264)
-.br
-0x1000: hibák
-.br
-0x2000: Kvantálási paraméter vizualizációja (QP), a kisebb QP zöldebben lesz rajzolva.
-.br
-0x4000: Blokk típusok vizualizálása.
-.REss
-.IPs ec=<érték>
-Hiba elrejtési stratégia beállítása.
-.RSss
-1: Erõs deblock szûrõ használata a sérült MB-khez.
-.br
-2: iteratív mozgás vektor (MV) keresés (lassú)
-.br
-3: mind (alapértelmezett)
-.REss
-.IPs er=<érték>
-Hibatûrési stratégia beállítása.
-.RSss
-.br
-0: kikapcsolva
-.br
-1: óvatos (Mûködnie kell hibás kódolókkal.)
-.br
-2: normális (alapértelmezett) (A szolgálatkész kódolókkal mûködik.)
-.br
-3: agresszív (Több ellenõrzés, de akár helyes bitfolyamban is problémát okozhat.)
-.br
-4: nagyon agresszív
-.REss
-.IPs "fast (csak MPEG-2, MPEG-4 és H.264)"
-Optimalizálás engedélyezése, ami nem felel meg a specifikációnak és esetlegesen
-hibát okozhat, mint például az egyszerûbb dekvantizáció, egyszerûbb mozgás
-kompenzáció, az alapértelmezett kvantálási mátrix feltételezett használata,
-YUV 4:2:0 feltételezése és még néhány ellenõrzés kihagyása a hibás bitfolyamok
-megtalálására.
-.IPs "gray\ "
-csak fekete-fehér dekódolás (egy kicsit gyorsabb, mint színekkel)
-.IPs "idct=<0\-99> (lásd \-lavcopts)"
-A legjobb dekódolási minõségért használd ugyan azt az IDCT algoritmust a
-dekódoláshoz és a kódoláshoz. Bár az alaposság ezzel kicsit romolhat.
-.IPs lowres=<szám>[,<w>]
-Dekódolás kisebb felbontáson.
-Az alacsony felbontásos dekódolást nem támogatja minden codec és gyakran
-csúnya mellékhatásai vannak.
-Ez nem hiba, hanem a nem teljes felbontású dekódolás mellékhatásai.
-.RSss
-.br
-0: kikapcsolva
-.br
-1: 1/2 felbontás
-.br
-2: 1/4 felbontás
-.br
-3: 1/8 felbontás
-.REss
-.RS
-Ha a <w> is meg van adva, a lowres dekódolás csak akkor lesz használva, ha a
-videó szélessége nagyobb vagy egyenlõ mint <w>.
-.RE
-.B o=<kulcs>=<érték>[,<kulcs>=<érték>[,...]]
-AVOptions átadása a libavcodec dekódolójának.
-Megjegyezzük, hogy az o= kapcsolót feleslegessé tevõ, az összes ismeretlen
-opciót az AVOption rendszernek átadó javítást szívesen fogadunk.
-Az AVOptions teljes listája megtalálható az FFmpeg kézikönyvében.
-Figyelj rá, hogy néhány opció ütközhet a MEncoder kapcsolóival.
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.PD 0
-.IPs o=debug=pict
-.PD 1
-.RE
-.IPs "sb=<szám> (csak MPEG-2)"
-Kihagyja a megadott számú makroblokk sort a tetején.
-.IPs "st=<szám> (csak MPEG-2)"
-Kihagyja a megadott számú makroblokk sort az alján.
-.IPs "skiploopfilter=<kihagyási érték> (csak H.264)"
-Kihagyja a loop szûrõt (deblocking szûrõ) a H.264 dekódolás közben.
-Mivel a szûrt kocka referenciaként lesz felhasználva a függõ
-kockák dekódolásánál, ennek rosszabb hatása van a minõségre,
-mint a deblocking elhagyásának pl.\& MPEG-2-es videónál.
-De legalább a nagy bitrátájú HDTV-nél jelentõs gyorsulást
-biztosít látható minõségvesztés nélkül.
-.sp 1
-A <kihagyási érték> a következõk egyike lehet:
-.RSss
-.br
-none: Soha ne hagyja ki.
-.br
-default: Hagyja ki, ha a feldolgozási lépés haszontalan (pl.\& 0 méretû csomag AVI-ban).
-.br
-nonref: Hagyja ki a nem referencia kockákat (pl.\& nem lesz felhasználva
-másik kocka dekódolásánál, a hiba nem tud "tovább épülni").
-.br
-bidir: Hagyja ki a B-kockákat.
-.br
-nonkey: Hagyjon ki minden kockát, kivéve a kulcs kockákat.
-.br
-all: Hagyjon ki minden kockát.
-.REss
-.IPs "skipidct=<kihagyási érték> (csak MPEG-1/2)"
-Kihagyja az IDCT lépést.
-Ez nagy arányú minõségromlást okoz a legtöbb esetben
-(lásd a skiploopfilter-t a használható kihagyási értékekért).
-.IPs skipframe=<kihagyási érték>
-Teljesen kihagyja a kocka dekódolását.
-Nagy sebességnövekedés, de ugráló mozgás és rossz mellékhatások
-(lásd a skiploopfilter-t a használható kihagyási értékekért).
-.IPs "threads=<1\-8> (csak MPEG-1/2 és H.264)"
-dekódoláshoz használandó szálak száma (alapértelmezett: 1)
-.IPs vismv=<érték>
-Mozgás vektorok vizualizációja.
-.RSss
-.br
-0: kikapcsolva
-.br
-1: A P-kockák elõre megjósolt MV-jeinek vizualizálása.
-.br
-2: A B-kockák elõre megjósolt MV-jeinek vizualizálása.
-.br
-4: A B-kockák visszafelé megjósolt MV-jeinek vizualizálása.
-.REss
-.IPs vstats
-Kiír némi statisztikát és elmenti a ./vstats_*.log fájlba.
-.RE
-.
-.TP
-.B \-noslices
-Letiltja a videó 16 pixel magasságú darabokban/\:sávokban történõ megjelenítését,
-ehelyett az egész képkockát egyszerre rajzolja ki.
-Gyorsabb vagy lassabb is lehet a videó kártyádtól és az elérhetõ cache-tõl függõen.
-Csak libmpeg2 és libavcodec codec-ekre van hatása.
-.
-.TP
-.B \-nosound
-Nem játszik le/\:kódol hangot.
-Hasznos sebesség méréshez.
-.
-.TP
-.B \-novideo
-Nem játszik le/\:kódol videót.
-Sok esetben ez nem mûködik, használd a \-vc null \-vo null opciókat helyette.
-.
-.TP
-.B \-pp <minõség> (lásd még \-vf pp)
-A DLL utófeldolgozó szintjét állítja be.
-Ez az opció nem használható a \-vf pp kapcsolóval.
-Csak a Win32 DirectShow DLL-ekkel mûködik belsõ utófeldolgozó rutinokkal.
-A \-pp értékek helyes tartománya codec-enként változik, legtöbbször
-0\-6, ahol 0=kikapcsolva, 6=leglassabb/\:legjobb.
-.
-.TP
-.B \-pphelp (lásd még \-vf pp)
-Egy összefoglalást mutat a elérhetõ utófeldolgozó szûrõkrõl és használatukról.
-.
-.TP
-.B \-ssf <mód>
-A szoftveres méretezõ paramétereit adja meg.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-Gauss elkenõ szûrõ (luma)
-.IPs cgb=<0\-100>
-Gauss elkenõ szûrõ (chroma)
-.IPs ls=<\-100\-100>
-Élesítõ szûrõ (luma)
-.IPs cs=<\-100\-100>
-Élesítõ szûrõ (chroma)
-.IPs chs=<h>
-chroma vízszintes eltolás
-.IPs cvs=<v>
-chroma függõleges eltolás
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <mód>
-MP2/\:MP3 sztereó kimenet típusának kiválasztása.
-.PD 0
-.RSs
-.IPs 0
-sztereó
-.IPs 1
-bal csatorna
-.IPs 2
-jobb csatorna
-.RE
-.PD 1
-.
-.TP
-.B \-sws <szoftveres méretezõ típusa> (lásd még \-vf scale és \-zoom)
-Megadja a használandó szoftveres méretezõ algoritmust a \-zoom kapcsolóhoz.
-Ez érinti a videó kimeneti vezérlõket, amelyekben nincs hardveres gyorsítás, pl.\& x11.
-.sp 1
-A használható típusok:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-gyors bilineáris
-.IPs 1
-bilineáris
-.IPs 2
-bicubic (jó minõség) (alapértelmezett)
-.IPs 3
-kísérleti
-.IPs 4
-legközelebbi szomszéd (rossz minõség)
-.IPs 5
-terület
-.IPs 6
-luma bicubic / chroma bilineáris
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-természetes bicubic spline
-.RE
-.PD 1
-.sp 1
-.RS
-.I MEGJEGYZÉS:
-Néhány \-sws opció tuningolható.
-Lásd a scale videó szûrõ leírását a további információkért.
-.RE
-.
-.TP
-.B \-vc <[\-|+]codec1,[\-|+]codec2,...[,]>
-A használandó videó codec-ek priorítási listáját adja meg, a codecs.conf-ban
-szereplõ nevüknek megfelelõen.
-A név elé írt '\-' jel kikapcsolja az adott codec használatát.
-A név elé írt '+' jel kényszeríti a használatát, ez valószínûleg összeomlást okoz!
-Ha a lista végén egy ',' van, az MPlayer visszalép a listában nem
-szereplõ codec-ekre sikertelenség esetén.
-.br
-.I MEGJEGYZÉS:
-Lásd a \-vc help -et az elérhetõ codec-ek listájáért.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Win32/\:VfW DivX codec kényszerítése, nincs visszalépés.
-.IPs "\-vc \-divxds,\-divx,"
-Kihagyja a Win32 DivX codec-eket.
-.IPs "\-vc ffmpeg12,mpeg12,"
-A libavcodec's MPEG-1/2 codec-et próbálja elõször, majd a libmpeg2-t, majd mást.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <vezérlõ1,vezérlõ2,...>
-A használandó codec családok priorítási listáját adja meg, a codecs.conf-ban
-szereplõ nevüknek megfelelõen.
-Visszatér az alapértelmezett codec-re, ha egyik megadott codec család sem mûködik.
-.br
-.I MEGJEGYZÉS:
-Lásd a \-vfm help kapcsolót az elérhetõ codec családok listájához.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Elõször a libavcodec-et, majd a Directshow-t, majd a VfW codec-eket próbálja és
-ha nem mûködnek, áttér másikra.
-.IPs "\-vfm xanim"
-Az XAnim codec-et próbálja elõször.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (lásd még \-zoom) (csak MPlayer)
-Átméretezi a képet <x> szélességûre (ha a szoftveres/\:hardveres méretezés elérhetõ).
-Letiltja a képarány számításokat.
-.
-.TP
-.B \-xvidopts <opció1:opció2:...>
-További paraméterek megadását biztosítja Xvid-del történõ dekódolásnál.
-.br
-.I MEGJEGYZÉS:
-Mivel a libavcodec gyorsabb, mint az Xvid, valószínûleg jobb a libavcodec
-utófeldolgozó szûrõjét (\-vf pp) és dekóderét (\-vfm ffmpeg) használni.
-.sp 1
-Xvid belsõ utófeldolgozó szûrõi:
-.PD 0
-.RSs
-.IPs "deblock-chroma (lásd még \-vf pp)"
-chroma deblock szûrõ
-.IPs "deblock-luma (lásd még \-vf pp)"
-luma deblock szûrõ
-.IPs "dering-luma (lásd még \-vf pp)"
-luma deringing szûrõ
-.IPs "dering-chroma (lásd még \-vf pp)"
-chroma deringing szûrõ
-.IPs "filmeffect (lásd még \-vf noise)"
-Mesterséges film javítás.
-Javíthatja a látható minõséget, de csökkenti az igazit.
-.RE
-.sp 1
-.RS
-renderelõ metódusok:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-Bekapcsolja a 2-es direkt renderelést.
-.IPs nodr2
-Kikapcsolja a 2-es módú direkt renderelést.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <érték> (lásd még \-zoom)
-.PD 0
-.RSs
-.IPs érték<=8
-Kép átméretezése <érték> faktorral.
-.IPs érték>8
-Szélesség beállítása az értékre és a magasság kiszámítása a helyes képarány megtartásához.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (lásd még \-zoom) (csak MPlayer)
-Kép átméretezése <y> magasságúra (ha a szoftveres/\:hardveres méretezés használható).
-Kikapcsolja a képarány számításokat.
-.
-.TP
-.B "\-zoom\ \ "
-A szoftveres méretezést engedélyezi, ha használható.
-Ez olyan kimeneti vezérlõkkel (mint pl.\& x11, fbdev) is engedélyezi a méretezést,
-melyekben nincs támogatás a hardveres méretezéshez, vagy az MPlayer letiltja a
-méretezést teljesítménybeli indokok miatt.
-.
-.
-.
-.SH "AUDIÓ SZÛRÕK"
-Az audió szûrõk az audió folyam tulajdonságait engedik megváltoztatni.
-A szintaxis:
-.
-.TP
-.B \-af <szûrõ1[=paraméter1:paraméter2:...],szûrõ2,...>
-Audió szûrõk listájának beállítása.
-.PP
-.I MEGJEGYZÉS:
-A használható audió szûrõk teljes listájához lásd a \-af help kimenetét.
-.sp 1
-Az audió szûrõk listákban kezelhetõek.
-A szûrõ lista pár paranccsal kezelhet.
-.
-.TP
-.B \-af\-add <szûrõ1[,szûrõ2,...]>
-A paraméterként megadott szûrõket a szûrõ listához adja.
-.
-.TP
-.B \-af\-pre <szûrõ1[,szûrõ2,...]>
-A paraméterként megadott szûrõket a szûrõ lista elejéhez.
-.
-.TP
-.B \-af\-del <index1[,index2,...]>
-A megadott indexû szûrõket törli.
-Az indexek 0-val kezdõdnek, a negatíve számok a lista végét jelölik
-(\-1 az utolsó).
-.
-.TP
-.B \-af\-clr
-Teljesen kiüríti a szûrõ listát.
-.PP
-A rendelkezésre álló szûrõk:
-.
-.TP
-.B resample[=frekvencia[:sloppy[:típus]]]
-Az audió folyam mintavételi frekvenciájának megváltoztatása.
-Csak akkor használható, ha fix frekvenciás hangkártyád van vagy
-megragadtál egy régi hangkártyánál, ami max. 44,1 kHz-et tud.
-Ez a szûrõ automatikusan engedélyezve lesz, ha szükséges.
-Bemenetként csak 16-bites egész és lebegõpontos számokat támogat native-endian
-formátumban.
-.br
-.I MEGJEGYZÉS:
-A MEncodernél a \-srate <frekvencia> kapcsolót is használnod kell.
-.PD 0
-.RSs
-.IPs <frekvencia>
-kimeneti frekvencia Hz-ben.
-A paraméter 8000 és 192000 közötti érték lehet.
-Ha a bemeneti és a kimeneti mintavételi frekvencia ugyan az vagy ha
-ez a parameter el van hagyva a szûrõ automatikusan törlõdik.
-Egy magas mintavételi frekvencia általában növeli az audió minõségét,
-különösen ha más szûrõkkel együtt alkalmazod.
-.IPs <sloppy>
-Engedélyezi (1) vagy letiltja (0) a kimenet frekvenciájának kisarányú eltérését
-az <frekvencia>-val megadott értéktõl (alapértelmezett: 1).
-Akkor használható, ha az indulás vagy a lejátszás nagyon lassú.
-.IPs <típus>
-Kiválasztja a használandó resampling metódust.
-.RSss
-0: lineáris interpoláció (gyors, rossz minõség különösen frekvencia növelésnél)
-.br
-1: többfázisú filterbank és egész feldolgozás
-.br
-2: többfázisú filterbank és lebegõpontos feldolgozás (lassú, legjobb minõség)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-beállítja a resample szûrõ kimeneti frekvenciáját 44100Hz-re, egzakt
-kimeneti frekvencia megadással és lineáris interpolációval.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=frekvencia[:hossz[:linear[:számláló[:levágás]]]]]
-Megváltoztatja az audió folyam mintavételi frekvenciáját a <frekvencia> egészre, Hz-ben.
-Csak a 16-bites native-endian formátumot támogatja.
-.br
-.I MEGJEGYZÉS:
-A MEncodermél használnod kell a \-srate <frekvencia> kapcsolót is.
-.PD 0
-.RSs
-.IPs <frekvencia>
-a kimeneti minta frekvencia
-.IPs <hossz>
-a szûrõ hossza az alsó mintavételi ráta figyelembe vételével (alapértelmezett: 16)
-.IPs <linear>
-ha 1, akkor a szûrõ lineárisan interpolál a többfázisú bejegyzések között
-.IPs <számláló>
-A többfázisú bejegyzések log2 értéke
-(..., 10->1024, 11->2048, 12->4096, ...)
-(alapértelmezett: 10->1024)
-.IPs <levágás>
-levágási frekvencia (0.0\-1.0), alapértelmezésként a szûrõ hossz alapján állítódik be
-.RE
-.PD 1
-.
-.TP
-.B lavcac3enc[=tospdif[:bitráta[:minchn]]]
-Több csatornás audiót kódol AC-3-ba futásidõben a libavcodec-kel.
-Támogatja a 16 bites natív-endian bemeneti formátumot, maximum 6 csatornával.
-Az eredmény big-endian, ha nyers AC-3 folyam a kimenet, natív-endian,
-ha S/PDIF-re megy.
-A szûrõ kimeneti mintavételi rátája ugyan az, mint a bemeneté.
-Ha a bemenet mintavételi rátája 48kHz, 44.1kHz vagy 32kHz, ez szûrõ közvetlenül
-azt használja.
-Máskülönben a resampling szûrõ automatikusan lefut ezen szûrõ elõtt, hogy a
-bemenet és a kimenet mintavételi rátája is 48kHz legyen.
-Meg kell adnod a '\-channels N' kapcsolót, hogy a dekódoló az audiót N csatornásra
-alakítsa, majd a szûrõ az N csatornát elkódolja AC-3-ba.
-.br
-.PD 0
-.RSs
-.IPs <tospdif>
-Nyers AC-3 folyamot ad, ha ez nulla vagy nincs beállítva,
-a kimenet S/PDIF-en lesz áteresztve, ha a <tospdif> nem nulla.
-.IPs <bitráta>
-A kódolt AC-3 folyam bitrátája.
-Állítsd be 384-re vagy 384000-re a 384kbit-hez.
-Érvényes értékek: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256,
- 320, 384, 448, 512, 576, 640
-Az alapértelmezett bitráta a bemeneti csatornák számától függ:
-1ch: 96, 2ch: 192, 3ch: 224, 4ch: 384, 5ch: 448, 6ch: 448
-.IPs <minchn>
-Ha a bemeneti csatornaszám kisebb, mint a <minchn>, a szûrõ kiiktatja
-magát (alapértelmezett: 5).
-.RE
-.PD 1
-.
-.TP
-.B sweep[=sebesség]
-Sine sweep-et csinál.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-Sine függvény deltája, használj kicsi értékeket ahhoz, hogy meghalld a sweep-et.
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=frek:csillapítás]
-Eltávolít egy szinuszgörbét a megadott frekvencián.
-Hasznos az 50/60 Hz-es zaj eltávolításához gyenge minõségû audió berendezésnél.
-Valószínûleg csak mono bemeneten mûködik.
-.PD 0
-.RSs
-.IPs <frekv>
-A szinuszgörbe frekvenciája, amit el kell távolítani (Hz-ben) (alapértelmezett: 50)
-.IPs <csillapítás>
-Az alkalmazhatóságot szabályozza (a nagyobb érték hatására a szûrõ az amplitudó és
-fázisváltásokra gyorsabban reagál, kisebb értéknél az átállás lassabb lesz)
-(alapértelmeztett: 0.0001).
-Az ésszerû értékek 0.001 körül vannak.
-.RE
-.PD 1
-.
-.TP
-.B bs2b[=opció1:opció2:...]
-Bauer térhatásúból két fülesbe történõ transzformálás libbs2b-vel.
-Javítja a fülhallgatón történõ hallgatást úgy, hogy a hangot hasonlóvá
-teszi, mintha hangszóróból jönne, lehetõvé téve hogy mindkét fül
-hallja mindkét csatornát figyelembe véve a távolság differenciát és
-a fej árnyékoló hatását.
-Csak 2 csatornás audió esetén használható.
-.PD 0
-.RSs
-.IPs fcut=<300\-1000>
-Megadja a vágási frekvenciát Hz-ben.
-.IPs feed=<10\-150>
-Megadja az erõsítés mértékét az alacsony frekvenciákhoz 0.1*dB-ben.
-.IPs profile=<érték>
-Több profil is elérhetõ a kényelmesebb használatért:
-.PD 0
-.RSs
-.IPs default
-ez lesz használva, ha nincs más megadva (fcut=700, feed=45);
-.IPs "cmoy\ "
-Chu Moy körkörös implementáció (fcut=700, feed=60);
-.IPs jmeier
-Jan Meier körkörös implementáció (fcut=650, feed=95).
-.RE
-.RE
-.sp 1
-.RS
-Ha az fcut vagy a feed opció meg van adva egy profil mellett, a profilon
-felül azok az értékek lesznek felhasználva.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=flag]
-Head-related transfer function: Többcsatornás audiót konvertál
-2 csatornássá fülhallgatós kimenethez, megtartva a hang térbeliségét.
-.sp 1
-.PD 0
-.RS
-.IPs "Flag Jelentés"
-.IPs "m a hátsó csatorna mátrix dekódolása"
-.IPs "s 2-csatornás mátrix dekódolás"
-.IPs "0 nincs mátrix dekódolás (alapértelmezett)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-10 oktávos band grafikus erõsítõ, 10 IIR band pass szûrõkkel megvalósítva.
-Ez azt jelenti, hogy a lejátszott audió típusától függetlenül mûködik.
-A 10 sáv középfrekvenciái:
-.sp 1
-.PD 0
-.RS
-.IPs "No. frekvencia"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-Ha a lejátszott hang mintavételi rátája kisebb, mint a frekvenciasáv középfrekvenciája,
-akkor a sáv elnémul.
-Ennek a szûrõnek egy ismert hibája, hogy a legfelsõ sáv karakterisztikája
-nem teljesen szimmetrikus ha a mintavételi ráta közel esik a
-sáv középfrekvenciájához.
-Ez a probléma megkerülhetõ a hang resample szûrõvel történõ felmintázásával
-(upsampling), még mielõtt elérné ezt a szûrõt.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-lebegõpontos számok, melyek az egyes frekvenciasávok dB-ben mért növekményét
-jelképezik (\-12\-12)
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-Erõsíti a hangot a felsõ és alsó frekvenciatartományokban,
-míg majdnem teljesen elnémítja õket 1 kHz körül.
-.RE
-.PD 1
-.
-.TP
-.B channels=nch[:nr:honnan1:hova1:honnan2:hova2:honnan3:hova3:...]
-Audió csatornák hozzáadásához, elvételéhez, átirányításához és másolásához
-használható. Ha csak az <nch> van megadva, az alapértelmezett irányítás lép
-érvénybe, mely a következõképpen mûködik: ha a kimeneti csatornák száma nagyobb,
-mint a bemenetieké, üres csatornák lesznek beillesztve (kivétel a mono-ból
-sztereóba mixelés, amikor a mono csatorna ismétlõdik mindkét kimeneti
-csatornán).
-Ha a kimeneti csatornák száma kevesemm, mint a bemenetieké, a felesleges
-csatornák el lesznek hagyva.
-.PD 0
-.RSs
-.IPs <nch>
-kimeneti csatornák száma (1\-8)
-.IPs "<nr>\ "
-útvonalak száma (1\-8)
-.IPs <honnan1:hova1:honnan2:hova2:honnan3:hova3:...>
-Számpárok 0 és 7 között, amik megadják az egyes csatornák irányítását.
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-Beállítja a csatornák számát 4-re és beállít 4 útvonalat, ami
-megcseréli a 0. és az 1. valamint helyben hagyja a 2. és 3.
-csatornát. Figyelj rá, hogy ha a lejátszott médiád csak két
-csatornát tartalmaz, akkor a 2. és 3. csatorna elnémul, de a 0.
-és az 1. így is megcserélõdik.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-A csatornák számát 6-ra módosítja és beállít 4 útvonalat, ami
-a 0. csatornát átmásolja a 0. és a 3. csatornára.
-A 4. és 5. csatorna elnémul.
-.RE
-.PD 1
-.
-.TP
-.B format[=formátum] (lásd még \-format)
-Különbözõ mintaformátumokat konvertál.
-Automatikusan bekapcsol ha a hang kártya vagy más szûrõ igényli.
-.PD 0
-.RSs
-.IPs <formátum>
-Beállítja a kívánt formátumot.
-Az általános alak 'sbe', ahol 's' jelöli az elõjelet ('s' az elõjeles
-vagy 'u' az elõjel nélküli), 'b' jelöli a mintánkénti bitek számát (16, 24 vagy 32)
-és 'e' jelöli a végzõdést ('le' a little-endian-t jelöli, 'be' a big-endian-t,
-és 'ne' a végzõdés nélküliséget azon a számítógépen, melyen az MPlayer fut).
-Helyes értékek (többek között): 's16le', 'u32be' és 'u24ne'.
-A fenti szabály alól kivételek, de helyes formátum megadások: u8, s8,
-floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 és imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]]
-Szoftveres hangerõvezérlést valósít meg.
-Figyelmesen használd ezt a szûrõt, mivel a hang jelerõsségét zajszintre
-csökkentheti.
-A legtöbb esetben a legjobb, ha a PCM hangerõt maximumra állítod,
-ezt a szûrõt elhagyod és a kimeneti hangerõt a hangszóróid
-fõ hangerõszabályozójával vagy mixer-ével állítod.
-Ha a hangkártyádon digitális PCM mixer van az analóg helyett,
-és torzulást hallasz, inkább használd a MASTER mixer-t.
-Ha van külsõ erõsítõd a számítógéphez csatlakoztatva (majdnem
-mindig ez van), a zajszint minimalizálható az erõsítõn a fõ hangerõ
-és a hangerõ gomb segítségével, addig, amíg a háttérben lévõ
-sziszegõ zörej megszûnik.
-.br
-Ez a szûrõ rendelkezik egy másik képességgel is: Megméri az össz
-maximum hangerõt és kiírja azt az MPlayer kilépésekor.
-Ez a hangerõ becslés felhasználható a hangerõ szint beállításakor
-a MEncoderben, így a maximális dinamikus tartomány kihasználható.
-Ez a képesség jelenleg csak a lebegõpontos adatokkal mûködik,
-használd így pl. \-af\-adv force=5, vagy \-af stats.
-.br
-.I MEGJEGYZÉS:
-Ez a szûrõ nem újrahívható és ezért egy audió folyamra csak egyszer
-engedélyezhetõ.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-A kívánt eltérés dB-ben a folyam összes csatornájára vonatkozóan,
-\-200dB-tõl +60dB-ig, ahol a \-200dB teljesen elnémítja a hangot,
-míg a +60dB 1000-szeres növelést jelent (alapértelmezett: 0).
-.IPs "<sc>\ "
-Soft clipping be (1) vagy kikapcsolása (0).
-A Soft-clipping a hangot még egyenletesebbé teheti, ha nagyon nagy
-hangerõt használsz.
-Akkor engedélyezd ezt az opciót, ha a hangszóróid dinamikus
-tartománya nagyon kicsi.
-.br
-.I FIGYELMEZTETÉS:
-Ez a képesség torzulást okoz és csak végsõ megoldásként használandó.
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-Erõsíti a hangot 10.1dB-el és hard-clip-et alkalmaz, ha a hangerõ
-túl nagy.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-Önhatalmúlag összekeveri a csatornákat.
-Alapvetõen a volume és a channels szûrõ kombinációja, ami a csatornák számának
-kevésre történõ lecsökkentésére használható, pl.\& sztereó mono-ra vagy a középsõ
-speaker "szélességének" variálása térhatású rendszerben.
-Ezt a szûrõt nehéz használni és igényel némi bütykölést mielõtt a megfelelõ
-minõséget adná.
-Ezen szûrõnek megadható opciók száma függ a kimeneti csatornák számától.
-Egy példa arra, hogy hogyan lehet lemixelni egy hat csatornás fájlt két
-csatornára, a példa részben található a fájl vége felé.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-a kimeneti csatornák száma (1\-8)
-.IPs <Lij>
-A i. bemeneti csatorna mekkora része lesz átmixelve az j. kimeneti csatornára (0\-1).
-Az alapötlet, hogy van n számod, ami megadja, hogy mit kell csinálni az elsõ bemeneti
-csatornával, majd n számod, ami a második bemeneti csatornára vonatkozik, stb.
-Ha nem adsz meg egy számot sem valamelyik bemeneti csatornához, 0 lesz a
-feltételezett érték.
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-Lemixel sztereóról mono-ra.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-3 csatornás kimenetet ad, a 0. és az 1. csatornát érintetlenül hagyja
-és a 0. és 1. csatornát keveri bele a 2. csatornába (amit például egy
-mélynyomóra lehet kiküldeni).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-Egy mélynyomó csatornát ad az audió folyamhoz.
-A 0. és 1. csatorna átlagát használja fel a mélynyomó csatorna
-létrehozásához.
-Ezután az eredményt egy 4. utas Butterworth low-pass szûrõn ereszti át
-a 60 Hz-es alapértelmezett vágási frekvenciát használva és külön
-csatornaként adja az audió folyamhoz.
-.br
-.I Figyelmeztetés:
-Tiltsd le ezt a szûrõt ha DVD-t játszol le DOlby Digital 5.1-es
-hanggal, különben ez a szûrõ széttördeli a mélynyomó hangját.
-.PD 0
-.RSs
-.IPs "<fc>\ "
-Vágási frekvencia Hz-ben a low-pass szûrõhöz (20Hz-300Hz) (alapértelmezett: 60Hz)
-A legjobb eredményhez próbáld meg a vágási frekvenciát a lehetõ legalacsonyabbra
-állítani. Ez növeli a sztereó és térhatású hangélményt.
-.IPs "<ch>\ "
-Meghatározza a csatorna számot, amibe az al-csatorna audiót be kell tenni.
-A csatorna szám 0 és 7 között lehet (alapértelmezett: 5).
-Figyeld meg, hogy a csatornák száma automatikusan megnõ <ch>-ra,
-ha szükséges.
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-Létrehoz egy mélynyomó csatornát 100 Hz-es vágási frekvenciával a 4.
-kimeneti csatornán.
-.RE
-.PD 1
-.
-.TP
-.B "center\ "
-Létrehoz egy középsõ csatornát az elülsõ csatornákból.
-Jelenleg gyenge minõségû, mivel nem implementálja a high-pass
-szûrõt a megfelelõ adat kinyeréshez, hanem inkább átlagolja és
-felezi a csatornákat.
-.PD 0
-.RSs
-.IPs "<ch>\ "
-Meghatározza a csatorna számát, ahova a középsõ csatornát be kell illeszteni.
-A csatorna száma 0 és 7 közötti lehet (alapértelmezett: 5).
-Figyeld meg, hogy a csatornák száma automatikusan megnõ <ch>-ra,
-ha szükséges.
-.RE
-.PD 1
-.
-.TP
-.B surround[=késleltetés]
-Dekódoló mátrix kódolású térhatású hanghoz, mint pl.\& a Dolby Surround-hoz.
-Sok két csatornás audióval rendelkezõ fájl tartalmaz mátrixos térhatású
-hangot. Legalább négy csatornát támogató hangkártya kell hozzá.
-.PD 0
-.RSs
-.IPs <késleltetés>
-késleltetési idõ ms-ben a hátsó hangszórókhoz (0\-1000) (alapértelmezett: 20)
-Ez a késleltetés a következõképpen állítandó be: Ha d1 a távolság
-a hallgatási pozíciótól az elülsõ hangszórókig és d2 a hallgatási pozíció és
-a hátsó hangszórók távolsága, akkor a késleltetést 15ms-re kell állítani,
-ha d1 <= d2 és 15 + 5*(d1-d2)-re ha d1 > d2.
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-Bekapcsolja a térhatású hang dekódolást a hátsó hangszórókon 15ms-es
-késleltetéssel.
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-Késlelteti a hangot a hangszórókon úgy, hogy a különbözõ csatornákból
-jövõ hangok egyszerre érjenek a hallgatási pozícióba.
-Hasznos, ha több, mint két hangszóród van.
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-Az egyes csatornákon alkalmazandó késleltetés ms-ben
-(lebegõpontos szám 0 és 1000 között).
-.RE
-.PD 1
-.sp 1
-.RS
-A szükséges késleltetés a különbözõ csatornákon a következõ képpen számítható:
-.IP 1. 3
-Mérd meg a távolságot a hangszórókhoz méterben, a hallgatási pozíciódhoz
-viszonyítva, megkapva így az s1-s5 távolságokat (egy 5.1-es rendszernél).
-Nincs értelme kompenzálni a mélynyomót (amúgy sem fogod hallani a különbséget).
-s.IP 2. 3
-Vond ki az s1-s5 távolságokat a maximális távolságból,
-pl.\& s[i] = max(s) \- s[i]; i = 1...5.
-.IP 3.
-Számítsd ki a szükséges késleltetést ms-ben a d[i] = 1000*s[i]/342; i = 1...5 formában.
-.RE
-.PD 0
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-A bal és jobb elsõt 10,5ms-sel késlelteti, a két hátsó csatornát
-és a mélynyomót 0ms-sel, a középsõ csatornát 7 ms-sel.
-.RE
-.PD 1
-.
-.TP
-.B export[=mmapped_file[:nsamples]]
-Exportálja a bejövõ jeleket más processzeknek memória mappolással (mmap()).
-A mappolt területeken van egy fejléc:
-.sp 1
-.nf
-int nch /*csatornák száma*/
-int size /*buffer méret*/
-unsigned long long counter /*A szinkron megtartásához kell
- minden új adat exportálásakor
- frissül.*/
-.fi
-.sp 1
-A többi payload, (nem átlapolt) 16 bit-es adat.
-.PD 0
-.RSs
-.IPs <mmapped_file>
-fájl, amibe az adatokat mappolni kell (alapértelmezett: ~/.mplayer/\:mplayer-af_export)
-.IPs <nsamples>
-minták száma csatornánként (alapértelmezett: 512)
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-1024 mintát exportál csatornánként a '/tmp/mplayer-af_export' fájlba.
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-(Lineárisan) növeli a különbséget a bal és jobb csatorna között,
-ami némi "live" hatást kölcsönöz a lejátszásnak.
-.PD 0
-.RSs
-.IPs <mul>
-Beállítja a különbség együtthatóját (alapértelmezett: 2.5).
-0.0 jelenti a mono hangot (a két csatorna átlaga), 1.0-val a hang
-változatlan marad, \-1.0-val a bal és a jobb csatorna felcserélõdik.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=metódus:cél]
-Maximalizálja a hangerõt a hang torzítása nélkül.
-.PD 0
-.RSs
-.IPs <metódus>
-Beállítja a használandó metódust.
-.RSss
-1: Egy mintát használ a variációk finomításához az elõzõ minták
-szabványos súlyozott középértékének a segítségével (alapértelmezett).
-.br
-2: Több mintát használ a variációk finomításához az elõzõ minták
-szabványos súlyozott középértékének a segítségével.
-.REss
-.IPs <cél>
-Megadja a cél amplitudót a minta típusának töredékeként (alapértelmezett: 0.25).
-.RE
-.PD 1
-.
-.TP
-.B ladspa=fájl:címke[:vezérlõk...]
-Betölti a LADSPA (Linux Audio Developer's Simple Plugin API) plugint.
-Ez a szûrõ reentráns, így több LADSPA plugin betölthetõ egyszerre.
-.PD 0
-.RSs
-.IPs <fájl>
-Megadja a LADSPA plugin függvénykönyvtár fájlt.
-Ha a LADSPA_PATH be van állítva, ott keres a megadott fájl után.
-Ha nincs, akkor egy teljes eléséri utat is meg kell adnod.
-.IPs <címke>
-Megadja a szûrõt a library-n belül.
-Néhány függvénykönyvtár csak egy szûrõt tartalmaz, de sok többet is.
-A 'help' beírása ide kilistázza a használható szûrõket a megadott
-függvénykönyvtáron belül, ami szükségtelenné teszi a 'listplugins'
-használatát a LADSPA SDK-ból.
-.IPs <vezérlõk>
-A vezérlõk nulla vagy több lebegõpontos értékek, amik szabályozzák
-a betöltött plugin mûködését (például késleltetés, küszöb vagy nyereség).
-Bõbeszédû módban (\-v az MPlayer parancssorában), az összes elérhetõ
-vezérlõ és az értéke megjelenik.
-Ez szükségtelenné teszi az 'analyseplugin' használatát a LADSPA SDK-bón.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-Tömörítõ/kicsomagoló szûrõ a mikrofon bemenethez.
-Megelõzi a mellékhatásokat nagyon hangos hangnál és növeli a hangerõt
-nagyon halk hang esetén.
-Ez a szûrõ még nincs tesztelve, lehet, hogy használhatatlan.
-.
-.TP
-.B "gate\ \ \ "
-Zaj kapu szûrõ, hasonló a comp audió szûrõhöz.
-Ez a szûrõ nem tesztelt, lehet, hogy használhatatlan.
-.
-.TP
-.B karaoke
-Egyszerû hang eltávolító szûrõ, mely azt a tényt használja ki, hogy
-a beszédhang általában mono-ként kerül rögzítésre majd késõbb
-lesz 'középre' mixelve az audió folyamban.
-Ügyelj rá, hogy ez a szûrõ valójában mono-vá alakítja a jeledet.
-Két csatornás sávokon remekül mûködik; soha ne próbáld ki máson, mint
-két csatornás sztereón.
-.
-.TP
-.B scaletempo[=opció1:opció2:...]
-Változtatja az audió tempóját a hangmagasság változtatása nélkül, opcionálisan
-a lejátszás sebességéhez igazítva (alapértelmezett).
-.br
-Ez az audió \'átlépõ\' ms-einek normál sebességû lejátszásával történik,
-ehhez \'átlépés*módosítás\' ms bemeneti audiót használ fel.
-Az elõzõ lépés utáni audióból összegyûjti a lépéseket a lépések egyesített
-\'átfedés\'%-aival.
-Opcionálisan egy rövid statisztikai analízist is lefuttat az audió következõ
-\'keresési\' ms-éig a legjobb átfedési pozíció meghatározásához.
-.PD 0
-.RSs
-.IPs scale=<mérték>
-A tempó változtatásának névleges értéke.
-Az ezen értékkel történõ változtatás növeli a sebességet.
-(alapértelmezett: 1.0)
-.IPs stride=<mérték>
-Az egyes kimenti lépések hossza milliszekundumokban.
-A túl nagy érték észrevehetõ kihagyásokat okoz a nagy arányú változtatásnál
-és visszahangot a kicsinél.
-A nagyon alacsony értékek megváltoztatják a hangmagasságot.
-A növelés javítja a teljesítményt.
-(alapértelmezett: 60)
-.IPs overlap=<százalék>
-A lépések átfedésének százaléka.
-Csökkentése javítja a teljesítményt.
-(alapértelmezett: .20)
-.IPs search=<mérték>
-A legjobb átfedési pozíció keresésének hosszúsága milliszekundumban.
-A csökkentése nagymértékben javítja a teljesítményt.
-Lassú rendszereken valószínûleg alacsony értéket kell használnod.
-(alapértelmezett: 14)
-.IPs speed=<tempo|pitch|both|none>
-Beállítja a választ a sebesség változására.
-.RSss
-.IPs tempo
-A tempót a sebességgel szinkronban módosítja (alapértelmezett).
-.IPs pitch
-Megfordítja a szûrõ hatását.
-Módosítja a hangmagasságot a tempó módosítása nélkül.
-Írd be a \'[ speed_mult 0.9438743126816935\' és \'] speed_mult 1.059463094352953\'
-az input.conf-odba a zenei félhangokhoz.
-.I FIGYELMEZTETÉS:
-Elveszti a szinkronizációt a videóval.
-.IPs both
-Módosítja mind a tempót, mind a hangmagasságot.
-.IPs none
-Figyelmen kívül hagyja a sebességváltozásokat.
-.RE
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
-A médiát a normális 1.2x-es sebességével játssza le, normális hangmagassággal.
-A lejátszás sebességének változása megváltoztatja az audió tempóját.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
-A médiát a normális 1.2x-es sebességével játssza le, normális hangmagassággal,
-de a lejátszás sebességének változása nem változtatja meg a tempót.
-.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
-A minõségi és teljesítménybeli paramétereket finomítja.
-.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
-A scaletempo lebegõpontos kódot használ.
-Talán gyorsabb pár platformon.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
-Az audió fájlt a normális 1.2x-es sebességével játssza le, normális hangmagassággal.
-A lejátszás sebességének változása megváltoztatja a hangmagasságot,
-megtartva az audió 1.2x-es tempóját.
-.RE
-.PD 1
-.
-.TP
-.B "stats\ \ "
-Statisztikát gyûjt és ír ki az audió folyamról, fõként a hangerõrõl.
-Ezek a statisztikák különösen a hang beállításánál hasznosak a
-romlás elkerülése mellett.
-A hangerõ dB-ben kerül kiírásra és kompatibilis az audió hangerõ szûrõvel.
-.
-.
-.
-.SH "VIDEÓ SZÛRÕK"
-A videó szûrõk segítségével a videó folyamot és annak tulajdonságait módosíthatod.
-A szintaxis:
-.
-.TP
-.B \-vf <szûrõ1[=paraméter1:paraméter2:...],szûrõ2,...>
-Megad egy videó szûrõ láncot.
-.
-.PP
-Több paraméter opcionális és elhagyása esetén az alapértelmezett értéket veszi fel.
-Ha explicit elõ akarod írni az alapértelmezett paraméter használatát, írj be '\-1'-et.
-A w:h paraméterek szélesség x magasság-ot jelentenek pixelben, x:y
-x;y pozíciót jelöl a nagyobb kép bal felsõ sarkához viszonyítva.
-.br
-.I MEGJEGYZÉS:
-Az elérhetõ videó szûrõk listáját megkaphatod a \-vf help kapcsolóval.
-.sp 1
-A videó szûrõket listában kezeljük.
-Van pár parancs a szûrõ listák kezeléséhez.
-.
-.TP
-.B \-vf\-add <szûrõ1[,szûrõ2,...]>
-A paraméterként megadott szûrõket hozzáfûzi a szûrõ listához.
-.
-.TP
-.B \-vf\-pre <szûrõ1[,szûrõ2,...]>
-A paraméterként megadott szûrõket a szûrõ lista elé fûzi.
-.
-.TP
-.B \-vf\-del <index1[,index2,...]>
-Törli az adott index-û szûrõket.
-Az index számok 0-val kezdõdnek, a negatív számok a lista végét jelölik
-(\-1 az utolsó).
-.
-.TP
-.B \-vf\-clr
-Teljesen kiüríti a szûrõ listát.
-.PP
-Azoknál a szûrõknél, amik támogatják ezt, a paramétereket a neveikkel is elérheted.
-.
-.TP
-.B \-vf <szûrõ>=help
-Kiírja a paraméter neveket és a paraméter értékeket egy megadott
-szûrõnél.
-.
-.TP
-.B \-vf <szûrõ=neves_paraméter1=érték1[:neves_paraméter2=érték2:...]>
-Beállítja a neves paramétert az adott értékre.
-Használd az on és off vagy yes és no értékeket a flag paramétereknél.
-.PP
-Az elérhetõ szûrõk:
-.
-.TP
-.B crop[=w:h:x:y]
-Kivágja a megadott részt és figyelmen kívül hagyja a többit.
-Hasznos a fekete sávok eltávolításakor a szélesvásznú filmeknél.
-.PD 0
-.RSs
-.IPs <w>,<h>
-A vágási szélesség és magasság, alapértelmezésként az eredeti szélesség és magasság.
-.IPs <x>,<y>
-A vágott kép pozíciója, alapértelmezettként középen.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=határ:kerekítés[:reset]]
-Kiszámítja a szükséges vágási paramétereket és kiírja a javasolt paramétereket
-az stdout-ra.
-.PD 0
-.RSs
-.IPs <határ>
-Küszöb, mely opcionálisan megadható a semmitõl (0) a mindenig (255) (alapértelmezett: 24).
-.br
-.IPs <kerekítés>
-Érték, mellyel a szélességnek/\:magasságnak oszthatónak kell lennie (alapértelmezett: 16).
-Az offset automatikusan beállítódik a videó közepére.
-Használj 2-t csak a páros dimenziókhoz (4:2:2 videónál szükséges).
-16 a legjobb a legtöbb videó codec-nél.
-.br
-.IPs <reset>
-Számláló, mely megadja, hogy hány képkocka után fogja törölni a cropdetect
-az elõzõleg detektált legnagyobb videó méretet és végzi el újra az optimális
-vágási terület megállapítását (alapértelmezett: 0).
-Ez hasznos lehet, ha csatorna logók zavarják a videó területét.
-A 0 azt jelenti, hogy soha nem resetel és a lejátszás során talált legnagyobb
-területet használja.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=w:h:x:y]
-Kirajzol egy téglalapot a megadott szélességgel és magassággal a megadott
-koordinátákon a kép fölé és kiírja a téglalap adatait a konzolra.
-Ez az optimális vágási paraméterek megtalálásában segíthet.
-Ha az input.conf 'change_rectangle' direktívájához hozzárendelsz gombokat,
-menet közben mozgathatod és átméretezheted a téglalapot.
-.PD 0
-.RSs
-.IPs <w>,<h>
-szélesség és magasság (alapértelmezett: \-1, maximálisan lehetséges szélesség, ahol a
-határok még láthatóak.)
-.IPs <x>,<y>
-bal felsõ sarok pozíciója (alapértelmezett: \-1, legfelsõ legbaloldalibb)
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-Felnagyítja (nem átméretezi) a film felbontását a megadott értékre és a nem átméretezett eredeti
-x, y koordinátákra teszi.
-Feliratok/\:OSD a meglévõ fekete sávokba történõ igazításához használható.
-.RSs
-.IPs <w>,<h>
-A felnagyított szélesség,magasság (alapértelmezett: eredeti szélesség,magasság).
-Negatív értékek a w és h helyén az eredeti mérethez viszonyított eltolást jelentenek.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-Egy 50 pixel-es határt ad a kép aljához.
-.RE
-.PD 1
-.IPs <x>,<y>
-az eredeti kép pozíciója a nagyított képen (alapértelmezett: center)
-.IPs "<o>\ \ "
-OSD/\:felirat renderelés
-.RSss
-0: kikapcsolva (alapértelmezett)
-.br
-1: bekapcsolva
-.REss
-.IPs "<a>\ \ "
-Felbontás helyett egy aránynak megfelelõen nagyít (alapértelmezett: 0).
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-800x600-ra nagyít, hacsak a forrás nem nagyobb felbontású, mert akkor
-a 4/3-as aránynak megfelelõen nagyít.
-.RE
-.PD 1
-.IPs <r>\ \
-Úgy kerekít, hogy mind a szélesség, mind a magasság <r>-rel osztható
-legyen (alapértelmezett: 1).
-.RE
-.
-.TP
-.B flip (lásd még \-flip)
-Fejtetõre állítja a képet.
-.
-.TP
-.B "mirror\ "
-Tükrözi a képet az Y tengelyre.
-.
-.TP
-.B rotate[=<0\-7>]
-Elforgatja a képet 90 fokkal és opcionálisan fejtetõre is állítja.
-A 4\-7 közötti értékekre a forgatás csak akkor történik meg, ha a film geometriája
-álló és nem fekvõ.
-.RSs
-.IPs 0
-90 fokkal forgat óramutató járásával megegyezõ irányban (alapértelmezett).
-.IPs 1
-90 fokkal forgat óramutató járásával megegyezõ irányban.
-.IPs 2
-90 fokkal forgat óramutató járásával ellenkezõ irányban.
-.IPs 3
-90 fokkal forgat óramutató járásával ellenkezõ irányban és megfordít.
-.RE
-.
-.TP
-.B scale[=w:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
-Átméretezi a képet szoftveres méretezõvel (lassú) és végrehajt egy YUV<\->RGB
-színtér konverziót (lásd még \-sws).
-.RSs
-.IPs <w>,<h>
-méretezett szélesség/\:magasság (alapértelmezett: eredeti szélesség/\:magasság)
-.br
-.I MEGJEGYZÉS:
-Ha a \-zoom kapcsolót is használod és az alap szûrõk (beleértve a libvo-t) nem képesek
-méretezni, alapértelmezett lesz a d_width/\:d_height!
-.RSss
- 0: méretezett d_width/\:d_height
-.br
-\-1: eredeti szélesség/\:magasság
-.br
-\-2: Számított w/h a másik dimenzió és az méretezett képarány segítségével.
-.br
-\-3: Számított w/h a másik dimenzió és az eredeti képarány segítségével.
-.br
-\-(n+8): Mint a \-n fent, csak a dimenziót 16 legközelebbi többszörösére kerekíti.
-.REss
-.IPs <interlaced>
-Beállítja az átlapolt méretezést.
-.RSss
-0: ki (alapértelmezett)
-.br
-1: be
-.REss
-.IPs <chr_drop>
-színtelítettség figyelmen kívül hagyása
-.RSss
-0: Minden elérhetõ bejövõ sor használata a telítettséghez.
-.br
-1: Csak minden 2. bejövõ sor használata a telítettséghez.
-.br
-2: Csak minden 4. bejövõ sor használata a telítettséghez.
-.br
-3: Csak minden 8. bejövõ sor használata a telítettséghez.
-.REss
-.IPs "<par>[:<par2>] (lásd még \-sws)"
-Beállít pár méretezési paramétert a \-sws kapcsolóval kiválasztott méretezõ
-típusától függõen.
-.RSss
-\-sws 2 (bicubic): B (blurring) és C (ringing)
-.br
-0.00:0.60 alapértelmezett
-.br
-0.00:0.75 VirtualDub "precíz bicubic"-je
-.br
-0.00:0.50 Catmull-Rom spline
-.br
-0.33:0.33 Mitchell-Netravali spline
-.br
-1.00:0.00 cubic B-spline
-.br
-\-sws 7 (gaussian): élesség (0 (lágy) \- 100 (éles))
-.br
-\-sws 9 (lanczos): szûrõ hossz (1\-10)
-.REss
-.IPs <presize>
-Méretezés elõre beállított méretekre.
-.RSss
-qntsc: 352x240 (NTSC negyed képernyõ)
-.br
-qpal: 352x288 (PAL negyed képernyõ)
-.br
-ntsc: 720x480 (szabványos NTSC)
-.br
-pal: 720x576 (szabványos PAL)
-.br
-sntsc: 640x480 (square pixel NTSC)
-.br
-spal: 768x576 (square pixel PAL)
-.REss
-.IPs <noup>
-Letiltja az eredeti méreteknél nagyobbra történõ méretezést.
-.RSss
-0: Megengedi a méretezést (alapértelmezett).
-.br
-1: Letiltja a méretezést, ha az egyik dimenzió átlépi az eredeti értékét.
-.br
-2: Letiltja a méretezést, ha mindkét dimenzió átlépi az eredeti értékét.
-.REss
-.IPs <arnd>
-Pontos kerekítés használata a függõleges méretezõhöz, ami gyorsabb vagy
-lassabb is lehet az alapértelmezett kerekítésnél.
-.RSss
-0: Letiltja a pontos kerekítést (alapértelmezett).
-.br
-1: Engedélyezi a pontos kerekítést.
-.REss
-.RE
-.
-.TP
-.B dsize[=arány|w:h:arány-mód:r]
-Megváltoztatja tervezett megjelenítési méretet/\:arányt egy tetszõleges helyen
-a szûrõ láncban.
-Az arány megadható törtként (4/3) vagy lebegõpontos számként (1.33).
-Alternatívaként megadhatod a kívánt kép szélességet és magasságot.
-Figyelj rá, hogy ez a szûrõ saját maga
-.B nem
-végez átméretezést; csak érinti a késõbbi méretezõk
-(szoftveres vagy hardveres) tevékenyéségét a megfelelõ arányra történõ
-automatikus méretezésnél.
-.RSs
-.IPs <w>,<h>
-Új képernyõ szélesség és magasság.
-Speciális értékeket is felvehet:
-.RSss
- 0: eredeti képernyõ szélesség és magasság
-.br
-\-1: eredeti videó szélesség\:/magasság (alapértelmezett)
-.br
-\-2: A w/h kiszámítása a másik méret és az eredeti képernyõ arányai alapján.
-.br
-\-3: A w/h kiszámítása a másik méret és az eredeti videó képarányai alapján.
-.REss
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IP dsize=800:\-2
-800x600-as felbontást ad meg egy 4/3-as vagy 800x450-eset egy
-16/9 képarányú videóhoz.
-.RE
-.IPs <arány-mód>
-Módosítja a szélességet és a magasságot az eredeti képarányoknak megfelelõen.
-.RSss
-\-1: Eredeti képarány figyelmen kívül hagyása (alapértelmezett).
-.br
- 0: A képernyõ arányainak megtartása úgy, hogy a <w> és <h> lesz
-a maximális felbontás.
-.br
- 1: A képernyõ arányainak megtartása úgy, hogy a <w> és <h> lesz
-a minimális felbontás.
-.br
- 2: A videó képarányainak megtartása úgy, hogy a <w> és <h> lesz
-a maximális felbontás.
-.br
- 3: A videó képarányainak megtartása úgy, hogy a <w> és <h> lesz
-a minimális felbontás.
-.REss
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-Megad egy legfeljebb 800x600-as felbontást a képarány megtartásához.
-.RE
-.PD 1
-.IPs <r>
-Kerekítést végez úgy, hogy mind a szélesség, mind a magasság osztható
-legyen <r>-rel (alapértelmezett: 1).
-.RE
-.
-.TP
-.B "yvu9\ \ \ "
-Szoftveres YVU9-YV12 színtér konvertálást kényszerít ki.
-Idejétmúlt a szoftveres méretezõ miatt.
-.
-.TP
-.B "yuvcsp\ "
-A YUV színértékeket a CCIR 601 tartományba szorítja valódi konverzió nélkül.
-.
-.TP
-.B palette
-RGB/BGR 8 \-> 15/16/24/32bpp színtér konverzió paletta használattal.
-.
-.TP
-.B format[=fourcc[:kifourcc]]
-Korlátozza a színteret a következõ szûrõnek bármiféle konverzió nélkül.
-A scale szûrõvel együtt használva végez valódi konverziót.
-.br
-.I MEGJEGYZÉS:
-A használható formátumok listájához lásd a format=fmt=help kapcsolót.
-.PD 0
-.RSs
-.IPs <fourcc>
-formátum név mint pl.\& rgb15, bgr24, yv12, stb. (alapértelmezett: yuy2)
-.IPs <kifourcc>
-Formátum név, amit helyettesíteni kell a kimenetben.
-Ha az értéke nem 100%-ig kompatibilis a <fourcc>-vel, összeomlást okoz.
-.br
-Jó példák:
-.br
-format=rgb24:bgr24 format=yuyv:yuy2
-.br
-Rossz példa (összeomlik):
-.br
-format=rgb24:yv12
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-Korlátozza a színteret a következõ szûrõnek bármiféle konverzió nélkül.
-A format szûrõvel ellentétben ez engedélyez bármilyen színteret
-.B kivéve
-a megadottakat.
-.br
-.I MEGJEGYZÉS:
-Az elérhetõ formátumok listájához lásd a noformat=fmt=help kapcsolót.
-.PD 0
-.RSs
-.IPs <fourcc>
-formátum név, mint pl.\& rgb15, bgr24, yv12, stb. (alapértelmezett: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=szûrõ1[:opció1[:opció2...]]/[\-]szûrõ2...] (lásd még \-pphelp)
-Engedélyezi az utófeldolgozó alszûrõk megadott láncolatát.
-Az alszûrõket egy '/' jellel kell elválasztani, letiltani pedig egy
-megelõzõ '\-' jellel lehet.
-Minden alszûrõ és néhány opció is rendelkezik egy rövid és egy hosszú névvel,
-melyek felcserélhetõek egymással, pl.\& dr/dering ugyan az.
-Az összes alszûrõnek vannak közös opciói a hatáskörük beállításához:
-.PD 0
-.RSs
-.IPs a/autoq
-Az alszûrõ automatikus kikapcsolása, ha a CPU túl lassú.
-.IPs c/chrom
-Színtelítettésgi szûrés végrehajtása (alapértelmezett).
-.IPs y/nochrom
-Csak fényerõsségi szûrés végrehajtása (nincs színtelítettség).
-.IPs n/noluma
-Csak színtelítettségi szûrés végrehajtása (nincs fényerõsség).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I MEGJEGYZÉS:
-\-pphelp megmutatja a használható alszûrõket.
-.sp 1
-Az elérhetõ alszûrõk
-.RE
-.RSs
-.IPs hb/hdeblock[:különbség[:laposság]]
-vízszintes deblocking szûrõ
-.RSss
-<különbség>: Különbségi faktor, ahol a nagyobb érték több
-deblocking-ot jelent (alapértelmezett: 32).
-.br
-<laposság>: Lapossági küszöb, ahol az alacsony érték több
-deblocking-ot jelent (alapértelmezett: 39).
-.REss
-.IPs vb/vdeblock[:különbség[:laposság]]
-függõleges deblocking szûrõ
-.RSss
-<különbség>: Különbségi faktor, ahol a nagyobb érték több
-deblocking-ot jelent (alapértelmezett: 32).
-.br
-<laposság>: Lapossági küszöb, ahol az alacsony érték több
-deblocking-ot jelent (alapértelmezett: 39).
-.REss
-.IPs ha/hadeblock[:különbség[:laposság]]
-pontos vízszintes deblocking szûrõ
-.RSss
-<különbség>: Különbségi faktor, ahol a nagyobb érték több
-deblocking-ot jelent (alapértelmezett: 32).
-.br
-<laposság>: Lapossági küszöb, ahol az alacsony érték több
-deblocking-ot jelent (alapértelmezett: 39).
-.REss
-.IPs va/vadeblock[:különbség[:laposság]]
-pontos függõleges deblocking szûrõ
-.RSss
-<különbség>: Különbségi faktor, ahol a nagyobb érték több
-deblocking-ot jelent (alapértelmezett: 32).
-.br
-<laposság>: Lapossági küszöb, ahol az alacsony érték több
-deblocking-ot jelent (alapértelmezett: 39).
-.REss
-.sp 1
-A vízszintes és a függõleges deblocking szûrõk megosztják
-egymás között a különbségi és lapossági értékeket, ezért nem
-tudsz különbözõ vízszintes és függõleges értékeket beállítani.
-.sp 1
-.IPs h1/x1hdeblock
-kísérleti vízszintes deblocking szûrõ
-.IPs v1/x1vdeblock
-kísérleti függõleges deblocking szûrõ
-.IPs dr/dering
-deringing szûrõ
-.IPs tn/tmpnoise[:küszöb1[:küszöb2[:küszöb3]]]
-idõleges zajcsökkentõ
-.RSss
-<küszöb1>: nagyobb \-> erõsebb szûrés
-.br
-<küszöb2>: nagyobb \-> erõsebb szûrés
-.br
-<küszöb3>: nagyobb \-> erõsebb szûrés
-.REss
-.IPs al/autolevels[:f/fullyrange]
-automatikus fényerõ / kontraszt javítás
-.RSss
-f/fullyrange: A fényerõsség kiterjesztése (0\-255)-ig.
-.REss
-.IPs lb/linblenddeint
-Lineáris blend deinterlacing szûrõ, ami deinterlacing-et hajt végre
-az adott blokkon, minden soron egy (1 2 1) szûrõt alkalmazva.
-.IPs li/linipoldeint
-Lineáris interpolációs deinterlacing szûrõ, ami deinterlacing-et hajt
-végre egy adott blokkon, minden második sor lineáris interpolálásával.
-.IPs ci/cubicipoldeint
-Köbös interpolációs deinterlacing szûrõ, ami deinterlacing-et hajt
-végre egy adott blokkon, minden második sor köbös interpolálásával.
-.IPs md/mediandeint
-Közép deinterlacing szûrõ, ami deinterlacing-et hajt végre egy adott
-blokkon, minden második soron alkalmazott középszámítással.
-.IPs fd/ffmpegdeint
-FFmpeg deinterlacing szûrõ, ami deinterlacing-et hajt végre egy adott
-blokkon, minden soron egy (\-1 4 2 4 \-1) szûrõt alkalmazva.
-.IPs l5/lowpass5
-Függõlegesen alkalmazott FIR alul áteresztõ deinterlacing szûrõ, ami
-deinterlacing-ot hajt végre az adott blokkon, minden soron egy
-(\-1 2 6 2 \-1) szûrõt alkalmazva.
-.IPs fq/forceQuant[:kvantáló]
-Felülbírálja az input kvantálási tábláját a konstans kvantálóval,
-amit megadsz.
-.RSss
-<kvantáló>: a használni kívánt kvantáló
-.REss
-.IPs de/default
-alapértelmezett pp szûrõ kombináció (hb:a,vb:a,dr:a)
-.IPs fa/fast
-gyors pp szûrõ kombináció (h1:a,v1:a,dr:a)
-.IPs "ac\ \ \ "
-jó minõségû pp szûrõ kombináció (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-vízszintes és függõleges deblocking, deringing és automatikus
-fényerõ/\:kontraszt
-.IPs "\-vf pp=de/\-al"
-alapértelmezett szûrõk fényerõ/\:kontraszt korrekció nélkül
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-Alapértelmezett szûrõk bekapcsolása & idõleges zajcsökkentõ.
-.IPs "\-vf pp=hb:y/vb:a"
-Vízszintes deblocking csak a fényerõsségen, a függõleges deblocking-ot
-pedig ki vagy bekapcsolja automatikusan, a CPU idõtõl függõen.
-.RE
-.PD 1
-.
-.TP
-.B spp[=minõség[:qp[:mód]]]
-Egyszerû utófeldolgozó szûrõ, ami betömöríti és kicsomagolja a képet
-számos (vagy \- 6. minõségi szint esetén \- minden)
-változtatásnál és átlagolja az eredményeket.
-.RSs
-.IPs <minõség>
-0\-6 (alapértelmezett: 3)
-.IPs "<qp>\ "
-Kvantálási paraméter kényszerítése (alapértelmezett: 0, a videó QP-jét használja).
-.IPs <mód>
-0: erõs korlát (alapértelmezett)
-.br
-1: gyenge korlát (jobb deringing, de homályosabb)
-.br
-4: mint a 0, de a B-kockák QP-jét is használja (vibrálást okozhat)
-.br
-5: mint az 1, de a B-kockák QP-jét is használja (vibrálást okozhat)
-.RE
-.
-.TP
-.B uspp[=minõség[:qp]]
-Ultra egyszerû & lassú utófeldolgozó szûrõ, ami tömöríti és kibontja a
-képet több (vagy \- 8-as minõségi szint esetén \- az összes)
-lépésben és átlagolja az eredményeket.
-Annyiban különbözik az spp-tõl, hogy az uspp minden esetben a libavcodec
-Snow-val végzi a kódolást és dekódolást, míg az spp egy MJPEG-hez hasonló
-egyszerûsített csak intra 8x8 DCT-t használ.
-.RSs
-.IPs <minõség>
-0\-8 (alapértelmezett: 3)
-.IPs "<qp>\ "
-Kvantálási paraméter kényszerítése (alapértelmezett: 0, a videó QP-jének használata).
-.RE
-.
-.TP
-.B fspp[=minõség[:qp[:erõsség[:bframes]]]]
-az egyszerû utófeldolgozó szûrõ gyorsabb változata
-.RSs
-.IPs <minõség>
-4\-5 (azonos az spp-vel; alapértelmezett: 4)
-.IPs "<qp>\ "
-Kvantálási paraméterek kényszerítése (alapértelmezett: 0, a videó QP-jét használja).
-.IPs <\-15\-32>
-Szûrõ erõssége, az alacsonyabb érték nagyobb részletességet jelent, de több mellékhatást is,
-míg a nagy érték simábbá teszi a képet, de homályosabbá is (alapértelmezett:
-0 \- PSNR optimális).
-.IPs <bframes>
-0: ne használja a B-kockák QP-jét (alapértelmezett)
-.br
-1: használja a B-kockák QP-jét is (vibrálást okozhat)
-.RE
-.
-.TP
-.B pp7[=qp[:mód]]
-Az spp szûrõ veriánsa, hasonló az spp=6-hoz 7 pontos DCT-vel,
-ahol csak a középsõ minta lesz használva az IDCT után.
-.RSs
-.IPs "<qp>\ "
-Kvantálási paraméter kényszerítése (alapértelmezett: 0, videó QP használata).
-.IPs <mód>
-0: erõs küszöb
-.br
-1: gyenge küszöb (jobb deringing, de foltosabb)
-.br
-2: közepes küszöb (alapértelmezett, jó eredényt ad)
-.RE
-.
-.TP
-.B qp=egyenlet
-kvantálási paraméter (QP) változtató szûrõ
-.RSs
-.IPs <egyenlet>
-valamilyen egyenlet, pl.\& "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B geq=egyenlet
-általános egyenlet választó szûrõ
-.RSs
-.IPs <egyenlet>
-Néhány egyenlet, pl.\& 'p(W-X\\,Y)' vízszintesen tükrözik a képet.
-Használhatsz elválasztó karaktereket, hogy olvashatóbb legyen az egynelet.
-Van pár konstans, ami használható az egyenletben:
-.RSss
-PI: a pi szám
-.br
-E: az e szám
-.br
-X / Y: az aktuális minta koordinátái
-.br
-W / H: a kép szélessége és magassága
-.br
-SW / SH: szélesség/magasság méret a jelenleg szûrt síktól függõen, pl.\&
-1,1 és 0.5,0.5 a YUV 4:2:0-hoz.
-.br
-p(x,y): a jelenlegi síkon az x/y helyen lévõ pixel értékét adja vissza.
-REss
-.RE
-.
-.TP
-.B "test\ \ \ "
-Különbözõ teszt minták generálása.
-.
-.TP
-.B rgbtest[=szélesség:magasság]
-Egy RGB teszt mintát generál, hasznos az RGB vs. BGR hibák megtalálásában.
-Egy vörös, zöld és kék csíkot kell látnod fentrõl lefelé.
-.RSs
-.IPs <szélesség>
-A generált kép szélessége (alapértelmezett: 0).
-A 0 a bemeneti kép szélességét jelenti.
-.br
-.IPs <magasság>
-A generált kép magassága (alapértelmezett: 0).
-A 0 a bemeneti kép magasságát jelenti.
-.RE
-.
-.TP
-.B lavc[=minõség:fps]
-Gyors szoftveres YV12-MPEG-1 konverzió libavcodec-kel DVB/\:DXR3/\:IVTV/\:V4L2-höz.
-.RSs
-.IPs <minõség>
-1\-31: fix qscale
-.br
-32\-: fix bitráta kbit-ben
-.IPs <fps>
-kimeneti fps kényszerítése (lebegõpontos érték) (alapértelmezett: 0, automatikus
-detektálás a magasság alapján)
-.RE
-.
-.TP
-.B dvbscale[=arány]
-Beállítja a DVB kártyákhoz az optimális méretezést, hardveres x tengely menti és
-az ebbõl szoftveresen számított y tengely menti méretezéssel az arány megtartásához.
-Csak az expand-dal és a scale-lel együtt hasznos.
-.RSs
-.IPs <arány>
-Arány megadása, számítási képlete DVB_HEIGHT*ASPECTRATIO (alapértelmezett:
-576*4/3=768), állítsd be 576*(16/9)=1024-re a 16:9-es TV-hez.
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-FIXME: leírni mit is csinál ez.
-.RE
-.PD 1
-.
-.TP
-.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-Zaj hozzáadása.
-.PD 0
-.RSs
-.IPs <0\-100>
-luma zaj
-.IPs <0\-100>
-chroma zaj
-.IPs u
-egyenletes zaj (különben gauss zaj)
-.IPs t
-ideiglenes zaj (a zaj minta változik a képkockák között)
-.IPs a
-átlagolt ideiglenes zaj (simább, de sokkal lassabb)
-.IPs h
-jó minõség (kicsit jobban néz ki, kicsit lassabb)
-.IPs p
-véletlen zajok összekeverése egy (félig) szabályos mintával
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp
-Ez a szûrõ csökkenti a kép zaját, simább képeket állít elõ és a
-mozdulatlan képekbõl tényleg mozdulatlanokat csinál (Ez növeli a
-tömöríthetõséget.).
-.PD 0
-.RSs
-.IPs <luma_spatial>
-térbeli luma erõsítés (alapértelmezett: 4)
-.IPs <chroma_spatial>
-térbeli chroma erõsítés (alapértelmezett: 3)
-.IPs <luma_tmp>
-idõbeli luma erõsítés (alapértelmezett: 6)
-.IPs <chroma_tmp>
-idõbeli chroma erõsítés (alapértelmezett: luma_tmp*chroma_spatial/luma_spatial)
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-A denoise3d szûrõ nagy precízitású/\:minõségû változata.
-A paraméterek és a használat ugyan olyan.
-.
-.TP
-.B ow[=mélység[:luma_erõsség[:telítettség_erõsség]]]
-Wavelet zajmentesítõ.
-.PD 0
-.RSs
-.IPs <mélység>
-A nagyobb mélységi érték jobban zajmentesíti az alacsony frekvenciákat,
-de lelassítja a szûrést (alapértelmezett: 8).
-.IPs <luma_erõsség>
-luma erõsség (alapértelmezett: 1.0)
-.IPs <telítettség_erõsség>
-színtelítettség erõssége (alapértelmezett: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B eq[=fényerõsség:kontraszt] (IDEJÉTMÚLT)
-Szoftveres equalizer interaktív vezérlõvel, majdnem mint egy hardveres
-equalizer, olyan kártyákhoz/\:vezérlõkhöz, amik nem támogatják a fényerõ és
-a kontraszt hardveres vezérlését.
-Hasznos lehet MEncoderrel is, akár a rosszul felvett filmek javításánál,
-akár a kontraszt csekély csökkentéséhez az alacsony bitráta miatti
-mellékhatások elrejtéséhez.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-kezdeti fényerõsség
-.IPs <\-100\-100>
-kezdeti kontraszt
-.RE
-.PD 1
-.
-.TP
-.B eq2[=gamma:kontraszt:fényerõ:telítettég:rg:gg:bg:súly]
-Alternatív szoftveres equalizer, ami lookup táblákat használ (nagyon
-lassú), mely tud gamma korrekciót az egyszerû fényerõ és kontraszt
-módosításon kívül.
-Figylj rá, hogy ugyan azt az MMX optimalizált kódot használja,
-mint a \-vf eq ha minden gamma érték 1.0.
-A paraméterek lebegõpontos értékként vannak megadva.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-kezdeti gamma érték (alapértelmezett: 1.0)
-.IPs <\-2\-2>
-kezdeti kontraszt, ahol a negatív értékek negatív képet
-eredményeznek (alapértelmezett: 1.0)
-.IPs <\-1\-1>
-kezdeti fényerõ (alapértelmezett: 0.0)
-.IPs <0\-3>
-kezdeti telítettség (alapértelmezett: 1.0)
-.IPs <0.1\-10>
-gamma érték a vörös komponenshez (alapértelmezett: 1.0)
-.IPs <0.1\-10>
-gamma érték a zöld komponenshez (alapértelmezett: 1.0)
-.IPs <0.1\-10>
-gamma érték a kék komponenshez (alapértelmezett: 1.0)
-.IPs <0\-1>
-Egy súly paraméter, ami a magas gamma érték csökkentésére használható a
-képek világos területein, pl.\& a túlerõsítés elkerülésére és a tiszta
-fehér megtartására.
-A 0.0 érték a gamma korrekciót teljesen kikapcsolja, míg az 1.0 értéknél
-teljes erõsségével mûködik (alapértelmezett: 1.0).
-.RE
-.PD 1
-.
-.TP
-.B hue[=színárnyalat:telítettség]
-Szoftveres equalizer interaktív vezérlõkkel, majdnem mint egy hardveres
-equalizer, olyan kártyákhoz/\:vezérlõkhöz, amik nem támogatják a színárnyalat
-és a telítettség hardveres vezérlését.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-kezdeti színárnyalat (alapértelmezett: 0.0)
-.IPs <\-100\-100>
-kezdeti telítettség, ahol a negatív értékek
-negatív színtelítettséget eredményeznek (alapértelmezett: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-A síkbeli YUV 4:2:0-bõl fél-magasságú csomagolt 4:2:2-be konvertál, a luma-t
-lemintázza de megtartja a chroma mintákat.
-Hasznos a kis felbontású képernyõkön történõ megjelenítéskor, amikor a hardveres
-lemintázás gyenge minõséget ad vagy nem használható.
-Használható mint primitív csak luma deinterlacer nagyon alacsony CPU használattal.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-Alapértelmezésben a halfpack a lemintázásnál sorpárokat átlagol.
-Bármilyen 0-tól és 1-tõl különbözõ érték az alapértelmezett (átlagoló)
-mûködést váltja ki.
-.RSss
-0: Csak a páros sorokat használja a lemintázásnál.
-.br
-1: Csak a páratlan sorokat használja a lemintázásnál.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=mód]
-Ha az átlapolt videót YUV 4:2:0 formátumban tárolják, a chroma
-átlapolás nem lesz megfelelõ a chroma csatornák függõleges lemintázása miatt.
-Ez a szûrõ összecsomagolja a síkbeli 4:2:0 adatokat YUY2 (4:2:2) formátumba,
-a chroma sorokat a megfelelõ helyükre téve, így bármilyen adott
-scanline-ban, a luma és a chroma adatok ugyanabból a mezõbõl származnak.
-.PD 0
-.RSs
-.IPs <mód>
-Mintázási mód kiválasztása.
-.RSss
-0: legközelebbi szomszéd mintázás, gyors, de hibás
-.br
-1: lineáris interpoláció (alapértelmezett)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-Csak a MEncoder-rel használható.
-Ha a harddup-ot használod kódolásnál, duplikált képkockákat fog belekódolni
-a kimenetbe.
-Ez valamivel több helyet igényel, de szükséges az MPEG kimenethez
-vagy ha kódolás után demux-álást vagy remux-álást tervezel.
-A szûrõ lánc végén vagy ahhoz közel kell elhelyezni, hacsak nincs jó indokod
-ennek ellenkezõjére.
-.
-.TP
-.B softskip
-Csak a MEncoder-rel használható.
-A softskip a képkocka kihagyás (eldobás) lépését a szûrõ lánc elejérõl egy
-tetszõleges pontra halasztja a szûrõ láncban.
-Így az olyan szûrõk, melyek mûködéséhez az összes képkocka kell (inverz
-telecine, ideiglenes zajcsökkentés, stb.) hibátlanul fognak mûködni.
-Azon szûrõk után kell elhelyezni, melyeknek az összes képkockára szükségük
-van és az összes CPU igényes szûrõ elé kell tenni.
-.
-.TP
-.B decimate[=max:hi:lo:frac]
-Eldobja azokat a képkockákat, melyek nem különböznek nagyon az elõzõtõl,
-a frameráta csökkentése érdekében.
-Fõ célja ennek a szûrõnek a nagyon alacsony bitrátás kódolások (pl.\&
-stream-elés dialup modem-en), de elméletben jó a hibás inverz-telecine-en
-áteresztett filmek kijavításához is.
-.PD 0
-.RSs
-.IPs <max>
-Beállítja az egymás utáni képkockák maximális számát, amit el lehet
-dobni (ha pozitív), vagy a minimális idõköz az eldobott képkockák
-között (ha negatív).
-.IPs <hi>,<lo>,<frac>
-Egy képkocka akkor lesz kijelölve eldobásra, ha minden 8x8-as területe
-jobban különbözik, mint a <hi> és nem több, mint <frac> része (1
-jelenti a teljes képet) különbözik a <lo> értéknél jobban.
-A <hi> és <lo> értékei a 8x8 pixel blokkokra vonatkoznak és az aktuális
-pixel érték különbségeket jelölik, így a 64-es határérték 1 egységnyi
-eltérést jelent minden egyes pixelen vagy ugyanezt a különbséget a
-blokkban egyenletlenül elhelyezkedve.
-.RE
-.PD 1
-.
-.TP
-.B dint[=érzet:szint]
-A drop-deinterlace (dint) szûrõ detektálja és eldobja az átlapolt videó
-kockákból az elsõt.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-relatív különbözõség a szomszédos pixelek között (alapértelmezett: 0.1)
-.IPs <0.0\-1.0>
-A kép mekkora részét kell átlapoltként detektálni a képkocka eldobásához
-(alapértelmezett: 0.15).
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (IDEJÉTMÚLT)
-Az FFmpeg deinterlacing szûrõje, ugyan az, mint a \-vf pp=fd
-.
-.TP
-.B kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
-Donald Graft adaptív kernel deinterlacer-e.
-Deinterling-ot hajt végre a videó egyes részein, ha a beállított küszöböt átlépi.
-.PD 0
-.RSs
-.IPs <0\-255>
-küszöb (alapértelmezett: 10)
-.IPs <map>
-.RSss
-0: A küszöböt meghaladó pixelek figyelmen kívül hagyása (alapértelmezett).
-.br
-1: A küszöböt meghaladó pixelek fehérre festése.
-.REss
-.IPs <order>
-.RSss
-0: Egyedül hagyja a mezõket (alapértelmezett).
-.br
-1: Megcseréli a mezõket.
-.REss
-.IPs <sharp>
-.RSss
-0: A további élesítés kikapcsolása (alapértelmezett).
-.br
-1: A további élesítés bekapcsolása.
-.REss
-.IPs <twoway>
-.RSss
-0: Kikapcsolja a kétutas élesítést (alapértelmezett).
-.br
-1: Bekapcsolja a kétutas élesítést.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cWxH:mennyiség[:l|cWxH:mennyiség]]
-homályosító maszk / gauss elmosás
-.RSs
-.IPs "l\ \ \ \ "
-Az effektus érvényesítése a luma komponensen.
-.IPs "c\ \ \ \ "
-Az effektus érvényesítése a chroma komponensen.
-.IPs <width>x<height>
-a mátrix szélessége és magassága, páratlan számú mintkét irányban
-(min = 3x3, max = 13x11 vagy 11x13, általában 3x3 és 7x7 között valami)
-.IPs mennyiség
-A képhez hozzáadott élesség/\:elmosás relatív értéke
-(az ésszerû értéke \-1.5\-1.5).
-.RSss
-<0: elmosás
-.br
->0: élesítés
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-U & V sík felcserélése.
-.
-.TP
-.B il[=d|i][s][:[d|i][s]]
-Sorok (de)interleave-olása.
-Ezen szûrõ célja, hogy az átlapolt képeket deinterlacing nélkül is fel
-lehessen dolgozni.
-Szûrheted az átlapolt DVD-det és lejátszhatod TV-n az interlacing elrontása
-nélkül.
-Deinterlacing közben (az utófeldolgozó szûrõvel) az átlapolás véglegesen
-eltûnik (simítással, átlagolással, stb.), a deinterleaving felosztja a keretet
-2 mezõre (úgy nevezett félképekre), így függetlenül fel tudod dolgozni
-(szûrni) majd újra interleave-elni õket.
-.PD 0
-.RSs
-.IPs d
-deinterleave (egyiket a másik után)
-.IPs i
-interleave
-.IPs s
-mezõk felcserélése (felcseréli a páros & páratlan sorokat)
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-Sorok (de)interleave-olása.
-Ez a szûrõ nagyon hasonló az il szûrõhöz, de sokkal gyorsabb, a nagy hátránya,
-hogy nem mindig mûködik.
-Különösen más szûrõkkel kombinálva véletlenszerûen elrontott képet produkál,
-így örülj neki, ha mûködik és ne panaszkodj, ha nem megy a te szûrõkombinációddal.
-.PD 0
-.RSs
-.IPs d
-Mezõk deinterleave-je, egymás mellé helyezve õket.
-.IPs i
-Mezõk újbóli interleave-je (a fil=d érvénytelenítése).
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-Kicsomagol egy egyedüli mezõt egy átlapolt képbõl stride aritmetikával
-a CPU idõ elvesztegetésének megelõzésére.
-Az n opcionális argumentum megadja, hogy a páros vagy páratlan
-mezõt kell-e kicsomagolni (attól függõen, hogy n páros vagy páratlan).
-.
-.TP
-.B detc[=valt1=érték1:valt2=érték2:...]
-Megpróbálja visszafordítani a 'telecine' eljárást, hogy visszakapj
-egy tiszta, nem átlapolt folyamot a film framerátájával.
-Ez volt az elsõ és legpromitívebb inverz telecine szûrõ, mely
-bekerült az MPlayer/\:MEncoder-be.
-Úgy mûködik, hogy csatlakozik a telecine 3:2-es mintájához és követi,
-amíg csak lehetséges.
-Emiatt a tökéletesen telecine-lt anyagokhoz megfelelõ, akár még egy
-elfogadható szintû zaj mellett is, de sikertelen komplex, telecine utáni
-szerkesztések esetén.
-Ezen szûrõ fejlesztése már nem zajlik, mivel az ivtc, pullup és
-filmdint jobbak a legtöbb esetben.
-A következõ argumentumokkal (lásd a szintaktikát feljebb) a detc mûködése
-befolyásolható:
-.RSs
-.IPs "<dr>\ "
-Beállítja a képkocka eldobás módját.
-.RSss
-0: Ne dobjon el képkockát a fix kimeneti frameráta megtartásához (alapértelmezett).
-.br
-1: Mindig dobjon el egy képkockát, ha nem volt eldobás vagy a telecine
-összevonta a legutóbbi 5 képkockát.
-.br
-2: Mindig tartsa meg az 5:4-es bemenetet a kimeneti kép arányban.
-.br
-.I MEGJEGYZÉS:
-A MEncoder-rel használd az 1-es vagy 2-es módot.
-.REss
-.IPs "<am>\ "
-Analízis mód.
-.RSss
-0: Fix minta, megadott <fr> kezdeti képszámmal.
-.br
-1: agresszív keresés a telecine minta után (alapértelmezett)
-.REss
-.IPs "<fr>\ "
-A sorban kezdõ képkocka beállítása.
-0\-2 a tiszta progresszív kockák; 3 és 4 a két átlapolt kocka.
-Az alapértelmezett \-1 azt jelenti, hogy 'nincs telecine sorrendben'.
-Az itt megadott szám a film kezdete elõtti elképzelt kocka típusa.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-Az egyes módokban használandó küszöbértékek.
-.RE
-.
-.TP
-.B ivtc[=1]
-Kísérleti 'hontalan' inverse telecine szûrõ.
-A detc szûrõvel ellentétben az ivtc nem kötõdik a mintákhoz,
-hanem független döntéseket hoz minden képkockánál.
-Ez sokkal jobb eredményt ad az olyan anyagoknál, amelyek komoly
-szerkesztésen estek át a telecine után, de az eredmény nem olyan
-elnézõ a zajjal szemben, például lementett TV adás esetén.
-Az opcionális paraméter (ivtc=1) megfelel a detc szûrõ dr=1
-opciójának és csak a MEncoder-rel használható az MPlayerrel nem.
-Mint a detc-vel, itt is meg kell adnod a megfelelõ kimeneti
-framerátát (\-ofps 24000/1001) a MEncoder használatakor.
-Az ivtc további fejleszése megállt, mivel a pullup és a filmdint
-szûrõk sokkal megfelelõbbeknek tûnnek.
-.
-.TP
-.B pullup[=jl:jr:jt:jb:sb:mp]
-Harmadik generációs fordított pulldown (inverz telecine) szûrõ,
-mely képes kezelni a kevert hard-telecine-s, 24000/1001 fps-es
-progresszív és 30000/1001 fps-es progresszív tartalmat.
-A pullup szûrõ sokkal robosztusabbra lett tervezve, mint a detc vagy
-az ivtc, az elkövetkezõ környezet elõnyeit kihasználva a döntéseknél.
-Mint az ivtc, a pullup is állapotmentes abban az értelemben, hogy nem
-kötõdik a minták követéséhez, ehelyett a következõ mezõket vizsgálja
-az összeillesztések azonosításához és a progresszív képkockák
-felépítéséhez. Még feljesztés alatt áll, de nagyon használhatónak
-tûnik.
-.RSs
-.IPs "jl, jr, jt, and jb"
-Ezek az értékek a "szemét" mértékét, amit figyelmen
-kívül kell hagyni a kép bal, jobb, felsõ és alsó részén.
-A bal/\:jobb egység 8 pixel-es, a felsõ/\:alsó egység 2 soros.
-Az alapértelmezett 8 pixel minden oldalon.
-.br
-.IPs "sb (strict breaks)"
-Ezen opció 1-re állítása csökkenti annak az esélyét,
-hogy a pullup véletlenül hibás párosítású képkockát generáljon, de a
-gyors mozgású jeleneteknél túlzott mértékû képkocka eldobást is
-eredményezhet.
-Fordított helyzetben, \-1-re állítva a pullup sokkal könnyebben
-párosítja a mezõket.
-Ez segíti a videó utófeldolgozását azokon a helyeken, ahol kicsi
-elmosódás van a mezõk között, de átlapolt képkockák kimenetbe kerülését
-is okozhatja.
-.br
-.IPs "mp (metric plane)"
-Ezt az opciót javasolt 1-re vagy 2-re állítani a
-luma sík helyett a chroma sík használatához a pullup számításokban.
-Ez növeli a hatékonyságot a nagyon tiszta anyagokon, de sokkal inkább
-csökkenti, különösen ha chroma zaj van (szívárvány effektus) vagy
-fekete-fehér a videó.
-A fõ oka az mp chroma síkra történõ állításának a CPU terhelés
-csökkentése és a pullup realtime valamint lassú gépeken történõ
-használata lehet.
-.REss
-.RS
-.sp 1
-.I MEGJEGYZÉS:
-A pullup-ot mindig kövesse egy softskip szûrõ kódolásnál, hogy biztos
-legyen, hogy a pullup minden képkockát lát.
-Ha ez elmarad, akkor a kimenet hibás lehet és általában össze is
-omlik, a codec/\:szûrõ réteg tervezésbeli korlátai miatt.
-.REss
-.
-.TP
-.B filmdint[=opciók]
-Inverz telecine szûrõ, hasonló a fenti pullup szûrõhöz.
-Úgy lett tervezve, hogy kezeljen minden pulldown mintát, beleértve a
-kevert soft és hard telecine-t és korlátozottan támogatja azokat a
-filmeket, melyek le lettek lassítva vagy fel lettek gyorsítva az
-eredeti TV framerátához képest.
-Csak a luma síkot használja a kocka váltások megtalálásához.
-Ha nincs mezõtalálat, akkor egy egyszerû lineáris becsléssel
-deinterlacing-ol.
-Ha a forrás MPEG-2, akkor ennek kell lennie az elsõ szûrõnek, hogy
-hozzáférjen a mezõ-flag-ekhez, melyeket az MPEG-2 dekódoló állít be.
-A forrás MPEG-tõl függõen, ajánlott figyelmen kívül hagynod ezt a
-tanácsot, amíg nem látsz sok "Bottom-first field" figyelmeztetést.
-Opció nélkül normális inverz telecine-t hajt végre és a mencoder
-\-fps 30000/1001 \-ofps 24000/1001 kapcsolóival együtt kell használni.
-Ha ezt a szûrõt MPlayerrel használod, egyenletlen framerátát eredményez
-lejátszás közben, de általában még ez is jobb, mint a pp=lb vagy a
-deinterlacing mellõzése.
-Több opció is megadható / jellel elválasztva.
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-Ugyan az, mint a crop szûrõ, de gyorsabb és kevert hard és soft
-telecine-s tartalommal is mûködik, feltéve, hogy az y nem 4 többszöröse.
-Ha az x vagy az y miatt részlegesen kell vágni a pixeleket a chroma
-síkon, a vágási terület ki lesz bõvítve.
-Ez általában azt helenti, hogy az x-nek és y-nak párosnak kell lennie.
-.IPs io=<ifps>:<ofps>
-Minden ifps bemeneti képkockára a szûrõ ofps kimeneti képkockát ad.
-Az ifps/\:ofps arányának meg kell felelnie a \-fps/\-ofps aránynak.
-Olyan filmeknél kell használni, amelyeket TV-n vetítenek az eredeti
-framerátától különbözõ framerátával.
-.IPs luma_only=<n>
-Ha az n nem nulla, a chroma sík módosítatlanul kerül átmásolásra.
-Ez YV12 mintás TV-n hasznos, ami figyelmen kívül hagyja az egyik chroma mezõt.
-.IPs mmx2=<n>
-x86-oson ha n=1, MMX2-re optimalizált, ha n=2, 3DNow!-ra optimalizált,
-különben pedig sima C függvényeket használ.
-Ha ez az opció nincs megadva, az MMX2 és 3DNow! automatikusan lesz
-detektálva, ezzel az opcióval az automatikus felirmerést bírálhatod felül.
-.IPs fast=<n>
-Nagyobb n felgyorsítja a szûrõt a hatékonyság kárára.
-Az alapértelmezett érték n=3.
-Ha az n páratlan, egy kockát követõ kocka, mely rendelkezik a
-REPEAT_FIRST_FIELD MPEG flag-gel, progresszívnek lesz feltételezve,
-így a szûrõ nem fog idõt pazarolni a soft-telecine-s MPEG-2 tartalomra.
-Ha az MMX2 vagy a 3DNow! elérhetõ, akkor csak ennyi ezen flag hatása.
-MMX2 és 3DNow nélkül ha n=0 vagy 1, ugyan azt a számítást használja, mint
-az n=2 vagy 3 esetén.
-Ha n=2 vagy 3, a kockahatárok kereséséhez használt luma szintek száma
-lecsökken 256-ról 128-ra, ami gyorsabb szûrõt eredményez túlzott
-hatékonyság-csökkenés nélkül.
-Ha n=4 vagy 5, egy még gyorsabb, de kevésbé hatékony ütemezést fog használni
-a kockaváltások kereséséhez, ami valószínûleg tévesen detektálja a gazdag
-függõleges részletességû kockákat átlapolt tartalomként.
-.IPs verbose=<n>
-Ha az n nem nulla, részletesebb metriát ír ki minden kockához.
-Debug-oláshoz hasznos.
-.IPs dint_thres=<n>
-Deinterlace küszöb.
-A nem megtalált kockák deinterlacing-jénél használatos.
-A nagyobb érték kisebb deinterlacing-et jelent, használj n=256-ot a
-deinterlacing teljes kikapcsolásához.
-Az alapértelmezett n=8.
-.IPs comb_thres=<n>
-Küszöb a felsõ és alsó mezõk összehasonlításához.
-Alapértelmezetten 128.
-.IPs diff_thres=<n>
-Küszöb az ideiglenes mezõváltások kereséséhez.
-Alapértelmezetten 128.
-.IPs sad_thres=<n>
-Az abszolút differencia küszöb összege, alapértelmezésben 64.
-.RE
-.
-.TP
-.B softpulldown
-Ez a szûrõ csak MEncoder-rel mûködik jól és a 3:2-es soft pulldown (soft
-telecine) esetén használt MPEG-2 flag-ekre van hatása.
-Ha használni akarod az ivtc vagy detc szûrõt részben soft telecine-s
-filmen, ezen szûrõ beszúrása eléjük sokkal megbízhatóbbá teszi a
-mûködésüket.
-.
-.TP
-.B divtc[=options]
-Inverz telecine a deinterlace-s videóhoz.
-Ha a 3:2-pulldown telecine-s videóban elveszett egyik mezõ vagy olyan
-módszerrel lett deinterlace-lve, ami megtartja az egyik mezõt és interpolálja
-a másikat, az eredmény egy vibráló videó lesz, amiben minden negyedik kocka
-duplázott. Ez a szûrõ ezeket a duplikálásokat keresi és szûnteti meg és
-visszaállítja az eredeti film framerátáját.
-Ezen szûrõ használatakor meg kell adnod a \-ofps kapcsolót, ami a
-bemeneti fájl fps-ének 4/5-e és meg kell adnod a softskip-et valahol
-hátrébb a szûrõláncban, hogy a divtc az összes kockát lássa.
-Két különbözõ mód érhetõ el:
-Az egy lépéses mód az alapértelmezett és javasoljuk a használatát, de megvan
-az a hátránya, hogy bármilyen változás a telecine fázisban (elveszett
-kocka vagy rossz szerkesztés) pillanatnyi villanást okoz, amíg a szûrõ
-újra tud szinkronizálni.
-A két lépéses mód elkerüli ezt a teljes videó elõzetes analizálásával,
-így tudomása lesz a fázis változásokról és a megfelelõ helyen tud
-szinkronizálni.
-Ezek a lépések
-.B nem
-azonosak a kódolási eljárás elsõ és második lépésével.
-Egy extra lépést kell lefuttatnod a divtc elsõ lépésének felhasználásával
-mielõtt az aktuális kódolási lépés eldobná a videót.
-Használd a \-nosound \-ovc raw \-o /dev/null kapcsolót a CPU idõ
-vesztegetésének elkerüléséhez.
-További gyorsításhoz a divtc után megadhatsz valami olyat, mint a crop=2:2:0:0.
-Ezután a divtc második lépését használd az aktuális kódoláshoz.
-Ha több kódolási lépést használsz, a divtc második lépését használd
-mindegyikhez.
-Az opciók:
-.RSs
-.IPs pass=1|2
-Két lépéses mód használata.
-.IPs file=<fájlnév>
-Beállítja a második lépés logjának fájlnevét (alapértelmezett: "framediff.log").
-.IPs threshold=<érték>
-A telecine-s minták minimum erõsségét adja meg, mely szükséges ahhoz, hogy
-a szûrõ annak vegye (alapértelmezett: 0.5).
-Ez a hibás minták felismerésének kivédésére használható a videó nagyon sötét
-vagy nagyon álló részein.
-.IPs window=<numframes>
-Mintakeresésnél a vizsgálandó utólagos kockák számát adja meg
-(alapértelmezett: 30).
-A hosszabb ablak növeli a mintakeresés megbízhatóságát, a rövidebb ablak
-viszont csökkenti a változások reakció idejét a telecine fázisban.
-Ez csak az egy lépéses módot érinti.
-A két lépéses mód jelenleg fix méretû ablakot használ, ami mind visszafelé,
-mint elõre lévõ kockákat magábanfoglal.
-.IPs phase=0|1|2|3|4
-Beállítja a kezdeti telecine fázist az egy lépéses módnál (alapértelmezett: 0).
-A két lépéses mód látja a filmet, így a megfelelõ fázist tudja alkalmazni
-a kezdetektõl, az egy lépéses azonban csak találgatni tud.
-Ha megtalálta, akkor marad a megfelelõ fázisnál, de ez az opció használható
-a kezdetben jelentkezõ esetleges villódzás elkerülésére is.
-A két lépéses mód elsõ lépése is használja ezt, ezért ha elmented az elsõ lépés
-kimenetét, konstans fáziseredményt kapsz.
-.IPs deghost=<érték>
-A deghosting küszöb (0\-255 egy lépéses módban, \-255\-255 két lépéses módban,
-alapértelmezetten 0).
-Ha nem nulla, a deghosting mód lesz használva.
-Ez olyan videókhoz van, amik a mezõk összekeverésével lett deinterlacing-elve
-egyik mezõ eldobása helyett.
-A deghosting növeli a kevert kockák bármilyen tömörítési hibáját, ezért
-az érték paraméter küszöbként lesz használva, hogy azok a pixelek ki legyenek
-zárva a deghosting-ból, amiknek az eltérése az elõzõ kockához képest a
-küszöbnél kisebb. Ha két lépéses módot használsz, a negatív érték a teljes
-videó analizálásához használható a második lépés elején, annak megállapítására,
-hogy egyáltalán szükséges-e a deghosting vagy sem és ezután a nulla vagy a
-paraméter abszolút értéke lesz használva.
-Ezen opció megadása a második lépésben nem változtatja meg az elsõ lépést.
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-Egy mezõnyi idõvel késlelteti az átlapolt videót, így a mezõsorrend
-megváltozik. A szándékolt használata a PAL filmek javítása, melyek film
-videóba való átvitelekor használttal ellentétes mezõsorrenddel lettek felvéve.
-Az opciók:
-.RSs
-.IPs t
-A mentett mezõk top-first, az átvitel bottom-first sorrendû.
-A szûrõ az alsó mezõt fogja késleltetni.
-.IPs b
-A mentés bottom-first, az átvitel top-first.
-A szûrõ a felsõ mezõt fogja késleltetni.
-.IPs p
-Mentés és átvitel azonos mezõsorrenddel.
-Ez a mód csak azért létezik, hogy a többi dokumentációja tudjon valamire
-hivatkozni, de ha kiválasztod, a szûrõ nem csinál semmit. ;-)
-.IPs a
-A mentés mezõsorrendje automatikusan kerül megállapításra a mezõ flag-ekbõl,
-az átvitel ennek ellentéte.
-A szûrõ választ a t és b mód közül egy mezõrõl mezõre történõ vizsgálattal,
-a mezõ flag-ek segítségével. Ha nincs elérhetõ mezõinformáció,
-akkor ugyan az, mint az u.
-.IPs u
-A mentés ismeretlen vagy változó, az átvitel az ellentéte.
-A szûrõ választ a t és a b közül egy mezõrõl mezõre történõ képanalízissel,
-és azt választja, amelyik a legjobb párosítást adja a mezõk között.
-.IPs T
-A mentés top-first, az átvitel ismeretlen vagy változó.
-A szûrõ t és p közül választ képanalízissel.
-.IPs B
-A mentés bottom-first, az átvitel ismeretlen vagy változó.
-A szûrõ választ b és p közül képanalízissel.
-.IPs A
-A mentés típusát a mezõflag-ek alapján határozza meg, az átvitel ismeretlen
-vagy változó. A szûrõ választ a t, b és p küzül a mezõ flag-ek és
-képanalízis segítségével. Ha nem érhetõ el a mezõinformáció, akkor
-ugyan úgy mûködik, mint az u. Ez az alapértelmezett mód.
-.IPs U
-Mind a mentés, mint az átvitel ismeretlen vagy változó.
-A szûrõ választ t, b és p közül képanalízissel.
-.IPs v
-Bõbeszédû mûködés.
-Kiírja a kiválasztott módot minden képkockához és négyzetes különbség átlagot
-számol a mezõkhöz a t, b és p alternatívákhoz.
-.RE
-.
-.TP
-.B telecine[=start]
-3:2-es 'telecine' eljárást alkalmaz a frameráta 20%-os növelésére.
-Ez valószínûleg nem fog jól mûködni az MPlayerrel, de használható a
-'mencoder \-fps 30000/1001 \-ofps 30000/1001 \-vf telecine' paranccsal.
-Mintkét fps opció fontos!
-(A/V szinkron sérül, ha valamelyik rossz.)
-Az opcionális start paraméter megmondja a szûrõnek, hogy hol kezdjen a
-telecine mintában (0\-3).
-.
-.TP
-.B tinterlace[=mód]
-Ideiglenes mezõ átlapolás \- a képkocka párokat egy átlapolt képkockába vonja
-össze, megfelezve a framerátát.
-A páros kockák kerülnek a felsõ mezõbe, a páratlanok az alsóba.
-Ezzel teljesen megfordítható a tfields szûrõ hatása (0-ás módban).
-A használható módok:
-.PD 0
-.RSs
-.IPs 0
-A páratlan kockák kerülnek a felsõ mezõbe, a páratlanok az alsó mezõbe, így
-egy teljes magasságú kockát egy fél framerátában elkészít.
-.IPs 1
-Csak a páratlan kockák kerülnek a kimenetre, a párosak el lesznek dobva; a magasság nem változik.
-.IPs 2
-Csak a páros kockák kerülnek a kimenetre, a páratlanok el lesznek dobva; a magasság nem változik.
-.IPs 3
-Minden kockát teljes magasságúvá növel, de a váltakozó sorok feketék lesznek;
-a frameráta változatlan.
-.IPs 4
-Átlapolja a páros kockák páros sorait a páratlan kockák páratlan soraival.
-Változatlan magasság mellett a frameráta felezõdik.
-.RE
-.PD 1
-.
-.TP
-.B tfields[=mód[:mezõ_dominancia]]
-Ideiglenes mezõ szétválasztás \- a mezõket kockákra vágja, megduplázva a
-kimeneti framerátát.
-Csakúgy mint a telecine szûrõ, a tfields sem biztos, hogy helyesen mûködik,
-csak ha MEncoder-rel használod és az \-fps és \-ofps be van állítva a
-kívánt (dupla) framerátára!
-.PD 0
-.RSs
-.IPs <mód>
-0: Változatlanul hagyja a mezõket (ez ugrálni/\:villogni fog).
-.br
-1: Interpolálja a hiányzó sorokat. (A használt algoritmus nem túl jó.)
-.br
-2: Eltolja a mezõket 1/4 pixellel, lineáris interpolációval (nincs ugrás).
-.br
-4: Eltolja a mezõket 1/4 pixellel, 4tap szûrõvel (jobb minõségû) (alapértelmezett).
-.IPs <mezõ_dominancia>\ (IDEJÉTMÚLT)
-\-1: auto (alapértelmezett)
-Csak akkor mûködik, ha a dekódoló exportálja a megfelelõ információkat
-és nincs semmilyen más, ezen információkat eldobó szûrõ betöltve a
-tfields elõtt, különben visszalép 0-ra (felsõ mezõ elõször).
-.br
-0: felsõ elõször
-.br
-1: alsó elõször
-.br
-.I MEGJEGYZÉS:
-Ez az opció valószínûleg el lesz távolítva a jövõbeli verziókból.
-Használd inkább a \-field\-dominance kapcsolót.
-.RE
-.PD 1
-.
-.TP
-.B yadif=[mód[:mezõ_dominancia]]
-Még egy deinterlacing szûrõ
-.PD 0
-.RSs
-.IPs <mód>
-0: Minden egyes kockához 1 kocka kimenet.
-.br
-1: Minden egyes mezõhöz 1 kocka kimenet.
-.br
-2: Mint a 0, de kihagyja a térbeli interlacing ellenõrzést.
-.br
-3: Mint az 1, de kihagyja a térbeli interlacing ellenõrzést.
-.IPs <mezõ_dominancia>\ (IDEJÉTMÚLT)
-Úgy mûködik, mint a tfields-nél.
-.br
-.I MEGJEGYZÉS:
-Ez az opció valószínûleg el lesz távolítva a jövõbeli verziókból.
-Használd inkább a \-field\-dominance kapcsolót.
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[mód[:paritás[:qp]]]
-Mozgás kompenzációs deinterlacer.
-Bemenetként egy mezõ/kocka szükséges, ezért a tfields=1,
-yadif=1/3 vagy azonos kapcsolóval együtt kell használni.
-.PD 0
-.RSs
-.IPs <mód>
-0: gyors
-.br
-1: közepes
-.br
-2: lassú, iteratív mozgás becslés
-.br
-3: nagyon lassú, mint a 2 plusz többszörös referencia kockák
-.IPs <paritás>
-0 vagy 1 válaszja ki a használandó mezõt (figyelj, még nincs automatikus detektálás!).
-.IPs "<qp>\ "
-A nagyobb értékek simább mozgásvektort eredményeznek,
-de kevésbé optimális egyéni vektort adnak.
-.RE
-.PD 1
-.
-.TP
-.B boxblur=hatáskör:erõsség[:hatáskör:erõsség]
-box blur
-.PD 0
-.RSs
-.IPs <hatáskör>
-blur szûrõ erõssége
-.IPs <erõsség>
-szûrõ alkalmazásának száma
-.RE
-.PD 1
-.
-.TP
-.B sab=hatáskör:pf:colorDiff[:hatáskör:pf:colorDiff]
-shape adaptív blur
-.PD 0
-.RSs
-.IPs <hatáskör>
-blur szûrõ erõssége (~0.1\-4.0) (lassabb ha nagyobb)
-.IPs "<pf>\ "
-elõszûrõ erõssége (~0.1\-2.0)
-.IPs <colorDiff>
-maximális eltérés a pixel-ek között, amit még figyelembe kell venni (~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B smartblur=hatáskör:erõsség:küszöb[:hatáskör:erõsség:küszöb]
-smart blur
-.PD 0
-.RSs
-.IPs <hatáskör>
-blur szûrõ erõssége (~0.1\-5.0) (lassabb, ha nagyobb)
-.IPs <erõsség>
-elmosás (0.0\-1.0) vagy élesítés (\-1.0\-0.0)
-.IPs <küszöb>
-mindent szûr (0), sík területek szûrése (0\-30) vagy sarkok szûrése (\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-Azon filmek perspektívájának javítása, melyeket nem a képernyõre merõlegesen vettek fel.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-a bal felsõ, jobb felsõ, bal alsó, jobb alsó sarkok
-.IPs "<t>\ \ "
-lineáris (0) vagy köbös resampling (1)
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-A kép méretezése és finomítása a 2x méretezõ és interpoláló algoritmussal.
-.
-.TP
-.B "1bpp\ \ \ "
-1bpp bitkép YUV/\:BGR 8/\:15/\:16/\:32 konvertálása
-.
-.TP
-.B down3dright[=sorok]
-Térhatású képek újrapozícionálása és átméretezése.
-Mindkét sztereó mezõt kiszedi és egymás mellé teszi õket, átméretezve,
-hogy az eredeti film arányt megtartsák.
-.PD 0
-.RSs
-.IPs <sorok>
-a kiválasztandó sorok száma a kép közepétõl (alapértelmezett: 12)
-.RE
-.PD 1
-.
-.TP
-.B bmovl=hidden:opaque:fifo
-A bitkép átlapoló szûrõ beolvassa a bitképeket egy FIFO-ból és megjeleníti
-õket a filmen, engedve néhány képtranszformációt.
-Lásd még a kis bmovl teszt programot a TOOLS/bmovl-test.c fájlban.
-.PD 0
-.RSs
-.IPs <hidden>
-A 'hidden' (rejtett) flag alapértelmezett értéke (0=látható, 1=rejtett).
-.IPs <opaque>
-Az 'opaque' flag alapértelmezett értéke (0=átlátszó, 1=nem átlátszó).
-.IPs <fifo>
-elérési út/\:fájlnév a FIFO-hoz (nevezett pipe, mely az 'mplayer \-vf bmovl'-t
-az irányító alkalmazáshoz köti)
-.RE
-.PD 1
-.sp 1
-.RS
-A FIFO parancsok:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 szélesség magasság xpos ypos alpha clear"
-szélesség*magasság*4 bájtnyi nyers RGBA32 adat követi.
-.IPs "ABGR32 szélesség magasság xpos ypos alpha clear"
-szélesség*magasság*4 bájtnyi nyers ABGR32 adat követi.
-.IPs "RGB24 szélesség magasság xpos ypos alpha clear"
-szélesség*magasság*3 bájtnyi nyers RGB24 adat követi.
-.IPs "BGR24 szélesség magasság xpos ypos alpha clear"
-szélesség*magasság*3 bájtnyi nyers BGR24 adat követi.
-.IPs "ALPHA szélesség magasság xpos ypos alpha"
-A megadott terület alfa átlátszóságát változtatja meg.
-.IPs "CLEAR szélesség magasság xpos ypos"
-Terület törlése.
-.IPs OPAQUE
-Az alfa átlátszóság kikapcsolása.
-"ALPHA 0 0 0 0 0" kiküldésével engedélyezhetõ újra.
-.IPs "HIDE\ "
-Bittérkép elrejtése.
-.IPs "SHOW\ "
-Bittérkép megjelenítése.
-.RE
-.PD 1
-.sp 1
-.RS
-Argumentumok:
-.RE
-.PD 0
-.RSs
-.IPs "<szélesség>, <magasság>"
-kép/terület mérete
-.IPs "<xpos>, <ypos>"
-Kezdõ x/y pozíció.
-.IPs <alpha>
-Alfa különbség beállítása.
-Ha \-255-re állítod, utána ALPHA-parancsok sorozatának kiküldésével a
-területet \-225, \-200, \-175, stb. értékre állíva szép elõtûnést kapsz! ;)
-.RSss
-0: ugyan az, mint az eredeti
-.br
-255: Minden átlátszatlan.
-.br
-\-255: Minden átlátszó.
-.REss
-.IPs <clear>
-Framebuffer kiürítése.
-.RSss
-0: A kép csak a régin lesz módosítva, így nem kell minden alkalommal 1,8MB-nyi
-RGBA32 adatot kiküldened, amikor a kép egy kis része frissül.
-.br
-1: törlés
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]lépés
-Csak minden n. képkockát renderel vagy minden intra képkockát (kulcs képkocka).
-.sp 1
-Ha paraméterként I-vel (nagy betû) hívod meg a szûrõt, akkor
-.B csak
-a kulcs képkockák lesznek renderelve.
-DVD-knél ez általában minden 15/12 képkockából egyet jelent (IBBPBBPBBPBBPBB),
-AVI-nál minden jelenetváltásnál vagy minden keyint értéknél (lásd \-lavcopts
-keyint= érték ha a MEncoder-rel kódoltad a videót).
-.sp 1
-Ha egy kulcs képkockát talál, egy 'I!' és egy újsor karakter kerül kiírásra,
-meghagyva az MPlayer/\:MEncoder kimenetének aktuális sorát a képernyõn,
-mivel az tartalmazza az idõt (másodpercben) és a kulcs kocka számát
-(Ezekkel az információkkal tudod szétvágni az AVI-t.).
-.sp 1
-Ha egy 'lépés' numerikus paraméterrel hívod meg a szûrõt, akkor csak 'lépés'-enként
-egy képkocka lesz renderelve.
-.sp 1
-Ha egy 'i'-t (kisbetû) adsz meg a szám elõtt, akkor az 'I!' kiíródik
-(mint az I paraméternél).
-.sp 1
-Ha csak az i-t adod meg, akkor semmi sem történik a képkockákkal, csak az I!
-kerül kiírásra.
-.
-.TP
-.B tile=xtiles:ytiles:kimenet:start:delta
-Mozaikszerûen összerakja képek sorozatát egy nagy képbe.
-Ha elhagysz egy paramétert vagy 0-nál kisebb értéket használsz, akkor az
-alapértelmezett érték lesz használva.
-Ha elégedett vagy, meg is állhatsz (... \-vf tile=10:5 ...).
-A scale szûrõt lehetõleg a tile szûrõ elõtt használd :-)
-.sp 1
-A paraméterei:
-.sp 1
-.PD 0
-.RSs
-.IPs <xtiles>
-mozaikok száma az x tengelyen (alapértelmezett: 5)
-.IPs <ytiles>
-mozaikok száma az y tengelyen (alapértelmezett: 5)
-.IPs <output>
-A mozaik renderelése, ha 'kimenet' számú képkocka megvan, ahol a 'kimenet'
-egy xtile * ytile értéknél kisebb szám.
-A hiányzó mozaikok sötétek lesznek.
-Például egy 8 * 7-es mozaiknál megadhatsz minden 50. képkockát,
-így 25 fps-nél 2 másodpercenként kapsz egy képet.
-.IPs <start>
-külsõ határ vastagsága pixelekben (alapértelmezett: 2)
-.IPs <delta>
-belsõ határ vastagsága pixelekben (alapértelmezett: 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:w:h:t]
-Elrejti a TV állomás logóját a környezõ pixel-ek egyszerû interpolációjával.
-Csak állítsd be a logót takaró téglalapot és nézd, hogy tûnik el (és néha
-valami még ocsmányabb jelenik meg \- az eredmény változhat).
-.PD 0
-.RSs
-.IPs <x>,<y>
-a logo bal felsõ sarka
-.IPs <w>,<h>
-a törölt téglalap szélessége és magassága
-.IPs <t>
-A téglalap zavaros szélének vastagsága (hozzáadódik a w és h értékéhez).
-Ha \-1-re állítod, egy zöld téglalap lesz kirajzolva a képernyõre a
-helyes x,y,w,h paraméterek könnyebb meghatározásához.
-.RE
-.PD 1
-.
-.TP
-.B remove\-logo=/eleresi/ut/logo_bitmap_fajl_nev.pgm
-Elrejti a TV állomás logóját úgy, hogy egy PGM vagy PPM kép fájl
-segítségével állapítja meg, mely pixel-ek alkotják a logót.
-A kép fájl szélességének és a magasságának illeszkednie kell
-a feldolgozandó videó folyam méreteihez.
-A szûrõ képet és egy körkörös elmosási algoritmust
-használ a logó eltüntetéséhez.
-.RSs
-.IPs /eleresi/ut/logo_bitmap_fajl_nev.pgm
-A szûrõ kép [elérési út] + fájlneve.
-.RE
-.
-.TP
-.B zrmjpeg[=opciók]
-Szoftveres YV12-ból MJPEG-be kódoló szûrõ a zr2 videó kimeneti
-eszközökkel történõ használathoz.
-.RSs
-.IPs maxheight=<h>|maxwidth=<w>
-Ezek az opciók beállítják a maximális szélességet és magasságot, amit a zr
-kártya kezelni tud (az MPlayer szûrõ réteg jelenleg nem tudja lekérdezni ezeket).
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Ezekkel az opciókkal a maxwidth és maxheight automatikusan a kártya/\:mód
-együtteshez ismert értékekre állítható be.
-Például helyes értékek: dc10-PAL és buz-NTSC (alapértelmezett: dc10+PAL)
-.IPs color|bw
-Színes vagy fekete-fehér kódolás kiválasztása.
-A fekete-fehér kódolás gyorsabb.
-A színes az alapértelmezett.
-.IPs hdec={1,2,4}
-Vízszintes tizedelés 1, 2 vagy 4.
-.IPs vdec={1,2,4}
-Függõleges tizedelés 1, 2 vagy 4.
-.IPs quality=1\-20
-Beállítja a JPEG tömörítés minõségét [LEGJOBB] 1 \- 20 [NAGYON ROSSZ].
-.IPs fd|nofd
-Alapértelmezésben a tizedelés csak akkor hajtódik végre, ha a Zoran hardver
-fel tudja méretezni az eredményként kapott MJPEG képeket az eredeti méretre.
-Az fd opció utasítja a szûrõt, hogy a kért tizedelést mindig végezze el (csúnya).
-.RE
-.
-.TP
-.B screenshot
-Megengedi képernyõmentések készítését a filmbõl szolga módú
-parancsokkal, melyek billentyû lenyomásokhoz köthetõek.
-Lásd a szolga mód dokumentációját és az INTERAKTÍV VEZÉRLÉS
-fejezetet a részletekért.
-'shotNNNN.png' nevû fájlok fognak létrejönni a munkakönyvtárban,
-az elsõ szabad szám felhasználásával \- egy fájl sem lesz felülírva.
-A szûrõ nem jelent hátrányt, ha nem használod és elfogad minden
-színteret, így nyugodtan beleírható a konfigurációs fájlba.
-Gyõzõdj meg róla, hogy a screenshot szûrõ az összes többi olyan
-szûrõ után van megadva, melyek hatását rögzíteni szeretnéd a képen.
-Pl.\& utolsóként kell megadni, ha pontosan olyan képernyõ mentést
-szeretnél, mint amit a monitoron látsz.
-.RE
-.
-.TP
-.B "ass\ \ \ \ "
-Az SSA/ASS felirat renderelõt a videó szûrõ lánc egy meghatározott pontjára teszi.
-Csak a \-ass kapcsolóval együtt hasznos.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-Az SSA/ASS renderelést a "screenshot" szûrõ elé teszi.
-Az így készített képernyõ mentéseken rajt lesz a felirat is.
-.RE
-.PD 1
-.
-.TP
-.B blackframe[=mennyiség:küszöb]
-Megkeresi azok a képkockákat, melyek (majdnem) teljesen feketék.
-Fejezetváltások vagy reklámok megkeresésére használható.
-A kimeneti sorok a megtalált képkocka számából, a sötétség százalékos
-értékébõl, a kocka típusából és az utolsó kulcskocka számából állnak.
-.RSs
-.IPs <mennyiség>
-A pixelek százalékos aránya, melyeknek a küszöb alatt kell lenniük (alapértelmezett: 98).
-.IPs <küszöb>
-Határérték, mely alatt egy pixel feketének minõsül (alapértelmezett: 32).
-.RE
-.
-.TP
-.B gradfun[=erõsség[:sugár]]
-Megszünteti a banding mellékhatásait, amik néha a színmélység 8 bitre történõ
-csökkentésekor jelentkeznek a sima területeken.
-Interpolálja a szögeket, amik a sávok helyére kell, hogy kerüljenek és
-árnyalja õket.
-.sp 1
-Ez a szûrõ a lejátszáshoz lett tervezve.
-Ne használd veszteséges tömörítés elõtt, mert a tömörítés elveszti az
-árnyalást és visszahozza a sávokat.
-.RSs
-.IPs <erõsség>
-A maximum érték, amennyivel a szûrõ megváltoztat egy pixelt.
-Valamint ez a küszöbérték a majdnem sima területek azonosításához is (alapértelmezett: 1.2).
-.IPs <sugár>
-A szomszédság, melyhez a szögnek illeszkednie kell.
-A nagyobb sugár simább szögeket ad, de megakadályozza a szûrõt a részletesebb
-területek közelében lévõ pixelek módosításában (alapértelmezett: 16).
-.RE
-.
-.TP
-.B fixpts[=opciók]
-Javítja a kockák prezentációs idõbélyegjeit (PTS).
-Alapértelmezetten a következõ szûrõnek átadott PTS el lesz dobva, de az
-alábbi opciók megváltoztathatják ezt:
-.RSs
-.IPs print
-Kiírja a bejövõ PTS-t.
-.IPs fps=<fps>
-Megadja a kocka per másodperc értéket.
-.IPs start=<pts>
-Megad egy kezdeti PTS értéket.
-.IPs autostart=<n>
-Az
-.IR n-dik
-bejövõ PTS-t használja kezdetiként.
-Minden elõzõ PTS-t megtart, így egy nagy vagy \-1 érték érintetlenül
-hagyja a PTS-t.
-.IPs autofps=<n>
-Az
-.IR n-dik
-bejövõ PTS-t használja az autostart után a kocka ráta megállapításához.
-.RE
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf fixpts=fps=24000/1001,ass,fixpts"
-A PTS-ek új sorozatát állítja elõ, használja az ASS feliratokhoz, majd eldobja.
-Egy új sorozat generálása hasznos, ha az idõbélyegek törlõdnek a program közben;
-ez gyakori a DVD-knél.
-Az eldobásuk szükséges lehet, hogy a kódolók ne zavarodjanak össze.
-.RE
-.PD 1
-.sp 1
-.RS
-.I MEGJEGYZÉS:
-Ezen szûrõ és bármelyik keresési forma (beleértve a -ss -t és az EDL-eket)
-együttes használata kiszabadíthatja a szellemet a palackból.
-.RE
-.
-.
-.SH "ÁLTALÁNOS KÓDOLÁSI OPCIÓK (CSAK MENCODER)"
-.
-.TP
-.B \-audio\-delay <bármilyen lebegõpontos szám>
-Késlelteti vagy az audiót vagy a videót a fejléc delay mezõjének beállításával
-(alapértelmezett: 0.0).
-Ez nem késlelteti egyik folyamot sem kódolás alatt, de a lejátszó látni
-fogja a delay mezõt és ennek megfelelõen kompenzál.
-A pozitív értékek az audiót, a negatív értékek a videót késleltetik.
-Figyelj rá, hogy ez pont a fordítottja a \-delay opciónak.
-Például ha a videó lejátszás jó \-delay 0.2 mellett, kijavíthatod a videót
-a MEncoder-rel és a \-audio\-delay \-0.2 használatával.
-.sp 1
-Jelenleg ez az opció csak az alapértelmezett muxer-ral mûködik (\-of avi).
-Ha másik muxer-t használsz, akkor a \-delay opciót kell használnod helyette.
-.
-.TP
-.B \-audio\-density <1\-50>
-A másodpercenkénti audio chunk-ok száma (alapértelmezésben 2 a 0.5 mp
-hosszúságú audio chunk-okhoz).
-.br
-.I MEGJEGYZÉS:
-Csak CBR, a VBR minden egyes csomagot másik chunk-ba tesz.
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-Az audio bufferelés intervallumának beállítása (alapértelmezett: 0.5s).
-.
-.TP
-.B \-fafmttag <formátum>
-A kimeneti fájl audió formátumának felülbírálása.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-A kimeneti fájl 0x55-öt (mp3) fog tartalmazni audió formátum tag-ként.
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-A kimeneti fájl videó fourcc-jének felülbírálása.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-A kimeneti fájl videó fourcc-je 'div3' lesz.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-Az AVI AVI OpenDML vprp fejlécben tárolt képarány felülbírálása.
-Segítségével '\-ovc copy' mellett is megváltoztatható a képarány.
-.
-.TP
-.B \-frameno\-file <fájlnév> (NEM AJÁNLOTT)
-Megadja a képkocka leképezéseket tartalmazó audió fájl nevét, ami a
-speciális, három lépéses kódolási mód elsõ (csak audió) lépésében jön létre.
-.br
-.I MEGJEGYZÉS:
-Ennek a módnak a használata valószínûleg hibát okoz az A-V szinkronban.
-Ne használd.
-Csak kompatibilítási okok miatt maradt meg és valószínûleg a következõ
-verziókban el lesz távolítva.
-.
-.TP
-.B \-hr\-edl\-seek
-Egy sokkal precízebb, de sokkal lassabb módszer területek kihagyására.
-A kihagyásra jelölt területek nem kerülnek átlépésre, helyette minden
-képkocka dekódolva lesz, de csak a szükséges képkockák lesznek elkódolva.
-Így nem kulcs kocka határon is lehet kezdeni a kihagyást.
-.br
-.I MEGJEGYZÉS:
-A helyes mûködése nem garantálható '\-ovc copy' mellett.
-.
-.TP
-.B \-info <opció1:opció2:...> (csak AVI)
-Megadja az eredmény AVI fájl infó fejlécét.
-.sp 1
-A rendelkezésre álló opciók:
-.RSs
-.IPs "help\ "
-Megmutatja ezt a leírást.
-.IPs name=<érték>
-a munka címe
-.IPs artist=<érték>
-a munka szereplõje vagy szerzõje
-.IPs genre=<érték>
-eredeti munka kategóriája
-.IPs subject=<érték>
-a munka tartalma
-.IPs copyright=<érték>
-szerzõi jogi információk
-.IPs srcform=<érték>
-a digitalizált anyag eredeti formája
-.IPs comment=<érték>
-általános megjegyzések a munkáról
-.RE
-.
-.TP
-.B \-noautoexpand
-Az expand szûrõ MEncoder szûrõ láncba történõ automatikus beillesztésének letiltása.
-Hasznos a felirat renderelés szûrõláncon belüli pontos helyének megadásakor,
-ha a feliratok rá lesznek égetve a filmre.
-.
-.TP
-.B \-noencodedups
-Nem próbálja meg a duplikált képkockákat duplán kódolni; mindig
-nulla bájtos képkockákkal jelöli a duplikálást.
-Nulla bájtos képkockák kerülnek mindig kiírásra, hacsak egy megadott
-szûrõ vagy kódoló nem képes a duplikátumok kódolására.
-Jelenleg az egyetlen ilyen szûrõ a harddup.
-.
-.TP
-.B \-noodml (csak \-of avi)
-Nem ír OpenDML index-et az >1GB AVI fájlokhoz.
-.
-.TP
-.B \-noskip
-Ne ugorjon át képkockákat.
-.
-.TP
-.B \-o <fájlnév>
-Megadott nevû fájl használata kimenetként.
-.br
-Ha egy alapértelmezett fájlnevet szeretnél, beleírhatod ezt az opciót a
-MEncoder konfigurációs fájljába is.
-.
-.TP
-.B \-oac <codec név>
-Kódolás a megadott audió codec-kel (nincs alapértelmezett).
-.br
-.I MEGJEGYZÉS:
-A használható codec-ek listája a \-oac help opcióval kérhetõ le.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-oac copy"
-nincs kódolás, csak folyammásolás
-.IPs "\-oac pcm"
-Kódolás tömörítetlen PCM-be.
-.IPs "\-oac mp3lame"
-Kódolás MP3-ba (LAME-mel).
-.IPs "\-oac lavc"
-Kódolás a libavcodec codec-kel.
-.RE
-.PD 1
-.
-.TP
-.B \-of <formátum> (BÉTA KÓD!)
-Kódolás a megadott konténer formátumba (alapértelmezett: AVI).
-.br
-.I MEGJEGYZÉS:
-A használható formátumok listája az \-of help opcióval kérhetõ le.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-of avi"
-Kódolás AVI-ba.
-.IPs "\-of mpeg"
-Kódolás MPEG-be (lásd még \-mpegopts).
-.IPs "\-of lavf"
-Kódolás a libavformat muxer-eivel (lásd még \-lavfopts).
-.IPs "\-of rawvideo"
-nyers videó folyam (nincs mux-álás \- csak videó folyam másolás)
-.IPs "\-of rawaudio"
-nyers audió folyam (nincs mux-álás \- csak audió folyam másolás)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-A kimeneti fájl a forrástól eltérõ fps-re beállítása. Be kell állítani
-változó fps-û (asf, néhány mov) és progresszív (30000/1001 fps telecine
-MPEG) fájloknál.
-.
-.TP
-.B \-ovc <codec név>
-Kódolás a megadott videó codec-kel (nincs alapértelmezett).
-.br
-.I MEGJEGYZÉS:
-A használható videó codec-ek listája a \-ovc help opcióval kérhetõ le.
-.sp 1
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-nincs kódolás, csak a folyam másolás
-.IPs "\-ovc raw"
-Kódolás sajátos, tömörítetlen formátumba ('\-vf format' segítségével választhatsz).
-.IPs "\-ovc lavc"
-Kódolás a libavcodec codec-kel.
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <fájlnév>
-Az elsõ lépés információit a <fájlnév> fájlba menti az alapértelmezett divx2pass.log
-helyett két lépéses kódolásnál.
-.
-.TP
-.B \-skiplimit <érték>
-Egy nem átugrott képkocka utáni átugorható képkockák száma
-(a \-noskiplimit opcióval végtelen).
-.
-.TP
-.B \-vobsubout <alapnév>
-A kimeneti .idx és .sub fájlok nevének megadása.
-Kikapcsolja a feliratok megjelenítését, és átirányítja õket a
-VOBsub felirat fájlokba.
-.
-.TP
-.B \-vobsuboutid <langid>
-A feliratok nyelvének két betûs kódja.
-Felülbírálja a DVD-rõl illetve az .ifo fájlból olvasott értéket.
-.
-.TP
-.B \-vobsuboutindex <index>
-A kimeneti fájlokban lévõ feliratok indexének megadása (alapértelmezett: 0).
-.
-.
-.
-.SH "CODEC SPECIFIKUS KÓDOLÁSI OPCIÓK (CSAK MENCODER)"
-A codec specifikus kódolási paramétereket a következõ szintaxissal adhatod meg:
-.
-.TP
-.B \-<codec>opts <opció1[=érték1]:opció2[=érték2]:...>
-.
-.PP
-Ahol a <codec> lehet: lavc, xvidenc, mp3lame, toolame, twolame,
-nuv, xvfw, faac, x264enc, mpeg, lavf.
-.
-.
-s.SS mp3lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-segítség kiírása
-.
-.TP
-.B vbr=<0\-4>
-változó bitrátájú kódolás módja
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (alapértelmezett)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-átlagos bitráta
-.
-.TP
-.B "cbr\ \ \ \ "
-konstans bitráta
-A CBR módú kódolást kényszeríti a késõbbi ABR preset módokra is.
-.
-.TP
-.B br=<0\-1024>
-bitráta megadása kBit-ben (csak CBR és ABR)
-.
-.TP
-.B q=<0\-9>
-minõség (0 \- legmagasabb, 9 \- legalacsonyabb) (csak VBR)
-.
-.TP
-.B aq=<0\-9>
-algoritmus minõsége (0 \- legjobb/leglassabb, 9 \- legrosszabb/\:leggyorsabb)
-.
-.TP
-.B ratio=<1\-100>
-tömörítés mértéke
-.
-.TP
-.B vol=<0\-10>
-audió bemenet erõsítése
-.
-.TP
-.B mode=<0\-3>
-(alapértelmezett: auto)
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-joint-stereo
-.IPs 2
-dualchannel
-.IPs 3
-mono
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-nincs
-.IPs 1
-mind
-.IPs 2
-beállítás
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-Az elkövetkezõ VBR preset módokban gyorsabb kódolásra kapcsol.
-Az eredmény kicsit rosszabb minõség és nagyobb bitráta lesz.
-.
-.TP
-.B highpassfreq=<frek>
-A felüláteresztõ szûrõ frekvenciája Hz-ben.
-A megadott frekvencia alatti értékek le lesznek vágva.
-A \-1-es érték kikapcsolja a szûrõt, a 0 érték a LAME-re
-hagyja az érték automatikus megválasztását.
-.
-.TP
-.B lowpassfreq=<frek>
-Az aluláteresztõ szûrõ frekvenciája Hz-ben.
-A megadott frekvencia feletti értékek le lesznek vágva.
-A \-1-es érték kikapcsolja a szûrõt, a 0 érték a LAME-re
-hagyja az érték automatikus megválasztását.
-.
-.TP
-.B preset=<érték>
-elõre beállított értékek
-.RSs
-.IPs "help\ "
-Az elõre beállított értékekhez ad további opciókat és információt.
-.IPs medium
-VBR kódolás, tûrhetõ minõség, 150\-180 kbps bitráta tartomány
-.IPs standard
-VBR kódolás, jó minõség, 170\-210 kbps bitráta tartomány
-.IPs extreme
-VBR kódolás, nagyon jó minõség, 200\-240 kbps bitráta tartomány
-.IPs insane
-CBR kódolás, a lehetõ legjobb minõség, 320 kbps bitráta
-.IPs <8\-320>
-ABR enkódolás, átlaga a megadott bitráta
-.RE
-.sp 1
-.RS
-.I PÉLDÁK:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-a legtöbb embernek megfelelõ és a legtöbb zene típusnál már nagyon jó minõségû
-.IPs cbr:preset=192
-ABR beállításokkal kódol 192 kbps-es kényszerített konstans bitrátával.
-.IPs preset=172
-ABR beállításokkal kódol 172-es átlagos bitrátával.
-.IPs preset=extreme
-nagyon jó füllel vagy hasonló berendezéssel rendelkezõ embereknek
-.RE
-.PD 1
-.
-.
-.SS toolame és twolame (\-toolameopts és \-twolameopts megfelelõen)
-.
-.TP
-.B br=<32\-384>
-CBR módban ez a paraméter írja elõ a bitrátát kbps-ben,
-VBR módban a frame-enkénti minimum megengedett bitráta.
-A VBR mod nem mûködik 112-nél kisebb értékkel.
-.
-.TP
-.B vbr=<\-50\-50> (csak VBR)
-Variálhatósági tartomány; ha negatív, a kódoló az átlagos bitrátát az alsó
-határ felé tolja el, ha pozitív, akkor a felsõ felé.
-Ha 0 az értéke, CBR kódolás lesz (alapértelmezett).
-.
-.TP
-.B maxvbr=<32\-384> (csak VBR)
-maximális engedélyezett bitrate frame-enként, kbps-ben
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-(alapértelmezett: mono 1-csatornás audióhoz, különben stereo)
-.
-.TP
-.B psy=<\-1\-4>
-pszichoakusztikus modell (alapértelmezett: 2)
-.
-.TP
-.B errprot=<0 | 1>
-Hiba védelem beépítése.
-.
-.TP
-.B debug=<0\-10>
-debug szint
-.RE
-.PD 1
-.
-.
-.SS faac (\-faacopts)
-.
-.TP
-.B br=<bitráta>
-átlagos bitráta kbps-ben (a quality-vel összeegyeztethetetlen)
-.
-.TP
-.B quality=<1\-1000>
-minõség módja, a nagyobb a jobb (a br-rel összeegyeztethetetlen)
-.
-.TP
-.B object=<1\-4>
-objektum típus komplexitása
-.PD 0
-.RSs
-.IPs 1
-FÕ (alapértelmezett)
-.IPs 2
-ALACSONY
-.IPs 3
-SSR
-.IPs 4
-LTP (hihetetlenül lassú)
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-MPEG verzió (alapértelmezett: 4)
-.
-.TP
-.B "tns\ \ \ \ "
-Ideiglenes zajszûrés bekapcsolása.
-.
-.TP
-.B cutoff=<0\-mintavételi_ráta/2>
-levágási frekvencia (alapértelmezett: mintavételi_ráta/2)
-.
-.TP
-.B "raw\ \ \ \ "
-A bitfolyamot nyers payload-ként tárolja extra adatként a konténer fejlécben
-(alapértelmezett: 0, megfelel az ADTS-nek).
-Ne állítsd be ezt a flag-et, ha nincs kifejezetten szükség rá vagy késõbb
-nem akarod az audió folyamot remux-álni.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-.
-Több libavcodec (röviden lavc) opció röviden van dokumentálva.
-Nézd meg a forrást a részletekért.
-.PP
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B o=<kulcs>=<érték>[,<kulcs>=<érték>[,...]]
-AVOption átadása a libavcodec kódolójának.
-Megjegyezzük, hogy az o= kapcsolót feleslegessé tevõ, az összes ismeretlen
-opciót az AVOption rendszernek átadó javítást szívesen fogadunk.
-Az AVOptions teljes listája megtalálható az FFmpeg kézikönyvében.
-Figyelj rá, hogy néhány opció ütközhet a MEncoder kapcsolóival.
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.PD 0
-.IPs o=bt=100k
-.PD 1
-.RE
-.
-.TP
-.B acodec=<érték>
-audió codec (alapértelmezett: mp2)
-.PD 0
-.RSs
-.IPs "ac3\ \ "
-Dolby Digital (AC-3)
-.IPs adpcm_*
-Adaptív PCM formátumok \- lásd a HTML dokumentációt a részletekért.
-.IPs "flac\ "
-Free Lossless Audio Codec (FLAC)
-.IPs "g726\ "
-G.726 ADPCM
-.IPs libfaac
-Advanced Audio Coding (AAC) \- FAAC használatával
-.IPs libmp3lame
-MPEG-1 audio layer 3 (MP3) \- LAME használatával
-.IPs "mp2\ \ "
-MPEG-1 audio layer 2 (MP2)
-.IPs pcm_*
-PCM formátumok \- lásd a HTML dokumentációt a részletekért.
-.IPs roq_dpcm
-Id Software RoQ DPCM
-.IPs sonic
-kísérleti egyszerû veszteséges codec
-.IPs sonicls
-kísérleti egyszerû veszteségmentes codec
-.IPs vorbis
-Vorbis
-.IPs wmav1
-Windows Media Audio v1
-.IPs wmav2
-Windows Media Audio v2
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<érték>
-audió bitráta kbps-ben (alapértelmezett: 224)
-.
-.TP
-.B atag=<érték>
-A megadott Windows audió formátum tag használata (pl.\& atag=0x55).
-.
-.TP
-.B bit_exact
-Csak bit exact algoritmusok használata (kivétel (I)DCT).
-Mellékesen a bit_exact letilt számos optimalizációt és így
-csak tesztelésekre használandó, ami binárisan azonos
-fájlokat igényel, még ha a kódoló verziója változik is.
-Ez elnyomja a user_data fejlécet az MPEG-4 folyamokban.
-Ne használd ezt az opciót, csak ha pontosan tudod, hogy mit csinálsz.
-.
-.TP
-.B threads=<1\-8>
-A használható szálak maximális száma (alapértelmezett: 1).
-Egy kis negatív hatása lehet a mozgás becslésre.
-.RE
-.
-.TP
-.B vcodec=<érték>
-A megadott codec-et alkalmazza (alapértelmezett: mpeg4).
-.PD 0
-.RSs
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs dvvideo
-Sony Digital Video
-.IPs "ffv1\ "
-FFmpeg veszteségmentes videó codec-je
-.IPs ffvhuff
-nem szabványos 20%-kal kisebb HuffYUV YV12 használattal
-.IPs "flv\ \ "
-Flash videókban használt Sorenson H.263
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs huffyuv
-HuffYUV
-.IPs libtheora
-Theora
-.IPs libx264
-x264 H.264/AVC MPEG-4 Part 10
-.IPs libxvid
-Xvid MPEG-4 Part 2 (ASP)
-.IPs ljpeg
-Veszteségmentes JPEG
-.IPs mjpeg
-Motion JPEG
-.IPs mpeg1video
-MPEG-1 videó
-.IPs mpeg2video
-MPEG-2 videó
-.IPs mpeg4
-MPEG-4 (DivX 4/5)
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG4v2
-.IPs roqvideo
-ID Software RoQ Video
-.IPs "rv10\ "
-egy régi RealVideo codec
-.IPs "snow (lásd még: vstrict)"
-FFmpeg kísérleti wavelet-alapú codec-je
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs "wmv1\ "
-Windows Media Video, 1-es verzió (WMV7)
-.IPs "wmv2\ "
-Windows Media Video, 2-es verzió (WMV8)
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-minimális kvantáló
-.RSs
-.IPs 1
-Nem javasolt (sokkal nagyobb fájl, csekély minõségbeli különbség és ijesztõ
-mellékhatások: msmpeg4, h263 nagyon gyenge minõségû lesz, a ratecontrol zavarodott
-lesz és gyengébb minõséget ad, valamint néhány dekódoló nem fogja tudni dekódolni).
-.IPs 2
-Javasolt a normális mpeg4/\:mpeg1video kódoláshoz (alapértelmezett).
-.IPs 3
-Javasolt a h263(p)/\:msmpeg4-hez.
-Az ok, amiért a 3 jobb lehet, mint a 2, az az, hogy a 2 túlcsordulásokhoz vezethet.
-(Ez javítva lesz a h263(p)-nél a kvantáló/MB jövõbeli megváltoztatásával,
-az msmpeg4 nem javítható, mivel az nem támogatja ezt.)
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-Minimális keret szintû Lagrange szorzó a ratecontrol-hoz. (alapértelmezett: 2.0).
-A Lavc nagyon ritkán fog a lmin értékénél kisebb kvantálót használni.
-A lmin értékét csökkentve a a lavc nagyobb valószínûséggel fog alacsony
-kvantálót választani néhány kockához, de a vqmin értékénél nem kisebbet.
-Ugyan így, a lmin növelésének hatására a lavc kisebb valószínûséggel
-választ alacsony kvantálót, akkor is, ha a vqmin engedné ezt.
-Ajánlott a lmin értékét nagyjából a vqmin-nel azonos értékre
-beállítani.
-Ha adaptív kvantálást használsz, a lmin/lmax módosításának kisebb
-lesz a hatása; lásd mblmin/mblmax.
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-maximális Lagrange szorzó a ratecontrol-hoz (alapértelmezett: 31.0)
-.RE
-.
-.TP
-.B mblmin=<0.01\-255.0>
-Minimális makroblokk-szintû Lagrange szorzó a ratecontrol-hoz
-(alapértelmezett: 2.0).
-Ez a paraméter az adaptív kvantálási opciókat érinti, mint pl.\& a
-qprd, lumi_mask, stb..
-.RE
-.
-.TP
-.B mblmax=<0.01\-255.0>
-Maximális makroblokk-szintû Lagrange szorzó a ratecontrol-hoz
-(alapértelmezett: 31.0).
-.RE
-.
-.TP
-.B vqscale=<0\-31>
-Konstans kvantáló /\: konstans minõségû kódolás (fix kvantálási mód kiválasztása).
-A kisebb érték jobb minõséget, de nagyobb fájlt jelent (alapértelmezett: \-1).
-Snow codec esetén a 0 veszteségmentes tömörítést jelent.
-Mivel a többi codec nem támogatja ezt, ilyen esetekben a vqscale=0 hatása
-nem definiált.
-Az 1 nem javasolt (lásd a vqmin-t a részletekért).
-.
-.TP
-.B vqmax=<1\-31>
-Maximális kvantáló, 10\-31 közötti ésszerû érték (alapértelmezett: 31).
-.
-.TP
-.B mbqmin=<1\-31>
-idejétmúlt, használd a vqmin-t
-.
-.TP
-.B mbqmax=<1\-31>
-idejétmúlt, használd a vqmax-ot
-.
-.TP
-.B vqdiff=<1\-31>
-maximális kvantáló különbség az egymást követõ I- vagy P-kockáknál
-(alapértelmezett: 3)
-.
-.TP
-.B vmax_b_frames=<0\-4>
-B-kockák maximális száma a nem-B-kockák között:
-.PD 0
-.RSs
-.IPs 0
-nincs B-kocka (alapértelmezett)
-.IPs 0\-2
-ésszerû tartomány MPEG-4-hez
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-Mozgás becslés módszere.
-A használható módok:
-.PD 0
-.RSs
-.IPs 0
-nincs (nagyon gyenge minõség)
-.IPs 1
-teljes (lassú, jelenleg nem karbantartott és letiltott)
-.IPs 2
-log (alacsony minõség, jelenleg nem karbantartott és letiltott)
-.IPs 3
-phods (alacsony minõség, jelenleg nem karbantartott és letiltott)
-.IPs 4
-EPZS: size=1 diamond, a méret állítható a *dia opciókkal
-(alapértelmezett)
-.IPs 5
-X1 (kísérleti, jelenleg EPZS-re alias-olva)
-.IPs 8
-iter (iteratív átlapolt blokk, csak snow-ban használják)
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I MEGJEGYZÉS:
-0\-3 jelenleg figyelmen kívül hagyja az elhasznált bit-eket,
-így a minõségük nagyon rossz.
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-mozgás becslés keresési tartománya (alapértelmezett: 0 (végtelen))
-.
-.TP
-.B mbd=<0\-2> (lásd még *cmp, qpel)
-Makroblokk döntési algoritmus (nagyon jó minõségû mód), minden makró
-blokkot elkódol minden módban és kiválasztja a legjobbat.
-Ez lassú, de jobb minõséget és fájl méretet ad.
-Ha az mbd 1-re vagy 2-re van állítva, az mbcmp értéke figyelmen kívül
-marad a makroblokkok összehasonlításakor (ennek ellenére az mbcmp értéke más
-helyeken még felhasználásra kerül, különösen a mozgáskeresõ algoritmusokban).
-Ha bármilyen összehasonlító beállítás (precmp, subcmp, cmp, vagy mbcmp)
-értéke nem nulla, egy lassabb, de jobb half-pel mozgás keresés lesz
-használva, függetlenül az mbd beállított értékétõl.
-Ha a qpel be van állítva, egy quarter-pel mozgás keresés fut le.
-.PD 0
-.RSs
-.IPs 0
-Az mbcmp által megadott összehasonlító függvény használata (alapértelmezett).
-.IPs 1
-MB mód kiválasztása, amihez a legkevesebb bit kell (=vhq).
-.IPs 2
-MB mód kiválasztása, ami a legjobb aránytorzítással rendelkezik.
-.RE
-.PD 1
-.
-.TP
-.B "vhq\ \ \ \ "
-Ugyan az, mint az mbd=1, csak kompatibilítási okokból maradt meg.
-.
-.TP
-.B "v4mv\ \ \ "
-4 mozgásvektort engedélyez makroblokkonként (kicsit jobb minõség).
-Jobb eredményt ad, ha mbd>0-val használod.
-.
-.TP
-.B "obmc\ \ \ "
-átlapolt blokk mozgás kompenzáció (H.263+)
-.
-.TP
-.B "loop\ \ \ "
-loop szûrõ (H.263+)
-figyelj, ez hibás
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-Jelenleg abszolút semmit sem csinál.
-.
-.TP
-.B keyint=<0\-300>
-Maximális idõköz a kulcs képkockák között képkockákban (alapértelmezett: 250
-vagy egy kulcs képkocka tíz másodpercenként egy 25fps-es filmben.
-Ez a javasolt alapértelmezés az MPEG-4-hez).
-A legtöbb codec-nek szabályos kulcskockák kellenek a különbözõ hibák
-halmozódásának megakadályozásához.
-Kulcs képkockák szükségesek a léptetéshez is, mivel a léptetés csak a kulcs
-kockákhoz lehetséges, de a kulcs kockáknak több hely kell, mint a többi
-képkockának, így a nagyobb érték valamivel kisebb fájl méretet jelent, de
-kevésbé precíz léptetést.
-A 0 egyenlõ az 1-gyel, ami minden kockából kulcs képkockát készít.
-A >300 értékek nem javasoltak, mivel a minõség bizonytalanul függ a
-dekódolótól, a kódolótól és a szerencsétõl.
-MPEG-1/2-höz általában <=30 az ajánlott.
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-A jelenet váltás detektálásának küszöbértéke.
-A libavcodec egy kulcs képkockát illeszt be ha jelenetváltást érzékel.
-Ezzel az opcióval megadhatod a detektálás érzékenyésgét.
-A \-1000000000 azt jelenti, hogy jelenet váltást talál minen képkocka váltásnál,
-a 1000000000 pedig azt, hogy nem lesz jelenetváltás találat (alapértelmezett: 0).
-.
-.TP
-.B sc_factor=<bármilyen pozitív egész>
-A nagyobb kvantálóval rendelkezõ kockák nagyobb valószínûséggel fognak
-jelenetváltás találatot okozni és így a libavcodec-et I-kocka használatára
-kötelezik (alapértelmezett: 1).
-1\-16 az ésszerû tartománya.
-A 2 és 6 közötti értékek növelik a PSNR-t (kb. +0.04 dB-ig) és az I-kockák
-elhelyezése is jobb lesz a gyors mozgású jelenetekben.
-A 6-nál nagyobb értékek nagyon kis mértékû PSNR javítást hoznak (kb. 0.01 db-vel
-több, mint az sc_factor=6), de láthatóan rontják a vizuális minõséget.
-.
-.TP
-.B vb_strategy=<0\-2> (csak elsõ lépés)
-I/P/B-kockák közötti választás stratégiája:
-.PD 0
-.RSs
-.IPs 0
-Mindig a maximális számú B-kocka használata (alapértelmezett).
-.IPs 1
-B-kockák elkerülése a gyors mozgású jeleneteknél.
-Lásd a b_sensitivity opciót ezen stratégia finomhangolásához.
-.IPs 2
-A maximális minõség elérése érdekében a B-kockákat többé-kevésbé optimálisan
-helyezi el (lassabb).
-Valószínûleg csökkenteni akarod ezen opció sebességre gyakorolt hatását a
-brd_scale opció állításával.
-.RE
-.PD 1
-.
-.TP
-.B b_sensitivity=<bármilyen 0-nál nagyobb egész>
-Beállítja, hogy a vb_strategy=1 mennyire érzékenyen detektálja a mozgást és
-kerüli el a B-kocka használatát (alapértelmezett: 40).
-Az alacsonyabb érzékenység több B-kockát eredményez.
-Több B-kocka használata növeli a PSNR-t, de a túl sok B-kocka ronthatja a
-minõséget a gyors mozgású jelenetekben.
-Hacsak nincs nagyon nagy mennyiségû mozgás, a b_sensitivity nyugodtan
-csökkenthetõ az alapértelmezett alá; a 10 megfelelõ a legtöbb esetben.
-.
-.TP
-.B brd_scale=<0\-10>
-Minden alkalommal, ha a brd_scale-t növeled eggyel, a kocka dimenziók
-osztódnak kettõvel, ami négyszeres aránnyal javítja a sebességet.
-A teljesen leméretezett kocka mindkét dimenziójának páros számúnak kell
-lennie, így a brd_scale=1-nél az eredeti méreteknek négy többszörösének
-kell lenniük, brd_scale=2-nél nyolc többszörösének, stb.
-Más szavakkal, az eredeti kocka mindkét méretének oszthatónak kell lennie
-2^(brd_scale+1)-gyel maradék nélkül.
-.
-.TP
-.B bidir_refine=<0\-4>
-Finomítja a kétirányú makroblokkokban használt két mozgásvektort,
-az elõre és visszafelé történõ keresésbõl származó vektorok újrafelhasználása helyett.
-Ennek az opciónakl nincs hatása B-kockák nélkül.
-.PD 0
-.RSs
-.IPs 0
-Letiltva (alapértelmezett).
-.IPs 1\-4
-Egy szélesebb keresés használata (a nagyobb számú lassabb).
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-Aktiválja a belsõ két (vagy több) lépéses módot, csak akkor add meg, ha
-két (vagy több) lépéses kódolást akarsz.
-.PD 0
-.RSs
-.IPs 1
-elsõ lépés (lásd még turbo)
-.IPs 2
-második lépés
-.IPs 3
-n. lépés (második és a következõ lépés egy N-lépéses kódolásban)
-.RE
-.RS
-Íme a mûködése és a használata:
-.br
-Az elsõ lépés (vpass=1) megírja a statisztika fájlt.
-Ajánlott néhány CPU-éhes opció letiltása, mint ahogy a "turbo" mód is csinálja.
-.br
-Két lépéses módban a második lépés (vpass=2) elolvassa a statisztika fájlt
-és felhasználja a ratecontrol döntéseihez.
-.br
-N lépéses módban a második lépés (vpass=3, ez nem elírás) mindkettõt
-elvégzi: elõször elolvassa a statisztika fájlt, majd felülírja.
-Ajánlott a divx2pass.log elmentése, mielõtt ezt megtennéd, ha esély van rá,
-hogy meg kell szakítanod a MEncoder-t.
-Használhatod mindegyik kódolási opciót, kivéve a nagyon CPU-igényeseket, pl.\& "qns".
-.br
-Ezt a lépést újra és újra lefuttathatod a kódolás finomítása érdekében.
-Minden következõ lépés felhasználja az elõzõ lépés statisztikáit a továbblépéshez.
-Az utolsó lépésben már mehet az összes CPU-igényes kódolási opció is.
-.br
-Ha 2 lépéses kódolást akarsz, elõször használd a vpass=1-et majd a vpass=2-õt.
-.br
-Ha 3 vagy több lépéses kódolást akarsz, használd a vpass=1-et az elsõ lépésben,
-majd vpass=3-at és újra vpass=3-at, amíg nem leszel elégedett a kódolással.
-.RE
-.PD 1
-.sp 1
-.RS
-huffyuv:
-.RE
-.PD 0
-.RSs
-.IPs "pass 1"
-Elmenti a statisztikát.
-.IPs "pass 2"
-Kódol egy optimális Huffman táblával, mely az elsõ lépés statisztikáján
-alapszik.
-.RE
-.PD 1
-.
-.TP
-.B turbo (csak két lépéses)
-Drasztikusan felgyorsítja az elsõ lépést gyorsabb algoritmusok használatával
-és a CPU-igényes opciók letiltásával.
-Ez valószínûleg csökkenti a globális PSNR-t egy kicsit (0.01dB körül) és
-megváltoztatja az egyedi kocka típusokat és PSNR-t egy kicsit (0.03dB-ig).
-.
-.TP
-.B aspect=<x/y>
-Film képarányának eltárolása, mint az MPEG fájlokban.
-Sokkal normálisabb ez a megoldás mint a film átméretezése, mivel ilyenkor
-nem fog a minõség az átméretezés miatt leromlani.
-Csak az MPlayer lesz képes az így elkészült fájlok lejátszására, más
-lejátszók rossz képarányt fognak használni.
-A paraméter megadható arányként vagy lebegõpontos számként.
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/9 or aspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-Ugyan az, mint az aspect opció, de automatikusan számítja ki az arányt,
-figyelembe véve a módosításokat (crop/\:expand/\:scale/\:stb.), melyek a
-szûrõ láncban szerepelnek.
-Nem okoz teljesítménybeli romlást, így nyugodtan bekapcsolva maradhat.
-.
-.TP
-.B vbitrate=<érték>
-Bitráta megadása (alapértelmezett: 800).
-.br
-.I FIGYELMEZTETÉS:
-1kbit = 1000 bit
-.PD 0
-.RSs
-.IPs 4\-16000
-(kbit-ben)
-.IPs 16001\-24000000
-(bit-ben)
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<érték>
-Becsült fájl méret tolerancia kbit-ben.
-1000\-100000 egy ésszerû tartomány.
-(figyelmeztetés: 1kbit = 1000 bit)
-(alapértelmezett: 8000)
-.br
-.I MEGJEGYZÉS:
-A vratetol nem ajánlott, hogy túl nagy legyen a második lépésben, különben
-problémák lehetnek, ha vrc_(min|max)rate is használva van.
-.
-.TP
-.B vrc_maxrate=<érték>
-maximális bitráta kbit/\:sec-ben
-(alapértelmezett: 0, határtalan)
-.
-.TP
-.B vrc_minrate=<érték>
-minimális bitráta kbit/\:sec-ben
-(alapértelmezett: 0, határtalan)
-.
-.TP
-.B vrc_buf_size=<érték>
-buffer méret kbit-ben
-MPEG-1/2-nél ez a vbv buffer méretét is beállítja, használj 327-et
-a VCD-hez, 917-et az SVCD-hez és 1835-at a DVD-hez.
-.
-.TP
-.B vrc_buf_aggressivity
-jelenleg haszontalan
-.
-.TP
-.B vrc_strategy
-Ratecontrol módszer.
-Figyelj rá, hogy néhány ratecontrol-t érintõ opciónak nem lesz hatása,
-ha a vrc_strategy nem 0-ra van állítva.
-.PD 0
-.RSs
-.IPs 0
-A lavc belsõ ratecontrol-ját használja (alapértelmezett).
-.IPs 1
-Az Xvid ratecontrol-ját használja (kísérleti; Xvid 1.1 vagy újabb
-támogatásával fordított MEncoder kell hozzá).
-.RE
-.PD 1
-.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-kvantálási faktor a B- és nem-B-kockák között (alapértelmezett: 1.25)
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-kvantálási faktor az I- és nem-I-kockák között (alapértelmezett: 0.8)
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-kvantálási lépés B- és nem-B-kockák között (alapértelmezett: 1.25)
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-(alapértelmezett: 0.0)
-.br
-ha v{b|i}_qfactor > 0
-.br
-I/B-kockák kvantálója = P-kocka kvantálója * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-különben
-.br
-normális ratecontrol (nem köti meg a következõ P-kocka kvantálót) és
-q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I TANÁCS:
-Konstans kvantálási kódoláshoz különbözõ kvantálókkal az I/P- és B-kockákhoz
-használhatod ezt:
-lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>.
-.
-.TP
-.B vqblur=<0.0\-1.0> (elsõ lépés)
-Kvantálási elmosás (alapértelmezett: 0.5), a nagyobb érték átlagban több idõt
-ad a kvantálónak (lassabb váltás).
-.PD 0
-.RSs
-.IPs 0.0
-Kvantálási blur letiltva.
-.IPs 1.0
-Az összes elõzõ kocka alapján átlagolja a kvantálót.
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0> (második lépés)
-Kvantálási gauss elmosás (alapértelmezett: 0.5), a nagyobb érték átlagban több
-idõt ad a kvantálónak (lassabb váltás).
-.
-.TP
-.B vqcomp=<0.0\-1.0>
-Kvantálási tömörítés, a vrc_eq függ ettõl (alapértelmezett: 0.5).
-.I MEGJEGYZÉS:
-A látható minõség valahol a két szélsõérték között lesz optimális.
-.
-.TP
-.B vrc_eq=<egyenlet>
-fõ ratecontrol egyenlet
-.RE
-.RSs
-.IPs 1+(tex/\:avgTex-1)*qComp
-körülbelül a régi ratecontrol kódjának megfelelõ egyenlet
-.IPs tex^qComp
-qcomp 0.5-tel vagy hasonlóval (alapértelmezett)
-.RE
-.PP
-.RS
-infix operátorok:
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-változók:
-.RE
-.RSs
-.IPs "tex\ \ "
-textúra komplexitása
-.IPs iTex,pTex
-intra, nem intra textúra komplexitása
-.IPs avgTex
-átlagos textúrakomplexitás
-.IPs avgIITex
-intra textúra komplexitása I kockákban
-.IPs avgPITex
-intra textúra komplexitása P kockákban
-.IPs avgPPTex
-nem-intra textúra komplexitása P kockákban
-.IPs avgBPTex
-nem-intra textúra komplexitása B kockákban
-.IPs "mv\ \ \ "
-mozgásvektorokhoz használt bitek száma
-.IPs fCode
-log2 scale esetén a mozgásvektorok maximális hossza
-.IPs iCount
-intra makroblokkok száma / makroblokkok száma
-.IPs "var\ \ "
-térbeli komplexitás
-.IPs mcVar
-idõbeli komplexitás
-.IPs qComp
-qcomp a parancssorból
-.IPs "isI, isP, isB"
-1 ha a kép típusa I/P/B különben 0.
-.IPs "Pi,E\ "
-Lásd a kedvenc matekkönyvedben.
-.RE
-.PP
-.RS
-függvények:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-maximum / minimum
-.IPs gt(a,b)
-1 ha a>b, különben 0
-.IPs lt(a,b)
-1 ha a<b, különben 0
-.IPs eq(a,b)
-1 ha a==b, különben 0
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<opciók>
-Felhasználó által megadott minõség a megadott részekhez (befejezés, feliratok, ...).
-Az opciók <kezdõ-kocka>, <záró-kocka>, <minõség>[/<kezdõ-kocka>,
-<záró-kocka>, <minõség>[/...]]:
-.PD 0
-.RSs
-.IPs "quality (2\-31)"
-kvantáló
-.IPs "quality (\-500\-0)"
-minõség javítás %-ban
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-kezdeti komplexitás (1. lépés)
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-kezdeti buffer feltöltés, a vrc_buf_size egy részeként (alapértelmezett: 0.9)
-.
-.TP
-.B vqsquish=<0|1>
-Itt adható meg hogy hogyan maradjon a kvantáló a qmin és qmax között.
-.PD 0
-.RSs
-.IPs 0
-Nyírás használata.
-.IPs 1
-Egy szép differenciálható függvény használata (alapértelmezett).
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-Egyszerû együttható elimináció küszöbértéke a fényerõsséghez.
-A negatív értékek meghatározzák a DC együtthatót is (legalább \-4-nek vagy
-kisebbnek kell lennie quant=1 melletti kódolásnál):
-.PD 0
-.RSs
-.IPs 0
-letiltva (alapértelmezett)
-.IPs \-4
-JVT javaslat
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-Egyszerû együttható elimináció küszöbértéke a színerõsséghez.
-A negatív értékek meghatározzák a DC együtthatót is (legalább \-4-nek vagy
-kisebbnek kell lennie quant=1 melletti kódolásnál):
-.PD 0
-.RSs
-.IPs 0
-letiltva (alapértelmezett)
-.IPs 7
-JVT javaslat
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-szigorú szabvány követés
-.PD 0
-.RSs
-.IPs 0
-kikapcsolva
-.IPs 1
-Csak akkor ajánlott ha a kimenetet MPEG-4 referencia dekóderrel akarod
-dekódolni.
-.IPs \-1
-Engedélyezi a libavcodec specifikus kiterjeszéseket (alapértelmezett).
-.IPs \-2
-Kísérleti codec-ek és funkciók engedélyezése, melyek nem biztos, hogy
-lejátszhatóak lesznek a jövõbeli MPlayer verziókkal (snow).
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-Adat partícionálás.
-Minden videó csomaghoz 2 bájtot ad, növeli a hibatûrést a megbízhatatlan
-csatornákon történõ átvitelkor (pl.\& stream-elés Interneten).
-Minden videó csomag 3 különbözõ partícióba lesz kódolva:
-.PD 0
-.RSs
-.IPs "1. MVs"
-mozgás
-.IPs "2. DC coefficients"
-kis felbontású kép
-.IPs "3. AC coefficients"
-részletek
-.RE
-.PD 1
-.RS
-Az MV & DC a legfontosabbak, elvesztésükkel sokkal rosszabb lesz a kinézet, mint
-az AC és az 1. & 2. partíció elvesztésekor.
-(MV & DC) sokkal kisebbek, mint a 3. partíció (AC), ami azt jelenti, hogy a hibák
-sokkal többször fogják érinteni az AC partíciót, mint az MV & DC partíciókat.
-Így a kép jobban fog kinézni partícionálással, mint anélkül, de partícionálás
-nélkül a hiba egyformán rontja az AC/\:DC/\:MV-t.
-.RE
-.
-.TP
-.B vpsize=<0\-10000> (lásd még vdpart)
-Videó csomag mérete, növeli a hibatûrést.
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-letiltva (alapértelmezett)
-.IPs 100\-1000
-jó választás
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-darabolt, struktúrált mód H.263+-hoz
-.
-.TP
-.B "gray\ \ \ "
-csak fekete-fehér kódolás (gyorsabb)
-.
-.TP
-.B vfdct=<0\-10>
-DCT algoritmus
-.PD 0
-.RSs
-.IPs 0
-Automatikusan kiválaszt egy jót (alapértelmezett).
-.IPs 1
-gyors egész
-.IPs 2
-pontos egész
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-lebegõpontos AAN
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-IDCT algoritmus
-.br
-.I MEGJEGYZÉS:
-Legjobb tudomásunk szerint ezen IDCT-k mindegyike átmegy az IEEE1180 teszten.
-.PD 0
-.RSs
-.IPs 0
-Automatikusan választ egy jót (alapértelmezett).
-.IPs 1
-JPEG referencia egész
-.IPs 2
-egyszerû
-.IPs 3
-simplemmx
-.IPs 4
-libmpeg2mmx (nem pontos, ne használd keyint >100 kódolásoknál)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.IPs 10
-simplearm
-.IPs 11
-H.264
-.IPs 12
-VP3
-.IPs 13
-IPP
-.IPs 14
-xvidmmx
-.IPs 15
-CAVS
-.IPs 16
-simplearmv5te
-.IPs 17
-simplearmv6
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-A fénysûrûség maszkolás egy 'pszichoérzéki' beállítás, ami azt a tényt
-próbálja kihasználni, hogy az emberi szem a kisebb részletességet a
-kép nagyon világos részein veszi észre.
-A fénysûrûség maszkolás jobban tömöríti a fényes területeket, mint a
-közepesen fényeseket, így biteket spórol, amik egyéb kockákon
-felhasználhatóak, növelve az összminõséget, a PSNR esetleges csökkentésével.
-.br
-.I FIGYELMEZTETÉS:
-Légy óvatos, a túl nagy értékek katasztrófális dolgokat okozhatnak.
-.br
-.I FIGYELMEZTETÉS:
-A nagy értékek egyes monitorokon jól néznek ki, míg más monitorokon
-szörnyûen.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-letiltva (alapértelmezett)
-.IPs 0.0\-0.3
-ésszerû értékek
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-A sötétség maszkolás egy 'pszichoérzéki' beállítás, ami azt a tényt
-próbálja kihasználni, hogy az emberi szem a kisebb részletességet a
-kép nagyon sötét részein veszi észre.
-A sötétség maszkolás jobban tömöríti a sötét területeket, mint a
-közepeseket, így biteket spórol, amik egyéb kockákon
-felhasználhatóak, növelve az összminõséget, a PSNR esetleges csökkentésével.
-.br
-.I FIGYELMEZTETÉS:
-Légy óvatos, a túl nagy értékek katasztrófális dolgokat okozhatnak.
-.br
-.I FIGYELMEZTETÉS:
-A nagy értékek egyes monitorokon jól néznek ki, míg más monitorokon, TV-n,
-TFT-n szörnyûen.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-letiltva (alapértelmezett)
-.IPs 0.0\-0.3
-ésszerû értékek
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-Idõbeli komplexitás maszkolása (alapértelmezett: 0.0 (letiltva)).
-Képzelj el egy jelenetet, melyen egy madár röpül át az egész képen; a
-tcplx_mask növelni fogja a madár makroblokkjának kvantálóit (így csökkentve a
-minõségüket), mivel az emberi szemnek általában nincs ideje a madár minden
-részletét megfigyelni.
-Figyelj rá, hogy ha a maszkolt objektum megáll (pl.\& a madár leszáll),
-valószínûleg borzasztóan fog kinézni egy rövid ideig, amíg a kódoló
-kitalálja, hogy az objektum nem mozog és finomított blokkokat igényel.
-A megspórolt bitek a videó egyéb részein felhasználhatóak, ami növeli az
-összminõséget, feltéve, hogy a tcplx_mask óvatosan lett kiválasztva.
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-Térbeli kompexitás maszkolása.
-A nagy érték segíthet a blokkosodáson, ha nem használsz deblocking szûrõt
-a dekódolásnál, ami nem biztos, hogy jó ötlet.
-.br
-Képzelj el egy füves képet (aminek általában nagy a térbeli komplexitása),
-egy kék eget és egy házat; a scplx_mask növelni fogja a fû makroblokkjainak
-kvantálóit, így csökkentve a minõségét, hogy több bit jusson az égre és a házra.
-.br
-.I TANÁCS:
-Vágj le teljesen minden fekete határt, mivel azok csökkentik a makroblokkok
-minõségét (ez scplx_mask nélkül is érvényes).
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-letiltva (alapértelmezett)
-.IPs 0.0\-0.5
-ésszerû értékek
-.RE
-.PD 1
-.sp 1
-.RS
-.I MEGJEGYZÉS:
-Ennek a beállításnak ugyan az a hatása, mint egy saját mátrixnak, ami
-a magas frekvenciákat jobban tömöríti, mivel az scplx_mask a P blokkok
-minõségét csökkenti, akkor is, ha csak a DC változik.
-Az scplx_mask eredménye valószínûleg nem fog olyan jól kinézni.
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0> (also see vi_qfactor)
-Csökkenti az intra blokkok minõségét.
-Ez azonos az intra blokkok minõségének növelésével, mivel ugyan az az
-átlagos bitráta lesz kiosztva a rate controller által az egész videó
-során (alapértelmezett: 0.0 (kikapcsolva)).
-A p_mask=1.0 megduplázza az egyes intra blokkra jutó bitek számát.
-.
-.TP
-.B border_mask=<0.0\-1.0>
-Határ-feldolgozás az MPEG-stílusú kódolókhoz.
-A határ feldolgozás növeli azon makroblokkok kvantálóját, ami a kocka
-szélesség/magasságánál kisebb, mint 1/5-del van távolabb a kocka határától,
-mivel ezek vizuálisan már kevésbé fontosak.
-.
-.TP
-.B "naq\ \ \ \ "
-Normalizált adaptív kvantálás (kísérleti).
-Ha adaptív kvantálást használsz (*_mask), az átlagos MB-onkénti kvantálás
-nem biztos, hogy eléri a kívánt kocka-szintû kvantálást.
-A naq megpróbálja beállítani a MB-onkénti kvantálókat úgy, hogy a
-megfelelõ átlag megmaradjon.
-.
-.TP
-.B "ildct\ \ "
-Átlapolt DCT használata.
-.
-.TP
-.B "ilme\ \ \ "
-Átlapolt mozgás becslés (kölcsönösen kizárják egymást a qpel-lel).
-.
-.TP
-.B "alt\ \ \ \ "
-Alternatív scantable használata.
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-automatikus
-.IPs 0
-alsó mezõ elõször
-.IPs 1
-felsõ mezõ elõször
-.RE
-.PD 1
-.
-.TP
-.B format=<érték>
-.PD 0
-.RSs
-.IPs "YV12\ "
-alapértelmezett
-.IPs "444P\ "
-ffv1-hez
-.IPs "422P\ "
-HuffYUV-hoz, veszteségmentes JPEG-hez, dv-hez és ffv1-hez
-.IPs "411P\ "
-veszteségmentes JPEG-hez, dv-hez és ffv1-hez
-.IPs "YVU9\ "
-veszteségmentes JPEG-hez, ffv1-hez és svq1-hez
-.IPs "BGR32"
-veszteségmentes JPEG-hez és ffv1-hez
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(HuffYUV-hoz)
-.PD 0
-.RSs
-.IPs 0
-bal becslés
-.IPs 1
-egyszerû/\:emelkedõ becslés
-.IPs 2
-közép becslés
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(veszteségmentes JPEG-hez)
-.PD 0
-.RSs
-.IPs 0
-bal becslés
-.IPs 1
-felsõ becslés
-.IPs 2
-balfelsõ becslés
-.IPs 3
-egyszerû/\:emelkedõ becslés
-.IPs 6
-közép becslés
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-(ffv1-hez)
-.PD 0
-.RSs
-.IPs 0
-vlc kódolás (Golomb-Rice)
-.IPs 1
-aritmetikus kódolás (CABAC)
-.RE
-.PD 1
-.
-.TP
-.B context
-(ffv1-hez)
-.PD 0
-.RSs
-.IPs 0
-kicsi context modell
-.IPs 1
-nagy context modell
-.RE
-.PD 1
-.sp 1
-.RS
-(ffvhuff-hoz)
-.RE
-.PD 0
-.RSs
-.IPs 0
-elõre meghatározott Huffman táblák (beépített vagy két lépéses)
-.IPs 1
-adaptív Huffman táblák
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-Quarter pel mozgás kompenzáció (kölcsönösen kizárják egymást az ilme-vel).
-.br
-.I TANÁCS:
-Ez csak a nagy bitrátájú kódolásoknál tûnik hasznosnak.
-.
-.TP
-.B mbcmp=<0\-2000>
-Beállítja az összehasonlító függvényt a makroblokk döntéshez, csak mdb=0
-esetén van hatása.
-Ezt használja néhány mozgás keresõ függvény is, ezen esetekben az mdb
-beállításától függetlenül fejti ki hatását.
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-abszolút különbségek összege, gyors (alapértelmezett)
-.IPs "1 (SSE)"
-négyzetes hibák összege
-.IPs "2 (SATD)"
-abszolút Hadamard transzformált különbségek összege
-.IPs "3 (DCT)"
-abszolút DCT transzformált különbségek összege
-.IPs "4 (PSNR)"
-négyzetes kvantálási hiba összege (kerüld el, gyenge minõségû)
-.IPs "5 (BIT)"
-blokkhoz szükséges bitek száma
-.IPs "6 (RD)"
-ráta eloszlási optimum, lassú
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-abszolút függõleges különbségek összege
-.IPs "9 (VSSE)"
-négyzetes függõleges különbségek összege
-.IPs "10 (NSSE)"
-négyzetes különbségek zajtartó összege
-.IPs "11 (W53)"
-5/3 wavelet, csak a snow-ban használják
-.IPs "12 (W97)"
-9/7 wavelet, csak a snow-ban használják
-.IPs "+256\ "
-A színtelítettséget is használja, jelenleg nem mûködik (helyesen) a B-kockákkal.
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-Beállítja az összehasonlító függvényt az átlapolt DCT döntésekhez
-(lásd az mbcmp-t a használható összehasonlító függvényekhez).
-.
-.TP
-.B precmp=<0\-2000>
-Beállítja az összehasonlító függvényt a mozgás becslés pre-pass-hoz
-(lásd az mbcmp-t a használható összehasonlító függvényekhez) (alapértelmezett: 0).
-.
-.TP
-.B cmp=<0\-2000>
-Beállítja az összehasonlító függvényt a teljes pel mozgásbecsléshez
-(lásd az mbcmp-t a használható összehasonlító függvényekhez) (alapértelmezett: 0).
-.
-.TP
-.B subcmp=<0\-2000>
-Beállítja az összehasonlító függvényt a sub pel mozgásbecsléshez
-(lásd az mbcmp-t a használható összehasonlító függvényekhez) (alapértelmezett: 0).
-.
-.TP
-.B skipcmp=<0\-2000>
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B nssew=<0\-1000000>
-Ez a beállítás az NSSE szélességet állítja be, ahol a nagyobb szélesség nagyobb
-zajt eredményez.
-0 NSSE azonos az SSE-vel
-Akkor lehet ez hasznos, ha célszerûnek tartod a zaj egy részének megõrzését az
-elkódolt videódban, mint a kódolás elõtti kiszûrését (alapértelmezett: 8).
-.
-.TP
-.B predia=<\-99\-6>
-rombusz típus és méret a mozgásbecslés pre-pass-hoz
-.
-.TP
-.B dia=<\-99\-6>
-Rombusz típus & méret a mozgásbecsléshez.
-A mozgás keresés egy iteratív eljárás.
-A kis rombusz nem jelenti azt, hogy csak kis mozgásvektorok lesznek megtalálva.
-Csak azt, hogy valószínûleg valamivel elõbb abbahagyja a keresést, mint ahogy
-megtalálná a legjobb mozgásvektort, különösen ha zaj is van.
-A nagyobb rombusz szélesebb körû keresést enged a jobb mozgásvektorhoz, így
-lassabb, de jobb minõséget ad.
-.br
-A nagy átlagos rombuszok jobb minõségûek, mint a formához illeszkedõ robumszok.
-.br
-A formához alkalmazkodó rombuszok viszont ésszerû kompromisszumok lehetnek a
-sebesség és a minõség között.
-.br
-.I MEGJEGYZÉS:
-Az átlagos rombuszok méretei és a formához illeszkedõeknek nem ugyan az a jelentésük.
-.RSs
-.IPs \-3
-Formához illeszkedõ (gyors) rombusz 3-as mérettel
-.IPs \-2
-Formához illeszkedõ (gyors) rombusz 2-es mérettel
-.IPs \-1
-egyenlõtlen multi-hexagon keresés (lassú)
-.IPs 1
-átlagos, méret=1 rombusz (alapértelmezett) =EPZS típusú rombusz
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-átlagos, méret=2 rombusz
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-Rácsos keresésû kvantálás.
-Ez megkeresi az optimális kódolást minden egyes 8x8-as blokkhoz.
-A rácsos keresésû kvantálás elég egyszerû optimális kvantálás a
-PSNR javára a bitráta érzékelés kárára (Feltéve, hogy az IDCT nem
-hoz be kerekítési hibákat, de nyílván nem ez a helyzet.).
-Egyszerûen keres egy blokkot a minimális hibával és lambda*bit-tel.
-.PD 0
-.RSs
-.IPs lambda
-kvantálási paramétertõl (quantization parameter, QP) függõ konstans
-.IPs "bits\ "
-a blokk elkódolásához szükséges bitek száma
-.IPs error
-a kvantálás négyzetes hibaösszege
-.RE
-.PD 1
-.
-.TP
-.B "cbp\ \ \ \ "
-Ráta torzított optimálisan kódolt blokkminta.
-Megkeresi azt a kódolt blokkmintát, ami minimalizálja a torzítást + lambda*rate-t.
-Ez csak a rácsos kvantálással együtt használható.
-.
-.TP
-.B "mv0\ \ \ \ "
-Megpróbál elkódolni minden MB-t a MV=<0,0>-lal és kiválasztja a legjobbat.
-Nincs hatása, ha mbd=0.
-.
-.TP
-.B mv0_threshold=<bármilyen nem negatív szám>
-Ha a környezõ mozgásvektorok értéke <0,0> és az aktuális blokk mozgás
-becslésének értéke kevesebb, mint az mv0_threshold, <0,0> lesz
-mozgásvektorként használva és a további mozgás becslés el lesz hagyva
-(alapértelmezett: 256).
-Az mv0_threshold értékének 0-ra csökkentése egy kicsi (0.01dB) PSNR
-növekedést eredményez és valószínûleg egy kicsit javítja a kódolt videó
-kinézetét; az mv0_threshold növelése 320 fölé csökkent PSNR-t és vizuális
-minõséget eredményez.
-A nagyobb értékek felgyorsítják a kódolást egy kicsit (általában kisebb,
-mint 1%-kal, a többi használt opciótól függõen).
-.br
-.I MEGJEGYZÉS:
-Ehhez az opcióhoz nem szükséges az engedélyezett mv0.
-.
-.TP
-.B qprd (csak mbd=2)
-ráta torzított optimális kvantálási paraméter (QP) minden makroblokk
-adott lambdájához
-.
-.TP
-.B last_pred=<0\-99>
-az elõzõ kockából származó mozgás elõrejelzõk száma
-.PD 0
-.RSs
-.IPs 0
-(alapértelmezett)
-.IPs a
-2a+1 x 2a+1 makroblokk négyzetet használ az elõzõ kockából a mozgás vektor
-becsléshez.
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-mozgás becslés pre-pass
-.PD 0
-.RSs
-.IPs 0
-letiltva
-.IPs 1
-csak I-kockák után (alapértelmezett)
-.IPs 2
-mindig
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-subpel finomítási minõség (qpel-hez) (alapértelmezett: 8 (nagyon jó minõség))
-.br
-.I MEGJEGYZÉS:
-Nincs jelentõs hatással a sebességre.
-.
-.TP
-.B refs=<1\-8>
-a figyelembe vett referencia képkockák száma mozgás kompenzációnál
-(csak Snow) (alapértelmezett: 1)
-.
-.TP
-.B "psnr\ \ \ "
-kiírja a PSNR-t (peak signal to noise ratio, csúcsjel aránya a zajhoz) a teljes
-videóra a kódolás után és eltárolja a kockánkénti PSNR-t egy fájlba, melynek
-neve 'psnr_hhmmss.log' alakú.
-A visszatérési értékek dB-ben (decibel) értendõek, a nagyobb a jobb.
-.
-.TP
-.B mpeg_quant
-MPEG kvanálók használata H.263 helyett.
-.
-.TP
-.B "aic\ \ \ \ "
-Engedélyezi az AC elõrejelzést MPEG-4 vagy fejlett intra elõrejelzést H.263+ esetén.
-Ez kicsit javít a minõségen (0.02 dB PSNR körül) és nagyon kicsit csökkenti
-a kódolást (1% körül).
-.br
-.I MEGJEGYZÉS:
-A vqmin-nek 8-nak vagy nagyobbnak kell lennie a H.263+ AIC-hez.
-.
-.TP
-.B "aiv\ \ \ \ "
-alternatív inter vlc H.263+-hoz
-.
-.TP
-.B "umv\ \ \ \ "
-határtalan MV-k (csak H.263+)
-Önkényesen nagy MV-kkel enged kódolni.
-.
-.TP
-.B ibias=<\-256\-256>
-intra kvantáló ferdesége (256 egyenlõ 1.0-val, MPEG stílusú kvantáló alapértelmezése: 96,
-H.263 stílusú kvantáló alapértelmezése: 0)
-.br
-.I MEGJEGYZÉS:
-A H.263 MMX kvantáló nem tudja kezelni a pozitív ferdeséget (add meg a vfdct=1 vagy 2-õt),
-az MPEG MMX kvantáló nem tudja kezelni a negatív ferdeséget (add meg a vfdct=1 vagy 2-õt).
-.
-.TP
-.B pbias=<\-256\-256>
-inter kvantáló ferdesége (256 egyenlõ 1.0-val, MPEG stílusú kvantáló alapértelmezése: 0,
-H.263 stílusú kvantáló alapértelmezése: \-64)
-.br
-.I MEGJEGYZÉS:
-A H.263 MMX kvantáló nem tudja kezelni a pozitív ferdeséget (add meg a vfdct=1 vagy 2-õt),
-az MPEG MMX kvantáló nem tudja kezelni a negatív ferdeséget (add meg a vfdct=1 vagy 2-õt).
-.br
-.I TANÁCS:
-Egy pozitívabb ferdeség (\-32 \- \-16 a \-64 helyett) látszólag növeli a PSNR-t.
-.
-.TP
-.B nr=<0\-100000>
-Zajcsökkentés, a 0 azt jelenti, hogy kikapcsolva.
-0\-600 a hasznos tartomány egy átlagos tartalom esetén, de lehet, hogy kicsit feljebb
-kell vinned, ha nagyon zajos az anyagod (alapértelmezett: 0).
-Mivel kicsi hatása van a sebességre, inkább ezt ajánlott használni, mint a
-zajszûrést a videó szûrõknél, pl.\& denoise3d vagy hqdn3d-vel.
-.
-.TP
-.B qns=<0\-3>
-Kvantáló zajalakítása.
-A PSNR érzékelés miatt a forrás videóhoz legközelebb esõ kvantáló választása
-helyett úgy választ kvantálót, hogy a zaj (általában gyûrûsödés) maszkolva
-lesz egy hasonló frekvenciájú tartalommal a képen.
-A nagyobb érték lassabb és nem biztos, hogy jobb eredményt ad.
-Ez a rácsos kvantálással együtt alkalmazható, abban az esetben, ha a rácsos
-kvantálás (optimális konstans súlyozáshoz) iteratív keresés kiindulópontjaként
-lesz használva.
-.PD 0
-.RSs
-.IPs 0
-kikapcsolva (alapértelmezett)
-.IPs 1
-Csak csökkenti az együtthatók abszolút értékét.
-.IPs 2
-Csak az utolsó, nem nulla együttható + 1 elõtti helyeken változtat az együtthatókon.
-.IPs 3
-Kipróbálja mindet.
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<vesszõvel elválasztott mátrix>
-Saját inter mátrix használata.
-Vesszõvel elválasztott, 64 egészbõl álló mátrixot vár.
-.
-.TP
-.B intra_matrix=<vesszõvel elválasztott mátrix>
-Saját intra mátrix használata.
-Vesszõvel elválasztott, 64 egészbõl álló mátrixot vár.
-.
-.TP
-.B vqmod_amp
-kísérleti kvantálás moduláló
-.
-.TP
-.B vqmod_freq
-kísérleti kvantálás moduláló
-.
-.TP
-.B "dc\ \ \ \ \ "
-intra DC pontosság bitekben (alapértelmezett: 8).
-Ha megadod a vcodec=mpeg2video-t, az értéke 8, 9, 10 vagy 11 lehet.
-.
-.TP
-.B cgop (lásd még sc_threshold)
-Bezár minden GOP-ot.
-Jelenleg csak akkor mûködik, ha a jelenet váltás detektáló le van tiltva
-(sc_threshold=1000000000).
-.
-.TP
-.B "gmc\ \ \ \ "
-A Global Motion Compensation engedélyezése.
-.
-.TP
-.B (no)lowdelay
-Beállítja az alacsony késleltetési jelzést az MPEG-1/2-nél (letiltja a B-kockákat, alapértelmezett: ki).
-.
-.TP
-.B vglobal=<0\-3>
-Globális videó fejlécek írását szabályozza.
-.PD 0
-.RSs
-.IPs 0
-A codec dönti el, hogy hova írjon globális fejléceket (alapértelmezett).
-.IPs 1
-Csak az extra adatba írjon globális fejléceket (.mp4/MOV/NUT esetén szükséges).
-.IPs 2
-Csak kulcskockák elõtt írjon globális fejlécet.
-.IPs 3
-Az 1 és a 2 kombinációja.
-.RE
-.PD 1
-.
-.TP
-.B aglobal=<0\-3>
-Ugyan az, mint a vglobal, csak audió fejlécekhez.
-.
-.TP
-.B level=<érték>
-Beállítja a CodecContext szintjét.
-31 vagy 41 kell a Playstation 3-as videó lejátszáshoz.
-.
-.TP
-.B skip_exp=<0\-1000000>
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B skip_factor=<0\-1000000>
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B skip_threshold=<0\-1000000>
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B "o\ \ \ \ \ \ "
-FIXME: nem dokumentált
-.
-.
-.SS nuv (\-nuvopts)
-.
-A Nuppel videó alapja az RTJPEG és az LZO.
-Alapértelmezésként a kockák elõször el lesznek kódolva RTJPEG-gel, majd
-ezután lesznek tömörítve LZO-val, azonban letiltható egyik vagy mindkét
-lépés. Eredményként tulajdonképpen nyers i420, LZO tömörített i420, RTJPEG
-vagy az alapértelmezett LZO tömörített RTJPEG kimenetet kaphatsz.
-.br
-.I MEGJEGYZÉS:
-A nuvrec dokumentációja tartalmaz pár tanácsot és példát a legáltalánosabb
-TV kódolásoknál alkalmazandó beállításokkal kapcsolatban.
-.
-.TP
-.B c=<0\-20>
-színességi küszöb (alapértelmezett: 1)
-.
-.TP
-.B l=<0\-20>
-fényerõsség küszöb (alapértelmezett: 1)
-.
-.TP
-.B "lzo\ \ \ \ "
-LZO tömörítés engedélyezése (alapértelmezett).
-.
-.TP
-.B "nolzo\ \ "
-LZO tömörítés letiltása.
-.
-.TP
-.B q=<3\-255>
-minõségi szint (alapértelmezett: 255)
-.
-.TP
-.B "raw \ \ \ "
-RTJPEG kódolás letiltása.
-.
-.TP
-.B "rtjpeg\ "
-RTJPEG kódolás engedélyezése (alapértelmezett).
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-Három mód elérhetõ: konstans bitráta (CBR), fix kvantáló és két lépéses.
-.
-.TP
-.B pass=<1|2>
-Megadja a lépést két lépéses módban.
-.
-.TP
-.B turbo (csak két lépéses módban)
-Drasztikusan felgyorsítja az elsõ lépést gyorsabb algoritmusok használatával
-és a CPU-intenzív opciók letiltásával.
-Ez valószínûleg kis mértékben csökkenti a globális PSNR-t és egy kicsit
-megváltoztatja az egyéni kocka típusokat és PSNR-eket.
-.
-.TP
-.B bitrate=<érték> (CBR vagy két lépéses mód)
-Megadja a használandó bitrátát kbit/\:másodperc-ben ha <16000 vagy bit/\:másodpercben
-ha >16000.
-Ha az <érték> negatív, az Xvid az abszolút értékét fogja használni a videó cél
-méreteként (kbájtban) és automatikusan kiszámítja a megfelelõ bitrátát
-(alapértelmezett: 687 kbits/s).
-.
-.TP
-.B fixed_quant=<1\-31>
-Fix kvantálásos mód kiválasztása, egyben a használandó kvantáló megadása.
-.
-.TP
-.B zones=<zóna0>[/<zóna1>[/...]] (CBR vagy két lépéses mód)
-Felhasználó által megadott minõség az egyes részekhez (vége, feliratok, ...).
-Minden zóna egy <kezdõ-kocka>,<mód>,<érték> hármas, ahol a <mód> lehet
-.PD 0
-.RSs
-.IPs "q"
-Konstans kvantálás felülbírálása, ahol az érték=<2.0\-31.0>
-reprezentálja a kvantáló értékét.
-.IPs "w"
-Ratecontrol súlyozás felülbírálása, ahol az érték=<0.01\-2.00>
-reprezentálja a minõségjavítást %-ban.
-.RE
-.PD 1
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-A 90000. kockától kezdõdõen minden kockát 20-as, konstans kvantálóval kódol.
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-A 0\-10000 közötti kockákat 10%-os bitrátával, a 90000-tõl végéig
-lévõ kockákat pedig 20-as konstans kvantálóval kódolja.
-Figyelj rá, hogy a második zónának körül kell határolnia az elsõ
-zónát, mivel különben a 89999-ig kockáig mindent 10%-os bitrátával
-kódolna.
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-Ez az opció a mozgás becslési alrendszert vezérli.
-Minél nagyobb az érték, annál precízebb lesz a becslés (alapértelmezett: 6).
-Minél precízebb a becslés, annál több bitet lehet megspórolni.
-A precizitást a CPU idõben kell megfizetni, ezért csökkentsd ezt a beállítást,
-ha valós idõben akarsz kódolni.
-.
-.TP
-.B (no)qpel
-Az MPEG-4 fél pixel-es precíziót használ a mozgáskereséshez alapértelmezésben.
-A szabvány javasol egy módot, ahol a kódoló használhatja a negyed
-pixel-es precíziót is.
-Ez az opció általában élesebb képet eredményez.
-Sajnos nagyon nagy hatással van a bitrátára és néha a nagyobb bitráta
-használata megakadályozza abban, hogy tényleg jobb képet adjon
-egy fix bitráta mellett.
-Jobb, ha elvégzel egy tesztet ezzel az opcióval és ez nélkül, majd
-eldöntöd, hogy megéri-e bekapcsolni.
-.
-.TP
-.B (no)gmc
-Bekapcsolja a Global Motion Compensation-t, aminek a hatására az Xvid
-speciális kockákat (GMC-kockákat) fog generálni, ami nagyon megfelelõ a
-Pan-nelt/\:Nagyított/\:Forgatott képekhez.
-Az, hogy ez az opció spórol-e biteket vagy sem, nagyban függ a forrás anyagtól.
-.
-.TP
-.B (no)trellis
-A Trellis Quantization (rácsos kvantálás) az adaptív kvantálási módszer
-egy változata, ami biteket spórol a kvantált együtthatók módosításával,
-lehetõvé téve az entrópia kódolónak azok jobb tömörítését.
-A minõségre gyakorolt hatása jó és ha a VHQ túl sok CPU-t eszik,
-ez a beállítás jó alternatíva lehet pár bit megmentéséhez (és minõség
-nyeréséhez fix bitrátánál) kisebb áldozattal, mint a VHQ (alapértelmezett: be).
-.
-.TP
-.B (no)cartoon
-Akkor kapcsold be ezt, ha a kódolt sorozatod anime/\:rajzfilm.
-Módosít néhány Xvid belsõ küszöbértéket, így az Xvid jobb döntéseket hoz
-a kocka típusoknál és a mozgásvektoroknál az egyszerû kinézetû rajzfilmeknél.
-.
-.TP
-.B (no)chroma_me
-Az általános mozgásbecslõ algoritmusok csak a fényerõsség információkat
-használják a legjobb mozgásvektor megtalálásához.
-Azonban néhány videó anyagnál a színtelítettségi sík segíthet jobb vektorok
-megtalálásában.
-Ez a beállítás bekapcsolja a színtelítettségi sík használatát a mozgás
-becslés során (alapértelmezett: be).
-.
-.TP
-.B (no)chroma_opt
-Bekapcsolja a színtelítettség optimalizáló elõszûrõt.
-Némi extra trükközést végez a szín információkon a széleken jelentkezõ
-stepped-stairs effektus minimalizálása érdekében.
-A kódolási sebesség kárára növeli a minõséget.
-Természetébõl adódóan csökkenti a PSNR-t, mivel a matematikai eltérés az
-eredeti képtõl nagyobb lesz, de a szubjektív képminõség jobb lesz.
-Mivel szín információkkal dolgozik, kikapcsolhatod, ha szürkeárnyalatos
-kódolást végzel.
-.
-.TP
-.B (no)hq_ac
-Bekapcsolja az AC együtthatók nagyon jó minõségû elõrejelzését a szomszédos
-blokkokból az intra kockákhoz (alapértelmezett: be).
-.
-.TP
-.B vhq=<0\-4>
-A mozgás keresõ algoritmus az általános szín tartományokban keres és megpróbálja
-megtalálni azt a mozgásvektort, ami minimalizálja a különbséget a referencia
-kocka és a kódolt kocka között.
-Ha ez a beállítás aktív, az Xvid a frekvencia tartományokat (DCT) is használni
-fogja a mozgásvektorokhoz, ami nem csak a térbeli különbséget minimalizálja,
-hanem a blokk kódolási hosszát is.
-Gyorsabbtól a lassabbig:
-.PD 0
-.RSs
-.IPs 0
-ki
-.IPs 1
-mód döntés (inter/\:intra MB) (alapértelmezett)
-.IPs 2
-korlátozott keresés
-.IPs 3
-közepes keresés
-.IPs 4
-széles keresés
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-Az adaptív kvantálás megengedi a változtatást a kockákon belül a makroblokk
-kvantálóknak.
-Ez egy 'pszichoérzéki' beállítás, ami azt a tényt próbálja kihasználni,
-hogy az emberi szem a kép nagyon világos és nagyon sötét részein kevésbé
-figyeli meg a részleteket.
-Ezeket a területeket sokkal jobban tömöríti, mint a közepeseket, ami biteket
-ment meg, melyek más kockákban felhasználhatóak lesznek, növelve az
-össz szubjektív minõséget és valószínûleg csökkentve a PSNR-t.
-.
-.TP
-.B (no)grayscale
-Az Xvid figyelmen kívül hagyja a színtelítettségi síkot, így a kódolt videó
-szürkeárnyalatos lesz. Vedd figyelembe, hogy ez nem gyorsítja fel a
-kódolást, csak megakadályozza, hogy a színtelítettségi adatok kiíródjanak
-a kódolás utolsó szakaszában.
-.
-.TP
-.B (no)interlacing
-Az átlapolt videó anyag mezõinek kódolása.
-Kapcsold be egy átlapolt tartalomhoz.
-.br
-.I MEGJEGYZÉS:
-Ha át kell méretezned a videót, egy átlapolást figyelmbe vevõ méretezõt
-kell használnod, amit a \-vf scale=<width>:<height>:1 opcióval aktiválhatsz.
-.
-.TP
-.B min_iquant=<0\-31>
-minimális I-kocka kvantáló (alapértelmezett: 2)
-.
-.TP
-.B max_iquant=<0\-31>
-maximális I-kocka kvantáló (alapértelmezett: 31)
-.
-.TP
-.B min_pquant=<0\-31>
-minimális P-kocka kvantáló (alapértelmezett: 2)
-.
-.TP
-.B max_pquant=<0\-31>
-maximális P-kocka kvantáló (alapértelmezett: 31)
-.
-.TP
-.B min_bquant=<0\-31>
-minimális B-kocka kvantáló (alapértelmezett: 2)
-.
-.TP
-.B max_bquant=<0\-31>
-maximális B-kocka kvantáló (alapértelmezett: 31)
-.
-.TP
-.B min_key_interval=<érték> (csak két lépéses)
-minimális idõköz a kulcskockák között (alapértelmezett: 0)
-.
-.TP
-.B max_key_interval=<érték>
-maximális idõköz a kulcskockák között (alapértelmezett: 10*fps)
-.
-.TP
-.B quant_type=<h263|mpeg>
-Beállítja a használni kívánt kvantáló típusát.
-Nagyobb bitrátáknál úgy tûnik, hogy az MPEG kvantálás jobban megõrzi a részleteket.
-Alacsony bitrátáknál a H.263 simítása csökkenti a blokk zajt.
-Ha saját matricákat használsz, az MPEG kvantálást
-.b kell
-használni.
-.
-.TP
-.B quant_intra_matrix=<fájlnév>
-Betölti a saját intra mátrixot tartalmazó fájlt.
-Ilyen fájlt az xvid4conf mátrix szerkesztõjével készíthetsz.
-.
-.TP
-.B quant_inter_matrix=<fájlnév>
-Betölti a saját inter mátrixot tartalmazó fájlt.
-Ilyen fájlt az xvid4conf mátrix szerkesztõjével készíthetsz.
-.
-.TP
-.B keyframe_boost=<0\-1000> (csak két lépéses módban)
-A más kocka típusok közös tulajdonából néhány bitet az intra kockáknak ad,
-így növelve a kulcskockák minõségét.
-Ez a mennyiség az extra százaléka, így a 10-es érték a kulcskockáidnak
-10%-kal több bitet ad, mint alapesetben (alapértelmezett: 0).
-.
-.TP
-.B kfthreshold=<érték> (csak két lépéses módban)
-A kfreduction-nal együtt mûködik.
-Megadja a minimális távolságot, ami alatt két egymás utáni kockát
-egymást követõnek tekint és különbözõen kezeli õket a kfreduction-nek
-megfelelõen (alapértelmezett: 10).
-.
-.TP
-.B kfreduction=<0\-100> (csak két lépéses módban)
-A fenti két beállítás használható a kulcs képkocka méretének beállításához,
-amit már elég közelinek tartasz ahhoz, hogy az elsõ legyen (a sorban).
-A kfthreshold beállítja a tartományt, amiben a kulcs képkockák csökkennek
-és a kfreduction szabályozza a bitráta csökkentést, ami jut rájuk.
-Az utolsó I-kocka normálisként lesz kezelve (alapértelmezett: 30).
-.
-.TP
-.B max_bframes=<0\-4>
-Az I/P-kockák közé teendõ B-kockák maximális száma (alapértelmezett: 2).
-.
-.TP
-.B bquant_ratio=<0\-1000>
-kvantáló ráta a B- és nem-B-kockák között, 150=1.50 (alapértelmezett: 150)
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-kvantáló eltolás a B- és nem-B-kockák között, 100=1.00 (alapértelmezett: 100)
-.
-.TP
-.B bf_threshold=<\-255\-255>
-Ezzel az opcióval megadhatod a B-kockák használatának priorítását.
-A nagyobb érték a B-kocka felhasználásának nagyobb valószínûségét jelenti
-(alapértelmezett: 0).
-Ne felejtsd el, hogy a B-kockák általában nagyobb kvantálóval rendelkeznek,
-ezért a B-kockák túlzott használata csökkenti a vizuális minõséget.
-.
-.TP
-.B (no)closed_gop
-Ez az opció megmondja az Xvid-nek, hogy zárja le az összes GOP-ot
-(Group Of Pictures, Képek Csoportja, melyeket két I-kocka határol), ami által
-a GOP-ok függetlenek lesznek egymástól. Ez magában foglalja azt, hogy a GOP
-utolsó kockája vagy egy P-kocka vagy egy N-kocka, de nem B-kocka.
-Általában jó ötlet bekapcsolni ezt az opciót (alapértelmezett: be).
-.
-.TP
-.B (no)packed
-Ez az opció a kocka-sorrendbeli gondokat oldja meg konténer formátumokba,
-pl.\& AVI-ba történõ kódoláskor, ami nem tud megbírkózni a nem sorrendben
-lévõ kockákkal. A gyakorlatban a legtöbb dekódoló (mind szoftveres, mind
-hardveres) saját maga is tudja kezelni a kocka-sorrendet és összezavarodhat,
-ha ez az opció be van kapcsolva, így nyugodtan kikapcsolva hagyhatod,
-kivéve ha pontosan tudod, hogy mit csinálsz.
-.br
-.I FIGYELMEZTETÉS:
-Ez egy hibás bitfolyamot fog generálni, amit nem lehet lejátszani az
-ISO-MPEG-4 dekódolókkal, kivéve a DivX/\:libavcodec/\:Xvid-et.
-.br
-.I FIGYELMEZTETÉS:
-Ez egy hamis DivX verziót is eltárol a fájlban, így néjány dekódoló
-automatikus hibafelismerése összezavarodhat.
-.
-.TP
-.B frame_drop_ratio=<0\-100> (csak max_bframes=0)
-Ez az opció megengedi a változó framerátájú videó folyamok készítését.
-Az érték egy küszöböt jelöl, ami mellett ha a különbség az elõzõ és a
-következõ kocka között kisebb vagy egyenlõ vele, a kocka nem lesz elkódolva
-(egy úgynevezett n-vop kerül a folyamba).
-Lejátszáskor az n-vop helyett az elõzõ kocka jelenik meg.
-.br
-.I FIGYELMEZTETÉS:
-Ezzel a beállítással történõ lejátszás szaggatott videót eredményezhet,
-tehát csak a saját felelõsségedre használd!
-.
-.TP
-.B rc_reaction_delay_factor=<érték>
-Ez a paraméter szabályozza, hogy a CBR rate controller hány képkockát várjon,
-mielõtt reagálna a bitráta változásra és kompenzálná a konstans bitráta
-megtartásához a kockák egy átlagos tartományán.
-.
-.TP
-.B rc_averaging_period=<érték>
-Az igazi CBR-t nagyon nehéz elérni.
-A videó anyagtól függõen a bitráta változhat és ezt nehéz elõre megjósolni.
-Ezért az Xvid egy átlagoló periódust használ, ami alatt garantálja a megadott
-bitmennyiséget (minusz egy kis variáció).
-Ez a beállítás megadja a "kockák számát", amikre vonatkoztatva az Xvid
-átlagol és megpróbálja elérni a CBR-t.
-.
-.TP
-.B rc_buffer=<érték>
-a rate control bufferjének mérete
-.
-.TP
-.B curve_compression_high=<0\-100>
-Ez a beállítás megengedi az Xvid-nek a bitek bizonyos százalékának
-elvételét a nagy bitrátájú jelenetektõl és visszateszi a nagy közös
-tartályba.
-Akkor is hasznos lehet, ha egy olyan klipped van, amiben már olyan
-sok bit jut a nagy bitrátájú jelenetekre, hogy az alacsony(abb)
-bitrátájú részek már rosszul kezdenek kinézni (alapértelmezett: 0).
-.
-.TP
-.B curve_compression_low=<0\-100>
-Ez a beállítás megengedi az Xvid-nek, hogy az extra bitek bizonyos
-százalékát az alacsony bitrátájú fejezeteknek adja, elvéve pár bitet
-a teljes klipptõl. Hasznos lehet, ha van pár alacsony bitrátájú
-jeleneted, ami még mindig blokkos (alapértelmezett: 0).
-.
-.TP
-.B overflow_control_strength=<0\-100>
-A két lépéses kódolás elsõ lépésében kiszámít egy skálázott bitráta görbét.
-Ezen várt görbe és a kódolási eredmény közötti eltérést túlcsordulásnak
-hívjuk.
-A két lépéses rate controller természetesen megpróbálja kompenzálni ezt a
-túlcsordulást, elosztva a következõ képkockákon.
-Ez a beállítás azt szabályozza, hogy a túlcsordulás mekkora része lesz
-kiosztva minden egyes új képkockánál.
-Az alacsony értékek lazább túlcsordulás kezelést eredményeznek, a nagy
-ráta ingadozások sokkal lassabban lesznek kompenzálva (a precizítás
-elveszétéséhez vezethet kis klippeknél).
-A nagyobb értékek sokkal gyorsabban végzik el a bitek újraosztását, talán
-túl gyorsan is, ha túl nagy értéked adsz meg, mellékhatásokat okozva
-(alapértelmezett: 5).
-.br
-.I MEGJEGYZÉS:
-Ez a beállítás jelentõsen érinti a minõséget, óvatosan szórakozz!
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-A kocka bitfoglalása során a túlcsordulás vezérlés növelheti a kocka méretét.
-Ez a paraméter megadja a maximális százalékot, amennyivel a túlcsordulás
-kezelõ megnövelheti a kocka méretét, összehasonlítva az ideális görbével
-(alapértelmezett: 5).
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-A kocka bitfoglalása során a túlcsordulás vezérlés csökkentheti a kocka méretét.
-Ez a paraméter megadja a maximális százalékot, amennyivel a túlcsordulás
-kezelõ csökkentheti a kocka méretét, összehasonlítva az ideális görbével
-(alapértelmezett: 5).
-.
-.TP
-.B container_frame_overhead=<0...>
-Megad egy átlagos kockánkénti többletet bájtokban.
-Legtöbbször a felhasználók úgy jelölik meg a videójuk cél bitrátáját, hogy
-nem veszik figyelembe a videó konténerének többletét.
-Ez a kicsi de (legtöbbször) konstant többlet azt okozhatja, hogy a célzott
-fájlméret át lesz lépve.
-Az Xvid megengedi a felhasználóknak, hogy beállítsák a többlet kockánkénti
-méretét, amit a konténer generál (csak egy kockánkénti átlagot adva).
-A 0-nak speciális jelentése van, ez engedi az Xvid-nek a saját alapértelmezett
-értékeit használni (alapértelmezett: 24 \- AVI átlagos többlet).
-.
-.TP
-.B profile=<profil_név>
-Lekorlátozza az opciókat és a VBV-t (csúcs bitráta egy rövid periódusban)
-a Simple, Advanced Simple és DivX profiloknak megfelelõen.
-Ezen profil specifikációknak megfelelõ eredmény videóknak lejátszhatóaknak
-kell lenniük az asztali lejátszókkal is.
-.PD 0
-.RSs
-.IPs unrestricted
-nincs korlátozás (alapértelmezett)
-.IPs "sp0\ \ "
-egyszerû profil a 0. szinten
-.IPs "sp1\ \ "
-egyszerû profil az 1. szinten
-.IPs "sp2\ \ "
-egyszerû profil a 2. szinten
-.IPs "sp3\ \ "
-egyszerû profil a 3. szinten
-.IPs "asp0\ "
-haladó egyszerû profil a 0. szinten
-.IPs "asp1\ "
-haladó egyszerû profil az 1. szinten
-.IPs "asp2\ "
-haladó egyszerû profil a 2. szinten
-.IPs "asp3\ "
-haladó egyszerû profil a 3. szinten
-.IPs "asp4\ "
-haladó egyszerû profil a 4. szinten
-.IPs "asp5\ "
-haladó egyszerû profil az 5. szinten
-.IPs dxnhandheld
-DXN handheld profil
-.IPs dxnportntsc
-DXN hozdozható NTSC profil
-.IPs dxnportpal
-DXN hordozható PAL profil
-.IPs dxnhtntsc
-DXN házimozi NTSC profil
-.IPs dxnhtpal
-DXN házimozi PAL profil
-.IPs dxnhdtv
-DXN HDTV profil
-.RE
-.PD 1
-.RS
-.I MEGJEGYZÉS:
-Ezeket a profilokat a megfelelõ \-ffourcc mellett ajánlott használni.
-Általában a DX50 a használatos, mivel néhány lejátszó nem ismeri fel az
-Xvid-et, de a legtöbb felismeri a DivX-et.
-.RE
-.
-.TP
-.B par=<mód>
-Megadja a Pixel Aspect Ratio módot (nem összekeverendõ a DAR-ral,
-a Display Aspect Ratio-val).
-A PAR a egy egyszerû pixel szélességének és magasságának az aránya.
-A kettõ így függ össze: DAR = PAR * (szélesség/magasság).
-.br
-Az MPEG-4 5-ös pixel méretarányt definiál és egy kiterjesztettet,
-megadva a lehetõséget egy speciális pixel méretarány megadására.
-5 szabványos mód adható meg:
-.PD 0
-.RSs
-.IPs vga11
-Az általános PAR PC tartalomnál.
-A pixelek négyzetes egységek.
-.IPs pal43
-PAL szabvány 4:3-as PAR-ral.
-A pixelek téglalapok.
-.IPs pal169
-mint az elõzõ
-.IPs ntsc43
-mint az elõzõ
-.IPs ntsc169
-mint az elõzõ (Ne felejtsd el megadni a pontos arányt.)
-.IPs "ext\ \ "
-Megengedi a felhasználónak, hogy saját pixel méretarányt adjon meg a par_widthé
-és par_height segítségével.
-.RE
-.PD 1
-.RS
-.I MEGJEGYZÉS:
-Általában a méret és az autoaspect beállítása elegendõ.
-.RE
-.
-.TP
-.B par_width=<1\-255> (csak par=ext esetén)
-Megadja a saját pixel méretaránynál a szélességet.
-.
-.TP
-.B par_height=<1\-255> (csak par=ext esetén)
-Megadja a saját pixel méretaránynál a magasságot.
-.
-.TP
-.B aspect=<x/y | f (lebegõpontos szám)>
-A film képarányának belsõ tárolása, csakúgy, mint az MPEG fájloknál.
-Sokkal szebb megoldás, mint az átméretezés, mert a minõség nem romlik.
-Az MPlayer és néhány más lejátszó jól játsza le ezeket a fájlokat, mások
-viszont rossz képaránnyal fogják megjeleníteni a filmet.
-Az aspect paramétere megadható arányként vagy egy lebegõpontos számként is.
-.
-.TP
-.B (no)autoaspect
-Ugyan az, mint az aspect opció, de automatikusan számítja ki az arányt,
-figyelembe véve a beállításokat (vágás/\:nagytás/\:méretezés/\:stb.), melyek
-a szûrõláncban történtek.
-.
-.TP
-.B "psnr\ \ \ "
-Kiírja a PSNR-t (peak signal to noise ratio) a teljes videóra a kódolás után
-és eltárolja a kockánkénti PSNR-t egy fájlba 'psnr_hhmmss.log' formátumú
-fájlnévvel az aktuális könyvtárba.
-A visszatérési érték dB-ben (decibel) értendõ, a nagyobb a jobb.
-.
-.TP
-.B "debug\ \ "
-Kockánkénti statisztikát ment el a ./xvid.dbg fájlba. (Ez nem a két lépéses
-control fájl.)
-.RE
-.
-.PP
-.sp 1
-A következõ opció csak az Xvid 1.1.x változatában létezik.
-.
-.TP
-.B bvhq=<0|1>
-Ez a beállítás megengedi a B-kocka vektor összetevõinek a felhasználását
-a kódolásban, melyet a ráta torzításhoz optimalizált operátor választ
-ki, ami a P-kockáknál történik a vhq opciónál.
-Ez szebb kinézetû B-kockákat eredményez, miközben nem eredményez
-teljesítménybeli veszteséget (alapértelmezett: 1).
-.
-.PP
-.sp 1
-A következõ opció csak az Xvid 1.2.x változatában létezik.
-.
-.TP
-.B threads=<0\-n>
-N szálat hoz létre a mozgásbecsléshez (alapértelmezett: 0).
-A használható szálak maximális száma a kép magassága osztva 16-tal.
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<érték>
-Beállítja az átlagos használandó bitrátát kbit/\:másodpercben
-(alapértelmezett: ki). Mivel a lokális bitráta változhat, ez az átlag
-pontatlan lehet a rövid videóknál (lásd ratetol).
-A konstans bitráta ezen opció és a vbv_maxrate kombinálásával érhetõ el,
-jelentõs minõségromlás árán.
-.
-.TP
-.B qp=<0\-51>
-Ez kiválasztja a P-kockákhoz használt kvantálót.
-Az I- és B-kockák gyakran ebbõl az értékbõl számítódnak az ip_factor és
-pb_factor segítségével.
-20\-40 a használható tartomány.
-Alacsonyabb értékek nagyobb hûséget, de nagyobb bitrátát eredményeznek.
-A 0 a veszteségmentes tömörítés.
-Figyelj rá, hogy a kvantálás a H.264-ben máshogy mûködik, mint az MPEG-1/2/4-ben:
-A H.264 kvantálási paramétere (QP) egy logaritmikus skála.
-A map-polás körülbelül H264QP = 12 + 6*log2(MPEGQP).
-Például az MPEG QP=2-vel azonos a H.264 QP=18-cal.
-.
-.TP
-.B crf=<1.0\-50.0>
-Engedélyezi a konstans minõségi módot és kiválasztja a minõséget.
-Ez a skála hasonló a QP-hez.
-Csakúgy, mint a bitráta-alapú módok, ez is megengedi az egyes kockáknak
-különbözõ QP-k használatát a kocka komplexitásától függõen.
-.
-.TP
-.B pass=<1\-3>
-2 vagy 3-lépéses mód engedélyezése.
-Ajánlott mindig 2 vagy 3-lépéses módban kódolni, mivel jobb bit elosztást
-és megnövekedett összminõséget eredményez.
-.PD 0
-.RSs
-.IPs 1
-elsõ lépés
-.IPs 2
-második lépés (két lépéses kódoláskor)
-.IPs 3
-n. lépés (második vagy harmadik lépés egy három lépéses kódoláskor)
-.RE
-.RS
-Íme, hogyan mûködik és hogyan kell használni:
-.br
-Az elsõ lépés (pass=1) összegyûjti a videó statisztikáit és kiírja egy fájlba.
-Javasolt pár CPU-igényes opció letiltása, kivéve azokat, amik alapértelmezében
-be vannak kapcsolva.
-.br
-Két lépéses módban a második lépés (pass=2) elolvassa a statisztika fájlt
-és rá alapozza a ratecontrol döntéseket.
-.br
-Három lépéses módban a második lépés (pass=3, ez nem elírás)
-mindkettõt megcsinálja: elõször elolvassa a statisztikát, majd felülírja.
-Használhatsz bármilyen kódolási opciót, kivéve a nagyon CPU-igényeseket.
-.br
-A harmadik lépés (pass=3) ugyan az, mint a második, kivéve hogy a második
-lépés statisztika fájljából dolgozik.
-Bármilyen kódolási opciót használhatsz, beleértve a CPU-igényeseket is.
-.br
-Az elsõ lépésben vagy átlagos bitrátát vagy konstans kvantálót ajánlott
-használni. Az ABR a javasolt, mivel nem kell hozzá kvantálót kitalálni.
-A rákövetkezõ lépések ABR-esek és meg kell adni egy bitrátát is.
-.REss
-.
-.
-.TP
-.B profile=<név>
-Elõírja az opciók egy H.264 profillal való kompatibilitását.
-.PD 0
-.RSs
-.IPs baseline
-no8x8dct bframes=0 nocabac cqm=flat weightp=0 nointerlaced qp>0
-.IPs main
-no8x8dct cqm=flat qp>0
-.IPs high
-qp>0 (alapértelmezett)
-.RE
-.PD 1
-.
-.TP
-.B preset=<név>
-Egy elõre eltárolt beállítást használ a kódoláshoz.
-.PD 0
-.RSs
-.IPs ultrafast
-no8x8dct aq_mode=0 b_adapt=0 bframes=0 nodeblock nombtree me=dia
-nomixed_refs partitions=none ref=1 scenecut=0 subq=0 trellis=0
-noweight_b weightp=0
-.IPs superfast
-nombtree me=dia nomixed_refs partitions=i8x8,i4x4 ref=1 subq=1 trellis=0
-weightp=0
-.IPs veryfast
-nombtree nomixed_refs ref=1 subq=2 trellis=0 weightp=0
-.IPs faster
-nomixed_refs rc_lookahead=20 ref=5 subq=4 weightp=1
-.IPs fast
-rc_lookahead=30 ref=2 subq=6
-.IPs medium
-Az alapértelmezett beállítások lesznek érvényesek.
-.IPs slow
-b_adapt=2 direct=auto me=umh rc_lookahead=50 ref=5 subq=8
-.IPs slower
-b_adapt=2 direct=auto me=umh partitions=all rc_lookahead=60 ref=8 subq=9
-trellis=2
-.IPs veryslow
-b_adapt=2 b_frames=8 direct=auto me=umh me_range=24 partitions=all ref=16
-subq=10 trellis=2 rc_lookahead=60
-.IPs placebo
-bframes=16 b_adapt=2 direct=auto nofast_pskip me=tesa me_range=24
-partitions=all rc_lookahead=60 ref=16 subq=10 trellis=2
-.RE
-.PD 1
-.
-.TP
-.B tune=<név,[név,...]>
-A beállításokat egy bizonyos forráshoz vagy szituációhoz hangolja.
-Minden behangolt beállítást felülírnak az explicit megadott felhasználói beállítások.
-A többszörös hangolás vesszõvel elválasztva adható meg, de egyszerre csak egy psy
-hangolás használható.
-.PD 0
-.RSs
-.IPs "film (psy hangolás)"
-deblock=-1,-1 psy-rd=<unset>,0.15
-.IPs "animation (psy hangolás)"
-b_frames={+2} deblock=1,1 psy-rd=0.4:<nem beállított> aq_strength=0.6
-ref={kétszeres ha >1 különben 1}
-.IPs "grain (psy hangolás)"
-aq_strength=0.5 nodct_decimate deadzone_inter=6 deadzone_intra=6
-deblock=-2,-2 ipratio=1.1 pbratio=1.1 psy-rd=<nem beállított>,0.25 qcomp=0.8
-.IPs "stillimage (psy hangolás)"
-aq_strength=1.2 deblock=-3,-3 psy-rd=2.0,0.7
-.IPs "psnr (psy hangolás)"
-aq_mode=0 nopsy
-.IPs "ssim (psy hangolás)"
-aq_mode=2 nopsy
-.IPs fastdecode
-nocabac nodeblock noweight_b weightp=0
-.IPs zerolatency
-bframes=0 force_cfr rc_lookahead=0 sync_lookahead=0 sliced_threads
-.RE
-.PD 1
-.
-.TP
-.B slow_firstpass
-Letiltja a következõ, gyorsabb opciókat pass=1-nél:
-no_8x8dct me=dia partitions=none ref=1 subq={2 ha >2 különben változatlan}
-trellis=0 fast_pskip.
-Ezek a beállítások jelentõsen javítják a kódolási sebességet, miközben csekély
-vagy semmilyen hatásuk nincs a minõségre a végsõ lépésben.
-.br
-Ezt az opciót preset=placebo magában foglalja.
-.
-.TP
-.B keyint=<érték>
-Beállítja a maximális idõközt az IDR-kockák között (alapértelmezett: 250).
-A nagyobb érték biteket spórol, így növeli a minõséget, a léptetési
-precizítás kárára.
-Az MPEG-1/2/4-gyel ellentétben a H.264-nél nincs probléma a DCT mozgással
-a keyint nagy értékeinél.
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-Beállítja a minimális idõközt az IDR-kockák között (alapértelmezett: 25).
-Ha ezen idõközön belül van jelenetvágás, akkor is I-kockaként kerülnek
-elkódolásra, de nem kezdenek új GOP-ot.
-A H.264-ben az I-kockák nem feltétlenül kötnek össze egy lezárt GOP-ot,
-mert megengedett egy P-kockának, hogy több, mint egy megelõzõ kockából
-legyen megjósolva (ugyan az, mint a frameref).
-Ezért az I-kockák nem feltétlenül kereshetõek.
-Az IDR-kockák az elkövetkezõ P-kockáknak megtiltják az IDR-kocka elõtti
-bármilyen kockára történõ hivatkozást.
-.
-.TP
-.B scenecut=<\-1\-100>
-Szabályozza az extra I-kockák beszúrásának agresszivítását (alapértelmezett: 40).
-A scenecut nagyon kicsi értékeire a codec gyakran olyankor kényszerül I-kocka
-beszúrására, amikor az meghaladja a keyint-et.
-A scenecut jó értékei jobb helyet találnak az I-kockáknak.
-A nagy értékek több I-kockát használnak a szükségesnél, biteket pazarolva.
-A \-1 letiltja a scene-cut detektálást, így az I-kockák csak egyszer
-kerülnek beszúrásra minden más keyint keretbe, akkor is, ha egy
-scene-cut elõbb elõfordul.
-Ez nem javasolt, bitrátát pazarol, mivel a scenecut-ok, melyek
-P-kockákként kerülnek elkódolásra, majdnem olyan nagyok, mint az I-kockák,
-de nem nullázzák a "keyint számlálót".
-.
-.TP
-.B (no)intra_refresh
-Periódikus intra blokk frissítés a kulcskockák helyett (alapértelmezett: letiltva).
-Ez az opció letiltja az IDR-kockákat és helyettük azintra-kódolású blokkok egy mozgó,
-függõleges sávját használja. Ez csökkenti a tömörítési hatékonyságot, de
-jó az alacsony késleltetésû stream-elésnél és ellenálló a csomagvesztéssel szemben.
-.
-.TP
-.B frameref=<1\-16>
-A B- és P-kockák becsléséhez felhasznált elõzetes képkockák száma
-(alapértelmezett: 3).
-Ez hatásos anime-nál, de élõ akciós anyagnál a javulás általában
-nagyon gyorsan el is veszik 6 vagy több referenciakocka felett.
-Ennek nincs hatása a dekódolási sebességre, de növeli a dekódoláshoz
-szükséges memóriát.
-Néhány dekóder csak maximum 15 referenciakockát tud kezelni.
-.
-.TP
-.B bframes=<0\-16>
-maximálisan egymást követõ B-kockák száma az I- és P-kockák között (alapértelmezett: 3)
-.
-.TP
-.B (no)b_adapt
-Automatikusan eldönti, hogy mikor és mennyi B-kockát használjon, a
-fent megadott maximumig (alapértelmezett: be).
-Ha ez az opció ki van kapcsolva, a maximális számú B-kocka lesz
-felhasználva.
-.
-.TP
-.B b_bias=<\-100\-100>
-Vezérli a b_adapt által hozott döntést.
-A nagyobb b_bias több B-kockát eredményez (alapértelmezett: 0).
-.
-.TP
-.B (no)b_pyramid
-A B-kockák felhasználását engedélyezi más kockák becsléséhez.
-Például vegyünk 3 egymás utáni B-kockát: I0 B1 B2 B3 P4.
-Ezen opció nélkül a B-kockák ugyan azt a mintát követik, mint az
-MPEG-[124]-ben. Így I0 P4 B1 B2 B3 sorrendben lesznek elkódolva
-és az összes B-kocka az I0-ból és a P4-bõl lesz megállapítva.
-Ezzel az opcióval I0 P4 B2 B1 B3 sorrendben lesznek elkódolva.
-A B2 ugyan az, mint fent, de a B1 az I0-ból és a B2-bõl lesz
-megállapítva, a B3 pedig a B2-bõl és a P4-bõl.
-Ez általában kissé javít a tömörítésen, sebességcsökkenés nélkül.
-Azonban ez egy kísérleti opció: nincs teljesen hangolva és nem mindig segít.
-bframes >= 2 szükséges.
-Hátrány: növeli a dekódolási késleltetést 2 képkockával.
-.
-.TP
-.B (no)deblock
-Deblocking szûrõ használata (alapértelmezett: be).
-Nagyon kevés idõt igényel összehasonlítva a minõségjavító hatásával,
-ezért nem javasolt kikapcsolni.
-.
-.TP
-.B deblock=<\-6\-6>,<\-6\-6>
-Az elsõ paraméter az AlphaC0 (alapértelmezett: 0).
-Ez beállítja a H.264 deblocking szûrõjének in-loop küszöbértékeit.
-Elsõsorban ez a paraméter szabályozza a változtatás maximális mértékét,
-amit a szûrõ egy pixel-en okozhat.
-Másodsorban ez a paraméter érinti a különbségi határértéket a kiszûrt
-sarkok között.
-A pozitív értékek csökkentik a blokkosodási mellékhatásokat, de
-elmaszatolják a részleteket.
-.br
-A második paraméter a Beta (alapértelmezett: 0).
-Ez a részletességi korlátot befolyásolja.
-A nagyon nagy részletességû blokkok nem lesznek szûrve, mivel a szûrõ
-okozta elmosás jobban észrevehetõbb lenne, mint az eredeti blokkosodás.
-.br
-A szûrõ alapértelmezett viselkedése majdnem mindig optimális minõséget
-biztosít, így a legjobb vagy magára hagyni vagy apró változtatásokat
-eszközölni. Azonban ha a forrás anyag már tartalmaz némi blokkosodást
-vagy zajt, ami el szeretnél távolítani, jobb egy kicsit feltolni.
-.
-.TP
-.B (no)cabac
-CABAC (Context-Adaptive Binary Arithmetic Coding) használata (alapértelmezett: be).
-Kissé lelassítja a kódolást és a dekódolást, de megmenthet 10\-15% bitrátát.
-Ha nem érdekel a dekódolási sebesség, nem ajánlott kikapcsolni.
-.
-.TP
-.B qp_min=<1\-51> (ABR vagy két lépéses)
-Minimális kvantáló, 10\-30 látszik a használható tartománynak (alapértelmezett: 10).
-.
-.TP
-.B qp_max=<1\-51> (ABR vagy két lépéses)
-maximális kvantáló (alapértelmezett: 51)
-.
-.TP
-.B qp_step=<1\-50> (ABR vagy két lépéses)
-maximális érték, amennyivel a kvantáló növekedhet/csökkenhet a
-kockák között (alapértelmezett: 4)
-.
-.TP
-.B (no)mbtree
-Engedélyezi a makroblokk fa rátavezérlését (alapértelmezett: engedélyezve).
-Hosszú elõretekintést használ az adat idõbeli terjedésének vizsgálatához és
-megfelelõen súlyozza a minõséget.
-Több lépéses módban ez egy külön statisztika fájlt készít, melynek neve
-<passlogfile>.mbtree.
-.
-.TP
-.B rc_lookahead=<0\-250>
-Beállítja az mbtree elõretekintésének távolságát (alapértelmezett: 40).
-A nagyobb értékek lassabbak lesznek és az x264 több memóriát fog használni,
-de jobb minõséget fog eredményezni.
-.
-.TP
-.B ratetol=<0.1\-100.0> (ABR vagy két lépéses)
-megengedett variancia az átlagos bitrátában (nincs saját mértékegysége) (alapértelmezett: 1.0)
-.
-.TP
-.B vbv_maxrate=<érték> (ABR vagy két lépéses)
-maximális lokális bitráta, kbit/\:másodpercben (alapértelmezett: letiltva)
-.
-.TP
-.B vbv_bufsize=<érték> (ABR vagy két lépéses)
-átalgos periódus a vbv_maxrate-hez, kbit-ben
-(alapértelmezett: nincs, meg kell adni, ha a vbv_maxrate engedélyezett)
-.
-.TP
-.B vbv_init=<0.0\-1.0> (ABR vagy két lépéses)
-kezdeti buffer telítettség, a vbv_bufsize hányadosaként (alapértelmezett: 0.9)
-.
-.TP
-.B ip_factor=<érték>
-kvantáló faktor az I- és a P-kockák között (alapértelmezett: 1.4)
-.
-.TP
-.B pb_factor=<érték>
-kvantáló faktor a P- és a B-kockák között (alapértelmezett: 1.3)
-.
-.TP
-.B qcomp=<0\-1> (ABR vagy két lépéses)
-quantizer compression (alapértelmezett: 0.6).
-A kisebb érték a bitrátát, a magasabb a kvantálási paramétert teszi konstansabbá.
-.
-.TP
-.B cplx_blur=<0\-999> (csak két lépéses kódolásnál)
-A becsült kocka komplexitásának ideiglenes elmosása a görbe tömörítés elõtt
-(alapértelmezett: 20).
-Az alacsonyabb érték nagyobb ugrálást enged a kvantáló értékének,
-a magasabb értékek finomabb váltásokra kényszerítik.
-A cplx_blur biztosítja, hogy minden I-kocka minõsége összehasonlítható
-az õt követõ P-kockával és hogy a váltakozó nagy és kicsi komplexitású
-kockák (pl.\& alacsony fps-û animáció) nem vesztegetnek biteket egy
-ingadozó kvantálóval.
-.
-.TP
-.B qblur=<0\-99> (csak két lépéses kódolásnál)
-A kvantálási paraméter idõleges elmosása a görbe tömörítés után
-(alapértelmezett: 0.5).
-A kisebb értékek nagyobb ugrálást engedélyeznek a kvantáló értékének,
-a nagyobbak finomabb váltásokra kényszerítik.
-.
-.TP
-.B zones=<zóna0>[/<zóna1>[/...]]
-Felhasználó által megadott minõség az egyes részekhez (vége, feliratok, ...).
-Minden zóna egy <kezdõ-kocka>,<záró-kocka>,<opció> hármas, ahol az opció
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-kvantáló
-.IPs "b=<0.01\-100.0>"
-bitráta szorzó
-.RE
-.PD 1
-.RS
-.I MEGJEGYZÉS:
-A kvantáló opció nem szigorú elõírás.
-Csak a ratecontrol tervezési stádiumát érinti és változtatja még a
-túlcsordulás kompenzáció és a qp_min/qp_max is.
-.RE
-.
-.TP
-.B direct_pred=<név>
-Megállapítja a B-kockákban lévõ direkt makroblokkok mozgás becslésének
-típusát.
-.PD 0
-.RSs
-.IPs none
-Nem lesznek felhasználva a direkt makroblokkok.
-.IPs spatial
-A mozgásvektorok a szomszédos blokkokból lesznek extrapolálva.
-(alapértelmezett)
-.IPs temporal
-A mozgásvektorok a következõ P-kockából lesznek extrapolálva.
-.IPs auto
-A codec minden egyes kockánál választ a térbeli és az idõbeli közül.
-.RE
-.PD 1
-.RS
-A térbeli és idõbeli nagyjából ugyan olyan sebességûek és PSNR-rel
-járnak, a választás a videó tartalmától függ.
-Az auto a leghatásosabb ha több lépésben használják.
-A direct_pred=none lassabb is és rosszabb minõségû.
-.RE
-.
-.TP
-.B weightp
-Súlyozott P-kocka jóslás mód (alapértelmezett: 2).
-.PD 0
-.RSs
-.IPs 0
-letiltva (leggyorsabb)
-.IPs 1
-vak mód (kicsit jobb minõség)
-.IPs 2
-okos mód (legjobb)
-.RE
-.PD 1
-.
-.TP
-.B (no)weight_b
-Súlyozott becslés használata a B-kockákhoz.
-Ezen opció nélkül a kétirányúan megjósolt makroblokkok azonos szélességet
-adnak mindegyik referencia kockával.
-Ezzel az opcióval a súlyok a B-kocka referenciákhoz viszonyított
-ideiglenes helyzetébõl számítódnak ki.
-bframes > 1 szükséges.
-.
-.TP
-.B partitions=<list>
-Engedélyez néhány opcionális makroblokk típust (alapértelmezett: p8x8,b8x8,i8x8,i4x4).
-.PD 0
-.RSs
-.IPs p8x8
-Engedélyezi a p16x8, p8x16, p8x8 típusokat.
-.IPs p4x4
-Engedélyezi a p8x4, p4x8, p4x4 típusokat.
-A p4x4 csak subq >= 5 mellett javasolt és csak alacsony felbontásnál.
-.IPs b8x8
-Engedélyezi a b16x8, b8x16, b8x8 típusokat.
-.IPs i8x8
-Engedélyezi az i8x8 típust.
-Az i8x8-nak nincs hatása, csak ha a 8x8dct engedélyezett.
-.IPs i4x4
-Engedélyezi az i4x4 típust.
-.IPs all
-Engedélyezi az összes felsorolt típust.
-.IPs none
-Letiltja az összes felsorolt típust.
-.RE
-.PD 1
-.RS
-Ettõl az opciótól függetlenül a p16x16, b16x16 és i16x16 makroblokk típusok
-mindig engedélyezettek.
-.br
-Az ötlet az, hogy megtaláljuk a kép egy bizonyos területét legjobban
-leíró típust és méretet.
-Például egy globális pan-t jobban reprezentál egy 16x16-os blokk, míg
-az apró, mozgó objektumokat a kisebb blokkok ábrázolják jól.
-.RE
-.
-.TP
-.B (no)8x8dct
-Adaptív térbeli transzformáció mérete: megengedi a makroblokkoknak a
-választást a 4x4 és a 8x8 DCT között.
-Emelett engedélyezi az i8x8 makroblokk típust is.
-Ezen opció nélkül 4x4 DCT lesz használva.
-.
-.TP
-.B me=<név>
-Teljes pixeles mozgás becslési algoritmus kiválasztása.
-.PD 0
-.RSs
-.IPs dia
-rombusz keresés, 1-es sugár (gyors)
-.IPs hex
-hatszög keresés, 2-es sugár (alapértelmezett)
-.IPs umh
-páratlan többszörös-hatszög keresés (lassú)
-.IPs esa
-alapos keresés (nagyon lassú és nem jobb, mint az umh)
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-az alapos vagy többszörös-hatszög mozgás keresés sugara (alapértelmezett: 16)
-.
-.TP
-.B subq=<0\-9>
-A subpel finomítási minõségének beállítása.
-Ez a paraméter szabályozza a minõség kontra sebesség arányt a
-mozgás becslési döntések folyamatában.
-A subq=5 akár 10%-kal gyorsabb lehet, mint a subq=1.
-.PD 0
-.RSs
-.IPs 0
-Teljes pixeles pontosságú mozgás becslést végez minden résztvevõ
-makroblokk típuson.
-Ezután SAD metrikával kiválasztja a legjobb típust (gyorsabb, mint a subq=1, de nem
-javasolt, csak ha nagyon gyors kódolást akarsz).
-.IPs 1
-Ugyan az, mint a 0, majd finomítja a mozgást gyors negyedpixeles precizítással (gyors).
-.IPs 2
-Félpixeles pontosságú mozgás becslést végez minden részvevõ makroblokk
-típuson.
-Ezután kiválasztja a legjobb típust.
-Majd finomítja azt a típusú mozgást egy gyors negyedpixeles pontossághoz.
-.IPs 3
-Mint az 2, de lassabb negyedpixeles finomítást végez.
-.IPs 4
-Gyors negyedpixeles pontosságú mozgás becslést futtat le minden résztvevõ
-makroblokk típuson.
-Majd SATD metrikával kiválasztja a legjobb típust.
-Ezután befejezi a negyedpixeles finomítást azon a típuson.
-.IPs 5
-Legjobb minõségû negyedpixel pontosságú mozgás becslést futtat le
-minden résztvevõ makroblokk típuson, mielõtt kiválaszaná a legjobb
-típust.
-Finomítja a két, bidirekcionális makroblokkban használt mozgás vektort is
-SATD metrikával a kétirányú kereséssel megtalált vektorok újra felhasználása helyett.
-.IPs 6
-Engedélyezi a ráta-torzítás optimalizálását a makroblokk típusokra
-az I- és P-kockáknál.
-.IPs 7
-Engedélyezi a ráta-torzítás optimalizálását a makroblokk típusokra minden kockánál (alapértelmezett).
-.IPs 8
-Engedélyezi a ráta-torzítás optimalizálását a mozgás vektorokra és a
-belsõ jósló módokra az I- és P-kockáknál.
-.IPs 9
-Engedélyezi a ráta-torzítás optimalizálását a mozgás vektorokra és a
-belsõ jósló módokra minden kockánál (legjobb).
-.RE
-.PD 1
-.RS
-A fentiekben a "részvevõ" nem pontosan az engedélyezett típusokat jelenti:
-4x4, 4x8, 8x4 csak akkor, ha a 8x8 jobb, mint a 16x16.
-.RE
-.
-.TP
-.B (no)chroma_me
-A színtelítettségi információkat is figyelembe veszi a subpixel mozgáskeresésnél
-(alapértelmezett: engedélyezve).
-subq>=5 szükséges.
-.
-.TP
-.B (no)mixed_refs
-Megengedi minden 8x8-as vagy 16x8-as mozgás partíciónak a független
-referencia kocka választást.
-Ezen opció nélkül az egész makroblokknak ugyan azt a referencia kockát kell használni.
-frameref>1 szükséges.
-.
-.TP
-.B trellis=<0\-2> (csak cabac)
-ráta-torzító optimális kvantálás
-.PD 0
-.RSs
-.IPs 0
-letiltva
-.IPs 1
-csak a végsõ kódoláshoz engedélyezi (alapértelmezett)
-.IPs 2
-minden mód döntésnél engedélyezi (lassú, subq>=6 szükséges)
-.RE
-.PD 1
-.
-.TP
-.B psy-rd=rd[,trell]
-Beállítja a pszichovizuális optimalizáció erõsségét.
-.PD 0
-.RSs
-.IPs rd=<0.0\-10.0>
-psy optimalizáció erõssége (subq>=6 kell hozzá) (alapértelmezett: 1.0)
-.IPs trell=<0.0\-10.0>
-trellis (trellis kell hozzá, kísérleti) (alapértelmezett: 0.0)
-.RE
-.PD 1
-.
-.TP
-.B (no)psy
-Engedélyezi a pszichovizuális optimalizációkat, melyek rontják a PSNR-t és az
-SSIM-et, de jobban néznek ki (alapértelmezett: engedélyezve).
-.
-.TP
-.B deadzone_inter=<0\-32>
-Beállítja az inter luma kvantálás holtterét a nem-rácsos kvantáláshoz
-(alapértelmezett: 21).
-A kisebb értékek segítenek az apró részletek megõrzéséban és a film javításában
-(általában nagy bitrátájú/jó minõségû kódolás mellett hasznos), míg a nagyobb
-értékek kiszûrik ezeket a részleteket, így biteket spórolnak meg, melyek más
-makroblokkokban és képkockákon felhasználhatóak (a bitrátával spóroló kódolásoknál
-jó).
-Inkább a deadzone_intra paraméteren változtass, mielõtt ehhez hozzányúlnál.
-.
-.TP
-.B deadzone_intra=<0\-32>
-Beállítja az intra luma kvantálás holtterét a nem-rácsos kvantáláshoz
-(alapértelmezett: 11).
-Ennek az opciónak ugyan az a hatása, mint a deadzone_inter-nek, kivéve, hogy az
-intra kockákat érinti.
-Inkább ezzen a paraméteren változtass, mielõtt a deadzone_inter-hez hozzányúlnál.
-.
-.TP
-.B (no)fast_pskip
-A P-kockák korai skip detektálásának végrehajtása (alapértelmezett: bekapcsolva).
-Ez általában javítja a sebességet, de néha a kevésbé részletes
-területeken (pl.\& ég) mellékhatásokat okoz.
-.
-.TP
-.B (no)dct_decimate
-Eliminálja a dct blokkokat a P-kockákon, melyek csak egy kicsi együtthatót
-tartalmaznak (alapértelmezett: engedélyezve).
-Ez eltávolít pár részletet, így biteket takarít meg, amiket más kockákon
-fel lehet használni, remélhetõleg növelve így az össz szubjektív minõséget.
-Ha nem anime tartalmat tömörítesz nagy cél bitrátával, valószínûleg jó lesz
-letiltani ezt, hogy annyi részletet megõrizz, amennyit csak lehet.
-.
-.TP
-.B nr=<0\-100000>
-Zajcsökkentés, a 0 a kikapcsolást jelenti.
-100\-1000 a használandó tartomány egy átlagos tartalomnál, de a nagyon zajos
-tartalomnál kicsit felnyomhatod (alapértelmezett: 0).
-Tekintve, hogy kicsi a befolyása a sebességre, inkább ez a preferálandó a
-zajcsökkentésnél a videó szûrõkkel, mint pl.\& a denoise3d-vel vagy hqdn3d-vel
-történõ zajcsökkentés helyett.
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-Különbözõ kvantálót használ a színtelítettséghez és a fényerõhöz.
-A használható értékek <\-2\-2> (alapértelmezett: 0).
-.
-.TP
-.B aq_mode=<0\-2>
-Definiálja, hogy az adaptív kvantálás (AQ) hogyan ossza el a biteket:
-.PD 0
-.RSs
-.IPs 0
-letiltva
-.IPs 1
-Nem mozgatja a biteket a kockák között.
-.IPs 2
-Mozgatja a biteket a kockák között (alapértelmezett).
-.RE
-.PD 1
-.
-.TP
-.B aq_strength=<pozitív lebegõpontos szám>
-Megadja, hogy az adaptív kvantálás (AQ) mennyire csökkentse a blokkosodást
-és az elmosódást a sík és textúrázott területeken (alapértelmezett: 1.0).
-A 0.5-ös érték gyenge AQ-t eredményez és kevesebb részlethez, míg az 1.5-ös
-erõs AQ-t és nagyobb részletességet.
-.
-.TP
-.B cqm=<flat|jvt|<fájlnév>>
-Vagy egy elõre definiált saját kvantálást használ vagy betölt egy JM formátumú
-mátrix fájlt.
-.PD 0
-.RSs
-.IPs "flat\ "
-Elõredefiniált sík 16 mátrix használata (alapértelmezett).
-.IPs "jvt\ \ "
-Elõredefiniált JVT mátrix használata.
-.IPs <fájlnév>
-A megadott JM formátumú mátrix fájl használata.
-.PD 1
-.RE
-.RS
-.I MEGJEGYZÉS:
-A Windows-os CMD.EXE-t használók problémákat tapasztalhatnak a parancssor
-értelmezésekor, ha az összes CQM listát használni szeretnék.
-Ez a parancssor hosszának korlátozása miatt van.
-Ebben az esetben ajánlott a listákat egy JM formátumú CQM fájlba tenni
-és a fent megadott módon betölteni.
-.RE
-.
-.TP
-.B cqm4iy=<lista> (lásd még cqm)
-Egyéni 4x4 intra fényerõsség mátrix, 16 darab, 1\-255 tartományba esõ,
-vesszõvel elválasztott szám sorozata.
-.
-.TP
-.B cqm4ic=<lista> (lásd még cqm)
-Egyéni 4x4 intra színtelítettség mátrix, 16 darab, 1\-255 tartományba esõ,
-vesszõvel elválasztott szám sorozata.
-.
-.TP
-.B cqm4py=<lista> (lásd még cqm)
-Egyéni 4x4 inter fényerõsség mátrix, 16 darab, 1\-255 tartományba esõ,
-vesszõvel elválasztott szám sorozata.
-.
-.TP
-.B cqm4pc=<lista> (lásd még cqm)
-Egyéni 4x4 inter színtelítettség mátrix, 16 darab, 1\-255 tartományba esõ,
-vesszõvel elválasztott szám sorozata.
-.
-.TP
-.B cqm8iy=<lista> (lásd még cqm)
-Egyéni 8x8 intra fényerõsség mátrix, 16 darab, 1\-255 tartományba esõ,
-vesszõvel elválasztott szám sorozata.
-.
-.TP
-.B cqm8py=<lista> (lásd még cqm)
-Egyéni 8x8 inter színtelítettség mátrix, 16 darab, 1\-255 tartományba esõ, vesszõvel
-elválasztott szám sorozata.
-.
-.TP
-.B level_idc=<10\-51>
-Beállítja a bitfolyam szintjét a H.264 szabvány A mellékletében definiáltaknak
-megfelelõen (alapértelmezett: 51 \- 5.1 szint).
-Ez arra használatos, hogy közölje a dekóderrel, milyen tulajdonságokat kell
-támogatnia.
-Csak akkor használd ezt a paramétert, ha tudod, hogy mit jelent
-és szükséged van a beállítására.
-.
-.TP
-.B threads=<0\-16>
-Gyermek szálak száma párhuzamos kódolásnál több CPU esetén (alapértelmezett: 0).
-Ez nagyon kis mértékben ront a tömörített minõségen.
-A 0 vagy 'auto' az x264-re bízza a CPU-k számának detektálását és
-a szálak megfelelõ számának kiválasztását.
-.
-.TP
-.B (no)sliced_threads
-Szelet alapú szálkezelést használ (alapértelmezett: letiltva).
-A normális szálkezeléstõl eltérõen ez az opció nem növeli a kódolási késleltetést,
-de kicsit lassabb és kisebb a hatékonysága a tömörítésnél.
-.
-.TP
-.B slice_max_size=<0 vagy pozitív egész>
-Maximális szelet méret bájtban (alapértelmezett: 0).
-A nulla érték letiltja a maximumot.
-.
-.TP
-.B slice_max_mbs=<0 vagy pozitív egész>
-Maximális szelet méret a makroblokkok számában (alapértelmezett: 0).
-A nulla érték letiltja a maximumot.
-.
-.TP
-.B slices=<0 vagy pozitív egész>
-A szeletek maximális száma kockánként (alapértelmezett: 0).
-A nulla érték letiltja a maximumot.
-.
-.TP
-.B sync_lookahead=<0\-250>
-Beállítja a szálas elõretekintõ buffer méretét (alapértelmezett: 0).
-A 0 vagy 'auto' hatására az x264 automatikusan megállapítja a buffer méretét.
-.
-.TP
-.B (no)deterministic
-Csak determinisztikus optimalizációt használ többszálas kódolással (alapértelmezett:
-engedélyezve).
-.
-.TP
-.B (no)global_header
-Az SPS és a PPS csak egyszer fog megjelenni, a bitfolyam elején
-(alapértelmezett: letiltva).
-Néhány lejátszó, mint pl.\& a Sony PSP, igényli ezt az opciót.
-Alapértelmezésként az SPS és a PPS minden IDR kocka elõtt ismétlõdik.
-.
-.TP
-.B (no)interlaced
-Videó tartalmának átlapoltként történõ kezelése.
-.
-.TP
-.B (no)constrained_intra
-Engedélyezi a kényszerített intra elõrejelzést (alapértelmezett: letiltva).
-Ez jelentõsen rontja a tömörítést, de szükséges az SVC kódolások alaprétegéhez.
-.
-.TP
-.B (no)aud
-Elérési egység elválasztókat ír a folyamba (alapértelmezett: letiltva).
-Csak akkor engedélyezd ezt, ha a cél konténer formátumnak szüksége van az
-elérési egység elválasztókra.
-.
-.TP
-.B overscan=<undef|show|crop>
-Beveszi a VUI overscan információkat a folyamba (alapértelmezett: letiltva).
-Lásd a doc/vui.txt fájlt az x264 forráskódjában a további információkért.
-.
-.TP
-.B videoformat=<component|pal|ntsc|secam|mac|undef>
-Beveszi a VUI videó formátum információt a folyamba (alapértelmezett: letiltva).
-Ez egy pusztán informatív beállítás az eredeti forrás leírásához.
-Lásd a doc/vui.txt fájlt az x264 forráskódjában a további információkért.
-.
-.TP
-.B (no)fullrange
-Beveszi a VUI full range információt a folyamba (alapértelmezett: letiltva).
-Használd ezt az opciót, ha a forrás videód nem range korlátozott.
-Lásd a doc/vui.txt fájlt az x264 forráskódjában a további információkért.
-.
-.TP
-.B colorprim=<bt709|bt470m|bt470bg|smpte170m|smpte240m|film|undef>
-Beveszi a szín információt (alapértelmezett: letiltva).
-Ez színkorrekcióhoz használható.
-Lásd a doc/vui.txt fájlt az x264 forráskódjában a további információkért.
-.
-.TP
-.B transfer=<bt709|bt470m|bt470bg|linear|log100|log316|smpte170m|smpte240m>
-Beveszi a VUI átviteli karakterisztika információját a folyamba
-(alapértelmezett: letiltva).
-Ez színkorrekcióhoz használható.
-Lásd a doc/vui.txt fájlt az x264 forráskódjában a további információkért.
-.
-.TP
-.B colormatrix=<bt709|fcc|bt470bg|smpte170m|smpte240m|GBR|YCgCo>
-Beveszi a VUI mátrix együtthatókat a folyamba (alapértelmezett: letiltva).
-Ez színkorrekcióhoz használható.
-Lásd a doc/vui.txt fájlt az x264 forráskódjában a további információkért.
-.
-.TP
-.B chromaloc=<0-5>
-Beveszi a VUI szín minta helyének információját a folyamba (alapértelmezett:
-letiltva).
-Használd ezt az opciót a színezet és a fényerõ síkok igazításának biztosításához
-színtér konverziók után.
-Lásd a doc/vui.txt fájlt az x264 forráskódjában a további információkért.
-.
-.TP
-.B log=<\-1\-3>
-Beállítja a képernyõre kiírt log info mértékét.
-.PD 0
-.RSs
-.IPs "\-1"
-nincs
-.IPs " 0"
-Csak a hibákat írja ki.
-.IPs " 1"
-figyelmeztetések
-.IPs " 2"
-PSNR és egyéb analízis statisztikák a kódolás befejeztekor (alapértelmezett)
-.IPs " 3"
-PSNR, QP, kocka típus, méret és egyéb statisztika minden kockára
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-Jel-zaj arány statisztikát ír ki.
-.br
-.I MEGJEGYZÉS:
-A 'Y', 'U', 'V', és 'Avg' PSNR mezõk az összegzésben nem matematikaiak
-(egyszerûen a kockánkénti PSNR átlagai).
-Csak a JM referencia codec-kel való összehasonlítás kedvéért lettek megtartva.
-Bármilyen más célra kérjük használd vagy a 'Global' PSNR-t vagy a kockánkénti
-PSNR-eket, melyeket a log=3 ír ki.
-.
-.TP
-.B (no)ssim
-Kiírja a Structural Similarity Metric eredményeket.
-Ez a PSNR egyik alternatívája, ami esetlegesen jobban összefügg a tömörített
-videó észrevehetõ minõségével.
-.
-.TP
-.B (no)visualize
-Engedélyezi az x264 vizualizációt a kódolás alatt.
-Ha a rendszereden lévõ x264 támogatja, egy új ablak nyílik meg a kódolási
-folyamat közben, amiben az x264 megpróbálegy áttekintést adni minden egyes
-kocka kódolásáról.
-Minden blokk típus a megjelenített filmben színezve lesz az alábbiak szerint:
-.
-.TP
-.B dump_yuv=<fájlnév>
-A YUV kockákat kiírja a megadott fájlba.
-Hibakeresénél használatos.
-.PD 0
-.RSs
-.IPs vörös/rózsaszín
-intra blokk
-.IPs "kék\ "
-inter blokk
-.IPs zöld
-kihagyott blokk
-.IPs sárga
-B-blokk
-.RE
-.PD 1
-.RS
-Ez a képesség kísérleti és még változhat.
-Gyakorlatilag attól függ, hogy az x264-et a vizualizáció engedélyezésével
-fordították-e le. Vedd figyelembe, hogy ezen rész írásakor az x264 megáll
-minden egyes kocka kódolása és megjelenítése után és vár egy gombnyomásra,
-aminek a hatására a következõ kocka kódolása fog végrehajtódni.
-.RE
-.
-.
-.SS xvfw (\-xvfwopts)
-.
-Kódolás Video for Windows codec-ekkel, ami a legtöbbször elavult, hacsak
-nem akarsz valami periférikus, titokzatos codec-kel kódolni.
-.
-.TP
-.B codec=<név>
-A bináris codec fájl neve, amivel kódolni akarsz.
-.
-.TP
-.B compdata=<fájl>
-A codec beállításokat tartalmazó fájl neve (pl.\& firstpass.mcf), melyet a vfw2menc készített.
-.
-.
-.SS MPEG muxer (\-mpegopts)
-.
-Az MPEG muxer 5 különbözõ típusú folyamot tud elõállítani, mindegyiknek megvannak
-a maguk ésszerû paraméterei, amiket a felhasználó módosíthat.
-Általában ha MPEG fájlok készítésekor tanácsos letiltani a
-MEncoder frame-kihagyó kódját (lásd \-noskip, \-mc csakúgy, mint a
-harddup és softskip videó szûrõket).
-.PP
-.I PÉLDA:
-.PD 0
-.RSs
-.IPs format=mpeg2:tsaf:vbitrate=8000
-.RE
-.PD 1
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
-folyam formátum (alapértelmezett: mpeg2).
-A pes1 és pes2 nagyon rossz formátumok (nincs pack fejléc és igazítás),
-de a VDR használja õket; ne válaszd ezeket, hacsak nem tudod pontosan,
-hogy mit csinálsz.
-
-.
-.TP
-.B size=<egészen 65535-ig>
-Csomag méret bájtban, ne változtasd meg, csak ha pontosan tudod,
-hogy mit csinálsz (alapértelmezett: 2048).
-.
-.TP
-.B muxrate=<int>
-Névleges muxrate kbit/s-ben, mely a csomag fejlécében lesz felhasználva
-(alapértelmezett: 1800 kb/s).
-Akkor lesz frissítve, ha szükséges, 'format=mpeg1' vagy 'mpeg2' esetén.
-.
-.TP
-.B "tsaf\ \ \ "
-Beállítja az idõbélyeget minden képkockán, ha lehetséges; format=dvd mellett javasolt.
-Ha a dvdauthor egy "..audio sector out of range..." típusú üzentet küld,
-valószínûleg nem engedélyezted ezt az opciót.
-.
-.TP
-.B interleaving2
-Egy jobb algoritmust használ az audió és videó csomagok átlapolásához,
-kihasználva azt az alapvetõ tulajdonságot, hogy a muxer a folyamot mindig
-a lehetõ legnagyobb százalékban próbálja meg kitölteni szabad területtel.
-.
-.TP
-.B vdelay=<1\-32760>
-A kezdeti videó késleltetés ideje milliszekundumban (alapértelmezett: 0),
-akkor használatos, ha a videót késleltetni kell a hanghoz képest.
-Nem mûködik a :drop-pal.
-.
-.TP
-.B adelay=<1\-32760>
-A kezdeti audió késleltetés ideje milliszekundumban (alapértelmezett: 0),
-akkor használhatos, ha az audiót késleltetni kell a videóhoz képest.
-.
-.TP
-.B "drop\ \ \ "
-Ha a vdelay opcióval együtt használod, a muxer eldobja az
-audiónak azt a részét, ami megelõzi a videót.
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-Beállítja a videó szélességét és magasságát, ha a videó MPEG-1/2.
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-Beállítja a pan and scan videó szélességet és magasságot ha a videó MPEG-2.
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-Beállítja a képernyõ képarányát az MPEG-1/2 videóhoz.
-Ne használd MPEG-1 videón, mert a keletkezõ képarány teljesen rossz lesz.
-.
-.TP
-.B vbitrate=<int>
-Beállítja a videó bitrátát kbit/s-ben az MPEG-1/2 videóban.
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
-Beállítja az MPEG-1/2 videó framerátáját.
-Ez az opció figyelmen kívül lesz hagyva, ha a telecine opcióval használod.
-.
-.TP
-.B telecine
-Engedélyezi a 3:2-es pulldown soft telecine módot: a muxer úgy trükköz a
-videó folyammal, hogy 30000/1001 fps-en kódoltnak tûnik.
-Csak akkor mûködik MPEG-2 videóval ha a kimeneti frameráta 24000/1001 fps,
-szükség esetén konvertálj az \-ofps kapcsolóval.
-Bármelyik más frameráta inkompatibilis ezzel az opcióval.
-.
-.TP
-.B film2pal
-Engedélyezi a FILM-PAL és NTSC-PAL soft telecine módot: a muxer úgy trükköz
-a videó folyammal, hogy 25 fps-en kódoltnak fog tûnni.
-Csak akkor mûködik MPEG-2 videóval ha a kimeneti frameráta 24000/1001 fps,
-szükség esetén konvertálj az \-ofps kapcsolóval.
-Bármelyik más frameráta inkompatibilis ezzel az opcióval.
-.
-.TP
-.B tele_src és tele_dest
-Bekapcsolja az önkéntes telecine-lést Donand Graft's DGPulldown kódjának
-felhasználásával.
-Meg kell adnod az eredeti és a kívánt framerátát; a muxer a videó
-folyamot olyan kódolásúnak láttatja, mintha a kívánt framerátával lett volna
-elkódolva.
-Csak akkor mûködik az MPEG-2-vel, ha a bementi frameráta kisebb, mint a kimeneti
-és a frameráta növekedése <= 1.5.
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.PD 0
-.RSs
-.IPs tele_src=25,tele_dest=30000/1001
-PAL-ból NTSC-be történõ telecine
-.RE
-.PD 1
-.
-.TP
-.B vbuf_size=<40\-1194>
-Beállítja a videó dekódoló bufferjének a méretét, kilobájtokban kifejezve.
-Csak akkor add meg, ha a videó folyam bitrátája túl nagy a kiválasztott
-formátumhoz és pontosan tudod, hogy mit csinálsz.
-A túl nagy érték lejátszhatatlan filmet eredményezhet, a lejátszó képességeitõl
-függõen.
-Ha HDTV-be keversz, a 400-as érték megfelelõ.
-.
-.TP
-.B abuf_size=<4\-64>
-Beállítja az audió dekódoló bufferjének a méretét, kilobájtokban kifejezve.
-Ugyan az érvényes rá, mint a vbuf_size kapcsolóra.
-.
-.
-.SS FFmpeg libavformat demuxer-ek (\-lavfdopts)
-.
-.TP
-.B analyzeduration=<érték>
-A folyam tulajdonságainak megállapításához maximálisan analizálndó hossz másodpercben.
-.
-.TP
-.B format=<érték>
-Kényszeríti a megadott libavformat demuxer-t.
-.
-.TP
-.B o=<kulcs>=<érték>[,<kulcs>=<érték>[,...]]
-AVOptions átadása a libavformat demuxer-ének.
-Megjegyezzük, hogy az o= kapcsolót feleslegessé tevõ, az összes ismeretlen
-opciót az AVOption rendszernek átadó javítást szívesen fogadunk.
-Az AVOptions teljes listája megtalálható az FFmpeg kézikönyvében.
-Figyelj rá, hogy néhány opció ütközhet az MPlayer/MEncoder kapcsolóival.
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.PD 0
-.IPs o=ignidx
-.PD 1
-.RE
-.
-.TP
-.B probesize=<érték>
-A detektálási folyamatban a próbálkozáshoz használt adat maximális mennyisége.
-MPEG-TS esetén ez az érték az átvizsgálandó TS csomagok számát
-adja meg.
-.
-.TP
-.B cryptokey=<hexa sztring>
-Kódolási kulcs, amit a demuxer-nek használnia kell.
-Ez a kulcs nyers bináris adata hexadecimális karakterlánccá konvertálva.
-.
-.
-.SS FFmpeg libavformat muxer-ek (\-lavfopts) (lásd még \-of lavf)
-.
-.TP
-.B delay=<érték>
-Jelenleg csak az MPEG[12]-nél van értelme: Maximálisan megengedett különbség
-másodpercben, a kimenet referencia idõzítõje (SCR) és a dekódolási idõbélyeg
-(DTS) között bármelyik jelenlévõ folyamnál (késleltetés demux-ból dekódolásba).
-Az alapértelmezett 0.7 (ahogy az MPEG szabványai elõírják).
-Nagyobb érték esetén nagyobb buffer kell, nem javasolt használni.
-.
-.TP
-.B format=<konténer_formátum>
-Felülírja, hogy milyen konténer formátumba kell mux-olni
-(alapértelmezett: automatikus detektálás a kimeneti fájl kiterjesztése alapján).
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-MPEG-1 rendszerek és MPEG-2 PS
-.IPs "asf\ \ "
-Advanced Streaming Format
-.IPs "avi\ \ "
-Audio Video Interleave fájl
-.IPs "wav\ \ "
-Waveform Audio
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-Macromedia Flash videó fájlok
-.IPs "rm\ \ \ "
-RealAudio és RealVideo
-.IPs "au\ \ \ "
-SUN AU format
-.IPs "nut\ \ "
-NUT nyílt konténer formátum (kísérleti)
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-MPEG-4 formátum
-.IPs "ipod\ "
-MPEG-4 formátum extra fejléc flag-ekkel, melyek az Apple iPod firmware-jének kellenek
-.IPs "dv\ \ \ "
-Sony Digital Video konténer
-.IPs "matroska\ \ \ "
-Matroska
-.RE
-.PD 1
-.TP
-.B muxrate=<ráta>
-A multiplex névleges bitrátája bit/másodpercben;
-jelenleg csak MPEG[12] esetén van értelme.
-Néha szükséges növelni a "buffer alulcsordulás" elkerüléséhez.
-.
-.TP
-.B o=<kulcs>=<érték>[,<kulcs>=<érték>[,...]]
-AVOptions átadása a libavformat muxer-ének.
-Megjegyezzük, hogy az o= kapcsolót feleslegessé tevõ, az összes ismeretlen
-opciót az AVOption rendszernek átadó javítást szívesen fogadunk.
-Az AVOptions teljes listája megtalálható az FFmpeg kézikönyvében.
-Figyelj rá, hogy néhány opció ütközhet a MEncoder kapcsolóival.
-.sp 1
-.RS
-.I PÉLDA:
-.RE
-.RSs
-.PD 0
-.IPs o=packetsize=100
-.PD 1
-.RE
-.
-.TP
-.B packetsize=<méret>
-A kiválasztott formátum egységes csomagmérete, bájtokban kifejezve.
-MPEG[12] implementációkba történõ muxálásánál az alapértelmezett értékek:
-2324 [S]VCD-hez, 2048 minden más formátumhoz.
-.
-.TP
-.B preload=<különbség>
-Jelenleg csak az MPEG[12]-nél van értelme: Kezdeti különbség
-másodpercben a kimenet referencia idõzítõje (SCR) és a dekódolási
-idõbélyeg (DTS) között bármelyik jelenlévõ folyamnál
-(késleltetés demux-ból dekódolásba).
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" környezeti változók
-.\" --------------------------------------------------------------------------
-.
-.SH KÖRNYEZETI VÁLTOZÓK
-.
-Számos környezeti változó van, amivel szabályozható az MPlayer és
-a MEncoder mûködése.
-.
-.TP
-.B MPLAYER_CHARSET (lásd még \-msgcharset)
-A konzol üzeneteket a megadott karaktertáblára kódolja (alapértelmezett: automatikusan detektált).
-A "noconv" érték hatására nem lesz konverzió.
-.
-.TP
-.B MPLAYER_HOME
-A könyvtár, ahol az MPlayer a felhasználói beállításokat keresi.
-.
-.TP
-.B MPLAYER_VERBOSE (lásd még \-v és \-msglevel)
-Beállítja a kezdeti beszédességi szintet az összes modulban (alapértelmezett: 0).
-A végleges beszédességi szint megfelel a \-msglevel 5 plusz az
-MPLAYER_VERBOSE értékének.
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-Ha a LADSPA_PATH be van állítva, keresi a megadott fájlt.
-Ha nincs beállítva, egy teljes elérési utat kell megadnod.
-FIXME: Ez meg van említve a ladspa részben is.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-Megadja a könyvtárat, ahol a fejezet kulcsok értékeit tárolni kell.
-Ez felgyorsítja a cache-ben lévõ DVD-k descrambling-jét.
-A DVDCSS_CACHE könyvtár létrejön, ha nem létezik és a DVD címébõl vagy
-készítésének dátumából képzett névvel egy alkönyvtár is.
-Ha a DVDCSS_CACHE nincs beállítva vagy üres, a libdvdcss az alapértelmezett
-könyvtárat fogja használni, ami "${HOME}/.dvdcss/" Unix alatt és
-"C:\\Documents and Settings\\$USER\\Application Data\\dvdcss\\" Win32 alatt.
-Az "off" speciális érték letiltja a cache-t.
-.
-.TP
-.B DVDCSS_METHOD
-Beállítja az azonosítási és titkosítási módszert, amit a libdvdcss
-használni fog a titkosított lemezeknél.
-Lehet title, key vagy disc.
-.PD 0
-.RSs
-.IPs "key\ \ "
-az alapértelmezett módszer.
-A libdvdcss kiszámított lejátszó kulcsok halmazát fogja használni a lemez
-kulcsának megállapításához.
-Ez sikertelen lehet, ha a meghajtó nem ismeri fel a lejátszó kulcsokat.
-.IPs "disc\ "
-egy módszer, amire visszalép ha a key sikertelen.
-Lejátszó kulcsok helyett a libdvdcss egy brute force algoritmussal feltöri
-a lemez kulcsát.
-Ez a lépés CPU igényes és 64 MB memória kell az ideiglenes adatok tárolásához.
-.IPs title
-egy módszer, amire visszalép, ha minden más módszer sikertelen.
-Nem a DVD meghajtóval való kulcs cserén alapszik, hanem egy crypto támadást
-alkalmaz a title kulcs kitalálásához.
-Ritka esetekben ez sikertelen lehet, mert nincs elég titkosított adat
-a lemezen a statisztikai támadáshoz, de másrészt ez az egyetlen módszer
-egy merevlemezen tárolt DVD titkosításának feloldására, vagy rossz régiókódú
-vagy RPC2-es meghajtóban lévõ DVD esetén.
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-Megadja a használandó nyers eszközt.
-A pontos használat az operációs rendszeredtõl függ, Linux alatt
-például a raw(8) eszközzel állíthatsz be nyers eszközöket.
-Kérlek figyelj rá, hogy a legtöbb operációs rendszeren a nyers
-eszköz nagyon nagy igazítást igényel a bufferhez: a Linux 2048 bájtos
-igazítást kér (ami egy DVD szektor hossza).
-.
-.TP
-.B DVDCSS_VERBOSE
-Beállítja a libdvdcss beszédességi szintjét.
-.PD 0
-.RSs
-.IPs 0
-Nem ír ki semmilyen üzenetet.
-.IPs 1
-Az stderr-re írja ki a hibaüzeneteket.
-.IPs 2
-Az stderr-re írja ki a hiba és debug üzeneteket.
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-Kihagyja a kulcsok lekérdezését indításnál.
-Jelenleg letiltva.
-.
-.TP
-.B HOME
-FIXME: Ezt még dokumentálni kell.
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B AUDIODEV
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B AUDIOSERVER
-Megadja a Network Audio System szervert amihez a nas audió
-kimeneti vezérlõnek csatlakoznia kell és a használandó átvitelt.
-Ha nincs beállítva, a DISPLAY lesz használva helyette.
-Az átvitel lehet tcp vagy unix lehet.
-A szintaxis tcp/<valamihoszt>:<valamiport>, <valamihoszt>:<példányszám>
-vagy [unix]:<példányszám>.
-A NAS alap portja 8000, a <példányszám> ehhez adódik hozzá.
-.sp 1
-.RS
-.I PÉLDÁK:
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=valamihoszt:0
-Csatlakozik a valamihoszt-on lévõ NAS szerverhez az alapértelmezett
-porton és átvitellel.
-.IPs AUDIOSERVER=tcp/valamihoszt:8000
-Csatlakozik a valamihoszt-on lévõ 8000-es TCP porton figyelõ NAS szerverhez.
-.IPs AUDIOSERVER=(unix)?:0
-Csatlakozik a 0. példányszámú, localhost-on futó NAS szerverhez unix domain
-socket segítségével.
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-FIXME: Ezt még dokumentálni kell.
-.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B VIDIXIVTVALPHA
-Ha ennek az értéke 'disable', a VIDIX vezérlõ nem fogja változtatni az
-alphablending beállításait.
-Te továbbra is tudod módosítani õket az 'ivtvfbctl' paranccsal.
-.
-.SS osdep:
-.
-.TP
-.B TERM
-FIXME: Ezt még dokumentálni kell.
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B FRAMEBUFFER
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B HOME
-FIXME: Ezt még dokumentálni kell.
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B HOMEPATH
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B http_proxy
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B LOGNAME
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B USERPROFILE
-FIXME: Ezt még dokumentálni kell.
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B DISPLAY
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B HOME
-FIXME: Ezt még dokumentálni kell.
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B BKTR_DEV
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B BKTR_FORMAT
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B BKTR_FREQUENCY
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B http_proxy
-FIXME: Ezt még dokumentálni kell.
-.
-.TP
-.B no_proxy
-FIXME: Ezt még dokumentálni kell.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Fájlok
-.\" --------------------------------------------------------------------------
-.
-.SH FÁJLOK
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-MPlayer rendszer szintû beállításai
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mencoder.conf
-MEncoder rendszer szintû beállításai
-.
-.TP
-~/.mplayer/\:config
-MPlayer felhasználó szintû beállításai
-.
-.TP
-~/.mplayer/\:mencoder.conf
-MEncoder felhasználó szintû beállításai
-.
-.TP
-~/.mplayer/\:input.conf
-input kötések (lásd a '\-input keylist' kimenetét a teljes listához)
-.
-.TP
-~/.mplayer/\:gui.conf
-GUI konfigurációs fájl
-.
-.TP
-~/.mplayer/\:gui.pl
-GUI lejátszási lista
-.
-.TP
-~/.mplayer/\:font/
-betû könyvtár (Kell egy font.desc fájl és fájlok .RAW kierjesztéssel.)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-tárolt CSS kulcsok
-.
-.TP
-Feltételezve, hogy az /eleresi/\:ut/\:film.avi kerül lejátszásra, az MPlayer az
-alábbi sorrendben keresi a felirat fájlokat:
-.RS
-/eleresi/\:ut/\:movie.sub
-.br
-~/.mplayer/\:sub/\:movie.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Példák
-.\" --------------------------------------------------------------------------
-.
-.SH PÉLDÁK AZ MPLAYER HASZNÁLATÁRA
-.
-.PP
-.B Blu\-ray lejátszás gyors indítása:
-.nf
-mplayer br:////lemez/eleresi/utja
-mplayer br:// \-bluray\-device /lemez/eleresi/utja
-.fi
-.
-.PP
-.B DVD lejátszás gyors indítása:
-.nf
-mplayer dvd://1
-.fi
-.
-.PP
-.B Lejátszás japánul, angol felirattal:
-.nf
-mplayer dvd://1 \-alang ja \-slang en
-.fi
-.
-.PP
-.B Csak az 5, 6, 7. fejezet lejátszása:
-.nf
-mplayer dvd://1 \-chapter 5\-7
-.fi
-.
-.PP
-.B Csak az 5, 6, 7. mûsor lejátszása:
-.nf
-mplayer dvd://5\-7
-.fi
-.
-.PP
-.B Több felvételi szöggel rendelkezõ DVD lejátszása:
-.nf
-mplayer dvd://1 \-dvdangle 2
-.fi
-.
-.PP
-.B Lejátszás egy másik DVD eszközrõl:
-.nf
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.fi
-.
-.PP
-.B DVD videó lejátszása egy könyvtárban lévõ VOB fájlokból:
-.nf
-mplayer dvd://1 \-dvd\-device /konyvtar/\:eleresi/\:utja/
-.fi
-.
-.PP
-.B Egy DVD sáv merevlemezre másolása és mentése a "title1.vob" fájlba:
-.nf
-mplayer dvd://1 \-dumpstream \-dumpfile title1.vob
-.fi
-.
-.PP
-.B DVD lejátszása dvdnav-val a /dev/sr1 eszközrõl:
-.nf
-mplayer dvdnav:////dev/sr1
-.fi
-.
-.PP
-.B Stream-elés HTTP-n keresztül:
-.nf
-mplayer http://mplayer.hq/example.avi
-.fi
-.
-.PP
-.B Stream-elés RTSP-n keresztül:
-.nf
-mplayer rtsp://server.pelda.com/streamName
-.fi
-.
-.TP
-.PP
-.B Felirat konvertálása MPsub formátumba:
-.nf
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Felirat konvertálása MPsub formátumba a film megtekintése nélkül:
-.nf
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null \-vo null \-noframedrop \-benchmark \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Bemenet a szabványos V4L-rõl:
-.nf
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420 \-vo xv
-.fi
-.
-.PP
-.B Lejátszás Zoran kártyákon (régi stílus, idejétmúlt):
-.nf
-mplayer \-vo zr \-vf scale=352:288 file.avi
-.fi
-.
-.PP
-.B Lejátszás Zoran kártyákon (új stílus):
-.nf
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi
-.fi
-.
-.PP
-.B DTS-CD lejátszása áteresztéssel:
-.nf
-mplayer \-ac hwdts \-rawaudio format=0x2001 \-cdrom\-device /dev/cdrom cdda://
-.fi
-.br
-You can also use \-afm hwac3 instead of \-ac hwdts.
-Adjust '/dev/cdrom' to match the CD-ROM device on your system.
-If your external receiver supports decoding raw DTS streams,
-you can directly play it via cdda:// without setting format, hwac3 or hwdts.
-.
-.PP
-.B Egy 6 csatornás AAC fájl lejátszása két hangszórón:
-.nf
-mplayer \-rawaudio format=0xff \-demuxer rawaudio \-af pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac
-.fi
-.br
-Egy kicsit játszadoznod kell a pan értékekkel (pl.\& felszorozni az értékeket) a
-hangerõ növeléséhez vagy a kattogás elkerüléséhez.
-.
-.PP
-.B checkerboard invertálás geq szûrõvel:
-.nf
-mplayer \-vf geq='128+(p(X\\,Y)\-128)*(0.5\-gt(mod(X/SW\\,128)\\,64))*(0.5\-gt(mod(Y/SH\\,128)\\,64))*4'
-.fi
-.
-.
-.SH PÉLDÁK A MENCODER HASZNÁLATÁRA
-.
-.PP
-.B A 2. DVD mûsor elkódolása, csak a kiválasztott fejezetekkel:
-.nf
-mencoder dvd://2 \-chapter 10\-15 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B A 2. DVD mûsor elkódolása, átméretezés 640x480-ra:
-.nf
-mencoder dvd://2 \-vf scale=640:480 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B DVD 2. fejezetének elkódolása, átméretezés 512xHHH-ra (képatány megtartásával):
-.nf
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Ugyan ez 1800 kbit-es bitrátával és optimalizált makroblokkokkal:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B Ugyan ez, de MJPEG tömörítéssel:
-.nf
-mencoder dvd://2 \-o titel2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B Az aktuális könyvtárban lévõ *.jpg elkódolása:
-.nf
-mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Kódolás tuner-rõl (formátumot adj meg a \-vf format kapcsolóval):
-.nf
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.fi
-.
-.PP
-.B Kódolás pipe-ról:
-.nf
-rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.fi
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Bug-ok, szerzõk, szokásos lemondás
-.\" --------------------------------------------------------------------------
-.
-.SH BUG-OK
-Ne pánikolj.
-Ha találsz egyet, jelentsd nekünk, de kérjük, elõször olvasd el az összes
-ehhez kapcsolódó dokumentációt.
-Figyelj a szmájlikra is. :)
-Sok hiba a rossz beállítás vagy paraméterhasználat eredménye.
-A dokumentáció hiba jelentési része
-(http://www.mplayerhq.hu/\:DOCS/\:HTML/\:hu/\:bugreports.html)
-leírja, hogyan készíthetsz hasznos hibajelentést.
-.
-.
-.
-.SH SZERZÕK
-Az MPlayert eredetileg Gereöffy Árpád írta.
-Lásd az AUTHORS fájlt a többi közremûködõ listájához.
-.PP
-MPlayer (C) 2000\-2009 Az MPlayer Csapat
-.PP
-Ezt a man oldalt nagyrészt Gabucino, Jonas Jermann és Diego Biurrun írta.
-A karbantartó Diego Biurrun.
-A man oldallal kapcsolatos leveleket kérjük az MPlayer-DOCS levelezési listára küldeni.
-A fordítás specifikus levelek az MPlayer-translations levelezési listára tartoznak.
-.\" end of file
diff --git a/DOCS/man/it/mplayer.1 b/DOCS/man/it/mplayer.1
deleted file mode 100644
index e3117f5..0000000
--- a/DOCS/man/it/mplayer.1
+++ /dev/null
@@ -1,11952 +0,0 @@
-.\" synced with r30610
-.\" Encoding: iso-8859-1
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" Questa pagina di manuale è stata fatta da Gabucino, Diego Biurrun,
-.\" Jonas Jermann
-.\" Traduzione in italiano di Daniele Forghieri, aggiornamenti PaulTT
-.
-.\" --------------------------------------------------------------------------
-.\" Definizione Macro
-.\" --------------------------------------------------------------------------
-.
-.\" definisci l'indentazione per le sotto opzioni
-.nr SS 5
-.\" aggiungi una nuova sotto opzione
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" inizio di una sotto opzione di primo livello, finire con .RE
-.de RSs
-.RS 10
-..
-.\" inizio di una sotto opzione di secondo livello
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" fine di una sotto opzione di secondo livello
-.de REss
-.RE
-.PD 1
-..
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Titolo
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2009-03-25" "The MPlayer Project" "The Movie Player"
-.
-.SH NOME
-mplayer \- visualizzatore di film
-.br
-mencoder \- codificatore di film
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Sommario
-.\" --------------------------------------------------------------------------
-.
-.SH SOMMARIO
-.na
-.nh
-.B mplayer
-[opzioni] [file|URL|playlist|\-]
-.
-.br
-.B mplayer
-[opzioni] file1
-[opzioni specifiche] [file2] [opzioni specifiche]
-.
-.br
-.B mplayer
-[opzioni]
-{gruppo di file ed opzioni}
-[opzioni specifiche del gruppo]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[titolo|[titolo_iniziale]\-titolo_finale][/dispositivo]
-[opzioni]
-.
-.br
-.B mplayer
-vcd://traccia[/device]
-.
-.br
-.B mplayer
-tv://[canale]/[id_ingresso]
-[opzioni]
-.
-.br
-.B mplayer
-radio://[canale|frequenza][/capture]
-[opzioni]
-.
-.br
-.B mplayer
-pvr://
-[opzioni]
-.
-.br
-.B mplayer
-dvb://[numero_scheda@]canale
-[opzioni]
-.
-.br
-.B mplayer
-mf://[mascherafile|@listafile]
-[\-mf opzioni] [opzioni]
-.
-.br
-.B mplayer
-[cdda|cddb]://traccia[\-traccia_finale][:velocità][/device]
-[opzioni]
-.
-.br
-.B mplayer
-cue://file[:traccia]
-[opzioni]
-.
-.br
-.B mplayer
-[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://
-[utente:password@]URL[:porta] [opzioni]
-.
-.br
-.B mplayer
-sdp://file
-[opzioni]
-.
-.br
-.B mplayer
-mpst://host[:porta]/URL
-[opzioni]
-.
-.br
-.B mplayer
-tivo://host/[list|llist|fsid]
-[opzioni]
-.
-.br
-.B gmplayer
-[opzioni]
-[\-skin\ skin]
-.
-.br
-.B mencoder
-[opzioni] file
-[file|URL|\-] [\-o file | file://file | smb://[utente:password@]host/percorso]
-.
-.br
-.B mencoder
-[opzioni] file1
-[opzioni specifiche] [file2] [opzioni specifiche]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" Descrizione
-.\" --------------------------------------------------------------------------
-.
-.SH DESCRIZIONE
-.B mplayer
-è un visualizzatore di film per Linux (gira su molte altre piattaforme e
-architetture di CPU, controlla la documentazione).
-Visualizza la maggior parte dei file del tipo MPEG/\:VOB, AVI,
-ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM, MKV, VIVO, FLI, NuppelVideo,
-yuv4mpeg, FILM e RoQ, supportato da molti codec nativi o binari.
-Puoi guardare VCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV ed addirittura filmati
-con codifica H.264.
-.PP
-MPlayer supporta un'ampia gamma di driver di uscita video ed audio.
-Funziona con X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
-Quartz, Mac OS X CoreVideo, ma puoi anche usare GGI, SDL (e tutti i loro driver),
-VESA (su ogni scheda compatibile VESA, anche senza X11), qualche driver a basso
-livello specifico per alcune schede video (per Matrox, 3dfx e ATI) e qualche
-scheda di decodifica MPEG hardware come la Siemens DVB, Hauppauge PVR (IVTV),
-DXR2 e DXR3/\:Hollywood+.
-La maggior parte supporta la scalatura via software o hardware così puoi
-gustarti i filmati a schermo intero.
-.PP
-MPlayer ha un visualizzatore su schermo (On Screen Display, OSD) per fornire
-informazioni sullo stato, grandi e bei sottotitoli sfumati con antialias ed un
-riscontro visuale dei comandi da tastiera.
-Sono supportati font europei/\:ISO8859\-1,2 (Ungherese, Inglese, Ceco, etc),
-Cirillici e Coreani insieme a 12 formati di sottotitoli (MicroDVD, SubRip,
-OGM, SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS ed il nostro:
-MPsub) oltre ai sottotitoli dei DVD (flussi SPU, VOBsub e Closed Captions).
-.PP
-.B mencoder
-(MPlayer's Movie Encoder, Codificatore di film di MPlayer) è un semplice
-codificatore di film, progettato per codificare tutti i filmati visualizzabili
-da MPlayer (vedi sopra) in altri formati sempre visualizzabili da MPlayer
-(vedi sotto).
-Codifica il video in formato MPEG-4 (DivX/Xvid), uno qualsiasi dei codec di
-libavcodec e l'audio in PCM/\:MP3/\:VBRMP3 in 1, 2 o 3 passi.
-Inoltre ha la capacità di copiare direttamente i flussi (stream), un potente
-sistema di filtri (riduci, espandi, ribalta, post elaborazione, ruota, scala,
-controllo rumore/\:disturbo, conversioni RGB/\:YUV) ed oltre.
-.PP
-.B gmplayer
-è MPlayer con una interfaccia utente grafica.
-Ha le stesse opzioni di MPlayer, tuttavia alcune potrebbero non funzionare
-correttamente a causa di conflitti con la configurazione fatta via GUI (salvata
-in gui.conf).
-In particolare alcune opzioni potrebbero venire sovrascritte da opzioni nel file
-gui.conf mentre altre potrebbero venire salvate definitivamente in gui.conf.
-.PP
-Esempi di utilizzo per farti partire rapidamente possono essere trovati alla
-fine di questa pagina di manuale.
-.PP
-.B Controlla anche la documentazione in formato HTML!
-.PP
-Nota alla traduzione italiana: nella traduzione alcune parole sono rimaste
-in inglese (driver in testa) perché ritengo che renda il tutto più chiaro.
-Alcune parole sono state invece tradotte ma potreste non riconoscerle (ad
-esempio sharpness) perciò a volte, soprattutto per quello che riguarda
-opzioni avanzate di codifica oppure opzioni di debug, potrebbero essere
-più comprensibili le pagine di manuale in inglese ;-).
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Comandi da tastiera / controlli interattivi
-.\" --------------------------------------------------------------------------
-.
-.SH "CONTROLLI INTERATTIVI"
-MPlayer ha un'interfaccia di controllo completamente configurabile, guidata da
-comandi, che ti permette di controllarlo usando la tastiera, il mouse, un
-joystick oppure un controllo remoto (utilizzando LIRC).
-.br
-Controlla l'opzione \-input per vedere come personalizzarla.
-.
-.TP
-.B Controlli da tastiera
-.PD 0
-.RS
-.IPs "<\- e \->"
-Ricerca indietro/\:avanti di 10 secondi.
-.IPs "su e giù"
-Ricerca avanti/\:indietro di 1 minuto.
-.IPs "pagina su e pagina giù"
-Ricerca avanti/\:indietro di 10 minuti.
-.IPs "[ e ]"
-Aumenta/\:diminuisce la velocità di riproduzione del 10%.
-.IPs "{ e }"
-Dimezza/\:raddoppia la velocità di riproduzione.
-.IPs "backspace"
-Ripristina la velocità di riproduzione iniziale.
-.IPs "< e >"
-Va indietro/\:avanti nella playlist.
-.IPs "ENTER"
-Va avanti nella playlist, anche oltre la fine.
-.IPs "HOME e FINE"
-Passa alla voce successiva/\:precedente nella playlist.
-.IPs "INS e CANC (solo playlist ASX)"
-Va alla successiva/\:precedente sorgente alternativa.
-.IPs "p / SPAZIO"
-Pausa film (un'altra pressione la toglie).
-.IPs ".\ \ \ \ "
-Passo avanti.
-Premendolo una volta il film passa in pausa, ogni pressione seguente riprodurrà
-solo un fotogramma per poi tornare in modalità di pausa (qualsiasi altro tasto
-continua).
-.IPs "q / ESC"
-Smette di riprodurre ed esce.
-.IPs "U\ \ \ \ "
-Ferma la riproduzione (ed esce se non è specificata \-idle).
-.IPs "+ e \-"
-Regola il ritardo audio di +/\- 0.1 secondi.
-.IPs "/ e *"
-Diminuisce/\:aumenta il volume.
-.IPs "9 e 0"
-Diminuisce/\:aumenta il volume.
-.IPs "m\ \ \ \ "
-Suono muto.
-.IPs "_ (solo MPEG-TS, AVI e libavformat)"
-Passa attraverso tutte le tracce video disponibili.
-.IPs "# (solo DVD, MPEG, Matroska, AVI e libavformat)"
-Passa attraverso tutte le tracce audio disponibili.
-.IPs "TAB (solo MPEG-TS e libavformat)"
-Passa attraverso tutti i programmi disponibili.
-.IPs "f\ \ \ \ "
-Attiva/\:disattiva schermo intero (vedi anche opzione \-fs).
-.IPs "T\ \ \ \ "
-Attiva/\:disattiva stay-on-top (rimani in primo piano) (vedi anche opzione \-ontop).
-.IPs "w e e"
-Diminuisce/\:aumenta la gamma del pan-and-scan.
-.IPs "o\ \ \ \ "
-Cambia lo stato dell'OSD: nessuno / posizione / posizione + tempo / posizione +
-tempo + tempo totale.
-.IPs "d\ \ \ \ "
-Cambia lo stato dello scarto frame: nessuno / salta visualizzazione / salta decodifica
-(vedi \-framedrop e \-hardframedrop).
-.IPs "v\ \ \ \ "
-Cambia la visibilità dei sottotitoli.
-.IPs "j\ \ \ \ "
-Passa attraverso le lingue possibili dei sottotitoli.
-.IPs "y e g"
-Va avanti/\:indietro nella lista dei sottotitoli.
-.IPs "F\ \ \ \ "
-Cambia la visualizzazione dei sottotitoli forzati ("forced subtitles").
-.IPs "a\ \ \ \ "
-Cambia l'allineamento dei sottotitoli: in alto / al centro / in basso.
-.IPs "x e z"
-Regola il ritardo dei sottotitoli di +/\- 0.1 secondi.
-.IPs "r e t"
-Regola la posizione dei sottotitoli più su/più giù.
-.IPs "i (solo modalità \-edlout)"
-Imposta l'inizio o la fine di un punto di salto EDL e lo scrive sul file dato.
-.IPs "s (solo \-vf screenshot)"
-Salva un'istantanea ("screenshot").
-.IPs "S (solo \-vf screenshot)"
-Inizia/\:smette di salvare istantanee.
-.IPs "I\ \ \ \ "
-Mostra il nome del file sull'OSD.
-.IPs "! e @"
-Va all'inizio del capitolo precedente/\:successivo.
-.IPs "D (solo \-vo xvmc, \-vo vdpau, \-vf yadif, \-vf kerndeint)"
-Attiva/\:disattiva deinterlacciatore.
-.IPs "A"
-Passa attraverso tutte le angolazioni del DVD.
-.RE
-.PD 1
-.PP
-.RS
-(I seguenti tasti sono validi solo quando si usa un dispositivo di uscita
-con accelerazione hardware (xv, (x)vidix, (x)mga, etc), il filtro
-software di equalizzazione (\-vf eq oppure \-vf eq2) oppure quello di
-tonalità (\-vf hue).)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "1 e 2"
-Regola il contrasto.
-.IPs "3 e 4"
-Regola la luminosità.
-.IPs "5 e 6"
-Regola la tonalità (hue).
-.IPs "7 e 8"
-Regola la saturazione.
-.RE
-.PD 1
-.PP
-.RS
-(I seguenti tasti sono validi solo quando si utilizza il driver di uscita
-video quartz oppure corevideo.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "command + 0"
-Ridimensiona la finestra del video a metà della sua dimensione originale.
-.IPs "command + 1"
-Ridimensiona la finestra del video alla sua dimensione originale.
-.IPs "command + 2"
-Ridimensiona la finestra del video al doppio della sua dimensione originale.
-.IPs "command + f"
-Cambia la modalità a schermo intero (vedi anche \-fs).
-.IPs "command + [ e command + ]"
-Regola il canale alpha della finestra del video.
-.RE
-.PD 1
-.PP
-.RS
-(I seguenti tasti sono validi solo se utilizzi il driver di uscita video sdl.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "c\ \ \ \ "
-Passa attraverso le modalità a schermo pieno disponibili.
-.IPs "n\ \ \ \ "
-Ripristina la modalità di default.
-.RE
-.PD 1
-.PP
-.RS
-(I seguenti tasti sono validi solo se utilizzi una tastiera con tasti
-multimediali.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs PAUSA
-Pausa.
-.IPs "STOP\ "
-Smette di riprodurre ed esce.
-.IPs "PREVIOUS e NEXT"
-Ricerca indietro/\:avanti di 1 minuto.
-.RE
-.PD 1
-.PP
-.RS
-(I seguenti tasti sono validi solo se MPlayer è stato compilato col supporto
-GUI e hanno precedenza su quelli definiti precedentemente.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs ENTER
-Inizia la riproduzione.
-.IPs "ESC\ \ "
-Ferma la riproduzione.
-.IPs "l\ \ \ \ "
-Carica file.
-.IPs "t\ \ \ \ "
-Carica sottotitoli.
-.IPs "c\ \ \ \ "
-Apre il selezionatore di skin.
-.IPs "p\ \ \ \ "
-Apre la playlist.
-.IPs "r\ \ \ \ "
-Apre le preferenze.
-.RE
-.PD 1
-.PP
-.RS
-(I seguenti tasti sono validi solo se MPlayer è stato compilato col supporto
-di ingresso TV o DVB e hanno precedenza su quelli definiti precedentemente.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "h e k"
-Seleziona il canale precedente/\:successivo.
-.IPs "n\ \ \ \ "
-Cambia la norma.
-.IPs "u\ \ \ \ "
-Cambia la lista dei canali.
-.RE
-.PD 1
-.PP
-.RS
-(I seguenti tasti sono validi solo se MPlayer è stato compilato col supporto
-dvdnav: vengono usati per navigare nei menu)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "8 tastierino numerico"
-Sceglie il pulsante su.
-.IPs "2 tastierino numerico"
-Sceglie il pulsante giù.
-.IPs "4 tastierino numerico"
-Sceglie il pulsante sinistra.
-.IPs "6 tastierino numerico"
-Sceglie il pulsante destra.
-.IPs "5 tastierino numerico"
-Ritorna al menu principale.
-.IPs "7 tastierino numerico"
-Ritorna al menu più prossimo (l'ordine di preferenza è:
-capitolo->titolo->principale).
-.IPs "ENTER tastierino numerico"
-Conferma la scelta.
-.RE
-.PD 1
-.PP
-.RS
-.
-(I seguenti tasti sono validi solo se MPlayer è stato compilato col supporto
-per televideo (teletext): vengono usati per controllare il televideo della TV,
-i cui dati possono arrivare sia da una sorgente TV analogica che da un flusso
-MPEG.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X\ \ \ \ "
-Attiva/\:disattiva il televideo.
-.IPs "Q and W"
-Va alla pagina televideo successiva/\:precedente.
-.RE
-.PD 1
-.
-.TP
-.B controlli da mouse
-.PD 0
-.RS
-.IPs "pulsanti 3 e 4"
-Ricerca indietro/\:avanti di 1 minuto.
-.IPs "pulsanti 5 e 6"
-Diminuisce/\:aumenta il volume.
-.RE
-.PD 1
-.
-.TP
-.B controlli da joystick
-.PD 0
-.RS
-.IPs "sinistra e destra"
-Ricerca indietro/\:avanti di 10 secondi.
-.IPs "su e giù"
-Ricerca avanti/\:indietro di 1 minuto.
-.IPs "pulsante 1"
-Pausa.
-.IPs "pulsante 2"
-Cambia lo stato dell'OSD: nessuno / posizione / posizione + tempo / posizione +
-tempo + tempo totale.
-.IPs "pulsanti 3 e 4"
-Diminuisce/\:aumenta il volume.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Uso
-.\" --------------------------------------------------------------------------
-.
-.SH "USO"
-Ogni opzione 'flag' ha una controparte 'noflag', p.es.\& l'opposto dell'opzione \-fs è \-nofs.
-.PP
-Se una opzione è marcata come '(solo XXX)' allora funzionerà solo in
-combinazione con l'opzione XXX oppure se XXX è stato compilato nell'eseguibile
-che stai usando.
-.PP
-.I NOTA:
-L'interprete delle sotto-opzioni (usato ad esempio per le sotto-opzioni
-di \-ao pcm) supporta un modo speciale di interpretare le stringhe, da usare
-principalmente con GUI esterne.
-.br
-Ha il seguente formato:
-.br
-%n%stringa_di_lunghezza_n
-.br
-.I ESEMPI:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-Oppure in uno script:
-.br
-mplayer \-ao pcm:file=%`expr length "$NOME"`%"$NOME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" File di configurazione
-.\" --------------------------------------------------------------------------
-.
-.SH "FILE DI CONFIGURAZIONE"
-Puoi mettere tutte le opzioni in file di configurazione che verranno letti
-ogni volta che MPlayer o MEncoder vengono lanciati.
-Il file di configurazione globale 'mplayer.conf' è nella tua directory di
-configurazione (p.es.\& /etc/\:mplayer o /usr/\:local/\:etc/\:mplayer), quello
-specifico dell'utente è '~/\:.mplayer/\:config'.
-Il file di configurazione per MEncoder è 'mencoder.conf' nella tua directory di
-configurazione (p.es.\& /etc/\:mplayer o /usr/\:local/\:etc/\:mplayer), quello
-specifico dell'utente è '~/\:.mplayer/\:mencoder.conf'.
-Le opzioni del file utente hanno precedenza sulle opzioni globali e le opzioni
-della linea di comando hanno precedenza su quelle specificate in entrambi i file.
-La sintassi del file di configurazione è 'option=<valore>', tutto quello che
-viene dopo un '#' è considerato un commento.
-Le opzioni che si attivano senza valori possono essere abilitate impostandole
-a 'yes', '1' oppure 'true' e disabilitate impostandole a 'no', '0' oppure 'false'.
-Anche le sotto-opzioni possono essere specificate in questo modo.
-.PP
-Puoi anche scrivere configurazioni specifiche per i singoli file.
-Se desideri avere un file di configurazione per un file che si
-chiama 'movie.avi', crea un file di nome 'movie.avi.conf' con le opzioni
-specifiche dentro di esso e salvalo in ~/.mplayer/.
-Puoi anche mettere tale file di configurazione nella stessa directory in cui si
-trova il file relativo, sempre che tu imposti poi l'opzione \-use\-filedir\-conf
-(dalla riga comando oppure nel tuo file di configurazione globale).
-Se viene trovato un file di configurazione specifico nella stessa directory del
-file, nessun file di configurazione specifico viene letto da ~/.mplayer.
-Inoltre, l'opzione \-use\-filedir\-conf abilita i file di configurazione
-specifici nella directory.
-Per questo MPlayer dapprima cerca di caricare un mplayer.conf dalla stessa
-directory del file riprodotto e poi cerca un file di configurazione specifico.
-.PP
-.I ESEMPIO DI UN FILE DI CONFIGURAZIONE PER MPLAYER:
-.sp 1
-.nf
-# Usa il driver Matrox per default.
-vo=xmga
-# Mi piace stare a testa in giù mentre guardo i video.
-flip=yes
-# Decodifica/Codifica file multipli di tipo PNG,
-# da lanciare con mf://filemask
-mf=type=png:fps=25
-# Le immagini vacue in negativo sono forti.
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I ESEMPIO DI UN FILE DI CONFIGURAZIONE PER MENCODER:
-.sp 1
-.nf
-# Voglio che MEncoder scriva questo file di output per default.
-o=encoded.avi
-# Le 4 righe seguenti fanno sì che mencoder tv:// inizi subito a registrare.
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# un gruppo più complesso di opzioni di default per la codifica
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont-autoscale=3
-subfont-osd-scale=6
-subfont-text-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Profili
-.\" --------------------------------------------------------------------------
-.
-.SH "PROFILI"
-Per facilitare il lavoro con differenti configurazioni, possono venir definiti
-dei profili nei file di configurazione.
-Un profilo inizia con il suo nome tra parentesi quadre,
-per es.\& '[il-mio-profilo]'.
-Tutte le opzioni seguenti faranno parte di tale profilo.
-Una descrizione (mostrata poi da \-profile help) può esser definita con
-l'opzione profile-desc.
-Per indicare la fine del profilo, se ne può iniziare un altro oppure usare il
-nome di profilo 'default' e continuare con le opzioni abituali.
-.fi
-.PP
-.I "ESEMPI DI PROFILI PER MPLAYER:"
-.sp 1
-.nf
-
-[protocol.dvd]
-profile-desc="profilo per flussi dvd://"
-vf=pp=hb/vb/dr/al/fd
-alang=en
-
-[protocol.dvdnav]
-profile-desc="profilo per flussi dvdnav://"
-profile=protocol.dvd
-mouse-movements=yes
-nocache=yes
-
-[extension.flv]
-profile-desc="profilo per file .flv"
-flip=yes
-
-[vo.pnm]
-outdir=/tmp
-
-[ao.alsa]
-device=spdif
-.fi
-.PP
-.I "ESEMPI DI PROFILI PER MENCODER:"
-.sp 1
-.nf
-
-[mpeg4]
-profile-desc="Codifica MPEG4"
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile-desc="Codifica MPEG4 HQ"
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni generali
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI GENERALI"
-.
-.TP
-.B \-codecs\-file <nomefile> (vedi anche \-afm, \-ac, \-vfm, \-vc)
-Sovrascrive il percorso di ricerca standard ed utilizza il file specificato
-al posto di quello integrato nel programma.
-.
-.TP
-.B \-include <file di configurazione>
-Specifica un file di configurazione da interpretare dopo quelli di default.
-.
-.TP
-.B \-list\-options
-Stampa tutte le opzioni disponibili.
-.
-.TP
-.B \-msgcharset <set_caratteri>
-Converte i messaggi della console nel set di caratteri specificato (default:
-autodetect).
-Il testo verrà mostrato con la codifica specificata con l'opzione di
-configurazione \-\-charset.
-Impostalo a "noconv" per disabilitare la conversione (per es.\& se hai
-problemi con iconv).
-.br
-.I NOTA:
-L'opzione ha effetto dopo che l'interpretazione della linea di comando è
-terminata.
-La variabile di ambiente MPLAYER_CHARSET può aiutarti per evitare sporcizia
-nelle prime linee stampate.
-.
-.TP
-.B \-msgcolor
-Abilita l'emissione di messaggi colorati su terminali che usano colori ANSI.
-.
-.TP
-.B \-msglevel <all=<livello>:<modulo>=<livello>:...>
-Controlla direttamente la verbosità per ogni modulo.
-Il modulo 'all' cambia la verbosità di tutti i moduli non esplicitamente
-specificati sulla riga comando.
-Vedi '\-msglevel help' per una lista di tutti i moduli.
-.br
-.I NOTA:
-Alcuni messaggi sono emessi prima che venga interpretata la riga di comando e
-sono perciò non influenzati da \-msglevel.
-Per controllarli devi usare la variabile d'ambiente MPLAYER_VERBOSE, per i
-dettagli leggi la sua descrizione sotto.
-.br
-Livelli disponibili:
-.PD 0
-.RSs
-.IPs "\-1"
-silenzio completo
-.IPs " 0"
-solo messaggi fatali
-.IPs " 1"
-messaggi d'errore
-.IPs " 2"
-messaggi di attenzione
-.IPs " 3"
-suggerimenti brevi
-.IPs " 4"
-messaggi informativi
-.IPs " 5"
-messaggi di stato (default)
-.IPs " 6"
-messaggi verbosi
-.IPs " 7"
-livello di debug 2
-.IPs " 8"
-livello di debug 3
-.IPs " 9"
-livello di debug 4
-.RE
-.PD 1
-.
-.TP
-.B \-msgmodule
-Antepone il nome del modulo ad ogni messaggio su console.
-.
-.TP
-.B \-noconfig <opzioni>
-Non interpreta i file di configurazione selezionati.
-.br
-.I NOTA:
-Se si specificano le opzioni \-include o \-use\-filedir\-conf sulla riga
-comando, esse vengono rispettate.
-.sp 1
-Le opzioni disponibili sono:
-.PD 0
-.RSs
-.IPs "all\ \ "
-tutti i file di configurazione
-.IPs "gui (solo GUI)"
-file di configurazione della GUI
-.IPs system
-file di configurazione di sistema
-.IPs "user\ "
-file di configurazione dell'utente
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet\ "
-Rende l'emissione su console meno prolissa, in particolare disattiva la
-scrittura della linea di stato (cioè A: 0.7 V: 0.6 A-V: 0.068 ...)
-Particolarmente utile su terminali lenti oppure che non funzionano correttamente
-e non gestiscono in modo giusto il ritorno carrello (cioè \\r).
-.TP
-.B \-priority <priorità> (solo Windows e OS/2)
-Seleziona la priorità del processo MPlayer in accordo con le priorità
-predefinite disponibili sotto Windows e OS/2.
-Possibili valori di <priorità>:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I ATTENZIONE:
-Utilizzare la priorità realtime può causare blocchi del sistema.
-.RE
-.
-.TP
-.B \-profile <profilo1,profilo2,...>
-Utilizza il/i profilo/i selezionato/i, \-profile help mostra una lista dei
-profili definiti.
-.
-.TP
-.B \-really\-quiet (vedi anche \-quiet)
-Emette ancora meno messaggi di output e di stato che con \-quiet.
-Disattiva anche le finestre di errore della GUI.
-.
-.TP
-.B \-show\-profile <profilo>
-Mostra la descrizione ed il contenuto di un profilo.
-.
-.TP
-.B \-use\-filedir\-conf
-Cerca una configurazione specifica per il file nella stessa directory da cui
-il file stesso viene riprodotto.
-.br
-.I ATTENZIONE:
-Potrebbe esser pericoloso riproducendo da supporti non affidabili.
-.
-.TP
-.B "\-v\ \ \ \ \ "
-Aumenta il livello di verbosità, di un livello per ogni \-v trovata sulla
-riga comando.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni di riproduzione
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI DI RIPRODUZIONE (SOLO MPLAYER)"
-.
-.TP
-.B \-autoq <qualità> (da usare con \-vf [s]pp)
-Cambia dinamicamente il livello di post elaborazione a seconda del tempo di
-CPU libero.
-Il numero che specifichi sarà il massimo livello usato.
-Normalmente puoi usare qualche numero grande.
-Devi usare l'opzione \-vf [s]pp senza parametri per fare funzionare questa opzione.
-.
-.TP
-.B \-autosync <fattore>
-Regola gradualmente la sincronizzazione A/V basandosi sulla misura del
-ritardo dell'audio.
-Specificando \-autosync 0, il valore di default, la temporizzazione dei frame
-sarà basata interamente sulla misura del ritardo dell'audio.
-L'opzione \-autosync 1 si comporta nello stesso modo,
-ma viene cambiato leggermente l'algoritmo di correzione A/V.
-Un filmato con una velocità (framerate) irregolare che viene visualizzato
-in modo corretto con \-nosound può spesso venir aiutato impostando questo
-parametro ad un valore maggiore di 1.
-Maggiore il valore, più il comportamento sarà simile all'utilizzo di \-nosound.
-Prova \-autosync 30 per minimizzare problemi con driver audio che non
-implementano una misura perfetta del ritardo audio.
-Con questo valore, se capita un grande ritardo nella sincronizzazione A/V,
-in circa 1 o 2 secondi tutto quanto si sistemerà.
-Questo ritardo nella reazione ad improvvisi scostamenti A/V dovrebbe essere
-l'unico effetto collaterale nell'abilitare questa opzione, per tutti i driver
-audio.
-.
-.TP
-.B \-benchmark
-Stampa qualche statistica sull'uso della CPU e sui fotogrammi scartati, al termine
-della riproduzione.
-Usalo in combinazione con \-nosound e \-vo null se vuoi testare solo il codec
-video.
-.br
-.I NOTA:
-Con questa opzione MPlayer ignorerà la durata dei fotogrammi quando si riproduce
-solo video (puoi pensare a questo come a fps, fotogrammi per secondo, infiniti).
-.
-.TP
-.B \-colorkey <numero>
-Imposta colorkey ad un valore RGB di tua scelta.
-0x000000 è nero e 0xffffff è bianco.
-Supportato solo dai driver di uscita video cvidix, fbdev, svga, vesa, winvidix,
-xmga, xvidix, xover, xv (vedi \-vo xv:ck), xvmc (vedi \-vo xv:ck) e directx.
-.
-.TP
-.B \-nocolorkey
-Disabilita il colorkey.
-Supportato solo dai driver di uscita cvidix, fbdev, svga, vesa, winvidix,
-xmga, xvidix, xover, xv (vedi \-vo xv:ck), xvmc (vedi \-vo xv:ck) e directx.
-.
-.TP
-.B \-correct\-pts (SPERIMENTALE)
-Esegue MPlayer in una modalità sperimentale dove i timestamp per i fotogrammi
-video vengono calcolati diversamente e sono supportati i filtri video che
-aggiungono nuovi fotogrammi o modificano i timestamp di quelli presenti.
-Timestamp più precisi possono esser notati per esempio riproducendo sottotitoli
-temporizzati con cambi scena con l'opzione \-ass.
-Senza \-correct\-pts la temporizzazione dei sottotitoli sarà tipicamente
-spostata di qualche fotogramma.
-Questa opzione non funziona correttamente con alcuni demuxer e codec.
-.
-.TP
-.B \-crash\-debug (CODICE DI DEBUG)
-Attiva automaticamente gdb dopo un crash oppure SIGTRAP.
-Il supporto deve essere compilato all'interno del programma, configurandolo
-con \-\-enable\-crash\-debug.
-.
-.TP
-.B \-doubleclick\-time
-Tempo in millisecondi per considerare due click consecutivi come un doppio click
-(default: 300).
-Impostalo a 0 per far in modo che sia usata l'impostazione del gestore di
-finestre (solo \-vo directx).
-.br
-.I NOTA:
-Otterrai risultati leggermente diversi a seconda che tu abbia o no collegato un
-comando a MOUSE_BTN0_DBL o MOUSE_BTN0\-MOUSE_BTN0_DBL.
-.
-.TP
-.B \-edlout <nomefile>
-Crea un nuovo file e scrive comandi della lista di decisione di modifica (EDL)
-in questo file.
-Durante la riproduzione, l'utente preme 'i' per impostare l'inizio o la fine di
-un blocco da saltare.
-Questo fornisce un punto di partenza dal quale l'utente può successivamente
-ottimizzare tali comandi EDL.
-Vedi http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html per dettagli.
-.
-.TP
-.B \-enqueue (solo GUI)
-Accoda i file specificati sulla linea di comando nella playlist invece di
-riprodurli immediatamente.
-.
-.TP
-.B \-fixed\-vo
-Forza un sistema video fisso per più file (una sola inizializzazione /
-deinizializzazione per tutti i file).
-Perciò solo una finestra verrà aperta per tutti i file.
-Attualmente i seguenti driver funzionano con fixed-vo: gl, gl2, mga, svga, x11,
-xmga, xv, xvidix e dfbmga.
-.
-.TP
-.B \-framedrop (vedi anche \-hardframedrop, sperimentale se non con \-nocorrect\-pts)
-Elimina la visualizzazione di alcuni fotogrammi per mantenere il sincronismo
-A/V con sistemi lenti.
-I filtri video non vengono applicati a questi fotogrammi.
-Nel caso di fotogrammi di tipo B (B-frames) viene saltata completamente anche
-la decodifica.
-.
-.TP
-.B \-(no)gui
-Abilita o disabilita l'interfaccia GUI (il default dipende dal nome dell'eseguibile).
-Funziona solo come primo argomento sulla riga comando.
-Non funziona come opzione nel file di configurazione.
-.
-.TP
-.B \-h, \-help, \-\-help
-Visualizza un breve elenco delle opzioni.
-.
-.TP
-.B \-hardframedrop (sperimentale se non con \-nocorrect\-pts)
-Scarto ancora più intenso di fotogrammi (rovina la decodifica).
-Porta a distorsione delle immagini!
-Nota che nello specifico il decodificatore libmpeg2 può andare in crash,
-quindi considera l'utilizzo di "\-vc ffmpeg12,".
-.
-.TP
-.B \-heartbeat\-cmd
-Comando da eseguire attraverso system() ogni 30 secondi durante la riproduzione
-- per es.\& usando la shell.
-.sp 1
-.I NOTA:
-MPlayer usa questo comando senza fare alcun controllo, è tua responsabilità
-assicurarti che non causi problemi di sicurezza (per es.\& assicurati di usare
-percorsi assoluti se "." e nella tua PATH, come in Windows).
-Funziona solamente riproducendo video (per es.\& non funziona con \-novideo,
-mentre con \-vo null sì).
-.sp 1
-Questo può essere usato (male) per disabilitare salvaschermi che non usano le
-corrette API di X (vedi anche \-stop\-xscreensaver).
-Se pensi sia troppo complicato, chiedi all'autore del salvaschermo di supportare
-le API di X adeguate.
-.sp 1
-.I ESEMPIO per xscreensaver:
-mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
-.sp 1
-.I ESEMPIO per il salvaschermo di GNOME:
-mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
-.RE
-.PD 1
-.
-.TP
-.B \-identify
-Scorciatoia per \-msglevel identify=4.
-Visualizza i parametri del file in un formato facile da interpretare.
-Stampa anche informazioni dettagliate sui sottotitoli, le tracce audio ed i
-vari ID.
-In alcuni casi puoi avere più informazioni utilizzando \-msglevel identify=6.
-Per esempio, per un DVD verranno mostrati i capitoli e la lunghezza di ogni
-titolo, così come l'ID del disco.
-Usala con \-frames 0 per eliminare tutte le emissioni su console.
-Lo script di appoggio TOOLS/\:midentify.sh toglie il resto delle stampe di MPlayer
-e (si spera) corregge per la shell (shellescapes) i nomi dei file.
-.
-.TP
-.B \-idle (vedi anche \-slave)
-Fa in modo che MPlayer attenda senza far nulla invece che chiudersi quando
-non c'è alcun file da riprodurre.
-Principalmente utile in modalità slave quando MPlayer può esser controllato
-attraverso comandi di input.
-.
-.TP
-.B \-input <comandi>
-Questa opzione può essere usata per configurare certe parti del
-sistema di input.
-I percorsi sono relativi a ~/.mplayer/.
-.br
-.I NOTA:
-L'autorepeat (autoripetizione) è attualmente supportata solo dai joysticks.
-.sp 1
-I comandi disponibili sono:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<nomefile>
-Specifica il file di configurazione dell'input se diverso da quello di default
-~/\:.mplayer/\:input.conf.
-Se il parametro è senza percorso completo viene considerato
-~/\:.mplayer/\:<nomefile>.
-.IPs ar-dev=<dispositivo>
-Dispositivo da usare per il telecomando Apple IR (solo Linux, rilevato
-automaticamente di default).
-.IPs ar-delay
-Ritardo in msec prima di cominciare ad autoripetere un tasto (0 per disabilitare)
-.IPs ar-rate
-Numero di pressioni di un tasto da generare quando è attivo l'autorepeat.
-.IPs (no)default-bindings
-Usa i collegamenti ai tasti come sono impostati di default in MPlayer.
-.IPs keylist
-Stampa tutti i tasti che possono essere collegati ad un comando.
-.IPs cmdlist
-Stampa tutti i comandi che possono essere collegati ad un tasto.
-.IPs js-dev
-Specifica il device del joystick da usare (default: /dev/\:input/\:js0).
-.IPs file=<nomefile>
-Legge i comandi dal file specificato.
-Normalmente utile con un FIFO.
-.br
-.I NOTA:
-Quando il file specificato è un FIFO MPlayer ne apre entrambi gli estremi
-così puoi dare molti 'echo "seek 10" > mp_pipe' e la pipe rimarrà valida.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-Specifica la dimensione del FIFO che memorizza gli eventi della tastiera
-(default: 7).
-Un FIFO di dimensione n può bufferizzare (n-1) eventi.
-Se è troppo piccolo alcuni eventi potrebbero venir persi (portando ad
-effetti di 'bottoni del mouse ignorati' o simili).
-Se è troppo grande, MPlayer potrebbe sembrare bloccato mentre elabora
-gli eventi bufferizzati.
-Per avere lo stesso comportamento presentato prima dell'introduzione
-di questa opzione devi impostarla a 2 per Linux e a 1024 per Windows.
-.
-.TP
-.B \-lircconf <nomefile> (solo LIRC)
-Specifica un file di configurazione per LIRC (default: ~/.lircrc).
-.
-.TP
-.B \-list\-properties
-Stampa una lista delle proprietà disponibili.
-.
-.TP
-.B \-loop <numero>
-Ripete la riproduzione del film <numero> volte.
-0 significa per sempre.
-.
-.TP
-.B \-menu (solo menu OSD)
-Attiva il supporto per il menu su OSD.
-.
-.TP
-.B \-menu\-cfg <nomefile> (solo menu OSD)
-Usa un file alternativo per menu.conf.
-.
-.TP
-.B \-menu\-chroot <percorso> (solo menu OSD)
-Restringe (chroot) il menu di selezione file a uno specifico percorso.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-menu\-chroot=/home"
-Restringe il menu di selezione /\:home and downward (per es.\& non sarà
-possibile alcun accesso a /, ma a /home/nome_utente sì).
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdir (solo menu OSD)
-Il gestore dei file parte dall'ultimo percorso conosciuto, invece che dalla
-directory corrente.
-.
-.TP
-.B \-menu\-root <valore> (solo menu OSD)
-Specifica il menu principale.
-.
-.TP
-.B \-menu\-startup (solo menu OSD)
-Visualizza il menu principale alla partenza di MPlayer.
-.
-.TP
-.B \-mouse\-movements
-Permette ad MPlayer di ricevere eventi del puntatore riportati dal driver di
-uscita video.
-Necessario per selezionare i bottoni nei menu dei DVD.
-Gestita solo per uscite video basate su X11 (x11, xv, xvmc, etc.) e per gl,
-gl2, direct3d e corevideo.
-.
-.TP
-.B \-noar
-Disabilita la gestione del telecomando AppleIR.
-.
-.TP
-.B \-noconsolecontrols
-Impedisce ad MPlayer di leggere gli eventi dei tasti dallo standard input.
-Utile quando si leggono dati direttamente dallo standard input.
-Questa opzione viene abilitata automaticamente quando viene trovato \- sulla
-riga comando.
-Ci sono situazioni in cui devi impostarlo manualmente, per es.\& se apri
-/dev/\:stdin (o l'equivalente sul tuo sistema), usi stdin in una playlist o
-vuoi leggere da stdin più avanti attraverso i comandi slave loadfile o loadlist.
-.
-.TP
-.B \-nojoystick
-Disabilita il supporto per il joystick.
-.
-.TP
-.B \-nolirc
-Disabilita il supporto per LIRC.
-.
-.TP
-.B \-nomouseinput
-Disabilita la gestione dell'ingresso della pressione/\:rilascio dei bottoni
-del mouse (i menu del contesto di mozplayerxp si basano su questa opzione).
-.
-.TP
-.B \-rtc (solo RTC)
-Abilita l'utilizzo di Linux RTC (realtime clock, orologio in tempo reale \- /dev/\:rtc)
-per la gestione delle temporizzazioni.
-Questo risveglia il processo ogni 1/1024 di secondo per controllare il tempo
-corrente.
-Inutile con kernel Linux moderni configurati come desktop, visto che essi
-risvegliano già il processo con una precisione simile usando lo sleep normale
-di sistema.
-.
-.TP
-.B \-playing\-msg <stringa>
-Stampa una stringa prima di inziare la riproduzione.
-Sono supportate le seguenti espansioni:
-.RSs
-.IPs ${NOME}
-Espande al valore della proprietà NOME.
-.IPs ?(NOME:TESTO)
-Espande a TESTO solo se la proprietà NOME è disponibile.
-.IPs ?(!NOME:TESTO)
-Espande a TESTO solo se la proprietà NOME non è disponibile.
-.RE
-.
-.TP
-.B \-playlist <nomefile>
-Riproduce i file seguendo la playlist specificata (formato ASX, Winamp,
-SMIL oppure un-file-per-linea)
-.br
-.I NOTA:
-Questa opzione è considerata un file perciò le opzione trovate
-successivamente ad essa verranno applicate solo agli elementi di questa
-playlist.
-.br
-FIXME: Questo deve essere chiarito e documentato completamente.
-.
-.TP
-.B \-rtc\-device <dispositivo>
-Utilizza il dispositivo specificato per le temporizzazioni con RTC.
-.
-.TP
-.B \-shuffle
-Riproduce i file in ordine casuale.
-.
-.TP
-.B \-skin <nome> (solo GUI)
-Carica la skin dalla directory specificata come parametro sotto le directory
-di default delle skin, /usr/\:local/\:share/\:mplayer/\:skins/ e
-~/.mplayer/\:skins/.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-Prova prima in /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene
-e poi in ~/.mplayer/\:skins/\:fittyfene.
-.RE
-.PD 1
-.
-.TP
-.B \-slave (vedi anche \-input)
-Questa opzione attiva la modalità slave (schiavo o servo) nella quale MPlayer
-funziona come riproduttore asservito (backend) di altri programmi.
-Invece di intercettare gli eventi della tastiera, MPlayer leggerà i comandi
-separati dal carattere di nuova linea (newline, \\n) da stdin.
-.br
-.I NOTA:
-Vedi \-input cmdlist per la lista dei comandi in modalità slave e
-DOCS/tech/slave.txt per la loro descrizione.
-Tra l'altro questa opzione non è indicata per disabilitare altri input,
-per es.\& attraverso la finestra del video, per far ciò usa altri metodi come
-\-input nodefault\-binds:conf=/dev/null.
-.
-.TP
-.B \-softsleep
-Controlla la temporizzazione verificando continuamente il tempo corrente invece
-di chiedere al kernel di risvegliare MPlayer al momento giusto.
-Utile se la temporizzazione del tuo kernel è imprecisa e non puoi usare RTC.
-Utilizza però maggiormente la CPU.
-.
-.TP
-.B \-sstep <sec>
-Salta <sec> secondi dopo ogni fotogramma.
-La velocità normale (framerate) del filmato è preservata, perciò la
-riproduzione viene accelerata.
-Visto che MPlayer può posizionarsi solo sui fotogrammi chiave questo
-posizionamento potrebbe essere inesatto.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni Demuxer /\:Flusso (Stream)
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI DEMUXER/FLUSSO (STREAM)"
-.
-.TP
-.B \-a52drc <livello>
-Seleziona il livello di Rapporto di Compressione Dinamica (Dynamic Range
-Compression) per i flussi audio AC-3.
-<livello> è un valore in decimale da 0 a 1, dove 0 indica nessuna compressione
-e 1 (che è il default) indica compressione completa (rende i passaggi
-forti / rumorosi più silenziosi e viceversa).
-Questa opzione ha effetto solo se il flusso AC-3 contiene le informazioni
-necessarie per il rapporto di compressione.
-.
-.TP
-.B \-aid <ID> (vedi anche \-alang)
-Seleziona il canale audio (MPEG: 0\-31, AVI/\:OGM: 1\-99, ASF/\:RM: 0\-127,
-VOB(AC-3): 128\-159, VOB(LPCM): 160\-191, MPEG-TS 17\-8190).
-MPlayer stampa gli id audio disponibili se viene lanciato in modalità
-verbosa (\-v).
-Quando si riproduce un flusso MPEG-TS, MPlayer/\:MEncoder useranno il primo
-programma (se presente) con il flusso audio scelto.
-.
-.TP
-.B \-ausid <ID> (vedi anche \-alang)
-Selezione il canale del sottoflussio audio.
-Attualmente la gamma valida è 0x55..0x75 e viene applicata solo ad un flusso
-MPEG-TS quando viene decodificato dal demuxer nativo (non da libavformat).
-Il tipo di formato potrebbe non venir identificato correttamente a causa del
-modo in cui questa informazione (o la sua assenza) viene impacchettata nel
-flusso, ma decodificherà correttamente i flussi audio quando sono presenti più
-sottoflussi.
-MPlayer emette gli ID dei sottoflussi disponibili se eseguito con \-identify.
-.
-.TP
-.B \-alang <codice linguaggio[,codice linguaggio,...]> (vedi anche \-aid)
-Specifica una lista di priorità dei linguaggi audio da utilizzare.
-Formati contenitore diversi utilizzano diversi codici.
-I DVD utilizzano i codici a due lettere ISO 639\-1, Matroska, MPEG-TS e NUT
-usano i codici a tre lettere ISO 639\-2 mentre OGM usa un identificatore libero.
-MPlayer stampa i linguaggi disponibili se viene lanciato in
-modalità verbosa (\-v).
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang it,en"
-Seleziona la traccia italiana su un DVD e passa all'inglese se l'italiano
-non è disponibile.
-.IPs "mplayer \-alang jpn example.mkv"
-Riproduce un file Matroska in giapponese.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]nome> (solo \-audiofile)
-Forza il nome del demuxer audio, come indicato da \-audio\-demuxer help.
-Usa un '+' prima del nome per forzarlo, il che eviterà alcuni controlli!
-Per retrocompatibilità accetta anche l'ID del demuxer come definito in
-libmpdemux/\:demuxer.h.
-\-audio\-demuxer audio o \-audio\-demuxer 17 forza il formato MP3.
-.
-.TP
-.B \-audiofile <nomefile>
-Suona un file audio da un file esterno (WAV, MP3 oppure Ogg Vorbis) mentre
-visualizza un filmato.
-.
-.TP
-.B \-audiofile\-cache <KBytes>
-Abilita il caching per il flusso usato da \-audiofile, utilizzando la quantità
-di memoria specificata.
-.
-.TP
-.B \-reuse\-socket (solo udp://)
-Permette ad un socket di essere riutilizzato da altri processi appena viene
-chiuso.
-.
-.TP
-.B \-bandwidth <Bytes> (solo rete)
-Specifica la massima larghezza di banda (bandwidth) per lo streaming attraverso
-una rete (per quei server che sono capaci di inviare contenuti, normalmente
-filmati, a diversi bitrate).
-Utile se vuoi guardare contenuti multimediali dal vivo su una connessione lenta.
-Con lo streaming RTSP Real, viene anche usata per impostare la massima larghezza
-di banda in uscita dal server, permettendo un riempimento della cache e un dump
-del flusso più rapido.
-.
-.TP
-.B \-cache <KBytes>
-Questa opzione specifica quanta memoria (in KBytes) deve essere usata quando si
-precarica un file oppure un URL.
-Utile specialmente con supporti/media molto lenti.
-.
-.TP
-.B \-nocache
-Disabilita la cache.
-.
-.TP
-.B \-cache\-min <percentuale>
-La riproduzione comincerà appena la cache sarà piena fino alla <percentuale>
-del totale.
-.
-.TP
-.B \-cache\-seek\-min <percentuale>
-Quando verrà effettuata una ricerca verso una posizione entro la <percentuale>
-della dimensione della cache dalla posizione attuale, MPlayer attenderà il
-riempimento della cache stessa fino a quella posizione, invece di effettuare la
-ricerca sul flusso (default: 50).
-.
-.TP
-.B \-cdda <opzione1:opzione2> (solo CDDA)
-Questa opzione può essere usata per regolare la lettura di CD Audio da parte di MPlayer.
-.sp 1
-Le opzioni disponibili sono:
-.RSs
-.IPs speed=<valore>
-Regola la velocità di rotazione del CD
-.IPs paranoia=<0\-2>
-Regola il livello di paranoia.
-Valori diversi da 0 sembrano rovinare la riproduzione di tutto tranne la
-prima traccia.
-.RSss
-0: disabilita il controllo dati (default)
-.br
-1: solo controllo di sovrapposizione (overlap)
-.br
-2: controllo e verifica completa dei dati
-.REss
-.IPs generic-dev=<valore>
-Usa il dispositivo SCSI generico specificato
-.IPs sector-size=<valore>
-Dimensione di una lettura atomica
-.IPs overlap=<valore>
-Forza la ricerca di sovrapposizione minima (minimum overlap search) durante la
-verifica a <valore> settori.
-.IPs toc-bias
-Assume che lo scostamento iniziale della traccia 1 come riportato nella TOC
-sarà indirizzato come LBA 0.
-Alcuni lettori Toshiba hanno bisogno di questa opzione per ottenere la corretta
-delimitazione delle tracce.
-.IPs toc-offset=<valore>
-Aggiunge <valore> settori ai valori riportati quando si indirizzano le tracce.
-Può essere negativo.
-.IPs (no)skip
-(Non) accetta una ricostruzione imperfetta dei dati.
-.RE
-.
-.TP
-.B \-cdrom\-device <percorso del dispositivo>
-Specifica il nome del dispositivo CD-ROM (default: /dev/\:cdrom).
-.
-.TP
-.B \-channels <numero> (vedi anche \-af channels)
-Imposta il numero di canali da decodificare (default: 2).
-MPlayer chiede al decoder di decodificare l'audio in tanti canali quanti sono
-quelli impostati.
-A questo punto è compito del decoder adempiere alla richiesta.
-Questo è generalmente importante solo quando si riproducono filmati con audio
-AC-3 (come i DVD).
-In questo caso liba52 effettua la decodifica per default e correttamente
-sottomiscela l'audio nel numero di canali richiesti.
-Per controllare direttamente il numero dei canali di uscita indipendentemente
-da quanti canali vengono decodificati, usa il filtro channel.
-.br
-.I NOTA:
-Questa opzione è onorata dai codec (solo AC-3), filtri (surround) e driver di
-uscita audio (almeno OSS).
-.sp 1
-Le opzioni disponibili sono:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-stereo
-.IPs 4
-surround
-.IPs 6
-5.1 completo
-.IPs 8
-7.1 completo
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <ID capitolo>[\-<ID capitolo finale>] (solo dvd:// e dvdnav://)
-Specifica da quale capitolo deve iniziare la riproduzione.
-Si può, opzionalmente, specificare anche a quale capitolo deve
-fermarsi la riproduzione (default: 1).
-.
-.TP
-.B \-cookies (solo rete)
-Manda cookie quando vengono fatte richieste HTTP.
-.
-.TP
-.B \-cookies\-file <nomefile> (solo rete)
-Legge i cookie HTTP da <nomefile> (default: ~/.mozilla/ e ~./.netscape/)
-e salta la lettura dalle posizioni di default.
-Il file viene considerato in formato Netscape.
-.
-.TP
-.B \-delay <secondi>
-Ritardo audio in secondi (valore decimale positivo o negativo)
-.br
-Valori negativi ritardano l'audio, quelli positivi ritardano il video.
-Nota che questo è l'esatto opposto dell'opzione \-audio\-delay di MEncoder.
-.br
-.I NOTA:
-Quando viene usato con MEncoder, non è detto che funzioni correttamente
-con \-ovc copy; al suo posto usa \-audio\-delay.
-.
-.TP
-.B \-ignore\-start
-Ignora il tempo di avvio dei flussi indicato nei file AVI.
-In MPlayer, questo annulla i ritardi di flusso nei file codificati con
-l'opzione \-audio\-delay.
-Durante la codifica, questa opzione impedisce a MEncoder di trasferire i tempi
-di avvio originari al nuovo file; l'opzione \-audio\-delay non viene
-influenzata.
-Nota che MEncoder alcune volte rettifica automaticamente i tempi di avvio per
-compensare ritardi di decodifica anticipata, perciò non usare questa opzione
-per la codifica senza prima provarla.
-.
-.TP
-.B \-demuxer <[+]nome>
-Forza il nome del demuxer audio, come indicato da \-demuxer help.
-Usa un '+' prima del nome per forzarlo, il che eviterà alcuni controlli!
-Per retrocompatibilità accetta anche l'ID del demuxer come definito in
-libmpdemux/\:demuxer.h.
-.
-.TP
-.B \-dumpaudio (solo MPlayer)
-Scrive il flusso audio compresso grezzo su ./stream.dump (utile con MPEG/\:AC-3,
-nella maggior parte degli altri casi il file ottenuto non sarà riproducibile).
-Se passi sulla linea di comando più di una opzione \-dumpaudio, \-dumpvideo,
-\-dumpstream solo l'ultima verrà considerata.
-.
-.TP
-.B \-dumpfile <nomefile> (solo MPlayer)
-Specifica su quale file MPlayer deve scrivere i flussi (dump).
-Dovrebbe essere usata con \-dumpaudio / \-dumpvideo / \-dumpstream.
-.
-.TP
-.B \-dumpstream (solo MPlayer)
-Scrive il flusso completo (audio/video) compresso grezzo su ./stream.dump.
-Utile quando si codifica / copia ('rippa') da DVD oppure via rete.
-Se passi sulla linea di comando più di una opzione \-dumpaudio, \-dumpvideo,
-\-dumpstream solo l'ultima verrà considerata.
-.
-.TP
-.B \-dumpvideo (solo MPlayer)
-Scrive il flusso video compresso grezzo su ./stream.dump (non molto usabile).
-Se passi sulla linea di comando più di una opzione \-dumpaudio, \-dumpvideo,
-\-dumpstream solo l'ultima verrà considerata.
-.
-.TP
-.B \-dvbin <opzioni> (solo DVB)
-Passa i parametri successivi al modulo DVB (Digital Video Board, Scheda Video
-Digitale) di ingresso, per poter cambiare i valori di default:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Specifica il numero di scheda (1\-4) da usare (default: 1).
-.IPs file=<nomefile>
-Dice a MPlayer di leggere la lista dei canali da <nomefile>.
-Il default è ~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc} (basato
-sul tipo di scheda) oppure ~/.mplayer/\:channels.conf come
-ultima risorsa.
-.IPs timeout=<1\-30>
-Massimo numero di secondi da aspettare durante il tentativo di sintonizzare
-una frequenza, prima di abbandonare (default:30).
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <percorso del dispositivo> (solo DVD)
-Specifica il nome del dispositivo DVD o del file .iso (default: /dev/\:dvd).
-Puoi anche specificare una directory che contiene una serie di file copiati
-direttamente da un DVD (p.es.\& con vobcopy).
-.
-.TP
-.B \-dvd\-speed <fattore di velocità in KB/s> (solo DVD)
-Prova a limitare la velocità del DVD (default: 0, nessuna modifica).
-La velocità base dei DVD è circa 1350KB/s, per cui un lettore 8x può leggere
-fino a 10800KB/s.
-Velocità più basse rendono più silenzioso il lettore, per guardare un DVD
-una velocità di 2700KB/s dovrebbe essere silenziosa e veloce a sufficienza.
-MPlayer reimposta in uscita la velocità originaria del lettore.
-Valori minori di 100 indicano multipli di 1350KB/s, per es.\& \-dvd\-speed 8
-seleziona 10800KB/s.
-.br
-.I NOTA:
-Per modificare la velocità devi avere accesso in scrittura al dispositivo DVD.
-.
-.TP
-.B \-dvdangle <ID angolo> (solo DVD)
-Alcuni dischi DVD contengono scene che possono essere visualizzate
-da angolazioni diverse.
-Qui puoi dire a MPlayer quale angolo usare (default: 1)
-.
-.TP
-.B \-edl <nomefile>
-Abilita le azioni della lista di decisione di modifica (edit decision list, EDL)
-durante la riproduzione.
-Il video viene saltato e l'audio viene riprodotto o meno in maniera dipendente dai valori presenti nel
-file specificato.
-Vedi http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html per dettagli su come
-utilizzare le EDL.
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|dimensione[b|kb|mb]> (vedi anche \-ss e \-sb)
-Si ferma al tempo oppure alla posizione in byte specificata.
-.br
-.I NOTA:
-La posizione in byte è abilitata solo per MEncoder e non sarà precisa, in quanto
-ci si può fermare solo alla fine di un fotogramma.
-Se usata insieme con l'opzione \-ss, il tempo indicato da \-endpos sarà spostato
-in avanti il numero secondi specificati da \-ss.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-Si ferma a 56 secondi.
-.IPs "\-endpos 01:10:00"
-Si ferma a 1 ora e 10 minuti.
-.IPs "\-ss 10 \-endpos 56"
-Si ferma a 1 minuto e 6 secondi.
-.IPs "\-endpos 100mb"
-Codifica solo 100 MB.
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-Forza la ricostruzione dell'indice.
-Utile per file con indici rovinati (mancata sincronizzazione A/V, etc).
-Verrà abilitato il posizionamento in file dove non era possibile effettuarlo.
-Puoi sistemare l'indice in maniera permanente utilizzando
-MEncoder (controlla la documentazione).
-.br
-.I NOTA:
-Questa opzione funziona solo se il mezzo di trasporto sottostante supporta il
-posizionamento (cioè non con stdin, pipe, etc).
-.
-.TP
-.B \-fps <valore decimale>
-Cambia il valore di velocità del video (video framerate, frame per secondo,
-fps).
-Utile se il valore è sbagliato o mancante.
-.
-.TP
-.B \-frames <numero>
-Visualizza/\:converte solo i primi <numero> fotogrammi, poi esce.
-.
-.TP
-.B \-hr\-mp3\-seek (solo MP3)
-Posizionamento ad alta risoluzione per MP3.
-Abilitato quando si riproduce da un file MP3 esterno in quanto
-abbiamo bisogno di posizionarci perfettamente per mantenere il sincronismo A/V.
-Può essere lento specialmente quando ci si sposta all'indietro in quanto si deve
-riposizionare all'inizio per trovare la posizione esatta del frame.
-.
-.TP
-.B \-idx (vedi anche \-forceidx)
-Ricostruisce l'indice dei file quando non li trova, permettendo
-il posizionamento (seek).
-Utile con file scaricati in modo errato/\:incompleto, oppure creati in
-modo non corretto.
-.br
-.I NOTA:
-Questa opzione funziona solo se il mezzo di trasporto sottostante supporta il
-posizionamento (cioè non con stdin, pipe, etc).
-.
-.TP
-.B \-noidx
-Evita la ricostruzione dell'indice del file.
-MEncoder salta la scrittura dell'indice, usando questa opzione.
-.
-.TP
-.B \-ipv4\-only\-proxy (solo rete)
-Ignora il proxy per gli indirizzi IPv6.
-Viene comunque usato per connessioni IPv4.
-.
-.TP
-.B \-loadidx <nomefile>
-Il file da cui caricare i dati dell'indice video salvati con \-saveidx.
-Questo indice verrà usato per il posizionamento, sovrascrivendo qualsiasi
-dato di indice presente nel file AVI stesso.
-MPlayer non farà nulla per evitare di farti caricare un indice
-creato da un altro file AVI, ma sicuramente questo creerà risultati
-sfavorevoli.
-.br
-.I NOTA:
-Questa opzione è obsoleta adesso che MPlayer ha la gestione OpenDML.
-.
-.TP
-.B \-mc <secondi/frame>
-Massima correzione della sincronizzazione A-V per fotogramma (in secondi).
-.
-.TP
-.B \-mf <opzione1:opzione2:...>
-Usato nella decodifica da elenco di file in formato PNG o JPEG.
-.sp 1
-Le opzioni disponibili sono:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<valore>
-larghezza del video in entrata (default: calcolata automaticamente)
-.IPs h=<valore>
-altezza del video in entrata (default: calcolata automaticamente)
-.IPs fps=<valore>
-fps (frame per second, fotogrammi al secondo) del video di uscita (default: 25)
-.IPs type=<valore>
-tipo dei file di ingresso (tipi disponibili: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (solo AVI)
-Forza l'utilizzo del lettore di AVI non-interleaved (permette la
-riproduzione di qualche file AVI scorretto).
-.
-.TP
-.B \-nobps (solo AVI)
-Non usa il valore della media byte/\:secondo per gestire il sincronismo A-V.
-Aiuta nel caso di alcuni file AVI con l'intestazione sbagliata.
-.
-.TP
-.B \-noextbased
-Disabilita la selezione del tipo di demuxer basata sull'estensione del file.
-Per default, quando il tipo di file (demuxer) non può essere ricavato in
-modo sicuro (il file non ha un'intestazione oppure l'intestazione stessa non
-permette un riconoscimento sufficientemente sicuro)
-l'estensione del file viene usata per selezionare il demuxer.
-Si passa poi sempre alla selezione basata sul contenuto.
-.
-.TP
-.B \-passwd <password> (vedi anche \-user) (solo rete)
-Specifica la password per l'autenticazione HTTP.
-.
-.TP
-.B \-prefer\-ipv4 (solo rete)
-Utilizza IPv4 per le connessioni di rete.
-.
-.TP
-.B \-prefer\-ipv6 (solo rete IPv6)
-Utilizza IPv6 per le connessioni di rete.
-Passa automaticamente a IPv4 se necessario.
-.
-.TP
-.B \-psprobe <posizione in byte>
-Riproducendo un flusso MPEG-PS o MPEG-PES, questa opzione ti permette di
-specificare quanti byte del flusso vuoi che MPlayer legga per poter
-identificare il codec video usato.
-Questa opzione è necessaria per riprodurre file EVO o VDR contenenti flussi
-H.264.
-.
-.TP
-.B \-pvr <opzione1:opzione2:...> (solo PVR)
-Questa opzione imposta varie proprietà di codifica per il modulo di cattura PVR.
-Deve essere usata con schede di codifica MPEG via hardware suppportate dal
-driver V4L2.
-Le schede Hauppauge WinTV PVR\-150/250/350/500 e tutte quelle basate su IVTV
-sono conosciute come schede di cattura PVR.
-Attenzione che solamente il kernel Linux 2.6.18 o maggiore è capace di gestire
-il flusso MPEG attraverso lo strato V4L2.
-Per la cattura hardware di un flusso MPEG e la visione attraverso
-MPlayer/MEncoder, usa 'pvr://' come URL del filmato.
-.sp 1
-Le opzioni disponibili sono:
-.RSs
-.IPs aspect=<0\-3>
-Specifica il rapporto di aspetto:
-.RSss
-0: 1:1
-.br
-1: 4:3 (default)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-Specifica la frequenza audio di codifica (default: 48000 Hz, disponibili:
-32000, 44100 e 48000 Hz).
-.IPs alayer=<1\-3>
-Specifica lo strato (layer) di codifica audio (default: 2).
-.IPs abitrate=<32\-448>
-Specifica la frequenza di codifica audio in kpbs (default: 384).
-.IPs amode=<valore>
-Specifica la modalità di codifica audio.
-I Preset disponibili sono:
-.RSss
-stereo (default)
-.br
-joint_stereo
-.br
-dual
-.br
-mono
-.REss
-.IPs vbitrate=<valore>
-Specify average video bitrate encoding in Mbps (default: 6).
-.IPs vmode=<valore>
-Specifica la modalità di codifica video:
-.RSss
-vbr: Variable BitRate (frequenza variabile) (default)
-.br
-cbr: Constant BitRate (frequenza costante)
-.REss
-.IPs vpeak=<valore>
-Specifica il picco di frequenza dell codifica video in Mbps
-(utile solo per codifica VBR, default: 9.6).
-.IPs fmt=<valore>
-Seleziona un formato MPEG per la codifica:
-.RSss
-ps: MPEG-2 Program Stream (default)
-.br
-ts: MPEG-2 Transport Stream
-.br
-mpeg1: MPEG-1 System Stream
-.br
-vcd: flusso compatibile Video CD
-.br
-svcd: flusso compatibile Super Video CD
-.br
-dvd: flusso compatibile DVD
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <opzione1:opzione2:...> (solo radio)
-Queste opzioni impostano svariati parametri per il modulo di cattura radio.
-Per ascoltare la radio con MPlayer usa 'radio://<frequenza>' (se non viene
-fornita l'opzione channels) o 'radio://<numero_canale>' (se viene fornita
-l'opzione channels) come URL del filmato.
-Per avviare il sottosistema di cattura, usa 'radio://<frequenza o canale>/capture'.
-Se la parola chiave capture non viene fornita, puoi ascoltare la radio usando
-solo l'entrata line-in.
-Usare capture per ascoltare non è consigliato, a causa di problemi di
-sincronizzazione, che rendono spiacevole l'attività.
-.sp 1
-Le opzioni disponibili sono:
-.RSs
-.IPs device=<valore>
-Dispositivo radio da usare (default: /dev/radio0 in Linux e /dev/tuner in *BSD).
-.IPs driver=<valore>
-Driver radio da usare (default: v4l2 se disponibile, altrimenti v4l).
-Attualmente sono supportati i driver v4l e v4l2.
-.IPs volume=<0..100>
-volume audio del dispositivo radio (default: 100)
-.IPs "freq_min=<valore> (solo *BSD BT848)"
-frequenza minima permessa (default: 87.50)
-.IPs "freq_max=<valore> (solo *BSD BT848)"
-frequenza massima permessa (default: 108.00)
-.IPs channels=<frequenza>\-<nome>,<frequenza>\-<nome>,...
-Imposta la lista dei canali.
-Usa _ per gli spazi nei nomi (o divertiti con il quoting ;-).
-I nomi dei canali verranno scritti usando l'OSD e i comandi slave
-radio_step_channel e radio_set_channel saranno utilizzabili per un controllo
-remoto (dai un'occhiata a LIRC).
-Quando fornito, un numero nell'URL del filmato sarà trattato come la posizione
-del canale nella lista dei canali.
-.br
-.I ESEMPIO:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<valore> (solo acquisizione (capture) radio)"
-Nome del dispositivo da cui catturare l'audio.
-Senza tale nome la cattura sarà disabilitata anche se la parola
-chiave 'capture' appare nell'URL.
-Per i dispositivi ALSA deve essere usato nella forma hw=<scheda>.<dispositivo>.
-Se il nome contiene un '=', il modulo userà ALSA per la cattura, se no OSS.
-.IPs "arate=<valore> (solo acquisizione radio)"
-Frequenza in campioni per secondo (default: 44100).
-.br
-.I NOTA:
-Quando usi la cattura audio, imposta anche l'opzione \-rawaudio rate=<valore>
-con lo stesso valore di arate.
-Se hai problemi colla velocità audio (va troppo veloce), prova la riproduzione
-con valori di frequenza differenti (per es.\& 48000,44100,32000,...).
-.IPs "achannels=<valore> (solo acquisizione radio)"
-Numero di canali audio da catturare.
-.RE
-.
-.TP
-.B \-rawaudio <opzione1:opzione2:...>
-Questa opzione ti permette di riprodurre file audio grezzi.
-Devi usare anche l'opzione \-demuxer rawaudio.
-Può anche essere usata per riprodurre CD audio che non siano codificati in PCM
-a 44kHz 16-bit stereo.
-Per riprodurre flussi grezzi AC-3 utilizza \-rawaudio on:format=0x2000
-\-demuxer rawaudio.
-.sp 1
-Le opzioni disponibili sono:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<valore>
-numero di canali
-.IPs rate=<valore>
-campionamento in valori per secondo
-.IPs samplesize=<valore>
-dimensione in byte di un campionamento
-.IPs bitrate=<valore>
-bitrate per il file grezzo
-.IPs format=<valore>
-fourcc (codice del formato) in esadecimale
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <opzione1:opzione2:...>
-Questa opzione ti permette di visualizzare file video grezzi.
-Devi usare anche l'opzione \-demuxer rawvideo.
-.sp 1
-Le opzioni disponibili sono:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<valore>
-velocità in fotogrammi al secondo (default: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-Seleziona una dimensione standard per il video
-.IPs w=<valore>
-larghezza immagine in pixel
-.IPs h=<valore>
-altezza immagine in pixel
-.IPs i420|yv12|yuy2|y8
-seleziona lo spazio colore
-.IPs format=<valore>
-spazio colore (fourcc) in esadecimale o in stringa costante.
-Usa \-rawvideo format=help per una lista delle stringhe possibili.
-.IPs size=<valore>
-dimensione di un fotogramma in Byte
-.REss
-.sp 1
-.RS
-.I ESEMPI:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif \-demuxer rawvideo \-rawvideo qcif"
-Riproduce il famoso video di esempio "foreman".
-.IPs "mplayer esempio-720x576.yuv \-demuxer rawvideo \-rawvideo w=720:h=576"
-Riproduce un esempio YUV grezzo.
-.RE
-.PD 1
-.
-.TP
-.B \-rtsp\-port
-Utilizzato con URL del tipo 'rtsp://' per forzare il numero di porta del client.
-Questa opzione può essere utile se sei dietro a un router e vuoi inoltrare il
-flusso RTSP dal server verso un client specifico.
-.
-.TP
-.B \-rtsp\-destination
-Utilizzato con URL del tipo 'rtsp://' per forzare l'IP di destinazione da usare.
-Questa opzione può essere utile con alcuni server RTSP che non inviano
-pacchetti RTP all'interfaccia corretta.
-Se la connessione al server RTSP fallisce, utilizza \-v per vedere quale
-indirizzo IP MPlayer cerca di usare e prova piuttosto a forzarne uno
-assegnato al tuo computer.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (solo LIVE555 e NEMESI)
-Utilizzato con URL del tipo 'rtsp://' per specificare che i pacchetti RTP o RTCP
-devono essere fatti passare su TCP (utilizzando la stessa connessione di RTSP).
-Questa opzione può essere utile se hai una connessione internet che non gestisce
-in maniera corretta i pacchetti UDP (vedi http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-saveidx <nomefile>
-Forza la ricostruzione dell'indice e lo scrive su <nomefile>.
-Attualmente funziona solo con i file AVI.
-.br
-.I NOTA:
-Questa opzione è obsoleta adesso che MPlayer ha la gestione OpenDML.
-.
-.TP
-.B \-sb <posizione byte> (vedi anche \-ss)
-Si posiziona al byte specificato.
-Utile per la riproduzione da immagini (copie fisiche byte per byte) di
-CD-ROM o da file VOB con dati inutili all'inizio.
-.
-.TP
-.B \-speed <0.01\-100>
-Rallenta o accelera la riproduzione del fattore passato come parametro.
-Non è detto che funzioni con \-oac copy.
-.
-.TP
-.B \-srate <Hz>
-Seleziona la frequenza di campionamento di uscita da usare (ovviamente le
-schede audio hanno dei limiti sui valori che possono utilizzare).
-Se la frequenza di campionamento selezionata è diversa da quella del media
-corrente il filtro audio lavcresample verrà inserito nella struttura dei
-filtri audio per compensare la differenza.
-Il tipo di ricampionamento può essere controllato dall'opzione \-af\-adv.
-Il default è un ricampionamento veloce che può causare distorsioni.
-.
-.TP
-.B \-ss <tempo> (vedi anche \-sb)
-Si posiziona al tempo specificato.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-Si posiziona a 56 secondi dall'inizio del file.
-.IPs "\-ss 01:10:00"
-Si posiziona a 1 ora e 10 minuti dall'inizio del file.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Dice a MPlayer di non ignorare i pacchetti TS indicati come errati
-(broken) nel flusso.
-A volte è necessario per riprodurre dei file MPEG-TS corrotti.
-.
-.TP
-.B \-tsprobe <posizione byte>
-Nella riproduzione di un flusso MPEG-TS questa opzione ti permette di
-specificare in quanti Bytes vuoi che MPlayer cerchi gli ID audio e video
-desiderati.
-.
-.TP
-.B \-tsprog <1\-65534>
-Nella riproduzione di un flusso MPEG-TS puoi specificare con questa opzione
-quale programma (se presente) vuoi usare.
-Può essere usato con \-vid e \-aid.
-.
-.TP
-.B \-tv <opzione1:opzione2:...> (solo TV/\:PVR)
-Questa opzione regola varie proprietà del modulo di cattura TV.
-Per guardare la TV con MPlayer usa 'tv://' o 'tv://<numero_canale>'
-o anche 'tv://<nome_canale> (cerca channel_name sotto l'opzione channels più giù)
-come URL del film.
-Puoi anche usare tv:///<id_ingresso>' per avviare la riproduzione di un film da
-un ingresso composito o S-Video (vedi l'opzione input per i dettagli).
-.sp 1
-Le opzioni disponibili sono:
-.RSs
-.IPs noaudio
-niente suono
-.IPs "automute=<0\-255> (solo v4l e v4l2)"
-Se la potenza del segnale riportata dal dispositivo è minore di questo valore,
-l'audio ed il video verranno disattivati.
-Nella maggior parte dei casi automute=100 sarà sufficente.
-Il valore di default è 0 (automute disabilitato).
-.IPs driver=<valore>
-Vedi \-tv driver=help per una lista dei driver di ingresso TV compilati.
-disponibili: dummy, v4l, v4l2, bsdbt848 (default: rilevato automaticamente)
-.IPs device=<valore>
-Specifica il dispositivo TV (default: /dev/\:video0).
-.I NOTA:
-Per il driver bsdbt848 puoi definire sia il nome del dispositivo bktr che quello
-del sintonizzatore (tuner), separandoli con una virgola, il tuner dopo il bktr
-(per es.\& \-tv device=/dev/bktr1,/dev/tuner1).
-.IPs input=<valore>
-Specifica l'ingresso (default: 0 (TV), vedi l'output su console per gli
-ingressi disponibili).
-.IPs freq=<valore>
-Specifica la frequenza del sintonizzatore (p.es.\& 511.250).
-Non è compatibile con il parametro channels.
-.IPs outfmt=<valore>
-Specifica il formato di uscita del sintonizzatore con un valore supportato
-dal driver V4L (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) oppure
-un formato arbitrario selezionato da un valore esadecimale.
-Prova outfmt=help per una lista dei formati disponibili.
-.IPs width=<valore>
-larghezza della finestra di uscita
-.IPs height=<valore>
-altezza della finestra di uscita
-.IPs fps=<valore>
-velocità di cattura del video (fotogrammi al secondo)
-.IPs buffersize=<valore>
-dimensione massima del buffer di cattura in MegaBytes (default: dinamica)
-.IPs norm=<valore>
-Per bsdbt848 e v4l sono disponibili PAL, SECAM e NTSC.
-Per v4l2 controlla l'output su console per una lista di tutte le norme
-disponibili, vedi anche l'opzione normid sotto.
-.IPs "normid=<valore> (solo v4l2)"
-Regola la norma all'ID numerico passato.
-La norma TV dipende dalla scheda di cattura.
-Vedi l'output su console per una lista delle norme TV disponibili.
-.IPs channel=<valore>
-Regola il sintonizzatore sul canale <valore>.
-.IPs chanlist=<valore>
-disponibili: argentina, australia, china-bcast, europe-east, europe-west,
-france, ireland, italy, japan-bcast, japan-cable, newzealand, russia,
-southafrica, us-bcast, us-cable, us-cable-hrc
-.IPs channels=<can>\-<nome>[=<norma>],<can>\-<nome>[=<norma>],...
-Imposta la lista dei canali.
-.I NOTA:
-Se <can> è un intero maggiore di 1000, verrà trattato come fosse una frequenza
-(in kHz) invece che un nome di canale della tabella frequenze.
-.br
-Usa _ per gli spazi nei nomi (o divertiti con il quoting ;-).
-I nomi dei canali verranno scritti usando l'OSD e i comandi slave
-tv_step_channel, tv_set_channel e tv_last_channel saranno utilizzabili per un
-controllo remoto (dai un'occhiata a LIRC).
-Non è compatibile con il parametro frequency.
-.br
-.I NOTA:
-Il numero del canale sarà la posizione nella lista 'channels',
-a partire da 1.
-.br
-.I ESEMPIO:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-Regola l'equalizzazione dell'immagine sulla scheda
-(luminosità|contrasto|tonalità|saturazione).
-.IPs audiorate=<valore>
-Seleziona il bitrate di cattura audio.
-.IPs forceaudio
-Cattura l'audio anche se non c'è nessuna sorgente audio riportata da v4l.
-.IPs "alsa\ "
-Cattura da ALSA.
-.IPs amode=<0\-3>
-Seleziona la modalità audio:
-.RSss
-0: mono
-.br
-1: stereo
-.br
-2: lingua 1
-.br
-3: lingua 2
-.REss
-.IPs forcechan=<1\-2>
-Per default, il conteggio dei canali audio da registrare è determinato
-automaticamente interrogando la modalità audio della scheda TV.
-Questa opzione permette di forzare la registrazione stereo/\:mono indipendentemente
-dall'opzione amode e dai valori riportati da v4l.
-Può essere usato per la risoluzione problemi quando la scheda TV non è capace
-di riportare il modo audio corrente.
-.IPs adevice=<valore>
-Seleziona un dispositivo audio.
-<valore> deve essere /dev/\:xxx per OSS e un ID hardware per ALSA.
-Devi sostituire ogni ':' in '.' quando specifichi l'ID hardware per ALSA.
-Vedi la documentazione per \-ao alsa per trovare come specificare l'ID hardware.
-.IPs audioid=<valore>
-Sceglie una uscita audio della scheda di cattura, se ne ha più di una.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-Queste opzioni regolano i parametri del mixer sulla scheda di cattura
-video.
-Non hanno alcun effetto se la tua scheda non ne ha uno.
-Per v4l2 50 viene mappato sul valore di
-default del rispettivo controllo, come riportato dal driver.
-.IPs "gain=<0\-100> (v4l2)"
-Imposta il controllo del guadagno per i dispositivi video (solitamente webcam)
-al valore voluto e disabilita il controllo automatico.
-Un valore di 0 abilita il controllo automatico.
-Se questa opzione viene omessa, il controllo del guadagno non viene modificato.
-.IPs immediatemode=<boolean>
-Il valore 0 indica di catturare e bufferizzare audio e video insieme
-(default per MEncoder).
-Il valore 1 (default per MPlayer) indica di effettuare solo la cattura
-video e lasciare che l'audio passi attraverso un cavo di loopback
-dalla scheda TV alla scheda audio.
-.IPs mjpeg
-Usa la compressione MJPEG hardware (se la scheda lo supporta).
-Quando si usa questa opzione non è necessario specificare la
-larghezza e l'altezza della finestra di uscita perché MPlayer la
-determinerà automaticamente dal valore di decimation (vedi sotto).
-.IPs decimation=<1|2|4>
-Sceglie la dimensione dell'immagine che verrà creata dall'hardware
-di compressione MJPEG.
-.RSss
-1: dimensione completa
- 704x576 PAL
- 704x480 NTSC
-.br
-2: dimensione media
- 352x288 PAL
- 352x240 NTSC
-.br
-4: dimensione piccola
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-Seleziona la qualità della compressione JPEG
-(per la dimensione completa è raccomandato un valore < 60).
-.IPs tdevice=<valore>
-Specifica il dispositivo televideo (esempio: /dev/\:vbi0) (default: nessuno).
-.IPs tformat=<formato>
-Specifica il formato di visualizzazione del televideo (default: 0):
-.RSss
-0: opaco
-.br
-1: trasparente
-.br
-2: opaco a colori invertiti
-.br
-3: trasparente a colori invertiti
-.REss
-.IPs tpage=<100\-899>
-Specifica la pagina iniziale del televideo TV (default: 100).
-.IPs tlang=<\-1\-127>
-Specifica la lingua di default per il televideo (default: 0), che verrà usata
-come lingua principale fino alla ricezione di un pacchetto di tipo 28.
-Utile quando il sistema televideo usa un set di caratteri non latino, ma i
-codici di lingua per qualche ragion non vengono trasmessi via televideo con
-pacchetti di tipo 28.
-Imposta l'opzione a \-1 per ottenere la lista dei codici di lingua utilizzabili.
-.IPs "hidden_video_renderer (solo dshow)"
-Termina il flusso col renderizzatore video invece che con quello Null
-(default: off).
-Aiuta quando il video si blocca e l'audio no.
-.I NOTA:
-Potrebbe non funzionare con la combinazione di \-vo directx e \-vf crop.
-.IPs "hidden_vp_renderer (solo dshow)"
-Chiude il pin VideoPort col renderizzatore video invece di rimuoverlo dal
-graph (default: off).
-Utile se la tua scheda ha un pin VideoPort e il video è disturbato.
-.I NOTA:
-Potrebbe non funzionare con la combinazione di \-vo directx e \-vf crop.
-.IPs "system_clock (solo dshow)"
-Usa l'orologio di sistema come riferimento per la sincronia invece dell'orologio
-di default di graph (solitamente quello da una delle sorgenti dirette di graph).
-.IPs "normalize_audio_chunks (solo dshow)"
-Crea blocchi audio con una durata uguale alla durata del fotogramma video
-(default: off).
-Alcune schede audio generano blocchi audio di circa 0.5s, che portano video
-disturbato usando immediatemode=0.
-.RE
-.
-.TP
-.B \-tvscan <opzione1:opzione2:...> (solo TV e MPlayer)
-Imposta lo scanner dei canali TV.
-MPlayer emetterà anche dei valori per l'opzione "\-tv channels=", includendo
-canali esistenti e appena trovati.
-.sp 1
-Le sotto opzioni disponibili sono:
-.RSs
-.IPs autostart
-Inizia la ricerca dei canali appena dopo l'avvio (default: disabilitata).
-.IPs period=<0.1\-2.0>
-Specifica il ritardo in secondi prima di passare al canale successivo
-(default: 0.5).
-Valori più bassi accellerano la ricerca, ma possono rilevare canali TV
-inattivi come se fossero attivi.
-.IPs threshold=<1\-100>
-Valore limiti per la potenza del segnale (in percentuale), come riportato dal
-dispositivo (default: 50).
-Un valore di potenza del segnale più alto di questo valore indicherà che il
-canale attualmente rilevato è attivo.
-.RE
-.
-.TP
-.B \-user <nomeutente> (vedi anche \-passwd) (solo rete)
-Specifica il nome utente per l'autenticazione HTTP.
-.
-.TP
-.B \-user\-agent <stringa>
-Utilizza <stringa> come user agent per lo streaming HTTP.
-.
-.TP
-.B \-vid <ID>
-Selezione il canale video (MPG: 0\-15, ASF: 0\-255, MPEG-TS: 17\-8190).
-Nella riproduzione di un flusso MPEG-TS, MPlayer/\:MEncoder userà il
-primo programma (se presente) con il flusso video prescelto.
-.
-.TP
-.B \-vivo <sotto-opzioni> (CODICE DI DEBUG)
-Forza i parametri audio per il demuxer VIVO (per scopi di debug).
-FIXME: Da documentare.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni OSD /\: Sottotitoli
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI OSD/SOTTOTITOLI"
-.I NOTA:
-Vedi anche \-vf expand.
-.
-.TP
-.B \-ass (solo FreeType)
-Abilita la renderizzazione dei sottotitoli SSA/ASS.
-Con questa opzione, verrà usata libass per i sottotitoli SSA/ASS esterni e per
-le tracce Matroska.
-Potresti voler utilizzare anche \-embeddedfonts.
-.br
-.I NOTA:
-Diversamente dagli OSD normali, libass utilizza di default fontconfig.
-Per disabilitarlo, usa \-nofontconfig.
-.
-.TP
-.B \-ass\-border\-color <valore>
-Imposta il colore del bordo (outline) per i sottotitoli testuali.
-Il colore è nel formato RRGGBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <valore>
-Aggiunge un bordo nero nella parte bassa del fotogramma.
-Il renderizzatore SSA/ASS può metter lì i sottotitoli (con \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-color <valore>
-Imposta il colore per i sottotitoli testuali.
-Il colore è nel formato RRGGBBAA.
-.
-.TP
-.B \-ass\-font\-scale <valore>
-Imposta il coefficiente di ridimensionamento da usare per i font nel
-renderizzatore SSA/ASS.
-.
-.TP
-.B \-ass\-force\-style <[Style.]Param=Value[,...]>
-Sovrascrive alcuni parametri dello stile o informazioni dello script.
-.sp
-.I ESEMPIO:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.br
-\-ass\-force\-style PlayResY=768
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <tipo>
-Imposta il tipo di hinting.
-<tipo> può essere:
-.PD 0
-.RSs
-.IPs 0
-nessun hinting
-.IPs 1
-autohinter FreeType, modalità leggera
-.IPs 2
-autohinter FreeType, modalità normale
-.IPs 3
-hinter nativo del font
-.IPs "0-3 + 4"
-Lo stesso, ma l'hinting verrà eseguito solo se l'OSD è renderizzato alla
-risoluzione video e quindi non sarà ridimensionato.
-.RE
-.RSs
-Il valore di default è 7 (usa l'hinter nativo per OSD non ridimensionato e
-nessun hinting negli altri casi).
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <valore>
-Imposta la spaziatura di linea per il renderizzatore SSA/ASS.
-.
-.TP
-.B \-ass\-styles <nomefile>
-Carica tutti gli stili SSA/ASS trovati nel file indicato e li usa per
-renderizzare i sottotitoli testuali.
-La sintassi del file è esattamente come le sezioni [V4 Styles] / [V4+ Styles]
-di SSA/ASS.
-.
-.TP
-.B \-ass\-top\-margin <valore>
-Aggiunge un bordo nero nella parte alta del fotogramma.
-Il renderizzatore SSA/ASS può metter lì i sottotitoli (con \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-use\-margins
-Abilita/disabilita il posizionamento dei sottotitoli nei bordi neri, quando
-questi sono disponibili.
-.
-.TP
-.B \-dumpjacosub (solo MPlayer)
-Converti i sottotitoli (specificati con l'opzione \-sub) nel formato
-dei sottotitoli basato sul tempo JACOsub.
-Crea un file dumpsub.js nella directory corrente.
-.
-.TP
-.B \-dumpmicrodvdsub (solo MPlayer)
-Converti i sottotitoli (specificati con l'opzione \-sub) nel formato
-dei sottotitoli MicroDVD.
-Crea un file dumpsub.sub nella directory corrente.
-.
-.TP
-.B \-dumpmpsub (solo MPlayer)
-Converti i sottotitoli (specificati con l'opzione \-sub) nel formato
-dei sottotitoli di MPlayer, MPsub.
-Crea un file dump.mpsub nella directory corrente.
-.
-.TP
-.B \-dumpsami (solo MPlayer)
-Converti i sottotitoli (specificati con l'opzione \-sub) nel formato
-dei sottotitoli basato sul tempo SAMI.
-Crea un file dumpsub.smi nella directory corrente.
-.
-.TP
-.B \-dumpsrtsub (solo MPlayer)
-Converti i sottotitoli (specificati con l'opzione \-sub) nel formato
-dei sottotitoli basato sul tempo SubViever (SRT).
-Crea un file dumpsub.srt nella directory corrente.
-.br
-.I NOTA:
-Alcuni lettori da tavolo hanno seri problemi con file di sottotitoli con
-terminatori di linea Unix.
-Se sei così sfortunato da possederne uno, filtra i tuoi file dei sottotitoli
-con unix2dos (o un programma simile) per sostituire i terminatori di linea Unix
-con terminatori di linea DOS/Windows.
-.
-.TP
-.B \-dumpsub (solo MPlayer) (CODICE BETA)
-Estrae il flusso dei sottotitoli dai file VOB.
-Vedi anche le opzioni \-dump*sub e \-vobsubout* .
-.
-.TP
-.B \-embeddedfonts (solo FreeType)
-Abilita l'estrazione di font embedded in file Matroska (default: disabilitato).
-Questi font possono essere usati per renderizzare sottotitoli SSA/ASS
-(opzione \-ass).
-I file dei font vengono creati nella directory ~/.mplayer/\:fonts .
-.br
-.I NOTA:
-Con FontConfig 2.4.2 o superiore, i font embedded sono aperti direttamente dalla
-memoria, e questa opzione viene abilitata di default.
-.
-.TP
-.B \-ffactor <numero>
-Ricampionamento della mappatura alpha del font.
-Può essere:
-.PD 0
-.RSs
-.IPs 0
-semplici font bianchi
-.IPs 0.75
-bordo nero del font molto sottile (default)
-.IPs 1
-bordo nero del font sottile
-.IPs 10
-bordo nero del font spesso
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (solo FriBiDi)
-Attiva il flipping dei sottotitoli utilizzando FriBiDi.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-Cambia le assunzioni di FriBiDi sul posizionamento delle virgole nei sottotitoli.
-Utilizzalo se le virgole nei sottotitoli sono visualizzate all'inizio di una
-frase invece che alla fine.
-.
-.TP
-.B \-font <percorso del file font.desc, percorso del font (FreeType), descrizione del font (Fontconfig)>
-Cerca i font per OSD/\:SUB in una directory alternativa (default per i
-font normali: ~/\:.mplayer/\:font/\:font.desc, default per i font FreeType:
-~/.mplayer/\:subfont.ttf).
-.br
-.I NOTA:
-Con FreeType, questa opzione determina il percorso del file del font di testo.
-.br
-Con Fontconfig, questa opzione determina la definizione del font Fontconfig.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.br
-\-font 'Bitstream Vera Sans:style=Bold'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (solo fontconfig)
-Abilita l'utilizzo dei font gestiti da fontconfig.
-.br
-.I NOTA:
-Fontconfig viene usato automaticamente per i sottotitoli di libass e non per
-OSD. Usando \-fontconfig viene utilizzato sia per libass che per OSD, usando
-\-nofontconfig non viene proprio usato.
-.
-.TP
-.B \-forcedsubsonly
-Visualizza solo i sottotitoli forzati (forced subtitles) per il flusso dei
-sottotitoli del DVD specificato ad esempio con \-slang.
-.
-.TP
-.B \-fribidi\-charset <nome del set caratteri> (solo FriBiDi)
-Specifica il charset che sarà passato a FriBiDi quando si decodifica un
-sottotitolo non-UTF8 (default: ISO8859\-8).
-.
-.TP
-.B \-ifo <file IFO VOBsub>
-Indica il file che verrà usato per caricare la palette e la dimensione
-del fotogramma per i sottotitoli VOBsub.
-.
-.TP
-.B \-noautosub
-Disabilita il caricamento automatico dei file dei sottotitoli.
-.
-.TP
-.B \-osd\-duration <tempo>
-Imposta la durata dei messaggi OSD in millisecondi (default: 1000).
-.
-.TP
-.B \-osdlevel <0\-3> (solo MPlayer)
-Specifica in quale modalità deve partire l'OSD.
-.PD 0
-.RSs
-.IPs 0
-solo sottotitoli
-.IPs 1
-volume + posizione (default)
-.IPs 2
-volume + posizione + tempo corrente + percentuale
-.IPs 3
-volume + posizione + tempo corrente + percentuale + tempo totale
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Permette al sottotitolo successivo di essere visualizzato mentre
-quello corrente è ancora visibile (il default è abilitarne il
-supporto solo per formati specifici).
-.
-.TP
-.B \-sid <ID> (vedi anche \-slang, \-vobsubid)
-Visualizza il flusso dei sottotitoli nel linguaggio specificato da <ID> (0\-31).
-MPlayer stampa gli ID disponibili se eseguito in
-modalità verbosa (\-v).
-Se non riesci a selezionare un sottotitolo di un DVD, prova anche \-vobsubid.
-.
-.TP
-.B \-nosub
-Disabilita qualsiasi sottotitolo selezionato automaticamente (cosa che per
-es.\& il demuxer Matroska/mkv implementa).
-.
-.TP
-.B \-slang <codice linguaggio[,codice linguaggio]> (vedi anche \-sid)
-Specifica una lista di priorità dei linguaggi dei sottotitoli da usare.
-Formati contenitore diversi (avi, mov, ...) utilizzano diversi codici dei
-linguaggi.
-I DVD utilizzano i codici a due lettere ISO 639\-1, Matroska utilizza invece
-il codice a tre lettere ISO 639\-2 mentre il formato OGM utilizza un identificatore
-con formato libero.
-MPlayer stampa i linguaggi disponibili se eseguito in
-modalità verbosa (\-v).
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang it,en"
-Seleziona la traccia dei sottotitoli in italiano sul DVD e passa all'inglese
-se l'italiano non è disponibile.
-.IPs "mplayer \-slang jpn example.mkv"
-Visualizza un file Matroska con i sottotitoli in giapponese.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <modalità>
-Modalità di antialias/\:scalatura per DVD/\:VOBsub.
-Il valore 16 può essere aggiunto a <modalità> per forzare la scalatura
-anche quando la dimensione del fotogramma originale e di quello scalato
-corrispondono.
-Questo può essere impiegato per, ad esempio, sfumare i sottotitoli
-con una sfocatura gaussiana.
-Le modalità disponibili sono:
-.PD 0
-.RSs
-.IPs 0
-nessuna (la più veloce, molto brutta)
-.IPs 1
-approssimata (non funziona?)
-.IPs 2
-completo (lenta)
-.IPs 3
-bilineare (default, veloce e non troppo male)
-.IPs 4
-utilizza la sfocatura gaussiana di swscaler (si vede molto bene)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-Specifica come i sottotitoli SPU (DVD/\:VOBsub) devono essere allineati.
-.PD 0
-.RSs
-.IPs "\-1"
-posizione originale
-.IPs " 0"
-allineamento in alto (comportamento originale/\:default)
-.IPs " 1"
-allineamento al centro
-.IPs " 2"
-allineamento in basso
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-Parametro di varianza della sfocatura gaussiana usata da \-spuaa 4.
-Un valore più alto significa maggior sfocatura (default: 1.0).
-.
-.TP
-.B \-sub <filesottotitoli1,filesottotitoli2,...>
-Utilizza/\:visualizza questi file dei sottotitoli.
-Può essere visualizzato solo un file per volta.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-Specifica il valore del canale alpha per i sottotitoli e per lo
-sfondo dell'OSD.
-Valori più grandi indicano maggior trasparenza.
-0 indica trasparenza completa.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-Specifica il valore del colore per i sottotitoli e per lo sfondo dell'OSD.
-Attualmente i sottotitoli sono a scala di grigi e perciò questo valore
-è equivalente all'intensità del colore.
-255 indica bianco e 0 nero.
-.
-.TP
-.B \-sub\-demuxer <[+]nome> (solo \-subfile) (CODICE BETA)
-Forza il nome del demuxer, come indicato da \-sub\-demuxer help.
-Usa un '+' prima del nome per forzarlo, il che eviterà alcuni controlli!
-Per retrocompatibilità accetta anche l'ID del demuxer come definito in
-subreader.h.
-.
-.TP
-.B \-sub\-fuzziness <modalità>
-Controlla il riconoscimento adattivo quando si cercano i sottotitoli.
-.PD 0
-.RSs
-.IPs 0
-Corrispondenza esatta
-.IPs 1
-Carica tutti i sottotitoli che contengono il nome del file.
-.IPs 2
-Carica tutti i sottotitoli nella directory corrente.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Disabilita ogni tipo di post elaborazione sui testi fatto dopo il caricamento
-dei sottotitoli.
-Usato a scopo di debug.
-.
-.TP
-.B \-subalign <0\-2>
-Specifica quale bordo dei sottotitoli debba essere allineato all'altezza
-impostata da \-subpos.
-.PD 0
-.RSs
-.IPs 0
-Allinea al bordo superiore del sottotitolo (comportamento originale).
-.IPs 1
-Allinea al centro del sottotitolo.
-.IPs 2
-Allinea al bordo inferiore del sottotitolo (default).
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-Visualizza i sottotitoli Close Caption (CC) dei DVD.
-Questi
-.B non
-sono i sottotitoli dei VOB, sono sottotitoli speciali in ASCII per
-le persone con danni all'udito codificati nei dati utente del flusso VOB in
-molti DVD della regione 1.
-Fino ad ora non sono ancora stati trovati dei sottotitoli CC in DVD
-di altre regioni.
-.
-.TP
-.B \-subcp <codepage> (solo iconv)
-Se il tuo sistema supporta iconv(3) puoi usare questa opzione per
-specificare la pagina codici (codepage) dei sottotitoli.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<linguaggio>:<pagina codici di riserva> (solo ENCA)
-Puoi specificare il tuo linguaggio utilizzando il codice a due lettere
-per fare in modo che ENCA trovi automaticamente la pagina codici.
-Se non sei sicuro, inserisci qualsiasi cosa e guarda l'uscita di
-mplayer \-v per i linguaggi disponibili.
-La pagina codici di riserva specifica quale deve usare quando il
-riconoscimento automatico non funziona.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Trova la codifica, supponendo che i sottotitoli siano cecoslovacchi,
-passa automaticamente alla modalità latin 2 se non riesce a trovare i
-valori corretti.
-.IPs "\-subcp enca:pl:cp1250"
-Trova la codifica per il polacco, passa (eventualmente) a cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <secondi>
-Ritarda i sottotitoli di <secondi> secondi.
-Può essere negativo.
-.
-.TP
-.B \-subfile <nomefile> (CODICE BETA)
-Attualmente inutile.
-E' lo stesso che \-audiofile, ma per il flusso dei sottotitoli (OggDS?).
-.
-.TP
-.B \-subfont <nomefile> (solo FreeType)
-.B \-subfont <percorso del font (FreeType), descrizione del font (Fontconfig)> (solo FreeType)
-Seleziona il font per i sottotitoli (vedi \-font).
-Se \-subfont non è specificato, viene usato \-font.
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (solo FreeType)
-Attiva la modalità di auto scalatura.
-.br
-.I NOTA:
-0 indica che la scala del testo e dell'OSD sono altezze dei font in punti.
-.sp 1
-Le modalità possono essere:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-niente auto scalatura
-.IPs 1
-proporzionale all'altezza del filmato
-.IPs 2
-proporzionale alla larghezza del filmato
-.IPs 3
-proporzionale alla diagonale del filmato (default)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (solo FreeType)
-Attiva il raggio della sfocatura del font (default: 2).
-.
-.TP
-.B \-subfont\-encoding <valore> (solo FreeType)
-Attiva la codifica del font.
-Quando impostato a 'unicode' verranno disegnati tutti i glifi dal file del font
-e verrà usato l'unicode (default: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (solo FreeType)
-Attiva il coefficiente di auto scalatura degli oggetti dell'OSD (default: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (solo FreeType)
-Seleziona lo spessore del bordo del font (default: 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (solo FreeType)
-Seleziona il coefficiente di auto scalatura del testo dei sottotitoli
-come percentuale della dimensione dello schermo (default: 5).
-.
-.TP
-.B \-subfps <frequenza>
-Specifica la velocità in fotogrammi/\:sec del file dei sottotitoli
-(default: stesso valore di fps del filmato).
-.br
-.I NOTA:
-Con <frequenza> > frequenza del filmato, accellera i sottotitoli basati su
-fotogrammi e rallenta quelli basati sul tempo.
-.
-.TP
-.B \-subpos <0\-100> (utile con \-vf expand)
-Specifica la posizione dei sottotitoli sullo schermo.
-Il valore è la posizione verticale dei sottotitoli in % sull'altezza dello schermo.
-.
-.TP
-.B \-subwidth <10\-100>
-Specifica la larghezza massima dei sottotitoli sullo schermo.
-Utile per l'uscita TV.
-Il valore è l'ampiezza dei sottotitoli in % sulla larghezza dello schermo.
-.
-.TP
-.B \-noterm\-osd
-Disabilita la visualizzazione dei messaggi OSD sulla console, quando non è
-disponibile un'uscita video.
-.
-.TP
-.B \-term\-osd\-esc <sequenza di escape>
-Specifica la sequenza di escape da usare prima di scrivere un messaggio OSD
-sulla console.
-La sequenza di escape dovrebbe portare il puntatore all'inizio della linea
-usata per l'OSD e ripulirla (default: ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-Dice a MPlayer di gestire i sottotitoli come unicode.
-.
-.TP
-.B \-unrarexec <percorso dell'eseguibile unrar> (non supportato in MinGW)
-Specifica il percorso dell'eseguibile unrar affinché MPlayer lo possa usare per
-leggere file VOBsub compressi in rar (default: non impostata, e quindi funzione
-disabilitata).
-Il percorso deve contenere il nome dell'eseguibile, per es.\&
-/usr/local/bin/unrar.
-.
-.TP
-.B "\-utf8 \ \ "
-Dice a MPlayer di gestire il file dei sottotitoli come UTF-8.
-.
-.TP
-.B \-vobsub <file VOBsub senza estensione>
-Specifica il file VOBsub da usare per i sottotitoli.
-Deve essere il percorso completo senza estensione, p.es.\& senza '.idx',
-\'.ifo' o '.sub'.
-.
-.TP
-.B \-vobsubid <0\-31>
-Specifica l'ID del sottotitolo VOBsub.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni di uscita audio
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI DI USCITA AUDIO (SOLO MPLAYER)"
-.
-.TP
-.B \-abs <valore> (solo \-ao oss) (OBSOLETO)
-Sovrascrive la ricerca della dimensione del buffer del driver/\:scheda.
-.
-.TP
-.B \-format <formato> (vedi anche il filtro audio format)
-Seleziona il formato usato per l'uscita dallo strato dei filtri alla
-scheda audio.
-I valori che si possono assegnare a <formato> sono indicati sotto nella
-descrizione del filtro audio format.
-.
-.TP
-.B \-mixer <dispositivo>
-Utilizza un dispositivo del mixer diverso dal default /dev/\:mixer.
-Per ALSA questo è il nome del mixer.
-.
-.TP
-.B \-mixer\-channel <linea mixer>[,indice mixer] (solo \-ao oss e \-ao alsa)
-Questa opzione indica a MPlayer di usare un canale differente dal default
-PCM per controllare il volume.
-Per OSS le opzioni includono
-.B vol, pcm, line.
-Per una lista completa delle opzioni dai un'occhiata a
-SOUND_DEVICE_NAMES in /usr/\:include/\:linux/\:soundcard.h.
-Per ALSA puoi usare i nomi che vengono visualizzati da alsamixer,
-come
-.B Master, Line, PCM.
-.br
-.I NOTA:
-I nomi dei canali del mixer ALSA seguiti da un numero devono essere
-specificati nel formato <nome,numero>, p.es.\& un canale indicato
-come 'PCM 1' in alsamixer deve essere convertito in
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-Forza l'utilizzo del mixer software invece di usare quello della scheda
-sonora.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-Regola il valore massimo del livello di amplificazione in percentuale
-(default: 110).
-Un valore di 200 ti permette di regolare il volume fino ad un massimo
-di due volte il valore corrente.
-Con valori sotto a 100 il volume iniziale (che è 100%) sarà sopra al
-massimo, che, p.es.\&, l'OSD non riuscirà a visualizzare correttamente.
-.
-.TP
-.B \-volstep <0\-100>
-Seleziona l'ampiezza dei passi di cambiamento del volume del mixer
-in percentuale sulla gamma totale (default: 3).
-.
-.TP
-.B \-volume <-1\-100> (vedi anche \-af volume)
-Imposta sul mixer il volume in apertura, sia hardware o software (se usato con
-\-softvol).
-Un valore di -1 (default) non modifica il volume.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Driver di uscita audio
-.\" --------------------------------------------------------------------------
-.
-.SH "DRIVER DI USCITA AUDIO (SOLO MPLAYER)"
-I driver di uscita audio sono interfacce verso le varie possibilità
-di uscita audio.
-La sintassi è
-.
-.TP
-.B \-ao <driver1[:sottoopzione1[=valore]:...],driver2,...[,]>
-Specifica una lista di priorità dei driver di uscita audio da usare.
-.PP
-Se la lista termina con una ',', MPlayer proverà ad usare anche i driver
-non presenti nella lista stessa.
-Le sotto opzioni sono facoltative e possono generalmente essere omesse.
-.br
-.I NOTA:
-Vedi \-ao help per una lista dei driver di uscita audio compilati internamente.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Prova il driver ALSA, poi il driver OSS, poi gli altri.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-Attiva la modalità non bloccante e il nome del dispositivo
-come prima scheda, quarto dispositivo.
-.RE
-.PD 1
-.sp 1
-I driver di uscita audio disponibili sono:
-.
-.TP
-.B "alsa\ \ \ "
-driver di uscita audio ALSA 0.9/1.x
-.PD 0
-.RSs
-.IPs noblock
-Seleziona la modalità noblock (non bloccante).
-.IPs device=<dispositivo)
-Seleziona il nome del dispositivo.
-Sostituisci ogni ',' con '.' ed ogni ':' con '=' nel nome del dispositivo ALSA.
-Se vuoi l'uscita hwac3 attraverso S/PDIF, usa "iec958" o "spdif" come
-dispositivo, a meno che tu non sappia davvero come attivarla correttamente.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-driver di uscita audio ALSA 0.5
-.
-.TP
-.B "oss\ \ \ \ "
-driver di uscita audio OSS
-.PD 0
-.RSs
-.IPs <dispositivo-dsp>
-Seleziona il dispositivo di uscita audio (default: /dev/\:dsp).
-.IPs <dispositivo-mixer>
-Seleziona il dispositivo del mixer audio (default: /dev/\:mixer).
-.IPs <canale-mixer>
-Seleziona il canale del mixer audio (default: pcm).
-.RE
-.PD 1
-.
-.TP
-.B sdl (solo SDL)
-driver di uscita audio molto indipendente dalla piattaforma, che utilizza la
-libreria SDL (Simple Directmedia Layer)
-.PD 0
-.RSs
-.IPs <driver>
-Seleziona esplicitamente il driver audio SDL da usare (default: lascia
-scegliere a SDL).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-uscita audio attraverso il demone aRts
-.
-.TP
-.B "esd\ \ \ \ "
-uscita audio attraverso il demone ESD
-.PD 0
-.RSs
-.IPs <server>
-Seleziona esplicitamente il server ESD da usare (default: localhost).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-uscita audio attraverso JACK (Jack Audio Connection Kit)
-.PD 0
-.RSs
-.IPs port=<nome>
-Si connette alla porta con il nome specificato (default: porta fisica).
-.IPs name=<nome client>
-Il nome del client che viene passato a JACK (default: MPlayer [<PID>]).
-Utile se vuoi che certe connessioni vengano stabilite automaticamente.
-.IPs (no)estimate
-Stima il ritardo audio, dovrebbe rendere la riproduzione video più dolce
-ed uniforme (default: abilitato).
-.IPs (no)autostart
-Avvia automaticamente jackd se necessario (default: disabilitato).
-Nota che ciò sembra poco affidabile e riempie lo stdout di messaggi del server.
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-uscita audio attraverso NAS
-.
-.TP
-.B coreaudio (solo Mac OS X)
-driver di uscita audio nativo per Mac OS X
-.
-.TP
-.B "openal\ "
-driver di uscita audio OpenAL sperimentale
-.
-.TP
-.B "pulse\ \ "
-driver di uscita audio PulseAudio
-.PD 0
-.RSs
-.IPs "[<host>][:<sink di uscita>]"
-Specifica l'host e facoltativamente il sink di uscita da usare.
-Una stringa <host> vuota usa una connessione locale, "localhost" usa
-un trasferimento via rete (molto probabilmente non è quello che vuoi).
-.RE
-.PD 1
-.
-.TP
-.B sgi (solo SGI)
-driver di uscita audio nativo per SGI
-.PD 0
-.RSs
-.IPs "<nome del dispositivo di uscita>"
-Seleziona esplicitamente il dipositivo di uscita/\:l'interfaccia da usare
-(default: default globale del sistema).
-Per esempio, 'Analog Out' o 'Digital Out'.
-.RE
-.PD 1
-.
-.TP
-.B sun (solo Sun)
-driver di uscita audio nativo Sun
-.PD 0
-.RSs
-.IPs <device>
-Seleziona esplicitamente il dispositivo audio da usare (default: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (solo Windows)
-driver di uscita audio nativo waveout di Windows
-.
-.TP
-.B dsound (solo Windows)
-Driver di uscita audio DirectX DirectSound
-.PD 0
-.RSs
-.IPs device=<devicenum>
-Seleziona il numero di dispositivo da utilizzare.
-Riproducendo un file con l'opzione \-v viene visualizzata la lista dei
-dispositivi disponibili.
-.RE
-.PD 1
-.
-.TP
-.B kai (solo OS/2)
-driver di uscita video OS/2 KAI
-.PD 0
-.RSs
-.IPs uniaud
-Forza la modalità UNIAUD.
-.IPs dart
-Forza la modalità DART.
-.IPs (no)share
-Apre l'audio in modalità condivisa o esclusiva.
-.IPs bufsize=<dimensione>
-Imposta la dimensione del buffer a <dimensione> in campioni (default: 2048).
-.RE
-.PD 1
-.
-.TP
-.B dart (solo OS/2)
-driver di uscita video OS/2 DART
-.PD 0
-.RSs
-.IPs (no)share
-Apre Dart in modalità condivisa o esclusiva.
-.IPs bufsize=<dimensione>
-Imposta la dimenzione del buffer a <dimensione> in campioni (default: 2048).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (vedi anche \-dxr2) (solo DXR2)
-Driver di uscita audio specifico per la scheda Creative DXR2
-.
-.TP
-.B ivtv (solo IVTV)
-Driver di uscita audio specifico MPEG per schede IVTV.
-Funziona solo con \-ac hwmpa.
-.
-.TP
-.B v4l2 (richiede un kernel Linux 2.6.22+)
-Driver di uscita audio per schede compatibili V4L2 con decodificatore MPEG
-hardware integrato.
-.
-.TP
-.B mpegpes (solo DVB)
-Driver di uscita audio per schede DVB che scrive l'uscita su un file MPEG-PES
-se non c'è alcuna scheda DVB presente.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Scheda DVB da usare quando non ce n'è una sola.
-Se non specificata MPlayer cercherà la prima scheda utilizzabile.
-.IPs file=<nomefile>
-nome del file di uscita
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-Non produce uscita audio ma mantiene la velocità di riproduzione video.
-Utilizza \-noosund per i test di velocità (benchmarking).
-.
-.TP
-.B "pcm\ \ \ \ "
-Driver di uscita audio grezzo per scrittura di file PCM/\:wave
-.PD 0
-.RSs
-.IPs (no)waveheader
-Inserisce o meno l'intestazione wave (default: intestazione inclusa).
-Se non inclusa verrà generato un file grezzo PCM.
-.IPs file=<nomefile>
-Scrive il suono su <nomefile> invece che sul default
-audiodump.wav.
-Se viene specificato nowaveheader il default è invece audiodump.pcm.
-.IPs "fast\ "
-Prova a scrivere il file più velocemente che in tempo reale (realtime).
-Assicurati che l'uscita non venga troncata (solitamente con un messaggio
-"Troppi pacchetti video nel buffer!").
-E' normale che tu ottenga un messaggio
-"Il tuo sistema è troppo LENTO per questa riproduzione!".
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-driver di uscita audio plugin
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni di uscita video
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI DI USCITA VIDEO (SOLO MPLAYER)"
-.
-.TP
-.B \-adapter <valore>
-Seleziona la scheda grafica che riceverà l'immagine.
-Puoi avere una lista delle schede disponibili se utilizzi questa
-opzione insieme con \-v.
-Attualmente funziona solo con il driver di uscita video directx.
-.
-.TP
-.B \-bpp <profondità>
-Sovrascrive la selezione automatica della profondità colore.
-Supportato solo dai driver di uscita video fbdev, dga, svga e vesa.
-.
-.TP
-.B \-border
-Riproduce il filmato in una finestra con bordi e decorazioni.
-Dato che questo è il default, usa \-noborder per disabilitare le decorazioni
-standard della finestra.
-.
-.TP
-.B \-brightness <\-100\-100>
-Seleziona la luminosità del segnale video (default: 0).
-Non è supportato da tutti i driver video di uscita.
-.
-.TP
-.B \-contrast <\-100\-100>
-Seleziona il contrasto del segnale video (default: 0).
-Non è supportato da tutti i driver video di uscita.
-.
-.TP
-.B \-display <nome> (solo X11)
-Specifica il nome (hostname) ed il numero del display del server X dove
-vuoi visualizzare il filmato.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-Attiva il rendering diretto (non supportato da tutti i codec e uscite video)
-.br
-.I ATTENZIONE:
-Può causare malfunzionamenti dell'OSD/SUB!
-.
-.TP
-.B \-dxr2 <opzione1:opzione2:...>
-Questa opzione è usata per controllare il driver di uscita video dxr2.
-.RSs
-.IPs ar-mode=<valore>
-modalità del rapporto di aspetto (0 = normale, 1 = pan-and-scan, 2 = letterbox (default))
-.IPs iec958-encoded
-Seleziona la modalità di uscita iec958 a codifica.
-.IPs iec958-decoded
-Seleziona la modalità di uscita iec958 a decodifica (default).
-.IPs macrovision=<valore>
-modalità macrovision (0 = niente (default), 1 = agc, 2 = agc 2 strisce di colore,
-3 = agc 4 strisce di colore)
-.IPs "mute\ "
-uscita sonora muta
-.IPs unmute
-riattiva l'uscita sonora
-.IPs ucode=<valore>
-percorso del microcode
-.RE
-.RS
-.sp 1
-.I uscita TV
-.RE
-.RSs
-.IPs 75ire
-abilita il modo di uscita 7.5 IRE
-.IPs no75ire
-disabilita il modo di uscita 7.5 IRE (default)
-.IPs "bw\ \ \ "
-uscita TV in bianco e nero
-.IPs color
-uscita TV a colori (default)
-.IPs interlaced
-uscita TV interlacciata (default)
-.IPs nointerlaced
-disabilita l'uscita TV interlacciata (default)
-.IPs norm=<valore>
-norma TV (ntsc (default), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-attiva il modo pixel a square (quadrato)
-.IPs ccir601-pixel
-attiva il modo pixel a ccir601
-.RE
-.RS
-.sp 1
-.I overlay
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-Seleziona il valore di ritaglio (crop) a sinistra (default: 50).
-.IPs cr-right=<0\-500>
-Seleziona il valore di ritaglio a destra (default: 300).
-.IPs cr-top=<0\-500>
-Seleziona il valore di ritaglio in alto (default: 0).
-.IPs cr-bottom=<0\-500>
-Seleziona il valore di ritaglio in basso (default: 0).
-.IPs ck-[r|g|b]=<0\-255>
-Seleziona il valore di guadagno del color-key del r(osso), g(reen, verde) e b(lu).
-.IPs ck-[r|g|b]min=<0\-255>
-valore minimo per la corrispondente color key
-.IPs ck-[r|g|b]max=<0\-255>
-valore massimo per la corrispondente color key
-.IPs ignore-cache
-Ignora i valori dell'overlay caricati.
-.IPs update-cache
-Aggiorna i valori dell'overlay caricati.
-.IPs ol-osd
-Abilita l'overlay del display su schermo.
-.IPs nool-osd
-Disabilita l'overlay del display su schermo (default).
-.IPs ol[h|w|x|y]-cor=<\-20\-20>
-Aggiusta la dimensione (h,w) e posizione (x,y) dell'overlay nel caso non
-corrispondesse perfettamente alla finestra (default: 0).
-.IPs overlay
-Attiva l'overlay (default).
-.IPs nooverlay
-Attiva l'uscita TV.
-.IPs overlay-ratio=<1\-2500>
-Mette a punto l'overlay (default 1000).
-.RE
-.
-.TP
-.B \-fbmode <modename> (solo \-vo fbdev)
-Cambia la modalità video a quella indicata come <modename> in
-/etc/\:fb.modes.
-.br
-.I NOTA:
-il framebuffer VESA non supporta il cambio della modalità video.
-.
-.TP
-.B \-fbmodeconfig <nomefile> (solo \-vo fbdev)
-Indica il file di configurazione delle modalità video (default: /etc/\:fb.modes).
-.
-.TP
-.B \-fs (vedi anche \-zoom)
-Riproduzione a schermo intero (centra il filmato e mette delle
-barre nere attorno ad esso).
-Non è supportato da tutti i driver di uscita video.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (OBSOLETO, usa l'opzione \-fs)
-Prova questa opzione se hai ancora problemi con i filmati a
-schermo intero.
-.
-.TP
-.B \-fstype <tipo1,tipo2,...> (solo X11)
-Specifica una lista di priorità delle modalità di attivazione
-a schermo intero da usare.
-Puoi negare una modalità prefissandola con `\-`.
-Se hai problemi, ad esempio se la finestra a schermo intero viene
-coperta da altre finestre, puoi provare ad usare un ordine diverso.
-.br
-.I NOTA:
-Vedi \-fstype help per una lista completa delle modalità disponibili.
-.sp 1
-I tipi disponibili sono:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-Utilizza l'hint _NETWM_STATE_ABOVE se disponibile.
-.IPs below
-Utilizza l'hint _NETWM_STATE_BELOW se disponibile.
-.IPs fullscreen
-Utilizza l'hint _NETWM_STATE_FULLSCREEN se disponibile.
-.IPs layer
-Utilizza l'hint _WIN_LAYER con il layer di default.
-.IPs layer=<0...15>
-Utilizza l'hint _WIN_LAYER hint con il numero di layer specificato.
-.IPs netwm
-Forza lo stile NETWM.
-.IPs "none\ "
-Pulisce la lista delle modalità; ne puoi aggiungere per abilitarle dopo.
-.IPs stays_on_top
-Utilizza l'hint _NETWM_STATE_STAYS_ON_TOP se disponibile.
-.REss
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-Ordine di default, verrà usato come modalità di sicurezza se
-vengono specificate delle modalità non supportate o scorrette.
-.IPs \-fullscreen
-Sistema il passaggio a schermo interno con OpenBox 1.x.
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] o [WxH][+x+y]
-Regola dove viene visualizzata l'uscita sullo schermo inizialmente.
-I valori di x ed y sono in pixel misurati dall'angolo alto a sinistra
-dello schermo all'angolo alto a sinistra dell'immagine visualizzata,
-comunque se viene aggiunto il segno di percentuale ad un argomento,
-il valore viene convertito in una percentuale della dimensione
-dello schermo in quella direzione.
-Supporta anche il formato dell'opzione standard di X \-geometry.
-Se viene specificata una finestra esterna utilizzando l'opzione \-wid
-allora le coordinate x ed y sono relative all'angolo in alto a sinistra
-della finestra stessa piuttosto che dello schermo.
-Le coordinate sono relative allo schermo indicato con \-xineramascreen per i
-driver di uscita video che gestiscono completamente \-xineramascreen (direct3d,
-gl, gl2, vdpau, x11, xv, xvmc, corevideo).
-.br
-.I NOTA:
-Questa opzione è supportata dai driver di uscita video x11, xmga, xv, xvmc,
-xvidix, gl, gl2, directx, fbdev, tdfxfb e corevideo.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs 50:40
-Posiziona la finestra a x=50, y=40.
-.IPs 50%:50%
-Posiziona la finestra nel mezzo dello schermo.
-.IPs "100%\ "
-Posiziona la finestra nel mezzo dell'angolo in alto a destra dello schermo
-.IPs 100%:100%
-Posiziona la finestra nell'angolo in basso a destra dello schermo
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <ID finestra> (vedi anche \-wid) (solo GUI)
-Questo indica alla GUI di usare anche una finestra X11 e di collegarsi
-alla parte inferiore del video, che è utile per inserire una mini-GUI in
-un browser (ad esempio con il plugin MPlayer).
-.
-.TP
-.B \-hue <\-100\-100>
-Regola la tonalità del segnale video (default: 0).
-Puoi ottenere dei negativi colorati delle immagini con questa opzione.
-Non è supportata da tutti i driver di uscita video.
-.
-.TP
-.B \-monitor\-dotclock <gamma[,gamma,...]> (solo \-vo fbdev e vesa)
-Specifica la gamma del dotclock o pixelclock del monitor.
-.
-.TP
-.B \-monitor\-hfreq <gamma[,gamma,...]> (solo \-vo fbdev e vesa)
-Specifica la gamma di frequenze orizzontali del monitor.
-.
-.TP
-.B \-monitor\-vfreq <gamma[,gamma,...]> (solo \-vo fbdev e vesa)
-Specifica la gamma di frequenze verticali del monitor.
-.
-.TP
-.B \-monitoraspect <rapporto> (vedi anche \-aspect)
-Seleziona il rapporto di aspetto (aspect ratio) del tuo monitor
-o dello schermo TV.
-Un valore di 0 disabilita un'impostazione precedente
-(per es.\& nel file di configurazione).
-Sovrascrive l'impostazione \-monitorpixelaspect, se abilitata.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-\-monitoraspect 4:3 o 1.3333
-.br
-\-monitoraspect 16:9 o 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <rapporto> (vedi anche \-aspect)
-Seleziona l'aspetto di un singolo pixel del tuo monitor o della TV.
-(default: 1).
-Un valore 1 significa pixel quadrati
-(valore corretto per (quasi?) tutti gli schermi LCD).
-.
-.TP
-.B \-name (solo X11)
-Imposta il nome classe della finestra.
-.
-.TP
-.B \-nodouble
-Disabilita il doppio buffering, fondamentalmente usato a scopi di
-debug.
-Il doppio buffering elimina il tremolio (flicker) memorizzando due
-fotogrammi in memoria e visualizzandone uno mentre decodifica l'altro.
-Può influenzare l'OSD in maniera negativa ma spesso ne rimuove il tremolio.
-.
-.TP
-.B \-nograbpointer
-Non acquisire il puntatore del mouse dopo un cambio di modo video (\-vm),
-utile nel caso di configurazioni con più monitor.
-.
-.TP
-.B \-nokeepaspect
-Non mantenere il rapporto di aspetto quando si ridimensionano le finestre.
-Funziona solo con i driver di uscita video x11, xv, xmga, xvidix e directx.
-Inoltre sotto X11 il tuo gestore delle finestre deve capire gli hint
-dell'aspetto finestra.
-.
-.TP
-.B "\-ontop\ "
-Rende la finestra di visualizzazione del filmato in modalità 'stay on top',
-stai in cima, alle altre finestre.
-Supportato dai driver di uscita video che usano X11, SDL esclusa, così come
-da directx, corevideo, quartz, ggi e gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-Abilita le funzionalità di pan-and-scan (elimina i lati ad esempio di un
-filmato in formato 16:9 per adattarlo ad uno schermo 4:3 senza avere bande
-nere)
-Il parametro controlla quanto dell'immagine viene tagliato.
-Questa opzione funziona solo con i driver di uscita video xv, xmga, mga,
-gl, gl2, quartz, corevideo e xvidix.
-.br
-.I NOTA:
-Sono permessi anche valori compresi tra \-1 e 0, ma sono altamente sperimentali
-e possono portare a crash o peggio.
-Usali a tuo rischio!
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (sperimentale)
-Cambia la gamma della funzionalità pan-and-scan (default: 1).
-Valori positivi indicano multipli della gamma di default.
-Valori negativi indicano che puoi zoomare fino a un fattore di \-panscanrange+1.
-Es. \-panscanrange \-3 permette un fattore di zoom fino a 4.
-Questa funzionalità è sperimentale.
-Non riportare errori a meno che tu non stia usando \-vo gl.
-.
-.TP
-.B \-refreshrate <Hz>
-Attiva la frequenza di aggiornamento del monitor in Hz.
-Attualmente è supportato solo dal driver \-vo directx combinato con
-l'opzione \-vm.
-.
-.TP
-.B \-rootwin
-Visualizza il filmato nella finestra root (lo sfondo del desktop).
-L'immagine di sfondo del desktop può però coprire la finestra del filmato.
-Funziona solo con i driver di uscita video x11, xv, xmga, xvidix, quartz, corevideo e directx.
-.
-.TP
-.B \-saturation <\-100\-100>
-Regola la saturazione del segnale (default: 0).
-Puoi ottenere un'uscita in bianco e nero con questa opzione.
-Non supportato da tutti i driver di uscita video.
-.
-.TP
-.B \-screenh <pixels>
-Specifica l'altezza dello schermo per quei driver di uscita video che
-non conoscono la risoluzione dello schermo come fbdev, x11 e TV-out.
-.
-.TP
-.B \-screenw <pixels>
-Specifica la larghezza dello schermo per quei driver di uscita video che
-non conoscono la risoluzione dello schermo come fbdev, x11 e TV-out.
-.
-.TP
-.B \-stop\-xscreensaver (solo X11)
-Disattiva il salvaschermo di X alla partenza e lo riattiva all'uscita.
-Se il tuo salvaschermo non gestisce né la API XSS né XResetScreenSaver,
-perfavore usa al suo posto \-heartbeat\-cmd.
-.
-.TP
-.B \-title (vedi anche \-use\-filename\-title)
-Imposta il titolo della finestra.
-Gestito dai driver di uscita video basati su X11.
-.
-.TP
-.B \-use\-filename\-title (vedi anche \-title)
-Imposta il titolo della finestra usando il nome del file multimediale, se non
-è stato impostato con \-title.
-Gestito dai driver di uscita video basati su X11.
-.
-.TP
-.B "\-vm \ \ \ "
-Cerca di cambiare in un modalità video differente.
-Supportato dai driver di uscita video dga, x11, xv, sdl e directx.
-Se è usato con il driver di uscita video directx allora si possono usare
-le opzioni \-screenw, \-screenh, \-bpp e \-refreshrate per selezionare
-le caratteristiche della nuova modalità.
-.
-.TP
-.B "\-vsync \ \ "
-Abilita il VBI per i driver di uscita video vesa, dfbmga e svga.
-.
-.TP
-.B \-wid <ID finestra> (vedi anche \-guiwid) (solo X11, OpenGL e DirectX)
-Dice ad MPlayer di collegarsi ad una finestra già esistente.
-Utile per 'incastrare' MPlayer in un browser (p.es.\& con l'estensione
-plugger).
-Quest'opzione riempie completamente la finestra indicata, quindi rapporto di
-aspetto, panscan, etc non vengono più gestite da MPlayer, ma devono esser
-gestire dall'applicazione che ha creato la finestra.
-.
-.TP
-.B \-xineramascreen <\-2\-...>
-In configurazioni con Xinerama (p.es.\& un singolo desktop che si espande su
-monitor multipli) questa opzione indica a MPlayer su quale schermo deve
-visualizzare il filmato.
-Un valore di \-2 significa a schermo intero su tutto lo schermo virtuale (in
-questo caso l'informazione Xinerama viene completamente ignorata),
-\-1 significa a schermo intero sullo schermo in cui è attualmente posizionata
-la finestra.
-La posizione iniziale selezionata con l'opzione \-geometry è relativa allo
-schermo specificato.
-Funzionerà solitamente solo con "\-fstype \-fullscreen" o "\-fstype none".
-Quest'opzione non è utilizzabile per impostare solo la schermata di avvio
-(dato che si aprirà sempre a tutto schermo sullo schermo indicato), per far
-ciò la miglior opzione attualmente disponibilie è \-geometry.
-Supportata almeno dai driver di uscita video direct3d, gl, gl2, x11, xv e
-corevideo.
-.
-.TP
-.B \-zrbw (solo \-vo zr)
-Visualizza in bianco e nero.
-Per ottenere prestazioni ottimali, questa opzione può essere combinata
-con `\-lavdopts gray'.
-.
-.TP
-.B \-zrcrop <[larghezza]x[altezza]+[scostam x]+[scostam y]> (solo \-vo zr)
-Seleziona una parte dell'immagine per la visualizzazione, occorrenze
-multiple di questa opzione attivano la modalità cinerama.
-In modalità cinerama il filmato viene distribuito su più di una TV
-(o proiettore) per creare un'immagine più larga.
-Le opzioni che appaiono dono la n-esima \-zrcrop si riferiscono alla
-n-esima scheda MJPEG, ogni scheda deve avere almeno un \-zrdev oltre
-a \-zrcrop.
-Per esempi dai un'occhiata a quello che stampa l'opzione \-zrhelp e
-la sezione riguardante Zr nella documentazione.
-.
-.TP
-.B \-zrdev <dispositivo> (solo \-vo zr)
-Specifica il file speciale del dispositivo che appartiene alla tua scheda
-MJPEG, per default il driver di uscita video zr prende il primo dispositivo
-v4l che riesce a trovare.
-.
-.TP
-.B \-zrfd (solo \-vo zr)
-Forza la decimazione. La decimazione, come specificata da \-zrhdec e \-zrvdec,
-viene eseguita solo se lo scalatore hardware riesce a riportare l'immagine
-alle sue dimensioni originali.
-Usa questa opzione per forzare la decimazione.
-.
-.TP
-.B \-zrhdec <1|2|4> (solo \-vo zr)
-Decimazione orizzontale: Chiede al driver di mandare solo una ogni
-2 o 4 linee/\:pixel dell'immagine di ingresso alla scheda MJPEG, dopodiché
-viene utilizzato lo scalatore hardware della scheda stessa per riportare
-l'immagine alle sue dimensioni originali.
-.
-.TP
-.B \-zrhelp (solo \-vo zr)
-Visualizza una lista di tutte le opzioni \-zr*, i loro valori di default ed
-un esempio di modalità cinerama.
-.
-.TP
-.B \-zrnorm <norma> (solo \-vo zr)
-Specifica la norma TV come PAL o NTSC (default: nessun cambiamento).
-.
-.TP
-.B \-zrquality <1\-20> (solo \-vo zr)
-Un numero da 1 (migliore) a 20 (peggiore) che rappresenta la qualità della
-codifica JPEG.
-.
-.TP
-.B \-zrvdec <1|2|4> (solo \-vo zr)
-Decimazione verticale. Chiede al driver di mandare solo una ogni
-2 o 4 linee/\:pixel dell'immagine di ingresso alla scheda MJPEG, dopodiché
-viene utilizzato lo scalatore hardware della scheda stessa per riportare
-l'immagine alle sue dimensioni originali.
-.
-.TP
-.B \-zrxdoff <scostamento x visualizzazione> (solo \-vo zr)
-Se il filmato è più piccolo dello schermo TV, questa opzione specifica
-la posizione sull'asse x, relativa all'angolo in alto a sinistra dello
-schermo (default: centrato).
-.
-.TP
-.B \-zrydoff <scostamento y visualizzazione> (solo \-vo zr)
-Se il filmato è più piccolo dello schermo TV, questa opzione specifica
-la posizione sull'asse y, relativa all'angolo in alto a sinistra dello
-schermo (default: centrato).
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Driver di uscita video
-.\" --------------------------------------------------------------------------
-.
-.SH "DRIVER DI USCITA VIDEO (SOLO MPLAYER)"
-I driver di uscita video sono interfacce alle differenti
-possibilità di uscita video.
-La sintassi è:
-.
-.TP
-.B \-vo <driver1[:sottoopzione1[=valore]:...],driver2,...[,]>
-Specifica una lista di priorità dei driver di uscita video da usare.
-.PP
-Se la lista termina con una ',', MPlayer proverà ad usare anche i driver non
-presenti nella lista stessa.
-Le sotto opzioni sono facoltative e possono generalmente essere omesse.
-.br
-.I NOTA:
-Vedi \-vo help per una lista dei driver di uscita video compilati internamente.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Prova il driver X11 Matrox, poi il driver Xv, poi gli altri.
-.IPs "\-vo directx:noaccel"
-Usa il driver DirectX con le accelerazioni disabilitate.
-.RE
-.PD 1
-.sp 1
-I driver di uscita video disponibili sono:
-.
-.TP
-.B xv (solo X11)
-Use l'estensione XVideo di XFree86 4.x per abilitare la
-riproduzione con accelerazione hardware.
-Se non puoi usare un driver specifico per il tuo hardware,
-questa è probabilmente l'opzione migliore.
-Per informazioni su quale colorkey viene usato e come viene disegnato,
-esegui MPlayer con l'opzione \-v e dai un'occhiata alle linee segnate
-con [xv common] all'inizio.
-.PD 0
-.RSs
-.IPs adaptor=<numero>
-Seleziona un adattatore XVideo specifico (vedi l'emissione di xvinfo).
-.IPs port=<numero>
-Seleziona una porta XVideo specifica.
-.IPs ck=<cur|use|set>
-Seleziona la sorgente da cui viene preso il colorkey (default: cur).
-.RSss
-.IPs cur
-Il default prende il colorkey correntemente configurato in Xv.
-.IPs use
-Utilizza ma non imposta il colorkey da MPlayer (utilizza l'opzione \-colorkey
-per cambiarlo).
-.IPs set
-Uguale a use ma imposta anche il colorkey fornito.
-.RE
-.IPs ck-method=<man|bg|auto>
-Imposta la modalità di disegno del colorkey (default: man).
-.RSss
-.IPs man
-Disegna il colorkey manualmente (riduce lo sfarfallio in alcuni casi).
-.IPs bg
-Imposta il colorkey come lo sfondo della finestra.
-.IPs auto
-Lascia che sia Xv a disegnare il colorkey.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (solo X11)
-Driver di uscita video con memoria condivisa senza accelerazione
-hardware che funziona ovunque sia presente X11.
-.
-.TP
-.B xover (solo X11)
-Aggiunge il supporto X11 a tutti i driver di uscita video basati sull'overlay.
-Attualmente è supportato solo da tdfx_vid.
-.PD 0
-.RSs
-.IPs <vo_driver>
-Seleziona il driver da usare come sorgente dell'overlay da utilizzare con X11.
-.RE
-.PD 1
-.
-.TP
-.B xvmc (solo X11 con \-vc ffmpeg12mc)
-Driver di uscita video che utilizza le estensioni XvMC (X
-Video Motion Compensation) di XFree86 4.x. per velocizzare la decodifica
-dei formati MPEG-1/2 e VCR2.
-.PD 0
-.RSs
-.IPs adaptor=<numero>
-Seleziona un adattatore XVideo specifico (vedi l'emissione di xvinfo).
-.IPs port=<numero>
-Seleziona una porta XVideo specifica.
-.IPs (no)benchmark
-Disabilita la visualizzazione delle immagini.
-Necessario per effettuare dei test corretti con quei driver che
-cambiano i buffer delle immagini solo sul ritracciamento verticale del
-monitor (nVidia).
-Il default non disabilita la visualizzazione dell'immagine (nobenchmark).
-.IPs (no)bobdeint
-Deinterlacciatore molto semplice.
-Potrebbe non risultare migliore di \-vf tfields=1, ma è l'unico
-deinterlacciatore per xvmc (default: nobobdeint).
-.IPs (no)queue
-Mette in coda i fotogrammi da visualizzare per permettere un miglior lavoro
-in parallelo dell'hardware video.
-Può aggiungere una piccola (non distinguibile) desincronizzazione costante
-del flusso A/V (default: noqueue).
-.IPs (no)sleep
-Utilizza la funzione sleep mentre aspetta che finisca la visualizzazione
-(non consigliato in Linux) (default: nosleep).
-.IPs ck=cur|use|set
-E' lo stesso che \-vo xv:ck (vedi \-vo xv).
-.IPs ck-method=man|bg|auto
-E' lo stesso che \-vo xv:ck-method (vedi \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B vdpau (con \-vc ffmpeg12vdpau, ffwmv3vdpau, ffvc1vdpau, ffh264vdpau
-o ffodivxvdpau)
-Driver di uscita video che usa VDPAU per la docodifica video via hardware.
-Gestisce anche la visualizzazione di video decodificato via software.
-.PD 0
-.RSs
-.IPs sharpen=<\-1\-1>
-Per valori positivi applica un algoritmo di messa a fuoco,
-per valori negativi un algoritmo di sfocatura (default: 0).
-.IPs denoise=<0\-1>
-Applica al video un algoritmo di riduzione del disturbo (default: 0, nessuna
-riduzione).
-.IPs deint=<0\-4>
-Sceglie il deinterlacciatore (default: 0).
-Tutte le modalità > 0 rispettano \-field\-dominance.
-.RSss
-.IPs 0
-nessun deinterlacciamento
-.IPs 1
-Mostra solo il primo campo, simile a \-vf field.
-.IPs 2
-deinterlacciatore molto semplice, simile a \-vf tfields=1
-.IPs 3
-Deinterlacciamento temporale adattivo al movimento.
-Può portare desincronizzazione A/V con hardware video lento e/o alte
-risoluzioni.
-E' il default se si usa "D" per deinterlacciare.
-.IPs 4
-Deinterlacciamento temporale adattivo al movimento, con interpolazione spaziale
-legata ai bordi.
-Richiede harware video veloce.
-.RE
-.IPs chroma\-deint
-Fa sì che i deinterlacciatori temporali operino sia sulla luminosità che sulla
-crominanza (default).
-Usa nochroma\-deint per usare solo la luminanza ed accellerare il
-deinterlacciamento avanzato.
-Utile con memoria video lenta.
-.IPs pullup
-Cerca di evitare il deinterlacciamento per i fotogrammi progressivi, utile per
-guardare contenuto in telecine, ha bisogno di hardware video veloce per alte
-risoluzioni.
-Funziona solo con un deinterlacciamento temporale adattivo al movimento.
-.IPs colorspace
-Seleziona lo spazio colore per la conversione da YUV a RGB (default: 1, BT.601).
-In linea di massima si dovrebbero usare BT.601 per contenuto con una
-definizione standard (SD) e BT.709 per contenuto ad alta definizione (HD).
-L'utilizzo di uno spazio colore errato può portare colori leggermente saturati
-o spostati verso l'alto o il basso.
-.RSss
-.IPs 0
-Prova ad indovinare lo spazio colore in base alla risoluzione video.
-Un video con larghezza >= 1280 o altezza > 576 viene considerato come HD e
-verrà usato lo spazio colore BT.709.
-.IPs 1
-Usa lo spazio colore ITU-R BT.601 (default).
-.IPs 2
-Usa lo spazio colore ITU-R BT.709.
-.IPs 3
-Usa lo spazio colore SMPTE-240M.
-.RE
-.IPs hqscaling
-.RSss
-.IPs 0
-Utilizza la scalatura di default di VDPAU (default).
-.IPs 1\-9
-Applica la scalatura VDPAU ad alta qualità (serve hardware abbastanza potente).
-.RE
-.IPs force\-mixer
-Forza l'utilizzo del mixer VDPAU, che implementa tutte le opzioni di cui sopra
-(default).
-Usa noforce\-mixer per permettere la visualizzazione dello spazio colore BGRA.
-(Se viene usato il formato immagine BGRA, disabilita tutte le opzioni sopra e
-l'equalizzatore hardware.)
-.RE
-.PD 1
-.
-.TP
-.B dga (solo X11)
-Riproduce il video utilizzando l'estensione Direct Graphics
-Access di XFree86.
-Considerato obsoleto.
-.
-.TP
-.B sdl (solo SDL, vecchio/con problemi)
-Driver di uscita video molto indipendente dalla piattaforma basato sulla
-libreria SDL (Simple Directmedia Layer).
-Visto che la libreria SDL utilizza la propria gestione di X11 le opzioni
-relative ad X11 di MPlayer non avranno effetto se si utilizza questo driver
-di uscita video.
-Da notare che ha vari piccoli problemi (\-vm/\-novm viene solitamente ignorata,
-\-fs si comporta come dovrebbe fare \-novm, la finestra rimane in alto a
-sinistra uscendo dalla modalità a schermo intero, panscan non è gestito, ...).
-.PD 0
-.RSs
-.IPs driver=<driver>
-Seleziona esplicitamente il driver SDL da usare.
-.IPs (no)forcexv
-Utilizza XVideo attraverso il driver di uscita video sdl (default: forcexv)
-.IPs (no)hwaccel
-Utilizza uno scalatore accelerato in hardware (default: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX) è un'interfaccia verso
-le caratteristiche di accelerazione delle varie schede grafiche.
-Driver di uscita video molto veloce su schede che lo supportano.
-.PD 0
-.RSs
-.IPs <sottodispositivo>
-Seleziona in modo esplicito il sotto dispositivo VIDIX da usare.
-I driver disponibili sono cyberblade, ivtv, mach64,
-mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
-sis_vid e unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (solo X11)
-Interfaccia VIDIX per X11.
-.PD 0
-.RSs
-.IPs <sottodispositivo>
-Uguale a vidix
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-Interfaccia di VIDIX generica ed indipendente dalla piattaforma, può
-girare persino in una console testuale con schede nVidia.
-.PD 0
-.RSs
-.IPs <sottodispositivo>
-Uguale a vidix
-.RE
-.PD 1
-.
-.TP
-.B winvidix (solo Windows)
-Interfaccia VIDIX per Windows.
-.PD 0
-.RSs
-.IPs <sottodispositivo>
-Uguale a vidix
-.RE
-.PD 1
-.
-.TP
-.B direct3d (solo Windows) (CODICE BETA!)
-Driver di uscita video che usa l'interfaccia Direct3D (utile per Vista).
-.
-.TP
-.B directx (solo Windows)
-Driver di uscita video che utilizza l'interfaccia DirectX.
-.PD 0
-.RSs
-.IPs noaccel
-Disabilita l'accelerazione hardware.
-Prova questa opzione se hai problemi di visualizzazione.
-.RE
-.PD 1
-.
-.TP
-.B kva (solo OS/2)
-Driver di uscita video che usa l'interfaccia libkva.
-.PD 0
-.RSs
-.IPs snap
-Forza la modalità SNAP.
-.IPs wo
-Forza la modalità WarpOverlay!.
-.IPs dive
-Forza la modalità DIVE.
-.IPs (no)t23
-Abilita o disabilita i workaround per il laptop T23 (default: disabilita).
-Prova ad abilitare questa opzione se la tua scheda video supporta solo
-l'ingrandimento.
-.RE
-.PD 1
-.
-.TP
-.B quartz (solo Mac OS X)
-Driver di uscita video per Quartz su Mac OS X.
-In certi casi potrebbe essere più efficiente forzare un formato di
-uscita YUV packed, con ad esempio\& \-vf format=yuy2.
-.PD 0
-.RSs
-.IPs device_id=<numero>
-Seleziona il dispositivo di visualizzazione da usare a schermo intero.
-.IPs fs_res=<larghezza>:<altezza>
-Specifica la risoluzione a schermo intero (utile su sistemi lenti).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 oppure 10.3.9 con QuickTime 7)
-Driver di uscita video Mac OS X CoreVideo.
-.PD 0
-.RSs
-.IPs device_id=<numero>
-Seleziona il dispositivo di visualizzazione da usare a schermo intero o
-impostalo a \-1 per usare sempre lo stesso schermo su cui sta la finestra del
-video (default: \-1 \- automatico).
-.IPs shared_buffer
-Scrive l'uscita su un buffer di memoria condivisa, invece di mostrarla e cercare
-di aprire una connessione NSConnection esistente per comunicare con una GUI.
-.IPs buffer_name=<nome>
-Nome del buffer condiviso creato con shm_open e il nome della connessione
-NSConnection che MPlayer cercherà di aprire (default: "mplayerosx").
-Impostare buffer_name abilita implicitamente shared_buffer.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (solo Linux)
-Utilizza il framebuffer del kernel per l'uscita video.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il nome del dispositivo fbdev da usare (p.es.\&
-/dev/\:fb0) oppure il nome del sotto dispositivo VIDIX se il nome comincia
-con 'vidix' (p.es.\& 'vidixsis_vid' per il driver sis).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (solo Linux)
-Utilizza il framebuffer del kernel per l'uscita video,
-implementazione alternativa.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il nome del dispositivo fbdev da usare (default:
-/dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Driver di uscita video molto generico che dovrebbe funzionare su qualsiasi
-scheda compatibile con VESA VBE 2.0.
-.PD 0
-.RSs
-.IPs (no)dga
-Attiva/disattiva la modalità DGA (default: attiva).
-.IPs neotv_pal
-Attiva l'uscita TV di NeoMagic e seleziona la norma PAL.
-.IPs neotv_ntsc
-Attiva l'uscita TV di NeoMagic e seleziona la norma NTSC.
-.IPs vidix
-Utilizza il driver VIDIX.
-.IPs "lvo:\ \ \ "
-Attiva Linux Video Overlay sopra la modalità VESA.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-Visualizza il video usando la libreria SVGA.
-.PD 0
-.RSs
-.IPs "<modalità video>"
-Specifica la modalità video da usare.
-La modalità può esser data nel formato <larghezza>x<altezza>x<colori>,
-p.es.\& 640x480x16M o può essere un numero di modalità grafica, p.es.\& 84.
-.IPs bbosd
-Disegna l'OSD nelle bande nere sotto al filmato (più lento).
-.IPs native
-Utilizza solo funzioni di disegno native.
-Questo evita il rendering diretto, l'OSD e l'accelerazione hardware.
-.IPs retrace
-Forza il cambio di fotogramma sul ritracciamento verticale.
-Utilizzabile solo con \-double.
-Ha lo stesso effetto dell'opzione \-vsync.
-.IPs "sq\ \ \ "
-Prova a selezionare una modalità video con pixel quadrati.
-.IPs vidix
-Utilizza svga con VIDIX.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-Driver di uscita video OpenGL.
-La dimensione del video deve essere minore della dimensione massima delle
-texture della vostra implementazione OpenGL.
-Studiato per funzionare anche con l'implementazione OpenGl più basilare,
-ma usa pure estensioni recenti e nuove, che permettono di usare più spazi
-colore e il rendering diretto.
-Per una velocità ottimale prova ad usare qualcosa simile a
-.br
-\-vo gl:yuv=2:rectangle=2:force\-pbo:ati\-hack \-dr \-noslices
-.br
-Questa parte di codice implementa pochi controlli percio' se una
-caratteristica non funziona potrebbe non essere supportata dalla
-tua scheda o dalla tua implementazione OpenGL anche se non viene
-visualizzato nemmeno un messaggio di errore.
-Utilizza glxinfo oppure uno strumento simile per visualizzare le estensioni
-supportate dalla vostra implementazione OpenGL.
-.PD 0
-.RSs
-.IPs (no)ati\-hack
-I driver ATI possono fornire un immagine corrotta quando si usano i PBO (usando
-\-dr o force\-pbo).
-Questa opzione corregge questo comportamento, utilizzando un po' più di memoria.
-.IPs (no)force\-pbo
-Usa sempre i PBO per trasferire le texture, anche se ciò implica un'ulteriore
-copia.
-Attualmente incrementa di poco la velocità con i driver NVidia e molto con i
-driver ATI.
-Per funzionare correttamente può aver bisogno delle sotto-opzioni \-noslices e
-di ati\-hack.
-.IPs (no)scaled-osd
-Cambia il modo in cui l'OSD si comporta quando cambia la dimensione della
-finestra (default: disabilitato).
-Se abilitato si comporta di più come gli altri driver di uscita video,
-il che è meglio per font di dimensione fissa.
-Se disabilitato appare molto meglio con i font FreeType ed utilizza
-i bordi nella modalità a schermo intero.
-Non funziona correttamente con sottotitoli ass (vedi \-ass), puoi tuttavia
-renderizzarli senza il supporto OpenGL attraverso \-vf ass.
-.IPs osdcolor=<0xAARRGGBB>
-Colore per l'OSD (default: 0x00ffffff, che corrisponde al bianco opaco).
-.IPs rectangle=<0,1,2>
-Abilita l'utilizzo di texture rettangolari, fatto che risparmia RAM video
-ma è spesso più lento (default: 0).
-.RSss
-0: Usa texture alla potenza di 2 (power-of-two) (default).
-.br
-1: Usa texture rettangolari (estensione GL_ARB_texture_rectangle), non
-compatibile con conversione YUV hardware.
-.br
-2: Usa texture non alla potenza di 2 (estensione
-GL_ARB_texture_non_power_of_two).
-In alcuni casi è supportato solo via software, quindi molto lento.
-.RE
-.IPs swapinterval=<n>
-Intervallo minimo, in fotogrammi visualizzati, tra due scambi di buffer
-(default: 1).
-1 equivale ad abilitare VSYNC, 0 a disabilitarlo.
-Valori minori di 0 saranno ignorati e verrà usato il default del sistema.
-Questo limita la frequenza di aggiornamento a (frequenza rinfresco
-orizzontale / n).
-Richiede il supporto GLX_SGI_swap_control per funzionare.
-Con alcune (la maggior parte/tutte?) implementazioni funziona sono in modalità
-a schermo intero.
-.IPs ycbcr
-Usa l'estenzione GL_MESA_ycbcr_texture per convertire da YUV a RGB.
-Nella maggior parte dei casi è probabilmente più lento di una conversione
-software verso RGB.
-.IPs yuv=<n>
-Seleziona il tipo di conversione da YUV a RGB.
-Il default è una selezione automatica tra i valori 0 e 2.
-.RSss
-0: Usa conversione software.
-Compatibile con tutte le versioni di OpenGL.
-Fornisce controllo di luminosità, contrasto e saturazione.
-.br
-1: Usa combinatori di registro.
-Questa modalità utilizza un'estensione particolare nVidia
-(GL_NV_register_combiners).
-Servono almeno tre unità di texture.
-Fornisce controllo di saturazione e tonalità.
-Questo metodo è veloce ma impreciso.
-.br
-2: Usa un programma di frammentazione.
-Richiede l'estensione GL_ARB_fragment_program e almeno tre unità di texture.
-Fornisce controllo di luminosità, contrasto, saturazione e tonalità.
-.br
-3: Usa un programma di frammentazione attraverso l'istruzione POW.
-Richiede l'estensione GL_ARB_fragment_program e almeno tre unità di texture.
-Fornisce controllo di luminosità, contrasto, saturazione, tonalità e gamma.
-La gamma può venire impostata indipendentemente per rosso, verde e blu.
-Il metodo 4 è solitamente più veloce.
-.br
-4: Usa un programma di frammentazione con ricerca supplementare.
-Richiede l'estensione GL_ARB_fragment_program e almeno quattro unità di texture.
-Fornisce controllo di luminosità, contrasto, saturazione, tonalità e gamma.
-La gamma può venire impostata indipendentemente per rosso, verde e blu.
-.br
-5: Usa una funzione specifica ATI (per schede più vecchie).
-Questa modalità usa un'estensione specifica ATI (GL_ATI_fragment_shader \- non
-GL_ARB_fragment_shader!).
-Servono almeno tre unità di texture.
-Fornisce controllo di saturazione e tonalità.
-Questo metodo è veloce ma impreciso.
-.br
-6: Usa una texture 3D per effettuare la conversione attraverso lookup.
-Richiede l'estensione GL_ARB_fragment_program ed almeno 4 unità di texture.
-Estremamente lento (emulazione software) su alcune (tutte?) schede ATI, visto
-che usa una texture con pixel sul bordo.
-Fornisce controllo di luminosità, contrasto, saturazione, tonalità e gamma.
-La gamma può essere impostata indipendentemente per rosso, verde e blu.
-La velocità dipende più dall'ampiezza di memoria della GPU rispetto agli altri
-metodi.
-.RE
-.IPs colorspace
-Seleziona lo spazio colore per la conversione da YUV a RGB.
-.RSss
-.IPs 0
-Utilizza la formula usata solitamente da MPlayer (default).
-.IPs 1
-Usa uno spazio colore ITU-R BT.601.
-.IPs 2
-Usa uno spazio colore ITU-R BT.709.
-.IPs 3
-Usa uno spazio colore SMPTE-240M.
-.RE
-.IPs levelconv=<n>
-Seleziona il livello di luminosità da usare per la conversione da YUV a RGB.
-.RSss
-.IPs 0
-Converte da livelli TV a PC (default).
-.IPs 1
-Converte da livelli PC a TV.
-.IPs 2
-Non effettua alcuna conversione.
-.RE
-.IPs lscale=<n>
-Seleziona la funzione di ridimensionamento da usare per il ridimensionamento
-della luminanza.
-Valida solo per modalità yuv 2, 3, 4 e 6.
-.RSss
-0: Usa un filtraggio lineare semplice (default).
-.br
-1: Usa un filtraggio bicubico B-spline (migliore qualità).
-Richiede un'unità supplementare di texture.
-Schede video vecchie non saranno in grado di gestire questo per la crominanza,
-perlomeno in modalità a schermo intero.
-.br
-2: Usa un filtraggio cubico in direzione orizzontale, un filtraggio lineare su
-quella verticale.
-Funziona su meno schede che il metodo 1.
-.br
-3: Uguale a 1, ma non usa una texture supplementare.
-Potrebbe essere più veloce su alcune schede.
-.br
-4: Usa una maschera sperimentale di eliminazione particolari (unsharp) con
-dimensione 3x3 e valore 0.5.
-.br
-5: Usa una maschera sperimentale di eliminazione particolari (unsharp) con
-dimensione 5x5 e valore 0.5.
-.RE
-.IPs cscale=<n>
-Seleziona la funzione di ridimensionamento da usare per il ridimensionamento
-della crominanza.
-.IPs customprog=<nomefile>
-Carica un programma personalizzato di frammentazione da <nomefile>.
-Vedi TOOLS/edgedect.fp come esempio.
-.IPs customtex=<nomefile>
-Carica una texture "gamma ramp" personalizzata da <nomefile>.
-Questo può essere usato insieme con yuv=4 oppure con l'opzione customprog.
-.IPs (no)customtlin
-Se abilitata (default) usa l'interpolazione GL_LINEAR, se no usa quella
-GL_NEAREST per la texture 'customtex'.
-.IPs (no)customtrect
-Se abilitata, usa texture_rectangle per la texture 'customtex'.
-Disabilitata di default.
-.IPs (no)mipmapgen
-Se abilitata, vengono generate automaticamente delle mipmap per il video.
-Questo dovrebbe essere utile insieme con customprog e con l'istruzione TXB per
-implementare filtri di sfocatura con un raggio ampio.
-Per la maggior parte delle implementazioni OpenGL è molto lento per un
-qualsiasi formato non RGB.
-Disabilitata di default.
-.RE
-.sp 1
-.RS
-Normalmente non c'è ragione alcuna di utilizzare le opzioni seguenti, esse
-esistono principalmente per finalità di debug.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-Invoca glFinish() prima di invertire i buffer.
-Più lento ma in alcuni casi l'uscita è più corretta (default: disabilitato).
-.IPs (no)manyfmts
-Abilita il supporto per più formati colore (RGB e BGR) (default: abilitato).
-Necessita di OpenGL con versione >= 1.2.
-.IPs slice-height=<0\-...>
-Numero di linee copiate sulla texture in un blocco unico (default: 0).
-0 per l'immagine intera.
-.br
-.I NOTA:
-Se è usato lo spazio colore YUV (vedi sottopzione yuv), vigono speciali regole:
-.RSss
-Se il decodificatore usa lo "slice rendering" (vedi \-noslices), questa
-impostazione non ha effetto, e viene usata la dimensione slice fornita dal
-decodificatore.
-.br
-Se il decodificatore non usa "slice rendering", il default è 16.
-.RE
-.IPs (no)osd
-Abilita o disabilita il supporto per il rendering dell'OSD via OpenGL
-(default: abilitato).
-Questa opzione è utile per test, usa \-osdlevel 0 per disabilitare l'OSD.
-.IPs (no)aspect
-Abilita o disabilita la scalatura dell'aspetto ed il supporto per il
-pan-and-scan (default: abilitato).
-Disabilitarlo può incrementare la velocità.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Driver alternativo di uscita video OpenGL.
-Supporta video più grandi della dimensione massima della texture, ma manca di
-molte funzionalità avanzate e ottimizzazioni rispetto al driver gl e
-difficilmente verrà sviluppato ulteriormente.
-.PD 0
-.RSs
-.IPs (no)glfinish
-come per gl (default: abilitato)
-.IPs yuv=<n>
-Seleziona il tipo di conversione da YUV a RGB.
-Se impostato ad un valore diverso da 0, l'OSD verrà disabilitato e le
-impostazioni di luminosità, contrasto e gamma saranno disponibili solo
-attraverso le impostazioni globali del server X.
-A parte ciò, i valori hanno gli stessi significati validi per \-vo gl.
-.REss
-.
-.TP
-.B matrixview
-Renderizzatore basato su OpenGL che crea un effetto di testo stile Matrix.
-.PD 0
-.RSs
-.IPs cols=<n>
-Numero delle colonne di testo da mostrare.
-Valori molto bassi (< 16) probabilmente non funzioneranno a causa delle
-limitazioni dello scalatore.
-Allo stesso modo, valori non divisibili per 16 potrebbero causare problemi.
-.IPs rows=<n>
-Numero delle righe di testo da mostrare.
-Valori molto bassi (< 16) probabilmente non funzioneranno a causa delle
-limitazioni dello scalatore.
-Allo stesso modo, valori non divisibili per 16 potrebbero causare problemi.
-.REss
-.
-.TP
-.B "null\ \ \ "
-Non produce nessuna uscita video.
-Utile per benchmarking (prove di velocità).
-.
-.TP
-.B "aa\ \ \ \ \ "
-Driver di uscita video ASCII art che funziona su una console di testo.
-Puoi avere una lista ed una spiegazione delle sotto opzioni disponibili
-eseguendo 'mplayer \-vo aa:help'.
-.br
-.I NOTA:
-Il driver non gestisce correttamente \-aspect.
-.br
-.I CONSIGLIO:
-Probabilmente dovrai specificare \-monitorpixelaspect.
-Prova con 'mplayer \-vo aa \-monitorpixelaspect 0.5'.
-.
-.TP
-.B "caca\ \ \ "
-Driver di uscita video per ASCII Art a Colori (Colour AsCii Art) che funziona su una
-console di testo.
-.
-.TP
-.B "bl\ \ \ \ \ "
-Riproduzione video utilizzando il protocollo UDP Blinkenlights.
-Questo driver è altamente specifico per hardware.
-.PD 0
-.RSs
-.IPs <sottodispositivo>
-Seleziona esplicitamente il driver del dispositivo Blinkenlights da
-usare.
-E' qualcosa del tipo arcade:host=localhost:2323 oppure hdl:file=nome1,file=nome2.
-Devi specificare un sottodispositivo.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-Driver di uscita video per il sistema grafico GGI.
-.PD 0
-.RSs
-.IPs <driver>
-Seleziona esplicitamente il driver GGI da usare.
-Cambia ogni ',' che appare nel nome del driver con il carattere '.'.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-Visualizza il video utilizzando la libreria DirectFB.
-.PD 0
-.RSs
-.IPs (no)input
-Utilizza il codice della tastiera di DirectFB invece di quello standard di MPlayer. (default: abilitato)
-.IPs buffermode=single|double|triple
-Il doppio ed il triplo buffering danno i migliori risultati se vuoi evitare
-problemi di tearing.
-Il triplo buffering è più efficiente del doppio buffering perché non blocca
-MPlayer mentre aspetta il tracciamento verticale.
-La bufferizzazione singola dovrebbe essere evitata (default: single).
-.IPs fieldparity=top|bottom
-Controlla l'ordine di uscita dei fotogrammi interlacciati
-(default: disabilitato).
-Valori validi sono top (prima il campo superiore) e bottom (prima il campo
-inferiore).
-Questa opzione non ha alcun effetto su materiale progressivo, generalmente la
-maggior parte dei film MPEG.
-Devi abilitare questa opzione se hai effetti di tearing oppure movimenti non
-uniformi guardando materiale interlacciato.
-.IPs layer=N
-Forza l'utilizzo del layer con ID N per la riproduzione (default: \-1 \- auto).
-.IPs dfbopts=<list>
-Specifica una lista di parametri per DirectFB.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Driver di uscita video specifico per Matrox G400/\:G450/\:G550 che utilizza
-la libreria DirectFB per utilizzare speciali caratteristiche hardware.
-Abilita CRTC2 (la seconda uscita, head), visualizzando il video in modo
-indipendente dalla prima uscita.
-.PD 0
-.RSs
-.IPs (no)input
-Come per directfb (default: disabilitato)
-.IPs buffermode=single|double|triple
-Come per directfb (default: triple)
-.IPs fieldparity=top|bottom
-Come per directfb
-.IPs (no)bes
-Abilita l'utilizzo del BES (backend scaler) Matrox (default: disabilitato).
-Genera risultati molto buoni per quanto riguarda velocità e qualità di uscita
-visto che l'interpolazione dell'immagine viene fatta dall'hardware.
-Lavora solo sull'uscita principale.
-.IPs (no)spic
-Utilizza il layer Matrox sub picture per visualizzare l'OSD di MPlayer (default: abilitato)
-.IPs (no)crtc2
-Attiva l'uscita TV sella seconda uscita (default: abilitata).
-La qualità di uscita è stupefacente in quanto è un'immagine completamente
-interlacciata con sincronismo corretto per ogni campo pari e dispari.
-.IPs tvnorm=pal|ntsc|auto
-Imposta la norma TV della scheda Matrox senza bisogno di modificare
-/etc/\:directfbrc (default: disabilitato).
-Le norme valide sono pal = PAL, ntsc = NTSC.
-La norma auto è speciale (viene abilitata automaticamente PAL/\:NTSC) in
-quanto decide quale norma utilizzare basandosi sulla velocità (framerate) del
-filmato.
-.RE
-.PD 1
-.
-.TP
-.B mga (solo Linux)
-Driver di uscita video specifico Matrox che utilizza il back end scaler hardware
-delle schede Gxxx attraverso un modulo del kernel.
-Se hai una scheda Matrox questa è l'opzione più veloce.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il nome del dispositivo Matrox da usare (default:
-/dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (Linux, solo X11)
-Driver di uscita video mga che gira in una finestra X11.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il nome del dispositivo Matrox da usare (default:
-/dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (solo Linux) (vedi anche \-vf yuv2 e \-dr)
-Driver di uscita video specifico per S3 Virge.
-Questo driver supporta la conversione e la scalatura YUV della scheda, il doppio
-buffering e il direct rendering.
-Usa \-vf yuy2 per ottenere la renderizzazione YUY2 accellerata hardware, che su
-questa scheda è decisamente più veloce di YV12.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il nome del dispositivo fbdev da usare
-(default: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B wii (solo Linux)
-Driver di uscita video specifico per Nintendo Wii/GameCube.
-.
-.TP
-.B 3dfx (solo Linux)
-Driver di uscita video specifico per 3dfx che utilizza direttamente l'hardware
-della scheda sopra a X11.
-Sono supportati solo 16 bpp.
-.
-.TP
-.B tdfxfb (solo Linux)
-Questo driver utilizza il driver del framebuffer tdfx per riprodurre
-filmati con accelerazione YUV su schede 3dfx.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il nome del dispositivo fbdev da usare
-(default: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (solo Linux)
-Driver specifico di uscita video 3dfx che funziona in combinazione col modulo
-del kernel tdfx_vid.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il nome del dispositivo da usare
-(default: /dev/\:tdfx_vid).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (vedi anche \-dxr2) (solo DXR2)
-Driver di uscita video specifico per Creative DXR2.
-.PD 0
-.RSs
-.IPs <vo_driver>
-Driver di uscita video da utilizzare come overlay (x11, xv).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (solo DXR3)
-Driver di uscita video specifico del chip di decodifica MPEG Sigma Designs em8300
-(Creative DXR3, Sigma Designs Hollywood Plus).
-Vedi anche il filtro video lavc.
-.PD 0
-.RSs
-.IPs overlay
-Attiva l'overlay invece che l'uscita TVOut.
-.IPs prebuf
-Attiva il prebuffering.
-.IPs "sync\ "
-Abilita il nuovo motore di sincronizzazione.
-.IPs norm=<norma>
-Specifica la norma TV.
-.RSss
-0: Non cambia la norma corrente (default).
-.br
-1: Selezione automatica usando PAL/\:NTSC.
-.br
-2: Selezione automatica usando PAL/\:PAL-60.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.RE
-.IPs <0\-3>
-Specifica il numero di dispositivo se hai più di una scheda em8300.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (solo IVTV)
-Driver di uscita video specifico per uscita TV-out con chip di decodifica MPEG
-Conexant CX23415 (iCompression iTVC15) o Conexant CX23416 (iCompression iTVC16)
-(Hauppauge WinTV PVR-150/250/350/500)
-Vedi anche il filtro video lavc.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il dispositivo del decodificatore MPEG da usare
-(default: /dev/video16).
-.IPs <uscita>
-Seleziona esplicitamente l'uscita TV-out da usare per il segnale video.
-.RE
-.PD 1
-.
-.TP
-.B v4l2 (richiede un kernel Linux 2.6.22+)
-Driver di uscita video per schede compatibili V4L2 con decodificatore MPEG
-hardware integrato.
-Vedi anche il filtro video lavc.
-.PD 0
-.RSs
-.IPs <dispositivo>
-Seleziona esplicitamente il dispositivo del decodificatore MPEG da usare
-(default: /dev/video16).
-.IPs <uscita>
-Seleziona esplicitamente l'uscita TV-out da usare per il segnale video.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (solo DVB)
-Driver di uscita video specifico per schede DVB, che scrive i dati su un file
-in formato MPEG-PES se non è presente nessuna scheda DVB.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Specifica il numero del dispositivo da usare se hai più di una scheda di
-uscita DVB (solo API V3, come i driver della serie 1.x.y).
-Se non specificata MPlayer cercherà la prima scheda utilizzabile.
-.IPs <nomefile>
-nome del file di uscita (default: ./grab.mpg)
-.RE
-.PD 1
-.
-.TP
-.B zr (vedi anche \-zr* e \-zrhelp)
-Driver di uscita video per un certo numero di schede di cattura e
-riproduzione MJPEG.
-Vedi anche le opzioni \-zr* e \-zrhelp.
-.
-.TP
-.B zr2 (vedi anche il filtro video zrmjpeg)
-Driver di uscita video per un certo numero di schede di cattura e
-riproduzione MJPEG, seconda generazione.
-.PD 0
-.RSs
-.IPs dev=<dispositivo>
-Specifica il dispositivo video da usare.
-.IPs norm=<PAL|NTSC|SECAM|auto>
-Specifica la norma video da usare (default: auto).
-.IPs (no)prebuf
-(Dis)Attiva il prebuffering, non ancora supportato.
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-Calcola la sommatoria MD5 di ogni fotogramma e la scrive su un file.
-Supporta gli spazi colore RGB24 e YV12.
-Utile per il debug.
-.PD 0
-.RSs
-.IPs outfile=<valore>
-Specifica il file di uscita (default: ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-Trasforma il flusso video in una sequenza di immagini non compresse in
-formato YUV 4:2:0 e le memorizza in un file (default: ./stream.yuv).
-Il formato è lo stesso utilizzato da mjpegtools, perciò questo è utile
-se vuoi elaborare il video con la suite mjpegtools.
-Supporta gli spazi colore YV12, RGB (24 bpp) e BGR (24 bpp).
-Può combinarlo con l'opzione \-fixed\-vo per concatenare file con le stesse
-dimensioni e la stessa frequenza (fps).
-.PD 0
-.RSs
-.IPs interlaced
-Scrive il file di uscita con fotogrammi interlacciati, prima i top field.
-.IPs interlaced_bf
-Scrive il file di uscita con fotogrammi interlacciati, prima i bottom field.
-.IPs file=<nomefile>
-Scrive l'uscita su <nomefile> invece che sul default stream.yuv.
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTA:
-Se non specifichi nessuna opzione il file di uscita è progressivo
-(cioè non interlacciato).
-.RE
-.
-.TP
-.B "gif89a\ "
-Scrive ogni fotogramma in un singolo file GIF animato nella directory corrente.
-Supporta solo lo spazio colore RGB con 24 bpp e l'uscita viene convertita a
-256 colori.
-.PD 0
-.RSs
-.IPs <fps>
-Valore decimale che specifica la velocità del filmato (default: 5.0 fps).
-.IPs <output>
-Specifica il file di uscita (default: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I NOTA:
-Devi specificare la velocità prima del nome del file oppure farà parte
-del nome del file.
-.sp 1
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-Scrive ogni fotogramma in un file JPEG nella directory corrente.
-Il nome del file viene creato dal numero del fotogramma riempito con zeri iniziali.
-.PD 0
-.RSs
-.IPs [no]progressive
-Specifica JPEG standard o progressivi (default: non progressivo).
-.IPs [no]baseline
-Specifica l'utilizzo o meno del baseline (default: baseline).
-.IPs optimize=<0\-100>
-fattore di ottimizzazione (default: 100).
-.IPs smooth=<0\-100>
-fattore di 'lisciatura' (default: 0).
-.IPs quality=<0\-100>
-fattore di qualità (default: 75).
-.IPs outdir=<nome_dir>
-Specifica la directory dove salvare i file JPEG (default: ./).
-.IPs subdirs=<prefisso>
-Crea sottodirectory numerate con il prefisso specificato in cui salvare i file
-invece che nella directory corrente.
-.IPs "maxfiles=<valore> (solo sottodirectory)"
-Numero massimo di file da scrivere in ogni sottodirectory.
-Deve essere uguale o maggiore di 1 (default: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Scrive ogni fotogramma in un file PNM nella directory corrente.
-Il nome del file viene creato dal numero del fotogramma riempito con zeri iniziali.
-Supporta i formati PPM, PGM e PGMYUV nelle modalità raw ed ASCII.
-Vedi anche pnm(5), ppm(5) e pgm(5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-Scrive file PPM (default).
-.IPs "pgm\ \ "
-Scrive file PGM.
-.IPs pgmyuv
-Scrive file PGMYUV.
-Il formato PGMYUV è analogo al formato PGM, ma contiene anche i piani U e V,
-attaccati alla fine dell'immagine.
-.IPs "raw\ \ "
-Scrive i file PNM in modalità raw, cioè grezza (default).
-.IPs ascii
-Scrive i file PNM in modalità ASCII.
-.IPs outdir=<nome_dir>
-Specifica la directory dove salvare i file PNM (default: ./).
-.IPs subdirs=<prefisso>
-Crea sottodirectory numerate con il prefisso specificato in cui salvare i file
-invece che nella directory corrente.
-.IPs "maxfiles=<valore> (solo sottodirectory)"
-Numero massimo di file da scrivere in ogni sottodirectory.
-Deve essere uguale o maggiore di 1 (default: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Scrive ogni fotogramma in un file PNG nella directory corrente.
-Il nome del file viene creato dal numero del fotogramma riempito con zeri iniziali.
-Sono supportati i formati RGB e BGR a 24 bpp.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Specifica il livello di compressione.
-0 indica nessuna compressione, 9 invece è il massimo.
-.IPs outdir=<nome_dir>
-Specifica la directory dove salvare i file PNG (default: ./).
-.IPs alpha (default: noalpha)
-Crea file PNG con un canale alpha.
-Nota che MPlayer solitamente non gestisce l'alpha, quindi questa opzione sarà
-utile solo in rari casi.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-Scrive ogni fotogramma in un file Targa (TGA) nella directory corrente.
-Il nome del file viene creato dal numero del fotogramma riempito con zeri iniziali.
-Lo scopo di questo driver di uscita video è avere un semplice formato
-di immagini senza perdita di qualità da usare senza librerie esterne.
-Supporta i formati colori BGR[A], con 15, 24 e 32 bpp.
-Puoi forzare un formato particolare con il filtro video format.
-.sp 1
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni decodifica /\: filtraggio
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI DI DECODIFICA/FILTRAGGIO"
-.
-.TP
-.B \-ac <[\-|+]codec1,[\-|+]codec2,...[,]>
-Specifica una lista di priorità dei codec audio da usare, in accordo con il
-loro nome in codecs.conf.
-Usa un '\-' prima del nome del codec per ometterlo.
-Usa un '+' prima del nome per forzarlo, anche se questo probabilmente lo
-farà bloccare!
-Se la lista termina con una ',', MPlayer proverà ad usare anche i codec non
-presenti nella lista stessa.
-.br
-.I NOTA:
-Vedi \-ac help per una lista completa dei codec disponibili.
-.br
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-Forza il codec MP3 l3codeca.acm.
-.IPs "\-ac mad,"
-Prova libmad prima, poi passa agli altri.
-.IPs "\-ac hwac3,a52,"
-Prova prima il decodificatore hardware AC-3 (AC-3 passthrough), poi il
-codec software AC-3, poi gli altri.
-.IPs "\-ac hwdts,"
-Prova prima il decodificatore hardware DTS (DTS passthrough), poi gli altri.
-.IPs "\-ac \-ffmp3,"
-Salta (ignora) il decoder MP3 di FFmpeg.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(filtri)> (vedi anche \-af)
-Specifica le opzioni avanzate dei filtri audio:
-.RSs
-.IPs force=<0\-7>
-Forza l'inserimento del filtro audio a uno dei seguenti:
-.RSss
-0: Inserimento completamente automatico dei filtri (identico a 1 per ora).
-.br
-1: Ottimizza per la precisione (default).
-.br
-2: Ottimizza per la velocità.
-.I Attenzione:
-Alcune caratteristiche dei filtri audio possono fallire in modo silenzioso,
-e la qualità del suono può peggiorare.
-.br
-3: Non utilizza l'inserimento automatico dei filtri e nessuna ottimizzazione.
-.I Attenzione:
-E' possibile inchiodare MPlayer utilizzando questo valore.
-.br
-4: Utilizza l'inserimento automatico dei filtri come l'opzione 0 suddetta, ma
-utilizza la gestione in virgola mobile quando possibile.
-.br
-5: Utilizza l'inserimento automatico dei filtri come l'opzione 1 suddetta, ma
-utilizza la gestione in virgola mobile quando possibile.
-.br
-6: Utilizza l'inserimento automatico dei filtri come l'opzione 2 suddetta, ma
-utilizza la gestione in virgola mobile quando possibile.
-.br
-7: Non utilizza l'inserimento automatico dei filtri, come l'opzione 3 suddetta,
-e utilizza la gestione in virgola mobile quando possibile.
-.REss
-.IPs list=<filtri>
-Stesso significato di \-af.
-.RE
-.
-.TP
-.B \-afm <driver1,driver2,...>
-Specifica una lista di priorità delle famiglie di codec audio da usare, in
-accordo col loro nome in codecs.conf.
-Passa ai codec di default se nessuna delle famiglie specificate funziona.
-.br
-.I NOTA:
-Guarda \-afm help per una lista completa delle famiglie disponibili.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-Prova prima i codec di libavcodec da FFmpeg.
-.IPs "\-afm acm,dshow"
-Prova prima i codec di Win32.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <rapporto> (vedi anche \-zoom)
-Sovrascrive il valore del rapporto di aspetto del filmato, utilizzabile nel
-caso in cui questa informazione sia mancante oppure errata nel file che si
-sta visualizzando.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-\-aspect 4:3 o \-aspect 1.3333
-.br
-\-aspect 16:9 o \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Disabilita la compensazione automatica del rapporto di aspetto del film.
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-Imposta il primo campo per contenuti interlacciati.
-Utile per deinterlacciatori che raddoppiano la frequenza: \-vf tfields=1,
-\-vf yadif=1, \-vo vdpau:deint and \-vo xvmc:bobdeint.
-.PD 0
-.RSs
-.IPs \-1
-automatico (default): Se il decodificatore non esporta l'informazione corretta,
-si reimposta automaticamente su 0 (prima il campo superiore).
-.IPs 0
-prima il campo superiore (top field first)
-.IPs 1
-prima il campo inferiore (bottom field first)
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-Ribalta l'immagine alto / basso.
-.
-.TP
-.B \-lavdopts <opzione1:opzione2:...> (CODICE DI DEBUG)
-Specifica i parametri di decodifica di libavcodec.
-Opzioni multiple vanno separate con i due punti.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-Le opzioni disponibili sono:
-.RE
-.RSs
-.IPs bitexact
-Usa solo algoritmi bit-exact (esatti al bit) in tutti i passaggi di decodifica
-(per provare i codec).
-.IPs bug=<valore>
-Lavora manualmente alla risoluzione degli errori del codificatore.
-.RSss
-0: niente
-.br
-1: rileva automaticamente i bug (default)
-.br
-2 (msmpeg4v3): qualche vecchio file msmpeg4v3 generato da lavc (nessun rilevamento automatico)
-.br
-4 (mpeg4): bug dell'interlacciamento di Xvid (rilevato automaticamente se fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (rilevato automaticamente se fourcc==UMP4)
-.br
-16 (mpeg4): bug di padding (rilevato automaticamente)
-.br
-32 (mpeg4): bug vlc illegale (rilevato automaticamente per fourcc)
-.br
-64 (mpeg4): bug qpel di Xvid e DivX (rilevato automaticamente per fourcc/\:versione)
-.br
-128 (mpeg4): vecchio standard qpel (rilevato automaticamente per fourcc/\:versione)
-.br
-256 (mpeg4): altro bug qpel (rilevato automaticamente per fourcc/\:versione)
-.br
-512 (mpeg4): bug direct-qpel-blocksize (rilevato automaticamente per fourcc/\:versione)
-.br
-1024 (mpeg4): bug di edge padding (rilevato automaticamente per fourcc/\:versione)
-.REss
-.IPs debug=<valore>
-Visualizza informazioni di debug.
-.RSss
-.br
-0: disabilitato
-.br
-1: informazioni immagine
-.br
-2: controllo del bitrate
-.br
-4: flusso dei bit
-.br
-8: tipi di macroblocchi (MB)
-.br
-16: parametro di quantizzazione per ogni blocco (QP)
-.br
-32: vettori di movimento
-.br
-0x0040: visualizzazione dei vettori di movimento (usa \-noslices)
-.br
-0x0080: macroblock (MB) saltati
-.br
-0x0100: startcode
-.br
-0x0200: PTS
-.br
-0x0400: recupero degli errori
-.br
-0x0800: operazioni di controllo della gestione della memoria (H.264)
-.br
-0x1000: bugs
-.br
-0x2000: visualizza i parametri di quantizzazione (QP), valori inferiori di QP
-sono di colore piu' verde
-.br
-0x4000: visualizza i tipi di blocco
-.REss
-.IPs ec=<valore>
-Seleziona la strategia di occultamento degli errori.
-.RSss
-1: Usa un filtro molto forte di eliminazione degli effetti di blocco per MB danneggiati
-.br
-2: ricerca MV (vettori di movimento) iterativa (lenta)
-.br
-3: tutto (default)
-.REss
-.IPs er=<valore>
-Seleziona la strategia di recupero degli errori.
-.RSss
-.br
-0: disabilitato
-.br
-1: attento (Dovrebbe funzionare con codificatori errati.)
-.br
-2: normale (default) (Funziona con codificatori corretti.)
-.br
-3: aggressivo (Più controlli ma può causare problemi anche con flussi validi.)
-.br
-4: molto aggressivo
-.REss
-.IPs "fast (solo MPEG-2, MPEG-4, e H.264)"
-Abilita ottimizzazioni che non rispettano completamente le specifiche
-e potrebbero potenzialmente causare problemi, come una dequantizzazione
-più semplice, una compensazione di movimento più semplice, presumere l'utilizzo
-della matrice di quantizzazione di default, presumere YUV 4:2:0 ed evitare
-qualche controllo per riconoscere flussi danneggiati.
-.IPs "gray\ "
-decodifica a scala di grigi (un poco più veloce che a colori).
-.IPs "idct=<0\-99> (vedi anche \-lavcopts)"
-Per la miglior qualità di decodifica utilizza lo stesso algoritmo di IDCT sia per la
-decodifica che per la codifica.
-Questo può però portare a qualche inaccuratezza.
-.IPs lowres=<numero>[,<l>]
-Decodifica a risoluzioni più basse.
-La decodifica a basse risoluzioni non è supportata da tutti i codec e spesso
-genererà degli sgradevoli artefatti.
-Questo non è un bug ma un effetto collaterale del fatto di non decodificare
-a risoluzione completa.
-.RSss
-.br
-0: disabilitata
-.br
-1: 1/2 risoluzione
-.br
-2: 1/4 di risoluzione
-.br
-3: 1/8 di risoluzione
-.REss
-.RS
-Se <l> viene specificato la decodifica a bassa risoluzione verrà usata solo
-se la larghezza del video è maggiore od uguale a <l>.
-.RE
-.B o=<chiave>=<valore>[,<chiave>=<valore>[,...]]
-Passa varie opzioni AVOption al decoder di libavcodec.
-Nota, una patch che renda inutile o= e che possa passare al sistema di AVOption
-tutte le opzioni non conosciute è benvenuta.
-Si può trovare una lista completa delle opzioni AVOption nel manuale di FFmpeg.
-Nota che alcune opzioni possono andare in conflitto con quelle di MEncoder.
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.PD 0
-.IPs o=debug=pict
-.PD 1
-.RE
-.IPs "sb=<numero> (solo MPEG-2)"
-Salta il numero indicato di righe di macroblocchi in basso.
-.IPs "st=<numero> (solo MPEG-2)"
-Salta il numero indicato di righe di macroblocchi in alto.
-.IPs "skiploopfilter=<valore_salto> (solo H.264)"
-Salta il filtro loop (anche detto deblocking) durante la decodifica H.264.
-Dato che il fotogramma filtrato si suppone venga usato come riferimento
-per la decodifica dei fotogrammi dipendenti, questo ha un effetto peggiore
-sulla qualità che non applicare il deblocking per es.\& a filmati MPEG-2.
-Ma perlomeno per HDTV ad alto bitrate, questo da un buon aumento di velocità
-con un'impercettibile perdita di qualità.
-.sp 1
-<valore_salto> può essere uno dei seguenti:
-.RSss
-.br
-none: Nessun salto.
-.br
-default: Salta passaggi da processare inutili (per es.\& pacchetti a dimensione
-0 negli AVI).
-.br
-nonref: Salta i fotogrammi che non sono referenziati (per e.s\& non usati per
-la decodifica di altri fotogrammi, l'errore non può aumentare ("build up")).
-.br
-bidir: Salta i fotogrammi B.
-.br
-nonkey: Salta tutti i fotogrammi eccetto quelli chiave (i keyframe).
-.br
-all: Salta tutti i fotogrammi.
-.REss
-.IPs "skipidct=<valore_salto> (solo MPEG-1/2)"
-Salta il passaggio IDCT.
-Questo diminuisce molto la qualità in quasi tutti i casi
-(vedi skiploopfilter per i valori_salto disponibili).
-.IPs skipframe=<valore_salto>
-Salta completamente la decodifica dei fotogrammi.
-Accelera molto, ma porta movimenti scattosi e ogni tanto brutti artefatti
-(vedi skiploopfilter per i valori_salto disponibili).
-.IPs "threads=<1\-8> (solo MPEG-1/2 e H.264)"
-numero di thread da usare per la decodifica (default: 1)
-.IPs vismv=<valore>
-Visualizza i vettori di movimento.
-.RSss
-.br
-0: disabilitato
-.br
-1: Visualizza gli MV previsti in avanti dei fotogrammi P.
-.br
-2: Visualizza gli MV previsti in avanti dei fotogrammi B.
-.br
-4: Visualizza gli MV previsti in indietro dei fotogrammi B.
-.REss
-.IPs vstats
-Stampa alcune statistiche e le memorizza in ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-Disabilita il disegno del video a strisce / bande alte 16 pixel, invece
-disegna il fotogramma completo tutto in una volta.
-Può essere più veloce o più lento, a seconda della scheda video e della cache
-disponibile.
-Ha effetto solo con i codec libmpeg2 e libavcodec.
-.
-.TP
-.B \-nosound
-Non riproduce/\:codifica il suono.
-Utile per le prove di velocità (benchmark).
-.
-.TP
-.B \-novideo
-Non riproduce/\:codifica il video.
-Im molti casi questo non funziona, usa \-vc null \-vo null al suo posto
-.
-.TP
-.B \-pp <qualità> (vedi anche \-vf pp)
-Regola il livello di post elaborazione della DLL.
-Questa opzione non è più utilizzabile con \-vf pp.
-Funziona solo con le DLL del DirectShow di Win32 che hanno delle
-routine di post elaborazione interne.
-La gamma valida del valore di \-oldpp varia da codec a codec, generalmente
-deve essere 0\-6, dove 0=disabilitato 6=più lento/\:migliore.
-.
-.TP
-.B \-pphelp (vedi anche \-vf pp)
-Visualizza un sommario sui filtri di post elaborazione disponibili ed
-il loro utilizzo.
-.
-.TP
-.B \-ssf <modalità>
-Specifica i parametri della scalatura software.
-.sp 1
-.I ESEMPIO:
-.PD
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-filtro di sfocatura gaussiana (luminanza)
-.IPs cgb=<0\-100>
-filtro di sfocatura gaussiana (crominanza)
-.IPs ls=<\-100\-100>
-filtro di nitidezza (luminanza)
-.IPs cs=<\-100\-100>
-filtro di nitidezza (crominanza)
-.IPs chs=<h>
-spostamento orizzontale della crominanza
-.IPs cvs=<v>
-spostamento verticale della crominanza
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <modalità>
-Seleziona il tipo di uscita stereo di MP2/\:MP3.
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-canale sinistro
-.IPs 2
-canale destro
-.RE
-.PD 1
-.
-.TP
-.B \-sws <tipo scalatore software> (vedi anche \-vf scale e \-zoom)
-Specifica l'algoritmo da utilizzare nella scalatura software attivata
-dall'opzione \-zoom.
-Questo influenza quei driver di uscita video a cui manca l'accelerazione
-hardware, ad es.\& x11.
-.sp 1
-I tipi disponibili sono:
-.br
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-bilineare veloce
-.IPs 1
-bilineare
-.IPs 2
-bicubica (buona qualità) (default)
-.IPs 3
-sperimentale
-.IPs 4
-più vicino (cattiva qualità)
-.IPs 5
-area
-.IPs 6
-luminanza bicubica / crominanza bilineare
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-spline bicubica naturale
-.RE
-.PD 1
-.sp 1
-.RS
-.I NOTA:
-Alcune modalità di \-sws sono configurabili.
-La descrizione del filtro video scale ha ulteriori informazioni.
-.RE
-.
-.TP
-.B \-vc <[\-|+]codec1,[\-|+]codec2,...[,]>
-Specifica una lista di priorità dei codec video da usare, in accordo con il
-loro nome in codecs.conf.
-Utilizza un '\-' prima del nome del codec per ometterlo.
-Usa un '+' prima del nome per forzarlo, anche se questo probabilmente lo
-farà bloccare!
-Se la lista termina con una ',', MPlayer proverà ad usare anche i codec non
-presenti nella lista stessa.
-.br
-.I NOTA:
-Vedi \-vc help per una lista completa dei codec disponibili.
-.br
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Forza il codec DivX Win32/\:VfW DivX, non usa comunque gli altri.
-.IPs "\-vc divx4,"
-Prova prima il codec divx4linux, poi passa agli altri.
-.IPs "\-vc \-divxds,\-divx,"
-Ignora i codec DivX di Win32.
-.IPs "\-vc ffmpeg12,mpeg12,"
-Prova il codec MPEG-1/2 di libavcodec, poi libmpeg2, poi gli altri.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <driver1,driver2,...>
-Specifica una lista di priorità delle famiglie di codec video da usare, in
-accordo col loro nome in codecs.conf.
-Passa ai codec di default se nessuna delle famiglie specificate funziona.
-.br
-.I NOTA:
-Vedi \-vfm help per una lista completa delle famiglie disponibili.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Prova i codec di libavcodec, poi DirectShow, poi VfW e poi passa agli
-altri se ancora nessuno funziona.
-.IPs "\-vfm xanim"
-Prova prima i codec XAnim.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (vedi anche \-zoom) (solo MPlayer)
-Scala l'immagine alla larghezza <x> (se la scalatura software/\:hardware è disponibile).
-Disabilita il calcolo dell'aspetto.
-.
-.TP
-.B \-xvidopts <opzione1:opzione2:...>
-Specifica dei parametri addizionali quando si decodifica con Xvid.
-.br
-.I NOTE:
-Visto che libavcodec è più veloce di Xvid potresti volerne usare il filtro
-di post elaborazione (\-vf pp) ed il decoder (\-vfm ffmpeg) al suo posto.
-.sp 1
-filtri interni di post elaborazione di Xvid:
-.PD 0
-.RSs
-.IPs "deblock-chroma (vedi anche \-vf pp)"
-filtro di de-block della crominanza
-.IPs "deblock-luma (vedi anche \-vf pp)"
-filtro di de-block della luminanza
-.IPs "dering-luma (vedi anche \-vf pp)"
-filtro di eliminazione degli effetti ad anello della luminanza
-.IPs "dering-chroma (vedi anche \-vf pp)"
-filtro di eliminazione degli effetti ad anello della crominanza
-.IPs "filmeffect (vedi anche \-vf noise)"
-Aggiunge una grana artificiale al video.
-Può migliorare la qualità percepita, anche se abbassa l'effettiva qualità.
-.RE
-.sp 1
-.RS
-metodi di rendering:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-Attiva il metodo 2 di rendering diretto.
-.IPs nodr2
-Disattiva il metodo 2 di rendering diretto.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <valore> (vedi anche \-zoom)
-.PD 0
-.RSs
-.IPs valore<=8
-Scala l'immagine di un fattore <valore>.
-.IPs valore>8
-Imposta la larghezza al valore specificato e calcola l'altezza per
-mantenere un rapporto di aspetto corretto.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (vedi anche \-zoom) (solo MPlayer)
-Scala l'immagine all'altezza <y> (se la scalatura software/\:hardware è disponibile).
-Disabilita il calcolo dell'aspetto.
-.
-.TP
-.B "\-zoom\ \ "
-Permette la scalatura via software quando disponibile.
-Questo permette la scalatura con quei driver di uscita video (come x11, fbdev)
-che non supportano la scalatura hardware dove MPlayer disabilita per default
-la scalatura per motivi di prestazioni.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Filtri Audio
-.\" --------------------------------------------------------------------------
-.
-.SH "FILTRI AUDIO"
-I filtri audio ti permettono di modificare il flusso audio e le sue
-proprietà.
-La sintassi è:
-.
-.TP
-.B \-af <filtro1[=parametro1:parametro2:...],filtro2,...>
-Attiva una catena di filtri audio.
-.PP
-.I NOTA:
-Per avere una lista completa dei filtri audio disponibili vedi \-af help.
-.sp 1
-I filtri audio sono gestiti in liste.
-Ci sono alcuni comandi per gestire la lista dei filtri.
-.
-.TP
-.B \-af\-add <filtro1[,filtro2,...]>
-Aggiunge i filtri passati come argomenti alla fine della lista dei filtri.
-.
-.TP
-.B \-af\-pre <filtro1[,filtro2,...]>
-Inserisce i filtri passati come argomenti all'inizio della lista dei filtri.
-.
-.TP
-.B \-af\-del <indice1[,indice2,...]>
-Cancella i filtri all'indice indicato.
-I numeri di indice partono da 0, i numeri negativi puntano alla
-fine della lista (\-1 è l'ultimo).
-.
-.TP
-.B \-af\-clr
-Pulisce (inizializza) completamente la lista dei filtri.
-.PP
-I filtri disponibili sono:
-.
-.TP
-.B resample[=frequenza[:non_preciso][:tipo]]
-Cambia la frequenza di campionamento del flusso audio.
-Può venir usato se hai una scheda audio che lavora con frequenze fisse oppure
-una vecchia scheda che può arrivare solo ad un massimo di 44.1kHz.
-Questo filtro viene abilitato automaticamente se necessario.
-Supporta solo interi a 16-bit e valori decimali in formato native-endian
-(little- o big-, dipende dal processore) come ingresso.
-.br
-.I NOTA:
-Con MEncoder si deve usare anche \-srate <frequenza>.
-.PD 0
-.RSs
-.IPs <frequenza>
-Frequenza di uscita in Hz.
-I valori validi per questo parametro sono da 8000 a 192000.
-Se le frequenze di campionamento di ingresso ed uscita sono uguali
-oppure se questo parametro è omesso il filtro viene scaricato
-automaticamente.
-Una frequenza di campionamento alta normalmente migliora la
-qualità audio, specialmente se usata in combinazione con altri filtri.
-.IPs <non_preciso>
-Permette (1) o non permette (0) alla frequenza di uscita di essere leggermente
-diversa da quella passata con <frequenza> (default: 1).
-Può essere usato se la partenza della riproduzione è estremamente lenta.
-.IPs <tipo>
-Seleziona quale metodo di ricampionamento usare.
-.RSss
-0: interpolazione lineare (veloce, bassa qualità specialmente quando si aumenta
-la frequenza)
-.br
-1: filtro a polifase ed elaborazione con interi
-.br
-2: filtro a polifase ed elaborazione con valori a virgola mobile (lento,
-miglior qualità)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-imposterà la frequenza di uscita del filtro di campionamento a 44100Hz
-utilizzando una frequenza di uscita esatta e l'interpolazione lineare.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=frequenza[:lunghezza[:lineare[:conteggio[:taglio]]]]]
-Cambia la frequenza di campionamento del flusso audio al valore intero
-<frequenza> in Hz.
-Supporta solo il formato a 16-bit native-endian.
-.br
-.I NOTA:
-Con MEncoder si deve usare anche \-srate <frequenza>
-.PD 0
-.RSs
-.IPs <frequenza>
-frequenza di campionamento di uscita
-.IPs <lunghezza>
-lunghezza del filtro in rapporto alla frequenza più bassa (default: 16)
-.IPs <lineare>
-se ad 1 allora il filtro verrà interpolato linearmente tra i valori
-di polifase
-.IPs <conteggio>
-log2 del numero di valori di polifase (..., 10->1024, 11->2048, 12->4096,
-...) (default: 10->1024)
-.IPs <taglio>
-frequenza di taglio (0.0\-1.0), il valore di default dipende dalla
-lunghezza del filtro
-.RE
-.PD 1
-.
-.TP
-.B lavcac3enc[=suspdif[:frequenza[:mincan]]]
-Codifica l'audio multicanale in AC-3 durante l'esecuzione usando libavcodec.
-Accetta il formato d'ingresso a 16 bit native-endian, massimo 6 canali.
-Il formato di uscita è big-endian quando viene emesso un flusso AC-3 grezzo,
-native-endian quando viene passato a S/PDIF.
-La frequenza di campionamento di uscita di questo filtro dipende da quella in
-ingresso.
-Se la frequenza in ingresso è 48kHz, 44.1kHz, o 32kHz viene usata direttamente.
-In caso contrario viene inserito automaticamente un filtro resample prima di
-questo, per fare in modo che ingresso e uscita siano a 48kHz.
-Devi specificare '\-channels N' per far sì che il decodificatore decodifichi in
-N canali l'audio, poi il filtro potrà codificare l'ingresso a N canali in AC-3.
-.br
-.PD 0
-.RSs
-.IPs <suspdif>
-Emette un flusso AC-3 grezzo se zero o non impostata, esce su S/PDIF verso il
-decodificatore hardware (passthrough) quando <suspdif> è diversa da zero.
-.IPs <frequenza>
-La frequenza in cui codificare il flusso AC-3.
-Impostala a 384 o 384000 per ottenere 384kbit.
-Valori ammessi: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320,
-384, 448, 512, 576, 640.
-La frequenza di default si basa sul numero di canali di ingresso:
-1can: 96, 2can: 192, 3can: 224, 4can: 384, 5can: 448, 6can: 448.
-.IPs <mincan>
-Se il numero di canali di ingresso è inferiore a <mincan>, il filtro si
-disattiverà da solo (default: 5).
-.RE
-.PD 1
-.
-.TP
-.B sweep[=velocità]
-Produce uno 'sweep' sinusoidale.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-Delta della funzione sinusoidale, utilizza valori molto bassi per sentire lo
-sweep.
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=frequenza:decadimento]
-Rimuove un seno alla frequenza indicata.
-Utile per eliminare il rumore a 50/60Hz su strumentazioni audio di bassa
-qualità.
-Probabilmente funziona solo su un segnale mono.
-.PD 0
-.RSs
-.IPs <frequenza>
-La frequenza del seno che dovrebbe essere rimosso (in Hz) (default: 50)
-.IPs <decadimento>
-Controlla l'adattività (un valore più grande farà in modo che il filtro si
-adatti più velocemente a cambi di ampiezza e fase, uno più piccolo
-renderà l'adattamento più lento) (default: 0.0001).
-Valori ragionevoli sono intorno a 0.001.
-.RE
-.PD 1
-.
-.TP
-.B bs2b[=opzione1:opzione2:...]
-Trasformazione di Bauer da stereofonica a binaurale usando libbs2b.
-Migliora l'ascolto attraverso le cuffie rendendo simile l'audio a quello degli
-altroparlanti, permettendo a ciascun orecchio di sentire entrambi i canali e
-percepire la differenza di distanza e l'effetto di allontanamento dalla testa.
-E' applicabile solo all'audio a 2 canali.
-.PD 0
-.RSs
-.IPs fcut=<300\-1000>
-Imposta la frequenza di taglio in Hz.
-.IPs feed=<10\-150>
-Imposta il livello di feed per basse frequenze, in 0.1*dB.
-.IPs profile=<valore>
-Sono disponibili alcuni profili di comodo:
-.PD 0
-.RSs
-.IPs default
-usato se non specificato altro (fcut=700, feed=45)
-.IPs "cmoy\ "
-implementazione del circuito di Chu Moy (fcut=700, feed=60)
-.IPs jmeier
-implementazione del circuito di Jan Meier (fcut=650, feed=95)
-.RE
-.RE
-.sp 1
-.RS
-Se le opzioni fcut o feed vengono specificate insieme con un profilo, queste
-verranno applicate sul profilo selezionato.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=flag]
-Funzione di trasferimento riferita alla testa: Converte l'audio multicanale
-in una uscita a due canali per le cuffie, preservando la spazialità del
-suono.
-.sp 1
-.PD 0
-.RS
-.IPs "Flag Significato"
-.IPs "m decodifica a matrice del canale posteriore"
-.IPs "s decodifica a matrice con 2 canali"
-.IPs "0 nessuna decodifica a matrice (default)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-Equalizzatore grafico a 10 ottave, implementato utilizzando 10 filtri a
-passaggio di banda IIR .
-Questo significa che funziona, qualunque sia il tipo di audio che si sta
-riproducendo.
-Le frequenze centrali delle 10 bande sono:
-.sp 1
-.PD 0
-.RS
-.IPs "Nr. frequenza"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-Se la frequenza di campionamento del suono che si sta riproducendo é
-inferiore della frequenza centrale di una banda allora quella banda viene
-disabilitata.
-Un problema noto con questo filtro è che le caratteristiche per la bande più
-alte non sono completamente simmetriche se la frequenza di campionamento è
-vicina alla frequenza centrale di quella banda.
-Questo problema può essere limitato aumentando la frequenza del suono
-utilizzando il filtro resample prima di raggiungere questo filtro.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-valore decimale che rappresenta il guadagno in dB per ogni banda di
-frequenza (\-12\-12)
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-amplificherà il suono nelle zone delle frequenze alte e bassa mentre
-lo cancellerà quasi completamente attorno ad 1kHz.
-.RE
-.PD 1
-.
-.TP
-.B channels=numero_canali[:numero:da1:a1:da2:a2:da3:a3:...]
-Può essere usato per aggiungere, rimuovere, reindirizzare o copiare i canali
-audio.
-Se viene passato solo <numero_canali> viene usato il comportamento di default che
-funziona così:
-Se il numero di canali di uscita è maggiore del numero di canali di ingresso
-vengono inseriti dei canali vuoti (eccetto nel caso da mono a stereo dove
-il canale mono viene ripetuto su entrambi i canali di uscita).
-Se il numero di canali di uscita è minore del numero di canali di ingresso i
-canali in eccesso sono troncati.
-.PD 0
-.RSs
-.IPs <numero_canali>
-numero di canali di uscita (1\-8)
-.IPs "<numero>\ "
-numero di indirizzamenti (1\-8)
-.IPs <da1:a1:da2:a2:da3:a3:...>
-Coppie di numeri tra 0 e 7 che definiscono dove reindirizzare ogni canale.
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-cambierà il numero di canali a 4 e attiverà 4 indirizzamenti che
-scambieranno i canali 0 e 1 e lasceranno i canali 2 e 3 intatti.
-Nota che se viene riprodotto un media che contiene solo due canali, i
-canali 2 e 3 conterranno solo silenzio ma lo 0 e 1 verrano scambiati.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-Cambierà il numero di canali a 5 e attiverà 4 indirizzamenti che copieranno
-il canale 0 sui canali da 0 a 3.
-I canali 4 e 5 conterranno silenzio.
-.RE
-.PD 1
-.
-.TP
-.B format[=formato] (vedi anche \-format)
-Converte tra diversi formati di campionamento.
-Viene abilitato automaticamente quando serve dalla scheda audio o da un altro
-filtro.
-.PD 0
-.RSs
-.IPs <formato>
-Attiva il formato desiderato.
-La forma generale è 'sbe', dove 's' indica il segno ('s' per valori con segno,
-'u' per valori senza segno, unsigned), 'b' indica il numero di bit per campionamento
-(16, 24 o 32) e 'e' indica l'ordine con cui i campionamenti sono memorizzati
-(endianness, 'le' indica little-endian, 'be' big-endian e 'ne' la modalità del computer
-su cui sta girando MPlayer).
-Valori validi (tra gli altri) sono: 's16le', 'u32be' e 'u24ne'.
-Esistono anche altri formati validi che sono una eccezione a questa regola:
-u8, s8, floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 e imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]]
-Implementa il controllo del volume via software,
-Usa questo filtro con cautela visto che può ridurre il rapporto segnale
-rumore del suono.
-In molti casi la cosa migliore da fare è porre il livello del suono
-PCM al massimo livello, non inserire questo filtro, e controllare il
-livello di uscita dei tuoi altoparlanti con il controllo di volume principale
-del mixer.
-Nel caso la tua scheda sonora abbia un mixer PCM digitale invece che uno
-analogico e tu senta delle distorsioni utilizza invece il mixer MASTER.
-Se c'è un amplificatore esterno collegato al computer (cosa che è quasi
-sempre il caso) il livello del rumore può venire minimizzato aggiustando
-il livello principale e la rotella del volume dell'amplificatore finché
-il rumore sibilante in sottofondo non sparisce.
-.br
-Questo filtro ha una seconda caratteristica: misura il valore massimo
-complessivo del livello del suono e lo stampa quando MPlayer termina.
-Questo volume stimato può essere usato per regolare il livello del
-suono in MEncoder in modo da utilizzare la massima gamma dinamica.
-.br
-.I NOTA
-Questo filtro non è rientrante e può perciò essere utilizzato solo
-una volta per ogni flusso audio.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-Regola il guadagno desiderato in dB per tutti i canali del flusso audio
-da \-200dB a +60dB, dove \-200dB ammutolisce completamente il suono e
-+60dB corrisponde ad un guadagno di 1000 volte (default: 0).
-.IPs "<sc>\ "
-Attiva (1) o meno (0) il soft clipping.
-Il soft-clipping può rendere il suono più morbido se vengono
-utilizzati alti livelli di rumore.
-Abilita questa opzione se la gamma dinamica degli altoparlanti è molto bassa.
-.br
-.I ATTENZIONE:
-Questa caratteristica crea distorsione e dovrebbe essere considerata come
-un'ultima risorsa.
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-Amplificherà il suono di 10.1dB e taglierà il suono in modalità
-hard-clip se il livello è troppo elevato.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-Miscela i canali arbitrariamente.
-Fondamentalmente è una combinazione dei filtri volume e channels
-che può essere utilizzato per sotto-miscelare molti canali in pochi,
-p.e.\& da stereo a mono oppure per variare l'ampiezza dell'altoparlante
-centrale in un sistema di suono surround.
-Questo filtro è difficile da usare e richiede un po' di lavoro prima di
-ottenere il risultato desiderato.
-Il numero di opzioni per questo filtro dipende dal numero di canali di
-uscita.
-Un esempio per come sotto miscelare un file a sei canali su due canali
-con questo filtro si trova nella sezione degli esempi verso la fine.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-numero di canali di uscita (1\-8)
-.IPs <Lij>
-Quanta parte del canale di ingresso i è miscelata nel canale di uscita j (0\-1).
-Così all'inizio hai n numeri che dicono cosa fare col primo canale di ingresso,
-poi n numeri che agiscono sul secondo canale di ingresso, etc.
-Se non è specificato alcun numero per alcuni canali di ingresso, viene usato 0.
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-Sotto-miscelerà da stereo a mono.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-Otterrà 3 canali in uscita lasciando i canali 0 ed 1 intatti, e
-miscelerà i canali 0 ed 1 nel canale di uscita 2 (che potrebbe
-essere mandato ad esempio ad un subwoofer).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-Aggiunge un canale subwoofer al flusso audio.
-I dati audio usati per creare il canale del subwoofer sono la
-media del suono dei canali 0 ed 1.
-Il suono risultante è poi filtrato con un filtro passa-basso
-di Butterworth di quarto ordine con una frequenza di taglio di
-default di 60Hz ed aggiunto ad un canale separato del flusso
-audio.
-.br
-.I ATTENZIONE:
-Disabilita questo filtro quando stai riproducendo DVD con suono
-Dolby Digital 5.1, altrimenti questo filtro disgregherà il
-suono del subwoofer.
-.PD 0
-.RSs
-.IPs "<fc>\ "
-frequenza di taglio in Hz del filtro passa-basso (da 20Hz a 300Hz)
-(default: 60Hz)
-Per i migliori risultati prova a porre la frequenza di taglio il più
-basso possibile.
-Questo migliorerà l'esperienza del suono stereo o surround.
-.IPs "<ch>\ "
-Determina il numero di canale in cui inserire il sotto-canale audio.
-Il numero del canale può essere tra 0 e 7 (default: 5).
-Nota che il numero di canali verrà automaticamente incrementato a <ch>
-se necessario.
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-Aggiungerà un canale sub-woofer con una frequenza di taglio di 100Hz
-al canale di uscita 4.
-.RE
-.PD 1
-.
-.TP
-.B "center\ "
-Crea un canale centrale dai canali frontali.
-Può attualmente essere di bassa qualità visto che attualmente non viene
-implementato con un filtro passa-alto per la corretta estrazione, ma
-semplicemente somma e media i canali interessati.
-.PD 0
-.RSs
-.IPs "<ch>\ "
-Determina il numero del canale su cui inserire il canale centrale.
-Il numero del canale può essere tra 0 e 7 (default: 5).
-Nota che il numero di canali verrà automaticamente incrementato a <ch>
-se necessario.
-.RE
-.PD 1
-.
-.TP
-.B surround[=ritardo]
-Decodificatore per il suono surround codificato a matrice (matrix encoded
-surround sound), come ad esempio il Dolby Surround.
-Molti file con due canali audio attualmente contengono souni surround a
-matrice.
-Richiede una scheda audio che supporta almeno 4 canali.
-.PD 0
-.RSs
-.IPs <ritardo>
-tempo di ritardo in ms per l'altoparlante (da 0 a 1000) (default: 20)
-Questo ritardo dovrebbe essere caricato come segue: se d1 è la distanza
-dalla posizione di ascolto agli altoparlanti frontali e d2 è la distanza
-dalla posizione di ascolto agli altoparlanti posteriori allora il ritardo
-dovrebbe essere caricato a 15ms se d1 <= d2 ed a 15 + 5*(d1-d2) se d1 > d2.
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-Aggiungerà la decodifica del suono surround con un ritardo di 15ms per
-il suono degli altoparlanti posteriori.
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-Ritarda il suono dei vari altoparlanti in modo che il suono dai
-diversi canali arrivi alla posizione di ascolto contemporaneamente.
-E' utile solo se hai più di 2 altoparlanti.
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-Il ritardo in ms che deve essere imposto ad ogni canale (numero a virgola
-mobile tra 0 e 1000).
-.RE
-.PD 1
-.sp 1
-.RS
-Per calcolare il ritardo richiesto ai vari canali comportati come segue:
-.IP 1. 3
-Misura la distanza degli altoparlanti in metri in relazione alla tua
-posizione di ascolto, in modo da ottenere le cinque distanze da s1 a s5
-(per un sistema 5.1).
-Non c'è nessun motivo per compensare il subwoofer (non noteresti la differenza
-comunque).
-.IP 2. 3
-Sottrai le distanze da s1 a s5 dalla massima distanza, p.e.\&
-s[1] = max(s) \- s[i]; i = 1...5.
-.IP 3.
-Calcola i ritardi richiesti in ms come d[i] = 1000*s[i]/342; i = 1...5.
-.RE
-.PD 0
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-Ritarderà i canali frontali destro e sinistro di 10.5ms, i due canali
-posteriori ed il subwoofer di 0ms ed il canale centrale di 7ms.
-.RE
-.PD 1
-.
-.TP
-.B export[=mmapped_file[:nsamples]]
-Esporta il segnale in arrivo ad un altro processo usando la mappatura
-della memoria (mmap()).
-Le aree mappate contengono una intestazione:
-.sp 1
-.nf
-int nch /* numero di canali */
-int size /* dimensione del buffer */
-unsigned long long counter /* Usato per mantenere la sincronia,
- aggiornato ogni volta che vengono
- esportati nuovi dati */
-.fi
-.sp 1
-Il resto sono i dati a 16 bit (non-interlacciati).
-.PD 0
-.RSs
-.IPs <mmapped_file>
-file su cui mappare i dati (default: ~/.mplayer/\:mplayer-af_export).
-.IPs <nsamples>
-numero di campionamenti per canale (default: 512)
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-Esporterà 1024 campionamenti per canale su '/tmp/mplayer-af_export'.
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-Incrementa (linearmente) la differenza tra i canali sinistro e destro che
-aggiunge una specie di effetto "live" alla riproduzione.
-.PD 0
-.RSs
-.IPs "<mul>\ \ "
-Imposta il coefficiente di differenza (default: 2.5).
-0.0 indica suono mono (media dei due canali), con 1.0 il suono non cambierà,
-con \-1.0 i canali destro e sinistro verranno scambiati.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=metodo:risultato]
-Massimizza il volume senza distorcere il suono.
-.PD 0
-.RSs
-.IPs <metodo>
-Imposta il metodo da usare.
-.RSss
-1: Utilizza un singolo campionamento per ammorbidire la variazione attraverso
-il metodo standard della media pesata sui campionamenti passati (default).
-.br
-2: Utilizza alcuni campionamenti per ammorbidire la variazione attraverso
-il metodo standard della media ponderale sui campionamenti passati.
-.REss
-.IPs <risultato>
-Imposta l'ampiezza del risultato come frazione del massimo per il tipo di
-campionamento (default: 0.25).
-.RE
-.PD 1
-.
-.TP
-.B ladspa=file:label[:controlli...]
-Carica un plugin LADSPA (Linux Audio Developer's Simple Plugin API).
-Questo filtro è rientrante perciò possono venir usati più plugin LADSPA
-contemporaneamente.
-.PD 0
-.RSs
-.IPs <file>
-Specifica il file di plugin della libreria LADSPA.
-Se è impostata la variabile d'ambiente LADSPA_PATH tale percorso viene
-utilizzato nella ricerca del file specificato.
-In caso contrario devi fornire un percorso completo.
-.IPs <label>
-Specifica il filtro all'interno della libreria.
-Alcune librerie contengono solo un filtro mentre altre invece ne contengono molti.
-Se si specifica 'help' verrano elencati tutti i filtri disponibili all'interno
-della libreria specificata, cosa che elimina l'utilizzo di 'listplugins'
-dall'SDK di LADSPA.
-.IPs <controlli>
-Controlli sono zero o più valori decimali che determinano il
-comportamento del plugin caricato (ad esempio ritardo, soglia o guadagno).
-In modalità verbosa (aggiungi \-v alla linea di comando di MPlayer) tutti
-i controlli disponibili, insieme con le loro gamme valide, vengono stampati.
-Questo elimina l'utilizzo di 'analyseplugin' dall'SDK di LADSPA.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-Filtro di compressione/espansione utilizzabile per l'ingresso da microfono.
-Previene gli artefatti su suoni molto alti ed aumenta il volume sui suoni
-molto bassi.
-Questo filtro non è testato, forse anche inutilizzabile.
-.
-.TP
-.B "gate\ \ \ "
-Filtro noise gate (limite rumore) simile al filtro audio comp.
-Questo filtro non è testato, forse anche inutilizzabile.
-.
-.TP
-.B karaoke
-Semplice filtro di rimozione della voce che sfrutta il fatto che la voce sia
-generalmente registrata in mono e poi miscelata al 'centro' nel flusso audio
-finale.
-Attenti che questo filtro convertirà il vostro segnale in mono.
-Funziona bene con tracce a due canali, non perder tempo ad usarlo
-su qualcosa che non sia stereo a due canali.
-.
-.TP
-.B scaletempo[=opzione1:opzione2:...]
-Riproporziona il tempo dell'audio senza modificare il picco, opzionalmente
-in sincronia con la velocità di riproduzione (default).
-.br
-Questo funziona riproducendo \'stride\' ms di audio alla velocità normale, e
-poi consumando \'stride*proporzione\' ms dell'audio in ingresso.
-Lega tra loro gli stride miscelando \'overlap\'% di uno stride
-con l'audio che segue lo stride precedente.
-Facoltativamente esegue una breve analisi statistica sui \'search\' ms di
-audio successivi, per determinare il miglior punto per la sovrapposizione.
-.PD 0
-.RSs
-.IPs scale=<valore>
-Valore nominale di riproporzione tempo.
-Riproporziona questo valore sommato alla velocità.
-(default: 1.0)
-.IPs stride=<valore>
-Lunghezza in millisecondi di ogni stride da emettere.
-Un valore troppo alto causerà salti evidenti per valori di scale alti e un'eco
-per valori di scale bassi.
-Valori molto bassi modificherano il picco.
-Valori più alti aumentano la resa.
-(default: 60)
-.IPs overlap=<percentuale>
-Percentuale di stride da sovrapporre.
-Valori più bassi aumentano la resa.
-(default: .20)
-.IPs search=<valore>
-Lunghezza in millisecondi per cercare il miglior punto per la sovrapposizione.
-Valori più bassi aumentano decisamente la resa.
-Su sistemi lenti, la vorrai impostare probabilmente molto corta.
-(default: 14)
-.IPs speed=<tempo|pitch|both|none>
-Imposta la risposta al cambio di velocità.
-.RSss
-.IPs tempo
-Riproporziona il tempo in sincronia con la velocità (default).
-.IPs pitch
-Inverte l'effetto del filtro.
-Riproporziona il picco senza modificare il tempo.
-Aggiungi \'[ speed_mult 0.9438743126816935\' e
-\'] speed_mult 1.059463094352953\' al tuo file input.conf per spostarti di
-semitoni musicali.
-.I ATTENZIONE:
-Perde sincronia col video.
-.IPs both
-Riproporziona sia il tempo che il picco.
-.IPs none
-Ignora il cambio di velocità.
-.RE
-.RE
-.sp 1
-.RS
-.I ESEMPI:
-.RE
-.RSs
-.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
-Riproduce media a 1.2x la normale velocità, con audio al picco normale.
-Cambiando la velocità di riproduzione, modifica il tempo audio affinché
-corrisponda.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
-Riproduce media a 1.2x la normale velocità, con audio al picco normale,
-ma la modifica della velocità di riproduzione non ha alcun effetto sul tempo
-audio.
-.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
-Modifica i parametri di qualità e di resa.
-.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
-Fa in modo che scaletempo usi codice a virgola mobile.
-Forse più veloce su alcune piattaforme.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
-Riproduce media a 1.2x la normale velocità, con audio al picco normale.
-Cambiando la velocità di riproduzione, modifica il picco, lasciando il tempo
-audio a 1.2x.
-.RE
-.PD 1
-.
-.TP
-.B "stats\ \ "
-Raccoglie ed emette a video statistiche sul flusso audio, in particolare sul
-volume.
-Queste statistiche sono particolarmente utili per aiutare l'impostazione del
-volume ed evitare il clipping.
-I volumi vengono scritti in dB e compatibili col filtro audio volume.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Filtri video
-.\" --------------------------------------------------------------------------
-.
-.SH "FILTRI VIDEO"
-I filtri video ti permettono di modificare il flusso video e le sue
-proprietà.
-La sintassi è:
-.
-.TP
-.B \-vf <filtro1[=parametro1:parametro2:...],filtro2,...>
-Attiva una catena di filtri video.
-.PP
-Molti parametri sono opzionali e verrano caricati a valori di default se
-omessi.
-Utilizza '\-1' per utilizzare esplicitamente il valore di default di un
-parametro.
-Parametri indicati come w:h significano larghezza per altezza in pixel,
-x:y indicano invece la posizione partendo dall'estremo alto a sinistra
-dell'immagine più grande.
-.br
-.I NOTA:
-Per avere una lista completa dei filtri video disponibili, vedi \-vf help.
-.sp 1
-I filtri video sono gestiti in liste.
-Ci sono alcuni comandi per gestire la lista dei filtri.
-.
-.TP
-.B \-vf\-add <filtro1[,filtro2,...]>
-Aggiunge i filtri passati come argomenti alla fine della lista dei filtri.
-.
-.TP
-.B \-vf\-pre <filtro1[,filtro2,...]>
-Inserisce i filtri passati come argomenti all'inizio della lista dei filtri.
-.
-.TP
-.B \-vf\-del <indice1[,indice2,...]>
-Cancella i filtri all'indice indicato.
-I numeri di indice partono da 0, i numeri negativi puntano alla
-fine della lista (\-1 è l'ultimo).
-.
-.TP
-.B \-vf\-clr
-Pulisce (inizializza) completamente la lista dei filtri.
-.PP
-Con filtri che lo supportano, puoi accedere ai parametri attraverso il loro nome.
-.
-.TP
-.B \-vf <filtro>=help
-Stampa i nomi dei parametri e la gamma dei valori validi per i parametri di un
-particolare filtro.
-.
-.TP
-.B \-vf <filtro=nome_parametro1=valore1[:nome_parametro2=valore:...]>
-Regola un parametro con nome al valore passato.
-Utilizza on e off oppure yes e no per attivare / disattivare i parametri
-di tipo flag.
-.PP
-I filtri disponibili sono:
-.
-.TP
-.B crop[=w:h:x:y]
-Mantiene la parte dell'immagine specificata ed elimina il resto.
-Utile per eliminare le bande nere dei film widescreen.
-.PD 0
-.RSs
-.IPs <w>,<h>
-Dimensione dell'immagine da mantenere, per default è la larghezza ed altezza dell'immagine originale.
-.IPs <x>,<y>
-Posizione dell'immagine da mantenere, il default è il centro.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=limite:arrotondamento[:azzeramento]]
-Calcola i parametri necessari per applicare automaticamente il filtro 'crop' e
-stampa i parametri raccomandati su stdout.
-.PD 0
-.RSs
-.IPs <limite>
-Soglia che è possibile specificare opzionalmente da niente (0) fino
-a tutto (255) (default: 24).
-.br
-.IPs <arrotondamento>
-Valore per cui devono essere divisibili i valori di larghezza/\:altezza (default:16).
-Lo scostamento viene regolato automaticamente per centrare il video.
-Utilizza 2 per avere solo dimensioni pari (necessario per i filmati in formato 4:2:2).
-Con molti codec video conviene utilizzare 16 quando si effettua la codifica.
-.br
-.IPs <azzeramento>
-Contatore che determina il numero di fotogrammi dopo i quali cropdetect azzererà
-la più ampia area rilevata e ricomincerà a cercare la migliore superficie per
-il ritaglio (default: 0).
-Questo può tornare utile quando il logo di un canale falsa l'area del video.
-Un valore di 0 disattiva l'opzione e restituisce l'area più ampia rilevata
-durante la riproduzione.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=w:h:x:y]
-Disegna un rettangolo delle dimensioni richieste alle coordinate indicate
-sopra all'immagine ed emette sulla console i valori correnti del rettangolo
-stesso.
-Questo può essere usato per trovare i migliori parametri per il taglio (crop).
-Se colleghi la direttiva 'change_rectangle' di input.conf a qualche tasto,
-puoi spostare e ridimensionare il rettangolo al volo.
-.PD 0
-.RSs
-.IPs <w>,<h>
-larghezza ed altezza (default: \-1, larghezza massima possibile dove i
-bordi sono ancora visibili).
-.IPs <x>,<y>
-posizione dell'angolo in alto a sinistra (default: \-1, il più in alto ed il
-più a sinistra possibile)
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-Espande (non scala) la risoluzione del film ai valori passati e
-posiziona i filmato originale non scalato alle coordinate x, y.
-Può essere usato per posizionare i sottotitoli/\:OSD nelle
-bande nere che si ottengono.
-.RSs
-.IPs <w>,<h>
-Larghezza, altezza espansa (default: ampiezza ed altezza originali).
-Valori negativi per w e h sono trattati come scostamenti dalla
-dimensione originale.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-Aggiunge un bordo di 50 pixel in basso all'immagine.
-.RE
-.PD 1
-.IPs <x>,<y>
-posizione dell'immagine originale nell'immagine espansa (default: centro)
-.IPs "<o>\ \ "
-rendering (stampa) sottotitoli/\:OSD
-.RSss
-0: disabilitato (default)
-.br
-1: abilitato
-.REss
-.IPs "<a>\ \ "
-espande ad un aspetto invece che ad una risoluzione (default: 0).
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-Espande a 800x600, a meno che l'origine sia ad una risoluzione più alta,
-nel qual caso espande per ottenere un rapporto di aspetto 4/3.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Arrotonda per eccesso in modo da avere larghezza e altezza divisibili per
-<r> (default: 1).
-.RE
-.
-.TP
-.B flip (vedi anche \-flip)
-Ribalta l'immagine alto / basso (specchio sull'asse X).
-.
-.TP
-.B "mirror\ "
-Specchia l'immagine sull'asse Y.
-.
-.TP
-.B rotate[=<0\-7>]
-Ruota l'immagine di 90 gradi e la ribalta opzionalmente.
-Con valori da 4\-7 la rotazione viene eseguita solo se la
-geometria del film è ritratto (portrait) e non paesaggio (landscape).
-.RSs
-.IPs 0
-Ruota di 90 gradi in senso orario e ribalta (default).
-.IPs 1
-Ruota di 90 gradi in senso orario.
-.IPs 2
-Ruota di 90 gradi in senso antiorario.
-.IPs 3
-Ruota di 90 gradi in senso antiorario e ribalta.
-.RE
-.
-.TP
-.B scale[=w:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
-Scala l'immagine con la modalità software (lento) ed esegue una conversione
-dello spazio colore YUV<\->RGB (vedi anche \-sws).
-.RSs
-.IPs <w>,<h>
-larghezza/\:altezza scalata (default: larghezza/\:altezza originali)
-.br
-.I NOTA:
-Se si usa \-zoom ed i filtri sottostanti (compreso libvo) non
-sono capaci di effettuare la scalatura, il valore di default diventa
-d_width/\:d_height (d_larghezza / d_altezza)!
-.RSss
- 0: d_width/\:d_height scalati
-.br
-\-1: larghezza/\:altezza originali
-.br
-\-2: Calcola l/a utilizzando l'altra dimensione e il rapporto di aspetto prescalato.
-.br
-\-3: Calcola l/a utilizzando l'altra dimensione e il rapporto di aspetto originale.
-.br
-\-(n+8): Come \-n sopra ma arrotonda la dimensione al più vicino multiplo di 16.
-.REss
-.IPs <interlaced>
-Attiva la scalatura interlacciata.
-.RSss
-0: non attiva (default)
-.br
-1: attiva
-.REss
-.IPs <chr_drop>
-eliminazione crominanza
-.RSss
-0: Utilizza tutte le linee di ingresso per la crominanza.
-.br
-1: Utilizza solo la seconda ogni 2 linee di ingresso per la crominanza.
-.br
-2: Utilizza solo la quarta ogni 4 linee di ingresso per la crominanza.
-.br
-3: Utilizza solo l'ottava ogni 8 linee di ingresso per la crominanza.
-.REss
-.IPs "<par>[:<par2>] (vedi anche \-sws)"
-Seleziona alcuni parametri di scalatura a seconda dell'algoritmo di scalatura
-selezionato con \-sws.
-.RSss
-\-sws 2 (bicubica): B (blurring, sfocatura) e C (ringing, effetti ad anello)
-.br
-0.00:0.60 default
-.br
-0.00:0.75 "bicubica precisa" di VirtualDub
-.br
-0.00:0.50 spline Catmull-Rom
-.br
-0.33:0.33 spline Mitchell-Netravali
-.br
-1.00:0.00 B-spline cubica
-.br
-\-sws 7 (gaussiano): nitidezza (0 (morbido) \- 100 (nitido))
-.br
-\-sws 9 (lanczos): lunghezza del filtro (1\-10)
-.REss
-.IPs <presize>
-Scala ad una dimensione predefinita.
-.RSss
-qntsc: 352x240 (quarto di schermo NTSC)
-.br
-qpal: 352x288 (quarto di schermo PAL)
-.br
-ntsc: 720x480 (NTSC standard)
-.br
-pal: 720x576 (PAL standard)
-.br
-sntsc: 640x480 (NTSC con pixel quadrati)
-.br
-spal: 768x576 (PAL con pixel quadrati)
-.REss
-.IPs <noup>
-Impedisce un ridimensionamento più grande delle dimensioni originarie.
-.RSss
-0: Permette un ridimensionamento più grande (default).
-.br
-1: Impedisce il ridimensionamento se una delle dimensioni oltrepassa il
-suo valore originario.
-.br
-2: Impedisce il ridimensionamento se entrambe le dimensioni oltrepassano il
-loro valore originario.
-.REss
-.IPs <arnd>
-Arrotondamento preciso per il ridimensionamento verticale, che può essere
-più veloce o più lento rispetto all'arrotondamento di default.
-.RSss
-0: Disabilita l'arrotondamento accurato (default).
-.br
-1: Abilita l'arrotondamento accurato.
-.REss
-.RE
-.
-.TP
-.B dsize[=aspetto|l:a:metodo-aspetto:r]
-Cambia la dimensione di visualizzazione/\:rapporto di aspetto che
-si desidera avere in un punto a scelta nella catena dei filtri.
-L'aspetto può essere espresso come frazione (4/3) oppure come
-numero decimale (1.33).
-Alternativamente, puoi specificare esattamente le dimensioni di larghezza ed
-altezza di visualizzazione che desideri.
-Nota che questo filtro
-.B non
-effettua nessuna scalatura; semplicemente influenza
-quello che viene eseguito successivamente dalla scalatura (software o hardware)
-quando si esegue un'auto scalatura per correggere il rapporto di aspetto del film.
-.RSs
-.IPs <l>,<a>
-Nuova larghezza ed altezza di visualizzazione.
-Possono anche essere uno dei valori speciali seguenti:
-.RSss
- 0: larghezza ed altezza di visualizzazione originarie
-.br
-\-1: larghezza ed altezza del filmato originarie (default)
-.br
-\-2: Calcola l/a usando l'altra dimensione e il rapporto di aspetto
-originario di visualizzazione.
-.br
-\-3: Calcola l/a usando l'altra dimensione e il rapporto di aspetto
-originario del filmato.
-.REss
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IP dsize=800:\-2
-Specifica una risoluzione di 800x600 per un rapporto di aspetto 4/3,
-oppure di 800x450 se il rapporto di aspetto è 16/9.
-.RE
-.IPs <metodo-aspetto>
-Modifica altezza e larghezza in accordo con i rapporti di aspetto originari.
-.RSss
-\-1: Ignora il rapporto di aspetto originario (default).
-.br
- 0: Mantiene il rapporto di aspetto di visualizzazione usando <l> e <a> come
-massima risoluzione possibile.
-.br
- 1: Mantiene il rapporto di aspetto di visualizzazione usando <l> e <a> come
-minima risoluzione possibile.
-.br
- 2: Mantiene il rapporto di aspetto del filmato usando <l> e <a> come
-massima risoluzione possibile.
-.br
- 3: Mantiene il rapporto di aspetto del filmato usando <l> e <a> come
-minima risoluzione possibile.
-.REss
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-Specifica una risoluzione di al massimo 800x600, o inferiore, in modo da
-mantenere l'aspetto.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Arrotonda in eccesso larghezza e altezza in modo che siano divisibili per
-<r> (default: 1).
-.RE
-.
-.TP
-.B "yuy2\ \ \ "
-Forza una conversione software da YV12/\:I420/\:422P a YUY2.
-Utile per schede video/\:driver con un supporto lento per YV12 ma veloce per YUY2.
-.
-.TP
-.B "yvu9\ \ \ "
-Forza una conversione software dallo spazio colore YVU9 a YV12.
-Deprecato a favore della scalatura via software.
-.
-.TP
-.B "yuvcsp\ "
-Limita (clamp) i valori dei colori YUV alla gamma CCIR 601 senza effettuare una reale conversione.
-.
-.TP
-.B rgb2bgr[=swap]
-Conversione dello spazio colore RGB 24/32 <\-> BGR 24/32.
-.PD 0
-.RSs
-.IPs "swap\ "
-Effettua anche lo scambio R <-> B.
-.RE
-.PD 1
-.
-.TP
-.B palette
-Conversione dello spazio colore RGB/BGR 8 \-> 15/16/24/32bpp utilizzando una palette (tavolozza).
-.
-.TP
-.B format[=fourcc]
-Limita lo spazio colore del filtro successivo senza effettuare nessuna conversione.
-Da utilizzare con il filtro di scalatura per ottenere una conversione effettiva.
-.br
-.I NOTA:
-Per una lista dei formati disponibili vedi format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-nome del formato tipo rgb15, bgr24, yv12, etc (default: yuy2)
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-Limita lo spazio colore del filtro successivo senza effettuare nessuna conversione.
-A differenza del filtro format, questo permette qualsiasi spazio colore
-.B eccetto
-quello specificato.
-.br
-.I NOTA:
-Per una lista dei formati disponibili vedi noformat=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-nome del formato tipo rgb15, bgr24, yv12, etc (default: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=filtro1[:opzione1[:opzione2...]]/[\-]filtro2...] (vedi anche \-pphelp)
-Abilita l'elenco dei sotto filtri di post elaborazione specificati.
-I vari sotto filtri devono essere separati dal carattere '/' e possono essere
-disabilitati anteponendo al filtro '\-'.
-Ogni sotto filtro ed alcune opzioni hanno un nome lungo ed uno corto che
-possono essere usati indifferentemente, p.e.\& dr/dering hanno lo stesso significato.
-Tutti i sotto filtri condividono le stesse opzioni comuni che ne determinano
-la sfera di azione:
-.PD 0
-.RSs
-.IPs a/autoq
-Disabilita automaticamente il filtro se la CPU è troppo lenta.
-.IPs c/chrom
-Effettua il filtraggio anche sulla crominanza (default).
-.IPs y/nochrom
-Filtra solo la luminanza (niente crominanza).
-.IPs n/noluma
-Filtra solo la crominanza (niente luminanza).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I NOTA:
-\-pphelp visualizza una lista dei sotto filtri disponibili.
-.sp 1
-I sotto filtri disponibili sono
-.RE
-.RSs
-.IPs hb/hdeblock[:differenza[:piattezza]]
-filtro di deblock orizzontale
-.RSss
-<differenza>: Fattore di differenza dove valori maggiori implicano
-maggior deblock (default: 32).
-.br
-<piattezza>: Soglia di piattezza dove valori minori implicano maggior
-deblock (default: 39).
-.REss
-.IPs vb/vdeblock[:differenza[:piattezza]]
-filtro di deblock verticale
-.RSss
-<differenza>: Fattore di differenza dove valori maggiori implicano
-maggior deblock (default: 32).
-.br
-<piattezza>: Soglia di piattezza dove valori minori implicano maggior
-deblock (default: 39).
-.REss
-.IPs ha/hadeblock[:differenza[:piattezza]]
-filtro di deblock orizzontale accurato
-.RSss
-<differenza>: Fattore di differenza dove valori maggiori implicano
-maggior deblock (default: 32).
-.br
-<piattezza>: Soglia di piattezza dove valori minori implicano maggior
-deblock (default: 39).
-.REss
-.IPs va/vadeblock[:differenza[:piattezza]]
-filtro di deblock verticale accurato
-.RSss
-<differenza>: Fattore di differenza dove valori maggiori implicano
-maggior deblock (default: 32).
-.br
-<piattezza>: Soglia di piattezza dove valori minori implicano maggior
-deblock (default: 39).
-.REss
-.sp 1
-I filtri di deblock orizzontale e verticale condividono i valori di
-differenza e di piattezza perciò non puoi caricare valori diversi
-per le soglie orizzontali e verticali.
-.sp 1
-.IPs h1/x1hdeblock
-filtro sperimentale di deblock orizzontale
-.IPs v1/x1vdeblock
-filtro sperimentale di deblock verticale
-.IPs dr/dering
-filtro di correzione di effetti ad anello (dering)
-.IPs tn/tmpnoise[:soglia1[:soglia2[:soglia3]]]
-riduzione temporale del rumore
-.RSss
-<soglia1>: maggiore \-> filtro più forte
-.br
-<soglia2>: maggiore \-> filtro più forte
-.br
-<soglia3>: maggiore \-> filtro più forte
-.REss
-.IPs al/autolevels[:f/fullyrange]
-correzione automatica della luminosità / contrasto
-.RSss
-f/fullyrange: 'Stira' la luminanza a (0\-255).
-.REss
-.IPs lb/linblenddeint
-Filtro di deinterlacciamento con miscelazione lineare che deinterlaccia
-il blocco specificato filtrando tutte le linee con un filtro (1 2 1).
-.IPs li/linipoldeint
-Filtro di deinterlacciamento lineare interpolato che deinterlaccia il
-blocco specificato interpolando linearmente ogni seconda linea.
-.IPs ci/cubicipoldeint
-Filtro di deinterlacciamento cubico interpolato che deinterlaccia il
-blocco specificato interpolando con una cubica ogni seconda linea.
-.IPs md/mediandeint
-Filtro di deinterlacciamento mediano che deinterlaccia il blocco specificato
-applicando un filtro mediano ad ogni seconda linea.
-.IPs fd/ffmpegdeint
-Filtro di deinterlacciamento di FFmpeg che deinterlaccia il blocco specificato
-filtrando ogni seconda linea con un filtro (\-1 4 2 4 \-1).
-.IPs l5/lowpass5
-Filtro passa basso applicato in verticale che deinterlaccia il blocco
-specificato filtrando tutte le linee con un filtro (\-1 2 6 2 \-1).
-.IPs fq/forceQuant[:quantizer]
-Sostituisce il valore della tabella di quantizzazione dell'ingresso con il
-valore costante di quantizzazione che viene specificato.
-.RSss
-<quantizer>: quantizzatore da usare
-.REss
-.IPs de/default
-combinazione di filtri di post processing di default (hb:a,vb:a,dr:a)
-.IPs fa/fast
-combinazione veloce dei filtri di post processing (h1:a,v1:a,dr:a)
-.IPs "ac\ \ \ "
-combinazione ad alta qualità dei filtri di post processing (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-de-block orizzontale e verticale, eliminazione artefatti circolari (deringing)
-e contrasto/\:luminosità automatica.
-.IPs "\-vf pp=de/\-al"
-filtri di default senza correzione di luminosità/\:contrasto
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-Abilita i filtri di default e il denoise (eliminazione rumore) temporale.
-.IPs "\-vf pp=hb:y/vb:a"
-De-block orizzontale solo della luminanza ed attiva o disattiva il de-block
-verticale automaticamente a seconda del tempo di CPU disponibile.
-.RE
-.PD 1
-.
-.TP
-.B spp[=qualità[:qp[:modo]]]
-Filtro di post elaborazione semplice che comprime e decomprime
-l'immagine a parecchi (o \- nel caso del livello di qualità 6 \- tutti) 'shifts'
-(spostamenti) e media i risultati.
-.RSs
-.IPs <qualità>
-0\-6 (default: 3)
-.IPs "<qp>\ "
-Forza il parametro di quantizzazione (default: 0, usa QP del video).
-.IPs <modo>
-0: controllo della soglia rigido (default)
-.br
-1: controllo della soglia meno rigido (miglior eliminazione degli artefatti circolari ma immagine più sfocata)
-.br
-4: come 0, ma usa anche il QP dei fotogrammi B (può causare tremolio (flicker))
-.br
-5: come 1, ma usa anche il QP dei fotogrammi B (può causare tremolio (flicker))
-.RE
-.
-.TP
-.B uspp[=qualità[:qp]]
-Filtro di post elaborazione ultrasemplice & lento che comprime e decomprime
-l'immagine a parecchi (o \- nel caso del livello di qualità 8 \- tutti) 'shifts'
-(spostamenti) e media i risultati.
-La differenza da spp è che uspp codifica & decodifica effettivamente ogni caso
-con libavcodec Snow, mentre spp usa una una DCT 8x8 solo intra semplificata simile
-a MJPEG.
-.RSs
-.IPs <qualità>
-0\-8 (default: 3)
-.IPs "<qp>\ "
-Forza il parametro di quantizzazione (default: 0, usa QP del video).
-.RE
-.
-.TP
-.B fspp[=qualità[:qp[:forza[:fotogrammiB]]]]
-versione più veloce del filtro di post elaborazione semplice
-.RSs
-.IPs <qualità>
-4\-5 (equivalente a spp; default: 4)
-.IPs "<qp>\ "
-Forza il parametro di quantizzazione (default: 0, usa QP del video).
-.IPs <\-15\-32>
-Forza del filtro, valori bassi indicano maggior dettaglio ma anche maggiori
-artefatti, mentre valori più alti rendono l'immagine più morbida ma anche
-più sfocata (default: 0 \- ottimale per PSNR).
-.IPs <fotogrammiB>
-0: non usa il QP dei fotogrammi B (default)
-.br
-1: usa anche il QP dei fotogrammi B (può causare tremolio (flicker))
-.RE
-.
-.TP
-.B pp7[=qp[:modo]]
-Variante del filtro spp, simile a spp=6 con DCT a 7 punti, dove solo la
-campionatura centrale viene usata dopo IDCT.
-.RSs
-.IPs "<qp>\ "
-Forza il parametro di quantizzazione (default: 0, usa QP dal filmato).
-.IPs <modo>
-0: controllo della soglia rigido
-.br
-1: controllo della soglia meno rigido (miglior eliminazione degli artefatti
-circolari ma immagine più sfocata)
-.br
-2: controllo della soglia medio (default, buoni risultati)
-.RE
-.
-.TP
-.B qp=equazione
-Cambia il filtro del parametro di quantizzazione QP
-.RSs
-.IPs <equazione>
-una qualche equazione tipo "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B geq=equazione
-filtro fd modifica con equazione generica
-.RSs
-.IPs <equazione>
-Una qualche equazione, per es.\& 'p(W-X\\,Y)' per ribaltare l'immagine
-orizzontalmente.
-Puoi utilizzare spazi bianchi per rendere più leggibile l'equazione.
-Ci sono un paio di costanti che possono essere utilizzate nell'equazione:
-.RSss
-PI: il numero pi
-.br
-E: il numero e
-.br
-X / Y: le coordinate del campione corrente
-.br
-W / H: larghezza e altezza dell'immagine
-.br
-SW / SH: la scala larghezza/altezza in dipendenza dal piano filtrato corrente,
-per es.\& 1,1 e 0.5,0.5 per YUV 4:2:0.
-.br
-p(x,y): restituisce il valore del pixel alla posizione x/y del piano corrente.
-.REss
-.RE
-.
-.TP
-.B "test\ \ \ "
-Genera varie figure di test.
-.
-.TP
-.B rgbtest[=larghezza:altezza]
-Genera una figura di test RGB, utile per determinare problemi del tipo
-RGB rispetto a BGR.
-Dovresti vedere delle strisce rosse, verdi e blu dall'alto al basso.
-.RSs
-.IPs <larghezza>
-Larghezza della figura generata (default: 0).
-0 corrisponde alla larghezza dell'immagine originaria.
-.br
-.IPs <altezza>
-Altezza della figura generata (default: 0).
-0 corrisponde all'altezza dell'immagine originaria.
-.RE
-.
-.TP
-.B lavc[=qualità:fps]
-Conversione software veloce da YV12 a MPEG-1 da usare con
-DVB/\:DXR3/\:IVTV/\:V4L2.
-Veloce e di migliore qualità rispetto a \-vf fame.
-.RSs
-.IPs <qualità>
-1\-31: qscale (scala di quantizzazione) fissa
-.br
-32\-: bitrate fisso in kbit
-.IPs <fps>
-forza il numero di fps (frame per second, fotogrammi al secondo) di uscita (valore
-decimale) (default: 0, trovato automaticamente basandosi sull'altezza)
-.RE
-.
-.TP
-.B dvbscale[=aspetto]
-Attiva una scalatura ottimale per le schede DVB, riscalando l'asse x via hardware
-e ricalcolando la scalatura sull'asse y via software per mantenere l'aspetto.
-Utile solo insieme a expand e scale.
-.RSs
-.IPs <aspetto>
-Controlla il rapporto di aspetto, calcolato come DVB_HEIGHT*ASPECTRATIO (default:
-576*4/3=768), caricalo a 576*(16/9)=1024 per una TV 16:9.
-.RE
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-FIXME: Spiega un attimo cosa fa ...
-.RE
-.PD 1
-.
-.TP
-.B noise[=luminanza[u][t|a][h][p]:crominanza[u][t|a][h][p]]
-Aggiunge disturbo.
-.PD 0
-.RSs
-.IPs <0\-100>
-disturbo luminanza
-.IPs <0\-100>
-disturbo crominanza
-.IPs u
-disturbo uniforme (altrimenti gaussiano)
-.IPs t
-disturbo temporale (l'aspetto del disturbo cambia tra i fotogrammi)
-.IPs a
-disturbo temporale mediato (più 'morbido', ma molto più lento)
-.IPs h
-alta qualità (appare leggermente migliore, leggermente più lento)
-.IPs p
-miscela disturbo casuale con un aspetto (semi)regolare
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=lumin_spaziale:cromin_spaziale:lumin_temp:cromin_temp]
-Questo filtro cerca di ridurre il disturbo dell'immagine per produrre immagini
-più morbide rendendo le immagini ferme realmente ferme (questo dovrebbe
-aumentare la compressibilità).
-.PD 0
-.RSs
-.IPs <lumin_spaziale>
-intensità spaziale della luminanza (default: 4)
-.IPs <cromin_spaziale>
-intensità spaziale della crominanza (default: 3)
-.IPs <lumin_temp>
-intensità temporale della luminanza (default: 6)
-.IPs <cromin_temp>
-intensità temporale della crominanza
-(default: lumin_temp*cromin_spaziale/lumin_spaziale)
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=lumin_spaziale:cromin_spaziale:lumin_temp:cromin_temp]
-Versione ad alta precisione/\:qualità del filtro denoise3d.
-Parametri ed utilizzo sono gli stessi.
-.
-.TP
-.B ow[=profondità[:intensità_lumin[:intensità_cromin]]]
-Eliminatore di disturbo Overcomplete Wavelet.
-.PD 0
-.RSs
-.IPs <profondità>
-Valori più alti di profondità elimineranno maggiormente il disturbo nei
-componenti a frequenza inferiore, ma rallenteranno il filtraggio (default: 8).
-.IPs <intensità_lumin>
-intensità della luminanza (default: 1.0)
-.IPs <chroma_strength>
-intensità della crominanza (default: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B eq[=luminosità:contrasto] (OBSOLETO)
-Equalizzatore software con controlli interattivi proprio come l'equalizzatore
-hardware, per schede/\:driver che non supportano i controlli di luminosità e
-contrasto in hardware.
-Può anche essere utile con MEncoder, sia per sistemare filmati catturati in
-modo non proprio corretto o per ridurre leggermente il contrasto per
-mascherare artefatti e provare ad ottenere bitrate minori.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-luminosità iniziale
-.IPs <\-100\-100>
-contrasto iniziale
-.RE
-.PD 1
-.
-.TP
-.B eq2[=gamma:contrasto:luminosità:saturazione:rg:gg:bg:peso]
-Equalizzatore software alternativo che utilizza una tabella di lookup
-(molto lento) che permette anche la correzione della gamma oltre ai
-semplice aggiustamento di luminosità e contrasto.
-Nota che viene utilizzato lo stesso codice ottimizzato per MMX come
-\-vf eq se tutti i valori di gamma sono 1.0.
-I parametri sono passati come valori decimali.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-valore iniziale di gamma (default: 1.0)
-.IPs <\-2\-2>
-contrasto iniziale, valori negativi risulteranno in una immagine
-negativa (default: 1.0)
-.IPs <\-1\-1>
-luminosità iniziale (default: 0.0)
-.IPs <0\-3>
-saturazione iniziale (default: 1.0)
-.IPs <0.1\-10>
-valore di gamma per il componente del rosso (default: 1.0)
-.IPs <0.1\-10>
-valore di gamma per il componente del verde (default: 1.0)
-.IPs <0.1\-10>
-valore di gamma per il componente del blu (default: 1.0)
-.IPs <0\-1>
-Il parametro peso può essere usato per ridurre gli effetti di un
-valore molto alto di gamma su aree dell'immagine molto luminose, per es.\&
-cercando di evitare che diventino super amplificate e diventino semplicemente
-bianco.
-Un valore di 0.0 elimina del tutto la correzione gamma mentre 1.0 la lascia
-alla sua efficacia completa (default: 1.0).
-.RE
-.
-.TP
-.B hue[=tonalità:saturazione]
-Equalizzatore software con controlli interattivi esattamente come
-l'equalizzatore hardware, per quelle schede/\:driver che non supportano
-i controlli di tonalità e saturazione in hardware.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-valore iniziale di tonalità (default: 0.0)
-.IPs <\-100\-100>
-valore iniziale di saturazione, dove valori negativi risulteranno in valori
-di crominanza negativi (default: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-Converte dal formato YUV 4:2:0 ad un formato a mezza altezza 4:2:2, riducendo
-la luminanza ma mantenendo tutti i campioni di crominanza.
-Utile per mandare dati a visualizzatori a bassa risoluzione quando la scalatura
-hardware in riduzione è di bassa qualità oppure non è disponibile.
-Può anche essere usato come un deinterlacciatore primitivo che agisce solo
-sulla luminanza ed utilizza molto poco la CPU.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-Per default halfpack media le coppie di linee quando effettua la scalatura
-verso il basso.
-Qualsiasi valore di f diverso da 0 o 1 attiva la gestione di default (media
-delle due linee).
-.RSss
-0: Usa solo le linee pari quando riduce.
-.br
-1: Usa solo le linee dispari quando riduce.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=modo]
-Quando il video interlacciato è memorizzato nel formato YUV 4:2:0, l'interlacciamento
-della crominanza non è allineato in modo completamente corretto a causa del
-sottocampionamento verticale del canale della crominanza.
-Questo filtro compatta i dati in formato planare 4:2:0 nel formato YUY2 (4:2:2) con le
-linee di crominanza nella loro giusta posizione, in modo che in qualsiasi
-linea i dati di luminanza e crominanza vengano dallo stesso campo (field).
-.PD 0
-.RSs
-.IPs <modo>
-Seleziona il modo di campionamento.
-.RSss
-0: campionamento con il valore del pixel più vicino, veloce ma non
-corretto
-.br
-1: interpolazione lineare (default)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-Utile solo con MEncoder.
-Se utilizzato nella codifica, i fotogrammi duplicati vengono comunque
-codificati in modo forzato sull'uscita.
-Questo utilizza leggermente più spazio ma è necessario se si scrivono
-file MPEG oppure se hai intenzione di dividere (demux) e rimettere
-insieme (remux) i flussi video dopo la codifica.
-Dovrebbe essere messo alla fine o vicino alla fine della catena dei
-filtri a meno che tu non abbia delle buone ragioni per fare altrimenti.
-.
-.TP
-.B softskip
-Utile solo con MEncoder.
-Softskip sposta il passo di scarto dei fotogrammi (dropping) della codifica da
-prima della catena dei filtri a qualche punto nella catena dei filtri stessa.
-Questo permette a filtri che necessitano di controllare tutti i fotogrammi
-(telecine inversa, eliminazione temporale del disturbo, ...) di funzionare correttamente.
-Dovrebbe essere inserito dopo il filtro che necessita di vedere tutti i
-fotogrammi e prima di ogni filtro seguente che ha bisogno di molto tempo di
-CPU.
-.
-.TP
-.B decimate[=max:hi:lo:frac]
-Scarta fotogrammi che non sono molto differenti dal precedente per poter
-ridurre la frequenza dei fotogrammi (framerate).
-L'utilizzo principale di questo filtro è per codifiche a bitrate veramente
-molto bassi (ad es.\& per effettuare uno streaming via modem dialup) ma può
-essere in teoria usato per mettere a posto filmati a cui è stata applicato
-un processo inverso di telecine in modo errato.
-.PD 0
-.RSs
-.IPs <max>
-Seleziona il numero massimo di fotogrammi consecutivi che
-possono venire scartati (se positivo), oppure l'intervallo minimo tra
-fotogrammi scartati (se negativo).
-.IPs <hi>,<lo>,<frac>
-Un fotogramma è candidato all'eliminazione se nessun blocco di 8x8 pixel differisce
-per più di una soglia di <hi> e se non più di <frac> parti (1 significa l'immagine
-completa) differiscono per più di una soglia <lo>.
-I valori di <hi> e <lo> sono dati per un blocco di 8x8 pixel e rappresentano
-valori di differenza di pixel, perciò una soglia di 64 corrisponde ad 1 unità
-di differenza per ogni pixel, oppure lo stesso valore distribuito in
-maniera diversa nel blocco (2 differenze di 32, 4 di 16, ...)
-.RE
-.PD 1
-.
-.TP
-.B dint[=sensibilità:livello]
-Il filtro drop-interlace (dint) Trova e scarta il primo fotogramma interlacciato
-da una serie di fotogrammi video.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-differenza relativa tra due pixel vicini (default: 0.1)
-.IPs <0.0\-1.0>
-Quanta parte dell'immagine deve essere rilevata come interlacciata per
-scartare il fotogramma (default: 0.15).
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (OBSOLETO)
-filtro di deinterlacciamento di FFmpeg, lo stesso che \-vf pp=fd
-.
-.TP
-.B kerndeint[=soglia[:mappa[:ordine[:nitidezza[:2vie]]]]]
-Deinterlacciatore adattivo di Donald Graft.
-Deinterlaccia parti del filmato se una soglia configurabile viene superata.
-.PD 0
-.RSs
-.IPs (0\-255
-soglia (default 10).
-.IPs <map>
-.RSss
-0: Ignora i pixel che eccedono la soglia (default).
-.br
-1: Colora in bianco i pixel che eccedono la soglia.
-.REss
-.IPs <ordine>
-.RSss
-0: Non tocca i campi (field) (default).
-.br
-1: Inverte i campi.
-.REss
-.IPs <nitidezza>
-.RSss
-0: Disabilita la nitidezza (sharpening) addizionale (default).
-.br
-1: Abilita la nitidezza (sharpening) addizionale.
-.REss
-.IPs <2vie>
-.RSss
-0: Abilita lo sharpening a due vie (default).
-.br
-1: Abilita lo sharpening a due vie.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cWxH:quantità[:l|cWxH:quantità]]
-maschera di eliminazione dei particolari (unsharp) / sfocatura gaussiana
-.RSs
-.IPs "l\ \ \ \ "
-Applica l'effetto sul componente luminanza.
-.IPs "c\ \ \ \ "
-Applica l'effetto sul componente crominanza.
-.IPs <larghezza>x<altezza>
-larghezza ed altezza della matrice, dimensioni dispari in entrambe le direzioni
-(min = 3x3, max = 13x11 o 11x13, normalmente qualcosa tra 3x3 e 7x7)
-.IPs quantità
-Quantità relativa di nitidezza/\:sfocatura da aggiungere all'immagine
-(una gamma valida dovrebbe essere \-1.5\-1.5).
-.RSss
-<0: sfoca
-.br
->0: rende più nitido
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-Scambia i piani U & V.
-.
-.TP
-.B il[=d|i][s][:[d|i][s]]
-(De)interleave delle linee.
-Lo scopo di questo filtro è l'aggiunta della possibilità di processare
-immagini interlacciate sul singolo campo (field) senza deinterllacciarle.
-Puoi filtrare il tuo DVD interlacciato e visualizzarlo sulla TV senza
-rovinare l'interlacciamento.
-Mentre il deinterlacciamento (con il filtro di post elaborazione) rimuove
-l'interlacciamento in modo permanente (attraverso un ammorbidimento, una
-media, etc) il deinterleave divide i fotogrammi in due campi (chiamati
-mezze immagini), così li puoi processare (filtrare) in modo indipendente
-e poi effettuare il re-interleave per riottenere l'immagine interlacciata.
-.PD 0
-.RSs
-.IPs d
-de-interleave (piazza un campo sopra all'altro)
-.IPs i
-re-interleave
-.IPs s
-scambia i campi (scambia le linee pari e dispari)
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-(De)interleave veloce delle linee.
-Questo filtro è molto simile al filtro il ma molto più veloce, il
-grosso svantaggio è che non sempre funziona.
-Specialmente se combinato con altri filtri può produrre immagini super disturbate in
-modo casuale perciò sii felice se funziona ma non lamentarti se per caso
-non funziona con la tua combinazione di filtri.
-.PD 0
-.RSs
-.IPs d
-De-interleave dei campi, sistemandoli fianco a fianco.
-.IPs i
-Re-interleave di nuovo dei campi (annullando l'effetto di
-fil=d).
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-Estrae un singolo campo (field) da un immagine interlacciata utilizzando
-l'aritmetica delle strisce (stride) per evitare di sprecare tempo
-di CPU.
-L'argomento opzionale n specifica se estrarre il campo pari o dispari
-(a seconda che n sia pari o dispari).
-.
-.TP
-.B detc[=var1=valore1:var2=valore2:...]
-Prova a invertire il processo di 'telecine' per ottenere un flusso 'pulito',
-non interlacciato ad un framerate da film.
-Questo è il primo e più primitivo filtro per il processo di telecine
-inversa ad essere stato aggiunto a MPlayer/\:MEncoder.
-Funziona bloccandosi sul modello 3:2 del processo di telecine e seguendolo
-finché è possibile.
-Questo lo rende adatto per materiale a cui il processo di telecine è
-stato applicato in modo perfetto, anche in presenza di un certo livello
-di disturbo, ma genera risultati errati in presenza di modifiche complesse
-applicate dopo il processo di telecine stesso.
-Lo sviluppo di questo filtro non ha più luogo in quanto ivtc, pullup e
-filmdint sono migliori per molte applicazioni.
-I parametri successivi (vedi la sintassi sopra) possono essere usati
-per controllare il comportamento del filtro detc:
-.RSs
-.IPs "<dr>\ "
-Seleziona la modalità di scarto dei fotogrammi.
-.RSss
-0: Non scarta alcun fotogramma per mantenere un framerate di uscita
-fisso (default).
-.br
-1: Scarta un fotogramma quando non ci sono state eliminazioni
-o miscelazioni dovute al telecine negli ultimi 5 fotogrammi.
-.br
-2: Mantiene sempre un rapporto 5:4 tra il framerate
-di ingresso ed uscita.
-.br
-.I NOTA:
-Utilizza il modo 1 oppure 2 con MEncoder.
-.REss
-.IPs "<am>\ "
-Modo di analisi.
-.RSss
-0: Modello fisso con numero di fotogramma iniziale specificato da <fr>.
-.br
-1: Ricerca aggressiva del modello di telecine (default).
-.REss
-.IPs "<fr>\ "
-Indica il numero iniziale di fotogramma nella sequenza.
-0\/2 sono i tre fotogrammi progressivi 'puliti', 3 e 4 sono i due
-fotogrammi interlacciati.
-Il default, \-1, indica 'non nella sequenza di telecine'.
-Il numero specificato qui è il tipo del fotogramma immaginario
-che abbiamo prima che inizi il film.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-Valori di soglia da usare in certe modalità.
-.RE
-.
-.TP
-.B ivtc[=1]
-Filtro sperimentale di inversione del telecine 'stateless'.
-Piuttosto che provare a bloccarsi su un modello come fa il filtro
-detc, ivtc effettua la sua decisione in maniera indipendente per ogni
-fotogramma.
-Questo darà risultati molto migliori nel caso di materiale che è
-stato sottoposto a modifiche pesanti dopo che è stato applicato il
-telecine, ma non è così bravo con materiale pieno di disturbo, ad
-esempio filmati catturati dalla TV.
-Il parametro opzionale (ivtc=1) corrisponde all'opzione dr=1 del filtro
-detc e dovrebbe essere usato con MEncoder ma non con MPlayer.
-Così come con detc, quando lo usi con MEncoder devi specificare il
-corretto framerate di uscita (\-ofps 24000/1001).
-Lo sviluppo del filtro ivtc è attualmente fermo in quanto i filtri
-pullup e filmdint sembrano molto più accurati.
-.
-.TP
-.B pullup[=jl:jr:jt:jb:sb:mp]
-Filtro di inversione del telecine di terza generazione, capace
-di gestire materiale misto con telecine, progressivo a 24000/1001
-fotogrammi al secondo e progressivo a 30000/1001 fps.
-Il filtro pullup è progettato per essere molto più robusto
-dei filtri detc e ivtc, avendo la possibilità di guardare
-il contesto futuro per prendere le proprie decisioni.
-Come ivtc, pullup è 'stateless', nel senso che non si blocca su un modello
-da seguire, ma invece guarda avanti ai campi (field) successivi in modo da
-identificare delle corrispondenze e ricreare i fotogrammi progressivi.
-E' ancora sotto sviluppo ma si crede che sia abbastanza preciso.
-
-.RSs
-.IPs "jl, jr, jt, e jb"
-Queste opzioni selezionano l'ammontare di cianfrusaglie ('junk')
-da ignorare, rispettivamente, a sinistra, destra, alto e basso dell'immagine.
-Destra/\:sinistra sono in unità di 8 pixel mentre alto/\:basso sono in unità
-di 2 linee.
-Il default è 8 pixel per ogni lato.
-.br
-.IPs "sb (strict breaks, interruzioni rigorose)"
-Impostare questa opzione ad 1 ridurrà la possibilità di generare
-un'interpretazione errata del fotogramma, ma potrebbe anche causare
-l'eliminazione di un numero eccessivo di fotogrammi durante sequenze con
-molto movimento.
-Al contrario, ponendo questa opzione a \-1 si permetterà al filtro pullup di
-riconoscere i fotogrammi più facilmente.
-Questo può aiutare l'elaborazione di video dove c'è un certo sfocamento
-tra i campi ma può anche causare la conversione in fotogrammi interlacciati
-sull'uscita.
-.br
-.IPs "mp (metric plane, piano di metrica)"
-Questa opzione può essere impostata a 1 o 2 per usare un piano di crominanza
-invece che quello della luminanza per effettuare i calcoli del filtro pullup.
-Questo può migliorare la precisione nel caso di materiale molto pulito, ma
-normalmente la peggiorerà, specialmente se abbiamo del disturbo nel piano di
-crominanza (effetto arcobaleno) oppure se alcuni pezzi del video sono in
-bianco e nero.
-Lo scopo principale di forzare il filtro pullup ad usare un piano di
-crominanza è quello di abbassare l'utilizzo di CPU e rendere il filtro
-utilizzabile in tempo reale su macchine lente.
-.REss
-.RS
-.sp 1
-.I NOTA:
-Postponi sempre al filtro pullup il filtro softskip quando codifichi,
-per assicurarti che pullup possa vedere tutti i fotogrammi.
-Non farlo porterà ad avere un filmato non corretto e normalmente porterà
-a dei blocchi, dovuti alle limitazioni di progetto del livello dei
-codec/\:filtri.
-.REss
-.
-.TP
-.B filmdint[=opzioni]
-Filtro di inversione del telecine, simile al filtro pullup sopra.
-E' progettato per gestire qualsiasi modello di pulldown, inclusa una
-combinazione di soft ed hard telecine ed un limitato supporto per filmati
-che sono stati rallentati o velocizzati dal loro framerate originale per
-la TV.
-Solo il piano luminanza viene usato per trovare le divisioni dei frame.
-Se un campo non ha corrispondenza, viene interlacciato con una semplice
-approssimazione lineare.
-Se il filmato è in formato MPEG-2 questo deve essere il primo filtro per
-poter accedere al flag del campo (field) attivato dal decoder MPEG-2.
-A seconda del filmato originale MPEG che volete processare, potresti
-tranquillamente ignorare questo consiglio, almeno finché non vedi una lunga
-serie di avvertimenti "bottom-field first".
-Senza opzioni effettua una normale inversione del processo di telecine e
-dovrebbe essere usato con le opzioni di MEncoder \-fps 30000/10001 e \-ofps 24000/1001.
-Quando questo filtro è usato con MPlayer, genererà un framerate diseguale
-durante la riproduzione, ma è generalmente meglio che usare pp=lb
-oppure nessun deinterlacciamento.
-Opzioni multiple possono essere specificate separate da /.
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-Uguale al filtro crop, ma più veloce e lavora su filmati con combinazioni
-di hard e soft telecine e anche quando y non è un multiplo di 4.
-Se x o y dovessero richiedere il ritaglio di pixel frazionali dai piani
-della crominanza, l'area di crop viene estesa.
-Questo generalmente indica che x e y devono essere pari.
-.IPs io=<ifps>:<ofps>
-Per ogni ifps fotogramma di ingresso il filtro genererà ofps fotogrammi
-di uscita.
-Il rapporto di ipfs/\:ofps deve corrispondere al rapporto \-fps/\-ofps.
-Può essere usato per filtrare filmati che sono trasmessi alla TV ad un
-framerate differente da quello originale.
-.IPs luma_only=<n>
-Se n è diverso da 0 il piano croma è copiato cosi com'è.
-E' utile per materiale dalla TV con campionamento YV12, dove si ignora uno dei
-campi (field) del croma.
-.IPs mmx2=<n>
-Nel caso di x86, se n=1 utilizza funzioni ottimizzate per MMX2,
-se n=2 usa funzioni ottimizzate per 3DNow!, altrimenti usa C semplice.
-Se questa opzione non è specificata l'utilizzo di MMX2 o 3DNow! è automatico,
-utilizza questa opzione per modificare la ricerca automatica.
-.IPs fast=<n>
-Valori più alti di n velocizzano il filtro a scapito dell'accuratezza.
-Il valore di default è n=3.
-Se n è dispari, un fotogramma immediatamente successivo ad un fotogramma
-marcato con il flag MPEG REPEAT_FIRST_FIELD viene considerato come
-progressivo, perciò il filtro non perderà nessun tempo su materiale
-MPEG-2 con soft-telecine.
-Questo è l'unico effetto del flag se MMX2 o 3DNow! sono disponibili.
-Senza MMX2 e 3DNow!, se n=0 o 1, lo stesso calcolo viene usato come
-con n=2 o 3.
-Se n=2 o 3, il numero di livelli di luminanza usati per trovare i cambi di
-fotogramma è ridotto da 256 a 128, che permette di ottenere un filtro
-più rapido senza perdere troppa precisione.
-Se n=4 o 5 un sistema più veloce ma meno accurato viene usato per trovare
-i cambi di fotogramma ma diventa più facile riconoscere in modo errato
-dettagli verticali come interlacciamento.
-.IPs verbose=<n>
-Se n non è zero, stampa la metrica dettagliata per ogni fotogramma.
-Utile per il debug.
-.IPs dint_thres=<n>
-Soglia di de-interlacciamento.
-Usato nel de-interlacciamento di fotogrammi non riconosciuti.
-Valori più alti significano meno deinterlacciamento, usa n=256 per
-disabilitare completamente il deinterlacciamento.
-Il default è n=8.
-.IPs comb_thres=<n>
-Soglia per comparare i campi (field) superiore ed inferiore.
-Il default è 128.
-.IPs diff_thres=<n>
-Soglia per determinare il cambio temporale di un campo.
-Il default è 128.
-.IPs sad_thres=<n>
-Soglia della somma delle differenze assolute, il default è 64.
-.RE
-.
-.TP
-.B softpulldown
-Questo filtro funziona correttamente solo con MEncoder e agisce sul flag MPEG-2
-usato per effettuare il pulldown soft 3:2 (noto anche come soft telecine).
-Se vuoi usare il filtro ivtc oppure detc su filmati che sono parzialmente
-codificati in modalità soft telecine, inserendo prima questo filtro li rendi
-molto più affidabili.
-.
-.TP
-.B divtc[=opzioni]
-Telecine inversa per video deinterlacciati.
-Se il video a cui è stato applicato il processo di telecine (3:2-pulldown) ha
-perso uno dei campi (field) oppure è deinterllaciato utilizzando un metodo che
-preserva un campo e interpola l'altro, il risultato è un video 'saltellante'
-che ha un fotogramma ogni quattro duplicato.
-Questo filtro è studiato per trovare e scartare questi doppioni e ripristinare
-la velocità originale del film.
-Quando si utilizza questo filtro devi specificare un valore di \-ofps che è 4/5
-della velocità (in fotogrammi al secondo, fps) del file di ingresso (24000/1001
-se l'ingresso è a 30000/1001 fps) e mettere il filtro softskip dopo nella catena
-dei filtri per essere sicuro che questo filtro veda tutti i fotogrammi.
-Sono disponibili due modalità:
-La modalità ad un solo passo è il default ed è estremamente facile da usare ma
-ha lo svantaggio che qualsiasi cambio nella fase del telecine (fotogrammi persi
-oppure modifiche errate) può causare momentanei saltellamenti finché il filtro
-non riesce a sincronizzarsi di nuovo.
-La modalità a due passi evita questo analizzando il video completo prima di
-agire, così avrà una conoscenza 'futura' dei vari cambiamenti di fase e potrà
-sincronizzarsi al punto esatto.
-Questi passi
-.B non
-corrispondono al passo uno e due del processo di codifica.
-Devi eseguire un passaggio extra utilizzando il passo uno di divtc prima di
-iniziare il processo completo di codifica, ignorando il video generato.
-Usa \-nosound \-ovc raw \-o /dev/null per evitare di sprecare potenza di CPU in
-questo passaggio.
-Puoi anche aggiungere qualcosa del tipo crop=2:2:0:0 dopo il filtro divtc per
-migliorare un altro poco la velocità.
-Al termine puoi usare il passo due di divtc per la codifica reale.
-Se usi passi multipli di codifica devi usare il passo due di divtc su tutti.
-Le opzioni sono:
-.RSs
-.IPs pass=1|2
-Utilizza due passi.
-.IPs file=<nomefile>
-Imposta il nome del file di log per la modalità a due passi (default: "framediff.log").
-.IPs threshold=<valore>
-Imposta il valore minimo della forza che deve avere il modello di telecine per
-permettere al filtro di riconoscerlo (default: 0.5).
-Viene utilizzato per evitare di riconoscere falsi modelli nelle parti di video
-che sono o molto scure o senza molti movimenti.
-.IPs window=<numframes>
-Imposta il numero di fotogrammi passati da controllare quando si cerca il
-modello (default: 30).
-Finestre più lunghe migliorano l'affidabilità della ricerca del modello,
-mentre finestre più corte migliorano il tempo di reazione nel caso di
-cambiamenti della fase del telecine.
-Questo influisce solo sulla modalità ad un passo.
-La modalità a due passi attualmente utilizza una finestra fissa che si estende
-sia nel futuro che nel passato.
-.IPs phase=0|1|2|3|4
-Imposta il valore iniziale di fase del telecine per modalità un passo (default: 0).
-La modalità a due passi può vedere il futuro ed è perciò capace di
-usare il valore corretto di fase dall'inizio, mentre la modalità ad un passo
-può solo provare ad indovinare.
-Viene comunque utilizzata la fase corretta quando viene trovata, ma questa
-opzione può essere usata per correggere il possibile saltellamento all'inizio.
-Anche il primo passo della modalità a due passi utilizza questo valore, così
-se salvi i dati dal primo passo ottieni dei risultati costanti di fase.
-.IPs deghost=<valore>
-Imposta la soglia per il deghosting (eliminazione effetto fantasma) (0\-255 per
-modalità ad un passo, \-255\-255 per la modalità a due passi, default 0).
-Se diversa da zero si abilità la modalità deghost.
-Viene utilizzata per quei video che sono stati deinterlacciati miscelando i due
-campi (field) insieme invece di eliminarne solo uno dei due.
-L'applicazione dell'algoritmo di deghost amplifica qualsiasi artefatto dovuto
-alla compressione nel fotogramma miscelato, ed il valore del parametro viene
-usato come una soglia che esclude dall'operazione quei pixel che differiscono
-dal fotogramma precedente meno del valore specificato.
-Se si utilizza la modalità a due passi si può usare il valore negativo per
-fare analizzare al filtro il video completo all'inizio del passo 2, per
-determinare se necessita o meno dell'applicazione del deghost e poi selezionare
-zero oppure il valore assoluto del parametro.
-Specifica questa opzione nel passo 2, non fa nessuna differenza nel passo 1.
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-Ritarda il video interlacciato del tempo di un campo (field) in modo da
-cambiare l'ordine dei campi stessi.
-L'utilizzo previsto è per sistemare filmati PAL che sono stati catturati con
-l'ordine dei campi opposto a quello del trasferimento da film a video.
-Le opzioni sono:
-.RSs
-.IPs t
-Cattura i campi in ordine top-first (prima il superiore), trasferisce
-bottom-first (prima quello inferiore).
-Il filtro ritarderà il campo inferiore.
-.IPs b
-Cattura in ordine bottom-first, trasferisce top-first.
-Il filtro ritarderà il campo superiore.
-.IPs p
-Cattura e trasferisce con lo stesso ordine campi.
-Questa modalità esiste solo per permettere alla documentazione delle altre opzioni
-di potervisi riferire, ma se, eventualmente, la selezioni, il filtro fedelmente
-non farà assolutamente nulla ;-)
-.IPs a
-L'ordine di cattura dei campi è determinato automaticamente dai flag del campo,
-trasferisce l'opposto.
-Il filtro sceglie tra le modalità t e b fotogramma per fotogramma utilizzando il
-flag del campo.
-Se non è presente nessuna informazione sul campo, si comporta come l'opzione u.
-.IPs u
-Cattura sconosciuta o variabile, trasferisce l'opposto.
-Il filtro sceglie tra le modalità t e b fotogramma per fotogramma analizzando
-le immagini e selezionando l'alternativa che produce il miglior riscontro
-tra i campi.
-.IPs T
-Cattura top-first, trasferisce sconosciuto o variabile.
-Il filtro sceglie la modalità t o p utilizzando l'analisi dell'immagine.
-.IPs B
-Cattura bottom-first, trasferisce sconosciuto o variabile.
-Il filtro sceglie la modalità b o p utilizzando l'analisi dell'immagine.
-.IPs A
-Cattura determinata dal flag del campo, trasferisce sconosciuto o variabile.
-Il filtro sceglie tra le modalità t, b e p utilizzando il flag
-del campo e l'analisi dell'immagine.
-Se non abbiamo informazioni sui campi allora questa modalità è uguale alla U.
-Questa è la modalità di default.
-.IPs U
-Sia cattura che trasferimento sconosciuto o variabile.
-Il filtro seleziona tra la modalità t, b, e p utilizzando solo l'analisi dell'immagine.
-.IPs v
-Operazioni prolisse.
-Stampa il modo selezionato per ogni fotogramma e la differenza media quadratica
-tra i campi per le alternative delle modalità t, b, e p.
-.RE
-.
-.TP
-.B telecine[=inizio]
-Applica il processo di 'telecine' 3:2 per incrementare il framerate
-del 20%.
-Molto probabilmente non funzionerà correttamente con MPlayer ma
-può essere usato con 'mencoder \-fps 30000/1001 \-ofps 30000/1001 \-vf telecine'.
-Entrambe le opzioni fps sono essenziali! (il sincronismo A/V sarà
-errato se sono sbagliate).
-Il parametro opzionale inizio dice al filtro dove deve cominciare
-nel modello di telecine (0\-3).
-.
-.TP
-.B tinterlace[=modo]
-Interlacciamento temporale dei campi (field) \- unisce coppie di fotogrammi in
-un singolo fotogramma, dimezzando il framerate.
-I fotogrammi pari sono spostati nel campo superiore, quelli dispari nel campo
-inferiore.
-Questo può essere usato per invertire completamente l'effetto del
-filtro tfields (in modalità 0).
-I modi disponibili sono:
-.PD 0
-.RSs
-.IPs 0
-Muove i fotogrammi dispari nel campo superiore e quelli pari nell'inferiore,
-generando un fotogramma ad altezza completa a metà del framerate.
-.IPs 1
-Lascia passare solo i fotogrammi dispari, i fotogrammi pari sono eliminati,
-altezza non cambiata.
-.IPs 2
-Lascia passare solo i fotogrammi pari, i fotogrammi dispari sono eliminati,
-altezza non cambiata.
-.IPs 3
-Espande ogni fotogramma ad altezza completa, ma riempie le linee alternate
-con il colore nero. Il framerate non viene cambiato.
-.IPs 4
-Inframezza le linee pari di ogni fotogramma pari con le linee dispari dei
-fotogrammi dispari.
-Altezza completa a metà della frequenza (framerate).
-.RE
-.PD 1
-.
-.TP
-.B tfields[=modo[:posizione_campo]]
-Separazione temporale dei campi \- divide i campi in fotogrammi, raddoppiando
-la frequenza dei fotogrammi (framerate) di uscita.
-Come il filtro telecine, tfields potrebbe lavorare in modo non corretto, tranne
-quando usato con MEncoder e con entrambe le opzioni \-fps e \-ofps impostate al
-valore desiderato (doppio) della frequenza fotogrammi.
-.PD 0
-.RSs
-.IPs <modo>
-0: Lascia i campi invariati (questo salterà/\:sfarfallerà).
-.br
-1: Interpola le linee mancanti (l'algoritmo usato potrebbe non essere
-così buono).
-.br
-2: Trasla i campi di 1/4 di pixel con interpolazione lineare (niente salti).
-.br
-4: Trasla i campi di 1/4 di pixel con un filtro 4tap (qualità più alta). (default)
-.IPs <posizione_campo>\ (DEPRECATA)
-\-1: automatica (default)
-Funziona solo se il decodificatore esporta le informazioni appropriate e
-nessun altro filtro che scarti queste informazioni viene prima di tfields
-nella catena dei filtri, in caso contrario passa a 0 (top-first).
-.br
-0: prima il campo superiore
-.br
-1: prima il campo inferiore
-.br
-.I NOTA:
-Questa opzione possibilmente verrà rimossa in una delle prossime versioni.
-Utilizza al suo posto \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B yadif=[modo[:posizione_campo]]
-Ancora un filtro di deinterlacciamento
-.PD 0
-.RSs
-.IPs <modo>
-0: Produce 1 fotogramma per ciascun fotogramma.
-.br
-1: Produce 1 fotogramma per ciascun campo.
-.br
-2: Come 0, ma salta il controllo di interlacciamento spaziale.
-.br
-3: Come 1, ma salta il controllo di interlacciamento spaziale.
-.IPs <posizione_campo>\ (DEPRECATA)
-Funziona come in tfields.
-.br
-.I NOTA:
-Questa opzione possibilmente verrà rimossa in una delle prossime versioni.
-Utilizza al suo posto \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[modalità[:parità[:qp]]]
-Deinterlacciatore che compensa il movimento.
-Richiede un campo per fotogramma in entrata e deve perciò essere usato insieme
-con tfields=1 oppure yadif=1/3 o equivalente.
-.PD 0
-.RSs
-.IPs <modalità>
-0: veloce
-.br
-1: medio
-.br
-2: lento, stima di movimento iterativa
-.br
-3: molto lento, come 2, con in più fotogrammi di riferimento multipli
-.IPs <parità>
-0 oppure 1 decidono quale campo utilizzare
-(nota: ancora nessun rilevamento automatico!).
-.IPs "<qp>\ "
-Valori più alti dovrebbero portare un campo del vettore di movimento più fluido
-ma vettori singoli meno ottimizzati.
-.RE
-.PD 1
-.
-.TP
-.B boxblur=raggio:potenza[:raggio:potenza]
-sfocatura rettangolare.
-.PD 0
-.RSs
-.IPs <raggio>
-forza del filtro di sfocatura
-.IPs <potenza>
-numero di applicazioni del filtro
-.RE
-.PD 1
-.
-.TP
-.B sab=raggio:pf:colorDiff[:raggio:pf:colorDiff]
-sfocatura adattiva alla forma
-.PD 0
-.RSs
-.IPs <raggio>
-forza del filtro di sfocatura (~0.1\-4.0) (più lento se più grande)
-.IPs "<pf>\ "
-forza del prefiltro (~0.1\-2.0)
-.IPs <colorDiff>
-differenza massima tra i pixel perché vengano considerati (~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B smartblur=raggio:forza:limite[:raggio:forza:limite]
-sfocatura intelligente
-.PD 0
-.RSs
-.IPs <raggio>
-forza del filtro di sfocatura (~0.1\-5.0) (più lento se più grande)
-.IPs <forza>
-sfocatura (0.0\-1.0) oppure nitidezza (\-1.0\-0.0)
-.IPs <limite>
-filtra tutto (0), filtra aree uniformi (0\-30) oppure filtra gli spigoli
-(\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-Corregge la prospettiva di video non filmati in modo perpendicolare allo
-schermo.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-coordinate degli angoli superiore sinistro, superiore destro, inferiore
-sinistro, inferiore destro
-.IPs "<t>\ \ "
-campionamento lineare (0) o cubico (1)
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-Scala e ammorbidisce l'immagine con l'algoritmo di scalatura ed interpolazione
-2x.
-.
-.TP
-.B "1bpp\ \ \ "
-conversione da mappa di bit a 1bpp a YUV/\:BGR 8/\:15/\:16/\:32
-.
-.TP
-.B down3dright[=linee]
-Riposiziona e ridimensiona immagini stereoscopiche.
-Estrae entrambi i campi (field) stereo e li posiziona uno a fianco all'altro,
-ridimensionandoli per mantenere l'aspetto originale del filmato.
-.PD 0
-.RSs
-.IPs <linee>
-numero di linee da selezionare dal centro dell'immagine (default: 12)
-.RE
-.PD 1
-.
-.TP
-.B bmovl=hidden:opaque:fifo
-Il filtro di bitmap overlay legge mappe di bit da una FIFO e le
-visualizza sopra al filmato, permettendo alcune trasformazioni
-sull'immagine.
-Vedi anche TOOLS/bmovl-test.c per un piccolo programma di test.
-.
-.PD 0
-.RSs
-.IPs <hidden>
-Imposta il valore di default del flag 'hidden' (0=visibile, 1=nascosta).
-.IPs <opaque>
-Imposta il valore di default del flag 'opaque' (0=trasparente, 1=opaca).
-.IPs <fifo>
-percorso/\:file della FIFO (la named pipe che connette 'mplayer \-vf bmovl'
-all'applicazione che lo controlla)
-.RE
-.PD 1
-.sp 1
-.RS
-I comandi FIFO sono:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 width height xpos ypos alpha clear"
-seguita da width*height*4 Bytes di dati RGBA32 grezzi.
-.IPs "ABGR32 width height xpos ypos alpha clear"
-seguita da width*height*4 Bytes di dati ABGR32 grezzi.
-.IPs "RGB24 width height xpos ypos alpha clear"
-seguita da width*height*3 Bytes di dati RGB24 grezzi.
-.IPs "BGR24 width height xpos ypos alpha clear"
-seguita da width*height*3 Bytes di dati BGR24 grezzi.
-.IPs "ALPHA width height xpos ypos alpha"
-Cambia il valore di trasparenza alpha dell'area specificata.
-.IPs "CLEAR width height xpos ypos"
-Pulisce l'area.
-.IPs OPAQUE
-Disabilita tutta la gestione della trasparenza alpha.
-Manda "ALPHA 0 0 0 0 0" per riabilitarla.
-.IPs "HIDE\ "
-Nasconde la bitmap.
-.IPs "SHOW\ "
-Visualizza la bitmap.
-.RE
-.PD 1
-.sp 1
-.RS
-Gli argomenti sono:
-.RE
-.PD 0
-.RSs
-.IPs "<width>, <height>"
-dimensione dell'immagine/\:area
-.IPs "<xpos>, <ypos>"
-inizia dalla posizione x/\:y dell'immagine
-.IPs <alpha>
-Imposta il valore di differenza alpha.
-Se lo imposti al valore \-255 puoi poi mandare una sequenza di comandi ALPHA
-per impostare l'area a \-225, \-200, \-175 e cosi' via per un bell'effetto di fade-in! ;)
-.RSss
-0: come l'originale
-.br
-255: Rende tutto opaco.
-.br
-\-255: Rende tutto trasparente.
-.REss
-.IPs <clear>
-Pulisce il framebuffer prima di copiarlo sul video.
-.RSss
-0: L'immagine verrà semplicemente copiata sopra la vecchia, perciò non
-devi mandare 1,8MB di dati RGBA32 ogni volta che una piccola parte dello
-schermo è da aggiornare.
-.br
-1: pulisci
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]step
-Visualizza solo ogni step-esimo fotogramma oppure ogni fotogramma Intra
-(fotogramma chiave).
-.sp 1
-Se invochi il filtro con I (maiuscolo) come parametro, allora
-.B solo
-i fotogrammi chiave (keyframe) vengono visualizzati.
-Per i DVD questo generalmente significa uno ogni 15/12 fotogrammi (IBBPBBPBBPBBPBB),
-per i file AVI questo significa ogni cambio di scena oppure ogni valore di keyint
-(vedi \-lavcopts keyint=valore se utilizzi MEncoder per codificare il video).
-.sp 1
-Quando si trova un keyframe viene stampata la stringa 'I!' seguita da un carattere
-di 'a capo', lasciando la linea corrente di uscita di MPlayer/\:MEncoder sullo schermo,
-utile in quanto contiene il tempo (in secondi) e il numero di fotogramma corrispondente al
-keyframe (puoi usare questa informazione per dividere il file AVI in modo corretto).
-.sp 1
-Se chiami il filtro con un parametro numerico 'step' allora solo un fotogramma
-ogni 'step' viene visualizzato.
-.sp 1
-Se metti il carattere 'i' (minuscolo) prima del numero allora una 'I!' viene
-stampata (come con il parametro I).
-.sp 1
-Se passi solo il parametro i allora non viene fatto niente ai fotogrammi,
-solo la I! viene stampata.
-.
-.TP
-.B tile=xtiles:ytiles:output:start:delta
-Combina una serie di immagini in una immagine singola, più grande.
-Se ometti un parametro oppure utilizzi un valore minore di 0 allora
-viene usato il valore di default.
-Puoi anche fermarti quando sei soddisfatto (... \-vf tile=10:5 ...).
-E' probabilmente una buona idea mettere il filtro scale prima del
-filtro tile :-)
-.sp 1
-I parametri sono:
-.sp 1
-.PD 0
-.RSs
-.IPs <xtiles>
-numero di immagini sull'asse x (default: 5)
-.IPs <ytiles>
-numero di immagini sull'asse y (default: 5)
-.IPs <output>
-Visualizza l'immagine composta ogni 'output' fotogrammi di ingresso,
-dove 'output' deve essere un numero minore di xtile * ytile.
-Le immagini mancanti sono lasciate vuote.
-Puoi, ad esempio, scrivere un'immagine da 8 * 7 immagini ogni 50 fotogrammi
-per avere una immagine ogni 2 secondi @ 25 fps.
-.IPs <start>
-pixel all'inizio/\:fine (larghezza del bordo esterno) (default: 2)
-.IPs <delta>
-pixel tra 2 immagini (larghezza del bordo interno) (default: 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:w:h:t]
-Elimina il logo di una stazione TV con una semplice interpolazione
-dei pixel circostanti.
-Metti semplicemente un rettangolo che copre il logo e guardarlo scomparire
-(e ogni tanto qualcosa di più brutto appare \- dipende).
-.PD 0
-.RSs
-.IPs <x>,<y>
-angolo alto a sinistra del logo
-.IPs <w>,<h>
-larghezza ed altezza del rettangolo da pulire
-.IPs <t>
-Spessore del bordo 'fuzzy' del rettangolo (aggiunto a w e h).
-Quando è \-1 un rettangolo verde viene disegnato sullo schermo per
-riuscire a trovare più facilmente i parametri x,y,w,h giusti.
-.RE
-.PD 1
-.
-.TP
-.B remove-logo=/percorso/del/nome_file_bitmap_logo.pgm
-Elimina il logo della stazione TV, utilizzando una immagine PGM o PPM per
-determinare quali pixel comprendono il logo.
-La larghezza e l'altezza dell'immagine devono essere uguali a quelle del
-flusso video elaborato.
-Utilizza l'immagine filtro ed un algoritmo di sfocatura circolare per
-rimuovere il logo.
-.RSs
-.IPs /percorso/del/nome_file_bitmap_logo.pgm
-[percorso] + nomefile dell'imagine filtro.
-.RE
-.
-.TP
-.B zrmjpeg[=opzioni]
-Encoder software da YV12 a MJPEG da usare con il dispositivo di
-uscita video zr2.
-.RSs
-.IPs maxheight=<h>|maxwidth=<w>
-Queste opzioni selezionano le massime larghezze ed altezze gestibili
-dalla scheda zr (la gestione dei filtri di MPlayer attualmente non
-riesce ad ottenerli da sola).
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Utilizza queste opzioni per impostare maxwidth e maxheight automaticamente
-ai valori conosciuti per la combinazione scheda/\:modalità.
-Per esempio, opzioni valide sono dc10-PAL e buz-NTSC (default: dc10+PAL)
-.IPs color|bw
-Seleziona la codifica a colori oppure in bianco e nero.
-La codifica in bianco e nero è più veloce.
-Colore è il default.
-.IPs hdec={1,2,4}
-Decimazione orizzontale: 1, 2 o 4.
-.IPs vdec={1,2,4}
-Decimazione verticale: 1, 2 or 4.
-.IPs quality=1\-20
-Seleziona la qualità della compressione JPEG, [MIGLIORE] 1 \- 20 [MOLTO BRUTTA].
-.IPs fd|nofd
-Per default, la decimazione viene eseguita se l'hardware Zoran può
-scalare il file MJPEG risultante alla dimensione originale.
-L'opzione fd indica al filtro di eseguire sempre la decimazione
-richiesta (brutto).
-.RE
-.
-.TP
-.B screenshot
-Permette l'acquisizione di istantanee del filmato usando comandi slave che
-possono venir collegati a comandi di input.
-Vedi la documentazione per la modalità slave e la sezione CONTROLLI INTERATTIVI
-per i dettagli.
-Verranno salvati dei file con nome 'shotNNNN.png' nella directory corrente,
-usando il primo numero disponibile \- nessun file sarà sovrascritto.
-Il filtro se non viene usato non appesantisce il programma e accetta uno spazio
-colore arbitrario, quindi può esser impostato senza problemi nel file di
-configurazione.
-Assicurati di aggiungere il filtro screenshot dopo tutti gli altri filtri che
-influenzano l'immagine che vuoi salvare.
-Per es.\& dovrebbe essere l'ultimo filtro se vuoi un'istantanea corrispondente
-a ciò che vedi sul monitor.
-.RE
-.
-.TP
-.B "ass\ \ \ \ "
-Sposta la renderizzazione dei sottotitoli SSA/ASS verso un punto arbitrario
-nella catena dei filtri.
-Utile solo con l'opzione \-ass.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-Sposta la renderizzazione SSA/ASS prima del filtro screenshot.
-Gli screenshot così acquisiti conterranno i sottotitoli.
-.RE
-.PD 1
-.
-.TP
-.B blackframe[=percentuale:soglia]
-Rileva i fotogrammi che sono (quasi) completamente neri.
-Può essere utile per rilevare i passaggi tra capitoli o le pubblicità.
-Le linee stampate sono composte dal numero di fotogramma del fotogramma
-rilevato, la percentuale di nero, il tipo di fotogramma e il numero di
-fotogramma dell'ultimo fotogramma chiave.
-.RSs
-.IPs <percentuale>
-Percentuale di pixel che devono essere sotto la soglia (default: 98).
-.IPs <soglia>
-La soglia sotto la quale un valore di un pixel viene considerato nero
-(default: 32).
-.RE
-.
-.TP
-.B gradfun[=valore[:raggio]]
-Corregge gli artefatti a bande che appaiono alcune volte in regioni quasi
-piane abbassando la profondità colore a 8bit.
-Interpola i gradienti che dovrebbero essere al posto delle bande, e li sgrana
-col resto.
-.sp 1
-Questo filtro è pensato solo per la riproduzione.
-Non usarlo per compressioni con perdita, perché la compressione tende a
-togliere la sgranatura e rendere di nuovo visibili le bande.
-.RSs
-.IPs <valore>
-Massima variazione che il filtro applicherà su ogni pixel.
-E' anche la soglia per determinare le regioni quasi piane (default: 1.2).
-.IPs <raggio>
-Raggio della zona circostante a cui adattare il gradiente.
-Raggi più ampi generano gradienti più sfumati, ma impediranno al filtro di
-modificare pixel in regioni più dettagliate (default: 16).
-.RE
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni generali di codifica
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI GENERALI DI CODIFICA (SOLO MENCODER)"
-.
-.TP
-.B \-audio\-delay <valore a virgola mobile>
-Ritarda l'audio oppure il video riempiendo il campo del ritardo
-nell'intestazione (default: 0.0).
-Questo non ritarda uno dei flussi durante la codifica ma il riproduttore vedrà
-il valore del ritardo e compenserà in rapporto a questo.
-Valori positivi ritardano l'audio, mentre valori negativi ritardano il video.
-Nota che questo è l'esatto opposto dell'opzione \-delay.
-Per esempio, se un filmato viene riprodotto correttamente con \-delay 0.2, puoi
-correggere tale filmato con MEncoder usando \-audio\-delay \-0.2.
-.sp 1
-Attualmente questa opzione funziona solo con il muxer di default (\-of avi).
-Se usi un muxer diverso, allora devi usare \-delay.
-.
-.TP
-.B \-audio\-density <1\-50>
-Numero di blocchi audio per secondo (default è 2, cioè blocchi audio di
-0.5 secondi).
-.br
-.I NOTA:
-Valido solo in modalità CBR (Constant Bit Rate, Bit Rate Costante), in
-modalità VBR (Variable Bit Rate, Bit Rate Variabile) viene ignorato in
-quanto ogni pacchetto viene scritto in un nuovo blocco.
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-Imposta l'intervallo di buffering audio (default: 0.5 sec).
-.
-.TP
-.B \-fafmttag <formato>
-Può essere usato per sovrascrivere il valore del tag del formato audio del
-file di uscita.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-Otterrai il file di uscita contenente 0x55 (mp3) come tag del formato audio.
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-Può essere usare per sovrascrivere il valore del fourcc del
-file di uscita.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-Il file di uscita conterrà 'div3' come fourcc del video.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-Sovrascrive il valore del rapporto di aspetto memorizzato nei file AVI
-nell'intestazione vprp OpenDML.
-Può essere usato per cambiare il rapporto di aspetto con '\-ovc copy'.
-.
-.TP
-.B \-frameno\-file <nomefile> (DEPRECATA)
-Specifica il nome del file audio con la mappatura dei fotogrammi creato durante
-il primo passo (solo audio) di una modalità di codifica a tre passi.
-.br
-.I NOTA:
-Usare questa opzione porterà una probabile desincronizzazione Audio-Video.
-Non usarla.
-E' mantenuta solo per retrocompatibilità e possibilmente verrà rimossa
-in una delle prossime versioni.
-.
-.TP
-.B \-hr\-edl\-seek
-Utilizza un metodo più preciso ma molto più lento per saltare le aree.
-Le aree marcate come da saltare non vengono saltate, invece tutti i fotogrammi
-vengono comunque decodificati, ma solo quelli necessari vengono scritti sul
-file di uscita.
-Questo permette di partire anche da un fotogramma non chiave.
-.br
-.I NOTA:
-Non è garantito il funzionamento corretto con '\-ovc copy'.
-.
-.TP
-.B \-info <opzione1:opzione2:...> (solo AVI)
-Specifica le informazioni nell'intestazione del file AVI generato.
-.sp 1
-Le opzioni disponibili sono:
-.RSs
-.IPs "help\ "
-Visualizza questa descrizione.
-.IPs name=<valore>
-titolo del lavoro
-.IPs artist=<valore>
-artista od autore del lavoro
-.IPs genre=<valore>
-categoria originale del lavoro
-.IPs subject=<valore>
-soggetto (contenuto) del lavoro
-.IPs copyright=<valore>
-informazioni sul copyright
-.IPs srcform=<valore>
-formato originale del materiale digitalizzato
-.IPs comment=<valore>
-commenti generali sul lavoro
-.RE
-.
-.TP
-.B \-noautoexpand
-Non inserisce automaticamente il filtro expand nella catena dei filtri di
-MEncoder.
-Utile per controllare in quale punto della catena dei filtri vengono generati
-i sottotitoli quando vengono piazzati brutalmente nel filmato.
-.
-.TP
-.B \-noencodedups
-Non provare a codificare fotogrammi doppi come duplicati, genera sempre
-un fotogramma in uscita da zero byte per indicare i duplicati.
-Fotogrammi da zero byte verranno scritti comunque a meno che non sia
-caricato un filtro oppure un codificatore capace di effettuare la codifica
-di fotogrammi duplicati.
-Attualmente l'unico filtro di questo tipo è harddup.
-.
-.TP
-.B \-noodml (solo \-of avi)
-Non scrive l'indice OpenDML per file in formato AVI > 1GB.
-.
-.TP
-.B \-noskip
-Non saltare dei fotogrammi.
-.
-.TP
-.B \-o <nomefile>
-Scrive sul file specificato.
-.br
-Se vuoi un valore di default per il nome del file di uscita puoi mettere
-questa opzione nel file di configurazione di MEncoder.
-.
-.TP
-.B \-oac <nome codec>
-Codifica con il codec audio specificato (nessun valore di default).
-.br
-.I NOTA:
-Utilizza \-oac help per avere una lista dei codec audio disponibili.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-oac copy"
-niente codifica, solo copia del flusso byte per byte
-.IPs "\-oac pcm"
-Codifica in formato PCM non compresso.
-.IPs "\-oac mp3lame"
-Codifica in MP3 (usando LAME).
-.IPs "\-oac lavc"
-Codifica con un codec di libavcodec.
-.RE
-.PD 1
-.
-.TP
-.B \-of <formato> (CODICE BETA!)
-Codifica nel formato file 'contenitore' specificato (default: AVI).
-.br
-.I NOTA
-Utilizza \-of help per avere una lista dei formati disponibili.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-of avi"
-Codifica in formato AVI.
-.IPs "\-of mpeg"
-Codifica in formato MPEG (vedi anche \-mpegopts).
-.IPs "\-of lavf"
-Codifica con i muxer di libavformat (vedi anche \-lavfopts).
-.IPs "\-of rawvideo"
-flusso grezzo video (nessun multiplex \- un solo flusso video)
-.IPs "\-of rawaudio"
-flusso grezzo audio (nessun multiplex \- un solo flusso audio)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-Specifica un valore di fps (frames per seconds, fotogrammi al secondo) per
-il file di uscita che può essere differente da quello del materiale
-originale.
-Deve essere impostato per file con fps variabile (ASF, qualche MOV)
-e per filmati MPEG progressivi in formato 30000/1001 fps con telecine.
-.
-.TP
-.B \-ovc <nome codec>
-Codifica con il codec video specificato (nessun valore di default).
-.br
-.I NOTA:
-Utilizza \-ovc help per avere una lista dei codec video disponibili.
-.sp 1
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-niente codifica, solo copia del flusso
-.IPs "\-ovc raw"
-Codifica su un formato grezzo non compresso arbitrario (usa '\-fv format' per
-selezionare come).
-.IPs "\-ovc lavc"
-Codifica con un codec di libavcodec.
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <nomefile>
-Scrive le informazioni del primo passo su <nomefile> invece che sul default
-divx2pass.log nella codifica in modalità a due passaggi.
-.
-.TP
-.B \-skiplimit <valore>
-Specifica il numero massimo di fotogrammi che si possono saltare dopo
-averne codificato uno (\-noskiplimit indica nessun limite).
-.
-.TP
-.B \-vobsubout <nome_base>
-Specifica il nome di base del file di uscita .idx e .sub.
-Questo disattiva il rendering dei sottotitoli nel file codificato
-e lo sposta verso i vari file dei sottotitoli VOBsub.
-.
-.TP
-.B \-vobsuboutid <langid>
-Specifica il codice a due lettere del linguaggio dei sottotitoli.
-Questo sovrascrive quanto viene letto dal DVD o dal file .ifo.
-.
-.TP
-.B \-vobsuboutindex <indice>
-Specifica l'indice dei sottotitoli nei file di uscita (default: 0).
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opzioni specifiche di codifica
-.\" --------------------------------------------------------------------------
-.
-.SH "OPZIONI SPECIFICHE DI CODIFICA (SOLO MENCODER)"
-Puoi specificare opzioni specifiche dei codec di codifica usando la
-sintassi seguente:
-.
-.TP
-.B \-<codec>opts <opzione1[=valore1]:opzione2[=valore2]:...>
-.RE
-.
-.PP
-Dove <codec> può essere: lavc, xvidenc, divx4, mp3lame, toolame, twolame,
-nuv, xvfw, faac, x264enc, mpeg, lavf.
-.
-.
-.SS mp3lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-ottieni l'aiuto.
-.
-.TP
-.B vbr=<0\-4>
-metodo a bitrate variabile
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (default)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-media (average) bitrate
-.
-.TP
-.B "cbr\ \ \ \ "
-bitrate costante
-Forza anche la modalità di codifica CBR (Costant BitRate, bitrate costante)
-nei modi ABR (Average BitRate, bitrate media) predefiniti successivi.
-.
-.TP
-.B br=<0\-1024>
-bitrate in kbps (solo CBR e ABR)
-.
-.TP
-.B q=<0\-9>
-qualità (0 \- migliore, 9 \- peggiore) (solo VBR, Variable BitRate, bitrate variabile)
-.
-.TP
-.B aq=<0\-9>
-qualità algoritmica (0 \- migliore/più lento, 9 \- peggiore/più veloce)
-.
-.TP
-.B ratio=<1\-100>
-rapporto di compressione
-.
-.TP
-.B vol=<0\-10>
-guadagno dell'ingresso audio
-.
-.TP
-.B mode=<0\-3>
-(default: automatico)
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-joint-stereo, stereo unito
-.IPs 2
-dualchannel, doppio canale
-.IPs 3
-mono
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-nessuno
-.IPs 1
-tutto
-.IPs 2
-adattivo
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-Attiva una codifica veloce sulle modalità VBR predefinite successive.
-Il risultato sarà una qualità leggermente minore e bitrate maggiori.
-.
-.TP
-.B highpassfreq=<freq>
-Attiva un filtro passa alto alla frequenza specificata (Hz).
-Le frequenze sotto a quella specificata verranno eliminate.
-Il valore \-1 disabilita il filtro, il valore 0
-lascia che sia LAME a scegliere il valore automaticamente.
-.
-.TP
-.B lowpassfreq=<freq>
-Attiva un filtro passa basso alla frequenza specificata (Hz).
-Le frequenze sopra a quella specificata verranno eliminate.
-Il valore \-1 disabilita il filtro, il valore 0
-lascia che sia LAME a scegliere il valore automaticamente.
-.
-.TP
-.B preset=<valore>
-valore delle impostazioni predefinite (Preset)
-.RSs
-.IPs "help\ "
-Stampa le opzioni aggiuntive ed informazioni sui preset.
-.IPs medium
-codifica VBR, buona qualità, bitrate compreso tra 150\-180 kbps
-.IPs standard
-codifica VBR, alta qualità, bitrate compreso tra 170\-210 kbps
-.IPs extreme
-codifica VBR, qualità molto alta, bitrate compreso tra 200\-240 kbps
-.IPs insane
-codifica CBR, l'impostazione di miglior qualità, bitrate di 320 kbps
-.IPs <8\-320>
-codifica ABR al bitrate medio specificato
-.RE
-.sp 1
-.RS
-.I ESEMPI:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-adatto per molte persone, per la maggior parte della musica e comunque già una
-qualità abbastanza alta.
-.IPs cbr:preset=192
-Codifica in ABR con un bitrate costante e forzato di 192 kbps.
-.IPs preset=172
-Codifica in ABR ad un bitrate medio di 172 kbps.
-.IPs preset=extreme
-per persone con orecchie estremamente buone e apparecchi similari.
-.RE
-.PD 1
-.
-.
-.SS toolame e twolame (\-toolameopts e \-twolameopts rispettivamente)
-.
-.TP
-.B br=<32\-384>
-In modalità CBR questo parametro indica il bitrate in kbps mentre in
-modalità VBR indica invece il valore minimo permesso per ogni blocco.
-La modalità VBR non funziona con valori inferiori a 112.
-.
-.TP
-.B vbr=<\-50\-50> (solo VBR)
-gamma di variabilità. Valori negativi indicano al codificatore di spostare
-il bitrate medio verso il valore inferiore, se positivi verso il maggiore.
-Se posto a 0 viene utilizzata la modalità CBR (default).
-.
-.TP
-.B maxvbr=<32\-384> (solo VBR)
-bitrate massimo per blocco, in kbps.
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-Seleziona la modalità (default: mono per l'audio con un solo canale,
-altrimenti stereo).
-.
-.TP
-.B psy=<\-1\-4>
-modello psicoacustico (default: 2)
-.
-.TP
-.B errprot=<0 | 1>
-Inserisce anche la protezione dagli errori.
-.
-.TP
-.B debug=<0\-10>
-livello di debug
-.RE
-.PD 1
-.
-.
-.SS faac (\-faacopts)
-.
-.TP
-.B br=<bitrate>
-bitrate medio in kbps (mutualmente esclusivo con qualità)
-.
-.TP
-.B quality=<1\-1000>
-modo qualità, valori alti rappresentano una qualità migliore (mutualmente
-esclusivo con br)
-.
-.TP
-.B object=<1\-4>
-complessità del tipo di oggetto
-.PD 0
-.RSs
-.IPs 1
-MAIN (default)
-.IPs 2
-LOW
-.IPs 3
-SSR
-.IPs 4
-LTP (estremamente lento)
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-versione MPEG (default: 4)
-.
-.TP
-.B "tns\ \ \ \ "
-Abilita il temporal noise shaping.
-.
-.TP
-.B cutoff=<0\-sampling_rate/2>
-frequenza di taglio (default: frequenza_di_campionamento/2)
-.
-.TP
-.B "raw\ \ \ \ "
-Memorizza il flusso di bit come dati grezzi aggiuntivi con dati extra
-nell'intestazione del 'contenitore' (default: 0, corrispondente a ADTS).
-Non attivare questo flag se non esplicitamente richiesto o potresti non essere
-più capace di utilizzare successivamente il flusso audio.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-.
-Molte opzioni di libavcodec (lavc in breve) sono molto specialistiche
-e documentate in modo molto rapido.
-Leggi i sorgenti per avere i dettagli completi.
-.PP
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B o=<chiave>=<valore>[,<chiave>=<valore>[,...]]
-Passa varie opzioni AVOption al decoder di libavcodec.
-Nota, una patch che renda inutile o= e che possa passare al sistema di AVOption
-tutte le opzioni non conosciute è benvenuta.
-Si può trovare una lista completa delle opzioni AVOption nel manuale di FFmpeg.
-Nota che alcune opzioni possono andare in conflitto con quelle di MEncoder.
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.PD 0
-.IPs o=bt=100k
-.PD 1
-.RE
-.
-.TP
-.B acodec=<valore>
-codec audio (default: mp2)
-.PD 0
-.RSs
-.IPs "ac3\ \ "
-Dolby Digital (AC-3)
-.IPs adpcm_*
-Formati PCM adattivi \- vedi la documentazione HTML per i dettagli.
-.IPs "flac\ "
-Free Lossless Audio Codec (FLAC)
-.IPs "g726\ "
-G.726 ADPCM
-.IPs libfaac
-Advanced Audio Coding (AAC) \- usando FAAC
-.IPs libmp3lame
-MPEG-1 audio layer 3 (MP3) \- usando LAME
-.IPs "mp2\ \ "
-MPEG-1 audio layer 2 (MP2)
-.IPs pcm_*
-Formati PCM \- vedi la documentazione HTML per i dettagli.
-.IPs roq_dpcm
-Id Software RoQ DPCM
-.IPs sonic
-Codec sperimentale con perdita
-.IPs sonicls
-Codec sperimentale senza perdita
-.IPs vorbis
-Vorbis
-.IPs wmav1
-Windows Media Audio v1
-.IPs wmav2
-Windows Media Audio v2
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<valore>
-bitrate audio in kbps (default 224)
-.
-.TP
-.B atag=<valore>
-Uso il formato audio di Windows specificato (p.es.\& atag=0x55).
-.
-.TP
-.B bit_exact
-Usa solo algoritmi esatti bit a bit (eccetto per (I)DCT).
-Inoltre bit_exact disabilita molte ottimizzazioni e dovrebbe
-essere usato solo per test di regressione, che hanno bisogno
-di file identici anche se cambia la versione del programma
-di codifica.
-Inoltre viene eliminata l'intestazione user_data nei flussi MPEG-4.
-Non usare questa opzione se non sai esattamente quello che stai
-facendo.
-.
-.TP
-.B threads=<1\-8>
-Numero massimo di threads da usare (default: 1).
-Può avere un leggero effetto negativo sulla stima del movimento.
-.RE
-.
-.TP
-.B vcodec=<valore>
-Impiega il codec (video) specificato (default: mpeg4).
-.PD 0
-.RSs
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs dvvideo
-Sony Digital Video
-.IPs "ffv1\ "
-codec video di FFmpeg senza perdita
-.IPs ffvhuff
-codifica HuffYUV non standard che utilizza YV12 ed ottiene file
-più piccoli del 20%
-.IPs "flv\ \ "
-Sorenson H.263 usato nei Flash Video
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs huffyuv
-HuffYUV
-.IPs libtheora
-Theora
-.IPs libx264
-x264 H.264/AVC MPEG-4 Parte 10
-.IPs libxvid
-Xvid MPEG-4 Parte 2 (ASP)
-.IPs ljpeg
-Lossless JPEG (JPEG senza perdita)
-.IPs mjpeg
-Motion JPEG (JPEG per i filmati)
-.IPs mpeg1video
-MPEG-1 video
-.IPs mpeg2video
-MPEG-2 video
-.IPs mpeg4
-MPEG-4 (DivX 4/5)
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG4v2
-.IPs roqvideo
-ID Software RoQ Video
-.IPs "rv10\ "
-un vecchio codec RealVideo
-.IPs "snow (vedi anche: vstrict)"
-codec video sperimentale di FFmpeg basato su wavelet
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs "wmv1\ "
-Windows Media Video, versione 1 (conosciuto anche come WMV7)
-.IPs "wmv2\ "
-Windows Media Video, versione 2 (conosciuto anche come WMV8)
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-valore minimo di quantizzazione
-.RSs
-.IPs 1
-Non raccomandato (file molto grandi, una piccola differenza di qualità e
-alcuni strani effetti collaterali: msmpeg4, h263 avranno una bassissima
-qualità, il controllo della dimensione del file viene confuso ottenendo
-una qualità minore e qualche programma non sarà capace di decodificare
-il file).
-.IPs 2
-Raccomandato per la codifica normale dei filmati mpeg4/\:mpeg1video (default).
-.IPs 3
-Raccomandato per h263(p)/\:msmpeg4.
-La ragione per preferire 3 invece che 2 è che l'utilizzo di 2 può portare a
-overflow. (Questo verrà sistemato per h263(p) cambiando il valore di
-quantizzazione per MB, macroblock, in futuro, il formato msmpeg4 non può
-essere sistemato in quanto non supporta questa funzione.)
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-Valore minimo del moltiplicatore di Lagrange del livello fotogrammi per il
-controllo della frequenza (default: 2.0).
-Lavc userà raramente quantizzatori inferiori al valore di lmin.
-Diminuire lmin farà sì che lavc scelga più facilmente quantizzatori inferiori
-per alcuni fotogrammi, ma non inferiori al valore di vqmin.
-Allo stesso modo, alzare lmin farà sì che lavc scelga meno facilmente
-quantizzatori bassi, anche se vqmin li permetterebbe.
-Probabilmente vuoi impostare lmin abbastanza uguale a vqmin.
-Quando viene usata la quantizzazione adattiva, modificare lmin/lmax può non
-avere alcun effetto; vedi mblmin/mblmax.
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-valore massimo del moltiplicatore di Lagrange (default: 31.0)
-.RE
-.
-.TP
-.B mblmin=<0.01\-255.0>
-Valore minimo del moltiplicatore di Lagrange del livello di macroblocchi per il
-controllo della frequenza (default: 2.0).
-Questo parametro influenza le opzioni di quantizzazione adattiva come qprd,
-lumi_mask, ecc..
-.RE
-.
-.TP
-.B mblmax=<0.01\-255.0>
-Valore massimo del moltiplicatore di Lagrange del livello di macroblocchi per il
-controllo della frequenza (default: 31.0).
-.RE
-.
-.TP
-.B vqscale=<0\-31>
-Quantizzazione costante /\: codifica a qualità costante (seleziona una modalità
-di quantizzazione fissa).
-Valori minori indicano migliore qualità ma file di dimensioni maggiori
-(default: \-1).
-Nel caso del codec snow, un valore 0 indica codifica senza perdita.
-Visto che gli altri codec non lo supportano, vqscale=0 avrà un effetto
-indefinito.
-1 non è raccomandato (controlla vqmin per i dettagli).
-.RE
-.
-.TP
-.B vqmax=<1\-31>
-Valore massimo di quantizzazione, 10\-31 dovrebbe essere un
-buon valore (default: 31).
-.
-.TP
-.B mbqmin=<1\-31>
-obsoleto, utilizza vqmin
-.
-.TP
-.B mbqmax=<1\-31>
-obsoleto, utilizza vqmax
-.
-.TP
-.B vqdiff=<1\-31>
-valore massimo di differenza di quantizzazione tra fotogrammi consecutivi I o P
-(default: 3)
-.
-.TP
-.B vmax_b_frames=<0\-4>
-numero massimo di fotogrammi B tra fotogrammi non B:
-.PD 0
-.RSs
-.IPs 0
-nessun fotogramma B (default)
-.IPs 0\-2
-buon valore per MPEG-4
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-metodo di stima del movimento (motion estimation).
-I metodi disponibili sono:
-.PD 0
-.RSs
-.IPs 0
-nessuno (qualità molto bassa)
-.IPs 1
-completo (lento, attualmente non mantenuto e disabilitato)
-.IPs 2
-log (qualità bassa, attualmente non mantenuto e disabilitato)
-.IPs 3
-phods (qualità bassa, attualmente non mantenuto e disabilitato)
-.IPs 4
-EPZS: diamante di dimensione=1, la dimensione può essere specificata
-con le opzioni *dia (default)
-.IPs 5
-X1 (sperimentale, attualmente mappato su EPZS)
-.IPs 8
-iter (blocco sovrapposto iterativo, usato solo in snow)
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I NOTA:
-attualmente 0\-3 ignorano la quantità di bit usati,
-perciò la qualità può essere bassa.
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-raggio di ricerca per la stima del movimento (default: 0 (illimitato))
-.
-.TP
-.B mbd=<0\-2> (vedi anche *cmp, qpel)
-Algoritmo di decisione dei macroblock (modalità ad alta qualità),
-codifica ogni macroblocco in tutte le modalità e seleziona la migliore.
-Questa opzione rallenta la codifica ma si ottiene una qualità migliore
-e minori dimensioni del file finale.
-Quando mbd è impostato a 1 o 2, il valore di mbcmp viene ignorato quando si
-confrontano i macroblocchi (in altri posti viene comunque usato il valore di
-mbcmp, in particolare negli algoritmi di ricerca del movimento).
-Se un'impostazione di comparazione (precmp, subcmp, cmp, o mbcmp) non è zero,
-tuttavia, verrà usata una ricerca di movimento half-pel, più lenta ma migliore,
-senza considerare l'impostazione di mbd.
-Se qpel è impostata, verrà usata la ricerca di movimento quarter-pel, senza
-altre considerazioni.
-.PD 0
-.RSs
-.IPs 0
-Utilizza la funzione di comparazione riportata da mbcmp (default).
-.IPs 1
-Seleziona il modo MB che necessità della minor quantità di bit (=vhq).
-.IPs 2
-Seleziona il modo MB che ha la minor distorsione.
-.RE
-.PD 1
-.
-.TP
-.B "vhq\ \ \ \ "
-Uguale a mbd=1, mantenuto per ragioni di compatibilità.
-.
-.TP
-.B "v4mv\ \ \ "
-Permette 4 vettori di movimento per ogni macroblock (qualità leggermente migliore).
-Funziona meglio quando viene usato con mbd > 0.
-.
-.TP
-.B "obmc\ \ \ "
-FIXME: compensazione di movimento del blocco sovrapposto (H.263+).
-(overlapped block motion compensation (H.263+))
-.
-.TP
-.B "loop\ \ \ "
-filtro a ripetizione (H.263+)
-nota, non funziona
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-Non fa assolutamente nulla, al momento.
-.
-.TP
-.B keyint=<0\-300>
-intervallo massimo fra fotogrammi chiave (keyframe) in fotogrammi
-(default: 250, cioè un keyframe ogni dieci secondi in un filmato a 25 fps.
-Questo è il default raccomandato per MPEG-4).
-La maggior parte dei codec richiede keyframe regolari, in modo da limitare
-l'accumulo di errori dovuti alle diverse implementazioni/precisioni di DCT
-ed iDCT.
-I keyframe sono necessari anche per il posizionamento visto che il
-posizionamento è possibile solo su un keyframe.
-Bisogna però tener presente che i keyframe hanno bisogno di più spazio
-rispetto agli altri tipi di fotogrammi, perciò un numero alto comporta
-file di dimensione leggermente minore ma un posizionamento meno preciso.
-Il valore 0 è equivalente a 1, che rende tutti i fotogrammi dei fotogrammi chiave.
-Valori maggiori di 300 non sono raccomandati perché la qualità può
-essere non buona e dipende dal programma di codifica, dal programma di
-decodifica e dalla fortuna (o sfortuna).
-È comune (a volte obbligatorio!) usare valori <=30 per MPEG-1/2.
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-Soglia per la rilevazione/gestione del cambio della scena.
-Viene inserito un keyframe da libavcodec quando trova un cambio di scena.
-Puoi inserire la sensibilità dell'attivazione del cambio scena con
-questa opzione.
-\-1000000000 indica che viene attivato un cambio scena ad ogni fotogramma,
-1000000000 indica invece che non viene trovato ed attivato nessun cambio
-scena (default: 0).
-.
-.TP
-.B sc_factor=<un intero positivo qualsiasi>
-Fa in modo che fotogrammi con quantizzatori più alti possano più facilmente
-far intervenire un cambio di scena in modo che libavcodec utilizzi un
-fotogramma I (default: 1).
-1\-16 è una buona gamma.
-Valori compresi tra 2 e 6 possono portare ad un miglioramento del PSNR (fino a circa 0.04 dB)
-ed un miglior posizionamento dei fotogrammi I in scene ad alto movimento.
-Valori più alti di 6 possono portare ad un PSNR leggermente migliore (circa 0.01 dB
-in più rispetto a sc_factor=6), ma una qualità visiva notevolmente peggiore.
-.
-.TP
-.B vb_strategy=<0\-2> (solo primo passo)
-strategia per la scelta tra fotogrammi I/P/B:
-.PD 0
-.RSs
-.IPs 0
-Usa sempre il numero massimo di fotogrammi di tipo B (default).
-.IPs 1
-Evita fotogrammi B in scene ad alto movimento.
-Vedi l'opzione b_sensitivity per impostare meglio questa strategia.
-.IPs 2
-Posiziona più o meno ottimamente i fotogrammi B per ottenere massima qualità
-(più lento).
-Vorresti probabilmente ridurre l'impatto sulla velocità configurando l'opzione
-brd_scale.
-.RE
-.PD 1
-.
-.TP
-.B b_sensitivity=<un qualsiasi intero maggiore di 0>
-Specifica quanto sensibilmente vb_strategy=1 rilevi il movimento ed eviti di
-utilizzare fotogrammi B (default: 40).
-Sensibilità più basse porteranno più fotogrammi B.
-Utilizzare più fotogrammi B solitamente aumenta il PSNR, ma averne troppi può
-peggiorare la qualità in scene ad alto movimento.
-A meno che non ci sia un alta concentrazione di movimento, b_sensivity può
-tranquillamente essere abbassata sotto al default; 10 è un valore ragionevole
-nella maggior parte dei casi.
-.
-.TP
-.B brd_scale=<0\-10>
-Rimpicciolisce i fotogrammi per una decisione dinamica dei fotogrammi B
-(default: 0).
-Ogni volta che brd_scale viene aumentato di uno, le dimensioni dei fotogrammi
-vengono divise per due, il che aumenta la velocità di un fattore di quattro.
-Entrambe le dimensioni del fotogramma completamente ridimensionato devono essere
-numeri pari, così brd_scale=1 richiede che la dimensione originaria sia un
-multiplo di quattro, brd_scale=2 richiede multipli di otto, etc.
-In altre parole, le dimensioni del fotogramma originario devono essere ambedue
-divisibili per 2^(brd_scale+1) senza resto.
-.
-.TP
-.B bidir_refine=<0\-4>
-Rifinisce i due vettori di movimento usati per i macroblocchi bidirezionali,
-piuttosto che riutilizzare vettori da ricerche in avanti e indietro.
-Questa opzione non ha effetto senza fotogrammi B.
-.PD 0
-.RSs
-.IPs 0
-disabilitato (default)
-.IPs 1\-4
-Usa una ricerca più ampia (valori più alti sono più lenti).
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-Attiva la modalità interna a due (o più) passi, specificalo solo se vuoi codificare
-utilizzando i due (o più) passaggi.
-.PD 0
-.RSs
-.IPs 1
-primo passo (vedi anche turbo)
-.IPs 2
-secondo passo
-.IPs 3
-Ennesimo passo (secondo passo e successivi della codifica a più passi).
-.RE
-.RS
-Ecco come funziona e come usarlo:
-.br
-Il primo passo (vpass=1) scrive il file delle statistiche.
-Puoi voler disattivare qualche opzione molto 'affamata' di CPU come
-viene fatto dalla modalità "turbo".
-.br
-Nella modalità a due passi il secondo passaggio (vpass=2) legge il file
-delle statistiche e basa le decisioni del controllo delle frequenze del
-file su di esso.
-.br
-Nella modalità a più passi il secondo passo (vpass=3, non è un errore di
-battitura) esegue entrambi: prima legge le statistiche, poi le sovrascrive.
-Puoi voler salvare il file divx2pass.log prima di lanciare MEncoder se
-esiste la possibilità di bloccarne l'esecuzione.
-Puoi usare tutte le opzioni di codifica, eccetto le opzioni veramente 'affamate'
-di CPU come "qns".
-.br
-Puoi utilizzare questo passo più e più volte per affinare la codifica.
-Ogni passo successivo userà le statistiche del passo precedente per migliorarsi.
-Il passo finale può utilizzare tutte le opzioni di codifica 'affamate'.
-.br
-Se vuoi una codifica a due passi utilizza prima vpass=1 e poi vpass=2.
-.br
-Se vuoi una codifica a 3 o più passi utilizza vpass=1 per il primo passo
-e poi vpass=3 e poi vpass=3 ancora ed ancora finché non sei soddisfatto
-della codifica.
-.RE
-.PD 1
-.sp 1
-.RS
-huffyuv:
-.RE
-.PD 0
-.RSs
-.IPs "pass 1"
-Salva le statistiche.
-.IPs "pass 2"
-Codifica con una tabella Huffman ottimale basata sulle statistiche del primo
-passo.
-.RE
-.PD 1
-.
-.TP
-.B turbo (solo modalità a 2 passaggi)
-Velocizza in modo notevole il primo passaggio utilizzando algoritmi
-più veloci e disabilitando opzioni che necessitano di molto tempo
-di CPU.
-Questo probabilmente riduce leggermente il PSNR globale (circa 0.01 dB)
-e cambia qualche fotogramma, sia come tipo sia riducendone il PSNR (fino
-ad un massimo di 0.03 dB).
-Modalità primo passo veloce.
-Durante il primo passaggio di una codifica a 2 o 3 passaggi, è possibile
-guadagnare velocità disabilitando alcune opzioni con un impatto basso o nullo
-sulla qualità di uscita dell'ultimo passaggio.
-.
-.TP
-.B aspect=<x/y>
-Memorizza l'aspetto del film internamente al file, proprio
-come nei file MPEG.
-Soluzione migliore della riscalatura perché la qualità non viene
-ridotta.
-Solo MPlayer e pochi altri programmi potranno visualizzare questi
-file in modo corretto, gli altri programmi visualizzeranno il filmato
-con l'aspetto sbagliato.
-Il parametro può essere dato come un rapporto oppure un numero decimale.
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/9 or aspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-Uguale all'opzione aspect, ma calcola l'aspetto automaticamente,
-tenendo in considerazione tutte le varie operazioni (taglia, espandi,
-riscala, etc) fatte nella catena dei filtri.
-Non rallenta assolutamente la codifica perciò puoi lasciarlo sempre
-attivo.
-.
-.TP
-.B vbitrate=<valore>
-Specifica il bitrate (default: 800).
-.br
-.I ATTENZIONE:
-1kbit = 1000 bit
-.PD 0
-.RSs
-.IPs 4\-16000
-(in kbit)
-.IPs 16001\-24000000
-(in bit)
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<valore>
-Tolleranza approssimata nella dimensione del file in kbit.
-1000\-100000 è una gamma accettabile.
-(attenzione: 1kbit = 1000 bit)
-(default: 8000)
-.br
-.I NOTA:
-vratetol non dovrebbe essere troppo grande durante il secondo passo o potrebbero esserci
-problemi se si utilizza vrc_(min|max)rate.
-.
-.TP
-.B vrc_maxrate=<valore>
-valore massimo del bitrate in kbit/\:sec
-(default: 0, illimitato)
-.
-.TP
-.B vrc_minrate=<valore>
-valore minimo del bitrate in kbit/\:sec
-(default: 0, illimitato)
-.
-.TP
-.B vrc_buf_size=<valore>
-dimensione del buffer in kbit
-Per MPEG-1/2 questo regola anche la dimensione del vbv (video buffer
-verifier), utilizza 327 per i VCD, 917 per i SVCD e 1835 per i DVD.
-.
-.TP
-.B vrc_buf_aggressivity
-attualmente inutile
-.
-.TP
-.B vrc_strategy
-Metodo di controllo della frequenza.
-Nota che alcune delle opzioni che influenzano il controllo della frequenza
-non avranno effetto se vrc_strategy non è impostato a 0.
-.PD 0
-.RSs
-.IPs 0
-Usa il controllo della frequenza interno di lavc (default).
-.IPs 1
-Usa il controllo della frequenza di Xvid (sperimentale; richiede che
-MEncoder sia compilato con il supporto per Xvid con versione maggiore o
-uguale a 1.1).
-.RE
-.PD 1
-.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-fattore di quantizzazione tra fotogrammi B e non B (default: 1.25)
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-fattore di quantizzazione tra fotogrammi I e non I (default: 0.8)
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-scostamento di quantizzazione tra fotogrammi B e non B (default: 1.25)
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-(default: 0.0)
-.br
-se v{b|i}_qfactor > 0
-.br
-quantizzatore fotogrammi I/B = quantizzatore fotogrammi P * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-altrimenti
-.br
-esegui il normale controllo della dimensione (non bloccarti sulla
-quantizzazione del fotogramma P successivo) e imposta
-q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I CONSIGLIO:
-Per avere una codifica a quantizzazione costante con valori diversi per
-i fotogrammi I/P e B puoi usare:
-lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>.
-.
-.TP
-.B vqblur=<0.0\-1.0> (primo passo)
-Sfocatura di quantizzazione (default: 0.5), valori più grandi medieranno
-la quantizzazione maggiormente nel tempo (cambiamenti più lenti).
-.PD 0
-.RSs
-.IPs 0.0
-Sfocatura di quantizzazione disabilitata.
-.IPs 1.0
-Media la quantizzazione su tutti i fotogrammi precedenti.
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0> (secondo passo)
-Sfocatura gaussiana di quantizzazione (default: 0.5), valori più grandi
-medieranno la quantizzazione maggiormente nel tempo (cambiamenti più lenti).
-.
-.TP
-.B vqcomp=<0.0\-1.0>
-Compressione della quantizzazione, vrc_eq dipende da questo (default: 0.5).
-.I NOTA:
-La qualità percepita sarà ottimale per valori compresi nella gamma.
-.
-.TP
-.B vrc_eq=<equazione>
-equazione principale per il controllo della dimensione del file (ratecontrol)
-.RE
-.RSs
-.IPs 1+(tex/\:avgTex-1)*qComp
-approssimativamente l'equazione del vecchio controllo di dimensione
-.IPs tex^qComp
-con qcomp a 0.5 o qualcosa del genere (default)
-.RE
-.PP
-.RS
-operatori:
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-variabili:
-.RE
-.RSs
-.IPs "tex\ \ "
-complessità della texture
-.IPs iTex,pTex
-complessità della texture intra e non-intra
-.IPs avgTex
-complessità media della texture
-.IPs avgIITex
-complessità media della texture intra nei fotogrammi I
-.IPs avgPITex
-complessità media della texture intra nei fotogrammi P
-.IPs avgPPTex
-complessità media della texture non intra nei fotogrammi P
-.IPs avgBPTex
-complessità media della texture non intra nei fotogrammi B
-.IPs "mv\ \ \ "
-bit usati per i vettori di movimento
-.IPs fCode
-lunghezza massima dei vettori di movimento in scala log2
-.IPs iCount
-numero di macro blocchi intra / numero di macro blocchi
-.IPs "var\ \ "
-complessità spaziale
-.IPs mcVar
-complessità temporale
-.IPs qComp
-qcomp dalla linea di comando
-.IPs "isI, isP, isB"
-E' 1 se il tipo di immagine è I/P/B altrimenti 0.
-.IPs "Pi,E\ "
-Vedi sul tuo libro preferito di matematica.
-.RE
-.PP
-.RS
-funzioni:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-massimo / minimo
-.IPs gt(a,b)
-è 1 se a>b, 0 in caso contrario
-.IPs lt(a,b)
-è 1 se a<b, 0 in caso contrario
-.IPs eq(a,b)
-è 1 se a==b, 0 in caso contrario
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<opzioni>
-Utilizza la qualità specificata per alcuni pezzi particolari
-(finale, riconoscimenti, ...).
-Le opzioni sono <fotogramma iniziale>, <fotogramma finale>, <qualità>
-[/<fotogramma iniziale>, <fotogramma finale>, <qualità>[/...]]:
-.PD 0
-.RSs
-.IPs "qualità (2\-31)"
-quantizzatore
-.IPs "qualità (\-500\-0)"
-correzione della qualità in %
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-complessità iniziale (passo 1)
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-occupazione iniziale del buffer, impostata come frazione del valore di
-vrc_buf_size (default: 0.9)
-.
-.TP
-.B vqsquish=<0|1>
-Specifica come mantenere la quantizzazione tra qmin e qmax.
-.PD 0
-.RSs
-.IPs 0
-Utilizza il clipping.
-.IPs 1
-Utilizza una bella funzione differenziale (default).
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-Attiva la soglia di eliminazione del coefficiente singolo per la luminanza.
-Valori negativi considereranno anche il coefficiente DC (deve essere almeno
-\-4 o meno per codifiche con quantizzazione=1):
-.PD 0
-.RSs
-.IPs 0
-disabilitato (default)
-.IPs \-4
-raccomandazione della JVT
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-Attiva la soglia di eliminazione del coefficiente singolo per la crominanza.
-Valori negativi considereranno anche il coefficiente DC (deve essere almeno
-\-4 o meno per codifiche con quantizzazione=1):
-.PD 0
-.RSs
-.IPs 0
-disabilitato (default)
-.IPs 7
-raccomandazione della JVT
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-conformità esatta allo standard
-.PD 0
-.RSs
-.IPs 0
-disabilitata
-.IPs 1
-Raccomandato solo se vuoi fornire il file di uscita nel decodificatore di
-riferimento MPEG-4.
-.IPs \-1
-Permette alcune estensioni specifiche di libavcodec (default).
-.IPs \-2
-Abilita codec e funzioni sperimentali che potrebbero poi non essere
-riproducibili con versioni future di MPlayer (snow).
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-Partizionamento dei dati.
-Aggiunge 2 byte per ogni pacchetto video, migliora la tolleranza agli errori
-quando si trasferiscono dati su canali non affidabili (p.es.\& streaming attraverso
-internet).
-Ogni pacchetto video verrà codificato in 3 partizioni separate:
-.PD 0
-.RSs
-.IPs "1. MVs"
-movimento
-.IPs "2. Coefficienti DC"
-immagine a bassa risoluzione
-.IPs "3. Coefficienti AC"
-dettagli
-.RE
-.PD 1
-.RS
-MV & DC sono i più importanti, perderli comporta un'immagine peggiore
-rispetto alla perdita di AC e della partizione 1. & 2.
-(MV & DC) sono molto più piccoli della partizione 3. (AC) e questo significa
-che gli errori colpiscono la partizione AC molto più spesso che le
-partizioni MV & DC.
-Perciò l'immagine apparirà migliore con il partizionamento che senza,
-perché senza partizionamento un errore rovinerà AC/\:DC/\:MV egualmente.
-.RE
-.
-.TP
-.B vpsize=<0\-10000> (vedi anche vdpart)
-Dimensione del pacchetto video, migliora la resistenza agli errori.
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-disabilitato (default)
-.IPs 100\-1000
-buona scelta
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-modalità 'slice structured' per H.263+
-.
-.TP
-.B "gray\ \ \ "
-codifica solo a toni di grigio (più veloce)
-.
-.TP
-.B vfdct=<0\-10>
-algoritmo DCT
-.PD 0
-.RSs
-.IPs 0
-Ne viene selezionato automaticamente uno buono (default).
-.IPs 1
-interi veloce
-.IPs 2
-interi accurato
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-AAN a virgola mobile
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-algoritmo IDCT
-.br
-.I NOTA:
-Per quello che ne sappiamo tutti questi IDCT passano i test IEEE1180.
-.PD 0
-.RSs
-.IPs 0
-Ne viene selezionato automaticamente uno buono (default).
-.IPs 1
-intero di riferimento JPEG
-.IPs 2
-semplice
-.IPs 3
-simplemmx (semplice mmx)
-.IPs 4
-libmpeg2mmx (non accurato, non usarlo per codifiche con keyint >100)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.IPs 10
-simplearm
-.IPs 11
-H.264
-.IPs 12
-VP3
-.IPs 13
-IPP
-.IPs 14
-xvidmmx
-.IPs 15
-CAVS
-.IPs 16
-simplearmv5te
-.IPs 17
-simplearmv6
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-La maschera di luminosità è una selezione 'psicosensoriale' che si suppone
-faccia uso del fatto che l'occhio umano tende a notare meno dettagli in
-parti molto luminose dell'immagine.
-La maschera di luminosità comprime maggiormente le aree molto luminose
-rispetto a quelle medie, verranno perciò risparmiati bit che potranno
-essere utilizzati in altre parti del filmato, migliorando la qualità
-soggettiva generale, anche se può ridurre il valore di PSNR.
-.br
-.I ATTENZIONE:
-Stai attento, valori troppo grandi possono causare disastri.
-.br
-.I ATTENZIONE:
-Valori grandi possono apparire buoni su certi monitor ma orribili su altri.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-disabilitato (default)
-.IPs 0.0\-0.3
-buon valore
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-Maschera di oscurità.
-La maschera di oscurità è una selezione 'psicosensoriale' che si suppone
-faccia uso del fatto che l'occhio umano tende a notare meno dettagli in
-parti molto scure e buie dell'immagine.
-La maschera di oscurità comprime maggiormente le aree molto scure
-rispetto a quelle medie, verranno perciò risparmiati bit che potranno
-essere utilizzati in altre parti del filmato, migliorando la qualità
-soggettiva generale, anche se può ridurre il valore di PSNR.
-.br
-.I ATTENZIONE:
-Stai attento, valori troppo grandi possono causare disastri.
-.br
-.I ATTENZIONE:
-Valori grandi possono apparire buoni su certi monitor ma orribili su altri
-monitor / televisioni / LCD.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-disabilitato (default)
-.IPs 0.0\-0.3
-buon valore
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-Maschera di complessità temporale (default: 0.0 (disabilitata)).
-Immagina una scena con un uccello che sta volando attraverso tutta la scena;
-tcplx_max aumenterà il quantizzatore dei macroblocchi dell'uccello (decrementando
-perciò la loro qualità) visto che l'occhio umano normalmente non ha il tempo di
-vedere tutti i dettagli dell'uccello stesso.
-Stai attento perché se l'oggetto si ferma (per es.\& l'uccello atterra) è facile
-che sembri orribile per un breve periodo di tempo, finché il codificatore non
-capisce che l'oggetto non si sta più muovendo e ha bisogno di blocchi migliori.
-I bit risparmiati verranno utilizzati in altre parti del video, la qualità percepita
-può perciò migliorare a patto di selezionare attentamente tcplx_mask.
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-Maschera di complessità spaziale.
-Valori grandi aiutano per la 'blocchizzazione', se non viene usato nessun
-filtro di 'deblocchizzazione' nella decodifica, cosa che potrebbe non essere
-una buona idea.
-.br
-Immagina una scena con un prato (che normalmente ha una alta complessità spaziale),
-un cielo blu ed una casa; scplx_mask aumenterà il quantizzatore dei macroblocchi del
-prato, decrementando perciò la loro qualità, per poter utilizzare più bit
-per il cielo e per la casa.
-.br
-.I CONSIGLIO:
-Elimina completamente qualsiasi bordo nero in quanto riducono la qualità
-dei macro blocchi (fallo anche se non utilizzi scplx_mask).
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-disabilitato (default)
-.IPs 0.0\-0.5
-buon valore
-.RE
-.PD 1
-.sp 1
-.RS
-.I NOTA:
-Questa opzione non ha lo stesso effetto dell'utilizzo di una matrice personale
-che comprimerebbe di più le alte frequenze visto che scplx_mask ridurrà la
-qualità dei fotogrammi P anche se cambia solo il coefficiente DC.
-Il risultato di scplx_mask probabilmente non sembrerà così buono.
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0> (vedi anche vi_qfactor)
-Riduce la qualità dei blocchi inter.
-Questo equivale ad incrementare la qualità dei blocchi intra, visto che lo stesso
-bitrate medio verrà distribuito sull'intera sequenza video (default: 0.0 (disabilitato)).
-p_mask=1.0 raddoppia i bit allocati per ogni blocco intra.
-.
-.TP
-.B border_mask=<0.0\-1.0>
-elaborazione dei bordi per codificatori in stile MPEG.
-L'elaborazione dei bordi incrementa il quantizzatore per i macroblocchi che sono
-a meno di un quinto della larghezza/altezza del fotogramma dal bordo, visto che
-sono normalmente meno importanti dal punto di vista visivo.
-.
-.TP
-.B "naq\ \ \ \ "
-Quantizzazione adattiva normalizzata (sperimentale).
-Quando si usa una quantizzazione adattiva (*_mask), la media della quantizzazione
-per-MB può non corrispondere alla quantizzazione del fotogramma.
-Naq proverà a regolare il quantizzatore per-MB per mantenere la media corretta.
-.
-.TP
-.B "ildct\ \ "
-Utilizza la DCT interlacciata.
-.
-.TP
-.B "ilme\ \ \ "
-utilizza la stima del movimento interlacciata (opzione mutualmente esclusiva con qpel).
-.
-.TP
-.B "alt\ \ \ \ "
-Utilizza una scantable (tabella di scansione) alternativa.
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-automatica
-.IPs 0
-prima il campo inferiore (bottom field first)
-.IPs 1
-prima il campo superiore (top field first)
-.RE
-.PD 1
-.
-.TP
-.B format=<valore>
-.PD 0
-.RSs
-.IPs "YV12\ "
-default
-.IPs "444P\ "
-per ffv1
-.IPs "422P\ "
-per HuffYUV, JPEG senza perdita, dv e ffv1
-.IPs "411P\ "
-per JPEG senza perdita, dv e ffv1
-.IPs "YVU9\ "
-per JPEG senza perdita, ffv1 e svq1
-.IPs "BGR32"
-per JPEG senza perdita e ffv1
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(per HuffYUV)
-.PD 0
-.RSs
-.IPs 0
-previsione a sinistra ('left')
-.IPs 1
-previsione piano/\:gradiente ('plane/\:gradient')
-.IPs 2
-previsione media ('median')
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(per jpeg senza perdita)
-.PD 0
-.RSs
-.IPs 0
-previsione a sinistra ('left')
-.IPs 1
-previsione in alto ('top')
-.IPs 2
-previsione in alto a sinistra ('topleft')
-.IPs 3
-previsione piano/\:gradiente ('plane/\:gradient')
-.IPs 6
-previsione media ('mean')
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-(per ffv1)
-.PD 0
-.RSs
-.IPs 0
-codifica vlc (Golomb-Rice)
-.IPs 1
-codifica aritmetica (CABAC)
-.RE
-.PD 1
-.
-.TP
-.B context
-(for ffv1)
-.PD 0
-.RSs
-.IPs 0
-modello con contesto piccolo
-.IPs 1
-modello con contesto grande
-.RE
-.PD 1
-.sp 1
-.RS
-(for ffvhuff)
-.RE
-.PD 0
-.RSs
-.IPs 0
-tabella di Huffman predeterminata (interna oppure due passi)
-.IPs 1
-tabella di Huffman adattiva
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-utilizza la compensazione del movimento con quarti di pel (picture element, elemento
-dell'immagine) (opzione mutuamente esclusiva con ilme).
-.br
-.I CONSIGLIO:
-Sembra utile solo per codifiche ad alto bitrate.
-.
-.TP
-.B mbcmp=<0\-2000>
-Seleziona la funzione di comparazione per la decisione del macroblocco,
-utilizzato solo se mbd=0.
-Viene anche usata per alcune funzioni di ricerca del movimento, nel qual caso
-ha effetto indipendentemente dall'impostazione di mbd.
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-somma delle differenze assolute, veloce (default)
-.IPs "1 (SSE)"
-somma degli errori al quadrato
-.IPs "2 (SATD)"
-somma della differenza assoluta della trasformata di Hadamard
-.IPs "3 (DCT)"
-somma della differenza assoluta della trasformata DCT
-.IPs "4 (PSNR)"
-somma degli errori di quantizzazione al quadrato (da evitare, bassa qualità)
-.IPs "5 (BIT)"
-numero di bit necessari per il blocco
-.IPs "6 (RD)"
-rapporto di distorsione ottimale, lento
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-somma delle differenze verticali assolute
-.IPs "9 (VSSE)"
-somma del quadrato delle differenze verticali assolute
-.IPs "10 (NSSE)"
-Somma delle differenze al quadrato senza considerare il disturbo
-.IPs "11 (W53)"
-wavelet 5/3, usato solo in snow
-.IPs "12 (W97)"
-wavelet 9/7, usato solo in snow
-.IPs "+256\ "
-utilizza anche la crominanza, attualmente non funziona (correttamente)
-con i fotogrammi B.
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-Seleziona la funzione di comparazione per la decisione del DCT interlacciato
-(vedi mbcmp per le funzioni di comparazione disponibili).
-.
-.TP
-.B precmp=<0\-2000>
-Seleziona la funzione di comparazione per il passo preliminare per la stima del movimento
-(vedi mbcmp per le funzioni di comparazione disponibili) (default: 0).
-.
-.TP
-.B cmp=<0\-2000>
-Seleziona la funzione di comparazione per la stima del movimento con pel completo
-(vedi mbcmp per le funzioni di comparazione disponibili) (default: 0).
-.
-.TP
-.B subcmp=<0\-2000>
-Seleziona la funzione di comparazione per la stima del movimento inferiore al pel completo
-(vedi mbcmp per le funzioni di comparazione disponibili) (default: 0).
-.
-.TP
-.B skipcmp=<0\-2000>
-FIXME: Da documentare.
-.
-.TP
-.B nssew=<0\-1000000>
-Questa opzione controlla il peso di NSSE, dove con peso maggiore otterrai
-più disturbo.
-NSSE a 0 è uguale a SSE.
-Puoi trovarlo utile se preferisci mantenere un poco di disturbo nel video
-codificato piuttosto che filtrarlo prima della codifica stessa (default: 8).
-.
-.TP
-.B predia=<\-99\-6>
-tipo e dimensione del diamante per il passo preliminare di stima del movimento
-.
-.TP
-.B dia=<\-99\-6>
-Tipo e dimensione del diamante per la stima del movimento.
-La ricerca del movimento è un processo iterativo.
-Utilizzare un diamante piccolo non limita la ricerca a trovare solo
-piccoli vettori di movimenti.
-E' semplicemente molto più facile fermarsi prima di trovare il vettore
-veramente migliore, specialmente in presenza di disturbo.
-Diamanti più grandi permettono una ricerca più ampia del vettore migliore,
-sono perciò più lenti ma si ottiene una qualità migliore.
-.br
-I diamanti normali grandi sono migliori di quelli con forma adattiva.
-.br
-I diamanti con forma adattiva sono un buon compromesso tra qualità e velocità.
-.br
-.I NOTA:
-La dimensione del diamante normale e quella della forma adattiva non
-hanno lo stesso significato.
-.RSs
-.IPs \-3
-diamante di dimensione 3 con forma adattiva (veloce)
-.IPs \-2
-diamante di dimensione 2 con forma adattiva (veloce)
-.IPs \-1
-ricerca multi-esagonale dispari (lenta)
-.IPs 1
-diamante normale con dimensione=1 (default) =diamante di tipo EPZS
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-diamante normale con dimensione=2
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-Quantizzazione con ricerca trellis.
-Questo cercherà la codifica ottimale per ogni blocco da 8x8.
-La ricerca della quantizzazione trellis è semplicemente una quantizzazione
-ottimale nel senso del PSNR (Peak Signal Noise Ratio, rapporto segnale / disturbo)
-rispetto al bitrate (supponendo che non ci siano errori di approssimazione
-introdotti dalla IDCT, il che non è ovviamente vero) e cerca semplicemente un
-blocco con il minimo di errore e lambda*bits.
-.PD 0
-.RSs
-.IPs lambda
-costante che dipende dal parametro di quantizzazione (QP)
-.IPs "bits\ "
-numero di bit necessari per codificare il blocco
-.IPs error
-somma del quadrato degli errori di quantizzazione
-.RE
-.PD 1
-.
-.TP
-.B "cbp\ \ \ \ "
-Pattern dei blocchi codificati con rapporto di distorsione ottimale.
-Verrà selezionato il pattern del blocco codificato che minimizza la
-distorsione + lambda*rate.
-Può essere usato solo insieme con la quantizzazione trellis.
-.
-.TP
-.B "mv0\ \ \ \ "
-Cerca di codificare ogni MB con MV=<0,0> e seleziona il migliore.
-Non ha effetto se mbd=0.
-.
-.TP
-.B mv0_threshold=<qualsiasi numero positivo>
-Quando i vettori di movimento circostanti sono <0,0> e il punteggio della
-stima del movimento del blocco corrente è minore di mv0_threshold, allora
-viene utilizzato <0,0> come vettore ed i successivi controlli sulla stima
-del movimento vengono ignorati (default:256).
-Abbassare mv0_threshold a 0 può dare un leggero (0.01dB) incremento del
-PSNR e migliorare l'aspetto del video codificato.
-Aumentare mv0_threshold oltre 320 causerà un abbassamento del PSNR e
-della qualità visiva.
-Valori più alti velocizzano leggermente la codifica (normalmente meno
-dell'1%, a seconda delle altre opzioni utilizzate).
-.br
-.I NOTA:
-Questa opzione non richiede l'abilitazione di mv0.
-.
-.TP
-.B qprd (solo per mbd=2)
-rapporto di distorsione del parametro di quantizzazione (QP) ottimale per il
-dato lambda per ogni macroblock.
-.
-.TP
-.B last_pred=<0\-99>
-quantità di predittori del movimento dal fotogramma precedente
-.PD 0
-.RSs
-.IPs 0
-(default)
-.IPs a
-Userà 2a+1 x 2a+1 quadrati di predittori del movimento dei macroblock dal
-fotogramma precedente.
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-passo preliminare di stima del movimento
-.PD 0
-.RSs
-.IPs 0
-disabilitato
-.IPs 1
-solo dopo i fotogrammi I (default)
-.IPs 2
-sempre
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-rifinitura della qualità del subpel (per qpel) (default: 8 (alta qualità))
-.br
-.I NOTA:
-Questo ha un significativo effetto sulla velocità.
-.
-.TP
-.B refs=<1\-8>
-numero di fotogrammi di riferimento da considerare per la compensazione di
-movimento (solo snow) (default: 1)
-.
-.TP
-.B "psnr\ \ \ "
-stampa il PSNR (peak signal to noise ratio, picco del rapporto segnale / disturbo)
-per il video completo alla fine della codifica e memorizza il PSNR di ogni fotogramma
-in un file con un nome simile a 'psnr_hhmmss.log'.
-I valori di ritorno sono in dB (decibel), più alto è migliore.
-.
-.TP
-.B mpeg_quant
-Utilizza il quantizzatore MPEG invece di quello H.263.
-.
-.TP
-.B "aic\ \ \ \ "
-previsione ac (previsione intra avanzata per H.263+)
-Abilita la previsione AC per MPEG-4 o la previsione intra avanzata per H.263+.
-Questo aumenterà un pochino la qualità (di circa 0.02 dB PSNR) e rallenterà un
-pochino la codifica (di circa l'1%).
-.br
-.I NOTA:
-vqmin deve essere 8 o più per H.263+ AIC.
-.
-.TP
-.B "aiv\ \ \ \ "
-inter vlc alternativo per H.263+
-.
-.TP
-.B "umv\ \ \ \ "
-MV illimitati (solo H.263+)
-Permette la codifica di MV (Motion Vector, vettori di movimento) arbitrariamente lunghi.
-.
-.TP
-.B ibias=<\-256\-256>
-bias del quantizzatore intra (256 corrisponde a 1.0, default per il
-quantizzatore MPEG: 96, default per il quantizzatore H.263: 0).
-.br
-.I NOTA:
-Il quantizzatore MMX H.263 non gestisce bias positivi (attiva vfdct=1 o 2),
-Il quantizzatore MMX MPEG non gestisce bias negativi (attiva vfdct=1 o 2).
-.
-.TP
-.B pbias=<\-256\-256>
-bias del quantizzatore inter (256 corrisponde a 1.0, default per il
-quantizzatore MPEG: 0, default per il quantizzatore H.263: \-64).
-.br
-.I NOTA:
-Il quantizzatore MMX H.263 non gestisce bias positivi (attiva vfdct=1 o 2),
-Il quantizzatore MMX MPEG non gestisce bias negativi (attiva vfdct=1 o 2).
-.br
-.I CONSIGLIO:
-Un bias più positivo (\-32 \- \-16 invece di \-64) sembra migliorare il PSNR.
-.
-.TP
-.B nr=<0\-100000>
-Riduzione disturbo, 0 significa disabilitato.
-0\-600 è una gamma utile per contenuti tipici, ma puoi volerlo alzare
-leggermente per materiale con molto disturbo (default: 0).
-Visto che influenza molto poco la velocità, potresti preferire il suo utilizzo
-piuttosto che filtrare il disturbo con dei filtri video come denoise3d o hqdn3d.
-.
-.TP
-.B qns=<0\-3>
-Regolazione del disturbo di quantizzazione.
-Piuttosto che selezionare una quantizzazione che sia il più possibile simile al video
-originale in rapporto al PSNR, viene selezionata una quantizzazione tale che il disturbo
-(normalmente effetti ad anello) venga mascherato da contenuti con frequenza simile dentro
-all'immagine.
-Valori più grandi sono più lenti ma potrebbero non risultare in una qualità migliore.
-Può e dovrebbe essere usato insieme con la quantizzazione trellis, nel qual caso la
-quantizzazione trellis (ottimale per un peso costante) verrà usata come punto
-iniziale per la ricerca iterativa.
-.PD 0
-.RSs
-.IPs 0
-disabilitato (default)
-.IPs 1
-Abbassa solo il valore assoluto dei coefficienti.
-.IPs 2
-Cambia solo i coefficienti prima dell'ultimo coefficiente non zero + 1.
-.IPs 3
-Prova tutto.
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<matrice separata da virgole>
-Usa una matrice inter personalizzata.
-Necessita di una stringa di 64 interi separati da virgola.
-.
-.TP
-.B intra_matrix=<matrice separata da virgole>
-Usa una matrice intra personalizzata.
-Necessita di una stringa di 64 interi separati da virgola.
-.
-.TP
-.B vqmod_amp
-Modulazione del quantizzatore sperimentale.
-.
-.TP
-.B vqmod_freq
-Modulazione del quantizzatore sperimentale.
-.
-.TP
-.B "dc\ \ \ \ \ "
-Precisione della DC intra in bits (default: 8).
-Se viene specificato vcodec=mpeg2video questo valore può essere 8, 9, 10 or 11.
-.
-.TP
-.B cgop (vedi anche sc_threshold)
-Chiude tutti i GOP.
-Attualmente funziona solo se la rilevazione del cambio scena è disattivata
-(sc_threshold=1000000000).
-.
-.TP
-.B "gmc\ \ \ \ "
-Abilita la compensazione del moto globale (Global Motion Compensation).
-.
-.TP
-.B (no)lowdelay
-Imposta il flag di basso ritardo per MPEG-1/2 (disabilita i fotogrammi B).
-.
-.TP
-.B vglobal=<0\-3>
-Controlla la scrittura delle intestazioni video globali.
-.PD 0
-.RSs
-.IPs 0
-Il codec decide quando deve scrivere le intestazioni globali (default).
-.IPs 1
-Scrive le intestazioni globali solo in extradata (necessario per .mp4/MOV/NUT).
-.IPs 2
-Scrive le intestazioni globali solo prima dei fotogrammi chiave.
-.IPs 3
-Combina 1 e 2.
-.RE
-.PD 1
-.
-.TP
-.B aglobal=<0\-3>
-Analogo a vglobal ma per l'intestazione audio.
-.
-.TP
-.B level=<valore>
-Imposta il livello di CodecContext.
-Usa 31 o 41 per riprodurre video su una Playstation 3.
-.
-.TP
-.B skip_exp=<0\-1000000>
-FIXME: Da documentare.
-.
-.TP
-.B skip_factor=<0\-1000000>
-FIXME: Da documentare.
-.
-.TP
-.B skip_threshold=<0\-1000000>
-FIXME: Da documentare.
-.
-.
-.SS nuv (\-nuvopts)
-.
-Nuppel video è basato su RTJPEG e LZO.
-Per default i fotogrammi sono prima codificati con RTJPEG e poi compressi con LZO,
-entrambi i passi possono però essere abilitati o meno.
-Perciò puoi generare flussi grezzi i420, flussi i420 compressi con LZO, RTJPEG oppure il
-default, flussi RTJPEG compressi con LZO.
-.br
-.I NOTA:
-La documentazione di nuvrec contiene qualche consiglio ed esempi sulle
-impostazioni da usare per la maggior parte delle codifiche dalla TV.
-.
-.TP
-.B c=<0\-20>
-soglia della crominanza (default: 1)
-.
-.TP
-.B l=<0\-20>
-soglia della luminanza (default: 1)
-.
-.TP
-.B "lzo\ \ \ \ "
-Abilita la compressione LZO (default).
-.
-.TP
-.B "nolzo\ \ "
-Disabilita la compressione LZO.
-.
-.TP
-.B q=<3\-255>
-Regola il livello di qualità (default: 255)
-.
-.TP
-.B "raw\ \ \ "
-Disabilita la codifica RTJPEG.
-.
-.TP
-.B "rtjpeg\ "
-Abilita la codifica RTJPEG (default).
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-Ci sono tre modalità disponibili: bitrate costante (CBR), quantizzatore fisso
-e due passi.
-.
-.TP
-.B pass=<1|2>
-Specifica il passo nella modalità a due passaggi.
-.
-.TP
-.B turbo (solo modalità a due passi)
-Velocizza in modo drammatico il primo passaggio utilizzando algoritmi
-più veloci e disabilitando opzioni che necessitano di molto tempo
-di CPU.
-Questo probabilmente riduce leggermente il PSNR globale e cambia qualche
-fotogramma, sia come tipo sia riducendone il PSNR.
-.
-.TP
-.B bitrate=<valore> (CBR oppure modalità a due passi)
-Regola il bitrate da usare in kbits/\:secondo se <16000 oppure in bits/\:secondo
-se >16000.
-Se <valore> è negativo, Xvid userà il valore assoluto come dimensione finale
-(in kbyte) del video e calcolerà automaticamente il valore del bitrate associato
-(default: 687 kbit/s).
-.
-.TP
-.B fixed_quant=<1\-31>
-Passa alla modalità a quantizzazione fissa e specifica il fattore di quantizzazione
-da usare
-.
-.TP
-.B zones=<zona0>[/<zona1>[/...]] (CBR oppure modalità a due passi)
-Qualità specificata dall'utente per parti specifiche (finale, crediti, ...)
-Ogni zona è <fotogramma-iniziale>,<modo>,<valore> dove <modo> può essere
-.PD 0
-.RSs
-.IPs "q"
-Forzatura a quantizzatore costante, dove valore=<2.0\-31.0> rappresenta il valore
-di quantizzazione.
-.IPs "w"
-Forzatura del peso del ratecontrol, dove valore=<0.01\-2.00> rappresenta la
-correzione di qualità in %.
-.RE
-.PD 1
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-Codifica tutti i fotogrammi a partire dal fotogramma 90000 con quantizzatore
-costante 20.
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-Codifica i fotogrammi 0\-10000 al 10% del bitrate, codifica i fotogrammi dal
-90000 fino alla fine a quantizzatore costante 20.
-Nota che la seconda zona è necessaria per delimitare la prima, visto che
-senza di essa tutto fino al fotogramma 89999 verrebbe codificato al 10% del
-bitrate.
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-Questa opzione controlla il sottosistema di stima del movimento.
-Più è alto il valore più dovrebbe essere precisa la stima (default: 6).
-Più è precisa la stima del movimento, più bit possono essere risparmiati.
-La precisione viene aumentata a spese del tempo di CPU perciò cala questo
-valore se hai bisogno di una codifica in tempo reale.
-.
-.TP
-.B (no)qpel
-MPEG-4 utilizza per default una ricerca del movimento con una precisione di
-mezzo pixel.
-Lo standard propone un modo in cui è possibile utilizzare una precisione
-di un quarto di pixel.
-Normalmente questa opzione genera una immagine più nitida.
-Sfortunatamente ha un grosso impatto sulla dimensione del file e ogni tanto
-l'alto bitrate che viene usato previene l'ottenimento di immagini di migliore
-qualità dato un certo bitrate fisso.
-E' meglio provare con e senza questa opzione e vedere se vale la pena attivarla
-o meno.
-.
-.TP
-.B (no)gmc
-Abilita la compensazione del moto globale (Global Motion Compensation),
-che permette a Xvid di generare fotogrammi speciali (GMC-Frames) che sono molto
-adatti per immagini in cui si hanno degli zoom, delle rotazioni o movimenti di pan.
-Se l'utilizzo o meno di questa opzione permette di risparmiare bit dipende
-moltissimo dal materiale video.
-.
-.TP
-.B (no)trellis
-La quantizzazione trellis è un metodo di quantizzazione adattiva che
-risparmia bit modificando i coefficienti di quantizzazione per renderli
-più comprimibili dal codificatore entropico.
-Il suo impatto sulla qualità è buono e se nel tuo caso VHQ utilizza troppa CPU,
-questa opzione può essere una buona alternativa per risparmiare qualche bit
-(e guadagnare qualità ad un certo bitrate) ad un costo minore che con VHQ
-(default: attiva).
-.
-.TP
-.B (no)cartoon
-Attiva questa opzione se la sequenza da codificare è un anime/\:cartone animato.
-Vengono modificate alcune soglie interne di Xvid in modo da prendere decisioni
-migliori sui tipi di fotogramma e sui vettori di movimento per immagini che
-appaiono piatte come i cartoni animati.
-.
-.TP
-.B (no)chroma_me
-Normalmente l'algoritmo di ricerca del movimento utilizza solo le informazioni
-di luminanza per trovare il vettore di movimento migliore.
-Tuttavia per certi tipi di materiale video, utilizzare i piani della crominanza
-può aiutare a trovare vettori migliori
-Questa opzione attiva l'utilizzo dei piani della crominanza per la stima del
-movimento (default: attiva).
-.
-.TP
-.B (no)chroma_opt
-Abilita un pre-filtro di ottimizzazione della crominanza.
-Viene eseguita una qualche magia extra sulle informazioni del colore per
-minimizzare l'effetto a scalino degli spigoli.
-Migliora la qualità a spese della velocità di codifica.
-Per natura riduce il PSNR, visto che la deviazione matematica dall'immagine
-originale aumenta, ma la qualità percepita dell'immagine migliora.
-Visto che lavora con le informazioni del colore puoi volerla disabilitare
-quando codifichi in scala di grigio.
-.
-.TP
-.B (no)hq_ac
-Attiva la previsione ad alta qualità dei coefficienti AC dei fotogrammi intra
-dai blocchi circostanti (default: attiva).
-.
-.TP
-.B vhq=<0\-4>
-L'algoritmo di ricerca del movimento è basato su una ricerca nel dominio del
-colore e cerca di trovare un vettore di movimento che minimizzi la differenza
-tra il fotogramma di riferimento e quello codificato.
-Con questa impostazione attivata, Xvid userà anche il dominio delle frequenze
-(DCT) per ricercare un vettore di movimento che minimizzi non solo la
-differenza spaziale, ma anche la lunghezza codificata del blocco.
-Dalla più rapida alla più lenta:
-.PD 0
-.RSs
-.IPs 0
-disabilitata
-.IPs 1
-decisione del modo (MB inter/\:intra) (default)
-.IPs 2
-ricerca limitata
-.IPs 3
-ricerca media
-.IPs 4
-ricerca ampia
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-La quantizzazione adattiva permette al quantizzatore dei macroblocchi di
-variare all'interno di ogni fotogramma.
-Questo è un'impostazione 'psicosensoriale' che si suppone faccia uso del fatto
-che l'occhio umano tende a notare meno dettagli in parti molto luminose o
-molto scure dell'immagine.
-Queste aree vengono compresse maggiormente che quelle medie, in modo da salvare
-dei bit che possono essere utilizzati su altri fotogrammi, migliorando la
-qualità soggettiva e riducendo eventualmente il PSNR.
-.
-.TP
-.B (no)grayscale
-Lascia che Xvid ignori i piani di crominanza in modo da ottenere un video solo
-in scala di grigi (bianco e nero).
-Nota che questa opzione non velocizza la codifica, salta solo e non esegue la
-scrittura dei dati di crominanza nell'ultimo stadio della codifica.
-.
-.TP
-.B (no)interlacing
-Codifica i campi del materiale video interlacciato.
-Attiva questa opzione se hai dei contenuti interlacciati.
-.br
-.I NOTA:
-Se devi scalare il video hai bisogno di un filtro di scalatura che capisca
-l'interlacciamento, ad esempio \-vf scale=<larghezza>:<altezza>:1.
-.
-.TP
-.B min_iquant=<0\-31>
-Quantizzatore minimo per i fotogrammi I (default: 2)
-.
-.TP
-.B max_iquant=<0\-31>
-Quantizzatore massimo per i fotogrammi I (default: 31)
-.
-.TP
-.B min_pquant=<0\-31>
-Quantizzatore minimo per i fotogrammi P (default: 2)
-.
-.TP
-.B max_pquant=<0\-31>
-Quantizzatore massimo per i fotogrammi P (default: 31)
-.
-.TP
-.B min_bquant=<0\-31>
-Quantizzatore minimo per i fotogrammi B (default: 2)
-.
-.TP
-.B max_bquant=<0\-31>
-Quantizzatore massimo per i fotogrammi B (default: 31)
-.
-.TP
-.B min_key_interval=<valore> (solo modalità a due passi)
-Intervallo minimo tra due fotogrammi chiave (keyframe) (default: 0)
-.
-.TP
-.B max_key_interval=<valore>
-Intervallo massimo tra due fotogrammi chiave (default: 10*fps)
-.
-.TP
-.B quant_type=<h263|mpeg>
-Imposta il tipo di quantizzatore da usare.
-Per bitrate alti scoprirai che la quantizzazione MPEG preserva maggiori dettagli.
-Per bitrate bassi la sfocatura di H.263 genera meno disturbo dovuto ai blocchi.
-Quando utilizzi delle matrici personalizzate
-.B devi
-usare la quantizzazione MPEG.
-.
-.TP
-.B quant_intra_matrix=<nomefile>
-Carica una matrice intra personalizzata dal file specificato.
-Puoi creare un file del genere con l'editor di matrici di xvid4conf.
-.
-.TP
-.B quant_inter_matrix=<nomefile>
-Carica una matrice inter personalizzata dal file specificato.
-Puoi creare un file del genere con l'editor di matrici di xvid4conf.
-.
-.TP
-.B keyframe_boost=<0\-1000> (solo modalità a 2 passi)
-Sposta qualche bit dal blocco di memoria degli altri tipi di fotogramma ai
-fotogrammi di tipo intra, migliorando la qualità dei fotogrammi chiave (keyframe).
-Il valore rappresenta una percentuale extra, perciò un valore di 10 darà ai
-tuoi fotogrammi chiave il 10% in più di bit del normale
-(default: 0).
-.
-.TP
-.B kfthreshold=<valore> (solo modalità a 2 passi)
-Lavora insieme con kfreduction.
-Determina la distanza minima sotto la quale due fotogrammi sono considerati
-consecutivi e trattati in modo diverso in accordo a kfreduction
-(default: 10).
-.
-.TP
-.B kfreduction=<0\-100> (solo modalità a 2 passi)
-Le due impostazioni precedenti possono essere utilizzate per controllare
-la dimensione dei fotogrammi chiave che sono considerati troppo vicini al
-primo (in una riga).
-kfthreshold seleziona la gamma in cui i fotogrammi chiave sono ridotti, e
-kfreduction determina la riduzione di bitrate che ottengono.
-L'ultimo fotogramma I viene trattato normalmente
-(default: 30).
-.
-.TP
-.B max_bframes=<0\-4>
-Numero massimo di fotogrammi di tipo B da mettere tra i fotogrammi I/P (default: 2).
-.
-.TP
-.B bquant_ratio=<0\-1000>
-rapporto di quantizzazione tra fotogrammi di tipo B e fotogrammi non di tipo B,
-150=1.50 (default: 150)
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-scostamento di quantizzazione tra fotogrammi di tipo B e fotogrammi non di tipo B,
-100=1.00 (default: 100)
-.
-.TP
-.B bf_threshold=<\-255\-255>
-Questa opzione ti permette o meno di favorire l'utilizzo di fotogrammi B.
-Maggiore il valore, maggiore la probabilità che vengano usati fotogrammi B.
-(default: 0)
-Non dimenticare che spesso i fotogrammi B hanno un quantizzatore più alto, e
-quindi un massiccio utilizzo può portare ad una peggior qualità.
-.
-.TP
-.B (no)closed_gop
-Questa opzione dice a Xvid di chiudere ogni GOP (Group Of Pictures, gruppo di
-immagini, racchiuso da due fotogrammi I), cosa che rende i GOP indipendenti
-uno dall'altro.
-Questo semplicemente significa che l'ultimo fotogramma di un GOP è un fotogramma
-P oppure N ma non un fotogramma di tipo B.
-Normalmente è una buona idea attivare questa opzione (default: attiva).
-.
-.TP
-.B (no)packed
-Questa opzione è studiata per risolvere problemi di ordine di visualizzazione
-dei fotogrammi quando si codifica in un formato contenitore come AVI, che
-non riesce a gestire correttamente fotogrammi non in ordine (out-of-order).
-In pratica molti decodificatori (sia software che hardware) sono capaci di
-gestire da soli in modo corretto i fotogrammi non in ordine e possono venir
-confusi quando questa opzione è attivata, perciò puoi tranquillamente lasciarla
-non attiva, a meno che tu non sappia esattamente quello che stai facendo.
-.br
-.I ATTENZIONE:
-Verrà generato un flusso illegale, e non sarà decodificabile
-dai decodificatori ISO-MPEG-4 eccetto DivX/\:libavcodec/\:Xvid.
-.br
-.I ATTENZIONE:
-Viene anche memorizzata una falsa versione DivX nel file e di
-conseguenza l'attivazione automatica dell'eliminazione dei bug di
-alcuni decodificatori può venir confusa.
-.
-.TP
-.B frame_drop_ratio=<0\-100> (solo max_bframes=0)
-Questa opzione permette di creare flussi video a framerate variabile.
-Se la differenza tra un fotogramma ed il precedente è inferiore od uguale
-alla soglia specificata come parametro, allora il fotogramma non viene
-codificato (viene inserito nel flusso quello che è chiamato n-vop).
-In riproduzione quando si incontra un n-vop viene visualizzato il fotogramma
-precedente.
-.br
-.I ATTENZIONE:
-Attivando questa opzione il filmato può risultare a scatti, perciò utilizzalo
-a tuo rischio!
-.
-.TP
-.B rc_reaction_delay_factor=<valore>
-Questo parametro controlla il numero di fotogrammi che il controllore
-della dimensione finale del file a bitrate costante (CBR rate controller) aspetta
-prima di reagire a cambiamenti della dimensione del flusso e cerchi di compensare
-i cambiamenti stessi per ottenere un flusso a velocità costante su un numero
-medio di fotogrammi.
-.
-.TP
-.B rc_averaging_period=<valore>
-Un CBR (Constant Bit Rate, bitrate costante) è difficile da ottenere.
-A seconda del materiale video il bitrate può essere variabile e difficile da
-prevedere.
-E' per questo che Xvid utilizza un periodo medio per il quale garantisce una
-certa quantità di bit (meno una piccola variazione).
-Questa impostazione esprime il "numero di fotogrammi" per i quali Xvid media
-il bitrate e cerca di ottenere un flusso a velocità costante.
-.
-.TP
-.B rc_buffer=<valore>
-Dimensione del buffer di controllo della dimensione del file
-.
-.TP
-.B curve_compression_high=<0\-100>
-Questa opzione permette a Xvid di prendere una certa percentuale di bit
-dalle scene ad alto bitrate e passarle di nuovo al 'serbatoio' dei bit.
-Puoi usare questa opzione se hai un video con talmente tanti bit allocati
-per le scene ad alto bitrate che quelle a bitrate (più) basso cominciano
-ad apparire brutte (default: 0).
-.
-.TP
-.B curve_compression_low=<0\-100>
-Questa opzione permette a Xvid di dare una certa percentuale di bit extra alle
-scene a basso bitrate, prendendo un poco di bit dall'intero video.
-Questo torna utile se hai alcune scene a basso bitrate che continuano ad
-essere ancora a blocchi (default: 0).
-.
-.TP
-.B overflow_control_strength=<0\-100>
-Durante il primo passo di una codifica a due passi viene calcolata una
-curva scalata del bitrate.
-La differenza tra la curva prevista e quella ottenuta durante la codifica
-si chiama overflow.
-Ovviamente il programma cerca di compensare questo overflow, distribuendolo
-nei fotogrammi successivi.
-Questa opzione controlla quanto dell'overflow viene distribuito ogni volta
-che c'è un nuovo fotogramma.
-Bassi valori rendono il controllo di overflow 'pigro', crescite rapide del
-bitrate vengono compensate più lentamente (e si può arrivare ad una perdita
-di precisione per video corti).
-Valori alti rendono la distribuzione dei bit molto repentina, a volte troppo
-se utilizzi un valore molto alto, ed è possibile generare artefatti
-(default: 5).
-.br
-.I NOTA:
-Questa opzione ha una grande influenza sulla qualità, utilizzala molto
-attentamente!
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-Durante l'allocazione dei bit per un fotogramma il controllo di overflow
-può aumentare la dimensione del fotogramma stesso.
-Questo parametro specifica la percentuale massima di aumento della dimensione
-del fotogramma che il controllo di overflow può effettuare, rispetto alla
-curva ideale di allocazione (default: 5).
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-Durante l'allocazione dei bit per un fotogramma il controllo di overflow
-può diminuire la dimensione del fotogramma stesso.
-Questo parametro specifica la percentuale massima di diminuzione della dimensione
-del fotogramma che il controllo di overflow può effettuare, rispetto alla
-curva ideale di allocazione (default: 5).
-.
-.TP
-.B container_frame_overhead=<0...>
-Specifica un incremento medio della dimensione del fotogramma, in byte.
-Spesso la dimensione del video viene calcolata senza tenere conto dei byte
-inseriti, in ogni fotogramma, dal contenitore (il formato file che contiene
-audio e/o video, ad esempio AVI o NUT).
-Questo piccola, ma (spesso) costante, aggiunta può causare un superamento
-della dimensione prevista del file.
-Xvid permette all'utente di selezionare la dimensione
-dell'aggiunta che viene fatta per ogni fotogramma dal formato contenitore (passa
-semplicemente il valore medio di ogni fotogramma).
-Zero ha un significato speciale, in quanto lascia che Xvid utilizzi i sui
-valori di default (default: 24 \- media aggiunta per il formato AVI).
-.
-.TP
-.B profile=<nome_profilo>
-Limita le opzioni e il VBV (Video Buffer Verifier, verifica del buffer
-video, controllo del picco del flusso dei dati in un breve lasso di tempo) in
-accordo con i profili Simple, Advanced Simple e DivX.
-I filmati risultanti dovrebbero poter essere riproducibili su lettori da tavolo
-(cioè non un personal computer) che rispettano queste specifiche di profilo.
-.PD 0
-.RSs
-.IPs unrestricted
-nessuna limitazione (default)
-.IPs "sp0\ \ "
-profilo Simple a livello 0
-.IPs "sp1\ \ "
-profilo Simple a livello 1
-.IPs "sp2\ \ "
-profilo Simple a livello 2
-.IPs "sp3\ \ "
-profilo Simple a livello 3
-.IPs "asp0\ "
-profilo Advanced Simple a livello 0
-.IPs "asp1\ "
-profilo Advanced Simple a livello 1
-.IPs "asp2\ "
-profilo Advanced Simple a livello 2
-.IPs "asp3\ "
-profilo Advanced Simple a livello 3
-.IPs "asp4\ "
-profilo Advanced Simple a livello 4
-.IPs "asp5\ "
-profilo Advanced Simple a livello 5
-.IPs dxnhandheld
-profilo DXN palmare
-.IPs dxnportntsc
-profilo DXN portatile NTSC
-.IPs dxnportpal
-profilo DXN portatile PAL
-.IPs dxnhtntsc
-profilo DXN home theater NTSC
-.IPs dxnhtpal
-profilo DXN home theater PAL
-.IPs dxnhdtv
-profilo DXN HDTV
-.RE
-.PD 1
-.RS
-.I NOTA:
-Questi profili dovrebbero essere usati insieme con un \-fourcc appropriato.
-Solitamente va bene DX50, dato che molti lettori non riconoscono Xvid, ma la
-maggior parte riconosce DivX.
-.RE
-.
-.TP
-.B par=<modo>
-Specifica il Pixel Aspect Ratio (rapporto di aspetto del punto), da non
-confondere con il DAR che è il Display Aspect Ratio (rapporto di aspetto del
-Display).
-PAR è il rapporto tra la larghezza e l'altezza di un singolo punto e perciò
-entrambi sono legati tra loro in questo modo:
-DAR = PAR * (larghezza/altezza).
-.br
-MPEG-4 definisce 5 valori di PAR ed uno esteso, dando l'opportunità di indicare
-uno specifico rapporto di aspetto del punto.
-5 modi standard possono essere specificati:
-.PD 0
-.RSs
-.IPs vga11
-E' il PAR solito per materiale da PC.
-I pixel sono quadrati.
-.IPs pal43
-PAR standard PAL in formato 4:3.
-I pixel sono rettangolari.
-.IPs pal169
-Come sopra
-.IPs ntsc43
-Come sopra
-.IPs ntsc169
-Come sopra (non dimenticare di specificare il rapporto esatto.)
-.IPs "ext\ \ "
-Ti permette di specificare il tuo rapporto di aspetto dei pixel con
-par_width e par_height.
-.RE
-.PD 1
-.RS
-.I NOTA:
-In generale, attivare le opzioni aspect e autoaspect è sufficiente.
-.RE
-.
-.TP
-.B par_width=<1\-255> (solo par=ext)
-Specifica la larghezza del rapporto di aspetto del pixel personalizzato.
-.
-.TP
-.B par_height=<1\-255> (solo par=ext)
-Specifica l'altezza del rapporto di aspetto del pixel personalizzato.
-.
-.TP
-.B aspect=<x/y | f (valore decimale)>
-Memorizza l'aspetto del film internamente al file, proprio
-come nei file MPEG.
-Soluzione migliore della riscalatura perché la qualità non viene
-ridotta.
-Solo MPlayer e pochi altri programmi potranno visualizzare questi
-file in modo corretto, gli altri
-programmi visualizzeranno il filmato con l'aspetto sbagliato.
-Il parametro può essere dato come un rapporto oppure un
-numero decimale.
-.
-.TP
-.B (no)autoaspect
-Uguale all'opzione aspect, ma calcola automaticamente l'aspetto,
-tenendo in considerazione tutte le varie operazioni (taglia, espandi,
-riscala, etc) fatte nella catena dei filtri.
-.
-.TP
-.B "psnr\ \ \ "
-stampa il PSNR (peak signal to noise ratio, picco del rapporto segnale / disturbo)
-per il video completo alla fine della codifica e memorizza il PSNR di ogni fotogramma
-in un file con un nome simile a 'psnr_hhmmss.log' nella directory corrente.
-I valori di ritorno sono in dB (decibel), più alto è migliore.
-.
-.TP
-.B "debug\ \ "
-Salva una serie di statistiche per ogni fotogramma in ./xvid.dbg.
-(Questo non è il file di controllo della modalità a due passi.)
-.RE
-.
-.PP
-.sp 1
-L'opzione che segue è disponibile solo in Xvid 1.1.x.
-.
-.TP
-.B bvhq=<0|1>
-Questa opzione permette la scelta dei vettori per i fotogrammi di
-tipo B utilizzando un operatore ottimizzato sull'indice della distorsione,
-che è quello che viene fatto per i fotogrammi P con l'opzione vhq.
-Questo produce dei fotogrammi B di bell'aspetto e contemporaneamente non
-riduce quasi per niente le prestazioni (default: 1).
-.
-.PP
-.sp 1
-L'opzione che segue è disponibile solo nella versione 1.2.x di Xvid.
-.
-.TP
-.B threads=<0\-n>
-Crea n thread per eseguire la stima del movimento (default: 0).
-Il numero massimo di thread che possono essere usati è l'altezza
-dell'immagine diviso per 16.
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<valore>
-Seleziona il bitrate medio da usare in kbit/\:secondo (default: disabilitato).
-Visto che il bitrate locale può variare, questa media può non essere accurata
-per video molto corti (vedi ratetol).
-Un bitrate costante può essere ottenuto combinando questa opzione con
-vbv_maxrate ottenendo però una significativa riduzione della qualità.
-.
-.TP
-.B qp=<0\-51>
-Questo seleziona il quantizzatore da usare.
-I fotogrammi I e B sono spostati di questo valore rispettivamente da ip_factor
-e pb_factor.
-Una gamma utilizzabile è 20\-40.
-Valori più bassi generano una miglior fedeltà ma bitrate più alti.
-0 significa senza perdita.
-Nota che la quantizzazione in H.264 funziona diversamente che in MPEG-1/2/4:
-il valore del parametro di quantizzazione (QP) di H.264 è in scala logaritmica.
-La mappatura è approssimativamente H264QP = 12 + 6*log2(MPEGQP).
-Per esempio MPEG a QP=2 è equivalente ad H.264 con QP=18.
-.
-.TP
-.B crf=<1.0\-50.0>
-Attiva la modalità a qualità constante, e imposta la qualità.
-La scala è simile a QP.
-Come la modalità basata sul bitrate, questa permette ad ogni fotogramma di
-usare un QP diverso basandosi sulla complessità del fotogramma stesso.
-.
-.TP
-.B pass=<1\-3>
-Attiva la modalità interna a due (o tre) passi.
-Si raccomanda di effettuare la codifica utilizzando sempre 2 o 3 passi
-per ottenere una migliore distribuzione dei bit nel file
-codificato e migliorare di conseguenza la qualità complessiva.
-.PD 0
-.RSs
-.IPs 1
-primo passo
-.IPs 2
-secondo passo
-.IPs 3
-ennesimo passo (secondo e terzo passo della codifica a 3 passi)
-.RE
-.RS
-Ecco come funziona e come usarlo:
-.br
-Il primo passo (pass=1) scrive il file delle statistiche.
-Puoi voler disattivare qualche opzione molto 'affamata' di CPU, a parte quelle
-che sono attive per default.
-.br
-Nella modalità a due passi il secondo passaggio (pass=2) legge il file
-delle statistiche e basa le decisioni del controllo della dimensione del
-file su di esso.
-.br
-Nella modalità a 3 passi il secondo passo (pass=3, non è un errore di
-battitura) esegue entrambi: prima legge le statistiche poi le sovrascrive.
-Puoi usare tutte le opzione di codifica, eccetto le opzioni veramente 'affamate'
-di CPU.
-.br
-Il terzo passo (pass=3) è lo stesso che il secondo, eccetto per il fatto che
-ha disponibili le statistiche del passo precedente su cui lavorare.
-Puoi usare tutte le opzioni di codifica, comprese quelle molto 'affamate'.
-.br
-Il primo passo può usare sia bitrate medio che quantizzatore costante.
-Si consiglia di utilizzare il bitrate medio ABR, visto che non ti obbliga ad
-indovinare un valore di quantizzatore.
-I passi successivi sono ABR e si deve specificare il bitrate.
-.REss
-.
-.TP
-.B turbo=<0\-2>
-Modalità primo passo veloce.
-Durante il primo passaggio di una codifica a 2 o 3 passaggi, è possibile
-guadagnare velocità disabilitando alcune opzioni con un impatto basso o nullo
-sulla qualità di uscita dell'ultimo passaggio.
-.PD 0
-.RSs
-.IPs 0
-disabilitato (default)
-.IPs 1
-Riduce subq, frameref e disabilita alcune modalità di analisi di partizioni
-dei macroblocchi inter.
-.IPs 2
-Riduce subq e frameref a 1, usa una ricerca di movimento a diamante e
-disabilita tutte le modalità di analisi di partizione.
-.RE
-.RS
-Il livello 1 può aumentare fino al doppio la velocità del primo passaggio,
-senza differenze nel PSNR complessivo dell'ultimo passo, rispetto a un
-primo passo a piena qualità.
-.br
-Il livello 2 può aumentare di 4 volte la velocità del primo passaggio, con
-una differenza di circa +/\- 0.05dB nel PSNR complessivo dell'ultimo passo,
-rispetto a un primo passo a piena qualità.
-.REss
-.
-.TP
-.B keyint=<valore>
-Seleziona l'intervallo massimo tra due fotogrammi IDR (default: 250).
-Valori maggiori permettono di risparmiare bit, incrementando la qualità a
-spese della precisione di posizionamento.
-A differenza di MPEG-1/2/4, H.264 non soffre di problemi di deriva della DCT
-con alti valori di keyint.
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-Seleziona l'intervallo minimo tra fotogrammi IDR (default: 25).
-Se dei cambiamenti di scena accadono all'interno di questo intervallo, i
-fotogrammi sono codificati comunque come tipo I ma non cominciano un nuovo GOP.
-In H.264, i fotogrammi I non necessariamente racchiudono un GOP chiuso perché
-è permesso predire i fotogrammi P da più fotogrammi oltre che da quello che
-lo precede (vedi anche frameref).
-Perciò i fotogrammi I non sono necessariamente posizionabili.
-I fotogrammi IDR evitano che i fotogrammi P che seguono facciano riferimento
-a qualsiasi fotogramma precedente al fotogramma IDR.
-.
-.TP
-.B scenecut=<\-1\-100>
-Controlla l'aggressività nell'inserzione di fotogrammi I extra (default: 40).
-Con valori bassi di scenecut spesso il codec deve forzare un fotogramma I
-quando si eccederebbe il valore di keyint.
-Buoni valori di scenecut possono trovare una posizione migliore per i
-fotogrammi I.
-Valori alti utilizzano più fotogrammi I del necessario, sprecando perciò bit.
-\-1 disabilita la rilevazione di cambi scena (scene-cut), perciò i fotogrammi
-I saranno inseriti solamente una volta ogni keyint fotogrammi, anche se abbiamo
-dei cambi di scena precedenti.
-Questo non è raccomandato e sciupa il bitrate visto che i cambi di scena
-codificati come fotogrammi P utilizzano tanto spazio quanto i fotogrammi I
-ma non azzerano il contatore "keyint".
-.
-.TP
-.B frameref=<1\-16>
-Numero di fotogrammi precedenti utilizzati come predittori nei fotogrammi B e P
-(default: 3).
-E' efficace con alcuni anime o cartoni animati, ma su filmati ripresi dal vivo
-i miglioramenti calano rapidamente dopo circa 6 fotogrammi di riferimento.
-Non ha effetto sulla velocità di decodifica ma incrementa la memoria necessaria
-alla decodifica.
-Alcuni decodificatori possono gestire al massimo 15 fotogrammi di riferimento.
-.
-.TP
-.B bframes=<0\-16>
-numero massimo di fotogrammi B consecutivi tra fotogrammi I e P (default: 3)
-.
-.TP
-.B (no)b_adapt
-Decide automaticamente quando e quanti fotogrammi di tipo B deve usare, fino
-al massimo specificato sopra con bframes (default: attiva).
-Se questa opzione non è attiva, allora il massimo numero di fotogrammi B
-viene usato.
-.
-.TP
-.B b_bias=<\-100\-100>
-Controlla la decisione eseguita da b_adapt.
-Un valore maggiore di b_bias produce più fotogrammi di tipo B (default: 0).
-.
-.TP
-.B (no)b_pyramid
-Permette ai fotogrammi B di essere usati come riferimento per predire
-altri fotogrammi.
-Per esempio considera 3 fotogrammi B consecutivi: I0 B1 B2 B3 P4.
-Senza questa opzione i fotogrammi B seguono lo stesso modello di MPEG-[124].
-Sono perciò codificati in ordine I0 P4 B1 B2 B3 e tutti i fotogrammi di tipo
-B sono predetti da I0 e P4.
-Con questa opzione sono invece codificati come I0 P4 B2 B1 B3.
-B2 è lo stesso dell'esempio sopra, ma B1 è predetto da I0 e B2, mentre
-B3 è predetto da B2 e P4.
-Normalmente si ottiene una compressione leggermente migliore, praticamente
-senza alcuna perdita di velocità.
-Nota che questa è però un'opzione sperimentale: non è perfettamente ottimizzata
-e può non sempre aiutare.
-Questo genera una compressione leggermente migliore senza perdite di velocità.
-Necessita di bframes >= 2.
-Svantaggi: incrementa il ritardo di decodifica a 2 fotogrammi.
-.
-.TP
-.B (no)deblock
-Utilizza il filtro di de-block (default: attivo).
-Visto che utilizza molto poco tempo rispetto al guadagno in qualità che si
-ottiene, non è molto consigliato disabilitarlo.
-.
-.TP
-.B deblock=<\-6\-6>,<\-6\-6>
-Il primo parametro è l'AlphaC0 (default: 0).
-Controlla la soglia per il filtro di de-block in-loop di H.264.
-Per prima cosa, questo parametro controlla la massima quantità di cambiamento
-che il filtro può causare su ogni pixel.
-Secondariamente, questo parametro influenza la soglia della differenza tra gli
-spigoli che vengono filtrati.
-Un valore positivo riduce di molto gli artefatti dei blocchi ma rovina anche
-i dettagli.
-.br
-Il secondo parametro è il Beta (default: 0).
-Influenza la soglia del dettaglio.
-Blocchi molto dettagliati non vengono filtrati, visto che lo smussamento
-causato dal filtro sarebbe più visibile del blocco originario.
-.br
-Il comportamento di default del filtro praticamente ottiene sempre una qualità
-ottimale perciò è meglio lasciarlo stare oppure fare solo piccoli
-aggiustamenti.
-Però, se il materiale originale ha già un po' di effetti a blocchi o del
-disturbo che vorresti eliminare può essere una buona idea alzarlo un poco.
-.
-.TP
-.B (no)cabac
-Utilizza CABAC (Context-Adaptive Binary Arithmetic Coding) (default: attivo).
-Rallenta leggermente la codifica e la decodifica ma può permettere di
-risparmiare il 10\-15% dei bit.
-A meno che la velocità di decodifica non sia una prerogativa indispensabile
-non dovresti disabilitarlo.
-.
-.TP
-.B qp_min=<1\-51> (ABR o modalità a due passi)
-Valore minimo di quantizzazione. Una gamma utile sembra essere 10\-30
-(default: 10).
-.
-.TP
-.B qp_max=<1\-51> (ABR o modalità a due passi)
-Valore massimo di quantizzazione (default: 51).
-.
-.TP
-.B qp_step=<1\-50> (ABR o modalità a due passi)
-Valore massimo di incremento / decremento del valore di quantizzazione tra
-fotogrammi (default: 4).
-.
-.TP
-.B ratetol=<0.1\-100.0> (ABR o modalità a due passi)
-Variazione permessa nel bitrate medio (nessuna unità particolare)
-(default: 1.0).
-.
-.TP
-.B vbv_maxrate=<valore> (ABR o modalità a due passi)
-valore massimo del bitrate locale, in kbits/\:second (default: disabilitato)
-.
-.TP
-.B vbv_bufsize=<valore> (ABR o modalità a due passi)
-buffer per il calcolo della media per vbv_maxrate, in kbit.
-(default: nessuno, deve essere specificato se è abilitato vbv_maxrate)
-.
-.TP
-.B vbv_init=<0.0\-1.0> (ABR o modalità a due passi)
-occupazione iniziale del buffer, come frazione di vbv_bufsize (default: 0.9)
-.
-.TP
-.B ip_factor=<valore>
-Fattore di quantizzazione tra i fotogrammi I e P (default: 1.4)
-.
-.TP
-.B pb_factor=<valore>
-Fattore di quantizzazione tra i fotogrammi P e B (default: 1.3)
-.
-.TP
-.B qcomp=<0\-1> (ABR o modalità a due passi)
-Compressione del quantizzatore (default: 0.6).
-Un valore basso rende il bitrate più costante mentre un valore alto rende
-il parametro di quantizzazione più costante.
-.
-.TP
-.B cplx_blur=<0\-999> (solo modalità a due passi)
-Sfocatura temporale della stima della complessità dei fotogrammi, prima
-della compressione della curva (default: 20).
-Valori bassi permettono al valore di quantizzazione di muoversi molto,
-valori più alti lo forzano a variazioni più dolci.
-cplx_blur assicura che ogni fotogramma I abbia una qualità comparabile ai
-fotogrammi P successivi, ed assicura che fotogrammi con alternanza di alta
-e bassa complessità (p.es.\& animazioni a basso framerate) non perdano bit
-a causa di fluttuazioni del quantizzatore.
-.
-.TP
-.B qblur=<0\-99> (solo modalità a due passi)
-Sfocatura temporale del parametro di quantizzazione, dopo la compressione
-della curva (default: 0.5).
-Valori bassi permettono al quantizzatore di muoversi molto, valori alti lo
-forzano a variazioni più dolci.
-.
-.TP
-.B zones=<zona0>[/<zona1>[/...]]
-Qualità specificata dall'utente per parti specifiche (finale, crediti, ...).
-Ogni zona è <fotogramma-iniziale>,<fotogramma-finale>,<opzione> dove opzione
-può essere
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-quantizzatore
-.IPs "b=<0.01\-100.0>"
-moltiplicatore del bitrate
-.RE
-.PD 1
-.RS
-.I NOTA:
-L'opzione di quantizzazione non viene applicata completamente.
-Influenza solo la fase di pianificazione del controllo di bitrate ed è
-comunque soggetta alla compensazione dell'overflow ed a qp_min/qp_max.
-.RE
-.
-.TP
-.B direct_pred=<nome>
-Determina il tipo di previsione del movimento usato per i macroblocchi
-diretti nei fotogrammi di tipo B.
-.PD 0
-.RSs
-.IPs none
-Nessuno: I macroblocchi diretti non vengono usati.
-.IPs spatial
-Spaziale: I vettori di movimento sono estrapolati dai blocchi vicini.
-(default)
-.IPs temporal
-Temporale: I vettori di movimento vengono estrapolati dai fotogrammi di tipo
-P che seguono.
-.IPs auto
-Automatica: Il codec sceglie tra spaziale e temporale per ciascun fotogramma.
-.RE
-.PD 1
-.RS
-Le due previsioni spaziali e temporali hanno approssimativamente la
-stessa velocità e qualità (PSNR), la scelta tra una o l'altra dipende dal
-contenuto video.
-Quella automatica è leggermente migliore, ma più lenta.
-Quella automatica è la migliore se combinata con modalità a più passi.
-Utilizzare direct_pred=none è contemporaneamente più lento e genera una qualità
-peggiore.
-.RE
-.
-.TP
-.B (no)weight_b
-Utilizza la previsione ponderata nei fotogrammi B.
-Senza questa opzione, i macroblocchi predetti in maniera bidirezionale danno
-ugual peso ad ogni fotogramma di riferimento.
-Con questa opzione i pesi sono determinati dalla posizione temporale del
-fotogramma B rispetto ai riferimenti.
-Necessita di bframes > 1.
-.
-.TP
-.B partitions=<lista>
-Abilita alcuni tipi di macroblocco opzionali (p8x8, b8x8, i8x8, i4x4).
-.PD 0
-.RSs
-.IPs p8x8 (default)
-Abilita i tipi p16x8, p8x16, p8x8.
-.IPs p4x4
-Abilita i tipi p8x4, p4x8, p4x4.
-p4x4 è consigliato solo con subq >= 5, e solo a basse risoluzioni.
-.IPs b8x8
-Abilita i tipi b16x8, b8x16, b8x8.
-.IPs i8x8
-Abilita i tipi i8x8.
-i8x8 non ha alcun effetto se 8x8dct non è abilitato.
-.IPs i4x4
-Abilita il tipo i4x4.
-.IPs all
-Abilita tutti i tipi suddetti.
-.IPs none
-Disabilita tutti i tipi suddetti.
-.RE
-.PD 1
-.RS
-A dispetto di questa opzione, i tipi di macroblocco p16x16, b16x16, e i16x16
-sono sempre abilitati.
-.br
-L'idea è quella di trovare il tipo e la dimensione che descrive meglio una
-certa area dell'immagine.
-Ad esempio una carrellata su tutta la scena viene descritta meglio da blocchi
-16x16, mentre piccoli oggetti in movimento sono rappresentati meglio da blocchi
-più piccoli.
-.RE
-.
-.TP
-.B (no)8x8dct
-Dimensione adattiva della trasformazione spaziale: permette ai macroblocchi
-di scegliere tra la DCT 4x4 e 8x8.
-Permette anche il tipo di macroblocco i8x8.
-Senza questa opzione viene utilizzata solo la DCT 4x4.
-.
-.TP
-.B me=<nome>
-Seleziona l'algoritmo di stima del movimento a pixel intero.
-.PD 0
-.RSs
-.IPs dia
-ricerca a diamante, raggio 1 (veloce)
-.IPs hex
-ricerca ad esagono, raggio 2 (default)
-.IPs umh
-ricerca multi-esagono mutevole (lenta)
-.IPs esa
-ricerca esaustiva (molto lenta, e non migliore di umh)
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-raggio della ricerca esaustiva oppure multi-esagono del movimento (default: 16)
-.
-.TP
-.B subq=<0\-9>
-Controlla la qualità della rifinitura dei sotto pixel (subpel).
-Questo parametro controlla la qualità rispetto alla velocità coinvolta
-nel processo di decisione della stima del movimento.
-subq=5 può comprimere fino al 10% in più rispetto a subq=1.
-.PD 0
-.RSs
-.IPs 0
-Esegue una stima del movimento a pixel intero su tutti i tipi di
-macroblocchi candidati.
-Poi seleziona il tipo migliore con una metrica SAD (più veloce di subq=1,
-sconsigliato a meno che non si cerchi solo una codifica ultra veloce).
-.IPs 1
-Opera come 0, poi rifinisce il movimento di quel tipo con una precisione veloce
-sul quarto di pixel (veloce).
-.IPs 2
-Esegue una stima del movimento a mezzo pixel su tutti i tipi di
-macroblocchi candidati.
-Poi seleziona il tipo migliore.
-Infine rifinisce il movimento di quel tipo con una precisione veloce
-sul quarto di pixel (più veloce).
-.IPs 3
-Come 2, ma utilizza una rifinitura del quarto di pixel più lenta.
-.IPs 4
-Esegue una stima del movimento a quarto di pixel rapida su tutti i tipi di
-macroblocchi candidati.
-Poi seleziona il tipo migliore con una metrica SATD.
-Infine finisce la rifinitura a quarto di pixel per quel tipo.
-.IPs 5
-Esegue la miglior stima del movimento a quarto di pixel in tutti i
-tipi di macroblocco candidati prima di selezionare il tipo migliore.
-Inoltre rifinisce con una metrica SATD i due vettori di movimento usati nei
-macroblocchi bidirezionali, invece di riutilizzare i vettori delle ricerche
-in avanti e all'indietro.
-.IPs 6
-Abilita l'ottimizzazione rate-distorsion dei tipi di macroblocco nei
-fotogrammi I e P.
-.IPs 7
-Abilita l'ottimizzazione rate-distortion dei tipi di macroblocco in tutti i
-fotogrammi (default).
-.IPs 8
-Abilita l'ottimizzazione rate-distortion dei vettori di movimento e le modalità
-di previsione intra nei fotogrammi I e P.
-.IPs 9
-Abilita l'ottimizzazione rate-distortion dei vettori di movimento e le modalità
-di previsione intra in tutti i fotogrammi (qualità migliore).
-.RE
-.PD 1
-.RS
-Sopra, "tutti i tipi di macroblocco candidati" non indica esattamente tutti
-i tipi abilitati: 4x4, 4x8, 8x4 vengono provati solo se 8x8 è migliore di
-16x16.
-.RE
-.
-.TP
-.B (no)chroma_me
-Considera anche le informazioni di crominanza durante la ricerca della stima del
-movimento inferiore al pixel (default: abilitato).
-Richiede subq>=5.
-.
-.TP
-.B (no)mixed_refs
-Permette ad ogni partizione di movimento 8x8 o 16x8 di selezionare
-indipendentemente un fotogramma di riferimento.
-Senza questa opzione, l'intero macroblocco dovrà usare lo stesso fotogramma
-di riferimento.
-Richiede frameref>1.
-.
-.TP
-.B trellis=<0\-2> (solo cabac)
-quantizzazione ottimale della rate-distortion
-.PD 0
-.RSs
-.IPs 0
-disabilitata
-.IPs 1
-abilitata solo per la codifica finale (default)
-.IPs 2
-abilitata durante ogni decisione di modalità (lento, richiede subq>=6)
-.RE
-.PD 1
-.
-.TP
-.B psy-rd=rd[,trell]
-Imposta l'incidenza dell'ottimizzazione psicovisuale.
-.PD 0
-.RSs
-.IPs rd=<0.0\-10.0>
-incidenza dell'ottimizzazione psi (richiede subq>=6) (default: 1.0)
-.IPs trell=<0.0\-10.0>
-trellis (richiede trellis, sperimentale) (default: 0.0)
-.RE
-.PD 1
-.
-.TP
-.B deadzone_inter=<0\-32>
-Imposta la dimensione della zona morta di quantizzazione di luminanza inter
-per quantizzazione non trellis (default: 21).
-Valori più bassi aiuteranno a preservare dettagli precisi e granularità del
-filmato (solitamente utile con alte frequenze/alte qualità di codifica),
-mentre valori più alti aiuteranno a filtrare tali dettagli per risparmiare bit
-che possono poi essere usati su altri macrobocchi o fotogrammi (tipicamente
-utile per codifiche con frequenze molto limitate).
-Si raccomanda di iniziare ad impostare deadzone_intra prima di modificare questo
-parametro.
-.
-.TP
-.B deadzone_intra=<0\-32>
-Imposta la dimensione della zona morta di quantizzazione di luminanza intra
-per quantizzazione non trellis (default: 21).
-Questa opzione ha lo stesso effetto di deadzone_inter eccetto per il fatto che
-influenza i fotogrammi intra.
-Si raccomanda di iniziare ad impostare questo parametro prima di modificare
-deadzone_inter.
-.
-.TP
-.\" "early skip detection": is it right "rilevazione anticipata dello scarto"??
-.B (no)fast_pskip
-Esegue una rilevazione anticipata dello scarto nei fotogrammi P (default:
-abilitato).
-Questo solitamente aumenta la velocità senza dare problemi, ma alcune volte può
-portare artefatti in zone con nessun dettaglio, come il cielo.
-.
-.TP
-.B (no)dct_decimate
-Elimina i blocchi dct nei fotogrammi P che contengono solo un singolo
-coefficente piccolo (default: abilitato).
-Verranno eliminati alcuni dettagli ma verranno salvati bit che potranno
-essere usati in altri fotogrammi, sperando in questo modo di migliorare la
-qualità percepita globale.
-Se stai codificando filmati (non anime) con un bitrate alto puoi voler
-disabilitare questa opzione per mantenere il massimo dettaglio possibile.
-.
-.TP
-.B nr=<0\-100000>
-Riduzione del disturbo, 0 la disabilita.
-100\-1000 è una gamma utile per contenuti nella norma, ma potresti volerla
-aumentare un pò per contenuti molto disturbati (default: 0).
-Data la bassa influenza sulla velocità, può esser preferibile usare questa
-opzione invece di togliere il disturbo con filtri video come denoise3d o hqdh3d.
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-Utilizza un quantizzatore diverso per i piani di crominanza rispetto a quello
-per la luminanza.
-Valori utili sono nella gamma <\-2\-2> (default: 0).
-.
-.TP
-.B aq_mode=<0\-2>
-Definisce il modo in cui la quantizzazione adattiva (AQ) distribuisce i bit:
-.PD 0
-.RSs
-.IPs 0
-disabilitato
-.IPs 1
-Evita di distribuire i bit tra fotogrammi.
-.IPs 2
-Distribuisce i bit tra fotogrammi (default).
-.RE
-.PD 1
-.
-.TP
-.B aq_strength=<valore positivo a virgola mobile>
-Controlla quanto la quantizzazione adattiva (AQ) possa ridurre artefatti con
-blocchi e sfocature in aree piane e con texture (default: 1.0).
-Un valore di 0.5 indebolirà AQ e fornirà meno dettagli, mentre un valore di 1.5
-porterà un'AQ più forte e maggiori dettagli.
-.
-.TP
-.B cqm=<flat|jvt|<nomefile>>
-Usa una matrice di quantizzazione personalizzata predefinita o ne carica una
-da un file in formato JS.
-.PD 0
-.RSs
-.IPs "flat\ "
-Usa la matrice predefinita flat 16 (default).
-.IPs "jvt\ \ "
-Usa la matrice predefinita JVT.
-.IPs <nomefile>
-Usa la matrice dal file in formato JM indicato.
-.PD 1
-.RE
-.RS
-.I NOTA:
-Chi usa CMD.EXE di Windows potrebbe aver problemi nell'interpretazione della
-riga comando se tenta di usare tutte le liste CQM.
-Ciò è dovuto alla limitazione della lunghezza della riga comando.
-In questo caso si raccomanda di mettere le liste in un file CQM in formato JM
-e caricarle come indicato sopra.
-.RE
-.
-.TP
-.B cqm4iy=<lista> (vedi anche cqm)
-Matrice di luminanza intra 4x4 personalizzata, fornita come una lista di 16
-valori separati da virgola, compresi tra 1 e 255.
-.
-.TP
-.B cqm4ic=<lista> (vedi anche cqm)
-Matrice di crominanza intra 4x4 personalizzata, fornita come una lista di 16
-valori separati da virgola, compresi tra 1 e 255.
-.
-.TP
-.B cqm4py=<lista> (vedi anche cqm)
-Matrice di luminanza inter 4x4 personalizzata, fornita come una lista di 16
-valori separati da virgola, compresi tra 1 e 255.
-.
-.TP
-.B cqm4pc=<lista> (vedi anche cqm)
-Matrice di crominanza inter 4x4 personalizzata, fornita come una lista di 16
-valori separati da virgola, compresi tra 1 e 255.
-.
-.TP
-.B cqm8iy=<lista> (vedi anche cqm)
-Matrice di luminanza intra 8x8 personalizzata, fornita come una lista di 64
-valori separati da virgola, compresi tra 1 e 255.
-.
-.TP
-.B cqm8py=<lista> (vedi anche cqm)
-Matrice di luminanza inter 8x8 personalizzata, fornita come una lista di 64
-valori separati da virgola, compresi tra 1 e 255.
-.
-.TP
-.B level_idc=<10\-51>
-Seleziona il Livello del flusso di bit come definito nell'Allegato A dello
-standard H.264 (default: 51 \- livello 5.1).
-Viene utilizzato per indicare al decodificatore quali capacità deve
-supportare.
-Utilizza questo parametro solo se sai cosa significa ed hai effettivamente
-bisogno di usarlo.
-.
-.TP
-.B threads=<0\-16>
-Genera diversi thread per codificare in parallelo su CPU multiple (default: 0).
-Si ottiene una leggera penalizzazione della compressione.
-0 oppure 'auto' dicono a x264 di rilevare il numero delle CPU ed utilizzare un
-appropriato numero di thread.
-.
-.TP
-.B (no)global_header
-Fa in modo che SPS e PPS appaiano solo una volta, all'inizio del flusso di bit
-(default: disabilitato).
-Alcuni lettori, come la Sony PSP, richiedono l'uso di questa opzione.
-Il comportamento di default fa in modo che SPS e PPS vengano ripetuti prima di
-ogni fotogramma IDR.
-.
-.TP
-.B (no)interlaced
-Tratta il contenuto video come se fosse interlacciato.
-.
-.TP
-.B log=<\-1\-3>
-Seleziona la quantità di informazioni di log stampate a video.
-.PD 0
-.RSs
-.IPs "\-1"
-nessuna
-.IPs " 0"
-Stampa solo gli errori.
-.IPs " 1"
-avvertimenti
-.IPs " 2"
-PSNR ed altre analisi statistiche al termine della codifica (default)
-.IPs " 3"
-PSNR, QP, tipo di fotogramma, dimensione ed altre statistiche per ogni
-fotogramma
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-Stampa le statistiche sul rapporto segnale-disturbo.
-.br
-.I NOTA:
-I campi del PSNR di 'Y', 'U', 'V' e 'Avg' nel sommario non sono matematicamente
-perfetti (sono semplicemente la media dei valori di PSNR di ogni fotogramma).
-Sono mantenuti solo per compararli con il codec di riferimento JM.
-Per tutto il resto, utilizza perfavore sia il PSNR 'Global' oppure il valore per
-ogni fotogramma, ottenuto con log=3.
-.
-.TP
-.B (no)ssim
-Stampa i risultati della metrica strutturale di similarità
-(Structural Similarity Metric).
-Questa è un'alternativa a PSNR, e può esser meglio correlata con la qualità
-percepita del video compresso.
-.
-.TP
-.B (no)visualize
-Abilita la visualizzazione x264 durante la codifica.
-Se l'x264 sul tuo sistema lo supporta, durante il processo di codifica verrà
-aperta una nuova finestra, nella quale x264 tenterà di presentare una indicazione
-di come viene codificato ogni fotogramma.
-Ogni tipo di blocco sul filmato visualizzato sarà colorato come segue:
-.PD 0
-.RSs
-.IPs rosso/rosa
-blocco intra
-.IPs "blu\ "
-blocco inter
-.IPs verde
-blocco skip
-.IPs giallo
-blocco B
-.RE
-.PD 1
-.RS
-Questa funzione può essere considerata sperimentale e soggetta a modifiche.
-In particolare, dipende dal fatto che x264 sia stato compilato con la
-visualizzazione abilitata o meno.
-Nota che al momento di scrivere ciò, x264 va in pausa dopo la codifica e la
-visualizzazione di ogni fotogramma, in attesa che l'utente prema un tasto,
-prima di continuare con il fotogramma successivo.
-.RE
-.
-.
-.SS xvfw (\-xvfwopts)
-.
-La codifica con i codec Video for Windows è fondamentalmente obsoleta a meno
-che non si voglia codificare con un qualche oscuro codec di frontiera.
-.
-.TP
-.B codec=<nome>
-Il nome del file del codec binario che si vuole utilizzare.
-.
-.TP
-.B compdata=<file>
-Il nome del file delle impostazioni codec (come firstpass.mcf) creato da
-vfw2menc.
-.
-.
-.SS MPEG muxer (\-mpegopts)
-.
-Il muxer MPEG può generare 5 tipi di flusso, ognuno dei quali ha una serie
-di parametri di default ragionevoli che l'utente può modificare.
-Generalmente quando si generano dei file MPEG è consigliato disabilitare il
-codice di MEncoder che si occupa di scartare i fotogrammi (vedi \-noskip, \-mc
-così come anche i filtri video harddup e softskip).
-.PP
-.I ESEMPIO:
-.PD 0
-.RSs
-.IPs format=mpeg2:tsaf:vbitrate=8000
-.RE
-.PD 1
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
-formato del flusso (default: mpeg2)
-pes1 e pes1 sono formati molto bacati (nessuna intestazione di pacchetti e
-nessun padding), ma VDR li usa; non sceglierli a meno che tu non sappia
-esattamente quello che stai facendo.
-.
-.TP
-.B size=<fino a 65535>
-Dimensione di un pacchetto in byte, non cambiarlo a meno che tu non sappia
-esattamente quello che stai facendo (default: 2048).
-.
-.TP
-.B muxrate=<intero>
-Velocità del flusso nominale in kbit/sec utilizzata nell'intestazione del
-pacchetto (default: 1800 kb/sec).
-Viene aggiornata se necessario nel caso di 'format=mpeg1' oppure 'mpeg2'.
-.
-.TP
-.B "tsaf\ \ \ "
-Imposta i marcatori di tempo (timestamps) su tutti i fotogrammi, se possibile;
-raccomandato con format=dvd.
-Se dvdauthor si lamenta con messaggi del tipo "..audio sector out of range...",
-probabilmente non hai abilitato questa opzione.
-.
-.TP
-.B interleaving2
-Usa un miglior algoritmo per interlacciare i pacchetti audio e video, basato
-sul principio che il muxer cercherà sempre di riempire il flusso con la
-massima percentuale di spazio libero.
-.
-.TP
-.B vdelay=<1\-32760>
-Valore di ritardo iniziale del video, in millisecondi (default: 0),
-utilizzalo se vuoi ritardare il video rispetto all'audio.
-Non funziona con :drop.
-.
-.TP
-.B adelay=<1\-32760>
-Valore di ritardo iniziale dell'audio, in millisecondi (default: 0),
-utilizzalo se vuoi ritardare l'audio rispetto al video.
-.
-.TP
-.B "drop\ \ \ "
-Quando viene utilizzato con vdelay il muxer ignora la parte di audio
-in anticipo.
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-Seleziona la larghezza e l'altezza se il video è in formato MPEG-1/2.
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-Seleziona la larghezza e l'altezza del pan e scan se il video è MPEG-2.
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-Seleziona il rapporto di aspetto per i video MPEG-2.
-Da non usare per MPEG-1, se no l'aspetto risultante sarà decisamente errato.
-.
-.TP
-.B vbitrate=<intero>
-Seleziona il bitrate video in kbit/sec per il formato MPEG-1/2.
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
-Seleziona la velocità (framerate) per i video MPEG-1/2.
-Questa opzione è ignorata se utilizzata con l'opzione telecine.
-.
-.TP
-.B telecine
-Abilita la modalità soft telecine pulldown 3:2 : il programma modificherà il
-flusso video in modo da farlo sembrare codificato a 30000/1001 fps
-(frame per second, fotogrammi al secondo).
-Funziona solo con video in formato MPEG-2 quando il framerate di uscita è
-24000/1001 fps, da convertire se necessario con \-ofps.
-Qualsiasi altro valore di velocità è incompatibile con questa opzione.
-.
-.TP
-.B film2pal
-Abilita la modalità soft telecine da FILM a PAL e da NTSC a PAL: il programma
-modificherà il flusso video in modo da farlo sembrare codificato a 25 fps.
-Funziona solo con video in formato MPEG-2 quando il framerate di uscita è
-24000/1001 fps, da convertire se necessario con \-ofps.
-Qualsiasi altro valore di velocità è incompatibile con questa opzione.
-.
-.TP
-.B tele_src e tele_dest
-Abilita un telecine arbitrario usando il codice DGPulldown di Donald Graft.
-Devi specificare il framerate originario e quello voluto; il muxer farà
-sì che il flusso video sembri sia stato codificato al framerate voluto.
-Funziona solo con video in formato MPEG-2 quando il framerate di entrata è
-minore di quello di uscita e l'aumento del framerate è <= 1.5.
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.PD 0
-.RSs
-.IPs tele_src=25,tele_dest=30000/1001
-telecine da PAL a NTSC
-.RE
-.PD 1
-.
-.TP
-.B vbuf_size=<40\-1194>
-Imposta la dimensione del buffer del decodificatore video, espressa in kilobyte.
-Da specificare solo se la frequenza bit del flusso video è troppo alta per il
-formato scelto e solo se sai perfettamente cosa stai facendo.
-Un valore troppo alto potrebbe portare ad un filmato illegibile, in dipendenza
-dalle caratteristiche del riproduttore.
-Facendo un muxing video HDTV, un valore di 400 dovrebbe essere sufficiente.
-.
-.TP
-.B abuf_size=<4\-64>
-Imposta la dimensione del buffer del decodificatore audio, espressa in kilobyte.
-Valgono le stesse regole di vbuf_size.
-.
-.
-.SS FFmpeg libavformat demuxer (\-lavfdopts)
-.
-.TP
-.B analyzeduration=<valore>
-Durata massima in secondi per analizzare le proprietà del flusso.
-.
-.TP
-.B format=<valore>
-Forza uno specifico demuxer di libavformat.
-.
-.TP
-.B o=<chiave>=<valore>[,<chiave>=<valore>[,...]]
-Passa varie opzioni AVOption al decoder di libavcodec.
-Nota, una patch che renda inutile o= e che possa passare al sistema di AVOption
-tutte le opzioni non conosciute è benvenuta.
-Si può trovare una lista completa delle opzioni AVOption nel manuale di FFmpeg.
-Nota che alcune opzioni possono andare in conflitto con quelle di MPlayer o
-MEncoder.
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.PD 0
-.IPs o=ignidx
-.PD 1
-.RE
-.
-.TP
-.B probesize=<valore>
-Massima dimensione dei dati da testare durante la fase di rilevazione.
-Nel caso di MPEG-TS questo valore indentifica il massimo numero di pacchetti
-TS da scansionare.
-.
-.TP
-.B cryptokey=<stringa_esadecimale>
-Chiave criptografica che dovrebbe usare il demuxer.
-Questi sono i dati binari grezzi della chiave convertiti in stringa esadecimale.
-.
-.
-.
-.SS FFmpeg libavformat muxer (\-lavfopts) (vedi anche \-of lavf)
-.
-.TP
-.B delay=<valore>
-Attualmente significativo solo per MPEG[12]: Distanza massima permessa,
-in secondi, tra il timer di riferimento del flusso di uscita (SCR) e
-il timer di decodifica (DTS) per ogni flusso presente (ritardo tra
-demux e decodifica).
-Il default è 0.7 (come richiesto dallo standard definito da MPEG).
-Valori più alti richiedono buffer più grandi e non devono essere usati.
-.
-.TP
-.B format=<formato_contenitore>
-Forza in quale formato contenitore si deve scrivere il file
-(default: trovato automaticamente dall'estensione del file di uscita).
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-Flusso di sistema MPEG-1 e MPEG-2 PS
-.IPs "asf\ \ "
-Advanced Streaming Format
-.IPs "avi\ \ "
-File AVI (Audio Video Interleave)
-.IPs "wav\ \ "
-Formato Audio Wave
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-File Macromedia Flash Video
-.IPs "rm\ \ \ "
-RealAudio e RealVideo
-.IPs "au\ \ \ "
-Formato SUN AU
-.IPs "nut\ \ "
-Formato contenitore aperto NUT (sperimentale)
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-Formato MPEG-4
-.IPs "ipod\ "
-Formato MPEG-4 con intestazioni extra richieste dal firmware di Apple iPod
-.IPs "dv\ \ \ "
-Formato contenitore Sony Digital Video
-.IPs "matroska\ \ \ "
-Matroska
-.RE
-.PD 1
-.TP
-.B muxrate=<velocità>
-Valore nominale del flusso multiplexato, in bit per secondo;
-attualmente significativo solo per MPEG[12].
-A volte è necessario aumentarlo per evitare errori di 'buffer underflows'.
-.
-.TP
-.B o=<chiave>=<valore>[,<chiave>=<valore>[,...]]
-Passa varie opzioni AVOption al decoder di libavcodec.
-Nota, una patch che renda inutile o= e che possa passare al sistema di AVOption
-tutte le opzioni non conosciute è benvenuta.
-Si può trovare una lista completa delle opzioni AVOption nel manuale di FFmpeg.
-Nota che alcune opzioni possono andare in conflitto con quelle di MEncoder.
-.sp 1
-.RS
-.I ESEMPIO:
-.RE
-.RSs
-.PD 0
-.IPs o=packetsize=100
-.PD 1
-.RE
-.
-.TP
-.B packetsize=<dimensione>
-Dimensione, in byte, del pacchetto unitario del formato selezionato.
-Quando si scrivono file in formato MPEG[12] i valori di default sono:
-2324 per S[VCD], 2048 in tutti gli altri formati.
-.
-.TP
-.B preload=<distanza>
-Attualmente significativo solo per MPEG[12]: Distanza iniziale,
-in secondi, tra il timer di riferimento del flusso di uscita (SCR) e
-il timer di decodifica (DTS) per ogni flusso presente (ritardo tra
-demux e decodifica).
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Variabili di ambiente
-.\" --------------------------------------------------------------------------
-.
-.SH VARIABILI D'AMBIENTE
-.
-Ci sono alcuni variabili d'ambiente che possono essere usate per controllare il
-comportamento di MPlayer e MEncoder.
-.
-.TP
-.B MPLAYER_CHARSET (vedi anche \-msgcharset)
-Converte i messaggi della console nel set di caratteri specificato (default:
-autodetect).
-Il valore "noconv" significa nessuna conversione.
-.
-.TP
-.B MPLAYER_HOME
-Directory in cui MPlayer cerca le impostazioni utente.
-.
-.TP
-.B MPLAYER_VERBOSE (vedi anche \-v e \-msglevel)
-Imposta il livello iniziale di verbosità di tutti i moduli dei messaggi
-(default: 0).
-Il valore risultante corrisponde a quello di \-msglevel 5 più il valore di
-MPLAYER_VERBOSE.
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-Se LADSPA_PATH è impostato, cerca il file specificato.
-Se non lo è, va indicato un nome file completo di percorso.
-FIXME: Ciò è menzionato anche nella sezione ladspa.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-Specifica una directory in cui memorizzare i valori delle chiavi dei titoli.
-Questo velocizzerà la decodifica dei DVD già presenti nella cache.
-La directory DVDCSS_CACHE viene creata se non esiste già, e viene creata una
-sottodirectory col nome del titolo del DVD o della data di produzione.
-Se DVDCSS_CACHE non è specificata o è vuota, libdvdcss userà il valore di
-default, che è "${HOME}/.dvdcss/" per i sistemi Unix e
-"C:\\Documents and Settings\\$USER\\Application Data\\dvdcss\\" per Win32.
-Il valore speciale "off" disabilita la cache.
-.
-.TP
-.B DVDCSS_METHOD
-Imposta il metodo di autenticazione e decrittazione che libdvdcss userà per
-leggere dischi criptati.
-Può essere 'title', 'key' o 'disc'.
-.PD 0
-.RSs
-.IPs "key\ \ "
-È il metodo di default.
-libdvdcss userà un set di chiavi di decodifica calcolate per provare ad
-ottenere la chiave del disco.
-Questo può fallire se il lettore non riconosce nessuna delle chiavi del disco.
-.IPs "disc\ "
-È un metodo di ripiego quando 'key' è fallito.
-Invece di usare chiavi di lettura, libdvdcss violerà la criptazione del disco
-usando un algoritmo a forza bruta.
-Questo processo utilizza molto la CPU e richiede 64MB di memoria per
-immmagazzinare i dati temporanei.
-.IPs title
-È il ripiego quando tutti gli altri metodi sono falliti.
-Non si basa su uno scambio di chiavi col lettore DVD, ma usa invece un
-attacco crittografico per indovinare la chiave del titolo.
-Questo in rari casi può fallire perché non ci sono abbastanza dati criptati sul
-disco per fare un attacco statistico, ma d'altro canto è l'unico modo di
-decodificare un DVD memorizzato su disco rigido oppure un DVD con la regione
-sbagliata su un lettore RPC2.
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-Specifica il dispositivo grezzo da usare.
-L'indicazione esatta dipenderà dal sistema operativo, l'utilità Linux per
-impostare i dispositivi grezzi è raw(8), per esempio.
-Nota per favore che in molti sistemi operativi, l'utilizzo di un dispositivo
-grezzo richiede buffer altamente allineati: Linux richiede un allineamento di
-2048 Byte (che è la dimensione di un settore DVD).
-.
-.TP
-.B DVDCSS_VERBOSE
-Imposta il livello di verbosità di libdvdcss.
-.PD 0
-.RSs
-.IPs 0
-Non emette alcun messaggio.
-.IPs 1
-Emette messaggi di errore su stderr.
-.IPs 2
-Emette messaggi di errore e di debug su stderr.
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-Evita il recupero delle chiavi alla partenza.
-Attualmente disabilitata.
-.
-.TP
-.B HOME
-FIXME: Da documentare.
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-FIXME: Da documentare.
-.
-.TP
-.B AUDIODEV
-FIXME: Da documentare.
-.
-.TP
-.B AUDIOSERVER
-Specifica il server Network Audio System a cui dovrebbe connettersi il driver di
-uscita audio nas, e il tipo di trasporto che dovrebbe essere usato.
-Se non impostato viene usata la variabile DISPLAY.
-Il tipo di trasporto può essere 'tcp' o 'unix'.
-La sintassi è tcp/<host>:<porta>, <host>:<istanza>
-o [unix]:<instanza>.
-La porta NAS di base è 8000 e <istanza> viene aggiunta a questa.
-.sp 1
-.RS
-.I ESEMPI:
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=host:0
-Connessione al server NAS su host usando la porta e il trasporto di default.
-.IPs AUDIOSERVER=tcp/host:8000
-Connessione al server NAS su host in ascolto sulla porta TCP 8000.
-.IPs AUDIOSERVER=(unix)?:0
-Connessione all'istanza 0 del server NAS su localhost usando socket unix.
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-FIXME: Da documentare.
-.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-FIXME: Da documentare.
-.
-.TP
-.B VIDIXIVTVALPHA
-Impostala a 'disable' per impedire al driver VIDIX il controllo delle
-impostazioni di alphablending.
-Può poi essere gestito attraverso 'ivtvfbctl'.
-.
-.SS osdep:
-.
-.TP
-.B TERM
-FIXME: Da documentare.
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-FIXME: Da documentare.
-.
-.TP
-.B FRAMEBUFFER
-FIXME: Da documentare.
-.
-.TP
-.B HOME
-FIXME: Da documentare.
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-FIXME: Da documentare.
-.
-.TP
-.B HOMEPATH
-FIXME: Da documentare.
-.
-.TP
-.B http_proxy
-FIXME: Da documentare.
-.
-.TP
-.B LOGNAME
-FIXME: Da documentare.
-.
-.TP
-.B USERPROFILE
-FIXME: Da documentare.
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-FIXME: Da documentare.
-.
-.TP
-.B DISPLAY
-FIXME: Da documentare.
-.
-.TP
-.B HOME
-FIXME: Da documentare.
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-FIXME: Da documentare.
-.
-.TP
-.B BKTR_DEV
-FIXME: Da documentare.
-.
-.TP
-.B BKTR_FORMAT
-FIXME: Da documentare.
-.
-.TP
-.B BKTR_FREQUENCY
-FIXME: Da documentare.
-.
-.TP
-.B http_proxy
-FIXME: Da documentare.
-.
-.TP
-.B no_proxy
-FIXME: Da documentare.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" File
-.\" --------------------------------------------------------------------------
-.
-.SH FILE
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-configurazioni di sistema globali di MPlayer
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mencoder.conf
-configurazioni di sistema globali di MEncoder
-.
-.TP
-~/.mplayer/\:config
-configurazioni utente di MPlayer
-.
-.TP
-~/.mplayer/\:mencoder.conf
-configurazioni utente di MEncoder
-.
-.TP
-~/.mplayer/\:input.conf
-associazioni di immissione (input) (vedi '\-input keylist' per l'elenco completo)
-.
-.TP
-~/.mplayer/\:gui.conf
-file di configurazione della GUI
-.
-.TP
-~/.mplayer/\:gui.pl
-playlist della GUI
-.
-.TP
-~/.mplayer/\:font/
-directory dei font (devono esserci un file font.desc e alcuni file con estensione .RAW.)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-chiavi CSS salvate
-.
-.TP
-Supponendo che venga riprodotto /percorso/\:del/\:filmato.avi, MPlayer cerca i
-file sub (sottotitoli) in questo ordine:
-.RS
-/percorso/\:del/\:filmato.sub
-.br
-~/.mplayer/\:sub/\:filmato.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Esempi
-.\" --------------------------------------------------------------------------
-.
-.SH ESEMPI DELL'UTILIZZO DI MPLAYER
-.
-.PP
-.B Riproduzione veloce di DVD:
-.nf
-mplayer dvd://1
-.fi
-.
-.PP
-.B Riproduci in giapponese con i sottotitoli in inglese:
-.nf
-mplayer dvd://1 \-alang ja \-slang en
-.fi
-.
-.PP
-.B Riproduci solo i capitoli 5, 6, 7:
-.nf
-mplayer dvd://1 \-chapter 5\-7
-.fi
-.
-.PP
-.B Riproduce solo i titoli 5, 6, 7:
-.nf
-mplayer dvd://5\-7
-.fi
-.
-.PP
-.B Riproduci un DVD multi angolo:
-.nf
-mplayer dvd://1 \-dvdangle 2
-.fi
-.
-.PP
-.B Riproduci utilizzando un diverso dispositivo DVD:
-.nf
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.fi
-.
-.PP
-.B Riproduci un DVD da una directory con i file VOB:
-.nf
-mplayer dvd://1 \-dvd\-device /percorso/\:della/\:directory/
-.fi
-.
-.PP
-.B Copia un titolo DVD sul disco fisso, salvando sul file "titolo1.vob":
-.nf
-mplayer dvd://1 \-dumpstream \-dumpfile titolo1.vob
-.fi
-.
-.PP
-.B Riproduce un DVD con dvdnav dal percorso /dev/sr1:
-.nf
-mplayer dvdnav:////dev/sr1
-.fi
-.
-.PP
-.B Stream da HTTP:
-.nf
-mplayer http://mplayer.hq/example.avi
-.fi
-.
-.PP
-.B Stream utilizzando RTSP:
-.nf
-mplayer rtsp://server.di.esempio.com/nomeFlusso
-.fi
-.
-.PP
-.B Converte i sottotitoli in formato MPsub:
-.nf
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Converte i sottotitoli in MPsub senza guardare il filmato:
-.nf
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null \-vo null \-noframedrop \-benchmark \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B Ingresso da V4L standard:
-.nf
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420 \-vo xv
-.fi
-.
-.PP
-.B Riproduzione su una scheda Zoran (vecchio stile, deprecato):
-.nf
-mplayer \-vo zr \-vf scale=352:288 file.avi
-.fi
-.
-.PP
-.B Riproduzione su una scheda Zoran (nuovo stile):
-.nf
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi
-.fi
-.
-.PP
-.B Riproduce DTS-CD con il decodificatore harware (passthrough):
-.nf
-mplayer \-ac hwdts \-rawaudio format=0x2001 \-cdrom\-device /dev/cdrom cdda://
-.fi
-.br
-Puoi anche usare \-afm invece di \-ac hwdts.
-Modifica '/dev/cdrom' affinché corrisponda al lettore CD-ROM sul tuo sistema.
-Se il tuo ricevitore esterno gestisce la decodifica di flussi grezzi DTS, puoi
-riprodurli direttamente con cdda:// senza impostare il formato, hwac3 o hwdts.
-.
-.PP
-.B Riproduce un file AAC con 6 canali utilizzando solo due altoparlanti:
-.nf
-mplayer \-rawaudio format=0xff \-demuxer rawaudio \-af pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac
-.fi
-.br
-Puoi voler giocare un po' con il valore di pan (p.e.\& moltiplica con un valore)
-per incrementare il volume o per evitare il clipping.
-.
-.PP
-.B inversione a scacchiera col filtro geq:
-.nf
-mplayer \-vf geq='128+(p(X\,Y)\-128)*(0.5-gt(mod(X/SW\,128)\,64))*(0.5-gt(mod(Y/SH\,128)\,64))*4'
-.fi
-.
-.
-.SH ESEMPI DELL'UTILIZZO DI MENCODER
-.
-.PP
-.B Codifica il titolo DVD #2, solo i capitoli selezionati:
-.nf
-mencoder dvd://2 \-chapter 10\-15 \-o titolo2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Codifica il titolo DVD #2, riscalando a 640x480:
-.nf
-mencoder dvd://2 \-vf scale=640:480 \-o titolo2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Codifica il titolo DVD #2, riscalando a 512xHHH (mantiene il rapporto
-di aspetto):
-.nf
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o titolo2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Stessa cosa, con un bitrate di 1800 kbit e l'ottimizzazione dei macroblocchi:
-.nf
-mencoder dvd://2 \-o titolo2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B Stessa cosa, con la compressione MJPEG:
-.nf
-mencoder dvd://2 \-o titolo2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B Codifica tutti i file *.jpg nella directory corrente:
-.nf
-mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B Codifica dal sintonizzatore (specifica un formato con \-vf format):
-.nf
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.fi
-.
-.PP
-.B Codifica da una pipe:
-.nf
-rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.fi
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Bug
-.\" --------------------------------------------------------------------------
-.
-.SH BUG
-Non farti prendere dal panico.
-Se ne trovi uno, riportacelo, ma devi, per cortesia, essere sicuro di aver
-prima letto tutta la documentazione.
-Controlla anche gli smiley. :)
-Molti errori sono il risultato di una configurazione errata oppure di parametri
-sbagliati.
-La sezione della documentazione riguardante il reporting dei bug
-(http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:bugreports.html)
-spiega come creare dei 'bug report' utili.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Autori
-.\" --------------------------------------------------------------------------
-.
-.SH AUTORI
-MPlayer è stato scritto inizialmente da Arpad Gereoffy.
-Vedi il file AUTHORS per una lista di alcuni dei tanti altri contributori.
-.
-.TP
-MPlayer è (C) 2000\-2009 The MPlayer Team
-.PP
-Questa pagina di manuale (versione inglese) è stata scritta principalmente da
-Gabucino, Jonas Jermann e Diego Biurrun.
-E' mantenuta da Diego Biurrun.
-La traduzione iniziale in italiano è stata fatta da Daniele Forghieri, ed è
-attualmente mantenuta da Daniele Forghieri con il grande aiuto di PaulTT.
-Per sapere chi devi offendere per qualche traduzione errata controlla i log
-del CVS ;).
-
-.PP
-Per favore spedisci qualsiasi messaggio riguardante questa documentazione
-alla mailing list MPlayer-DOCS per quello che riguarda l'originale inglese ed
-alla mailing list MPlayer-translations per tutto quello che riguarda le varie
-versioni tradotte.
-.\" end of file
diff --git a/DOCS/man/pl/mplayer.1 b/DOCS/man/pl/mplayer.1
deleted file mode 100644
index 43598d1..0000000
--- a/DOCS/man/pl/mplayer.1
+++ /dev/null
@@ -1,9153 +0,0 @@
-.\" synced with 1.1114
-.\" Encoding: iso-8859-2
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" This man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
-.\" T³umaczenie: Wac³aw "Torinthiel" Schiller (torinthiel at wp.pl)
-.\" i Maciej "Paszczi" Paszta (paszczi at go2.pl)
-.\" z wykorzystaniem poprzedniego, zrobionego przez
-.\" imoteph (imoteph at wp.pl) & Zorg (kmaterka at wp.pl)
-.
-.\" --------------------------------------------------------------------------
-.\" Makrodefinicje
-.\" --------------------------------------------------------------------------
-.
-.\" domy¶lne wciêcie to 7, nie zmieniaæ!
-.nr IN 7
-.\" okre¶la wciêcie dla podopcji
-.nr SS 5
-.\" dodaje now± podopcjê
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" pocz±tek pierwszego poziomu podopcji, koniec to .RE
-.de RSs
-.RS \n(IN+3
-..
-.\" pocz±tek drugiego poziomu podopcji
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" koniec drugiego poziomu podopcji
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" Tytu³
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2005-05-15" "Projekt MPlayer" "Odtwarzacz filmów"
-.
-.SH NAZWA
-mplayer \- odtwarzacz filmów
-.br
-mencoder \- enkoder (koder) filmów
-.
-.\" --------------------------------------------------------------------------
-.\" Sk³adnia
-.\" --------------------------------------------------------------------------
-.
-.SH SK£ADNIA
-.na
-.nh
-.B mplayer
-.RI [opcje]\ [ \ zbiór\ | \ URL\ | \ lista\ odtwarzania\ | \ \-\ ]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-[opcje globalne]
-.I zbiór
-[opcje specyficzne] [zbiór2] [opcje specyficzne]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-[opcje globalne]
-.RI { "grupa zbiorów i opcji" }
-[opcje specyficzne dla grupy]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I dvd://[tytu³ | [tytu³_pocz±tkowy]\-tytu³_koñcowy ]
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I vcd://¶cie¿ka[/urz±dzenie]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I tv://[kana³]
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I dvb://[numer_karty@]kana³
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I mf://maskazbiorów
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I [cdda|cddb]://¶cie¿ka[:szybko¶æ][/urz±dzenie]
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I cue://zbiór[:¶cie¿ka]
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.RI [ file | mms[t] | http | http_proxy | rt[s]p | ftp | udp | unsv ] ://
-[u¿ytkownik:has³o@]\fIURL\fP[:port] [opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I sdp://plik
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I mpst://host[:port]/URL
-[opcje]
-.
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I tivo://host/list
-[opcje]
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I tivo://host/llist
-[opcje]
-.br
-.in
-.B mplayer
-'in +\n[.k]u
-.I tivo://host/fsid
-[opcje]
-.br
-.in
-.B gmplayer
-'in +\n[.k]u
-[opcje]
-[\-skin\ skórka]
-.
-.br
-.in
-.B mencoder
-'in +\n[.k]u
-[opcje]
-.RI [ \ zbiór\ | \ URL\ | \ \-\ ]
-[\-o\ zbiór]
-.
-.br
-.in
-.B mencoder
-'in +\n[.k]u
-[opcje globalne]
-.I plik1
-[opcje specyficzne] [plik2] [opcje specyficzne]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" Opis
-.\" --------------------------------------------------------------------------
-.
-.SH OPIS
-.B mplayer
-to odtwarzacz filmów dla Linuksa (dzia³a na wielu innych platformach i
-architekturach procesora, patrz dokumentacja).
-Odtwarza wiêkszo¶æ zbiorów MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4,
-Ogg/\:OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM i RoQ, obs³ugiwanych
-przez wiele natywnych i binarnych kodeków.
-Mo¿esz odtwarzaæ Video CD, SVCD, DVD, 3ivx, DivX 3/\:4/\:5, a nawet filmy WMV.
-.PP
-MPlayer obs³uguje wiele sterowników wyj¶cia video i audio.
-Pracuje z X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
-Quartz, Mac OS X CoreVideo, ale mo¿esz u¿ywaæ GGI,
-SDL (i w ten sposób wszystkich ich sterowników),
-VESA (we wszystkich kartach kompatybilnych z VESA, nawet bez X11), niektórych
-niskopoziomowych, specyficznych dla kart sterowników (dla Matrox, 3dfx i ATI) i
-niektórych sprzêtowych dekoderów MPEG, takich jak Siemens DVB, DXR2 i
-DXR3/\:Hollywood+.
-Wiêkszo¶æ z nich obs³uguje programowe lub sprzêtowe skalowanie, wiêc bêdziesz
-móg³ ogl±daæ filmy na pe³nym ekranie.
-.PP
-MPlayer obs³uguje OSD do pokazywania stanu, wizualne sprzê¿enie ze sterowaniem
-przy pomocy klawiatury i wy¶wietla ³adne, du¿e, antyaliasowane i cieniowane
-napisy.
-Obs³ugiwane s± czcionki europejskie/\:ISO 8859\-1,2 (polskie, czeskie, angielskie
-itp.), koreañskie i cyrylica oraz 12 formatów napisów (MicroDVD, SubRip, OGM,
-SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS i nasz w³asny: MPsub)
-i napisów DVD (strumienie SPU, VOBSub i Closed Captions).
-.PP
-.B mencoder
-(Koder Filmów MPlayera) jest to prosty koder (kompresor) filmów, zaprojektowany
-do kodowania filmów otwieralnych MPlayerem (patrz wy¿ej) do innych obs³ugiwanych
-formatów (patrz ni¿ej).
-Potrafi kodowaæ do MPEG-4 (DivX4/Xvid), kodeków libavcodec, a d¼wiêk do
-PCM/\:MP3/\:VBRMP3 w 1, 2 lub 3-przebiegach.
-Potrafi równie¿ kopiowaæ strumieniowo, posiada potê¿ny system filtrów
-(kadrowanie, powiêkszanie, odwracanie, postprocesing, obracanie, skalowanie,
-szum, konwersja RGB/\:YUV) i inne.
-.PP
-.B gmplayer
-to MPlayer z graficznym interfejsem u¿ytkownika.
-Ma te same opcje co MPlayer.
-.PP
-Przyk³ady jak korzystaæ z programu znajdziesz na koñcu tej strony
-podrêcznika man.
-.PP
-.B Sprawd¼ równie¿ dokumentacjê w formacie HTML!
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Sterowanie klawiatur±
-.\" --------------------------------------------------------------------------
-.
-.SH "STEROWANIE KLAWIATUR¡"
-MPlayer ma w pe³ni konfiguraln±, sterowan± komendami, warstwê kontroli, która
-pozwala Ci na sterowanie przy pomocy klawiatury, myszy, joystika lub
-zdalnego sterowania (korzysta z LIRC).
-Opcja \-input podpowie Ci jakie s± sposoby dopasowania jej do swoich potrzeb.
-.
-.TP
-.B kontrola podstawowa
-.PD 0
-.RSs
-.IPs "<\- i \->"
-Skacze w ty³/\:w przód o 10 sekund.
-.IPs "góra i dó³"
-Skacze w ty³/\:w przód o 1 minutê.
-.IPs "pgup i pgdown"
-Skacze w ty³/\:w przód o 10 minut.
-.IPs "[ i ]"
-Zmniejsza/zwiêksza prêdko¶æ odtwarzania o 10%.
-.IPs "{ i }"
-Dwukrotnie zmniejsza/zwiêksza prêdko¶æ odtwarzania.
-.IPs "Backspace"
-Przywraca normaln± prêdko¶æ odtwarzania.
-.IPs "< i >"
-Skacze w przód/\:w ty³ na li¶cie odtwarzania.
-.IPs "HOME i END"
-nastêpna/\:poprzednia pozycja drzewa odtwarzania z listy wy¿szego poziomu.
-.IPs "INS i DEL"
-nastêpne/\:poprzednie alternatywne ¼ród³o (tylko lista odtwarzania ASX)
-.IPs "p / SPACJA"
-Zatrzymuje odtwarzanie (naci¶niêcie jeszcze raz wznawia).
-.IPs ".\ \ \ \ "
-Krok do przodu.
-Jednokrotne naci¶niêcie zatrzyma odtwarzane, ka¿de nastêpne przesunie o jedn±
-klatkê do przodu i znów zatrzyma (dowolny inny klawisz wznawia odtwarzanie).
-.IPs "q / ESC"
-Zatrzymuje odtwarzanie i wychodzi.
-.IPs "+ i \-"
-Zmienia opó¼nienia audio o +/\:\- 0.1 sekund.
-.IPs "/ i *"
-Zmniejsza/\:zwiêksza g³o¶no¶æ.
-.IPs "9 i 0"
-Zmniejsza/\:zwiêksza g³o¶no¶æ.
-.IPs "m\ \ \ \ "
-Wycisza d¼wiêk.
-.IPs "# (tylko MPEG i Matroska)"
-Prze³±cza miêdzy dostêpnymi ¶cie¿kami d¼wiêku.
-.IPs "f\ \ \ \ "
-Prze³±cza tryb pe³noekranowy (zobacz tak¿e \-fs).
-.IPs "T\ \ \ \ "
-Prze³±cza tryb zostañ-na-wierzchu (zobacz tak¿e \-ontop).
-.IPs "w i e"
-Zmniejsza/\:zwiêksza zakres trybu panoramicznego.
-.IPs "o\ \ \ \ "
-Prze³±cza tryby OSD: ¿aden / przewijanie / przewijanie + czas /
-przewijanie + czas + czas ca³kowity
-.IPs "d\ \ \ \ "
-Prze³±cza tryby gubienia klatek: ¿aden / omiñ wy¶wietlanie / omiñ dekodowanie
-(zobacz tak¿e \-framedrop i \-hardframedrop).
-.IPs "v\ \ \ \ "
-Prze³±cza wy¶wietlanie napisów.
-.IPs "b / j"
-Prze³±cza dostêpne napisy.
-.IP "F\ \ \ \ "
-Prze³±cza wy¶wietlanie tylko wymuszonych napisów
-.IPs "a\ \ \ \ "
-Prze³±cza pozycjê napisów: góra/\:¶rodek/\:dó³.
-.IPs "z i x"
-Zmienia opó¼nienie napisów o +/\:\- 0.1 sekund.
-.IPs "r i t"
-Przesuwa napisy w górê/\:w dó³.
-.IPs "i\ \ \ \ "
-Ustawia znak EDL.
-.IPs "s\ \ \ \ "
-Robi zrzut ekranu (wymaga za³adowania filtra screenshot).
-.RE
-.PD 1
-.PP
-(Nastêpuj±ce klawisze dzia³aj± tylko, je¿eli u¿ywasz wyj¶cia video ze sprzêtow±
-akceleracj± (xv, (x)vidix, (x)mga, etc), programowego filtru korekcji
-(\-vf eq lub \-vf eq2), lub filtru barwy (\-vf hue).
-.PP
-.PD 0
-.RSs
-.IPs "1 i 2"
-Modyfikuje kontrast.
-.IPs "3 i 4"
-Modyfikuje jasno¶æ.
-.IPs "5 i 6"
-Modyfikuje barwê (kolorów).
-.IPs "7 i 8"
-Modyfikuje nasycenie.
-.RE
-.PD 1
-.PP
-(Nastêpuj±ce klawisze dzia³aj± tylko ze sterownikiem wyj¶cia video quartz lub
-corevideo.)
-.PP
-.PD 0
-.RSs
-.IPs "command + 0"
-Przeskalowuje okno filmu do po³owy oryginalnej wielko¶ci.
-.IPs "command + 1"
-Przeskalowuje okno filmu do oryginalnej wielko¶ci.
-.IPs "command + 2"
-Przeskalowuje okno filmu do dwukrotnej oryginalnej wielko¶ci.
-.IPs "command + f"
-Prze³±cza tryb pe³noekranowy (zobacz tak¿e \-fs).
-.IPs "command + [ i command + ]"
-Ustawia przezroczysto¶æ okna filmu.
-.RE
-.PD 1
-
-.
-.TP
-.B Kontrola GUI klawiatur±
-.PD 0
-.RSs
-.IPs ENTER
-Zaczyna odtwarzanie.
-.IPs "ESC\ \ "
-Zatrzymuje odtwarzanie.
-.IPs "l\ \ \ \ "
-Wczytuje zbiór.
-.IPs "c\ \ \ \ "
-Przegl±darka skórek.
-.IPs "p\ \ \ \ "
-Prze³±cza listê odtwarzania.
-.RE
-.PD 1
-.
-.TP
-.B Kontrola wej¶cia TV
-.PD 0
-.RSs
-.IPs "h i k"
-Wybiera poprzedni/\:nastêpny kana³.
-.IPs "n\ \ \ \ "
-Zmienia normê.
-.IPs "u\ \ \ \ "
-Zmienia listê kana³ów.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Opcje
-.\" --------------------------------------------------------------------------
-.
-.SH "SPOSÓB U¯YCIA"
-Ka¿da "flaga" opcji ma "przeciwflagê" do pary, np.\& dla \-fs przeciwn± jest
-opcja \-nofs.
-.PP
-Je¿eli opcja jest oznaczona jako (tylko XXX), bêdzie dzia³a³a tylko w parze z
-opcj± XXX, albo je¿eli obs³uga XXX zosta³a wkompilowana.
-.PP
-.I INFORMACJA:
-Interpreter podopcji (u¿ywany na przyk³ad do podopcji \-ao pcm) obs³uguje
-specjalny sposób interpretacji ci±gów projektowany do stosowania w zewnêtrznych
-GUI.
-.br
-Ma on nastêpuj±cy format:
-.br
-%n%ci±g_znaków_d³ugo¶ci_n
-.br
-.I PRZYK£AD:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.PP
-Mo¿esz umie¶ciæ wszystkie opcje w zbiorach konfiguracyjnych, z których
-MPlayer/MEncoder bêd± czyta³y przy ka¿dym uruchomieniu.
-G³ówny zbiór konfiguracyjny "mplayer.conf" jest w katalogu konfiguracyjnym
-(np.\& /etc/\:mplayer lub /usr/\:local/\:etc/\:mplayer), a specyficzny dla
-u¿ytkownika to "~/\:.mplayer/\:config".
-Zbiorem konfiguracyjnym MEncodera jest "mencoder.conf" w katalogu
-konfiguracyjnym (np.\& /etc/\:mplayer lub /usr/\:local/\:etc/\:mplayer),
-a specyficzny dla u¿ytkownika to "~/\:.mplayer/\:mencoder.conf".
-Opcje okre¶lone przez u¿ytkownika uniewa¿niaj± opcje z g³ównego zbioru, a opcje
-podawane z wiersza poleceñ uniewa¿niaj± obie.
-Sk³adnia zbioru konfiguracyjnego to "opcja=<warto¶æ>", wszystko po "#" uwa¿ane
-jest za komentarz.
-Opcje dzia³aj±ce bez warto¶ci mog± byæ w³±czone przez ustawienie "yes", "1" lub
-"true" i wy³±czone przez przypisanie im "no", "0", lub "false".
-Równie¿ podopcje mog± byæ okre¶lane w ten sposób.
-.PP
-.I PRZYK£AD:
-.nf
-# U¿ywa sterownika Matrox jako domy¶lnego.
-vo=xmga
-# Uwielbiam staæ na rêkach gdy ogl±dam filmy.
-flip=yes
-# Dekoduje/\:koduje wielokrotne zbiory png,
-# zaczynaj od mf://maskazbiorów
-mf=type=png:fps=25
-# Dziwne negatywy s± fajne
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-Mo¿esz te¿ napisaæ zbiór konfiguracyjny dla konkretnego pliku.
-Je¶li zamierzasz mieæ zbiór konfiguracyjny dla pliku o nazwie "film.avi",
-utwórz "film.avi.conf" z zawartymi w nim opcjami i umie¶æ go
-w ~/.mplayer/ lub w tym samym katalogu, co film.
-.
-.
-.
-.SH "OPCJE OGÓLNE"
-.
-.TP
-.B \-codecs\-file <plik> (zobacz tak¿e \-afm, \-ac, \-vfm i \-vc)
-Pomija standardow± ¶cie¿kê poszukiwania i u¿ywa podanego pliku zamiast
-dostêpnego w systemie lub wbudowanego codecs.conf.
-.
-.TP
-.B \-include <plik\ konfiguracyjny>
-Okre¶la plik z ustawieniami, który bêdzie parsowany po tych domy¶lnych.
-.
-.TP
-.B "\-quiet\ "
-Sprawia, ¿e wyj¶cie na konsolê jest mniej gadatliwe; w szczególno¶ci zapobiegnie
-to wy¶wietleniu wiersza stanu (tzn.\& A: 0.7 V: 0.6 A-V: 0.068 ...).
-Szczególnie przydatne na wolnych terminalach lub na takich, które nie obs³uguj±
-poprawnie znaku powrotu karetki (tzn.\& \\r).
-.
-.TP
-.B \-priority <prio> (Windows only)
-Ustawia priorytet procesu MPlayera wed³ug predefiniowanych ustawieñ dostêpnych
-w Windows.
-Mo¿liwe warto¶ci <prio>:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I UWAGA:
-U¿ywanie priorytetu realtime mo¿e spowodowaæ zawieszenie systemu.
-.RE
-.
-.TP
-.B \-v, \-verbose
-Zwiêksza poziom gadatliwo¶ci (raportowania) (wiêcej \-v oznacza wiêkszy poziom).
-.PD 0
-.RSs
-.IPs <brak>
-wiadomo¶ci czysto informacyjne (domy¶lne)
-.IPs "\-v\ \ \ "
-podstawowe informacje do debugu, nag³ówek AVI, warto¶ci funckji (debug inicjalizacji)
-.IPs \-v\ \-v
-Drukuje indeksy AVI, kawa³ki danych wej¶ciowych, wiêcej informacji do debugu (debug odtwarzacza)
-.IPs \-v\ \-v\ \-v
-Drukuje wszystko zwi±zane z parserami danych wej¶ciowych (debug parsera)
-.RE
-.PD 1
-.
-.
-.
-.SH "OPCJE ODTWARZACZA (TYLKO MPLAYER)"
-.
-.TP
-.B \-autoq <jako¶æ> (u¿ywaj z \-vf [s]pp)
-Dynamicznie zmiania poziom postprocesingu w zale¿no¶ci od dostêpnego wolnego
-czasu procesora.
-Numer, który wyszczególnisz, bêdzie najwy¿szym poziomem.
-Najczê¶ciej mo¿esz u¿ywaæ du¿ych liczb.
-Musisz u¿yæ \-vf [s]pp bez parametrów, aby ta opcja dzia³a³a.
-.
-.TP
-.B \-autosync <czynnik>
-Stopniowo dostosowuje synchronizacjê A/\:V bazuj±c na pomiarze opó¼nieñ audio.
-Podanie \-autosync\ 0, domy¶lnie, spowoduje, ¿e "czas" klatki bêdzie
-bazowa³ wy³±cznie na pomiarze opó¼nienia audio.
-Podanie \-autosync\ 1 zrobi to samo, ale nieznacznie zmieni
-algorytm korekcji A/\:V.
-Nierówna prêdko¶æ odtwarzania filmów, które odtwarzane s± dobrze z \-nosound
-czêsto mo¿e byæ poprawiona przez podanie liczby wiêkszej ni¿ 1.
-Im wy¿sza warto¶æ tym rezultaty bêd± bli¿sze zastosowaniu \-nosound.
-Spróbuj u¿yæ \-autosync\ 30, ¿eby st³umiæ problemy spowodowanie przez sterowniki
-d¼wiêku, które nie maj± dok³adnego pomiaru opó¼nieñ audio.
-Z t± warto¶ci±, je¿eli zdarzy siê du¿e przesuniêcie synchronizacji A/\:V,
-wyregulowanie potrwa tylko oko³o 1 lub 2\ sekund.
-Opó¼nienie reakcji na nag³e przesuniêcie A/\:V powinno byæ jedynym ubocznym
-efektem w³±czanie tej opcji, dla wszystkich sterowników d¼wiêku.
-.
-.TP
-.B \-benchmark
-Pokazuje na koñcu odtwarzania statystyki u¿ycia procesora i zgubionych klatek.
-U¿ywaj w kombinacji z \-nosound i \-vo null dla testowania szybko¶ci kodeka
-video.
-.br
-.I UWAGA:
-Z t± opcj± MPlayer ignoruje czas trwania klatki, je¶li odtwarza tylko video
-(mo¿na to uznaæ za nielimitowane fps).
-.
-.TP
-.B \-colorkey <numer>
-Zmienia kolor kluczowy (colorkey) na wybran± warto¶æ RGB.
-0x000000 to czarny a 0xffffff to bia³y.
-Obs³ugiwane tylko przez sterowniki wyj¶cia video cvidix, fbdev, svga, vesa,
-winvidix, xmga, xvidix, xover, xv (zobacz tak¿e \-vo xv:ck),
-xvmc (zobacz tak¿e \-vo xv:ck) i directx.
-.
-.TP
-.B \-nocolorkey
-Wy³±cza kolor kluczowy.
-Obs³ugiwane tylko przez sterowniki wyj¶cia video cvidix, fbdev, svga, vesa,
-winvidix, xmga, xvidix, xover, xv (zobacz tak¿e \-vo xv:ck),
-xvmc (zobacz tak¿e \-vo xv:ck) i directx.
-.
-.TP
-.B \-crash\-debug (kod do debugowania)
-Automatycznie pod³±cza gdb przy b³edzie lub SIGTRAP.
-Obs³uga musi zostaæ wkompilowana poprzez podanie \-\-enable\-crash\-debug lub
-posiadanie zbioru .developer w katalogu przy konfiguracji.
-.
-.TP
-.B \-edlout <nazwa\ zbioru>
-Tworzy nowy zbiór i zapisuje decyzyjn± listê edycji (EDL) do tego zbioru.
-Podczas odtwarzania, kiedy u¿ytkownik wci¶nie "i", wpis o pominiêciu dwóch
-ostatnich sekund zostanie zapisany do zbioru.
-Daje to punkt wyj¶cia, który u¿ytkownik mo¿e pó¼niej dopasowaæ do swoich
-potrzeb.
-Szczegó³owe informacje zawarte s± w DOCS/\:HTML/\:pl/\:edl.html.
-.
-.TP
-.B \-enqueue (tylko GUI)
-Dodaje zbiory podane w wierszu poleceñ do listy odtwarzania, zamiast odtwarzaæ
-je od razu.
-.
-.TP
-.B \-fixed\-vo (KOD BETA!)
-Wymusza ustawienie jednego systemu video dla wszystkich zbiorów (jedna
-(de)inicjalizacja dla wszystkich zbiorów).
-Dlatego te¿ tylko jedno okno zostanie otwarte dla wszystkich zbiorów.
-Obecnie dzia³a z nastêpuj±cymi sterownikami: gl, gl2, mga, svga, x11, xmga, xv,
-xvidix i dfbmga.
-.
-.TP
-.B \-framedrop (zobacz tak¿e \-hardframedrop)
-Nie wy¶wietla niektórych klatek, by utrzymaæ synchronizacje A/\:V na wolnych
-komputerach.
-Filtry video nie bêd± stosowane do tych klatek.
-Dla klatek B nawet dekodowanie jest ca³kowicie pominiête.
-.
-.TP
-.B \-h, \-help, \-\-help
-Pokazuje krótkie podsumowanie opcji.
-.
-.TP
-.B \-hardframedrop
-Wiêksza intensywno¶æ opuszczania klatek (przerywa dekodowanie).
-Prowadzi do zniekszta³ceñ obrazu!
-.
-.TP
-.B \-identify
-Pokazuje parametry zbioru w ³atwo przegl±dalnym formacie.
-Wy¶wietla te¿ dok³adniejsze informacje o jêzykach i identyfikatorach
-napisów i ¶cie¿ek audio.
-Skrypt TOOLS/\:midentify.sh wycina inne napisy MPlayera i (mamy nadziejê)
-zabezpiecza specjalne znaki przed interpretacj± przez pow³okê.
-.
-.TP
-.B \-idle (zobacz tak¿e \-slave)
-Sprawia ¿e MPlayer czeka bezczynie zamiast wychodziæ je¶li nie ma pliku do
-odtwarzania.
-Gwnie u¿yteczne w trybie slave, gdy MPlayer moze byæ sterowany poleceniami
-wej¶ciowymi.
-.
-.TP
-.B \-input <komendy>
-Ta opcja mo¿e byæ u¿ywana do konfiguracji pewnych czê¶ci systemu wej¶ciowego.
-¦cie¿ki s± wzglêdem ~/\:.mplayer/.
-.br
-.I INFORMACJA:
-Autopowtarzanie jest obecnie obs³ugiwane tylko przez joysticki.
-.sp 1
-Dostêpne s± polecenia:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<plik>
-Okre¶la plik konfiguracyjny warstwy kontroli, inny ni¿ domy¶lny
-~/\:.mplayer/\:input.conf.
-Je¿eli nie podano pe³nej ¶cie¿ki, pod uwagê brany jest ~/\:.mplayer/\:<plik>.
-.IPs ar-delay
-Opó¼nienie w milisekundach przed rozpoczêciem automatyczniego powtarzania
-klawisza (0 ¿eby wy³±czyæ).
-.IPs ar-rate
-Ilo¶æ generowanych przyci¶niêæ klawisza na sekundê przy autopowtarzaniu.
-.IPs keylist
-Lista wszystkich klawiszy, które mog± byæ przypisane do komend.
-.IPs cmdlist
-Lista wszystkich komend, które mog± byæ przypisane do klawiszy.
-.IPs js-dev
-Wybiera u¿ywany joystick (domy¶lnie: /dev/\:input/\:js0).
-.IPs file=<nazwazbioru>
-Czyta polecenia z podanego zbioru.
-Opcja g³ównie przydatna przy kolejce FIFO.
-.br
-.I INFORMACJA:
-Je¶li podany zbiór jest kolejk±, MPlayer otwiera oba koñce, wiêc mo¿na
-kilkukrotnie napisaæ "echo "seek 10" > mp_pipe" i kolejka bêdzie dzia³aæ.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-Ustala wielko¶æ kolejki buforuj±cej naci¶niêcia klawiszy (domy¶lnie: 10).
-Kolejka wielko¶ci n mo¿e zbuforowaæ (n-1) zdarzeñ.
-Je¶li jest zbyt ma³e niektóre zdarzenia mog± zagin±æ
-(co prowadzi do "zaciêtego przycisku myszy" i podobnych efektów).
-Je¶li jest zbyt du¿e mo¿e wygl±daæ ¿e MPlayer zawiesi³ siê
-gdy przetwarza zbuforowane zdarzenia.
-¯eby utrzymaæ takie samo zachowanie jak przed wprowadzeniem tej opcji,
-ustaw 2 dla Linuksa i 1024 dla Windows.
-.
-.TP
-.B \-lircconf <plik> (tylko z LIRC)
-Wskazuje plik konfiguracyjny dla LIRC (domy¶lnie: ~/\:.lircrc).
-.
-.TP
-.B \-list\-options
-Wy¶wietla wszystkie dostêpne opcje.
-.
-.TP
-.B \-loop <ilo¶æ>
-Powtarza film <ilo¶æ> razy.
-0 oznacza zawsze.
-.
-.TP
-.B \-menu (tylko z menu OSD)
-W³±cza menu OSD.
-.
-.TP
-.B \-menu\-cfg <plik> (tylko z menu OSD)
-Wskazuje alternatywny plik konfiguracyjny menu.conf.
-.
-.TP
-.B \-menu\-root <warto¶æ> (tylko z menu OSD)
-Wybiera menu g³ówne.
-.
-.TP
-.B \-menu\-startup (tylko z menu OSD)
-Wy¶wietla g³ówne menu zaraz po uruchomieniu MPlayera.
-.
-.TP
-.B \-noconsolecontrols
-Powstrzymuje MPlayera przed czytaniem zdarzeñ klawiszy ze standardowego wej¶cia.
-U¿yteczne, je¿eli dane s± z niego pobierane.
-Jest to automatycznie w³±czane, je¶li w wierszu poleceñ zostanie odnaleziony \-.
-S± jednak sytuacje, w których sam musisz to aktywowaæ, np.\&
-je¿eli otwierasz /dev/\:stdin (albo odpowiednik w Twoim systemie),
-u¿ywasz stdin na li¶cie odtwarzania albo zamierzasz czytaæ z stdin pó¼niej
-poprzez polecenia trybu slave loadlist i loadfile.
-.
-.TP
-.B \-nojoystick
-Wy³±cza obs³ugê joysticka.
-.
-.TP
-.B \-nolirc
-Wy³±cza obs³ugê LIRC.
-.
-.TP
-.B \-nomouseinput (tylko z X11)
-Wy³±cza obs³ugê zdarzeñ wci¶niêcia/\:puszczenia przycisku myszki
-(menu kontekstowe mozplayerxp korzysta z tej opcji).
-.
-.TP
-.B \-nortc (tylko z RTC)
-Wy³±cza u¿ywanie Linux RTC (real-time clock \- /dev/\:rtc) jako mechanizmu
-mierzenia czasu.
-.
-.TP
-.B \-playlist <nazwa\ pliku>
-Odtwarza zbiory wed³ug pliku listy odtwarzania (w formatach ASX, Winamp, SMIL
-lub jeden zbiór w ka¿dym wierszu).
-.br
-.I INFORMACJA:
-Opcja ta jest uwa¿ana za pozycjê wyj¶ciow±, wiêc opcje nastêpuj±ce po niej
-odnosz± siê tylko do zbiorów na tej li¶cie.
-.br
-FIXME: Musi to byæ bardziej przejrzyste i dok³adnie udokumentowane.
-.
-.TP
-.B \-really\-quiet (zobacz tak¿e \-quiet)
-Wy¶wietla jeszcze mniej komunikatów wyj¶ciowych i stanu ni¿ z opcj± \-quiet.
-.
-.TP
-.B \-rtc\-device <urz±dzenie>
-Korzysta z okre¶lonego urz±dzenia do synchronizacji przez RTC.
-.
-.TP
-.B \-shuffle
-Odtwarza zbiory w losowej kolejno¶ci.
-.
-.TP
-.B \-skin <nazwa> (tylko z GUI)
-Za³aduje skórkê z podanego jako parametr katalogu znajduj±cego siê pod
-domy¶lnymi katalogami skórek, /usr/\:local/\:share/\:mplayer/\:skins/
-i ~/.mplayer/skins/.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-Próbuje za³adowaæ /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene,
-pó¼niej ~/.mplayer/\:skins/\:fittyfene.
-.RE
-.PD 1
-.
-.TP
-.B \-slave (zobacz tak¿e \-input)
-Ta opcja prze³±cza MPlayera w tryb slave, w którym mo¿na go u¿ywaæ jako koñcówki
-(backend) dla innych programów.
-Zamiast przechwytywania wci¶niêtych klawiszy, MPlayer bêdzie czyta³ ze
-standardowego wej¶cia polecenia oddzielane koñcem wiersza (\\n).
-.br
-.I INFORMACJA:
-Listê poleceñ otrzymasz z \-input cmdlist, a ich opis znajdziesz
-w DOCS/tech/slave.txt.
-.
-.TP
-.B \-softsleep
-U¿ywa wysokiej jako¶ci zegarów programowych.
-Tak dok³adne jak RTC, ale nie wymaga specjalnych uprawnieñ.
-Skutkuje wiêkszym obi±¿eniem procesora.
-.
-.TP
-.B \-sstep <sek>
-Przeskakuje <sek> sekund po ka¿dej klatce.
-Normalna prêdko¶æ odtwarzania klatek jest utrzymana, wiêc odtwarzanie jest
-szybsze.
-Jako ¿e MPlayer potrafi przeszukiwaæ tylko do najbli¿szej klatki kluczowej,
-mo¿e to byæ niedok³adne.
-.
-.
-.
-.SH "OPCJE DEMUXERA/\:STRUMIENI"
-.
-.TP
-.B \-a52drc <poziom>
-Wybiera poziom Kompresji Dynamiki (Dynamic Range Compression) dla
-strumieni d¼wiêkowych AC3.
-<poziom> jest liczb± rzeczywist± od 0 do 1, gdzie 0 oznacza brak kompresji,
-a 1 (domy¶lne) oznacza pe³n± kompresjê (g³o¶ne kawa³ki s± przyciszane
-i vice versa).
-Opcja ta jest skuteczna tylko wtedy, kiedy strumieñ AC3 zawiera informacje
-o wymaganym zasiêgu kompresji.
-.
-.TP
-.B \-aid <ID> (zobacz tak¿e \-alang)
-Wybiera kana³ audio (MPEG: 0\-31 AVI/\:OGM: 1\-99 ASF/\:RM: 0\-127,
-VOB(AC3): 128\-159 VOB(LPCM): 160\-191 MPEG-TS 17\-8190).
-MPlayer wy¶wietli dostêpne identyfikatory audio,
-je¶li jest uruchomiony w trybie gadatliwym (\-v).
-Kiedy odtwarzany jest strumieñ MPEG-TS, MPlayer/\:MEncoder u¿yje pierwszego
-programu (je¿eli jest dostêpny) z wybranym strumieniem.
-.
-.TP
-.B \-alang <kod\ jêzyka[,kod\ jêzyka,...]> (zobacz tak¿e \-aid)
-Okre¶la priorytetow± listê jêzyków, w których audio ma byæ odtwarzane.
-Ró¿ne formaty u¿ywaj± ró¿nych kodów.
-DVD korzysta z dwuliterowych w standardzie ISO 639\-1, Matroska i NUT operuj± na
-trzyliterowych ISO 639\-2, a OGM korzysta z dowolnego identyfikatora.
-MPlayer wy¶wietli dostêpne jêzyki,
-je¶li jest uruchomiony w trybie gatatliwym (\-v).
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang pl,en"
-Wybiera z DVD ¶cie¿kê w jêzyku polskim, a je¿eli jej nie ma, korzysta z
-angielskiej.
-.IPs "mplayer \-alang jpn example.mkv"
-Odtwarza film w formacie Matroska w jêzyku japoñskim.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]nazwa> (tylko z opcj± \-audiofile)
-Wymusza typ demuxera audio dla \-audiofile.
-U¿ycie "+" przed nazw± wymusza j±, wy³±cza to niektóre testy.
-Podaj nazwê demuksera wypisan± przez \-audio\-demuxer help.
-Dla kompatybilno¶ci z poprzednimi wersjami akceptuje te¿
-ID demuxera zdefiniowane w zbiorze libmpdemux/\:demuxer.h.
-\-audio\-demuxer audio albo \-audio\-demuxer 17 wymusza MP3.
-.
-.TP
-.B \-audiofile <nazwa\ zbioru>
-Otwórz audio z zewnêtrznego zbioru (WAV, MP3 lub Ogg Vorbis) podczas
-odtwarzania filmu.
-.
-.TP
-.B \-audiofile\-cache <kBajty>
-W³±cza cache dla strumienia u¿ywanego przez \-audiofile, u¿ywaj±c okre¶lonej
-ilo¶ci pamiêci.
-.
-.TP
-.B \-bandwidth <warto¶æ> (tylko z sieci±)
-Okre¶la maksymaln± szeroko¶æ pasma (bitrate) strumienia sieciowego (dla
-serwerów potrafi±cych przesy³aæ z ró¿nymi szeroko¶ciami pasma).
-Przydatne je¶li chcesz ogl±daæ na ¿ywo media ze strumieni przy wolnym
-po³±czeniu.
-.
-.TP
-.B \-cache <kBajty>
-Ta opcja okre¶la ile pamiêci (w kBajtach) ma byæ u¿yte do wstêpnego
-buforowania zbioru lub URL.
-Szczególnie przydatne przy powolnych no¶nikach.
-.
-.TP
-.B \-cache\-min <procent>
-Odtwarzanie rozpocznie siê gdy bufor zostanie wype³niony w podanym stopniu.
-.
-.TP
-.B \-cache\-seek\-min <procent> (jeszcze nie zaimplementowane)
-Je¶li wykonano przewijanie do pozycji w promieniu <procent> wielko¶ci cache od
-aktualnej pozycji, MPlayer poczeka na wype³nienie cache zamiast wykonywaæ
-przewijanie (domy¶lnie: 50).
-.
-.TP
-.B \-cdda <opcja1:opcja2> <tylko z CDDA)
-Dostosowuje mo¿liwo¶æ czytania CD Audio MPlayera.
-.sp 1
-Dostêpne s± opcje:
-.RSs
-.IPs speed=<warto¶æ>
-Ustala prêdko¶æ obrotów CD.
-.IPs paranoia=<0\-2>
-Ustala poziom paranoi.
-.RSss
-0: wy³±cza sprawdzanie
-.br
-1: sprawdza tylko overlap (domy¶lne)
-.br
-2: pe³na korekcja i weryfikacja danych
-.REss
-.IPs generic-dev=<warto¶æ>
-U¿ywa podanego ogólnego urz±dzenia SCSI.
-.IPs sector-size=<warto¶æ>
-Rozmiar bloku jednorazowego czytania.
-.IPs overlap=<warto¶æ>
-Wymusza minimalne przeszukiwanie overlap podczas weryfikacji do <warto¶æ>
-sektorów.
-.IPs toc-bias
-Zak³ada ¿e adres pocz±tku pierwszej ¶cie¿ki zapisany w TOC bêdzie adresowany
-jako LBA\ 0.
-Niektóre sterowniki Toshiba potrzebuj± tego by poprawnie okre¶liæ granice
-¶cie¿ek.
-.IPs toc-offset=<warto¶æ>
-Dodaje <warto¶æ> sektorów do odczytanych warto¶ci podczas adresowania ¶cie¿ek.
-Warto¶æ mo¿e byæ ujemna.
-.IPs (no)skip
-(Nie)akceptuje niedoskona³e rekonstrukcje danych.
-.RE
-.
-.TP
-.B \-cdrom\-device <¶cie¿ka\ do\ urz±dzenia>
-Ustawia ¶cie¿kê do urz±dzenia CD-ROM (domy¶lnie: /dev/\:cdrom).
-.
-.TP
-.B \-channels <ilo¶æ> (zobacz tak¿e \-af channels)
-¯±da podanej liczby kana³ów wyj¶cowych (domy¶lnie: 2).
-MPlayer prosi dekoder by dekodowa³ audio do wybranej ilo¶ci kana³ów.
-Od dekodera zale¿y jak (i czy) sobie z tym poradzi.
-Opcja ta jest zazwyczaj potrzebna tylko przy odtwarzaniu filmów z d¼wiêkiem w
-formacie AC3 (jak DVD).
-W tym wypadku liba52 dekoduje i prawid³owo przerabia d¼wiêk na wymagan±
-liczbê kana³ów.
-¯eby bezpo¶rednio kontrolowaæ liczbê kana³ów wyj¶ciowych niezale¿nie od liczby
-zdekodowanych kana³ów, u¿yj filtra channels.
-.br
-.I INFORMACJA:
-Opcja ta jest honorowana przez kodeki (tylko AC3), filtry (surround)
-i sterowniki wy¶cia audio (przynajmniej OSS).
-.sp 1
-Dostêpne s± opcje:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-stereo
-.IPs 4
-surround
-.IPs 6
-pe³ne 5.1
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <ID\ rozdzia³u[\-<ID\ koñcowego\ rozdzia³u>] (tylko DVD)
-Okre¶la numer rozdzia³u od którego nale¿y zacz±æ odtwarzanie.
-Mo¿e te¿ okre¶liæ numer rozdzia³u na którym nale¿y skoñczyæ odtwarzanie
-(domy¶lnie: 1).
-.
-.TP
-.B \-cookies (tylko z sieci±)
-Wysy³a cookies przy ¿±daniach HTTP.
-.
-.TP
-.B \-cookies\-file <nazwa\ zbioru> (tylko z sieci±)
-Czyta HTTP cookies z <nazwa zbioru> (domy¶lnie ~/.mozilla/ i ~/.netscape/)
-i nie czytaj z miejsc standardowych.
-Zak³ada ¿e zbiór jest w formacie Netscape.
-.
-.TP
-.B \-delay <sekundy>
-Ustawia opó¼nienie d¼wiêku w sekundach (dodatnia lub ujemna liczba rzeczywista).
-.br
-.I INFORMACJA:
-Nie ma gwarancji prawid³owego dzia³ania je¶li jest to u¿ywane z MEncoderem
-i \-ovc copy.
-.
-.TP
-.B \-demuxer <[+]nazwa>
-Wymusza typ demuxera.
-U¿ycie "+" przed nazw± wymusza j±, wy³±cza to niektóre testy.
-Podaj nazwê demuksera wypisan± przez \-demuxer help.
-Dla kompatybilno¶ci z poprzednimi wersjami akceptuje te¿
-ID demuxera zdefiniowane w zbiorze libmpdemux/\:demuxer.h.
-\-demuxer audio lub \-demuxer 17 wymusza MP3.
-.
-.TP
-.B \-dumpaudio (tylko MPlayer)
-Zrzuca surowy, skompresowany strumieñ audio do ./stream.dump
-(przydatne z MPEG/\:AC3).
-Je¶li podasz wiêcej ni¿ jedn± z \-dumpaudio, \-dumpvideo i \-dumpstream,
-znaczenie ma tylko ostatnia w wierszu poleceñ.
-.
-.TP
-.B \-dumpfile <nazwa\ zbioru> (tylko MPlayer)
-Podaje nazwê zbioru wynikowego dla opcji \-dumpaudio / \-dumpvideo /
-\-dumpstream.
-.
-.TP
-.B \-dumpstream (tylko MPlayer)
-Zrzuca surowy strumieñ do ./stream.dump.
-Przydatny gdy rippujesz z DVD lub sieci.
-Je¶li podasz wiêcej ni¿ jedn± z \-dumpaudio, \-dumpvideo i \-dumpstream,
-znaczenie ma tylko ostatnia w wierszu poleceñ.
-.
-.TP
-.B \-dumpvideo (tylko MPlayer)
-Zrzuca surowy, skompresowany strumieñ video do ./stream.dump (niezbyt
-przydatne).
-Je¶li podasz wiêcej ni¿ jedn± z \-dumpaudio, \-dumpvideo i \-dumpstream,
-znaczenie ma tylko ostatnia w wierszu poleceñ.
-.
-.TP
-.B \-dvbin <options>
-Przekazuje zamiast domy¶lnych nastêpuj±ce opcje modu³owi wej¶cia DVB:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-U¿yje karty numer 1\-4 (domy¶lnie: 1).
-.IPs file=<nazwa\ pliku>
-Czyta listê kana³ów z <nazwa pliku>.
-Domy¶lnym jest ~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc} (w zale¿no¶ci od
-Twojej karty) lub w ostateczno¶ci ~/.mplayer/\:channels.conf.
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <¶cie¿ka\ do\ urz±dzenia> (tylko DVD)
-Podaje ¶cie¿kê do urz±dzenia DVD (domy¶lnie: /dev/\:dvd).
-Mo¿esz równie¿ okre¶liæ katalog z plikami uprzednio skopiowanymi prosto z
-DVD (np. przez vobcopy).
-Zauwa¿, ¿e \-dumpstream jest zazwyczaj lepszym sposobem
-na kopiowanie tytu³ów DVD (zobacz przyk³ady).
-.
-.TP
-.B \-dvdangle <ID\ ujêcia> (tylko DVD)
-Niektóre dyski DVD zawieraj± sceny, które mog± byæ ogl±dane z ró¿nych ujêæ.
-Opcja ta informuje MPlayera, którego ujêcia ma u¿ywaæ (domy¶lnie: 1).
-.
-.TP
-.B \-edl <nazwa\ pliku>
-W³±cza decyzyjn± listê edycji (ang.\& edit decision list (EDL)) podczas
-odtwarzania.
-Video bêdzie pomijane, audio bêdzie wyciszane i w³±czane zgodnie z wpisami w
-podanym zbiorze.
-Szczegó³owe informacje zawarte s± w DOCS/\:HTML/\:pl/\:edl.html.
-.
-.TP
-.B \-forceidx
-Wymusza przebudowanie indeksu.
-U¿yteczny dla zbiorów z uszkodzonym indeksem (desynchornizacje A/\:V itp.).
-Umo¿liwia wyszukiwanie w pliku.
-Trwa³e naprawienie indeksu mo¿liwe jest przy pomocy MEncodera (patrz
-dokumentacja)
-.br
-.I INFORMACJA:
-Opcji tej mo¿na u¿ywaæ tylko je¶li dany no¶nik obs³uguje wyszukiwanie
-(czyli nie stdin, kolejka itp.).
-.
-.TP
-.B \-fps <liczba rzeczywista>
-Zmienia prêdko¶æ odtwarzania klatek video (framerate)
-Przydatne je¶li warto¶æ w nag³ówku jest z³a/\:nie istnieje.
-.
-.TP
-.B \-frames <ilo¶æ>
-Odtwarza/\:konwertuje tylko pierwsze <ilo¶æ> klatek, potem wychodzi.
-.
-.TP
-.B \-hr\-mp3\-seek (tylko z MP3)
-Dok³adne przeszukiwanie MP3.
-W³±czone gdy odtwarzamy z zewnêtrznego zbioru MP3, gdy¿ potrzebujemy
-znale¼æ bardzo dok³adn± pozycjê do utrzymania synchronizacji A/\:V.
-Potrafi byæ wolne, szczególnie gdy szukamy do ty³u, poniewa¿ trzeba przewin±æ
-do samego pocz±tku by znale¼æ dok³adnie tê klatkê.
-.
-.TP
-.B \-idx (zobacz tak¿e \-forceidx)
-Przebuduje indeks AVI, je¿eli nie zostanie on znaleziony, umo¿liwiaj±c
-przeszukiwanie zbioru.
-Przydatne przy uszkodzonych/\:niekopletnych zbiorach lub ¼le stworzonych
-plikach.
-.br
-.I INFORMACJA:
-Opcji tej mo¿na u¿ywaæ tylko je¶li dany no¶nik obs³uguje wyszukiwanie
-(czyli nie stdin, kolejka itp.).
-.
-.TP
-.B \-ipv4\-only\-proxy (tylko z sieci±)
-Ignoruje proxy dla adresów IPv6.
-Bêdzie on nadal u¿ywany dla adresów IPv4.
-.
-.TP
-.B \-loadidx <zbiór\ indeksowy>
-Czyta dane indeksu video z <nazwa\ zbioru>, zapisane przez \-saveidx.
-MPlayer bêdzie czyta³ indeks z podanego zbioru i u¿ywa³ tych danych do
-przeszukiwania zamiast jakiegokolwiek indeksu bezpo¶rednio w zbiorze AVI.
-Dodatkowo, MPlayer nie przeszkodzi w za³adowaniu zbioru indeksowego
-wygenerowanego z innego AVI, ale to z pewno¶ci± wywo³a niemi³e rezultaty.
-.br
-.I INFORMACJA:
-Ta opcja jest przestarza³a, poniewa¿ MPlayer obs³uguje ju¿ OpenDML.
-.
-.TP
-.B \-mc <sekundy/\:klatkê>
-maksymalna korekcja synchronizacji A-V na klatkê (w sekundach)
-.
-.TP
-.B \-mf <opcja1:opcja2:...>
-U¿ywane przy dekodowaniu z wielu zbiorów PNG lub JPEG.
-.sp 1
-Dostêpne s± opcje:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<warto¶æ>
-szeroko¶æ danych wyj¶ciowych (domy¶lnie: autodetekcja)
-.IPs h=<warto¶æ>
-wysoko¶æ danych wyj¶ciowych (domy¶lnie: autodetekcja)
-.IPs fps=<warto¶æ>
-ilo¶æ klatek na sekundê (fps) w danych wyj¶ciowych (domy¶lnie: 25)
-.IPs type=<warto¶æ>
-typ zbiorów wej¶ciowych (dostêpne: jpeg, png, tga i sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (tylko AVI)
-Wymusza u¿ycie parsera do AVI bez przeplotu (pozwala odtworzyæ niektóre
-uszkodzone zbiory AVI).
-.
-.TP
-.B \-nobps (tylko AVI)
-Nie u¿ywa ¶redniej ilo¶ci bajtów/\:sekundê do synchronizacji A-V.
-Pomaga przy niektórych zbiorach AVI z uszkodzonym nag³ówkiem.
-.
-.TP
-.B \-noextbased
-Wy³±cza wybór demuxera oparty na rozszerzeniu zbioru.
-Domy¶lnie, kiedy typ zbioru (demuxer) nie mo¿e byæ bezsprzecznie wykryty
-(zbiór nie posiada nag³ówka lub jest on niewystarczaj±co pewny),
-rozszerzenie zbioru jest u¿yte do wybrania demuxera.
-Zawsze wraca do wyboru demuxera w oparciu o zawarto¶æ.
-.
-.TP
-.B \-passwd <has³o> (zobacz tak¿e \-user) (tylko z sieci±)
-Podaje has³o dla autoryzacji HTTP.
-.
-.TP
-.B \-prefer\-ipv4
-U¿ywa IPv4 do po³±czeñ sieciowych.
-Je¶li siê nie da, automatycznie przestawia na IPv6.
-.
-.TP
-.B \-prefer\-ipv6
-U¿ywa IPv6 do po³±czeñ sieciowych.
-Je¶li siê nie da, automatycznie przestawia na IPv4.
-.
-.TP
-.B \-rawaudio <opcja1:opcja2:...>
-Pozwala na odtwarzanie surowych zbiorów audio.
-Mo¿e te¿ byæ u¿yta ¿eby odtworzyæ CD z d¼wiêkiem innym ni¿ 44kHz 16-bit stereo.
-Do odtwarzania surowych strumieni AC3 u¿yj \-rawaudio on:format=0x2000.
-.sp 1
-Dostêpne s± opcje:
-.sp 1
-.PD 0
-.RSs
-.IPs "on\ \ \ "
-U¿ywa demuxera surowego d¼wiêku.
-.IPs channels=<ilo¶æ>
-ilo¶æ kana³ów
-.IPs rate=<czêstotliw¶æ>
-czêstotliwo¶æ próbkowania
-.IPs samplesize=<warto¶æ>
-rozmiar próbki w bajtach
-.IPs bitrate=<value>
-bitrate dla surowych danych audio
-.IPs format=<warto¶æ>
-kod fourcc szesnastkowo
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <opcja1:opcja2:...>
-Ta opcja pozwala na odtwarzanie surowych zbiorów video.
-.sp 1
-Dostêpne s± opcje:
-.sp 1
-.PD 0
-.RSs
-.IPs "on\ \ \ "
-U¿ywa demuxera surowego video.
-.IPs fps=<warto¶æ>
-ilo¶æ klatek na sekundê (domy¶lnie: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-ustawia jedn± ze standardowych wielko¶ci obrazu
-.IPs w=<warto¶æ>
-szeroko¶æ obrazu w pikselach
-.IPs h=<warto¶æ>
-wysoko¶æ obrazu w pikselach
-.IPs i420|yv12|yuy2|y8
-ustaw przestrzeñ kolorów
-.IPs format=<warto¶æ>
-przestrzeñ kolorów (fourcc) w hex
-.IPs size=<warto¶æ>
-rozmiar ramki w bajtach
-.RE
-.PD 1
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (tylko z LIVE.COM)
-U¿ywane z URLami "rtsp://" dla okre¶lenia, ¿e nadchodz±ce pakiety RTP i RTCP
-maj± byæ przesy³ane przez TCP (u¿ywaj±c tego samego po³±czenia co RTSP).
-Przydatne przy uszkodzonym po³±czeniu internetowym, które nie przepuszcza
-pakietów UDP (zobacz tak¿e http://www.live555.com/\:mplayer).
-.
-.TP
-.B \-saveidx <nazwa\ zbioru>
-Wymusza przebudowanie indeksu i zapisuje go w zbiorze <nazwa\ zbioru>.
-Aktualnie dzia³a to tylko ze zbiorami AVI.
-.br
-.I INFORMACJA:
-Ta opcja jest przestarza³a, poniewa¿ MPlayer obs³uguje ju¿ OpenDML.
-.
-.TP
-.B \-sb <pozycja\ w\ bajtach> (zobacz tak¿e \-ss)
-Przewija do pozycji okre¶lonej w bajtach.
-Przydatne do odtwarzania z obrazów CD-ROM lub zbiorów VOB ze ¶mieciami na
-pocz±tku.
-.
-.TP
-.B \-speed <0.01\-100>
-Zwalnia lub przyspiesza odtwarzanie o wspó³czynnik podany jako parametr.
-Nie jest pewne dzia³anie z \-oac copy.
-.
-.TP
-.B \-srate <Hz>
-Wybiera czêstotliwo¶æ próbkowania, która bêdzie dalej wykorzystywana
-(oczywi¶cie karty maj± te¿ swoje ograniczenia).
-Je¿eli wybrana czêstotliwo¶æ jest inna ni¿ w obecnie przetwarzanym strumieniu,
-w wartwie d¼wiêkowej zostanie zastosowany filtr resample lub lavcresample,
-aby zniwelowaæ ró¿nicê.
-Opcja \-af\-adv steruje typem przepróbkowywania.
-Domy¶lne jest szybkie przepróbkowywanie, które mo¿e zniekszta³ciæ d¼wiêk.
-.
-.TP
-.B \-ss <czas> (zobacz tak¿e \-sb)
-Przeskakuje do podanego czasu.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-Przeskakuje do 56 sekundy.
-.IPs "\-ss 01:10:00"
-Przeskakuje do 1\ godziny i 10\ minut.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-Informuje MPlayera by nie odrzuca³ pakietów TS zg³oszonych w strumieniu jako
-b³êdne.
-Czasami potrzebne do odtworzenia uszkodzonych zbiorów MPEG-TS.
-.
-.TP
-.B \-tsprobe <ilo¶æ\ bajtów>
-Przy odtwarzaniu strumienia MPEG-TS, opcja ta pozawala podaæ jak wiele bajtów
-w strumieniu MPlayer ma przegl±daæ w poszukiwaniu ¿±danych ID audio i video.
-.
-.TP
-.B \-tsprog <1\-65534>
-Przy odtwarzaniu strumienia MPEG-TS pozwala podaæ który program (je¶li jest
-kilka) nale¿y odtwarzaæ.
-Mo¿e byæ u¿yta z \-vid i \-aid.
-.
-.TP
-.B \-tv <opcja1:opcja2:...> (tylko z TV)
-Ta opcja dostosowuje rozmaite w³a¶ciwo¶ci modu³u przechwytywania TV.
-¯eby ogl±daæ telewizjê MPlayerem podaj "tv://" lub "tv://<numer_kana³u>" albo
-nawet "tv://<nazwa_kana³u>" (jak ustawiæ <nazwê_kana³u> podaje opcja channels
-poni¿ej) jako URL filmu.
-.sp 1
-Dostêpne s± opcje:
-.RSs
-.IPs noaudio
-bez d¼wiêku
-.IPs driver=<warto¶æ>
-dostêpne sterowniki: dummy, v4l, v4l2, bsdbt848
-.IPs device=<warto¶æ>
-Podaje urz±dzenie TV (domy¶lnie: /dev/\:video0).
-.IPs input=<warto¶æ>
-Wybiera wej¶cie (domy¶lnie: 0 \- TV, lista jest wypisywana na konsoli).
-.IPs freq=<warto¶æ>
-Podaje czêstotliwo¶æ na któr± nale¿y ustawiæ tuner (np.\& 511.250).
-Nie dzia³a z parametrem channels.
-.IPs outfmt=<warto¶æ>
-Podaje format wyj¶ciowy tunera jako nazwê obs³ugiwan± przez sterownik V4L
-(yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) lub dowolny format
-okre¶lony warto¶ci± szesnastkow±.
-Je¶li chcesz poznaæ wszystkie dostêpne formaty podaj outfmt=help.
-.IPs width=<warto¶æ>
-szeroko¶æ okna wyj¶ciowego
-.IPs height=<warto¶æ>
-wysoko¶æ okna wyj¶ciowego
-.IPs fps=<warto¶æ>
-czêstotliwo¶æ przechwytywania video (ile klatek na sekundê przechwytywaæ)
-.IPs buffersize=<warto¶æ>
-maksymalny rozmiar bufora przechwytywania w megabajtach (domy¶lnie: dynamiczny)
-.IPs norm=<warto¶æ>
-bsdbt848 i v4l dopuszczaj± PAL, SECAM i NTSC.
-Lista dostêpnych standardów dla v4l2 jest wy¶wietlana na konsoli.
-Przeczytaj te¿ poni¿sz± opcjê normid.
-.IPs "normid=<warto¶æ> (tylko v4l2)"
-Ustawia standard TV z podanym numerycznym ID.
-Zale¿y on od karty przechwytywania.
-Lista standardów TV jest wypisywana przez MPlayera na konsoli.
-.IPs channel=<warto¶æ>
-Ustawia tuner na kana³ <warto¶æ>.
-.IPs chanlist=<warto¶æ>
-dostêpne: argentina, australia, china-bcast, europe-east, europe-west, france,
-ireland, italy, japan-bcast, japan-cable, newzealand, russia, southafrica,
-us-bcast, us-cable, us-cable-hrc
-.IPs channels=<kana³>\-<nazwa>,<kana³>\-<nazwa>,...
-Ustawia nazwy dla kana³ów.
-U¿ywaj _ zamiast spacji w nazwach (albo pobaw siê cudzys³owami ;-).
-Nazwy kana³ów bêd± wtedy wypisywane przez OSD, a polecenia tv_step_channel,
-tv_set_channel i tv_last_channel bêd± dostêpne z pilota (zobacz tak¿e LIRC).
-Nie dzia³a z parametrem frequency.
-.br
-.I INFORMACJA:
-Numer kana³u bêdzie pozycj± na li¶cie kana³ów, licz±c od 1.
-.br
-.I PRZYK£AD:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-Ustawia korekcjê obrazu na karcie.
-.IPs audiorate=<warto¶æ>
-Ustawia tempo bitowe przechwytywania audio.
-.IPs forceaudio
-Przechwytuje audio nawet gdy v4l nie zg³asza ¿adnych ¼róde³ audio.
-.IPs "alsa\ "
-Przechwytuje z ALSA.
-.IPs amode=<0\-3>
-Wybiera tryb audio:
-.RSss
-0: mono
-.br
-1: stereo
-.br
-2: jêzyk 1
-.br
-3: jêzyk 2
-.REss
-.IPs forcechan=<1\-2>
-Domy¶lnie, liczba zapisanych kana³ów audio jest automatycznie ustawiana
-zgodnie z ustawieniami audio karty TV.
-Ta opcja wymusza nagrywanie stereo/\:mono bez wzglêdu na opcjê amode i
-warto¶ci zwracane przez v4l.
-Przydatne je¶li karta TV nie jest w stanie zg³osiæ prawid³owego trybu audio.
-.IPs adevice=<warto¶æ>
-ustawia urz±dzenie audio
-<warto¶æ> powinna byæ /dev/\:...\& dla OSS i ID sprzêtu dla ALSA.
-Zast±p wszystkie ":" w ID sprzêtu dla ALSA na ".".
-.IPs audioid=<warto¶æ>
-Wybiera wyj¶cie audio karty, je¿eli karta ma wiêcej ni¿ jedno.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-Te opcje ustawiaj± parametry miksera karty video.
-Nie przyniesie to ¿adnych efektów, je¿eli Twoja karta go nie posiada.
-Dla v4l2 50 oznacza domy¶ln± warto¶æ przekazan± przez sterownik karty.
-.IPs immediatemode=<warto¶æ\ logiczna>
-Warto¶æ 0 oznacza przechwytywanie i buforowanie audio i video razem
-(domy¶lna dla MEncodera).
-Warto¶æ 1 (domy¶lna dla MPlayera) oznacza przechwytywanie tylko video
-i pozwolenie na przesy³anie d¼wiêku z karty TV do karty d¼wiêkowej poprzez
-kabel je ³±cz±cy.
-.IPs mjpeg
-U¿ywa sprzêtowej kompresji MJPEG (je¿eli karta ma tak± mo¿liwo¶æ).
-Gdy u¿ywasz tej opcji, nie musisz podawaæ szeroko¶ci i wysoko¶ci okna
-wyj¶ciowego, poniewa¿ MPlayer ustali je automatycznie z warto¶ci decimation
-(patrz poni¿ej).
-.IPs decimation=<1|2|4>
-wybierz rozmiar obrazu, który bêdzie skompresowany przez sprzêtow± kompresjê
-MJPEG:
-.RSss
-1: pe³ny rozmiar
- 704x576 PAL
- 704x480 NTSC
-.br
-2: ¶redni rozmiar
- 352x288 PAL
- 352x240 NTSC
-.br
-4: ma³y rozmiar
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-Wybiera jako¶æ kompresji JPEG
-(dla pe³nego rozmiaru zalecane jest < 60).
-.RE
-.
-.TP
-.B \-user <nazwa\ u¿ytkownika> (zobacz tak¿e \-passwd) (tylko sieæ)
-Podaje nazwê u¿ytkownika do uwierzytelnienia HTTP.
-.
-.TP
-.B \-user\-agent <ci±g>
-Zg³asza <ci±g> jako program u¿ytkownika (user agent) w strumieniowaniu HTTP.
-.
-.TP
-.B \-vid <ID>
-Wybiera kana³ video (MPG: 0\-15 ASF: 0\-255 MPEG-TS: 17\-8190).
-Przy odtwarzaniu strumienia MPEG-TS MPlayer/\:MEncoder u¿yje pierwszego
-(dostêpnego) programu z wybranym strumieniem video.
-.
-.TP
-.B \-vivo <sub-opcje> (KOD DEBUGOWANY)
-Wymusza parametry audio dla demuxera VIVO (do usuwania b³êdów).
-.
-.
-.
-.SH "OPCJE OSD/\:NAPISÓW"
-.I INFORMACJA:
-Zobacz tak¿e \-vf expand.
-.
-.TP
-.B \-dumpjacosub (tylko MPlayer)
-Konwertuje podane (przy pomocy opcji \-sub) napisy na oparty na czasie format
-JACOsub.
-Tworzy w bie¿±cym katalogu zbiór dumpsub.js.
-.
-.TP
-.B \-dumpmicrodvdsub (tylko MPlayer)
-Konwertuje podane (przy pomocy opcji \-sub) napisy na format
-MicroDVD.
-Tworzy w bie¿±cym katalogu zbiór dumpsub.sub.
-.
-.TP
-.B \-dumpmpsub (tylko MPlayer)
-Konwertuje podane (przy pomocy opcji \-sub) napisy na format MPlayera \- MPsub.
-Tworzy w bie¿±cym katalogu zbiór dumpsub.mpsub.
-.
-.TP
-.B \-dumpsami (tylko MPlayer)
-Konwertuje podane (przy pomocy opcji \-sub) napisy na oparty na czasie format
-SAMI.
-Tworzy w bie¿±cym katalogu zbiór dumpsub.smi
-.
-.TP
-.B \-dumpsrtsub (tylko MPlayer)
-Konwertuje podane (przy pomocy opcji \-sub) napisy na oparty na czasie format
-SubViewer (SRT).
-Tworzy w bie¿±cym katalogu zbiór dumpsub.srt.
-.
-.TP
-.B \-dumpsub (tylko MPlayer) (KOD BETA)
-Zrzuca podstrumieñ napisów ze strumieni VOB
-Zobacz tak¿e \-dump*sub i \-vobsubout*.
-.
-.TP
-.B \-ffactor <numer> (tylko OSD)
-Zmienia alphamap czcionki.
-Mo¿e byæ:
-.PD 0
-.RSs
-.IPs 0
-zwyk³a bia³a czcionka
-.IPs 0.75
-bardzo w±ski czarny zarys (domy¶lne)
-.IPs 1
-w±ski czarny zarys
-.IPs 10
-pogrubiony czarny zarys
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (tylko z FriBiDi)
-W³±cza obracanie napisów przy u¿yciu FriBiDi
-.
-.TP
-.B \-noflip\-hebrew\-commas
-Zmienia przypuszczenia FriBiDi na temat umiejscowiania przecinków w napisach.
-U¿ywaj, je¶li przecinki s± umieszczane na pocz±tku zdania zamiast na koñcu.
-.
-.TP
-.B \-font <¶cie¿ka\ do\ zbioru\ font.desc> (tylko OSD)
-Szuka czcionek OSD/\:SUB w innym katalogu (domy¶lny dla zwyk³ych czcionek:
-~/\:.mplayer/\:font/\:font.desc, dla czcionek FreeType:
-~/\:.mplayer/\:subfont.ttf).
-.br
-.I INFORMACJA:
-Z FreeType, ta opcja ustala ¶cie¿kê do zbioru czcionki tekstowej.
-Z fontconfig, ta opcja podaje nazwê czcionki wg fontconfig.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font "Bitstream Vera Sans"
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (tylko z fontconfig)
-W³±cza stosowanie czcionek zarz±dzanych przez fontconfig.
-.
-.TP
-.B \-forcedsubsonly
-Wy¶wietla tylko wymuszone napisy ze strumienia napisów DVD wybranego przez
-np.\& \-slang.
-.
-.TP
-.B \-fribidi\-charset <nazwa\ zestawu> (tylko z FriBiDi)
-Ustala zestaw znaków który zostanie przekazany do FriBiDi przy dekodowaniu
-napisów w innym formacie ni¿ UTF-8 (domy¶lnie: ISO8859\-8).
-.
-.TP
-.B \-ifo <zbior\ ifo\ VOBsub>
-Wskazuje zbiór u¿ywany do za³adowania palety i wielko¶ci ramki napisów VOBsub.
-.
-.TP
-.B \-noautosub
-Wy³±cza automatyczne ³adowanie napisów.
-.
-.TP
-.B \-osdlevel <0\-3> (tylko MPlayer)
-wskazuje tryb, w którym powinien w³±czyæ siê OSD
-.PD 0
-.RSs
-.IPs 0
-tylko napisy
-.IPs 1
-g³o¶no¶æ + szukanie (domy¶lne)
-.IPs 2
-g³o¶no¶æ + szukanie + zegar + procent
-.IPs 3
-g³o¶no¶æ + szukanie + zegar + procent + ca³kowity czas
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-Pozwala na wy¶wietlenie nastêpnego napisu gdy poprzedni jest wci±¿ widoczny
-(domy¶lnie: w³±cza tylko dla niektórych formatów).
-.
-.TP
-.B \-sid <ID> (zobacz tak¿e \-slang, \-vobsubid)
-Wy¶wietla napisy ze strumienia okre¶longo przez <ID> (0\-31).
-MPlayer wy¶wietli dostêpne identyfikatory, je¶li jest uruchomiony w trybie
-gadatliwym (\-v).
-Je¶li nie mo¿esz wybraæ napisów na DVD, wypróbuj \-vobsubid.
-.
-.TP
-.B \-slang <kod\ jêzyka[,kod\ jêzyka,...]> (zobacz tak¿e \-sid)
-Okre¶la priorytetow± listê jêzyków, w których napisy maj± byæ wy¶wietlane.
-Ró¿ne formaty u¿ywaj± ró¿nych kodów.
-DVD korzysta z dwuliterowych w standardzie ISO 639\-1, Matroska operuje na
-trzyliterowych ISO 639\-2, a OGM korzysta z dowolnego identyfikatora.
-MPlayer wy¶wietli dostêpne jêzyki,
-je¶li jest uruchomiony w trybie gatatliwym (\-v).
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang pl,en"
-Wybiera polskie napisy na DVD a je¶li nie s± dostêpne to angielskie.
-.IPs "mplayer \-slang jpn example.mkv"
-Odtwarza plik typu Matroska z japoñskimi napisami.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <tryb> (tylko z OSD)
-Ustala tryb wyg³adzania/\:skalowania dla DVD/\:VOBsub.
-Dodanie do trybu warto¶ci 16 wymusza skalowanie nawet gdy wielko¶ci
-oryginalnego i przeskalowanego okna s± takie same.
-Mozna to wykorzystaæ by np.\& wyg³adziæ napisy rozmyciem gaussa.
-Dostêpne s± tryby:
-.PD 0
-.RSs
-.IPs 0
-brak (najszybszy, bardzo brzydki)
-.IPs 1
-przybli¿ony (zepsuty?)
-.IPs 2
-pe³ny (wolny)
-.IPs 3
-dwuliniowy (domy¶lny, szybki i nienajgorszy)
-.IPs 4
-rozmycie Gaussa (bardzo ³adne)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2> (tylko OSD)
-Ustala jak powinny byæ wyrównane napisy SPU (DVD/\:VOBsub).
-.PD 0
-.RSs
-.IPs "\-1"
-oryginalna pozycja
-.IPs " 0"
-Wyrównaj na górze (oryginalne/\:domy¶lne zachowanie).
-.IPs " 1"
-Wyrównaj na ¶rodku.
-.IPs " 2"
-Wyrównaj na dole.
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0> (tylko OSD)
-Ustawia poziom rozmycia Gaussa przy korzystaniu z \-spuaa 4.
-Wy¿szy oznacza wiêksze rozmycie (domy¶lnie: 1.0).
-.
-.TP
-.B \-sub <zbiórnapisów1,zbiórnapisów2,...>
-U¿ywa/\:wy¶wietla te zbiory napisów.
-Tylko jeden zbiór mo¿e wyæ wy¶wietlany w danej chwili.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-Ustawia warto¶æ kana³u alfa dla napisów i t³a OSD.
-Wiêksze warto¶ci oznaczaj± wiêksz± przezroczysto¶æ.
-0 oznacza pe³n± przezroczysto¶æ.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-Ustawia kolor t³a napisów i OSD.
-Obecnie napisy s± w skali szaro¶ci, wiêc jest to odpowiednik nasycenia koloru.
-Warto¶æ 255 oznacza biel a 0 czerñ.
-.
-.TP
-.B \-sub\-demuxer <[+]nazwa> (tylko \-subfile) (KOD BETA)
-Wymusza typ demuxera napisów dla \-subfile.
-U¿ycie "+" przed nazw± wymusza j±, wy³±cza to niektóre testy.
-Podaj nazwê demuksera wypisan± przez \-audio\-demuxer help.
-Dla kompatybilno¶ci z poprzednimi wersjami akceptuje te¿
-ID demuxera zdefiniowane w zbiorze libmpdemux/\:demuxer.h.
-.
-.TP
-.B \-sub\-fuzziness <tryb>
-Dostosowuje niedok³adno¶æ dopasowywania przy szukaniu napisów:
-.PD 0
-.RSs
-.IPs 0
-dok³adne dopasowanie
-.IPs 1
-Wczytaj wszystkie napisy zawieraj±ce nazwê filmu.
-.IPs 2
-Wczytaj wszystkie napisy z aktualnego katalogu.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-Wy³±cza wszelkie przetwarzanie tekstu po wczytaniu napisów.
-Stosowane w celach wy³apywania b³êdów.
-.
-.TP
-.B \-subalign <0\-2> (tylko OSD)
-Ustala jak napisy powinny byæ wyrównane do \-subpos.
-.PD 0
-.RSs
-.IPs 0
-wyrównywanie górnej krawêdzi (pocz±tkowe/\:domy¶lne zachowanie)
-.IPs 1
-wyrównywanie ¶rodka
-.IPs 2
-wyrównywanie dolnej krawêdzi.
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-Wy¶wietla napisy DVD Closed Caption (CC).
-To
-.B nie
-s± napisy VOB, s± to specjalne napisy ASCII dla nies³ysz±cych
-zakodowane w strumieniu danych u¿ytkownika VOB na wiêkszo¶ci DVD z regionu 1.
-Jak dot±d niespotykane na DVD z innych regionów.
-.
-.TP
-.B \-subcp <strona\ kodowa> (tylko iconv)
-Je¶li Twój system obs³uguje iconv(3), mo¿esz u¿yæ tej opcji by ustaliæ stronê
-kodow± napisów.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<jêzyk>:<strona powrotna> (tylko ENCA)
-Okre¶la jêzyk stosuj±c dwuliterowy kod, by ENCA mog³a wykryæ
-stronê kodow± automatycznie.
-Je¿eli nie jeste¶ pewien, podaj cokolwiek i przejrzyj wyj¶cie mplayer \-v
-pod k±tem dostêpnych jêzyków.
-Powrotna strona kodowa okre¶la jak± stronê stosowaæ,
-jesli autodetekcja zawiedzie.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-Odgadnij kodowanie, zak³adaj±c ¿e napisy s± po czesku, je¿eli siê nie uda,
-powróæ do latin 2.
-.IPs "\-subcp enca:pl:cp1250"
-Odgadnij kodowanie dla polskiego, je¿eli siê nie uda, powróæ do cp1250.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <sek>
-Opó¼nienie napisów o <sek> sekund.
-Mo¿e byæ ujemne.
-.
-.TP
-.B \-subfile <filename> (KOD BETA)
-Aktualnie bezu¿yteczne.
-To samo co \-audiofile, ale dla strumieni napisów (OggDS?).
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (tylko z obs³ug± FreeType)
-Ustawia tryb autoskalowania.
-.br
-.I INFORMACJA:
-0 oznacza, ¿e text scale i OSD scale s± wysoko¶ci± czcionki w punktach.
-.sp 1
-Mo¿e byæ:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-bez automatycznego skalowania
-.IPs 1
-proporcjonalny do wysoko¶ci filmu
-.IPs 2
-proporcjonalny do szeroko¶ci filmu
-.IPs 3
-proporcjonalny do przek±tnej filmu (domy¶lne)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (tylko FreeType)
-Ustawia promieñ rozmycia czcionki (domy¶lnie: 2).
-.
-.TP
-.B \-subfont\-encoding <warto¶æ> (tylko FreeType)
-Ustawia kodowanie czcionki.
-Warto¶æ "unicode" oznacza, ¿e bêd± wy¶wietlane wszystkie znaki ze zbioru i
-bêdzie u¿ywany unicode (domy¶lnie: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (tylko FreeType)
-Ustawia wspó³czynnik automatycznego skalowania elementów OSD (domy¶lnie: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (tylko FreeType)
-Ustawia grubo¶æ linii zewnêtrznej czcionki (domy¶lnie: 2)
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (tylko FreeType)
-Ustawia wska¼nik automatycznego skalowania napisów jako procent rozmiaru ekranu
-(domy¶lnie: 5).
-.
-.TP
-.B \-subfps <tempo>
-Ustawia prêdko¶æ (w klatkach/\:sek) zbioru napisów (domy¶lnie: jak w filmie).
-.br
-.I INFORMACJA:
-Tylko dla zbiorów opartych na klatkach np.\& format MicroDVD.
-.
-.TP
-.B \-subpos <0\-100> (przydatne przy \-vf expand) (tylko z OSD)
-Ustawia pozycjê napisów na ekranie.
-Jest to pozioma pozycja napisów w % wysoko¶ci ekranu.
-.
-.TP
-.B \-subwidth <10\-100> (tylko z OSD)
-Okre¶la maksymaln± szeroko¶æ napisów na ekranie.
-Przydatne przy wyj¶ciu TV.
-Jest to szeroko¶æ napisów w % szeroko¶ci ekranu.
-.
-.TP
-.B \-unicode
-Informuje MPlayera by przetwarza³ zbiór napisów jako unicode.
-.
-.TP
-.B "\-utf8 \ \ "
-Informuje MPlayera by przetwarza³ zbiór napisów jako UTF-8.
-.
-.TP
-.B \-vobsub <zbiór\ VOBsub\ bez\ rozszerzenia>
-Okre¶la zbiory VOBsub z napisami.
-Jest to pe³na ¶cie¿ka do zbioru bez rozszerzenia, tj.\& bez ".idx", ".ifo" lub
-".sub".
-.
-.TP
-.B \-vobsubid <0\-31>
-Okre¶la ID napisów VOBsub.
-.
-.
-.
-.SH "OPCJE WYJ¦CIA AUDIO (TYLKO MPLAYER)"
-.
-.TP
-.B \-abs <warto¶æ> (tylko \-ao oss) (PRZESTARZA£E)
-Zmienia wykryt± wielko¶æ bufora sterownika audio/\:karty.
-.
-.TP
-.B \-format <format> (zobacz tak¿e filtr d¼wiêkowy "format")
-Wybiera format próbki u¿ywany przez wyj¶ciu warstwy filtrów d¼wiêkowych
-na kartê d¼wiêkow±.
-Warto¶ci, które mo¿e przyj±æ <format> s± wymienione poni¿ej w opisie
-filtry d¼wiêkowego "format".
-.
-.TP
-.B \-mixer <urz±dzenie>
-Korzysta z miksera innego ni¿ domy¶lny /dev/\:mixer.
-Przy ALSA jest to nazwa miksera.
-.
-.TP
-.B \-mixer\-channel <linia miksera>[, indeks miksera] (tylko \-ao oss i \-ao alsa)
-Ta opcja mówi MPlayerowi, ¿eby u¿y³ innego kana³u do sterowania g³o¶no¶ci± ni¿
-domy¶lne PCM.
-Czê¶æ mo¿liwo¶ci dla OSS to
-.B vol, pcm, line.
-¯eby znale¼æ pe³n± listê mo¿liwo¶ci poszukaj SOUND_DEVICE_NAMES w
-/usr/\:include/\:linux/\:soundcard.h.
-Dla ALSA mo¿esz u¿yæ nazw, które, na przyk³ad, pokazuje alsamixer, jak
-.B Master, Line, PCM.
-.br
-.I INFORMACJA:
-Nazwy kana³ów miksera ALSA z do³±czonym numerem musz± byæ zapisane w formacie
-<nazwa, numer>, np.\& kana³ nazwany 'PCM 1' w alsamixer musi byæ zamieniony na
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-Wymusza u¿ycie programowego miksera, zamiast tego w karcie d¼wiêkowej.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-Ustawia maksymalny poziom wzmocnienia w procentach (domy¶lnie: 110).
-Warto¶æ 200 pozwoli na podniesienie g³o¶no¶ci do maksimum dwukrotno¶ci
-aktualnego poziomu.
-Przy warto¶ciach poni¿ej 100 pocz±tkowa g³o¶no¶æ (wynosz±ca 100%)
-bêdzie powy¿ej maksimum, czego np.\& OSD nie potrafi prawid³owo wy¶wietliæ.
-.
-.TP
-.B \-volstep <0\-100>
-Ustala wielko¶æ zmiany przy ustawianiu poziomu d¼wiêku miksera (w procentach
-ca³ego zakresu) (domy¶lnie: 3).
-.
-.
-.
-.SH "STEROWNIKI WYJ¦CIOWE D¬WIÊKU (TYLKO MPLAYER)"
-Sterowniki wyj¶cia d¼wiêku to interfejsy do ró¿nych urz±dzeñ wyj¶ciowych
-audio.
-Sk³adnia jest nastêpuj±ca:
-.
-.TP
-.B \-ao <sterownik1[:podopcja1[=warto¶æ]:...],sterownik2,...[,]>
-Okre¶la prirytetow± listê sterowników wyj¶cia audio.
-.PP
-Je¿eli lista koñczy siê przecinkiem, MPlayer powróci do sterowników
-niezawartych w wierszu poleceñ.
-Podopcje s± opcjonalne i przewa¿nie mog± byæ pominiête.
-.br
-.I INFORMACJA:
-Opcja \-vo help poka¿e listê wkompilowanych sterowników wyj¶cia audio.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-Spróbuje u¿yæ sterownika ALSA, pó¼niej OSS a potem pozosta³ych.
-.IPs "\-ao alsa:mmap:noblock:device=hw=0.3"
-Ustawia tryb noblock, tryb mmap-mode i nazwê urz±dzenia jako pierwsza karta,
-czwarte urz±dzenie
-.RE
-.PD 1
-.sp 1
-Dostêpne sterowniki wyj¶ciowe audio:
-.
-.TP
-.B "alsa\ \ \ "
-sterownik ALSA 0.9/\:1.x
-.PD 0
-.RSs
-.IPs "mmap\ \ \ "
-Ustawia eksperymentalny tryb mmap (mmap-mode) (nie dzia³a dla wiêcej ni¿ 2 kana³ów).
-.IPs noblock
-Ustawia tryb noblock (noblock-mode).
-.IPs device=<urz±dzenie>
-Ustawia nazwê urz±dzenia.
-Zamiast "," w nazwie urz±dzenia ALSA wstaw ".", a zamiast ":" wstaw "=".
-Upewnij siê ¿e nie ustawiasz tego je¶li chcesz uzyskaæ wyj¶cie w formacie hwac3
-poprzez S/PDIF, chyba ¿e dobrze wiesz jak to prawid³owo ustawiæ.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-sterownik ALSA 0.5
-.
-.TP
-.B "oss\ \ \ \ "
-sterownik OSS
-.PD 0
-.RSs
-.IPs dsp-device
-Ustawia urz±dzenie wyj¶ciowe d¼wiêku (domy¶lnie: /dev/\:dsp).
-.RE
-.PD 1
-.
-.TP
-.B "sdl\ \ \ \ "
-sterownik dla biblioteki wysoce niezale¿nej od platformy \- SDL (Simple
-Directmedia Layer)
-.PD 0
-.RSs
-.IPs <sterownik>
-Okre¶la, jaki sterownik d¼wiêku ma zostaæ u¿yty przez SDL (domy¶lnie: SDL wybiera).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-przekazuje d¼wiêk przez demona aRts
-.
-.TP
-.B "esd\ \ \ \ "
-przekazuje d¼wiêk przez demona ESD
-.PD 0
-.RSs
-.IPs <serwer>
-Okre¶la jaki serwer ESD ma zostaæ u¿yty (domy¶lnie: localhost).
-.RE
-.PD 1
-
-.
-.TP
-.B "jack\ \ \ \ "
-przekazuje d¼wiêk przez JACK (Jack Audio Connection Kit)
-.PD 0
-.RSs
-.IPs port=<nazwa>
-£±czy siê z portami o podanej nazwie (domy¶lnie: porty fizyczne).
-.IPs name=<nazwa klienta>
-Nazwa klienta przekazywana do JACK (domy¶lnie: MPlayer [<PID>]).
-Przydatne, je¶li chcesz by pewne po³±czenia by³y nawi±zywane automatycznie.
-.IPs (no)estimate
-Ocenia opó¼nienie audio, powinno dawaæ równiejsze odtwarzanie video
-(domy¶lnie: w³±czone).
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-przekazuje d¼wiêk przez NAS
-.
-.TP
-.B coreaudio (tylko Mac OS X)
-rdzenny sterownik Mac OS X
-.
-.TP
-.B sgi (tylko SGI)
-rdzenny sterownik SGI
-.
-.TP
-.B sun (tylko Sun)
-rdzenny sterownik Sun
-.PD 0
-.RSs
-.IPs <urz±dzenie>
-Okre¶la, jakie urz±dzenie audio ma zostaæ u¿yte (domy¶lnie: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (tylko Windows)
-rdzenny sterownik waveout Windows
-.
-.TP
-.B dsound (tylko Windows)
-sterownik wyj¶cia d¼wiêkowego Directx DirectSound
-.PD 0
-.RSs
-.IPs device=<numer\ urz±dzenia>
-Okre¶la numer u¿ywanego urz±dzenia.
-Odtwarzanie pliku z opcj± \-v wy¶wietli wszystkie dostêpne urz±dzenia.
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (zobacz tak¿e \-dxr2) (tylko DXR2)
-specyficzny sterownik Creative DXR2
-.
-.TP
-.B mpegpes (tylko DVB)
-specyficzny sterownik DVB
-.
-.TP
-.B "null\ \ \ "
-Nie przekazuje d¼wiêku, ale utrzymuje prêdko¶æ odtwarzania video.
-Do testów wydajno¶ciowych u¿yj \-nosound.
-.
-.TP
-.B "pcm\ \ \ \ "
-sterownik wyj¶ciowy zapisuj±cy dane w surowych (raw) plikach PCM/\:wave
-.PD 0
-.RSs
-.IPs (no)waveheader
-Do³±cza lub pomija nag³ówek wave (domy¶lnie: do³±cza).
-Je¿eli nie jest do³±czony, zostanie wygenerowane surowe wyj¶cie PCM.
-.IPs file=<nazwa\ pliku>
-Zapisuje d¼wiêk do <nazwa\ pliku> zamiast domy¶lnego audiodump.wav.
-Je¿eli okre¶lono parametr nowaveheader, domy¶lnym zbiorem wyj¶ciowym jest
-audiodump.pcm.
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-sterownik wyj¶ciowy wtyczki
-.
-.
-.
-.SH "OPCJE WYJ¦CIA VIDEO (TYLKO MPLAYER)"
-.
-.TP
-.B \-adapter <warto¶æ>
-Ustawia kartê graficzn±, która otrzyma obraz.
-Do poprawnego dzia³ania wymaga opcji \-vm.
-Listê dostêpnych kart otrzymasz stosuj±c tê opcjê z \-v.
-Obecnie dzia³a tylko ze sterownikiem wyj¶cia video directx.
-.
-.TP
-.B \-bpp <g³êbia>
-Wymusza inn± g³êbiê kolorów ni¿ wykryta.
-Obs³ugiwane tylko przez sterowniki wyj¶cia video fbdev, dga, svga i vesa.
-.
-.TP
-.B \-brightness <\-100\-100>
-Modyfikuje jasno¶æ wyj¶cia video (domy¶lnie: 0).
-Nie wszystkie sterowniki wyj¶cia video to obs³uguj±.
-.
-.TP
-.B \-contrast <\-100\-100>
-Modyfikuje kontrast wyj¶cia video (domy¶lnie: 0).
-Nie wszystkie sterowniki wyj¶cia video to obs³uguj±.
-.
-.TP
-.B \-display <nazwa> (tylko X11)
-Podaje nazwê komputera i numer wy¶wietlacza serwera X, na którym chcesz
-wy¶wietlaæ.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-W³±cz bezpo¶rednie renderowanie (obs³ugiwane nie przez wszystkie kodeki i
-wyj¶cia video)
-.br
-.I UWAGA:
-Mo¿e powodowaæ popsucie OSD/\:SUB!
-.
-.TP
-.B \-dxr2 <opcja1:opcja2:...>
-Ta opcja jest u¿ywana do kontroli sterownika wyj¶cia video dxr2.
-.RSs
-.IPs ar-mode=<warto¶æ>
-tryb proporcji (aspect ratio) (0 = normalny, 1 = panoramiczny, 2 = letterbox (domy¶lne))
-.IPs iec958-encoded
-Ustawia tryb wyj¶cia iec958 na zakodowany.
-.IPs iec958-decoded
-Ustawia tryb wyj¶cia iec958 na zdekodowany (domy¶lne).
-.IPs macrovision=<warto¶æ>
-tryb macrovision (0 = wy³±czone (domy¶lne), 1 = agc, 2 = agc 2 colorstripe
-3 = agc 4 colorstripe)
-.IPs "mute\ "
-wycisza d¼wiêk
-.IPs unmute
-wy³±cza wyciszenie d¼wiêku
-.IPs ucode=<warto¶æ>
-¶cie¿ka do microcode
-.RE
-.RS
-.sp 1
-.I wyj¶cie TV
-.RE
-.RSs
-.IPs 75ire
-w³±cza wyj¶cie 7.5 IRE
-.IPs no75ire
-wy³±cza wyj¶cie 7.5 IRE (domy¶lne)
-.IPs "bw\ \ \ "
-czarno/\:bia³e wyj¶cie TV
-.IPs color
-kolorowe wyj¶cie TV (domy¶lne)
-.IPs interlaced
-w³±cza wyj¶cie TV z przeplotem (domy¶lne)
-.IPs nointerlaced
-wy³±cza wyj¶cie TV z przeplotem
-.IPs norm=<warto¶æ>
-norma TV (ntsc (domy¶lna), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-ustawia tryb kwadratowy piksela
-.IPs ccir601-pixel
-ustawia tryb ccir601 piksela
-.RE
-.RS
-.sp 1
-.I nak³adka (Overlay)
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-Ustawia warto¶æ obcinania z lewej (domy¶lnie: 50).
-.IPs cr-right=<0\-500>
-Ustawia warto¶æ obcinania z prawej (domy¶lnie: 300).
-.IPs cr-top=<0\-500>
-Ustawia warto¶æ obcinania z góry (domy¶lnie: 0).
-.IPs cr-bottom=<0\-500>
-Ustawia warto¶æ obcinania z do³u (domy¶lnie: 0).
-.IPs ck-[r|g|b]=<0\-255>
-Ustawia czerwony (r), zielony (g) lub niebieski (b) kolor klucza nak³adki.
-.IPs ck-[r|g|b]min=<0\-255>
-minimalna warto¶æ odpowiedniego klucza koloru
-.IPs ck-[r|g|b]max=<0\-255>
-maksymalna warto¶æ odpowiedniego klucza koloru
-.IPs ignore-cache
-Nie u¿ywa zapamiêtanych ustawieñ nak³adki.
-.IPs update-cache
-Uaktualnia zapisane ustawienia nak³adki.
-.IPs ol-osd
-W³±cza osd w nak³adce.
-.IPs nool-osd
-Wy³±cza osd w nak³adce (domy¶lne).
-.IPs ol[h|w|x|y]-cor=<\-20\-20>
-Modyfikuje rozmiar (h,w) i pozycjê (x,y) nak³adki w przypadku gdy nie pasuje
-ona do okna (domy¶lnie: 0).
-.IPs overlay
-W³±cza nak³adkê (domy¶lne)
-.IPs nooverlay
-W³±cza TVout.
-.IPs overlay-ratio=<1\-2500>
-Dostosowuje nak³adkê (domy¶lnie: 1000).
-.RE
-.
-.TP
-.B \-fbmode <nazwa\ trybu> (tylko \-vo fbdev)
-Zmienia tryb video na opisany etykiet± <nazwa trybu> w /etc/\:fb.modes.
-.br
-.I INFORMACJA:
-Bufor ramek VESA nie obs³uguje zmieniania trybu.
-.
-.TP
-.B \-fbmodeconfig <nazwa\ zbioru> (tylko \-vo fbdev)
-U¿ywa podanego zbioru konfiguracyjnego (domy¶lnie: /etc/\:fb.modes).
-.
-.TP
-.B \-fs (zobacz tak¿e \-zoom)
-Odtwarzanie pe³noekranowe (film w centrum i czarne obramowanie wokó³ niego).
-Nie wszystkie sterowniki wyj¶cia video to obs³uguj±.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (PRZESTARZA£E, u¿ywaj opcji \-fs)
-Wypróbuj tê opcjê, je¿eli masz problemy z trybem pe³noekranowym.
-.
-.TP
-.B \-fstype <typ1,typ2,...>
-Okre¶la priorytetow± listê trybów ustawieñ u¿ywanej warstwy pe³noekranowej.
-Mo¿esz wy³±czyæ tryb poprzedzaj±c go "\-".
-Je¶li masz k³opoty typu okno pe³noekranowe jest przykryte przez inne okna
-wypróbuj inn± kolejno¶æ.
-.br
-.I INFORMACJA:
-\-fstype help wy¶wietla pe³n± listê dostêpnych trybów.
-.sp 1
-Dostêpne s± typy:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-U¿ywa zalecenia _NETWM_STATE_ABOVE je¶li jest to mo¿liwe.
-.IPs below
-U¿ywa zalecenia _NETWM_STATE_BELOW je¶li jest to mo¿liwe.
-.IPs fullscreen
-U¿ywa zalecenia _NETWM_STATE_FULLSCREEN je¶li jest to mo¿liwe.
-.IPs layer
-U¿ywa zalecenia _WIN_LAYER z domy¶ln± warstw±.
-.IPs layer=<0...15>
-U¿ywa zalecenia _WIN_LAYER z numerem warstwy.
-.IPs netwm
-Wymusza styl NETWM.
-.IPs "none\ "
-Nie u¿ywa warstwy pe³noekranowej.
-.IPs stays_on_top
-U¿ywa zalecenia _NETWM_STATE_STAYS_ON_TOP je¶li jest to mo¿liwe.
-.REss
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-Domy¶lna kolejno¶æ, bêdzie u¿yta w przypadku podania nieprawid³owych lub
-nieobs³ugiwanych typów.
-.IPs \-fullscreen
-Naprawia prze³±czanie pe³nego ekrany na OpenBox 1.x.
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] lub [WxH][+x+y]
-Ustawia gdzie na ekranie ma siê pocz±tkowo znajdowaæ wyj¶cie.
-Wielko¶ci x i y mierzone s± w pikselach od lewego górnego rogu ekranu do
-lewego górnego rogu wy¶wietlanego obrazu, je¿eli jednak po argumencie podany
-jest procent, to jest on traktowany jak procent wielko¶ci ekranu w danym
-kierunku.
-Obs³uguje to tak¿e standardowy format opcji \-geometry z X11.
-Je¶li przy pomocy opcji \-wid podano zewnêtrzne okno to wspó³rzêdne x i y s±
-liczone wzglêdem lewego górnego rogu tego okna a nie ekranu.
-.br
-.I INFORMACJA:
-Ta opcja jest obs³ugiwana tylko przez sterowniki wyj¶cia video x11, xmga, xv,
-xvmc, xvidix, gl, gl2, directx i tdfxfb.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs 50:40
-Umieszcza okno w x=50, y=40
-.IPs 50%:50%
-Umieszcza okno na ¶rodku ekranu
-.IPs "100%\ "
-Umieszcza okno w ¶roku prawej krawêdzi ekranu
-.IPs 100%:100%
-Umieszcza okno w prawym dolnym rogu ekranu
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <ID\ okna> (zobacz tak¿e \-wid) (tylko z GUI)
-Przekazuje do GUI, ¿e ma ono równie¿ u¿ywaæ okna X11 i przykleiæ je na dole
-ekranu video, co jest przydatne by osadziæ mini-GUI w przegl±darce
-(u¿ywaj±cej na przyk³ad wtyczki MPlayer).
-.
-.TP
-.B \-hue <\-100\-100>
-Modyfikuje barwê sygna³u video (domy¶lnie: 0).
-Dziêki tej opcji mo¿esz otrzymaæ kolorowy negatyw obrazu.
-Nie wszystkie sterowniki wyj¶cia video to obs³uguj±.
-.
-.TP
-.B \-monitor\-dotclock <zakres[,zakres,...]> (tylko \-vo fbdev i vesa)
-Okre¶la zakres dotclock lub pixelclock monitora.
-.
-.TP
-.B \-monitor\-hfreq <zakres[,zakres,...]> (tylko \-vo fbdev i vesa)
-Okre¶la zakres czêstotliwo¶ci poziomej monitora.
-.
-.TP
-.B \-monitor\-vfreq <zakres[,zakres,...]> (tylko \-vo fbdev i vesa)
-Okre¶la zakres czêstotliwo¶ci pionowej monitora.
-.
-.TP
-.B \-monitoraspect <stosunek> (zobacz tak¿e \-aspect)
-Ustawia proporcje Twojego monitora lub ekranu TV.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-\-monitoraspect 4:3 lub 1.3333
-.br
-\-monitoraspect 16:9 lub 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-nodouble
-Wy³±cza podwójne buforowanie, g³ównie do celów debugowania.
-Podwójne buforowanie eliminuje migotanie dziêki przechowywaniu dwóch ramek
-w pamiêci i wy¶wietlaniu jednej, podczas gdy druga jest dekodowana.
-Mo¿e mieæ to negatywny wp³yw na OSD, ale czêsto usuwa jego migotanie.
-.
-.TP
-.B \-nograbpointer
-Nie przechwytuje kursora muszki po zmianie trybu video (\-vm).
-Przydatne przy ustawieniach wieloekranowych.
-.
-.TP
-.B \-nokeepaspect
-Nie utrzymuje proporcji, gdy zmieniany jest rozmiar okna.
-Dzia³a obecnie tylko ze sterownikami wyj¶cia video x11, xv, xmga, xvidix oraz
-directx.
-Dodatkowo, pod X11 Twój manager okien musi rozumieæ zalecenia proporcji okna.
-.
-.TP
-.B "\-ontop\ "
-Sprawia, ¿e okno zostaje nad innymi oknami.
-Obs³ugiwane przez sterowniki wyj¶cia video u¿ywaj±ce X11, poza SDL
-oraz directx, corevideo, quartz, ggi i gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-W³±cza tryb panoramiczny (obcina boki filmu np.\& 16:9 tak, by pasowa³ na
-ekran 4:3 bez czarnych pasków).
-Zasiêg kontroluje jak du¿a czê¶æ obrazu bêdzie przyciêta.
-Dzia³a tylko ze sterownikami wyj¶cia video xv, xmga, mga, gl, quartz, corevideo i xvidix.
-.
-.TP
-.B \-refreshrate <Hz>
-Ustawia czêstotliwo¶æ od¶wie¿ania monitora.
-Obecnie opcja ta jest obs³ugiwana tylko przez \-vo directx razem z \-vm.
-.
-.TP
-.B \-rootwin
-Odtwarza film w g³ównym oknie (t³o pulpitu).
-Jednak obrazki t³a na pulpicie mog± przes³aniaæ okno filmu.
-Dzia³a tylko ze sterownikami wyj¶cia video x11, xv, xmga, xvidix, quartz, corevideo i directx.
-.
-.TP
-.B \-saturation <\-100\-100>
-Modyfikuje nasycenie sygna³u wyj¶cia video (domy¶lnie: 0).
-Dziêki tej opcji mo¿na uzyskaæ obraz w skali szaro¶ci.
-Nie wszystkie sterowniki wyj¶cia video to obs³uguj±.
-.
-.TP
-.B \-screenh <piksele>
-Podaje pionow± rozdzielczo¶æ ekranu dla sterowników wyj¶cia video które nie
-znaj± rozdzielczo¶ci ekranu, jak fbdev, x11 i TVout.
-.
-.TP
-.B \-screenw <piksele>
-Podaje poziom± rozdzielczo¶æ ekranu dla sterowników wyj¶cia video które nie
-znaj± rozdzielczo¶ci ekranu, jak fbdev, x11 i TVout.
-.
-.TP
-.B \-stop\-xscreensaver (tylko X11)
-Wy³±cza wygaszacz ekranu przy starcie i w³±cza go ponownie podczas wychodzenia.
-.
-.TP
-.B "\-vm \ \ \ "
-Próbuje zmieniæ na inny tryb video.
-Obs³ugiwane przez sterowniki wyj¶cia video dga, x11, xv, sdl i directx.
-Je¿eli jest ona u¿yta ze sterownikiem wyj¶cia video directx, opcje \-screenw,
-\-screenh, \-bpp i \-refreshrate mog± ustawiæ nowy tryb wy¶wietlania.
-.
-.TP
-.B "\-vsync \ \ "
-W³±cza VBI dla sterowników wyj¶cia video vesa, dfbmga i svga.
-.
-.TP
-.B \-wid <ID\ okna> (zobacz tak¿e \-guiwid) (tylko X11, OpenGL i DirectX)
-Przekazuje MPlayerowi, by do³±czy³ siê do instniej±cego okna.
-Przydatne, by osadziæ MPlayera w przegl±darce (na przyk³ad za pomoc± wtyczki).
-.
-.TP
-.B \-xineramascreen <0\-...>
-W konfiguracjach Xinerama (tj.\& pojedynczy pulpit obejmuj±cy wiele ekranów)
-opcja ta przeka¿e MPlayerowi na którym ekranie ma wy¶wietlaæ film.
-.
-.TP
-.B \-zrbw (tylko \-vo zr)
-Wy¶wietla czarno-bia³y obraz.
-Dla optymalnego dzia³ania opcja ta mo¿e byæ ³±czona z "\-lavdopts gray".
-.
-.TP
-.B \-zrcrop <[szeroko¶æ]x[wyskoko¶æ]+[x offset]+[y offset]> (tylko \-vo zr)
-Wybiera partie obrazu wej¶ciowego do odtwarzania, wielokrotne wyst±pienie tej
-opcji w³±cza tryb cinerama.
-W trybie cinerama film jest rozdzielany na wiêcej ni¿ jeden TV (lub rzutnik)
-by stworzyæ du¿y ekran.
-Opcje pojawiaj±ce siê po zastosowaniu n-tego \-zrcrop dotycz± n-tej karty
-MJPEG, z których ka¿da powinna mieæ co najmniej \-zrdev poza \-zrcrop.
-Przyk³ady s± w sekcji Zr dokumentacji oraz s± pokazywane przez opcjê \-zrhelp.
-.
-.TP
-.B \-zrdev <urz±dzenie> (tylko \-vo zr)
-Okre¶la zbiór urz±dzenia nale¿±cy do Twojej karty MJPEG, domy¶lnie sterownik
-ten bierze pierwsze urz±dzenie v4l które znajdzie.
-.
-.TP
-.B \-zrfd (tylko \-vo zr)
-Wymusza dziesi±tkowanie (decimation): Dziesi±tkowanie, okre¶lone przez \-zrhdec
-i \-zrvdec, nastêpuje tylko, gdy sprzêt skaluj±cy potrafi rozci±gn±æ obraz do
-jego oryginalnych rozmiarów.
-Ta opcja wymusza dziesi±tkowania.
-.
-.TP
-.B \-zrhdec <1|2|4> (tylko \-vo zr)
-Poziome dziesi±tkowanie (decimation): Informuje sterownik by przekazywa³ tylko
-co 2-g± lub 4-t± liniê/\:piksel obrazu do karty MJPEG i u¿y³ urz±dzenia
-skaluj±cego karty do rozci±gniêcia obrazu do jego oryginalnych rozmiarów.
-.
-.TP
-.B \-zrhelp (tylko \-vo zr)
-Wy¶wietla listê wszystkich opcji \-zr*, ich warto¶ci domy¶lne oraz przyk³ad
-trybu cinerama.
-.
-.TP
-.B \-zrnorm <norma> (tylko \-vo zr)
-Wybiera normê TV PAL lub NTSC (domy¶lnie: nie zmieniaæ).
-.
-.TP
-.B \-zrquality <1\-20> (tylko \-vo zr)
-Liczba od 1 (najlepsza) do 20 (najgorsza) okre¶laj±ca jako¶æ kodowania JPEG.
-.
-.TP
-.B \-zrvdec <1|2|4> (tylko \-vo zr)
-Pionowe dziesi±tkowanie (decimation): Informuje sterownik by przekazywa³ tylko
-co 2-g± lub 4-t± liniê/\:piksel obrazu do karty MJPEG i u¿y³ urz±dzenia
-skaluj±cego karty do rozci±gniêcia obrazu do jego oryginalnych rozmiarów.
-.
-.TP
-.B \-zrxdoff <przesuniêcie w osi x> (tylko \-vo zr)
-Je¶li film jest mniejszy ni¿ ekran opcja ta okre¶la przesuniêcie w poziomie
-od lewego górnego rogu ekranu (domy¶lnie: obraz wycentrowany).
-.
-.TP
-.B \-zrydoff <przesuniêcie w osi y> (tylko \-vo zr)
-Je¶li film jest mniejszy ni¿ ekran opcja ta okre¶la przesuniêcie w pionie
-od lewego górnego rogu ekranu (domy¶lnie: obraz wycentrowany).
-.
-.
-.
-.SH "STEROWNIKI WYJ¦CIA VIDEO (TYLKO MPLAYER)"
-Sterowniki wyj¶cia video to interfejsy do ró¿nych urz±dzeñ wyj¶ciowych video.
-Sk³adnia jest nastêpuj±ca:
-.
-.TP
-.B \-vo <sterownik1[:podopcja1[=warto¶æ]:...],sterownik2,...[,]>
-Okre¶la priorytetow± listê sterowników wyj¶cia video.
-.PP
-Je¿eli lista zakoñczona jest przecinkiem, MPlayer powróci do sterowników
-niewymienionych w wierszu poleceñ.
-Podopcje s± dodatkowe i przewa¿nie mog± byæ pominiête.
-.br
-.I INFORMACJA:
-Opcja \-vo help poka¿e listê wkompilowanych sterowników wyj¶cia video.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-Najpierw spróbuj wykorzystaæ sterownik Matrox X11, pó¼niej Xv i na koñcu resztê.
-.IPs "\-vo directx:noaccel"
-Wykoszysta sterownik DirectX z wy³±czonymi funkcjami przyspieszaj±cymi.
-.RE
-.PD 1
-.sp 1
-Dostêpne sterowniki wyj¶ciowe:
-.
-.TP
-.B xv (tylko X11)
-Wykorzystuje rozszerzenie XVideo oferowane przez XFree86 4.x, aby w³±czyæ
-sprzêtow± akceleracjê odtwarzania.
-Je¿eli nie mo¿esz skorzystaæ ze sterownika napisanego specjalnie dla Twojego
-sprzêtu, to prawdopodobnie jest najlepsza opcja.
-¯eby uzyskaæ informacje jaki kolor kluczowy jest u¿ywany i jak jest rysowany
-uruchom MPlayera z opcj± \-v, i poszukaj wierszy oznaczonych na pocz±tku
-[xv common].
-.PD 0
-.RSs
-.IPs port=<numer>
-Okre¶la port XVideo.
-.IPs ck=<cur|use|set>
-Okre¶la ¼ród³o, z którego pobierany jest kolor kluczowy (domy¶lnie: cur).
-.RSss
-.IPs cur
-Opcja domy¶lna, pobiera kolor kluczowy ustawiony w Xv.
-.IPs use
-Wykorzystuje, ale nie ustawia koloru kluczowego z MPlayera (podaj opcjê
-\-colorkey, aby to zmieniæ).
-.IPs set
-Podobnie jak use, ale ustawia równie¿ dostarczony kolor kluczowy.
-.RE
-.IPs ck-method=<man|bg|auto>
-Ustawia metodê rysowania koloru kluczowego (domy¶lnie: man).
-.RSss
-.IPs man
-Rêcznie rysuje kolor kluczowy (ogranicza, w niektórych przypadkach, migotanie).
-.IPs bg
-Ustawia kolor kluczowy jako t³o.
-.IPs auto
-Pozostawia Xv rysowanie koloru kluczowego.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (tylko X11)
-Sterownik wyj¶cia video z pamiêci± dzielon±, bez sprzêtowej akceleracji,
-który dzia³a gdziekolwiek, je¿eli tylko obecne jest X11.
-.
-.TP
-.B xover (tylko X11)
-Dodaje obs³ugê X11 dla wszystkich sterowników opartych o overlay.
-Obecnie u¿yteczne tylko z tdfx_vid.
-.PD 0
-.RSs
-.IPs <sterownik_vo>
-Wybiera sterownik, którego nale¿y u¿yæ jako nak³adki na X11.
-.RE
-.PD 1
-.
-.TP
-.B xvmc (tylko X11 z \-vc ffmpeg12mc)
-Sterownik wyj¶cia video, który korzysta z rozszerzenia XvMC (X Video Motion
-Compensation) oferowanego przez XFree86 4.x, aby przyspieszyæ dekodowanie
-MPEG-1/\:2 i VCR2.
-.PD 0
-.RSs
-.IPs port=<numer>
-Okre¶la port XVideo.
-.IPs (no)benchmark
-Nie wy¶wietla obrazów.
-Konieczne dla prawid³owego testowania wydajno¶ci dla sterowników, które
-zmieniaj± bufor obrazu tylko przy przerysowywaniu monitora (nVidia).
-Domy¶lnie nie wy³±cza wy¶wietlania obrazu (nobenchmark).
-.IPs (no)queue
-Kolejkuje klatki do wy¶wietlenia, aby umo¿liwiæ bardziej równoleg³± pracê
-urz±dzenia video.
-Mo¿e spowodowaæ ma³± (nie zauwa¿aln±) sta³± desynchronizacjê A/\:V
-(domy¶lnie: noqueue).
-.IPs (no)sleep
-Wykorzystuje funkcjê sleep podczas czekania na zakoñczenie renderowania
-(niezalecane na Linuksie) (domy¶lnie: nosleep).
-.IPs ck=cur|use|set
-To samo co \-vo xv:ck (zobacz tak¿e \-vo xv).
-.IPs ck-method=man|bg|auto
-To samo co \-vo xv:ck-method (zobacz tak¿e \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B dga (tylko X11)
-Odtwarza video korzystaj±c z rozszerzenia XFree86 Direct Graphics Access.
-Uwa¿any za prze¿ytek.
-.
-.TP
-.B sdl (tylko SDL)
-Sterownik wyj¶cia oparty na wysoce niezale¿nej od platformy bibliotece SDL
-(Simple Directmedia Layer).
-Poniewa¿ SDL u¿ywa w³asnej warstwy X11, opcje MPlayera dotycz±ce X11 nie maj±
-tu ¿adnego wp³ywu.
-.PD 0
-.RSs
-.IPs driver=<sterownik>
-Wybiera sterownik SDL, który bêdzie u¿ywany do wy¶wietlania.
-.IPs (no)forcexv
-Wykorzystuje rozszerzenie XVideo przy odtwarzaniu przez sterownik wyj¶cia video
-sdl (domy¶lnie: forcexv).
-.IPs (no)hwaccel
-Wykorzystuje sprzêtowo wspomagany skalator (domy¶lnie: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX \- interfejs video dla *niX) to interfejs do
-mo¿liwo¶ci przyspieszaj±cych w ró¿nych kartach graficznych.
-Bardzo szybki sterownik wyj¶cia video na kartach, które go obs³uguj±.
-.PD 0
-.RSs
-.IPs <podurz±dzenie>
-Precyzuje, który sterownik VIDIX ma byæ wykorzystany.
-Dostêpne s± cyberblade, mach64, mga_crtc2,
-mga, nvidia, pm2, pm3, radeon, rage128, sis i unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (tylko X11)
-Nak³adka X11 dla VIDIX
-.PD 0
-.RSs
-.IPs <podurz±dzenie>
-podobnie jak dla vidix
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-Standardowa i niezale¿na od platformy nak³adka dla VIDIX, mo¿e nawet chodziæ w
-konsoli tekstowej z kartami nVidia.
-.PD 0
-.RSs
-.IPs <podurz±dzenie>
-podobnie jak dla vidix
-.RE
-.PD 1
-.
-.TP
-.B winvidix (tylko Windows)
-Nak³adka Windows dla VIDIX
-.PD 0
-.RSs
-.IPs <podurz±dzenie>
-jak dla vidix
-.RE
-.PD 1
-.
-.TP
-.B directx (tylko Windows)
-Sterownik wyj¶cia video korzystaj±cy z interfejsu DirectX.
-.PD 0
-.RSs
-.IPs noaccel
-Wy³±cza sprzêtow± akceleracjê.
-Wypróbuj tê opcjê, je¿eli masz problemy z wy¶wietlaniem.
-.RE
-.PD 1
-.
-.TP
-.B quartz (tylko Mac OS X)
-Sterownik wyj¶cia video Mac OS X Quartz.
-W pewnych przypadkach, wydajniejsze mo¿e siê okazaæ wymuszenie spakowanego
-formatu wyj¶ciowego YUV, podaj±c np.\& \-vf format=yuy2.
-.PD 0
-.RSs
-.IPs device_id=<numer>
-Okre¶la jakie urz±dzenia ma byæ u¿yte w trybie pe³noekranowym.
-.IPs fs_res=<width>:<height>
-Podaje rozdzielczo¶æ pe³noekranow± (przydatne na wolnych systemach).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 lub 10.3.9 z QuickTime 7)
-sterownik wyj¶cia video Mac OS X CoreVideo
-.PD 0
-.RSs
-.IPs device_id=<numer>
-Okre¶la numer urz±dzenia u¿ywanego w trybie pe³noekranowym.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (tylko Linux)
-U¿ywa bufora ramki oferowanego przez j±dro do wy¶wietlania obrazu.
-.PD 0
-.RSs
-.IPs <urz±dzenie>
-Wybiera nazwê u¿ywanego urz±dzenia fbdev (np.\& /dev/\:fb0) albo nazwê
-podurz±dzenia VIDIX, je¶li zaczyna siê od "vidix"
-(np.\& "vidixsis_vid" w³±cza sterownik sis).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (tylko Linux)
-U¿ywa bufora ramki oferowanego przez j±dro do wy¶wietlania obrazu,
-alternatywna implementacja.
-.PD 0
-.RSs
-.IPs <urz±dzenie>
-Wybiera nazwê u¿ywanego urz±dzenia fbdev (domy¶lnie: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-Bardzo ogólny sterownik wyj¶cia video , który powinien dzia³aæ z wszystkimi
-kartami obs³uguj±cymi standard VESA VBE 2.0.
-.PD 0
-.RSs
-.IPs "dga\ \ "
-W³±cza tryb DGA.
-.IPs nodga
-Wy³±cza tryb DGA.
-.IPs neotv_pal
-W³±cza wyj¶cie TV karty NeoMagic i ustawia je na normê PAL.
-.IPs neotv_ntsc
-W³±cza wyj¶cie TV karty NeoMagic i ustawia je na normê NTSC.
-.IPs vidix
-U¿ywa sterownika VIDIX.
-.IPs "lvo:\ \ "
-W³±cza Linux Video Overlay na trybie VESA.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-Sterownik wyj¶cia video korzystaj±cy z biblioteki SVGA.
-.PD 0
-.RSs
-.IPs "<tryb video>"
-Ustawia okre¶lony tryb video.
-Tryb mo¿e byæ podany w formacie <szeroko¶æ>x<wysoko¶æ>x<kolory>,
-np.\& 640x480x16M lub numer trybu graficznego, np.\& 84.
-.IPs bbosd
-Rysuje OSD w czarnym pasku poni¿ej filmu (wolniejsze).
-.IPs native
-Wykorzystuje tylko rdzenne funkcje rysuj±ce.
-Omijane jest bezpo¶rednie renderowanie (direct rendering), OSD i
-akceleracja sprzêtowa.
-.IPs retrace
-Wymusza zmianê klatki przy przerysowywaniu pionowym.
-U¿yteczne tylko z \-double.
-Wywo³uje ten sam efekt co opcja \-vsync.
-.IPs "sq\ \ \ "
-Spróbuje wykorzystaæ tryb video z kwadratowymi pikselami.
-.IPs vidix
-U¿ywa svga z VIDIX.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-Sterownik wyj¶cia video OpenGL, wersja prosta.
-Obraz musi byæ mniejszy ni¿ maksymalny rozmiar tekstury
-dostêpny w Twojej implementacji OpenGL.
-Zamiarem by³o dzia³anie na nawet najprostszych implementacjach OpenGL,
-ale robi u¿ytek z nowszych rozszerzeñ, co daje obs³ugê wiêkszej liczby
-przestrzenie koloru i bezpo¶redniego renderowania.
-Radzimy u¿ywaæ \-dr je¶li tylko dzia³a, jako ¿e w wy¿szych rozdzielczo¶ciach
-daje to
-.B du¿e
-przyspieszenie.
-Kod wykonuje niewiele sprawdzañ, wiêc je¶li co¶ nie dzia³a, to mo¿e to byæ
-dlatego ¿e Twoja karta/implementacja OpenGL tego nie obs³uguje nawet je¶li nie
-dostajesz ¿adnej informacji o b³êdzie.
-U¿yj glxinfo albo podobnego narzêdzia by wy¶wietliæ obs³ugiwane rozszerzenia
-OpenGL.
-.PD 0
-.RSs
-.IPs (no)manyfmts
-W³±cza obs³ugê wiêkszej ilo¶ci formatów kolorów (RGB i BGR)
-(domy¶lnie: w³±czone).
-Wymaga wersji OpenGL >= 1.2.
-.IPs slice-height=<0\-...>
-Ilo¶æ linii kopiowana do tekstury w jednym kawa³ku (domy¶lnie: 4).
-0 oznacza ca³y obraz.
-.IPs (no)osd
-W³±cza lub wy³±cza obs³ugê wy¶wietlania OSD przez OpenGL (domy¶lnie: w³±czona).
-Przeznaczone g³ównie do testów,
-powiniene¶ skorzystaæ z \-osdlevel 0, aby wy³±czyæ OSD.
-.IPs (no)scaled-osd
-Zmienia sposób zachowania OSD przy zmianie wielko¶ci okna
-(domy¶lnie: wy³±czone).
-Je¿eli w³±czone zachowuje siê podobniej do pozosta³ych wyj¶æ video,
-co jest lepsze przy czcionkach o sta³ej szeroko¶ci znaków,
-Wy³±czone lepiej wygl±da z czcionkami freetype
-oraz u¿ywa ramek w trybie pe³noekranowym.
-.IPs (no)aspect
-W³±cza lub wy³±cza przeliczanie proporcji i trybu panoramicznego
-(domy¶lnie: w³±czone).
-Wy³±czenie mo¿e zwiêkszyæ prêdko¶æ.
-.IPs rectangle=<0,1,2>
-Wybiera u¿ywanie prostok±tnych tekstur co oszczêdza pamiêæ video, ale czêsto
-jest wolniejsze (domy¶lnie: 0).
-.RSss
-0: U¿ywa tekstur power_of_two (domy¶lne).
-.br
-1: U¿ywa texture_rectangle, nie kompatybilne ze sprzêtow± konwersj± YUV.
-.br
-2: U¿ywa texture_non_power_of_two.
-.RE
-.IPs (no)glfinish
-Wywo³uje glFinish() przed zamian± buforów.
-Wolniejsze ale w niektórych przypadkach daje lepsze wyniki
-(domy¶lnie: wy³±czone).
-.IPs swapinterval=<n>
-Minimalna odleg³o¶æ miêdzy dwoma zamianami bufora, liczona w wy¶wietlanych
-klatkach (domy¶lnie: 1).
-1 jest równowa¿ne w³±czeniu VSYNC, 0 wy³±czeniu VSYNC.
-Warto¶ci mniejsze od zera pozostawi± domy¶ln± warto¶æ systemow±.
-To ogranicza framerate do (prêdko¶æ od¶wie¿ania poziomego / n).
-Wymaga do dzia³ania obs³ugi GLX_SGI_swap_control.
-Z niektórymi (wiêkszo¶ci±/wszystkimi?) implementacjami dzia³a to tylko
-w trybie pe³noekranowym.
-.IPs yuv=<n>
-Wybiera typ konwersji YUV do RGB.
-.RSss
-0: U¿ywa konwersji programowej (domy¶lnie).
-Kompatybilne ze wszystkimi wersjami OpenGL.
-Daje kontrolê nad jasno¶ci±, kontrastem i nasyceniem.
-.br
-1: U¿ywa kombinatorów rejestrów.
-U¿ywa to rozszerzenia specyficznego dla nVidii (GL_NV_register_combiners).
-Wymaga przynajmniej trzech jednostek tekstur.
-Daje kontrolê nad nasyceniem i barw±.
-.br
-2: U¿ywa programu fragmentowego.
-Wymaga rozszerzenia GL_ARB_fragment_program i przynajmniej trzech jednostek
-tekstur.
-Daje kontrolê nad jasno¶ci±, kontrastem, nasyceniem i barw±.
-.br
-3: U¿ywa programu fragmentowego korzystaj±c z instrukcji POW.
-Wymaga rozszerzenia GL_ARB_fragment_program i przynajmniej trzech jednostek
-tekstur.
-Daje kontrolê nad jasno¶ci±, kontrastem, nasyceniem, barw± i gamm±.
-Gamma mo¿e byæ te¿ ustawiania niezale¿nie dla sk³adowej czerwonej, niebieskiej
-i zielonej.
-Metoda 4 jest zazwyczaj szybsza.
-.br
-4: U¿ywa programu fragmentowego z dodatkowym podgl±dem.
-Wymaga rozszerzenia GL_ARB_fragment_program i przynajmniej trzech jednostek
-tekstur.
-Daje kontrolê nad jasno¶ci±, kontrastem, nasyceniem, barw± i gamm±.
-Gamma mo¿e byæ te¿ ustawiania niezale¿nie dla sk³adowej czerwonej, niebieskiej
-i zielonej.
-.RE
-.IPs customprog=<nazwapliku>
-Wczytuje dowolny program fragmentowy z <nazwapliku>
-Przyk³ad znajduje siê w TOOLS/edgedetect.fp.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-Sterownik wyj¶cia video OpenGL, druga generacja.
-Obs³uguje OSD i obrazy wiêksze ni¿ maksymalny rozmiar tekstury.
-.PD 0
-.RSs
-.IPs (no)glfinish
-tak samo jak w gl (domy¶lnie: w³±czone)
-.IPs yuv=<n>
-tak samo jak w gl
-.REss
-.
-.TP
-.B "null\ \ \ "
-Nie tworzy danych wyj¶ciowych video.
-U¿yteczne dla testowania wydajno¶ci.
-.
-.TP
-.B "aa\ \ \ \ \ "
-Sterownik wyj¶cia video ASCII art, który dzia³a na konsoli tekstowej.
-Mo¿esz dostaæ listê i opis dostêpnych podopcji wywo³uj±c
-.I mplayer \-vo aa:help
-.
-.TP
-.B "caca\ \ \ "
-Sterownik wyj¶cia video Colour AsCii Art, który dzia³a na konsoli tekstowej.
-.
-.TP
-.B "bl\ \ \ \ \ "
-Odtwarzanie video przy u¿yciu protoko³u Blinkenlights UDP.
-Sterownik jest wysoce zale¿ny od sprzêtu.
-.PD 0
-.RSs
-.IPs <podurz±dzenie>
-Wybiera u¿ywane podurz±dzenie Blinkenlights.
-Jest to co¶ typu arcade:host=localhost:2323 lub hdl:file=nazwa1,file=nazwa2.
-Musisz podaæ podurz±dzenie.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-Sterownik wyj¶cia video dla systemu grafiki GGI.
-.PD 0
-.RSs
-.IPs <sterownik>
-Wybiera u¿ywany sterownik GGI.
-Zamieñ wszystkie "," w sterowniku przez ".".
-.RE
-.PD 1
-.
-.TP
-.B directfb
-Odtwarza video korzystaj±c z biblioteki DirectFB.
-.PD 0
-.RSs
-.IPs (no)input
-Korzysta z kodu klawiszy DirectFB zamiast MPlayera (domy¶lnie: w³±czone).
-.IPs buffermode=single|double|triple
-Podwójne i potrójne buforowanie daj± najlepsze efekty, je¿eli chcesz unikn±æ
-problemów z rozrywaniem.
-Potrójny bufor jest wydajniejszy ni¿ podwójny, jako ¿e nie blokuje
-MPlayera w trakcie czekania na przerysowanie w pionie.
-Nie powinno siê korzystaæ z pojedynczego buforowanie (domy¶lnie: pojedynczy).
-.IPs fieldparity=top|bottom
-Kontroluje kolejno¶æ wyj¶cia dla ramek z przeplotem (domy¶lnie: wy³±czony).
-Poprawnymi warto¶ciami s± top = najpierw górne pola, bottom = najpierw dolne
-pola.
-Opcja ta nie ma ¿adnego wp³ywu na progresywny materia³ filmowy (wiêkszo¶æ
-filmów MPEG).
-Musisz w³±czyæ tê opcjê, je¿eli masz problemy z rozrywaniem/\:brakiem p³ynno¶ci
-ruchów podczas ogl±dania materia³u z przeplotem.
-.IPs layer=N
-Wymusi wybranie warstwy o ID N do odtwarzania (domy¶lnie: \-1 \- auto).
-.IPs dfbopts=<lista>
-Podaje listê parametrów dla DirectFB.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Sterownik wyj¶cia video przeznaczony dla kart Matrox G400/\:G450/\:G550,
-wykorzystuj±cy bibliotekê DirectFB.
-W³±cza CRTC2 (drugi monitor), wy¶wietlaj±c obraz niezale¿nie od pierwszego.
-.PD 0
-.RSs
-.IPs (no)input
-tak samo jak directfb (domy¶lnie: wy³±czone)
-.IPs buffermode=single|double|triple
-tak samo jak directfb (domy¶lnie: triple)
-.IPs fieldparity=top|bottom
-tak samo jak directfb
-.IPs (no)bes
-W³±cza Matrox BES (backend scaler \- koñcowy system skaluj±cy)
-(domy¶lnie: wy³±czony).
-Daje bardzo dobre rezultaty bior±c pod uwagê zarówno szybko¶æ jak i wyj¶ciow±
-jako¶æ, jako ¿e interpolowana obróbka obrazu jest przeprowadzana sprzêtowo.
-Dzia³a tylko na wyj¶ciu pierwszego monitora.
-.IPs (no)spic
-Wykorzystuje warstwê podobrazu (sub picture layer) Matroksa do wy¶wietlania OSD
-(domy¶lnie: w³±czone).
-.IPs (no)crtc2
-W³±cza wyj¶cie TV na drugim wyj¶ciu karty (domy¶lnie: w³±czone).
-Jako¶æ wyj¶ciowa jest zadziwiaj±ca, poniewa¿ jest to obraz z pe³nym przeplotem
-i prawid³ow± synchronizacja pól nieparzystych/\:parzystych.
-.IPs tvnorm=pal|ntsc|auto
-Ustawia standard TV karty Matrox bez konieczno¶ci zmieniania /etc/\:directfbrc
-(domy¶lnie: wy³±czony).
-Poprawne normy to: pal = PAL, ntsc = NTSC.
-Specjaln± warto¶ci± jest auto (automatyczne dostrojenie u¿ywaj±c systemów
-PAL/\:NTSC), poniewa¿ decyduje, który standard ma byæ wykorzystywany zwracaj±c
-uwagê na ilo¶æ klatek na sekundê filmu.
-.RE
-.PD 1
-.
-.TP
-.B mga (tylko Linux)
-Sterownik wyj¶cia video przystosowany do kart Matrox, wykorzystuj±cy koñcowy
-system skaluj±cy YUV na kartach z serii Gxxx poprzez modu³ j±dra.
-Je¿eli posiadasz tak± kartê, jest to wybór oferuj±cy najwiêksz± szybko¶æ.
-.PD 0
-.RSs
-.IPs <urz±dzenie>
-Wybiera urzywane urz±dzenie Matrox (domy¶lnie: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (tylko Linux, X11)
-Sterownik wyj¶cia video mga dzia³aj±cy w oknie X11.
-.PD 0
-.RSs
-.IPs <urz±dzenie>
-Wybiera urzywane urz±dzenie Matrox (domy¶lnie: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B 3dfx (tylko Linux)
-Sterownik wyj¶cia video specyficzny dla 3dfx.
-Sterownik ten u¿ywa bezpo¶rednio sprzêtu 3dfx na X11.
-Obs³uguje tylko 16 bpp.
-FIXME: Jak jest ró¿nica miêdzy 3dfx, tdfxfb i tdfx_vid?
-.
-.TP
-.B tdfxfb (tylko Linux)
-Sterownik ten wykorzystuje bufor ramki tdfx do wy¶wietlania filmów z
-akceleracj± YUV na kartach 3dfx.
-FIXME: Jak jest ró¿nica miêdzy 3dfx, tdfxfb i tdfx_vid?
-.PD 0
-.RSs
-.IPs <urz±dzenie>
-Wybiera u¿ywane urz±dzenie fbdev (domy¶lnie: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (tylko Linux)
-Sterownik wyj¶cia video przeznaczony dla 3dfx.
-Korzysta bezpo¶rednio z modu³u j±dra tdfx_vid.
-FIXME: Jak jest ró¿nica miêdzy 3dfx, tdfxfb i tdfx_vid?
-.PD 0
-.RSs
-.IPs <urz±dzenie>
-Wybiera u¿ywane urz±dzenie fbdev (domy¶lnie: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (zobacz tak¿e \-dxr2) (tylko DXR2)
-Sterownik przeznaczony dla Creative DXR2.
-.PD 0
-.RSs
-.IPs <sterownik_vo>
-Wybiera podsterownik video u¿ywany jako nak³adka (x11, xv).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (tylko DXR3)
-Sterownik wyj¶cia video przeznaczony dla chipu dekoduj±cego MPEG \- Sigma
-Designs em8300 (Creative DXR3, Sigma Designs Hollywood Plus).
-Sprawd¼ równie¿ filtr video lavc.
-.PD 0
-.RSs
-.IPs overlay
-W³±cza overlay zamiast wyj¶cia TV.
-.IPs prebuf
-W³±cza prebuforowanie.
-.IPs "sync\ "
-W³±cz± nowy silnik synchronizuj±cy.
-.IPs norm=<norma>
-Okre¶la normê TV.
-.RSss
-0: Nie zmienia obecnego standardu (domy¶lne).
-.br
-1: Automatycznie dostraja u¿ywaj±c PAL/\:NTSC.
-.br
-2: Automatycznie dostraja u¿ywaj±c PAL/\:PAL-60.
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.REss
-.IPs <0\-3>
-Okre¶la numer urz±dzenia, które ma byæ u¿yte, je¿eli masz wiêcej ni¿ jedn±
-kartê em8300.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (tylko DVB)
-Sterownik wyj¶cia video przeznaczony dla DVB, który zapisuje wyj¶cie
-do pliku MPEG-PES, je¶li karta nie jest zainstalowana.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-Okre¶la numer urz±dzenia, które ma byæ u¿yte, je¶li masz wiêcej ni¿ jedn±
-kartê DVB (tylko API V3, tak jak sterowniki z serii 1.x.y).
-.IPs <nazwa\ zbioru>
-Okre¶la nazwê pliku, do którego zostanie zapisane wyj¶cie (domy¶lnie: ./grab.mpg).
-.RE
-.PD 1
-.
-.TP
-.B zr (zobacz tak¿e \-zr* i \-zrhelp)
-Sterownik wyj¶cia video przeznaczony dla wielu kart
-przechwytuj±cych/\:odtwarzaj±cych MJPEG.
-.
-.TP
-.B zr2 (zobacz tak¿e filtr video zrmjpeg)
-Sterownik wyj¶cia video drugiej generacji przeznaczony dla wielu kart
-przechwytuj±cych/\:odtwarzaj±cych MJPEG.
-Zwróæ równie¿ uwagê na filtr video zrmjpeg.
-.PD 0
-.RSs
-.IPs dev=<urz±dzenie>
-Wybiera u¿ywane urz±dzenie.
-.IPs "pal\ \ "
-W³±cza normê video PAL.
-.IPs secam
-W³±cza normê video SECAM.
-.IPs "ntsc\ "
-W³±cza normê video NTSC.
-.IPs prebuf
-W³±cza prebuforowanie, jeszcze nie obs³ugiwane.
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-Oblicza sumy MD5 ka¿dej klatki i zapisuje je do pliku.
-Obs³uguje przestrzenie kolorów RGB24 i YV12.
-Przydatne przy debugowaniu.
-.PD 0
-.RSs
-.IPs outfile=<warto¶æ>
-Okre¶la nazwê pliku wyj¶ciowego (domy¶lnie: ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-Zmienia strumieñ video na nieskompresowan± sekwencjê obrazów YUV 4:2:0
-i przechowuje j± w pliku (domy¶lnie: ./stream.yuv).
-Format jest taki sam jak ten stosowany przez mjpegtools, wiêc jest to przydatne
-je¶li chcesz poddaæ film obróbce przy pomocy tego pakietu.
-Obs³uguje formaty YV12, RGB (24 bpp) i BGR (24bpp).
-Mo¿esz tego u¿yæ z opcj± \-fixed\-vo ¿eby po³±czyæ zbiory o tych samych
-wymiarach i ilo¶ci klatek na sekundê.
-.PD 0
-.RSs
-.IPs interlaced
-Zapisuje ramki z przeplotem, najpierw górne pole.
-.IPs interlaced_bf
-Zapisuje ramki z przeplotem, najpierw dolne pole.
-.IPs file=<nazwapliku>
-Zapisuje wyj¶cie do zbioru <nazwapliku>, zamiast domy¶lnego stream.yuv.
-.REss
-.PD 1
-.RS
-.sp 1
-.I INFORMACJA:
-Je¶li nie podasz ¿adnej opcji wyj¶cie jest progresywne (czyli bez przeplotu).
-.RE
-.
-.TP
-.B "gif89a\ "
-Zapisuje wszystkie klatki do jednego animowanego pliku GIF w bie¿±cym katalogu.
-Obs³uguje tylko format RGB z 24 bpp, wyj¶cie natomiast jest konwertowane do
-256 kolorów.
-.PD 0
-.RSs
-.IPs <fps>
-Liczba rzeczywista opisuj±ca ilo¶æ klatek na sekundê (domy¶lnie: 5.0).
-.IPs <nazwa\ zbioru>
-Nazwa zbioru wyj¶ciowego (domy¶lnie: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I INFORMACJA:
-Musisz podaæ ilo¶æ ramek na sekundê przed nazw± zbioru, albo stanie siê ona
-czê¶ci± nazwy.
-.sp 1
-.I PRZYK£AD:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:15.0:test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-Zapisuje ka¿d± klatkê do pliku JPEG w bie¿±cym katalogu.
-Ka¿dy plik dostaje jako nazwê numer klatki poprzedzony zerami.
-.PD 0
-.RSs
-.IPs [no]progressive
-Wybiera miêdzy standardowym lub progresywnym JPEG (domy¶lnie: noprogressive).
-.IPs [no]baseline
-Wybiera, czy ma u¿ywaæ baseline czy nie (domy¶lnie: baseline).
-.IPs optimize=<0\-100>
-wspó³czynnik optymalizacji (domy¶lnie: 100)
-.IPs smooth=<0\-100>
-wspó³czynnik wyg³adzania (domy¶lnie: 0)
-.IPs quality=<0\-100>
-wspó³czynnik jako¶ci (domy¶lnie: 75)
-.IPs outdir=<nazwa\ katalogu>
-Okre¶la katalog, w którym bêd± zapisywane pliki JPEG (domy¶lnie: ./).
-.IPs subdirs=<prefiks>
-Tworzy ponumerowane podkatalogi z okre¶lonym prefiksem, gdzie zachowa
-pliki zamiast zapisywaæ je w bie¿±cym katalogu.
-.IPs maxfiles=<warto¶æ> (tylko z subdirs)
-Maksymalna liczba plików zapisywanych do ka¿dego podkatalogu.
-Warto¶æ musi byæ równa lub wiêksza ni¿ 1 (domy¶lnie: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-Zapisuje ka¿d± klatkê do pliku PNM w bie¿±cym katalogu.
-Ka¿dy plik dostaje jako nazwê numer klatki poprzedzony zerami.
-Obs³uguje pliki PPM, PGM i PGMYUV w trybie surowym (raw) i ASCII.
-Zobacz tak¿e pnm(5), ppm(5) i pgm(5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-Zapisuje pliki PPM (domy¶lne).
-.IPs "pgm\ \ "
-Zapisuje pliki PGM.
-.IPs pgmyuv
-Zapisuje pliki PGMYUV.
-PGMYUV jest podobny do PGM, ale zawiera równie¿ przestrzeñ U i V umieszczone
-na dole obrazu.
-.IPs "raw\ \ "
-Zapisuje pliki PNM w trybie surowym (raw) (domy¶lne).
-.IPs ascii
-Zapisuje pliki PNM w trybie ASCII.
-.IPs outdir=<nazwa\ katalogu>
-Okre¶la katalog, w którym bêd± zachowane pliki PNM (domy¶lnie: ./).
-.IPs subdirs=<prefiks>
-Tworzy ponumerowane podkatalogi z okre¶lonym prefiksem, gdzie zachowa
-pliki zamiast zapisywaæ je w bie¿±cym katalogu.
-.IPs maxfiles=<warto¶æ> (tylko z subdirs)
-Maksymalna liczba plików zapisywanych do ka¿dego podkatalogu.
-Warto¶æ musi byæ wiêksza lub równa 1 (domy¶lnie: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-Zapisuje ka¿d± klatkê do pliku PNG w bie¿±cym katalogu.
-Ka¿dy plik dostaje jako nazwê numer klatki poprzedzony zerami.
-Obs³uguje formaty RGB i BGR z 24 bpp.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-Okre¶la poziom kompresji.
-0 oznacza jej brak, a 9 maksymaln±.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-Zapisuje ka¿d± klatkê do pliku TARGA w bie¿±cym katalogu.
-Ka¿dy plik dostaje jako nazwê numer klatki poprzedzony zerami.
-Sterownik ten istnieje by dostarczaæ ³atwy sposób bezstratnego zapisywania
-obrazów bez zewnêtrznej biblioteki.
-Obs³uguje format BGR[A], z 15, 24 i 32 bpp.
-Mo¿na wymusiæ konkretny format filtrem video format.
-.sp 1
-.I PRZYK£AD:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "OPCJE DEKODOWANIA/\:FILTROWANIA"
-.
-.TP
-.B \-ac <[\-|+]kodek1,[\-|+]kodek2,...[,]>
-Ustala priorytetow± listê u¿ywanych kodeków audio, wed³ug ich nazw
-w codecs.conf.
-U¿yj "-" przed nazw± kodeka aby go pomin±æ.
-U¿yj "+" orzed nazw± kodeka by go wymusiæ, to prawdopodobnie spowoduje b³êdy!
-Je¿eli lista zakoñczona jest ',', MPlayer bêdzie bra³ pod uwagê
-równie¿ niewymienione na niej kodeki.
-.br
-.I INFORMACJA:
-Mo¿esz pobraæ listê dostêpnych kodeków poprzez \-ac help.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-Wymusza kodek MP3 l3codeca.acm.
-.IPs "\-ac mad,"
-Próbuje najpierw libmad, pó¼niej pozosta³e.
-.IPs "\-ac hwac3,a52,"
-W³±cza sprzêtowe AC3, programowy kodek AC3, potem pozosta³e.
-.IPs "\-ac \-ffmp3,"
-Pomija kodek MP3 FFmpeg.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(filters)> (zobacz tak¿e \-af)
-Podaje zaawansowane opcje filtrów audio:
-.RSs
-.IPs force=<0\-7>
-Wymusza jeden z trybów wstawiania filtrów audio:
-.RSss
-0: U¿ywa ca³kowicie automatycznego wstawiania filtrów.
-.br
-1: Optymalizuje pod wzglêdem dok³adno¶ci (domy¶lne).
-.br
-2: Optymalizuje pod wzglêdem szybko¶ci.
-.I UWAGA:
-Niektóre funkcje filtów audio mog± po kryjomu przestaæ dzia³aæ i mo¿e spa¶æ
-jako¶æ d¼wiêku.
-.br
-3: Nie korzysta z automatycznego wstawiania filtórw i optymalizacji.
-.I UWAGA:
-MPlayer mo¿e wykrzaczyæ siê podczas dzia³ania, je¶li bêdzie
-ustawiony bêdzie ten parametr.
-.br
-4: Korzysta z automatycznego wstawiania filtrów tak jak
-w przypadku parametru 0, ale u¿ywa przetwarzania zmiennoprzecinkowego,
-je¶li tylko jest to mo¿liwe.
-.br
-5: Korzysta z automatycznego wstawiania filtrów tak jak
-w przypadku parametru 1, ale u¿ywa przetwarzania zmiennoprzecinkowego,
-je¶li tylko jest to mo¿liwe.
-.br
-6: Korzysta z automatycznego wstawiania filtrów tak jak
-w przypadku parametru 2, ale u¿ywa przetwarzania zmiennoprzecinkowego,
-je¶li tylko jest to mo¿liwe.
-.br
-7: Nie korzysta z automatycznego wstawiania filtrów tak jak
-w przypadku parametru 3, ale u¿ywa przetwarzania zmiennoprzecinkowego,
-je¶li tylko jest to mo¿liwe.
-.REss
-.IPs list=<filtry>
-Tak samo jak \-af.
-.RE
-.
-.TP
-.B \-afm <sterownik1,sterownik2,...>
-Ustala priorytetow± listê rodzin kodeków audio, zgodnie z ich nazwami
-w codecs.conf.
-Powraca do domy¶lnego, je¿eli ¿aden z podanych kodeków nie bêdzie dzia³a³.
-.br
-.I INFORMACJA:
-Mo¿esz pobraæ listê dostêpnych rodzin kodeków poprzez \-afm help.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-U¿ywa najpierw kodeków FFmpeg z libavcodec.
-.IPs "\-afm acm,dshow"
-Próbuje najpierw kodeki Win32.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <stosunek> (zobacz tak¿e \-zoom)
-Zmienia proporcje filmu, w przypadku gdy nie ma ich w odtwarzanym pliku lub s±
-podane nieprawid³owe.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-\-aspect 4:3 lub \-aspect 1.3333
-.br
-\-aspect 16:9 lub \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-Wy³±cza automatyczne wyrównywanie proporcji filmu.
-.
-.TP
-.B \-flip
-Odwraca obraz do góry nogami.
-.
-.TP
-.B \-lavdopts <opcja1:opcja2:...> (KOD DEBUGOWY)
-Okre¶la parametry dekodowania z libavcodec.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-\-lavdopts bug=1
-.RE
-.PD 1
-.sp 1
-.RS
-Dostêpne s± opcje:
-.RE
-.RSs
-.IPs bug=<warto¶æ>
-Rêczne obej¶cie b³êdów kodera.
-.RSss
-0: nic
-.br
-1: automatyczne wykrywanie b³êdów
-.br
-2 (msmpeg4v3): stare pliki msmpeg4v3 wygenerowane przez lavc (bez autodetekcji)
-.br
-4 (mpeg4): b³±d przeplotu Xvid (automatycznie wykrywany, je¶li fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (automatycznie wykrywanany, je¶li fourcc==UMP4)
-.br
-16 (mpeg4): b³±d wype³nienia (padding) (automatycznie wykrywany)
-.br
-32 (mpeg4): b³±d niedozwolonego vlc (automatycznie wykrywany przez fourcc)
-.br
-64 (mpeg4): b³±d qpel w Xvid i DivX (automatycznie wykrywany przez fourcc/\:wersjê)
-.br
-128 (mpeg4): qpel w starym standardzie (automatycznie wykrywany przez fourcc/\:wersjê)
-.br
-256 (mpeg4): kolejny b³±d qpel (automatycznie wykrywany przez fourcc/\:wersjê)
-.br
-512 (mpeg4): b³±d rozmiaru bloku bezpo¶redniego qpel (automatycznie wykrywany przez fourcc/\:wersjê)
-.br
-1024 (mpeg4): b³±d wype³nienia krawêdzi (automatycznie wykrywany przez fourcc/\:wersjê)
-.REss
-.IPs debug=<warto¶æ>
-Wy¶wietla informacje debugowania.
-.RSss
-.br
-0: wy³±czone
-.br
-1: informacje o obrazie
-.br
-2: kontrola tempa
-.br
-4: bitstream
-.br
-8: typ makrobloku (MB)
-.br
-16: parametr kwantyzacji dla bloku (QP)
-.br
-32: wektor ruchu
-.br
-0x0040: wizualizacja wektora ruchu (u¿yj \-noslices)
-.br
-0x0080: przeskakiwanie makrobloku (MB)
-.br
-0x0100: kod startowy
-.br
-0x0200: PTS
-.br
-0x0400: odporno¶æ na b³êdy
-.br
-0x0800: operacje kontrolne zarz±dzania pamiêci± (H.264)
-.br
-0x1000: b³êdy
-.br
-0x2000: Wizualizuje parametr kwantyzacji (QP), ni¿sze QP jest bardziej zielone.
-.br
-0x4000: Wizualizuje typy bloków.
-.REss
-.IPs ec=<warto¶æ>
-Ustawia strategiê ukrywania b³êdów.
-.RSss
-1: U¿ywa silnego filtru odblokowywuj±cego (deblock) dla uszkodzonych
-makrobloków (MB).
-.br
-2: iteracyjne szukanie wektorów ruchu (MV) (wolne)
-.br
-3: wszystko (domyslnie)
-.REss
-.IPs er=<warto¶æ>
-Ustawia strategiê elastycznej obs³ugi b³êdów.
-.RSss
-.br
-0: wy³±czone
-.br
-1: ostro¿ne (Powinna dzia³aæ z zepsutymi koderami.)
-.br
-2: normalne (domy¶lne) (Dzia³a ze zgodnymi koderami.)
-.br
-3: agresywne (Wiêcej testów, mo¿e jednak sprawiæ problemy nawet z poprawnymi
-strumieniami bitowymi.)
-.br
-4: bardzo agresywne
-.REss
-.IPs "fast\ "
-Korzysta z optymalizacji niestosuj±cych siê do specyfikacji i tym samym
-mog±cych sprawiæ problemy (takie jak prostsza dekwantyzacja, stosowanie
-domy¶lnej matrycy kwantyzacji, stosowanie YUV 4:2:0 i pomijanie kilku testów
-na wykrycie uszkodzonych strumieni bitowych).
-.IPs "gray\ "
-dekodowanie tylko w skali szaro¶ci (trochê szybsze ni¿ w kolorze)
-.IPs "idct=<0\-99> (zobacz tak¿e \-lavcopts)"
-¯eby osi±gn±æ najlepsz± jako¶æ dekodowania, u¿ywaj tego samego algorytmu
-IDCT do kodowania i dekodowania.
-Mo¿e to jednak zmniejszyæ dok³adno¶æ.
-.IPs lowres=<numer>[,<s>]
-Dekoduje w niskiej rozdzielczo¶ci.
-Nie wszystkie kodeki obs³uguj± dekodowanie w niskiej rozdzielczo¶ci
-i czêsto powoduje to pojawienie siê okropnych zniekszta³ceñ.
-Nie jest to ¿aden b³±d,
-a jedynie efekt uboczny nie dekodowania w pe³nej rozdzielczo¶ci.
-.RSss
-.br
-0: wy³±czone
-.br
-1: 1/2 rozdzielczo¶ci
-.br
-2: 1/4 rozdzielczo¶ci
-.br
-3: 1/8 rozdzielczo¶ci
-.REss
-.RS
-Je¶li podano <s> dekodowanie w niskiej rozdzielczo¶ci bêdzie zastosowane tylko
-je¶li szeroko¶æ filmu jest wiêksza lub równa <s>.
-.RE
-.IPs "sb=<liczba> (tylko MPEG-2)"
-Przeskakuje podan± ilo¶æ wierszy makrobloków na dole.
-.IPs "st=<liczba> (tylko MPEG-2)"
-Przeskakuje podan± ilo¶æ wierszy makrobloków na górze.
-.IPs skiploopfilter=<warto¶æpomijania> (tylko H.264)
-Pomija filtr pêtli (zwany te¿ deblokowaniem) w czasie dekodowania H.264.
-Poniewa¿ filtrowana klatka ma byæ pó¼niej odniesieniem do dekodowania
-zale¿nych klatek powoduje to wiêkszy spadek jako¶ci ni¿ nie deblokowanie
-klatek np.\& filmu MPEG-2.
-Ale przynajmniej przy szybkich strumieniach HDTV daje to du¿e przyspieszenie
-bez widocznej utraty jako¶ci.
-.sp 1
-<warto¶æpomijania> mo¿e byæ dowolna z poni¿szych:
-.RSss
-.br
-none: Nie pomijaj.
-.br
-default: Pomija bezsensowne kroki przetwarzania (np.\& pakiety wielko¶ci 0 w AVI).
-.br
-nonref: Pomija klatki które do których nie ma odniesieñ (tzn.\& nie u¿ywane do
-dekodowania innych klatek, b³±d nie mo¿e "narastaæ").
-.br
-bidir: Pomija klatki typu B.
-.br
-nonkey: Pomija wszystkie klatki poza kluczowymi.
-.br
-all: Pomija wszystkie klatki.
-.REss
-.IPs skipidct=<warto¶æpomijania> (tylko MPEG1/2)
-Pomija krok IDCT.
-To praktycznie zawsze bardzo obni¿a jako¶æ
-(warto¶ci pomijania takie jak w opcji skiploopfilter).
-.IPs skipframe=<warto¶æpomijania>
-Ca³kowicie pomija dekodowanie klatek.
-Du¿e przyspieszenie, ale urywany ruch i czasami brzytkie artefakty
-(warto¶ci pomijania takie jak w opcji skiploopfilter).
-.IPs vismv=<warto¶æ>
-Wizualizuje wektory ruchu.
-.RSss
-.br
-0: wy³±czona
-.br
-1: Wizualizuje przewidziane w przód wektory ruchu (MV) ramek P.
-.br
-2: Wizualizuje przewidziane w przód wektory ruchu (MV) ramek B.
-.br
-4: Wizualizuje przewidziane w ty³ wektory ruchu (MV) ramek B.
-.REss
-.IPs vstats
-Wy¶wietla pewne statystyki i zapisuje je w zbiorze ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-Wy³±cza rysowanie obrazu przez paski/\:kawa³ki o wysoko¶ci 16 pikseli,
-zamiast tego rysuje wszystko za jednym razem.
-Mo¿e byæ szybsze albo wolniejsze, zale¿y to od karty/\:cache'u.
-Dzia³a tylko z kodekami z rodziny libmpeg2 i libavcodec.
-.
-.TP
-.B \-nosound
-Nie koduje/\:odtwarza d¼wiêku.
-U¿yteczne do testów wydajno¶ci.
-.
-.TP
-.B \-novideo
-Nie koduje/\:odtwarza video.
-.
-.TP
-.B \-oldpp <jako¶æ> (tylko OpenDivX) (PRZESTARZA£E)
-U¿ywa kodu postprocessingu z OpenDivX zamiast wbudowanego.
-Zast±piony przez \-pp, wewnêtrzny postprocessing daje lepsz± jako¶æ i jest
-szybszy.
-Prawid³owy zakres warto¶ci \-oldpp zale¿y od kodeka, najczê¶ciej jest to
-0\-6, gdzie 0=wy³±czony, 6=powolny/\:najlepszy.
-.
-.TP
-.B \-pp <jako¶æ> (zobacz tak¿e \-vf pp)
-Ustawia poziom postprocessingu DLL.
-Ta opcja nie wp³ywa ju¿ na \-vf pp.
-Dzia³a tylko z Win32 DirectShow DLL, które maj± wewnêtrzny postprocessing.
-Poprawny zakres dla warto¶ci \-pp zale¿y od kodeka, najczê¶ciej jest to
-0\-6, gdzie 0=wy³±czony, 6=powolny/\:najlepszy.
-.
-.TP
-.B \-pphelp (zobacz tak¿e \-vf pp)
-Pokazuje streszczenie dostêpnych filtrów postprocesu i sposób ich u¿ycia.
-.
-.TP
-.B \-ssf <tryb>
-Okre¶la parametry dla skalowania programowego.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-filtr rozmycia gaussowego (jasno¶æ)
-.IPs cgb=<0\-100>
-filtr rozmycia gaussowego (kolor)
-.IPs ls=<0\-100>
-filtr wyostrzaj±cy (jasno¶æ)
-.IPs cs=<0\-100>
-filtr wyostrzaj±cy (kolor)
-.IPs chs=<h>
-poziome przesuniêcie koloru
-.IPs cvs=<v>
-pionowe przesuniêcie koloru
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <tryb>
-Wybiera typ wyj¶cia stereo MP2/\:MP3.
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-lewy kana³
-.IPs 2
-prawy kana³
-.RE
-.PD 1
-.
-.TP
-.B \-sws <typ\ programowego\ skalowania> (zobacz tak¿e \-vf scale i \-zoom)
-Okre¶la algorytm skalowania programowego dla opcji \-zoom.
-Ma to wp³yw na sterowniki wyj¶ciowe video bez sprzêtowej akceleracji, np.\& x11.
-.sp 1
-Dostêpne s± typy:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-szybki, dwuliniowy
-.IPs 1
-dwuliniowy
-.IPs 2
-dwukubiczny (dobra jako¶æ) (domy¶lne)
-.IPs 3
-eksperymentalny
-.IPs 4
-najbli¿szy s±siad (z³a jako¶æ)
-.IPs 5
-area
-.IPs 6
-jasno¶æ dwukubicznie / kolor dwuliniowo
-.IPs 7
-gauss
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-naturalna dwusze¶cienna krzywa sklejana
-.RE
-.PD 1
-.sp 1
-.RS
-.I INFORMACJA:
-Niektóre opcje \-sws mo¿na dostosowaæ.
-Wiêcej informacji jest w opisie filtra video scale.
-.RE
-.
-.TP
-.B \-vc <[\-|+]kodek1,[\-|+]kodek2,...[,]>
-Ustala priorytetow± listê u¿ywanych kodeków video, wed³ug ich nazw
-w codecs.conf.
-U¿yj "-" przed nazw± kodeka aby go pomin±æ.
-U¿yj "+" orzed nazw± kodeka by go wymusiæ, to prawdopodobnie spowoduje b³êdy!
-Je¿eli lista zakoñczona jest ',', MPlayer bêdzie bra³ pod uwagê
-równie¿ niewymienione na niej kodeki.
-.br
-.I INFORMACJA:
-Mo¿esz pobraæ listê dostêpnych kodeków poprzez \-vc help.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-Wymusza kodek Win32/\:VfW DivX.
-.IPs "\-vc divx4,"
-Próbuj najpierw kodek divx4linux, pó¼niej pozosta³e.
-.IPs "\-vc \-divxds,\-divx,"
-Pomija kodeki Win32 DivX.
-.IPs "\-vc ffmpeg12,mpeg12,"
-Próbuj kodeki libavcodec MPEG-1/\:2, pó¼niej libmpeg2, potem inne.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <sterownik1,sterownik2,...>
-Ustala priorytetow± listê u¿ywanych rodzin kodeków video, zgodnie z ich nazwami
-w codecs.conf.
-Powraca do domy¶lnych, je¶li ¿adna z podanych rodzin kodeków nie dzia³a.
-.br
-.I INFORMACJA:
-Mo¿esz pobraæ listê dostêpnych rodzin kodeków poprzez \-vfm help.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-Najpierw próbuje libavcodec, potem Directshow, potem kodeki VFW i, je¶li nadal
-nic nie nie dzia³a, pozosta³e.
-.IPs "\-vfm xanim"
-Najpierw próbuje kodek XAnim.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (zobacz tak¿e \-zoom) (tylko MPlayer)
-Skaluje obraz do szeroko¶ci <x> (je¶li jest dostêpne skalowanie sprzêtowe lub
-programowe).
-Wy³±cza przeliczania proporcji.
-.
-.TP
-.B \-xvidopts <opcja1:opcja2:...>
-Podaje dodatkowe parametry przy dekodowaniu Xvid.
-.br
-.I INFORMACJA:
-Jako ¿e dekodowanie przy pomocy libavcodec jest szybsze ni¿ Xvid mo¿esz chcieæ
-u¿ywaæ postprocesingu z libavcodec (\-vf pp) i jej dekodera (\-vfm ffmpeg).
-.sp 1
-Wewnêtrzne filtry postprocesingu Xvid:
-.PD 0
-.RSs
-.IPs deblock-chroma (zobacz tak¿e \-vf pp)
-filtr odblokowywania barwy
-.IPs deblock-luma (zobacz tak¿e \-vf pp)
-filtr odblokowywania jasno¶ci
-.IPs dering-chroma (zobacz tak¿e \-vf pp)
-filtr usuwania dzwonienia barwy
-.IPs dering-luma (zobacz tak¿e \-vf pp)
-filtr usuwania dzwonienia jasno¶ci
-.IPs filmeffect (zobacz tak¿e \-vf noise)
-Dodaje sztuczn± ziarnisto¶æ filmu do video.
-Mo¿e zwiêkszyæ postrzegaln± jako¶æ, jednocze¶nie obni¿aj±c prawdziw± jako¶æ.
-.RE
-.sp 1
-.RS
-metody wy¶wietlania
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-W³±cza bezpo¶rednie wy¶wietlanie metod± 2 (direct rendering method 2).
-.IPs nodr2
-Wy³±cza bezpo¶rednie wy¶wietlanie metod± 2.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <warto¶æ> (zobacz tak¿e \-zoom)
-.PD 0
-.RSs
-.IPs warto¶æ<=8
-Skaluje obraz o wspó³czynnik <warto¶æ>.
-.IPs warto¶æ>8
-Ustawia szeroko¶æ na <warto¶æ> i oblicza wysoko¶æ tak, by utrzymaæ prawid³owe
-proporcje.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (zobacz tak¿e \-zoom) (tylko MPlayer)
-Skaluje obraz do wysoko¶ci <y> (je¶li jest dostêpne skalowanie sprzêtowe lub
-programowe)
-Wy³±cza przeliczenia proporcji.
-.
-.TP
-.B "\-zoom\ \ "
-W³acza skalowanie programowe, je¶li jest dostêpne.
-Umozliwi to skalowanie tym sterownikom wyj¶cia video (jak x11, fbdev), które
-nie maja skalowania sprzetowego, kiedy to MPlayer domy¶lnie wy³±cza skalowanie
-z powodów wydajnosciowych.
-.
-.
-.
-.SH FILTRY AUDIO
-Filtry audio umo¿liwiaj± modyfikacjê strumienia audio i jego w³asno¶ci.
-Sk³adnia jest nastêpuj±ca:
-.
-.TP
-.B \-af <filtr1[=parametr1:parametr2:...],filtr2,...>
-Ustawia ³añcuch filtrów audio.
-.PP
-.I INFORMACJA:
-Aby uzyskaæ pe³n± listê dostêpnych filtrów audio, skorzystaj z \-af help.
-.PP
-Dostêpne s± filtry:
-.
-.TP
-.B resample[=czprób[:sloppy][:typ]]
-Zmienia czêstotliwo¶æ próbkowania strumienia audio.
-Mo¿e byæ przydatny, je¶li masz kartê o sta³ej sta³ej, ustalonej
-czêstotliwo¶ci próbkowania lub je¶li posiadasz star± kartê,
-która obs³u¿y max 44.1kHz.
-Filtr ten jest automatycznie w³±czany, je¶li zajdzie taka potrzeba.
-Obs³uguje on 16-bitowy ca³kowitoliczbowy lub rzeczywisty, natywny format endian
-jako dane wej¶ciowe.
-.br
-.I INFORMACJA:
-Z MEncoderem musisz te¿ u¿yæ opcji \-srate <czprób>.
-.PD 0
-.RSs
-.IPs <czprób>
-Wyj¶ciowa czêstotliwo¶æ próbkowania w Hz.
-Przyjmuje warto¶ci z zakresu od 8000 do 192000.
-Je¿eli czêstotliwo¶æ wej¶ciowa i wyj¶ciowa s± takie same albo je¿eli ten
-parametr jest pominiêty, filtr jest automatycznie wy³±czany.
-Wysoka czêstotliwo¶æ przewa¿nie zwiêksza jako¶æ d¼wiêku, szczególnie
-w po³±czeniu z innymi filtrami.
-.IPs <sloppy>
-Pozwala (1) lub nie pozwala (0), aby czêstotliwo¶æ wyj¶ciowa ró¿ni³a siê w
-nieznacznym stopniu od warto¶ci podanej przez parametr <czprób> (domy¶lnie: 1).
-Opcja ta mo¿e zostaæ u¿yta je¿eli pocz±tek odtwarzania jest bardzo wolny.
-.IPs <typ>
-Okre¶la metodê wykorzystywan± przy zmianie próbkowania.
-.RSss
-0: interpolacja liniowa (szybka, ale niska jako¶æ, szczególnie podczas
-zwiêkszania czêstotliwo¶ci próbkowania)
-.br
-1: wielofazowe przetwarzanie banku filtrów przy u¿yciu obliczeñ
-ca³kowitoliczbowych (filterbank and integer processing)
-.br
-2: wielofazowe przetwarzanie banku filtrów przy u¿yciu obliczeñ
-zmiennoprzecinkowych (filterbank and integer processing)
-(najwolniejsze, ale daj±ce najlepsz± jako¶æ)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-Ustawi czêstotliwo¶æ wyj¶ciow± filtru na 44100Hz, korzystaj±c
-z dok³adnego skalowania i interpolacji liniowej.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=czprób[:d³ug[:lin[:liczba[:obcinanie]]]]]
-Zmienia czêstotliwo¶æ próbkowania strumienia audio na ca³kowit± liczbê <czprób>
-wyra¿on± w Hz.
-Obs³uguje tylko 16-bitowy natywny format endian.
-.br
-.I INFORMACJA:
-Z MEncoderem musisz te¿ u¿yæ opcji \-srate <czprób>.
-.PD 0
-.RSs
-.IPs <czprób>
-wyj¶ciowa czêstotliwo¶æ próbkowania
-.IPs <d³ug>
-d³ugo¶æ filtru ze wzglêdu na ni¿sz± czêstotliwo¶æ próbkowania
-(domy¶lnie: 16)
-.IPs <lin>
-je¶li 1 to filtry bêd± liniowo interpolowane pomiêdzy wielofazowymi pozycjami
-.IPs <liczba>
-log2 z liczby wielofazowych pozycji
-(..., 10->1024, 11->2048, 12->4096, ...)
-(domy¶lnie: 10->1024)
-.IPs <obcinanie>
-czêstotliwo¶æ obcinania (0.0\-1.0), domy¶lne ustawienie zale¿y od
-d³ugo¶ci filtru
-.RE
-.PD 1
-.
-.TP
-.B sweep[=szybko¶æ]
-Wykonuje przemiatanie sinusoidalne.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-Delta funckji sinusoidalnej, ¿eby us³yszeæ przemiatanie dobierz bardzo ma³e
-warto¶ci.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=flaga]
-Head-related transfer function (funkcja transferowa zwi±zana z g³ow±):
-Konwertuje wielokana³owe audio do dwóch kana³ów przeznaczonych dla s³uchawek,
-zachowuj±c przestrzenno¶æ d¼wiêku.
-.sp 1
-.PD 0
-.RS
-.IPs "Flaga Znaczenie"
-.IPs "m macierzowe dekodowanie tylnego kana³u"
-.IPs "s dwukana³owe dekodowanie macierzowe"
-.IPs "0 brak dekodowania macierzowego (domy¶lne)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-10 oktawowy korektor graficzny zaimplementowany przy pomocy 10 filtrów pasmowych IIR.
-Oznacza to, ¿e dzia³a bez wzglêdu na format odtwarzanego d¼wiêku.
-¦rodkowe czêstotliwo¶ci dla tych 10 pasm to:
-.sp 1
-.PD 0
-.RS
-.IPs "Nr czêstotliwo¶æ"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-Je¿eli czêstotliwo¶æ próbkowania odtwarzanego d¼wiêku jest ni¿sza ni¿
-¶rodkowa czêstotliwo¶æ dla odpowiedniego pasma, to jest ono wy³±czane.
-Znanym b³êdem jest to, ¿e w³a¶ciwo¶ci dla najwy¿szego pasma nie s± ca³kowicie
-symetryczne, je¿eli czêstotliwo¶æ próbki jest zbli¿ona do czêstotliwo¶ci
-¶rodkowej danego pasma.
-Mo¿na obej¶æ ten problem zwiêkszaj±c jej czêstotliwo¶æ, zanim ta dotrze do
-filtru korektora.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-Liczby rzeczywiste okre¶laj±ce przyrost w dB dla ka¿dego pasma czêstotliwo¶ci
-(\-12\-12).
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-Wzmocni d¼wiêk w wy¿szych i ni¿szych zakresach czêstotliwo¶ci, wyciszaj±c
-go jednocze¶nie oko³o 1kHz.
-.RE
-.PD 1
-.
-.TP
-.B channels=lkan[:nr:od1:do1:od2:do2:od3:do3:...]
-Dodaje, usuwa, kopiuje lub przekierowuje kana³y.
-Je¿eli podana jest tylko opcja <lkan>, filtr u¿ywa domy¶lnego przekierowywania,
-które dzia³a nastêpuj±co: Je¶li liczba kana³ów wyj¶ciowych jest wiêksza ni¿
-wej¶ciowych, tworzone s± puste kana³y (w przypadku miksowania z mono do stereo,
-kana³ mono jest powtarzany w obu kana³ach wyj¶ciowych).
-Je¿eli liczba kana³ów wyj¶ciowych jest mniejsza ni¿ wej¶ciowych, nadmiarowe
-kana³y s± usuwane.
-.PD 0
-.RSs
-.IPs <lkan>
-liczba wyj¶ciowych kana³ów (1\-6)
-.IPs "<nr>\ "
-liczba dróg przekierowania (1\-6)
-.IPs <od1:do1:od2:do2:od3:do3:...>
-Pary liczb z zakresu od 0 do 5, które okre¶laj±, gdzie przekierowaæ konkretny
-kana³.
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-Zmieni liczbê kana³ów na 4 i ustawi 4 drogi przekierowania, które zamieni±
-kana³ 0 z 1, a 2 i 3 pozostawi± niezmienione.
-Zauwa¿, ¿e je¿eli odtwarzany by³ zbiór zawieraj±cy 2 kana³y, kana³y 2 i 3
-bêd± puste, ale 0 i 1 zostan± zamienione.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-Zmieni liczbê kana³ów na 6 i ustawi 4 drogi przekierowania, które
-skopiuj± kana³ 0 do 0 do 3, a kana³y 4 i 5 bêd± zawiera³y ciszê.
-.RE
-.PD 1
-.
-.TP
-.B format[=format] (zobacz tak¿e \-format)
-Konwertuje format próbki.
-Uruchamiany automatycznie, je¿eli jest potrzebny przez kartê d¼wiêkow± lub
-inny filtr.
-.PD 0
-.RSs
-.IPs <format>
-Wybiera ¿±dany format.
-Ogólny format to 'zbe', gdzie 'z' oznacza znak ('s' dla ze znakiem lub 'u' dla
-bez znaku), 'b' oznacza ilo¶æ bitów na próbkê (16, 24 lub 32) a 'e' oznacza
-który bajt jest wysoki ('le' oznacza little-endian, 'be' big-endian a 'ne'
-format w³a¶ciwy dla komputera).
-Prawid³owymi warto¶ciami (miêdzy innymi) s±: 's16le', 'u32be' i 'u24ne'.
-Wyj±tkami od tej regu³y bêd±cymi ci±gle poprawnymi formatami s±: u8, s8, floatle,
-floatbe, floatne, mulaw, alaw, mpeg2, ac3 i imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]
-Implementuje programow± regulacjê g³o¶no¶ci.
-U¿ywaj go ostro¿nie, gdy¿ mo¿e obni¿yæ stosunek sygna³u do szumu.
-W wiêkszo¶ci wypadków najlepszym rozwi±zaniem jest ustawienie miksera PCM na
-maksymaln± warto¶æ, wy³±czenie filtru i regulacja g³o¶no¶ci poziomem g³o¶no¶ci
-ogólnej miksera.
-Je¿eli Twoja karta ma cyfrowy mikser PCM zamiast analogowego i zauwa¿ysz
-przek³amania, u¿yj miksera MASTER.
-Je¿eli do komputera pod³±czony jest zewnêtrzny wzmacniacz (co zazwyczaj ma
-miejsce), poziom ha³asu mo¿e zostaæ zredukowany poprzez dostrojenie g³ównego
-poziomu g³o¶no¶ci (master level) i pokrêt³a g³o¶no¶ci,
-dopóki syczenie w tle nie ustanie.
-.br
-Ten filtr ma inn± w³a¶ciwo¶æ: Mierzy ogólny, maksymalny poziom d¼wiêku
-i wypisuje go po zakoñczeniu MPlayera.
-Oszacowana g³o¶no¶æ mo¿e byæ u¿yta do ustawienia poziomu d¼wiêku w MEncoderze
-tak, by by³ u¿ywany maksymalny zasiêg dynamiczny.
-.br
-.I INFORMACJA:
-Filtr mo¿e zostaæ u¿yty tylko jeden raz przy przetwarzaniu ka¿dego strumienia
-audio.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-Ustawia wzmocnienie w dB dla wszystkich kana³ów w strumieniu od
-warto¶ci \-200dB do +60dB, gdzie \-200dB oznacza ca³kowite wyciszenie
-a +60dB 1000-krotne wzmocnienie (domy¶lnie: 0).
-.IPs "<sc>\ "
-W³±cza (1) lub wy³±cza (2) soft-clipping (miêkkie obcinanie).
-Soft-clipping mo¿e sprawiæ, ¿e d¼wiêk stanie siê ³±godniejszy, je¿eli
-zastosowano wysokie poziomy g³o¶no¶ci.
-Uaktywnij tê opcjê, je¿eli moc g³o¶ników jest zbyt niska.
-.br
-.I UWAGA:
-Metoda ta powoduje przek³amania i powinna byæ u¿yta tylko w ostateczno¶ci.
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-Wzmocni g³o¶no¶æ o 10.1dB i zastosuje hard-clipping (twarde obcinanie), je¿eli
-poziom jest zbyt wysoki.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:l01:l02:...l10:l11:l12:...ln0:ln1:ln2:...]
-Dowolnie miksuje kana³y.
-Najpro¶ciej t³umacz±c jest to po³±czenie filtru volume i channels,
-które mo¿e zostaæ wykorzystane do zmiksowania wielu kana³ów do kilku,
-np.\& d¼wiêku w trybie stereo do mono lub zmiany "szeroko¶ci" centralnego
-g³o¶nika w systemie d¼wiêku przestrzennego.
-Filtr jest trudny w u¿yciu i bêdzie wymaga³ zastosowania ¿mudnej metody prób i
-b³êdów, zanim zostanie osi±gniêty oczekiwany rezultat.
-Liczba parametrów filtru zale¿y od liczby kana³ów.
-Przyk³ad jak zmiksowaæ 6-kana³owy d¼wiêk do 2 kana³ów z wykorzystaniem
-tego filtru znajduje siê w czê¶ci przyk³adów blisko koñca.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-liczba kana³ów wyj¶ciowych (1\-6)
-.IPs <lij>
-Jak du¿o z kana³u wej¶ciowego i jest miksowane w kana³ wyj¶ciowy j (0\-1).
-Zatem najpierw jest n liczb opisuj±cych co robiæ z pierwszym kana³em
-wej¶ciowym, potem n liczb dzia³aj±cych na drugim kanale wej¶ciowym itd.
-Je¶li dla którego¶ kana³u wej¶ciowego nie podasz ¿adnych liczb przyjmowane
-jest 0.
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-Zmiksuje d¼wiêk ze stereo do mono.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-Da 3 kana³y wyj¶ciowe, pozostawiaj±c 0 i 1 bez zmian oraz miksuj±c 0 i 1
-do 2 kana³u (który mo¿e, na przyk³ad, zostaæ wys³any do subwoofera).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:kan]
-Dodaje kana³ subwoofera do strumienia d¼wiêkowego.
-Dane audio u¿yte do stworzenia tego kana³u s± ¶redni± d¼wiêku w 0 i 1 kanale.
-D¼wiêk wynikowy zostanie poddany dzia³aniu dolnoprzepustowego filtru
-Butterwortha czwartego rzêdu z domy¶ln± czêstotliwo¶ci± graniczn±
-na poziomie 60Hz i dodany do oddzielnego kana³u w strumieniu audio.
-.br
-.I UWAGA:
-Wy³±cz ten filtr, je¿eli odtwarzasz DVD z d¼wiêkiem w systemie Dolby Digital
-5.1, w przeciwnym wypadku jego dzia³anie zak³óci d¼wiêk subwoofera.
-.PD 0
-.RSs
-.IPs "<fc>\ "
-Czêstotliwo¶æ graniczna filtru dolnoprzepustowego wyra¿ona w Hz (20Hz do 300Hz)
-(domy¶lnie: 60Hz).
-Dla uzyskania najlepszego rezultatu, spróbuj ustawiæ j± na jak najni¿sz±.
-Wzbogaci to do¶wiadczenia p³yn±ce z u¿ywania d¼wiêku stereo i w systemie
-przestrzennym.
-.IPs "<kan>\ "
-Okre¶la numer kana³u, do którego zostanie wys³any d¼wiêk subwoofera.
-Mo¿e przyjmowaæ warto¶ci z zakresu od 0 do 5 (domy¶lnie: 5).
-Zauwa¿, ¿e liczb± kana³ów zwiêkszy siê do <kan>, je¿eli zajdzie taka potrzeba.
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-Doda kana³ subwoofera z ustawion± czêstotliwo¶ci± graniczn± na 100Hz
-do 4 kana³u wyj¶ciowego.
-.RE
-.PD 1
-.
-.TP
-.B center
-Towrzy kana³ centralny z przednich kana³ów.
-Narazie mo¿e charakteryzowaæ siê nisk± jako¶ci±, poniewa¿ nie wykorzystuje
-filtru górnoprzepustowego dla prawid³owego selekcjonowania, ale, zamiast
-tego, u¶rednia i dzieli na po³owê oba kana³y.
-.PD 0
-.RSs
-.IPs "<ch>\ "
-Okre¶la numer kana³u, do którego wstawiony zostanie kana³ centralny.
-Warto¶æ tego parametru mo¿e byæ z przedzia³u 0 do 5 (domy¶lnie: 5).
-Zauwa¿, ¿e liczba kana³ów bêdzie automatycznie zwiêkszonado <ch>, je¶li
-zajdzie taka potrzeba.
-.RE
-.PD 1
-.
-.TP
-.B surround[=opó¼nienie]
-Dekoder macierzowo zakodowanego d¼wiêku przestrzennego takiego jak Dolby
-Surround.
-Wiele plików zawieraj±cych 2 kana³y audio, w rzeczywisto¶ci zawiera d¼wiêk
-przestrzenny zakodowany w tym systemie.
-Aby u¿yæ tego filtru potrzebujesz karty z obs³ug± przynajmniej 4 kana³ów.
-.PD 0
-.RSs
-.IPs <opó¼nienie>
-Ustawia opó¼nienie w ms dla tylnych g³o¶ników (0ms do 1000ms) (domy¶lnie: 20ms).
-Powinno byæ ustawione tak: je¶li d1 to odleg³o¶æ od pozycji s³uchacza do
-przednich g³o¶ników a d2 to odleg³o¶æ od tylnych g³o¶ników, to opó¼nienie
-powinno byæ ustawione na 15ms, je¿eli d1 <= d2 i 15 + 5*(d1-d2) je¿eli d1 > d2.
-Domy¶lna warto¶æ dla d to 20ms.
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-Doda d¼wiêk przestrzenny dekoduj±c d¼wiêk dla tylnych g³o¶ników z opó¼nieniem
-15ms.
-.RE
-.PD 1
-.
-.TP
-.B delay[=kan1:kan2:...]
-Opó¼nia d¼wiêk wys³any do g³o¶ników, tak ¿eby dotar³ on z ró¿nych kana³ów
-jednocze¶nie.
-Jest to u¿yteczne, je¿eli masz wiêcej ni¿ 2 g³o¶niki.
-.PD 0
-.RSs
-.IPs kan1,kan2,...
-Opó¼nienie w ms, które ma byæ zastosowane do ka¿dego kana³u
-(liczba rzeczywsta z zakresu od 0 do 1000).
-.RE
-.PD 1
-.sp 1
-.RS
-Aby obliczyæ opó¼nienie dla poszczególnych kana³ów, wykonaj nastêpuje czynno¶ci:
-.IP 1. 3
-Oblicz odleg³o¶æ od g³o¶ników do pozycji s³uchacza (w metrach), da Ci to
-warto¶ci od s1 do s5 (dla systemu 5.1).
-Nie ma sensu braæ pod uwagê subwoofera (i tak nie us³yszysz ró¿nicy).
-.IP 2. 3
-Odejmij odleg³o¶æ od s1 do s5 od odleg³o¶ci maksymalnej
-tzn. s[i] = max(s) \- s[i]; i = 1...5.
-.IP 3.
-Oblicz ¿±dane opó¼nienia w ms jako d[i] = 1000*s[i]/342; i = 1...5.
-.RE
-.PD 0
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-Opó¼ni d¼wiêk w lewym i prawym przednim g³o¶niku o 10.5ms, dwa
-tylne kana³y i subwoofer o 0ms, a centralny o 7ms.
-.RE
-.PD 1
-.
-.TP
-.B export[=mmapowany_zbiór[:npróbek]]
-Eksportuje przychodz±cy sygna³ do innych procesów u¿ywaj±c mapowania pamiêci
-(mmap()).
-Zmapowane obszary zawieraj± nag³ówek:
-.sp 1
-.nf
-int lkan /*liczba kana³ów*/
-int rozm /*rozmiar bufora*/
-unsigned long long licznik /*U¿ywany do zachowania synchronizacji,
- aktualizowany za ka¿dym razem kiedy
- eksportowane s± nowe dane.*/
-.fi
-.sp 1
-Reszta to 16-bitowe dane (bez przeplotu).
-.PD 0
-.RSs
-.IPs <mmapowany_zbiór>
-Zbiór, na który nale¿y mapowaæ dane
-(domy¶lnie: ~/.mplayer/\:mplayer-af_export).
-.IPs <npróbek>
-ilo¶æ próbek na kana³ (domy¶lnie: 512)
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-Wyeksportuje 1024 próbek na kana³ do "/tmp/mplayer-af_export".
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=wsp]
-Zwiêksza (liniowo) ró¿nicê miêdzy lewym a prawym kana³em
-dodaj±c efekt "przekazu na ¿ywo" do odtwarzania.
-.PD 0
-.RSs
-.IPs <wsp>
-Okre¶la wspó³czynnik ró¿nicy wyra¿ony liczb± rzeczywist± (domy¶lnie: 2.5).
-Je¶li podasz mu warto¶æ 0.0, d¼wiêk bêdzie odtwarzany w trybie mono
-(¶rednia z dwóch kana³ów), przy 1.0, d¼wiêk pozostanie niezmieniony, a je¶li
-podasz \-1.0, lewy kana³ zostanie zamieniony z prawym.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=metoda]
-Maksymalnie zwiêksza g³o¶no¶æ, nie zniekszta³caj±c przy tym d¼wiêku.
-.PD 0
-.RSs
-.IPs <metoda>
-Ustawia u¿wan± metodê.
-.RSss
-1: U¿ywa pojedynczej próbki by wyg³adziæ zaburzenia u¿ywaj±c standardowej
-¶redniej wa¿onej z poprzednich próbek (domy¶lne).
-.br
-2: U¿ywa kilku próbek by wyg³adziæ zaburzenia u¿ywaj±c standardowej
-¶redniej wa¿onej z poprzednich próbek.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ladspa=plik:etykieta[:opcje...]
-£aduje wtyczkê LADSPA (Linux Audio Developer's Simple Plugin API).
-Filtr ten mo¿e mieæ wiele instancji, wiêc mo¿na u¿ywaæ kilku wtyczek LADSPA
-jednocze¶nie.
-.PD 0
-.RSs
-.IPs <plik>
-Okre¶la plik biblioteki z wtyczk± LADSPA.
-Je¿eli zmienna LADSPA_PATH jest ustawiona, program szuka tam okre¶lonego pliku.
-Je¿eli jednak nie jest ona ustawiona, musisz podaæ pe³n± ¶cie¿kê do tego zbioru.
-.IPs <etykieta>
-Okre¶la filtr wewn±trz biblioteki.
-Niektóre zbiory zawieraj± tylko jeden filtr,
-z kolei inne mog± zawieraæ ich wiele.
-Podanie tutaj parametru "help" spowoduje wy¶wietlenie wszystkich dostêpnych
-filtrów w obrêbie konkretnej biblioteki, zastêpuje to funkcjê "listplugins"
-z pakietu SDK LADSPA.
-.IPs <parametry>
-Parametry s± liczbami rzeczywistymi wiêkszymi lub równymi zeru, które okre¶laj±
-zachowanie za³adowanej biblioteki (np. opó¼nienie, próg czy wzmocnienie).
-W trybie "gadatliwym" (dodaj flagê \-v do wiersza poleceñ MPlayera), wypisywane
-s± wszystkie mo¿liwe parametry i ich poprawne zakresy.
-Zastêpuje to funkcjê "analyseplugin" z pakietu SDK LADSPA.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-Filtr kompresuj±cy/rozkompresowuj±cy przdatny przy wej¶ciu z mikrofonu.
-Zapobiega przenoszeniu artefaktów przy du¿ym poziomie d¼wiêku, a zg³asnia
-przy niskm.
-Filtr ten nie by³ testowany i mo¿e byæ nawet bezu¿yteczny.
-.
-.TP
-.B "gate\ \ \ "
-Filtr bramkuj±cy szum podobny do filtru comp.
-Filtr ten nie by³ testowany i mo¿e byæ nawet bezu¿yteczny.
-.
-.
-.
-.SH "FILTRY VIDEO"
-Filtry video umo¿liwiaj± Ci modyfikacjê strumienia video i jego
-w³asno¶ci.
-Sk³adnia jest nastêpuj±ca:
-.
-.TP
-.B \-vf <filtr1[=parametr1:parametr2:...],filtr2,...>
-Ustawia listê filtrów video i ich opcji.
-.
-.TP
-.B \-vop <...,filtr3[=parametr1:parametr2:...],filtr2,filtr1> (PRZESTARZA£E)
-Ustawia listê filtrów video do zastosowania w
-.B odwrotnej
-kolejno¶ci.
-Odradzane na rzecz \-vf.
-.PP
-Wiele parametrów jest opcjonalnych i je¿eli zostan± pominiête, ich warto¶ci
-ustawiane s± na domy¶lne.
-U¿yj "\-1", aby wyra¼nie nakazaæ ustawiania warto¶ci domy¶lnej.
-Parametry w:h oznaczaj± szeroko¶æ x wysoko¶æ w pikselach, x:y oznacza pozycjê
-od lewego górnego rogu wiêkszego obrazu.
-.br
-.I INFORMACJA:
-Mo¿esz pobraæ listê dostêpnych filtrów video poprzez \-vf help.
-.sp 1
-Filtry obrazu s± zorganizowane w listy.
-Jest kilka poleceñ zarz±dzaj±cych list± filtrów.
-.
-.TP
-.B \-vf\-add <filtr1[,filtr2,...]>
-Dodaje podane jako parametry filtry do listy filtrów.
-.
-.TP
-.B \-vf\-pre <filtr1[,filtr2,...]>
-Poprzedza listê filtrów podanymi filtrami.
-.
-.TP
-.B \-vf\-del <poz1[,poz2,...]>
-Usuwa filtry na podanych pozycjach.
-Pozycje rozpoczynaj± siê od 0, ujemne liczby odnosz± siê do koñca listy
-(\-1 to ostani).
-.
-.TP
-.B \-vf\-clr
-Usuwa wszystkie filtry.
-.PP
-Je¶li filtr to obs³uguje mo¿esz odnosiæ siê do parametrów podaj±c ich nazwy.
-.
-.TP
-.B \-vf <filtr>=help
-Wy¶wietla nazwy parametrów i zakresy warto¶ci dla podanego filtru.
-.
-.TP
-.B \-vf <filtr=nazwany_parametr1=warto¶æ1[:nazwany_parametr2=warto¶æ2:...]>
-Ustawia nazwany parametr na podan± warto¶æ.
-U¿yj on/\:off albo yes/\:no ¿eby ustawiæ parametry typu prze³±cznik.
-.PP
-Dostêpne s± filtry:
-.
-.TP
-.B crop[=w:h:x:y]
-Kadruje dan± czê¶æ partii obrazu i wyrzuca resztê.
-Przydatne do usuwania czarnych obramowañ z szerokoekranowych filmów.
-.PD 0
-.RSs
-.IPs <w>,<h>
-Szeroko¶æ i wysoko¶æ obciêcia, domy¶lnie oryginalna szeroko¶æ i wysoko¶æ.
-.IPs <x>,<y>
-Pozycja wycinanego obrazu, domy¶lnie ¶rodek.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=limit:round]
-Oblicza niezbêdne parametry przycinania i wy¶wietla propozycje na standardowe
-wyj¶cie.
-.PD 0
-.RSs
-.IPs <limit>
-Próg, który mo¿e byæ opcjonalnie podany od niczego (0) do wszystkiego (255)
-(domy¶lnie: 24).
-.br
-.IPs <round>
-Warto¶æ, przez któr± szeroko¶æ/\:wysoko¶æ powinny byæ podzielne (domy¶lnie: 16).
-Offset jest automatycznie dopasowywany tak, aby wycentrowaæ film.
-U¿yj 2, aby otrzymaæ równe wymiary (wymagane przez film 4:2:2).
-16 to najlepsza warto¶æ przy kodowaniu do wiêkszo¶ci kodeków.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=w:h:x:y]
-Reaguje na przyjmuj±c± dwa parametry dyrektywê "change_rectangle" w zbiorze
-input.conf.
-.PD 0
-.RSs
-.IPs <w>,<h>
-szeroko¶æ i wysoko¶æ (domy¶lnie: \-1, maksymalny mo¿liwy rozmiar przy którym
-granice wci±¿ s± widoczne.)
-.IPs <x>,<y>
-pozycja lewego górnego rogu (domy¶lnie: \-1, najwy¿ej i najbardziej w lewo jak
-to tylko mo¿liwe)
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-Zwiêksza rozdzielczo¶æ (nie skaluje) filmu do podanej warto¶ci i umieszcza
-nieprzeskalowany obraz pod wspó³rzêdnymi x, y.
-Mo¿e byæ u¿yty do umieszczenia napisów/\:OSD w otrzymanym czarnym pasku.
-.RSs
-.IPs <w>,<h>
-Szeroko¶æ i wysoko¶æ po poszerzeniu (domy¶lnie: oryginalna szeroko¶æ, wysoko¶æ).
-Ujemne warto¶ci traktowane s± jak zmiany oryginalnej wielko¶ci
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-Dodaje 50 pixeli ramki na dole obrazka.
-.RE
-.PD 1
-.IPs <x>,<y>
-pozycja oryginalnego obrazu na rozszerzonym obrazie (domy¶lnie: na ¶rodku)
-.IPs "<o>\ \ "
-wy¶wietlanie OSD/\:napisów
-.RSss
-0: wy³±czone (domy¶lne)
-.br
-1: w³±czone
-.REss
-.IPs "<a>\ \ "
-Rozszerza tak, by pasowa³o do proporcji, a nie rozdzielczo¶ci (domy¶lnie: 0).
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IP expand=800::::3/4
-Powiêksza do 800x600, chyba ¿e film jest w wiêkszej rozdzielczo¶ci,
-wtedy powiêksza tak, by mia³ proporcje 3/4.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Zaokr±gla w górê tak ¿eby wysoko¶æ i szeroko¶æ by³y podzielne przez <r>
-(domy¶lnie: 1).
-.RE
-.
-.TP
-.B flip (zobacz tak¿e \-flip)
-Odwraca obraz do góry nogami.
-.
-.TP
-.B "mirror\ "
-Tworzy lustrzane odbicie wzglêdem osi Y.
-.
-.TP
-.B rotate[=<0\-7>]
-Obraca obraz o 90 stopni i ewentualnie go odbija.
-Dla warto¶ci pomiêdzy 4\-7 obracanie wykona siê tylko je¿eli obraz
-jest wy¿szy ni¿ szerszy.
-.RSs
-.IPs 0
-Obraca o 90 stopni w prawo i odbija (domy¶lne)
-.IPs 1
-Obraca o 90 stopni w prawo.
-.IPs 2
-Obraca o 90 stopni w lewo.
-.IPs 3
-Obraca o 90 stopni w lewo i odbija.
-.RE
-.
-.TP
-.B scale[=w:h[:przeplot[:pom_kol[:parametr[:parametr2[:presize]]]]]]
-Skaluje obraz (wolnym) programowym skalatorem i wykonuje konwersjê
-kolorów YUV<\->RGB (zobacz tak¿e \-sws).
-.RSs
-.IPs <w>,<h>
-Przeskalowana szeroko¶æ/\:wysoko¶æ (domy¶lnie: oryginalna szeroko¶æ/\:wysoko¶æ)
-.br
-.I INFORMACJA:
-Je¿eli podano \-zoom, a podane filtry (w³±czaj±c w to libvo) nie potrafi±
-skalowaæ, domy¶lnie jest d_width/\:d_height!
-.RSss
- 0: skalowana d_width/\:d_height
-.br
-\-1: oryginalna wysoko¶æ/\:szeroko¶æ
-.br
-\-2: Oblicza w/\:h u¿ywaj±c tej drugiej warto¶ci i preskalowanych proporcji.
-.br
-\-3: Oblicza w/\:h u¿ywaj±c tej drugiej warto¶ci i oryginalnych proporcji.
-.br
-\-(n+8): Jak \-n powy¿ej, ale zaokr±gla wymiar do najbli¿szej wielokrotno¶ci 16.
-.REss
-.IPs <przeplot>
-Prze³±cza skalowanie z przeplotem.
-.RSss
-0: wy³±czone (domy¶lne)
-.br
-1: w³±czone
-.REss
-.IPs <pom_kol>
-opuszcza informacjê o kolorach
-.RSss
-0: U¿yje wszystkich dostêpnych linii wej¶cia koloru.
-.br
-1: U¿yje tylko co 2g± liniê wej¶cia koloru.
-.br
-2: U¿yje tylko co 4t± liniê wej¶cia koloru.
-.br
-3: U¿yje tylko co 8m± liniê wej¶cia koloru.
-.REss
-.IPs "<parametr>[:<parametr2>] (zobacz tak¿e \-sws)"
-Ustawia parametry skalowania zale¿nie od tego jaki skalator zosta³ wybrany
-przez \-sws.
-.RSss
-\-sws 2 (dwusze¶ciennie): B (rozmazywanie) i C (dzwonienie)
-.br
-0.00:0.60 domy¶lnie
-.br
-0.00:0.75 "precyzyjna dwusze¶cienna" VirtualDuba
-.br
-0.00:0.50 krzywa sklejana Catmull-Rom
-.br
-0.33:0.33 krzywa sklejana Mitchell-Netravali
-.br
-1.00:0.00 sze¶cienna krzywa B-sklejana
-.br
-\-sws 7 (gaussian): ostro¶æ (0 (g³adkie) \- 100 (wyostrzone))
-.br
-\-sws 9 (lanczos): d³ugo¶æ filtra (1\-10)
-.REss
-.IPs <presize>
-Skaluje do standardowych wielko¶ci.
-.RSss
-qntsc: 352x240 (æwieræ ekranu NTSC)
-.br
-qpal: 352x288 (æwieræ ekranu PAL)
-.br
-ntsc: 720x480 (standardowe NTSC)
-.br
-pal: 720x576 (standardowe PAL)
-.br
-sntsc: 640x480 (NTSC z kwadratowymi pikselami)
-.br
-spal: 768x576 (PAL z kwadratowymi pikselami)
-.REss
-.RE
-.
-.TP
-.B dsize[=proporcja|w:h:metoda-proporcji:r]
-Zmienia po¿±dan± wielko¶æ obrazu/\:proporcjê w wybranym miejscu ³añcucha
-filtrów.
-Proporcja mo¿e byæ podana jako u³amek (4/\:3) lub liczba rzeczywista (1.33).
-Zamiast tego mo¿na podaæ dok³adne wymiary wyj¶cia.
-Proszê zauwa¿yæ, ¿e filtr ten
-.B nie
-przeskalowywuje nic samemu; on tylko ustawia
-co nastêpne skalowania (sprzêtowe lub programowe) zrobi± przy dostosowywaniu do
-prawid³owych proporcji.
-.RSs
-.IPs <w>,<h>
-Nowa wysoko¶æ i szeroko¶æ obrazu
-Mo¿e byæ jedn± z tych specjalnych warto¶ci:
-.RSss
- 0: oryginalna wysoko¶æ i szeroko¶æ wy¶wietlania
-.br
-\-1: oryginalna wysoko¶æ\:/szeroko¶æ filmu (domy¶lne)
-.br
-\-2: Oblicza w/\:h na podstawie drugiej wielko¶ci i oryginalnych proporcji
-wy¶wietlania.
-.br
-\-3: Oblicza w/\:h na podstawie drugiej wielko¶ci i oryginalnych proporcji
-filmu.
-.REss
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IP dsize=800:\-2
-Daje rozdzielczo¶æ wyj¶ciow± 800x600 dla filmu w proporcji 4/3,
-lub 800x450 dla filmu w proporcji 16/9.
-.RE
-.IPs <metoda-proporcji>
-Zmienia wysoko¶æ i szeroko¶æ wed³ug oryginalnych proporcji.
-.RSss
-\-1: Ignoruje oryginalne proporcje (domy¶lne).
-.br
- 0: Utrzymaj proporcje wy¶wietlania u¿ywaj±c <w> i <h> jako maksymalnej
-rozdzielczo¶ci.
-.br
- 1: Utrzymaj proporcje wy¶wietlania u¿ywaj±c <w> i <h> jako minimalnej
-rozdzielczo¶ci.
-.br
- 2: Utrzymaj proporcje filmu u¿ywaj±c <w> i <h> jako maksymalnej
-rozdzielczo¶ci.
-.br
- 3: Utrzymaj proporcje filmu u¿ywaj±c <w> i <h> jako minimalnej
-rozdzielczo¶ci.
-.REss
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-Daje rozdzielczo¶æ wyj¶ciow± co najwy¿ej 800x600, lub mniejsz± ¿eby utrzymaæ
-proporcje.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-Zaokr±gla w górê tak by wysoko¶æ i szeroko¶æ by³y podzielne przez <r>
-(domy¶lnie: 1).
-.RE
-.
-.TP
-.B "yuy2\ \ \ "
-Wymusza konwersjê programow± YV12/\:I420/\:422P na YUY2.
-Przydatne przy kartach/\:sterownikach video, które maj± woln± obs³ugê YV12,
-ale szybk± YUY2.
-.
-.TP
-.B "yvu9\ \ \ "
-Wymusza programow± konwersjê przestrzeni kolorów YVU9 na YV12.
-Odradzany na rzecz skalowania programowego.
-.
-.TP
-.B "yuvcsp\ "
-Obcina warto¶ci kolorów YUV do zakresu CCIR 601 bez przeprowadzania prawdziwej
-konwersji.
-.
-.TP
-.B rgb2bgr[=swap]
-Konwersja kolorów RGB 24/\:32 <\-> BGR 24/\:32
-.PD 0
-.RSs
-.IPs "swap\ "
-Dodatkowo zamienia R <-> B.
-.RE
-.PD 1
-.
-.TP
-.B palette
-Konwersja przestrzeni kolorów RGB/\:BGR 8 \-> 15/\:16/\:24/\:32bpp przy u¿yciu
-palety.
-.
-.TP
-.B format[=fourcc]
-Ograniczenie przestrzeni kolorów dla nastêpnego filtru bez robienia ¿adnej
-konwersji.
-Stosowaæ razem z filtrem skaluj±cym do prawdziwej konwersji.
-.br
-.I INFORMACJA:
-Listê dostêpnych formatów mo¿na uzskaæ wywo³uj±c format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-nazwa formatu taka jak rgb15, bgr24, yv12, itp (domy¶lnie: yuy2)
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-Ograniczenie przestrzeni kolorów dla nastêpnego filtru bez robienia ¿adnej
-konwersji.
-Przeciwnie ni¿ filtr formatu, pozwala na u¿ycie dowolnej przestrzeni kolorów
-.B z wyj±tkiem
-tej, któr± okre¶li³e¶.
-.br
-.I INFORMACJA:
-Listê dostêpnych formatów mo¿na uzyskaæ wywo³uj±c format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-nazwa formatu taka jak rgb15, bgr24, yv12, itp (domy¶lnie: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=filtr1[:opcja1[:opcja2...]]/\:[\-]filtr2...] (zobacz tak¿e \-pphelp)
-Ta opcja uruchamia okre¶lony ³añcuch podfiltrów postprocessingu.
-Podfiltry musz± byæ oddzielone znakiem "/" i mog± byæ wy³±czone przez
-poprzedzenie ich znakiem "\-".
-Ka¿dy podfiltr i niektóre opcje maj± d³ug± i krótk± nazwê których mo¿na u¿ywaæ
-zamiennie, tzn.\& dr/dering oznaczaj± to samo.
-Wszystkie podfiltry maj± wspólne opcje okre¶laj±ce ich zasiêg:
-.PD 0
-.RSs
-.IPs a/autoq
-Automatycznie wy³±cza filtr, je¶li procesor jest zbyt wolny.
-.IPs c/chrom
-Filtruje te¿ kolory (domy¶lne).
-.IPs y/nochrom
-Wykonuje tylko filtrowanie jasno¶ci (nie filtruje barw).
-.IPs n/noluma
-Wykonuje tylko filtrowanie barw (nie filtruje jano¶ci).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I INFORMACJA:
-\-pphelp poka¿e wszystkie dostêpne podfiltry.
-.sp 1
-Dostêpne s± podfiltry
-.RE
-.RSs
-.IPs hb/hdeblock[:ró¿nica[:p³asko¶æ]]
-poziomy filtr usuwania efektu blokowego
-.RSss
-<ró¿nica>: Wspó³czynnik ró¿nicy, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 32).
-.br
-<p³asko¶æ>: Wspó³czynnik p³asko¶ci, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 39).
-.REss
-.IPs vb/vdeblock[:ró¿nica[:p³asko¶æ]]
-pionowy filtr usuwania efektu blokowego
-.RSss
-<ró¿nica>: Wspó³czynnik ró¿nicy, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 32).
-.br
-<p³asko¶æ>: Wspó³czynnik p³asko¶ci, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 39).
-.REss
-.IPs ha/hadeblock[:ró¿nica[:p³asko¶æ]]
-dok³adny poziomy filtr usuwania efektu blokowego
-.RSss
-<ró¿nica>: Wspó³czynnik ró¿nicy, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 32).
-.br
-<p³asko¶æ>: Wspó³czynnik p³asko¶ci, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 39).
-.REss
-.IPs va/vadeblock[:ró¿nica[:p³asko¶æ]]
-dok³adny pionowy filtr usuwania efektu blokowego
-.RSss
-<ró¿nica>: Wspó³czynnik ró¿nicy, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 32).
-.br
-<p³asko¶æ>: Wspó³czynnik p³asko¶ci, gdzie wiêksze warto¶ci oznaczaj± wiêksze
-usuwanie bloków (domy¶lnie: 39).
-.REss
-.sp 1
-Poziome i pionowe filtry usuwania bloków maj± wspólne warto¶ci ró¿nicy
-i p³asko¶ci, wiêc nie mo¿na ustawiæ ró¿nych progów poziomych i pionowych.
-.sp 1
-.IPs h1/x1hdeblock
-eksperymentalny poziomy filtr usuwania efektu blokowego
-.IPs v1/x1vdeblock
-eksperymentalny pionowy filtr usuwania efektu blokowego
-.IPs dr/dering
-filtr usuwania efektu dzwonienia
-.IPs tn/tmpnoise[:próg1[:próg2[:próg3]]]
-redukcja szumów czasowych
-.RSss
-<próg1>: wiêkszy \-> mocniejsze filtrowanie
-.br
-<próg2>: wiêkszy \-> mocniejsze filtrowanie
-.br
-<próg3>: wiêkszy \-> mocniejsze filtrowanie
-.REss
-.IPs al/autolevels[:f/fullyrange]
-automatyczna korekta jasno¶ci / kontrastu
-.RSss
-f/fullyrange: Rozci±ga jasno¶æ do zakresu (0\-255).
-.REss
-.IPs lb/linblenddeint
-Filtr usuwania przeplotu liniowym rozmyciem, który usuwa przeplot z danego
-bloku stosuj±c do wszystkich linii filtr (1 2 1).
-.IPs li/linipoldeint
-Liniowo interpoluj±cy filtr usuwania przeplotu, który usuwa przeplot z danego
-bloku stosuj±c do co drugiej linii interpolacjê liniow±.
-.IPs ci/cubicipoldeint
-Kubicznie interpoluj±cy filtr usuwania przeplotu, który usuwa przeplot z danego
-bloku stosuj±c do co drugiej linii interpolacjê kubiczn±.
-.IPs md/mediandeint
-Medianowy filtr usuwania przeplotu, który usuwa przeplot z danego
-bloku stosuj±c do co drugiej linii filtr medianowy.
-.IPs fd/ffmpegdeint
-Filtr usuwania przeplotu z FFmpeg, który usuwa przeplot z danego
-bloku stosuj±c do co drugiej linii filtr (\-1 4 2 4 \-1).
-.IPs l5/lowpass5
-Pionowo stosowany dolnoprzepustowy fir FIR usuwania przeplotu, który usuwa
-przeplot z danego bloku stosuj±c do wszystkich linii filtr (\-1 2 6 2 \-1).
-.IPs fq/forceQuant[:kwantyzator]
-Wymusza zastosowanie podanego kwantyzatora zamiast tego z wej¶cia.
-.RSss
-<kwantyzator>: u¿ywany kwantyzator
-.REss
-.IPs de/default
-domy¶lna kombinacja filtrów (hb:a,vb:a,dr:a)
-.IPs fa/fast
-szybka kombinacja filtrów (h1:a,v1:a,dr:a)
-.IPs "ac\ \ \ "
-kombinacja filtrów wysokiej jako¶ci (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I PRZYK£AD:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-odblokowywanie poziome i pionowe, usuwanie efektu dzwonienia
-i automatyczna korekcja jasno¶ci/\:kontrastu
-.IPs "\-vf pp=de/\-al"
-domy¶lne filtry bez korekty jasno¶ci/\:kontrastu
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-domy¶lne filtry i czasowy odszumiacz
-.IPs "\-vf pp=hb:y/vb:a"
-Odblokowywanie poziome tylko na jasno¶ci i automatyczne w³±czenie lub wy³±czenie
-odblokowywania pionowego w zale¿no¶ci od dostêpnego czasu procesora.
-.RE
-.PD 1
-.
-.TP
-.B spp[=jako¶æ[:qp:[:tryb]]
-Prosty filtr postprocessingu, który wielokrotnie kompresuje i dekompresuje
-obraz w kilku (lub \- przy jako¶ci 6 \- wszystkich) przesuniêciach i u¶rednia
-wyniki.
-.RSs
-.IPs <jako¶æ>
-0\-6 (domy¶lnie: 3)
-.IPs "<qp>\ "
-Wymusza parametr kwantyzacji (domy¶lnie: 0, parametr QP z video).
-.IPs <tryb>
-0: twardy próg (domy¶lne)
-.br
-1: miêkki próg (lepiej usuwa efekt dzwonienia, wiêksze rozmycie)
-.RE
-.
-.TP
-.B fspp[=jako¶æ[:qp[:si³a]]]
-szybsza wersja prostego filtru postprocesingu
-.RSs
-.IPs <jako¶æ>
-4\-5 (to samo co w spp; domy¶lnie: 4)
-.IPs "<qp>\ "
-Wymusza parametr kwantyzacji (domy¶lnie: 0, parametr QP z video).
-.IPs <\-15\-32>
-Si³a filtru, mniejsze warto¶ci daj± wiêcej szczegó³ów ale te¿ wiêcej
-artefaktów, podczas gdy wiêksze warto¶ci wyg³adzaj± obraz ali i rozmywaj±
-(domy¶lnie: 0 \- optymalnie pod wzglêdem PSNR).
-.RE
-.
-.TP
-.B pp7[=qp[:tryb]]
-Wariant filtru spp, podobny do spp=6 z 7 punktow± DCT gdzie tylko centralna
-próbka jest u¿ywana po IDCT.
-.RSs
-.IPs <qp>
-Wymusza parametr kwantyzacji (domy¶lnie: 0, u¿ywaj QP z video).
-.IPs <tryb>
-0: twarde obcinanie
-.br
-1: miêkkie obcinanie (lepiej usuwa dzwonienie, ale bardziej rozmyte)
-.br
-2: ¶rednie obcinanie (domy¶lne, dobre rezultaty)
-.RE
-.
-.TP
-.B qp=równanie
-filtr zmiany parametru kwantyzacji (QP)
-.RSs
-.IPs <równanie>
-jakie¶ równanie postaci "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B "test\ \ \ "
-Tworzy ró¿ne wzorce testowe.
-.
-.TP
-.B rgbtest
-Tworzy wzorzec testowy RGB przydatny do wykrywania pomy³ek RGB/\:BGR.
-Powiniene¶ widzieæ czerwony, zielony i niebieski pasek od góry do do³u.
-.
-.TP
-.B lavc[=jako¶æ:fps]
-Szybka programowa konwersja z YV12 na MPEG-1 przy pomocy libavcodec do
-stosowania z DVB/\:DXR3.
-Szybsza i lepsza jako¶æ ni¿ \-vf fame.
-.RSs
-.IPs <jako¶æ>
-.RSss
-1\-31: ustalone qscale
-.br
-32\-: ustalone tempo bitowe w kbitach
-.REss
-.IPs <fps>
-wymusza fps wyj¶cia (liczba rzeczywista) (domy¶lnie: 0, wykrywanie wg wysoko¶ci)
-.RE
-.
-.TP
-.B "fame\ \ \ "
-Szybka programowa konwersja z YV12 na MPEG-1 przy pomocy libfame do stosowania
-z DVB/\:DXR3.
-.
-.TP
-.B dvbscale[=aspekt]
-Ustawia optymalne skalowanie dla kart DVB, czyli sprzêtowe skalowanie osi x
-i programowe wyliczanie skalowania osi y tak, by zachowaæ proporcje.
-U¿yteczne tylko w po³±czeniu z expand i scale.
-.RSs
-.IPs <aspekt>
-Kontroluje proporcje, wyliczane przez wzór DVB_HEIGHT*ASPECTRATIO
-(domy¶lnie: 576*4/\:3=768), ustaw na 576*(16/\:9)=1024 dla TV 16:9.
-.RE
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-FIXME: Wyt³umaczyæ co to robi.
-.RE
-.PD 1
-.
-.TP
-.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-Dodaje zak³ócenia.
-.PD 0
-.RSs
-.IPs <0\-100>
-zak³ócenie jasno¶ci
-.IPs <0\-100>
-zak³ócenia koloru
-.IPs u
-jednolite zak³ócenia (w przeciwnym wypadku gaussowskie)
-.IPs t
-zmienne zak³ócenie (wzorzec zak³óceñ zmienia siê miêdzy klatkami)
-.IPs a
-u¶rednione zmienne zak³ócenia (g³adsze, ale o wiele wolniejsze)
-.IPs h
-wysoka jako¶æ (odrobinê lepiej wygl±da, odrobinê wolniejsze)
-.IPs p
-miesza wed³ug przypadkowego zak³ócenia z (pó³)regularnym wzorem
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=luma:chroma:time]
-Ten filtr redukuje zak³ócenia obrazu wyg³adzaj±c obraz, a nieruchome obrazy
-staj± siê naprawdê nieruchome (Powinno to poprawiæ mo¿liwo¶ci kompresji.).
-.PD 0
-.RSs
-.IPs <luma>
-wp³yw przestrzeni jasno¶ci (domy¶lnie: 4)
-.IPs <chroma>
-wp³yw przestrzeni kolorów (domy¶lnie: 3)
-.IPs <time>
-wp³yw czasu (domy¶lnie: 6)
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=luma:chroma:czas]
-Wersja filtra denoise3d z wysok± precyzj±/\:jako¶ci±.
-Parametry i sposób u¿ycia s± takie same.
-.
-.TP
-.B eq[=jasno¶æ:kontrast] (PRZESTARZA£E)
-Programowy korektor z interaktywnym sterowaniem, zupe³nie jak korektor
-sprzêtowy, dla kart/\:sterowników które nie obs³uguj± sprzêtowego sterowania
-jasno¶ci± i kontrastem.
-Mo¿e byæ tak¿e u¿yteczny z MEncoderem, w celu poprawy kiepsko przechwyconych
-filmów, lub te¿ w celu lekkiego zmniejszenia kontrastu, by ukryæ artefakty
-powsta³e z winy niskiego tempa bitowego.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-pocz±tkowa jasno¶æ
-.IPs <\-100\-100>
-pocz±tkowy kontrast
-.RE
-.PD 1
-.
-.TP
-.B eq2[=gamma:kontrast:jasno¶æ:nasycenie:rg:gg:bg:waga]
-Alternatywny korektor programowy u¿ywaj±cy tabel podgl±du (lookup tables,
-bardzo wolne), pozwala na korekcjê gamma poza zwyk³± zmian± jasno¶ci
-i kontrastu.
-Wykorzystuje to ten sam kod optymalizowany dla MMX co \-vf eq
-je¶li wszystkie warto¶ci gamma s± 1.0.
-Parametry s± podane jako liczby rzeczywiste.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-pocz±tkowa warto¶æ gamma (domy¶lnie: 1.0)
-.IPs <\-2\-2>
-pocz±tkowy kontrast, ujemne warto¶ci daj± negatyw obrazu (domy¶lnie: 1.0)
-.IPs <\-1\-1>
-pocz±tkowa jasno¶æ (domy¶lnie: 1.0)
-.IPs <0\-3>
-pocz±tkowe nasycenie (domy¶lnie: 1.0)
-.IPs <0.1\-10>
-warto¶æ gamma dla czerwonej sk³adowej obrazu (domy¶lnie: 1.0)
-.IPs <0.1\-10>
-warto¶æ gamma dla zielonej sk³adowej obrazu (domy¶lnie: 1.0)
-.IPs <0.1\-10>
-warto¶æ gamma dla niebieskiej sk³adowej obrazu (domy¶lnie: 1.0)
-.IPs <0\-1>
-Parametr wagi mo¿e byæ u¿yty do zmniejszenia efektu wysokiej warto¶ci gamma na
-jasnych obszarach obrazu, np.\& ¿eby nie zosta³y wzmocnione a¿ do czystej
-bieli.
-Warto¶æ 0.0 ca³kowicie wy³±cza korektê gamma a 1.0 zostawia j± z pe³n± moc±
-(domy¶lnie: 1.0).
-.RE
-.PD 1
-.
-.TP
-.B hue[=barwa:nasycenie]
-Korektor programowy z interaktywnym sterowaniem, taki jak korektor sprzêtowy,
-dla kart/\:sterowników nie obs³uguj±cych sprzêtowo korekty barwy i nasycenia.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-pocz±tkowa barwa (domy¶lnie: 0.0)
-.IPs <\-100\-100>
-domy¶lne nasycenie, liczby ujemne daj± przeciwne barwy (domy¶lnie: 1.0)
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-Konwerteruje p³askie YUV 4:2:0 do upakowanego 4:2:2 o po³owie wysoko¶ci,
-zmniejszaj±c próbkowanie jasno¶ci, ale zostawiaj±c wszystkie próbki
-barwy.
-U¿yteczne przy wy¶wietlaniu na urz±dzeniach o niskiej rozdzielczo¶ci, gdy
-sprzêtowe skalowanie jest kiepskiej jako¶ci lub nie jest dostêpne.
-Mo¿e byæ tak¿e u¿yte jako prymitywne usuwanie przeplotu jasno¶ci przy bardzo
-niskim zu¿yciu procesora.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-Domy¶lnie, halfpack pobiera ¶rednie z pary linii, kiedy zmniejsza próbkowanie.
-Dowolna warto¶æ inna ni¿ 0 lub 1 daje domy¶lne (u¶redniaj±ce) zachowanie.
-.RSss
-0: U¿ywa tylko parzystych linii przy zmniejszaniu próbkowania.
-.br
-1: U¿ywa tylko nieparzystych linii przy zmniejszaniu próbkowania.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=tryb]
-Przy zachowywaniu video w formatach YUV 4:2:0 przeplot barw nie jest
-ustawiany prawid³owo z powodu zmniejszenia ilo¶ci kana³ów barw w pionie.
-Filtr ten pakuje p³askie 4:2:0 w format YUY2 (4:2:2) z liniami barwy na
-w³a¶ciwych miejscach, ¿eby w ka¿dej linii skanowania dane barwy i jasno¶ci
-pochodzi³y z tego samego pola.
-.PD 0
-.RSs
-.IPs <tryb>
-Wybiera tryb própkowania.
-.RSss
-0: tryb najbli¿szego s±siada (nearest-neighbor), który jest szybki,
-ale niepoprawny
-.br
-1: interpolacja liniowa (domy¶lne)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-U¿yteczne tylko z MEncoderem.
-Je¿eli harddup jest u¿ywany przy kodowaniu, wymusza umieszczenie zduplikowanych
-ramek w wyj¶ciu.
-Wymaga to trochê wiêcej miejsca, ale jest konieczne przy tworzeniu plików MPEG
-lub je¶li planujesz dalsze demuksowanie i remuksowanie strumienia video.
-Parametr powinien byæ umieszczony na koñcu ³añcucha filtrów lub blisko niego,
-chyba ¿e masz dobry powód aby zrobiæ inaczej.
-.
-.TP
-.B softskip
-U¿yteczne tylko z MEncoderem.
-Softskip przesuwa moment omijania/\:opuszczania klatek sprzed pocz±tku ³añcucha
-filtrów, do miejsca zawieraj±cego siê gdzie¶ w nim.
-Pozwala to dzia³aæ poprawnie filtrom, które musz± mieæ dostêpne wszystkie klatki
-(odwrócone telecine, tymczasowy odszumiacz, itp.).
-Parametr powinien byæ umieszczony po wy¿ej wymienionych filtrach i
-po kolejnych filtrach, które wymagaj± du¿ej mocy obliczeniowej.
-.
-.TP
-.B decimate[=max:hi:lo:u³]
-Usuwa ramki, które niewiele ró¿ni± siê od poprzednich w celu zmniejszenia
-framerate.
-G³ówne zastosowanie tego filtra to kodowanie-z-bardzo-niskim-tempem-bitowym
-(np.\& strumieniowanie przez modem), ale teoretycznie mo¿e on byæ u¿yty do
-naprawy filmów w których nieprawid³owo odwrócono telecine.
-.PD 0
-.RSs
-.IPs <max>
-Ustawia maksymaln± ilo¶æ kolejnych ramek, które mog± zostaæ usuniête (je¶li
-dodatni), albo (gdy ujemny) minimaln± odleg³o¶æ miêdzy usuniêtymi ramkami.
-.IPs <hi>,<lo>,<u³>
-Ramka jest kandydatem do usuniêcia, je¶li ¿aden region 8x8 nie ró¿ni siê o
-wiêcej ni¿ <hi> i je¶li nie wiêcej ni¿ <u³> obrazu (1 oznacza ca³y obraz) ró¿ni
-siê o wiêcej ni¿ <lo>.
-Warto¶ci <hi> i <lo> odnosz± siê do bloków 8x8 i reprezentuj± faktyczne ró¿nice
-w warto¶ciach pikseli, wiêc granica 64 przek³ada siê na 1 jednostkê ró¿nicy na
-ka¿dym pikselu lub to samo inaczej rozmieszczone w ca³ym bloku.
-.RE
-.PD 1
-.
-.TP
-.B dint[=czu³o¶æ:poziom]
-Filtr dint (od drop-deinterlace) wykrywa i usuwa pierwsz± z szeregu klatek
-video z przeplotem.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-wzglêdna ró¿nica miêdzy s±siednimi pikselami (domy¶lnie: 0.1)
-.IPs <0.0\-1.0>
-Jaka czê¶æ obrazu musi zostaæ uznana za z przeplotem ¿eby usun±æ klatkê
-(domy¶lnie: 0.15)
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (PRZESTARZA£E)
-filtr usuwaj±cy przeplot z FFmpeg, to samo co \-vf pp=fd
-.
-.TP
-.B kerndeint[=próg[:mapa[:kolejno¶æ[:ostr[:dwustr]]]]]
-Adaptatywny deinterlacer j±dra autorstwa Donald'a Graft'a.
-Usuwa przeplot z czê¶ci video, je¶li zostanie przekroczony konfigurowalny próg.
-.PD 0
-.RSs
-.IPs <0\-255>
-próg (domy¶lnie: 10)
-.IPs <mapa>
-.RSss
-0: Ignoruje piksele przekraczaj±ce próg (domy¶lne).
-.br
-1: Koloruje piksele przekraczaj±ce próg na bia³o.
-.REss
-.IPs <kolejno¶æ>
-.RSss
-0: Pozostawia kolejno¶æ pól (domy¶lne).
-.br
-1: Zamienia pola.
-.REss
-.IPs <ostr>
-.RSss
-0: Wy³±cza dodatkowe wyostrzanie (domy¶lne).
-.br
-1: W³±cza dodatkowe wyostrzanie.
-.REss
-.IPs <dwustr>
-.RSss
-0: Wy³±cza dwukierunkowe wyostrzanie (domy¶lne).
-.br
-1: W³±cza dwukierunkowe wyostrzanie.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cWxH:ilo¶æ[:l|cWxH:ilo¶æ]]
-maska zmiêkczaj±ca / rozmycie gaussa
-.RSs
-.IPs "l\ \ \ \ "
-Stosuje efekty na sk³adowej jasno¶ci.
-.IPs "c\ \ \ \ "
-Stosuje efekty na sk³adowych koloru.
-.IPs <wysoko¶æ>x<szeroko¶æ>
-szeroko¶æ i wysoko¶æ macierzy, nieparzysty rozmiar w obu kierunkach
-(min = 3x3, max = 13x11 lub 11x13, zazwyczaj co¶ pomiêdzy 3x3 i 7x7)
-.IPs ilo¶æ
-Wzglêdny wspó³czynnik wyostrzenia/\:rozmycia obrazu
-(rozs±dna warto¶æ powinna byæ w zakresie \-1.5\-1.5).
-.RSss
-<0: rozmycie
-.br
->0: wyostrzenie
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-Zamienia p³aszczyzny U i V.
-.
-.TP
-.B il[=d|i][s][:[d|i][s]]
-Usuwa/wstawia przeplot w obrazie.
-Celem tego filtra jest dodanie mo¿liwo¶ci przetwarzania przeplatanych obrazów
-pojedynczymi obrazami bez usuwania przeplotu.
-Mo¿esz filtrowaæ swoje DVD z przeplotem i odtwarzaæ na telewizorze nie psuj±c
-przeplotu.
-Podczas gdy przeplot usuwany jest na sta³e (filtrami postprocesingu \-
-wyg³adzaj±c, u¶redniaj±c, itp.), rozdzielanie przeplotu dzieli klatkê na 2 pola
-(tak zwane pó³obrazy), mo¿na wiêc je przetwarzaæ (filtrowaæ) niezale¿nie,
-a nastêpnie po³±czyæ z powrotem w jeden obraz.
-.PD 0
-.RSs
-.IPs d
-rozdziela obraz (umieszczaj±c jeden nad drugim)
-.IPs i
-³±czy obraz
-.IPs s
-zamienia pola (parzyste i nieparzyste linie)
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-Rozdziela przeplatane obrazy.
-Ten filtr jest bardzo podobny do filtru il ale o wiele szybszy, jego g³ówn±
-wad± jest to, ¿e nie zawsze dzia³a.
-Zw³aszcza w po³±czeniu z innymi filtrami mo¿e utworzyæ losowo pomieszane
-obrazy, wiêc ciesz siê je¶li dzia³a, ale nie skar¿ siê, je¶li nie dzia³a z Twoj±
-kombinacj± filtrów.
-.PD 0
-.RSs
-.IPs d
-Rozdziela obraz, umieszczaj±c pó³obrazy obok siebie)
-.IPs i
-£±czy obraz
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-Wyci±ga pojedyncze pola z przeplatanego obrazu u¿ywaj±c arytmetyki krokowej,
-aby unikaæ marnowania czasu procesora.
-Opcjonalny argument n okre¶la, czy wyci±gaæ parzyste, czy nieparzyste pola
-(zale¿nie od tego czy n jest parzyste, czy nieparzyste).
-.
-.TP
-.B detc[=zmienna1=warto¶æ1:zmienna2=warto¶æ2:...]
-Próbuje odwróciæ proces "telecine" by uzyskaæ czysty strumieñ bez przeplotu
-przy prêdko¶ci klatek filmu.
-By³ to pierwszy i najbardziej prymitywny filtr odwróconego telecine, który
-zosta³ zaimplementowany w MPlayerze/\:MEncoderze.
-Dzia³a przez skupienie siê na wzorcu telecine 3:2 i pod±¿aniu nim tak d³ugo, jak
-to tylko mo¿liwe.
-Dlatego pasuje on doskonale dla perfekcyjnie ztelecinowanego materia³u, nawet
-w przypadku obecno¶ci sporej warto¶ci szumu, ale nie zadzia³a po z³o¿onej
-edycji po telecinowaniu.
-Filtr przesta³ byæ ju¿ rozwijany, jako ¿e ivtc, pullup i filmdint lepiej nadaj±
-siê do wiêkszo¶ci zastosowañ.
-Poni¿sze argumenty (sk³adnia jest opisana wy¿ej) mog± byæ u¿yte by kontrolowaæ
-jego dzia³anie:
-.RSs
-.IPs "<dr>\ "
-Ustawia tryb gubienia klatek.
-.RSss
-0: Nie usuwaæ klatek by utrzymaæ ustalon± wyj¶ciow± prêdko¶æ klatek (domy¶lne).
-.br
-1: Zawsze usuwaæ klatkê gdy nie by³o porzucania lub ³±czenia telecine
-w poprzednich 5 klatkach.
-.br
-2: Zawsze utrzymywaæ dok³adny stosunek 5:4 ilo¶ci klatek wej¶ciowych do
-wyj¶ciowych.
-.br
-.I INFORMACJA:
-Z MEncoderem u¿ywaj zawsze trybu 1 lub 2!
-.REss
-.IPs "<am>\ "
-Tryb analizy.
-.RSss
-0: Ustalony wzorzec z numerem klatki pocz±tkowej okre¶lonym przez <fr>
-.br
-1: agresywne szukanie wzorca telecine (domy¶lne)
-.REss
-.IPs "<fr>\ "
-Ustawia numer pocz±tkowej klatki w sekwencji.
-0\-2 to trzy nastêpuj±ce po sobie klatki bez przeplotu; 3 i 4 to dwie klatki
-z przeplotem.
-Domy¶lne \-1 oznacza "poza sekwencj± telecine".
-Liczba podana tutaj odnosi siê do hipotetycznej klatki przed pocz±tkiem filmu.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-Warto¶ci progowe u¿ywane w niektórych trybach.
-.RE
-.
-.TP
-.B ivtc[=1]
-Eksperymentalny "bezstanowy" filtr odwracaj±cy telecine.
-Zamiast próbowaæ znale¼æ wzorzec, jak robi to filtr detc, ivct podejmuje decyzje
-niezale¿nie dla ka¿dej klatki.
-Daje to o wiele lepsze rezultaty na filmach, które przesz³y g³êbokie
-modyfikacje po zastosowaniu telecine, ale za to nie jest tak odporny na
-zak³ócenia wej¶ciowe, np.\& podczas przechwytywania z TV.
-Opcjonalny parametr (ivct=1) ma podobne dzia³anie jak opcja dr=1 dla filtru
-detc i powinien byæ u¿ywany tylko z MEncoderem.
-Jak przy detc, musisz podaæ prawid³ow± wyj¶ciow± ilo¶æ klatek na sekundê
-(\-ofps 24000/1001) przy u¿ywaniu MEncodera.
-Dalszy rozwój ivtc jest wstrzymamy, jako ¿e filtry pullup i filmdint
-wydaj± siê byæ dok³adniejsze.
-.
-.TP
-.B "pullup[=jl:jr:jt:jb:sb:mp]\ "
-Filtr odwracania telecine trzeciej generacji, zdolny do przetwarzania mieszanki
-twardego telecine (hard-telecine) oraz progresywnej zawarto¶ci 24000/1001
-i 30000/1001 fps.
-Filtr pullup jest zaprojektowany, aby by³ skuteczniejszy ni¿ detc czy ivtc,
-poprzez wykorzystywanie kontekstu przy podejmowaniu decyzji.
-Podobnie jak ivtc, pullup jest bezstanowy w sensie takim, ¿e nie skupia siê na
-wzorcu i nie pod±¿a za nim, ale zamiast tego sprawdza kolejne pola, aby
-zidentyfikowaæ podobieñstwa i odbudowaæ progresywne ramki.
-Ci±gle jest w fazie rozwojowej, mimo to jest ca³kiem dok³adny.
-Opcje jl, jr, jt i jb okre¶laj± ile "¶mieci" ma byæ ignorowane odpowiednio
-po lewej, prawej, u góry i na dole obrazu.
-Lewo/\:prawo s± w jednostkach 8 pikseli, natomiast góra/\:dó³ s± w jednostkach
-2 linii.
-Domy¶lnie jest to 8 pikseli z ka¿dej strony.
-Ustawiaj±c opcjê sb (strict breaks \- sta³e przerwy) na 1, zmniejsza siê
-szansa, ¿e pullup stworzy niepasuj±c± klatkê, ale mo¿e równie¿ prowadziæ do
-ominiêcia wielu ramek podczas scen z du¿± ilo¶ci± ruchu.
-Odwrotnie, je¶li ustawisz na \-1, to pullup ³atwiej bêdzie dopasowywa³ pola.
-Mo¿e to pomóc przy przetwarzaniu filmu, w którym jest delikatne rozmazanie
-miêdzy polami, ale mo¿e równie¿ sprawiæ, ¿e w wyj¶ciu znajd± siê klatki
-z przeplotem.
-Opcja mp (przestrzeñ metryczna) mo¿e byæ ustawiona na 1 lub 2, aby u¿yæ
-przestrzeni barw zamiast przestrzeni jasno¶ci dla obliczeñ pullup.
-Mo¿e to poprawiæ dok³adno¶æ na bardzo czystym materiale ¼ród³owym, ale
-prawdopodobnie zmniejszy dok³adno¶æ, je¶li film ma zniekszta³cone barwy
-(efekt têczy) lub jest on w skali szaro¶ci.
-G³ównym celem ustawienia mp na przestrzeñ barw jest zmniejszenie obci±¿enia
-CPU i sprawienie, aby pullup móg³ byæ u¿ywany w czasie rzeczywistym na wolnych
-maszynach.
-.br
-.I INFORMACJA:
-Zawsze stosuj filtr softskip po pullup przy kodowaniu, aby mieæ pewno¶æ,
-¿e ten drugi bêdzie mia³ dostêp do wszystkich klatek.
-Je¿eli tego nie zrobisz, doprowadzi to do b³êdów w wyj¶ciu i zakoñczeniu
-programu na skutek ograniczeñ w warstwie kodeku/\:filtru.
-.
-.TP
-.B filmdint[=options]
-Filtr odwracania telecine, podobny do opisanego wy¿ej filtra pullup.
-Projektowany do obs³u¿enia ka¿dego wzorca odwracania, w³±czaj±c mieszankê
-miêkkiego i twardego telecine oraz ograniczon± obs³ugê filmów, które zosta³y
-przyspieszone lub opó¼nione w stosunku do swojej prêdko¶ci pocz±tkowej.
-Tylko p³aszczyzna jasno¶ci jest u¿ywana przy szukaniu przerw miêdzy klatkami.
-Je¶li pole nie zostanie dopasowane, jest z niego usuwany przeplot poprzez
-prost± aproksymacjê liniow±.
-Je¶li ¼ród³em jest MPEG-2 musi to byæ pierwszy filtr, tak by mia³ dostêp do
-flag pola ustawionych przez dekoder MPEG-2.
-W zale¿no¶ci od ¼ród³owego MPEG mo¿e uj¶æ na sucho zignorowanie tej porady,
-dopóki nie widzisz licznych ostrze¿eñ "Bottom-field first".
-Bez opcji przeprowadza normalne usuwanie telecine i powinien byæ u¿ywany z
-mencoder \-fps 30000/1001 \-ofps 24000/1001.
-Je¶li ten filtr jest u¿ywany z mplayerem efektem bêdzie nierówna prêdko¶æ
-odtwarzania, ale i tak jest to generalnie lepsze ni¿ u¿ycie pp=lb albo
-ca³kowity brak usuwania przeplotu.
-Poszczególne opcje s± oddzielane znakiem /.
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-Tak jak filtr crop, ale szybciej i dzia³a na mieszance twardego i miêkkiego
-telecine oraz gdy y nie jest wielokrotno¶ci± 4.
-Je¶li x lub y wymaga³yby obcinania u³amków piksela z p³aszczyzn barw obszar
-obcinania jest powiêkszany.
-Zazwyczaj oznacza to ¿e x i y musz± byæ parzyste.
-.IPs io=<ifps>:<ofps>
-Na ka¿de ifps klatek wej¶ciowych filtr wygeneruje ofps klatek wyj¶ciowych.
-Stosunek ifps/\:ofps powinien byæ taki sam jak stosunek \-fps/\-ofsp.
-Mo¿e to byæ u¿yte do filtrowania filmów, które s± nadawane w TV z inn±
-czêstotliwo¶ci± ni¿ oryginalna.
-.IPs luma_only=<n>
-Je¶li n jest niezerowe, p³aszczyzna barwy jest kopiowana bez zmian.
-Przydatne przy telewizji próbkowanej w YV12, która ignoruje jedno z pól barwy.
-.IPs mmx2=<n>
-Na x86 je¶li n=1 u¿ywa funkcji optymalizowanych dla MMX2 za¶ je¶li n=2 u¿ywa
-funkcji optymalizowanych dla 3DNow!.
-Gdzie indziej u¿ywa czystego C.
-Je¶li nie podano tej opcji MMX2 i 3DNow! s± wykrywane automatycznie, u¿yj tego
-by wy³±czyæ autodetekcjê.
-.IPs fast=<n>
-Du¿e n przyspieszy filtr kosztem dok³adno¶ci.
-Domy¶lne jest n=3.
-Je¶li n jest nieparzyste, klatka bezpo¶rednio po klatce z zaznaczon± flag± MPEG
-REPEAT_FIRST_FIELD uznawana jest za progresywn±, wiêc filtr nie spêdzi ani
-chwili nad MPEG-2 z miêkkim telecine.
-To jest jedyny efekt tej flagi, je¶li jest dostêpne MMX2 albo 3DNow!.
-Bez MMX2 ani 3DNow! niezale¿nie czy n=0 czy n=1 to bêd± u¿yte te same
-obliczenia co przy n=2 czy n=3.
-Je¶li n=2 lub 3 ilo¶æ poziomów jasno¶ci u¿ywana do znalezienia prze³omu
-klatek jest redukowana z 256 do 128, co daje szybszy filtr bez du¿ej straty
-dok³adno¶ci.
-Je¶li n=4 lub 5 to szybszy, ale o wiele mniej dok³adny, algorytm jest u¿ywany
-do szukania prze³omu klatek.
-Jest on bardziej sk³onny do wykrycia du¿ych pionowych detali jako przeplotu.
-.IPs verbose=<n>
-Je¶li n jest niezerowe, wy¶wietla szczegó³owe metryki dla ka¿dej ramki.
-Przydatne przy debugowaniu.
-.IPs dint_thres=<n>
-Próg usuwania przeplotu.
-U¿ywany przy usuwaniu przeplotu niedopasowanych ramek.
-Du¿a warto¶æ oznacza mniej usuwania przeplotu, n=256 ca³kowicie je wy³±cza.
-Domy¶lnie n=8.
-.IPs comb_thres=<n>
-Próg do porównywania górnego i dolnego pola.
-Domy¶lnie 128.
-.IPs diff_thres=<n>
-Próg do wykrywania czasowych zmian pola.
-Domy¶lnie 128.
-.IPs sad_thres=<n>
-Suma progów Ca³kowitej Ró¿nicy (Absolute Difference), domy¶lnie 64.
-.RE
-.
-.TP
-.B softpulldown
-Ten filtr prawid³owo dzia³a tylko z MEncoderem i dzia³a na flagach MPEG-2
-u¿ywanych do miêkkiego telecine 3:2.
-Je¶li chcesz u¿yæ filtru ivtc lub detc na filmach, które maj± czê¶ciowe miêkkie
-telecine to wstawienie przed nie tego filtra mo¿e sprawiæ ¿e bêd± one
-dok³adniejsze.
-.
-.TP
-.B divtc[=options]
-Odwrócone telecine dla filmu bez przeplotu.
-Je¿eli video z telecine 3:2 straci³o jedno z pól lub usuniêto z niego przeplot
-metod±, która zachowuje jedno pole a interpoluje drugie, to w efekcie
-otrzymamy beznadziejnej jako¶ci film z co czwart± klatk± powtórzon±.
-Ten filtr szuka i opuszcza zduplikowane klatki, i przywraca oryginaln±
-ilo¶æ klatek na sekundê filmu (framerate).
-Korzystaj±c z tego filtru, musisz podaæ warto¶æ \-ofps, które stanowi 4/\:5 fps
-pliku wej¶ciowego i umie¶ciæ softskip pó¼niej w ³añcuchu filtrów zeby upewniæ
-siê ¿e divtc widzi wszystkie klatki.
-Dostêpne s± dwa ró¿ne tryby:
-Tryb jednoprzebiegowy jest domy¶lny i prosty w u¿yciu,
-ale ma tê wadê ¿e jakiekolwiek zmiany w fazie telecine (zgubione klatki lub
-wadliwa edycja) powoduj± krótkie drgania zanim filtr siê nie zsynchronizuje.
-Tryb dwuprzebiegowy unika tego najpierw analizuj±c ca³e video ¿eby pó¼niej
-mieæ dok³adne informacje o zmianach fazy i móc siê natychmiast synchronizowaæ.
-Te przebiegi
-.B nie
-odpowiadaj± przebiegom 1 i 2 w procesie kodowania.
-Przed w³a¶ciwym kodowaniem musisz pu¶ciæ dodatkowy przebieg u¿ywaj±c pierwszego
-przebiegu divc wyrzucaj±c wynikowy film.
-U¿yj \-nosound \-ovc raw \-o /dev/null ¿eby nie marnowaæ na ten przebieg czasu
-procesora.
-Mo¿esz te¿ dodaæ co¶ w rodzaju crop=2:2:0:0 po divtc ¿eby jeszcze bardziej
-przyspieszyæ.
-Potem u¿ywaj drugiego przebiegu divtc do w³a¶ciwego kodowania.
-Je¶li uzywa¿ kodowania wieloprzebiegowego u¿ywaj drugiego przebiegu divtc do
-wszystkich przebiegów.
-Dostêpne opcje:
-.RSs
-.IPs pass=1|2
-U¿ywa trybu dwuprzebiegowego (two-pass).
-.IPs file=<nazwa\ pliku>
-Ustawia nazwê dla pliku informacyjnego kodowania 2-przebiegowego
-(domy¶lnie: "framediff.log").
-.IPs threshold=<warto¶æ>
-Ustawia minimaln± si³ê, któr± musi mieæ wzorzec telecine, aby filtr w niego
-uwierzy³ (domy¶lnie: 0.5).
-Stosuje siê to do rozpoznawania fa³szywych wzorców z czê¶ci filmu, które s±
-bardzo ciemne lub prawie nieruchome.
-.IPs window=<ilo¶æklatek>
-Ustawia ilo¶æ poprzednich ramek, które bêd± przeszukiwane pod k±tem
-odnalezienia wzorca (domy¶lnie: 30).
-Wiêksza ilo¶æ zapewnia wiêksz± wiarygodno¶æ w przeszukiwaniu wzorca, jednak
-krótsza przerwa skraca czas reakcji do zmian w telecine.
-Ma to tylko wp³yw na tryb jednoprzebiegowy.
-Obecnie tryb dwuprzebiegowy u¿ywa ¶ci¶le okre¶lonej warto¶ci, która obejmuje
-zarówno poprzednie jak i nastêpne klatki.
-.IPs phase=0|1|2|3|4
-Ustawia pocz±tkow± fazê telecine dla trybu jednoprzebiegowego (domy¶lnie: 0).
-Tryb dwuprzebiegowy mo¿e "wygl±daæ w przysz³o¶æ", dlatego korzysta z w³a¶ciwej
-fazy ju¿ od samego pocz±tku, podczas gdy tryb jednoprzebiegowy musi zgadywaæ.
-Kiedy ju¿ j± odnajdzie, zaczyna z niej korzystaæ, ale ta opcja pozwala na
-pozbycie siê szumu na pocz±tku.
-Poza tym, pierwszy przebieg trybu dwuprzebiegowego te¿ korzysta z tej opcji,
-wiêc je¿eli zachowasz wyj¶cie to otrzymasz w efekcie sta³a fazê.
-.IPs deghost=<warto¶æ>
-Ustawia próg deghostingu (0\-255 dla trybu jednoprzebiegowego, \-255\-255 dla
-trybu dwuprzebiegowego, domy¶lnie: 0).
-Je¿eli warto¶æ jest ró¿na od 0, tryb deghostingu jest w³±czony.
-Opcja przeznaczona jest dla filmów, z których usuniêto przeplot poprzez
-zmieszanie pól, zamiast opuszczania jednego z nich.
-Proces deghostingu wzmacnia wszystkie pozosta³o¶ci po kompresji w zmieszanych
-klatkach, wtedy parametr warto¶æ okre¶la granicê wy³±czenia tych pikseli
-z deghostingu, które ró¿ni± siê od poprzedniej klatki o mniej ni¿ wyznaczony
-próg.
-Je¿eli u¿ywany jest tryb dwuprzebiegowy, mo¿e byæ u¿yta warto¶æ ujemna, aby
-zmusiæ filtr do przeanalizowania ca³ego video na pocz±tku drugiego przebiegu
-w celu okre¶lenia czy zastosowanie filtru jest konieczne i wybranie albo 0,
-albo warto¶ci bezwzglêdnej parametru.
-Podaj tê opcjê dla trybu dwuprzebiegowego, przy jednoprzebiegowym nie ma
-to ¿adnego efektu.
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-Opó¼nia film z przeplotem o jedno pole czasowe, tak ¿e kolejno¶æ pól ulega
-zmianie.
-Zamierzonym dzia³aniem jest naprawienie filmów w trybie PAL, które by³y
-przechwycone z odwrotn± kolejno¶ci± wzglêdem procesu przenoszenia film-video.
-Przyjmowane parametry:
-.RSs
-.IPs t
-Przechwycona kolejno¶æ pól pierwsze-górne, zmieñ na pierwsze-dolne.
-Filtr opó¼ni dolne pole.
-.IPs b
-Przechwytuje pierwsze-dolne, zmienia na pierwsze-górne.
-Filtr opó¼ni górne pole.
-.IPs p
-Przechwytuje i przenosi z tak± sam± kolejno¶ci± pól.
-Ten tryb istnieje tylko po to, aby mog³y siê do niego odnie¶æ dokumentacje
-innych opcji, je¶li jednak go wybierzesz, filtr, zaskakuj±ce, nie zrobi nic ;-)
-.IPs a
-Automatycznie wykrywa przechwycon± kolejno¶æ pól na podstawie ich flag, zmienia
-na odwrotn±.
-Filtr wybiera pomiêdzy trybem t a b ramka po ramce, wykorzystuj±c flagi pól.
-Je¿eli ¿adna informacja odno¶nie pól nie jest dostêpna, wtedy dzia³a jak u.
-.IPs u
-Przechwytuje nieznan± lub ró¿n± kolejno¶æ, odwraca na przeciwn±.
-Filtr wybiera pomiêdzy trybem t a b ramka po ramce, analizuj±c obrazy i
-wybieraj±c opcjê, która daje najlepsze dopasowanie pól.
-.IPs T
-Przechwytuje pierwsze-górne, zmienia na nieznany lub ró¿ny.
-Filtr wybiera pomiêdzy trybem t a b ramka po ramce na podstawie analizy obrazu.
-.IPs B
-Przechwytuje pierwsze-dolne, zmienia na nieznany lub ró¿ny.
-Filtr wybiera pomiêdzy trybem t a b ramka po ramce na podstawie analizy obrazu.
-.IPs A
-Przechwytuje zale¿nie podstawie flag pól, zmienia na nieznany lub ró¿ny.
-Filtr wybiera pomiêdzy trybem t a b na podstawie analizy obrazu.
-Je¿eli ¿adna informacja odno¶nie pól nie jest dostêpna, wtedy dzia³a jak U.
-To jest tryb domy¶lny.
-.IPs U
-Przechwytuje nieznany lub ró¿ny i zmienia na to samo.
-Filtr wybiera pomiêdzy trybem t a b tylko na podstawie analizy obrazu.
-.IPs v
-Tryb gadatliwy.
-Drukuje wybrany tryb dla ka¿dej klatki i u¶rednion± kwadratow± ró¿nicê pól
-miêdzy mo¿liwo¶ciami t, b i p.
-.RE
-.
-.TP
-.B telecine[=start]
-Zastosuje proces 3:2 "telecine" by zwiêkszyæ ilo¶æ klatek o 20%.
-Najprawdopodobniej nie bêdzie to dzia³a³o poprawnie z MPlayerem, ale mo¿e byæ
-u¿yte z "mencoder \-fps 30000/1001 \-ofps 30000/1001 \-vf telecine".
-Obie opcje fps s± niezbêdne!
-(Synchronizacja A/\:V bêdzie popsuta, je¿eli bêd± one ¼le podane.)
-Opcjonalny parametr start mówi filtrowi gdzie ma zacz±æ we wzorcu telecine
-(0\-3).
-.
-.TP
-.B tinterlace[=tryb]
-Czasowe przeplatanie pól \- ³±czy pary klatek w klatkê z przeplotem,
-zmniejszaj±c o po³owê szybko¶æ klatek.
-Parzyste klatki s± przenoszone w górne pole, nieparzyste w dolne.
-Filtr mo¿e byæ u¿yty do ca³kowitego odwrócenia dzia³ania tfields (w trybie 0).
-Dostêpne s± tryby:
-.PD 0
-.RSs
-.IPs 0
-Przesunie nieparzyste klatki w górne pole, parzyste w dolne,
-tworz±c ramkê pe³nej wysoko¶ci przy po³owie prêdko¶ci klatek.
-.IPs 1
-Opuszcza klatki parzyste, na wyj¶cie przekazuje tylko nieparzyste, wysoko¶æ
-pozostaje niezmieniona.
-.IPs 2
-Opuszcza klatki nieparzyste, na wyj¶cie przekazuje tylko parzyste, wysoko¶æ
-pozostaje niezmieniona.
-.IPs 3
-Poszerza ka¿d± klatkê do pe³nej wysoko¶ci i wype³nia co drug± liniê na czarno;
-szybko¶æ klatek pozostaje niezmieniona.
-.RE
-.PD 1
-.
-.TP
-.B tfields[=tryb]
-Tymczasowy separator pola \- dzieli pola na klatki, podwajaj±c szybko¶æ
-klatek.
-Podobnie jak filtr telecine, tfields bêdzie poprawnie dzia³a³ tylko z
-MEncoderem i tylko gdy oba \-fps i \-ofps bêd± ustawione na po¿±dan±
-(podwójn±) szybko¶æ klatek!
-Dostêpne tryby:
-.PD 0
-.RSs
-.IPs 0
-Pozostawia pola niezmienione. (Zaobserwujesz przeskoki/\:migotanie.)
-.IPs 1
-Interpoluje brakuj±ce linie. (Stosowany algorytm mo¿e nie byæ zbyt dobry.)
-.IPs 2
-Przesunie pola o 1/4 piksela z wykorzystaniem interpolacji liniowej
-(bez przeskoków).
-.IPs 4
-Przesunie pola o 1/4 piksela z wykorzystaniem filtru 4tap (wysoka jako¶æ)
-(domy¶lne).
-.RE
-.PD 1
-.
-.TP
-.B boxblur=promieñ:moc[:promieñ:moc]
-rozmycie pude³kowe
-.PD 0
-.RSs
-.IPs <promieñ>
-si³a filtru rozmycia (blur)
-.IPs <moc>
-ilo¶æ aplikacji filtru
-.RE
-.PD 1
-.
-.TP
-.B sab=promieñ:pf:ró¿nKol[:pro:pf:Ro¿nKol]
-adaptatywne rozmycie figur
-.PD 0
-.RSs
-.IPs <promieñ>
-si³a filtru rozmycia (~0.1\-4.0) (wolniejsze je¿eli wiêksze)
-.IPs "<pf>\ "
-si³a prefiltru (~0.1\-2.0)
-.IPs <ró¿nKol>
-maksymalna ró¿nica miêdzy pikselami, która bêdzie jeszcze rozpatrywana
-(~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B smartblur=promieñ:si³a:zakres[:promieñ:si³a:zakres]
-eleganckie rozmycie
-.PD 0
-.RSs
-.IPs <promieñ>
-si³a filtru rozmycia (~0.1\-5.0) (wolniejsze je¿eli wiêksze)
-.IPs <si³a>
-rozmycie (0.0\-1.0) lub wyostrzenie (\-1.0\-0.0)
-.IPs <zakres>
-filtruj wszystko (0), filtruj p³askie obszary (0\-30)
-lub filtruj krawêdzie (\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-Popraw perspektywê w filmach, nie krêconych prostopadle do ekranu.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-wspó³rzêdne lewego górnego, prawego górnego i prawego dolnego rogu
-.IPs "<t>\ \ "
-liniowy (0) lub sze¶cienny resampling (1)
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-Przeskaluje i wyg³adzi obraz przy pomocy podwójnego algorytmu skalowania i
-interpolacji.
-.
-.TP
-.B "1bpp\ \ \ "
-Konwersja bitmapy 1bpp do YUV/\:BGR 8/\:15/\:16/\:32
-.
-.TP
-.B down3dright[=linie]
-Przepozycjonowanie i zmiana rozmiaru obrazu stereoskopowego.
-Wydobywa oba pola stereo i umieszcza je wspólnie, zmieniaj±c im rozmiar tak,
-by utrzymaæ proporcje filmu.
-.PD 0
-.RSs
-.IPs <linie>
-ilo¶æ linii wybierana ze ¶rodka obrazu (domy¶lnie: 12)
-.RE
-.PD 1
-.
-.TP
-.B bmovl=ukryty:nieprzezroczysty:kolejka
-Filtr overlay bitmapy czyta je z FIFO i wy¶wietla je w górnej czê¶ci filmu,
-pozwalaj±c na tranformacje na obrazie.
-TOOLS/bmovl-test.c jest ma³ym programem do testowania bmovl.
-.PD 0
-.RSs
-.IPs <ukryty>
-Ustawia domy¶ln± warto¶æ flagi "hidden" (0=widoczny, 1=ukryty).
-.IPs <nieprzezroczysty>
-Ustawia domy¶ln± warto¶æ flagi "opaque" (0=przezroczysty, 1=nieprzezroczysty).
-.IPs <kolejka>
-¶cie¿ka/\:nazwa pliku FIFO (nazwana kolejka ³±cz±ca "mplayer \-vf bmovl"
-z aplikacj± kontroluj±c±)
-.RE
-.PD 1
-.sp 1
-.RS
-Komendy FIFO:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 szeroko¶æ wysoko¶æ xpoz ypoz alfa clear"
-i nastêpnie szeroko¶æ*wysoko¶æ*4 bajtów danych ¼ród³owych RGBA32.
-.IPs "ABGR32 szeroko¶æ wysoko¶æ xpoz ypoz alfa clear"
-i nastêpnie szeroko¶æ*wysoko¶æ*4 bajtów danych ¼ród³owych ABGR32.
-.IPs "RGB24 szeroko¶æ wysoko¶æ xpoz ypoz alfa clear"
-i nastêpnie szeroko¶æ*wysoko¶æ*3 bajtów danych ¼ród³owych RGB24.
-.IPs "BGR24 szeroko¶æ wysoko¶æ xpoz ypoz alfa clear"
-i nastêpnie szeroko¶æ*wysoko¶æ*3 bajtów danych ¼ród³owych BGR24.
-.IPs "ALPHA szeroko¶æ wysoko¶æ xpoz ypoz alfa"
-Zmienia przezroczysto¶æ alfa dla danego obszaru.
-.IPs "CLEAR szeroko¶æ wysoko¶æ xpoz ypoz"
-Czy¶ci obszar.
-.IPs OPAQUE
-Wy³±cza ca³± przezroczysto¶æ alfa.
-Prze¶lij "ALPHA 0 0 0 0 0", aby w³±czyæ j± z powrotem.
-.IPs "HIDE\ "
-Ukrywa bitmapê.
-.IPs "SHOW\ "
-Pokazuje bitmapê.
-.RE
-.PD 1
-.sp 1
-.RS
-Argumenty oznaczaj±:
-.RE
-.PD 0
-.RSs
-.IPs "<szeroko¶æ>, <wysoko¶æ>"
-wymiary obrazu/obszaru
-.IPs "<xpoz>, <ypoz>"
-Rozpoczyna blitting w punkcie o wspó³rzêdnych xpoz/ypoz.
-.IPs <alfa>
-Ustawia ró¿nicê alfa.
-Je¿eli ustawisz na \-255, mo¿esz pó¼niej wysy³aæ sekwencjê komend ALPHA,
-aby zmieniæ warto¶æ na \-225, \-200, \-175 itd.\& \- uzyskasz ciekawy efekt
-przenikania ! ;)
-.RSss
-0: tak jak orygina³
-.br
-255: Zmienia wszystko na nieprzezroczyste.
-.br
-\-255: Zmienia wszystko na przezroczyste.
-.REss
-.IPs <clear>
-czy¶ci bufor przed blittingiem
-.RSss
-0: Obraz bêdzie po prostu blittowany na wierzchu starego, wiêc nie bêdziesz
-musia³ wysy³aæ 1,8MB danych RGBA32 za ka¿dym razem, kiedy ma³a czê¶æ ekranu
-jest aktualizowana.
-.br
-1: czy¶ci
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]krok
-Renderuje tylko ka¿d± n-t± lub ka¿d± intraklatkê (klatkê kluczow±).
-.sp 1
-Je¿eli wywo³asz ten filtr z parametrem I (du¿a litera), wy¶wietlane bêd±
-.B tylko
-klatki kluczowe.
-Dla DVD oznacza to zwykle co 15/\:12 ramkê (IBBPBBPBBPBBPBB),
-a dla AVI ka¿d± zmianê sceny lub ka¿d± warto¶æ keyint (sprawd¼ warto¶æ
-\-lavcopts keyint je¿eli korzystasz z MEncodera przy kodowaniu video).
-.sp 1
-Kiedy ramka kluczowa zostaje znaleziona, drukowany jest ci±g znaków "I!"
-i znak koñca wiersza, zostawiaj±c aktualn± liniê wyj¶cia MPlayera/\:MEncodera na
-ekranie, poniewa¿ zawiera ona czas (w sekundach) i numer ramki kluczowej
-(Mo¿esz u¿yæ tych informacji do podzielenia zbioru AVI.).
-.sp 1
-Je¿eli wywo³asz ten filtr ze zwyk³ym parametrem "krok", to tylko jedna klatka na
-"krok" klatek bêdzie wy¶wietlana.
-.sp 1
-Je¿eli umie¶cisz "i" (ma³a litera) przed numerem, ci±g I! bêdzie wydrukowany
-(podobnie jak przy opcji "I").
-.sp 1
-Je¿eli podasz tylko "i", wtedy nic siê nie dzieje z klatkami, tylko "I!" bêdzie
-drukowane.
-.
-.TP
-.B tile=xkawalki:ykawalki:wyj¶cie:start:delta
-£±czy szereg obrazów w jeden wiêkszy.
-Je¿eli ominiesz parametr lub podasz warto¶æ mniejsz± ni¿ 0, domy¶lna
-warto¶æ bêdzie u¿yta.
-Mo¿esz równie¿ przestaæ podawaæ opcje w ka¿dej chwili (... \-vf tile=10:5 ...).
-Dobrym pomys³em bêdzie umieszczenie filtru skalowania (scale) przed ³±czeniem
-(tile) :-).
-.sp 1
-Dostêpne parametry:
-.sp 1
-.PD 0
-.RSs
-.IPs <xkawa³ki>
-ilo¶æ kawa³ków na osi X (domy¶lnie: 5)
-.IPs <ykawa³ki>
-ilo¶æ kawa³ków na osi Y (domy¶lnie: 5)
-.IPs <wyj¶cie>
-Renderuje kawa³ek kiedy wyj¶ciowa ("wyj¶cie") ilo¶æ klatek jest osi±gniêta,
-gdzie "wyj¶cie" powinno byæ liczb± mniejsz± ni¿ xtile * ytile.
-Brakuj±ce kawa³ki s± pozostawiane puste.
-Mo¿esz, na przyk³ad, zapisaæ kawa³ek 8 * 7 co ka¿de 50 klatek, aby uzyskiwaæ
-obraz co 2 sekundy (przy szybko¶ci 25 fps).
-.IPs <start>
-grubo¶æ zewnêtrznego obramowania w pikselach (domy¶lnie: 2)
-.IPs delta
-grubo¶æ wewnêtrznego obramowania w pikselach (domy¶lnie: 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:w:h:t]
-Usuwa logo stacji TV, poprzez prost± interpolacjê s±siednich pikseli.
-Wystarczy, ¿e ustawisz prostok±t przykrywaj±cy znak i bêdziesz ¶wiadkiem jak
-znika (a czasami pojawi siê co¶ o wiele brzydszego \- efekty mog± byæ ró¿ne).
-.PD 0
-.RSs
-.IPs <x>,<y>
-pozycja lewego, górnego rogu logo
-.IPs <w>,<h>
-szeroko¶æ i wysoko¶æ czyszczonego prostok±ta
-.IPs <t>
-Grubo¶æ niewyra¼nej krawêdzi (dodana do w i h).
-Kiedy ustawiona zostanie na \-1, zielony prostok±t zostanie narysowany na
-ekranie, aby upro¶ciæ odnalezienie w³a¶ciwych parametrów x,y,w,h.
-.RE
-.PD 1
-.
-.TP
-.B remove-logo=/¶cie¿ka/do/nazwa_zbioru_z_bitmap±_logo.pgm
-Usuwa logo stacji TV u¿ywaj±c obrazka PGM lib PPM do stwierdzenia które piksele
-stanowi± logo.
-Wysoko¶æ i szeroko¶æ obrazka musi pasowaæ do wymiarów przetwarzanego strumienia
-video.
-U¿ywa obrazka filtruj±cego i okr±g³ego rozmycia do usuniêcia logo.
-.RSs
-.IPs /¶cie¿ka/do/nazwa_zbioru_z_bitmap±_logo.pgm
-[¶cie¿ka] + nazwa zbioru obrazka filtruj±cego.
-.RE
-.
-.TP
-.B zrmjpeg[=opcje]
-Programowy koder YV12 do MJPEG wykorzystywany przy wyj¶ciu video zr2.
-.RSs
-.IPs maxheight=<h>|maxwidth=<w>
-Te opcje ustawiaj± maksymaln± szeroko¶æ i wysoko¶æ, któr± karta zr mo¿e obs³u¿yæ
-(obecnie wartstwa filtrów MPlayera nie mo¿e wykryæ prawid³owych warto¶ci).
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-Ustawia automatycznie maks.\& szeroko¶æ i wysoko¶æ polegaj±c na znanych
-warto¶ciach dla duetu karta/\:tryb.
-Na przyk³ad, poprawnymi opcjami s±: dc10-PAL i buz-NTSC (domy¶lnie: dc10+PAL)
-.IPs color|bw
-Wybiera kodowanie w kolorze lub czarno-bia³e.
-To drugie jest szybsze.
-Domy¶lnie u¿ywany jest tryb kolorowy.
-.IPs hdec={1,2,4}
-Poziome dziesi±tkowanie 1, 2 lub 4.
-.IPs vdec={1,2,4}
-Pionowe dziesi±tkowanie 1, 2 lub 4.
-.IPs quality=1\-20
-Ustawia jako¶æ kompresji JPEG [NAJLEPSZA] 1 \- 20 [NAJGORSZA].
-.IPs fd|nofd
-Domy¶lnie, dziesi±tkowanie jest stosowane, je¿eli sprzêt Zoran mo¿e
-przeskalowaæ wzwy¿ wynikowe obrazy MJPEG do ich oryginalnego rozmiaru.
-Parametr fd nakazuje filtrowi zawsze stosowaæ dziesi±tkowanie (okropne).
-.RE
-.
-.TP
-.B screenshot
-Pozwala na otrzymywanie zrzutów klatek z filmu u¿ywaj±c polecenia screenshot
-(domy¶lnie przypisanego do klawisza "s").
-Zapisuje zbiory o nazwach "shotNNNN.png" w bie¿±cym katalogu, u¿ywaj±c
-pierwszego dostêpnego numeru \- nie zama¿e ¿adnych zbiorów.
-Filtr nie ma ¿adnego narzutu je¶li nie jest u¿ywany i akceptuje dowolne
-przestrzenie kolorów, wiêc mo¿na go bezpiecznie dodaæ do pliku
-konfiguracyjnego.
-.RE
-.
-.
-.
-.SH "OGÓLNE OPCJE KODOWANIA (TYLKO MENCODER)"
-.
-.TP
-.B \-audio\-delay <0.0\-...>
-Ustawia opó¼nienie audio w nag³ówku.
-Domy¶lnie jest 0.0, ujemne warto¶ci nie dzia³aj±.
-Opcja nie opó¼nia d¼wiêku podczas kodowania, ale odtwarzacz, gdy wykryje
-domy¶lne opó¼nienie audio, wyrêcza Ciê z u¿ycia opcji \-delay.
-.
-.TP
-.B \-audio\-density <1\-50>
-Liczba kawa³ków audio na sekundê (domy¶lnie jest 2 przy kawa³kach audio
-o d³ugo¶ci 0.5s).
-.br
-.I INFORMACJA:
-Tylko dla CBR, VBR ignoruje j± gdy¿ dok³ada kolejny pakiet w nowym kawa³ku.
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-Ustawia przerwê czasu buforowania audio (domy¶lnie: 0.5s).
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|size[b|kb|mb]> (zobacz tak¿e \-ss i \-sb)
-Zatrzymuje kodowanie w podanym czasie lub pozycji bajtu.
-.br
-.I INFORMACJA:
-Pozycja bajtu nie bêdzie dok³adna, poniewa¿ mo¿e siê on tylko
-zatrzymaæ granicy ramki.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-Koduje tylko 56 sekund.
-.IPs "\-endpos 01:10:00"
-Koduje tylko 1 godzinê i 10 minut.
-.IPs "\-endpos 100mb"
-Koduje tylko 100 MB.
-.RE
-.PD 1
-.
-.TP
-.B \-fafmttag <format>
-Mo¿na u¿ywaæ do wymuszenia znacznika formatu audio pliku wyj¶ciowego.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-Da plik wyj¶ciowy zawieraj±cy 0x55 (mp3) jako znacznik formatu audio.
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-Mo¿na u¿ywaæ do wymuszenia fourcc video pliku wyj¶ciowego.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-Da plik wyj¶ciowy zawieraj±cy "div3" jako video fourcc.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-Nadpisuje aspekt zawarty w nag³ówku vprp AVI OpenDML.
-Opcja ta mo¿e byæ u¿yta do zmiany proporcji przy "\-ovc copy".
-.
-.TP
-.B \-frameno\-file <nazwa pliku> (ODRADZANE)
-Okre¶la nazwê pliku audio z mapowaniem numerów klatek utworzonego w pierwszym
-(tylko audio) przebiegu specjalnego kodowania trzyprzebiegowego.
-.br
-.I INFORMACJA:
-Je¶li korzystasz z tego trybu prawdopodobnie uzyskasz desynchronizacjê A-V.
-Nie u¿ywaj tej opcji \- jest ona trzymana tylko dla wstecznej kompatybilno¶ci
-i przypuszczalnie zostanie usuniêta w przysz³ych wydaniach.
-.
-.TP
-.B \-hr\-edl\-seek (tylko EDL)
-U¿ywa dok³adniejszej, ale o wiele wolniejszej metody przeskakiwania.
-Obszary przeznaczone do pominiêcia nie s± przeskakiwane, zamiast tego
-dekodowane s± wszystkie ramki ale tylko potrzebne s± kodowane.
-Pozwala to na zaczynanie nie na klatkach kluczowych.
-.br
-.I INFORMACJA:
-Nie ma gwarancji prawid³owego dzia³ania z "\-ovc copy".
-.
-.TP
-.B \-info <opcja1:opcja2:...> (tylko AVI)
-Wybiera informacjê nag³ówka otrzymywanego pliku AVI.
-.sp 1
-Dostêpne opcje:
-.RSs
-.IPs "help\ "
-Pokazuje ten opis.
-.IPs name=<warto¶æ>
-tytu³ pliku
-.IPs artist=<warto¶æ>
-artysta lub autor pliku
-.IPs genre=<warto¶æ>
-oryginalna kategoria pracy
-.IPs subject=<warto¶æ>
-tre¶æ pliku
-.IPs copyright=<warto¶æ>
-informacja o prawach autorskich pliku
-.IPs srcform=<warto¶æ>
-oryginalna forma cyfrowego materia³u
-.IPs comment=<warto¶æ>
-ogólna uwaga na temat pliku
-.RE
-.
-.TP
-.B \-noautoexpand
-Nie umieszcza automatycznie filtru expand w ³añcuchu filtrów MEncodera.
-Przydatne do kontrolowania, w którym momencie ³añcucha napisy s± renderowane
-podczas w³±czania napisów na sztywno do filmu.
-.
-.TP
-.B \-noencodedups
-Nie koduje zduplikowanych klatek w duplikacie; w wyj¶ciu umieszcza
-ramki zerobajtowe do wskazania duplikatów.
-Klatki zerobajtowe bêd±, tak czy inaczej, zapisane, chyba ¿e filtr lub koder
-zdolny do kodowania zduplikowanego jest za³adowany.
-Obecnie nadaje siê do tego tylko filtr harddup.
-.
-.TP
-.B \-noodml (tylko \-of avi)
-Nie zapisuje indeksu OpenDML dla plików AVI >1GB.
-.
-.TP
-.B \-noskip
-Nie opuszcza klatek.
-.
-.TP
-.B \-o <nazwa\ pliku>
-Zapisuje wyj¶cie do podanego pliku, zamiast domy¶lnego "test.avi".
-.
-.TP
-.B \-oac <nazwa\ kodeka>
-Koduje podanym kodekiem audio (brak warto¶ci domy¶lnej).
-.br
-.I INFORMACJA:
-U¿yj \-oac help, aby otrzymaæ listê dostêpnych kodeków.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-oac copy"
-Nie koduje, tylko kopiuje strumieñ.
-.IPs "\-oac pcm"
-Koduje do odkompresowanego PCM.
-.IPs "\-oac mp3lame"
-Koduje do MP3 (u¿ywa Lame).
-.IPs "\-oac lavc"
-Koduje kodekiem z libavcodec.
-.RE
-.PD 1
-.
-.TP
-.B \-of <format> (KOD BETA!)
-Koduje do wybranego formatu (domy¶lnie: AVI).
-.br
-.I INFORMACJA:
-U¿yj \-of help, aby otrzymaæ listê dostêpnych formatów.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-of avi"
-Koduje do AVI (domy¶lne).
-.IPs "\-of mpeg"
-Koduje do MPEG (zobacz tak¿e \-mpegopts).
-.IPs "\-of lavf"
-Koduje u¿ywaj±c mukserów z libavformat (zobacz tak¿e \-lavfopts).
-.IPs "\-of rawvideo"
-surowy strumieñ video (bez muksowania \- tylko jeden strumieñ video)
-.IPs "\-of rawaudio"
-surowy strumieñ audio (bez muksowania \- tylko jeden strumieñ audio)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-Ustawia ilo¶æ klatek na sekundê (fps) w wyj¶ciowym pliku,
-warto¶æ mo¿e byæ ró¿na ni¿ w pliku ¼ród³owym.
-Parametr musi byæ ustawiony dla zmiennego fps (ASF, niektóre MOV) i plików
-progresywnych (30000/1001fps ztelecinowane MPEG).
-.
-.TP
-.B \-ovc <nazwa\ kodeka>
-Koduje z podanym kodekiem video (brak domy¶lnej warto¶ci).
-.br
-.I INFORMACJA:
-U¿yj \-ovc help, aby otrzymaæ listê dostêpnych kodeków.
-.sp 1
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-Nie koduje, tylko kopiuje strumieñ.
-.IPs "\-ovc divx4"
-Koduje do DivX4/\:DivX5.
-.IPs "\-ovc raw"
-Koduje do nieskompesowanego formatu (u¿yj "\-vf format", aby wybraæ).
-.IPs "\-ovc lavc"
-Koduje z kodekiem libavcodec.
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <nazwa\ pliku>
-W dwuprzebiegowym kodowaniu, zrzuca informacje o pierwszym przebiegu do
-<nazwa pliku> zamiast domy¶lnego divx2pass.log.
-.
-.TP
-.B \-skiplimit <warto¶æ>
-Okre¶la maksymaln± liczbê pominiêtych klatek po zakodowaniu jednej
-(\-noskiplimit daje nieograniczon± liczbê).
-.
-.TP
-.B \-vobsubout <nazwa\ bazy>
-Okre¶la podstawow± nazwê wyj¶ciowych plików .idx i .sub.
-Wy³±czy to renderowanie napisów w kodowanym filmie i przekieruje je do plików
-napisów VOBsub.
-.
-.TP
-.B \-vobsuboutid <langid>
-Wybiera dwu literowy kod jêzyka napisów.
-Uniewa¿nia to, co jest czytane z DVD lub pliku .ifo.
-.
-.TP
-.B \-vobsuboutindex <index>
-Okre¶la indeks napisów w pliku wyj¶ciowym (domy¶lnie: 0).
-.
-.
-.
-.SH "OPCJE SPECYFICZNE DLA KODEKA (TYLKO MENCODER)"
-Mo¿esz okre¶liæ specyficzne parametry kodowania dla kodeka, korzystaj±c
-z poni¿szej sk³adni:
-.
-.TP
-.B \-<kodek>opts <opcja1[=warto¶æ],opcja2,...>
-.
-.PP
-Gdzie <kodek> to jedno z: lavc, xvidenc, divx4, lame, toolame, twolame, nuv,
-vfw, faac, x264enc, mpeg lub lavf.
-.
-.
-.SS divx4 (\-divx4opts)
-.
-DivX4 jest uwa¿any za przestarza³y i obs³ugiwany tylko dla kompletno¶ci.
-Aby uzyskaæ szczegó³owe informacje o opcjach DivX4, przeczytaj ¼ród³a,
-wiêkszo¶æ opcji nie jest tu opisana.
-.
-.TP
-.B "help\ \ \ "
-wy¶wietla pomoc
-.
-.TP
-.B br=<warto¶æ>
-Okre¶la bitrate.
-.RSs
-.IPs 4\-16000
-(w kbit)
-.IPs 16001\-24000000
-(w bit)
-.RE
-.
-.TP
-.B key=<warto¶æ>
-maksymalna przerwa miêdzy ramkami kluczowymi (w ramkach)
-.
-.TP
-.B deinterlace
-W³±cza usuwanie przeplotu (unikaj tej opcji, DivX4 ma pe³no b³êdów).
-.
-.TP
-.B q=<1\-5>
-jako¶æ (1\-najszybszy, 5\-najlepszy)
-.
-.TP
-.B min_quant=<1\-31>
-minimalny kwantyzator (quantizer)
-.
-.TP
-.B max_quant=<1\-31>
-maksywalny kwantyzator
-.
-.TP
-.B rc_period=<warto¶æ>
-wspó³czynnik kontroli czasu
-.
-.TP
-.B rc_reaction_period=<warto¶æ>
-wspó³czynnik kontroli czasu reakcji
-.
-.TP
-.B rc_reaction_ratio=<warto¶æ>
-wspó³czynnik kontroli proporcji reakacji
-.
-.TP
-.B crispness=<0\-100>
-okre¶la chropowato¶æ/\:g³adko¶æ
-.
-.TP
-.B pass=<1\-2>
-Z t± opcj± mo¿esz kodowaæ dwuprzebiegowo pliki DivX4.
-Najpierw koduj z pass=1,
-pó¼niej koduj jeszcze raz z tymi samymi parametrami i pass=2.
-.
-.TP
-.B vbrpass=<0\-2>
-Nadpisuje argument pass i wykorzystuje bibliotekê Xvid VBR zamiast DivX4 VBR.
-Dostêpne s± nastêpuj±ce opcje:
-.RSs
-.IPs 0
-kodowanie jednoprzebiegowe (tak jakby pomin±æ przebieg w wierszu poleceñ)
-.IPs 1
-Analityczny (pierwszy) przebieg dwuprzebiegowego kodowania.
-Wynikowy plik AVI mo¿e byæ przekierowany do /dev/\:null.
-.IPs 2
-Ostateczny (drugi) przebieg dwuprzebiegowego kodowania.
-.RE
-.
-.
-.SS lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-wy¶wietla pomoc
-.
-.TP
-.B vbr=<0\-4>
-metoda zmiennego bitrate
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (domy¶lne)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-¶redni bitrate
-.
-.TP
-.B "cbr\ \ \ \ "
-sta³y bitrate
-Wymusza równie¿ kodowanie CBR na pó¼niejszych kodowaniach ABR.
-.
-.TP
-.B br=<0\-1024>
-bitrate w kbit (tylko CBR i ABR)
-.
-.TP
-.B q=<0\-9>
-jako¶æ (0 \- najwy¿sza, 9 \- najni¿sza) (tylko VBR)
-.
-.TP
-.B aq=<0\-9>
-jako¶æ algorytmiczna (0 \- najlepsza/najwolniejsza, 9 \- najgorsza/najszybsza)
-.
-.TP
-.B ratio=<1\-100>
-wspó³czynnik kompresji
-.
-.TP
-.B vol=<0\-10>
-wzmocnienie g³o¶no¶ci wej¶cia audio
-.
-.TP
-.B mode=<0\-3>
-(domy¶lne: auto)
-.PD 0
-.RSs
-.IPs 0
-stereo
-.IPs 1
-joint-stereo
-.IPs 2
-dualchannel
-.IPs 3
-mono
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-¿aden
-.IPs 1
-pe³en
-.IPs 2
-dostraja
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-prze³±cza na szybsze kodowanie kolejnych trybów ustawieñ VBR
-Skutkuje to nieznacznie ni¿sz± jako¶ci± i wiêkszymi warto¶ciami bitrate.
-.
-.TP
-.B highpassfreq=<czêstotliwo¶æ>
-Ustawia czêstotliwo¶æ w Hz wysokoprzej¶ciowego filtrowania (highpass filtering).
-Czêstotliwo¶ci poni¿ej podanej bêd± obcinane.
-Warto¶æ \-1 wy³±czy filtrowanie, warto¶æ 0
-pozwoli LAME wykryæ warto¶ci automatycznie.
-.
-.TP
-.B lowpassfreq=<czêstotliwo¶æ>
-Ustawia czêstotliwo¶æ w Hz niskoprzej¶ciowego filtrowania (lowpass filtering).
-Czêstotliwo¶ci powy¿ej podanej bêd± obcinane.
-Warto¶æ \-1 wy³±czy filtrowanie, warto¶æ 0
-pozwoli LAME wykryæ warto¶ci automatycznie.
-.
-.TP
-.B preset=<warto¶æ>
-standardowe ustawienia
-.RSs
-.IPs help
-Wy¶wietla dodatkowe opcje i informacje o standardowych ustawieniach.
-.IPs medium
-kodowanie VBR, dobra jako¶æ, warto¶ci bitrate 150\-180 kbps
-.IPs standard
-kodowanie VBR, wysoka jako¶æ, warto¶ci bitrate 170\-210 kbps
-.IPs extreme
-kodowanie VBR, bardzo wysoka jako¶æ, warto¶ci bitrate 200\-240 kbps
-.IPs insane
-kodowanie CBR, najwy¿sza ustawiona jako¶æ, bitrate 320 kbps
-.IPs <8\-320>
-kodowanie ABR z u¶rednion± warto¶ci± podanego bitrate
-.RE
-.sp 1
-.RS
-.I PRZYK£ADY:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-stosowne dla wiêkszo¶ci ludzi i typów muzyki i ju¿ ca³kiem wysoka jako¶æ
-.IPs cbr:preset=192
-Koduje z ustawieniami ABR na wymuszonym, sta³ym bitrate wynosz±cym 192 kbps.
-.IPs preset=172
-Kodowanie z ustawieniami ABR przy ¶rednim bitrate 172 kbps.
-.IPs preset=extreme
-Dla ludzi z niewiarygodnie dobrym s³uchem i podobnym wyposa¿eniem.
-.RE
-.PD 1
-.
-.
-.SS toolame i twolame (odpowiednio \-toolameopts i \-twolameopts)
-.
-.TP
-.B br=<32\-384>
-W trybie CBR parametr ten oznacza bitrate w kbps,
-natomiast w trybie VBR jest to minimalny bitrate na ramkê.
-Tryb VBR nie zadzia³a z warto¶ci± mniejsz± ni¿ 112.
-.
-.TP
-.B vbr=<\-50\-50> (tylko VBR)
-Przedzia³ zmienno¶ci; je¶li ujemny koder przesuwa ¶redni bitrate w stronê
-dolnej granicy, je¶li dodatni w stronê górnej.
-Je¶li ustawione na 0 jest u¿ywany tryb CBR (domy¶lne).
-.
-.TP
-.B maxvbr=<32\-384> (VBR only)
-maksymalny bitrate dozwolony na ramkê, w kbps
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-(domy¶lnie: mono dla d¼wiêku jednokana³owego, w przeciwnym wypadku stereo)
-.
-.TP
-.B psy=<\-1\-4>
-model psychoakustyczny (domy¶lnie: 2)
-.
-.TP
-.B errprot=<0 | 1>
-W³±cza ochronê przed b³êdami.
-.
-.TP
-.B debug=<0\-10>
-poziom debugowania
-.RE
-.PD 1
-.
-.
-.SS faac (\-faacopts)
-.
-.TP
-.B br=<bitrate>
-¶redni bitrate w kbps (nie dzia³a z quality)
-.
-.TP
-.B quality=<1\-1000>
-jako¶æ, im wy¿sza tym lepsza (nie dzia³a z br)
-.
-.TP
-.B object=<0\-3>
-typ z³o¿ono¶ci obiektów
-.PD 0
-.RSs
-.IPs 0
-MAIN (domy¶lnie)
-.IPs 1
-LOW
-.IPs 2
-SSR
-.IPs 3
-LTP (niezwykle wolne)
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-Wersja MPEG (domy¶lnie: 4)
-.
-.TP
-.B "tns\ \ \ \ "
-W³±cza czasowe kszta³towanie szumu.
-.
-.TP
-.B cutoff=<0\-czêstotliwo¶æ_próbkowania/2>
-czêstotliow¶æ obcinania (domy¶lnie: czêstotliwo¶æ_próbkowania/2)
-.
-.TP
-.B "raw\ \ \ \ "
-Przechowuje strumieñ jako surowy ³adunek z dodatkowymi danymi w nag³ówku
-kontenera (domy¶lnie: 0, co oznacza ADTS).
-Nie ustawiaj tej flagi je¶li wyra¼nie tego nie potrzebujesz, albo nie bêdziesz
-móg³ pó¼niej zremuksowaæ strumienia audio.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-.
-Wiele z opcji libavcodec (w skrócie lavc) jest sk±po udokumentowanych.
-Szczegó³owe informacje znajdziesz w ¼ród³ach.
-.PP
-.I PRZYK£AD:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B acodec=<warto¶æ>
-kodek audio (domy¶lnie: mp2):
-.PD 0
-.RSs
-.IPs "mp2\ \ "
-MPEG Layer 2
-.IPs "mp3\ \ "
-MPEG Layer 3
-.IPs "ac3\ \ "
-AC3
-.IPs adpcm_ima_wav
-IMA Adaptive PCM (4bity na próbkê, kompresja w stosunku 4:1)
-.IPs "sonic\ "
-Eksperymentalny stratny/bezstratny kodek.
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<warto¶æ>
-bitrate d¼wiêku w kbit (domy¶lnie: 224)
-.
-.TP
-.B atag=<warto¶æ>
-Wykorzystuje okre¶lony znacznik formatu d¼wiêku systemu Windows (np.\&
-atag=0x55).
-.
-.TP
-.B bit_exact
-Wykorzystuje tylko algorytmy bitowo dok³adne (poza (I)DCT).
-Ponadto bit_exact wy³±cza kilka funkcji optymalizacyjnych i dlatego te¿
-powinien byæ stosowany tylko do testów regresyjnych, które wymagaj± plików
-identycznych binarnie, nawet je¿eli zmienia siê wersja kodera.
-Opcja ta ignoruje równie¿ nag³ówek user_data w strumieniach MPEG-4.
-Nie korzystaj z tego parametru, chyba ¿e wiesz co robisz.
-.
-.TP
-.B threads=<1\-8>
-Maksymalna liczba u¿ytych w±tków (domy¶lnie: 1).
-Mo¿e mieæ delikatnie negatywny wp³yw na przewidywanie ruchu.
-.RE
-.
-.TP
-.B vcodec=<warto¶æ>
-Wykorzystuje podany kodek (domy¶lnie: mpeg4).
-.PD 0
-.RSs
-.IPs mjpeg
-Motion JPEG
-.IPs ljpeg
-Lossless JPEG
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263 Plus
-.IPs mpeg4
-MPEG-4 (DivX 4/5)
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG4v2
-.IPs "wmv1\ "
-Windows Media Video, wersja 1 (AKA WMV7)
-.IPs "wmv2\ "
-Windows Media Video, wersja 2 (AKA WMV8)
-.IPs "rv10\ "
-stary kodek RealVideo
-.IPs mpeg1video
-MPEG-1 video
-.IPs mpeg2video
-MPEG-2 video
-.IPs huffyuv
-HuffYUV
-.IPs ffvhuff (zobacz tak¿e opcjê vstrict)
-niestandardowy, mniejszy o 20% HuffYUV wykorzystuj±cy YV12
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs ffv1 (zobacz tak¿e opcjê vstrict)
-bezstratny kodek video FFmpeg
-.IPs "flv\ \ "
-Sorenson H.263 u¿ywany w Flash Video
-.IPs dvvideo
-Sony Digital Video
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs snow (zobacz tak¿e opcjê vstrict)
-eksperymentalny kodek FFmpeg oparty o wavelet
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-minimalny kwantyzator (quantizer) (przebieg\ 1/\:2)
-.RSs
-.IPs 1
-Nie zalecane (bardzo du¿y plik, ma³a ró¿nica w jako¶ci i dziwne efekty uboczne:
-msmpeg4, h263 bêd± s³abej jako¶ci, kontrola tempa bêdzie szwankowa³a co w
-rezultacie da wyj¶cie ni¿szej jako¶ci i niektóre dekodery nie bêd± w stanie
-sobie z nim poradziæ).
-.IPs 2
-Zalecane do normalnego kodowania mpeg4/\:mpeg1video (domy¶lne).
-.IPs 3
-Zalecane dla h263(p)/\:msmpeg4.
-Powodem wyboru 3 a nie 2 jest fakt, ¿e ten drugi mo¿e prowadziæ do przepe³nieñ.
-(Bêdzie to naprawione dla h263(p) przez zmianê kwantyzatora o MB w przysz³o¶ci,
-msmpeg4 nie mo¿e byæ poprawiony poniewa¿ tego nie obs³uguje.)
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-Minimalny mno¿nik Lagrange dla kontroli tempa, prawdopodobnie chcesz, ¿eby by³
-równy lub mniejszy ni¿ vqmin (domy¶lnie: 2.0).
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-maksymalny mno¿nik Lagrange dla kontroli tempa (domy¶lnie: 31.0)
-.RE
-.
-.TP
-.B vqscale=<1\-31>
-Sta³y kwantyzator /\: sta³a jako¶æ kodowania (w³±cza tryb sta³ego kwantyzatora).
-Ni¿sza warto¶æ oznacza lepsz± jako¶æ ale wiêkszy plik wynikowy
-(domy¶lnie: 0 (wy³±czony)).
-1 nie jest zalecan± warto¶ci± (sprawd¼ vqmin a uzyskasz wiêcej informacji).
-.
-.TP
-.B vqmax=<1\-31>
-maksymalny kwantyzator (przebieg\ 1/\:2), 10\-31 jest rozs±dnym zakresem
-(domy¶lnie: 31)
-.
-.TP
-.B mbqmin=<1\-31>
-przestarza³e, u¿ywaj vqmin
-.
-.TP
-.B mbqmax=<1\-31>
-przestarza³e, u¿ywaj vqmax
-.
-.TP
-.B vqdiff=<1\-31>
-maksymalna ró¿nica kwantyzatora miêdzy s±siednimi ramkami I a P
-(przebieg\ 1/\:2) (domy¶lnie: 3)
-.
-.TP
-.B vmax_b_frames=<0\-4>
-maksymalna ilo¶æ ramek B miêdzy ramkami innymi ni¿ B:
-.PD 0
-.RSs
-.IPs 0
-brak klatek B (domy¶lne)
-.IPs 0\-2
-rozs±dny zakres dla MPEG-4
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-metoda szacowania ruchu
-Dostêpne s± metody:
-.PD 0
-.RSs
-.IPs 0
-¿adna (bardzo niska jako¶æ)
-.IPs 1
-pe³na (powolna, brak opiekuna, metoda wy³±czona)
-.IPs 2
-log (niska jako¶æ, brak opiekuna, metoda wy³±czona)
-.IPs 3
-phods (niska jako¶æ, brak opiekuna, metoda wy³±czona)
-.IPs 4
-EPZS: rozmiar diamentu jest równy 1, mo¿e byæ dopasowany
-przez opcje *dia (domy¶lna)
-.IPs 5
-X1 (eksperymentalna, obecnie synonim EPZS)
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I INFORMACJA:
-Warto¶ci 0\-3 obecnie ignoruj± ilo¶æ zu¿ytych Bitów,
-wiêc jako¶æ mo¿e byæ niska.
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-zakres przeszukiwania przy szacowaniu ruchu
-(domy¶lnie: 0 (nieograniczony))
-.
-.TP
-.B mbd=<0\-2>
-Algorytm decyzyjny makrobloku (tryb wysokiej jako¶ci), koduje ka¿dy makroblok
-we wszystkich trybach i wybiera ten najlepszy.
-Metoda ta jest powolna, ale jej rezultatem jest lepsza jako¶æ i mniejsza
-objêto¶æ pliku.
-.PD 0
-.RSs
-.IPs 0
-Korzysta z mbcmp (domy¶lne).
-.IPs 1
-Wybiera tryb MB, który wymaga najmniejszej ilo¶ci bitów (=vhq).
-.IPs 2
-Wybiera tryb MB, który powoduje najmniejsze zniekszta³cenia tempa.
-.RE
-.PD 1
-.
-.TP
-.B "vhq\ \ \ \ "
-Dzia³a tak samo jak mbd=1, trzymany ze wzglêdu na kompatybilno¶æ.
-.
-.TP
-.B "v4mv\ \ \ "
-Zezwala na 4 wektory ruchu w ka¿dym makrobloku (trochê lepsza jako¶æ).
-Dzia³a lepiej w parze z mbd>0.
-.
-.TP
-.B "obmc\ \ \ "
-kompensacja ruchu nachodz±cych na siebie bloków (H.263+)
-.
-.TP
-.B "loop\ \ \ "
-filtr pêtli (H.263+)
-nie dzia³a
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-Na razie nie robi kompletnie nic.
-.
-.TP
-.B keyint=<0\-300>
-maksymalna przerwa miêdzy ramkami kluczowymi w ramkach
-(domy¶lnie: 250 albo jedna klatka kluczowa co dziesiêæ sekund w filmie 25fps)
-Ramki kluczowe s± potrzebne przy przeszukiwaniu, jako ¿e przeszukiwane s±
-tylko ramki kluczowe, potrzebuj± jednak one trochê wiêcej miejsca ni¿ zwyk³e
-ramki, wiêc wiêksze warto¶ci dadz± w rezultacie mniejszy plik, ale mniej
-precyzyjne przeszukiwanie.
-0 jest równowa¿ne 1, czyli ka¿da ramka jest ramk± kluczow±.
-Warto¶ci >300 nie s± zalecane, poniewa¿ jako¶æ mo¿e byæ z³a w zale¿no¶ci od
-dekodera, kodera i szczê¶cia.
-Dla utrzymania pe³nej zgodno¶ci z MPEG-1/\:2/\:4 warto¶ci powinny byæ <=132.
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-Próg do wykrywania zmiany sceny.
-Libavcodec wstawia klatkê kluczow± je¿eli wykryje zmianê sceny.
-T± opcj± mo¿esz okre¶liæ czu³o¶æ tej detekcji.
-\-1000000000 oznacza, ¿e zmiana sceny wykrywana jest w ka¿dej klatce,
-1000000000 oznacza, ¿e ¿adne zmiany nie bêd± wykryte (domy¶lnie: 0).
-.
-.TP
-.B vb_strategy=<0\-1> (tylko pierwszy przebieg)
-strategia wyboru miêdzy ramkami I/\:P/\:B:
-.PD 0
-.RSs
-.IPs 0
-Zawsze u¿ywa maksymalnej ilo¶ci klatek B (domy¶lne).
-.IPs 1
-Unika ramek B w scenach z du¿± ilo¶ci± ruchu.
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-W³±cza wewnêtrzny tryb dwu- (lub wiêcej) przebiegowy, podawaj tylko, je¿eli chcesz
-korzystaæ z kodowania dwu- (lub wiêcej) przebiegowego.
-.PD 0
-.RSs
-.IPs 1
-pierwszy przebieg (zobacz tak¿e opcjê turbo)
-.IPs 2
-drugi przebieg
-.IPs 3
-n-ty przebieg (drugi i nastêpne przebiegi kodowania N-przebiegowego)
-.RE
-.RS
-Jak to dzia³a i jak tego u¿ywaæ:
-.br
-Pierwszy przebieg (vpass=1) zapisuje plik ze statystykami.
-Mo¿e bêdziesz chcia³ wy³±czyæ niektóre opcje znacznie obci±¿aj±ce procesor,
-podobnie jak robi to tryb "turbo".
-.br
-W trybie dwuprzebiegowym drugi przebieg (vpass=2) czyta plik ze statystykami
-i opiera na nim decyzje o kontroli tempa.
-.br
-W trybie N-przebiegowym drugi przebieg (vpass=3, to nie b³±d)
-robi obie rzeczy: Najpierw czyta statystyki z pliku, pó¼niej je nadpisuje.
-Mo¿e bêdziesz chcia³ zachowaæ kopiê pliku divx2pass.log zanim to siê stanie,
-je¶li istnieje mo¿liwo¶æ, ¿e bêdziesz musia³ przerwaæ dzia³anie MEncodera.
-Mo¿esz u¿ywaæ wszystkich opcji kodowania, poza tymi obci±¿aj±cymi procesor
-w znacznym stopniu (jak "qns").
-.br
-Mo¿esz pó¼niej powtarzaæ ten przebieg, poprawiaj±c proces kodowania.
-Ka¿dy przebieg bêdzie u¿ywa³ statystyk z poprzedniego ¿eby poprawiæ kodowanie.
-Ostatni przebieg mo¿e mieæ opcje dowolnie obci±¿aj±ce procesor.
-.br
-Je¶li chcesz kodowania dwuprzebiegowego, u¿yj najpierw vpass=1 potem vpass=2.
-.br
-Je¶li chcesz trój- lub wiêcej przebiegowego u¿yj vpass=1 przy pierwszym
-przebiegu a potem vpass=3 i vpass=3 i tak dalej dopóki nie jeste¶ zadowolony
-z wyniku kodowania.
-.RE
-.PD 1
-.sp 1
-.RS
-huffyuv:
-.RE
-.PD 0
-.RSs
-.IPs "pierwszy przebieg"
-Zachowuje statystyki.
-.IPs "drugi przebieg"
-Koduje z optymaln± tablic± Huffmana opart± o wyniki pierwszego przebiegu.
-.RE
-.PD 1
-.
-.TP
-.B turbo (tylko tryb dwuprzebiegowy)
-Znacznie zwiêksza szybko¶æ pierwszego przebiegu u¿ywaj±c szybszych algorytmów
-i wy³±czaj±c opcje obci±¿aj±ce w znacznym stopniu procesor.
-Prawdopodobnie zmniejszy to trochê globalny wspó³czynnik PSNR (o oko³o 0.01dB),
-zmieni typy pojedynczych klatek i trochê bardziej ich PSNR (do 0.03dB).
-.
-.TP
-.B aspect=<x/\:y>
-Przechowuje proporcje wewnêtrznie, podobnie jak pliki MPEG.
-O wiele lepsze rozwi±zanie ni¿ ponowne skalowanie, poniewa¿ nie spada jako¶æ.
-Tylko MPlayer bêdzie odtwarza³ te pliki poprawnie, inne odtwarzacze wy¶wietl±
-je w z³ych proporcjach.
-Parametr proporcji mo¿e byæ podany jako stosunek lub liczba rzeczywista.
-.sp 1
-.RS
-.I Przyk³ad:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/\:9 lub aspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-Podobnie jak opcja aspect, ale proporcja wyliczana jest automatycznie, bior±c
-pod uwagê wszystkie filtry dostrajaj±ce (crop/\:expand/\:scale/\:itp) podane w
-³añcuchu.
-Nie powoduje spadku wydajno¶ci, wiêc mo¿esz j± mieæ spokojnie zawsze w³±czon±.
-.
-.TP
-.B vbitrate=<warto¶æ>
-Okre¶la bitrate (przebieg\ 1/\:2) (domy¶lnie: 800).
-.br
-.I UWAGA:
-1kbit = 1000 bitów
-.PD 0
-.RSs
-.IPs 4\-16000
-(w kbit)
-.IPs 16001\-24000000
-(w bit)
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<warto¶æ>
-przybli¿ona tolerancja rozmiaru pliku w kbit.
-1000\-100000 jest rozs±dnym zakresem.
-(uwaga: 1kbit = 1000 bitów)
-(domy¶lnie: 8000)
-.br
-.I INFORMACJA:
-Warto¶æ vratetol nie powinna byæ zbyt du¿a podczas drugiego przebiegu, inaczej
-mog± wyst±piæ problemy, je¿eli wykorzystane bêdzie vrc_(min|max)rate.
-.
-.TP
-.B vrc_maxrate=<warto¶æ>
-maksymalny bitrate w kbit/\:sek (przebieg\ 1/\:2)
-(domy¶lnie: 0, nieograniczony)
-.
-.TP
-.B vrc_minrate=<warto¶æ>
-minimalny bitrate w kbit/\:sek (przebieg\ 1/\:2)
-(domy¶lnie: 0, nieograniczony)
-.
-.TP
-.B vrc_buf_size=<warto¶æ>
-rozmiar bufora w kbit (przebieg\ 1/\:2).
-Dla MPEG-1/\:2 okre¶la to równie¿ rozmiar bufora vbv, u¿yj 327 dla VCD,
-917 dla SVCD i 1835 dla DVD.
-.
-.TP
-.B vrc_buf_aggressivity
-obecnie bezu¿yteczne
-.
-.TP
-.B vrc_strategy
-Zarezerwowane na przysz³o¶æ.
-.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-wspó³czynnik kwantyzatora pomiêdzy ramkami B a innymi ni¿ B (przebieg\ 1/\:2)
-(domy¶lnie: 1.25)
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-wspó³czynnik kwantyzatora pomiêdzy ramkami I a innymi ni¿ I (przebieg\ 1/\:2)
-(domy¶lnie: 0.8)
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-offset kwantyzatora pomiêdzy ramkami B a innymi ni¿ B (przebieg\ 1/\:2)
-(domy¶lnie: 1.25)
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-(przebieg\ 1/\:2) (domy¶lnie: 0.0)
-.br
-je¿eli v{b|i}_qfactor > 0
-.br
-Kwantyzator klatek I/\:B = kwantyzator ramki P * v{b|i}_qfactor +
-v{b|i}_qoffset
-.br
-w przeciwnym wypadku
-.br
-normalnie kontroluj tempo (nie blokuj kwantyzatora wed³ug nastêpnej ramki P)
-i ustaw q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I WSKAZÓWKA:
-Aby kodowaæ ze sta³ym kwantyzatorem, ale ró¿nym
-dla klatek I/\:P i B, mo¿esz wykorzystaæ poni¿szy wzór:
-lmin= <ip_quant>:lmax= <ip_quant>:vb_qfactor= <b_quant/\:ip_quant>
-.
-.TP
-.B vqblur=<0.0\-1.0> (przebieg 1)
-Rozmycie kwantyzatora (domy¶lnie: 0.5),
-wiêksze warto¶ci u¶redni± kwantyzator w czasie (wolniejsze zmiany).
-.PD 0
-.RSs
-.IPs 0.0
-Wy³±czone rozmycie kwantyzatora
-.IPs 1.0
-U¶rednia kwantyzator ze wszystkich poprzednich klatek.
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0> (przebieg 2)
-Rozmycie gaussowe kwantyzatora (domy¶lnie: 0.5),
-wiêksze warto¶ci u¶redni± kwantyzator w czasie (wolniejsze zmiany).
-.
-.TP
-.B vqcomp=<0.0\-1.0>
-Kompresja kwantyzatora, vrc_eq zale¿y od niej (przebieg\ 1/\:2) (domy¶lnie: 0.5).
-Dla przyk³adu, zak³adaj±c ¿e jest u¿ywane domy¶lne równanie kontroli tempa,
-przy vqcomp=1.0, kontrola tempa przydziela ka¿dej ramce ilo¶æ bitów potrzebn±
-do zakodowania ich przy takim samym kwantyzatorze.
-Przy vqcomp=0.0, kontrola tempa przydziela ka¿dej ramce tak± sam± ilo¶æ bitów,
-czyli ¶cis³e CBR.
-.I INFORMACJA:
-To s± ekstremalne ustawienia i nie powinny byæ u¿ywane.
-Postrzegana optymalna jako¶æ bêdzie gdzie¶ miêdzy tymi dwoma ekstremami.
-.
-.TP
-.B vrc_eq=<equation>
-g³ówne równanie kontroli tempa (przebieg\ 1/\:2)
-.RE
-.RSs
-.IPs "1\ \ \ \ "
-sta³y bitrate
-.IPs "tex\ \ "
-sta³a jako¶æ
-.IPs 1+(tex/\:avgTex-1)*qComp
-przybli¿one równanie starej kontroli tempa
-.IPs tex^qComp
-z qcomp 0.5 czy co¶ takiego (domy¶lne)
-.RE
-.PP
-.RS
-operatory:
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-zmienne:
-.RE
-.RSs
-.IPs "tex\ \ "
-z³o¿ono¶æ tekstur
-.IPs iTex,pTex
-z³o¿ono¶æ tekstur intra, nie-intra
-.IPs avgTex
-¶rednia z³o¿ono¶æ tekstur
-.IPs avgIITex
-¶rednia z³o¿ono¶æ tekstur intra w ramkach I
-.IPs avgPITex
-¶rednia z³o¿ono¶æ tekstur intra w ramkach P
-.IPs avgPPTex
-¶rednia z³o¿ono¶æ tekstur nie-intra w ramkach P
-.IPs avgBPTex
-¶rednia z³o¿ono¶æ tekstur nie-intra w ramkach B
-.IPs "mv\ \ \ "
-ilo¶æ bitów u¿ytych w wektorach ruchu
-.IPs fCode
-maksymalna d³ugo¶æ wektorów ruchu w skali log2
-.IPs iCount
-ilo¶æ makrobloków intra / ilo¶æ makrobloków
-.IPs "var\ \ "
-z³o¿ono¶æ przestrzenna
-.IPs mcVar
-z³o¿ono¶æ czasowa
-.IPs qComp
-qcomp z wiersza poleceñ
-.IPs "isI, isP, isB"
-Wynosi 1 je¿eli typ obrazu to I/\:P/\:B w przeciwnym wypadku \- 0.
-.IPs "Pi,E\ "
-Przejrzyj swoj± ulubion± ksi±¿kê do matematyki.
-.RE
-.PP
-.RS
-funkcje:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-maksimum / minimum
-.IPs gt(a,b)
-wynosi 1 je¿eli a>b, inaczej 0
-.IPs lt(a,b)
-wynosi 1 je¿eli a<b, inaczej 0
-.IPs eq(a,b)
-wynosi 1 je¿eli a==b, inaczej 0
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<opcje>
-Okre¶lona przez u¿ytkownika jako¶æ poszczególnych czê¶ci (zakoñczenie,
-lista p³ac, ...) (przebieg\ 1/\:2).
-Opcje to <klatka-pocz±tkowa>, <klatka-koñcowa>, <jako¶æ>[/\:<klatka-pocz±tkowa>,
-<klatka-koñcowa>, <jako¶æ>[/\:...]]:
-.PD 0
-.RSs
-.IPs "quality (2\-31)"
-kwantyzator
-.IPs "quality (\-500\-0)"
-korekcja jako¶ci w %
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-pocz±tkowa z³o¿ono¶æ (przebieg\ 1)
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-pocz±tkowa zajêto¶æ bufora, jako u³amek vrc_buf_size (domy¶lnie: 0.9)
-.
-.TP
-.B vqsquish=<0|1>
-Okre¶la jak ma siê zachowywaæ kwantyzator miêdzy qmin a qmax (przebieg\ 1/\:2).
-.PD 0
-.RSs
-.IPs 0
-U¿ywa obcinania.
-.IPs 1
-U¿ywa ³adnej, ró¿niczkowalnej funkcji (domy¶lne).
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-Ustawia próg eliminowania pojedynczych wspó³czynników jasno¶ci.
-Warto¶ci ujemne bêd± bra³y pod uwagê tak¿e wspó³czynnik DC
-(powinny byæ równe co najmniej \-4 lub ni¿ej dla kodowania z quant=1):
-.PD 0
-.RSs
-.IPs 0
-wy³±czony (domy¶lne)
-.IPs \-4
-zalecane przez JVT
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-Ustawia próg eliminowania pojedynczych wspó³czynników barwy.
-Warto¶ci ujemne bêd± bra³y pod uwagê tak¿e wspó³czynnik DC
-(powinny byæ równe co najmniej \-4 lub ni¿ej dla kodowania z quant=1):
-.PD 0
-.RSs
-.IPs 0
-wy³±czony (domy¶lne)
-.IPs 7
-zalecane przez JVT
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-¶cis³a zgodno¶æ ze standardami
-.PD 0
-.RSs
-.IPs 0
-wy³±czona
-.IPs 1
-Zalecane tylko w przypadku, je¿eli chcesz przekazaæ wyj¶cie do referencyjnego
-dekodera MPEG-4.
-.IPs \-1
-Pozwala na rozszerzenia libavcodec (domy¶lne).
-.IPs \-2
-W³±cza eksperymentalne kodeki i mo¿liwo¶ci które mog± nie byæ obs³ugiwane
-przez przysz³e wersje MPlayera (snow, ffvhuff, ffv1).
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-Dzielenie danych.
-Dodaje 2 Bajty do ka¿dego pakietu video, poprawia odporno¶æ na b³êdy podczas
-transferu przez niepewne kana³y (np.\& przesy³anie poprzez internet).
-Ka¿dy pakiet bêdzie kodowany w 3 oddzielnych czê¶ciach:
-.PD 0
-.RSs
-.IPs "1. MVy"
-ruch
-.IPs "2. Wspó³czynniki DC"
-obraz niskiej rozdzielczo¶ci
-.IPs "3. Wspó³czyniki AC"
-szczegó³y
-.RE
-.PD 1
-.RS
-Najwa¿niejsze s± MV i DC, ich utrata jest o wiele gorsza ni¿ utrata AC i
-pó¼niej 1. i 2. czê¶ci.
-MV i DC razem s± o wiele mniejsze ni¿ 3ci kawa³ek (AC), co oznacza,
-¿e b³êdy bêd± czê¶ciej wystêpowa³y w tym ostatnim ni¿ w dwóch pierwszych.
-Dlatego, obraz bêdzie wygl±da³ o wiele lepiej z podzia³em na czê¶ci ni¿ bez,
-poniewa¿ bez dzielenia b³êdy bêd± zdarza³y siê równo w AC/\:DC/\:MV.
-.RE
-.
-.TP
-.B vpsize=<0\-10000> (zobacz tak¿e opcjê vdpart)
-Rozmiar pakietu video, poprawia odporno¶æ na b³êdy.
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-wy³±czone (domy¶lne)
-.IPs 100\-1000
-dobry wybór
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-tryb o strukturze plastrowej dla H.263+
-.
-.TP
-.B "gray\ \ \ "
-kodowanie tylko w skali szaro¶ci (szybsze)
-.
-.TP
-.B vfdct=<0\-10>
-algorytm DCT
-.PD 0
-.RSs
-.IPs 0
-Automatycznie wybiera dobry (domy¶lne).
-.IPs 1
-fast integer
-.IPs 2
-accurate integer
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-floating point AAN
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-algorytm IDCT
-.br
-.I INFORMACJA:
-Z tego co wiemy te wszystkie IDCT przechodz± testy IEEE1180.
-.PD 0
-.RSs
-.IPs 0
-Automatycznie wybiera dobry (domy¶lne).
-.IPs 1
-referencjny dekoder JPEG
-.IPs 2
-simple
-.IPs 3
-simplemmx
-.IPs 4
-libmpeg2mmx (niedok³adny, nie u¿ywaj do kodowania z keyint >100)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-Maskowanie jasno¶ci jest "psychosensorycznym" parametrem, który wykorzystuje
-fakt, ¿e ludzkie oko widzi mniej szczegó³ów na bardzo jasnych polach obrazu.
-Kompresuje on mocniej jasne obszary ni¿ te o ¶redniej jasno¶ci, wiêc zachowa to
-kilka bitów, które mog± byæ wykorzystane przez nastêpne klatki, podnosz±c
-ogóln±, subiektywn± jako¶æ, przy jednoczesnym mo¿liwym spadku warto¶ci PSNR.
-.br
-.I UWAGA:
-B±d¼ ostro¿ny, zbyt du¿e warto¶ci mog± spowodowaæ okropne rzeczy.
-.br
-.I UWAGA:
-Du¿e warto¶ci mog± wygl±daæ dobrze na niektórych monitorach,
-a na innych nie.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-wy³±czone (domy¶lne)
-.IPs 0.0\-0.3
-rozs±dny zakres
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-Maskowanie ciemno¶ci jest "psychosensorycznym" parametrem, który wykorzystuje
-fakt, ¿e ludzkie oko widzi mniej szczegó³ów na bardzo ciemnych polach obrazu.
-Kompresuje on mocniej ciemne obszary ni¿ te o ¶redniej jasno¶ci, wiêc zachowa to
-kilka bitów, które mog± byæ wykorzystane przez nastêpne klatki, podnosz±c
-ogóln±, subiektywn± jako¶æ, przy jednoczesnym mo¿liwym spadku warto¶ci PSNR.
-.br
-.I UWAGA:
-B±d¼ ostro¿ny, zbyt du¿e warto¶ci mog± spowodowaæ okropne rzeczy.
-.br
-.I UWAGA:
-Du¿e warto¶ci mog± wygl±daæ dobrze na niektórych monitorach, a na
-innych / TV / TFT nie.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-wy³±czone (domy¶lne)
-.IPs 0.0\-0.3
-rozs±dny zakres
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-Maskowanie czasowej z³o¿ono¶ci (domy¶lnie: 0.0 (wy³±czone)).
-Wyobra¼ sobie ujêcie z ptakiem lec±cym przez ca³± scenê. tcplx_mask
-zwiêkszy kwantyzatory jego makrobloków (tym samym zmniejszaj±c ich jako¶æ),
-poniewa¿ ludzkie oko zazwyczaj nie ma czasu, ¿eby zobaczyæ wszystkie jego
-szczegó³y.
-Niestety, je¿eli przedmiot, na którego zosta³a na³o¿ona maska, zatrzyma siê
-(np.\& ptak wyl±duje) prawdopodobnie bêdzie wygl±da³o to okropnie przez
-krótk± chwilê, dopóki koder nie zauwa¿y tego, ¿e przedmiot ju¿ siê nie porusza
-i potrzebuje nowych bloków.
-Zaoszczêdzone bity, bêd± wykorzystane w innych czê¶ciach filmu, co mo¿e
-zwiêkszyæ subiektywn± jako¶æ, pod warunkiem, ¿e warto¶æ tcplx_mask jest
-starannie dobrana.
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-Maskowanie z³o¿ono¶ci przestrzennej.
-Wiêksze warto¶ci pomagaj± przy blokowaniu, je¿eli ¿aden filtr odblokowania nie
-jest stosowany przy dekodowaniu \- nie jest to najlepszy pomys³.
-.br
-Wyobra¼ sobie scenê z traw± (która ma zazwyczaj du¿± kompleksowo¶æ
-przestrzenn±), niebieskim niebem i domem;
-scplx_mask zwiêkszy kwantyzatory makrobloków trawy, tym samym zmniejszaj±c jej
-jako¶æ, tak ¿eby wykorzystaæ wiêcej bitów na niebo i dom.
-.br
-.I WSKAZÓWKA:
-Usuñ wszystkie czarne krawêdzie, jako ¿e zmniejszaj± one jako¶æ
-makrobloków (aktualne nawet bez scplx_mask).
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-wy³±czone (domy¶lne)
-.IPs 0.0\-0.5
-rozs±dny zakres
-.RE
-.PD 1
-.sp 1
-.RS
-.I INFORMACJA:
-Ten parametr nie dzia³a tak samo, jak u¿ycie w³asnej matrycy, która
-kompresowa³a by wy¿sze czêstotliwo¶ci lepiej, jako ¿e scplx_mask zmniejszy
-jako¶æ bloków P, nawet je¶li tylko DC siê zmienia.
-scplx_mask nie da tak dobrych wyników.
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0> (also see vi_qfactor)
-Zmniejsza jako¶æ inter makrobloków.
-Jest to jednoznaczne z podniesieniem jako¶ci intra bloków, poniewa¿ ta sama,
-przeciêtna warto¶æ bitrate, bêdzie rozprowadzona przez kontroler tempa
-(rate controller) na ca³± sekwencjê video (domy¶lnie: 0.0 (wy³±czone)).
-p_mask=1.0 podwoja lo¶æ bitów alokowanych do ka¿dego inta bloku.
-.
-.TP
-.B border_mask=<0.0\-1.0>
-Przetwarzanie ramek w koderach typu MPEG.
-Przetwarzanie ramek zwiêksza kwantyzator dla makrobloków które s± odleg³e
-od krawêdzi o mniej ni¿ 1/5t± wysoko¶ci/szeroko¶ci obrazu,
-jako ¿e czêsto s± one mniej wa¿ne wizualnie.
-.
-.TP
-.B "naq\ \ \ \ "
-Normalizuje przystosowywaln± kwantyzacjê (eksperymentalne).
-Podczas korzystania z przystosowywalnej kwantyzacji (*_mask), ¶redni
-kwantyzatory na MB mo¿e ju¿ nie odpowiadaæ ¿±danemu kwantyzatorowi na poziomie
-klatki.
-Naq spróbuje dostroiæ kwantyzatory na MB by utrzymaæ prawid³ow± ¶redni±.
-.
-.TP
-.B "ildct\ \ "
-U¿ywa DCT z przeplotem.
-.
-.TP
-.B "ilme\ \ \ "
-U¿ywa metody przewidywania ruchu z przeplotem (wzajemnie wykluczaj±cy
-siê z qpel).
-.
-.TP
-.B "alt\ \ \ \ "
-Korzysta z alternatywnej scantable.
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-automatycznie
-.IPs 0
-najpierw dolne pole
-.IPs 1
-najpierw górne pole
-.RE
-.PD 1
-.
-.TP
-.B format=<warto¶æ>
-.PD 0
-.RSs
-.IPs "YV12\ "
-domy¶lny
-.IPs "444P\ "
-dla ffv1
-.IPs "422P\ "
-dla HuffYUV, bezstratnego JPEG i ffv1
-.IPs 411P,YVU9
-dla bezstratnego JPEG i ffv1
-.IPs BGR32
-dla bezstratnego JPEG i ffv1
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(dla HuffYUV)
-.PD 0
-.RSs
-.IPs 0
-przewidywanie lewej
-.IPs 1
-czyste/\:gradientowe przewidywanie
-.IPs 2
-przewidywanie mediany
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(dla bezstratnego JPEG)
-.PD 0
-.RSs
-.IPs 0
-przewidywanie lewej
-.IPs 1
-przewidywanie górnej
-.IPs 2
-przewidywanie górnej-lewej
-.IPs 3
-p³aszczyznowe/\:gradientowe przewidywanie
-.IPs 6
-przewidywanie ¶redniej
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-(dla ffv1)
-.PD 0
-.RSs
-.IPs 0
-kodowanie vlc (Golomb-Rice)
-.IPs 1
-kodowanie arytmetyczne (CABAC)
-.RE
-.PD 1
-.
-.TP
-.B context
-(dla ffv1)
-.PD 0
-.RSs
-.IPs 0
-model ma³ego kontekstu
-.IPs 1
-model du¿ego kontekstu
-.RE
-.PD 1
-.sp 1
-.RS
-(dla ffvhuff)
-.RE
-.PD 0
-.RSs
-.IPs 0
-z góry ustalone tablice Huffman'a (wbudowane lub z drugiego przebiegu)
-.IPs 1
-adaptacyjne tablice Huffman'a
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-U¿ywa kompensacji ruchu quarter pel (wzajemnie wykluczaj±cy siê z ilme).
-.br
-.I WSKAZÓWKA:
-Przydatne tylko dla kodowanie z wysokim bitrate.
-.
-.TP
-.B mbcmp=<0\-2000>
-Ustawia funkcjê porównawcz± przy podejmowaniu decyzji dla makrobloku,
-wykorzystywana tylko, je¿eli mbd=0.
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-suma bezwzglêdnych ró¿nic, szybka (domy¶lne)
-.IPs "1 (SSE)"
-suma kwadratu b³êdów
-.IPs "2 (SATD)"
-suma bezwzglêdnych ró¿nic poddanych tranformacji Hadamarda
-.IPs "3 (DCT)"
-suma bezwzglêdnych ró¿nic poddanych tranformacji DCT
-.IPs "4 (PSNR)"
-suma kwadratów b³êdów kwantyzacji (unikaj, niska jako¶æ)
-.IPs "5 (BIT)"
-ilo¶æ bitów wymaganych przez blok
-.IPs "6 (RD)"
-optymalne pod wzglêdem zniekszta³ceñ tempa, powolne
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-suma bezwzglêdnych ró¿nic pionowych
-.IPs "9 (VSSE)"
-suma kwadratów ró¿nic pionowych
-.IPs "10 (NSSE)"
-suma kwadratów ró¿nic zachowuj±ca szumy
-.IPs "+256\ "
-Wykorzystuje równie¿ barwê, obecnie nie dzia³a (prawid³owo) z ramkami typu B.
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-Ustawia funkcjê porównawcz± przy podejmowaniu decyzji dla przeplatanego DCT
-(lista dostêpnych funkcji porównawczych jest taka sama jak w opcji mbcmp).
-.
-.TP
-.B precmp=<0\-2000>
-Ustawia funkcjê porównawcz± dla wstêpnego przebiegu przewidywania ruchu
-(lista dostêpnych funkcji porównawczych jest taka sama jak w opcji mbcmp)
-(domy¶lnie: 0).
-.
-.TP
-.B cmp=<0\-2000>
-Ustawia funkcjê porównawcz± dla przewidywania ruchu full pel
-(lista dostêpnych funkcji porównawczych jest taka sama jak w opcji mbcmp)
-(domy¶lnie: 0).
-.
-.TP
-.B subcmp=<0\-2000>
-Ustawia funkcjê porównawcz± dla przewidywania ruchu sub pel
-(lista dostêpnych funkcji porównawczych jest taka sama jak w opcji mbcmp)
-(domy¶lnie: 0).
-.
-.TP
-.B nssew=<0\-1000000>
-Ten parametr kontroluje wagê NSSE, gdzie wiêksze warto¶ci zaowocuj±
-wiêkszymi szumami.
-NSSE 0 jest identyczne z SSE.
-Mo¿e Ci siê on przydaæ, je¶li wolisz zachowaæ jakie¶ szumy w zakodowanym video,
-ni¿ przefiltrowaæ je przed kodowaniem (domy¶lnie: 8).
-.
-.TP
-.B predia=<\-99\-6>
-typ i rozmiar diamentu dla wstêpnego przebiegu przewidywania ruchu
-.
-.TP
-.B dia=<\-99\-6>
-Typ i rozmiar diamentu dla przewidywania ruchu
-Proces wyszukiwania ruchu jest iteracyjny.
-Korzystanie z ma³ego diamentu nie ogranicza przeszukiwania tylko do ma³ych
-wektorów ruchu, zwiêksza siê jednak prawdopodobieñstwo zatrzymania przed
-znalezieniem tego najlepszego, szczególnie gdy obraz zawiera szum.
-Wiêksze diamenty pozwalaj± na wyszukiwanie najlepszego w szerszym zakresie,
-dlatego te¿ s± wolniejsze ale daj± lepsz± jako¶æ.
-.br
-Wielkie, normalne diamenty s± lepsze ni¿ te przystosowuj±ce kszta³ty.
-.br
-Diamenty przystosowuj±ce kszta³t stanowi± kompromis miêdzy szybko¶ci±
-a jako¶ci±.
-.br
-.I INFORMACJA:
-Rozmiary normalnych diamentów i tych przystosowuj±cych kszta³ty nie maj±
-takiego samego efektu.
-.RSs
-.IPs \-3
-diament przystosowuj±cy kszta³t (szybkie) o rozmiarze 3
-.IPs \-2
-diament przystosowuj±cy kszta³t (szybkie) o rozmiarze 2
-.IPs \-1
-trochê wyj±tkowy: Mo¿e byæ wolniejszy i/lub lepszy ni¿ dia=\-2.
-.IPs 1
-normalny diament o rozmiarze=1 (domy¶lny) =diament typu EPZS
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-normalny diament o rozmiarze=2
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-Kwantyzacja przeszukiwana kratowo.
-Funkcja ta znajdzie optymalne kodowanie dla ka¿dego bloku 8x8.
-Kwantyzacja przeszukiwana kratowo jest po prostu dobr± optymalizacj±, w sensie
-PSNR kontra bitrate (Zak³adaj±c, ¿e nie bêdzie ¿adnych b³êdów zaokr±gleñ
-mog±cych powstaæ w skutek dzia³ania IDCT,
-czyli oczywi¶cie nie w tym przypadku.).
-Po prostu znajduje blok dla minimalnej ilo¶ci b³êdów i bitów*lambda.
-.PD 0
-.RSs
-.IPs lambda
-zmienna uzale¿niona od parametru kwantyzacji (QP)
-.IPs "bits\ "
-ilo¶æ bitów potrzebna do zakodowania bloku
-.IPs error
-suma kwadratów b³êdów kwantyzacji
-.RE
-.PD 1
-.
-.TP
-.B "cbp\ \ \ \ "
-Zakodowany wzór bloku optymalny pod wzglêdem zniekszta³ceñ tempa.
-Znajdzie taki wzór, który zminimalizuje zniekszta³cenia + tempo+lambda.
-Opcja ta mo¿e byæ u¿ywana tylko w po³±czeniu z kwantyzacja kratow±.
-.
-.TP
-.B "mv0\ \ \ \ "
-Spróbuje zakodowaæ ka¿dy MB z MV=<0,0> i wybierze lepszy.
-Nie ma to znaczenia je¿eli mbd=0.
-.
-.TP
-.B qprd (tylko z mbd=2)
-parametr kwantyzacji (QP) optymalny pod wzglêdem zniekszta³ceñ tempa dla
-lambda podanej dla ka¿dego makrobloku
-.
-.TP
-.B last_pred=<0\-99>
-ilo¶æ przewidywaczy ruchu z poprzedniej ramki
-.PD 0
-.RSs
-.IPs 0
-(domy¶lne)
-.IPs a
-Wykorzysta makroblokowy kwadrat o wymiarach 2a+1 x 2a+1 wektorów przewidywaczy
-ruchu z poprzedniej klatki.
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-wstêpny przebieg przewidywania ruchu
-.PD 0
-.RSs
-.IPs 0
-wy³±czone
-.IPs 1
-tylko po ramkach I (domy¶lne)
-.IPs 2
-zawsze
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-jako¶æ udoskonalenia subpel (dla qpel) (domy¶lnie: 8 (wysoka jako¶æ))
-.br
-.I INFORMACJA:
-Ma to powa¿ny wp³yw na szybko¶æ.
-.
-.TP
-.B "psnr\ \ \ "
-Drukuje PSNR (warto¶æ szczytowa proporcji sygna³u do szumu) dla ca³ego filmu
-po kodowaniu i przechowuje PSNR dla ka¿dej klatki w pliku o nazwie
-typu "psnr_hhmmss.log".
-Zwracane warto¶ci s± w dB (decybelach), im wy¿sze tym lepsze.
-.
-.TP
-.B mpeg_quant
-Wykorzystuje kwantyzatory MPEG zamiast H.263.
-.
-.TP
-.B "aic\ \ \ \ "
-przewidywanie ac (zaawansowane przewidywanie intra dla H.263+)
-.br
-.I INFORMACJA:
-vqmin powinno byæ równe 8 lub wiêksze dla H.263+ AIC.
-.
-.TP
-.B "aiv\ \ \ \ "
-alternatywne inter vlc dla H.263+
-.
-.TP
-.B "umv\ \ \ \ "
-nieograniczona liczba MV (tylko H.263+)
-Zezwala na kodowanie z dowolnie d³ugimi MV.
-.
-.TP
-.B ibias=<\-256\-256>
-bias kwantyzatora intra (256 odpowiada 1.0,
-domy¶lny kwantyzator w stylu MPEG: 96, domy¶lny kwantyzator w stylu H.263: 0)
-.br
-.I INFORMACJA:
-Kwantyzator MMX H.263 nie umie obs³u¿yæ dodatnich warto¶ci bias (ustaw
-vfdct=1 lub 2),
-kwantyzator MMX MPEG nie umie obs³u¿yæ ujemnych warto¶ci bias (ustaw
-vfdct=1 lub 2).
-.
-.TP
-.B pbias=<\-256\-256>
-bias kwantyzatora inter (256 odpowiada 1.0,
-domy¶lny kwantyzator w stylu MPEG: 0, domy¶lny kwantyzator w stylu H.263: \-64)
-.br
-.I INFORMACJA:
-Kwantyzator MMX H.263 nie umie obs³u¿yæ dodatnich warto¶ci bias (ustaw
-vfdct=1 lub 2),
-kwantyzator MMX MPEG nie umie obs³u¿yæ ujemnych warto¶ci bias (ustaw
-vfdct=1 lub 2).
-.br
-.I WSKAZÓWKA:
-Wiêksza warto¶æ bias (\-32 \- \-16 zamiast \-64) wydaje siê polepszaæ PSNR.
-.
-.TP
-.B nr=<0\-100000>
-Redukcja szumów, 0 oznacza wy³±czon±.
-0\-600 jest sensown± warto¶ci± do typowych filmów ale mo¿esz chcieæ to trochê
-podnie¶æ je¶li w filmie jest du¿o szumów (domy¶lnie: 0).
-Ne wzglêdu na ma³y kosz mo¿e to byæ wygodniejsze ni¿ odfiltrowywanie szumu
-filtrami video takimi jak denoise3d lub hqdn3d.
-.
-.TP
-.B qns=<0\-3>
-Kszta³towanie szumu kwantyzatora.
-Zamiast wybieraæ kwantyzacjê jak najbli¿sz± ¼ród³owemu plikowi video (w sensie
-PSNR), wybiera tak±, ¿e szum (zazwyczaj dzwonienie) bêdzie
-zamaskowany przez zawarto¶æ obrazu o podobnej czêstotliwo¶ci.
-Wiêksze warto¶ci s± wolniejsze, ale nie koniecznie poprawi± jako¶ci.
-Opcja mo¿e i powinna byæ u¿ywana razem z kwantyzacj± kratow±, w takim przypadku
-kwantyzacja kratowa (optymalna dla sta³ej wagi) bêdzie wykorzystana jako
-punkt startowy dla przeszukiwania iteracyjnego.
-.PD 0
-.RSs
-.IPs 0
-wy³±czone (domy¶lne)
-.IPs 1
-Obni¿a tylko bezwzglêdn± warto¶æ wspó³czynników.
-.IPs 2
-Zmienia tylko wspó³czynniki przed ostatnim niezerowym wspó³czynnikiem + 1.
-.IPs 3
-Spróbuje wszystkiego.
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<matryca oddzielona przecinkami>
-Wykorzystuje zdefiniowan± przez u¿ytkownika matrycê inter.
-Wymaga ³añcucha oddzielonych przecinkami 64 liczb ca³kowitych.
-.
-.TP
-.B intra_matrix=<matryca oddzielona przecinkami>
-Wykorzystuje zdefiniowan± przez u¿ytkownika matrycê intra.
-Wymaga ³añcucha oddzielonych przecinkami 64 liczb ca³kowitych.
-.
-.TP
-.B vqmod_amp
-eksperymentalna modulacja kwantyzatora
-.
-.TP
-.B vqmod_freq
-eksperymentalna modulacja kwantyzatora
-.
-.TP
-.B "dc\ \ \ \ \ "
-Precyzja intra DC podana w bitach (domy¶lnie: 8).
-Je¿eli podasz vcodec=mpeg2video, mo¿e przyj±æ warto¶ci 8, 9, 10 lub 11.
-.
-.TP
-.B cgop (patrz te¿ sc_threshold)
-Zamyka wszystkie GOPy.
-Obecnie dzia³a tylko je¶li jest wy³±czone wykrywanie zmian scen
-((sc_threshold=1000000000).
-.
-.
-.SS nuv (\-nuvopts)
-.
-Video Nuppel jest oparte na RTJPEG i LZO.
-Domy¶lnie najpierw ramki s± kodowane przez RTJPEG, potem kompresowane przez LZO,
-jednak mo¿na wy³±czyæ którykolwiek lub oba przebiegi.
-W rezultacie mo¿esz stworzyæ wyj¶cie w formacie raw i420, spakowane przez
-LZO i420, RTJPEG, lub domy¶lne spakowane przez LZO RTJPEG.
-.br
-.I INFORMACJA:
-Dokumentacja nuvrec zawiera kilka porad i przyk³adów obrazuj±cych u¿ycie
-ró¿nych ustawieñ dla najbardziej popularnych kodowañ TV.
-.
-.TP
-.B c=<0\-20>
-zakres barw (domy¶lnie: 1)
-.
-.TP
-.B l=<0\-20>
-zakres jasno¶ci (domy¶lnie: 1)
-.
-.TP
-.B "lzo\ \ \ \ "
-W³±cza kompresjê LZO (domy¶lne).
-.
-.TP
-.B "nolzo\ \ "
-Wy³±cza kompresjê LZO.
-.
-.TP
-.B q=<3\-255>
-poziom jako¶ci (domy¶lnie: 255)
-.
-.TP
-.B "raw \ \ \ "
-Wy³±cza kodowanie RTJPEG.
-.
-.TP
-.B "rtjpeg\ "
-W³±cza kodowanie RTJPEG (domy¶lne).
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-Dostêpne s± trzy tryby: sta³y bitrate (CBR), ustalony kwantyzator
-i dwuprzebiegowy.
-.
-.TP
-.B pass=<1|2>
-Okre¶la przebieg w trybie dwuprzebiegowym.
-.
-.TP
-.B turbo (tylko tryb dwuprzebigowy)
-Znacznie zwiêksza szybko¶æ pierwszego przebiegu u¿ywaj±c szybszych algorytmów
-i wy³±czaj±c opcje obci±¿aj±ce w znacznym stopniu procesor.
-Prawdopodobnie zmniejszy to trochê globalny wspó³czynnik PSNR,
-zmieni typy pojedynczych klatek i trochê bardziej ich PSNR.
-.
-.TP
-.B bitrate=<warto¶æ> (tryb CBR lub dwuprzebiegowy)
-Ustawia ¿±dany bitrate w kbit/\:sekundê je¿eli <16000
-lub w bit/\:sekundê je¿eli >16000.
-Je¶li <warto¶æ> jest ujemna, Xvid u¿yje jej warto¶ci bezwzglêdnej jako
-docelowej wielko¶ci zbioru (w kilobajtach) i automatycznie wyliczy bitrate
-(domy¶lnie: 687 kbits/\:s).
-.
-.TP
-.B fixed_quant=<1\-31>
-Prze³±cza w tryb ustalonego kwantyzatora i okre¶la jego wielko¶æ.
-.
-.TP
-.B zones=<obszar0>[/\:<obszar1>[/\:...]] (CBR lub tryb dwuprzebiegowy)
-U¿ywa innej jako¶ci dla wymienionych czê¶ci (zakoñczenie, napisy, ...).
-Ka¿dy obszar to <klatka-pozc±tku>,<tryb>,<warto¶æ> gdzie <tryb> oznacza:
-.PD 0
-.RSs
-.IPs "q"
-Wymusza sta³egy kwantyzator,
-warto¶æ=<2.0\-31.0> oznacza warto¶æ kwantyzatowa.
-.IPs "w"
-Zmiana wagi kontroli tempa,
-warto¶æ=<0.01\-2.00> oznacza poprawkê jako¶ci w %.
-.RE
-.PD 1
-.sp 1
-.RS
-.I PRZYK£AD:
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-Koduje wszystkie klatki od ramki 90000 z kwantyzatorem 20.
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-Koduje klatki 0\-10000 z 10% bitrate,
-a klatki 90000 do koñca ze sta³ym kwantyzatorem 20.
-Zauwa¿ ¿e drugi obszar jest potrzebny jako granica pierwszego,
-jako ¿e bez niego wszystko do klatki 89999 by³oby zakodowane z 10% bitrate.
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-Opcja ta kontroluje podsystem przewidywania ruchu.
-Im wy¿sza warto¶æ, tym przewidywanie bêdzie dok³adniejsze (domy¶lnie: 6).
-Im lepsze przewidywanie tym lepsza kompresja.
-Precyzja jest osi±gana kosztem mocy obliczeniowej, wiêc zmniejsz jej warto¶æ,
-je¿eli masz zamiar kodowaæ w czasie rzeczywistym.
-.
-.TP
-.B (no)interlacing
-Koduje pola filmu z przeplotem.
-Je¿eli korzystasz z materia³u filmowego z przeplotem, w³±cz tê opcjê.
-.br
-.I INFORMACJA:
-Je¶li chcia³by¶ przeskalowaæ film, potrzebowa³by¶ filtru skaluj±cego,
-który wiedzia³by, ¿e ma do czyniena z materia³em zawieraj±cym przeplot,
-mo¿esz go uruchomiæ przez \-vf scale=<szeroko¶æ>:<wysoko¶æ>:1.
-.
-.TP
-.B "4mv\ \ \ \ "
-Korzysta z 4 wektorów ruchu na makroblok.
-Mo¿e daæ lepsz± kompresjê kosztem wolniejszego kodowania.
-.br
-.I UWAGA:
-Pocz±wszy od Xvid-1.0.x opcja ta nie jest dostêpna niezale¿nie,
-a jej funkcjonalno¶æ jest w³±czona w opcjê me_quality.
-Kiedy me_quality > 4, 4mv jest uruchamiane.
-.
-.TP
-.B rc_reaction_delay_factor=<warto¶æ>
-Ten parametr okre¶la ilo¶æ ramek, jak± przeczeka kontroler tempa CBR
-zanim zareaguje na zmianê warto¶ci bitrate i bêdzie próbowa³ wyrównaæ zmianê,
-tak aby uzyskaæ sta³y bitrate na u¶redniaj±cym zakresie klatek.
-.
-.TP
-.B rc_averaging_period=<warto¶æ>
-Prawdziwe CBR jest trudne do osi±gniêcia.
-Zale¿nie od materia³u filmowego, bitrate mo¿e byæ zmienny i trudny do
-przewidzenia.
-Dlatego Xvid wykorzystuje okres u¶redniaj±cy, dla którego gwarantuje zadan±
-ilo¶æ bitów (minus ma³a ró¿nica).
-To ustawienie wyra¿a "ilo¶æ klatek", dla których Xvid u¶rednia bitrate i próbuje
-osi±gn±æ CBR.
-.
-.TP
-.B rc_buffer=<warto¶æ>
-rozmiar bufora kontroli tempa
-.
-.TP
-.B quant_range=<1\-31>\-<1\-31>[/\:<1\-31>\-<1\-31>]
-Tryb CBR: min.\& i maks.\& kwantyzator dla wszystkich klatek (domy¶lnie: 2\-31)
-.br
-Tryb dwuprzebiegowy: min.\& i maks.\& kwantyzator dla klatek typu I/P
-(domy¶lnie: 2\-31/\:2\-31)
-.br
-.I UWAGA:
-Pocz±wszy od Xvid-1.0.x opcja ta jest zast±piona przez
-opcje [min|max]_[i|p|b]quant.
-.
-.TP
-.B min_key_interval=<warto¶æ> (tylko tryb dwuprzebiegowy)
-minimalna przerwa miêdzy klatkami kluczowymi (domy¶lnie: 0)
-.
-.TP
-.B max_key_interval=<warto¶æ>
-maksymalna przerwa miêdzy klatkami kluczowymi (domy¶lnie: 10*fps)
-.
-.TP
-.B mpeg_quant
-U¿ywa kwantyzatorów MPEG zamiast H.263.
-Dla wysokich warto¶ci bitrate, zauwa¿ysz, ¿e kwantyzacja MPEG zachowa wiêcej
-szczegó³ów.
-Dla niskich warto¶ci bitrate, wyg³adzanie H.263 da w rezultacie mniej szumu
-blokowego.
-Kiedy wykorzystywane s± okre¶lone przez u¿ytkownika matryce, musi byæ
-wykorzystywany MPEG.
-.br
-.I UWAGA:
-Pocz±wszy od Xvid-1.0.x opcja ta jest zast±piona przez opcjê quant_type.
-.
-.TP
-.B mod_quant
-Decyduje czy wykorzystywaæ kwantyzatory MPEG czy H.263 na podstawia badania
-klatka po klatce (tylko tryb dwuprzebiegowy).
-.br
-.I UWAGA:
-Wygeneruje to nieprawid³owy stumieñ bitów, którego prawdopodobnie nie jest
-w stanie zdekodowaæ ¿aden dekoder MPEG-4 poza libavcodec albo Xvid.
-.br
-.I UWAGA:
-Pocz±wszy od Xvid-1.0.x opcja ta nie jest dostêpna.
-.
-.TP
-.B keyframe_boost=<0\-1000> (tylko tryb dwuprzebiegowy)
-Przesuwa kilka bitów z ramek innego rodzaju do klatek intra,
-polepszaj±c przez to jako¶æ klatek kluczowych
-(domy¶lnie: 0).
-.
-.TP
-.B kfthreshold=<warto¶æ> (tylko tryb dwuprzebiegowy)
-Dzia³a razem z kfreduction.
-Ustala minimalny dystans poni¿ej którego klatki s± uznawane za nastêpuj±ce po
-sobie i traktowane inaczej zgodnie z kfreduction
-(domy¶lnie: 10)
-.
-.TP
-.B kfreduction=<0\-100> (tylko tryb dwuprzebiegowy)
-Powy¿sze dwa parametry mog± byæ wykorzystane do okre¶lenia rozmiaru klatek
-kluczowych, które zostan± uznane za zbyt podobne do pierwszej (w kolejno¶ci).
-kfthreshold ustawia zakres, w którym klatki kluczowe s± redukowane, a
-kfreduction okre¶la redukcjê ich bitrate.
-Ostatnia ramka I jest traktowana normalnie.
-(domy¶lnie: 30)
-.
-.TP
-.B divx5bvop
-Wygeneruje kompatybilne z DivX5 ramki B (domy¶lnie: w³±czone).
-Wygl±da na to, ¿e jest to obowi±zkowe tylko dla starszych wersji dekodera DivX.
-.br
-.I UWAGA:
-Pocz±wszy od Xvid-1.0.x, opcja ta jest zast±piona przez opcjê closed_gop.
-.
-.TP
-.B (no)greyscale
-Sprawia, ¿e Xvid ignoruje przestrzeñ kolorów, wiêc wynikowy film jest
-w skali szaro¶ci.
-Zauwa¿, ¿e nie przyspiesza to kodowania, zapobiega to tylko zapisaniu
-danych kolorów w ostatniej fazie kodowania.
-.
-.TP
-.B "debug\ \ "
-Zapisuje statystyki ka¿dej ramki w ./xvid.dbg.
-(To nie jest plik kontroli trybu dwuprzebiegowego).
-.RE
-.
-.PP
-.sp 1
-Poni¿sze opcje s± dostêpne tylko w najnowszych stabilnych
-wersjach Xvid 1.0.x (api4).
-.
-.TP
-.B (no)packed
-Opcja ta jest przeznaczona do rozwi±zywania problemów z kolejno¶ci± ramek,
-przy kodowaniu do formatów typu AVI które nie radz± sobie ze z³± kolejno¶ci±.
-W praktyce, wiêkszo¶æ dekoderów (tak sprzêtowych jak i programowych) sama radzi
-sobie z kolejno¶ci± ramek i mo¿e siê zgubiæ je¶li ta opcja jest w³±czona.
-Bezpieczniej jest wiêc zostawiæ j± wy³±czon±, chyba ¿e na prawdê wiesz co
-robisz.
-.br
-.I UWAGA:
-Stworzy to niepoprawny strumieñ bitów i nie bêdzie on odtwarzany przez
-dekodery ISO-MPEG-4 poza DivX/\:libavcodec/\:Xvid.
-.br
-.I UWAGA:
-Zapisuje to tak¿e fa³szyw± wersjê DivX do pliku,
-wiêc autodedetekcja b³êdów niektórych dekoderów mo¿e siê gubiæ.
-.
-.TP
-.B max_bframes=<0\-4>
-Maksymalna ilo¶æ klatek B umieszczonych pomiêdzy ramkami I/\:P (domy¶lnie: 2).
-.
-.TP
-.B bquant_ratio=<0\-1000>
-proporcja kwantyzatora miêdzy ramkmi typu B i pozosta³ymi, 150=1.50
-(domy¶lnie: 150)
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-wspó³czynnik offsetu kwantyzatora pomiêdzy ramkami B a pozosta³ymi,
-100=1.00 (domy¶lnie: 100)
-.
-.TP
-.B bf_threshold=<\-255\-255>
-Ten parametr umo¿liwia Ci okre¶lenie, jaki ma byæ priorytet u¿ycia klatek B.
-Im wy¿sza warto¶æ, tym wiêksze prawdopodobieñstwo u¿ycia klatek B
-(domy¶lnie: 0).
-Nie zapominaj, ¿e klatki B maj± wy¿szy kwantzator,
-wiêc intensywne ich stosowanie mo¿e daæ ni¿sz± jako¶æ wizualn±.
-.
-.TP
-.B (no)closed_gop
-Ta opcja mówi Xvid, ¿eby zamyka³ ka¿dy GOP (Group Of Pictures, grupa obrazów
-ograniczona dwiema ramkami typu I), dziêki czemu GOP'y s± niezale¿ne od siebie.
-To jedynie implikuje ¿e ostatni± ramk± GOP'u jest albo ramka typu P albo
-typu N, ale nie typu B.
-Zazwyczaj dobrze jest w³±czyæ tê opcjê (domy¶lnie: w³±czona).
-.
-.TP
-.B frame_drop_ratio=<0\-100> (tylko z ax_bframes=0)
-Ten parametr umo¿liwia tworzenie strumieni video ze zmienn± szybko¶ci± klatek.
-Je¶li ró¿nica miêdzy bie¿±c± a poprzedni± klatk±
-jest ni¿sza lub równa od ustawionego przez ten parametr progu,
-klatka nie bêdzie kodowana (tzw. n-vop zostanie wstawiany w strumieñ).
-Przy odtwarzaniu, natrafienie na n-vop, powoduje wy¶wietlenie poprzedniej
-klatki.
-.br
-.I UWAGA:
-Odtwarzanie z tym parametrem mo¿e spowodowaæ, ¿e film bêdzie poszarpany, wiêc
-u¿ywaj go na swoj± w³asn± odpowiedzialno¶æ!
-.
-.TP
-.B (no)qpel
-MPEG-4 domy¶lnie u¿ywa precyzji co do po³owy piksela przy wyszukiwaniu ruchu.
-Standard proponuje tryb, w którym kodery mog± korzystaæ z precyzji quarter
-pixel (co do æwieræ piskela).
-Opcja to przewa¿nie sprawia, ¿e obraz jest ostrzejszy.
-Niestety ma to du¿y wp³yw na warto¶æ bitrate i czasami wykorzystanie wy¿szej
-warto¶ci spowoduje otrzymanie gorszego obrazu przy sta³ym bitrate.
-Najlepiej jest sprawdziæ rezultat z i bez tej opcji, i samemu zdecydowaæ czy
-jest warta w³±czenia.
-.
-.TP
-.B (no)gmc
-W³±cza Globaln± Kompensacjê Ruchu, która sprawia, ¿e Xvid generuje specjalne
-ramki (ramki GMC), które s± dobrze przystosowane do
-przesuwania/\:przybli¿onia/\:obracania obrazów.
-To, czy w³±czenie tej opcji zaoszczêdzi bity zale¿y od materia³u filmowego.
-.
-.TP
-.B (no)trellis
-Kwantyzacja kratowa (Trellis Quantization) jest rodzajem metody kwantyzacji
-adaptatywnej, która zachowuje bity poprzez modyfikacjê skwantyzowanych
-wspó³czynników, tak aby lepiej ulaga³y kompresji przez koder entropii.
-Dobrze wp³ywa na poprawê jako¶ci, a je¶li VHQ u¿ywa wg Ciebie zbyt du¿o mocy
-obliczeniowej, ta opcja mo¿e byæ dobr± alternatyw± zaoszczêdzaj±c±
-kilku bitów (i poprawiaj±c± jako¶æ przy sta³ym bitrate) przy mniejszym
-obci±¿eniu ni¿ VHQ (domy¶lnie: w³±czone).
-.
-.TP
-.B (no)cartoon
-W³±cz tê opcjê, je¿eli kodowana sekwencja jest rysunkowa.
-Modyfikuje ona kilka wewnêtrznych progów Xvid, tak ¿e te podejmuje
-lepsze decyzje o typie ramek i wektorach ruchu dla p³askich rysunków.
-.
-.TP
-.B quant_type=<h263|mpeg>
-Ustawia typ wykorzystywanego kwantyzatora.
-Dla wysokich warto¶ci bitrate, kwantyzacja MPEG zachowa wiêcej szczegó³ów.
-Dla niskich warto¶ci bitrate, wyg³adzanie H.263 da mniej szumów blokowych.
-Je¶li u¿ywasz w³asnych macierzy,
-.B musi
-byæ ustawiona kwantyzacja MPEG.
-.
-.TP
-.B (no)chroma_me
-Zwyk³y algorytm przewidywania ruchu u¿ywa tylko informacji o jasno¶ci
-dla znalezienia najlepszego wektora ruchu.
-Jednak¿e dla niektórych filmów, wykorzystanie przestrzeni kolorów pozwoli
-znale¼æ lepsze wektory.
-Ten parametr w³±cza wykorzystanie przestrzeni barw do przewidywania ruchu
-(domy¶lnie: w³±czone).
-.
-.TP
-.B (no)chroma_opt
-Uruchamia prefiltr optymalizacji barw.
-Poczaruje to trochê nad danymi o kolorach ¿eby zmniejszyæ widoczny na
-krawêdziach efekt schodów.
-Poprawia jako¶æ kosztem prêdko¶ci kodowania.
-Z natury zmniejsza PSNR, jako ¿e podnosi matematyczne odchylenie od
-oryginalnego obrazu, ale poprawia subiektywn± jako¶æ obrazu.
-Jako ¿e dzia³a na informacji o kolorach, mo¿esz chcieæ to wy³±czyæ je¶li
-kodujesz w skali szaro¶ci.
-.
-.TP
-.B (no)hq_ac
-W³±cza lepsze przewidywania sk³adowych AC z s±siednich bloków dla ramek intra
-(domy¶lnie: w³±czone).
-.
-.TP
-.B vhq=<0\-4>
-Algorytm wyszukiwania ruchu jest oparty na szukaniu w zwyk³ej domenie koloru i
-próbuje znale¼æ wektor ruchu, który zminimalizuje ró¿nice miêdzy klatk±
-odniesienia a zakodowan±.
-Z tym parametrem Xvid u¿yje równie¿ domenê czêstotliwo¶ci (DCT),
-aby szukaæ wektora ruchu, który nie tylko zminimalizuje ró¿nicê przestrzenn±,
-ale równie¿ d³ugo¶æ kodowania bloku.
-Od najszybszego do najwolniejszego:
-.PD 0
-.RSs
-.IPs 0
-wy³±czone
-.IPs 1
-decyzja dotycz±ca trybu (inter/\:intra MB) (domy¶lne)
-.IPs 2
-ograniczone przeszukiwanie
-.IPs 3
-¶rednie przeszukiwanie
-.IPs 4
-szerokie przeszukiwanie
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-Adaptatywna kwantyzacja pozwala na ró¿ne kwantyzatory dla ró¿nych makrobloków
-w klatce.
-Jest to 'psychosensoryczne' ustawienie, które korzysta z faktu ¿e ludzkie oko
-zauwa¿a mniej szczegó³ów w bardzo jasnych i bardzo ciemnych czê¶ciach obrazu.
-Mocniej kompresuje te obszary ni¿ ¶rednie, co oszczêdzi bity które mog± byæ
-wykorzystane w innych ramkach poprawiaj±c postrzegan± jako¶æ i byæ mo¿e
-zmniejszaj±c PSNR.
-.
-.TP
-.B min_iquant=<0\-31>
-minimalny kwantyzator klatek I (domy¶lnie: 2)
-.
-.TP
-.B max_iquant=<0\-31>
-maksymalny kwantyzator klatek I (domy¶lnie: 31)
-.
-.TP
-.B min_pquant=<0\-31>
-minimalny kwantyzator klatek P (domy¶lnie: 2)
-.
-.TP
-.B max_pquant=<0\-31>
-maksymalny kwantyzator klatek P (domy¶lnie: 31)
-.
-.TP
-.B min_bquant=<0\-31>
-minimalny kwantyzator klatek B (domy¶lnie: 2)
-.
-.TP
-.B max_bquant=<0\-31>
-maksymalny kwantyzator klatek B (domy¶lnie: 31)
-.
-.TP
-.B quant_intra_matrix=<nazwa\ pliku>
-Wczytuje plik z okre¶lon± macierz± intra.
-Mo¿esz stworzyæ taki plik edytorem macierzy xvid4conf.
-.
-.TP
-.B quant_inter_matrix=<nazwa\ pliku>
-Wczytuje plik z okre¶lon± macierz± inter.
-Mo¿esz stworzyæ taki plik edytorem macierzy xvid4conf.
-.
-.TP
-.B curve_compression_high=<0\-100>
-Ten parametr pozwala Xvid'owi na przekazanie okre¶lonego procentu bitów ze scen
-o wysokiej warto¶ci bitrate do rezerwy bitowej.
-Mo¿esz równie¿ skorzystaæ z tej opcji, je¶li masz klip z tak du¿± ilo¶ci±
-bitów przeznaczon± na sceny o wysokiej warto¶ci bitrate, ¿e sceny z ni¿sz± warto¶ci±
-wygl±daj± ¼le (domyslnie: 0).
-.
-.TP
-.B curve_compression_low=<0\-100>
-Ten parametr pozwala Xvid'owi na przekazanie okre¶lonego procentu dodatkowych
-bitów do scen z nisk± warto¶ci± bitrate z ca³ego klipu.
-Opcja ta mo¿e byæ przydatna, je¿eli masz kilka scen z nisk± warto¶ci± bitrate,
-które s± ci±gle blokowe (domy¶lnie: 0).
-.
-.TP
-.B overflow_control_strength=<0\-100>
-Podczas pierwszego przebiegu w kodowaniu dwuprzebiegowym obliczana jest
-przeskalowana krzywa bitrate.
-Ró¿nica miêdzy oczekiwan± krzyw± a wynikow± otrzyman± podczas kodowania
-nazywana jest przepe³nieniem (overflow).
-Oczywi¶cie dwuprzebiegowy kontroler tempa stara siê
-zniwelowaæ tê ró¿nicê przez rozpraszanie jej na kolejne klatki.
-Ten parametr kontroluje ile przepe³nienia jest rozpraszane za ka¿dym razem,
-kiedy pojawia siê nowa klatka.
-Niskie warto¶ci pozwalaj± na leniw± kontrolê przepe³nienia, wielkie ró¿nice
-s± kompensowane wolniej (mo¿e to doprowadziæ do braku precyzji
-przy ma³ych filmach).
-Wy¿sze warto¶ci sprawiaj±, ¿e redystrybucja bitów jest gwa³towniejsza,
-czasami zbyt gwa³towna, je¶li ustawisz opcjê na zbyt wysok±,
-co mo¿e doprowadziæ do powstania zniekszta³ceñ (domy¶lnie: 5).
-.br
-.I INFORMACJA:
-Ten parametr ma du¿y wp³yw na jako¶æ, baw siê nim ostro¿nie!
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-Podczas alokacji bitów dla ramki
-kontrola przepe³nienia mo¿e zwiêkszyæ jej rozmiar.
-Parametr ten okre¶la maksymalny procent rozmiaru o jaki kontrola przepe³nienia
-mo¿e zwiêkszyæ ramkê, w porównaniu z idealn± alokacj± krzywej (domy¶lnie: 5).
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-Podczas alokacji bitów dla ramki,
-kontrola przepe³nia mo¿e zmniejszyæ jej rozmiar.
-Parametr ten okre¶la maksymalny procent rozmiaru o jaki kontrola przepe³nienia
-mo¿e zmniejszyæ ramkê, w porównaniu z idealn± alokacj± krzywej (domy¶lnie: 5).
-.
-.TP
-.B container_frame_overhead=<0...>
-Okre¶la ¶redni narzut (overhead) przypadaj±cy na ramkê w bajtach.
-Przewa¿nie u¿ytkownicy okre¶laj± ¿±dany bitrate bez brania pod uwagê
-nadwy¿ki na ramkê video.
-Ta ma³a ale (przewa¿nie) sta³a nadwy¿ka mo¿e spowodowaæ, ¿e docelowy rozmiar
-pliku zostanie przekroczony.
-Xvid pozwala u¿ytkownikom na ustawienie wielko¶ci nadwy¿ki
-przypadaj±cej na ramkê, któr± generuje klatka video (podaj tylko
-u¶rednion± warto¶æ na ramkê).
-0 ma specjalne znaczenie, pozwala Xvid'owi na u¿ycie jego w³asnych
-warto¶ci domy¶lnych (domy¶lnie: 24 \- ¶rednia nadwy¿ka AVI).
-.
-.TP
-.B profile=<opjca>
-Ogranicza opcje i VBV (szczytowy bitrate w krótkim czasie) zgodnie
-z profilami "Simple", "Advanced Simple" i "DivX".
-Tak otrzymane filmy powinny daæ siê odtworzyæ na wolnostoj±cych odtwarzaczach
-zgodnych ze specyfikacjami tych profili.
-.PD 0
-.RSs
-.IPs unrestricted
-bez ograniczeñ (domy¶lne)
-.IPs sp0\ \
-profil simple na poziomie 0
-.IPs sp1\ \
-profil simple na poziomie 1
-.IPs sp2\ \
-profil simple na poziomie 2
-.IPs sp3\ \
-profil simple na poziomie 3
-.IPs asp0\
-profil advanced simple na poziomie 0
-.IPs asp1\
-profil advanced simple na poziomie 1
-.IPs asp2\
-profil advanced simple na poziomie 2
-.IPs asp3\
-profil advanced simple na poziomie 3
-.IPs asp4\
-profil advanced simple na poziomie 4
-.IPs asp5\
-profil advanced simple na poziomie 5
-.IPs dxnhandheld
-profil DXN handheld
-.IPs dxnportntsc
-profil DXN portable NTSC
-.IPs dxnportpal
-profil DXN portable PAL
-.IPs dxnhtntsc
-profil DXN home theater NTSC
-.IPs dxnhtpal
-profil DXN home theater PAL
-.IPs dxnhdtv
-profil DXN HDTV
-.RE
-.PD 1
-.RS
-.I INFORMACJA:
-Te profile powinny byæ u¿ywane w po³±czeniu z odpowiednim \-ffourcc.
-Dobre jest DX50, poniewa¿ niektóre odtwarzacze nie rozpoznaj± Xvid ale
-wiêkszo¶æ rozpoznaje DivX.
-.RE
-.
-.TP
-.B par=<tryb>
-Okre¶la tryb Wspó³czynnika Proporcji Piksela (Pixel Aspect Ratio \- PAR)
-(nie myliæ z Wspó³czynnikiem Proporcji Obrazu (Display Aspect Ratio \- DAR)).
-PAR to stosunek szeroko¶ci do wysoko¶ci pojedynczego piksela.
-Wiêc oba s± zwi±zane: DAR = PAR * (szeroko¶æ/wysoko¶æ).
-.br
-MPEG-4 okre¶la 5 wspó³czynników proporcji piksela i jeden rozszerzony,
-daj±cy szansê na podanie konkretnego wspó³czynnika proporcji piksela.
-Mo¿e byæ podany jeden z 5 standardowych trybów:
-.PD 0
-.RSs
-.IPs vga11
-zwyczajny PAR dla PC
-Piksele s± jednostk± kwadratow±.
-.IPs pal43
-standard dla PAL \- 4:3 PAR
-Piksele s± prostok±tami.
-.IPs pal169
-jak wy¿ej
-.IPs ntsc43
-jak wy¿ej
-.IPs ntsc169
-jak wy¿ej (Nie zapomnij podaæ dok³adnego wspó³czynnika.)
-.IPs "ext\ \ "
-Pozwala na okre¶lenie w³asnego wspó³czynnika proporcji piksela przez par_width
-i par_height.
-.RE
-.PD 1
-.RS
-.I INFORMACJA:
-Ogólnie ustawienie opcji aspect i autoaspect jest wystarczaj±ce.
-.RE
-.
-.TP
-.B par_width=<1\-255> (tylko z par=ext)
-Okre¶la szeroko¶æ zadeklarowanego wspó³czynnika proporcji piksela.
-.
-.TP
-.B par_height=<1\-255> (tylko z par=ext)
-Okre¶la wysoko¶æ szeroko¶æ zadeklarowanego wspó³czynnika proporcji piksela.
-.
-.TP
-.B aspect=<x/\:y | f (warto¶æ rzeczywista)>
-Przechowuje proporcje wewnêtrznie, podobnie jak pliki MPEG.
-O wiele lepsze rozwi±zanie ni¿ ponowne skalowanie, poniewa¿ nie spada jako¶æ.
-Tylko MPlayer i kilka innych odtwarzaczy bêd± interpretowa³y te pliki poprawnie,
-inne wy¶wietl± je w z³ych proporcjach.
-Parametr proporcji mo¿e byæ podany jako proporcja lub liczba rzeczywista.
-.
-.TP
-.B (no)autoaspect
-Podobnie jak opcja aspect, ale proporcja wyliczana jest automatycznie, bior±c
-pod uwagê wszystkie filtry dostrajaj±ce (crop/\:expand/\:scale/\:itp.) podane w
-³añcuchu.
-.
-.TP
-.B "psnr\ \ \ "
-Drukuje PSNR (warto¶æ szczytowa proporcji sygna³u do szumu) dla ca³ego filmu po
-kodowaniu i przechowuje PSNR dla ka¿dej klatki w pliku o nazwie typu
-"psnr_hhmmss.log" w bie¿±cym katalogu.
-Zwracane warto¶ci s± w dB (decybelach), im wy¿sze tym lepsze.
-.
-.PP
-.sp 1
-Nastêpna opcja jest dostêpna tylko w rozwojowych wersjach Xvid 1.1.x.
-.
-.TP
-.B bvhq=<0|1>
-To ustawienie pozwala na wybieranie z mo¿liwych kandydatów takich wektorów dla
-ramek B, które minimalizuja zaburzenia,
-podobnie jak opcja vhq robi to dla ramek P.
-Daje to ³adniejsze ramki B prawie bez spadku wydajno¶ci (domy¶lnie: 1).
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<warto¶æ>
-Ustawia ¶redni u¿ywany bitrate w kbit/\:sekundê (domy¶lnie: wy³±czone).
-Poniewa¿ lokalny bitrate mo¿e siê wahaæ, ta ¶rednia mo¿e byæ niedok³adna dla
-bardzo krótkich filmów (zobacz tak¿e opcjê ratetol).
-Sta³y bitrate mo¿na osi±gn±æ ³±cz±c tê opcjê z vbv_maxrate,
-za cenê powa¿nego spadku jako¶ci.
-.
-.TP
-.B qp_constant=<0\-51>
-Wybiera kwantyzator, jaki bêdzie u¿yty z klatkami P.
-Klatki I i B ró¿ni± siê od tej warto¶ci odpowiednio o ip_factor i pb_factor.
-Najbardziej przydatny zakres to 20\-40 (domy¶lnie: 26).
-Ni¿sze warto¶ci to lepsza dok³adno¶æ, ale wiêksze warto¶ci bitrate.
-0 oznacza kompresjê bezstratn±.
-Zauwa¿, ¿e kwantyzacja w H.264 dzia³a zupe³nie inaczej ni¿ w MPEG-1/2/4:
-Parametr kwantyzacji (QP) H.264 jest w skali logarytmicznej.
-Przelicznik ma w przybli¿eniu warto¶æ H264QP = 12 + 6*log2(MPEGQP).
-Na przyk³ad, wspó³czynnik QP=2 dla MPEG odpowiada warto¶ci QP=18 dla
-H.264.
-.
-.TP
-.B pass=<1\-3>
-Korzysta z trybu dwu- lub trzyprzebiegowego.
-Zaleca siê kodowanie zawsze w jednym z tych dwóch trybów, poniewa¿ bity
-s± lepiej rozprowadzane i podnosi siê jako¶æ.
-.PD 0
-.RSs
-.IPs 1
-pierwszy przebieg
-.IPs 2
-drugi przebieg (kodowania dwuprzebiegowego)
-.IPs 3
-n-ty przebieg (drugi i trzeci przebieg kodowania trzyprzebiegowego)
-.RE
-.RS
-A teraz jak to dzia³a i jak z tego korzystaæ:
-.br
-Pierwszy przebieg (pass=1) zbiera statystyki klipu i zapisuje je do pliku.
-Bêdziesz pewnie chcia³ wy³±czyæ niektóre opcje wymagaj±ce du¿ej mocy
-obliczeniowej, poza tymi u¿ywanymi domy¶lnie.
-.br
-W trybie dwuprzebiegowym, drugie przej¶cie (pass=2) czyta dane z pliku i opiera
-na nich decyzje dotycz±ce kontroli tempa.
-.br
-W trybie trzyprzebiegowym, drugie przej¶cie (pass=3, to nie b³±d)
-robi dwie rzeczy na raz: Czyta dane i nadpisuje je.
-Mo¿esz u¿ywaæ wszystkich opcji kodowania, poza tymi wymagaj±cymi
-du¿ej mocy obliczeniowej.
-.br
-Trzeci przebieg (pass=3) dzia³a podobnie jak drugi, poza tym ¿e korzysta ze
-statystyk zebranych podczas drugiego przebiegu.
-Mo¿esz korzystaæ z wszystkich opcji kodowania, ³±cznie z tymi wymagaj±cymi
-du¿ej mocy obliczeniowej.
-.br
-Pierwszy przebieg mo¿e u¿ywaæ albo ¶redniej warto¶ci bitrate albo sta³ego
-kwantyzatora.
-Zalecane jest ABR, poniewa¿ nie wymaga zgadywania kwantyzatora.
-Kolejne przebiegi s± w trybie ABR i musi zostaæ okre¶lona warto¶æ bitrate.
-.br
-.I
-INFORMACJA: Obs³uga kodowania trzyprzebiegowego w x264 jest ca³kiem nowa
-w MEncoderze, zachêcamy do pomocy i przesy³ania nam dobrych kombinacji
-parametrów x264, które by³yby jednocze¶nie szybki i zapewnia³y wysok± jako¶æ.
-.REss
-.
-.TP
-.B turbo=<0\-2>
-Tryb przyspieszonego pierwszego przebiegu.
-Pierwszego przebieg kodowania dwu- lub wiêcej przebiegowego mo¿na przyspieszyæ
-wy³±czaj±c opcje które maj± nik³y lub ¿aden wp³yw na jako¶æ koñcowego
-przebiegu.
-.PD 0
-.RSs
-.IPs 0
-wy³±czone (domy¶lne)
-.IPs 1
-Zmniejsza subq, frameref i wy³±cza niektóre tryby analizy podzia³u
-wewn±trz makrobloków.
-.IPs 2
-Zmniejsza subq i frameref do 1, u¿ywa szukania ME typu diament i wy³±cza
-wszystkie tryby analizy podzia³u.
-.RE
-.RS
-Poziom 1 mo¿e dwukrotnie przyspieszyæ pierwszy przebieg nie zmniejszaj±c
-globalnego PSNR ostatniego przej¶cia w porównaniu z pierwszym przebiegiem
-pe³nej jako¶ci.
-.br
-Poziom 2 mo¿e czterokrotnie przyspieszyæ pierwszy przebieg zmieniaj±c
-globalne PSNR ostatniego przej¶cia o +/\- 0.05dB w porównaniu z pierwszym
-przebiegiem pe³nej jako¶ci.
-.REss
-.
-.TP
-.B keyint=<warto¶æ>
-Ustawia maksymaln± przerwê miêdzy ramkami IDR (domy¶lnie: 250).
-Wiêksze warto¶ci oszczêdzaj± bity, a tym samym poprawiaj± jako¶æ,
-odbywa siê to jednak kosztem precyzji przy przeszukiwaniu.
-W odró¿nieniu od MPEG-1/2/4, H.264 nie jest nara¿one na wahania DCT przy
-du¿ych warto¶ciach keyint.
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-Ustawia minimaln± odleg³o¶æ miêdzy ramkami IDR (domy¶lnie: 25).
-Je¶li w obrêbie tego przedzia³u pojawi sie zmiana sceny, nadal jest ona
-kodowana jako ramka I, ale nie zaczyna nowego GOPu.
-W H.264 ramki I niekoniecznie ograniczaj± zamkniêty GOP, poniewa¿
-ramka P mo¿e byæ przewidziana z wiêcej ni¿ jednej poprzedzaj±cej klatki
-(zobacz tak¿e opcjê frameref).
-Dlatego te¿ niekoniecznie da siê przewijaæ do klatek I.
-Ramki IDR ograniczaj± odnoszenie siê ramki P do jakiejkolwiek ramki
-poprzedzaj±cej ramkê IDR.
-.
-.TP
-.B scenecut=<\-1\-100>
-Kontroluje agresywno¶æ wstawiania klatek I (domy¶lnie: 40).
-Ma³e warto¶ci powoduj±, ¿e kodek czêsto musi wymuszaæ ramkê I, je¶li
-przekroczy warto¶æ keyint.
-Poprawne warto¶ci mog± odszukaæ lepsze miejsca dla ramki I,
-wy¿sze powoduj± marnowanie bitów.
-\-1 wy³±cza wykrywanie obciêæ scen (scenecut), wiêc ramki I s± wstawiane tylko
-raz po ka¿dych innych klatkach keyint, nawet je¶li takie obciêcie zdarzy siê
-wcze¶niej.
-Nie jest to zalecane i marnuje bitrate, jako ¿e obciêcia scen (scenecut) s±
-kodowane jako ramki P, które s± tak du¿e jak ramki I,
-ale nie resetuj± "licznika keyint".
-.
-.TP
-.B frameref=<1\-16>
-Liczba poprzednich ramek wykorzystanych do przewidywania
-klatek P lub B (domy¶lnie: 1).
-Parametr ten ma do¶æ znaczny wp³yw na anime, jednak przy materia³ach z "¿ywymi"
-aktorami skuteczno¶æ znacznie spada powy¿ej oko³o sze¶ciu klatek odniesienia.
-Opcja nie ma ¿adnego wp³ywu na szybko¶æ dekodowania, ale zwiêksza
-zapotrzebowanie na pamiêæ w trakcie tego procesu.
-Niektóre dekodery potrafi± obs³u¿yæ tylko do 15 klatek odniesienia.
-.
-.TP
-.B bframes=<0\-16>
-maksymalna liczba kolejnych klatek B pomiêdzy ramkami I i P (domy¶lnie: 0)
-.
-.TP
-.B (no)b_adapt
-Automatycznie decyduje o wykorzystaniu klatek typu B i ich ewentualnej liczbie,
-ograniczonej dopuszczalnym maksimum okre¶lonym przez parametr powy¿ej
-(domy¶lnie: w³±czone).
-Je¿eli opcja ta jest wy³±czona, u¿yta jest maksymalna liczba klatek B.
-.
-.TP
-.B b_bias=<\-100\-100>
-Kontroluje decycyzje podejmowane przez b_adapt.
-Wy¿szy wspó³czynnik b_bias generuje wiêksz± liczbê klatek B (domy¶lnie: 0).
-.
-.TP
-.B (no)b_pyramid
-Pozwala na stosowanie ramek B jako odno¶ników do przewidywania innych ramek.
-Na przyk³ad rozwa¿my 3 kolejne ramki B: I0 B1 B2 B3 P4.
-Bez tej opcji ramki B wystêpuj± tak samo jak w MPEG-[124].
-Zatem s± kodowane w kolejno¶ci I0 P4 B1 B2 B3 i wszystkie klatki B s±
-przewidywane z I0 i P4.
-Z t± opcj± s± kodowane w kolejno¶ci I0 P4 B2 B1 B3.
-B2 jest takie samo jak powy¿ej, ale B1 jest przewidywane z I0 i B2
-a B3 jest przewidywane z B2 i P4.
-Wynikiem tego zwykle jest nieco lepsza kompresja praktycznie bez straty szybko¶ci.
-Jednak¿e jest to opcja eksperymentalna: nie jest do koñca dostrojona i nie zawsze
-mo¿e daæ oczekiwane rezultaty.
-Wymaga bframes >= 2.
-Wada: zwiêksza opó¼nienie dekodowania do 2 ramek.
-.
-.TP
-.B (no)deblock
-Wykorzystuje filtr odblokowywuj±cy (deblock) (domy¶lnie: w³±czony).
-Jako, ¿e zabiera ma³o czasu procesora w porównaniu ze wzrostem jako¶ci,
-jaki daje, nie jest zalecane wy³±czanie go.
-.
-.TP
-.B deblockalpha=<\-6\-6>
-Parametr AlphaC0 dla filtru odblokowywuj±cego (deblock) (domy¶lnie: 0).
-Opcja ta dostosowuje zakresy dla filtru in-loop deblocking H.264.
-Po pierwsze parametr ten okre¶la maksymaln± ilo¶æ zmian jak± filtr mo¿e
-nanie¶æ na pojedynczy piksel.
-Po drugie opcja ta ma wp³yw na próg filtrowanej ró¿nicy wystêpuj±cej na krawêdzi.
-Warto¶æ dodatnia ogranicza blokuj±ce szumy, ale rozmywa równie¿ detale.
-.br
-Domy¶lne zachowanie filtru pozwala prawie zawsze osi±gn±c optymaln± jako¶æ,
-wiêc najlepiej albo zostawiæ wszystkie parametry takie jakimi s± albo dokonaæ
-tylko niewielkich zmian.
-Jednak¿e, je¿eli Twój materia³ ¼ród³owy zawiera ju¿ jakie¶ szumy lub nosi ¶ladu
-efektu bloków, które chcia³by¶ usun±æ, dobrym pomys³em bêdzie nieco wiêksze
-zwiêkszenie warto¶ci parametru.
-.
-.TP
-.B deblockbeta=<\-6\-6>
-Parametr Beta filtru odblokowywuj±cego (deblock) (domy¶lnie: 0).
-Ma wp³yw na próg detali.
-Bloki zawieraj±ce du¿± liczbê detali nie bêd± filtrowane,
-poniewa¿ wyg³adzanie stosowane przez ten filtr bêdzie bardziej widoczne ni¿
-oryginalny efekt blokowy.
-.
-.TP
-.B (no)cabac
-Wykorzystuje CABAC (Context-Adaptive Binary Arithmetic Coding)
-(domy¶lnie: w³±czony).
-Nieco spowalnia kodowanie i dekodowanie, ale oszczêdza oko³o 10\-15% bitów.
-Nie powiniene¶ go wy³±czaæ, chyba ¿e zale¿y Ci na szybko¶ci dekodowania.
-.
-.TP
-.B qp_min=<1\-51> (ABR lub tryb dwuprzebiegowy)
-Minimalny kwantyzator, 10\-30 to u¿yteczny zakres (domy¶lnie: 10).
-.
-.TP
-.B qp_max=<1\-51> (ABR lub tryb dwuprzebiegowy)
-maksymalny kwantyzator (domy¶lnie: 51)
-.
-.TP
-.B qp_step=<1\-50> (ABR lub tryb dwuprzebiegowy)
-maksymalna warto¶æ o jak± kwantyzator mo¿e byæ zwiêkszony/zmniejszony
-pomiêdzy klatkami (domy¶lnie: 2)
-.
-.TP
-.B ratetol=<0.1\-100.0> (ABR lub tryb dwuprzebiegowy)
-dozwolona wariancja dla ¶redniej warto¶ci bitrate (nieokre¶lona jednostka)
-(domy¶lnie: 1.0)
-.
-.TP
-.B vbv_maxrate=<warto¶æ> (ABR lub tryb dwuprzebiegowy)
-maksymalne lokalne bitrate, w kbit/\:sekundê (domy¶lnie: wy³±czone)
-.
-.TP
-.B vbv_bufsize=<warto¶æ> (ABR lub tryb dwuprzebiegowy)
-okres u¶redniania dla vbv_maxrate, w kbitach
-(domy¶lnie: ¿aden, musi byæ podany je¶lo w³±czono vbv_maxrate)
-.
-.TP
-.B vbv_init=<0.0\-1.0> (ABR lub tryb dwuprzebiegowy)
-pocz±tkowa zajêto¶æ bufora, jako u³amek vbv_bufsize (domy¶lnie: 0.9)
-.
-.TP
-.B ip_factor=<warto¶æ>
-wspó³czynnik kwantyzatora miêdzy ramkami I a P (domy¶lnie: 1.4)
-.
-.TP
-.B pb_factor=<warto¶æ>
-wspó³czynnik kwantyzatora miêdzy ramkami P a B (domy¶lnie: 1.3)
-.
-.TP
-.B qcomp=<0\-1> (ABR lub tryb dwuprzebiegowy)
-Kompresja kwantyzatora (domy¶lnie: 0.6).
-Ni¿sza warto¶æ sprawia, ¿e bitrate jest bardziej sta³y, podczas gdy wy¿sza,
-sprawia, ¿e parametr kwantyzacji jest bardziej sta³y.
-.
-.TP
-.B cplx_blur=<0\-999> (tylko tryb dwuprzebiegowy)
-Rozmycie w czasie szacowanej z³o¿ono¶ci klatki, przed kompresj± krzywej
-(domy¶lnie: 20).
-Mniejsze warto¶ci pozwalaj± na wiêksze zmiany kwantyzatora,
-a wiêksze wymuszaj± jego ³agodniejsze zmiany.
-cplx_blur zapewnia, ¿e ka¿da ramka I bêdzie mia³a jako¶æ podobn± do
-nastêpuj±cych po niej ramek P, ¿e ¿e naprzemienne ramki o wysokiej i niskiej
-z³o¿ono¶ci (n.p.\& animacja z niewielkim fps) nie bêd± marnowa³y bitów na
-zmiany kwantyzatora.
-.
-.TP
-.B qblur=<0\-99> (tylko tryb dwuprzebiegowy)
-Rozmycie w czasie parametru kwantyzacji, po kompresji krzywej (domy¶lnie: 0.5).
-Ni¿sze warto¶ci pozwalaj± na wiêksze skoki warto¶ci kwantyzatora,
-wy¿sze zmuszaj± go do delikatniejszych zmian.
-.
-.TP
-.B zones=<czê¶æ0>[/\:<czê¶æ1>[/\:...]]
-Inna jako¶æ dla poszczególnych czê¶ci (zakoñczenie, napisy, ...)
-(ABR lub tryb dwuprzebiegowy).
-Ka¿da czê¶æ to <klatka-pocz±tkowa>,<klatka-koñcowa>,<opcja> gdzie opcja to:
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-kwantyzator
-.IPs "b=<0.01\-100.0>"
-mno¿nik bitrate
-.RE
-.PD 1
-.RS
-.I INFORMACJA:
-Kwantyzator nie jest dok³adnie wymuszany.
-Dzia³a tylko w fazie planowania kontroli tempa i jest podatny na kompensacjê
-przepe³nienia i qp_min/qp_max.
-.RE
-.
-.TP
-.B direct_pred=<0\-2>
-Wykrywa typ systemu przewidywania ruchu dla bezpo¶rednich makrobloków
-w klatkach typu B.
-.PD 0
-.RSs
-.IPs 0
-¯aden: bezpo¶rednie makrobloki nie s± wykorzystywane.
-.IPs 1
-Przestrzenny: wektory ruchu s± ekstrapolowane z s±siednich bloków.
-.IPs 2
-Czasowy: wektory ruchu s± interpolowane z nastêpnych klatek P.
-(domy¶lny)
-.RE
-.PD 1
-.RS
-Typ przestrzenny i czasowy maj± podobn± prêdko¶æ dzia³ania i wspó³czynnik
-PSNR, ale najczê¶ciej ten drugi wygl±da lepiej.
-direct_pred=0 to metoda i wolniejsza, i daj±ca gorsz± jako¶æ.
-.RE
-.
-.TP
-.B (no)weight_b
-U¿ywa wa¿onego przewidywania w ramkach B.
-Bez tej opcji dwukierunkowo przewidywane makrobloki daj± jednakow± wagê ka¿dej
-ramce wzorcowej.
-Z t± opcj± wagi s± ustalane wed³ug pozycji ramki B wzglêdem ramek wzorcowych.
-Wymaga bframes > 1.
-.
-.TP
-.B (no)i4x4
-U¿ywa dodatkowego typu makrobloku i4x4 (domy¶lnie: w³±czone).
-Bez tej opcji ramki P i B bêd± u¿ywaæ tylko i16x16 i typów inter wymienionych
-poni¿ej.
-.
-.TP
-.B (no)i8x8
-U¿ywa dodatkowego typu makrobloku i8x8 (domy¶lnie: w³±czone).
-Ta opcja nie ma efektu je¶li nie jest w³±czone 8x8dct.
-.
-.TP
-.B (no)b8x8mv
-Wykorzystuje dodatkowe typy makrobloków b16x8, b8x16 i b8x8
-(domy¶lnie: wy³±czone).
-Bez tej opcji, klatki B bêd± u¿ywa³y tylko typów
-i16x16, i8x8, i4x4, b16x16, skip, direct.
-Wiêcej szczegó³ów znajdziesz w dokumentacji opcji 4x4mv.
-.
-.TP
-.B (no)8x8mv
-U¿ywa dodatkowych typów makrobloków p16x8, p8x16, p8x8 (domy¶lnie: w³±czone).
-Bez tej opcji ramki P bêd± u¿ywa³y tylko typów
-i16x16, i8x8, i4x4, p16x16, skip.
-Ta opcja jest przeznaczona tylko do eksperymentowania.
-Nie jest zalecane wy³±czanie 8x8mv w prawdziwym kodowaniu.
-.
-.TP
-.B (no)4x4mv
-Wykorzystuje dodatkowe typy makrobloków p8x4, p4x8 i p4x4
-(domy¶lnie: wy³±czone).
-Bez tej opcji, klatki P bêd± korzysta³y tylko z typów
-i16x16, i8x8, i4x4, p16x16, p16x8, p8x16, p8x8 i skip.
-Wymaga 8x8mv.
-.br
-Pomys³ polega na tym, aby odnale¼æ typ i rozmiar, który najlepiej opisuje
-okre¶lony obszar obrazu.
-Na przyk³ad, globalne przesuwanie jest lepiej reprezentowane przez bloki 16x16,
-podczas gdy ma³e poruszaj±ce siê obiekty przez mniejsze segmenty.
-.br
-Zaleca siê u¿ywanie 4x4mv tylko z subq >= 3.
-.
-.TP
-.B (no)8x8dct
-Adaptatywne wybieranie transformaty przestrzeni: pozwala na wybieranie pomiêdzy
-DCT 4x4 i 8x8.
-Zezwala te¿ na typ makrobloku i8x8.
-Bez tej opcji jest u¿ywane tylko DCT 4x4.
-.
-.TP
-.B me=<1\-4>
-Wybiera algorytm pe³nopikselowego szacowania ruchu.
-.PD 0
-.RSs
-.IPs 1
-szukanie kwadratowe, rozmiar 1 (szybkie)
-.IPs 2
-szukanie sze¶ciok±tne, rozmiar 2 (domy¶lne)
-.IPs 3
-nierówne szukanie wielosze¶ciok±tne
-.IPs 4
-szukanie wyczerpuj±ce (bardzo wolne)
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-promieñ wyczerpuj±cego lub wielosze¶ciok±tnego szukania ruchu (domy¶lnie: 16)
-.
-.TP
-.B subq=<1\-6>
-Dopasowuje jako¶æ udoskonalenia subpel.
-Ten parametr kontroluje kompromis miêdzy jako¶ci± a szybko¶ci± bior±cy
-udzia³ w procesie podejmowania decyzji dotycz±cych przewidywania ruchu.
-subq=5 mo¿e skompresowaæ do 10% mocniej ni¿ subq=1
-.PD 0
-.RSs
-.IPs 1
-Korzysta z przewidywania ruchu z prezycj± fullpixel dla wszystkich typów
-kondyduj±cych makrobloków.
-Potem wybiera najlepszy typ.
-Potem poprawia ruch tego typu co do prezycji quarterpixel.
-(najszybsze)
-.IPs 2
-Podobnie jak 1, ale korzysta z wolniejszego poprawiania quarterpixel.
-.IPs 3
-Korzysta z przewidywania ruchu z precyzj± halfpixel dla wszystkich
-kandyduj±cych typów makrobloków.
-Potem wybiera najlepszy typ.
-Potem poprawia ruch tego typu co do precyzji quarterpixel.
-.IPs 4
-Korzysta z szybkiego przewidywania ruchu z precyzj± quarterpixel dla
-wszystkich kandyduj±cych typów makrobloków.
-Potem wybiera najlepszy typ.
-Potem koñczy poprawianie quarterpixel dla tego typu.
-.IPs 5
-Korzysta z najlepszej jako¶ci przewidywania ruchu z precyzj± quarterpixel
-dla wszystkich kandyduj±cych typów makrobloków, przed wyborem najlepszego
-(domy¶lne).
-.IPs 6
-W³±cza optymalizacjê typów makrobloków dla ramek typu I i P celem
-zmniejszenia zak³óceñ (najlepsze).
-.RE
-.PD 1
-.RS
-W powy¿szych parametrach, przez "wszystkich kandydatów" nie nale¿y rozumieæ
-wszystkich aktywnych typów:
-4x4, 4x8, 8x4 s± sprawdzane tylko, je¿eli 8x8 jest lepszy ni¿ 16x16.
-.RE
-.
-.TP
-.B (no)chroma_me
-Bierze pod uwagê informacje o barwie podczas szukania ruchu podpikseli
-(domy¶lnie: w³aczone).
-Wymaga subq>=5.
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-U¿ywa innego kwantyzatora do barw w porównaniu do jasno¶ci.
-Sensowne warto¶ci s± w zakresie <\-2\-2> (domy¶lnie: 0).
-.
-.TP
-.B cqm=<flat|jvt|<nazwapliku>>
-U¿ywa albo predefiniowanej macierzy kwantyzacji albo ³aduje plik macierzy
-w formacie JM.
-.PD 0
-.RSs
-.IPs "flat\ "
-U¿ywa predefiniowanej p³askiej macierzy (domy¶lne).
-.IPs "jvt\ \ "
-U¿ywa predefiniowanej macierzy JVT.
-.IPs <nazwapliku>
-U¿ywa dostarczonego zbioru macierzy w formacie JM.
-.PD 1
-.RE
-.RS
-.I INFORMACJA:
-Zbiory zakodowane przy u¿yciu CQM nie s± aktualnie dekodowalne przed
-odtwarzacze oparte na FFmpeg.
-.br
-U¿ytkownicy Windowsowego CMD.EXE mog± napotkaæ problemy przy przegl±daniu
-wiersza poleceñ je¶li próbuj± u¿yæ wszystkich list CQM.
-Powodem tego jest ograniczenie d³ugo¶ci wiersza poleceñ.
-W takim wypadku zalecane jest zapisanie list w zbiorze macierzy w formacie JM
-i za³adowanie go jak powy¿ej.
-.RE
-.
-.TP
-.B cqm4iy=<lista> (zobacz tak¿e cqm)
-Podana przez u¿ytkownika macierz intra 4x4 jasno¶ci, przekazana jako 16
-oddzielonych przecinkami warto¶ci w zakresie 1\-255.
-.
-.TP
-.B cqm4ic=<lista> (zobacz tak¿e cqm)
-Podana przez u¿ytkownika macierz intra 4x4 barwy, przekazana jako 16
-oddzielonych przecinkami warto¶ci w zakresie 1\-255.
-.
-.TP
-.B cqm4py=<lista> (zobacz tak¿e cqm)
-Podana przez u¿ytkownika macierz inter 4x4 jasno¶ci, przekazana jako 16
-oddzielonych przecinkami warto¶ci w zakresie 1\-255.
-.
-.TP
-.B cqm4pc=<lista> (zobacz tak¿e cqm)
-Podana przez u¿ytkownika macierz inter 4x4 barwy, przekazana jako 16
-oddzielonych przecinkami warto¶ci w zakresie 1\-255.
-.
-.TP
-.B cqm8iy=<lista> (zobacz tak¿e cqm)
-Podana przez u¿ytkownika macierz intra 8x8 jasno¶ci, przekazana jako 64
-oddzielone przecinkami warto¶ci w zakresie 1\-255.
-.
-.TP
-.B cqm8py=<lista> (zobacz tak¿e cqm)
-Podana przez u¿ytkownika macierz inter 8x8 jasno¶ci, przekazana jako 64
-oddzielone przecinkami warto¶ci w zakresie 1\-255.
-.
-.TP
-.B level_idc=<10\-51>
-Ustawia parametr level strumienia bitów, wed³ug definicji w aneksie A standardu
-H.264 (domy¶lnie: 40 \- Level 4.0).
-U¿ywane ¿eby przekazaæ dekoderowi jakie mo¿liwo¶ci musi obs³ugiwaæ.
-U¿ywaj tylko je¶li wiesz co to znaczy i musisz tego u¿yæ.
-.
-.TP
-.B threads=<1\-4>
-Dzieli ka¿d± klatkê na paski i koduje je równolegle (domy¶lnie: 1).
-Pozwala te¿ na wielow±tkowe dekodowanie je¶li dekoder to umo¿liwia (lavc nie).
-Lekko zmniejsza kompresjê.
-Wymaga ¿eby libx264 by³a skompilowana z obs³ug± pthread; je¶li tak nie jest
-opcja ta wy¶wietli ostrze¿enie i w³±czy paski ale nie wielow±tkowo¶æ.
-.
-.TP
-.B log=<\-1\-3>
-Okre¶la ilo¶æ informacji drukowanych na ekranie.
-.PD 0
-.RSs
-.IPs \-1
-¿adne
-.IPs " 0"
-Wy¶wietla tylko b³êdy.
-.IPs " 1"
-ostrze¿enia
-.IPs " 2"
-PSNR i inne statystyki analiz po skoñczonym kodowaniu (domy¶lne)
-.IPs " 3"
-PSNR, QP, typ ramki, rozmiar i inne statystyki dla ka¿dej klatki
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-Drukuje statystyki stosunku sygna³u do szumu.
-.br
-.I INFORMACJA:
-Pola PSNR 'Y', 'U', 'V', i 'Avg' nie s± matematycznie poprawne
-(s± po prostu u¶rednion± warto¶ci± PSNR branego z ka¿dej klatki).
-S± trzymane tylko dla porównania z referencyjnym kodekiem JM.
-Dla wszystkich innych celów, korzystaj albo z "Global" PSNR, albo
-z poszczególnych warto¶ci PSNR przypadaj±cych na klatkê drukowanych przez
-log=3.
-.
-.TP
-.B (no)visualize
-W³±cza wizualizacjê x264 w trakcie kodowania.
-Je¶li x264 w Twoim systemie to obs³uguje zostanie otwarte nowe okno w trakcie
-procesu kodowania, w którym x264 bêdzie siê stara³ zaprezentowaæ szkic tego,
-jak zakodowa³ klatkê.
-Typ ka¿dego bloku na wizualizowanym filmie bêdzie mia³ jeden z kolorów:
-.PD 0
-.RSs
-.IPs czerwony/rózowy
-blok intra
-.IPs niebieski
-blok inter
-.IPs zielony
-blok pominiêty
-.IPs ¿ó³ty
-blok B
-.RE
-.PD 1
-.RS
-Jest to mo¿liwo¶æ eksperymentalna i podlegaj±ca zmianom.
-W szczególno¶ci wymaga ¿eby x264 by³o skompilowane z w³±czon± wizualizacj±.
-Zauwa¿, ¿e w momencie pisania tego dokumentu x264 zatrzymuje po zakodowaniu
-i wizualizacji ka¿dej klatki, czekaj±c a¿ u¿ytkownik naci¶nie klawisz przed
-kodowaniem nastêpnej klatki.
-.RE
-.
-
-.
-.SS muxer MPEG (\-mpegopts)
-.
-Muxer MPEG mo¿e generowaæ 5 typów strumieni, ka¿dy z nich z sensownymi
-domy¶lnymi parametrami które u¿ytkownik mo¿e zmieniæ.
-Ogólnie, przy generowaniu zbiorów mpeg zalecane jest wy³±czenie kodu
-przeskakiwania ramek MEncodera (zobacz tak¿e \-noskip, \-mc, jak równie¿ filtry
-obrazu harddup i softskip).
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd>
-format strumienia (domy¶lnie: mpeg2)
-.
-.TP
-.B size=<do 65535>
-Wielko¶æ pakietu w bajtach, nie zmieniaj, je¶li nie jeste¶ pewien tego co robisz
-(domy¶lnie: 2048).
-.
-.TP
-.B muxrate=<liczba>
-nominalne tempo muxowania w KBit/s u¿ywane w nag³ówkach pakietów
-(domy¶lnie: 1800 kb/s)
-Bêdzie zaktualizowane, je¶li to konieczne, w przypadku "format=mpeg1" lub "mpeg2".
-.
-.TP
-.B "tsaf\ \ \ "
-Ustawia, je¶li to mo¿liwe, znaczniki czasu w ka¿dej ramce.
-.
-.TP
-.B (no)reorder
-W³±cza kod przestawiania ramek, który przechowuje ramki w kolejno¶ci
-dekodowania (a nie wy¶wietlania) (domy¶lnie: wy³±czone).
-U¿ywaj tylko, je¶li uwa¿asz, ¿e klatki w oryginalnym strumieniu by³y
-b³êdnie zapisane.
-Dzia³a tylko z filmami MPEG-1/2.
-.
-.TP
-.B init_vpts=<100\-700>
-pocz±tkowe pts video, w milisekundach (domy¶lnie: 200)
-.
-.TP
-.B init_apts=<100\-700>
-pocz±tkowe pts audio, w milisekundach (domy¶lnie: 200)
-.
-.TP
-.B vdelay=<1\-32760>
-Pocz±tkowe opó¼nienie obrazu w w milisekundach (domy¶lnie: 0),
-u¿ywaj, je¶li chcesz opó¼niæ obraz wzglêdem d¼wiêku.
-.
-.TP
-.B "drop\ \ \ "
-U¿ywane razem z init_delay powoduje ¿e muxer opuszcza oczekiwany kawa³ek
-audio.
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-Ustawia wysoko¶æ i szeroko¶æ filmu gdy jest to MPEG-1/2.
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-Ustawia wysoko¶æ i szeroko¶æ trybu panoramicznego filmu gdy jest to MPEG-2.
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-Ustawia proporcje filmu MPEG-1/2.
-.
-.TP
-.B vbitrate=<liczba>
-Ustawia bitrate video w kbit/s dla filmów MPEG-1/2.
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
-Ustawia ilo¶æ klatek na sekundê dla filmów MPEG-1/2.
-Ta opcja zostanie zignorowana je¶li bêdzie u¿yta razem z opcj± telecine.
-.
-.TP
-.B telecine
-W³±cza tryb miêkkiego telecine: muxer oszukuje strumieñ obrazu tak, aby wygl±da³
-jak kodowany przy 29.97 lub 30 fps; dzia³a to tylko z filmami MPEG-2, kiedy
-wyj¶ciowa ilo¶æ klatek na sekundê, po ewentualnej konwersji przez \-ofps wynosi
-24000/1001 lub 24.
-Wszystkie pozosta³e warto¶ci s± niekompatybilne z t± opcj±.
-.
-.
-.SS Muksery FFmpeg z libavformat (\-lavfopts) (zobacz tak¿e \-of lavf)
-.
-.TP
-.B format=<format_pliku>
-Wymusza format pliku na który nale¿y muksowaæ
-(domy¶lnie: autodetekcja wed³ug rozszerzenia).
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-MPEG-1 systems i MPEG-2 PS
-.IPs "asf\ \ "
-Advanced Streaming Format
-.IPs "avi\ \ "
-Audio Video Interleave file
-.IPs "wav\ \ "
-Waveform Audio
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-pliki video Macromedia Flash
-.IPs "rm\ \ \ "
-RealAudio i RealVideo
-.IPs "au\ \ \ "
-format SUN AU
-.IPs "nut\ \ "
-otwarty format NUT (experymentalny)
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-format MPEG-4
-.IPs "dv\ \ "
-Sony Digital Video container
-.RE
-.PD 1
-.
-
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Pliki
-.\" --------------------------------------------------------------------------
-.
-.SH PLIKI
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-g³ówny plik ustawieñ
-.
-.TP
-~/.mplayer/\:config
-ustawienia u¿ytkownika
-.
-.TP
-~/.mplayer/\:input.conf
-ustawienia wej¶cia (pe³n± listê wy¶wietla '\-input keylist')
-.
-.TP
-~/.mplayer/\:gui.conf
-plik konfiguracyjny GUI
-.
-.TP
-~/.mplayer/\:gui.pl
-lista odtwarzania GUI
-.
-.TP
-~/.mplayer/\:font/
-katalog czcionki (Musi znajdowaæ siê tutaj plik font.desc i plik z
-rozszerzeniem .RAW.)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-Zkrakowane klucze CSS
-.
-.TP
-Zak³adaj±c, ¿e odtwarzana jest /¶cie¿ka/\:do/\:film.avi, MPlayer bêdzie szuka³
-napisów w nastêpuj±cej kolejno¶ci:
-.RS
-/¶cie¿ka/\:do/\:film.sub
-.br
-~/.mplayer/\:sub/\:film.sub
-.br
-~/.mplayer/\:default.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" Przyk³ady
-.\" --------------------------------------------------------------------------
-.
-.SH PRZYK£ADY U¯YCIA MPLAYERA
-.
-.TP
-.B Szybki start odtwarzania DVD:
-mplayer dvd://1
-.
-.TP
-.B Odtwarza w japoñskim z angielskimi napisami:
-mplayer dvd://1 \-alang ja \-slang en
-.
-.TP
-.B Odtwarza tylko rozdzia³y 5, 6, 7:
-mplayer dvd://1 \-chapter 5\-7
-.
-.TP
-.B Odtwarza tylko tytu³y 5, 6, 7:
-mplayer dvd://5\-7
-.
-.TP
-.B Odtwarza DVD z ró¿nych ujêæ:
-mplayer dvd://1 \-dvdangle 2
-.
-.TP
-.B Odtwarza z innego urz±dzenia DVD:
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.
-.TP
-.B Odtwarza DVD z katalogu zawieraj±cego pliki VOB:
-mplayer dvd://1 \-dvd\-device /¶cie¿ka/\:do/\:katalogu/
-.
-.TP
-.B Kopiuje tytu³ DVD na twardy dysk, zapisuj±c go to "title1.vob":
-mplayer dvd://1 \-dumpstream \-dumpfile title1.vob
-.
-.TP
-.B Strumieñ z HTTP:
-mplayer http://mplayer.hq/\:przyklad.avi
-.
-.TP
-.B Strumieñ u¿ywaj±cy RTSP:
-mplayer rtsp://serwer.przyklad.com/\:nazwaStrumienia
-.
-.TP
-.B Konwertuje napisy do formatu MPsub:
-mplayer test.avi \-sub zród³o.sub \-dumpmpsub
-.
-.TP
-.B Konwertuje napisy do formatu MPsub bez konieczno¶ci ogl±dania filmu:
-mplayer /dev/\:zero \-rawvideo on:pal:fps=xx \-vc null \-vo null \-noframedrop
-\-benchmark \-sub ¼ród³o.sub \-dumpmpsub
-.
-.TP
-.B Wej¶cie z domy¶lnego V4L:
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420
-\-vo xv
-.
-.TP
-.B Odtwarzanie na kartach Zoran (w starym stylu, odradzane):
-mplayer \-vo zr \-vf scale=352:288 plik.avi
-.
-.TP
-.B Odtwarzanie na kartach Zoran (w nowym stylu):
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg plik.avi
-.
-.TP
-.B Odtwarza d¼wiêk 6-kana³owy w formacie AAC tylko na dwóch g³o¶nikach:
-mplayer \-rawaudio on:format=0xff \-af pan=6:.32:.39:.06:.17:-.17:.33:.32:.06:.39:-.17:.17:.33 adts_he-aac160_51.aac
-.br
-Mo¿e bêdziesz chcia³ siê trochê pobawiæ warto¶ciami filtru pan (np. pomno¿yæ
-przez jaka¶ liczbê), aby zwiêkszyæ g³o¶no¶æ albo unikn±æ trzasków.
-.
-.SH PRZYK£ADY U¯YCIA MENCODERA
-.
-.TP
-.B Kodowanie tytu³u #2 DVD, tylko wybrane rozdzia³y:
-mencoder dvd://2 \-chapter 10\-15 \-o tytul2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.
-.TP
-.B Kodowanie tytu³u #2 DVD, zmiana rozmiaru do 640x480:
-mencoder dvd://2 \-vf scale=640:480 \-o tytul2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.
-.TP
-.B Kodowanie tytu³u #2 DVD, zmiana rozmiaru do 512xHHH (zachowuje proporcje):
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o tytul2.avi \-oac copy
-\-ovc lavc \-lavcopts vcodec=mpeg4
-.
-.TP
-.B To samo, ale z bitrate ustawionym na 1800kbit i optymalizowanymi makroblokami:
-mencoder dvd://2 \-o tytu³2.avi \-oac copy \-ovc lavc
-\-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
-.
-.TP
-.B To samo, ale z kompresj± MJPEG:
-mencoder dvd://2 \-o tytul2.avi \-oac copy \-ovc lavc
-\-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
-.
-.TP
-.B Kodowanie wszystkich plików *.jpg w bie¿±cym katalogu:
-mencoder "mf://*.jpg" \-mf fps=25 \-o wyjscie.avi \-ovc lavc \-lavcopts vcodec=mpeg4
-.
-.TP
-.B Kodowanie z tunera (okre¶l format poprzez \-vf format):
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.
-.TP
-.B Kodowanie z potoku:
-rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.
-.
-.\" --------------------------------------------------------------------------
-.\" B³êdy, autorzy, standardowa adnotacja
-.\" --------------------------------------------------------------------------
-.
-.SH B£ÊDY
-Nie panikuj.
-Je¶li jaki¶ znajdziesz, zg³o¶ go nam, ale przedtem upewnij siê, ¿e przeczyta³e¶
-ca³± dokumentacjê.
-Uwa¿aj te¿ na u¶mieszki. :)
-Wiele b³êdów jest skutkiem nieprawid³oych ustawieñ lub u¿ycia z³ych parametrów.
-Sekcja zg³oszeñ b³êdów w dokumentacji (DOCS/\:HTML/\:pl/\:bugreports.html) opisuje
-sposób tworzenia przydatnych zg³oszeñ b³êdów.
-.
-.
-.
-.SH AUTORZY
-MPlayer zosta³ stworzony przez Arpad'a Gereöffy.
-Lista niektórych z wielu uczestników znajduje siê w zbiorze AUTHORS.
-.PP
-MPlayer (C) 2000\-2009 Za³oga MPlayera
-.PP
-G³ównymi autorami tej strony s± Gabucino, Jonas Jermann i Diego Biurrun.
-Obecnie opiekuje siê ni± Diego Biurrun.
-Proszê przesy³aæ wszelkie maile o niej na listê dyskusyjn± MPlayer-DOCS,
-za¶ maile odno¶nie t³umaczenia na listê MPlayer-translations.
-.
-.
-.
-.SH "OD T£UMACZY"
-Strona przet³umaczona przez Wac³awa Schillera <torinthiel at wp.pl> i
-Macieja Pasztê <paszczi at go2.pl>.
-W t³umaczeniu wykorzystano fragmenty pracy
-Adriana Pawlika <imoteph at wp.pl> i Konrada Materki <kmaterka at wp.pl>
-.PP
-T³umaczenie mo¿e zawieraæ liczne b³êdy, niektóre s³owa mog³y byæ
-przet³umaczone b³êdnie lub nie powinny byæ t³umaczone.
-Je¶li zauwa¿ysz jaki¶ b³±d, prze¶lij informacjê o nim (i ewentualnie ³atkê) do
-t³umaczy lub na listê dyskusyjn± MPlayer-translations.
-.\" end of file
diff --git a/DOCS/man/ru/mplayer.1 b/DOCS/man/ru/mplayer.1
deleted file mode 100644
index 80a5080..0000000
--- a/DOCS/man/ru/mplayer.1
+++ /dev/null
@@ -1,11578 +0,0 @@
-.\" MPlayer (C) 2000-2010 MPlayer Team
-.\" This man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
-.\" Translated by Vladimir Voroshilov <voroshil at gmail.com>
-.\" Encoding: koi8-r
-.\" synced with r28991
-.
-.\" --------------------------------------------------------------------------
-.\" ïÐÒÅÄÅÌÅÎÉÑ ÍÁËÒÏÓÏ×
-.\" --------------------------------------------------------------------------
-.
-.\" define indentation for suboptions
-.nr SS 5
-.\" add new suboption
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" begin of first level suboptions, end with .RE
-.de RSs
-.RS 10
-..
-.\" begin of 2nd level suboptions
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" end of 2nd level suboptions
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" úÁÇÏÌÏ×ÏË
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2009-03-02" "ðÒÏÅËÔ MPlayer" "íÅÄÉÁ ÐÒÏÉÇÒÙ×ÁÔÅÌØ"
-.
-.SH îáú÷áîéå
-mplayer \- ÍÅÄÉÁ ÐÒÏÉÇÒÙ×ÁÔÅÌØ
-.br
-mencoder \- ÍÅÄÉÁ ËÏÄÉÒÏ×ÝÉË
-.
-.\" --------------------------------------------------------------------------
-.\" éÓÐÏÌØÚÏ×ÁÎÉÅ
-.\" --------------------------------------------------------------------------
-.
-.SH éóðïìøúï÷áîéå
-.na
-.nh
-.B mplayer
-[ÏÐÃÉÉ] [ÆÁÊÌ|URL|ÐÌÅÊÌÉÓÔ|\-]
-.
-.br
-.B mplayer
-[ÏÐÃÉÉ] ÆÁÊÌ1
-[ÏÓÏÂÙÅ ÏÐÃÉÉ] [ÆÁÊÌ2] [ÏÓÏÂÙÅ ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-[ÏÐÃÉÉ]
-{ "ÇÒÕÐÐÁ ÆÁÊÌÏ× É ÏÐÃÉÊ" }
-[ÏÓÏÂÙÅ ÏÐÃÉÉ ÇÒÕÐÐÙ]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[ÚÁÇÏÌÏ×ÏË|[ÐÅÒ×ÙÊ_ÚÁÇÏÌÏ×ÏË]\-ÐÏÓÌÅÄÎÉÊ_ÚÁÇÏÌÏ×ÏË][/ÕÓÔÒÏÊÓÔ×Ï]
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-vcd://ÄÏÒÏÖËÁ[/ÕÓÔÒÏÊÓÔ×Ï]
-.
-.br
-.B mplayer
-tv://[ËÁÎÁÌ][/×ÈÏÄ]
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-radio://[ËÁÎÁÌ ÉÌÉ ÞÁÓÔÏÔÁ][/capture]
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-pvr://
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-dvb://[ÎÏÍÅÒ_ËÁÒÔÙ@]ËÁÎÁÌ
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-mf://[ÆÁÊÌÏ×ÁÑ_ÍÁÓËÁ|@ÆÁÊÌ_ÓÏ_ÓÐÉÓËÏÍ]
-[\-mf ÏÐÃÉÉ] [ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-[cdda|cddb]://ÄÏÒÏÖËÁ[\-ÐÏÓÌ._ÄÏÒÏÖËÁ][:ÓËÏÒÏÓÔØ][/ÕÓÔÒÏÊÓÔ×Ï]
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-cue://ÆÁÊÌ[:ÄÏÒÏÖËÁ]
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://
-[ÐÏÌØÚÏ×ÁÔÅÌØ:ÐÁÒÏÌØ@]URL[:ÐÏÒÔ] [ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-sdp://ÆÁÊÌ
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-mpst://ÁÄÒÅÓ[:ÐÏÒÔ]/URL
-[ÏÐÃÉÉ]
-.
-.br
-.B mplayer
-tivo://ÁÄÒÅÓ/[list|llist|fsid]
-[ÏÐÃÉÉ]
-.
-.br
-.B gmplayer
-[ÏÐÃÉÉ]
-[\-skin\ skin]
-.
-.br
-.B mencoder
-[ÏÐÃÉÉ] ÆÁÊÌ
-[ÆÁÊÌ|URL|\-] [\-o ÆÁÊÌ | file://ÆÁÊÌ | smb://[ÐÏÌØÚÏ×ÁÔÅÌØ:ÐÁÒÏÌØ@host]/ÐÕÔØ_Ë_ÆÁÊÌÕ]
-.
-.br
-.B mencoder
-[ÏÐÃÉÉ] ÆÁÊÌ1
-[ÏÓÏÂÙÅ ÏÐÃÉÉ] [ÆÁÊÌ2] [ÏÓÏÂÙÅ ÏÐÃÉÉ]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" ïÐÉÓÁÎÉÅ
-.\" --------------------------------------------------------------------------
-.
-.SH ïðéóáîéå
-.B mplayer
-ÜÔÏ ÍÅÄÉÁ ÐÒÏÉÇÒÙ×ÁÔÅÌØ ÄÌÑ Linux (ÒÁÂÏÔÁÅÔ ÎÁ ÍÎÏÖÅÓÔ×Å ÒÁÚÌÉÞÎÙÈ ÐÌÁÔÆÏÒÍ É
-ÐÒÏÃÅÓÓÏÒÎÙÈ ÁÒÈÉÔÅËÔÕÒ, ÐÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × ÄÏËÕÍÅÎÔÁÃÉÉ).
-ïÎ ÐÒÏÉÇÒÙ×ÁÅÔ ÂÏÌØÛÉÎÓÔ×Ï MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM,
-MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM É RoQ ÆÁÊÌÏ×, ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ
-×ÓÔÒÏÅÎÎÙÈ É ÂÉÎÁÒÎÙÈ ËÏÄÅËÏ×.
-÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÓÍÏÔÒÅÔØ VCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV É
-ÄÁÖÅ H.264 ÆÉÌØÍÙ.
-.PP
-MPlayer ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÎÏÖÅÓÔ×Ï ÄÒÁÊ×ÅÒÏ× ×Ù×ÏÄÁ ×ÉÄÅÏ É ÁÕÄÉÏ.
-ïÎ ÒÁÂÏÔÁÅÔ Ó X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB,
-Quartz, Mac OS X CoreVideo, ×Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ GGI, SDL (É ×ÓÅ ÅÇÏ ÄÒÁÊ×ÅÒÙ),
-VESA (ÎÁ ÌÀÂÏÊ VESA\-ÓÏ×ÍÅÓÔÉÍÏÊ ËÁÒÔÅ, ÄÁÖÅ ÂÅÚ X11), ÎÅËÏÔÏÒÙÅ ÎÉÚËÏÕÒÏ×ÎÅ×ÙÅ
-ÁÐÐÁÒÁÔÎÏ\-ÚÁ×ÉÓÉÍÙÅ ÄÒÁÊ×ÅÒÁ (ÄÌÑ Matrox, 3dfx b ATI) É ÎÅËÏÔÏÒÙÅ ÐÌÁÔÆÏÒÍÙ ÁÐÐÁÒÁÔÎÏÇÏ
-ÄÅËÏÄÉÒÏ×ÁÎÉÑ MPEG, ÔÁËÉÅ ËÁË Siemens DVB, Hauppauge PVR (IVTV), DXR2 É DXR3/\:Hollywood+.
-âÏÌØÛÉÎÓÔ×Ï ÉÚ ÎÉÈ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÁÐÐÁÒÁÔÎÏÅ ÉÌÉ ÐÒÏÇÒÁÍÍÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ, ÔÁË ÞÔÏ ×Ù ÍÏÖÅÔÅ
-ÎÁÓÌÁÄÉÔØÓÑ ÐÒÏÓÍÏÔÒÏÍ ÆÉÌØÍÏ× × ÐÏÌÎÏÜËÒÁÎÎÏÍ ÒÅÖÉÍÅ.
-.PP
-.\" FIXME onscreen display
-MPlayer ÉÍÅÅÔ onscreen display (OSD) ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ Ï ÓÏÓÔÏÑÎÉÉ ,
-ÂÏÌØÛÉÈ ÓÇÌÁÖÅÎÎÙÈ ÓÕÂÔÉÔÒÏ× Ó ÔÅÎØÀ É ×ÉÚÕÁÌØÎÏÇÏ ÏÔËÌÉËÁ ÎÁ ËÌÁ×ÉÁÔÕÒÎÙÅ ËÏÍÁÎÄÙ.
-å×ÒÏÐÅÊÓËÉÅ/\:ISO8859\-1,2 (÷ÅÎÇÅÒÓËÉÅ, áÎÇÌÉÊÓËÉÅ, þÅÛÓËÉÅ, É Ô.Ä.), ëÉÒÉÌÌÉÞÅÓËÉÅ É ëÏÒÅÊÓËÉÅ
-ÛÒÉÆÔÙ ×ËÕÐÅ Ó 12 ÆÏÒÍÁÔÁÍÉ ÓÕÂÔÉÔÒÏ× (MicroDVD, SubRip, OGM,
-SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS É ÎÁÛ ÓÏÂÓÔ×ÅÎÎÙÊ: MPsub) É
-DVD ÓÕÂÔÉÔÒÙ (SPU streams, VOBsub É Closed Captions).
-.PP
-.B mencoder
-(MPlayer Media Encoder, ëÏÄÉÒÏ×ÝÉË æÉÌØÍÏ× MPlayer) ÜÔÏ ÐÒÏÓÔÏÊ ËÏÄÉÒÏ×ÝÉË ÆÉÌØÍÏ×, ÒÁÚÒÁÂÏÔÁÎÎÙÊ
-ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ ÆÉÌØÍÏ×, ÐÒÏÉÇÒÙ×ÁÅÍÙÈ MPlayer'ÏÍ (ÓÍÏÔÒÉ ×ÙÛÅ) × ÄÒÕÇÉÅ ÆÏÒÍÁÔÙ,
-ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ MPlayer'ÏÍ (ÓÍÏÔÒÉÔÅ ÎÉÖÅ).
-ïÎ ËÏÄÉÒÕÅÔ × MPEG\-4 (DivX/Xvid), ÌÀÂÏÊ ÉÚ libavcodec ËÏÄÅËÏ× É
-PCM/\:MP3/\:VBRMP3 Ú×ÕË × 1, 2 ÉÌÉ 3 ÐÒÏÈÏÄÁ.
-ëÒÏÍÅ ÔÏÇÏ, ÏÎ ÉÍÅÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ËÏÐÉÒÏ×ÁÎÉÑ ÐÏÔÏËÏ×, ÍÏÝÎÕÀ ÓÉÓÔÅÍÕ ÆÉÌØÔÒÏ× (ÏÂÒÅÚËÁ,
-ÒÁÓÔÑÖÅÎÉÅ, ÚÅÒËÁÌØÎÏÅ ÏÔÒÁÖÅÎÉÅ, ÐÏÓÔÏÂÒÁÂÏÔËÁ, ÐÏ×ÏÒÏÔ, ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ, ÛÕÍ, RGB/\:YUV ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ)
-É ÍÎÏÇÏÅ ÄÒÕÇÏÅ.
-.PP
-.B gmplayer
-ÜÔÏ MPlayer Ó ÇÒÁÆÉÞÅÓËÉÍ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÍ ÉÎÔÅÒÆÅÊÓÏÍ. ïÎ ÉÍÅÅÔ ÔÅ ÖÅ ÏÐÃÉÉ, ÞÔÏ É MPlayer.
-.PP
-ðÒÉÍÅÒÙ ÉÓÐÏÌØÚÏ×ÁÎÉÑ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÍÏÞØ ×ÁÍ ÂÙÓÔÒÏ ÎÁÞÁÔØ ÒÁÂÏÔÕ Ó MPlayer, ÍÏÖÎÏ ÎÁÊÔÉ × ËÏÎÃÅ ÜÔÏÇÏ
-ÒÕËÏ×ÏÄÓÔ×Á.
-.PP
-.B óÍÏÔÒÉÔÅ ÔÁËÖÅ HTML ÄÏËÕÍÅÎÔÁÃÉÀ
-.
-.
-.\" --------------------------------------------------------------------------
-.\" éÎÔÅÒÁËÔÉ×ÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ
-.\" --------------------------------------------------------------------------
-.
-.SH "éîôåòáëôé÷îïå õðòá÷ìåîéå"
-MPlayer ÉÍÅÅÔ ÐÏÌÎÏÓÔØÀ ÎÁÓÔÒÁÉ×ÁÅÍÙÊ, ÏÓÎÏ×ÁÎÎÙÊ ÎÁ ËÏÍÁÎÄÁÈ, ÓÌÏÊ ÕÐÒÁ×ÌÅÎÉÑ, ËÏÔÏÒÙÊ
-ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÕÐÒÁ×ÌÑÔØ MPlayer'ÏÍ ÐÒÉ ÐÏÍÏÝÉ ËÌÁ×ÉÁÔÕÒÙ, ÍÙÛÉ, ÄÖÏÊÓÔÉËÁ ÉÌÉ ÐÕÌØÔÁ
-ÄÉÓÔÁÎÃÉÏÎÎÏÇÏ ÕÐÒÁ×ÌÅÎÉÑ (ÐÒÉ ÐÏÍÏÝÉ LIRC).
-óÍÏÔÒÉÔÅ ÏÐÉÓÁÎÉÅ ÏÐÃÉÉ \-input, ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÓÐÏÓÏÂÏ× ÎÁÓÔÒÏÊËÉ.
-.
-.TP
-.B ÕÐÒÁ×ÌÅÎÉÅ ËÌÁ×ÉÁÔÕÒÏÊ
-.PD 0
-.RS
-.IPs "<\- É \->"
-ðÅÒÅÍÏÔËÁ ÎÁÚÁÄ/\:×ÐÅÒÅÄ ÎÁ 10 ÓÅËÕÎÄ.
-.IPs "up É down"
-ðÅÒÅÍÏÔËÁ ×ÐÅÒÅÄ/\:ÎÁÚÁÄ ÎÁ 1 ÍÉÎÕÔÕ.
-.IPs "pgup É pgdown"
-ðÅÒÅÍÏÔËÁ ×ÐÅÒÅÄ/\:ÎÁÚÁÄ ÎÁ 10 ÍÉÎÕÔ.
-.IPs "[ É ]"
-õÍÅÎØÛÁÅÔ/Õ×ÅÌÉÞÉ×ÁÅÔ ÓËÏÒÏÓÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÎÁ 10%.
-.IPs "{ É }"
-÷Ä×ÏÅ ÍÅÎØÛÁÑ/ÂÏÌØÛÁÑ ÓËÏÒÏÓÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-.IPs "backspace"
-÷ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÏÒÍÁÌØÎÕÀ ÓËÏÒÏÓÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-.IPs "< É >"
-ðÅÒÅÍÅÝÅÎÉÅ ÎÁÚÁÄ/\:×ÐÅÒÅÄ ÐÏ ÓÐÉÓËÕ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-.IPs "ENTER"
-ðÅÒÅÍÅÝÅÎÉÅ ×ÐÅÒÅÄ ÐÏ ÓÐÉÓËÕ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ, ÄÁÖÅ ÚÁ ÐÒÅÄÅÌÙ ÓÐÉÓËÁ.
-.IPs "HOME É END"
-óÌÅÄÕÀÝÉÊ/\:ÐÒÅÄÙÄÕÝÉÊ ÜÌÅÍÅÎÔ × ÒÏÄÉÔÅÌØÓËÏÍ ÓÐÉÓËÅ
-.IPs "INS É DEL (ÔÏÌØËÏ ÄÌÑ ÓÐÉÓËÏ× ASX)"
-óÌÅÄÕÀÝÉÊ/\:ÐÒÅÄÙÄÕÝÉÊ ÉÚ ×ÏÚÍÏÖÎÙÈ ÉÓÔÏÞÎÉËÏ×.
-.IPs "p / SPACE"
-ðÁÕÚÁ (ÐÏ×ÔÏÒÎÏÅ ÎÁÖÁÔÉÅ ÐÒÏÄÏÌÖÁÅÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ).
-.IPs ".\ \ \ \ "
-ëÁÄÒ ×ÐÅÒÅÄ.
-ïÄÎÏËÒÁÔÎÏÅ ÎÁÖÁÔÉÅ ÐÒÉÏÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ, ËÁÖÄÏÅ ÐÏÓÌÅÄÕÀÝÅÅ ÎÁÖÁÔÉÅ ÂÕÄÅÔ ÐÒÏÉÇÒÙ×ÁÔØ
-ÏÄÉÎ ËÁÄÒ É ÓÎÏ×Á ×ÏÚ×ÒÁÝÁÔØÓÑ × ÒÅÖÉÍ ÐÁÕÚÙ (ÌÀÂÁÑ ÄÒÕÇÁÑ ËÌÁ×ÉÛÁ ÐÒÏÄÏÌÖÁÅÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ).
-.IPs "q / ESC"
-ïÓÔÁÎÏ×ËÁ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ É ×ÙÈÏÄ ÉÚ ÐÒÏÇÒÁÍÍÙ.
-.IPs "U\ \ \ \ "
-Stop playing (and quit if \-idle is not used).
-ïÓÔÁÎÏ×ËÁ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ (É ×ÙÈÏÄ, ÅÓÌÉ ÎÅ ÚÁÄÁÎÁ \-idle).
-.IPs "+ É \-"
-éÚÍÅÎÉÔØ ÚÁÄÅÒÖËÕ ÁÕÄÉÏ ÎÁ +/\- 0.1 ÓÅËÕÎÄÙ.
-.IPs "/ É *"
-õÍÅÎØÛÁÅÔ/\:Õ×ÅÌÉÞÉ×ÁÅÔ ÇÒÏÍËÏÓÔØ.
-.IPs "9 É 0"
-õÍÅÎØÛÁÅÔ/\:Õ×ÅÌÉÞÉ×ÁÅÔ ÇÒÏÍËÏÓÔØ.
-.IPs "( É )"
-ðÏÄÓÔÒÁÉ×ÁÅÔ ÂÁÌÁÎÓ, ÕÓÉÌÉ×ÁÑ ÌÅ×ÙÊ/\:ÐÒÁ×ÙÊ ËÁÎÁÌ.
-.IPs "m\ \ \ \ "
-÷ÙËÌÀÞÁÅÔ Ú×ÕË.
-.IPs "_ (ÔÏÌØËÏ MPEG\-TS, AVI É libavformat)"
-ãÉËÌÉÞÅÓËÉ ÐÅÒÅËÌÀÞÁÅÔ ÄÏÓÔÕÐÎÙÅ ×ÉÄÅÏ ÄÏÒÏÖËÉ.
-.IPs "# (ÔÏÌØËÏ DVD, MPEG, Matroska, AVI É libavformat)"
-ãÉËÌÉÞÅÓËÉ ÐÅÒÅËÌÀÞÁÅÔ ÄÏÓÔÕÐÎÙÅ ÁÕÄÉÏ ÄÏÒÏÖËÉ.
-.IPs "TAB (ÔÏÌØËÏ MPEG\-TS É libavformat)"
-ãÉËÌÉÞÅÓËÉ ÐÅÒÅËÌÀÞÁÅÔ ÄÏÓÔÕÐÎÙÅ ÐÒÏÇÒÁÍÍÙ.
-.IPs "f\ \ \ \ "
-÷ËÌÀÞÁÅÔ ÐÏÌÎÏÜËÒÁÎÎÙÊ ÒÅÖÉÍ (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-fs).
-.IPs "T\ \ \ \ "
-÷ËÌÀÞÁÅÔ ÒÅÖÉÍ `ÐÏ×ÅÒÈ ×ÓÅÈ ÏËÏÎ` (ÔÁËÖÅ ÓÍÏÔÒÉÔÅ \-ontop).
-.IPs "w É e"
-õÍÅÎØÛÁÅÔ/\:Õ×ÅÌÉÞÉ×ÁÅÔ ÄÉÁÐÁÚÏÎ pan\-and\-scan.
-.IPs "o\ \ \ \ "
-éÚÍÅÎÑÅÔ ÒÅÖÉÍ OSD: ÎÅÔ / ÐÏÌÏÖÅÎÉÅ / ÐÏÌÏÖÅÎÉÅ + ×ÒÅÍÑ / ÐÏÌÏÖÅÎÉÅ + ×ÒÅÍÑ + ÏÂÝÅÅ ×ÒÅÍÑ.
-.IPs "d\ \ \ \ "
-éÚÍÅÎÑÅÔ ÒÅÖÉÍ ×ÙÂÒÁÓÙ×ÁÎÉÑ ËÁÄÒÏ×: ÎÅÔ / ÐÒÏÐÕÓÔÉÔØ ÜËÒÁÎ / ÐÒÏÐÕÓÔÉÔØ ÄÅËÏÄÉÒÏ×ÁÎÉÅ
-(ÓÍÏÔÒÉÔÅ \-framedrop É \-hardframedrop).
-.IPs "v\ \ \ \ "
-éÚÍÅÎÑÅÔ ×ÉÄÉÍÏÓÔØ ÓÕÂÔÉÔÒÏ×.
-.IPs "j\ \ \ \ "
-ãÉËÌÉÞÅÓËÉ ÍÅÎÑÅÔ ÄÏÓÔÕÐÎÙÅ ÓÕÂÔÉÔÒÙ.
-.IPs "y É g"
-ðÅÒÅÍÅÝÅÎÉÅ ×ÐÅÒÅÄ/ÎÁÚÁÄ ÐÏ ÓÐÉÓËÕ ÓÕÂÔÉÔÒÏ×.
-.IP "F\ \ \ \ "
-ðÅÒÅËÌÀÞÁÅÔ ÏÔÏÂÒÁÖÅÎÉÑ "ÆÏÒÓÉÒÏ×ÁÎÎÙÈ ÓÕÂÔÉÔÒÏ×".
-.IPs "a\ \ \ \ "
-éÚÍÅÎÑÅÔ ÐÏÌÏÖÅÎÉÅ ÓÕÂÔÉÔÒÏ×: ×ÅÒÈ / ÃÅÎÔÒ / ÎÉÚ.
-.IPs "x É z"
-éÚÍÅÎÑÅÔ ÚÁÄÅÒÖËÕ ÓÕÂÔÉÔÒÏ× ÎÁ +/\- 0.1 ÓÅËÕÎÄÙ.
-.IPs "r É t"
-ðÅÒÅÍÅÝÁÅÔ ÓÕÂÔÉÔÒÙ ××ÅÒÈ/×ÎÉÚ.
-.IPs "i (ÔÏÌØËÏ × ÒÅÖÉÍÅ \-edlout)"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÁÞÁÌÏ ÉÌÉ ËÏÎÅà EDL ÐÒÏÐÕÓËÁ É ÚÁÐÉÓÙ×ÁÅÔ ÅÇÏ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ.
-.IPs "s (ÔÏÌØËÏ ÄÌÑ \-vf screenshot)"
-äÅÌÁÅÔ ÓÎÉÍÏË ÜËÒÁÎÁ.
-.IPs "I"
-ðÏËÁÚÙ×ÁÅÔ ÉÍÑ ÆÁÊÌÁ ÎÁ OSD.
-.IPs "! É @"
-ðÅÒÅÊÔÉ Ë ÎÁÞÁÌÕ ÐÒÅÄÙÄÕÝÅÇÏ/ÓÌÅÄÕÀÝÅÇÏ ÜÐÉÚÏÄÁ.
-.IPs "D (ÔÏÌØËÏ \-vo xvmc, \-vo vdpau, \-vf yadif, \-vf kerndeint)"
-áËÔÉ×ÉÒÕÅÔ/ÄÅÁËÔÉ×ÉÒÕÅÔ ÄÅÉÎÔÅÒÌÅÊÓÅÒ.
-.IPs "A"
-ãÉËÌÉÞÅÓËÉ ÍÅÎÑÅÔ ÄÏÓÔÕÐÎÙÅ ÕÇÌÙ DVD.
-.RE
-.PD 1
-.PP
-.RS
-(óÌÅÄÕÀÝÉÅ ËÌÁ×ÉÛÉ ÄÏÓÔÕÐÎÙ ÔÏÌØËÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÁÐÐÁÒÁÔÎÏ ÕÓËÏÒÅÎÎÏÇÏ ×ÉÄÅÏ ×Ù×ÏÄÁ
-(xv, (x)vidix, (x)mga, É Ô.Ä.), ÐÒÏÇÒÁÍÍÎÏÇÏ ÜË×ÁÌÁÊÚÅÒÁ
-(\-vf eq ÉÌÉ \-vf eq2) ÉÌÉ ÆÉÌØÔÒÁ hue (\-vf hue).
-.RE
-.PP
-.PD 0
-.RS
-.IPs "1 É 2"
-îÁÓÔÒÁÉ×ÁÅÔ ËÏÎÔÒÁÓÔÎÏÓÔØ.
-.IPs "3 É 4"
-îÁÓÔÒÁÉ×ÁÅÔ ÑÒËÏÓÔØ.
-.IPs "5 É 6"
-îÁÓÔÒÁÉ×ÁÅÔ Ã×ÅÔÎÏÓÔØ.
-.IPs "7 É 8"
-îÁÓÔÒÁÉ×ÁÅÔ ÎÁÓÙÝÅÎÎÏÓÔØ.
-.RE
-.PD 1
-.PP
-.RS
-(óÌÅÄÕÀÝÉÅ ËÌÁ×ÉÛÉ ÄÏÓÔÕÐÎÙ ÔÏÌØËÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÉÄÅÏ ÄÒÁÊ×ÅÒÏ× quartz ÉÌÉ corevideo).
-.RE
-.PP
-.PD 0
-.RS
-.IPs "command + 0"
-éÚÍÅÎÑÅÔ ÒÁÚÍÅÒ ÏËÎÁ ÄÏ ÐÏÌÏ×ÉÎÙ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÒÁÚÍÅÒÁ.
-.IPs "command + 1"
-éÚÍÅÎÑÅÔ ÒÁÚÍÅÒ ÏËÎÁ ÄÏ ÏÒÉÇÉÎÁÌØÎÏÇÏ.
-.IPs "command + 2"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ ÏËÎÁ × Ä×Á ÒÁÚÁ ÂÏÌØÛÅ ÏÒÉÇÉÎÁÌØÎÏÇÏ.
-.IPs "command + f"
-ðÅÒÅËÌÀÞÁÅÔ ÐÏÌÎÏÜËÒÁÎÎÙÊ ÒÅÖÉÍ (ÔÁËÖÅ ÓÍÏÔÒÉÔÅ \-fs).
-.IPs "command + [ É command + ]"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÏÚÒÁÞÎÏÓÔØ ÏËÎÁ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-.RE
-.PD 1
-.PP
-.RS
-(óÌÅÄÕÀÝÉÅ ËÌÁ×ÉÛÉ ÒÁÂÏÔÁÀÔ ÔÏÌØËÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÌÁ×ÉÁÔÕÒÙ Ó ÍÕÌØÔÉÍÅÄÉÁ ËÌÁ×ÉÛÁÍÉ.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs PAUSE
-ðÁÕÚÁ.
-.IPs "STOP\ "
-ïÓÔÁÎÏ×ÉÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ É ×ÙÊÔÉ.
-.IPs "PREVIOUS É NEXT"
-ðÅÒÅÍÏÔÁÔØ ÎÁÚÁÄ/\:×ÐÅÒÅÄ ÎÁ 1 ÍÉÎÕÔÕ.
-.RE
-.PD 1
-.PP
-.RS
-(óÌÅÄÕÀÝÉÅ ËÌÁ×ÉÛÉ ÒÁÂÏÔÁÀÔ ÔÏÌØËÏ ÅÓÌÉ MPlayer ÓÏÂÒÁÎ Ó ÐÏÄÄÅÒÖËÏÊ GUI É ÉÍÅÀÔ
-ÐÒÅÉÍÕÝÅÓÔ×Ï ÐÅÒÅÄ ÏÐÉÓÁÎÎÙÍÉ ×ÙÛÅ ËÌÁ×ÉÛÁÍÉ.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs ENTER
-îÁÞÁÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ.
-.IPs "ESC\ \ "
-ïÓÔÁÎÏ×ÉÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ.
-.IPs "l\ \ \ \ "
-ïÔËÒÙÔØ ÆÁÊÌ.
-.IPs "t\ \ \ \ "
-ïÔËÒÙÔØ ÓÕÂÔÉÔÒÙ.
-.IPs "c\ \ \ \ "
-ïÔËÒÙÔØ ÂÒÁÕÚÅÒ ÓËÉÎÏ×.
-.IPs "p\ \ \ \ "
-ïÔËÒÙÔØ ÓÐÉÓÏË ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-.IPs "r\ \ \ \ "
-ïÔËÒÙÔØ ÎÁÓÔÒÏÊËÉ.
-.RE
-.PD 1
-.PP
-.RS
-(óÌÅÄÕÀÝÉÅ ËÏÍÂÉÎÁÃÉÉ ËÌÁ×ÉÛ ÒÁÂÏÔÁÀÔ, ÅÓÌÉ MPlayer ÓÏÂÒÁÎ Ó ÐÏÄÄÅÒÖËÏÊ TV É ÉÍÅÀÔ
-ÐÒÅÉÍÕÝÅÓÔ×Ï ÐÅÒÅÄ ÏÐÉÓÁÎÎÙÍÉ ×ÙÛÅ ËÌÁ×ÉÛÁÍÉ.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "h É k"
-÷ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÉÊ/\:ÓÌÅÄÕÀÝÉÊ ËÁÎÁÌ.
-.IPs "n\ \ \ \ "
-÷ÙÂÒÁÔØ ÓÔÁÎÄÁÒÔ ×ÅÝÁÎÉÑ.
-.IPs "u\ \ \ \ "
-÷ÙÂÒÁÔØ ÔÁÂÌÉÃÕ ËÁÎÁÌÏ×.
-.RE
-.PD 1
-.
-(óÌÅÄÕÀÝÉÅ ËÏÍÂÉÎÁÃÉÉ ËÌÁ×ÉÛ ÒÁÂÏÔÁÀÔ, ÅÓÌÉ ÐÒÉ ËÏÍÐÉÌÑÃÉÉ ÂÙÌÁ ×ËÌÀÞÅÎÁ
-ÐÏÄÄÅÒÖËÁ ÔÅÌÅÔÅËÓÔÁ: ÏÎÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ TV ÔÅÌÅÔÅËÓÔÏÍ.)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X\ \ \ \ "
-÷ËÌÀÞÉÔØ/\:×ÙËÌÀÞÉÔØ ÔÅÌÅÔÅËÓÔ.
-.IPs "Q É W"
-ðÅÒÅÊÔÉ ÎÁ ÓÌÅÄÕÀÝÕÀ/\:ÐÒÅÄÙÄÕÝÕÀ ÓÔÒÁÎÉÃÕ ÔÅÌÅÔÅËÓÔÁ.
-.RE
-.PD 1
-.PP
-.RS
-.
-.TP
-.B ÕÐÒÁ×ÌÅÎÉÅ ÍÙÛØÀ
-.PD 0
-.RS
-.IPs "button 3 É button 4"
-ðÅÒÅÍÏÔËÁ ÎÁÚÁÄ/\:×ÐÅÒÅÄ ÎÁ 1 ÍÉÎÕÔÕ.
-.IPs "button 5 É button 6"
-õÍÅÎØÛÁÅÔ/\:Õ×ÅÌÉÞÉ×ÁÅÔ ÇÒÏÍËÏÓÔØ.
-.RE
-.PD 1
-.
-.TP
-.B ÕÐÒÁ×ÌÅÎÉÅ ÄÖÏÊÓÔÉËÏÍ
-.PD 0
-.RS
-.IPs "×ÌÅ×Ï É ×ÐÒÁ×Ï"
-ðÅÒÅÍÏÔËÁ ÎÁÚÁÄ/\:×ÐÅÒÅÄ ÎÁ 10 ÓÅËÕÎÄ.
-.IPs "up É down"
-ðÅÒÅÍÏÔËÁ ÎÁÚÁÄ/\:×ÐÅÒÅÄ ÎÁ 1 ÍÉÎÕÔÕ.
-.IPs "button 1"
-ðÁÕÚÁ
-.IPs "button 2"
-ðÅÒÅËÌÀÞÁÅÔ ÒÅÖÉÍÙ OSD: ÓËÒÙÔÏ / ÐÏÌÏÖÅÎÉÅ / ÐÏÌÏÖÅÎÉÅ + ×ÒÅÍÑ / ÐÏÌÏÖÅÎÉÅ + ×ÒÅÍÑ + ÏÂÝÅÅ ×ÒÅÍÑ.
-.IPs "button 3 É button 4"
-õÍÅÎØÛÉÔØ/\:Õ×ÅÌÉÞÉÔØ ÇÒÏÍËÏÓÔØ.
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" éÓÐÏÌØÚÏ×ÁÎÉÅ
-.\" --------------------------------------------------------------------------
-.
-.SH "éóðïìøúï÷áîéå"
-ëÁÖÄÁÑ ÏÐÃÉÑ 'flag' ÉÍÅÅÔ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÕÀ ÐÏ ÓÍÙÓÌÕ ÏÐÃÉÀ 'noflag', ÎÁÐÒÉÍÅÒ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÙÅ
-ÐÏ ÓÍÙÓÌÕ ÏÐÃÉÉ \-fs É \-nofs.
-.PP
-åÓÌÉ ÏÐÃÉÉ ÐÏÍÅÞÅÎÁ ËÁË (ÔÏÌØËÏ XXX), ÔÏ ÏÎÁ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ ÔÏÌØËÏ × ËÏÍÂÉÎÁÃÉÉ Ó ÏÐÃÉÅÊ XXX,
-ÅÓÌÉ ×ËÌÀÞÅÎÁ ÐÏÄÄÅÒÖËÁ ÏÐÃÉÉ XXX.
-.PP
-.I úáíåþáîéå:
-òÁÚÂÏÒÝÉË ÐÏÄÏÐÃÉÊ (ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÁÐÒÉÍÅÒ, ÄÌÑ \-ao pcm ÐÏÄÏÐÃÉÊ) ÐÏÄÄÅÒÖÉ×ÁÅÔ
-ÓÐÅÃÉÁÌØÎÕÀ ÆÏÒÍÙ ×ÙÄÅÌÅÎÉÑ ÓÔÒÏË ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÏ ÓÔÏÒÏÎÎÉÍÉ GUI.
-.br
-ïÎÁ ÉÍÅÅÔ ÓÌÅÄÕÀÝÉÊ ÆÏÒÍÁÔ:
-.br
-%n%ÓÔÒÏËÁ_ÄÌÉÎÙ_n
-.br
-.I ðòéíåòù:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-éÌÉ × ÐÒÏÇÒÁÍÍÅ:
-.br
-mplayer \-ao pcm:file=%`expr length "$NAME"`%"$NAME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" æÁÊÌÙ ËÏÎÆÉÇÕÒÁÃÉÉ
-.\" --------------------------------------------------------------------------
-.
-.SH "æáêìù ëïîæéçõòáãéé"
-÷Ù ÍÏÖÅÔÅ ÐÏÍÅÓÔÉÔØ ×ÓÅ ÏÐÃÉÉ × ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ, ËÏÔÏÒÙÅ MPlayer/\:MEncoder
-ÂÕÄÅÔ ÓÞÉÔÙ×ÁÔØ ÐÒÉ ËÁÖÄÏÍ ÚÁÐÕÓËÅ.
-óÉÓÔÅÍÎÙÊ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ 'mplayer.conf' ÎÁÈÏÄÉÔÓÑ × ÓÉÓÔÅÍÎÏÍ ËÁÔÁÌÏÇÅ ËÏÎÆÉÇÕÒÁÃÉÉ
-(ÎÁÐÒÉÍÅÒ /etc/\:mplayer ÉÌÉ /usr/\:local/\:etc/\:mplayer), ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ \- ÜÔÏ
- '~/\:.mplayer/\:config'.
-ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÄÌÑ MEncoder ÎÁÚÙ×ÁÅÔÓÑ 'mencoder.conf' É ÎÁÈÏÄÉÔÓÑ × ÓÉÓÔÅÍÎÏÍ ËÁÔÁÌÏÇÅ
-(ÎÁÐÒÉÍÅÒ /etc/\:mplayer ÉÌÉ /usr/\:local/\:etc/\:mplayer), ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ \-
- '~/\:.mplayer/\:mencoder.conf'.
-ïÐÃÉÉ × ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÍ ÆÁÊÌÅ ÐÅÒÅËÒÙ×ÁÀÔ ÓÉÓÔÅÍÎÙÅ, Á ÏÐÃÉÉ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ ÐÅÒÅËÒÙ×ÁÀÔ
-ÚÁÄÁÎÎÙÅ × ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÆÁÊÌÁÈ.
-óÉÎÔÁËÓÉÓ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ: 'option=<ÚÎÁÞÅÎÉÅ>', ×ÓÅ ÓÉÍ×ÏÌÙ ÐÏÓÌÅ '#' ÓÞÉÔÁÀÔÓÑ
-ËÏÍÍÅÎÔÁÒÉÅÍ.
-ïÐÃÉÉ, ÎÅ ÉÍÅÀÝÉÅ ÚÎÁÞÅÎÉÊ, ÍÏÇÕÔ ÂÙÔØ ×ËÌÀÞÅÎÙ ÐÒÉÓ×ÁÉ×ÁÎÉÅÍ ÉÍ ÚÎÁÞÅÎÉÑ 'yes','1' ÉÌÉ 'true' É
-×ÙËÌÀÞÅÎÙ ÐÒÉÓ×ÁÉ×ÁÎÉÅÍ 'no','0' ÉÌÉ 'false'.
-ðÏÄÏÐÃÉÉ ÔÁËÖÅ ÍÏÇÕÔ ÂÙÔØ ÚÁÄÁÎÙ ÜÔÉÍ ÓÐÏÓÏÂÏÍ.
-.PP
-÷Ù ÍÏÖÅÔÅ ÚÁÄÁ×ÁÔØ ÏÐÃÉÉ ÉÎÄÉ×ÉÄÕÁÌØÎÏ ÄÌÑ ËÁÖÄÏÇÏ ÆÁÊÌÁ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÉÍÅÔØ ÆÁÊÌ
-ËÏÎÆÉÇÕÒÁÃÉÉ ÄÌÑ 'movie.avi', ÓÏÚÄÁÊÔÅ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ Ó ÉÍÅÎÅÍ 'movie.avi.conf'
-É ÐÏÍÅÓÔÉÔÅ ÅÇÏ × ~/.mplayer/. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÐÏÍÅÓÔÉÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ × ËÁÔÁÌÏÇ Ó
-ÐÒÏÉÇÒÙ×ÁÅÍÙÍ ÆÁÊÌÏÍ, ÐÒÉ ÕÓÌÏ×ÉÉ ÞÔÏ ÕËÁÚÁÌÉ ÏÐÃÉÀ \-use\-filedir\-conf (ÌÉÂÏ ×
-ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ, ÌÉÂÏ × ÇÌÏÂÁÌØÎÏÍ ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ.
-.PP
-.I ðòéíåò ëïîæéçõòáãéïîîïçï æáêìá MPLAYER:
-.sp 1
-.nf
-# Use Matrox driver by default.
-vo=xmga
-# I love practicing handstands while watching videos.
-flip=yes
-# Decode/encode multiple files from PNG,
-# start with mf://filemask
-mf=type=png:fps=25
-# Eerie negative images are cool.
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I "ðòéíåò ëïîæéçõòáãéïîîïçï æáêìá MENCODER:"
-.sp 1
-.nf
-# Make MEncoder output to a default filename.
-o=encoded.avi
-# The next 4 lines allow mencoder tv:// to start capturing immediately.
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# more complex default encoding option set
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont\-autoscale=3
-subfont\-osd\-scale=6
-subfont\-text\-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" ðÒÏÆÉÌÉ
-.\" --------------------------------------------------------------------------
-.
-.SH "ðòïæéìé"
-äÌÑ ÏÂÌÅÇÞÅÎÉÑ ÒÁÂÏÔÙ Ó ÒÁÚÌÉÞÎÙÍÉ ËÏÎÆÉÇÕÒÁÃÉÑÍÉ × ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÍ ÆÁÊÌÅ ÍÏÇÕÔ ÂÙÔØ
-ÕËÁÚÁÎÙ ÎÅÓËÏÌØËÏ ÐÒÏÆÉÌÅÊ.
-ðÒÏÆÉÌØ ÎÁÞÉÎÁÅÔÓÑ Ó ÉÍÅÎÉ, ÚÁËÌÀÞÅÎÎÏÇÏ × Ë×ÁÄÒÁÔÎÙÅ ÓËÏÂËÉ, ÎÁÐÒÉÍÅÒ '[my\-profile]'.
-÷ÓÅ ÐÏÓÌÅÄÕÀÝÉÅ ÏÐÃÉÉ ÂÕÄÕÔ ÓÞÉÔÁÔØÓÑ ÞÁÓÔØÀ ÐÒÏÆÉÌÑ.
-ïÐÉÓÁÎÉÅ (ÏÔÏÂÒÁÖÁÅÍÏÅ ÐÒÉ ÐÏÍÏÝÉ \-profile help) ÍÏÖÅÔ ÂÙÔØ ÚÁÄÁÎÏ ÏÐÃÉÅÊ profile\-desc.
-äÌÑ ÏËÏÎÞÁÎÉÑ ÐÒÏÆÉÌÑ ÕËÁÖÉÔÅ ÉÍÑ ÄÒÕÇÏÇÏ ÐÒÏÆÉÌÑ ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ ÉÍÑ ÐÒÏÆÉÌÑ 'default',
-ÞÔÏÂÙ ÐÒÏÄÏÌÖÉÔØ ÏÐÉÓÁÎÉÅ ÏÂÙÞÎÙÈ ÏÐÃÉÊ.
-.fi
-.PP
-.I "ðòéíåò ðòïæéìñ MPLAYER:"
-.sp 1
-.nf
-
-[protocol.dvd]
-profile\-desc="ÐÒÏÆÉÌØ ÄÌÑ dvd:// ÐÏÔÏËÏ×"
-vf=pp=hb/vb/dr/al/fd
-alang=en
-
-[protocol.dvdnav]
-profile\-desc="ÐÒÏÆÉÌØ ÄÌÑ dvdnav:// ÐÏÔÏËÏ×"
-profile=protocol.dvd
-mouse\-movements=yes
-nocache=yes
-
-[extension.flv]
-profile\-desc="ÐÒÏÆÉÌØ ÄÌÑ .flv ÆÁÊÌÏ×"
-flip=yes
-
-[vo.pnm]
-outdir=/tmp
-
-[ao.alsa]
-device=spdif
-.fi
-.PP
-.I "ðòéíåò ðòïæéìñ MENCODER:"
-.sp 1
-.nf
-
-[mpeg4]
-profile\-desc="ËÏÄÉÒÏ×ÁÎÉÅ MPEG4"
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile\-desc="ËÏÄÉÒÏ×ÁÎÉÅ HQ MPEG4"
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" ïÐÃÉÉ
-.\" --------------------------------------------------------------------------
-.
-.SH "ïóîï÷îùå ïðãéé"
-.
-.TP
-.B \-codecs\-file <ÉÍÑ ÆÁÊÌÁ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-afm, \-ac, \-vfm, \-vc)
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÓÔÁÎÄÁÒÔÎÙÊ ÐÕÔØ ÐÏÉÓËÁ É ÐÒÅÄÐÉÓÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÊ ÆÁÊÌ
-×ÍÅÓÔÏ ×ÓÔÒÏÅÎÎÏÇÏ codecs.conf.
-.
-.TP
-.B \-include <ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ>
-õËÁÚÙ×ÁÅÔ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ, ËÏÔÏÒÙÊ ÂÕÄÅÔ ÐÒÏÞÉÔÁÎ ÐÏÓÌÅ ÁÎÁÌÉÚÁ ÆÁÊÌÁ, ÉÓÐÏÌØÚÕÅÍÏÇÏ
-ÐÏ ÕÍÏÌÞÁÎÉÀ.
-.
-.TP
-.B \-list\-options
-ðÅÞÁÔÁÅÔ ×ÓÅ ÄÏÓÔÕÐÎÙÅ ÏÐÃÉÉ.
-.
-.TP
-.B \-msgcharset <ËÏÄÉÒÏ×ËÁ>
-ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÓÏÏÂÝÅÎÉÊ ËÏÎÓÏÌÉ × ÕËÁÚÁÎÎÕÀ ËÏÄÉÒÏ×ËÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ).
-ôÅËÓÔ ÂÕÄÅÔ × ËÏÄÉÒÏ×ËÅ, ÚÁÄÁÎÎÏÊ \-\-charset ÏÐÃÉÅÊ configure.
-õÓÔÁÎÏ×ÉÔÅ ÅÅ × "noconv" ÄÌÑ ÏÔËÌÀÞÅÎÉÑ ÐÅÒÅËÏÄÉÒÏ×ËÉ (ÎÁÐÒÉÍÅÒ ÐÒÉ ÐÒÏÂÌÅÍÅ Ó iconv).
-.br
-.I úáíåþáîéå:
-ïÐÃÉÑ ×ÓÔÕÐÁÅÔ × ÓÉÌÕ ÐÏÓÌÅ ÏËÏÎÞÁÎÉÑ ÁÎÁÌÉÚÁ ÏÐÃÉÊ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.
-ðÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ MPLAYER_CHARSET ÍÏÖÅÔ ÐÏÍÏÞØ ÅÓÌÉ ×Ù×ÏÄÉÔÓÑ ÍÕÓÏÒ × ÐÅÒ×ÙÈ ÓÔÒÏËÁÈ.
-.
-.TP
-.B \-msgcolor
-÷ËÌÀÞÁÅÔ Ã×ÅÔÎÏÊ ËÏÎÓÏÌØÎÙÊ ×Ù×ÏÄ ÎÁ ÔÅÒÍÉÎÁÌÁÈ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ
-Ã×ÅÔÁ ANSI.
-.
-.TP
-.B \-msglevel <all=<ÕÒÏ×ÅÎØ>:<ÍÏÄÕÌØ>=<ÕÒÏ×ÅÎØ>:...>
-õÐÒÁ×ÌÑÅÔ ÐÏÄÒÏÂÎÏÓÔØ ×Ù×ÏÄÁ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÄÌÑ ËÁÖÄÏÇÏ ÍÏÄÕÌÑ.
-úÎÁÞÅÎÉÅ, ÕËÁÚÁÎÎÏÅ ÄÌÑ ÍÏÄÕÌÑ 'all', ÉÚÍÅÎÑÅÔ ÐÏÄÒÏÂÎÏÓÔØ ×Ù×ÏÄÁ ÄÌÑ ×ÓÅÈ ÍÏÄÕÌÅÊ, ËÏÔÏÒÙÍ
-ÐÁÒÁÍÅÔÒ ÎÅ ÚÁÄÁÎ Ñ×ÎÏ.
-óÍÏÔÒÉÔÅ '\-msglevel help' ÄÌÑ ÓÐÉÓËÁ ÍÏÄÕÌÅÊ.
-.br
-.I úáíåþáîéå:
-îÅËÏÔÏÒÙÅ ÓÏÏÂÝÅÎÉÑ ÐÅÞÁÔÁÀÔÓÑ ÅÝÅ ÄÏ ÔÏÇÏ, ËÁË ÂÕÄÅÔ ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÎÁ ËÏÍÁÎÄÎÁÑ
-ÓÔÒÏËÁ, É, ÐÏÜÔÏÍÕ, ÏÐÃÉÑ \-msglevel ÎÁ ÎÉÈ ÎÅ ×ÌÉÑÅÔ.
-äÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×Ù×ÏÄÏÍ ÜÔÉÈ ÓÏÏÂÝÅÎÉÊ ×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÅÒÅÍÅÎÎÕÀ
-ÏËÒÕÖÅÎÉÑ MPLAYER_VERBOSE, ÐÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ ÎÉÖÅ × ÅÅ ÏÐÉÓÁÎÉÉ.
-.br
-äÏÓÔÕÐÎÙÅ ÕÒÏ×ÎÉ:
-.PD 0
-.RSs
-.IPs "\-1"
-ÏÔÓÕÔÓÔ×ÉÅ ÓÏÏÂÝÅÎÉÊ
-.IPs " 0"
-ÔÏÌØËÏ ÆÁÔÁÌØÎÙÅ ÏÛÉÂËÉ
-.IPs " 1"
-ÏÛÉÂËÉ
-.IPs " 2"
-ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ
-.IPs " 3"
-ËÏÒÏÔËÉÅ ÐÏÄÓËÁÚËÉ
-.IPs " 4"
-ÉÎÆÏÒÍÁÃÉÏÎÎÙÅ ÓÏÏÂÝÅÎÉÑ
-.IPs " 5"
-ÓÔÁÔÕÓÎÙÅ ÓÏÏÂÝÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs " 6"
-ÐÏÄÒÏÂÎÙÅ ÓÏÏÂÝÅÎÉÑ
-.IPs " 7"
-ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ 2
-.IPs " 8"
-ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ 3
-.IPs " 9"
-ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ 4
-.RE
-.PD 1
-.
-.TP
-.B \-msgmodule
-äÏÂÁ×ÌÑÅÔ ÉÍÑ ÍÏÄÕÌÑ ÐÅÒÅÄ ËÁÖÄÙÍ ËÏÎÓÏÌØÎÙÍ ÓÏÏÂÝÅÎÉÅÍ.
-.
-.TP
-.B \-noconfig <ÏÐÃÉÉ>
-îÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÅ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ.
-.br
-.I úáíåþáîéå:
-åÓÌÉ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ ÚÁÄÁÎÙ ÐÁÒÁÍÅÔÒÙ \-include ÉÌÉ
-\-use\-filedir\-conf, ÏÎÉ ÂÕÄÕÔ ÕÞÔÅÎÙ.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.PD 0
-.RSs
-.IPs "all\ \ "
-×ÓÅ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ
-.IPs "gui (ÔÏÌØËÏ GUI)"
-ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ GUI
-.IPs system
-ÓÉÓÔÅÍÎÙÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ
-.IPs "user\ "
-ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet\ "
-äÅÌÁÅÔ ËÏÎÓÏÌØÎÙÊ ×Ù×ÏÄ ÍÅÎÅÅ ÐÏÄÒÏÂÎÙÍ; × ÞÁÓÔÎÏÓÔÉ, ÐÒÑÞÅÔ ÓÔÁÔÕÓÎÕÀ ÓÔÒÏËÕ
-Ô.Å.\& A: 0.7 V: 0.6 A\-V: 0.068 ...).
-íÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÏ ÎÁ ÍÅÄÌÅÎÎÙÈ ÉÌÉ ÎÅÐÏÌÎÏÃÅÎÎÙÈ ÔÅÒÍÉÎÁÌÁÈ, ËÏÔÏÒÙÅ ÎÅËÏÒÒÅËÔÎÏ ÏÂÒÁÂÁÔÙ×ÁÀÔ
-×ÏÚ×ÒÁÔ ËÁÒÅÔËÉ (Ô.Å.\& \\r).
-.
-.TP
-.B \-priority <prio> (ÔÏÌØËÏ Windows É OS/2)
-õÓÔÁÎÏ×ÉÔØ ÐÒÉÏÒÉÔÅÔ ÐÒÏÃÅÓÓÁ MPlayer × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó
-ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÍÉ ÐÒÉÏÒÉÔÅÔÁÍÉ, ÄÏÓÔÕÐÎÙÍÉ ÐÏÄ Windows É OS/2.
-äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ <prio>:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I ÷îéíáîéå:
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÉÏÒÉÔÅÔÁ realtime ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÚÁ×ÉÓÁÎÉÀ ÓÉÓÔÅÍÙ.
-.RE
-.
-.TP
-.B \-profile <ÐÒÏÆÉÌØ1,ÐÒÏÆÉÌØ2,...>
-ðÒÅÄÐÉÓÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÊ ÐÒÏÆÉÌØ(É), \-profile help ÏÔÏÂÒÁÖÁÅÔ ÓÐÉÓÏË ÏÐÒÅÄÅÌÅÎÎÙÈ
-ÐÒÏÆÉÌÅÊ.
-.
-.TP
-.B \-really\-quiet (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-quiet)
-õËÁÚÙ×ÁÅÔ ÏÔÏÂÒÁÖÁÔØ ÅÝÅ ÍÅÎØÛÅ ÓÏÏÂÝÅÎÉÊ, ÞÅÍ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ \-quiet.
-ôÁËÖÅ ÐÏÄÁ×ÌÑÅÔ ×Ù×ÏÄ GUI ÏËÏÎ Ó ÓÏÏÂÝÅÎÉÑÍÉ Ï ÏÛÉÂËÁÈ.
-.
-.TP
-.B \-show\-profile <ÐÒÏÆÉÌØ>
-ïÔÏÂÒÁÖÁÅÔ ÏÐÉÓÁÎÉÅ É ÓÏÄÅÒÖÉÍÏÅ ÐÒÏÆÉÌÑ.
-.
-.TP
-.B \-use\-filedir\-conf
-éÝÅÔ ÉÎÄÉ×ÉÄÕÁÌØÎÙÊ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÆÉÌØÍÁ × ËÁÔÁÌÏÇÅ ÉÚ ËÏÔÏÒÏÇÏ
-ÆÉÌØÍ ÐÒÏÉÇÒÙ×ÁÅÔÓÑ.
-.br
-.I ÷îéíáîéå:
-üÔÏ ÍÏÖÅÔ ÂÙÔØ ÏÐÁÓÎÏ ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ ÉÚ ÉÓÔÏÞÎÉËÏ×, ËÏÔÏÒÙÍ ×Ù ÎÅ ÄÏ×ÅÒÑÅÔÅ.
-.
-.TP
-.B "\-v\ \ \ \ \ "
-õ×ÅÌÉÞÉ×ÁÅÔ ÐÏÄÒÏÂÎÏÓÔØ ×Ù×ÏÄÁ ÎÁ ÏÄÉÎ ÕÒÏ×ÅÎØ ÄÌÑ ËÁÖÄÏÊ ÕËÁÚÁÎÎÏÊ \-v × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ.
-.
-.
-.
-.SH "ïðãéé ðòïéçòù÷áôåìñ (ôïìøëï MPLAYER)"
-.
-.TP
-.B \-autoq <ËÁÞÅÓÔ×Ï> (ÉÓÐÏÌØÚÕÊÔÅ Ó \-vf [s]pp)
-äÉÎÁÍÉÞÅÓËÉ ÍÅÎÑÅÔ ÕÒÏ×ÅÎØ ÐÏÓÔÏÂÒÁÂÏÔËÉ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÚÁÇÒÕÖÅÎÎÏÓÔÉ CPU.
-þÉÓÌÏ, ÕËÁÚÁÎÎÏÅ ×ÁÍÉ, ÂÕÄÅÔ ÍÁËÓÉÍÁÌØÎÙÍ ÉÓÐÏÌØÚÕÅÍÙÍ ÕÒÏ×ÎÅÍ.
-ïÂÙÞÎÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅËÏÔÏÒÏÅ ÂÏÌØÛÏÅ ÞÉÓÌÏ.
-÷Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ \-vf [s]pp ÂÅÚ ÐÁÒÁÍÅÔÒÏ×, ÞÔÏÂÙ ÜÔÏ ÒÁÂÏÔÁÌÏ.
-.
-.TP
-.B \-autosync <factor>
-ðÏÓÔÅÐÅÎÎÏ ÐÏÄÓÔÒÁÉ×ÁÅÔ A/V ÓÉÎÈÒÏÎÉÚÁÃÉÀ ÎÁ ÏÓÎÏ×Å ÉÚÍÅÒÅÎÉÊ ÚÁÄÅÒÖËÉ ÁÕÄÉÏ.
-õËÁÚÁÎÉÅ \-autosync 0 (ÐÏ ÕÍÏÌÞÁÎÉÀ) ÕËÁÚÙ×ÁÅÔ, ÞÔÏ ÔÁÊÍÉÎÇ ËÁÄÒÏ× ÂÕÄÅÔ ÏÓÎÏ×Ù×ÁÔØÓÑ
-ÉÓËÌÀÞÉÔÅÌØÎÏ ÎÁ ÉÚÍÅÒÅÎÉÑÈ ÚÁÄÅÒÖËÉ ÁÕÄÉÏ.
-õËÁÚÁÎÉÅ \-autosync 1 ÄÅÌÁÅÔ ÔÏ ÖÅ ÓÁÍÏÅ, ÎÏ ×ÎÕÔÒÅÎÎÅ ÍÅÎÑÅÔ ÁÌÇÏÒÉÔÍ A/V ËÏÒÒÅËÃÉÉ.
-ðÒÉ ÎÅÐÏÓÔÏÑÎÎÏÓÔÉ ÞÁÓÔÏÔÙ ËÁÄÒÏ× × ÆÉÌØÍÅ, ÐÒÅËÒÁÓÎÏ ×ÏÓÐÒÏÉÚ×ÏÄÑÝÅÍÓÑ Ó ÏÐÃÉÅÊ
-\-nosound, ÏÂÙÞÎÏ ÐÏÍÏÇÁÅÔ ÕÓÔÁÎÏ×ËÁ ÜÔÏÊ ÏÐÃÉÉ × ÚÎÁÞÅÎÉÑ ÂÏÌØÛÉÅ 1.
-þÅÍ ×ÙÛÅ ÚÎÁÞÅÎÉÅ, ÔÅÍ ÂÌÉÖÅ Ë \-nosound ÂÕÄÅÔ ÔÁÊÍÉÎÇ.
-ðÏÐÒÏÂÕÊÔÅ \-autosync 30, ÞÔÏÂÙ ÓÍÑÇÞÉÔØ ÐÒÏÂÌÅÍÙ ÓÏ Ú×ÕËÏ×ÙÍÉ ÄÒÁÊ×ÅÒÁÍÉ,
-ËÏÔÏÒÙÅ ÎÅ ÒÅÁÌÉÚÕÀÔ ÈÏÒÏÛÅÇÏ ÉÚÍÅÒÅÎÉÑ ÚÁÄÅÒÖËÉ ÁÕÄÉÏ.
-ó ÜÔÉÍ ÚÎÁÞÅÎÉÅÍ, ÅÓÌÉ ÐÒÏÉÓÈÏÄÉÔ ÂÏÌØÛÏÅ ÒÁÓÈÏÖÄÅÎÉÅ A/V ÓÉÎÈÒÏÎÉÚÁÃÉÉ, ÐÏÔÒÅÂÕÅÔÓÑ
-ÏËÏÌÏ 1 ÉÌÉ 2 ÓÅËÕÎÄ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÐÒÏÂÌÅÍÙ.
-úÁÄÅÒÖËÁ ×Ï ×ÒÅÍÅÎÉ ÒÅÁËÃÉÉ ÎÁ ×ÎÅÚÁÐÎÙÅ ÓÄ×ÉÇÉ A/V ÄÏÌÖÎÁ ÂÙÔØ
-ÅÄÉÎÓÔ×ÅÎÎÙÍ ÐÏÂÏÞÎÙÍ ÜÆÆÅËÔÏÍ ×ËÌÀÞÅÎÉÑ ÜÔÏÊ ÏÐÃÉÉ ÄÌÑ ×ÓÅÈ Ú×ÕËÏ×ÙÈ ÄÒÁÊ×ÅÒÏ×.
-.
-.TP
-.B \-benchmark
-÷Ù×ÏÄÉÔ ÎÅËÏÔÏÒÕÀ ÓÔÁÔÉÓÔÉËÕ Ï ÉÓÐÏÌØÚÏ×ÁÎÉÉ CPU É ÐÒÏÐÕÝÅÎÎÙÈ ËÁÄÒÁÈ ×
-ËÏÎÃÅ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ. éÓÐÏÌØÚÕÊÔÅ × ËÏÍÂÉÎÁÃÉÉ Ó \-nosound É \-vo null ÄÌÑ
-ÉÚÍÅÒÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÉÓËÌÀÞÉÔÅÌØÎÏ ×ÉÄÅÏ ËÏÄÅËÁ.
-.br
-.I úáíåþáîéå:
-ó ÜÔÏÊ ÏÐÃÉÅÊ MPlayer ÂÕÄÅÔ ÉÇÎÏÒÉÒÏ×ÁÔØ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ ËÁÄÒÏ× ÐÒÉ
-ÐÒÏÉÇÒÙ×ÁÎÉÉ ÔÏÌØËÏ ×ÉÄÅÏ (ÍÏÖÅÔÅ ÄÕÍÁÔØ Ï ÜÔÏÍ, ËÁË Ï ÂÅÓËÏÎÅÞÎÏÍ fps).
-.
-.TP
-.B \-colorkey <ÞÉÓÌÏ>
-éÚÍÅÎÑÅÔ colorkey ÎÁ ÕËÁÚÁÎÎÏÅ ×ÁÍÉ RGB ÚÎÁÞÅÎÉÅ.
-0x000000 ÜÔÏ ÞÅÒÎÙÊ, Á 0xffffff \- ÂÅÌÙÊ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ ÄÌÑ cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix,
-xover, xv (ÓÍÏÔÒÉ \-vo xv:ck), xvmc (ÓÍÏÔÒÉ \-vo xv:ck) É directx ÄÒÁÊ×ÅÒÁÍÉ ×Ù×ÏÄÁ.
-.
-.TP
-.B \-nocolorkey
-ïÔËÌÀÞÁÅÔ ÍÅÈÁÎÉÚÍ colorkey.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix,
-xover, xv (ÓÍÏÔÒÉ \-vo xv:ck), xvmc (ÓÍÏÔÒÉ \-vo xv:ck) É directx ÄÒÁÊ×ÅÒÁÍÉ ×Ù×ÏÄÁ.
-.
-.TP
-.B \-correct\-pts (ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏ)
-ðÅÒÅËÌÀÞÁÅÔ MPlayer × ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÒÅÖÉÍ, × ËÏÔÏÒÏÍ ÔÁÊÍÉÎÇ
-×ÉÄÅÏ ËÁÄÒÏ× ÒÁÓÓÞÉÔÙ×ÁÀÔÓÑ ÎÅÚÁ×ÉÓÉÍÏ, É ÔÅÍ ÓÁÍÙÍ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ×ÉÄÅÏ ÆÉÌØÔÒÙ,
-ÄÏÂÁ×ÌÑÀÝÉÅ ÎÏ×ÙÅ ËÁÄÒÙ ÉÌÉ ÍÅÎÑÀÝÉÅ ÔÁÊÍÉÎÇ ÓÕÝÅÓÔ×ÕÀÝÉÈ.
-âÏÌÅÅ ÔÏÞÎÙÊ ÔÁÊÍÉÎÇ ÍÏÖÅÔ ÂÙÔØ ÚÁÍÅÔÅÎ, ÎÁÐÒÉÍÅÒ, ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ Ó ÏÐÃÉÅÊ \-ass
-ÓÕÂÔÉÔÒÏ×, ÐÒÉ×ÑÚÁÎÎÙÈ Ë ÓÍÅÎÅ ÓÃÅÎÙ,
-.\" FIXME is translation correct ?
-.\" Without \-correct\-pts the subtitle timing will typically be off by some frames.
-âÅÚ \-correct\-pts ÔÁÊÍÉÎÇ ÓÕÂÔÉÔÒÏ×, ËÁË ÐÒÁ×ÉÌÏ, ÂÕÄÅÔ ÏÔËÌÀÞÅÎ ÎÅËÏÔÏÒÙÍÉ ËÁÄÒÁÍÉ.
-ó ÎÅËÏÔÏÒÙÍÉ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁÍÉ É ËÏÄÅËÁÍÉ ÜÔÁ ÏÐÃÉÑ ÒÁÂÏÔÁÅÔ ÎÅËÏÒÒÅËÔÎÏ.
-
-.
-.TP
-.B \-crash\-debug (ëïä ïôìáäëé)
-á×ÔÏÍÁÔÉÞÅÓËÉ ÚÁÐÕÓËÁÅÔ gdb × ÓÌÕÞÁÅ ËÒÁÈÁ ÉÌÉ SIGTRAP.
-ðÏÄÄÅÒÖËÁ ÄÏÖÎÁ ÂÙÔØ ÓËÏÍÐÉÌÉÒÏ×ÁÎÁ ÐÒÉ ÐÏÍÏÝÉ ÏÐÃÉÉ \-\-enable\-crash\-debug.
-.
-.TP
-.B \-doubleclick\-time
-÷ÒÅÍÑ × ÍÉÌÌÉÓÅËÕÎÄÁÈ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ Ä×ÕÈ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÈ ÎÁÖÁÔÉÊ ËÎÏÐËÉ ËÁË
-Ä×ÏÊÎÏÇÏ ÝÅÌÞËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 300).
-õÓÔÁÎÏ×ÉÔÅ × 0, ÞÔÏÂÙ ÐÏÚ×ÏÌÉÔØ ×ÁÛÅÊ ÏËÏÎÎÏÊ ÐÏÄÓÉÓÔÅÍÅ ÓÁÍÏÊ ÏÐÒÅÄÅÌÑÔØ, ÞÔÏ Ñ×ÌÑÅÔÓÑ
-Ä×ÏÊÎÙÍ ÝÅÌÞËÏÍ (ÔÏÌØËÏ \-vo directx).
-.br
-.I úáíåþáîéå:
-÷Ù ÐÏÌÕÞÉÔÅ ÒÁÚÌÉÞÎÏÅ ÐÏ×ÅÄÅÎÉÅ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÏÇÏ, ÎÁÚÎÁÞÅÎÏ ÌÉ ÄÅÊÓÔ×ÉÅ
-MOUSE_BTN0_DBL ÉÌÉ MOUSE_BTN0\-MOUSE_BTN0_DBL.
-.
-.TP
-.B \-edlout <ÆÁÊÌ>
-óÏÚÄÁÅÔ ÎÏ×ÙÊ ÆÁÊÌ É ×Ù×ÏÄÉÔ × ÎÅÇÏ ÚÁÐÉÓÉ ÓÐÉÓËÁ ÒÅÛÅÎÉÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ (EDL).
-ðÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ, ÐÏÌØÚÏ×ÁÔÅÌØ ÎÁÖÉÍÁÅÔ 'i', ÞÔÏÂÙ ÏÔÍÅÔÉÔØ ÎÁÞÁÌÏ É ËÏÎÅÃ
-ÐÒÏÐÕÓËÁÅÍÏÇÏ ÂÌÏËÁ. üÔÏ ÓÏÚÄÁÅÔ ÏÓÎÏ×Õ ÄÌÑ ÐÏÓÌÅÄÕÀÝÅÊ ÔÏÎËÏÊ ÎÁÓÔÒÏÊËÉ
-ÜÌÅÍÅÎÔÏ× EDL. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ ÎÁ
-http://www.mplayerhq.hu/\:DOCS/\:HTML/\:ru/\:edl.html.
-.
-.TP
-.B \-enqueue (ÔÏÌØËÏ GUI)
-äÏÂÁ×ÌÑÅÔ ÆÁÊÌÙ, ÕËÁÚÁÎÎÙÅ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ, × ÓÐÉÓÏË ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ×ÍÅÓÔÏ
-ÎÅÍÅÄÌÅÎÎÏÇÏ ÉÈ ÐÒÏÉÇÒÙ×ÁÎÉÑ.
-.
-.TP
-.B \-fixed\-vo
-ðÒÉÎÕÖÄÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÉËÓÉÒÏ×ÁÎÎÕÀ ÓÉÓÔÅÍÕ ×ÉÄÅÏ ÄÌÑ ÍÎÏÇÉÈ ÆÁÊÌÏ×
-(ÏÄÎÁ (ÄÅ)ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÄÌÑ ×ÓÅÈ ÆÁÊÌÏ×).
-ôÁËÉÍ ÏÂÒÁÚÏÍ ÄÌÑ ×ÓÅÈ ÆÁÊÌÏ× ÂÕÄÅÔ ÏÔËÒÙÔÏ ÔÏÌØËÏ ÏÄÎÏ ÏËÎÏ.
-îÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÓÌÅÄÕÀÝÉÅ ÄÒÁÊ×ÅÒÁ ÐÏÄÄÅÒÖÉ×ÁÀÔ fixed\-vo: gl, gl2, mga, svga, x11,
-xmga, xv, xvidix É dfbmga.
-.
-.TP
-.B \-framedrop (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-hardframedrop, ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÅ ÂÅÚ \-nocorrect\-pts)
-õËÁÚÙ×ÁÅÔ ÐÒÏÐÕÓËÁÔØ ÏÔÏÂÒÁÖÅÎÉÅ ÎÅËÏÔÏÒÙÈ ËÁÄÒÏ× ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ A/V ÓÉÎÈÒÏÎÉÚÁÃÉÅÊ ÎÁ
-ÍÅÄÌÅÎÎÙÈ ÓÉÓÔÅÍÁÈ. ÷ÉÄÅÏ ÆÉÌØÔÒÙ ÎÅ ÐÒÉÍÅÎÑÀÔÓÑ ÄÌÑ ÔÁËÉÈ ËÁÄÒÏ×. äÌÑ ÷-ËÁÄÒÏ×
-ÎÅ ×ÙÐÏÌÎÑÅÔÓÑ ÄÁÖÅ ÄÅËÏÄÉÒÏ×ÁÎÉÅ.
-.
-.TP
-.B \-(no)gui
-÷ËÌÀÞÁÅÔ ÉÌÉ ×ÙËÌÀÞÁÅÔ GUI ÉÎÔÅÒÆÅÊÓ (ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÚÁ×ÉÓÉÔ ÏÔ ÉÍÅÎÉ ÉÓÐÏÌÎÑÅÍÏÇÏ
-ÆÁÊÌÁ). òÁÂÏÔÁÅÔ ÔÏÌØËÏ ËÁË ÐÅÒ×ÙÊ ÐÁÒÁÍÅÔÒ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ. îÅ ÒÁÂÏÔÁÅÔ ×
-ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ.
-.
-.TP
-.B \-h, \-help, \-\-help
-ðÏËÁÚÙ×ÁÅÔ ËÒÁÔËÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÏÐÃÉÑÈ.
-.
-.TP
-.B \-hardframedrop (ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÅ ÂÅÚ \-nocorrect\-pts)
-âÏÌÅÅ ÉÎÔÅÎÓÉ×ÎÙÊ ÐÒÏÐÕÓË ËÁÄÒÏ× (ÎÁÒÕÛÁÅÔ ÄÅËÏÄÉÒÏ×ÁÎÉÅ).
-÷ÅÄÅÔ Ë ÉÓËÁÖÅÎÉÀ ÉÚÏÂÒÁÖÅÎÉÑ!
-ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÞÔÏ, ÏÓÏÂÅÎÎÏ, ÄÅËÏÄÅÒ libmpeg2 ÍÏÖÅÔ
-ÒÕÈÎÕÔØ Ó ÄÁÎÎÏÊ ÏÐÃÉÅÊ, ÔÁË ÞÔÏ ÐÏÐÒÏÂÕÊÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ
-"\-vc ffmpeg12,".
-.
-.TP
-.B \-heartbeat\-cmd
-ëÏÍÁÎÄÁ, ËÏÔÏÒÁÑ ×ÙÐÏÌÎÑÅÔÓÑ ËÁÖÄÙÅ 30 ÓÅËÕÎÄ ×Ï ×ÒÅÍÑ
-×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ Ó ÐÏÍÏÝØÀ system(), Ô.Å.\& ÉÓÐÏÌØÚÕÑ ÏÂÏÌÏÞËÕ
-ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.
-.sp 1
-.I úáíåþáîéå:
-MPlayer ÉÓÐÏÌØÚÕÅÔ ÜÔÕ ËÏÍÁÎÄÕ ÂÅÚ ËÁËÉÈ\-ÌÉÂÏ ÐÒÏ×ÅÒÏË, ÐÒÏ×ÅÒËÁ Å£
-ÂÅÚÏÐÁÓÎÏÓÔÉ ÌÅÖÉÔ ÐÏÄ ÷ÁÛÅÊ ÏÔ×ÅÔÓÔ×ÅÎÎÏÓÔØÀ (× ÞÁÓÔÎÏÓÔÉ, ÕÂÅÄÉÔÅÓØ,
-ÞÔÏ ÉÓÐÏÌØÚÕÀÔÓÑ ÐÏÌÎÙÅ ÐÕÔÉ, ÅÓÌÉ "." ÐÒÉÓÕÔÓÔ×ÕÅÔ × ×ÁÛÅÍ ÐÕÔÉ,
-ÎÁÐÒÉÍÅÒ, ËÁË × Windows).
-ëÏÍÁÎÄÁ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ ×ÉÄÅÏ (Ô.Å.\& ÒÁÂÏÔÁÅÔ Ó
-\-vo null, ÎÏ ÎÅ Ó \-novideo).
-.sp 1
-å£ ÍÏÖÎÏ ÐÒÉÍÅÎÑÔØ ÄÌÑ "ÎÅÐÒÁ×ÉÌØÎÏÇÏ" ÏÔËÌÀÞÅÎÉÑ ÈÒÁÎÉÔÅÌÅÊ
-ÜËÒÁÎÁ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÄÏÌÖÎÏÅ X API (ÔÁËÖÅ ÓÍÏÔÒÉÔÅ
-\-stop\-xscreensaver).
-åÓÌÉ ÷Ù ÓÞÉÔÁÅÔÅ ÜÔÏ ÓÌÉÛËÏÍ ÓÌÏÖÎÙÍ, ÐÏÐÒÏÓÉÔÅ Á×ÔÏÒÁ ÈÒÁÎÉÔÅÌÑ
-ÜËÒÁÎÁ ÄÏÂÁ×ÉÔØ ÐÏÄÄÅÒÖËÕ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ X API.
-.sp 1
-.I ðòéíåò ÄÌÑ xscreensaver:
-mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
-.sp 1
-.I ðòéíåò ÄÌÑ GNOME screensaver:
-mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
-.RE
-.PD 1
-.
-.TP
-.B \-identify
-ëÒÁÔËÁÑ ÆÏÒÍÁ ÄÌÑ \-msglevel identify=4
-ðÏËÁÚÙ×ÁÅÔ ÐÁÒÁÍÅÔÒÙ ÆÁÊÌÏ× × ÕÄÏÂÎÏÍ ÄÌÑ ÁÎÁÌÉÚÁ ÆÏÒÍÁÔÅ.
-ôÁËÖÅ ÐÅÞÁÔÁÅÔ ÂÏÌÅÅ ÐÏÄÒÏÂÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÕÂÔÉÔÒÁÈ, ÑÚÙËÁÈ É ÉÄÅÎÔÉÆÉËÁÔÏÒÁÈ
-ÁÕÄÉÏ ÄÏÒÏÖÅË. ÷ ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ, ÉÓÐÏÌØÚÕÑ
-\-msglevel identify=6.
-äÌÑ DVD, ÎÁÐÒÉÍÅÒ, ÜÔÏ ÏÔÏÂÒÁÚÉÔ ÒÁÚÄÅÌÙ É ÄÌÉÎÕ ËÁÖÄÏÇÏ ÚÁÇÏÌÏ×ËÁ,
-Á ÔÁËÖÅ ID ÄÉÓËÁ.
-éÓÐÏÌØÚÕÊÔÅ ÓÏ×ÍÅÓÔÎÏ Ó \-frames 0 ÄÌÑ ÐÏÄÁ×ÌÅÎÉÑ ×ÓÅÇÏ ×Ù×ÏÄÁ.
-óËÒÉÐÔ TOOLS/\:midentify.sh ÐÏÄÁ×ÌÑÅÔ ÏÓÔÁÌØÎÏÊ ×Ù×ÏÄ MPlayer É (ÕÓÐÅÛÎÏ) ÜËÒÁÎÉÒÕÅÔ
-ÉÍÅÎÁ ÆÁÊÌÏ×.
-.
-.TP
-.B \-idle (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-slave)
-åÓÌÉ ÎÅ ÏÓÔÁÌÏÓØ ÂÏÌØÛÅ ÆÁÊÌÏ× ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ, MPlayer ÂÕÄÅÔ ÖÄÁÔØ ×ÍÅÓÔÏ
-ÚÁ×ÅÒÛÅÎÉÑ ÒÁÂÏÔÙ. ÷ÅÓØÍÁ ÐÏÌÅÚÎÏ ÐÒÉ ÚÁÐÕÓËÅ × ÐÏÄÞÉÎÅÎÎÏÍ ÒÅÖÉÍÅ, ËÏÇÄÁ MPlayer
-ÕÐÒÁ×ÌÑÅÔÓÑ ÞÅÒÅÚ ËÏÍÁÎÄÙ.
-.
-.TP
-.B \-input <ËÏÍÁÎÄÙ>
-üÔÁ ÏÐÃÉÑ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÎÁÓÔÒÏÊËÉ ÎÅËÏÔÏÒÙÈ ÐÁÒÁÍÅÔÒÏ× ÓÉÓÔÅÍÙ ××ÏÄÁ.
-ðÕÔÉ ÕËÁÚÙ×ÁÀÔÓÑ ÏÔÎÏÓÉÔÅÌØÎÏ Ë ~/.mplayer/.
-.br
-.I úáíåþáîéå:
-á×ÔÏÐÏ×ÔÏÒ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ ÄÌÑ ÄÖÏÊÓÔÉËÏ×.
-.sp 1
-äÏÓÔÕÐÎÙÅ ËÏÍÁÎÄÙ:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<ÉÍÑ_ÆÁÊÌÁ>
-õËÁÚÙ×ÁÅÔ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÉÓÔÅÍÙ ××ÏÄÁ, ÏÔÌÉÞÎÙÊ ÏÔ ÕÓÔÁÎÏ×ÌÅÎÎÏÇÏ ÐÏ ÕÍÏÌÞÁÎÉÀ
-~/\:.mplayer/\:input.conf.
-~/\:.mplayer/\:<ÉÍÑ_ÆÁÊÌÁ> ÐÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ, ÅÓÌÉ ÎÅ ÕËÁÚÁÎ ÐÏÌÎÙÊ ÐÕÔØ.
-.IPs ar\-dev=<ÕÓÔÒÏÊÓÔ×Ï>
-õÓÔÒÏÊÓÔ×Ï ÄÌÑ éë ÐÕÌØÔÁ Apple (ÐÏ ÕÍÏÌÞÁÎÉÀ Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ,
-ÔÏÌØËÏ × Linux).
-.IPs ar\-delay
-úÁÄÅÒÖËÁ × ÍÉÌÌÉÓÅËÕÎÄÁÈ ÐÅÒÅÄ ÎÁÞÁÌÏÍ Á×ÔÏÐÏ×ÔÏÒÁ (0 ÄÌÑ ÏÔËÌÀÞÅÎÉÑ).
-.IPs ar\-rate
-ëÏÌÉÞÅÓÔ×Ï ËÌÁ×ÉÛ × ÓÅËÕÎÄÕ, ÇÅÎÅÒÉÒÕÅÍÙÈ ÐÒÉ Á×ÔÏÐÏ×ÔÏÒÅ.
-.IPs (no)default-bindings
-éÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ×ÑÚËÉ ËÌÁ×ÉÛ, ÐÏÓÔÁ×ÌÑÅÍÙÅ Ó MPlayer ÐÏ ÕÍÏÌÞÁÎÉÀ.
-.IPs keylist
-÷Ù×ÏÄÉÔ ×ÓÅ ËÌÁ×ÉÛÉ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÎÁÚÎÁÞÉÔØ ËÏÍÁÎÄÁÍ.
-.IPs cmdlist
-×Ù×ÏÄÉÔ ×ÓÅ ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÎÁÚÎÁÞÉÔØ ËÌÁ×ÉÛÁÍ.
-.IPs js\-dev
-õËÁÚÙ×ÁÅÔ ËÁËÏÅ ÕÓÔÒÏÊÓÔ×Ï ÉÓÐÏÌØÚÏ×ÁÔØ × ËÁÞÅÓÔ×Å ÄÖÏÊÓÔÉËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:input/\:js0).
-.IPs file=<ÉÍÑ_ÆÁÊÌÁ>
-õËÁÚÙ×ÁÅÔ ÞÉÔÁÔØ ËÏÍÁÎÄÙ ÉÚ ÆÁÊÌÁ. éÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÒÁÂÏÔÙ Ó FIFO.
-.br
-.I úáíåþáîéå:
-åÓÌÉ ÕËÁÚÁÎÎÙÊ ÆÁÊÌ Ñ×ÌÑÅÔÓÑ FIFO, MPlayer ÏÔËÒÙ×ÁÅÔ ÏÂÅ ÓÔÏÒÏÎÙ, ÐÏÚ×ÏÌÑÑ ×ÁÍ
-×ÙÐÏÌÎÉÔØ ÎÅÓËÏÌØËÏ 'echo "seek 10" > mp_pipe', ÏÓÔÁ×ÌÑÑ ËÁÎÁÌ ÒÁÂÏÞÉÍ.
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-õËÁÚÙ×ÁÅÔ ÒÁÚÍÅÒ FIFO, ÂÕÆÅÒÉÚÕÀÝÅÊ ÓÏÂÙÔÉÑ ËÌÁ×ÉÁÔÕÒÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 7).
-FIFO ÒÁÚÍÅÒÁ n ÍÏÖÅÔ ÂÕÆÅÒÉÚÏ×ÁÔØ (n\-1) ÓÏÂÙÔÉÅ.
-åÓÌÉ ÜÔÏ ÚÎÁÞÅÎÉÅ ÍÁÌÏ, ÎÅËÏÔÏÒÙÅ ÓÏÂÙÔÉÑ ÍÏÇÕÔ ÂÙÔØ ÐÏÔÅÒÑÎÙ
-(ÞÔÏ ÐÒÉ×ÏÄÉÔ Ë "ÚÁÌÉÐÁÎÉÀ ËÎÏÐÏË ÍÙÛÉ" É ÐÏÈÏÖÉÍ ÜÆÆÅËÔÁÍ).
-åÓÌÉ ÏÎÏ ×ÅÌÉËÏ, MPlayer ÍÏÖÅÔ ×ÙÇÌÑÄÅÔØ ÚÁ×ÉÓÛÉÍ ×Ï ×ÒÅÍÑ ÏÂÒÁÂÏÔËÉ ÂÕÆÅÒÉÚÏ×ÁÎÎÙÈ
-ÓÏÂÙÔÉÊ. þÔÏÂÙ ÏÂÅÓÐÅÞÉÔØ ÐÏ×ÅÄÅÎÉÅ ÐÒÏÇÒÁÍÍÙ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÕÓÔÁÎÏ×ÉÔÅ
-ÚÎÁÞÅÎÉÅ × 2 ÄÌÑ Linux ÉÌÉ 1024 ÄÌÑ Windows.
-.
-.TP
-.B \-lircconf <ÉÍÑ_ÆÁÊÌÁ> (ÔÏÌØËÏ LIRC)
-õËÁÚÙ×ÁÅÔ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÄÌÑ LIRC (ÐÏ ÕÍÏÌÞÁÎÉÀ: ~/.lircrc).
-.
-.TP
-.B \-list\-properties
-ðÅÞÁÔÁÅÔ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ Ó×ÏÊÓÔ×.
-.
-.TP
-.B \-loop <ÞÉÓÌÏ>
-ðÒÏÉÇÒÙ×ÁÅÔ ÆÉÌØÍ ÕËÁÚÁÎÎÏÅ ÞÉÓÌÏ ÒÁÚ ÐÏÄÒÑÄ. 0 \- ÚÎÁÞÉÔ ÂÅÓËÏÎÅÞÎÏ.
-.
-.TP
-.B \-menu (ÔÏÌØËÏ OSD ÍÅÎÀ)
-÷ËÌÀÞÁÅÔ ÐÏÄÄÅÒÖËÕ OSD ÍÅÎÀ.
-.
-.TP
-.B \-menu\-cfg <ÉÍÑ_ÆÁÊÌÁ> (ÔÏÌØËÏ OSD ÍÅÎÀ)
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÒÕÇÏÊ ÆÁÊÌ ×ÍÅÓÔÏ menu.conf.
-.
-.TP
-.B \-menu\-chroot <ÐÕÔØ> (ÔÏÌØËÏ OSD ÍÅÎÀ)
-óÄÅÌÁÔØ ÕËÁÚÁÎÎÙÊ ËÁÔÁÌÏÇ ËÏÒÎÅ×ÙÍ ÄÌÑ ÍÅÎÀ ×ÙÂÏÒÁ ÆÁÊÌÏ×.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-menu\-chroot /home"
-ïÇÒÁÎÉÞÉÔ ÍÅÎÀ ×ÙÂÏÒÁ ÆÁÊÌÁ ËÁÔÁÌÏÇÏÍ /home É ÅÇÏ ÐÏÄËÁÔÁÌÏÇÁÍÉ (Ô.Å.\& ÄÏÓÔÕÐ
-Ë / ÂÕÄÅÔ ÎÅ×ÏÚÍÏÖÅÎ, ÎÏ /home/user ÂÕÄÅÔ ÄÏÓÔÕÐÅÎ).
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdir (ÔÏÌØËÏ OSD ÍÅÎÀ)
-äÉÁÌÏÇ ×ÙÂÏÒÁ ÆÁÊÌÁ ÏÔËÒÙ×ÁÅÔÓÑ × ÐÏÓÌÅÄÎÅÍ ÉÚ×ÅÓÔÎÏÍ ËÁÔÁÌÏÇÅ ×ÍÅÓÔÏ ÔÅËÕÝÅÇÏ.
-.
-.TP
-.B \-menu\-root <ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ OSD ÍÅÎÀ)
-õËÁÚÙ×ÁÅÔ ÏÓÎÏ×ÎÏÅ ÍÅÎÀ.
-.
-.TP
-.B \-menu\-startup (ÔÏÌØËÏ OSD ÍÅÎÀ)
-ðÏËÁÚÙ×ÁÅÔ ÏÓÎÏ×ÎÏÅ ÍÅÎÀ ÐÒÉ ÚÁÐÕÓËÅ MPlayer.
-.
-.TP
-.B \-mouse\-movements
-ðÏÚ×ÏÌÑÅÔ MPlayer ÐÏÌÕÞÁÔØ ÓÏÂÙÔÉÑ ÕËÁÚÁÔÅÌÑ ÍÙÛÉ, ÇÅÎÅÒÉÒÕÅÍÙÅ
-ÄÒÁÊ×ÅÒÏÍ ×Ù×ÏÄÁ ×ÉÄÅÏ.
-îÅÏÂÈÏÄÉÍÏ ÄÌÑ ×ÙÂÏÒÁ ËÎÏÐÏË × DVD ÍÅÎÀ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÌÑ VO, ÏÓÎÏ×ÁÎÎÙÈ ÎÁ X11 (x11, xv, xvmc, etc.) É
-×ÉÄÅÏ ×Ù×ÏÄÏ× gl, gl2, direct3d É corevideo.
-.
-.TP
-.B \-noar
-÷ÙËÌÀÞÁÅÔ ÐÏÄÄÅÒÖËÕ éë ÐÕÌØÔÁ Apple (AppleIR).
-.
-.TP
-.B \-noconsolecontrols
-îÅ ÄÏÐÕÓËÁÅÔ ÞÔÅÎÉÅ ÓÏÂÙÔÉÊ ËÌÁ×ÉÁÔÕÒÙ ÓÏ ÓÔÁÎÄÁÒÔÎÏÇÏ ×ÈÏÄÁ ÐÒÏÇÒÁÍÍÏÊ MPlayer.
-ðÏÌÅÚÎÏ ÐÒÉ ÞÔÅÎÉÉ ÄÁÎÎÙÈ ÓÏ ÓÔÁÎÄÁÒÔÎÏÇÏ ×ÈÏÄÁ.
-÷ËÌÀÞÁÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÅÓÌÉ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ ÎÁÊÄÅÎÏ \-.
-åÓÔØ ÓÉÔÕÁÃÉÉ, ËÏÇÄÁ ÎÕÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÜÔÏ ×ÒÕÞÎÕÀ, ÎÁÐÒÉÍÅÒ
-ÅÓÌÉ ×Ù ÏÔËÒÙ×ÁÅÔÅ /dev/\:stdin (ÉÌÉ ÁÎÁÌÏÇÉÞÎÙÊ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ), ÉÓÐÏÌØÚÕÅÔÅ stdin
-× ÓÐÉÓËÅ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÉÌÉ ÓÏÂÉÒÁÅÔÅÓØ ÞÉÔÁÔØ ÉÚ stdin ÐÏÚÖÅ ËÏÍÁÎÄÁÍÉ loadfile ÉÌÉ
-loadlist.
-.
-.TP
-.B \-nojoystick
-ïÔËÌÀÞÁÅÔ ÐÏÄÄÅÒÖËÕ ÄÖÏÊÓÔÉËÁ.
-.
-.TP
-.B \-nolirc
-ïÔËÌÀÞÁÅÔ ÐÏÄÄÅÒÖËÕ LIRC.
-.
-.TP
-.B \-nomouseinput
-ïÔËÌÀÞÁÅÔ ÓÏÂÙÔÉÑ ÎÁÖÁÔÉÑ/\:ÏÔÐÕÓËÁÎÉÑ ËÎÏÐÏË ÍÙÛÉ (ËÏÎÔÅËÓÔÎÏÅ ÍÅÎÀ
-mozplayerxp ÐÏÌÁÇÁÅÔÓÑ ÎÁ ÜÔÕ ÏÐÃÉÀ).
-.
-.TP
-.B \-rtc (ÔÏÌØËÏ RTC)
-÷ËÌÀÞÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Linux RTC (ÞÁÓÏ× ÒÅÁÌØÎÏÇÏ ×ÒÅÍÅÎÉ \- /dev/\:rtc) ËÁË ÍÅÈÁÎÉÚÍÁ
-ÓÉÎÈÒÏÎÉÚÁÃÉÉ.
-üÔÏ ÐÒÉ×ÏÄÉÔ Ë ÐÒÏÂÕÖÄÅÎÉÀ ÐÒÏÃÅÓÓ ËÁÖÄÕÀ 1/1024 ÓÅËÕÎÄÙ ÄÌÑ ÐÒÏ×ÅÒËÉ ÔÅËÕÝÅÇÏ ×ÒÅÍÅÎÉ.
-âÅÓÐÏÌÅÚÎÏ Ó ÓÏ×ÒÅÍÅÎÎÙÍÉ ÑÄÒÁÍÉ Linux, ÎÁÓÔÒÏÅÎÎÙÍÉ ÄÌÑ ÄÅÓËÔÏÐÁ, ÐÏÓËÏÌØËÕ
-ÏÎÉ ÕÖÅ ÐÒÏÂÕÖÄÁÀÔ ÐÒÏÃÅÓÓ ÓÏ ÓÒÁ×ÎÉÍÏÊ ÔÏÞÎÏÓÔØÀ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÂÙÞÎÏÇÏ
-ÓÐÏÓÏÂÁ ÚÁÓÙÐÁÎÉÑ.
-.
-.TP
-.B \-playing\-msg <ÓÔÒÏËÁ>
-÷Ù×ÏÄÉÔ ÓÔÒÏËÕ ÐÅÒÅÄ ÎÁÞÁÌÏÍ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ÒÁÓÛÉÒÅÎÉÑ:
-.RSs
-.IPs ${NAME}
-úÁÍÅÎÑÅÔÓÑ ÎÁ ÚÎÁÞÅÎÉÅ Ó×ÏÊÓÔ×Á NAME.
-.IPs ?(NAME:TEXT)
-úÁÍÅÎÑÅÔÓÑ ÎÁ TEXT ÔÏÌØËÏ ÅÓÌÉ ÄÏÓÔÕÐÎÏ Ó×ÏÊÓÔ×Ï NAME.
-.IPs ?(!NAME:TEXT)
-úÁÍÅÎÑÅÔÓÑ ÎÁ TEXT ÔÏÌØËÏ ÅÓÌÉ ÎÅ ÄÏÓÔÕÐÎÏ Ó×ÏÊÓÔ×Ï NAME.
-.RE
-.
-.TP
-.B \-playlist <ÉÍÑ_ÆÁÊÌÁ>
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ÆÁÊÌÙ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ ÓÏ ÓÐÉÓËÏÍ (ASX, Winamp, SMIL, ÉÌÉ
-ÐÏ\-ÏÄÎÏÍÕ\-ÆÁÊÌÕ\-×\-ÓÔÒÏËÅ ÆÏÒÍÁÔÁ).
-.br
-.I úáíåþáîéå:
-ïÐÃÉÑ ÓÞÉÔÁÅÔÓÑ ÜÌÅÍÅÎÔÏÍ, ÔÁË ÞÔÏ ×ÓÅ ÐÏÓÌÅÄÕÀÝÉÅ ÏÐÃÉÉ ÂÕÄÕÔ ÐÒÉÍÅÎÑÔØÓÑ ÔÏÌØËÏ Ë
-ÜÌÅÍÅÎÔÁÍ ÓÐÉÓËÁ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-.br
-FIXME: üÔÏ ÔÒÅÂÕÅÔ ÔÝÁÔÅÌØÎÏÇÏ ÒÁÚßÑÓÎÅÎÉÑ É ÏÐÉÓÁÎÉÑ.
-.
-.TP
-.B \-rtc\-device <ÕÓÔÒÏÊÓÔ×Ï>
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÏÅ ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ RTC ÔÁÊÍÉÎÇÁ.
-.
-.TP
-.B \-shuffle
-ðÒÏÉÇÒÙ×ÁÅÔ ÆÁÊÌÙ × ÓÌÕÞÁÊÎÏÍ ÐÏÒÑÄËÅ.
-.
-.TP
-.B \-skin <ÎÁÚ×ÁÎÉÅ> (ÔÏÌØËÏ GUI)
-úÁÇÒÕÖÁÅÔ ÓËÉÎ ÉÚ ËÁÔÁÌÏÇÁ, ÕËÁÚÁÎÎÏÇÏ × ËÁÞÅÓÔ×Å ÐÁÒÁÍÅÔÒÁ, ÎÁÈÏÄÑÝÅÇÏÓÑ
-× ÏÄÎÏÍ ÉÚ ÓÔÁÎÄÁÒÔÎÙÈ ËÁÔÁÌÏÇÏ× ÓÏ ÓËÉÎÁÍÉ,
-/usr/\:local/\:share/\:mplayer/\:skins/\: É ~/.mplayer/\:skins/.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-ðÒÏÂÕÅÔÓÑ /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene
-É ÚÁÔÅÍ ~/.mplayer/\:skins/\:fittyfene.
-.RE
-.PD 1
-.
-.TP
-.B \-slave (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-input)
-÷ËÌÀÞÁÅÔ ×ÅÄÏÍÙÊ ÒÅÖÉÍ, × ËÏÔÏÒÏÍ MPlayer ÒÁÂÏÔÁÅÔ × ËÁÞÅÓÔ×Å ÂÜËÜÎÄÁ Ë ÄÒÕÇÉÍ ÐÒÏÇÒÁÍÍÁÍ.
-÷ÍÅÓÔÏ ÐÅÒÅÈ×ÁÔÁ ÓÏÂÙÔÉÊ ËÌÁ×ÉÁÔÕÒÙ, MPlayer ÂÕÄÅÔ ÞÉÔÁÔØ ÓÏ ÓÔÁÎÄÁÒÔÎÏÇÏ ×ÈÏÄÁ ËÏÍÁÎÄÙ,
-ÒÁÚÄÅÌÅÎÎÙÅ ÓÉÍ×ÏÌÏÍ ÎÏ×ÏÊ ÓÔÒÏËÉ (\\n).
-.br
-.I úáíåþáîéå:
-óÍÏÔÒÉÔÅ ÓÐÉÓÏË ÜÔÉÈ ËÏÍÁÎÄ × \-input cmdlist É ÏÐÉÓÁÎÉÑ × DOCS/tech/slave.txt.
-üÔÁ ÏÐÃÉÑ ÎÅ ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÄÌÑ ÏÔËÌÀÞÅÎÉÑ ÄÒÕÇÉÈ ÉÓÔÏÞÎÉËÏ× ××ÏÄÁ,
-ÎÁÐÒÉÍÅÒ ÐÒÉ ÐÏÍÏÝÉ ÏËÎÁ ×ÉÄÅÏ; ÄÌÑ ÄÁÎÎÙÈ ÃÅÌÅÊ ÉÓÐÏÌØÚÕÊÔÅ ÉÎÙÅ
-ÓÐÏÓÏÂÙ, ÎÁÐÒÉÍÅÒ, \-input nodefault\-binds:conf=/dev/null.
-.
-.TP
-.B \-softsleep
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÁÊÍÉÎÇ ËÁÄÒÏ×, ÐÏÓÔÏÑÎÎÏ ÐÒÏ×ÅÒÑÑ ÔÅËÕÝÅÅ ×ÒÅÍÑ, ×ÍÅÓÔÏ ÐÒÏÓØÂÙ
-ÑÄÒÕ ÐÒÏÂÕÖÄÁÔØ MPlayer × ÎÕÖÎÙÊ ÍÏÍÅÎÔ.
-ðÏÌÅÚÎÏ, ÅÓÌÉ ÔÁÊÍÅÒ ×ÁÛÅÇÏ ÑÄÒÁ ÎÅÔÏÞÅÎ É ×Ù ÎÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ RTC.
-äÁÅÔÓÑ ÃÅÎÏÊ ÐÏ×ÙÛÅÎÎÏÊ ÎÁÇÒÕÚËÉ ÎÁ CPU.
-.
-.TP
-.B \-sstep <ÓÅË>
-ðÒÏÐÕÓËÁÔØ <ÓÅË> ÓÅËÕÎÄ ÐÏÓÌÅ ËÁÖÄÏÇÏ ËÁÄÒÁ.
-óÏÈÒÁÎÑÅÔÓÑ ÏÒÉÇÉÎÁÌØÎÁÑ ÞÁÓÔÏÔÁ ËÁÄÒÏ×, ÔÁË ÞÔÏ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ÕÓËÏÒÑÅÔÓÑ.
-ôÁË ËÁË MPlayer ÍÏÖÅÔ ÐÅÒÅÍÅÝÁÔØÓÑ ÔÏÌØËÏ ÐÏ ËÌÀÞÅ×ÙÍ ËÁÄÒÁÍ, ÔÏ ÚÎÁÞÅÎÉÅ
-ÍÏÖÅÔ ÏËÁÚÁÔØÓÑ ÎÅÔÏÞÎÙÍ.
-.
-.
-.
-.SH "ïðãéé äåíõìøôéðìåëóïòá/ðïôïëá"
-.
-.TP
-.B \-a52drc <ÕÒÏ×ÅÎØ>
-.\" ÎÕÖÅÎ ÌÉ ÐÅÒÅ×ÏÄ DRC ?
-÷ÙÂÉÒÁÅÔ ÕÒÏ×ÅÎØ Dynamic Range Compression[óÖÁÔÉÅ äÉÎÁÍÉÞÅÓËÏÇÏ äÉÁÐÁÚÏÎÁ] ÄÌÑ
-ÁÕÄÉÏ ÐÏÔÏËÏ× AC\-3. <ÕÒÏ×ÅÎØ> \- ÜÔÏ ×ÅÝÅÓÔ×ÅÎÎÏÅ ÞÉÓÌÏ ÏÔ 0 ÄÏ 1, ÇÄÅ 0 ÏÚÎÁÞÁÅÔ
-ÏÔÓÕÔÓÔ×ÉÅ ÓÖÁÔÉÑ, Á 1 (ÐÏ ÕÍÏÌÞÁÎÉÀ) ÏÚÎÁÞÁÅÔ ÐÏÌÎÏÅ ÓÖÁÔÉÅ (ÄÅÌÁÅÔ ÇÒÏÍËÉÅ Ú×ÕËÉ
-ÂÏÌÅÅ ÔÉÈÉÍÉ É ÎÁÏÂÏÒÏÔ).
-üÔÁ ÏÐÃÉÑ ÄÅÊÓÔ×ÕÅÔ, ÔÏÌØËÏ ÅÓÌÉ AC\-3 ÐÏÔÏË ÓÏÄÅÒÖÉÔ ÎÅÏÂÈÏÄÉÍÕÀ ÉÎÆÏÒÍÁÃÉÀ
-ÓÖÁÔÉÑ ÄÉÁÐÁÚÏÎÁ.
-.
-.TP
-.B \-aid <ID> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-alang)
-÷ÙÂÉÒÁÅÔ ÁÕÄÉÏ ËÁÎÁÌ (MPEG: 0\-31, AVI/\:OGM: 1\-99, ASF/\:RM: 0\-127,
-VOB(AC\-3): 128\-159, VOB(LPCM): 160\-191, MPEG\-TS 17\-8190).
-MPlayer ×Ù×ÏÄÉÔ ×ÓÅ ÄÏÓÔÕÐÎÙÅ ÁÕÄÉÏ ID, ËÏÇÄÁ ÚÁÐÕÝÅÎ × ÒÅÖÉÍÅ
-ÐÏÄÒÏÂÎÏÇÏ ×Ù×ÏÄÁ ÓÏÏÂÝÅÎÉÊ (\-v).
-ðÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ MPEG\-TS ÐÏÔÏËÁ, MPlayer/\:MEncoder ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÐÅÒ×ÕÀ ÐÒÏÇÒÁÍÍÕ (ÅÓÌÉ ÓÕÝÅÓÔ×ÕÅÔ) Ó ×ÙÂÒÁÎÎÙÍ ÁÕÄÉÏ ÐÏÔÏËÏÍ.
-.
-.TP
-.B \-ausid <ID> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-alang)
-÷ÙÂÉÒÁÅÔ ËÁÎÁÌ ÓÕÂÐÏÔÏËÁ ÁÕÄÉÏ.
-îÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÄÏÐÕÓÔÉÍ ÄÉÁÐÁÚÏÎ 0x55..0x75 É ÏÐÃÉÑ ÐÒÉÍÅÎÉÍÁ ÔÏÌØËÏ Ë
-MPEG-TS ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÒÏÄÎÏÇÏ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ (ÎÅ
-libavformat).
-ôÉÐ ÆÏÒÍÁÔÁ ÍÏÖÅÔ ÂÙÔØ ÏÐÒÅÄẠ̊ΠÎÅ×ÅÒÎÏ, × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÏÇÏ,
-ËÁË ÜÔÁ ÉÎÆÏÒÍÁÃÉÑ (ÉÌÉ ÏÔÓÕÔÓÔ×ÉÅ ÔÁËÏ×ÏÊ) ×ÎÅÄÒÅÎÏ × ÐÏÔÏË, ÎÏ
-ÁÕÄÉÏ ÐÏÔÏËÉ ÂÕÄÕ ËÏÒÒÅËÔÎÏ ÄÅÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÙ ÐÒÉ ÎÁÌÉÞÉÉ
-ÎÅÓËÏÌØËÉÈ ÓÕÂÐÏÔÏËÏ×.
-MPlayer ×Ù×ÏÄÉÔ ID ÄÏÓÔÕÐÎÙÈ ÓÕÂÐÏÔÏËÏ× ÐÒÉ ÚÁÐÕÓËÅ Ó \-identify.
-.
-.TP
-.B \-alang <ËÏÄ ÑÚÙËÁ[,ËÏÄ ÑÚÙËÁ,...]> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-aid)
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÈ ÑÚÙËÏ× × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÎÏÓÔÉ.
-òÁÚÌÉÞÎÙÅ ÆÏÒÍÁÔÙ ÆÁÊÌÏ× ÉÓÐÏÌØÚÕÀÔ ÒÁÚÌÉÞÎÙÅ ËÏÄÙ ÑÚÙËÏ×.
-DVD ÉÓÐÏÌØÚÕÀÔ ISO 639\-1 Ä×ÕÈÂÕË×ÅÎÎÙÅ ËÏÄÙ, Matroska, MPEG\-TS É NUT ÉÓÐÏÌØÚÕÀÔ ISO 639\-2
-ÔÒÅÈÂÕË×ÅÎÎÙÅ ËÏÄÙ ÑÚÙËÏ×, × ÔÏ ×ÒÅÍÑ ËÁË OGM ÉÓÐÏÌØÚÕÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒÙ × Ó×ÏÂÏÄÎÏÊ ÆÏÒÍÅ.
-MPlayer ×Ù×ÏÄÉÔ ÄÏÓÔÕÐÎÙÅ ÑÚÙËÉ, ËÏÇÄÁ ÚÁÐÕÝÅÎ × ÒÅÖÉÍÅ ×Ù×ÏÄÁ ÐÏÄÒÏÂÎÙÈ ÓÏÏÂÝÅÎÉÊ (\-v).
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang hu,en"
-÷ÙÂÉÒÁÅÔ ÷ÅÎÇÅÒÓËÕÀ ÑÚÙËÏ×ÕÀ ÄÏÒÏÖËÕ ÎÁ DVD É ×ÏÚ×ÒÁÝÁÅÔÓÑ ÏÂÒÁÔÎÏ Ë áÎÇÌÉÊÓËÏÍÕ, ÅÓÌÉ
-÷ÅÎÇÅÒÓËÉÊ ÎÅÄÏÓÔÕÐÅÎ.
-.IPs "mplayer \-alang jpn example.mkv"
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ÆÁÊÌ Matroska ÎÁ ñÐÏÎÓËÏÍ.
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]ÎÁÚ×ÁÎÉÅ> (ÔÏÌØËÏ \-audiofile)
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÉÐ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ ÄÌÑ \-audiofile.
-éÓÐÏÌØÚÕÊÔÅ '+' ÐÅÒÅÄ ÉÍÅÎÅÍ ÄÌÑ ÐÒÉÎÕÄÉÔÅÌØÎÏÇÏ ×ÙÂÏÒÁ, ÜÔÏ ÐÒÏÐÕÓÔÉÔ ÎÅËÏÔÏÒÙÅ ÐÒÏ×ÅÒËÉ!
-ðÅÒÅÄÁÊÔÅ ÎÁÚ×ÁÎÉÅ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ ÔÁËÉÍ, ËÁËÉÍ ÏÎÏ ×Ù×ÏÄÉÔÓÑ ÏÐÃÉÅÊ \-audio\-demuxer help.
-äÌÑ ÏÂÒÁÔÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ ÜÔÁ ÏÐÃÉÑ ÔÁËÖÅ ÐÒÉÎÉÍÁÅÔ ID ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ, ÕËÁÚÁÎÎÙÊ ×
-libmpdemux/\:demuxer.h.
-\-audio\-demuxer audio ÉÌÉ \-audio\-demuxer 17 ÐÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ MP3.
-.
-.TP
-.B \-audiofile <ÉÍÑ ÆÁÊÌÁ>
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ÁÕÄÉÏ ÉÚ ×ÎÅÛÎÅÇÏ ÆÁÊÌÁ (WAV, MP3 ÉÌÉ Ogg Vorbis) ÐÒÉ ÐÒÏÓÍÏÔÒÅ ÆÉÌØÍÁ.
-.
-.TP
-.B \-audiofile\-cache <ËâÁÊÔ>
-÷ËÌÀÞÁÅÔ ËÅÛÉÒÏ×ÁÎÉÅ ÆÁÊÌÁ, ÕËÁÚÁÎÎÏÇÏ ÏÐÃÉÅÊ \-audiofile, ÉÓÐÏÌØÚÕÑ ÕËÁÚÁÎÎÏÅ ËÏÌÉÞÅÓÔ×Ï
-ÐÁÍÑÔÉ.
-.
-.TP
-.B \-reuse\-socket (ÔÏÌØËÏ udp://)
-ðÏÚ×ÏÌÑÅÔ ÓÏËÅÔÕ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÎÙÍ ÄÒÕÇÉÍÉ ÐÒÏÃÅÓÓÁÍÉ ÓÒÁÚÕ, ËÁË ÔÏÌØËÏ ÏÎ ÂÕÄÅÔ ÚÁËÒÙÔ.
-.
-.TP
-.B \-bandwidth <ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ ÓÅÔØ)
-õËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÐÒÏÐÕÓËÎÕÀ ÓÐÏÓÏÂÎÏÓÔØ ÄÌÑ ÓÅÔÅ×ÏÇÏ ×ÅÝÁÎÉÑ (ÄÌÑ
-ÓÅÒ×ÅÒÏ×, ÓÐÏÓÏÂÎÙÈ ÏÔÄÁ×ÁÔØ ËÏÎÔÅÎÔ Ó ÒÁÚÌÉÞÎÙÍ ÂÉÔÐÏÔÏËÏÍ).
-ðÏÌÅÚÎÏ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÍÏÔÒÅÔØ ÐÏÔÏËÏ×ÕÀ ÔÒÁÎÓÌÑÃÉÀ ÐÒÉ ÍÅÄÌÅÎÎÏÍ ÓÏÅÄÉÎÅÎÉÉ.
-ðÒÉ Real RTSP ×ÅÝÁÎÉÉ, ÏÎÁ ÔÁËÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÍÁËÓÉÍÁÌØÎÏÊ
-ÐÒÏÐÕÓËÎÏÊ ÓÐÏÓÏÂÎÏÓÔÉ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÐÏÔÏËÁ, ÐÏÚ×ÏÌÑÑ ÂÙÓÔÒÅÅ ÚÁÐÏÌÎÑÔØ ËÅÛ
-É ÓÏÈÒÁÎÑÔØ ÐÏÔÏË.
-.
-.TP
-.B \-cache <ËÉÌÏÂÁÊÔ>
-üÔÁ ÏÐÃÉÑ ÕËÁÚÙ×ÁÅÔ ËÁËÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÁÍÑÔÉ (× ËÉÌÏÂÁÊÔÁÈ) ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ
-ÐÒÅÄ×ÁÒÉÔÅÌØÎÏÍ ËÅÛÉÒÏ×ÁÎÉÉ ÆÁÊÌÁ ÉÌÉ URL.
-ïÓÏÂÅÎÎÏ ÐÏÌÅÚÎÏ ÎÁ ÍÅÄÌÅÎÎÙÈ ÎÏÓÉÔÅÌÑÈ.
-.
-.TP
-.B \-nocache
-ïÔËÌÀÞÁÅÔ ËÅÛÉÒÏ×ÁÎÉÅ.
-.
-.TP
-.B \-cache\-min <ÐÒÏÃÅÎÔ>
-÷ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ÎÁÞÎÅÔÓÑ, ËÏÇÄÁ ËÅÛ ÂÕÄÅÔ ÚÁÐÏÌÎÅÎ ÎÁ <ÐÒÏÃÅÎÔ> ÐÒÏÃÅÎÔÏ×
-ÏÔ ÐÏÌÎÏÇÏ ÒÁÚÍÅÒÁ.
-.
-.TP
-.B \-cache\-seek\-min <ÐÒÏÃÅÎÔ>
-åÓÌÉ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÐÏÐÙÔËÁ ÐÅÒÅÍÏÔÁÔØ ÆÉÌØÍ ÎÁ ÐÏÚÉÃÉÀ × ÐÒÅÄÅÌÁÈ
-×ÅÌÉÞÉÎÙ <ÐÒÏÃÅÎÔ> ÏÔ ÒÁÚÍÅÒÁ ËÅÛÁ, MPlayer ÂÕÄÅÔ ÖÄÁÔØ ÚÁÐÏÌÎÅÎÉÑ ËÅÛÁ ÄÏ
-ÜÔÏÊ ÐÏÚÉÃÉÉ ×ÍÅÓÔÏ ÏÓÕÝÅÓÔ×ÌÅÎÉÑ ÐÅÒÅÍÅÝÅÎÉÑ ÐÏ ÐÏÔÏËÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 50).
-.
-.TP
-.B \-cdda <ÏÐÃÉÑ1:ÏÐÃÉÑ2> (ÔÏÌØËÏ CDDA)
-üÔÁ ÏÐÃÉÑ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÔÏÎËÏÊ ÎÁÓÔÒÏÊËÉ ×ÏÚÍÏÖÎÏÓÔÉ ÞÔÅÎÉÑ CD Audio.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.RSs
-.IPs speed=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓËÏÒÏÓÔØ ×ÒÁÝÅÎÉÑ CD.
-.IPs paranoia=<0\-2>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÒÏ×ÅÎØ paranoia.
-úÎÁÞÅÎÉÑ, ÏÔÌÉÞÎÙÅ ÏÔ ÎÕÌÑ, ÐÏÈÏÖÅ ÎÁÒÕÛÁÀÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ×ÓÅÇÏ, ËÒÏÍÅ ÐÅÒ×ÏÊ ÄÏÒÏÖËÉ.
-.RSss
-0: ÏÔËÌÀÞÁÅÔ ÐÒÏ×ÅÒËÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-1: ÐÒÏ×ÅÒËÁ ÔÏÌØËÏ ÎÁÌÏÖÅÎÉÑ
-.br
-2: ÐÏÌÎÁÑ ËÏÒÒÅËÃÉÑ É ÐÒÏ×ÅÒËÁ ÄÁÎÎÙÈ
-.REss
-.IPs generic\-dev=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÏÅ SCSI ÕÓÔÒÏÊÓÔ×Ï.
-.IPs sector\-size=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÁÔÏÍÁÒÎÙÊ ÒÁÚÍÅÒ ÞÔÅÎÉÑ.
-.IPs overlap=<ÚÎÁÞÅÎÉÅ>
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÉÎÉÍÁÌØÎÙÊ ÐÏÉÓË ÐÅÒÅËÒÙÔÉÑ × <ÚÎÁÞÅÎÉÅ>
-ÓÅËÔÏÒÏ×.
-.IPs toc\-bias
-õËÁÚÙ×ÁÅÔ ÐÒÅÄÐÏÌÁÇÁÔØ, ÞÔÏ ÓÍÅÝÅÎÉÅ ÎÁÞÁÌÁ ÄÏÒÏÖËÉ 1, ÕËÁÚÁÎÎÏÊ × TOC,
-ÁÄÒÅÓÕÅÔÓÑ ËÁË LBA 0.
-üÔÏ ÔÒÅÂÕÅÔÓÑ ÄÌÑ ÎÅËÏÔÏÒÙÈ ÕÓÔÒÏÊÓÔ× Toshiba, ÞÔÏÂÙ ÓÔÁÌÉ ÐÒÁ×ÉÌØÎÙÍÉ
-ÇÒÁÎÉÃÙ ÄÏÒÏÖÅË.
-.IPs toc\-offset=<ÚÎÁÞÅÎÉÅ>
-äÏÂÁ×ÌÑÅÔ <ÚÎÁÞÅÎÉÅ> ÓÅËÔÏÒÏ× Ë ÚÎÁÞÅÎÉÀ, ×ÙÄÁ×ÁÅÍÏÍÕ ÐÒÉ ÁÄÒÅÓÁÃÉÉ ÄÏÒÏÖÅË.
-íÏÖÅÔ ÂÙÔØ ÏÔÒÉÃÁÔÅÌØÎÙÍ.
-.IPs (no)skip
-(îÉËÏÇÄÁ ÎÅ) ÄÏÐÕÓËÁÅÔ ÎÅÐÏÌÎÕÀ ÒÅËÏÎÓÔÒÕËÃÉÀ ÄÁÎÎÙÈ.
-.RE
-.
-.TP
-.B \-cdrom\-device <ÐÕÔØ Ë ÕÓÔÒÏÊÓÔ×Õ>
-õËÁÚÙ×ÁÅÔ ÕÓÔÒÏÊÓÔ×Ï CD\-ROM (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:cdrom).
-.
-.TP
-.B \-channels <ÞÉÓÌÏ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-af channels)
-úÁÐÒÁÛÉ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ× ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2).
-MPlayer ÐÒÏÓÉÔ ÄÅËÏÄÅÒ ÄÅËÏÄÉÒÏ×ÁÔØ Ú×ÕË × ÕËÁÚÁÎÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ×.
-÷ÙÐÏÌÎÅÎÉÅ ÚÁÄÁÞÉ ÌÏÖÉÔÓÑ ÎÁ ÐÌÅÞÉ ÄÅËÏÄÅÒÁ.
-ïÂÙÞÎÏ ÜÔÏ ÔÒÅÂÕÅÔÓÑ ÔÏÌØËÏ ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ ×ÉÄÅÏ Ó AC\-3 Ú×ÕËÏÍ (ÎÁÐÒÉÍÅÒ DVD).
-÷ ÜÔÏÍ ÓÌÕÞÁÅ liba52 ×ÙÐÏÌÎÑÅÔ ÄÅËÏÄÉÒÏ×ÁÎÉÅ ËÁË ÏÂÙÞÎÏ É ËÏÒÒÅËÔÎÏ Ó×ÏÄÉÔ
-Ú×ÕË × ÚÁÐÒÏÛÅÎÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ×.
-äÌÑ ÐÒÑÍÏÇÏ ÕÐÒÁ×ÌÅÎÉÑ ËÏÌÉÞÅÓÔ×ÏÍ ×ÙÈÏÄÎÙÈ ËÁÎÁÌÏ× ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ËÏÌÉÞÅÓÔ×Á ÄÅËÏÄÉÒÕÅÍÙÈ,
-ÉÓÐÏÌØÚÕÊÔÅ ÆÉÌØÔÒ channels.
-.br
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ ÕÞÉÔÙ×ÁÅÔÓÑ ËÏÄÅËÁÍÉ (ÔÏÌØËÏ AC\-3), ÆÉÌØÔÒÁÍÉ (surround) É ÄÒÁÊ×ÅÒÁÍÉ ×Ù×ÏÄÁ
-Ú×ÕËÁ (ËÁË ÍÉÎÉÍÕÍ OSS).
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-stereo
-.IPs 4
-surround
-.IPs 6
-full 5.1
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <ID ÒÁÚÄÅÌÁ>[\-<ID ÐÏÓÌ. ÒÁÚÄÅÌÁ>] (ÔÏÌØËÏ dvd:// É dvdnav://)
-õËÁÚÙ×ÁÅÔ Ó ËÁËÏÇÏ ÒÁÚÄÅÌÁ ÎÁÞÁÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ.
-ïÐÃÉÏÎÁÌØÎÏ ÕËÁÚÙ×ÁÅÔ ËÁËÉÍ ÒÁÚÄÅÌÏÍ ÚÁËÏÎÞÉÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-.
-.TP
-.B \-cookies (ÔÏÌØËÏ ÓÅÔØ)
-õËÁÚÙ×ÁÅÔ ÏÔÐÒÁ×ÌÑÔØ cookie ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ HTTP ÚÁÐÒÏÓÏ×.
-.
-.TP
-.B \-cookies\-file <ÆÁÊÌ> (ÔÏÌØËÏ ÓÅÔØ)
-þÉÔÁÅÔ HTTP cookie ÉÚ ÆÁÊÌÁ <ÆÁÊÌ> (ÐÏ ÕÍÏÌÞÁÎÉÀ: ~/.mozilla/ É ~/.netscape/)
-É ÐÒÏÐÕÓËÁÅÔ ÞÔÅÎÉÅ ÉÚ ÓÔÁÎÄÁÒÔÎÙÈ ÍÅÓÔ.
-ðÒÅÄÐÏÌÁÇÁÅÔÓÑ ÆÁÊÌ × ÆÏÒÍÁÔÅ Netscape.
-.
-.TP
-.B \-delay <ÓÅË>
-úÁÄÅÒÖËÁ ÁÕÄÉÏ × ÓÅËÕÎÄÁÈ (ÐÏÌÏÖÉÔÅÌØÎÏÅ ÉÌÉ ÏÔÒÉÃÁÔÅÌØÎÏÅ ×ÅÝÅÓÔ×ÅÎÎÏÅ ÞÉÓÌÏ)
-.br
-ïÔÒÉÃÁÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÅ ÚÁÄÅÒÖÉ×ÁÀÔ ÁÕÄÉÏ, ÐÏÌÏÖÉÔÅÌØÎÙÅ \- ×ÉÄÅÏ.
-úÁÍÅÔØÔÅ, ÜÔÏ ÐÏÌÎÁÑ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÓÔØ \-audio\-delay ÏÐÃÉÉ MEncoder.
-.br
-.I úáíåþáîéå:
-ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ Ó MEncoder ÎÅ ÇÁÒÁÎÔÉÒÕÅÔÓÑ ÐÒÁ×ÉÌØÎÁÑ ÒÁÂÏÔÕ Ó \-ovc copy;
-ÉÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÜÔÏÇÏ \-audio\-delay.
-.
-.TP
-.B \-ignore\-start
-éÇÎÏÒÉÒÕÅÔ ÕËÁÚÁÎÎÏÅ ×ÒÅÍÑ ÎÁÞÁÌÁ ÄÌÑ ÐÏÔÏËÏ× × AVI ÆÁÊÌÁÈ.
-÷ MPlayer ÜÔÏ ÏÂÎÕÌÑÅÔ ÚÁÄÅÒÖËÉ ÐÏÔÏËÏ× × ÆÁÊÌÁÈ, ËÏÄÉÒÏ×ÁÎÎÙÈ Ó
-ÏÐÃÉÅÊ \-audio\-delay. ÷ ÐÒÏÃÅÓÓÅ ËÏÄÉÒÏ×ÁÎÉÑ ÜÔÁ ÏÐÃÉÑ ÐÒÅÄÏÔ×ÒÁÝÁÅÔ
-ÐÅÒÅÎÏÓ ÐÒÏÇÒÁÍÍÏÊ MEncoder ×ÒÅÍÅÎÉ ÎÁÞÁÌÁ ÉÚ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÆÁÊÌÁ × ËÏÄÉÒÕÅÍÙÊ;
-ÏÐÃÉÑ \-audio\-delay ÎÅ ÚÁÔÒÁÇÉ×ÁÅÔÓÑ.
-éÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ Mencoder ÉÎÏÇÄÁ Á×ÔÏÍÁÔÉÞÅÓËÉ ÉÓÐÒÁ×ÌÑÅÔ ×ÒÅÍÑ ÎÁÞÁÌÁ ÐÏÔÏËÁ
-ÄÌÑ ËÏÍÐÅÎÓÁÃÉÉ ÏÖÉÄÁÅÍÙÈ ÚÁÄÅÒÖÅË ÄÅËÏÄÉÒÏ×ÁÎÉÑ, ÔÁË ÞÔÏ ÎÉËÏÇÄÁ
-ÎÅ ÉÓÐÏÌØÚÕÊÔÅ ÜÔÕ ÏÐÃÉÀ ÐÒÉ ËÏÄÉÒÏ×ÁÎÉÉ ÂÅÚ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏÇÏ ÔÅÓÔÉÒÏ×ÁÎÉÑ.
-.
-.TP
-.B \-demuxer <[+]ÎÁÚ×ÁÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÉÐ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ.
-éÓÐÏÌØÚÕÊÔÅ '+' ÐÅÒÅÄ ÎÁÚ×ÁÎÉÅÍ ÄÌÑ ÐÒÉÎÕÄÉÔÅÌØÎÏÊ ÕÓÔÁÎÏ×ËÉ, ÜÔÏ ÐÒÏÐÕÓÔÉÔ ÎÅËÏÔÏÒÙÅ ÐÒÏ×ÅÒËÉ!
-ðÅÒÅÄÁÊÔÅ ÎÁÚ×ÁÎÉÅ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ ËÁË ÏÎÏ ×Ù×ÏÄÉÔÓÑ ÐÒ ÐÏÍÏÝÉ \-demuxer help.
-äÌÑ ÏÂÒÁÔÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ ÏÎÁ ÔÁËÖÅ ÐÒÉÎÉÍÁÅÔ ID ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ, ÏÐÒÅÄÅÌÅÎÎÏÇÏ ×
-libmpdemux/\:demuxer.h.
-.
-.TP
-.B \-dumpaudio (ÔÏÌØËÏ MPlayer)
-óÏÈÒÁÎÑÅÔ ÓÙÒÏÊ ÓÖÁÔÙÊ ÁÕÄÉÏ ÐÏÔÏË × ./stream.dump (ÐÏÌÅÚÎÏ Ó MPEG/\:AC\-3,
-× ÂÏÌØÛÉÎÓÔ×Å ÏÓÔÁÌØÎÙÈ ÓÌÕÞÁÅ× ÐÏÌÕÞÅÎÎÙÊ ÆÁÊÌ ÐÒÏÉÇÒÙ×ÁÔØÓÑ ÎÅ ÂÕÄÅÔ).
-åÓÌÉ ×Ù ÕËÁÖÅÔÅ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ ÂÏÌÅÅ ÏÄÎÏÊ ÏÐÃÉÉ ÉÚ \-dumpaudio, \-dumpvideo,
-\-dumpstream, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ ÐÏÓÌÅÄÎÑÑ.
-.
-.TP
-.B \-dumpfile <ÆÁÊÌ> (ÔÏÌØËÏ MPlayer)
-õËÁÚÙ×ÁÅÔ × ËÁËÏÊ ÆÁÊÌ ÄÏÌÖÎÏ ÐÒÏÉÓÈÏÄÉÔØ ÓÏÈÒÁÎÅÎÉÅ.
-óÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÍÅÓÔÅ Ó \-dumpaudio / \-dumpvideo / \-dumpstream.
-.
-.TP
-.B \-dumpstream (ÔÏÌØËÏ MPlayer)
-óÏÈÒÁÎÑÅÔ ÓÙÒÏÊ ÐÏÔÏË × ./stream.dump.
-ðÏÌÅÚÎÏ ÐÒÉ ÒÉÐÅ Ó DVD ÉÌÉ ÓÅÔÉ.
-åÓÌÉ ×Ù ÕËÁÖÅÔÅ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ ÂÏÌÅÅ ÏÄÎÏÊ ÏÐÃÉÉ ÉÚ \-dumpaudio, \-dumpvideo,
-\-dumpstream, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ ÐÏÓÌÅÄÎÑÑ.
-.
-.TP
-.B \-dumpvideo (ÔÏÌØËÏ MPlayer)
-óÏÈÒÁÎÑÅÔ ÓÙÒÏÊ ÓÖÁÔÙÊ ×ÉÄÅÏ ÐÏÔÏË × ./stream.dump (ÎÅ ÏÞÅÎØ ÐÒÉÇÏÄÎÏ).
-åÓÌÉ ×Ù ÕËÁÖÅÔÅ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ ÂÏÌÅÅ ÏÄÎÏÊ ÏÐÃÉÉ ÉÚ \-dumpaudio, \-dumpvideo,
-\-dumpstream, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ ÐÏÓÌÅÄÎÑÑ.
-.
-.TP
-.B \-dvbin <options> (ÔÏÌØËÏ DVB)
-ðÅÒÅÄÁÅÔ ÓÌÅÄÕÀÝÉÅ ÐÁÒÁÍÅÔÒÙ ÍÏÄÕÌÀ DVB, ÄÌÑ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ ÓÔÁÎÄÁÒÔÎÙÈ:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-õËÁÚÙ×ÁÅÔ ÎÏÍÅÒ ÉÓÐÏÌØÚÕÅÍÏÊ ËÁÒÔÙ 1\-4 (default: 1).
-.IPs file=<ÆÁÊÌ>
-õËÁÚÙ×ÁÅÔ MPlayer ÞÉÔÁÔØ ÓÐÉÓÏË ËÁÎÁÌÏ× ÉÚ ÆÁÊÌÁ <ÆÁÊÌ>.
-ÐÏ ÕÍÏÌÞÁÎÉÀ: ~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc} (× ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÉÐÁ ËÁÒÔÙ)
-ÉÌÉ ~/.mplayer/\:channels.conf.
-.IPs timeout=<1\-30>
-íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÅËÕÎÄ ÏÖÉÄÁÎÉÑ ÎÁÓÔÒÏÊËÉ ÎÁ ÞÁÓÔÏÔÕ ÐÅÒÅÄ ÎÁÞÁÌÏÍ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 30).
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <ÐÕÔØ Ë ÕÓÔÒÏÊÓÔ×Õ> (ÔÏÌØËÏ DVD)
-õËÁÚÙ×ÁÅÔ ÕÓÔÒÏÊÓÔ×Ï DVD ÉÌÉ ÉÍÑ ÆÁÊÌÁ .iso (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:dvd).
-÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÕËÁÚÁÔØ ËÁÔÁÌÏÇ, ÓÏÄÅÒÖÁÝÉÊ ÆÁÊÌÙ, ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ ÓËÏÐÉÒÏ×ÁÎÎÙÅ
-ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ Ó DVD (ÎÁÐÒÉÍÅÒ, Ó ÐÏÍÏÝØÀ vobcopy).
-.
-.TP
-.B \-dvd\-speed <ÍÎÏÖÉÔÅÌØ ÉÌÉ ÓËÏÒÏÓÔØ × ëâ/Ó> (ÔÏÌØËÏ DVD)
-ðÙÔÁÔØÓÑ ÏÇÒÁÎÉÞÉÔØ ÓËÏÒÏÓÔØ DVD (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0, ÂÅÚ ÉÚÍÅÎÅÎÉÊ).
-âÁÚÏ×ÁÑ ÓËÏÒÏÓÔØ DVD ÒÁ×ÎÁ ÐÒÉÍÅÒÎÏ 1350ëâ/Ó, ÔÁËÉÍ ÏÂÒÁÚÏÍ 8x ÕÓÔÒÏÊÓÔ×Ï
-ÍÏÖÅÔ ÞÉÔÁÔØ ÓÏ ÓËÏÒÏÓÔÑÍÉ ×ÐÌÏÔØ ÄÏ 10800ëâ/Ó.
-âÏÌÅÅ ÍÅÄÌÅÎÎÙÅ ÓËÏÒÏÓÔÉ ÄÅÌÁÀÔ ÕÓÔÒÏÊÓÔ×Ï ÂÏÌÅÅ ÔÉÈÉÍ, ÄÌÑ
-ÐÒÏÓÍÏÔÒÁ DVD 2700ëâ/Ó ÄÏÌÖÎÏ ÂÙÔØ ÔÉÈÏ É ÄÏÓÔÁÔÏÞÎÏ ÂÙÓÔÒÏ.
-MPlayer ÓÂÒÁÓÙ×ÁÅÔ ÓËÏÒÏÓÔØ ÄÏ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÕÓÔÒÏÊÓÔ×Á ÐÒÉ ×ÙÈÏÄÅ.
-úÎÁÞÅÎÉÑ ÍÅÎØÛÅ, ÞÅÍ 100 ÏÚÎÁÞÁÀÔ ÍÎÏÖÉÔÅÌØ ÄÌÑ ×ÅÌÉÞÉÎÙ 1350ëâ/Ó,
-ÔÏ ÅÓÔØ \-dvd\-speed 8 ×ÙÂÉÒÁÅÔ 10800ëâ/Ó.
-.br
-.I úáíåþáîéå:
-÷ÁÍ ÔÒÅÂÕÅÔÓÑ ÐÒÁ×Ï ÎÁ ÚÁÐÉÓØ × DVD ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÓËÏÒÏÓÔÉ.
-.
-.TP
-.B \-dvdangle <ID ÕÇÌÁ> (ÔÏÌØËÏ DVD)
-îÅËÏÔÏÒÙÅ DVD ÄÉÓËÉ ÓÏÄÅÒÖÁÔ ÓÃÅÎÙ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÓÍÏÔÒÅÔØ Ó ÒÁÚÎÙÈ ÕÇÌÏ×.
-úÄÅÓØ ×Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ MPlayer ËÁËÏÊ ÕÇÏÌ ÉÓÐÏÌØÚÏ×ÁÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-.
-.TP
-.B \-edl <ÆÁÊÌ>
-úÁÄÅÊÓÔ×ÕÅÔ ÄÅÊÓÔ×ÉÑ ÓÐÉÓËÁ ÒÅÛÅÎÉÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ (EDL) ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ.
-÷ÉÄÅÏ ÂÕÄÅÔ ÐÒÏÐÕÝÅÎÏ ÉÌÉ Ú×ÕË ÂÕÄÅÔ ×ËÌÀÞÅÎ/\:×ÙËÌÀÞÅÎ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó
-ÚÁÐÉÓÑÍÉ × ÕËÁÚÁÎÎÏÍ ÆÁÊÌÅ.
-óÍÏÔÒÉÔÅ http://www.mplayerhq.hu/\:DOCS/\:HTML/\:ru/\:edl.html ÄÌÑ ÐÏÄÒÏÂÎÏÓÔÅÊ ÏÂ
-ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÜÔÉÈ ÆÁÊÌÏ×.
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|size[b|kb|mb]> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-ss É \-sb)
-ïÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ × ÕËÁÚÁÎÎÏÅ ×ÒÅÍÑ ÉÌÉ ÂÁÊÔÏ×ÏÊ ÐÏÚÉÃÉÉ.
-.br
-.I úáíåþáîéå:
-âÁÊÔÏ×ÁÑ ÐÏÚÉÃÉÑ ÚÁÄÅÊÓÔ×ÕÅÔÓÑ ÔÏÌØËÏ ÄÌÑ MEncoder É ÂÕÄÅÔ ÎÅ ÏÞÅÎØ ÔÏÞÎÏÊ, ÐÏÓËÏÌØËÕ
-ÏÓÔÁÎÏ×ËÁ ×ÏÚÍÏÖÎÁ ÔÏÌØËÏ ÎÁ ÇÒÁÎÉÃÅ ËÁÄÒÁ.
-ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÓÏ×ÍÅÓÔÎÏ Ó ÏÐÃÉÅÊ \-ss, ×ÒÅÍÑ \-endpos ÂÕÄÅÔ ÓÄ×ÉÎÕÔÏ ×ÐÅÒÅÄ ÎÁ
-ÕËÁÚÁÎÎÏÅ Ó ÐÏÍÏÝØÀ \-ss ËÏÌÉÞÅÓÔ×Ï ÓÅËÕÎÄ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-ïÓÔÁÎÏ×ÉÔØÓÑ ÎÁ 56 ÓÅËÕÎÄÅ.
-.IPs "\-endpos 01:10:00"
-ïÓÔÁÎÏ×ÉÔØÓÑ ÞÅÒÅÚ 1 ÞÁÓ 10 ÍÉÎÕÔ.
-.IPs "\-ss 10 \-endpos 56"
-ïÓÔÁÎÏ×ÉÔØÓÑ ÎÁ ÐÏÚÉÃÉÉ 1 ÍÉÎÕÔÁ 6 ÓÅËÕÎÄ.
-.IPs "\-endpos 100mb"
-ëÏÄÉÒÏ×ÁÔØ ÔÏÌØËÏ 100 íÂ.
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÅÒÅÓÔÒÁÉ×ÁÅÔ ÉÎÄÅËÓ.
-ðÏÌÅÚÎÏ ÄÌÑ ÆÁÊÌÏ× Ó ÉÓÐÏÒÞÅÎÎÙÍ ÉÎÄÅËÓÏÍ (A/V ÒÁÓÓÉÎÈÒÏÎÉÚÁÃÉÑ, É Ô.Ð.).
-üÔÏ ÐÏÚ×ÏÌÉÔ ÐÅÒÅÍÅÝÁÔØÓÑ ÐÏ ÆÁÊÌÕ, × ËÏÔÏÒÏÍ ÐÅÒÅÍÅÝÅÎÉÅ ÂÙÌÏ ÎÅ×ÏÚÍÏÖÎÏ.
-÷Ù ÍÏÖÅÔÅ ÉÓÐÒÁ×ÉÔØ ÉÎÄÅËÓ × ÓÁÍÏÍ ÆÁÊÌÅ ÐÒÉ ÐÏÍÏÝÉ MEncoder (ÓÍÏÔÒÉÔÅ ÄÏËÕÍÅÎÔÁÃÉÀ).
-.br
-.I úáíåþáîéå:
-ïÐÃÉÑ ÒÁÂÏÔÁÅÔ, ÔÏÌØËÏ ÅÓÌÉ ÌÅÖÁÝÅÅ × ÏÓÎÏ×Å ÍÅÄÉÁ ÐÏÚ×ÏÌÑÅÔ ÐÅÒÅÍÅÝÅÎÉÅ
-(Ô.Å.\& ÎÅ Ó stdin, pipe, Ô.Ä.).
-.
-.TP
-.B \-fps <×ÅÝÅÓÔ×ÅÎÎÏÅ ÚÎÁÞÅÎÉÅ>
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÞÁÓÔÏÔÕ ËÁÄÒÏ×.
-ðÏÌÅÚÎÏ, ÅÓÌÉ ÏÒÉÇÉÎÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÎÅ×ÅÒÎÏ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÅÔ.
-.
-.TP
-.B \-frames <ÞÉÓÌÏ>
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ/\:ËÏÎ×ÅÒÔÉÒÕÅÔ ÔÏÌØËÏ ÐÅÒ×ÏÅ <ÞÉÓÌÏ> ËÁÄÒÏ×, ÚÁÔÅÍ ×ÙÈÏÄÉÔ.
-.
-.TP
-.B \-hr\-mp3\-seek (ÔÏÌØËÏ MP3)
-ôÏÞÎÏÅ ÐÅÒÅÍÅÝÅÎÉÅ ÐÏ MP3.
-÷ËÌÀÞÁÅÔÓÑ ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ ÉÚ ×ÎÅÛÎÅÇÏ MP3 ÆÁÊÌÁ, ËÁË ÔÏÌØËÏ ÔÒÅÂÕÅÔÓÑ ÏÞÅÎØ ÔÏÞÎÏÅ
-ÐÅÒÅÍÅÝÅÎÉÅ Ë ÐÏÚÉÃÉÉ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ A/V ÓÉÎÈÒÏÎÉÚÁÃÉÉ..
-íÏÖÅÔ ÂÙÔØ ÍÅÄÌÅÎÎÙÍ, ÏÓÏÂÅÎÎÏ ÐÒÉ ÐÅÒÅÍÅÝÅÎÉÉ ÎÁÚÁÄ, ÐÏÓËÏÌØËÕ ÎÅÏÂÈÏÄÉÍÏ
-ÐÅÒÅÍÅÓÔÉÔØÓÑ Ë ÎÁÞÁÌÕ ÄÌÑ ÐÏÉÓËÁ ÔÏÞÎÏÊ ÐÏÚÉÃÉÉ ËÁÄÒÁ.
-.
-.TP
-.B \-idx (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-forceidx)
-ðÅÒÅÓÔÒÁÉ×ÁÅÔ ÉÎÄÅËÓ ÆÁÊÌÁ, ÅÓÌÉ ÔÁËÏ×ÏÊ ÎÅ ÂÙÌ ÎÁÊÄÅÎ, ÐÏÚ×ÏÌÑÑ ÏÓÕÝÅÓÔ×ÌÑÔØ ÐÅÒÅÍÅÝÅÎÉÅ.
-ðÏÌÅÚÎÏ Ó ÉÓÐÏÒÞÅÎÎÙÍÉ/\:ÎÅ ÐÏÌÎÏÓÔØÀ ÓËÁÞÁÎÎÙÍÉ ÉÌÉ ÎÅ×ÅÒÎÏ ÓÏÚÄÁÎÎÙÍÉ ÆÁÊÌÁÍÉ.
-.br
-.I úáíåþáîéå:
-ïÐÃÉÑ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÅÓÌÉ ÌÅÖÁÝÅÅ × ÏÓÎÏ×Å ÍÅÄÉÁ ÐÏÚ×ÏÌÑÅÔ ÐÅÒÅÍÅÝÅÎÉÅ
-(Ô.Å.\& ÎÅ Ó stdin, pipe, Ô.Ä.).
-.
-.TP
-.B \-noidx
-ðÒÏÐÕÓÔÉÔØ ÓÏÚÄÁÎÉÅ ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ.
-MEncoder Ó ÜÔÏÊ ÏÐÃÉÅÊ ÐÒÏÐÕÓÔÉÔ ÚÁÐÉÓØ ÉÎÄÅËÓÁ.
-.
-.TP
-.B \-ipv4\-only\-proxy (ÔÏÌØËÏ ÓÅÔØ)
-õËÁÚÙ×ÁÅÔ ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏËÓÉ ÄÌÑ IPv6 ÁÄÒÅÓÏ×.
-ïÎ ÐÏ-ÐÒÅÖÎÅÍÕ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ IPv4 ÓÏÅÄÉÎÅÎÉÊ.
-.
-.TP
-.B \-loadidx <ÉÎÄÅËÓÎÙÊ ÆÁÊÌ>
-æÁÊÌ ÉÚ ËÏÔÏÒÏÇÏ ÓÌÅÄÕÅÔ ÞÉÔÁÔØ ÄÁÎÎÙÅ ÉÎÄÅËÓÁ ×ÉÄÅÏ, ÓÏÈÒÁÎÅÎÎÙÅ \-saveidx.
-üÔÏÔ ÉÎÄÅËÓ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ, ÐÅÒÅÏÐÒÅÄÅÌÑÑ ÌÀÂÙÅ
-ÉÎÄÅËÓÎÙÅ ÄÁÎÎÙÅ, ÓÏÄÅÒÖÁÝÉÅÓÑ × ÓÁÍÏÍ AVI.
-MPlayer ÎÅ ÚÁÐÒÅÝÁÅÔ ÚÁÇÒÕÚËÕ ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ, ÓÏÚÄÁÎÎÏÇÏ ÐÏ ÄÒÕÇÏÍÕ AVI ÆÉÌØÍÕ, ÎÏ
-ÜÔÏ ÏÂÑÚÁÔÅÌØÎÏ ÐÒÉ×ÅÄÅÔ Ë ÎÅÐÒÉÑÔÎÙÍ ÒÅÚÕÌØÔÁÔÁÍ.
-.br
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ ÕÓÔÁÒÅÌÁ, ÐÏÓËÏÌØËÕ MPlayer ÔÅÐÅÒØ ÉÍÅÅÔ ÐÏÄÄÅÒÖËÕ OpenDML.
-.
-.TP
-.B \-mc <ÓÅËÕÎÄ/ËÁÄÒ>
-íÁËÓÉÍÁÌØÎÁÑ ×ÅÌÉÞÉÎÁ ËÏÒÒÅËÔÉÒÏ×ËÉ A\-V ÓÉÎÈÒÏÎÉÚÁÃÉÉ ÎÁ ÏÄÉÎ ËÁÄÒ (× ÓÅËÕÎÄÁÈ)
-.
-.TP
-.B \-mf <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...>
-éÓÐÏÌØÚÕÅÔÓÑ ÐÒÉ ËÏÄÉÒÏ×ÁÎÉÉ ÉÚ ÎÅÓËÏÌØËÉÈ PNG ÉÌÉ JPEG ÆÁÊÌÏ×.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<ÚÎÁÞÅÎÉÅ>
-ÛÉÒÉÎÁ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ)
-.IPs h=<ÚÎÁÞÅÎÉÅ>
-×ÙÓÏÔÁ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ)
-.IPs fps=<ÚÎÁÞÅÎÉÅ>
-fps ÒÅÚÕÌØÔÁÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 25)
-.IPs type=<ÚÎÁÞÅÎÉÅ>
-ÔÉÐ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ (ÄÏÓÔÕÐÎÙ: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (ÔÏÌØËÏ AVI)
-ðÒÉÎÕÖÄÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÂÒÁÂÏÔÞÉË ÎÅÞÅÒÅÄÕÀÝÅÇÏÓÑ AVI
-(ÉÓÐÒÁ×ÌÑÅÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ÎÅËÏÔÏÒÙÈ ÐÌÏÈÉÈ AVI ÆÁÊÌÏ×).
-.
-.TP
-.B \-nobps (ÔÏÌØËÏ AVI)
-õËÁÚÙ×ÁÅÔ ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÒÅÄÎÅÅ ÚÎÁÞÅÎÉÅ ÂÁÊÔ/\:ÓÅËÕÎÄÕ ÄÌÑ
-A\-V ÓÉÎÈÒÏÎÉÚÁÃÉÉ. ðÏÍÏÇÁÅÔ ÄÌÑ ÎÅËÏÔÏÒÙÈ AVI ÆÁÊÌÏ× Ó ÉÓÐÏÒÞÅÎÎÙÍ ÚÁÇÏÌÏ×ËÏÍ.
-.
-.TP
-.B \-noextbased
-ïÔËÌÀÞÁÅÔ ×ÙÂÏÒ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ ÎÁ ÏÓÎÏ×Å ÒÁÓÛÉÒÅÎÉÑ ÆÁÊÌÁ.
-ÐÏ ÕÍÏÌÞÁÎÉÀ, ËÏÇÄÁ ÔÉÐ ÆÁÊÌÁ (ÄÅÍÕÌØÔÉÐÌÅËÓÏÒ) ÎÅ ÍÏÖÅÔ ÂÙÔØ ÄÏÓÔÏ×ÅÒÎÏ ÏÐÒÅÄÅÌÅÎ
-(ÆÁÊÌ ÎÅ ÉÍÅÅÔ ÚÁÇÏÌÏ×ËÁ, ÉÌÉ ÏÎ ÎÅÄÏÓÔÁÔÏÞÎÏ ÄÏÓÔÏ×ÅÒÅÎ), ÄÌÑ ×ÙÂÏÒÁ
-ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎÏ ÒÁÓÛÉÒÅÎÉÅ ÆÁÊÌÁ.
-ïÐÃÉÑ ÕËÁÚÙ×ÁÅÔ ×ÓÅÇÄÁ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏÄÅÒÖÉÍÏÅ ÆÁÊÌÁ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ.
-.
-.TP
-.B \-passwd <ÐÁÒÏÌØ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ see \-user) (ÔÏÌØËÏ ÓÅÔØ)
-õËÁÚÙ×ÁÅÔ ÐÁÒÏÌØ ÄÌÑ HTTP ÁÕÔÅÎÔÉÆÉËÁÃÉÉ.
-.
-.TP
-.B \-prefer\-ipv4 (ÔÏÌØËÏ ÓÅÔØ)
-éÓÐÏÌØÚÕÅÔ IPv4 ÄÌÑ ÓÅÔÅ×ÙÈ ÓÏÅÄÉÎÅÎÉÊ.
-ðÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÉÓÐÏÌØÚÕÅÔÓÑ IPv6.
-.
-.TP
-.B \-prefer\-ipv6 (ÔÏÌØËÏ IPv6 ÓÅÔØ)
-éÓÐÏÌØÚÕÅÔ IPv6 ÄÌÑ ÓÅÔÅ×ÙÈ ÓÏÅÄÉÎÅÎÉÊ.
-ðÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÉÓÐÏÌØÚÕÅÔÓÑ IPv4.
-.
-.TP
-.B \-psprobe <ÂÁÊÔÏ×ÁÑ ÐÏÚÉÃÉÑ>
-ðÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ MPEG\-PS ÉÌÉ MPEG\-PES ÐÏÔÏËÏ×, ÜÔÁ ÏÐÃÉÑ
-ÐÏÚ×ÏÌÑÅÔ ÕËÁÚÁÔØ ËÏÌÉÞÅÓÔ×Ï ÂÁÊÔ, ËÏÔÏÒÙÅ MPlayer ÄÏÌÖÅÎ
-ÐÒÏÓËÁÎÉÒÏ×ÁÔØ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÉÓÐÏÌØÚÕÅÍÏÇÏ ×ÉÄÅÏ ËÏÄÅËÁ.
-ïÎÁ ÔÒÅÂÕÅÔÓÑ ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ EVO ÉÌÉ VDR ÆÁÊÌÏ×, ÓÏÄÅÒÖÁÝÉÈ
-H.264 ÐÏÔÏËÉ.
-.
-.TP
-.B \-pvr <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...> (ÔÏÌØËÏ PVR)
-üÔÁ ÏÐÃÉÑ ÎÁÓÔÒÁÉ×ÁÅÔ ÒÁÚÌÉÞÎÙÅ Ó×ÏÊÓÔ×Á ËÏÄÉÒÏ×ÁÎÉÑ ÍÏÄÕÌÑ PVR.
-ïÎÁ ÄÏÌÖÎÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÌÀÂÏÊ ËÁÒÔÏÊ ÎÁ ÏÓÎÏ×Å ÁÐÐÁÒÁÔÎÏÇÏ MPEG
-ËÏÄÉÒÏ×ÝÉËÁ, ÓÏ×ÍÅÓÔÉÍÏÇÏ Ó ÄÒÁÊ×ÅÒÏÍ V4L2.
-Hauppauge WinTV PVR\-150/250/350/500 É ×ÓÅ ËÁÒÔÙ, ÏÓÎÏ×ÁÎÎÙÅ ÎÁ IVTV,
-ÉÚ×ÅÓÔÎÙ ËÁË PVR ËÁÒÔÙ ÚÁÈ×ÁÔÁ. úÎÁÊÔÅ, ÞÔÏ ÔÏÌØËÏ ÑÄÒÁ Linux ÓÔÁÒÛÅ 2.6.18
-ÓÐÏÓÏÂÎÙ ÏÂÒÁÂÁÔÙ×ÁÔØ MPEG ÐÏÔÏË ÞÅÒÅÚ ÓÌÏÊ V4L2.
-äÌÑ ÁÐÐÁÒÁÔÎÏÇÏ ÚÁÈ×ÁÔÁ MPEG ÐÏÔÏËÁ É ÅÇÏ ÐÒÏÓÍÏÔÒÁ Ó MPlayer/MEncoder,
-ÉÓÐÏÌØÚÕÊÔÅ 'pvr://' × ËÁÞÅÓÔ×Å URL ÆÉÌØÍÁ.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.RSs
-.IPs aspect=<0\-3>
-õËÁÚÙ×ÁÅÔ ×ÈÏÄÎÙÅ ÐÒÏÐÏÒÃÉÉ:
-.RSss
-0: 1:1
-.br
-1: 4:3 (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-õËÁÚÙ×ÁÅÔ ÞÁÓÔÏÔÕ ÄÉÓËÒÅÔÉÚÁÃÉÉ Ú×ÕËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 48000 çÃ, ÄÏÓÔÕÐÎÙ: 32000, 44100
-É 48000 çÃ).
-.IPs alayer=<1\-3>
-õËÁÚÙ×ÁÅÔ ÓÌÏÊ ËÏÄÉÒÏ×ÁÎÉÑ MPEG[MPEG layer](ÐÏ ÕÍÏÌÞÁÎÉÀ: 2).
-.IPs abitrate=<32\-448>
-õËÁÚÙ×ÁÅÔ ÂÉÔÐÏÔÏË ËÏÄÉÒÕÅÍÏÇÏ Ú×ÕËÁ × ËÂÉÔ/Ó (ÐÏ ÕÍÏÌÞÁÎÉÀ: 384).
-.IPs amode=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÒÅÖÉÍ ËÏÄÉÒÏ×ÁÎÉÑ Ú×ÕËÁ.
-äÏÓÔÕÐÎÙ ÓÌÅÄÕÀÝÉÅ ÐÒÅÄÕÓÔÁÎÏ×ËÉ: 'stereo', 'joint_stereo', 'dual'
-É 'mono' (ÐÏ ÕÍÏÌÞÁÎÉÀ: stereo).
-.IPs vbitrate=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÓÒÅÄÎÅÅ ÚÎÁÞÅÎÉÅ ÂÉÔÐÏÔÏËÁ ËÏÄÉÒÕÅÍÏÇÏ ×ÉÄÅÏ × íÂÉÔ/Ó (ÐÏ ÕÍÏÌÞÁÎÉÀ: 6).
-.IPs vmode=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÒÅÖÉÍ ËÏÄÉÒÏ×ÁÎÉÑ ×ÉÄÅÏ:
-.RSss
-vbr: ðÅÒÅÍÅÎÎÙÊ ÂÉÔÐÏÔÏË (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-cbr: ðÏÓÔÏÑÎÎÙÊ ÂÉÔÐÏÔÏË
-.REss
-.IPs vpeak=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÐÉËÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÂÉÔÐÏÔÏËÁ ËÏÄÉÒÕÅÍÏÇÏ ×ÉÄÅÏ × íÂÉÔ/Ó
-(ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ VBR ËÏÄÉÒÏ×ÁÎÉÑ, ÐÏ ÕÍÏÌÞÁÎÉÀ: 6.6).
-.IPs fmt=<ÚÎÁÞÅÎÉÅ>
-÷ÙÂÉÒÁÅÔ MPEG ÆÏÒÍÁÔ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ:
-.RSss
-ps: MPEG\-2 ðÒÏÇÒÁÍÍÎÙÊ ÐÏÔÏË (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-ts: MPEG\-2 ôÒÁÎÓÐÏÒÔÎÙÊ ÐÏÔÏË
-.br
-mpeg1: MPEG\-1 ÓÉÓÔÅÍÎÙÊ ÐÏÔÏË
-.br
-vcd: Video CD ÓÏ×ÍÅÓÔÉÍÙÊ ÐÏÔÏË
-.br
-svcd: Super Video CD ÓÏ×ÍÅÓÔÉÍÙÊ
-.br
-dvd: DVD ÓÏ×ÍÅÓÔÉÍÙÊ
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...> (ÔÏÌØËÏ ÒÁÄÉÏ)
-üÔÁ ÏÐÃÉÑ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÌÉÞÎÙÅ ÐÁÒÁÍÅÔÒÙ ÍÏÄÕÌÑ ÚÁÈ×ÁÔÁ Ó ÒÁÄÉÏ.
-äÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ ÒÁÄÉÏ Ó MPlayer ÉÓÐÏÌØÚÕÊÔÅ 'radio://<ÞÁÓÔÏÔÁ>'
-(ÅÓÌÉ ÎÅ ÕËÁÚÁÎÁ ÏÐÃÉÑ channels) ÉÌÉ 'radio://<ÎÏÍÅÒ ËÁÎÁÌÁ>'
-(ÅÓÌÉ ÏÐÃÉÑ channels ÕËÁÚÁÎÁ) × ËÁÞÅÓÔ×Å URL.
-÷Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ ÄÏÐÕÓÔÉÍÙÊ ÄÉÁÐÁÚÏÎ ÞÁÓÔÏÔ, ÚÁÐÕÓÔÉ× MPlayer
-Ó ÏÐÃÉÅÊ '\-v'.
-äÌÑ ÚÁÐÕÓËÁ ÐÏÄÓÉÓÔÅÍÙ ÚÁÈ×ÁÔÁ,
-ÉÓÐÏÌØÚÕÊÔÅ 'radio://<ÞÁÓÔÏÔÁ ÉÌÉ ËÁÎÁÌ>/capture'.
-åÓÌÉ ÎÅ ÕËÁÚÁÎÏ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï capture, ×Ù ÍÏÖÅÔÅ ÓÌÕÛÁÔØ ÒÁÄÉÏ ÔÏÌØËÏ
-ÐÒÉ ÐÏÍÏÝÉ line\-in ËÁÂÅÌÑ. éÓÐÏÌØÚÏ×ÁÎÉÅ capture ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ ÎÅ
-ÒÅËÏÍÅÎÄÕÅÔÓÑ × Ó×ÑÚÉ Ó ÐÒÏÂÌÅÍÁÍÉ ÓÉÎÈÒÏÎÉÚÁÃÉÉ, ËÏÔÏÒÙÅ
-ÄÅÌÁÀÔ ÐÒÏÓÌÕÛÉ×ÁÎÉÅ ÎÅËÏÍÆÏÒÔÎÙÍ.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.RSs
-.IPs device=<ÚÎÁÞÅÎÉÅ>
-éÓÐÏÌØÚÕÅÍÏÅ ÕÓÔÒÏÊÓÔ×Ï ÒÁÄÉÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/radio0 ÄÌÑ Linux É /dev/tuner0 ÄÌÑ *BSD).
-.IPs driver=<ÚÎÁÞÅÎÉÅ>
-éÓÐÏÌØÚÕÅÍÙÊ ÒÁÄÉÏ ÄÒÁÊ×ÅÒ (ÐÏ ÕÍÏÌÞÁÎÉÀ: v4l2 ÅÓÌÉ ÄÏÓÔÕÐÎÏ, ÉÎÁÞÅ v4l).
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÒÁÊ×ÅÒÙ v4l É v4l2.
-.IPs volume=<0..100>
-õÒÏ×ÅÎØ Ú×ÕËÁ ÄÌÑ ÒÁÄÉÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 100)
-.IPs "freq_min=<ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ *BSD BT848)"
-íÉÎÉÍÁÌØÎÁÑ ÄÏÐÕÓÔÉÍÁÑ ÞÁÓÔÏÔÁ (ÐÏ\-ÍÏÌÞÁÎÉÀ: 87.50)
-.IPs "freq_max=<ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ *BSD BT848)"
-íÁËÓÉÍÁÌØÎÁÑ ÄÏÐÕÓÔÉÍÁÑ ÞÁÓÔÏÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 108.00)
-.IPs channels=<ÞÁÓÔÏÔÁ>\-<ÎÁÚ×ÁÎÉÅ>,<ÞÁÓÔÏÔÁ>\-<ÎÁÚ×ÁÎÉÅ>,...
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÐÉÓÏË ËÁÎÁÌÏ×.
-éÓÐÏÌØÚÕÊÔÅ _ ×ÍÅÓÔÏ ÐÒÏÂÅÌÏ× × ÉÍÅÎÁÈ (ÉÌÉ ÉÇÒÁÊÔÅÓØ Ó ÜËÒÁÎÉÒÏ×ÁÎÉÅÍ ;\-).
-éÍÅÎÁ ËÁÎÁÌÏ× ÂÕÄÕÔ ×Ù×ÏÄÉÔØÓÑ ÐÒÉ ÐÏÍÏÝÉ OSD, É ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ Ó ÐÕÌØÔÁ
-ÂÕÄÕÔ ÄÏÓÔÕÐÎÙ ËÏÍÁÎÄÙ radio_step_channel É radio_set_channel (ÓÍÏÔÒÉÔÅ LIRC).
-åÓÌÉ ÜÔÁ ÏÐÃÉÑ ÕËÁÚÁÎÁ, ÔÏ ÞÉÓÌÏ × URL ÂÕÄÅÔ ÏÚÎÁÞÁÔØ ÐÏÚÉÃÉÀ ËÁÎÁÌÁ × ÓÐÉÓËÅ.
-.br
-.I ðòéíåò:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<ÚÎÁÞÅÎÉÅ> (Ó ×ËÌÀÞÅÎÎÏÊ ÐÏÄÄÅÒÖËÏÊ ÚÁÈ×ÁÔÁ Ó ÒÁÄÉÏ)"
-îÁÚ×ÁÎÉÅ ÕÓÔÒÏÊÓÔ×Á, Ó ËÏÔÏÒÏÇÏ ÂÕÄÅÔ ÐÒÏÉÚ×ÏÄÉÔØÓÑ ÚÁÈ×ÁÔ.
-âÅÚ ÅÇÏ ÕËÁÚÁÎÉÑ ÚÁÈ×ÁÔ ÂÕÄÅÔ ÏÔËÌÀÞÅÎ, ÄÁÖÅ ÅÓÌÉ × URL ÕËÁÚÁÎÏ ÓÌÏ×Ï capture.
-äÌÑ ALSA ÕÓÔÒÏÊÓÔ× ÕËÁÚÙ×ÁÊÔÅ ÅÇÏ × ×ÉÄÅ hw=<ËÁÒÔÁ>.<ÕÓÔÒÏÊÓÔ×Ï>.
-åÓÌÉ ÎÁÚ×ÁÎÉÅ ÕÓÔÒÏÊÓÔ×Á ÓÏÄÅÒÖÉÔ '=', ÔÏ ÄÌÑ ÚÁÈ×ÁÔÁ ÍÏÄÕÌØ ÂÕÄÅÔ
-ÉÓÐÏÌØÚÏ×ÁÔØ ALSA, ÉÎÁÞÅ OSS.
-.IPs "arate=<ÚÎÁÞÅÎÉÅ> (Ó ×ËÌÀÞÅÎÎÏÊ ÐÏÄÄÅÒÖËÏÊ ÚÁÈ×ÁÔÁ Ó ÒÁÄÉÏ)"
-þÁÓÔÏÔÁ × ÓÜÍÐÌÁÈ × ÓÅËÕÎÄÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 44100).
-.br
-.I úáíåþáîéå:
-ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÚÁÈ×ÁÔÁ Ú×ÕËÁ, ÕÓÔÁÎÏ×ÉÔÅ ÔÁËÖÅ ÏÐÃÉÀ
-\-rawaudio rate=<ÚÎÁÞÅÎÉÅ> Ó ÔÁËÉÍ ÖÅ ÚÎÁÞÅÎÉÅÍ, ËÁË Õ arate.
-åÓÌÉ Õ ×ÁÓ ÐÒÏÂÌÅÍÙ ÓÏ ÓËÏÒÏÓÔØÀ Ú×ÕËÁ (ÓÌÉÛËÏÍ ÂÙÓÔÒÙÊ), ÐÏÐÒÏÂÕÊÔÅ
-ÐÏÉÇÒÁÔØ Ó ÒÁÚÎÙÍÉ ÚÎÁÞÅÎÉÑÍÉ arate (ÎÁÐÒÉÍÅÒ, 48000,44100,32000,...).
-.IPs "achannels=<ÚÎÁÞÅÎÉÅ> (Ó ×ËÌÀÞÅÎÎÏÊ ÐÏÄÄÅÒÖËÏÊ ÚÁÈ×ÁÔÁ Ó ÒÁÄÉÏ)"
-ëÏÌÉÞÅÓÔ×Ï ÁÕÄÉÏ ËÁÎÁÌÏ× ÄÌÑ ÚÁÈ×ÁÔÁ.
-.RE
-.
-.TP
-.B \-rawaudio <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...>
-üÔÁ ÏÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ ÐÒÏÉÇÒÙ×ÁÔØ ÓÙÒÙÅ ÁÕÄÉÏ ÆÁÊÌÙ.
-÷ÁÍ ÐÒÉÄÅÔÓÑ ÔÁËÖÅ ÕËÁÚÁÔØ \-demuxer rawaudio.
-åÅ ÅÝÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÁÕÄÉÏ CD, ÏÔÌÉÞÎÙÈ ÏÔ 44Ëçà 16\-ÂÉÔ ÓÔÅÒÅÏ.
-äÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÓÙÒÙÈ AC\-3 ÐÏÔÏËÏ× ÉÓÐÏÌØÚÕÊÔÅ \-rawaudio format=0x2000 \-demuxer rawaudio.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<ÚÎÁÞÅÎÉÅ>
-ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ×
-.IPs rate=<ÚÎÁÞÅÎÉÅ>
-ÞÁÓÔÏÔÁ × ÓÜÍÐÌÁÈ × ÓÅËÕÎÄÕ
-.IPs samplesize=<ÚÎÁÞÅÎÉÅ>
-ÒÁÚÍÅÒ ÓÜÍÐÌÁ × ÂÁÊÔÁÈ
-.IPs bitrate=<ÚÎÁÞÅÎÉÅ>
-ÂÉÔÐÏÔÏË ÄÌÑ rawaudio ÆÁÊÌÏ×
-.IPs format=<ÚÎÁÞÅÎÉÅ>
-ÐÒÏÓÔÒÁÎÓÔ×Ï Ã×ÅÔÏ× (fourcc) × ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÏÍ ÆÏÒÍÁÔÅ ÉÌÉ × ×ÉÄÅ ÓÔÒÏËÏ×ÏÊ
-ËÏÎÓÔÁÎÔÙ.
-÷ÏÓÐÏÌØÚÕÊÔÅÓØ \-rawvideo format=help ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ×ÏÚÍÏÖÎÙÈ ÓÔÒÏËÏ×ÙÈ
-ËÏÎÓÔÁÎÔ.
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...>
-üÔÁ ÏÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ ×ÏÓÐÒÏÉÚ×ÏÄÉÔØ ÓÙÒÙÅ ×ÉÄÅÏ ÆÁÊÌÙ.
-÷ÁÍ ÐÒÉÄÅÔÓÑ ÔÁËÖÅ ÕËÁÚÁÔØ \-demuxer rawaudio.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<ÚÎÁÞÅÎÉÅ>
-ÞÁÓÔÏÔÁ × ËÁÄÒÁÈ × ÓÅËÕÎÄÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÔÁÎÄÁÒÔÎÙÊ ÒÁÚÍÅÒ ÉÚÏÂÒÁÖÅÎÉÑ
-.IPs w=<ÚÎÁÞÅÎÉÅ>
-ÛÉÒÉÎÁ ÉÚÏÂÒÁÖÅÎÉÑ × ÐÉËÓÅÌÁÈ
-.IPs h=<ÚÎÁÞÅÎÉÅ>
-×ÙÓÏÔÁ ÉÚÏÂÒÁÖÅÎÉÑ × ÐÉËÓÅÌÁÈ
-.IPs i420|yv12|yuy2|y8
-ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÏÓÔÒÁÎÓÔ×Ï Ã×ÅÔÏ×
-.IPs format=<ÚÎÁÞÅÎÉÅ>
-Ã×ÅÔÏ×ÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï (fourcc) × ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÏÍ ÆÏÒÍÁÔÅ
-.IPs size=<ÚÎÁÞÅÎÉÅ>
-ÒÁÚÍÅÒ ËÁÄÒÁ × ÂÁÊÔÁÈ
-.REss
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif \-demuxer rawvideo \-rawvideo qcif"
-ðÒÏÉÇÒÙ×ÁÅÔ ÉÚ×ÅÓÔÎÙÊ ÆÉÌØÍ "foreman".
-.IPs "mplayer sample-720x576.yuv \-demuxer rawvideo \-rawvideo w=720:h=576"
-ðÒÏÉÇÒÙ×ÁÅÔ ÓÙÒÏÊ YUV ÆÉÌØÍ.
-.RE
-.PD 1
-.
-.TP
-.B \-rtsp\-port
-éÓÐÏÌØÚÕÅÔÓÑ Ó 'rtsp://' URL ÄÌÑ ÎÁÚÎÁÞÅÎÉÑ ÎÏÍÅÒÁ ÐÏÒÔÁ ÎÁ ËÌÉÅÎÔÅ.
-ïÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÁ, ÅÓÌÉ ×Ù ÎÁÈÏÄÉÔÅÓØ ÚÁ ÍÁÒÛÒÕÔÉÚÁÔÏÒÏÍ É ÈÏÔÉÔÅ
-ÎÁÐÒÁ×ÌÑÔØ RTSP ÐÏÔÏË Ó ÓÅÒ×ÅÒÁ ÏÐÒÅÄÅÌÅÎÎÏÍÕ ËÌÉÅÎÔÕ.
-.
-.TP
-.B \-rtsp\-destination
-éÓÐÏÌØÚÕÅÔÓÑ Ó rtsp://' URL ÄÌÑ ÐÒÉ×ÑÚËÉ Ë ÕËÁÚÁÎÎÏÍÕ IP ÁÄÒÅÓÕ ÎÁÚÎÁÞÅÎÉÑ.
-ïÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÁ Ó ÎÅËÏÔÏÒÙÍÉ RTSP ÓÅÒ×ÅÒÁÍÉ, ÎÅ ÏÔÐÒÁ×ÌÑÀÝÉÍÉ
-RTP ÐÁËÅÔÙ ÎÁ ÎÕÖÎÙÊ ÉÎÔÅÒÆÅÊÓ. åÓÌÉ ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÓÏÅÄÉÎÅÎÉÅ
-Ó RTSP ÓÅÒ×ÅÒÏÍ, ÉÓÐÏÌØÚÕÊÔÅ ÏÐÃÉÀ \-v, ÞÔÏÂÙ ÏÐÒÅÄÅÌÉÔØ,
-Ë ËÁËÏÍÕ IP ÁÄÒÅÓÕ ÐÙÔÁÅÔÓÑ ÐÒÉ×ÑÚÁÔØÓÑ MPlayer, É ÐÏÐÙÔÁÊÔÅÓØ ÎÁÚÎÁÞÉÔØ
-×ÍÅÓÔÏ ÎÅÇÏ ÏÄÉÎ ÉÚ ÎÁÚÎÁÞÅÎÎÙÈ ×ÁÛÅÍÕ ËÏÍÐØÀÔÅÒÕ.
-.
-.TP
-.B \-rtsp\-stream\-over\-tcp (ÔÏÌØËÏ LIVE555 É NEMESI)
-éÓÐÏÌØÚÕÅÔÓÑ Ó'rtsp://' URL ÄÌÑ ÕËÁÚÁÎÉÑ, ÞÔÏ × ÒÅÚÕÌØÔÁÔÅ ×ÈÏÄÑÝÉÅ RTP É RTCP
-ÐÁËÅÔÙ ÄÏÌÖÎÙ ÐÅÒÅÄÁ×ÁÔØÓÑ ÐÏ TCP (ÉÓÐÏÌØÚÕÑ ÔÏ ÖÅ TCP ÓÏÅÄÉÎÅÎÉÅ, ÞÔÏ É RTSP).
-ïÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÁ, ÅÓÌÉ Õ ×ÁÓ ÎÅÓÔÁÂÉÌØÎÏÅ ÉÎÔÅÒÎÅÔ ÓÏÅÄÉÎÅÎÉÅ,
-ÎÅ ÐÒÏÐÕÓËÁÀÝÅÅ ×ÈÏÄÑÝÉÅ UDP ÐÁËÅÔÙ (ÓÍÏÔÒÉÔÅ http://www.live555.com/\:mplayer/).
-.
-.TP
-.B \-saveidx <ÆÁÊÌ>
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÐÅÒÅÓÔÒÁÉ×ÁÅÔ ÉÎÄÅËÓ É ÓÏÈÒÁÎÑÅÔ ÅÇÏ × <ÆÁÊÌ>.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÜÔÏ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó AVI ÆÁÊÌÁÍÉ.
-.br
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ ÕÓÔÁÒÅÌÁ, ÐÏÓËÏÌØËÕ MPlayer ÔÅÐÅÒØ ÉÍÅÅÔ ÐÏÄÄÅÒÖËÕ OpenDML.
-.
-.TP
-.B \-sb <ÂÁÊÔÏ×ÁÑ ÐÏÚÉÃÉÑ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-ss)
-ðÅÒÅÍÅÝÁÅÔÓÑ Ë ÂÁÊÔÏ×ÏÊ ÐÏÚÉÃÉÉ.
-ðÏÌÅÚÎÏ ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ Ó ÏÂÒÁÚÏ× CD-ROM ÉÌÉ VOB ÆÁÊÌÏ× Ó ÍÕÓÏÒÏÍ × ÎÁÞÁÌÅ.
-.
-.TP
-.B \-speed <0.01\-100>
-õÍÅÎØÛÁÅÔ ÉÌÉ Õ×ÅÌÉÞÉ×ÁÅÔ ÓËÏÒÏÓÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ × ÕËÁÚÁÎÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÒÁÚ.
-îÅ ÇÁÒÁÎÔÉÒÕÅÔÓÑ ÐÒÁ×ÉÌØÎÁÑ ÒÁÂÏÔÁ Ó \-oac copy.
-.
-.TP
-.B \-srate <çÃ>
-÷ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÕÀ ×ÙÈÏÄÎÕÀ ÞÁÓÔÏÔÕ ÓÜÍÐÌÏ×
-(ËÏÎÅÞÎÏ, Ú×ÕËÏ×ÙÅ ËÁÒÔÙ ÉÍÅÀÔ ÎÁ ÎÅÅ ÏÇÒÁÎÉÞÅÎÉÑ).
-åÓÌÉ ×ÙÂÒÁÎÎÁÑ ÞÁÓÔÏÔÁ ÓÜÍÐÌÏ× ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÔÅËÕÝÅÇÏ ÍÅÄÉÁ, ÔÏ ÄÌÑ ËÏÍÐÅÎÓÁÃÉÉ
-ÒÁÚÌÉÞÉÊ × ÓÌÏÊ Ú×ÕËÏ×ÙÈ ÆÉÌØÔÒÏ× ÂÕÄÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÏÂÁ×ÌÅÎ Ú×ÕËÏ×ÏÊ
-ÆÉÌØÔÒ resample ÉÌÉ lavcresample.
-ôÉÐ ÒÅÓÜÍÐÌÉÒÏ×ÁÎÉÑ ÍÏÖÅÔ ÂÙÔØ ÕËÁÚÁÎ ÏÐÃÉÅÊ \-af\-adv.
-ÐÏ ÕÍÏÌÞÁÎÉÀ, ÉÓÐÏÌØÚÕÅÔÓÑ ÂÙÓÔÒÏÅ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ, ÞÔÏ ÍÏÖÅÔ
-ÐÒÉ×ÅÓÔÉ Ë ÉÓËÁÖÅÎÉÑÍ.
-.
-.TP
-.B \-ss <time> (also see \-sb)
-ðÅÒÅÍÅÝÅÎÉÅ × ÕËÁÚÁÎÎÕÀ ×ÒÅÍÅÎÎÕÀ ÐÏÚÉÃÉÀ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-ðÅÒÅÍÅÝÁÅÔÓÑ Ë ÐÏÚÉÃÉÉ 56 ÓÅËÕÎÄ.
-.IPs "\-ss 01:10:00"
-ðÅÒÅÍÅÝÁÅÔÓÑ × ÐÏÚÉÃÉÀ 1 ÞÁÓ 10 ÍÉÎ.
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-õËÁÚÙ×ÁÅÔ MPlayer ÎÅ ÏÔÂÒÁÓÙ×ÁÔØ TS ÐÁËÅÔÙ × ÐÏÔÏËÅ, ÏÐÒÅÄÅÌÅÎÎÙÅ ËÁË ÉÓÐÏÒÞÅÎÎÙÅ.
-éÎÏÇÄÁ ÔÒÅÂÕÅÔÓÑ ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÉÓÐÏÒÞÅÎÎÙÈ MPEG\-TS ÆÁÊÌÏ×.
-.
-.TP
-.B \-tsprobe <ÂÁÊÔÏ×ÁÑ ÐÏÚÉÃÉÑ>
-ðÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ MPEG\-TS ÐÏÔÏËÁ, ÜÔÁ ÏÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ ÕËÁÚÁÔØ, × ÐÒÅÄÅÌÁÈ ËÁËÏÇÏ
-ËÏÌÉÞÅÓÔ×Á ÂÁÊÔ × ÐÏÔÏËÅ MPlayer ÄÏÌÖÅÎ ÉÓËÁÔØ ÖÅÌÁÅÍÙÅ ÁÕÄÉÏ É ×ÉÄÅÏ ID.
-.
-.TP
-.B \-tsprog <1\-65534>
-ðÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ MPEG\-TS ÐÏÔÏËÁ, ÜÔÏÊ ÏÐÃÉÅÊ ÍÏÖÎÏ ÕËÁÚÁÔØ ËÁËÕÀ
-ÐÒÏÇÒÁÍÍÕ (ÅÓÌÉ ÐÒÉÓÕÔÓÔ×ÕÅÔ) ×Ù ÈÏÔÉÔÅ ×ÏÓÐÒÏÉÚ×ÅÓÔÉ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó \-vid É \-aid.
-.
-.TP
-.B \-tv <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...> (ÔÏÌØËÏ TV/\:PVR)
-üÔÁ ÏÐÃÉÑ ÎÁÓÔÒÁÉ×ÁÅÔ ÒÁÚÌÉÞÎÙÅ Ó×ÏÊÓÔ×Á ÍÏÄÕÌÑ TV ÚÁÈ×ÁÔÁ.
-äÌÑ ÐÒÏÓÍÏÔÒÁ TV Ó MPlayer, ÉÓÐÏÌØÚÕÊÔÅ 'tv://' ÉÌÉ 'tv://<ÎÏÍÅÒ_ËÁÎÁÌÁ>'
-ÉÌÉ ÄÁÖÅ 'tv://<ÎÁÚ×ÁÎÉÅ_ËÁÎÁÌÁ> (ÓÍÏÔÒÉÔÅ ÎÉÖÅ ÏÐÃÉÀ channels ÄÌÑ ÐÏÄÒÏÂÎÏÓÔÅÊ Ï
-ÐÁÒÁÍÅÔÒÅ ÎÁÚ×ÁÎÉÅ_ËÁÎÁÌÁ) × ËÁÞÅÓÔ×Å URL.
-÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ 'tv:///<ÉÄ_×ÈÏÄÁ>', ÞÔÏÂÙ ÚÁÐÕÓÔÉÔØ ÐÒÏÓÍÏÔÒ ×ÉÄÅÏ Ó
-ËÏÍÐÏÚÉÔÎÏÇÏ ÉÌÉ S\-Video ×ÈÏÄÁ (ÐÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × ÏÐÉÓÁÎÉÉ ÏÐÃÉÉ input).
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.RSs
-.IPs noaudio
-ÂÅÚ Ú×ÕËÁ
-.IPs "automute=<0\-255> (ÔÏÌØËÏ v4l É v4l2)"
-åÓÌÉ ÕÒÏ×ÅÎØ ÓÉÇÎÁÌÁ, ×ÏÚ×ÒÁÝÁÅÍÙÊ ÕÓÔÒÏÊÓÔ×ÏÍ, ÍÅÎØÛÅ ÜÔÏÇÏ ÚÎÁÞÅÎÉÑ,
-ËÁÒÔÉÎËÁ É Ú×ÕË ÂÕÄÕÔ ÏÔËÌÀÞÅÎÙ.
-÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× automute=100 ÂÕÄÅÔ ÄÏÓÔÁÔÏÞÎÏ.
-úÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÎÏ 0 (Á×ÔÏÏÔËÌÀÞÅÎÉÅ ×ÙËÌÀÞÅÎÏ).
-.IPs driver=<ÚÎÁÞÅÎÉÅ>
-óÐÉÓÏË ×ËÏÍÐÌÉÒÏ×ÁÎÎÙÈ TV ÄÒÁÊ×ÅÒÏ× ÓÍÏÔÒÉÔÅ Ó ÐÏÍÏÝØÀ \-tv driver=help.
-ÄÏÓÔÕÐÎÙ: dummy, v4l, v4l2, bsdbt848 (Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ)
-.IPs device=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÕÓÔÒÏÊÓÔ×Ï TV (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:video0).
-.I úáíåþáîéå:
-äÌÑ bsdbt848 ÄÒÁÊ×ÅÒÁ ×Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ËÁË bktr, ÔÁË É tuner ÕÓÔÒÏÊÓÔ×Ï,
-ÒÁÚÄÅÌÉ× ÉÈ ÚÁÐÑÔÏÊ, tuner ÐÏÓÌÅ
-bktr (ÎÁÐÒÉÍÅÒ, \-tv device=/dev/bktr1,/dev/tuner1).
-.IPs input=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÉÓÔÏÞÎÉË (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0 (TV), ÓÍÏÔÒÉÔÅ ËÏÎÓÏÌØÎÙÊ ×Ù×ÏÄ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÄÏÓÔÕÐÎÙÈ
-ÉÓÔÏÞÎÉËÏ×).
-.IPs freq=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÞÁÓÔÏÔÕ, ÎÁ ËÏÔÏÒÕÀ ÎÅÏÂÈÏÄÉÍÏ ÎÁÓÔÒÏÉÔØÓÑ (ÎÁÐÒÉÍÅÒ 511.250).
-îÅ ÓÏ×ÍÅÓÔÉÍÏ Ó ÐÁÒÁÍÅÔÒÏÍ channels.
-.IPs outfmt=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÆÏÒÍÁÔ ×Ù×ÏÄÁ Ó ÔÀÎÅÒÁ × ÏÄÎÏ ÉÚ ÐÒÅÄÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÚÎÁÞÅÎÉÊ,
-ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÄÒÁÊ×ÅÒÏÍ V4L (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) ÉÌÉ ×
-ÐÒÏÉÚ×ÏÌØÎÙÊ ÆÏÒÍÁÔ, ÚÁÄÁÎÎÙÊ ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÙÍ ÚÎÁÞÅÎÉÅÍ.
-ðÏÐÒÏÂÕÊÔÅ outfmt=help, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÆÏÒÍÁÔÏ×.
-.IPs width=<ÚÎÁÞÅÎÉÅ>
-ûÉÒÉÎÁ ÏËÎÁ ×Ù×ÏÄÁ
-.IPs height=<ÚÎÁÞÅÎÉÅ>
-÷ÙÓÏÔÁ ÏËÎÁ ×Ù×ÏÄÁ
-.IPs fps=<ÚÎÁÞÅÎÉÅ>
-þÁÓÔÏÔÁ ËÁÄÒÏ× Ó ËÏÔÏÒÏÊ ÚÁÈ×ÁÔÙ×ÁÅÔÓÑ ×ÉÄÅÏ (ËÁÄÒÏ× × ÓÅËÕÎÄÕ)
-.IPs buffersize=<ÚÎÁÞÅÎÉÅ>
-íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÂÕÆÅÒÁ ÚÁÈ×ÁÔÁ × ÍÅÇÁÂÁÊÔÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÄÉÎÁÍÉÞÅÓËÉÊ)
-.IPs norm=<ÚÎÁÞÅÎÉÅ>
-äÌÑ bsdbt848 É v4l ÄÏÓÔÕÐÎÙ PAL, SECAM, NTSC.
-äÌÑ v4l2 ÓÍÏÔÒÉÔÅ ËÏÎÓÏÌØÎÙÊ ×Ù×ÏÄ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ÄÏÓÔÕÐÎÙÈ ÓÔÁÎÄÁÒÔÏ×.
-ÍÏÖÅÔÅ ÔÁËÖÅ ÐÏÓÍÏÔÒÅÔØ ÏÐÃÉÀ normid ÎÉÖÅ.
-.IPs "normid=<ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ v4l2)"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ TV ÓÔÁÎÄÁÒÔ × ÕËÁÚÁÎÎÏÅ ÞÉÓÌÏ×ÏÅ ID.
-TV ÓÔÁÎÄÁÒÔ ÚÁ×ÉÓÉÔ ÏÔ ËÁÒÔÙ ÚÁÈ×ÁÔÁ.
-óÍÏÔÒÉÔÅ ËÏÎÓÏÌØÎÙÊ ×Ù×ÏÄ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ÄÏÓÔÕÐÎÙÈ TV ÓÔÁÎÄÁÒÔÏ×.
-.IPs channel=<ÚÎÁÞÅÎÉÅ>
-ðÅÒÅËÌÀÞÁÅÔ ÔÀÎÅÒ ÎÁ <ÚÎÁÞÅÎÉÅ> ËÁÎÁÌ.
-.IPs chanlist=<ÚÎÁÞÅÎÉÅ>
-äÏÓÔÕÐÎÙ: europe\-east, europe\-west, us\-bcast, us\-cable, ÄÒÕÇÉÅ
-.IPs channels=<ËÁÎÁÌ>\-<ÎÁÚ×ÁÎÉÅ>[=<ÓÔÁÎÄÁÒÔ>],<ËÁÎÁÌ>\-<ÎÁÚ×ÁÎÉÅ>[=<ÓÔÁÎÄÁÒÔ>],...
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÁÚ×ÁÎÉÑ ÄÌÑ ËÁÎÁÌÏ×.
-.I úáíåþáîéå:
-åÓÌÉ <ËÁÎÁÌ> Ñ×ÌÑÅÔÓÑ ÞÉÓÌÏÍ, ÂÏÌØÛÉÍ 1000, ÔÏ ÏÎ ÂÕÄÅÔ ÔÒÁËÔÏ×ÁÔØÓÑ ËÁË
-ÞÁÓÔÏÔÁ, Á ÎÅ ÎÁÚ×ÁÎÉÅ ËÁÎÁÌÁ ÉÚ ÔÁÂÌÉÃÙ ÞÁÓÔÏÔ.
-.br
-éÓÐÏÌØÚÕÊÔÅ _ ×ÍÅÓÔÏ ÐÒÏÂÅÌÏ× × ÎÁÚ×ÁÎÉÑÈ (ÉÌÉ ÐÏÉÇÒÁÊÔÅ Ó ÜËÒÁÎÉÒÏ×ÁÎÉÅÍ ;\-).
-îÁÚ×ÁÎÉÑ ËÁÎÁÌÏ× ÂÕÄÕÔ ×Ù×ÏÄÉÔØÓÑ ÐÒÉ ÐÏÍÏÝÉ OSD, É ÓÔÁÎÕÔ ÄÏÓÔÕÐÎÙÍÉ
-ËÏÍÁÎÄÙ tv_step_channel, tv_set_channel É tv_last_channel, ÐÏÌÅÚÎÙÅ ÄÌÑ
-ÕÐÒÁ×ÌÅÎÉÑ Ó ÐÕÌØÔÁ (ÓÍÏÔÒÉÔÅ LIRC).
-îÅ ÓÏ×ÍÅÓÔÉÍÁ Ó ÐÁÒÁÍÅÔÒÏÍ frequency.
-.br
-.I úáíåþáîéå:
-ðÏÓÌÅ ÜÔÏÇÏ ÎÏÍÅÒ ËÁÎÁÌÁ ÂÕÄÅÔ Ñ×ÌÑÔØÓÑ ÐÏÚÉÃÉÅÊ × ÓÐÉÓËÅ 'channels',
-ÎÁÞÉÎÁÑ Ó 1.
-.br
-.I ðòéíåò:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÜË×ÁÌÁÊÚÅÒ ÉÚÏÂÒÁÖÅÎÉÑ ÎÁ ËÁÒÔÅ.
-.IPs audiorate=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÁÕÄÉÏ ÂÉÔÐÏÔÏË.
-.IPs forceaudio
-õËÁÚÙ×ÁÅÔ ÚÁÈ×ÁÔÙ×ÁÔØ Ú×ÕË ÄÁÖÅ ÅÓÌÉ v4l ÓÏÏÂÝÁÅÔ, ÞÔÏ ÎÅÔ ÉÓÔÏÞÎÉËÏ× Ú×ÕËÁ.
-.IPs "alsa\ "
-úÁÈ×ÁÔ ÞÅÒÅÚ ALSA.
-.IPs amode=<0\-3>
-÷ÙÂÉÒÁÅÔ ÁÕÄÉÏ ÒÅÖÉÍ:
-.RSss
-0: ÍÏÎÏ
-.br
-1: ÓÔÅÒÅÏ
-.br
-2: ÑÚÙË 1
-.br
-3: ÑÚÙË 2
-.REss
-.IPs forcechan=<1\-2>
-ÐÏ ÕÍÏÌÞÁÎÉÀ, ËÏÌÉÞÅÓÔ×Ï ÚÁÐÉÓÙ×ÁÅÍÙÈ ÁÕÄÉÏ ËÁÎÁÌÏ× ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ,
-ÚÁÐÒÁÛÉ×ÁÑ ÒÅÖÉÍ ÁÕÄÉÏ Õ TV ËÁÒÔÙ.
-üÔÁ ÏÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ ÐÒÉÎÕÄÉÔÅÌØÎÏ ÎÁÚÎÁÞÉÔØ ÓÔÅÒÅÏ/\:ÍÏÎÏ ÚÁÐÉÓØ ÎÅÚÁ×ÉÓÉÍÏ
-ÏÔ ÏÐÃÉÉ amode É ÚÎÁÞÅÎÉÊ, ×ÏÚ×ÒÁÝÁÅÍÙÈ v4l.
-üÔÏ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ ÄÌÑ ÒÅÛÅÎÉÑ ÐÒÏÂÌÅÍ, × ÓÌÕÞÁÅ ËÏÇÄÁ TV ËÁÒÔÁ ÎÅ
-ÓÐÏÓÏÂÎÁ ÕËÁÚÁÔØ ÔÅËÕÝÉÊ ÁÕÄÉÏ ÒÅÖÉÍ.
-.IPs adevice=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÁÕÄÉÏ ÕÓÔÒÏÊÓÔ×Ï.
-<ÚÎÁÞÅÎÉÅ> ÄÏÌÖÎÏ ÂÙÔØ /dev/\:xxx ÄÌÑ OSS É ÁÐÐÁÒÁÔÎÙÊ ID ÄÌÑ ALSA.
-÷Ù ÄÏÌÖÎÙ ÚÁÍÅÎÉÔØ ÌÀÂÙÅ ':' ÎÁ '.' × ID ÄÌÑ ALSA.
-.IPs audioid=<ÚÎÁÞÅÎÉÅ>
-÷ÙÂÉÒÁÅÔ ×ÙÈÏÄ Ú×ÕËÁ ËÁÒÔÙ ÚÁÈ×ÁÔÁ, ÅÓÌÉ ÉÈ ÂÏÌÅÅ ÏÄÎÏÇÏ.
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-üÔÉ ÏÐÃÉÉ ÕÓÔÁÎÁ×ÌÉ×ÁÀÔ ÐÁÒÁÍÅÔÒÙ ÍÉËÛÅÒÁ ÎÁ ËÁÒÔÅ ×ÉÄÅÏ ÚÁÈ×ÁÔÁ.
-ïÎÉ ÎÅ ÉÍÅÀÔ ÜÆÆÅËÔÁ, ÅÓÌÉ ÎÁ ËÁÒÔÅ ÔÁËÏ×ÏÇÏ ÎÅÔ.
-äÌÑ v4l2, 50 ÏÚÎÁÞÁÅÔ ÜÌÅÍÅÎÔ ÕÐÒÁ×ÌÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ, ËÁË ÕËÁÚÁÎÏ
-ÄÒÁÊ×ÅÒÏÍ.
-.IPs "gain=<0\-100> (v4l2)"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÒÏ×ÅÎØ ÕÓÉÌÅÎÉÑ ÓÉÇÎÁÌÁ ÄÌÑ ×ÉÄÅÏ ÕÓÔÒÏÊÓÔ× (ÏÂÙÞÎÏ ×ÅÂËÁÍÅÒ)
-× ÖÅÌÁÅÍÕÀ ×ÅÌÉÞÉÎÕ É ÏÔËÌÀÞÁÅÔ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ËÏÒÒÅËÃÉÀ.
-úÎÁÞÅÎÉÅ 0 ×ËÌÀÞÁÅÔ Á×ÔÏÍÁÔÉÞÅÓËÏÅ ÕÐÒÁ×ÌÅÎÉÅ ÕÒÏ×ÎÅÍ ÕÓÉÌÅÎÉÑ ÓÉÇÎÁÌÁ.
-åÓÌÉ ÜÔÁ ÏÐÃÉÑ ÎÅ ÕËÁÚÁÎÁ, ÚÎÁÞÅÎÉÅ ÄÁÎÎÏÇÏ ÜÌÅÍÅÎÔÁ ÕÐÒÁ×ÌÅÎÉÅ ÏÓÔÁÅÔÓÑ
-ÎÅÉÚÍÅÎÎÙÍ.
-.IPs immediatemode=<ÌÏÇÉÞÅÓËÏÅ>
-úÎÁÞÅÎÉÅ 0 ÏÚÎÁÞÁÅÔ ÓÏ×ÍÅÓÔÎÙÊ ÚÁÈ×ÁÔ É ÂÕÆÅÒÉÚÁÃÉÀ Ú×ÕËÁ É ×ÉÄÅÏ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ MEncoder).
-úÎÁÞÅÎÉÅ 1 (ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ MPlayer) ÏÚÎÁÞÁÅÔ ÚÁÈ×ÁÔ ÔÏÌØËÏ ×ÉÄÅÏ É ÐÒÏÈÏÖÄÅÎÉÅ
-Ú×ÕËÁ ÞÅÒÅÚ ËÁÂÅÌØ ÏÔ TV ËÁÒÔÙ Ë Ú×ÕËÏ×ÏÊ.
-.IPs mjpeg
-éÓÐÏÌØÚÕÅÔÓÑ ÁÐÐÁÒÁÔÎÏÅ MJPEG ÓÖÁÔÉÅ (ÅÓÌÉ ËÁÒÔÁ ÅÇÏ ÐÏÄÄÅÒÖÉ×ÁÅÔ).
-ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÜÔÏÊ ÏÐÃÉÉ, ×ÁÍ ÎÅ ÔÒÅÂÕÅÔÓÑ ÕËÁÚÙ×ÁÔØ ÛÉÒÉÎÕ É ×ÙÓÏÔÕ
-ÏËÎÁ ×Ù×ÏÄÁ, ÐÏÔÏÍÕ ÞÔÏ MPlayer ÏÐÒÅÄÅÌÉÔ ÉÈ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏ
-ÚÎÁÞÅÎÉÀ decimation (ÓÍÏÔÒÉÔÅ ÎÉÖÅ).
-.IPs decimation=<1|2|4>
-×ÙÂÉÒÁÅÔ ÒÁÚÍÅÒ ËÁÒÔÉÎËÉ, ÓÖÉÍÁÅÍÏÊ ÁÐÐÁÒÁÔÎÙÍ MJPEG ËÏÄÉÒÏ×ÝÉËÏÍ:
-.RSss
-1: full size
- 704x576 PAL
- 704x480 NTSC
-.br
-2: medium size
- 352x288 PAL
- 352x240 NTSC
-.br
-4: small size
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-÷ÙÂÉÒÁÅÔ ËÁÞÅÓÔ×Ï JPEG ÓÖÁÔÉÑ
-(ÄÌÑ ÐÏÌÎÏÇÏ ÒÁÚÍÅÒÁ ÒÅËÏÍÅÎÄÕÅÔÓÑ < 60).
-.IPs tdevice=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÕÓÔÒÏÊÓÔ×Ï TV ÔÅÌÅÔÅËÓÔÁ (ÎÁÐÒÉÍÅÒ: /dev/\:vbi0) (ÐÏ ÕÍÏÌÞÁÎÉÀ:
-ÏÔÓÕÔÓÔ×ÕÅÔ).
-.IPs tformat=<ÆÏÒÍÁÔ>
-õËÁÚÙ×ÁÅÔ ÆÏÒÍÁÔ ÏÔÏÂÒÁÖÅÎÉÑ TV ÔÅÌÅÔÅËÓÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0):
-.RSss
-0: ÎÅÐÒÏÚÒÁÞÎÙÊ
-.br
-1: ÐÒÏÚÒÁÞÎÙÊ
-.br
-2: ÎÅÐÒÏÚÒÁÞÎÙÊ Ó ÉÎ×ÅÒÔÉÒÏ×ÁÎÎÙÍÉ Ã×ÅÔÁÍÉ
-.br
-3: ÐÒÏÚÒÁÞÎÙÊ Ó ÉÎ×ÅÒÔÉÒÏ×ÁÎÎÙÍÉ Ã×ÅÔÁÍÉ
-.REss
-.IPs tpage=<100\-899>
-õËÁÚÙ×ÁÅÔ ÎÁÞÁÌØÎÕÀ ÓÔÒÁÎÉÃÕ TV ÔÅÌÅÔÅËÓÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 100).
-.IPs tlang=<\-1\-127>
-õËÁÚÙ×ÁÅÔ ËÏÄ ÑÚÙËÁ ÔÅÌÅÔÅËÓÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0), ËÏÔÏÒÙÊ ÂÕÄÅÔ
-ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × ËÁÞÅÓÔ×Å ÏÓÎÏ×ÎÏÇÏ ÑÚÙËÁ ÄÏ ÔÅÈ ÐÏÒ,
-ÐÏËÁ ÎÅ ÂÕÄÅÔ ÐÏÌÕÞÅÎ ÐÁËÅÔ 28.
-ðÏÌÅÚÎÁ, ËÏÇÄÁ × ÔÅÌÅÔÅËÓÔÅ ÉÓÐÏÌØÚÕÅÔÓÑ ËÏÄÉÒÏ×ËÁ, ÏÔÌÉÞÎÁÑ ÏÔ ÌÁÔÉÎÉÃÙ, Á
-ÑÚÙËÏ×ÙÅ ËÏÄÙ ÐÏ ËÁËÏÊ\-ÔÏ ÐÒÉÞÉÎÅ ÎÅ ÐÅÒÅÄÁÀÔÓÑ ÐÏÓÒÅÄÓÔ×ÏÍ ÐÁËÅÔÁ 28.
-óÐÉÓÏË ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÑÚÙËÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ, ÕÓÔÁÎÏ×É× ÚÎÁÞÅÎÉÅ ÜÔÏÊ ÏÐÃÉÉ × \-1.
-.IPs "hidden_video_renderer (ÔÏÌØËÏ dshow)"
-úÁ×ÅÒÛÁÅÔ ÃÅÐÏÞËÕ ÆÉÌØÔÒÏÍ video renderer ×ÍÅÓÔÏ Null renderer (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-äÏÌÖÎÁ ÐÏÍÏÞØ, ÅÓÌÉ ×ÉÄÅÏ ÚÁÓÔÙ×ÁÅÔ, Á Ú×ÕË \- ÎÅÔ.
-.I úáíåþáîéå:
-íÏÖÅÔ ÎÅ ÒÁÂÏÔÁÔØ ÓÏ×ÍÅÓÔÎÏ Ó ËÏÍÂÉÎÁÃÉÅÊ \-vo directx É \-vf crop.
-.IPs "hidden_vp_renderer (ÔÏÌØËÏ dshow)"
-úÁ×ÅÒÛÁÅÔ ÃÅÐÏÞËÕ ËÏÎÎÅËÔÏÒÁ VideoPort ÆÉÌØÔÒÏÍ video renderer
-×ÍÅÓÔÏ ÕÄÁÌÅÎÉÑ ÚÁ×ÅÒÛÁÀÝÅÇÏ ÆÉÌØÔÒÁ ÉÚ ÇÒÁÆÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-ðÏÌÅÚÎÏ ËÏÇÄÁ ×ÁÛÁ ËÁÒÔÁ ÉÍÅÅÔ VideoPort ËÏÎÎÅËÔÏÒ É ×ÉÄÅÏ ÄÅÒÇÁÅÔÓÑ.
-.I úáíåþáîéå:
-íÏÖÅÔ ÎÅ ÒÁÂÏÔÁÔØ ÓÏ×ÍÅÓÔÎÏ Ó ËÏÍÂÉÎÁÃÉÅÊ \-vo directx É \-vf crop.
-.IPs "system_clock (ÔÏÌØËÏ dshow)"
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÉÓÔÅÍÎÙÅ ÞÁÓÙ × ËÁÞÅÓÔ×Å ÉÓÔÏÞÎÉËÁ ÓÉÎÈÒÏÎÉÚÁÃÉÉ ×ÍÅÓÔÏ
-ÉÓÔÏÞÎÉËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ (ÏÂÙÞÎÏ ÞÁÓÙ ÏÄÎÏÇÏ ÉÚ ÉÓÔÏÞÎÉËÏ× ÚÁÈ×ÁÔÁ × ÇÒÁÆÅ).
-.IPs "normalize_audio_chunks (ÔÏÌØËÏ dshow)"
-óÏÚÄÁÅÔ ÁÕÄÉÏ ÂÌÏËÉ, ÜË×É×ÁÌÅÎÔÎÙÅ ÐÏ ÄÌÉÔÅÌØÎÏÓÔÉ ÏÄÎÏÍÕ ×ÉÄÅÏ ËÁÄÒÕ (ÐÏ
-ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-îÅËÏÔÏÒÙÅ ÁÕÄÉÏ ËÁÒÔÙ ÓÏÚÄÁÀÔ ÁÕÄÉÏ ÂÌÏËÉ ÄÌÉÎÏÊ ÏËÏÌÏ 0.5ÓÅË, ÞÔÏ ÐÒÉ×ÏÄÉÔ Ë
-ÄÅÒÇÁÀÝÅÍÕÓÑ ×ÉÄÅÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ immediatemode=0.
-.RE
-.
-.TP
-.B \-tvscan <option1:option2:...> (ÔÏÌØËÏ TV É MPlayer)
-îÁÓÔÒÁÉ×ÁÅÔ ÓËÁÎÅÒ TV ËÁÎÁÌÏ×.
-MPlayer ÔÁËÖÅ ×Ù×ÅÄÅÔ ÚÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ "\-tv channels=",
-×ËÌÀÞÁÑ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÉÅ É ÔÏÌØËÏ ÞÔÏ ÎÁÊÄÅÎÎÙÅ ËÁÎÁÌÙ.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÐÏÄÏÐÃÉÉ:
-.RSs
-.IPs autostart
-îÁÞÁÔØ ÓËÁÎÉÒÏ×ÁÎÉÅ ËÁÎÁÌÏ× ÓÒÁÚÕ ÐÏÓÌÅ ÚÁÐÕÓËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-.IPs period=<0.1\-2.0>
-õËÁÚÙ×ÁÅÔ ÚÁÄÅÒÖËÕ × ÓÅËÕÎÄÁÈ ÐÅÒÅÄ ÐÅÒÅËÌÀÞÅÎÉÅÍ ÎÁ ÓÌÅÄÕÀÝÉÊ ËÁÎÁÌ (ÐÏ
-ÕÍÏÌÞÁÎÉÀ: 0.5).
-íÅÎØÛÉÅ ÚÎÁÞÅÎÉÅ ÐÒÉ×ÅÄÕÔ Ë ÂÏÌÅÅ ÂÙÓÔÒÏÍÕ ÓËÁÎÉÒÏ×ÁÎÉÀ, ÎÏ ÏÔÓÕÔÓÔ×ÕÀÝÉÅ ËÁÎÁÌÙ
-ÍÏÇÕÔ ÂÙÔØ ÏÛÉÂÏÞÎÏ ÐÒÉÎÑÔÙ ÚÁ ÁËÔÉ×ÎÙÅ.
-.IPs threshold=<1\-100>
-ðÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ (× ÐÒÏÃÅÎÔÁÈ) ÄÌÑ ÕÒÏ×ÎÑ ÓÉÇÎÁÌÁ, ×ÏÚ×ÒÁÝÁÅÍÏÇÏ
-ÕÓÔÒÏÊÓÔ×ÏÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 50).
-âÏÌØÛÉÊ ÞÅÍ ÜÔÏ ÚÎÁÞÅÎÉÅ ÕÒÏ×ÅÎØ ÓÉÇÎÁÌÁ ÂÕÄÅÔ ÏÚÎÁÞÁÔØ, ÞÔÏ ÓËÁÎÉÒÕÅÍÙÊ ×
-ÄÁÎÎÙÊ ÍÏÍÅÎÔ ËÁÎÁÌ ÁËÔÉ×ÅÎ.
-.RE
-.
-.TP
-.B \-user <ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-passwd) (ÔÏÌØËÏ ÓÅÔØ)
-õËÁÚÙ×ÁÅÔ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ HTTP ÁÕÔÅÎÔÉÆÉËÁÃÉÉ.
-.
-.TP
-.B \-user\-agent <ÓÔÒÏËÁ>
-éÓÐÏÌØÚÕÅÔÓÑ <ÓÔÒÏËÁ> × ËÁÞÅÓÔ×Å ÚÎÁÞÅÎÉÑ user agent ÄÌÑ ÐÏÔÏËÏ× HTTP.
-.
-.TP
-.B \-vid <ID>
-÷ÙÂÉÒÁÅÔ ×ÉÄÅÏ ËÁÎÁÌ (MPG: 0\-15, ASF: 0\-255, MPEG\-TS: 17\-8190).
-ðÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ ÐÏÔÏËÁ MPEG\-TS, MPlayer/\:MEncoder ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÐÅÒ×ÕÀ ÐÒÏÇÒÁÍÍÕ (ÅÓÌÉ ÐÒÉÓÕÔÓÔ×ÕÅÔ) Ó ÕËÁÚÁÎÎÙÍ ×ÉÄÅÏ ÐÏÔÏËÏÍ.
-.
-.TP
-.B \-vivo <ÐÏÄÏÐÃÉÉ> (ëïä ïôìáäëé)
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÁÒÁÍÅÔÒÙ Ú×ÕËÁ ÄÌÑ VIVO ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ (ÄÌÑ ÏÔÌÁÄÏÞÎÙÈ ÃÅÌÅÊ).
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.
-.
-.SH "ïðãéé OSD/óõâôéôòï÷"
-.I úáíåþáîéå:
-óÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf expand.
-.
-.TP
-.B \-ass (ÔÏÌØËÏ FreeType)
-÷ËÌÀÞÁÅÔ ÒÅÎÄÅÒÉÎÇ ÓÕÂÔÉÔÒÏ× SSA/ASS.
-ó ÜÔÏÊ ÏÐÃÉÅÊ ÄÌÑ ×ÎÅÛÎÉÈ ÓÕÂÔÉÔÒÏ× SSA/ASS É ÄÏÒÏÖÅË Matroska ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
-libass. óÍÏÔÒÉÔÅ ÔÁËÖÅ \-embeddedfonts.
-.br
-.I úáíåþáîéå:
-÷ ÏÔÌÉÞÉÅ ÏÔ ÏÂÙÞÎÏÇÏ OSD, libass ÉÓÐÏÌØÚÕÅÔ fontconfig ÐÏ
-ÕÍÏÌÞÁÎÉÀ. äÌÑ ÅÇÏ ÏÔËÌÀÞÅÎÉÑ, ÉÓÐÏÌØÚÕÊÔÅ \-nofontconfig.
-.
-.TP
-.B \-ass\-border\-color <ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ Ã×ÅÔ ÇÒÁÎÉÃÙ (ÏÂÒÁÍÌÅÎÉÑ) ÄÌÑ ÔÅËÓÔÁ ÓÕÂÔÉÔÒÏ×.
-æÏÒÍÁÔ Ã×ÅÔÁ: RRGGBBAA.
-.
-.TP
-.B \-ass\-bottom\-margin <ÚÎÁÞÅÎÉÅ>
-äÏÂÁ×ÌÑÅÔ ÞÅÒÎÕÀ ÐÏÌÏÓÕ × ÎÉÖÎÅÊ ÞÁÓÔÉ ËÁÄÒÁ.
-òÅÎÄÅÒÅÒ SSA/ASS ÍÏÖÅÔ ÐÏÍÅÓÔÉÔØ ÔÕÄÁ ÓÕÂÔÉÔÒÙ (Ó \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-color <ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ Ã×ÅÔ ÔÅËÓÔÁ ÓÕÂÔÉÔÒÏ×.
-æÏÒÍÁÔ Ã×ÅÔÁ: RRGGBBAA.
-.
-.TP
-.B \-ass\-font\-scale <ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÜÆÆÉÃÉÅÎÔ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ, ÉÓÐÏÌØÚÕÅÍÙÊ × ÒÅÎÄÅÒÅÒÅ SSA/ASS.
-.
-.TP
-.B \-ass\-force\-style <[óÔÉÌØ.]ðÁÒÁÍÅÔÒ=úÎÁÞÅÎÉÅ[,...]>
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÎÅËÏÔÏÒÙÅ ÐÁÒÁÍÅÔÒÙ ÓÔÉÌÑ ÉÌÉ ÓËÒÉÐÔÁ.
-.sp
-.I ðòéíåò:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.br
-\-ass\-force\-style PlayResY=768
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <ÔÉÐ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÉÐ ÈÉÎÔÉÎÇÁ.
-<ÔÉÐ> ÍÏÖÅÔ ÂÙÔØ:
-.PD 0
-.RSs
-.IPs 0
-ÈÉÎÔÉÎÇ ÏÔÓÕÔÓÔ×ÕÅÔ
-.IPs 1
-Á×ÔÏÍÁÔÉÞÅÓËÉÊ ÈÉÎÔÅÒ FreeType, ÌÅÇËÉÊ ÒÅÖÉÍ
-.IPs 2
-Á×ÔÏÍÁÔÉÞÅÓËÉÊ ÈÉÎÔÅÒ FreeType, ÏÂÙÞÎÙÊ ÒÅÖÉÍ
-.IPs 3
-ÒÏÄÎÏÊ ÈÉÎÔÅÒ ÛÒÉÆÔÁ
-.IPs "0\-3 + 4"
-ôÏ ÖÅ, ÎÏ ÈÉÎÔÉÎÇ ÂÕÄÅÔ ÚÁÄÅÊÓÔ×Ï×ÁÎ, ÔÏÌØËÏ ÅÓÌÉ OSD ×Ù×ÅÄÅÎ ÐÒÉ
-ÜËÒÁÎÎÏÍ ÒÁÚÒÅÛÅÎÉÉ É, ÐÏÜÔÏÍÕ, ÎÅ ÂÕÄÅÔ ÍÁÓÛÔÁÂÉÒÏ×ÁÔØÓÑ.
-.RE
-.RSs
-úÎÁÞÅÎÉÅÍ ÐÏ ÕÍÏÌÞÁÎÉÀ Ñ×ÌÑÅÔÓÑ 7 (ÉÓÐÏÌØÚÏ×ÁÔØ ÒÏÄÎÏÊ ÈÉÎÔÅÒ ÄÌÑ
-OSD ÐÒÉ ÏÔÓÕÔÓÔ×ÉÉ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ, ÏÔËÌÀÞÉÔØ ÈÉÎÔÉÎÇ × ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ).
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÅÖÓÔÒÏÞÎÙÊ ÉÎÔÅÒ×ÁÌ ÄÌÑ ÒÅÎÄÅÒÅÒÁ SSA/ASS.
-.
-.TP
-.B \-ass\-styles <ÆÁÊÌ>
-úÁÇÒÕÖÁÅÔ ×ÓÅ SSA/ASS ÓÔÉÌÉ, ÎÁÊÄÅÎÎÙÅ × ÕËÁÚÁÎÎÏÍ ÆÁÊÌÅ É ÉÓÐÏÌØÚÕÅÔ ÉÈ ÄÌÑ
-ÒÅÎÄÅÒÉÎÇÁ ÔÅËÓÔÁ ÓÕÂÔÉÔÒÏ×. óÉÎÔÁËÓÉÓ ÆÁÊÌÁ ÔÁËÏÊ ÖÅ ËÁË ×
-[V4 Styles] / [V4+ Styles] ÒÁÚÄÅÌÁÈ SSA/ASS.
-.
-.TP
-.B \-ass\-top\-margin <ÚÎÁÞÅÎÉÅ>
-äÏÂÁ×ÌÑÅÔ ÞÅÒÎÕÀ ÐÏÌÏÓÕ × ×ÅÒÈÎÅÊ ÞÁÓÔÉ ËÁÄÒÁ.
-SSA/ASS ÒÅÎÄÅÒÅÒ ÍÏÖÅÔ ÐÏÍÅÓÔÉÔØ ÔÕÄÁ ÓÕÂÔÉÔÒÙ (Ó \-ass\-use\-margins).
-.
-.TP
-.B \-ass\-use\-margins
-÷ËÌÀÞÁÅÔ ÒÁÓÐÏÌÏÖÅÎÉÅ ÓÕÂÔÉÔÒÏ× ÎÁ ÞÅÒÎÙÈ ÐÏÌÏÓÁÈ, ËÏÇÄÁ ÏÎÉ ÄÏÓÔÕÐÎÙ.
-.
-.TP
-.B \-dumpjacosub (ÔÏÌØËÏ MPlayer)
-ðÒÅÏÂÒÁÚÕÅÔ ÓÕÂÔÉÔÒÙ (ÕËÁÚÁÎÎÙÅ ÏÐÃÉÅÊ \-sub) × ÏÓÎÏ×ÁÎÎÙÊ ÎÁ ×ÒÅÍÅÎÉ
-JACOsub ÆÏÒÍÁÔ.
-óÏÚÄÁÅÔ ÆÁÊÌ dumpsub.js × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-.
-.TP
-.B \-dumpmicrodvdsub (ÔÏÌØËÏ MPlayer)
-ðÒÅÏÂÒÁÚÕÅÔ ÓÕÂÔÉÔÒÙ (ÕËÁÚÁÎÎÙÅ ÏÐÃÉÅÊ \-sub) × MicroDVD ÆÏÒÍÁÔ.
-óÏÚÄÁÅÔ ÆÁÊÌ dumpsub.sub × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-.
-.TP
-.B \-dumpmpsub (ÔÏÌØËÏ MPlayer)
-ðÒÅÏÂÒÁÚÕÅÔ ÓÕÂÔÉÔÒÙ (ÕËÁÚÁÎÎÙÅ ÏÐÃÉÅÊ \-sub) × MPsub, ÆÏÒÍÁÔ ÓÕÂÔÉÔÒÏ× MPlayer.
-óÏÚÄÁÅÔ ÆÁÊÌ dump.mpsub × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-.
-.TP
-.B \-dumpsami (ÔÏÌØËÏ MPlayer)
-ðÒÅÏÂÒÁÚÕÅÔ ÓÕÂÔÉÔÒÙ (ÕËÁÚÁÎÎÙÅ ÏÐÃÉÅÊ \-sub) × ÏÓÎÏ×ÁÎÎÙÊ ÎÁ ×ÒÅÍÅÎÉ ÆÏÒÍÁÔ SAMI.
-óÏÚÄÁÅÔ ÆÁÊÌ dumpsub.sm × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-.
-.TP
-.B \-dumpsrtsub (ÔÏÌØËÏ MPlayer)
-ðÒÅÏÂÒÁÚÕÅÔ ÓÕÂÔÉÔÒÙ (ÕËÁÚÁÎÎÙÅ ÏÐÃÉÅÊ \-sub) × ÏÓÎÏ×ÁÎÎÙÊ ÎÁ ×ÒÅÍÅÎÉ ÆÏÒÍÁÔ
-SubViewer (SRT).
-óÏÚÄÁÅÔ ÆÁÊÌ dumpsub.srt × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-.
-.br
-.I úáíåþáîéå:
-îÅËÏÔÏÒÙÅ ÇÌÀÞÎÙÅ ÁÐÐÁÒÁÔÎÙÅ ÐÒÏÉÇÒÙ×ÁÔÅÌÉ ÄÁ×ÑÔÓÑ SRT ÓÕÂÔÉÔÒÁÍÉ Ó ËÏÎÃÁÍÉ ÓÔÒÏË
-× ÓÔÉÌÅ Unix. åÓÌÉ ×ÁÍ ÎÅ ÐÏ×ÅÚÌÏ ÉÍÅÔØ ÔÁËÏÊ, ÐÒÏÐÕÓÔÉÔÅ ÆÁÊÌÙ ÓÕÂÔÉÔÒÏ×
-ÞÅÒÅÚ unix2dos ÉÌÉ ÁÎÁÌÏÇÉÞÎÕÀ ÐÒÏÇÒÁÍÍÕ ÄÌÑ ÚÁÍÅÎÙ ÓÉÍ×ÏÌÏ× ËÏÎÃÁ ÓÔÒÏËÁ ÎÁ
-ÐÒÉÎÑÔÙÅ × DOS/Windows.
-.
-.TP
-.B \-dumpsub (ÔÏÌØËÏ MPlayer) (âåôá ëïä)
-óÏÈÒÁÎÑÅÔ ÓÕÂÐÏÔÏË ÓÕÂÔÉÔÒÏ× ÉÚ VOB ÐÏÔÏËÏ×.
-óÍÏÔÒÉÔÅ ÔÁËÖÅ ÏÐÃÉÉ \-dump*sub É \-vobsubout*.
-.
-.TP
-.B \-embeddedfonts (ÔÏÌØËÏ FreeType)
-úÁÄÅÊÓÔ×ÕÅÔ ÉÚ×ÌÅÞÅÎÉÅ ×ÎÅÄÒÅÎÎÙÈ ÛÒÉÆÔÏ× Matroska (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-üÔÉ ÛÒÉÆÔÙ ÚÁÔÅÍ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÄÌÑ ÒÅÎÄÅÒÉÎÇÁ SSA/ASS ÓÕÂÔÉÔÒÏ×
-(ÏÐÃÉÑ \-ass).
-æÁÊÌÙ ÛÒÉÆÔÏ× ÓÏÚÄÁÀÔÓÑ × ËÁÔÁÌÏÇÅ ~/.mplayer/fonts.
-.br
-.I úáíåþáîéå:
-ó FontConfig 2.4.2 ÉÌÉ ÎÏ×ÅÅ, ×ÎÅÄÒÅÎÎÙÅ ÛÒÉÆÔÙ ÏÔËÒÙ×ÁÀÔÓÑ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÉÚ ÐÁÍÑÔÉ,
-É ÜÔÁ ÏÐÃÉÑ ×ËÌÀÞÅÎÁ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-.
-.TP
-.B \-ffactor <ÞÉÓÌÏ>
-.\" FIXME Resample the font alphamap.
-ðÒÅÏÂÒÁÚÕÅÔ ÁÌØÆÁËÁÒÔÕ ÛÒÉÆÔÁ.
-íÏÖÅÔ ÂÙÔØ:
-.PD 0
-.RSs
-.IPs 0
-ÐÒÏÓÔÙÅ ÂÅÌÙÅ ÛÒÉÆÔÙ
-.IPs 0.75
-ÏÞÅÎØ ÔÏÎËÏÅ ÞÅÒÎÏÅ ÏÂÒÁÍÌÅÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 1
-ÔÏÎËÏÅ ÞÅÒÎÏÅ ÏÂÒÁÍÌÅÎÉÅ
-.IPs 10
-ÖÉÒÎÏÅ ÞÅÒÎÏÅ ÏÂÒÁÍÌÅÎÉÅ
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (ÔÏÌØËÏ FriBiDi)
-÷ËÌÀÞÁÅÔ ÏÔÒÁÖÅÎÉÅ ÓÕÂÔÉÔÒÏ×, ÉÓÐÏÌØÚÕÑ FriBiDi.
-.
-.TP
-.B \-noflip\-hebrew\-commas
-éÚÍÅÎÑÅÔ ÐÒÅÄÐÏÌÏÖÅÎÉÑ FriBiDi Ï ÒÁÓÐÏÌÏÖÅÎÉÉ ÚÁÐÑÔÙÈ × ÓÕÂÔÉÔÒÁÈ.
-éÓÐÏÌØÚÕÊÔÅ ÅÅ, ÅÓÌÉ ÚÁÐÑÔÙÅ × ÓÕÂÔÉÔÒÁÈ ÎÁÞÉÎÁÀÔÓÑ × ÎÁÞÁÌÅ ÆÒÁÚ,
-×ÍÅÓÔÏ ÉÈ ËÏÎÃÁ.
-.
-.TP
-.B \-font <ÐÕÔØ Ë ÆÁÊÌÕ font.desc, ÐÕÔØ Ë ÛÒÉÆÔÕ (FreeType), ÎÁÚ×ÁÎÉÅ ÛÒÉÆÔÁ (Fontconfig))>
-éÝÅÔ OSD/\:SUB ÛÒÉÆÔÙ × ÄÒÕÇÏÍ ËÁÔÁÌÏÇÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÏÂÙÞÎÙÈ
-ÛÒÉÆÔÏ×: ~/\:.mplayer/\:font/\:font.desc, ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ FreeType ÛÒÉÆÔÏ×:
-~/.mplayer/\:subfont.ttf).
-.br
-.I úáíåþáîéå:
-ó FreeType, ÜÔÁ ÏÐÃÉÑ ÏÐÒÅÄÅÌÑÅÔ ÐÕÔØ Ë ÆÁÊÌÕ ÛÒÉÆÔÁ ÔÅËÓÔÁ.
-ó Fontconfig, ÜÔÁ ÏÐÃÉÑ ÏÐÒÅÄÅÌÑÅÔ ÎÁÚ×ÁÎÉÅ ÛÒÉÆÔÁ fontconfig.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial\-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.br
-\-font 'Bitstream Vera Sans:style=Bold'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (ÔÏÌØËÏ fontconfig)
-úÁÄÅÊÓÔ×ÕÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÛÒÉÆÔÏ×, ÕÐÒÁ×ÌÑÅÍÙÈ fontconfig.
-.br
-.I úáíåþáîéå:
-ðÏ ÕÍÏÌÞÁÎÉÀ fontconfig ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÒÅÎÄÅÒÉÎÇÁ ÓÕÂÔÉÔÒÏ× Ó
-ÐÏÍÏÝØÀ libass É ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ OSD. ó \-fontconfig ÏÎ
-ÉÓÐÏÌØÚÕÅÔÓÑ ËÁË ÄÌÑ libass, ÔÁË É ÄÌÑ OSD; Ó \-nofontconfig ÏÎ ÎÅ
-ÉÓÐÏÌØÚÕÅÔÓÑ ×Ï×ÓÅ.
-.
-.TP
-.B \-forcedsubsonly
-ïÔÏÂÒÁÖÁÅÔ ÔÏÌØËÏ ÆÏÒÓÉÒÏ×ÁÎÎÙÅ ÓÕÂÔÉÔÒÙ ÄÌÑ ÐÏÔÏËÁ ÓÕÂÔÉÔÒÏ× DVD, ×ÙÂÒÁÎÎÏÇÏ,
-ÎÁÐÒÉÍÅÒ \-slang.
-.
-.TP
-.B \-fribidi\-charset <ÎÁÚ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ> (ÔÏÌØËÏ FriBiDi)
-õËÁÚÙ×ÁÅÔ ËÏÄÉÒÏ×ËÕ, ËÏÔÏÒÁÑ ÂÕÄÅÔ ÐÅÒÅÄÁÎÁ FriBiDi ÐÒÉ ÄÅËÏÄÉÒÏ×ÁÎÉÉ
-ÎÅ-UTF-8 ÓÕÂÔÉÔÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: ISO8859\-8).
-.
-.TP
-.B \-ifo <VOBsub IFO ÆÁÊÌ>
-õËÁÚÙ×ÁÅÔ ÆÁÊÌ, ÉÓÐÏÌØÚÕÅÍÙÊ ÄÌÑ ÚÁÇÒÕÚËÉ ÐÁÌÉÔÒÙ É ÒÁÚÍÅÒÁ ËÁÄÒÁ ÄÌÑ VOBsub ÓÕÂÔÉÔÒÏ×.
-.
-.TP
-.B \-noautosub
-÷ÙËÌÀÞÁÅÔ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ÚÁÇÒÕÚËÕ ÆÁÊÌÁ ÓÕÂÔÉÔÒÏ×.
-.
-.TP
-.B \-osd\-duration <×ÒÅÍÑ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÄÌÉÔÅÌØÎÏÓÔØ ÏÔÏÂÒÁÖÅÎÉÑ ÓÏÏÂÝÅÎÉÊ OSD × ÍÓ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1000).
-.
-.TP
-.B \-osdlevel <0\-3> (ÔÏÌØËÏ MPlayer)
-õËÁÚÙ×ÁÅÔ × ËÁËÏÍ ÒÅÖÉÍÅ ÄÏÌÖÅÎ ÚÁÐÕÓËÁÔØÓÑ OSD.
-.PD 0
-.RSs
-.IPs 0
-ÔÏÌØËÏ ÓÕÂÔÉÔÒÙ
-.IPs 1
-ÇÒÏÍËÏÓÔØ + ÐÏÚÉÃÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 2
-ÇÒÏÍËÏÓÔØ + ÐÏÚÉÃÉÑ + ×ÒÅÍÑ + ÐÒÏÃÅÎÔ
-.IPs 3
-ÇÒÏÍËÏÓÔØ + ÐÏÚÉÃÉÑ + ×ÒÅÍÑ + ÐÒÏÃÅÎÔ + ÏÂÝÅÅ ×ÒÅÍÑ
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-ðÏÚ×ÏÌÑÅÔ ÏÞÅÒÅÄÎÙÍ ÓÕÂÔÉÔÒÁÍ ÂÙÔØ ÏÔÏÂÒÁÖÅÎÎÙÍÉ, ËÏÇÄÁ ÔÅËÕÝÉÅ ÅÝÅ ×ÉÄÉÍÙ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÏÄÄÅÒÖËÁ ×ËÌÀÞÁÅÔÓÑ ÔÏÌØËÏ ÄÌÑ ÏÐÒÅÄÅÌÅÎÎÙÈ ÆÏÒÍÁÔÏ×).
-.
-.TP
-.B \-sid <ID> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-slang, \-vobsubid)
-ïÔÏÂÒÁÖÁÅÔ ÐÏÔÏË ÓÕÂÔÉÔÒÏ×, ÕËÁÚÁÎÎÙÊ ÐÏ <ID> (0\-31).
-MPlayer ÐÏËÁÚÙ×ÁÅÔ ÄÏÓÔÕÐÎÙÅ ID ÓÕÂÔÉÔÒÏ×, ËÏÇÄÁ ÚÁÐÕÝÅÎ × ÐÏÄÒÏÂÎÏÍ (\-v) ÒÅÖÉÍÅ.
-åÓÌÉ ×Ù ÎÅ ÍÏÖÅÔÅ ×ÙÂÒÁÔØ ÎÉ ÏÄÉÎ ÉÚ ÓÕÂÔÉÔÒÏ× ÎÁ DVD, ÐÏÐÒÏÂÕÊÔÅ ÔÁËÖÅ \-vobsubid.
-.
-.TP
-.B \-slang <ËÏÄ ÑÚÙËÁ[,ËÏÄ ÑÚÙËÁ,...]> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-sid)
-õËÁÚÙ×ÁÅÔ ÑÚÙËÏ× ÉÓÐÏÌØÚÕÅÍÙÈ × ÓÕÂÔÉÔÒÁÈ × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÎÏÓÔÉ.
-òÁÚÎÙÅ ÆÏÒÍÁÔÙ ÆÁÊÌÏ× ÒÁÂÏÔÁÀÔ Ó ÒÁÚÎÙÍÉ ËÏÄÁÍÉ ÑÚÙËÏ×.
-DVD ÉÓÐÏÌØÚÕÀÔ ISO 639\-1 Ä×ÕÈÂÕË×ÅÎÎÙÅ ËÏÄÙ, Matroska ÉÓÐÏÌØÚÕÅÔ
-ISO 639\-2 ÔÒÅÈÂÕË×ÅÎÎÙÅ, × ÔÏ ×ÒÅÍÑ ËÁË OGM ÉÓÐÏÌØÚÕÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒ
-× Ó×ÏÂÏÄÎÏÊ ÆÏÒÍÅ. MPlayer ×Ù×ÏÄÉÔ ÄÏÓÔÕÐÎÙÅ ÑÚÙËÉ ÐÒÉ ÚÁÐÕÓËÅ × ÐÏÄÒÏÂÎÏÍ (\-v) ÒÅÖÉÍÅ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang hu,en"
-÷ÙÂÉÒÁÅÔ ÄÏÒÏÖËÕ Ó ÷ÅÎÇÅÒÓËÉÍÉ ÓÕÂÔÉÔÒÁÍÉ ÎÁ DVD, Á × ÓÌÕÞÁÅ ÏÔÓÕÔÓÔ×ÉÑ ÔÁËÏ×ÏÊ
-×ÏÚ×ÒÁÝÁÅÔÓÑ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ áÎÇÌÉÊÓËÏÇÏ.
-.IPs "mplayer \-slang jpn example.mkv"
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ÆÁÊÌ Matroska Ó ñÐÏÎÓËÉÍÉ ÓÕÂÔÉÔÒÁÍÉ.
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <ÒÅÖÉÍ>
-òÅÖÉÍ ÓÇÌÁÖÉ×ÁÎÉÑ/\:ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ ÄÌÑ DVD/\:VOBsub.
-úÎÁÞÅÎÉÅ 16 ÍÏÖÅÔ ÂÙÔØ ÄÏÂÁ×ÌÅÎÏ Ë <ÒÅÖÉÍ> ÄÌÑ ÚÁÄÅÊÓÔ×Ï×ÁÎÉÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ,
-ÌÁÖÅ ÅÓÌÉ ÒÁÚÍÅÒÙ ÉÓÈÏÄÎÏÇÏ É ÏÔÍÁÓÛÔÁÂÉÒÏ×ÁÎÎÏÇÏ ËÁÄÒÁ ÕÖÅ ÓÏ×ÐÁÄÁÀÔ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ, ÎÁÐÒÉÍÅÒ, ÄÌÑ ÇÁÕÓÓÏ×ÏÇÏ ÒÁÚÍÙ×ÁÎÉÑ ÓÕÂÔÉÔÒÏ×.
-äÏÓÔÕÐÎÙÅ ÒÅÖÉÍÙ:
-.PD 0
-.RSs
-.IPs 0
-ÎÉÞÅÇÏ (ÎÁÉÂÏÌÅÅ ÂÙÓÔÒÏÅ, ÏÞÅÎØ ÂÅÚÏÂÒÁÚÎÏÅ)
-.IPs 1
-ÁÐÒÏËÓÉÍÉÒÏ×ÁÎÎÙÊ (ÓÂÏÉÔ?)
-.IPs 2
-ÐÏÌÎÏÅ (ÍÅÄÌÅÎÎÏÅ)
-.IPs 3
-ÂÉÌÉÎÅÊÎÏÅ (ÂÙÓÔÒÏÅ É ÎÅ ÏÞÅÎØ ÐÌÏÈÏÅ, ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 4
-ÉÓÐÏÌØÚÕÅÔÓÑ ÇÁÕÓÓÏ×Ï ÒÁÚÍÙ×ÁÎÉÅ ÐÒÏÇÒÁÍÍÎÏÇÏ ÍÏÄÕÌÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ (×ÙÇÌÑÄÉÔ ÏÞÅÎØ ÈÏÒÏÛÏ)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-õËÁÚÙ×ÁÅÔ ËÁË ÄÏÌÖÎÙ ×ÙÒÁ×ÎÉ×ÁÔØÓÑ SPU (DVD/\:VOBsub) ÓÕÂÔÉÔÒÙ.
-.PD 0
-.RSs
-.IPs "\-1"
-ÉÓÈÏÄÎÏÅ ÐÏÌÏÖÅÎÉÅ
-.IPs " 0"
-÷ÙÒÁ×ÎÉ×ÁÎÉÅ Ë ×ÅÒÈÕ (ÉÚÎÁÞÁÌØÎÏÅ ÐÏ×ÅÄÅÎÉÅ, ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs " 1"
-÷ÙÒÁ×ÎÉ×ÁÎÉÅ Ë ÃÅÎÔÒÕ.
-.IPs " 2"
-÷ÙÒÁ×ÎÉ×ÁÎÉÅ Ë ÎÉÚÕ.
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-ðÁÒÁÍÅÔÒ ÏÔËÌÏÎÅÎÉÑ ÇÁÕÓÓÏ×ÏÇÏ ÒÁÚÍÙ×ÁÎÉÑ, ÉÓÐÏÌØÚÕÅÍÙÊ \-spuaa 4.
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ ÂÏÌÅÅ ÓÉÌØÎÏÅ ÒÁÚÍÙ×ÁÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0).
-.
-.TP
-.B \-sub <ÆÁÊÌ_ÓÕÂÔÉÔÒÏ×1,ÆÁÊÌ_ÓÕÂÔÉÔÒÏ×2,...>
-éÓÐÏÌØÚÕÅÔ/\:ÏÔÏÂÒÁÖÁÅÔ ÕËÁÚÁÎÎÙÅ ÆÁÊÌÙ ÓÕÂÔÉÔÒÏ×.
-÷ ËÁÖÄÙÊ ÍÏÍÅÎÔ ×ÒÅÍÅÎÉ ÍÏÖÅÔ ÂÙÔØ ÐÏËÁÚÁÎ ÔÏÌØËÏ ÏÄÉÎ ÆÁÊÌ.
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-õËÁÚÙ×ÁÅÔ ÚÎÁÞÅÎÉÅ ÁÌØÆÁ ËÁÎÁÌÁ ÄÌÑ ÓÕÂÔÉÔÒÏ× É ÆÏÎÁ OSD.
-âÏÌØÛÅÅ ÚÎÁÞÅÎÉÅ ÏÚÎÁÞÁÅÔ ÂÏÌØÛÕÀ ÐÒÏÚÒÁÞÎÏÓÔØ.
-0 ÏÚÎÁÞÁÅÔ ÐÏÌÎÕÀ ÐÒÏÚÒÁÞÎÏÓÔØ.
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-õËÁÚÙ×ÁÅÔ Ã×ÅÔ ÄÌÑ ÓÕÂÔÉÔÒÏ× Õ ÆÏÎÁ OSD.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÓÕÂÔÉÔÒÙ ×Ù×ÏÄÑÔÓÑ × ÏÔÔÅÎËÁÈ ÓÅÒÏÇÏ, ÔÁË ÞÔÏ ÜÔÏ
-ÜË×É×ÁÌÅÎÔÎÏ ÉÎÔÅÎÓÉ×ÎÏÓÔÉ Ã×ÅÔÁ.
-255 ÏÚÎÁÞÁÅÔ ÂÅÌÙÊ É 0 \- ÞÅÒÎÙÊ.
-.
-.TP
-.B \-sub\-demuxer <[+]ÎÁÚ×ÁÎÉÅ> (ÔÏÌØËÏ \-subfile) (âåôá ëïä)
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÉÐ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÁ ÓÕÂÔÉÔÒÏ× ÄÌÑ \-subfile.
-éÓÐÏÌØÚÕÊÔÅ '+' ÐÅÒÅÄ ÎÁÚ×ÁÎÉÅÍ ÄÌÑ ÐÒÉÎÕÄÉÔÅÌØÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ, ÜÔÏ
-ÐÒÏÐÕÓÔÉÔ ÎÅËÏÔÏÒÙÅ ÐÒÏ×ÅÒËÉ!
-õËÁÚÙ×ÁÊÔÅ ÎÁÚ×ÁÎÉÅ ÄÅÍÕÌØÔÐÌÅËÓÏÒÁ ÔÁËÉÍ, ËÁË ÏÎÏ ×Ù×ÏÄÉÔÓÑ ÏÐÃÉÅÊ \-sub\-demuxer help.
-äÌÑ ÏÂÒÁÔÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ ÔÁËÖÅ ÄÏÐÕÓËÁÅÔÓÑ ID ÄÅÍÕÌØÔÐÌÅËÓÏÒÁ, ÏÐÒÅÄÅÌÅÎÎÙÊ ×
-subreader.h.
-.
-.TP
-.B \-sub\-fuzziness <ÒÅÖÉÍ>
-.\" FIXME
-îÁÓÔÒÁÉ×ÁÅÔ ÔÏÞÎÏÓÔØ ÓÏ×ÐÁÄÅÎÉÑ ÐÒÉ ÐÏÉÓËÅ ÓÕÂÔÉÔÒÏ×:
-.PD 0
-.RSs
-.IPs 0
-ÔÏÞÎÏÅ ÓÏ×ÐÁÄÅÎÉÅ
-.IPs 1
-úÁÇÒÕÖÁÅÔ ×ÓÅ ÓÕÂÔÉÔÒÙ, ÓÏÄÅÒÖÁÝÉÅ ÎÁÚ×ÁÎÉÅ ÆÉÌØÍÁ.
-.IPs 2
-úÁÇÒÕÖÁÅÔ ×ÓÅ ÓÕÂÔÉÔÒÙ, × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-ïÔËÌÀÞÁÅÔ ÌÀÂÙÅ ×ÉÄÙ ÐÏÓÔÐÒÏÃÅÓÓÉÎÇÁ ÔÅËÓÔÁ, ÐÒÏÉÚ×ÏÄÉÍÏÇÏ ÐÏÓÌÅ ÚÁÇÒÕÚËÉ
-ÓÕÂÔÉÔÒÏ×. éÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÔÌÁÄÏÞÎÙÈ ÃÅÌÅÊ.
-.
-.TP
-.B \-subalign <0\-2>
-õËÁÚÙ×ÁÅÔ ËÁËÏÊ ËÒÁÊ ÓÕÂÔÉÔÒÏ× ÄÏÌÖÅÎ ×ÙÒÁ×ÎÉ×ÁÔØÓÑ ÐÏ ×ÙÓÏÔÅ, ÕËÁÚÁÎÎÏÊ
-ÏÐÃÉÅÊ \-subpos.
-.PD 0
-.RSs
-.IPs 0
-÷ÙÒÁ×ÎÉ×ÁÀÔ ×ÅÒÈ ÓÕÂÔÉÔÒÏ× (ÉÚÎÁÞÁÌØÎÏÅ ÐÏ×ÅÄÅÎÉÅ).
-.IPs 1
-÷ÙÒÁ×ÎÉ×ÁÅÔ ÃÅÎÔÒ ÓÕÂÔÉÔÒÏ×.
-.IPs 2
-÷ÙÒÁ×ÎÉ×ÁÅÔ ÎÉÖÎÀÀ ÇÒÁÎÉÃÕ ÓÕÂÔÉÔÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc \ "
-ïÔÏÂÒÁÖÁÅÔ DVD Closed Caption (CC) ÓÕÂÔÉÔÒÙ.
-üÔÏ
-.B ÎÅ
-VOB ÓÕÂÔÉÔÒÙ, ÜÔÏ ÓÐÅÃÉÁÌØÎÙÅ ASCII ÓÕÂÔÉÔÒÙ ÄÌÑ ÌÀÄÅÊ Ó ÏÓÌÁÂÌÅÎÎÙÍ ÓÌÕÈÏÍ,
-ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ × VOB × ÐÏÔÏËÅ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÄÁÎÎÙÈ ÎÁ ÂÏÌØÛÉÎÓÔ×Å DVD
-1 ÒÅÇÉÏÎÁ.
-îÁ DVD ÉÚ ÄÒÕÇÉÈ ÒÅÇÉÏÎÏ× CC ÓÕÂÔÉÔÒÙ ÐÏËÁ ÅÝÅ ×ÓÔÒÅÞÁÌÉÓØ.
-.
-.TP
-.B \-subcp <ËÏÄÉÒÏ×ËÁ> (ÔÏÌØËÏ iconv)
-åÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ ÐÏÄÄÅÒÖÉ×ÁÅÔ iconv(3), ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÏÐÃÉÀ ÄÌÑ
-ÕËÁÚÁÎÉÑ ËÏÄÉÒÏ×ËÉ ÓÕÂÔÉÔÒÏ×.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<ÑÚÙË>:<ËÏÄÉÒÏ×ËÁ ÐÒÉ ÓÂÏÅ> (ÔÏÌØËÏ ENCA)
-÷Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ×ÁÛ ÑÚÙË, ÉÓÐÏÌØÚÕÑ Ä×ÕÈÂÕË×ÅÎÎÙÊ ËÏÄ ÑÚÙËÁ,
-ÞÔÏÂÙ ÄÁÔØ ENCA ×ÏÚÍÏÖÎÏÓÔØ ÏÐÒÅÄÅÌÉÔØ ËÏÄÏ×ÕÀ ÓÔÒÁÎÉÃÕ Á×ÔÏÍÁÔÉÞÅÓËÉ.
-åÓÌÉ ÎÅ Õ×ÅÒÅÎÙ, ××ÅÄÉÔÅ ÞÔÏ\-ÎÉÂÕÄØ É ÓÍÏÔÒÉÔÅ ×Ù×ÏÄ Ó \-v, ÞÔÏÂÙ ÏÐÒÅÄÅÌÉÔØ
-ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÑÚÙËÏ×. <ËÏÄÉÒÏ×ËÁ ÐÒÉ ÓÂÏÅ> ÕËÁÚÙ×ÁÅÔ ËÏÄÉÒÏ×ËÕ, ÉÓÐÏÌØÚÕÅÍÕÀ,
-ËÏÇÄÁ ÎÅ ÓÒÁÂÁÔÙ×ÁÅÔ Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-ïÐÒÅÄÅÌÑÅÔ ËÏÄÉÒÏ×ËÕ, ÐÒÅÄÐÏÌÁÇÁÑ, ÞÔÏ ÓÕÂÔÉÔÒÙ ÎÁ þÅÛÓËÏÍ, ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ
-latin 2, ÅÓÌÉ ÏÐÒÅÄÅÌÅÎÉÅ ÎÅ ÒÁÂÏÔÁÅÔ.
-.IPs "\-subcp enca:pl:cp1250"
-ïÐÒÅÄÅÌÑÅÔ ËÏÄÉÒÏ×ËÕ ÄÌÑ ðÏÌØÓËÏÇÏ, ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ
-cp1250, ÅÓÌÉ ÏÐÒÅÄÅÌÅÎÉÅ ÎÅ ÒÁÂÏÔÁÅÔ.
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <ÓÅË>
-ïÔÏÂÒÁÖÁÅÔ ÓÕÂÔÉÔÒÙ <ÓÅË> ÓÅËÕÎÄ.
-íÏÖÅÔ ÂÙÔØ ÏÔÒÉÃÁÔÅÌØÎÙÍ.
-.
-.TP
-.B \-subfile <ÆÁÊÌ> (âåôá ëïä)
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÂÅÓÐÏÌÅÚÎÏ.
-ôÏ ÖÅ, ÞÔÏ É \-audiofile, ÎÏ ÄÌÑ ÐÏÔÏËÁ ÓÕÂÔÉÔÒÏ× (OggDS?).
-.
-.TP
-.B \-subfont <ÉÍÑ ÆÁÊÌÁ (FreeType), ÎÁÚ×ÁÎÉÅ ÛÒÉÆÔÁ (Fontconfig)> (ÔÏÌØËÏ FreeType)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÛÒÉÆÔ ÓÕÂÔÉÔÒÏ× (ÓÍ. \-font).
-åÓÌÉ ÏÐÃÉÑ \-subfont ÎÅ ÕËÁÚÁÎÁ, ÉÓÐÏÌØÚÕÅÔÓÑ \-font.
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (ÔÏÌØËÏ FreeType)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÅÖÉÍ Á×ÔÏÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ.
-.br
-.I úáíåþáîéå:
-0 ÏÚÎÁÞÁÅÔ, ÞÔÏ ÍÁÓÛÔÁÂ ÔÅËÓÔÁ É ÍÁÓÛÔÁÂ OSD \- ÜÔÏ ×ÙÓÏÔÁ ÛÒÉÆÔÁ × ÔÏÞËÁÈ.
-.sp 1
-òÅÖÉÍ ÍÏÖÅÔ ÂÙÔØ:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-ÎÅÔ Á×ÔÏÍÁÓÛÔÁÂÁ
-.IPs 1
-ÐÒÏÐÏÒÃÉÏÎÁÌØÎÏ ×ÙÓÏÔÅ ÆÉÌØÍÁ
-.IPs 2
-ÐÒÏÐÏÒÃÉÏÎÁÌØÎÏ ÛÉÒÉÎÅ ÆÉÌØÍÁ
-.IPs 3
-ÐÒÏÐÏÒÃÉÏÎÁÌØÎÏ ÄÉÁÇÏÎÁÌÉ ÆÉÌØÍÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (ÔÏÌØËÏ FreeType)
-õËÁÚÙ×ÁÅÔ ÒÁÄÉÕÓ ÒÁÚÍÙ×ÁÎÉÑ ÛÒÉÆÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2).
-.
-.TP
-.B \-subfont\-encoding <ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ FreeType)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÄÉÒÏ×ËÕ ÛÒÉÆÔÁ.
-ëÏÇÄÁ ÕÓÔÁÎÏ×ÌÅÎÁ × 'unicode', ÂÕÄÕÔ ÒÅÎÄÅÒÉÔØÓÑ ×ÓÅ ÇÌÉÆÙ ÉÚ ÆÁÊÌÁ ÛÒÉÆÔÁ É
-ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÀÎÉËÏÄ (ÐÏ ÕÍÏÌÞÁÎÉÀ: unicode).
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (ÔÏÌØËÏ FreeType)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÜÆÆÉÃÉÅÎÔ Á×ÔÏÍÁÓÛÔÁÂÁ OSD ÜÌÅÍÅÎÔÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 6).
-.
-.TP
-.B \-subfont\-outline <0\-8> (ÔÏÌØËÏ FreeType)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÏÌÝÉÎÕ ÏÂÒÁÍÌÅÎÉÑ ÛÒÉÆÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2).
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (ÔÏÌØËÏ FreeType)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÜÆÆÉÃÉÅÎÔ Á×ÔÏÍÁÓÛÔÁÂÁ ÔÅËÓÔÁ ÓÕÂÔÉÔÒÏ× ËÁË
-ÐÒÏÃÅÎÔ ÏÔ ÒÁÚÍÅÒÁ ÜËÒÁÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5).
-.
-.TP
-.B \-subfps <ÞÁÓÔÏÔÁ>
-õËÁÚÙ×ÁÅÔ ÞÁÓÔÏÔÕ ËÁÄÒÏ× ÆÁÊÌÁ ÓÕÂÔÉÔÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: fps ÆÉÌØÍÁ).
-.br
-.I úáíåþáîéå:
-<ÞÁÓÔÏÔÁ> > fps ÆÉÌØÍÁ ÕÓËÏÒÑÅÔ ÓÕÂÔÉÔÒÙ, ÏÓÎÏ×ÁÎÎÙÅ ÎÁ
-ËÁÄÒÁÈ, É ÚÁÍÅÄÌÑÅÔ ÓÕÂÔÉÔÒÙ, ÏÓÎÏ×ÁÎÎÙÅ ÎÁ ×ÒÅÍÅÎÎÙÈ ÍÅÔËÁÈ.
-.
-.TP
-.B \-subpos <0\-100> (ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ Ó \-vf expand)
-õËÁÚÙ×ÁÅÔ ÐÏÚÉÃÉÀ ÓÕÂÔÉÔÒÏ× ÎÁ ÜËÒÁÎÅ.
-õËÁÚÙ×ÁÅÔÓÑ ×ÅÒÔÉËÁÌØÎÁÑ ÐÏÚÉÃÉÑ ÓÕÂÔÉÔÒÏ× × % ÏÔ ×ÙÓÏÔÙ ÜËÒÁÎÁ.
-.
-.TP
-.B \-subwidth <10\-100>
-õËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÛÉÒÉÎÕ ÓÕÂÔÉÔÒÏ× ÎÁ ÜËÒÁÎÅ.
-ðÏÌÅÚÎÏ ÄÌÑ TV-×Ù×ÏÄÁ.
-õËÁÚÙ×ÁÅÔÓÑ ÛÉÒÉÎÁ ÓÕÂÔÉÔÒÏ× × % ÏÔ ÛÉÒÉÎÙ ÜËÒÁÎÁ.
-.
-.TP
-.B \-noterm\-osd
-ïÔËÌÀÞÁÅÔ ÏÔÏÂÒÁÖÅÎÉÅ ÓÏÏÂÝÅÎÉÊ OSD ÎÁ ËÏÎÓÏÌÉ, ËÏÇÄÁ ÎÅÄÏÓÔÕÐÎÏ ÎÉËÁËÏÇÏ ×ÉÄÅÏ.
-.
-.TP
-.B \-term\-osd\-esc <escape ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ>
-õËÁÚÙ×ÁÅÔ escape ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ×Ù×ÏÄÉÍÕÀ ÎÁ ËÏÎÓÏÌØ ÐÅÒÅÄ ×Ù×ÏÄÏÍ ÓÏÏÂÝÅÎÉÑ OSD.
-Escape ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÄÏÌÖÎÁ ÐÅÒÅÄ×ÉÇÁÔØ ÕËÁÚÁÔÅÌØ ÎÁ ÎÁÞÁÌÏ ÓÔÒÏËÉ, ÉÓÐÏÌØÚÕÅÍÏÊ ÄÌÑ
-OSD É ÏÞÉÝÁÔØ ÅÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ^[[A\\r^[[K).
-.
-.TP
-.B \-unicode
-õËÁÚÙ×ÁÅÔ MPlayer ÏÂÒÁÂÁÔÙ×ÁÔØ ÆÁÊÌ ÓÕÂÔÉÔÒÏ× ËÁË unicode.
-.
-.TP
-.B \-unrarexec <ÐÕÔØ Ë ÉÓÐÏÌÎÑÅÍÏÍÕ ÆÁÊÌÕ unrar> (ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÁ MingW)
-õËÁÚÁÔØ ÐÕÔØ Ë ÉÓÐÏÌÎÑÅÍÏÍÕ ÆÁÊÌÕ unrar, ÞÔÏÂÙ MPlayer ÍÏÇ
-ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ ÄÌÑ ÄÏÓÔÕÐÁ Ë VOBsub ÆÁÊÌÁÍ, ÓÖÁÔÙÍÉ rar
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: ÎÅ ÕÓÔÁÎÏ×ÌÅÎÏ, ÐÏÜÔÏÍÕ ÄÁÎÎÁÑ ÆÕÎËÃÉÑ ÏÔËÌÀÞÅÎÁ).
-ðÕÔØ ÄÏÌÖÅÎ ×ËÌÀÞÁÔØ ÉÍÑ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ, ÎÁÐÒÉÍÅÒ,\& /usr/local/bin/unrar.
-.
-.TP
-.B "\-utf8 \ \ "
-õËÁÚÙ×ÁÅÔ MPlayer ÏÂÒÁÂÁÔÙ×ÁÔØ ÆÁÊÌ ÓÕÂÔÉÔÒÏ× ËÁË UTF\-8.
-.
-.TP
-.B \-vobsub <VOBsub ÆÁÊÌ ÂÅÚ ÒÁÓÛÉÒÅÎÉÑ>
-õËÁÚÙ×ÁÅÔ VOBsub ÆÁÊÌ, ÉÓÐÏÌØÚÕÅÍÙÊ ÄÌÑ ÓÕÂÔÉÔÒÏ×.
-äÏÌÖÅÎ ÂÙÔØ ÐÏÌÎÙÍ ÐÕÔÅÍ ÂÅÚ ÒÁÓÛÉÒÅÎÉÑ, Ô.Å.\& ÂÅÚ '.idx', '.ifo' ÉÌÉ '.sub'.
-.
-.TP
-.B \-vobsubid <0\-31>
-õËÁÚÙ×ÁÅÔ ID ÓÕÂÔÉÔÒÏ× VOBsub.
-.
-.
-.
-.SH "ïðãéé ÷ù÷ïäá ú÷õëá (ôïìøëï MPLAYER)"
-.
-.TP
-.B \-abs <ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ \-ao oss) (õóôáòåìï)
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÒÁÚÍÅÒ ÂÕÆÅÒÁ ÁÕÄÉÏ ÄÒÁÊ×ÅÒÁ/\:ËÁÒÔÙ.
-.
-.TP
-.B \-format <ÆÏÒÍÁÔ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ ÁÕÄÉÏ ÆÉÌØÔÒ format)
-÷ÙÂÉÒÁÅÔ ÆÏÒÍÁÔ ÓÜÍÐÌÁ, ÉÓÐÏÌØÚÕÅÍÙÊ ÄÌÑ ×Ù×ÏÄÁ ÓÏ ÓÌÏÑ
-ÁÕÄÉÏ ÆÉÌØÔÒÏ× ÎÁ Ú×ÕËÏ×ÕÀ ËÁÒÔÕ.
-úÎÁÞÅÎÉÑ, ËÏÔÏÒÙÅ ÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ <ÆÏÒÍÁÔ> ÐÅÒÅÞÉÓÌÅÎÙ ÎÉÖÅ × ÏÐÉÓÁÎÉÉ
-ÁÕÄÉÏ ÆÉÌØÔÒÁ format.
-.
-.TP
-.B \-mixer <ÕÓÔÒÏÊÓÔ×Ï>
-éÓÐÏÌØÚÕÅÔ ÕÓÔÒÏÊÓÔ×Ï ÍÉËÛÅÒÁ, ÏÔÌÉÞÎÏÅ ÏÔ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ
-/dev/\:mixer. äÌÑ ALSA ÜÔÏ ÎÁÚ×ÁÎÉÅ ÍÉËÛÅÒÁ.
-.
-.TP
-.B \-mixer\-channel <mixer line>[,mixer index] (ÔÏÌØËÏ \-ao oss É \-ao)
-üÔÁ ÏÐÃÉÑ ÕËÁÖÅÔ MPlayer ÉÓÐÏÌØÚÏ×ÁÔØ ÄÒÕÇÏÊ ËÁÎÁÌ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ
-ÇÒÏÍËÏÓÔØÀ, ×ÍÅÓÔÏ PCM. ïÐÃÉÉ ÄÌÑ OSS ×ËÌÀÞÁÀÔ
-.B vol, pcm, line.
-ðÏÌÎÙÊ ÓÐÉÓÏË ÏÐÃÉÊ ÓÍÏÔÒÉÔÅ × SOUND_DEVICE_NAMES ×
-/usr/\:include/\:linux/\:soundcard.h.
-äÌÑ ALSA ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁÚ×ÁÎÉÑ, ÏÔÏÂÒÁÖÁÅÍÙÅ, ÎÁÐÒÉÍÅÒ alsamixer,
-×ÒÏÄÅ
-.B Master, Line, PCM.
-.br
-.I úáíåþáîéå:
-îÁÚ×ÁÎÉÑ ËÁÎÁÌÏ× ÍÉËÛÅÒÁ ALSA, Ó ÐÏÓÌÅÄÕÀÝÉÍÉ ÞÉÓÌÁÍÉ ÄÏÌÖÎÙ ÂÙÔØ ÕËÁÚÁÎÙ × ÆÏÒÍÁÔÅ
-<ÎÁÚ×ÁÎÉÅ,ÞÉÓÌÏ>, ÎÁÐÒÉÍÅÒ ËÁÎÁÌ, ÐÏÍÅÞÅÎÎÙÊ 'PCM 1', × alsamixer ÄÏÌÖÅÎ ÂÙÔØ
-ÐÒÅÏÂÒÁÚÏ×ÁÎ ×
-.BR PCM,1 .
-.
-.TP
-.B \-softvol
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÉÓÐÏÌØÚÕÅÔ ÐÒÏÇÒÁÍÍÎÙÊ ÍÉËÛÅÒ, ×ÍÅÓÔÏ ÍÉËÛÅÒÁ Ú×ÕËÏ×ÏÊ ËÁÒÔÙ.
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÙÊ ÕÒÏ×ÅÎØ ÕÓÉÌÅÎÉÑ × ÐÒÏÃÅÎÔÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 110).
-úÎÁÞÅÎÉÅ 200 ÐÏÚ×ÏÌÉÔ ×ÁÍ ÉÚÍÅÎÑÔØ ÇÒÏÍËÏÓÔØ ÄÏ ×ÅÌÉÞÉÎÙ × Ä×Á ÒÁÚÁ
-ÐÒÅ×ÙÛÁÀÝÅÊ ÔÅËÕÝÉÊ ÕÒÏ×ÅÎØ. óÏ ÚÎÁÞÅÎÉÑÍÉ ÎÉÖÅ 100 ÎÁÞÁÌØÎÙÊ ÕÒÏ×ÅÎØ
-(ÒÁ×ÎÙÊ 100%) ÂÕÄÅÔ ÂÏÌØÛÅ ÍÁËÓÉÍÁÌØÎÏÇÏ, É OSD ÎÅ ÍÏÖÅÔ ÏÔÏÂÒÁÚÉÔØ ÅÇÏ
-ËÏÒÒÅËÔÎÏ.
-.
-.TP
-.B \-volstep <0\-100>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ ÛÁÇÁ ÉÚÍÅÎÅÎÉÑ ÇÒÏÍËÏÓÔÉ ÍÉËÛÅÒÁ × ÐÒÏÃÅÎÔÁÈ ÏÔ
-×ÓÅÇÏ ÄÉÁÐÁÚÏÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 3).
-.
-.TP
-.B \-volume <-1\-100> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-af volume)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÓÈÏÄÎÕÀ ÇÒÏÍËÏÓÔØ ÍÉËÛÅÒÁ, ÁÐÐÁÒÁÔÎÏÇÏ ÌÉÂÏ
-ÐÒÏÇÒÁÍÍÎÏÇÏ (ÅÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏ×ÍÅÓÔÎÏ Ó \-softvol).
-úÎÁÞÅÎÉÅ -1 (ÕÍÏÌÞÁÎÉÅ) ÎÅ ÉÚÍÅÎÑÅÔ ÇÒÏÍËÏÓÔØ.
-.
-.
-.
-.SH "äòáê÷åòù ÷ù÷ïäá ú÷õëá (ôïìøëï MPLAYER)"
-äÒÁÊ×ÅÒÙ ×Ù×ÏÄÁ Ú×ÕËÁ Ñ×ÌÑÀÔÓÑ ÉÎÔÅÒÆÅÊÓÏÍ Ë ÒÁÚÌÉÞÎÙÍ ÓÒÅÄÓÔ×ÁÍ ×Ù×ÏÄÁ Ú×ÕËÁ.
-óÉÎÔÁËÓÉÓ:
-.
-.TP
-.B \-ao <ÄÒÁÊ×ÅÒ1[:ÐÏÄÏÐÃÉÑ1[=ÚÎÁÞÅÎÉÅ]:...],ÄÒÁÊ×ÅÒ2,...[,]>
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÐÒÉÏÒÉÔÅÔÎÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÄÒÁÊ×ÅÒÏ× ×Ù×ÏÄÁ Ú×ÕËÁ.
-.PP
-åÓÌÉ ÓÐÉÓÏË ÓÏÄÅÒÖÉÔ × ËÏÎÃÅ ',' MPlayer × ÓÌÕÞÁÅ ÐÒÏÂÌÅÍ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÄÒÁÊ×ÅÒÙ, ÎÅ ×ËÌÀÞÅÎÎÙÅ × ÓÐÉÓÏË.
-ðÏÄÏÐÃÉÉ ÎÅÏÂÑÚÁÔÅÌØÎÙ, É × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÍÏÇÕÔ ÂÙÔØ ÏÐÕÝÅÎÙ.
-.br
-.I úáíåþáîéå:
-óÍÏÔÒÉÔÅ \-ao help, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ×ÓÔÒÏÅÎÎÙÈ ÄÒÁÊ×ÅÒÏ× ×Ù×ÏÄÁ Ú×ÕËÁ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-ðÒÏÂÕÅÔÓÑ ALSA ÄÒÁÊ×ÅÒ, ÚÁÔÅÍ OSS, ÚÁÔÅÍ ÏÓÔÁÌØÎÙÅ.
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÅÂÌÏËÉÒÕÀÝÉÊ ÒÅÖÉÍ É × ËÁÞÅÓÔ×Å ÕÓÔÒÏÊÓÔ×Á ÐÅÒ×ÕÀ ËÁÒÔÕ,
-ÞÅÔ×ÅÒÔÏÅ ÕÓÔÒÏÊÓÔ×Ï.
-.RE
-.PD 1
-.sp 1
-äÏÓÔÕÐÎÙÅ ÄÒÁÊ×ÅÒÙ ×Ù×ÏÄÁ Ú×ÕËÁ:
-.
-.TP
-.B "alsa\ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ALSA 0.9/1.x
-.PD 0
-.RSs
-.IPs noblock
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÅÂÌÏËÉÒÕÀÝÉÊ ÒÅÖÉÍ.
-.IPs device=<ÕÓÔÒÏÊÓÔ×Ï>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÁÚ×ÁÎÉÅ ÕÓÔÒÏÊÓÔ×Á.
-úÁÍÅÎÉÔÅ ÌÀÂÙÅ ',' ÎÁ '.' É ÌÀÂÙÅ ':' ÎÁ '=' × ÎÁÚ×ÁÎÉÉ ÕÓÔÒÏÊÓÔ×Á ALSA.
-äÌÑ hwac3 ×Ù×ÏÄÁ ÞÅÒÅÚ S/PDIF, ÉÓÐÏÌØÚÕÊÔÅ "iec958" ÉÌÉ "spdif" ÕÓÔÒÏÊÓÔ×Ï,
-ÅÓÌÉ ×Ù ÎÅ ÚÎÁÅÔÅ ËÁË ÐÒÁ×ÉÌØÎÏ ÅÇÏ ÕÓÔÁÎÏ×ÉÔØ.
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ALSA 0.5
-.
-.TP
-.B "oss\ \ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ OSS
-.PD 0
-.RSs
-.IPs <dsp\-ÕÓÔÒÏÊÓÔ×Ï>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÓÔÒÏÊÓÔ×Ï ×Ù×ÏÄÁ Ú×ÕËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:dsp).
-.IPs <mixer\-ÕÓÔÒÏÊÓÔ×Ï>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÓÔÒÏÊÓÔ×Ï ÍÉËÛÉÒÏ×ÁÎÉÑ Ú×ÕËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:mixer).
-.IPs <mixer\-ËÁÎÁÌ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÁÎÁÌ ÍÉËÛÅÒÁ Ú×ÕËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: pcm).
-.RE
-.PD 1
-.
-.TP
-.B sdl (ÔÏÌØËÏ SDL)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÏÊ ÐÌÁÔÆÏÒÍÏ\-ÎÅÚÁ×ÉÓÉÍÏÊ ÂÉÂÌÉÏÔÅËÉ
- SDL (Simple Directmedia Layer)
-.PD 0
-.RSs
-.IPs <ÄÒÁÊ×ÅÒ>
-ñ×ÎÏ ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ SDL ÄÒÁÊ×ÅÒ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÎÁ ÕÓÍÏÔÒÅÎÉÅ SDL).
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ÞÅÒÅÚ ÄÅÍÏÎ aRts
-.
-.TP
-.B "esd\ \ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ÞÅÒÅÚ ÄÅÍÏÎ ESD
-.PD 0
-.RSs
-.IPs <ÓÅÒ×ÅÒ>
-ñ×ÎÏ ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ESD ÓÅÒ×ÅÒ (ÐÏ ÕÍÏÌÞÁÎÉÀ: localhost).
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ÞÅÒÅÚ JACK (Jack Audio Connection Kit)
-.PD 0
-.RSs
-.IPs port=<ÉÍÑ>
-õËÁÚÙ×ÁÅÔ ÐÒÉÓÏÅÄÉÎÑÔØÓÑ Ë ÐÏÒÔÁÍ Ó ÕËÁÚÁÎÎÙÍ ÉÍÅÎÅÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ: physical ports).
-.IPs name=<ÉÍÑ ËÌÉÅÎÔÁ>
-éÍÑ ËÌÉÅÎÔÁ, ÐÅÒÅÄÁ×ÁÅÍÏÅ JACK (ÐÏ ÕÍÏÌÞÁÎÉÀ: MPlayer [<PID>]).
-ðÏÌÅÚÎÏ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ Á×ÔÏÍÁÔÉÞÅÓËÉ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÏÐÒÅÄÅÌÅÎÎÙÅ ÓÏÅÄÉÎÅÎÉÑ.
-.IPs (no)estimate
-ïÃÅÎËÁ ÚÁÄÅÒÖËÉ ÁÕÄÉÏ, ÐÒÅÄÌÁÇÁÅÍÏÊ ÄÌÑ ÂÏÌÅÅ ÐÌÁ×ÎÏÇÏ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ×ÉÄÅÏ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-.IPs (no)autostart (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ)
-á×ÔÏÍÁÔÉÞÅÓËÉ ÚÁÐÕÓËÁÅÔ jackd ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ.
-ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÞÔÏ ÜÔÏ, ÐÏ ×ÉÄÉÍÏÍÕ, ÎÅ ÎÁÄ£ÖÎÏ É ÚÁÈÌÁÍÉÔ stdout
-ÓÏÏÂÝÅÎÉÑÍÉ ÓÅÒ×ÅÒÁ.
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ÞÅÒÅÚ NAS
-.
-.TP
-.B coreaudio (ÔÏÌØËÏ Mac OS X)
-òÏÄÎÏÊ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ Mac OS X
-.
-.TP
-.B openal
-üËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ OpenAL
-.
-.TP
-.B "pulse\ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ÁÕÄÉÏ PulseAudio.
-.PD 0
-.RSs
-.IPs "[<host>][:<output sink>]"
-õËÁÚÙ×ÁÅÔ ÁÄÒÅÓ É (ÏÐÃÉÏÎÁÌØÎÏ) ÉÓÐÏÌØÚÕÅÍÙÊ ÐÒÉÅÍÎÉË.
-ðÕÓÔÁÑ <host> ÓÔÒÏËÁ ÉÓÐÏÌØÚÕÅÔ ÌÏËÁÌØÎÏÅ ÓÏÅÄÉÎÅÎÉÅ, "localhost"
-ÉÓÐÏÌØÚÕÅÔ ÐÅÒÅÄÁÞÕ ÐÏ ÓÅÔÉ (ÎÁ×ÅÒÎÑËÁ, ÜÔÏ ÎÅ ÔÏ, ÞÅÇÏ ×Ù ÈÏÔÉÔÅ)
-.RE
-.PD 1
-.
-.TP
-.B sgi (ÔÏÌØËÏ SGI)
-òÏÄÎÏÊ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ SGI
-.PD 0
-.RSs
-.IPs "<ÉÍÑ ÕÓÔÒÏÊÓÔ×Á ×Ù×ÏÄÁ>"
-ñ×ÎÏ ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÏÅ ÕÓÔÒÏÊÓÔ×Ï/\:ÉÎÔÅÒÆÅÊÓ ×Ù×ÏÄÁ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: ÓÉÓÔÅÍÎÏÅ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ).
-îÁÐÒÉÍÅÒ, 'Analog Out' ÉÌÉ 'Digital Out'.
-.RE
-.PD 1
-.
-.TP
-.B sun (ÔÏÌØËÏ Sun)
-òÏÄÎÏÊ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ Sun
-.PD 0
-.RSs
-.IPs <device>
-ñ×ÎÏ ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÏÅ ÕÓÔÒÏÊÓÔ×Ï ×Ù×ÏÄÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:audio).
-.RE
-.PD 1
-.
-.TP
-.B win32 (ÔÏÌØËÏ Windows)
-òÏÄÎÏÊ waveout ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ Windows
-.
-.TP
-.B dsound (ÔÏÌØËÏ Windows)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ DirectX DirectSound
-.PD 0
-.RSs
-.IPs device=<ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÏÍÅÒ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÕÓÔÒÏÊÓÔ×Á.
-÷ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ÆÁÊÌÁ Ó \-v ÐÏËÁÖÅÔ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÕÓÔÒÏÊÓÔ×.
-.RE
-.PD 1
-.
-.TP
-.B dart (ÔÏÌØËÏ OS/2)
-äÒÁÊ×ÅÒ ÁÕÄÉÏ ×Ù×ÏÄÁ OS/2 DART
-.PD 0
-.RSs
-.IPs (no)share
-ïÔËÒÙ×ÁÅÔ DART × ÒÁÚÄÅÌÑÅÍÏÍ ÉÌÉ ÜËÓËÌÀÚÉ×ÎÏÍ ÒÅÖÉÍÅ.
-.IPs bufsize=<ÒÁÚÍÅÒ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ ÂÕÆÅÒÁ × <ÒÁÚÍÅÒ> × ÉÍÐÕÌØÓÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2048).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-dxr2) (ÔÏÌØËÏ DXR2)
-óÐÅÃÉÁÌØÎÙÊ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ ÄÌÑ Creative DXR2
-.
-.TP
-.B ivtv (ÔÏÌØËÏ IVTV)
-óÐÅÃÉÁÌØÎÙÊ IVTV MPEG ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ.
-òÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó \-ac hwmpa.
-.
-.TP
-.B v4l2 (ÔÒÅÂÕÅÔ Linux ÑÄÒÏ ×ÅÒÓÉÉ 2.6.22+)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ÄÌÑ V4L2 ËÁÒÔ Ó ÁÐÐÁÒÁÔÎÙÍ MPEG ÄÅËÏÄÅÒÏÍ.
-.
-.TP
-.B mpegpes (ÔÏÌØËÏ DVB)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ ÄÌÑ DVB ËÁÒÔ, ÚÁÐÉÓÙ×ÁÀÝÉÊ ×Ù×ÏÄ × MPEG\-PES ÆÁÊÌ,
-ÅÓÌÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÏ DVB ËÁÒÔ.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-éÓÐÏÌØÚÕÅÍÁÑ DVB ËÁÒÔÁ, ÅÓÌÉ ÕÓÔÁÎÏ×ÌÅÎÏ ÂÏÌÅÅ ÏÄÎÏÊ.
-.IPs file=<ÆÁÊÌ>
-éÍÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-îÅ ×Ù×ÏÄÉÔ ÎÉËÁËÏÇÏ Ú×ÕËÁ, ÎÏ ÓÏÈÒÁÎÑÅÔ ÓËÏÒÏÓÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ×ÉÄÅÏ.
-éÓÐÏÌØÚÕÊÔÅ \-nosound ÄÌÑ ÔÅÓÔÏ× ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.
-.
-.TP
-.B "pcm\ \ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ × ÆÁÊÌ ÓÙÒÏÇÏ PCM/wave
-.PD 0
-.RSs
-.IPs (no)waveheader
-÷ËÌÀÞÁÅÔ ÉÌÉ ÎÅ ×ËÌÀÞÁÅÔ ÚÁÇÏÌÏ×ÏË wave (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎ).
-åÓÌÉ ÎÅ ×ËÌÀÞÅÎ, ÇÅÎÅÒÉÒÕÅÔÓÑ ÓÙÒÏÊ PCM.
-.IPs file=<ÆÁÊÌ>
-úÁÐÉÓÙ×ÁÅÔ Ú×ÕË × <ÆÁÊÌ> ×ÍÅÓÔÏ audiodump.wav.
-åÓÌÉ ÕËÁÚÁÎÏ nowaveheader, ÔÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÅÔÓÑ audiodump.pcm.
-.IPs "fast\ "
-ðÙÔÁÅÔÓÑ ×Ù×ÏÄÉÔØ ÂÙÓÔÒÅÅ ÒÅÁÌØÎÏÊ ÓËÏÒÏÓÔÉ.
-õÂÅÄÉÔÅÓØ, ÞÔÏ ×Ù×ÏÄ ÎÅ ÏÂÒÅÚÁÎ (ÏÂÙÞÎÏ Ó ÓÏÏÂÝÅÎÉÅÍ
-"Too many video packets in buffer").
-üÔÏ ÎÏÒÍÁÌØÎÏ, ÅÓÌÉ ×Ù ÐÏÌÕÞÁÅÔÅ ÓÏÏÂÝÅÎÉÅ
-"Your system is too SLOW to play this!".
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ Ú×ÕËÁ plugin
-.
-.
-.
-.SH "ïðãéé ÷ù÷ïäá ÷éäåï (ôïìøëï MPLAYER)"
-.
-.TP
-.B \-adapter <ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ×ÉÄÅÏËÁÒÔÕ, ÎÁ ËÏÔÏÒÕÀ ÂÕÄÅÔ ×Ù×ÏÄÉÔØÓÑ ÉÚÏÂÒÁÖÅÎÉÅ.
-óÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ËÁÒÔ ÍÏÖÎÏ ÐÏÌÕÞÉÔØ, ÕËÁÚÁ× ÜÔÕ ÏÐÃÉÀ ÓÏ×ÍÅÓÔÎÏ Ó \-v.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó directx ÄÒÁÊ×ÅÒÏÍ ×Ù×ÏÄÁ ×ÉÄÅÏ.
-.
-.TP
-.B \-bpp <ÇÌÕÂÉÎÁ>
-ðÅÒÅÎÁÚÎÁÞÁÅÔ ÏÐÒÅÄÅÌÅÎÎÕÀ Á×ÔÏÍÁÔÉÞÅÓËÉ ÇÌÕÂÉÎÕ Ã×ÅÔÁ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ fbdev, dga, svga, vesa ÄÒÁÊ×ÅÒÁÍÉ.
-.
-.TP
-.B \-border
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ÆÉÌØÍ × ÏËÎÅ Ó ÒÁÍËÁÍÉ É ÏÆÏÒÍÌÅÎÉÅÍ.
-ðÏÓËÏÌØËÕ ÜÔÏ ÄÅÊÓÔ×ÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÉÓÐÏÌØÚÕÊÔÅ \-noborder
-ÄÌÑ ÏÔËÌÀÞÅÎÉÑ ÓÔÁÎÄÁÒÔÎÏÇÏ ÏÆÏÒÍÌÅÎÉÑ ÏËÏÎ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÒÁÊ×ÅÒÏÍ directx.
-.
-.TP
-.B \-brightness <\-100\-100>
-îÁÓÔÒÁÉ×ÁÅÔ ÑÒËÏÓÔØ ×ÉÄÅÏ ÓÉÇÎÁÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ×ÓÅÍÉ ÄÒÁÊ×ÅÒÁÍÉ.
-.
-.TP
-.B \-contrast <\-100\-100>
-îÁÓÔÒÁÉ×ÁÅÔ ËÏÎÔÒÁÓÔÎÏÓÔØ ×ÉÄÅÏÓÉÇÎÁÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ×ÓÅÍÉ ÄÒÁÊ×ÅÒÁÍÉ.
-.
-.TP
-.B \-display <ÉÍÑ> (ÔÏÌØËÏ X11)
-õËÁÚÙ×ÁÅÔ ÉÍÑ ÈÏÓÔÁ É ÎÏÍÅÒ ÄÉÓÐÌÅÑ X ÓÅÒ×ÅÒÁ, ÎÁ ËÏÔÏÒÏÍ ×Ù ÈÏÔÉÔÅ ×Ù×ÏÄÉÔØ
-ÉÚÏÂÒÁÖÅÎÉÅ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-÷ËÌÀÞÁÅÔ direct rendering (ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ×ÓÅÍÉ ËÏÄÅËÁÍÉ É ÄÒÁÊ×ÅÒÁÍÉ ×Ù×ÏÄÁ).
-.br
-.I ÷îéíáîéå:
-íÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÉÓÐÏÒÞÅÎÎÙÍ OSD/SUB!
-.
-.TP
-.B \-dxr2 <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...>
-üÔÁ ÏÐÃÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÄÒÁÊ×ÅÒÏÍ dxr2.
-.RSs
-.IPs ar\-mode=<ÚÎÁÞÅÎÉÅ>
-ÐÒÏÐÏÒÃÉÉ (0 = normal, 1 = pan\-and\-scan, 2 = letterbox (ÐÏ ÕÍÏÌÞÁÎÉÀ))
-.IPs iec958\-encoded
-ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÅÖÉÍ ×Ù×ÏÄÁ iec958 × encoded.
-.IPs iec958\-decoded
-ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÅÖÉÍ ×Ù×ÏÄÁ iec958 × decoded (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs macrovision=<ÚÎÁÞÅÎÉÅ>
-ÒÅÖÉÍ macrovision (0 = ×ÙËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ), 1 = agc, 2 = agc 2 colorstripe,
-3 = agc 4 colorstripe)
-.IPs "mute\ "
-ÏÔËÌÀÞÁÅÔ ×Ù×ÏÄ Ú×ÕËÁ
-.IPs unmute
-×ËÌÀÞÁÅÔ ×Ù×ÏÄ Ú×ÕËÁ
-.IPs ucode=<ÚÎÁÞÅÎÉÅ>
-ÐÕÔØ Ë ÍÉËÒÏËÏÄÕ
-.RE
-.RS
-.sp 1
-.I TV ×Ù×ÏÄ
-.RE
-.RSs
-.IPs 75ire
-×ËÌÀÞÁÅÔ ÒÅÖÉÍ ×Ù×ÏÄÁ 7.5 IRE
-.IPs no75ire
-ÏÔËÌÀÞÁÅÔ ÒÅÖÉÍ ×Ù×ÏÄÁ 7.5 IRE (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs "bw\ \ \ "
-Þ/ TV ×Ù×ÏÄ
-.IPs color
-Ã×ÅÔÎÏÊ TV ×Ù×ÏÄ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs interlaced
-ÞÅÒÅÓÓÔÒÏÞÎÙÊ TV ×Ù×ÏÄ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs nointerlaced
-ÏÔËÌÀÞÁÅÔ ÞÅÒÅÓÓÔÒÏÞÎÙÊ TV ×Ù×ÏÄ
-.IPs norm=<ÚÎÁÞÅÎÉÅ>
-TV ÓÔÁÎÄÁÒÔ (nÓsc (ÐÏ ÕÍÏÌÞÁÎÉÀ), pal, pal60, palm, paln, palnc)
-.IPs square\-pixel
-ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÅÖÉÍ ÐÉËÓÅÌÁ × square
-.IPs ccir601\-pixel
-ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÅÖÉÍ ÐÉËÓÅÌÁ × ccir601
-.RE
-.RS
-.sp 1
-.I Ï×ÅÒÌÅÊ
-.RE
-.RSs
-.IPs cr\-left=<0\-500>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÌÅ×ÕÀ ÇÒÁÎÉÃÕ ÏÂÒÅÚÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 50).
-.IPs cr\-right=<0\-500>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÁ×ÕÀ ÇÒÁÎÉÃÕ ÏÂÒÅÚÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 300).
-.IPs cr\-top=<0\-500>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÅÒÈÎÀÀ ÇÒÁÎÉÃÕ ÏÂÒÅÚÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.IPs cr\-bottom=<0\-500>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÉÖÎÀÀ ÇÒÁÎÉÃÕ ÏÂÒÅÚÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.IPs ck\-[r|g|b]=<0\-255>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÅÌÉÞÉÎÕ ËÒÁÓÎÏÊ(r), ÚÅÌÅÎÏÊ(g), ÓÉÎÅÊ (b) ËÏÍÐÏÎÅÎÔÙ ËÌÀÞÅ×ÏÇÏ Ã×ÅÔÁ Ï×ÅÒÌÅÑ.
-.IPs ck\-[r|g|b]min=<0\-255>
-íÉÎÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ËÏÍÐÏÎÅÎÔÙ ËÌÀÞÅ×ÏÇÏ Ã×ÅÔÁ
-.IPs ck\-[r|g|b]max=<0\-255>
-íÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ËÏÍÐÏÎÅÎÔÙ ËÌÀÞÅ×ÏÇÏ Ã×ÅÔÁ
-.IPs ignore\-cache
-éÇÎÏÒÉÒÕÅÔ ËÅÛÉÒÏ×ÁÎÎÙÅ ÕÓÔÁÎÏ×ËÉ Ï×ÅÒÌÅÑ.
-.IPs update\-cache
-ïÂÎÏ×ÌÑÅÔ ËÅÛÉÒÏ×ÁÎÎÙÅ ÕÓÔÁÎÏ×ËÉ Ï×ÅÒÌÅÑ.
-.IPs ol\-osd
-÷ËÌÀÞÁÅÔ Ï×ÅÒÌÅÊÎÙÊ OSD.
-.IPs nool\-osd
-ïÔËÌÀÞÁÅÔ Ï×ÅÒÌÅÊÎÙÊ OSD (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs ol[h|w|x|y]\-cor=<\-20\-20>
-îÁÓÔÒÁÉ×ÁÅÔ ÒÁÚÍÅÒ (×ÙÓÏÔÕ(h),ÛÉÒÉÎÕ(w)) É ÐÏÌÏÖÅÎÉÅ (x,y) Ï×ÅÒÌÅÑ
-× ÓÌÕÞÁÅÔ, ËÏÇÄÁ ÏÎ ÎÅ ÔÏÞÎÏ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÏËÎÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.IPs overlay
-áËÔÉ×ÉÒÕÅÔ Ï×ÅÒÌÅÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs nooverlay
-áËÔÉ×ÉÒÕÅÔ TV ×ÙÈÏÄ.
-.IPs overlay\-ratio=<1\-2500>
-îÁÓÔÒÁÉ×ÁÅÔ Ï×ÅÒÌÅÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1000).
-.RE
-.
-.TP
-.B \-fbmode <ÒÅÖÉÍ> (ÔÏÌØËÏ \-vo fbdev)
-íÅÎÑÅÔ ×ÉÄÅÏ ÒÅÖÉÍ ÎÁ ÐÏÍÅÞÅÎÎÙÊ ËÁË <ÒÅÖÉÍ> × /etc/\:fb.modes.
-.br
-.I úáíåþáîéå:
-VESA ÆÒÅÊÍÂÕÆÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÍÅÎÕ ÒÅÖÉÍÁ.
-.
-.TP
-.B \-fbmodeconfig <ÆÁÊÌ> (ÔÏÌØËÏ \-vo fbdev)
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÒÅÖÉÍÏ× ÆÒÅÊÍÂÕÆÅÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /etc/\:fb.modes).
-.
-.TP
-.B \-fs (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-zoom)
-ðÏÌÎÏÜËÒÁÎÎÏÅ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ (ÃÅÎÔÒÉÒÕÅÔ ÉÚÏÂÒÁÖÅÎÉÅ É ÒÉÓÕÅÔ ÞÅÒÎÙÅ ÒÁÍËÉ ×ÏËÒÕÇ ÎÅÇÏ).
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ×ÓÅÍÉ ÄÒÁÊ×ÅÒÁÍÉ.
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (õóôáòåìï, ÉÓÐÏÌØÚÕÊÔÅ ÏÐÃÉÀ \-fs)
-ðÏÐÒÏÂÕÊÔÅ ÜÔÕ ÏÐÃÉÀ, ÅÓÌÉ Õ ×ÁÓ ÐÏ-ÐÒÅÖÎÅÍÕ ÐÒÏÂÌÅÍÙ Ó ÐÏÌÎÏÜËÒÁÎÎÙÍ ÒÅÖÉÍÏÍ.
-.
-.TP
-.B \-fstype <ÔÉÐ1,ÔÉÐ2,...> (ÔÏÌØËÏ X11)
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÈ ÐÏÌÎÏÜËÒÁÎÎÙÈ ÒÅÖÉÍÏ× × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÁ.
-÷Ù ÍÏÖÅÔÅ Ï×ÅÒÇÎÕÔØ ÒÅÖÉÍÙ, ÓÔÁ×Ñ ÐÅÒÅÄ ÎÉÍÉ '\-'.
-åÓÌÉ Õ ×ÁÓ ×ÏÚÎÉËÁÀÔ ÐÒÏÂÌÅÍÙ ×ÒÏÄÅ ÐÅÒÅËÒÙ×ÁÎÉÑ ÐÏÌÎÏÜËÒÁÎÎÏÇÏ ÏËÎÁ ÄÒÕÇÉÍÉ,
-ÐÏÐÒÏÂÕÊÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÒÕÇÏÊ ÐÏÒÑÄÏË.
-.br
-.I úáíåþáîéå:
-óÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÔÉÐÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÏÐÃÉÅÊ \-fstype help.
-.sp 1
-äÏÐÕÓÔÉÍÙÅ ÔÉÐÙ:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-éÓÐÏÌØÚÕÅÔ ÐÏÄÓËÁÚËÕ _NETWM_STATE_ABOVE, ÅÓÌÉ ÄÏÓÔÕÐÎÁ.
-.IPs below
-éÓÐÏÌØÚÕÅÔ ÐÏÄÓËÁÚËÕ _NETWM_STATE_BELOW, ÅÓÌÉ ÄÏÓÔÕÐÎÁ.
-.IPs fullscreen
-éÓÐÏÌØÚÕÅÔ ÐÏÄÓËÁÚËÕ _NETWM_STATE_FULLSCREEN, ÅÓÌÉ ÄÏÓÔÕÐÎÁ.
-.IPs layer
-éÓÐÏÌØÚÕÅÔ ÐÏÄÓËÁÚËÕ _WIN_LAYER ÓÏ ÓÌÏÅÍ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-.IPs layer=<0...15>
-éÓÐÏÌØÚÕÅÔ ÐÏÄÓËÁÚËÕ _WIN_LAYER ÓÏ ÓÌÏÅÍ Ó ÕËÁÚÁÎÎÙÍ ÎÏÍÅÒÏÍ.
-.IPs netwm
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕËÁÚÙ×ÁÅÔ ÓÔÉÌØ NETWM.
-.IPs "none\ "
-õËÁÚÙ×ÁÅÔ ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ ÓÌÏÊ ÐÏÌÎÏÜËÒÁÎÎÏÇÏ ÏËÎÁ.
-.IPs stays_on_top
-éÓÐÏÌØÚÕÅÔ ÐÏÄÓËÁÚËÕ _NETWM_STATE_STAYS_ON_TOP, ÅÓÌÉ ÄÏÓÔÕÐÎÁ.
-.REss
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-ðÏÒÑÄÏË ÐÏ ÕÍÏÌÞÁÎÉÀ, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ, ÅÓÌÉ ÕËÁÚÁÎ ÎÅËÏÒÒÅËÔÎÙÊ ÉÌÉ
-ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÒÅÖÉÍ.
-.IPs \-fullscreen
-éÓÐÒÁ×ÌÑÅÔ ÐÅÒÅËÌÀÞÅÎÉÅ × ÐÏÌÎÏÜËÒÁÎÎÙÊ ÒÅÖÉÍ × OpenBox 1.x.
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] ÉÌÉ [WxH][+x+y]
-îÁÓÔÒÁÉ×ÁÅÔ ÍÅÓÔÏ ÐÏÑ×ÌÅÎÉÑ ÎÁ ÜËÒÁÎÅ ÉÚÏÂÒÁÖÅÎÉÑ.
-x É y ÕËÁÚÙ×ÁÀÔÓÑ × ÐÉËÓÅÌÁÈ, ÓÞÉÔÁÑ ÏÔ ×ÅÒÈÎÅÇÏ ÌÅ×ÏÇÏ ÄÏ ÎÉÖÎÅÇÏ ÐÒÁ×ÏÇÏ
-ÕÇÌÁ ×Ù×ÏÄÉÍÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ. åÓÌÉ ÐÏÓÌÅ ÚÎÁÞÅÎÉÑ ÕËÁÚÁÎ ÓÉÍ×ÏÌ ÐÒÏÃÅÎÔÁ, ÔÏ
-ÏÎÏ ÐÒÅ×ÒÁÝÁÅÔÓÑ × ÐÒÏÃÅÎÔÎÏÅ ÏÔÎÏÓÉÔÅÌØÎÏ ÒÁÚÍÅÒÁ ÜËÒÁÎÁ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ
-ÎÁÐÒÁ×ÌÅÎÉÉ. ïÐÃÉÑ ÔÁËÖÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÔÁÎÄÁÒÔÎÙÊ ÆÏÒÍÁÔ X11 ÏÐÃÉÉ \-geometry.
-åÓÌÉ ÏÐÃÉÅÊ \-wid ÕËÁÚÁÎÏ ×ÎÅÛÎÅÅ ÏËÎÏ, ÔÏ ËÏÏÒÄÉÎÁÔÙ x É y ÕËÁÚÙ×ÁÀÔÓÑ ÏÔÎÏÓÉÔÅÌØÎÏ
-ÅÇÏ ÌÅ×ÏÇÏ ×ÅÒÈÎÅÇÏ ÕÇÌÁ, Á ÎÅ ÜËÒÁÎÎÏÇÏ.
-.br
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ ÄÒÁÊ×ÅÒÁÍÉ x11, xmga, xv, xvmc, xvidix,
-gl, gl2, directx, fbdev É tdfxfb.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs 50:40
-òÁÓÐÏÌÁÇÁÅÔ ÏËÎÏ × ÐÏÚÉÃÉÉ x=50, y=40.
-.IPs 50%:50%
-òÁÓÐÏÌÁÇÁÅÔ ÏËÎÏ × ÃÅÎÔÒÅ ÜËÒÁÎÁ.
-.IPs "100%\ "
-òÁÓÐÏÌÁÇÁÅÔ ÏËÎÏ Õ ÃÅÎÔÒÁ ÐÒÁ×ÏÊ ÇÒÁÎÉÃÙ ÜËÒÁÎÁ.
-.IPs 100%:100%
-òÁÓÐÏÌÁÇÁÅÔ ÏËÎÏ Õ ÐÒÁ×ÏÇÏ ÎÉÖÎÅÇÏ ÕÇÌÁ ÜËÒÁÎÁ.
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <ID ÏËÎÁ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-wid) (ÔÏÌØËÏ GUI)
-ïÐÃÉÑ ÕËÁÚÙ×ÁÅÔ GUI ÉÓÐÏÌØÚÏ×ÁÔØ ÔÁËÖÅ X11 ÏËÎÏ É ÐÒÉÃÅÐÉÔØ ÓÅÂÑ Ë ÎÉÖÎÅÊ
-ÞÁÓÔÉ ×ÉÄÅÏ ÏËÎÁ, ÞÔÏ ÐÏÌÅÚÎÏ ÄÌÑ ×ÎÅÄÒÅÎÉÑ ÍÉÎÉ\-GUI × ÂÒÁÕÚÅÒ
-(Ó ÐÌÁÇÉÎÏÍ MPlayer).
-.
-.TP
-.B \-hue <\-100\-100>
-îÁÓÔÒÁÉ×ÁÅÔ Ã×ÅÔÎÏÓÔØ ×ÉÄÅÏÓÉÇÎÁÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ó ÜÔÏÊ ÏÐÃÉÅÊ ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ Ã×ÅÔÎÏÊ ÎÅÇÁÔÉ×.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ×ÓÅÍÉ ÄÒÁÊ×ÅÒÁÍÉ.
-.
-.TP
-.B \-monitor\-dotclock <ÄÉÁÐÁÚÏÎ[,ÄÉÁÐÁÚÏÎ,...]> (ÔÏÌØËÏ \-vo fbdev É vesa)
-õËÁÚÙ×ÁÅÔ ÄÉÁÐÁÚÏÎ ÚÎÁÞÅÎÉÊ dotclock ÉÌÉ pixelclock ÍÏÎÉÔÏÒÁ.
-.
-.TP
-.B \-monitor\-hfreq <ÄÉÁÐÁÚÏÎ[,ÄÉÁÐÁÚÏÎ,...]> (ÔÏÌØËÏ \-vo fbdev É vesa)
-õËÁÚÙ×ÁÅÔ ÄÉÁÐÁÚÏÎ ÚÎÁÞÅÎÉÊ ÇÏÒÉÚÏÎÔÁÌØÎÏÊ ÞÁÓÔÏÔÙ ÍÏÎÉÔÏÒÁ.
-.
-.TP
-.B \-monitor\-vfreq <ÄÉÁÐÁÚÏÎ[,ÄÉÁÐÁÚÏÎ,...]> (ÔÏÌØËÏ \-vo fbdev É vesa)
-õËÁÚÙ×ÁÅÔ ÄÉÁÐÁÚÏÎ ÚÎÁÞÅÎÉÊ ×ÅÒÔÉËÁÌØÎÏÊ ÞÁÓÔÏÔÙ ÍÏÎÉÔÏÒÁ.
-.
-.TP
-.B \-monitoraspect <ÚÎÁÞÅÎÉÅ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-aspect)
-õËÁÚÙ×ÁÅÔ ÐÒÏÐÏÒÃÉÉ ÍÏÎÉÔÏÒÁ ÉÌÉ TV ÜËÒÁÎÁ.
-úÎÁÞÅÎÉÅ 0 ÏÔËÌÀÞÁÅÔ ÄÅÊÓÔ×ÉÅ ÕÓÔÁÎÏ×ÌÅÎÎÏÊ ÒÁÎÅÅ ÏÐÃÉÉ
-monitoraspect (ÎÁÐÒÉÍÅÒ, × ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ).
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÚÎÁÞÅÎÉÅ \-monitorpixelaspect, ÅÓÌÉ ×ËÌÀÞÅÎÏ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-\-monitoraspect 4:3 or 1.3333
-.br
-\-monitoraspect 16:9 or 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <ÚÎÁÞÅÎÉÅ> (ÓÍÏÔÒÉÔÅ \-aspect)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÏÐÏÒÃÉÉ ÏÔÄÅÌØÎÏÇÏ ÐÉËÓÅÌÁ ×ÁÛÅÇÏ ÍÏÎÉÔÏÒÁ ÉÌÉ TV
-ÜËÒÁÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-úÎÁÞÅÎÉÅ 1 ÏÚÎÁÞÁÅÔ Ë×ÁÄÒÁÔÎÙÅ ÐÉËÓÅÌÙ
-(×ÅÒÎÏ ÄÌÑ (ÐÏÞÔÉ?) ×ÓÅÈ LCD).
-.
-.TP
-.B \-nodouble
-ïÔËÌÀÞÁÅÔ Ä×ÏÊÎÕÀ ÂÕÆÅÒÉÚÁÃÉÀ, ÉÓÐÏÌØÚÕÅÔÓÑ, ËÁË ÐÒÁ×ÉÌÏ, ÄÌÑ ÃÅÌÅÊ ÏÔÌÁÄËÉ.
-ä×ÏÊÎÁÑ ÂÕÆÅÒÉÚÁÃÉÑ ÉÓÐÒÁ×ÌÑÅÔ ÍÅÒÃÁÎÉÅ, ÈÒÁÎÑ Ä×Á ËÁÄÒÁ × ÐÁÍÑÔÉ É
-ÏÔÏÂÒÁÖÁÑ ÏÄÉÎ ÉÚ ÎÉÈ, × ÔÏ ×ÒÅÍÑ, ËÁË ÄÅËÏÄÉÒÕÅÔÓÑ ×ÔÏÒÏÊ.
-üÔÏ ÍÏÖÅÔ ÎÅÇÁÔÉ×ÎÏ ÓËÁÚÁÔØÓÑ ÎÁ OSD, ÎÏ × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ×
-ÕÂÉÒÁÅÔ ÍÅÒÃÁÎÉÅ OSD.
-.
-.TP
-.B \-nograbpointer
-õËÁÚÙ×ÁÅÔ ÎÅ ÚÁÈ×ÁÔÙ×ÁÔØ ÕËÁÚÁÔÅÌØ ÍÙÛÉ ÐÏÓÌÅ ÓÍÅÎÙ ×ÉÄÅÏ ÒÅÖÉÍÁ (\-vm).
-ðÏÌÅÚÎÏ ÄÌÑ ÍÎÏÇÏÇÏÌÏ×ÙÈ ËÏÎÆÉÇÕÒÁÃÉÊ.
-.
-.TP
-.B \-nokeepaspect
-õËÁÚÙ×ÁÅÔ ÇÅ ÓÏÈÒÁÎÑÔØ ÐÒÏÐÏÒÃÉÉ ÏËÎÁ ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÒÁÚÍÅÒÁ.
-òÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó ÄÒÁÊ×ÅÒÁÍÉ x11, xv, xmga, xvidix, directx.
-ëÒÏÍÅ ÔÏÇÏ, ÐÏÄ X11 ×ÁÛ ÏËÏÎÎÙÊ ÍÅÎÅÄÖÅÒ ÄÏÌÖÅÎ ÐÏÎÉÍÁÔØ ÐÏÄÓËÁÚËÕ
-ÓÏÈÒÁÎÅÎÉÑ ÐÒÏÐÏÒÃÉÊ ÏËÎÁ.
-.
-.TP
-.B "\-ontop\ "
-ðÏÍÅÝÁÅÔ É ÓÏÈÒÁÎÑÅÔ ÏËÎÏ ÐÒÏÉÇÒÙ×ÁÔÅÌÑ ÐÏ×ÅÒÈ ×ÓÅÈ ÏËÏÎ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ×ÓÅÍÉ ÄÒÁÊ×ÅÒÁÍÉ, ÉÓÐÏÌØÚÕÀÝÉÍÉ X11, ÚÁ
-ÉÓËÌÀÞÅÎÉÅÍ SDL, Á ÔÁËÖÅ ÄÒÁÊ×ÅÒÁÍÉ directx, corevideo,
-quartz, ggi É gl2.
-.
-.TP
-.B \-panscan <0.0\-1.0>
-úÁÄÅÊÓÔ×ÕÅÔ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ pan\-and\-scan (ÏÂÒÅÚÁÑ ÓÔÏÒÏÎÙ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ
-Ó ÐÒÏÐÏÒÃÉÑÍÉ, ÞÔÏÂÙ, ÎÁÐÒÉÍÅÒ 16:9, ÆÉÌØÍ ÐÏÍÅÓÔÉÌÓÑ ÎÁ 4:3 ÜËÒÁÎÅ
-ÂÅÚ ÞÅÒÎÙÈ ÐÏÌÏÓ). äÉÁÐÁÚÏÎ ÕËÁÚÙ×ÁÅÔ ËÁËÁÑ ÞÁÓÔØ ÉÚÏÂÒÁÖÅÎÉÑ ÏÂÒÅÚÁÅÔÓÑ.
-òÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó xv, xmga, mga, gl, gl2, quartz, corevideo É xvidix ÄÒÁÊ×ÅÒÁÍÉ.
-.br
-.I NOTE:
-úÎÁÞÅÎÉÑ ÍÅÖÄÕ \-1 É 0 ÔÁËÖÅ ÄÏÐÕÓÔÉÍÙ, ÎÏ Ñ×ÌÑÀÔÓÑ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÍÉ
-É ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë ËÒÁÈÕ ÉÌÉ ÄÅÆÅËÔÁÍ.
-éÓÐÏÌØÚÕÊÔÅ ÎÁ Ó×ÏÊ ÓÏÂÓÔ×ÅÎÎÙÊ ÓÔÒÁÈ É ÒÉÓË!
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÅ)
-éÚÍÅÎÑÅÔ ÄÉÁÐÁÚÏÎ pan\-and\-scan ÆÕÎËÃÉÏÎÁÌØÎÏÓÔÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-ðÏÌÏÖÉÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ ÍÎÏÖÉÔÅÌØ ÄÉÁÐÁÚÏÎÁ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-ïÔÒÉÃÁÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ, ÞÔÏ ÍÏÖÎÏ Õ×ÅÌÉÞÉ×ÁÔØ ÉÚÏÂÒÁÖÅÎÉÅ
-ÄÏ \-panscanrange+1 ÒÁÚ.
-îÁÐÒÉÍÅÒ \-panscanrange \-3 ÏÚÎÁÞÁÅÔ Õ×ÅÌÉÞÅÎÉÅ ×ÐÌÏÔØ ÄÏ 4 ÒÁÚ.
-üÔÏ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ×ÏÚÍÏÖÎÏÓÔØ.
-îÅ ÓÏÏÂÝÁÊÔÅ Ï ÏÛÉÂËÁÈ × ÎÅÊ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÓÌÕÞÁÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ \-vo gl.
-.
-.TP
-.B \-refreshrate <çÃ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÞÁÓÔÏÔÕ ÏÂÎÏ×ÌÅÎÉÑ ÍÏÎÉÔÏÒÁ × çÃ.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ \-vo directx ÓÏ×ÍÅÓÔÎÏ Ó \-vm.
-.
-.TP
-.B \-rootwin
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ÆÉÌØÍ ÎÁ ÇÌÁ×ÎÏÍ ÏËÎÅ (ÆÏÎÅ ÒÁÂÏÞÅÇÏ ÓÔÏÌÁ).
-ïÄÎÁËÏ, ÆÏÎ ÒÁÂÏÞÅÇÏ ÓÔÏÌÁ ÍÏÖÅÔ ÏÔÏÂÒÁÖÁÔØÓÑ ÐÏ×ÅÒÈ ÉÚÏÂÒÁÖÅÎÉÑ.
-òÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó x11, xv, xmga, xvidix, quartz, corevideo É directx ÄÒÁÊ×ÅÒÁÍÉ.
-.
-.TP
-.B \-saturation <\-100\-100>
-îÁÓÔÒÁÉ×ÁÅÔ ÎÁÓÙÝÅÎÎÏÓÔØ ×ÉÄÅÏ ÓÉÇÎÁÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ó ÜÔÏÊ ÏÐÃÉÅÊ ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÉÚÏÂÒÁÖÅÎÉÑ × ÏÔÔÅÎËÁÈ ÓÅÒÏÇÏ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ×ÓÅÍÉ ÄÒÁÊ×ÅÒÁÍÉ.
-.
-.TP
-.B \-screenh <ÐÉËÓÅÌÏ×>
-õËÁÚÙ×ÁÅÔ ×ÙÓÏÔÕ ÜËÒÁÎÁ ÄÌÑ ÄÒÁÊ×ÅÒÏ×, ËÏÔÏÒÙÅ ÎÅ ÍÏÇÕÔ
-ÏÐÒÅÄÅÌÉÔØ ÅÇÏ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ, ÔÁËÉÈ ËÁË fbdev, x11 É TVout.
-.
-.TP
-.B \-screenw <ÐÉËÓÅÌÏ×>
-õËÁÚÙ×ÁÅÔ ÛÉÒÉÎÕ ÜËÒÁÎÁ ÄÌÑ ÄÒÁÊ×ÅÒÏ×, ËÏÔÏÒÙÅ ÎÅ ÍÏÇÕÔ
-ÏÐÒÅÄÅÌÉÔØ ÅÇÏ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ, ÔÁËÉÈ ËÁË fbdev, x11 É TVout.
-.
-.TP
-.B \-stop\-xscreensaver (ÔÏÌØËÏ X11)
-ïÔËÌÀÞÁÅÔ xscreensaver ÐÒÉ ÚÁÐÕÓËÅ É ÓÎÏ×Á ×ËÌÀÞÁÅÔ ÅÇÏ ÐÒÉ ×ÙÈÏÄÅ.
-åÓÌÉ ÷ÁÛ ÈÒÁÎÉÔÅÌØ ÜËÒÁÎÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÎÉ XSS, ÎÉ
-XResetScreenSaver API, ÐÏÖÁÌÕÊÓÔÁ, ÉÓÐÏÌØÚÕÊÔÅ \-heartbeat\-cmd
-×ÚÁÍÅÎ.
-.
-.TP
-.B "\-vm \ \ \ "
-ðÙÔÁÅÔÓÑ ÐÅÒÅËÌÀÞÉÔØÓÑ × ÄÒÕÇÏÊ ×ÉÄÅÏ ÒÅÖÉÍ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ dga, x11, xv, sdl É directx ÄÒÁÊ×ÅÒÁÍÉ.
-åÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ Ó directx ÄÒÁÊ×ÅÒÏÍ, ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÒÅÖÉÍÁ
-ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÃÉÉ \-screenw, \-screenh, \-bpp É \-refreshrate.
-.
-.TP
-.B "\-vsync \ \ "
-÷ËÌÀÞÁÅÔ VBI ÄÌÑ vesa, dfbmga É svga ÄÒÁÊ×ÅÒÏ×.
-.
-.TP
-.B \-wid <ID ÏËÎÁ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-guiwid) (ÔÏÌØËÏ X11, OpenGL É DirectX)
-çÏ×ÏÒÉÔ MPlayer ÐÒÉÓÏÅÄÉÎÉÔØÓÑ Ë ÓÕÝÅÓÔ×ÕÀÝÅÍÕ ÏËÎÕ.
-ðÏÌÅÚÎÏ ÄÌÑ ×ÎÅÄÒÅÎÉÑ MPlayer × ÂÒÁÕÚÅÒ (ÎÁÐÒÉÍÅÒ, ÒÁÓÛÉÒÅÎÉÅ plugger).
-.
-.TP
-.B \-xineramascreen <\-2\-...>
-÷ Xinerama ËÏÎÆÉÇÕÒÁÃÉÑÈ (ÎÁÐÒÉÍÅÒ, ÅÄÉÎÓÔ×ÅÎÎÙÊ ÒÁÂÏÞÉÊ ÓÔÏÌ, ÒÁÓÔÑÎÕÔÙÊ ÎÁ
-ÎÅÓËÏÌØËÏ ÜËÒÁÎÏ×) ÜÔÁ ÏÐÃÉÑ ÕËÁÚÙ×ÁÅÔ MPlayer ÎÁ ËÁËÏÍ ÉÚ ÎÉÈ ÐÏËÁÚÙ×ÁÔØ
-ÆÉÌØÍ.
-úÎÁÞÅÎÉÅ \-2 ÏÚÎÁÞÁÅÔ ÐÏÌÎÏÜËÒÁÎÎÙÊ ÒÅÖÉÍ ÎÁ ×ÅÓØ ×ÉÒÔÕÁÌØÎÙÊ ÜËÒÁÎ (×
-ÜÔÏÍ ÓÌÕÞÁÅÔ ÉÎÆÏÒÍÁÃÉÑ Xinerama ÐÏÌÎÏÓÔØÀ ÉÇÎÏÒÉÒÕÅÔÓÑ),
-\-1 ÏÚÎÁÞÁÅÔ ÐÏÌÎÏÜËÒÁÎÎÙÊ ÒÅÖÉÍ ÎÁ ÜËÒÁÎÅ Ó ÔÅËÕÝÉÍ ÏËÎÏÍ.
-îÁÞÁÌØÎÁÑ ÐÏÚÉÃÉÑ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÏÐÃÉÅÊ \-geometry ÏÔÎÏÓÉÔÅÌØÎÏ ÕËÁÚÁÎÎÏÇÏ
-ÜËÒÁÎÁ.
-ëÁË ÐÒÁ×ÉÌÏ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ ÔÏÌØËÏ Ó "\-fstype \-fullscreen" ÉÌÉ
-"\-fstype none".
-üÔÁ ÏÐÃÉÑ ÎÅ ÐÒÉÇÏÄÎÁ ÔÏÌØËÏ ÄÌÑ ÕËÁÚÁÎÉÑ ÜËÒÁÎÁ ÚÁÐÕÓËÁ (ÐÏÓËÏÌØËÕ
-×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ÂÕÄÅÔ ×ÓÅÇÄÁ ×ÙÐÏÌÎÑÔØÓÑ ÎÁ ÚÁÄÁÎÎÏÍ ÜËÒÁÎÅ ×
-ÐÏÌÎÏÜËÒÁÎÎÏÍ ÒÅÖÉÍÅ), \-geometry \- ÌÕÞÛÅÅ, ÞÔÏ ÐÒÉÇÏÄÎÏ ÄÌÑ ÜÔÏÊ
-ÃÅÌÉ ÎÁ ÔÅËÕÝÉÊ ÍÏÍÅÎÔ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÒÁÊ×ÅÒÁÍÉ ×ÉÄÅÏ ×Ù×ÏÄÁ gl, gl2, x11 É xv.
-.
-.TP
-.B \-zrbw (ÔÏÌØËÏ \-vo zr)
-ðÏËÁÚÙ×ÁÅÔ ÞÅÒÎÏ\-ÂÅÌÏÅ ÉÚÏÂÒÁÖÅÎÉÅ.
-äÌÑ ÏÐÔÉÍÁÌØÎÏÊ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÍÏÖÅÔ ËÏÍÂÉÎÉÒÏ×ÁÔØÓÑ Ó '\-lavdopts gray'.
-.
-.TP
-.B \-zrcrop <[ÛÉÒÉÎÁ]x[×ÙÓÏÔÁ]+[x ÓÍÅÝÅÎÉÅ]+[y ÓÍÅÝÅÎÉÅ]> (ÔÏÌØËÏ \-vo zr)
-÷ÙÂÉÒÁÅÔ ÞÁÓÔØ ÉÓÈÏÄÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ ÄÌÑ ÐÏËÁÚÁ, ÎÅÏÄÎÏËÒÁÔÎÏÅ ÕËÁÚÁÎÉÅ
-ÜÔÏÊ ÏÐÃÉÉ ×ËÌÀÞÁÅÔ ÒÅÖÉÍ cinerama.
-÷ ÒÅÖÉÍÅ cinerama ÆÉÌØÍ ÒÁÓÐÒÅÄÅÌÑÅÔÓÑ ÐÏ ÎÅÓËÏÌØËÉÍ TV (ÉÌÉ ÐÒÏÅËÔÏÒÁÍ) ÄÌÑ
-ÓÏÚÄÁÎÉÑ ÂÏÌØÛÅÊ ËÁÒÔÉÎËÉ.
-ïÐÃÉÉ, ÕËÁÚÁÎÎÙÅ ÐÏÓÌÅ n\-ÏÊ \-zrcrop ÐÒÉÍÅÎÑÀÔÓÑ Ë n\-ÏÊ MJPEG ËÁÒÔÅ,
-ÄÌÑ ËÁÖÄÏÊ ËÁÒÔÙ ÎÕÖÎÏ ÕËÁÚÁÔØ, ËÁË ÍÉÎÉÍÕÍ, \-zrdev × ÄÏÐÏÌÎÅÎÉÉ Ë \-zrcrop.
-äÌÑ ÐÒÉÍÅÒÁ ÓÍÏÔÒÉÔÅ ×Ù×ÏÄ \-zrhelp É ÒÁÚÄÅÌ Zr ÄÏËÕÍÅÎÔÁÃÉÉ.
-.
-.TP
-.B \-zrdev <ÕÓÔÒÏÊÓÔ×Ï> (ÔÏÌØËÏ \-vo zr)
-õËÁÚÙ×ÁÅÔ ÆÁÊÌ ÕÓÔÒÏÊÓÔ×Á, ÏÔÎÏÓÑÝÉÊÓÑ Ë ×ÁÛÅÊ MJPEG ËÁÒÔÅ, ÐÏ ÕÍÏÌÞÁÎÉÀ
-ÄÒÁÊ×ÅÒ zr ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÅÅ × ÐÅÒ×ÏÅ ÎÁÊÄÅÎÎÏÅ v4l ÕÓÔÒÏÊÓÔ×Ï.
-.
-.TP
-.B \-zrfd (ÔÏÌØËÏ \-vo zr)
-ðÒÉÎÕÄÉÔÅÌØÎÏÅ ÐÒÏÒÅÖÉ×ÁÎÉÅ: ðÒÏÒÅÖÉ×ÁÎÉÅ, ÕËÁÚÁÎÎÏÅ ÏÐÃÉÑÍÉ \-zrhdec
-É \-zrvdec, ÐÒÉÍÅÎÑÅÔÓÑ, ÔÏÌØËÏ ÅÓÌÉ ÁÐÐÁÒÁÔÎÙÊ ÍÏÄÕÌØ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ ÍÏÖÅÔ ÒÁÓÔÑÎÕÔØ
-ÉÚÏÂÒÁÖÅÎÉÅ ÄÏ ÅÇÏ ÉÓÈÏÄÎÏÇÏ ÒÁÚÍÅÒÁ.
-éÓÐÏÌØÚÕÊÔÅ ÜÔÕ ÏÐÃÉÀ, ÞÔÏÂÙ ÆÏÒÓÉÒÏ×ÁÔØ ÐÒÏÒÅÖÉ×ÁÎÉÅ.
-.
-.TP
-.B \-zrhdec <1|2|4> (ÔÏÌØËÏ \-vo zr)
-çÏÒÉÚÏÎÔÁÌØÎÏÅ ÐÒÏÒÅÖÉ×ÁÎÉÅ: úÁÐÒÁÛÉ×ÁÅÔ ÄÒÁÊ×ÅÒ ÏÔÐÒÁ×ÌÑÔØ ÔÏÌØËÏ
-ËÁÖÄÙÊ 2\-À ÉÌÉ 4\-À ÓÔÒÏËÕ/\:ÐÉËÓÅÌ ÉÓÈÏÄÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ MJPEG ËÁÒÔÅ É
-ÉÓÐÏÌØÚÏ×ÁÔØ ÍÏÄÕÌØ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ MJPEG ËÁÒÔÙ ÄÌÑ ÒÁÓÔÑÇÉ×ÁÎÉÑ ÉÚÏÂÒÁÖÅÎÉÑ ÄÏ
-ÉÓÈÏÄÎÏÇÏ ÒÁÚÍÅÒÁ.
-.
-.TP
-.B \-zrhelp (ÔÏÌØËÏ \-vo zr)
-ïÔÏÂÒÁÖÁÅÔ ÓÐÉÓÏË ×ÓÅÈ \-zr* ÏÐÃÉÊ, ÉÈ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ É
-ÐÒÉÍÅÒ ÒÅÖÉÍÁ cinerama.
-.
-.TP
-.B \-zrnorm <ÓÔÁÎÄÁÒÔ> (ÔÏÌØËÏ \-vo zr)
-õËÁÚÙ×ÁÅÔ TV ÓÔÁÎÄÁÒÔ × PAL ÉÌÉ NTSC (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÂÅÚ ÉÚÍÅÎÅÎÉÑ).
-.
-.TP
-.B \-zrquality <1\-20> (ÔÏÌØËÏ \-vo)
-þÉÓÌÏ ÏÔ 1 (ÎÁÉÌÕÞÛÅÅ) ÄÏ 20 (ÎÁÉÈÕÄÛÅÅ) ÐÒÅÄÓÔÁ×ÌÑÀÝÅÅ ËÁÞÅÓÔ×Ï
-ËÏÄÉÒÏ×ÁÎÉÑ JPEG.
-.
-.
-.TP
-.B \-zrvdec <1|2|4> (ÔÏÌØËÏ \-vo zr)
-÷ÅÒÔÉËÁÌØÎÏÅ ÐÒÏÒÅÖÉ×ÁÎÉÅ: úÁÐÒÁÛÉ×ÁÅÔ ÄÒÁÊ×ÅÒ ÏÔÐÒÁ×ÌÑÔØ ÔÏÌØËÏ
-ËÁÖÄÕÀ 2\-À ÉÌÉ 4\-À ÓÔÒÏËÕ/\:ÐÉËÓÅÌ ÉÓÈÏÄÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ MJPEG ËÁÒÔÅ É
-ÉÓÐÏÌØÚÏ×ÁÔØ ÍÏÄÕÌØ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ MJPEG ËÁÒÔÙ ÄÌÑ ÒÁÓÔÑÇÉ×ÁÎÉÑ ÉÚÏÂÒÁÖÅÎÉÑ ÄÏ
-ÉÓÈÏÄÎÏÇÏ ÒÁÚÍÅÒÁ.
-.
-.TP
-.B \-zrxdoff <x ÓÍÅÝÅÎÉÅ ÎÁ ÜËÒÁÎÅ> (ÔÏÌØËÏ \-vo zr)
-åÓÌÉ ÉÚÏÂÒÁÖÅÎÉÅ ÍÅÎØÛÅ, ÞÅÍ TV ÜËÒÁÎ, ÜÔÁ ÏÐÃÉÑ ÕËÁÚÙ×ÁÅÔ ÓÍÅÝÅÎÉÅ
-ÐÏ x ÏÔ ×ÅÒÈÎÅÇÏ ÌÅ×ÏÇÏ ÕÇÌÁ TV ÜËÒÁÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÃÅÎÔÒÉÒÏ×ÁÎÏ).
-.
-.TP
-.B \-zrydoff <y ÓÍÅÝÅÎÉÅ ÎÁ ÜËÒÁÎÅ> (ÔÏÌØËÏ \-vo zr)
-åÓÌÉ ÉÚÏÂÒÁÖÅÎÉÅ ÍÅÎØÛÅ, ÞÅÍ TV ÜËÒÁÎ, ÜÔÁ ÏÐÃÉÑ ÕËÁÚÙ×ÁÅÔ ÓÍÅÝÅÎÉÅ
-ÐÏ y ÏÔ ×ÅÒÈÎÅÇÏ ÌÅ×ÏÇÏ ÕÇÌÁ TV ÜËÒÁÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÃÅÎÔÒÉÒÏ×ÁÎÏ).
-.
-.
-.
-.SH "äòáê÷åòù ÷ù÷ïäá ÷éäåï (ôïìøëï MPLAYER)"
-äÒÁÊ×ÅÒÙ ×Ù×ÏÄÁ ×ÉÄÅÏ \- ÜÔÏ ÉÎÔÅÒÆÅÊÓÙ Ë ÒÁÚÌÉÞÎÙÍ ÓÒÅÄÓÔ×ÁÍ ×Ù×ÏÄÁ ×ÉÄÅÏ.
-óÉÎÔÁËÓÉÓ:
-.
-.TP
-.B \-vo <ÄÒÁÊ×ÅÒ1[:ÐÏÄÏÐÃÉÑ1[=ÚÎÁÞÅÎÉÅ]:...],ÄÒÁÊ×ÅÒ2,...[,]>
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÈ ÄÒÁÊ×ÅÒÏ× × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÎÏÓÔÉ.
-.PP
-åÓÌÉ ÓÐÉÓÏË ÓÏÄÅÒÖÉÔ ÚÁ×ÅÒÛÁÀÝÕÀ ',', ÔÏ MPlayer × ÓÌÕÞÁÅ ÐÒÏÂÌÅÍ ÂÕÄÅÔ
-ÉÓÐÏÌØÚÏ×ÁÔØ ÄÒÁÊ×ÅÒÙ, ÎÅ ÓÏÄÅÒÖÁÝÉÅÓÑ × ÓÐÉÓËÅ.
-ðÏÄÏÐÃÉÉ ÎÅÏÂÑÚÁÔÅÌØÎÙ É × ÂÏÌØÛÉÎÓÔ×Å ÏÐÃÉÊ ÍÏÇÕÔ ÂÙÔØ ÏÐÕÝÅÎÙ.
-.br
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÓËÏÍÐÉÌÉÒÏ×ÁÎÎÙÈ ÄÒÁÊ×ÅÒÏ× ×Ù×ÏÄÁ ×ÉÄÅÏ ÍÏÖÎÏ ÐÏÌÕÞÉÔØ
-ÏÐÃÉÅÊ \-vo help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-ðÒÏÂÕÅÔ X11 Matrox ÄÒÁÊ×ÅÒ, ÚÁÔÅÍ Xv ÄÒÁÊ×ÅÒ, ÚÁÔÅÍ ÏÓÔÁÌØÎÙÅ.
-.IPs "\-vo directx:noaccel"
-éÓÐÏÌØÚÕÅÔ DirectX ÄÒÁÊ×ÅÒ ÂÅÚ ÕÓËÏÒÅÎÉÑ.
-.RE
-.PD 1
-.sp 1
-äÏÐÕÓÔÉÍÙÅ ÄÒÁÊ×ÅÒÙ:
-.
-.TP
-.B xv (ÔÏÌØËÏ X11)
-éÓÐÏÌØÚÕÅÔ XVideo ÒÁÓÛÉÒÅÎÉÅ XFree86 4.x ÄÌÑ ÚÁÄÅÊÓÔ×Ï×ÁÎÉÑ ÁÐÐÁÒÁÔÎÏ
-ÕÓËÏÒÅÎÎÏÇÏ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-åÓÌÉ ×Ù ÎÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÐÅÃÉÁÌØÎÙÊ ÄÒÁÊ×ÅÒ ÄÌÑ ×ÁÛÅÇÏ
-ÏÂÏÒÕÄÏ×ÁÎÉÑ, ÔÏ ×ÙÂÏÒ ÜÔÏÇÏ, ×ÏÚÍÏÖÎÏ, ÂÕÄÅÔ ÌÕÞÛÉÍ ÒÅÛÅÎÉÅÍ.
-þÔÏÂÙ ÕÚÎÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÓÐÏÌØÚÕÅÍÏÍ Ã×ÅÔÏ×ÏÍ ËÌÀÞÅ É ÓÐÏÓÏÂÅ ÅÇÏ ÏÔÏÂÒÁÖÅÎÉÑ,
-ÚÁÐÕÓÔÉÔÅ MPlayer Ó ÏÐÃÉÅÊ \-v É ÏÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÓÔÒÏËÉ, ÐÏÍÅÞÅÎÎÙÅ
-[xv common] × ÎÁÞÁÌÅ.
-.PD 0
-.RSs
-.IPs adaptor=<ÞÉÓÌÏ>
-÷ÙÂÉÒÁÅÔ ÕËÁÚÁÎÎÙÊ XVideo ÁÄÁÐÔÅÒ (ÓÍÏÔÒÉÔÅ ×Ù×ÏÄ xvinfo).
-.IPs port=<ÞÉÓÌÏ>
-÷ÙÂÉÒÁÅÔ ÕËÁÚÁÎÎÙÊ XVideo ÐÏÒÔ.
-.IPs ck=<cur|use|set>
-÷ÙÂÉÒÁÅÔ ÉÓÔÏÞÎÉË, ÉÚ ËÏÔÏÒÏÇÏ ÂÅÒÅÔÓÑ Ã×ÅÔÏ×ÏÊ ËÌÀÞ (ÐÏ ÕÍÏÌÞÁÎÉÀ: cur).
-.RSss
-.IPs cur
-úÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ Ã×ÅÔÏ×ÏÇÏ ËÌÀÞÁ ÂÅÒÅÔÓÑ ÉÚ ÔÅËÕÝÉÈ ÕÓÔÁÎÏ×ÏË Xv.
-.IPs use
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ, ÎÏ ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ Ã×ÅÔÏ×ÏÊ ËÌÀÞ MPlayer
-(ÉÓÐÏÌØÚÕÊÔÅ ÏÐÃÉÀ \-colorkey ÄÌÑ ÅÇÏ ÉÚÍÅÎÅÎÉÑ).
-.IPs set
-ôÏ ÖÅ, ÞÔÏ É ÐÒÅÄÙÄÕÝÅÅ, ÎÏ ÔÁËÖÅ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕËÁÚÁÎÎÙÊ Ã×ÅÔÏ×ÏÊ ËÌÀÞ.
-.RE
-.IPs ck\-method=<man|bg|auto>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÅÔÏÄ ÏÔÒÉÓÏ×ËÉ Ã×ÅÔÏ×ÏÇÏ ËÌÀÞÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: man).
-.RSss
-.IPs man
-õËÁÚÙ×ÁÅÔ ÒÉÓÏ×ÁÔØ Ã×ÅÔÏ×ÏÊ ËÌÀÞ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ (ÕÍÅÎØÛÁÅÔ ÍÅÒÃÁÎÉÅ × ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ).
-.IPs bg
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ Ã×ÅÔÏ×ÏÊ ËÌÀÞ × ËÁÞÅÓÔ×Å ÆÏÎÁ ÏËÎÁ.
-.IPs auto
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ Xv ÏÔÒÉÓÏ×Ù×ÁÔØ Ã×ÅÔÏ×ÏÊ ËÌÀÞ.
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (ÔÏÌØËÏ X11)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ Ó ÒÁÚÄÅÌÅÎÉÅÍ ÐÁÍÑÔÉ ÂÅÚ ÁÐÐÁÒÁÔÎÏÇÏ ÕÓËÏÒÅÎÉÑ,
-ÒÁÂÏÔÁÅÔ ×ÅÚÄÅ, ÇÄÅ ÅÓÔØ X11.
-.
-.TP
-.B xover (ÔÏÌØËÏ X11)
-äÏÂÁ×ÌÑÅÔ ÐÏÄÄÅÒÖËÕ X11 ËÏ ×ÓÅÍ ÄÒÁÊ×ÅÒÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ Ï×ÅÒÌÅÅ.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ ÄÒÁÊ×ÅÒÏÍ tdfx_vid.
-.PD 0
-.RSs
-.IPs <vo_driver>
-÷ÙÂÉÒÁÅÔ ÄÒÁÊ×ÅÒ, ÉÓÐÏÌØÚÕÅÍÙÊ × ËÁÞÅÓÔ×Å ÉÓÔÏÞÎÉËÁ Ë Ï×ÅÒÌÅÀ
-ÐÏ×ÅÒÈ X11.
-.RE
-.PD 1
-.
-.TP
-.B vdpau (ÓÏ×ÍÅÓÔÎÏ Ó \-vc ffmpeg12vdpau, ffwmv3vdpau, ffvc1vdpau ÉÌÉ ffh264vdpau)
-÷Ù×ÏÄ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÀÝÉÊ VDPAU ÄÌÑ ÁÐÐÁÒÁÔÎÏÇÏ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ×ÉÄÅÏ.
-ôÁËÖÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÔÏÂÒÁÖÅÎÉÅ ÐÒÏÇÒÁÍÍÎÏ ÄÅËÏÄÉÒÏ×ÁÎÎÏÇÏ ×ÉÄÅÏ.
-.PD 0
-.RSs
-.IPs sharpen=<\-1\-1>
-ðÒÉ ÐÏÌÏÖÉÔÅÌØÎÙÈ ÚÎÁÞÅÎÉÑÈ ÐÒÉÍÅÎÑÅÔ ÁÌÇÏÒÉÔÍ ÐÏ×ÙÛÅÎÉÑ Þ£ÔËÏÓÔÉ
-×ÉÄÅÏ, ÐÒÉ ÏÔÒÉÃÁÔÅÌØÎÙÈ \- ÁÌÇÏÒÉÔÍ ÒÁÚÍÙ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.IPs denoise=<0\-1>
-ðÒÉÍÅÎÑÅÔ Ë ×ÉÄÅÏ ÁÌÇÏÒÉÔÍ ÕÍÅÎØÛÅÎÉÀ ÛÕÍÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0, ÎÅÔ
-ÕÍÅÎØÛÅÎÉÑ ÛÕÍÁ).
-.IPs deint=<0\-4>
-÷ÙÂÉÒÁÅÔ ÄÅÉÎÔÅÒÌÅÊÓÅÒ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-÷ÓÅ ÒÅÖÉÍÙ > 0 ÕÞÉÔÙ×ÁÀÔ \-field\-dominance.
-.br
-.I úáíåþáîéå:
-úÎÁÞÅÎÉÑ > 2 ÚÁÄÅÒÖÉ×ÁÀÔ ×Ù×ÏÄ ×ÉÄÅÏ ÎÁ ÏÄÉÎ ËÁÄÒ.
-.RSss
-.IPs 0
-îÅÔ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ.
-.IPs 1
-ïÔÏÂÒÁÖÁÅÔ ÔÏÌØËÏ ÐÅÒ×ÏÅ ÐÏÌÅ, ÁÎÁÌÏÇÉÞÎÏ \-vf field.
-.IPs 2
-Bob ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ, ÁÎÁÌÏÇÉÞÎÏ \-vf tfields=1.
-.IPs 3
-áÄÁÐÔÉ×ÎÙÊ ÐÏ Ä×ÉÖÅÎÉÀ ×ÒÅÍÅÎÎÏÊ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ.
-íÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÄÅÓÉÎÈÒÏÎÉÚÁÃÉÉ ÁÕÄÉÏ É ×ÉÄÅÏ ÎÁ ÓÌÁÂÏÊ ×ÉÄÅÏ
-ËÁÒÔÅ É/ÉÌÉ ×ÙÓÏËÏÍ ÒÁÚÒÅÛÅÎÉÉ.
-üÔÏ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ ËÌÁ×ÉÛÁ "D" ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ
-×ËÌÀÞÅÎÉÑ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ.
-.IPs 4
-áÄÁÐÔÉ×ÎÙÊ ÐÏ Ä×ÉÖÅÎÉÀ ×ÒÅÍÅÎÎÏÊ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ Ó ÕÐÒÁ×ÌÑÅÍÏÊ ÐÏ
-ËÒÁÑÍ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÊ ÉÎÔÅÒÐÏÌÑÃÉÅÊ. ôÒÅÂÕÅÔ ÂÙÓÔÒÏÊ ×ÉÄÅÏ ËÁÒÔÙ.
-.RE
-.IPs chroma\-deint
-ðÏÚ×ÏÌÑÅÔ ×ÒÅÍÅÎÎÙÍ ÄÅÉÎÔÅÒÌÅÊÓÅÒÁÍ ÏÐÅÒÉÒÏ×ÁÔØ ËÁË ÑÒËÏÓÔÎÏÊ, ÔÁË
-É Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-éÓÐÏÌØÚÕÊÔÅ nochroma\-deint ÄÌÑ ÏÐÅÒÉÒÏ×ÁÎÉÑ ÔÏÌØËÏ Ã×ÅÔÎÏÓÔÎÏÊ
-ËÏÍÐÏÎÅÎÔÏÊ É ÕÓËÏÒÅÎÉÑ ÕÓÏ×ÅÒÛÅÎÓÔ×Ï×ÁÎÎÏÇÏ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ.
-ðÏÌÅÚÎÏ Ó ÍÅÄÌÅÎÎÏÊ ×ÉÄÅÏ ÐÁÍÑÔØÀ.
-.IPs pullup
-ðÒÏÂÕÅÔ ÐÒÉÍÅÎÉÔØ ÏÂÒÁÔÎÙÊ ÔÅÌÅÓÉÎ, ÎÕÖÄÁÅÔÓÑ ×Ï ×ÒÅÍÅÎÎÏÍ
-ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÅ.
-.RE
-.PD 1
-.
-.TP
-.B xvmc (ÔÏÌØËÏ X11 Ó \-vc ffmpeg12mc)
-äÒÁÊ×ÅÒ, ÉÓÐÏÌØÚÕÀÝÉÊ ÒÁÓÛÉÒÅÎÉÅ XvMC (X Video Motion Compensation)
-XFree86 4.x ÄÌÑ ÕÓËÏÒÅÎÉÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ MPEG\-1/2 É VCR2.
-.PD 0
-.RSs
-.IPs adaptor=<ÞÉÓÌÏ>
-÷ÙÂÉÒÁÅÔ ÕËÁÚÁÎÎÙÊ XVideo ÁÄÁÐÔÅÒ (ÓÍÏÔÒÉÔÅ ×Ù×ÏÄ xvinfo).
-.IPs port=<ÞÉÓÌÏ>
-÷ÙÂÉÒÁÅÔ ÕËÁÚÁÎÎÙÊ XVideo ÐÏÒÔ.
-.IPs (no)benchmark
-ïÔËÌÀÞÁÅÔ ÐÏËÁÚ ÉÚÏÂÒÁÖÅÎÉÑ.
-îÅÏÂÈÏÄÉÍÏ ÄÌÑ ÐÒÁ×ÉÌØÎÏÇÏ ÔÅÓÔÁ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ
-ÄÒÁÊ×ÅÒÏ×, ÉÚÍÅÎÑÀÝÉÈ ÂÕÆÅÒÙ ÉÚÏÂÒÁÖÅÎÉÑ ÔÏÌØËÏ
-.\" FIXME ÐÒÁ×ÉÌØÎÏ ÌÉ ÐÅÒÅ×ÅÄÅÎÏ monitor retrace ?
-ÍÅÖÄÕ ÃÉËÌÁÍÉ ÏÂÎÏ×ÌÅÎÉÑ ÉÚÏÂÒÁÖÅÎÉÑ ÎÁ ÍÏÎÉÔÏÒÅ (nVidia).
-ÐÏ ÕÍÏÌÞÁÎÉÀ, ÏÔÏÂÒÁÖÅÎÉÅ ÜËÒÁÎÁ ÎÅ ÏÔËÌÀÞÁÅÔÓÑ (nobenchmark).
-.IPs (no)bobdeint
-ïÞÅÎØ ÐÒÏÓÔÏÊ ÄÅÉÎÔÅÒÌÅÊÓÅÒ.
-íÏÖÅÔ ÂÙÔØ ÎÅ ÌÕÞÛÅ, ÞÅÍ \-vf tfields=1, ÎÏ ÜÔÏ
-ÅÄÉÎÓÔ×ÅÎÎÙÊ ÄÅÉÎÔÅÒÌÅÊÓÅÒ ÄÌÑ xvmc (ÐÏ ÕÍÏÌÞÁÎÉÀ: nobobdeint).
-.IPs (no)queue
-ðÏÍÅÝÁÅÔ ËÁÄÒÙ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ × ÏÞÅÒÅÄØ, ÞÔÏÂÙ ÓÉÌØÎÅÅ ÒÁÓÐÁÒÁÌÌÅÌÉÔØ
-ÒÁÂÏÔÕ ×ÉÄÅÏ ÏÂÏÒÕÄÏ×ÁÎÉÑ.
-íÏÖÅÔ ÄÏÂÁ×ÉÔØ ÍÁÌÅÎØËÕÀ (ÎÅÚÎÁÞÉÔÅÌØÎÕÀ) ÐÏÓÔÏÑÎÎÕÀ A/V ÒÁÓÓÉÎÈÒÏÎÉÚÁÃÉÀ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: noqueue).
-.IPs (no)sleep
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÕÎËÃÉÀ sleep ÄÌÑ ÏÖÉÄÁÎÉÑ ËÏÎÃÁ ÒÅÎÄÅÒÉÎÇÁ
-(ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ × Linux) (ÐÏ ÕÍÏÌÞÁÎÉÀ: nosleep).
-.IPs ck=cur|use|set
-ôÏ ÖÅ, ÞÔÏ É \-vo xv:ck (ÓÍÏÔÒÉÔÅ \-vo xv).
-.IPs ck\-method=man|bg|auto
-ôÏ ÖÅ, ÞÔÏ É \-vo xv:ck-method (ÓÍÏÔÒÉÔÅ \-vo xv).
-.RE
-.PD 1
-.
-.TP
-.B dga (ÔÏÌØËÏ X11)
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ×ÉÄÅÏ ÞÅÒÅÚ XFree86 ÒÁÓÛÉÒÅÎÉÅ Direct Graphics Access.
-óÞÉÔÁÅÔÓÑ ÕÓÔÁÒÅ×ÛÉÍ.
-.
-.TP
-.B sdl (ÔÏÌØËÏ SDL, ÇÌÀÞÎÙÊ/ÕÓÔÁÒÅ×ÛÉÊ)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ Ó ÐÏÍÏÝØÀ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÏÊ, ÐÌÁÔÆÏÒÍÅÎÎÏ\-ÎÅÚÁ×ÉÓÉÍÏÊ
-ÂÉÂÌÉÏÔÅËÉ SDL (Simple Directmedia Layer).
-ðÏÓËÏÌØËÕ SDL ÉÓÐÏÌØÚÕÅÔ Ó×ÏÊ ÓÏÂÓÔ×ÅÎÎÙÊ ÓÌÏÊ X11, X11 ÏÐÃÉÉ MPlayer
-ÎÅ ÂÕÄÕÔ ÉÍÅÔØ ÎÉËÁËÏÇÏ ÜÆÆÅËÔÁ ÎÁ SDL.
-ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, Õ ÎÅÇÏ ÅÓÔØ ÎÅÓËÏÌØËÏ ÎÅÚÎÁÞÉÔÅÌØÎÙÈ ÏÛÉÂÏË
-(\-vm/\-novm ÐÒÅÉÍÕÝÅÓÔ×ÅÎÎÏ ÉÇÎÏÒÉÒÕÀÔÓÑ, \-fs ÄÅÊÓÔ×ÕÅÔ ÔÁË, ËÁË
-ÄÏÌÖÎÏ ÄÅÊÓÔ×Ï×ÁÔØ \-novm, ÏËÎÏ ÒÁÓÐÏÌÁÇÁÅÔÓÑ × ×ÅÒÈÎÅÍ ÌÅ×ÏÍ ÕÇÌÕ
-ÐÏÓÌÅ ×ÏÚ×ÒÁÝÅÎÉÑ ÉÚ ÐÏÌÎÏÜËÒÁÎÎÏÇÏ ÒÅÖÉÍÁ, panscan ÎÅ
-ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ,...).
-.PD 0
-.RSs
-.IPs driver=<ÄÒÁÊ×ÅÒ>
-ñ×ÎÏ ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ SDL ÄÒÁÊ×ÅÒ.
-.IPs (no)forcexv
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ XVideo ÞÅÒÅÚ ×ÉÄÅÏ ÄÒÁÊ×ÅÒ sdl (ÐÏ ÕÍÏÌÞÁÎÉÀ: forcexv).
-.IPs (no)hwaccel
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÐÐÁÒÁÔÎÏ ÕÓËÏÒÅÎÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: hwaccel).
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX, ×ÉÄÅÏ ÉÎÔÅÒÆÅÊÓ ÄÌÑ *nix) \- ÜÔÏ ÉÎÔÅÒÆÅÊÓ
-Ë ×ÏÚÍÏÖÎÏÓÔÑÍ ÕÓËÏÒÅÎÉÑ ×ÉÄÅÏ ÒÁÚÌÉÞÎÙÈ ÇÒÁÆÉÞÅÓËÉÈ ËÁÒÔ.
-ïÞÅÎØ ÂÙÓÔÒÙÊ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÄÌÑ ËÁÒÔ, ÅÇÏ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ.
-.PD 0
-.RSs
-.IPs <ÐÏÄÕÓÔÒÏÊÓÔ×Ï>
-.\" FIXME "ÐÏÄÕÓÔÒÏÊÓÔ×Á"
-ñ×ÎÏ ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÄÒÁÊ×ÅÒ ÐÏÄÕÓÔÒÏÊÓÔ×Á VIDIX.
-äÏÓÔÕÐÎÙÅ ÄÒÁÊ×ÅÒÙ ÐÏÄÕÓÔÒÏÊÓÔ×: cyberblade, ivtv, mach64,
-mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
-sis_vid É unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (ÔÏÌØËÏ X11)
-X11 ÆÒÏÎÔÅÎÄ ÄÌÑ VIDIX
-.PD 0
-.RSs
-.IPs <ÐÏÄÕÓÔÒÏÊÓÔ×Ï>
-ôÏ ÖÅ, ÞÔÏ É ÄÌÑ vidix
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-õÎÉ×ÅÒÓÁÌØÎÙÊ É ÐÌÁÔÆÏÒÍÅÎÎÏ\-ÎÅÚÁ×ÉÓÉÍÙÊ VIDIX ÆÒÏÎÔÅÎÄ, Ó ËÁÒÔÁÍÉ nVidia ÍÏÖÅÔ ÒÁÂÏÔÁÔØ
-ÄÁÖÅ × ÔÅËÓÔÏ×ÏÊ ËÏÎÓÏÌÉ.
-.PD 0
-.RSs
-.IPs <ÐÏÄÕÓÔÒÏÊÓÔ×Ï>
-ôÏ ÖÅ, ÞÔÏ É ÄÌÑ vidix.
-.RE
-.PD 1
-.
-.TP
-.B winvidix (ÔÏÌØËÏ Windows)
-Windows ÆÒÏÎÔÅÎÄ ÄÌÑ VIDIX.
-.PD 0
-.RSs
-.IPs <ÐÏÄÕÓÔÒÏÊÓÔ×Ï>
-ôÏ ÖÅ, ÞÔÏ É ÄÌÑ vidix.
-.RE
-.PD 1
-.
-.TP
-.B direct3d (ÔÏÌØËÏ Windows) (âåôá ëïä!)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÀÝÉÊ Direct3D ÉÎÔÅÒÆÅÊÓ (ÐÏÌÅÚÎÏ ÄÌÑ Vista).
-.
-.TP
-.B directx (ÔÏÌØËÏ Windows)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÀÝÉÊ DirectX ÉÎÔÅÒÆÅÊÓ.
-.PD 0
-.RSs
-.IPs noaccel
-ïÔËÌÀÞÁÅÔ ÁÐÐÁÒÁÔÎÏÅ ÕÓËÏÒÅÎÉÅ.
-ðÏÐÒÏÂÕÊÔÅ ÜÔÕ ÏÐÃÉÀ, ÅÓÌÉ Õ ×ÁÓ ÐÒÏÂÌÅÍÙ Ó ÏÔÏÂÒÁÖÅÎÉÅÍ.
-.RE
-.PD 1
-.
-.TP
-.B kva (ÔÏÌØËÏ OS/2)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÀÝÉÊ ÉÎÔÅÒÆÅÊÓ libkva.
-.PD 0
-.RSs
-.IPs snap
-æÏÒÓÉÒÕÅÔ ÒÅÖÉÍ SNAP.
-.IPs wo
-æÏÒÓÉÒÕÅÔ ÒÅÖÉÍ WarpOverlay!.
-.IPs dive
-æÏÒÓÉÒÕÅÔ ÒÅÖÉÍ DIVE.
-.IPs (no)t23
-÷ËÌÀÞÁÅÔ/×ÙËÌÀÞÁÅÔ ÏÂÈÏÄÎÏÅ ÒÅÛÅÎÉÅ ÄÌÑ ÎÏÕÔÂÕËÁ T23 (ÐÏ ÕÍÏÌÞÁÎÉÀ: \-not23).
-ðÏÐÒÏÂÕÊÔÅ ×ËÌÀÞÉÔØ ÄÁÎÎÕÀ ÏÐÃÉÀ, ÅÓÌÉ ÷ÁÛÁ ×ÉÄÅÏËÁÒÔÁ ÐÏÄÄÅÒÖÉ×ÁÅÔ
-ÔÏÌØËÏ ÒÁÓÔÑÖÅÎÉÅ.
-.RE
-.PD 1
-.
-.TP
-.B quartz (ÔÏÌØËÏ Mac OS X)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ Mac OS X Quartz.
-÷ ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ, ÆÏÒÓÉÒÏ×ÁÎÉÅ ÐÁËÏ×ÁÎÎÏÇÏ ×ÙÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ YUV Ó,
-ÎÁÐÒÉÍÅÒ, \-vf format=yuy2, ÍÏÖÅÔ ÂÙÔØ ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÙÍ.
-.PD 0
-.RSs
-.IPs device_id=<ÞÉÓÌÏ>
-÷ÙÂÉÒÁÅÔ ÕÓÔÒÏÊÓÔ×Ï ÏÔÏÂÒÁÖÅÎÉÑ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÐÏÌÎÏÜËÒÁÎÎÏÍ ÒÅÖÉÍÅ.
-.IPs fs_res=<ÛÉÒÉÎÁ>:<×ÙÓÏÔÁ>
-õËÁÚÙ×ÁÅÔ ÐÏÌÎÏÜËÒÁÎÎÏÅ ÒÁÚÒÅÛÅÎÉÅ (ÐÏÌÅÚÎÏ ÎÁ ÍÅÄÌÅÎÎÙÈ ÓÉÓÔÅÍÁÈ).
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 ÉÌÉ 10.3.9 Ó QuickTime 7)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ Mac OS X CoreVideo.
-.PD 0
-.RSs
-.IPs device_id=<ÞÉÓÌÏ>
-÷ÙÂÉÒÁÅÔ ÕÓÔÒÏÊÓÔ×Ï ÏÔÏÂÒÁÖÅÎÉÑ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÐÏÌÎÏÜËÒÁÎÎÏÍ
-ÒÅÖÉÍÅ ÉÌÉ, ÐÒÉ ÕÓÔÁÎÏ×ÌÅÎÉÉ × \-1, ×ÓÅÇÄÁ ÉÓÐÏÌØÚÕÅÔ ÔÏ ÖÅ, ÎÁ
-ËÏÔÏÒÏÍ ÎÁÈÏÄÉÔÓÑ ÏËÎÏ Ó ×ÉÄÅÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ: \-1 \- Á×ÔÏ).
-.IPs shared_buffer
-ðÉÛÅÔ ×Ù×ÏÄ × ÂÕÆÅÒ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ ×ÍÅÓÔÏ ÅÇÏ ÏÔÏÂÒÁÖÅÎÉÑ É
-ÐÙÔÁÅÔÓÑ ÏÔËÒÙÔØ ÓÕÝÅÓÔ×ÕÀÝÅÅ ÓÏÅÄÉÎÅÎÉÅ NSConnection ÄÌÑ Ó×ÑÚÉ Ó GUI.
-.IPs buffer_name=<ÉÍÑ>
-éÍÑ ÒÁÚÄÅÌÑÅÍÏÇÏ ÂÕÆÅÒÁ, ÓÏÚÄÁÎÎÏÇÏ ÐÒÉ ÐÏÍÏÝÉ shm_open, ÏÎÏ ÖÅ É
-ÉÍÑ ÓÏÅÄÉÎÅÎÉÑ NSConnection, ËÏÔÏÒÏÅ MPlayer ÐÏÐÙÔÁÅÔÓÑ ÏÔËÒÙÔØ (ÐÏ
-ÕÍÏÌÞÁÎÉÀ: "mplayerosx").
-úÁÄÁÎÉÅ buffer_name ÎÅÑ×ÎÏ ×ËÌÀÞÁÅÔ shared_buffer.
-.RE
-.PD 1
-.
-.TP
-.B fbdev (ÔÏÌØËÏ Linux)
-éÓÐÏÌØÚÕÅÔ ÆÒÅÊÍÂÕÆÅÒ ÑÄÒÁ ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ×ÉÄÅÏ.
-.PD 0
-.RSs
-.IPs <ÕÓÔÒÏÊÓÔ×Ï>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÍÑ ÉÓÐÏÌØÚÕÅÍÏÇÏ fbdev ÕÓÔÒÏÊÓÔ×Á (ÎÁÐÒÉÍÅÒ /dev/\:fb0) ÉÌÉ
-ÉÍÑ ÐÏÄÕÓÔÒÏÊÓÔ×Á VIDIX, ÅÓÌÉ ÉÍÑ ÕÓÔÒÏÊÓÔ×Á ÎÁÞÉÎÁÅÔÓÑ Ó 'vidix'
-(ÎÁÐÒÉÍÅÒ 'vidixsis_vid ÄÌÑ ÄÒÁÊ×ÅÒÁ sis).
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (ÔÏÌØËÏ Linux)
-éÓÐÏÌØÚÕÅÔ ÆÒÅÊÍÂÕÆÅÒ ÑÄÒÁ ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ×ÉÄÅÏ, ÁÌØÔÅÒÎÁÔÉ×ÎÁÑ
-ÒÅÁÌÉÚÁÃÉÑ.
-.PD 0
-.RSs
-.IPs <ÕÓÔÒÏÊÓÔ×Ï>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÍÑ ÉÓÐÏÌØÚÕÅÍÏÇÏ fbdev ÕÓÔÒÏÊÓÔ×Á (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-÷ÅÓØÍÁ ÕÎÉ×ÅÒÓÁÌØÎÙÊ ÄÒÁÊ×ÅÒ, ËÏÔÏÒÙÊ ÄÏÌÖÅÎ ÒÁÂÏÔÁÔØ ÎÁ ÌÀÂÏÊ VESA VBE 2.0
-ÓÏ×ÍÅÓÔÉÍÏÊ ËÁÒÔÅ.
-.PD 0
-.RSs
-.IPs (no)dga
-÷ËÌÀÞÁÅÔ ÉÌÉ ×ÙËÌÀÞÁÅÔ ÒÅÖÉÍ DGA (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-.IPs neotv_pal
-áËÔÉ×ÉÒÕÅÔ NeoMagic TV ×ÙÈÏÄ É ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÔÁÎÄÁÒÔ × PAL.
-.IPs neotv_ntsc
-áËÔÉ×ÉÒÕÅÔ NeoMagic TV ×ÙÈÏÄ É ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÔÁÎÄÁÒÔ × NTSC.
-.IPs vidix
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ VIDIX ÄÒÁÊ×ÅÒ.
-.IPs "lvo:\ \ \ "
-áËÔÉ×ÉÒÕÅÔ ×ÉÄÅÏ Ï×ÅÒÌÅÊ Linux ÐÏ×ÅÒÈ VESA ÒÅÖÉÍÁ.
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÑ ÂÉÂÌÉÏÔÅËÕ SVGA.
-.PD 0
-.RSs
-.IPs "<×ÉÄÅÏ ÒÅÖÉÍ>"
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ×ÉÄÅÏ ÒÅÖÉÍ.
-òÅÖÉÍ ÍÏÖÅÔ ÂÙÔØ ÚÁÄÁÎ × ÆÏÒÍÅ <ÛÉÒÉÎÁ>x<×ÙÓÏÔÁ>x<Ã×ÅÔÏ×>,
-ÎÁÐÒÉÍÅÒ 640x480x16M ÉÌÉ ÎÏÍÅÒÏÍ ÇÒÁÆÉÞÅÓËÏÇÏ ÒÅÖÉÍÁ, ÎÁÐÒÉÍÅÒ 84.
-.IPs bbosd
-÷Ù×ÏÄÉÔ OSD ÎÁ ÞÅÒÎÙÈ ÐÏÌÑÈ ÐÏÄ ÉÚÏÂÒÁÖÅÎÉÅÍ (ÍÅÄÌÅÎÎÅÅ).
-.IPs native
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ 'ÎÁÔÉ×ÎÙÅ' ÆÕÎËÃÉÉ.
-üÔÏ ÏÔËÌÀÞÁÅÔ ÐÒÑÍÏÊ ÒÅÎÄÅÒÉÎÇ, OSD É ÁÐÐÁÒÁÔÎÏÅ ÕÓËÏÒÅÎÉÅ.
-.IPs retrace
-.\" FIXME ËÁË ËÏÒÏÔËÏ ÐÅÒÅ×ÅÓÔÉ vertical retrace? óÕÝÅÓÔ×ÕÀÝÉÊ ÐÅÒÅ×ÏÄ
-.\" ÎÅ ÓÏ×ÓÅÍ ×ÅÒÎÙÊ (É Ú×ÕÞÉÔ ÕÖÁÓÎÏ).
-æÏÒÓÉÒÕÅÔ ÐÅÒÅËÌÀÞÅÎÉÅ ËÁÄÒÏ× ÍÅÖÄÕ ÃÉËÌÁÍÉ
-×ÅÒÔÉËÁÌØÎÏÊ ÒÁÚ×ÅÒÔËÉ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ Ó \-double.
-éÍÅÅÔ ÔÏÔ ÖÅ ÜÆÆÅËÔ, ÞÔÏ É ÏÐÃÉÑ \-vsync.
-.IPs "sq\ \ \ "
-ðÙÔÁÅÔÓÑ ×ÙÂÒÁÔØ ×ÉÄÅÏ ÒÅÖÉÍ Ó Ë×ÁÄÒÁÔÎÙÍÉ ÐÉËÓÅÌÁÍÉ.
-.IPs vidix
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ svga Ó VIDIX.
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-OpenGL ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ, ÐÒÏÓÔÁÑ ×ÅÒÓÉÑ.
-òÁÚÍÅÒ ×ÉÄÅÏ ÄÏÌÖÅÎ ÂÙÔØ ÍÅÎØÛÅ ÍÁËÓÉÍÁÌØÎÏÇÏ ÒÁÚÍÅÒÁ
-ÔÅËÓÔÕÒÙ × ×ÁÛÅÊ ÒÅÁÌÉÚÁÃÉÉ OpenGL.
-ðÒÅÄÐÏÌÁÇÁÅÔÓÑ, ÞÔÏ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ ÄÁÖÅ Ó ÓÁÍÙÍÉ ÐÒÏÓÔÙÍÉ
-ÒÅÁÌÉÚÁÃÉÑÍÉ OpenGL, ÎÏ ÔÁËÖÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÏ×ÙÅ
-ÒÁÓÛÉÒÅÎÉÑ, ÐÏÚ×ÏÌÑÀÝÉÅ ÐÏÄÄÅÒÖÉ×ÁÔØ ÂÏÌØÛÅÅ ËÏÌÉÞÅÓÔ×Ï
-Ã×ÅÔÏ×ÙÈ ÐÒÏÓÔÒÁÎÓÔ× É ÐÒÑÍÏÊ ÒÅÎÄÅÒÉÎÇ.
-äÌÑ ÏÐÔÉÍÁÌØÎÏÇÏ ÂÙÓÔÒÏÄÅÊÓÔ×ÉÑ ÉÓÐÏÌØÚÕÊÔÅ ÞÔÏ\-ÌÉÂÏ ÐÏÄÏÂÎÏÅ
-.br
-\-vo gl:yuv=2:rectangle=2:force\-pbo:ati\-hack \-dr \-noslices
-.br
-ëÏÄ ×ÙÐÏÌÎÑÅÔ ÏÞÅÎØ ÍÁÌÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÒÏ×ÅÒÏË, ÔÁË ÞÔÏ, ÅÓÌÉ ÞÔÏ\-ÔÏ ÎÅ
-ÒÁÂÏÔÁÅÔ, ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÏ ÏÔÓÕÔÓÔ×ÉÅÍ ÐÏÄÄÅÒÖËÉ × ×ÁÛÅÊ
-ËÁÒÔÅ/OpenGL ÒÅÁÌÉÚÁÃÉÉ, ÄÁÖÅ ÅÓÌÉ ×Ù ÎÅ ÐÏÌÕÞÁÅÔÅ ÎÉËÁËÉÈ ÓÏÏÂÝÅÎÉÊ ÏÂ
-ÏÛÉÂËÁÈ.
-éÓÐÏÌØÚÕÊÔÅ glxinfo ÉÌÉ ÁÎÁÌÏÇÉÞÎÙÊ ÉÎÓÔÒÕÍÅÎÔ, ÞÔÏÂÙ Õ×ÉÄÅÔØ
-ÐÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÒÁÓÛÉÒÅÎÉÑ OpenGL.
-.PD 0
-.RSs
-.IPs (no)ati\-hack
-äÒÁÊ×ÅÒÁ ATI ÍÏÇÕÔ ÄÁ×ÁÔØ ÉÓÐÏÒÞÅÎÎÏÅ ÉÚÏÂÒÁÖÅÎÉÅ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ
-PBO (ËÏÇÄÁ ÚÁÄÁÎÙ \-dr ÉÌÉ force\-pbo).
-äÁÎÎÁÑ ÏÐÃÉÑ ÉÓÐÒÁ×ÌÑÅÔ ÜÔÏ ÃÅÎÏÊ ÎÅÓËÏÌØËÏ ÂÏÌØÛÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
-ÐÁÍÑÔÉ.
-.IPs (no)force\-pbo
-÷ÓÅÇÄÁ ÉÓÐÏÌØÚÕÅÔ PBO ÄÌÑ ÐÅÒÅÓÙÌËÉ ÔÅËÓÔÕÒ, ÄÁÖÅ ÅÓÌÉ ÜÔÏ
-ÐÏÄÒÁÚÕÍÅ×ÁÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÏÅ ËÏÐÉÒÏ×ÁÎÉÅ.
-ÄÒÁÊ×ÅÒÏ× NVidia É ÓÕÝÅÓÔ×ÅÎÎÏ ÂÏÌØÛÅÅ ÄÌÑ ÄÒÁÊ×ÅÒÏ× ATI.
-äÌÑ ËÏÒÒÅËÔÎÏÊ ÒÁÂÏÔÙ ÍÏÖÅÔ ÐÏÎÁÄÏÂÉÔØÓÑ \-noslices É ÐÏÄÏÐÃÉÑ
-ati\-hack.
-.IPs (no)scaled\-osd
-éÚÍÅÎÑÅÔ ÒÅÁËÃÉÀ OSD ÎÁ ÉÚÍÅÎÅÎÉÅ ÒÁÚÍÅÒÁ ÏËÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-.\" FIXME is translation correct ?
-.\" When enabled behaves more like the other video output drivers,
-.\" which is better for fixed-size fonts.
-.\" Disabled looks much better with FreeType fonts and uses the
-.\" borders in fullscreen mode.
-ëÏÇÄÁ ×ËÌÀÞÅÎÏ, ÐÏ×ÅÄÅÎÉÅ ÔÁËÏÅ ÖÅ ËÁË É Ó ÏÓÔÁÌØÎÙÍÉ ÄÒÁÊ×ÅÒÁÍÉ ×Ù×ÏÄÁ
-×ÉÄÅÏ, ÞÔÏ ÌÕÞÛÅ ÄÌÑ ÛÒÉÆÔÏ× ÆÉËÓÉÒÏ×ÁÎÎÏÇÏ ÒÁÚÍÅÒÁ.
-ëÏÇÄÁ ÏÔËÌÀÞÅÎÏ, ÔÏ ×ÙÇÌÑÄÉÔ ÎÁÍÎÏÇÏ ÌÕÞÛÅ ÓÏ ÛÒÉÆÔÁÍÉ TrueType É
-ÉÓÐÏÌØÚÕÅÔ ÇÒÁÎÉÃÙ × ÐÏÌÎÏÜËÒÁÎÎÏÍ ÒÅÖÉÍÅ.
-îÅ ÒÁÂÏÔÁÅÔ ËÏÒÒÅËÔÎÏ Ó ass ÓÕÂÔÉÔÒÁÍÉ (ÓÍÏÔÒÉÔÅ \-ass), × ËÁÞÅÓÔ×Å
-ÁÌØÔÅÒÎÁÔÉ×Ù ×Ù ÍÏÖÅÔÅ ÏÔÒÉÓÏ×Ù×ÁÔØ ÉÈ ÂÅÚ OpenGL, ÉÓÐÏÌØÚÕÑ \-vf ass.
-.IPs osdcolor=<0xAARRGGBB>
-ã×ÅÔ ÄÌÑ OSD (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0x00ffffff, ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÎÅÐÒÏÚÒÁÞÎÏÍÕ ÂÅÌÏÍÕ
-Ã×ÅÔÕ).
-.IPs rectangle=<0,1,2>
-÷ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÑÍÏÕÇÏÌØÎÙÈ ÔÅËÓÔÕÒ, ÞÔÏ ÜËÏÎÏÍÉÔ ×ÉÄÅÏÐÁÍÑÔØ, ÎÏ
-ÚÁÞÁÓÔÕÀ ÒÁÂÏÔÁÅÔ ÍÅÄÌÅÎÎÅÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.RSss
-0: õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÅËÓÔÕÒÙ power\-of\-two (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÁÓÛÉÒÅÎÉÅ GL_ARB_texture_rectangle.
-.br
-2: õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÁÓÛÉÒÅÎÉÅ GL_ARB_texture_non_power_of_two.
-÷ ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ ÐÒÏÇÒÁÍÍÎÏ É, ÐÏÜÔÏÍÕ, ÏÞÅÎØ ÍÅÄÌÅÎÎÏ.
-.RE
-.IPs swapinterval=<n>
-íÉÎÉÍÁÌØÎÙÊ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ ÓÍÅÎÁÍÉ ÂÕÆÅÒÏ×, ÐÏÓÞÉÔÁÎÎÙÊ × ÏÔÏÂÒÁÖÁÅÍÙÈ
-ËÁÄÒÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-1 ÜË×É×ÁÌÅÎÔÎÏ ×ËÌÀÞÅÎÉÀ VSYNC, 0 \- ÏÔËÌÀÞÅÎÉÀ VSYNC.
-úÎÁÞÅÎÉÑ ÍÅÎØÛÅ 0 ÏÓÔÁ×ÑÔ ÅÇÏ ÒÁ×ÎÙÍ ÓÉÓÔÅÍÎÏÍÕ ÚÎÁÞÅÎÉÀ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-üÔÏ ÏÇÒÁÎÉÞÉ×ÁÅÔ ÞÁÓÔÏÔÕ ËÁÄÒÏ× ÚÎÁÞÅÎÉÅÍ (ÞÁÓÔÏÔÁ ÇÏÒÉÚÏÎÔÁÌØÎÏÊ ÒÁÚ×ÅÒÔËÉ / n).
-äÌÑ ÒÁÂÏÔÙ ÔÒÅÂÕÅÔÓÑ ÐÏÄÄÅÒÖËÁ GLX_SGI_swap_control.
-ó ÎÅËÏÔÏÒÙÍÉ (ÍÎÏÇÉÍÉ/×ÓÅÍÉ?) ÒÅÁÌÉÚÁÃÉÑÍÉ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ × ÐÏÌÎÏÜËÒÁÎÎÏÍ ÒÅÖÉÍÅ.
-.IPs yuv=<n>
-õËÁÚÙ×ÁÅÔ ÔÉÐ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ YUV × RGB.
-.RSss
-0: éÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÇÒÁÍÍÎÏÅ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-óÏ×ÍÅÓÔÉÍÏ ÓÏ ×ÓÅÍÉ ×ÅÒÓÉÑÍÉ OpenGL.
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÕÐÒÁ×ÌÅÎÉÑ ÑÒËÏÓÔØÀ, ËÏÎÔÒÁÓÔÎÏÓÔØÀ É ÎÁÓÙÝÅÎÎÏÓÔØÀ.
-.br
-.\" FIXME register combiners - ÂÌÏËÉ ÏÂßÅÄÉÎÅÎÉÑ ÒÅÇÉÓÔÒÏ×
-1: éÓÐÏÌØÚÕÀÔÓÑ ÂÌÏËÉ ÏÂßÅÄÉÎÅÎÉÑ ÒÅÇÉÓÔÒÏ×
-éÓÐÏÌØÚÕÅÔÓÑ nVidia\-ÓÐÅÃÉÆÉÞÎÏÅ ÒÁÓÛÉÒÅÎÉÅ (GL_NV_register_combiners).
-ôÒÅÂÕÀÔÓÑ, ËÁË ÍÉÎÉÍÕÍ, ÔÒÉ ÔÅËÓÔÕÒÙ.
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÕÐÒÁ×ÌÅÎÉÑ ÎÁÓÙÝÅÎÎÏÓÔØÀ É Ã×ÅÔÎÏÓÔØÀ.
-üÔÏ ÂÙÓÔÒÙÊ, ÎÏ ÎÅ ÔÏÞÎÙÊ ÍÅÔÏÄ.
-.br
-2: éÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÇÒÁÍÍÁ ÆÒÁÇÍÅÎÔÁÃÉÉ.
-ôÒÅÂÕÅÔÓÑ ÒÁÓÛÉÒÅÎÉÅ GL_ARB_fragment_program É, ËÁË ÍÉÎÉÍÕÍ, ÔÒÉ ÔÅËÓÔÕÒÙ.
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÕÐÒÁ×ÌÅÎÉÑ ÑÒËÏÓÔØÀ, ËÏÎÔÒÁÓÔÎÏÓÔØÀ,
-ÎÁÓÙÝÅÎÎÏÓÔØÀ É Ã×ÅÔÎÏÓÔØÀ.
-.br
-3: éÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÇÒÁÍÍÁ ÆÒÁÇÍÅÎÔÁÃÉÉ, ÉÓÐÏÌØÚÕÑ POW ÉÎÓÔÒÕËÃÉÉ.
-ôÒÅÂÕÅÔÓÑ ÒÁÓÛÉÒÅÎÉÅ GL_ARB_fragment_program É, ËÁË ÍÉÎÉÍÕÍ, ÔÒÉ ÔÅËÓÔÕÒÙ.
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÕÐÒÁ×ÌÅÎÉÑ ÑÒËÏÓÔØÀ, ËÏÎÔÒÁÓÔÎÏÓÔØÀ,
-ÎÁÓÙÝÅÎÎÏÓÔØÀ, Ã×ÅÔÎÏÓÔØÀ É ÇÁÍÍÏÊ.
-çÁÍÍÁ ÍÏÖÅÔ ÂÙÔØ ÎÅÚÁ×ÉÓÉÍÏ ÕÓÔÁÎÏ×ÌÅÎÁ ÄÌÑ ËÒÁÓÎÏÇÏ, ÚÅÌÅÎÏÇÏ É ÓÉÎÅÇÏ Ã×ÅÔÏ×.
-íÅÔÏÄ 4, ËÁË ÐÒÁ×ÉÌÏ, ÂÙÓÔÒÅÅ.
-.br
-4: éÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÇÒÁÍÍÁ ÆÒÁÇÍÅÎÔÁÃÉÉ Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÐÏÉÓËÏÍ.
-ôÒÅÂÕÅÔÓÑ ÒÁÓÛÉÒÅÎÉÅ GL_ARB_fragment_program É, ËÁË ÍÉÎÉÍÕÍ,
-ÞÅÔÙÒÅ ÔÅËÓÔÕÒÙ.
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÕÐÒÁ×ÌÅÎÉÑ ÑÒËÏÓÔØÀ, ËÏÎÔÒÁÓÔÎÏÓÔØÀ, ÎÁÓÙÝÅÎÎÏÓÔØÀ,
-Ã×ÅÔÎÏÓÔØÀ, É ÇÁÍÍÏÊ.
-çÁÍÍÁ ÍÏÖÅÔ ÂÙÔØ ÎÅÚÁ×ÉÓÉÍÏ ÕÓÔÁÎÏ×ÌÅÎÁ ÄÌÑ ËÒÁÓÎÏÇÏ, ÚÅÌÅÎÏÇÏ É ÓÉÎÅÇÏ Ã×ÅÔÏ×.
-.br
-5: éÓÐÏÌØÚÕÅÔÓÑ ATI\-ÓÐÅÃÉÆÉÞÎÙÊ ÍÅÔÏÄ (ÄÌÑ ÓÔÁÒÙÈ ËÁÒÔ).
-ÐÒÉ ÜÔÏÍ ÉÓÐÏÌØÚÕÅÔÓÑ ATI\-ÓÐÅÃÉÆÉÞÎÏÅ ÒÁÓÛÉÒÅÎÉÅ
-(GL_ATI_fragment_shader \- ÎÅ GL_ARB_fragment_shader!).
-îÅÏÂÈÏÄÉÍÙ, ËÁË ÍÉÎÉÍÕÍ, ÔÒÉ ÔÅËÓÔÕÒÙ.
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÕÐÒÁ×ÌÅÎÉÑ ÎÁÓÙÝÅÎÎÏÓÔØÀ É Ã×ÅÔÎÏÓÔØÀ.
-üÔÏ ÂÙÓÔÒÙÊ, ÎÏ ÎÅ ÔÏÞÎÙÊ ÍÅÔÏÄ.
-.br
-6: éÓÐÏÌØÚÕÅÔÓÑ 3D ÔÅËÓÔÕÒÁ ÄÌÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÞÅÒÅÚ ÐÏÉÓË.
-ôÒÅÂÕÅÔÓÑ ÒÁÓÛÉÒÅÎÉÅ GL_ARB_fragment_program É, ËÁË ÍÉÎÉÍÕÍ, ÞÅÔÙÒÅ ÔÅÓÔÕÒÙ.
-õÖÁÓÎÏ ÍÅÄÌÅÎÎÙÊ (ÐÒÏÇÒÁÍÍÎÁÑ ÜÍÕÌÑÃÉÑ) ÎÁ ÎÅËÏÔÏÒÙÈ (×ÓÅÈ?) ËÁÒÔÁÈ ATI,
-ÐÏÓËÏÌØËÕ ÉÓÐÏÌØÚÕÅÔ ÔÅËÓÔÕÒÕ Ó ÐÏÇÒÁÎÉÞÎÙÍÉ ÐÉËÓÅÌÁÍÉ.
-ðÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÕÐÒÁ×ÌÅÎÉÑ ÑÒËÏÓÔØÀ, ËÏÎÔÒÁÓÔÎÏÓÔØÀ, ÎÁÓÙÝÅÎÎÏÓÔØÀ,
-Ã×ÅÔÎÏÓÔØÀ, É ÇÁÍÍÏÊ.
-çÁÍÍÁ ÍÏÖÅÔ ÂÙÔØ ÎÅÚÁ×ÉÓÉÍÏ ÕÓÔÁÎÏ×ÌÅÎÁ ÄÌÑ ËÒÁÓÎÏÇÏ, ÚÅÌÅÎÏÇÏ É ÓÉÎÅÇÏ Ã×ÅÔÏ×.
-óËÏÒÏÓÔØ ÚÁ×ÉÓÉÔ ÏÔ ÐÒÏÐÕÓËÎÏÊ ÓÐÏÓÏÂÎÏÓÔÉ ÐÁÍÑÔÉ GPU ÚÎÁÞÉÔÅÌØÎÏ ÓÉÌØÎÅÅ, ÞÅÍ
-× ÏÓÔÁÌØÎÙÈ ÍÅÔÏÄÁÈ.
-.RE
-.IPs ycbcr
-éÓÐÏÌØÚÕÅÔ ÒÁÓÛÉÒÅÎÉÅ GL_MESA_ycbcr_texture ÄÌÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ YUV × RGB.
-÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÜÔÏ, ×ÅÒÏÑÔÎÏ, ÍÅÄÌÅÎÎÅÅ, ÞÅÍ ×ÙÐÏÌÎÅÎÉÅ
-ÐÒÏÇÒÁÍÍÎÏÇÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ × RGB.
-.RE
-.IPs lscale=<n>
-÷ÙÂÉÒÁÅÔ ÆÕÎËÃÉÀ ÄÌÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ ÑÒËÏÓÔÎÏÊ ÓÏÓÔÁ×ÌÑÀÝÅÊ.
-äÏÐÕÓÔÉÍÏ ÔÏÌØËÏ ÄÌÑ 2, 3, 4 É 6 ÒÅÖÉÍÏ× yuv.
-.RSss
-0: éÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÓÔÁÑ ÌÉÎÅÊÎÁÑ ÆÉÌØÔÒÁÃÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: éÓÐÏÌØÚÕÅÔÓÑ B\-ÓÐÌÁÊÎÏ×ÁÑ ÆÉÌØÔÒÁÃÉÑ (ÐÏ×ÙÛÅÎÎÏÅ ËÁÞÅÓÔ×Ï).
-ôÒÅÂÕÅÔ ÏÄÎÕ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÔÅËÓÔÕÒÕ.
-óÔÁÒÙÅ ËÁÒÔÙ ÎÅ ÓÍÏÇÕÔ ÏÂÒÁÂÏÔÁÔØ Ó ÅÅ ÐÏÍÏÝØÀ Ã×ÅÔÏ×ÕÀ ÓÏÓÔÁ×ÌÑÀÝÕÀ, ËÁË ÍÉÎÉÍÕÍ,
-× ÐÏÌÎÏÜËÒÁÎÎÏÍ ÒÅÖÉÍÅ.
-.br
-2: éÓÐÏÌØÚÕÅÔÓÑ ËÕÂÉÞÅÓËÁÑ ÆÉÌØÔÒÁÃÉÑ ÐÏ ÇÏÒÉÚÏÎÔÁÌÉ, ÌÉÎÅÊÎÁÑ ÐÏ ×ÅÒÔÉËÁÌÉ.
-òÁÂÏÔÁÅÔ ÎÁ ÎÅÓËÏÌØËÏ ÂÏÌØÛÅÍ ÎÁÂÏÒÅ ËÁÒÔ, ÞÅÍ ÍÅÔÏÄ 1.
-.br
-3: áÎÁÌÏÇÉÞÎÏ 1, ÎÏ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÔÅËÓÔÕÒÙ ÐÏÉÓËÁ.
-íÏÖÅÔ ÂÙÔØ ÂÙÓÔÒÅÅ ÄÌÑ ÎÅËÏÔÏÒÙÈ ËÁÒÔ.
-.br
-4: éÓÐÏÌØÚÕÅÔÓÑ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ÎÅÒÅÚËÁÑ ÍÁÓËÁ Ó ÍÁÔÒÉÃÅÊ 3x3 É
-ÏÔÎÏÓÉÔÅÌØÎÏÊ ÒÅÚËÏÓÔØÀ 0.5 ÐÏ ÕÍÏÌÞÁÎÉÀ (ÓÍÏÔÒÉÔÅ filter-strength).
-.br
-5: éÓÐÏÌØÚÕÅÔÓÑ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ÎÅÒÅÚËÁÑ ÍÁÓËÁ Ó ÍÁÔÒÉÃÅÊ 5x5 É
-ÏÔÎÏÓÉÔÅÌØÎÏÊ ÒÅÚËÏÓÔØÀ 0.5 ÐÏ ÕÍÏÌÞÁÎÉÀ (ÓÍÏÔÒÉÔÅ filter-strength).
-.RE
-.IPs cscale=<n>
-÷ÙÂÉÒÁÅÔ ÆÕÎËÃÉÀ ÄÌÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ Ã×ÅÔÏ×ÏÊ ÓÏÓÔÁ×ÌÑÀÝÅÊ.
-ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × lscale.
-.IPs filter-strength=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÉÌÕ ÜÆÆÅËÔÁ ÄÌÑ ÆÉÌØÔÒÏ× lscale/cscale,
-ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ Å£.
-.IPs customprog=<ÆÁÊÌ>
-.\" FIXME fragment program - ÐÒÏÇÒÁÍÍÁ ÆÒÁÇÍÅÎÔÁÃÉÉ
-úÁÇÒÕÖÁÅÔ ÎÅÓÔÁÎÄÁÒÔÎÕÀ ÐÒÏÇÒÁÍÍÕ ÆÒÁÇÍÅÎÔÁÃÉÉ ÉÚ ÆÁÊÌÁ <ÆÁÊÌ>.
-ðÒÉÍÅÒ ÓÍÏÔÒÉÔÅ × TOOLS/edgedect.fp.
-.IPs customtex=<ÆÁÊÌ>
-úÁÇÒÕÖÁÅÔ ÎÅÓÔÁÎÄÁÒÔÎÕÀ "gamma ramp" ÔÅËÓÔÕÒÕ ÉÚ ÆÁÊÌÁ <ÆÁÊÌ>.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÓÏ×ÍÅÓÔÎÏ Ó yuv=4 ÉÌÉ Ó ÏÐÃÉÅÊ customprog.
-.IPs (no)customtlin
-åÓÌÉ ×ËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ), ÄÌÑ customtex ÔÅËÓÔÕÒÙ ÉÓÐÏÌØÚÕÅÔÓÑ GL_LINEAR
-ÉÎÔÅÒÐÏÌÑÃÉÑ, ÉÎÁÞÅ \- GL_NEAREST.
-.IPs (no)customtrect
-åÓÌÉ ×ËÌÀÞÅÎÏ, ÉÓÐÏÌØÚÕÅÔÓÑ texture_rectangle ÄÌÑ customtex ÔÅËÓÔÕÒÙ.
-ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔËÌÀÞÅÎÏ.
-.RE
-.sp 1
-.RS
-ïÂÙÞÎÏ ÎÅÔ ÐÒÉÞÉÎ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÌÅÄÕÀÝÉÈ ÏÐÃÉÊ, ÏÎÉ, × ÏÓÎÏ×ÎÏÍ, ÐÒÅÄÎÁÚÎÁÞÅÎÙ ÄÌÑ
-ÃÅÌÅÊ ÔÅÓÔÉÒÏ×ÁÎÉÑ.
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-÷ÙÚÙ×ÁÅÔ glFinish() ÐÅÒÅÄ ÓÍÅÎÏÊ ÂÕÆÅÒÏ×.
-íÅÄÌÅÎÎÅÅ, ÎÏ × ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ ÄÁÅÔ ÂÏÌÅÅ ÐÒÁ×ÉÌØÎÙÊ ÒÅÚÕÌØÔÁÔ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-.IPs (no)manyfmts
-÷ËÌÀÞÁÅÔ ÐÏÄÄÅÒÖËÕ ÂÏÌØÛÅÇÏ ËÏÌÉÞÅÓÔ×Á ÆÏÒÍÁÔÏ× Ã×ÅÔÏ× (RGB É BGR) (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-ôÒÅÂÕÅÔ OpenGL ×ÅÒÓÉÉ >= 1.2.
-.IPs slice\-height=<0\-...>
-ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË, ËÏÐÉÒÕÅÍÙÈ × ÔÅËÓÔÕÒÕ ÏÄÎÉÍ ÃÅÌÙÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-0 ÄÌÑ ×ÓÅÇÏ ÉÚÏÂÒÁÖÅÎÉÑ.
-.br
-.I úáíåþáîéå:
-åÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÓÔÒÁÎÓÔ×Ï Ã×ÅÔÏ× YUV (ÓÍÏÔÒÉÔÅ ÐÏÄÏÐÃÉÀ yuv), ÐÒÉÍÅÎÑÀÔÓÑ
-ÏÓÏÂÙÅ ÐÒÁ×ÉÌÁ:
-.RSss
-åÓÌÉ ÄÅËÏÄÅÒ ÉÓÐÏÌØÚÕÅÔ ÒÅÎÄÅÒÉÎÇ ÐÏ ÓÌÏÑÍ (ÓÍÏÔÒÉÔÅ \-noslices), ÜÔÁ ÏÐÃÉÑ ÎÅ
-ÉÍÅÅÔ ÜÆÆÅËÔÁ, ÒÁÚÍÅÒÙ ÓÌÏÅ× ÕËÁÚÙ×ÁÀÔÓÑ ÉÓÐÏÌØÚÕÅÍÙÍ ÄÅËÏÄÅÒÏÍ.
-.br
-åÓÌÉ ÄÅËÏÄÅÒ ÎÅ ÉÓÐÏÌØÚÕÅÔ ÒÅÎÄÅÒÉÎÇ ÐÏ ÓÌÏÑÍ, ÔÏ ÚÎÁÞÅÎÉÅÍ ÐÏ ÕÍÏÌÞÁÎÉÀ
-Ñ×ÌÑÅÔÓÑ 16.
-.RE
-.IPs (no)osd
-÷ËÌÀÞÁÅÔ ÉÌÉ ×ÙËÌÀÞÁÅÔ ÐÏÄÄÅÒÖËÕ ÒÅÎÄÅÒÉÎÇÁ OSD ÐÒÉ ÐÏÍÏÝÉ OpenGL
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ). üÔÁ ÏÐÃÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÔÅÓÔÉÒÏ×ÁÎÉÑ;
-ÄÌÑ ÏÔËÌÀÞÅÎÉÑ OSD ÉÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÎÅÅ \-osdlevel 0.
-.IPs (no)aspect
-÷ËÌÀÞÁÅÔ ÉÌÉ ×ÙËÌÀÞÁÅÔ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ Ó ÓÏÈÒÁÎÅÎÉÅÍ ÐÒÏÐÏÒÃÉÊ É ÐÏÄÄÅÒÖËÕ
-pan\-and\-scan (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-ïÔËÌÀÞÅÎÉÅ ÍÏÖÅÔ ÎÅÍÎÏÇÏ Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-íÏÄÉÆÉËÁÃÉÑ ÄÒÁÊ×ÅÒÁ ×ÉÄÅÏ ×Ù×ÏÄÁ OpenGL.
-ðÏÄÄÅÒÖÉ×ÁÅÔ ×ÉÄÅÏ Ó ÒÁÚÍÅÒÏÍ ÂÏÌØÛÅ ÄÏÐÕÓÔÉÍÏÇÏ ÄÌÑ ÔÅËÓÔÕÒÙ, ÎÏ Õ
-ÎÅ£ ÎÅÔ ÍÎÏÇÉÈ ÐÅÒÅÄÏ×ÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ É ÏÐÔÉÍÉÚÁÃÉÊ ÄÒÁÊ×ÅÒÁ gl,
-É ÍÁÌÏ×ÅÒÏÑÔÎÏ Å£ ÄÁÌØÎÅÊÛÅÅ ÕÓÏ×ÅÒÛÅÎÓÔ×Ï×ÁÎÉÅ.
-.PD 0
-.RSs
-.IPs (no)glfinish
-ôÏ ÖÅ, ÞÔÏ É ÄÌÑ gl (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ)
-.IPs yuv=<n>
-õËÁÚÙ×ÁÅÔ ÔÉÐ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ YUV × RGB.
-åÓÌÉ ÕÓÔÁÎÏ×ÌÅÎÏ ×Ï ÞÔÏ\-ÌÉÂÏ, ÏÔÌÉÞÎÏÅ ÏÔ 0, ÔÏ OSD ×Ù×ÏÄÉÔØÓÑ ÎÅ ÂÕÄÅÔ É
-ÒÅÇÕÌÉÒÏ×ËÉ ÑÒËÏÓÔÉ, ËÏÎÔÒÁÓÔÎÏÓÔÉ É ÇÁÍÍÙ ÂÕÄÕÔ ÄÏÓÔÕÐÎÙ ÔÏÌØËÏ ÞÅÒÅÚ
-ÇÌÏÂÁÌØÎÙÅ ÎÁÓÔÒÏÊËÉ X ÓÅÒ×ÅÒÁ.
-÷ ÏÓÔÁÌØÎÏÍ ÚÎÁÞÅÎÉÑ ÔÅ ÖÅ, ÞÔÏ É ÄÌÑ \-vo gl.
-.REss
-.
-.TP
-.B "null\ \ \ "
-÷Ù ×Ù×ÏÄÉÔ ÎÉËÁËÏÇÏ ×ÉÄÅÏ,
-ÐÏÌÅÚÅÎ ÄÌÑ ÔÅÓÔÏ× ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.
-.
-.TP
-.B "aa\ \ \ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ASCII art, ÒÁÂÏÔÁÀÝÉÊ × ÔÅËÓÔÏ×ÏÊ ËÏÎÓÏÌÉ.
-÷Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË É ÏÐÉÓÁÎÉÅ ÄÏÓÔÕÐÎÙÈ ÐÏÄÏÐÃÉÊ
-ÚÁÐÕÓÔÉ× 'mplayer \-vo aa:help'.
-.br
-.I úáíåþáîéå:
-äÒÁÊ×ÅÒ ÎÅËÏÒÒÅËÔÎÏ ÏÂÒÁÂÁÔÙ×ÁÅÔ \-aspect.
-.br
-.I ðïäóëáúëá:
-÷ÁÍ, ×ÏÚÍÏÖÎÏ, ÐÒÉÄÅÔÓÑ ÕËÁÚÁÔØ \-monitorpixelaspect.
-ðÏÐÒÏÂÕÊÔÅ 'mplayer \-vo aa \-monitorpixelaspect 0.5'.
-.
-.TP
-.B "caca\ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ Color ASCII art, ÒÁÂÏÔÁÀÝÉÊ × ÔÅËÓÔÏ×ÏÊ ËÏÎÓÏÌÉ.
-.
-.TP
-.B "bl\ \ \ \ \ "
-÷ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ×ÉÄÅÏ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ Blinkenlights UDP ÐÒÏÔÏËÏÌÁ.
-äÒÁÊ×ÅÒ ÏÞÅÎØ ÓÉÌØÎÏ ÁÐÐÁÒÁÔÎÏ ÚÁ×ÉÓÉÍ.
-.PD 0
-.RSs
-.IPs <ÐÏÄÕÓÔÒÏÊÓÔ×Ï>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÄÒÁÊ×ÅÒ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÐÏÄÕÓÔÒÏÊÓÔ×Á Blinkenlights.
-ïÎ ×ÙÇÌÑÄÉÔ ËÁË arcade:host=localhost:2323 ÉÌÉ
-hdl:file=name1,file=name2.
-÷Ù ÏÂÑÚÁÔÅÌØÎÏ ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÐÏÄÕÓÔÒÏÊÓÔ×Ï.
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÇÒÁÆÉÞÅÓËÏÊ ÓÉÓÔÅÍÙ GGI
-.PD 0
-.RSs
-.IPs <ÄÒÁÊ×ÅÒ>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ GGI ÄÒÁÊ×ÅÒ.
-úÁÍÅÎÉÔÅ ÌÀÂÙÅ ',', ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÑ×ÉÔØÓÑ × ÓÔÒÏËÅ ÄÒÁÊ×ÅÒÁ, ÎÁ '.'.
-.RE
-.PD 1
-.
-.TP
-.B directfb
-÷ÏÓÐÒÏÉÚ×ÏÄÉÔ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÑ ÂÉÂÌÉÏÔÅËÕ DirectFB.
-.PD 0
-.RSs
-.IPs (no)input
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÄÙ ËÌÁ×ÉÛ DirectFB ×ÍÅÓÔÏ ËÏÄÏ× MPlayer (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-.IPs buffermode=single|double|triple
-ä×ÏÊÎÁÑ É ÔÒÏÊÎÁÑ ÂÕÆÅÒÉÚÁÃÉÑ ÄÁÅÔ ÌÕÞÛÉÅ ÒÅÚÕÌØÔÁÔÙ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ
-.\" FIXME tearing - ÍÅÒÃÁÎÉÅ
-ÉÚÂÅÖÁÔØ ÍÅÒÃÁÎÉÑ. ôÒÏÊÎÁÑ ÂÕÆÅÒÉÚÁÃÉÑ ÜÆÆÅËÔÉ×ÎÅÅ Ä×ÏÊÎÏÊ, ÐÏÓËÏÌØËÕ
-.\" FIXME: vertical retrace
-ÏÎÁ ÎÅ ÂÌÏËÉÒÕÅÔ MPlayer ×Ï ×ÒÅÍÑ ÏÖÉÄÁÎÉÑ ÃÉËÌÁ ÏÂÎÏ×ÌÅÎÉÑ ÜËÒÁÎÁ ÍÏÎÉÔÏÒÁ.
-ïÄÉÎÏÞÎÏÊ ÂÕÆÅÒÉÚÁÃÉÉ ÓÔÏÉÔ ÉÚÂÅÇÁÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: single).
-.IPs fieldparity=top|bottom
-õÐÒÁ×ÌÑÅÔ ÐÏÒÑÄËÏÍ ×Ù×ÏÄÁ ÞÅÒÅÄÕÀÝÉÈÓÑ ÐÏÌÅÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ: top = ×ÅÒÈÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ, bottom = ÎÉÖÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ.
-üÔÏ ÏÐÃÉÑ ÎÉËÁË ÎÅ ×ÌÉÑÅÔ ÎÁ ÐÒÏÇÒÅÓÓÉ×ÎÏÅ ×ÉÄÅÏ, ËÁËÏ×ÙÍ Ñ×ÌÑÀÔÓÑ ÂÏÌØÛÉÎÓÔ×Ï
-.\" FIXME tearing - ÍÅÒÃÁÎÉÅ
-MPEG ÆÉÌØÍÏ×, ÐÏÔÒÅÂÕÅÔÓÑ ÅÅ ÕÓÔÁÎÏ×ÉÔØ, ÅÓÌÉ ×Ï ×ÒÅÍÑ ÐÒÏÓÍÏÔÒÁ ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ
-ÍÁÔÅÒÉÁÌÁ ÐÏÑ×ÌÑÅÔÓÑ ÍÅÒÃÁÎÉÅ ÉÌÉ ÜÆÆÅËÔ ÇÒÅÂÅÎËÉ ÐÒÉ Ä×ÉÖÅÎÉÉ.
-.IPs layer=N
-æÏÒÓÉÒÕÅÔ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÓÌÏÊ Ó ID N (ÐÏ ÕÍÏÌÞÁÎÉÀ: \-1 \- Á×ÔÏ).
-.IPs dfbopts=<ÓÐÉÓÏË>
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÐÁÒÁÍÅÔÒÏ× ÄÌÑ DirectFB.
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÄÌÑ Matrox G400/\:G450/\:G550, ÉÓÐÏÌØÚÕÀÝÉÊ
-ÂÉÂÌÉÏÔÅËÕ DirectFB ÄÌÑ ÚÁÄÅÊÓÔ×Ï×ÁÎÉÑ ÏÓÏÂÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ ÏÂÏÒÕÄÏ×ÁÎÉÑ.
-úÁÄÅÊÓÔ×ÕÅÔ CRTC2 (×ÔÏÒÕÀ "ÇÏÌÏ×Õ"), ÏÔÏÂÒÁÖÁÑ ×ÉÄÅÏ ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÐÅÒ×ÏÊ "ÇÏÌÏ×Ù".
-.PD 0
-.RSs
-.IPs (no)input
-ôÏ ÖÅ, ÞÔÏ É ÄÌÑ directfb (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ)
-.IPs buffermode=single|double|triple
-ôÏ ÖÅ, ÞÔÏ É ÄÌÑ directfb (ÐÏ ÕÍÏÌÞÁÎÉÀ: triple)
-.IPs fieldparity=top|bottom
-ôÏ ÖÅ, ÞÔÏ É ÄÌÑ directfb
-.IPs (no)bes
-úÁÄÅÊÓÔ×ÕÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Matrox BES (ÍÏÄÕÌÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ) (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-äÁÅÔ ÏÔÌÉÞÎÙÊ ÒÅÚÕÌØÔÁÔ ÐÏ ÓËÏÒÏÓÔÉ É ËÁÞÅÓÔ×Õ ÉÚÏÂÒÁÖÅÎÉÑ, ÐÏÓËÏÌØËÕ
-ÉÎÔÅÒÐÏÌÑÃÉÑ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÁÐÐÁÒÁÔÎÏ. òÁÂÏÔÁÅÔ ÔÏÌØËÏ ÎÁ ÇÌÁ×ÎÏÊ "ÇÏÌÏ×Å".
-.IPs (no)spic
-.\" FIXME correct translation of sub picture layer
-úÁÄÅÊÓÔ×ÕÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÓÐÅÃÉÁÌØÎÏÇÏ ÓÌÏÑ [sub picture layer] ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ
-OSD (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-.IPs (no)crtc2
-÷ËÌÀÞÁÅÔ TV\-×ÙÈÏÄ ÎÁ ×ÔÏÒÏÊ "ÇÏÌÏ×Å" (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-ëÁÞÅÓÔ×Ï ×Ù×ÏÄÁ ÕÄÉ×ÉÔÅÌØÎÏÅ, Ô.Ë.\& ÜÔÏ ÐÏÌÎÏÓÔØÀ ÞÅÒÅÓÓÔÒÏÞÎÏÅ
-ÉÚÏÂÒÁÖÅÎÉÅ Ó ÐÒÁ×ÉÌØÎÏÊ ÓÉÎÈÒÏÎÉÚÁÃÉÅÊ ËÁÖÄÏÇÏ ÞÅÔÎÏÇÏ/\:ÎÅÞÅÔÎÏÇÏ ÐÏÌÑ.
-.IPs tvnorm=pal|ntsc|auto
-õÓÔÁÎÏ×ÉÔ TV ÓÔÁÎÄÁÒÔ Matrox ËÁÒÔÙ ÂÅÚ ÎÅÏÂÈÏÄÉÍÏÓÔÉ
-ÉÚÍÅÎÅÎÉÑ /etc/\:directfbrc (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-äÏÐÕÓÔÉÍÙÅ ÓÔÁÎÄÁÒÔÙ: pal = PAL, ntsc = NTSC.
-auto \- ÏÓÏÂÙÊ ÓÔÁÎÄÁÒÔ (Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ PAL/\:NTSC), ÐÏÔÏÍÕ ÞÔÏ
-ÏÎ ÏÐÒÅÄÅÌÑÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÓÔÁÎÄÁÒÔ ÐÏ ÞÁÓÔÏÔÅ ËÁÄÒÏ× ÆÉÌØÍÁ.
-.RE
-.PD 1
-.
-.TP
-.B mga (ÔÏÌØËÏ Linux)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÄÌÑ Matrox, ÉÓÐÏÌØÚÕÀÝÉÊ ÍÏÄÕÌØ YUV ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ
-ÎÁ Gxxx ËÁÒÔÁÈ ÞÅÒÅÚ ÄÒÁÊ×ÅÒ ÑÄÒÁ.
-åÓÌÉ Õ ×ÁÓ ËÁÒÔÁ Matrox, ÔÏ ÜÔÏ ÓÁÍÙÊ ÂÙÓÔÒÙÊ ×ÁÒÉÁÎÔ.
-.PD 0
-.RSs
-.IPs <ÕÓÔÒÏÊÓÔ×Ï>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÍÑ ÉÓÐÏÌØÚÕÅÍÏÇÏ Matrox ÕÓÔÒÏÊÓÔ×Á (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B xmga (ÔÏÌØËÏ Linux, X11)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ mga, ÒÁÂÏÔÁÀÝÉÊ × ÏËÎÅ X11.
-.PD 0
-.RSs
-.IPs <ÕÓÔÒÏÊÓÔ×Ï>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÍÑ ÉÓÐÏÌØÚÕÅÍÏÇÏ Matrox ÕÓÔÒÏÊÓÔ×Á (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:mga_vid).
-.RE
-.PD 1
-.
-.TP
-.B s3fb (ÔÏÌØËÏ Linux) (see also \-vf yuv2 and \-dr)
-óÐÅÃÉÁÌØÎÙÊ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ ÄÌÑ S3 Virge.
-üÔÏÔ ÄÒÁÊ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ËÁÒÔÙ, ËÁË YUV ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ,
-ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ, Ä×ÏÊÎÁÑ ÂÕÆÅÒÉÚÁÃÉÑ É ÐÒÑÍÏÊ ÒÅÎÄÅÒÉÎÇ.
-éÓÐÏÌØÚÕÊÔÅ \-vf yuy2 ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÁÐÐÁÒÁÔÎÏ ÕÓËÏÒÅÎÎÏÇÏ YUV2
-ÒÅÎÄÅÒÉÎÇÁ, ËÏÔÏÒÙÊ ÎÁ ÜÔÏÊ ËÁÒÔÅ ÚÎÁÞÉÔÅÌØÎÏ ÂÙÓÔÒÅÅ, ÞÅÍ YV12.
-.PD 0
-.RSs
-.IPs <ÕÓÔÒÏÊÓÔ×Ï>
-ñ×ÎÏ ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÏÅ fbdev ÕÓÔÒÏÊÓÔ×Ï (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B wii (ÔÏÌØËÏ Linux)
-äÒÁÊ×ÅÒ ×ÉÄÅÏ ×Ù×ÏÄa ÄÌÑ Nintendo Wii/GameCube.
-.
-.TP
-.B 3dfx (ÔÏÌØËÏ Linux)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ÄÌÑ 3dfx, ÒÁÂÏÔÁÀÝÉÊ ÎÁÐÒÑÍÕÀ c 3dfx ÏÂÏÒÕÄÏ×ÁÎÉÅÍ ÐÏ×ÅÒÈ X11.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ 16 bpp.
-.
-.TP
-.B tdfxfb (ÔÏÌØËÏ Linux)
-üÔÏÔ ÄÒÁÊ×ÅÒ ÉÓÐÏÌØÚÕÅÔ tdfxfb ÄÒÁÊ×ÅÒ ÆÒÅÊÍÂÕÆÅÒÁ ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ
-ÆÉÌØÍÏ× Ó YUV ÕÓËÏÒÅÎÉÅÍ ÎÁ 3dfx ËÁÒÔÁÈ.
-.PD 0
-.RSs
-.IPs <ÕÓÔÒÏÊÓÔ×Ï>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÏÅ fbdev ÕÓÔÒÏÊÓÔ×Ï (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:fb0).
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (ÔÏÌØËÏ Linux)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÄÌÑ 3dfx, ÒÁÂÏÔÁÀÝÉÊ ÓÏ×ÍÅÓÔÎÏ Ó tdfx_vid ÍÏÄÕÌÅÍ
-ÑÄÒÁ.
-.PD 0
-.RSs
-.IPs <device>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÍÑ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÕÓÔÒÏÊÓÔ×Á (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/\:tdfx_vid).
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-dxr2) (ÔÏÌØËÏ DXR2)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ Creative DXR2.
-.PD 0
-.RSs
-.IPs <vo_driver>
-ðÏÄÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ, ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ËÁÞÅÓÔ×Å Ï×ÅÒÌÅÑ (x11, xv).
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (ÔÏÌØËÏ DXR3)
-äÒÁÊ×ÅÒ ×ÙÏÄÁ ×ÉÄÅÏ ÞÉÐÏ× MPEG ÄÅËÏÄÉÒÏ×ÁÎÉÑ
-Sigma Designs em8300 (Creative DXR3, Sigma Designs
-Hollywood Plus).
-óÍÏÔÒÉÔÅ ÔÁËÖÅ ×ÉÄÅÏ ÆÉÌØÔÒ lavc.
-.PD 0
-.RSs
-.IPs overlay
-áËÔÉ×ÉÒÕÅÔ Ï×ÅÒÌÅÊ ×ÍÅÓÔÏ TV ×Ù×ÏÄÁ.
-.IPs prebuf
-÷ËÌÀÞÁÅÔ ÐÒÅÂÕÆÅÒÉÎÇ.
-.IPs "sync\ "
-úÁÄÅÊÓÔ×ÕÅÔ ÎÏ×ÕÀ ÓÉÓÔÅÍÕ ÓÉÎÈÒÏÎÉÚÁÃÉÉ.
-.IPs norm=<ÓÔÁÎÄÁÒÔ>
-õËÁÚÙ×ÁÅÔ TV ÓÔÁÎÄÁÒÔ.
-.RSss
-0: îÅ ÉÚÍÅÎÑÅÔ ÔÅËÕÝÉÊ ÓÔÁÎÄÁÒÔ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ PAL/\:NTSC.
-.br
-2: á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ PAL/\:PAL\-60.
-.br
-3: PAL
-.br
-4: PAL\-60
-.br
-5: NTSC
-.RE
-.IPs <0\-3>
-õËÁÚÙ×ÁÅÔ ÎÏÍÅÒ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÕÓÔÒÏÊÓÔ×Á, ÅÓÌÉ Õ ×ÁÓ ÕÓÔÁÎÏ×ÌÅÎÏ ÂÏÌÅÅ ÏÄÎÏÊ
-em8300 ËÁÒÔÙ.
-.RE
-.PD 1
-.
-.TP
-.B ivtv (ÔÏÌØËÏ IVTV)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ÞÅÒÅÚ TV\-÷ÙÈÏÄ ËÁÒÔ MPEG ÄÅËÏÄÉÒÏ×ÁÎÉÑ, ÏÓÎÏ×ÁÎÎÙÈ ÎÁ ÄÌÑ ÞÉÐÁÈ
-Conexant CX23415 (iCompression iTVC15) ÉÌÉ Conexant CX23416 (iCompression
-iTVC16), (Hauppauge WinTV PVR\-150/250/350/500).
-óÍÏÔÒÉÔÅ ÔÁËÖÅ ×ÉÄÅÏ ÆÉÌØÔÒ lavc.
-.PD 0
-.RSs
-.IPs <device>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÍÑ ÕÓÔÒÏÊÓÔ×Á ÉÓÐÏÌØÚÕÅÍÏÇÏ MPEG ÄÅËÏÄÅÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/video16).
-.IPs <output>
-õ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÄÌÑ ×ÉÄÅÏÓÉÇÎÁÌÁ TV\-÷ÙÈÏÄ.
-.RE
-.PD 1
-.
-.TP
-.B v4l2 (ÔÒÅÂÕÅÔ Linux ÑÄÒÏ ×ÅÒÓÉÉ 2.6.22+)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÄÌÑ V4L2 ÓÏ×ÍÅÓÔÉÍÙÈ ËÁÒÔ ÓÏ ×ÓÔÒÏÅÎÎÙÍ ÁÐÐÁÒÁÔÎÙÍ MPEG
-ÄÅËÏÄÅÒÏÍ.
-óÍÏÔÒÉÔÅ ÔÁËÖÅ ×ÉÄÅÏ ÆÉÌØÔÒ lavc.
-.PD 0
-.RSs
-.IPs <device>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÍÑ ÕÓÔÒÏÊÓÔ×Á ÉÓÐÏÌØÚÕÅÍÏÇÏ MPEG ÄÅËÏÄÅÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: /dev/video16).
-.IPs <output>
-ñ×ÎÏ ÕËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÄÌÑ ×ÉÄÅÏÓÉÇÎÁÌÁ TV\-÷ÙÈÏÄ.
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (ÔÏÌØËÏ DVB)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ DVB ËÁÒÔ, ÚÁÐÉÓÙ×ÁÀÝÉÊ ×Ù×ÏÄ × MPEG\-PES ÆÁÊÌ, ÅÓÌÉ
-ÎÅÔ ÕÓÔÁÎÏ×ÌÅÎÎÙÈ DVB ËÁÒÔ.
-.PD 0
-.RSs
-.IPs card=<1\-4>
-õËÁÚÙ×ÁÅÔ ÎÏÍÅÒ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÕÓÔÒÏÊÓÔ×Á, ÅÓÌÉ Õ ×ÁÓ ÂÏÌÅÅ ÏÄÎÏÊ ËÁÒÔÙ
-(ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ V3 API, ÔÁËÏÅ ËÁË × ÄÒÁÊ×ÅÒÁÈ 1.x.y ÓÅÒÉÉ).
-åÓÌÉ ÎÅ ÕËÁÚÁÎ, MPlayer ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÅÒ×ÕÀ ÄÏÓÔÕÐÎÕÀ ËÁÒÔÕ.
-.IPs <ÆÁÊÌ>
-æÁÊÌ ÄÌÑ ×Ù×ÏÄÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ./grab.mpg)
-.RE
-.PD 1
-.
-.TP
-.B zr (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-zr* É \-zrhelp)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÄÌÑ ÎÅËÏÔÏÒÙÈ MJPEG ËÁÒÔ ÚÁ×ÁÔÁ/\:×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ.
-.
-.TP
-.B zr2 (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ ×ÉÄÅÏ ÆÉÌØÔÒ zrmjpeg)
-äÒÁÊ×ÅÒ ×Ù×ÏÄÁ ×ÉÄÅÏ ÄÌÑ ÎÅËÏÔÏÒÙÈ MJPEG ËÁÒÔ ÚÁÈ×ÁÔÁ/\:×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ,
-×ÔÏÒÏÅ ÐÏËÏÌÅÎÉÅ.
-.PD 0
-.RSs
-.IPs dev=<ÕÓÔÒÏÊÓÔ×Ï>
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÏÅ ÕÓÔÒÏÊÓÔ×Ï.
-.IPs norm=<PAL|NTSC|SECAM|auto>
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ×ÉÄÅÏ ÓÔÁÎÄÁÒÔ (ÐÏ ÕÍÏÌÞÁÎÉÀ: Á×ÔÏ).
-.IPs (no)prebuf
-(äÅ)áËÔÉ×ÉÒÕÅÔ ÐÒÅÂÕÆÅÒÉÎÇ, ÐÏËÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-òÁÓÓÞÉÔÙ×ÁÅÔ MD5 ÓÕÍÍÕ ËÁÖÄÏÇÏ ËÁÄÒÁ É ÚÁÐÉÓÙ×ÁÅÔ ÅÅ × ÆÁÊÌ.
-ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ Ã×ÅÔÏ×ÙÅ ÐÒÏÓÔÒÁÎÓÔ×Á RGB24 É YV12.
-ðÏÌÅÚÎÏ ÄÌÑ ÏÔÌÁÄËÉ.
-.PD 0
-.RSs
-.IPs outfile=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÉÍÑ ÆÁÊÌÁ ÄÌÑ ×Ù×ÏÄÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ./md5sums).
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-ðÒÅÏÂÒÁÚÕÅÔ ×ÉÄÅÏ ÐÏÔÏË × ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÎÅÓÖÁÔÙÈ YUV 4:2:0
-ÉÚÏÂÒÁÖÅÎÉÊ É ÓÏÈÒÁÎÑÅÔ ÅÅ × ÆÁÊÌ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ./stream.yuv).
-æÏÒÍÁÔ ÔÁËÏÊ ÖÅ, ËÁË É × mjpegtools, ÔÁË ÞÔÏ ÜÔÏ ÐÏÌÅÚÎÏ ÄÌÑ
-ÏÂÒÁÂÏÔËÉ ×ÉÄÅÏ ËÏÍÐÌÅËÔÏÍ mjpegtools.
-ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ YV12, RGB (24 bpp) É BGR (24 bpp) ÆÏÒÍÁÔÙ.
-÷Ù ÍÏÖÅÔÅ ÕËÁÚÙ×ÁÔØ ÅÅ ÓÏ×ÍÅÓÔÎÏ Ó ÏÐÃÉÅÊ \-fixed\-vo ÄÌÑ
-ÏÂßÅÄÉÎÅÎÉÑ ÆÁÊÌÏ× Ó ÏÄÉÎÁËÏ×ÙÍÉ ÒÁÚÒÅÛÅÎÉÑÍÉ É ÞÁÓÔÏÔÏÊ ËÁÄÒÏ×.
-.PD 0
-.RSs
-.IPs interlaced
-úÁÐÉÓÙ×ÁÅÔ ËÁÄÒÙ × ÆÁÊÌ ËÁË ÞÅÒÅÓÓÔÒÏÞÎÙÅ Ó ÐÅÒ×ÙÍ ×ÅÒÈÎÉÍ ÐÏÌÅÍ.
-.IPs interlaced_bf
-úÁÐÉÓÙ×ÁÅÔ ËÁÄÒÙ × ÆÁÊÌ ËÁË ÞÅÒÅÓÓÔÒÏÞÎÙÅ Ó ÐÅÒ×ÙÍ ÎÉÖÎÉÍ ÐÏÌÅÍ.
-.IPs file=<ÆÁÊÌ>
-úÁÐÉÓÙ×ÁÅÔ ×Ù×ÏÄ × <ÆÁÊÌ> ×ÍÅÓÔÏ ÓÔÁÎÄÁÒÔÎÏÇÏ stream.yuv.
-.REss
-.PD 1
-.RS
-.sp 1
-.I úáíåþáîéå:
-åÓÌÉ ×Ù ÎÅ ÕËÁÚÙ×ÁÅÔÅ ÎÉËÁËÉÈ ÏÐÃÉÊ, ÔÏ ×Ù×ÏÄ ÂÕÄÅÔ ÐÒÏÇÒÅÓÓÉ×ÎÙÍ
-(Ô.Å.\& ÎÅÞÅÒÅÓÓÔÒÏÞÎÙÍ).
-.RE
-.
-.TP
-.B "gif89a\ "
-÷Ù×ÏÄÉÔ ËÁÄÒÙ × ÏÄÉÎ ÁÎÉÍÉÒÏ×ÁÎÎÙÊ GIF × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÔÏÌØËÏ ÆÏÒÍÁÔ RGB Ó ÇÌÕÂÉÎÏÊ Ã×ÅÔÁ 24 ÂÉÔ, ÒÅÚÕÌØÔÁÔ ÔÁËÖÅ
-ÂÕÄÅÔ ÐÒÅÏÂÒÁÚÏ×ÁÎ × 256\-Ã×ÅÔÎÙÊ.
-.PD 0
-.RSs
-.IPs <fps>
-÷ÅÝÅÓÔ×ÅÎÎÏÅ ÞÉÓÌÏ, ÕËÁÚÙ×ÁÀÝÅÅ ÞÁÓÔÏÔÕ ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5.0).
-.IPs <output>
-õËÁÚÙ×ÁÅÔ ÉÍÑ ÆÁÊÌÁ ÄÌÑ ×Ù×ÏÄÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ./out.gif).
-.REss
-.PD 1
-.RS
-.sp 1
-.I úáíåþáîéå:
-÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÞÁÓÔÏÔÕ ËÁÄÒÏ× ÄÏ ÉÍÅÎÉ, ÉÎÁÞÅ ÜÔÏ ÚÎÁÞÅÎÉÅ ÂÕÄÅÔ
-ÞÁÓÔØÀ ÉÍÅÎÉ ÆÁÊÌÁ.
-.sp 1
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-÷Ù×ÏÄÉÔ ËÁÖÄÙÊ ËÁÄÒ × JPEG ÆÁÊÌ × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-÷ ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÆÁÊÌÁ ×ÙÓÔÕÐÁÅÔ ÎÏÍÅÒ ËÁÄÒÁ Ó ÌÉÄÉÒÕÀÝÉÍÉ ÎÕÌÑÍÉ.
-.PD 0
-.RSs
-.IPs [no]progressive
-õËÁÚÙ×ÁÅÔ ÓÏÚÄÁ×ÁÔØ ÏÂÙÞÎÙÊ ÉÌÉ ÐÒÏÇÒÅÓÓÉ×ÎÙÊ JPEG (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÂÙÞÎÙÊ).
-.IPs [no]baseline
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÂÁÚÏ×ÕÀ ÌÉÎÉÀ [baseline] ÉÌÉ ÎÅÔ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÉÓÐÏÌØÚÏ×ÁÔØ).
-.IPs optimize=<0\-100>
-óÔÅÐÅÎØ ÏÐÔÉÍÉÚÁÃÉÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 100)
-.IPs smooth=<0\-100>
-óÔÅÐÅÎØ ÒÁÚÍÙ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0)
-.IPs quality=<0\-100>
-õÒÏ×ÅÎØ ËÁÞÅÓÔ×Á (default: 75)
-.IPs outdir=<ËÁÔÁÌÏÇ>
-õËÁÚÙ×ÁÅÔ ËÁÔÁÌÏÇ ÄÌÑ ×Ù×ÏÄÁ JPEG ÆÁÊÌÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: ./).
-.IPs subdirs=<ÐÒÅÆÉËÓ>
-÷ÍÅÓÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÔÅËÕÝÅÇÏ ËÁÔÁÌÏÇÁ ÓÏÚÄÁÅÔ ÎÕÍÅÒÏ×ÁÎÎÙÅ ÐÏÄËÁÔÁÌÏÇÉ
-Ó ÕËÁÚÁÎÎÙÍ ÐÒÅÆÉËÓÏÍ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÏ×.
-.IPs "maxfiles=<ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ subdirs)"
-íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÆÁÊÌÏ×, ÓÏÈÒÁÎÑÅÍÙÈ × ÐÏÄËÁÔÁÌÏÇÅ.
-äÏÌÖÎÏ ÂÙÔØ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÎÏ 1 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-÷Ù×ÏÄÉÔ ËÁÖÄÙÊ ËÁÄÒ × PNM ÆÁÊÌ × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-÷ ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÆÁÊÌÁ ×ÙÓÔÕÐÁÅÔ ÎÏÍÅÒ ËÁÄÒÁ Ó ÌÉÄÉÒÕÀÝÉÍÉ ÎÕÌÑÍÉ.
-ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÆÁÊÌÙ PPM, PGM É PGMYUV, ËÁË × raw, ÔÁË É × ASCII ÒÅÖÉÍÅ.
-óÍÏÔÒÉÔÅ ÔÁËÖÅ pnm(5), ppm(5) É pgm(5).
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-úÁÐÉÓÙ×ÁÅÔ PPM ÆÁÊÌÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs "pgm\ \ "
-úÁÐÉÓÙ×ÁÅÔ PGM ÆÁÊÌÙ.
-.IPs pgmyuv
-÷Ù×ÏÄÉÔ PGMYUV ÆÁÊÌÙ.
-PGMYUV ÐÏÈÏÖ ÎÁ PGM, ÎÏ ÄÏÐÏÌÎÉÔÅÌØÎÏ ÓÏÄÅÒÖÉÔ U É V ËÏÍÐÏÎÅÎÔÙ,
-ÐÒÉÓÏÅÄÉÎÅÎÎÙÅ Ë ÎÉÖÎÅÊ ÞÁÓÔÉ ËÁÒÔÉÎËÉ.
-.
-.IPs "raw\ \ "
-úÁÐÉÓÙ×ÁÅÔ PNM ÆÁÊÌÙ × raw ÒÅÖÉÍÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs ascii
-úÁÐÉÓÙ×ÁÅÔ PNM ÆÁÊÌÙ × ASCII ÒÅÖÉÍÅ.
-.IPs outdir=<ËÁÔÁÌÏÇ>
-õËÁÚÙ×ÁÅÔ ËÁÔÁÌÏÇ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ PNM ÆÁÊÌÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: ./).
-.IPs subdirs=<ÐÒÅÆÉËÓ>
-÷ÍÅÓÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÔÅËÕÝÅÇÏ ËÁÔÁÌÏÇÁ ÓÏÚÄÁÅÔ ÎÕÍÅÒÏ×ÁÎÎÙÅ ÐÏÄËÁÔÁÌÏÇÉ
-Ó ÕËÁÚÁÎÎÙÍ ÐÒÅÆÉËÓÏÍ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÆÁÊÌÏ×.
-.IPs "maxfiles=<ÞÉÓÌÏ> (ÔÏÌØËÏ subdirs)"
-íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÆÁÊÌÏ×, ÓÏÈÒÁÎÑÅÍÙÈ × ÐÏÄËÁÔÁÌÏÇÅ.
-äÏÌÖÎÏ ÂÙÔØ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÎÏ 1 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1000).
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-÷Ù×ÏÄÉÔ ËÁÖÄÙÊ ËÁÄÒ × PNG ÆÁÊÌ × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-îÁÚ×ÁÎÉÅ ÆÁÊÌÁ ÆÏÒÍÉÒÕÅÔÓÑ ÉÚ ÎÏÍÅÒÁ ËÁÄÒÁ, ÄÏÐÏÌÎÅÎÎÏÇÏ ÓÌÅ×Á ÎÏÌÑÍÉ.
-ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ 24bpp RGB É BGR ÆÏÒÍÁÔÙ.
-.PD 0
-.RSs
-.IPs z=<0\-9>
-õËÁÚÙ×ÁÅÔ ÓÔÅÐÅÎØ ÓÖÁÔÉÑ.
-0 \- ÂÅÚ ÓÖÁÔÉÑ, 9 \- ÍÁËÓÉÍÁÌØÎÏÅ ÓÖÁÔÉÅ.
-.IPs outdir=<ÄÉÒÅËÔÏÒÉÑ>
-õËÁÚÙ×ÁÅÔ ËÁÔÁÌÏÇ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ PNG ÆÁÊÌÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: ./).
-.IPs alpha (ÐÏ ÕÍÏÌÞÁÎÉÀ: noalpha)
-óÏÚÄÁ£Ô PNG ÆÁÊÌÙ Ó ÁÌØÆÁ-ËÁÎÁÌÏÍ.
-úÁÍÅÔØÔÅ, ÞÔÏ MPlayer × ÃÅÌÏÍ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÁÌØÆÁ-ËÁÎÁÌ, ÔÁË ÞÔÏ
-ÜÔÏ ÂÕÄÅÔ ÐÏÌÅÚÎÏ ÔÏÌØËÏ × ÒÅÄËÉÈ ÓÌÕÞÁÑÈ.
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-÷Ù×ÏÄÉÔ ËÁÖÄÙÊ ËÁÄÒ × ÆÁÊÌ Targa × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-÷ ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÆÁÊÌÁ ×ÙÓÔÕÐÁÅÔ ÎÏÍÅÒ ËÁÄÒÁ Ó ÌÉÄÉÒÕÀÝÉÍÉ ÎÕÌÑÍÉ.
-îÁÚÎÁÞÅÎÉÅ ÜÔÏÇÏ ÄÒÁÊ×ÅÒÁ \- ÓÏÈÒÁÎÉÔØ ËÁÄÒÙ ÂÅÚ ÐÏÔÅÒÉ ËÁÞÅÓÔ×Á,
-ÎÅ ÉÓÐÏÌØÚÕÑ ÓÔÏÒÏÎÎÉÈ ÂÉÂÌÉÏÔÅË.
-ïÎ ÐÏÄÄÅÒÖÉ×ÁÅÔ BGR[A] ÆÏÒÍÁÔ Ó ÇÌÕÂÉÎÏÊ Ã×ÅÔÁ 15, 24 ÉÌÉ 32.
-÷Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ ÓÐÅÃÉÆÉÞÎÙÊ ÆÏÒÍÁÔ Ó ÐÏÍÏÝØÀ ×ÉÄÅÏ ÆÉÌØÔÒÁ format.
-.sp 1
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "ïðãéé äåëïäéòï÷áîéñ/æéìøôòáãéé"
-.
-.TP
-.B \-ac <[\-|+]ËÏÄÅË1,[\-|+]ËÏÄÅË2,...[,]>
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÈ ÁÕÄÉÏ ËÏÄÅËÏ× × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÁ, ËÏÄÅË
-ÕËÁÚÙ×ÁÅÔÓÑ ÐÏ ÅÇÏ ÎÁÉÍÅÎÏ×ÁÎÉÀ ÉÚ codecs.conf.
-äÌÑ ÐÒÏÐÕÓËÁ ËÏÄÅËÁ ÕËÁÚÙ×ÁÊÔÅ '\-' ÐÅÒÅÄ ÅÇÏ ÉÍÅÎÅÍ.
-äÌÑ ÆÏÒÓÉÒÏ×ÁÎÉÑ ËÏÄÅËÁ ÕËÁÚÙ×ÁÊÔÅ '+' ÐÅÒÅÄ ÅÇÏ ÉÍÅÎÅÍ,
-ÎÏ ÓËÏÒÅÅ ×ÓÅÇÏ ÜÔÏ ÐÒÉ×ÅÄÅÔ Ë ËÒÁÈÕ!
-åÓÌÉ ÓÐÉÓÏË ÓÏÄÅÒÖÉÔ ',' × ËÏÎÃÅ, ÔÏ MPlayer × ÓÌÕÞÁÅ ÐÒÏÂÌÅÍ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ËÏÄÅË ÎÅ ÉÚ ÓÐÉÓËÁ.
-.br
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ËÏÄÅËÏ× ×Ù×ÏÄÉÔÓÑ ÏÐÃÉÅÊ \-ac help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-æÏÒÓÉÒÕÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ MP3 ËÏÄÅËÁ l3codeca.acm.
-.IPs "\-ac mad,"
-óÎÁÞÁÌÁ ÐÒÏÂÕÅÔÓÑ libmad, ÅÓÌÉ ÎÅ ÐÏÌÕÞÉÌÏÓØ \- ÏÓÔÁÌØÎÙÅ.
-.IPs "\-ac hwac3,a52,"
-ðÒÏÂÕÅÔÓÑ AC\-3 ÔÒÁÎÚÉÔ, ÐÒÏÇÒÁÍÍÎÙÊ AC4, ÚÁÔÅÍ \- ÏÓÔÁÌØÎÙÅ.
-.IPs "\-ac hwdts,"
-ðÒÏÂÕÅÔÓÑ ÁÐÐÁÒÁÔÎÙÊ DTS ÔÒÁÎÚÉÔ, ÅÓÌÉ ÎÅ ÐÏÌÕÞÉÌÏÓØ \- ÏÓÔÁÌØÎÙÅ.
-.IPs "\-ac \-ffmp3,"
-ðÒÏÐÕÓËÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ FFmpeg MP3 ÄÅËÏÄÅÒÁ.
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(ÆÉÌØÔÒÙ)> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-af)
-õËÁÚÙ×ÁÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÏÐÃÉÉ ÁÕÄÉÏ ÆÉÌØÔÒÁ:
-.RSs
-.IPs force=<0\-7>
-æÏÒÓÉÒÕÅÔ ÁÌÇÏÒÉÔÍ ×ÓÔÁ×ËÉ ÁÕÄÉÏ ÆÉÌØÔÒÏ× × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÏÄÎÉÍ ÉÚ ÎÉÖÅÐÅÒÅÞÉÓÌÅÎÎÏÇÏ:
-.RSss
-0: éÓÐÏÌØÚÕÅÔÓÑ ÐÏÌÎÏÓÔØÀ Á×ÔÏÍÁÔÉÞÅÓËÁÑ ×ÓÔÁ×ËÁ.
-.br
-1: ïÐÔÉÍÉÚÉÒÕÅÔÓÑ ÐÏ ÔÏÞÎÏÓÔÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-2: ïÐÔÉÍÉÚÉÒÕÅÔÓÑ ÐÏ ÓËÏÒÏÓÔÉ.
-.I ÷ÎÉÍÁÎÉÅ:
-îÅËÏÔÏÒÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÁÕÄÉÏ ÆÉÌØÔÒÏ× ÍÏÇÕÔ ÍÏÌÞÁ ÏÔËÁÚÁÔØ,
-É ËÁÞÅÓÔ×Ï Ú×ÕËÁ ÕÈÕÄÛÉÔÓÑ.
-.br
-3: îÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÉ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ×ÓÔÁ×ËÕ ÆÉÌØÔÒÏ×, ÎÉ ÏÐÔÉÍÉÚÁÃÉÀ.
-.I ×ÎÉÍÁÎÉÅ:
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÏÊ ÏÐÃÉÉ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ËÒÁÈÕ MPlayer.
-.br
-4: éÓÐÏÌØÚÏ×ÁÔØ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ×ÓÔÁ×ËÕ ËÁË × 0, ÎÏ
-ÐÏ ×ÏÚÍÏÖÎÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÅÒÁÃÉÉ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ.
-.br
-5: éÓÐÏÌØÚÏ×ÁÔØ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ×ÓÔÁ×ËÕ ËÁË × 1, ÎÏ
-ÐÏ ×ÏÚÍÏÖÎÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÅÒÁÃÉÉ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ.
-.br
-6: éÓÐÏÌØÚÏ×ÁÔØ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ×ÓÔÁ×ËÕ ËÁË × 2, ÎÏ
-ÐÏ ×ÏÚÍÏÖÎÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÅÒÁÃÉÉ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ.
-.br
-7: îÅ ÉÓÐÏÌØÚÏ×ÁÔØ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ×ÓÔÁ×ËÕ ÆÉÌØÔÒÏ× ËÁË É × 3,
-É ÐÏ ×ÏÚÍÏÖÎÏÓÔÉ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÅÒÁÃÉÉ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ.
-.REss
-.IPs list=<ÆÉÌØÔÒÙ>
-ôÏ ÖÅ, ÞÔÏ É \-af.
-.RE
-.
-.TP
-.B \-afm <ÄÒÁÊ×ÅÒ1,ÄÒÁÊ×ÅÒ2,...>
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÈ ÓÅÍÅÊÓÔ× ÁÕÄÉÏ ËÏÄÅËÏ× × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÁ,
-ÉÍÅÎÁ ÕËÁÚÙ×ÁÀÔÓÑ ÉÚ codecs.conf.
-÷ÏÚ×ÒÁÝÁÅÔÓÑ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ ËÏÄÅËÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ ÎÅ ÒÁÂÏÔÁÅÔ ÎÉ ÏÄÎÏ
-ÓÅÍÅÊÓÔ×Ï ÉÚ ÕËÁÚÁÎÎÙÈ.
-.br
-.I úáíåþáîéå:
-óÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÓÅÍÅÊÓÔ× ËÏÄÅËÏ× ÍÏÖÎÏ ÐÏÓÍÏÔÒÅÔØ ÐÒÉ ÐÏÍÏÝÉ \-afm help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-óÎÁÞÁÌÁ ÐÏÐÙÔÁÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ libavcodec ËÏÄÅËÉ FFmpeg.
-.IPs "\-afm acm,dshow"
-óÎÁÞÁÌÁ ÐÏÐÙÔÁÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ Win32 ËÏÄÅËÉ.
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <ËÏÜÆÆÉÃÉÅÎÔ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-zoom)
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ËÏÜÆÆÉÃÉÅÎÔ ÐÒÏÐÏÒÃÉÉ ÆÉÌØÍÁ ÄÌÑ ÓÌÕÞÁÑ, ËÏÇÄÁ ÉÎÆÏÒÍÁÃÉÑ Ï
-ÐÒÏÐÏÒÃÉÑÈ ÎÅ×ÅÒÎÁ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÅÔ × ×ÏÓÐÒÏÉÚ×ÏÄÉÍÏÍ ÆÁÊÌÅ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-\-aspect 4:3 or \-aspect 1.3333
-.br
-\-aspect 16:9 or \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-ïÔËÌÀÞÁÅÔ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ËÏÍÐÅÎÓÁÃÉÀ ËÏÜÆÆÉÃÉÅÎÔÁ ÐÒÏÐÏÒÃÉÊ ÆÉÌØÍÁ.
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÅÒ×ÏÅ ÐÏÌÅ ÄÌÑ ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ ÓÏÄÅÒÖÉÍÏÇÏ.
-ðÏÌÅÚÎÁ ÄÌÑ ÍÏÄÕÌÅÊ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ, ÕÄ×ÁÉ×ÁÀÝÉÈ ÞÁÓÔÏÔÕ ËÁÄÒÏ×: \-vf tfields=1,
-\-vf yadif=1, \-vo vdpau:deint É \-vo xvmc:bobdeint.
-.PD 0
-.RSs
-.IPs \-1
-Á×ÔÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ): åÓÌÉ ÄÅËÏÄÅÒ ÎÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÉÎÆÏÒÍÁÃÉÀ,
-×ÏÚ×ÒÁÝÁÅÔÓÑ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ 0 (×ÅÒÈÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ).
-.IPs 0
-×ÅÒÈÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ
-.IPs 1
-ÎÉÖÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-úÅÒËÁÌØÎÏ ÏÔÒÁÖÁÅÔ ÉÚÏÂÒÁÖÅÎÉÅ Ó×ÅÒÈÕ\-×ÎÉÚ.
-.
-.TP
-.B \-lavdopts <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...> (ëïä ïôìáäëé)
-õËÁÚÙ×ÁÅÔ ÐÁÒÁÍÅÔÒÙ ÄÅËÏÄÉÒÏ×ÁÎÉÑ libavcodec.
-ïÐÃÉÉ ÄÒÕÇ ÏÔ ÄÒÕÇÁ ÏÔÄÅÌÑÊÔÅ Ä×ÏÅÔÏÞÉÑÍÉ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.RE
-.RSs
-.IPs bitexact
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÐÏÂÉÔÏ×Ï ÔÏÞÎÙÅ ÁÌÇÏÒÉÔÍÙ ÎÁ ×ÓÅÈ ÜÔÁÐÁÈ
-ÄÅËÏÄÉÒÏ×ÁÎÉÑ (ÄÌÑ ÔÅÓÔÉÒÏ×ÁÎÉÑ ËÏÄÅËÁ).
-.IPs bug=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ ÏÂÈÏÄÉÔØ ÏÛÉÂËÉ ËÏÄÉÒÏ×ÝÉËÁ.
-.RSss
-0: ÎÉÞÅÇÏ
-.br
-1: Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÐÒÅÄÅÌÑÔØ ÂÁÇÉ(ÏÛÉÂËÉ) (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-2 (msmpeg4v3): ÎÅËÏÔÏÒÙÅ ÓÔÁÒÙÅ msmpeg4v3 ÆÁÊÌÙ, ÓÏÚÄÁÎÎÙÅ lavc (ÎÅ ÏÐÒÅÄÅÌÑÀÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ)
-.br
-4 (mpeg4): ÂÁÇ ÉÎÔÅÒÌÅÊÓÉÎÇÁ Xvid (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÅÓÌÉ fourcc==XVIX)
-.br
-8 (mpeg4): UMP4 (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÅÓÌÉ fourcc==UMP4)
-.br
-.\" FIXME padding - ÚÁÐÏÌÎÅÎÉÅ
-16 (mpeg4): ÂÁÇ ÚÁÐÏÌÎÅÎÉÑ (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ)
-.br
-.\" FIXME is translation corrent? "illegal vlc bug"
-32 (mpeg4): ÂÁÇ ÎÅÌÅÇÁÌØÎÏÇÏ vlc (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏ fourcc)
-.br
-64 (mpeg4): ÂÁÇ qpel Õ Xvid É DivX (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏ fourcc/\:×ÅÒÓÉÉ)
-.br
-128 (mpeg4): ÓÔÁÒÙÊ ÓÔÁÎÄÁÒÔ qpel (ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÏ fourcc/\:×ÅÒÓÉÉ)
-.br
-256 (mpeg4): ÅÝÅ ÏÄÉÎ ÂÁÇ qpel (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏ fourcc/\:×ÅÒÓÉ)
-.br
-512 (mpeg4): ÂÁÇ direct\-qpel\-blocksize (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏ fourcc/\:×ÅÒÓÉÉ)
-.br
-1024 (mpeg4): ÂÁÇ ÚÁÐÏÌÎÅÎÉÑ ËÒÏÍËÉ (ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏ fourcc/\:×ÅÒÓÉÉ)
-.REss
-.IPs debug=<ÚÎÁÞÅÎÉÅ>
-ïÔÏÂÒÁÖÁÔØ ÏÔÌÁÄÏÞÎÕÀ ÉÎÆÏÒÍÁÃÉÀ.
-.RSss
-.br
-0: ÏÔËÌÀÞÅÎÏ
-.br
-1: ÉÎÆÏÒÍÁÃÉÑ ÏÂ ÉÚÏÂÒÁÖÅÎÉÉ
-.br
-2: ÕÐÒÁ×ÌÅÎÉÅ ÓËÏÒÏÓÔØÀ
-.br
-4: ÂÉÔÐÏÔÏË
-.br
-8: ÔÉÐ ÍÁËÒÏÂÌÏËÁ (MB)
-.br
-16: ÐÏÂÌÏÞÎÙÊ[per\-block] ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ (QP)
-.br
-32: ×ÅËÔÏÒ Ä×ÉÖÅÎÉÑ
-.br
-0x0040: ×ÉÚÕÁÌÉÚÁÃÉÑ ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ (ÉÓÐÏÌØÚÕÊÔÅ \-noslices)
-.br
-0x0080: ÐÒÏÐÕÓË ÍÁËÒÏÂÌÏËÁ (MB)
-.br
-0x0100: ÓÔÁÒÔÏ×ÙÊ ËÏÄ
-.br
-0x0200: PTS
-.br
-.\" FIXME is translation correct? "error resilience"
-0x0400: ÕÐÒÕÇÏÓÔØ ÏÛÉÂËÉ[error resilience]
-.br
-.\" FIXME is translation correct? "memory management control operations"
-0x0800: ÏÐÅÒÁÃÉÉ ËÏÎÔÒÏÌÑ ÎÁÄ ÕÐÒÁ×ÌÅÎÉÅÍ ÐÁÍÑÔØÀ (H.264)
-.br
-0x1000: ÏÛÉÂËÉ
-.br
-0x2000: ÷ÉÚÕÁÌÉÚÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ (QP), ÍÅÎØÛÉÊ QP \- ÂÏÌÅÅ Ó×ÅÔÌÙÊ ÚÅÌÅÎÙÊ.
-.br
-0x4000: ×ÉÚÕÁÌÉÚÉÒÏ×ÁÔØ ÔÉÐÙ ÂÌÏËÏ×.
-.REss
-.IPs ec=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÔÒÁÔÅÇÉÀ ÍÁÓËÉÒÏ×ËÉ ÏÛÉÂÏË.
-.RSss
-1: éÓÐÏÌØÚÕÅÔÓÑ ÓÉÌØÎÙÊ deblock ÆÉÌØÔÒ ÄÌÑ ÐÏ×ÒÅÖÄÅÎÎÙÈ MB.
-.br
-2: éÔÅÒÁÔÉ×ÎÙÊ ÐÏÉÓË ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ (MV) (ÍÅÄÌÅÎÎÏ)
-.br
-3: ÷ÓÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.REss
-.IPs er=<ÚÎÁÞÅÎÉÅ>
-.\" FIXME is translation correct? "error resilience"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÔÒÁÔÅÇÉÀ ÕÐÒÕÇÏÓÔÉ[error resilience] ÏÛÉÂËÉ.
-.RSss
-.br
-0: ÏÔËÌÀÞÅÎÏ
-.br
-1: ÁËËÕÒÁÔÎÁÑ (äÏÌÖÎÏ ÒÁÂÏÔÁÔØ Ó ÉÓÐÏÒÞÅÎÎÙÍÉ ËÏÄÅÒÁÍÉ.)
-.br
-2: ÏÂÙÞÎÁÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ) (òÁÂÏÔÁÅÔ Ó ÓÏ×ÍÅÓÔÉÍÙÍÉ ËÏÄÅÒÁÍÉ.)
-.br
-3: ÁÇÒÅÓÓÉ×ÎÁÑ (âÏÌØÛÅ ÐÒÏ×ÅÒÏË, ÎÏ ÍÏÇÕÔ ÂÙÔØ ÐÒÏÂÌÅÍÙ ÄÁÖÅ Ó ÐÒÁ×ÉÌØÎÙÍÉ ÂÉÔÏ×ÙÍÉ ÐÏÔÏËÁÍÉ.)
-.br
-4: ÏÞÅÎØ ÁÇÒÅÓÓÉ×ÎÁÑ
-.REss
-.IPs "fast (ÔÏÌØËÏ MPEG\-2, MPEG\-4 É H.264)"
-.\" FIXME is translation correct?
-.\" Enable optimizations which do not comply to the specification and might
-.\" potentially cause problems, like simpler dequantization, assuming use
-.\" of the default quantization matrix, assuming YUV 4:2:0 and skipping a few
-.\" checks to detect damaged bitstreams.
-÷ËÌÀÞÁÅÔ ÏÐÔÉÍÉÚÁÃÉÉ, ËÏÔÏÒÙÅ ÎÅ ÐÏÄÞÉÎÑÀÔÓÑ ÓÐÅÃÉÆÉËÁÃÉÉ É, ÐÏÔÅÎÃÉÁÌØÎÏ,
-ÍÏÇÕÔ ÂÙÔØ ÐÒÉÞÉÎÏÊ ÐÒÏÂÌÅÍ, ÔÁËÉÅ ËÁË ÕÐÒÏÝÅÎÎÏÅ ÄÅË×ÁÎÔÏ×ÁÎÉÅ[dequantization],
-ÕÐÒÏÝÅÎÎÁÑ ËÏÍÐÅÎÓÁÃÉÑ Ä×ÉÖÅÎÉÑ, ÐÒÅÄÐÏÌÏÖÅÎÉÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÔÁÎÄÁÒÔÎÏÊ ÍÁÔÒÉÃÙ
-Ë×ÁÎÔÏ×ÁÎÉÑ, YUV 4:2:0 É ÐÒÏÐÕÓË ÎÅËÏÔÏÒÙÈ ÐÒÏ×ÅÒÏË ÐÏ×ÒÅÖÄÅÎÎÏÓÔÉ ÂÉÔÏ×ÏÇÏ ÐÏÔÏËÁ.
-.IPs "gray\ "
-ÄÅËÏÄÉÒÏ×ÁÎÉÅ ÔÏÌØËÏ × ÏÔÔÅÎËÁÈ ÓÅÒÏÇÏ (ÎÅÍÎÏÇÏ ÂÙÓÔÒÅÅ, ÞÅÍ Ó Ã×ÅÔÏÍ)
-.IPs "idct=<0\-99> (ÓÍÏÔÒÉÔÅ \-lavcopts)"
-äÌÑ ÌÕÞÛÅÇÏ ËÁÞÅÓÔ×Á ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÉÓÐÏÌØÚÕÊÔÅ ÏÄÉÎ É ÔÏÔ ÖÅ IDCT ÁÌÇÏÒÉÔÍ ÄÌÑ
-ËÏÄÉÒÏ×ÁÎÉÑ É ÄÅËÏÄÉÒÏ×ÁÎÉÑ. èÏÔÑ ÜÔÏ ÍÏÖÅÔ ÄÁÔØÓÑ ÃÅÎÏÊ ÔÏÞÎÏÓÔÉ.
-.IPs lowres=<ÞÉÓÌÏ>[,<w>]
-äÅËÏÄÉÒÏ×ÁÎÉÅ Ó ÍÅÎØÛÉÍ ÒÁÚÒÅÛÅÎÉÅÍ. üÔÏ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ×ÓÅÍÉ ËÏÄÅËÁÍÉ, É
-ÞÁÓÔÏ ÐÒÉ×ÏÄÉÔ Ë ÕÖÁÓÎÙÍ ÁÒÔÅÆÁËÔÁÍ.
-üÔÏ ÎÅ ÂÁÇ, Á ÐÏÂÏÞÎÙÊ ÜÆÆÅËÔ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÎÅ × ÐÏÌÎÏÍ ÒÁÚÒÅÛÅÎÉÉ.
-.RSss
-.br
-0: ÏÔËÌÀÞÅÎÏ
-.br
-1: 1/2 ÏÒÉÇÉÎÁÌÁ
-.br
-2: 1/4 ÏÒÉÇÉÎÁÌÁ
-.br
-3: 1/8 ÏÒÉÇÉÎÁÌÁ
-.REss
-.RS
-åÓÌÉ ÕËÁÚÁÎÏ <w>, ËÏÄÉÒÏ×ÁÎÉÅ × ÍÅÎØÛÅÍ ÒÁÚÒÅÛÅÎÉÉ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ × ÔÏÍ ÓÌÕÞÁÅÍ,
-ÅÓÌÉ ÛÉÒÉÎÁ ×ÉÄÅÏ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÎÁ <w>.
-.RE
-.B o=<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,...]]
-ðÅÒÅÄÁÔØ ËÌÀÞÉ AVOptions ÄÅËÏÄÅÒÕ libavcodec.
-ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÐÁÔÞ, ÄÅÌÁÀÝÉÊ o= ÎÅÎÕÖÎÙÍ É ÐÅÒÅÄÁÀÝÉÊ ×ÓÅ
-ÎÅÉÚ×ÅÓÔÎÙÅ ÐÁÒÁÍÅÔÒÙ ÞÅÒÅÚ ÓÉÓÔÅÍÕ AVOption, ÐÒÉ×ÅÔÓÔ×ÕÅÔÓÑ.
-ðÏÌÎÙÊ ÓÐÉÓÏË ÐÁÒÁÍÅÔÒÏ× AVOptions ÍÏÖÎÏ ÎÁÊÔÉ × ÒÕËÏ×ÏÄÓÔ×Å
-FFmpeg.
-ðÒÉÍÅÞÁÎÉÅ: ÎÅËÏÔÏÒÙÅ ÏÐÃÉÉ AVOptions ÍÏÇÕÔ ËÏÎÆÌÉËÔÏ×ÁÔØ Ó ÏÐÃÉÑÍÉ
-MEncoder.
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.PD 0
-.IPs o=debug=pict
-.PD 1
-.RE
-.IPs "sb=<ÞÉÓÌÏ> (ÔÏÌØËÏ MPEG\-2)"
-ðÒÏÐÕÓËÁÅÔ ÕËÁÚÁÎÎÏÅ ÞÉÓÌÏ ÓÔÒÏË ÍÁËÒÏÂÌÏËÏ× × ÎÉÖÎÅÊ ÞÁÓÔÉ.
-.IPs "st=<ÞÉÓÌÏ> (ÔÏÌØËÏ MPEG\-2)"
-ðÒÏÐÕÓËÁÅÔ ÕËÁÚÁÎÎÏÅ ÞÉÓÌÏ ÓÔÒÏË ÍÁËÒÏÂÌÏËÏ× × ×ÅÒÈÎÅÊ ÞÁÓÔÉ.
-.IPs "skiploopfilter=<skipvalue> (ÔÏÌØËÏ H.264)"
-ðÒÏÐÕÓËÁÅÔ ÆÉÌØÔÒ loop (ÏÎ ÖÅ deblocking) ×Ï ×ÒÅÍÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ H.264.
-ðÏÓËÏÌØËÕ ÆÉÌØÔÒÏ×ÁÎÎÙÊ ËÁÄÒ ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ × ËÁÞÅÓÔ×Å ÓÓÙÌËÉ
-ÄÌÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÚÁ×ÉÓÉÍÙÈ ËÁÄÒÏ×, ÔÏ ËÁÞÅÓÔ×Ï, ÎÁÐÒÉÍÅÒ Õ MPEG\-2, ÂÕÄÅÔ ÈÕÖÅ, ÞÅÍ ÅÓÌÉ ÂÙ
-deblocking ÎÅ ÐÒÏÉÚ×ÏÄÉÌÓÑ ×Ï×ÓÅ. îÏ, ËÁË ÍÉÎÉÍÕÍ ÄÌÑ HDTV Ó ×ÙÓÏËÉÍ ÂÉÔÐÏÔÏËÏÍ, ÜÔÏ ÄÁÅÔ
-ÚÎÁÞÉÔÅÌØÎÏÅ ÐÏ×ÙÛÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÂÅÚ ×ÉÄÉÍÏÊ ÐÏÔÅÒÉ ËÁÞÅÓÔ×Á.
-.sp 1
-<skipvalue> ÍÏÖÅÔ ÂÙÔØ ÏÄÎÉÍ ÉÚ ÎÉÖÅÐÅÒÅÞÉÓÌÅÎÎÙÈ:
-.RSss
-.br
-none: îÉËÏÇÄÁ ÎÅ ÐÒÏÐÕÓËÁÔØ.
-.br
-default: ðÒÏÐÕÓËÁÔØ ÂÅÓÐÏÌÅÚÎÙÅ ÜÔÁÐÙ ÏÂÒÁÂÏÔËÉ (ÎÁÐÒÉÍÅÒ ÐÁËÅÔÙ ÎÕÌÅ×ÏÇÏ ÒÁÚÍÅÒÁ × AVI).
-.br
-nonref: ÐÒÏÐÕÓËÁÔØ ËÁÄÒÙ, ÎÁ ËÏÔÏÒÙÅ ÎÅÔ ÓÓÙÌÏË (Ô.Å.\& ÎÅ ÉÓÐÏÌØÚÕÀÝÉÅÓÑ ÄÌÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ
-.\" FIXME is translation correct? the error cannot "build up"
-ÄÒÕÇÉÈ ËÁÄÒÏ×, ÏÛÉÂËÁ ÐÒÏÓÔÏ ÎÅ×ÏÚÍÏÖÎÁ).
-.br
-bidir: ðÒÏÐÕÓËÁÔØ B\-ËÁÄÒÙ.
-.br
-nonkey: ðÒÏÐÕÓËÁÔØ ×ÓÅ ËÁÄÒÙ, ËÒÏÍÅ ËÌÀÞÅ×ÙÈ.
-.br
-all: ðÒÏÐÕÓËÁÔØ ×ÓÅ ËÁÄÒÙ.
-.REss
-.IPs "skipidct=<skipvalue> (ÔÏÌØËÏ MPEG\-1/2)"
-ðÒÏÐÕÓËÁÅÔ ÜÔÁÐ IDCT.
-üÔÏ ÚÎÁÞÉÔÅÌØÎÏ ÕÈÕÄÛÁÅÔ ËÁÞÅÓÔ×Ï ÐÒÁËÔÉÞÅÓËÉ ×Ï ×ÓÅÈ ÓÌÕÞÁÑÈ
-(ÄÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ skipvalue ÓÍÏÔÒÉÔÅ × ÏÐÉÓÁÎÉÉ ÏÐÃÉÉ skiploopfilter).
-.IPs skipframe=<skipvalue>
-ðÏÌÎÏÓÔØÀ ÐÒÏÐÕÓËÁÅÔ ÄÅËÏÄÉÒÏ×ÁÎÉÅ ËÁÄÒÏ×.
-äÁÅÔ ÂÏÌØÛÏÊ ÐÒÉÒÏÓÔ ÓËÏÒÏÓÔÉ, ÎÏ ÐÒÅÒÙ×ÉÓÔÏÅ ÉÚÏÂÒÁÖÅÎÉÅ É ÉÎÏÇÄÁ ÁÒÔÅÆÁËÔÙ.
-(ÄÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ skipvalue ÓÍÏÔÒÉÔÅ × ÏÐÉÓÁÎÉÉ ÏÐÃÉÉ skiploopfilter).
-.IPs "threads=<1\-8> (ÔÏÌØËÏ MPEG\-1/2)"
-ËÏÌÉÞÅÓÔ×Ï ÐÏÔÏËÏ×, ÉÓÐÏÌØÚÕÀÝÉÈÓÑ ÄÌÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1)
-.IPs vismv=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ×ÉÚÕÁÌÉÚÉÒÏ×ÁÔØ ×ÅËÔÏÒÙ Ä×ÉÖÅÎÉÑ.
-.RSss
-.br
-0: ïÔËÌÀÞÅÎÏ.
-.br
-1: ÷ÉÚÕÁÌÉÚÉÒÏ×ÁÔØ ×ÅËÔÏÒÙ P\-ËÁÄÒÏ×, ÐÒÅÄÓËÁÚÁÎÎÙÅ ×ÐÅÒÅÄ.
-.br
-2: ÷ÉÚÕÁÌÉÚÉÒÏ×ÁÔØ ×ÅËÔÏÒÙ B\-ËÁÄÒÏ×, ÐÒÅÄÓËÁÚÁÎÎÙÅ ×ÐÅÒÅÄ.
-.br
-4: ÷ÉÚÕÁÌÉÚÉÒÏ×ÁÔØ ×ÅËÔÏÒÙ B\-ËÁÄÒÏ×, ÐÒÅÄÓËÁÚÁÎÎÙÅ ÎÁÚÁÄ.
-.REss
-.IPs vstats
-÷Ù×ÏÄÉÔ ÎÅËÏÔÏÒÕÀ ÓÔÁÔÉÓÔÉËÕ É ÓÏÈÒÁÎÑÅÔ ÅÅ × ./vstats_*.log.
-.RE
-.
-.TP
-.B \-noslices
-ïÔËÌÀÞÁÅÔ ÏÔÒÉÓÏ×ËÕ ×ÉÄÅÏ ÓÌÏÑÍÉ/\:ÐÏÌÏÓÁÍÉ ÐÏ 16\-ÐÉËÓÅÌÏ× ×ÙÓÏÔÏÊ, ×ÍÅÓÔÏ ÏÔÒÉÓÏ×ËÉ
-ÃÅÌÏÇÏ ËÁÄÒÁ ÚÁ ÏÄÉÎ ÐÒÏÈÏÄ.
-íÏÖÅÔ ÂÙÔØ ÂÙÓÔÒÅÅ ÉÌÉ ÍÅÄÌÅÎÎÅÅ, × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ×ÉÄÅÏ ËÁÒÔÙ É ÄÏÓÔÕÐÎÏÇÏ ËÅÛÁ.
-ðÏÌÅÚÎÏ ÔÏÌØËÏ Ó ËÏÄÅËÁÍÉ libmpeg2 É libavcodec.
-.
-.TP
-.B \-nosound
-õËÁÚÙ×ÁÅÔ ÎÅ ×ÏÓÐÒÏÉÚ×ÏÄÉÔØ/\:ËÏÄÉÒÏ×ÁÔØ Ú×ÕË.
-ðÏÌÅÚÎÏ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.
-.
-.TP
-.B \-novideo
-õËÁÚÙ×ÁÅÔ ÎÅ ×ÏÓÐÒÏÉÚ×ÏÄÉÔØ/\:ËÏÄÉÒÏ×ÁÔØ ×ÉÄÅÏ.
-÷Ï ÍÎÏÇÉÈ ÓÌÕÞÁÑÈ ÜÔÏ ÎÅ ÒÁÂÏÔÁÅÔ, ×ÍÅÓÔÏ ÎÅÅ ÉÓÐÏÌØÚÕÊÔÅ \-vc null \-vo null.
-.
-.TP
-.B \-pp <ËÁÞÅÓÔ×Ï> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf pp)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÒÏ×ÅÎØ ÐÏÓÔÒÏÃÅÓÓÉÎÇÁ DLL.
-üÔÁ ÏÐÃÉÑ ÂÏÌØÛÅ ÎÅ ÐÒÉÇÏÄÎÁ ÄÌÑ ÒÁÂÏÔÙ Ó \-vf pp.
-ïÎÁ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó Win32 DirectShow DLL, ÉÍÅÀÝÉÍÉ ×ÓÔÒÏÅÎÎÙÅ ÐÒÏÃÅÄÕÒÙ ÐÏÓÔÏÂÒÁÂÏÔËÉ.
-äÏÐÕÓÔÉÍÙÊ ÄÉÁÐÁÚÏÎ ÚÎÁÞÅÎÉÊ \-pp ÚÁ×ÉÓÉÔ ÏÔ ËÏÄÅËÁ, ËÁË ÐÒÁ×ÉÌÏ ÜÔÏ 0\-6, ÇÄÅ 0=ÏÔËÌÀÞÅÎÏ,
-6=ÎÁÉÍÅÄÌÅÎÎÙÊ/\:ÌÕÞÛÉÊ.
-.
-.TP
-.B \-pphelp (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf pp)
-ðÏËÁÚÙ×ÁÅÔ ËÒÁÔËÕÀ ÐÏÍÏÝØ ÐÏ ÄÏÓÔÕÐÎÙÍ ÆÉÌØÔÒÁÍ ÐÏÓÔÏÂÒÁÂÏÔËÉ É ÉÈ ÉÓÐÏÌØÚÏ×ÁÎÉÀ.
-.
-.TP
-.B \-ssf <ÒÅÖÉÍ>
-õËÁÚÙ×ÁÅÔ ÐÁÒÁÍÅÔÒÙ ÐÒÏÇÒÁÍÍÎÏÇÏ ÍÏÄÕÌÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-ÆÉÌØÔÒ ÇÁÕÓÓÏ×ÏÇÏ ÒÁÚÍÙ×ÁÎÉÑ (ÑÒËÏÓÔÎÁÑ ÓÏÓÔÁ×ÌÑÀÝÁÑ[luma])
-.IPs cgb=<0\-100>
-ÆÉÌØÔÒ ÇÁÕÓÓÏ×ÏÇÏ ÒÁÚÍÙ×ÁÎÉÑ (ÈÒÏÍÁÔÉÞÅÓËÁÑ ÓÏÓÔÁ×ÌÑÀÝÁÑ[chroma])
-.IPs ls=<\-100\-100>
-sharpen ÆÉÌØÔÒ (ÑÒËÏÓÔÎÁÑ ÓÏÓÔÁ×ÌÑÀÝÁÑ[luma])
-.IPs cs=<\-100\-100>
-sharpen ÆÉÌØÔÒ (ÈÒÏÍÁÔÉÞÅÓËÁÑ ÓÏÓÔÁ×ÌÑÀÝÁÑ[chroma])
-.IPs chs=<h>
-ÇÏÒÉÚÏÎÔÁÌØÎÙÊ ÓÄ×ÉÇ ÈÒÏÍÁÔÉÞÅÓËÏÊ ÓÏÓÔÁ×ÌÑÀÝÅÊ[chroma].
-.IPs cvs=<v>
-×ÅÒÔÉËÁÌØÎÙÊ ÓÄ×ÉÇ ÈÒÏÍÁÔÉÞÅÓËÏÊ ÓÏÓÔÁ×ÌÑÀÝÅÊ[chroma].
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <ÒÅÖÉÍ>
-÷ÙÂÉÒÁÅÔ ÔÉÐ ÓÔÅÒÅÏ ×Ù×ÏÄÁ MP2/\:MP3.
-.PD 0
-.RSs
-.IPs 0
-ÓÔÅÒÅÏ
-.IPs 1
-ÌÅ×ÙÊ ËÁÎÁÌ
-.IPs 2
-ÐÒÁ×ÙÊ ËÁÎÁÌ
-.RE
-.PD 1
-.
-.TP
-.B \-sws <ÔÉÐ ÐÒÏÇÒÁÍÍÎÏÇÏ ÍÏÄÕÌÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf scale É \-zoom)
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÏÐÃÉÅÊ \-zoom ÁÌÇÏÒÉÔÍ ÐÒÏÇÒÁÍÍÎÏÇÏ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ.
-ïÎÁ ×ÌÉÑÅÔ ÎÁ ÄÒÁÊ×ÅÒÁ ×Ù×ÏÄÁ ×ÉÄÅÏ, ÎÅ ÓÐÏÓÏÂÎÙÅ ÁÐÐÁÒÁÔÎÏ ÍÁÓÛÔÁÂÉÒÏ×ÁÔØ, ÎÁÐÒÉÍÅÒ x11.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÔÉÐÙ:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-ÂÙÓÔÒÙÊ ÂÉÌÉÎÅÊÎÙÊ
-.IPs 1
-ÂÉÌÉÎÅÊÎÙÊ
-.IPs 2
-ÂÉËÕÂÉÞÅÓËÉÊ (ÈÏÒÏÛÅÅ ËÁÞÅÓÔ×Ï) (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 3
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ
-.IPs 4
-ÂÌÉÖÁÊÛÉÊ ÓÏÓÅÄ (ÐÌÏÈÏÅ ËÁÞÅÓÔ×Ï)
-.IPs 5
-area
-.IPs 6
-ÂÉËÕÂÉÞÅËÉÊ ÄÌÑ ÑÒËÏÓÔÎÏÊ[luma] / ÂÉÌÉÎÅÊÎÙÊ ÄÌÑ ÈÒÏÍÁÔÉÞÅÓËÏÊ[chroma] ÓÏÓÔÁ×ÌÑÀÝÅÊ
-.IPs 7
-ÇÁÕÓÓÏ×ÙÊ
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-ÎÁÔÕÒÁÌØÎÙÊ ÂÉËÕÂÉÞÅÓËÉÊ ÓÐÌÁÊÎ[natural bicubic spline]
-.RE
-.PD 1
-.sp 1
-.RS
-.I úáíåþáîéå:
-îÅËÏÔÏÒÙÅ \-sws ÏÐÃÉÉ ÍÏÖÎÏ ÎÁÓÔÒÁÉ×ÁÔØ.
-ðÏÄÒÏÂÎÁÑ ÉÎÆÏÒÍÁÃÉÑ ÅÓÔØ × ÏÐÉÓÁÎÉÉ ×ÉÄÅÏ ÆÉÌØÔÒÁ scale.
-.RE
-.
-.TP
-.B \-vc <[\-|+]ËÏÄÅË1,[\-|+]ËÏÄÅË2,...[,]>
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÈ ËÏÄÅËÏ× × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÁ, ËÏÄÅË ÕËÁÚÙ×ÁÅÔÓÑ ÐÏ ÅÇÏ
-ÎÁÉÍÅÎÏ×ÁÎÉÀ ÉÚ codecs.conf.
-äÌÑ ÐÒÏÐÕÓËÁ ËÏÄÅËÁ ÕËÁÚÙ×ÁÊÔÅ '\-' ÐÅÒÅÄ ÅÇÏ ÉÍÅÎÅÍ.
-äÌÑ ÆÏÒÓÉÒÏ×ÁÎÉÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÏÄÅËÁ ÕËÁÚÙ×ÁÊÔÅ '+' ÐÅÒÅÄ ÅÇÏ ÉÍÅÎÅÍ,
-ÓËÏÒÅÅ ×ÓÅÇÏ ÜÔÏ ÐÒÉ×ÅÄÅÔ Ë ËÒÁÈÕ!
-åÓÌÉ ÓÐÉÓÏË ÓÏÄÅÒÖÉÔ ',' × ËÏÎÃÅ, ÔÏ MPlayer × ÓÌÕÞÁÅ ÐÒÏÂÌÅÍ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ËÏÄÅË ÎÅ ÉÚ ÓÐÉÓËÁ.
-.br
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ËÏÄÅËÏ× ×Ù×ÏÄÉÔÓÑ ÏÐÃÉÅÊ \-vc help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-ðÏÐÙÔÁÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ËÏÄÅË Win32/\:VfW DivX, ÂÅÚ ÚÁÐÁÓÎÏÇÏ ×ÁÒÉÁÎÔÁ.
-.IPs "\-vc \-divxds,\-divx,"
-ðÒÏÐÕÓÔÉÔØ Win32 DivX ËÏÄÅËÉ.
-.IPs "\-vc ffmpeg12,mpeg12,"
-ðÏÐÙÔÁÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ MPEG\-1/2 ÉÚ libavcodec, ÚÁÔÅÍ libmpeg2, ÚÁÔÅÍ ÏÓÔÁÌØÎÙÅ.
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <ÄÒÁÊ×ÅÒ1,ÄÒÁÊ×ÅÒ2,...>
-õËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÉÓÐÏÌØÚÕÅÍÙÊ ÓÅÍÅÊÓÔ× ÁÕÄÉÏ ËÏÄÅËÏ× × ÐÏÒÑÄËÅ ÐÒÉÏÒÉÔÅÔÁ,
-ÉÍÅÎÁ ÕËÁÚÙ×ÁÀÔÓÑ ÉÚ codecs.conf.
-÷ÏÚ×ÒÁÝÁÅÔÓÑ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ ËÏÄÅËÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ ÎÅ ÒÁÂÏÔÁÅÔ ÎÉ ÏÄÎÏ
-ÓÅÍÅÊÓÔ×Ï ÉÚ ÕËÁÚÁÎÎÙÈ.
-.br
-.I úáíåþáîéå:
-óÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÓÅÍÅÊÓÔ× ËÏÄÅËÏ× ÍÏÖÎÏ ÐÏÓÍÏÔÒÅÔØ ÐÒÉ ÐÏÍÏÝÉ \-vfm help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-ðÏÐÙÔÁÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ libavcodec, ÚÁÔÅÍ Directshow, ÚÁÔÅÍ VfW ËÏÄÅËÉ, ÚÁÔÅÍ ÏÓÔÁÌØÎÙÅ,
-ÅÓÌÉ ÎÉ ÏÄÉÎ ÎÅ ÒÁÂÏÔÁÅÔ.
-.IPs "\-vfm xanim"
-ðÏÐÙÔÁÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÎÁÞÁÌÁ XAnim ËÏÄÅËÉ.
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-zoom) (ÔÏÌØËÏ MPlayer)
-íÁÓÛÔÁÂÉÒÕÅÔ ÉÚÏÂÒÁÖÅÎÉÅ ÄÏ ÛÉÒÉÎÙ <x> (ÅÓÌÉ ÄÏÓÔÕÐÎÏ
-ÐÒÏÇÒÁÍÍÎÏÅ/\:ÁÐÐÁÒÁÔÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ).
-ïÔËÌÀÞÁÅÔ ÒÁÓÞÅÔ ÐÒÏÐÏÒÃÉÊ.
-.
-.TP
-.B \-xvidopts <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...>
-õËÁÚÙ×ÁÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ ÐÒÉ ÄÅËÏÄÉÒÏ×ÁÎÉÉ Ó Xvid.
-.br
-.I úáíåþáîéå:
-ðÏÓËÏÌØËÕ libavcodec ÂÙÓÔÒÅÅ, ÞÅÍ Xvid, ×Ù, ×ÏÚÍÏÖÎÏ, ÚÁÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÍÅÓÔÏ ÎÅÇÏ
-ÆÉÌØÔÒ ÐÏÓÔÏÂÒÁÂÏÔËÉ (\-vf pp) É ÄÅËÏÄÅÒ (\-vfm ffmpeg) ÉÚ libavcodec.
-.sp 1
-÷ÓÔÒÏÅÎÎÙÅ ÆÉÌØÔÒÙ ÐÏÓÔÏÂÒÁÂÏÔËÉ Xvid:
-.PD 0
-.RSs
-.IPs "deblock\-chroma (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf pp)"
-deblock ÆÉÌØÔÒ ÈÒÏÍÁÔÉÞÅÓËÏÊ[chroma] ÓÏÓÔÁ×ÌÑÀÝÅÊ
-.IPs "deblock\-luma (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf pp)"
-deblock ÆÉÌØÔÒ ÑÒËÏÓÔÎÏÊ[luma] ÓÏÓÔÁ×ÌÑÀÝÅÊ
-.IPs "dering\-luma (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf pp)"
-deringing ÆÉÌØÔÒ ÑÒËÏÓÔÎÏÊ[luma] ÓÏÓÔÁ×ÌÑÀÝÅÊ
-.IPs "dering\-chroma (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf pp)"
-deringing ÆÉÌØÔÒ ÈÒÏÍÁÔÉÞÅÓËÏÊ[chroma] ÓÏÓÔÁ×ÌÑÀÝÅÊ
-.IPs "filmeffect (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-vf noise)"
-äÏÂÁ×ÌÑÅÔ ÜÆÆÅËÔ ÓÔÁÒÉÎÎÏÇÏ ÆÉÌØÍÁ.
-íÏÖÅÔ Õ×ÅÌÉÞÉÔØ ×ÏÓÐÒÉÎÉÍÁÅÍÏÅ ËÁÞÅÓÔ×Ï, ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÕÈÕÄÛÁÑ ÎÁÓÔÏÑÝÅÅ.
-.RE
-.sp 1
-.RS
-ÍÅÔÏÄÙ ÒÅÎÄÅÒÉÎÇÁ:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-áËÔÉ×ÉÒÕÅÔ ÍÅÔÏÄ 2 ÐÒÑÍÏÇÏ ÒÅÎÄÅÒÉÎÇÁ.
-.IPs nodr2
-äÅÁËÔÉ×ÉÒÕÅÔ ÍÅÔÏÄ 2 ÐÒÑÍÏÇÏ ÒÅÎÄÅÒÉÎÇÁ.
-.RE
-.PD 1
-.
-.TP
-.B \-xy <ÚÎÁÞÅÎÉÅ> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-zoom)
-.PD 0
-.RSs
-.IPs ÚÎÁÞÅÎÉÅ<=8
-íÁÓÛÔÁÂÉÒÏ×ÁÔØ ÉÚÏÂÒÁÖÅÎÉÅ × <ÚÎÁÞÅÎÉÅ> ÒÁÚ.
-.IPs ÚÎÁÞÅÎÉÅ>8
-õÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ, ÒÁ×ÎÕÀ ÚÎÁÞÅÎÉÀ É ÒÁÓÓÞÉÔÁÔØ ×ÙÓÏÔÕ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ
-ÐÒÁ×ÉÌØÎÏÇÏ ËÏÜÆÆÉÃÉÅÎÔÁ ÐÒÏÐÏÒÃÉÊ.
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-zoom) (ÔÏÌØËÏ MPlayer)
-íÁÓÛÔÁÂÉÒÕÅÔ ÉÚÏÂÒÁÖÅÎÉÅ ÄÏ ×ÙÓÏÔÙ <y> (ÅÓÌÉ ÄÏÓÔÕÐÎÏ
-ÐÒÏÇÒÁÍÍÎÏÅ/\:ÁÐÐÁÒÁÔÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ).
-ïÔËÌÀÞÁÅÔ ÒÁÓÞÅÔ ÐÒÏÐÏÒÃÉÊ.
-.
-.TP
-.B "\-zoom\ \ "
-òÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÇÒÁÍÍÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ, ÇÄÅ ÜÔÏ ×ÏÚÍÏÖÎÏ.
-üÔÏ ÐÏÚ×ÏÌÉÔ ×ÙÐÏÌÎÑÔØ ÅÇÏ Ó ÄÒÁÊ×ÅÒÁÍÉ ×Ù×ÏÄÁ,
-ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÍÉ ÁÐÐÁÒÁÔÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ (ÔÁËÉÍÉ ËÁË x11, fbdev),
-ÔÁÍ, ÇÄÅ ÐÏ ÕÍÏÌÞÁÎÉÀ MPlayer ÏÔËÌÀÞÁÅÔ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ ÄÌÑ
-Õ×ÅÌÉÞÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.
-.
-.
-.
-.SH "áõäéï æéìøôòù"
-áÕÄÉÏ ÆÉÌØÔÒÙ ÐÏÚ×ÏÌÑÀÔ ÍÅÎÑÔØ ÁÕÄÉÏ ÐÏÔÏË É ÅÇÏ Ó×ÏÊÓÔ×Á.
-óÉÎÔÁËÓÉÓ ÔÁËÏÊ:
-.
-.TP
-.B \-af <ÆÉÌØÔÒ1[=ÐÁÒÁÍÅÔÒ1:ÐÁÒÁÍÅÔÒ2:...],ÆÉÌØÔÒ2,...>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÃÅÐÏÞËÕ ÁÕÄÉÏ ÆÉÌØÔÒÏ×.
-.PP
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÁÕÄÉÏ ÆÉÌØÔÒÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÒÉ ÐÏÍÏÝÉ \-af help.
-.sp 1
-áÕÄÉÏ ÆÉÌØÔÒÙ ÕÐÒÁ×ÌÑÀÔÓÑ × ÓÐÉÓËÁÈ.
-÷ÏÔ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ ÕÐÒÁ×ÌÅÎÉÑ ÓÐÉÓËÏÍ ÆÉÌØÔÒÏ×.
-.
-.TP
-.B \-af\-add <filter1[,filter2,...]>
-äÏÂÁ×ÌÑÅÔ ÕËÁÚÁÎÎÙÅ ÆÉÌØÔÒÙ × ËÏÎÅà ÓÐÉÓËÁ.
-.
-.TP
-.B \-af\-pre <filter1[,filter2,...]>
-äÏÂÁ×ÌÑÅÔ ÕËÁÚÁÎÎÙÅ ÆÉÌØÔÒÙ × ÎÁÞÁÌÏ ÓÐÉÓËÁ.
-.
-.TP
-.B \-af\-del <index1[,index2,...]>
-õÄÁÌÑÅÔ ÆÉÌØÔÒÙ Ó ÕËÁÚÁÎÎÙÍ ÉÎÄÅËÓÏÍ.
-éÎÄÅËÓÙ ÎÁÞÉÎÁÀÔÓÑ Ó 0, ÏÔÒÉÃÁÔÅÌØÎÙÅ ÞÉÓÌÁ ÏÚÎÁÞÁÀÔ ÏÔÓÞÅÔ ÏÔ
-ËÏÎÃÁ ÓÐÉÓËÁ (\-1 \- ÐÏÓÌÅÄÎÉÊ).
-.
-.TP
-.B \-af\-clr
-ðÏÌÎÏÓÔØÀ ÏÞÉÝÁÅÔ ÓÐÉÓÏË ÆÉÌØÔÒÏ×.
-.PP
-äÏÓÔÕÐÎÙÅ ÆÉÌØÔÒÙ:
-.
-.TP
-.B resample[=srate[:sloppy[:type]]]
-íÅÎÑÅÔ ÞÁÓÔÏÔÕ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÁÕÄÉÏ ÐÏÔÏËÁ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÒÉ ÎÁÌÉÞÉÉ Ú×ÕËÏ×ÏÊ ËÁÒÔÙ Ó ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÞÁÓÔÏÔÏÊ
-ÉÌÉ ÅÓÌÉ ×Ù ÐÒÉ×ÑÚÁÎÙ Ë ÓÔÁÒÏÊ ËÁÒÔÅ, ÐÏÄÄÅÒÖÉ×ÁÀÝÅÊ ÍÁËÓÉÍÁÌØÎÏ 44.1kçÃ.
-÷ ÓÌÕÞÁÅ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÆÉÌØÔÒ ×ËÌÀÞÁÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ.
-ïÎ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÏÌØËÏ ÆÏÒÍÁÔ 16\-ÂÉÔ integer É float Ó "ÒÏÄÎÙÍ"
-[native\-endian] ÐÏÒÑÄËÏÍ ÂÁÊÔ
-× ËÁÞÅÓÔ×Å ×ÈÏÄÎÙÈ ÄÁÎÎÙÈ.
-.br
-.I úáíåþáîéå:
-ó MEncoder, ×ÁÍ ÔÒÅÂÕÅÔÓÑ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ \-srate <srate>.
-.PD 0
-.RSs
-.IPs <srate>
-þÁÓÔÏÔÁ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÎÁ ×ÙÈÏÄÅ × çÃ.
-äÏÐÕÓÔÉÍÙ ÚÎÁÞÅÎÉÑ ÏÔ 8000 ÄÏ 192000.
-åÓÌÉ ÞÁÓÔÏÔÙ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÄÁÎÎÙÈ ÎÁ ×ÈÏÄÅ É ×ÙÈÏÄÅ ÓÏ×ÐÁÄÁÀÔ,
-ÉÌÉ ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÏÐÕÝÅÎ, ÆÉÌØÔÒ Á×ÔÏÍÁÔÉÞÅÓËÉ ×ÙÇÒÕÖÁÅÔÓÑ.
-÷ÙÓÏËÁÑ ÞÁÓÔÏÔÁ ÏÂÙÞÎÏ ÕÌÕÞÛÁÅÔ ËÁÞÅÓÔ×Ï Ú×ÕËÁ, ÏÓÏÂÅÎÎÏ
-ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × ËÏÍÂÉÎÁÃÉÉ Ó ÄÒÕÇÉÍÉ ÆÉÌØÔÒÁÍÉ.
-.IPs <sloppy>
-òÁÚÒÅÛÁÅÔ (1) ÉÌÉ ÚÁÐÒÅÝÁÅÔ (0) ÞÁÓÔÏÔÅ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÎÁ ×ÙÈÏÄÅ
-ÓÌÅÇËÁ ÏÔÌÉÞÁÔØÓÑ ÏÔ ÕËÁÚÁÎÎÏÇÏ ÚÎÁÞÅÎÉÑ <srate> (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ, ÅÓÌÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ÚÁÐÕÓËÁÅÔÓÑ ÞÒÅÚ×ÙÞÁÊÎÏ ÍÅÄÌÅÎÎÏ.
-.IPs <type>
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÍÅÔÏÄ ÉÚÍÅÎÅÎÉÑ ÞÁÓÔÏÔÙ.
-.RSss
-0: ÌÉÎÅÊÎÁÑ ÉÎÔÅÒÐÏÌÑÃÉÑ (ÂÙÓÔÒÙÊ, ÐÌÏÈÏÅ ËÁÞÅÓÔ×Ï, ÏÓÏÂÅÎÎÏ ÐÒÉ Õ×ÅÌÉÞÅÎÉÉ ÞÁÓÔÏÔÙ)
-.br
-1: ÍÎÏÇÏÆÁÚÎÙÊ ÎÁÂÏÒ ÆÉÌØÔÒÏ×[polyphase filterbank] É ÃÅÌÏÞÉÓÌÅÎÎÁÑ ÏÂÒÁÂÏÔËÁ
-.br
-2: ÍÎÏÇÏÆÁÚÎÙÊ ÎÁÂÏÒ ÆÉÌØÔÒÏ×[polyphase filterbank] É ×ÅÝÅÓÔ×ÅÎÎÁÑ ÏÂÒÁÂÏÔËÁ (ÍÅÄÌÅÎÎÙÊ,
-ÎÁÉÌÕÞÛÅÅ ËÁÞÅÓÔ×Ï)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-ÕÓÔÁÎÏ×ÉÔ ×ÙÈÏÄÎÕÀ ÞÁÓÔÏÔÕ ÆÉÌØÔÒÁ resample × 44100çÃ, ÉÓÐÏÌØÚÕÑ
-ÔÏÞÎÏÅ ÓÏ×ÐÁÄÅÎÉÅ ×ÙÈÏÄÎÏÊ ÞÁÓÔÏÔÙ É ÌÉÎÅÊÎÕÀ ÉÎÔÅÒÐÏÌÑÃÉÀ.
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=srate[:length[:linear[:count[:cutoff]]]]]
-.\" FIXME poor translation of entire block (with parameters)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÞÁÓÔÏÔÕ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÁÕÄÉÏ ÐÏÔÏËÁ × <srate>, ÕËÁÚÁÎÎÕÀ × çÃ.
-ïÎ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÏÌØËÏ ÆÏÒÍÁÔ 16\-ÂÉÔ Ó "ÒÏÄÎÙÍ" [native\-endian] ÐÏÒÑÄËÏÍ ÂÁÊÔ.
-.br
-.I úáíåþáîéå:
-ó MEncoder, ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ \-srate <srate>.
-.PD 0
-.RSs
-.IPs <srate>
-×ÙÈÏÄÎÁÑ ÞÁÓÔÏÔÁ ÄÉÓËÒÅÔÉÚÁÃÉÉ
-.IPs <length>
-ÄÌÉÎÁ ÆÉÌØÔÒÁ ÏÔÎÏÓÉÔÅÌØÎÏ ÍÅÎØÛÅÊ ÞÁÓÔÏÔÙ ÄÉÓËÒÅÔÉÚÁÃÉÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 16)
-.IPs <linear>
-ÅÓÌÉ 1, ÔÏ ÆÉÌØÔÒÙ ÂÕÄÕÔ ÌÉÎÅÊÎÏ ÉÎÔÅÒÐÏÌÉÒÏ×ÁÎÙ ÍÅÖÄÕ ÍÎÏÇÏÆÁÚÎÙÍÉ ÜÌÅÍÅÎÔÁÍÉ
-.IPs <count>
-log2 ÏÔ ËÏÌÉÞÅÓÔ×Á ÍÎÏÇÏÆÁÚÎÙÈ ÜÌÅÍÅÎÔÏ×
-(..., 10\->1024, 11\->2048, 12\->4096, ...)
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 10\->1024)
-.IPs <cutoff>
-ÇÒÁÎÉÞÎÁÑ ÞÁÓÔÏÔÁ (0.0\-1.0), ÐÏ ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÄÌÉÎÙ ÆÉÌØÔÒÁ
-.RE
-.PD 1
-.
-.TP
-.B lavcac3enc[=tospdif[:bitrate[:minchn]]]
-ëÏÄÉÒÕÅÔ ÍÎÏÇÏËÁÎÁÌØÎÏÅ ÁÕÄÉÏ × AC\-3 × ÒÅÁÌØÎÏÍ ×ÒÅÍÅÎÉ, ÉÓÐÏÌØÚÕÑ
-libavcodec.
-ðÏÄÄÅÒÖÉ×ÁÅÔ ÒÏÄÎÏÊ ÐÏÒÑÄÏË ÂÁÊÔÏ× 16\-ÂÉÔÎÏÇÏ ×ÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ,
-ÍÁËÓÉÍÕÍ 6 ËÁÎÁÌÏ×.
-îÁ ×ÙÈÏÄÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÅÔÅ×ÏÊ ÐÏÒÑÄÏË ÂÁÊÔÏ× ÄÌÑ ÓÙÒÙÈ ÐÏÔÏËÏ×
-AC\-3 É ÒÏÄÎÏÊ ÐÏÒÑÄÏË ÂÁÊÔÏ× ÐÒÉ ×Ù×ÏÄÅ ÐÏÓÒÅÄÓÔ×ÏÍ S/PDIF.
-äÌÑ ÄÁÎÎÏÇÏ ÆÉÌØÔÒÁ ÞÁÓÔÏÔÁ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÎÁ ×ÙÈÏÄÅ ÔÁËÁÑ ÖÅ, ËÁË É
-ÎÁ ×ÈÏÄÅ.
-åÓÌÉ ×ÈÏÄÎÁÑ ÞÁÓÔÏÔÁ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÓÏÓÔÁ×ÌÑÅÔ 48ËçÃ, 44.1Ëçà ÉÌÉ
-32ËçÃ, ÆÉÌØÔÒ ÉÓÐÏÌØÚÕÅÔ Å£ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ.
-÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ ÆÉÌØÔÒ ÓÍÅÎÙ ÞÁÓÔÏÔÙ ÄÉÓËÒÅÔÉÚÁÃÉÉ Á×ÔÏÍÁÔÉÞÅÓËÉ
-×ÓÔÁ×ÌÑÅÔÓÑ ÐÅÒÅÄ ÜÔÉÍ ÆÉÌØÔÒÏÍ, Ó ÃÅÌØÀ ÕÓÔÁÎÏ×ÌÅÎÉÑ ×ÈÏÄÎÏÊ É
-×ÙÈÏÄÎÏÊ ÞÁÓÔÏÔÙ × 48ËçÃ.
-÷ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ '\-channels N' ÄÌÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÁÕÄÉÏ × N
-ËÁÎÁÌÏ×, ÞÔÏÂÙ ÆÉÌØÔÒ ÍÏÇ ËÏÄÉÒÏ×ÁÔØ N\-ËÁÎÁÌØÎÙÊ ×ÈÏÄ × AC\-3.
-.br
-.PD 0
-.RSs
-.IPs <tospdif>
-÷Ù×ÏÄÉÔ × ÓÙÒÏÊ ÐÏÔÏË AC\-3, ÅÓÌÉ ÐÁÒÁÍÅÔÒ ÎÕÌÅ×ÏÊ ÉÌÉ ÎÅ
-ÕÓÔÁÎÏ×ÌÅÎ; ×Ù×ÏÄÉÔ × S/PDIF ÄÌÑ ÔÒÁÎÚÉÔÎÏÊ ÐÅÒÅÄÁÞÉ, ÅÓÌÉ
-<tospdif> Ñ×ÌÑÅÔÓÑ ÎÅÎÕÌÅ×ÙÍ ÚÎÁÞÅÎÉÅÍ.
-.IPs <bitrate>
-âÉÔÐÏÔÏË ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ AC\-3 ÐÏÔÏËÁ.
-õÓÔÁÎÏ×ÉÔÅ ÅÇÏ ÒÁ×ÎÙÍ 384 ÉÌÉ 384000 ÄÌÑ ÐÏÌÕÞÅÎÉÑ 384ËÂÉÔ.
-äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256,
- 320, 384, 448, 512, 576, 640
-âÉÔÐÏÔÏË ÐÏ ÕÍÏÌÞÁÎÉÀ ÚÁ×ÉÓÉÔ ÏÔ ÞÉÓÌÁ ËÁÎÁÌÏ× (ch) ÎÁ ×ÈÏÄÅ.
-1ch: 96, 2ch: 192, 3ch: 224, 4ch: 384, 5ch: 448, 6ch: 448
-.IPs <minchn>
-åÓÌÉ ÞÉÓÌÏ ËÁÎÁÌÏ× ÎÁ ×ÈÏÄÅ ÍÅÎÅÅ ÞÅÍ <minchn>, ÆÉÌØÔÒ
-Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÔËÌÀÞÉÔÓÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5).
-.RE
-.PD 1
-.
-.TP
-.B sweep[=ÓËÏÒÏÓÔØ]
-ðÒÏÉÚ×ÏÄÉÔ ÓÉÎÕÓÏÉÄÁÌØÎÙÊ ÓÉÇÎÁÌ.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-äÅÌØÔÁ ÓÉÎÕÓÁ, ÉÓÐÏÌØÚÕÊÔÅ ÏÞÅÎØ ÍÁÌÅÎØËÉÅ ÚÎÁÞÅÎÉÑ, ÞÔÏÂÙ ÕÓÌÙÛÁÔØ ÒÅÚÕÌØÔÁÔ.
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=freq:decay]
-õÄÁÌÑÅÔ ÓÉÎÕÓÏÉÄÕ ÕËÁÚÁÎÎÏÊ ÞÁÓÔÏÔÙ.
-ðÏÌÅÚÅÎ ÄÌÑ ÕÄÁÌÅÎÉÑ 50/60çà ÛÕÍÁ ÎÁ ÎÉÚËÏËÁÞÅÓÔ×ÅÎÎÏÍ Ú×ÕËÏ×ÏÍ ÏÂÏÒÕÄÏ×ÁÎÉÉ.
-ïÎ, ×ÏÚÍÏÖÎÏ, ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó ÍÏÎÏ.
-.PD 0
-.RSs
-.IPs <freq>
-þÁÓÔÏÔÁ ÓÉÎÕÓÏÉÄÙ (× çÃ), ËÏÔÏÒÕÀ ÓÌÅÄÕÅÔ ÕÄÁÌÉÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 50)
-.IPs <decay>
-õÐÒÁ×ÌÑÅÔ ÇÉÂËÏÓÔØÀ (ÂÏÌØÛÅÅ ÚÎÁÞÅÎÉÅ ÐÏÚ×ÏÌÉÔ ÆÉÌØÔÒÕ ÂÙÓÔÒÅÅ ÁÄÁÐÔÉÒÏ×ÁÔØÓÑ Ë
-ÉÚÍÅÎÅÎÉÀ ÁÍÐÌÉÔÕÄÙ É ÆÁÚÙ, ÍÅÎØÛÅÅ ÚÎÁÞÅÎÉÅ ÓÄÅÌÁÅÔ ÁÄÁÐÔÁÃÉÀ ÂÏÌÅÅ
-ÍÅÄÌÅÎÎÏÊ) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0001).
-òÁÚÕÍÎÙ ÚÎÁÞÅÎÉÑ × ÒÁÊÏÎÅ 0.001.
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=ÆÌÁÇ]
-æÕÎËÃÉÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÄÌÑ ÎÁÕÛÎÉËÏ×: ðÒÅÏÂÒÁÚÕÅÔ ÍÎÏÇÏËÁÎÁÌØÎÙÊ Ú×ÕË × 2 ËÁÎÁÌØÎÙÊ
-×Ù×ÏÄ ÄÌÑ ÎÁÕÛÎÉËÏ×, ÓÏÈÒÁÎÑÑ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÓÔØ Ú×ÕËÁ.
-.sp 1
-.PD 0
-.RS
-.\" FIXME matrix decoding = ÍÁÔÒÉÞÎÏÅ ÄÅËÏÄÉÒÏ×ÁÎÉÅ
-.IPs "æÌÁÇ úÎÁÞÅÎÉÅ"
-.IPs "m ÍÁÔÒÉÞÎÏÅ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÐÅÒÅÄÎÅÇÏ ËÁÎÁÌÁ"
-.IPs "s 2\-ËÁÎÁÌØÎÏÅ ÍÁÔÒÉÞÎÏÅ ÄÅËÏÄÉÒÏ×ÁÎÉÅ"
-.IPs "0 ÄÅËÏÄÉÒÏ×ÁÎÉÅ ÂÅÚ ÍÁÔÒÉà (ÐÏ ÕÍÏÌÞÁÎÉÀ)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-.\" FIXME is translation correct? "10 IIR band pass filters"
-10 ÐÏÌÏÓÎÙÊ ÇÒÁÆÉÞÅÓËÉÊ ÜË×ÁÌÁÊÚÅÒ, ÒÅÁÌÉÚÏ×ÁÎÎÙÊ ÐÒÉ ÐÏÍÏÝÉ 10 IIR ÆÉÌØÔÒÏ× ÐÒÏÐÕÓËÁÎÉÑ ÐÏÌÏÓÙ.
-üÔÏ ÚÎÁÞÉÔ, ÞÔÏ ÏÎ ÒÁÂÏÔÁÅÔ ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÉÐÁ ×ÏÓÐÒÏÉÚ×ÏÄÉÍÏÇÏ Ú×ÕËÁ.
-ãÅÎÔÒÁÌØÎÙÅ ÞÁÓÔÏÔÙ 10 ÐÏÌÏÓ:
-.sp 1
-.PD 0
-.RS
-.IPs "îÏÍ. ÞÁÓÔÏÔÁ"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-åÓÌÉ ÞÁÓÔÏÔÁ ÄÉÓËÒÅÔÉÚÁÃÉÉ ×ÏÓÐÒÏÉÚ×ÏÄÉÍÏÇÏ Ú×ÕËÁ ÎÉÖÅ ÃÅÎÔÒÁÌØÎÏÊ ÞÁÓÔÏÔÙ
-ÐÏÌÏÓÙ, ÔÏ ÜÔÁ ÐÏÌÏÓÁ ÂÕÄÅÔ ÏÔËÌÀÞÅÎÁ.
-éÚ×ÅÓÔÎÙÊ ÂÁÇ ÜÔÏÇÏ ÆÉÌØÔÒÁ ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ ÈÁÒÁËÔÅÒÉÓÔÉËÉ ÄÌÑ
-ÓÁÍÏÊ ×ÅÒÈÎÅÊ ÐÏÌÏÓÙ ÎÅ ÐÏÌÎÏÓÔØÀ ÓÉÍÍÅÔÒÉÞÎÙ, ÅÓÌÉ ÞÁÓÔÏÔÁ
-ÄÉÓËÒÅÔÉÚÁÃÉÉ ÂÌÉÚËÁ Ë ÃÅÎÔÒÁÌØÎÏÊ ÞÁÓÔÏÔÅ ÜÔÏÊ ÐÏÌÏÓÙ.
-ðÒÏÂÌÅÍÕ ÍÏÖÎÏ ÏÂÏÊÔÉ, Õ×ÅÌÉÞÉ× ÞÁÓÔÏÔÕ ÄÉÓËÒÅÔÉÚÁÃÉÉ ÆÉÌØÔÒÏÍ resample
-ÄÏ ÔÏÇÏ, ËÁË Ú×ÕË ÄÏÓÔÉÇÎÅÔ ÜÔÏÇÏ ÆÉÌØÔÒÁ.
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-÷ÅÝÅÓÔ×ÅÎÎÙÅ ÞÉÓÌÁ, ÐÒÅÄÓÔÁ×ÌÑÀÝÉÅ ÓÏÂÏÊ ÕÓÉÌÅÎÉÅ × Äâ ÄÌÑ ËÁÖÄÏÊ ÐÏÌÏÓÙ (\-12/12)
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-õÓÉÌÉÔ Ú×ÕË × ×ÅÒÈÎÅÍ É ÎÉÖÎÅÍ ÞÁÓÔÏÔÎÏÍ ÄÉÁÐÁÚÏÎÅ, ÐÒÁËÔÉÞÅÓËÉ ÐÏÌÎÏÓÔØÀ
-ÏÔÂÒÁÓÙ×ÁÑ ÅÇÏ × ÒÁÊÏÎÅ 1ËçÃ.
-.RE
-.PD 1
-.
-.TP
-.B channels=nch[:nr:ÉÚ1:×1:ÉÚ2:×2:ÉÚ3:×3:...]
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ, ÕÄÁÌÅÎÉÑ, ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ É
-ËÏÐÉÒÏ×ÁÎÉÑ ÁÕÄÉÏ ËÁÎÁÌÏ×.
-åÓÌÉ ÕËÁÚÁÎÏ ÔÏÌØËÏ <nch>, ÔÏ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ,
-ÒÁÂÏÔÁÀÝÅÅ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ: åÓÌÉ ×ÙÈÏÄÎÙÈ ËÁÎÁÌÏ× ÂÏÌØÛÅ, ÞÅÍ ×ÈÏÄÎÙÈ,
-ÔÏ ×ÓÔÁ×ÌÑÀÔÓÑ ÐÕÓÔÙÅ ËÁÎÁÌÙ (ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÓÌÕÞÁÑ ÍÉËÛÉÒÏ×ÁÎÉÑ ÉÚ ÍÏÎÏ × ÓÔÅÒÅÏ,
-× ÜÔÏÍ ÓÌÕÞÁÅ ÍÏÎÏ ËÁÎÁÌ ÄÕÂÌÉÒÕÅÔÓÑ ÎÁ ÏÂÁ ×ÙÈÏÄÎÙÈ ËÁÎÁÌÁ).
-åÓÌÉ ËÏÌÉÞÅÓÔ×Ï ×ÙÈÏÄÎÙÈ ËÁÎÁÌÏ× ÍÅÎØÛÅ ËÏÌÉÞÅÓÔ×Á ×ÈÏÄÎÙÈ, ÔÏ
-ÌÉÛÎÉÅ ËÁÎÁÌÙ ÏÔÓÅËÁÀÔÓÑ.
-.PD 0
-.RSs
-.IPs <nch>
-ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ× ÎÁ ×ÙÈÏÄÅ (1\-6)
-.IPs "<nr>\ "
-ËÏÌÉÞÅÓÔ×Ï ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÊ (1\-6)
-.IPs <from1:to1:from2:to2:from3:to3:...>
-ðÁÒÙ ÞÉÓÅÌ ÏÔ 0 ÄÏ 5, ÏÐÒÅÄÅÌÑÀÝÉÅ ËÕÄÁ ÐÅÒÅÎÁÐÒÁ×ÉÔØ ËÁÖÄÙÊ ËÁÎÁÌ.
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ× ÒÁ×ÎÙÍ 4, É ÎÁÓÔÒÁÉ×ÁÅÔ 4
-ÍÁÒÛÒÕÔÁ, ÍÅÎÑÀÝÉÈ ÍÅÓÔÁÍÉ ËÁÎÁÌÙ 0 É 1, É ÏÓÔÁ×ÌÑÀÝÉÈ ËÁÎÁÌÙ 2 É 3
-ÎÅÉÚÍÅÎÎÙÍÉ.
-úÁÍÅÔØÔÅ, ÞÔÏ ÅÓÌÉ ÍÅÄÉÁ ÓÏÄÅÒÖÉÔ Ä×Á ×ÏÓÐÒÏÉÚ×ÏÄÑÝÉÈÓÑ ËÁÎÁÌÁ, ËÁÎÁÌÙ
-2 É 3 ÂÕÄÕÔ ÓÏÄÅÒÖÁÔØ ÔÉÛÉÎÕ, ÎÏ 1 É 0 ×ÓÅ\-ÔÁËÉ ÐÏÍÅÎÑÀÔÓÑ ÍÅÓÔÁÍÉ.
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ× ÒÁ×ÎÙÍ 6, É ÎÁÓÔÒÁÉ×ÁÅÔ 4
-ÍÁÒÛÒÕÔÁ, ËÏÐÉÒÕÀÝÉÈ ËÁÎÁÌ 0 × 0 É 3.
-ëÁÎÁÌÙ 4 É 5 ÂÕÄÕÔ ÓÏÄÅÒÖÁÔØ ÔÉÛÉÎÕ.
-.RE
-.PD 1
-.
-.TP
-.B format[=format] (also see \-format)
-ËÏÎ×ÅÒÔÉÒÕÅÔ ÍÅÖÄÕ ÒÁÚÌÉÞÎÙÍÉ ÆÏÒÍÁÔÁÍÉ ÓÜÍÐÌÏ×.
-÷ËÌÀÞÁÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ËÏÇÄÁ ÜÔÏ ÔÒÅÂÕÅÔÓÑ ÄÌÑ
-Ú×ÕËÏ×ÏÊ ËÁÒÔÙ ÉÌÉ ÄÒÕÇÏÇÏ ÆÉÌØÔÒÁ.
-.PD 0
-.RSs
-.IPs <format>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÖÅÌÁÅÍÙÊ ÆÏÒÍÁÔ.
-õËÁÚÙ×ÁÅÔÓÑ × ÆÏÒÍÅ 'sbe', ÇÄÅ 's' ÏÚÎÁÞÁÅÔ ÚÎÁË ('s' ÄÌÑ ÚÎÁËÏ×ÏÇÏ, 'u' \- ÄÌÑ
-ÂÅÚÚÎÁËÏ×ÏÇÏ), 'b' ÏÚÎÁÞÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÂÉÔ ÎÁ ÓÜÍÐÌ (16,24 ÉÌÉ 32) É 'e'
-ÏÚÎÁÞÁÅÔ ÐÏÒÑÄÏË ÂÁÊÔ ('le' little\-endian, 'be' big\-endian, 'ne' \- ÐÏÒÑÄÏË ÂÁÊÔ
-ËÏÍÐØÀÔÅÒÁ, ÎÁ ËÏÔÏÒÏÍ ÚÁÐÕÝÅÎ MPlayer).
-ðÒÁ×ÉÌØÎÙÅ ÚÎÁÞÅÎÉÑ (ÎÅËÏÔÏÒÙÅ ÉÚ ×ÏÚÍÏÖÎÙÈ): 's16le', 'u32be' É 'u24ne'.
-éÓËÌÀÞÅÎÉÑ ÉÚ ÐÒÁ×ÉÌÁ, ÔÁËÖÅ Ñ×ÌÑÀÝÉÅÓÑ ×ÅÒÎÙÍÉ ÉÄÅÎÔÉÆÉËÁÔÏÒÁÍÉ ÆÏÒÍÁÔÁ:
-u8, s8, floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 É imaadpcm.
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]]
-.\" FIXME check translation
-òÅÁÌÉÚÕÅÔ ÐÒÏÇÒÁÍÍÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ ÇÒÏÍËÏÓÔØÀ.
-éÓÐÏÌØÚÕÊÔÅ ÜÔÏÔ ÆÉÌØÔÒ Ó ÏÓÔÏÒÏÖÎÏÓÔØÀ, ÐÏÓËÏÌØËÕ ÏÎ
-ÓÐÏÓÏÂÅÎ ÓÎÉÚÉÔØ ÕÒÏ×ÅÎØ ÓÉÇÎÁÌÁ ÄÏ ÕÒÏ×ÎÑ ÐÒÏÓÔÏÇÏ ÛÕÍÁ.
-÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÌÕÞÛÅ ×ÓÅÇÏ ÕÓÔÁÎÏ×ÉÔØ ÕÒÏ×ÅÎØ PCM Ú×ÕËÁ ÎÁ
-ÍÁËÓÉÍÕÍ, ÏÓÔÁ×ÉÔØ × ÐÏËÏÅ ÜÔÏÔ ÆÉÌØÔÒ É ÕÐÒÁ×ÌÑÔØ ÇÒÏÍËÏÓÔØÀ
-×ÙÈÏÄÑÝÅÇÏ ÎÁ ËÏÌÏÎËÉ ÓÉÇÎÁÌÁ ÐÒÉ ÐÏÍÏÝÉ ÒÅÇÕÌÑÔÏÒÁ ËÁÎÁÌÁ master.
-÷ ÓÌÕÞÁÅ, ËÏÇÄÁ ×ÁÛÁ Ú×ÕËÏ×ÁÑ ËÁÒÔÁ ÉÍÅÅÔ ÃÉÆÒÏ×ÏÊ PCM ÍÉËÛÅÒ ×ÍÅÓÔÏ
-ÁÎÁÌÏÇÏ×ÏÇÏ, É ×Ù ÓÌÙÛÉÔÅ ÉÓËÁÖÅÎÉÅ, ÉÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÎÅÇÏ MASTER ÍÉËÛÅÒ.
-åÓÌÉ Ë ËÏÍÐØÀÔÅÒÕ ÐÏÄËÌÀÞÅÎ ×ÎÅÛÎÉÊ ÕÓÉÌÉÔÅÌØ (ÞÔÏ, ËÁË ÐÒÁ×ÉÌÏ,
-É ÂÙ×ÁÅÔ × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ×), ÕÒÏ×ÅÎØ ÛÕÍÁ ÍÏÖÎÏ ÍÉÎÉÍÉÚÉÒÏ×ÁÔØ,
-ÒÅÇÕÌÉÒÕÑ ÎÁ ÕÓÉÌÉÔÅÌÅ ÕÒÏ×ÎÉ ÇÒÏÍËÏÓÔÉ É ËÁÎÁÌÁ master,
-ÐÏËÁ ÆÏÎÏ×ÙÊ ÛÕÍ ÐÏÌÎÏÓÔØÀ ÎÅ ÉÓÞÅÚÎÅÔ.
-.br
-üÔÏÔ ÆÉÌØÔÒ ÉÍÅÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ×ÏÚÍÏÖÎÏÓÔØ: ïÎ ÉÚÍÅÒÑÅÔ ÍÁËÓÉÍÁÌØÎÙÊ ÕÒÏ×ÅÎØ Ú×ÕËÁ
-É ×Ù×ÏÄÉÔ ÅÇÏ ÐÒÉ ×ÙÈÏÄÅ ÉÚ MPlayer. üÔÁ ÏÃÅÎËÁ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
-ÄÌÑ ÕÓÔÁÎÏ×ÌÅÎÉÑ ÕÒÏ×ÎÑ ÇÒÏÍËÏÓÔÉ × MEncoder, ÔÁË, ÞÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÌÓÑ
-ÍÁËÓÉÍÁÌØÎÏ ×ÏÚÍÏÖÎÙÊ ÄÉÎÁÍÉÞÅÓËÉÊ ÄÉÁÐÁÚÏÎ.
-.br
-.I úáíåþáîéå:
-üÔÏÔ ÆÉÌØÔÒ ÎÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÏ×ÔÏÒÎÏ É, ÐÏÜÔÏÍÕ, ÍÏÖÅÔ ÂÙÔØ ÚÁÄÅÊÓÔ×Ï×ÁÎ
-ÔÏÌØËÏ ÅÄÉÎÏÖÄÙ ÄÌÑ ËÁÖÄÏÇÏ ÁÕÄÉÏ ÐÏÔÏËÁ.
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÖÅÌÁÅÍÏÅ ÕÓÉÌÅÎÉÅ × Äâ ÏÔ \-200Äâ ÄÏ +60Äâ ÄÌÑ ×ÓÅÈ ËÁÎÁÌÏ× ×
-ÐÏÔÏËÅ, ÇÄÅ \-200Äâ ÐÏÌÎÏÓÔØÀ ÏÔËÌÀÞÁÅÔ Ú×ÕË, Á +60Äâ ÜË×É×ÁÌÅÎÔÎÏ ÕÓÉÌÅÎÉÀ ×
-1000 ÒÁÚ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.IPs "<sc>\ "
-÷ËÌÀÞÁÅÔ (1) ÉÌÉ ×ÙËÌÀÞÁÅÔ (0) ÐÒÏÇÒÁÍÍÎÏÅ ÕÓÅÞÅÎÉÅ.
-ðÒÏÇÒÁÍÍÎÏÅ ÕÓÅÞÅÎÉÅ ÍÏÖÅÔ ÓÄÅÌÁÔØ Ú×ÕË ÂÏÌÅÅ ÒÏ×ÎÙÍ, ÅÓÌÉ ÉÓÐÏÌØÚÕÀÔÓÑ
-ÏÞÅÎØ ÂÏÌØÛÉÅ ÕÒÏ×ÎÉ ÇÒÏÍËÏÓÔÉ. éÓÐÏÌØÚÕÊÔÅ ÜÔÕ ÏÐÃÉÀ, ÅÓÌÉ ÄÉÎÁÍÉÞÅÓËÉÊ
-ÄÉÁÐÁÚÏÎ ÇÒÏÍËÏÇÏ×ÏÒÉÔÅÌÅÊ ÏÞÅÎØ ÍÁÌ.
-.br
-.I ÷îéíáîéå:
-üÔÁ ×ÏÚÍÏÖÎÏÓÔØ ÓÏÚÄÁÅÔ ÉÓËÁÖÅÎÉÑ É ÄÏÌÖÎÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ × ËÒÁÊÎÉÈ ÓÌÕÞÁÑÈ.
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-õÓÉÌÉÔ Ú×ÕË ÎÁ 10.1Äâ É ÁÐÐÁÒÁÔÎÏ ÕÓÅÞÅÔ ÓÌÉÛËÏÍ ÇÒÏÍËÉÊ Ú×ÕË.
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-ðÒÏÉÚ×ÏÌØÎÏ ÍÉËÛÉÒÕÅÔ ËÁÎÁÌÙ.
-÷ ÏÂÝÅÍ \- ÜÔÏ ËÏÍÂÉÎÁÃÉÑ ÆÉÌØÔÒÏ× volume É channels, ËÏÔÏÒÁÑ
-ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ Ó×ÅÄÅÎÉÑ ÍÎÏÖÅÓÔ×Á ËÁÎÁÌÏ× × ÍÅÎØÛÅÅ ËÏÌÉÞÅÓÔ×Ï,
-ÎÁÐÒÉÍÅÒ, ÓÔÅÒÅÏ × ÍÏÎÏ ÉÌÉ ÉÚÍÅÎÅÎÉÑ "ÛÉÒÉÎÙ" ÃÅÎÔÒÁÌØÎÏÊ ËÏÌÏÎËÉ
-× ÓÉÓÔÅÍÅ ÏËÒÕÖÁÀÝÅÇÏ Ú×ÕËÁ.
-üÔÏÔ ÆÉÌØÔÒ ÔÒÕÄÅÎ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ É ÐÏÔÒÅÂÕÅÔÓÑ ÎÅÓËÏÌØËÏ ÐÏÐÙÔÏË ÄÌÑ
-ÐÏÌÕÞÅÎÉÑ ÖÅÌÁÅÍÏÇÏ ÒÅÚÕÌØÔÁÔÁ.
-ëÏÌÉÞÅÓÔ×Ï ÏÐÃÉÊ ÄÌÑ ÜÔÏÇÏ ÆÉÌØÔÒÁ ÚÁ×ÉÓÉÔ ÏÔ ËÏÌÉÞÅÓÔ×Á ×ÙÈÏÄÎÙÈ ËÁÎÁÌÏ×.
-ðÒÉÍÅÒ Ó×ÅÄÅÎÉÑ ÛÅÓÔÉËÁÎÁÌØÎÏÇÏ ÆÁÊÌÁ × Ä×Á ËÁÎÁÌÁ Ó ÐÏÍÏÝØÀ ÜÔÏÇÏ
-ÆÉÌØÔÒÁ ÍÏÖÎÏ ÎÁÊÔÉ × ÒÁÚÄÅÌÅ ÐÒÉÍÅÒÏ× ÄÁÌÅÅ.
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-ëÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ× ÎÁ ×ÙÈÏÄÅ (1\-6)
-.IPs <Lij>
-ëÁË ÍÎÏÇÏ ÉÓÈÏÄÎÏÇÏ ÓÉÇÎÁÌÁ i ÍÉËÛÉÒÕÅÔÓÑ × ×ÙÈÏÄÎÏÊ ÓÉÇÎÁÌ j (0\-1).
-ô.Å.\& ÓÎÁÞÁÌÁ ÕËÁÚÙ×ÁÅÔÓÑ n ÞÉÓÅÌ, ÇÏ×ÏÒÑÝÉÈ ÞÔÏ ÄÅÌÁÔØ Ó
-ÐÅÒ×ÙÍ ×ÈÏÄÎÙÍ ËÁÎÁÌÏÍ, ÚÁÔÅÍ n ÞÉÓÅÌ, ÄÅÊÓÔ×ÕÀÝÉÈ ÎÁ ×ÔÏÒÏÊ ËÁÎÁÌ É ÔÁË ÄÁÌÅÅ.
-åÓÌÉ ÄÌÑ ÎÅËÏÔÏÒÙÈ ×ÈÏÄÎÙÈ ËÁÎÁÌÏ× ×Ù ÎÅ ÕËÁÚÙ×ÁÅÔÅ ÎÉËÁËÏÇÏ ÞÉÓÌÁ,
-ÔÏ ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ ÚÎÁÞÅÎÉÅ 0.
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-ó×ÅÄÅÔ Ú×ÕË ÉÚ ÓÔÅÒÅÏ × ÍÏÎÏ.
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-äÁÓÔ 3 ËÁÎÁÌÁ ÎÁ ×ÙÈÏÄÅ, ÏÓÔÁ×ÌÑÑ ËÁÎÁÌÙ 0 É 1 ÎÅÉÚÍÅÎÎÙÍÉ
-É ÍÉËÛÉÒÕÑ ËÁÎÁÌÙ 0 É 1 × ×ÙÈÏÄÎÏÊ ËÁÎÁÌ 2 (ËÏÔÏÒÙÊ ÍÏÖÅÔ ÂÙÔØ ÏÔÐÒÁ×ÌÅÎ
-ÎÁ ÓÁÂ×ÕÆÅÒ, ÎÁÐÒÉÍÅÒ).
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-äÏÂÁ×ÌÑÅÔ ËÁÎÁÌ ÓÁÂ×ÕÆÅÒÁ Ë ÁÕÄÉÏ ÐÏÔÏËÕ.
-áÕÄÉÏÄÁÎÎÙÅ, ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÓÏÚÄÁÎÉÑ ËÁÎÁÌÁ ÓÁÂ×ÕÆÅÒÁ,
-Ñ×ÌÑÀÔÓÑ ÓÒÅÄÎÉÍ ÚÎÁÞÅÎÉÅÍ Ú×ÕËÁ × ËÁÎÁÌÁÈ 0 É 1.
-÷ÙÓÏËÉÅ ÞÁÓÔÏÔÙ ÐÏÌÕÞÉ×ÛÅÇÏÓÑ Ú×ÕËÁ ÚÁÔÅÍ ÏÔÂÒÁÓÙ×ÁÀÔÓÑ
-ÐÒÏÐÕÓËÁÎÉÅÍ ÞÅÒÅÚ Butterworth ÆÉÌØÔÒ ÞÅÔ×ÅÒÔÏÇÏ ÐÏÒÑÄËÁ
-ÓÏ ÚÎÁÞÅÎÉÅÍ ÐÒÅÄÅÌØÎÏÊ ÞÁÓÔÏÔÙ ÐÏ ÕÍÏÌÞÁÎÉÀ 60çÃ, É
-ÒÅÚÕÌØÔÁÔ ÄÏÂÁ×ÌÑÅÔÓÑ ÏÔÄÅÌØÎÙÍ ËÁÎÁÌÏÍ Ë ÁÕÄÉÏ ÐÏÔÏËÕ.
-.br
-.I ÷ÎÉÍÁÎÉÅ:
-ïÔËÌÀÞÁÊÔÅ ÜÔÏÔ ÆÉÌØÔÒ ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ DVD c Dolby
-Digital 5.1 Ú×ÕËÏÍ, ÉÎÁÞÅ ÜÔÏÔ ÆÉÌØÔÒ ÉÓÐÏÒÔÉÔ Ú×ÕË
-ÎÁ ÓÕÂ×ÕÆÅÒÅ.
-.PD 0
-.RSs
-.IPs "<fc>\ "
-ÐÒÅÄÅÌØÎÁÑ ÞÁÓÔÏÔÁ × çà ÄÌÑ ÎÉÚËÏÞÁÓÔÏÔÎÏÇÏ ÆÉÌØÔÒÁ (ÏÔ 20çà ÄÏ 300çÃ) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 60çÃ)
-äÌÑ ÐÏÌÕÞÅÎÉÑ ÌÕÞÛÅÇÏ ÒÅÚÕÌØÔÁÔÁ, ÐÒÏÂÕÊÔÅ ÕÓÔÁÎÏ×ÉÔØ ÞÁÓÔÏÔÕ
-ÎÁÓÔÏÌØËÏ ÎÉÚËÏÊ, ÎÁÓËÏÌØËÏ ÜÔÏ ×ÏÚÍÏÖÎÏ.
-üÔÏ ÕÌÕÞÛÉÔ ×ÏÓÐÒÉÑÔÉÅ ÓÔÅÒÅÏ ÉÌÉ ÏËÒÕÖÁÀÝÅÇÏ Ú×ÕËÁ.
-.IPs "<ch>\ "
-ïÐÒÅÄÅÌÑÅÔ ÎÏÍÅÒ ËÁÎÁÌÁ, × ËÏÔÏÒÙÊ ÄÏÂÁ×ÌÑÅÔÓÑ ÁÕÄÉÏ ÄÌÑ ÓÁÂ×ÕÆÅÒÁ.
-ÎÏÍÅÒ ËÁÎÁÌÁ ÍÏÖÅÔ ÂÙÔØ ÏÔ 0 ÄÏ 5 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5).
-úÁÍÅÔØÔÅ, ÞÔÏ ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ× ÂÕÄÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ
-Õ×ÅÌÉÞÅÎÏ ÄÏ <ch>.
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-äÏÂÁ×ÉÔ ËÁÎÁÌ ÓÁÂ×ÕÆÅÒÁ Ó ÐÒÅÄÅÌØÎÏÊ ÞÁÓÔÏÔÏÊ 100çà ×
-4 ËÁÎÁÌ ÎÁ ×ÙÈÏÄÅ.
-.RE
-.PD 1
-.
-.TP
-.B "center\ "
-óÏÚÄÁÅÔ ÃÅÎÔÒÁÌØÎÙÊ ËÁÎÁÌ ÉÚ ÐÅÒÅÄÎÉÈ ËÁÎÁÌÏ×.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÍÏÖÅÔ ÂÙÔØ ÎÉÚËÏËÁÞÅÓÔ×ÅÎÎÙÍ, ÐÏÓËÏÌØËÕ ÐÏËÁ ÎÅ
-ÒÅÁÌÉÚÕÅÔ ×ÙÓÏËÏÞÁÓÔÏÔÎÙÊ ÆÉÌØÔÒ ÄÌÑ ÐÒÁ×ÉÌØÎÏÇÏ ÉÚ×ÌÅÞÅÎÉÑ, Á
-×ÍÅÓÔÏ ÜÔÏÇÏ ÂÅÒÅÔ ÐÏÌÏ×ÉÎÕ ÕÓÒÅÄÎÅÎÎÏÇÏ ÚÎÁÞÅÎÉÑ ËÁÎÁÌÏ×.
-.PD 0
-.RSs
-.IPs "<ch>\ "
-ïÐÒÅÄÅÌÑÅÔ ÎÏÍÅÒ ËÁÎÁÌÁ, × ËÏÔÏÒÙÊ ×ÓÔÁ×ÌÑÅÔÓÑ ÃÅÎÔÒÁÌØÎÙÊ.
-îÏÍÅÒ ËÁÎÁÌÁ ÄÏÌÖÅÎ ÂÙÔØ ÏÔ 0 ÄÏ 5 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5).
-úÁÍÅÔØÔÅ, ÞÔÏ ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ× ÂÕÄÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ
-Õ×ÅÌÉÞÅÎÏ ÄÏ <ch>.
-.RE
-.PD 1
-.
-.TP
-.B surround[=ÚÁÄÅÒÖËÁ]
-.\" FIXME metrix encoded = ÍÁÔÒÉÞÎÏ ËÏÄÉÒÏ×ÁÎÎÏÇÏ
-äÅËÏÄÅÒ ÄÌÑ ÍÁÔÒÉÞÎÏ ËÏÄÉÒÏ×ÁÎÎÏÇÏ ÏËÒÕÖÁÀÝÅÇÏ Ú×ÕËÁ, ÔÁËÏÇÏ ËÁË Dolby Surround.
-.\" FIXME matrixed = ËÏÄÉÒÏ×ÁÎÎÙÊ ÍÁÔÒÉÃÅÊ
-íÎÏÖÅÓÔ×Ï ÆÁÊÌÏ× Ó 2 ËÁÎÁÌØÎÙÍ Ú×ÕËÏÍ ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÓÏÄÅÒÖÁÔ ËÏÄÉÒÏ×ÁÎÎÙÊ ÍÁÔÒÉÃÅÊ
-ÏËÒÕÖÁÀÝÉÊ Ú×ÕË.
-ôÒÅÂÕÅÔ Ú×ÕËÏ×ÕÀ ËÁÒÔÕ, ÐÏÄÄÅÒÖÉ×ÁÀÝÕÀ ËÁË ÍÉÎÉÍÕÍ 4 ËÁÎÁÌÁ.
-.PD 0
-.RSs
-.IPs <ÚÁÄÅÒÖËÁ>
-×ÒÅÍÑ ÚÁÄÅÒÖËÉ × ÍÓ ÄÌÑ ÚÁÄÎÉÈ ËÏÌÏÎÏË (ÏÔ 0 ÄÏ 1000) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 20)
-úÁÄÅÒÖËÁ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ: åÓÌÉ d1 \- ÒÁÓÓÔÏÑÎÉÅ ÏÔ
-ÓÌÕÛÁÔÅÌÑ ÄÏ ÐÅÒÅÄÎÉÈ ËÏÌÏÎÏË É d2 \- ÒÁÓÓÔÏÑÎÉÅ ÏÔ ÓÌÕÛÁÔÅÌÑ ÄÏ
-ÚÁÄÎÉÈ ËÏÌÏÎÏË, ÔÏ ÚÁÄÅÒÖËÕ ÓÌÅÄÕÅÔ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ × 15ÍÓ, ÅÓÌÉ d1 <= d2 É
-× 15+5*(d2\-d1), ÅÓÌÉ d1 > d2.
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-äÏÂÁ×ÉÔ ÄÅËÏÄÉÒÏ×ÁÎÉÅ ÏËÒÕÖÁÀÝÅÇÏ Ú×ÕËÁ Ó 15ÍÓ ÚÁÄÅÒÖËÏÊ ÄÌÑ ÚÁÄÎÉÈ ËÏÌÏÎÏË.
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-úÁÄÅÒÖÉ×ÁÅÔ Ú×ÕË ÄÌÑ ÇÒÏÍËÏÇÏ×ÏÒÉÔÅÌÅÊ ÔÁË, ÞÔÏÂÙ Ú×ÕË ÒÁÚÎÙÈ ËÁÎÁÌÏ×
-ÄÏÓÔÉÇÁÌ ÓÌÕÛÁÔÅÌÑ ÏÄÎÏ×ÒÅÍÅÎÎÏ. ðÏÌÅÚÅÎ ÔÏÌØËÏ ÅÓÌÉ Õ ×ÁÓ
-ÂÏÌÅÅ 2 ÇÒÏÍËÏÇÏ×ÏÒÉÔÅÌÅÊ.
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-úÁÄÅÒÖËÁ × ÍÓ, ËÏÔÏÒÁÑ ÄÏÌÖÎÁ ×ÎÏÓÉÔØÓÑ × ËÁÖÄÙÊ ËÁÎÁÌ
-(×ÅÝÅÓÔ×ÅÎÎÏÅ ÞÉÓÌÏ ÏÔ 0 ÄÏ 1000).
-.RE
-.PD 1
-.sp 1
-.RS
-äÌÑ ×ÙÞÉÓÌÅÎÉÑ ÔÒÅÂÕÅÍÏÊ ÚÁÄÅÒÖËÉ ÄÌÑ ÒÁÚÎÙÈ ËÁÎÁÌÏ× ÐÒÏÄÅÌÁÊÔÅ ÓÌÅÄÕÀÝÅÅ:
-.IP 1. 3
-éÚÍÅÒØÔÅ × ÍÅÔÒÁÈ ÒÁÓÓÔÏÑÎÉÅ ÄÏ ÇÒÏÍËÏÇÏ×ÏÒÉÔÅÌÅÊ ÏÔ ÐÏÚÉÃÉÉ ÓÌÕÛÁÔÅÌÑ,
-ÐÏÌÕÞÉÔÅ ÚÎÁÞÅÎÉÑ s1 \- s5 ÒÁÓÓÔÏÑÎÉÊ (ÄÌÑ 5.1. ÓÉÓÔÅÍÙ).
-ËÏÍÐÅÎÓÉÒÏ×ÁÔØ ËÁÎÁÌ ÓÁÂ×ÕÆÅÒÁ ÎÅÔ ÓÍÙÓÌÁ
-(×ÓÅ ÒÁ×ÎÏ ×Ù ÎÅ ÕÓÌÙÛÉÔÅ ÒÁÚÎÉÃÕ).
-.IP 2. 3
-÷ÙÞÔÉÔÅ ÒÁÓÓÔÏÑÎÉÑ s1 \- s5 ÉÚ ÍÁËÓÉÍÁÌØÎÏÇÏ ÚÎÁÞÅÎÉÑ,
-Ô.Å.\& s[i] = max(s) \- s[i]; i = 1...5.
-.IP 3.
-÷ÙÞÉÓÌÉÔÅ ÔÒÅÂÕÅÍÙÅ ÚÁÄÅÒÖËÉ × ÍÓ ÐÏ ÆÏÒÍÕÌÅ d[i] = 1000*s[i]/342; i = 1...5.
-.RE
-.PD 0
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-âÕÄÅÔ ÚÁÄÅÒÖÉ×ÁÔØ ÐÅÒÅÄÎÉÅ ÌÅ×ÙÊ É ÐÒÁ×ÙÊ ËÁÎÁÌÙ ÎÁ 10.5ÍÓ, Ä×Á
-ÚÁÄÎÉÈ ËÁÎÁÌÁ É ÓÁÂ×ÕÆÅÒ ÎÁ 0ÍÓ É ÃÅÎÔÒÁÌØÎÙÊ ËÁÎÁÌ ÎÁ 7ÍÓ.
-.RE
-.PD 1
-.
-.TP
-.B export[=mmapped_file[:nsamples]]
-üËÓÐÏÒÔÉÒÕÅÔ ×ÈÏÄÑÝÉÊ ÓÉÇÎÁÌ ÄÒÕÇÉÍ ÐÒÏÃÅÓÓÁÍ, ÉÓÐÏÌØÚÕÑ ÏÔÏÂÒÁÖÅÎÉÅ ÐÁÍÑÔÉ (mmap()).
-ïÂÌÁÓÔÉ × ÏÔÏÂÒÁÖÁÅÍÏÊ ÐÁÍÑÔÉ ÓÏÄÅÒÖÁÔ ÚÁÇÏÌÏ×ÏË:
-.sp 1
-.nf
-int nch /*ËÏÌÉÞÅÓÔ×Ï ËÁÎÁÌÏ×*/
-int size /*ÒÁÚÍÅÒ ÂÕÆÅÒÁ*/
-unsigned long long counter /*éÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÉÎÈÒÏÎÉÚÁÃÉÉÉ, ÏÂÎÏ×ÌÑÅÔÓÑ
- ËÁÖÄÙÊ ÒÁÚ ÐÒÉ ÜËÓÐÏÒÔÉÒÏ×ÁÎÉÉ ÄÁÎÎÙÈ.*/
-.fi
-.sp 1
-ïÓÔÁÌØÎÏÅ \- ÐÏÌÅÚÎÙÅ (ÎÅÞÅÒÅÄÕÀÝÉÅÓÑ) 16 ÂÉÔÎÙÅ ÄÁÎÎÙÅ.
-.PD 0
-.RSs
-.IPs <mmapped_file>
-æÁÊÌ, × ËÏÔÏÒÙÊ ÏÔÏÂÒÁÖÁÀÔÓÑ ÄÁÎÎÙÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ~/.mplayer/\:mplayer\-af_export)
-.IPs <nsamples>
-ËÏÌÉÞÅÓÔ×Ï ÓÜÍÐÌÏ× ÎÁ ËÁÎÁÌ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 512)
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer\-af_export:1024 media.avi"
-âÕÄÅÔ ÜËÓÐÏÒÔÉÒÏ×ÁÔØ 1024 ÓÜÍÐÌÁ ÎÁ ËÁÎÁÌ × '/tmp/mplayer\-af_export'.
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-(ìÉÎÅÊÎÏ) Õ×ÅÌÉÞÉ×ÁÅÔ ÒÁÚÌÉÞÉÑ ÍÅÖÄÕ ÌÅ×ÙÍ É ÐÒÁ×ÙÍ ËÁÎÁÌÁÍÉ, ÞÔÏ
-ÄÏÂÁ×ÌÑÅÔ ÎÅËÏÔÏÒÙÊ "ÖÉ×ÏÊ" ÜÆÆÅËÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÀ.
-.PD 0
-.RSs
-.IPs <mul>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÜÆÆÉÃÉÅÎÔ ÒÁÚÌÉÞÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2.5).
-0.0 ÏÚÎÁÞÁÅÔ ÍÏÎÏ Ú×ÕË (ÓÒÅÄÎÅÅ ÏÂÏÉÈ ËÁÎÁÌÏ×), Ó 1.0 Ú×ÕË ÎÅ
-ÉÚÍÅÎÉÔÓÑ, Ó \-1.0 ÌÅ×ÙÊ É ÐÒÁ×ÙÊ ËÁÎÁÌÙ ÐÏÍÅÎÑÀÔÓÑ ÍÅÓÔÁÍÉ.
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=ÍÅÔÏÄ:ÃÅÌØ]
-íÁËÓÉÍÉÚÉÒÕÅÔ ÇÒÏÍËÏÓÔØ ÂÅÚ ÉÓËÁÖÅÎÉÑ Ú×ÕËÁ.
-.PD 0
-.RSs
-.IPs <ÍÅÔÏÄ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÍÅÔÏÄ.
-.RSss
-1: éÓÐÏÌØÚÕÅÔÓÑ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÓÜÍÐÌ ÄÌÑ ÓÇÌÁÖÉ×ÁÎÉÑ ÏÔËÌÏÎÅÎÉÊ ÐÏÓÒÅÄÓÔ×ÏÍ
-ÓÔÁÎÄÁÒÔÎÏÇÏ ÓÒÅÄÎÅ×Ú×ÅÛÅÎÎÏÇÏ ÚÎÁÞÅÎÉÑ ÐÒÅÄÙÄÕÝÉÈ ÓÅÍÐÌÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-2: éÓÐÏÌØÚÕÅÔÓÑ ÎÅÓËÏÌØËÏ ÓÜÍÐÌÏ× ÄÌÑ ÓÇÌÁÖÉ×ÁÎÉÑ ÏÔËÌÏÎÅÎÉÊ ÐÏÓÒÅÄÓÔ×ÏÍ
-ÓÔÁÎÄÁÒÔÎÏÇÏ ÓÒÅÄÎÅ×Ú×ÅÛÅÎÎÏÇÏ ÚÎÁÞÅÎÉÑ ÐÒÅÄÙÄÕÝÉÈ ÓÅÍÐÌÏ×.
-.REss
-.IPs <ÃÅÌØ>
-úÁÄÁÅÔ ÃÅÌÅ×ÕÀ ÁÍÐÌÉÔÕÄÕ ËÁË ÄÏÌÀ ÏÔ ÍÁËÓÉÍÁÌØÎÏ ×ÏÚÍÏÖÎÏÇÏ ÚÎÁÞÅÎÉÑ
-ÄÌÑ ÓÜÍÐÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.25).
-.RE
-.PD 1
-.
-.TP
-.B ladspa=ÆÁÊÌ:ÍÅÔËÁ[:ÐÁÒÁÍÅÔÒÙ...]
-úÁÇÒÕÖÁÅÔ LADSPA (Linux Audio Developer's Simple Plugin API) ÐÌÁÇÉÎ.
-üÔÏÔ ÆÉÌØÔÒ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÏ×ÔÏÒÎÏ, ÔÁË ÞÔÏ ÏÄÎÏ×ÒÅÍÅÎÎÏ
-ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÎÅÓËÏÌØËÏ LADSPA ÐÌÁÇÉÎÏ×.
-.PD 0
-.RSs
-.IPs <ÆÁÊÌ>
-õËÁÚÙ×ÁÅÔ ÆÁÊÌ ÂÉÂÌÉÏÔÅËÉ ÐÌÁÇÉÎÏ× LADSPA.
-åÓÌÉ LADSPA_PATH ÕÓÔÁÎÏ×ÌÅÎÁ, ÕËÁÚÁÎÎÙÊ ÆÁÊÌ ÉÝÅÔÓÑ ÔÁÍ.
-åÓÌÉ ÏÎÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ, ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÐÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ.
-.IPs <ÍÅÔËÁ>
-õËÁÚÙ×ÁÅÔ ÆÉÌØÔÒ × ÂÉÂÌÉÏÔÅËÅ.
-îÅËÏÔÏÒÙÅ ÂÉÂÌÉÏÔÅËÉ ÓÏÄÅÒÖÁÔ ÔÏÌØËÏ ÏÄÉÎ ÆÉÌØÔÒ, ÎÏ ÄÒÕÇÉÅ ÍÏÇÕÔ
-ÓÏÄÅÒÖÁÔØ ÍÎÏÖÅÓÔ×Ï.
-õËÁÚÁ× ÚÄÅÓØ 'help', ×Ù ÐÏÌÕÞÉÔÅ ×ÐÉÓÏË ×ÓÅÈ ÄÏÓÔÕÐÎÙÈ ÆÉÌØÔÒÏ× ×
-ÕËÁÚÁÎÎÏÊ ÂÉÂÌÉÏÔÅËÅ, ÞÔÏ ÉÓËÌÀÞÁÅÔ ÎÅÏÂÈÏÄÉÍÏÓÔØ
-ÉÓÐÏÌØÚÏ×ÁÎÉÑ 'listplugins' ÉÚ LADSPA SDK.
-.IPs <ÐÁÒÁÍÅÔÒÙ>
-ðÁÒÁÍÅÔÒÙ \- ÜÔÏ ÎÏÌØ ÉÌÉ ÂÏÌÅÅ ×ÅÝÅÓÔ×ÅÎÎÙÈ ÞÉÓÅÌ, ÏÐÒÅÄÅÌÑÀÝÉÈ
-ÐÏ×ÅÄÅÎÉÅ ÚÁÇÒÕÖÁÅÍÏÇÏ ÐÌÁÇÉÎÁ (ÎÁÐÒÉÍÅÒ, ÚÁÄÅÒÖËÁ, ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÉÌÉ
-ÕÓÉÌÅÎÉÅ).
-÷ ÐÏÄÒÏÂÎÏÍ ÒÅÖÉÍÅ (ÄÏÂÁרÔÅ \-v × ËÏÍÁÎÄÎÕÀ ÓÔÒÏËÕ MPlayer) ×Ù×ÏÄÑÔÓÑ
-×ÓÅ ÄÏÓÔÕÐÎÙÅ ÐÁÒÁÍÅÔÒÙ É ÄÉÁÐÁÚÏÎÙ ÉÈ ÄÏÐÕÓÔÉÍÙÈ ÚÎÁÞÅÎÉÊ.
-üÔÏ ÉÓËÌÀÞÁÅÔ ÎÅÏÂÈÏÄÉÍÏÓÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÑ 'analyselugin' ÉÚ LADSPA SDK.
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-æÉÌØÔÒ ÓÖÁÔÉÑ/ÒÁÓÛÉÒÅÎÉÑ, ÐÏÌÅÚÎÙÊ ÄÌÑ ÚÁÐÉÓÉ Ó ÍÉËÒÏÆÏÎÁ.
-ðÒÅÄÏÔ×ÒÁÝÁÅÔ ÉÓËÁÖÅÎÉÑ ÐÒÉ ÏÞÅÎØ ÇÒÏÍËÏÍ Ú×ÕËÅ É Õ×ÅÌÉÞÉ×ÁÅÔ
-ÇÒÏÍËÏÓÔØ ÐÒÉ ÏÞÅÎØ ÔÉÈÏÍ.
-æÉÌØÔÒ ÎÅ ÔÅÓÔÉÒÏ×ÁÌÓÑ, ×ÏÚÍÏÖÎÏ ÏÎ ÄÁÖÅ ÎÅ ÒÁÂÏÔÁÅÔ.
-.
-.TP
-.B "gate\ \ \ "
-æÉÌØÔÒ ÕÄÁÌÅÎÉÑ ÛÕÍÁ[noise gate], ÐÏÈÏÖÉÊ ÎÁ ÆÉÌØÔÒ comp.
-æÉÌØÔÒ ÎÅ ÔÅÓÔÉÒÏ×ÁÌÓÑ, ×ÏÚÍÏÖÎÏ ÏÎ ÄÁÖÅ ÎÅ ÒÁÂÏÔÁÅÔ.
-.
-.TP
-.B karaoke
-ðÒÏÓÔÏÊ ÆÉÌØÔÒ ÕÄÁÌÅÎÉÑ ÇÏÌÏÓÁ, ÉÓÐÏÌØÚÕÀÝÉÊ ÔÏÔ ÆÁËÔ, ÞÔÏ
-ÇÏÌÏÓ, ËÁË ÐÒÁ×ÉÌÏ, ÚÁÐÉÓÙ×ÁÅÔÓÑ × ÍÏÎÏ, Á ÚÁÔÅÍ
-"ÃÅÎÔÒÁÌØÎÏ" ÍÉËÛÉÒÕÅÔÓÑ × ÏËÏÎÞÁÔÅÌØÎÙÊ ÁÕÄÉÏ ÐÏÔÏË.
-úÁÍÅÔØÔÅ, ÞÔÏ ÜÔÏÔ ÆÉÌØÔÒ ÐÅÒÅ×ÅÄÅÔ ×ÁÛ ÓÉÇÎÁÌ × ÍÏÎÏ.
-èÏÒÏÛÏ ÒÁÂÏÔÁÅÔ Ó 2 ËÁÎÁÌØÎÙÍÉ ÄÏÒÏÖËÁÍÉ; ÎÅ ÔÒÕÄÉÔÅÓØ
-ÐÒÏÂÏ×ÁÔØ ÅÇÏ ÎÁ ÞÅÍ\-ÔÏ, ÏÔÌÉÞÎÏÍ ÏÔ 2 ËÁÎÁÌØÎÏÇÏ ÓÔÅÒÅÏ.
-.
-.TP
-.B scaletempo[=ÏÐÃÉÑ1:ÏÐÃÉÑ2:...]
-éÚÍÅÎÑÅÔ ÔÅÍÐ ÁÕÄÉÏ ÂÅÚ ÉÚÍÅÎÅÎÉÑ ÔÏÎÁ, ÏÐÃÉÏÎÁÌØÎÏ ÓÏÇÌÁÓÕÑ ÅÇÏ ÓÏ
-ÓËÏÒÏÓÔØÀ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-üÔÏ ÄÏÓÔÉÇÁÅÔÓÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅÍ \'stride\' ÍÓ Ú×ÕËÁ Ó ÎÏÒÍÁÌØÎÏÊ ÓËÏÒÏÓÔØÀ,
-ÚÁÔÅÍ ÐÒÏÐÕÓËÏÍ \'stride*scale\' ÍÓ ×ÈÏÄÎÏÇÏ ÁÕÄÉÏ.
-þÁÓÔÉ ÓÏÅÄÉÎÑÀÔÓÑ ×ÍÅÓÔÅ ÓÍÅÛÉ×ÁÎÉÅÍ \'overlap\'% ËÁÖÄÏÊ ÉÚ ÎÉÈ ÓÏ Ú×ÕËÏÍ,
-ÎÁÈÏÄÑÝÉÍÓÑ ÚÁ ÐÒÅÄÙÄÕÝÅÊ.
-ïÐÃÉÏÎÁÌØÎÏ ÐÒÏÉÚ×ÏÄÉÔÓÑ ËÏÒÏÔËÉÊ ÓÔÁÔÉÓÔÉÞÅÓËÉÊ ÁÎÁÌÉÚ ÐÏÓÌÅÄÕÀÝÉÈ \'search\'
-ÍÓ ÁÕÄÉÏ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÌÕÞÛÅÊ ÐÏÚÉÃÉÉ ÄÌÑ ÎÁÌÏÖÅÎÉÑ.
-.PD 0
-.RSs
-.IPs scale=<ÚÎÁÞÅÎÉÅ>
-îÏÍÉÎÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ÔÅÍÐÁ.
-õ×ÅÌÉÞÉ×ÁÅÔ ÎÁ ÕËÁÚÁÎÎÕÀ ÚÎÁÞÅÎÉÅ × ÄÏÐÏÌÎÅÎÉÅ Ë ÓËÏÒÏÓÔÉ.
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.IPs stride=<×ÅÌÉÞÉÎÁ>
-äÌÉÎÁ × ÍÉÌÌÉÓÅËÕÎÄÁÈ ËÁÖÄÏÊ ÞÁÓÔÉ ÄÌÑ ×Ù×ÏÄÁ.
-óÌÉÛËÏÍ ÂÏÌØÛÏÅ ÚÎÁÞÅÎÉÅ ÐÒÉ×ÅÄÅÔ Ë ÚÁÍÅÔÎÙÍ ÐÒÏÐÕÓËÁÍ ÐÒÉ ×ÙÓÏËÉÈ ÚÎÁÞÅÎÉÑÈ
-scale É Ë ÜÈÕ ÐÒÉ ÅÇÏ ÎÉÚËÉÈ ÚÎÁÞÅÎÉÑÈ.
-ïÞÅÎØ ÍÁÌÅÎØËÉÅ ÚÎÁÞÅÎÉÑ ÂÕÄÕÔ ÉÚÍÅÎÑÔØ ÔÏÎ.
-õ×ÅÌÉÞÅÎÉÅ ÕÌÕÞÛÁÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ.
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 60)
-.IPs overlap=<ÐÒÏÃÅÎÔ>
-òÁÚÍÅÒ ÞÁÓÔÉ × ÐÒÏÃÅÎÔÁÈ ÄÌÑ ÎÁÌÏÖÅÎÉÑ.
-õÍÅÎØÛÅÎÉÅ ÕÌÕÞÛÁÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ.
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: .20)
-.IPs search=<×ÅÌÉÞÉÎÁ>
-äÌÉÎÁ × ÍÉÌÌÉÓÅËÕÎÄÁÈ ÏÂÌÁÓÔÉ ÐÏÉÓËÁ ÌÕÞÛÅÊ ÐÏÚÉÃÉÑ ÄÌÑ ÎÁÌÏÖÅÎÉÑ.
-õÍÅÎØÛÅÎÉÅ ÓÕÝÅÓÔ×ÅÎÎÏ Õ×ÅÌÉÞÉ×ÁÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ.
-îÁ ÍÅÄÌÅÎÎÙÈ ÓÉÓÔÅÍÁÈ ×ÁÍ, ×ÏÚÍÏÖÎÏ, ÐÒÉÄÅÔÓÑ ÕÓÔÁÎÏ×ÉÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ ÏÞÅÎØ
-ÍÁÌÙÍ.
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 14)
-.IPs speed=<tempo|pitch|both|none>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÅÁËÃÉÀ ÎÁ ÉÚÍÅÎÅÎÉÅ ÓËÏÒÏÓÔÉ.
-.RSss
-.IPs tempo
-éÚÍÅÎÑÔØ ÔÅÍÐ ÓÉÎÈÒÏÎÎÏ ÓÏ ÓËÏÒÏÓÔØÀ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs pitch
-ïÂÒÁÔÎÏÅ ÄÅÊÓÔ×ÉÅ ÆÉÌØÔÒÁ.
-éÚÍÅÎÑÅÔ ÔÏÎ ÂÅÚ ÉÚÍÅÎÅÎÉÑ ÔÅÍÐÁ.
-äÏÂÁרÔÅ \'[ speed_mult 0.9438743126816935\' É \'] speed_mult 1.059463094352953\'
-× ×ÁÛ input.conf ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÎÁ ×ÅÌÉÞÉÎÕ ÍÕÚÙËÁÌØÎÏÇÏ ÐÏÌÕÔÏÎÁ.
-.I ÷îéíáîéå:
-ôÅÒÑÅÔÓÑ ÓÉÎÈÒÏÎÉÚÁÃÉÑ Ó ×ÉÄÅÏ.
-.IPs both
-éÚÍÅÎÑÔØ É ÔÅÍÐ, É ÔÏÎ.
-.IPs none
-éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÅ ÓËÏÒÏÓÔÉ.
-.RE
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
-âÕÄÅÔ ×ÏÓÐÒÏÉÚ×ÏÄÉÔØ ÍÅÄÉÁ ÓÏ ÓËÏÒÏÓÔØÀ 1.2x ÏÔ ÎÏÒÍÁÌØÎÏÊ ÐÒÉ ÎÏÒÍÁÌØÎÏÊ
-ÔÏÎÁÌØÎÏÓÔÉ.
-éÚÍÅÎÅÎÉÅ ÓËÏÒÏÓÔÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÂÕÄÅÔ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÉÚÍÅÎÑÔØ ÔÅÍÐ Ú×ÕËÁ.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
-âÕÄÅÔ ×ÏÓÐÒÏÉÚ×ÏÄÉÔØ ÍÅÄÉÁ ÓÏ ÓËÏÒÏÓÔØÀ 1.2x ÏÔ ÎÏÒÍÁÌØÎÏÊ ÐÒÉ ÎÏÒÍÁÌØÎÏÊ
-ÔÏÎÁÌØÎÏÓÔÉ, ÎÏ ÉÚÍÅÎÅÎÉÅ ÓËÏÒÏÓÔÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÎÅ ÂÕÄÅÔ ×ÌÉÑÔØ
-ÎÁ ÔÅÍÐ.
-.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
-ðÏÄÐÒÁ×ÉÔ ÐÁÒÁÍÅÔÒÙ ËÁÞÅÓÔ×Á É ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.
-.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
-úÁÓÔÁ×ÉÔ scaletempo ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÄ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ.
-íÏÖÅÔ ÏËÁÚÁÔØÓÑ ÂÙÓÔÒÅÅ ÎÁ ÎÅËÏÔÏÒÙÈ ÐÌÁÔÆÏÒÍÁÈ.
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
-âÕÄÅÔ ×ÏÓÐÒÏÉÚ×ÏÄÉÔØ ÁÕÄÉÏ ÆÁÊÌ ÓÏ ÓËÏÒÏÓÔØÀ 1.2x ÏÔ ÎÏÒÍÁÌØÎÏÊ ÐÒÉ ÎÏÒÍÁÌØÎÏÊ
-ÔÏÎÁÌØÎÏÓÔÉ.
-éÚÍÅÎÅÎÉÅ ÓËÏÒÏÓÔÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ÂÕÄÅÔ ÉÚÍÅÎÑÔØ ÔÏÎ, ÏÓÔÁ×ÌÑÑ ÔÅÍÐ ÒÁ×ÎÙÍ 1.2x.
-.RE
-.PD 1
-.
-.TP
-.B "stats\ \ "
-óÏÂÉÒÁÅÔ É ÏÔÏÂÒÁÖÁÅÔ ÓÔÁÔÉÓÔÉËÕ ÏÂ ÁÕÄÉÏ ÐÏÔÏËÅ, × ÏÓÏÂÅÎÎÏÓÔÉ Ï
-ÇÒÏÍËÏÓÔÉ.
-üÔÁ ÓÔÁÔÉÓÔÉËÁ ÓÐÅÃÉÁÌØÎÏ ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÄÌÑ ÏÂÌÅÇÞÅÎÉÑ ÐÏÄÓÔÒÏÊËÉ
-Ú×ÕËÁ ÂÅÚ ÅÇÏ ÓÒÅÚÁÎÉÑ.
-ïÔÏÂÒÁÖÅÎÉÅ ÇÒÏÍËÏÓÔÉ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ × Äâ É ÓÏ×ÍÅÓÔÉÍÏ Ó ÁÕÄÉÏ
-ÆÉÌØÔÒÏÍ volume.
-.
-.
-.
-.SH "÷éäåï æéìøôòù"
-÷ÉÄÅÏ ÆÉÌØÔÒÙ ÐÏÚ×ÏÌÑÀÔ ÉÚÍÅÎÑÔØ ×ÉÄÅÏ ÐÏÔÏË É ÅÇÏ Ó×ÏÊÓÔ×Á.
-óÉÎÔÁËÓÉÓ ÔÁËÏÊ:
-.
-.TP
-.B \-vf <ÆÉÌØÔÒ1[=ÐÁÒÁÍÅÔÒ1:ÐÁÒÁÍÅÔÒ2:...],ÆÉÌØÔÒ2,...>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÃÅÐÏÞËÕ ×ÉÄÅÏ ÆÉÌØÔÒÏ×.
-.PP
-íÎÏÇÉÅ ÐÁÒÁÍÅÔÒÙ ÎÅÏÂÑÚÁÔÅÌØÎÙ É ÕÓÔÁÎÁ×ÌÉ×ÁÀÔ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ ÏÐÕÝÅÎÙ.
-äÌÑ Ñ×ÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÕÓÔÁÎÏ×ÉÔÅ ÚÎÁÞÅÎÉÅ, ÒÁ×ÎÏÅ '\-1'.
-ðÁÒÁÍÅÔÒÙ w:h ÏÚÎÁÞÁÀÔ ÛÉÒÉÎÕ É ×ÙÓÏÔÕ × ÐÉËÓÅÌÁÈ, x:y ÏÚÎÁÞÁÅÔ x;y ÐÏÚÉÃÉÀ,
-ÓÞÉÔÁÑ ÏÔ ×ÅÒÈÎÅÇÏ ÌÅ×ÏÇÏ ÕÇÌÁ ÂÏÌØÛÅÇÏ ÉÚÏÂÒÁÖÅÎÉÑ.
-.br
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÆÉÌØÔÒÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÒÉ ÐÏÍÏÝÉ \-vf help.
-.sp 1
-÷ÉÄÅÏ ÆÉÌØÔÒÙ ÕÐÒÁ×ÌÑÀÔÓÑ × ÓÐÉÓËÁÈ.
-÷ÏÔ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ ÕÐÒÁ×ÌÅÎÉÑ ÓÐÉÓËÏÍ ÆÉÌØÔÒÏ×.
-.
-.TP
-.B \-vf\-add <ÆÉÌØÔÒ1[,ÆÉÌØÔÒ2,...]>
-äÏÂÁ×ÌÑÅÔ ÕËÁÚÁÎÎÙÅ ÆÉÌØÔÒÙ × ËÏÎÅà ÓÐÉÓËÁ.
-.
-.TP
-.B \-vf\-pre <ÆÉÌØÔÒ1[,ÆÉÌØÔÒ2,...]>
-äÏÂÁ×ÌÑÅÔ ÕËÁÚÁÎÎÙÅ ÆÉÌØÔÒÙ × ÎÁÞÁÌÏ ÓÐÉÓËÁ.
-.
-.TP
-.B \-vf\-del <ÉÎÄÅËÓ1[,ÉÎÄÅËÓ2,...]>
-õÄÁÌÑÅÔ ÆÉÌØÔÒÙ Ó ÕËÁÚÁÎÎÙÍ ÉÎÄÅËÓÏÍ.
-éÎÄÅËÓÙ ÎÁÞÉÎÁÀÔÓÑ Ó 0, ÏÔÒÉÃÁÔÅÌØÎÙÅ ÞÉÓÌÁ ÏÚÎÁÞÁÀÔ ÏÔÓÞÅÔ ÏÔ
-ËÏÎÃÁ ÓÐÉÓËÁ (\-1 \- ÐÏÓÌÅÄÎÉÊ).
-.
-.TP
-.B \-vf\-clr
-ðÏÌÎÏÓÔØÀ ÏÞÉÝÁÅÔ ÓÐÉÓÏË ÆÉÌØÔÒÏ×.
-.PP
-äÌÑ ÔÅÈ ÆÉÌØÔÒÏ×, ËÏÔÏÒÙÅ ÜÔÏ ÐÏÄÄÅÒÖÉ×ÁÀÔ, ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÄÏÓÔÕÐ
-Ë ÉÈ ÐÁÒÁÍÅÔÒÁÍ ÐÏ ÎÁÚ×ÁÎÉÑÍ,
-.
-.TP
-.B \-vf <ÆÉÌØÔÒ>=help
-÷Ù×ÏÄÉÔ ÎÁÚ×ÁÎÉÑ É ÄÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ ÐÁÒÁÍÅÔÒÏ× ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÆÉÌØÔÒÁ.
-.
-.TP
-.B \-vf <ÆÉÌØÔÒ=ÎÁÚ×_ÐÁÒÁÍÅÔÒÁ1=ÚÎÁÞ1[:ÎÁÚ×_ÐÁÒÁÍÅÔÒÁ2=ÚÎÁÞ2:...]>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÚÎÁÞÅÎÉÑ ÐÁÒÁÍÅÔÒÁÍ, ÕËÁÚÁÎÎÙÍ ÐÏ ÎÁÚ×ÁÎÉÀ.
-éÓÐÏÌØÚÕÊÔÅ on É off ÉÌÉ yes É no ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÚÎÁÞÅÎÉÊ ÐÁÒÁÍÅÔÒÁÍ\-ÆÌÁÇÁÍ.
-.PP
-äÏÓÔÕÐÎÙÅ ÆÉÌØÔÒÙ:
-.
-.TP
-.B crop[=w:h:x:y]
-ïÂÒÅÚÁÅÔ ÉÚÏÂÒÁÖÅÎÉÅ ÄÏ ÕËÁÚÁÎÎÏÇÏ ÒÁÚÍÅÒÁ, ÏÔÂÒÁÓÙ×ÁÑ ÏÓÔÁÌØÎÏÅ.
-ðÏÌÅÚÎÏ ÄÌÑ ÕÄÁÌÅÎÉÑ ÞÅÒÎÙÈ ÐÏÌÏÓ × ÛÉÒÏËÏÜËÒÁÎÎÙÈ ÆÉÌØÍÁÈ.
-.PD 0
-.RSs
-.IPs <w>,<h>
-òÁÚÍÅÒ ÏÂÒÅÚÁÎÉÑ, ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÅÎ ÉÓÈÏÄÎÏÊ ÛÉÒÉÎÅ É ×ÙÓÏÔÅ.
-.IPs <x>,<y>
-ðÏÚÉÃÉÑ ÏÂÒÅÚÁÅÍÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ, ÐÏ ÕÍÏÌÞÁÎÉÀ \- × ÃÅÎÔÒÅ.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=ÐÒÅÄÅÌ:ÏËÒÕÇÌÅÎÉÅ]
-òÁÓÓÞÉÔÙ×ÁÅÔ ÎÅÏÂÈÏÄÉÍÙÅ ÐÁÒÁÍÅÔÒÙ ÏÂÒÅÚÁÎÉÑ É ×Ù×ÏÄÉÔ ÒÅËÏÍÅÎÄÕÅÍÙÅ ÎÁ
-ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ.
-.PD 0
-.RSs
-.IPs <ÐÒÅÄÅÌ>
-ðÏÒÏÇ, ËÏÔÏÒÙÊ ÏÐÃÉÏÎÁÌØÎÏ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎ ÏÔ ÎÉÞÅÇÏ (0) ÄÏ
-×ÓÅ (255) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 24).
-.br
-.IPs <ÏËÒÕÇÌÅÎÉÅ>
-úÎÁÞÅÎÉÅ, ÎÁ ËÏÔÏÒÏÅ ÄÏÌÖÎÙ ÄÅÌÉÔØÓÑ ÛÉÒÉÎÁ/\:×ÙÓÏÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 16).
-óÍÅÝÅÎÉÅ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÄÓÔÒÁÉ×ÁÅÔÓÑ ÄÌÑ ÃÅÎÔÒÉÒÏ×ÁÎÉÑ ×ÉÄÅÏ.
-éÓÐÏÌØÚÕÊÔÅ 2 ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÔÏÌØËÏ ÞÅÔÎÙÈ ÒÁÚÍÅÒÏ× (ÎÕÖÎÏ ÄÌÑ 4:2:2 ×ÉÄÅÏ),
-16 \- ÌÕÞÛÅÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÂÏÌØÛÉÎÓÔ×Á ×ÉÄÅÏ ËÏÄÅËÏ×.
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=w:h:x:y]
-ïÔÏÂÒÁÖÁÅÔ ÐÒÑÍÏÕÇÏÌØÎÉË ÚÁÄÁÎÎÏÊ ÛÉÒÉÎÙ É ×ÙÓÏÔÙ × ÕËÁÚÁÎÎÙÈ
-ËÏÏÒÄÉÎÁÔÁÈ ÐÏ×ÅÒÈ ÉÚÏÂÒÁÖÅÎÉÑ, É ×Ù×ÏÄÉÔ ÔÅËÕÝÉÅ ÐÁÒÁÍÅÔÒÙ
-ÐÒÑÍÏÕÇÏÌØÎÉËÁ × ËÏÎÓÏÌØ.
-üÔÏ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÎÁÈÏÖÄÅÎÉÑ ÏÐÔÉÍÁÌØÎÙÈ ÐÁÒÁÍÅÔÒÏ×
-ÕÓÅÞÅÎÉÑ.
-åÓÌÉ ×Ù ÐÒÉ×ÑÖÉÔÅ ÄÉÒÅËÔÉ×Õ input.conf 'change_rectangle' Ë
-ÎÁÖÁÔÉÑÍ ËÌÁ×ÉÛ, ×Ù ÓÍÏÖÅÔÅ Ä×ÉÇÁÔØ É ÉÚÍÅÎÑÔØ ÒÁÚÍÅÒ
-ÐÒÑÍÏÕÇÏÌØÎÉËÁ ÎÁ ÌÅÔÕ.
-.PD 0
-.RSs
-.IPs <w>,<h>
-ÛÉÒÉÎÁ É ×ÙÓÏÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: \-1, ÍÁËÓÉÍÁÌØÎÏ ×ÏÚÍÏÖÎÁÑ ÛÉÒÉÎÁ ÐÒÉ ËÏÔÏÒÏÊ ÅÝÅ
-×ÉÄÎÙ ÇÒÁÎÉÃÙ.)
-.IPs <x>,<y>
-ÐÏÌÏÖÅÎÉÅ ×ÅÒÈÎÅÇÏ ÌÅ×ÏÇÏ ÕÇÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: \-1, ÓÁÍÏÅ ×ÅÒÈÎÅÅ, ÓÁÍÏÅ ÌÅ×ÏÅ ÐÏÌÏÖÅÎÉÅ)
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-òÁÓÛÉÒÑÅÔ (ÎÅ ÍÁÓÛÔÁÂÉÒÕÅÔ) ÒÁÚÒÅÛÅÎÉÅ ÆÉÌØÍÁ ÄÏ ÕËÁÚÁÎÎÏÇÏ ÚÎÁÞÅÎÉÑ
-É ÐÏÍÅÝÁÅÔ ÎÅÍÁÓÛÔÁÂÉÒÏ×ÁÎÎÙÊ ÏÒÉÇÉÎÁÌ × ÐÏÚÉÃÉÀ x, y.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÒÁÚÍÅÝÅÎÉÑ ÓÕÂÔÉÔÒÏ×/\:OSD ÎÁ ÐÏÌÕÞÁÀÝÉÈÓÑ
-ÞÅÒÎÙÈ ÐÏÌÏÓÁÈ.
-.RSs
-.IPs <w>,<h>
-ûÉÒÉÎÁ É ×ÙÓÏÔÁ ÄÏ ËÏÔÏÒÏÊ ÐÒÏÉÓÈÏÄÉÔ ÒÁÓÛÉÒÅÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÉÚÎÁÞÁÌØÎÁÑ
-ÛÉÒÉÎÁ,×ÙÓÏÔÁ).
-ïÔÒÉÃÁÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÄÌÑ w É h ÒÁÓÓÍÁÔÒÉ×ÁÀÔÓÑ ËÁË ÏÔËÌÏÎÅÎÉÑ ÏÔ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÒÁÚÍÅÒÁ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-äÏÂÁ×ÌÑÅÔ 50 ÐÉËÓÅÌØÎÕÀ ÐÏÌÏÓÕ Ë ÎÉÖÎÅÊ ÞÁÓÔÉ ÉÚÏÂÒÁÖÅÎÉÑ.
-.RE
-.PD 1
-.IPs <x>,<y>
-ÐÏÌÏÖÅÎÉÅ ÉÓÈÏÄÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ ÎÁ ÒÁÓÛÉÒÅÎÎÏÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÃÅÎÔÒ)
-.IPs "<o>\ \ "
-ÒÅÎÄÅÒÉÎÇ OSD/\:ÓÕÂÔÉÔÒÏ×
-.RSss
-0: ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-1: ×ËÌÀÞÅÎÏ
-.REss
-.IPs "<a>\ \ "
-òÁÓÛÉÒÅÎÉÅ, ÓÏÈÒÁÎÑÑ ÐÒÏÐÏÒÃÉÉ ×ÍÅÓÔÏ ÒÁÚÒÅÛÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-òÁÓÛÉÒÅÎÉÅ ÄÏ 800x600, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÓÌÕÞÁÑ, ËÏÇÄÁ ÉÓÈÏÄÎÙÊ ÍÁÔÅÒÉÁÌ ÉÍÅÅÔ
-ÂÏÌØÛÅÅ ÒÁÚÒÅÛÅÎÉÅ, × ÜÔÏÍ ÓÌÕÞÁÅ ÒÁÓÛÉÒÅÎÉÅ ÄÏ ÒÁÚÍÅÒÁ, ÓÏÈÒÁÎÑÀÝÅÇÏ 4/3 ÐÒÏÐÏÒÃÉÀ.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-ïËÒÕÇÌÑÅÔ ÒÁÚÍÅÒ ÔÁËÉÍ ÏÂÒÁÚÏÍ, ÞÔÏÂÙ É ÛÉÒÉÎÁ, É ×ÙÓÏÔÁ ÄÅÌÉÌÉÓØ ÎÁ <r> (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-.RE
-.
-.TP
-.B flip (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-flip)
-úÅÒËÁÌØÎÏ ÏÔÏÂÒÁÖÁÅÔ ÉÚÏÂÒÁÖÅÎÉÅ Ó×ÅÒÈÕ ×ÎÉÚ.
-.
-.TP
-.B "mirror\ "
-úÅÒËÁÌØÎÏ ÏÔÒÁÖÁÅÔ ÉÚÏÂÒÁÖÅÎÉÅ ÐÏ ÏÓÉ Y.
-.
-.TP
-.B rotate[=<0\-7>]
-ðÏ×ÏÒÁÞÉ×ÁÅÔ ÉÚÏÂÒÁÖÅÎÉÅ ÎÁ 90 ÇÒÁÄÕÓÏ× É ÏÐÃÉÏÎÁÌØÎÏ ÚÅÒËÁÌØÎÏ ÅÇÏ ÏÔÒÁÖÁÅÔ.
-äÌÑ ÚÎÁÞÅÎÉÊ ÍÅÖÄÕ 4\-7 ÐÏ×ÏÒÏÔ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÔÏÌØËÏ × ÔÏÍ ÓÌÕÞÁÅ, ÅÓÌÉ
-ÆÉÌØÍ ÉÍÅÅÔ ËÎÉÖÎÕÀ, Á ÎÅ ÁÌØÂÏÍÎÕÀ ÏÒÉÅÎÔÁÃÉÀ.
-.RSs
-.IPs 0
-ðÏ×ÏÒÏÔ ÎÁ 90 ÇÒÁÄÕÓÏ× ÐÏ ÞÁÓÏ×ÏÊ ÓÔÒÅÌËÅ É ÏÔÒÁÖÅÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1
-ðÏ×ÏÒÏÔ ÎÁ 90 ÇÒÁÄÕÓÏ× ÐÏ ÞÁÓÏ×ÏÊ ÓÔÒÅÌËÅ.
-.IPs 2
-ðÏ×ÏÒÏÔ ÎÁ 90 ÇÒÁÄÕÓÏ× ÐÒÏÔÉ× ÞÁÓÏ×ÏÊ ÓÔÒÅÌËÉ.
-.IPs 3
-ðÏ×ÏÒÏÔ ÎÁ 90 ÇÒÁÄÕÓÏ× ÐÒÏÔÉ× ÞÁÓÏ×ÏÊ ÓÔÒÅÌËÉ É ÏÔÒÁÖÅÎÉÅ.
-.RE
-.
-.TP
-.B scale[=w:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
-íÁÓÛÔÁÂÉÒÕÅÔ ÉÚÏÂÒÁÖÅÎÉÅ ÍÏÄÕÌÅÍ ÐÒÏÇÒÁÍÍÎÏÇÏ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ (ÍÅÄÌÅÎÎÏ)
-É ÏÓÕÝÅÓÔ×ÌÑÅÔ YUV<\->RGB ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÐÒÏÓÔÒÁÎÓÔ×Á Ã×ÅÔÏ× (ÓÍÏÔÒÉÔÅ
-ÔÁËÖÅ \-sws).
-.RSs
-.IPs <w>,<h>
-ÛÉÒÉÎÁ/\:×ÙÓÏÔÁ ÐÏÓÌÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÒÉÇÉÎÁÌØÎÁÑ ÛÉÒÉÎÁ/\:×ÙÓÏÔÁ)
-.br
-.I úáíåþáîéå:
-.\" FIXME what does mean d_width/\:d_height
-åÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ \-zoom, É ÌÅÖÁÝÉÅ Ó ÏÓÎÏ×Å ÆÉÌØÔÒÙ (×ËÌÀÞÁÑ libvo) ÎÅÓÐÏÓÏÂÎÙ
-ÍÁÓÛÔÁÂÉÒÏ×ÁÔØ, ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÎÏ d_width/\:d_height!
-.RSss
-.\" FIXME what is d_width/\:d_height
- 0: ÏÔÍÁÓÛÔÁÂÉÒÏ×ÁÎÎÙÅ d_width/\:d_height
-.br
-\-1: ÏÒÉÇÉÎÁÌØÎÙÅ ÛÉÒÉÎÁ/\:×ÙÓÏÔÁ
-.br
-.\" FIXME prescaled is untranslated
-\-2: ÷ÙÞÉÓÌÉÔØ w/h, ÉÓÐÏÌØÚÕÑ ÄÒÕÇÕÀ ÒÁÚÍÅÒÎÏÓÔØ É prescaled ËÏÜÆÆÉÃÉÅÎÔ ÐÒÏÐÏÒÃÉÊ.
-.br
-\-3: ÷ÙÞÉÓÌÉÔØ w/h, ÉÓÐÏÌØÚÕÑ ÄÒÕÇÕÀ ÒÁÚÍÅÒÎÏÓÔØ É ÏÒÉÇÉÎÁÌØÎÙÊ ËÏÜÆÆÉÃÉÅÎÔ ÐÒÏÐÏÒÃÉÊ.
-.br
-\-(n+8): ëÁË É \-n ×ÙÛÅ, ÎÏ ÏËÒÕÇÌÑÑ ÒÁÚÍÅÒÙ ÄÏ ÂÌÉÖÁÊÛÅÇÏ ËÒÁÔÎÏÇÏ 16 ÚÎÁÞÅÎÉÑ.
-.REss
-.IPs <interlaced>
-ðÅÒÅËÌÀÞÁÅÔ ÞÅÒÅÓÓÔÒÏÞÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ.
-.RSss
-0: ×ÙËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-1: ×ËÌÀÞÅÎÏ
-.REss
-.IPs <chr_drop>
-ÐÒÏÐÕÓË Ã×ÅÔÎÏÓÔÉ
-.RSss
-0: éÓÐÏÌØÚÏ×ÁÔØ ×ÓÅ ÄÏÓÔÕÐÎÙÅ ÌÉÎÉÉ ÄÌÑ Ã×ÅÔÎÏÓÔÉ.
-.br
-1: éÓÐÏÌØÚÏ×ÁÔØ ËÁÖÄÕÀ 2 ×ÈÏÄÎÕÀ ÌÉÎÉÀ ÄÌÑ Ã×ÅÔÎÏÓÔÉ.
-.br
-2: éÓÐÏÌØÚÏ×ÁÔØ ËÁÖÄÕÀ 4 ×ÈÏÄÎÕÀ ÌÉÎÉÀ ÄÌÑ Ã×ÅÔÎÏÓÔÉ.
-.br
-3: éÓÐÏÌØÚÏ×ÁÔØ ËÁÖÄÕÀ 8 ×ÈÏÄÎÕÀ ÌÉÎÉÀ ÄÌÑ Ã×ÅÔÎÏÓÔÉ.
-.REss
-.IPs "<par>[:<par2>] (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-sws)"
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÅËÏÔÏÒÙÅ ÐÁÒÁÍÅÔÒÙ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ
-ÍÏÄÕÌÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ, ×ÙÂÒÁÎÎÏÇÏ Ó ÐÏÍÏÝØÀ \-sws.
-.RSss
-.\" FIXME is translation correct (blurring and ringing)
-\-sws 2 (ÂÉËÕÂÉÞÅÓËÉÊ): B (ÒÁÚÍÙÔÏÓÔØ) and C (ÏÒÅÏÌ ÎÁ ÇÒÁÎÉÃÅ Ã×ÅÔÏ×)
-.br
-0.00:0.60 ÐÏ ÕÍÏÌÞÁÎÉÀ
-.br
-0.00:0.75 "ÔÏÞÎÙÊ ÂÉËÕÂÉÞÅÓËÉÊ" VirtualDub'Á
-.br
-0.00:0.50 ÓÐÌÁÊÎ Catmull\-Rom
-.br
-0.33:0.33 ÓÐÌÁÊÎ Mitchell\-Netravali
-.br
-1.00:0.00 ËÕÂÉÞÅÓËÉÊ B\-ÓÐÌÁÊÎ
-.br
-.\" FIXME is translation correct sharpen,soft,sharp
-\-sws 7 (ÇÁÕÓÓÏ×Ï): ÒÅÚËÏÓÔØ (0 (ÍÑÇËÏ) \- 100 (ÒÅÚËÏ))
-.br
-\-sws 9 (lanczos): ÄÌÉÎÁ ÆÉÌØÔÒÁ (1\-10)
-.REss
-.IPs <presize>
-íÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ ÄÏ ÐÒÅÄÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÒÁÚÍÅÒÏ×.
-.RSss
-qntsc: 352x240 (ÜËÒÁÎ × ÞÅÔ×ÅÒÔØ NTSC)
-.br
-qpal: 352x288 (ÜËÒÁÎ × ÞÅÔ×ÅÒÔØ PAL)
-.br
-ntsc: 720x480 (ÓÔÁÎÄÁÒÔÎÙÊ NTSC)
-.br
-pal: 720x576 (ÓÔÁÎÄÁÒÔÎÙÊ PAL)
-.br
-sntsc: 640x480 (NTSC Ó Ë×ÁÄÒÁÔÎÙÍ ÐÉËÓÅÌÏÍ)
-.br
-spal: 768x576 (PAL Ó Ë×ÁÄÒÁÔÎÙÍ ÐÉËÓÅÌÏÍ)
-.REss
-.IPs <noup>
-ðÒÅÄÏÔ×ÒÁÝÁÅÔ ÐÒÅ×ÙÛÅÎÉÅ ÏÒÉÇÉÎÁÌØÎÙÈ ÒÁÚÍÅÒÎÏÓÔÅÊ ÐÒÉ ÒÁÓÔÑÖÅÎÉÉ.
-.RSss
-0: òÁÓÔÑÖÅÎÉÅ ÒÁÚÒÅÛÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: úÁÐÒÅÝÁÅÔ ÒÁÓÔÑÖÅÎÉÅ, ÅÓÌÉ ÏÄÎÁ ÉÚ ÒÁÚÍÅÒÎÏÓÔÅÊ ÐÒÅ×ÙÛÁÅÔ ÏÒÉÇÉÎÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ.
-.br
-2: úÁÐÒÅÝÁÅÔ ÒÁÓÔÑÖÅÎÉÅ, ÅÓÌÉ ÏÂÅ ÒÁÚÍÅÒÎÏÓÔÉ ÐÒÅ×ÙÛÁÀÔ ÏÒÉÇÉÎÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ.
-.REss
-.IPs <arnd>
-ôÏÞÎÏÅ ÏËÒÕÇÌÅÎÉÅ ÄÌÑ ÍÏÄÕÌÑ ×ÅÒÔÉËÁÌØÎÏÇÏ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ, ËÏÔÏÒÏÅ ÍÏÖÅÔ ÂÙÔØ
-ÂÙÓÔÒÅÅ ÉÌÉ ÍÅÄÌÅÎÎÅÅ ÞÅÍ ÏÂÙÞÎÏÅ ÏËÒÕÇÌÅÎÉÅ.
-.RSss
-0: ïÔËÌÀÞÉÔØ ÔÏÞÎÏÅ ÏËÒÕÇÌÅÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: ÷ËÌÀÞÉÔØ ÔÏÞÎÏÅ ÏËÒÕÇÌÅÎÉÅ.
-.REss
-.RE
-.
-.TP
-.B dsize[=aspect|w:h:aspect\-method:r]
-éÚÍÅÎÑÅÔ ÒÁÚÍÅÒ/\:ÐÒÏÐÏÒÃÉÉ ÐÒÅÄÐÏÌÁÇÁÅÍÏÇÏ ÜËÒÁÎÁ × ÐÒÏÉÚ×ÏÌØÎÏÊ ÔÏÞËÅ
-ÃÅÐÏÞËÉ ÆÉÌØÔÒÏ×. ðÒÏÐÏÒÃÉÉ ÍÏÇÕÔ ÂÙÔØ ÚÁÄÁÎÙ ËÁË ÄÒÏÂØÀ (4/3), ÔÁË É
-×ÅÝÅÓÔ×ÅÎÎÙÍ ÞÉÓÌÏÍ (1.33). áÌØÔÅÒÎÁÔÉ×ÎÏ ×Ù ÍÏÖÅÔÅ ÔÏÞÎÏ ÕÓÔÁÎÏ×ÉÔØ
-ÖÅÌÁÅÍÕÀ ÛÉÒÉÎÕ É ×ÙÓÏÔÕ ÜËÒÁÎÁ.
-éÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ÜÔÏÔ ÆÉÌØÔÒ ÓÁÍ ÐÏ ÓÅÂÅ
-.B ÎÅ
-ÄÅÌÁÅÔ ÎÉËÁËÏÇÏ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ; ÏÎ ÔÏÌØËÏ ×ÌÉÑÅÔ ÎÁ ÔÏ, ÞÔÏ
-ÐÏÓÌÅÄÕÀÝÉÅ ÍÏÄÕÌÉ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ (ÐÒÏÇÒÁÍÍÎÙÅ ÉÌÉ ÁÐÐÁÒÁÔÎÙÅ) ÂÕÄÕÔ ÄÅÌÁÔØ, ËÏÇÄÁ
-ÏÓÕÝÅÓÔ×ÌÑÀÔ Á×ÔÏÍÁÔÉÞÅÓËÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ×ÅÒÎÙÈ ÐÒÏÐÏÒÃÉÊ.
-.RSs
-.IPs <w>,<h>
-îÏ×ÙÅ ÛÉÒÉÎÁ É ×ÙÓÏÔÁ.
-ôÁËÖÅ ÍÏÇÕÔ ÂÙÔØ ÕËÁÚÁÎÙ ÓÐÅÃÉÁÌØÎÙÅ ÚÎÁÞÅÎÉÑ:
-.RSss
- 0: ÛÉÒÉÎÁ É ×ÙÓÏÔÁ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÄÉÓÐÌÅÑ
-.br
-\-1: ÛÉÒÉÎÁ É ×ÙÓÏÔÁ ÏÒÉÇÉÎÁÌØÎÏÇÏ ×ÉÄÅÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-\-2: ÷ÙÞÉÓÌÉÔØ w/h, ÉÓÐÏÌØÚÕÑ ÄÒÕÇÕÀ ÒÁÚÍÅÒÎÏÓÔØ É ÐÒÏÐÏÒÃÉÉ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÄÉÓÐÌÅÑ.
-.br
-\-3: ÷ÙÞÉÓÌÉÔØ w/h, ÉÓÐÏÌØÚÕÑ ÄÒÕÇÕÀ ÒÁÚÍÅÒÎÏÓÔØ É ÐÒÏÐÏÒÃÉÉ ÏÒÉÇÉÎÁÌØÎÏÇÏ ×ÉÄÅÏ.
-.REss
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IP dsize=800:\-2
-õËÁÚÙ×ÁÅÔ ÒÁÚÒÅÛÅÎÉÅ ÜËÒÁÎÁ, ÒÁ×ÎÏÅ 800x600 ÄÌÑ 4/3 ×ÉÄÅÏ, ÉÌÉ
-800x450 ÄÌÑ 16/9 ×ÉÄÅÏ.
-.RE
-.IPs <aspect\-method>
-éÚÍÅÎÑÅÔ ÛÉÒÉÎÕ É ×ÙÓÏÔÕ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÏÒÉÇÉÎÁÌØÎÙÍÉ ÐÒÏÐÏÒÃÉÑÍÉ.
-.RSss
-\-1: éÇÎÏÒÉÒÏ×ÁÔØ ÏÒÉÇÉÎÁÌØÎÙÅ ÐÒÏÐÏÒÃÉÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
- 0: ïÓÔÁ×ÉÔØ ÐÒÏÐÏÒÃÉÉ ÄÉÓÐÌÅÑ, ÉÓÐÏÌØÚÕÑ <w> É <h> × ËÁÞÅÓÔ×Å ÍÁËÓÉÍÁÌØÎÏÇÏ
- ÒÁÚÒÅÛÅÎÉÑ.
-.br
- 1: ïÓÔÁ×ÉÔØ ÐÒÏÐÏÒÃÉÉ ÄÉÓÐÌÅÑ, ÉÓÐÏÌØÚÕÑ <w> É <h> × ËÁÞÅÓÔ×Å ÍÉÎÉÍÁÌØÎÏÇÏ
- ÒÁÚÒÅÛÅÎÉÑ.
-.br
- 2: ïÓÔÁ×ÉÔØ ÐÒÏÐÏÒÃÉÉ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÑ <w> É <h> × ËÁÞÅÓÔ×Å ÍÁËÓÉÍÁÌØÎÏÇÏ
- ÒÁÚÒÅÛÅÎÉÑ.
-.br
- 3: ïÓÔÁ×ÉÔØ ÐÒÏÐÏÒÃÉÉ ×ÉÄÅÏ, ÉÓÐÏÌØÚÕÑ <w> É <h> × ËÁÞÅÓÔ×Å ÍÉÎÉÍÁÌØÎÏÇÏ
- ÒÁÚÒÅÛÅÎÉÑ.
-.REss
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IP dsize=800:600:0
-ïÐÒÅÄÅÌÑÅÔ ÒÁÚÒÅÛÅÎÉÅ ÄÉÓÐÌÅÑ ÒÁ×ÎÙÍ ÍÁËÓÉÍÕÍ 800x600 ÉÌÉ ÍÅÎØÛÅ ÐÒÉ
-ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÓÏÈÒÁÎÉÔØ ÐÒÏÐÏÒÃÉÉ.
-.RE
-.PD 1
-.IPs "<r>\ \ "
-ïËÒÕÇÌÑÅÔ ÒÁÚÍÅÒ ÔÁËÉÍ ÏÂÒÁÚÏÍ, ÞÔÏÂÙ É ÛÉÒÉÎÁ É ×ÙÓÏÔÁ ÄÅÌÉÌÉÓØ ÎÁ <r> (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-.RE
-.
-.TP
-.B "yuy2\ \ \ "
-ðÒÉÎÕÄÉÔÅÌØÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÏÇÒÁÍÍÎÏÇÏ
-ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÉÚ YV12/\:I420/\:422P × YUY2.
-ðÏÌÅÚÎÏ ÄÌÑ ×ÉÄÅÏËÁÒÔ Ó ÍÅÄÌÅÎÎÏÊ ÐÏÄÄÅÒÖËÏÊ YV12, ÎÏ ÂÙÓÔÒÏÊ YUY2.
-.
-.TP
-.B "yvu9\ \ \ "
-ðÒÉÎÕÄÉÔÅÌØÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÏÇÒÁÍÍÎÏÇÏ
-ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÉÚ YVU9 × YV12 ÐÒÏÓÔÒÁÎÓÔ×Ï Ã×ÅÔÏ×.
-õÓÔÁÒÅÌÏ × Ó×ÑÚÉ Ó ÐÏÑ×ÌÅÎÉÅÍ ÍÏÄÕÌÑ ÐÒÏÇÒÁÍÍÎÏÇÏ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ.
-.
-.TP
-.B "yuvcsp\ "
-úÁÖÉÍÁÅÔ ÚÎÁÞÅÎÉÑ YUV Ã×ÅÔÁ × ÄÉÁÐÁÚÏÎ CCIR 601 ÂÅÚ ÒÅÁÌØÎÏÇÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ.
-.
-.TP
-.B rgb2bgr[=swap]
-ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÐÒÏÓÔÒÁÎÓÔ×Á Ã×ÅÔÏ× RGB 24/32 <\-> BGR 24/32.
-.PD 0
-.RSs
-.IPs "swap\ "
-ôÁËÖÅ ÍÅÎÑÀÔÓÑ ÍÅÓÔÁÍÉ R <\-> B.
-.RE
-.PD 1
-.
-.TP
-.B palette
-ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÐÒÏÓÔÒÁÎÓÔ×Á Ã×ÅÔÏ× RGB/BGR 8 \-> 15/16/24/32bpp
-Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÁÌÉÔÒÙ.
-.
-.TP
-.B format[=fourcc]
-ïÇÒÁÎÉÞÉ×ÁÅÔ ÐÒÏÓÔÒÁÎÓÔ×Ï Ã×ÅÔÏ× ÄÌÑ ÓÌÅÄÕÀÝÅÇÏ ÆÉÌØÔÒÁ ÂÅÚ ÏÓÕÝÅÓÔ×ÌÅÎÉÑ
-ËÁËÏÇÏ\-ÌÉÂÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ. éÓÐÏÌØÚÕÊÔÅ ÓÏ×ÍÅÓÔÎÏ Ó ÆÉÌØÔÒÏÍ scale
-ÄÌÑ ÒÅÁÌØÎÏÇÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ.
-.br
-.I úáíåþáîéå:
-óÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÆÏÒÍÁÔÏ× ÓÍÏÔÒÉÔÅ ÐÒÉ ÐÏÍÏÝÉ format=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-ÎÁÚ×ÁÎÉÅ ÆÏÒÍÁÔÁ, ÎÁÐÒÉÍÅÒ rgb15, bgr24, yv12 É ÄÒÕÇÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: yuy2)
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-ïÇÒÁÎÉÞÉ×ÁÅÔ ÐÒÏÓÔÒÁÎÓÔ×Ï Ã×ÅÔÏ× ÄÌÑ ÓÌÅÄÕÀÝÅÇÏ ÆÉÌØÔÒÁ ÂÅÚ ÏÓÕÝÅÓÔ×ÌÅÎÉÑ
-ËÁËÏÇÏ\-ÌÉÂÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ. ÷ ÏÔÌÉÞÉÅ ÏÔ ÆÉÌØÔÒÁ format, ÏÎ ÐÏÚ×ÏÌÑÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÌÀÂÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï Ã×ÅÔÏ×
-.B ËÒÏÍÅ
-ÕËÁÚÁÎÎÏÇÏ ×ÁÍÉ.
-.br
-.I úáíåþáîéå:
-óÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÆÏÒÍÁÔÏ× ÓÍÏÔÒÉÔÅ ÐÒÉ ÐÏÍÏÝÉ noformat=fmt=help.
-.PD 0
-.RSs
-.IPs <fourcc>
-ÎÁÚ×ÁÎÉÅ ÆÏÒÍÁÔÁ, ÎÁÐÒÉÍÅÒ rgb15, bgr24, yv12 É ÄÒÕÇÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: yv12)
-.RE
-.PD 1
-.
-.TP
-.B pp[=filter1[:option1[:option2...]]/[\-]filter2...] (also see \-pphelp)
-úÁÄÅÊÓÔ×ÕÅÔ ÕËÁÚÁÎÎÕÀ ÃÅÐÏÞËÕ ÐÏÄÆÉÌØÔÒÏ× ÐÏÓÔÏÂÒÁÂÏÔËÉ.
-ðÏÄÆÉÌØÔÒÙ ÄÏÌÖÎÙ ÂÙÔØ ÏÔÄÅÌÅÎÙ '/', É ÍÏÇÕÔ ÂÙÔØ ÏÔËÌÀÞÅÎÙ ÕËÁÚÁÎÉÅÍ
-ÐÅÒÅÄ ÎÉÍÉ '\-'.
-ëÁÖÄÙÊ ÐÏÄÆÉÌØÔÒ É ÎÅËÏÔÏÒÙÅ ÏÐÃÉÉ ÉÍÅÀÔ ËÁË ËÏÒÏÔËÏÅ, ÔÁË É ÄÌÉÎÎÏÅ
-ÎÁÚ×ÁÎÉÅ, ËÏÔÏÒÙÅ ÐÏÌÎÏÓÔØÀ ×ÚÁÉÍÏÚÁÍÅÎÑÅÍÙ, Ô.Å.\& dr/dering \- ÜÔÏ
-ÏÄÎÏ É ÔÏ ÖÅ.
-.\" FIXME is translation correct? scope = ÇÒÁÎÉÃÙ ÄÅÊÓÔ×ÉÑ
-÷ÓÅ ÐÏÄÆÉÌØÔÒÙ ÉÍÅÀÔ ÏÂÝÉÅ ÏÐÃÉÉ, ÏÐÒÅÄÅÌÑÀÝÉÅ ÇÒÁÎÉÃÙ ÄÅÊÓÔ×ÉÑ:
-.PD 0
-.RSs
-.IPs a/autoq
-á×ÔÏÍÁÔÉÞÅÓËÉ ÏÔËÌÀÞÁÅÔ ÐÏÄÆÉÌØÔÒ, ÅÓÌÉ CPU ÓÌÉÛËÏÍ ÍÅÄÌÅÎÎÙÊ.
-.IPs c/chrom
-õËÁÚÙ×ÁÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØ ÏÂÒÁÂÏÔËÕ × ÔÏÍ ÞÉÓÌÅ É Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs y/nochrom
-õËÁÚÙ×ÁÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØ ÏÂÒÁÂÏÔËÕ ÔÏÌØËÏ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ.
-.IPs n/noluma
-õËÁÚÙ×ÁÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØ ÏÂÒÁÂÏÔËÕ ÔÏÌØËÏ Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ (ÂÅÚ ÑÒËÏÓÔÏÊ).
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I úáíåþáîéå:
-\-pphelp ×Ù×ÏÄÉÔ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÐÏÄÆÉÌØÔÒÏ×.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÐÏÄÆÉÌØÔÒÙ:
-.RE
-.RSs
-.IPs hb/hdeblock[:difference[:flatness]]
-ÆÉÌØÔÒ ÇÏÒÉÚÏÎÔÁÌØÎÏÇÏ deblocking'Á
-.RSss
-<difference>: æÁËÔÏÒ ÒÁÚÌÉÞÉÑ, ÇÄÅ ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 32).
-.br
-<flatness>: ðÏÒÏÇ ÔÏÌÝÉÎÙ, ÇÄÅ ÍÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 39).
-.REss
-.IPs vb/vdeblock[:difference[:flatness]]
-ÆÉÌØÔÒ ×ÅÒÔÉËÁÌØÎÏÇÏ deblocking'Á
-.RSss
-<difference>: æÁËÔÏÒ ÒÁÚÌÉÞÉÑ, ÇÄÅ ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 32).
-.br
-<flatness>: ðÏÒÏÇ ÔÏÌÝÉÎÙ, ÇÄÅ ÍÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 39).
-.REss
-.IPs ha/hadeblock[:difference[:flatness]]
-ÆÉÌØÔÒ ÔÝÁÔÅÌØÎÏÇÏ ÇÏÒÉÚÏÎÔÁÌØÎÏÇÏ deblocking'Á
-.RSss
-<difference>: æÁËÔÏÒ ÒÁÚÌÉÞÉÑ, ÇÄÅ ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 32).
-.br
-<flatness>: ðÏÒÏÇ ÔÏÌÝÉÎÙ, ÇÄÅ ÍÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 39).
-.REss
-.IPs va/vadeblock[:difference[:flatness]]
-ÆÉÌØÔÒ ÔÝÁÔÅÌØÎÏÇÏ ×ÅÒÔÉËÁÌØÎÏÇÏ deblocking'Á
-.RSss
-<difference>: æÁËÔÏÒ ÒÁÚÌÉÞÉÑ, ÇÄÅ ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 32).
-.br
-<flatness>: ðÏÒÏÇ ÔÏÌÝÉÎÙ, ÇÄÅ ÍÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÂÏÌÅÅ ÓÉÌØÎÙÊ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: 39).
-.REss
-.sp 1
-æÉÌØÔÒÙ ÇÏÒÉÚÏÎÔÁÌØÎÏÇÏ É ×ÅÒÔÉËÁÌØÎÏÇÏ deblocking'Á
-ÉÓÐÏÌØÚÕÀÔ ÏÂÝÉÅ ÚÎÁÞÅÎÉÑ difference É flatness, ÔÁË ÞÔÏ
-×Ù ÎÅ ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÒÁÚÌÉÞÎÙÅ ÇÏÒÉÚÏÎÔÁÌØÎÙÅ É ×ÅÒÔÉËÁÌØÎÙÅ
-ÐÏÒÏÇÉ.
-.sp 1
-.IPs h1/x1hdeblock
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÆÉÌØÔÒ ÇÏÒÉÚÏÎÔÁÌØÎÏÇÏ deblocking'Á
-.IPs v1/x1vdeblock
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÆÉÌØÔÒ ×ÅÒÔÉËÁÌØÎÏÇÏ deblocking'Á
-.IPs dr/dering
-ÆÉÌØÔÒ ÕÄÁÌÅÎÉÑ ÏÒÅÏÌÁ ÎÁ ÇÒÁÎÉÃÅ Ã×ÅÔÏ×
-.IPs tn/tmpnoise[:ÐÏÒÏÇ[:ÐÏÒÏÇ2[:ÐÏÒÏÇ3]]]
-×ÒÅÍÅÎÎÏÊ ÆÉÌØÔÒ ÛÕÍÏÐÏÄÁ×ÌÅÎÉÑ
-.RSss
-<ÐÏÒÏÇ1>: ÂÏÌØÛÅ \-> ÓÉÌØÎÅÅ ÆÉÌØÔÒÁÃÉÑ
-.br
-<ÐÏÒÏÇ2>: ÂÏÌØÛÅ \-> ÓÉÌØÎÅÅ ÆÉÌØÔÒÁÃÉÑ
-.br
-<ÐÏÒÏÇ3>: ÂÏÌØÛÅ \-> ÓÉÌØÎÅÅ ÆÉÌØÔÒÁÃÉÑ
-.REss
-.IPs al/autolevels[:f/fullyrange]
-Á×ÔÏÍÁÔÉÞÅÓËÁÑ ËÏÒÒÅËÃÉÑ ÑÒËÏÓÔÉ / ËÏÎÔÒÁÓÔÎÏÓÔÉ
-.RSss
-f/fullyrange: òÁÓÔÑÇÉ×ÁÅÔ ÑÒËÏÓÔÎÕÀ ËÏÍÐÏÎÅÎÔÕ ÄÏ (0\-255).
-.REss
-.IPs lb/linblenddeint
-ìÉÎÅÊÎÙÊ ÆÉÌØÔÒ ÄÅÉÎÔÅÒÓÅÊÓÉÎÇÁ blend, ÕÓÔÒÁÎÑÀÝÉÊ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔØ ÚÁÄÁÎÎÏÇÏ
-ÂÌÏËÁ ÆÉÌØÔÒÕÑ ×ÓÅ ÌÉÎÉÉ ÆÉÌØÔÒÏÍ (1 2 1).
-.IPs li/linipoldeint
-ìÉÎÅÊÎÙÊ ÆÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ ÉÎÔÅÒÐÏÌÑÃÉÅÊ, ÕÓÔÒÁÎÑÀÝÉÊ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔØ ÚÁÄÁÎÎÏÇÏ
-ÂÌÏËÁ ÌÉÎÅÊÎÏ ÉÎÔÅÒÐÏÌÉÒÕÑ ËÁÖÄÕÀ ×ÔÏÒÕÀ ÌÉÎÉÀ.
-.IPs ci/cubicipoldeint
-ëÕÂÉÞÅÓËÉÊ ÆÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ ÉÎÔÅÒÐÏÌÑÃÉÅÊ, ÕÓÔÒÁÎÑÀÝÉÊ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔØ ÚÁÄÁÎÎÏÇÏ
-ÂÌÏËÁ ËÕÂÉÞÅÓËÉ ÉÎÔÅÒÐÏÌÉÒÕÑ ËÁÖÄÕÀ ×ÔÏÒÕÀ ÌÉÎÉÀ.
-.IPs md/mediandeint
-æÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ median, ÕÓÔÒÁÎÑÀÝÉÊ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔØ ÚÁÄÁÎÎÏÇÏ
-ÂÌÏËÁ, ÐÒÉÍÅÎÑÑ ÆÉÌØÔÒ median Ë ËÁÖÄÏÊ ×ÔÏÒÏÊ ÌÉÎÉÉ.
-.IPs fd/ffmpegdeint
-æÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ FFmpeg, ÕÓÔÒÁÎÑÀÝÉÊ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔØ ÚÁÄÁÎÎÏÇÏ
-ÂÌÏËÁ ÆÉÌØÔÒÕÑ ËÁÖÄÕÀ ×ÔÏÒÕÀ ÌÉÎÉÉ ÆÉÌØÔÒÏÍ (\-1 4 2 4 \-1).
-.IPs l5/lowpass5
-÷ÅÒÔÉËÁÌØÎÏ ÐÒÉÍÅÎÑÅÍÙÊ ÎÉÚËÏÞÁÓÔÏÔÎÙÊ ÆÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ FIR,
-ÕÓÔÒÁÎÑÀÝÉÊ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔØ ÚÁÄÁÎÎÏÇÏ, ÆÉÌØÔÒÕÑ ×ÓÅ ÌÉÎÉÉ
-ÆÉÌØÔÒÏÍ (\-1 2 6 2 \-1).
-.IPs fq/forceQuant[:quantizer]
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÔÁÂÌÉÃÕ Ë×ÁÎÔÏ×ÁÎÉÑ ÉÓÔÏÞÎÉËÁ ÕËÁÚÁÎÎÙÍ ×ÁÍÉ ÐÏÓÔÏÑÎÎÙÍ
-Ë×ÁÎÔÏ×ÁÔÅÌÅÍ.
-.RSss
-<quantizer>: ÉÓÐÏÌØÚÕÅÍÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ
-.REss
-.IPs de/default
-ËÏÍÂÉÎÁÃÉÑ pp ÆÉÌØÔÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ (hb:a,vb:a,dr:a)
-.IPs fa/fast
-ÂÙÓÔÒÁÑ ËÏÍÂÉÎÁÃÉÑ pp ÆÉÌØÔÒÏ× (h1:a,v1:a,dr:a)
-.IPs "ac\ \ \ "
-high quality pp filter combination (ha:a:128:7,va:a,dr:a)
-×ÙÓÏËÏËÁÞÅÓÔ×ÅÎÎÁÑ ËÏÍÂÉÎÁÃÉÑ pp ÆÉÌØÔÒÏ× (ha:a:128:7,va:a,dr:a)
-.RE
-.RS
-.sp 1
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-ÇÏÒÉÚÏÎÔÁÌØÎÙÊ É ×ÅÒÔÉËÁÌØÎÙÊ deblocking, ÕÓÔÒÁÎÅÎÉÅ ÏÒÅÏÌÁ É
-Á×ÔÏÍÁÔÉÞÅÓËÁÑ ËÏÒÒÅËÃÉÑ ÑÒËÏÓÔÉ/\:ËÏÎÔÒÁÓÔÁ
-.IPs "\-vf pp=de/\-al"
-ÆÉÌØÔÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÅÚ ËÏÒÒÅËÃÉÉ ÑÒËÏÓÔÉ/\:ËÏÎÔÒÁÓÔÁ
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-.\" FIXME termporal denoiser = ×ÒÅÍÅÎÎÏÅ ÕÓÔÒÁÎÅÎÉÅ ÛÕÍÁ
-úÁÄÅÊÓÔ×ÕÅÔ ÆÉÌØÔÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ É ×ÒÅÍÅÎÎÏÅ ÕÓÔÒÁÎÅÎÉÅ ÛÕÍÁ.
-.IPs "\-vf pp=hb:y/vb:a"
-çÏÒÉÚÏÎÔÁÌØÎÙÊ deblocking ÔÏÌØËÏ ÄÌÑ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ, É
-Á×ÔÏÍÁÔÉÞÅÓËÉ ×ËÌÀÞÁÅÔ ÉÌÉ ×ÙËÌÀÞÁÅÔ ×ÅÒÔÉËÁÌØÎÙÊ deblocking
-× ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÚÁÇÒÕÖÅÎÎÏÓÔÉ CPU.
-.RE
-.PD 1
-.
-.TP
-.B spp[=ËÁÞÅÓÔ×Ï[:qp[:ÒÅÖÉÍ]]]
-.\" FIXME is translation correct ?
-.\" Simple postprocessing filter that compresses and decompresses the
-.\" image at several (or \- in the case of quality level 6 \- all)
-.\" shifts and averages the results.
-ðÒÏÓÔÏÊ ÆÉÌØÔÒ ÐÏÓÔÏÂÒÁÂÏÔËÉ ÓÖÉÍÁÀÝÉÊ É ÒÁÚÖÉÍÁÀÝÉÊ ÉÚÏÂÒÁÖÅÎÉÅ
-ÎÅÓËÏÌØËÉÍÉ (ÉÌÉ \- × ÓÌÕÞÁÅ ËÁÞÅÓÔ×Á 6 \- ×ÓÅÍÉ) ÓÄ×ÉÇÁÍÉ É
-ÕÓÒÅÄÎÑÀÝÉÊ ÒÅÚÕÌØÔÁÔÙ.
-.RSs
-.IPs <ËÁÞÅÓÔ×Ï>
-0\-6 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 3)
-.IPs "<qp>\ "
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0,
-ÉÓÐÏÌØÚÕÅÔ QP ÉÚ ×ÉÄÅÏ).
-.IPs <ÒÅÖÉÍ>
-0: ÖÅÓÔËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÏÒÏÇÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-1: ÍÑÇËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÏÒÏÇÁ (ÌÕÞÛÅÅ ÕÓÔÒÁÎÅÎÉÅ ÏÒÅÏÌÁ, ÎÏ ÓÉÌØÎÅÅ ÒÁÚÍÙ×ÁÎÉÅ)
-.br
-4: ËÁË 0, ÎÏ ÔÁËÖÅ ÉÓÐÏÌØÚÕÅÔ QP B\-ËÁÄÒÏ× (ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÍÅÒÃÁÎÉÀ)
-.br
-5: ËÁË 1, ÎÏ ÔÁËÖÅ ÉÓÐÏÌØÚÕÅÔ QP B\-ËÁÄÒÏ× (ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÍÅÒÃÁÎÉÀ)
-.RE
-.
-.TP
-.B uspp[=ËÁÞÅÓÔ×Ï[:qp]]
-.\" FIXME is translation correct?
-.\" Ultra simple & slow postprocessing filter that compresses and
-.\" decompresses the image at several (or \- in the case of quality
-.\" level 8 \- all) shifts and averages the results.
-õÌØÔÒÁ ÐÒÏÓÔÏÊ & ÍÅÄÌÅÎÎÙÊ ÆÉÌØÔÒ ÐÏÓÔÏÂÒÁÂÏÔËÉ,
-ÓÖÉÍÁÀÝÉÊ É ÒÁÚÖÉÍÁÀÝÉÊ ÉÚÏÂÒÁÖÅÎÉÅ
-ÎÅÓËÏÌØËÉÍÉ (ÉÌÉ \- × ÓÌÕÞÁÅ ËÁÞÅÓÔ×Á 8 \- ×ÓÅÍÉ) ÓÄ×ÉÇÁÍÉ É
-ÕÓÒÅÄÎÑÀÝÉÊ ÒÅÚÕÌØÔÁÔÙ.
-ïÎ ÏÔÌÉÞÁÅÔÓÑ ÏÔ spp ÔÅÍ, ÞÔÏ uspp ÎÁ ÓÁÍÏÍ ÄÅÌÅ × ËÁÖÄÏÍ
-ÓÌÕÞÁÅ ËÏÄÉÒÕÅÔ & ÄÅËÏÄÉÒÕÅÔ Ó ÐÏÍÏÝØÀ Snow ÉÚ
-libavcodec, × ÔÏ ×ÒÅÍÑ ËÁË spp ÉÓÐÏÌØÚÕÅÔ ÔÏÌØËÏ
-×ÓÔÒÏÅÎÎÙÊ ÕÐÒÏÝÅÎÎÙÊ 8x8 DCT, ÐÏÈÏÖÉÊ ÎÁ MJPEG.
-.RSs
-.IPs <ËÁÞÅÓÔ×Ï>
-0\-8 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 3)
-.IPs "<qp>\ "
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0,
-ÉÓÐÏÌØÚÕÅÔ QP ÉÚ ×ÉÄÅÏ).
-.RE
-.
-.TP
-.B fspp[=ËÁÞÅÓÔ×Ï[:qp[:ÓÉÌÁ[:bframes]]]]
-ÂÏÌÅÅ ÂÙÓÔÒÁÑ ×ÅÒÓÉÑ ÐÒÏÓÔÏÇÏ ÆÉÌØÔÒÁ ÐÏÓÔÏÂÒÁÂÏÔËÉ
-.RSs
-.IPs <ËÁÞÅÓÔ×Ï>
-4\-5 (ÔÏÖÅ, ÞÔÏ É Õ spp; ÐÏ ÕÍÏÌÞÁÎÉÀ: 4)
-.IPs "<qp>\ "
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0,
-ÉÓÐÏÌØÚÕÅÔ QP ÉÚ ×ÉÄÅÏ).
-.IPs <\-15\-32>
-óÉÌÁ ÆÉÌØÔÒÁ, ÍÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ ÂÏÌØÛÕÀ ÄÅÔÁÌÉÚÁÃÉÀ, ÎÏ ÔÁËÖÅ
-ÂÏÌØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÉÓËÁÖÅÎÉÊ, × ÔÏ ×ÒÅÍÑ ËÁË ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÄÅÌÁÀÔ
-ÉÚÏÂÒÁÖÅÎÉÅ ÂÏÌÅÅ ÇÌÁÄËÉÍ, ÎÏ ÒÁÚÍÙÔÙÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ:
-0 \- PSNR ÏÐÔÉÍÁÌØÎÏ).
-.IPs <bframes>
-0: ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ QP ÉÚ B\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.br
-1: ÉÓÐÏÌØÚÏ×ÁÔØ QP ÉÚ B\-ËÁÄÒÏ× ÔÏÖÅ (ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÍÅÒÃÁÎÉÀ)
-.RE
-.
-.TP
-.B pp7[=qp[:ÒÅÖÉÍ]]
-÷ÁÒÉÁÎÔ spp ÆÉÌØÔÒÁ, ÐÏÈÏÖÉÊ ÎÁ spp=6 Ó 7 ÔÏÞÅÞÎÙÍ DCT, ÇÄÅ ÐÏÓÌÅ
-IDCT ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ ÃÅÎÔÒÁÌØÎÙÊ ÏÂÒÁÚÅÃ.
-.RSs
-.IPs <qp>
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0,
-ÉÓÐÏÌØÚÕÅÔ QP ÉÚ ×ÉÄÅÏ).
-.IPs <ÒÅÖÉÍ>
-0: ÖÅÓÔËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÏÒÏÇÁ
-.br
-1: ÍÑÇËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÏÒÏÇÁ (ÌÕÞÛÅÅ ÕÓÔÒÁÎÅÎÉÅ ÏÒÅÏÌÁ, ÎÏ ÓÉÌØÎÅÅ ÒÁÚÍÙ×ÁÎÉÅ)
-.br
-2: ÓÒÅÄÎÅÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÏÒÏÇÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ, ÌÕÞÛÉÅ ÒÅÚÕÌØÔÁÔÙ)
-.RE
-.
-.TP
-.B qp=×ÙÒÁÖÅÎÉÅ
-ÆÉÌØÔÒ ÉÚÍÅÎÅÎÉÑ ÐÁÒÁÍÅÔÒÁ Ë×ÁÎÔÏ×ÁÎÉÑ (QP)
-.RSs
-.IPs <×ÙÒÁÖÅÎÉÅ>
-ÎÅËÏÔÏÒÏÅ ×ÙÒÁÖÅÎÉÅ, ÎÁÐÏÄÏÂÉÅ "2+2*sin(PI*qp)"
-.RE
-.
-.TP
-.B "test\ \ \ "
-çÅÎÅÒÉÒÕÅÔ ÒÁÚÌÉÞÎÙÅ ÔÅÓÔÏ×ÙÅ ÛÁÂÌÏÎÙ.
-.
-.TP
-.B geq=×ÙÒÁÖÅÎÉÅ
-ÆÉÌØÔÒ ÉÚÍÅÎÅÎÉÑ ÏÂÝÅÊ ÆÏÒÍÕÌÙ
-.RSs
-.IPs <×ÙÒÁÖÅÎÉÅ>
-îÅËÏÔÏÒÏÅ ×ÙÒÁÖÅÎÉÅ, ÎÁÐÒÉÍÅÒ 'p(W\-X\\,Y)' ÄÌÑ ÚÅÒËÁÌØÎÏÇÏ ÏÔÏÂÒÁÖÅÎÉÑ ÐÏ
-ÇÏÒÉÚÏÎÔÁÌÉ. äÌÑ ÕÌÕÞÛÅÎÉÑ ÞÉÔÁÅÍÏÓÔÉ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÂÅÌÙ.
-÷ÏÔ ÓÐÉÓÏË ËÏÎÓÔÁÎÔ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ × ×ÙÒÁÖÅÎÉÉ:
-.RSss
-PI: ÞÉÓÌÏ pi
-.br
-E: ÞÉÓÌÏ e
-.br
-X / Y: ËÏÏÒÄÉÎÁÔÙ ÔÅËÕÝÅÇÏ ÓÜÍÐÌÁ
-.br
-W / H: ÛÉÒÉÎÁ É ×ÙÓÏÔÁ ÉÚÏÂÒÁÖÅÎÉÑ
-.br
-.\" FIXME is translation correct?
-.\" width/height scale depending on the currently filtered plane
-SW / SH: ÍÁÓÛÔÁ ÐÏ ÛÉÒÉÎÅ/×ÙÓÏÔÅ, ÚÁ×ÉÓÑÝÉÊ ÏÔ ÏÂÒÁÂÁÔÙ×ÁÅÍÏÊ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ
-ÐÌÏÓËÏÓÔÉ [plane], ÎÁÐÒÉÍÅÒ 1,1 É 0.5,0.5 ÄÌÑ YUV 4:2:0.
-.br
-p(x,y): ×ÏÚ×ÒÁÝÁÅÔ ÚÎÁÞÅÎÉÅ ÐÉËÓÅÌÁ × ÐÏÚÉÃÉÉ x/y ÔÅËÕÝÅÊ ÐÌÏÓËÏÓÔÉ [plane].
-.REss
-.RE
-.
-.TP
-.B rgbtest[=ÛÉÒÉÎÁ:×ÙÓÏÔÁ]
-çÅÎÅÒÉÒÕÅÔ ÛÁÂÌÏÎ ÔÅÓÔÉÒÏ×ÁÎÉÑ RGB, ÐÏÌÅÚÎÙÊ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÒÏÂÌÅÍ
-Ó RGB É BGR.
-÷Ù ÄÏÌÖÎÙ ×ÉÄÅÔØ ËÒÁÓÎÙÅ, ÚÅÌÅÎÙÅ É ÓÉÎÉÅ ÐÏÌÏÓÙ ÏÔ ×ÅÒÈÁ ÄÏ ÎÉÚÁ.
-.RSs
-.IPs <ÛÉÒÉÎÁ>
-öÅÌÁÅÍÁÑ ÛÉÒÉÎÁ ÓÇÅÎÅÒÉÒÏ×ÁÎÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-0 ÏÚÎÁÞÁÅÔ ÛÉÒÉÎÕ ÉÓÈÏÄÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ.
-.br
-.IPs <×ÙÓÏÔÁ>
-öÅÌÁÅÍÁÑ ×ÙÓÏÔÁ ÓÇÅÎÅÒÉÒÏ×ÁÎÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-0 ÏÚÎÁÞÁÅÔ ×ÙÓÏÔÕ ÉÓÈÏÄÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ.
-.RE
-.
-.TP
-.B lavc[=ËÁÞÅÓÔ×Ï:fps]
-âÙÓÔÒÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÉÚ YV12 × MPEG\-1 Ó ÐÏÍÏÝØÀ libavcodec ÄÌÑ
-ÉÓÐÏÌØÚÏ×ÁÎÉÑ Ó DVB/\:DXR3/\:IVTV/\:V4L2.
-.RSs
-.IPs <ËÁÞÅÓÔ×Ï>
-1\-31: ÆÉËÓÉÒÏ×ÁÎÎÙÊ qscale
-.br
-32\-: ÆÉËÓÉÒÏ×ÁÎÎÙÊ ÂÉÔÐÏÔÏË × ËÉÌÏÂÉÔÁÈ
-.IPs <fps>
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÙÈÏÄÎÏÊ fps (×ÅÝÅÓÔ×ÅÎÎÏÅ ÞÉÓÌÏ)
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 0, ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÁ ÏÓÎÏ×Å ×ÙÓÏÔÙ)
-.RE
-.
-.TP
-.B dvbscale[=ÐÒÏÐÏÒÃÉÉ]
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÏÐÔÉÍÁÌØÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ ÄÌÑ DVB ËÁÒÔ,
-ÁÐÐÁÒÁÔÎÏÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ ÐÏ ÏÓÉ x É ÐÒÏÇÒÁÍÍÎÙÊ ÒÁÓÞÅÔ ÍÁÓÛÔÁÂÁ ÐÏ ÏÓÉ y
-ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÐÒÏÐÏÒÃÉÊ. éÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ × ËÏÍÂÉÎÁÃÉÉ Ó expand É scale.
-.RSs
-.IPs <ÐÒÏÐÏÒÃÉÉ>
-ëÏÎÔÒÏÌÉÒÕÅÔ ËÏÜÆÆÉÃÉÅÎÔ ÐÒÏÐÏÒÃÉÊ, ×ÙÞÉÓÌÑÊÔÅ ËÁË DVB_HEIGHT*ASPECTRATIO (ÐÏ ÕÍÏÌÞÁÎÉÀ:
-576*4/3=768), ÄÌÑ 16:9 TV ÕÓÔÁÎÁ×ÌÉ×ÁÊÔÅ ÅÇÏ × 576*(16/9)=1024.
-.RE
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-FIXME: Explain what this does.
-.RE
-.PD 1
-.
-.TP
-.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-äÏÂÁ×ÌÑÅÔ ÛÕÍ.
-.PD 0
-.RSs
-.IPs <0\-100>
-ÛÕÍ × ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÅ
-.IPs <0\-100>
-ÛÕÍ × Ã×ÅÔÏ×ÏÊ ËÏÍÐÏÎÅÎÔÅ
-.IPs u
-ÏÄÎÏÏÂÒÁÚÎÙÊ ÛÕÍ (ÄÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ ÇÁÕÓÓÏ×)
-.IPs t
-.\" FIXME termporal noise
-×ÒÅÍÅÎÎÏÊ ÛÕÍ (ÏÂÒÁÚÅÃ ÛÕÍÁ ÍÅÎÑÅÔÓÑ ÍÅÖÄÕ ËÁÄÒÁÍÉ)
-.IPs a
-.\" FIXME termporal noise
-ÕÓÒÅÄÎÅÎÎÙÊ ×ÒÅÍÅÎÎÏÊ ÛÕÍ (ÂÏÌÅÅ ÇÌÁÄËÏ, ÎÏ ÍÅÄÌÅÎÎÅÅ)
-.IPs h
-×ÙÓÏËÏÅ ËÁÞÅÓÔ×Ï (ÎÅÍÎÏÇÏ ÌÕÞÛÅ ×ÙÇÌÑÄÉÔ, ÎÅÍÎÏÇÏ ÍÅÄÌÅÎÎÅÅ)
-.IPs p
-ÓÍÅÛÉ×ÁÎÉÅ ÓÌÕÞÁÊÎÙÈ ÛÕÍÏ× Ó (ÐÏÞÔÉ)ÒÅÇÕÌÑÒÎÙÍ ÏÂÒÁÚÃÏÍ
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-üÔÏÔ ÆÉÌØÔÒ ÎÁÃÅÌÅÎ ÎÁ ÕÍÅÎØÛÅÎÉÅ ÛÕÍÁ ÉÚÏÂÒÁÖÅÎÉÑ, ×ÙÄÁ×ÁÑ ÓÇÌÁÖÅÎÎÕÀ
-ËÁÒÔÉÎËÕ É ÄÅÌÁÑ ÎÅÐÏÄ×ÉÖÎÙÅ ÉÚÏÂÒÁÖÅÎÉÑ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÅÐÏÄ×ÉÖÎÙÍÉ
-(üÔÏ ÄÏÌÖÎÏ ÕÌÕÞÛÉÔØ ÓÖÉÍÁÅÍÏÓÔØ.).
-.PD 0
-.RSs
-.IPs <luma_spatial>
-.\" FIXME spatial luma strength
-ðÒÏÓÔÒÁÎÓÔ×ÅÎÎÁÑ ÕÓÔÏÊÞÉ×ÏÓÔØ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 4)
-.IPs <chroma_spatial>
-.\" FIXME spatial chroma strength
-ðÒÏÓÔÒÁÎÓÔ×ÅÎÎÁÑ ÕÓÔÏÊÞÉ×ÏÓÔØ Ã×ÅÔÏ×ÏÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 3)
-.IPs <luma_tmp>
-×ÒÅÍÅÎÎÁÑ ÕÓÔÏÊÞÉ×ÏÓÔØ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 6)
-.IPs <chroma_tmp>
-×ÒÅÍÅÎÎÁÑ ÕÓÔÏÊÞÉ×ÏÓÔØ Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: luma_tmp*chroma_spatial/luma_spatial)
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-÷ÙÓÏËÏÔÏÞÎÁÑ/\:ËÁÞÅÓÔ×ÅÎÎÁÑ ×ÅÒÓÉÑ ÆÉÌØÔÒÁ denoise3d.
-ðÁÒÁÍÅÔÒÙ É ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÁËÏÅ ÖÅ.
-.
-.TP
-.B ow[=depth[:luma_strength[:chroma_strength]]]
-ðÏÄÁ×ÉÔÅÌØ ÛÕÍÁ Overcomplete Wavelet.
-.PD 0
-.RSs
-.IPs <depth>
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ depth ÂÕÄÕÔ ÓÉÌØÎÅÅ ÐÏÄÁ×ÌÑÔØ ÛÕÍÙ ÎÉÚËÏÞÁÓÔÏÔÎÙÈ ËÏÍÐÏÎÅÎÔ,
-ÎÏ ÚÁÍÅÄÌÑÔ ÒÁÂÏÔÕ ÆÉÌØÔÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 8).
-.IPs <luma_strength>
-ÑÒËÏÓÔÎÁÑ ÉÎÔÅÎÓÉ×ÎÏÓÔØ
-.IPs <chroma_strength>
-Ã×ÅÔÎÏÓÔÎÁÑ ÉÎÔÅÎÓÉ×ÎÏÓÔØ
-.RE
-.PD 1
-.
-.TP
-.B eq[=ÑÒËÏÓÔØ:ËÏÎÔÒÁÓÔ] (õóôáòåìï)
-ðÒÏÇÒÁÍÍÎÙÊ ÜË×ÁÌÁÊÚÅÒ Ó ÉÎÔÅÒÁËÔÉ×ÎÙÍ ÕÐÒÁ×ÌÅÎÉÅÍ, ÁÎÁÌÏÇÉÞÎÙÊ ÁÐÐÁÒÁÔÎÏÍÕ,
-ÄÌÑ ËÁÒÔ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÁÐÐÁÒÁÔÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ ÑÒËÏÓÔØÀ É ËÏÎÔÒÁÓÔÏÍ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ c MEncoder, ÌÉÂÏ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÐÌÏÈÏ ÏÃÉÆÒÏ×ÁÎÎÙÈ
-ÆÉÌØÍÏ×, ÌÉÂÏ ÎÅÂÏÌØÛÏÇÏ ÕÍÅÎØÛÅÎÉÑ ËÏÎÔÒÁÓÔÁ ÄÌÑ ÓËÒÙÔÉÑ ÉÓËÁÖÅÎÉÊ É ÐÏÌÕÞÅÎÉÑ
-ÍÅÎØÛÅÇÏ ÂÉÔÐÏÔÏËÁ.
-.PD 0
-.RSs
-.IPs <\-100\-100>
-ÎÁÞÁÌØÎÁÑ ÑÒËÏÓÔØ
-.IPs <\-100\-100>
-ÎÁÞÁÌØÎÁÑ ËÏÎÔÒÁÓÔÎÏÓÔØ
-.RE
-.PD 1
-.
-.TP
-.B eq2[=ÇÁÍÍÁ:ËÏÎÔÒÁÓÔÎÏÓÔØ:ÑÒËÏÓÔØ:ÎÁÓÙÝÅÎÎÏÓÔØ:rg:gg:bg:weight]
-áÌØÔÅÒÎÁÔÉ×ÎÙÊ ÐÒÏÇÒÁÍÍÎÙÊ ÜË×ÁÌÁÊÚÅÒ, ÉÓÐÏÌØÚÕÀÝÉÊ ÔÁÂÌÉÃÙ ÐÏÉÓËÁ (ÏÞÅÎØ ÍÅÄÌÅÎÎÙÊ),
-ÄÏÐÏÌÎÉÔÅÌØÎÏ ÐÏÚ×ÏÌÑÀÝÉÊ ÄÅÌÁÔØ ËÏÒÒÅËÃÉÀ ÇÁÍÍÙ × ÄÏÐÏÌÎÅÎÉÅ Ë ÏÂÙÞÎÙÍ
-ÑÒËÏÓÔÉ É ËÏÎÔÒÁÓÔÎÏÓÔÉ.
-éÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ÏÎ ÉÓÐÏÌØÚÕÅÔ ÔÏÔ ÖÅ MMX ÏÐÔÉÍÉÚÉÒÏ×ÁÎÎÙÊ ËÏÄ, ÞÔÏ
-É \-vf, ÅÓÌÉ ×ÓÅ ÚÎÁÞÅÎÉÑ ÇÁÍÍÙ ÒÁ×ÎÙ 1.0.
-ðÁÒÁÍÅÔÒÙ ÕËÁÚÙ×ÁÀÔÓÑ ËÁË ×ÅÝÅÓÔ×ÅÎÎÙÅ ÞÉÓÌÁ.
-.PD 0
-.RSs
-.IPs <0.1\-10>
-ÎÁÞÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÇÁÍÍÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.IPs <\-2\-2>
-ÎÁÞÁÌØÎÁÑ ËÏÎÔÒÁÓÔÎÏÓÔØ, ÇÄÅ ÏÔÒÉÃÁÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÏÚÎÁÞÁÀÔ
-ÉÎ×ÅÒÔÉÒÏ×ÁÎÎÏÅ ÉÚÏÂÒÁÖÅÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-negative image (default: 1.0)
-.IPs <\-1\-1>
-ÎÁÞÁÌØÎÁÑ ÑÒËÏÓÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0)
-.IPs <0\-3>
-ÎÁÞÁÌØÎÁÑ ÎÁÓÙÝÅÎÎÏÓÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.IPs <0.1\-10>
-ÚÎÁÞÅÎÉÅ ÇÁÍÍÙ ÄÌÑ ËÒÁÓÎÏÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.IPs <0.1\-10>
-ÚÎÁÞÅÎÉÅ ÇÁÍÍÙ ÄÌÑ ÚÅÌÅÎÏÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.IPs <0.1\-10>
-ÚÎÁÞÅÎÉÅ ÇÁÍÍÙ ÄÌÑ ÓÉÎÅÊ ËÏÍÐÏÎÅÎÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.IPs <0\-1>
-ðÁÒÁÍÅÔÒ weight ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÕÍÅÎØÛÅÎÉÑ ÜÆÆÅËÔÁ ×ÙÓÏËÉÈ ÚÎÁÞÅÎÉÊ
-ÇÁÍÍÙ ÎÁ Ó×ÅÔÌÙÈ ÏÂÌÁÓÔÑÈ ÉÚÏÂÒÁÖÅÎÉÑ, Ô.Å.\& ÐÒÅÄÏÔ×ÒÁÝÁÅÔ ÉÈ ÞÒÅÚÍÅÒÎÏÅ
-ÏÓ×ÅÔÌÅÎÉÅ É ÐÒÅ×ÒÁÝÅÎÉÅ × ÐÒÏÓÔÏÊ ÂÅÌÙÊ Ã×ÅÔ.
-úÎÁÞÅÎÉÅ 0.0 Ó×ÏÄÉÔ ÇÁÍÍÁ ËÏÒÒÅËÃÉÀ ÎÁ ÎÅÔ, × ÔÏ ×ÒÅÍÑ ËÁË 1.0 ÐÏÚ×ÏÌÑÅÔ
-ÄÅÊÓÔ×Ï×ÁÔØ ÅÊ × ÐÏÌÎÕÀ ÓÉÌÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0).
-.RE
-.PD 1
-.
-.TP
-.B hue[=hue:saturation]
-ðÒÏÇÒÁÍÍÎÙÊ ÜË×ÁÌÁÊÚÅÒ Ó ÉÎÔÅÒÁËÔÉ×ÎÙÍ ÕÐÒÁ×ÌÅÎÉÅÍ, ÁÎÁÌÏÇÉÞÎÙÊ ÁÐÐÁÒÁÔÎÏÍÕ,
-ÄÌÑ ËÁÒÔ/\:ÄÒÁÊ×ÅÒÏ×, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÁÐÐÁÒÁÔÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ Ã×ÅÔÎÏÓÔØÀ
-É ÎÁÓÙÝÅÎÎÏÓÔØÀ.
-.PD 0
-.RSs
-.IPs <\-180\-180>
-ÎÁÞÁÌØÎÁÑ Ã×ÅÔÎÏÓÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0)
-.IPs <\-100\-100>
-ÎÁÞÁÌØÎÁÑ ÎÁÓÙÝÅÎÎÏÓÔØ, ÇÄÅ ÏÔÒÉÃÁÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÄÁÄÕÔ × ÒÅÚÕÌØÔÁÔÅ
-ÎÅÇÁÔÉ×ÎÕÀ Ã×ÅÔÎÏÓÔÎÕÀ ËÏÍÐÏÎÅÎÔÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0).
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-ðÒÅÏÂÒÁÚÕÅÔ ÐÌÁÎÁÒÎÙÊ YUV 4:2:0 × ÕÐÁËÏ×ÁÎÎÊ 4:2:2 ÐÏÌÏ×ÉÎÎÏÊ ×ÙÓÏÔÙ, ÓÎÉÖÁÀÝÉÊ
-ÞÁÓÔÏÔÕ ÄÉÓËÒÅÔÉÚÁÃÉÉ [downsampling] ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ, ÎÏ ÓÏÈÒÁÎÑÀÝÉÊ ×ÓÅ ÓÜÍÐÌÙ Ã×ÅÔÎÏÓÔÎÏÊ.
-ðÏÌÅÚÎÏ ÄÌÑ ×Ù×ÏÄÁ ÎÁ ÜËÒÁÎÙ Ó ÎÉÚËÉÍ ÒÁÚÒÅÛÅÎÉÅÍ, ËÏÇÄÁ ÁÐÐÁÒÁÔÎÙÊ ÍÏÄÕÌØ
-ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ [downscaling] ÐÌÏÈÏÇÏ ËÁÞÅÓÔ×Á ÉÌÉ ÎÅÄÏÓÔÕÐÅÎ.
-ôÁËÖÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ËÁË ÐÒÉÍÉÔÉ×ÎÙÊ ÍÏÄÕÌØ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ
-ÔÏÌØËÏ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ Ó ÏÞÅÎØ ÍÁÌÅÎØËÏÊ ÎÁÇÒÕÚËÏÊ ÎÁ CPU.
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-ÐÏ ÕÍÏÌÞÁÎÉÀ, halfpack ÕÓÒÅÄÎÑÅÔ ÐÁÒÙ ÌÉÎÉÊ ÐÒÉ ÕÍÅÎØÛÅÎÉÉ ÞÁÓÔÏÔÙ ÄÉÓËÒÅÔÉÚÁÃÉÉ
-[downsampling]. ìÀÂÙÅ ÚÎÁÞÅÎÉÅ, ÏÔÌÉÞÎÙÅ ÏÔ 0 É 1 ÄÁÀÔ ÐÏ×ÅÄÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ (ÕÓÒÅÄÎÅÎÉÅ).
-.RSss
-0: éÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÞÅÔÎÙÅ ÌÉÎÉÉ ÐÒÉ downsampling.
-.br
-1: éÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÎÅÞÅÔÎÙÅ ÌÉÎÉÉ ÐÒÉ downsampling.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=ÒÅÖÉÍ]
-ëÏÇÄÁ ÞÅÒÅÓÓÔÒÏÞÎÏÅ ×ÉÄÅÏ ÓÏÄÅÒÖÉÔÓÑ × ÆÏÒÍÁÔÅ YUV 4:2:0,
-.\" FIXME is translation correct ?
-.\" chroma
-.\" interlacing does not line up properly due to vertical downsampling of
-.\" the chroma channels.
-.\" This filter packs the planar 4:2:0 data into YUY2 (4:2:2) format with
-.\" the chroma lines in their proper locations, so that in any given
-.\" scanline, the luma and chroma data both come from the same field.
-ÉÎÔÅÒÌÅÊÓÉÎÇ Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ ÎÅÐÒÁ×ÉÌØÎÏ ×ÙÓÔÒÁÉ×ÁÅÔ ÌÉÎÉÉ ÐÏ
-ÐÒÉÞÉÎÅ ×ÅÒÔÉËÁÌØÎÏÇÏ downsampling'Á Ã×ÅÔÎÏÓÔÎÙÈ ËÁÎÁÌÏ×.
-üÔÏÔ ÆÉÌØÔÒ ÕÐÁËÏ×Ù×ÁÅÔ ÐÌÁÎÁÒÎÙÅ 4:2:0 ÄÁÎÎÙÅ × YUY2 (4:2:2) ÆÏÒÍÁÔ Ó
-Ã×ÅÔÎÏÓÔÎÙÍÉ ÌÉÎÉÑÍÉ ÎÁ ÉÈ ÐÒÁ×ÉÌØÎÙÈ ÍÅÓÔÁÈ, ÔÁË, ÞÔÏ × ÌÀÂÏÊ
-ÓÔÒÏËÅ ÒÁÓÔÒÁ [scanline] ÄÁÎÎÙÅ Ï ÑÒËÏÓÔÉ É Ã×ÅÔÅ ÂÕÄÕÔ
-ÂÒÁÔØÓÑ ÉÚ ÏÄÎÏÇÏ É ÔÏÇÏ ÖÅ ÐÏÌÑ.
-
-.PD 0
-.RSs
-.IPs <ÒÅÖÉÍ>
-÷ÙÂÉÒÁÅÔ ÒÅÖÉÍ ×ÙÂÏÒËÉ [sampling].
-.RSss
-0: ×ÙÂÏÒËÁ `ÂÌÉÖÁÊÛÉÊ ÓÏÓÅÄÎÉÊ` [nearest\-neighbor sampling], ÂÙÓÔÒÁÑ, ÎÏ ÎÅ×ÅÒÎÁÑ
-.br
-1: ÌÉÎÅÊÎÁÑ ÉÎÔÅÒÐÏÌÑÃÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-.\" FIXME need better translation
-éÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ Ó MEncoder.
-åÓÌÉ ÐÒÉ ËÏÄÉÒÏ×ÁÎÉÉ ÉÓÐÏÌØÚÕÅÔÓÑ harddup, ÔÏ ÄÕÂÌÉÒÕÀÝÉÅÓÑ ËÁÄÒÙ
-ÂÕÄÕÔ ÐÒÉÎÕÄÉÔÅÌØÎÏ ËÏÄÉÒÏ×ÁÔØÓÑ ÎÁ ×ÙÈÏÄÅ.
-üÔÏ ÉÓÐÏÌØÚÕÅÔ ÞÕÔØ ÂÏÌØÛÅ ÍÅÓÔÁ, ÎÏ ÎÅÏÂÈÏÄÉÍÏ ÄÌÑ ×Ù×ÏÄÁ × MPEG ÆÁÊÌÙ,
-ÉÌÉ ÅÓÌÉ ×Ù ÐÏÓÌÅ ËÏÄÉÒÏ×ÁÎÉÑ ÐÌÁÎÉÒÕÅÔÅ ÄÅÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÔØ É
-ÍÕÌØÔÉÐÌÉËÓÉÒÏ×ÁÔØ ÐÏÔÏË.
-åÇÏ ÓÌÅÄÕÅÔ ÒÁÚÍÅÝÁÔØ × ÓÁÍÏÍ ËÏÎÃÅ ÉÌÉ ÐÏÞÔÉ × ÓÁÍÏÍ ËÏÎÃÅ ÃÅÐÏÞËÉ ÆÉÌØÔÒÏ×,
-ÅÓÌÉ Õ ×ÁÓ ÎÅ ÈÏÒÏÛÅÊ ÐÒÉÞÉÎÙ ÄÅÌÁÔØ ÐÏ\-ÄÒÕÇÏÍÕ.
-.
-.TP
-.B softskip
-éÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ Ó MEncoder.
-Softskip ÐÅÒÅÍÅÝÁÅÔ ÜÔÁÐ ËÏÄÉÒÏ×ÁÎÉÑ, ÐÒÏÐÕÓËÁÀÝÉÊ (ÏÔÂÒÁÓÙ×ÁÀÝÉÊ) ËÁÄÒÙ
-ÉÚ ÍÅÓÔÁ ÐÅÒÅÄ ÃÅÐÏÞËÏÊ ÆÉÌØÔÒÏ× × ÎÅËÏÔÏÒÕÀ ÔÏÞËÕ × ÐÒÅÄÅÌÁÈ ÃÅÐÏÞËÉ ÆÉÌØÔÒÏ×.
-üÔÏ ÐÏÚ×ÏÌÑÅÔ ÐÒÁ×ÉÌØÎÏ ÒÁÂÏÔÁÔØ ÆÉÌØÔÒÁÍ, ËÏÔÏÒÙÍ ÔÒÅÂÕÅÔÓÑ ×ÉÄÅÔØ ×ÓÅ
-ËÁÄÒÙ (ÏÂÒÁÔÎÙÊ ÔÅÌÅÓÉÎ, ×ÒÅÍÅÎÎÏÊ ÆÉÌØÔÒ ÛÕÍÏÐÏÄÁ×ÌÅÎÉÑ, É ÄÒ.).
-åÇÏ ÓÌÅÄÕÅÔ ÒÁÚÍÅÝÁÔØ ÐÏÓÌÅ ÆÉÌØÔÒÏ×, ËÏÔÏÒÙÍ ÔÒÅÂÕÅÔÓÑ ×ÉÄÅÔØ ×ÓÅ ËÁÄÒÙ, É
-ÄÏ ÐÏÓÌÅÄÕÀÝÉÈ ÆÉÌØÔÒÏ×, ÉÎÔÅÎÓÉ×ÎÏ ÉÓÐÏÌØÚÕÀÝÉÈ CPU.
-.
-.TP
-.B decimate[=max:hi:lo:frac]
-÷ÙÂÒÁÓÙ×ÁÅÔ ËÁÄÒÙ, ÎÅ ÓÉÌØÎÏ ÏÔÌÉÞÁÀÝÉÅÓÑ ÏÔ ÐÒÅÄÙÄÕÝÉÈ, ÄÌÑ ÐÏÎÉÖÅÎÉÑ ÞÁÓÔÏÔÙ ËÁÄÒÏ×.
-üÔÏÔ ÆÉÌØÔÒ ÇÌÁ×ÎÙÍ ÏÂÒÁÚÏÍ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ Ó ÏÞÅÎØ_ÎÉÚËÉÍ_ÂÉÔÐÏÔÏËÏÍ
-(ÎÁÐÒÉÍÅÒ, ÐÏÔÏËÏ×ÏÅ ×ÅÝÁÎÉÅ ÞÅÒÅÚ ÍÏÄÅÍ), ÎÏ ÔÅÏÒÅÔÉÞÅÓËÉ ÏÎ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
-ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ ÆÉÌØÍÏ× Ó ÎÅ×ÅÒÎÏ ÐÒÏÉÚ×ÅÄÅÎÎÙÍ ÏÂÒÁÔÎÙÍ ÔÅÌÅÓÉÎÏÍ.
-.PD 0
-.RSs
-.IPs <max>
-õËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÏÄÒÑÄ ÉÄÕÝÉÈ ËÁÄÒÏ×, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ
-ÏÔÂÒÏÛÅÎÙ (ÅÓÌÉ ÐÏÌÏÖÉÔÅÌØÎÙÊ), ÉÌÉ ÍÉÎÉÍÁÌØÎÙÊ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ ×ÙÂÒÁÓÙ×ÁÅÍÙÍÉ
-ËÁÄÒÁÍÉ (ÅÓÌÉ ÏÔÒÉÃÁÔÅÌØÎÙÊ).
-.IPs <hi>,<lo>,<frac>
-ëÁÄÒ Ñ×ÌÑÅÔÓÑ ËÁÎÄÉÄÁÔÏÍ ÎÁ ÕÄÁÌÅÎÉÅ, ÅÓÌÉ ÎÅÔ ÎÉ ÏÄÎÏÊ ÏÂÌÁÓÔÉ 8x8,
-ÏÔÌÉÞÁÀÝÅÊÓÑ ÂÏÌÅÅ, ÞÅÍ ÎÁ ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ <hi>, É ÎÅ ÂÏÌÅÅ <frac>
-ÞÁÓÔÉ (1 ÏÚÎÁÞÁÅÔ ×ÓÅ ÉÚÏÂÒÁÖÅÎÉÅ) ÏÔÌÉÞÁÅÔÓÑ ÓÉÌØÎÅÅ, ÞÅÍ ÎÁ
-ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ <lo>.
-úÎÁÞÅÎÉÑ <hi> É <lo> ÕËÁÚÙ×ÁÀÔÓÑ ÄÌÑ ÐÉËÓÅÌØÎÙÈ ÂÌÏËÏ× 8x8 É ÐÒÅÄÓÔÁ×ÌÑÀÔ
-ÓÏÂÏÊ ÒÁÚÌÉÞÉÅ × ÆÁËÔÉÞÅÓËÉÈ ÚÎÁÞÅÎÉÑÈ ÐÉËÓÅÌÏ×,
-ÔÁË ÐÏÒÏÇ 64 ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ 1 ÜÌÅÍÅÎÔÕ Ó ÏÔËÌÏÎÅÎÉÅÍ × ËÁÖÄÏÍ ÐÉËÓÅÌÅ,
-.\" FIXME untranslated
-or the same spread out differently over the block.
-.RE
-.PD 1
-.
-.TP
-.B dint[=sense:level]
-æÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ drop\-deinterlace (dint), ÏÐÒÅÄÅÌÑÅÔ É ×ÙÂÒÁÓÙ×ÁÅÔ ÐÅÒ×ÙÊ ÉÚ ÎÁÂÏÒÁ
-ÞÅÒÅÓÓÔÒÏÞÎÙÈ ×ÉÄÅÏ ËÁÄÒÏ×.
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-ÏÔÎÏÓÉÔÅÌØÎÏÅ ÒÁÚÌÉÞÉÅ ÍÅÖÄÕ ÓÏÓÅÄÎÉÍÉ ÐÉËÓÅÌÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.1)
-.IPs <0.0\-1.0>
-ëÁËÁÑ ÞÁÓÔØ ÉÚÏÂÒÁÖÅÎÉÑ ÄÏÌÖÎÁ ÂÙÔØ ÏÐÒÅÄÅÌÅÎÁ ËÁË ÞÅÒÅÓÓÔÒÏÞÎÁÑ, ÞÔÏÂÙ
-ËÁÄÒ ÂÙÌ ÏÔÂÒÏÛÅÎ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.15).
-.RE
-.PD 1
-.
-.TP
-.B lavcdeint (õóôáòåìï)
-æÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ FFmpeg, ÔÏÔ ÖÅ, ÞÔÏ É \-vf pp=fd
-.
-.TP
-.B kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
-áÄÁÐÔÉ×ÎÙÊ ÑÄÅÒÎÙÊ ÄÅÉÎÔÅÒÌÅÊÓÅÒ äÏÎÁÌØÄÁ çÒÁÆÔÁ (Donald Graft).
-ðÒÏÉÚ×ÏÄÉÔ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ ÞÁÓÔÅÊ ×ÉÄÅÏ, ÅÓÌÉ ÐÒÅ×ÙÛÅÎ ÎÁÓÔÒÁÉ×ÁÅÍÙÊ ÐÏÒÏÇ.
-.PD 0
-.RSs
-.IPs <0\-255>
-thresh (ÐÏ ÕÍÏÌÞÁÎÉÀ: 10)
-.IPs <map>
-.RSss
-0: éÇÎÏÒÉÒÏ×ÁÔØ ÐÉËÓÅÌÙ, ÐÒÅ×ÙÛÁÀÝÉÅ ÐÏÒÏÇ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: òÉÓÏ×ÁÔØ ÐÉËÓÅÌÙ, ÐÒÅ×ÙÛÁÀÝÉÅ ÐÏÒÏÇ, ÂÅÌÙÍ Ã×ÅÔÏÍ.
-.REss
-.IPs <order>
-.RSss
-0: ïÓÔÁ×ÉÔØ ÐÏÌÑ ËÁË ÅÓÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: ðÏÍÅÎÑÔØ ÍÅÓÔÁÍÉ ÐÏÌÑ.
-.REss
-.IPs <sharp>
-.RSss
-0: ïÔËÌÀÞÉÔØ ÄÏÐÏÌÎÉÔÅÌØÎÏÅ Õ×ÅÌÉÞÅÎÉÅ ÒÅÚËÏÓÔÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: ÷ËÌÀÞÉÔØ ÄÏÐÏÌÎÉÔÅÌØÎÏÅ Õ×ÅÌÉÞÅÎÉÅ ÒÅÚËÏÓÔÉ.
-.REss
-.IPs <twoway>
-.RSss
-0: ïÔËÌÀÞÉÔØ ÄÕÐÌÅËÓÎÏÅ [twoway] Õ×ÅÌÉÞÅÎÉÅ ÒÅÚËÏÓÔÉ (default).
-.br
-1: ÷ËÌÀÞÉÔØ ÄÕÐÌÅËÓÎÏÅ [twoway] Õ×ÅÌÉÞÅÎÉÅ ÒÅÚËÏÓÔÉ.
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cWxH:amount[:l|cWxH:amount]]
-ÎÅÒÅÚËÁÑ ÍÁÓËÁ / ÇÁÕÓÓÏ×Ï ÒÁÚÍÙ×ÁÎÉÅ
-.RSs
-.IPs "l\ \ \ \ "
-ðÒÉÍÅÎÉÔØ ÜÆÆÅËÔ Ë ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÅ.
-.IPs "c\ \ \ \ "
-ðÒÉÍÅÎÉÔØ ÜÆÆÅËÔ Ë Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÅ.
-.IPs <width>x<height>
-ÛÉÒÉÎÁ É ×ÙÓÏÔÁ ÍÁÔÒÉÃÙ, ÎÅÞÅÔÎÏÇÏ ÒÁÚÍÅÒÁ × ÏÂÏÉÈ ÎÁÐÒÁ×ÌÅÎÉÑÈ.
-(ÍÉÎ = 3x3, ÍÁËÓ = 13x11 ÉÌÉ 11x13, ÏÂÙÞÎÏ ÞÔÏ\-ÔÏ ÍÅÖÄÕ 3x3 É 7x7)
-.IPs amount
-ïÔÎÏÓÉÔÅÌØÎÁÑ ×ÅÌÉÞÉÎÁ ÒÅÚËÏÓÔÉ/\:ÒÁÚÍÙ×ÁÎÉÑ ÄÏÂÁ×ÌÑÅÍÏÇÏ ÉÚÏÂÒÁÖÅÎÉÀ
-(ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ ÂÕÄÅÔ \-1.5\-1.5).
-.RSss
-<0: ÒÁÚÍÙ×ÁÎÉÅ
-.br
->0: ÒÅÚËÏÓÔØ
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-íÅÎÑÅÔ ÍÅÓÔÁÍÉ U É V ÐÒÏÅËÃÉÉ [planes].
-.
-.TP
-.B il[=d|i][s][:[d|i][s]]
-.\" FIXME probably hard to translate interleave and interlace terms
-.\" FIXME need additional check of translation
-òÁÚÄÅÌÑÅÔ(ÐÅÒÅÍÅÖÁÅÔ) [(de)nterleaves] ÓÔÒÏËÉ.
-ãÅÌØ ÜÔÏÇÏ ÆÉÌØÔÒÁ \- ÄÏÂÁ×ÉÔØ ×ÏÚÍÏÖÎÏÓÔØ ÏÂÒÁÂÏÔËÉ ÐÏÌÅÊ ÞÅÒÅÓÓÔÒÏÞÎÙÈ
-ÉÚÏÂÒÁÖÅÎÉÊ ÂÅÚ ÕÄÁÌÅÎÉÑ ÞÅÒÅÄÏ×ÁÎÉÑ.
-÷Ù ÍÏÖÅÔÅ ÏÂÒÁÂÏÔÁÔØ ×ÁÛ ÞÅÒÅÓÓÔÒÏÞÎÙÊ DVD É ×ÏÓÐÒÏÉÚ×ÅÓÔÉ ÅÇÏ ÎÁ TV ÂÅÚ
-ÎÁÒÕÛÅÎÉÑ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔÉ.
-÷ ÔÏ ×ÒÅÍÑ, ËÁË ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ (Ó ÐÏÍÏÝØÀ ÆÉÌØÔÒÁ ÐÏÓÔÏÂÒÁÂÏÔËÉ) ÎÁ×ÓÅÇÄÁ ÕÄÁÌÑÅÔ
-ÞÅÒÅÓÓÔÒÏÞÎÕÀ ÒÁÚ×ÅÒÔËÕ (ÓÇÌÁÖÉ×ÁÎÉÅÍ, ÕÓÒÅÄÎÅÎÉÅÍ É ÔÁË ÄÁÌÅÅ), ÒÁÚÄÅÌÅÎÉÅ
-[deinterleaving] ÄÅÌÉÔ ËÁÄÒ ÎÁ Ä×Á ÐÏÌÑ (ÔÁËÖÅ ÎÁÚÙ×ÁÅÍÙÅ ÐÏÌÕËÁÄÒÁÍÉ),
-ÐÏÚ×ÏÌÑÑ ×ÁÍ ÏÂÒÁÂÏÔÁÔØ ÉÈ (ÐÒÉÍÅÎÉÔØ Ë ÎÉÍ ÆÉÌØÔÒ) ÎÅÚÁ×ÉÓÉÍÏ, Á ÚÁÔÅÍ
-ÓÎÏ×Á ÏÂßÅÄÉÎÉÔØ.
-.PD 0
-.RSs
-.IPs d
-ÒÁÚÄÅÌÅÎÉÅ [deinterleave] (ÐÏÍÅÝÅÎÉÅ ÏÄÎÏÇÏ ÚÁ ÄÒÕÇÉÍ)
-.IPs i
-ÐÅÒÅÍÅÖÅÎÉÅ [interleave]
-]
-.IPs s
-ÐÏÍÅÎÑÔØ ÍÅÓÔÁÍÉ ÐÏÌÑ (ÐÏÍÅÎÑÔØ ÍÅÓÔÁÍÉ ÞÅÔÎÙÅ É ÎÅÞÅÔÎÙÅ ÓÔÒÏËÉ)
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-.\" FIXME probably hard to translate interleave and interlace terms
-.\" FIXME need additional check of translation
-òÁÚÄÅÌÑÅÔ(ÐÅÒÅÍÅÖÁÅÔ) [(de)nterleaving] ÓÔÒÏËÉ.
-æÉÌØÔÒ ÏÞÅÎØ ÐÏÈÏÖ ÎÁ il ÆÉÌØÔÒ, ÎÏ ÚÎÁÞÉÔÅÌØÎÏ ÂÙÓÔÒÅÅ, ÇÌÁ×ÎÙÊ ÖÅ ÅÇÏ
-ÎÅÄÏÓÔÁÔÏË ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ ÏÎ ÎÅ ×ÓÅÇÄÁ ÒÁÂÏÔÁÅÔ.
-ïÎ ÍÏÖÅÔ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ËÏÍÂÉÎÉÒÕÅÔÓÑ Ó ÄÒÕÇÉÍÉ ÆÉÌØÔÒÁÍÉ,
-ÓÌÕÞÁÊÎÏ ÐÅÒÅÍÅÛÁÔØ ÉÚÏÂÒÁÖÅÎÉÑ, ÔÁË ÞÔÏ ÒÁÄÕÊÔÅÓØ, ÅÓÌÉ ÏÎ
-ÒÁÂÏÔÁÅÔ, ÎÏ ÎÅ ÖÁÌÕÊÔÅÓØ, ÅÓÌÉ Ó ×ÁÛÉÍ ÎÁÂÏÒÏÍ ÆÉÌØÔÒÏ× ÜÔÏ ÎÅ ÔÁË.
-.PD 0
-.RSs
-.IPs d
-òÁÚÄÅÌÉÔØ ÐÏÌÑ, ÐÏÍÅÓÔÉ× ÉÈ ÄÒÕÇ ÚÁ ÄÒÕÇÏÍ.
-.IPs i
-óÎÏ×Á ÏÂßÅÄÉÎÉÔØ ÐÏÌÑ (ÏÂÒÁÔÎÁÑ Ë fil=d ÏÐÅÒÁÃÉÑ).
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-.\" FIXME is translation correct stride = ÉÔÅÒÁÃÉÏÎÎÁÑ
-÷ÙÄÅÌÑÅÔ ÏÔÄÅÌØÎÏÅ ÐÏÌÅ ÉÚ ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ ÉÚÏÂÒÁÖÅÎÉÑ, ÉÓÐÏÌØÚÕÑ
-ÉÔÅÒÁÃÉÏÎÎÕÀ ÁÒÉÆÍÅÔÉËÕ, ÞÔÏÂÙ ÎÅ ÔÒÁÔÉÔØ ×ÒÅÍÑ CPU ÐÏÐÕÓÔÕ.
-îÅÏÂÑÚÁÔÅÌØÎÙÊ ÁÒÇÕÍÅÎÔ n ÕËÁÚÙ×ÁÅÔ ÞÅÔÎÙÅ ÉÌÉ ÎÅÞÅÔÎÙÅ
-ÐÏÌÑ ÉÚ×ÌÅËÁÀÔÓÑ (× ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÏÇÏ, ÞÅÔÎÏÅ n ÉÌÉ ÎÅÞÅÔÎÏÅ).
-.
-.TP
-.B detc[=ÐÅÒÅÍ1=ÚÎÁÞÅÎÉÅ1:ÐÅÒÅÍ2=ÚÎÁÞÅÎÉÅ2:...]
-ðÙÔÁÅÔÓÑ ÏÂÒÁÔÉÔØ 'ÔÅÌÅÓÉÎ' ÏÂÒÁÂÏÔËÕ ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ
-ÞÉÓÔÏÇÏ ÐÒÏÇÒÅÓÓÉ×ÎÏÇÏ ÐÏÔÏËÁ Ó ÞÁÓÔÏÔÏÊ ËÁÄÒÏ× ÆÉÌØÍÁ.
-üÔÏ ÐÅÒ×ÙÊ É ÏÞÅÎØ ÐÒÉÍÉÔÉ×ÎÙÊ ÆÉÌØÔÒ ÏÂÒÁÔÎÏÇÏ ÔÅÌÅÓÉÎÁ,
-ÄÏÂÁ×ÌÅÎÎÙÊ × MPlayer/\:MEncoder.
-ïÎ ÒÁÂÏÔÁÅÔ, ÐÒÉ×ÑÚÙ×ÁÑÓØ Ë 3:2 ÛÁÂÌÏÎÕ ÔÅÌÅÓÉÎÁ É ÓÌÅÄÕÑ ÅÍÕ ÎÁÓÔÏÌØËÏ ÄÏÌÇÏ,
-ÎÁÓËÏÌØËÏ ÜÔÏ ×ÏÚÍÏÖÎÏ.
-üÔÏ ÄÅÌÁÅÔ ÅÇÏ ÐÒÉÍÅÎÉÍÙÍ Ë ÐÏÄ×ÅÒÖÅÎÎÏÍÕ ËÁÞÅÓÔ×ÅÎÎÏÍÕ ÔÅÌÅÓÉÎÕ
-ÍÁÔÅÒÉÁÌÕ, ÄÁÖÅ ÐÒÉ ÎÁÌÉÞÉÉ ÚÎÁÞÉÔÅÌØÎÏÇÏ ÕÒÏ×ÎÑ ÛÕÍÁ, ÎÏ
-ÏÎ ÎÅ ÓÐÒÁ×ÉÔÓÑ, ÅÓÌÉ ÐÒÏ×ÏÄÉÌÏÓØ ÓÌÏÖÎÏÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÏÓÌÅ
-ÔÅÌÅÓÉÎÁ.
-òÁÚÒÁÂÏÔËÁ ÜÔÏÇÏ ÆÉÌØÔÒÁ ÂÏÌØÛÅ ÎÅ ×ÅÄÅÔÓÑ, ÐÏÓËÏÌØËÕ ivtc, pullup
-É filmdint ÌÕÞÛÅ × ÂÏÌØÛÉÎÓÔ×Å ÐÒÉÌÏÖÅÎÉÊ.
-óÌÅÄÕÀÝÉÅ ÁÒÇÕÍÅÎÔÙ (ÓÉÎÔÁËÓÉÓ ÓÍÏÔÒÉÔÅ ×ÙÛÅ) ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ
-ÕÐÒÁ×ÌÅÎÉÑ ÐÏ×ÅÄÅÎÉÅÍ ÆÉÌØÔÒÁ detc:
-.RSs
-.IPs "<dr>\ "
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÅÖÉÍ ÏÔÂÒÏÓÁ ËÁÄÒÏ×.
-.RSss
-0: îÅ ÏÔÂÒÁÓÙ×ÁÔØ ËÁÄÒÙ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÐÏÓÔÏÑÎÎÏÊ ÞÁÓÔÏÔÙ ËÁÄÒÏ× ÎÁ ×ÙÈÏÄÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-1: ÷ÓÅÇÄÁ ÐÒÏÐÕÓËÁÔØ ËÁÄÒ, ËÏÇÄÁ ËÁÄÒÙ ÎÅ ×ÙÂÒÁÓÙ×ÁÌÉÓØ É ÎÅ ÂÙÌÏ ÔÅÌÅÓÉÎ ÓÌÉÑÎÉÊ
-ÐÏÓÌÅÄÎÉÅ 5 ËÁÄÒÏ×.
-.br
-2: ÷ÓÅÇÄÁ ÓÏÈÒÁÎÑÔØ ÏÔÎÏÛÅÎÉÅ ËÁÄÒÏ× ÎÁ ×ÈÏÄÅ É ×ÙÈÏÄÅ, ÒÁ×ÎÙÍ ÔÏÞÎÏ 5:4.
-.br
-.I úáíåþáîéå:
-ó MEncoder ÉÓÐÏÌØÚÕÊÔÅ ÒÅÖÉÍ 1 ÉÌÉ 2.
-.REss
-.IPs "<am>\ "
-òÅÖÉÍ ÁÎÁÌÉÚÁ.
-.RSss
-0: æÉËÓÉÒÏ×ÁÎÎÙÊ ÛÁÂÌÏÎ Ó ÎÁÞÁÌØÎÙÍ ÎÏÍÅÒÏÍ ËÁÄÒÁ, ÕËÁÚÁÎÎÙÍ ÐÁÒÁÍÅÔÒÏÍ <fr>.
-.br
-1: ÁÇÒÅÓÓÉ×ÎÙÊ ÐÏÉÓË ÔÅÌÅÓÉÎ ÛÁÂÌÏÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.REss
-.IPs "<fr>\ "
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÏÍÅÒ ÎÁÞÁÌØÎÏÇÏ ËÁÄÒÁ × ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ.
-0\-2 \- ÜÔÏ ÔÒÉ ÞÉÓÔÙÈ ÐÒÏÇÒÅÓÓÉ×ÎÙÈ ËÁÄÒÁ; 3 É 4 \- Ä×Á ÞÅÒÅÓÓÔÒÏÞÎÙÈ ËÁÄÒÁ.
-ÐÏ ÕÍÏÌÞÁÎÉÀ, \-1, ÏÚÎÁÞÁÅÔ 'ÎÅ × ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÔÅÌÅÓÉÎÁ'.
-þÉÓÌÏ ÕËÁÚÁÎÎÏÅ ÚÄÅÓØ \- ÜÔÏ ÔÉÐ ×ÏÏÂÒÁÖÁÅÍÏÇÏ ËÁÄÒÁ, ÐÒÅÄÛÅÓÔ×ÕÀÝÅÇÏ ÎÁÞÁÌÕ
-ÆÉÌØÍÁ.
-.IPs "<t0>, <t1>, <t2>, <t3>"
-ðÏÒÏÇÏ×ÙÅ ÚÎÁÞÅÎÉÑ, ÉÓÐÏÌØÚÕÅÍÙÅ × ÎÅËÏÔÏÒÙÈ ÒÅÖÉÍÁÈ.
-.RE
-.
-.TP
-.B ivtc[=1]
-üËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÆÉÌØÔÒ ÏÂÒÁÔÎÏÇÏ ÔÅÌÅÓÉÎÁ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ÓÏÓÔÏÑÎÉÑ.
-÷ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ÐÒÉ×ÑÚÙ×ÁÔØÓÑ Ë ÛÁÂÌÏÎÕ, ËÁË ÄÅÌÁÅÔ ÆÉÌØÔÒ detc,
-ivtc ÐÒÉÎÉÍÁÅÔ ÒÅÛÅÎÉÅ ÎÅÚÁ×ÉÓÉÍÏ ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ.
-üÔÏ ÄÁÅÔ ÎÁÍÎÏÇÏ ÌÕÞÛÉÅ ÒÅÚÕÌØÔÁÔÙ, ÄÌÑ ÍÁÔÅÒÉÁÌÁ, ÐÏÄ×ÅÒÇÎÕÔÏÇÏ
-ÔÑÖÅÌÏÍÕ ÒÅÄÁËÔÉÒÏ×ÁÎÉÀ ÐÏÓÌÅ ÐÒÉÍÅÎÅÎÉÑ ÔÅÌÅÓÉÎÁ, ÎÏ ËÁË ÒÅÚÕÌØÔÁÔ
-ÏÎ ÎÅ ÎÁÓÔÏÌØËÏ ÓÎÉÓÈÏÄÉÔÅÌÅÎ Ë ÛÕÍÕ × ÉÓÔÏÞÎÉËÅ, ÎÁÐÒÉÍÅÒ ÐÒÉ ÚÁÈ×ÁÔÅ Ó TV.
-îÅÏÂÑÚÁÔÅÌØÎÙÊ ÐÁÒÁÍÅÔÒ (ivtc=1) ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÏÐÃÉÉ dr=1 ÆÉÌØÔÒÁ
-detc, É ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó MEncoder, ÎÏ ÎÅ Ó MPlayer.
-ëÁË É Ó detc, ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÐÒÁ×ÉÌØÎÕÀ ×ÙÈÏÄÎÕÀ ÞÁÓÔÏÔÕ ËÁÄÒÏ×
-(\-ofps 24000/1001), ËÏÇÄÁ ÉÓÐÏÌØÚÕÅÔÅ ÅÇÏ Ó MEncoder.
-äÁÌØÎÅÊÛÅÅ ÒÁÚ×ÉÔÉÅ ivtc ÏÓÔÁÎÏ×ÌÅÎÏ, ÐÏÓËÏÌØËÕ pullup É filmdint
-ÆÉÌØÔÒÙ Ñ×ÌÑÀÔÓÑ ÚÎÁÞÉÔÅÌØÎÏ ÂÏÌÅÅ ÔÏÞÎÙÍÉ.
-.
-.TP
-.B pullup[=jl:jr:jt:jb:sb:mp]
-æÉÌØÔÒ ÏÂÒÁÔÎÏÇÏ ÐÕÌÄÁÕÎÁ [pulldown] (ÏÂÒÁÔÎÏÇÏ ÔÅÌÅÓÉÎÁ) ÔÒÅÔØÅÇÏ ÐÏËÏÌÅÎÉÑ,
-ÓÐÏÓÏÂÎÙÊ ÏÂÒÁÂÁÔÙ×ÁÔØ ÓÍÅÛÁÎÎÙÊ Ó ÖÅÓÔËÉÍ ÔÅÌÅÓÉÎÏÍ [hard-telecine],
-ÐÒÏÇÒÅÓÓÉ×ÎÙÊ 24000/1001 fps É ÐÒÏÇÒÅÓÓÉ×ÎÙÊ 30000/1001 fps ËÏÎÔÅÎÔ.
-æÉÌØÔÒ pullup ÓÐÒÏÅËÔÉÒÏ×ÁÎ ÂÙÔØ ÂÏÌÅÅ ÓÉÌØÎÙÍ, ÞÅÍ detc ÉÌÉ ivtc,
-ÚÁ ÓÞÅÔ ÕÞÅÔÁ ÏÓÏÂÅÎÎÏÓÔÅÊ ÐÏÓÌÅÄÕÀÝÅÇÏ ÓÏÄÅÒÖÉÍÏÇÏ × ÐÒÉÎÑÔÉÉ
-Ó×ÏÉÈ ÒÅÛÅÎÉÊ.
-ëÁË É ivtv, pullup ÎÅ ÚÁ×ÉÓÉÔ ÏÔ ÓÏÓÔÏÑÎÉÑ × ÔÏÍ ÓÍÙÓÌÅ, ÞÔÏ ÐÒÉ
-ÐÅÒÅÍÅÝÅÎÉÉ ÏÎ ÎÅ ÐÒÉ×ÑÚÙ×ÁÅÔÓÑ Ë ÛÁÂÌÏÎÕ, Á ×ÍÅÓÔÏ ÜÔÏÇÏ
-ÓÍÏÔÒÉÔ ×ÐÅÒÅÄ ÎÁ ÐÏÓÌÅÄÕÀÝÉÅ ÐÏÌÑ, ÞÔÏÂÙ ÏÐÒÅÄÅÌÉÔØ ÓÏ×ÐÁÄÅÎÉÑ É
-ÐÏÓÔÒÏÉÔØ ÐÒÏÇÒÅÓÓÉ×ÎÙÅ ËÁÄÒÙ.
-ïÎ ×ÓÅ ÅÝÅ ÎÁÈÏÄÉÔÓÑ × ÒÁÚÒÁÂÏÔËÅ, ÎÏ ×ÅÒÉÔÓÑ, ÞÔÏ ÂÕÄÅÔ
-×ÅÓØÍÁ ÔÏÞÎÙÍ.
-.RSs
-.IPs "jl, jr, jt, and jb"
-üÔÉ ÏÐÃÉÉ ÕÓÔÁÎÁ×ÌÉ×ÁÀÔ ×ÅÌÉÞÉÎÕ ÉÇÎÏÒÉÒÕÅÍÏÇÏ "ÍÕÓÏÒÁ"
-ÓÌÅ×Á, ÓÐÒÁ×Á, Ó×ÅÒÈÕ É ÓÎÉÚÕ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ.
-ìÅ×ÏÅ/\:ÐÒÁ×ÏÅ ÕËÁÚÙ×ÁÀÔÓÑ × ÜÌÅÍÅÎÔÁÈ ÐÏ 8 ÐÉËÓÅÌÏ×, × ÔÏ ×ÒÅÍÑ
-ËÁË ×ÅÒÈÎÅÅ/\:ÎÉÖÎÅÅ × ÜÌÅÍÅÎÔÁÈ ÐÏ Ä×Å ÓÔÒÏËÉ.
-ðÏ ÕÍÏÌÞÁÎÉÀ, 8 ÐÉËÓÅÌÏ× Ó ËÁÖÄÏÊ ÓÔÏÒÏÎÙ.
-.br
-.IPs "sb (ÓÔÒÏÇÉÅ ÒÁÚÒÙ×Ù)"
-õÓÔÁÎÏ×ËÁ ÜÔÏÊ ÏÐÃÉÉ × 1 ÕÍÅÎØÛÉÔ ÛÁÎÓÙ pullup
-ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÓÌÕÞÁÊÎÙÊ ÎÅÓÏ×ÐÁÄÁÀÝÉÊ ËÁÄÒ, ÎÏ ÔÁËÖÅ ÍÏÖÅÔ
-ÐÒÉ×ÅÓÔÉ Ë ÞÒÅÚÍÅÒÎÏÍÕ ×ÙÂÒÁÓÙ×ÁÎÉÀ ËÁÄÒÏ× × ÓÉÌØÎÏ ÄÉÎÁÍÉÞÎÙÈ
-ÓÃÅÎÁÈ.
-é ÎÁÏÂÏÒÏÔ, ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÅÇÏ × \-1, pullup ÂÕÄÅÔ ÂÏÌÅÅ ÍÑÇËÏ
-ÐÒÏ×ÅÒÑÔØ ÐÏÌÑ ÎÁ ÓÏ×ÐÁÄÅÎÉÅ.
-üÔÏ ÍÏÖÅÔ ÐÏÍÏÞØ ÏÂÒÁÂÏÔËÅ ×ÉÄÅÏ Ó ÌÅÇËÉÍ ÒÁÚÍÙ×ÁÎÉÅÍ ÍÅÖÄÕ ÐÏÌÑÍÉ, ÎÏ
-ÔÁËÖÅ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÐÏÑ×ÌÅÎÉÀ ÞÅÒÅÓÓÔÒÏÞÎÙÈ ËÁÄÒÏ× ÎÁ ×ÙÈÏÄÅ.
-.br
-.IPs "mp (ÍÅÔÒÉÞÅÓËÁÑ ÐÌÏÓËÏÓÔØ)"
-üÔÁ ÏÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ×ÙÓÔÁ×ÌÅÎÁ × 1 ÉÌÉ 2 ÄÌÑ
-.\" FIXME chroma plane = Ã×ÅÔÎÏÓÔÎÁÑ ËÏÍÐÏÎÅÎÔÁ
-ÉÓÐÏÌØÚÏ×ÁÎÉÑ Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ ×ÍÅÓÔÏ ÑÒËÏÓÔÎÏÊ ×
-×ÙÞÉÓÌÅÎÉÑÈ pullup.
-üÔÏ ÍÏÖÅÔ Õ×ÅÌÉÞÉÔØ ÔÏÞÎÏÓÔØ ÎÁ ÏÞÅÎØ ÞÉÓÔÏÍ ÍÁÔÅÒÉÁÌÅ, ÎÏ, ×ÅÒÏÑÔÎÅÅ
-×ÓÅÇÏ, ÕÍÅÎØÛÉÔ ÅÅ, ÏÓÏÂÅÎÎÏ, ÅÓÌÉ ÐÒÉÓÕÔÓÔ×ÕÅÔ Ã×ÅÔÏ×ÏÊ ÛÕÍ (ÜÆÆÅËÔ ÒÁÄÕÇÉ)
-ÉÌÉ ÌÀÂÏÅ ÞÅÒÎÏ-ÂÅÌÏÅ ×ÉÄÅÏ.
-.\" FIXME chroma plane = Ã×ÅÔÎÏÓÔÎÁÑ ËÏÍÐÏÎÅÎÔÁ
-çÌÁ×ÎÏÅ ÎÁÚÎÁÞÅÎÉÅ ×ÙÂÏÒÁ Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ \- ÕÍÅÎØÛÉÔØ ÚÁÇÒÕÚËÕ CPU
-É ÓÄÅÌÁÔØ pullup ÄÏÓÔÕÐÎÙÍ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÒÅÁÌØÎÏÍ ×ÒÅÍÅÎÉ ÎÁ
-ÍÅÄÌÅÎÎÙÈ ÍÁÛÉÎÁÈ.
-.REss
-.RS
-.sp 1
-.I úáíåþáîéå:
-ðÒÉ ËÏÄÉÒÏ×ÁÎÉÉ ×ÓÅÇÄÁ ÓÏÐÒÏ×ÏÖÄÁÊÔÅ pullup ÐÏÓÌÅÄÕÀÝÉÍ ÆÉÌØÔÒÏÍ softskip,
-ÞÔÏÂÙ ÕÂÅÄÉÔØÓÑ, ÞÔÏ pullup ÂÕÄÅÔ ÓÐÏÓÏÂÅÎ ×ÉÄÅÔØ ËÁÖÄÙÊ ËÁÄÒ.
-éÇÎÏÒÉÒÏ×ÁÎÉÅ ÜÔÏÇÏ ÐÒÁ×ÉÌÁ ÍÏÖÅÔ ÐÏ×ÌÅÞØ ÚÁ ÓÏÂÏÊ ÎÅ×ÅÒÎÙÅ ÄÁÎÎÙÅ ÎÁ ×ÙÈÏÄÅ
-É ÎÁ×ÅÒÎÑËÁ ÐÒÉ×ÅÄÅÔ Ë ËÒÁÈÕ × ÓÉÌÕ ÏÇÒÁÎÉÞÅÎÉÊ ÄÉÚÁÊÎÁ ÓÌÏÑ ËÏÄÅËÏ×/\:ÆÉÌØÔÒÏ×.
-.REss
-.
-.TP
-.B filmdint[=ÏÐÃÉÉ]
-æÉÌØÔÒ ÏÂÒÁÔÎÏÇÏ ÔÅÌÅÓÉÎÁ, ÐÏÈÏÖÉÊ ÎÁ ÐÒÅÄÙÄÕÝÉÊ ÆÉÌØÔÒ pullup.
-ïÎ ÒÁÚÒÁÂÏÔÁÎ ÄÌÑ ÏÂÒÁÂÏÔËÉ ÌÀÂÙÈ ÐÕÌÄÁÕÎ ÛÁÂÌÏÎÏ×, ×ËÌÀÞÁÑ
-ÓÍÅÛÁÎÎÙÅ ÍÑÇËÉÊ É ÖÅÓÔËÉÊ ÔÅÌÅÓÉÎ, É ÏÇÒÁÎÉÞÅÎÎÕÀ ÐÏÄÄÅÒÖËÕ
-ÆÉÌØÍÏ× ÕÓËÏÒÅÎÎÙÈ ÉÌÉ ÚÁÍÅÄÌÅÎÎÙÈ ÐÏ ÓÒÁ×ÎÅÎÉÑ Ó ÉÈ ÏÒÉÇÉÎÁÌØÎÏÊ
-ÞÁÓÔÏÔÏÊ ËÁÄÒÏ× ÄÌÑ TV.
-.\" FIXME luma plane = ÑÒËÏÓÔÎÁÑ ËÏÍÐÏÎÅÎÔÁ
-éÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ ÑÒËÏÓÔÎÁÑ ËÏÍÐÏÎÅÎÔÁ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÇÒÁÎÉà ËÁÄÒÏ×.
-åÓÌÉ ÐÏÌÅ ÎÅ ÉÍÅÅÔ ÓÏ×ÐÁÄÁÀÝÉÈ, ÏÎÏ ÐÒÅÏÂÒÁÚÕÅÔÓÑ × ËÁÄÒ ÐÒÏÓÔÏÊ
-ÌÉÎÅÊÎÏÊ ÁÐÐÒÏËÓÉÍÁÃÉÅÊ.
-åÓÌÉ ÉÓÔÏÞÎÉËÏÍ Ñ×ÌÑÅÔÓÑ MPEG\-2, ÜÔÏÔ ÆÉÌØÔÒ ÄÏÌÖÅÎ ÂÙÔØ ÐÅÒ×ÙÍ,
-ÞÔÏÂÙ ÉÍÅÔØ ÄÏÓÔÕÐ Ë ÆÌÁÇÁÍ ÐÏÌÅÊ, ÕÓÔÁÎÁ×ÌÉ×ÁÅÍÙÍ
-MPEG\-2 ÄÅËÏÄÅÒÏÍ.
-÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÉÓÈÏÄÎÏÇÏ MPEG, ×Ù ÍÏÖÅÔÅ ÓÐÏËÏÊÎÏ ÉÇÎÏÒÉÒÏ×ÁÔØ
-ÜÔÏ ÚÁÍÅÞÁÎÉÅ, ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÎÅ ×ÉÄÉÔÅ ÍÎÏÖÅÓÔ×Á
-ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ "Bottom\-first field".
-âÅÚ ÕËÁÚÁÎÉÑ ÏÐÃÉÊ ÆÉÌØÔÒ ÄÅÌÁÅÔ ÏÂÙÞÎÙÊ ÏÂÒÁÔÎÙÊ ÔÅÌÅÓÉÎ É
-ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó MEncoder ÓÏ×ÍÅÓÔÎÏ Ó \-fps 30000/1001 \-ofps 24000/1001.
-ëÏÇÄÁ ÜÔÏÔ ÆÉÌØÔÒ ÉÓÐÏÌØÚÕÅÔÓÑ Ó MPlayer, ÏÎ ÍÏÖÅÔ ÓÔÁÔØ ÐÒÉÞÉÎÏÊ
-ÎÅÐÏÓÔÏÑÎÎÏÊ ÞÁÓÔÏÔÙ ËÁÄÒÏ× ÐÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ, ÎÏ ËÁË ÐÒÁ×ÉÌÏ, ÜÔÏ
-×ÓÅ ÖÅ ÌÕÞÛÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ pp=lb ÉÌÉ ÏÔÓÕÔÓÔ×ÉÑ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ ×ÏÏÂÝÅ.
-îÅÓËÏÌØËÏ ÏÐÃÉÊ ÍÏÇÕÔ ÂÙÔØ ÏÔÄÅÌÅÎÙ ÄÒÕÇ ÏÔ ÄÒÕÇÁ ÓÉÍ×ÏÌÏÍ /.
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-ôÏ ÖÅ ÓÁÍÏÅ, ÞÔÏ É ÆÉÌØÔÒ crop, ÎÏ ÂÙÓÔÒÅÅ, É ÒÁÂÏÔÁÅÔ ÄÌÑ ËÏÎÔÅÎÔÁ ÓÏ
-ÓÍÅÛÁÎÎÙÍ ÖÅÓÔËÉÍ É ÍÑÇËÉÍ ÔÅÌÅÓÉÎÏÍ, Á ÔÁËÖÅ × ÓÌÕÞÁÅ, ËÏÇÄÁ y
-ÎÅ ËÒÁÔÎÏ 4.
-åÓÌÉ ÄÌÑ x ÉÌÉ y ÔÒÅÂÕÅÔÓÑ ÏÔÓÅÞÅÎÉÅ ÄÒÏÂÎÙÈ ÐÉËÓÅÌÏ× ×
-.\" FIXME chroma plane = Ã×ÅÔÎÏÓÔÎÁÑ ËÏÍÐÏÎÅÎÔÁ
-Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÅ, ÏÂÌÁÓÔØ ÏÔÓÅÞÅÎÉÑ Õ×ÅÌÉÞÉ×ÁÅÔÓÑ.
-ëÁË ÐÒÁ×ÉÌÏ, ÜÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ x É y ÄÏÌÖÎÙ ÂÙÔØ ÞÅÔÎÙÍÉ.
-.IPs io=<ifps>:<ofps>
-äÌÑ ËÁÖÄÙÈ ifps ËÁÄÒÏ× ÎÁ ×ÈÏÄÅ, ÆÉÌØÔÒ ×ÙÄÁÓÔ ofps ËÁÄÒÏ× ÎÁ ×ÙÈÏÄÅ.
-úÎÁÞÅÎÉÅ ifps/\:ofps ÄÏÌÖÎÏ ÓÏ×ÐÁÄÁÔØ ÓÏ ÚÎÁÞÅÎÉÅÍ \-fps/\-ofps.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÏÂÒÁÂÏÔËÉ ÆÉÌØÍÏ× ÔÒÁÎÓÌÉÒÕÀÝÉÈÓÑ ÐÏ TV
-Ó ÞÁÓÔÏÔÏÊ ËÁÄÒÏ×, ÏÔÌÉÞÎÏÊ ÏÔ ÏÒÉÇÉÎÁÌØÎÏÊ.
-.IPs luma_only=<n>
-.\" FIXME chroma plane = Ã×ÅÔÎÏÓÔÎÁÑ ËÏÍÐÏÎÅÎÔÁ
-åÓÌÉ n ÎÅ ÒÁ×ÎÏ ÎÕÌÀ, Ã×ÅÔÎÏÓÔÎÁÑ ËÏÍÐÏÎÅÎÔÁ ËÏÐÉÒÕÅÔÓÑ ÂÅÚ ÉÚÍÅÎÅÎÉÊ.
-.\" FIXME sampled
-ðÏÌÅÚÎÏ ÄÌÑ YV12 ÓÜÍÐÌÉÒÏ×ÁÎÎÏÇÏ [sampled] TV, ÏÔÂÒÁÓÙ×ÁÀÝÅÇÏ ÏÄÎÏ
-ÉÚ Ã×ÅÔÎÏÓÔÎÙÈ ÐÏÌÅÊ.
-.IPs mmx2=<n>
-îÁ x86, ÅÓÌÉ n=1, ÉÓÐÏÌØÚÕÀÔÓÑ MMX2 ÏÐÔÉÍÉÚÉÒÏ×ÁÎÎÙÅ ÆÕÎÃÉÉ, ÅÓÌÉ n=2,
-ÉÓÐÏÌØÚÕÀÔÓÑ 3DNow! ÏÐÔÉÍÉÚÉÒÏ×ÁÎÎÙÅ ÆÕÎËÃÉÉ, ÉÎÁÞÅ ÉÓÐÏÌØÚÕÅÔÓÑ
-ÏÂÙÞÎÙÊ C. åÓÌÉ ÏÐÃÉÑ ÎÅ ÕËÁÚÁÎÁ, MMX2 É 3DNow! ÏÐÒÅÄÅÌÑÀÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ,
-ÉÓÐÏÌØÚÕÊÔÅ ÜÔÕ ÏÐÃÉÀ ÄÌÑ ÉÚÍÅÎÅÎÉÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÐÒÅÄÅÌÅÎÎÏÇÏ
-ÚÎÁÞÅÎÉÑ.
-.IPs fast=<n>
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÕÓËÏÒÑÔ ÒÁÂÏÔÕ ÆÉÌØÔÒÁ ÃÅÎÏÊ ÔÏÞÎÏÓÔÉ.
-úÎÁÞÅÎÉÅÍ ÐÏ ÕÍÏÌÞÁÎÉÀ Ñ×ÌÑÅÔÓÑ n=3.
-åÓÌÉ n ÎÅÞÅÔÎÏÅ, ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ, ÞÔÏ ËÁÄÒ, ÉÄÕÝÉÊ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÚÁ
-ÐÏÍÅÞÅÎÎÙÍ MPEG ÆÌÁÇÏÍ REPEAT_FIRST_FIELD ËÁÄÒÏÍ, Ñ×ÌÑÅÔÓÑ
-ÐÒÏÇÒÅÓÓÉ×ÎÙÍ, ÔÁËÉÍ ÏÂÒÁÚÏÍ ÆÉÌØÔÒ ×ÏÏÂÝÅ ÎÅ ÔÒÁÔÉÔ ×ÒÅÍÑ ÎÁ
-MPEG\-2 ÓÏÄÅÒÖÉÍÏÍ Ó ÍÑÇËÉÍ ÔÅÌÅÓÉÎÏÍ.
-üÔÏ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÜÆÆÅËÔ ÜÔÏÇÏ ÆÌÁÇÁ, ÅÓÌÉ ÄÏÓÔÕÐÎÏ MMX2 ÉÌÉ 3DNow!.
-âÅÚ MMX2 É 3DNow, ÅÓÌÉ n=0 ÉÌÉ 1, ÂÕÄÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÅ ÖÅ ×ÙÞÉÓÌÅÎÉÑ, ÞÔÏ
-É Ó n=2 ÉÌÉ 3.
-åÓÌÉ n=2 ÉÌÉ 3, ËÏÌÉÞÅÓÔ×Ï ÕÒÏ×ÎÅÊ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ, ÉÓÐÏÌØÚÕÅÍÙÈ ÄÌÑ ÐÏÉÓËÁ
-ÇÒÁÎÉà ËÁÄÒÏ× ÕÍÅÎØÛÁÅÔÓÑ Ó 256 ÄÏ 128, ÞÔÏ ÐÒÉ×ÏÄÉÔ Ë ÕÓËÏÒÅÎÉÀ ÏÂÒÁÂÏÔËÉ ÂÅÚ
-ÚÎÁÞÉÔÅÌØÎÏÊ ÐÏÔÅÒÉ ÔÏÞÎÏÓÔÉ.
-åÓÌÉ n=4 ÉÌÉ 5, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÏÌÅÅ ÂÙÓÔÒÁÑ, ÎÏ ÍÅÎÅÅ ÔÏÞÎÁÑ ÍÅÔÒÉËÁ
-ÄÌÑ ÐÏÉÓËÁ ÇÒÁÎÉà ËÁÄÒÏ×, ÞÔÏ, ÓËÏÒÅÅ ×ÓÅÇÏ, ÐÒÉ×ÅÄÅÔ Ë ÏÛÉÂÏÞÎÏÍÕ ÏÐÒÅÄÅÌÅÎÉÀ
-ÓÏÄÅÒÖÉÍÏÇÏ Ó ×ÙÓÏËÏÊ ×ÅÒÔÉËÁÌØÎÏÊ ÄÅÔÁÌÉÚÁÃÉÅÊ ËÁË ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ.
-.IPs verbose=<n>
-åÓÌÉ n ÎÅ ÒÁ×ÎÏ 0, ×Ù×ÏÄÉÔ ÄÅÔÁÌØÎÙÅ ÍÅÔÒÉËÉ ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ.
-ðÏÌÅÚÎÏ ÄÌÑ ÏÔÌÁÄËÉ.
-.IPs dint_thres=<n>
-ðÏÒÏÇ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ.
-éÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ ÎÅÓÏ×ÐÁÄÁÀÝÉÈ ËÁÄÒÏ×.
-âÏÌØÛÅÅ ÚÎÁÞÅÎÉÅ ÏÚÎÁÞÁÅÔ ÍÅÎØÛÉÊ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ, ÉÓÐÏÌØÚÕÊÔÅ
-n=256 ÄÌÑ ÅÇÏ ÐÏÌÎÏÇÏ ÏÔËÌÀÞÅÎÉÑ.
-ðÏ ÕÍÏÌÞÁÎÉÀ, n=8.
-.IPs comb_thres=<n>
-ðÏÒÏÇ ÄÌÑ ÓÒÁ×ÎÅÎÉÑ ×ÅÒÈÎÅÇÏ É ÎÉÖÎÅÇÏ ÐÏÌÅÊ.
-ÐÏ ÕÍÏÌÞÁÎÉÀ, 128.
-.IPs diff_thres=<n>
-ðÏÒÏÇ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ×ÒÅÍÅÎÎÏÇÏ ÉÚÍÅÎÅÎÉÑ ÐÏÌÑ.
-ÐÏ ÕÍÏÌÞÁÎÉÀ, 128.
-.IPs sad_thres=<n>
-.\" FIXME is translation correct?
-ðÏÒÏÇ óÕÍÍÙ íÏÄÕÌÅÊ òÁÚÎÏÓÔÉ [Sum of Absolute Difference], ÐÏ ÕÍÏÌÞÁÎÉÀ 64.
-.RE
-.
-.TP
-.B softpulldown
-üÔÏÔ ÆÉÌØÔÒ ËÏÒÒÅËÔÎÏ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó MEncoder É ×ÌÉÑÅÔ ÎÁ MPEG\-2 ÆÌÁÇÉ,
-ÉÓÐÏÌØÚÕÀÝÉÅÓÑ ÄÌÑ ÍÑÇËÏÇÏ 3:2 ÐÕÌÄÁÕÎÁ (ÍÑÇËÏÇÏ ÔÅÌÅÓÉÎÁ).
-åÓÌÉ ×Ù ÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ivtc ÉÄÉ detc ÆÉÌØÔÒ ÄÌÑ ÆÉÌØÍÁ, Ë ËÏÔÏÒÏÍÕ ÞÁÓÔÉÞÎÏ
-ÐÒÉÍÅÎÅÎ ÍÑÇËÉÊ ÔÅÌÅÓÉÎ, ×ÓÔÁ×ËÁ ÜÔÏÇÏ ÆÉÌØÔÒÁ ÐÅÒÅÄ ÎÉÍÉ ÄÏÌÖÎÁ ÓÄÅÌÁÔØ
-ÒÅÚÕÌØÔÁÔ ÂÏÌÅÅ ÄÏÓÔÏ×ÅÒÎÙÍ.
-.
-.TP
-.B divtc[=ÏÐÃÉÉ]
-Inverse telecine for deinterlaced video.
-ÏÂÒÁÔÎÙÊ ÔÅÌÅÓÉÎ ÄÌÑ ÎÅÞÅÒÅÓÓÔÒÏÞÎÏÇÏ ×ÉÄÅÏ.
-åÓÌÉ ×ÉÄÅÏ Ó 3:2\-ÐÕÌÄÁÕÎ ÔÅÌÅÓÉÎÏÍ ÐÏÔÅÒÑÌÏ ÏÄÎÏ ÉÚ ÐÏÌÅÊ ÉÌÉ ÎÁÄ ÎÉÍ
-ÐÒÏÉÚ×ÅÄÅÎ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÍÅÔÏÄÁ, ÓÏÈÒÁÎÑÀÝÅÇÏ ÏÄÎÏ
-ÉÚ ÐÏÌÅÊ É ÉÎÔÅÒÐÏÌÉÒÕÀÝÅÇÏ ÄÒÕÇÏÅ, × ÒÅÚÕÌØÔÁÔÅ ÐÏÌÕÞÉÔÓÑ ÄÒÏÖÁÝÅÅ ×ÉÄÅÏ,
-ÉÍÅÀÝÅÅ ÄÕÂÌÉÒÏ×ÁÎÎÙÊ ËÁÖÄÙÊ ÞÅÔ×ÅÒÔÙÊ ËÁÄÒ.
-üÔÏÔ ÆÉÌØÔÒ ÐÒÉÚ×ÁÎ ÎÁÊÔÉ É ÏÔÂÒÏÓÉÔØ ÜÔÉ ÄÕÂÌÉËÁÔÙ É ×ÏÓÓÔÁÎÏ×ÉÔØ
-ÏÒÉÇÉÎÁÌØÎÕÀ ÞÁÓÔÏÔÕ ËÁÄÒÏ× ÆÉÌØÍÁ.
-ëÏÇÄÁ ÉÓÐÏÌØÚÕÅÔÅ ÜÔÏ ÆÉÌØÔÒ, ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ \-ofps ÒÁ×ÎÏÊ 4/5
-ÏÔ fps ÉÓÈÏÄÎÏÇÏ ÆÁÊÌÁ É ÐÏÍÅÓÔÉÔØ ÆÉÌØÔÒ softskip ÐÏÚÖÅ ×
-ÃÅÐÏÞËÅ ÆÉÌØÔÒÏ×, ÞÔÏÂÙ divtc ÇÁÒÁÎÔÉÒÏ×ÁÎÎÏ ×ÉÄÅÌ ×ÓÅ ËÁÄÒÙ.
-äÏÓÔÕÐÎÙ Ä×Á ÒÁÚÌÉÞÎÙÈ ÒÅÖÉÍÁ:
-òÅÖÉÍÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ Ñ×ÌÑÅÔÓÑ ÏÄÎÏÐÒÏÈÏÄÎÙÊ, ÏÎ ÐÒÏÓÔ × ÉÓÐÏÌØÚÏ×ÁÎÉÉ,
-ÎÏ ÉÍÅÅÔ ÎÅÄÏÓÔÁÔÏË, ÚÁËÌÀÞÁÀÝÉÊÓÑ × ÔÏÍ, ÞÔÏ ÌÀÂÙÅ ÉÚÍÅÎÅÎÉÑ
-ÎÁ ÜÔÁÐÅ ÔÅÌÅÓÉÎÁ (ÐÏÔÅÒÑÎÎÙÅ ËÁÄÒÙ ÉÌÉ ÐÌÏÈÏÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ)
-ÔÕÔ ÖÅ ÐÒÉ×ÏÄÑÔ Ë ÄÒÏÖÁÎÉÀ, ÐÏËÁ ÆÉÌØÔÒ ÓÎÏ×Á ÎÅ ÓÉÎÈÒÏÎÉÚÉÒÕÅÔÓÑ.
-ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ ÐÏÚ×ÏÌÑÅÔ ÉÚÂÅÖÁÔØ ÜÔÏÇÏ, ÐÒÅÄ×ÁÒÉÔÅÌØÎÙÍ ÁÎÁÌÉÚÉÒÕÑ
-×ÅÓØ ÆÉÌØÍ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÏÎ ÚÁÒÁÎÅÅ ÚÎÁÅÔ Ï ÉÚÍÅÎÅÎÉÑÈ ÆÁÚÙ É
-ÍÏÖÅÔ ×ÏÓÓÔÁÎÏ×ÉÔØ ÓÉÎÈÒÏÎÉÚÁÃÉÀ × ÔÏÍ ÖÅ ÍÅÓÔÅ.
-üÔÉ ÐÒÏÈÏÄÙ
-.B ÎÅ
-ÉÍÅÀÔ ÎÉËÁËÏÇÏ ÏÔÎÏÛÅÎÉÑ Ë ÐÅÒ×ÏÍÕ É ×ÔÏÒÏÍÕ ÐÒÏÈÏÄÕ ÐÒÏÃÅÓÓÁ ËÏÄÉÒÏ×ÁÎÉÑ.
-÷Ù ÄÏÌÖÎÙ ÓÄÅÌÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÐÒÏÈÏÄ, ÉÓÐÏÌØÚÕÑ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ divtc
-ÄÏ ÔÏÇÏ, ËÁË ÎÁÞÎÅÔÓÑ ÐÒÏÃÅÓÓ ËÏÄÉÒÏ×ÁÎÉÑ, ×ÙÄÁÀÝÉÊ ÄÅÊÓÔ×ÉÔÅÌØÎÙÊ ÒÅÚÕÌØÔÁÔ.
-éÓÐÏÌØÚÕÊÔÅ \-nosound \-ovc raw \-o /dev/null ÄÌÑ ÉÚÂÅÖÁÎÉÑ
-ÎÅÎÕÖÎÏÇÏ ÒÁÓÈÏÄÁ ×ÒÅÍÅÎÉ CPU ÎÁ ÜÔÏÍ ÐÒÏÈÏÄÅ.
-÷Ù ÍÏÖÅÔÅ ÄÁÖÅ ÂÏÌØÛÅ Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ, ÄÏÂÁ×É× ÞÔÏ\-ÔÏ ×ÒÏÄÅ crop=2:2:0:0 ÐÏÓÌÅ divtc.
-úÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ ×ÔÏÒÏÊ ÐÒÏÈÏÄ divtc ÄÌÑ ÏÓÕÝÅÓÔ×ÌÅÎÉÑ ÄÅÊÓÔ×ÉÔÅÌØÎÏÇÏ ËÏÄÉÒÏ×ÁÎÉÑ.
-åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÍÎÏÇÏÐÒÏÈÏÄÎÏÅ ËÏÄÉÒÏ×ÁÎÉÅ, ÉÓÐÏÌØÚÕÊÔÅ ×ÔÏÒÏÊ ÐÒÏÈÏÄ divtc
-ÎÁ ËÁÖÄÏÍ ÐÒÏÈÏÄÅ ÐÒÏÃÅÓÓÁ ËÏÄÉÒÏ×ÁÎÉÑ.
-óÐÉÓÏË ÏÐÃÉÊ:
-.RSs
-.IPs pass=1|2
-éÓÐÏÌØÚÏ×ÁÔØ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ.
-.IPs file=<ÉÍÑ_ÆÁÊÌÁ>
-õËÁÚÙ×ÁÅÔ ÉÍÑ log ÆÁÊÌÁ ÄÌÑ Ä×ÕÈÐÒÏÈÏÄÎÏÇÏ ÒÅÖÉÍÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: "framediff.log").
-.IPs threshold=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÍÉÎÉÍÁÌØÎÕÀ ÓÉÌÕ, ËÏÔÏÒÕÀ ÄÏÌÖÅÎ ÉÍÅÔØ ÛÁÂÌÏÎ ÔÅÌÅÓÉÎÁ, ÞÔÏÂÙ
-ÆÉÌØÔÒ ÅÍÕ ÐÏ×ÅÒÉÌ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.5).
-éÓÐÏÌØÚÕÅÔÓÑ, ÞÔÏÂÙ ÉÚÂÅÖÁÔØ ÏÂÎÁÒÕÖÅÎÉÑ ÎÅ×ÅÒÎÏÇÏ ÛÁÂÌÏÎÁ ÎÁ ÏÞÅÎØ
-ÔÅÍÎÙÈ ÉÌÉ ÎÅÐÏÄ×ÉÖÎÙÈ ÞÁÓÔÑÈ ×ÉÄÅÏ.
-.IPs window=<ËÏÌÉÞÅÓÔ×Ï_ËÁÄÒÏ×>
-õËÁÚÙ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÐÒÅÄÙÄÕÝÉÈ ËÁÄÒÏ×, × ËÏÔÏÒÙÈ ÉÝÅÔÓÑ ÛÁÂÌÏÎ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 30).
-âÏÌÅÅ ÄÌÉÎÎÏÅ ÏËÎÏ Õ×ÅÌÉÞÉ×ÁÅÔ ÄÏÓÔÏ×ÅÒÎÏÓÔØ ÐÏÉÓËÁ ÛÁÂÌÏÎÁ, ÎÏ
-ÂÏÌÅÅ ËÏÒÏÔËÏÅ ÕÌÕÞÛÁÅÔ ×ÒÅÍÑ ÒÅÁËÃÉÉ ÎÁ ÉÚÍÅÎÅÎÉÅ ÆÁÚÙ ÔÅÌÅÓÉÎÁ.
-÷ÌÉÑÅÔ ÔÏÌØËÏ ÎÁ ÏÄÎÏÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ ÉÓÐÏÌØÚÕÅÔ ÏËÎÏ ÆÉËÓÉÒÏ×ÁÎÎÏÇÏ
-ÒÁÚÍÅÒÁ, ÒÁÓÐÒÏÓÔÒÁÎÑÀÝÅÅÓÑ ÏÄÎÏ×ÒÅÍÅÎÎÏ É ×ÐÅÒÅÄ, É ÎÁÚÁÄ.
-.IPs phase=0|1|2|3|4
-.\" FIXME check translation
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÎÁÞÁÌØÎÕÀ ÆÁÚÕ ÔÅÌÅÓÉÎÁ ÄÌÑ ÏÄÎÏÐÒÏÈÏÄÎÏÇÏ ÒÅÖÉÍÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ ÍÏÖÅÔ ÓÍÏÔÒÅÔØ ×ÐÅÒÅÄ, É, ÔÁËÉÍ ÏÂÒÁÚÏÍ, ÍÏÖÅÔ Ó ÓÁÍÏÇÏ ÎÁÞÁÌÁ
-ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÁ×ÉÌØÎÕÀ ÆÁÚÕ, ÎÏ ÏÄÎÏÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ ÍÏÖÅÔ ÅÅ ÔÏÌØËÏ ÐÒÅÄÐÏÌÏÖÉÔØ.
-ïÎ ÐÏÌÕÞÁÅÔ ÐÒÁ×ÉÌØÎÕÀ ÆÁÚÕ, ÌÉÛØ ËÏÇÄÁ ÅÅ ÎÁÈÏÄÉÔ, ÎÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÏÐÃÉÀ, ÞÔÏÂÙ
-ÉÚÂÅÖÁÔØ ÄÒÏÖÁÎÉÑ × ÓÁÍÏÍ ÎÁÞÁÌÅ ÆÉÌØÍÁ.
-ðÅÒ×ÙÊ ÐÒÏÈÏÄ ÔÏÖÅ ÜÔÏ ÉÓÐÏÌØÚÕÅÔ, ÔÁË ÞÔÏ ÅÓÌÉ ×Ù ÓÏÈÒÁÎÉÔÅ ÅÇÏ
-×Ù×ÏÄ, ÔÏ × ÒÅÚÕÌØÔÁÔÅ ÐÏÌÕÞÉÔÅ ÐÏÓÔÏÑÎÎÕÀ ÆÁÚÕ.
-.IPs deghost=<value>
-.\" FIXME deghosting, blending
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÏÒÏÇ ÄÌÑ deghosting (0\-255 ÄÌÑ ÏÄÎÏÐÒÏÈÏÄÎÏÇÏ ÒÅÖÉÍÁ, \-255\-255 ÄÌÑ
-Ä×ÕÈÐÒÏÈÏÄÎÏÇÏ, ÐÏ ÕÍÏÌÞÁÎÉÀ 0).
-åÓÌÉ ÎÅ ÒÁ×ÎÏ ÎÕÌÀ, ÉÓÐÏÌØÚÕÅÔÓÑ ÒÅÖÉÍ deghosting.
-ðÒÉÍÅÎÑÅÔÓÑ ÄÌÑ ×ÉÄÅÏ, Ë ËÏÔÏÒÏÍÕ ÂÙÌ ÐÒÉÍÅÎÅÎ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇ,
-ÏÂßÅÄÉÎÑÀÝÉÊ [blending] ÐÏÌÑ ×ÍÅÓÔÅ ×ÍÅÓÔÏ ÏÔÂÒÁÓÙ×ÁÎÉÑ ÏÄÎÏÇÏ ÉÚ ÎÉÈ.
-Deghosting ÕÓÉÌÉ×ÁÅÔ ÌÀÂÙÅ ÁÒÔÅÆÁËÔÙ ÓÖÁÔÉÑ × ÏÂßÅÄÉÎÅÎÎÙÈ [blended] ËÁÄÒÁÈ,
-ÐÏÜÔÏÍÕ ÚÎÁÞÅÎÉÅ ÐÁÒÁÍÅÔÒÁ ÉÓÐÏÌØÚÕÅÔÓÑ ËÁË ÐÏÒÏÇ ÄÌÑ ÉÓËÌÀÞÅÎÉÑ ÔÁËÉÈ
-ÐÉËÓÅÌÏ× ÉÚ ÐÒÏÃÅÓÓÁ deghosting'Á, ËÏÔÏÒÙÅ ÏÔÌÉÞÁÀÔÓÑ ÏÔ ÐÒÅÄÙÄÕÝÅÇÏ ËÁÄÒÁ ÍÅÎØÛÅ,
-ÞÅÍ ÎÁ ÕËÁÚÁÎÎÏÅ ÚÎÁÞÅÎÉÅ.
-åÓÌÉ ÉÓÐÏÌØÚÕÅÔÓÑ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ, ÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÔÒÉÃÁÔÅÌØÎÏÅ
-ÚÎÁÞÅÎÉÅ, ÞÔÏÂÙ ÆÉÌØÔÒ ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÌ ×ÓÅ ×ÉÄÅÏ × ÎÁÞÁÌÁ ×ÔÏÒÏÇÏ ÐÒÏÈÏÄÁ
-ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÎÕÖÅÎ ÒÅÖÉÍ deghosting ÉÌÉ ÎÅÔ, Á ÚÁÔÅÍ ×ÙÂÒÁÌ ÌÉÂÏ 0,
-ÌÉÂÏ ÁÂÓÏÌÀÔÎÏÅ ÚÎÁÞÅÎÉÅ ÐÁÒÁÍÅÔÒÁ.
-õËÁÚÙ×ÁÊÔÅ ÜÔÕ ÏÐÃÉÀ ÄÌÑ ×ÔÏÒÏÇÏ ÐÒÏÈÏÄÁ, ÏÎÁ ÎÉËÁË ÎÅ ×ÌÉÑÅÔ ÎÁ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ.
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-úÁÄÅÒÖÉ×ÁÅÔ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ ×ÉÄÅÏ ÎÁ ×ÒÅÍÑ
-ÏÔÏÂÒÁÖÅÎÉÑ ÏÄÎÏÇÏ ÐÏÌÑ, ÞÔÏ ÐÒÉ×ÏÄÉÔ Ë ÓÍÅÎÅ ÐÏÒÑÄËÁ ÐÏÌÅÊ.
-ðÒÅÄÐÏÌÁÇÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÉÓÐÒÁ×ÌÅÎÉÑ PAL ÆÉÌØÍÏ×, ÚÁÈ×ÁÞÅÎÎÙÈ
-Ó ÐÏÒÑÄËÏÍ ÐÏÌÅÊ, ÐÒÏÔÉ×ÏÐÏÌÏÖÎÙÍ ÐÏÒÑÄËÕ, ÉÓÐÏÌØÚÕÅÍÏÍÕ ÐÒÉ
-ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ ÆÉÌØÍÁ × ×ÉÄÅÏ.
-óÐÉÓÏË ÏÐÃÉÊ:
-.RSs
-.IPs t
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ "×ÅÒÈÎÅÅ ÐÅÒ×ÙÍ", ÐÒÉ ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ \-
-"ÎÉÖÎÅÅ ÐÅÒ×ÙÍ".
-æÉÌØÔÒ ÚÁÄÅÒÖÉÔ ÎÉÖÎÅÅ ÐÏÌÅ.
-.IPs b
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ "ÎÉÖÎÅÅ ÐÅÒ×ÙÍ", ÐÒÉ ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ \-
-"×ÅÒÈÎÅÅ ÐÅÒ×ÙÍ".
-æÉÌØÔÒ ÚÁÄÅÒÖÉÔ ×ÅÒÈÎÅÅ ÐÏÌÅ.
-.IPs p
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ É ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ ÓÏ×ÐÁÄÁÅÔ.
-üÔÏÔ ÒÅÖÉÍ ÓÕÝÅÓÔ×ÕÅÔ ÔÏÌØËÏ ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÎÁ ÎÅÇÏ ÍÏÖÎÏ ÂÙÌÏ ÓÏÓÌÁÔØÓÑ
-É ÕÐÒÏÓÔÉÔØ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÉÅ ÏÓÔÁÌØÎÙÈ ÏÐÃÉÊ. åÓÌÉ ÖÅ ×Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÅÇÏ
-×ÙÂÅÒÉÔÅ, ÆÉÌØÔÒ ÄÏÂÒÏÓÏ×ÅÓÔÎÏ ÎÉÞÅÇÏ ÎÅ ÂÕÄÅÔ ÄÅÌÁÔØ ;\-)
-.IPs a
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ ÏÐÒÅÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏ ÆÌÁÇÁÍ ÐÏÌÅÊ,
-ÐÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ ÐÒÑÍÏ ÐÒÏÔÉ×ÏÐÏÌÏÖÅÎ.
-æÉÌØÔÒ ×ÙÂÉÒÁÅÔ ÍÅÖÄÕ t É b ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ, ÉÓÐÏÌØÚÕÑ
-ÆÌÁÇÉ ÐÏÌÅÊ. åÓÌÉ ÉÎÆÏÒÍÁÃÉÑ Ï ÐÏÌÑÈ ÎÅÄÏÓÔÕÐÎÁ, ÔÏ ÒÁÂÏÔÁÅÔ ÔÁËÖÅ ËÁË É Ó u.
-.IPs u
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ ÎÅÉÚ×ÅÓÔÅÎ ÉÌÉ ÍÅÎÑÅÔÓÑ, ÐÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ
-ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ ÐÒÑÍÏ ÐÒÏÔÉ×ÏÐÏÌÏÖÅÎ.
-æÉÌØÔÒ ×ÙÂÉÒÁÅÔ ÍÅÖÄÕ t É b ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ, ÁÎÁÌÉÚÉÒÕÑ
-ÉÚÏÂÒÁÖÅÎÉÅ É ×ÙÂÉÒÁÑ ×ÁÒÉÁÎÔ, ÄÁÀÝÉÊ ÌÕÞÛÅÅ ÓÏ×ÐÁÄÅÎÉÅ ÍÅÖÄÕ ÐÏÌÑÍÉ.
-.IPs T
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ "×ÅÒÈÎÅÅ ÐÅÒ×ÙÍ", ÐÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ
-ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ ÎÅÉÚ×ÅÓÔÅÎ ÉÌÉ ÍÅÎÑÅÔÓÑ.
-æÉÌØÔÒ ×ÙÂÉÒÁÅÔ ÍÅÖÄÕ t É p, ÉÓÐÏÌØÚÕÑ ÁÎÁÌÉÚ ÉÚÏÂÒÁÖÅÎÉÑ.
-.IPs B
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ "ÎÉÖÎÅÅ ÐÅÒ×ÙÍ", ÐÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ
-ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ ÎÅÉÚ×ÅÓÔÅÎ ÉÌÉ ÍÅÎÑÅÔÓÑ.
-æÉÌØÔÒ ×ÙÂÉÒÁÅÔ ÍÅÖÄÕ b É p, ÉÓÐÏÌØÚÕÑ ÁÎÁÌÉÚ ÉÚÏÂÒÁÖÅÎÉÑ.
-.IPs A
-ðÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ÚÁÈ×ÁÔÅ ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÏ ÉÈ ÆÌÁÇÁÍ,
-ÐÏÒÑÄÏË ÐÏÌÅÊ ÐÒÉ ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ ÎÅÉÚ×ÅÓÔÅÎ ÉÌÉ ÍÅÎÑÅÔÓÑ.
-æÉÌØÔÒ ×ÙÂÉÒÁÅÔ ÍÅÖÄÕ t, b É p, ÉÓÐÏÌØÚÕÑ ÆÌÁÇÉ ÐÏÌÅÊ É ÁÎÁÌÉÚ
-ÉÚÏÂÒÁÖÅÎÉÑ. åÓÌÉ ÎÅÄÏÓÔÕÐÎÁ ÉÎÆÏÒÍÁÃÉÑ Ï ÐÏÌÑÈ, ÔÏ
-ÒÁÂÏÔÁÅÔ ÔÁË ÖÅ, ËÁË É Ó U.
-üÔÏ ÒÅÖÉÍ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-.IPs U
-îÅÉÚ×ÅÓÔÅÎ ÉÌÉ ÍÅÎÑÅÔÓÑ ÐÏÒÑÄÏË, ÉÓÐÏÌØÚÏ×ÁÎÎÙÊ ËÁË ÐÒÉ ÚÁÈ×ÁÔÅ, ÔÁË É
-ÐÒÉ ËÏÎ×ÅÒÔÉÒÏ×ÁÎÉÉ.
-æÉÌØÔÒ ×ÙÂÉÒÁÅÔ ÍÅÖÄÕ t, b É p, ÏÓÎÏ×Ù×ÁÑÓØ ÔÏÌØËÏ ÎÁ ÁÎÁÌÉÚÅ ÉÚÏÂÒÁÖÅÎÉÑ.
-.IPs v
-ðÏÄÒÏÂÎÁÑ ÏÐÅÒÁÃÉÑ.
-÷Ù×ÏÄÉÔ ×ÙÂÒÁÎÎÙÊ ÒÅÖÉÍ ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ É ÓÒÅÄÎÅË×ÁÄÒÁÔÉÞÎÏÅ ÏÔËÌÏÎÅÎÉÅ
-ÍÅÖÄÕ ÐÏÌÑÍÉ ÄÌÑ ×ÁÒÉÁÎÔÏ× t, b É p.
-.RE
-.
-.TP
-.B telecine[=start]
-ðÒÉÍÅÎÑÅÔ 3:2 ÔÅÌÅÓÉÎ ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ÞÁÓÔÏÔÙ ËÁÄÒÏ× ÎÁ 20%.
-÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÜÔÏ ÒÁÂÏÔÁÅÔ ÎÅÐÒÁ×ÉÌØÎÏ ÐÒÉ
-ÉÓÐÏÌØÚÏ×ÁÎÉÉ Ó MPlayer. ïÎ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
-Ó 'mencoder \-fps 30000/1001 \-ofps 30000/1001 \-vf telecine'.
-úÎÁÞÅÎÉÑ ÏÂÅÉÈ fps ÏÐÃÉÊ ÏÞÅÎØ ×ÁÖÎÙ!
-(âÕÄÅÔ ÎÁÒÕÛÅÎÁ A/V ÓÉÎÈÒÏÎÉÚÁÃÉÑ, ÅÓÌÉ ÏÎÉ ÎÅ×ÅÒÎÙ.)
-îÅÏÂÑÚÁÔÅÌØÎÙÊ ÐÁÒÁÍÅÔÒ start ÕËÁÚÙ×ÁÅÔ ÆÉÌØÔÒÕ, ÇÄÅ ÎÁÞÉÎÁÅÔÓÑ
-ÛÁÂÌÏÎ ÔÅÌÅÓÉÎÁ (0\-3).
-.
-.TP
-.B tinterlace[=mode]
-.\" FIXME untranslated "temporal field"!
-éÎÔÅÒÌÅÊÓÉÎÇ temporal field \- ÏÂßÅÄÉÎÑÅÔ ÐÁÒÕ ËÁÄÒÏ× × ÞÅÒÅÓÓÔÒÏÞÎÙÊ ËÁÄÒ,
-ÕÍÅÎØÛÁÑ ÞÁÓÔÏÔÕ ËÁÄÒÏ× ×Ä×ÏÅ.
-þÅÔÎÙÅ ËÁÄÒÙ ÐÅÒÅÍÅÝÁÀÔÓÑ × ×ÅÒÈÎÅÅ ÐÏÌÅ, ÎÅÞÅÔÎÙÅ \- × ÎÉÖÎÅÅ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÐÏÌÎÏÊ ÏÔÍÅÎÙ ÄÅÊÓÔ×ÉÑ ÆÉÌØÔÒÁ tfields (× ÒÅÖÉÍÅ 0).
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.PD 0
-.RSs
-.IPs 0
-þÅÔÎÙÅ ËÁÄÒÙ ÐÅÒÅÍÅÝÁÔØ × ×ÅÒÈÎÅÅ ÐÏÌÅ, ÎÅÞÅÔÎÙÅ \- × ÎÉÖÎÅÅ, ÓÏÚÄÁ×ÁÑ
-ËÁÄÒÙ ÐÏÌÏ×ÉÎÎÏÊ ×ÙÓÏÔÙ Ó ×Ä×ÏÅ ÍÅÎØÛÅÊ ÞÁÓÔÏÔÏÊ ËÁÄÒÏ×.
-.IPs 1
-÷Ù×ÏÄÉÔØ ÔÏÌØËÏ ÎÅÞÅÔÎÙÅ ËÁÄÒÙ, ÞÅÔÎÙÅ ÏÔÂÒÁÓÙ×ÁÀÔÓÑ; ×ÙÓÏÔÁ ÎÅ ÍÅÎÑÅÔÓÑ.
-.IPs 2
-÷Ù×ÏÄÉÔØ ÔÏÌØËÏ ÞÅÔÎÙÅ ËÁÄÒÙ, ÎÅÞÅÔÎÙÅ ÏÔÂÒÁÓÙ×ÁÀÔÓÑ; ×ÙÓÏÔÁ ÎÅ ÍÅÎÑÅÔÓÑ.
-.IPs 3
-òÁÓÛÉÒÑÔØ ËÁÖÄÙÊ ËÁÄÒ ÄÏ ÐÏÌÎÏÊ ×ÙÓÏÔÙ, ÎÏ ÚÁÌÉ×ÁÔØ ÎÅÄÏÓÔÁÀÝÉÅ ÓÔÒÏËÉ ÞÅÒÎÙÍ,
-ÞÁÓÔÏÔÁ ËÁÄÒÏ× ÎÅ ÍÅÎÑÅÔÓÑ.
-.IPs 4
-þÅÒÅÄÏ×ÁÔØ ÞÅÔÎÙÅ ÓÔÒÏËÉ ÞÅÔÎÙÈ ËÁÄÒÏ× Ó ÎÅÞÅÔÎÙÍÉ ÓÔÒÏËÁÍÉ ÎÅÞÅÔÎÙÈ ËÁÄÒÏ×.
-ðÏÌÏ×ÉÎÎÁÑ ÞÁÓÔÏÔÁ ËÁÄÒÏ×, ×ÙÓÏÔÁ ÎÅ ÍÅÎÑÅÔÓÑ.
-.RE
-.PD 1
-.
-.TP
-.B tfields[=ÒÅÖÉÍ[:ÐÏÒÑÄÏË_ÐÏÌÅÊ]]
-.\" FIXME untranslated "temporal field separation"
-Temporal field separation \- ÒÁÚÄÅÌÑÅÔ ÐÏÌÑ ÎÁ ËÁÄÒÙ,
-ÕÄ×ÁÉ×ÁÑ ×ÙÈÏÄÎÕÀ ÞÁÓÔÏÔÕ ËÁÄÒÏ×.
-ëÁË É ÆÉÌØÔÒ telecine, tfields ÂÕÄÅÔ ËÏÒÒÅËÔÎÏ ÒÁÂÏÔÁÔØ ÔÏÌØËÏ Ó
-MEncoder, É ÔÏÌØËÏ ÅÓÌÉ \-fps É \-ofps ÏÂÅ ÕÓÔÁÎÏ×ÌÅÎÙ ×
-ÖÅÌÁÅÍÕÀ (ÕÄ×ÏÅÎÎÕÀ) ÞÁÓÔÏÔÕ ËÁÄÒÏ×!
-.PD 0
-.RSs
-.IPs <ÒÅÖÉÍ>
-0: ïÓÔÁ×ÉÔØ ÐÏÌÑ ÎÅÉÚÍÅÎÎÙÍÉ (ÂÕÄÅÔ ÄÅÒÇÁÔØÓÑ/\:ÍÅÒÃÁÔØ).
-.br
-1: éÎÔÅÒÐÏÌÉÒÏ×ÁÔØ ÎÅÄÏÓÔÁÀÝÉÅ ÓÔÒÏËÉ. (éÓÐÏÌØÚÕÅÍÙÊ ÁÌÇÏÒÉÔÍ ÍÏÖÅÔ ÂÙÔØ
-ÎÅÄÏÓÔÁÔÏÞÎÏ ÈÏÒÏÛÉÍ.)
-.br
-.\" FIXME is translation correct?
-.\" Translate fields by 1/4 pixel with linear interpolation (no jump).
-2: ðÒÅÏÂÒÁÚÏ×ÁÔØ ÐÏÌÑ 1/4 ÐÉËÓÅÌÁ ÌÉÎÅÊÎÏÊ ÉÎÔÅÒÐÏÌÑÃÉÅÊ (ÄÅÒÇÁÔØÓÑ ÎÅ ÂÕÄÅÔ).
-.br
-.\" FIXME is translation correct?
-.\" Translate fields by 1/4 pixel with 4tap filter (higher quality) (default).
-4: ðÒÅÏÂÒÁÚÏ×ÁÔØ ÐÏÌÑ 1/4 ÐÉËÓÅÌÁ 4tap ÆÉÌØÔÒÏÍ (ÌÕÞÛÅ ËÁÞÅÓÔ×Ï) (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs <ÐÏÒÑÄÏË_ÐÏÌÅÊ>\ (õóôáòåìï)
-\-1: Á×ÔÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-òÁÂÏÔÁÅÔ, ÅÓÌÉ ÄÅËÏÄÅÒ ÜËÓÐÏÒÔÉÒÕÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÉÎÆÏÒÍÁÃÉÀ, É
-× ÃÅÐÏÞËÅ ÄÏ tfields ÎÅÔ ÎÉ ÏÄÎÏÇÏ ÆÉÌØÔÒÁ ÅÅ ÏÔÂÒÁÓÙ×ÁÀÝÅÇÏ, ÉÎÁÞÅ
-ÆÉÌØÔÒ ×ÏÚ×ÒÁÝÁÅÔÓÑ Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ ÒÅÖÉÍÁ 0 (×ÅÒÈÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ).
-.br
-0: ×ÅÒÈÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ
-.br
-1: ÎÉÖÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ
-.br
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ, ×ÏÚÍÏÖÎÏ, ÂÕÄÅÔ ÕÄÁÌÅÎÁ × ÂÕÄÕÝÉÈ ×ÅÒÓÉÑÈ.
-éÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÎÅÅ \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B yadif=[ÒÅÖÉÍ[:ÐÏÒÑÄÏË_ÐÏÌÅÊ]]
-åÝÅ ÏÄÉÎ ÆÉÌØÔÒ ÄÅÉÎÔÅÒÌÅÊÓÉÎÇÁ
-.PD 0
-.RSs
-.IPs <ÒÅÖÉÍ>
-0: ÷Ù×ÏÄÉÔ 1 ËÁÄÒ ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ.
-.br
-1: ÷Ù×ÏÄÉÔ 1 ËÁÄÒ ÄÌÑ ËÁÖÄÏÇÏ ÐÏÌÑ.
-.br
-.\" FIXME is translation correct ?
-2: ëÁË 0, ÎÏ ÐÒÏÐÕÓËÁÅÔ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÕÀ ÐÒÏ×ÅÒËÕ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔÉ.
-.br
-.\" FIXME is translation correct ?
-3: ëÁË 1, ÎÏ ÐÒÏÐÕÓËÁÅÔ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÕÀ ÐÒÏ×ÅÒËÕ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔÉ.
-.IPs <ÐÏÒÑÄÏË_ÐÏÌÅÊ>\ (õóôáòåìï)
-òÁÂÏÔÁÅÔ ÁÎÁÌÏÇÉÞÎÏ ÐÁÒÁÍÅÔÒÕ × tfields.
-.br
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ, ×ÏÚÍÏÖÎÏ, ÂÕÄÅÔ ÕÄÁÌÅÎÁ × ÂÕÄÕÝÉÈ ×ÅÒÓÉÑÈ.
-éÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÎÅÅ \-field\-dominance.
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[ÒÅÖÉÍ[:ÞÅÔÎÏÓÔØ[:qp]]]
-ëÏÍÐÅÎÓÉÒÕÀÝÉÊ Ä×ÉÖÅÎÉÅ ÄÅÉÎÔÅÒÌÅÊÓÅÒ.
-ïÎ ÔÒÅÂÕÅÔ ÎÁÌÉÞÉÑ ÏÄÎÏÇÏ ÐÏÌÑ × ËÁÄÒÅ, É, ÐÏÜÔÏÍÕ, ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
-×ÍÅÓÔÅ Ó tfields=1, yadif=1/3 ÉÌÉ ÁÎÁÌÏÇÉÞÎÙÍ ÆÉÌØÔÒÏÍ.
-.PD 0
-.RSs
-.IPs <ÒÅÖÉÍ>
-0: ÂÙÓÔÒÙÊ
-.br
-1: ÓÒÅÄÎÉÊ
-.br
-2: ÍÅÄÌÅÎÎÙÊ, ÉÔÅÒÁÔÉ×ÎÁÑ ÏÃÅÎËÁ Ä×ÉÖÅÎÉÑ
-.br
-.\" FIXME untranslated " multiple reference frames"!
-3: ÏÞÅÎØ ÍÅÄÌÅÎÎÙÊ, ËÁË 2 ÐÌÀÓ multiple reference frames
-.IPs <ÞÅÔÎÏÓÔØ>
-0 ÉÌÉ 1 ×ÙÂÉÒÁÅÔ ÉÓÐÏÌØÚÕÅÍÏÅ ÐÏÌÅ (ÚÁÍÅÞÁÎÉÅ: Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ ÐÏËÁ ÎÅ ÒÁÂÏÔÁÅÔ!).
-.IPs "<qp>\ "
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÄÏÌÖÎÙ ÄÁÔØ ÂÏÌÅÅ ÇÌÁÄËÏÅ ÐÏÌÅ ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ,
-ÎÏ ÍÅÎÅÅ ÏÐÔÉÍÁÌØÎÙÅ ÏÔÄÅÌØÎÙÅ ×ÅËÔÏÒÙ.
-.RE
-.PD 1
-.
-.TP
-.B boxblur=ÒÁÄÉÕÓ:ÓÉÌÁ[:ÒÁÄÉÕÓ:ÓÉÌÁ]
-ÂÌÏËÏ×ÏÅ ÒÁÚÍÙ×ÁÎÉÅ
-.PD 0
-.RSs
-.IPs <ÒÁÄÉÕÓ>
-ÓÉÌÁ ÆÉÌØÔÒÁ blur
-.IPs <power>
-ËÏÌÉÞÅÓÔ×Ï ÐÒÉÍÅÎÅÎÉÊ ÆÉÌØÔÒÁ
-.RE
-.PD 1
-.
-.TP
-.B sab=ÒÁÄÉÕÓ:pf:ÏÔÌÉÞÉÅ_×_Ã×ÅÔÅ[:ÒÁÄÉÕÓ:pf:ÏÔÌÉÞÉÅ_×_Ã×ÅÔÅ]
-ÒÁÚÍÙ×ÁÎÉÅ ÐÏ ÏÂÒÁÚÕ [shape adaptive blur]
-.PD 0
-.RSs
-.IPs <ÒÁÄÉÕÓ>
-ÓÉÌÁ ÆÉÌØÔÒÁ blur (~0.1\-4.0) (ÞÅÍ ÂÏÌØÛÅ, ÔÅÍ ÍÅÄÌÅÎÎÅÅ)
-.IPs "<pf>\ "
-ÓÉÌÁ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏÇÏ ÆÉÌØÔÒÁ (~0.1\-2.0)
-.IPs <ÏÔÌÉÞÉÅ_×_Ã×ÅÔÅ>
-ÍÁËÓÉÍÁÌØÎÏÅ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÐÉËÓÅÌÁÍÉ, ×ÓÅ ÅÝÅ ÓÞÉÔÁÀÝÉÍÉÓÑ ÏÄÉÎÁËÏ×ÙÍÉ (~0.1\-100.0)
-.RE
-.PD 1
-.
-.TP
-.B smartblur=ÒÁÄÉÕÓ:ÓÉÌÁ:ÐÏÒÏÇ[:ÒÁÄÉÕÓ:ÓÉÌÁ:ÐÏÒÏÇ]
-ÕÍÎÏÅ ÒÁÚÍÙ×ÁÎÉÅ
-.PD 0
-.RSs
-.IPs <ÒÁÄÉÕÓ>
-ÓÉÌÁ ÆÉÌØÔÒÁ blur (~0.1\-5.0) (ÞÅÍ ÂÏÌØÛÅ, ÔÅÍ ÍÅÄÌÅÎÎÅÅ)
-.IPs <ÓÉÌÁ>
-ÒÁÚÍÙ×ÁÎÉÅ (0.0\-1.0) ÉÌÉ ÒÅÚËÏÓÔØ (\-1.0\-0.0)
-.IPs <ÐÏÒÏÇ>
-.\" FIXME is translation correct flat areas = Ó×ÑÚÎÙÅ ÏÂÌÁÓÔÉ
-ÏÂÒÁÂÁÔÙ×ÁÔØ ×ÓÅ (0), ÏÂÒÁÂÁÔÙ×ÁÔØ Ó×ÑÚÎÙÅ ÏÂÌÁÓÔÉ (0\-30) ÉÌÉ ÏÂÒÁÂÁÔÙ×ÁÔØ
-ËÒÁÑ (\-30\-0)
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-éÓÐÒÁ×ÌÑÅÔ ÐÅÒÓÐÅËÔÉ×Õ ÆÉÌØÍÏ×, ÓÎÑÔÙÈ ÎÅ ÐÅÒÐÅÎÄÉËÕÌÑÒÎÏ ÜËÒÁÎÕ.
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-ËÏÏÒÄÉÎÁÔÙ ×ÅÒÈÎÅÇÏ ÌÅ×ÏÇÏ, ×ÅÒÈÎÅÇÏ ÐÒÁ×ÏÇÏ, ÎÉÖÎÅÇÏ ÌÅ×ÏÇÏ, ÎÉÖÎÅÇÏ ÐÒÁ×ÏÇÏ
-ÕÇÌÏ×
-.IPs "<t>\ \ "
-ÌÉÎÅÊÎÙÊ (0) ÉÌÉ ËÕÂÉÞÅÓËÉÊ (1) ÐÅÒÅÓÞÅÔ [resampling]
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-íÁÓÛÔÁÂÉÒÕÅÔ ÉÚÏÂÒÁÖÅÎÉÅ, Õ×ÅÌÉÞÉ×ÁÑ ÅÇÏ ×Ä×ÏÅ É ÓÇÌÁÖÉ×ÁÑ ÉÎÔÅÒÐÏÌÑÃÉÅÊ.
-.
-.TP
-.B "1bpp\ \ \ "
-ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ 1bpp ÂÉÔÏ×ÏÊ ËÁÒÔÙ × YUV/\:BGR 8/\:15/\:16/\:32
-.
-.TP
-.B down3dright[=ÓÔÒÏË]
-éÚÍÅÒÑÅÔ ÐÏÌÏÖÅÎÉÅ É ÒÁÚÍÅÒ ÓÔÅÒÅÏÓËÏÐÉÞÅÓËÉÈ ÉÚÏÂÒÁÖÅÎÉÊ.
-éÚ×ÌÅËÁÅÔ ÏÂÁ ÓÔÅÒÅÏ ÐÏÌÑ É ÒÁÚÍÅÝÁÅÔ ÉÈ ÏÄÎÏ ÚÁ ÄÒÕÇÉÍ,
-ÉÚÍÅÎÑÑ ÉÈ ÒÁÚÍÅÒ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÐÒÏÐÏÒÃÉÊ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÆÉÌØÍÁ.
-.PD 0
-.RSs
-.IPs <ÓÔÒÏË>
-ÞÉÓÌÏ ÓÔÒÏË ÄÌÑ ×ÙÂÏÒÁ ÉÚ ÓÅÒÅÄÉÎÙ ÉÚÏÂÒÁÖÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 12)
-.RE
-.PD 1
-.
-.TP
-.B bmovl=×ÉÄÉÍÏÓÔØ:ÐÒÏÚÒÁÞÎÏÓÔØ:fifo
-æÉÌØÔÒ bitmap Ï×ÅÒÌÅÑ ÞÉÔÁÅÔ bitmap ÄÁÎÎÙÅ ÉÚ FIFO É ÏÔÏÂÒÁÖÁÅÔ ÉÈ
-ÐÏ×ÅÒÈ ÉÚÏÂÒÁÖÅÎÉÑ, ÄÏÐÕÓËÁÑ ÎÅËÏÔÏÒÏÅ ÅÇÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ.
-îÅÂÏÌØÛÕÀ ÔÅÓÔÏ×ÕÀ ÐÒÏÇÒÁÍÍÕ ÄÌÑ bmovl ÓÍÏÔÒÉÔÅ ×
-TOOLS/bmovl\-test.c.
-.PD 0
-.RSs
-.IPs <×ÉÄÉÍÏÓÔØ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÆÌÁÇÁ '×ÉÄÉÍÏÓÔØ' (0=×ÉÄÉÍÙÊ, 1=ÓËÒÙÔÙÊ).
-.IPs <ÐÒÏÚÒÁÞÎÏÓÔØ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÆÌÁÇÁ 'ÐÒÏÚÒÁÞÎÏÓÔØ' (0=ÐÒÏÚÒÁÞÎÙÊ, 1=ÎÅÐÒÏÚÒÁÞÎÙÊ)
-.IPs <fifo>
-ÐÕÔØ/\:ÆÁÊÌ ÄÌÑ FIFO (ÉÍÅÎÏ×ÁÎÎÙÊ pipe, ÓÏÅÄÉÎÑÀÝÉÊ 'mplayer \-vf bmovl' Ó
-ËÏÎÔÒÏÌÉÒÕÀÝÉÍ ÐÒÉÌÏÖÅÎÉÅÍ)
-.RE
-.PD 1
-.sp 1
-.RS
-ëÏÍÁÎÄÙ FIFO:
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 ÛÉÒÉÎÁ ×ÙÓÏÔÁ xÐÏÚÉÃÉÑ yÐÏÚÉÃÉÑ ÁÌØÆÁ ÏÞÉÓÔËÁ"
-Ó ÐÏÓÌÅÄÕÀÝÉÍÉ ÛÉÒÉÎÁ*×ÙÓÏÔÁ*4 ÂÁÊÔÁÍÉ ÓÙÒÙÈ RGBA32 ÄÁÎÎÙÈ.
-.IPs "ABGR32 ÛÉÒÉÎÁ ×ÙÓÏÔÁ xÐÏÚÉÃÉÑ yÐÏÚÉÃÉÑ ÁÌØÆÁ ÏÞÉÓÔËÁ"
-Ó ÐÏÓÌÅÄÕÀÝÉÍÉ ÛÉÒÉÎÁ*×ÙÓÏÔÁ*4 ÂÁÊÔÁÍÉ ÓÙÒÙÈ ABGR32 ÄÁÎÎÙÈ.
-.IPs "RGB24 ÛÉÒÉÎÁ ×ÙÓÏÔÁ xÐÏÚÉÃÉÑ yÐÏÚÉÃÉÑ ÁÌØÆÁ ÏÞÉÓÔËÁ"
-Ó ÐÏÓÌÅÄÕÀÝÉÍÉ ÛÉÒÉÎÁ*×ÙÓÏÔÁ*3 ÂÁÊÔÁÍÉ ÓÙÒÙÈ RGB24 ÄÁÎÎÙÈ.
-.IPs "BGR24 ÛÉÒÉÎÁ ×ÙÓÏÔÁ xÐÏÚÉÃÉÑ yÐÏÚÉÃÉÑ ÁÌØÆÁ ÏÞÉÓÔËÁ"
-Ó ÐÏÓÌÅÄÕÀÝÉÍÉ ÛÉÒÉÎÁ*×ÙÓÏÔÁ*3 ÂÁÊÔÁÍÉ ÓÙÒÙÈ BGR24 ÄÁÎÎÙÈ.
-.IPs "ALPHA ÛÉÒÉÎÁ ×ÙÓÏÔÁ xÐÏÚÉÃÉÑ yÐÏÚÉÃÉÑ ÁÌØÆÁ ÏÞÉÓÔËÁ"
-éÚÍÅÎÑÅÔ ÁÌØÆÁ ÐÒÏÚÒÁÞÎÏÓÔØ ÕËÁÚÁÎÎÏÊ ÏÂÌÁÓÔÉ.
-.IPs "CLEAR ÛÉÒÉÎÁ ×ÙÓÏÔÁ xÐÏÚÉÃÉÑ yÐÏÚÉÃÉÑ"
-ïÞÉÝÁÅÔ ÏÂÌÁÓÔØ.
-.IPs OPAQUE
-ðÏÌÎÏÓÔØÀ ÏÔËÌÀÞÁÅÔ ÁÌØÆÁ ÐÒÏÚÒÁÞÎÏÓÔØ.
-ïÔÏÛÌÉÔÅ "ALPHA 0 0 0 0 0", ÞÔÏÂÙ ÓÎÏ×Á ÅÅ ÚÁÄÅÊÓÔ×Ï×ÁÔØ.
-.IPs "HIDE\ "
-óËÒÙ×ÁÅÔ bitmap.
-.IPs "SHOW\ "
-ðÏËÁÚÙ×ÁÅÔ bitmap.
-.RE
-.PD 1
-.sp 1
-.RS
-áÒÇÕÍÅÎÔÙ:
-.RE
-.PD 0
-.RSs
-.IPs "<ÛÉÒÉÎÁ>, <×ÙÓÏÔÁ>"
-ÒÁÚÍÅÒ ÉÚÏÂÒÁÖÅÎÉÑ/ÏÂÌÁÓÔÉ
-.IPs "<xÐÏÚÉÃÉÑ>, <yÐÏÚÉÃÉÑ>"
-îÁÞÉÎÁÅÔ ×Ù×ÏÄ Ó ÐÏÚÉÃÉÉ x/y.
-.IPs <ÁÌØÆÁ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÏÔËÌÏÎÅÎÉÅ ÁÌØÆÁ.
-åÓÌÉ ×Ù ÕÓÔÁÎÏ×ÉÔÅ ÜÔÏ ÚÎÁÞÅÎÉÅ × \-255, ÔÏ ÓÍÏÖÅÔÅ ÚÁÔÅÍ ÐÏÓÌÁÔØ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ
-ALPHA\-ËÏÍÁÎÄ, ÞÔÏÂÙ ÕÓÔÁÎÏ×ÉÔØ ÏÂÌÁÓÔØ × \-225, \-200, \-175 É ÔÁË ÄÁÌÅÅ ÄÌÑ
-ËÒÁÓÉ×ÏÇÏ fade\-in\-ÜÆÆÅËÔÁ [ÐÌÁ×ÎÏÇÏ ÐÒÏÑ×ÌÅÎÉÑ]! ;)
-.RSss
-0: ËÁÔÏÅ ÖÅ, ËÁË É ÂÙÌÏ
-.br
-255: óÄÅÌÁÔØ ×ÓÅ ÎÅÐÒÏÚÒÁÞÎÙÍ.
-.br
-\-255: óÄÅÌÁÔØ ×ÓÅ ÐÒÏÚÒÁÞÎÙÍ.
-.REss
-.IPs <ÏÞÉÓÔÉÔØ>
-ïÞÉÝÁÅÔ ÆÒÅÊÍÂÕÆÅÒ ÐÅÒÅÄ ×Ù×ÏÄÏÍ.
-.RSss
-0: éÚÏÂÒÁÖÅÎÉÅ ÂÕÄÅÔ ×Ù×ÅÄÅÎÏ ÐÒÑÍÏ ÐÏ×ÅÒÈ ÓÔÁÒÏÇÏ, ÔÁË ÞÔÏ ×ÁÍ ÎÅ ÐÏÔÒÅÂÕÅÔÓÑ
-ÐÅÒÅÄÁ×ÁÔØ 1.8MB RGBA32 ÄÁÎÎÙÈ ËÁÖÄÙÊ ÒÁÚ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÎÅÂÏÌØÛÏÊ ÞÁÓÔÉ ÜËÒÁÎÁ.
-.br
-1: ÏÞÉÓÔÉÔØ
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]step
-òÅÎÄÅÒÉÔ ÔÏÌØËÏ ËÁÖÄÙÊ n\-Ê ËÁÄÒ ÉÌÉ ËÁÖÄÙÊ ×ÎÕÔÒÅÎÎÉÊ (ËÌÀÞÅ×ÏÊ) ËÁÄÒ.
-.sp 1
-åÓÌÉ ×ÙÚ×ÁÔØ ÜÔÏÔ ÆÉÌØÔÒ Ó I (× ×ÅÒÈÎÅÍ ÒÅÇÉÓÔÒÅ) × ËÁÞÅÓÔ×Å ÐÁÒÁÍÅÔÒÁ, ÔÏ
-.B ÔÏÌØËÏ
-ËÌÀÞÅ×ÙÅ ËÁÄÒÙ ÂÕÄÕÔ ÒÅÎÄÅÒÉÔÓÑ.
-äÌÑ DVD ÜÔÏ, ËÁË ÐÒÁ×ÉÌÏ, ÏÚÎÁÞÁÅÔ ÏÄÉÎ ÉÚ 15/12 ËÁÄÒÏ× (IBBPBBPBBPBBPBB),
-ÄÌÑ AVI ÜÔÏ ÚÎÁÞÉÔ ËÁÖÄÕÀ ÓÍÅÎÕ ÓÃÅÎÙ ÉÌÉ ÚÎÁÞÅÎÉÅ keyint (ÓÍÏÔÒÉÔÅ ÚÎÁÞÅÎÉÅ
-\-lavcopts keyint= , ÅÓÌÉ ÉÓÐÏÌØÚÕÅÔÅ MEncoder ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ ×ÉÄÅÏ).
-.sp 1
-ëÏÇÄÁ ÎÁÊÄÅÎ ËÌÀÞÅ×ÏÊ ËÁÄÒ, ×Ù×ÏÄÉÔÓÑ 'I!' Ó ÐÏÓÌÅÄÕÀÝÉÍ ÓÉÍ×ÏÌÏÍ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ,
-ÏÓÔÁ×ÌÑÑ ÔÅËÕÝÕÀ ÓÔÒÏËÕ ×Ù×ÏÄÁ MPlayer/\:MEncoder ×ÉÄÉÍÏÊ ÎÁ ÜËÒÁÎÅ, ÐÏÔÏÍÕ ÞÔÏ
-ÏÎÁ ÓÏÄÅÒÖÉÔ ×ÒÅÍÑ (× ÓÅËÕÎÄÁÈ) É ÎÏÍÅÒ ËÌÀÞÅ×ÏÇÏ ËÁÄÒÁ
-(÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÉÎÆÏÒÍÁÃÉÀ ÄÌÑ ÒÁÚÒÅÚÁÎÉÑ AVI.).
-.sp 1
-åÓÌÉ ×ÙÚ×ÁÔØ ÆÉÌØÔÒ Ó ÞÉÓÌÏ×ÙÍ ÐÁÒÁÍÅÔÒÏÍ 'step' ÔÏ ÔÏÌØËÏ ËÁÖÄÙÊ 'step'
-ËÁÄÒ ÂÕÄÅÔ ÒÅÎÄÅÒÉÔØÓÑ.
-.sp 1
-åÓÌÉ ÐÅÒÅÄ ÞÉÓÌÏÍ ÕËÁÚÁÔØ 'i' (× ÎÉÖÎÅÍ ÒÅÇÉÓÔÒÅ), ÔÏ (ËÁË É Ó I ÐÁÒÁÍÅÔÒÏÍ)
-ÂÕÄÅÔ ×Ù×ÏÄÉÔØÓÑ 'I!'.
-.sp 1
-åÓÌÉ ÕËÁÚÁÔØ ÔÏÌØËÏ i, ÔÏ ÎÉÞÅÇÏ, ËÒÏÍÅ ×Ù×ÏÄÁ I!, ÄÅÌÁÔØÓÑ ÎÅ ÂÕÄÅÔ.
-.
-.TP
-.B tile=xtiles:ytiles:output:start:delta
-òÁÓÐÏÌÁÇÁÅÔ ÍÏÚÁÉËÏÊ ÎÅÓËÏÌØËÏ ÉÚÏÂÒÁÖÅÎÉÊ × ÏÄÎÏÍ ÂÏÌØÛÅÇÏ ÒÁÚÍÅÒÁ.
-åÓÌÉ ×Ù ÎÅ ÕËÁÚÙ×ÁÅÔÅ ÐÁÒÁÍÅÔÒ ÉÌÉ ÕËÁÚÙ×ÁÅÔÅ ÚÎÁÞÅÎÉÅ ÍÅÎØÛÅ 0,
-ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÏÓÔÁÎÏ×ÉÔØÓÑ, ËÏÇÄÁ ÕÄÏ×ÌÅÔ×ÏÒÅÎÙ (... \-vf tile=10:5 ...).
-÷ÏÚÍÏÖÎÏ, ÐÏÍÅÓÔÉÔØ ÆÉÌØÔÒ scale ÐÅÒÅÄ tile ÂÕÄÅÔ ÈÏÒÏÛÅÊ ÉÄÅÅÊ :\-)
-.sp 1
-óÐÉÓÏË ÐÁÒÁÍÅÔÒÏ×:
-.sp 1
-.PD 0
-.RSs
-.IPs <xtiles>
-ËÏÌÉÞÅÓÔ×Ï ÜÌÅÍÅÎÔÏ× ÍÏÚÁÉËÉ ÐÏ ÏÓÉ x (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5)
-.IPs <ytiles>
-ËÏÌÉÞÅÓÔ×Ï ÜÌÅÍÅÎÔÏ× ÍÏÚÁÉËÉ ÐÏ ÏÓÉ y (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5)
-.IPs <output>
-òÅÎÄÅÒÉÔ ÍÏÚÁÉËÕ, ËÏÇÄÁ ÄÏÓÔÉÇÎÕÔÏ ËÏÌÉÞÅÓÔ×Ï ËÁÄÒÏ× 'output', ÇÄÅ 'output'
-ÄÏÌÖÎÏ ÂÙÔØ ÞÉÓÌÏÍ, ÍÅÎØÛÉÍ xtile * ytile.
-îÅÄÏÓÔÁÀÝÉÅ ÜÌÅÍÅÎÔÙ ÍÏÚÁÉËÉ ÏÓÔÁÀÔÓÑ ÐÕÓÔÙÍÉ.
-÷Ù ÍÏÖÅÔÅ, ÎÁÐÒÉÍÅÒ, ÚÁÐÉÓÙ×ÁÔØ ÍÏÚÁÉËÕ 8 * 7 ËÁÖÄÙÅ 50 ËÁÄÒÏ×, ÞÔÏÂÙ
-ÐÏÌÕÞÁÔØ ÏÄÎÏ ÉÚÏÂÒÁÖÅÎÉÅ ËÁÖÄÙÅ 2 ÓÅËÕÎÄÙ ÐÒÉ 25 fps.
-.IPs <start>
-ÔÏÌÝÉÎÁ ×ÎÅÛÎÅÊ ÇÒÁÎÉÃÙ × ÐÉËÓÅÌÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2)
-.IPs <delta>
-ÔÏÌÝÉÎÁ ×ÎÕÔÒÅÎÎÅÊ ÇÒÁÎÉÃÙ × ÐÉËÓÅÌÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 4)
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:w:h:t]
-ðÏÄÁ×ÌÑÅÔ ÌÏÇÏÔÉÐ TV ËÁÎÁÌÁ ÐÒÏÓÔÏÊ ÉÎÔÅÒÐÏÌÑÃÉÅÊ ÏËÒÕÖÁÀÝÉÈ ÐÉËÓÅÌÏ×.
-ðÒÏÓÔÏ ÚÁÄÁÊÔÅ ËÏÏÒÄÉÎÁÔÙ ÐÒÑÍÏÕÇÏÌØÎÉËÁ, ÎÁËÒÙ×ÁÀÝÅÇÏ ÌÏÇÏÔÉÐ É
-ÕÂÅÄÉÔÅÓØ, ÞÔÏ ÏÎ ÐÒÏÐÁÌ (É ÐÏÑ×ÉÌÏÓØ ÎÅÞÔÏ ÄÁÖÅ ÂÏÌÅÅ ÂÅÚÏÂÒÁÚÎÏÅ \-
-×ÓÑËÏÅ ÓÌÕÞÁÅÔÓÑ)
-.PD 0
-.RSs
-.IPs <x>,<y>
-×ÅÒÈÎÉÊ ÌÅ×ÙÊ ÕÇÏÌ ÌÏÇÏÔÉÐÁ
-.IPs <w>,<h>
-ÛÉÒÉÎÁ É ×ÙÓÏÔÁ ÐÒÑÍÏÕÇÏÌØÎÉËÁ
-.IPs <t>
-ôÏÌÝÉÎÁ ÒÁÚÍÙÔÏÊ ÇÒÁÎÉÃÙ ÐÒÑÍÏÕÇÏÌØÎÉËÁ (ÄÏÂÁ×ÌÑÅÔÓÑ Ë w É h).
-ëÏÇÄÁ ÕÓÔÁÎÏ×ÌÅÎÁ × \-1, ÎÁ ÜËÒÁÎ ×Ù×ÏÄÉÔÓÑ ÚÅÌÅÎÙÊ ÐÒÑÍÏÕÇÏÌØÎÉË ÄÌÑ
-ÏÂÌÅÇÞÅÎÉÑ ÐÏÉÓËÁ ÐÒÁ×ÉÌØÎÙÈ ÐÁÒÁÍÅÔÒÏ× x,y,w,h.
-.RE
-.PD 1
-.
-.TP
-.B remove\-logo=/ÐÕÔØ/Ë/ÆÁÊÌÕ_Ó_ÌÏÇÏÔÉÐÏÍ.pgm
-ðÏÄÁ×ÌÑÅÔ ÌÏÇÏÔÉÐ TV ËÁÎÁÌÁ, ÉÓÐÏÌØÚÕÑ PGM ÉÌÉ PPM ÆÁÊÌ
-ÉÚÏÂÒÁÖÅÎÉÑ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÉËÓÅÌÏ×, ÓÏÓÔÁ×ÌÑÀÝÉÈ ÌÏÇÏÔÉÐ.
-ûÉÒÉÎÁ É ×ÙÓÏÔÁ ÉÚÏÂÒÁÖÅÎÉÑ × ÆÁÊÌÅ É Õ ÏÂÒÁÂÁÔÙ×ÁÅÍÏÇÏ ÆÉÌØÍÁ
-ÄÏÌÖÎÙ ÓÏ×ÐÁÄÁÔØ.
-äÌÑ ÐÏÄÁ×ÌÅÎÉÑ ÉÓÐÏÌØÚÕÅÔ ÉÚÏÂÒÁÖÅÎÉÅ\-ÆÉÌØÔÒ É ÁÌÇÏÒÉÔÍ ËÒÕÇÏ×ÏÇÏ
-ÒÁÚÍÙ×ÁÎÉÑ [circular blur].
-.RSs
-.IPs /ÐÕÔØ/Ë/ÆÁÊÌÕ_Ó_ÌÏÇÏÔÉÐÏÍ.pgm
-[ÐÕÔØ] + ÉÍÑ ÆÁÊÌÁ Ó ÉÚÏÂÒÁÖÅÎÉÅÍ\-ÆÉÌØÔÒÏÍ.
-.RE
-.
-.TP
-.B zrmjpeg[=ÏÐÃÉÉ]
-ðÒÏÇÒÁÍÍÎÙÊ ËÏÄÉÒÏ×ÝÉË YV12 × MJPEG ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÏ×ÍÅÓÔÎÏ Ó ÄÒÁÊ×ÅÒÏÍ
-×Ù×ÏÄÁ ×ÉÄÅÏ zr2.
-.RSs
-.IPs maxheight=<h>|maxwidth=<w>
-üÔÉ ÏÐÃÉÉ ÕÓÔÁÎÁ×ÌÉ×ÁÀÔ ÍÁËÓÉÍÁÌØÎÕÀ ÛÉÒÉÎÕ É ×ÙÓÏÔÕ ËÏÔÏÒÙÅ ÍÏÖÅÔ
-ÏÂÒÁÂÁÔÙ×ÁÔØ zr ËÁÒÔÁ (ÎÁ ÔÅËÕÝÉÊ ÍÏÍÅÎÔ ÕÒÏ×ÅÎØ ÆÉÌØÔÒÏ× MPlayer ÎÅ
-ÍÏÖÅÔ ÉÈ ÚÁÐÒÁÛÉ×ÁÔØ).
-.IPs {dc10+,dc10,buz,lml33}\-{PAL|NTSC}
-éÓÐÏÌØÚÕÊÔÅ ÜÔÉ ÏÐÃÉÉ ÄÌÑ Á×ÔÏÍÁÔÉÞÅÓËÏÊ ÕÓÔÁÎÏ×ËÉ maxwidth É maxheight
-× ÚÎÁÞÅÎÉÑ, ÉÚ×ÅÓÔÎÙÅ ÄÌÑ ËÏÍÂÉÎÁÃÉÉ ËÁÒÔÁ/\:ÒÅÖÉÍ.
-÷ÅÒÎÙÅ ÏÐÃÉÉ, ÎÁÐÒÉÍÅÒ: dc10\-PAL É buz\-NTSC (ÐÏ ÕÍÏÌÞÁÎÉÀ: dc10+PAL)
-.IPs color|bw
-÷ÙÂÉÒÁÅÔ Ã×ÅÔÎÏÅ ÉÌÉ ÞÅÒÎÏ\-ÂÅÌÏÅ ËÏÄÉÒÏ×ÁÎÉÅ.
-þÅÒÎÏ\-ÂÅÌÏÅ ÒÁÂÏÔÁÅÔ ÂÙÓÔÒÅÅ.
-ÐÏ ÕÍÏÌÞÁÎÉÀ \- Ã×ÅÔÎÏÅ.
-.IPs hdec={1,2,4}
-çÏÒÉÚÏÎÔÁÌØÎÏÅ ÐÒÏÒÅÖÉ×ÁÎÉÅ 1, 2 ÉÌÉ 4.
-.IPs vdec={1,2,4}
-÷ÅÒÔÉËÁÌØÎÏÅ ÐÒÏÒÅÖÉ×ÁÎÉÅ 1, 2 ÉÌÉ 4.
-.IPs quality=1\-20
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÁÞÅÓÔ×Ï JPEG ÓÖÁÔÉÑ [îáéìõþûåå] 1 \- 20 [ïþåîø ðìïèïå].
-.IPs fd|nofd
-ÐÏ ÕÍÏÌÞÁÎÉÀ, ÐÒÏÒÅÖÉ×ÁÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÓÑ, ÔÏÌØËÏ ÅÓÌÉ ÏÂÏÒÕÄÏ×ÁÎÉÅ Zoran
-ÍÏÖÅÔ ÏÔÍÁÓÛÔÁÂÉÒÏ×ÁÔØ ÐÏÌÕÞÉ×ÛÉÅÓÑ MJPEG ÉÚÏÂÒÁÖÅÎÉÑ ÄÏ ÏÒÉÇÉÎÁÌØÎÏÇÏ
-ÒÁÚÍÅÒÁ. ïÐÃÉÑ fd ÕËÁÚÙ×ÁÅÔ ÆÉÌØÔÒÕ ×ÓÅÇÄÁ ÐÒÏÉÚ×ÏÄÉÔØ
-ÚÁÐÒÏÛÅÎÎÏÅ ÐÒÏÒÅÖÉ×ÁÎÉÅ (ÂÅÚÏÂÒÁÚÎÏ).
-.RE
-.
-.TP
-.B screenshot
-ðÏÚ×ÏÌÑÅÔ ÚÁÈ×ÁÔÙ×ÁÔØ ÓËÒÉÎÛÏÔÙ ÆÉÌØÍÁ, Ó ÐÏÍÏÝØÀ
-ËÏÍÁÎÄ ÐÏÄÞÉÎÅÎÎÏÇÏ ÒÅÖÉÍÁ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÐÒÉ×ÑÚÁÔØ Ë
-ËÏÍÂÉÎÁÃÉÑÍ ËÌÁ×ÉÛ. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × ÄÏËÕÍÅÎÔÁÃÉÉ
-ÐÏ ÐÏÄÞÉÎÅÎÎÏÍÕ ÒÅÖÉÍÕ É ÒÁÚÄÅÌÅ éîôåòáëôé÷îïå õðòá÷ìåîéå.
-÷ ÔÅËÕÝÉÊ ËÁÔÁÌÏÇ ÂÕÄÕÔ ÚÁÐÉÓÁÎÙ ÆÁÊÌÙ 'shotNNNN.png', ÎÁÞÉÎÁÑ Ó
-ÐÅÒ×ÏÇÏ ÄÏÓÔÕÐÎÏÇÏ ÎÏÍÅÒÁ \- ÓÕÝÅÓÔ×ÕÀÝÉÅ ÆÁÊÌÙ ÎÅ ÐÅÒÅÚÁÐÉÓÙ×ÁÀÔÓÑ.
-æÉÌØÔÒ ÎÅ ×ÎÏÓÉÔ ÎÁËÌÁÄÎÙÈ ÒÁÓÈÏÄÏ×, ËÏÇÄÁ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ, É ÒÁÂÏÔÁÅÔ Ó
-ÌÀÂÙÍ ÐÒÏÓÔÒÁÎÓÔ×ÏÍ Ã×ÅÔÏ×, ÔÁË ÞÔÏ ÅÇÏ ÓÐÏËÏÊÎÏ ÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ×
-ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ.
-.RE
-.
-.TP
-.B "ass\ \ \ \ "
-ðÏÍÅÝÁÅÔ ÒÅÎÄÅÒÉÎÇ SSA/ASS ÓÕÂÔÉÔÒÏ× × ÕËÁÚÁÎÎÕÀ ÔÏÞËÕ ÃÅÐÏÞËÉ ÆÉÌØÔÒÏ×.
-éÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ Ó ÏÐÃÉÅÊ \-ass.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-ðÏÍÅÝÁÅÔ ÒÅÎÄÅÒÉÎÇ SSA/ASS ÐÅÒÅÄ ÆÉÌØÔÒÏÍ screenshot.
-óËÒÉÎÛÏÔÙ, ÐÏÌÕÞÁÅÍÙÅ ÔÁËÉÍ ÓÐÏÓÏÂÏÍ, ÂÕÄÕÔ ÓÏÄÅÒÖÁÔØ ÓÕÂÔÉÔÒÙ.
-.RE
-.PD 1
-.
-.TP
-.B blackframe[=ËÏÌÉÞÅÓÔ×Ï:ÐÏÒÏÇ]
-îÁÈÏÄÉÔ (ÐÏÞÔÉ) ÐÏÌÎÏÓÔØÀ ÞÅÒÎÙÅ ËÁÄÒÙ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÅÒÅÈÏÄÏ× ÍÅÖÄÕ ÇÌÁ×ÁÍÉ ÉÌÉ ÒÅËÌÁÍÙ.
-÷Ù×ÏÄÉÍÙÅ ÌÉÎÉÉ ÓÏÄÅÒÖÁÔ ÎÏÍÅÒ ÎÁÊÄÅÎÎÏÇÏ ËÁÄÒÁ, ÐÒÏÃÅÎÔ ÞÅÒÎÏÔÙ,
-ÔÉÐ ËÁÄÒÁ É ÎÏÍÅÒ ÐÏÓÌÅÄÎÅÇÏ ×ÓÔÒÅÞÁ×ÛÅÇÏÓÑ ËÌÀÞÅ×ÏÇÏ ËÁÄÒÁ.
-.RSs
-.IPs <ËÏÌÉÞÅÓÔ×Ï>
-ëÏÌÉÞÅÓÔ×Ï ÐÉËÓÅÌÏ× × ÐÒÏÃÅÎÔÁÈ, ÚÎÁÞÅÎÉÑ ËÏÔÏÒÙÈ ÄÏÌÖÎÙ ÂÙÔØ ÎÉÖÅ ÐÏÒÏÇÏ×ÏÇÏ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 98).
-.IPs <ÐÏÒÏÇ>
-ðÏÒÏÇ, ÎÉÖÅ ËÏÔÏÒÏÇÏ ÚÎÁÞÅÎÉÅ ÐÉËÓÅÌÁ ÓÞÉÔÁÅÔÓÑ ÞÅÒÎÙÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 32).
-.RE
-.
-.
-.
-.SH "ïâýéå ïðãéé ëïäéòï÷áîéñ (ôïìøëï MENCODER)"
-.
-.TP
-.B \-audio\-delay <ÌÀÂÏÅ ×ÅÝÅÓÔ×ÅÎÎÏÅ ÞÉÓÌÏ>
-úÁÄÅÒÖÉ×ÁÅÔ ÌÉÂÏ ×ÉÄÅÏ, ÌÉÂÏ ÁÕÄÉÏ, ÕÓÔÁÎÁ×ÌÉ×ÁÑ ÐÏÌÅ delay ×
-ÚÁÇÏÌÏ×ËÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0).
-ðÒÉ ÜÔÏÍ ÎÉ ÏÄÉÎ ÉÚ ÐÏÔÏËÏ× ÎÅ ÚÁÄÅÒÖÉ×ÁÅÔÓÑ, ÎÏ ÐÒÏÉÇÒÙ×ÁÔÅÌØ
-ÚÁÍÅÔÉÔ delay ÆÌÁÇ É ÓÄÅÌÁÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ËÏÍÐÅÎÓÁÃÉÀ.
-ðÏÌÏÖÉÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÚÁÄÅÒÖÉ×ÁÀÔ Ú×ÕË, ÏÔÒÉÃÁÔÅÌØÎÙÅ \-
-×ÉÄÅÏ. úÁÍÅÔØÔÅ, ÞÔÏ ÜÔÁ ÏÐÃÉÑ × ÔÏÞÎÏÓÔÉ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÁ
-ÏÐÃÉÉ \-delay.
-îÁÐÒÉÍÅÒ, ÅÓÌÉ ×ÉÄÅÏ ×ÏÓÐÒÏÉÚ×ÏÄÉÔÓÑ ÐÒÁ×ÉÌØÎÏ Ó \-delay 0.2,
-×Ù ÍÏÖÅÔÅ ÉÓÐÒÁ×ÉÔØ ÅÇÏ × MEncoder, ÉÓÐÏÌØÚÕÑ \-audio\-delay \-0.2.
-.sp 1
-îÁ ÔÅËÕÝÉÊ ÍÏÍÅÎÔ ÜÔÁ ÏÐÃÉÑ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÓÏ ÓÔÁÎÄÁÒÔÎÙÍ
-ÍÕÌØÔÉÐÌÅËÓÏÒÏÍ (\-of avi). ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÒÕÇÏÇÏ ÍÕÌØÔÉÐÌÅËÓÏÒÁ
-×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÍÅÓÔÏ ÎÅÅ \-delay.
-.
-.TP
-.B \-audio\-density <1\-50>
-.\" FIXME is translation correct? chunks = ÂÌÏËÉ
-ëÏÌÉÞÅÓÔ×Ï ÁÕÄÉÏ ÂÌÏËÏ× [chunks] × ÓÅËÕÎÄÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ 2 ÄÌÑ ÂÌÏËÏ× ÄÌÉÎÏÊ × 0.5ÓÅË).
-.br
-.I úáíåþáîéå:
-ôÏÌØËÏ CBR, VBR ÉÇÎÏÒÉÒÕÅÔ ÜÔÕ ÏÐÃÉÉ, ÐÏÓËÏÌØËÕ ÓËÌÁÄÙ×ÁÅÔ ËÁÖÄÙÊ ÐÁËÅÔ × ÎÏ×ÙÊ
-ÂÌÏË.
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÄÌÉÔÅÌØÎÏÓÔØ ÐÅÒÉÏÄÁ ÂÕÆÅÒÉÚÁÃÉÉ ÁÕÄÉÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.5ÓÅË).
-.
-.TP
-.B \-fafmttag <format>
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ ÔÜÇÁ ÁÕÄÉÏ ÆÏÒÍÁÔÁ × ×ÙÈÏÄÎÏÍ ÆÁÊÌÅ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-÷ÙÈÏÄÎÏÊ ÆÁÊÌ ÂÕÄÅÔ ÉÍÅÔØ ÔÜÇ ÁÕÄÉÏ ÆÏÒÍÁÔÁ 0x55 (mp3).
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÑ fourcc ×ÉÄÅÏ × ×ÙÈÏÄÎÏÍ ÆÁÊÌÅ.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-÷ÙÈÏÄÎÏÊ ÆÁÊÌ ÂÕÄÅÔ ÉÍÅÔØ fourcc 'div3'.
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÐÒÏÐÏÒÃÉÉ, ÈÒÁÎÑÝÉÅÓÑ × AVI OpenDML vprp ÚÁÇÏÌÏ×ËÅ.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó '\-ovc copy', ÄÌÑ ÉÚÍÅÎÅÎÉÑ ËÏÜÆÆÉÃÉÅÎÔÁ
-ÐÒÏÐÏÒÃÉÊ.
-.
-.TP
-.B \-frameno\-file <ÉÍÑ_ÆÁÊÌÁ> (õóôáòåìï)
-õËÁÚÙ×ÁÅÔ ÎÁÚ×ÁÎÉÅ ÁÕÄÉÏ ÆÁÊÌÁ Ó ÓÏÏÔ×ÅÔÓÔ×ÉÅÍ ÎÏÍÅÒÏ× ËÁÄÒÏ×,
-ÓÏÚÄÁÎÎÏÇÏ ÐÒÉ ÐÅÒ×ÏÍ (ÔÏÌØËÏ ÁÕÄÉÏ) ÐÒÏÈÏÄÅ ÓÐÅÃÉÁÌØÎÏÇÏ
-ÔÒÅÈÐÒÏÈÏÄÎÏÇÏ ÒÅÖÉÍÁ ËÏÄÉÒÏ×ÁÎÉÑ.
-.br
-.I úáíåþáîéå:
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÏÇÏ ÒÅÖÉÍÁ ÓËÏÒÅÅ ×ÓÅÇÏ ÐÒÉ×ÅÄÅÔ Ë A\-V ÒÁÓÓÉÎÈÒÏÎÉÚÁÃÉÉ.
-îÅ ÉÓÐÏÌØÚÕÊÔÅ ÅÇÏ. ïÎ ÏÓÔÁ×ÌÅÎ ÔÏÌØËÏ ÄÌÑ ÏÂÒÁÔÎÏÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ É
-× ÂÕÄÕÝÉÈ ×ÅÒÓÉÑÈ, ×ÏÚÍÏÖÎÏ, ÂÕÄÅÔ ÕÄÁÌÅÎ.
-.
-.TP
-.B \-hr\-edl\-seek
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÂÏÌÅÅ ÔÏÞÎÙÊ, ÎÏ ÚÎÁÞÉÔÅÌØÎÏ ÂÏÌÅÅ ÍÅÄÌÅÎÎÙÊ
-ÍÅÔÏÄ ÐÒÏÐÕÓËÁ ÏÂÌÁÓÔÅÊ. ïÂÌÁÓÔÉ, ÐÏÍÅÞÅÎÎÙÅ ÄÌÑ ÐÒÏÐÕÓËÁ, × ÜÔÏÍ
-ÓÌÕÞÁÅ ÎÅ ÐÅÒÅÍÁÔÙ×ÁÀÔÓÑ. ÷ÍÅÓÔÏ ÜÔÏÇÏ ÄÅËÏÄÉÒÕÀÔÓÑ ×ÓÅ ËÁÄÒÙ, ÎÏ
-ËÏÄÉÒÕÀÔÓÑ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ ÔÏÌØËÏ ÔÒÅÂÕÅÍÙÅ.
-üÔÏ ÐÏÚ×ÏÌÑÅÔ ÎÁÞÉÎÁÔØ ÎÅ Ó ËÌÀÞÅ×ÏÇÏ ËÁÄÒÁ.
-.br
-.I úáíåþáîéå:
-îÅ ÇÁÒÁÎÔÉÒÕÅÔÓÑ ÐÒÁ×ÉÌØÎÁÑ ÒÁÂÏÔÁ Ó '\-ovc copy'.
-.
-.TP
-.B \-info <ÏÐÃÉÑ1:ÏÐÃÉÑ2:...> (ÔÏÌØËÏ AVI)
-õËÁÚÙ×ÁÅÔ ÉÎÆÏÒÍÁÃÉÏÎÎÙÊ ÚÁÇÏÌÏ×ÏË ÄÌÑ ×ÙÈÏÄÎÏÇÏ AVI ÆÁÊÌÁ.
-.sp 1
-äÏÓÔÕÐÎÙÅ ÏÐÃÉÉ:
-.RSs
-.IPs "help\ "
-ðÏËÁÚÙ×ÁÅÔ ÜÔÏ ÏÐÉÓÁÎÉÅ.
-.IPs name=<ÚÎÁÞÅÎÉÅ>
-ÚÁÇÏÌÏ×ÏË ÐÒÏÉÚ×ÅÄÅÎÉÑ
-.IPs artist=<ÚÎÁÞÅÎÉÅ>
-ÁÒÔÉÓÔ ÉÌÉ Á×ÔÏÒ ÐÒÏÉÚ×ÅÄÅÎÉÑ
-.IPs genre=<ÚÎÁÞÅÎÉÅ>
-ÖÁÎÒ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÐÒÏÉÚ×ÅÄÅÎÉÑ
-.IPs subject=<ÚÎÁÞÅÎÉÅ>
-ÓÏÄÅÒÖÁÎÉÅ ÐÒÏÉÚ×ÅÄÅÎÉÑ
-.IPs copyright=<ÚÎÁÞÅÎÉÅ>
-ÉÎÆÏÒÍÁÃÉÑ Ï ËÏÐÉÒÁÊÔÅ
-.IPs srcform=<ÚÎÁÞÅÎÉÅ>
-ÏÒÉÇÉÎÁÌØÎÙÊ ÆÏÒÍÁÔ ÏÃÉÆÒÏ×ÁÎÎÏÇÏ ÍÁÔÅÒÉÁÌÁ
-.IPs comment=<value>
-ÏÂÝÉÅ ËÏÍÍÅÎÔÁÒÉÉ Ï ÐÒÏÉÚ×ÅÄÅÎÉÉ
-.RE
-.
-.TP
-.B \-noautoexpand
-õËÁÚÙ×ÁÅÔ ÎÅ ×ÓÔÁ×ÌÑÔØ Á×ÔÏÍÁÔÉÞÅÓËÉ ÆÉÌØÔÒ expand × ÃÅÐÏÞËÕ ÆÉÌØÔÒÏ× MEncoder.
-ðÏÌÅÚÎÏ ÄÌÑ ËÏÎÔÒÏÌÑ ÎÁÄ ÍÅÓÔÏÍ ÒÅÎÄÅÒÉÎÇÁ ÓÕÂÔÉÔÒÏ× × ÃÅÐÏÞËÅ ÆÉÌØÔÒÏ×,
-ËÏÇÄÁ ÓÕÂÔÉÔÒÙ ËÏÄÉÒÕÀÔÓÑ ÐÒÑÍÏ × ÉÚÏÂÒÁÖÅÎÉÅ.
-.
-.TP
-.B \-noencodedups
-îÅ ÐÙÔÁÔØÓÑ ËÏÄÉÒÏ×ÁÔØ ÄÕÂÌÉÒÕÀÝÉÅÓÑ ËÁÄÒÙ ËÁË ÄÕÂÌÉÒÕÀÝÉÅÓÑ: ×ÓÅÇÄÁ
-×Ù×ÏÄÉÔØ ËÁÄÒÙ ÎÕÌÅ×ÏÇÏ ÒÁÚÍÅÒÁ ÄÌÑ ÏÂÏÚÎÁÞÅÎÉÑ ÄÕÂÌÉËÁÔÏ×.
-åÓÌÉ ÎÅ ÚÁÇÒÕÖÅÎ ÆÉÌØÔÒ ÉÌÉ ËÏÄÉÒÏ×ÝÉË, ÓÐÏÓÏÂÎÙÊ ËÏÄÉÒÏ×ÁÔØ ÄÕÂÌÉËÁÔÙ,
-ÔÏ × ÌÀÂÏÍ ÓÌÕÞÁÅ ÂÕÄÕÔ ×Ù×ÏÄÉÔØÓÑ ËÁÄÒÙ ÎÕÌÅ×ÏÇÏ ÒÁÚÍÅÒÁ.
-îÁ ÔÅËÕÝÉÊ ÍÏÍÅÎÔ ÅÄÉÎÓÔ×ÅÎÎÙÍ ÔÁËÉÍ ÆÉÌØÔÒÏÍ Ñ×ÌÑÅÔÓÑ harddup.
-.
-.TP
-.B \-noodml (ÔÏÌØËÏ \-of avi)
-îÅ ÚÁÐÉÓÙ×ÁÔØ OpenDML ÉÎÄÅËÓ ÄÌÑ AVI ÆÁÊÌÏ× >1çâ.
-.
-.TP
-.B \-noskip
-îÅ ÐÒÏÐÕÓËÁÔØ ËÁÄÒÙ.
-.
-.TP
-.B \-o <ÉÍÑ_ÆÁÊÌÁ>
-÷Ù×ÏÄÉÔØ ÒÅÚÕÌØÔÁÔ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ.
-.br
-åÓÌÉ ×Ù ÈÏÔÉÔÅ ÉÍÅÔØ ÉÍÑ, ÉÓÐÏÌØÚÕÀÝÅÅÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÍÏÖÅÔÅ
-ÕËÁÚÁÔØ ÜÔÕ ÏÐÃÉÀ × ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ MEncoder.
-.
-.TP
-.B \-oac <ÎÁÚ×ÁÎÉÅ ËÏÄÅËÁ>
-õËÁÚÙ×ÁÅÔ ËÏÄÉÒÏ×ÁÔØ ÚÁÄÁÎÎÙÍ ÁÕÄÉÏ ËÏÄÅËÏÍ (ÎÅÔ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ËÏÄÅËÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÒÉ ÐÏÍÏÝÉ ÏÐÃÉÉ \-oac help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-oac copy"
-ÂÅÚ ËÏÄÉÒÏ×ÁÎÉÑ, ÐÒÏÓÔÏ ËÏÐÉÒÏ×ÁÎÉÅ ÐÏÔÏËÁ
-.IPs "\-oac pcm"
-ëÏÄÉÒÏ×ÁÔØ × ÎÅÓÖÁÔÙÊ PCM.
-.IPs "\-oac mp3lame"
-ëÏÄÉÒÏ×ÁÔØ × MP3 (ÉÓÐÏÌØÚÕÑ LAME).
-.IPs "\-oac lavc"
-ëÏÄÉÒÏ×ÁÔØ libavcodec ËÏÄÅËÏÍ.
-.RE
-.PD 1
-.
-.TP
-.B \-of <format> (âåôá ëïä!)
-ëÏÄÉÒÏ×ÁÔØ × ÕËÁÚÁÎÎÙÊ ÆÏÒÍÁÔ (ÐÏ ÕÍÏÌÞÁÎÉÀ: AVI).
-.br
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÆÏÒÍÁÔÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÒÉ ÐÏÍÏÝÉ ÏÐÃÉÉ \-of help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-of avi"
-ëÏÄÉÒÏ×ÁÔØ × AVI.
-.IPs "\-of mpeg"
-ËÏÄÉÒÏ×ÁÔØ × MPEG (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-mpegopts).
-.IPs "\-of lavf"
-ëÏÄÉÒÏ×ÁÔØ libavformat ÍÕÌØÔÉÐÌÅËÓÏÒÁÍÉ (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-lavfopts).
-.IPs "\-of rawvideo"
-ÓÙÒÏÊ ×ÉÄÅÏ ÐÏÔÏË (ÂÅÚ ÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÑ \- ÔÏÌØËÏ ÏÄÉÎ ×ÉÄÅÏ ÐÏÔÏË)
-.IPs "\-of rawaudio"
-ÓÙÒÏÊ ÁÕÄÉÏ ÐÏÔÏË (ÂÅÚ ÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÑ \- ÔÏÌØËÏ ÏÄÉÎ ÁÕÄÉÏ ÐÏÔÏË)
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-õËÁÚÙ×ÁÅÔ ÞÁÓÔÏÔÕ ËÁÄÒÏ× (fps) ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ,
-ËÏÔÏÒÁÑ ÍÏÖÅÔ ÏÔÌÉÞÁÔØÓÑ ÏÔ ÔÁËÏ×ÏÊ × ÉÓÈÏÄÎÏÍ ÍÁÔÅÒÉÁÌÅ.
-äÏÌÖÎÁ ÕËÁÚÙ×ÁÔØÓÑ ÄÌÑ ÐÒÏÇÒÅÓÓÉ×ÎÙÈ
-(30000/1001 fps ÄÌÑ MPEG, ÐÏÄ×ÅÒÖÅÎÎÙÈ ÔÅÌÅÓÉÎÕ) É
-ÆÁÊÌÏ× Ó ÐÅÒÅÍÅÎÎÏÊ fps (ASF, ÎÅËÏÔÏÒÙÅ MOV).
-.
-.TP
-.B \-ovc <ÎÁÚ×ÁÎÉÅ ËÏÄÅËÁ>
-õËÁÚÙ×ÁÅÔ ËÏÄÉÒÏ×ÁÔØ ÚÁÄÁÎÎÙÍ ×ÉÄÅÏ ËÏÄÅËÏÍ (ÎÅÔ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.br
-.I úáíåþáîéå:
-ðÏÌÎÙÊ ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ËÏÄÅËÏ× ÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÐÒÉ ÐÏÍÏÝÉ ÏÐÃÉÉ \-ovc help.
-.sp 1
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-ÂÅÚ ËÏÄÉÒÏ×ÁÎÉÑ, ÔÏÌØËÏ ËÏÐÉÒÏ×ÁÎÉÅ ÐÏÔÏËÁ
-.IPs "\-ovc raw"
-ëÏÄÉÒÏ×ÁÔØ × ÐÒÏÉÚ×ÏÌØÎÙÊ ÎÅÓÖÁÔÙÊ ÆÏÒÍÁÔ (ÉÓÐÏÌØÚÕÊÔÅ '\-vf format' ÄÌÑ ×ÙÂÏÒÁ).
-.IPs "\-ovc lavc"
-ëÏÄÉÒÏ×ÁÔØ libavcodec ËÏÄÅËÏÍ.
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <ÉÍÑ_ÆÁÊÌÁ>
-÷ ÄÕÈÐÒÏÈÏÄÎÏÍ ÒÅÖÉÍÅ ÓÏÈÒÁÎÑÅÔ ÉÎÆÏÒÍÁÃÉÀ ÐÅÒ×ÏÇÏ ÐÒÏÈÏÄÁ
-× <ÉÍÑ_ÆÁÊÌÁ> ×ÍÅÓÔÏ ÓÔÁÎÄÁÒÔÎÏÇÏ divx2pass.log.
-.
-.TP
-.B \-skiplimit <ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÁÄÒÏ×, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÐÒÏÐÕÓÔÉÔØ ÐÏÓÌÅ
-ËÏÄÉÒÏ×ÁÎÉÑ ÏÄÎÏÇÏ (\-noskiplimit ÄÌÑ ÂÅÓËÏÎÅÞÎÏÇÏ ËÏÌÉÞÅÓÔ×Á).
-.
-.TP
-.B \-vobsubout <ÂÁÚÏ×ÏÅ_ÉÍÑ>
-õËÁÚÙ×ÁÅÔ ÂÁÚÏ×ÏÅ ÉÍÑ ÄÌÑ .idx É .sub ×ÙÈÏÄÎÙÈ ÆÁÊÌÏ×.
-üÔÁ ÏÐÃÉÑ ÏÔËÌÀÞÁÅÔ ÒÅÎÄÅÒÉÎÇ ÓÕÂÔÉÔÒÏ× × ËÏÄÉÒÕÅÍÙÊ ÆÉÌØÍ É ÐÅÒÅÎÁÐÒÁ×ÌÑÅÔ
-ÉÈ × VOBsub ÆÁÊÌÙ ÓÕÂÔÉÔÒÏ×.
-.
-.TP
-.B \-vobsuboutid <ÉÄ_ÑÚÙËÁ>
-õËÁÚÙ×ÁÅÔ Ä×ÕÈÂÕË×ÅÎÎÙÊ ËÏÄ ÑÚÙËÁ ÄÌÑ ÓÕÂÔÉÔÒÏ×.
-üÔÁ ÏÐÃÉÑ ÐÅÒÅÏÐÒÅÄÅÌÑÅÔ ÚÎÁÞÅÎÉÅ, ÞÉÔÁÅÍÏÅ ÉÚ DVD ÉÌÉ .ifo ÆÁÊÌÁ.
-.
-.TP
-.B \-vobsuboutindex <ÉÎÄÅËÓ>
-õËÁÚÙ×ÁÅÔ ÉÎÄÅËÓ ÓÕÂÔÉÔÒÏ× × ×ÙÈÏÄÎÙÈ ÆÁÊÌÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.
-.
-.
-.SH "óðåãéæéþîùå äìñ ëïäåëï÷ ïðãéé ëïäéòï÷áîéñ (ôïìøëï MENCODER)"
-÷Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ÓÐÅÃÉÆÉÞÎÙÅ ÐÁÒÁÍÅÔÒÙ ËÏÄÅËÏ×, ÉÓÐÏÌØÚÕÑ ÓÌÅÄÕÀÝÉÊ ÓÉÎÔÁËÓÉÓ:
-.
-.TP
-.B \-<ËÏÄÅË>opts <ÏÐÃÉÑ1[=ÚÎÁÞÅÎÉÅ1]:ÏÐÃÉÑ2[=ÚÎÁÞÅÎÉÅ2]:...>
-.
-.PP
-çÄÅ <ËÏÄÅË> ÍÏÖÅÔ ÂÙÔØ: lavc, xvidenc, mp3lame, toolame, twolame,
-nuv, xvfw, faac, x264enc, mpeg, lavf.
-.
-.
-.SS mp3lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-ÐÏËÁÚÙ×ÁÅÔ ÓÐÒÁ×ËÕ
-.
-.TP
-.B vbr=<0\-4>
-ÍÅÔÏÄ ÐÅÒÅÍÅÎÎÏÇÏ ÂÉÔÐÏÔÏËÁ
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rh (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-ÓÒÅÄÎÅÅ ÚÎÁÞÅÎÉÅ ÂÉÔÐÏÔÏËÁ
-.
-.TP
-.B "cbr\ \ \ \ "
-ÐÏÓÔÏÑÎÎÙÊ ÂÉÔÐÏÔÏË
-ôÁËÖÅ ÐÒÉÎÕÄÉÔÅÌØÎÏ ÚÁÄÅÊÓÔ×ÕÅÔ CBR ÒÅÖÉÍ ËÏÄÉÒÏ×ÁÎÉÑ × ÐÏÓÌÅÄÕÀÝÉÈ ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÈ
-ABR ÒÅÖÉÍÁÈ.
-.
-.TP
-.B br=<0\-1024>
-ÂÉÔÐÏÔÏË × ËÂÉÔ/Ó (ÔÏÌØËÏ CBR É ABR)
-.
-.TP
-.B q=<0\-9>
-ËÁÞÅÓÔ×Ï (0 \- ÌÕÞÛÅÅ, 9 \- ÈÕÄÛÅÅ) (ÔÏÌØËÏ VBR)
-.
-.TP
-.B aq=<0\-9>
-ÁÌÇÏÒÉÔÍÉÞÅÓËÏÅ ËÁÞÅÓÔ×Ï (0 \- ÌÕÞÛÅÅ/ÍÅÄÌÅÎÎÏÅ, 9 \- ÈÕÄÛÅÅ/ÂÙÓÔÒÏÅ)
-.
-.TP
-.B ratio=<1\-100>
-ÓÔÅÐÅÎØ ÓÖÁÔÉÑ
-.
-.TP
-.B vol=<0\-10>
-ÕÒÏ×ÅÎØ Ú×ÕËÁ
-.
-.TP
-.B mode=<0\-3>
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: Á×ÔÏ)
-.PD 0
-.RSs
-.IPs 0
-ÓÔÅÒÅÏ
-.IPs 1
-joint-ÓÔÅÒÅÏ
-.IPs 2
-Ä×ÕÈËÁÎÁÌØÎÙÊ
-.IPs 3
-ÍÏÎÏ
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-ÎÅÔ
-.IPs 1
-×ÓÅ
-.IPs 2
-ÎÁÓÔÒÏÉÔØ
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-ðÅÒÅËÌÀÞÉÔØÓÑ ÎÁ ÂÙÓÔÒÏÅ ËÏÄÉÒÏ×ÁÎÉÅ × ÐÏÓÌÅÄÕÀÝÉÈ ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÈ
-VBR ÒÅÖÉÍÁÈ. ðÒÉ×ÏÄÉÔ Ë ÎÅÓËÏÌØËÏ ÍÅÎØÛÅÍÕ ËÁÞÅÓÔ×Õ É Õ×ÅÌÉÞÅÎÎÏÍÕ
-ÂÉÔÐÏÔÏËÕ.
-.
-.TP
-.B highpassfreq=<ÞÁÓÔÏÔÁ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÏÒÏÇÏ×ÕÀ ÞÁÓÔÏÔÕ ÄÌÑ ×ÙÓÏËÏÞÁÓÔÏÔÎÏÇÏ ÆÉÌØÔÒÁ × çÃ.
-þÁÓÔÏÔÙ ÎÉÖÅ ÕËÁÚÁÎÎÏÊ ÂÕÄÕÔ ÏÂÒÅÚÁÎÙ.
-úÎÁÞÅÎÉÅ \-1 ÏÔËÌÀÞÉÔ ÆÉÌØÔÒÁÃÉÀ, ÚÎÁÞÅÎÉÅ 0
-ÐÒÅÄÏÓÔÁ×ÉÔ lame ×ÏÚÍÏÖÎÏÓÔØ ×ÙÂÒÁÔØ ÞÁÓÔÏÔÕ Á×ÔÏÍÁÔÉÞÅÓËÉ.
-.
-.TP
-.B lowpassfreq=<ÞÁÓÔÏÔÁ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÏÒÏÇÏ×ÕÀ ÞÁÓÔÏÔÕ ÄÌÑ ÎÉÚËÏÞÁÓÔÏÔÎÏÇÏ ÆÉÌØÔÒÁ × çÃ.
-þÁÓÔÏÔÙ ×ÙÛÅ ÕËÁÚÁÎÎÏÊ ÂÕÄÕÔ ÏÂÒÅÚÁÎÙ.
-úÎÁÞÅÎÉÅ \-1 ÏÔËÌÀÞÉÔ ÆÉÌØÔÒÁÃÉÀ, ÚÎÁÞÅÎÉÅ 0
-ÐÒÅÄÏÓÔÁ×ÉÔ lame ×ÏÚÍÏÖÎÏÓÔØ ×ÙÂÒÁÔØ ÞÁÓÔÏÔÕ Á×ÔÏÍÁÔÉÞÅÓËÉ.
-.
-.TP
-.B preset=<ÚÎÁÞÅÎÉÅ>
-ÐÒÅÄÕÓÔÁÎÏ×ÌÅÎÎÙÅ ÎÁÓÔÒÏÊËÉ
-.RSs
-.IPs "help\ "
-÷Ù×ÏÄÉÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÏÐÃÉÉ É ÉÎÆÏÒÍÁÃÉÀ Ï ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÈ
-ÎÁÓÔÒÏÊËÁÈ.
-.IPs medium
-VBR ËÏÄÉÒÏ×ÁÎÉÅ, ÈÏÒÏÛÅÅ ËÁÞÅÓÔ×Ï, ÂÉÔÐÏÔÏË × ÄÉÁÐÁÚÏÎÅ 150\-180 ËÂÉÔ/Ó
-.IPs standard
-VBR ËÏÄÉÒÏ×ÁÎÉÅ, ×ÙÓÏËÏÅ ËÁÞÅÓÔ×Ï, ÂÉÔÐÏÔÏË × ÄÉÁÐÁÚÏÎÅ 170\-210 ËÂÉÔ/Ó
-.IPs extreme
-VBR ËÏÄÉÒÏ×ÁÎÉÅ, ÏÞÅÎØ ×ÙÓÏËÏÅ ËÁÞÅÓÔ×Ï, ÂÉÔÐÏÔÏË × ÄÉÁÐÁÚÏÎÅ 200\-240 ËÂÉÔ/Ó
-.IPs insane
-CBR ËÏÄÉÒÏ×ÁÎÉÅ, ÓÁÍÏÅ ×ÙÓÏËÏÅ ËÁÞÅÓÔ×Ï, ÂÉÔÐÏÔÏË 320 ËÂÉÔ/Ó
-.IPs <8\-320>
-ABR ËÏÄÉÒÏ×ÁÎÉÅ Ó ÕËÁÚÁÎÎÙÍ × ËÂÉÔ/Ó ÓÒÅÄÎÉÍ ÚÎÁÞÅÎÉÅÍ ÂÉÔÐÏÔÏËÁ
-.RE
-.sp 1
-.RS
-.I ðòéíåòù:
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-ÐÒÉÍÅÎÉÍÏ ÄÌÑ ÂÏÌØÛÉÎÓÔ×Á ÌÀÄÅÊ É ÔÉÐÏ× ÍÕÚÙËÉ Ó ÄÏ×ÏÌØÎÏ ×ÙÓÏËÉÍ ËÁÞÅÓÔ×ÏÍ
-.IPs cbr:preset=192
-ëÏÄÉÒÏ×ÁÎÉÅ Ó ABR ÐÒÅÄÕÓÔÁÎÏ×ËÁÍÉ É ÖÅÓÔËÏ ÚÁÄÁÎÎÙÍ ÐÏÓÔÏÑÎÎÙÍ ÂÉÔÐÏÔÏËÏÍ × 192 ËÂÉÔ/Ó
-.IPs preset=172
-ëÏÄÉÒÏ×ÁÎÉÅ Ó ABR ÐÒÅÄÕÓÔÁÎÏ×ËÁÍÉ É ÓÒÅÄÎÉÍ ÚÎÁÞÅÎÉÅÍ ÂÉÔÐÏÔÏËÁ × 172 ËÂÉÔ/Ó
-.IPs preset=extreme
-ÄÌÑ ÌÀÄÅÊ Ó ÉÓËÌÀÞÉÔÅÌØÎÏ ÈÏÒÏÛÉÍ ÓÌÕÈÏÍ É ÔÁËÉÍ ÖÅ ÏÂÏÒÕÄÏ×ÁÎÉÅÍ
-.RE
-.PD 1
-.
-.
-.SS toolame É twolame (\-toolameopts É \-twolameopts ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ)
-.
-.TP
-.B br=<32\-384>
-÷ ÒÅÖÉÍÅ CBR ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÏÚÎÁÞÁÅÔ ÂÉÔÐÏÔÏË × ËÂÉÔ/Ó,
-× VBR ÒÅÖÉÍÅ \- ÜÔÏ ÍÉÎÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÙÊ ÂÉÔÐÏÔÏË ËÁÄÒÁ.
-VBR ÒÅÖÉÍ ÎÅ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ ÓÏ ÚÎÁÞÅÎÉÑÍÉ ÍÅÎØÛÅ 112.
-.
-.TP
-.B vbr=<\-50\-50> (ÔÏÌØËÏ VBR)
-ÄÉÁÐÁÚÏÎ ÉÚÍÅÎÑÅÍÏÓÔÉ; ÅÓÌÉ ÏÔÒÉÃÁÔÅÌØÎÏ, ËÏÄÉÒÏ×ÝÉË ÓÄ×ÉÇÁÅÔ ÓÒÅÄÎÉÊ ÂÉÔÐÏÔÏË ×
-ÎÉÖÎÀÀ ÓÔÏÒÏÎÕ, ÅÓÌÉ ÐÏÌÏÖÉÔÅÌØÎÙÊ \- × ×ÅÒÈÎÀÀ.
-åÓÌÉ ÕÓÔÁÎÏ×ÌÅÎ × 0, ÉÓÐÏÌØÚÕÅÔÓÑ CBR (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.
-.TP
-.B maxvbr=<32\-384> (ÔÏÌØËÏ VBR)
-ÍÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÁÑ ×ÅÌÉÞÉÎÁ ÂÉÔÐÏÔÏËÁ ÎÁ ËÁÄÒ, × ËÂÉÔ/Ó
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: mono ÄÌÑ 1\-ËÁÎÁÌØÎÏÇÏ Ú×ÕËÁ, ÉÎÁÞÅ stereo)
-.
-.TP
-.B psy=<\-1\-4>
-ÐÓÉÈÏÁËÕÓÔÉÞÅÓËÁÑ ÍÏÄÅÌØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2)
-.
-.TP
-.B errprot=<0 | 1>
-äÏÂÁ×ÌÑÅÔ ÚÁÝÉÔÕ ÏÔ ÏÛÉÂÏË.
-.
-.TP
-.B debug=<0\-10>
-ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ
-.RE
-.PD 1
-.
-.
-.SS faac (\-faacopts)
-.
-.TP
-.B br=<bitrate>
-ÓÒÅÄÎÅÅ ÚÎÁÞÅÎÉÅ ÂÉÔÐÏÔÏËÁ × ËÂÉÔ/Ó (ÎÅÓÏ×ÍÅÓÔÉÍÁ Ó quality)
-.
-.TP
-.B quality=<1\-1000>
-.\" FIXME exact translation possibly losts original meaning
-.\" "quality mode" = ÒÅÖÉÍ ËÁÞÅÓÔ×Á
-ÒÅÖÉÍ ËÁÞÅÓÔ×Á, ÂÏÌØÛÅ \- ÌÕÞÛÅ (ÎÅÓÏ×ÍÅÓÔÉÍÁ Ó br)
-.
-.TP
-.B object=<1\-4>
-ÓÌÏÖÎÏÓÔØ ÔÉÐÁ ÏÂßÅËÔÁ
-.PD 0
-.RSs
-.IPs 1
-MAIN (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 2
-LOW
-.IPs 3
-SSR
-.IPs 4
-LTP (ÕÖÁÓÎÏ ÍÅÄÌÅÎÎÏ)
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-×ÅÒÓÉÑ MPEG (ÐÏ ÕÍÏÌÞÁÎÉÀ: 4)
-.
-.TP
-.B "tns\ \ \ \ "
-÷ËÌÀÞÁÅÔ ÐÏÄÁ×ÌÅÎÉÅ ×ÒÅÍÅÎÎÏÇÏ ÛÕÍÁ.
-.
-.TP
-.B cutoff=<0\-ÞÁÓÔÏÔÁ_ÄÉÓËÒÅÔÉÚÁÃÉÉ/2>
-ÏÂÒÅÚÁÅÍÁÑ ÞÁÓÔÏÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÞÁÓÔÏÔÁ_ÄÉÓËÒÅÔÉÚÁÃÉÉ/2)
-.
-.TP
-.B "raw\ \ \ \ "
-óÏÈÒÁÎÑÅÔ ÂÉÔÏ×ÙÊ ÐÏÔÏË × ÓÙÒÏÍ ×ÉÄÅ Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÄÁÎÎÙÍÉ ×
-ÚÁÇÏÌÏ×ËÅ ËÏÎÔÅÊÎÅÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0, ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ADTS).
-îÅ ÕÓÔÁÎÁ×ÌÉ×ÁÊÔÅ ÜÔÏÔ ÆÌÁÇ, ÅÓÌÉ ÜÔÏÇÏ ÎÅ ÔÒÅÂÕÅÔÓÑ ÓÐÅÃÉÁÌØÎÏ, ÉÎÁÞÅ
-×Ù ÎÅ ÓÍÏÖÅÔÅ ÐÒÏ×ÅÓÔÉ ÐÏ×ÔÏÒÎÏÅ ÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÅ [remux] ÁÕÄÉÏ ÐÏÔÏËÁ ÐÏÚÖÅ.
-.RE
-.PD 1
-.
-.
-.SS lavc (\-lavcopts)
-.
-íÎÏÇÉÅ ÏÐÃÉÉ libavcodec (lavc ÄÌÑ ËÒÁÔËÏÓÔÉ) ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÙ ÏÞÅÎØ ÓËÕÄÎÏ.
-ðÏÄÒÏÂÎÏÓÔÉ ÉÝÉÔÅ × ÉÓÈÏÄÎÉËÁÈ.
-.PP
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B o=<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,...]]
-ðÅÒÅÄÁÔØ ËÌÀÞÉ AVOptions ËÏÄÉÒÏ×ÝÉËÕ libavcodec.
-ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÐÁÔÞ, ÄÅÌÁÀÝÉÊ o= ÎÅÎÕÖÎÙÍ É ÐÅÒÅÄÁÀÝÉÊ ×ÓÅ
-ÎÅÉÚ×ÅÓÔÎÙÅ ÐÁÒÁÍÅÔÒÙ ÞÅÒÅÚ ÓÉÓÔÅÍÕ AVOption, ÐÒÉ×ÅÔÓÔ×ÕÅÔÓÑ.
-ðÏÌÎÙÊ ÓÐÉÓÏË ÐÁÒÁÍÅÔÒÏ× AVOptions ÍÏÖÎÏ ÎÁÊÔÉ × ÒÕËÏ×ÏÄÓÔ×Å
-FFmpeg.
-ðÒÉÍÅÞÁÎÉÅ: ÎÅËÏÔÏÒÙÅ ÏÐÃÉÉ AVOptions ÍÏÇÕÔ ËÏÎÆÌÉËÔÏ×ÁÔØ Ó ÏÐÃÉÑÍÉ
-MEncoder.
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.PD 0
-.IPs o=bt=100k
-.PD 1
-.RE
-.
-.TP
-.B acodec=<ÚÎÁÞÅÎÉÅ>
-ÁÕÄÉÏ ËÏÄÅË (ÐÏ ÕÍÏÌÞÁÎÉÀ: mp2)
-.PD 0
-.RSs
-.IPs "ac3\ \ "
-Dolby Digital (AC\-3)
-.IPs adpcm_*
-æÏÒÍÁÔÙ Adaptive PCM \- ÐÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × HTML ÄÏËÕÍÅÎÔÁÃÉÉ.
-.IPs "flac\ "
-Free Lossless Audio Codec (FLAC)
-.IPs "g726\ "
-G.726 ADPCM
-.IPs libamr_nb
-3GPP Adaptive Multi\-Rate (AMR) ÕÚËÏÐÏÌÏÓÎÏÊ
-.IPs libamr_wb
-3GPP Adaptive Multi\-Rate (AMR) ÛÉÒÏËÏÐÏÌÏÓÎÏÊ
-.IPs libfaac
-Advanced Audio Coding (AAC) \- ÉÓÐÏÌØÚÕÑ FAAC
-.IPs libmp3lame
-MPEG\-1 audio layer 3 (MP3) \- ÉÓÐÏÌØÚÕÑ LAME
-.IPs "mp2\ \ "
-MPEG\-1 audio layer 2 (MP2)
-.IPs pcm_*
-PCM ÆÏÒÍÁÔÙ \- ÐÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × HTML ÄÏËÕÍÅÎÔÁÃÉÉ.
-.IPs roq_dpcm
-Id Software RoQ DPCM
-.IPs sonic
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÐÒÏÓÔÏÊ ËÏÄÅË Ó ÐÏÔÅÒÅÊ ËÁÞÅÓÔ×Á
-.IPs sonicls
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ ÐÒÏÓÔÏÊ ËÏÄÅË ÂÅÚ ÐÏÔÅÒØ
-.IPs vorbis
-Vorbis
-.IPs wmav1
-Windows Media Audio v1
-.IPs wmav2
-Windows Media Audio v2
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<ÚÎÁÞÅÎÉÅ>
-ÁÕÄÉÏ ÂÉÔÐÏÔÏË × ËÂÉÔ/Ó (ÐÏ ÕÍÏÌÞÁÎÉÀ: 224)
-.
-.TP
-.B atag=<ÚÎÁÞÅÎÉÅ>
-éÓÐÏÌØÚÏ×ÁÔØ ÕËÁÚÁÎÎÙÊ ÔÜÇ ÁÕÄÉÏ ÆÏÒÍÁÔÁ Windows (ÎÁÐÒÉÍÅÒ, atag=0x55).
-.
-.TP
-.B bit_exact
-õËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÐÏÂÉÔÏ×Ï ÔÏÞÎÙÅ ÁÌÇÏÒÉÔÍÙ (ËÒÏÍÅ (I)DCT).
-äÏÐÏÌÎÉÔÅÌØÎÏ bit_exact ÏÔËÌÀÞÁÅÔ ÎÅËÏÔÏÒÙÅ ÏÐÔÉÍÉÚÁÃÉÉ É,
-ÐÏÜÔÏÍÕ, ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ ÄÌÑ ÔÅÓÔÏ× ÎÁ
-ÄÅÇÒÁÄÁÃÉÀ, ÔÒÅÂÕÀÝÉÈ ÂÉÎÁÒÎÏ ÉÄÅÎÔÉÞÎÙÈ ÆÁÊÌÏ×, ÄÁÖÅ
-ÅÓÌÉ ÍÅÎÑÅÔÓÑ ×ÅÒÓÉÑ ËÏÄÉÒÏ×ÝÉËÁ.
-üÔÁ ÏÐÃÉÑ ÔÁËÖÅ ÐÏÄÁ×ÌÑÅÔ user_data ÚÁÇÏÌÏ×ÏË × MPEG\-4 ÐÏÔÏËÁÈ.
-îÅ ÉÓÐÏÌØÚÕÊÔÅ ÅÅ, ÅÓÌÉ ×Ù ÎÅ ÚÎÁÅÔÅ ÎÁ×ÅÒÎÑËÁ, ÞÔÏ ÄÅÌÁÅÔÅ.
-.
-.TP
-.B threads=<1\-8>
-íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÓÐÏÌØÚÕÅÍÙÈ ÐÏÔÏËÏ× (threads) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-íÏÖÅÔ ÉÍÅÔØ ÎÅÚÎÁÞÉÔÅÌØÎÙÊ ÎÅÇÁÔÉ×ÎÙÊ ÜÆÆÅËÔ ÐÒÉ ÏÃÅÎËÅ
-Ä×ÉÖÅÎÉÑ.
-.RE
-.
-.TP
-.B vcodec=<ÚÎÁÞÅÎÉÅ>
-úÁÄÅÊÓÔ×ÕÅÔ ÕËÁÚÁÎÎÙÊ ËÏÄÅË (ÐÏ ÕÍÏÌÞÁÎÉÀ: mpeg4).
-.PD 0
-.RSs
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs dvvideo
-Sony Digital Video
-.IPs "ffv1\ "
-FFmpeg ×ÉÄÅÏ ËÏÄÅË ÂÅÚ ÐÏÔÅÒØ
-.IPs ffvhuff
-ÎÅÓÔÁÎÄÁÒÔÎÙÊ, ÍÅÎØÛÉÊ ÎÁ 20% HuffYUV c ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ YV12
-.IPs "flv\ \ "
-Sorenson H.263, ÉÓÐÏÌØÚÕÀÝÉÊÓÑ × Flash Video
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs huffyuv
-HuffYUV
-.IPs libtheora
-Theora
-.IPs libx264
-x264 H.264/AVC MPEG\-4 Part 10
-.IPs libxvid
-Xvid MPEG\-4 Part 2 (ASP)
-.IPs ljpeg
-Lossless JPEG
-.IPs mjpeg
-Motion JPEG
-.IPs mpeg1video
-MPEG\-1 ×ÉÄÅÏ
-.IPs mpeg2video
-MPEG\-2 ×ÉÄÅÏ
-.IPs mpeg4
-MPEG\-4 (DivX 4/5)
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-MS MPEG4v2
-.IPs roqvideo
-ID Software RoQ Video
-.IPs "rv10\ "
-ÓÔÁÒÙÊ RealVideo ËÏÄÅË
-.IPs "snow (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ: vstrict)"
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ FFmpeg ×ÉÄÅÏ ËÏÄÅË, ÏÓÎÏ×ÁÎÎÙÊ ÎÁ ×ÅÊ×ÌÅÔÁÈ
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs "wmv1\ "
-Windows Media Video, ×ÅÒÓÉÑ 1 (ïÎ ÖÅ WMV7)
-.IPs "wmv2\ "
-Windows Media Video, ×ÅÒÓÉÑ 2 (ïÎ ÖÅ WMV8)
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-ÍÉÎÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ
-.RSs
-.IPs 1
-îÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ (ÎÁÍÎÏÇÏ ÂÏÌØÛÉÊ ÆÁÊÌ, ÍÁÌÅÎØËÏÅ ÒÁÚÌÉÞÉÅ × ËÁÞÅÓÔ×Å É ÓÔÒÁÎÎÙÅ
-ÐÏÂÏÞÎÙÅ ÜÆÆÅËÔÙ: msmpeg4, h263 ÂÕÄÕÔ ÏÞÅÎØ ÐÌÏÈÏÇÏ ËÁÞÅÓÔ×Á, ÍÏÄÕÌØ ÕÐÒÁ×ÌÅÎÉÑ
-×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ ÂÕÄÅÔ ÓÂÉÔ Ó ÔÏÌËÕ, ÞÔÏ ÐÒÉ×ÅÄÅÔ Ë ÕÈÕÄÛÅÎÉÀ ËÁÞÅÓÔ×Á, É ÄÅËÏÄÅÒÙ
-ÎÅ ÓÍÏÇÕÔ ÄÅËÏÄÉÒÏ×ÁÔØ ÐÏÔÏË).
-.IPs 2
-òÅËÏÍÅÎÄÕÅÔÓÑ ÄÌÑ ÎÏÒÍÁÌØÎÏÇÏ mpeg4/\:mpeg1video ËÏÄÉÒÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 3
-òÅËÏÍÅÎÄÕÅÔÓÑ ÄÌÑ h263(p)/\:msmpeg4.
-ðÒÉÞÉÎÁ ÐÒÅÄÐÏÞÔÅÎÉÑ 3 ÐÅÒÅÄ 2 ÚÁËÌÀÞÁÅÔÓÑ × ÔÏÍ, ÞÔÏ 2 ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë
-ÐÅÒÅÐÏÌÎÅÎÉÀ.
-(äÌÑ h263(p) × ÂÕÄÕÝÅÍ ÜÔÏ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÒÁ×ÌÅÎÏ ÉÚÍÅÎÅÎÉÅÍ
-ÚÎÁÞÅÎÉÑ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÎÁ MB, ÄÌÑ msmpeg4 ÜÔÏ ÉÓÐÒÁ×ÉÔØ ÎÅ×ÏÚÍÏÖÎÏ,
-ÐÏÓËÏÌØËÕ ÏÎ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÄÏÂÎÕÀ ×ÏÚÍÏÖÎÏÓÔØ.)
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-íÉÎÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÍÎÏÖÉÔÅÌÑ ìÁÇÒÁÎÖÁ ÕÒÏ×ÎÑ ËÁÄÒÁ ÄÌÑ ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ
-×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2.0).
-Lavc ÒÅÄËÏ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÚÎÁÞÅÎÉÑ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÍÅÎØÛÅ lmin.
-ðÒÉ ÍÅÎØÛÅÍ ÚÎÁÞÅÎÉÉ lmin lavc ÂÕÄÅÔ ÐÒÅÄÐÏÞÉÔÁÔØ ÍÅÎØÛÅÅ ÚÎÁÞÅÎÉÅ
-Ë×ÁÎÔÏ×ÁÔÅÌÑ ÄÌÑ ÎÅËÏÔÏÒÙÈ ËÁÄÒÏ×, ÎÏ ×ÓÅÇÄÁ ÂÏÌØÛÅÅ, ÞÅÍ vqmin.
-áÎÁÌÏÇÉÞÎÏ, ÐÒÉ Õ×ÅÌÉÞÅÎÉÉ lmin, lavc ÓËÏÒÅÅ ×ÓÅÇÏ ÎÅ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÍÁÌÅÎØËÉÅ ÚÎÁÞÅÎÉÑ Ë×ÁÎÔÏ×ÁÔÅÌÑ, ÄÁÖÅ ÅÓÌÉ vqmin ÜÔÏ ÐÏÚ×ÏÌÑÅÔ.
-÷Ù, ×ÏÚÍÏÖÎÏ, ÈÏÔÉÔÅ ÕÓÔÁÎÏ×ÉÔØ ÚÎÁÞÅÎÉÅ lmin ÐÒÉÂÌÉÖÅÎÎÏ
-ÒÁ×ÎÙÍ vqmin. ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÁÄÁÐÔÉ×ÎÏÇÏ Ë×ÁÎÔÏ×ÁÎÉÑ, ÉÚÍÅÎÅÎÉÅ lmin/lmax
-.\" FIXME may have less of an effect = ÐÒÁËÔÉÞÅÓËÉ ÎÅ ÉÍÅÔØ ÜÆÆÅËÔÁ
-ÍÏÖÅÔ ÐÒÁËÔÉÞÅÓËÉ ÎÅ ÉÍÅÔØ ÜÆÆÅËÔÁ; ÓÍÏÔÒÉÔÅ mblmin/mblmax.
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-ÍÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÍÎÏÖÉÔÅÌÑ ìÁÇÒÁÎÖÁ ÄÌÑ ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ
-ÐÏÔÏËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 31.0)
-.RE
-.
-.TP
-.B mblmin=<0.01\-255.0>
-íÉÎÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÍÎÏÖÉÔÅÌÑ ìÁÇÒÁÎÖÁ ÕÒÏ×ÎÑ ÍÁËÒÏÂÌÏËÁ ÄÌÑ
-ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2.0).
-üÔÏÔ ÐÁÒÁÍÅÔÒ ×ÌÉÑÅÔ ÎÁ ÏÐÃÉÉ ÁÄÁÐÔÉ×ÎÏÇÏ Ë×ÁÎÔÏ×ÁÎÉÑ, ÔÁËÉÅ ËÁË
-qprd, lumi_mask, É ÔÁË ÄÁÌÅÅ...
-.RE
-.
-.TP
-.B mblmax=<0.01\-255.0>
-íÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÍÎÏÖÉÔÅÌÑ ìÁÇÒÁÎÖÁ ÕÒÏ×ÎÑ ÍÁËÒÏÂÌÏËÁ ÄÌÑ
-ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 31.0).
-.RE
-.
-.TP
-.B vqscale=<0\-31>
-ðÏÓÔÏÑÎÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ /\: ËÏÄÉÒÏ×ÁÎÉÅ Ó ÐÏÓÔÏÑÎÎÙÍ ËÁÞÅÓÔ×ÏÍ
-(×ÙÂÉÒÁÅÔ ÒÅÖÉÍ ÐÏÓÔÏÑÎÎÏÇÏ Ë×ÁÎÔÏ×ÁÔÅÌÑ).
-íÅÎØÛÅÅ ÚÎÁÞÅÎÉÅ ÏÚÎÁÞÁÅÔ ÌÕÞÛÅÅ ËÁÞÅÓÔ×Ï, ÎÏ ÆÁÊÌÙ ÂÏÌØÛÅÇÏ
-ÒÁÚÍÅÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: \-1).
-÷ ÓÌÕÞÁÅ snow ËÏÄÅËÁ, 0 ÏÚÎÁÞÁÅÔ ËÏÄÉÒÏ×ÁÎÉÅ ÂÅÚ ÐÏÔÅÒØ.
-ðÏÓËÏÌØËÕ ÏÓÔÁÌØÎÙÅ ËÏÄÅËÉ ÜÔÏÇÏ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔ, ÔÏ vqscale=0
-ÂÕÄÅÔ ÉÍÅÔØ ÎÅÐÒÅÄÓËÁÚÕÅÍÙÊ ÜÆÆÅËÔ.
-éÓÐÏÌØÚÏ×ÁÎÉÅ 1 ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ (ÓÍÏÔÒÉÔÅ vqmin ÄÌÑ ÐÏÄÒÏÂÎÏÓÔÅÊ).
-.
-.TP
-.B vqmax=<1\-31>
-íÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ, 10\-31 ÂÕÄÅÔ ÒÁÚÕÍÎÙÍ
-ÄÉÁÐÁÚÏÎÏÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 31).
-.
-.TP
-.B mbqmin=<1\-31>
-ÕÓÔÁÒÅÌÏ, ÉÓÐÏÌØÚÕÊÔÅ vqmin
-.
-.TP
-.B mbqmax=<1\-31>
-ÕÓÔÁÒÅÌÏ, ÉÓÐÏÌØÚÕÊÔÅ vqmax
-.
-.TP
-.B vqdiff=<1\-31>
-ÍÁËÓÉÍÁÌØÎÏÅ ÒÁÚÌÉÞÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ × ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÈ I\- ÉÌÉ P\-ËÁÄÒÁÈ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 3)
-.
-.TP
-.B vmax_b_frames=<0\-4>
-ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï B\-ËÁÄÒÏ× ÍÅÖÄÕ ÎÅ\-B\-ËÁÄÒÁÍÉ:
-.PD 0
-.RSs
-.IPs 0
-ÎÅÔ B\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 0\-2
-ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ ÄÌÑ MPEG\-4
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-ÍÅÔÏÄ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ.
-äÏÓÔÕÐÎÙÅ ÍÅÔÏÄÙ:
-.PD 0
-.RSs
-.IPs 0
-ÏÔÓÕÔÓÔ×ÕÅÔ (ÏÞÅÎØ ÎÉÚËÏÅ ËÁÞÅÓÔ×Ï)
-.IPs 1
-ÐÏÌÎÙÊ (ÍÅÄÌÅÎÎÏ, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÓÏÐÒÏ×ÏÖÄÁÅÔÓÑ É ÏÔËÌÀÞÅÎ)
-.IPs 2
-log (ÎÉÚËÏÅ ËÁÞÅÓÔ×Ï, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÓÏÐÒÏ×ÏÖÄÁÅÔÓÑ É ÏÔËÌÀÞÅÎ)
-.IPs 3
-phods (ÎÉÚËÏÅ ËÁÞÅÓÔ×Ï, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÓÏÐÒÏ×ÏÖÄÁÅÔÓÑ É ÏÔËÌÀÞÅÎ)
-.IPs 4
-EPZS: ÒÏÍÂ Ó size=1, ÒÁÚÍÅÒ ÍÏÖÅÔ ÂÙÔØ ÉÚÍÅÎÅÎ *dia ÐÏÃÉÑÍÉ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 5
-X1 (ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÐÓÅ×ÄÏÎÉÍ EPZS)
-.IPs 8
-iter (ÉÔÅÒÁÔÉ×ÎÙÊ ÐÅÒÅËÒÙ×ÁÀÝÉÊÓÑ ÂÌÏË, ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ × snow)
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I úáíåþáîéå:
-0\-3 × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÉÇÎÏÒÉÒÕÀÔ ËÏÌÉÞÅÓÔ×Ï ÉÚÒÁÓÈÏÄÏ×ÁÎÎÙÈ ÂÉÔÏ×,
-ÔÁË ÞÔÏ ËÁÞÅÓÔ×Ï ÍÏÖÅÔ ÂÙÔØ ÎÉÚËÉÍ.
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-ÄÉÁÐÁÚÏÎ ÐÏÉÓËÁ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0 (ÎÅÏÇÒÁÎÉÞÅÎ))
-.
-.TP
-.B mbd=<0\-2> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ *cmp, qpel)
-áÌÇÏÒÉÔÍ ÐÒÉÎÑÔÉÑ ÒÅÛÅÎÉÑ Ï ÍÁËÒÏÂÌÏËÅ (ÒÅÖÉÍ ×ÙÓÏËÏÇÏ ËÁÞÅÓÔ×Á),
-õËÁÚÙ×ÁÅÔ ËÏÄÉÒÏ×ÁÔØ ËÁÖÄÙÊ ÍÁËÒÏÂÌÏË ×ÓÅÍÉ ÒÅÖÉÍÁÍÉ É ×ÙÂÉÒÁÔØ ÌÕÞÛÉÊ.
-üÔÏ ÒÁÂÏÔÁÅÔ ÍÅÄÌÅÎÎÏ, ÎÏ ÄÁÅÔ ÌÕÞÛÅÅ ËÁÞÅÓÔ×Ï É ÍÅÎØÛÉÊ ÆÁÊÌ.
-ëÏÇÄÁ mbd ÕÓÔÁÎÏ×ÌÅÎÁ × 1 ÉÌÉ 2, ÚÎÁÞÅÎÉÅ ÏÐÃÉÉ mbcmp ÐÒÉ ÓÒÁ×ÎÅÎÉÉ
-ÍÁËÒÏÂÌÏËÏ× ÉÇÎÏÒÉÒÕÅÔÓÑ (ÏÄÎÁËÏ, ÚÎÁÞÅÎÉÅ mbcmp ×Ó£ ÅÝ£
-ÉÓÐÏÌØÚÕÅÔÓÑ × ÄÒÕÇÉÈ ÍÅÓÔÁÈ, × ÞÁÓÔÎÏÓÔÉ, × ÁÌÇÏÒÉÔÍÁÈ ÐÏÉÓËÁ
-Ä×ÉÖÅÎÉÑ).
-ïÄÎÁËÏ, ÅÓÌÉ ÌÀÂÁÑ ÉÚ ÎÁÓÔÒÏÅË ÓÒÁ×ÎÅÎÉÑ (precmp, subcmp, cmp,
-mbcmp) ÎÅ ÒÁ×ÎÁ ÎÕÌÀ, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÏÌÅÅ ÍÅÄÌÅÎÎÙÊ, ÎÏ
-ÂÏÌÅÅ ËÁÞÅÓÔ×ÅÎÎÙÊ ÐÏÌÕÐÉËÓÅÌØÎÙÊ ÐÏÉÓË Ä×ÉÖÅÎÉÑ ÎÅ ÚÁ×ÉÓÉÍÏ ÏÔ
-ÔÏÇÏ, ËÁËÏÅ ÚÎÁÞÅÎÉÑ ÐÒÉÓ×ÏÅÎÏ mbd.
-.PD 0
-.RSs
-.IPs 0
-éÓÐÏÌØÚÕÅÔÓÑ ÆÕÎËÃÉÑ ÓÒÁ×ÎÅÎÉÑ, ÕËÁÚÁÎÎÁÑ mbcmp (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1
-÷ÙÂÉÒÁÅÔ ÒÅÖÉÍ MB, ÔÒÅÂÕÀÝÉÊ ÍÅÎØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÂÉÔ (=vhq).
-.IPs 2
-÷ÙÂÉÒÁÅÔ ÒÅÖÉÍ MB, ÉÍÅÀÝÉÊ ÌÕÞÛÅÅ ÓÏÏÔÎÏÛÅÎÉÅ ÓÉÇÎÁÌ\-ÛÕÍ.
-.RE
-.PD 1
-.
-.TP
-.B "vhq\ \ \ \ "
-ôÏ ÖÅ, ÞÔÏ É mbd=1, ÓÏÈÒÁÎÅÎÏ ÄÌÑ ÃÅÌÅÊ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ.
-.
-.TP
-.B "v4mv\ \ \ "
-äÏÐÕÓËÁÅÔ 4 ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ ÎÁ ÍÁËÒÏÂÌÏË (ÎÅÍÎÏÇÏ ÌÕÞÛÅÅ ËÁÞÅÓÔ×Ï).
-ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ Ó mbd>0 ÒÁÂÏÔÁÅÔ ÌÕÞÛÅ.
-.
-.TP
-.B "obmc\ \ \ "
-ËÏÍÐÅÎÓÁÃÉÑ Ä×ÉÖÅÎÉÑ ÐÅÒÅËÒÙ×ÁÀÝÅÇÏÓÑ ÂÌÏËÁ (H.263+)
-.
-.TP
-.B "loop\ \ \ "
-loop ÆÉÌØÔÒ (H.263+)
-ÉÍÅÊÔÅ × ×ÉÄÕ, ÏÎ ÓÌÏÍÁÎ
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-îÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÁÂÓÏÌÀÔÎÏ ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ.
-.
-.TP
-.B keyint=<0\-300>
-ÍÁËÓÉÍÁÌØÎÙÊ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ ËÌÀÞÅ×ÙÍÉ ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 250, ÄÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ
-ÏÄÉÎ ËÌÀÞÅ×ÏÊ ËÁÄÒ ËÁÖÄÙÅ ÄÅÓÑÔØ ÓÅËÕÎÄ × 25fps ÆÉÌØÍÅ.
-üÔÏ ÒÅËÏÍÅÎÄÕÅÍÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ MPEG\-4).
-âÏÌØÛÉÎÓÔ×Ï ËÏÄÅËÏ× ÔÒÅÂÕÀÔ ÎÁÌÉÞÉÑ ÒÅÇÕÌÑÒÎÙÈ ËÌÀÞÅ×ÙÈ ËÁÄÒÏ×, ÞÔÏÂÙ
-ÏÇÒÁÎÉÞÉÔØ ÎÁËÏÐÌÅÎÉÅ ÏÛÉÂÏË ÎÅÓÏ×ÐÁÄÅÎÉÑ.
-ëÌÀÞÅ×ÙÅ ËÁÄÒÙ ÔÁËÖÅ ÎÕÖÎÙ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ, ÐÏÓËÏÌØËÕ ÐÅÒÅÍÅÝÅÎÉÅ
-×ÏÚÍÏÖÎÏ ÔÏÌØËÏ ÐÏ ÎÉÍ, ÎÏ ÚÁÎÉÍÁÀÔ ÂÏÌØÛÅ ÍÅÓÔÁ.
-ôÁËÉÍ ÏÂÒÁÚÏÍ ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÚÄÅÓØ ÏÚÎÁÞÁÀÔ ÆÁÊÌÙ ÎÅÓËÏÌØËÏ
-ÍÅÎØÛÅÇÏ ÒÁÚÍÅÒÁ, ÎÏ Ó ÍÅÎÅÅ ÔÏÞÎÙÍ ÐÅÒÅÍÅÝÅÎÉÅÍ.
-0 ÜË×É×ÁÌÅÎÔÎÏ 1, ÞÔÏ ÄÅÌÁÅÔ ËÁÖÄÙÊ ËÁÄÒ ËÌÀÞÅ×ÙÍ.
-úÎÁÞÅÎÉÑ >300 ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ, ÐÏÓËÏÌØËÕ ËÁÞÅÓÔ×Ï
-ÍÏÖÅÔ ÂÙÔØ ÐÌÏÈÉÍ × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÄÅËÏÄÅÒÁ, ËÏÄÅÒÁ É ÕÄÁÞÉ.
-äÌÑ MPEG\-1/2 ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÀÔÓÑ ÚÎÁÞÅÎÉÑ <=30.
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-ðÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÉÚÍÅÎÅÎÉÑ ÓÃÅÎÙ.
-ëÌÀÞÅ×ÏÊ ËÁÄÒ ×ÓÔÁ×ÌÑÅÔÓÑ libavcodec ÔÏÇÄÁ, ËÏÇÄÁ ÏÎ ÏÂÎÁÒÕÖÉ×ÁÅÔ,
-ÞÔÏ ÓÃÅÎÁ ÉÚÍÅÎÉÌÁÓØ.
-üÔÏÊ ÏÐÃÉÅÊ ×Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ÞÕ×ÓÔ×ÉÔÅÌØÎÏÓÔØ ÏÐÒÅÄÅÌÅÎÉÑ.
-\-1000000000 ÏÚÎÁÞÁÅÔ, ÞÔÏ ÓÃÅÎÁ ÍÅÎÑÅÔÓÑ ËÁÖÄÙÊ ËÁÄÒ.
-1000000000 ÏÚÎÁÞÁÅÔ, ÞÔÏ ÉÚÍÅÎÅÎÉÑ ÓÃÅÎÙ ×ÏÏÂÝÅ ÎÅ ÏÐÒÅÄÅÌÑÀÔÓÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.
-.TP
-.B sc_factor=<ÌÀÂÏÅ ÐÏÌÏÖÉÔÅÌØÎÏÅ ÃÅÌÏÅ>
-ëÁÄÒÙ Ó Ë×ÁÎÔÏ×ÁÔÅÌÅÍ ×ÙÛÅ ÕËÁÚÁÎÎÏÇÏ ÚÎÁÞÅÎÉÑ Ó ÂÏÌØÛÅÊ ×ÅÒÏÑÔÎÏÓÔØ ÐÒÉ×ÅÄÕÔ Ë
-ÓÒÁÂÁÔÙ×ÁÎÉÀ ÁÌÇÏÒÉÔÍÁ ÏÐÒÅÄÅÌÅÎÉÑ ÉÚÍÅÎÅÎÉÑ ÓÃÅÎÙ É ÉÓÐÏÌØÚÏ×ÁÎÉÀ
-ËÏÄÅËÏÍ I\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-òÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ: 1\-16.
-úÎÁÞÅÎÉÑ ÍÅÖÄÕ 2 É 6 ÍÏÇÕÔ ÄÁÔØ Õ×ÅÌÉÞÅÎÎÙÊ PSNR (×ÐÌÏÔØ ÄÏ ÐÒÉÍÅÒÎÏ
-0.04 Äâ) É ÌÕÞÛÅÅ ÒÁÓÐÏÌÏÖÅÎÉÅ I\-ËÁÄÒÏ× × ÓÉÌØÎÏ ÄÉÎÁÍÉÞÎÙÈ ÓÃÅÎÁÈ.
-úÎÁÞÅÎÉÑ ÂÏÌØÛÅ 6 ÍÏÇÕÔ ÄÁÔØ ÏÞÅÎØ ÎÅÚÎÁÞÉÔÅÌØÎÏÅ Õ×ÅÌÉÞÅÎÉÅ PSNR
-(ÐÒÉÍÅÒÎÏ ÎÁ 0.01 Äâ ÂÏÌØÛÅ, ÞÅÍ sc_factor=6), ÎÏ ÚÁÍÅÔÎÏ
-ÕÈÕÄÛÁÔ ×ÉÚÕÁÌØÎÏÅ ËÁÞÅÓÔ×Ï.
-.
-.TP
-.B vb_strategy=<0\-2> (ÔÏÌØËÏ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ)
-ÓÔÒÁÔÅÇÉÑ ×ÙÂÏÒÁ ÍÅÖÄÕ I/P/B\-ËÁÄÒÁÍÉ:
-.PD 0
-.RSs
-.IPs 0
-÷ÓÅÇÄÁ ÉÓÐÏÌØÚÏ×ÁÔØ ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï B\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1
-éÚÂÅÇÁÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÑ B\-ËÁÄÒÏ× × ÓÉÌØÎÏ ÄÉÎÁÍÉÞÎÙÈ ÓÃÅÎÁÈ.
-óÍÏÔÒÉÔÅ ÏÐÃÉÀ b_sensitivity ÄÌÑ ÔÀÎÉÎÇÁ ÜÔÏÊ ÓÔÒÁÔÅÇÉÉ.
-.IPs 2
-òÁÚÍÅÝÁÅÔ B\-ËÁÄÒÙ ÂÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÏÐÔÉÍÁÌØÎÏ, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÍÁËÓÉÍÁÌØÎÏÅ ËÁÞÅÓÔ×Ï (ÍÅÄÌÅÎÎÅÅ).
-÷Ù ÍÏÖÅÔÅ ÚÁÈÏÔÅÔØ ÕÍÅÎØÛÉÔØ ×ÌÉÑÎÉÅ ÜÔÏÊ ÏÐÃÉÉ ÎÁ ÓËÏÒÏÓÔØ, ÎÁÓÔÒÁÉ×ÁÑ
-ÏÐÃÉÀ brd_scale.
-.RE
-.PD 1
-.
-.TP
-.B b_sensitivity=<ÌÀÂÏÅ ÃÅÌÏÅ ÂÏÌØÛÅÅ 0>
-îÁÓÔÒÁÉ×ÁÅÔ ÞÕ×ÓÔ×ÉÔÅÌØÎÏÓÔØ ÏÐÒÅÄÅÌÅÎÉÑ ÏÐÃÉÅÊ vb_strategy=1 Ä×ÉÖÅÎÉÑ
-É ÉÚÂÅÇÁÎÉÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ B\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 40).
-íÅÎØÛÅÅ ÚÎÁÞÅÎÉÅ ÞÕ×ÓÔ×ÉÔÅÌØÎÏÓÔÉ ÄÁÓÔ × ÒÅÚÕÌØÔÁÔÅ ÂÏÌØÛÅÅ ËÏÌÉÞÅÓÔ×Ï
-B\-ËÁÄÒÏ×. üÔÏ ÏÂÙÞÎÏ ÕÌÕÞÛÁÅÔ PSNR, ÎÏ ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ ÉÈ ËÏÌÉÞÅÓÔ×Ï
-ÍÏÖÅÔ ÎÁ×ÒÅÄÉÔØ ËÁÞÅÓÔ×Õ × ÓÉÌØÎÏ ÄÉÎÁÍÉÞÎÙÈ ÓÃÅÎÁÈ.
-åÓÌÉ ÖÅ ÎÅÔ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÄÉÎÁÍÉËÉ, ÔÏ ÍÏÖÎÏ
-ÂÅÚÏÐÁÓÎÏ ÕÍÅÎØÛÉÔØ b_sensitivity ÎÉÖÅ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ;
-10 \- ÒÁÚÕÍÎÏÅ ÚÎÁÞÅÎÉÅ × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ×.
-.
-.TP
-.B brd_scale=<0\-10>
-.\"FIXME is translation correct
-.\" Downscales frames for dynamic B\-frame decision (default: 0).
-õÍÅÎØÛÁÅÔ ÒÁÚÍÅÒ ÉÚÏÂÒÁÖÅÎÉÑ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÄÉÎÁÍÉÞÎÏÓÔÉ
-B\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ðÒÉ ËÁÖÄÏÍ Õ×ÅÌÉÞÅÎÉÉ brd_scale ÎÁ ÅÄÉÎÉÃÕ, ÒÁÚÍÅÒÎÏÓÔÉ
-ÄÅÌÑÔÓÑ ÎÁ Ä×Á, ÞÔÏ Õ×ÅÌÉÞÉ×ÁÅÔ ÓËÏÒÏÓÔØ ÒÁÂÏÔÙ × ÞÅÔÙÒÅ ÒÁÚÁ.
-ïÂÅ ÒÁÚÍÅÒÎÏÓÔÉ ÐÏÌÎÏÓÔØÀ ÏÔÍÁÓÔÛÁÂÉÒÏ×ÁÎÎÏÇÏ ËÁÄÒÁ ÄÏÌÖÎÙ ÂÙÔØ ÞÅÔÎÙÍÉ,
-ÔÁËÉÍ ÏÂÒÁÚÏÍ brd_scale=1 ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÏÂÅ ÒÁÚÍÅÒÎÏÓÔÉ ÂÙÌÉ ËÒÁÔÎÙ ÞÅÔÙÒÅÍ,
-brd_scale=2 ÔÒÅÂÕÅÔ ËÒÁÔÎÏÓÔØ ×ÏÓØÍÉ É ÔÁË ÄÁÌÅÅ.
-äÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ, ÏÂÅ ÒÁÚÍÅÒÎÏÓÔÉ ÏÒÉÇÉÎÁÌØÎÏÇÏ ËÁÄÒÁ ÄÏÌÖÎÙ ÄÅÌÉÔØÓÑ
-ÎÁ 2^(brd_scale+1) ÂÅÚ ÏÓÔÁÔËÁ.
-.
-.TP
-.B bidir_refine=<0\-4>
-õÔÏÞÎÉÔØ Ä×Á ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ, ÉÓÐÏÌØÚÕÀÝÉÈÓÑ × Ä×ÕÎÁÐÒÁ×ÌÅÎÎÙÈ
-ÍÁËÒÏÂÌÏËÁÈ ×ÍÅÓÔÏ ÐÏ×ÔÏÒÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ×ÅËÔÏÒÏ× ÉÚ ÐÒÑÍÏÇÏ É ÏÂÒÁÔÎÏÇÏ ÐÏÉÓËÁ.
-ïÐÃÉÑ ÎÅ ÉÍÅÅÔ ÜÆÆÅËÔÁ ÐÒÉ ÏÔÓÕÔÓÔ×ÉÉ B\-ëÁÄÒÏ×.
-.PD 0
-.RSs
-.IPs 0
-ïÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1\-4
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÂÏÌÅÅ ÛÉÒÏËÏÇÏ ÐÏÉÓËÁ (ÞÅÍ ÂÏÌØÛÅ ÚÎÁÞÅÎÉÅ, ÔÅÍ ÍÅÄÌÅÎÎÅÅ).
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-áËÔÉ×ÉÒÕÅÔ ×ÎÕÔÒÅÎÎÉÊ ÒÅÖÉÍ Ó Ä×ÕÍÑ (ÉÌÉ ÂÏÌÅÅ) ÐÒÏÈÏÄÁÍÉ, ÕËÁÚÙ×ÁÊÔÅ,
-ÔÏÌØËÏ ÅÓÌÉ ÈÏÔÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×ÕÈ(ÉÌÉ ÂÏÌÅÅ)ÐÒÏÈÏÄÎÏÅ ËÏÄÉÒÏ×ÁÎÉÅ.
-.PD 0
-.RSs
-.IPs 1
-ÐÅÒ×ÙÊ ÐÒÏÈÏÄ (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ turbo)
-.IPs 2
-×ÔÏÒÏÊ ÐÒÏÈÏÄ
-.IPs 3
-N\-Ê ÐÒÏÈÏÄ (×ÔÏÒÏÊ É ÐÏÓÌÅÄÕÀÝÉÅ ÐÒÏÈÏÄÙ N\-ÐÒÏÈÏÄÎÏÇÏ ÒÅÖÉÍÁ)
-.RE
-.RS
-÷ÏÔ ËÁË ÜÔÏ ÒÁÂÏÔÁÅÔ, É ËÁË ÜÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ:
-.br
-ðÅÒ×ÙÊ ÐÒÏÈÏÄ (vpass=1) ÚÁÐÉÓÙ×ÁÅÔ ÆÁÊÌ ÓÏ ÓÔÁÔÉÓÔÉËÏÊ.
-÷ÏÚÍÏÖÎÏ, ×Ù ÚÁÈÏÔÉÔÅ ÄÅËÔÉ×ÉÒÏ×ÁÔØ ÎÅËÏÔÏÒÙÅ ÔÒÅÂÏ×ÁÔÅÌØÎÙÅ Ë
-CPU ÏÐÃÉÉ ÔÁË, ËÁË ÜÔÏ ÄÅÌÁÅÔ ÒÅÖÉÍ turbo.
-.br
-÷ Ä×ÕÐÒÏÈÏÄÎÏÍ ÒÅÖÉÍÅ ×ÔÏÒÏÊ ÐÒÏÈÏÄ (vpass=2) ÞÉÔÁÅÔ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ É
-ÎÁ ÏÓÎÏ×Å ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ ÐÒÉÎÉÍÁÀÔÓÑ ÒÅÛÅÎÉÑ Ï ÕÐÒÁ×ÌÅÎÉÉ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ.
-.br
-÷ N\-ÐÒÏÈÏÄÎÏÍ ÒÅÖÉÍÅ, ×ÔÏÒÏÊ ÐÒÏÈÏÄ (vpass=3, ÜÔÏ ÎÅ ÏÐÅÞÁÔËÁ)
-ÄÅÌÁÅÔ Ä×Å ×ÅÝÉ: ÓÎÁÞÁÌÁ ÞÉÔÁÅÔ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ, ÚÁÔÅÍ ÐÅÒÅÚÁÐÉÓÙ×ÁÅÔ ÅÇÏ.
-×ÏÚÍÏÖÎÏ, ÐÅÒÅÄ ÜÔÉÍ ×ÁÍ ÚÁÈÏÞÅÔÓÑ ÓÏÈÒÁÎÉÔØ divx2pass.log, ÅÓÌÉ
-ÓÕÝÅÓÔ×ÕÅÔ ×ÅÒÏÑÔÎÏÓÔØ ÐÒÅÒÙ×ÁÎÉÑ ÒÁÂÏÔÙ MEncoder.
-íÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÅ ÏÐÃÉÉ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÅÈ, ÞÔÏ ÏÞÅÎØ ÓÉÌØÎÏ
-ÐÏÔÒÅÂÌÑÀÔ CPU, ÎÁÐÒÉÍÅÒ "qns".
-.br
-÷Ù ÍÏÖÅÔÅ ÚÁÐÕÓËÁÔØ ÜÔÏÔ ÐÒÏÈÏÄ ÓÎÏ×Á É ÓÎÏ×Á ÄÌÑ ÕÌÕÞÛÅÎÉÑ ËÏÄÉÒÏ×ÁÎÉÑ.
-ëÁÖÄÙÊ ÐÏÓÌÅÄÕÀÝÉÊ ÐÒÏÈÏÄ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÔÉÓÔÉËÕ ÐÒÅÄÙÄÕÝÅÇÏ ÄÌÑ
-ÕÌÕÞÛÅÎÉÑ ÒÅÚÕÌØÔÁÔÁ.
-ðÏÓÌÅÄÎÉÊ ÐÒÏÈÏÄ ÍÏÖÅÔ ×ËÌÀÞÁÔØ ÌÀÂÙÅ ÎÁÇÒÕÖÁÀÝÉÅ CPU ÏÐÃÉÉ.
-.br
-åÓÌÉ ÈÏÔÉÔÅ ÓÄÅÌÁÔØ Ä×ÕÈÐÒÏÈÏÄÎÏÅ ËÏÄÉÒÏ×ÁÎÉÅ, ÉÓÐÏÌØÚÕÊÔÅ ÓÎÁÞÁÌÁ vpass=1,
-ÚÁÔÅÍ vpass=2.
-.br
-åÓÌÉ ÖÅÌÁÅÔÅ ËÏÄÉÒÏ×ÁÔØ × 3 ÉÌÉ ÂÏÌÅÅ ÐÒÏÈÏÄÏ×, ÉÓÐÏÌØÚÕÊÔÅ vpass=1
-ÄÌÑ ÐÅÒ×ÏÇÏ, ÚÁÔÅÍ vpass=3, ÚÁÔÅÍ vpass=3 ÓÎÏ×Á É ÓÎÏ×Á, ÐÏËÁ
-ÎÅ ÕÄÏ×ÌÅÔ×ÏÒÉÔÅÓØ ÒÅÚÕÌØÔÁÔÏÍ ËÏÄÉÒÏ×ÁÎÉÑ.
-.RE
-.PD 1
-.sp 1
-.RS
-huffyuv:
-.RE
-.PD 0
-.RSs
-.IPs "pass 1"
-óÏÈÒÁÎÑÅÔ ÓÔÁÔÉÓÔÉËÕ.
-.IPs "pass 2"
-ëÏÄÉÒÕÅÔ Ó ÏÐÔÉÍÁÌØÎÏÊ ÔÁÂÌÉÃÅÊ èÁÆÆÍÁÎÁ (Huffman), ÏÓÎÏ×ÁÎÎÏÊ
-ÎÁ ÓÔÁÔÉÓÔÉËÅ ÉÚ ÐÅÒ×ÏÇÏ ÐÒÏÈÏÄÁ.
-.RE
-.PD 1
-.
-.TP
-.B turbo (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-þÒÅÚ×ÙÞÁÊÎÏ ÕÓËÏÒÑÅÔ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ, ÉÓÐÏÌØÚÕÑ ÂÏÌÅÅ ÂÙÓÔÒÙÅ ÁÌÇÏÒÉÔÍÙ
-É ÏÔËÌÀÞÁÑ ÓÉÌØÎÏ ÎÁÇÒÕÖÁÀÝÉÅ CPU ÏÐÃÉÉ.
-÷ÏÚÍÏÖÎÏ ÜÔÏ ÎÅÓËÏÌØËÏ ÕÍÅÎØÛÉÔ ÏÂÝÉÊ PSNR (ÐÒÉÍÅÒÎÏ ÎÁ 0.01Äâ), Á
-ÔÁËÖÅ ÉÚÍÅÎÉÔ ÔÉÐ É ÎÅÚÎÁÞÉÔÅÌØÎÏ (×ÐÌÏÔØ ÄÏ 0.03dB) PSNR ÏÔÄÅÌØÎÙÈ ËÁÄÒÏ×.
-.
-.TP
-.B aspect=<x/y>
-óÏÈÒÁÎÑÅÔ ÐÒÏÐÏÒÃÉÉ ÆÉÌØÍÁ ×ÎÕÔÒÉ ÎÅÇÏ, × ÔÏÞÎÏÓÔÉ ËÁË × MPEG ÆÁÊÌÁÈ.
-îÁÍÎÏÇÏ ÐÒÉÑÔÎÅÅ ÐÒÉ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÉ, ÐÏÓËÏÌØËÕ ËÁÞÅÓÔ×Ï ÎÅ ÕÈÕÄÛÁÅÔÓÑ.
-ôÏÌØËÏ MPlayer ÓÍÏÖÅÔ ÐÒÁ×ÉÌØÎÏ ×ÏÓÐÒÏÉÚ×ÅÓÔÉ ÔÁËÉÅ ÆÁÊÌÙ, ÏÓÔÁÌØÎÙÅ
-ÐÒÏÉÇÒÙ×ÁÔÅÌÉ ÂÕÄÕÔ ÐÏËÁÚÙ×ÁÔØ ÅÇÏ Ó ÎÅ×ÅÒÎÙÍÉ ÐÒÏÐÏÒÃÉÑÍÉ.
-ðÁÒÁÍÅÔÒ ÏÐÃÉÉ aspect ÍÏÖÅÔ ÂÙÔØ ÚÁÄÁÎ ÄÒÏÂØÀ ÉÌÉ ×ÅÝÅÓÔ×ÅÎÎÙÍ ÞÉÓÌÏÍ.
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/9 ÉÌÉ aspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-ôÏ ÖÅ, ÞÔÏ É ÏÐÃÉÑ aspect, ÎÏ ×ÙÞÉÓÌÑÅÔ ÐÒÏÐÏÒÃÉÉ Á×ÔÏÍÁÔÉÞÅÓËÉ,
-ÐÒÉÎÉÍÁÑ ×Ï ×ÎÉÍÁÎÉÅ ×ÓÅ ÉÚÍÅÎÅÎÉÑ (crop/\:expand/\:scale/\:ÄÒÕÇÏÅ.),
-ÐÒÏÉÚ×ÏÄÉÍÙÅ × ÃÅÐÏÞËÅ ÆÉÌØÔÒÏ×. ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÎÉËÁË ÎÅ ÓÔÒÁÄÁÅÔ, ÔÁË ÞÔÏ
-ÍÏÖÎÏ ÓÐÏËÏÊÎÏ ÄÅÒÖÁÔØ ÜÔÕ ÏÐÃÉÀ ÐÏÓÔÏÑÎÎÏ ×ËÌÀÞÅÎÎÏÊ.
-.
-.TP
-.B vbitrate=<ÚÎÁÞÅÎÉÅ>
-õËÁÚÙ×ÁÅÔ ÂÉÔÐÏÔÏË (ÐÏ ÕÍÏÌÞÁÎÉÀ: 800).
-.br
-.I ÷îéíáîéå:
-1ËÂÉÔ = 1000 ÂÉÔ
-.PD 0
-.RSs
-.IPs 4\-16000
-(× ËÂÉÔÁÈ)
-.IPs 16001\-24000000
-(× ÂÉÔÁÈ)
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<ÚÎÁÞÅÎÉÅ>
-ÄÏÐÕÓÔÉÍÏÅ ÏÔËÌÏÎÅÎÉÅ ÏÔ ÐÒÉÍÅÒÎÏÇÏ ÒÁÚÍÅÒÁ ÆÁÊÌÁ × ËÂÉÔ.
-1000\-100000 \- ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ.
-(×ÎÉÍÁÎÉÅ: 1ËÂÉÔ = 1000 ÂÉÔ)
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 8000)
-.br
-.I úáíåþáîéå:
-vratetol ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÓÌÉÛËÏÍ ÂÏÌØÛÉÍ ×Ï ×ÒÅÍÑ ×ÔÏÒÏÇÏ ÐÒÏÈÏÄÁ, ÉÎÁÞÅ ÍÏÇÕÔ
-ÂÙÔØ ÐÒÏÂÌÅÍÙ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ vrc_(min|max)rate.
-.
-.TP
-.B vrc_maxrate=<ÚÎÁÞÅÎÉÅ>
-ÍÁËÓÉÍÁÌØÎÙÊ ÂÉÔÐÏÔÏË × ËÂÉÔ/\:ÓÅË
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 0, ÎÅÏÇÒÁÎÉÞÅÎ)
-.
-.TP
-.B vrc_minrate=<ÚÎÁÞÅÎÉÅ>
-ÍÉÎÉÍÁÌØÎÙÊ ÂÉÔÐÏÔÏË × ËÂÉÔ/\:ÓÅË
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 0, ÎÅÏÇÒÁÎÉÞÅÎ)
-.
-.TP
-.B vrc_buf_size=<ÚÎÁÞÅÎÉÅ>
-ÒÁÚÍÅÒ ÂÕÆÅÒÁ × ËÂÉÔ.
-äÌÑ MPEG\-1/2 ÜÔÏ ÔÁËÖÅ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ vbv ÂÕÆÅÒÁ, ÄÌÑ VCD ÉÓÐÏÌØÚÕÊÔÅ 327,
-917 ÄÌÑ SVCD É 1835 ÄÌÑ DVD.
-.
-.TP
-.B vrc_buf_aggressivity
-× ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÂÅÓÐÏÌÅÚÎÁ
-.
-.TP
-.B vrc_strategy
-íÅÔÏÄ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ.
-éÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ÎÅËÏÔÏÒÙÅ ÏÐÃÉÉ, ÏÔ×ÅÞÁÀÝÉÅ ÚÁ ÕÐÒÁ×ÌÅÎÉÅ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ
-ÎÅ ÂÕÄÕÔ ÉÍÅÔØ ÜÆÆÅËÔÁ, ÅÓÌÉ vrc_strategy ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ × 0.
-.PD 0
-.RSs
-.IPs 0
-éÓÐÏÌØÚÏ×ÁÎÉÅ ×ÎÕÔÒÅÎÎÅÇÏ ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ lavc (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ Xvid (ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÊ; ÔÒÅÂÕÅÔ,
-ÞÔÏÂÙ MPlayer ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó ÐÏÄÄÅÒÖËÏÊ Xvid 1.1 ÉÌÉ ×ÙÛÅ).
-.RE
-.PD 1
-.
-.\" FIXME chek translation for v?_qfactor options
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-ÏÔÎÏÛÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ B\- É ÎÅ-B\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.25)
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-ÏÔÎÏÛÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ I\- É ÎÅ-I\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.8)
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-ÓÍÅÝÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÍÅÖÄÕ B\- É ÎÅ-B\-ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.25)
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0)
-.br
-ÅÓÌÉ v{b|i}_qfactor > 0
-.br
-Ë×ÁÎÔÏ×ÁÔÅÌØ I/B\-ËÁÄÒÁ = Ë×ÁÎÔÏ×ÁÔÅÌØ P\-ËÁÄÒÁ * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-ÉÎÁÞÅ
-.br
-ÐÒÏÉÚ×ÏÄÉÔÓÑ ÏÂÙÞÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ (ÎÅ ÄÅÌÁÅÔÓÑ ÐÒÉ×ÑÚËÁ Ë Ë×ÁÎÔÏ×ÁÔÅÌÀ
-ÓÌÅÄÕÀÝÅÇÏ P\-ËÁÄÒÁ) É ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I ðïäóëáúëá:
-þÔÏÂÙ ÐÒÏÉÚ×ÅÓÔÉ ËÏÄÉÒÏ×ÁÎÉÅ Ó ÐÏÓÔÏÑÎÎÙÍ Ë×ÁÎÔÏ×ÁÔÅÌÅÍ, ÏÔÌÉÞÁÀÝÉÈÓÑ ÄÌÑ
-I/P\- É B\-ËÁÄÒÏ× ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ:
-lmin= <ip_Ë×ÁÎÔÏ×ÁÔÅÌØ>:lmax= <ip_Ë×ÁÎÔÏ×ÁÔÅÌØ>:vb_qfactor= <b_Ë×ÁÎÔÏ×ÁÔÅÌØ/\:ip_Ë×ÁÎÔÏ×ÁÔÅÌØ>.
-.
-.TP
-.B vqblur=<0.0\-1.0> (ÐÅÒ×ÙÊ ÐÒÏÈÏÄ)
-òÁÚÍÙ×ÁÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.5), ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ
-ÂÕÄÕÔ ÕÓÒÅÄÎÑÔØ Ë×ÁÎÔÏ×ÁÔÅÌØ ÎÁ ÂÏÌØÛÅÍ ÉÎÔÅÒ×ÁÌÅ ×ÒÅÍÅÎÉ
-(ÂÏÌÅÅ ÍÅÄÌÅÎÎÏÅ ÉÚÍÅÎÅÎÉÅ).
-.PD 0
-.RSs
-.IPs 0.0
-òÁÚÍÙ×ÁÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÏÔËÌÀÞÅÎÏ.
-.IPs 1.0
-óÒÅÄÎÅÅ ÚÎÁÞÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÂÅÒÅÔÓÑ ÐÏ ×ÓÅÍ ÐÒÅÄÙÄÕÝÉÍ ËÁÄÒÁÍ.
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0> (×ÔÏÒÏÊ ÐÒÏÈÏÄ)
-çÁÕÓÓÏ×Ï ÒÁÚÍÙ×ÁÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.5), ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ
-ÂÕÄÕÔ ÕÓÒÅÄÎÑÔØ Ë×ÁÎÔÏ×ÁÔÅÌØ ÎÁ ÂÏÌØÛÅÍ ÉÎÔÅÒ×ÁÌÅ ×ÒÅÍÅÎÉ
-(ÂÏÌÅÅ ÍÅÄÌÅÎÎÏÅ ÉÚÍÅÎÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ).
-.
-.TP
-.B vqcomp=<0.0\-1.0>
-óÖÁÔÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ. ïÔ ÜÔÏÊ ÏÐÃÉÉ ÚÁ×ÉÓÉÔ vrc_eq (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.5).
-.I úáíåþáîéå
-ëÁÞÅÓÔ×Ï ×ÏÓÐÒÉÑÔÉÑ ÂÕÄÅÔ ÏÐÔÉÍÁÌØÎÙÍ ÇÄÅ\-ÔÏ ÍÅÖÄÕ ÐÒÅÄÅÌØÎÙÍÉ
-ÚÎÁÞÅÎÉÑÍÉ ÄÉÁÐÁÚÏÎÁ.
-.
-.TP
-.B vrc_eq=<ÆÏÒÍÕÌÁ>
-ÏÓÎÏ×ÎÁÑ ÆÏÒÍÕÌÁ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ
-.RE
-.RSs
-.IPs 1+(tex/\:avgTex\-1)*qComp
-ÐÒÉÂÌÉÖÅÎÎÁÑ ÆÏÒÍÕÌÁ ÓÔÁÒÏÇÏ ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÐÏÔÏËÁ
-.IPs tex^qComp
-Ó qcomp 0.5 ÉÌÉ ÞÅÍ\-ÔÏ ÐÏÈÏÖÉÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.RE
-.PP
-.RS
-×ÓÔÒÏÅÎÎÙÅ ÏÐÅÒÁÔÏÒÙ:
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-ÐÅÒÅÍÅÎÎÙÅ:
-.RE
-.RSs
-.IPs "tex\ \ "
-ÓÌÏÖÎÏÓÔØ ÔÅËÓÔÕÒÙ
-.IPs iTex,pTex
-ÓÌÏÖÎÏÓÔØ ×ÎÕÔÒÅÎÎÅÊ, ÎÅ\-×ÎÕÔÒÅÎÎÅÊ ÔÅËÓÔÕÒÙ
-.IPs avgTex
-ÓÒÅÄÎÑÑ ÓÌÏÖÎÏÓÔØ ÔÅËÓÔÕÒÙ
-.IPs avgIITex
-ÓÒÅÄÎÑÑ ÓÌÏÖÎÏÓÔØ ×ÎÕÔÒÅÎÎÅÊ ÔÅËÓÔÕÒÙ × I\-ËÁÄÒÁÈ
-.IPs avgPITex
-ÓÒÅÄÎÑÑ ÓÌÏÖÎÏÓÔØ ×ÎÕÔÒÅÎÎÅÊ ÔÅËÓÔÕÒÙ × P\-ËÁÄÒÁÈ
-.IPs avgPPTex
-ÓÒÅÄÎÑÑ ÓÌÏÖÎÏÓÔØ ÎÅ\-×ÎÕÔÒÅÎÎÅÊ ÔÅËÓÔÕÒÙ × P\-ËÁÄÒÁÈ
-.IPs avgBPTex
-ÓÒÅÄÎÑÑ ÓÌÏÖÎÏÓÔØ ÎÅ\-×ÎÕÔÒÅÎÎÅÊ ÔÅËÓÔÕÒÙ × B\-ËÁÄÒÁÈ
-.IPs "mv\ \ \ "
-ËÏÌÉÞÅÓÔ×Ï ÂÉÔ, ÉÓÐÏÌØÚÕÅÍÙÈ ÄÌÑ ×ÅËÔÏÒÏ× Ä×ÉÖÅÎÉÑ
-.IPs fCode
-ÍÁËÓÉÍÁÌØÎÁÑ ÄÌÉÎÁ ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ ÐÏ log2 ÛËÁÌÅ
-.IPs iCount
-ËÏÌÉÞÅÓÔ×Ï ×ÎÕÔÒÅÎÎÉÈ ÍÁËÒÏÂÌÏËÏ× / ËÏÌÉÞÅÓÔ×Ï ÍÁËÒÏÂÌÏËÏ×
-.IPs "var\ \ "
-ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÁÑ ÓÌÏÖÎÏÓÔØ
-.IPs mcVar
-×ÒÅÍÅÎÎÁÑ ÓÌÏÖÎÏÓÔØ
-.IPs qComp
-qcomp ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ
-.IPs "isI, isP, isB"
-òÁ×ÎÏ 1, ÅÓÌÉ ÔÉÐ ËÁÒÔÉÎËÉ I/P/B, ÉÎÁÞÅ 0.
-.IPs "Pi,E\ "
-óÍÏÔÒÉÔÅ × ×ÁÛÅÊ ÌÀÂÉÍÏÊ ËÎÉÇÅ ÐÏ ÍÁÔÅÍÁÔÉËÅ.
-.RE
-.PP
-.RS
-ÆÕÎËÃÉÉ:
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-ÍÁËÓÉÍÕÍ / ÍÉÎÉÍÕÍ
-.IPs gt(a,b)
-òÁ×ÎÏ 1, ÅÓÌÉ a>b, 0 ÉÎÁÞÅ.
-.IPs lt(a,b)
-òÁ×ÎÏ 1, ÅÓÌÉ a<b, 0 ÉÎÁÞÅ.
-.IPs eq(a,b)
-òÁ×ÎÏ 1, ÅÓÌÉ a==b, 0 ÉÎÁÞÅ.
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<ÏÐÃÉÉ>
-õËÁÚÁÎÎÏÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ËÁÞÅÓÔ×Ï ÄÌÑ ÏÐÒÅÄÅÌÅÎÎÙÈ ÞÁÓÔÅÊ (ËÏÎÃÏ×ÏË, ÔÉÔÒÏ×, ...).
-ïÐÃÉÉ, ÕËÁÚÙ×ÁÅÍÙÅ × ÆÏÒÍÁÔÅ <ÎÁÞÁÌØÎÙÊ ËÁÄÒ>, <ËÏÎÅÞÎÙÊ ËÁÄÒ>,
-<ËÁÞÅÓÔ×Ï>[/<ÎÁÞÁÌØÎÙÊ ËÁÄÒ>, <ËÏÎÅÞÎÙÊ ËÁÄÒ>, <ËÁÞÅÓÔ×Ï>[/...]]:
-.PD 0
-.RSs
-.IPs "ËÁÞÅÓÔ×Ï (2\-31)"
-Ë×ÁÎÔÏ×ÁÔÅÌØ
-.IPs "ËÁÞÅÓÔ×Ï (\-500\-0)"
-ËÏÒÒÅËÃÉÑ ËÁÞÅÓÔ×Á × %
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-ÎÁÞÁÌØÎÁÑ ÓÌÏÖÎÏÓÔØ (ÐÒÏÈÏÄ 1)
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-ÎÁÞÁÌØÎÏÅ ÚÁÐÏÌÎÅÎÉÅ ÂÕÆÅÒÁ × ×ÉÄÅ ÞÁÓÔÉ ÏÔ vrc_buf_size (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.9)
-.
-.TP
-.B vqsquish=<0|1>
-õËÁÚÙ×ÁÅÔ ËÁË ÕÄÅÒÖÉ×ÁÔØ Ë×ÁÎÔÏ×ÁÔÅÌØ ÍÅÖÄÕ qmin É qmax.
-.PD 0
-.RSs
-.IPs 0
-éÓÐÏÌØÚÏ×ÁÔØ ÏÂÒÅÚÁÎÉÅ.
-.IPs 1
-éÓÐÏÌØÚÏ×ÁÔØ ÈÏÒÏÛÏ ÄÉÆÆÅÒÅÎÃÉÒÕÅÍÕÀ ÆÕÎËÃÉÀ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÏÒÏÇ ÏÔÂÒÁÓÙ×ÁÎÉÑ ÏÄÉÎÏÞÎÏÇÏ ËÏÜÆÆÉÃÉÅÎÔÁ ÄÌÑ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ.
-ïÔÒÉÃÁÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÔÁË ÖÅ ÂÕÄÕÔ ÕÞÉÔÙ×ÁÔØ ËÏÜÆÆÉÃÉÅÎÔ DC (ÄÏÌÖÎÁ ÂÙÔØ ËÁË ÍÉÎÉÍÕÍ \-4
-ÉÌÉ ÎÉÖÅ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ Ó quant=1):
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs \-4
-ÒÅËÏÍÅÎÄÁÃÉÑ JVT
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÏÒÏÇ ÏÔÂÒÁÓÙ×ÁÎÉÑ ÏÄÉÎÏÞÎÏÇÏ ËÏÜÆÆÉÃÉÅÎÔÁ ÄÌÑ Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ.
-ïÔÒÉÃÁÔÅÌØÎÙÅ ÚÎÁÞÅÎÉÑ ÔÁË ÖÅ ÂÕÄÕÔ ÕÞÉÔÙ×ÁÔØ ËÏÜÆÆÉÃÉÅÎÔ DC (ÄÏÌÖÎÁ ÂÙÔØ ËÁË ÍÉÎÉÍÕÍ \-4
-ÉÌÉ ÎÉÖÅ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ Ó quant=1):
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 7
-ÒÅËÏÍÅÎÄÁÃÉÑ JVT
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-ÓÔÒÏÇÏÓÔØ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÓÔÁÎÄÁÒÔÕ
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ
-.IPs 1
-òÅËÏÍÅÎÄÕÅÔÓÑ, ÔÏÌØËÏ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÎÁÐÒÁ×ÉÔØ ×Ù×ÏÄ ×
-ÜÔÁÌÏÎÎÙÊ MPEG\-4 ÄÅËÏÄÅÒ.
-.IPs \-1
-òÁÚÒÅÛÁÅÔ ÓÐÅÃÉÆÉÞÎÙÅ ÒÁÓÛÉÒÅÎÉÑ libavcodec (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs \-2
-úÁÄÅÊÓÔ×ÕÅÔ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÙÅ ËÏÄÅËÉ É ×ÏÚÍÏÖÎÏÓÔÉ, ËÏÔÏÒÙÅ ÍÏÇÕÔ
-ÏËÁÚÁÔØÓÑ ÎÅ×ÏÓÐÒÏÉÚ×ÏÄÉÍÙÍÉ × ÂÕÄÕÝÉÈ ×ÅÒÓÉÑÈ MPlayer (snow).
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-òÁÚÄÅÌÅÎÉÅ ÄÁÎÎÙÈ.
-äÏÂÁ×ÌÑÅÔ 2 ÂÁÊÔÁ × ËÁÖÄÙÊ ×ÉÄÅÏ ÐÁËÅÔ, ÕÌÕÞÛÁÅÔ ÕÓÔÏÊÞÉ×ÏÓÔØ Ë ÏÛÉÂËÁÍ ÐÒÉ
-ÐÅÒÅÄÁÞÅ ÐÏ ÎÅÎÁÄÅÖÎÙÍ ËÁÎÁÌÁÍ (ÎÁÐÒÉÍÅÒ ÄÌÑ ÐÏÔÏËÏ×ÏÇÏ ×ÅÝÁÎÉÑ ÞÅÒÅÚ ÉÎÔÅÒÎÅÔ).
-ëÁÖÄÙÊ ×ÉÄÅÏ ÐÁËÅÔ ÂÕÄÅÔ ÚÁËÏÄÉÒÏ×ÁÎ ÔÒÅÍÑ ÎÅÚÁ×ÉÓÉÍÙÍÉ ÒÁÚÄÅÌÁÍÉ:
-.PD 0
-.RSs
-.IPs "1. MV"
-Ä×ÉÖÅÎÉÅ
-.IPs "2. DC ËÏÜÆÆÉÃÉÅÎÔÙ"
-ËÁÒÔÉÎËÁ ÎÉÚËÏÇÏ ÒÁÚÒÅÛÅÎÉÑ
-.IPs "3. AC ËÏÜÆÆÉÃÉÅÎÔÙ"
-ÄÅÔÁÌÉ
-.RE
-.PD 1
-.RS
-MV & DC ÎÁÉÂÏÌÅÅ ×ÁÖÎÙ, ÉÈ ÐÏÔÅÒÑ ÂÕÄÅÔ ×ÙÇÌÑÄÅÔØ ÎÁÍÎÏÇÏ ÕÖÁÓÎÅÊ, ÞÅÍ ÐÏÔÅÒÑ
-AC É ÒÁÚÄÅÌÁ 1. ÉÌÉ 2.
-(MV & DC) ÉÍÅÀÔ ÎÁÍÎÏÇÏ ÍÅÎØÛÉÊ ÒÁÚÍÅÒ, ÞÅÍ ÒÁÚÄÅÌ 3. (AC), ÜÔÏ ÚÎÁÞÉÔ, ÞÔÏ ÏÛÉÂËÉ
-ÎÁ ÒÁÚÄÅÌ AC ÂÕÄÕÔ ÐÒÉÈÏÄÉÔØÓÑ ÚÎÁÞÉÔÅÌØÎÏ ÞÁÝÅ, ÞÅÍ ÎÁ ÒÁÚÄÅÌÙ MV & DC.
-ôÁËÉÍ ÏÂÒÁÚÏÍ, Ó ÒÁÚÄÅÌÅÎÉÅÍ ËÁÒÔÉÎËÁ ÂÕÄÅÔ ×ÙÇÌÑÄÅÔØ ÌÕÞÛÅ, ÞÅÍ ÂÅÚ ÎÅÇÏ,
-ÐÏÓËÏÌØËÕ ÂÅÚ ÎÅÇÏ ÏÛÉÂËÁ Ó ÒÁ×ÎÏÊ ×ÅÒÏÑÔÎÏÓÔØÀ ÕÎÉÞÔÏÖÉÔ AC/\:DC/\:MV.
-.RE
-.
-.TP
-.B vpsize=<0\-10000> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ vdpart)
-òÁÚÍÅÒ ×ÉÄÅÏ ÐÁËÅÔÁ, ÕÌÕÞÛÁÅÔ ÕÓÔÏÊÞÉ×ÏÓÔØ Ë ÏÛÉÂËÁÍ.
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 100\-1000
-ÈÏÒÏÛÉÊ ×ÙÂÏÒ
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-.\" FIXME untranslated
-slice structured ÒÅÖÉÍ ÄÌÑ H.263+
-.
-.TP
-.B "gray\ \ \ "
-ÞÅÒÎÏ\-ÂÅÌÏÅ ËÏÄÉÒÏ×ÁÎÉÅ (ÂÙÓÔÒÅÅ)
-.
-.TP
-.B vfdct=<0\-10>
-áÌÇÏÒÉÔÍ DCT (äÉÓËÒÅÔÎÏÅ ëÏÓÉÎÕÓÎÏÅ ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ)
-.PD 0
-.RSs
-.IPs 0
-.\" FIXME a good one = ÐÏÄÈÏÄÑÝÉÊ
-á×ÔÏÍÁÔÉÞÅÓËÉ ×ÙÂÉÒÁÅÔ ÐÏÄÈÏÄÑÝÉÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1
-ÂÙÓÔÒÙÊ ÃÅÌÏÞÉÓÌÅÎÎÙÊ
-.IPs 2
-ÔÏÞÎÙÊ ÃÅÌÏÞÉÓÌÅÎÎÙÊ
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-×ÅÝÅÓÔ×ÅÎÎÙÊ AAN
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-áÌÇÏÒÉÔÍ IDCT (ïÂÒÁÔÎÏÅ äÉÓËÒÅÔÎÏÅ ëÏÓÉÎÕÓÎÏÅ ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ)
-.br
-.I úáíåþáîéå:
-To the best of our knowledge all these IDCTs do pass the IEEE1180 tests.
-îÁÓËÏÌØËÏ ÎÁÍ ÉÚ×ÅÓÔÎÏ, ×ÓÅ ÜÔÉ ÁÌÇÏÒÉÔÍÙ ÐÒÏÈÏÄÑÔ ÔÅÓÔÙ IEEE1180.
-
-.PD 0
-.RSs
-.IPs 0
-.\" FIXME a good one = ÐÏÄÈÏÄÑÝÉÊ
-á×ÔÏÍÁÔÉÞÅÓËÉ ×ÙÂÉÒÁÅÔ ÐÏÄÈÏÄÑÝÉÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1
-ÃÅÌÏÞÉÓÌÅÎÎÙÊ ÒÅÆÅÒÅÎÓÎÙÊ JPEG
-.IPs 2
-simple
-.IPs 3
-simplemmx
-.IPs 4
-libmpeg2mmx (ÎÅÔÏÞÎÙÊ, ÎÅ ÉÓÐÏÌØÚÕÊÔÅ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ Ó keyint >100)
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.IPs 10
-simplearm
-.IPs 11
-H.264
-.IPs 12
-VP3
-.IPs 13
-IPP
-.IPs 14
-xvidmmx
-.IPs 15
-CAVS
-.IPs 16
-simplearmv5te
-.IPs 17
-simplearmv6
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-íÁÓËÉÒÏ×ÁÎÉÅ Ó×ÅÔÌÙÈ ÕÞÁÓÔËÏ× \- ÜÔÏ 'ÐÓÉÈÏÓÅÎÓÏÒÎÁÑ' ÎÁÓÔÒÏÊËÁ, ÐÒÉÚ×ÁÎÎÁÑ
-ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÔ ÆÁËÔ, ÞÔÏ ÞÅÌÏ×ÅÞÅÓËÉÊ ÇÌÁÚ ÉÍÅÅÔ ÓËÌÏÎÎÏÓÔØ
-ÚÁÍÅÞÁÔØ ÍÅÎØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÄÅÔÁÌÅÊ ÎÁ ÏÞÅÎØ Ó×ÅÔÌÙÈ ÞÁÓÔÑÈ ËÁÒÔÉÎËÉ.
-ó×ÅÔÌÙÅ ÏÂÌÁÓÔÉ ÓÖÉÍÁÀÔÓÑ ÓÉÌØÎÅÅ, ÞÅÍ ÓÒÅÄÎÅÏÓ×ÅÝÅÎÎÙÅ,
-ÔÁËÉÍ ÏÂÒÁÚÏÍ ÓÏÈÒÁÎÑÀÔÓÑ ÂÉÔÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ×
-ÄÒÕÇÉÈ ËÁÄÒÁÈ, Õ×ÅÌÉÞÉ×ÁÑ ÏÂÝÅÅ ÓÕÂßÅËÔÉ×ÎÏÅ ËÁÞÅÓÔ×Ï, ÏÄÎÏ×ÒÅÍÅÎÎÏ,
-ÍÏÖÅÔ ÂÙÔØ, ÕÍÅÎØÛÁÑ PSNR.
-.br
-.I ÷îéíáîéå:
-âÕÄØÔÅ ÁËËÕÒÁÔÎÙ, ÞÒÅÚÍÅÒÎÏ ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë ÓÉÌØÎÏÍÕ
-ÕÈÕÄÛÅÎÉÀ ËÁÞÅÓÔ×Á.
-.br
-.I ÷îéíáîéå:
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÍÏÇÕÔ ÎÁ ÏÄÎÉÈ ÍÏÎÉÔÏÒÁÈ ×ÙÇÌÑÄÅÔØ ÈÏÒÏÛÏ, Á
-ÎÁ ÄÒÕÇÉÈ \- ÕÖÁÓÎÏ.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 0.0\-0.3
-ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-íÁÓËÉÒÏ×ÁÎÉÅ ÔÅÍÎÙÈ ÕÞÁÓÔËÏ× \- ÜÔÏ 'ÐÓÉÈÏÓÅÎÓÏÒÎÁÑ' ÎÁÓÔÒÏÊËÁ, ÐÒÉÚ×ÁÎÎÁÑ
-ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÔ ÆÁËÔ, ÞÔÏ ÞÅÌÏ×ÅÞÅÓËÉÊ ÇÌÁÚ ÉÍÅÅÔ ÓËÌÏÎÎÏÓÔØ
-ÚÁÍÅÞÁÔØ ÍÅÎØÛÅ ÄÅÔÁÌÅÊ ÎÁ ÏÞÅÎØ ÔÅÍÎÙÈ ÞÁÓÔÑÈ ËÁÒÔÉÎËÉ.
-üÔÏ ÍÁÓËÉÒÏ×ÁÎÉÅ ÓÖÉÍÁÅÔ ÔÅÍÎÙÅ ÏÂÌÁÓÔÉ ÓÉÌØÎÅÅ, ÞÅÍ ÓÒÅÄÎÅÏÓ×ÅÝÅÎÎÙÅ,
-ÔÁËÉÍ ÏÂÒÁÚÏÍ ÏÎÏ ÓÏÈÒÁÎÑÅÔ ÂÉÔÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ×
-ÄÒÕÇÉÈ ËÁÄÒÁÈ, Õ×ÅÌÉÞÉ×ÁÑ ÏÂÝÅÅ ÓÕÂßÅËÔÉ×ÎÏÅ ËÁÞÅÓÔ×Ï, ÏÄÎÏ×ÒÅÍÅÎÎÏ,
-ÍÏÖÅÔ ÂÙÔØ, ÕÍÅÎØÛÁÑ PSNR.
-.br
-.I ÷îéíáîéå:
-âÕÄØÔÅ ÁËËÕÒÁÔÎÙ, ÞÒÅÚÍÅÒÎÏ ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë
-ÓÉÌØÎÏÍÕ ÕÈÕÄÛÅÎÉÀ ËÁÞÅÓÔ×Á.
-.br
-.I ÷îéíáîéå:
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÍÏÇÕÔ ÎÁ ÏÄÎÉÈ ÍÏÎÉÔÏÒÁÈ ×ÙÇÌÑÄÅÔØ ÈÏÒÏÛÏ, Á
-ÎÁ ÄÒÕÇÉÈ ÍÏÎÉÔÏÒÁÈ / TV / TFT \- ÕÖÁÓÎÏ.
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 0.0\-0.3
-ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-íÁÓËÉÒÏ×ÁÎÉÅ ×ÒÅÍÅÎÎÏÊ ÓÌÏÖÎÏÓÔÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0 (ÏÔËÌÀÞÅÎÏ)).
-ðÒÅÄÓÔÁרÔÅ ÓÅÂÅ ÓÃÅÎÕ Ó ÐÔÉÃÅÊ, ÐÒÏÌÅÔÁÀÝÅÊ ÞÅÒÅÚ ×ÓÀ ÓÃÅÎÕ;
-tcplx_mask Õ×ÅÌÉÞÉÔ Ë×ÁÎÔÏ×ÁÔÅÌÉ ÍÁËÒÏÂÌÏËÏ× ÐÔÉÃÙ (ÔÁËÉÍ ÏÂÒÁÚÏÍ
-ÓÎÉÚÉ× ÅÅ ËÁÞÅÓÔ×Ï), ÐÏÓËÏÌØËÕ ÞÅÌÏ×ÅÞÅÓËÉÊ ÇÌÁÚ ÎÅ ÂÕÄÅÔ ÉÍÅÔØ
-ÄÏÓÔÁÔÏÞÎÏ ×ÒÅÍÅÎÉ, ÞÔÏÂÙ ÒÁÚÇÌÑÄÅÔØ ×ÓÅ ÄÅÔÁÌÉ.
-åÓÌÉ ÍÁÓËÉÒÕÅÍÙÊ ÏÂßÅËÔ ÏÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ (ÐÔÉÃÁ ÓÁÄÉÔÓÑ, ÎÁÐÒÉÍÅÒ),
-ÏÎ, ÓËÏÒÅÅ ×ÓÅÇÏ, ÂÕÄÅÔ ÕÖÁÓÎÏ ×ÙÇÌÑÄÅÔØ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ, ÐÏËÁ
-ËÏÄÉÒÏ×ÝÉË ÎÅ ÏÂÎÁÒÕÖÉÔ, ÞÔÏ ÏÂßÅËÔ ÎÅ Ä×ÉÖÅÔÓÑ É ÔÒÅÂÕÅÔ
-ÂÏÌØÛÅÊ ÄÅÔÁÌÉÚÁÃÉÉ.
-óÜËÏÎÏÍÌÅÎÎÙÅ ÂÉÔÙ ÂÕÄÕÔ ÏÔÄÁÎÙ ÄÒÕÇÉÍ ÞÁÓÔÑÍ ×ÉÄÅÏ, ÞÔÏ ÍÏÖÅÔ
-ÓÕÂßÅËÔÉ×ÎÏ ÕÌÕÞÛÉÔØ ËÁÞÅÓÔ×Ï ÐÒÉ ÕÓÌÏ×ÉÉ, ÞÔÏ
-ÁËËÕÒÁÔÎÏ ×ÙÂÒÁÎÏ tcplx_mask.
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-íÁÓËÉÒÏ×ÁÎÉÅ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÊ ÓÌÏÖÎÏÓÔÉ.
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÐÏÍÏÇÁÀÔ ÐÒÏÔÉ× ÜÆÆÅËÔÁ Ë×ÁÄÒÁÔÉËÏ×, ÅÓÌÉ ÄÌÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ
-ÆÉÌØÔÒ deblocking'Á, ÉÓÐÏÌØÚÏ×ÁÎÉÅ ËÏÔÏÒÏÇÏ, ÍÏÖÅÔ ÂÙÔØ, ÎÅ ÏÞÅÎØ ÈÏÒÏÛÁÑ ÉÄÅÑ.
-.br
-ðÒÅÄÓÔÁרÔÅ ÓÃÅÎÕ Ó ÔÒÁ×ÏÊ (ÉÍÅÀÝÅÊ ÏÂÙÞÎÏ ÏÇÒÏÍÎÕÀ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÕÀ ÓÌÏÖÎÏÓÔØ),
-ÇÏÌÕÂÙÍ ÎÅÂÏÍ É ÌÏÛÁÄØÀ; scplx_mask Õ×ÅÌÉÞÉÔ Ë×ÁÎÔÏ×ÁÔÅÌÉ ÍÁËÒÏÂÌÏËÏ× ÔÒÁ×Ù,
-ÔÁËÉÍ ÏÂÒÁÚÏÍ ÕÈÕÄÛÁÑ ÅÅ ËÁÞÅÓÔ×Ï, ÞÔÏÂÙ ÐÏÔÒÁÔÉÔØ ÂÏÌØÛÅ ÂÉÔÏ× ÎÁ ÎÅÂÏ É ÌÏÛÁÄØ.
-.br
-.I ðïäóëáúëá:
-ðÏÌÎÏÓÔØÀ ÏÔÒÅÖØÔÅ ÞÅÒÎÙÅ ÐÏÌÏÓÙ, ÔÁË ËÁË ÏÎÉ ÕÍÅÎØÛÁÀÔ ËÁÞÅÓÔ×Ï ÍÁËÒÏÂÌÏËÏ×
-(ÞÔÏ ×ÅÒÎÏ É ÂÅÚ scplx_mask).
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 0.0\-0.5
-ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ
-.RE
-.PD 1
-.sp 1
-.RS
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ ÎÅ ÜË×É×ÁÌÅÎÔÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÀ ÎÅÓÔÁÎÄÁÒÔÎÏÊ ÍÁÔÒÉÃÙ,
-ËÏÔÏÒÁÑ ÍÏÇÌÁ ÂÙ ÓÉÌØÎÅÅ ÓÖÁÔØ ×ÙÓÏËÉÅ ÞÁÓÔÏÔÙ, ÐÏÓËÏÌØËÕ scplx_mask
-ÕÍÅÎØÛÉÔ ËÁÞÅÓÔ×Ï P ÂÌÏËÏ×, ÄÁÖÅ ÅÓÌÉ ÍÅÎÑÅÔÓÑ ÔÏÌØËÏ DC.
-òÅÚÕÌØÔÁÔ ÒÁÂÏÔÙ scplx_mask, ×ÏÚÍÏÖÎÏ, ÂÕÄÅÔ ×ÙÇÌÑÄÅÔØ ÎÅ ÏÞÅÎØ ÈÏÒÏÛÏ.
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ vi_qfactor)
-õÍÅÎØÛÁÅÔ ËÁÞÅÓÔ×Ï inter ÂÌÏËÏ×.
-üÔÏ ÜË×É×ÁÌÅÎÔÎÏ Õ×ÅÌÉÞÅÎÉÀ ËÁÞÅÓÔ×Á ×ÎÕÔÒÅÎÎÉÈ ÂÌÏËÏ×, ÐÏÔÏÍÕ ÞÔÏ
-ÔÏÔ ÖÅ ÓÁÍÙÊ ÂÉÔÐÏÔÏË ÂÕÄÅÔ ÒÁÓÐÒÅÄÅÌÅÎ ÍÏÄÕÌÅÍ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ
-ÐÏÔÏËÁ ÐÏ ×ÓÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ×ÉÄÅÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0 (ÏÔËÌÀÞÅÎÏ)).
-p_mask=1.0 ÕÄ×ÁÉ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÂÉÔ, ×ÙÄÅÌÑÅÍÙÈ ËÁÖÄÏÍÕ ×ÎÕÔÒÅÎÎÅÍÕ ÂÌÏËÕ.
-.
-.\" CHECKING STOPPED HERE
-.TP
-.B border_mask=<0.0\-1.0>
-ïÂÒÁÂÏÔËÁ\-ÇÒÁÎÉà ÄÌÑ ËÏÄÉÒÏ×ÝÉËÏ× MPEG\-ÔÉÐÁ.
-ïÂÒÁÂÏÔËÁ ÇÒÁÎÉà Õ×ÅÌÉÞÉ×ÁÅÔ Ë×ÁÎÔÏ×ÁÔÅÌØ ÍÁËÒÏÂÌÏËÏ×, ÕÄÁÌÅÎÎÙÈ ÏÔ
-ÇÒÁÎÉÃÙ ÍÅÎÅÅ, ÞÅÍ ÎÁ 1/5 ÛÉÒÉÎÙ/×ÙÓÏÔÙ ËÁÄÒÁ, ÔÁË ËÁË ÏÎÉ, ËÁË ÐÒÁ×ÉÌÏ,
-×ÉÚÕÁÌØÎÏ ÍÅÎÅÅ ×ÁÖÎÙ.
-.
-.TP
-.B "naq\ \ \ \ "
-îÏÒÍÁÌÉÚÁÃÉÑ ÁÄÁÐÔÉ×ÎÏÇÏ Ë×ÁÎÔÏ×ÁÎÉÑ (ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÅ).
-ëÏÇÄÁ ÉÓÐÏÌØÚÕÅÔÓÑ ÁÄÁÐÔÉ×ÎÏÅ Ë×ÁÎÔÏ×ÁÎÉÅ (*_mask), ÓÒÅÄÎÅÅ ÚÎÁÞÅÎÉÅ
-Ë×ÁÎÔÏ×ÁÔÅÌÅÊ ÕÒÏ×ÎÑ MB ÍÏÖÅÔ ÐÅÒÅÓÔÁÔØ ÓÏÏÔ×ÅÔÓÔ×Ï×ÁÔØ ÚÁÐÒÏÛÅÎÎÏÍÕ
-Ë×ÁÎÔÏ×ÁÔÅÌÀ ÕÒÏ×ÎÑ ËÁÄÒÁ.
-Naq ÐÏÐÙÔÁÅÔÓÑ ÉÓÐÒÁ×ÉÔØ Ë×ÁÎÔÏ×ÁÔÅÌÉ ÕÒÏ×ÎÑ MB ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÏÌÖÎÏÇÏ
-ÕÓÒÅÄÎÅÎÎÏÇÏ ÚÎÁÞÅÎÉÑ.
-.
-.TP
-.B "ildct\ \ "
-éÓÐÏÌØÚÏ×ÁÔØ ÞÅÒÅÓÓÔÒÏÞÎÙÊ DCT.
-.
-.TP
-.B "ilme\ \ \ "
-éÓÐÏÌØÚÏ×ÁÔØ ÞÅÒÅÓÓÔÒÏÞÎÕÀ ÏÃÅÎËÕ Ä×ÉÖÅÎÉÑ (ÎÅÓÏ×ÍÅÓÔÉÍÏ Ó qpel).
-.
-.TP
-.B "alt\ \ \ \ "
-éÓÐÏÌØÚÏ×ÁÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÕÀ ÔÁÂÌÉÃÕ ÓËÁÎÉÒÏ×ÁÎÉÑ [scantable].
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-Á×ÔÏÍÁÔÉÞÅÓËÉ
-.IPs 0
-ÎÉÖÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ
-.IPs 1
-×ÅÒÈÎÅÅ ÐÏÌÅ ÐÅÒ×ÏÅ
-.RE
-.PD 1
-.
-.TP
-.B format=<ÚÎÁÞÅÎÉÅ>
-.PD 0
-.RSs
-.IPs "YV12\ "
-ÐÏ ÕÍÏÌÞÁÎÉÀ
-.IPs "444P\ "
-ÄÌÑ ffv1
-.IPs "422P\ "
-ÄÌÑ HuffYUV, JPEG ÂÅÚ ÐÏÔÅÒØ, dv É ffv1
-.IPs "411P\ "
-ÄÌÑ JPEG ÂÅÚ ÐÏÔÅÒØ, dv É ffv1
-.IPs "YVU9\ "
-ÄÌÑ JPEG ÂÅÚ ÐÏÔÅÒØ, ffv1 É svq1
-.IPs "BGR32"
-ÄÌÑ JPEG ÂÅÚ ÐÏÔÅÒØ É ffv1
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(ÄÌÑ HuffYUV)
-.\"FIXME check translation
-.PD 0
-.RSs
-.IPs 0
-ÌÅ×ÏÅ ÐÒÅÄÓËÁÚÁÎÉÅ
-.IPs 1
-ÐÌÏÓËÏÓÔÎÏÅ/\:ÇÒÁÄÉÅÎÔÎÏÅ [plane/\:gradient] ÐÒÅÄÓËÁÚÁÎÉÅ
-.IPs 2
-ÐÒÅÄÓËÁÚÁÎÉÅ ÍÅÄÉÁÎÏÊ [median prediction]
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-(ÄÌÑ JPEG ÂÅÚ ÐÏÔÅÒØ)
-.\"FIXME check translation
-.PD 0
-.RSs
-.IPs 0
-ÌÅ×ÏÅ ÐÒÅÄÓËÁÚÁÎÉÅ
-.IPs 1
-×ÅÒÈÎÅÅ ÐÒÅÄÓËÁÚÁÎÉÅ
-.IPs 2
-×ÅÒÈÎÅÅ-ÌÅ×ÏÅ ÐÒÅÄÓËÁÚÁÎÉÅ
-.IPs 3
-ÐÌÏÓËÏÓÔÎÏÅ/\:ÇÒÁÄÉÅÎÔÎÏÅ [plane/\:gradient] ÐÒÅÄÓËÁÚÁÎÉÅ
-.IPs 6
-ÓÅÒÅÄÉÎÎÏÅ ÐÒÅÄÓËÁÚÁÎÉÅ
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-(ÄÌÑ ffv1)
-.PD 0
-.RSs
-.IPs 0
-ËÏÄÉÒÏ×ÁÎÉÅ ËÏÄÁÍÉ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (vlc) (Golomb\-Rice)
-.IPs 1
-ÁÒÉÆÍÅÔÉÞÅÓËÏÅ ËÏÄÉÒÏ×ÁÎÉÅ (CABAC)
-.RE
-.PD 1
-.
-.TP
-.B context
-(ÄÌÑ ffv1)
-.PD 0
-.RSs
-.IPs 0
-ÍÁÌÅÎØËÁÑ ËÏÎÔÅËÓÔÎÁÑ ÍÏÄÅÌØ [context model]
-.IPs 1
-ÂÏÌØÛÁÑ ËÏÎÔÅËÓÔÎÁÑ ÍÏÄÅÌØ [context model]
-.RE
-.PD 1
-.sp 1
-.RS
-(ÄÌÑ ffvhuff)
-.RE
-.PD 0
-.RSs
-.IPs 0
-ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÅ ÔÁÂÌÉÃÙ èÁÆÆÍÁÎÁ [Huffman] (×ÓÔÒÏÅÎÎÙÅ ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÅ)
-.IPs 1
-ÁÄÁÐÔÉ×ÎÙÅ ÔÁÂÌÉÃÙ èÁÆÆÍÁÎÁ [Huffman]
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-éÓÐÏÌØÚÏ×ÁÔØ ÞÅÔ×ÅÒÔØÐÉËÓÅÌØÎÕÀ (quarter pel) ËÏÍÐÅÎÓÁÃÉÀ Ä×ÉÖÅÎÉÑ (ÎÅÓÏ×ÍÅÓÔÉÍÏ Ó ilme).
-.br
-.I ðïäóëáúëá:
-ðÏÈÏÖÅ, ÞÔÏ ÏÐÃÉÑ ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ Ó ×ÙÓÏËÉÍ ÂÉÔÐÏÔÏËÏÍ.
-.
-.TP
-.B mbcmp=<0\-2000>
-õËÁÚÙ×ÁÅÔ ÆÕÎËÃÉÀ ÓÒÁ×ÎÅÎÉÑ ÄÌÑ ÐÒÉÎÑÔÉÑ ÒÅÛÅÎÉÑ Ï ×ÙÂÏÒÅ ÔÉÐÁ ÍÁËÒÏÂÌÏËÁ,
-ÄÅÊÓÔ×ÕÅÔ ÔÏÌØËÏ ÐÒÉ mbd=0.
-ïÎÁ ÔÁËÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÎÅËÏÔÏÒÙÈ ÆÕÎËÃÉÊ ÐÏÉÓËÁ Ä×ÉÖÅÎÉÑ, ×
-ÔÁËÉÈ ÓÌÕÞÁÑÈ ÏÎÁ ÏÂÌÁÄÁÅÔ ÜÆÆÅËÔÏÍ ×ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÚÎÁÞÅÎÉÑ
-mbd.
-.PD 0
-.RSs
-.\" FIXME check ALL methods translation
-.IPs "0 (SAD)"
-ÓÕÍÍÁ ÍÏÄÕÌÅÊ ÒÁÚÎÏÓÔÅÊ, ÂÙÓÔÒÁÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs "1 (SSE)"
-ÓÕÍÍÁ Ë×ÁÄÒÁÔÏ× ÏÛÉÂÏË
-.IPs "2 (SATD)"
-ÓÕÍÍÁ ÍÏÄÕÌÅÊ Hadamard ÐÒÅÏÂÒÁÚÏ×ÁÎÎÙÈ ÒÁÚÎÏÓÔÅÊ
-.IPs "3 (DCT)"
-ÓÕÍÍÁ ÍÏÄÕÌÅÊ DCT ÐÒÅÏÂÒÁÚÏ×ÁÎÎÙÈ ÒÁÚÎÏÓÔÅÊ
-.IPs "4 (PSNR)"
-ÓÕÍÍÁ Ë×ÁÄÒÁÔÏ× ÏÛÉÂÏË Ë×ÁÎÔÏ×ÁÎÉÑ (ÉÚÂÅÇÁÊÔÅ, ÎÉÚËÏÅ ËÁÞÅÓÔ×Ï)
-.IPs "5 (BIT)"
-ËÏÌÉÞÅÓÔ×Ï ÂÉÔ, ÎÅÏÂÈÏÄÉÍÙÈ ÄÌÑ ÂÌÏËÁ
-.IPs "6 (RD)"
-ÏÐÔÉÍÁÌØÎÏÓÔØ ÓÏÏÔÎÏÛÅÎÉÑ ÓÉÇÎÁÌ\-ÛÕÍ, ÍÅÄÌÅÎÎÏ
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-ÓÕÍÍÁ ÍÏÄÕÌÅÊ ×ÅÒÔÉËÁÌØÎÙÈ ÒÁÚÎÏÓÔÅÊ
-.IPs "9 (VSSE)"
-ÓÕÍÍÁ Ë×ÁÄÒÁÔÏ× ×ÅÒÔÉËÁÌØÎÙÈ ÒÁÚÎÏÓÔÅÊ
-.IPs "10 (NSSE)"
-ÓÕÍÍÁ Ë×ÁÄÒÁÔÏ× ÒÁÚÎÏÓÔÅÊ, ÓÏÈÒÁÎÑÀÝÁÑ ÛÕÍ
-.IPs "11 (W53)"
-5/3 ×ÅÊ×ÌÅÔ, ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ × snow
-.IPs "12 (W97)"
-9/7 ×ÅÊ×ÌÅÔ, ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ × snow
-.IPs "+256\ "
-ôÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ Ã×ÅÔÎÏÓÔØ, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÒÁÂÏÔÁÅÔ (ÐÒÁ×ÉÌØÎÏ) Ó B\-ËÁÄÒÁÍÉ.
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÆÕÎËÃÉÀ ÓÒÁ×ÎÅÎÉÑ ÄÌÑ ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ DCT
-(ÓÐÉÓÏË ÆÕÎËÃÉÊ ÓÍÏÔÒÉÔÅ × ÏÐÉÓÁÎÉÉ ÏÐÃÉÉ mbcmp).
-.
-.TP
-.B precmp=<0\-2000>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÆÕÎËÃÉÀ ÓÒÁ×ÎÅÎÉÑ ÄÌÑ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏÇÏ ÐÒÏÈÏÄÁ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ
-(ÓÐÉÓÏË ÆÕÎËÃÉÊ ÓÍÏÔÒÉÔÅ × ÏÐÉÓÁÎÉÉ ÏÐÃÉÉ mbcmp) (ÐÏ ÕÍÏÌÞÁÎÉÀ:0).
-.
-.TP
-.B cmp=<0\-2000>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÆÕÎËÃÉÀ ÓÒÁ×ÎÅÎÉÑ ÄÌÑ full pel ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ
-(ÓÐÉÓÏË ÆÕÎËÃÉÊ ÓÍÏÔÒÉÔÅ × ÏÐÉÓÁÎÉÉ ÏÐÃÉÉ mbcmp) (ÐÏ ÕÍÏÌÞÁÎÉÀ:0).
-.
-.TP
-.B subcmp=<0\-2000>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÆÕÎËÃÉÀ ÓÒÁ×ÎÅÎÉÑ ÄÌÑ sub pel ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ
-(ÓÐÉÓÏË ÆÕÎËÃÉÊ ÓÍÏÔÒÉÔÅ × ÏÐÉÓÁÎÉÉ ÏÐÃÉÉ mbcmp) (ÐÏ ÕÍÏÌÞÁÎÉÀ:0).
-.
-.TP
-.B skipcmp=<0\-2000>
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B nssew=<0\-1000000>
-üÔÁ ÏÐÃÉÑ ÕÐÒÁ×ÌÑÅÔ ×ÅÓÏÍ × NSSE, ÞÅÍ ÂÏÌØÛÅ ×ÅÓ, ÔÅÍ ÂÏÌØÛÅ ÛÕÍÁ.
-0 NSSE ÉÄÅÎÔÉÞÎÏ SSE
-÷Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ÜÔÕ ÏÐÃÉÀ ÐÏÌÅÚÎÏÊ, ÅÓÌÉ ÐÒÅÄÐÏÞÉÔÁÅÔÅ ÏÓÔÁ×ÉÔØ ÎÅËÏÔÏÒÙÊ
-ÛÕÍ × ÚÁËÏÄÉÒÏ×ÁÎÎÏÍ ×ÉÄÅÏ, Á ÎÅ ÏÔÆÉÌØÔÒÏ×Ù×ÁÔØ ÅÇÏ ÄÏ
-ÎÁÞÁÌÁ ËÏÄÉÒÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 8).
-.
-.TP
-.B predia=<\-99\-6>
-ÔÉÐ É ÒÁÚÍÅÒ ÒÏÍÂÁ ÄÌÑ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏÇÏ ÐÒÏÈÏÄÁ ÐÒÏÃÅÓÓÁ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ
-.
-.TP
-.B dia=<\-99\-6>
-ôÉÐ É ÒÁÚÍÅÒ ÒÏÍÂÁ ÄÌÑ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ.
-ðÏÉÓË Ä×ÉÖÅÎÉÑ \- ÜÔÏ ÉÔÅÒÁÔÉ×ÎÙÊ ÐÒÏÃÅÓÓ.
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÒÏÍÂÁ ÍÁÌÏÇÏ ÒÁÚÍÅÒÁ ÎÅ ÏÇÒÁÎÉÞÉÔ ÐÏÉÓË ÍÁÌÅÎØËÉÍÉ ×ÅËÔÏÒÁÍÉ Ä×ÉÖÅÎÉÑ.
-ðÒÏÓÔÏ ÂÕÄÅÔ ×ÙÛÅ ×ÅÒÏÑÔÎÏÓÔØ ÏÓÔÁÎÏ×ËÉ ÐÒÏÃÅÓÓÁ ÐÏÉÓËÁ ÅÝÅ ÄÏ ÔÏÇÏ, ËÁË ÂÕÄÅÔ
-ÎÁÊÄÅÎ ÌÕÞÛÉÊ ×ÅËÔÏÒ Ä×ÉÖÅÎÉÑ, ÏÓÏÂÅÎÎÏ ÐÒÉ ÎÁÌÉÞÉÉ ÛÕÍÁ.
-òÏÍÂÙ ÂÏÌØÛÅÇÏ ÒÁÚÍÅÒÁ ÐÏÚ×ÏÌÑÀÔ ÉÓËÁÔØ ÌÕÞÛÉÊ ×ÅËÔÏÒ Ä×ÉÖÅÎÉÑ ÂÏÌÅÅ ÛÉÒÏËÏ,
-ÐÏÜÔÏÍÕ ÏÎÉ ÍÅÄÌÅÎÎÅÅ, ÎÏ ÄÁÀÔ ÌÕÞÛÉÊ ÒÅÚÕÌØÔÁÔ.
-.br
-.\"FIXME shape-adaptive = ÁÄÁÐÔÉ×ÎÙÅ
-ïÂÙÞÎÙÅ ÒÏÍÂÙ ÂÏÌØÛÏÇÏ ÒÁÚÍÅÒÁ ÌÕÞÛÅ, ÞÅÍ ÁÄÁÐÔÉ×ÎÙÅ.
-.br
-áÄÁÐÔÉ×ÎÙÅ ÒÏÍÂÙ \- ÜÔÏ ÈÏÒÏÛÉÊ ËÏÍÐÒÏÍÉÓÓ ÍÅÖÄÕ ÓËÏÒÏÓÔØÀ É ËÁÞÅÓÔ×ÏÍ.
-.br
-.I úáíåþáîéå:
-òÁÚÍÅÒÙ ÄÌÑ ÏÂÙÞÎÙÈ ÒÏÍÂÏ× É ÁÄÁÐÔÉ×ÎÙÈ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÏÅ ÚÎÁÞÅÎÉÅ.
-.RSs
-.IPs \-3
-ÁÄÁÐÔÉ×ÎÙÊ (ÂÙÓÔÒÙÊ) ÒÏÍ ÒÁÚÍÅÒÁ 3
-.IPs \-2
-ÁÄÁÐÔÉ×ÎÙÊ (ÂÙÓÔÒÙÊ) ÒÏÍ ÒÁÚÍÅÒÁ 2
-.IPs \-1
-ÁÓÉÍÍÅÔÒÉÞÎÙÊ ÐÅÒÅËÒÅÓÔÎÙÊ ÐÏÉÓË [uneven multi\-hexagon search] (ÍÅÄÌÅÎÎÏ)
-.IPs 1
-ÏÂÙÞÎÙÊ ÒÏÍÂ Ó size=1 (ÐÏ ÕÍÏÌÞÁÎÉÀ), ÏÎ ÖÅ ÒÏÍÂ EPSZ ÔÉÐÁ
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-ÏÂÙÞÎÙÊ ÒÏÍÂ Ó size=2
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-.\" FIXME is translation correct? Trellis searched quantization.
-ë×ÁÎÔÏ×ÁÎÉÅ ÐÏÉÓËÏÍ ÐÏ ÒÅÛÅÔËÅ.
-îÁÊÄÅÔ ÏÐÔÉÍÁÌØÎÏÅ ËÏÄÉÒÏ×ÁÎÉÅ ÄÌÑ ËÁÖÄÏÇÏ ÂÌÏËÁ 8x8.
-ðÏÐÒÏÓÔÕ ÇÏ×ÏÒÑ, Ë×ÁÎÔÏ×ÁÎÉÅ ÒÅÛÅÔËÏÊ ÏÐÔÉÍÁÌØÎÏ Ó ÔÏÞËÉ ÚÒÅÎÉÑ PSNR,
-Á ÎÅ × ÓÍÙÓÌÅ ÂÉÔÐÏÔÏËÁ (ðÒÅÄÐÏÌÁÇÁÑ, ÞÔÏ ÔÁÍ ÎÅ ÂÕÄÅÔ ÏÛÉÂÏË ÏËÒÕÇÌÅÎÉÑ,
-×ÎÏÓÉÍÙÈ IDCT, ÞÔÏ, ËÏÎÅÞÎÏ ÖÅ, ÎÅ ÔÁË.).
-ïÎÏ ÐÒÏÓÔÏ ÎÁÈÏÄÉÔ ÂÌÏË Ó ÍÉÎÉÍÁÌØÎÙÍÉ error É lambda*bits.
-.PD 0
-.RSs
-.IPs lambda
-ËÏÎÓÔÁÎÔÁ, ÚÁ×ÉÓÑÝÁÑ ÏÔ ÐÁÒÁÍÅÔÒÁ Ë×ÁÎÔÏ×ÁÎÉÑ (QP)
-.IPs bits\ "
-ËÏÌÉÞÅÓÔ×Ï ÂÉÔ, ÎÅÏÂÈÏÄÉÍÙÈ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ ÂÌÏËÁ
-.IPs error
-ÓÕÍÍÁ Ë×ÁÄÒÁÔÏ× ÏÛÉÂÏË Ë×ÁÎÔÏ×ÁÎÉÑ
-.RE
-.PD 1
-.
-.TP
-.B "cbp\ \ \ \ "
-.\" FIXME check translation
-ïÐÔÉÍÁÌØÎÙÊ ÐÏ ÉÓËÁÖÅÎÉÀ ÐÏÔÏËÁ ÛÁÂÌÏÎ ÚÁËÏÄÉÒÏ×ÁÎÎÏÇÏ ÂÌÏËÁ [coded block pattern].
-÷ÙÂÅÒÅÔ ÛÁÂÌÏÎ ÚÁËÏÄÉÒÏ×ÁÎÎÏÇÏ ÂÌÏËÁ, ÍÉÎÉÍÉÚÉÒÕÀÝÉÊ ÛÕÍ + ÌÑÍÂÄÁ*ÐÏÔÏË.
-íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÔÏÌØËÏ ÓÏ×ÍÅÓÔÎÏ Ó Ë×ÁÎÔÏ×ÁÎÉÅÍ ÒÅÛÅÔËÏÊ (ÏÐÃÉÑ trell).
-.
-.TP
-.B "mv0\ \ \ \ "
-ëÏÄÉÒÕÅÔÓÑ ËÁÖÄÙÊ MB Ó MV=<0,0> (Ô.Å.\& ËÁÖÄÙÊ ÍÁËÒÏÂÌÏË ÂÅÚ Ä×ÉÖÅÎÉÑ) É
-×ÙÂÉÒÁÅÔÓÑ ÌÕÞÛÉÊ. îÅ ÉÍÅÅÔ ÜÆÆÅËÔÁ, ÅÓÌÉ mbd=0.
-.
-.TP
-.B mv0_threshold=<ÌÀÂÏÅ ÎÅÏÔÒÉÃÁÔÅÌØÎÏÅ ÃÅÌÏÅ>
-÷ ÓÌÕÞÁÅ, ËÏÇÄÁ ÏËÒÕÖÁÀÝÉÅ ×ÅËÔÏÒÙ Ä×ÉÖÅÎÉÑ ÒÁ×ÎÙ <0,0> É ÒÅÚÕÌØÔÁÔ ÏÃÅÎËÉ
-ÐÅÒÅÍÅÝÅÎÉÑ ÔÅËÕÝÅÇÏ ÂÌÏËÁ ÍÅÎØÛÅ mv0_threshold, × ËÁÞÅÓÔ×Å ×ÅËÔÏÒÁ
-Ä×ÉÖÅÎÉÑ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ <0,0> É ÄÁÌØÎÅÊÛÁÑ ÏÃÅÎËÁ Ä×ÉÖÅÎÉÑ
-ÂÕÄÅÔ ÐÒÏÐÕÝÅÎÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 256).
-õÍÅÎØÛÅÎÉÅ mv0_threshold ÄÏ 0, ÍÏÖÅÔ ÄÁÔØ ÎÅÂÏÌØÛÏÅ (0.01Äâ) Õ×ÅÌÉÞÅÎÉÅ PSNR, É,
-×ÏÚÍÏÖÎÏ, ÚÁËÏÄÉÒÏ×ÁÎÎÏÅ ×ÉÄÅÏ ÂÕÄÅÔ ×ÙÇÌÑÄÅÔØ ÎÅÍÎÏÇÏ ÌÕÞÛÅ; ÕÓÔÁÎÏ×ËÁ
-mv0_threshold ÚÎÁÞÅÎÉÑ ×ÙÛÅ 320 ÐÒÉ×ÅÄÅÔ Ë ÕÈÕÄÛÅÎÉÀ PSNR É ×ÉÚÕÁÌØÎÏÇÏ
-ËÁÞÅÓÔ×Á. âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÏÞÅÎØ ÎÅÚÎÁÞÉÔÅÌØÎÏ ÕÓËÏÒÑÀÔ ËÏÄÉÒÏ×ÁÎÉÅ
-(ÏÂÙÞÎÏ ÍÅÎØÛÅ, ÞÅÍ ÎÁ 1%, × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÏÓÔÁÌØÎÙÈ ÏÐÃÉÊ).
-.br
-.I úáíåþáîéå:
-äÌÑ ÒÁÂÏÔÙ ÜÔÏÊ ÏÐÃÉÉ ÎÅ ÔÒÅÂÕÅÔÓÑ ×ËÌÀÞÁÔØ mv0.
-.
-.TP
-.B qprd (ÔÏÌØËÏ mbd=2)
-.\" FIXME check translation
-ïÐÔÉÍÁÌØÎÙÊ ÐÏ ÉÓËÁÖÅÎÉÀ ÐÏÔÏËÁ ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ (QP) ÄÌÑ ÄÁÎÎÏÇÏ
-ÌÑÍÂÄÁ ËÁÖÄÏÇÏ ÍÁËÒÏÂÌÏËÁ
-.
-.TP
-.B last_pred=<0\-99>
-ËÏÌÉÞÅÓÔ×Ï ÐÒÅÄÓËÁÚÁÔÅÌÅÊ Ä×ÉÖÅÎÉÑ ÉÚ ÐÒÅÄÙÄÕÝÅÇÏ ËÁÄÒÁ
-.PD 0
-.RSs
-.IPs 0
-(ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs a
-.\" FIXME Will use 2a+1 x 2a+1 macroblock square of motion vector predictors from the
-âÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ 2a+1 x 2a+1 ÍÁËÒÏÂÌÏË ÐÒÅÄÓËÁÚÁÔÅÌÅÊ ×ÅËÔÏÒÏ× Ä×ÉÖÅÎÉÑ
-ÉÚ ÐÒÅÄÙÄÕÝÅÇÏ ËÁÄÒÁ.
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-ÐÒÅÄ×ÁÒÉÔÅÌØÎÙÊ ÐÒÏÈÏÄ ÄÌÑ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ
-.IPs 1
-ÔÏÌØËÏ ÐÏÓÌÅ I\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 2
-×ÓÅÇÄÁ
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-ËÁÞÅÓÔ×Ï ÏÐÔÉÍÉÚÁÃÉÉ subpel (ÄÌÑ qpel) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 8 (×ÙÓÏËÏÅ ËÁÞÅÓÔ×Ï))
-.br
-.I úáíåþáîéå:
-óÕÝÅÓÔ×ÅÎÎÏ ×ÌÉÑÅÔ ÎÁ ÓËÏÒÏÓÔØ.
-.
-.TP
-.B refs=<1\-8>
-ËÏÌÉÞÅÓÔ×Ï ÕÞÉÔÙ×ÁÅÍÙÈ ÄÌÑ ËÏÍÐÅÎÓÁÃÉÉ Ä×ÉÖÅÎÉÑ Ó×ÑÚÁÎÎÙÈ ËÁÄÒÏ×
-(ÔÏÌØËÏ snow) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1)
-.
-.TP
-.B "psnr\ \ \ "
-÷Ù×ÏÄÉÔ PSNR (ÐÉËÏ×ÏÅ ÏÔÎÏÛÅÎÉÅ ÓÉÇÎÁÌÁ Ë ÛÕÍÕ) ÄÌÑ ×ÓÅÇÏ ×ÉÄÅÏ ÐÏÓÌÅ
-ÏËÏÎÞÁÎÉÑ ÐÒÏÃÅÓÓÁ ËÏÄÉÒÏ×ÁÎÉÑ É ÓÏÈÒÁÎÑÅÔ PSNR ËÁÖÄÏÇÏ ËÁÄÒÁ × ÆÁÊÌ
-Ó ÉÍÅÎÅÍ, ÐÏÈÏÖÉÍ ÎÁ 'psnr_hhmmss.log'.
-÷ÏÚ×ÒÁÝÁÅÍÙÅ ÚÎÁÞÅÎÉÑ ÉÚÍÅÒÑÀÔÓÑ × Äâ (ÄÅÃÉÂÅÌ), ÞÅÍ ×ÙÛÅ, ÔÅÍ ÌÕÞÛÅ.
-.
-.TP
-.B mpeg_quant
-éÓÐÏÌØÚÏ×ÁÔØ Ë×ÁÎÔÏ×ÁÔÅÌÉ MPEG ×ÍÅÓÔÏ H.263.
-.
-.TP
-.B "aic\ \ \ \ "
-÷ËÌÀÞÁÅÔ AC ÐÒÅÄÓËÁÚÁÎÉÅ ÄÌÑ MPEG\-4 ÉÌÉ ÕÌÕÞÛÅÎÎÏÅ ×ÎÕÔÒÅÎÎÅÅ ÐÒÅÄÓËÁÚÁÎÉÅ ÄÌÑ H.263+.
-üÔÏ ÏÞÅÎØ ÎÅÚÎÁÞÉÔÅÌØÎÏ ÕÌÕÞÛÉÔ ËÁÞÅÓÔ×Ï (ÏËÏÌÏ 0.02 Äâ PSNR), É ÎÅÚÎÁÞÉÔÅÌØÎÏ
-ÕÍÅÎØÛÉÔ ÓËÏÒÏÓÔØ (ÐÒÉÍÅÒÎÏ ÎÁ 1%).
-.br
-.I úáíåþáîéå:
-äÌÑ H.263+ AIC vqmin ÄÏÌÖÎÏ ÂÙÔØ 8 ÉÌÉ ×ÙÛÅ.
-.
-.TP
-.B "aiv\ \ \ \ "
-ÁÌØÔÅÒÎÁÔÉ×ÎÏÅ inter vlc ÄÌÑ H.263+
-.
-.TP
-.B "umv\ \ \ \ "
-ÎÅÏÇÒÁÎÉÞÅÎÎÙÅ MV (ÔÏÌØËÏ H.263+)
-ðÏÚ×ÏÌÑÅÔ ËÏÄÉÒÏ×ÁÔØ ÓËÏÌØ ÕÇÏÄÎÏ ÄÌÉÎÎÙÅ MV.
-.
-.TP
-.B ibias=<\-256\-256>
-ÏÔËÌÏÎÅÎÉÅ [bias] intra Ë×ÁÎÔÏ×ÁÔÅÌÑ (256 ÜË×É×ÁÌÅÎÔÎÏ 1.0, ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ MPEG
-Ë×ÁÎÔÏ×ÁÔÅÌÑ 96, ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ H.263 Ë×ÁÎÔÏ×ÁÔÅÌÑ: 0)
-.br
-.I úáíåþáîéå:
-H.263 MMX Ë×ÁÎÔÏ×ÁÔÅÌØ ÎÅ ÍÏÖÅÔ ÏÂÒÁÂÁÔÙ×ÁÔØ ÐÏÌÏÖÉÔÅÌØÎÙÅ ÏÔËÌÏÎÅÎÉÑ (ÕÓÔÁÎÏ×ÉÔÅ vfdct=1 ÉÌÉ 2),
-MPEG MMX Ë×ÁÎÔÏ×ÁÔÅÌØ ÎÅ ÍÏÖÅÔ ÏÂÒÁÂÁÔÙ×ÁÔØ ÏÔÒÉÃÁÔÅÌØÎÙÅ ÏÔËÌÏÎÅÎÉÑ (ÕÓÔÁÎÏ×ÉÔÅ vfdct=1 ÉÌÉ 2).
-.
-.TP
-.B pbias=<\-256\-256>
-ÏÔËÌÏÎÅÎÉÅ [bias] inter Ë×ÁÎÔÏ×ÁÔÅÌÑ (256 ÜË×É×ÁÌÅÎÔÎÏ 1.0, ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ MPEG
-Ë×ÁÎÔÏ×ÁÔÅÌÑ 96, ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ H.263 Ë×ÁÎÔÏ×ÁÔÅÌÑ: \-64)
-.br
-.I úáíåþáîéå:
-H.263 MMX Ë×ÁÎÔÏ×ÁÔÅÌØ ÎÅ ÍÏÖÅÔ ÏÂÒÁÂÁÔÙ×ÁÔØ ÐÏÌÏÖÉÔÅÌØÎÙÅ ÏÔËÌÏÎÅÎÉÑ (ÕÓÔÁÎÏ×ÉÔÅ vfdct=1 ÉÌÉ 2),
-MPEG MMX Ë×ÁÎÔÏ×ÁÔÅÌØ ÎÅ ÍÏÖÅÔ ÏÂÒÁÂÁÔÙ×ÁÔØ ÏÔÒÉÃÁÔÅÌØÎÙÅ ÏÔËÌÏÎÅÎÉÑ (ÕÓÔÁÎÏ×ÉÔÅ vfdct=1 ÉÌÉ 2).
-.br
-.I ðïäóëáúëá:
-ðÏÈÏÖÅ, ÞÔÏ ÂÏÌØÛÅÅ ÐÏÌÏÖÉÔÅÌØÎÏÅ ÏÔËÌÏÎÅÎÉÅ (\-32 \- \-16 ×ÍÅÓÔÏ \-64) ÕÌÕÞÛÁÅÔ PSNR.
-.
-.TP
-.B nr=<0\-100000>
-ðÏÄÁ×ÌÅÎÉÅ ÛÕÍÁ, 0 ÏÚÎÁÞÁÅÔ ÏÔËÌÀÞÅÎÏ.
-0\-600 \- ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ ÄÌÑ ÔÉÐÉÞÎÏÇÏ ÓÏÄÅÒÖÉÍÏÇÏ, ÎÏ ×Ù ÍÏÖÅÔÅ ÚÁÈÏÔÅÔØ
-ÎÅÓËÏÌØËÏ Õ×ÅÌÉÞÉÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ ÄÌÑ ÏÞÅÎØ ÛÕÍÎÏÇÏ ËÏÎÔÅÎÔÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-÷ Ó×ÑÚÉ Ó ÍÁÌÙÍ ×ÌÉÑÎÉÅÍ ÎÁ ÓËÏÒÏÓÔØ, ×Ù, ×ÏÚÍÏÖÎÏ, ÐÒÅÄÐÏÞÔÅÔÅ ÅÇÏ
-ÔÁËÉÍ ÆÉÌØÔÒÁÍ, ËÁË denoise3d ÉÌÉ hqdn3d.
-.
-.TP
-.B qns=<0\-3>
-ðÏÄÓÔÒÁÉ×ÁÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÐÏÄ ÛÕÍ × ×ÉÄÅÏ.
-÷ÍÅÓÔÏ ×ÙÂÏÒÁ Ë×ÁÎÔÏ×ÁÔÅÌÑ, ÎÁÉÂÏÌÅÅ ÔÏÞÎÏ ÐÏÄÈÏÄÑÝÅÇÏ, × ÓÍÙÓÌÅ PSNR,
-ÉÓÈÏÄÎÏÍÕ ×ÉÄÅÏ, Ë×ÁÎÔÏ×ÁÔÅÌØ ÂÕÄÅÔ ×ÙÂÉÒÁÔØÓÑ ÔÁË, ÞÔÏÂÙ ÛÕÍ
-.\" FIXME is translation correct? will be masked by similar-frequency content in the image.
-(ÏÂÙÞÎÏ ÏÒÅÏÌ) ÍÁÓËÉÒÏ×ÁÌÓÑ ÓÏÄÅÒÖÉÍÙÍ ÉÚÏÂÒÁÖÅÎÉÑ Ó ÐÏÈÏÖÅÊ ÞÁÓÔÏÔÏÊ.
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÒÁÂÏÔÁÀÔ ÍÅÄÌÅÎÎÅÅ, ÎÏ ÌÕÞÛÅÇÏ ËÁÞÅÓÔ×Á ÍÏÇÕÔ É ÎÅ ÄÁÔØ.
-üÔÕ ÏÐÃÉÀ ÍÏÖÎÏ É ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ Ó Ë×ÁÎÔÏ×ÁÎÉÅÍ ÒÅÛÅÔËÏÊ (ÏÐÃÉÑ trell), ×
-ÜÔÏÍ ÓÌÕÞÁÅ Ë×ÁÎÔÏ×ÁÎÉÅ (ÏÐÔÉÍÁÌØÎÏÅ ÄÌÑ ÐÏÓÔÏÑÎÎÏÇÏ ×ÅÓÁ) ÂÕÄÅÔ
-ÒÁÓÓÍÁÔÒÉ×ÁÔØÓÑ ËÁË ÔÏÞËÁ ÏÔÓÞÅÔÁ ÐÒÉ ÉÔÅÒÁÔÉ×ÎÏÍ ÐÏÉÓËÅ.
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 1
-ôÏÌØËÏ ÕÍÅÎØÛÁÔØ ÁÂÓÏÌÀÔÎÙÅ ÚÎÁÞÅÎÉÑ ËÏÜÆÆÉÃÉÅÎÔÏ×.
-.IPs 2
-éÚÍÅÎÑÔØ ÔÏÌØËÏ ËÏÜÆÆÉÃÉÅÎÔÙ ÐÅÒÅÄ ÐÏÓÌÅÄÎÉÍ ÎÅÎÕÌÅ×ÙÍ + 1.
-
-.IPs 3
-ðÒÏÂÏ×ÁÔØ ×ÓÅ.
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<ÒÁÚÄÅÌÅÎÎÁÑ ÚÁÐÑÔÙÍÉ ÍÁÔÒÉÃÁ>
-éÓÐÏÌØÚÏ×ÁÔØ ÎÅÓÔÁÎÄÁÒÔÎÕÀ inter ÍÁÔÒÉÃÕ.
-îÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ 64 ÃÅÌÙÈ ÞÉÓÌÁ, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÙÍÉ.
-.
-.TP
-.B intra_matrix=<ÒÁÚÄÅÌÅÎÎÁÑ ÚÁÐÑÔÙÍÉ ÍÁÔÒÉÃÁ>
-éÓÐÏÌØÚÏ×ÁÔØ ÎÅÓÔÁÎÄÁÒÔÎÕÀ intra ÍÁÔÒÉÃÕ.
-îÅÏÂÈÏÄÉÍÏ ÕËÁÚÁÔØ 64 ÃÅÌÙÈ ÞÉÓÌÁ, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÙÍÉ.
-.
-.TP
-.B vqmod_amp
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ÍÏÄÕÌÑÃÉÑ Ë×ÁÎÔÏ×ÁÔÅÌÑ
-.
-.TP
-.B vqmod_freq
-ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ÍÏÄÕÌÑÃÉÑ Ë×ÁÎÔÏ×ÁÔÅÌÑ
-.
-.TP
-.B "dc\ \ \ \ \ "
-ÒÁÚÍÅÒÎÏÓÔØ intra DC × ÂÉÔÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 8).
-åÓÌÉ ×Ù ÕËÁÚÙ×ÁÅÔÅ vcodec=mpeg2video, ÜÔÏ ÚÎÁÞÅÎÉÅ ÍÏÖÅÔ ÂÙÔØ 8, 9, 10 ÉÌÉ 11.
-.
-.TP
-.B cgop (also see sc_threshold)
-úÁËÒÙÔØ ×ÓÅ GOPÙ.
-îÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÜÔÏ ÒÁÂÏÔÁÅÔ, ÔÏÌØËÏ ÅÓÌÉ ÏÔËÌÀÞÅÎÏ ÏÐÒÅÄÅÌÅÎÉÅ ÓÍÅÎÙ ÓÃÅÎÙ
-(sc_threshold=1000000000).
-.
-.TP
-.B "gmc\ \ \ \ "
-÷ËÌÀÞÁÅÔ ÇÌÏÂÁÌØÎÕÀ ËÏÍÐÅÎÓÁÃÉÀ Ä×ÉÖÅÎÉÑ.
-.
-.TP
-.B (no)lowdelay
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ low delay ÆÌÁÇ ÄÌÑ MPEG\-1/2 (ÏÔËÌÀÞÁÅÔ B\-ËÁÄÒÙ).
-.
-.TP
-.B vglobal=<0\-3>
-õÐÒÁ×ÌÑÅÔ ÚÁÐÉÓØÀ ÇÌÏÂÁÌØÎÙÈ ×ÉÄÅÏ ÚÁÇÏÌÏ×ËÏ×.
-.PD 0
-.RSs
-.IPs 0
-ëÏÄÅË ÒÅÛÁÅÔ, ËÕÄÁ ÚÁÐÉÓÙ×ÁÔØ ÇÌÏÂÁÌØÎÙÅ ÚÁÇÏÌÏ×ËÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 1
-úÁÐÉÓÙ×ÁÔØ ÇÌÏÂÁÌØÎÙÅ ÚÁÇÏÌÏ×ËÉ ÔÏÌØËÏ × ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÁÎÎÙÅ [extradata]
-(ÔÒÅÂÕÅÔÓÑ ÄÌÑ .mp4/MOV/NUT).
-.IPs 2
-.\" FIXME only in front of keyframes = ÔÏÌØËÏ ÐÅÒÅÄ ËÌÀÞÅ×ÙÍÉ ËÁÄÒÁÍÉ.
-úÁÐÉÓÙ×ÁÔØ ÇÌÏÂÁÌØÎÙÅ ÚÁÇÏÌÏ×ËÉ ÔÏÌØËÏ ÐÅÒÅÄ ËÌÀÞÅ×ÙÍÉ ËÁÄÒÁÍÉ.
-.IPs 3
-ëÏÍÂÉÎÁÃÉÑ 1 É 2.
-.RE
-.PD 1
-.
-.TP
-.B aglobal=<0\-3>
-ôÏ ÖÅ, ÞÔÏ É vglobal ÄÌÑ ÁÕÄÉÏ ÚÁÇÏÌÏ×ËÏ×.
-.
-.TP
-.B level=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ CodecContext Level.
-éÓÐÏÌØÚÕÊÔÅ 31 ÉÌÉ 41 ÄÌÑ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ ×ÉÄÅÏ ÎÁ Playstation 3.
-.
-.TP
-.B skip_exp=<0\-1000000>
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B skip_factor=<0\-1000000>
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B skip_threshold=<0\-1000000>
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.
-.SS nuv (\-nuvopts)
-.
-Nuppel ×ÉÄÅÏ ÏÓÎÏ×ÁÎÏ ÎÁ RTJPEG É LZO.
-ÐÏ ÕÍÏÌÞÁÎÉÀ, ËÁÄÒÙ ÓÎÁÞÁÌÁ ËÏÄÉÒÕÀÔÓÑ c RTJPEG, Á ÚÁÔÅÍ ÓÖÉÍÁÀÔÓÑ c LZO,
-ÎÏ ×ÏÚÍÏÖÎÏ ÏÔËÌÀÞÅÎÉÅ ÌÀÂÏÇÏ ÉÌÉ ÏÂÏÉÈ ÉÚ ÜÔÉÈ Ä×ÕÈ ÜÔÁÐÏ×.
-÷ ÒÅÚÕÌØÔÁÔÅ, ×Ù ÆÁËÔÉÞÅÓËÉ ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÓÙÒÏÊ i420, i420 ÓÖÁÔÙÊ c LZO,
-RTJPEG, ÉÌÉ RTJPEG ÓÖÁÔÙÊ c LZO.
-.br
-.I úáíåþáîéå:
-äÏËÕÍÅÎÔÁÃÉÑ ÎÁ nuvrect ÓÏÄÅÒÖÉÔ ÎÅËÏÔÏÒÙÅ ÓÏ×ÅÔÙ É ÐÒÉÍÅÒÙ
-ÎÁÓÔÒÏÅË ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ Ó ÎÁÉÂÏÌÅÅ ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÍÉ TV ËÏÄÉÒÏ×ËÁÍÉ.
-.
-.TP
-.B c=<0\-20>
-ÐÏÒÏÇ Ã×ÅÔÎÏÓÔÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1)
-.
-.TP
-.B l=<0\-20>
-ÐÏÒÏÇ ÑÒËÏÓÔÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1)
-.
-.TP
-.B "lzo\ \ \ \ "
-÷ËÌÀÞÉÔØ LZO ÓÖÁÔÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.
-.TP
-.B "nolzo\ \ "
-ïÔËÌÀÞÉÔØ LZO ÓÖÁÔÉÅ.
-.
-.TP
-.B q=<3\-255>
-ÕÒÏ×ÅÎØ ËÁÞÅÓÔ×Á (ÐÏ ÕÍÏÌÞÁÎÉÀ: 255)
-.
-.TP
-.B "raw \ \ \ "
-ïÔËÌÀÞÉÔØ RTJPEG ËÏÄÉÒÏ×ÁÎÉÅ.
-.
-.TP
-.B "rtjpeg\ "
-÷ËÌÀÞÉÔØ RTJPEG ËÏÄÉÒÏ×ÁÎÉÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-äÏÓÔÕÐÎÙ ÔÒÉ ÒÅÖÉÍÁ: ÐÏÓÔÏÑÎÎÙÊ ÂÉÔÐÏÔÏË (CBR), ÆÉËÓÉÒÏ×ÁÎÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ É
-Ä×ÕÈÐÒÏÈÏÄÎÙÊ.
-.
-.TP
-.B pass=<1|2>
-õËÁÚÙ×ÁÅÔ ÐÒÏÈÏÄ × Ä×ÕÈÐÒÏÈÏÄÎÏÍ ÒÅÖÉÍÅ.
-.
-.TP
-.B turbo (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-þÒÅÚ×ÙÞÁÊÎÏ ÕÓËÏÒÑÅÔ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ, ÉÓÐÏÌØÚÕÑ ÂÏÌÅÅ ÂÙÓÔÒÙÅ ÁÌÇÏÒÉÔÍÙ É
-ÏÔËÌÀÞÁÑ ÉÎÔÅÎÓÉ×ÎÏ ÉÓÐÏÌØÚÕÀÝÉÅ CPU ÏÐÃÉÉ.
-üÔÏ, ×ÏÚÍÏÖÎÏ, ÎÅÓËÏÌØËÏ ÕÍÅÎØÛÉÔ ÏÂÝÉÊ PSNR, Á ÔÁËÖÅ ÔÉÐ É PSNR ÏÔÄÅÌØÎÙÈ
-ËÁÄÒÏ×.
-.
-.TP
-.B bitrate=<ÚÎÁÞÅÎÉÅ> (CBR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÂÉÔÐÏÔÏË × ËÂÉÔ/\:ÓÅËÕÎÄÕ, ÅÓÌÉ <16000 ÉÌÉ
-× ÂÉÔÁÈ/\:ÓÅËÕÎÄÕ, ÅÓÌÉ >16000.
-åÓÌÉ <ÚÎÁÞÅÎÉÅ> ÏÔÒÉÃÁÔÅÌØÎÏ, Xvid ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ ÁÂÓÏÌÀÔÎÏÅ
-ÚÎÁÞÅÎÉÅ × ËÁÞÅÓÔ×Å ÒÁÚÍÅÒÁ ×ÙÈÏÄÎÏÇÏ ×ÉÄÅÏ ÆÁÊÌÁ (× ËÉÌÏÂÁÊÔÁÈ) É ×ÙÞÉÓÌÉÔ
-ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÂÉÔÐÏÔÏË Á×ÔÏÍÁÔÉÞÅÓËÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 687 ËÂÉÔ/ÓÅË).
-.
-.TP
-.B fixed_quant=<1\-31>
-ðÅÒÅËÌÀÞÁÅÔ × ÒÅÖÉÍ ÆÉËÓÉÒÏ×ÁÎÎÏÇÏ Ë×ÁÎÔÏ×ÁÔÅÌÑ É ÕËÁÚÙ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ
-Ë×ÁÎÔÏ×ÁÔÅÌØ.
-.
-.TP
-.B zones=<ÚÏÎÁ0>[/<ÚÏÎÁ1>[/...]] (CBR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÏÊ ÒÅÖÉÍ)
-õËÁÚÁÎÎÏÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ËÁÞÅÓÔ×Ï ÄÌÑ ÏÔÄÅÌØÎÙÈ ÞÁÓÔÅÊ (ËÏÎÃÏ×ÏË, ÔÉÔÒÏ×, ...).
-ëÁÖÄÁÑ ÚÏÎÁ ÚÁÄÁÅÔÓÑ × ×ÉÄÅ <ÎÁÞÁÌØÎÙÊ ËÁÄÒ>,<ÒÅÖÉÍ>,<ÚÎÁÞÅÎÉÅ>.
-òÅÖÉÍ ÍÏÖÅÔ ÂÙÔØ:
-.PD 0
-.RSs
-.IPs "q"
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÐÏÓÔÏÑÎÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ, ÚÄÅÓØ ÚÎÁÞÅÎÉÅ=<2.0\-31.0>
-ÕËÁÚÙ×ÁÅÔ ÚÎÁÞÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ.
-.IPs "w"
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ×ÅÓ ÍÏÄÕÌÑ ËÏÎÔÒÏÌÑ ×ÅÌÉÞÉÎÙ ÂÉÔÐÏÔÏËÁ, ÚÄÅÓØ
-ÚÎÁÞÅÎÉÅ=<0.0.1\-2.00) ÕËÁÚÙ×ÁÅÔ ËÏÒÒÅËÃÉÀ ËÁÞÅÓÔ×Á × %.
-.RE
-.PD 1
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-ËÏÄÉÒÕÅÔ ×ÓÅ ËÁÄÒÙ, ÎÁÞÉÎÁÑ Ó 90000, ÐÏÓÔÏÑÎÎÙÍ Ë×ÁÎÔÏ×ÁÔÅÌÅÍ 20.
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-ëÏÄÉÒÕÅÔ ËÁÄÒÙ 0\-10000 Ó ÂÉÔÐÏÔÏËÏÍ × 10%, ËÏÄÉÒÕÅÔ ËÁÄÒÙ Ó 90000
-ÄÏ ÐÏÓÌÅÄÎÅÇÏ ÐÏÓÔÏÑÎÎÙÍ Ë×ÁÎÔÏ×ÁÔÅÌÅÍ 20.
-úÁÍÅÔØÔÅ, ÞÔÏ ×ÔÏÒÁÑ ÚÏÎÁ ÎÅÏÂÈÏÄÉÍÁ ÄÌÑ ÏÇÒÁÎÉÞÅÎÉÑ ÐÅÒ×ÏÊ, ÐÏÓËÏÌØËÕ
-ÂÅÚ ÎÅÅ ÂÉÔÐÏÔÏËÏÍ × 10% ÂÕÄÅÔ ÚÁËÏÄÉÒÏ×ÁÎÏ ×ÓÅ ×ÐÌÏÔØ ÄÏ 89999 ËÁÄÒÁ.
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-üÔÁ ÏÐÃÉÑ ËÏÎÔÒÏÌÉÒÕÅÔ ÐÏÄÓÉÓÔÅÍÕ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ.
-þÅÍ ×ÙÛÅ ÚÎÁÞÅÎÉÅ, ÔÅÍ ÂÏÌÅÅ ÔÏÞÎÏÊ ÂÕÄÅÔ ÏÃÅÎËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 6).
-þÅÍ ÂÏÌØÛÅ ÔÏÞÎÏÓÔØ ÏÃÅÎËÉ, ÔÅÍ ÂÏÌØÛÅ ÂÉÔÏ× ÂÕÄÅÔ ÓÜËÏÎÏÍÌÅÎÏ.
-ôÏÞÎÏÓÔØ ÄÁÅÔÓÑ ÚÁ ÓÞÅÔ ÒÁÓÈÏÄÁ ×ÒÅÍÅÎÉ CPU, ÔÁË ÞÔÏ ÕÍÅÎØÛÉÔÅ ÚÎÁÞÅÎÉÅ
-ÜÔÏÊ ÏÐÃÉÉ, ÅÓÌÉ ÔÒÅÂÕÅÔÓÑ ËÏÄÉÒÏ×ÁÎÉÅ × ÒÅÁÌØÎÏÍ ×ÒÅÍÅÎÉ.
-.
-.TP
-.B (no)qpel
-ÐÏ ÕÍÏÌÞÁÎÉÀ, MPEG\-4 ÉÓÐÏÌØÚÕÅÔ ÐÏÌÕÐÉËÓÅÌØÎÕÀ ÔÏÞÎÏÓÔØ ÐÒÉ ÐÏÉÓËÅ Ä×ÉÖÅÎÉÑ.
-óÔÁÎÄÁÒÔ ÐÒÅÄÐÏÌÁÇÁÅÔ ÒÅÖÉÍ, ËÏÇÄÁ ËÏÄÉÒÏ×ÝÉËÁÍ ÐÏÚ×ÏÌÑÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÞÅÔ×ÅÒÔØÐÉËÓÅÌØÎÕÀ ÔÏÞÎÏÓÔØ.
-òÅÚÕÌØÔÁÔ, ËÁË ÐÒÁ×ÉÌÏ, ÂÕÄÅÔ ÂÏÌÅÅ ÞÅÔËÉÍ.
-ë ÓÏÖÁÌÅÎÉÀ, ÏÎÁ ÓÉÌØÎÏ ×ÌÉÑÅÔ ÎÁ ×ÅÌÉÞÉÎÕ ÂÉÔÐÏÔÏËÁ, É ÉÎÏÇÄÁ
-Õ×ÅÌÉÞÅÎÎÏÅ ÅÇÏ ÚÎÁÞÅÎÉÅ ÎÅ ÐÏÚ×ÏÌÉÔ ÐÏÌÕÞÉÔØ ÌÕÞÛÅÅ ËÁÞÅÓÔ×Ï
-ËÁÒÔÉÎËÉ × ÒÅÖÉÍÅ ËÏÄÉÒÏ×ÁÎÉÑ Ó ÆÉËÓÉÒÏ×ÁÎÎÙÍ ÂÉÔÐÏÔÏËÏÍ.
-ìÕÞÛÅ ÐÏÐÒÏÂÏ×ÁÔØ ÏÂÒÁÂÏÔËÕ Ó ÜÔÏÊ ÏÐÃÉÅÊ É ÂÅÚ ÎÅÅ É ÐÏÓÍÏÔÒÅÔØ
-ÎÅ ÕÈÕÄÛÉÔÓÑ ÌÉ ÒÅÚÕÌØÔÁÔ.
-.
-.TP
-.B (no)gmc
-úÁÄÅÊÓÔ×ÕÅÔ Global Motion Compensation, × ÒÅÚÕÌØÔÁÔÅ Xvid ÂÕÄÅÔ
-ÓÏÚÄÁ×ÁÔØ ÓÐÅÃÉÁÌØÎÙÅ ËÁÄÒÙ (GMC\-ËÁÄÒÙ), ËÏÔÏÒÙÅ ÈÏÒÏÛÏ
-ÐÏÄÈÏÄÑÔ ÄÌÑ ÉÚÏÂÒÁÖÅÎÉÊ Ó ðÁÎÏÒÁÍÉÒÏ×ÁÎÉÅÍ/\:íÁÓÛÔÁÂÉÒÏ×ÁÎÉÅÍ/\:ðÏ×ÏÒÏÔÏÍ.
-óÜËÏÎÏÍÑÔÓÑ ÂÉÔÙ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÜÔÏÊ ÏÐÃÉÉ ÉÌÉ ÎÅÔ, ÏÞÅÎØ ÓÉÌØÎÏ
-ÚÁ×ÉÓÉÔ ÏÔ ÉÓÈÏÄÎÏÇÏ ÍÁÔÅÒÉÁÌÁ.
-.
-.TP
-.B (no)trellis
-.\"FIXME quantized coefficients
-ë×ÁÎÔÏ×ÁÎÉÅ òÅÛÅÔËÏÊ \- ÜÔÏ ÏÄÉÎ ÉÚ ÍÅÔÏÄÏ× ÁÄÁÐÔÉ×ÎÏÇÏ Ë×ÁÎÔÏ×ÁÎÉÑ,
-ËÏÔÏÒÙÊ ÜËÏÎÏÍÉÔ ÂÉÔÙ, ÍÏÄÉÆÉÃÉÒÕÑ Ë×ÁÎÔÏ×ÁÎÎÙÅ ËÏÜÆÆÉÃÉÅÎÔÙ
-.\" FIXME untranslated "entropy encoder"
-[quantized coefficients] ÄÌÑ ÉÈ ÌÕÞÛÅÇÏ ÓÖÁÔÉÑ entropy encoder.
-üÔÁ ÏÐÃÉÑ ÄÁÅÔ ÈÏÒÏÛÉÊ ÐÒÉÒÏÓÔ × ËÁÞÅÓÔ×Å, É ÅÓÌÉ VHQ ÐÏ\-×ÁÛÅÍÕ ÉÓÐÏÌØÚÕÅÔ
-ÓÌÉÛËÏÍ ÍÎÏÇÏ CPU, ÏÎÁ ÍÏÖÅÔ ÂÙÔØ ÈÏÒÏÛÅÊ ÁÌØÔÅÒÎÁÔÉ×ÏÊ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ
-ÎÅÓËÏÌØËÉÈ ÂÉÔ (É Õ×ÅÌÉÞÅÎÉÑ ËÁÞÅÓÔ×Á ÐÒÉ ÆÉËÓÉÒÏ×ÁÎÎÏÍ ÂÉÔÐÏÔÏËÅ).
-ÚÁ ÍÅÎØÛÕÀ, ÞÅÍ Ó VHQ ÃÅÎÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-.
-.TP
-.B (no)cartoon
-áËÔÉ×ÉÒÕÊÔÅ ÅÅ, ÅÓÌÉ ËÏÄÉÒÕÅÔÅ ÁÍÉÎÅ/\:ÍÕÌØÔÆÉÌØÍ.
-ïÎÁ ÉÚÍÅÎÑÅÔ ÎÅËÏÔÏÒÙÅ ÉÚ ×ÎÕÔÒÅÎÎÉÈ ÐÏÒÏÇÏ×ÙÈ ÚÎÁÞÅÎÉÊ Xvid
-ÔÁË, ÞÔÏ Xvid ÐÒÉÎÉÍÁÅÔ ÌÕÞÛÉÅ ÒÅÛÅÎÉÑ Ï ÔÉÐÁÈ ËÁÄÒÏ× É ×ÅËÔÏÒÁÈ Ä×ÉÖÅÎÉÑ
-ÄÌÑ "ÐÌÏÓËÉÈ" ÍÕÌØÔÆÉÌØÍÏ×.
-.
-.TP
-.B (no)chroma_me
-ïÂÙÞÎÙÊ ÁÌÇÏÒÉÔÍ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ ÉÓÐÏÌØÚÕÅÔ ÉÎÆÏÒÍÁÃÉÀ ÔÏÌØËÏ ÑÒËÏÓÔÎÏÊ
-ËÏÍÐÏÎÅÎÔÙ ÄÌÑ ÐÏÉÓËÁ ÌÕÞÛÅÇÏ ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ.
-.\" FIXME chroma planes = Ã×ÅÔÎÏÓÔÎÙÅ ÐÌÏÓËÏÓÔÉ
-ïÄÎÁËÏ, ÄÌÑ ÎÅËÏÔÏÒÏÇÏ ×ÉÄÅÏ ÍÁÔÅÒÉÁÌÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Ã×ÅÔÎÏÓÔÎÙÈ
-ÐÌÏÓËÏÓÔÅÊ ÍÏÖÅÔ ÐÏÍÏØ ÎÁÊÔÉ ÌÕÞÛÉÅ ×ÅËÔÏÒÙ.
-üÔÁ ÏÐÃÉÑ ÐÅÒÅËÌÀÞÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Ã×ÅÔÎÏÓÔÎÙÈ ÐÌÏÓËÏÓÔÅÊ
-ÄÌÑ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-.
-.TP
-.B (no)chroma_opt
-úÁÄÅÊÓÔ×ÕÅÔ ÐÒÅÄ×ÁÒÉÔÅÌØÎÙÊ ÆÉÌØÔÒ ÏÐÔÉÍÉÚÁÃÉÉ Ã×ÅÔÎÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ.
-ïÎ ÐÒÏÉÚ×ÏÄÉÔ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÍÁÇÉÞÅÓËÉÅ ÄÅÊÓÔ×ÉÑ ÎÁÄ
-ÉÎÆÏÒÍÁÃÉÅÊ Ï Ã×ÅÔÅ, ÞÔÏÂÙ ÍÉÎÉÍÉÚÉÒÏ×ÁÔØ ÜÆÆÅËÔ ÌÅÓÔÎÉÃÙ ÎÁ ÇÒÁÎÉÃÁÈ.
-üÔÏ ÕÌÕÞÛÉÔ ËÁÞÅÓÔ×Ï ÃÅÎÏÊ ÓËÏÒÏÓÔÉ ËÏÄÉÒÏ×ÁÎÉÑ.
-îÁ ÓÁÍÏÍ ÄÅÌÅ PSNR ÕÍÅÎØÛÁÅÔÓÑ, ÔÁË ËÁË ÓÔÁÎÅÔ ÂÏÌØÛÅ ÍÁÔÅÍÁÔÉÞÅÓËÏÅ
-ÏÔËÌÏÎÅÎÉÅ ÏÔ ÏÒÉÇÉÎÁÌØÎÏÊ ËÁÒÔÉÎËÉ,
-ÎÏ ÓÕÂßÅËÔÉ×ÎÏÅ ËÁÞÅÓÔ×Ï ÉÚÏÂÒÁÖÅÎÉÑ ÂÕÄÅÔ ÌÕÞÛÅ.
-ðÏÓËÏÌØËÕ ÆÉÌØÔÒ ÒÁÂÏÔÁÅÔ Ó ÉÎÆÏÒÍÁÃÉÅÊ Ï Ã×ÅÔÅ, ÅÇÏ, ×ÏÚÍÏÖÎÏ, ÓÔÏÉÔ ÏÔËÌÀÞÉÔØ
-ÐÒÉ ÞÅÒÎÏ\-ÂÅÌÏÍ ËÏÄÉÒÏ×ÁÎÉÉ.
-.
-.TP
-.B (no)hq_ac
-áËÔÉ×ÉÒÕÅÔ ×ÙÓÏËÏÔÏÞÎÏÅ ÐÒÅÄÓËÁÚÁÎÉÅ AC ËÏÜÆÆÉÃÉÅÎÔÏ× ÄÌÑ intra ËÁÄÒÏ×
-ÉÚ ÓÏÓÅÄÎÉÈ ÂÌÏËÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-.
-.TP
-.B vhq=<0\-4>
-.\" FIXME check translation
-áÌÇÏÒÉÔÍ ÐÏÉÓËÁ Ä×ÉÖÅÎÉÑ ÏÓÎÏ×ÁÎ ÎÁ ÐÏÉÓËÅ ×
-ÏÂÙÞÎÏÊ ÏÂÌÁÓÔÉ Ã×ÅÔÏ× [usual color domain] É
-ÐÙÔÁÅÔÓÑ ÎÁÊÔÉ ×ÅËÔÏÒ Ä×ÉÖÅÎÉÑ, ÍÉÎÉÍÉÚÉÒÕÀÝÉÊ ÒÁÚÌÉÞÉÑ ÍÅÖÄÕ
-ÉÓÈÏÄÎÙÍ É ÚÁËÏÄÉÒÏ×ÁÎÎÙÍ ËÁÄÒÏÍ.
-ëÏÇÄÁ ÜÔÁ ÏÐÃÉÑ ÁËÔÉ×ÉÒÏ×ÁÎÁ, Xvid ÔÁËÖÅ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÂÌÁÓÔØ
-ÞÁÓÔÏÔ [frequency domain] (DCT) ÄÌÑ ÐÏÉÓËÁ ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ,
-ÍÉÎÉÍÉÚÉÒÕÀÝÅÇÏ ÎÅ ÔÏÌØËÏ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÅ
-ÒÁÚÌÉÞÉÅ, ÎÏ É ËÏÄÉÒÕÅÍÕÀ ÄÌÉÎÕ ÂÌÏËÁ.
-ïÔ ÂÙÓÔÒÙÈ Ë ÍÅÄÌÅÎÎÙÍ:
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ
-.IPs 1
-ÏÐÒÅÄÅÌÑÅÔÓÑ ÒÅÖÉÍÏÍ [mode decision] (inter/\:intra MB) (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 2
-ÏÇÒÁÎÉÞÅÎÎÙÊ ÐÏÉÓË
-.IPs 3
-ÓÒÅÄÎÉÊ ÐÏÉÓË
-.IPs 4
-ÛÉÒÏËÉÊ ÐÏÉÓË
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-áÄÁÐÔÉ×ÎÏÅ Ë×ÁÎÔÏ×ÁÎÉÅ ÐÏÚ×ÏÌÑÅÔ ÒÁÚÌÉÞÁÔØÓÑ Ë×ÁÎÔÏ×ÁÔÅÌÑÍ ÍÁËÒÏÂÌÏËÏ×
-×ÎÕÔÒÉ ËÁÖÄÏÇÏ ËÁÄÒÁ.
-üÔÏ 'ÐÓÉÈÏÓÅÎÓÏÒÎÁÑ' ÎÁÓÔÒÏÊËÁ, ÐÒÉÚ×ÁÎÎÁÑ
-ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÔ ÆÁËÔ, ÞÔÏ ÞÅÌÏ×ÅÞÅÓËÉÊ ÇÌÁÚ ÉÍÅÅÔ ÓËÌÏÎÎÏÓÔØ
-ÚÁÍÅÞÁÔØ ÍÅÎØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÄÅÔÁÌÅÊ ÎÁ ÏÞÅÎØ Ó×ÅÔÌÙÈ É
-ÏÞÅÎØ ÔÅÍÎÙÈ ÞÁÓÔÑÈ ËÁÒÔÉÎËÉ.
-üÔÉ ÏÂÌÁÓÔÉ ÓÖÉÍÁÀÔÓÑ ÓÉÌØÎÅÅ, ÞÅÍ ÓÒÅÄÎÅÏÓ×ÅÝÅÎÎÙÅ,
-ÔÁËÉÍ ÏÂÒÁÚÏÍ ÓÏÈÒÁÎÑÀÔÓÑ ÂÉÔÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ×
-ÄÒÕÇÉÈ ËÁÄÒÁÈ, Õ×ÅÌÉÞÉ×ÁÑ ÏÂÝÅÅ ÓÕÂßÅËÔÉ×ÎÏÅ ËÁÞÅÓÔ×Ï, ÏÄÎÏ×ÒÅÍÅÎÎÏ,
-ÍÏÖÅÔ ÂÙÔØ, ÕÍÅÎØÛÁÑ PSNR.
-.
-.TP
-.B (no)grayscale
-.\" FIXME color planes
-úÁÓÔÁ×ÌÑÅÔ Xvid ÏÔÂÒÁÓÙ×ÁÔØ Ã×ÅÔÎÏÓÔÎÙÅ ÐÌÏÓËÏÓÔÉ, ÔÁËÉÍ ÏÂÒÁÚÏÍ ËÏÄÉÒÏ×ÁÎÎÏÅ
-×ÉÄÅÏ ÓÔÁÎÏ×ÉÔÓÑ ÞÅÒÎÏ\-ÂÅÌÙÍ.
-üÔÁ ÏÐÃÉÑ ×ÓÅÇÏ ÌÉÛØ ÏÔËÌÀÞÁÅÔ ÚÁÐÉÓØ ÄÁÎÎÙÈ
-Ï Ã×ÅÔÅ ÎÁ ÐÏÓÌÅÄÎÅÍ ÜÔÁÐÅ ËÏÄÉÒÏ×ÁÎÉÑ.
-.
-.TP
-.B (no)interlacing
-ëÏÄÉÒÏ×ÁÔØ ÐÏÌÑ ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ ×ÉÄÅÏ ÍÁÔÅÒÉÁÌÁ.
-÷ËÌÀÞÁÊÔÅ ÜÔÕ ÏÐÃÉÀ ÄÌÑ ÞÅÒÅÓÓÔÒÏÞÎÏÇÏ ÓÏÄÅÒÖÉÍÏÇÏ.
-.br
-.I úáíåþáîéå:
-åÓÌÉ ÖÅÌÁÅÔÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÔØ ×ÉÄÅÏ, ÐÏÔÒÅÂÕÅÔÓÑ ÓÏÈÒÁÎÅÎÉÅ ÞÅÒÅÓÓÔÒÏÞÎÏÓÔÉ
-× ÍÏÄÕÌÅ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÑ, ËÏÔÏÒÏÅ ÍÏÖÎÏ ÚÁÄÅÊÓÔ×Ï×ÁÔØ
-ÏÐÃÉÅÊ \-vf scale=<ÛÉÒÉÎÁ>:<×ÙÓÏÔÁ>:1.
-.
-.TP
-.B min_iquant=<0\-31>
-ÍÉÎÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ I\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2)
-.
-.TP
-.B max_iquant=<0\-31>
-ÍÁËÓÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ I\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 31)
-.
-.TP
-.B min_pquant=<0\-31>
-ÍÉÎÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ P\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2)
-.
-.TP
-.B max_pquant=<0\-31>
-ÍÁËÓÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ P\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 31)
-.
-.TP
-.B min_bquant=<0\-31>
-ÍÉÎÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ B\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2)
-.
-.TP
-.B max_bquant=<0\-31>
-ÍÁËÓÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ B\-ËÁÄÒÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 31)
-.
-.TP
-.B min_key_interval=<ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ÍÉÎÉÍÁÌØÎÙÊ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ ËÌÀÞÅ×ÙÍÉ ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0)
-.
-.TP
-.B max_key_interval=<ÚÎÁÞÅÎÉÅ>
-ÍÁËÓÉÍÁÌØÎÙÊ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ ËÌÀÞÅ×ÙÍÉ ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 10*fps)
-.
-.TP
-.B quant_type=<h263|mpeg>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÔÉÐ Ë×ÁÎÔÏ×ÁÔÅÌÑ.
-ÍÏÖÅÔÅ ÚÁÍÅÔÉÔØ, ÞÔÏ ÐÒÉ ×ÙÓÏËÉÈ ÚÎÁÞÅÎÉÑÍ ÂÉÔÐÏÔÏËÁ MPEG Ë×ÁÎÔÏ×ÁÎÉÅ ÓÏÈÒÁÎÑÅÔ
-ÂÏÌØÛÅ ÄÅÔÁÌÅÊ.
-äÌÑ ÍÁÌÅÎØËÉÈ ÚÎÁÞÅÎÉÊ ÓÇÌÁÖÉ×ÁÎÉÅ H.263 ÄÁÓÔ ÍÅÎØÛÉÊ ÂÌÏÞÎÙÊ ÛÕÍ.
-ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÓÔÁÎÄÁÒÔÎÙÈ ÍÁÔÒÉÃ
-.B ÄÏÌÖÎÏ
-ÉÓÐÏÌØÚÏ×ÁÔØÓÑ MPEG Ë×ÁÎÔÏ×ÁÎÉÅ.
-.
-.TP
-.B quant_intra_matrix=<ÉÍÑ_ÆÁÊÌÁ>
-úÁÇÒÕÖÁÅÔ ÆÁÊÌ Ó ÎÅÓÔÁÎÄÁÒÔÎÏÊ intra ÍÁÔÒÉÃÅÊ.
-÷Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÔÁËÏÊ ÆÁÊÌ ÒÅÄÁËÔÏÒÏÍ ÍÁÔÒÉÃ ÐÒÏÇÒÁÍÍÙ xvid4conf.
-.
-.TP
-.B quant_inter_matrix=<ÉÍÑ_ÆÁÊÌÁ>
-úÁÇÒÕÖÁÅÔ ÆÁÊÌ Ó ÎÅÓÔÁÎÄÁÒÔÎÏÊ inter ÍÁÔÒÉÃÅÊ.
-÷Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÔÁËÏÊ ÆÁÊÌ ÒÅÄÁËÔÏÒÏÍ ÍÁÔÒÉÃ ÐÒÏÇÒÁÍÍÙ xvid4conf.
-.
-.TP
-.B keyframe_boost=<0\-1000> (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ïÔÄÁÅÔ intra ËÁÄÒÁÍ ÂÉÔÙ, ÉÚÎÁÞÁÌØÎÏ ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÄÒÕÇÉÈ
-ÔÉÐÏ× ËÁÄÒÏ×, ÔÁËÉÍ ÏÂÒÁÚÏÍ ÕÌÕÞÛÁÑ ËÁÞÅÓÔ×Ï ËÌÀÞÅ×ÙÈ ËÁÄÒÏ×.
-äÏÐÏÌÎÉÔÅÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÕËÁÚÙ×ÁÅÔÓÑ × ÐÒÏÃÅÎÔÁÈ, ÔÁËÉÍ ÏÂÒÁÚÏÍ
-ÚÎÁÞÅÎÉÅ 10 ÄÁÓÔ ×ÙÄÅÌÉÔ ËÌÀÞÅ×ÙÍ ËÁÄÒÁÍ ÎÁ 10% ÂÏÌØÛÅ ÂÉÔ, ÞÅÍ
-ÏÂÙÞÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0)
-.
-.TP
-.B kfthreshold=<ÚÎÁÞÅÎÉÅ> (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-òÁÂÏÔÁÅÔ ÓÏ×ÍÅÓÔÎÏ Ó kfreduction.
-ïÐÒÅÄÅÌÑÅÔ ÒÁÓÓÔÏÑÎÉÅ, ÐÒÉ ÍÅÎØÛÉÈ ÚÎÁÞÅÎÉÑÈ ËÏÔÏÒÏÇÏ
-Ä×Á ËÁÄÒÁ ÓÞÉÔÁÀÔÓÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÍÉ É ÄÏÌÖÎÙ ÏÂÒÁÂÁÔÙ×ÁÔØÓÑ
-ÏÓÏÂÏ, × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÏÐÃÉÅÊ kfreduction.
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 10).
-.
-.TP
-.B kfreduction=<0\-100> (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ä×Å ÐÒÅÄÙÄÕÝÉÅ ÏÐÃÉÉ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÎÁÓÔÒÏÊËÉ ÒÁÚÍÅÒÁ
-ËÌÀÞÅ×ÙÈ ËÁÄÒÏ×, ËÏÔÏÒÙÅ, ËÁË ×Ù ÓÞÉÔÁÅÔÅ, ÎÁÈÏÄÑÔÓÑ ÓÌÉÛËÏÍ ÂÌÉÚËÏ Ë
-ÐÅÒ×ÏÍÕ (× ÓÔÒÏËÅ).
-kfthreshold ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÄÉÁÐÁÚÏÎ, × ÐÒÅÄÅÌÁÈ ËÏÔÏÒÏÇÏ ÕÒÅÚÁÀÔÓÑ ËÁÄÒÙ, Á
-kfreduction \- ÎÁ ÓËÏÌØËÏ ÕÍÅÎØÛÁÅÔÓÑ ÉÈ ÂÉÔÐÏÔÏË.
-ðÏÓÌÅÄÎÉÊ I\-ËÁÄÒ ÏÂÒÁÂÁÔÙ×ÁÅÔÓÑ ËÁË ÏÂÙÞÎÏ. (ÐÏ ÕÍÏÌÞÁÎÉÀ: 30).
-.
-.TP
-.B max_bframes=<0\-4>
-íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï B\-ËÁÄÒÏ×, ÐÏÍÅÝÁÅÍÙÈ ÍÅÖÄÕ I/P\-ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2).
-.
-.TP
-.B bquant_ratio=<0\-1000>
-.\" FIXME need better translation
-ËÏÜÆÆÉÃÉÅÎÔ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÍÅÖÄÕ B\- É ÎÅ\-B\-ËÁÄÒÁÍÉ, 150=1.50 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 150)
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-.\" FIXME need better translation
-ÓÍÅÝÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÍÅÖÄÕ B\- É ÎÅ\-B\-ËÁÄÒÁÍÉ, 100=1.00 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 100)
-.
-.TP
-.B bf_threshold=<\-255\-255>
-üÔÁ ÎÁÓÔÒÏÊËÁ ÐÏÚ×ÏÌÑÅÔ ÕËÁÚÁÔØ ÐÒÉÏÒÉÔÅÔÎÏÓÔØ ÒÁÚÍÅÝÅÎÉÑ B\-ËÁÄÒÏ×.
-þÅÍ ×ÙÛÅ ÚÎÁÞÅÎÉÅ, ÔÅÍ ×ÙÛÅ ×ÅÒÏÑÔÎÏÓÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÑ B\-ËÁÄÒÏ×
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-îÅ ÚÁÂÙ×ÁÊÔÅ, ÞÔÏ B\-ËÁÄÒÙ ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÀÔ ÂÏÌØÛÉÊ Ë×ÁÎÔÏ×ÁÔÅÌØ, É,
-ÐÏÜÔÏÍÕ, ÐÒÏÉÚ×ÏÄÓÔ×Ï ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á B\-ËÁÄÒÏ× ÍÏÖÅÔ ÓÎÉÚÉÔØ
-×ÉÚÕÁÌØÎÏÅ ËÁÞÅÓÔ×Ï.
-.
-.TP
-.B (no)closed_gop
-üÔÁ ÏÐÃÉÑ ÇÏ×ÏÒÉÔ Xvid ÚÁËÒÙ×ÁÔØ ËÁÖÄÙÊ GOP (Group Of Pictures, ÇÒÕÐÐÁ
-ËÁÒÔÉÎÏË, ÏÇÒÁÎÉÞÅÎÎÁÑ Ä×ÕÍÑ I\-ËÁÄÒÁÍÉ), ÞÔÏ ÄÅÌÁÅÔ ÉÈ ÎÅÚÁ×ÉÓÉÍÙÍÉ
-ÄÒÕÇ ÏÔ ÄÒÕÇÁ.
-üÔÏ ×ÓÅÇÏ ÌÉÛØ ÐÏÄÒÁÚÕÍÅ×ÁÅÔ, ÞÔÏ ÐÏÓÌÅÄÎÉÊ ËÁÄÒ × GOP Ñ×ÌÑÅÔÓÑ
-ÉÌÉ P\-ËÁÄÒÏÍ, ÉÌÉ I\-ËÁÄÒÏÍ, ÎÏ ÎÅ B\-ËÁÄÒÏÍ.
-ëÁË ÐÒÁ×ÉÌÏ, ×ËÌÀÞÅÎÉÅ ÜÔÏÊ ÏÐÃÉÉ \- ÈÏÒÏÛÁÑ ÉÄÅÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-.
-.TP
-.B (no)packed
-üÔÁ ÏÐÃÉÑ ÐÒÉÚ×ÁÎÁ ÒÅÛÉÔØ ÐÒÏÂÌÅÍÙ ÐÏÒÑÄËÁ ËÁÄÒÏ× ÐÒÉ ËÏÄÉÒÏ×ÁÎÉÉ
-× AVI ÐÏÄÏÂÎÙÅ ÆÏÒÍÁÔÙ, ÎÅÓÐÏÓÏÂÎÙÅ ÓÐÒÁ×ÉÔØÓÑ Ó ÎÅÕÐÏÒÑÄÏÞÅÎÎÙÍÉ ËÁÄÒÁÍÉ.
-îÁ ÐÒÁËÔÉËÅ ÂÏÌØÛÉÎÓÔ×Ï ÄÅËÏÄÅÒÏ× (ËÁË ÐÒÏÇÒÁÍÍÎÙÈ, ÔÁË É ÁÐÐÁÒÁÔÎÙÈ)
-ÓÁÍÉ ÓÐÏÓÏÂÎÙ ÏÂÒÁÝÁÔØÓÑ Ó ÐÏÒÑÄËÏÍ ËÁÄÒÏ×, É ÍÏÇÕÔ
-ÓÂÉÔØÓÑ Ó ÔÏÌËÕ, ÅÓÌÉ ÜÔÁ ÏÐÃÉÑ ×ËÌÀÞÅÎÁ, ÔÁË ÞÔÏ ÌÕÞÛÅ ×ÙËÌÀÞÉÔØ ÅÅ,
-ÅÓÌÉ ÎÅ ÚÎÁÅÔÅ ÎÁ×ÅÒÎÑËÁ, ÞÔÏ ÄÅÌÁÅÔÅ.
-.br
-.I ÷îéíáîéå:
-ðÒÉ ÜÔÏÍ ÇÅÎÅÒÉÒÕÅÔÓÑ ÎÅÓÔÁÎÄÁÒÔÎÙÊ ÂÉÔÏ×ÙÊ ÐÏÔÏË, ËÏÔÏÒÙÊ ÎÅ ÂÕÄÅÔ
-ÐÒÏÉÇÒÙ×ÁÔØÓÑ ISO\-MPEG\-4 ÄÅËÏÄÅÒÁÍÉ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ
-DivX/\:libavcodec/\:Xvid.
-.br
-.I ÷îéíáîéå:
-ðÒÉ ÜÔÏÍ ÔÁËÖÅ × ÆÁÊÌ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÆÁÌØÛÉ×ÁÑ ×ÅÒÓÉÑ DivX,
-ÞÔÏ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÐÒÏÑ×ÌÅÎÉÀ ÂÁÇÁ Á×ÔÏÏÐÒÅÄÅÌÅÎÉÑ ÎÁ ÎÅËÏÔÏÒÙÈ
-ÄÅËÏÄÅÒÁÈ.
-.
-.TP
-.B frame_drop_ratio=<0\-100> (ÔÏÌØËÏ max_bframes=0)
-üÔÁ ÎÁÓÔÒÏÊËÁ ÐÏÚ×ÏÌÑÅÔ ÓÏÚÄÁÎÉÅ ×ÉÄÅÏ ÐÏÔÏËÏ× Ó ÐÅÒÅÍÅÎÎÙÍ ÂÉÔÐÏÔÏËÏÍ.
-úÎÁÞÅÎÉÅ ÏÐÃÉÉ ÕËÁÚÙ×ÁÅÔ ÐÏÒÏÇ. åÓÌÉ ÒÁÚÎÉÃÁ ÐÏÓÌÅÄÕÀÝÅÇÏ ËÁÄÒÁ Ó
-ÐÒÅÄÙÄÕÝÉÍ ÎÉÖÅ ÜÔÏÇÏ ÚÎÁÞÅÎÉÑ, ÔÏ ËÁÄÒ ÎÅ ËÏÄÉÒÕÅÔÓÑ (× ÐÏÔÏË ÐÏÍÅÝÁÅÔÓÑ
-ÔÁË ÎÁÚÙ×ÁÅÍÙÊ n\-vop).
-ðÒÉ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÉ, ËÏÇÄÁ ÄÏÓÔÉÇÁÅÔÓÑ n\-vop, ÂÕÄÅÔ ÏÔÏÂÒÁÖÁÔØÓÑ ÐÒÅÄÙÄÕÝÉÊ
-ËÁÄÒ.
-.br
-.I ÷îéíáîéå:
-éÇÒÁ Ó ÜÔÏÊ ÏÐÃÉÅÊ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÄÅÒÇÁÀÝÅÍÕÓÑ ×ÉÄÅÏ, ÔÁË ÞÔÏ ÉÓÐÏÌØÚÕÊÔÅ
-ÅÅ ÎÁ Ó×ÏÊ ÓÔÒÁÈ É ÒÉÓË!
-.
-.TP
-.B rc_reaction_delay_factor=<ÚÎÁÞÅÎÉÅ>
-üÔÏÔ ÐÁÒÁÍÅÔÒ ËÏÎÔÒÏÌÉÒÕÅÔ ËÏÌÉÞÅÓÔ×Ï ËÁÄÒÏ×, ËÏÔÏÒÙÅ CBR ÂÕÄÅÔ ÖÄÁÔØ
-ÐÅÒÅÄ ÔÅÍ, ËÁË ÓÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ÉÚÍÅÎÅÎÉÅ ÂÉÔÐÏÔÏËÁ É ËÏÍÐÅÎÓÉÒÏ×ÁÔØ
-ÅÇÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÐÏÓÔÏÑÎÎÏÇÏ ÚÎÁÞÅÎÉÑ ÎÁ ÐÅÒÉÏÄÅ ÕÓÒÅÄÎÅÎÉÑ
-.
-.TP
-.B rc_averaging_period=<value>
-éÓÔÉÎÎÙÊ CBR ÐÏÌÕÞÉÔØ ÏÞÅÎØ ÔÒÕÄÎÏ.
-÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ×ÉÄÅÏ ÍÁÔÅÒÉÁÌÁ ÂÉÔÐÏÔÏË ÍÏÖÅÔ ÍÅÎÑÔØÓÑ É ÔÒÕÄÎÏ ÐÒÅÄÓËÁÚÕÅÍ.
-ðÏÜÔÏÍÕ Xvid ÉÓÐÏÌØÚÕÅÔ ÐÅÒÉÏÄ ÕÓÒÅÄÎÅÎÉÑ ÎÁ ËÏÔÏÒÏÍ ÇÁÒÁÎÔÉÒÕÅÔ
-ÕËÁÚÁÎÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÂÉÔ (ÍÉÎÕÓ ÎÅÂÏÌØÛÏÅ ÏÔËÌÏÎÅÎÉÅ).
-üÔÁ ÏÐÃÉÑ ×ÙÒÁÖÁÅÔ "ËÏÌÉÞÅÓÔ×Ï ËÁÄÒÏ×" ÄÌÑ ËÏÔÏÒÏÇÏ Xvid ÕÓÒÅÄÎÑÅÔ
-ÂÉÔÐÏÔÏË É ÐÙÔÁÅÔÓÑ ÐÏÌÕÞÉÔØ CBR.
-.
-.TP
-.B rc_buffer=<value>
-ÒÁÚÍÅÒ ÂÕÆÅÒÁ ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÌÉÞÉÎÏÊ ÂÉÔÐÏÔÏËÁ.
-.
-.TP
-.B curve_compression_high=<0\-100>
-üÔÁ ÏÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ Xvid ÚÁÂÒÁÔØ ÕËÁÚÁÎÎÏÅ × ÐÒÏÃÅÎÔÁÈ ËÏÌÉÞÅÓÔ×Ï ÂÉÔ
-ÉÚ ÓÃÅÎ Ó ×ÙÓÏËÉÍ ÂÉÔÐÏÔÏËÏÍ É ×ÅÒÎÕÔØ ÉÈ ÏÂÒÁÔÎÏ × "ÈÒÁÎÉÌÉÝÅ".
-÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÅ, ÅÓÌÉ ÉÍÅÅÔÅ ËÌÉÐ Ó ÎÁÓÔÏÌØËÏ ÂÏÌØÛÉÍ
-ËÏÌÉÞÅÓÔ×ÏÍ ÂÉÔ × ÓÃÅÎÁÈ Ó ×ÙÓÏËÉÍ ÂÉÔÐÏÔÏËÏÍ, ÞÔÏ ÓÃÅÎÙ
-Ó ÅÇÏ ÎÉÚËÉÍ ÚÎÁÞÅÎÉÅÍ ×ÙÇÌÑÄÑÔ ÕÖÁÓÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ:0).
-.
-.TP
-.B curve_compression_low=<0\-100>
-üÔÁ ÏÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ Xvid ÐÅÒÅÄÁÔØ ÕËÁÚÁÎÎÏÅ × ÐÒÏÃÅÎÔÁÈ ËÏÌÉÞÅÓÔ×Ï
-ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÂÉÔ × ÓÃÅÎÙ Ó ÍÁÌÅÎØËÉÍ ÂÉÔÐÏÔÏËÏÍ, ÚÁÂÉÒÁÑ ÉÈ
-ÉÚ ×ÓÅÇÏ ËÌÉÐÁ.
-üÔÏ ÍÏÖÅÔ ÐÒÉÇÏÄÉÔØÓÑ, ÅÓÌÉ ÅÓÔØ ÎÅÓËÏÌØËÏ ÓÃÅÎ Ó ÎÉÚËÉÍ ÂÉÔÐÏÔÏËÏÍ
-ÎÁ ËÏÔÏÒÙÈ ÐÏ\-ÐÒÅÖÎÅÍÕ ×ÉÄÎÙ Ë×ÁÄÒÁÔÉËÉ. (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.
-.TP
-.B overflow_control_strength=<0\-100>
-.\" FIXME scaled bitrate curve
-÷Ï ×ÒÅÍÑ ÐÅÒ×ÏÇÏ ÉÚ Ä×ÕÈ ÐÒÏÈÏÄÏ× ËÏÄÉÒÏ×ÁÎÉÑ, ×ÙÞÉÓÌÑÅÔÓÑ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÎÁÑ
-ËÒÉ×ÁÑ ÂÉÔÐÏÔÏËÁ.
-òÁÚÎÉÃÁ ÐÒÉ ËÏÄÉÒÏ×ÁÎÉÉ ÍÅÖÄÕ ÏÖÉÄÁÅÍÏÊ ËÒÉ×ÏÊ É ÐÏÌÕÞÅÎÎÙÍ ÒÅÚÕÌØÔÁÔÏÍ
-ÎÁÚÙ×ÁÅÔÓÑ ÐÅÒÅÐÏÌÎÅÎÉÅÍ.
-ïÞÅ×ÉÄÎÏ, ÞÔÏ Ä×ÕÈÐÒÏÈÏÄÎÏÊ ËÏÎÔÒÏÌØ ÂÉÔÐÏÔÏËÁ ÐÙÔÁÅÔÓÑ ËÏÍÐÅÎÓÉÒÏ×ÁÔØ
-ÜÔÏ ÐÅÒÅÐÏÌÎÅÎÉÅ, ÒÁÓÐÒÅÄÅÌÑÑ ÅÇÏ ÍÅÖÄÕ ÐÏÓÌÅÄÕÀÝÉÍÉ ËÁÄÒÁÍÉ.
-üÔÁ ÏÐÃÉÑ ËÏÎÔÒÏÌÉÒÕÅÔ, ËÁËÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÅÒÅÐÏÌÎÅÎÉÑ ÐÅÒÅÒÁÓÐÒÅÄÅÌÑÅÔÓÑ
-× ËÁÖÄÙÊ ÍÏÍÅÎÔ ÐÏÑ×ÌÅÎÉÑ ÎÏ×ÏÇÏ ËÁÄÒÁ.
-îÉÚËÉÅ ÚÎÁÞÅÎÉÑ ÒÁÚÒÅÛÁÀÔ "ÌÅÎÉ×ÏÅ" ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÐÏÌÎÅÎÉÅÍ, ÂÏÌØÛÉÅ
-ÓËÁÞËÉ ÂÉÔÐÏÔÏËÁ ËÏÍÐÅÎÓÉÒÕÀÔÓÑ ÍÅÄÌÅÎÎÅÅ (ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë
-ÎÅÄÏÓÔÁÔÏÞÎÏÊ ÔÏÞÎÏÓÔÉ ÄÌÑ ËÏÒÏÔËÉÈ ËÌÉÐÏ×).
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÓÄÅÌÁÀÔ ÉÚÍÅÎÅÎÉÑ × ÒÁÓÐÒÅÄÅÌÅÎÉÉ ÂÉÔ ÂÏÌÅÅ ÒÅÚËÉÍÉ,
-(×ÏÚÍÏÖÎÏ ÓÌÉÛËÏÍ ÒÅÚËÉÍÉ, ÅÓÌÉ ÕÓÔÁÎÏ×ÉÔÅ ÚÎÁÞÅÎÉÅ ÓÌÉÛËÏÍ ÂÏÌØÛÉÍ)
-ÓÏÚÄÁ×ÁÑ ÁÒÔÅÆÁËÔÙ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5).
-.br
-.I úáíåþáîéå:
-üÔÁ ÏÐÃÉÑ ÏÞÅÎØ ÓÉÌØÎÏ ×ÌÉÑÅÔ ÎÁ ËÁÞÅÓÔ×Ï, ÏÂÒÁÝÁÊÔÅÓØ Ó ÎÅÊ ÏÓÔÏÒÏÖÎÏ!
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-÷ ÐÒÏÃÅÓÓÅ ÒÁÓÐÒÅÄÅÌÅÎÉÑ ËÁÄÒÏ×ÙÈ ÂÉÔÏ×, ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÐÏÌÎÅÎÉÅÍ ÍÏÖÅÔ
-Õ×ÅÌÉÞÉÔØ ÒÁÚÍÅÒ ËÁÄÒÁ.
-üÔÏÔ ÐÁÒÁÍÅÔÒ ÕËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ × ÐÒÏÃÅÎÔÁÈ, ÎÁ ËÏÔÏÒÙÊ
-ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÐÏÌÎÅÎÉÅÍ ÍÏÖÅÔ Õ×ÅÌÉÞÉ×ÁÔØ ÒÁÚÍÅÒ ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó
-ÉÄÅÁÌØÎÏÊ ËÒÉ×ÏÊ ÒÁÓÐÒÅÄÅÌÅÎÉÑ. (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5).
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-÷ ÐÒÏÃÅÓÓÅ ÒÁÓÐÒÅÄÅÌÅÎÉÑ ËÁÄÒÏ×ÙÈ ÂÉÔÏ×, ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÐÏÌÎÅÎÉÅÍ ÍÏÖÅÔ
-ÕÍÅÎØÛÉÔØ ÒÁÚÍÅÒ ËÁÄÒÁ.
-üÔÏÔ ÐÁÒÁÍÅÔÒ ÕËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ × ÐÒÏÃÅÎÔÁÈ, ÎÁ ËÏÔÏÒÙÊ
-ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÐÏÌÎÅÎÉÅÍ ÍÏÖÅÔ ÕÍÅÎØÛÁÔØ ÒÁÚÍÅÒ ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó
-ÉÄÅÁÌØÎÏÊ ËÒÉ×ÏÊ ÒÁÓÐÒÅÄÅÌÅÎÉÑ. (ÐÏ ÕÍÏÌÞÁÎÉÀ: 5).
-.
-.TP
-.B container_frame_overhead=<0...>
-õËÁÚÙ×ÁÅÔ ÓÒÅÄÎÀÀ ×ÅÌÉÞÉÎÕ ÎÁËÌÁÄÎÙÈ ÒÁÓÈÏÄÏ× ÎÁ ËÁÄÒ, × ÂÁÊÔÁÈ.
-÷ ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÐÏÌØÚÏ×ÁÔÅÌÉ ×ÙÞÉÓÌÑÀÔ ÂÉÔÐÏÔÏË ÄÌÑ ×ÉÄÅÏ × ×ÙÈÏÄÎÏÍ
-ÆÁÊÌÅ, ÎÅ ÕÞÉÔÙ×ÁÑ ÎÁËÌÁÄÎÙÅ ÒÁÓÈÏÄÙ ×ÉÄÅÏ ËÏÎÔÅÊÎÅÒÁ.
-üÔÁ ÍÁÌÁÑ, ÎÏ (ÐÏÞÔÉ ×ÓÅÇÄÁ) ÐÏÓÔÏÑÎÎÁÑ ×ÅÌÉÞÉÎÁ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë
-ÐÒÅ×ÙÛÅÎÉÀ ÖÅÌÁÅÍÏÇÏ ÒÁÚÍÅÒÁ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ.
-Xvid ÐÏÚ×ÏÌÑÅÔ ÕËÁÚÁÔØ ËÏÌÉÞÅÓÔ×Ï ×ÎÏÓÉÍÏÊ ËÏÎÔÅÊÎÅÒÏÍ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ
-ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ (ÚÁÄÁ×ÁÊÔÅ ÕÓÒÅÄÎÅÎÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ËÁÄÒÁ).
-0 ÉÍÅÅÔ ÏÓÏÂÏÅ ÚÎÁÞÅÎÉÅ, ÏÎ ÄÁÅÔ Xvid ×ÏÚÍÏÖÎÏÓÔØ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ
-ÓÏÂÓÔ×ÅÎÎÙÅ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 24 \- ÕÓÒÅÄÎÅÎÎÙÅ ÎÁËÌÁÄÎÙÅ ÒÁÓÈÏÄÙ AVI).
-.
-.TP
-.B profile=<profile_name>
-ïÇÒÁÎÉÞÉ×ÁÅÔ ÏÐÃÉÉ É VBV (ÐÉËÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÂÉÔÐÏÔÏËÁ ÚÁ ËÏÒÏÔËÉÊ ÐÅÒÉÏÄ)
-× ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÐÒÏÆÉÌÑÍÉ "ðÒÏÓÔÏÊ", "òÁÓÛÉÒÅÎÎÙÊ ÐÒÏÓÔÏÊ" É "DivX".
-ðÏÌÕÞÁÀÝÅÅÓÑ ×ÉÄÅÏ ÄÏÌÖÎÏ ÂÙÔØ ×ÏÓÐÒÏÉÚ×ÏÄÉÍÙÍ ÎÁ ÁÐÐÁÒÁÔÎÙÈ ÐÒÏÉÇÒÙ×ÁÔÅÌÑÈ,
-ÓÏÂÌÀÄÁÑ ÓÐÅÃÉÆÉËÁÃÉÉ ÜÔÉÈ ÐÒÏÆÉÌÅÊ.
-.PD 0
-.RSs
-.IPs unrestricted
-ÂÅÚ ÏÇÒÁÎÉÞÅÎÉÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs "sp0\ \ "
-ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 0
-.IPs "sp1\ \ "
-ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 1
-.IPs "sp2\ \ "
-ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 2
-.IPs "sp3\ \ "
-ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 3
-.IPs "asp0\ "
-ÒÁÓÛÉÒÅÎÎÙÊ ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 0
-.IPs "asp1\ "
-ÒÁÓÛÉÒÅÎÎÙÊ ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 1
-.IPs "asp2\ "
-ÒÁÓÛÉÒÅÎÎÙÊ ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 2
-.IPs "asp3\ "
-ÒÁÓÛÉÒÅÎÎÙÊ ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 3
-.IPs "asp4\ "
-ÒÁÓÛÉÒÅÎÎÙÊ ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 4
-.IPs "asp5\ "
-ÒÁÓÛÉÒÅÎÎÙÊ ÐÒÏÓÔÏÊ ÐÒÏÆÉÌØ ÕÒÏ×ÎÑ 5
-.IPs dxnhandheld
-ËÁÒÍÁÎÎÙÊ ÐÒÏÆÉÌØ DXN
-.IPs dxnportntsc
-ÐÏÒÔÁÔÉ×ÎÙÊ NTSC ÐÒÏÆÉÌØ DXN
-.IPs dxnportpal
-ÐÏÒÔÁÔÉ×ÎÙÊ PAL ÐÒÏÆÉÌØ DXN
-.IPs dxnhtntsc
-NTSC ÐÒÏÆÉÌØ DXN ÄÌÑ ÄÏÍÁÛÎÅÇÏ ËÉÎÏÔÅÁÔÒÁ
-.IPs dxnhtpal
-PAL ÐÒÏÆÉÌØ DXN ÄÌÑ ÄÏÍÁÛÎÅÇÏ ËÉÎÏÔÅÁÔÒÁ
-.IPs dxnhdtv
-HDTV ÐÒÏÆÉÌØ DXN
-.RE
-.PD 1
-.RS
-.I úáíåþáîéå:
-üÔÉ ÐÒÏÆÉÌÉ ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ×ÍÅÓÔÅ Ó ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍ \-ffourcc.
-ëË ÐÒÁ×ÉÌÏ ÐÒÉÍÅÎÉÍ DX50, ÐÏÓËÏÌØËÕ ÎÅËÏÔÏÒÙÅ ÐÒÏÉÇÒÙ×ÁÔÅÌÉ ÎÅ
-ÒÁÓÐÏÚÎÁÀÔ Xvid, ÎÏ ÐÒÅËÒÁÓÎÏ ÏÐÒÅÄÅÌÑÀÔ DivX.
-.RE
-.
-.TP
-.B par=<mode>
-õËÁÚÙ×ÁÅÔ ÐÒÏÐÏÒÃÉÉ ÐÉËÓÅÌÁ (Pixel Aspect Ratio, PAR).
-îÅ ÐÕÔÁÊÔÅ ÅÅ Ó DAR (Display Aspect Ratio), ÐÒÏÐÏÒÃÉÑÍÉ ÄÉÓÐÌÅÑ.
-PAR \- ÜÔÏ ÏÔÎÏÛÅÎÉÅ ÛÉÒÉÎÙ É ×ÙÓÏÔÙ ÏÔÄÅÌØÎÏÇÏ ÐÉËÓÅÌÁ.
-üÔÉ Ä×Å ×ÅÌÉÞÉÎÙ Ó×ÑÚÁÎÙ ÓÌÅÄÕÀÝÉÍ
-ÏÂÒÁÚÏÍ: DAR = PAR * (ÛÉÒÉÎÁ/×ÙÓÏÔÁ).
-.br
-MPEG\-4 ÏÐÒÅÄÅÌÑÅÔ 5 ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÈ ÐÒÏÐÏÒÃÉÊ ÐÉËÓÅÌÁ É ÏÄÎÕ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ,
-ÐÏÚ×ÏÌÑÀÝÕÀ ÕËÁÚÁÔØ ÖÅÌÁÅÍÙÅ ÐÒÏÐÏÒÃÉÉ ×ÒÕÞÎÕÀ.
-óÔÁÎÄÁÒÔÎÙÅ 5 ×ÁÒÉÁÎÔÏ×:
-.PD 0
-.RSs
-.IPs vga11
-ïÂÙÞÎÙÊ PAR ÄÌÑ PC ÓÏÄÅÒÖÉÍÏÇÏ.
-ðÉËÓÅÌÙ Ë×ÁÄÒÁÔÎÙÅ.
-.IPs pal43
-óÔÁÎÄÁÒÔÎÙÊ 4:3 PAR ÄÌÑ PAL.
-ðÉËÓÅÌÙ ÐÒÑÍÏÕÇÏÌØÎÙÅ.
-.IPs pal169
-ÁÎÁÌÏÇÉÞÎÏ ÐÒÅÄÙÄÕÝÅÍÕ
-.IPs ntsc43
-ÁÎÁÌÏÇÉÞÎÏ ÐÒÅÄÙÄÕÝÅÍÕ
-.IPs ntsc169
-ÁÎÁÌÏÇÉÞÎÏ ÐÒÅÄÙÄÕÝÅÍÕ (îÅ ÚÁÂÙ×ÁÊÔÅ ÚÁÄÁ×ÁÔØ ÔÏÞÎÙÅ ÐÒÏÐÏÒÃÉÉ).
-.IPs "ext\ \ "
-ðÏÚ×ÏÌÑÅÔ ×ÁÍ ÕËÁÚÁÔØ ÓÏÂÓÔ×ÅÎÎÙÅ ÐÒÏÐÏÒÃÉÉ ÐÒÉ ÐÏÍÏÝÉ par_width É
-par_height.
-.RE
-.PD 1
-.RS
-.I úáíåþáîéå:
-ëÁË ÐÒÁ×ÉÌÏ, ÄÏÓÔÁÔÏÞÎÏ ÕÓÔÁÎÏ×ÉÔØ aspect É autoaspect.
-.RE
-.
-.TP
-.B par_width=<1\-255> (ÔÏÌØËÏ par=ext)
-õËÁÚÙ×ÁÅÔ ÛÉÒÉÎÕ ÐÒÏÐÏÒÃÉÊ ÎÅÓÔÁÎÄÁÒÔÎÏÇÏ ÐÉËÓÅÌÁ.
-.
-.TP
-.B par_height=<1\-255> (ÔÏÌØËÏ par=ext)
-õËÁÚÙ×ÁÅÔ ×ÙÓÏÔÕ ÐÒÏÐÏÒÃÉÊ ÎÅÓÔÁÎÄÁÒÔÎÏÇÏ ÐÉËÓÅÌÁ.
-.
-.TP
-.B aspect=<x/y | f (×ÅÝÅÓÔ×ÅÎÎÏÅ ÚÎÁÞÅÎÉÅ)>
-óÏÈÒÁÎÑÅÔ ÐÒÏÐÏÒÃÉÉ ÆÉÌØÍÁ ×ÎÕÔÒÉ ÎÅÇÏ, ËÁË × MPEG æÁÊÌÁÈ.
-âÏÌÅÅ ÐÒÉÑÔÎÏÅ ÒÅÛÅÎÉÅ, ÞÅÍ ÍÁÓÛÔÁÂÉÒÏ×ÁÎÉÅ, ÐÏÓËÏÌØËÕ ËÁÞÅÓÔ×Ï ÎÅ
-ÕÈÕÄÛÁÅÔÓÑ. MPlayer É ÎÅËÏÔÏÒÙÅ ÄÒÕÇÉÅ ÐÒÏÉÇÒÙ×ÁÔÅÌÉ ÂÕÄÕÔ
-×ÏÓÐÒÏÉÚ×ÏÄÉÔØ ÜÔÉ ÆÁÊÌÙ ÐÒÁ×ÉÌØÎÏ, ÏÓÔÁÌØÎÙÅ ÐÏËÁÖÕÔ ÉÈ Ó ÎÅ×ÅÒÎÙÍÉ
-ÐÒÏÐÏÒÃÉÑÍÉ.
-ðÁÒÁÍÅÔÒ aspect ÍÏÖÅÔ ÂÙÔØ ÚÁÄÁÎ ÌÉÂÏ ÄÒÏÂØÀ, ÌÉÂÏ ×ÅÝÅÓÔ×ÅÎÎÙÍ ÞÉÓÌÏÍ.
-.
-.TP
-.B (no)autoaspect
-ôÏ ÖÅ, ÞÔÏ É ÏÐÃÉÑ aspect, ÎÏ ÐÒÏÐÏÒÃÉÉ ×ÙÞÉÓÌÑÀÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ
-Ó ÕÞÅÔÏÍ ×ÓÅÈ ÉÚÍÅÎÅÎÉÊ (crop/\:expand/\:scale/\:É ÔÁË ÄÁÌÅÅ),
-ÐÒÏÉÚ×ÏÄÉÍÙÈ × ÃÅÐÏÞËÅ ÆÉÌØÔÒÏ×.
-.
-.TP
-.B "psnr\ \ \ "
-÷Ù×ÏÄÉÔ PSNR (ÐÉËÏ×ÏÅ ÏÔÎÏÛÅÎÉÅ ÓÉÇÎÁÌÁ Ë ÛÕÍÕ) ×ÓÅÇÏ ×ÉÄÅÏ ÐÏÓÌÅ ÏËÏÎÞÁÎÉÑ
-ÐÒÏÃÅÓÓÁ ËÏÄÉÒÏ×ÁÎÉÑ É ÓÏÈÒÁÎÑÅÔ ÐÏËÁÄÒÏ×ÙÊ PSNR × ÆÁÊÌ Ó ÉÍÅÎÅÍ
-ÐÏÄÏÂÎÙÍ 'psnr_hhmmss.log' × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ.
-÷ÏÚ×ÒÁÝÁÅÍÙÅ ÚÎÁÞÅÎÉÑ ÉÚÍÅÒÑÀÔÓÑ × Äâ (ÄÅÃÉÂÅÌ), ÞÅÍ ×ÙÛÅ, ÔÅÍ ÌÕÞÛÅ.
-.
-.TP
-.B "debug\ \ "
-óÏÈÒÁÎÑÅÔ ÐÏËÁÄÒÏ×ÕÀ ÓÔÁÔÉÓÔÉËÕ × ./xvid.dbg. (üÔÏ ÎÅ ÕÐÒÁ×ÌÑÀÝÉÊ ÆÁÊÌ
-Ä×ÕÈÐÒÏÈÏÄÎÏÇÏ ÒÅÖÉÍÁ.)
-.RE
-.
-.PP
-.sp 1
-óÌÅÄÕÀÝÉÅ ÏÐÃÉÉ ÄÏÓÔÕÐÎÙ ÔÏÌØËÏ × Xvid 1.1.x.
-.
-.TP
-.B bvhq=<0|1>
-.\" FIXME Need translation check. Possibly wrong.
-ïÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ ×ÅËÔÏÒÁÍ\-ËÁÎÄÉÄÁÔÁÍ ÄÌÑ B\-ËÁÄÒÏ×
-ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÎÙÍÉ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ ÍÅÔÏÄÏÍ, ×ÙÂÒÁÎÎÙÍ,
-ÉÓÐÏÌØÚÕÑ ÏÐÅÒÁÔÏÒ, ÏÐÔÉÍÉÚÉÒÏ×ÁÎÎÙÊ ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ÓÉÇÎÁÌ-ÛÕÍ.
-üÔÏ × ÔÏÞÎÏÓÔÉ ÔÏ, ÞÔÏ ÄÅÌÁÅÔÓÑ ÄÌÑ P\-ËÁÄÒÏ× ÏÐÃÉÅÊ vhq.
-üÔÁ ÏÐÃÉÑ ÐÒÏÉÚ×ÏÄÉÔ ÈÏÒÏÛÏ ÓÍÏÔÒÑÝÉÅÓÑ B\-ËÁÄÒÙ, ËÁË ÐÒÁ×ÉÌÏ,
-ÎÉËÁË ÎÅ ÕÈÕÄÛÁÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-.
-.PP
-.sp 1
-óÌÅÄÕÀÝÉÅ ÏÐÃÉÉ ÄÏÓÔÕÐÎÙ ÔÏÌØËÏ × Xvid 1.2.x.
-.
-.TP
-.B threads=<0\-n>
-óÏÚÄÁÅÔ n ÐÏÔÏËÏ× ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÏÔÏËÏ×, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ, ÒÁ×ÎÏ
-×ÙÓÏÔÅ ÉÚÏÂÒÁÖÅÎÉÑ, ÄÅÌÅÎÎÏÊ ÎÁ 16.
-.
-.
-.SS x264enc (\-x264encopts)
-.
-.TP
-.B bitrate=<ÚÎÁÞÅÎÉÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÓÐÏÌØÚÕÅÍÙÊ ÓÒÅÄÎÉÊ ÂÉÔÐÏÔÏË × ËÂÉÔ/ÓÅËÕÎÄÕ (ÐÏ\-ÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-ðÏÓËÏÌØËÕ ÌÏËÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÂÉÔÐÏÔÏËÁ ÍÏÖÅÔ ÍÅÎÑÔØÓÑ, ÜÔÁ ×ÅÌÉÞÉÎÁ ÍÏÖÅÔ
-ÂÙÔØ ÎÅÔÏÞÎÏÊ ÄÌÑ ËÏÒÏÔËÏÇÏ ×ÉÄÅÏ (ÓÍÏÔÒÉÔÅ ratetol).
-ðÏÓÔÏÑÎÎÙÊ ÂÉÔÐÏÔÏË ÓÏ ÚÎÁÞÉÍÏÊ ÐÏÔÅÒÅÊ × ËÁÞÅÓÔ×Å ÍÏÖÎÏ ÐÏÌÕÞÉÔØ,
-ËÏÍÂÉÎÉÒÕÑ ÜÔÕ ÏÐÃÉÀ Ó vbv_maxrate,
-.
-.TP
-.B qp=<0\-51>
-÷ÙÂÉÒÁÅÔ Ë×ÁÎÔÏ×ÁÔÅÌØ, ÉÓÐÏÌØÚÕÅÍÙÊ ÄÌÑ P\-ËÁÄÒÏ×.
-úÎÁÞÅÎÉÑ ÄÌÑ I\- É B\-ËÁÄÒÏ× ÐÏÌÕÞÁÀÔÓÑ ÉÚ ÜÔÏÇÏ ÓÍÅÝÅÎÉÅÍ ÎÁ ip_factor É pb_factor,
-ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ.
-20\-40 \- ÐÏÌÅÚÎÙÊ ÄÉÁÐÁÚÏÎ.
-íÅÎØÛÉÅ ÚÎÁÞÅÎÉÅ ÄÁÄÕÔ ÌÕÞÛÕÀ ÔÏÞÎÏÓÔØ, ÎÏ ÂÏÌØÛÉÊ ÂÉÔÐÏÔÏË.
-0 \- ÂÅÚ ÐÏÔÅÒØ.
-úÁÍÅÔØÔÅ, ÞÔÏ Ë×ÁÎÔÏ×ÁÎÉÅ × H.264 ÒÁÂÏÔÁÅÔ ÉÎÁÞÅ, ÞÅÍ × MPEG\-1/2/4:
-ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ H.264 (QP) ÚÁÄÁÅÔÓÑ × ÌÏÇÁÒÉÆÍÉÞÅÓËÏÊ ÛËÁÌÅ.
-úÁ×ÉÓÉÍÏÓÔØ ÐÒÉÍÅÒÎÏ ÔÁËÁÑ: H264QP = 12 + 6*log2(MPEGQP).
-îÁÐÒÉÍÅÒ, QP=2 × MPEG ÜË×É×ÁÌÅÎÔÎÏ QP=18 × H.264.
-.
-.TP
-.B crf=<1.0\-50.0>
-úÁÄÅÊÓÔ×ÕÅÔ ÒÅÖÉÍ ÐÏÓÔÏÑÎÎÏÇÏ ËÁÞÅÓÔ×Á É ×ÙÂÉÒÁÅÔ ÅÇÏ ÕÒÏ×ÅÎØ.
-ûËÁÌÁ ÔÁËÁÑ ÖÅ, ËÁË É ÄÌÑ QP.
-ëÁË É × ÒÅÖÉÍÁÈ, ÏÓÎÏ×ÁÎÎÙÈ ÎÁ ÂÉÔÐÏÔÏËÅ, ÜÔÁ ÏÐÃÉÑ ÐÏÚ×ÏÌÑÅÔ
-ËÁÖÄÏÍÕ ËÁÄÒÕ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏÂÓÔ×ÅÎÎÙÊ QP, ÏÓÎÏ×ÁÎÎÙÊ ÎÁ
-ÓÌÏÖÎÏÓÔÉ ËÁÄÒÁ.
-.
-.TP
-.B pass=<1\-3>
-úÁÄÅÊÓÔ×ÕÅÔ 2\-È É 3\-È ÐÒÏÈÏÄÎÏÊ ÒÅÖÉÍ.
-òÅËÏÍÅÎÄÕÅÔÓÑ ×ÓÅÇÄÁ ËÏÄÉÒÏ×ÁÔØ × Ä×ÕÈ ÉÌÉ ÔÒÅÈÐÒÏÈÏÄÎÏÍ ÒÅÖÉÍÅ,
-ÐÏÓËÏÌØËÕ ÜÔÏ ÐÒÉ×ÏÄÉÔ Ë ÌÕÞÛÅÍÕ ÒÁÓÐÒÅÄÅÌÅÎÉÀ ÂÉÔ É ÐÏ×ÙÛÁÅÔ
-ÏÂÝÅÅ ËÁÞÅÓÔ×Ï.
-.PD 0
-.RSs
-.IPs 1
-ÐÅÒ×ÙÊ ÐÒÏÈÏÄ
-.IPs 2
-×ÔÏÒÏÊ ÐÒÏÈÏÄ (Ä×ÕÈÐÒÏÈÏÄÎÏÇÏ ËÏÄÉÒÏ×ÁÎÉÑ)
-.IPs 3
-N\-Ê ÐÒÏÈÏÄ (×ÔÏÒÏÊ É ÔÒÅÔÉÊ ÐÒÏÈÏÄÙ ÔÒÅÈÐÒÏÈÏÄÎÏÇÏ ËÏÄÉÒÏ×ÁÎÉÑ)
-.RE
-.RS
-÷ÏÔ ËÁË ÜÔÏ ÒÁÂÏÔÁÅÔ, É ËÁË ÜÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ:
-.br
-ðÅÒ×ÙÊ ÐÒÏÈÏÄ ÓÏÂÉÒÁÅÔ ÓÔÁÔÉÓÔÉËÕ ×ÉÄÅÏ É ÚÁÐÉÓÙ×ÁÅÔ ÅÅ × ÆÁÊÌ.
-÷Ù ÍÏÖÅÔÅ ÏÔËÌÀÞÉÔØ ÎÅËÏÔÏÒÙÅ CPU\-ÐÒÏÖÏÒÌÉ×ÙÅ ÏÐÃÉÉ, ËÒÏÍÅ ÔÅÈ, ÞÔÏ
-×ËÌÀÞÅÎÙ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-.br
-÷ Ä×ÕÈÐÒÏÈÏÄÎÏÍ ÒÅÖÉÍÅ, ×ÔÏÒÏÊ ÐÒÏÈÏÄ (pass=2) ÞÉÔÁÅÔ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ
-É ÎÁ ÅÇÏ ÏÓÎÏ×Å ÐÒÉÎÉÍÁÅÔ ÒÅÛÅÎÉÑ Ï ÕÐÒÁ×ÌÅÎÉÉ ÂÉÔÐÏÔÏËÏÍ.
-.br
-÷ ÔÒÅÈÐÒÏÈÏÄÎÏÍ ÒÅÖÉÍÅ, ×ÔÏÒÏÊ ÐÒÏÈÏÄ (pass=3, ÜÔÏ ÎÅ ÏÐÅÞÁÔËÁ)
-ÄÅÌÁÅÔ ÏÂÅ ×ÅÝÉ: ÓÎÁÞÁÌÁ ÞÉÔÁÅÔ ÓÔÁÔÉÓÔÉËÕ, ÚÁÔÅÍ ÐÅÒÅÐÉÓÙ×ÁÅÔ ÅÅ.
-÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÅ ÏÐÃÉÉ, ËÒÏÍÅ ÏÞÅÎØ ÓÉÌØÎÏ ÎÁÇÒÕÖÁÀÝÉÈ CPU.
-.br
-ôÒÅÔÉÊ ÐÒÏÈÏÄ (pass=3) \- ÔÏ ÖÅ ÓÁÍÏÅ, ÞÔÏ É ×ÔÏÒÏÊ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÇÏ,
-ÞÔÏ ÏÎ ÒÁÂÏÔÁÅÔ ÓÏ ÓÔÁÔÉÓÔÉËÏÊ ×ÔÏÒÏÇÏ ÐÒÏÈÏÄÁ.
-÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÅ ÏÐÃÉÉ, ËÒÏÍÅ ÏÞÅÎØ ÓÉÌØÎÏ ÎÁÇÒÕÖÁÀÝÉÈ CPU.
-.br
-ðÅÒ×ÙÊ ÐÒÏÈÏÄ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÉÂÏ ÓÒÅÄÎÉÊ ÂÉÔÐÏÔÏË (ABR), ÌÉÂÏ
-ÐÏÓÔÏÑÎÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ.
-òÅËÏÍÅÎÄÕÅÔÓÑ ABR, ÐÏÓËÏÌØËÕ ÏÎ ÎÅ ÔÒÅÂÕÅÔ ÐÒÅÄÐÏÌÏÖÅÎÉÊ Ï ÚÎÁÞÅÎÉÉ Ë×ÁÎÔÏ×ÁÔÅÌÑ.
-ðÏÓÌÅÄÕÀÝÉÅ ÐÒÏÈÏÄÙ \- ABR, É ÄÏÌÖÎÙ ÕËÁÚÙ×ÁÔØ ÂÉÔÐÏÔÏË.
-.REss
-.
-.TP
-.B turbo=<0\-2>
-âÙÓÔÒÙÊ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ.
-÷Ï ×ÒÅÍÑ ÐÅÒ×ÏÇÏ ÐÒÏÈÏÄÁ × ÒÅÖÉÍÅ Ä×ÕÈ ÉÌÉ ÂÏÌÅÅ ÐÒÏÈÏÄÏ×, ×ÏÚÍÏÖÎÏ
-Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ, ÏÔËÌÀÞÉ× ÏÐÃÉÉ Ó ÎÅÓÕÝÅÓÔ×ÅÎÎÙÍ ÉÌÉ ÎÕÌÅ×ÙÍ
-×ÌÉÑÎÉÅÍ ÎÁ ËÁÞÅÓÔ×Ï ÐÏÓÌÅÄÎÅÇÏ ÐÒÏÈÏÄÁ.
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 1
-õÍÅÎØÛÁÅÔ subq, frameref É ÏÔËÌÀÞÁÅÔ ÎÅËÏÔÏÒÙÅ ÒÅÖÉÍÙ ÁÎÁÌÉÚÁ ÒÁÚÂÉÅÎÉÑ inter\-ÍÁËÒÏÂÌÏËÏ×.
-.IPs 2
-õÍÅÎØÛÁÅÔ subq É frameref ÄÏ 1, ÉÓÐÏÌØÚÕÅÔ ME ÐÏÉÓË ÐÏ ÒÏÍÂÕ É ÏÔËÌÀÞÁÅÔ ×ÓÅ
-ÒÅÖÉÍÙ ÁÎÁÌÉÚÁ ÒÁÚÂÉÅÎÉÑ inter\-ÍÁËÒÏÂÌÏËÏ×.
-.RE
-.RS
-õÒÏ×ÅÎØ 1 ÍÏÖÅÔ ÕÓËÏÒÉÔØ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ × Ä×Á ÒÁÚÁ ÂÅÚ ÉÚÍÅÎÅÎÉÑ ÏÂÝÅÇÏ PSNR
-ÐÏÓÌÅÄÎÅÇÏ ÐÒÏÈÏÄÁ ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó ÐÅÒ×ÙÍ ÐÒÏÈÏÄÏÍ × ÐÏÌÎÏÍ ËÁÞÅÓÔ×Å.
-.br
-õÒÏ×ÅÎØ 2 ÍÏÖÅÔ ÕÓËÏÒÉÔØ ÐÅÒ×ÙÊ ÐÒÏÈÏÄ × ÞÅÔÙÒÅ ÒÁÚÁ Ó ÉÚÍÅÎÅÎÉÅÍ PSNR
-× +/\- 0.05Äâ ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó ÐÅÒ×ÙÍ ÐÒÏÈÏÄÏÍ × ÐÏÌÎÏÍ ËÁÞÅÓÔ×Å.
-.REss
-.
-.TP
-.B keyint=<value>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÙÊ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ IDR\-ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 250).
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÜËÏÎÏÍÑÔ ÂÉÔÙ, ÔÁËÉÍ ÏÂÒÁÚÏÍ, Õ×ÅÌÉÞÉ×ÁÑ ËÁÞÅÓÔ×Ï ÃÅÎÏÊ
-ÔÏÞÎÏÓÔÉ ÐÅÒÅÍÅÝÅÎÉÑ.
-÷ ÏÔÌÉÞÉÅ ÏÔ MPEG\-1/2/4, H.264 ÎÅ ÓÔÒÁÄÁÅÔ ÏÔ ÐÏÇÒÅÛÎÏÓÔÉ DCT ÐÒÉ ÂÏÌØÛÉÈ
-ÚÎÁÞÅÎÉÑÈ keyint.
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÉÎÉÍÁÌØÎÙÊ ÉÎÔÅÒ×ÁÌ ÍÅÖÄÕ IDR\-ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 25).
-åÓÌÉ × ÐÒÅÄÅÌÁÈ ÜÔÏÇÏ ÉÎÔÅÒ×ÁÌÁ ÐÒÏÉÓÈÏÄÉÔ ÉÚÍÅÎÅÎÉÅ ÓÃÅÎÙ, ÏÎÏ
-ÐÏ\-ÐÒÅÖÎÅÍÕ ÂÕÄÅÔ ËÏÄÉÒÏ×ÁÔØÓÑ I\-ËÁÄÒÏÍ, Á ÎÅ ÎÁÞÉÎÁÔØ ÎÏ×ÙÊ GOP.
-÷ H.264, I\-ËÁÄÒÙ ÎÅ ÏÂÑÚÁÔÅÌØÎÏ ÏÇÒÁÎÉÞÉ×ÁÀÔ ÚÁËÒÙÔÙÊ GOP,
-ÐÏÔÏÍÕ ÞÔÏ ÄÏÐÕÓËÁÅÔÓÑ ÐÒÅÄÓËÁÚÁÎÉÅ P\-ËÁÄÒÁ ÉÚ ÂÏÌÅÅ, ÞÅÍ ÏÄÎÏÇÏ
-ÐÒÅÄÙÄÕÝÅÇÏ ËÁÄÒÁ (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ frameref).
-óÌÅÄÏ×ÁÔÅÌØÎÏ, I\-ËÁÄÒÙ ÎÅ Ñ×ÌÑÀÔÓÑ ÎÅÏÂÈÏÄÉÍÙÍÉ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ.
-IDR\-ËÁÄÒÙ ÎÅ ÐÏÚ×ÏÌÑÀÔ ÐÏÓÌÅÄÕÀÝÉÍ P\-ËÁÄÒÁÍ ÓÓÙÌÁÔØÓÑ ÎÁ ÌÀÂÏÊ
-ÄÒÕÇÏÊ, ÐÒÅÄÛÅÓÔ×ÕÀÝÉÊ IDR\-ËÁÄÒÕ.
-.
-.TP
-.B scenecut=<\-1\-100>
-ëÏÎÔÒÏÌÉÒÕÅÔ ÁÇÒÅÓÓÉ×ÎÏÓÔØ ×ÓÔÁ×ËÉ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ I\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 40).
-ó ÍÁÌÙÍÉ ÚÎÁÞÅÎÉÑÍÉ scenecut, ËÏÄÅË ÚÁÞÁÓÔÕÀ ÄÏÌÖÅÎ ÐÒÉÎÕÄÉÔÅÌØÎÏ ×ÓÔÁ×ÌÑÔØ
-I\-ËÁÄÒ, ËÏÇÄÁ ÍÏÖÅÔ ÐÒÅ×ÙÓÉÔØÓÑ keyint.
-èÏÒÏÛÉÅ ÚÎÁÞÅÎÉÑ scenecut ÍÏÇÕÔ ÎÁÊÔÉ ÌÕÞÛÅÅ ÐÏÌÏÖÅÎÉÅ ÄÌÑ I\-ËÁÄÒÁ.
-âÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÉÓÐÏÌØÚÕÀÔ ÂÏÌØÛÅ I\-ëÁÄÒÏ×, ÞÅÍ ÔÒÅÂÕÅÔÓÑ,
-ÚÒÑ ÒÁÓÈÏÄÕÑ ÂÉÔÙ.
-\-1 ÏÔËÌÀÞÁÅÔ ÏÐÒÅÄÅÌÅÎÉÅ ÓÍÅÎÙ ÓÃÅÎÙ, ÔÁË ÞÔÏ I\-ËÁÄÒÙ ×ÓÔÁ×ÌÑÀÔÓÑ ÔÏÌØËÏ
-ÏÄÉÎ ÒÁÚ ËÁÖÄÙÅ keyint ËÁÄÒÏ×, ÄÁÖÅ ÅÓÌÉ ÒÁÎÅÅ ÐÒÏÉÚÏÛÌÏ ÉÚÍÅÎÅÎÉÅ ÓÃÅÎÙ.
-üÔÏ ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ É ÚÒÑ ÔÒÁÔÉÔ ÂÉÔÐÏÔÏË, ÐÏÓËÏÌØËÕ ÉÚÍÅÎÅÎÉÑ ÓÃÅÎÙ,
-ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ P\-ËÁÄÒÁÍÉ ÔÁËÉÅ ÖÅ ÂÏÌØÛÉÅ, ËÁË É I\-ËÁÄÒÙ, ÎÏ ÎÅ
-ÏÂÎÕÌÑÀÔ "ÓÞÅÔÞÉË keyint".
-.
-.TP
-.B frameref=<1\-16>
-ëÏÌÉÞÅÓÔ×Ï ÐÒÅÄÙÄÕÝÉÈ ËÁÄÒÏ×, ÉÓÐÏÌØÚÕÅÍÙÈ × ËÁÞÅÓÔ×Å ÐÒÅÄÓËÁÚÁÔÅÌÅÊ
-× B\- É P\-ËÁÄÒÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-üÔÏ ÜÆÆÅËÔÉ×ÎÏ × ÁÎÉÍÅ, ÎÏ ÄÌÑ ÍÁÔÅÒÉÁÌÁ Ó ÏÂÙÞÎÙÍ Ä×ÉÖÅÎÉÅÍ, ÎÁÞÉÎÁÑ
-ÐÒÉÍÅÒÎÏ Ó 6 Ó×ÑÚÁÎÎÙÈ ËÁÄÒÏ×, ÕÌÕÞÛÅÎÉÑ ÏÞÅÎØ ÂÙÓÔÒÏ ÓÈÏÄÑÔ ÎÁ ÎÅÔ.
-üÔÁ ÏÐÃÉÑ ÎÅ ×ÌÉÑÅÔ ÎÁ ÓËÏÒÏÓÔØ ÄÅËÏÄÉÒÏ×ÁÎÉÑ, ÎÏ Õ×ÅÌÉÞÉ×ÁÅÔ
-ÒÁÚÍÅÒ ÐÁÍÑÔÉ, ÔÒÅÂÕÅÍÏÊ ÄÌÑ ÄÅËÏÄÉÒÏ×ÁÎÉÑ.
-îÅËÏÔÏÒÙÅ ÄÅËÏÄÅÒÙ ÍÏÇÕÔ ÏÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÄÏ 15 Ó×ÑÚÁÎÎÙÈ ËÁÄÒÏ×.
-.
-.TP
-.B bframes=<0\-16>
-ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÈ B\-ËÁÄÒÏ× ÍÅÖÄÕ I\- É P\-ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0)
-.
-.TP
-.B (no)b_adapt
-á×ÔÏÍÁÔÉÞÅÓËÉ ÒÅÛÁÅÔ ËÏÇÄÁ É × ËÁËÉÈ ËÏÌÉÞÅÓÔ×ÁÈ ÉÓÐÏÌØÚÏ×ÁÔØ B\-ËÁÄÒÙ,
-×ÐÌÏÔØ ÄÏ ÍÁËÓÉÍÁÌØÎÏÇÏ ÚÎÁÞÅÎÉÑ, ÕËÁÚÁÎÎÏÇÏ ×ÙÛÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-åÓÌÉ ÏÐÃÉÑ ÏÔËÌÀÞÅÎÁ, ÉÓÐÏÌØÚÕÅÔÓÑ ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï B\-ËÁÄÒÏ×.
-.
-.TP
-.B b_bias=<\-100\-100>
-õÐÒÁ×ÌÑÅÔ ÒÅÛÅÎÉÅÍ, ÐÒÅÄÓÔÁ×ÌÅÎÎÙÍ b_adapt.
-âÏÌØÛÅÅ ÚÎÁÞÅÎÉÅ b_bias ÓÏÚÄÁÅÔ ÂÏÌØÛÅ B\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.
-.TP
-.B (no)b_pyramid
-ðÏÚ×ÏÌÑÅÔ B\-ËÁÄÒÁÍ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ËÁË ÓÓÙÌËÉ ÄÌÑ ÐÒÅÄÓËÁÚÁÎÉÑ ÄÒÕÇÉÈ ËÁÄÒÏ×.
-îÁÐÒÉÍÅÒ, ÐÒÅÄÐÏÌÏÖÉÍ 3 ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÈ B\-ËÁÄÒÁ: I0 B1 B2 B3 P4.
-âÅÚ ÜÔÏÊ ÏÐÃÉÉ, B\-ËÁÄÒÙ ÓÌÅÄÕÀÔ ÔÏÍÕ ÖÅ ÛÁÂÌÏÎÕ, ÞÔÏ É × MPEG\-[124].
-ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÎÉ ËÏÄÉÒÕÀÔÓÑ × ÐÏÒÑÄËÅ I0 P4 B1 B2 B3, É ×ÓÅ B\-ËÁÄÒÙ
-ÐÒÅÄÓËÁÚÙ×ÁÀÔÓÑ ÉÚ I0 É P4.
-ó ÜÔÏÊ ÏÐÃÉÅÊ, ÏÎÉ ËÏÄÉÒÕÀÔÓÑ ËÁË I0 P4 B2 B1 B3.
-B2 ÔÁËÏÊ ÖÅ ËÁË É ×ÙÛÅ, ÎÏ B1 ÐÒÅÄÓËÁÚÙ×ÁÅÔÓÑ ÉÚ I0 É B2, Á
-B3 ÐÒÅÄÓËÁÚÙ×ÁÅÔÓÑ ÉÚ B2 É P4.
-üÔÏ ÏÂÙÞÎÏ ÄÁÅÔ ÎÅÓËÏÌØËÏ ÕÌÕÞÛÅÎÎÏÅ ÓÖÁÔÉÅ ÐÒÁËÔÉÞÅÓËÉ ÂÅÚ ÐÏÔÅÒØ × ÓËÏÒÏÓÔÉ.
-ïÄÎÁËÏ, ÜÔÏ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ÏÐÃÉÑ; ÏÎÁ ÎÅ ÐÏÌÎÏÓÔØÀ ÎÁÓÔÒÁÉ×ÁÅÔÓÑ É ÎÅ ×ÓÅÇÄÁ
-ÐÏÍÏÇÁÅÔ.
-ôÒÅÂÕÅÔÓÑ bframes >= 2.
-îÅÄÏÓÔÁÔËÉ: Õ×ÅÌÉÞÉ×ÁÅÔ ÚÁÄÅÒÖËÕ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÄÏ Ä×ÕÈ ËÁÄÒÏ×.
-.
-.TP
-.B (no)deblock
-éÓÐÏÌØÚÏ×ÁÔØ ÆÉÌØÔÒ deblocking (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-ðÏÓËÏÌØËÕ ÏÎ ÚÁÂÉÒÁÅÔ ÎÅÍÎÏÇÏ ×ÒÅÍÅÎÉ ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó ÕÌÕÞÛÅÎÉÅÍ ËÁÞÅÓÔ×Á,
-ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÅÇÏ ÏÔËÌÀÞÁÔØ.
-.
-.TP
-.B deblock=<\-6\-6>,<\-6\-6>
-ðÅÒ×ÙÊ ÐÁÒÁÍÅÔÒ \- ÜÔÏ AlphaC0 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ïÎ ÎÁÓÔÒÁÉ×ÁÅÔ ÐÏÒÏÇÏ×ÙÅ ÚÎÁÞÅÎÉÑ ÄÌÑ H.264 in\-loop deblocking ÆÉÌØÔÒÁ.
-÷Ï\-ÐÅÒ×ÙÈ, ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÎÁÓÔÒÁÉ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÚÍÅÎÅÎÉÊ,
-ËÏÔÏÒÙÅ ÍÏÖÅÔ ×ÎÅÓÔÉ ÆÉÌØÔÒ × ÌÀÂÏÊ ÏÔÄÅÌØÎÙÊ ÐÉËÓÅÌ.
-÷Ï\-×ÔÏÒÙÈ, ÏÎ ×ÌÉÑÅÔ ÎÁ ÐÏÒÏÇÏ×ÏÅ ÚÎÁÞÅÎÉÅ ÒÁÚÎÏÓÔÉ ×ÄÏÌØ ÆÉÌØÔÒÕÅÍÏÊ
-ÇÒÁÎÉÃÙ.
-ðÏÌÏÖÉÔÅÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÌÕÞÛÅ ÕÂÉÒÁÅÔ ÁÒÔÅÆÁËÔÙ × ×ÉÄÅ Ë×ÁÄÒÁÔÉËÏ×,
-ÎÏ ÔÁËÖÅ ÓÍÁÚÙ×ÁÀÔ ÄÅÔÁÌÉ.
-.br
-÷ÔÏÒÏÊ ÐÁÒÁÍÅÔÒ \- ÜÔÏ Beta (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-ïÎ ×ÌÉÑÅÔ ÎÁ ÐÏÒÏÇ ÄÅÔÁÌÉÚÁÃÉÉ.
-âÌÏËÉ Ó ÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ ÄÅÔÁÌÅÊ ÎÅ ÆÉÌØÔÒÕÀÔÓÑ, ÐÏÓËÏÌØËÕ ÓÍÁÚÙ×ÁÎÉÅ,
-×ÎÏÓÉÍÏÅ ÆÉÌØÔÒÏÍ, ÂÕÄÅÔ ÂÏÌÅÅ ÚÁÍÅÔÎÙÍ, ÞÅÍ ÉÚÎÁÞÁÌØÎÁÑ ÂÌÏÞÎÏÓÔØ.
-.br
-ðÏ×ÅÄÅÎÉÅ ÆÉÌØÔÒÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÏÞÔÉ ×ÓÅÇÄÁ ÄÏÓÔÉÇÁÅÔ ÏÐÔÉÍÁÌØÎÏÇÏ
-ËÁÞÅÓÔ×Á, ÔÁË ÞÔÏ ÌÕÞÛÅ ÌÉÂÏ ÏÓÔÁ×ÉÔØ ÅÇÏ × ÐÏËÏÅ , ÌÉÂÏ ×ÎÏÓÉÔØ
-ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ.
-ïÄÎÁËÏ, ÅÓÌÉ ÉÓÈÏÄÎÙÊ ÍÁÔÅÒÉÁÌ ÕÖÅ ÓÏÄÅÒÖÉÔ ÎÅËÏÔÏÒÏÅ ËÏÌÉÞÅÓÔ×Ï
-ÂÌÏÞÎÏÓÔÉ ÉÌÉ ÛÕÍÁ, ËÏÔÏÒÙÅ ÈÏÞÅÔÓÑ ÕÄÁÌÉÔØ, ÂÕÄÅÔ ÎÅÐÌÏÈÏ ÓÌÅÇËÁ
-ÕÓÉÌÉÔØ ÅÇÏ.
-.
-.TP
-.B (no)cabac
-éÓÐÏÌØÚÏ×ÁÔØ CABAC (Context\-Adaptive Binary Arithmetic Coding) (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-îÅÍÎÏÇÏ ÚÁÍÅÄÌÑÅÔ ËÏÄÉÒÏ×ÁÎÉÅ É ÄÅËÏÄÉÒÏ×ÁÎÉÅ, ÎÏ ÄÏÌÖÎÏ ÓÜËÏÎÏÍÉÔØ 10\-15% ÂÉÔÐÏÔÏËÁ.
-îÅ ÓÌÅÄÕÅÔ ÏÔËÌÀÞÁÔØ ÅÇÏ, ÅÓÌÉ ÎÅ ÇÏÎÉÔÅÓØ ÚÁ ÓËÏÒÏÓÔØÀ ËÏÄÉÒÏ×ÁÎÉÑ.
-.
-.TP
-.B qp_min=<1\-51> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-íÉÎÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ, 10\-30 ×ÙÇÌÑÄÉÔ ÐÒÉÇÏÄÎÙÍ ÄÉÁÐÁÚÏÎÏÍ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 10).
-.
-.TP
-.B qp_max=<1\-51> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-íÁËÓÉÍÁÌØÎÙÊ Ë×ÁÎÔÏ×ÁÔÅÌØ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 51)
-.
-.TP
-.B qp_step=<1\-50> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ÍÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ, ÎÁ ËÏÔÏÒÏÅ ÍÏÖÅÔ Õ×ÅÌÉÞÉ×ÁÔØÓÑ/ÕÍÅÎØÛÁÔØÓÑ Ë×ÁÎÔÏ×ÁÔÅÌØ
-ÍÅÖÄÕ ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 4).
-.
-.TP
-.B ratetol=<0.1\-100.0> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ÄÏÐÕÓÔÉÍÏÅ ËÏÌÅÂÁÎÉÅ ÓÒÅÄÎÅÇÏ ÚÎÁÞÅÎÉÑ ÂÉÔÐÏÔÏËÁ (ÎÅ ÄÌÑ ÏÔÄÅÌØÎÙÈ ÜÌÅÍÅÎÔÏ×) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.
-.TP
-.B vbv_maxrate=<ÚÎÁÞÅÎÉÅ> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ÍÁËÓÉÍÁÌØÎÙÊ ÌÏËÁÌØÎÙÊ ÂÉÔÐÏÔÏË, × ËÂÉÔ/\:ÓÅËÕÎÄÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ)
-.
-.TP
-.B vbv_bufsize=<ÚÎÁÞÅÎÉÅ> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ÐÅÒÉÏÄ ÕÓÒÅÄÎÅÎÉÑ ÄÌÑ vbv_maxrate, × ËÉÌÏÂÉÔÁÈ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: ÎÅÔ, ÄÏÌÖÅÎ ÂÙÔØ ÕËÁÚÁÎ, ÅÓÌÉ vbv_maxrate ×ËÌÀÞÅÎ)
-.
-.TP
-.B vbv_init=<0.0\-1.0> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ÎÁÞÁÌØÎÏÅ ÚÁÐÏÌÎÅÎÉÅ ÂÕÆÅÒÁ, × ÐÒÏÃÅÎÔÁÈ ÏÔ vbv_bufsize (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.9)
-.
-.TP
-.B ip_factor=<ÚÎÁÞÅÎÉÅ>
-ÏÔÎÏÛÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ I\- É P\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.4)
-.
-.TP
-.B pb_factor=<ÚÎÁÞÅÎÉÅ>
-ÏÔÎÏÛÅÎÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ P\- É B\-ËÁÄÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.3)
-.
-.TP
-.B qcomp=<0\-1> (ABR ÉÌÉ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-ÓÖÁÔÉÅ Ë×ÁÎÔÏ×ÁÔÅÌÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.6).
-íÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÄÅÌÁÀÔ ÂÉÔÐÏÔÏË ÂÏÌÅÅ ÐÏÓÔÏÑÎÎÙÍ, × ÔÏ ×ÒÅÍÑ ËÁË
-ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÄÅÌÁÀÔ ÂÏÌÅÅ ÐÏÓÔÏÑÎÎÙÍÉ ÐÁÒÁÍÅÔÒ Ë×ÁÎÔÏ×ÁÎÉÑ.
-.
-.TP
-.B cplx_blur=<0\-999> (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-òÁÚÍÙ×ÁÎÉÅ ×Ï ×ÒÅÍÅÎÉ ÐÏÄÓÞÉÔÁÎÎÏÊ ÓÌÏÖÎÏÓÔÉ ËÁÄÒÁ ÐÅÒÅÄ ÓÖÁÔÉÅÍ ËÒÉ×ÏÊ.
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 20).
-íÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÐÏÚ×ÏÌÑÀÔ ÚÎÁÞÅÎÉÀ Ë×ÁÎÔÏ×ÁÔÅÌÑ "ÐÒÙÇÁÔØ" ÓÉÌØÎÅÅ,
-ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÐÒÉÎÕÖÄÁÀÔ ÅÇÏ ÍÅÎÑÔØÓÑ ÂÏÌÅÅ ÐÌÁ×ÎÏ.
-cplx_blur ÇÁÒÁÎÔÉÒÕÅÔ, ÞÔÏ ËÁÖÄÙÊ I\-ËÁÄÒ ÉÍÅÅÔ ËÁÞÅÓÔ×Ï, ÓÒÁ×ÎÉÍÏÅ Ó
-ÐÏÓÌÅÄÕÀÝÉÍÉ P\-ËÁÄÒÁÍÉ, É ÇÁÒÁÎÔÉÒÕÅÔ, ÞÔÏ ÞÅÒÅÄÏ×ÁÎÉÅ ËÁÄÒÏÍ Ó
-ÍÁÌÅÎØËÏÊ É ×ÙÓÏËÏÊ ÓÌÏÖÎÏÓÔØÀ (ÎÁÐÒÉÍÅÒ, ÁÎÉÍÁÃÉÑ Ó ÎÉÚËÉÍ fps)
-ÎÅ ÒÁÓÈÏÄÕÅÔ ÂÉÔÙ ÐÏÐÕÓÔÕ ÉÚ\-ÚÁ ËÏÌÅÂÁÎÉÊ Ë×ÁÎÔÏ×ÁÔÅÌÑ.
-.
-.TP
-.B qblur=<0\-99> (ÔÏÌØËÏ Ä×ÕÈÐÒÏÈÏÄÎÙÊ ÒÅÖÉÍ)
-òÁÚÍÙ×ÁÎÉÅ ×Ï ×ÒÅÍÅÎÉ ÐÁÒÁÍÅÔÒÁ Ë×ÁÎÔÏ×ÁÎÉÑ ÐÏÓÌÅ ÓÖÁÔÉÑ ËÒÉ×ÏÊ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.5).
-íÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÐÏÚ×ÏÌÑÀÔ Ë×ÁÎÔÏ×ÁÔÅÌÀ ÓÉÌØÎÅÅ "ÐÒÙÇÁÔØ",
-ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÐÒÉÎÕÖÄÁÀÔ ÅÇÏ ÍÅÎÑÔØÓÑ ÂÏÌÅÅ ÐÌÁ×ÎÏ.
-.
-.TP
-.B zones=<ÚÏÎÁ0>[/<ÚÏÎÁ1>[/...]]
-õËÁÚÁÎÎÏÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ËÁÞÅÓÔ×Ï ÏÔÄÅÌØÎÙÈ ÞÁÓÔÅÊ (ËÏÎÃÏ×ÏË, ÔÉÔÒÏ×, ...).
-ëÁÖÄÁÑ ÚÏÎÁ ÕËÁÚÙ×ÁÅÔÓÑ × ×ÉÄÅ <ÐÅÒ×ÙÊ ËÁÄÒ>,<ÐÏÓÌÅÄÎÉÊ ËÁÄÒ>,<ÏÐÃÉÑ>, ÇÄÅ
-ÏÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-Ë×ÁÎÔÏ×ÁÔÅÌØ
-.IPs "b=<0.01\-100.0>"
-ÍÎÏÖÉÔÅÌØ ÂÉÔÐÏÔÏËÁ
-.RE
-.PD 1
-.RS
-.I úáíåþáîéå:
-ïÐÃÉÑ Ë×ÁÎÔÏ×ÁÔÅÌÑ ÎÅ Ñ×ÌÑÅÔÓÑ ÖÅÓÔËÏ ÐÒÉÍÅÎÑÅÍÏÊ.
-.\" FIXME is translation correct?
-.\" It affects only the planning stage of ratecontrol, and is still subject
-.\" to overflow compensation and qp_min/qp_max.
-ïÎÁ ×ÌÉÑÅÔ ÔÏÌØËÏ ÎÁ ÓÔÁÄÉÀ ÐÌÁÎÉÒÏ×ÁÎÉÑ ÍÏÄÕÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÂÉÔÐÏÔÏËÏÍ,
-É ÐÏ-ÐÒÅÖÎÅÍÕ Ñ×ÌÑÅÔÓÑ ÏÂßÅËÔÏÍ ÄÌÑ ËÏÍÐÅÎÓÁÃÉÉ ÐÅÒÅÐÏÌÎÅÎÉÑ É qp_min/qp_max.
-.RE
-.
-.TP
-.B direct_pred=<name>
-ïÐÒÅÄÅÌÑÅÔ ÔÉÐ ÐÒÅÄÓËÁÚÁÎÉÑ Ä×ÉÖÅÎÉÑ, ÉÓÐÏÌØÚÕÅÍÏÇÏ ÄÌÑ ÐÒÑÍÙÈ
-ÍÁËÒÏÂÌÏËÏ× × B\-ËÁÄÒÁÈ.
-.PD 0
-.RSs
-.IPs none
-ðÒÑÍÙÅ ÍÁËÒÏÂÌÏË ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ.
-.IPs spatial
-÷ÅËÔÏÒÙ Ä×ÉÖÅÎÉÑ ÜËÓÔÒÁÐÏÌÉÒÕÀÔÓÑ ÉÚ ÓÏÓÅÄÎÉÈ ÂÌÏËÏ×.
-(ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs temporal
-÷ÅËÔÏÒÙ Ä×ÉÖÅÎÉÑ ÜËÓÔÒÁÐÏÌÉÒÕÀÔÓÑ ÉÚ ÐÏÓÌÅÄÕÀÝÅÇÏ P\-ËÁÄÒÁ.
-.IPs auto
-ëÏÄÅË ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÙ ×ÙÂÉÒÁÅÔ ÍÅÖÄÕ spatial É temporal.
-.RE
-.PD 1
-.RS
-Spatial É temporal ÉÍÅÀÔ ÐÒÉÍÅÒÎÏ ÏÄÉÎÁËÏ×ÕÀ ÓËÏÒÏÓÔØ É PSNR,
-×ÙÂÏÒ ÍÅÖÄÕ ÎÉÍÉ ÚÁ×ÉÓÉÔ ÏÔ ×ÉÄÅÏ ÓÏÄÅÒÖÉÍÏÇÏ.
-Auto ÎÅÍÎÏÇÏ ÌÕÞÛÅ, ÎÏ ÍÅÄÌÅÎÎÅÅ.
-Auto ÎÁÉÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÏ × ËÏÍÂÉÎÁÃÉÉ Ó multipass.
-direct_pred=none ÏÄÎÏ×ÒÅÍÅÎÎÏ É ÍÅÄÌÅÎÎÅÅ, É ÈÕÖÅ ÐÏ ËÁÞÅÓÔ×Õ.
-.RE
-.
-.TP
-.B (no)weight_b
-éÓÐÏÌØÚÏ×ÁÔØ ×Ú×ÅÛÅÎÎÏÅ ÐÒÅÄÓËÁÚÁÎÉÅ × B\-ËÁÄÒÁÈ.
-âÅÚ ÜÔÏÊ ÏÐÃÉÉ, Ä×ÕÎÁÐÒÁ×ÌÅÎÎÏ ÐÒÅÄÓËÁÚÁÎÎÙÅ ÍÁËÒÏÂÌÏËÉ
-ÐÒÉÓ×ÁÉ×ÁÀÔ ÏÄÉÎÁËÏ×ÙÊ ×ÅÓ ËÁÖÄÏÍÕ ËÁÄÒÕ, ÎÁ ËÏÔÏÒÙÊ ÓÓÙÌÁÀÔÓÑ.
-ó ÜÔÏÊ ÏÐÃÉÅÊ ×ÅÓÁ ÏÐÒÅÄÅÌÑÀÔÓÑ ×ÒÅÍÅÎÎÏÊ ÐÏÚÉÃÉÅÊ
-B\-ËÁÄÒÁ ÏÔÎÏÓÉÔÅÌØÎÏ ÔÏÇÏ, ÎÁ ËÏÔÏÒÙÊ ÏÎ ÓÓÙÌÁÅÔÓÑ.
-ôÒÅÂÕÅÔ bframes > 1.
-.
-.TP
-.B partitions=<ÓÐÉÓÏË>
-úÁÄÅÊÓÔÕÅÔ ÎÅËÏÔÏÒÙÅ ÎÅÏÂÑÚÁÔÅÌØÎÙÅ ÔÉÐÙ ÍÁËÒÏÂÌÏËÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: p8x8,b8x8,i8x8,i4x4).
-.PD 0
-.RSs
-.IPs p8x8
-úÁÄÅÊÓÔ×ÕÅÔ ÔÉÐÙ p16x8, p8x16, p8x8.
-.IPs p4x4
-úÁÄÅÊÓÔ×ÕÅÔ ÔÉÐÙ p8x4, p4x8, p4x4.
-p4x4 ÒÅËÏÍÅÎÄÕÅÔÓÑ ÔÏÌØËÏ Ó subq >= 5, É ÔÏÌØËÏ ÄÌÑ ÎÉÚËÉÈ ÒÁÚÒÅÛÅÎÉÊ.
-.IPs b8x8
-úÁÄÅÊÓÔ×ÕÅÔ ÔÉÐÙ b16x8, b8x16, b8x8.
-.IPs i8x8
-úÁÄÅÊÓÔ×ÕÅÔ ÔÉÐ i8x8.
-i8x8 ÎÅ ÉÍÅÅÔ ÜÆÆÅËÔÁ, ÅÓÌÉ ÎÅ ÚÁÄÅÊÓÔ×Ï×ÁÎ 8x8dct.
-.IPs i4x4
-úÁÄÅÊÓÔ×ÕÅÔ ÔÉÐ i4x4.
-.IPs all
-úÁÄÅÊÓÔ×ÕÅÔ ×ÓÅ ×ÙÛÅÕËÁÚÁÎÎÙÅ ÔÉÐÙ.
-.IPs none
-ïÔËÌÀÞÁÅÔ ×ÓÅ ×ÙÛÅÕËÁÚÁÎÎÙÅ ÔÉÐÙ.
-.RE
-.PD 1
-.RS
-îÅÚÁ×ÉÓÉÍÏ ÏÔ ÜÔÏÊ ÏÐÃÉÉ, ÔÉÐÙ ÍÁËÒÏÂÌÏËÏ× p16x16, b16x16, and i16x16
-×ÓÅÇÄÁ ÚÁÄÅÊÓÔ×Ï×ÁÎÙ.
-.br
-éÄÅÑ ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ÎÁÊÔÉ ÔÉÐ É ÒÁÚÍÅÒ, ÌÕÞÛÅ ×ÓÅÇÏ ÏÐÉÓÙ×ÁÀÝÉÊ
-ÏÐÒÅÄÅÌÅÎÎÙÅ ÏÂÌÁÓÔÉ ÉÚÏÂÒÁÖÅÎÉÑ.
-îÁÐÒÉÍÅÒ, ÏÂÝÉÊ ÎÁÅÚÄ ÌÕÞÛÅ ÏÐÉÓÙ×ÁÅÔÓÑ ÂÌÏËÁÍÉ 16x16, × ÔÏ ×ÒÅÍÑ
-ËÁË ÎÅÂÏÌØÛÉÅ Ä×ÉÖÕÝÉÅÓÑ ÏÂßÅËÔÙ ÌÕÞÛÅ ÐÒÅÄÓÔÁ×ÌÑÀÔÓÑ ÍÅÎØÛÉÍÉ ÂÌÏËÁÍÉ.
-.RE
-.
-.TP
-.B (no)8x8dct
-òÁÚÍÅÒ ÁÄÁÐÔÉ×ÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÏÇÏ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ: ÐÏÚ×ÏÌÑÅÔ
-ÍÁËÒÏÂÌÏËÁÍ ×ÙÂÉÒÁÔØ ÍÅÖÄÕ 4x4 É 8x8 DCT.
-ôÁËÖÅ ÐÏÚ×ÏÌÑÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ i8x8 ÔÉÐ ÍÁËÒÏÂÌÏËÁ.
-âÅÚ ÔÏÊ ÏÐÃÉÉ ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ 4x4 DCT.
-.
-.TP
-.B me=<ÎÁÚ×ÁÎÉÅ>
-.\" FIXME check translation
-÷ÙÂÉÒÁÅÔ ÐÏÌÎÏÐÉËÓÅÌØÎÙÊ ÁÌÇÏÒÉÔÍ ÏÃÅÎËÉ Ä×ÉÖÅÎÉÑ.
-.PD 0
-.RSs
-.IPs dia
-ÐÏÉÓË ÐÏ ÒÏÂÍÕ, ÒÁÄÉÕÓ 1 (ÂÙÓÔÒÏ)
-.IPs hex
-ÐÏÉÓË ÐÏ ÛÅÓÔÉÕÇÏÌØÎÉËÕ, ÒÁÄÉÕÓ 2 (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs umh
-ÁÓÉÍÍÅÔÒÉÞÎÙÊ ÐÅÒÅËÒÅÓÔÎÙÊ ÐÏÉÓË (ÍÅÄÌÅÎÎÏ)
-.IPs esa
-ÉÓÞÅÒÐÙ×ÁÀÝÉÊ ÐÏÉÓË (ÏÞÅÎØ ÍÅÄÌÅÎÎÏ É ÎÅ ÌÕÞÛÅ, ÞÅÍ umh)
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-ÒÁÄÉÕÓ ÉÓÞÅÒÐÙ×ÁÀÝÅÇÏ ÉÌÉ ÐÏ ÍÎÏÇÏÕÇÏÌØÎÉËÕ ÐÏÉÓËÁ Ä×ÉÖÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 16)
-.
-.TP
-.B subq=<1\-9>
-îÁÓÔÒÁÉ×ÁÅÔ ÕÌÕÞÛÅÎÉÅ ËÁÞÅÓÔ×Á subpel.
-üÔÏÔ ÐÁÒÁÍÅÔÒ ËÏÎÔÒÏÌÉÒÕÅÔ ×ÙÂÏÒ ÍÅÖÄÕ ËÁÞÅÓÔ×ÏÍ É ÓËÏÒÏÓÔØÀ
-×ÎÏÓÉÍÙÍÉ × ÐÒÏÃÅÓÓÅ ÐÒÉÎÑÔÉÑ ÒÅÛÅÎÉÊ Ï ÏÃÅÎËÅ Ä×ÉÖÅÎÉÑ.
-subq=5 ÍÏÖÅÔ ÓÖÉÍÁÔØ ÄÏ 10% ÌÕÞÛÅ, ÞÅÍ subq=1.
-.PD 0
-.RSs
-.IPs 0
-÷ÙÐÏÌÎÑÅÔ ÏÃÅÎËÕ Ä×ÉÖÅÎÉÑ Ó ÐÏÌÎÏÐÉËÓÅÌØÎÏÊ ÔÏÞÎÏÓÔØÀ ÄÌÑ ×ÓÅÈ
-×ÏÚÍÏÖÎÙÈ ÔÉÐÏ× ÍÁËÒÏÂÌÏËÏ×.
-úÁÔÅÍ ×ÙÂÉÒÁÅÔ ÌÕÞÛÉÊ ÔÉÐ ÎÁ ÏÓÎÏ×Å ÍÅÔÒÉËÉ SAD [ÓÕÍÍÁ ÁÂÓÏÌÀÔÎÙÈ
-ÒÁÚÎÏÓÔÅÊ] (ÂÙÓÔÒÅÅ ÞÅÍ subq=1, ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ
-ÓÌÕÞÁÅ×, ËÏÇÄÁ ÷ÁÍ ÎÅÏÂÈÏÄÉÍÏ Ó×ÅÒÈÂÙÓÔÒÏÅ ËÏÄÉÒÏ×ÁÎÉÅ).
-.IPs 1
-áÎÁÌÏÇÉÞÎÏ 0, ÐÏÔÏÍ ÕÔÏÞÎÑÅÔ Ä×ÉÖÅÎÉÅ ÜÔÏÇÏ ÔÉÐÁ ÄÏ ÂÙÓÔÒÏÊ ÞÅÔ×ÅÒØÔÐÉËÓÅÌØÎÏÊ
-ÔÏÞÎÏÓÔÉ (ÂÙÓÔÒÙÊ).
-.IPs 2
-÷ÙÐÏÌÎÑÅÔ ÏÃÅÎËÕ Ä×ÉÖÅÎÉÑ Ó ÐÏÌÕÐÉËÓÅÌØÎÏÊ ÔÏÞÎÏÓÔØÀ ÄÌÑ ×ÓÅÈ
-×ÏÚÍÏÖÎÙÈ ÔÉÐÏ× ÍÁËÒÏÂÌÏËÏ×.
-úÁÔÅÍ ×ÙÂÉÒÁÅÔ ÌÕÞÛÉÊ ÎÁ ÏÓÎÏ×Å ÍÅÔÒÉËÉ SATD [ÓÕÍÍÁ ÁÂÓÏÌÀÔÎÙÈ
-ÒÁÚÎÏÓÔÅÊ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ áÄÁÍÁÒÁ]. ðÏÔÏÍ ÕÔÏÞÎÑÅÔ Ä×ÉÖÅÎÉÅ ÜÔÏÇÏ
-ÔÉÐÁ ÄÏ ÂÙÓÔÒÏÊ ÞÅÔ×ÅÒØÔÐÉËÓÅÌØÎÏÊ ÔÏÞÎÏÓÔÉ.
-.IPs 3
-ëÁË É 2, ÎÏ ÉÓÐÏÌØÚÕÅÔ ÂÏÌÅÅ ÍÅÄÌÅÎÎÏÅ ÞÅÔ×ÅÒØÔÐÉËÓÅÌØÎÏÅ ÕÔÏÞÎÅÎÉÅ.
-.IPs 4
-÷ÙÐÏÌÎÑÅÔ ÏÃÅÎËÕ Ä×ÉÖÅÎÉÑ Ó ÂÙÓÔÒÏÊ ÞÅÔ×ÅÒØÔÐÉËÓÅÌØÎÏÊ ÔÏÞÎÏÓÔØÀ ÄÌÑ ×ÓÅÈ
-×ÏÚÍÏÖÎÙÈ ÔÉÐÏ× ÍÁËÒÏÂÌÏËÏ×.
-úÁÔÅÍ ×ÙÂÉÒÁÅÔ ÌÕÞÛÉÊ ÎÁ ÏÓÎÏ×Å ÍÅÔÒÉËÉ SATD.
-ðÏÔÏÍ ÕÔÏÞÎÑÅÔ Ä×ÉÖÅÎÉÅ ÜÔÏÇÏ ÔÉÐÁ ÄÏ ÞÅÔ×ÅÒØÔÐÉËÓÅÌØÎÏÊ ÔÏÞÎÏÓÔÉ.
-.IPs 5
-÷ÙÐÏÌÎÑÅÔ ÏÃÅÎËÕ Ä×ÉÖÅÎÉÑ Ó ÞÅÔ×ÅÒØÔÐÉËÓÅÌØÎÏÊ ÔÏÞÎÏÓÔØÀ ÌÕÞÛÅÇÏ
-ËÁÞÅÓÔ×Á ÄÌÑ ×ÓÅÈ ×ÏÚÍÏÖÎÙÈ ÔÉÐÏ× ÍÁËÒÏÂÌÏËÏ×, ÐÅÒÅÄ ×ÙÂÏÒÏÍ
-ÌÕÞÛÅÇÏ ÔÉÐÁ.
-ôÁËÖÅ ÕÔÏÞÎÑÅÔ, ÎÁ ÏÓÎÏ×Å SATD ÍÅÔÒÉËÉ, Ä×Á ×ÅËÔÏÒÁ Ä×ÉÖÅÎÉÑ,
-ÉÓÐÏÌØÚÕÀÝÉÈÓÑ × Ä×ÕÎÁÐÒÁ×ÌÅÎÎÙÈ ÍÁËÒÏÂÌÏËÁÈ, ×ÍÅÓÔÏ ÐÏ×ÔÏÒÎÏÇÏ
-ÉÓÐÏÌØÚÏ×ÁÎÉÑ ×ÅËÔÏÒÏ× ÏÔ ÐÏÉÓËÁ ×ÐÅÒ£Ä É ÎÁÚÁÄ.
-.IPs 6
-úÁÄÅÊÓÔ×ÕÅÔ ÏÐÔÉÍÉÚÁÃÉÀ ÔÉÐÏ× ÍÁËÒÏÂÌÏËÏ× ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ÓÉÇÎÁÌ\-ÛÕÍ
-× I\- É P\-ËÁÄÒÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs 7
-úÁÄÅÊÓÔ×ÕÅÔ ÏÐÔÉÍÉÚÁÃÉÀ ÔÉÐÏ× ÍÁËÒÏÂÌÏËÏ× ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ÓÉÇÎÁÌ\-ÛÕÍ
-ÄÌÑ ×ÓÅÈ ËÁÄÒÏ×.
-.IPs 8
-úÁÄÅÊÓÔ×ÕÅÔ ÏÐÔÉÍÉÚÁÃÉÀ ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ÓÉÇÎÁÌ\-ÛÕÍ ÄÌÑ ×ÅËÔÏÒÏ×
-Ä×ÉÖÅÎÉÑ É ×ÎÕÔÒÅÎÎÉÈ ÒÅÖÉÍÏ× ÐÒÅÄÓËÁÚÁÎÉÑ × I- É P-ËÁÄÒÁÈ.
-.IPs 9
-úÁÄÅÊÓÔ×ÕÅÔ ÏÐÔÉÍÉÚÁÃÉÀ ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ÓÉÇÎÁÌ\-ÛÕÍ ÄÌÑ ×ÅËÔÏÒÏ×
-Ä×ÉÖÅÎÉÑ É ×ÎÕÔÒÅÎÎÉÈ ÒÅÖÉÍÏ× ÐÒÅÄÓËÁÚÁÎÉÑ ×Ï ×ÓÅÈ ËÁÄÒÁÈ (ÌÕÞÛÉÊ).
-.RE
-.PD 1
-.RS
-÷ ÕËÁÚÁÎÎÏÍ ×ÙÛÅ "×ÓÅ ×ÏÚÍÏÖÎÙÅ" ÎÅ ÏÚÎÁÞÁÅÔ × ÔÏÞÎÏÓÔÉ ×ÓÅ ÚÁÄÅÊÓÔ×Ï×ÁÎÎÙÅ ÔÉÐÙ:
-4x4, 4x8, 8x4 ÐÒÏÂÕÀÔÓÑ, ÔÏÌØËÏ ÅÓÌÉ 8x8 ÌÕÞÛÅ, ÞÅÍ 16x16.
-.RE
-.
-.TP
-.B (no)chroma_me
-ðÒÉÎÉÍÁÅÔ ×Ï ×ÎÉÍÁÎÉÅ ÉÎÆÏÒÍÁÃÉÀ Ï Ã×ÅÔÅ ×Ï ×ÒÅÍÑ subpixel ÐÏÉÓËÁ Ä×ÉÖÅÎÉÑ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-ôÒÅÂÕÅÔ subq>=5.
-.
-.TP
-.B (no)mixed_refs
-ðÏÚ×ÏÌÑÅÔ ËÁÖÄÏÍÕ 8x8 ÉÌÉ 16x8 ÓÅÇÍÅÎÔÕ Ä×ÉÖÅÎÉÑ ÎÅÚÁ×ÉÓÉÍÏ
-×ÙÂÉÒÁÔØ Ó×ÑÚÁÎÎÙÊ ËÁÄÒ.
-âÅÚ ÜÔÏÊ ÏÐÃÉÉ ×ÅÓØ ÍÁËÒÏÂÌÏË ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÄÎÕ É ÔÕ ÖÅ
-ÓÓÙÌËÕ.
-ôÒÅÂÕÅÔ frameref>1.
-.
-.TP
-.B trellis=<0\-2> (ÔÏÌØËÏ cabac)
-Ë×ÁÎÔÏ×ÁÎÉÅ, ÏÐÔÉÍÁÌØÎÏÅ ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ÓÉÇÎÁÌ\-ÛÕÍ
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs 1
-×ËÌÀÞÅÎÏ ÔÏÌØËÏ ÄÌÑ ÆÉÎÁÌØÎÏÇÏ ËÏÄÉÒÏ×ÁÎÉÑ
-.IPs 2
-×ËÌÀÞÅÎÏ ×Ï ×ÒÅÍÑ ÐÒÉÎÑÔÉÑ ÒÅÛÅÎÉÊ ÏÂÏ ×ÓÅÈ ÒÅÖÉÍÁÈ (ÍÅÄÌÅÎÎÏ, ÔÒÅÂÕÅÔ subq>=6)
-.RE
-.PD 1
-.
-.TP
-.B psy-rd=rd[,trell]
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÓÉÌÕ ÐÓÉÈÏ×ÉÚÕÁÌØÎÏÊ ÏÐÔÉÍÉÚÁÃÉÉ.
-.PD 0
-.RSs
-.IPs rd=<0.0\-10.0>
-ÓÉÌÁ ÐÓÉÈÏ×ÉÚÕÁÌØÎÏÊ ÏÐÔÉÍÉÚÁÃÉÉ (ÎÅÏÂÈÏÄÉÍÏ subq>=6) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1.0)
-.IPs trell=<0.0\-10.0>
-trellis (ÎÅÏÂÈÏÄÉÍÏ trellis, ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ) (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0.0)
-.RE
-.PD 1
-.
-.
-.TP
-.B deadzone_inter=<0\-32>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ ÍÅÒÔ×ÏÊ ÚÏÎÙ ÍÅÖÂÌÏÞÎÏÇÏ Ë×ÁÎÔÏ×ÁÎÉÑ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ
-ÄÌÑ ÎÅ\-trellis Ë×ÁÎÔÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 21).
-íÅÎØÛÉÅ ÚÎÁÞÅÎÉÑ ÐÏÚ×ÏÌÑÀÔ ÓÏÈÒÁÎÉÔØ ÈÏÒÏÛÕÀ ÄÅÔÁÌÉÚÁÃÉÀ É ÚÅÒÎÉÓÔÏÓÔØ ÆÉÌØÍÁ
-(ÏÂÙÞÎÏ ÐÏÌÅÚÎÏ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ ×ÙÓÏËÉÍ ÂÉÔÐÏÔÏËÏÍ/ËÁÞÅÓÔ×ÏÍ), × ÔÏ ×ÒÅÍÑ
-ËÁË ÂÏÌØÛÉÅ ÚÎÁÞÅÎÉÑ ÐÏÍÏÇÁÀÔ ÏÔÆÉÌØÔÒÏ×ÁÔØ ÜÔÉ ÄÅÔÁÌÉ ÄÌÑ ÜËÏÎÏÍÉÉ ÂÉÔ,
-ËÏÔÏÒÙÅ ÍÏÖÎÏ ÐÏ×ÔÏÒÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ × ÄÒÕÇÉÈ ÍÁËÒÏÂÌÏËÁÈ É ËÁÄÒÁÈ
-(ÏÂÙÞÎÏ ÐÏÌÅÚÎÏ ÄÌÑ ËÏÄÉÒÏ×ÁÎÉÑ Ó ÍÁÌÙÍ ÂÉÔÐÏÔÏËÏÍ).
-òÅËÏÍÅÎÄÕÅÔÓÑ ÎÁÞÁÔØ Ó ÎÁÓÔÒÏÊËÉ deadzone_intra ÐÅÒÅÄ ÉÚÍÅÎÅÎÉÅÍ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ.
-.
-.TP
-.B deadzone_intra=<0\-32>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ ÍÅÒÔ×ÏÊ ÚÏÎÙ ×ÎÕÔÒÅÎÎÅÇÏ Ë×ÁÎÔÏ×ÁÎÉÑ ÑÒËÏÓÔÎÏÊ ËÏÍÐÏÎÅÎÔÙ
-ÄÌÑ ÎÅ\-trellis Ë×ÁÎÔÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 11).
-üÔÁ ÏÐÃÉÑ ÉÍÅÅÔ ÔÏÔ ÖÅ ÜÆÆÅËÔ, ÞÔÏ É deadzone_inter, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÇÏ, ÞÔÏ
-ÏÎÁ ÄÅÊÓÔ×ÕÅÔ ÎÁ intra ËÁÄÒÙ.
-òÅËÏÍÅÎÄÕÅÔÓÑ ÎÁÞÁÔØ Ó ÎÁÓÔÒÏÊËÉ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ, ÐÒÅÖÄÅ ÞÅÍ
-ÉÚÍÅÎÑÔØ deadzone_inter.
-.
-.TP
-.B (no)fast_pskip
-÷ÙÐÏÌÎÑÅÔ ÒÁÎÎÅÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÒÏÐÕÓËÏ× × P\-ËÁÄÒÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-üÔÏ ÏÂÙÞÎÏ Õ×ÅÌÉÞÉ×ÁÅÔ ÓËÏÒÏÓÔØ ÂÅÚ ËÁËÉÈ\-ÌÉÂÏ ÚÁÔÒÁÔ, ÎÏ ÉÎÏÇÄÁ
-ÐÒÏÉÚ×ÏÄÉÔ ÁÒÔÅÆÁËÔÙ × ÏÂÌÁÓÔÑÈ ÂÅÚ ÄÅÔÁÌÅÊ, ÔÁËÉÈ ËÁË ÎÅÂÏ.
-.
-.TP
-.B (no)dct_decimate
-ïÔÓÅÉ×ÁÅÔ dct ÂÌÏËÉ × P\-ËÁÄÒÁÈ, ÓÏÄÅÒÖÁÝÉÅ ÔÏÌØËÏ ÍÁÌÅÎØËÉÊ ÏÄÉÎÏÞÎÙÊ
-ËÏÜÆÆÉÃÉÅÎÔ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ×ËÌÀÞÅÎÏ).
-üÔÏ ÕÄÁÌÉÔ ÎÅËÏÔÏÒÙÅ ÄÅÔÁÌÉ, ÔÅÍ ÓÁÍÙÍ ÓÜËÏÎÏÍÉÔ ÂÉÔÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ
-ÓÎÏ×Á ÉÓÐÏÌØÚÏ×ÁÎÙ × ÄÒÕÇÉÈ ËÁÄÒÁÈ, ÎÁÄÏ ÎÁÄÅÑÔØÓÑ, ÕÌÕÞÛÁÑ
-ÏÂÝÅÅ ÓÕÂßÅËÔÉ×ÎÏÅ ËÁÞÅÓÔ×Ï.
-åÓÌÉ ÓÖÉÍÁÅÔÅ ÎÅ ÁÎÉÍÅ Ó ×ÙÓÏËÉÍ ×ÙÈÏÄÎÙÍ ÂÉÔÐÏÔÏËÏÍ, ÖÅÌÁÔÅÌØÎÏ
-ÏÔËÌÀÞÉÔØ ÜÔÕ ÏÐÃÉÀ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÏÌØËÏ ÄÅÔÁÌÅÊ, ÎÁÓËÏÌØËÏ ÜÔÏ ×ÏÚÍÏÖÎÏ.
-.
-.TP
-.B nr=<0\-100000>
-ðÏÄÁ×ÌÅÎÉÅ ÛÕÍÁ, 0 ÏÚÎÁÞÁÅÔ ÏÔËÌÀÞÅÎÏ.
-100\-1000 \- ÒÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ ÄÌÑ ÏÂÙÞÎÏÇÏ ÓÏÄÅÒÖÉÍÏÇÏ, ÎÏ ×Ù, ×ÏÚÍÏÖÎÏ, ÚÁÈÏÔÉÔÅ
-ÎÅÓËÏÌØËÏ Õ×ÅÌÉÞÉÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ ÄÌÑ ÏÞÅÎØ ÛÕÍÎÏÇÏ ÓÏÄÅÒÖÉÍÏÇÏ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-÷ Ó×ÑÚÉ Ó ÍÁÌÙÍ ×ÌÉÑÎÉÅÍ ÎÁ ÓËÏÒÏÓÔØ, ×Ù, ×ÏÚÍÏÖÎÏ, ÐÒÅÄÐÏÞÔÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÜÔÕ ÏÐÃÉÀ ×ÍÅÓÔÏ denoise3d ÉÌÉ hqdn3d.
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-éÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ Ã×ÅÔÎÏÓÔÉ Ë×ÁÎÔÏ×ÁÔÅÌØ, ÏÔÌÉÞÎÙÊ ÏÔ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÄÌÑ ÑÒËÏÓÔÉ
-ÎÁ ÕËÁÚÁÎÎÏÅ ÚÎÁÞÅÎÉÅ.
-òÁÚÕÍÎÙÊ ÄÉÁÐÁÚÏÎ \- ÜÔÏ <\-2\-2> (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-.
-.TP
-.B aq_mode=<0\-2>
-ïÐÒÅÄÅÌÑÅÔ ËÁË ÁÄÁÐÔÉ×ÎÏÅ Ë×ÁÎÔÏ×ÁÎÉÅ (AQ) ÒÁÓÐÒÅÄÅÌÑÅÔ ÂÉÔÙ:
-.PD 0
-.RSs
-.IPs 0
-ÏÔËÌÀÞÅÎÏ
-.IPs 1
-éÚÂÅÇÁÅÔ ÐÅÒÅÍÅÝÅÎÉÑ ÂÉÔÏ× ÍÅÖÄÕ ËÁÄÒÁÍÉ.
-.IPs 2
-ðÅÒÅÍÅÝÁÅÔ ÂÉÔÙ ÍÅÖÄÕ ËÁÄÒÁÍÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.RE
-.PD 1
-.
-.TP
-.B aq_strength=<ÐÏÌÏÖÉÔÅÌØÎÏÅ ×ÅÝÅÓÔ×ÅÎÎÏÅ ÚÎÁÞÅÎÉÅ>
-ëÏÎÔÒÏÌÉÒÕÅÔ ÎÁÓËÏÌØËÏ ÓÉÌØÎÏ ÁÄÁÐÔÉ×ÎÏÅ Ë×ÁÎÔÏ×ÁÎÉÅ (AQ) ÕÍÅÎØÛÁÅÔ
-ÂÌÏÞÎÏÓÔØ É ÒÁÚÍÙÔÏÓÔØ × ÐÌÏÓËÉÈ É ÔÅËÓÔÕÒÉÒÏ×ÁÎÎÙÈ ÏÂÌÁÓÔÑÈ (ÐÏ
-ÕÍÏÌÞÁÎÉÀ: 1.0).
-úÎÁÞÅÎÉÅ 0.6 ÐÒÉ×ÅÄ£Ô Ë ÓÌÁÂÏÍÕ AQ É ÈÕÄÛÅÊ ÄÅÔÁÌÉÚÁÃÉÉ, Á ÚÎÁÞÅÎÉÅ
-1.5 \- Ë ÓÉÌØÎÏÍÕ AQ É ÂÏÌØÛÅÍÕ ËÏÌÉÞÅÓÔ×Õ ÄÅÔÁÌÅÊ.
-.
-.TP
-.B cqm=<flat|jvt|<ÉÍÑ_ÆÁÊÌÁ>>
-ìÉÂÏ ÉÓÐÏÌØÚÕÅÔ ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÕÀ ÎÅÓÔÁÎÄÁÒÔÎÕÀ ÍÁÔÒÉÃÕ Ë×ÁÎÔÏ×ÁÎÉÑ ÉÌÉ
-ÚÁÇÒÕÖÁÅÔ ÆÁÊÌ ÍÁÔÒÉÃÙ × ÆÏÒÍÁÔÅ JM.
-.PD 0
-.RSs
-.IPs "flat\ "
-.\" FIXME is translation correct?
-.\" Use the predefined flat 16 matrix (default).
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÏÊ ÍÁÔÒÉÃÙ flat 16 (ÐÏ ÕÍÏÌÞÁÎÉÀ).
-.IPs "jvt\ \ "
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÏÊ ÍÁÔÒÉÃÙ JVT.
-.IPs <ÉÍÑ_ÆÁÊÌÁ>
-éÓÐÏÌØÚÏ×ÁÎÉÅ ÕËÁÚÁÎÎÏÇÏ ÆÁÊÌÁ ÍÁÔÒÉÃÙ JM ÆÏÒÍÁÔÁ.
-.PD 1
-.RE
-.RS
-.I úáíåþáîéå:
-ðÏÌØÚÏ×ÁÔÅÌÉ Windows CMD.EXE ÍÏÇÕÔ ÓÔÏÌËÎÕÔØÓÑ Ó ÐÒÏÂÌÅÍÁÍÉ ÒÁÚÂÏÒÁ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ,
-ÅÓÌÉ ÐÙÔÁÀÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÅ CQM ÓÐÉÓËÉ.
-üÔÏ ÓÌÕÞÁÅÔÓÑ ÐÏ ÐÒÉÞÉÎÅ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ÄÌÉÎÕ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.
-÷ ÜÔÏÍ ÓÌÕÞÁÅÔ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÐÏÍÅÓÔÉÔØ ÓÐÉÓËÉ × CQM ÆÁÊÌ JM ÆÏÒÍÁÔÁ É ÚÁÇÒÕÚÉÔØ
-ÅÇÏ, ËÁË ÕËÁÚÁÎÏ ×ÙÛÅ.
-.RE
-.
-.TP
-.B cqm4iy=<list> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ cqm)
-îÅÓÔÁÎÄÁÒÔÎÁÑ 4x4 ÑÒËÏÓÔÎÁÑ intra ÍÁÔÒÉÃÁ, ÚÁÄÁÎÎÁÑ ÓÐÉÓËÏÍ ÉÚ 16 ÚÎÁÞÅÎÉÊ
-× ÄÉÁÐÁÚÏÎÅ 1\-255, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ.
-.
-.TP
-.B cqm4ic=<list> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ cqm)
-îÅÓÔÁÎÄÁÒÔÎÁÑ 4x4 Ã×ÅÔÎÏÓÔÎÁÑ intra ÍÁÔÒÉÃÁ, ÚÁÄÁÎÎÁÑ ÓÐÉÓËÏÍ ÉÚ 16 ÚÎÁÞÅÎÉÊ
-× ÄÉÁÐÁÚÏÎÅ 1\-255, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ.
-.
-.TP
-.B cqm4py=<list> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ cqm)
-îÅÓÔÁÎÄÁÒÔÎÁÑ 4x4 ÑÒËÏÓÔÎÁÑ inter ÍÁÔÒÉÃÁ, ÚÁÄÁÎÎÁÑ ÓÐÉÓËÏÍ ÉÚ 16 ÚÎÁÞÅÎÉÊ
-× ÄÉÁÐÁÚÏÎÅ 1\-255, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ.
-.
-.TP
-.B cqm4pc=<list> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ cqm)
-îÅÓÔÁÎÄÁÒÔÎÁÑ 4x4 Ã×ÅÔÎÏÓÔÎÁÑ inter ÍÁÔÒÉÃÁ, ÚÁÄÁÎÎÁÑ ÓÐÉÓËÏÍ ÉÚ 16 ÚÎÁÞÅÎÉÊ
-× ÄÉÁÐÁÚÏÎÅ 1\-255, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ.
-.
-.TP
-.B cqm8iy=<list> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ cqm)
-îÅÓÔÁÎÄÁÒÔÎÁÑ 8x8 ÑÒËÏÓÔÎÁÑ intra ÍÁÔÒÉÃÁ, ÚÁÄÁÎÎÁÑ ÓÐÉÓËÏÍ ÉÚ 64 ÚÎÁÞÅÎÉÊ
-× ÄÉÁÐÁÚÏÎÅ 1\-255, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ.
-.
-.TP
-.B cqm8py=<list> (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ cqm)
-îÅÓÔÁÎÄÁÒÔÎÁÑ 8x8 Ã×ÅÔÎÏÓÔÎÁÑ inter ÍÁÔÒÉÃÁ, ÚÁÄÁÎÎÁÑ ÓÐÉÓËÏÍ ÉÚ 64 ÚÎÁÞÅÎÉÊ
-× ÄÉÁÐÁÚÏÎÅ 1\-255, ÒÁÚÄÅÌÅÎÎÙÈ ÚÁÐÑÔÏÊ.
-.
-.TP
-.B level_idc=<10\-51>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÒÏ×ÅÎØ ÂÉÔÏ×ÏÇÏ ÐÏÔÏËÁ, ËÁË ÕËÁÚÁÎÏ × ÐÒÉÌÏÖÅÎÉÉ A
-ÓÔÁÎÄÁÒÔÁ H.264 (ÐÏ ÕÍÏÌÞÁÎÉÀ: 51 \- õÒÏ×ÅÎØ 5.1).
-üÔÏ ÕËÁÚÙ×ÁÅÔ ÄÅËÏÄÅÒÕ, ËÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÏÎ ÄÏÌÖÅÎ ÐÏÄÄÅÒÖÉ×ÁÔØ.
-éÓÐÏÌØÚÕÊÔÅ ÜÔÏ ÐÁÒÁÍÅÔÒ ÔÏÌØËÏ, ÅÓÌÉ ÚÎÁÅÔÅ, ÞÔÏ ÏÎ ÏÚÎÁÞÁÅÔ, É
-ÎÕÖÄÁÅÔÅÓØ × ÅÇÏ ÕÓÔÁÎÏ×ËÅ.
-.
-.TP
-.B threads=<0\-16>
-ðÏÒÏÖÄÁÅÔ ÐÏÔÏËÉ ÄÌÑ ÐÁÒÁÌÌÅÌØÎÏÇÏ ËÏÄÉÒÏ×ÁÎÉÑ ÎÁ ÎÅÓËÏÌØËÉÈ CPU (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1).
-éÍÅÅÔ ÎÅÚÎÁÞÉÔÅÌØÎÙÊ ÎÅÇÁÔÉ×ÎÙÊ ÜÆÆÅËÔ ÎÁ ËÁÞÅÓÔ×Ï ÓÖÁÔÉÑ.
-0 ÉÌÉ auto ÇÏ×ÏÒÉÔ x264 ÏÐÒÅÄÅÌÉÔØ ËÏÌÉÞÅÓÔ×Ï ÉÍÅÀÝÉÈÓÑ Õ ÷ÁÓ CPU É ÐÏÄÏÂÒÁÔØ
-ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÅ ËÏÌÉÞÅÓÔ×Ï ÐÏÔÏËÏ×.
-.
-.TP
-.B (no)global_header
-ðÒÉ×ÏÄÑÔ Ë ÔÏÍÕ, ÞÔÏ SPS É PPS ÐÏÑ×ÌÑÀÔÓÑ ÔÏÌØËÏ ÏÄÎÁÖÄÙ \- × ÎÁÞÁÌÅ
-ÂÉÔÏ×ÏÇÏ ÐÏÔÏËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: ÏÔËÌÀÞÅÎÏ).
-îÅËÏÔÏÒÙÅ ÐÒÏÉÇÒÙ×ÁÔÅÌÉ, ÔÁËÉÅ ËÁË Sony PSP, ÔÒÅÂÕÀÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
-ÜÔÏÊ ÏÐÃÉÉ.
-ðÏ×ÅÄÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÏÚ×ÏÌÑÅÔ SPS É PPS ÐÏ×ÔÏÒÑÔØÓÑ
-ÐÅÒÅÄ ËÁÖÄÙÍ IDR ËÁÄÒÏÍ.
-.
-.TP
-.B (no)interlaced
-òÁÓÓÍÁÔÒÉ×ÁÔØ ×ÉÄÅÏ ÓÏÄÅÒÖÉÍÏÅ ËÁË ÞÅÒÅÓÓÔÒÏÞÎÏÅ.
-.
-.TP
-.B log=<\-1\-3>
-îÁÓÔÒÁÉ×ÁÅÔ ËÏÌÉÞÅÓÔ×Ï ÓÌÕÖÅÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ, ×Ù×ÏÄÉÍÏÊ ÎÁ ÜËÒÁÎ.
-.PD 0
-.RSs
-.IPs "\-1"
-ÎÉÞÅÇÏ
-.IPs " 0"
-÷Ù×ÏÄÉÔ ÔÏÌØËÏ ÏÛÉÂËÉ.
-.IPs " 1"
-ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ
-.IPs " 2"
-PSNR É ÄÒÕÇÕÀ ÓÔÁÔÉÓÔÉËÕ ÁÎÁÌÉÚÁ ÐÏ ÏËÏÎÞÁÎÉÉ ËÏÄÉÒÏ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ)
-.IPs " 3"
-PSNR, QP, ÔÉÐ ËÁÄÒÁ, ÒÁÚÍÅÒ, É ÄÒÕÇÕÀ ÓÔÁÔÉÓÔÉËÕ ÄÌÑ ËÁÖÄÏÇÏ ËÁÄÒÁ
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-÷Ù×ÏÄÉÔ ÓÔÁÔÉÓÔÉËÕ ÐÏ ÓÏÏÔÎÏÛÅÎÉÀ ÓÉÇÎÁÌ\-ÛÕÍ.
-.br
-.I úáíåþáîéå:
-PSNR ÐÏÌÑ 'Y', 'U', 'V', É 'Avg' PSNR Ó ÉÔÏÇÁÈ ÎÅ Ñ×ÌÑÀÔÓÑ
-.\" FIXME untranslated
-mathematically sound (ÏÎÉ ÐÒÏÓÔÏ ÓÒÅÄÎÅÅ ÚÎÁÞÅÎÉÅ ÐÏËÁÄÒÏ×ÙÈ PSNR).
-ïÎÉ ÏÓÔÁ×ÌÅÎÙ ÄÌÑ ÓÒÁ×ÎÅÎÉÑ Ó ÜÔÁÌÏÎÎÙÍ JM ËÏÄÅËÏÍ.
-×Ï ×ÓÅÈ ÏÓÔÁÌØÎÙÈ ÓÌÕÞÁÑÈ ÉÓÐÏÌØÚÕÊÔÅ ÌÉÂÏ 'Global' PSNR, ÌÉÂÏ
-ÐÏËÁÄÒÏ×ÙÊ PSNR, ×Ù×ÏÄÉÍÙÊ ÐÁÒÁÍÅÔÒÏÍ log=3.
-.
-.TP
-.B (no)ssim
-÷Ù×ÏÄÉÔ ÒÅÚÕÌØÔÁÔÙ Structural Similarity Metric (íÅÔÒÉËÉ óÔÒÕËÔÕÒÎÏÇÏ óÈÏÄÓÔ×Á).
-üÔÏ ÁÌØÔÅÒÎÁÔÉ×Á PSNR, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÌÕÞÛÅ ËÏÒÒÅÌÉÒÏ×ÁÔØ Ó ÏÝÕÝÁÅÍÙÍ ËÁÞÅÓÔ×ÏÍ
-ÓÖÁÔÏÇÏ ×ÉÄÅÏ.
-.
-.TP
-.B (no)visualize
-úÁÄÅÊÓÔ×ÕÅÔ x264 ×ÉÚÕÁÌÉÚÁÃÉÉ ×Ï ×ÒÅÍÑ ËÏÄÉÒÏ×ÁÎÉÑ.
-åÓÌÉ x264 × ×ÁÛÅÊ ÓÉÓÔÅÍÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÜÔÏ, ÂÕÄÅÔ ÏÔËÒÙÔÏ ÎÏ×ÏÅ ÏËÎÏ
-×Ï ×ÒÅÍÑ ÐÒÏÃÅÓÓÁ ËÏÄÉÒÏ×ÁÎÉÑ, × ËÏÔÏÒÏÍ x264 ÂÕÄÅÔ ÐÙÔÁÔØÓÑ
-ÐÒÅÄÓÔÁ×ÉÔØ ÏÂÚÏÒ ÔÏÇÏ, ËÁË ÂÕÄÅÔ ÚÁËÏÄÉÒÏ×ÁÎ ËÁÖÄÙÊ ËÁÄÒ.
-ëÁÖÄÙÊ ÔÉÐ ÂÌÏËÁ ×ÉÚÕÁÌÉÚÉÒÏ×ÁÎÎÏÇÏ ÆÉÌØÍÁ ÂÕÄÅÔ ÒÁÓËÒÁÛÅÎÏ ËÁË ÕËÁÚÁÎÏ ÎÉÖÅ:
-.PD 0
-.RSs
-.IPs red/pink
-intra ÂÌÏË
-.IPs "blue\ "
-inter ÂÌÏË
-.IPs green
-ÐÒÏÐÕÝÅÎÎÙÊ ÂÌÏË
-.IPs yellow
-B\-ÂÌÏË
-.RE
-.PD 1
-.RS
-üÔÁ ÏÐÃÉÑ ÄÏÌÖÎÁ ÒÁÓÓÍÁÔÒÉ×ÁÔØÓÑ ËÁË ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ É
-Ñ×ÌÑÀÝÁÑÓÑ ÏÂßÅËÔÏÍ ÄÌÑ ÉÚÍÅÎÅÎÉÊ.
-÷ ÞÁÓÔÎÏÓÔÉ, ÏÎÁ ÚÁ×ÉÓÉÔ ÓËÏÍÐÉÌÉÒÏ×ÁÎ ÌÉ x264 Ó ×ËÌÀÞÅÎÎÏÊ ×ÉÚÕÁÌÉÚÁÃÉÅÊ.
-.\" FIXME is translation correct
-.\" Note that as of writing this, x264 pauses after encoding and visualizing
-éÍÅÊÔÅ × ×ÉÄÕ, × ÓÉÌÕ ÒÅÁÌÉÚÁÃÉÉ x264 ÏÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ËÏÄÉÒÏ×ÁÎÉÑ É ×ÉÚÕÁÌÉÚÁÃÉÉ
-ËÁÖÄÏÇÏ ËÁÄÒÁ, ÖÄÅÔ ÎÁÖÁÔÉÑ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ËÌÁ×ÉÛÉ, ÐÏÓÌÅ ÞÅÇÏ
-ÂÕÄÅÔ ËÏÄÉÒÏ×ÁÔØÓÑ ÓÌÅÄÕÀÝÉÊ ËÁÄÒ.
-.RE
-.
-.
-.SS xvfw (\-xvfwopts)
-ëÏÄÉÒÏ×ÁÎÉÅ Ó ËÏÄÅËÁÍÉ Video for Windows ÐÏ ÂÏÌØÛÅÊ ÞÁÓÔÉ ÕÓÔÁÒÅÌÏ,
-ÅÓÌÉ ÔÏÌØËÏ ×Ù ÎÅ ÈÏÔÉÔÅ ËÏÄÉÒÏ×ÁÔØ ËÁËÉÍ\-ÔÏ ÎÅÉÚ×ÅÓÔÎÙÍ ÓÔÏÒÏÎÎÉÍ ËÏÄÅËÏÍ.
-.
-.TP
-.B codec=<ÉÍÑ>
-éÍÑ ÆÁÊÌÁ ÂÉÎÁÒÎÏÇÏ ËÏÄÅËÁ, Ó ÐÏÍÏÝØÀ ËÏÔÏÒÏÇÏ ÎÕÖÎÏ ËÏÄÉÒÏ×ÁÔØ.
-.
-.TP
-.B compdata=<ÆÁÊÌ>
-éÍÑ ÆÁÊÌÁ Ó ÎÁÓÔÒÏÊËÁÍÉ ËÏÄÅËÁ (ÎÁÐÒÉÍÅÒ firstpass.mcf), ÓÏÚÄÁÎÎÏÇÏ vfw2menc.
-.
-.
-.SS MPEG ÍÕÌØÔÉÐÌÅËÓÏÒ (\-mpegopts)
-.
-MPEG ÍÕÌØÔÉÐÌÅËÓÏÒ ÍÏÖÅÔ ÇÅÎÅÒÉÒÏ×ÁÔØ 5 ÔÉÐÏ× ÐÏÔÏËÏ×, ÉÍÅÀÝÉÈ ÒÁÚÕÍÎÙÅ
-ÏÐÃÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ, ËÏÔÏÒÙÅ ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÐÅÒÅÏÐÒÅÄÅÌÉÔØ.
-÷ÏÏÂÝÅ, ËÏÇÄÁ ÇÅÎÅÒÉÒÕÅÔÓÑ MPEG ÆÁÊÌÙ, ÖÅÌÁÔÅÌØÎÏ ÏÔËÌÀÞÉÔØ ËÏÄ
-ÐÒÏÐÕÓËÁ ËÁÄÒÏ× MEncoder'Á (ÓÍÏÔÒÉÔÅ \-noskip, \-mc, Á ÔÁËÖÅ
-harddup É softskip ×ÉÄÅÏ ÆÉÌØÔÒÙ).
-.PP
-.I ðòéíåò:
-.PD 0
-.RSs
-.IPs format=mpeg2:tsaf:vbitrate=8000
-.RE
-.PD 1
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
-ÆÏÒÍÁÔ ÐÏÔÏËÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ: mpeg2).
-pes1 É pes2 ×ÅÓØÍÁ ÓÉÌØÎÏ ÉÓÐÏÒÞÅÎÎÙÅ ÆÏÒÍÁÔÙ (ÂÅÚ ÚÁÇÏÌÏ×ËÁ ÕÐÁËÏ×ËÉ É
-ÎÁÂÉ×ËÉ [padding]), ÎÏ VDR ÉÈ ÉÓÐÏÌØÚÕÅÔ;
-ÎÅ ×ÙÂÉÒÁÊÔÅ ÉÈ, ÅÓÌÉ ÎÅ ÚÎÁÅÔÅ ÔÏÞÎÏ, ÞÔÏ ÄÅÌÁÅÔÅ.
-.
-.TP
-.B size=<×ÐÌÏÔØ ÄÏ 65535>
-òÁÚÍÅÒ ÕÐÁËÏ×ËÉ × ÂÁÊÔÁÈ, ÎÅ ÉÚÍÅÎÑÊÔÅ ÅÇÏ, ÅÓÌÉ ÎÅ ÚÎÁÅÔÅ
-ÔÏÞÎÏ, ÞÔÏ ÄÅÌÁÅÔÅ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 2048).
-.
-.TP
-.B muxrate=<ÃÅÌÏÅ>
-îÏÍÉÎÁÌØÎÁÑ ×ÅÌÉÞÉÎÁ ÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÎÏÇÏ ÐÏÔÏËÁ
-× ÚÁÇÏÌÏ×ËÁÈ ÕÐÁËÏ×ËÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 1800 ËÂÉÔ/Ó).
-÷ ÓÌÕÞÁÅ 'format=mpeg1' ÉÌÉ 'mpeg2' ÂÕÄÅÔ ÏÂÎÏ×ÌÅÎÏ ÄÏ
-ÎÕÖÎÏÊ ×ÅÌÉÞÉÎÙ.
-.
-.TP
-.B "tsaf\ \ \ "
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÒÅÍÅÎÎÙÅ ÍÅÔËÉ ×ÓÅÍ ËÁÄÒÁÍ, ÅÓÌÉ ×ÏÚÍÏÖÎÏ; ÒÅËÏÍÅÎÄÕÅÔÓÑ ÐÒÉ format=dvd.
-åÓÌÉ dvdauthor ÖÁÌÕÅÔÓÑ Ó ÓÏÏÂÝÅÎÉÅÍ "..audio sector out of range...", ×Ù,
-×ÏÚÍÏÖÎÏ, ÚÁÂÙÌÉ ×ËÌÀÞÉÔØ ÜÔÕ ÏÐÃÉÀ.
-.
-.TP
-.B interleaving2
-éÓÐÏÌØÚÕÅÔ ÕÌÕÞÛÅÎÎÙÊ ÁÌÇÏÒÉÔÍ ÄÌÑ ÐÅÒÅÍÅÖÅÎÉÑ ÁÕÄÉÏ É ×ÉÄÅÏ ÐÁËÅÔÏ×, ÏÓÎÏ×ÁÎÎÙÊ
-ÎÁ ÐÒÉÎÃÉÐÅ ÍÁËÓÉÍÁÌØÎÏÇÏ ÚÁÐÏÌÎÅÎÉÑ ÍÕÌØÔÉÐÌÅËÓÏÒÏÍ ÐÏÔÏËÁ Ó ÎÁÉÂÏÌØÛÉÍ
-ÐÒÏÃÅÎÔÏÍ Ó×ÏÂÏÄÎÏÇÏ ÍÅÓÔÁ.
-.
-.TP
-.B vdelay=<1\-32760>
-÷ÅÌÉÞÉÎÁ ÎÁÞÁÌØÎÏÊ ÚÁÄÅÒÖËÉ ×ÉÄÅÏ, × ÍÉÌÌÉÓÅËÕÎÄÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0),
-ÉÓÐÏÌØÚÕÊÔÅ ÜÔÕ ÏÐÃÉÀ, ÅÓÌÉ ÈÏÔÉÔÅ ÚÁÄÅÒÖÁÔØ ×ÉÄÅÏ ÏÔÎÏÓÉÔÅÌØÎÏ Ú×ÕËÁ.
-îÅ ÒÁÂÏÔÁÅÔ Ó :drop.
-.
-.TP
-.B adelay=<1\-32760>
-÷ÅÌÉÞÉÎÁ ÎÁÞÁÌØÎÏÊ ÚÁÄÅÒÖËÉ Ú×ÕËÁ, × ÍÉÌÌÉÓÅËÕÎÄÁÈ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0),
-ÉÓÐÏÌØÚÕÊÔÅ ÜÔÕ ÏÐÃÉÀ, ÅÓÌÉ ÈÏÔÉÔÅ ÚÁÄÅÒÖÁÔØ Ú×ÕË ÏÔÎÏÓÉÔÅÌØÎÏ ×ÉÄÅÏ.
-.
-.TP
-.B "drop\ \ \ "
-ëÏÇÄÁ ÉÓÐÏÌØÚÕÅÔÓÑ Ó vdelay, ÍÕÌØÔÉÐÌÅËÓÏÒ ×ÙÂÒÁÓÙ×ÁÅÔ ÏÐÅÒÅÖÁÀÝÕÀ
-×ÉÄÅÏ ÞÁÓÔØ Ú×ÕËÁ.
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÛÉÒÉÎÕ É ×ÙÓÏÔÕ ×ÉÄÅÏ, ÅÓÌÉ ÜÔÏ MPEG\-1/2.
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ "pan and scan" ÛÉÒÉÎÕ É ×ÙÓÏÔÕ ×ÉÄÅÏ, ÅÓÌÉ ÜÔÏ MPEG\-2.
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÏÐÏÒÃÉÉ ÏÔÏÂÒÁÖÅÎÉÑ ÄÌÑ MPEG\-2 ×ÉÄÅÏ.
-îÅ ÉÓÐÏÌØÚÕÊÔÅ ÅÅ ÄÌÑ MPEG\-1 ÉÌÉ ÒÅÚÕÌØÔÉÒÕÀÝÉÅ ÐÒÏÐÏÒÃÉÉ ÂÕÄÕÔ
-ÁÂÓÏÌÀÔÎÏ ÎÅ×ÅÒÎÙÍÉ.
-.
-.TP
-.B vbitrate=<ÃÅÌÏÅ>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÅÌÉÞÉÎÕ ×ÉÄÅÏ ÂÉÔÐÏÔÏËÁ × ËÂÉÔ/Ó ÄÌÑ MPEG\-1/2.
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÞÁÓÔÏÔÕ ËÁÄÒÏ× ÄÌÑ MPEG\-1/2.
-üÔÁ ÏÐÃÉÑ ÂÕÄÅÔ ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÁ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ×ÍÅÓÔÅ Ó telecine.
-.
-.TP
-.B telecine
-÷ËÌÀÞÁÅÔ 3:2 ÐÕÌÄÁÕÎ ÒÅÖÉÍ ÍÑÇËÏÇÏ ÔÅÌÅÓÉÎÁ: ÍÕÌØÔÐÌÅËÓÏÒ
-ÓÄÅÌÁÅÔ ÐÏÔÏË ÐÏÈÏÖÉÍ ÎÁ ËÏÄÉÒÏ×ÁÎÎÙÊ Ó 30000/1001 fps.
-òÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó MPEG\-2 ×ÉÄÅÏ, ËÏÇÄÁ ÞÁÓÔÏÔÁ ËÁÄÒÏ× ÎÁ ×ÙÈÏÄÅ
-ÒÁ×ÎÁ 20000/1001, ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÐÒÅÏÂÒÁÚÕÊÔÅ ÅÅ ÏÐÃÉÅÊ \-ofps.
-ìÀÂÙÅ ÄÒÕÇÉÅ ÞÁÓÔÏÔÙ ËÁÄÒÏ× ÎÅÓÏ×ÍÅÓÔÉÍÙ Ó ÜÔÏÊ ÏÐÃÉÅÊ.
-.
-.TP
-.B film2pal
-÷ËÌÀÞÁÅÔ FILM × PAL É NTSC × PAL ÒÅÖÉÍ ÍÑÇËÏÇÏ ÔÅÌÅÓÉÎÁ: ÍÕÌØÔÉÐÌÅËÓÏÒ
-ÓÄÅÌÁÅÔ ×ÉÄÅÏ ÐÏÔÏË ÐÏÈÏÖÉÍ ÎÁ ËÏÄÉÒÏ×ÁÎÎÙÊ Ó 25 fps.
-òÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó MPEG\-2 ×ÉÄÅÏ, ËÏÇÄÁ ÞÁÓÔÏÔÁ ËÁÄÒÏ× ÎÁ ×ÙÈÏÄÅ
-ÒÁ×ÎÁ 24000/1001, ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÐÒÅÏÂÒÁÚÕÊÔÅ ÅÅ ÏÐÃÉÅÊ \-ofps.
-ìÀÂÙÅ ÄÒÕÇÉÅ ÞÁÓÔÏÔÙ ËÁÄÒÏ× ÎÅÓÏ×ÍÅÓÔÉÍÙ Ó ÜÔÏÊ ÏÐÃÉÅÊ.
-.
-.TP
-.B tele_src É tele_dest
-÷ËÌÀÞÁÅÔ ÐÒÏÃÅÓÓ ÐÒÏÉÚ×ÏÌØÎÏÇÏ ÔÅÌÅÓÉÎÁ, ÉÓÐÏÌØÚÕÑ ËÏÄ DGPulldown
-äÏÎÁÌØÄÁ çÒÁÆÔÁ (Donand Graft). ÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÏÒÉÇÉÎÁÌØÎÕÀ É
-ÖÅÌÁÅÍÕÀ ÞÁÓÔÏÔÕ ËÁÄÒÏ×; ÍÕÌØÔÉÐÌÅËÓÏÒ ÓÄÅÌÁÅÔ ×ÉÄÅÏ ÐÏÔÏË ÐÏÈÏÖÉÍ
-ÎÁ ÚÁËÏÄÉÒÏ×ÁÎÎÙÊ Ó ÖÅÌÁÅÍÏÊ ÞÁÓÔÏÔÏÊ,
-ÚÁÍÅÎÑÑ ÎÏÍÉÎÁÌØÎÕÀ ×ÙÈÏÄÎÕÀ ÞÁÓÔÏÔÕ ËÁÄÒÏ×.
-òÁÂÏÔÁÅÔ ÔÏÌØËÏ Ó MPEG\-2, ËÏÇÄÁ ÞÁÓÔÏÔÁ ËÁÄÒÏ× ÎÁ ×ÈÏÄÅ ÍÅÎØÛÅ, ÞÅÍ ÎÁ ×ÙÈÏÄÅ,
-É Õ×ÅÌÉÞÅÎÉÅ ÞÁÓÔÏÔÙ <= 1.5.
-.sp 1
-.RS
-.I ðòéíåò
-.RE
-.PD 0
-.RSs
-.IPs tele_src=25:tele_dest=30000/1001.
-ôÅÌÅÓÉÎÁ PAL × NTSC:
-.RE
-.PD 1
-.
-.TP
-.B vbuf_size=<40\-1194>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ ÂÕÆÅÒÁ ×ÉÄÅÏ ÄÅËÏÄÅÒÁ, ×ÙÒÁÖÅÎÎÙÊ × ËÉÌÏÂÁÊÔÁÈ.
-õËÁÚÙ×ÁÊÔÅ, ÔÏÌØËÏ ÅÓÌÉ ÂÉÔÒÅÊÔ ×ÉÄÅÏ ÐÏÔÏËÁ ÓÌÉÛËÏÍ ×ÙÓÏË ÄÌÑ
-×ÙÂÒÁÎÎÏÇÏ ÆÏÒÍÁÔÁ, É ×Ù ÏÔÌÉÞÎÏ ÚÎÁÅÔÅ, ÞÔÏ ÄÅÌÁÅÔÅ.
-óÌÉÛËÏÍ ×ÙÓÏËÉÅ ÚÎÁÞÅÎÉÑ ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë ÎÅ×ÏÓÐÒÏÉÚ×ÏÄÉÍÏÓÔÉ ÆÉÌØÍÁ,
-ÜÔÏ ÚÁ×ÉÓÉÔ ÏÔ ×ÏÚÍÏÖÎÏÓÔÅÊ ÐÒÏÉÇÒÙ×ÁÔÅÌÑ.
-ðÒÉ ÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÉ HDTV ×ÉÄÅÏ ÄÏÌÖÎÏ ÂÙÔØ ÄÏÓÔÁÔÏÞÎÏ ÚÎÁÞÅÎÉÑ 400.
-.
-.TP
-.B abuf_size=<4\-64>
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÒÁÚÍÅÒ ÂÕÆÅÒÁ ÁÕÄÉÏ ÄÅËÏÄÅÒÁ, ×ÙÒÁÖÅÎÎÙÊ × ËÉÌÏÂÁÊÔÁÈ.
-ðÒÉÍÅÎÑÀÔÓÑ ÔÅ ÖÅ ÐÒÁ×ÉÌÁ, ÞÔÏ É ÄÌÑ vbuf_size.
-.
-.
-.SS äÅÍÕÌØÔÉÐÌÅËÓÏÒÙ FFmpeg libavformat (\-lavfdopts)
-.
-.TP
-.B analyzeduration=<ÚÎÁÞÅÎÉÅ>
-íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ (× ÓÅËÕÎÄÁÈ) ÞÁÓÔÉ, ÉÓÐÏÌØÚÕÅÍÏÊ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ
-Ó×ÏÊÓÔ× ÐÏÔÏËÁ.
-.
-.TP
-.B format=<ÚÎÁÞÅÎÉÅ>
-ðÒÉÎÕÄÉÔÅÌØÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕËÁÚÁÎÎÙÊ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒ libavformat.
-.
-.TP
-.B o=<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,...]]
-ðÅÒÅÄÁÔØ ËÌÀÞÉ AVOptions ÄÅÍÕÌØÔÉÐÌÅËÓÏÒÕ libavformat.
-ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÐÁÔÞ, ÄÅÌÁÀÝÉÊ o= ÎÅÎÕÖÎÙÍ É ÐÅÒÅÄÁÀÝÉÊ ×ÓÅ
-ÎÅÉÚ×ÅÓÔÎÙÅ ÐÁÒÁÍÅÔÒÙ ÞÅÒÅÚ ÓÉÓÔÅÍÕ AVOption, ÐÒÉ×ÅÔÓÔ×ÕÅÔÓÑ.
-ðÏÌÎÙÊ ÓÐÉÓÏË ÐÁÒÁÍÅÔÒÏ× AVOptions ÍÏÖÎÏ ÎÁÊÔÉ × ÒÕËÏ×ÏÄÓÔ×Å
-FFmpeg.
-ðÒÉÍÅÞÁÎÉÅ: ÎÅËÏÔÏÒÙÅ ÏÐÃÉÉ AVOptions ÍÏÇÕÔ ËÏÎÆÌÉËÔÏ×ÁÔØ Ó ÏÐÃÉÑÍÉ
-MEncoder.
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.PD 0
-.IPs o=ignidx
-.PD 1
-.RE
-.
-.TP
-.B probesize=<ÚÎÁÞÅÎÉÅ>
-íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÁÎÁÌÉÚÉÒÕÅÍÙÈ ÄÁÎÎÙÈ ÎÁ ÜÔÁÐÅ ÏÐÒÅÄÅÌÅÎÉÑ.
-÷ ÓÌÕÞÁÅ MPEG\-TS ÜÔÁ ×ÅÌÉÞÉÎÁ ÏÚÎÁÞÁÅÔ ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï
-ÓËÁÎÉÒÕÅÍÙÈ TS ÐÁËÅÔÏ×.
-.
-.TP
-.B cryptokey=<ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ_ÓÔÒÏËÁ>
-ëÌÀÞ ÛÉÆÒÏ×ÁÎÉÑ, ËÏÔÏÒÙÊ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÅÍÕÌØÔÉÐÌÅËÓÏÒ.
-üÔÏ ÓÙÒÙÅ ÂÉÎÁÒÎÙÅ ÄÁÎÎÙÅ ËÌÀÞÁ, ËÏÎ×ÅÒÔÉÒÏ×ÁÎÎÙÅ × ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÕÀ ÓÔÒÏËÕ.
-.
-.
-.
-.SS íÕÌØÔÉÐÌÅËÓÏÒÙ FFmpeg libavformat (\-lavfopts) (ÓÍÏÔÒÉÔÅ ÔÁËÖÅ \-of lavf)
-.
-.TP
-.B delay=<ÚÎÁÞÅÎÉÅ>
-îÁ ÔÅËÕÝÉÊ ÍÏÍÅÎÔ ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ MPEG[12]: íÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÏÅ ÏÔËÌÏÎÅÎÉÅ
-× ÓÅËÕÎÄÁÈ, ÍÅÖÄÕ ÔÁÊÍÅÒÏÍ ×ÙÈÏÄÎÏÇÏ ÐÏÔÏËÁ (SCR) É ×ÒÅÍÅÎÎÏÊ ÍÅÔËÏÊ
-ÄÅËÏÄÉÒÏ×ÁÎÉÑ (DTS) ÄÌÑ ÌÀÂÏÇÏ ÐÒÉÓÕÔÓÔ×ÕÀÝÅÇÏ ÐÏÔÏËÁ
-(ÚÁÄÅÒÖËÁ ÍÅÖÄÕ ÄÅËÏÄÉÒÏ×ÁÎÉÅÍ É ÄÅÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÅÍ).
-ÐÏ ÕÍÏÌÞÁÎÉÀ 0.7 (ÕÔ×ÅÒÖÄÅÎÏ MPEG ÓÔÁÎÄÁÒÔÁÍÉ).
-úÎÁÞÅÎÉÑ ÂÏÌØÛÅ ÜÔÏÇÏ ÔÒÅÂÕÀÔ ÂÏÌØÛÉÈ ÂÕÆÅÒÏ× É ÎÅ ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ.
-.
-.TP
-.B format=<ÆÏÒÍÁÔ_ËÏÎÔÅÊÎÅÒÁ>
-ðÅÒÅÏÐÒÅÄÅÌÑÅÔ ÆÏÒÍÁÔ, × ËÏÔÏÒÙÊ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÅ
-(ÐÏ ÕÍÏÌÞÁÎÉÀ: Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ ÐÏ ÒÁÓÛÉÒÅÎÉÀ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ).
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-ÓÉÓÔÅÍÙ MPEG\-1 É MPEG\-2 PS
-.IPs "asf\ \ "
-Advanced Streaming Format
-.IPs "avi\ \ "
-ÆÁÊÌ ÓÏ ÓÌÏÅÎÙÍÉ ÷ÉÄÅÏ É áÕÄÉÏ
-.IPs "wav\ \ "
-Waveform Audio
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-Macromedia Flash ×ÉÄÅÏ ÆÁÊÌÙ
-.IPs "rm\ \ \ "
-RealAudio É RealVideo
-.IPs "au\ \ \ "
-ÆÏÒÍÁÔ SUN AU
-.IPs "nut\ \ "
-ÆÏÒÍÁÔ ÏÔËÒÙÔÏÇÏ ËÏÎÔÅÊÎÅÒÁ NUT (ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÏÅ)
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-MPEG\-4 ÆÏÒÍÁÔ
-.IPs "ipod\ "
-MPEG\-4 ÆÏÒÍÁÔ Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÆÌÁÇÁÍÉ ÚÁÇÏÌÏ×ËÁ, ÎÅÏÂÈÏÄÉÍÙÍÉ
-ÄÌÑ ÐÒÏÛÉ×ËÉ Apple iPod.
-.IPs "dv\ \ \ "
-ëÏÎÔÅÊÎÅÒ Sony Digital Video
-.IPs "matroska\ \ \ "
-Matroska
-.RE
-.PD 1
-.TP
-.B muxrate=<ÐÏÔÏË>
-íÉÎÉÍÁÌØÎÙÊ ÂÉÔÏ×ÙÊ ÐÏÔÏË ÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÑ, × ÂÉÔ/Ó;
-× ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ MPEG[12].
-éÎÏÇÄÁ ÅÇÏ ÕËÁÚÁÎÉÅ ÎÅÏÂÈÏÄÉÍÏ ÄÌÑ ÉÚÂÁ×ÌÅÎÉÑ ÏÔ "buffer underflows".
-.
-.TP
-.B o=<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,<ËÌÀÞ>=<ÚÎÁÞÅÎÉÅ>[,...]]
-ðÅÒÅÄÁÔØ ËÌÀÞÉ AVOptions ÍÕÌØÔÉÐÌÅËÓÏÒÕ libavformat.
-ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÐÁÔÞ, ÄÅÌÁÀÝÉÊ o= ÎÅÎÕÖÎÙÍ É ÐÅÒÅÄÁÀÝÉÊ ×ÓÅ
-ÎÅÉÚ×ÅÓÔÎÙÅ ÐÁÒÁÍÅÔÒÙ ÞÅÒÅÚ ÓÉÓÔÅÍÕ AVOption, ÐÒÉ×ÅÔÓÔ×ÕÅÔÓÑ.
-ðÏÌÎÙÊ ÓÐÉÓÏË ÐÁÒÁÍÅÔÒÏ× AVOptions ÍÏÖÎÏ ÎÁÊÔÉ × ÒÕËÏ×ÏÄÓÔ×Å
-FFmpeg.
-ðÒÉÍÅÞÁÎÉÅ: ÎÅËÏÔÏÒÙÅ ÏÐÃÉÉ AVOptions ÍÏÇÕÔ ËÏÎÆÌÉËÔÏ×ÁÔØ Ó ÏÐÃÉÑÍÉ
-MEncoder.
-.sp 1
-.RS
-.I ðòéíåò:
-.RE
-.RSs
-.PD 0
-.IPs o=packetsize=100
-.PD 1
-.RE
-.
-.TP
-.B packetsize=<ÒÁÚÍÅÒ>
-.\" FIXME better translation
-òÁÚÍÅÒ, ×ÙÒÁÖÅÎÎÙÊ × ÂÁÊÔÁÈ, ÁÔÏÍÁÒÎÏÇÏ[unitary] ÐÁËÅÔÁ ÄÌÑ ×ÙÂÒÁÎÎÏÇÏ ÆÏÒÍÁÔÁ.
-ðÒÉ ÓÖÁÔÉÉ × MPEG[12] ÉÓÐÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ:
-2324 ÄÌÑ [S]VCD, 2048 ÄÌÑ ×ÓÅÈ ÏÓÔÁÌØÎÙÈ ÆÏÒÍÁÔÏ×.
-.
-.TP
-.B preload=<ÚÁÄÅÒÖËÁ>
-îÁ ÔÅËÕÝÉÊ ÍÏÍÅÎÔ ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ MPEG[12]: îÁÞÁÌØÎÁÑ ÒÁÚÎÉÃÁ,
-× ÓÅËÕÎÄÁÈ, ÍÅÖÄÕ ÚÎÁÞÅÎÉÅÍ ÔÁÊÍÅÒÁ ×ÙÈÏÄÎÏÇÏ ÐÏÔÏËÁ (SCR) É ×ÒÅÍÅÎÎÏÊ ÍÅÔËÏÊ
-ÄÅËÏÄÉÒÏ×ÁÎÉÑ (DTS) ÄÌÑ ÌÀÂÏÇÏ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÐÏÔÏËÁ (ÚÁÄÅÒÖËÁ ÍÅÖÄÕ ÄÅËÏÄÉÒÏ×ÁÎÉÅÍ
-É ÄÅÍÕÌØÔÉÐÌÅËÓÉÒÏ×ÁÎÉÅÍ).
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ
-.\" --------------------------------------------------------------------------
-.
-.SH ðåòåíåîîùå ïëòõöåîéñ
-.
-óÕÝÅÓÔ×ÕÀÔ ÎÅËÏÔÏÒÙÅ ÐÅÒÅÍÅÎÎÙÅ ÏËÒÕÖÅÎÉÑ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ
-ÐÏ×ÅÄÅÎÉÅÍ MPlayer é MEncoder.
-.
-.TP
-.B MPLAYER_CHARSET (ÔÁËÖÅ ÓÍÏÔÒÉÔÅ \-msgcharset)
-ðÒÅÏÂÒÁÚÏ×Ù×ÁÔØ ÓÏÏÂÝÅÎÉÑ ËÏÎÓÏÌÉ × ÕËÁÚÁÎÎÕÀ ËÏÄÉÒÏ×ËÕ (ÐÏ ÕÍÏÌÞÁÎÉÀ: Á×ÔÏÏÐÒÅÄÅÌÅÎÉÅ).
-úÎÁÞÅÎÉÅ "noconv" ÏÚÎÁÞÁÅÔ ÏÔÓÕÔÓÔ×ÉÅ ÐÅÒÅËÏÄÉÒÏ×ËÉ.
-.
-.TP
-.B MPLAYER_HOME
-ëÁÔÁÌÏÇ, × ËÏÔÏÒÏÍ MPlayer ÉÝÅÔ ÎÁÓÔÒÏÊËÉ ÐÏÌØÚÏ×ÁÔÅÌÑ.
-.
-.TP
-.B MPLAYER_VERBOSE (ÔÁËÖÅ ÓÍÏÔÒÉÔÅ \-v É \-msglevel)
-õËÁÚÙ×ÁÅÔ ÎÁÞÁÌØÎÙÊ ÕÒÏ×ÅÎØ ÐÏÄÒÏÂÎÏÓÔÉ ÓÏÏÂÝÅÎÉÊ ÄÌÑ ×ÓÅÈ
-ÍÏÄÕÌÅÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ: 0).
-òÅÚÕÌØÔÉÒÕÀÝÅÅ ÚÎÁÞÅÎÉÅ ÕÒÏ×ÎÑ ÐÏÄÒÏÂÎÏÓÔÉ ÒÁ×ÎÏ ÔÁËÏ×ÏÍÕ ÐÒÉ \-msglevel 5
-ÐÌÀÓ ÚÎÁÞÅÎÉÅ MPLAYER_VERBOSE.
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-åÓÌÉ LADSPA_PATH ÕÓÔÁÎÏ×ÌÅÎÁ, ÐÒÏÉÚ×ÏÄÉÔÓÑ ÐÏÉÓË ÕËÁÚÁÎÎÏÇÏ ÆÁÊÌÁ. åÓÌÉ ÎÅ
-ÕÓÔÁÎÏ×ÌÅÎÁ, ×ÁÍ ÐÒÉÄÅÔÓÑ ÕËÁÚÁÔØ ÐÏÌÎÙÊ ÐÕÔØ.
-FIXME: ï ÜÔÏÍ ÔÁËÖÅ ÕÐÏÍÉÎÁÅÔÓÑ × ÒÁÚÄÅÌÅ ladspa.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-õËÁÚÙ×ÁÅÔ ËÁÔÁÌÏÇ, ÈÒÁÎÑÝÉÊ ËÌÀÞÉ ÒÏÌÉËÏ×.
-üÔÏ ÕÓËÏÒÑÅÔ ÒÁÓÛÉÆÒÏ×ËÕ[descrambling] DVD, ÎÁÈÏÄÑÝÉÈÓÑ × ËÅÛÅ.
-ëÁÔÁÌÏÇ DVDCSS_CACHE ÂÕÄÅÔ ÓÏÚÄÁÎ, ÅÓÌÉ ÎÅ ÓÕÝÅÓÔ×Ï×ÁÌ,
-Á ÔËÁÖÅ ÐÏÄËÁÔÁÌÏÇ Ó ÎÁÚ×ÁÎÉÅÍ DVD ÒÏÌÉËÁ ÉÌÉ ÄÁÔÙ ÉÚÇÏÔÏ×ÌÅÎÉÑ.
-åÓÌÉ DVDCSS_CACHE ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÉÌÉ ÐÕÓÔÁ, libdvdcss ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ
-ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÒÁ×ÎÏÅ "${HOME}/.dvdcss/" ÐÏÄ Unix É
-"C:\\Documents and Settings\\$USER\\Application Data\\dvdcss\\" ÐÏÄ Win32.
-óÐÅÃÉÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ "off" ÏÔËÌÀÞÁÅÔ ËÅÛÉÒÏ×ÁÎÉÅ.
-.
-.TP
-.B DVDCSS_METHOD
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÅÔÏÄÙ ÁÕÔÅÎÔÉËÁÃÉÉ É ÄÅÛÉÆÒÏ×ËÉ, ËÏÔÏÒÙÅ
-libdvdcss ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÞÔÅÎÉÑ ÛÉÆÒÏ×ÁÎÎÙÈ[scrambled] ÄÉÓËÏ×.
-íÏÖÅÔ ÐÒÉÎÉÍÁÔØ ÚÎÁÞÅÎÉÑ title, key or disc.
-.PD 0
-.RSs
-.IPs "key\ \ "
-ÜÔÏ ÍÅÔÏÄ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-libdvdcss ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁÂÏÒ ÒÁÓÓÞÉÔÁÎÎÙÈ ËÌÀÞÅÊ ÐÒÏÉÇÒÙ×ÁÔÅÌÅÊ,
-ÞÔÏÂÙ ÐÏÐÒÏÂÏ×ÁÔØ É ÐÏÌÕÞÉÔØ ËÌÀÞ ÄÉÓËÁ.
-üÔÏ ÍÏÖÅÔ ÎÅ ÓÒÁÂÏÔÁÔØ, ÅÓÌÉ ÕÓÔÒÏÊÓÔ×Ï ÎÅ ÒÁÓÐÏÚÎÁÅÔ ÎÉ ÏÄÉÎ ÉÚ ËÌÀÞÅÊ
-ÐÒÏÉÇÒÙ×ÁÔÅÌÅÊ.
-.IPs "disc\ "
-ÜÔÏ Á×ÁÒÉÊÎÙÊ ÍÅÔÏÄ, ËÏÇÄÁ ÐÒÅÄÙÄÕÝÉÊ ÎÅ ÓÐÒÁ×ÉÌÓÑ.
-÷ÍÅÓÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÌÀÞÅÊ ÐÒÏÉÇÒÙ×ÁÔÅÌÅÊ, libdvdcss ×ÚÌÏÍÁÅÔ ËÌÀÞ
-ÄÉÓËÁ ÉÓÐÏÌØÚÕÑ ÇÒÕÂÙÊ ÍÅÔÏÄ ×ÚÌÏÍÁ. üÔÏÔ ÐÒÏÃÅÓÓ ÔÒÅÂÏ×ÁÔÅÌÅÎ Ë CPU
-É ÔÒÅÂÕÅÔ 64í ÐÁÍÑÔÉ ÄÌÑ ÈÒÁÎÅÎÉÑ ×ÒÅÍÅÎÎÙÈ ÄÁÎÎÙÈ.
-.IPs title
-ÜÔÏ Á×ÁÒÉÊÎÙÊ ÍÅÔÏÄ, ÅÓÌÉ ÎÉ ÏÄÉÎ ÉÚ ÐÒÅÄÙÄÕÝÉÈ ÎÅ ÓÒÁÂÏÔÁÌ.
-ïÎ ÎÉËÁË ÎÅ Ó×ÑÚÁÎ Ó ÏÂÍÅÎÏÍ ËÌÀÞÁÍÉ Ó ÕÓÔÒÏÊÓÔ×ÏÍ DVD, ÎÏ ×ÍÅÓÔÏ ÜÔÏÇÏ
-ÉÓÐÏÌØÚÕÅÔ ËÒÉÐÔÏ ÁÔÁËÕ, ÄÌÑ ÕÇÁÄÙ×ÁÎÉÀ ËÌÀÞÁ ÒÏÌÉËÁ.
-÷ ÉÓËÌÀÞÉÔÅÌØÎÙÈ ÓÌÕÞÁÑÈ É ÏÎ ÍÏÖÅÔ ÚÁ×ÅÒÛÉÔØÓÑ ÎÅÕÄÁÞÎÏ, ÐÏ ÐÒÉÞÉÎÅ
-ÎÅÈ×ÁÔËÉ ÛÉÆÒÏ×ÁÎÎÙÈ ÄÁÎÎÙÈ ÄÌÑ ÏÓÕÝÅÓÔ×ÌÅÎÉÑ ÓÔÁÔÉÓÔÉÞÅÓËÏÊ ÁÔÁËÉ,
-ÎÏ, Ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ÜÔÏ ÅÄÉÎÓÔ×ÅÎÎÙÊ ÓÐÏÓÏ ÒÁÓÛÉÆÒÏ×ÁÔØ DVD,
-ÓÏÈÒÁÎÅÎÎÙÊ ÎÁ ÖÅÓÔËÉÊ ÄÉÓË, ÉÌÉ Ó ÎÅÐÒÁ×ÉÌØÎÙÍ ÒÅÇÉÏÎÏÍ ÎÁ RPC2 ÕÓÔÒÏÊÓÔ×Å.
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-õËÁÚÙ×ÁÅÔ "ÓÙÒÏÅ"[raw] ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ.
-ëÏÎËÒÅÔÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÂÕÄÅÔ ÚÁ×ÉÓÅÔØ ÏÔ ×ÁÛÅÊ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ,
-× Linux ÕÔÉÌÉÔÏÊ ÄÌÑ ÎÁÓÔÒÏÊËÉ "ÓÙÒÙÈ" ÕÓÔÒÏÊÓÔ× Ñ×ÌÑÅÔÓÑ raw(8).
-úÁÍÅÔØÔÅ, ÞÔÏ ÎÁ ÂÏÌØÛÉÎÓÔ×Å ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍ, ÉÓÐÏÌØÚÏ×ÁÎÉÅ
-"ÓÙÒÏÇÏ" ÕÓÔÒÏÊÓÔ×Á ÔÒÅÂÕÅÔ ÈÏÒÏÛÏ ×ÙÒÏ×ÎÅÎÎÙÈ[highly aligned] ÂÕÆÅÒÏ×:
-Linux ÔÒÅÂÕÅÔ ×ÙÒÁ×ÎÉ×ÁÎÉÑ ÎÁ 2048 ÂÁÊÔ (ÞÔÏ ÒÁ×ÎÑÅÔÓÑ ÒÁÚÍÅÒÕ ÓÅËÔÏÒÁ DVD).
-.
-.TP
-.B DVDCSS_VERBOSE
-õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÒÏ×ÅÎØ ÐÏÄÒÏÂÎÏÓÔÉ ÓÏÏÂÝÅÎÉÊ libdvdcss.
-.PD 0
-.RSs
-.IPs 0
-÷ÏÏÂÝÅ ÎÅ ×Ù×ÏÄÉÔØ ÓÏÏÂÝÅÎÉÑ.
-.IPs 1
-÷Ù×ÏÄÉÔØ ÏÛÉÂËÉ × stderr.
-.IPs 2
-÷Ù×ÏÄÉÔØ ÏÛÉÂËÉ É ÓÏÏÂÝÅÎÉÑ ÏÔÌÁÄËÉ × stderr.
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-ðÒÏÐÕÓÔÉÔØ ÐÏÌÕÞÅÎÉÅ ×ÓÅÈ ËÌÀÞÅÊ ÐÒÉ ÚÁÐÕÓËÅ.
-÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÏÔËÌÀÞÅÎÏ.
-.
-.TP
-.B HOME
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B AUDIODEV
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B AUDIOSERVER
-õËÁÚÙ×ÁÅÔ Network Audio System ÓÅÒ×ÅÒ Ë ËÏÔÏÒÏÍÕ ÄÒÁÊ×ÅÒ ×Ù×ÏÄÁ nat
-ÄÏÌÖÅÎ ÐÒÉÓÏÅÄÉÎÉÔØÓÑ É ÔÒÁÎÓÐÏÒÔ,ËÏÔÏÒÙÊ ÄÏÌÖÅÎ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ.
-åÓÌÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ, ×ÍÅÓÔÏ ÎÅÅ ÉÓÐÏÌØÚÕÅÔÓÑ DISPLAY.
-ôÒÁÎÓÐÏÒÔ ÍÏÖÅÔ ÂÙÔØ tcp ÉÌÉ unix.
-óÉÎÔÁËÓÉÓ: tcp/<ÎÅËÉÊ_ÈÏÓÔ>:<ÎÅËÉÊ_ÐÏÒÔ>, <ÎÅËÉÊ_ÈÏÓÔ>:<ÎÏÍÅÒ_ÜËÚÅÍÐÌÑÒÁ>
-ÉÌÉ [unix]:<ÎÏÍÅÒ_ÜËÚÅÍÐÌÑÒÁ>.
-ïÓÎÏ×ÎÏÊ ÐÏÒÔ NAS \- 8000 É <ÎÏÍÅÒ_ÜËÚÅÍÐÌÑÒÁ> ÄÏÂÁ×ÌÑÅÔÓÑ Ë ÎÅÍÕ.
-.sp 1
-.RS
-.I ðòéíåòù:
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=somehost:0
-ðÒÉÓÏÅÄÉÎÅÎÉÅ Ë NAS ÓÅÒ×ÅÒÕ ÎÁ somehost, ÉÓÐÏÌØÚÕÑ ÏÐÒÔ É ÔÒÁÎÓÐÏÒÔ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-.IPs AUDIOSERVER=tcp/somehost:8000
-ðÒÉÓÏÅÄÉÎÅÎÉÅ Ë NAS ÓÅÒ×ÅÒÕ ÎÁ somehost, ÓÌÕÛÁÀÝÅÍÕ TCP ÐÏÒÔ 8000.
-.IPs AUDIOSERVER=(unix)?:0
-ðÒÉÓÏÅÄÉÎÅÎÉÑ Ë NAS ÓÅÒ×ÅÒÕ, ÜËÚÅÍÐÌÑÒ 0 ÎÁ localhost ÉÓÐÏÌØÚÕÑ unix ÓÏËÅÔÙ.
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B VIDIXIVTVALPHA
-.\" FIXME: is translation for "alphablending" correct?
-õÓÔÁÎÏ×ÉÔŠţ × 'disable' ÄÌÑ ÏÔËÌÀÞÅÎÉÑ ËÏÎÔÒÏÌÑ ÎÁÓÔÒÏÅË ËÁÎÁÌÁ
-ÐÒÏÚÒÁÞÎÏÓÔÉ ÄÒÁÊ×ÅÒÏÍ VIDIX.
-÷Ù ÍÏÖÅÔÅ ÕÐÒÁ×ÌÑÔØ ÉÍÉ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ ÐÒÉ ÐÏÍÏÝÉ 'ivtvfbctl'.
-.
-.SS osdep:
-.
-.TP
-.B TERM
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B FRAMEBUFFER
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B HOME
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B HOMEPATH
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B http_proxy
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B LOGNAME
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B USERPROFILE
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B DISPLAY
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B HOME
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B BKTR_DEV
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B BKTR_FORMAT
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B BKTR_FREQUENCY
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B http_proxy
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.TP
-.B no_proxy
-FIXME: ïÐÉÓÁÔØ ÜÔÏ.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" æÁÊÌÙ
-.\" --------------------------------------------------------------------------
-.
-.SH æáêìù
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-ïÂÝÅÓÉÓÔÅÍÎÙÅ ÎÁÓÔÒÏÊËÉ MPlayer
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mencoder.conf
-ïÂÝÅÓÉÓÔÅÍÎÙÅ ÎÁÓÔÒÏÊËÉ MEncoder
-.
-.TP
-~/.mplayer/\:config
-ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÎÁÓÔÒÏÊËÉ MPlayer
-.
-.TP
-~/.mplayer/\:mencoder.conf
-ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÎÁÓÔÒÏÊËÉ MEncoder
-.
-.TP
-~/.mplayer/\:input.conf
-ðÒÉ×ÑÚËÉ ËÌÁ×ÉÛ (ÓÍÏÔÒÉÔÅ '\-input keylist' ÄÌÑ ÐÏÌÎÏÇÏ ÓÐÉÓËÁ)
-.
-.TP
-~/.mplayer/\:gui.conf
-æÁÊÌ ÎÁÓÔÒÏÊËÉ GUI
-.
-.TP
-~/.mplayer/\:gui.pl
-óÐÉÓÏË ×ÏÓÐÒÏÉÚ×ÅÄÅÎÉÑ GUI
-.
-.TP
-~/.mplayer/\:font/
-ëÁÔÁÌÏÇ ÛÒÉÆÔÏ× (÷ ÎÅÍ ÄÏÌÖÅÎ ÎÁÈÏÄÉÔØÓÑ ÆÁÊÌ font.desc É ÆÁÊÌÙ Ó ÒÁÓÛÉÒÅÎÉÅÍ .RAW)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-ëÅÛÉÒÏ×ÁÎÎÙÅ ËÌÀÞÉ CSS
-.
-.TP
-ðÒÅÄÐÏÌÁÇÁÑ, ÞÔÏ ÐÒÏÉÇÒÙ×ÁÅÔÓÑ ÆÁÊÌ /path/\:to/\:movie.avi, MPlayer ÉÝÅÔ
-ÆÁÊÌÙ Ó ÓÕÂÔÉÔÒÁÍÉ × ÓÌÅÄÕÀÝÅÍ ÐÏÒÑÄËÅ:
-.RS
-/path/\:to/\:movie.sub
-.br
-~/.mplayer/\:sub/\:movie.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" ðÒÉÍÅÒÙ
-.\" --------------------------------------------------------------------------
-.
-.SH ðòéíåòù éóðïìøúï÷áîéñ MPLAYER
-.
-.PP
-.B âÙÓÔÒÙÊ ÓÔÁÒÔ ÐÒÏÉÇÒÙ×ÁÎÉÑ DVD:
-.nf
-mplayer dvd://1
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÁÔØ DVD ÎÁ ñÐÏÎÓËÏÍ Ó áÎÇÌÉÊÓËÉÍÉ ÓÕÂÔÉÔÒÁÍÉ:
-.nf
-mplayer dvd://1 \-alang ja \-slang en
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÁÔØ ÔÏÌØËÏ ÜÐÉÚÏÄÙ 5, 6, 7:
-.nf
-mplayer dvd://1 \-chapter 5\-7
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÁÔØ ÔÏÌØËÏ ÚÁÇÏÌÏ×ËÉ 5, 6, 7:
-.nf
-mplayer dvd://5\-7
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÁÔØ multiangle DVD:
-.nf
-mplayer dvd://1 \-dvdangle 2
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÁÔØ Ó ÄÒÕÇÏÇÏ DVD ÕÓÔÒÏÊÓÔ×Á:
-.nf
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÁÔØ DVD ×ÉÄÅÏ ÉÚ ÐÁÐËÉ, ÓÏÄÅÒÖÁÝÅÊ VOB ÆÁÊÌÙ:
-.nf
-mplayer dvd://1 \-dvd\-device /path/\:to/\:directory/
-.fi
-.
-.PP
-.B ëÏÐÉÒÏ×ÁÔØ DVD ÚÁÇÏÌÏ×ÏË ÎÁ ÖÅÓÔËÉÊ ÄÉÓË, ÓÏÈÒÁÎÑÑ × ÆÁÊÌ "title1.vob":
-.nf
-mplayer dvd://1 \-dumpstream \-dumpfile title1.vob
-.fi
-.
-.PP
-.B ÷ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ DVD Ó ÐÏÍÏÝØÀ dvdnav ÉÚ /dev/sr1:
-.nf
-mplayer dvdnav:////dev/sr1
-.fi
-.
-.PP
-.B ðÏÔÏË ÐÏ HTTP:
-.nf
-mplayer http://mplayer.hq/example.avi
-.fi
-.
-.PP
-.B ðÏÔÏË, ÉÓÐÏÌØÚÕÑ RTSP:
-.nf
-mplayer rtsp://server.example.com/streamName
-.fi
-.
-.PP
-.B ðÒÅÏÂÒÁÚÏ×ÁÔØ ÓÕÂÔÉÔÒÙ × ÆÏÒÍÁÔ MPsub:
-.nf
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B ðÒÅÏÂÒÁÚÏ×ÁÔØ ÓÕÂÔÉÔÒÙ × ÆÏÒÍÁÔ MPsub ÂÅÚ ÐÒÏÓÍÏÔÒÁ ÆÉÌØÍÁ:
-.nf
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null \-vo null \-noframedrop \-benchmark \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B ÓÏ ×ÈÏÄÁ ÓÔÁÎÄÁÒÔÎÏÇÏ V4L:
-.nf
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420 \-vo xv
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÙ×ÁÎÉÅ ÎÁ ËÁÒÔÁÈ Zoran (ÓÔÁÒÙÊ ÓÐÏÓÏÂ, ÕÓÔÁÒÅÌ):
-.nf
-mplayer \-vo zr \-vf scale=352:288 file.avi
-.fi
-.
-.PP
-.B ðÒÏÉÇÒÙ×ÁÎÉÅ ÎÁ ËÁÒÔÁÈ Zoran (ÎÏ×ÙÊ ÓÐÏÓÏÂ):
-.nf
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi
-.fi
-.
-.PP
-.B ÷ÏÓÐÒÏÉÚ×ÅÄÅÎÉÅ DTS\-CD Ó ÔÒÁÎÚÉÔÎÏÊ ÐÅÒÅÄÁÞÅÊ:
-.nf
-mplayer \-ac hwdts \-rawaudio format=0x2001 \-cdrom\-device /dev/cdrom cdda://
-.fi
-.br
-÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ \-afm hwac3 ×ÍÅÓÔÏ \-ac hwdts.
-éÓÐÒÁרÔÅ '/dev/cdrom' ÎÁ ÉÍÑ CD\-ROM ÕÓÔÒÏÊÓÔ×Á × ×ÁÛÅÊ ÓÉÓÔÅÍÅ.
-åÓÌÉ ×ÁÛ ×ÎÅÛÎÉÊ ÒÅÓÉ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÅËÏÄÉÒÏ×ÁÎÉÅ ÓÙÒÙÈ DTS ÐÏÔÏËÏ×,
-×Ù ÍÏÖÅÔÅ ×ÏÓÐÒÏÉÚ×ÏÄÉÔØ ÉÈ ÎÁÐÒÑÍÕÀ ÞÅÒÅÚ cdda://, ÎÅ ÕËÁÚÙ×ÁÑ
-format, hwac3 ÉÌÉ hwdts.
-.
-.PP
-.B ðÒÏÉÇÒÁÔØ 6\-ÔÉ ËÁÎÁÌØÎÙÊ AAC ÆÁÊÌ ÎÁ Ä×ÕÈ ËÏÌÏÎËÁÈ:
-.nf
-mplayer \-rawaudio format=0xff \-demuxer rawaudio \-af pan=2:.32:.32:.39:.06:.06:.39:.17:\-.17:\-.17:.17:.33:.33 adts_he\-aac160_51.aac
-.fi
-.br
-÷Ù ÍÏÖÅÔÅ ÎÅÍÎÏÇÏ ÐÏÜËÓÐÅÒÉÍÅÎÔÉÒÏ×ÁÔØ ÓÏ ÚÎÁÞÅÎÉÑÍÉ pan (ÎÁÐÒÉÍÅÒ, ÕÍÎÏÖÉÔØ ÎÁ ÎÅËÏÔÏÒÕÀ
-×ÅÌÉÞÉÎÕ), ÞÔÏÂÙ Õ×ÅÌÉÞÉÔØ ÇÒÏÍËÏÓÔØ ÉÌÉ ÉÚÂÅÖÁÔØ ÏÂÒÅÚÁÎÉÑ Ú×ÕËÁ.
-.
-.PP
-.B ÉÎ×ÅÒÔÉÒÏ×ÁÎÉÅ ÉÚÏÂÒÁÖÅÎÉÑ × ÛÁÈÍÁÔÎÏÍ ÐÏÒÑÄËÅ ÐÒÉ ÐÏÍÏÝÉ ÆÉÌØÔÒÁ geq:
-.nf
-mplayer \-vf geq='128+(p(X\\,Y)\-128)*(0.5\-gt(mod(X/SW\\,128)\\,64))*(0.5\-gt(mod(Y/SH\\,128)\\,64))*4'
-.fi
-.
-.
-.SH ðòéíåòù éóðïìøúï÷áîéñ MENCODER
-.
-.PP
-.B ëÏÄÉÒÏ×ÁÔØ DVD ÚÁÇÏÌÏ×ÏË #2, ÔÏÌØËÏ ÕËÁÚÁÎÎÙÅ ÜÐÉÚÏÄÙ:
-.nf
-mencoder dvd://2 \-chapter 10\-15 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B ëÏÄÉÒÏ×ÁÔØ DVD ÚÁÇÏÌÏ×ÏË #2, ÍÁÓÛÔÁÂÉÒÕÑ ÄÏ 640x480:
-.nf
-mencoder dvd://2 \-vf scale=640:480 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B ËÏÄÉÒÏ×ÁÔØ DVD ÚÁÇÏÌÏ×ÏË #2, ÍÁÓÛÔÁÂÉÒÕÑ ÄÏ 512xHHH (ÓÏÈÒÁÎÑÑ ÐÒÏÐÏÒÃÉÉ):
-.nf
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B ôÏ ÖÅ, ÎÏ Ó ÂÉÔÒÅÊÔÏÍ ÕÓÔÁÎÏ×ÌÅÎÎÙÍ × 1800kbit É ÏÐÔÉÍÉÚÉÒÏ×ÁÎÎÙÍÉ ÍÁËÒÏÂÌÏËÁÍÉ:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B ôÏ ÖÅ, ÎÏ Ó MJPEG ÓÖÁÔÉÅÍ:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B ëÏÄÉÒÏ×ÁÔØ ×ÓÅ *.jpg ÆÁÊÌÙ × ÔÅËÕÝÅÍ ËÁÔÁÌÏÇÅ:
-.nf
-mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B ëÏÄÉÒÏ×ÁÔØ Ó ÔÀÎÅÒÁ (ÕËÁÚÙ×ÁÊÔÅ ÆÏÒÍÁÔ ÐÒÉ ÐÏÍÏÝÉ \-vf ÆÏÒÍÁÔ):
-.nf
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.fi
-.
-.PP
-.B ëÏÄÉÒÏ×ÁÔØ ÉÚ ËÁÎÁÌÁ (pipe):
-.nf
-rar p test\-SVCD.rar | mencoder \-ovc lavc \-lavcopts vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.fi
-.
-.
-.\" --------------------------------------------------------------------------
-.\" ïÛÉÂËÉ, Á×ÔÏÒÙ, ÓÔÁÎÄÁÒÔÎÏÅ Õ×ÅÄÏÍÌÅÎÉÅ
-.\" --------------------------------------------------------------------------
-.
-.SH ïûéâëé
-îÅ ÐÁÎÉËÕÊÔÅ.
-åÓÌÉ ×Ù ÎÁÛÌÉ ÉÈ, ÓÏÏÂÝÉÔÅ Ï ÜÔÏÍ ÎÁÍ, ÎÏ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ ÕÂÅÄÉÔÅÓØ, ÞÔÏ ÐÒÏÞÌÉ ×ÓÀ ÄÏËÕÍÅÎÔÁÃÉÀ.
-ôÁËÖÅ ÏÂÒÁÝÁÊÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÓÍÁÊÌÉËÉ. :)
-íÎÏÇÉÅ ÏÛÉÂËÉ \- ÒÅÚÕÌØÔÁÔ ÎÅËÏÒÒÅËÔÎÏÊ ÎÁÓÔÒÏÊËÉ ÐÒÏÇÒÁÍÍÙ É ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÁÒÁÍÅÔÒÏ×.
-òÁÚÄÅÌ ÄÏËÕÍÅÎÔÁÃÉÉ, ÐÏÓ×ÑÝÅÎÎÙÊ ÏÔÐÒÁ×ËÅ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ
-(http://www.mplayerhq.hu/\:DOCS/\:HTML/\:ru/\:bugreports.html)
-ÏÐÉÓÙ×ÁÅÔ ËÁË ÓÏÚÄÁÔØ ÐÏÌÅÚÎÙÊ ÏÔÞÅÔ.
-.
-.
-.
-.SH á÷ôïòù
-.\" FIXME contributor!=ÒÁÚÒÁÂÏÔÞÉË
-MPlayer ÉÚÎÁÞÁÌØÎÏ ÂÙÌ ÎÁÐÉÓÁÎ Arpad Gereoffy.
-óÍÏÔÒÉÔÅ ÆÁÊÌ AUTHORS, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÎÅËÏÔÏÒÙÈ ÉÚ ÍÎÏÖÅÓÔ×Á ÄÒÕÇÉÈ ÒÁÚÒÁÂÏÔÞÉËÏ×.
-.PP
-MPlayer is (C) 2000\-2009 The MPlayer Team
-.PP
-ïÒÉÇÉÎÁÌØÎÁÑ ÁÎÇÌÉÊÓËÁÑ ×ÅÒÓÉÑ ÜÔÏÇÏ ÒÕËÏ×ÏÄÓÔ×Á × ÏÓÎÏ×ÎÏÍ ÂÙÌÁ ÎÁÐÉÓÁÎÁ Gabucino,
-Jonas Jermann É Diego Biurrun. óÅÊÞÁÓ ÏÎÁ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ Diego Biurrun.
-ðÅÒ×ÏÎÁÞÁÌØÎÙÊ ÐÅÒÅ×ÏÄ ÏÓÕÝÅÓÔ×ÌÅÎ ÷ÌÁÄÉÍÉÒÏÍ ÷ÏÒÏÛÉÌÏ×ÙÍ.
-ðÏÖÁÌÕÊÓÔÁ, ÏÔÓÙÌÁÊÔÅ ÜÌÅËÔÒÏÎÎÙÅ ÐÉÓØÍÁ Ï ÏÒÉÇÉÎÁÌØÎÏÊ ÓÔÒÁÎÉÃÅ ×
-ÓÐÉÓÏË ÒÁÓÓÙÌËÉ MPlayer\-DOCS.
-ðÉÓØÍÁ, ÏÔÎÏÓÑÝÉÅÓÑ Ë ÐÅÒÅ×ÏÄÕ, ÏÔÓÙÌÁÊÔÅ × MPlayer\-translations.
-.\" end of file
diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1
deleted file mode 100644
index ad1b574..0000000
--- a/DOCS/man/zh_CN/mplayer.1
+++ /dev/null
@@ -1,11183 +0,0 @@
-.\" sync with en/mplayer.1 rev. 32699
-.\" Encoding: UTF-8
-.\"
-.\" MPlayer (C) 2000-2010 MPlayer å¢é
-.\" æ¬(è±æ)æåé¡µç± Gabucino, Diego Biurrun, Jonas Jermann ç¼å
-.\" è§é¢æ»¤éãéç¨ç¼è§£ç å¨é项ãç¹å®ç¼è§£ç å¨ä¸ç¨é项ä¸ä¸ªç« èç±
-.\" JRaSH <jrash06 AT 163.com>éæ°ç¿»è¯
-.
-.\" --------------------------------------------------------------------------
-.\" å®å®ä¹
-.\" --------------------------------------------------------------------------
-.
-.\" å®ä¹åé项缩è¿
-.nr SS 5
-.\" æ·»å æ°åé项
-.de IPs
-.IP "\\$1" \n(SS
-..
-.\" ä¸çº§åé项å¼å§, ç»æç¨ .RE
-.de RSs
-.RS 10
-..
-.\" äºçº§åé项å¼å§
-.de RSss
-.PD 0
-.RS \n(SS+3
-..
-.\" äºçº§åéé¡¹ç»æ
-.de REss
-.RE
-.PD 1
-..
-.
-.\" --------------------------------------------------------------------------
-.\" åç§°
-.\" --------------------------------------------------------------------------
-.
-.TH MPlayer 1 "2009-03-25" "MPlayer 项ç®" "çµå½±ææ¾å¨"
-.
-.SH åç§°
-mplayer \- å½±è§ææ¾å¨
-.br
-mencoder \- å½±è§ç¼è§£ç å¨
-.
-.\" --------------------------------------------------------------------------
-.\" æ¦è¦
-.\" --------------------------------------------------------------------------
-.
-.SH æ»è§
-.na
-.nh
-.B mplayer
-[é项] [æä»¶|URL|ææ¾å表|\-]
-.
-.br
-.B mplayer
-[é项] æä»¶1
-[åé项] [æä»¶2] [åé项]
-.
-.br
-.B mplayer
-[é项]
-{æä»¶åé项ç»}
-[ç»ä¸ç¨çåé项]
-.
-.br
-.B mplayer
-[br]://[æ é¢][/设å¤]
-[é项ç»]
-.
-.br
-.B mplayer
-[dvd|dvdnav]://[æ é¢|[å¼å§æ é¢]\-ç»ææ é¢][/设å¤]
-[é项ç»]
-.
-.br
-.B mplayer
-vcd://æ²ç®[/设å¤]
-.
-.br
-.B mplayer
-tv://[é¢é][/è¾å
¥ID]
-[é项]
-.
-.br
-.B mplayer
-radio://[é¢é|é¢ç][/ææè®¾å¤]
-[é项]
-.
-.br
-.B mplayer
-pvr://
-[é项]
-.
-.br
-.B mplayer
-dvb://[å¡å·@]é¢é
-[é项]
-.
-.br
-.B mplayer
-mf://[æä»¶æ©ç |@å表æä»¶]
-[\-mf é项] [é项]
-.
-.br
-.B mplayer
-[cdda|cddb]://æ²ç®[\-ç»ææ²ç®][:é度][/设å¤]
-[é项]
-.
-.br
-.B mplayer
-cue://æä»¶[:æ²ç®]
-[é项]
-.
-.br
-.B mplayer
-[file|mms[t]|http|http_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]://
-[ç¨æ·å:å¯ç @]URL[:端å£] [é项]
-.
-.br
-.B mplayer
-sdp://æä»¶
-[é项]
-.
-.br
-.B mplayer
-mpst://主æº[:端å£]/URL
-[é项]
-.
-.br
-.B mplayer
-tivo://主æº/[list|llist|fsid]
-[é项]
-.
-.br
-.B gmplayer
-[é项]
-[\-skin\ å¤è§æ¨¡æ¿]
-.
-.br
-.B mencoder
-[é项] æä»¶
-[æä»¶|URL|\-] [\-o æä»¶ | file://æä»¶ | smb://[ç¨æ·å:å¯ç @]主æº/æä»¶è·¯å¾]
-.
-.br
-.B mencoder
-[é项] æä»¶1
-[åé项] [æä»¶2] [åé项]
-.ad
-.hy
-.
-.\" --------------------------------------------------------------------------
-.\" æè¿°
-.\" --------------------------------------------------------------------------
-.
-.SH æè¿°
-.B mplayer
-æ¯ä¸ä¸ª LINUX ä¸ççµå½±ææ¾å¨ (ä¹è½è¿è¡å¨è®¸å¤å
¶å®çå¹³å°å CPU æ¶æ, 请åé
ææ¡£)ã
-éè¿è®¸å¤åççå坿§è¡çç¼è§£ç å¨çæ¯æ, å®è½ææ¾ç»å¤§é¨åç MPEG/\:VOB, AVI,
-ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, Ogg/\:OGM, MKV, VIVO, FLI, NuppelVideo,
-yuv4mpeg, FILM å RoQ æä»¶ã
-ä½ è¿è½è§ç VCDãSVCDãDVDãèå
DVDã3ivxãDivX 3/4/5ãWMV çè³ H.264 æ ¼å¼ççµå½±ã
-.PP
-MPlayer 广æ³å°æ¯æé³è§é¢è¾åºé©±å¨ã
-å®ä¸ä»
å¯ä»¥ä½¿ç¨ X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca,
-DirectFB, Quartz, Mac OS X CoreVideo, ä¹è½ä½¿ç¨ GGI, SDL (åå®ä»¬çææé©±å¨),
-ææ VESA å
¼å®¹æ¾å¡ä¸ç VESA (çè³ä¸éè¦ X11), æäºä½çº§ç
-æ¾å¡ç¸å
³çé©±å¨ (å¦ Matrox, 3dfx å ATI) åä¸äºç¡¬ä»¶ MPEG è§£ç å¨å¡,
-æ¯å¦ Siemens DVB, Hauppauge PVR (IVTV), DXR2 å DXR3/\:Hollywood+ã
-å®ä»¬ä¸ç»å¤§å¤æ°æ¯æè½¯ä»¶æç¡¬ä»¶ç¼©æ¾, æä»¥ä½ å¯ä»¥äº«åå
¨å±çµå½±ã
-.PP
-MPlayer å
·æ OSD(å±ä¸æ¾ç¤º) åè½æ¾ç¤ºç¶æä¿¡æ¯, æ
-æé¯é½¿å¸¦é´å½±çæ¼äº®å¤§åå¹åé®çæ§å¶çå¯è§åé¦ã
-æ¯æçåä½å
æ¬æ¬§æ´²è¯ç§/\:ISO8859\-1,2 (åçå©è¯, è±è¯, æ·å
è¯çç),
-西éå°è¯åé©è¯, å¯ä»¥ææ¾ 12 ç§æ ¼å¼çå广件 (MicroDVD, SubRip, OGM,
-SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub, PJS
-åæä»¬èªå·±ç: MPsub) å DVD åå¹ (SPU æµ, VOBsub åéèå¼ CC åå¹)ã
-.PP
-.B mencoder
-(MPlayer ççµå½±ç¼è§£ç å¨) æ¯ä¸ä¸ªç®åççµå½±ç¼è§£ç å¨, å
¶è®¾è®¡ä¸ºå°
-MPlayer 坿æ¾ççµå½±(è§ä¸æè¿°)ç¼ç æå
¶ä»ç MPlayer å¯ææ¾æ ¼å¼(è§ä¸é¢)ã
-å
¶ç¼ç æç MPEG-4 (DivX/Xvid), æ¯ libavcodec ç¼è§£ç å¨çä¸ç§å
-ä½¿ç¨ 1, 2 æ 3-passes(é) ç PCM/\:MP3/\:VBRMP3 é³é¢ã
-æ¤å¤è¿å
·ææµå¤å¶çè½å, æ¥æå¼ºå¤§ç(è¿æ»¤å¨)æä»¶ç³»ç»(è£åª,
-æ©å±, å转, åå¤ç, æè½¬, 缩æ¾, éåªå£°, RGB/\:YUV 转æ¢)çã
-.PP
-.B gmplayer
-å
¶ä¸ MPlayer å
·æç¸åçé项ï¼ç¶èè¿äºé项å¯è½æ æ³å
¨é¨æ£å¸¸å·¥ä½ï¼å 为ä¸ç»ç± GUI æä½
-çé
ç½®ï¼ä¿åå¨ gui.conf ä¸ï¼æå²çªã
-ç¹å«æ¯æäºé项ç设置å¯è½è¢« gui.conf ä¸ç设置è¦çï¼èå¦ä¸äºå¯è½æç»æ°¸ä¹
ä¿åå¨
-gui.conf ä¸ã
-.PP
-æ¬æå页æåæç¨æ³ç¤ºä¾, è½è®©ä½ è¿
é䏿ã
-.PP
-.B ä¹è¯·åé
HTML ææ¡£!
-.
-.
-.\" --------------------------------------------------------------------------
-.\" 交äºå¼æ§å¶
-.\" --------------------------------------------------------------------------
-.
-.SH "交äºå¼æ§å¶"
-MPlayer æä¸ªå®å
¨å¯é
ç½®ç, å½ä»¤é©±å¨çæ§å¶å±,
-è®©ä½ éè¿é®ç, é¼ æ , æçºµææé¥æ§å¨(éä½¿ç¨ LIRC)æ¥æ§å¶ MPlayerã
-åè§ \-input é项å®å¶æ§å¶å±çæ¹æ³ã
-.
-.TP
-.B é®çæ§å¶
-.PD 0
-.RS
-.IPs "<\- å \->"
-åé/\:å¿«è¿ 10 ç§ã
-.IPs "up å down"
-å¿«è¿/\:åé 1 åã
-.IPs "pgup å pgdown"
-å¿«è¿/\:åé 10 åã
-.IPs "[ å ]"
-åå°/å¢å å½ååæ¾é度 10%ã
-.IPs "{ å }"
-åå/å åå½ååæ¾é度ã
-.IPs "backspace"
-éç½®æ£å¸¸åæ¾é度.
-.IPs "< å >"
-卿æ¾å表ä¸åé/\:å¿«è¿ã
-.IPs "ENTER"
-卿æ¾å表ä¸å¿«è¿, çè³è¶è¿æ«å°¾ã
-.IPs "HOME å END"
-ä¸ä¸ä¸ª/\:åä¸ä¸ªç¶å表ä¸çææ¾æ 项ã
-.IPs "INS å DEL (ä»
ç¨äº ASX ææ¾å表)"
-ä¸ä¸ä¸ª/\:åä¸ä¸ªä¾éæ©çæºã
-.IPs "p / SPACE"
-æå (åæåæ¶æå)ã
-.IPs ".\ \ \ \ "
-æ¥è¿ã
-æä¸ä¸æååæ¾, æ¯æä¸ä¸å°±ææ¾ä¸å¸§(ç´å°æå
¶å®é®åæ¶æ¥è¿)ã
-.IPs "q / ESC"
-åæ¢ææ¾åéåºã
-.IPs "U\ \ \ \ "
-æåææ¾ï¼å¹¶ä¸å½æªä½¿ç¨ \-idle æ¶éåºï¼ã
-.IPs "+ å \-"
-è°æ´é³é¢å»¶è¿å¢å /åå° 0.1 ç§ã
-.IPs "/ å *"
-éä½/\:æé«é³éã
-.IPs "9 å 0"
-éä½/\:æé«é³éã
-.IPs "( å )"
-è°æ´æå©ç¨äºå·¦/\:å³å£°éç声é³å¹³è¡¡ã
-.IPs "m\ \ \ \ "
-éé³ã
-.IPs "_ (ä»
ç¨äº MPEG-TSãAVI å libav åºæ ¼å¼)"
-循ç¯å¯ç¨çå轨ã
-.IPs "# (ä»
ç¨äº DVDãèå
DVDãMPEGãMatroskaãAVI å libav åºæ ¼å¼)"
-循ç¯å¯ç¨çé³è½¨ã
-.IPs "TABï¼ä»
ç¨äº MPEG-TS å libav åºæ ¼å¼ï¼"
-循ç¯å¯ç¨çèç®ã
-.IPs "f\ \ \ \ "
-忢å
¨å± (ä¹è¯·åè§ \-fs)ã
-.IPs "T\ \ \ \ "
-åæ¢é¡¶ç½® (ä¹è¯·åè§ \-ontop)ã
-.IPs "w å e"
-éä½/\:æé«æç§»èå´ã
-.IPs "o\ \ \ \ "
-å¾ªç¯ OSD ç¶æ: æ / æç´¢æ¡ / æç´¢æ¡ + 计æ¶å¨ / æç´¢æ¡ + 计æ¶å¨ + æ»æ¶é´ã
-.IPs "d\ \ \ \ "
-循ç¯ä¸¢å¸§ç¶æ: æ / è·³è¿æ¾ç¤º / è·³è¿è§£ç ã
-(请åè§ \-framedrop å \-hardframedrop)ã
-.IPs "v\ \ \ \ "
-忢æ¾ç¤ºåå¹ã
-.IPs "j å J"
-循ç¯å¯ç¨çåå¹ã
-.IPs "y å g"
-å¨åå¹åè¡¨ä¸æ¥è¿/æ¥éã
-.IPs "F\ \ \ \ "
-忢æ¾ç¤º "éå®çåå¹"ã
-.IPs "a\ \ \ \ "
-忢坹é½åå¹: ä¸ / ä¸ / ä¸ã
-.IPs "x å z"
-è°æ´åå¹å»¶è¿å¢å /åå° 0.1 ç§ã
-.IPs "cï¼ä»
ç¨äº \-captureï¼"
-å¼å§/忢æå主åªä½æµã
-.IPs "r å t"
-ä¸/ä¸è°æ´åå¹ä½ç½®ã
-.IPs "i (ä»
ç¨äº \-edlout 模å¼)"
-设置 EDL çå¼å¤´ææ«å°¾å¹¶åå
¥æå®çæä»¶ã
-.IPs "s (ä»
ç¨äº \-vf æªå±)"
-æªå±ã
-.IPs "S (ä»
ç¨äº \-vf æªå±)"
-å¼å§/忢æªå±ã
-.IPs "I\ \ \ \ "
-ç¨ OSD æ¾ç¤ºæä»¶åã
-.IPs "P\ \ \ \ "
-å¨ OSD 䏿¾ç¤ºè¿åº¦æ¡ãå·²ææ¾æ¶é´ä»¥åæ»é¿åº¦ä¿¡æ¯ã
-.IPs "! å @"
-寻å°åä¸ç« è/åä¸ç« èçå¼å§å¤ã
-.IPs "Dï¼ä»
ç¨äº\-vo xvmc, \-vo vdpauï¼\-vf yadif, \-vf kerndeintï¼"
-æ¿æ´»/ç¦ç¨è§£éè¡æ«æè¿æ»¤å¨ã
-.IPs "A"
-å¨å¯ç¨ç DVD è§è§é´å¾ªç¯åæ¢ã
-.RE
-.PD 1
-.PP
-.RS
-(以ä¸çæé®ä»
éç¨äºç¡¬ä»¶å éè§é¢è¾åº(xv, (x)vidix, (x)mga, ç),
-软件åè¡¡å¨(\-vf eq or \-vf eq2), æè
è²è°è¿æ»¤å¨(\-vf hue)ã)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "1 å 2"
-è°æ´å¯¹æ¯åº¦ã
-.IPs "3 å 4"
-è°æ´äº®åº¦ã
-.IPs "5 å 6"
-è°æ´è²è°ã
-.IPs "7 å 8"
-è°æ´é¥±å度ã
-.RE
-.PD 1
-.PP
-.RS
-ï¼ä»¥ä¸æé®ä»
å¨ä½¿ç¨ quartz æ corevideo è§é¢è¾åºé©±å¨æ¶ææãï¼
-.RE
-.PP
-.PD 0
-.RS
-.IPs "command + 0"
-å尺寸ã
-.IPs "command + 1"
-åå§å°ºå¯¸ã
-.IPs "command + 2"
-åå尺寸ã
-.IPs "command + f"
-忢å
¨å± (ä¹è¯·åè§ \-fs)ã
-.IPs "command + [ å command + ]"
-设置çªå£ç alphaã
-.RE
-.PD 1
-.PP
-.RS
-(以ä¸çæé®ä»
éç¨äº sdl è§é¢è¾åºé©±å¨ã)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "c\ \ \ \ "
-忢å¯ç¨çå
¨å±æ¨¡å¼ã
-.IPs "n\ \ \ \ "
-åå§å°ºå¯¸ã
-.RE
-.PD 1
-.PP
-.RS
-(以ä¸çæé®ä»
éç¨äºå¤åªä½é®çã)
-.RE
-.PP
-.PD 0
-.RS
-.IPs PAUSE
-æåã
-.IPs "STOP\ "
-忢并éåºã
-.IPs "PREVIOUS å NEXT"
-åé/\:å¿«è¿ 1 åã
-.RE
-.PD 1
-.PP
-.RS
-(以ä¸çæé®ä»
éç¨äºå·²ç¼è¯æ¯æ GUI å¹¶ä¼å
äºä»¥åçå®ä¹ã)
-.RE
-.PP
-.PD 0
-.RS
-.IPs ENTER
-å¼å§ææ¾ã
-.IPs "ESC\ \ "
-åæ¢ææ¾ã
-.IPs "l\ \ \ \ "
-å è½½æä»¶ã
-.IPs "t\ \ \ \ "
-å è½½åå¹ã
-.IPs "c\ \ \ \ "
-æå¼ç®è¤æµè§å¨ã
-.IPs "p\ \ \ \ "
-æå¼ææ¾å表ã
-.IPs "r\ \ \ \ "
-æå¼é¦é项ã
-.RE
-.PD 1
-.PP
-.RS
-(以ä¸çæé®ä»
éç¨äºå·²ç¼è¯æ¯æ TV æ DVB çè¾å
¥å¹¶ä¼å
äºä»¥åçå®ä¹ã)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "h å k"
-éæ©ä¸ä¸ä¸ª/\:ä¸ä¸ä¸ªé¢éã
-.IPs "n\ \ \ \ "
-æ¹åå¶å¼ã
-.IPs "u\ \ \ \ "
-æ¹åé¢éå表ã
-.RE
-.PD 1
-.PP
-.RS
-(以ä¸çæé®ä»
éç¨äºå·²ç¼è¯æ¯æ dvdnav: ç¨äºå¯¼èªèå)
-.RE
-.PP
-.PD 0
-.RS
-.IPs "keypad 8"
-éæ©ä¸ã
-.IPs "keypad 2"
-éæ©ä¸ã
-.IPs "keypad 4"
-鿩左ã
-.IPs "keypad 6"
-éæ©å³ã
-.IPs "keypad 5"
-è¿å主èåã
-.IPs "keypad 7"
-è¿åæè¿çèå(å
忬¡åºæ¯: ç« è->æ é¢->æ ¹)ã
-.IPs "keypad ENTER"
-ç¡®å®ã
-.RE
-.PD 1
-.PP
-.RS
-.
-ï¼ä»¥ä¸æé®åªæå½ç¼è¯æ¶å¯ç¨å¯¹äºçµè§åå¹çæ¯æï¼teletextï¼æ¶æææï¼è¿äºæé®ç¨äºæ§å¶çµ
-è§åå¹ï¼æ°æ®å¯è½æ¥èªæ¨¡æçµè§è¾å
¥ææ¯ MPEG ä¼ è¾æµãï¼
-ï¼ä»¥ä¸æé®ç¨äºæ§å¶çµè§ä¿¡å·ççµè§åå¹ãæ°æ®å¯è½æ¥æºäºæ¨¡æçµè§ä¿¡å·æ MPEG ä¼
-è¾æ°æ®æµãï¼
-.RE
-.PP
-.PD 0
-.RS
-.IPs "X\ \ \ \ "
-æå¼/\:å
³éçµè§åå¹ã
-.IPs "QåW"
-忢è³ä¸ä¸ä¸ª/\:ä¸ä¸ä¸ªçµè§åå¹é¡µé¢ã
-.RE
-.PD 1
-.PP
-.RS
-.
-.TP
-.B é¼ æ æ§å¶
-.PD 0
-.RS
-.IPs "button 3 å button 4"
-åé/\:å¿«è¿ 1 åã
-.IPs "button 5 å button 6"
-éä½/\:æé«é³éã
-.RE
-.PD 1
-.
-.TP
-.B æçºµæ
-.PD 0
-.RS
-.IPs "left å right"
-åé/\:å¿«è¿ 10 ç§ã
-.IPs "up å down"
-å¿«è¿/\:åé 1 åã
-.IPs "button 1"
-æåã
-.IPs "button 2"
-å¾ªç¯ OSD ç¶æ: æ / æç´¢æ¡ / æç´¢æ¡ + 计æ¶å¨ / æç´¢æ¡ + 计æ¶å¨ + æ»æ¶é´ã
-.IPs "button 3 å button 4"
-éä½/\:æé«é³éã
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" ç¨æ³
-.\" --------------------------------------------------------------------------
-.
-.SH "ç¨æ³"
-æ¯ä¸ª "flag" é项æä¸ªç¸åç "noflag" é项对åº, å¦: é项 \-fs ç¸åçæ¯ \-nofsã
-.PP
-妿æé项æ 为: (ä»
ç¨äº XXX), å°±ä»
éç¨äºä¸é项 XXX èåä½¿ç¨æè
å·²ç¼è¯è¿ XXXã
-.PP
-.I 注æ:
-åé项解æå¨(ä¾å¦ç¨äº \-ao pcm åé项)æ¯æ
-ä¸ç§ç¹æ®çå符串转ä¹(string-escaping)ææ¬²åå¤é¨ç GUI ä¸èµ·ä½¿ç¨ã
-.br
-å
¶æ ¼å¼å¦ä¸:
-.br
-%n%string_of_length_n
-.br
-.I 示ä¾:
-.br
-mplayer \-ao pcm:file=%10%C:test.wav test.avi
-.br
-æå¨èæ¬ä¸:
-.br
-mplayer \-ao pcm:file=%`expr length "$NAME"`%"$NAME" test.avi
-.PP
-.
-.\" --------------------------------------------------------------------------
-.\" é
ç½®æä»¶
-.\" --------------------------------------------------------------------------
-.
-.SH "é
ç½®æä»¶"
-ä½ å¯ä»¥æææé项æ¾å¨é
ç½®æä»¶ä¸, æ¯æ¬¡ MPlayer/MEncoder è¿è¡æ¶é½ä¼è¯»åå®ä»¬ã
-ç³»ç»èå´çé
ç½®æä»¶ "mplayer.conf" ä½äºä½ çé
ç½®ç®å½
-(ä¾å¦: /etc/\:mplayer æè
/usr/\:local/\:etc/\:mplayer)ä¸,
-ç¨æ·æå®çé
ç½®æä»¶æ¯ "~/\:.mplayer/\:config"ã
-MEncoder çé
ç½®æä»¶æ¯ "mencoder.conf" ä½äºä½ çé
ç½®ç®å½
-(ä¾å¦: /etc/\:mplayer æè
/usr/\:local/\:etc/\:mplayer)ä¸,
-ç¨æ·æå®çé
ç½®æä»¶æ¯ "~/\:.mplayer/\:mencoder.conf"ã
-ç¨æ·æå®çé项ä¼å
äºç³»ç»èå´çé项, èå½ä»¤è¡é项ä¼å
äºä»¥ä¸ä¸¤è
ã
-é
ç½®æä»¶çè¯æ³æ¯ "option=<å¼>", ä»»ä½ "#" åé¢çé½è®¤ä¸ºæ¯æ³¨éã
-å¯ç¨æ²¡æåæ°å¼çé项å¯ä»¥æåæ°è®¾ä¸º "yes" æè
"1" æè
"true",
-è妿è¦åç¨å°±æå®ä»¬è®¾ç½®ä¸º "no" æè
"0" æè
"false"ã
-çè³åé项ä¹å¯ä»¥å¦æ¤è®¾å®é项ã
-.PP
-ä½ ä¹å¯ä»¥ç¼åæ¯ä¸ªåªä½æä»¶ä¸ç¨çé
ç½®æä»¶ã
-妿è¦ç»åå«âmovie.aviâçä¸ä¸ªæä»¶è®¾ç½®ä¸ä¸ªé
ç½®æä»¶ï¼åå建ä¸ä¸ªå为âmovie.avi.confâçæä»¶ï¼
-å
¶ä¸åæ¾äºè¯¥åªä½æä»¶ä¸ç¨çé项ï¼å¹¶å°å
¶æ¾å° ~/.mplayer/ã
-åªè¦ç»åºäº \-use\-filedir\-conf éé¡¹ï¼ææ¯éè¡å½ä»¤è¡ï¼ææ¯å¨å
¨å±é
ç½®æä»¶ä¸ï¼ï¼ä½ ä¹å¯ä»¥æé
ç½®æ
-ä»¶æ¾å°ä¸æææ¾çåªä½æä»¶ç¸åçç®å½ä¸ã
-妿å¨åªä½æä»¶æå¨ç®å½ä¸æ¾å°å
¶ä¸ç¨çé
ç½®æä»¶ï¼åä¸ä¼ä» ~/.maplyer ç®å½ä¸å 载任ä½åªä½æä»¶ä¸ç¨ç
-é
ç½®ã
-å¦å¤ï¼\-use\-filedir\-conf é项å¯ç¨äºç®å½ä¸ç¨çé
ç½®æä»¶ã
-对äºè¯¥é项ï¼MPlayer é¦å
å°è¯æææ¾æä»¶çç®å½ä¸å è½½ mplayer.confï¼ç¶åå°è¯å 载任ä½åå¨çåªä½æä»¶
-ä¸ç¨çé
ç½®ã
-.PP
-.I MPLAYER é
ç½®æä»¶ç¤ºä¾:
-.sp 1
-.nf
-# é»è®¤ä½¿ç¨ Matrox 驱å¨ã
-vo=xmga
-# æå欢å¨ççåçæ¶åç»ä¹ åç«ã
-flip=yes
-# è§£ç /ç¼ç å¤ä¸ª PNG æä»¶,
-# å¼å§äº mf://æä»¶æ©ç
-mf=type=png:fps=25
-# æªå¼çè´çå¾å好é
·ã
-vf=eq2=1.0:\-0.8
-.fi
-.PP
-.I "MENCODER é
ç½®æä»¶ç¤ºä¾:"
-.sp 1
-.nf
-# 产ç MEncoder è¾åºå°é»è®¤çæä»¶åã
-o=encoded.avi
-# ä¸é¢åè¡ä½¿ mencoder tv:// ç«å»å¼å§ææã
-oac=pcm=yes
-ovc=lavc=yes
-lavcopts=vcodec=mjpeg
-tv=driver=v4l2:input=1:width=768:height=576:device=/dev/video0:audiorate=48000
-# è¾å¤æçé»è®¤ç¼ç é项设置
-lavcopts=vcodec=mpeg4:autoaspect=1
-lameopts=aq=2:vbr=4
-ovc=lavc=1
-oac=lavc=1
-passlogfile=pass1stats.log
-noautoexpand=1
-subfont-autoscale=3
-subfont-osd-scale=6
-subfont-text-scale=4
-subalign=2
-subpos=96
-spuaa=20
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" é
ç½®é
-.\" --------------------------------------------------------------------------
-.
-.SH "é
ç½®é"
-ä¸ºäºæ¹ä¾¿æä½ä¸åçé
ç½®æä»¶, å¯ä»¥å¨é
ç½®æä»¶ä¸å®ä¹é
ç½®éã
-é
ç½®é以æ¾å¨æ¹æ¬å·ä¸çåç§°å¼å§, å¦: "[my-profile]"ã
-ææè·éçé项æä¸ºé
ç½®éçä¸é¨åã
-æè¿°(éè¿ \-profile help æ¾ç¤º)å®ä¹äº profile-desc é项ã
-è¦ç»æè¯¥é
ç½®é, 使ç¨å«çåç§°å¼å§å³å¯
-æä½¿ç¨é
ç½®éåç§° "default" ç»§ç»æ£å¸¸çé项ã
-.fi
-.PP
-.I "MPLAYER é
ç½®é示ä¾ï¼"
-.sp 1
-.nf
-
-[protocol.dvd]
-profile-desc="ç¨äº dvd:// åªä½æµçé
ç½®é"
-vf=pp=hb/vb/dr/al/fd
-alang=en
-
-[protocol.dvdnav]
-profile-desc="ç¨äº dvdnav:// åªä½æµçé
ç½®é"
-profile=protocol.dvd
-mouse-movements=yes
-nocache=yes
-
-[extension.flv]
-profile-desc="ç¨äº .flv æä»¶çé
ç½®é"
-flip=yes
-
-[vo.pnm]
-outdir=/tmp
-
-[ao.alsa]
-device=spdif
-.fi
-.PP
-.I "MENCODER é
ç½®é示ä¾ï¼"
-.sp 1
-.nf
-
-[mpeg4]
-profile-desc="MPEG4 ç¼ç "
-ovc=lacv=yes
-lavcopts=vcodec=mpeg4:vbitrate=1200
-
-[mpeg4\-hq]
-profile-desc="é«è´¨é MPEG4 ç¼ç "
-profile=mpeg4
-lavcopts=mbd=2:trell=yes:v4mv=yes
-.fi
-.
-.\" --------------------------------------------------------------------------
-.\" é项
-.\" --------------------------------------------------------------------------
-.
-.SH "éç¨é项"
-.
-.TP
-.B \-codecpath <dir>
-æå®å·²ç¼è¯ç¼è§£ç å¨çåæ¾ç®å½ã
-Specify a directory for binary codecs.
-.
-.TP
-.B \-codecs\-file <æä»¶å>ï¼ä¹è¯·åè§ \-afmï¼\-acï¼\-vfmï¼\-vcï¼
-éè½½æ åçæç´¢è·¯å¾å¹¶ä½¿ç¨æå®çæä»¶ä»£æ¿å
ç½®ç codecs.confã
-.
-.TP
-.B \-include <é
ç½®æä»¶>
-æå®é
ç½®æä»¶å¨é»è®¤çé
ç½®æä»¶åé¢è§£æã
-.
-.TP
-.B \-list\-options
-æå°ææå¯ç¨çé项ã
-.
-.TP
-.B \-msgcharset <å符é>
-è½¬æ¢æ§å¶å°æ¶æ¯ä¸ºæå®çå符é(é»è®¤æ¯èªå¨ä¾¦æµ: autodetect)ã
-æåçå符éç¼ç ç¨é项 \-\-charset æå®é
ç½®ã
-设置为 "noconv" 以åç¨è½¬æ¢ (为äºå¦: iconv é®é¢)ã
-.br
-.I 注æ:
-é项å¨å½ä»¤è¡è§£æå®æåçæã
-ç¯å¢åé MPLAYER_CHARSET è½å¸®ä½ å»é¤å¼å¤´å è¡æ··ä¹±çè¾åºã
-.
-.TP
-.B \-msgcolor
-卿¯æ ANSI å½©è²æ åçç»ç«¯ä¸å¯ç¨å½©è²æ§å¶å±å¹ã
-.
-.TP
-.B \-msglevel <all=<级å«>:<模å>=<级å«>:...>
-ç´æ¥å¯¹åä¸ªæ¨¡åæ§å¶åèµåº¦ã
-æ¤ "all" æ¨¡åæ¹åæææ¨¡å(è½ç¶æ²¡æå¨å½ä»¤è¡ä¸æ¾å¼æå®)çåèµçº§å«ã
-æ¥çæææ¨¡åçå表请åè§äº "\-msglevel help"ã
-.br
-.I 注æ:
-æäºæ¶æ¯å¨è§£æå½ä»¤è¡ä¹åå°±æå°åºæ¥ï¼å èä¸å \-msglevel å½±åã
-è¦æ§å¶è¿äºæ¶æ¯çè¯ï¼ä½ å¾ä½¿ç¨ MPLAYER_VERBOSE ç¯å¢åéï¼åè§ä¸é¢çè§£é以è·å详ç»ä¿¡æ¯ã
-.br
-å¯ç¨çº§å«:
-.PD 0
-.RSs
-.IPs "\-1"
-å®å
¨æ²é»
-.IPs " 0"
-ä»
è´å½æ¶æ¯
-.IPs " 1"
-éè¯¯æ¶æ¯
-.IPs " 2"
-è¦åæ¶æ¯
-.IPs " 3"
-ç®çæç¤º
-.IPs " 4"
-ä¿¡æ¯æ¶æ¯
-.IPs " 5"
-ç¶ææ¶æ¯ï¼é»è®¤å¼ï¼
-.IPs " 6"
-åèµæ¶æ¯
-.IPs " 7"
-è°è¯çº§å« 2
-.IPs " 8"
-è°è¯çº§å« 3
-.IPs " 9"
-è°è¯çº§å« 4
-.RE
-.PD 1
-.
-.TP
-.B \-msgmodule
-卿¯æ¡æ§å¶å±å¹æ¶æ¯åå 䏿¨¡ååã
-.
-.TP
-.B \-noconfig <è¥å¹²é项>
-ä¸è§£ææéçé
ç½®æä»¶ã
-.br
-.I 注æï¼
-妿å½ä»¤è¡ä¸æå®äº \-include æ \-use\-filedir\-conf é项ï¼
-é£ä¹è¿äºé项å°ä¼å
çæã
-.sp 1
-å¯ç¨é项æï¼
-.PD 0
-.RSs
-.IPs "all\ \ "
-ææçé
ç½®æä»¶
-.IPs "guiï¼ä»
ä»
æ¯ GUIï¼"
-GUI çé
ç½®æä»¶
-.IPs system
-ç³»ç»é
ç½®æä»¶
-.IPs "user\ "
-ç¨æ·é
ç½®æä»¶
-.RE
-.PD 1
-.
-.TP
-.B "\-quiet\ "
-ä½¿å¾æ§å¶å°æ¶æ¯å°è¾åº; ç¹å«å°, 黿¢ç¶æè¡
-(å³ A: 0.7 V: 0.6 A-V: 0.068 ...)çæ¾ç¤ºã
-对æ
¢æºå¨æè
ä¸è½æ£ç¡®å¤çå车符(å³ \\r)çæ§æºå¨ç¹å«æç¨ã
-.
-.TP
-.B \-priority <ä¼å
>ï¼ä»
éç¨äº Windows å OS/2ï¼
-æ ¹æ® Windows å OS/2 ä¸å¯ç¨çé¢å®ä¹ä¼å
级设置 MPlayer çè¿ç¨ä¼å
级ã
-å¯è½ç <ä¼å
> å¼ä¸º:
-.RSs
-idle|belownormal|normal|abovenormal|high|realtime
-.RE
-.sp 1
-.RS
-.I è¦å:
-ä½¿ç¨ realtime(宿¶) ä¼å
级ä¼å¼èµ·ç³»ç»éä½ã
-.RE
-.
-.TP
-.B \-profile <é
置轮å»1,é
置轮å»2,...>
-使ç¨ç»å®çé
置轮å», \-profile help æ¾ç¤ºå®ä¹çé
置轮å»å表ã
-.
-.TP
-.B \-really\-quiet (ä¹è¯·åè§ \-quiet)
-æ¾ç¤ºæ¯ \-quiet æ´å°çè¾åºåç¶æä¿¡æ¯ã
-åæ¶ç¦æ¢å¾å½¢çé¢éè¯¯æ¶æ¯å¯¹è¯æ¡ã
-.
-.TP
-.B \-show\-profile <é
置轮å»>
-æ¾ç¤ºé
置轮å»çæè¿°åå
容ã
-.
-.TP
-.B \-use\-filedir\-conf
-å¨æä»¶ææ¾æ¶çç¸åç®å½ä¹ä¸å¯»æ¾è¯¥ç¹å®æä»¶çé
ç½®æä»¶ã
-.br
-.I è¦å:
-ææ¾æªç»ä¿¡ä»»çåªä½å¯è½æå±é©ã
-.
-.TP
-.B "\-v\ \ \ \ \ "
-æé«åèµçº§å«, 对å½ä»¤è¡ä¸åç°çå个 \-v æé«ä¸çº§ã
-.
-.
-.
-.SH "ææ¾å¨é项ï¼ä»
éç¨äºMPLAYERï¼"
-.
-.TP
-.B \-autoq <è´¨é> (å \-vf [s]pp ä¸èµ·ä½¿ç¨)
-便®å¯ç¨ç CPU ç©ºé²æ¶é´å¨ææ¹ååæå¤çç级å«ã
-ä½ æå®çæ°åå¯è½æ¯å·²ä½¿ç¨ä¸çæé«çº§å«ãéå¸¸ä½ å¯ä»¥ä½¿ç¨æç¹é«ççº§å«æ°åã
-为æ¤ä½ å¿
须使ç¨ä¸å¸¦åæ°ç \-vf [s]pp é项ã
-.
-.TP
-.B \-autosync <å å>
-åºäºé³é¢å»¶è¿çæ£æµéæ¥è°æ´ A/V 忥ã
-æå® \-autosync 0, ä¹å°±æ¯é»è®¤å¼, å°å¯¼è´å¸§è®¡æ¶å®å
¨åºäºé³é¢å»¶è¿çæ£æµã
-æå® \-autosync 1 乿¯ä¸æ ·, ä½ä¼å¾®å¦å°æ¹åæä½¿ç¨ç A/V ä¿®æ£ç®æ³ã
-对é£äºè§é¢å¸§çä¸åå, ä½ç¨ \-nosound å¯ä»¥æ£å¸¸ææ¾ççµå½±,
-è®¾ç½®å¤§äº 1 çæ´æ°å¼ä¸è¬ä¼ææå¸®å©ã
-è¿ä¸ªå¼è¶å¤§, è®¡æ¶æ¹æ³è¶æ¥è¿äº \-nosoundã
-å¯¹äºæäºé³é¢å»¶è¿æ£æµå®ç°ä¸å®åç声å¡é©±å¨, è¯è¯ç¨ \-autosync\ 30 æ¥å¹³æ»æ¤é®é¢ã
-使ç¨è¿ä¸ªå¼æ¶, 妿åºç° A/V 忥大åç§», åªéè¦ 1, 2 ç§æ¶é´å°±å¯ä»¥æå®ã
-å¯¹äºææç声å¡é©±å¨, 对çªç¶ç A/V åç§», å¨ååºæ¶é´ä¸æå»¶è¿,
-è¿åºè¯¥æ¯æå¼æ¤é项çå¯ä¸å¯ä½ç¨ã
-.
-.TP
-.B \-benchmark
-å¨ç»ç«¯æå°ä¸äºåæ¾åç CPU 使ç¨çå丢帧æ°çç»è®¡ä¿¡æ¯ã
-ä¸ \-nosound å \-vo null èå使ç¨å¯ç¨æ¥ä»
ä»
è¯æµè§é¢ç¼è§£ç å¨.
-.br
-.I 注æ:
-ä½¿ç¨æ¤åæ°ä»
ä»
åæ¾è§é¢æ¶, MPlayer ä¹å°å¿½ç¥å¸§æç»æ(frame duration)
-(ä½ å¯ä»¥è®¤ä¸ºé£æ¯ä¸å®å¸§ç)ã
-.
-.TP
-.B \-colorkey <å·ç >
-æ¹å colorkey ä¸ºä½ æéç RGB å¼ã
-0x000000 æ¯é»è²è 0xffffff æ¯ç½è²ã
-ä»
被è§é¢è¾åºé©±å¨ cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix,
-xover, xv (åè§ \-vo xv:ck), xvmc (åè§ \-vo xv:ck) å directx æ¯æã
-.
-.TP
-.B \-nocolorkey
-åç¨ colorkeyingã
-ä»
被è§é¢è¾åºé©±å¨ cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix,
-xover, xv (åè§ \-vo xv:ck), xvmc (åè§ \-vo xv:ck) å directx æ¯æã
-.
-.TP
-.B \-correct\-ptsï¼å¤äºæµè¯é¶æ®µï¼
-忢 MPlayer å°è¯éªæ¨¡å¼,
-å
¶ä¸è§é¢å¸§çæ¶æ³è®¡ç®ä¸å, 䏿¯æè§é¢è¿æ»¤å¨æ·»å æ°ç帧æä¿®æ¹å·²æçæ¶æ³ã
-å¯ä»¥çå°æ´ç²¾ç¡®çæ¶æ³, ä¾å¦éè¿ \-ass éé¡¹ä¿®æ¹ææ¾åå¹ä¸é头忥ã
-没æ \-correct\-pts, åå¹åæ¥å
¸åå°ä¼è¢«æäºå¸§å
³éã
-æ¤é项ä¸è½ä¸æäºåè·¯å¨åç¼è§£ç å¨ä¸èµ·æ£å¸¸å·¥ä½ã
-.
-.TP
-.B \-crash\-debugï¼è°è¯ä»£ç ï¼
-䏿¦å´©æºæ SIGTRAP èªå¨èä¸ gdb è°è¯ç¨åºã
-æ¤æ¯æå¿
须已ç¼è¯è¿é
ç½® \-\-enable\-crash\-debugã
-.
-.TP
-.B \-doubleclick\-time
-以毫ç§ä¸ºåä½çæ¶é´å¼ï¼ç¨ä»¥å¤å®ä¸¤æ¬¡è¿ç»çæé®å¨ä½æ¯å¦ä¸ºä¸æ¬¡åå»å¨ä½ï¼é»è®¤å¼ï¼
-300ï¼ã
-设为0åè®©ä½ ççªä½ç³»ç»å¤æä»ä¹æ ·å¨ä½çæ¯åå»ï¼ä»
å½ \-vo directx æ¶ï¼ã
-.br
-.I 注æï¼
-ä½ ä¼ä½éªå°ä¸åçææï¼è¿åå³äºä½ ç»å®äº MOUSE_BTN0_DBL è¿æ¯
-MOUSE_BTN0\-MOUSE_BTN0_DBLã
-.
-.TP
-.B \-edlout <æä»¶å>
-æ°å»ºæä»¶å¹¶åå
¥ EDLï¼ç¼è¾å³å®å表ï¼è®°å½ã
-åæ¾æ¶, ç¨æ·æâiâ鮿 è®°è·³è¿åçå¼å§ç»æå¤ã
-è¿æä¾äºç¨æ·ä¸ä¸ªä»¥åè½ç²¾è° EDL 项çå¼å§ç¹ã
-详æ
请åè§ http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.htmlã
-.
-.TP
-.B \-edl-backward-delay <æ°å¼>
-å½å¨ææ¾å¹¶ååè¿ç¨ä¸ä½¿ç¨ EDL æ¶ï¼å¯è½ä¼åå¨ææ¡ EDL è®°å½ä¸é´ã
-卿¤æ
åµä¸ï¼MPlayer ä¼è¿ä¸æ¥ååè³è¿æ¡ EDL è®°å½çèµ·å§ä½å¼ï¼ä¹åä¼ç«å³è·³è¿
-EDL è®°å½ææè¿°çåºæ¯ã
-为é¿å
è¿ç§ç°è±¡ï¼MPlayer ä¼è·³è³è· EDL è®°å½å端åºå®é´éçä¸ä¸ªä½ç½®ã
-è¯¥åæ°ä½¿ä½ è½å¤ä»¥ç§ä¸ºå使å®è¿ä¸ªæ¶é´é´éã
-ï¼é»è®¤å¼ï¼2 ç§ï¼ã
-.
-.TP
-.B \-edl-start-pts
-æ ¹æ®æææ¾æä»¶çèµ·å§æ¶é´è°æ´ EDL è®°å½çä½ç½®ä¿¡æ¯ã æäºæ ¼å¼ï¼å°¤å
¶æ¯ MPEG TSï¼
-é常起å§äºä¸ä¸ªéé¶çå½åæ¶é´æ ç¾å¼ï¼å¹¶ä¸å½ä»¥ \-edlout éé¡¹çæ EDL æä»¶æ¶ï¼
-EDL è®°å½å«æä¸äºåªå¯¹è¿ä¸ªç¹å®æä»¶æ¥è¯´æ¯æ£ç¡®çç»å¯¹æ°å¼ã妿鿰ç¼ç æå¦ä¸ç§æ ¼
-å¼ï¼è¯¥ EDL æä»¶ä¸åéç¨ãä½¿ç¨ \-edl-start-pts å°èªå¨æ ¹æ®èµ·å§æ¶é´è°æ´ EDL ä½
-置信æ¯ï¼å½çæ EDL æä»¶æ¶ï¼æ¯æ¡ EDL è®°å½å°åå»èµ·å§æ¶é´å¼ï¼å½ä½¿ç¨ EDL æä»¶æ
-æ¾æ¶ï¼æ¯ä¸ª EDL ä½ç½®ä¿¡æ¯å°å 䏿件çèµ·å§æ¶é´å¼ã
-.
-.TP
-.B \-noedl-start-pts
-ç¦æ¢è°æ´ EDL ä½ç½®ä¿¡æ¯ã
-.
-.TP
-.B \-enqueueï¼ä»
ç¨äº GUIï¼
-å°å½ä»¤è¡ä¸ç»å®çæä»¶æå
¥ææ¾å表ä½ä¸ç«å»ææ¾ã
-.
-.TP
-.B \-fixed\-vo
-为å¤ä¸ªæä»¶éå®ä¸ä¸ªåºå®çè§é¢ç³»ç» (对ææçæä»¶(å)åå§åä»
䏿¬¡)ã
-è¿æ ·, å¯¹æææä»¶åªæå¼ä¸ä¸ªçªå£ã
-ç®å fixed-vo å
¼å®¹ç驱卿: gl, gl2, mga, svga, x11, xmga,
-xv, xvidix å dfbmgaã
-.
-.TP
-.B \-framedropï¼ä¹è¯·åè§ \-hardframedropï¼æªä½¿ç¨ \-nocorrect\-pts æ¶åªå¯ç¨äºå®éªï¼
-è·³è¿æ¾ç¤ºä¸äºå¸§ä»è卿
¢çæºå¨ä¸ä¿æ A/V 忥ã
-è§é¢æ»¤éä¸ä¼åºç¨å°è¿äºå¸§ä¸ãå¯¹äº B-帧 çè³è§£ç ä¹å®å
¨è·³è¿ã
-.
-.TP
-.B \-(no)gui
-å¯ç¨æåç¨ GUI æ¥å£(é»è®¤åå³äºå¯æ§è¡æä»¶å)ã
-ä»
è½ä½ä¸ºå½ä»¤è¡ç¬¬ä¸ä¸ªåæ°ãä¸è½ä½ä¸ºé项åå
¥é
ç½®æä»¶ã
-.
-.TP
-.B \-h, \-help, \-\-help
-æ¾ç¤ºç®ççé项æ¦è¦ã
-.
-.TP
-.B \-hardframedropï¼æªä½¿ç¨ \-nocorrect\-pts æ¶åªå¯ç¨äºå®éªï¼
-æ´å å¯éç丢帧ï¼ä¸æè§£ç è¿ç¨ï¼ãå°å¯¼è´å¾å失çï¼
-注æï¼libmpeg2 è§£ç å¨å°¤å
¶å¯è½å¨ä½¿ç¨è¯¥é项åå´©æºï¼æä»¥è¯·èè使ç¨
-â\-vc ffmpeg12,âã
-.
-.TP
-.B \-heartbeat\-cmd
-卿æ¾çæ¶åæ¯é 30 ç§éè¿ system() è°ç¨ï¼å³éè¿ shell è°ç¨ï¼æ§è¡çå½ä»¤ã
-.sp 1
-.I 注æï¼
-MPlayer æ§è¡æ¤å½ä»¤æ¶ä¸å ä»¥æ£æ¥ï¼æä»¥ä½ æè´£ä»»ç¡®ä¿è¯¥å½ä»¤ä¸é æä»»ä½å®å
¨é®é¢ï¼ä¾
-å¦ï¼å¦æâ.âå°±åå¨ Windows ä¸é£æ ·æ¯å¨ä½ çè·¯å¾ä¸ï¼åç¡®ä¿ä½¿ç¨å®æ´è·¯å¾ï¼ã
-å¹¶ä¸è¯¥éé¡¹åªæå¨ææ¾è§é¢æ¶ææï¼å³æ²¡æä½¿ç¨ \-novideoï¼ä½å¯ä»¥ä½¿ç¨ \-vo nullï¼ã
-.sp 1
-该é项å¯è½è¢«â误ç¨â以ç¦ç¨ä¸æä¾å¯¹äºéå½ç X API æ¥å£çæ¯æçå±å¹ä¿æ¤ç¨åºã
-å¦æä½ è§å¾è¿å¤ªå¤æäºï¼è¯·è¦æ±å±å¹ä¿æ¤ç¨åºçä½è
æä¾å¯¹äºéå½ç X API çæ¯æã
-ï¼å¦åè§ \-stop\-xscreensaverï¼
-.sp 1
-.I ç¨äº xscreensaver ç示ä¾ï¼
-mplayer \-heartbeat\-cmd "xscreensaver\-command \-deactivate" file
-.sp 1
-.I ç¨äº GNOME screensaver ç示ä¾ï¼
-mplayer \-heartbeat\-cmd "gnome\-screensaver\-command \-p" file
-.RE
-.PD 1
-.
-.TP
-.B \-identify
-æ¯ \-msglevel identify=4 çç®åå½¢å¼ã使ç¨ä¾¿äºè§£æçæ ¼å¼æ¾ç¤ºæä»¶åæ°ã
-åæ¶æå°æ´ä¸ºè¯¦ç»çå
³äºåå¹åé³è½¨çè¯è¨ä¸ ID å·çä¿¡æ¯ã
-å¨æäºæ
å½¢ä¸ï¼ä½¿ç¨ \-msglevel identify=6 è½å¾å°æ´å¤çä¿¡æ¯ã
-ä¾å¦ï¼å¯¹äºä¸å¼ DVD æèå
DVDï¼è¯¥é项è½ååºæ¯ä¸ªæ é¢çç« èåæ¶é¿ï¼ä»¥åä¸ä¸ªç¢ç ID å·ã
-å°æ¤éé¡¹ä¸ \-frames 0 ä¸èµ·ä½¿ç¨è½ç¦æ¢ææè§é¢è¾åºã
-å°è£
èæ¬ TOOLS/\:midentify.sh ç¦æ¢ MPlayer çå
¶å®è¾åºï¼
-å¹¶ä¸ï¼å¾å¯è½ï¼shellescapesï¼èæ¬è½¬ä¹ï¼äºæä»¶åã
-.
-.TP
-.B \-idle (ä¹è¯·åè§ \-slave)
-彿²¡ææä»¶ææ¾æ¶, 让 MPlayer 空é²çå¾
è䏿¯éåºã
-ä¸è¬å¨ slave æ¨¡å¼æ¶æç¨, è½éè¿è¾å
¥å½ä»¤æ§å¶ MPlayerã
-.
-.TP
-.B \-input <å½ä»¤>
-æ¤é项å¯ä»¥ç¨æ¥é
ç½®è¾å
¥ç³»ç»çæäºé¨åãè·¯å¾ç¸å¯¹äº ~/.mplayer/ã
-.br
-.I 注æ:
-èªå¨éå¤åè½ç®ååªææ¸¸ææçºµææ¯æã
-.sp 1
-å¯ç¨çå½ä»¤æ:
-.sp 1
-.PD 0
-.RSs
-.IPs conf=<æä»¶å>
-æå®è¾å
¥é
ç½®æä»¶è䏿¯é»è®¤ç ~/\:.mplayer/\:input.confã
-å¦ææ²¡æç»åºå®å
¨è·¯å¾å, å°åè®¾æ¯ ~/\:.mplayer/\:<æä»¶å>ã
-.IPs ar-dev=<设å¤>
-ç¨ä½ä¸ºè¹æ IR 饿§å¨ç设置ï¼é»è®¤å¼æ¯èªå¨ä¾¦æµï¼ä»
ç¨äº Linuxï¼ã
-.IPs ar-delay
-å¨å¼å§èªå¨éå¤ä¸ä¸ªé®ä¹åçå¾
å¤å°æ¯«ç§ (0 代表åç¨)ã
-.IPs ar-rate
-èªå¨é夿°æ¯æ¯ç§éå¤å¤å°æ¬¡æé®ã
-.IPs (no)default-bindings
-é»è®¤æ
åµä¸ä½¿ç¨ MPlayer èªå¸¦çé®ä½è®¾ç½®ã
-.IPs keylist
-ååºææå¯ä»¥è¢«ç»å®äºå½ä»¤çé®ã
-.IPs cmdlist
-ååºææå¯ä»¥è¢«ç»å®äºé®çå½ä»¤ã
-.IPs js-dev
-æå®ä½¿ç¨çæçºµæè®¾å¤(é»è®¤æ¯: /dev/\:input/\:js0)ã
-.IPs file=<æä»¶å>
-ä»ç»å®æä»¶ä¸è¯»åå½ä»¤ã
-ä¸è¬ç»å FIFO æ¶æç¨ã
-.br
-.I 注æ:
-å½ç»å®æä»¶æ¯ FIFO æ¶ MPlayer æå¼ä¸¤ä¸ªç«¯å¤´, è¿æ ·ä½ å°±å¯ä»¥å
-å æ¬¡ âecho "seek 10" > mp_pipeâ è管éä»ä¿æææã
-.RE
-.PD 1
-.
-.TP
-.B \-key\-fifo\-size <2\-65000>
-æå® FIFO 大å°ä¾ç¼å²æé®äºä»¶ï¼é»è®¤å¼ï¼7ï¼ã
-n 大å°ç FIFO è½å®¹çº³ (n\-1) ç¼å²äºä»¶ã
-å¦æå¤ªå°ä¼ä¸¢å¤±ä¸äºäºä»¶
-(å¯¼è´ "é¼ æ é®å¡ä½" æç±»ä¼¼ææ)ã
-å¦æå¤ªå¤§, MPlayer å¤çç¼å²çäºä»¶æ¶å¯è½çä¸å»æä½äºã
-为å¾å°å以å䏿 ·çè¡ä¸ºææèå¼å
¥æ¤é项,
-对 Linux 设置为 2 æå¯¹ Windows 为 1024ã
-.
-.TP
-.B \-lircconf <æä»¶å> (ä»
éç¨äº LIRC)
-为 LIRC æå®é
ç½®æä»¶(é»è®¤æ¯: ~/.lircrc)ã
-.
-.TP
-.B \-list\-properties
-æå°å¯ç¨ç屿§å表ã
-.
-.TP
-.B \-loop <æ°>
-éå¤åæ¾çµå½± <æ°> éã
-0 表示éå¤ä¸æã
-.
-.TP
-.B \-menu ï¼ä»
ç¨äºOSDèåï¼
-æå¼ OSD è忝æã.
-.
-.TP
-.B \-menu\-cfg <æä»¶å> ï¼ä»
ç¨äºOSDèåï¼
-使ç¨å¦ä¸ç§ç menu.confã
-.
-.TP
-.B \-menu\-chroot <è·¯å¾>ï¼ä»
ç¨äºOSDèåï¼
-å°æä»¶éæ©èåçæ ¹ç®å½æ´æ¹ä¸ºä¸ä¸ªç¹å®ä½ç½®ã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs \-menu\-chroot /home"
-å°éå¶æä»¶éæ©è忥æ¾/\:home以åå
¶ä¸çç®å½ï¼å³ä¸å¯è½è®¿é® /ï¼ä½å¯ä»¥è®¿é®
-/home/user_nameï¼ã
-.RE
-.PD 1
-.
-.TP
-.B \-menu\-keepdirï¼ä»
ç¨äºOSDèåï¼
-æä»¶æµè§å¨ä»æè¿æµè§ä½ç½®å¼å§æµè§ï¼è䏿¯å½åç®å½ã
-.
-.TP
-.B \-menu\-root <åæ°å¼> (ä»
éç¨äº OSD èå)
-æå®ä¸»èåã
-.
-.TP
-.B \-menu\-startup (ä»
éç¨äº OSD èå)
-å¨ MPlayer å¯å¨æ¶æ¾ç¤ºä¸»èåã
-.
-.TP
-.B \-mouse\-movements
-å
许 MPlayer æ¥æ¶æ¥èªè§é¢è¾åºé©±å¨çæéäºä»¶ã
-å¿
须鿩 DVD èåä¸çæé®ã
-æ¯æåºäº X11 çè§é¢è¾åºï¼x11ãxvãxvmcçï¼ä»¥å glãgl2ãdirect3d å corevideo çè§é¢è¾åº
-.
-.TP
-.B \-noar
-å
³éå¯¹äº AppleIR çæ¯æã
-.
-.TP
-.B \-noconsolecontrols
-黿¢ MPlayer è¯»åæ åè¾å
¥çé®çäºä»¶ã
-è¯»åæ åè¾å
¥çæ°æ®æ¶æç¨ãå½ä»¤è¡ä¸åç° \- ä¼èªå¨å¯ç¨ã
-ä¼éå°ä¸å¾ä¸æå¨è®¾ç½®çæ
å½¢, æ¯å¦ä½
-æå¼ /dev/\:stdin (æè
ä½ ç³»ç»ä¸çä»·ç设å¤), 卿æ¾å表ä¸ä½¿ç¨ stdin
-æè
ææ¬²ä»¥åéè¿ slave å½ä»¤ç loadfile æ loadlist ä» stdin 读åã
-.
-.TP
-.B \-nojoystick
-å
³éæ¯ææçºµæã
-.
-.TP
-.B \-nolirc
-å
³éæ¯æ LIRCã
-.
-.TP
-.B \-nomouseinput
-åç¨é¼ æ é® æ/\:æ¾ è¾å
¥ (mozplayerxp çä¸ä¸æèåä¾èµæ¤é项)ã
-.
-.TP
-.B \-rtc (ä»
éç¨ RTC)
-æå¼ä½¿ç¨ Linux ç RTC (宿¶é \- /dev/\:rtc) ä½ä¸ºè®¡æ¶æºå¶ã
-å¤éè¿ç¨æ¯ 1/1024 ç§æ ¸æ¥å½åæ¶é´ã
-é¤éç°ä»£ Linux å
æ ¸é
置为æ¡é¢åºç¨, å 为å½ä½¿ç¨æ£å¸¸ç宿¶ç¡ç æ¶,
-å·²å¤éç¸ä¼¼ç²¾åº¦çè¿ç¨ã
-.
-.TP
-.B \-playing\-msg <å符串>
-å¼å§åæ¾åæå°åºå符串ã
-æ¯æä»¥ä¸çæ©å±:
-.RSs
-.IPs ${NAME}
-æ©å±ä¸ºå±æ§ NAME çå¼ã
-.IPs ?(NAME:TEXT)
-ä»
å½å±æ§ NAME å¯ç¨æ¶æ©å± TEXTï¼æåï¼ã
-.IPs ?(!NAME:TEXT)
-ä»
å½å±æ§ NAME ä¸å¯ç¨æ¶æ©å± TEXTï¼æåï¼ã
-Expand TEXT only if the property NAME is not available.
-.RE
-.
-.TP
-.B \-playlist <æä»¶å>
-æ ¹æ®ææ¾åè¡¨ææ¾æä»¶(ASX, Winamp, SMIL, æè
-one-file-per-line(æ¯è¡ä¸ä¸ªæä»¶) æ ¼å¼)ã
-.br
-.I 注æ:
-æ¤é项ä½ä¸ºæ¡ç®ä»
åºç¨äºææ¾å表çå
ç´ ä»¥å, 伿¾å°é项ã
-.br
-FIXME: éè¦å½»åºçæ¸
å¹¶å»ºç«ææ¡£ã
-.
-.TP
-.B \-rtc\-device <设å¤>
-为 RTC 计æ¶ä½¿ç¨æå®ç设å¤ã
-.
-.TP
-.B \-shuffle
-ä»¥éæºé¡ºåºææ¾æä»¶ã
-.
-.TP
-.B \-skin <å> (ä»
ç¨äº GUI)
-ä»é»è®¤ç®è¤ç®å½
-/usr/\:local/\:share/\:mplayer/\:skins/\: æ ~/.mplayer/\:skins/
-ä¸ç, ä½ä¸ºåæ°çç»å®ç®å½ä¸è£
è½½ç®è¤ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-skin fittyfene"
-å°è¯ /usr/\:local/\:share/\:mplayer/\:skins/\:fittyfene
-ç¶åæ¯ ~/.mplayer/\:skins/\:fittyfeneã
-.RE
-.PD 1
-.
-.TP
-.B \-slave (ä¹è¯·åè§ \-input)
-åæ¢å° slave 模å¼, MPlayer 为å
¶ä»ç¨åºå¨åå°è¿è¡ã
-MPlayer 仿 åè¾å
¥è¯»å以æ°è¡ (\\n) åéå¼çå½ä»¤è¡,
-èä¸åæªè·é®çäºä»¶ã
-.br
-.I 注æ:
-请åè§ \-input cmdlist çå½ä»¤å表å DOCS/tech/slave.txt ä¸çæè¿°ã
-å¦å¤ï¼è¯¥é项并éç¨æ¥ç¦ç¨å
¶å®çè¾å
¥ï¼ä¾å¦éè¿è§é¢çªå£ãè¦ä½¿ç¨å
¶å®æ¹æ³å®ç°é£ç§ææï¼ä¾å¦
-\-input nodefault\-bindings:conf=/dev/nullã
-.
-.TP
-.B \-softsleep
-éè¿ä¸ææ ¸æ¥å½åæ¶é´æ¥æµå®å¸§çæ¶é´,
-è䏿¯è¯·æ±å
æ ¸å¨éå½çæ¶å»å¤é MPlayerã
-对äºå
æ ¸è®¡æ¶å¨ç²¾åº¦ä¸é«ä¸ä¸è½ä½¿ç¨ RTC æ¶æç¨, 代价æ¯è¾é«ç CPU æ¶èã
-.
-.TP
-.B \-sstep <æ°>
-æ¯å¸§åè·³è¿ <æ°> ç§ã
-å½±ççæ£å¸¸å¸§çä»è¢«ä¿ç, æä»¥åæ¾å éäºã
-æ¢ç¶ MPlayer ä»
è½æå¯»å°ä¸ä¸ä¸ª keyframe, å éè¿ç¨å¯è½ä¸ç²¾åã
-.
-.
-.
-.TP
-.B \-udp\-ip <ip>
-设置 \-udp\-master åéçæ°æ®æ¥æä½¿ç¨çç®æ å°åãå°å
¶è®¾ç½®ä¸ºå¹¿æå°åå°å
许å¤ä¸ª
-è¢«å¨æ¹ä½¿ç¨åä¸ä¸ªå¹¿æå°åä¸ä¸»å¨æ¹åæ¥ï¼é»è®¤å¼ï¼127.0.0.1ï¼ã
-.
-.TP
-.B \-udp\-master
-å¨ææ¾æ¯ä¸å¸§ä¹åå \-udp\-ip ç \-udp\-port 端å£åéæ°æ®æ¥ãè¯¥æ°æ®æ¥æç¤ºäºä¸»å¨
-æ¹çæä»¶ææ¾ä½ç½®ã
-.
-.TP
-.B \-udp\-port <端å£å·>
-设置 \-udp\-master åéçæ°æ®æ¥ä½¿ç¨çç®æ 端å£ï¼ä»¥å \-udp\-slave çå¬ç端å£
-ï¼é»è®¤å¼ï¼23867ï¼ã
-.
-.TP
-.B \-udp\-seek\-threshold <ç§æ°>
-å½ä¸»å¨æ¹å®ä½æ¶ï¼è¢«å¨æ¹å¿
é¡»å³å®æ¯å¦ä¹è¦å®ä½ï¼ææ¯ä»¥è§£ç 帧èä¸å¨å¸§é´åé¡¿çæ¹å¼
-èµ¶ä¸ä¸»å¨æ¹ã妿䏻卿¹è·ç¦»è¢«å¨æ¹å·²è¶
è¿ <ç§æ°> ç§ï¼åè¢«å¨æ¹éæ©å®ä½ã
-å¦åï¼å
¶éæ©èµ¶ä¸æçå¾
䏻卿¹ã
-该é项å¨å¤§å¤æ°æ
åµä¸åºå½ä¿ç为å
¶é»è®¤ç 1 ç§è®¾ç½®ã
-.
-.TP
-.B \-udp\-slave
-çå¬ \-udp\-port æå®ç端å£å¹¶åæ¥ä¸»å¨æ¹çææ¾ä½ç½®ã
-.
-.
-.SH "æµå离å¨/åªä½æµé项"
-.
-.TP
-.B \-a52drc <级å«>
-éæ© AC-3 é³é¢æµç卿èå´å缩(DRC)级å«ã
-<级å«> æ¯ 0 å° 1 çæµ®ç¹æ°, å
¶ä¸ 0 表示æ å缩,
-(é»è®¤å¼) 1 表示å
¨å缩 (使å¾å亮çéè·¯æ´å®éæç¸å)ã
-å¯ä½¿ç¨å¤§äº 2 çå¼ï¼ä½ä»
ä¾è¯éªã
-æ¤é项ä»
å½ AC-3 æµå
嫿éèå´çåç¼©ä¿¡æ¯æ¶æ¾ç¤ºææã
-.
-.TP
-.B \-aid <代ç > (ä¹è¯·åè§ \-alang)
-éæ©é³é¢é¢é (MPEG: 0\-31, AVI/\:OGM: 1\-99, ASF/\:RM: 0\-127,
-VOB(AC-3): 128\-159, VOB(LPCM): 160\-191, MPEG-TS 17\-8190)ã
-MPlayer å¨ verbose (\-v) 模å¼ä¸ä¼æå°å¯ç¨çé³é¢ä»£ç ã
-å½ææ¾ MPEG-TS æµæ¶, MPlayer/\:MEncoder ç¨ç¬¬ä¸ä¸ªç¨åº
-ææ¾å·²éæ©ç(妿æçè¯)é³é¢æµã
-.
-.TP
-.B \-ausid <代ç >ï¼ä¹è¯·åè§ \-alangï¼
-éæ©åé³é¢æµçé¢éã
-å½åææçåå¼èå´ä¸º 0x55..0x75ï¼å¹¶ä¸å½ç±åçæµåè§£å¨ï¼è䏿¯ libavformatï¼æ¶å¤çæ¶ï¼
-åªéç¨äºMPEG-TSã
-ç±äºåªä½ç±»åä¿¡æ¯å¨åªä½æµä¸çåµå
¥æ¹å¼æå¼æå
¶å¨æµä¸ç¼ºå¤±ï¼åªä½ç±»åå¯è½æ æ³æ£ç¡®è¯å«ï¼ä½å½
-å¤ä¸ªåæµå卿¶ï¼é³é¢æµä¼æ£ç¡®åè§£åºæ¥ã
-å½ä½¿ç¨ \-identify è¿è¡æ¶ï¼MPlayer æå°åºå¯ç¨çåæµç代ç ã
-.
-.TP
-.B \-alang <è¯è¨ä»£ç [,è¯è¨ä»£ç ,...]> (ä¹è¯·åè§ \-aid)
-æå®ä½¿ç¨é³é¢è¯è¨çä¼å
级å表ã
-ä¸åç容卿 ¼å¼ä½¿ç¨ä¸åçè¯è¨ä»£å·ãDVDs ä½¿ç¨ ISO 639\-1 ç
-两å符è¯è¨ä»£å·, MatroskaãMPEG-TS å NUT ä½¿ç¨ ISO 639\-2 ç
-ä¸å符è¯è¨ä»£å·, è OGM 使ç¨ä»»ææ ¼å¼æ è¯ç¬¦ã
-MPlayer å¨ verbose (\-v) 模å¼ä¸ä¼æå°å¯ç¨çè¯è¨ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-alang hu,en"
-éæ© DVD ä¸çåçå©è¯é³è½¨ææ¾èè±è¯å¨æ²¡æåçå©è¯æ¶å¤ç¨ã
-.IPs "mplayer \-alang jpn example.mkv"
-ææ¾æ¥è¯ Matroska æä»¶ã
-.RE
-.PD 1
-.
-.TP
-.B \-audio\-demuxer <[+]åç§°> (ä»
ç¨äº \-audiofile)
-éå®ç¨äº \-audiofile çé³é¢åè·¯å¨ç±»åã
-å¨åç§°åä½¿ç¨ "+" éå®ç±»å, è·³è¿æäºæ ¸æ¥!
-æç
§ \-audio\-demuxer help æå°åºæ¥çæå®åè·¯å¨ç±»åã
-为äºååå
¼å®¹, 乿¥åå®ä¹å¨ libmpdemux/\:demuxer.h çåè·¯å¨æ è¯ã
-\-audio\-demuxer audio æ \-audio\-demuxer 17 éå® MP3ã
-.
-.TP
-.B \-audiofile <æä»¶å>
-å¨ççµå½±æ¶ææ¾å¤é¨é³é¢æä»¶(WAV, MP3 æ Ogg Vorbis)ã
-.
-.TP
-.B \-audiofile\-cache <ååè>
-对 \-audiofile çæä»¶æµå¯ç¨ç¼å, ä½¿ç¨æå®å¤§å°çå
åã
-.
-.TP
-.B \-reuse\-socket ï¼ä»
éç¨äºudp://ï¼
-å
许SOCKETå¨å
³éåç«å³è¢«å
¶å®è¿ç¨éæ°å©ç¨ã
-.
-.TP
-.B \-bandwidth <åèå¼> (ä»
éç¨äºç½ç»)
-æå®ç½ç»æµçæå¤§å¸¦å®½(ç¨äºæå¡å¨å¯ä»¥ä»¥ä¸åå¸¦å®½ä¼ éå
容çæ
åµ)ã
-å½ä½ 以æ
¢éè¿æ¥è§çç°åºæµåªä½æ¶æç¨ã
-å¯¹äº Real RTSP æµ, ä¹ç¨æ¥è®¾ç½®æå¤§çä¼ é带宽
-以容许è¾å¿«çç¼åå¡«å
åæµè½¬å¨ã
-.
-.TP
-.B \-bluray\-angle <è§åº¦ ID>ï¼ä»
ç¨äºèå
DVDï¼
-æäºèå
ç¢çå
å«ä¸äºå¯ä»å¤ä¸ªè§åº¦è§ççåºæ¯ã
-è¿éä½ å¯ä»¥åè¯ MPlayer 使ç¨åªä¸ªè§åº¦ï¼é»è®¤å¼ï¼1ï¼ã
-.
-.TP
-.B \-bluray\-chapter <ç« è ID>ï¼ä»
ç¨äºèå
DVDï¼
-åè¯ MPlayer ä»åªä¸ªèå
DVD ç« èå¼å§å½åæ é¢å
å®¹çææ¾ï¼é»è®¤å¼ï¼1ï¼ã
-.
-.TP
-.B \-bluray\-device <ç¢çè·¯å¾>ï¼ä»
ç¨äºèå
DVDï¼
-æå®èå
ç¢ççä½ç½®ãå¿
é¡»æ¯ä¸ä¸ªå
·æèå
DVD ç»æçç®å½ã
-.
-.TP
-.B \-cache <ååè>
-æ¤é项æå®ç¨å¤å°å
å(以 kBytes 为åä½)ä½ä¸ºææ¾æä»¶æ URL çé¢ç¼å²ã
-对é度æ
¢çåªä½ç¹å«æç¨ã
-.
-.TP
-.B \-nocache
-å
³éç¼å²ã
-.
-.TP
-.B \-cache\-min <ç¾åæ°>
-å½ç¼å²å¡«å
å°æ»æ°ç <ç¾åæ°> æ¶å¼å§åæ¾ã
-.
-.TP
-.B \-cache\-seek\-min <ç¾åæ°>
-妿æ¥å¯»å°çä½ç½®å¤äºä»å½åä½ç½®ç®èµ·çç¼å大å°ç <ç¾åæ°> ä¹å
,
-MPlayer çå¾
å¡«å
ç¼åå°æ¤ä½ç½®è䏿¯æ§è¡æµæ¥å¯»(é»è®¤æ¯: 50)ã
-.
-.TP
-.B \-captureï¼ä»
ç¨äº MPlayerï¼
-æä¾å°ä¸»åªä½æµï¼å¹¶éé¢å¤çé³é¢æµæå
¶å®ç±»åçåªä½æµï¼æåè³æä»¶çåè½ã使ç¨
-\-dumpfile æå®åæ¾çæä»¶ï¼é»è®¤ä¸ºâstream.dumpâã
-å¦æä½¿ç¨äºè¯¥é项ï¼åå¯ä»¥éè¿æç»å®è³è¯¥åè½çæé®æ¥å¼å§å忢æåæä½ãï¼åè§
-â交äºå¼æ§å¶âé¨åï¼ã
-ä¸ \-dumpstream ç¸åï¼é¤äº MPEG åªä½æµï¼è¯¥é项å¯è½äº§çä¸äºå¯ç¨çè¾åºã
-éæ³¨æçæ¯ï¼ç±äºç¼å²æå»¶è¿ï¼æåå°çæ°æ®çå¼å§åç»æä½ç½®æ¯ä½ æè§å°çä½ç½®é åã
-.
-.TP
-.B \-cdda <é项1:é项2> (ä»
éç¨äº CDDA)
-æ¤éé¡¹ç¨æ¥è°æ´ MPlayer ç CD é³é¢è¯»åç¹æ§ã
-.sp 1
-å¯ç¨é项æ:
-.RSs
-.IPs speed=<åæ°å¼>
-è®¾å® CD 转éã
-.IPs paranoia=<0\-2>
-设å®è°¨æ
级å«ã
-0 以å¤çå¼å¯è½ä¼ææé¤äºç¬¬ä¸ä¸ªé³è½¨çä»»ä½åæ¾ã
-.RSss
-0: å
³éæ£æµ (é»è®¤)
-.br
-1: åªè¿è¡éå æ£æµ
-.br
-2: å®å
¨æ°æ®ä¿®æ£åæ ¡æ£
-.REss
-.IPs generic-dev=<åæ°å¼>
-ä½¿ç¨æå®çéç¨ SCSI 设å¤ã
-.IPs sector-size=<åæ°å¼>
-åä½è¯»åéã
-.IPs overlap=<åæ°å¼>
-é宿 ¡æ£æ¶çæå°éå æç´¢ä¸º <åæ°å¼> 个æåºã
-.IPs toc-bias
-åå® TOC æ¥åä¸ç¬¬1é³è½¨çèµ·å§åç§»é为 LBA 0ã
-æäºä¸èå
驱éè¦è¿æ ·æ¥ä¿®æ£é³è½¨è¾¹çã
-.IPs toc-offset=<åæ°å¼>
-æ¥åé³è½¨æ¶å¨æåºæ°ä¸åå ä¸ <åæ°å¼> 个æåºãå¯è½æ¯è´æ°ã
-.IPs (no)skip
-(ä¸)æ¥åä¸å®æ´çæ°æ®é建ã
-.RE
-.
-.TP
-.B \-cdrom\-device <设å¤è·¯å¾>
-æå® CD-ROM è®¾å¤ (é»è®¤æ¯: /dev/\:cdrom)ã
-.
-.TP
-.B \-channels <æ°å> (ä¹è¯·åè§ \-af channels)
-è¯·æ±ææ¾ç声鿰 (é»è®¤æ¯: 2)ã
-MPlayer è¦æ±è§£ç 卿é³é¢è§£ç 尿宿°éç声éã
-ç¶åç±è§£ç 卿¥å®ç°è¿ä¸ªè¦æ±ã
-æ¤é项éå¸¸åªæå¨ææ¾å¸¦ AC-3 é³é¢(æ¯å¦ DVD)çè§é¢æ¶ææ¾å¾éè¦ã
-å¨é£æ¶é»è®¤ä½¿ç¨ liba52 è§£ç å¹¶æé³é¢æ£ç¡®å°æ··åå°éè¦ç声鿰ã
-为äºç´æ¥æ§å¶è¾åºå£°éæ°ç¬ç«äºè§£ç 声鿰, 使ç¨å£°éè¿æ»¤å¨ã
-.br
-.I 注æ:
-æ¤é项å¯ä»¥è¢«è§£ç å¨(ä»
éç¨äº AC-3), è¿æ»¤é(ç¯ç»ç«ä½å£°), åé³é¢
-è¾åºé©±å¨(è³å° OSS å¯ä»¥)æ¥åã
-.sp 1
-å¯ç¨é项æ:
-.sp 1
-.PD 0
-.RSs
-.IPs 2
-ç«ä½å£°
-.IPs 4
-ç¯ç»ç«ä½å£°
-.IPs 6
-5.1 å
¨å£°éè¾åº
-.IPs 8
-7.1 å
¨å£°éè¾åº
-.RE
-.PD 1
-.
-.TP
-.B \-chapter <åºæ¯æ è¯>[\-<æ«å°¾åºæ¯æ è¯>] (ä»
éç¨äº dvd:// å dvdnav://)
-æå®ä»åªä¸ªåºæ¯å¼å§ææ¾ãä¹å¯ä»¥æå®å¨åªä¸ªåºæ¯ç»æææ¾ (é»è®¤å¼ä¸º: 1)ã
-.
-.TP
-.B \-cookies (ä»
éç¨äºç½ç»)
-HTTP è¯·æ±æ¶åé cookiesã
-.
-.TP
-.B \-cookies\-file <æä»¶å> (ä»
éç¨äºç½ç»)
-ä» <æä»¶å> ä¸è¯»å HTTP cookies (é»è®¤æ¯: ~/.mozilla/ å ~/.netscape/)
-èè·³è¿ä»é»è®¤ä½ç½®è¯»åã
-åå®æä»¶æ¯ Netscape æ ¼å¼ã
-.
-.TP
-.B \-delay <æ°>
-é³é¢å»¶è¿æ°ç§ (æ£æè´çæµ®ç¹æ°)
-.br
-è´å¼å»¶è¿é³é¢ï¼èæ£å¼å»¶è¿è§é¢ã
-注æè¿ä¸MEncoderç\-audio\-delayé项æ£å¥½ç¸åã
-.br
-.I 注æ:
-å½å MEncoder ä¸èµ·ç¨æ¶, å¹¶ä¸ä¿è¯è½ä¸ \-ovc copy ä¸èµ·å·¥ä½æ£å¸¸;
-è¯·ä½¿ç¨ \-audio\-delayã
-.
-.TP
-.B \-ignore\-start
-å¿½ç¥ AVI æä»¶ä¸æå®çæµå¼å§æ¶é´ã
-å¯¹äº MPlayer, ç¨ \-audio\-delay é项ç¼ç çæä»¶åºé¤äºæµå»¶è¿ã
-å¨ç¼ç æ¶æ, æ¤é项鲿¢ MEncoder 转éåæµçå¼å§æ¶é´å°æ°çæä»¶;
-使¯ \-audio\-delay é项并ä¸åå½±åã
-注æ MEncoder ææ¶ä¼èªå¨è°æ´æµå¼å§æ¶é´ä»¥è¡¥å¿é¢æçè§£ç å»¶è¿,
-æä»¥æ²¡ææµè¯ä¹åä¸è¦ä½¿ç¨æ¤é项è¿è¡ç¼ç ã
-.
-.TP
-.B \-demuxer <[+]ç±»åå>
-éå®åè·¯å¨ç±»åã
-å¨åç§°åä½¿ç¨ "+" éå®ç±»å, è·³è¿æäºæ ¸æ¥!
-æç
§ \-demuxer help æå°åºæ¥çæå®åè·¯å¨ç±»åã
-为äºååå
¼å®¹, 乿¥åå®ä¹å¨ libmpdemux/\:demuxer.h çåè·¯å¨æ è¯ã
-.
-.TP
-.B \-dumpaudio (ä»
ç¨äº MPlayer)
-转å¨åå§çé³é¢å缩æµå° ./stream.dump (ç¨äº MPEG/\:AC-3,
-坹大夿°å
¶å®æ
å½¢, 转å¨çæä»¶ä¸å¯ææ¾)ã
-å¦æä½ å¨å½ä»¤è¡ä¸æå®å¤äºå
¶ä¸ \-dumpaudio, \-dumpvideo, \-dumpstream
-çä¸ä¸ª, åªææåä¸ä¸ªçæã
-.
-.TP
-.B \-dumpfile <æä»¶å> (ä»
ç¨äº MPlayer)
-æå® MPlayer åºè¯¥è½¬å¨å°çæä»¶ã
-åºè¯¥ä¸ \-dumpaudio / \-dumpvideo / \-dumpstream \-capture ä¸èµ·ä½¿ç¨ã
-.
-.TP
-.B \-dumpstream (ä»
ç¨äº MPlayer)
-转å¨åå§æµå° ./stream.dumpã
-ä» DVD æç½ç»ä¸æåçæ¶åæç¨ã
-å¦æä½ å¨å½ä»¤è¡ä¸æå®å¤äºå
¶ä¸ \-dumpaudio, \-dumpvideo, \-dumpstream
-çä¸ä¸ª, åªææåä¸ä¸ªçæã
-.
-.TP
-.B \-dumpvideo (ä»
ç¨äº MPlayer)
-转å¨åå§æµå° ./stream.dump (䏿¯ååæç¨)ã
-å¦æä½ å¨å½ä»¤è¡ä¸æå®å¤äºå
¶ä¸ \-dumpaudio, \-dumpvideo, \-dumpstream
-çä¸ä¸ª, åªææåä¸ä¸ªçæã
-.
-.TP
-.B \-dvbin <é项> (ä»
ç¨äº DVB)
-ä¸ºäºæ¿ä»£é»è®¤çå¼, æä¸é¢çåæ°ä¼ éç» DVB è¾å
¥æ¨¡å:
-.sp 1
-.PD 0
-.RSs
-.IPs card=<1\-4>
-æå®ä½¿ç¨å¡å· 1\-4 (é»è®¤æ¯: 1).
-.IPs file=<æä»¶å>
-æç¤º MPlayer ä»é¢éä¸è¯»å <æä»¶å>ã
-é»è®¤æ¯ ~/.mplayer/\:channels.conf.{sat,ter,cbl,atsc} (åºäºå¡çç±»å)
-æè
æåäºæ±å© ~/.mplayer/\:channels.confã
-.IPs timeout=<1\-30>
-æ¾å¼è¯å¾è°è°çæå¤§çåç§æ°(é»è®¤æ¯: 30)ã
-.RE
-.PD 1
-.
-.TP
-.B \-dvd\-device <设å¤è·¯å¾> (ä»
ç¨äº DVD)
-æå® DVD è®¾å¤æ .iso æä»¶åï¼é»è®¤æ¯: /dev/\:dvdï¼ã
-ä½ ä¹å¯ä»¥æå®ç®å½, å
¶ä¸å
å«ä»¥åç´æ¥ä» DVD æ·è´ï¼æ¯å¦ç¨ vobcopyï¼çæä»¶ã
-.
-.TP
-.B \-dvd\-speed <以KB/s为åä½çå æ°æé度å¼> ï¼ä»
éç¨äºDVDï¼
-å°è¯éå¶DVDçä¼ è¾é度ï¼é»è®¤å¼ï¼0ï¼ä»£è¡¨ä¸ä½æ´æ¹ï¼ã
-DVDçåºç¡éç约为1350KB/sï¼æä»¥ä¸å°8åéç驱å¨å¨è½ä»¥æé«10800KB/sçé度读å
-æ°æ®ã
-è¾ä½çé度使驱å¨å¨å·¥ä½å¾æ´å®éï¼å¯¹äºè§çDVDçæ¥è¯´ï¼2700KB/såºè¯¥æ¯è¶³å¤å®éä¸å¿«é
-äºã
-MPlayerå¨å
³éæ¶å°é©±å¨å¨çé度éç½®è³é»è®¤å¼ã
-æ°å¼å¦æå°äº100å表示1350KB/sçåæ°ï¼ä¾å¦\-dvd\-speed 8è¡¨ç¤ºéæ©10800KB/sã
-.br
-.I 注æï¼
-ä½ éè¦ç¨DVD设å¤çåæéä»¥æ´æ¹ä¼ è¾é度ã
-.
-.TP
-.B \-dvdangle <è§è§æ è¯> (ä»
ç¨äº DVD)
-æäº DVD ç¢çä¸çåºæ¯å¯ä»¥ä»å¤ä¸ªè§è§è§çã
-è¿éä½ å¯ä»¥åè¯ MPlayer 使ç¨åªä¸ªè§è§(é»è®¤æ¯: 1)ã
-.
-.TP
-.B \-edl <æä»¶å>
-åæ¾æ¶å¯ç¨ç¼è¾å³å®å表(EDL)ã
-æ ¹æ®ç»å®æä»¶çæ¡ç®è§é¢è¢«è·³è¿, èé³é¢æé鳿ä¸éé³ã
-å¦ä½ä½¿ç¨è¯¦æ
请åè§ http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.htmlã
-.
-.TP
-.B \-endpos <[[hh:]mm:]ss[.ms]|size[b|kb|mb]> (ä¹è¯·åè§ \-ss å \-sb)
-忢å¨ç»å®çæ¶é´æåèä½ç½®ã
-.br
-.I 注æ:
-åèä½ç½®ä»
ä¸ºäº MEncoder èå¯ç¨ä½ä¸ç²¾ç¡®, å 为å®åªä¼åå¨å¸§çè¾¹ç¼ã
-å½ä¸ \-ss é项ç»åä½¿ç¨æ¶, \-endpos çæ¶é´ä¼ååç§»å¨ \-ss æå®çç§æ°ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-endpos 56"
-56 ç§å忢ã
-.IPs "\-endpos 01:10:00"
-1 å°æ¶ 10 åå忢ã
-.IPs "\-ss 10 \-endpos 56"
-1 å 6 ç§å忢ã
-.IPs "\-endpos 100mb"
-åªç¼ç 100 MBã
-.RE
-.PD 1
-.
-.TP
-.B \-forceidx
-强å¶ç´¢å¼é建ã
-对索å¼åæçæä»¶(A/V ä¸åæ¥çç)æç¨ã
-è¿ä½¿å¾ä¸å¯è½æç´¢çæä»¶å¯ç¨æç´¢ã
-ä½ è½ä½¿ç¨ MEncoder æ°¸ä¹
æ§å°ä¿®å¤ç´¢å¼ (请åè§ææ¡£)ã
-.br
-.I 注æ:
-æ¤é项ä»
å¯¹åæ¬æ¯ææç´¢çåªä½ææ (å³ä¸è½æ¯: æ åè¾å
¥, 管é, ç)ã
-.
-.TP
-.B \-fps <æµ®ç¹æ°>
-é载帧éçã
-妿åå
ç弿¯é误çæç¼ºå°çæç¨ã
-.
-.TP
-.B \-frames <åæ°å¼>
-åªææ¾/\:转æ¢å<åæ°å¼>帧, ç¶åéåºã
-.
-.TP
-.B \-hr\-mp3\-seek (ä»
ç¨äº MP3)
-é«ç²¾åº¦ MP3 æç´¢ã
-ææ¾å¤é¨ MP3 æä»¶æ¶å¯ç¨,
-å 为æä»¬éè¦æç´¢å°é常精确çä½ç½®æ¥ä¿æ A/V 忥ã
-è¿ç§æ¹æ³å¨åéæç´¢æ¶å°¤å
¶æ
¢, å 为éè¦ç»åå°å¼å¤´æ¥å¯»æ¾åç¡®ç帧ä½ç½®ã
-.
-.TP
-.B \-idx (ä¹è¯·åè§ \-forceidx)
-卿²¡ææ¾å°ç´¢å¼çæ
åµä¸é建æä»¶çç´¢å¼, ä»èå
许æç´¢ã
-å¯¹äºæåç/\:ä¸å®æ´çä¸è½½, æå¶ä½ä½å£çæä»¶æç¨ã
-.br
-.I 注æ:
-æ¤é项ä»
å¯¹åæ¬æ¯ææç´¢çåªä½ææ (å³ä¸è½æ¯: æ åè¾å
¥, 管é, ç)ã
-.
-.TP
-.B \-noidx
-è·³è¿éå»ºç´¢å¼æä»¶çæ¥éª¤ã
-MEncoder卿¤é项ä¸è·³è¿åå
¥ç´¢å¼çæ¥éª¤ã
-.TP
-.B \-ipv4\-only\-proxy (ä»
éç¨äºç½ç»)
-å¯¹äº IPv6 å°åè·³è¿ä»£çæå¡å¨ã
-ä»ç¶ç¨äº IPv4 è¿æ¥ã
-.
-.TP
-.B \-loadidx <ç´¢å¼æä»¶>
-ä» \-saveidx ä¿åçæ¤æä»¶ä¸, 读åè§é¢ç´¢å¼æ°æ®ã
-ç´¢å¼ç¨äºæç´¢, è¿è½½å
¶å®ä»»ä½å
å«å¨ AVI æ¬èº«çç´¢å¼ã
-MPlayer ä¸é»æ¢ä½ è£
载产çäºä¸å AVI çç´¢å¼æä»¶,
-使¯çç¡®ä¼å¯¼è´ä¸å©çç»æã
-.br
-.I 注æ:
-æ¢ç¶ MPlayer ç°å¨æ¯æ OpenDML, æ¤é项已åºå¼ã
-.
-.TP
-.B \-mc <æ¯å¸§ç§æ°>
-æ¯å¸§çæå¤§ A-V åæ¥ä¿®æ£(以ç§ä¸ºåä½)ã
-.br
-å¯¹äº mencoderï¼\-mc 0 åºå½æ»æ¯ä¸ \-noskip ä¸å使ç¨ï¼å¦åå ä¹å¿
ç¶å¯¼è´é³è§é¢
-ä¸åæ¥ã
-.
-.TP
-.B \-mf <é项1:é项2:...>
-ç¨æ¥ä»å¤ä¸ª PNG æ JPEG æä»¶ä¸è§£ç ã
-.sp 1
-å¯ç¨é项æ:
-.sp 1
-.PD 0
-.RSs
-.IPs w=<åæ°å¼>
-è¾å
¥æä»¶ç宽度 (é»è®¤æ¯: èªå¨æ£æµ)
-.IPs h=<åæ°å¼>
-è¾å
¥æä»¶çé«åº¦ (é»è®¤æ¯: èªå¨æ£æµ)
-.IPs fps=<åæ°å¼>
-è¾åºç帧ç (é»è®¤æ¯: 25)
-.IPs type=<åæ°å¼>
-è¾å
¥æä»¶çç±»å (å¯ç¨ç±»åæ¯: jpeg, png, tga, sgi)
-.RE
-.PD 1
-.
-.TP
-.B \-ni (ä»
ç¨äº AVI)
-éå®ä½¿ç¨é交éç AVI åæå¨(ä¿®å¤æäºè´¨éå·®ç AVI æä»¶çææ¾)ã
-.
-.TP
-.B \-nobps (ä»
ç¨äº AVI)
-ä¸ä½¿ç¨å¹³åæ¯ç¹ç弿¥ç»´æ A-V 忥ã
-对æäºæä»¶å¤´æåç AVI æä»¶æå¸®å©ã
-.
-.TP
-.B \-noextbased
-åç¨åºäºåç¼åçåè·¯å¨éæ©æºå¶ã
-é»è®¤æ
åµä¸, å½æä»¶ç±»å(åè·¯å¨)æ æ³å¯é æ£æµæ¶
-(æä»¶æ²¡æå¤´é¨æè
ä¸å¤å¯é ), ä½¿ç¨æä»¶åç¼åæ¥éæ©åè·¯å¨ã
-åºäºå
容çåè·¯å¨æ»æ¯å¯ä½ä¸ºå¤ç¨çã
-.
-.TP
-.B \-passwd <å¯ç > (ä¹è¯·åè§\-user é项) (ä»
éç¨äºç½ç»)
-设置 http 认è¯å¯ç .
-.
-.TP
-.B \-prefer\-ipv4 (ä»
éç¨äºç½ç»)
-ä½¿ç¨ IPv4 ç½ç»è¿æ¥ã
-IPv6 èªå¨å°ä½ä¸ºå¤ç¨ã
-.
-.TP
-.B \-prefer\-ipv6 (ä»
éç¨äº IPv6 ç½ç»)
-ä½¿ç¨ IPv6 ç½ç»è¿æ¥ã
-IPv4 èªå¨å°ä½ä¸ºå¤ç¨ã
-.
-.TP
-.B \-psprobe <åèæå¨ä½ç½®>
-å½ææ¾ MPEG-PS æ MPEG-PES æµæ¶ï¼æ¤éé¡¹è®©ä½ è®¾å®ä½ 叿 MPlayer æ¥çå¤å°åè以确认
-æè¦ä½¿ç¨çè§é¢ç¼/è§£ç å¨ã
-卿æ¾å«æ H.264 æµç EVO æ VDR æä»¶æ¶éè¦æ¤é项ã
-.
-.TP
-.B \-pvr <é项1:é项2:...> (ä»
éç¨äº PVR)
-æ¤é项è°è° PVR æææ¨¡åçåç§ç¼ç 屿§ã
-ä¸å¾ä¸ä¸åºäºç¡¬ä»¶ MPEG ç¼ç å¨ V4L2 驱卿¯æçå¡ä¸èµ·ä½¿ç¨ã
-Hauppauge WinTV PVR\-150/250/350/500 åææåºäº IVTV çå¡
-æ¯ä¼æå¨ç¥ç PVR ææå¡ã
-å°å¿åªæ Linux 2.6.18 å以ä¸çå
æ ¸è½éè¿ V4L2 å±å¤ç MPEG æµã
-å¯¹äº MPEG æµç¡¬ä»¶ææå¡å¹¶ä½¿ç¨ MPlayer/MEncoder æ¥è§ççµå½±ç,
-ä½¿ç¨ "pvr://" ä½ä¸º URL å°åã
-.sp 1
-å¯ç¨é项æ:
-.RSs
-.IPs aspect=<0\-3>
-æå®å®½é«æ¯:
-.RSss
-0: 1:1
-.br
-1: 4:3 (é»è®¤)
-.br
-2: 16:9
-.br
-3: 2.21:1
-.REss
-.IPs arate=<32000\-48000>
-æå®ç¼ç é³é¢ç(encoding audio rate) (é»è®¤æ¯: 48000 Hz, å¯ç¨çæ: 32000,
-44100 å 48000 Hz)ã
-.IPs alayer=<1\-3>
-æå®ç¼ç MPEG é³é¢å± (é»è®¤æ¯: 2)ã
-.IPs abitrate=<32\-448>
-æå®é³é¢ç¼ç æ¯ç¹ç(以 kbps 为åä½) (é»è®¤æ¯: 384)ã
-.IPs amode=<åæ°å¼>
-æå®é³é¢ç¼ç 模å¼ã
-å¯ç¨çé¢è®¾å¼æ¯ "stereo", "joint_stereo", "dual" å "mono" (é»è®¤æ¯: stereo)ã
-.IPs vbitrate=<åæ°å¼>
-æå®å¹³åç¼ç è§é¢æ¯ç¹ç(以 Mbps 为åä½) (é»è®¤æ¯: 6)ã
-.IPs vmode=<åæ°å¼>
-æå®è§é¢ç¼ç 模å¼:
-.RSss
-vbr: Variable BitRate (å¯åæ¯ç¹ç) (é»è®¤)
-.br
-cbr: Constant BitRate (叏鿝ç¹ç)
-.REss
-.IPs vpeak=<åæ°å¼>
-æå®ç¼ç è§é¢æ¯ç¹çå³°å¼(以 Mbps 为åä½)
-(åªå¯¹ VBR ç¼ç æç¨, é»è®¤æ¯: 9.6)ã
-.IPs fmt=<åæ°å¼>
-éæ©è¿è¡ç¼ç ç MPEG æ ¼å¼:
-.RSss
-ps: MPEG-2 Program Stream (MPEG-2 ç¨åºæµ) (é»è®¤)
-.br
-ts: MPEG-2 Transport Stream (MPEG-2 ä¼ è¾æµ)
-.br
-mpeg1: MPEG-1 System Stream (MPEG-1 ç³»ç»æµ)
-.br
-vcd: Video CD compatible stream (VCD å¯å
¼å®¹æµ)
-.br
-svcd: Super Video CD compatible stream (SVCD å¯å
¼å®¹æµ)
-.br
-dvd: DVD compatible stream (DVD å¯å
¼å®¹æµ)
-.REss
-.RE
-.PD 1
-.
-.TP
-.B \-radio <é项1:é项2:...> ï¼ä»
éç¨äºæ¶é³ï¼
-è¿äºé项éç¨ä»¥è®¾ç½®æ¶é³æææ¨¡åçåç§åæ°ã
-è¦ç¨MPlayeræ¶å¬çµå°ä½¿ç¨âradio://<é¢ç>âï¼å¦æä¸æä¾é¢ééé¡¹ï¼æ
-âradio://<é¢éå·>âï¼å¦ææä¾é¢éé项ï¼ä½ä¸ºURLã
-ä½ å¯ä»¥éè¿ä»¥â-vâé项è¿è¡MPlayeræ¥çå
许çé¢çèå´ã
-è¥è¦å¯å¨ææåç³»ç»ï¼å使ç¨âradio://<é¢çæé¢é>/captureâã
-妿ä¸ç»åºå
³é®åcaptureï¼åä½ å¯ä»¥åªä½¿ç¨è¾å
¥çº¿ç¼æ¶å¬çµå°ã
-ç±äºåæ¥é®é¢ï¼ä¸æ¨è使ç¨captureæ¥æ¶å¬çµå°ï¼è¿ä¼ä½¿ææä¸ä½³ã
-.sp 1
-å¯ç¨é项æï¼
-.RSs
-.IPs device=<å¼>
-æä½¿ç¨çæ¶é³è®¾å¤ï¼é»è®¤å¼ï¼Linuxä¸ä¸º/dev/radio0ï¼è*BSDä¸ä¸º/dev/tuner0ï¼ã
-.IPs driver=<å¼>
-æä½¿ç¨çæ¶é³é©±å¨ï¼é»è®¤å¼ï¼å¦ææåç¨v412ï¼å¦å为v41ï¼ã
-å½åæ¯æv41åv412驱å¨ã
-.IPs volume=<0..100>
-æ¶é³è®¾å¤çé³éï¼é»è®¤ä¸º100ï¼
-.IPs "freq_min=<å¼>ï¼ä»
éç¨äº*BSD BT848ï¼"
-å
许çæå°é¢çï¼é»è®¤å¼ï¼87.50ï¼
-.IPs "freq_max=<value>ï¼ä»
éç¨äº*BSD BT848ï¼"
-å
许çæå¤§é¢çï¼é»è®¤å¼ï¼108.00ï¼
-.IPs
-channels=<é¢ç>\-<åç§°>[=<常è§å¼>],<é¢ç>\-<åç§°>[=<常è§å¼>],...
-设置é¢éå表ã
-å¨åç§°ä¸ç¨â_â代æ¿ç©ºæ ¼ï¼æä½¿ç¨å¼å·ï¼ã
-é¢éååå°±ä¼ä»¥OSDæ¹å¼æ¾ç¤ºåºæ¥ï¼èä»å½ä»¤radio_step_channelåradio_set_channel
-对äºé¥æ§ä¼å¾æç¨ï¼åè§LIRCï¼ã
-妿ç»åºï¼åURLä¸çæ°åå°ä½ä¸ºé¢éå表ä¸çé¢éä½ç½®ç¼å·ã
-.br
-.I 示ä¾:
-radio://1, radio://104.4, radio_set_channel 1
-.IPs "adevice=<å¼>ï¼ä»
ç¨äºå½å¶æ 线çµå¹¿ææ¶ï¼"
-ä½ä¸ºæææå£°é³æ¥æºç设å¤çåå
-没æè¿æ ·çååå°ç¦ç¨ææåè½ï¼å³ä¾¿URLä¸åºç°captureå
³é®åã
-å¦æè®¾å¤åä¸å«æä¸ä¸ªâ=âï¼å模åå°ä½¿ç¨ALSAæ¥ææï¼
-å¦åç¨OSSã
-.IPs "arate=<åæ°å¼>ï¼ä»
ç¨äºå½å¶æ 线çµå¹¿ææ¶ï¼"
-以æ¯ç§éæ ·æ°ä¸ºåä½çé¢çå¼ï¼é»è®¤å¼ï¼44100ï¼ã
-.br
-.I 注æï¼
-å½ä½¿ç¨é³é¢æææ¶ï¼ä¹å°\-rawaudio rate=<æ°å¼>é项设置为arateä¸ä¸æ ·çå¼ã
-å¦æä½ åå¨å£°é³ææ¾é度çé®é¢ï¼ææ¾å¤ªå¿«ï¼ï¼å°è¯ä»¥ä¸åçéçå¼
-ï¼ä¾å¦4800ï¼44100ï¼32000â¦â¦ï¼ææ¾ ã
-.IPs "achannels=<åæ°å¼>ï¼ä»
ç¨äºå½å¶æ 线çµå¹¿ææ¶ï¼"
-ææå£°é³ç声鿰ã
-.RE
-.
-.TP
-.B \-rawaudio <é项1:é项2:...>
-æ¤é项å¯è®©ä½ ææ¾åå§é³é¢æä»¶ã
-ä½ ä¹ä¸å¾ä¸ä½¿ç¨ \-demuxer rawaudioã
-ä¹å¯ä»¥ç¨æ¥ææ¾ä¸æ¯ 44kHz 16-ä½ ç«ä½å£°çé³é¢ CDã
-ææ¾åå§ AC-3 æµè¯·ä½¿ç¨ \-rawaudio format=0x2000 \-demuxer rawaudioã
-.sp 1
-å¯ç¨é项æ:
-.sp 1
-.PD 0
-.RSs
-.IPs channels=<åæ°å¼>
-声鿰
-.IPs rate=<åæ°å¼>
-æ¯ç§éæ ·ç
-.IPs samplesize=<åæ°å¼>
-æ ·æ¬å¤§å°(以åè为åä½)
-.IPs bitrate=<åæ°å¼>
-åå§é³é¢æä»¶çæ¯ç¹ç
-.IPs format=<åæ°å¼>
-16-è¿å¶ç fourcc
-.RE
-.PD 1
-.
-.TP
-.B \-rawvideo <é项1:é项2:...>
-æ¤é项å¯è®©ä½ ææ¾åå§è§é¢æä»¶ã
-ä½ ä¹ä¸å¾ä¸ä½¿ç¨ \-demuxer rawvideoã
-.sp 1
-å¯ç¨çé项æ:
-.sp 1
-.PD 0
-.RSs
-.IPs fps=<åæ°å¼>
-æ¯ç§å¸§(é)ç (é»è®¤æ¯: 25.0)
-.IPs sqcif|qcif|cif|4cif|pal|ntsc
-设置æ åçå¾å大å°
-.IPs w=<åæ°å¼>
-å¾å宽(以åç´ ä¸ºåä½)
-.IPs h=<åæ°å¼>
-å¾åé«(以åç´ ä¸ºåä½)
-.IPs i420|yv12|yuy2|y8
-设置è²å½©ç©ºé´
-.IPs format=<åæ°å¼>
-16-è¿å¶æå符串常éå½¢å¼çè²å½©ç©ºé´å¼(fourcc)
-使ç¨\-rawvideo format=help以è·åå¯ç¨å符串çå表ã
-.IPs size=<åæ°å¼>
-帧大å°(以åè为åä½)
-.REss
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer foreman.qcif \-demuxer rawvideo \-rawvideo qcif"
-ææ¾èåç "foreman" è§é¢æ ·æ¬ã
-.IPs "mplayer sample-720x576.yuv \-demuxer rawvideo \-rawvideo w=720:h=576"
-ææ¾åå§ YUV æ ·æ¬ã
-.RE
-.PD 1
-.
-.TP
-.B \-referrer <å符串>ï¼ä»
ç¨äºç½ç»ç¯å¢ï¼
-为 HTTP è¯·æ±æå®å¼ç¨é¡µé¢çè·¯å¾æ URLã
-.
-.TP
-.B \-rtsp\-port
-ä¸ "rtsp://" ç URL å°åä¸èµ·ç¨æ¥éå®å®¢æ·ç«¯ç端å£å·ã
-å¦æä½ å¨è·¯ç±å¨åé¢, æ³æ RTSP æµä»æå¡å¨è½¬å°æå®å®¢æ·ç«¯, æ¤é项å¯è½æç¨ã
-.
-.TP
-.B \-rtsp\-destination
-ä¸ "rtsp://" ç URL å°åä¸èµ·ç¨æ¥å¼ºå¶ç®æ ç»å® IP å°åã
-对æäº RTSP æå¡å¨ä¸è½æ RTP å
éå°æ£ç¡®çæ¥å£, æ¤é项å¯è½æç¨ã
-å¦æè¿æ¥ RTSP æå¡å¨å¤±è´¥, ä½¿ç¨ \-v çç MPlayer è¯å¾ç»å®å°
-åªä¸ª IP å°å, ç¶åè¯è¯ç¨å®å¼ºå¶åé
å°ä½ çè®¡ç®æºã
-.
-.TP
-.B \-rtsp\-stream\-over\-tcpï¼ä»
ç¨äº LIVE555 å NEMESIï¼
-ä¸ "rtsp://" ç URL å°åä¸èµ·ç¨æ¥æå®è®© RTP å RTCP è¿å
¥å
æµè¿ TCP
-(使ç¨ä¸ RTSP ç¸åç TCP è¿æ¥)ã
-å¦æä½ çç ´ internet è¿æ¥ä¸ä¼ é UDP è¿å
¥å
, æ¤é项å¯è½æç¨
-(åè§ http://www.live555.com/\:mplayer/)ã
-.
-.TP
-.B \-rtsp\-stream\-over\-httpï¼ä»
ç¨äº LIVE555ï¼
-ä¸âhttp://âå½¢å¼ç URL ä¸å使ç¨ï¼ç¨ä»¥æå®çæç RTP å RTCP è¾å
¥å
éè¿ HTTP å
-è®®ä¼ éã
-.
-.TP
-.B \-saveidx <æä»¶å>
-强å¶é建索å¼å¹¶è½¬å¨å° <æä»¶å>ã
-ç®ååªå¯¹ AVI æä»¶ææã
-.br
-.I 注æ:
-æ¢ç¶ MPlayer ç°å¨æ¯æ OpenDML, æ¤é项已åºå¼ã
-.
-.TP
-.B \-sb <æ¯ç¹ä½ç½®> (ä¹è¯·åè§ \-ss)
-æç´¢å°æ¯ç¹ä½ç½®ã
-åæ¾å¼å§é¨åæ¯åå¾ç CD-ROM éåæ VOB æä»¶æ¶æç¨ã
-.
-.TP
-.B \-speed <0.01\-100>
-æ ¹æ®ç»å®çåæ°å å, åæ
¢æå å¿«åæ¾é度ã
-å¹¶ä¸ä¿è¯è½ä¸ \-oac copy ä¸èµ·å·¥ä½æ£å¸¸ã
-.
-.TP
-.B \-srate <Hz>
-éæ©è¾åºçåæ ·ç(å½ç¶å£°å¡å¯¹æ¤æéå¶)ã
-å¦æéæ©çæ ·æ¬é¢çä¸å½åçåªä½æå·®å¼, ä¼å¨é³é¢è¿æ»¤å±ä¸æå
¥
-é³é¢è¿æ»¤å¨ resample(ééæ ·) æ lavcresample æ¥è¡¥å¿æ¤å·®å¼ã
-ééæ ·çç±»åç± \-af\-adv é项æ§å¶ã
-é»è®¤çæ¯å¿«éééæ ·, å¯è½ä¼å¼èµ·å¤±çã
-.
-.TP
-.B \-ss <æ¶é´> (ä¹è¯·åè§ \-sb)
-æç´¢å°ç»å®çæ¶é´ä½ç½®ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-ss 56"
-æç´¢å° 56 ç§å¤ã
-.IPs "\-ss 01:10:00"
-æç´¢å° 1 å°æ¶ 10 åéå¤ã
-.RE
-.PD 1
-.
-.TP
-.B \-tskeepbroken
-åè¯ MPlayer ä¸è¦ä¸¢å¼æµä¸æ¥åæåç TS å
ã
-ææ¶éè¦ææ¾çªæ¹äºç MPEG-TS æä»¶ã
-.
-.TP
-.B \-tsprobe <åèä½ç½®>
-ææ¾ MPEG-TS æµæ¶, æ¤éé¡¹è®©ä½ æå®æµä¸å¤å°åèç» MPlayer æç´¢
-ä½ æè¦çé³é¢åè§é¢çæ è¯ã
-.
-.TP
-.B \-tsprog <1\-65534>
-ææ¾ MPEG-TS æµæ¶, ä½ å¯ä»¥ç¨æ¤é项æå®ä½ æ³è¿è¡çç¨åº(妿ç¥éçè¯)ã
-è½å \-vid å \-aid ä¸èµ·ä½¿ç¨ã
-.
-.TP
-.B \-tv <é项1:é项2:...> (ä»
ç¨äº TV/\:PVR)
-æ¤é项ä¼è°è° TV æææ¨¡åçåç§å±æ§ã
-为äºç¨ MPlayer æ¶ç TV, ä½¿ç¨ "tv://" æ "tv://<é¢éå·>"
-çè³ç¨ "tv://<é¢éå>" (åè§ä¸é¢çé¢éé项) ä½ä¸º URL å°åã
-.sp 1
-å¯ç¨é项æ:
-.RSs
-.IPs noaudio
-没æå£°é³
-.IPs "automute=<0\-255>ï¼ä»
éç¨äºv4låv4l2ï¼"
-å¦æè®¾å¤æ¥åçä¿¡å·å¼ºåº¦å°äºè¿ä¸ªå¼ï¼é£ä¹é³é¢åè§é¢å°éé³ã
-大夿°æ
åµä¸automute=100就足å¤ç¨äºã
-é»è®¤å¼ä¸º0ï¼ç¦ç¨automuteï¼ã
-.IPs driver=<åæ°å¼>
-åè§\-tv driver=help以è·åå
ç½®TVè¾å
¥é©±å¨çå表ã
-å¯ç¨åæ°: dummy, v4l, bsdbt848ï¼é»è®¤å¼ï¼èªå¨ä¾¦æµï¼
-.IPs device=<åæ°å¼>
-æå® TV è®¾å¤ (é»è®¤æ¯: /dev/\:video0ï¼ã
-.I 注æï¼
-对äºbsdbt848驱å¨ï¼ä½ å¯ä»¥åæ¶ç»åºbktråè°è°è®¾å¤çåç§°ï¼ä½¿ç¨éå·åé两
-è
ï¼å
¶ä¸è°è°å¨å¨bkträ¹åï¼ä¾å¦ï¼-tv device=/dev/bktr1,/dev/tuner1ï¼ã
-.IPs input=<åæ°å¼>
-æå®è¾å
¥ (é»è®¤æ¯: 0 (TV), åè§æ§å¶å°è¾åºçå¯ç¨è¾å
¥å表ï¼ã
-.IPs freq=<åæ°å¼>
-æå®è°è°å¨çé¢ç(ä¾å¦: 511.250)ã
-ä¸é¢éåæ°ä¸å
¼å®¹.
-.IPs outfmt=<åæ°å¼>
-æå®è°è°å¨çè¾åºæ ¼å¼, ç¨ V4L 驱卿¯æçé¢è®¾ç½®(yv12, rgb32, rgb24,
-rgb16, rgb15, uyvy, yuy2, i420) æè
ä¸ä¸ªä»¥ 16-è¿å¶å¼ç»å®çæ¦æçæ ¼å¼ã
-è¯è¯ç¨ outfmt=help å¯çå¯ç¨çæææ ¼å¼çå表ã
-.IPs width=<åæ°å¼>
-è¾åºçªå£ç宽度
-.IPs height=<åæ°å¼>
-è¾åºçªå£çé«åº¦
-.IPs fps=<åæ°å¼>
-ææè§é¢ç帧éç(帧æ¯ç§)
-.IPs buffersize=<åæ°å¼>
-ææç¼å²åºçæå¤§å°ºå¯¸(以å
为åä½) (é»è®¤å¼: 卿)
-.IPs norm=<åæ°å¼>
-bsdbt848 å v4l å¯ç¨çåæ°: PAL, SECAM, NTSCãå¯¹äº v4l2,
-åè§æ§å¶å°è¾åºçææå¯ç¨å¶å¼å表, ä¹è¯·åçä¸é¢ç normid é项ã
-.IPs "normid=<åæ°å¼> (ä»
ç¨äº v4l2)"
-设置 TV å¶å¼ 为ç»å®çæ°åæ è¯ã
-TV å¶å¼åå³äºææå¡ãåè§æ§å¶å°è¾åºçå¯ç¨ TV å¶å¼å表ã
-.IPs channel=<åæ°å¼>
-设置è°è°å¨å° <åæ°å¼> é¢é.
-.IPs chanlist=<åæ°å¼>
-å¯ç¨åæ°ï¼argentina, australia, china-bcast, europe-east, europe-west, france,
-ireland, italy, japan-bcast, japan-cable, newzealand, russia, southafrica,
-us-bcast, us-cable, us-cable-hrc
-.IPs channels=<é¢é>\-<åç§°>,<é¢é>\-<åç§°>,...
-设置é¢éçåç§°ã
-.I 注æï¼
-妿<é¢é>æ¯ä¸ä¸ªå¤§äº1000çæ´æ°ï¼å®å°è¢«ç使¯é¢çï¼ä»¥kHz为åä½ï¼è䏿¯é¢ç表ä¸ç
-é¢éåã
-.br
-åç§°ä¸ä½¿ç¨ _ 代æ¿ç©ºæ ¼(æä½¿ç¨å¼å· ;-))ã
-OSD 伿¾ç¤ºé¢éåç§°, slave å½ä»¤ tv_step_channel, tv_set_channel å
-tv_last_channel 伿ç¨äºé¥æ§(åè§ LIRC)ã
-ä¸é¢çåæ°ä¸å
¼å®¹ã
-.br
-.I 注æ:
-é¢éå·å°±å°æ¯ "é¢é" å表ä¸ä»1å¼å§è®¡æ°çä½ç½®ã
-.br
-.I 示ä¾:
-tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
-.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
-设置æ¾å¡çè²å½©åè¡¡å¨ã
-.IPs audiorate=<åæ°å¼>
-设置è¾å
¥é³é¢çæ¯ç¹çã
-.IPs forceaudio
-å³ä½¿ v4l æ¥å没æé³é¢æºä¹ææé³é¢ã
-.IPs "alsa\ "
-ä» ALSA ææã
-.IPs amode=<0\-3>
-éæ©é³é¢æ¨¡å¼:
-.RSss
-0: å声é
-.br
-1: ç«ä½å£°
-.br
-2: è¯è¨ 1
-.br
-3: è¯è¨ 2
-.REss
-.IPs forcechan=<1\-2>
-é»è®¤æ
åµä¸, é³é¢å£°éæ°è®¡æ°ç±çµè§å¡æ¥è¯¢é³é¢æ¨¡å¼èªå¨å³å®ã
-æ¤é项å
许éå®ç«ä½å£°/\:å声éè®°å½èä¸ç®¡ amode é项å v4l è¿åçåæ°ã
-å¨çµè§å¡ä¸è½æ¥åæ£ç¡®çå½åé³é¢æ¨¡å¼çæ¶åå¯ä»¥ç¨æ¤é项解å³éº»ç¦ã
-.IPs adevice=<åæ°å¼>
-设置é³é¢è®¾å¤ã
-<åæ°å¼> å¿
é¡»æ¯ /dev/\:xxx ç¨äº OSS è硬件æ è¯ç¨äº ALSAã
-硬件æ è¯ç¨äº ALSA æ¶, ä½ å¡å¿
è¦ç¨ "." ä»£æ¿ ":"ã
-.IPs audioid=<åæ°å¼>
-éæ©ææå¡çé³é¢è¾åº, 妿宿䏿¢ä¸ä¸ªçè¯ã
-.IPs "[volume|bass|treble|balance]=<0\-65535> (v4l1)"
-.IPs "[volume|bass|treble|balance]=<0\-100> (v4l2)"
-è¿äºéé¡¹ç¨æ¥è®¾ç½®è§é¢ææå¡ä¸çæ··é³å¨åæ°ã
-å¦æä½ ç塿²¡ææ··é³å¨, å®ä»¬å°æ²¡æææã
-å¯¹äº v4l2 50 æ ¹æ®é©±å¨å¨çæ¥åå½±å°å°æ§å¶å¨ä¸çé»è®¤å¼ã
-.IPs "gain=<0\-100>ï¼ä»
ç¨äºv4l2ï¼"
-å°è§é¢è®¾å¤ï¼é常æ¯ç½ç»æå头ï¼çå¢çæ§å¶è®¾ç½®ä¸ºæè¦çå¼ï¼å¹¶ä¸å
³éèªå¨æ§å¶æ¨¡å¼ã
-å¼ä¸º 0 å¯ç¨èªå¨æ§å¶æ¨¡å¼ã
-å¦æå¿½ç¥è¿ä¸ªé项ï¼å°ä¸ä¿®æ¹å¢çæ§å¶æ¨¡å¼ã
-.IPs immediatemode=<å¸å°å¼>
-åæ°å¼ä¸º 0 è¡¨ç¤ºåæ¶ææåç¼å²é³é¢åè§é¢ (MEncoder çé»è®¤å¼)ã
-åæ°å¼ä¸º 1 (MPlayer çé»è®¤å¼)è¡¨ç¤ºåªææè§é¢
-è让é³é¢éè¿ç¯è·¯çµç¼ç±çµè§å¡è¾å
¥å£°å¡ã
-.IPs mjpeg
-使ç¨ç¡¬ä»¶ MJPEG å缩(妿è¯çæ¯æçè¯)ã
-ä½¿ç¨æ¤é项æ¶, ä½ ä¸éè¦æå®è¾åºçªå£ç宽åé«,
-å 为 MPlayer 伿 ¹æ® decimation åæ°(è§ä¸é¢)èªå¨ç¡®å®ã
-.IPs decimation=<1|2|4>
-éæ©ç¡¬ä»¶ MJPEG å缩çå¾å尺寸:
-.RSss
-1: å
¨å°ºå¯¸
- 704x576 PAL
- 704x480 NTSC
-.br
-2: ä¸ç尺寸
- 352x288 PAL
- 352x240 NTSC
-.br
-4: å°å°ºå¯¸
- 176x144 PAL
- 176x120 NTSC
-.REss
-.IPs quality=<0\-100>
-éæ© JPEG å缩çè´¨é(å
¨å°ºå¯¸æ¨èå¼ < 60)ã
-.IPs tdevice=<å¼>
-æå®çµè§åå¹è®¾å¤ï¼ç¤ºä¾ï¼/dev/\:vbi0ï¼ï¼é»è®¤å¼ï¼æ 设å¤ï¼ã
-.IPs tformat=<æ ¼å¼>
-æå®çµè§åå¹çæ¾ç¤ºæ ¼å¼ï¼é»è®¤å¼ï¼0ï¼ï¼
-.RSss
-0ï¼ä¸éæ
-.br
-1ï¼éæ
-.br
-2ï¼ä¸éæä¸åè²
-.br
-3ï¼éæä¸åè²
-.REss
-.IPs tpage=<100\-899>
-æå®åå§çµè§åå¹ç页é¢å·ï¼é»è®¤å¼ï¼100ï¼ã
-.IPs tlang=<\-1\-127>
-设置é»è®¤çµè§åå¹è¯è¨ä»£ç ï¼é»è®¤å¼ï¼0ï¼ï¼è¯¥å¼å°ä½ä¸ºé¦éè¯è¨ï¼ç´è³æ¶å°ä¸ä¸ªç±»å 28 çæ°æ®
-å
ã
-å½çµè§åå¹ç³»ç»ä½¿ç¨éæä¸å符éï¼ä½è¯è¨ä»£ç å 为æäºåå ï¼å¹¶ééè¿ç±»å 28 çæ°æ®å
ä¼ è¾æ¶
-徿ç¨ã
-è¦æ¥çæ¯æçè¯è¨ä»£ç å表ï¼åå°è¯¥é项设为 \-1ã
-.IPs "hidden_video_rendererï¼ä»
ç¨äº dshowï¼"
-使ç¨è§é¢æ¸²æå¨ç»æ¢åªä½æµï¼è䏿¯ä½¿ç¨ Null 渲æå¨ï¼é»è®¤å¼ï¼å
³éï¼ã
-å½è§é¢å¡ä½ä½é³é¢æ²¡ææ¶ä¼æç¨ã
-.I 注æï¼
-å¯è½å¨ä¸ \-vo directx å \-vf crop ä¸èµ·ä½¿ç¨æ¶æ æ³çæã
-.IPs "hidden_vp_rendererï¼ä»
ç¨äº dshowï¼"
-使ç¨è§é¢æ¸²æå¨ç»æ¢ VideoPort 端åªä½æµï¼è䏿¯å°å
¶ä»æµç¨å¾ä¸ç§»é¤ï¼é»è®¤å¼ï¼å
³éï¼ã
-å½ä½ çè§é¢æ VideoPort 端å£ï¼èè§é¢ææå»¶æ¶å¾æç¨ã
-.I 注æï¼
-å¯è½å¨ä¸ \-vo directx å \-vf crop ä¸èµ·ä½¿ç¨æ¶æ æ³çæã
-.IPs "system_clockï¼ä»
ç¨äº dshowï¼"
-使ç¨ç³»ç»æ¶éä½ä¸ºåæ¥ä¿¡å·æ¥æºï¼è䏿¯ç¨é»è®¤çæµç¨å¾ä¸çæ¶éï¼éå¸¸æ¯æµç¨å¾ä¸æä¸ªå®æ¶æ¥æº
-çæ¶éï¼ã
-.IPs "normalize_audio_chunksï¼ä»
ç¨äº dshowï¼"
-å建çé³é¢æ°æ®åå
·æä¸è§é¢å¸§ç¸åçæ¶é´é¿åº¦ï¼é»è®¤å¼ï¼å
³éï¼ã
-æäºé³é¢å¡å建çé³é¢æ°æ®å大å°çº¦ä¸º0.5ç§ï¼è¿å¯¼è´ä½¿ç¨ immediatemode=0 æ¶è§é¢æå»¶ã
-.RE
-.
-.TP
-.B \-tvscan <é项1:é项2:...>ï¼ä»
ç¨äºçµè§ææ¾åMPlayerä¸ï¼
-设置çµè§é¢éæ«æå¨ã
-MPlayerå°åæ¶æå°â-tv channels=âé项ä¸çå¼ï¼å
æ¬å·²æç以ååæ¾å°çé¢éã
-.sp 1
-å¯ç¨åé项为ï¼
-.RSs
-.IPs autostart
-å¨å¯å¨åç«å³å¼å§é¢éçæ«æï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-.IPs period=<0.1\-2.0>
-æå®åæ¢è³ä¸ä¸ä¸ªé¢éåå»¶è¿çæ¶é´ï¼åä½ä¸ºç§ï¼é»è®¤å¼ï¼0.5ï¼ã
-è¾ä½çå¼å°ä½¿æ«ææ´å¿«ï¼ä½å¯è½å°æ æççµè§é¢é侦æµä¸ºææã
-.IPs threshold=<1\-100>
-ç¨äºè®¾å¤æ¥åçä¿¡å·å¼ºåº¦çéå¼ï¼åä½ä¸ºç¾åæ¯ï¼ï¼é»è®¤å¼ï¼50ï¼ã
-é«äºè¯¥å¼çä¿¡å·å¼ºåº¦å°ä»£è¡¨å½åæ«æçé¢éæ¯ææçã
-.RE
-.
-.TP
-.B \-user <ç¨æ·å> (ä¹è¯·åè§ \-passwd) (ä»
ç¨äºç½ç»)
-æå® HTTP 认è¯çç¨æ·åã
-.
-.TP
-.B \-user\-agent <å符串>
-ä½¿ç¨ <å符串> ä½ä¸º HTTP æµçç¨æ·ä»£çã
-.
-.TP
-.B \-vid <æ è¯>
-éæ©è§é¢é¢é (MPG: 0\-15, ASF: 0\-255, MPEG-TS: 17\-8190)ã
-å½ææ¾ MPEG-TS æµæ¶, MPlayer/\:MEncoder ç¨ç¬¬ä¸ä¸ªç¨åº
-ææ¾å·²éæ©ç(妿æçè¯)è§é¢æµã
-.
-.TP
-.B \-vivo <åé项> (è°è¯ä»£ç )
-éå® VIVO åè·¯å¨çé³é¢åæ°(ç¨äºè°è¯)ã
-.
-.
-.
-.SH "OSD/åå¹é项"
-.I 注æ:
-ä¹è¯·åè§ \-vf expandã
-.
-.TP
-.B \-ass (ä»
éç¨äº FreeType)
-æå¼ SSA/ASS å广ä¾ã
-éè¿æ¤é项, libass å°ç¨äº SSA/ASS å¤é¨åå¹å Matroska 轨迹ã
-ä½ å¯è½ä¹æ³ä½¿ç¨ \-embeddedfontsã
-.br
-.I 注æï¼
-ä¸åé常ç OSDï¼libass é»è®¤ä½¿ç¨ fontconfigãä½¿ç¨ \-nofontconfig 以ç¦ç¨æ¤è¡ä¸ºã
-.
-.TP
-.B \-ass\-border\-color <åæ°å¼>
-为æååå¹è®¾ç½®è¾¹æ¡ (è½®å») é¢è²ã
-é¢è²æ ¼å¼æ¯ RRGGBBAAã
-.
-.TP
-.B \-ass\-bottom\-margin <åæ°å¼>
-å¨å¸§åºé¨æ·»å 黿¡ã
-SSA/ASS æä¾å¨è½å¨é£éæ¾ç½®åå¹ (ä¸ \-ass\-use\-margins ç»åç¨)ã
-.
-.TP
-.B \-ass\-color <åæ°å¼>
-为æååå¹è®¾ç½®é¢è²ã
-é¢è²æ ¼å¼æ¯ RRGGBBAAã
-.
-.TP
-.B \-ass\-font\-scale <åæ°å¼>
-为 SSA/ASS æä¾å¨ä¸çåä½è®¾ç½®æ¯ä¾ç³»æ°ã
-.
-.TP
-.B \-ass\-force\-style <[Style.]Param=åæ°å¼[,...]>
-æ¹åä¸äºæ ·å¼æèæ¬ä¿¡æ¯çåæ°ã
-.sp
-.I 示ä¾:
-.PD 0
-.RSs
-\-ass\-force\-style FontName=Arial,Default.Bold=1
-.br
-\-ass\-force\-style PlayResY=768
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-hinting <ç±»å>
-设置微è°ç±»åã
-<ç±»å> å¯ä»¥æ¯ï¼
-.PD 0
-.RSs
-.IPs <ç±»å>
-.IPs 0
-æ å¾®è°ã
-.IPs 1
-FreeTypeèªå¨å¾®è°å¨ï¼è½»é模å¼ã
-.IPs 2
-FreeTypeèªå¨å¾®è°å¨ï¼æ®é模å¼ã
-.IPs 3
-åä½å
置微è°ã
-.IPs 0\-3 + 4
-ç¸åï¼ä½å¾®è°åªæå½OSD以å
¨å±æ¹å¼æ¾ç¤ºèå æ¤ä¸ä¼ä¼¸ç¼©æ¶æä¼ä½¿ç¨ã
-.RE
-.RSs
-é»è®¤å¼ä¸º7ï¼å½OSDä¸ä¼¸ç¼©æ¶ä½¿ç¨å
置微è°å¨ï¼å¦åæ å¾®è°ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B \-ass\-line\-spacing <åæ°å¼>
-为 SSA/ASS æä¾å¨è®¾ç½®è¡é´éã
-.
-.TP
-.B \-ass\-styles <æä»¶å>
-è£
è½½æå®æä»¶ä¸æ¾å°çææ SSA/ASS 飿 ¼å¹¶å¨æä¾æåå广¶ä½¿ç¨ã
-æä»¶çè¯æ³å®å
¨åæ¯ SSA/ASS ä¸çä¸è [V4 Styles] / [V4+ Styles]ã
-.
-.TP
-.B \-ass\-top\-margin <åæ°å¼>
-å¨å¸§é¡¶é¨æ·»å 黿¡ã
-SSA/ASS æä¾å¨è½å¨é£éæ¾ç½®åå¹ (ä¸ \-ass\-use\-margins ç»åç¨)ã
-.
-.TP
-.B \-ass\-use\-margins
-å¯ç¨æ¾ç½®åå¹(妿æçè¯)å¨é»æ¡ä¸ã
-.
-.TP
-.B \-dumpjacosub (ä»
ç¨äº MPlayer)
-转æ¢ç»å®ç(ç± \-sub é项æå®ç)åå¹æä¸ºåºäºæ¶é´ç JACOsub å广 ¼å¼ã
-å¨å½åçç®å½ä¸å建 dumpsub.js æä»¶ã
-.
-.TP
-.B \-dumpmicrodvdsub (ä»
ç¨äº MPlayer)
-转æ¢ç»å®ç(ç± \-sub é项æå®ç)åå¹æä¸º MicroDVD å广 ¼å¼ã
-å¨å½åçç®å½ä¸å建 dumpsub.sub æä»¶ã
-.
-.TP
-.B \-dumpmpsub (ä»
ç¨äº MPlayer)
-转æ¢ç»å®ç(ç± \-sub é项æå®ç)åå¹æä¸º MPlayer çå广 ¼å¼, MPsubã
-å¨å½åçç®å½ä¸å建 dumpsub.mpsub æä»¶ã
-.
-.TP
-.B \-dumpsami (ä»
ç¨äº MPlayer)
-转æ¢ç»å®ç(ç± \-sub é项æå®ç)åå¹æä¸ºåºäºæ¶é´ç SAMI å广 ¼å¼ã
-å¨å½åçç®å½ä¸å建 dumpsub.smi æä»¶ã
-.
-.TP
-.B \-dumpsrtsub (ä»
ç¨äº MPlayer)
-转æ¢ç»å®ç(ç± \-sub é项æå®ç)åå¹æä¸ºåºäºæ¶é´ç SubViewer (SRT) å广 ¼å¼ã
-å¨å½åçç®å½ä¸å建 dumpsub.srt æä»¶ã
-.br
-.I 注æ:
-æäºç ´ç¡¬ä»¶ææ¾å¨å¯¹ Unix è¡ç»å°¾ç SRT åå¹ä¼å½ä½ã
-å¦æä½ å¤å½©ç¢°å°è¿æ ·ççå, æä½ çåå¹æä»¶å° unix2dos æç±»ä¼¼çç¨åºè¿ä¸è¿,
-æ¿æ¢ Unix è¡ç»å°¾ä¸º DOS/Windows è¡ç»å°¾ã
-.
-.TP
-.B \-dumpsub (ä»
ç¨äº MPlayer) (BETA 代ç )
-ä» VOB æµä¸è½¬å¨åå¹åæµã
-ä¹è¯·åè§ \-dump*sub å \-vobsubout* é项ã
-.
-.TP
-.B \-embeddedfonts (ä»
ç¨äº FreeType)
-å
许æ½å Matroska å
åµåä½ï¼é»è®¤å¼ï¼ç¦æ¢ï¼ã
-è¿äºåä½è½ç¨äº SSA/ASS å广¸²æ (\-ass é项)ã
-å使件å建å¨~/.mplayer/\:fontsç®å½ä¸ã
-.br
-.I 注æï¼
-å¨FontConfig 2.4.2ææ´æ°ççæ¬éï¼å
åµåä½ç´æ¥ä»å
å䏿å¼èè¿ä¸ªé项é»è®¤æå¼ã
-.
-.TP
-.B \-ffactor <æ°å>
-对åä½ç alphamap éæ°éæ ·ã
-å¯è®¾ä¸º:
-.PD 0
-.RSs
-.IPs 0
-æ®éç½è²åä½
-.IPs 0.75
-é常ç»çé»è²è¾¹æ¡(é»è®¤å¼)
-.IPs 1
-ç»çé»è²è¾¹æ¡
-.IPs 10
-ç²çé»è²è¾¹æ¡
-.RE
-.PD 1
-.
-.TP
-.B \-flip\-hebrew (ä»
ç¨äº FriBiDi)
-æå¼ä½¿ç¨ FriBiDi ç翻转åå¹ã
-.
-.TP
-.B \-noflip\-hebrew\-commas
-æ¹å FriBiDi ä¸åå®çåå¹ä¸çéå·ä½ç½®ã
-妿åå¹ä¸çéå·æ¾ç¤ºå¨å¥é¦è䏿¯å¨å¥å°¾, 就使ç¨å®ã
-.
-.TP
-.B \-font <æä»¶ font.desc çè·¯å¾ï¼åä½ï¼FreeTypeï¼çè·¯å¾ï¼å使 ·å¼ï¼Fontconfigï¼çè·¯å¾>
-å¨å«çç®å½ä¸å¯»æ¾ OSD/\:SUB åä½(
-é»è®¤çæ®éåä½ä¸º: ~/\:.mplayer/\:font/\:font.desc,
-é»è®¤ç FreeType åä½ä¸º: ~/.mplayer/\:subfont.ttf)ã
-.br
-.I 注æ:
-å¯¹äº FreeType, æ¤é项å³å®ææ¬å使件çè·¯å¾ã
-å¯¹äº Fontconfig, æ¤é项å³å® Fontconfig çåä½åç§°ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-\-font ~/\:.mplayer/\:arial-14/\:font.desc
-.br
-\-font ~/\:.mplayer/\:arialuni.ttf
-.br
-\-font 'Bitstream Vera Sans'
-.br
-\-font 'Bitstream Vera Sans:style=Bold'
-.RE
-.PD 1
-.
-.TP
-.B \-fontconfig (ä»
ç¨äº fontconfig)
-å¯ç¨ä½¿ç¨ fontconfig 管ççåä½ã
-.br
-.I 注æï¼
-\-ass èªå¨æå¼è¯¥é项ï¼é¤éæç¡®ä½¿ç¨ \-nofontconfig æ¹åè¿ä¸è¡ä¸ºã
-.
-.TP
-.B \-forcedsubsonly
-ä»
æ¾ç¤ºéå®çåå¹, ä¾å¦ç± \-slang éæ©ç DVD å广µã
-.
-.TP
-.B \-fribidi\-charset <å符éåç§°> (ä»
ç¨äº FriBiDi)
-å½ç¼ç é UTF-8 åå¹(é»è®¤æ¯: ISO8859\-8)æ¶, æå®ä¼ éå° FriBiDi çå符éã
-.
-.TP
-.B \-ifo <VOBsub ç IFO æä»¶>
-æåºç¨äºè£
è½½ VOBsub åå¹çè°è²æ¿å帧尺寸çæä»¶ã
-.
-.TP
-.B \-noautosub
-å
³éèªå¨è½½å
¥å广件ã
-.
-.TP
-.B \-osd\-duration <æ¶é´>
-设置 OSD ä¿¡æ¯çåçæ¶é´(ä»¥æ¯«ç§ ms 为åä½) (é»è®¤æ¯: 1000)ã
-.
-.TP
-.B \-osdlevel <0\-3> (ä»
ç¨äº MPlayer)
-æå® OSD çå¯å§æ¨¡å¼ã
-.PD 0
-.RSs
-.IPs 0
-åªæåå¹
-.IPs 1
-é³é + æç´¢æ¡ (é»è®¤)
-.IPs 2
-é³é + æç´¢æ¡ + 计æ¶å¨ + ç¾åæ¯
-.IPs 3
-é³é + æç´¢æ¡ + 计æ¶å¨ + ç¾åæ¯ + æ»æ¶é´
-.RE
-.PD 1
-.
-.TP
-.B \-overlapsub
-è½ç¶å½åæå广¾ç¤º, å
è®¸åæ¶æ¾ç¤ºä¸ä¸è¡åå¹(é»è®¤å¯ç¨åªæ¯æç¹å®æ ¼å¼)ã
-.
-.TP
-.B \-sid <æ è¯> (ä¹è¯·åè§ \-slang, \-vobsubid)
-æ¾ç¤ºç± <æ è¯> (0\-31) æå®çå广µã
-MPlayer è¿è¡å¨ verbose (\-v) æ¨¡å¼æ¶, æå°å¯ç¨çå广 è¯ã
-å¦æä½ ä¸è½éæ© DVD ä¸å
¶ä¸ä¹ä¸çåå¹, ä¹è¯·è¯è¯ \-vobsubidã
-.
-.TP
-.B \-nosub
-ç¦ç¨ææé»è®¤æ
åµä¸èªå¨éæ©çå
é¨åå¹ï¼å°±å Matroska/mkv ä¹ç±»çæµåç¦»å¨ææ¯æç飿 ·ï¼ã
-ä½¿ç¨ \-noautosub ä»¥ç¦æ¢èªå¨å è½½å¤é¨å广件ã
-.
-.TP
-.B \-slang <è¯è¨ä»£å·[,è¯è¨ä»£å·,...]> (ä¹è¯·åè§ \-sid)
-æå®ä½¿ç¨åå¹è¯è¨çä¼å
级å表ã
-ä¸åç容卿 ¼å¼ä½¿ç¨ä¸åçè¯è¨ä»£å·ãDVDs ä½¿ç¨ ISO 639\-1 ç
-两å符è¯è¨ä»£å·, Matroska ä½¿ç¨ ISO 639\-2 ç
-ä¸å符è¯è¨ä»£å·, è OGM 使ç¨èªç±æ ¼å¼æ è¯ç¬¦ã
-MPlayer å¨ verbose (\-v) 模å¼ä¸ä¼æå°å¯ç¨çè¯è¨ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "mplayer dvd://1 \-slang hu,en"
-éæ© DVD ä¸çåçå©è¯åå¹è½¨è¿¹èè±è¯å¨æ²¡æåçå©è¯æ¶å¤ç¨ã
-.IPs "mplayer \-slang jpn example.mkv"
-ææ¾æ¥è¯åå¹ç Matroska æä»¶ã
-.RE
-.PD 1
-.
-.TP
-.B \-spuaa <模å¼>
-设置 DVD/\:VOBsub çåé¯é½¿/\:ç¼©æ¾æ¨¡å¼ã
-çè³å¨åå§çä¸ç¼©æ¾ç帧尺寸已å¹é
æ¶, è¿å¯è½å¨ <模å¼> ä¸å¢å 16 以强å¶è¿è¡ç¼©æ¾,
-æ¯å¦ä½¿ç¨é«æ¯æåæ¥å¹³æ»åå¹ã
-å¯ç¨æ¨¡å¼æ:
-.PD 0
-.RSs
-.IPs 0
-ä¸ç¼©æ¾(æå¿«, å¾ä¸)
-.IPs 1
-è¿ä¼¼ç¼©æ¾(好ååäº?)
-.IPs 2
-å®å
¨ç¼©æ¾(æ
¢)
-.IPs 3
-äºæ¬¡çº¿æ§ç¼©æ¾(é»è®¤å¼, å¿«éè䏿æä¸å)
-.IPs 4
-使ç¨è½¯ä»¶ç¼©æ¾ç髿¯æå(çèµ·æ¥å¾å¥½)
-.RE
-.PD 1
-.
-.TP
-.B \-spualign <\-1\-2>
-æå® SPU (DVD/\:VOBsub) åå¹è¯¥å¦ä½å¯¹é½ã
-.PD 0
-.RSs
-.IPs "\-1"
-åå§ä½ç½®ã
-.IPs " 0"
-é¡¶é¨å¯¹é½ (åå§è¡ä¸º, é»è®¤)ã
-.IPs " 1"
-ä¸å¤®å¯¹é½ã
-.IPs " 2"
-åºé¨å¯¹é½ã
-.RE
-.PD 1
-.
-.TP
-.B \-spugauss <0.0\-3.0>
-髿¯æ¨¡ç³çå¯ååæ°ç¨äº \-spuaa 4ã
-è¶é«è¡¨ç¤ºè¶æå (é»è®¤æ¯: 1.0)ã
-.
-.TP
-.B \-sub <å广件1,å广件2,...>
-使ç¨/\:æ¾ç¤ºæå®çå广件ã
-åæ¶åªè½æ¾ç¤ºä¸ä¸ªæä»¶ã
-.
-.TP
-.B \-sub\-bg\-alpha <0\-255>
-æå®åå¹å OSD èæ¯ç alpha ééå¼ã
-å¼è¶å¤§ä»£è¡¨è¶éæãä½ 0 表示å®å
¨éæã
-.
-.TP
-.B \-sub\-bg\-color <0\-255>
-æå®åå¹å OSD èæ¯çé¢è²å¼ã
-ç®åå广¯ç°åº¦å¾åæä»¥è¿ä¸ªå¼ç¸å½äºé¢è²ç亮度ã
-255 代表ç½è² 0 代表é»è²ã
-.
-.TP
-.B \-sub\-demuxer <[+]åç§°> (ä»
ç¨äº \-subfile) (BETA 代ç )
-éå® \-subfile çåå¹åè·¯å¨ç±»åã
-å¨åç§°åä½¿ç¨ "+" éå®ç±»å, è·³è¿æäºæ ¸æ¥!
-æç
§ \-sub\-demuxer help æå°åºæ¥çæå®åè·¯å¨ç±»åã
-为äºååå
¼å®¹, 乿¥åå®ä¹å¨ subreader.h çåè·¯å¨æ è¯ã
-.
-.TP
-.B \-sub\-fuzziness <模å¼>
-æå¯»å广¶è°æ´å¹é
模ç³åº¦:
-.PD 0
-.RSs
-.IPs 0
-精确å¹é
-.IPs 1
-è£
è½½ææå
å«çµå½±åç§°çåå¹ã
-.IPs 2
-è£
è½½å½åç®å½çææåå¹ã
-.RE
-.PD 1
-.
-.TP
-.B \-sub\-no\-text\-pp
-åç¨è½½å
¥åå¹åçä»»ä½å½¢å¼çæååæå¤çã
-ç¨äºè°è¯ç®çã
-.
-.TP
-.B \-subalign <0\-2>
-æ ¹æ® \-subpos ç»å®çé«åº¦, æå®è¯¥å¯¹é½åªä¸ªåå¹è¾¹ç¼ã
-.PD 0
-.RSs
-.IPs 0
-é¡¶é¨å¯¹é½ (åå§è¡ä¸º)ã
-.IPs 1
-ä¸å¤®å¯¹é½ã
-.IPs 2
-åºé¨å¯¹é½ (é»è®¤)ã
-.RE
-.PD 1
-.
-.TP
-.B "\-subcc <1\-4>\ "
-æ¾ç¤ºæ¥èªæå®é¢éç DVD 夿åå¹ã
-å®ä»¬
-.B ä¸
-æ¯ VOB åå¹, å®ä»¬æ¯ä¸ºå¬åæéç¢ç人åå¤çç¹æ®ç ASCII åå¹,
-ç¼ç å¨å¤§å¤æ° DVD å°åºç 为 1 ç VOB ç¨æ·æ°æ®æµä¸ã
-CC åå¹å°ç®å为æ¢è¿æ²¡æå¨å
¶å®å°åºç ç DVD ä¸åç°ã
-.
-.TP
-.B \-subcp <ç¼ç 页> (ä»
ç¨äº iconv)
-å¦æä½ çç³»ç»æ¯æ iconv(3), ä½ å¯ä»¥ç¨æ¤éé¡¹æ¥æå®åå¹çç¼ç 页ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-\-subcp latin2
-.br
-\-subcp cp1250
-.RE
-.PD 1
-.
-.TP
-.B \-subcp enca:<è¯è¨>:<å¤ç¨ç¼ç 页> (ä»
ç¨äº ENCA)
-ä½ å¯ä»¥ä½¿ç¨ä¸¤å符è¯è¨ä»£å·æå®è¯è¨, 让 ENCA èªå¨æ£æµç¼ç 页ã
-妿ä¸è½ç¡®å®, é便è¾å
¥ç¹ä»ä¹ç¶åå¯ç mplayer ç \-v output ä¸å¯ç¨çè¯è¨ã
-å¤ç¨ç¼ç 页æå®èªå¨æ£æµå¤±è´¥æ¶ä½¿ç¨çç¼ç 页ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-subcp enca:cs:latin2"
-çæµç¼ç 页, åå®å广¯æ·å
è¯, 妿èªå¨æ£æµå¤±è´¥ latin 2 ä½å¤ç¨ã
-.IPs "\-subcp enca:pl:cp1250"
-çæµæ³¢å
°è¯çç¼ç 页, cp1250 ä½å¤ç¨ã
-.RE
-.PD 1
-.
-.TP
-.B \-subdelay <æ°>
-åå¹å»¶è¿ <æ°> ç§ãå¯ä»¥æ¯è´æ°ã
-.
-.TP
-.B \-subfile <æä»¶å> (BETA 代ç )
-ç®å没æç¨ã
-ä¸ \-audiofile 䏿 ·, ä½ç¨äºå广µ(OggDS?)ã
-.
-.TP
-.B \-subfont <åä½ï¼FreeTypeï¼çè·¯å¾ï¼å使 ·å¼ï¼Fontconfigï¼çè·¯å¾>ï¼ä»
ç¨äº FreeType åä½ï¼
-设置åå¹åä½ï¼åè§ \-fontï¼ã
-å¦ææ²¡æç»åº \-subfontï¼åä½¿ç¨ \-fontã
-.
-.TP
-.B \-subfont\-autoscale <0\-3> (ä»
ç¨äº FreeType)
-设置èªå¨ç¼©æ¾æ¨¡å¼ã
-.br
-.I 注æ:
-0 表示æåå OSD ç尺度为åä½é«åº¦(ä»¥ç¹ point 为åä½ç)ã
-.sp 1
-å¯ç¨æ¨¡å¼æ:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-ä¸èªå¨ç¼©æ¾
-.IPs 1
-é«åº¦ææ¯ä¾
-.IPs 2
-å®½åº¦ææ¯ä¾
-.IPs 3
-对è§çº¿ææ¯ä¾ (é»è®¤å¼)
-.RE
-.PD 1
-.
-.TP
-.B \-subfont\-blur <0\-8> (ä»
ç¨äº FreeType)
-设置å使ååå¾(é»è®¤æ¯: 2)ã
-.
-.TP
-.B \-subfont\-encoding <åæ°å¼> (ä»
ç¨äº FreeType)
-设置åå¹ç¼ç ã
-å½è®¾ä¸º "unicode" æ¶, å使件ä¸çææå模é½ä¼è¢«æ¸²æ
-å¹¶ä½¿ç¨ unicode ç¼ç (é»è®¤æ¯: unicode)ã
-.
-.TP
-.B \-subfont\-osd\-scale <0\-100> (ä»
ç¨äº FreeType)
-设置 OSD å
ç´ çèªå¨ç¼©æ¾ç³»æ°(é»è®¤æ¯: 6)ã
-.
-.TP
-.B \-subfont\-outline <0\-8> (ä»
ç¨äº FreeType)
-设置åä½è¾¹æ¡ç宽度(é»è®¤æ¯: 2)ã
-.
-.TP
-.B \-subfont\-text\-scale <0\-100> (ä»
ç¨äº FreeType)
-设置å广æ¬çèªå¨ç¼©æ¾ç³»æ°(å±å¹å°ºå¯¸çç¾åæ¯) (é»è®¤æ¯: 5)ã
-.
-.TP
-.B \-subfps <éç>
-æå®å广件ç帧ç(é»è®¤æ¯: çµå½±ç帧ç)ã
-.br
-.I 注æ:
-<éç> > çµå½±çå¸§çæ¶ï¼å°ä½¿åºäºå¸§çå广件å éææ¾åå¹ï¼è使åºäºæ¶é´çå广件åæ
¢æ
-æ¾åå¹ã
-.
-.TP
-.B \-subpos <0\-100> (ç¨äº \-vf expand)
-æå®åå¹å¨å±å¹ä¸æ¾ç¤ºçä½ç½®ã
-忰弿¯ä»¥å±å¹é«åº¦çç¾åæ¯ä¸ºåä½çåå¹åç´ä½ç½®ã
-.
-.TP
-.B \-subwidth <10\-100>
-æå®åå¹å¨å±å¹ä¸æ¾ç¤ºçæå¤§å®½åº¦ã
-对äºçµè§è¾åº(TV-out)æç¨ã
-忰弿¯ä»¥å±å¹å®½åº¦çç¾åæ¯ä¸ºåä½çåå¹å®½åº¦ã
-.
-.TP
-.B \-noterm\-osd
-彿²¡æå¯ç¨çè§é¢è¾åºæ¶, 忢卿§å¶å°ä¸æ¾ç¤º OSD ä¿¡æ¯ã
-.
-.TP
-.B \-term\-osd\-esc <转ä¹åºå>
-æå®, 卿§å¶å°ä¸æ¾ç¤º OSD ä¿¡æ¯ä¹å, 使ç¨ç转ä¹åºåã
-转ä¹åºååºè¯¥ææéç§»å° OSD çè¡é¦ç¶åæ¸
ç(é»è®¤æ¯: ^[[A\\r^[[K)ã
-.
-.TP
-.B \-unicode
-åè¯ MPlayer æå广件ä½ä¸º unicode æ¥å¤çã
-.
-.TP
-.B \-unrarexec <unrar 坿§è¡æä»¶çè·¯å¾>ï¼MingW å¹³å°ä¸ä¸æ¯æãï¼
-æå® unrar 坿§è¡æä»¶çè·¯å¾ï¼ä»¥ä½¿ MPlayer å¯ä»¥ä½¿ç¨å®æ¥è¯»å RAR å缩ç
- VOBSub æä»¶ï¼é»è®¤å¼ï¼æªè®¾ç½®è·¯å¾ï¼å æ¤è¯¥åè½å
³éï¼ã
-该路å¾å¿
é¡»å
å«å¯æ§è¡æä»¶çæä»¶åï¼ä¾å¦ \& /usr/local/bin/unrarã
-.
-.TP
-.B "\-utf8 \ \ "
-åè¯ MPlayer æå广件ä½ä¸º UTF-8 æ¥å¤çã
-.
-.TP
-.B \-vobsub <æ åç¼åç VOBsub æä»¶å>
-æå®ç¨äºå广¾ç¤ºç VOBsub æä»¶ã
-ä¸å¾ä¸æ¯æ åç¼åç宿´è·¯å¾å, 峿²¡æ ".idx", ".ifo" å ".sub"ã
-.
-.TP
-.B \-vobsubid <0\-31>
-æå® VOBsub å广 è¯ã
-.
-.TP
-.B \-vobsubid <0\-31>
-æå® VOBsub çåå¹ä»£ç ã
-.
-.
-.
-.SH "é³é¢è¾åºé项ï¼ä»
éç¨äºMPLAYERï¼"
-.
-.TP
-.B \-abs <åæ°å¼> (ä»
ç¨äº \-ao oss) (åºå¼)
-éè½½é³é¢é©±å¨/\:声å¡çç¼å²åºå¤§å°æ£æµã
-.
-.TP
-.B \-format <æ ¼å¼> (ä¹è¯·åè§é³é¢è¿æ»¤å¨ä¸èä¸çæ ¼å¼)
-éæ©æ ·æ¬æ ¼å¼ç¨äºä»é³é¢è¿æ»¤å¨å±è¾åºå°å£°å¡ã
-ä¸é¢é³é¢è¿æ»¤å¨ä¸èä¸çæ ¼å¼æè¿°ååºäºå¯éç¨ç<æ ¼å¼>å¼ã
-.
-.TP
-.B \-mixer <设å¤>
-使ç¨ä¸æ¯é»è®¤ç /dev/\:mixer æ··é³è®¾å¤ã
-å¯¹äº ALSA æ¥è¯´æ¯æ··é³åç§°ã
-.
-.TP
-.B \-mixer\-channel <æ··é³çº¿>[,æ··é³ç´¢å¼] (ä»
ç¨äº \-ao oss å \-ao alsa)
-æ¤é项åè¯ MPlayer 使ç¨ä¸åçééæ§å¶é³éè䏿¯é»è®¤ç PCMã
-ç¨äº OSS çé项å
æ¬
-.B vol, pcm, lineã
-æå
³é项çå®å
¨åè¡¨è¯·æ¥æ¾ /usr/\:include/\:linux/\:soundcard.h ä¸ç
-SOUND_DEVICE_NAMESã
-å¯¹äº ALSA (å¦ alsamixer displays), ä½ å¯ä»¥ä½¿ç¨çåç§°, å¦
-.B Master, Line, PCMã
-.br
-.I 注æ:
-ALSA æ··é³ééåç§°åé¢è·çæ°åå¿
é¡»ç¨ <åç§°,æ°å> æ ¼å¼æå®,
-å³ alsamixer ä¸ééæ ä¸º "PCM 1" çå¿
须转æ¢ä¸º
-.BR PCM,1 ã
-.
-.TP
-.B \-softvol
-éå®ä½¿ç¨è½¯ä»¶æ··é³, èä¸ç¨å£°å¡æ··é³ã
-.
-.TP
-.B \-softvol\-max <10.0\-10000.0>
-设置æå¤§æ©é³çº§å«(以ç¾åæ¯ä¸ºåä½) (é»è®¤æ¯: 110)ã
-å¼ 200 å
è®¸ä½ è°æ´çé³éæé«è¾¾å°ç®å级å«ç两åã
-对äºå¼ä½äº 100 ç, åå§é³é(为 100%) ä¼é«äºæå¤§å¼, OSD ä¸è½æ£ç¡®æ¾ç¤ºã
-.
-.TP
-.B \-volstep <0\-100>
-设置混é³é³éè°æ´çæ¥è¿åä½ä¸ºæ´ä¸ªèå´çç¾åæ¯ (é»è®¤æ¯: 3)ã
-.
-.
-.
-.SH "é³é¢è¾åºé©±å¨ï¼ä»
éç¨äºMPLAYERï¼"
-é³é¢è¾åºé©±å¨æ¯åç§é³é¢è¾åºè®¾å¤çæ¥å£ã
-è¯æ³æ¯:
-.
-.TP
-.B \-ao <驱å¨1[:åé项1[=åæ°å¼]:...],驱å¨2,...[,]>
-æå®ä½¿ç¨é³é¢è¾åºé©±å¨çä¼å
级å表ã
-.PP
-妿å表尾æ "," MPlayer ä½¿ç¨æ²¡æååºç驱å¨ä½ä¸ºåå¤ã
-åé项æ¯å¯éç, 大夿°çç¥ã
-.br
-.I 注æ:
-å·²ç¼è¯è¿çé³é¢è¾åºé©±å¨åè§äº \-ao help çå表ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-ao alsa,oss,"
-å°è¯ä½¿ç¨ ALSA 驱å¨, ç¶åæ¯ OSS 驱å¨, å忝å
¶ä»çã
-.IPs "\-ao alsa:noblock:device=hw=0.3"
-设置 noblock-模å¼å device-å称为第ä¸ä¸ªå¡, 第å个设å¤ã
-.RE
-.PD 1
-.sp 1
-å¯ç¨çé³é¢è¾åºé©±å¨æ:
-.
-.TP
-.B "alsa\ \ \ "
-ALSA 0.9/1.x é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs noblock
-设置 noblock-模å¼ã
-.IPs device=<设å¤>
-设置设å¤åç§°ã
-å¨ ALSA 设å¤åç§°ä¸æ¿æ¢ "," 为 ".", ":" 为 "="ã
-对äºéè¿ S/PDIF è¾åºç hwac3, ä½¿ç¨ "iec958" æ "spdif" 设å¤,
-é¤éä½ ççç¥éå¦ä½æ£ç¡®è®¾ç½®ã
-.RE
-.PD 1
-.
-.TP
-.B "alsa5\ \ "
-ALSA 0.5 é³é¢è¾åºé©±å¨
-.
-.TP
-.B "oss\ \ \ \ "
-OSS é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs <dsp-device>
-设置é³é¢è¾åºè®¾å¤ (é»è®¤æ¯: /dev/\:dsp)ã
-.IPs <mixer-device>
-设置é³é¢æ··é³è®¾å¤ (é»è®¤æ¯: /dev/\:mixer)ã
-.IPs <mixer-channel>
-设置é³é¢æ··é³éé (é»è®¤æ¯: pcm)ã
-.RE
-.PD 1
-.
-.TP
-.B sdl (ä»
ç¨äº SDL)
-é«çº§å¹³å°ç¬ç«ç SDL(ç®å Directmedia å±) åºé³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs <driver>
-æ¾å¼éæ© SDL é³é¢è¾åº (é»è®¤æ¯: 让 SDL é)ã
-.RE
-.PD 1
-.
-.TP
-.B "arts\ \ \ "
-é³é¢è¾åºéè¿ aRts daemon
-.
-.TP
-.B "esd\ \ \ \ "
-é³é¢è¾åºéè¿ ESD daemon
-.PD 0
-.RSs
-.IPs <server>
-æ¾å¼éæ© ESD æå¡å¨ (é»è®¤æ¯: localhost)ã
-.RE
-.PD 1
-.
-.TP
-.B "jack\ \ \ \ "
-é³é¢è¾åºéè¿ JACK(Jack é³é¢è¿æ¥å·¥å
·)
-.PD 0
-.RSs
-.IPs port=<å>
-è¿æ¥ç»å®ç«¯å£å (é»è®¤æ¯: ç©ç端å£)ã
-.IPs name=<客æ·ç«¯å>
-ä¼ é客æ·ç«¯åç» JACK (é»è®¤æ¯: MPlayer [<PID>])ã
-å¦æä½ æ³èªå¨å»ºç«æäºè¿æ¥æ¶æç¨ã
-.IPs (no)estimate
-估计é³é¢å»¶è¿, åå®è®©è§é¢åæ¾æ´æµç
(é»è®¤æ¯: å¯ç¨)ã
-.IPs (no)autostartï¼é»è®¤å¼ï¼ç¦ç¨ï¼
-彿éè¦æ¶èªå¨å¯å¨ jackdã
-注æè¯¥é项似ä¹ä¸å¯é ï¼å¹¶ä¸ä¼å¾æ åè¾åºåéæå¡ç«¯æ¶æ¯ã
-.RE
-.PD 1
-.
-.TP
-.B "nas\ \ \ \ "
-é³é¢è¾åºéè¿ NAS
-.
-.TP
-.B coreaudioï¼ä»
éç¨äº Mac OS Xï¼
-Mac OS X èªå¸¦çé³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs device_id=<æ è¯ç¬¦>
-æä½¿ç¨çè¾åºè®¾å¤çæ è¯ç¬¦ï¼0 = é»è®¤è®¾å¤ï¼
-.IPs help
-ååºææå¯ç¨è¾åºè®¾å¤çæ è¯ç¬¦ã
-.RE
-.PD 1
-.
-.TP
-.B "openal\ "
-å®éªæ§ç OpenAL é³é¢è¾åºé©±å¨
-.
-.TP
-.B "pulse\ \ "
-PulseAudio é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs "<主æº>[:<è¾åºæ³æ¼å¼>]"
-æå®æä½¿ç¨ç主æºï¼å¹¶éæ©æ§å°æå®æä½¿ç¨çè¾åºæ³æ¼å¼ã
-<主æº> å符串为空çè¯ï¼åä½¿ç¨æ¬å°è¿æ¥ãæå®âlocalhostâå使ç¨ç½ç»ä¼ è¾
-ï¼å¾å¯è½ä¸æ¯ä½ æå¸æçï¼ã
-.RE
-.PD 1
-.
-.TP
-.B sgi (ä»
ç¨äº SGI)
-åç SGI é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs "<è¾åºè®¾å¤å>"
-æ¾å¼éæ©é³é¢è¾åºè®¾å¤/\:æ¥å£ (é»è®¤æ¯: system-wide default)ã
-ä¾å¦: "Analog Out" æ "Digital Out"ã
-.RE
-.PD 1
-.
-.TP
-.B sun (ä»
ç¨äº Sun)
-åç Sun é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs <device>
-æ¾å¼éæ©é³é¢è®¾å¤ (é»è®¤æ¯: /dev/\:audio)ã
-.RE
-.PD 1
-.
-.TP
-.B win32 (ä»
ç¨äº Windows)
-åç Windows waveout é³é¢è¾åºé©±å¨
-.
-.TP
-.B dsound (ä»
ç¨äº Windows)
-DirectX DirectSound é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs device=<devicenum>
-设置设å¤å·ã
-ç¨ \-v ææ¾æä»¶è½æ¾ç¤ºå¯ç¨è®¾å¤å表ã
-.RE
-.PD 1
-.
-.TP
-.B kaiï¼ä»
éç¨äº OS/2ï¼
-OS/2 KAI é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs uniaud
-强å¶ä½¿ç¨ UNIAUD 模å¼ã
-.IPs dart
-强å¶ä½¿ç¨ DART 模å¼ã
-.IPs (no)share
-以å
±äº«æç¬å æ¨¡å¼æå¼é³é¢ã
-.IPs bufsize=<size>
-设置ç¼å²å¤§å°ä¸º <size>ï¼ä»¥éæ ·æ°ä¸ºåä½ï¼é»è®¤å¼ï¼2048ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B dartï¼ä»
éç¨äº OS/2ï¼
-OS/2 DART é³é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs (no)share
-以å
±äº«æç¬å æ¨¡å¼æå¼ DART è¾åºã
-.IPs bufsize=<大å°>
-å°ç¼å²å¤§å°è®¾ä¸º<大å°>ï¼åä½ä¸ºéæ ·æ°ï¼é»è®¤å¼ï¼2048ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (ä¹è¯·åè§ \-dxr2) (ä»
ç¨äº DXR2)
-Creative DXR2 ä¸ç¨çè¾åºé©±å¨
-.
-.TP
-.B ivtv (ä»
ç¨äº IVTV)
-IVTV ä¸ç¨ç MPEG é³é¢è¾åºé©±å¨ã
-åªè½ä¸ \-ac hwmpa ä¸èµ·ç¨ã
-.
-.TP
-.B v4l2ï¼éè¦Linux 2.6.22+çå
æ ¸ï¼
-带æç¡¬ä»¶MPEGè§£ç å¨çV4L2å¡çé³é¢è¾åºé©±å¨ã
-.
-.TP
-.B mpegpes (ä»
ç¨äº DVB)
-DVB å¡é³é¢è¾åºé©±å¨è¾åºå° MPEG-PES æä»¶å¦ææ²¡å®è£
DVB å¡ã
-.PD 0
-.RSs
-.IPs card=<1\-4>
-æå® DVB å¡å¦ææå¤äºä¸ä¸ªå¡ã
-妿䏿å®ï¼MPlayer å°æç´¢ç¬¬ä¸ä¸ªå¯ç¨çå¡ã
-If not specified mplayer will search the first usable card.
-.IPs file=<æä»¶å>
-è¾åºæä»¶å
-.RE
-.PD 1
-.
-.TP
-.B "null\ \ \ "
-ä¸äº§çé³é¢è¾åºä½ç»´æè§é¢åæ¾é度ã
-åºåæµè¯ç¨ \-nosoundã
-.
-.TP
-.B "pcm\ \ \ \ "
-åå§ PCM/wave æä»¶è®°å½å¨çé³é¢è¾åº
-.PD 0
-.RSs
-.IPs (no)waveheader
-å
æ¬æä¸å
æ¬å£°æ³¢å¤´ (é»è®¤æ¯: å
æ¬)ã
-妿ä¸å
æ¬, ä¼äº§çåå§ç PCMã
-.IPs file=<æä»¶å>
-å声é³å° <æä»¶å> è䏿¯é»è®¤ç audiodump.wavã
-å¦ææ²¡æå®å£°æ³¢å¤´, é»è®¤æ¯ audiodump.pcmã
-.IPs "fast\ "
-å°è¯æ¯å®æ¶æ´å¿«å°è½¬å¨ã
-ç¡®ä¿è¾åºä¸è¢«æªæ (é常æ "ç¼å²ä¸è§é¢å
太å¤" æ¶æ¯)ã
-ä½ å¾å°æ¶æ¯ "ä½ çç³»ç»å¤ªâæ
¢âäº, ææ¾ä¸äº!" æ¯æ£å¸¸çã
-.RE
-.PD 1
-.
-.TP
-.B "plugin\ \ "
-é³é¢è¾åºé©±å¨æä»¶
-.
-.
-.
-.SH "è§é¢è¾åºé项ï¼ä»
éç¨äºMPLAYERï¼"
-.
-.TP
-.B \-adapter <åæ°å¼>
-设置æ¾å¡æ¥åå¾åã
-ç¨æ¤é项带 \-v è½å¾å°å¯ç¨å¡çå表ã
-ç®ååªè½ä¸ directx è§é¢è¾åºé©±å¨ä¸èµ·å·¥ä½ã
-.
-.TP
-.B \-bpp <深度>
-éè½½èªå¨æ£æµçè²å½©æ·±åº¦ã
-åªè¢« fbdev, dga, svga, vesa è§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B \-border
-使ç¨çªå£è¾¹æ¡åè£
é¥°æ¥ææ¾çµå½±ã
-æ¢ç¶é»è®¤æ¯å¯ç¨, ä½¿ç¨ \-noborder åç¨æ åççªå£è£
饰ã
-.
-.TP
-.B \-brightness <\-100\-100>
-è°æ´è§é¢ä¿¡å·ç亮度 (é»è®¤æ¯: 0)ã
-ä¸è¢«ææçè§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B \-contrast <\-100\-100>
-è°æ´è§é¢ä¿¡å·ç对æ¯åº¦ (é»è®¤æ¯: 0)ã
-ä¸è¢«ææçè§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B \-display <å> (ä»
ç¨äº X11)
-æå®ä½ å¸æä½¿ç¨ X server ç主æºååæ¾ç¤ºå·ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-\-display xtest.localdomain:0
-.RE
-.PD 1
-.
-.TP
-.B "\-dr \ \ \ "
-æå¼ç´æ¥æ¸²æåè½(è¿ä¸è¢«ææçç¼è§£ç å¨è§é¢è¾åºæ¯æ)
-.br
-.I è¦å:
-å¯è½å¯¼è´ OSD/åå¹ æå!
-.
-.TP
-.B \-dxr2 <é项1:é项2:...>
-æ¤éé¡¹ç¨æ¥æ§å¶ dxr2 è§é¢è¾åºé©±å¨ã
-.RSs
-.IPs ar-mode=<åæ°å¼>
-宽髿¯æ¨¡å¼ (0 = æ®é, 1 = pan-and-scan, 2 = letterbox (é»è®¤))
-.IPs iec958-encoded
-设置 iec958 è¾åºæ¨¡å¼ä¸º encodedã
-.IPs iec958-decoded
-设置 iec958 è¾åºæ¨¡å¼ä¸º decoded (é»è®¤)ã
-.IPs macrovision=<åæ°å¼>
-macrovision æ¨¡å¼ (0 = off (é»è®¤), 1 = agc, 2 = agc 2 colorstripe,
-3 = agc 4 colorstripe)
-.IPs "mute\ "
-éé³è¾åº
-.IPs unmute
-ééé³è¾åº
-.IPs ucode=<åæ°å¼>
-microcode çè·¯å¾
-.RE
-.RS
-.sp 1
-.I TV output
-.RE
-.RSs
-.IPs 75ire
-å¯ç¨ 7.5 IRE è¾åºæ¨¡å¼
-.IPs no75ire
-åç¨ 7.5 IRE è¾åºæ¨¡å¼ (é»è®¤)
-.IPs "bw\ \ \ "
-é»ç½çµè§è¾åº
-.IPs color
-彩è²çµè§è¾åº (é»è®¤)
-.IPs interlaced
-交éçµè§è¾åº (é»è®¤)
-.IPs nointerlaced
-åç¨äº¤éçµè§è¾åº
-.IPs norm=<åæ°å¼>
-TV å¶å¼ (ntsc (é»è®¤), pal, pal60, palm, paln, palnc)
-.IPs square-pixel
-设置åç´ æ¨¡å¼ä¸º square
-.IPs ccir601-pixel
-设置åç´ æ¨¡å¼ä¸º ccir601
-.RE
-.RS
-.sp 1
-.I overlay
-.RE
-.RSs
-.IPs cr-left=<0\-500>
-设置左è£åå¼ (é»è®¤æ¯: 50)ã
-.IPs cr-right=<0\-500>
-设置å³è£åå¼ (é»è®¤æ¯: 300)ã
-.IPs cr-top=<0\-500>
-设置ä¸è£åå¼ (é»è®¤æ¯: 0)ã
-.IPs cr-bottom=<0\-500>
-设置ä¸è£åå¼ (é»è®¤æ¯: 0)ã
-.IPs ck-[r|g|b]=<0\-255>
-设置å å color-key ç红(r), 绿(g)åè(b)å¢çã
-.IPs ck-[r|g|b]min=<0\-255>
-åèª color key çæå°å¼
-.IPs ck-[r|g|b]max=<0\-255>
-åèª color key æå¤§å¼
-.IPs ignore-cache
-忽ç¥ç¼åçå å 设置ã
-.IPs update-cache
-æ´æ°ç¼åçå å 设置ã
-.IPs ol-osd
-å¯ç¨å å å±ä¸æ¾ç¤º(OSD)ã
-.IPs nool-osd
-åç¨å±ä¸æ¾ç¤º(OSD) (é»è®¤)ã
-.IPs ol[h|w|x|y]-cor=<\-20\-20>
-è°æ´å å 尺寸(h,w) åä½ç½®(x,y), ä¸ä¸è·çªå£å¹é
ä¸å¤å®ç¾ (é»è®¤æ¯: 0)ã
-.IPs overlay
-æ¿æ´»å å (é»è®¤)ã
-.IPs nooverlay
-æ¿æ´»çµè§è¾åºã
-.IPs overlay-ratio=<1\-2500>
-è°æ´å å (é»è®¤æ¯: 1000)ã
-.RE
-.
-.TP
-.B \-fbmode <模å¼å> (ä»
ç¨äº \-vo fbdev)
-æ¹åè§é¢æ¨¡å¼ä¸º /etc/\:fb.modes 䏿 记为 <模å¼å> çæ¨¡å¼ã
-.
-.br
-.I 注æ:
-VESA 帧ç¼å²ä¸æ¯ææ¹å模å¼ã
-.
-.TP
-.B \-fbmodeconfig <æä»¶å> (ä»
ç¨äº \-vo fbdev)
-é载帧ç¼å²æ¨¡å¼çé
ç½®æä»¶ (é»è®¤æ¯: /etc/\:fb.modes)ã
-.
-.TP
-.B \-fs (ä¹è¯·åè§ \-zoom)
-å
¨å±å¹åæ¾ (çµå½±å±
ä¸, åå¨å¡«å
é»è²æ¡è¾¹)ã
-è¿ä¸è¢«ææçè§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B \-fsmode\-dontuse <0\-31> (åºå¼, ä½¿ç¨ \-fs é项)
-å¦æä½ ä»ç¶æå
¨å±é®é¢è¯è¯æ¤é项ã
-.
-.TP
-.B \-fstype <ç±»å1,ç±»å2,...> (ä»
ç¨äº X11)
-æå®ä½¿ç¨å
¨å±æ¨¡å¼çä¼å
级å表ã
-ä½ å¯ä»¥ç¨åç¼ "\-" åæ¶æ¨¡å¼ã
-å¦æä½ éå°åå
¨å±çªå£è¢«å
¶ä»çªå£é®ä½é®é¢, è¯è¯ä¸åç顺åºã
-.br
-.I 注æ:
-åè§ \-fstype help ååºçå
¨é¨å¯ç¨æ¨¡å¼çå表ã
-.sp 1
-å¯ç¨çç±»åæ:
-.sp 1
-.PD 0
-.RSs
-.IPs above
-妿å¯ç¨çè¯, ä½¿ç¨ _NETWM_STATE_ABOVE æç¤ºã
-.IPs below
-妿å¯ç¨çè¯, ä½¿ç¨ _NETWM_STATE_BELOW æç¤ºã
-.IPs fullscreen
-妿å¯ç¨çè¯, ä½¿ç¨ _NETWM_STATE_FULLSCREEN æç¤ºã
-.IPs layer
-ä¸é»è®¤å±ä¸èµ·ä½¿ç¨ _WIN_LAYER æç¤ºã
-.IPs layer=<0...15>
-ä¸ç»å®çå±å·ä¸èµ·ä½¿ç¨ _WIN_LAYER æç¤ºã
-.IPs netwm
-éå® NETWM 飿 ¼ã
-.IPs "none\ "
-æ¸
空模å¼å表ï¼ä½ å¯ä»¥ä¹åæ·»å è¦å¯ç¨ç模å¼ã
-.IPs stays_on_top
-妿å¯ç¨çè¯, ä½¿ç¨ _NETWM_STATE_STAYS_ON_TOP æç¤ºã
-.REss
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.PD 0
-.RSs
-.IPs layer,stays_on_top,above,fullscreen
-妿æå®äºä¸æ£ç¡®çæä¸æ¯æç模å¼, é»è®¤ç顺åºä½ä¸ºå¤ç¨è使ç¨ã
-.IPs \-fullscreen
-ä¿®å¤ OpenBox 1.x çå
¨å±å¼å
³ã
-.RE
-.PD 1
-.
-.TP
-.B \-geometry x[%][:y[%]] æ [WxH][+-x+-y]
-è°æ´å±å¹è¾åºçåå§ä½ç½®ã
-x å y 代表ä»å±å¹å·¦ä¸è§å°æ¾ç¤ºå¾åå·¦ä¸è§çè·ç¦»(以åç´ ä¸ºåä½)ã
-ä¸è¿å¦æå¨åæ°å¼åæç¾åå·è®°å·, åæ°å¼å°±å为该æ¹åä¸çå±å¹å°ºå¯¸çç¾åæ°ã
-å®ä¹æ¯ææ å X11 ç \-geometry éé¡¹æ ¼å¼ãå¨è¿ç§æ¹å¼ä¸ï¼ä¾å¦ï¼â+10-50âè¡¨ç¤ºâæ¾å¨è·å·¦
-è¾¹ç 10 个åç´ ï¼è·ä¸è¾¹ç 50 个åç´ çå°æ¹âï¼èâ--20+-10âè¡¨ç¤ºâæ¾å¨è¶åºå³è¾¹ç 20 个å
-ç´ ï¼è¶åºä¸è¾¹ç 10 个åç´ çå°æ¹ãâ
-å¦æä½¿ç¨ \-wid é项æå®äºå¤é¨çªå£ï¼é£ä¹ x å y åæ æ¯ç¸å¯¹äºçªå£è䏿¯å±å¹çå·¦ä¸è§ã
-åæ æ¯ç¸å¯¹äº \-xineramascreen é项ç»åºçå±å¹ï¼è¯¥å±å¹ç¨äºå®å
¨æ¯æ \-xineramascreen ç
-è§é¢è¾åºç驱å¨ï¼direct3dãglãgl2ãvdpauãx11ãxvãxvmcãcorevideoï¼ã
-The coordinates are relative to the screen given with \-xineramascreen for
-the video output drivers that fully support \-xineramascreen (direct3d, gl, gl2,
-vdpau, x11, xv, xvmc).
-.br
-.I 注æï¼
-æ¤é项ä»
被 x11ãxmgaãxvãxvmcãxvidixãglãgl2ãdirectxãfbdevãtdfxfb å
-corevideo è§é¢è¾åºé©±å¨æ¯æã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs 50:40
-æçªå£æ¾å¨ x=50, y=40 å¤ã
-.IPs 50%:50%
-æçªå£æ¾å¨å±å¹ä¸å¤®ã
-.IPs "100%\ "
-æçªå£æ¾å¨å±å¹å³è¾¹ä¸å¤®ã
-.IPs 100%:100%
-æçªå£æ¾å¨å±å¹å³ä¸è§ã
-.RE
-.PD 1
-.
-.TP
-.B \-guiwid <çªå£æ è¯> (ä¹è¯·åè§ \-wid) (ä»
ç¨äº GUI)
-åè¯ GUI ä¹ä½¿ç¨ X11 çªå£å¹¶æèªå·±éå¨è§é¢çªå£ç䏿¹,
-è¿å¯¹äºå°ä¸ä¸ª mini-GUI åµå
¥å°æµè§å¨æ¶(æ¯å¦ MPlayer æä»¶)æç¨ã
-.
-.TP
-.B \-hue <\-100\-100>
-è°è§é¢ä¿¡å·çè²è° (é»è®¤æ¯: 0)ã
-ä½ å¯ä»¥éè¿æ¤é项å¾å°è´çææçå¾åã
-è¿ä¸è¢«ææè§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B \-monitor\-dotclock <èå´[,èå´,...]> (ä»
ç¨äº \-vo fbdev å vesa)
-æå®çè§å¨ç dotclock æ pixelclock èå´ã
-.
-.TP
-.B \-monitor\-hfreq <èå´[,èå´,...]> (ä»
ç¨äº \-vo fbdev å vesa)
-æå®çè§å¨çæ°´å¹³é¢çèå´ã
-.
-.TP
-.B \-monitor\-vfreq <èå´[,èå´,...]> (ä»
ç¨äº \-vo fbdev å vesa)
-æå®çè§å¨çåç´é¢çèå´ã
-.
-.TP
-.B \-monitoraspect <宽髿¯> (ä¹è¯·åè§ \-aspect)
-设置çè§å¨æçµè§å±å¹ç宽髿¯ã
-å¼ 0 å°ç¦ç¨å
åç设置ï¼ä¾å¦ï¼é
ç½®æä»¶ä¸ç设置ï¼ãå¦ææ¿æ´»äºï¼æ¤
-é项尿¹å \-monitorpixelaspect ä¸ç设置ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-\-monitoraspect 4:3 æè
1.3333
-.br
-\-monitoraspect 16:9 æè
1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-monitorpixelaspect <宽髿¯> (ä¹è¯·åè§ \-aspect)
-设置çè§å¨æçµè§å±å¹çååç´ å®½é«æ¯ï¼é»è®¤å¼ï¼1ï¼ã
-å¼ 1 è¡¨ç¤ºæ£æ¹å½¢åç´ ((å ä¹?)对ææç LCD æ¯æ£ç¡®ç)ã
-.
-.TP
-.B \-nameï¼ä»
ç¨äº X11ï¼
-设置çªå£ç±»çååã
-.
-.TP
-.B \-nodouble
-åç¨åç¼å², 夿°ç¨äºè°è¯ç®çã
-åç¼å²éè¿å¨å
åéå¨å两帧æ¥è§£å³éªçé®é¢, 卿¾ç¤ºä¸å¸§çåæ¶è§£ç å¦ä¸å¸§ã
-ä¼è´é¢å½±å OSD, ä½å¸¸å¸¸è½å»é¤ OSD éªçã
-.
-.TP
-.B \-nograbpointer
-è§é¢æ¨¡å¼æ¹å(\-vm)å, 䏿ªè·é¼ æ ç¦ç¹ã
-对å¤è¾åºå¤´è®¾ç½®æç¨ã
-.
-.TP
-.B \-nokeepaspect
-缩æ¾çªå£æ¶ä¸ä¿æçªå£ç宽髿¯ã
-åªè½ä¸ x11, xv, xmga, xvidix, directx è§é¢è¾åºé©±å¨ä¸èµ·å·¥ä½ã
-èä¸å¨ X11 ä¸ä½ ççªå£ç®¡çå¨å¿
é¡»å°éçªå£å®½é«æ¯çæç¤ºã
-.
-.TP
-.B "\-ontop\ "
-ä½¿å¾æ¤ææ¾å¨çªå£ä½äºå
¶ä»çªå£ä¹ä¸ã
-è§é¢è¾åºé©±å¨ä½¿ç¨ X11 ç, é¤äº SDL, è¿æä½¿ç¨ directx, corevideo, quartz,
-ggi å gl2 ç齿¯ææ¤åè½ã
-.
-.TP
-.B \-panscan <0.0\-1.0>
-å¯ç¨ pan-and-scan åè½ (è£åå¦ 16:9 çµå½±çè¾¹éåº 4:3 æ¾ç¤ºä¸å¸¦é»è¾¹)ã
-èå´åæ°å¼ç¨æ¥æ§å¶è£åå¤å°å¾åã
-åªè½ä¸ xv, xmga, mga, gl, gl2, quartz, corevideo å xvidix ç
-è§é¢è¾åºé©±å¨ä¸èµ·å·¥ä½ã
-.br
-.I 注æï¼
-ä¹å
许 \-1 å 0 é´çå¼ï¼ä½è¿äºå¼å¤äºé«åº¦è¯éªé¶æ®µï¼ä»èå¯è½å¯¼è´å´©æºææ´ç³ã
-使ç¨åæèªè´ï¼
-.
-.TP
-.B \-panscanrange <\-19.0\-99.0> (è¯éª)
-æ¹å pan-and-scan åè½çèå´åæ°å¼ (é»è®¤æ¯: 1)ã
-æ£å¼è¡¨ç¤ºåæ©é»è®¤èå´ã
-è´å¼è¡¨ç¤ºä½ å¯ä»¥æ¾å¤§å°å å \-panscanrange+1 æå
许çèå´ã
-ä¾å¦ \-panscanrange \-3 å
许缩æ¾å åè¾¾å° 4ã
-æ¤ç¹æ§å±å®éªæ§, ä¸è¦æ¥åç¸å
³é误é¤éä½ å¨ç¨ using \-vo glã
-.
-.TP
-.B \-refreshrate <Hz>
-设置çè§å¨çå·æ°ç(以 Hz 为åä½)ã
-ç®åä»
被 \-vo directx ä¸ \-vm çç»åæ¯æã
-.
-.TP
-.B \-rootwin
-卿 ¹çªå£(æ¡é¢èæ¯)䏿æ¾çµå½±ã
-è½ç¶æ¡é¢èæ¯å¾åå¯è½çä½çµå½±çªå£ã
-åªè½ä¸ x11, xv, xmga, xvidix, quartz, corevideo å directx ç
-è§é¢è¾åºé©±å¨ä¸èµ·å·¥ä½ã
-.
-.TP
-.B \-saturation <\-100\-100>
-è°æ´è§é¢ä¿¡å·ç饱å度(é»è®¤å¼: 0)ã
-ä½ å¯ä»¥éè¿æ¤é项è·å¾ç°åº¦è¾åºã
-è¿ä¸è¢«ææçè§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B \-screenh <åç´ >
-æå®å±å¹é«åº¦ï¼å¦æè§é¢è¾åºé©±å¨ï¼å¦ fbdev, x11 å TVoutï¼ä¸ç¥éå±å¹å辨çã
-.
-.TP
-.B \-screenw <pixels>
-æå®å±å¹å®½åº¦ï¼å¦æè§é¢è¾åºé©±å¨ï¼å¦ fbdev, x11 å TVoutï¼ä¸ç¥éå±å¹å辨çã
-.
-.TP
-.B \-stop\-xscreensaver (ä»
ç¨äº X11)
-å¯å¨æ¶å
³é xscreensaver, éåºæ¶åæå¼å®ã
-å¦æä½ çå±ä¿ç¨åºä¸æ¯æ XSS æ XResetScreenSaver ç APIï¼åè¯·ä½¿ç¨ \-heartbeat\-cmd é项ã
-.
-.TP
-.B \-titleï¼å¦è§ \-use\-filename\-titleï¼
-设置çªå£çæ é¢ã
-åºäº X11 çè§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B \-use\-filename\-titleï¼å¦è§ \-titleï¼
-彿ªä½¿ç¨ \-title 设置çªå£çæ 颿¶ï¼ä½¿ç¨åªä½çæä»¶å设置ã
-åºäº X11 çè§é¢è¾åºé©±å¨æ¯æã
-.
-.TP
-.B "\-vm \ \ \ "
-å°è¯æ¹åä¸åçè§é¢æ¨¡å¼ã
-è§é¢è¾åºé©±å¨æ¯æçæ dga, x11, xv, sdl å directxã
-妿ç¨äº directx è§é¢è¾åºé©±å¨ \-screenw, \-screenh, \-bpp å
-\-refreshrate é项å¯ç¨æ¥è®¾ç½®æ°çæ¾ç¤ºæ¨¡å¼ã
-.
-.TP
-.B "\-vsync \ \ "
-å¯ç¨ VBI ç¨äº vesa, dfbmga å svga è§é¢è¾åºé©±å¨ã
-.
-.TP
-.B \-wid <çªå£æ è¯>ï¼å¦è§ \-guiwidï¼ï¼ä»
ç¨äº X11ãOpenGL å DirectXï¼
-该é项让 MPlayer ç»å®è³ä¸ä¸ªå·²æççªå£ä¸ã
-éç¨äºå° MPlayer åµå
¥è³æµè§å¨ä¸ï¼æ¯å¦æ©å±æä»¶ï¼ã
-该é项å°å®å
¨å
å¡«æç»ççªå£ï¼ä»èä¼ç¼©æ¾å®½é«æ¯ãMPlayer ä¸åè´è´£è¯¸å¦å
¨æ¯æ¨¡å¼ä¹ç±»
-çåè½ï¼èæ¯ç±å建该çªå£çåºç¨ç¨åºç®¡çã
-.
-.TP
-.B \-xineramascreen <\-2\-...>
-å¨ Xinerama é
ç½®ä¸(å°±æ¯ä¸ä¸ªå䏿¡é¢å±å¼å¨å¤ä¸ªæ¾ç¤ºå¨ä¸),
-æ¤é项åè¯ MPlayer æçµå½±æ¾ç¤ºå¨åªä¸ªå±å¹ä¸ã
-å¼ \-2 表示å
¨å±å¹å±å¼å°æ´ä¸ªèæçæ¾ç¤ºå±å¹ä¸ï¼å¨è¿ç§æ
åµä¸å°å®å
¨å¿½ç¥Xineramaçä¿¡
-æ¯ï¼ï¼\-1 表示å¨ç®åçªå£æå¨çæ¾ç¤ºå±ä¸å
¨å±å¹ã
-éè¿ \-geometry é项设置çåå§ä½ç½®æ¯ç¸å¯¹äºæå®å±å¹çã
-é常åªè½ä¸ "\-fstype \-fullscreen" æ "\-fstype none" ä¸èµ·å·¥ä½ã
-该é项ä¸éç¨äºä»
ä»
设置å¯å¨å±å¹ï¼å¹¶ä¸ä¹ä¸éå设置å
¨å±å±å¹ï¼ï¼\-geometry æ¯ç®åå¯ç¨
-äºæ¤ç®ççæå¥½é项ã
-è³å° direct3dãglãgl2ãx11ãxv å corevideo è§é¢è¾åºé©±å¨æ¯æè¯¥é项ã
-.TP
-.B \-zrbw (ä»
ç¨äº \-vo zr)
-é»ç½æ¾ç¤ºã
-ç¨äºä¼åæ§è½, æ¤é项å¯ä»¥ä¸ "\-lavdopts gray" ç»å使ç¨ã
-.
-.TP
-.B \-zrcrop <[宽]x[é«]+[x åç§»]+[y åç§»]> (ä»
ç¨äº \-vo zr)
-éæ©æ¾ç¤ºè¾å
¥å¾åçä¸é¨å, 使ç¨å¤ä¸ªè¿æ ·çé项就å¯å¨äº cinerama 模å¼ã
-å¨ cinerama 模å¼ä¸çµå½±åå¸å¨å¤ä¸ªçµè§(ææå½±ä»ª)ä¸, ç¨äºå建ä¸ä¸ªè¾å¤§çå¾åã
-å¨ç¬¬ n 个 \-zrcrop åé¢çé项åºç¨äºç¬¬ n 个 MJPEG è§£ç å¡,
-æ¯ä¸ä¸ªç¼ç å¡è³å°éè¦æä¸ä¸ª \-zrcrop é项å ä¸ä¸ä¸ª \-zrdev é项ã
-请å¯ç \-zrhelp çè¾åºåææ¡£ Zr ä¸èä¸ç示ä¾ã
-.
-.TP
-.B \-zrdev <设å¤> (ä»
ç¨äº \-vo zr)
-æå®ä½ ç MJPEG ç¼ç å¡ä½¿ç¨çè®¾å¤æä»¶å, é»è®¤æ
åµä¸
-æ¤ zr è§é¢è¾åºé©±å¨ä½¿ç¨å®æè½æ¾å°ç第ä¸ä¸ª v4l 设å¤ã
-.
-.TP
-.B \-zrfd (ä»
ç¨äº \-vo zr)
-强å¶ç®ååæ ·: ç®ååæ ·ç± \-zrhdec å \-zrvdec æå®,
-ä¸è¬åªæå¨ç¡¬ä»¶ç¼©æ¾è½æå¾å伸å±å°åå§å°ºå¯¸æ¶æä½¿ç¨ã
-.
-.TP
-.B \-zrhdec <1|2|4> (ä»
ç¨äº \-vo zr)
-æ°´å¹³ç®ååæ ·: è¦æ±é©±å¨åªåéè¾å
¥å¾åçæ¯ 2 æ 4 è¡/\:åç´ å° MJPEG ç¼ç å¡,
-å¹¶ä½¿ç¨ MJPEG å¡ç缩æ¾å¨æå¾ååå¤å°åå§å°ºå¯¸ã
-.
-.TP
-.B \-zrhelp (ä»
ç¨äº \-vo zr)
-æ¾ç¤ºä¸ä¸ªå表å
æ¬ææ \-zr* çé项, å®ä»¬çé»è®¤å¼åä½¿ç¨ cinerama 模å¼çä¾å
-.
-.TP
-.B \-zrnorm <å¶å¼> (ä»
ç¨äº \-vo zr)
-æå®çµè§å¶å¼ä¸º PAL æ NTSC (é»è®¤æ¯: 䏿¹å)ã
-.
-.TP
-.B \-zrquality <1\-20> (ä»
ç¨äº \-vo zr)
-仿°å¼ 1(æå¥½) å° 20(æå·®) 代表 JPEG ç¼ç è´¨éã
-.
-.TP
-.B \-zrvdec <1|2|4> (ä»
ç¨äº \-vo zr)
-åç´ç®ååæ ·: è¦æ±é©±å¨åªåéè¾å
¥å¾åçæ¯ 2 æ 4 è¡/\:åç´ å° MJPEG ç¼ç å¡,
-å¹¶ä½¿ç¨ MJPEG å¡ç缩æ¾å¨æå¾ååå¤å°åå§å°ºå¯¸ã
-.
-.TP
-.B \-zrxdoff <x æ¾ç¤ºåç§»é> (ä»
ç¨äº \-vo zr)
-妿çµå½±å±å¹æ¯çµè§çå°, æ¤é项æå®
-ç¸å¯¹äºçµè§å±å¹å·¦ä¸è§ç x åç§»é (é»è®¤æ¯: ä¸å¤®ä½ç½®)ã
-.
-.TP
-.B \-zrydoff <y æ¾ç¤ºåç§»é> (ä»
ç¨äº \-vo zr)
-妿çµå½±å±å¹æ¯çµè§çå°, æ¤é项æå®
-ç¸å¯¹äºçµè§å±å¹å·¦ä¸è§ç y åç§»é (é»è®¤æ¯: ä¸å¤®ä½ç½®)ã
-.
-.
-.
-.SH "è§é¢è¾åºé©±å¨ï¼ä»
éç¨äºMPLAYERï¼"
-è§é¢è¾åºé©±å¨æ¯åç§è§é¢è¾åºè®¾å¤çæ¥å£ã
-è¯æ³æ¯:
-.
-.TP
-.B \-vo <驱å¨1[:åé项1[=åæ°å¼]:...],驱å¨2,...[,]>
-æå®ä½¿ç¨è§é¢è¾åºé©±å¨çä¼å
级å表ã
-.PP
-妿å表尾æ "," MPlayer ä½¿ç¨æ²¡æååºç驱å¨ä½ä¸ºåå¤ã
-åé项æ¯å¯éç, 大夿°çç¥ã
-.br
-.I 注æ:
-å·²ç¼è¯è¿çè§é¢è¾åºé©±å¨åè§äº \-vo help çå表ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-vo xmga,xv,"
-å°è¯ä½¿ç¨ Matrox X11 驱å¨, ç¶åæ¯ Xv 驱å¨, å忝å
¶ä»çã
-.IPs "\-vo directx:noaccel"
-使ç¨å éç¹æ§å
³éç DirectX 驱å¨ã
-.RE
-.PD 1
-.sp 1
-å¯ç¨çè§é¢è¾åºé©±å¨æ:
-.
-.TP
-.B xv (ä»
ç¨äº X11)
-ä½¿ç¨ XFree86 4.x ç XVideo æ©å±æ¥å¯ç¨ç¡¬ä»¶å éåæ¾ã
-å¦æä½ ä¸è½ä½¿ç¨ç¡¬ä»¶æå®ç驱å¨, è¿æè®¸æ¯æå¥½çé项ã
-æå
³ç¨äºä»ä¹ colorkey 以åå¦ä½ç»å¶çä¿¡æ¯, 请è¿è¡ MPlayer
-ç \-v é项并注æå¼å¤´ææ ç¾ [xv common] çè¡ã
-.PD 0
-.RSs
-.IPs adaptor=<æ°å¼>
-éæ©ä¸ä¸ªç¹å®ç XVideo éé
å¨ï¼è¯·æ£æ¥ xvinfo çç»æï¼ã
-.IPs port=<æ°å¼>
-éæ©æå®ç XVideo 端å£ã
-.IPs ck=<cur|use|set>
-éæ©ç¨äº colorkey çæº (é»è®¤æ¯: cur)ã
-.RSss
-.IPs cur
-é»è®¤éç¨ Xv ä¸ç®å设置ç colorkeyã
-.IPs use
-使ç¨ä½ä¸ä» MPlayer (ç¨ \-colorkey é项æ¥ä¿®æ¹)æ¥è®¾ç½® colorkeyã
-.IPs set
-å use 䏿 ·ä½è®¾ç½®å·²æä¾ç colorkeyã
-.RE
-.IPs ck-method=<man|bg|auto>
-设置 colorkey ç»å¶æ¹æ³ (é»è®¤æ¯: man)ã
-.RSss
-.IPs man
-æå¨ç»å¶ colorkey (åå°æäºæ
åµä¸çéªç)ã
-.IPs bg
-设置 colorkey ä½ä¸ºçªå£èæ¯ã
-.IPs auto
-让 Xv ç»å¶ colorkeyã
-.RE
-.RE
-.PD 1
-.
-.TP
-.B x11 (ä»
ç¨äº X11)
-æ¯å½ X11 åºåºæ¶, å
±äº«å
åçè§é¢è¾åºé©±å¨è½æ²¡æç¡¬ä»¶å éä¹è½å·¥ä½ã
-.
-.TP
-.B xover (ä»
ç¨äº X11)
-æ·»å X11 æ¯æææåºäºè§é¢è¾åºé©±å¨çéå ã
-ç®åä»
被 tdfx_vid æ¯æã
-.PD 0
-.RSs
-.IPs <vo_驱å¨>
-éæ©æ¤é©±å¨ä½ä¸ºæºä½¿ç¨éå å¨ X11 ä¸é¢ã
-.RE
-.PD 1
-.
-.TP
-.B vdpauï¼ä¸ \-vc ffmpeg12vdpauï¼ffwmv3vdpauï¼ffvc1vdpauï¼ffh264vdpau æ
-ffodivxvdpau ä¸å使ç¨ï¼
-ä½¿ç¨ VDPAU 硬件解ç è§é¢çè§é¢è¾åºæ¹å¼ã
-åæ¶æ¯ææ¾ç¤ºè½¯ä»¶è§£ç çè§é¢ã
-.PD 0
-.RSs
-.IPs sharpen=<\-1\-1>
-ä½¿ç¨æ£æ°å¼æ¶ï¼å°éåç®æ³åºç¨äºè§é¢ç»é¢ï¼
-使ç¨è´æ°å¼æ¶ï¼ååºç¨æ¨¡ç³ç®æ³ï¼é»è®¤å¼ï¼0ï¼ã
-.IPs denoise=<0\-1>
-å°ä¸ç§æ¶é¤åªç¹çç®æ³åºç¨äºè§é¢ç»é¢ï¼é»è®¤å¼ï¼0ï¼ä¸æ¶é¤åªç¹ï¼ã
-.IPs deint=<0\-4>
-éæ©åéè¡æ«ææ¨¡å¼çç®æ³ï¼é»è®¤å¼ï¼0ï¼ã
-ææå¤§äº 0 çæ¨¡å¼æä» \-field\-dominance é项ç设置ã
-.RSss
-.IPs 0
-ä¸åéè¡æ«æã
-.IPs 1
-åªæ¾ç¤ºç¬¬ä¸ä¸ªéè¡æ«æåï¼ä¸ \-vf field ä½ç¨ç¸ç±»ä¼¼ã
-.IPs 2
-è·³è·å¼åéè¡æ«æï¼ä¸ \-vf tfields=1 ä½ç¨ç¸ç±»ä¼¼ã
-.IPs 3
-éåºè¿å¨ç»é¢çç¬é´åéè¡æ«æã
-å¯è½å¨ä½æ§è½è§é¢ç¡¬ä»¶å/æé«å辨ççæ
åµä¸å¯¼è´é³è§é¢ä¸åæ¥ã
-è¿æ¯å½âDâç¨äºå¼å¯åéè¡æ«ææ¶çé»è®¤å¼ã
-.IPs 4
-éç¨è¾¹ç¼å¯¼åç©ºé´æå¼ç®æ³çéåºè¿å¨ç»é¢çç¬é´åéè¡æ«æã
-éè¦é«æ§è½çè§é¢ç¡¬ä»¶ã
-.RE
-.IPs chroma\-deint
-使ç¬é´åéè¡æ«æç®æ³åæ¶ä½ç¨äºäº®åº¦åè²åº¦ééä¸ï¼é»è®¤å¼ï¼ã
-ä½¿ç¨ nochroma\-deint 以使å
¶ä»
ä½ç¨äºäº®åº¦ééï¼ä»èå éé«çº§åéè¡æ«æç®æ³ã
-对äºä½éæ¾å徿ç¨ã
-.IPs pullup
-å°è¯è·³è¿éè¡æ«æå¸§çè§£é¤éè¡æ«ææä½ï¼éç¨äºè§ççµè§å¾ååçå
容ï¼é«å辨ç
-çæ
åµä¸éè¦é«éçè§é¢ç¡¬ä»¶ã
-ä»
éç¨äºè¿å¨èªéåºç¬æ¶è§£é¤éè¡æ«ææä½ã
-.IPs colorspace
-éæ© YUV è³ RGB è½¬æ¢æ¶ä½¿ç¨çè²å½©ç©ºé´
-éå¸¸æ æ¸
ï¼SDï¼å
容åºä½¿ç¨ BT.601ï¼è髿¸
ï¼HDï¼å
å®¹ç¨ BT.709ã
-使ç¨ä¸æ£ç¡®çè²å½©ç©ºé´å°å¯¼è´ç¨è®¸ç饱å度è¿åº¦æä¸è¶³ï¼ä»¥åè²å½©åç§»ã
-.RSss
-.IPs 0
-æ ¹æ®è§é¢å辨ç夿è²å½©ç©ºé´ã
-å®½åº¦å¤§äº 1280 æé«åº¦å¤§äº 576 çè§é¢å°è¢«åå®ä¸º HDï¼ä»èä½¿ç¨ BT.709 è²å½©ç©ºé´ã
-.IPs 1
-ä½¿ç¨ ITU-R BT.601 è²å½©ç©ºé´ï¼é»è®¤å¼ï¼ã
-.IPs 2
-ä½¿ç¨ ITU-R BT.709 è²å½©ç©ºé´ã
-.IPs 3
-ä½¿ç¨ SMPTE-240M è²å½©ç©ºé´ã
-.RE
-.IPs hqscaling
-.RSss
-.IPs 0
-使ç¨é»è®¤ç VDPAU ç¼©æ¾æ¨¡å¼ï¼é»è®¤å¼ï¼ã
-.IPs 1\-9
-åºç¨é«è´¨éç VDPAU ç¼©æ¾æ¨¡å¼ï¼éè¦è¶³å¤æ§è½ç硬件ï¼ã
-.RE
-.IPs force\-mixer
-强å¶ä½¿ç¨ VDPAU æ··åå¨ï¼å
¶å®ç°äºææä»¥ä¸é项ï¼é»è®¤å¼ï¼ã
-è¦å
许æ¾ç¤º BGRA è²å½©ç©ºé´ï¼åä½¿ç¨ noforce\-mixerã
-ï¼å¦æå®é
使ç¨äºBGRAï¼åç¦ç¨ææä»¥ä¸é项å硬件åè¡¡å¨ãï¼
-.RE
-.PD 1
-.
-.TP
-.B xvmc (ä»
ç¨äº X11 ç \-vc ffmpeg12mc)
-è§é¢è¾åºé©±å¨ä½¿ç¨ XFree86 4.x ç XvMC(X è§é¢è¿å¨è¡¥å¿) æ©å±
-以å é MPEG-1/2 å VCR2 çè§£ç ã
-.PD 0
-.RSs
-.IPs port=<æ°å¼>
-éæ©æå®ç XVideo 端å£ã
-.IPs (no)benchmark
-åç¨å¾åæ¾ç¤ºã
-对äºéå½ç驱å¨åºåæµè¯æ¯å¿
è¦ç, å 为åªä¼æ¹åçè§å¨ retrace çå¾åç¼å² (nVidia)ã
-é»è®¤æ¯ä¸åç¨å¾åæ¾ç¤º (nobenchmark)ã
-.IPs (no)bobdeint
-é常ç®åçå»äº¤éã
-å¯è½æ²¡æ \-vf tfields=1 好, 使¯æ¯ xvmc ä»
æçå»äº¤é (é»è®¤æ¯: nobobdeint)ã
-.IPs (no)queue
-æ¾ç¤ºå¸§æé, 以å
许è§é¢ç¡¬ä»¶æ´å¤çå¹¶è¡å·¥ä½ã
-å¯è½å¢å å¾®å°ç (ä¸ä»¤äººæ³¨æç) 常éå» A/V 忥(desync) (é»è®¤æ¯: noqueue)ã
-.IPs (no)sleep
-å½çå¾
å®ææ¸²ææ¶, 使ç¨ç¡ç åè½(䏿¨è Linux 使ç¨) (é»è®¤æ¯: nosleep)ã
-.IPs ck=cur|use|set
-å \-vo xv:ck 䏿 · (åè§ \-vo xv)ã
-.IPs ck-method=man|bg|auto
-å \-vo xv:ck-method 䏿 · (åè§ \-vo xv)ã
-.RE
-.PD 1
-.
-.TP
-.B dga (ä»
ç¨äº X11)
-éè¿ XFree86 Direct Graphics Access æ©å±ææ¾è§é¢ã
-èèåºå¼ã
-.
-.TP
-.B sdlï¼ä»
ç¨äº SDLï¼æ¼æ´å¤ä¸è¿æ¶ï¼
-é«çº§å¹³å°ç¬ç«ç SDL(ç®å Directmedia å±) åºè§é¢è¾åºé©±å¨ã
-æ¢ç¶ SDL 使ç¨èªå·±ç X11 å±, MPlayer X11 é项对 SDL 没æå½±åã
-注æè¯¥éé¡¹ææ°ä¸ªééè¦æ¼æ´ï¼æ»æ¯å¿½ç¥ \-vm/\-novmï¼\-fs çè¡ä¸ºå¦å \-novmï¼
-å½ä»å
¨å±æ¨¡å¼åæ¢åæ¥æ¶çªå£å¨å·¦ä¸è§ï¼ä¸æ¯æå
¨æ¯æ¨¡å¼â¦â¦ï¼
-.PD 0
-.RSs
-.IPs driver=<驱å¨>
-æ¾å¼éæ© SDL 驱å¨ã
-.IPs (no)forcexv
-éè¿ sdl è§é¢è¾åºé©±å¨ä½¿ç¨ XVideo (é»è®¤æ¯: forcexv)ã
-.IPs (no)hwaccel
-使ç¨ç¡¬ä»¶å éçç¼©æ¾ (é»è®¤æ¯: hwaccel)ã
-.RE
-.PD 1
-.
-.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX) æ¯ä¸åæ¾å¡çè§é¢å éç¹æ§çæ¥å£ã
-é常快éçå¡è§é¢è¾åºé©±å¨æ¯æå®ã
-.PD 0
-.RSs
-.IPs <å设å¤>
-æç¡®è¡¨ç¤ºéæ©ä½¿ç¨åªä¸ª VIDIX å设å¤é©±å¨ã
-å¯ç¨çåè®¾å¤æ cyberblade, ivtv, mach64,
-mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
-sis_vid å unichromeã
-.RE
-.PD 1
-.
-.TP
-.B xvidix (ä»
ç¨äº X11 )
-VIDIX ç X11 åå°
-.PD 0
-.RSs
-.IPs <å设å¤>
-å vidix 䏿 ·
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-éç¨çå¹³å°ç¬ç«ç VIDIX åå°, çè³è½ç¨ nVidia å¡è¿è¡å¨ææ¬æ§å¶å°ã
-.PD 0
-.RSs
-.IPs <å设å¤>
-å vidix 䏿 ·
-.RE
-.PD 1
-.
-.TP
-.B winvidix (ä»
ç¨äº Windows)
-VIDIX ç Windows åå°
-.PD 0
-.RSs
-.IPs <å设å¤>
-å vidix 䏿 ·
-.RE
-.PD 1
-.
-.TP
-.B direct3dï¼ä»
éç¨äº Windowsï¼ï¼å
¬æµä»£ç ï¼ï¼
-ä½¿ç¨ Direct3D æ¥å£çè§é¢è¾åºé©±å¨ï¼å¯¹äº Vista ç³»ç»å¾æç¨ï¼ã
-.
-.TP
-.B directx (ä»
ç¨äº Windows)
-ä½¿ç¨ DirectX æ¥å£çè§é¢è¾åºé©±å¨ã
-.PD 0
-.RSs
-.IPs noaccel
-å
³é硬件å éã
-妿æ¾ç¤ºæé®é¢, å°è¯æ¤é项ã
-.RE
-.PD 1
-.
-.TP
-.B kvaï¼ä»
éç¨äº OS/2ï¼
-ä½¿ç¨ libkva æ¥å£çè§é¢è¾åºé©±å¨ã
-.PD 0
-.RSs
-.IPs snap
-强å¶ä½¿ç¨ SNAP 模å¼ã
-.IPs wo
-强å¶ä½¿ç¨ WarpOverlay! 模å¼ã
-.IPs dive
-强å¶ä½¿ç¨ DIVE 模å¼ã
-.IPs (no)t23
-å¯ç¨æç¦ç¨è§£å³ T23 ç¬è®°æ¬é®é¢çå鿍¡å¼ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-å¦æä½ çæ¾å¡ä»
æ¯æç»é¢æ¾å¤§è¾åºï¼å°è¯å¼å¯è¿ä¸ªé项ã
-.RE
-.PD 1
-.
-.TP
-.B quartz (ä»
ç¨äº Mac OS X)
-Mac OS X Quartz è§é¢è¾åºé©±å¨ã
-å¨æäºæ
åµä¸, é宿å
YUV è¾åºæ ¼å¼, å¦: \-vf format=yuy2, å¯è½æ´ææã
-.PD 0
-.RSs
-.IPs device_id=<æ°å¼>
-éæ©å
¨å±æ¾ç¤ºè®¾å¤ã
-.IPs fs_res=<宽>:<é«>
-æå®å
¨å±å辨ç (对æ
¢ç³»ç»æç¨)ã
-.RE
-.PD 1
-.
-.TP
-.B corevideo (Mac OS X 10.4 æ 10.3.9 ç QuickTime 7)
-Mac OS X CoreVideo è§é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs device_id=<æ°å¼>
-éæ©ç¨äºå
¨å±æ¨¡å¼çæ¾ç¤ºè®¾å¤ï¼æå°å
¶è®¾ä¸º \-1 ä»¥æ»æ¯ä½¿ç¨è§é¢çªå£æå¨çå±å¹
-ï¼é»è®¤å¼ï¼\-1 \- èªå¨éæ©ï¼ã
-.IPs shared_buffer
-å°è¾åºåå
¥ä¸åå
±äº«å
忍¡å¼çç¼å²åºï¼è䏿¯å°å
¶æ¾ç¤ºåºæ¥ï¼å¹¶ä¸å°è¯æå¼ä¸ä¸ª
-å·²åå¨ç NSConnection è¿æ¥ä»¥ä¸å¾å½¢çé¢éä¿¡ã
-.IPs buffer_name=<åå>
-shm_open å建çå
±äº«ç¼å²åºçååï¼ä¹æ¯ MPlayer å°è¯æå¼ç NSConnection è¿æ¥
-çååï¼é»è®¤å¼ï¼âmplayerosxâï¼ã
-.RE
-.PD 1
-.
-.TP
-.B fbdev (ä»
ç¨äº Linux)
-使ç¨å
æ ¸å¸§ç¼å²ææ¾è§é¢ã
-.PD 0
-.RSs
-.IPs <设å¤>
-æ¾å¼éæ© fbdev 设å¤å (å¦ /dev/\:fb0), æè
å¦æè®¾å¤å以 "vidix" å¼å§
-éæ© VIDIX å设å¤å (å¦: sis 驱å¨ç "vidixsis_vid")ã
-.RE
-.PD 1
-.
-.TP
-.B fbdev2 (ä»
ç¨äº Linux)
-使ç¨å
æ ¸å¸§ç¼å²ææ¾è§é¢, å¦ä¸ç§å®ç°ã
-.PD 0
-.RSs
-.IPs <设å¤>
-æ¾å¼éæ© fbdev 设å¤å (é»è®¤æ¯: /dev/\:fb0)ã
-.RE
-.PD 1
-.
-.TP
-.B "vesa\ \ \ "
-é常éç¨çè§é¢è¾åºé©±å¨, åºè¯¥è½ç¨äºä»»ä½ç VESA VBE 2.0 å
¼å®¹å¡ã
-.PD 0
-.RSs
-.IPs (no)dga
-æå¼æå
³éDGA模å¼ï¼é»è®¤ä¸ºï¼æå¼ï¼ã
-.IPs neotv_pal
-æ¿æ´» NeoMagic çµè§è¾åºå¹¶è®¾ç½®æ PAL å¶å¼ã
-.IPs neotv_ntsc
-æ¿æ´» NeoMagic çµè§è¾åºå¹¶è®¾ç½®æ NTSC å¶å¼ã
-.IPs vidix
-ä½¿ç¨ VIDIX 驱å¨
-.IPs "lvo:\ \ \ "
-æ¿æ´» Linux è§é¢éå å¨ VESA 模å¼ä¸é¢ã
-.RE
-.PD 1
-.
-.TP
-.B "svga\ \ \ "
-ä½¿ç¨ SVGA åºææ¾è§é¢ã
-.PD 0
-.RSs
-.IPs "<è§é¢æ¨¡å¼>"
-æå®ä½¿ç¨çè§é¢æ¨¡å¼ã
-æ¤æ¨¡å¼ä»¥ <宽>x<é«>x<é¢è²> æ ¼å¼ç»åº, å¦ 640x480x16M æå¾å½¢æ¨¡å¼æ°å, å¦ 84ã
-.IPs bbosd
-ç»å¶ OSD å°(è¾æ
¢)å½±ç䏿¹ç黿¡ã
-.IPs native
-åªä½¿ç¨åççç»å¶åè½ã
-é¿å
ç´æ¥æ¸²æ, OSD å硬件å éã
-.IPs retrace
-强å¶å¸§æå¼åç´ retraceã
-åªä¸ \-double åç¨æç¨ã
-å \-vsync éé¡¹çææä¸æ ·ã
-.IPs "sq\ \ \ "
-å°è¯éæ©æ¹åç´ è§é¢æ¨¡å¼ã
-.IPs vidix
-ä½¿ç¨ VIDIX ç svgaã
-.RE
-.PD 1
-.
-.TP
-.B "gl\ \ \ \ \ "
-OpenGL è§é¢è¾åºé©±å¨, ç®çã
-è§é¢å°ºå¯¸ä¸å®å°äº OpenGL å®ç°çæå¤§çº¹ç尺寸ã
-çåè½ä¸çè³æåºæ¬ç OpenGL å®ç°ä¸èµ·å·¥ä½,
-ä½ä¹å©ç¨è¾æ°çæ©å±, å
è®¸æ¯ææ´å¤çè²å½©ç©ºé´åç´æ¥æ¸²æã
-è¦è·åæä½³çé度ï¼è¯·å°è¯æ·»å é项
-.br
-\-dr \-noslices
-.br
-çé项ã
-æ¤ä»£ç æ§è¡æå°çæ£æµ, æä»¥å¦ææä¸ªç¹æ§ä¸å·¥ä½,
-å¯è½æ¯å ä¸ºä½ ç塿 OpenGL å®ç°ä¸æ¯æ, 尽管è¿ä»»ä½éè¯¯æ¶æ¯é½æ²¡ç»ä½ ã
-ä½¿ç¨ glxinfo æç±»ä¼¼çå·¥å
·ä»¥æ¾ç¤ºæ¯æç OpenGL æ©å±ã
-.PD 0
-.RSs
-.IPs (no)ati\-hack
-å½ä½¿ç¨äº PBO æ¶ï¼å½ä½¿ç¨äº \-dr æå¼ºå¶ä½¿ç¨ \-pbo æ¶ï¼ï¼AIT 驱å¨å¯è½è¾åºæåçå¾åã
-该é项修æ£è¿ä¸é®é¢ï¼ä»£ä»·æ¯å¤ä½¿ç¨äºä¸ç¹å
åã
-.IPs (no)force\-pbo
-æ»æ¯ä½¿ç¨ PBO ä¼ è¾çº¹çï¼å³ä½¿è¿éè¦é¢å¤çå¤å¶æä½ã
-å½å该éé¡¹å¯¹äº NVidia 驱å¨è½æåä¸ç¹é度ï¼èå¯¹äº ATI 驱å¨åæ¯å¤§å¤§æåã
-å¯è½éè¦ \-noslices å ati\-hack åé项以使å
¶æ£å¸¸å·¥ä½ã
-.IPs (no)scaled-osd
-å½çªå£å¤§å°æ¹åæ¶, æ¹å OSD çè¡ä¸ºæ¹å¼ (é»è®¤æ¯: åç¨)ã
-å¯ç¨æ¶, è¡ä¸ºå°±åå
¶ä»çè§é¢è¾åºé©±å¨, 对åºå®å¤§å°çå使´å¥½ã
-åç¨æ¶ä¼¼ä¹å¯¹ FreeType æ´æå©å¹¶ä½¿ç¨å
¨å±æ¨¡å¼çè¾¹æ¡ã
-æ æ³å¨ä½¿ç¨ ass åå¹çæ
åµä¸æ£ç¡®å°å·¥ä½ï¼åè§ \-assï¼ãä½ä¸ºæ¿ä»£æ§æ¹æ³ï¼ä½ å¯ä»¥éè¿
-\-vf asså¨ä¸ç¨OpenGLçæ
åµä¸æ¸²æè¿ç§åå¹ã
-.IPs osdcolor=<0xAARRGGBB>
-OSD é¢è²ï¼é»è®¤å¼æ¯ï¼0x00ffffffï¼å¯¹åºä¸éæçç½è²ï¼ã
-.IPs rectangle=<0,1,2>
-éæ©ç©å½¢çº¹çä¿åè§é¢å
åçæ¹æ³, ä½å¸¸å¸¸ä¼æ´æ
¢ (é»è®¤æ¯: 0)ã
-.RSss
-0: ä½¿ç¨ power-of-two 纹ç (é»è®¤)ã
-.br
-1: ä½¿ç¨ GL_ARB_texture_rectangle æ©å±ã
-.br
-2: ä½¿ç¨ GL_ARB_texture_non_power_of_two æ©å±ã
-å¨æäºæ
åµä¸ä»
è½¯ä»¶æ¯ææä»¥é常æ
¢ã
-.RE
-.IPs swapinterval=<n>
-两ç¼å²äº¤æ¢çæå°é´é, 对已æ¾ç¤ºçå¸§è®¡æ¶ (é»è®¤æ¯: 1)ã
-1 çä»·äºå¯ç¨ VSYNC, 0 çä»·äºåç¨ VSYNCã
-ç³»ç»å¯¹å°äº 0 çå¼å¿½ç¥ä¿æèªå·±çé»è®¤å¼ã
-æ¤éå¶å¸§çå° (æ°´å¹³å·æ°ç / n)ã
-éè¦ GLX_SGI_swap_control çæ¯æã
-æäº(大夿°/ææ?)å®ç°ä»
å·¥ä½äºå
¨å±æ¨¡å¼ã
-.IPs ycbcr
-ä½¿ç¨ GL_MESA_ycbcr_texture æ©å±ç»ä»¶å° YUV 转æ¢ä¸º RGB æ ¼å¼ã
-å¨å¤§å¤æ°æ
åµä¸ï¼è¯¥æ¹æ³å¾å¯è½æ¯ä½¿ç¨è½¯ä»¶è½¬æ¢æ RGB æ
¢ã
-.IPs yuv=<n>
-éæ© YUV å° RGB 转æ¢çç±»åã
-é»è®¤æ¹å¼æ¯èªå¨ä¾¦æµï¼éå 0 å° 2 ä¹é´çä¸ä¸ªå¼ã
-.RSss
-0ï¼ä½¿ç¨è½¯ä»¶è½¬æ¢ ã
-å
¼å®¹äºææç OpenGL çæ¬ã
-æä¾äº®åº¦, 对æ¯åº¦å饱å度æ§å¶ã
-.br
-1ï¼ä½¿ç¨å¯åå¨ç»åã
-è¿éä½¿ç¨ nVidia ä¸ç¨çæ©å± (GL_NV_register_combiners)ã
-è³å°éè¦ä¸ä¸ªçº¹çåä½ãæä¾é¥±å度åè²è°çæ§å¶ã
-æ¤æ¹æ³å¿«éä½ä¸ç²¾ç¡®ã
-.br
-2ï¼ä½¿ç¨çæç¨åºã
-éè¦ GL_ARB_fragment_program æ©å±åè³å°ä¸ä¸ªçº¹çåä½ã
-æä¾äº®åº¦, 对æ¯åº¦, 饱å度åè²è°æ§å¶ã
-.br
-3ï¼ä½¿ç¨çæç¨åº, ç¨å° POW æä»¤ã
-éè¦ GL_ARB_fragment_program æ©å±åè³å°ä¸ä¸ªçº¹çåä½ã
-æä¾äº®åº¦, 对æ¯åº¦, 饱å度, è²è°å gamma æ§å¶ã
-对红, 绿åèè², Gamma ä¹è½è¢«ç¬ç«è®¾ç½®ã
-æ¹æ³ 4 é常æ´å¿«ã
-.br
-4ï¼ä½¿ç¨çæç¨åºåéå çæ¥è¯¢ã
-éè¦ GL_ARB_fragment_program æ©å±åè³å°å个纹çåä½ã
-æä¾äº®åº¦, 对æ¯åº¦, 饱å度, è²è°å gamma æ§å¶ã
-对红, 绿åèè², Gamma ä¹è½è¢«ç¬ç«è®¾ç½®ã
-.br
-5ï¼ä½¿ç¨ ATI ä¸ç¨çæ¹å¼ï¼ç¨äºè¾èçæ¾å¡ï¼ã
-è¿éä½¿ç¨ ATI ä¸ç¨çæ©å±ï¼GL_ATI_fragment_shaderââ䏿¯
-GL_ARB_fragment_shaderï¼ï¼ãè³å°éè¦ä¸ä¸ªçº¹çåä½ãæä¾é¥±å度åè²è°çæ§å¶ã
-æ¤æ¹æ³å¿«éä½ä¸ç²¾ç¡®ã
-.br
-6ï¼ä½¿ç¨ 3D 纹çéè¿æ¥è¯¢å转æ¢ã
-éè¦ GL_ARB_fragment_program æ©å±åè³å°å个纹çåä½ã
-æ¢ç¶ä½¿ç¨ä¸ä¸ªçº¹çåè¾¹æ¡åç´ , 卿äº(ææ?) ATI å¡ä¸ (软件模æ) æå
¶æ
¢ã
-æä¾äº®åº¦, 对æ¯åº¦, 饱å度, è²è°å gamma æ§å¶ã
-对红, 绿åèè², Gamma ä¹è½è¢«ç¬ç«è®¾ç½®ã
-é度æ¯å
¶ä»æ¹æ³æ´å¤å°ä¾èµäº GPU å
å带宽ã
-.RE
-.IPs colorspace
-éæ© YUV è³ RGB è½¬æ¢æç¨çè²å½©ç©ºé´
-.RSss
-.IPs 0
-ä½¿ç¨ MPlayer é常使ç¨çå
¬å¼ï¼é»è®¤å¼ï¼ã
-.IPs 1
-ä½¿ç¨ ITU-R BT.601 è²å½©ç©ºé´ã
-.IPs 2
-ä½¿ç¨ ITU-R BT.709 è²å½©ç©ºé´ã
-.IPs 3
-ä½¿ç¨ SMPTE-240M è²å½©ç©ºé´ã
-.RE
-.IPs levelconv=<n>
-éæ©ç¨äº YUV è³ RGB 转æ¢ç亮度ççº§è½¬æ¢æ¹å¼ã
-.RSss
-.IPs 0
-å° TV ç级转æ¢ä¸º PC ç级ï¼é»è®¤å¼ï¼ã
-.IPs 1
-å° PC ç级转æ¢ä¸º TV ç级ã
-.IPs 2
-ä¸ä½ä»»ä½è½¬æ¢ã
-.RE
-.IPs lscale=<n>
-éæ©ç¨äºäº®åº¦è°æ´çè°è彿°ã
-ä»
对 yuv æ¨¡å¼ 2ã3ã4 å 6 ææã
-.RSss
-0: 使ç¨ç®å线æ§è¿æ»¤ (é»è®¤)ã
-.br
-1ï¼ä½¿ç¨åç«æ¹ä½Bæ²çº¿è¿æ»¤ (è¾å¥½çè´¨é)ã
-éè¦ä¸ä¸ªé¢å¤ç纹çåä½ã
-è³å°å¨å
¨å±æ¨¡å¼, è¾æ§çå¡ä¸è½å¤çè²åº¦ã
-.br
-2ï¼å¨æ°´å¹³æ¹å使ç¨ç«æ¹ä½è¿æ»¤ï¼å¨åç´æ¹å使ç¨çº¿æ§è¿æ»¤ãæ¯èµ·æ¹å¼1éç¨äºç¨å¤çæ¾å¡ã
-.br
-3ï¼ä¸ 1 ç¸åï¼ä½ä¸ä½¿ç¨åç
§çº¹çã
-å¯è½å¨ä¸äºæ¾å¡ä¸è¿è¡è¾å¿«ã
-.br
-4ï¼ä½¿ç¨å®éªæ§çééåçè½ç ï¼åæ°ä¸ºæ¯æ 3x3 å 0.5 çé»è®¤å¼ºåå¼ãï¼åè§ filter-strengthï¼
-.br
-5ï¼ä½¿ç¨å®éªæ§çééåçè½ç ï¼åæ°ä¸ºæ¯æ 5x5 å 0.5 çé»è®¤å¼ºåå¼ãï¼åè§ filter-strengthï¼
-.RE
-.IPs cscale=<n>
-éæ©ç¼©æ¾åè½ä¾è°èè²åº¦.
-详æ
åè§ lscaleã
-.IPs filter-strength=<å¼>
-è®¾ç½®æ¯æè¯¥å¼ºåº¦å¼ç lscale/cscale 滤éçææå¼ºåº¦ã
-.IPs stereo=<å¼>
-éæ©ç«ä½æ¾ç¤ºçæ¹å¼ã
-å¯è½éè¦ä½¿ç¨ -aspect 以修æ£å®½é«æ¯çæ°å¼ã
-å®éªæ§çé项ï¼å¿å¯¹å
¶ææå¤ªé«ã
-.RSss
-0ï¼æ å 2D æ¾ç¤º
-.br
-1ï¼å·¦å³åå²çè¾å
¥ä¿¡å·ï¼äº§çå
¨è²å½©ç红èç«ä½å¾åã
-.br
-2ï¼å·¦å³åå²çè¾å
¥ä¿¡å·ï¼äº§çå
¨è²å½©ç红èç«ä½å¾åã
-.br
-3ï¼å·¦å³åå²çè¾å
¥ä¿¡å·ï¼äº§çåéç¼å²çç«ä½å¾åã
-åªæå°æ° OpenGL æ¾å¡æ¯æ
-.RE
-.RE
-.sp 1
-.RS
-以ä¸éé¡¹åªæå©äºç¼åèªå®ä¹ççæç¨åºã
-.RE
-.sp 1
-.RSs
-.IPs customprog=<æä»¶å>
-ä» <æä»¶å> è£
è½½å®å¶ççæç¨åºã
-示ä¾åè§ TOOLS/edgedect.fpã
-.IPs customtex=<æä»¶å>
-ä» <æä»¶å> è£
è½½å®å¶ç "gamma ramp" 纹çã
-è½ç¨äºä¸ yuv=4 æ customprog é项çç»åã
-.IPs (no)customtlin
-妿å¯ç¨(é»è®¤), ä½¿ç¨ GL_LINEAR æå¼, å¦åä½¿ç¨ GL_NEAREST ç¨äº customtex 纹çã
-.IPs (no)customtrect
-妿å¯ç¨, ä½¿ç¨ texture_rectangle ç¨äº customtex 纹çãé»è®¤æ¯åç¨ã
-.IPs (no)mipmapgen
-䏿¦å¯ç¨ï¼å°èªå¨çæè§é¢çè´´å¾ã该éé¡¹ä¸ customprog å TXB ä¸èµ·ä½¿ç¨
-æå©äºå®ç°ä¸ä¸ªå
·æå¤§å½±ååå¾çæ¨¡ç³æ»¤éã
-对äºå¤§å¤æ° OpenGL çå®ç°äº§åæ¥è¯´ï¼è¯¥é项ä½ç¨äºä»»ä½é RGB çæ ¼å¼é½å¾æ
¢ã
-é»è®¤å¼ä¸ºç¦ç¨ã
-.RE
-.sp 1
-.RS
-æ£å¸¸æ
åµä¸æ²¡æçç±ä½¿ç¨ä»¥ä¸é项ï¼å®ä»¬å¤§å¤æ¯ä¸ºäºæµè¯èåå¨çã
-.RE
-.sp 1
-.RSs
-.IPs (no)glfinish
-å¨äº¤æ¢ç¼ååè°ç¨glFinish()ã
-è¾æ
¢ä½å¨æäºæ
åµä¸è¾åºæ´ç²¾ç¡®ï¼é»è®¤ï¼ç¦ç¨ï¼ã
-.IPs (no)manyfmts
-å
è®¸æ¯ææ´å¤çè²å½©æ ¼å¼ï¼RGBåBGRï¼ï¼é»è®¤ï¼å
许ï¼ã
-è¦æ±OpenGLçæ¬>=1.2ã
-.IPs slice-height=<0\-...>
-æå¤å¶çåç纹çä¸å
å«å¤å°è¡å
容ï¼é»è®¤å¼ï¼0ï¼ã
-0代表æ´å¹
å¾åã
-.br
-.I 注æï¼
-å¦æä½¿ç¨äºYUVè²å½©ç©ºé´ï¼åè§yuvåé项ï¼ï¼å°ä½¿ç¨ç¹å«çè§åï¼
-.RSss
-å¦æè§£ç å¨éç¨åçæ¸²ææ¹å¼ï¼åè§\-noslicesï¼ï¼è¯¥è®¾ç½®æ²¡æä»»ä½ææï¼æéç¨çåç大
-å°ç±è§£ç 卿ä¾ã
-.br
-å¦æè§£ç å¨ä¸éç¨åçæ³»ææ¹å¼ï¼åé»è®¤å¼ä¸º16ã
-.RE
-.IPs (no)osd
-å
许æç¦æ¢éè¿OpenGLæ¯æOSD渲æï¼é»è®¤ï¼å
许ï¼ã
-æ¤é项ç¨äºæµè¯ï¼èç¦ç¨OSDåºä½¿ç¨\-osdlevel 0ã
-.IPs (no)aspect
-å
许æç¦æ¢æ¯æä¿ææ¯ä¾ç¼©æ¾åå
¨æ¯ç¼©æ¾æ¹å¼ï¼é»è®¤ï¼å
许ï¼ã
-ç¦ç¨çè¯å¯è½æé«é度ã
-.REss
-.RE
-.PD 1
-.
-.TP
-.B "gl2\ \ \ \ "
-OpenGL è§é¢è¾åºé©±å¨çä¿®æ¹çã
-æ¯æå¤§äºæå¤§çº¹ç尺寸çè§é¢ï¼ä½æ¯ç¼ºå°è®¸å¤ GL 驱å¨çé«çº§åè½åä¼åé项ï¼å¹¶ä¸ä»¥åä¹
-ä¸å¤§å¯è½æ©å±åè½ã
-.PD 0
-.RSs
-.IPs (no)glfinish
-å gl 䏿 · (é»è®¤æ¯: å¯ç¨)
-.IPs yuv=<n>
-éæ© YUV å° RGB 转æ¢çç±»åã
-å¦æè®¾ç½®ä¸åäº 0 çå
¶å®å¼ OSD 被åç¨, è亮度, 对æ¯åº¦å
-gamma ç设置åªè½æ¯éè¿å
¨å±ç X æå¡å¨çè®¾ç½®æææã
-å
¶å®çå¼çææå \-vo gl 䏿 ·ã
-.REss
-.
-.TP
-.B matrixview
-åºäº OpenGL çæ¸²æå¨ï¼çæç±»ä¼¼äºé»å®¢å¸å½çæ»å¨å广æã
-.PD 0
-.RSs
-.IPs cols=<n>
-ææ¾ç¤ºæåçåæ°ã
-åéäºå¾å缩æ¾å¨çæ§è½ï¼å¼å¤ªå°ï¼<16ï¼çè¯è¯¥é项å¾å¯è½å¤±æã
-ä¸è½è¢« 16 æ´é¤çå¼ä¹å¯è½äº§çé®é¢ã
-.IPs rows=<n>
-ææ¾ç¤ºæåçè¡æ°ã
-åéäºå¾å缩æ¾å¨çæ§è½ï¼å¼å¤ªå°ï¼<16ï¼çè¯è¯¥é项å¾å¯è½å¤±æã
-ä¸è½è¢« 16 æ´é¤çå¼ä¹å¯è½äº§çé®é¢ã
-.REss
-.
-.TP
-.B "null\ \ \ "
-ä¸äº§çè§é¢è¾åºã
-对åºåæµè¯æç¨ã
-.
-.TP
-.B "aa\ \ \ \ \ "
-ASCII art è§é¢è¾åºé©±å¨å·¥ä½äºæåæ§å¶å°ã
-éè¿æ§è¡ \-vo aa:helpï¼ä½ è½å¾å°å¯ç¨åé项çå表åè§£éã
-.br
-.I 注æï¼
-该驱å¨ä¸è½æ£ç¡®å¤ç \-aspect é项ã
-.br
-.I æç¤ºï¼
-ä½ å¾å¯è½å¾æå® \-monitorpixelaspect é项ã
-è¯è¯âmplayer \-vo aa \-monitorpixelaspect 0.5âã
-.
-.TP
-.B "caca\ \ \ "
-å½©è² ASCII art è§é¢è¾åºé©±å¨å·¥ä½äºæåæ§å¶å°ã
-.
-.TP
-.B "bl\ \ \ \ \ "
-ä½¿ç¨ Blinkenlights UDP åè®®åæ¾è§é¢ã
-æ¤é©±å¨é«åº¦ç¹å®äºç¡¬ä»¶ã
-.PD 0
-.RSs
-.IPs <å设å¤>
-æ¾å¼éæ© Blinkenlights å设å¤ã
-è¿å¤å°æç¹å arcade:host=localhost:2323 æ hdl:file=æä»¶å1,file=æä»¶å2ã
-ä½ å¿
é¡»æå®ä¸ä¸ªå设å¤ã
-.RE
-.PD 1
-.
-.TP
-.B "ggi\ \ \ \ "
-GGI å¾å½¢ç³»ç»è§é¢è¾åºé©±å¨
-.PD 0
-.RSs
-.IPs <驱å¨>
-æ¾å¼éæ© GGI 驱å¨ã
-æ¿æ¢ä»»ä½ç "," 为 "."ã
-.RE
-.PD 1
-.
-.TP
-.B directfb
-ä½¿ç¨ DirectFB åºææ¾è§é¢ ã
-.PD 0
-.RSs
-.IPs (no)input
-ä½¿ç¨ DirectFB æ¿ä»£ MPlayer é®çç (é»è®¤æ¯: å¯ç¨)ã
-.IPs buffermode=single|double|triple
-妿æ³é¿å
æè£é®é¢, åååä¸åç¼å²æ¯æå¥½çç»æã
-ä¸åç¼å²æ¯ååç¼å²æ´ææ, å 为å®çå¾
åç´ retrace æ¶ä¸éå¶ MPlayerã
-åä¸ç¼å²åºé¿å
(é»è®¤æ¯: åä¸)ã
-.IPs fieldparity=top|bottom
-为交é帧æ§å¶è¾åºæ¬¡åº (é»è®¤æ¯: åç¨)ã
-ææå¼ top = å
é¡¶å, bottom = å
åºåã
-æ¤é项对éè¡(å大夿° MPEG)å½±çä¸å½±åã
-妿è§ç交éå½±çæ¶éå°æè£é®é¢æå¨ä½ä¸é¡ºç
, éå¯ç¨æ¤é项ã
-.IPs layer=N
-éå®åæ¾ç屿 è¯ N (é»è®¤å¼ï¼\-1ââèªå¨)ã
-.IPs dfbopts=<list>
-æå® DirectFB åæ°å表ã
-.RE
-.PD 1
-.
-.TP
-.B "dfbmga\ "
-Matrox G400/\:G450/\:G550 ä¸ç¨çè§é¢è¾åºé©±å¨
-ä½¿ç¨ DirectFB åºä»¥å©ç¨ç¹å«çç¡¬ä»¶ç¹æ§ã
-å¯ç¨ CRTC2 (第äºå¤´), ç¬ç«äºç¬¬ä¸å¤´æ¾ç¤ºè§é¢ã
-.PD 0
-.RSs
-.IPs (no)input
-å directfb 䏿 · (é»è®¤æ¯: åç¨)
-.IPs buffermode=single|double|triple
-å directfb 䏿 ·(é»è®¤æ¯: triple)
-.IPs fieldparity=top|bottom
-å directfb 䏿 ·
-.IPs (no)bes
-å¯ç¨ Matrox BES(åå°ç¼©æ¾) (é»è®¤æ¯: åç¨)ã
-å 为å¾åæå¼è¿ç¨å¨ç¡¬ä»¶é宿, ç»ææ¯é常好çé度åè¾åºè´¨éãä½ä»
å·¥ä½äºä¸»å¤´ã
-.IPs (no)spic
-å©ç¨ Matrox åå¾å屿¾ç¤º OSD (é»è®¤æ¯: å¯ç¨)ã
-.IPs (no)crtc2
-ç¨ç¬¬äºå¤´æå¼çµè§è¾åº (é»è®¤æ¯: å¯ç¨)ã
-è¾åºè´¨éåºå¥ç好, å ä¸ºè¿æ¯äº¤éå¾å对æ¯ä¸ªå¥/\:å¶åææ°å½ç忥ã
-.IPs tvnorm=pal|ntsc|auto
-设置 Matrox å¡ççµè§å¶å¼ä¸éè¦æ¹å /etc/\:directfbrc (é»è®¤æ¯: åç¨)ã
-ææçå¶å¼æ¯ pal = PAL, ntsc = NTSCã
-ç¹å«çå¶å¼æ¯ auto (auto-ä»
ä»
ä½¿ç¨ PAL/\:NTSC),
-å 为æ¯éè¿å¯çå½±çç帧çå³å®ä½¿ç¨ä»ä¹å¶å¼ã
-.RE
-.PD 1
-.
-.TP
-.B mga (ä»
ç¨äº Linux )
-Matrox ä¸ç¨çè§é¢è¾åºé©±å¨éè¿å
æ ¸æ¨¡å¼å©ç¨ Gxxx å¡ç YUV åå°ç¼©æ¾å¨ã
-妿æ Matrox å¡, è¿æ¯æå¿«çé项ã
-.PD 0
-.RSs
-.IPs <设å¤å>
-æ¾å¼éæ© Matrox 设å¤å (é»è®¤æ¯: /dev/\:mga_vid)ã
-.RE
-.PD 1
-.
-.TP
-.B xmga (ä»
ç¨äº Linux, X11)
-mga è§é¢è¾åºé©±å¨, è¿è¡å¨ X11 çªå£ã
-.PD 0
-.RSs
-.IPs <设å¤å>
-æ¾å¼éæ© Matrox 设å¤å (é»è®¤æ¯: /dev/\:mga_vid)ã
-.RE
-.PD 1
-.
-.TP
-.B s3fbï¼ä»
éç¨äº Linux ï¼ï¼å¦åè§ \-drï¼
-S3 Virge ä¸ç¨çè§é¢è¾åºé©±å¨ã
-æ¤é©±å¨æ¯ææ¾å¡ç YUV 转æ¢ä¸ç¼©æ¾ãåéç¼å²åç´æ¥æ¸²æçåè½ã
-ä½¿ç¨ \-vf format=yuy2 以éç¨ç¡¬ä»¶å éä¸ç YUV2 渲æï¼è¿ç§æ¹å¼
-卿¤æ¬¾æ¾å¡ä¸æ¯ YV12 å¿«å¾å¤ã
-.PD 0
-.RSs
-.IPs <device>
-æç¡®è¡¨ç¤ºéæ©ä½¿ç¨åªä¸ªfbdev设å¤åï¼é»è®¤å¼ï¼/dev/\:fb0ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B wiiï¼ä»
éç¨äº Linuxï¼
-任天å Wii/GameCube ä¸ç¨çè§é¢è¾åºé©±å¨ã
-.
-.TP
-.B 3dfx (ä»
ç¨äº Linux)
-3dfx ä¸ç¨çè§é¢è¾åºé©±å¨ï¼æ¤é©±å¨å¨ X11 ä¸ç´æ¥ä½¿ç¨ç¡¬ä»¶ã
-åªæ¯æ 16 bppã
-.
-.TP
-.B tdfxfb (ä»
ç¨äº Linux)
-æ¤é©±å¨ä½¿ç¨ tdfxfb 帧ç¼å²é©±å¨ä»¥å¨3dfxå¡ä¸ç使ç¨YUVå éææ¾å½±çã
-.PD 0
-.RSs
-.IPs <设å¤å>
-æ¾å¼éæ© fbdev 设å¤å (é»è®¤æ¯: /dev/\:fb0)ã
-.RE
-.PD 1
-.
-.TP
-.B tdfx_vid (ä»
ç¨äº Linux)
-3dfx ä¸ç¨çè§é¢è¾åºé©±å¨ï¼æ¤é©±å¨ä¸tdfx_vidå
æ ¸æ¨¡åååå·¥ä½ã
-.PD 0
-.RSs
-.IPs <设å¤å>
-æ¾å¼éæ©è®¾å¤å (é»è®¤æ¯: /dev/\:tdfx_vid)ã
-.RE
-.PD 1
-.
-.TP
-.B dxr2 (ä¹è¯·åè§ \-dxr2) (ä»
ç¨äº DXR2)
-Creative DXR2 ä¸ç¨çè§é¢è¾åºé©±å¨ã
-.PD 0
-.RSs
-.IPs <vo_driver>
-è¾åºè§é¢å驱å¨ç¨ä½éå (x11, xv)ã
-.RE
-.PD 1
-.
-.TP
-.B dxr3 (ä»
ç¨äº DXR3)
-Sigma Designs em8300 MPEG è§£ç å¨è¯ç (Creative DXR3, Sigma Designs
-Hollywood Plus) ä¸ç¨çè§é¢è¾åºé©±å¨ã
-ä¹è¯·åè§ lavc è§é¢è¿æ»¤å¨ã
-.PD 0
-.RSs
-.IPs overlay
-æ¿æ´»éå 代æ¿çµè§è¾åºã
-.IPs prebuf
-æå¼é¢ç¼å²ã
-.IPs "sync\ "
-尿弿°ç sync-engineã
-.IPs norm=<å¶å¼>
-æå®çµè§å¶å¼ã
-.RSss
-0: 䏿¹åç®åå¶å¼ (é»è®¤)ã
-.br
-1: ä½¿ç¨ PAL/\:NTSC èªå¨è°èã
-.br
-2: ä½¿ç¨ PAL/\:PAL-60 èªå¨è°èã
-.br
-3: PAL
-.br
-4: PAL-60
-.br
-5: NTSC
-.RE
-.IPs <0\-3>
-妿æå¤äºä¸ä¸ª em8300 å¡, æå®è®¾å¤å·ã
-.RE
-.PD 1
-.
-.TP
-.B ivtvï¼ä»
éç¨äº IVTVï¼
-Conexant CX23415 (iCompression iTVC15) æ Conexant CX23416 (iCompression
-iTVC16) MPEG è§£ç å¨è¯ç (Hauppauge WinTV PVR-150/250/350/500)
-ä¸ç¨çè§é¢è¾åºé©±å¨ä¾çµè§è¾åºã
-ä¹è¯·åè§ lavc è§é¢è¿æ»¤å¨ã
-.PD 0
-.RSs
-.IPs <device>
-æ¾å¼éæ© MPEG è§£ç å¨è®¾å¤å (é»è®¤æ¯: /dev/video16)ã
-.IPs <output>
-æ¾å¼éæ©çµè§è¾åºç¨äºè§é¢ä¿¡å·ã
-.RE
-.PD 1
-.
-.TP
-.B v4l2ï¼éè¦Linux 2.6.22+çå
æ ¸ï¼
-带æå
建硬件MPEGè§£ç å¨çV4L2æ åæ©å±å¡çè§é¢è¾åºé©±å¨ã
-å¦åè§lavcè§é¢æ»¤éã
-.PD 0
-.RSs
-.IPs <device>
-æç¡®éå®æä½¿ç¨çMPEGè§£ç 设å¤çåç§°ï¼é»è®¤å¼ï¼/dev/video16ï¼ã
-.IPs <output>
-æç¡®éå®ç¨äºè§é¢ä¿¡å·ççµè§è¾åºè¾åºå£ã
-.RE
-.PD 1
-.
-.TP
-.B mpegpes (ä»
ç¨äº DVB)
-è§é¢è¾åºé©±å¨ç¨äº DVB å¡åè¾åºå°ä¸ä¸ª MPEG-PES æä»¶, å¦ææ²¡æå®è£
DVB å¡ã
-.PD 0
-.RSs
-.IPs card=<1\-4>
-妿æå¤äºä¸ä¸ª DVB è¾åºå¡, æå®è®¾å¤å· (ä»
éç¨äº V3 API, æ¯å¦ 1.x.y 驱å¨ç³»å)ã
-妿䏿å®ï¼MPlayer å°æç´¢ç¬¬ä¸ä¸ªå¯ç¨çå¡ã
-.IPs <æä»¶å>
-è¾åºæä»¶å (é»è®¤æ¯: ./grab.mpg)
-.RE
-.PD 1
-.
-.TP
-.B zr (ä¹è¯·åè§ \-zr* å \-zrhelp)
-ä¸äº MJPEG ææ/\:åæ¾å¡çè§é¢è¾åºé©±å¨ã
-.
-.TP
-.B zr2 (ä¹è¯·åè§ zrmjpeg è§é¢ è¿æ»¤å¨)
-ä¸äº MJPEG ææ/\:åæ¾å¡çè§é¢è¾åºé©±å¨, 第äºä»£ã
-.PD 0
-.RSs
-.IPs dev=<设å¤>
-æå®è§é¢è®¾å¤ã
-.IPs norm=<PAL|NTSC|SECAM|auto>
-æå®è§é¢å¶å¼ (é»è®¤æ¯: auto)ã
-.IPs (no)prebuf
-æ¿æ´»ææ¤éé¢ç¼å², è¿æ²¡è¢«æ¯æã
-.RE
-.PD 1
-.
-.TP
-.B "md5sum\ "
-è®¡ç®æ¯å¸§ç MD5 åå¹¶åå
¥æä»¶ã
-æ¯æ RGB24 å YV12 è²å½©ç©ºé´ã
-对è°è¯æç¨ã
-.PD 0
-.RSs
-.IPs outfile=<åæ°å¼>
-æå®è¾åºæä»¶å (é»è®¤æ¯: ./md5sums)ã
-.RE
-.PD 1
-.
-.TP
-.B yuv4mpeg
-å°è§é¢æµè½¬æ¢ä¸ºæªå缩ç YUV 4:2:0 å¾ååºåå¹¶å°å
¶å¨åå°æä»¶ä¸ï¼é»è®¤ä½ç½®ï¼
-./stream.yuvï¼ã
-使ç¨çæ ¼å¼ä¸ mjpegtools æç¨çç¸åï¼æä»¥å¦ææ³ç¨ mjpegtools å¥è£
软件å¤çè§é¢,
-该é项就ææå¸®å©ã
-该éé¡¹æ¯æ YV12 æ ¼å¼ã
-å¦ææºæä»¶æ ¼å¼ä¸åä¸ä¸ºéè¡æ«æå¶å¼ï¼å注æè¦ä½¿ç¨ -vf scale=::1 以确ä¿è½¬æ¢æ¶
-使ç¨éè¡æ«ææ¨¡å¼ã
-å¯ä¸ \-fixed\-vo é项ç»å使ç¨ä»¥æ¼æ¥å
·æç¸å宽é«å¼åé¢éçæä»¶ã
-.PD 0
-.RSs
-.IPs interlaced
-ä½ä¸ºäº¤é帧åè¾åº, å
é¡¶åã
-.IPs interlaced_bf
-ä½ä¸ºäº¤é帧åè¾åº, å
åºåã
-.IPs file=<æä»¶å>
-åè¾åºå° <æä»¶å> 代æ¿é»è®¤ç stream.yuvã
-.REss
-.PD 1
-.RS
-.sp 1
-.I 注æ:
-å¦æä½ ä¸æå®ä»»ä½é项, è¾åºçæ¯éè¡ç(峿²¡æäº¤éç)ã
-.RE
-.
-.TP
-.B "gif89a\ "
-è¾åºæ¯å¸§å°å½åç®å½çå个å¨ç» GIF æä»¶ã
-ä»
æ¯æ 24 bpp ç RGB æ ¼å¼å¹¶è½¬æ¢è¾åºä¸º 256 è²ã
-.PD 0
-.RSs
-.IPs <fps>
-æå®æµ®ç¹æ°å¸§ç (é»è®¤æ¯: 5.0)ã
-.IPs <output>
-æå®è¾åºæä»¶å (é»è®¤æ¯: ./out.gif)ã
-.REss
-.PD 1
-.RS
-.sp 1
-.I 注æ:
-ä½ å¿
须卿宿件åä¹åæå®å¸§ç, å¦å帧çæä¸ºæä»¶åçä¸é¨åã
-.sp 1
-.I 示ä¾:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vo gif89a:fps=15.0:output=test.gif
-.RE
-.PD 1
-.
-.TP
-.B "jpeg\ \ \ "
-è¾åºæ¯å¸§å°å½åç®å½ç JPEG æä»¶ã
-æ¯å¸§ä»¥åé¢ 0 å¡«å
å¼å¯¼ç帧å·ä½ä¸ºæä»¶åã
-.PD 0
-.RSs
-.IPs [no]progressive
-æå®æ åçæéè¡ç JPEG (é»è®¤æ¯: noprogressive)ã
-.IPs [no]baseline
-æå®æ¯å¦ä½¿ç¨åºçº¿ (é»è®¤æ¯: baseline)ã
-.IPs optimize=<0\-100>
-ä¼åå å (é»è®¤æ¯: 100)
-.IPs smooth=<0\-100>
-å¹³æ»å å (é»è®¤æ¯: 0)
-.IPs quality=<0\-100>
-è´¨éå å (é»è®¤æ¯: 75)
-.IPs outdir=<dirname>
-æå®ä¿å JPEG æä»¶çç®å½ (é»è®¤æ¯: ./)ã
-.IPs subdirs=<åç¼>
-å建ç¼å·çåç®å½ä¿åæä»¶, ç¨æå®çåç¼è䏿¯ç¨å½åçç®å½ã
-.IPs "maxfiles=<åæ°å¼>ï¼ä»
ç¨äº subdirsï¼"
-ç¨äºå¨æ¯ä¸ªåç®å½ä¿åæä»¶çæå¤§ç¼å·ã
-å¿
é¡»å¤§äºæçäº 1 (é»è®¤æ¯: 1000)ã
-.RE
-.PD 1
-.
-.TP
-.B "pnm\ \ \ \ "
-è¾åºæ¯å¸§å°å½åç®å½ç PNM æä»¶ã
-æ¯å¸§ä»¥åé¢ 0 å¡«å
å¼å¯¼ç帧å·ä½ä¸ºæä»¶åã
-å®å¨ raw å ASCII 模å¼ä¸æ¯æ PPM, PGM å PGMYUV æä»¶ã
-ä¹è¯·åè§ pnm(5), ppm(5) å pgm(5)ã
-.PD 0
-.RSs
-.IPs "ppm\ \ "
-å PPM æä»¶ (é»è®¤)ã
-.IPs "pgm\ \ "
-å PGM æä»¶ã
-.IPs pgmyuv
-å PGMYUV æä»¶ã
-PGMYUV å PGM, ä½ä¹å
å« U å V å¹³é¢, æ·»å å¨å¾åçåºé¨ã
-.IPs "raw\ \ "
-å¨ raw 模å¼ä¸å PNM æä»¶ (é»è®¤)ã
-.IPs ascii
-å¨ ASCII 模å¼ä¸å PNM æä»¶ã
-.IPs outdir=<ç®å½å>
-æå®ç®å½ä¿å PNM æä»¶ (é»è®¤æ¯: ./)ã
-.IPs subdirs=<åç¼>
-å建ç¼å·çåç®å½ä¿åæä»¶, ç¨æå®çåç¼è䏿¯ç¨å½åçç®å½ã
-.IPs maxfiles=<åæ°å¼> (ä»
ç¨äº subdirs)
-ç¨äºå¨æ¯ä¸ªåç®å½ä¿åæä»¶çæå¤§ç¼å·ã
-å¿
é¡»å¤§äºæçäº 1 (é»è®¤æ¯: 1000)ã
-.RE
-.PD 1
-.
-.TP
-.B "png\ \ \ \ "
-è¾åºæ¯å¸§å°å½åç®å½ç PNG æä»¶ã
-æ¯å¸§ä»¥åé¢ 0 å¡«å
å¼å¯¼ç帧å·ä½ä¸ºæä»¶åã
-æ¯æ 24 bpp ç RGB å BGR æ ¼å¼ã
-.PD 0
-.RSs
-.IPs z=<0\-9>
-æå®å缩级å«ã
-0 没å缩, 9 æå¼ºå缩ã
-.IPs outdir=<ç®å½å>
-æå®ä¿å PNG æä»¶çç®å½ï¼é»è®¤å¼ï¼./ï¼ã
-.IPs alphaï¼é»è®¤å¼ï¼noalphaï¼
-åå»ºä½¿ç¨ alpha ééç PNG æä»¶ã
-注æ MPlayer é叏䏿¯æ alpha ééï¼æä»¥è¯¥é项åªå¨æå°æ°æ
åµä¸ææç¨ã
-.RE
-.PD 1
-.
-.TP
-.B "tga\ \ \ \ "
-è¾åºæ¯å¸§å°å½åç®å½ç Targa æä»¶ã
-æ¯å¸§ä»¥åé¢ 0 å¡«å
å¼å¯¼ç帧å·ä½ä¸ºæä»¶åã
-æ¤è§é¢è¾åºé©±å¨çç®çæ¯æ¥æä¸ä¸ªç®åæ æå¤±çå¾åç»å¶å¨ä¸ä¸éè¦ä»»ä½å¤é¨åºã
-æ¯æ 15, 24 å 32 bpp ç BGR[A] è²å½©æ ¼å¼ã
-ä½ è½éå®ä¸ä¸ªç¹æ®çæ ¼å¼å¸¦è§é¢æ ¼å¼è¿æ»¤å¨ã
-.sp 1
-.I 示ä¾:
-.RE
-.PD 0
-.RSs
-mplayer video.nut \-vf format=bgr15 \-vo tga
-.RE
-.PD 1
-.
-.
-.
-.SH "è§£ç /è¿æ»¤å¨é项"
-.
-.TP
-.B \-ac <[\-|+]ç¼è§£ç å¨1,[\-|+]ç¼è§£ç å¨2,...[,]>
-æç
§å¨ codecs.conf ä¸é³é¢ç¼è§£ç å¨çåç§°, æå®ä½¿ç¨å®ä»¬çä¼å
级å表ã
-ç¼è§£ç å¨åç§°åä½¿ç¨ "\-" 表示忽ç¥å®ã
-ç¼è§£ç å¨åç§°åä½¿ç¨ "+" 表示éå®å®, è¿æå¯è½ä¼å´©æº!
-妿å表尾æ "," MPlayer ä½¿ç¨æ²¡æååºçç¼è§£ç å¨ä½ä¸ºåå¤ã
-.br
-.I 注æ:
-å¯ç¨çç¼è§£ç å¨å
¶å®æ´å表请åè§ \-ac helpã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-ac mp3acm"
-éå® l3codeca.acm MP3 ç¼è§£ç å¨ã
-.IPs "\-ac mad,"
-å
å°è¯ libmad, å
¶å®ä½ä¸ºåå¤ã
-.IPs "\-ac hwac3,a52,"
-å
å°è¯éè¿ç¡¬ä»¶è§£ç AC-3, ç¶åæ¯è½¯ä»¶AC-3, æåæ¯å
¶å®ã
-.IPs "\-ac hwdts,"
-å
å°è¯éè¿ç¡¬ä»¶è§£ç DTS, ç¶åæ¯å
¶å®ã
-.IPs "\-ac \-ffmp3,"
-è·³è¿ FFmpeg ç MP3 ç¼è§£ç å¨ã
-.RE
-.PD 1
-.
-.TP
-.B \-af\-adv <force=(0\-7):list=(filters)> (ä¹è¯·åè§ \-af)
-æå®é«çº§é³é¢è¿æ»¤å¨é项:
-.RSs
-.IPs force=<0\-7>
-éå®é³é¢è¿æ»¤å¨çæå
¥ä¸ºä¸é¢å
¶ä¸ä¹ä¸:
-.RSss
-0: 使ç¨å®å
¨èªå¨çè¿æ»¤å¨æå
¥ï¼ç®åä¸é项 1 ç¸åï¼ã
-.br
-1: 精度ä¼å (é»è®¤)ã
-.br
-2: é度ä¼åã
-.I è¦å:
-æäºé³é¢è¿æ»¤å¨ç¹æ§å¯è½é»é»å°æ¶å¤±, ä¸é³è´¨å¯è½ä¸éã
-.br
-3: ä½¿ç¨æ èªå¨çè¿æ»¤å¨æå
¥ä¸æ ä¼åã
-.I è¦å:
-ä½¿ç¨æ¤è®¾å®å¯è½ä½¿ MPlayer å´©æºã
-.br
-4: æ ¹æ® 0 以ä¸ç, 使ç¨èªå¨çè¿æ»¤å¨æå
¥,
-ä½å°½å¯è½ä½¿ç¨æµ®ç¹å¤çã
-.br
-5: æ ¹æ® 1 以ä¸ç, 使ç¨èªå¨çè¿æ»¤å¨æå
¥,
-ä½å°½å¯è½ä½¿ç¨æµ®ç¹å¤çã
-.br
-6: æ ¹æ® 2 以ä¸ç, 使ç¨èªå¨çè¿æ»¤å¨æå
¥,
-ä½å°½å¯è½ä½¿ç¨æµ®ç¹å¤çã
-.br
-7: æ ¹æ® 3 以ä¸ç, 使ç¨èªå¨çè¿æ»¤å¨æå
¥,
-ä½å°½å¯è½ä½¿ç¨æµ®ç¹å¤çã
-.REss
-.IPs list=<è¿æ»¤å¨å表>
-å \-af 䏿 ·ã
-.RE
-.
-.TP
-.B \-afm <驱å¨1,驱å¨2,...>
-æç
§å¨ codecs.conf ä¸é³é¢ç¼è§£ç 卿çåç§°, æå®ä½¿ç¨å®ä»¬çä¼å
级å表ã
-妿ç»å®çç¼è§£ç å¨ææ²¡ä¸ä¸ªè½å·¥ä½, 使ç¨é»è®¤çåå¤ç¼è§£ç 卿ã
-妿å表尾æ "," MPlayer ä½¿ç¨æ²¡æååºçç¼è§£ç å¨ä½ä¸ºåå¤ã
-.br
-.I 注æ:
-å¯ç¨çç¼è§£ç 卿å
¶å®æ´å表请åè§ \-afm helpã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-afm ffmpeg"
-å
å°è¯ FFmpeg ç libavcodec ç¼è§£ç å¨ã
-.IPs "\-afm acm,dshow"
-å
å°è¯ Win32 ç¼è§£ç å¨ã
-.RE
-.PD 1
-.
-.TP
-.B \-aspect <é«å®½æ¯> (ä¹è¯·åè§ \-zoom)
-é载影ççé«å®½æ¯, ä¸ä¸ææ¾ä¸çæä»¶çé«å®½æ¯ä¿¡æ¯ä¸æ£ç¡®æç¼ºå°ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-\-aspect 4:3 æ \-aspect 1.3333
-.br
-\-aspect 16:9 æ \-aspect 1.7777
-.RE
-.PD 1
-.
-.TP
-.B \-noaspect
-åç¨å½±çé«å®½æ¯çèªå¨è¡¥å¿ã
-.
-.TP
-.B "\-field\-dominance <\-1\-1>"
-设置éè¡æ«æå
容ç第ä¸ä¸ªåã
-对äºé£äºä½¿å¸§éå åçå»éè¡æ«æå¨æ¥è¯´é£å¾æç¨ï¼\-vf tfields=1ï¼\-vf yadif=1ï¼
-\-vo vdpau:deint å \-vo xvmc:bobdeintã
-.PD 0
-.RSs
-.IPs \-1
-èªå¨ï¼é»è®¤å¼ï¼ï¼å¦æè§£ç å¨ä¸å¯¼åºéå½çä¿¡æ¯çè¯ï¼å
¶å°è®¾å为0ï¼ä¸ååï¼ã
-.IPs 0
-ä¸åå为第ä¸ä¸ªå
-.IPs 1
-ä¸åå为第ä¸ä¸ªå
-.RE
-.PD 1
-.
-.TP
-.B "\-flip \ "
-ä¸ä¸ç¿»è½¬å¾åã
-.
-.TP
-.B \-lavdopts <é项1:é项2:...> (è°è¯ä»£ç )
-æå® libavcodec è§£ç åæ°ã
-ç¨éå·åéå¤éé项ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-\-lavdopts gray:skiploopfilter=all:skipframe=nonref
-.RE
-.PD 1
-.sp 1
-.RS
-å¯ç¨çé项æ:
-.RE
-.RSs
-.IPs bitexact
-对ææçè§£ç æ¥éª¤åªç¨ bit-exact ç®æ³ (ç¨äºç¼è§£ç æµè¯)ã
-.IPs bug=<åæ°å¼>
-æå·¥ç»è¿ç¼ç å¨é误:
-.RSss
-0: æ
-.br
-1: èªå¨æ£æµé误 (é»è®¤)
-.br
-2 (msmpeg4v3): èå¼ lavc çæç msmpeg4v3 æä»¶ (ä¸èªå¨æ£æµ)
-.br
-4 (mpeg4): Xvid 交éé误 (妿 fourcc==XVIX, ä¼èªå¨æ£æµ)
-.br
-8 (mpeg4): UMP4 (妿 fourcc==UMP4, ä¼èªå¨æ£æµ)
-.br
-16 (mpeg4): å¡«è¡¥é误 (èªå¨æ£æµ)
-.br
-32 (mpeg4): éæ³ vlc é误 (æ¯ä¸ª fourcc é½èªå¨æ£æµ)
-.br
-64 (mpeg4): Xvid æ DivX qpel é误 (æ¯ä¸ª fourcc/\:çæ¬é½èªå¨æ£æµ)
-.br
-128 (mpeg4): æ§æ åç qpel (æ¯ä¸ª fourcc/\:çæ¬é½èªå¨æ£æµ)
-.br
-256 (mpeg4): å¦ä¸ä¸ª qpel é误 (æ¯ä¸ª fourcc/\:çæ¬é½èªå¨æ£æµ)
-.br
-512 (mpeg4): direct-qpel-blocksize é误 (æ¯ä¸ª fourcc/\:çæ¬é½èªå¨æ£æµ)
-.br
-1024 (mpeg4): 边沿填补é误 (æ¯ä¸ª fourcc/\:çæ¬é½èªå¨æ£æµ)
-.REss
-.IPs debug=<åæ°å¼>
-æ¾ç¤ºè°è¯ä¿¡æ¯ã
-.RSss
-.br
-0: åç¨
-.br
-1: å¾åä¿¡æ¯
-.br
-2: çæ§å¶
-.br
-4: æ¯ç¹æµ
-.br
-8: å®å(MB)ç±»å
-.br
-16: æ¯åçéååæ°(QP)
-.br
-32: è¿å¨ç¢é
-.br
-0x0040: è¿å¨ç¢éå¯è§å (ä½¿ç¨ \-noslices)
-.br
-0x0080: å®å(MB)è·³ç¥
-.br
-0x0100: å¯å¨ç
-.br
-0x0200: PTS
-.br
-0x0400: é误æ¢å¤å(resilience)
-.br
-0x0800: å
åç®¡çæ§å¶æä½(H.264)
-.br
-0x1000: é误
-.br
-0x2000: å¯è§åéååæ°(QP), QP å¼è¶ä½çè²è¶ç»¿ã
-.br
-0x4000: å¯è§åååã
-.REss
-.IPs ec=<åæ°å¼>
-设置é误éèçç¥ã
-.RSss
-1: 对åæçå®å使ç¨å¼ºå»å(deblock)è¿æ»¤å¨ã
-.br
-2: å¾è¿å¼è¿å¨ç¢é(MV)æå¯» (æ
¢)
-.br
-3: å
¨é¨ (é»è®¤)
-.REss
-.IPs er=<åæ°å¼>
-设置é误æ¢å¤åçç¥ã
-.RSss
-.br
-0: åç¨
-.br
-1: è°¨æ
ç (åºè¯¥è½ç¨äºç ´ç¼ç å¨ã)
-.br
-2: æ£å¸¸ç (é»è®¤) (ç¨äºæ£å¸¸çç¼ç å¨ã)
-.br
-3: æè¡
ç (æ´å¤æ£æ¥, 使¯è¿ææçæ¯ç¹æµä¹å¯è½å¯¼è´é®é¢ã)
-.br
-4: é常æè¡
ç
-.REss
-.IPs "fast ï¼ä»
ç¨äºMPEG-2ãMPEG-4åH.264ï¼"
-å¯ç¨ä¸æ åä¸ç¬¦çä¼åï¼å¹¶ä¸å¯è½å¯¼è´ä¸äºæ½å¨çé®é¢, 诸å¦ç®ååé忥èï¼æ³å½ç¶å°ä½¿
-ç¨é»è®¤çéåç©éµï¼æ³å½ç¶å°éç¨YUV 4:2:0ï¼ä»¥åè·³è¿ä¸äºæ£æµåææ¯ç¹æµçæ£æ¥æ¥éª¤ã
-.IPs "gray\ "
-åªç°åº¦å¾åè§£ç (æ¯å½©è²è§£ç å¿«ä¸ç¹)
-.IPs "idct=<0\-99> (åè§ \-lavcopts)"
-ä¸ºäºæä½³çè§£ç åè´¨, 使ç¨ä¸ç¼ç åè§£ç æ¶ç¸åç IDCT ç®æ³ã
-ä¸è¿è¿å¯è½ä¼çºç²ä¸äºç²¾ç¡®æ§ã
-.IPs lowres=<æ°å¼>[,<宽度>]
-以è¾ä½çå辨çè§£ç ã
-ä½å辨çè§£ç è¿ä¸è¢«ææçè¾¹çç 卿¯æ, ä¸å¸¸å¸¸å¯¼è´é¾ççå¾åã
-è¿ä¸æ¯æé误, åªæ¯ä¸ä¸ªå¯ä½ç¨, å
¨åè¾¨çæ¶ä¸è§£ç ã
-.RSss
-.br
-0: åç¨
-.br
-1: 1/2 å辨ç
-.br
-2: 1/4 å辨ç
-.br
-3: 1/8 å辨ç
-.REss
-.RS
-妿 <宽度> æå®äº, 就使ç¨äºä½å辨çè§£ç ,
-åªè¦è§é¢ç宽度宽è¿(is major than)æçäº <宽度>ã
-.RE
-.B o=<é®>=<å¼>[,<é®>=<å¼>[,...]]
-ä¼ é AVOption éé¡¹è³ libavcoder è§£ç å¨ã
-注æï¼æ¬¢è¿å¶é ä¸ä¸ªä½¿ o= ä¸åéè¦ï¼èå°æææªç¥éé¡¹ä¼ éè³ AVOption ç³»ç»çè¡¥ä¸ã
-AVOption ç宿´å表å¯å¨ FFmpeg ç¨æ·æå䏿¾å°ã
-注ææäºé项å¯è½ä¸ MEncoder é项å²çªã
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.RSs
-.PD 0
-.IPs o=debug=pict
-.PD 1
-.RE
-.IPs "sb=<æ°å¼> (ä»
ç¨äº MPEG-2)"
-è·³è¿å®ååºé¨çå¶å®è¡æ°ã
-.IPs "st=<æ°å¼> (ä»
ç¨äº MPEG-2)"
-è·³è¿å®åé¡¶é¨çå¶å®è¡æ°ã
-.IPs "skiploopfilter=<è·³ç¥å¼>ï¼ä»
ç¨äº H.264ï¼"
-å¨ H.264 è§£ç æé´è·³è¿å¾ªç¯è¿æ»¤å¨(亦称为 "å»å")ã
-æ¢ç¶è¢«è¿æ»¤ç帧被å½ä½è§£ç ä¾èµå¸§çå¼ç¨, å¨åè´¨ä¸
-è¿æ¯ä¸è¿è¡å»åæ¥éª¤, å¦ä¸å¯¹ MPEG-2 è§é¢å»å, æææ´å·®ã
-使¯è³å°å¯¹é«æ¯ç¹æµç HDTV æä¾äºå¤§çæéä¸ä¸æå¤±è§è§åè´¨ã
-.sp 1
-<è·³ç¥å¼> å¯ä»¥æ¯ä»¥ä¸çå¼ä¹ä¸:
-.RSss
-.br
-none: ä»ä¸è·³è¿ã
-.br
-default: è·³è¿æ ç¨çå¤çæ¥éª¤ (å¦: AVI ä¸ç 0 大å°çå
)ã
-.br
-nonref: è·³è¿æ²¡è¢«å¼ç¨ç帧 (å³, ä¸ç¨äºè§£ç å
¶å®ç帧, é误ä¸è½ "å
´æº")ã
-.br
-bidir: è·³è¿ B-帧ã
-.br
-nonkey: è·³è¿ææç帧é¤äº keyframesã
-.br
-all: è·³è¿ææç帧ã
-.REss
-.IPs "skipidct=<è·³ç¥å¼> (ä»
ç¨äº MPEG1/2)"
-è·³è¿ IDCT æ¥éª¤ã
-å¨å 乿æçæ
åµä¸æ¤æ¥éª¤ä½¿å¾åè´¨é级许å¤
-(å¯ç¨çè·³ç¥å¼è¯·åè§ skiploopfilter)ã
-.IPs skipframe=<è·³ç¥å¼>
-å®å
¨è·³è¿è§£ç 帧ã
-大çæé, 使¯æçæçå¨ä½æææ¶ç³ç³çå¾å
-(å¯ç¨çè·³ç¥å¼è¯·åè§ skiploopfilter)ã
-.IPs "threads=<1\-8>ï¼ä»
ç¨äº MPEG-1/2 å H.264ï¼"
-ç¨äºè§£ç ççº¿ç¨æ° (é»è®¤æ¯: 1)
-.IPs vismv=<åæ°å¼>
-å¯è§åè¿å¨ç¢éã
-.RSss
-.br
-0: åç¨
-.br
-1: å¯è§å P-帧çåç»è¿å¨ç¢éã
-.br
-2: å¯è§å B-帧çåç»è¿å¨ç¢éã
-.br
-4: å¯è§å B-帧çåç»è¿å¨ç¢éã
-.REss
-.IPs vstats
-æå°ä¸äºç»è®¡éå¹¶ä¿åå° ./vstats_*.logã
-.RE
-.
-.TP
-.B \-noslices
-åç¨ 16-åç´ é«çç/\:æ¡æ¹å¼ç»å¶è§é¢, èæ¯ä¸æ¬¡ç»å¶æ´ä¸ªå¸§ã
-å¯è½æ´å¿«ææ´æ
¢, åå³äºæ¾å¡åå¯ç¨çç¼åã
-å®åªå¯¹ libmpeg2 å libavcodec ç¼è§£ç 卿æã
-.
-.TP
-.B \-nosound
-䏿æ¾/\:ç¼ç 声é³ã
-对åºåæµè¯æç¨ã
-.
-.TP
-.B \-novideo
-䏿æ¾/\:ç¼ç è§é¢ã
-ä½å¨è®¸å¤æ
åµä¸ä¸å·¥ä½, è¯·ä½¿ç¨ \-vc null \-vo null æ¿ä»£ã
-.
-.TP
-.B \-pp <åè´¨> (ä¹è¯·åè§ \-vf pp)
-设置 DLL çåæå¤ç级å«ã
-ä»
å¯ä»¥ç¨äºæå
é¨åæå¤çä¾ç¨ç Win32 DirectShow DLLã
-æ¤é项ä¸å对 \-vf pp æç¨ã
-\-pp åæ°å¼çææèå´ä¾ç¼è§£ç å¨ä¸åèä¸å, 大é¨å为
-0\-6, å
¶ä¸ 0=ç¦ç¨ 6=ææ
¢/\:æå¥½ã
-.
-.TP
-.B \-pphelp (ä¹è¯·åè§ \-vf pp)
-æ¾ç¤ºå¯ç¨çåæå¤ç滤éåå
¶ç¨æ³çç®ä»ã
-.
-.TP
-.B \-ssf <模å¼>
-æå®è½¯ä»¶ç¼©æ¾åæ°ã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-\-vf scale \-ssf lgb=3.0
-.RE
-.PD 1
-.PD 0
-.RSs
-.IPs lgb=<0\-100>
-髿¯æåè¿æ»¤å¨ (亮度)
-.IPs cgb=<0\-100>
-髿¯æåè¿æ»¤å¨ (è²åº¦)
-.IPs ls=<\-100\-100>
-éåè¿æ»¤å¨ (亮度)
-.IPs cs=<\-100\-100>
-éåè¿æ»¤å¨ (è²åº¦)
-.IPs chs=<h>
-æ°´å¹³è²åº¦åç§»
-.IPs cvs=<v>
-åç´è²åº¦åç§»
-.RE
-.PD 1
-.
-.TP
-.B \-stereo <模å¼>
-éæ© MP2/\:MP3 ç«ä½å£°è¾åºçç±»åã
-.PD 0
-.RSs
-.IPs 0
-ç«ä½å£°
-.IPs 1
-左声é
-.IPs 2
-å³å£°é
-.RE
-.PD 1
-.
-.TP
-.B \-sws <软件缩æ¾ç±»å> (ä¹è¯·åè§ \-vf scale å \-zoom)
-æå®è½¯ä»¶ç¼©æ¾ç®æ³ç¨äº \-zoom é项ã
-è¿å¯¹ç¼ºå°ç¡¬ä»¶å é, å¦ x11 çè§é¢è¾åºé©±å¨ä¸å½±åã
-.sp 1
-å¯ç¨é项æ:
-.sp 1
-.PD 0
-.RSs
-.IPs 0
-å¿«éäºæ¬¡çº¿æ§
-.IPs 1
-å¿«éäºæ¬¡çº¿æ§
-.IPs 2
-äºæ¬¡ç«æ¹ (å质好) (é»è®¤)
-.IPs 3
-å®éªä¸
-.IPs 4
-æçè·ç¦» (å质差)
-.IPs 5
-area
-.IPs 6
-äº®åº¦äºæ¬¡ç«æ¹/è²åº¦äºæ¬¡çº¿æ§
-.IPs 7
-髿¯
-.IPs 8
-sincR
-.IPs 9
-lanczos
-.IPs 10
-èªç¶äºæ¬¡ç«æ¹æ ·æ¡æ²çº¿
-.RE
-.PD 1
-.sp 1
-.RS
-.I 注æ:
-æäº \-sws é项å¯è°ã
-è§é¢ç¼©æ¾è¿æ»¤å¨çæè¿°ææ´å¤çä¿¡æ¯ã
-.RE
-.
-.TP
-.B \-vc <[\-|+]ç¼è§£ç å¨1,[\-|+]ç¼è§£ç å¨2,...[,]>
-æç
§å¨ codecs.conf ä¸è§é¢ç¼è§£ç å¨çåç§°, æå®ä½¿ç¨å®ä»¬çä¼å
级å表ã
-ç¼è§£ç å¨åç§°åä½¿ç¨ "\-" 表示忽ç¥å®ã
-ç¼è§£ç å¨åç§°åä½¿ç¨ "+" 表示éå®å®, è¿æå¯è½ä¼å´©æº!
-妿å表尾æ "," MPlayer ä½¿ç¨æ²¡æååºçç¼è§£ç å¨ä½ä¸ºåå¤ã
-.br
-.I 注æ:
-å¯ç¨çç¼è§£ç å¨å
¶å®æ´å表请åè§ \-vc helpã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-vc divx"
-éå® Win32/\:VfW DivX ç¼è§£ç å¨, æ åå¤ã
-.IPs "\-vc \-divxds,\-divx,"
-è·³è¿ Win32 DivX ç¼è§£ç å¨ã
-.IPs "\-vc ffmpeg12,mpeg12,"
-å
å°è¯ libavcodec ç MPEG-1/2 ç¼è§£ç å¨, å
¶æ¬¡æ¯ libmpeg2, ç¶åæ¯å
¶å®çã
-.RE
-.PD 1
-.
-.TP
-.B \-vfm <驱å¨1,驱å¨1,...>
-æç
§å¨ codecs.conf ä¸è§é¢ç¼è§£ç 卿çåç§°, æå®ä½¿ç¨å®ä»¬çä¼å
级å表ã
-妿ç»å®çç¼è§£ç å¨ææ²¡ä¸ä¸ªè½å·¥ä½, 使ç¨é»è®¤çåå¤ç¼è§£ç 卿ã
-妿å表尾æ "," MPlayer ä½¿ç¨æ²¡æååºçç¼è§£ç å¨ä½ä¸ºåå¤ã
-.br
-.I 注æ:
-å¯ç¨çç¼è§£ç 卿å
¶å®æ´å表请åè§ \-vfm helpã
-.sp 1
-.I 示ä¾:
-.PD 0
-.RSs
-.IPs "\-vfm ffmpeg,dshow,vfw"
-å
å°è¯ libavcodec, å
¶æ¬¡æ¯ Directshow, ç¶å VfW ç¼è§£ç å¨,
-æå妿å®ä»¬é½ä¸å·¥ä½ä½¿ç¨å
¶å®åå¤çã
-.IPs "\-vfm xanim"
-å
å°è¯ XAnim ç¼è§£ç å¨ã
-.RE
-.PD 1
-.
-.TP
-.B \-x <x> (ä¹è¯·åè§ \-zoom) (ä»
ç¨äº MPlayer)
-缩æ¾å¾åå°å®½åº¦ <x> (å¦æè½¯ä»¶/\:硬件缩æ¾å¯ç¨)ã
-åç¨é«å®½æ¯è®¡ç®ã
-.
-.TP
-.B \-xvidopts <é项1:é项2:...>
-æå®ä½¿ç¨Xvidè§£ç æ¶çéå åæ°ã
-.br
-.I 注æ:
-æ¢ç¶ libavcodec å¿«è¿ Xvid ä½ å¯è½æ³ä½¿ç¨
-libavcodec åæå¤çè¿æ»¤å¨ (\-vf pp) åè§£ç å¨ (\-vfm ffmpeg) æ¥æ¿æ¢ã
-.sp 1
-Xvid çå
é¨åæå¤çè¿æ»¤å¨æ:
-.PD 0
-.RSs
-.IPs "deblock-chromaï¼ä¹è¯·åè§ \-vf ppï¼"
-è²åº¦å»å(deblock)è¿æ»¤å¨
-.IPs "deblock-lumaï¼ä¹è¯·åè§ \-vf ppï¼"
-亮度å»å(deblock)è¿æ»¤å¨
-.IPs "dering-lumaï¼ä¹è¯·åè§ \-vf ppï¼"
-亮度å»ç¯(deringing)è¿æ»¤å¨
-.IPs "dering-chromaï¼ä¹è¯·åè§ \-vf ppï¼"
-è²åº¦å»ç¯(deringing)è¿æ»¤å¨
-.IPs "filmeffectï¼ä¹è¯·åè§ \-vf noiseï¼"
-å¨è§é¢ä¸æ·»å 人工çè¶ç纹çã
-å¯è½æé«äºè§è§åè´¨, è½ç¶éä½äºçå®çåè´¨ã
-.RE
-.sp 1
-.RS
-æ¸²ææ¹æ³:
-.RE
-.PD 0
-.RSs
-.IPs "dr2\ \ "
-æ¿æ´»ç´æ¥æ¸²æçæ¹æ³ 2ã
-.IPs nodr2
-æ¤éç´æ¥æ¸²æçæ¹æ³ 2ã
-.RE
-.PD 1
-.
-.TP
-.B \-xy <åæ°å¼> (ä¹è¯·åè§ \-zoom)
-.PD 0
-.RSs
-.IPs åæ°å¼<=8
-æå å <åæ°å¼> 缩æ¾å¾åã
-.IPs åæ°å¼>8
-设置å¾åå®½åº¦ä¸ºåæ°å¼, 并计ç®å¾åé«åº¦ä»¥ä¿æé«å®½æ¯ã
-.RE
-.PD 1
-.
-.TP
-.B \-y <y> (ä¹è¯·åè§ \-zoom) (ä»
ç¨äº MPlayer)
-缩æ¾å¾åå°é«åº¦ <y> (å¦æè½¯ä»¶/\:硬件缩æ¾å¯ç¨)ã
-åç¨é«å®½æ¯è®¡ç®ã
-.
-.TP
-.B "\-zoom\ \ "
-å¨å¯è½çæ
åµä¸å
许使ç¨è½¯ä»¶ç¼©æ¾ã
-䏿¯æç¡¬ä»¶ç¼©æ¾çè¾åºé©±å¨(å x11, fbdev), å 为æ§è½ç¼æ
-è被 MPlayer é»è®¤åç¨ç¼©æ¾, ä½ç°å¨å
许软件缩æ¾ã
-.
-.
-.
-.SH "é³é¢è¿æ»¤å¨"
-é³é¢è¿æ»¤å¨å
è®¸ä½ ä¿®æ¹é³é¢æµåå
¶å±æ§ã
-è¯æ³æ¯:
-.
-.TP
-.B \-af <è¿æ»¤å¨1[=åæ°1:åæ°2:...],è¿æ»¤å¨2,...>
-建ç«é³é¢è¿æ»¤å¨é¾ã
-.PP
-.I 注æ:
-请åè§ \-af help, è·å¾å¯ç¨çé³é¢è¿æ»¤å¨å
¶å®æ´å表ã
-.sp 1
-é³é¢è¿æ»¤å¨ä»¥å表çå½¢å¼è¿è¡ç®¡çã
-æä¸äºå½ä»¤æ¯ç¨æ¥ç®¡çè¿ä¸ªè¿æ»¤å¨å表çã
-.
-.TP
-.B \-af\-add <è¿æ»¤å¨1[,è¿æ»¤å¨2,...]>
-å°åæ°ä¸ç»åºçè¿æ»¤å¨æ·»å è³è¿æ»¤å¨åè¡¨çæ«å°¾ã
-.
-.TP
-.B \-af\-pre <è¿æ»¤å¨1[,è¿æ»¤å¨2,...]>
-å°åæ°ä¸ç»åºçè¿æ»¤å¨æ·»å è³è¿æ»¤å¨å表çå¼å¤´ã
-.
-.TP
-.B \-af\-del <ç´¢å¼å·1[,ç´¢å¼å·2,...]>
-å é¤ä½äºæç»ç´¢å¼å·å¤çè¿æ»¤å¨ã
-ç´¢å¼å·ç èµ·å§ä¸º 0ï¼è´æ°å·ç 代表ä»åè¡¨çæ«å°¾å¯»åï¼\-1 代表æåä¸ä¸ªï¼ã
-.
-.TP
-.B \-af\-clr
-å®å
¨æ¸
ç©ºè¿æ»¤å¨å表ã
-.PP
-å¯ç¨çè¿æ»¤å¨æ:
-.
-.TP
-.B resample[=srate[:sloppy[:type]]]
-æ¹åé³é¢æµçéæ ·(é/é¢)çã
-å¯ç¨äºå£°å¡åªæä¸ä¸ªåºå®çé¢çæè
è¦å¡ä½çæ§å¡æé«åªè½è¾¾ 44.1kHzã
-æ¤è¿æ»¤å¨å¨å¿
è¦æ¶è¢«èªå¨å¯ç¨ã
-å®åªæ¯æ 16-ä½ native-endian(ä½ä½å¨å) æ ¼å¼çæ´æ°å¼åæµ®ç¹æ°ä½ä¸ºè¾å
¥ã
-.br
-.I 注æ:
-å¯¹äº MEncoder, ä½ ä¹éè¦ä½¿ç¨ \-srate <srate>ã
-.PD 0
-.RSs
-.IPs <srate>
-è¾åºçéæ ·ç(以 Hz 为åä½)ã
-åæ°çææèå´æ¯ä» 8000 å° 192000ã
-妿è¾å
¥åè¾åºçéæ ·çç¸å, æè
妿æ¤åæ°è¢«çç¥, æ¤è¿æ»¤å¨è¢«èªå¨å¸è½½ã
-æ£å¸¸æ
åµä¸é«çéæ ·çè½æ¹åé³é¢åè´¨, å°¤å
¶æ¯ä¸å
¶å®è¿æ»¤å¨ç»åæ¶ã
-.IPs <sloppy>
-å
许(1) æä¸å
许(0) è¾åºéæ ·çä¸ç»å®çé¢ç <srate> ç¨å¾®ä¸å (é»è®¤æ¯: 1)ã
-å¯ç¨äºå¯å¨åæ¾æ¶æç«¯æ
¢çæ
å½¢ã
-.IPs <type>
-éæ©ä½¿ç¨ä½ç§ééæ ·æ¹å¼ã
-.RSss
-0: çº¿æ§æå¼ (å¿«é, åè´¨ä½ å°¤å
¶æ¯ upsampling æ¶)
-.br
-1: å¤ç¸è¿æ»¤å¨ç»(filterbank)并䏿´æ°å¤ç
-.br
-2: å¤ç¸è¿æ»¤å¨ç»(filterbank)并䏿µ®ç¹æ°å¤ç (æ
¢, åè´¨æä½³)
-.REss
-.PD 1
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.PD 0
-.RSs
-.IPs "mplayer \-af resample=44100:0:0"
-设置ééæ ·è¿æ»¤å¨çè¾åºéæ ·ç为 44100Hz, ä½¿ç¨æ¤ä¸å
许微è°çè¾åºéæ ·ç
-缩æ¾åçº¿æ§æå¼ã
-.RE
-.PD 1
-.
-.TP
-.B lavcresample[=srate[:length[:linear[:count[:cutoff]]]]]
-æ¹åé³é¢æµéæ ·çä¸ºæ´æ° <srate> (以 Hz 为åä½)ã
-å®åªæ¯æ 16ä½ native-endian(ä½ä½å¨å) æ ¼å¼ã
-.br
-.I 注æ:
-å¯¹äº MEncoder, ä½ ä¹éè¦ä½¿ç¨ \-srate <srate>ã
-.PD 0
-.RSs
-.IPs <srate>
-è¾åºçéæ ·ç
-.IPs <length>
-æå
³è¾ä½éæ ·ççè¿æ»¤å¨é¿åº¦ (é»è®¤æ¯: 16)
-.IPs <linear>
-妿弿¯ 1, è¿æ»¤å¨å°å¨å¤ç¸è¿å
¥å¤ä¹é´çº¿æ§æå¼
-.IPs <count>
-å¤ç¸è¿å
¥å¤æ°éç log2
-(..., 10->1024, 11->2048, 12->4096, ...)
-(é»è®¤æ¯: 10->1024)
-.IPs <cutoff>
-æªé¢ (0.0\-1.0), é»è®¤è®¾ç½®åå³äºè¿æ»¤å¨é¿åº¦
-.RE
-.PD 1
-.
-.TP
-.B lavcac3enc[=è³SPDIF[:æ¯ç¹ç[:æå°å£°é]]]
-ç¨ libavccodec åºå°å¤å£°éé³é¢å®æ¶ç¼ç è³ AC-3ã
-æ¯æ16ä½ä»»æåè顺åºçè¾å
¥æ ¼å¼ï¼æå¤6个声éã
-å½è¾åºåå§ AC-3 é³é¢æµæ¶ï¼è¾åºæ¯æé«ä½åèä¼å
顺åºï¼å½è¾åºè³ S/PDIF
-æ¶ï¼åæ¯æè®¾å¤çåè顺åºã
-è¯¥è¿æ»¤å¨çè¾åºéæ ·çä¸è¾å
¥éæ ·çç¸åã
-å½è¾å
¥éæ ·ç为 48kHzã44.1kHz æ 32kHz æ¶ï¼è¯¥è¿æ»¤éåç´æ¥éç¨è¿ä¸ªå¼ã
-å¦åï¼å°èªå¨å¨æ¤è¿æ»¤å¨åæå
¥ä¸ä¸ªééæ ·è¿æ»¤å¨ï¼ä»¥ä½¿è¾å
¥åè¾åºéæ ·çå为
-48kHzã
-ä½ éè¦æå®â\-channels Nâ以使ç¼ç å¨å°é³é¢è§£ç 为 N 声éï¼ç¶åè¿æ»¤å¨å°±å¯ä»¥
-å° N 声éçè¾å
¥ç¼ç 为 AC-3 äºã
-.br
-.PD 0
-.RSs
-.IPs <è³SPDIF>
-è¥å¼ä¸ºé¶ææªè®¾ç½®åè¾åºåå§ AC-3 é³é¢æµï¼
-å½ <è³SPDIF> 设为éé¶å¼æ¶ï¼åè¾åºè³ S/PDIF 以ç¥è¿è§£ç ã
-.IPs <æ¯ç¹ç>
-ç¼ç AC-3 æµæ¶éç¨çæ¯ç¹çã
-å°å
¶è®¾ä¸º 384 æ 384000 以å¾å° 384kbits çæ¯ç¹çã
-ææå¼ä¸ºï¼32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256,
- 320, 384, 448, 512, 576, 640
-é»è®¤çæ¯ç¹çåå³äºè¾å
¥ç声鿰ï¼
-1声éï¼96ï¼2声éï¼192ï¼3声éï¼224ï¼4声éï¼384ï¼5声éï¼448ï¼6声éï¼448
-.IPs <æå°å£°é>
-妿è¾å
¥ç声鿰å°äº <æå°å£°é>ï¼é£ä¹è¿æ»¤å¨è±ç¦»è¿æ»¤å¨éåãï¼é»è®¤å¼ï¼5ï¼
-.RE
-.PD 1
-.
-.TP
-.B sweep[=speed]
-äº§çæ£å¼¦ sweepã
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-delta çæ£å¼¦, 使ç¨é常ä½çå¼å¬æ¤æ«å¬(sweep)ã
-.RE
-.PD 1
-.
-.TP
-.B sinesuppress[=freq:decay]
-å é¤ä¸ä¸ªæå®é¢ççæ£å¼¦ã
-对å»é¤ä½åè´¨é³é¢è®¾å¤ä¸ 50/60Hz çåªé³æ¶æç¨ãå¯è½åªå¨å声éè¾å
¥ä¸å¯å·¥ä½ã
-.PD 0
-.RSs
-.IPs <freq>
-åºå é¤çé¢ç (以 Hz 为åä½) (é»è®¤æ¯: 50)
-.IPs <decay>
-æ§å¶éåºæ§ (ä¸ä¸ªè¾å¤§çå¼ä¼ä½¿å¾è¿æ»¤å¨éåºå¹
度åç¸ä½çååè¾è¿
é,
-èä¸ä¸ªè¾å°çå¼ä¼ä½¿å¾æ¤éåºè¿ç¨è¾æ
¢) (é»è®¤æ¯: 0.0001)ãåççå¼çº¦ä¸º 0.001ã
-.RE
-.PD 1
-.
-.TP
-.B bs2b[=option1:option2:...]
-ä½¿ç¨ libbs2b ç Bauer ç«ä½å£°è³åè³å£°éè½¬æ¢æ¨¡å¼ã
-éè¿ä½¿å£°é³æ´ç±»ä¼¼äºå¦å仿¬å£°å¨ä¼ æ¥ä»¥æåè³æºçå¬è§ææã该模å¼è®©æ¯ä¸ªè³æµåæ¶
-å¬è§ä¸¤ä¸ªå£°éï¼å¹¶èèäºå£°é³ä¼ æè·ç¦»çå·®å«å头é¨ååææã
-该é项åªè½åºç¨äº 2 个声éçé³é¢ã
-.PD 0
-.RSs
-.IPs fcut=<300\-1000>
-设置以 Hz 为åä½ç忢é¢çã
-.IPs feed=<10\-150>
-设置以 0.1*dB 为åä½çç¨äºä½é¢ççåé¦çº§å«ã
-.IPs profile=<value>
-æè®¸å¤é
ç½®å¯ä¾æ¹ä¾¿éç¨ï¼
-.PD 0
-.RSs
-.IPs default
-å¦ææªæå®å
¶å®é项å使ç¨è¿ä¸ªé项ï¼fcut=700, feed=45ï¼
-.IPs "cmoy\ "
-Chu Moy åè·¯å®ç°ç®æ³ï¼fcut=700, feed=60ï¼
-.IPs jmeier
-Jan Meier åè·¯å®ç°ç®æ³ï¼fcut=650, feed=95ï¼
-.RE
-.RE
-.sp 1
-.RS
-妿忶æå®äº fcut æ feed é项ä¸é
ç½®ï¼åè¿ä¸¤ä¸ªé项å°è¦çé
ç½®ä¸é项çå¼ã
-.RE
-.RE
-.PD 1
-.
-.TP
-.B hrtf[=flag]
-头é¨ç¸å
³ç转ååè½: 为头æ´å¼è³æºè½¬æ¢å¤å£°éé³é¢æå声éè¾åº,
-ä½ä¿ç声é³çç©ºé´æã
-.sp 1
-.PD 0
-.RS
-.IPs "Flag å«ä¹"
-.IPs "m ååºå£°éç©éµè§£ç "
-.IPs "s å声éç©éµè§£ç "
-.IPs "0 æ ç©éµè§£ç (é»è®¤)"
-.RE
-.PD 1
-.
-.TP
-.B equalizer=[g1:g2:g3:...:g10]
-10-å
«åº¦æ³¢æ®µå¾å½¢åè¡¡å¨, å
¶å®ç°ä½¿ç¨äº 10 IIR 带éè¿æ»¤å¨ã
-è¿æå³çä¸ç®¡åæ¾çæ¯ä½ç§é³é¢é½è¡ã10 波段çä¸å¿é¢ç忝:
-.sp 1
-.PD 0
-.RS
-.IPs "æ®µå· é¢ç"
-.IPs "0 31.25 Hz"
-.IPs "1 62.50 Hz"
-.IPs "2 125.00 Hz"
-.IPs "3 250.00 Hz"
-.IPs "4 500.00 Hz"
-.IPs "5 1.00 kHz"
-.IPs "6 2.00 kHz"
-.IPs "7 4.00 kHz"
-.IPs "8 8.00 kHz"
-.IPs "9 16.00 kHz"
-.RE
-.PD 1
-.sp 1
-.RS
-妿æ¤å£°é³ææ¾çéæ ·çä½äºé¢ç波段çä¸å¿é¢ç, æ¤æ³¢æ®µå°±è¢«åç¨ã
-æ¤è¿æ»¤å¨çä¸ä¸ªå·²ç¥é误æ¯, æé«æ³¢æ®µçç¹æ§æ²¡æå®å
¨å¯¹ç§°, å¦æéæ ·ç
-æ¥è¿å
¶æ³¢æ®µçä¸å¿é¢çæ¶ãæ¤é®é¢å¯è¢«ç»è¿ãåæ³æ¯ upsampling å
¶å£°é³:
-卿¤è¿æ»¤å¨ä¹å使ç¨ééæ ·è¿æ»¤å¨ã
-.RE
-.PD 0
-.RSs
-.IPs <g1>:<g2>:<g3>:...:<g10>
-æµ®ç¹æ°ä»£è¡¨åé¢ç波段çå¢çåè´(dB) (\-12\-12)
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af equalizer=11:11:10:5:0:\-12:0:5:12:12 media.avi"
-æ¾å¤§å£°é³çé«ç«¯ååºç«¯çé¢çåºæ®µ, ä½å ä¹å®å
¨åæ¶ 1kHz éè¿ç声é³ã
-.RE
-.PD 1
-.
-.TP
-.B channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]
-è½ç¨äºæ·»å , å»é¤, è·¯ç±åæ·è´é³é¢å£°éã
-妿ä»
ç»å® <nch>, é»è®¤æ¯ç¨è·¯ç±(è·³æ¥), å
¶æåå·¥ä½å¦ä¸:
-妿è¾åºå£°éæ°å¤§äºè¾å
¥å£°éæ°, æå
¥ç©ºç声é (é¤äº
-æ··é³å声éæç«ä½å£°æ¶, å¨ä¸¤ä¸ªè¾åºå£°éä¸é夿¤å声é)ã
-妿è¾åºå£°éæ°å°äºè¾å
¥å£°éæ°, æªæå¤ä½ç声éã
-.PD 0
-.RSs
-.IPs <nch>
-è¾åºå£°éæ°ï¼1\-8ï¼
-.IPs "<nr>\ "
-转æ¢è·¯å¾æ°ï¼1\-8ï¼
-.IPs <from1:to1:from2:to2:from3:to3:...>
-0 å° 7 çæ°å对å®ä¹å声éç转æ¢è·¯å¾ã
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af channels=4:4:0:1:1:0:2:2:3:3 media.avi"
-æ¹æ 4 声é并设置 4 对路ç±: 交æ¢å£°é 0 å声é 1, ä¿ç声é 2 å 3 æªå¨ã
-ä¼è§å¯å°å¦æåæ¾åªä½å«æä¸¤ä¸ªå£°é, 声é 2 å 3 æ 声, ä½å£°é 0 å 1 ä»è¦äº¤æ¢ã
-.IPs "mplayer \-af channels=6:4:0:0:0:1:0:2:0:3 media.avi"
-æ¹æ 6 声é并设置 4 对路ç±: æ·è´å£°é 0 å°å£°é 0 è³ 3ã声é 4 å 5 æ 声ã
-.RE
-.PD 1
-.
-.TP
-.B format[=format] (ä¹è¯·åè§ \-format)
-å¨ä¸åçéæ ·æ ¼å¼ä¹é´è½¬æ¢ã
-èªå¨è¢«å¯ç¨, å½å£°å¡æå
¶ä»çè¿æ»¤å¨éè¦æ¶ã
-.PD 0
-.RSs
-.IPs <format>
-设置æéçæ ¼å¼ã
-ä¸è¬ç形弿¯ "sbe", å
¶ä¸ "s" æç¤ºç¬¦å· (è¦ä¹ "s" æå¸¦ç¬¦å·,
-è¦ä¹ "u" æä¸å¸¦ç¬¦å·), "b" æç¤ºæ¯ä¸ªæ ·æ¬ç使° (16, 24 æ 32)
-è "e" æç¤º endian æ ¼å¼ ("le" æ little-endian, "be" æ big-endian
-æè
"ne" æ MPlayer è¿è¡å
¶ä¸çè®¡ç®æºæç¨ç endian æ ¼å¼)ã
-ææå¼(å°¤å
¶)æ: "s16le", "u32be" å "u24ne"ãä¾å¤ä½ä¹ææçæå®æ ¼å¼æ: u8,
-s8, floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 å imaadpcmã
-.RE
-.PD 1
-.
-.TP
-.B volume[=v[:sc]]
-å®ç°è½¯ä»¶çé³éæ§å¶ã
-请谨æ
ä½¿ç¨æ¤è¿æ»¤å¨, å 为ä¼éä½ä¿¡å·è³å£°é³çåªå£°çã
-å¨å¤§å¤æ°æ
åµä¸è®¾ç½® PCM é³éè³æå¤§æ¯æä½³ç, çå»è¿æ»¤å¨,
-èç¨æ··é³å¨ç主é³éæ§å¶æ¥æ§å¶è¾åºå°é³åçæ°´å¹³ã
-ä¸ä¸ä½ ç声塿æ°ç ç PCM æ··é³å¨è䏿¯æ¨¡æç,
-ä¸å¬å°å¤±ç, è¯·ä½¿ç¨ MASTER(主) æ··é³å¨ã
-å¦æè®¡ç®æºèæå¤æ¥æ©é³å¨(è¿å 乿»æ¯å¸¸æçäº),
-è°è主é³éåæ©é³å¨çé³éæé®è½åå°åªå£°æ°´å¹³, ç´å°èæ¯çå¶å¶å£°æ¶å¤±ã
-.br
-æ¤è¿æ»¤å¨æç¬¬äºä¸ªåè½: æµéæ»ä½çæé«å£°é³æ°´å¹³å¹¶éè¿ MPlayer æ¾ç¤ºåºæ¥ã
-æ¤ä¼°è®¡çé³éè½ç¨æ¥è®¾ç½® MEncoder çé³éä»¥ä½¿ç¨æå¤§å¨æèå´ã
-该åè½å½ååªéç¨äºæµ®ç¹åæ°æ®ï¼ä½¿ç¨ä¾å¦ \-af\-adv force=5 æ
-\-af statsã
-.br
-.I 注æ:
-æ¤è¿æ»¤å¨ä¸è½éè¿è¿å
¥, æä»¥å¯¹æ¯ä¸ªé³é¢æµåªè½å¯ç¨ä¸æ¬¡ã
-.PD 0
-.RSs
-.IPs "<v>\ \ "
-设置ææå£°é䏿µæéçå¢çåè´(dB) : èå´ä» \-200dB è³ +60dB,
-å
¶ä¸ \-200dB å®å
¨éé³è +60dB çäºå¢ç 1000 (é»è®¤æ¯: 0)ã
-.IPs "<sc>\ "
-æå¼ (1) æå
³é (0) 软åªåã
-软-åªå è½ä½¿å¾å£°é³æ´å¹³æ»æµç
, å¦æä½¿ç¨äºé常é«çé³éæ°´å¹³ã
-å¯ç¨æ¤é项, 妿æ©é³å¨ç卿èå´é常ä½ã
-.br
-.I è¦å:
-æ¤åè½äº§ç失ç, æ¯åºè¯¥æåæèè使ç¨çææ®µã
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af volume=10.1:0 media.avi"
-æ¾å¤§å£°é³ 10.1dB, ä¸å£°é³æ°´å¹³å¤ªé«æ¶ä½¿ç¨ 硬-åªå ã
-.RE
-.PD 1
-.
-.TP
-.B pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
-æ¦ææ··é³ã
-åºæ¬ä¸æ¯é³éå声éè¿æ»¤å¨çç»åè½ç¨äºæ··å许å¤å£°éè³ä»
ä»
å 个声é,
-å¦: ç«ä½å£°å°å声éæè
æ¹åç¯ç»å£°ç³»ç»ä¸å¿æ¬å£°å¨ç "宽度"ã
-æ¤è¿æ»¤å¨å¾é¾ç¨, ä¸éè¦ä¸äºä¿®è¡¥æè½è·å¾æè¦çç»æã
-æ¤è¿æ»¤å¨çé项æ°åå³äºè¾åºå£°éæ°ãå¦ä½ç¨æ¤è¿æ»¤å¨
-æ 6-声éæä»¶æ··é³æå声éçå®ä¾, è½å¨ç¤ºä¾ä¸èä¸å°è¿æåçå°æ¹æ¾å°ã
-.PD 0
-.RSs
-.IPs "<n>\ \ "
-è¾åºå£°éæ°ï¼1\-8ï¼
-.IPs <Lij>
-è¾å
¥å£°é i æ··é³æè¾åºå£°é j ç份é (0\-1)ã
-æä»¥åºæ¬ä¸ä½ å
è¦æ n 个æ°è¡¨ç¤ºè¦ä½ç¨å°ç¬¬ä¸ä¸ªè¾å
¥å£°é,
-ç¶ååæ n 个æ°è¦ä½ç¨å°ç¬¬äºä¸ªè¾å
¥å£°é, 妿¤ä»¥å¾ã
-å¦æä½ ä¸å¯¹æäºè¾å
¥å£°éæå®ä»»ä½æ°, å°±è®¤ä¸ºæ¯ 0ã
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af pan=1:0.5:0.5 media.avi"
-ç«ä½å£°æ··é³æå声éã
-.IPs "mplayer \-af pan=3:1:0:0.5:0:1:0.5 media.avi"
-ç»å® 3 声éè¾åº, ä¿ç声é 0 å 1 æªå¨,
-使··å声é 0 å 1 æè¾åºå£°é 2 (被éå°æ¯å¦è¶
ä½é³å£°é)ã
-.RE
-.PD 1
-.
-.TP
-.B sub[=fc:ch]
-æ·»å ä¸ä¸ªè¶
ä½é³(subwoofer)声éå°é³é¢æµã
-ç¨äºå建è¶
ä½é³å£°éçé³é¢æ°æ®å£°é 0 å声é 1 çå¹³å声é³ã
-åé¶ Butterworth(å·´ç¹æ²æ¯) è¿æ»¤å¨ä½éè¿æ»¤å£°é³çç»ææ¯é»è®¤æªé¢ 60Hz
-ä¸å¨é³é¢æµä¸æ·»å äºä¸ä¸ªç¬ç«ç声éã
-.br
-.I è¦å:
-åç¨æ¤è¿æ»¤å¨, å½ææ¾ DVDs å¸¦ææ¯(Dolby Digital 5.1)声鳿¶,
-å¦åæ¤è¿æ»¤å¨å解声é³å°è¶
ä½é³å£°éã
-.PD 0
-.RSs
-.IPs "<fc>\ "
-ä½éè¿æ»¤å¨çæªé¢(以 Hz åä½) (20Hz è³ 300Hz) (é»è®¤æ¯: 60)ã
-ä¸ºäºæä½³ç»æ, å°è¯è®¾ç½®æªé¢å°½å¯è½ä½ãè¿è½æ¹åç«ä½å£°æç¯ç»é³æçä½éªã
-.IPs "<ch>\ "
-å³å®æå
¥è¶
é³å£°éé³é¢ç声éå·ã
-声éå·å¨ 0 å 7 ä¹é´ï¼é»è®¤å¼ï¼5ï¼ã
-è§å¯å°å£°éæ°ä¼èªå¨å¢å å° <ch>, 妿å¿
è¦çè¯ã
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af sub=100:4 \-channels 5 media.avi"
-æ·»å è¶
ä½é³å£°éå°è¾åºå£°é 4 ä¸å
¶ä¸æªé¢ä¸º 100Hzã
-.RE
-.PD 1
-.
-.TP
-.B "center\ "
-ä»åæ¹å£°éä¸å建ä¸å¿å£°éã
-å¯è½ç®ååè´¨è¾ä½, å ä¸ºè¿æ²¡æå®ç°ç¨é«éè¿æ»¤å¨è¿è¡é彿½å,
-èæ¯ç¨å¹³åååæå
¶åæ¹å£°éæ¿ä»£ã
-.PD 0
-.RSs
-.IPs "<ch>\ "
-å³å®æå
¥ä¸å¿å£°éç声éç¼å·ã
-声éç¼å·åå¼äº 0 å 7 ä¹é´ï¼é»è®¤å¼ï¼5ï¼ã
-è§å¯å°å£°éæ°ä¼èªå¨å¢å å° <ch>, 妿å¿
è¦çè¯ã
-.RE
-.PD 1
-.
-.TP
-.B surround[=delay]
-ç©éµç¼ç çç¯ç»é³æè§£ç å¨, åææ¯ç¯ç»é³æ(Dolby Surround)ã
-许å¤å声éé³é¢æä»¶äºå®ä¸å«æç©éµç¼ç çç¯ç»é³æãéè¦å£°å¡æ¯æè³å° 4 声éã
-.PD 0
-.RSs
-.IPs <delay>
-åæ¹æ¬å£°å¨çå»¶è¿æ¶é´(以 ms 为åä½) (0 è³ 1000) (é»è®¤æ¯: 20)ã
-æ¤å»¶è¿æå¦ä¸è®¾ç½®: 妿 d1 æ¯èå¬ç¹å°åæ¹æ¬å£°å¨çè·ç¦»,
-d2 æ¯èå¬ç¹å°åæ¹æ¬å£°å¨çè·ç¦», é£ä¹å»¶è¿è¯¥
-设为 15ms 妿 d1 <= d2 æè®¾ä¸º 15 + 5*(d1-d2) 妿 d1 > d2ã
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af surround=15 \-channels 4 media.avi"
-æ·»å ç¯ç»é³æè§£ç , åæ¹æ¬å£°å¨å£°é³ä¸º 15ms çå»¶è¿ã
-.RE
-.PD 1
-.
-.TP
-.B delay[=ch1:ch2:...]
-å»¶è¿å£°é³å°æ¬å£°å¨, è¿æ ·å¯ä»¥è®©ä¸å声éç声é³åæ¶å°è¾¾èå¬ç¹ã
-è¿åªå¯¹å¤äºä¸¤ä¸ªæ¬å£°å¨æ¶æç¨ã
-.PD 0
-.RSs
-.IPs ch1,ch2,...
-åºè¯¥å ç»æ¯ä¸ªå£°éçå»¶è¿æ¶é´(以 ms 为åä½) (0 è³ 1000 ä¹é´çæµ®ç¹æ°)ã
-.RE
-.PD 1
-.sp 1
-.RS
-ä¸å声éæéçå»¶è¿æ¶é´è®¡ç®å¦ä¸:
-.IP 1. 3
-æµéä¸åçæ¬å£°å¨å°èå¬ç¹çè·ç¦»(以 meters(ç±³) 为åä½), (å¯¹äº 5.1 çç³»ç»)
-å¾å°è·ç¦» s1 è³ s5ãæ²¡æè¡¥å¿è¶
ä½é³çç¹ (å ä¸ºä½ å¬ä¸åºå·®å¼)ã
-.IP 2. 3
-åå
¶ä¸æå¤§è·ç¦»ä¸å个 s1 è³ s5 çå·®, å³ s[i] = max(s) \- s[i]; i = 1...5ã
-.IP 3.
-è®¡ç®æéçåä¸ªå»¶è¿æ¶é´(以 ms 为åä½)为 d[i] = 1000*s[i]/342; i = 1...5ã
-.RE
-.PD 0
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af delay=10.5:10.5:0:0:7:0 media.avi"
-å»¶è¿å·¦åæ¹åå³åæ¹å£°éå 10.5ms, ä¸¤ä¸ªåæ¹å£°éåè¶
ä½é³å£°é 0ms,
-èä¸å¿å£°é 7msã
-.RE
-.PD 1
-.
-.TP
-.B export[=mmapped_file[:nsamples]]
-使ç¨å
åæ å° (mmap()) 导åºè¿å
¥çä¿¡å·å°å
¶å®å¤çè¿ç¨ã
-å
åæ å°çåºå嫿头é¨:
-.sp 1
-.nf
-int nch /*声鿰*/
-int size /*ç¼å²å¤§å°*/
-unsigned long long counter /*ç¨äºä¿æåæ¥, æ´æ°æ¯æ¬¡
- æ°å¯¼åºçæ°æ®ã*/
-.fi
-.sp 1
-å
¶ä½æ¯ (æ é´éæ¹å¼) ææè½½è·ç 16-使°æ®ã
-.PD 0
-.RSs
-.IPs <mmapped_file>
-æ å°æ°æ®å°æä»¶ (é»è®¤æ¯: ~/.mplayer/\:mplayer-af_export)
-.IPs <nsamples>
-æ¯ä¸ªå£°éçæ ·æ¬æ° (é»è®¤æ¯: 512)
-.RE
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.RSs
-.IPs "mplayer \-af export=/tmp/mplayer-af_export:1024 media.avi"
-å¯¼åºæ¯ä¸ªå£°éç 1024 æ ·æ¬å° "/tmp/mplayer-af_export"ã
-.RE
-.PD 1
-.
-.TP
-.B extrastereo[=mul]
-(线æ§å°)å¢å å·¦å³å£°éçå·®å¼ä»¥æ·»å æäº "ç°åº" åæ¾ææã
-.PD 0
-.RSs
-.IPs <mul>
-设置差å¼ç³»æ° (é»è®¤æ¯: 2.5)ã
-0.0 表示å声é (两个声éçå¹³åå¼), 1.0 è¡¨ç¤ºå£°é³æªæ¹å,
-è \-1.0 表示交æ¢äºå·¦å³å£°éã
-.RE
-.PD 1
-.
-.TP
-.B volnorm[=method:target]
-没æå¤±ççæå¤§é³éã
-.PD 0
-.RSs
-.IPs <method>
-设置被ç¨çæ¹å¼ã
-.RSss
-1: 使ç¨åæ ·æ¬å¹³æ»å·®å¼, éè¿å¯¹æ§çæ ·æ¬è¿è¡æ åå æå¹³å (é»è®¤)ã
-.br
-2: 使ç¨å ä¸ªæ ·æ¬å¹³æ»å·®å¼, éè¿å¯¹æ§çæ ·æ¬è¿è¡æ åå æå¹³åã
-.REss
-.IPs <target>
-ä¸ºæ¤æ ·æ¬ç±»åè®¾ç½®ç®æ å¹
度为æå¤§å¼çåæ° (é»è®¤æ¯: 0.25)ã
-.RE
-.PD 1
-.
-.TP
-.B ladspa=file:label[:controls...]
-è£
è½½ LADSPA (Linux Audio Developer's Simple Plugin API) æä»¶ã
-æ¤è¿æ»¤å¨å¯éè¿è¿å
¥, æä»¥å¤ä¸ª LADSPA æä»¶å¯åæ¶ä½¿ç¨ã
-.PD 0
-.RSs
-.IPs <file>
-æå® LADSPA æä»¶çåºæä»¶ã
-å¦æè®¾ç½®äº LADSPA_PATH, ä»ä¸æå¯»æå®çæä»¶ã
-å¦ææ²¡è®¾ç½®, ä½ ä¸å®è¦æä¾ä¸ä¸ªå®æ´è¯´æçè·¯å¾åã
-.IPs <label>
-æå®åºä¸çè¿æ»¤å¨ã
-æäºåºä»
å«ä¸ä¸ªè¿æ»¤å¨, 使äºå«è®¸å¤ã
-è¿å
¥è¿éç "help", ä¼ååºæå®åºä¸ææå¯ç¨çè¿æ»¤å¨,
-ä»èæ¶é¤ä½¿ç¨ LADSPA SDK ç "listplugins"ã
-.IPs <controls>
-æ§å¶ 0 æå¤ä¸ªæµ®ç¹æ°å¼, å
¶å³å®è£
è½½çæä»¶çè¡ä¸º(ä¾å¦: å»¶è¿, éå¼åå¢ç)ã
-å¨åèµæ¨¡å¼(æ·»å \-v å° MPlayer å½ä»¤è¡)ä¸, ææå¯ç¨çæ§å¶åå
¶ææèå´å¯æå°ã
-ä»èæ¶é¤ä½¿ç¨ LADSPA SDK ç "analyseplugin"ã
-.RE
-.PD 1
-.
-.TP
-.B "comp\ \ \ "
-å缩/æ©å¼ è¿æ»¤å¨, è¯çè¾å
¥æç¨ã
-鲿¢äººä¸ºçé常é«ç声é³åæé«é常ä½ç声é³çé³éã
-æ¤è¿æ»¤å¨æªç»æµè¯, çè³å¯è½ä¸ç¨³å®ã
-.
-.TP
-.B "gate\ \ \ "
-åªå£°é¨è¿æ»¤å¨ç±»ä¼¼äº comp(å缩/æ©å¼ ) é³é¢è¿æ»¤å¨ã
-æ¤è¿æ»¤å¨æªç»æµè¯, çè³å¯è½ä¸ç¨³å®ã
-.
-.TP
-.B karaoke
-ç®å声é³å»é¤è¿æ»¤å¨å©ç¨è¿æ ·çäºå®:
-人ç声é³é叏彿å声é, ä¹å "ä¸å¿(center)" æ··é³è¿æåçé³é¢æµã
-å°å¿æ¤è¿æ»¤å¨ä¼æä¿¡å·åæå声éã
-对 2-声éé³è½¨å·¥ä½å¾å¾å¥½; å¨é 2-声éç«ä½å£°ä¸å«è´¹å²å»å°è¯ã
-.
-.TP
-.B scaletempo[=é项1:é项2:...]
-æ¹åé³é¢çèå¥ä½ä¸æ¹å声é³é´éï¼å¯éæ§å°ä¸ææ¾éåº¦åæ¥ï¼é»è®¤å¼ï¼ã
-.br
-è¯¥è¿æ»¤å¨ç工使¹å¼æ¯ä»¥æ£å¸¸éåº¦ææ¾ \'stride\' ms çé³é¢ï¼èæ¶èçæ¯
-\'stride*scale\' ms çè¾å
¥é³é¢ã
-éè¿æä¸ä¸ªè·¨åº¦åå
ç \'overlap\'% çå
容ï¼ä¸ç´§æ¥çåä¸ä¸ªè·¨åº¦åçé³é¢æ··åå¨ä¸èµ·ï¼æå个
-è·¨åº¦åæ¼æ¥å¨ä¸èµ·ã
-ä¹å¯ä»¥è®©è¯¥é项对å \'search\' ms çé³é¢ä½ä¸ä¸ªçå°çç»è®¡æ§åæï¼ä»¥å¤å®æä½³çéå ä½ç½®ã
-.PD 0
-.RSs
-.IPs scale=<æ°éå¼>
-è¦æ¹åèå¥çæ ç§°æ°éã
-ä½¿ææ¾é度æ¹åè¿ä¸ªæ°éã
-ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs stride=<æ°éå¼>
-以毫ç§ä¸ºåä½çæè¾åºçæ¯ä¸ªè·¨åº¦åçé¿åº¦ã
-å¼è®¾å¾å¤ªé«ä¼å¨è奿¹åéå¾é«æ¶äº§çå¯è§çè·³é³ç°è±¡ï¼èå¨è奿¹åéå¾å°æ¶äº§çåé³ã
-å¼è®¾å¾å¤ªä½ä¼æ¹å声é³é´éã
-å¼è¶å¤§æ§è½è¶å¥½ã
-ï¼é»è®¤å¼ï¼60ï¼
-.IPs overlap=<ç¾åæ¯å¼>
-跨度åä¹é´éå çç¾åæ¯ã
-å¼è¶å°æ§è½è¶å¥½ã
-ï¼é»è®¤å¼ï¼.20ï¼
-.IPs search=<æ°éå¼>
-åä½ä¸ºæ¯«ç§çç¨ä»¥æç´¢æä½³éå ä½ç½®çæç´¢é¿åº¦ã
-å¼è¶å°æ§è½è¶æ¯å¤§å¹
度æåã
-å¨è¾æ
¢çç³»ç»ä¸ï¼ä½ å¯è½å¸ææè¿ä¸ªå¼è®¾å¾é常ä½ã
-ï¼é»è®¤å¼ï¼14ï¼
-.IPs speed=<tempo|pitch|both|none>
-è®¾ç½®ææ¾é度æ¹åæ¶çååºã
-.RSss
-.IPs tempo
-æ¹åé³é¢èå¥ä»¥ä½¿å
¶ä¸ææ¾éåº¦åæ¥ï¼é»è®¤å¼ï¼ã
-.IPs pitch
-æµæ¶è¿æ»¤å¨äº§ççææã
-æ¹å声é³é´éè䏿¹åé³é¢èå¥ã
-å¨ä½ ç input.conf ä¸å å
¥ \'[ speed_mult 0.9438743126816935\' å
-\'] speed_mult 1.059463094352953\' 使å
¶è½å¤ä»¥é³ä¹å¦ä¸çåé³ä¸ºæ¥è¿æ¹åã
-.I è¦åï¼
-ä¸è§é¢ç忥åå·®ã
-.IPs both
-åæ¶æ¹åèå¥åé´éã
-.IPs none
-忽ç¥éåº¦çæ¹åã
-.RE
-.RE
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.RSs
-.IPs "mplayer \-af scaletempo \-speed 1.2 media.ogg"
-å°ä»¥ 1.2 åçæ£å¸¸éåº¦ææ¾åªä½ï¼é³é¢çé´éå¼ä¿ææ£å¸¸ãæ¹åææ¾éåº¦åªæ¹åé³é¢çèå¥ä»¥ä¸
-ææ¾é度å¹é
ã
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=none \-speed 1.2 media.ogg"
-å°ä»¥ 1.2 åçæ£å¸¸éåº¦ææ¾åªä½ï¼é³é¢çé´éå¼ä¿ææ£å¸¸ï¼ä½æ¹åææ¾é度对é³é¢çè奿 å½±
-åã
-.IPs "mplayer \-af scaletempo=stride=30:overlap=.50:search=10 media.ogg"
-å°ææ²è´¨éåæ§è½åæ°ã
-.IPs "mplayer \-af format=floatne,scaletempo media.ogg"
-å°ä½¿ scaletempo ä½¿ç¨æµ®ç¹å¼ä»£ç ã
-å¯è½å¨ä¸äºå¹³å°ä¸è¿è¡è¾å¿«ã
-.IPs "mplayer \-af scaletempo=scale=1.2:speed=pitch audio.ogg"
-å°ä»¥ 1.2 åçæ£å¸¸éåº¦ææ¾åªä½ï¼é³é¢çé´éå¼ä¿ææ£å¸¸ãæ¹åææ¾éåº¦åªæ¹å声é³é´éï¼èæ
-é³é¢èå¥ä¿æå¨ 1.2 åéçæ°´å¹³ã
-.RE
-.PD 1
-.
-.TP
-.B "stats\ \ "
-æ¶éå¹¶æå°é³é¢æµçç»è®¡ä¿¡æ¯ï¼å°¤å
¶æ¯é³éä¿¡æ¯ã
-è¿äºç»è®¡ä¿¡æ¯ç¹å«ç¨äºå¸®å©å¨é¿å
å¡çæ¶è°èé³éã
-é³é以 dB 为å使å°å¹¶ä¸ç¨äºé³éçé³é¢è¿æ»¤å¨å
¼å®¹ã
-.
-.
-.
-.SH "è§é¢æ»¤é"
-è§é¢æ»¤éè®©ä½ ä¿®æ¹è§é¢æµåå
¶å±æ§ã
-å
¶å¥æ³æ¯ï¼
-.
-.TP
-.B \-vf <滤é1[=åæ°1:åæ°2:...],滤é2,...>
-设置ä¸è¿ä¸²çè§é¢æ»¤éã
-.PP
-许å¤åæ°æ¯å¯éçå¹¶ä¸å¦æçç¥çè¯å设为é»è®¤å¼ã
-è¦æç¡®è¡¨ç¤ºä½¿ç¨é»è®¤å¼ï¼åå°åæ°è®¾ä¸ºâ\-1âã
-åæ° w:h 表示以åç´ ä¸ºåä½å®½ x é« hï¼x:y 表示 ä»è¾å¤§çå¾åçå·¦ä¸è§å¼å§æ° x:y çä½
-ç½®ã
-.br
-.I 注æï¼
-è¦è·åå¯ç¨è§é¢æ»¤éå表ï¼åè§ \-vf helpã
-.sp 1
-è§é¢æ»¤é以å表çå½¢å¼ç»´æ¤ã
-æä¸äºå½ä»¤ç¨äºç»´æ¤æ»¤éå表ã
-.
-.TP
-.B \-vf\-add <滤é1[,滤é2,...]>
-卿»¤éå表尾é¨å ä¸åæ°ä¸æç»ç滤éã
-.
-.TP
-.B \-vf\-pre <滤é1[,滤é2,...]>
-卿»¤éå表头é¨å ä¸åæ°ä¸æç»ç滤éã
-.
-.TP
-.B \-vf\-del <ç´¢å¼å·1[,ç´¢å¼å·2,...]>
-å é¤ä½äºæå®ç´¢å¼å·ä¸ç滤éã
-ç´¢å¼å·èµ·å§ä¸º0ï¼è´æ°è¡¨ç¤ºä»å表尾é¨å¼å§å¯»åï¼\-1表示æåä¸ä¸ªï¼ã
-.
-.TP
-.B \-vf\-clr
-å®å
¨æ¸
空滤éå表ã
-Completely empties the filter list.
-.PP
-å¦ææ»¤éæ¯æï¼ä½ å¯ä»¥éè¿åæ°çåå访é®åæ°ã
-.
-.TP
-.B \-vf <滤é>=help
-æå°ç¹å®æ»¤éçåæ°åååæ°çåå¼èå´ã
-.
-.TP
-.B \-vf <滤é=å·²å½ååæ°1=åæ°å¼1[:å·²å½ååæ°2=åæ°å¼2:...]>
-å°ä¸ä¸ªå·²å½ååæ°è®¾ç½®ä¸ºæå®åæ°å¼ã
-ä½¿ç¨ on å off æ yes å no æ¥è®¾ç½®æ å¿ä½åæ°ã
-.PP
-å¯ç¨æä»¶æ:
-.
-.TP
-.B crop[=w:h:x:y]
-åå²åºå¾åçæå®é¨å并丢å¼å
¶ä½é¨åã
-坹廿宽é¶å¹çµå½±çé»è¾¹å¾æç¨ã
-.PD 0
-.RSs
-.IPs <w>,<h>
-åå²åºæ¥é¨åç宽åé«ï¼é»è®¤å¼ä¸ºåå§ç宽度åé«åº¦ã
-.IPs <x>,<y>
-åå²åºæ¥é¨åçä½ç½®ï¼é»è®¤å¼æ¯ä¸å¤®.
-.RE
-.PD 1
-.
-.TP
-.B cropdetect[=limit:round[:reset]]
-计ç®å¿
è¦çåå²åæ°å¹¶ææ¨è弿¾ç¤ºå¨æ åè¾åºä¸ã
-.PD 0
-.RSs
-.IPs <limit>
-é¨éå¼ï¼å¯è®¾èå´ä¸ºæ ï¼0ï¼è³ææï¼255ï¼ï¼é»è®¤å¼ï¼24ï¼
-.br
-.IPs <round>
-æå®å®½:é«å¼ä¸ºè¯¥å¼çåæ°ï¼é»è®¤å¼ï¼16ï¼ã
-åç§»å¼å°è¢«èªå¨è°æ´ä»¥ä½¿è§é¢ä½äºå±å¹ä¸å¿ã
-ä½¿ç¨ 2 以åªå¾å°å¶æ°å°ºå¯¸ï¼ 4:2:2 çè§é¢éè¦æ¤é项ï¼ã
-16 对äºå¤§å¤æ°ç¼ç å¨çç¼ç æ¥è¯´æ¯å¾éåçã
-.br
-.IPs <reset>
-计æ°å¼,ç¨ä»¥å³å®å¤å°å¸§å cropdetect å°éç½®å
å侦æµå°çæå¤§è§é¢åºåï¼å¹¶é
-æ°ä¾¦æµå½åçæä¼åå²åºåã该é项å¨çµè§å°å°æ å½±åäºè§é¢åºåæ¶å¯è½æç¨ã0
-表示ä»ä¸éç½®èæ¯è¿åææ¾è¿ç¨ä¸éå°çæå¤§åºåãï¼é»è®¤å¼ï¼0ï¼ã
-计æ°å¼ï¼ç¨ä»¥å³å®å¤å°å¸§å cropdetect å°éç½®å
å侦æµå°çæå¤§è§é¢åºåï¼å¹¶
-éæ°å¼å§ä¾¦æµå½åçæä¼åå²åºåï¼é»è®¤å¼ï¼0ï¼ã
-该é项å¨é¢éå°æ ç ´åäºè§é¢åºåçæ
åµä¸å¾ææã
-0 代表ä»ä¸é置并è¿åæ´ä¸ªææ¾è¿ç¨ä¸éå°çæå¤§è§é¢åºåã
-.RE
-.PD 1
-.
-.TP
-.B rectangle[=w:h:x:y]
-å¨å¾åä¹ä¸äºæå®åæ ç»ä¸ä¸ªæè¦æ±å®½åº¦åé«åº¦çç©å½¢ï¼å¹¶ä¸å°å½åç©å½¢çåæ°è¾åºè³
-æ§å¶å°çªå£ã
-该é项å¯ç¨æ¥æ¾å°æä¼çåå²åæ°ã
-å¦æä½ å° input.conf ä¸çæä»¤âchange_rectangleâ䏿é®ç»å®ï¼é£ä¹ä½ å¯ä»¥å®æ¶
-ç§»å¨åè°æ´ç©éµã
-.PD 0
-.RSs
-.IPs <w>,<h>
-宽度åé«åº¦ï¼é»è®¤å¼ï¼\-1ï¼å¨è¾¹ç¼å¯è§çæ¡ä»¶ä¸å®½åº¦æå¤§çå¯è½å¼ï¼ã
-.IPs <x>,<y>
-å·¦ä¸è§çä½ç½®ï¼é»è®¤å¼ï¼\-1ï¼å±å¹æå·¦ä¸è§ï¼
-.RE
-.PD 1
-.
-.TP
-.B expand[=w:h:x:y:o:a:r]
-å°å½±ççåè¾¨çæ©å±ï¼è䏿¯ç¼©æ¾ï¼è³æå®çå¼å¹¶å°æªç¼©æ¾çåç¹ç§»è³x,yåæ ã
-å¯ä»¥ç¨äºæåå¹/\:OSDæ¾ç½®å¨è¯¥æ»¤éçæçé»è¾¹ä¸ã
-.RSs
-.IPs <w>,<h>
-æ©å±åç宽ãé«ï¼é»è®¤å¼ï¼åå§ç宽ãé«ï¼ã
-wåhçè´æ°å¼å°è¢«è§ä½ä¸ºç¸å¯¹äºåå§å¤§å°çå¢éã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IP expand=0:\-50:0:0
-å¨å¾ççåºé¨æ·»å 50åç´ çè¾¹ã
-.RE
-.PD 1
-.IPs <x>,<y>
-åå§å¾å卿©å±åå¾åä¸çä½ç½®ï¼é»è®¤ï¼ä½äºä¸å¿ï¼
-.IPs "<o>\ \ "
-渲æOSD/\:åå¹
-.RSss
-0ï¼ç¦ç¨ï¼é»è®¤å¼ï¼
-.br
-1ï¼å¯ç¨
-.REss
-.IPs "<a>\ \ "
-æ©å±æ¶éåºæä¸ªå®½é«æ¯è䏿¯æä¸ªå辨çï¼é»è®¤å¼ï¼0ï¼ã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IP expand=800:::::4/3
-é¤éæºè§é¢ææ´é«çå辨çï¼å¦åæ©å±è³800x600ï¼å½åºç°åä¸ç§æ
嵿¶ï¼å
¶å°æ©å±ç´è³å¡«
-满ä¸ä¸ª4/3宽髿¯çåºåã
-.RE
-.PD 1
-.IPs "<r>\ \ "
-èå
¥æ°å¼ä»¥ä½¿å®½åé«å¼è½è¢«<r>æ´é¤ï¼é»è®¤å¼ï¼1ï¼ã
-.RE
-.
-.TP
-.B flipï¼å¦åè§\-flipï¼
-翻转å¾å使å
¶ä¸ä¸é¢ åã
-.
-.TP
-.B "mirror\ "
-使å¾åç¸å¯¹äºYè½´å转ã
-.
-.TP
-.B rotate[=<0\-7>]
-以90度为åä½æè½¬å¾åå¹¶æéæ©å°å°å
¶ç¿»è½¬ã
-对äº4è³7é´çå¼ï¼åªæå½å½±ççå ä½å½¢ç¶ä¸ºèåå¼ï¼è¯æ³¨ï¼å®½åº¦æ¯é«åº¦å°ï¼è䏿¯é£æ¯ç»å¼
-ï¼è¯æ³¨ï¼å®½åº¦æ¯é«åº¦å¤§ï¼æ¶ææ§è¡æè½¬æä½ã
-.RSs
-.IPs 0
-顺æ¶éæè½¬90度并翻转ï¼é»è®¤å¼ï¼ã
-.IPs 1
-顺æ¶éæè½¬90度ã
-.IPs 2
-éæ¶éæè½¬90度ã
-.IPs 3
-éæ¶éæè½¬90度并翻转ã
-.RE
-.
-.TP
-.B scale[=w:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]
-使ç¨è½¯ä»¶ç¼©æ¾å¨ï¼é度æ
¢ï¼ç¼©æ¾å¾åå¹¶æ§è¡YUV<\->RGBè²å½©ç©ºé´è½¬æ¢ï¼å¦åè§\-swsï¼ã
-.RSs
-.IPs <w>,<h>
-缩æ¾åç宽/\:é«å¼ï¼é»è®¤å¼ï¼åå§ç宽/\:é«å¼ï¼
-.br
-.I 注æï¼
-è¥ä½¿ç¨äº\-zoomï¼å¹¶ä¸åºå±ç滤éï¼å
æ¬libvoï¼æ æ³æ§è¡ç¼©æ¾ï¼åå
¶é»è®¤è®¾ç½®ä¸º
-d_宽/\:d_é«ï¼
-.RSss
- 0ï¼ ç¼©æ¾åçd_宽/\:d_é«
-.br
-\-1ï¼ åå§ç宽/\:é«
-.br
-\-2ï¼ ä½¿ç¨å¦ä¸ä¸ªå°ºå¯¸çå¼å缩æ¾åç宽髿¯è®¡ç®w/hã
-.br
-\-3ï¼ ä½¿ç¨å¦ä¸ä¸ªå°ºå¯¸çå¼ååå§ç宽髿¯è®¡ç®w/hã
-.br
-\-(n+8)ï¼ä¸ä»¥ä¸ç\-nç¸ä¼¼ï¼ä½èå
¥å°ºå¯¸å¼è³ææ¥è¿ç16çåæ°ã
-.REss
-.IPs <interlaced>
-触åéè¡æ«æè§é¢çç¼©æ¾æ¹å¼ã
-.RSss
-0ï¼å
³éï¼é»è®¤ï¼
-.br
-1: æå¼
-.REss
-.IPs <chr_drop>
-è²åº¦ä¿¡æ¯çè·³è¿æ¹å¼
-chroma skipping
-.RSss
-0ï¼ä½¿ç¨ææå¯ç¨è¾å
¥æ«æè¡ä¸çè²åº¦ä¿¡æ¯ã
-.br
-1: åªä½¿ç¨æ¯é2个è¾å
¥æ«æè¡ä¸çè²åº¦ä¿¡æ¯ã
-.br
-2: åªä½¿ç¨æ¯é4个è¾å
¥æ«æè¡ä¸çè²åº¦ä¿¡æ¯ã
-.br
-3: åªä½¿ç¨æ¯é8个è¾å
¥æ«æè¡ä¸çè²åº¦ä¿¡æ¯ã
-.REss
-.IPs "<par>[:<par2>]ï¼å¦åè§\-swsï¼"
-æ ¹æ®\-sws䏿éç缩æ¾å¨ç±»å设置缩æ¾åæ°ã
-.RSss
-\-sws 2 ï¼åç«æ¹æå¼ï¼ï¼Bï¼é¾åï¼åCï¼è²æï¼
-.br
-0.00:0.60 é»è®¤å¼
-.br
-0.00:0.75 VirtualDubä¸çâ精确åç«æ¹æå¼â
-.br
-0.00:0.50 Catmull-Romæå¼
-.br
-0.33:0.33 Mitchell-Netravaliæå¼
-.br
-1.00:0.00 ç«æ¹å¼B-æå¼
-.br
-\-sws 7 ï¼é«æ¯æ¨¡ç³ï¼ï¼éå度ï¼0ï¼æåï¼ \- 100 ï¼éå©ï¼ï¼
-.br
-\-sws 9 ï¼LANCZOSè¿ä»£ï¼ï¼è¿æ»¤é¿åº¦ï¼1\-10ï¼
-.REss
-.IPs <presize>
-缩æ¾è³é¢è®¾å°ºå¯¸ã
-.RSss
-qntscï¼ 352x240 ï¼NTSCååä¹ä¸å¤§å°å±å¹ï¼
-.br
-qpalï¼ 352x288 ï¼PALååä¹ä¸å¤§å°å±å¹ï¼
-.br
-ntscï¼ 720x480 ï¼æ åNTSCï¼
-.br
-palï¼ 720x576 ï¼æ åPALï¼
-.br
-sntscï¼ 640x480 ï¼æ£æ¹å½¢åç´ NTSCï¼
-.br
-spalï¼ 768x576 ï¼æ£æ¹å½¢åç´ PALï¼
-.REss
-.IPs <noup>
-ä¸å
许æ¾å¤§æ¶è¶
åºåå§å°ºå¯¸ã
-.RSss
-0ï¼å
许æ¾å¤§æ¶è¶
åºï¼é»è®¤ï¼ã
-.br
-1: è¥æä¸ä¸ªå°ºå¯¸è¶
åºå
¶åå§å¼æ¶åä¸å
许ã
-.br
-2: è¥æä¸¤ä¸ªå°ºå¯¸åè¶
åºå
¶åå§å¼æ¶åä¸å
许ã
-.REss
-.IPs <arnd>
-åç´ç¼©æ¾å¨ä½¿ç¨ç²¾ç¡®æ°å¼èå
¥ï¼è¿å¯è½æ¯é»è®¤çèå
¥æ¹å¼å¿«éæç¼æ
¢ã
-.RSss
-0ï¼ç¦æ¢ç²¾ç¡®æ°å¼èå
¥ï¼é»è®¤ï¼
-.br
-1ï¼å
许精确æ°å¼èå
¥ï¼é»è®¤ï¼
-.REss
-.RE
-.
-.TP
-.B dsize[=aspect|w:h:aspect-method:r]
-æ´æ¹æ»¤éé¾ä¸ä»»æä½ç½®è¦ä½¿ç¨çæ¾ç¤ºå¤§å°/\:宽髿¯ã
-宽髿¯å¯ä»¥æ¯åæ°ï¼4/3ï¼ææµ®ç¹æ°ï¼1.33ï¼ã
-æè
ï¼ä½ å¯ä»¥æå®æå¸ææ¾ç¤ºç宽åé«çå®é
大å°ã
-注æè¿ä¸ªæ»¤éèªå·±
-.B ä¸
-åä»»æç¼©æ¾æä½ï¼å®åªå½±åå°åé¢çï¼ç¡¬ä»¶æè½¯ä»¶ï¼ç¼©æ¾å¨å¨ä¿®æ£
-宽髿¯æ¶å°éåä»ä¹æ ·çè¡ä¸ºã
-.RSs
-.IPs <w>,<h>
-æ°æ¾ç¤ºæ¨¡å¼ç宽度åé«åº¦ã
-ä¹å¯ä»¥æ¯ä»¥ä¸è¿äºç¹æ®å¼ï¼
-.RSss
- 0ï¼ åæ¥æ¾ç¤ºæ¨¡å¼ç宽度åé«åº¦
-.br
-\-1ï¼ åå§è§é¢ç宽度åé«åº¦ï¼é»è®¤ï¼
-.br
-\-2ï¼ ä½¿ç¨å¦ä¸ä¸ªå°ºå¯¸çå¼å忥æ¾ç¤ºæ¨¡å¼ç宽髿¯è®¡ç®w/hã
-.br
-\-3ï¼ ä½¿ç¨å¦ä¸ä¸ªå°ºå¯¸çå¼ååå§è§é¢å®½é«æ¯è®¡ç®w/hã
-.REss
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IP dsize=800:\-2
-å½è§é¢å®½é«æ¯ä¸º4/3æ¶æå®æ¾ç¤ºå辨ç为800x600ï¼æå½è§é¢å®½é«æ¯ä¸º16/9æ¶æ
-å®ä¸º800x450ã
-.RE
-.IPs <aspect-method>
-æ ¹æ®åæ¥ç宽髿¯ä¿®æ¹å®½åº¦åé«åº¦ã
-.RSss
-\-1ï¼å¿½ç¥åæç宽髿¯ãï¼é»è®¤ï¼
-.br
- 0ï¼å¨<w>å<h>ä½ä¸ºæå¤§çå辨ççæ
åµä¸ä¿ææ¾ç¤ºæ¨¡å¼ç宽髿¯ã
-.br
- 1ï¼å¨<w>å<h>ä½ä¸ºæå°çå辨ççæ
åµä¸ä¿ææ¾ç¤ºæ¨¡å¼ç宽髿¯ã
-.br
- 2: å¨<w>å<h>ä½ä¸ºæå¤§çå辨ççæ
åµä¸ä¿æè§é¢ç宽髿¯ã
-.br
- 3: å¨<w>å<h>ä½ä¸ºæå°çå辨ççæ
åµä¸ä¿æè§é¢ç宽髿¯ã
-.REss
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IP dsize=800:600:0
-æå®æ¾ç¤ºå辨çå°äºçäº800x600ï¼ä»¥ä¿æå®½é«æ¯ã
-.RE
-.PD 1
-.IPs "<r>\ \ "
-å°å®½åº¦åé«åº¦å¼èå
¥è³å¯è¢«<r>æ´é¤ï¼é»è®¤å¼ï¼1ï¼ã
-.RE
-.
-.TP
-.B "yvu9\ \ \ "
-å¼ºå¶æ§è¡YVU9è³YV12è²å½©ç©ºé´ç软件转æ¢ã
-ä¸èµæä½¿ç¨ï¼å 为使ç¨è½¯ä»¶è²å½©è°æ´å¨æ´å¥½ã
-.
-.TP
-.B "yuvcsp\ "
-å°YUVè²å½©å¼éå¶å¨CCIR 601å®ä¹çèå´å
èä¸åå®é
çè²å½©è½¬æ¢ã
-.
-.TP
-.B palette
-使ç¨paletteï¼è°è²æ¿ï¼è¿è¡RGB/BGR 8 \-> 15/16/24/32bppè²å½©ç©ºé´è½¬æ¢ã
-.
-.TP
-.B format[=fourcc[:outfourcc]]
-éå¶ä¸ä¸ä¸ªæ»¤é使ç¨çè²å½©ç©ºé´èä¸åä»»ä½è½¬æ¢ã
-ä¸è²å½©è°æ´æ»¤éå
±åä½ç¨å®æå®é
转æ¢ã
-.br
-.I 注æï¼
-è¦è·åå¯ç¨æ ¼å¼å表åè§format=fmt=helpã
-.PD 0
-.RSs
-.IPs <fourcc>
-æ ¼å¼åç§°å¦ rgb15ãbgr24ãyv12ï¼é»è®¤å¼ï¼yuy2ï¼
-.IPs <outfourcc>
-ç¨äºæ¿æ¢ä¸ºè¾åºæ ¼å¼çæ ¼å¼åã
-å¦æè¯¥å¼ä¸è½ 100% ä¸ <fourcc> çå¼ç¸å
¼å®¹ï¼å°å¯¼è´ç¨åºå´©æºã
-.br
-ææç¨æ³ç¤ºä¾ï¼
-.br
-format=rgb24:bgr24 format=yuyv:yuy2
-.br
-æ æç¨æ³ç¤ºä¾ï¼ç¨åºå°å´©æºï¼ï¼
-.br
-format=rgb24:yv12
-.RE
-.PD 1
-.
-.TP
-.B noformat[=fourcc]
-éå¶ä¸ä¸ä¸ªæ»¤é使ç¨çè²å½©ç©ºé´èä¸åä»»ä½è½¬æ¢ã
-ä¸format滤éä¸åï¼è¿ä¸ªæ»¤éè½å¤çä»»æè²å½©ç©ºé´
-.B é¤äº
-ä½ èªå·±å®ä¹çã
-.br
-.I 注æï¼
-è¦è·åå¯ç¨æ ¼å¼å表åè§noformat=fmt=helpã
-.PD 0
-.RSs
-.IPs <fourcc>
-æ ¼å¼åç§°å¦rgb15ãbgr24ãyv12ï¼é»è®¤å¼ï¼yv12ï¼
-.RE
-.PD 1
-.
-.TP
-.B pp[=filter1[:option1[:option2...]]/[\-]filter2...]ï¼å¦åè§\-pphelpï¼
-å¯ç¨æå®åºåçåæå¤çåæ»¤éã
-åæ»¤éå¿
é¡»ç¨â/âåéå¹¶ä¸å¯ä»¥éè¿å¨å
¶åååå 以â\-âç¦ç¨ã
-æ¯ä¸ªå滤éåä¸äºé项æä¸ä¸ªçååä¸ä¸ªé¿åï¼ä¸¤è
å¯ä»¥äºæ¢ä½¿ç¨ãä¾å¦\& dr/dering
-æ¯ä¸æ ·çã
-ä¸äºå
±ç¨çé项卿æçåæ»¤éä¸ä½¿ç¨ä»¥å³å®è¿äºå滤éçä½ç¨èå´ï¼
-.PD 0
-.RSs
-.IPs a/autoq
-妿CPU太æ
¢åèªå¨å
³éåæ»¤éã
-.IPs c/chrom
-åæ¶æ§è¡è²åº¦è¿æ»¤ï¼é»è®¤å¼ï¼ã
-.IPs y/nochrom
-åªæ§è¡äº®åº¦è¿æ»¤ï¼ä¸ä½¿ç¨è²åº¦ä¿¡æ¯ï¼ã
-.IPs n/noluma
-åªæ§è¡è²åº¦è¿æ»¤ï¼ä¸ä½¿ç¨äº®åº¦ä¿¡æ¯ï¼ã
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I 注æï¼
-\-pphelpååºäºå¯ç¨å滤éçå表ã
-.sp 1
-å¯ç¨çåæ»¤éæ
-.RE
-.RSs
-.IPs hb/hdeblock[:difference[:flatness]]
-æ°´å¹³æ¹åä¸çååæåºï¼deblockingï¼æ»¤é
-.RSss
-<difference>ï¼å·®å«ç³»æ°ï¼å¼è¶é«æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼32ï¼ã
-.br
-<flatness>ï¼å¹³å¦åº¦éå¼ï¼å¼è¶ä½æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼39ï¼ã
-.REss
-.IPs vb/vdeblock[:difference[:flatness]]
-åç´æ¹åä¸çååæåºï¼deblocking)滤é
-.RSss
-<difference>ï¼å·®å«ç³»æ°ï¼å¼è¶é«æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼32ï¼ã
-.br
-<flatness>ï¼å¹³å¦åº¦éå¼ï¼å¼è¶ä½æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼39ï¼ã
-.REss
-.IPs ha/hadeblock[:difference[:flatness]]
-ç²¾ç¡®çæ°´å¹³æ¹åä¸çååæåºï¼deblockingï¼æ»¤é
-.RSss
-<difference>ï¼å·®å«ç³»æ°ï¼å¼è¶é«æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼32ï¼ã
-.br
-<flatness>ï¼å¹³å¦åº¦éå¼ï¼å¼è¶ä½æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼39ï¼ã
-.REss
-.IPs va/vadeblock[:difference[:flatness]]
-精确çåç´æ¹åä¸çååæåºï¼deblockingï¼æ»¤é
-.RSss
-<difference>ï¼å·®å«ç³»æ°ï¼å¼è¶é«æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼32ï¼ã
-.br
-<flatness>ï¼å¹³å¦åº¦éå¼ï¼å¼è¶ä½æå³çååæåºææè¶å¼º
-ï¼é»è®¤å¼ï¼39ï¼ã
-.REss
-.sp 1
-æ°´å¹³ååæåºæ»¤éååç´ååæåºæ»¤éå
±ç¨åä¸ä¸ªå·®å«ç³»æ°åå¹³
-å¦åº¦éå¼ï¼æä»¥ä¸è½å¨æ°´å¹³ååç´æ¹åä¸è®¾ç½®ä¸åéå¼ã
-.sp 1
-.IPs h1/x1hdeblock
-è¯éªæ§çæ°´å¹³æ¹åä¸çååæåºï¼deblockingï¼æ»¤é
-.IPs v1/x1vdeblock
-è¯éªæ§çåç´æ¹åä¸çååæåºï¼deblockingï¼æ»¤é
-.IPs dr/dering
-å»è²æï¼deringingï¼æ»¤é
-.IPs tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]
-ç¬æ¶åªå£°å»é¤å¨
-.RSss
-<threshold1>ï¼æ´å¤§è§æ¨¡->æ´å¼ºçè¿æ»¤
-.br
-<threshold2>ï¼æ´å¤§è§æ¨¡->æ´å¼ºçè¿æ»¤
-.br
-<threshold3>ï¼æ´å¤§è§æ¨¡->æ´å¼ºçè¿æ»¤
-.REss
-.IPs al/autolevels[:f/fullyrange]
-èªå¨æ´æ£äº®åº¦/对æ¯åº¦
-.RSss
-f/fullyrangeï¼å¢å¤§äº®åº¦èå´è³ï¼0\-255ï¼ã
-.REss
-.IPs lb/linblenddeint
-çº¿æ§æ··ååéè¡æ«ææ»¤éï¼éè¿ä½¿ç¨ï¼1 2 1ï¼è¿æ»¤å¨è¿æ»¤ææçè¾å
¥æ«æè¡ä»¥
-è§£é¤æç»åºåçéè¡æ«æã
-.IPs li/linipoldeint
-çº¿æ§æå¼åéè¡æ«ææ»¤éï¼éè¿çº¿æ§æå¼ç®æ³æ¯éä¸¤ä¸ªæ«æè¡æ§è¡æå¼ä»¥è§£é¤
-æç»åºåçéè¡æ«æã
-.IPs ci/cubicipoldeint
-ç«æ¹æå¼åéè¡æ«ææ»¤éï¼éè¿ç«æ¹æå¼ç®æ³æ¯éä¸¤ä¸ªæ«æè¡æ§è¡æå¼ä»¥è§£é¤
-æç»åºåçéè¡æ«æã
-.IPs md/mediandeint
-ä¸ä½æ°åéè¡æ«ææ»¤éï¼éè¿æ¯éä¸¤ä¸ªæ«æè¡åºç¨ä¸ä½æ°è¿æ»¤å¨ä»¥è§£é¤æç»åº
-åçéè¡æ«æã
-.IPs fd/ffmpegdeint
-FFmpegåéè¡æ«ææ»¤éï¼éè¿æ¯éä¸¤ä¸ªæ«æè¡ä½¿ç¨ï¼\-1 4 2 4 \-1ï¼è¿æ»¤ä»¥è§£é¤
-æç»åºåçéè¡æ«æã
-.IPs l5/lowpass5
-åç´æ¹åä¸åºç¨çFIRä½ç¨åéè¡æ«ææ»¤éï¼éè¿å¯¹ææè¾å
¥æ«æè¡ä½¿ç¨ï¼\-1 2 6
- 2 \-1ï¼è¿æ»¤å¨ä»¥è§£é¤æç»åºåçéè¡æ«æã
-.IPs fq/forceQuant[:quantizer]
-å°è¾å
¥è¿æ¥çéåè¡¨æ¿æ¢ä¸ºä½ æå®ç常æ°éå表ã
-.RSss
-<quantizer>ï¼æä½¿ç¨çéå表
-.REss
-.IPs de/default
-é»è®¤ppè¿æ»¤å¨ç»åï¼hb:a,vb:a,dr:aï¼
-.IPs fa/fast
-å¿«éppè¿æ»¤å¨ç»åï¼h1:a,v1:a,dr:aï¼
-.IPs "ac\ \ \ "
-é«è´¨éppè¿æ»¤å¨ç»åï¼ha:a:128:7,va:a,dr:aï¼
-.RE
-.RS
-.sp 1
-.I 示ä¾ï¼
-.RE
-.PD 0
-.RSs
-.IPs "\-vf pp=hb/vb/dr/al"
-æ°´å¹³ååç´æ¹åä¸ååæåºãå»è²æä»¥åèªå¨äº®åº¦/\:对æ¯åº¦è°æ´
-.IPs "\-vf pp=de/\-al"
-使ç¨é»è®¤çè¿æ»¤å¨ç»åèä¸ä½¿ç¨äº®åº¦/\:对æ¯åº¦è°æ´
-.IPs "\-vf pp=default/tmpnoise:1:2:3"
-å¯ç¨é»è®¤çè¿æ»¤å¨ç»å以åç¬æ¶åªå£°å»é¤å¨ã
-.IPs "\-vf pp=hb:y/vb:a"
-æ°´å¹³æ¹åååæåºåªé对亮度信æ¯ï¼å¹¶ä¸æ ¹æ®å¯ç¨CPUæ¶é´èµæºæå¼æå
³éåç´æ¹
-åçååæåºè¿æ»¤ã
-.RE
-.PD 1
-.
-.TP
-.B spp[=quality[:qp[:mode]]]
-ç®ååæå¤ç滤éï¼å®å¨å¤æ¬¡ï¼æè
ââå¨è´¨éç级为6æ¶ââ卿æçï¼
-忢ä¸å缩åè§£åå¾åå¹¶ä½¿ç»æå¹³ååã
-.RSs
-.IPs <quality>
-0\-6 ï¼é»è®¤å¼ï¼3ï¼
-.IPs "<qp>\ "
-强å¶ä½¿ç¨çéååæ°ï¼é»è®¤å¼ï¼0ï¼ä½¿ç¨æ¥èªè§é¢çéååæ°ï¼ã
-.IPs <mode>
-0ï¼åæ§éå¼ï¼é»è®¤å¼ï¼
-.br
-1ï¼ææ§éå¼ï¼å»è²æææå¥½ï¼ä½è¾æ¨¡ç³ï¼
-.br
-4ï¼ä¸0ç¸ä¼¼ï¼ä½åæ¶ä½¿ç¨B帧çéååæ°ï¼å¯è½å¯¼è´éªçï¼
-.br
-5ï¼ä¸1ç¸ä¼¼ï¼ä½åæ¶ä½¿ç¨B帧çéååæ°ï¼å¯è½å¯¼è´éªçï¼
-.RE
-.
-.TP
-.B uspp[=quality[:qp]]
-æç®åä¸ç¼æ
¢çåæå¤ç滤éï¼å®å¨å¤æ¬¡ï¼æè
ââå¨è´¨éç级为8æ¶ââå¨
-ææçï¼åæ¢ä¸å缩åè§£åå¾åå¹¶ä½¿ç»æå¹³ååã
-å
¶ä¸sppè¡ä¸ºçå·®å¼å¨äºuspp卿ææ
åµä¸ä½¿ç¨libavcodec Snowç¼ç åè§£ç ï¼
-èsppä»
使ç¨ç±»ä¼¼äºMJPEGçç®åçå
é¨8x8DCT忢ã
-.RSs
-.IPs <quality>
-0\-8 ï¼é»è®¤å¼ï¼3ï¼
-.IPs "<qp>\ "
-强å¶ä½¿ç¨çéååæ°ï¼é»è®¤å¼ï¼0ï¼ä½¿ç¨æ¥èªè§é¢çéååæ°ï¼ã
-.RE
-.
-.TP
-.B fspp[=quality[:qp[:strength[:bframes]]]]
-ç®ååæå¤ç滤éçä¸ä¸ªå¿«éçæ¬
-.RSs
-.IPs <quality>
-4\-5 ï¼ä¸sppä¸ççä»·ï¼é»è®¤å¼ï¼4ï¼
-.IPs "<qp>\ "
-强å¶ä½¿ç¨çéååæ°ï¼é»è®¤å¼ï¼0ï¼ä½¿ç¨æ¥èªè§é¢çéååæ°ï¼ã
-.IPs <\-15\-32>
-è¿æ»¤å¼ºåº¦ï¼å¼è¶ä½æå³çå å
¥æ´å¤ç»èä½åæ¶ä¹å¸¦æ¥æ´å¤æä¼¤ï¼èå¼è¶é«è¶ä½¿å¾å
-å¹³æ»ä½åæ¶ä¹è¶æ¨¡ç³ï¼é»è®¤å¼ï¼0 \- PSNRä¼åï¼ã
-.IPs <bframes>
-0ï¼ä¸ä½¿ç¨B帧çéååæ°ï¼é»è®¤å¼ï¼
-.br
-1ï¼ä¹ä½¿ç¨B帧çéååæ°ï¼å¯è½å¯¼è´éªçï¼
-.RE
-.
-.TP
-.B pp7[=qp[:mode]]
-spp滤éçåç§ï¼ä¸ä½¿ç¨7é¡¶ç¹DCTçspp=6ç¸ä¼¼ï¼å¨è¿ç§æ
åµä¸åªæä¸å¤®çé
-æ ·å¨IDCTå使ç¨ã
-.RSs
-.IPs "<qp>\"
-强å¶ä½¿ç¨çéååæ°ï¼é»è®¤å¼ï¼0ï¼ä½¿ç¨æ¥èªè§é¢çéååæ°ï¼ã
-.IPs <mode>
-0ï¼åæ§éå¼
-.br
-1ï¼ææ§éå¼ï¼å»è²æææè¾å¥½ï¼ä½è¾æ¨¡ç³ï¼
-.br
-2ï¼ä¸æ§éå¼ï¼é»è®¤å¼ï¼ææå¥½ï¼
-.RE
-.
-.TP
-.B qp=equation
-éååæ°ï¼QPï¼åæ¢æ»¤é
-.RSs
-.IPs <equation>
-诸å¦â2+2*sin(PI*qp)âä¹ç±»çæ¹ç¨å¼
-.RE
-.
-.TP
-.B geq=equation
-éç¨æ¹ç¨å¼åæ¢æ»¤é
-.RSs
-.IPs <equation>
-æç§æ¹ç¨å¼ï¼ä¾å¦ç¨ä»¥æ°´å¹³ç¿»è½¬å¾åçâp(W\-X\\,Y)âã
-ä½ å¯ä»¥ä½¿ç¨ç©ºç½åé符使æ¹ç¨å¼æ´å®¹æè¯»æã
-æä¸äºå¸¸éå¯ä»¥å¨æ¹ç¨å¼ä¸ä½¿ç¨ï¼
-.RSss
-PIï¼åå¨çæ´¾
-.br
-Eï¼èªç¶å¸¸æ°e
-.br
-X / Yï¼å½åéæ ·ä¸çåæ
-.br
-W / Hï¼å¾åç宽度åé«åº¦
-.br
-SW / SHï¼å½å滤éå¤çè¿åçå¹³é¢ç宽/é«åº¦é尺度ï¼ä¾å¦ç¨äºYUV 4:2:0ç1,1å
-0.5,0.5ã
-.br
-p(x,y)ï¼è¿åå½åå¹³é¢x/yä½ç½®ä¸åç´ çå¼ã
-.REss
-.RE
-.
-.TP
-.B "test\ \ \ "
-çæåç§æµè¯ä¸çæµè¯ç¨å¾æ ·ã
-.
-.TP
-.B rgbtest[=width:height]
-çæä¸ä¸ªRGBæµè¯å¾æ ·ï¼éç¨äºå¯¹æ¯RGBåBGRçåºåã
-ä½ ä¼çå°ç±ä¸èä¸ç红ãé»ãèä¸è²æ¡çº¹ã
-.RSs
-.IPs <width>
-ææçæå¾åæå
·æç宽度ï¼é»è®¤å¼ï¼0ï¼ã
-0 表示è¾å
¥å¾åç宽度ã
-.br
-.IPs <height>
-ææçæå¾åæå
·æçé«åº¦ï¼é»è®¤å¼ï¼0ï¼ã
-0 表示è¾å
¥å¾åçé«åº¦ã
-.RE
-.
-.TP
-.B lavc[=quality:fps]
-使ç¨libavcodecçYV12è³MPEG-1çå¿«é软件转æ¢ï¼ç¨äºä¸DVB/\:DXR3/\:IVTV/\:V4L2ä¸å使ç¨ã
-.RSs
-.IPs <quality>
-1\-31ï¼åºå®çéå尺度
-.br
-32\-ï¼ä»¥kbits为åä½çåºå®æ¯ç¹ç
-.IPs <fps>
-å¼ºå¶æå®çè¾åºfpså¼ï¼æµ®ç¹å¼ï¼ï¼é»è®¤å¼ï¼0ï¼æ ¹æ®å¾åé«åº¦èªå¨æ£æµï¼
-.RE
-.
-.TP
-.B dvbscale[=aspect]
-设置ç¨äºDVBå¡çä¼åç¼©æ¾æ¯ä¾ï¼ç¨ç¡¬ä»¶åº¦éxè½´èç¨è½¯ä»¶è®¡ç®yè½´æ¯çä»¥ä¿æå®½é«æ¯ã
-åªæå½ä¸expandåscale滤éä¸åä½¿ç¨æ¶ææç¨ã
-.RSs
-.IPs <aspect>
-æ§å¶å®½é«æ¯ä¾ï¼è®¡ç®æ¹å¼ä¸ºDVB_HEIGHT*ASPECTRATIOï¼é»è®¤å¼ï¼576*4/3=768
-ï¼ï¼å¯¹äº16:9ççµè§å°å
¶è®¾ç½®ä¸º576*(16/9)=1024ã
-.RE
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.PD 0
-.RSs
-.IPs "\-vf dvbscale,scale=\-1:0,expand=\-1:576:\-1:\-1:1,lavc"
-FIXMEï¼è§£éä¸ä¸è¿ä¸ªæ¯å¹²ä»ä¹çã
-.RE
-.PD 1
-.
-.TP
-.B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
-æ·»å åªå£°ææã
-.PD 0
-.RSs
-.IPs <0\-100>
-亮度åªå£°
-.IPs <0\-100>
-è²åº¦åªå£°
-.IPs u
-åååªå£°ï¼å¦åå°±æ¯é«æ¯åå¸çï¼
-.IPs t
-ç¬æ¶åªå£°ï¼åªå£°æ ·å¼å¨ä¸å叧䏿¯ä¸åçï¼
-.IPs a
-å¹³ååç¬æ¶åªå£°ï¼æ´å¹³æ»ï¼ä½ç¸è¾èè¨æ¸²æå¾å¾æ
¢ï¼
-.IPs h
-é«è´¨éï¼ç¨æ¾å¥½çï¼æ¸²æç¨æ
¢ï¼
-.IPs p
-å
·æï¼åï¼è§åæ ·å¼çæ··åéæºåªå£°
-.RE
-.PD 1
-.
-.TP
-.B denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-该滤éç®æ å¨äºæ¶é¤å¾åä¸çåªå£°ï¼äº§çå¹³æ»çå¾åï¼å¹¶ä¸ä½¿éæå¾åçæ£éæ¢ï¼è¿è½æ
-é«å¯å缩æ§ãï¼ã
-.PD 0
-.RSs
-.IPs <luma_spatial>
-空é´äº®åº¦å¼ºåº¦ï¼é»è®¤å¼ï¼4ï¼
-.IPs <chroma_spatial>
-空é´è²åº¦å¼ºåº¦ï¼é»è®¤å¼ï¼3ï¼
-.IPs <luma_tmp>
-äº®åº¦ç¬æ¶å¼ºåº¦ï¼é»è®¤å¼ï¼6ï¼
-.IPs <chroma_tmp>
-è²åº¦ç¬æ¶å¼ºåº¦ï¼é»è®¤å¼ï¼luma_tmp*chroma_spatial/luma_spatialï¼
-.RE
-.PD 1
-.
-.TP
-.B hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
-denoise3d滤éçé«ç²¾ç¡®/\:è´¨éçæ¬ã
-åæ°ä¸ç¨æ³ä¸denoise3dç¸åã
-.
-.TP
-.B ow[=depth[:luma_strength[:chroma_strength]]]
-è¿è¡¥å¿å°æ³¢éåªæ»¤éã
-.PD 0
-.RSs
-.IPs <depth>
-depth å¼è¶å¤§å°å»é¤è¶æ¯æ´å¤å°å»é¤è¶æ¯ä½é¢ççé¨åçåªé³ï¼ä½åæ¶è¶æ¯åæ
¢è¿æ»¤é度ï¼é»è®¤
-å¼ï¼8ï¼ã
-.IPs <luma_strength>
-亮度强度ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs <chroma_strength>
-è²åº¦å¼ºåº¦ï¼é»è®¤å¼ï¼1.0ï¼
-.RE
-.PD 1
-.
-.TP
-.B eq[=brightness:contrast]ï¼å·²è¢«æ·æ±°ï¼
-å°±å硬件åè¡¡å¨ä¸æ ·çå¯ä»¥äº¤äºå¼æ§å¶ç软件åè¡¡å¨ï¼ç¨äºé£äºä¸æ¯æç¡¬ä»¶çº§
-亮度å对æ¯åº¦æ§å¶çæ¾å¡/\:驱å¨ã
-å¯è½å¯¹äºMEncoder徿ç¨ï¼ä¸ç®¡æ¯ç¨æ¥ä¿®æ¹æåå¾ä¸å¥½çå½±çï¼è¿æ¯ç¨ç¨éä½å¯¹
-æ¯åº¦ä»¥éèç»è´¨æä¼¤ä»¥åå¨ä½æ¯ç¹çä¸ä¿æè´¨é
-.PD 0
-.RSs
-.IPs <\-100\-100>
-åå§äº®åº¦
-.IPs <\-100\-100>
-åå§å¯¹æ¯åº¦
-.RE
-.PD 1
-.
-.TP
-.B eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
-å¦ä¸ç§è½¯ä»¶åè¡¡å¨ï¼å
¶ä½¿ç¨å¯¹ç
§è¡¨ï¼è¿è¡ç¼æ
¢ï¼ï¼é¤äºç®åç亮度å对æ¯åº¦
-è°æ´å¤è¿å
许伽çä¿®æ£ã
-注æå½ææçä¼½çå¼ä¸º1.0æ¶ï¼å®ä¸\-vf eq使ç¨åæ ·çMMXä¼å代ç ã
-忰弿¯ä»¥æµ®ç¹å¼å½¢å¼ç»åºçã
-.PD 0
-.RSs
-.IPs <0.1\-10>
-åå§ä¼½çå¼ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs <\-2\-2>
-åå§å¯¹æ¯åº¦ï¼å
¶ä¸è´æ°å¼å°å¯¼è´å¾ååç°è´çææï¼é»è®¤
-å¼ï¼1.0ï¼
-.IPs <\-1\-1>
-åå§äº®åº¦ï¼é»è®¤å¼ï¼0.0ï¼
-.IPs <0\-3>
-åå§é¥±å度ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs <0.1\-10>
-çº¢è²æä»½çä¼½çå¼ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs <0.1\-10>
-ç»¿è²æä»½çä¼½çå¼ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs <0.1\-10>
-èè²æä»½çä¼½çå¼ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs <0\-1>
-æå¼åæ°å¯ä»¥ç¨æ¥æ¶åéé«ä¼½çå¼å¨å¾åæäº®åºåçææï¼æ¯æ¹è¯´\&鲿¢è¿äºåºåè¿åº¦å¢
-çèåå¾ä»
ä»
æ¯çº¯ç½è²ã
-å¼ä¸º0.0å使å¾å¨æææ
åµä¸æ§è¡ä¼½çå¼ä¿®æ£ï¼èå¼ä¸º1.0å让伽çå¼å§ç»ä¿æå
¶ä¿®é¥°å度
-ï¼é»è®¤å¼ï¼1.0ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B hue[=hue:saturation]
-å°±å硬件åè¡¡å¨ä¸æ ·çå¯ä»¥äº¤äºæ§å¶ç软件åè¡¡å¨ï¼ï¼ç¨äºé£äºä¸æ¯æç¡¬ä»¶çº§
-è²è°å饱å度æ§å¶çæ¾å¡/\:驱å¨ã
-.PD 0
-.RSs
-.IPs <\-180\-180>
-åå§è²è°ï¼é»è®¤å¼ï¼0.0ï¼
-.IPs <\-100\-100>
-åå§é¥±å度ï¼å
¶ä¸è´æ°å¼å°å¯¼è´è´è²åº¦ï¼é»è®¤å¼ï¼1.0ï¼
-.RE
-.PD 1
-.
-.TP
-.B halfpack[=f]
-å°æå¹³é¢åæ¾çYUV 4:2:0æ ¼å¼è½¬æ¢æåé«åº¦æå
ç4:2:2æ ¼å¼ï¼å¯¹äºäº®åº¦å¼éä½è´¨ééæ ·
-ä½ä¿çææè²åº¦éæ ·å¼ã
-éç¨äºå½ç¡¬ä»¶æ¶ç¼©å¾åçè´¨éä¸é«ææ æ³æä¾è¯¥åè½æ¶ï¼å°ä¿¡å·è¾åºè³ä¸ä¸ªä½åè¾¨çæ¾
-示设å¤çåºåã
-ä¹å¯ä»¥ç¨æ¥ä½ä¸ºä¸ç§å ç¨CPUä½çä»
é对亮度信å·çåºæ¬åéè¡æ«ææ»¤éã
-.PD 0
-.RSs
-.IPs "<f>\ \ "
-é»è®¤æ
åµä¸ï¼åæå
è¿ç¨å¨éä½è´¨ééæ ·æ¶å¨æ¯å¯¹æ«æè¡é´åå¹³åå¼ã
-ä»»ä½ä¸ä¸º0æ1çå¼é½æ¯æå®éç¨é»è®¤çï¼åå¹³åå¼çï¼è¡ä¸ºã
-.RSss
-0ï¼å¨éä½è´¨ééæ ·æ¶åªä½¿ç¨å¶æ°æ«æè¡çä¿¡æ¯ã
-.br
-0ï¼å¨éä½è´¨ééæ ·æ¶åªä½¿ç¨å¥æ°æ«æè¡çä¿¡æ¯ã
-.REss
-.RE
-.PD 1
-.
-.TP
-.B ilpack[=mode]
-å½éè¡æ«æè§é¢ä»¥YUV 4:2:0æ ¼å¼åæ¾æ¶ï¼ç±äºè²åº¦ä¿¡éå¨åç´æ¹åçéä½è´¨é
-éæ ·çå
³ç³»ï¼è²åº¦ä¿¡å·å¨éè¡æ«æä¸æ²¡ææ°å½å°å°æåã
-该滤éå°æå¹³é¢åæ¾ç4:2:0çæ°æ®æå
è¿YUY2ï¼4:2:2ï¼æ ¼å¼æ¶å°è²åº¦ä¿¡å·æ°
-å½å°æåè³åºå¤çä½ç½®ï¼ä»¥ä¾¿å¨ä»»ä½æ«æè¡ä¸ï¼äº®åº¦åè²åº¦æ°æ®æ¥æºäºåä¸ä¸ª
-æ°æ®åæ¶ã
-.PD 0
-.RSs
-.IPs <mode>
-éæ©éæ ·ç模å¼ã
-.RSss
-0ï¼ææ¥è¿é»å±
éæ ·æ¨¡å¼ï¼å¿«éä½ä¸åç¡®
-.br
-1ï¼çº¿æ§æå¼ï¼é»è®¤æ¹å¼ï¼
-.REss
-.RE
-.PD 1
-.
-.TP
-.B harddup
-åªéç¨äºMEncoderã
-妿å¨ç¼ç ä¸ä½¿ç¨äºhardupï¼åå®å°å¼ºå¶ä½¿éå¤ç帧ç¼ç è³è¾åºä¸ã
-è¿å°å ç¨ç¨å¤ç空é´ï¼ä½å¯¹äºè¾åºè³MPEGæä»¶æå½ä½ è¦å¨ç¼ç åå离ååå¹¶è§é¢
-æµæ¶å´æå¿
è¦ã
-åºè¢«æ¾ç½®äºæ»¤éé¾çæåææ¥è¿äºæåï¼é¤éä½ æå
è¶³ççç±ä¸è¿æ ·åã
-.
-.TP
-.B softskip
-åªéç¨äºMEncoderã
-softskipå°ç¼ç ä¸è·³è¿ï¼ä¸¢å¼ï¼å¸§çæ¥éª¤ä»æ»¤éé¾ä¹åç§»è³æ»¤éé¾ä¸çæä¸ª
-ä½ç½®ã
-è¿ä½¿é£äºéè¦è¯»åææå¸§ç滤éï¼åçµè§çµå½±æ¨¡å¼ãåç¬æ¶åªå£°ççï¼è½æ£
-常工ä½ã
-åºè¢«æ¾ç½®å¨é£äºéè¦è¯»åææå¸§ç滤éä¹åï¼èå¨è¿äºæ»¤éåçä»»ä½å¤§éæ¶
-èCPUçæ»¤éä¹åã
-.
-.TP
-.B decimate[=max:hi:lo:frac]
-丢å¼é£äºä¸å
åç帧差å«ä¸å¤§ç帧ï¼ä»¥éä½å¸§çã
-该滤éç主è¦ç¨éæ¯ä¸ºäºå¨æä½çæ¯ç¹çä¸ç¼ç ï¼ä¾å¦\&卿¨å·æ¥å
¥çè°å¶è§£
-è°å¨çº¿è·¯ä¸ä¼ è¾æµåªä½ï¼ï¼ä½å¨ç论ä¸å®å¯ä»¥ç¨äºä¿®å¤é£äºä¸åç¡®å°å»é¤çµè§
-模å¼è¿çå½±çï¼ã
-.PD 0
-.RSs
-.IPs <max>
-设置æå¤§å¯ä»¥è¿ç»ä¸¢å¼ç帧ç个æ°ï¼å½è¯¥å¼ä¸ºæ£æ°æ¶ï¼ï¼æè¢«ä¸¢å¼
-帧é´çæå°é´éï¼å½è¯¥å¼ä¸ºè´æ°æ¶ï¼ã
-.IPs <hi>,<lo>,<frac>
-彿²¡æä¸ä¸ª8x8çåºåçå·®å«å¼å¤§äºéå¼<hi>ï¼å¹¶ä¸ä¸è¶
è¿<frac>个é¨åï¼1表示
-æ´å¹
ç»é¢ï¼çå·®å«å¼å¤§äºéå¼<lo>æ¶ï¼è¿ä¸ªå¸§å°±å¯ä»¥è¢«ä¸¢å¼ã
-æ°å¼<hi>å<lo>表示8x8åç´ åºåä¸å®é
åå¨çä¸åå¼çåç´ ä¸ªæ°ï¼äºæ¯éå¼64
-对åºäºæ¯ä¸ªåç´ é½æä¸ä¸ªä¸åçå¼ï¼æè¿ç§æ
形以ä¸åçå½¢å¼å¨æ´ä¸ªåºåä¸åå¸
-çå½¢å¼ã
-.RE
-.PD 1
-.
-.TP
-.B dint[=sense:level]
-è¿ä¸ªä¸¢å¼åéè¡æ«æï¼dintï¼æ»¤é侦æµåºå¹¶ä¸¢å¼ä¸è¿ä¸²éè¡æ«æè§é¢ç帧ä¸ç
-第ä¸ä¸ªå¸§ã
-.PD 0
-.RSs
-.IPs <0.0\-1.0>
-ç¸é»åç´ é´çç¸å¯¹å·®å«å¼ï¼é»è®¤å¼ï¼0.1ï¼
-.IPs <0.0\-1.0>
-å¾åä¸çåªä¸ªé¨åå¿
须被侦æµä»¥å¤å®æ¯å¦ä¸ºéè¡æ«æä»¥ä¾¿ä¸¢å¼å¸§ï¼
-é»è®¤å¼ï¼0.15ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B lavcdeintï¼å·²è¢«æ·æ±°ï¼
-FFmpegä¸çåéè¡æ«ææ»¤éï¼ä¸\-vf pp=fdç¸å
-.
-.TP
-.B kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]
-Donald Graftçèªéåºå
æ ¸çº§åéè¡æ«ææ»¤éã
-å½è¶
è¿é
ç½®ä¸çä¸ä¸ªé弿¶ï¼è§£é¤è§é¢ä¸çéè¡æ«æé¨åã
-.PD 0
-.RSs
-.IPs <0\-255>
-éå¼ï¼é»è®¤å¼ï¼10ï¼
-.IPs <map>
-.RSss
-0ï¼å¿½ç¥è¶
åºéå¼çåç´ ï¼é»è®¤æ¹å¼ï¼ã
-.br
-1ï¼å°è¶
åºéå¼çåç´ è¾åºä¸ºç½è²ã
-.REss
-.IPs <order>
-.RSss
-0ï¼ä¸å¯¹åºæ¬¡åºåæ´æ¹ï¼é»è®¤æ¹å¼ï¼ã
-.br
-1ï¼äº¤æ¢åºç次åºã
-.REss
-.IPs <sharp>
-.RSss
-0ï¼ç¦ç¨é¢å¤çéåå¤çï¼é»è®¤æ¹å¼ï¼ã
-.br
-1ï¼å¯ç¨é¢å¤çéåå¤ç
-.REss
-.IPs <twoway>
-.RSss
-0ï¼ç¦ç¨ååéåå¤çï¼é»è®¤æ¹å¼ï¼ã
-.br
-1ï¼å¯ç¨ååéåå¤çã
-.REss
-.RE
-.PD 1
-.
-.TP
-.B unsharp[=l|cWxH:amount[:l|cWxH:amount]]
-åéå修饰 / 髿¯æ¨¡ç³
-.RSs
-.IPs "l\ \ \ \ "
-å°ææåºç¨äºäº®åº¦é¨åã
-.IPs "c\ \ \ \ "
-å°ææåºç¨äºè²åº¦é¨åã
-.IPs <width>x<height>
-ç©éµç宽度åé«åº¦ï¼ä¸¤è
齿¯å¥æ°å°ºå¯¸
-ï¼æå°å¼ = 3x3ï¼æå¤§å¼ = 13x11æ11x13ï¼é常å¨3x3è³7x7ä¹é´ï¼
-.IPs amount
-å¾åéå度/\:模ç³åº¦çç¸å¯¹å¢éï¼åççå¼åºä¸º\-1.5\-1.5ï¼ã
-.RSss
-<0ï¼æ¨¡ç³
-.br
->0ï¼éå
-.REss
-.RE
-.
-.TP
-.B "swapuv\ "
-交æ¢UåV两个平é¢çä½ç½®ã
-.
-.TP
-.B il[=d|i][s][:[d|i][s]]
-å¯¹æ«æè¡æ§è¡ï¼åï¼äº¤éæä½ã
-该滤éçç®æ æ¯æä¾å¤çéè¡æ«æå¾åçååä¸ªæ«æåºèä¸å¯¹å
¶è¿è¡åéè¡æ«ææä½ç
-åè½ã
-ä½ å¯ä»¥å¨ä¸ç ´åéè¡æ«æç»æçæ
åµä¸è¿æ»¤ä½ çéè¡æ«æDVDè§é¢ï¼ç¶å让å
¶å¨çµè§ä¸ææ¾ã
-ï¼å¨åæå¤ç滤éçä½ç¨ä¸ï¼åéè¡æ«æï¼éè¿æåãå¹³ååä¹ç±»çææ®µï¼æ°¸ä¹
æ§å°å»
-é¤äºéè¡æ«æç»æï¼è解交éæä½å°å¸§å离æ2ä¸ªæ«æåºï¼æè°çåå¹
ç»é¢ï¼ï¼å æ¤ä½ å¯ä»¥
-åå«å°å¤çï¼è¿æ»¤ï¼è¿äºæ«æåºç¶åéæ°å°å®ä»¬äº¤éèµ·æ¥ã
-.PD 0
-.RSs
-.IPs d
-å交éæä½ï¼å°ä¸ä¸ªæ«æåºç½®äºå¦ä¸ä¸ªä¸æ¹ï¼
-.IPs i
-交éæä½
-.IPs s
-äº¤æ¢æ«æåºçä½ç½®ï¼äº¤æ¢å¥å¶æ«æçº¿çä½ç½®ï¼
-.RE
-.PD 1
-.
-.TP
-.B fil[=i|d]
-å¯¹æ«æè¡æ§è¡ï¼åï¼äº¤éæä½ã
-ä¸il滤éååç¸åï¼ä½ç¸è¾ä¹ä¸è¿è¡å¾å¾å¿«ï¼å
¶ä¸»è¦çç¼ºç¹æ¯å®ä¸æ¯æ»è½å·¥ä½ã
-å°¤å
¶æ¯å½å®ä¸å
¶å®æ»¤éä¸èµ·ä½¿ç¨æ¶ï¼å®å¯è½éæºäº§çä¸äºæ¸²æé误çå¾åï¼æä»¥
-妿å®è½å·¥ä½åæèªåºå¹¸å§ï¼ä½å¦æå®å¨ä½ çæ»¤éç»åä¸ä¸è½å·¥ä½ä¹ä¸è¦æ±æ¨ã
-.PD 0
-.RSs
-.IPs d
-å¯¹æ«æåºæ§è¡å交éæä½ï¼å°å®ä»¬ä¸ä¸ªä¸ªç´§æ¨çæ¾å¨ä¸èµ·ã
-.IPs i
-å¯¹æ«æåºå次æ§è¡äº¤éæä½ï¼äº§çä¸fil=dç¸åçææï¼ã
-.RE
-.PD 1
-.
-.TP
-.B field[=n]
-使ç¨å¤§è·¨åº¦è®¡ç®æ¹å¼ä»ä¸å¹
éè¡æ«æå¾å䏿½ååä¸ªæ«æåºï¼ä»¥é¿å
浪费CPU
-æ¶é´ã
-å¯éåæ°næå®æ½åçæ¯å¶æ°åºè¿æ¯å¥æ°åºï¼åå³äºnæ¯å¶æ°è¿æ¯å¥æ°ï¼ã
-.
-.TP
-.B detc[=var1=value1:var2=value2:...]
-å°è¯é转âçµè§çµå½±æ¨¡å¼âå¤çæä½ä»¥è¿åä¸ä¸ªçµå½±å¸§çä¸ç纯åãé
-éè¡æ«æçè§é¢æµã
-è¿æ¯ç¬¬ä¸ä¸ªä¹æ¯æåºæ¬çä¸ä¸ªæ·»å å°MPlayer/\:MEncoderä¸çåçµè§çµå½±æ¨¡å¼
-滤éã
-å
¶å·¥ä½æ¹å¼æ¯éå®çµè§çµå½±æ¨¡å¼ä¸ç3:2ç»é¢ç¹å¾ï¼ç¶åå°½å¯è½é¿å°è·è¸ªè¿ä¸ªç¹
-å¾ã
-è¿ä½¿å®éåå®å
¨çµè§çµå½±æ¨¡å¼åçæ¥æºï¼å³ä½¿å¨æä¸å®åªå£°çæ
åµä¸äº¦æ¯å¦æ¤ï¼
-ä½ä¸éç¨äºå¤æçåæçµè§çµå½±æ¨¡å¼çå¾åçç¼è¾ã
-è¿ä¸ªæ»¤éçå¼åå·²ä¸åç»§ç»ï¼å 为ivtcãpullupãåfilmdintå¨å¤§å¤æ°åºç¨ä¸æ
-ææ´å¥½ã
-以ä¸åæ°ï¼åè§ä¸é¢ç奿³è§£éï¼å¯ç¨äºæ§å¶detcçè¡ä¸ºï¼
-.RSs
-.IPs "<dr>\ "
-设置丢å¼å¸§ç模å¼ã
-.RSss
-0ï¼ä¸ä¸¢å¼å¸§ä»¥ä¿è¯è¾åºå¸§çæå®ï¼é»è®¤æ¹å¼ï¼ã
-.br
-1ï¼å½æè¿5个帧没æä¸¢å¼æä¸æ¯çµè§çµå½±æ¨¡å¼æ¶åä¸å®ä¸¢å¼ä¸ä¸ªå¸§ã
-.br
-2ï¼æ»ä¿è¯è¾å
¥è¾åºå¸§çæ¯æ£å¥½ä¸º5:4ã
-.br
-.I 注æï¼
-模å¼1å2ç¨äºMEncoderã
-.REss
-.IPs "<am>\ "
-åææ¨¡å¼ã
-.RSss
-0ï¼åºå®ç¹å¾ï¼åå§å¸§ä»£å·ç±<fr>䏿æå®ã
-.br
-1ï¼ç§¯ææå¯»çµè§çµå½±æ¨¡å¼ç¹å¾ï¼é»è®¤å¼ï¼
-.REss
-.IPs "<fr>\ "
-设å®å¸§åºåä¸åå§å¸§ç代å·ã
-0\-2æ¯ä¸ä¸ªçº¯éè¡æ«æç帧ï¼3å4æ¯ä¸¤ä¸ªéè¡æ«æç帧ã
-é»è®¤å¼\-1表示âåå§å¸§ä¸å¨çµè§çµå½±æ¨¡å¼çåºåä¸âã
-è¿éæå®ç代巿¯å½±çå¼å§ååæ³çé£ä¸ªåä¸å¸§çç±»åã
-.IPs "<t0>, <t1>, <t2>, <t3>"
-ç¨äºæäºæ¨¡å¼ä¸çéå¼ã
-.RE
-.
-.TP
-.B ivtc[=1]
-å®éªæ§çâæ ç¶æâé转çµè§çµå½±æ¨¡å¼æ»¤éã
-ivtcå¹¶ä¸ådetc滤é飿 ·å°è¯éå®ä¸ä¸ªç¹å¾ï¼èæ¯å¯¹äºæ¯ä¸å¸§ç¬ç«å°å³çã
-è¿å¯¹äºé£äºå¨åºç¨çµè§çµå½±æ¨¡å¼åç»åè¾å¤ç¼è¾çæ¥æºç¸å¯¹èè¨å
·æå¾å¥½çæ
-æï¼ä½ç¸åºå°å®ç¸å¯¹ä¸è½å®¹å¿æåªå£°çè¾å
¥ï¼æ¯å¦çµè§ä¸æææ¥çè§é¢ã
-å¯éåæ°ï¼ivtc=1ï¼å¯¹åºäºdetc滤éçdr=1é项ï¼å¹¶ä¸åºå½ç¨äºMEncoderä¸èä¸
-è½ç¨äºMPlayerã
-ä¸detc䏿 ·ï¼ä½ å¿
é¡»å¨ä½¿ç¨MEncoderæ¶æå®æ£ç¡®çè¾åºå¸§ç
-ï¼\-ofps24000/1001ï¼ã
-ivtcçè¿ä¸æ¥å¼å已忢ï¼å 为pullupåfilmdintæ»¤éæ¾å¾ç¸å¯¹ç²¾ç¡®å¾å¤ã
-.
-.TP
-.B pullup[=jl:jr:jt:jb:sb:mp]
-第ä¸ä»£åpulldownï¼é转çµè§çµå½±æ¨¡å¼ï¼æ»¤éï¼è½å¤å¤çæ··åå硬æ§çµè§çµå½±æ¨¡å¼çï¼
-24000/1001帧çéè¡æ«æçï¼ä»¥å30000/1001帧çéè¡æ«æçå
容ã
-pullup滤éç设计å忝éè¿å¨å³çä¸å©ç¨å°æ¥çå
容ç¯å¢ï¼ä»¥æ±å¾æ¯detcæ
-ivtcæ´ç¨³å®ã
-ä¸ivtcç¸ä¼¼ï¼pullupæ¯æ ç¶æçï¼è¿æºäºå®ä¸é宿«æåºä»¥è¯å«è¦å¹é
çå
容ç¶
-åéå¡éè¡æ«æç帧ã
-å®ä»å¤äºå¼åä¹ä¸ï¼ä½äººä»¬ç¸ä¿¡å®æ¯ç¸å½ç²¾ç¡®çã
-.RSs
-.IPs "jl, jr, jt, and jb"
-è¿äºé项ç¨äºè®¾ç½®å¾åç左边ãå³è¾¹ãä¸è¾¹åä¸è¾¹åæå¤å°
-âåå¾ä¿¡æ¯âè¦å¿½ç¥ã
-å·¦/\:å³ä¸¤è¾¹æ¯ä»¥8åç´ ä¸ºä¸ä¸ªåå
ï¼èä¸/\:ä¸ä¸¤è¾¹æ¯ä»¥2ä¸ªæ«æè¡ä¸ºä¸ä¸ªåå
ã
-é»è®¤æ¯æ¯è¾¹åå8个åç´ ã
-.br
-.IPs "sb (strict breaks)"
-å°è¯¥é项设置为1å°åå°pullup产çå¶åæ§ä¸å¹é
å¸§çæºçï¼
-ä½å®ä¹å¯è½å¯¼è´é«å¨æç帧åºåä¸æå¤ªå¤ç帧被丢å¼ã
-ç¸åå°ï¼å°å®è®¾ç½®ä¸º\-1å°ä½¿pullupè½æ´å®¹æå°å¹é
æ«æåºã
-è¿è½å¸®å©å¤çé£äºå¨æ«æåºé´åå¨ä¸äºæ¨¡ç³ç¹æ§çè§é¢ï¼ä½ä¹å¯è½å¯¼è´è¾åºä¸
-åå¨éè¡æ«æç帧ã
-.br
-.IPs "mp (metric plane)"
-è¿ä¸ªé项å¯ä»¥è®¾ç½®æ1æ2以使ç¨è²åº¦å¹³é¢è䏿¯äº®åº¦å¹³
-颿¥è¿è¡pullupç计ç®ã
-è¿è½æé«å¤çæ¸
æ°æ¥æºæ¶ç精确度ï¼ä½æ´å¯è½çæ¯éä½ç²¾ç¡®åº¦ï¼å°¤å
¶æ¯åå¨
-è²åº¦åªå£°ï¼å½©è¹æåºï¼æç°åº¦è§é¢çåºåã
-å°mp设置æè²åº¦å¹³é¢ç主è¦ç®çæ¯éä½CPUè´è·ï¼å¹¶ä½¿pullup卿
¢éæºå¨ä¸å¯ç¨ã
-.REss
-.RS
-.sp 1
-.I 注æï¼
-å¨ç¼ç ä¸ä¸å®è¦å¨pullupåè·ä¸softskip滤é以ä¿è¯pullupè½è¯»åææå¸§ã
-ç±äºç¼è§£ç å¨/\:滤éå±å¨è®¾è®¡ä¸çå±éï¼ä¸è¿æ ·åä¼å¯¼è´è¾åºä¸æ£ç¡®ï¼å¹¶ä¸å¾
-å¾ç¨åºä¼å´©æºã
-.REss
-.
-.TP
-.B filmdint[=options]
-é转çµè§çµå½±æ¨¡å¼æ»¤éï¼ä¸ä¸é¢çpullup滤éç¸ä¼¼ã
-å®è¢«è®¾è®¡æç¨äºå¤çä»»æä¸æç¹å¾ï¼å
æ¬æ··åå软æ§å硬æ§ççµè§çµå½±æ¨¡å¼ï¼
-以åæä¾å¯¹äºé£äºä¼æ
¢äºæå¿«äºå
¶å¨çµè§ä¸çåå§å¸§ççå½±ççæéæ¯æã
-åªæäº®åº¦å¹³é¢ç¨ä»¥å¯»æ¾å¸§åå¼çä½ç½®ã
-妿ä¸ä¸ªæ«æåºæ²¡æå¹é
ä¸ç¹å¾ï¼å就使ç¨ç®åç线æ§ä¼°è®¡æ¹å¼è§£é¤å
¶
-éè¡æ«æç»æã
-å¦ææ¥æºæ¯MPEG-2æ ¼å¼ï¼é£ä¹è¿ä¸ªæ»¤éå¿
é¡»æ¯ç¬¬ä¸ä¸ªæ»¤é以便è½å¤è®¿é®
-MPEG-2è§£ç å¨è®¾ç½®çæ«æåºæ å¿ã
-æ ¹æ®æ¥æºMPEGçä¸åï¼ä½ å¯è½ä¸éé纳è¿ä¸ªå»ºè®®ï¼åªè¦ä½ ä¸çå°è®¸å¤âä¸ååºå
-æ«æâçè¦åã
-ä¸è®¾é项æ¶ï¼å®åªæ¯åæ®éçé转çµè§çµå½±æ¨¡å¼å¤çï¼å¹¶ä¸åºå½ä¸
-mencoder \-fps 30000/1001 \-ofps 24000/1001ä¸å使ç¨ã
-å½è¿ä¸ªæ»¤éç¨äº MPlayer æ¶ï¼å®å°å¯¼è´ææ¾æ¶å¸§éçä¸åè¡¡ï¼ä½å¨é常æ
åµä¸æ¯
-使ç¨pp=lbæä¸è¿è¡åéè¡æ«ææä½è¦å¥½ã
-å¤ä¸ªé项å¯ä»¥ä½¿ç¨/.åé弿å®ã
-.RSs
-.IPs crop=<w>:<h>:<x>:<y>
-å°±åcrop滤é䏿 ·ï¼ä½æ´å¿«èä¸è½ç¨äºæ··åå硬æ§å软æ§çµè§çµå½±æ¨¡å¼çå
容ï¼
-以åyä¸ç¨4çåæ°çæ
å½¢ã
-妿xæyç设置å°éè¦ä»è²åº¦å¹³é¢ä¸åé¤é¨ååç´ æ¶ï¼åé¤åºåå°å»¶ä¼¸ã
-è¿é常æå³çxåyå¿
é¡»æ¯å¶æ°ã
-.IPs io=<ifps>:<ofps>
-å¯¹äºæ¯ifps个è¾å
¥å¸§ï¼æ»¤éå°è¾åºofps个帧ã
-ifps/\:ofpsçæ¯çåºå½ä¸\-fps/\-ofpsçæ¯çç¸å¹é
ã
-è¿å¯ä»¥ç¨äºè¿æ»¤é£äºå¨çµè§ä¸ä»¥ä¸ååå§å¸§ççå¸§çææ¾çå½±çã
-.IPs luma_only=<n>
-妿n为éé¶å¼ï¼è²åº¦å¹³é¢å°±åå°ä¸å¨å°è¾åºã
-è¿éç¨äºYV12éæ ·ççµè§ï¼è¿ç§æ¹å¼ä¸¢å¼å
¶ä¸ä¸ä¸ªè²åº¦æ«æåºã
-.IPs mmx2=<n>
-å¨x86ç³»ç»ä¸ï¼å¦æn=1ï¼å使ç¨MMX2ä¼åç彿°ï¼å¦æn=2ï¼å使ç¨3DNow!
-ä¼åç彿°ï¼å¦åä½¿ç¨æ®éçCè¯å¥ã
-妿䏿å®è¿ä¸ªé项ï¼åå°èªå¨ä¾¦æµMMX2å3DNow!ï¼ä½¿ç¨è¿ä¸ªé项éåèªå¨ä¾¦æµ
-çç»æã
-.IPs fast=<n>
-nå¼è¾å¤§æ¶è½æé«æ»¤éçè¿è¡é度ä½çºç²äºç²¾ç¡®æ§ã
-é»è®¤å¼æ¯n=3ã
-妿næ¯å¥æ°ï¼MPEGçREPEAT_FIRST_FIELDæ å¿ä½å·²æ è®°ç帧åç´§è·çä¸å¸§å°è¢«
-è®¤ä½æ¯éè¡æ«æçï¼äºæ¯æ»¤éå°ä¸å¨å¤ç软æ§çµè§çµå½±æ¨¡å¼çMPEG-2å
容ä¸è±ä»»
-使¶é´äºã
-妿MMX2æ3DNow!å¯ç¨ï¼é£ä¹è¿å°±æ¯è¯¥æ å¿ä½çå¯ä¸ä½ç¨ã
-卿²¡æMMX2å3DNow!çæ
åµä¸ï¼å¦æn=0æ1ï¼é£ä¹å°ä½¿ç¨ä¸n=2æ3çæ¶ååæ ·ç
-è®¡ç®æ¹å¼ã
-妿n=2æ3ï¼ç¨äºå¯»æ¾å¸§é´æçäº®åº¦é¶æ°å¼å°±ä»256éä½ä¸º128ï¼è¿ä½¿æ»¤éè¿è¡æ´
-å¿«èä¸æå¤±å¤ªå¤ç精确æ§ã
-妿n=4æ5ï¼å°ä½¿ç¨ä¸ä¸ªæ´å¿«çï¼ä½ç¸è¾ä¹ä¸å¾ä¸ç²¾ç¡®çæµéæ 忥坻æ¾å¸§é´
-æï¼è¿æ ·åä¼å¢å å°åç´æ¹åä¸ç»èå¾å¤çå¾å误æµä¸ºéè¡æ«æå
容çå¯è½æ§ã
-.IPs verbose=<n>
-妿næ¯éé¶å¼ï¼åæå°åºç¨äºæ¯ä¸ªå¸§çå
·ä½æµéæ åã
-éç¨äºç¨åºè°è¯ã
-.IPs dint_thres=<n>
-åéè¡æ«æçéå¼ã
-ç¨äºè§£é¤æªå¹é
ä»»ä½ç¹å¾ç帧çéè¡æ«æç»æçè¿ç¨ä¸ã
-éå¼å¤§æå³çè¾å°ç帧ç»è¿åéè¡æ«æå¤çï¼è¦å®å
¨å
³éåéè¡æ«æå¤çå
-使ç¨n=256ã
-é»è®¤å¼ä¸ºn=8ã
-.IPs comb_thres=<n>
-æ¯è¾ä¸åæ«æåºåä¸åæ«æåºçéå¼ã
-é»è®¤å¼ä¸º128ã
-.IPs diff_thres=<n>
-ç¨äºä¾¦æµæ«æåºçç¬æ¶ååçéå¼ã
-é»è®¤å¼ä¸º128ã
-.IPs sad_thres=<n>
-å计ç»å¯¹å·®çéå¼ï¼é»è®¤ä¸º64ã
-.RE
-.
-.TP
-.B softpulldown
-è¿ä¸ªæ»¤éåªè½ç¨äºMEncoderå¹¶ä¸ä¾èµäºç¨äºè½¯æ§3:2䏿ï¼è½¯æ§çµè§çµå½±æ¨¡å¼ï¼ç
-MPEG-2æ å¿ä½ã
-å¦æä½ æ³å¯¹å软æ§çµè§æ¨¡å¼çå½±ç使ç¨ivtcædetc滤éï¼é£ä¹å°è¯¥æ»¤éæå
¥å°å®ä»¬ä¹å
-è½ä½¿ä»ä»¬æ´ç¨³å®ã
-.
-.TP
-.B divtc[=options]
-é转éè¡æ«æè§é¢ççµè§çµå½±æ¨¡å¼ã
-妿3:2䏿çµè§çµå½±æ¨¡å¼çè§é¢ä¸¢å¤±äºå
¶ä¸çä¸ä¸ªæ«æåºï¼æå¨åéè¡æ«ææ¶ä½¿ç¨äº
-ä¿çä¸ä¸ªæ«æåºèæå¼è®¡ç®å¦ä¸ä¸ªçæ¹æ³ï¼é£ä¹è¾åºçæ¯ä¸ä¸ªæå¨çè§é¢ï¼å
¶ä¸çæ¯å
-个帧åæä¸ä¸ªæ¯éå¤ç帧ã
-该滤éç®çæ¯æ¾å°å¹¶ä¸¢å¼è¿äºéå¤ç帧ï¼å¹¶è¿å忥çå½±ç帧çã
-å¨ä½¿ç¨è¿ä¸ªæ»¤éæ¶ï¼ä½ å¿
须设å°\-ofpsæå®ä¸ºè¾å
¥è§é¢æä»¶å¸§çç4/5
-å¹¶å°softskipæ¾å¨æ»¤éé¾ä¸ä½äºå
¶åçå°æ¹ï¼ä»¥ä¿è¯divtcè½è¯»åææ
-ç帧ã
-æä¸¤ç§ä¸åçæ¨¡å¼å¯éï¼
-ä¸é¶æ®µæ¨¡å¼æ¯é»è®¤ç模å¼ï¼å¹¶ä¸ç´æ¥å°±è½ä½¿ç¨ï¼ä½ç¼ºç¹æ¯ä»»ä½çµ
-è§å¾å模å¼ä¸ç¸ä½çååï¼ä¸¢å¸§æç¼è¾é误ï¼å°å¯¼è´ææ¶çç»é¢
-æå¨ç´è³æ»¤ééæ°æ¢å¤åæ¥ã
-äºé¶æ®µæ¨¡å¼éè¿äºå
åææ´ä¸ªè§é¢æ¥é¿å
è¿ç§é®é¢ï¼æä»¥å®è½äº
-å
ç¥éç¸ä½çååå¹¶è½å¨åç¡®çä½ç½®æ¢å¤åæ¥ã
-è¿ä¸¤ä¸ªé¶æ®µ
-.B ä¸
-对åºäºç¬¬ä¸é¶æ®µå第äºé¶æ®µçç¼ç å¤çè¿ç¨ã
-ä½ å¿
é¡»å¨çæ£ç¼ç èéæ¾åºå¤çåçè§é¢ä¹åï¼ä½¿ç¨divtcç第ä¸
-é¶æ®µé
ç½®è¿è¡é¢å¤çä¸ä¸ªé¶æ®µã
-使ç¨\-nosound \-ovc raw \-o /dev/nullæ¥é¿å
å¨è¿ä¸é¶æ®µæµªè´¹
-CPUçè¿ç®è½åã
-ä½ å¯ä»¥å¨divtcåå ä¸è¯¸å¦crop=2:2:0:0ä¹ç±»çä¸è¥¿ä»¥è¿è¡
-徿´å¿«ã
-ç¶å使ç¨divtc第äºé¶æ®µé
置以è¿è¡çæ£çç¼ç ã
-å¦æä½ ä½¿ç¨å¤é¶æ®µç¼ç å¨ç¼ç ï¼é£ä¹å¨ææé¶æ®µåè¦
-使ç¨divtc第äºé¶æ®µçé
ç½®ã
-ç¸å
³é项æï¼
-.RSs
-.IPs pass=1|2
-使ç¨äºé¶æ®µæ¨¡å¼ã
-.IPs file=<filename>
-设置第äºé¶æ®µä½¿ç¨çæ¥å¿çæä»¶åï¼é»è®¤å¼ï¼âframediff.logâï¼ã
-.IPs threshold=<value>
-设置滤é认为æä¸ªç¹å¾æ¯çµè§çµå½±æ¨¡å¼ç¹å¾æ¶ï¼è¯¥ç¹å¾æå¿
须达å°çæå°å¼ºåº¦ï¼é»è®¤
-å¼ï¼0.5ï¼ã
-è¿ç¨äºé¿å
ä»è§é¢ä¸å¾ææå¾éæ¢çé¨åéé误å°è¯å«åºä¸äºç¹å¾ã
-.IPs window=<numframes>
-设置æå¯»ç¹å¾æ¶éè¦å¯çå¤å°ä¸ªæè¿è¯»å°ç帧ï¼é»è®¤å¼ï¼30ï¼ã
-è¾é¿çå¯çèå´è½å¢å ç¹å¾æå¯»çå¯é æ§ï¼ä½è¾ççå¯çèå´è½æ¹å对äºçµè§å¾
-忍¡å¼ä¸ç¸ä½ååçååºæ¶é´ã
-该é项åªå¯¹ä¸é¶æ®µæ¨¡å¼æä½ç¨ã
-å½åï¼äºé¶æ®µæ¨¡å¼ä½¿ç¨åºå®çå¯çèå´ï¼è¯¥èå´å
å«äºè¿å»åå°æ¥è¾å
¥ç帧ã
-.IPs phase=0|1|2|3|4
-设置ä¸é¶æ®µæ¨¡å¼ä¸çµè§çµå½±æ¨¡å¼çåå§ç¸ä½ï¼é»è®¤å¼ï¼0ï¼ã
-äºé¶æ®µæ¨¡å¼è½è¯»åå°æ¥è¾å
¥çå¸§ï¼æä»¥å®è½å¤å¨ä¸å¼å§å°±ä½¿ç¨æ£ç¡®çç¸ä½å¼ï¼ä½
-ä¸é¶æ®µæ¨¡å¼åªè½é çæµã
-å½å®æ¾å°æ£å¸¸çç¸ä½æ¶å®è½è·ä¸è¿ä¸ªç¸ä½ï¼ä½è¯¥é项è½ç¨æ¥å¼å§æ¶å¯è½åºç°çæå¨ã
-äºé¶æ®µæ¨¡å¼ç第ä¸é¶æ®µä¹ä½¿ç¨è¯¥éé¡¹ï¼æä»¥å¦æä½ ä¿å第ä¸é¶æ®µçè¾åºå
容ï¼ä½ å°±ä¼å¾
-å°æç»çç¸ä½å¼è·è¸ªç»æã
-.IPs deghost=<value>
-设置å»é¬¼å½±å¤ççéå¼ï¼0\-255ç¨äºä¸é¶æ®µæ¨¡å¼ï¼\-255\-255ç¨äºäºé¶æ®µæ¨¡å¼ï¼é»è®¤0ï¼ã
-å¦æä¸ºéé¶å¼ï¼å使ç¨å»é¬¼å½±æ¨¡å¼ã
-该é项ç¨äºé£äºéè¿å°æ«æåºæ··åå¨ä¸èµ·è䏿¯ä¸¢å¼å
¶ä¸ä¸ä¸ªåºçæ¹å¼è§£é¤
-éè¡æ«æçè§é¢ã
-å»é¬¼å½±å¤çä¼å¢å¼ºæ··åå帧ä¸çå缩æä¼¤ï¼æä»¥è¯¥åæ°å¼ä½ä¸ºä¸ä¸ªéå¼ï¼ç¨ä»¥
-å°é£äºå¨å»é¬¼å½±è¿ç¨ä¸ä¸åä¸å¸§çç¸å·®å¼å°äºä¸ä¸ªç¹å®å¼çåç´ æé¤å¨å¤ã
-å¦æä½¿ç¨äºäºé¶æ®µæ¨¡å¼ï¼å¯ä»¥ç¨è´æ°å¼ä½¿æ»¤éå¨ç¬¬äºé¶æ®µå¼å§æ¶åææ´ä¸ªè§é¢ï¼ä»¥
-ç¡®å®å®æ¯å¦éè¦å»é¬¼å½±å¤çï¼ç¶åè¦ä¹éæ©ä¸ä¸ªé¶å¼ï¼è¦ä¹éæ©è¯¥å¼çç»å¯¹å¼ä½
-为å»é¬¼å½±çåæ°ã
-åºå°è¯¥é项ç¨äºç¬¬äºé¶æ®µï¼è¿ä¸ç¨äºç¬¬ä¸é¶æ®µæ²¡æå·®å«
-.RE
-.
-.TP
-.B phase[=t|b|p|a|u|T|B|A|U][:v]
-å°éè¡æ«æçè§é¢å»¶è¿ä¸ä¸ªæ«æåºçæ¶é´ï¼ä»¥æ¹åæ«æåºç次åºã
-å
¶ç®çæ¯ä¿®å¤é£äºå¨å½åå¸¦ä¼ è¾è³çµèè§é¢çææè¿ç¨ä¸ä½¿ç¨äºç¸åçæ«æåºæ¬¡
-åºçPALå½±çã
-é项æï¼
-.RSs
-.IPs t
-æææ¶æ«æåºæ¬¡åºä¸ºä¸ååºå
è¾å
¥ï¼ä¼ è¾æ¶ä¸ºä¸ååºå
è¾å
¥ã
-滤éå°å»¶è¿ä¸ååºã
-.IPs b
-æææ¶æ«æåºæ¬¡åºä¸ºä¸ååºå
è¾å
¥ï¼ä¼ è¾æ¶ä¸ºä¸ååºå
è¾å
¥ã
-滤éå°å»¶è¿ä¸ååºã
-.IPs p
-ææåä¼ è¾æ¶ä½¿ç¨åæ ·çæ«æåºæ¬¡åºã
-该模å¼åªæ¯ä¸ºäºå¨å
¶å®é项ç使ç¨è¯´æä¸å¼ç¨èåå¨çï¼ä½å¦æä½ ççéäºå®ï¼é£ä¹æ»¤
-é伿ç
§æ¨çæ¨æä¸åä»»ä½äºæ
ã;-)
-.IPs a
-æææ¶ç次åºå°èªå¨éè¿æ«æåºçæ å¿ä½æ¥å¤æï¼ä¼ è¾æ¶çä¸æææ¶çç¸åã
-æ»¤éæ ¹æ®æ«æåºçæ å¿ä½ä¸ºæ¯ä¸ä¸ªå¸§å¨tåb两个模å¼ä¸éæ©ä¸ä¸ªã
-å¦ææ²¡æä»»ä½æ«æåºçä¿¡æ¯ï¼é£ä¹è¯¥æ¨¡å¼å°±ä¸u䏿 ·äºã
-.IPs u
-æææ¶çæ¬¡åºæªç¥æä¸æååï¼ä¼ è¾æ¶çä¸æææ¶çç¸åã
-滤ééè¿åæå¾åå¹¶éæ©è½å¨æ«æåºé´äº§çæä½³å¹é
çé£ä¸ªå鿍¡å¼æ¥ç»æ¯ä¸ä¸ªå¸§
-å¨tåb两个模å¼ä¸éæ©ä¸ä¸ªã
-.IPs T
-æææ¶ä¸ºä¸ååºå
è¾å
¥ï¼ä¼ è¾æ¶æªç¥æä¸æååã
-滤ééè¿åæå¾åå¨tåp模å¼ä¸éæ©ä¸ä¸ªã
-.IPs B
-æææ¶ä¸ºä¸ååºå
è¾å
¥ï¼ä¼ è¾æ¶æªç¥æä¸æååã
-滤ééè¿åæå¾åå¨båp模å¼ä¸éæ©ä¸ä¸ªã
-.IPs A
-æææ¶ç次åºç±æ«æåºæ å¿ä½å¤æï¼ä¼ è¾æ¶çæªç¥æä¸æååã
-滤ééè¿æ«æåºæ å¿ä½åå¾ååæä»tãbåpä¸éæ©ä¸ä¸ªæ¨¡å¼ã
-å¦ææ²¡æä»»ä½æ«æåºä¿¡æ¯ï¼å该模å¼ä¸U䏿 ·ã
-è¿æ¯é»è®¤ç模å¼ã
-.IPs U
-æææ¶åä¼ è¾æ¶ç次åºåæªç¥æä¸æååã
-滤éåªéè¿å¾ååæä»¥ä»tãbåpä¸éæ©ä¸ä¸ªæ¨¡å¼ã
-.IPs v
-ç»èä¿¡æ¯å¤çã
-æå°æ¯ä¸ªå¸§æéç¨ç模å¼ä»¥åå¨tãbåpä¸ç§æ¨¡å¼ä¸çæ«æåºé´ç忹差å¼ã
-.RE
-.
-.TP
-.B telecine[=start]
-åºç¨3:2âçµè§çµå½±æ¨¡å¼âå¤ç以使帧çå¢å 20%ã
-该é项æå¯è½æ æ³ç¨äºMPlayerï¼ä½å®å¯ä»¥ä»¥'mencoder \-fps 30000/1001 \-ofps
- 30000/1001 \-vf telecine'å½¢å¼ä½¿ç¨ã
-å
¶ä¸ç两个fpsé项齿¯å¿
éçï¼
-ï¼å¦æå®ä»¬ä¸æ£ç¡®ï¼å°±æ æ³A/V忥ãï¼
-å¯éçstartåæ°åè¯æ»¤éä»çµè§çµå½±æ¨¡å¼ç¹å¾ä¸çåªéå¼å§æ§è¡ï¼0\-3ï¼ã
-.
-.TP
-.B tinterlace[=mode]
-ç¬æ¶æ«æåºéè¡æ«æåââå°ä¸å¯¹å¯¹å¸§å并为ä¸ä¸ªä¸ªéè¡æ«æç帧ï¼ä½¿å¸§çååã
-å¶æ°å¸§ç§»è³ä¸åæ«æåºï¼å¥æ°å¸§ç§»è³ä¸åæ«æåºã
-该滤éå¯ç¨äºå
ååè½¬ï¼æ¨¡å¼0ä¸ï¼tfields滤éçææã
-å¯ç¨æ¨¡å¼æï¼
-.PD 0
-.RSs
-.IPs 0
-å°å¥æ°å¸§ç§»è³ä¸ååºï¼å¶æ°å¸§ç§»è³ä¸ååºï¼ä»¥å¨åé帧çä¸äº§çä¸ä¸ªå®å
¨é«åº¦ç帧ã
-.IPs 1
-åªè¾åºå¥æ°å¸§ï¼ä¸¢å¼å¶æ°å¸§ï¼å¸§çé«åº¦ä¸åã
-.IPs 2
-åªè¾åºå¶æ°å¸§ï¼ä¸¢å¼å¥æ°å¸§ï¼å¸§çé«åº¦ä¸åã
-.IPs 3
-å°æ¯ä¸ªå¸§æ©å±è³å®å
¨é«åº¦ï¼ä½æ¯ä¸¤ä¸ªæ«æè¡é´æå
¥é»è²çè¡ï¼å¸§éä¸åã
-.IPs 4
-å°å¶æ°å¸§çå¶æ°æ«æè¡ä¸å¥æ°å¸§ç奿°æ«æè¡äº¤åå¨ä¸èµ·ã
-帧é«åº¦ä¸åï¼å¸§éååã
-.RE
-.PD 1
-.
-.TP
-.B tfields[=mode[:field_dominance]]
-ç¬æ¶æ«æåºå离ââå°æ«æåºå离æå¸§ï¼è¾åºå¸§çå åã
-å°±å telecine 滤éï¼tfields å¯è½æ æ³æ£å¸¸å·¥ä½ï¼é¤éç¨äº MEncoderï¼å¹¶ä¸ \-fps
-å \-ofps 设置ææéçï¼å åçï¼å¸§ççæ
åµä¸ï¼
-.PD 0
-.RSs
-.IPs <mode>
-0ï¼ä¿ææ«æåºä¸åï¼ä¼äº§ç跳帧/\:éªçï¼ã
-.br
-1ï¼æå¼æ¢å¤ç¼ºå°çæ«æè¡ãï¼æç¨çç®æ³å¯è½ä¸å¤ªå¥½ãï¼
-.br
-2ï¼ä½¿ç¨çº¿æ§æå¼æ³ä»¥1/4åç´ ç²¾åº¦è½¬æ¢æ«æåºï¼ä¸äº§ç跳帧ï¼ã
-.br
-4ï¼ä½¿ç¨4tap滤é以1/4åç´ ç²¾åº¦è½¬æ¢æ«æåºï¼è¾é«è´¨éï¼ï¼é»è®¤æ¹å¼ï¼ã
-.IPs <field_dominance>\ (䏿¨è使ç¨ï¼
-\-1ï¼èªå¨ï¼é»è®¤å¼ï¼
-åªæå½è§£ç å¨è¾åºéå½çä¿¡æ¯å¹¶ä¸å¨æ»¤éé¾ä¸tfieldsä¹å没æå
¶å®ç滤é丢
-å¼è¿äºä¿¡æ¯æ¶æè½å·¥ä½ï¼å¦å该å¼è®¾å为0ï¼ä¸åæ«æåºå
è¾å
¥ï¼ã
-.br
-0ï¼ä¸åæ«æåºå
è¾å
¥
-.br
-1ï¼ä¸åæ«æåºå
è¾å
¥
-.br
-.I 注æï¼
-该é项ç¸å½å¯è½å¨ä»¥åççéä¸å»é¤ã
-使ç¨\-field\-dominance代æ¿å®ã
-.RE
-.PD 1
-.
-.TP
-.B yadif=[mode[:field_dominance]]
-åä¸ä¸ªåéè¡æ«æç滤é
-.PD 0
-.RSs
-.IPs <mode>
-0ï¼æ¯åå¨ä¸å¸§è¾åºä¸å¸§ã
-.br
-1ï¼æ¯åå¨ä¸ä¸ªæ«æåºè¾åºä¸å¸§ã
-.br
-2ï¼ä¸0ç¸ä¼¼ä½è·³è¿ç©ºé´éè¡æ«ææ£æ¥ã
-.br
-3ï¼ä¸1ç¸ä¼¼ä½è·³è¿ç©ºé´éè¡æ«ææ£æ¥ã
-.IPs <field_dominance>\ ï¼ä¸æ¨è使ç¨ï¼
-ä¸tfieldsè¿è¡æ¹å¼ç¸ä¼¼ã
-.br
-.I 注æï¼
-该é项ç¸å½å¯è½å¨ä»¥åççæ¬ä¸å»é¤ã
-使ç¨\-field\-dominanceæ¿ä»£å®ã
-.RE
-.PD 1
-.
-.TP
-.B mcdeint=[mode[:parity[:qp]]]
-å
å«è¿å¨è¡¥å¿çåéè¡æ«ææ»¤éã
-å®è¦æ±æ¯å¸§æä¸ä¸ªæ«æåºä½ä¸ºè¾å
¥å¹¶ä¸å¿
é¡»ä¸tfields=1æyadif=1/3æä¸ä¹ç
-ä»·çæ»¤éä¸èµ·ä½¿ç¨ã
-.PD 0
-.RSs
-.IPs <mode>
-0ï¼å¿«é
-.br
-1ï¼ä¸ç
-.br
-2ï¼æ
¢éï¼è¿ä»£å¼çè¿å¨ä¼°è®¡
-.br
-3ï¼æ´æ
¢ï¼ä¸æ¨¡å¼2å¤å åç
§å¤ä¸ªå¸§çæ¹å¼ç¸ä¼¼
-.IPs <parity>
-0æ1ç¨äºéæ©ä½¿ç¨åªä¸ªæ«æåºï¼æ³¨æï¼ç®åè¿ä¸è½èªå¨ä¾¦æµï¼ï¼ã
-.IPs "<qp>\ "
-è¾é«çå¼è½äº§çè¾å¹³æ»çè¿å¨ç¢éåºï¼ä½å个ç¢éå¾å°ä¼åç
-è¾å°ã
-.RE
-.PD 1
-.
-.TP
-.B boxblur=radius:power[:radius:power]
-çç¶æ¨¡ç³
-.PD 0
-.RSs
-.IPs <radius>
-模ç³è¿æ»¤ç强度
-.IPs <power>
-åºç¨è¿æ»¤çæ°é
-.RE
-.PD 1
-.
-.TP
-.B sab=radius:pf:colorDiff[:radius:pf:colorDiff]
-èªéåå½¢ç¶ç模ç³
-.PD 0
-.RSs
-.IPs <radius>
-模ç³è¿æ»¤ç强度ï¼~0.1\-4.0ï¼ï¼å¼è¶å¤§è¶æ
¢ï¼
-.IPs "<pf>\ "
-é¢è¿æ»¤å¼ºåº¦ï¼~0.1\-2.0ï¼
-.IPs <colorDiff>
-åç´ é´ä¼è¢«è®¤åçæå¤§å·®å¼ï¼~0.1\-100.0ï¼
-.RE
-.PD 1
-.
-.TP
-.B smartblur=radius:strength:threshold[:radius:strength:threshold]
-æºè½æ¨¡ç³
-.PD 0
-.RSs
-.IPs <radius>
-模ç³è¿æ»¤ç强度ï¼~0.1\-5.0ï¼ï¼å¼è¶å¤§è¶æ
¢ï¼
-.IPs <strength>
-模ç³åï¼0.0\-1.0ï¼æéå©åï¼\-1.0\-0.0ï¼
-.IPs <threshold>
-è¿æ»¤å
¨é¨åºåï¼0ï¼ï¼è¿æ»¤å¹³å¦åºåï¼0\-30ï¼æè¿æ»¤è¾¹ç¼ï¼\-30\-0ï¼
-.RE
-.PD 1
-.
-.TP
-.B perspective=x0:y0:x1:y1:x2:y2:x3:y3:t
-ä¿®æ£æ²¡ææå¶å¾åç´äºå±å¹çå½±çè§è§ã
-.PD 0
-.RSs
-.IPs <x0>,<y0>,...
-å·¦ä¸è§ãå³ä¸è§ãå·¦ä¸è§ãå³ä¸è§çåæ
-.IPs "<t>\ \ "
-线æ§ï¼0ï¼æç«æ¹å¼ï¼1ï¼ééæ ·
-.RE
-.PD 1
-.
-.TP
-.B "2xsai\ \ "
-使ç¨2x缩æ¾åæå¼ç®æ³ç¼©æ¾å¹¶å¹³æ»å¾åã
-.
-.TP
-.B "1bpp\ \ \ "
-YUV/\:BGR 8/\:15/\:16/\:32转æ¢ä¸ç1bppæ å°ä½å¾
-.
-.TP
-.B down3dright[=lines]
-é设ç«ä½å¾åçä½ç½®å大å°ã
-å°ä¸¤ä¸ªç«ä½æ«æåºé½æ½ååºæ¥å¹¶å°å
¶ç´§é çææ¾ï¼ä»¥å°å®ä»¬ç¼©æ¾è³ä¿æåæ
-å½±ç宽髿¯ç大å°ã
-.PD 0
-.RSs
-.IPs <lines>
-è¦ä»å¾åçä¸é´éåçæ«æè¡çæ°éï¼é»è®¤å¼ï¼12ï¼
-.RE
-.PD 1
-.
-.TP
-.B bmovl=hidden:opaque:fifo
-è¿ä¸ªä½å¾è¦ç滤éä»FIFO管éä¸è¯»åä½å¾å¹¶å°å®ä»¬æ¾ç¤ºå¨å½±çç䏿¹ï¼ä»¥æ¯ææ
-äºå¯¹äºå¾åç忢ã
-å¦åè§TOOLS/bmovl-test.c以è·åä¸ä¸ªå°åçbmovlæµè¯ç¨åºã
-.PD 0
-.RSs
-.IPs <hidden>
-设置âhiddenâæ å¿ä½çé»è®¤å¼ï¼0=å¯è§ï¼1=ä¸å¯è§ï¼ã
-.IPs <opaque>
-设置âopaqueâæ å¿ä½çé»è®¤å¼ï¼0=éæï¼1=ä¸éæï¼ã
-.IPs <fifo>
-FIFO管éï¼è¿æ¥âmplayer \-vf bmovlâå主æ§ç¨åºçå½å管éï¼çè·¯å¾/\:æä»¶å
-.RE
-.PD 1
-.sp 1
-.RS
-FIFO管éä¸ä½¿ç¨çå½ä»¤æï¼
-.RE
-.PD 0
-.RSs
-.IPs "RGBA32 width height xpos ypos alpha clear"
-å
¶ååºç°çæ¯width*height*4åè大å°çåå§RGBA32æ°æ®ã
-.IPs "ABGR32 width height xpos ypos alpha clear"
-å
¶ååºç°çæ¯width*height*4åè大å°çåå§ABGR32æ°æ®ã
-.IPs "RGB24 width height xpos ypos alpha clear"
-å
¶ååºç°çæ¯width*height*3åè大å°çåå§RGB24æ°æ®ã
-.IPs "BGR24 width height xpos ypos alpha clear"
-å
¶ååºç°çæ¯width*height*3åè大å°çåå§BGR24æ°æ®ã
-.IPs "ALPHA width height xpos ypos alpha"
-æ´æ¹æå®åºåçé¿å°æ³éæåº¦ã
-.IPs "CLEAR width height xpos ypos"
-æ¸
空æä¸ªåºåã
-.IPs OPAQUE
-ç¦ç¨ä¸åé¿å°æ³éæã
-è¦å次å¯ç¨ååéâALPHA 0 0 0 0 0â
-.IPs "HIDE\ "
-éèä½å¾ã
-.IPs "SHOW\ "
-æ¾ç¤ºä½å¾ã
-.RE
-.PD 1
-.sp 1
-.RS
-åæ°æï¼
-.RE
-.PD 0
-.RSs
-.IPs "<width>, <height>"
-å¾å/åºåç大å°
-.IPs "<xpos>, <ypos>"
-ä»x/yä½ç½®å¼å§ä½å¾æ··å
-.IPs <alpha>
-设置é¿å°æ³å·®å¼ã
-å¦æä½ å°è¯¥å¼è®¾ä¸º\-255ï¼ä½ å°±å¯ä»¥åéä¸ç³»åçé¿å°æ³å½ä»¤å°è¯¥åºå设置为\-225ã\-200ã
-\-175çç以å¾å°ä¸ä¸ªä¸éçæ¸æ¸åºç°çææï¼;)
-.RSss
-0ï¼ ä¿æåæ¥çå¼
-.br
-255ï¼ ä½¿ææçä½å¾ä¸éæã
-.br
-\-255ï¼ä½¿ææçä½å¾éæã
-.REss
-.IPs <clear>
-å¨ä½å¾æ··å忏
空帧ç¼å²ã
-.RSss
-0ï¼å¨åæ¥çå¾åä¸è¿è¡ä½å¾æ··åï¼äºæ¯ä½ ä¸å¿
æ¯å½å±å¹ä¸çä¸å°é¨åæ´æ°æ¶å°±åé1.8MB
-çRGB32æ°æ®ã
-.br
-1ï¼æ¸
空å¾å
-.REss
-.RE
-.PD 1
-.
-.TP
-.B framestep=I|[i]step
-ä»
ä»
æ¯én个帧æåªå¯¹æ¯ä¸ªå
é¨åç
§å¸§ï¼å
³é®å¸§ï¼è¿è¡æ¸²æã
-.sp 1
-å¦æä½ ä½¿ç¨Iï¼å¤§åï¼ä½ä¸ºåæ°è°ç¨è¿ä¸ªæ»¤éï¼é£ä¹
-.B åªæ
-å
³é®å¸§ææ¸²æã
-对äºDVDæ¥è¯´å®é常æå³çæ¯15/12ä¸ªå¸§ä¸ææä¸å¸§ï¼IBBPBBPBBPBBPBBï¼ï¼å¯¹äº
-AVIæ¥è¯´å®æå³çæ¯å½åºæ¯åæ¢æ¶ææ¯ékeyintå¼ï¼åè§\-lavcopts keyint= valueï¼
-ææå®æ°éç帧è¿åææä¸å¸§ã
-.sp 1
-彿¾å°å
³é®å¸§æ¶ï¼å°æå°ä¸ä¸ªâI!âå符串以åç´§æ¥ççä¸ä¸ªæ¢è¡ç¬¦ï¼ä»¥ç»æå½å
-MPlayer/\:MEncoderå¨å±å¹ä¸è¾åºçé£ä¸è¡ï¼å ä¸ºè¿æ®µä¿¡æ¯ä¸å
å«äºå
³é®å¸§çæ¶é´å¼
-ï¼ä»¥ç§è®¡ï¼ä»¥å帧ç¼å·ï¼ä½ å¯ä»¥å©ç¨è¿ä¸ä¿¡æ¯ååAVIãï¼ã
-.sp 1
-å¦æä½ ä½¿ç¨ä¸ä¸ªæ°å¼åæ°âstepâè°ç¨è¿ä¸ªæ»¤éï¼é£ä¹åªææ¯éâstepâ个帧è¿å
-ææä¸ä¸ªå¸§å¾å°æ¸²æã
-.sp 1
-å¦æä½ å¨æ°å¼åå ä¸ä¸ä¸ªâiâï¼å°åï¼ï¼é£ä¹å°è¾åºâI!âï¼å°±åI忰䏿 ·ï¼
-.sp 1
-å¦æä½ åªç»åºiï¼é£ä¹ä¸å¯¹å¸§åä»»ä½å¤çï¼åªæå°I!ã
-.
-.TP
-.B tile=xtiles:ytiles:output:start:delta
-å°ä¸ç³»åå¾åæ¼æå个大å¾åã
-å¦æä½ çç¥äºä¸ä¸ªåæ°æä½¿ç¨ä¸ä¸ªå°äº0çå¼ï¼åå°ä½¿ç¨é»è®¤å¼ã
-ä½ ä¹å¯ä»¥å¨ä½ 认为满æçæ
åµä¸åæ¢æå®åæ°ï¼... \-vf tile=10:5 ...ï¼ã
-å°ç¼©æ¾æ»¤éæ¾å¨tileä¹åå¾å¯è½æ¯ä¸ªå¥½ä¸»æ:-)
-.sp 1
-è¿äºåæ°æï¼
-.sp 1
-.PD 0
-.RSs
-.IPs <xtiles>
-xè½´æ¹åæ¼è´´çå¾åæ°ï¼é»è®¤å¼ï¼5ï¼
-.IPs <ytiles>
-yè½´æ¹åæ¼è´´çå¾åæ°ï¼é»è®¤å¼ï¼5ï¼
-.IPs <output>
-å½âoutputâ个帧å°è¾¾æ¶ï¼æ¸²ææ¼è´´çå¾åï¼è¿éâoutputâåºå½æ¯ä¸ä¸ªå°äº
-xtile * ytileçæ°ã
-æ¼è´´å¾åä¸ç¼ºå¤±çé¨åä¿ç为空ç½ã
-æ¯å¦ï¼ä½ å¯ä»¥æ¯50帧åå
¥ä¸ä¸ª8 * 7çæ¼å¸å¾åï¼è¿æ ·å°±å¨25fps䏿¯2ç§äº§çä¸å¹
-å¾åã
-.IPs <start>
-以åç´ ä¸ºåä½çå¤è¾¹æ¡çå度ï¼é»è®¤å¼ï¼2ï¼
-.IPs <delta>
-以åç´ ä¸ºåä½çå
è¾¹æ¡çå度ï¼é»è®¤å¼ï¼4ï¼
-.RE
-.PD 1
-.
-.TP
-.B delogo[=x:y:w:h:t]
-éè¿æ ¹æ®å¨å´çåç´ è¿è¡ç®åçæå¼æ¥å»é¤çµè§å°çå°æ ã
-åªé设置ä¸ä¸ªè½çä½å°æ çé¿æ¹å½¢åºåç¶åçç宿¶å¤±å°±è¡äºï¼ææ¶æ´é¾ç
-çç»é¢ä¼åºç°ââä½ è½å¾å°æææ¯è¯´ä¸åçï¼ã
-.PD 0
-.RSs
-.IPs <x>,<y>
-å°æ çå·¦ä¸è§
-.IPs <w>,<h>
-被æ¸
ççé¿æ¹å½¢åºåç宽度åé«åº¦
-.IPs <t>
-é¿æ¹å½¢åºåçæ¨¡ç³è¾¹ç¼ç宽度ï¼å¢å wåhç大å°ï¼ã
-å½è®¾ä¸º\-1æ¶ï¼å±å¹ä¸å°ç»åºä¸ä¸ªç»¿è²çé¿æ¹å½¢ä»¥æ¹ä¾¿å¯»æ¾åéçxãyãwã
-håæ°å¼ã
-.RE
-.PD 1
-.
-.TP
-.B remove\-logo=/path/to/logo_bitmap_file_name.pgm
-å»é¤çµè§å°å°æ ï¼ä½¿ç¨PGMæPPMå¾åæä»¶æ¥å¤æåªäºåç´ ç»æ
-äºå°æ ã
-å¾åæä»¶ç宽度åé«åº¦å¿
须䏿å¤ççè§é¢æµç宽é«ç¸
-å¹é
ã
-使ç¨è¿æ»¤å¾å以åä¸ä¸ªå¾ªç¯æ¨¡ç³ç®æ³å»é¤å°æ ã
-.RSs
-.IPs /path/to/logo_bitmap_file_name.pgm
-è¿æ»¤å¾åç[è·¯å¾] + æä»¶åã
-.RE
-.
-.TP
-.B zrmjpeg[=options]
-ä¸zr2è§é¢è¾åºè®¾å¤ä¸å使ç¨ç软件YV12è³MJPEGç¼ç å¨ã
-.RSs
-.IPs maxheight=<h>|maxwidth=<w>
-è¿äºé项zrééå¡è½å¤ççæå¤§å®½åº¦åé«åº¦ï¼MPlayerçæ»¤éå±å½å
-è¿ä¸è½æ¥è¯¢è¿äºä¿¡æ¯ï¼ã
-.IPs {dc10+,dc10,buz,lml33}-{PAL|NTSC}
-使ç¨è¿äºé项å°maxwidthåmaxheightèªå¨è®¾ç½®ä¸ºzrå¡/\:æ··åæ¨¡å¼æç¥çå¼ã
-æ¯å¦ï¼ææçé项æï¼dc10-PALåbuz-NTSCï¼é»è®¤å¼ï¼dc10+PALï¼
-.IPs color|bw
-éæ©å½©è²æé»ç½çç¼ç ã
-é»ç½ç¼ç è¾å¿«ã
-彩è²ç¼ç 为é»è®¤æ¹å¼ã
-.IPs hdec={1,2,4}
-æ°´å¹³æ¹åæ½åéæ ·å æ°1ã2æ4ã
-.IPs vdec={1,2,4}
-åç´æ¹åæ½åéæ ·å æ°1ã2æ4ã
-.IPs quality=1\-20
-设置JPEGå缩çè´¨é[æå¥½] 1 \- 20 [é常差]ã
-.IPs fd|nofd
-é»è®¤è®¾ç½®ä¸ï¼åªæå½Zoranééå¡çç¡¬ä»¶æ¯æMJPEGå¾åæ¾å¤§è³å
¶åæå¤§
-å°æ¶æè¿è¡æ½åéæ ·ã
-é项fdå½ä»¤æ»¤éæ»æ¯è¿è¡æè¯·æ±çæ½åéæ ·æä½ï¼ææå¾ç³ï¼ã
-.RE
-.
-.TP
-.B screenshot
-å
许使ç¨å¯ä»¥ä¸æé®ç»å®çè¢«å¨æ¨¡å¼ä¸çå½ä»¤ä»¥è·åå½±ççæªå±ã
-åè§è¢«å¨æ¨¡å¼çè¯´æææ¡£ä»¥å交äºå¼æ§å¶ä¸è以è·å详ç»ä¿¡æ¯ã
-å½å为âshotNNNN.pngâçæä»¶å°ä¿åå¨å·¥ä½ç®å½ä¸ï¼æç¨çç¼å·ä¸ºç¬¬ä¸ä¸ª
-å¯ä»¥ç¨çç¼å·ââä¸ä¼è¦ç任使件ã
-该滤éå¨ä¸ç¨æ¶ä¸å ç¨èµæºï¼å¹¶ä¸æ¯æä»»æè²å½©ç©ºé´ï¼æä»¥å°å
¶æ·»å è¿
-é
ç½®æä»¶ä¸å¾å®å
¨ã
-è¦ç¡®ä¿ screenshot æ»¤éæ¯å 卿æå
¶ææä½ 叿å½å¨æä¿åå¾åä¸ç滤éä¹åã
-ä¾å¦ï¼å¦æä½ 叿æªå±ä¸ä½ 卿¾ç¤ºå±ä¸çå°çå®å
¨ä¸è´ï¼åå®åºå½æ¯æåä¸ä¸ªæ»¤éã
-.RE
-.
-.TP
-.B "ass\ \ \ \ "
-å°SSA/ASSåå¹ç渲æç§»è³æ»¤éé¾ä¸çä»»æä¸ä¸ªä½ç½®ã
-åªéç¨äºæ\-asséé¡¹çæ¶åã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs "\-vf ass,screenshot"
-å°SSA/ASSçæ¸²æç§»è³screenshot滤éä¹åã
-è¿æ ·ååçæªå±å
容å°å
å«åå¹ã
-.RE
-.PD 1
-.
-.TP
-.B blackframe[=amount:threshold]
-侦æµåºï¼å ä¹ï¼å®å
¨é»è²ç帧ã
-å¯éç¨äºä¾¦æµå½±çç« èç忢æå¹¿åã
-è¾åºè¡ç±æä¾¦æµåºå¸§çç¼å·ãé»è²ç¨åº¦çç¾åæ¯ã帧çç±»ååæè¿éå°çå
³é®å¸§ç
-ç¼å·ç»æã
-.RSs
-.IPs <amount>
-æ°å¼ä½äºéå¼çåç´ çç¾åæ¯çï¼é»è®¤å¼ï¼98ï¼ã
-.IPs <threshold>
-å³å®åç´ å¼ä½äºå¤å°å°±è¢«è®¤ä½æ¯é»è²çéå¼ï¼é»è®¤å¼ï¼32ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B stereo3d[=è¾å
¥æ ¼å¼:è¾åºæ ¼å¼]
-stereo3d é项ç¨äºè½¬æ¢ä¸åçç«ä½å¾åæ ¼å¼ã
-.RSs
-.IPs <è¾å
¥æ ¼å¼>
-è¾å
¥çç«ä½å¾åæ ¼å¼ãå¯è®¾å¼æï¼
-.RS
-.B sbsl æ side_by_side_left_first
-.RS
-ç±å·¦èå³å¹³è¡æåï¼å·¦ç¼å¾åå¨å·¦ï¼å³ç¼å¾åå¨å³ï¼
-.RE
-.B sbsr æ side_by_side_right_first
-.RS
-ç±å·¦èå³äº¤æ¢å·¦å³ç¼å¾åå°æåï¼å³ç¼å¾åå¨å·¦ï¼å·¦ç¼å¾åå¨å³ï¼
-.RE
-.B abl æ above_below_left_first
-.RS
-ç±ä¸è䏿åï¼å·¦ç¼å¾åå¨ä¸ï¼å³ç¼å¾åå¨ä¸ï¼
-.RE
-.B abl æ above_below_right_first
-.RS
-ç±ä¸è䏿åï¼å³ç¼å¾åå¨ä¸ï¼å·¦ç¼å¾åå¨ä¸ï¼
-.RE
-.B ab2l æ above_below_half_height_left_first
-.RS
-ç±ä¸è䏿åï¼çºµåå辨çååï¼å·¦ç¼å¾åå¨ä¸ï¼å³ç¼å¾åå¨ä¸ï¼
-.RE
-.B ab2r æ above_below_half_height_right_first
-.RS
-ç±ä¸è䏿åï¼çºµåå辨çååï¼å³ç¼å¾åå¨ä¸ï¼å·¦ç¼å¾åå¨ä¸ï¼
-.RE
-.RE
-.IPs <è¾åºæ ¼å¼>
-è¾åºçç«ä½å¾åæ ¼å¼ãå¯è®¾å¼é¤äºææè¾å
¥æ ¼å¼å¤è¿æï¼
-.RS
-.B arcg æ anaglyph_red_cyan_gray
-.RS
-红/éç«ä½ç°åº¦å¾åï¼çº¢è²å¾å±éè¿å·¦ç¼å¾åï¼éè²å¾å±éè¿å³ç¼å¾åï¼cyan
-.RE
-.B arch æ anaglyph_red_cyan_half_color
-.RS
-红/éç«ä½å彩è²å¾åï¼çº¢è²å¾å±éè¿å·¦ç¼å¾åï¼éè²å¾å±éè¿å³ç¼å¾åï¼
-.RE
-.B arcc æ anaglyph_red_cyan_color
-.RS
-红/éç«ä½å½©è²å¾åï¼çº¢è²å¾å±éè¿å·¦ç¼å¾åï¼éè²å¾å±éè¿å³ç¼å¾åï¼
-.RE
-.B arcd æ anaglyph_red_cyan_dubois
-.RS
-éè¿ Dubois çæå°äºæ¬¡å½±å°ä¼åç红/éç«ä½å½©è²å¾åï¼çº¢è²å¾å±éè¿å·¦ç¼å¾åï¼éè²å¾å±é
-è¿å³ç¼å¾åï¼
-.RE
-.B agmg æ anaglyph_green_magenta_gray
-.RS
-绿/å红ç«ä½ç°åº¦å¾åï¼ç»¿è²å¾å±éè¿å·¦ç¼å¾åï¼å红å¾å±éè¿å³ç¼å¾åï¼
-.RE
-.B agmh æ anaglyph_green_magenta_half_color
-.RS
-绿/å红ç«ä½å彩è²å¾åï¼ç»¿è²å¾å±éè¿å·¦ç¼å¾åï¼å红å¾å±éè¿å³ç¼å¾åï¼
-.RE
-.B agmc æ anaglyph_green_magenta_color
-.RS
-绿/å红ç«ä½å½©è²å¾åï¼ç»¿è²å¾å±éè¿å·¦ç¼å¾åï¼å红å¾å±éè¿å³ç¼å¾åï¼
-.RE
-.B aybg æ anaglyph_yellow_blue_gray
-.RS
-é»/èç«ä½ç°åº¦å¾åï¼é»è²å¾å±éè¿å·¦ç¼å¾åï¼èè²å¾å±éè¿å³ç¼å¾åï¼
-.B aybh æ anaglyph_yellow_blue_half_color
-.RS
-é»/èç«ä½å彩è²å¾åï¼é»è²å¾å±éè¿å·¦ç¼å¾åï¼èè²å¾å±éè¿å³ç¼å¾åï¼
-.RE
-.B aybc æ anaglyph_yellow_blue_color
-.RS
-é»/èç«ä½å½©è²å¾åï¼é»è²å¾å±éè¿å·¦ç¼å¾åï¼èè²å¾å±éè¿å³ç¼å¾åï¼
-.RE
-.B ml æ mono_left
-.RS
-åç¼å¾åè¾åºï¼åªè¾åºå·¦ç¼å¾åï¼
-.RE
-.B mr æ mono_right
-.RS
-åç¼å¾åè¾åºï¼åªè¾åºå³ç¼å¾åï¼
-.RE
-.RE
-.RE
-.PD 1
-.
-.TP
-.B gradfun[=strength[:radius]]
-æ¶é¤ææ¶åå 为å°è²æ·±éè³ 8 æ¯ç¹åï¼å¨é¢è²è¿ä¼¼ä¸åçåºåé æçå¸¦ç¶æä¼¤ã
-éè¿æå¼å¨å¸¦ç¶åºå产çååå¡åº¦ï¼ä»è使å
¶é¢è²äº§çæå¨ææã
-.sp 1
-设计该滤éä»
ä¸ºææ¾ç®çã
-ä¸è¦å¨ææå缩æ¥éª¤å使ç¨è¯¥æ»¤éï¼å 为å缩è¿ç¨å®¹æä¸¢å¤±æå¨ææï¼ä»èæ¢å¤å¸¦ç¶æä¼¤ã
-.RSs
-.IPs <strength>
-æ»¤éæ¹åå个åç´ çæå¤§ç¨åº¦ã
-忶乿¯ä¾¦æµé¢è²è¿ä¼¼ä¸ååºåçéå¼ï¼é»è®¤å¼ï¼1.2ï¼ã
-.IPs <radius>
-åºç¨ååå¡åº¦çå¨è¾¹åºå大å°ã
-è¾å¤§ç radius å¼å¸¦æ¥è¾å¹³ç¼çååå¡åº¦ï¼ä½åæ¶ä½¿æ»¤éä¸è½ä¿®æ¹é è¿é¢è²åå丰å¯åºå
-çåç´ ï¼é»è®¤å¼ï¼16ï¼ã
-.RE.
-.
-.TP
-.B fixpts[=options]
-ä¿®æ£è§é¢å¸§çåç°æ¶é´æ³ï¼PTSï¼ã
-é»è®¤è¡ä¸ºæ¯ä¸¢å¼ä¼ éè³ä¸ä¸çº§æ»¤éç PTSï¼ä½ä»¥ä¸é项å¯ä»¥æ¹åè¿ä¸è¡ä¸ºï¼
-.RSs
-.IPs print
-æå°å¾å°ç PTSã
-.IPs fps=<fps>
-æå®ä¸ä¸ªæ¯ç§å¸§æ°å¼
-.IPs start=<pts>
-为 PTS æå®ä¸ä¸ªåå§å¼
-Specify an initial value for the PTS.
-.IPs autostart=<n>
-使ç¨
-.IR 第 n 个
-å¾å°ç PTS ä½ä¸ºåå§ PTSã
-ä¿çææä¹åç PTSï¼å æ¤å¦æè®¾ç½®äºä¸ä¸ªå¾å¤§çå¼æè®¾ä¸º \-1 åå°å®æ´ä¿ç PTSã
-.IPs autofps=<n>
-å¨èªå¨å¼å§å使ç¨
-.IR 第 n 个
-å¾å°ç PTS 夿叧çã
-.RE
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.PD 0
-.RSs
-.IPs "\-vf fixpts=fps=24000/1001,ass,fixpts"
-产çä¸ä¸ªæ°ç PTS åºåï¼å°å
¶ç¨äº ASS åå¹ï¼ç¶åå°å
¶ä¸¢å¼ã
-å¨èç®ç»æåæ¶é´æ³å°±éç½®çæ
åµä¸ï¼çæä¸ä¸ªæ°çåºåæ¯ææçï¼è¯¥æ
å½¢å¨ DVD ä¸å¾å¸¸è§ã
-丢å¼è¯¥åºå对äºé¿å
ç¼ç å¨å¤æéè¯¯æ¯æå¿
è¦ç
-.RE
-.PD 1
-.sp 1
-.RS
-.I 注æï¼
-å°è¯¥æ»¤éä¸ä»»ä½ç§ç±»çå®ä½é项ï¼å
æ¬ -ss å EDLï¼ä¸å使ç¨å¯è½ä¼äº§çææ³ä¸å°çç»æã
-.RE
-.
-.
-.SH "éç¨ç¼ç é项ï¼ä»
ç¨äºMENCODERï¼"
-.
-.TP
-.B \-audio\-delay <any floating-point number>
-éè¿å¨æä»¶å¤´é¨ä¸è®¾ç½®å»¶è¿ä¿¡æ¯åæ¥å»¶è¿é³é¢æè§é¢ãï¼é»è®¤å¼ï¼0.0ï¼ã
-该é项ä¸å¨ç¼ç è¿ç¨ä¸å»¶è¿é³é¢æè§é¢æµï¼ä½ææ¾å¨ä¼è¯»åºå»¶è¿ä¿¡æ¯åå¹¶åç¸
-åºçè¡¥å¿å¤çã
-æ£æ°å¼å»¶è¿é³é¢ï¼èè´æ°å¼å»¶è¿è§é¢ã
-注æè¯¥é项æ£å¥½ä¸\-delayé项ç¸åã
-ä¾å¦ï¼å¦æä¸æ®µè§é¢å¨\-delay 0.2䏿£ç¡®ææ¾ï¼é£ä¹ä½ å¯ä»¥å¨MEncoderä¸ä½¿ç¨
-\-audio\-delay \-0.2ä¿®å¤è§é¢çä¸åæ¥é®é¢ã
-.sp 1
-å½åï¼è¯¥é项åªè½ç¨äºé»è®¤çæµåå¹¶å¨ï¼\-of aviï¼ã
-å¦æä½ ä½¿ç¨äºå¦å¤çæµåå¹¶å¨ï¼é£ä¹ä½ å¿
须使ç¨\-delayæ¥ä»£æ¿è¯¥é项ã
-.
-.TP
-.B \-audio\-density <1\-50>
-æ¯ç§éå¤ççé³é¢æ°æ®åæ°éï¼é»è®¤å¼ä¸º2ï¼ç¨äº0.5sé¿çé³é¢æ°æ®åï¼ã
-.br
-.I 注æï¼
-åªç¨äºCBRï¼VBRæ¹å¼å¿½ç¥è¯¥é项ï¼å 为å®å°æ¯ä¸ªæ°æ®å
å嫿¾å
¥ä¸ä¸ªæ°æ®åä¸ã
-.
-.TP
-.B \-audio\-preload <0.0\-2.0>
-设置é³é¢ç¼å²çæ¶é³é´éï¼é»è®¤å¼ï¼0.5sï¼ã
-.
-.TP
-.B \-fafmttag <format>
-å¯ç¨äºæ¹åè¾åºæä»¶ä¸çé³é¢æ ¼å¼æ ç¾ã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs "\-fafmttag 0x55"
-å°ä½¿è¾åºæä»¶å
å«0x55ï¼mp3ï¼çä¿¡æ¯ä½ä¸ºé³é¢æ ¼å¼æ ç¾ã
-.RE
-.PD 1
-.
-.TP
-.B \-ffourcc <fourcc>
-å¯ç¨äºæ¹åè¾åºæä»¶ä¸çè§é¢fourccå¼ã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs "\-ffourcc div3"
-å°ä½¿è¾åºæä»¶å
å«âdiv3âçä¿¡æ¯ä½ä¸ºè§é¢fourccå¼ã
-.RE
-.PD 1
-.
-.TP
-.B \-force\-avi\-aspect <0.2\-3.0>
-代æ¿åå¨å¨AVI OpenDML vprp头é¨ä¸ç宽髿¯å¼ã
-该é项å¯ç¨äºå¨ä½¿ç¨â\-ovc copyâæ¶æ´æ¹å®½é«æ¯å¼ã
-.
-.TP
-.B \-frameno\-file <filename>ï¼ä¸æ¨è使ç¨ï¼
-æå®å
嫿叧åºå·å¯¹åºå
³ç³»è¡¨çé³é¢æä»¶çæä»¶åï¼è¯¥å¯¹åºå
³ç³»è¡¨æ¯å¨ç¹æ®çä¸é¶
-段ç¼ç 模å¼ç第ä¸é¶æ®µï¼åªå¤çé³é¢ï¼ä¸çæçã
-.br
-.I 注æï¼
-使ç¨è¯¥æ¨¡å¼å¾å¯è½ä¼è®©ä½ å¾å°A-Vä¸åæ¥çç»æã
-ä¸è¦ä½¿ç¨å®ã
-å®åªæ¯ä¸ºäºååå
¼å®¹èä¿ççï¼å¹¶ä¸ç¸å½å¯è½å¨ä»¥åççæ¬ä¸å»é¤ã
-.
-.TP
-.B \-hr\-edl\-seek
-å¨è·³è¿å¤çåºåæ¶ä½¿ç¨ä¸ç§æ´ç²¾ç¡®ä½ç¸å¯¹å¾æ
¢çæ¹å¼ã
-䏿¯å®ä½æ 记为éè·³è¿çå¤çåºåï¼èæ¯è§£ç ææç帧并ä¸åªæç¼ç é
-è¦ç帧ã
-该é项使ä»éå
³é®å¸§çè¾¹çå¼å§ç¼ç æä¸ºå¯è½ã
-.br
-.I 注æï¼
-ä¸ä¿è¯è½ä¸â\-ovc copyâä¸å使ç¨ã
-.
-.TP
-.B \-info <option1:option2:...>ï¼åªç¨äºAVIï¼
-æå®çæçAVIæä»¶ç头é¨ä¿¡æ¯å
容ã
-.sp 1
-å¯ç¨é项æï¼
-.RSs
-.IPs "help\ "
-æ¾ç¤ºæ¬é¨åæè¿°ã
-.IPs name=<value>
-ä½åçæ é¢
-.IPs artist=<value>
-ä½åçä½è
-.IPs genre=<value>
-åä½çç±»å«
-.IPs subject=<value>
-ä½åçå
容
-.IPs copyright=<value>
-çæä¿¡æ¯
-.IPs srcform=<value>
-æ°ååèµæçåå§æ ¼å¼
-.IPs comment=<value>
-å
³äºä½åçæ»ä½æ§æ³¨é
-.RE
-.
-.TP
-.B \-noautoexpand
-ä¸è¦èªå¨å¨MEncoder滤éé¾ä¸æå
¥æ©å±æ»¤éã
-éç¨äºå°åå¹å
åµå
¥å½±çæ¶æ§å¶å¨æ»¤éé¾ä¸çåªä¸ä¸ªç¹ä¸æ¸²æåå¹ã
-.
-.TP
-.B \-noencodedups
-ä¸è¦å°è¯å°éå¤ç帧éå¤å°ç¼ç ï¼å¿
须以è¾åºé¶åèå¸§çæ¹å¼è¡¨ææéå¤å¸§ã
-é¤éå è½½äºè½è¿è¡éå¤å¸§ç¼ç çæ»¤éæç¼ç å¨ï¼å¦åæ 论å¦ä½å°åå
¥é¶åè帧ã
-å½åè¿æ ·ç滤éåªæhardupã
-.
-.TP
-.B \-noodmlï¼ä»
ç¨äº\-of aviçæ
åµä¸ï¼
-对äºå¤§äº1GBçAVIæä»¶ä¸åå
¥OpenDMLç´¢å¼ã
-.
-.TP
-.B \-noskip
-ä¸è¦è·³è¿ä»»ä½å¸§ã
-.
-.TP
-.B \-o <filename>
-è¾åºè³æç»çæä»¶åã
-.br
-å¦æä½ éè¦æä¸ä¸ªé»è®¤çè¾åºæä»¶åï¼ä½ å¯ä»¥å°æ¤é项æ¾å¨MEncoderçé
ç½®æ
-ä»¶ä¸ã
-.
-.TP
-.B \-oac <codec name>
-ä½¿ç¨æç»çé³é¢ç¼è§£ç å¨ç¼ç ï¼æ²¡æé»è®¤å¼ï¼ã
-.br
-.I 注æï¼
-使ç¨\-oac helpæ¥è·åå¯ç¨é³é¢ç¼è§£ç å¨çå表ã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs "\-oac copy"
-ä¸ç¼ç ï¼ç´æ¥å¤å¶é³é¢æµ
-.IPs "\-oac pcm"
-ç¼ç 为æªå缩çPCMæ ¼å¼ã
-.IPs "\-oac mp3lame"
-ç¼ç 为MP3æ ¼å¼ï¼ä½¿ç¨LAMEï¼ã
-.IPs "\-oac lavc"
-使ç¨libavcodecç¼è§£ç å¨ç¼ç ã
-.RE
-.PD 1
-.
-.TP
-.B \-of <format>ï¼BETAæµè¯ç代ç ï¼ï¼
-ç¼ç 为æå®ç容卿 ¼å¼ï¼é»è®¤å¼ï¼AVIï¼ã
-.br
-.I 注æï¼
-使ç¨\-of help以è·åå¯ç¨ç容卿 ¼å¼çå表ã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs "\-of avi"
-ç¼ç 为AVIæ ¼å¼ã
-.IPs "\-of mpeg"
-ç¼ç 为MPEGæ ¼å¼ï¼å¦åè§\-mpegoptsï¼ã
-.IPs "\-of lavf"
-使ç¨libavformatæµåå¹¶å¨ç¼ç ï¼å¦åè§\-lavfoptsï¼ã
-.IPs "\-of rawvideo"
-åå§è§é¢æµï¼ä¸åå¹¶ââåªå«ä¸ä¸ªè§é¢æµï¼
-.IPs "\-of rawaudio"
-åå§é³é¢æµï¼ä¸åå¹¶ââåªå«ä¸ä¸ªé³é¢æµï¼
-.RE
-.PD 1
-.
-.TP
-.B \-ofps <fps>
-为è¾åºæä»¶æå®ä¸ä¸ªæ¯ç§å¸§æ°ï¼fpsï¼å¼ï¼è¯¥å¼å¯ä»¥ä¸åæ¥è§é¢ä¸çä¸
-åã
-å¿
须为å¯åfpsï¼ASFãä¸äºMOVï¼ä»¥åéè¡æ«æï¼30000/1001 fpsçµè§
-å¾å模å¼çMPEGï¼æä»¶è®¾ç½®è¯¥å¼ã
-.
-.TP
-.B \-ovc <codec name>
-使ç¨ç»åºçè§é¢ç¼è§£ç å¨ç¼ç ï¼æ²¡æé»è®¤å¼ï¼ã
-.br
-.I 注æï¼
-使ç¨\-ovc helpæ¥è·åå¯ç¨è§é¢ç¼è§£ç å¨çå表ã
-.sp 1
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs "\-ovc copy"
-ä¸ç¼ç ï¼ç´æ¥å¤å¶è§é¢æµ
-.IPs "\-ovc raw"
-ç¼ç 为任æçæªåç¼©æ ¼å¼ï¼ä½¿ç¨â\-vf formatâéæ©å
·ä½æ ¼å¼ï¼ã
-.IPs "\-ovc lavc"
-使ç¨libavcodecç¼è§£ç å¨ç¼ç ã
-.RE
-.PD 1
-.
-.TP
-.B \-passlogfile <filename>
-å¨äºé¶æ®µç¼ç 模å¼ä¸å°ç¬¬ä¸é¶æ®µçä¿¡æ¯å¯¼åºè³<filename>ï¼è䏿¯é»è®¤çdivx2pass.logã
-.
-.TP
-.B \-skiplimit <value>
-æå®ç¼ç äºä¸å¸§ä¹åæå¤å¯ä»¥è·³è¿çå¸§çæ°éï¼\-noskiplimit表示æ é
-å¶ï¼ã
-.
-.TP
-.B \-vobsubout <basename>
-æå®è¾åºç.idxå.subæä»¶ç主æä»¶åã
-该é项使åå¹ä¸å¨ç¼ç åå½±çå¾å°æ¸²æï¼èæ¯å°å
¶è½¬èè¾åºè³VOBsubçå广件ã
-.
-.TP
-.B \-vobsuboutid <langid>
-为å广å®å忝çè¯è¨ä»£ç ã
-该é项æ¹åäºä»DVDæ.ifoæä»¶ä¸è¯»åçè¯è¨ä»£ç ã
-.
-.TP
-.B \-vobsuboutindex <index>
-æå®è¾åºæä»¶ä¸åå¹çç´¢å¼å·ï¼é»è®¤å¼ï¼0ï¼ã
-.
-.TP
-.B \-force\-key\-frames <æ¶é´ç¹>,<æ¶é´ç¹>,...
-强å¶å¨æå®çæ¶é´ç¹ä¸ä½¿ç¨å
³é®å¸§ï¼åç¡®æ¥è¯´æ¯æ¯ä¸ªæå®çæ¶é´ç¹ä¹åç第ä¸ä¸ªå¸§ã
-.sp 1
-该é项å¯ç¨äºä¿è¯è¾åºæä»¶çç« èæ è®°å¤æå
¶å®ç¹å®çä½ç½®æå®ä½ç¹ã
-.sp 1
-æå®çæ¶é´æ è®°å¿
é¡»æååºæåã
-.sp 1
-å 为 MEncoder ä¸å¨æ»¤éé¾ä¸ä¼ éæ¶é´æ è®°ï¼æä»¥å¾å¯è½éè¦ä½¿ç¨ fixpts 滤é以使该é
-项çæã
-.sp 1
-å¹¶éææçç¼è§£ç å¨å¯ä»¥å¼ºå¶ä½¿ç¨å
³é®å¸§ã
-å½åå·²å®ç°è¯¥åè½çç¼ç å¨å¦ä¸ï¼
-lavcï¼x264ï¼xvidã
-.
-.
-.
-.SH "ç¹å®ç¼è§£ç å¨ä¸ç¨çç¼ç é项ï¼ä»
ç¨äºMENCODERï¼"
-ä½ å¯ä»¥ä½¿ç¨ä»¥ä¸ç奿³æå®ç¹å®ç¼è§£ç å¨ä¸ç¨çåæ°ï¼
-.
-.TP
-.B \-<codec>opts <option1[=value1]:option2[=value2]:...>
-.
-.PP
-è¿é<codec>å¯ä»¥æ¯ï¼lavcãxvidencãmp3lameãtoolameãtwolameãnuvãxvfwãfaacã
-x264encãmpegãlavfã
-.
-.
-.SS mp3lame (\-lameopts)
-.
-.TP
-.B "help\ \ \ "
-è·å帮å©ä¿¡æ¯
-.
-.TP
-.B vbr=<0\-4>
-å¯åæ¯ç¹çæ¹å¼
-.PD 0
-.RSs
-.IPs 0
-cbr
-.IPs 1
-mt
-.IPs 2
-rhï¼é»è®¤å¼ï¼
-.IPs 3
-abr
-.IPs 4
-mtrh
-.RE
-.PD 1
-.
-.TP
-.B "abr\ \ \ \ "
-平忝ç¹ç
-.
-.TP
-.B "cbr\ \ \ \ "
-æå®æ¯ç¹ç
-åæ¶å¼ºå¶å¨å颿å®çABRé¢è®¾æ¨¡å¼ä¸ä½¿ç¨CBR模å¼ã
-.
-.TP
-.B br=<0\-1024>
-以kbps计éçæ¯ç¹çï¼ä»
ç¨äºCBRåABRï¼
-.
-.TP
-.B q=<0\-9>
-è´¨éï¼0 \- æå¥½ï¼9 \- æå·®ï¼ï¼ä»
ç¨äºVBRï¼
-.
-.TP
-.B aq=<0\-9>
-ç®æ³è´¨éï¼0 \- æå¥½/ææ
¢ï¼9 \- æå·®/æå¿«ï¼
-.
-.TP
-.B ratio=<1\-100>
-å缩æ¯
-.
-.TP
-.B vol=<0\-10>
-é³é¢è¾å
¥çå¢ç
-.
-.TP
-.B mode=<0\-3>
-ï¼é»è®¤æ¹å¼ï¼èªå¨å¤æï¼
-.PD 0
-.RSs
-.IPs 0
-ç«ä½å£°
-.IPs 1
-å
±äº«å¼ç«ä½å£°
-.IPs 2
-å声é
-.IPs 3
-å声é
-.RE
-.PD 1
-.
-.TP
-.B padding=<0\-2>
-.PD 0
-.RSs
-.IPs 0
-æ å¡«å
-.IPs 1
-ææ
åµä¸åå¡«å
-.IPs 2
-è°æ´
-.RE
-.PD 1
-.
-.TP
-.B "fast\ \ \ "
-æå¼å颿æå®çVBRé¢è®¾æ¨¡å¼ä¸çè¾å¿«ç¼ç æ¹å¼ã
-è¿å°é æè´¨éç¨å·®èæ¯ç¹çç¨é«ã
-.
-.TP
-.B highpassfreq=<freq>
-设置é«éè¿æ»¤çé¢çå¼ï¼åä½ä¸ºHzã
-ä½äºææå®å¼çé¢çå°è¢«æ»¤é¤ã
-å¼\-1å°ç¦ç¨è¿æ»¤ï¼å¼0å°è®©LAMEèªå¨éæ©ä¸ä¸ªå¼ã
-.
-.TP
-.B lowpassfreq=<freq>
-设置ä½éè¿æ»¤çé¢çå¼ï¼åä½ä¸ºHzã
-é«äºææå®å¼çé¢çå°è¢«æ»¤é¤ã
-å¼\-1å°ç¦ç¨è¿æ»¤ï¼å¼0å°è®©LAMEèªå¨éæ©ä¸ä¸ªå¼ã
-.
-.TP
-.B preset=<value>
-é¢è®¾å¼
-.RSs
-.IPs "help\ "
-æå°é¢è®¾è®¾ç½®çå
¶å®é项ä¸ä¿¡æ¯ã
-.IPs medium
-VBRç¼ç ï¼è´¨éä¸éï¼æ¯ç¹çèå´ä¸º150\-180 kbps
-.IPs standard
-VBRç¼ç ï¼é«è´¨éï¼æ¯ç¹çèå´ä¸º170\-210 kbps
-.IPs extreme
-VBRç¼ç ï¼è¶
é«è´¨éï¼æ¯ç¹çèå´ä¸º200\-240 kbps
-.IPs insane
-CBRç¼ç ï¼æé«çé¢è®¾è´¨éï¼æ¯è¾ç为320bps
-.IPs <8\-320>
-ABRç¼ç ï¼å¹³åæ¯ç¹ç为æç»çkbpså¼
-.RE
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.PD 0
-.RSs
-.IPs fast:preset=standard
-éç¨å¤§å¤æ°äººä»¥å¤§å¤æ°é³ä¹ç±»åï¼è´¨éå·²ç»ç¸å½é«äº
-.IPs cbr:preset=192
-使ç¨192kbpsçABRé¢è®¾æ¨¡å¼ï¼å¼ºå¶ä½¿ç¨åºå®æ¯ç¹çç¼ç ã
-.IPs preset=172
-使ç¨ABRé¢è®¾æ¨¡å¼ã172kbpsç平忝ç¹çç¼ç ã
-.IPs preset=extreme
-ç¨äºé£äºææå¥½å¬ååæå¥½è®¾å¤ç人
-.RE
-.PD 1
-.
-.
-.SS toolameåtwolameï¼åå«å¯¹åº\-toolameoptså\-twolameoptsï¼
-.
-.TP
-.B br=<32\-384>
-å¨CBR模å¼ä¸è¯¥åæ°æææ¯ç¹çå¼ï¼åä½ä¸ºkbpsï¼èå¨VBR模å¼ä¸åæ¯æ¯ä¸ªé³é¢å¸§æå
许çæ
-å°æ¯ç¹çãVBR模å¼ä¸è½å¨è¯¥å¼ä½äº112æ¶å·¥ä½ã
-.
-.TP
-.B vbr=<\-50\-50>ï¼ä»
ç¨äºVBRï¼
-æ¯ç¹çå¯åèå´ï¼å¦æä¸ºè´å¼ï¼åç¼ç å¨ä½¿å¹³åæ¯ç¹çåæéå¶æä½å¼é æ¢ï¼å¦æä¸ºæ£å¼ï¼
-ååæé«å¼é æ¢ã
-设为0æ¶ä½¿ç¨CBR模å¼ï¼é»è®¤å¼ï¼ã
-.
-.TP
-.B maxvbr=<32\-384>ï¼ä»
ç¨äºVBRï¼
-æ¯ä¸ªé³é¢å¸§æå
许çæå¤§æ¯ç¹çï¼åä½ä¸ºkbps
-.
-.TP
-.B mode=<stereo | jstereo | mono | dual>
-ï¼é»è®¤å¼ï¼å声éé³é¢ä½¿ç¨monoï¼å¦å为stereoï¼
-.
-.TP
-.B psy=<\-1\-4>
-å¿ç声妿¨¡åï¼é»è®¤å¼ï¼2ï¼
-.
-.TP
-.B errprot=<0 | 1>
-使ç¨éè¯¯ä¿æ¤åè½ã
-.
-.TP
-.B debug=<0\-10>
-è°è¯ç级
-.RE
-.PD 1
-.
-.
-.SS faacï¼\-faacoptsï¼
-.
-.TP
-.B br=<bitrate>
-平忝ç¹çï¼åä½ä¸ºkbpsï¼ä¸qualityé项ä¸è½åæ¶ä½¿ç¨ï¼
-.
-.TP
-.B quality=<1\-1000>
-è´¨éæ¨¡å¼ï¼å¼è¶é«ææè¶å¥½ï¼ä¸bré项ä¸è½åæ¶ä½¿ç¨ï¼
-.
-.TP
-.B object=<1\-4>
-ç®æ ç±»åçå¤æåº¦
-.PD 0
-.RSs
-.IPs 1
-MAINï¼é»è®¤å¼ï¼
-.IPs 2
-LOW
-.IPs 3
-SSR
-.IPs 4
-LTPï¼è¿è¡ææ
¢ï¼
-.RE
-.PD 1
-.
-.TP
-.B mpeg=<2|4>
-MPEGçæ¬ï¼é»è®¤å¼ï¼4ï¼
-.
-.TP
-.B "tns\ \ \ \ "
-å¯ç¨ç¬æ¶åªå£°æ´å½¢ï¼TNSï¼åè½ã
-.
-.TP
-.B cutoff=<0\-éæ ·é¢ç/2>
-æªæé¢çï¼é»è®¤å¼ï¼éæ ·é¢ç/2ï¼
-.
-.TP
-.B "raw\ \ \ \ "
-å°æ¯ç¹æµä¿å为åå§è´è½½ï¼èé¢å¤çæ°æ®ä¿åå¨å®¹å¨æä»¶ç头é¨ä¸ï¼é»è®¤å¼ï¼0ï¼ä¸ADTSç¸
-ä¸è´ï¼ãå¦ææ²¡ææç¡®çéè¦å°±ä¸è¦è®¾ç½®è¿ä¸ªæ å¿ä½ï¼å¦åä½ ä»¥åå°ä¸è½éæ°å°é³é¢æµåå¹¶
-è¿å®¹å¨æä»¶äºã
-.RE
-.PD 1
-.
-.
-.SS lavcï¼\-lavcoptsï¼
-.
-æè®¸å¤libavcodecï¼ç®ç§°lavcï¼éé¡¹åªæ¯ç®è¦è¯´æã
-è¦äºè§£è¯¦æ
请é
读æºä»£ç ã
-.PP
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250
-.RE
-.PD 1
-.
-.TP
-.B o=<key>=<value>[,<key>=<value>[,...]]
-å° AVOption éé¡¹ä¼ éè³ libavcodec ç¼ç å¨ã
-注æï¼æ¬¢è¿æä¾ä¸ä¸ªä½¿ o= é项ä¸åéè¦ï¼èå°æææªç¥éé¡¹ä¼ éè³ AVOption ç³»ç»çè¡¥ä¸ã
-AVOption ç宿´å表å¯ä»¥ FFmpeg ç¨æ·æå䏿¾å°ã
-注ææäº AVOption é项å¯è½ä¸ MEncoder é项å²çªã
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.RSs
-.PD 0
-.IPs o=bt=100k
-.PD 1
-.RE
-.
-.TP
-.B acodec=<value>
-é³é¢ç¼è§£ç å¨ï¼é»è®¤å¼ï¼mp2ï¼
-.PD 0
-.RSs
-.IPs "ac3\ \ "
-Dolby Digitalï¼AC-3ï¼
-.IPs adpcm_*
-èªéåºPCMæ ¼å¼ââåè§HTMLææ¡£ä»¥è·å详ç»ä¿¡æ¯ã
-.IPs "flac\ "
-Free Lossless Audio Codecï¼FLACï¼å
è´¹æ æé³é¢ç¼è§£ç å¨ï¼
-.IPs "g726\ "
-G.726 ADPCM
-.IPs libfaac
-Advanced Audio Codingï¼AACï¼é«çº§é³é¢ç¼ç ï¼ââ使ç¨FAAC
-.IPs libmp3lame
-MPEG-1é³é¢å±æ¬¡3ï¼MP3ï¼ââ使ç¨LAME
-.IPs "mp2\ \ "
-MPEG-1é³é¢å±æ¬¡2ï¼MP2ï¼
-.IPs pcm_*
-PCMæ ¼å¼ââåè§HTMLææ¡£ä»¥è·å详ç»ä¿¡æ¯ã
-.IPs roq_dpcm
-Id SoftwareçRoQ DPCM
-.IPs sonic
-å®éªæ§çç®æææç¼è§£ç å¨
-.IPs sonicls
-å®éªæ§çç®ææ æç¼è§£ç å¨
-.IPs vorbis
-Vorbis
-.IPs wmav1
-Windows Media Audio v1
-.IPs wmav2
-Windows Media Audio v2
-.RE
-.PD 1
-.
-.TP
-.B abitrate=<value>
-é³é¢æ¯ç¹çï¼åä½ä¸ºkbpsï¼é»è®¤å¼ï¼224ï¼
-.
-.TP
-.B atag=<value>
-ä½¿ç¨ææå®çWindowsé³é¢æ ¼å¼æ ç¾ï¼ä¾å¦atag=0x55ï¼ã
-.
-.TP
-.B bit_exact
-åªä½¿ç¨ç²¾ç¡®å°æ¯ç¹çç®æ³ï¼é¤äº(I)DCTï¼ã
-æ¤å¤ï¼ç²¾ç¡®å°æ¯ç¹çæ¹å¼ç¦ç¨äºè®¸å¤çä¼å模å¼ï¼å èåºå½åªç¨äºå彿µè¯ãè¿ç§æµè¯è¦æ±
-å³ä½¿ç¼ç å¨ççæ¬åäºï¼æä»¶çäºè¿å¶å
容ä¹è¦ç¸åã
-该é项忶ç¦ç¨MPEG-4æµä¸çç¨æ·æ°æ®å¤´ã
-é¤éä½ ç¡®åç¥éä½ è¦åä»ä¹ï¼å¦åä¸è¦ä½¿ç¨è¿ä¸ªé项ã
-.
-.TP
-.B threads=<1\-8>
-æå¤§è½ä½¿ç¨ççº¿ç¨æ°ï¼é»è®¤å¼ï¼1ï¼ã
-å¯è½å¯¹è¿å¨é¢æµæä¸å®è´é¢å½±åã
-.RE
-.
-.TP
-.B vcodec=<value>
-ä½¿ç¨ææå®çç¼è§£ç å¨ï¼é»è®¤å¼ï¼mpeg4ï¼ã
-.PD 0
-.RSs
-.IPs "asv1\ "
-ASUS Video v1
-.IPs "asv2\ "
-ASUS Video v2
-.IPs dvvideo
-Sony Digital Video
-.IPs "ffv1\ "
-FFmpegçæ æè§é¢ç¼è§£ç å¨
-.IPs ffvhuff
-éæ åç使ç¨YV12æ ¼å¼ç20%æåçHuffYUV
-.IPs "flv\ \ "
-ç¨å¨Flashè§é¢ä¸çSorenson H.263
-.IPs "h261\ "
-H.261
-.IPs "h263\ "
-H.263
-.IPs h263p
-H.263+
-.IPs huffyuv
-HuffYUV
-.IPs libtheora
-Theora
-.IPs libx264
-x264 H.264/AVC MPEG-4 Part 10
-.IPs libxvid
-Xvid MPEG-4 Part 2ï¼ASPï¼
-.IPs ljpeg
-Lossless JPEG
-.IPs mjpeg
-Motion JPEG
-.IPs mpeg1video
-MPEG-1 video
-.IPs mpeg2video
-MPEG-2 video
-.IPs mpeg4
-MPEG-4ï¼DivX 4/5ï¼
-.IPs msmpeg4
-DivX 3
-.IPs msmpeg4v2
-微软MPEG4v2
-.IPs roqvideo
-ID SoftwareçRoQ Video
-.IPs "rv10\ "
-ä¸ä¸ªèæ§çRealVideoç¼è§£ç å¨
-.IPs "snowï¼å¦åè§ï¼vstrictï¼"
-FFmpegå®éªæ§çåºäºå°æ³¢åæ¢çç¼è§£ç å¨
-.IPs "svq1\ "
-Apple Sorenson Video 1
-.IPs "wmv1\ "
-Windows Media Video, version 1ï¼ä¹å°±æ¯WMV7ï¼
-.IPs "wmv2\ "
-Windows Media Video, version 2ï¼ä¹å°±æ¯WMV8ï¼
-.RE
-.PD 1
-.
-.TP
-.B vqmin=<1\-31>
-æä½éååæ°
-.RSs
-.IPs 1
-䏿¨èï¼æä»¶å¤§å¾å¤ï¼è´¨éå·®å«ä¸å¤§ï¼è䏿奿ªçå¯ä½ç¨ï¼msmpeg4ãh263çè´¨éä¼å¾å·®ï¼
-ç çæ§å¶ä¼æ··ä¹±ä»èè´¨éä¸åï¼èä¸ä¸äºè§£ç å¨å°ä¸è½è§£ç ï¼ã
-.IPs 2
-æ¨èç¨äºæ®émpeg4/\:mpeg1videoç¼ç ï¼é»è®¤å¼ï¼ã
-.IPs 3
-æ¨èç¨äºh263(p)/\:msmpeg4ã
-建议éç¨3è䏿¯2çåå æ¯2å¯è½é ææº¢åºãï¼è¿å¨h263(p)ä¸ä¼å¨å°æ¥éè¿æ¹åæ¯ä¸ªå®åç
-éååæ°èè§£å³ï¼èmsmpeg4䏿 æ³ä¿®å¤ï¼å 为å®ä¸æ¯æé£ç§æ¹å¼ãï¼
-.RE
-.
-.TP
-.B lmin=<0.01\-255.0>
-ç¨äºç çæ§å¶çæå°å¸§çº§å«çææ ¼ææ¥ä¹åï¼é»è®¤å¼ï¼2.0ï¼ã
-Lavcå¾å°ä¼ä½¿ç¨ä½äºvqminå¼çéååæ°ã
-éä½lminä¼ä½¿lavcæ´å®¹æå¨å¤çæäºå¸§éç¨æ´ä½çéååæ°ï¼ä½ä¸ä¼ä½äºvqminå¼ã
-类似çï¼æé«lminå°ä½¿lavcæ´ä¸å¯è½éç¨ä½çéååæ°ï¼å³ä½¿vqminåæ°å
许使ç¨è¿äºéå
-åæ°ã
-ä½ å¾å¯è½æ³å°lmin设为大è´ä¸vqminç¸çã
-å½ä½¿ç¨èªéåºé忍¡å¼æ¶ï¼æ¹ålmin/lmaxå¯è½å½±åä¸å¤§ï¼åè§mblmin/mblmaxã
-.RE
-.
-.TP
-.B lmax=<0.01\-255.0>
-ç¨äºç çæ§å¶çæå¤§ææ ¼ææ¥ä¹åï¼é»è®¤å¼ï¼31.0ï¼
-.RE
-.
-.TP
-.B mblmin=<0.01\-255.0>
-ç¨äºç çæ§å¶çæå°å®å级å«çææ ¼ææ¥ä¹åï¼é»è®¤å¼ï¼2.0ï¼
-è¯¥åæ°å½±å诸å¦qprdãlumi_maskçèªéåºéåé项ã
-.RE
-.
-.TP
-.B mblmax=<0.01\-255.0>
-ç¨äºç çæ§å¶çæå¤§å®å级å«çææ ¼ææ¥ä¹åï¼é»è®¤å¼ï¼31.0ï¼
-.RE
-.
-.TP
-.B vqscale=<0\-31>
-æå®éååæ°/\:æå®è´¨éç¼ç ï¼éç¨åºå®éååæ°æ¨¡å¼ï¼ã
-å¼è¶å°æå³çè´¨éè¶å¥½ï¼ä½æä»¶è¶å¤§ï¼é»è®¤å¼ï¼\-1ï¼ã
-å¨ä½¿ç¨snowç¼è§£ç å¨çæ
åµä¸ï¼å¼0è¡¨ç¤ºæ æç¼ç ã
-ç±äºå
¶å®ç¼è§£ç å¨ä¸æ¯æè¿ä¸ªå¼ï¼vqscale=0伿æªç»å®ä¹çææã
-䏿¨èç¨1ï¼åè§vqminè·å详æ
ï¼ã
-.
-.TP
-.B vqmax=<1\-31>
-æå¤§éååæ°ï¼10\-31åºè¯¥æ¯ä¸ä¸ªåççèå´ï¼é»è®¤å¼ï¼31ï¼ã
-.
-.TP
-.B mbqmin=<1\-31>
-è¿æ¶åæ°ï¼åºä½¿ç¨vqmin
-.
-.TP
-.B mbqmax=<1\-31>
-è¿æ¶åæ°ï¼åºä½¿ç¨vqmax
-.
-.TP
-.B vqdiff=<1\-31>
-è¿ç»çIæP帧ä¹é´æå¤§çéååæ°å·®å«ï¼é»è®¤å¼ï¼3ï¼
-.
-.TP
-.B vmax_b_frames=<0\-4>
-éB帧ä¹é´åå¨çæå¤§B帧æ°ç®ï¼
-.PD 0
-.RSs
-.IPs 0
-æ B帧ï¼é»è®¤å¼ï¼
-.IPs 0\-2
-对äºMPEG-4æ¥è¯´æ¯åççèå´
-.RE
-.PD 1
-.
-.TP
-.B vme=<0\-5>
-è¿å¨é¢æµæ¹å¼ã
-å¯ç¨æ¹å¼æï¼
-.PD 0
-.RSs
-.IPs 0
-noneï¼è´¨éå¾ä½ï¼
-.IPs 1
-fullï¼è¿è¡æ
¢ï¼å½åä»£ç æªç»´æ¤ä¸å·²ç¦ç¨ï¼
-.IPs 2
-logï¼è´¨éä½ï¼å½åä»£ç æªç»´æ¤ä¸å·²ç¦ç¨ï¼
-.IPs 3
-phodsï¼è´¨éä½ï¼å½åä»£ç æªç»´æ¤ä¸å·²ç¦ç¨ï¼
-.IPs 4
-EPZSï¼size=1çè±å½¢æ¨¡æ¿ï¼sizeå¯ä»¥éè¿*diaéé¡¹è°æ´ï¼é»è®¤å¼ï¼
-.IPs 5
-X1ï¼å®éªæ§é项ï¼å½åæ¯EPZSçä¸ä¸ªå«åï¼
-.IPs 8
-iterï¼éå½éå çåºåï¼ä»
ç¨äºsnowï¼
-.RE
-.PD 1
-.sp 1
-.RS
-.br
-.I 注æï¼
-ç®å0\-3æ è§æè±è´¹æ¯ç¹çå¤å°ï¼æä»¥è´¨éå¯è½æ¯è¾ä½ã
-.RE
-.
-.TP
-.B me_range=<0\-9999>
-è¿å¨é¢æµçæç´¢èå´ï¼é»è®¤å¼ï¼0ï¼ä¸éå¶ï¼ï¼
-.
-.TP
-.B mbd=<0\-2>ï¼å¦åè§*cmpãqpelï¼
-å®åå³çç®æ³ï¼é«è´¨é模å¼ï¼ï¼å°æ¯ä¸ªå®å卿æç模å¼ä¸ç¼ç ç¶åéæ©æä½³ç模å¼ã
-该模å¼è¿è¡å¾æ
¢ï¼ä½è½ä½¿è´¨éæé«ï¼æä»¶å¤§å°éä½ã
-å½ mbd 设为1æ2æ¶ï¼æ¯è¾å®åè¿ç¨ä¸å°ä¸èè mbcmp çå¼ï¼ä½æ¯å
¶å®å°æ¹è¿æ¯ä½¿ç¨
-äº mbcmp å¼ï¼ç¹å«æ¯è¿å¨æç´¢ç®æ³ä¸ï¼ã
-ç¶èå½æä¸ªæ¯è¾è®¾ç½®ï¼precmpãsubcmpãcmp æ mbcmpï¼ä¸ºéé¶å¼æ¶ï¼å°ä¼ä½¿ç¨ä¸ç§æ´æ
¢ä½æ´
-好çååç´ è¿å¨æç´¢æ¨¡å¼ï¼èä¸ç®¡ mbd 设为ä½å¼ã
-å¦æè®¾ç½®äº qpel åæ°ï¼åå°è¯å®ä½¿ç¨ååä¹ä¸åç´ è¿å¨æç´¢æ¨¡å¼ã
-.PD 0
-.RSs
-.IPs 0
-使ç¨mbcmpæä¾çæ¯è¾å½æ°ï¼é»è®¤æ¹å¼ï¼ã
-.IPs 1
-éç¨éè¦æ¯ç¹æå°çå®å模å¼ï¼=vhqï¼ã
-.IPs 2
-éç¨ç ç失çæä¼çå®å模å¼ã
-.RE
-.PD 1
-.
-.TP
-.B "vhq\ \ \ \ "
-ä¸mbd=1ç¸åï¼åºäºå
¼å®¹æ§èèèä¿çäºä¸æ¥ã
-.
-.TP
-.B "v4mv\ \ \ "
-å
许æ¯ä¸ªå®åæ4个è¿å¨ç¢éï¼è´¨éè¾å¥½äºï¼ã
-妿å¨mbd>0æ¶ä½¿ç¨æææ´å¥½ã
-.
-.TP
-.B "obmc\ \ \ "
-éå åçè¿å¨è¡¥å¿ï¼H.263+ï¼
-.
-.TP
-.B "loop\ \ \ "
-éç¯è¿æ»¤ï¼H.263+ï¼
-注æï¼è¯¥é项æé®é¢
-.
-.TP
-.B inter_threshold <\-1000\-1000>
-å½å没æä»»ä½ä½ç¨ã
-.
-.TP
-.B keyint=<0\-300>
-å
³é®å¸§çæå¤§é´éï¼åä½ä¸ºå¸§æ°ï¼é»è®¤å¼ï¼250æè
说25fpsçå½±ç䏿¯10ç§ä¸ä¸ªå
³é®å¸§ãè¿
-个æ°å¼æ¯MPEG-4䏿¨è使ç¨çé»è®¤å¼ï¼ã
-大夿°ç¼è§£ç å¨éè¦å®æä½¿ç¨å
³é®å¸§ä»¥éå¶ä¸å¹é
é误è积è¿å¤ã
-å
³é®å¸§ä¹å¨ææ¾å®ä½æ¶éè¦ï¼å 为åªè½å®ä½äºå
³é®å¸§ââä½å
³é®å¸§æ¯å
¶å®å¸§éè¦æ´å¤ç©ºé´ï¼
-æä»¥è¿éçæ°å¼è®¾å¾è¶å¤§æå³çæä»¶è¶å°ï¼ä½å®ä½è¶ä¸ç²¾ç¡®ã
-0ä¸1ç¸åï¼è¿å°ä½¿æ¯ä¸ªå¸§é½æä¸ºå
³é®å¸§ã
-䏿¨è大äº300çå¼ï¼å 为质éå¯è½å¾å·®ï¼è¿åå³äºè§£ç å¨ãç¼ç å¨åè¿æ°ã
-é常MPEG-1/2使ç¨å°äºçäº30çå¼ã
-.
-.TP
-.B sc_threshold=<\-1000000000\-1000000000>
-ç¨äºåºæ¯åæ¢ä¾¦æµçéå¼ã
-å½libavcodec侦æµå°åºæ¯åæ¢æ¶ï¼å®å°æå
¥ä¸ä¸ªå
³é®å¸§ãä½ å¯ä»¥éè¿è¿ä¸ªé项æå®ä¾¦æµæ¨¡å¼
-çææåº¦ã
-\-1000000000表示æ¯ä¸ªå¸§ä¸é½ä¼ä¾¦æµåºä¸ä¸ªåºæ¯åæ¢ï¼1000000000表示侦æµä¸åºä»»ä½åºæ¯å
-æ¢ï¼é»è®¤å¼ï¼0ï¼ã
-.
-.TP
-.B sc_factor=<any positive integer>
-导è´ä½¿ç¨è¾é«éååæ°ç帧æ´å®¹æå¼ååºæ¯åæ¢ç侦æµï¼ä»è使libavcodec使ç¨ä¸ä¸ªI帧
-ï¼é»è®¤å¼ï¼1ï¼ã
-1\-16æ¯ä¸ä¸ªåççèå´ã
-2è³6ä¹é´çå¼è½æé«å³°å¼ä¿¡åªæ¯ï¼PSNRï¼ï¼æé«å¤§çº¦ä¸º0.04dBï¼å¹¶ä¸è®©I帧å¨é«å¨æåºæ¯ä¸
-æ¾ç½®äºæ´åéçä½ç½®
-é«äº6çå¼å¯è½æé«ä¸ç¹ç¹PSNRï¼å¤§çº¦æ¯sc_factor=6å¤0.01dBï¼ï¼èè§è§è´¨éä¸éå´ç¸å½å¯
-è§ã
-.
-.TP
-.B vb_strategy=<0\-2>ï¼åªç¨äºç¬¬ä¸é¶æ®µç¼ç ï¼
-éç¨I/P/B帧ççç¥ï¼
-.PD 0
-.RSs
-.IPs 0
-æ»æ¯ä½¿ç¨æå¤çB帧ï¼é»è®¤å¼ï¼ã
-.IPs 1
-å¨é«å¨æåºæ¯ä¸é¿å
使ç¨B帧ã
-åè§b_sensitivityé项以è°è¯è¿ä¸çç¥ã
-.IPs 2
-è°æ´ä½¿ç¨B帧ç个æ°ä»¥ä½¿è´¨éæå¥½ï¼è¿è¡ç¼æ
¢ï¼ã
-ä½ å¯ä»¥è¦éè¿è°æ´brd_scaleé项以åå°è¯¥é项对äºè¿è¡é度çè´é¢ä½ç¨ã
-.RE
-.PD 1
-.
-.TP
-.B b_sensitivity=<ä»»ä½å¤§äº0çæ´æ°>
-è°æ´vb_strategy=1æ¶è¿å¨ä¾¦æµçææç¨åº¦ä»èé¿å
使ç¨B帧ï¼é»è®¤å¼ï¼40ï¼ã
-ææç¨åº¦è¶ä½å°å¯¼è´è¶å¤çB帧ã
-ä½¿ç¨æ´å¤çB帧éå¸¸è½æåå³°å¼ä¿¡åªæ¯ï¼ä½å¤ªå¤çB帧å¯è½å¯¼è´å¨é«å¨æåºæ¯ä¸è´¨éä¸éã
-é¤éè¿å¨ç¨åº¦æå
¶é«ï¼å¦åb_sensitivity设为ä½äºé»è®¤ç弿¯å¾å®å
¨çï¼10å¨å¤§å¤æ°æ
åµ
-䏿¯ä¸ä¸ªçæ³çå¼ã
-.
-.TP
-.B brd_scale=<0\-10>
-åå°å¨æB帧å³çä¸å¸§ç尺寸ï¼é»è®¤å¼ï¼0ï¼ã
-brd_scaleæ¯å¢å ä¸ï¼å¸§ç宽é«å°åå°ä¸åï¼è¿æ ·å°±ä½¿è¿è¡é度æåè³ååã
-尺寸åå°å帧ç宽åé«é½å¿
é¡»æ¯å¶æ°ï¼æä»¥brd_scale=1è¦æ±åæ¥ç宽é«å°ºå¯¸æ¯åçåæ°ï¼
-brd_scale=2è¦æ±åæ¥ç宽é«å°ºå¯¸æ¯å
«çåæ°ï¼ä¾æ¬¡ç±»æ¨ã
-æ¢å¥è¯è¯´ï¼åæ¥å¸§ç宽é«å°ºå¯¸é½å¿
é¡»è½è¢«2^(brd_scale+1)æ´é¤ã
-.
-.TP
-.B bidir_refine=<0\-4>
-ä¼åç¨äºååå®åç两个è¿å¨ç¢éï¼è䏿¯éå¤ä½¿ç¨åååååæç´¢ææ¾å°çç¢éã
-该é项åªå¯¹B帧ææã
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨ï¼é»è®¤å¼ï¼ã
-.IPs 1\-4
-ä½¿ç¨æ´å¹¿æ³çæç´¢æ¨¡å¼ï¼å¼è¶å¤§è¿è¡è¶æ
¢ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B vpass=<1\-3>
-å¯ç¨å
ç½®çäºé¶æ®µï¼ææ´å¤é¶æ®µï¼ç¼ç 模å¼ï¼åªæå½ä½ æ³ä½¿ç¨äºé¶æ®µï¼ææ´å¤é¶æ®µï¼ç¼ç 模
-弿¶ææå®è¿ä¸ªå¼ã
-.PD 0
-.RSs
-.IPs 1
-第ä¸é¶æ®µç¼ç ï¼å¦åè§turboï¼
-.IPs 2
-第äºé¶æ®µç¼ç
-.IPs 3
-第Né¶æ®µç¼ç ï¼Né¶æ®µç¼ç 模å¼ä¸ç¬¬äºé¶æ®µä»¥åä¹ååé¶æ®µçç¼ç ï¼
-.RE
-.RS
-以ä¸å±ç¤ºäºå
¶å¦ä½å·¥ä½ï¼ä»¥åå¦ä½ä½¿ç¨ï¼
-.br
-第ä¸é¶æ®µç¼ç ï¼vpass=1ï¼è¾åºç»è®¡æä»¶ã
-ä½ å¯è½å¸æå
³éä¸äºå¤§éæ¶èCPUçé项ï¼å°±åâturboâæ¨¡å¼æåç飿 ·ã
-.br
-å¨äºé¶æ®µç¼ç 模å¼ä¸ï¼ç¬¬äºé¶æ®µï¼vpass=2ï¼è¯»åç»è®¡æä»¶çå
容并便®è¯¥å
容ä½åºç çæ§
-å¶çå³çã
-.br
-å¨Né¶æ®µæ¨¡å¼ä¸ï¼ç¬¬äºé¶æ®µï¼vpass=3ââè¿ä¸æ¯æ¬ææ¡£çå°å·é误ï¼åæ¶å两件äºï¼é¦å
读
-åç»è®¡ä¿¡æ¯ï¼ç¶åéåè¿äºä¿¡æ¯ã妿åå¨ä¸å¾ä¸ç»æMEncoderçå¯è½ï¼é£ä¹ä½ å¯è½å¸æå¨
-åè¿ä¸æ¥åå¤ä»½divx2pass.logã
-ä½ å¯ä»¥ä½¿ç¨ææçç¼ç é项ï¼é¤éæ¯é常æ¶èCPUçé项å¦âqnsâã
-.br
-ä½ å¯ä»¥å夿§è¡ä¸æ¤ç¸åçç¼ç é¶æ®µä»¥ä¼åç¼ç ã
-æ¯ä¸ªç´§æ¥ççç¼ç é¶æ®µå°ä½¿ç¨ä¸ä¸ä¸ªé¶æ®µçç»è®¡ä¿¡æ¯å¹¶è¿ä¸æ¥ä¼åã
-æåä¸ä¸ªç¼ç é¶æ®µå¯ä»¥å
å«ä»»æå¤§éæ¶èCPUçç¼ç é项ã
-.br
-å¦æä½ æ³ç¨äºé¶æ®µç¼ç 模å¼ï¼é£ä¹å
使ç¨vpass=1ï¼ç¶ååç¨vpass=2ã
-.br
-å¦æä½ æ³ç¨ä¸é¶æ®µææ´å¤é¶æ®µçç¼ç 模å¼ï¼é£ä¹å¨ç¬¬ä¸é¶æ®µä½¿ç¨vpass=1ï¼æ¥çç¨vpass=3ï¼
-æ¥ç䏿ç¨vpass=3ç´è³ä½ 对ç¼ç ç»ææ»¡æäºã
-.RE
-.PD 1
-.sp 1
-.RS
-huffyuvï¼
-.RE
-.PD 0
-.RSs
-.IPs "第ä¸é¶æ®µ"
-ä¿åç»è®¡ä¿¡æ¯ã
-.IPs "第äºé¶æ®µ"
-使ç¨åºäºç¬¬ä¸é¶æ®µç»è®¡ä¿¡æ¯çæä¼å夫æ¼è¡¨ç¼ç ã
-.RE
-.PD 1
-.
-.TP
-.B turboï¼ä»
ç¨äºäºé¶æ®µç¼ç ï¼
-ä½¿ç¨æ´å¿«çç®æ³å¹¶ç¦ç¨å¤§éå ç¨CPUçé项以使第ä¸é¶æ®µç¼ç çè¿è¡å¤§å¹
å å¿«ã
-该é项å¯è½ç¨ç¨éä½å
¨å±å³°å¼ä¿¡åªæ¯ï¼å¤§çº¦ä¸º0.01dBï¼å¹¶ä¸æ¹åå个帧çç±»å以åç¨ç¨æ¹å
-该帧çå³°å¼ä¿¡åªæ¯ï¼æå¤è³0.03dBï¼ã
-.
-.TP
-.B aspect=<x/y>
-卿件å
é¨ä¿åå½±çç宽髿¯ï¼å°±åMPEGæä»¶ä¸æ ·ã
-æ¯ä½¿ç¨ç¼©æ¾åè½ææå¥½å¤äºï¼å 为质éä¸ä¸éã
-åªæMPlayerè½æ£ç¡®ææ¾è¿äºæä»¶ï¼å
¶å®ææ¾å¨ä¼ä»¥é误ç宽髿¯æ¾ç¤ºã
-宽髿¯åæ°å¯ä»¥ä»¥æ¯çææµ®ç¹æ°åçå½¢å¼ç»åºã
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.RSs
-.PD 0
-.IPs "aspect=16/9æaspect=1.78"
-.PD 1
-.RE
-.
-.TP
-.B autoaspect
-ä¸aspecté项ç¸åï¼ä½æ¯éè¿ç»¼åèéæ»¤éé¾ä¸çåç§è°æ´ï¼crop/\:expand/\:scale/\:ç
-çï¼èªå¨è®¡ç®å®½é«æ¯ã
-ä¸ä¼å¯¹æ§è½äº§çè´é¢å½±åï¼æä»¥ä½ å¯ä»¥æ¾å¿å°è®©è¯¥éé¡¹ä¿æä¸ºæå¼çç¶æã
-.
-.TP
-.B vbitrate=<value>
-æå®æ¯ç¹çï¼é»è®¤å¼ï¼800ï¼ã
-.br
-.I è¦åï¼
-1kbit = 1000 bits
-.PD 0
-.RSs
-.IPs 4\-16000
-ï¼åä½ä¸ºkbitï¼
-.IPs 16001\-24000000
-ï¼åä½ä¸ºbitï¼
-.RE
-.PD 1
-.
-.TP
-.B vratetol=<value>
-æä»¶å¤§å°æ§å¶ä¸å
许åºå
¥çæ°éï¼åä½ä¸ºkbitã
-1000\-100000æ¯ä¸ä¸ªåççèå´ã
-ï¼è¦åï¼1kbit = 1000 bitsï¼
-ï¼é»è®¤å¼ï¼8000ï¼
-.br
-.I 注æï¼
-vratetolå¨ç¬¬äºé¶æ®µç¼ç ä¸ä¸åºè®¾å¾å¤ªå¤§ï¼å¦åå½è®¾ç½®äºvrc_(min|max)rateæ¶ï¼å¯è½ä¼äº§
-çé®é¢ã
-.
-.TP
-.B vrc_maxrate=<value>
-æå¤§æ¯ç¹çï¼åä½ä¸ºkbit/\:sec
-ï¼é»è®¤å¼ï¼0ï¼æ éå¶ï¼
-.
-.TP
-.B vrc_minrate=<value>
-æå°æ¯ç¹çï¼åä½ä¸ºkbit/\:sec
-ï¼é»è®¤å¼ï¼0ï¼æ éå¶ï¼
-.
-.TP
-.B vrc_buf_size=<value>
-ç¼å²å¤§å°ï¼åä½ä¸ºkbitã
-å¨MPEG-1/2ä¸è¯¥éé¡¹åæ¶è®¾ç½®äºvbvç¼å²ç大å°ï¼å¯¹äºVCD请使ç¨327ï¼å¯¹äºSVCD使ç¨917ï¼è
-DVD使ç¨1835ã
-.
-.TP
-.B vrc_buf_aggressivity
-å½å没æä»ä¹ä½ç¨
-.
-.TP
-.B vrc_strategy
-ç çæ§å¶æ¹å¼ã
-注æå½vrc_strategyä¸è®¾ä¸º0æ¶ï¼ä¸äºå½±åç çæ§å¶çé项å°ä¸èµ·ä»»ä½ä½ç¨ã
-.PD 0
-.RSs
-.IPs 0
-使ç¨å
ç½®çlavcç çæ§å¶æ¹å¼ï¼é»è®¤å¼ï¼ã
-.IPs 1
-使ç¨Xvidçç çæ§å¶æ¹å¼ï¼ä»
便µè¯ç¨ï¼è¦æ±MEncoderç¼è¯æ¶å å
¥å¯¹Xvid 1.1ææ´é«çæ¬ç
-æ¯æï¼ã
-.RE
-.PD 1
-.
-.TP
-.B vb_qfactor=<\-31.0\-31.0>
-B帧åéB帧é´çéååæ°å æ°ï¼é»è®¤å¼1.25ï¼
-.
-.TP
-.B vi_qfactor=<\-31.0\-31.0>
-I帧åéI帧é´çéååæ°å æ°ï¼é»è®¤å¼0.8ï¼
-.
-.TP
-.B vb_qoffset=<\-31.0\-31.0>
-B帧åéB帧é´çéååæ°åç§»éï¼é»è®¤å¼1.25ï¼
-.
-.TP
-.B vi_qoffset=<\-31.0\-31.0>
-ï¼é»è®¤å¼0.0ï¼
-.br
-妿v{b|i}_qfactor > 0
-.br
-I/B帧éååæ° = P帧éååæ° * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-å¦å
-.br
-使ç¨å¸¸è§çç çæ§å¶æ¹å¼ï¼ä¸éå®äºä¸ä¸ä¸ªP帧çéååæ°ï¼è设置
-q= \-q * v{b|i}_qfactor + v{b|i}_qoffset
-.br
-.I æç¤ºï¼
-è¦æ§è¡æå®éååæ°çç¼ç è对I/PåB帧åºç¨ä¸åçéååæ°ï¼ä½ å¯ä»¥ä½¿ç¨ï¼
-lmin= <I/P帧éååæ°>:lmax= <I/P帧éååæ°>:vb_qfactor= <B帧éååæ°/\:I/P帧éååæ°>ã
-.
-.TP
-.B vqblur=<0.0\-1.0>ï¼ç¬¬ä¸é¶æ®µç¼ç ï¼
-éååæ°æ¨¡ç³ç³»æ°ï¼é»è®¤å¼ï¼0.5ï¼ï¼å¼è¶å¤§å°ä½¿éå忰卿¶é´ä¸åå¸å¾è¶å¹³åï¼ååå¾
-è¶æ
¢ï¼ã
-.PD 0
-.RSs
-.IPs 0.0
-ç¦ç¨éååæ°æ¨¡ç³åè½ã
-.IPs 1.0
-使éå忰卿æå
ååºç°ç帧ä¸å¹³ååã
-.RE
-.PD 1
-.
-.TP
-.B vqblur=<0.0\-99.0>ï¼ç¬¬äºé¶æ®µç¼ç ï¼
-éå忰髿¯æ¨¡ç³ï¼é»è®¤å¼ï¼0.5ï¼ï¼å¼è¶å¤§å°ä½¿éå忰卿¶é´ä¸åå¸å¾è¶å¹³åï¼ååå¾
-è¶æ
¢ï¼ã
-.
-.TP
-.B vqcomp=<0.0\-1.0>
-éååæ°å缩ï¼vrc_eqé项ä¾èµäºè¯¥é项ï¼é»è®¤å¼ï¼0.5ï¼ã
-.I 注æï¼
-å¨ä¸¤ä¸ªæç«¯å¼ä¹é´çæä¸ªå¼è½ä½¿æè§è´¨éè¾¾å°æä¼ã
-.
-.TP
-.B vrc_eq=<equation>
-主ç çæ§å¶æ¹ç¨å¼
-.RE
-.RSs
-.IPs 1+(tex/\:avgTex-1)*qComp
-è¿ä¼¼äºä»¥åç çæ§å¶ä»£ç æç¨çæ¹ç¨å¼
-.IPs tex^qComp
-å¼ä¸qcomp为0.5ææä¸ªç±»ä¼¼è®¾ç½®ï¼é»è®¤å¼ï¼
-.RE
-.PP
-.RS
-ä¸ç½®è¿ç®ç¬¦ï¼
-.RE
-.RSs
-.IPs +,\-,*,/,^
-.RE
-.PP
-.RS
-åéï¼
-.RE
-.RSs
-.IPs "tex\ \ "
-纹çå¤æåº¦
-.IPs iTex,pTex
-å
é¨ãéå
é¨çº¹çå¤æåº¦
-.IPs avgTex
-å¹³å纹çå¤æåº¦
-.IPs avgIITex
-I帧ä¸çå¹³åå
é¨çº¹çå¤æåº¦
-.IPs avgPITex
-P帧ä¸çå¹³åå
é¨çº¹çå¤æåº¦
-.IPs avgPPTex
-P帧ä¸çå¹³åéå
é¨çº¹çå¤æåº¦
-.IPs avgBPTex
-B帧ä¸çå¹³åéå
é¨çº¹çå¤æåº¦
-.IPs "mv\ \ \ "
-ç¨äºè¿å¨ç¢éçæ¯ç¹æ°
-.IPs fCode
-以log2对æ°å¼è®¡éçæå¤§è¿å¨ç¢éé¿åº¦
-.IPs iCount
-å
é¨å®åæ°/å®åæ°
-.IPs "var\ \ "
-空é´å¤æåº¦
-.IPs mcVar
-æ¶é´å¤æåº¦
-.IPs qComp
-å½ä»¤è¡è¾å
¥çqcompå¼
-.IPs "isI, isP, isB"
-è¥å¾åç±»å为I/P/Bå为1ï¼å¦å为0ã
-.IPs "Pi,E\ "
-åè§ä½ æåæ¬¢çæ°å¦ä¹¦ã
-.RE
-.PP
-.RS
-彿°ï¼
-.RE
-.RSs
-.IPs max(a,b),min(a,b)
-æå¤§å¼/æå°å¼
-.IPs gt(a,b)
-è¥a>bå为1ï¼å¦å为0
-.IPs lt(a,b)
-è¥a<bå为1ï¼å¦å为0
-.IPs eq(a,b)
-è¥a==bå为1ï¼å¦å为0
-.IPs "sin, cos, tan, sinh, cosh, tanh, exp, log, abs"
-.RE
-.
-.TP
-.B vrc_override=<options>
-ç¨æ·æå®çéäºå½±çç¹å®é¨åï¼å°¾å£°ãæ¼èå表â¦â¦ï¼çè´¨éå¼ã
-é项æ<start-frame>ã<end-frame>ã<quality>[/<start-frame>,
-<end-frame>, <quality>[/...]]ï¼
-.PD 0
-.RSs
-.IPs "quality (2\-31)"
-éååæ°
-.IPs "quality (\-500\-0)"
-è´¨éä¿®æ£çç¾åæ¯ç¨åº¦
-.RE
-.PD 1
-.
-.TP
-.B vrc_init_cplx=<0\-1000>
-åå§å¤æåº¦ï¼ç¬¬ä¸é¶æ®µç¼ç ï¼
-.
-.TP
-.B vrc_init_occupancy=<0.0\-1.0>
-åå§ç¼å²å ç¨éï¼ä¸ºvrc_buf_sizeå¼çä¸ä¸ªåæ°ï¼é»è®¤å¼ï¼0.9ï¼
-.
-.TP
-.B vqsquish=<0|1>
-æå®å¦ä½ä½¿éååæ°ä¿æå¨qminåqmaxä¹é´ã
-.PD 0
-.RSs
-.IPs 0
-ä½¿ç¨æªææ¹å¼ã
-.IPs 1
-使ç¨ä¸ç§ä¸éçå¾®å彿°ï¼é»è®¤å¼ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B vlelim=<\-1000\-1000>
-设置亮度çåä¸ç³»æ°æ¶åéå¼ã
-è®¾ä¸ºè´æ°å¼åå°åæ¶èéç´æµç³»æ°ï¼å¨ä»¥quant=1ç¼ç æ¶åºå½è³å°è®¾ä¸º\-4ææ´ä½ï¼ï¼
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨ï¼é»è®¤å¼ï¼
-.IPs \-4
-JVTæ¨èå¼
-.RE
-.PD 1
-.
-.TP
-.B vcelim=<\-1000\-1000>
-设置è²åº¦çåä¸ç³»æ°æ¶åéå¼ã
-è®¾ä¸ºè´æ°å¼åå°åæ¶èéç´æµç³»æ°ï¼å¨ä»¥quant=1ç¼ç æ¶åºå½è³å°è®¾ä¸º\-4ææ´ä½ï¼ï¼
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨ï¼é»è®¤å¼ï¼
-.IPs 7
-JVTæ¨èå¼
-.RE
-.PD 1
-.
-.TP
-.B vstrict=<\-2|\-1|0|1>
-ä¸¥æ ¼ç¬¦åç¼ç æ å
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨
-.IPs 1
-åªæå½ä½ æ³è®©MPEG-4æ åè§£ç å¨è¯»åç¼ç è¾åºç»ææ¶ææ¨è使ç¨
-.IPs \-1
-å
许使ç¨libavcodecä¸ç¨çæ©å±åè½ï¼é»è®¤å¼ï¼ã
-.IPs \-2
-å¯ç¨å®éªæ§çç¼è§£ç å¨ååè½ï¼è¿äºå¯è½å¨å°æ¥çæ¬çMPlayer䏿 æ³ææ¾ï¼ç¨äºsnowï¼ã
-.RE
-.PD 1
-.
-.TP
-.B "vdpart\ "
-æ°æ®åéã
-æ¯ä¸ªè§é¢æ°æ®å
å¢å 2åèå
容ï¼ä»èæ¹åå¨ä¸å¯é ä¿¡éä¸ä¼ è¾æ¶ï¼ä¾å¦ï¼å¨å ç¹ç½ä¸ä¼ è¾
-æµåªä½ï¼ç容éè½åã
-æ¯ä¸ªè§é¢æ°æ®å
å°ç¼ç 为3个ç¬ç«çé¨åï¼
-.PD 0
-.RSs
-.IPs "1. MVs"
-è¿å¨ä¿¡æ¯
-.IPs "2. DC coefficientsï¼ç´æµç³»æ°ï¼"
-ä½å辨çç»é¢
-.IPs "3. AC coefficientsï¼äº¤æµç³»æ°ï¼"
-ç»è
-.RE
-.PD 1
-.RS
-MVåDCæä¸ºéè¦ï¼ä¸¢å¤±è¿ä¸¤ä¸ªé¨åä¼¼ä¹è¿æ¯ä¸¢å¤±ACé¨åå1. & 2.é¨å严éå¾å¤ã
-(MV & DC)è¿æ¯3.é¨åï¼ACï¼å°å¾å¤ï¼è¿æå³çä¼ è¾é误æ´å¤åºç°å¨ACé¨åè䏿¯MV & DCé¨
-åã
-æä»¥ï¼ç»é¢å¨æ°æ®åå²åå°æ¯æªå岿¶çä¸å»æ´å¥½ï¼å 为æªå岿¶ä¼ è¾é误å°åçå°æå
-AC/\:DC/\:MVä¸ä¸ªé¨åã
-.RE
-.
-.TP
-.B vpsize=<0\-10000>ï¼å¦åè§vbpartï¼
-è§é¢æ°æ®å
ç大å°ï¼ç¨äºæ¹å容éè½åã
-.PD 0
-.RSs
-.IPs "0\ \ \ \ "
-ç¦ç¨ï¼é»è®¤å¼ï¼
-.IPs 100\-1000
-è¾å¥½çéæ©
-.RE
-.PD 1
-.
-.TP
-.B "ss\ \ \ \ \ "
-ç¨äºH.263+çåçç»ææ¨¡å¼
-.
-.TP
-.B "gray\ \ \ "
-ä»
ç°åº¦çç¼ç ï¼è¾å¿«ï¼
-.
-.TP
-.B vfdct=<0\-10>
-DCTç®æ³
-.PD 0
-.RSs
-.IPs 0
-èªå¨éç¨ä¸ä¸ªè¯å¥½çç®æ³ï¼é»è®¤å¼ï¼ã
-.IPs 1
-å¿«éæ´æ°å¼
-.IPs 2
-ç²¾ç¡®æ´æ°å¼
-.IPs 3
-MMX
-.IPs 4
-mlib
-.IPs 5
-AltiVec
-.IPs 6
-æµ®ç¹AAN
-.RE
-.PD 1
-.
-.TP
-.B idct=<0\-99>
-IDCTç®æ³
-.br
-.I 注æï¼
-æ®æä»¬æç¥ï¼ææè¿äºIDCTç®æ³åéè¿IEEE1180æµè¯ã
-.PD 0
-.RSs
-.IPs 0
-èªå¨éç¨ä¸ä¸ªè¯å¥½çç®æ³ï¼é»è®¤å¼ï¼ã
-.IPs 1
-JPEGæ åæ´æ°å¼
-.IPs 2
-ç®åå¼
-.IPs 3
-ç®åMMX
-.IPs 4
-libmpeg2mmxï¼ä¸ç²¾ç¡®ï¼ä¸è¦ç¨äºkeyint >100模å¼ä¸çç¼ç ï¼
-.IPs 5
-ps2
-.IPs 6
-mlib
-.IPs 7
-arm
-.IPs 8
-AltiVec
-.IPs 9
-sh4
-.IPs 10
-simplearm
-.IPs 11
-H.264
-.IPs 12
-VP3
-.IPs 13
-IPP
-.IPs 14
-xvidmmx
-.IPs 15
-CAVS
-.IPs 16
-simplearmv5te
-.IPs 17
-simplearmv6
-.RE
-.PD 1
-.
-.TP
-.B lumi_mask=<0.0\-1.0>
-亮度å±è½æ¯ä¸ç§âå¿çæå®æ§âç设置ï¼ä¸è¬è®¤ä¸ºå
¶æå©ç¨çäºå®æ¯äººç¼å¾åäºå¨ç»é¢ä¸å¾
-亮çé¨åéåªæ³¨æå°è¾å°çç»èã
-亮度å±è½æ¨¡å¼æ¯ä¸æ§çæ¨¡å¼æ´å¤§å¹
度å°å缩æäº®çåºåï¼æä»¥å®è½çä¸ä¸å°æ¯ç¹å°å
¶ç¨äºå
¶
-å®ç帧ä¸ï¼ä»èæé«æ´ä½çä¸»è§æå®è´¨éï¼ä½åæ¶å¯è½éä½äºå³°å¼ä¿¡åªæ¯ã
-.br
-.I è¦åï¼
-å°å¿ï¼å¼è¿å¤§å¯è½å¯¼è´ç¾é¾æ§çåæã
-.br
-.I è¦åï¼
-å¼è®¾å¾å¤§å¯è½å¨æäºæ¾ç¤ºå¨ä¸çèµ·æ¥ææå¥½ï¼ä½å¯è½å¨å
¶å®æ¾ç¤ºå¨ä¸å°±æ¾å¾é¾çã
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-ç¦ç¨ï¼é»è®¤å¼ï¼
-.IPs 0.0\-0.3
-åççèå´
-.RE
-.PD 1
-.
-.TP
-.B dark_mask=<0.0\-1.0>
-æåº¦å±è½æ¯ä¸ç§âå¿çæå®æ§âç设置ï¼ä¸è¬è®¤ä¸ºå
¶æå©ç¨çäºå®æ¯äººç¼å¾åäºå¨ç»é¢ä¸å¾
-æçé¨åéåªæ³¨æå°è¾å°çç»èã
-æåº¦å±è½æ¨¡å¼æ¯ä¸æ§çæ¨¡å¼æ´å¤§å¹
度å°å缩æäº®çåºåï¼æä»¥å®è½çä¸ä¸å°æ¯ç¹å°å
¶ç¨äºå
¶
-å®ç帧ä¸ï¼ä»èæé«æ´ä½çä¸»è§æå®è´¨éï¼ä½åæ¶å¯è½éä½äºå³°å¼ä¿¡åªæ¯ã
-.br
-.I è¦åï¼
-å°å¿ï¼å¼è¿å¤§å¯è½å¯¼è´ç¾é¾æ§çåæã
-.br
-.I è¦åï¼
-å¼è®¾å¾å¤§å¯è½å¨æäºæ¾ç¤ºå¨ä¸çèµ·æ¥ææå¥½ï¼ä½å¯è½å¨å
¶å®æ¾ç¤ºå¨/çµè§/æ¶²æ¶å±ä¸å°±æ¾å¾é¾
-çã
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-ç¦ç¨ï¼é»è®¤å¼ï¼
-.IPs 0.0\-0.3
-åççèå´
-.RE
-.PD 1
-.
-.TP
-.B tcplx_mask=<0.0\-1.0>
-æ¶é´å¤æåº¦å±è½ï¼é»è®¤å¼ï¼0.0ï¼ç¦ç¨ï¼ï¼ã
-设æ³ä¸ä¸ä¸ä¸ªåºæ¯ä¸ä¸åªé¸é£è¿æ´ä¸ªåºæ¯ï¼tcplx_mask尿髿ç»é¸çå®åçéååæ°ï¼ä»
-èéä½è¿äºå®åçè´¨éï¼ï¼è人ç¼éå¸¸æ²¡ææ¶é´å»çæ¸
é¸çææç»èã
-注æå¦æè¢«å±è½çå¯¹è±¡åæ¢è¿å¨ï¼ä¾å¦é¸å¿è½å°äºï¼ï¼é£ä¹å¾æå¯è½å¨çæ¶é´å
è¿ä¸ªå¯¹è±¡ä¼
-æ¾å¾å¾é¾çï¼ç´è³ç¼ç 卿³¨æå°è¿ä¸ªå¯¹è±¡ä¸å¨äºèéè¦æ´å¥½ç忥æç»ã
-èç䏿¥çæ¯ç¹å°ç¨äºè§é¢ä¸çå
¶å®é¨åï¼åªè¦tcplx_maskç»è¿ç²¾å¿éåï¼è¿å°æé«ä¸»è§æ
-å®è´¨éã
-.
-.TP
-.B scplx_mask=<0.0\-1.0>
-空é´å¤æåº¦å±è½
-å¦ææ²¡æè§£åæåºæ»¤éç¨äºè§£ç è¿ç¨ï¼é£ä¹è¾å¤§ç弿å©äºæ¶é¤åæåºï¼ä½è¿å¯è½ä¸æ¯ä¸ä¸ª
-好忳ã
-.br
-设æ³ä¸ä¸ä¸ä¸ªå«æèä¸ï¼è¿é常æå¾å¤§ç空é´å¤æåº¦ï¼ãè天åä¸é´æ¿åçåºæ¯ï¼
-scplx_mask尿髿ç»èä¸çå®åçéååæ°ï¼ä»èéä½å
¶è´¨éï¼ç±æ¤å°æ´å¤çæ¯ç¹è±å¨å¤©
-ç©ºåæ¿åä¸ã
-.br
-.I æç¤ºï¼
-è¦å
åå餿æçå½±çé»è¾¹ï¼å 为å®ä»¬ä½¿å®åçè´¨éä¸éï¼è¿åæ ·éç¨äºä¸ç¨scplx_maskç
-æ
å½¢ï¼ã
-.PD 0
-.RSs
-.IPs "0.0\ \ "
-ç¦ç¨ï¼é»è®¤å¼ï¼
-.IPs 0.0\-0.5
-åççèå´
-.RE
-.PD 1
-.sp 1
-.RS
-.I 注æï¼
-è¿ä¸ªè®¾ç½®ä¸ä½¿ç¨è½æ´å¤§å¹
度å缩é«é¢ä¿¡å·çèªå®ä¹éåç©éµä¸å
·æç¸åææï¼å 为
-å³ä½¿ç´æµä¿¡å·æ¹åæ¶scplx_maskä¹ä¸ä¼éä½Påçè´¨éã
-scplx_maskçææå¯è½ä¹ä¸å¦é£ç§æ¹å¼å¥½ã
-.RE
-.
-.TP
-.B p_mask=<0.0\-1.0>ï¼å¦åè§vi_qfactorï¼
-éä½å¸§é´åçè´¨éã
-è¿çä»·äºæé«å
é¨åçè´¨éï¼å 为ç çæ§å¶å¨ä»å¨æ´ä¸ªè§é¢åºåä¸ä»¥ç¸åçå¹³åç çåé
äº
-æ°æ®èµæºï¼é»è®¤å¼ï¼0.0ï¼ç¦ç¨ï¼ï¼ã
-p_mask=1.0使åé
å°æ¯ä¸ªå
é¨åçæ¯ç¹æ°å åã
-.
-.TP
-.B border_mask=<0.0\-1.0>
-ç¨äºMPEG飿 ¼ç¼ç å¨çç»é¢è¾¹ç¼å¤ç模å¼ã
-ç»é¢è¾¹ç¼å¤çæ¨¡å¼æé«è·ç¦»ç»é¢å¸§è¾¹ç¼ä¸å°1/5个帧宽度/é«åº¦çå®åçéååæ°ï¼å 为è¿äº
-å®åéå¸¸å¯¹äºæ¾ç¤ºææè¾ä¸ºä¸éè¦ã
-.
-.TP
-.B "naq\ \ \ \ "
-使èªéåºé忍¡å¼æ£æåï¼å®éªæ§é项ï¼ã
-å½ä½¿ç¨èªéåºé忍¡å¼ï¼*_maskï¼æ¶ï¼å¹³åæ¯ä¸ªå®åçéå忰大å°å¯è½ä¸å䏿éè¦ç帧
-级å«çéååæ°ç¸ä¸è´ã
-Naqå°å°è¯è°æ´æ¯ä¸ªå®åçéå忰以ä¿è¯å¹³åå¼ä¸ºéå½çå¼ã
-.
-.TP
-.B "ildct\ \ "
-使ç¨éè¡æ«æçDCTã
-.
-.TP
-.B "ilme\ \ \ "
-使ç¨éè¡æ«æçè¿å¨ä¼°è®¡æ¨¡å¼ï¼ä¸qpelä¸è½åæ¶ä½¿ç¨ï¼ã
-.
-.TP
-.B "alt\ \ \ \ "
-使ç¨å¦ä¸ç§æ«æè¡¨ã
-.
-.TP
-.B "top=<\-1\-1>\ \ \ "
-.PD 0
-.RSs
-.IPs \-1
-èªå¨å¤æ
-.IPs 0
-ä¸åæ«æåºå
è¿å
¥
-.IPs 1
-ä¸åæ«æåºå
è¿å
¥
-.RE
-.PD 1
-.
-.TP
-.B format=<value>
-.PD 0
-.RSs
-.IPs "YV12\ "
-é»è®¤å¼
-.IPs "444P\ "
-ç¨äºffv1
-.IPs "422P\ "
-ç¨äºHuffYUVãæ æJPEGãdvåffv1
-.IPs "411P\ "
-ç¨äºæ æJPEGãdvåffv1
-.IPs "YVU9\ "
-ç¨äºæ æJPEGãffv1åsvq1
-.IPs "BGR32"
-ç¨äºæ æJPEGåffv1
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-ï¼ç¨äºHuffYUVï¼
-.PD 0
-.RSs
-.IPs 0
-左颿µ
-.IPs 1
-å¹³é¢/\:æ¢¯åº¦é¢æµ
-.IPs 2
-ä¸ä½æ°é¢æµ
-.RE
-.PD 1
-.
-.TP
-.B "pred\ \ \ "
-ï¼ç¨äºæ æJPEGï¼
-.PD 0
-.RSs
-.IPs 0
-左颿µ
-.IPs 1
-ä¸é¢æµ
-.IPs 2
-å·¦ä¸é¢æµ
-.IPs 3
-å¹³é¢/\:æ¢¯åº¦é¢æµ
-.IPs 6
-平忰颿µ
-.RE
-.PD 1
-.
-.TP
-.B "coder\ \ "
-ï¼ç¨äºffv1ï¼
-.PD 0
-.RSs
-.IPs 0
-vlcç¼ç ï¼Golomb-Riceï¼
-.IPs 1
-ç®æ¯ç¼ç ï¼CABACï¼
-.RE
-.PD 1
-.
-.TP
-.B context
-ï¼ç¨äºffv1ï¼
-.PD 0
-.RSs
-.IPs 0
-å°åä¸ä¸æç¯å¢æ¨¡å¼
-.IPs 1
-大åä¸ä¸æç¯å¢æ¨¡å¼
-.RE
-.PD 1
-.sp 1
-.RS
-ï¼ç¨äºffvhuffï¼
-.RE
-.PD 0
-.RSs
-.IPs 0
-é¢å
ç¡®å®çå夫æ¼è¡¨ï¼å
ç½®çææ¯äºé¶ç¼ç ä¸äº§ççï¼
-.IPs 1
-èªéåºå夫æ¼è¡¨
-.RE
-.PD 1
-.
-.TP
-.B "qpel\ \ \ "
-使ç¨ååä¹ä¸åç´ çè¿å¨è¡¥å¿æ¨¡å¼ï¼ä¸ilmeä¸è½åæ¶ä½¿ç¨ï¼ã
-.br
-.I æç¤ºï¼
-该é项似ä¹åªå¯¹é«æ¯ç¹ççç¼ç æç¨ã
-.
-.TP
-.B mbcmp=<0\-2000>
-设置ç¨äºå®åå³ççæ¯è¾å½æ°ï¼åªæå½ mbd=0 æ¶ææä½ç¨ã
-该é项ä¹ç¨äºä¸äºè¿å¨æç´¢å½æ°ä¸ï¼æ¤æ¶ä¸ç®¡ mbd 设置å¦ä½å®é½æä½ç¨ã
-.PD 0
-.RSs
-.IPs "0 (SAD)"
-ç»å¯¹å¼å·®çåï¼è¿è¡å¿«ï¼é»è®¤å¼ï¼
-.IPs "1 (SSE)"
-误差çå¹³æ¹å
-.IPs "2 (SATD)"
-Hadamard忢åç»å¯¹å¼å·®çå
-.IPs "3 (DCT)"
-DCT忢åç»å¯¹å¼å·®çå
-.IPs "4 (PSNR)"
-éå误差çå¹³æ¹åï¼é¿å
使ç¨ï¼è´¨éå·®ï¼
-.IPs "5 (BIT)"
-å䏿éçæ¯ç¹çæ°é
-.IPs "6 (RD)"
-ç ç失çæä¼ï¼è¿è¡æ
¢
-.IPs "7 (ZERO)"
-0
-.IPs "8 (VSAD)"
-åç´æ¹åç»å¯¹å¼å·®çå
-.IPs "9 (VSSE)"
-åç´æ¹åç»å¯¹å¼å·®çå¹³æ¹å
-.IPs "10 (NSSE)"
-ä¿çåªå£°çå·®å¼çå¹³æ¹å
-.IPs "11 (W53)"
-5/3å°æ³¢ï¼åªç¨äºsnowä¸
-.IPs "12 (W97)"
-9/7å°æ³¢ï¼åªç¨äºsnowä¸
-.IPs "+256\ "
-åæ¶ä½¿ç¨è²åº¦ä¿¡æ¯ï¼å½åæ æ³å¨B帧ä¸ï¼æ£ç¡®ï¼è¿è¡ã
-.RE
-.PD 1
-.
-.TP
-.B ildctcmp=<0\-2000>
-设置éè¡æ«æDCTå³çä¸ä½¿ç¨çæ¯è¾å½æ°ï¼åè§mbcmp以è·åå¯ç¨æ¯è¾å½æ°ä¿¡æ¯ï¼ã
-.
-.TP
-.B precmp=<0\-2000>
-设置è¿å¨ä¼°è®¡é¢å¤çé¶æ®µæä½¿ç¨çæ¯è¾å½æ°ï¼åè§mbcmp以è·åå¯ç¨æ¯è¾å½æ°ä¿¡æ¯ï¼ï¼é»è®¤
-å¼ï¼0ï¼ã
-.
-.TP
-.B cmp=<0\-2000>
-设置æ´åç´ è¿å¨ä¼°è®¡ä¸æä½¿ç¨çæ¯è¾å½æ°ï¼åè§mbcmp以è·åå¯ç¨æ¯è¾å½æ°ä¿¡æ¯ï¼ï¼é»è®¤
-å¼ï¼0ï¼ã
-.
-.TP
-.B subcmp=<0\-2000>
-设置äºåç´ è¿å¨ä¼°è®¡ä¸æä½¿ç¨çæ¯è¾å½æ°ï¼åè§mbcmp以è·åå¯ç¨æ¯è¾å½æ°ä¿¡æ¯ï¼ï¼é»è®¤
-å¼ï¼0ï¼ã
-.
-.TP
-.B skipcmp=<0\-2000>
-FIXMEï¼ä¸ºè¿ä¸ªé项åè¯´æææ¡£ã
-.
-.TP
-.B nssew=<0\-1000000>
-该设置æ§å¶NSSEçæéï¼å
¶ä¸è¾å¤§çæéå°å¯¼è´è¾å¤çåªå£°ã
-0 NSSEä¸SSEæ¯ä¸æ ·ç
-å¦æä½ å¸æå¨ä½ ç¼ç åçè§é¢ä¸ä¿çä¸äºåªå£°ï¼è䏿¯å¨ç¼ç æ¶å°ä»ä»¬æ»¤é¤ï¼é£ä¹ä½ ä¼åç°
-è¿ä¸ªè®¾ç½®å¾æç¨ï¼é»è®¤å¼ï¼8ï¼ã
-.
-.TP
-.B predia=<\-99\-6>
-è¿å¨ä¼°è®¡é¢å¤çé¶æ®µä¸ä½¿ç¨è±å½¢çç±»åå大å°
-.
-.TP
-.B dia=<\-99\-6>
-è¿å¨ä¼°è®¡ä¸ä½¿ç¨çè±å½¢çç±»åå大å°ã
-è¿å¨æç´¢æ¯ä¸ä¸ªè¿ä»£å¼çè¿ç¨ã
-使ç¨ä¸ä¸ªè¾å°çè±å½¢å¹¶ä¸ä¼éå¶æç´¢ä¸åªæ¾è¾å°çè¿å¨ç¢éã
-èæ¯è¯´å¨æ¾å°æåéçè¿å¨ç¢éåæç´¢æ´å¾åäºåæ¢ï¼å°¤å
¶æ¯å¨åªå£°ä»å
¥çæ
å½¢ä¸ã
-è¾å¤§çè±å½¢å°å
è®¸å¯¹äºæä½³è¿å¨ç¢éçæç´¢æ´å 广æ³ï¼ä»èæç´¢æ´å æ
¢ä½å¾å°çç»æè´¨éæ´
-å 好ã
-.br
-大åç常è§è±å½¢æ¯èªéåºå½¢ç¶çè±å½¢è´¨éæ´å¥½ã
-.br
-èªéåºå½¢ç¶çè±å½¢å¨é度åè´¨éä¹é´æè¾å¥½çæä¸ã
-.br
-.I 注æï¼
-常è§è±å½¢åèªéåºå½¢ç¶è±å½¢å¨å¤§å°æ¦å¿µä¸çå«ä¹æ¯ä¸åçã
-.RSs
-.IPs \-3
-大å°ä¸º3çèªé形形ç¶ï¼å¿«éï¼è±å½¢
-.IPs \-2
-大å°ä¸º2çèªé形形ç¶ï¼å¿«éï¼è±å½¢
-.IPs \-1
-éååçå¤éå
边形æç´¢ï¼è¿è¡æ
¢ï¼
-.IPs 1
-size=1ç常è§è±å½¢ï¼é»è®¤å¼ï¼=EPZSç±»åçè±å½¢
-.nf
-.ne
- 0
- 000
- 0
-.fi
-.IPs 2
-size=2ç常è§è±å½¢
-.nf
-.ne
- 0
- 000
- 00000
- 000
- 0
-.fi
-.RE
-.
-.TP
-.B "trell\ \ "
-ä½¿ç¨æ ¼åå åæç´¢çé忍¡å¼ã
-该é项å°ä¸ºæ¯ä¸ª8x8忾尿ä¼çç¼ç æ¹å¼ã
-ä½¿ç¨æ ¼åå åæç´¢çéåæ¹å¼å°±æ¯ä¸ç§å¨å³°å¼ä¿¡åªæ¯å¯¹æ¯ç çæä¹ä¸æä¼çé忍¡å¼ï¼å设
-IDCTä¸é æä»»ä½æ°å¼èå
¥é误ï¼è¿ç§æ
å½¢æ¾ç¶ä¸å¨è®¨è®ºä¹åãï¼ã
-è¿ç§é忍¡å¼å°±æ¯æ¾ä¸ä¸ªå
·ææå°é误æ°ålambda*bitså¼çåã
-.PD 0
-.RSs
-.IPs lambda
-ä¸éååæ°ï¼QPï¼ç¸å
³ç常æ°
-.IPs "bits\ "
-ç¼ç è¿ä¸ªåæéçæ¯ç¹æ°éã
-.IPs error
-éåé误æ°çå¹³æ¹å
-.RE
-.PD 1
-.
-.TP
-.B "cbp\ \ \ \ "
-ç ç失çæä¼çç¼ç ååçç¹å¾ã
-å°éå使ååå¼ä¸lambda*rateå¼çåæå°åçç¼ç ååçç¹å¾ã
-该é项åªè½ä¸æ ¼åå åé忍¡å¼ä¸èµ·ä½¿ç¨ã
-.
-.TP
-.B "mv0\ \ \ \ "
-å°è¡å¨è¿å¨ç¢é=<0,0>çæ¡ä»¶ä¸ç¼ç æ¯ä¸ªå®åå¹¶éåæå¥½çä¸ä¸ªã
-å½mbd=0æ¶è¯¥é项没æä½ç¨ã
-.
-.TP
-.B mv0_threshold=<ä»»æéè´æ´æ°>
-å½å¨å´çè¿å¨ç¢é为<0,0>ï¼èå½ååçè¿å¨ä¼°è®¡è¯åå°äºmv0_thresholdæ¶ï¼å°ä½¿ç¨<0,0>
-ä½ä¸ºè¿å¨ç¢éï¼èè·³è¿è¿ä¸æ¥çè¿å¨ä¼°è®¡æ¥éª¤ï¼é»è®¤å¼ï¼256ï¼ã
-å°mv0_thresholdéä½è³0å¯ä»¥ä½¿å³°å¼ä¿¡åªæ¯æç¨è®¸ï¼0.01dBï¼å¢å ï¼å¹¶ä¸å¯è½ä½¿ç¼ç åçè§
-é¢çä¸å»ç¨å¾®å¥½ä¸äºï¼å°mv0_threshold设为é«äº320æ¶å°å¯¼è´å³°å¼ä¿¡åªæ¯åè§è§è´¨é大大é
-åã
-è¾é«çå¼ä½¿ç¼ç å å¿«ä¸ç¹ç¹ï¼é常ä½äº1%ï¼è¿åå³äºæä½¿ç¨çå
¶å®é项ï¼ã
-.br
-.I 注æï¼
-该é项ä¸è¦æ±å¯ç¨mv0é项ã
-.
-.TP
-.B qprdï¼ä»
ç¨äºmbd=2ï¼
-å¯¹äºæ¯ä¸ªå®åä¸ç»å®lambdaå¼çç ç失çæä¼çéååæ°ï¼QPï¼
-.
-.TP
-.B last_pred=<0\-99>
-æ¥èªåä¸å¸§çè¿å¨é¢æµå¨çæ°é
-.PD 0
-.RSs
-.IPs 0
-ï¼é»è®¤å¼ï¼
-.IPs a
-å°ä½¿ç¨2a+1 x 2a+1å®åæ°å¹³æ¹ä¸ªæ¥èªåä¸å¸§çè¿å¨ç¢é颿µå¨ã
-.RE
-.PD 1
-.
-.TP
-.B preme=<0\-2>
-è¿å¨ä¼°è®¡çé¢å¤çé¶æ®µ
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨
-.IPs 1
-åªå¨I帧å使ç¨ï¼é»è®¤å¼ï¼
-.IPs 2
-æ»æ¯ä½¿ç¨
-.RE
-.PD 1
-.
-.TP
-.B subq=<1\-8>
-äºåç´ ä¼åè´¨éï¼ç¨äºqpelï¼ï¼é»è®¤å¼ï¼8ï¼é«è´¨éï¼ï¼
-.br
-.I 注æï¼
-该é项对é度ææå¤§å½±åã
-.
-.TP
-.B refs=<1\-8>
-è¿å¨è¡¥å¿ä¸æèèçåç
§å¸§çæ°éï¼ä»
ç¨äºSnowï¼ï¼é»è®¤å¼ï¼1ï¼
-.
-.TP
-.B "psnr\ \ \ "
-ç¼ç åæå°æ´ä¸ªè§é¢çPSNRï¼å³°å¼ä¿¡åªæ¯ï¼ï¼å¹¶å°æ¯ä¸ªå¸§çPSNRåæ¾å¨ä¸ä¸ªåå诸å¦
-âpsnr_hhmmss.logâçæä»¶ä¸ã
-è¿åçå¼åä½ä¸ºdBï¼åè´ï¼ï¼å¼è¶é«è¶å¥½ã
-.
-.TP
-.B mpeg_quant
-使ç¨MPEGçéåå¨è䏿¯H.263çã
-.
-.TP
-.B "aic\ \ \ \ "
-å¯ç¨MPEG-4çAC颿µæ¨¡å¼ï¼ææ¯H.263+çé«çº§å¸§å
颿µæ¨¡å¼ã
-该é项å°å¾æéå°æåè´¨éï¼å¤§çº¦0.02dBçPSNRï¼ï¼åæ¶å¾æéå°åæ
¢ç¼ç é度ï¼å¤§çº¦ä¸º
-1%ï¼ã
-.br
-.I 注æï¼
-vqminåºå½è®¾ä¸º8ææ´å¤§ä»¥ä½¿ç¨H.263+ AICã
-.
-.TP
-.B "aiv\ \ \ \ "
-ç¨äºH.263+çå¦ä¸ç§å¸§é´vlc模å¼
-.
-.TP
-.B "umv\ \ \ \ "
-æ éå¶çè¿å¨ç¢éï¼MVï¼ï¼ä»
ç¨äºH.263+ï¼
-å
许ç¼ç ä»»æé¿çMVã
-.
-.TP
-.B ibias=<\-256\-256>
-帧å
éåå¨ååç³»æ°ï¼256çä»·äº1.0ï¼MPEGç±»åçéåå¨çé»è®¤å¼ï¼96ï¼H.263ç±»åçéå
-å¨çé»è®¤å¼ï¼0ï¼
-.br
-.I 注æï¼
-H.263 MMXéå卿 æ³å¤çæ£å¼çååç³»æ°ï¼åºè®¾ç½®vfdct=1æ2ï¼ï¼
-MPEG MMXéå卿 æ³å¤çè´å¼çååç³»æ°ï¼åºè®¾ç½®vfdct=1æ2ï¼ã
-.
-.TP
-.B pbias=<\-256\-256>
-帧é´éåå¨ååç³»æ°ï¼256çä»·äº1.0ï¼MPEGç±»åçéåå¨çé»è®¤å¼ï¼0ï¼H.263ç±»åçéåå¨
-çé»è®¤å¼ï¼\-64ï¼
-.br
-.I 注æï¼
-H.263 MMXéå卿 æ³å¤çæ£å¼çååç³»æ°ï¼åºè®¾ç½®vfdct=1æ2ï¼ï¼
-MPEG MMXéå卿 æ³å¤çè´å¼çååç³»æ°ï¼åºè®¾ç½®vfdct=1æ2ï¼ã
-.br
-.I æç¤ºï¼
-ååç³»æ°çå¼è¶å¤§ï¼\-32 \- \-16è䏿¯\-64ï¼çä¸å»è¶è½æåPSNRã
-.
-.TP
-.B nr=<0\-100000>
-åªå£°å忍¡å¼ï¼0表示ç¦ç¨ã
-0\-600对äºå
¸åçè§é¢å
容æ¥è¯´æ¯ä¸ä¸ªæç¨çèå´ï¼ä½æ¯ä½ å¯è½å¸æå°å
¶è°é«ä¸ç¹ä»¥ç¨äºåª
-ç¹ååå¤çè§é¢å
容ï¼é»è®¤å¼ï¼0ï¼ã
-èèå°è¯¥é项对äºç¼ç é度影åå°ï¼ä½ å¯è½æ³æ´å¾åäºä½¿ç¨è¿ä¸ªé项ï¼è䏿¯ç¨è¯¸å¦
-denoise3dæhqdn3dä¹ç±»çè§é¢æ»¤éæ¥è¿æ»¤åªå£°ã
-.
-.TP
-.B qns=<0\-3>
-éåå¨åªå£°æ´å½¢æ¨¡å¼ã
-该é项䏿¯éæ©å¨PSNR䏿æ¥è¿æºè§é¢çé忍¡å¼ï¼èæ¯éæ©è½ä½¿åªå£°ï¼é常æ¯è²æï¼ä¼è¢«
-å¾åä¸ç¸è¿é¢çå
容æå±è½çé忍¡å¼ã
-è¾å¤§çå¼è¿è¡éåº¦è¾æ
¢ï¼ä½å¯è½ä¸è½äº§çè¾å¥½çç¼ç è´¨éã
-该é项å¯ä»¥å¹¶ä¸åºå½ä¸æ ¼åå åé忍¡å¼ä¸èµ·ä½¿ç¨ï¼å¨è¿ç§æ
åµä¸æ ¼åå åé忍¡å¼ï¼å¯¹äº
-æå®æå¼æ¯æä¼çï¼å°ä½ä¸ºè¿ä»£æç´¢çèµ·å§æä½ã
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨ï¼é»è®¤å¼ï¼
-.IPs 1
-ä»
éä½ç³»æ°çç»å¯¹å¼ã
-.IPs 2
-ä»
æ¹åæåä¸ä¸ªéé¶ç³»æ°+1ä¹åçç³»æ°ã
-.IPs 3
-å°è¯ææå¯è½æä½ã
-.RE
-.PD 1
-.
-.TP
-.B inter_matrix=<éå·åéçç©éµ>
-使ç¨èªå®ä¹ç帧é´ç©éµã
-该é项éè¦ä¸ä¸ªç¨éå·åéç64ä¸ªæ´æ°ç»æçå符串ã
-.
-.TP
-.B intra_matrix=<comma separated matrix>
-使ç¨èªå®ä¹ç帧å
ç©éµã
-该é项éè¦ä¸ä¸ªç¨éå·åéç64ä¸ªæ´æ°ç»æçå符串ã
-.
-.TP
-.B vqmod_amp
-å®éªæ§çéåå¨è°æ´æ¨¡å¼
-.
-.TP
-.B vqmod_freq
-å®éªæ§çéåå¨è°æ´æ¨¡å¼
-.
-.TP
-.B "dc\ \ \ \ \ "
-以æ¯ç¹ä¸ºåä½ç帧å
DC精度ï¼é»è®¤å¼ï¼8ï¼ã
-å¦æä½ æå®äºvcodec=mpeg2videoï¼é£ä¹è¿ä¸ªå¼å¯ä»¥æ¯8ã9ã10æ11ã
-.
-.TP
-.B cgopï¼å¦åè§sc_thresholdï¼
-å
³éææçGOPã
-å½å该éé¡¹åªæå½åºæ¯åæ¢ä¾¦æµåè½ç¦ç¨æ¶æè½å·¥ä½ï¼sc_threshold=1000000000ï¼ã
-.
-.TP
-.B "gmc\ \ \ \ "
-å¯å¨å
¨å±å¨ä½è¡¥å¿ã
-.
-.TP
-.B (no)lowdelay
-设置ç¨äº MPEG-1/2 çä½å»¶è¿æ å¿ï¼ç¦ç¨B帧ï¼ã
-.
-.TP
-.B vglobal=<0\-3>
-æ§å¶åå
¥å
¨å±è§é¢å¤´é¨ä¿¡æ¯çæ¹å¼ã
-.PD 0
-.RSs
-.IPs 0
-ç¼è§£ç å¨å³å¨åªéåå
¥å
¨å±å¤´é¨ä¿¡æ¯ï¼é»è®¤å¼ï¼ã
-.IPs 1
-åªå¨extradataï¼é¢å¤æ°æ®ï¼åä¸åå
¥å
¨å±å¤´é¨ä¿¡æ¯ï¼.mp4/MOV/NUTéè¦è¿æ ·åï¼ã
-.IPs 2
-åªå¨å
³é®å¸§ä¹ååå
¥å
¨å±å¤´é¨ä¿¡æ¯ã
-.IPs 3
-ç»å1å2ä¸¤ç§æ¹å¼ã
-.RE
-.PD 1
-.
-.TP
-.B aglobal=<0\-3>
-ä¸vglobalç¸åï¼ç¨äºé³é¢å¤´é¨ä¿¡æ¯ã
-.
-.TP
-.B level=<value>
-设置ç¼è§£ç å¨ç¯å¢ç级ã
-使ç¨31æ41以å¨Playstation 3䏿æ¾è§é¢ã
-.
-.TP
-.B skip_exp=<0\-1000000>
-FIXMEï¼ä¸ºè¿ä¸ªé项åè¯´æææ¡£ã
-.
-.TP
-.B skip_factor=<0\-1000000>
-FIXMEï¼ä¸ºè¿ä¸ªé项åè¯´æææ¡£ã
-.
-.TP
-.B skip_threshold=<0\-1000000>
-FIXMEï¼ä¸ºè¿ä¸ªé项åè¯´æææ¡£ã
-.
-.
-.SS nuvï¼\-nuvoptsï¼
-.
-Nuppelè§é¢åºäºRTJPEGåLZOã
-é»è®¤æ¹å¼ä¸ï¼å¸§é¦å
以RTJPEGæ¹å¼ç¼ç ï¼ç¶ååç¨LZOå缩ï¼ä½å¯ä»¥ç¦ç¨è¿ä¸¤ä¸ªé¶æ®µçä¸ä¸ª
-æä¸¤ä¸ªã
-äºæ¯ï¼ä½ å¯ä»¥å®é
ä¸è¾åºçæ¯åå§çi420ãLZOå缩çi420ãRTJPEGæé»è®¤æ
åµä¸çç»LZOå
-缩çRTJPEGã
-.br
-.I 注æï¼
-nuvrecæä»¶å
å«äºä¸äºå
³äºç¨äºå¤§å¤æ°å¸¸è§TVç¼ç ç设置ç建议å示ä¾ã
-.
-.TP
-.B c=<0\-20>
-è²åº¦éå¼ï¼é»è®¤å¼ï¼1ï¼
-.
-.TP
-.B l=<0\-20>
-亮度éå¼ï¼é»è®¤å¼ï¼1ï¼
-.
-.TP
-.B "lzo\ \ \ \ "
-å¯ç¨LZOå缩ï¼é»è®¤å¼ï¼ã
-.
-.TP
-.B "nolzo\ \ "
-ç¦ç¨LZOå缩ã
-.
-.TP
-.B q=<3\-255>
-è´¨éç级ï¼é»è®¤å¼ï¼255ï¼
-.
-.TP
-.B "raw \ \ \ "
-ç¦ç¨RTJPEGç¼ç ã
-.
-.TP
-.B "rtjpeg\ "
-å¯ç¨RTJPEGç¼ç ãï¼é»è®¤å¼ï¼ã
-.
-.
-.SS xvidenc (\-xvidencopts)
-.
-æä¸ä¸ªæ¨¡å¼å¯ä»¥ä½¿ç¨ï¼æå®æ¯ç¹ç模å¼ï¼CBRï¼ãåºå®éå卿¨¡å¼åäºé¶æ®µç¼ç 模å¼ã
-.
-.TP
-.B pass=<1|2>
-å¨äºé¶æ®µç¼ç 模å¼ä¸æå®åªä¸ä¸ªé¶æ®µã
-.
-.TP
-.B turboï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-éè¿ä½¿ç¨æ´å¿«çç®æ³å¹¶ç¦ç¨å¤§éæ¶èCPUçé项ï¼ä»¥å é第ä¸é¶æ®µç¼ç ã
-该é项å¯è½ç¨è®¸éä½å
¨å±çPSNRï¼å¹¶ä¸æ¹åå个帧çç±»åï¼ä»¥åç¨è®¸æåè¿ä¸ªå¸§çPSNRã
-.
-.TP
-.B bitrate=<value>ï¼ç¨äºCBRæäºé¶æ®µç¼ç 模å¼ï¼
-设置æä½¿ç¨çæ¯ç¹çãè¥å¼å°äº16000ï¼ååä½ä¸ºåæ¯ç¹/\:ç§ï¼è¥å¼å¤§äº16000ï¼ååä½
-为bits/\:secondã
-妿<value>ä¸ºè´æ°ï¼é£ä¹Xvidå°æè¿ä¸ªå¼çç»å¯¹å¼ä½ä¸ºè§é¢çç®æ 大å°ï¼åä½ä¸º
-kBytesï¼ï¼å¹¶èªå¨è®¡ç®åºç¸åºçæ¯ç¹çï¼é»è®¤å¼ï¼687kbits/sï¼ã
-.
-.TP
-.B fixed_quant=<1\-31>
-忢è³åºå®éå卿¨¡å¼ï¼å¹¶æå®æä½¿ç¨çéåå¨ã
-.
-.TP
-.B zones=<zone0>[/<zone1>[/...]]ï¼CBRæäºé¶æ®µç¼ç 模å¼ï¼
-ç¨æ·æå®çé对影çç¹å®é¨åï¼çå°¾ãæ¼èå表ãâ¦â¦ï¼çè´¨éå¼ã
-æ¯ä¸ªzoneçæ ¼å¼æ¯<start-frame>,<mode>,<value>ï¼å
¶ä¸<mode>å¯ä»¥æ¯
-.PD 0
-.RSs
-.IPs "q"
-æ´æ¹æå®éåå¨ï¼å¨è¿ç§æ¨¡å¼ä¸value=<2.0\-31.0>ï¼ä»£è¡¨éååæ°å¼ã
-.IPs "w"
-æ´æ¹ç çæ§å¶æå¼ï¼å¨è¿ç§æ¨¡å¼ä¸value=<0.01\-2.00>ï¼ä»£è¡¨åä½ä¸º%çè´¨éä¿®æ£å¼ã
-.RE
-.PD 1
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.PD 0
-.RSs
-.IPs zones=90000,q,20
-å°90000å¼å§çææå¸§ä»¥æå®éååæ°20ç¼ç ã
-.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20
-å°0\-10000帧以10%çæ¯ç¹çç¼ç ï¼å°90000ç´è³ç»å°¾ç帧以20çæå®éååæ°ç¼ç ã
-注æéè¦æç¬¬äºä¸ªzone以éå®ç¬¬ä¸ä¸ªzoneï¼å 为没æå®ç´è³89999çææå¸§é½ä¼ä»¥10%çæ¯ç¹
-çç¼ç ã
-.RE
-.PD 1
-.
-.TP
-.B me_quality=<0\-6>
-该é项æ§å¶è¿å¨ä¼°è®¡åç³»ç»ã
-å¼è¶é«ï¼è¿å¨ä¼°è®¡å°±è¶ç²¾ç¡®ï¼é»è®¤å¼ï¼6ï¼ã
-è¿å¨ä¼°è®¡è¶ç²¾ç¡®ï¼å°±è½èçè¶å¤çæ¯ç¹ã
-æé«ç²¾åº¦æ¯ä»¥çºç²CPUæ¶é´ä¸ºä»£ä»·çï¼æä»¥å¦æä½ éè¦å®æ¶ç¼ç ï¼é£ä¹å°±éä½è¿ä¸ªè®¾ç½®ã
-.
-.TP
-.B (no)qpel
-MPEG-4é»è®¤å¨å
¶è¿å¨æç´¢ä¸éç¨ååç´ ç精度ã
-æ å䏿åºäºä¸ç§å
许ç¼ç å¨éç¨ååä¹ä¸åç´ ç²¾åº¦çæ¨¡å¼ã
-该é项é常导è´å¾åè¾ä¸ºéåã
-ä¸å¹¸çæ¯ï¼è¯¥éé¡¹å¯¹äºæ¯ç¹çæå¾å¤§å½±åï¼å¹¶ä¸ææ¶åè¿ç§è¾é«çæ¯ç¹ççå ç¨é»ç¢å
¶å¨åº
-宿¯ç¹çä¸ç»äºå¾åè¾å¥½è´¨éã
-æå¥½å¨å¯ç¨åç¦ç¨è¿ä¸ªé项çæ
åµä¸æµè¯ä¸ä¸ï¼ä»¥ççæ¯å¦å¼å¾æ¿æ´»è¯¥é项ã
-.
-.TP
-.B (no)gmc
-å¯ç¨å
¨å±è¿å¨è¡¥å¿æ¨¡å¼ï¼è¯¥æ¨¡å¼ä½¿Xvidçæç¹æ®ç帧ï¼GMC帧ï¼ï¼è¿ç§å¸§ç¸å½éåå¸¦æææ
-/\:æ¨è¿/\:æè½¬çé头çç»é¢ã
-使ç¨è¯¥é项æ¯å¦è½èçæ¯ç¹æ¯é«åº¦åå³äºæºè§é¢ç´ æã
-.
-.TP
-.B (no)trellis
-æ ¼åå åé忍¡å¼æ¯ä¸ç§èªéåºçéåæ¹å¼ï¼è¯¥æ¹å¼éè¿ä¿®æ¹éååçç³»æ°ï¼ä»¥ä½¿è¿äºç³»æ°
-è½è¢«çµç¼ç 卿´å¤§å¹
度å°å缩ï¼ä»èèçæ¯ç¹ã
-å
¶å¯¹è´¨éçæåæ¯ä¸éçï¼å¦æVHQå¯¹ä½ æ¥è¯´å ç¨äºå¤ªå¤CPUï¼é£ä¹è¿ä¸ªè®¾ç½®å¯è½æ¯ç¸æ¯VHQ
-èè¨ä»¥è¾å°ä»£ä»·èçä¸äºæ¯ç¹ï¼å¹¶ä¸æååºå®æ¯ç¹çä¸ç»é¢è´¨éï¼çä¸ç§æ¿ä»£æ¹æ³ï¼é»è®¤
-å¼ï¼æå¼ï¼ã
-.
-.TP
-.B (no)cartoon
-å¦æä½ ç¼ç ç帧åºåæ¯å¨ç»/\:å¡éçè¯ï¼é£ä¹å°±æ¿æ´»è¿ä¸ªé项ã
-è¿ä¸ªé项修æ¹Xvidå
é¨çä¸äºéå¼ï¼ä»¥ä½¿Xvidå¨é对å¤è§å¹³é¢åçå¡éçç帧类ååè¿å¨ç¢
-éçå³ç䏿è¾å¥½å¤æã
-.
-.TP
-.B (no)chroma_me
-é常çè¿å¨ä¼°è®¡ç®æ³ä»
使ç¨äº®åº¦ä¿¡æ¯å¯»æ¾æä½³çè¿å¨ç¢éã
-ç¶è对äºä¸äºè§é¢ç´ æï¼ä½¿ç¨è²åº¦å¹³é¢è½æå©äºæ¾å°æ´å¥½çç¢éã
-该设置å¼å¯å¨è¿å¨ä¼°è®¡ä¸å¯¹äºè²åº¦å¹³é¢ç使ç¨ï¼é»è®¤å¼ï¼å¼å¯ï¼ã
-.
-.TP
-.B (no)chroma_opt
-å¯ç¨è²åº¦ä¼åå¨çä¸ä¸ªé¢è¿æ»¤å¨ã
-è¿ä¸ªé¢è¿æ»¤å¨å°å¯¹è²å½©ä¿¡æ¯åä¸äºé¢å¤çç¹æ®å¤çï¼ä»¥ä½¿å¾å½¢è¾¹ç¼çé¶æ¢¯æ§ååææéè³æ
-ä½ã
-è¿ä¸ªé¢è¿æ»¤å¨ä¼ä»¥çºç²ç¼ç é度为代价以æåè´¨éã
-è¿èªç¶ä¼éä½PSNRï¼å 为ç¸å¯¹äºåå§ç»é¢çæ°å¦ä¸çåç§»å°å¢å¤§ï¼ä½æ¯ä¸»è§æè§ä¸å¾åçè´¨
-éå°å¾å°æåã
-ç±äºå
¶ä¾æ®è²å½©ä¿¡æ¯èå·¥ä½ï¼å èå¨ä»¥ç°åº¦æ¨¡å¼ç¼ç æ¶ä½ å¯è½æ³æè¿ä¸ªé项å
³æã
-.
-.TP
-.B (no)hq_ac
-å¯¹äºæ¥èªé»è¿åçå
é¨å¸§ï¼æ¿æ´»å¯¹äºACç³»æ°çé«è´¨é颿µæ¨¡å¼ï¼é»è®¤å¼ï¼å¼å¯ï¼ã
-.
-.TP
-.B vhq=<0\-4>
-è¿å¨æç´¢ç®æ³åºäºä¸ç§å¯¹äºé常è²å½©åçæç´¢ï¼å¹¶ä¸å°è¯æ¾å°ä¸ä¸ªè½å°åç
§å¸§åç¼ç æå¾å¸§
-çå·®å«éè³æå°çè¿å¨ç¢éã
-æ¿æ´»è¯¥é项æ¶ï¼Xvidå°åæ¶å©ç¨é¢çåï¼DCTï¼ä»¥æç´¢å°ä¸ä¸ªæ¢å°ç©ºé´ä¸çå·®å«éè³æå°ï¼
-åå°åçç¼ç é¿åº¦éè³æççè¿å¨ç¢éã
-ä»è¿è¡æå¿«è³è¿è¡ææ
¢ç设置æï¼
-.PD 0
-.RSs
-.IPs 0
-å
³é
-.IPs 1
-æ ¹æ¤æ¨¡å¼å³å®ï¼å¸§é´/\:帧å
å®åï¼ï¼é»è®¤å¼ï¼
-.IPs 2
-éå¶æ§æç´¢
-.IPs 3
-䏿§æç´¢
-.IPs 4
-å®½æ³æ§æç´¢
-.RE
-.PD 1
-.
-.TP
-.B (no)lumi_mask
-èªéåºçé忍¡å¼ä½¿å®åçéåå¨è½å¨æ¯ä¸ªå¸§ä¸ææä¸åã
-è¿æ¯ä¸ç§âå¿çæå®æ§âç设置ï¼ä¸è¬è®¤ä¸ºå®æå©ç¨çäºå®æ¯äººç¼å¾åäºå¨ç»é¢ä¸åå亮ç
-åååæçé¨ååªæ³¨æå°è¾å°çç»èã
-ç¸å¯¹äºä¸æ§çåºåï¼è¯¥é项对äºè¿äºåºåå缩å¹
度æ´å¤§ï¼è¿å°èçä¸äºæ¯ç¹èå°å
¶ç¨å¨å
¶å®
-ç帧ä¸ï¼ä»èæåæ´ä½ç主è§è§è§è´¨éä½å¯è½éä½äºPSNRã
-.
-.TP
-.B (no)grayscale
-使Xvid丢å¼è²åº¦å¹³é¢ä¿¡æ¯ï¼ä»è使ç¼ç å¾å°çè§é¢åªæ¯ç°åº¦æ¨¡å¼çã
-注æè¯¥é项并ä¸å å¿«ç¼ç é度ï¼èåªæ¯å¨ç¼ç çæåé¶æ®µé»æ¢åå
¥è²åº¦æ°æ®ã
-.
-.TP
-.B (no)interlacing
-ç¼ç éè¡æ«æè§é¢å
å®¹çæ«æåºã
-æå¼è¯¥é项以ç¨äºéè¡æ«æå
容ã
-.br
-.I 注æï¼
-å¦æä½ è¦æ¹åè§é¢ç尺寸ï¼é£ä¹ä½ éè¦ä¸ä¸ªè½è¯å«éè¡æ«æå
容ç缩æ¾å¨ï¼ä½ å¯ä»¥ä½¿ç¨
-\-vf scale=<width>:<height>:1æ¥æ¿æ´»è¿ç§ç¼©æ¾å¨ã
-.
-.TP
-.B min_iquant=<0\-31>
-æå°I帧éååæ°ï¼é»è®¤å¼ï¼2ï¼
-.
-.TP
-.B max_iquant=<0\-31>
-æå¤§I帧éååæ°ï¼é»è®¤å¼ï¼31ï¼
-.
-.TP
-.B min_pquant=<0\-31>
-æå°P帧éååæ°ï¼é»è®¤å¼ï¼2ï¼
-.
-.TP
-.B max_pquant=<0\-31>
-æå¤§P帧éååæ°ï¼é»è®¤å¼ï¼31ï¼
-.
-.TP
-.B min_bquant=<0\-31>
-æå°B帧éååæ°ï¼é»è®¤å¼ï¼2ï¼
-.
-.TP
-.B max_bquant=<0\-31>
-æå¤§B帧éååæ°ï¼é»è®¤å¼ï¼31ï¼
-.
-.TP
-.B min_key_interval=<value>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-å
³é®å¸§é´çæå°é´éï¼é»è®¤å¼ï¼0ï¼
-.
-.TP
-.B max_key_interval=<value>
-å
³é®å¸§é´çæå¤§é´éï¼é»è®¤å¼ï¼10*fpsï¼
-.
-.TP
-.B quant_type=<h263|mpeg>
-设置æä½¿ç¨çéåå¨ç±»åã
-对äºé«ç çï¼ä½ ä¼åç°MPEGé忍¡å¼ä¿çäºæ´å¤çç»èã
-对äºä½ç çï¼H.263çå¹³æ»ç¹æ§ä¼ä¸ºäºä½ 带æ¥è¾å°çå®åªå£°ã
-å½ä½¿ç¨èªå®ä¹çéåç©éµæ¶ï¼
-.B å¿
é¡»
-使ç¨MPEGé忍¡å¼ã
-.
-.TP
-.B quant_intra_matrix=<filename>
-è½½å
¥ä¸ä¸ªèªå®ä¹ç帧å
éåç©éµæä»¶ã
-ä½ å¯ä»¥ä½¿ç¨xvid64confçç©éµç¼ç å¨ä»¥æå»ºè¿æ ·çæä»¶ã
-.
-.TP
-.B quant_inter_matrix=<filename>
-è½½å
¥ä¸ä¸ªèªå®ä¹ç帧é´éåç©éµæä»¶ã
-ä½ å¯ä»¥ä½¿ç¨xvid64confçç©éµç¼ç å¨ä»¥æå»ºè¿æ ·çæä»¶ã
-.
-.TP
-.B keyframe_boost=<0\-1000>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-å°ä¸äºæ¯ç¹ä»å
¶å®å¸§ç±»åç空é´å¨å¤ä¸è½¬ç§»è³å
é¨å¸§ä¸ï¼ä»èæé«å
³é®å¸§çè´¨éã
-该æ°éæ¯å¢å çç¾åæ¯éï¼æä»¥å¼ä¸º10å°ç»ä½ çå
³é®å¸§å¸¦æ¥æ¯é常æ
åµä¸å¤10%çæ¯ç¹é
-ï¼é»è®¤å¼ï¼0ï¼ã
-.
-.TP
-.B kfthreshold=<value>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-ä¸kfreductionä¸å使ç¨ã
-å®ä¹ä¸ä¸ªæå°è·ç¦»ï¼ä½äºè¿ä¸ªè·ç¦»ä½ 就认为两个帧åºå½è§ä½æ¯è¿ç»çï¼ä»èæ ¹æ®
-kfreductionç设置å¤çè¿ä¸ªæ
åµ
-ï¼é»è®¤å¼ï¼10ï¼ã
-.
-.TP
-.B kfreduction=<0\-100>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-以ä¸ä¸¤ä¸ªè®¾ç½®å¯ç¨äºè°æ´é£äºä½ 认为è¿äºæ¥è¿ï¼ä¸ä¸ªåºåä¸ï¼å¤´ä¸ªå¸§çå
³é®å¸§ç大å°ã
-kfthreshold设置äºå¨åªä¸ªèå´å
çå
³é®å¸§è¦è¢«ååï¼èkfreductionå³å®äºè¿äºå
³é®å¸§è¢«å
-忝ç¹ççéã
-æåä¸ä¸ªI帧å°ä»¥éå¸¸çæ¹å¼å¤ç
-ï¼é»è®¤å¼ï¼30ï¼ã
-.
-.TP
-.B max_bframes=<0\-4>
-æ¾ç½®äºI/P帧é´çB帧çæå¤§æ°éï¼é»è®¤å¼ï¼2ï¼ã
-.
-.TP
-.B bquant_ratio=<0\-1000>
-B帧ä¸éB帧é´çéååæ°æ¯ï¼150=1.50ï¼é»è®¤å¼ï¼150ï¼
-.
-.TP
-.B bquant_offset=<\-1000\-1000>
-B帧ä¸éB帧é´çéååæ°å·®å¼ï¼100=1.00ï¼é»è®¤å¼ï¼100ï¼
-.
-.TP
-.B bf_threshold=<\-255\-255>
-该éé¡¹è®©ä½ æå®ä½¿ç¨B帧çä¼å
级ã
-è¿ä¸ªå¼è¶é«ï¼B帧就è¶å¯è½è¢«ä½¿ç¨ï¼é»è®¤å¼ï¼0ï¼ã
-ä¸è¦å¿äºB帧é常éååæ°æ¯è¾é«ï¼ä»èè¿å产çB帧å¯è½å¯¼è´è§è§è´¨éåå·®ã
-.
-.TP
-.B (no)closed_gop
-该é项åè¯Xvidå°éæ¯ä¸ªGOPï¼Group Of Picturesââç±ä¸¤ä¸ªI帧åéåºæ¥çç»é¢ç»ï¼ï¼è¿
-使GOPå½¼æ¤ä¹é´ç¸äºç¬ç«ã
-è¿å°±æ¯æå³çGOPçæåä¸ä¸ªå¸§è¦ä¹æ¯P帧ï¼è¦ä¹æ¯N帧ï¼è䏿¯B帧ã
-é常å¼å¯è¿ä¸ªéé¡¹æ¯æ¯è¾å¥½çï¼é»è®¤å¼ï¼å¼å¯ï¼ã
-.
-.TP
-.B (no)packed
-该é项æå¨è§£å³ç¼ç è³è¯¸å¦AVIä¹ç±»çä¸è½å¤çä¹±åºå¸§åºåç容卿 ¼å¼æ¶ï¼æåçç帧顺åº
-é®é¢ã
-å®é
åºç¨ä¸ï¼å¤§å¤æ°è§£ç å¨ï¼æ 论æ¯è½¯ä»¶çè¿æ¯ç¡¬ä»¶çï¼é½è½å¤èªå·±å¤ç帧ç顺åºï¼å èå½
-æ¤é项å¼å¯æ¶å¯è½åèå¼èµ·æ··ä¹±ï¼æä»¥ä½ å¯ä»¥æ¾å¿å°è®©è¿ä¸ªé项ä¿ç为å
³éç¶æï¼é¤éä½ ç¡®
-å®ç¥éä½ å¨åä»ä¹ã
-.br
-.I è¦åï¼
-该é项ä¼äº§çéæ³çæ¯ç¹æµï¼ä»èä¸è½è¢«DivX/\:libavcodec/\:Xvid以å¤çISO-MPEG-4çè§£
-ç å¨è§£ç ã
-.br
-.I è¦åï¼
-该é项忶ä¼å¨æä»¶ä¸åå
¥ä¸ä¸ªèåçDivXçæ¬å·ï¼æä»¥æäºè§£ç å¨ä¸æé®é¢çèªå¨ä¾¦æµç³»
-ç»å¯è½ä¼æä¸æ¸
æ¥ã
-.
-.TP
-.B frame_drop_ratio=<0\-100>ï¼ä»
ç¨äºmax_bframes=0æ¶ï¼
-该设置æ§å¶å¯å帧çè§é¢æµçå建ã
-该设置ç弿å®äºä¸ä¸ªéå¼ï¼å¦æåä¸ä¸ªå¸§ç¸å¯¹äºåä¸ä¸ªå¸§çå·®å«ä½äºæçäºè¿ä¸ªéå¼ï¼é£
-ä¹å°è·³è¿å¯¹äºä¸ä¸ªå¸§çç¼ç ï¼ä¸ä¸ªæè°çn-vopå°æ¾ç½®äºè§é¢æµä¸ï¼ã
-å¨ææ¾æ¶ï¼å½éå°ä¸ä¸ªn-vopæ¶ï¼å°æ¾ç¤ºåä¸ä¸ªå¸§ã
-.br
-.I è¦åï¼
-滥ç¨è¿ä¸ªè®¾ç½®å¯è½å¯¼è´è§é¢è·³è·ï¼æä»¥ä½¿ç¨è¯¥é项åæèªè´ï¼
-.
-.TP
-.B rc_reaction_delay_factor=<value>
-è¯¥åæ°æ§å¶CBRç çæ§å¶å¨å¯¹äºæ¯ç¹çååä½åºååºå¹¶ä¸å¯¹å
¶ä½åºè¡¥å¿ï¼ä»¥ä½¿æ¯ç¹çå¨ä¸ä¸ª
-å¹³ååèå´å
ç帧ä¸ä¿ææå®åï¼æçå¾
çå¸§çæ°éã
-.
-.TP
-.B rc_averaging_period=<value>
-çæ£çCBRæ¯å¾é¾è¾¾å°çã
-ç±äºè§é¢ç´ æçä¸åï¼æ¯ç¹çå¯è½æ¯ååèé¾ä»¥é¢æµçã
-æä»¥Xvidéç¨äºä¸ç§å¹³åå卿ï¼å¨è¿ä¸ªå¨æä¸å®ä¿è¯æ¯ç¹æ°é为ç»å®çä¸ä¸ªå¼ï¼åå»ä¸ä¸ª
-è¾å°çå¯åå¼ï¼ã
-è¿ä¸ªè®¾ç½®æè¡¨è¾¾çæ¯Xvid使âå¤å°æ°éç帧âçæ¯ç¹çå¹³ååä»èè¾¾å°CBRã
-.
-.TP
-.B rc_buffer=<value>
-ç çæ§å¶ç¼å²ç大å°
-.
-.TP
-.B curve_compression_high=<0\-100>
-该设置让Xvidä»é«æ¯ç¹ççåºæ¯ä¸æ¿åºä¸å®ç¾åæ¯çæ¯ç¹ï¼èå°è¿äºæ¯ç¹è¿ç»æ¯ç¹é¢çå¨å¤
-ä¸ã
-ä½ ä¹å¯ä»¥ä½¿ç¨è¿ä¸ªè®¾ç½®ï¼å¦æä½ çä¸ä¸ªè§é¢æå¤ªå¤çæ¯ç¹åé
ç»äºé«æ¯ç¹ççåºæ¯ï¼ä»¥è´äº
-ï¼è¾ï¼ä½æ¯ç¹ççåºæ¯åå¾çä¸å»å¾ç³ç³ï¼é»è®¤å¼ï¼0ï¼ã
-.
-.TP
-.B curve_compression_low=<0\-100>
-该设置让Xvidå°ä¸å®ç¾åæ¯çé¢å¤çæ¯ç¹åç»ä½æ¯ç¹ççåºæ¯ï¼è仿´ä¸ªè§é¢åªè¾ä¸æ¿å»ä¸
-é¨åæ¯ç¹ã
-å¦æä½ çä¸äºä½æ¯ç¹çåºæ¯ä»ç¶æé©¬èµå
ï¼é£ä¹è¿ä¸ªè®¾ç½®å¯è½å¾å¥½ç¨ï¼é»è®¤å¼ï¼0ï¼ã
-.
-.TP
-.B overflow_control_strength=<0\-100>
-å¨äºé¶æ®µç¼ç 模å¼ç第ä¸é¶æ®µï¼è®¡ç®åºäºä¸ä¸ªç»è¿ç¼©æ¾çæ¯ç¹çæ²çº¿ã
-è¿ä¸ªææææ²çº¿ä¸ç¼ç ä¸å¾å°çæ²çº¿ä¹é´çå·®å¼ç§°ä¸ºæº¢åºã
-æ¾ç¶ï¼äºé¶æ®µç¼ç çç çæ§å¶å¨å°è¯å¼¥è¡¥è¿ä¸ªæº¢åºéï¼å°è¿ä¸ªå·®å¼æ´¾åå°åç»å¸§ä¸ã
-该设置æ§å¶äºæ¯æ¬¡æä¸ä¸ªæ°å¸§æ¶ï¼æå¤å°æº¢åºéåé
è³å
¶ä¸ã
-è¾ä½çå¼å
许使ç¨è¾è¿ç¼çæº¢åºæ§å¶ï¼è¾å¤§çç çå·åå°è¾æ
¢å°å¾å°è¡¥å¿ï¼å¯è½å¯¼è´å°åè§
-é¢åªè¾ä¸ç¼ºä¹ç²¾åº¦ï¼ã
-è¾å¤§çå¼å°ä½¿æ¯ç¹ååé
è¿ç¨ä¸çååæ´å
·çªåæ§ï¼å¦æä½ 设å¾å¤ªé«åå¯è½å¤ªçªç¶ï¼ä»¥è´äº§
-çæä¼¤ï¼é»è®¤å¼ï¼5ï¼ã
-.br
-.I 注æï¼
-该设置对äºè´¨éæå
·å½±åï¼å°å¿ä½¿ç¨ï¼
-.
-.TP
-.B max_overflow_improvement=<0\-100>
-å¨å¸§æç¨æ¯ç¹çåé
è¿ç¨ä¸ï¼æº¢åºæ§å¶å¯è½å¢å 帧ç大å°ã
-è¯¥åæ°æº¢åºæ§å¶æå
许ç¸å¯¹çæ³åé
æ²çº¿æå¢å 帧大å°çæå¤§çç¾åæ¯
-ï¼é»è®¤å¼ï¼5ï¼ã
-.
-.TP
-.B max_overflow_degradation=<0\-100>
-å¨å¸§æç¨æ¯ç¹çåé
è¿ç¨ä¸ï¼æº¢åºæ§å¶å¯è½åå°å¸§ç大å°ã
-è¯¥åæ°æº¢åºæ§å¶æå
许ç¸å¯¹çæ³åé
æ²çº¿æåå°å¸§å¤§å°çæå¤§çç¾åæ¯
-ï¼é»è®¤å¼ï¼5ï¼ã
-.
-.TP
-.B container_frame_overhead=<0...>
-æå®æ¯å¸§çå¹³åå¼éï¼åä½ä¸ºåèã
-大夿°æ¶åç¨æ·è¡¨è¾¾çæ¯ä»ä»¬é对è§é¢çç®æ æ¯ç¹çï¼èä¸å
³å¿è§é¢å®¹å¨æä»¶çå¼éã
-è¿ç§è¾å°çä½ï¼å¾å¾ï¼æå®çå¼éå¯ä»¥å¯¼è´ç®æ æä»¶å¤§å°è¶
è¿é¢æå¼ã
-Xvidè®©ç¨æ·è®¾ç½®å®¹å¨äº§çç平忝叧çå¼éæ°éï¼åªç»åºæ¯å¸§çå¹³åå¼ï¼ã
-0å
·æç¹æ®çå«ä¹ï¼è¿ä¸ªå¼è®©Xvidéç¨èªå·±çé»è®¤å¼ï¼é»è®¤å¼ï¼24ââAVIçå¹³åå¼éï¼ã
-.
-.TP
-.B profile=<profile_name>
-æ ¹æ®ç®åé
ç½®éï¼Simple Profileï¼ãé«çº§ç®åé
ç½®éï¼Advanced Simple Profileï¼ä»¥å
-DivXé
ç½®éï¼DivX Profileï¼éå¶é项ç使ç¨åVBVï¼çæ¶é´å
ç峰弿¯ç¹çï¼ã
-æäº§ççè§é¢åºè¯¥è½å¤å¨ç¬¦åè¿äºé
ç½®éæ åçç¬ç«ææ¾å¨ä¸ææ¾ã
-.PD 0
-.RSs
-.IPs unrestricted
-没æéå¶ï¼é»è®¤å¼ï¼
-.IPs "sp0\ \ "
-第0级çç®åé
ç½®é
-.IPs "sp1\ \ "
-第1级çç®åé
ç½®é
-.IPs "sp2\ \ "
-第2级çç®åé
ç½®é
-.IPs "sp3\ \ "
-第3级çç®åé
ç½®é
-.IPs "sp4a\ \ "
-第4a级çç®åé
ç½®é
-.IPs "sp5\ \ "
-第5级çç®åé
ç½®é
-.IPs "sp6\ \ "
-第6级çç®åé
ç½®é
-.IPs "asp0\ "
-第0级çé«çº§ç®åé
ç½®é
-.IPs "asp1\ "
-第1级çé«çº§ç®åé
ç½®é
-.IPs "asp2\ "
-第2级çé«çº§ç®åé
ç½®é
-.IPs "asp3\ "
-第3级çé«çº§ç®åé
ç½®é
-.IPs "asp4\ "
-第4级çé«çº§ç®åé
ç½®é
-.IPs "asp5\ "
-第5级çé«çº§ç®åé
ç½®é
-.IPs dxnhandheld
-DXNææå¼è®¾å¤é
ç½®é
-.IPs dxnportntsc
-DXN便æºNTSCå¶å¼è®¾å¤é
ç½®é
-.IPs dxnportpal
-DXN便æºPALå¶å¼è®¾å¤é
ç½®é
-.IPs dxnhtntsc
-DXNå®¶åºå½±é¢NTSCå¶å¼è®¾å¤é
ç½®é
-.IPs dxnhtpal
-DXNå®¶åºå½±é¢PALå¶å¼è®¾å¤é
ç½®é
-.IPs dxnhdtv
-DXN髿¸
çµè§è®¾å¤é
ç½®é
-.RE
-.PD 1
-.RS
-.I 注æï¼
-è¿äºé
ç½®éåºå½ä¸éå½ç\-ffourccé项ä¸èµ·ä½¿ç¨ã
-é常DX50æ¯å¯ä»¥éç¨çï¼å 为æäºææ¾å¨ä¸è½è¯å«Xvidä½å¤§å¤æ°è½è¯å«DivXã
-.RE
-.
-.TP
-.B par=<mode>
-æå®åç´ å®½é«æ¯ï¼Pixel Aspect Ratioï¼æ¨¡å¼ï¼ä¸è¦ä¸DARââå±å¹å®½é«æ¯ââæ··æ·å¨ä¸èµ·
-ï¼ã
-PARæ¯å个åç´ ç宽度åé«åº¦çæ¯ä¾ã
-æä»¥ä¸¤è
çå
³ç³»å¦ä¸ï¼DAR = PAR * (宽度/é«åº¦)ã
-.br
-MPEG-4å®ä¹äº5ç§åç´ å®½é«æ¯ä»¥åä¸ç§æ³ç¨å®½é«æ¯ï¼è¿ä¸ºæå®ä¸ç§ä¸ç¨çåç´ å®½é«æ¯
-çä¸äºä½å°ã
-å¯ä»¥æå®5ç§æ 忍¡å¼ï¼
-.PD 0
-.RSs
-.IPs vga11
-è¿æ¯é常ç¨äºPCè§é¢å
容çPARã
-åç´ æ¯æ£æ¹å½¢åå
ã
-.IPs pal43
-PALæ åç4:3çPARã
-åç´ æ¯é¿æ¹å½¢çã
-.IPs pal169
-ä¸åé¢åç
-.IPs ntsc43
-ä¸åé¢åç
-.IPs ntsc169
-ä¸åé¢åçï¼ä¸è¦å¿äºç»åºç²¾ç¡®çæ¯çï¼
-.IPs "ext\ \ "
-å
è®¸ä½ ä½¿ç¨par_widthåpar_heightæå®ä½ èªå·±çåç´ å®½é«æ¯ã
-.RE
-.PD 1
-.RS
-.I 注æï¼
-é常ï¼è®¾ç½®aspectåautoaspecté项就已ç»è¶³å¤äºã
-.RE
-.
-.TP
-.B par_width=<1\-255>ï¼ä»
ç¨äºpar=extæ¶ï¼
-æå®èªå®åç´ å®½é«æ¯ç宽度ã
-.
-.TP
-.B par_height=<1\-255>ï¼ä»
ç¨äºpar=extæ¶ï¼
-æå®èªå®åç´ å®½é«æ¯çé«åº¦ã
-.
-.TP
-.B aspect=<x/y | fï¼æµ®ç¹å¼ï¼>
-å°å½±çç宽髿¯åæ¾äºæä»¶å
é¨ï¼å°±åMPEGæä»¶ä¸æ ·ã
-ä¸éæ°ç¼©æ¾çææå¥½å¾å¤ï¼å 为质éå¹¶ä¸ä¸éã
-MPlayerä¸å
¶å®ä¸äºææ¾å¨è½æ£ç¡®ææ¾è¿äºæä»¶ï¼é¤æ¤ä¹å¤çææ¾å¨ä¼ä»¥é误ç宽髿¯æ¾ç¤º
-è¿äºæä»¶ã
-宽髿¯åæ°å¯ä»¥ä»¥æ¯çææ¯æµ®ç¹æ°çå½¢å¼ç»åºã
-.
-.TP
-.B (no)autoaspect
-ä¸aspecté项ç¸åï¼ä½æ¯æ¯èªå¨è®¡ç®å®½é«æ¯ï¼å¨æ¤è¿ç¨ä¸èèäºæ»¤éé¾ä¸æè¿è¡çææçè°
-æ´ï¼crop/\:expand/\:scale/\:ççï¼ã
-.
-.TP
-.B "psnr\ \ \ "
-ç¼ç ä¹åæå°åºæ´ä¸ªè§é¢çPSNRï¼å³°å¼ä¿¡åªæ¯ï¼ï¼å¹¶å°é帧计ç®çPSNRä¿åå¨å½åç®å½ä¸å
-å诸å¦âpsnr_hhmmss.logâçä¸ä¸ªæä»¶éã
-è¿åå¼çå使¯dBï¼åè´ï¼ï¼å¼è¶é«è¶å¥½ã
-.
-.TP
-.B "debug\ \ "
-å°é帧计ç®çç»è®¡ä¿¡æ¯ä¿åå¨./xvid.dbgä¸ãï¼è¿ä¸ªæä»¶ä¸æ¯äºé¶æ®µç¼ç 模å¼ä¸çç çæ§å¶
-æä»¶ãï¼
-.RE
-.
-.PP
-.sp 1
-以ä¸é项åªéç¨äº Xvid 1.1.x 以åä¹åççæ¬ã
-.
-.TP
-.B bvhq=<0|1>
-该设置å
许éè¿ä½¿ç¨ä¸ç§é对ç ç失çä¼åçè¿ç®ï¼æ¥éåç¨äºç¼ç ä¸ä½¿ç¨çB帧çå
-éè¿å¨ç¢éï¼å¯¹äºP帧è¿ç§æ¹å¼æ¯éè¿vhqé项å®ç°çã
-该æ¹å¼äº§ççB帧çä¸å»è¾å¥½ï¼èåæ¶ä¹å ä¹ä¸å½±åæ§è½ï¼é»è®¤å¼ï¼1ï¼ã
-.
-.TP
-.B vbv_bufsize=<0...>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-以æ¯ç¹ä¸ºå使å®è§é¢ç¼å²æ ¡éªå¨ï¼VBVï¼çç¼å²å¤§å°ï¼é»è®¤å¼ï¼0 \- ç¦ç¨ VBV æ ¡
-éªï¼ã
-VBV æä¾éå¶å³°å¼æ¯ç¹ççåè½ï¼ä»¥ä½¿è§é¢è½å¨ç¡¬ä»¶ææ¾å¨ä¸æ£å¸¸ææ¾ã
-ä¾å¦ï¼Home é
ç½®éä½¿ç¨ vbv_bufsize=3145728ã
-å¦æè®¾ç½®äº vbv_bufsizeï¼ååºå½åæ¶è®¾ç½® vbv_maxrateã
-注æï¼æ²¡ææè° vbv_peakrate çé项ï¼å 为 Xvid å®é
ä¸å¹¶ä¸ä½¿ç¨è¿ç§é项æ§å¶æ¯
-ç¹çï¼å
¶å®ç VBV é项足以éå¶å³°å¼æ¯ç¹çã
-.
-.TP
-.B vbv_initial=<0...vbv_bufsize>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-以æ¯ç¹ä¸ºåä½æå® VBV ç¼å²åå§å¡«å
ç大å°ï¼é»è®¤å¼ï¼vbv_bufsize ç 75%ï¼ã
-é»è®¤å¼é常æ¯ä½ æéçå¼ã
-.
-.TP
-.B vbv_maxrate=<0...>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-以æ¯ç¹/ç§ä¸ºå使宿大å¤ççæ¯ç¹çï¼é»è®¤å¼ï¼0ï¼ã
-ä¾å¦ï¼Home é
ç½®éä½¿ç¨ vbv_maxrate=4854000ã
-.
-.PP
-.sp 1
-以ä¸é项åªéç¨äº Xvid 1.2.x 以åä¹åççæ¬ã
-.
-.TP
-.B threads=<0\-n>
-å建n个线ç¨ç¨ä»¥è¿è¡è¿å¨ä¼°è®¡ä»»å¡ï¼é»è®¤å¼ï¼0ï¼ã
-æå¤å¯ä»¥ä½¿ç¨ç线ç¨çæ°é为ç»é¢çé«åº¦é¤ä»¥16æå¾çå¼ã
-.
-.
-.SS x264encï¼\-x264encoptsï¼
-.
-.TP
-.B bitrate=<value>
-设置æéç¨ç平忝ç¹çï¼åä½ä¸ºåæ¯ç¹/\:ç§ï¼é»è®¤å¼ï¼å
³éï¼ã
-ç±äºå±é¨æ¯ç¹çä¼ååï¼å èè¿ä¸ªå¹³åå¼å¯¹äºååççè§é¢æ¥è¯´å¯ä»¥ä¸ç²¾ç¡®
-ï¼åè§ratetolï¼ã
-å¯ä»¥éè¿å°æ¤è®¾ç½®ä¸vbv_maxrateä¸èµ·ä½¿ç¨æ¥å®ç°æå®çæ¯ç¹çï¼ä»£ä»·æ¯è´¨é严éä¸éã
-.
-.TP
-.B qp=<0\-51>
-该éé¡¹éæ©çæ¯ç¨äºP帧çéåå¨ã
-Iä¸B帧çè¯å嫿¯è¯¥å¼å ä¸ip_factorä¸pb_factoråå¾å°çå¼ã
-20\-40æ¯ä¸ä¸ªæç¨çèå´ã
-è¾ä½çå¼äº§çè¾å¥½ç精确ï¼ä½å¯¼è´æ¯ç¹çè¾é«ã
-0ä»£è¡¨æ æã
-注æH.264çé忍¡å¼ä¸MPEG-1/2/4ç工使¹å¼ä¸åï¼
-H.264çéååæ°æ¯åºäºå¯¹æ°å°ºåº¦çã
-两è
ä¹é´çæ å°å
³ç³»å¤§è³æ¯H264QP = 12 + 6*log2(MPEGQP)ã
-ä¾å¦ï¼MPEGçQP=2ä¸H.264çQP=18æ¯çä»·çã
-.
-.TP
-.B crf=<1.0\-50.0>
-å¯ç¨æå®è´¨é模å¼ï¼å¹¶éæ©è´¨éå¼ã
-该质éå¼ç尺度ä¸QPçç¸ç±»ä¼¼ã
-å°±ååºäºæ¯ç¹ççæ¨¡å¼ä¸æ ·ï¼è¯¥æ¨¡å¼å
许æ¯ä¸ªå¸§æ ¹æ®å¸§çå¤æåº¦ä½¿ç¨ä¸åçQPã
-.
-.TP
-.B pass=<1\-3>
-å¯ç¨2æ3é¶æ®µç¼ç 模å¼ã
-æ¨èæ»æ¯ä»¥2æ3é¶æ®µç¼ç 模å¼ç¼ç ï¼å 为该模å¼ä½¿æ¯ç¹çåé
æ´ä½³ï¼ä»èæåæ´ä½è´¨éã
-.PD 0
-.RSs
-.IPs 1
-第ä¸é¶æ®µ
-.IPs 2
-ï¼äºé¶æ®µç¼ç 模å¼ä¸çï¼ç¬¬äºé¶æ®µ
-.IPs 3
-第Né¶æ®µï¼ä¸é¶æ®µç¼ç 模å¼ç第äºå第ä¸é¶æ®µï¼
-.RE
-.RS
-以ä¸ä»ç»çæ¯å
¶å¦ä½å·¥ä½ï¼ä»¥å使ç¨è¿ä¸ªåæ°ï¼
-.br
-第ä¸é¶æ®µï¼pass=1ï¼æ¶éè§é¢ä¸çç»è®¡ä¿¡æ¯ï¼å¹¶å°è¿äºä¿¡æ¯åå
¥ä¸ä¸ªæä»¶ä¸ã
-é¤äºé£äºé»è®¤ä¸ºæå¼çé项ï¼ä½ å¯è½æ³å
³éä¸äºæ¶èCPUçé项ã
-.br
-å¨äºé¶æ®µç¼ç 模å¼ï¼ç¬¬äºé¶æ®µï¼pass=2ï¼è¯»åç»è®¡ä¿¡æ¯æä»¶ï¼å¹¶åºäºè¿ä¸ªæä»¶è¿è¡ç çæ§å¶
-å³çã
-.br
-å¨ä¸é¶æ®µç¼ç 模å¼ä¸ï¼ç¬¬äºé¶æ®µï¼pass=3ââè¿æ¯ä¸æå°é误ï¼åæ¶å两件äºï¼å
¶é¦å
读å
-ç»è®¡ä¿¡æ¯ï¼ç¶åéåè¿äºç»è®¡ä¿¡æ¯ã
-ä½ å¯ä»¥ä½¿ç¨ææçç¼ç é项ï¼é¤äºé£äºååæ¶èCPUçé项ã
-.br
-第ä¸é¶æ®µï¼pass=3ï¼ä¸ç¬¬äºé¶æ®µç¸åï¼åªæ¯è¿ä¸é¶æ®µåºäºç¬¬äºé¶æ®µäº§ççç»è®¡ä¿¡æ¯å·¥ä½ã
-ä½ å¯ä»¥ä½¿ç¨ææçç¼ç é项ï¼å
æ¬æ¶èCPUçé£äºé项ã
-.br
-第ä¸é¶æ®µå¯ä»¥ä½¿ç¨å¹³åæ¯ç¹ç模å¼ï¼ææ¯ä½¿ç¨æå®éå卿¨¡å¼ã
-æ¨è使ç¨ABRï¼å 为该模å¼ä¸éæ±çæµæè¦ä½¿ç¨çéåå¨ã
-åç»çé¶æ®µæ¯ABR模å¼çï¼å¹¶ä¸å¿
é¡»æå®æ¯ç¹çã
-.REss
-.
-.
-.TP
-.B profile=<é
ç½®éå>
-éå¶æç¨é项å¿
é¡»ä¸ä¸ä¸ª H.264 é
ç½®éç¸å
¼å®¹ã
-.PD 0
-.RSs
-.IPs baseline
-no8x8dct bframes=0 nocabac cqm=flat weightp=0 nointerlaced qp>0
-.IPs main
-no8x8dct cqm=flat qp>0
-.IPs high
-qp>0ï¼é»è®¤éå¶ï¼
-.RE
-.PD 1
-.
-.TP
-.B preset=<é¢è®¾å¼é>
-使ç¨ä¸å¥é¢è®¾å¼é以éç¨ç¼ç 设置ã
-.PD 0
-.RSs
-.IPs ultrafast
-no8x8dct aq_mode=0 b_adapt=0 bframes=0 nodeblock nombtree me=dia
-nomixed_refs partitions=none ref=1 scenecut=0 subq=0 trellis=0
-noweight_b weightp=0
-.IPs superfast
-nombtree me=dia nomixed_refs partitions=i8x8,i4x4 ref=1 subq=1 trellis=0
-weightp=0
-.IPs veryfast
-nombtree nomixed_refs ref=1 subq=2 trellis=0 weightp=0
-.IPs faster
-nomixed_refs rc_lookahead=20 ref=5 subq=4 weightp=1
-.IPs fast
-rc_lookahead=30 ref=2 subq=6
-.IPs medium
-Default settings apply.
-.IPs slow
-b_adapt=2 direct=auto me=umh rc_lookahead=50 ref=5 subq=8
-.IPs slower
-b_adapt=2 direct=auto me=umh partitions=all rc_lookahead=60 ref=8 subq=9
-trellis=2
-.IPs veryslow
-b_adapt=2 b_frames=8 direct=auto me=umh me_range=24 partitions=all ref=16
-subq=10 trellis=2 rc_lookahead=60
-.IPs placebo
-bframes=16 b_adapt=2 direct=auto nofast_pskip me=tesa me_range=24
-partitions=all rc_lookahead=60 ref=16 subq=10 trellis=2
-.RE
-.PD 1
-.
-.TP
-.B tune=<åç§°,[åç§°,...]>
-è°æ´è®¾ç½®ä»¥éåºä¸ä¸ªç¹å®ç§ç±»çè§é¢çæºæåºæ¯ã
-ç¨æ·æç¡®æå®ç设置ä¼è¦çä»»ä½è°æ´ç设置ã
-å¤ä¸ªè°æ´é项é´ä»¥éå·åéï¼ä½å䏿¶é´åªè½ä½¿ç¨ä¸ä¸ªå¿çè°æ´é项ã
-.PD 0
-.RSs
-.IPs "filmï¼å¿çè°æ´é项ï¼"
-deblock=-1,-1 psy-rd=<unset>,0.15
-.IPs "animationï¼å¿çè°æ´é项ï¼"
-b_frames={+2} deblock=1,1 psy-rd=0.4:<unset> aq_strength=0.6
-ref={double if >1 else 1}
-.IPs "grainï¼å¿çè°æ´é项ï¼"
-aq_strength=0.5 nodct_decimate deadzone_inter=6 deadzone_intra=6
-deblock=-2,-2 ipratio=1.1 pbratio=1.1 psy-rd=<unset>,0.25 qcomp=0.8
-.IPs "stillimageï¼å¿çè°æ´é项ï¼"
-aq_strength=1.2 deblock=-3,-3 psy-rd=2.0,0.7
-.IPs "psnrï¼å¿çè°æ´é项ï¼"
-aq_mode=0 nopsy
-.IPs "ssimï¼å¿çè°æ´é项ï¼"
-aq_mode=2 nopsy
-.IPs fastdecode
-nocabac nodeblock noweight_b weightp=0
-.IPs zerolatency
-bframes=0 force_cfr rc_lookahead=0 sync_lookahead=0 sliced_threads
-.RE
-.PD 1
-.
-.TP
-.B slow_firstpass
-å½ pass=1 æ¶ç¦ç¨ä»¥ä¸è¿è¡è¾å¿«çé项ï¼
-no_8x8dct me=dia partitions=none ref=1 subq={2 if >2 else unchanged}
-trellis=0 fast_pskip
-è¿äºé项大å¹
åº¦å°æé«ç¼ç é度ï¼åæ¶å¯¹äºæç»é¶æ®µçç¼ç è´¨éåªæå¾å°çè³æ²¡æå½±åã
-ä½¿ç¨ preset=placebo éå«å°å¼å¯äºè¯¥é项ã
-.TP
-.B keyint=<value>
-设置IDR帧é´çæå¤§é´éï¼é»è®¤å¼ï¼250ï¼ã
-è¾å¤§çå¼èçæ¯ç¹ï¼ä»èæé«è´¨éï¼ä»£ä»·æ¯é使æ¾ä¸çå®ä½ç²¾åº¦ã
-ä¸MPEG-1/2/4ä¸åï¼H.264å¨keyintå¼å¾å¤§æ¯å¹¶ä¸åDCTæ¼ç§»æåºå½±åã
-.
-.TP
-.B keyint_min=<1\-keyint/2>
-设置IDR帧é´çæå°é´éï¼é»è®¤å¼ï¼25ï¼ã
-妿è¿ä¸ªé´éä¸åºç°äºåºæ¯åæ¢ï¼é£ä¹è¿ä¸ªåæ¢ä»ç¶ç¼ç 为I帧ï¼ä½ä¸äº§çæ°çGOPã
-å¨H.264ä¸ï¼I帧并ä¸ä¸å®çº¦æåºä¸ä¸ªå°éçGOPï¼å 为è¿éå
许P帧å¨å
¶åé¢çä¸å¸§ä¹å颿µ
-åºæ¥ï¼å¦åè§framerefï¼ã
-æä»¥ï¼I帧并ä¸ä¸å®å¯ç¨äºææ¾å®ä½ã
-IDR帧éå¶å
¶åç»P帧ï¼ä¸è®©å®ä»¬åç
§è¯¥IDR帧ä¹åç帧ã
-.
-.TP
-.B scenecut=<\-1\-100>
-æ§å¶æå
¥é¢å¤I帧è¡ä¸ºçæ¿è¿ç¨åº¦ï¼é»è®¤å¼ï¼40ï¼ã
-å½scenecutå¼å°æ¶ï¼ç¼è§£ç å¨å¨å³å°è¶
è¿keyintæè§å®å¼æ¶æ»æ¯å¼ºå¶ä½¿ç¨I帧ã
-scenectuå¼è®¾ç½®å¾å¥½å¯è½ä¸ºI帧æ¾å°ä¸ä¸ªæ´å¥½çä½ç½®ã
-è¾å¤§çæ°å¼å¯¼è´ä½¿ç¨å¤äºæéè¦çI帧ï¼ä»èæµªè´¹äºæ¯ç¹ã
-\-1表示ç¦ç¨åºæ¯åæ¢ä¾¦æµï¼è¿æ ·Iå¸§åªææ¯è¿keyintä¸ªå¸§æ¶æä¼æå
¥ä¸ä¸ªï¼å³ä½¿åºæ¯åæ¢ä¹
-å就已åçã
-è¿ç§æ¹å¼ä¸æ¨è使ç¨ï¼å¹¶ä¸å
¶æµªè´¹æ¯ç¹çï¼å ä¸ºåºæ¯åæ¢ç¼ç 为P帧ä¸ç¼ç 为I帧å ä¹å·®ä¸å¤
-大ï¼ä½å
¶å¹¶ä¸éç½®âkeyint计æ°å¨âã
-.
-.TP
-.B (no)intra_refresh
-使ç¨å¨ææ§çå
é¨åºåæ´æ°èä¸ä½¿ç¨å
³é®å¸§ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-该é项ç¦ç¨ IDR 帧ï¼èæ¯ä½¿ç¨ç±ä¸ç»å
é¨ç¼ç çåºåç»æçç§»å¨åç´å¸¦ã该模å¼éä½äº
-å缩æçä½åå°äºæµä¼ è¾çå»¶å¹¶å¢å¼ºäºå¯¹ä¸¢å
ç容éè½åã
-.
-.TP
-.B frameref=<1\-16>
-B帧åP帧ä¸ç颿µå¨éæä½¿ç¨çä¹ååºç°çå¸§çæ°éï¼é»è®¤å¼ï¼3ï¼ã
-该é项å¨å¨ç»æ¯æææçï¼ä½å¨å®åµè§é¢ç´ æä¸ï¼å¤§çº¦6个åç
§å¸§ä¹ååç
§å¸§çä¼åæææ¥
-å§ä¸éã
-该é项对äºè§£ç é度没æå½±åï¼ä½ç¡®å®å¢å äºè§£ç æéçå
åéã
-æäºè§£ç 卿å¤åªè½å¤ç15个åç
§å¸§ã
-.
-.TP
-.B bframes=<0\-16>
-I帧åP帧ä¹é´è¿ç»åºç°çB帧çæå¤§æ°éï¼é»è®¤å¼ï¼3ï¼
-.
-.TP
-.B (no)b_adapt
-èªå¨å³å®ä½æ¶ä½¿ç¨B帧以å使ç¨å¤å°ï¼æ°éä¸éä¸ºä»¥ä¸ææå®çæå¤§å¼ï¼é»è®¤å¼ï¼å¼å¯ï¼ã
-妿ç¦ç¨äºè¿ä¸ªè¯¥é¡¹ï¼é£ä¹å°ä½¿ç¨çB帧æ°ä¸ºæå¤§å¼ã
-.
-.TP
-.B b_bias=<\-100\-100>
-æ§å¶b_adaptæåçå³çã
-b_bias弿é«äº§ççB帧è¶å¤ï¼é»è®¤å¼ï¼0ï¼ã
-.
-.TP
-.B (no)b_pyramid
-å
许B帧ä½ç¨é¢æµå
¶å®å¸§çåç
§å¸§ã
-ä¾å¦ï¼èè3个è¿ç»çB帧ï¼IO B1 B2 B3 P4ã
-ä¸ç¨è¿ä¸ªé项çè¯ï¼Bå¸§çæ ·å¼ä¸MPEG-[124]ä¸ç䏿 ·ã
-è¿æ ·è¿äºå¸§å°ä»¥IO P4 B1 B2 B3çæ¬¡åºç¼ç ï¼èææçB叧齿¯ä»IOåP4ä¸é¢æµåºæ¥çã
-使ç¨äºè¿ä¸ªé项åï¼è¿äºå¸§å°ç¼ç 为IO 04 B2 B1 B3ã
-B2ä¸åé¢æè¿°ç䏿 ·ï¼ä½B1æ¯ä»IOåB2颿µåºæ¥çï¼èB3æ¯ä»B2åP4颿µåºæ¥çã
-è¿ç§æ¹å¼é常产çç¨è®¸å¥½ä¸äºçå缩ææï¼èå 乿²¡æè¿è¡é度ä¸çå¼éã
-ç¶èï¼è¿æ¯ä¸ä¸ªå®éªæ§çéé¡¹ï¼æ²¡æå®å
¨è°æ´å¥½å¹¶ä¸å¯è½ä¸è½æ»æ¯èµ·ä½ç¨ã
-è¦æ±bframes >= 2ã
-缺ç¹ï¼å°è§£ç å»¶è¿éå¢å è³2帧ã
-.
-.TP
-.B (no)deblock
-使ç¨ååæåºæ»¤éï¼é»è®¤å¼ï¼å¼å¯ï¼ã
-ç±äºç¸å¯¹äºå
¶æé«çè´¨éèè¨ï¼è¯¥é项å ç¨æå°æ¶é´ï¼æä»¥ä¸æ¨èç¦ç¨è¿ä¸ªé项ã
-.
-.TP
-.B deblock=<\-6\-6>,<\-6\-6>
-第ä¸ä¸ªåæ°æ¯AlphaC0ï¼é»è®¤å¼ï¼0ï¼ã
-è¯¥åæ°è°æ´çæ¯H.264å
循ç¯ååæåºæ»¤éæç¨çéå¼ã
-第ä¸ï¼è¯¥åæ°è°æ´çæ¯æ»¤é对äºä»»ä½ä¸ä¸ªåç´ æå
许产ççåå¨çæå¤§æ°éã
-第äºï¼è¯¥åæ°å½±åçæ¯å°è¢«æ»¤é¤çè¾¹ç两侧差å«çéå¼ã
-æ£æ°å¼ä½¿æ´å¤çåæåºæä¼¤å¾å°ååï¼ä½åæ¶ä¹ä¼æä¼¤ç»é¢ç»èã
-.br
-第äºä¸ªåæ°æ¯Betaï¼é»è®¤å¼ï¼0ï¼ã
-è¯¥åæ°å½±åçæ¯ç»é¢ç»èçéå¼ã
-ç»èå¾å¤çåå°ä¸è¢«è¿æ»¤ï¼å 为滤é产ççå¹³æ»ææä¼æ¯åæ¥çåæåºæææ´å ææ¾ã
-.br
-滤éçé»è®¤è¡ä¸ºå 乿»æ¯å¸¦æ¥æä¼çè´¨éï¼æä»¥æå¥½è¦ä¹ä¸è°è¿ä¸ªé项ï¼è¦ä¹åªå¯¹å
¶ä½å°é
-è°æ´ã
-ç¶èï¼å¦æä½ çæºè§é¢ç´ æå·²ç»æä¸äºåæåºæåªå£°ææä½ æ³è¦å»é¤ï¼é£ä¹å¯è½å°è¿ä¸ªé项
-è°é«ä¸ç¹æ¯ä¸ªä¸éçåæ³ã
-.
-.TP
-.B (no)cabac
-使ç¨CABAC模å¼ï¼Context-Adaptive Binary Arithmetic Codingï¼ä¸ä¸æèªéåºçäºè¿å¶ç®
-æ¯ç¼ç ï¼ï¼é»è®¤å¼ï¼å¼å¯ï¼ã
-ç¨ç¨åæ
¢ç¼ç åè§£ç çé度ï¼ä½åºè¯¥å¯ä»¥èç10\-15%çæ¯ç¹çã
-é¤éä½ è¦è§£ç é度ï¼å¦åä½ ä¸è¯¥ç¦ç¨è¿ä¸ªé项ã
-.
-.TP
-.B qp_min=<1\-51>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-æå°éååæ°ï¼10\-30似乿¯ä¸ä¸ªæç¨çèå´ï¼é»è®¤å¼ï¼10ï¼ã
-.
-.TP
-.B qp_max=<1\-51>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-æå¤§éååæ°ï¼é»è®¤å¼ï¼51ï¼
-.
-.TP
-.B qp_step=<1\-50>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-éååæ°å¨å¸§ä¹é´å¢å /éä½çæå¤§æ°å¼ï¼é»è®¤å¼ï¼4ï¼
-.
-.TP
-.B (no)mbtree
-å¯ç¨å®åæ ç»æçç çæ§å¶ï¼é»è®¤å¼ï¼å¯ç¨ï¼ã
-éç¨å¤§éçé¢è¯»ä»¥è·ä¸æ°æ®å¨æ¶é´ä¸çååå¹¶ç¸åºå°è®¾ç½®ç¼ç è´¨éçæéã
-å¨å¤é¶æ®µçç¼ç 模å¼ä¸ï¼è¯¥æ¨¡å¼å°ä¿¡æ¯åå
¥ä¸ä¸ªå为 <passlogfile>.mbtree çç¬ç«çç¶ææ
-ä»¶ä¸ã
-.
-.TP
-.B rc_lookahead=<0\-250>
-è°æ´ mbtree çé¢è¯»èå´ï¼é»è®¤å¼ï¼40ï¼ã
-è¾å¤§çå¼å°è¿è¡å¾è¾æ
¢å¹¶ä½¿ x264 æ¶èè¾å¤çå
åï¼ä½åæ¶è½äº§çè¾é«çè´¨éã
-.
-.TP
-.B ratetol=<0.1\-100.0>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-ç¸å¯¹äºå¹³åæ¯ç¹ççæå
许çååç¨åº¦ï¼ä¸é对ç¹å®ç¼ç åå
ï¼ï¼é»è®¤å¼ï¼1.0ï¼
-.
-.TP
-.B vbv_maxrate=<value>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-å±é¨æå¤§çæ¯ç¹çï¼åä½ä¸ºåæ¯ç¹/\:ç§ï¼é»è®¤å¼ï¼ç¦ç¨ï¼
-.
-.TP
-.B vbv_bufsize=<value>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-计ç®vbv_maxrateæ¶æä½¿ç¨çå¹³åå卿ï¼åä½ä¸ºåæ¯ç¹
-ï¼é»è®¤å¼ï¼æ ï¼å¦æå¯ç¨äºvbv_maxrateé£ä¹å¿
é¡»æå®è¿ä¸ªé项ï¼
-.
-.TP
-.B vbv_init=<0.0\-1.0>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-åå§ç¼å²å ç¨éï¼ä¸ºç¸å¯¹äºvbv_bufsizeå¼çä¸ä¸ªåæ°ï¼é»è®¤å¼ï¼0.9ï¼
-.
-.TP
-.B ip_factor=<value>
-I帧åP帧é´çéååæ°å æ°ï¼é»è®¤å¼ï¼1.4ï¼
-.
-.TP
-.B pb_factor=<value>
-P帧åB帧é´çéååæ°å æ°ï¼é»è®¤å¼ï¼1.3ï¼
-.
-.TP
-.B qcomp=<0\-1>ï¼ç¨äºABRæäºé¶æ®µç¼ç 模å¼ï¼
-éåå¨å缩çï¼é»è®¤å¼ï¼0.6ï¼ã
-å¼è¶å°ä½¿æ¯ç¹çè¶æå®ï¼
-èå¼è¶å¤§ä½¿éååæ°è¶æå®ã
-.
-.TP
-.B cplx_blur=<0\-999>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-估计åºçå¸§å¤æåº¦çæ¶é´æ¨¡ç³åº¦ï¼åºç¨äºæ²çº¿å缩ä¹åï¼é»è®¤å¼ï¼20ï¼ã
-å¼è¶ä½å让éå忰弿µ®å¨å¾è¶å¤ï¼
-å¼è¶é«å使å
¶ååå¾è¶å¹³æ»ã
-cplx_blurä¿è¯æ¯ä¸ªI帧çè´¨éä¸å
¶åçP帧ç¸å½ï¼å¹¶ä¿è¯å¤æåº¦é«ä½äº¤æ¿ååç帧ï¼ä¾å¦ï¼
-ä½å¸§ççå¨ç»ï¼ä¸ä¼å 为éååæ°çæ³¢å¨è浪费æ¯ç¹ã
-.
-.TP
-.B qblur=<0\-99>ï¼ä»
ç¨äºäºé¶æ®µç¼ç 模å¼ï¼
-éååæ°çæ¶é´æ¨¡ç³åº¦ï¼åºç¨äºæ²çº¿å缩ä¹åï¼é»è®¤å¼ï¼0.5ï¼ã
-å¼è¶ä½åå
许éååæ°æµ®å¨å¾è¶å¤ï¼
-å¼è¶é«å使å
¶ååå¾è¶å¹³æ»ã
-.
-.TP
-.B zones=<zone0>[/<zone1>[/...]]
-ç¨æ·æå®çç¨äºå½±çç¹å®é¨åï¼çå°¾ãæ¼èå表ãâ¦â¦ï¼çè´¨éå¼ã
-æ¯ä¸ªzoneçæ ¼å¼æ¯<start-frame>,<end-frame>,<option>ï¼å
¶ä¸optionå¯è½æ¯
-.PD 0
-.RSs
-.IPs "q=<0\-51>"
-éååæ°
-.IPs "b=<0.01\-100.0>"
-æ¯ç¹ççåæ°
-.RE
-.PD 1
-.RS
-.I 注æï¼
-éååæ°é项䏿¯ä¸¥éæ§è¡çã
-å
¶å½±åçåªæ¯ç çæ§å¶è¿ç¨ä¸ç计åé¶æ®µï¼å¹¶ä¸ä»ç¶åå¶äºæº¢åºè¡¥å¿åqp_min/qp_maxé项ã
-.RE
-.
-.TP
-.B direct_pred=<name>
-å³å®ç¨äºB帧ä¸ç´æ¥æ¨¡å¼å®åçè¿å¨é¢æµçç±»åã
-.PD 0
-.RSs
-.IPs none
-ä¸ä½¿ç¨ç´æ¥æ¨¡å¼çå®åã
-.IPs spatial
-è¿å¨ç¢éç±é»æ¥åæ¨æåºæ¥ãï¼é»è®¤å¼ï¼
-.IPs temporal
-è¿å¨ç¢éç±å
¶åçPå¸§æ¨æåºæ¥ã
-.IPs auto
-ç¼è§£ç å¨ä¸ºæ¯ä¸ªå¸§åå«éæ©æ¯ç¨spatialè¿æ¯ç¨temporalã
-.RE
-.PD 1
-.RS
-spatialåtemporalé度ä¸åPSNRä¸å¤§è´ç¸åï¼éæ©ä¸¤è
ä¸çåªä¸ä¸ªåå³äºè§é¢çå
容ã
-autoç¨ç¨å¥½ä¸äºï¼ä½è¿è¡æ
¢ä¸äºã
-å½ä¸å¤é¶æ®µç¼ç 模å¼ä¸åä½¿ç¨æ¶ï¼autoé常ææã
-direct_pred=noneä¸ä»
è¿è¡éåº¦è¾æ
¢èä¸è´¨éä¹è¾å·®ã
-.RE
-.
-.TP
-.B weightp
-åºäºæéç P 叧颿µæ¨¡å¼ï¼é»è®¤å¼ï¼2ï¼ã
-Weighted P-frame prediction mode (default: 2).
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨ï¼è¿è¡æå¿«ï¼
-.IPs 1
-ç²ç®æ¨¡å¼ï¼è´¨éç¨å¥½ï¼
-.IPs 2
-æºè½æ¨¡å¼ï¼è´¨éæå¥½ï¼
-.RE
-.PD 1
-.
-.TP
-.B (no)weight_b
-使ç¨B帧ä¸å¸¦æéç颿µæ¨¡å¼ã
-ä¸ç¨è¿ä¸ªé项çè¯ï¼åå颿µåºçå®åç»æ¯ä¸ªæåç
§ç帧ç¸ççæéå¼ã
-使ç¨äºè¿ä¸ªé项åï¼æé弿¯æ ¹æ®B帧ç¸å¯¹åç
§å¸§çæ¶é´ä½ç½®èå³å®çã
-è¦æ±bframes > 1ã
-.
-.TP
-.B partitions=<list>
-å¯ç¨ä¸äºå¯éçå®åç±»åï¼é»è®¤å¼ï¼p8x8,b8x8,i8x8,i4x4ï¼ã
-.PD 0
-.RSs
-.IPs p8x8
-å¯ç¨p16x8ãp8x16ãp8x8ç±»åã
-.IPs p4x4
-å¯ç¨p8x4ãp4x8ãp4x4ç±»åã
-p4x4åªå¨subq >= 5ï¼å¹¶ä¸å辨ç使¶ææ¨è使ç¨ã
-.IPs b8x8
-å¯ç¨b16x8ãb8x16ãb8x8ç±»åã
-.IPs i8x8
-å¯ç¨i8x8ç±»åã
-é¤éå¯ç¨äº8x8dctï¼å¦åi8x8没æä»»ä½ææã
-.IPs i4x4
-å¯ç¨i4x4ç±»åã
-.IPs all
-å¯ç¨ä»¥ä¸ææç±»åã
-.IPs none
-ç¦ç¨ä»¥ä¸ææç±»åã
-.RE
-.PD 1
-.RS
-ä¸ç®¡è¿ä¸ªé项设为ä½å¼ï¼p16x16ãb16x16åi16x16ä¸ç§å®åç±»åæ»æ¯å¯ç¨çã
-.br
-å
¶ææ³æ¯æ¾å°æéåæç»ç»é¢æä¸åºåçå®åç±»åå尺寸ã
-ä¾å¦ï¼å
¨å±ææé头è¾å¥½ä»¥16x16çåæ¥è¡¨ç¤ºï¼èå°åç§»å¨ç©ä½è¾å¥½ä»¥å°ä¸ç¹çåæ¥è¡¨ç¤ºã
-.RE
-.
-.TP
-.B (no)8x8dct
-èªéåºç©ºé´åæ¢å°ºå¯¸ï¼å
许å®åå¨4x4å8x8çDCTé´éæ©ä¸ç§ã
-åæ¶å
许使ç¨i8x8çå®åç±»åã
-ä¸ä½¿ç¨è¿ä¸ªé项ï¼ååªä½¿ç¨4x4çDCTã
-.
-.TP
-.B me=<name>
-éæ©å
¨åç´ è¿å¨ä¼°è®¡ç®æ³ã
-.PD 0
-.RSs
-.IPs dia
-è±å½¢æç´¢ï¼åå¾ä¸º1ï¼è¿è¡å¿«ï¼
-.IPs hex
-å
边形æç´¢ï¼åå¾ä¸º2ï¼é»è®¤å¼ï¼
-.IPs umh
-éååçå¤å
边形æç´¢ï¼è¿è¡æ
¢ï¼
-.IPs esa
-å½»åºæ§æç´¢ï¼è¿è¡é常æ
¢ï¼èä¸ä¸æ¯umh好å¤å°ï¼
-.RE
-.PD 1
-.
-.TP
-.B me_range=<4\-64>
-å½»åºæ§è¿å¨æç´¢æå¤å
边形è¿å¨æç´¢çåå¾ï¼é»è®¤å¼ï¼16ï¼
-.
-.TP
-.B subq=<0\-9>
-è°æ´äºåç´ ä¼åè´¨éã
-è¯¥åæ°æ§å¶çæ¯è¿å¨ä¼°è®¡å³çè¿ç¨ä¸è´¨éä¸é度çæè¡¡ã
-subq=5è½æ¯subq=1å¤å缩æ10%ã
-.PD 0
-.RSs
-.IPs 0
-å¯¹äºææåéå®åç±»åè¿è¡å
¨åç´ ç²¾åº¦çè¿å¨ä¼°è®¡æä½ã
-ç¶åéæ© SAD ææ æä½³çç±»åï¼æ¯ subq=1 å¿«ï¼ä¸æ¨èï¼é¤é
-ä½ éè¦æå
¶å¿«éçç¼ç ï¼ã
-.IPs 1
-æ§è¡å¼ä¸º 0 æ¶çæä½ï¼
-ç¶åä¼åè¿ç§ç±»åçè¿å¨å¼ï¼ä½¿å
¶è¾¾å°å¿«éååä¹ä¸åç´ æ¨¡å¼ç精度ï¼è¿è¡å¿«ï¼ã
-.IPs 2
-å¯¹äºææåéå®åç±»åè¿è¡ååç´ ç²¾åº¦çè¿å¨ä¼°è®¡æä½ã
-ç¶åéæ© SATD ææ æä½³çç±»åã
-ç¶åä¼åè¿ç§ç±»åçè¿å¨å¼ï¼ä½¿å
¶è¾¾å°å¿«éååä¹ä¸åç´ æ¨¡å¼ç精度ã
-.IPs 3
-ä¸2ç¸ä¼¼ï¼ä½éç¨è¾æ
¢çååä¹ä¸åç´ ä¼å模å¼ã
-.IPs 4
-å¯¹äºææåéå®åç±»åè¿è¡å¿«éååä¹ä¸åç´ ç²¾åº¦çè¿å¨ä¼°è®¡æä½ã
-ç¶åéæ© SATD ææ æä½³çç±»åã
-ç¶åå®æå¯¹äºæ¤ç§ç±»åçååä¹åç´ æ¨¡å¼çä¼åæä½ã
-.IPs 5
-å¨éæ©æä½³ç±»åä¹åï¼å¯¹äºææåéå®åç±»åè¿è¡æä½³è´¨éçååä¹ä¸åç´ ç²¾åº¦çè¿å¨ä¼°è®¡
-æä½ã
-åæ¶ä¹ä½¿ç¨ SATD ææ ä¼åååå®åä¸ä½¿ç¨ç两个è¿å¨ç¢éï¼è䏿¯éç¨åååååæç´¢ä¸
-æ¾å°çç¢éã
-.IPs 6
-å¯ç¨I帧åP帧ä¸å®åç±»åçç ç失çä¼å模å¼ã
-.IPs 7
-卿æå¸§ä¸å¯ç¨å®åç±»åçç ç失çä¼å模å¼ãï¼é»è®¤å¼ï¼
-.IPs 8
-å¯ç¨è¿å¨ç¢éçç ç失çä¼å模å¼ï¼ä»¥åI帧åP帧ä¸çå
é¨é¢æµæ¨¡å¼ã
-.IPs 9
-å¯ç¨è¿å¨ç¢éçç ç失çä¼å模å¼ï¼ä»¥åææå¸§ä¸çå
é¨é¢æµæ¨¡å¼ãï¼æä½³ï¼
-.RE
-.PD 1
-.RS
-以ä¸å
容ä¸ï¼âææçåéå®åç±»åâ并䏿°æ°æå³çææå·²å¯ç¨çç±»åï¼
-4x4ã4x8ã8x4åªæå½8x8æ¯16x16å¥½æ¶æå°è¯éç¨ã
-.RE
-.
-.TP
-.B (no)chroma_me
-å¨äºåç´ è¿å¨æç´¢ä¸èèè²åº¦ä¿¡æ¯ï¼é»è®¤å¼ï¼å¯ç¨ï¼ã
-è¦æ±subq>=5ã
-.
-.TP
-.B (no)mixed_refs
-å
许æ¯ä¸ª8x8æ16x8çè¿å¨é¨åç¬ç«å°éåä¸ä¸ªåç
§å¸§ã
-ä¸ç¨è¿ä¸ªé项çè¯ï¼æ´ä¸ªå®åå¿
é¡»éç¨åä¸ä¸ªåç
§å¸§ã
-è¦æ±frameref>1ã
-.
-.TP
-.B trellis=<0\-2>ï¼ä»
éç¨äº cabacï¼
-ç ç失çæä¼çé忍¡å¼
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨
-.IPs 1
-ä»
对æç»ç¼ç å¯ç¨ï¼é»è®¤å¼ï¼
-.IPs 2
-å¯ç¨æææ¨¡å¼ä¸çå³çï¼è¿è¡æ
¢ï¼è¦æ±subq>=6ï¼
-.RE
-.PD 1
-.
-.TP
-.B psy-rd=rd[,trell]
-设置å¿çè§è§ä¼å模å¼ç强度ã
-.PD 0
-.RSs
-.IPs rd=<0.0\-10.0>
-å¿çè§è§ä¼å模å¼ç强度ï¼è¦æ± subq>=6ï¼ï¼é»è®¤å¼ï¼1.0ï¼
-.IPs trell=<0.0\-10.0>
-trellisï¼è¦æ± trellisï¼å®éªæ§ï¼ï¼é»è®¤å¼ï¼0.0ï¼
-.RE
-.PD 1
-.
-.TP
-.B (no)psy
-å¯ç¨å¿çè§è§ä¼å模å¼ï¼è¯¥æ¨¡å¼éä½ PSNR å SSIM ä½åºè¯¥è§è§æææ´å¥½ï¼é»è®¤å¼ï¼å¯
-ç¨ï¼ã
-.
-.TP
-.B deadzone_inter=<0\-32>
-è®¾ç½®éæ ¼åå åé忍¡å¼ä¸å¸§é´äº®åº¦éåæ æåºç大å°ï¼é»è®¤å¼ï¼21ï¼ã
-è¾å°ç弿å©äºä¿çæå¥½çç»èåå½±ççç²åº¦æï¼ç¹å«æ¯å¯¹äºé«æ¯ç¹ç/è´¨éç¼ç æç¨ï¼ï¼
-èè¾å¤§ç弿å©äºæ»¤é¤è¿äºç»èä»èç䏿¯ç¹ä»¥ç¨å¨å
¶å®å®åå帧ä¸ï¼ç¹å«æ¯å¯¹äºä½æ¯ç¹ç
-çç¼ç æç¨ï¼ã
-æ¨èä½ å¨æ´æ¹è¿ä¸ªåæ°å
è°è¯ä¸ä¸deadzone_intraã
-.
-.TP
-.B deadzone_intra=<0\-32>
-ç½®éæ ¼åå åé忍¡å¼ä¸å¸§å
亮度éåæ æåºç大å°ï¼é»è®¤å¼ï¼11ï¼ã
-该é项ä¸deadzon_interæç¸åçææï¼ä¸åå¨äºå
¶å½±åçæ¯å
é¨å¸§ã
-æ¨èä½ å¨æ´æ¹deadzone_interä¹åå
è°è¯ä¸ä¸è¿ä¸ªåæ°ã
-.
-.TP
-.B (no)fast_pskip
-æ§è¡P帧ä¸çæ©æè·³è·ä¾¦æµåè½ï¼é»è®¤å¼ï¼å¯ç¨ï¼ã
-该é项é常ä¸è±ä»»ä½ä»£ä»·èæåç¼ç é度ï¼ä½å
¶ææ¶å¯è½å¨ç¼ºä¹ç»èçç»é¢åºåï¼å¦å¤©ç©ºï¼
-产çç»é¢æä¼¤ã
-.
-.TP
-.B (no)dct_decimate
-å»é¤åªå«æå个微å°ç³»æ°çP帧ä¸çDCTåï¼é»è®¤å¼ï¼å¯ç¨ï¼ã
-该é项ä¼å»é¤ä¸åç»é¢ç»èï¼æä»¥å
¶ä¼çä¸ä¸äºæ¯ç¹ä»¥ç¨å¨å
¶å®å¸§ä¸ï¼ä»èæå¯è½æåæ´ä½
-ç主è§è´¨éã
-å¦æä½ æ£ä»¥è¾é«çç®æ æ¯ç¹çå缩éå¨ç»è§é¢å
容ï¼é£ä¹ä½ å¯è½å¸æç¦ç¨è¿ä¸ªé项以尽å¯è½
-ä¿çç»é¢ç»èã
-.
-.TP
-.B nr=<0\-100000>
-åªå£°åå强度ï¼0表示ç¦ç¨ã
-100\-1000对äºå
¸åå
容æ¥è¯´æ¯ä¸ä¸ªæç¨çèå´ï¼ä½ä½ å¯è½å¸æå¯¹åªå£°å¾å¼ºçè§é¢å
容è°é«
-ä¸äºè¿ä¸ªé项ã
-èèå°è¿ä¸ªé项对äºè¿è¡é度影åå°ï¼ä½ å¯è½å¸æå¾åäºä½¿ç¨è¿ä¸ªé项ï¼è䏿¯ä½¿ç¨è¯¸å¦
-denoise3dæhqdn3dä¹ç±»çè§é¢æ»¤éæ¥æ»¤é¤åªå£°ã
-.
-.TP
-.B chroma_qp_offset=<\-12\-12>
-ç¸å¯¹äºäº®åº¦æ¥è¯´ä¸ºè²åº¦ä½¿ç¨ä¸ä¸ªä¸åçéååæ°ã
-æç¨å¼çèå´æ¯<\-2\-2>ï¼é»è®¤å¼ï¼0ï¼ã
-.
-.TP
-.B aq_mode=<0\-2>
-å®è®®èªéåºé忍¡å¼ï¼AQï¼å¦ä½åé
æ¯ç¹ï¼
-.PD 0
-.RSs
-.IPs 0
-ç¦ç¨
-.IPs 1
-é¿å
å¨å¸§é´è½¬ç§»æ¯ç¹ã
-.IPs 2
-å¨å¸§é´è½¬ç§»æ¯ç¹ï¼ä¾æ®é»è®¤æ¹å¼ï¼ã
-.RE
-.PD 1
-.
-.TP
-.B aq_strength=<positive float value>
-æ§å¶èªéåºé忍¡å¼ï¼AQï¼å¨å¹³å¦åæçº¹ççåºåè½åå°å¤å°åæåºå模ç³ï¼é»è®¤å¼ï¼1.0ï¼ã
-å¼ä¸º 0.5 å°å¯¼è´è¾å¼±ç AQ åè¾å°çç»èï¼èå¼ä¸º 1.5 åè½äº§çè¾å¼ºç AQ åæ´å¤çç»èã
-.
-.TP
-.B cqm=<flat|jvt|<filename>>
-è¦ä¹ä½¿ç¨ä¸ä¸ªé¢å
å®ä¹å¥½çèªå®ä¹éåç©éµï¼è¦ä¹å ä¸ä¸ªJMæ ¼å¼çç©éµæä»¶ã
-.PD 0
-.RSs
-.IPs "flat\ "
-使ç¨é¢å
å®ä¹å¥½çå¹³å¦16ç©éµï¼é»è®¤å¼ï¼ã
-.IPs "jvt\ \ "
-使ç¨é¢å
å®ä¹å¥½çJVTç©éµã
-.IPs <filename>
-ä½¿ç¨æç»åºçJMæ ¼å¼ç©éµæä»¶ã
-.PD 1
-.RE
-.RS
-.I 注æï¼
-Windows CMD.EXEçç¨æ·å¦æå°è¯ä½¿ç¨å
¨é¨CQMå表æ¶ï¼å¯è½å¨è§£æå½ä»¤è¡æ¶éå°é®é¢ã
-è¿æ¯å 为å½ä»¤è¡é¿åº¦æéå¶ã
-å¨è¿ç§æ
åµä¸æ¨èå°å表åå¨ä¸ä¸ªJMæ ¼å¼çCQMæä»¶ä¸ï¼ç¶ååä¸é¢æè¯´é£æ ·å è½½è¿æ¥ã
-.RE
-.
-.TP
-.B cqm4iy=<list>ï¼å¦åè§cqmï¼
-èªå®ä¹ç4x4帧å
亮度ç©éµï¼ä»¥ç±16个éå·åéå¼å为1\-255çå¼ç»æçå表çå½¢å¼ç»åºã
-.
-.TP
-.B cqm4ic=<list>ï¼å¦åè§cqmï¼
-èªå®ä¹ç4x4帧å
è²åº¦ç©éµï¼ä»¥ç±16个éå·åéå¼å为1\-255çå¼ç»æçå表çå½¢å¼ç»åºã
-.
-.TP
-.B cqm4py=<list>ï¼å¦åè§cqmï¼
-èªå®ä¹ç4x4帧é´äº®åº¦ç©éµï¼ä»¥ç±16个éå·åéå¼å为1\-255çå¼ç»æçå表çå½¢å¼ç»åºã
-.
-.TP
-.B cqm4pc=<list>ï¼å¦åè§cqmï¼
-èªå®ä¹ç4x4帧é´è²åº¦ç©éµï¼ä»¥ç±16个éå·åéå¼å为1\-255çå¼ç»æçå表çå½¢å¼ç»åºã
-.
-.TP
-.B cqm8iy=<list>ï¼å¦åè§cqmï¼
-èªå®ä¹ç8x8帧å
亮度ç©éµï¼ä»¥ç±64个éå·åéå¼å为1\-255çå¼ç»æçå表çå½¢å¼ç»åºã
-.
-.TP
-.B cqm8py=<list>ï¼å¦åè§cqmï¼
-èªå®ä¹ç8x8帧é´äº®åº¦ç©éµï¼ä»¥ç±64个éå·åéå¼å为1\-255çå¼ç»æçå表çå½¢å¼ç»åºã
-.
-.TP
-.B level_idc=<10\-51>
-å°æ¯ç¹ççç级设置为H.264æ åéä»¶Aä¸å®ä¹çå¼ï¼é»è®¤å¼ï¼51ââ5.1级ï¼ã
-该é项ç¨äºåè¯è§£ç å¨å
¶éè¦æ¯ææä¹æ ·çæ§è½ã
-åªæå½ä½ ç¥éè¿ä¸ªåæ°æ¯ä»ä¹ææï¼å¹¶ä¸éè¦è®¾ç½®å®æ¶ï¼æä½¿ç¨è¿ä¸ªåæ°ã
-.
-.TP
-.B threads=<0\-16>
-çæçº¿ç¨ä»¥å¨å¤ä¸ªCPUä¸å¹³è¡ç¼ç ï¼é»è®¤å¼ï¼0ï¼ã
-该é项对äºå缩质éç¨æä¸äºå½±åã
-0æâautoâåè¯x264让å
¶ä¾¦æµä½ æå¤ä¸ªCPUï¼å¹¶éåä¸ä¸ªéå½ççº¿ç¨æ°ã
-.
-.TP
-.B (no)sliced_threads
-使ç¨åºäºç段çå¤çº¿ç¨æ¨¡å¼ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-ä¸é常çå¤çº¿ç¨æ¨¡å¼ä¸åï¼è¯¥é项ä¸å¢å ç¼ç¨å»¶è¿ï¼ä½è¿è¡ç¨æ
¢ä¸å缩ä¸è¾ä½æã
-.
-.TP
-.B slice_max_size=<0 ææ£æ´æ°>
-æå¤§ççæ®µå°ºå¯¸ï¼åä½ä¸ºåèï¼é»è®¤å¼ï¼0ï¼ã
-å¼ä¸ºé¶å没ææå¤§å¼ã
-.
-.TP
-.B slice_max_mbs=<0 ææ£æ´æ°>
-æå¤§ççæ®µå°ºå¯¸ï¼åä½ä¸ºå®åæ°ï¼é»è®¤å¼ï¼0ï¼ã
-å¼ä¸ºé¶å没ææå¤§å¼ã
-.
-.TP
-.B slices=<0 ææ£æ´æ°>
-æ¯å¸§æå¤§ççæ®µæ°ï¼é»è®¤å¼ï¼0ï¼ã
-å¼ä¸ºé¶å没ææå¤§å¼ã
-.
-.TP
-.B sync_lookahead=<0\-250>
-è°æ´åºäºå¤çº¿ç¨çé¢è¯»ç¼å²ç大å°ï¼é»è®¤å¼ï¼0ï¼ã
-0 æâautoâåè¯ x264 èªå¨ç¡®å®ç¼å²å¤§å°ã
-.
-.TP
-.B (no)deterministic
-ä»
使ç¨å¤çº¿ç¨ç¼ç¨çç¡®å®æ§ä¼å模å¼ï¼é»è®¤å¼ï¼å¯ç¨ï¼ã
-.
-.TP
-.B (no)global_header
-使SPSåPPSåªåºç°ä¸æ¬¡ï¼å³å¨æ¯ç¹æµçå¼å§é¨åï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-æäºææ¾å¨ï¼è¯¸å¦Sony PSPï¼éè¦ä½¿ç¨è¿ä¸ªé项ã
-é»è®¤çè¡ä¸ºæ¯ä½¿SPSåPPS卿¯ä¸ªIDR帧åéå¤åºç°ã
-.
-.TP
-.B (no)interlaced
-å°è§é¢å
容ä½ä¸ºéè¡æ«æå
容对å¾
ã
-.
-.TP
-.B (no)constrained_intra
-å¯ç¨åéå¶ç帧å
颿µæ¨¡å¼ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-该é项ç¨ç¨éä½å缩çï¼ä½å¯¹äº SVC ç¼ç ä¸çåºç¡ç¼ç 屿¬¡æ¯å¿
é¡»çã
-.
-.TP
-.B (no)aud
-å°åååå
çåéæ å¿åå
¥æ°æ®æµï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-é¤éä½ çç®æ å卿 ¼å¼éè¦æåååå
åéæ å¿ï¼å¦åä¸è¦å¯ç¨è¯¥é项ã
-.
-.TP
-.B overscan=<undef|show|crop>
-å¨åªä½æµä¸å
å« VUI å
¨ç»é¢æ¨¡å¼ä¿¡æ¯ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-åè§ x264 æºä»£ç ä¸ç doc/vui.txt 以è·åæ´å¤ä¿¡æ¯ã
-.
-.TP
-.B videoformat=<component|pal|ntsc|secam|mac|undef>
-å¨åªä½æµä¸å
å« VUI è§é¢æ ¼å¼ä¿¡æ¯ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-该éé¡¹åªæ¯ç¨ä»¥æè¿°æååªä½æ¥æºçä¸ä¸ªæä¾ä¿¡æ¯çé项ã
-åè§ x264 æºä»£ç ä¸ç doc/vui.txt 以è·åæ´å¤ä¿¡æ¯ã
-.
-.TP
-.B (no)fullrange
-å¨åªä½æµä¸å
å« VUI å
¨ä¿¡å·èå´ä¿¡æ¯ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-å¦æä½ çæºè§é¢ä¸éå¶ä¿¡å·èå´å使ç¨è¯¥é项ã
-åè§ x264 æºä»£ç ä¸ç doc/vui.txt 以è·åæ´å¤ä¿¡æ¯ã
-.
-.TP
-.B colorprim=<bt709|bt470m|bt470bg|smpte170m|smpte240m|film|undef>
-å
å«å
è²å½©ä¿¡æ¯ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-该é项å¯ç¨äºè²å½©ä¿®æ£ã
-åè§ x264 æºä»£ç ä¸ç doc/vui.txt 以è·åæ´å¤ä¿¡æ¯ã
-.
-.TP
-.B transfer=<bt709|bt470m|bt470bg|linear|log100|log316|smpte170m|smpte240m>
-å¨åªä½æµä¸å
å« VUI ä¼ è¾ç¹å¾ä¿¡æ¯ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-该é项å¯ç¨äºè²å½©ä¿®æ£ã
-åè§ x264 æºä»£ç ä¸ç doc/vui.txt 以è·åæ´å¤ä¿¡æ¯ã
-.
-.TP
-.B colormatrix=<bt709|fcc|bt470bg|smpte170m|smpte240m|GBR|YCgCo>
-å¨åªä½æµä¸å
å« VUI ç©éµç³»æ°ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-该é项å¯ç¨äºè²å½©ä¿®æ£ã
-åè§ x264 æºä»£ç ä¸ç doc/vui.txt 以è·åæ´å¤ä¿¡æ¯ã
-.
-.TP
-.B chromaloc=<0-5>
-å¨åªä½æµä¸å
å« VUI è²åº¦æ ·æ¬ä½ç½®ä¿¡æ¯ï¼é»è®¤å¼ï¼ç¦ç¨ï¼ã
-使ç¨è¯¥é项è½ä¿è¯è²å½©ç©ºé´è½¬æ¢åè²åº¦åäº®åº¦å¹³é¢æ£ç¡®æåã
-åè§ x264 æºä»£ç ä¸ç doc/vui.txt 以è·åæ´å¤ä¿¡æ¯ã
-.
-.TP
-.B log=<\-1\-3>
-è°æ´æå°å¨å±å¹ä¸çæ¥å¿ä¿¡æ¯çéã
-.PD 0
-.RSs
-.IPs "\-1"
-æ
-.IPs " 0"
-åªæå°é误信æ¯ã
-.IPs " 1"
-è¦åä¿¡æ¯
-.IPs " 2"
-å½ç¼ç ç»ææ¶æå°PSNR以åå
¶å®åæç»è®¡ä¿¡æ¯ï¼é»è®¤å¼ï¼
-.IPs " 3"
-æ¯ä¸ªå¸§çPSNRãQPã帧类åã大å°ï¼ä»¥åå
¶å®ç»è®¡ä¿¡æ¯
-.RE
-.PD 1
-.
-.TP
-.B (no)psnr
-æå°ä¿¡åªæ¯ç»è®¡ä¿¡æ¯ã
-.br
-.I 注æï¼
-PSNRçâYâãâUâãâVâåâAvgâå卿°å¦ä¸å¹¶ä¸å®ç¾ï¼è¿äºå¼åªæ¯é帧PSNRçå¹³åå¼
-ï¼ã
-è¿äºåªæ¯ä¸ºäºä¸JMæ åçç¼è§£ç å¨ç¸æ¯è¾ï¼èä¿ç䏿¥çã
-åºäºå
¶å®ç®ççè¯ï¼è¯·éç¨log=3æå°çâGlobalâPSNRï¼ææ¯é帧çPSNRã
-.
-.TP
-.B (no)ssim
-æå°ç»æç¸ä¼¼åº¦è®¡éç»æã
-该å¼ä¸ºPSNRçä¸ç§æ¿ä»£è®¡éå¼ï¼å¹¶ä¸å¯è½ä¸å缩åè§é¢ä¸è§å¯å°çè´¨éææ´å¥½çç¸å
³æ§ã
-.
-.TP
-.B (no)visualize
-å¯ç¨x264å¨ç¼ç æ¶çå¯è§åææã
-å¦æä½ ç³»ç»ä¸çx264æ¯æè¿ä¸ªé项ï¼é£ä¹å¨ç¼ç è¿ç¨ä¸å°æå¼ä¸ä¸ªæ°çªå£ï¼å¨è¿ä¸ªçªå£ä¸ï¼
-x264ä¼å°è¯æ»ä½æ§å°æ¾ç¤ºåºæ¯ä¸å¸§æ¯å¦ä½ç¼ç ã
-å¨å¯è§å模å¼ä¸å½±ççæ¯ç§åç±»åå°ä»¥å¦ä¸æ¹å¼çè²ï¼
-.
-.TP
-.B dump_yuv=<file name>
-å° YUV 帧导åºå°æå®çæä»¶ä¸ã
-ç¨äºè°è¯ã
-.PD 0
-.RSs
-.IPs 红/ç²çº¢
-帧å
å
-.IPs "è\ "
-帧é´å
-.IPs 绿
-è·³è·
-.IPs é»
-Bå
-.RE
-.PD 1
-.RS
-该åè½å¯ä»¥è®¤ä¸ºæ¯å®éªæ§ï¼å¹¶ä¸å®¹æååã
-ç¹å«æ¯ï¼å
¶éè¦x264ç¼è¯æ¶å¯ç¨å¯è§ååè½ã
-注æå¨åè¿é¨åå
容æ¶ï¼x264å¨ç¼ç å¹¶å¯è§åæ¾ç¤ºæ¯ä¸å¸§å伿åï¼çå¾
ç¨æ·æä¸ä¸ªé®ï¼
-卿¤ä¹åæç¼ç ä¸ä¸å¸§ã
-.RE
-.
-.
-.SS xvfwï¼\-xvfwoptsï¼
-.
-使ç¨Windowsè§é¢ç¼è§£ç å¨ç¼ç åºæ¬ä¸æ¯è¿æ¶çåæ³ï¼é¤éä½ å¸æç¼ç 为æç§é¾æèæç«¯ç
-ç¼è§£ç 卿 ¼å¼ã
-.
-.TP
-.B codec=<name>
-ç¨äºç¼ç çäºè¿å¶ç¼è§£ç 卿件çæä»¶åã
-.
-.TP
-.B compdata=<file>
-vfw2mencå建çç¼è§£ç å¨è®¾ç½®æä»¶çæä»¶åï¼å¦firstpass.mcfï¼ã
-.
-.
-.SS MPEG muxerï¼\-mpegoptsï¼
-.
-MPEG muxerå¯ä»¥çæ5ç§ç±»åçè§é¢æµï¼æ¯ç§é½æè¾å¥½çé»è®¤åæ°ï¼èç¨æ·å¯ä»¥æ´æ¹è¿äºå
-æ°ã
-é常ï¼å½çæMPEGæä»¶æ¶ï¼å»ºè®®ç¦ç¨MEncoderç跳帧æä»¤ï¼åè§\-noskipã\-mc以åè§é¢æ»¤
-éharddupåsoftskipï¼ã
-.PP
-.I 示ä¾ï¼
-.PD 0
-.RSs
-.IPs format=mpeg2:tsaf:vbitrate=8000
-.RE
-.PD 1
-.
-.TP
-.B format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
-è§é¢æµæ ¼å¼ï¼é»è®¤å¼ï¼mpeg2ï¼ã
-pes1ä¸pes2æ¯é常æé®é¢çæ ¼å¼ï¼æ²¡ææå
å¤´ï¼æ²¡æå¡«å
ï¼ï¼ä½VDR使ç¨è¿äºæ ¼å¼ï¼ä¸è¦é
-ç¨è¿äºæ ¼å¼ï¼é¤éä½ ç¡®åç¥éä½ å¨åä»ä¹ã
-.
-.TP
-.B size=<æå¤§65535>
-åä½ä¸ºåèçæå
大å°ï¼ä¸è¦æ´æ¹è¿ä¸ªå¼é¤éä½ ç¡®åç¥éä½ å¨åä»ä¹ï¼é»è®¤å¼ï¼2048ï¼ã
-.
-.TP
-.B muxrate=<int>
-æå
头é¨ä¿¡æ¯ä¸çåä½kbit/sçæ ç§°å¤åæµéçï¼é»è®¤å¼ï¼1800 kb/sï¼ã
-å½âformat=mpeg1âæâmpeg2âæ¶å°æ ¹æ®éè¦è·å¾æ´æ°ã
-.
-.TP
-.B "tsaf\ \ \ "
-妿å¯è½ï¼å¨ææå¸§ä¸è®¾ç½®æ¶é´æ³å¼ï¼æ¨èå½format=dvdæ¶ä½¿ç¨ã
-妿dvdauthoræ¥è¦è¾åºä¿¡æ¯ï¼ä¾å¦â..audio sector out of range...âæ¶ï¼é£ä¹ä½ å¯è½
-ä¸è¯¥å¯ç¨è¿ä¸ªé项ã
-.
-.TP
-.B interleaving2
-使ç¨ä¸ç§æ´å¥½çç®æ³æ¥äº¤ç»é³é¢åè§é¢æ°æ®å
ï¼å
¶æåºäºçå忝æµåå¹¶å¨å°æ»æ¯å°è¯å¨ç©º
-é²ç©ºé´æå ç¾åæ¯æå¤§çæ¡ä»¶ä¸å¡«å
æµã
-.
-.TP
-.B vdelay=<1\-32760>
-åå§è§é¢å»¶è¿æ¶é´ï¼åä½ä¸ºæ¯«ç§ï¼é»è®¤å¼ï¼0ï¼ï¼
-å¦æä½ æ³è®©è§é¢ç¸å¯¹é³é¢æä¸å®å»¶åï¼é£ä¹å°±ä½¿ç¨è¿ä¸ªé项ã
-è¿ä¸ªé项å¨ä½¿ç¨äº:dropæ¶æ æã
-.
-.TP
-.B adelay=<1\-32760>
-åå§é³é¢å»¶è¿æ¶é´ï¼åä½ä¸ºæ¯«ç§ï¼é»è®¤å¼ï¼0ï¼ï¼
-å¦æä½ æ³è®©é³é¢ç¸å¯¹è§é¢æä¸å®å»¶åï¼é£ä¹å°±ä½¿ç¨è¿ä¸ªé项ã
-.
-.TP
-.B "drop\ \ \ "
-å½ä¸vdelayä¸èµ·ä½¿ç¨æ¶ï¼æµåå¹¶å¨å°ä¸¢å¼å
äºè§é¢åºç°çé£é¨åé³é¢ã
-.
-.TP
-.B vwidth, vheight=<1\-4095>
-å½è§é¢æ¯MPEG-1/2æ¶ï¼è®¾ç½®è§é¢ç宽度åé«åº¦ã
-.
-.TP
-.B vpswidth, vpsheight=<1\-4095>
-å½è§é¢æ¯MPEG-2æ¶ï¼è®¾ç½®å
¨æ¯æ¾ç¤ºæ¨¡å¼ï¼pan-scanï¼ä¸è§é¢ç宽度åé«åº¦ã
-.
-.TP
-.B vaspect=<1 | 4/3 | 16/9 | 221/100>
-设置MPEG-2è§é¢çæ¾ç¤ºå®½é«æ¯ã
-ä¸è¦å¯¹MPEG-1è§é¢ä½¿ç¨è¿ä¸ªé项ï¼å¦å产çç宽髿¯å°å®å
¨é误ã
-.
-.TP
-.B vbitrate=<int>
-设置MPEG-1/2è§é¢åä½ä¸ºkbit/sçè§é¢æ¯ç¹çã
-.
-.TP
-.B vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
-设置MPEG-1/2è§é¢ç帧çã
-妿ä¸telecineé项ä¸å使ç¨ï¼é£ä¹å°å¿½ç¥è¿ä¸ªé项ã
-.
-.TP
-.B telecine
-å¯ç¨3:2ä¸æè½¯æ§çµè§çµå½±å模å¼ï¼æµåå¹¶å¨å°ä½¿è§é¢æµçä¸å»åæ¯ä»¥30000/1001fpsç¼ç
-çã
-åªæå½è¾åºå¸§ç为24000/1001fpsæ¶è¿ä¸ªé项æå¯¹MPEG-2ææï¼å¦éè¦å使ç¨\-ofpsæ¹åè¾
-åºå¸§çã
-å
¶å®ç帧çä¸è¯¥é项ä¸å
¼å®¹ã
-.
-.TP
-.B film2pal
-å¯ç¨FILMåNTSCè³PAL软æ§çµè§çµå½±å模å¼ï¼æµåå¹¶å¨å°ä½¿è§é¢æµçä¸å»åæ¯ä»¥25fpsç¼ç
-çã
-åªæå½è¾åºå¸§ç为24000/1001fpsæ¶è¿ä¸ªé项æå¯¹MPEG-2ææï¼å¦éè¦å使ç¨\-ofpsæ¹åè¾
-åºå¸§çã
-å
¶å®ç帧çä¸è¯¥é项ä¸å
¼å®¹ã
-.
-.TP
-.B tele_src ä¸ tele_dest
-使ç¨Donand GraftçDGPulldown代ç å¯ç¨ä»»æçµè§çµå½±å模å¼ã
-ä½ éè¦æå®åå§å¸§çåæææç帧çï¼æµåå¹¶å¨å°ä½¿è§é¢æµçä¸å»åæ¯ä»¥æææç帧çç¼ç
-çã
-åªæå½è¾å
¥çå¸§çæ¯è¾åºç帧çå°ï¼å¹¶ä¸å¸§ççå¢å é <= 1.5æ¶ï¼è¿ä¸ªé项æå¯¹MPEG-2è§
-颿æã
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.PD 0
-.RSs
-.IPs tele_src=25ï¼tele_dest=30000/1001
-PALè³NTSCççµè§çµå½±åå¤ç
-.RE
-.PD 1
-.
-.TP
-.B vbuf_size=<40\-1194>
-设置è§é¢è§£ç å¨çç¼å²å¤§å°ï¼ä»¥ååè为åä½è¡¨ç¤ºã
-åªæå½è§é¢æµçæ¯ç¹çå¯¹äºæéçæ ¼å¼æ¥è¯´å¤ªé«äºï¼å¹¶ä¸ä½ å®å
¨äºè§£ä½ å¨åä»ä¹æ¶ï¼ææå®
-è¿ä¸ªé项ã
-太é«çå¼å¯è½å¯¼è´å½±çæ æ³ææ¾ï¼è¿åå³äºææ¾å¨çè½åã
-å½åå¹¶HDTVè§é¢æµæ¶ï¼400çå¼åºè¯¥è¶³å¤äºã
-.
-.TP
-.B abuf_size=<4\-64>
-设置é³é¢è§£ç å¨çç¼å²å¤§å°ï¼ä»¥ååè为åä½è¡¨ç¤ºã
-é对vbuf_sizeçåå卿¤åæ ·éç¨ã
-.
-.
-.SS FFmpeg libavformat demuxersï¼\-lavfdoptsï¼
-.
-.TP
-.B analyzeduration=<value>
-åä½ä¸ºç§çåæåªä½æµå±æ§æ¶çæå¤§é¿åº¦ã
-.
-.TP
-.B format=<value>
-强å¶ä½¿ç¨ä¸ä¸ªç¹å®ç libav æ ¼å¼åºçå离å¨ã
-.
-.TP
-.B o=<é®>=<å¼>[,<é®>=<å¼>[,...]]
-ä¼ é AVOption éé¡¹è³ libavformat æµåè§£å¨ã
-注æï¼æ¬¢è¿å¶é ä¸ä¸ªä½¿ o= ä¸åéè¦ï¼èå°æææªç¥éé¡¹ä¼ éè³ AVOption ç³»ç»çè¡¥ä¸ã
-AVOption ç宿´å表å¯å¨ FFmpeg ç¨æ·æå䏿¾å°ã
-注ææäºé项å¯è½ä¸ MPlayer/MEncoder é项å²çªã
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.RSs
-.PD 0
-.IPs o=ignidx
-.PD 1
-.RE
-.
-.TP
-.B probesize=<value>
-å¨ä¾¦æµé¶æ®µææ¢æµçæå¤§æ°æ®éã
-å¨MPEG-TSçæ
åµä¸ï¼è¿ä¸ªå¼æå®äºææ«æTSå
çæå¤§ä¸ªæ°ã
-.
-.TP
-.B cryptokey=<hexstring>
-å离å¨è¦ä½¿ç¨çå å¯å¯é¥ã
-è¯¥å¼æ¯å¯é¥çåå§äºè¿å¶æ°æ®è½¬æ¢åå¾å°åå
è¿å¶å符串ã
-.
-.
-.SS FFmpeg libavformat muxersï¼\-lavfoptsï¼ï¼å¦åè§\-of lavfï¼
-.
-.TP
-.B delay=<value>
-å½ååªå¯¹MPEG[12]ææä¹ï¼åä½ä¸ºç§çï¼å¯¹äºä»»æåºç°çæµï¼è¾åºæµåç
§è®¡æ¶å¨ï¼SCRï¼å
-è§£ç æ¶é´æ³ï¼DTSï¼ä¹é´çæå¤§æå
许çå·®è·ã
-é»è®¤å¼ä¸º0.7ï¼ä¸MPEGæ åæå®ä¹çå¼ºå¶æ§è¡å¼ç¸åï¼ã
-è¾é«çå¼è¦æ±è¾å¤§çç¼å²ï¼å èä¸åºä½¿ç¨ã
-.
-.TP
-.B format=<container_format>
-éæ°å®ä¹æåå¹¶è¾åºçæ¯åªç§å®¹å¨æ ¼å¼
-ï¼é»è®¤å¼ï¼æ ¹æ®è¾åºæä»¶çæ©å±åèªå¨ä¾¦æµï¼ã
-.PD 0
-.RSs
-.IPs "mpg\ \ "
-MPEG-1ç³»ç»ä»¥åMPEG-2 PS
-.IPs "asf\ \ "
-é«çº§æµåªä½æ ¼å¼
-.IPs "avi\ \ "
-é³è§é¢äº¤ç»æä»¶
-.IPs "wav\ \ "
-波形é³é¢
-.IPs "swf\ \ "
-Macromedia Flash
-.IPs "flv\ \ "
-Macromedia Flashè§é¢æä»¶
-.IPs "rm\ \ \ "
-RealAudioåRealVideo
-.IPs "au\ \ \ "
-SUN AUæ ¼å¼
-.IPs "nut\ \ "
-NUT弿¾å®¹å¨æ ¼å¼ï¼å®éªæ§ï¼
-.IPs "mov\ \ "
-QuickTime
-.IPs "mp4\ \ "
-MPEG-4æ ¼å¼
-.IPs "ipod\ "
-å«æè¹æ iPod åºä»¶æéé¢å¤æ å¿æ°æ®ç MPEG-4 æ ¼å¼
-.IPs "dv\ \ \ "
-Sony æ°åè§é¢å®¹å¨æ ¼å¼
-.IPs "matroska\ \ \ "
-Matroska
-.RE
-.PD 1
-.TP
-.B muxrate=<rate>
-æµåæµæ¶çæ ç§°æ¯ç¹çï¼åä½ä¸ºæ¯ç¹æ¯ç§ï¼
-å½å该é项åªå¯¹MPEG[12]ææä¹ã
-ææ¶éè¦æé«è¿ä¸ªå¼ä»¥é²æ¢âç¼å²ä¸æº¢âã
-.
-.TP
-.B o=<é®>=<å¼>[,<é®>=<å¼>[,...]]
-ä¼ é AVOption éé¡¹è³ libavformat æµåå¹¶å¨ã
-注æï¼æ¬¢è¿å¶é ä¸ä¸ªä½¿ o= ä¸åéè¦ï¼èå°æææªç¥éé¡¹ä¼ éè³ AVOption ç³»ç»çè¡¥ä¸ã
-AVOption ç宿´å表å¯å¨ FFmpeg ç¨æ·æå䏿¾å°ã
-注ææäºé项å¯è½ä¸ MEncoder é项å²çªã
-.sp 1
-.RS
-.I 示ä¾ï¼
-.RE
-.RSs
-.PD 0
-.IPs o=packetsize=100
-.PD 1
-.RE
-.
-.TP
-.B packetsize=<size>
-æéæ ¼å¼åä¸ªæ°æ®å
ç大å°ï¼ä»¥åè为åä½è¡¨ç¤ºã
-å½å°æµåå¹¶è³MPEG[12]çå®ç°æ ¼å¼æ¶ï¼é»è®¤å¼ä¸ºï¼
-对äº[S]VCD为2324ï¼å¯¹äºææå
¶å®æ ¼å¼ä¸º2048ã
-.
-.TP
-.B preload=<distance>
-å½ååªå¯¹MPEG[12]ææä¹ï¼åä½ä¸ºç§ï¼å¯¹äºä»»æåºç°çæµï¼è¾åºæµåç
§è®¡æ¶å¨ï¼SCRï¼åè§£
-ç æ¶é´æ³ï¼DTSï¼é´çåå§å·®è·ï¼æµå离è³è§£ç é´çå»¶è¿ï¼ã
-.
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" ç¯å¢åé
-.\" --------------------------------------------------------------------------
-.
-.SH "ç¯å¢åé"
-.
-æç¯å¢åéç¨äºæ§å¶ MPlayer å MEncoder çè¡ä¸ºã
-.
-.TP
-.B MPLAYER_CHARSET (ä¹è¯·åè§ \-msgcharset)
-è½¬æ¢æ§å¶å°çæ¶æ¯æ¾ç¤ºä¸ºæå®å符é (é»è®¤å¼æ¯èªå¨æ£æµ: autodetect)ã
-å¼ "noconv" 表示ä¸è¦è½¬æ¢ã
-.
-.TP
-.B MPLAYER_HOME
-MPlayer 寻æ¾è®¾ç½®çç®å½ã
-.
-.TP
-.B MPLAYER_VERBOSE (ä¹è¯·åè§ \-v å \-msglevel)
-对ææçæ¶æ¯æ¨¡å设置åå§åèµçº§å« (é»è®¤æ¯: 0)ã
-æç»çåèµçº§å«æ¯ \-msglevel 5 ç级å«åå ä¸ MPLAYER_VERBOSE çå¼ã
-.
-.SS libaf:
-.
-.TP
-.B LADSPA_PATH
-å¦æè®¾ç½®äº LADSPA_PATH, å®ä¼å¯»æ¾æå®çæä»¶ã
-å¦ææ²¡è®¾ç½®, ä½ å°±å¿
é¡»æä¾å®æ´çè·¯å¾åã
-FIXME: è¿ä¹å¨ ladspa ä¸èææå°.
-.
-.SS libdvdcss:
-.
-.TP
-.B DVDCSS_CACHE
-æå®ç®å½ä»¥å¨åæ é¢çé¥åå¼ã
-è¿ä¼å é DVD å¨ç¼åä¸çè¯ç è¿ç¨ã
-妿 DVDCSS_CACHE ç®å½ä¸åå¨å°±å建å®,
-å¹¶å建以 DVD æ 颿çäº§æ¥æä¸ºåç§°çåç®å½ã
-妿 DVDCSS_CACHE æ²¡è®¾ç½®ææ¯ç©ºç, libdvdcss ä¼ä½¿ç¨é»è®¤å¼ä¸º
-Unix ç "${HOME}/.dvdcss/" æ
-Win32 ç "C:\\Documents and Settings\\$USER\\Application Data\\dvdcss\\"ã
-ç¹æ®å¼ "off" åç¨ç¼åã
-.
-.TP
-.B DVDCSS_METHOD
-设置 libdvdcss ç¨äºè§£è¯»å å¯ççç认è¯åè§£å¯æ¹æ³ã
-å¯ä»¥æ¯ title(æ é¢), key(é¥å) æ disc(çç) çå
¶ä¸ä¹ä¸ã
-.PD 0
-.RSs
-.IPs "key\ \ "
-æ¯é»è®¤æ¹æ³ã
-libdvdcss ä¼ä½¿ç¨ä¸å¥è®¡ç®è¿çææ¾å¨å¯é¥,å°è¯åå¾çççé¥åã
-妿驱å¨å¨ä¸è®¤è¯ææ¾å¨çä»»ä½é¥åå°±ä¼å¤±è´¥ã
-.IPs "disc\ "
-æ¯é¥åæ¹æ³å¤±è´¥çå¤ç¨æ¹æ³ã
-代ä¹ä½¿ç¨ææ¾å¨é¥å, libdvdcss ä¼ä½¿ç¨è®æ¨ªæ´åçç®æ³ç ´è§£ççé¥åã
-æ¤è¿ç¨éè¦ CPU é«å¼ºåº¦è¿è¡å 64 MB å
å以å¨å临æ¶çæ°æ®ã
-.IPs title
-æ¯ææå
¶å®æ¹æ³çå¤ç¨æ¹æ³ã
-å®ä¸ä¾é ä¸ DVD 设å¤äº¤æ¢é¥å, èæ¯ä½¿ç¨ä¸ç§å¯ç æº(crypto)æ»å»æ³æ¥çæµæ é¢é¥åã
-æ¤å¤±è´¥çæ
嵿å°, å 为çç䏿²¡æè¶³å¤çå 坿°æ®æ¥ä½æ¡£ç»è®¡æ»å»æ³,
-使¯å¦ä¸æ¹é¢è¿æ¯ä»
æçæ¹æ³æ¥ç ´è¯å¨åå¨ç¡¬çä¸ç DVD,
-å RPC2 设å¤ä¸ä¸åå°åºç ç DVDã
-.RE
-.PD 1
-.
-.TP
-.B DVDCSS_RAW_DEVICE
-æå®ä½¿ç¨çåå§è®¾å¤ã
-ç¡®åçç¨æ³ä¾èµäºä½ çæä½ç³»ç», ä¾å¦ Linux å·¥å
·å»ºç«çåå§è®¾å¤æ¯ raw(8)ã
-请注æå¨å¤§å¤æ°æä½ç³»ç»ä¸, 使ç¨åå§è®¾å¤éè¦é«åº¦å¯¹é½çç¼å²(aligned buffers):
-Linux éè¦ 2048 åè(çäº DVD æåºå¤§å°)ç对é½ã
-.
-.TP
-.B DVDCSS_VERBOSE
-设置 libdvdcss åèµçº§å«ã
-.PD 0
-.RSs
-.IPs 0
-ä¸ç¹é½ä¸è¾åºæ¶æ¯ã
-.IPs 1
-è¾åºéè¯¯æ¶æ¯å° stderrã
-.IPs 2
-è¾åºé误åè°è¯æ¶æ¯å° stderrã
-.RE
-.PD 1
-.
-.TP
-.B DVDREAD_NOKEYS
-å¯å¨æ¶è·³è¿è®¿é®ææçé¥åã
-ç®ååç¨ã
-.
-.TP
-.B HOME
-FIXME: å¾
è§£éã
-.
-.SS libao2:
-.
-.TP
-.B AO_SUN_DISABLE_SAMPLE_TIMING
-FIXME: å¾
è§£éã
-.
-.TP
-.B AUDIODEV
-FIXME: å¾
è§£éã
-.
-.TP
-.B AUDIOSERVER
-æå® nas é³é¢è¾åºé©±å¨åºè¯¥å»è¿æ¥çåä¼ è¾ç
-ç½ç»é³é¢ç³»ç»(Network Audio System)æå¡å¨ã
-å¦ææ²¡è®¾ç½®, å°±ä½¿ç¨ DISPLAYã
-ä¼ è¾å¯ä»¥æ¯ tcp å unix å
¶ä¸ä¹ä¸ã
-è¯æ³æ¯ tcp/<æä¸»æº>:<æç«¯å£>, <æä¸»æº>:<å®ä¾å·> æ [unix]:<å®ä¾å·>ã
-NAS åºç«¯å£æ¯ 8000 è <å®ä¾å·> å¨å
¶ä¹ä¸åå¢å ã
-.sp 1
-.RS
-.I 示ä¾:
-.RE
-.PD 0
-.RSs
-.IPs AUDIOSERVER=somehost:0
-è¿æ¥å° NAS æå¡å¨, æä¸»æºä¸ä½¿ç¨é»è®¤ç端å£åä¼ è¾åè®®ã
-.IPs AUDIOSERVER=tcp/somehost:8000
-è¿æ¥å° NAS æå¡å¨, æä¸»æºä¸çå¬ TCP 端å£8000ã
-.IPs AUDIOSERVER=(unix)?:0
-è¿æ¥å° NAS æå¡å¨, æ¬å°ä¸»æºä¸çå®ä¾ 0 ä½¿ç¨ unix å奿¥å£ã
-.RE
-.PD 1
-.
-.TP
-.B DISPLAY
-FIXME: å¾
è§£éã
-.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-FIXME: å¾
è§£éã
-.
-.TP
-.B VIDIXIVTVALPHA
-å°è¯¥é项设为âdisableâå¯ä»¥é»æ¢ VIDIX 驱卿§å¶é¿å°æ³æ··åçåæ°ã
-ç¶åä½ å°±å¯ä»¥èªå·±ä½¿ç¨âivtvfbctlâæä½è¿ä¸åæ°ã
-.
-.SS osdep:
-.
-.TP
-.B TERM
-FIXME: å¾
è§£éã
-.
-.SS libvo:
-.
-.TP
-.B DISPLAY
-FIXME: å¾
è§£éã
-.
-.TP
-.B FRAMEBUFFER
-FIXME: å¾
è§£éã
-.
-.TP
-.B HOME
-FIXME: å¾
è§£éã
-.
-.SS libmpdemux:
-.
-.TP
-.B HOME
-FIXME: å¾
è§£éã
-.
-.TP
-.B HOMEPATH
-FIXME: å¾
è§£éã
-.
-.TP
-.B http_proxy
-FIXME: å¾
è§£éã
-.
-.TP
-.B LOGNAME
-FIXME: å¾
è§£éã
-.
-.TP
-.B USERPROFILE
-FIXME: å¾
è§£éã
-.
-.SS GUI:
-.
-.TP
-.B CHARSET
-FIXME: å¾
è§£éã
-.
-.TP
-.B DISPLAY
-FIXME: å¾
è§£éã
-.
-.TP
-.B HOME
-FIXME: å¾
è§£éã
-.
-.SS libavformat:
-.
-.TP
-.B AUDIO_FLIP_LEFT
-FIXME: å¾
è§£éã
-.
-.TP
-.B BKTR_DEV
-FIXME: å¾
è§£éã
-.
-.TP
-.B BKTR_FORMAT
-FIXME: å¾
è§£éã
-.
-.TP
-.B BKTR_FREQUENCY
-FIXME: å¾
è§£éã
-.
-.TP
-.B http_proxy
-FIXME: å¾
è§£éã
-.
-.TP
-.B no_proxy
-FIXME: å¾
è§£éã
-.
-.
-.
-.\" --------------------------------------------------------------------------
-.\" æä»¶
-.\" --------------------------------------------------------------------------
-.
-.SH "ç¸å
³æä»¶"
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mplayer.conf
-MPlayer èå´ç设置
-.
-.TP
-/usr/\:local/\:etc/\:mplayer/\:mencoder.conf
-MEncoder èå´ç设置
-.
-.TP
-~/.mplayer/\:config
-MPlayer ç¨æ·è®¾ç½®
-.
-.TP
-~/.mplayer/\:mencoder.conf
-MEncoder ç¨æ·è®¾ç½®
-.
-.TP
-~/.mplayer/\:input.conf
-è¾å
¥ç»å® (æé®ç宿´å表请åè§ "\-input keylist" çè¾åº)
-.
-.TP
-~/.mplayer/\:gui.conf
-GUI é
ç½®æä»¶
-.
-.TP
-~/.mplayer/\:gui.pl
-GUI ææ¾å表
-.
-.TP
-~/.mplayer/\:font/
-åä½ç®å½ (éé¢å¿
é¡»æä¸ä¸ª font.desc æä»¶å带 .RAW åç¼çæä»¶ã)
-.
-.TP
-~/.mplayer/\:DVDkeys/
-ç¼åç CSS é¥å
-.
-.TP
-åå¦ææ¾æä»¶æ¯ /path/\:to/\:movie.avi, MPlayer æä»¥ä¸é¡ºåºæç´¢å广件:
-.RS
-/path/\:to/\:movie.sub
-.br
-~/.mplayer/\:sub/\:movie.sub
-.RE
-.PD 1
-.
-.
-.\" --------------------------------------------------------------------------
-.\" 示ä¾
-.\" --------------------------------------------------------------------------
-.
-.SH "MPLAYER ç使ç¨èä¾"
-.
-.PP
-.B å¿«éä¸æææ¾èå
DVDï¼
-.nf
-mplayer br:////path/to/disc
-mplayer br:// \-bluray\-device /path/to/disc
-.fi
-.
-.PP
-.B å¿«éä¸æææ¾ DVDï¼
-.nf
-mplayer dvd://1
-.fi
-.
-.PP
-.B ææ¾æ¥æå¯¹è¯åè±æåå¹:
-.nf
-mplayer dvd://1 \-alang ja \-slang en
-.fi
-.
-.PP
-.B åªææ¾ç¬¬ 5, 6, 7 åºæ¯:
-.nf
-mplayer dvd://1 \-chapter 5\-7
-.fi
-.
-.PP
-.B åªææ¾ç¬¬ 5, 6, 7 æ é¢:
-.nf
-mplayer dvd://5\-7
-.fi
-.
-.PP
-.B ææ¾å¤è§è§ DVD:
-.nf
-mplayer dvd://1 \-dvdangle 2
-.fi
-.
-.PP
-.B ä»ä¸åç DVD è®¾å¤ææ¾:
-.nf
-mplayer dvd://1 \-dvd\-device /dev/\:dvd2
-.fi
-.
-.PP
-.B ä»ç®å½ä¸ç VOB æä»¶ææ¾ DVD è§é¢:
-.nf
-mplayer dvd://1 \-dvd\-device /path/\:to/\:directory/
-.fi
-.
-.PP
-.B å¤å¶ DVD æ é¢å°ç¡¬ç, ä¿åæä»¶å为 "title1.vob":
-.nf
-mplayer dvd://1 \-dumpstream \-dumpfile title1.vob
-.fi
-.
-.PP
-.B ä½¿ç¨ dvdnav ææ¾ä¸å¼ /dev/sr1: è·¯å¾ä¸ç DVD ç¢ç
-.nf
-mplayer dvdnav:////dev/sr1
-.fi
-.
-.PP
-.B ææ¾ HTTP æµ:
-.nf
-mplayer http://mplayer.hq/example.avi
-.fi
-.
-.PP
-.B ææ¾ RTSP æµ:
-.nf
-mplayer rtsp://server.example.com/streamName
-.fi
-.
-.PP
-.B 转æ¢åå¹ä¸º MPsub æ ¼å¼:
-.nf
-mplayer dummy.avi \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B 转æ¢åå¹ä¸º MPsub æ ¼å¼ä½ä¸ææ¾:
-.nf
-mplayer /dev/\:zero \-rawvideo pal:fps=xx \-demuxer rawvideo \-vc null \-vo null \-noframedrop \-benchmark \-sub source.sub \-dumpmpsub
-.fi
-.
-.PP
-.B 仿 åç V4L è¾å
¥:
-.nf
-mplayer tv:// \-tv driver=v4l:width=640:height=480:outfmt=i420 \-vc rawi420 \-vo xv
-.fi
-.
-.PP
-.B åæ¾ Zoran å¡ (æ§æ¹æ³, åºå¼):
-.nf
-mplayer \-vo zr \-vf scale=352:288 file.avi
-.fi
-.
-.PP
-.B åæ¾ Zoran å¡ (æ°æ¹æ³):
-.nf
-mplayer \-vo zr2 \-vf scale=352:288,zrmjpeg file.avi
-.fi
-.
-.PP
-.B 以ç´éæ¨¡å¼ææ¾ DTS-CDï¼
-.nf
-mplayer \-ac hwdts \-rawaudio format=0x2001 \-cdrom\-device /dev/cdrom cdda://
-.fi
-.br
-ä½ å¯ä»¥ä½¿ç¨ \-afm hwac3 ä»£æ¿ \-ac hwdtsã
-è°æ´â/dev/cdromâ使å
¶ä¸ä½ ç³»ç»ä¸ç CD-ROM 设å¤ç¸éåºã
-å¦æä½ çå¤é¨çæ¥æ¶è®¾å¤æ¯æè§£ç åå§ DTS é³é¢æµï¼é£ä¹ä½ å¯ä»¥éè¿ cdda://
-ç´æ¥ææ¾ï¼èä¸ç¨è®¾ç½®æ ¼å¼ï¼hwac3 æ hwdtsã
-.
-.PP
-.B åªç¨ä¸¤ä¸ªæ¬å£°å¨ææ¾ 6-声é AAC æä»¶:
-.nf
-mplayer \-rawaudio format=0xff \-demuxer rawaudio \-af pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac
-.fi
-.br
-ä½ å¯è½æ³ç¨ pan 弿æ¾çæ (ä¾å¦ç¨æ¾å¤§å¼) 以å¢å é³éæè
é¿å
åªåã
-.
-.PP
-.B 使ç¨geq滤é产ççé¢ åçæ£çï¼
-.nf
-mplayer \-vf geq='128+(p(X\\,Y)\-128)*(0.5\-gt(mod(X/SW\\,128)\\,64))*(0.5\-gt(mod(Y/SH\\,128)\\,64))*4'
-.fi
-.
-.
-.SH "MENCODERç使ç¨èä¾"
-.
-.PP
-.B ç¼ç DVD æ é¢ #2 ä¸éæ©çåºæ¯:
-.nf
-mencoder dvd://2 \-chapter 10\-15 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B ç¼ç DVD æ é¢ #2, 缩æ¾å° 640x480:
-.nf
-mencoder dvd://2 \-vf scale=640:480 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B ç¼ç DVD æ é¢ #2, 缩æ¾å° 512xHHH (ä¿æå®½é«æ¯):
-.nf
-mencoder dvd://2 \-vf scale \-zoom \-xy 512 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B åä¸, ä½ä½¿ç¨æ¯ç¹ç 1800kbit åä¼åç macroblocks:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B åä¸, ä½ä½¿ç¨ MJPEG å缩:
-.nf
-mencoder dvd://2 \-o title2.avi \-oac copy \-ovc lavc \-lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800
-.fi
-.
-.PP
-.B ç¼ç å½åç®å½ä¸çææ *.jpg æä»¶:
-.nf
-mencoder "mf://*.jpg" \-mf fps=25 \-o output.avi \-ovc lavc \-lavcopts vcodec=mpeg4
-.fi
-.
-.PP
-.B ä»çµè§è°è°å¨ç¼ç (æå®æ ¼å¼ç¨ \-vf format):
-.nf
-mencoder \-tv driver=v4l:width=640:height=480 tv:// \-o tv.avi \-ovc raw
-.fi
-.
-.PP
-.B ä»ç®¡éç¼ç :
-.nf
-rar p test-SVCD.rar | mencoder \-ovc lavc \-lavcopts vcodec=mpeg4:vbitrate=800 \-ofps 24 \-
-.fi
-.
-.
-.\" --------------------------------------------------------------------------
-.\" é误, ä½è
, æ å声æ
-.\" --------------------------------------------------------------------------
-.
-.SH "ç¨åºé误"
-ä¸è¦ææ
ã
-å¦æä½ åç°é误, æ¥åæä»¬, ä½è¯·é¦å
ç¡®è®¤ä½ å·²é
è¯»äºææçææ¡£ã
-ä¹è¦å°å¿é£äºè¡¨æ
ç¬¦å· :)
-许å¤é误æ¯ä¸æ£ç¡®ç设置ååæ°ä½¿ç¨å¼èµ·çã
-é误æ¥åçææ¡£ä¸è
-(http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:bugreports.html)
-è§£éäºå¦ä½å建æç¨çé误æ¥åã
-.
-.
-.
-.SH "ç¨åºçä½è
"
-MPlayer æåç± Arpad Gereoffy å¶ä½ã
-å
¶å®è®¸å¤è´¡ç®è
çé¨åæ¸
å, 请åè§ AUTHORS(ä½è
) æä»¶ã
-.PP
-MPlayer æ¯ (C) 2000\-2010 The MPlayer Team (MPlayer å¢é) ææ
-.PP
-æ¬(è±æ)æå页主è¦ç± Gabucino, Jonas Jermann å Diego Biurrun ç¼å,
-ç± Diego Biurrun ç»´æ¤ã
-JRaSH <jrash06 AT 163.com> ç¿»è¯
-æå
³æ¬æçè系请åéé®ä»¶å° MPlayer-DOCS é®ä»¶å表ã
-ä¸ç¿»è¯ç¸å
³çé®ä»¶å±äº MPlayer-translations é®ä»¶å表ã
-.\" end of file
diff --git a/DOCS/tech/codecs-in.html b/DOCS/tech/codecs-in.html
deleted file mode 100644
index 488512d..0000000
--- a/DOCS/tech/codecs-in.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
- <title>Codec Status Table - MPlayer - The Movie Player</title>
- <link rel="stylesheet" type="text/css" href="default.css">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-</head>
-<body text="#000000" link="#666666" vlink="#666666" alink="#666666">
-
-<h1>Status of codecs support</h1>
-
-<ul>
- <li><a href="#vc">Video codecs</a></li>
- <li><a href="#ac">Audio codecs</a></li>
-</ul>
-
-<table width=750 border="0">
- <tr>
- <td align="center">
- <b><font face="Verdana, Arial, Helvetica, sans-serif" size="5"><a name="vc">Video codecs:</a></font></b><br><br>
-
- <table width="100%" border="1" cellspacing="0" cellpadding="5">
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>Working video codecs</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">fourcc</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td width=40 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">out</font></b></td>
- <td align=center colspan=2><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %0 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%F</b></td>
- <td align=center><b>%d</b></td>
- <td align=center><b>%Y</b></td>
- <td align=center colspan=2><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>New / Untested codecs</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">fourcc</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td colspan=3 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %4 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%F</b></td>
- <td align=center><b>%d</b></td>
- <td align=center colspan=3><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>Codecs with problems</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">fourcc</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td colspan=3 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %2 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%F</b></td>
- <td align=center><b>%d</b></td>
- <td align=center colspan=3><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>Not yet working codecs:</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">fourcc</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td colspan=3 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %3 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%F</b></td>
- <td align=center><b>%d</b></td>
- <td align=center colspan=3><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- </table>
-
- <br><b><font face="Verdana, Arial, Helvetica, sans-serif" size="5"><a name="ac">Audio codecs:</a></font></b><br><br>
-
- <table width="100%" border="1" cellspacing="0" cellpadding="5">
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>Working audio codecs</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">format</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td align=center colspan=3><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %5 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%f</b></td>
- <td align=center><b>%d</b></td>
- <td align=center colspan=3><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>New / Untested codecs</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">format</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td colspan=3 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %9 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%f</b></td>
- <td align=center><b>%d</b></td>
- <td align=center colspan=3><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>Codecs with problems</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">format</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td colspan=3 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %7 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%f</b></td>
- <td align=center><b>%d</b></td>
- <td align=center colspan=3><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- <tr>
- <td colspan=6 bgcolor="#CCCCCC"><b>Not yet working codecs</b></td>
- </tr>
- <tr>
- <td width=150 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">codec name</font></b></td>
- <td width=70 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">format</font></b></td>
- <td width=120 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">driver name</font></b></td>
- <td colspan=3 align=center><b><font color="#AAAAAA" face="Verdana, Arial, Helvetica, sans-serif" size="2">comments</font></b></td>
- </tr>
-<!-- %8 -->
- <tr>
- <td align=center><b>%i</b></td>
- <td align=center><b>%f</b></td>
- <td align=center><b>%d</b></td>
- <td align=center colspan=3><b>%c</b></td>
- </tr>
-<!-- %. -->
-
- </table>
- </td>
- </tr>
-</table>
-</body>
-</html>
diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt
index 6bb1dc5..068887d 100644
--- a/DOCS/tech/slave.txt
+++ b/DOCS/tech/slave.txt
@@ -308,12 +308,11 @@ speed_mult <value>
speed_set <value>
Set the speed to <value>.
-step_property <property> [value] [direction]
+step_property <property> [value]
Change a property by value, or increase by a default if value is
- not given or zero. The direction is reversed if direction is less
- than zero.
+ not given.
-step_property_osd <property> [value] [direction]
+step_property_osd <property> [value]
Same as above, but show the new value on the OSD in the standard
manner defined for that property (if any).
@@ -367,21 +366,21 @@ sub_source [source]
of each currently available source (forward or backward respectively).
sub_file [value]
- Display subtitle specifid by [value] for file subs. The [value] is
+ Display subtitle specified by [value] for file subs. The [value] is
corresponding to ID_FILE_SUB_ID values reported by '-identify'.
If [value] is -1, will turn off subtitle display.
If [value] is omitted or less than -1, will cycle all file subs
(forward or backward respectively).
sub_vob [value]
- Display subtitle specifid by [value] for vobsubs. The [value] is
+ Display subtitle specified by [value] for vobsubs. The [value] is
corresponding to ID_VOBSUB_ID values reported by '-identify'.
If [value] is -1, will turn off subtitle display.
If [value] is omitted or less than -1, will cycle all vobsubs
(forward or backward respectively).
sub_demux [value]
- Display subtitle specifid by [value] for subtitles from DVD or embedded
+ Display subtitle specified by [value] for subtitles from DVD or embedded
in media file. The [value] is corresponding to ID_SUBTITLE_ID values
reported by '-identify'. If [value] is -1, will turn off subtitle display.
If [value] is omitted or less than -1, will cycle all DVD subs or embedded subs
@@ -428,7 +427,7 @@ switch_vsync [value]
teletext_add_digit <value>
Enter/leave teletext page number editing mode and append given digit to
previously entered one.
- 0..9 - Append apropriate digit. (Enables editing mode if called from normal
+ 0..9 - Append appropriate digit. (Enables editing mode if called from normal
mode, and switches to normal mode when third digit is entered.)
- - Delete last digit from page number. (Backspace emulation, works only
in page number editing mode.)
@@ -475,9 +474,6 @@ tv_set_hue <-100 - 100> [abs]
tv_set_saturation <-100 - 100> [abs]
Set TV tuner saturation or adjust it if [abs] is set to 0.
-use_master
- Switch volume control between master and PCM.
-
vo_border [value]
Toggle/set borderless display.
diff --git a/DOCS/xml/cs/bugreports.xml b/DOCS/xml/cs/bugreports.xml
deleted file mode 100644
index 6b387ab..0000000
--- a/DOCS/xml/cs/bugreports.xml
+++ /dev/null
@@ -1,496 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r23225 -->
-<appendix id="bugreports">
-<title>Jak hlásit chyby</title>
-
-<para>
-Dobrá hlášenà chyb jsou velmi cenným pÅÃspÄvkem do vývoje jakéhokoli
-softwarového projektu. Ale je to s nimi jako se psanÃm dobrého
-programu, sepsánà dobrého hlášenà problému vyžaduje trochu práce.
-ProsÃm berte na vÄdomÃ, že vÄtÅ¡ina vývojáÅů je velmi zaneprázdnÄna a
-dostává kvanta e-mailů. Takže aÄkoli je vaÅ¡e zpÄtná vazba kritická pro
-vylepÅ¡ovánà <application>MPlayer</application>u a velmi cenÄná, prosÃme
-pochopte, že musÃte poskytnout <emphasis role="bold">veÅ¡keré</emphasis>
-informace které požadujeme a postupovat pÅesnÄ podle instrukcà v tomto
-dokumentu.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_security">
-<title>Hlášenà bezpeÄnostnÃch chyb</title>
-
-<para>
-V pÅÃpadÄ Å¾e jste nalezli exploitovatelnou chybu, chtÄli byste udÄlat správnou
-vÄc a nechali nás ji opravit než ji odhalÃte, budeme rádi, když nám poÅ¡lete
-bezpeÄnostnà hlášenà na
-<ulink url="mailto:security@mplayerhq.hu">security@mplayerhq.hu</ulink>.
-Do hlaviÄky prosÃme pÅidejte [SECURITY] nebo [ADVISORY].
-UjistÄte se, že vaÅ¡e hlášenà obsahuje úplnou a podrobnou analýzu chyby.
-Zaslánà opravy je velice žádoucÃ.
-ProsÃme neodkládejte hlášenà do doby než vytvoÅÃte 'dokazovacÃ' exploit, ten nám
-můžete zaslat dalÅ¡Ãm mailem.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_fix">
-<title>Jak napravovat chyby</title>
-
-<para>
-Pokud si myslÃte, že máte potÅebné schopnosti, pak vás vybÃzÃme abyste
-opravil(a) chybu samostatnÄ. Nebo jste to již udÄlal(a)? PÅeÄtÄte si prosÃm
-<ulink url="../../tech/patches.txt">tento krátký dokument</ulink>, abyste se
-dozvÄdÄli jak zahrnout váš kód do <application>MPlayer</application>u.
-Lidé z konference
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-vám pomohou, pokud budete mÃt otázky.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_regression_test">
-<title>Jak provádÄt regresnà testovánà pomocà Subversion</title>
-
-<para>
-ObÄas nastane problém typu 'pÅedtÃm to fungovalo, teÄ už ne...'.
-Zde pÅinášÃme postup krok za krokem, jak vyhledat, kdy problém
-nastal. Toto <emphasis role="bold">nenÃ</emphasis> urÄeno pÅÃležitostným
-uživatelům.
-</para>
-
-<para>
-Nejprve si musÃte opatÅit zdrojové kódy MPlayeru ze Subversion.
-Instrukce lze nalést v
-<ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">sekci Subversion stránky download</ulink>.
-</para>
-
-<para>
-Tak dostanete v adresáÅi mplayer/ obraz Subversion stromu na stranÄ klienta.
-Nynà aktualizujte tento obraz k datu, které chcete:
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-Formát data je YYYY-MM-DD HH:MM:SS.
-Požità tohoto datového formátu zajišťuje, že budete schopni extrahovat
-patche podle data, kdy byly zapsány (commit) stejnÄ, jak jsou v
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog archivu</ulink>.
-</para>
-
-<para>
-A teÄ proveÄte sestavenà jako pÅi normálnà aktualizaci:
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-Pokud to Äte nÄjaký neprogramátor, nejrychlejšà metodou, jak se dostat
-k bodu, kde problém nastal, je použità binárnÃho vyhledávánà – to je
-vyhledávánà data poruchy opakovaným dÄlenÃm vyhledávacÃho intervalu napůl.
-NapÅÃklad pokud problém nastal v 2003, zaÄneme v polovinÄ roku a ptáme se,
-âUž je tu problém?â.
-Pokud ano, vraÅ¥te se na prvnÃho dubna; pokud ne, bÄžte na prvnÃho ÅÃjna
-a tak dále.
-</para>
-
-<para>
-Pokud máte spoustu mÃsta na disku (plná kompilace obvykle zabÃrá 100 MB
-a kolem 300–350 MB, pokud jsou zapnuty debugovacà symboly), zkopÃrujte
-nejstaršà známou funkÄnà verzi pÅed jejÃm updatem; to vám uÅ¡etÅà Äas,
-pokud se budete vracet.
-(Obvykla je nutné spustit 'make distclean' pÅed rekompilacà staršà verze,
-takže pokud si neudÄláte záložnà kopii originálnÃho zdrojového stromu,
-budete v nÄm muset rekompilovat vÅ¡e, až se vrátÃte do souÄasnosti.)
-</para>
-
-<para>
-Pokud jste naÅ¡li den, kdy k problému doÅ¡lo, pokraÄujte v hledánà pomocÃ
-archivu mplayer-cvslog (Åazeného podle data) a preciznÄjÅ¡Ãm cvs update
-s uvedenÃm hodiny, minuty a sekundy:
-<screen>
-cvs update -PAd -D "2004-08-23 15:17:25"
-</screen>
-To vám umožnà lehce najÃt patch, který problém způsobil.
-</para>
-
-<para>
-Pokud jste naÅ¡li patch, který je pÅÃÄinou problému, máte témÄÅ vyhráno;
-ohlaste to do
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilly</ulink> nebo
-se pÅihlaste do
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-a pošlete to tam.
-Je šance, že autor navrhne opravu.
-RovnÄž si můžete patch rozpitvat, dokud z nÄj nevytluÄete, kde je chyba :-).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_report">
-<title>Jak oznamovat chyby</title>
-
-<para>
-Nejprve, prosÃm, vyzkouÅ¡ejte poslednà Subversion verzi
-<application>MPlayer</application>u, jelikož vaše chyba již mohla být
-odstranÄna. Vývoj je velmi rychlý, vÄtÅ¡ina chyb v oficiálnÃch balÃÄcÃch je
-nahlášena bÄhem nÄkolika dnů, nebo dokonce hodin, takže prosÃm použÃvejte
-<emphasis role="bold">pouze Subversion</emphasis> pro hlášenà chyb. To zahrnuje binárnÃ
-balÃÄky <application>MPlayer</application>u. Subversion instrukce naleznete na konci
-<ulink url="http://www.mplayerhq.hu/dload.html">této stránky</ulink>,
-nebo v souboru README. Pokud to nepomůže, prostudujte si prosÃm seznam
-známých chyb a zbytek dokumentace. Pokud je váš
-problém neznámý nebo jej nelze ÅeÅ¡it pomocà naÅ¡ich instrukcà pak jej nahlaste
-jako chybu.
-</para>
-
-<para>
-ProsÃme, neposÃlejte hlášenà chyb soukromÄ jednotlivým vývojáÅům. Toto je týmová
-práce a proto se o nÄ může zajÃmat vÃce lidÃ. Äas od Äasu mÄli ostatnà uživatelé
-stejný problém a vÄdà jak jej obejÃt, dokonce i když se jedná o chybu v kódu
-<application>MPlayer</application>u.
-</para>
-
-<para>
-ProsÃme popiÅ¡te svůj problém tak podrobnÄ, jak je to jen možné. ProveÄte malé
-pátránà po okolnostech za kterých problém nastává. Projevuje se ta chyba jen
-v urÄitých situacÃch? Je vlastnà urÄitým souborům nebo typům souborů? Stává se
-pouze s jednÃm kodekem, nebo je nezávislá na použitém kodeku? Dokážete ji
-zopakovat se vÅ¡emi výstupnÃmi rozhranÃmi nebo ovladaÄi?
-ÄÃm vÃce nám poskytnete informacÃ, tÃm je vÄtšà šance na odstranÄnà problému.
-NezapomeÅte také pÅipojit hodnotné informace požadované nÞe, jinak nebudeme
-schopni stanovit pÅÃÄinu problému.
-</para>
-
-<para>
-SkvÄlá, dobÅe napsaná pÅÃruÄka jak se ptát ve veÅejných konferencÃch je
-<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</ulink> od
-<ulink url="http://www.catb.org/~esr/">Erica S. Raymonda</ulink>.
-Dalšà pÅÃruÄka je
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</ulink>
-od <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simona Tathama</ulink>.
-Pokud budete postupovat podle tÄchto rad, jistÄ se vám dostane pomoci. Pochopte
-vÅ¡ak, že my vÅ¡ichni sledujeme konference dobrovolnÄ ve svém volném Äase. Máme
-mnoho práce a nemůžeme vám zaruÄit že vyÅeÅ¡Ãme váš problém nebo že vůbec
-dostanete odpovÄÄ.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_where">
-<title>Kam hlásit chyby</title>
-
-<para>
-PÅihlaste se do e-mailové konference MPlayer-users:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-a pošlete své hlášenà o chybách na adresu
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/> kde o tom můžeme diskutovat.
-</para>
-
-<para>
-Pokud chcete, můžete mÃsto toho použÃt zbrusu novou
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzillu</ulink>.
-</para>
-
-<para>
-Jazykem konference je <emphasis role="bold">AngliÄtina</emphasis>.
-Zachovávejte prosÃm
-<ulink url="http://www.ietf.org/rfc/rfc1855.txt">Pravidla Netikety</ulink> a
-<emphasis role="bold">neposÃlejte HTML mail</emphasis> do žádné z naÅ¡ich
-konferencÃ. Jinak můžete být ignorováni nebo vyhozeni. Pokud nevÃte co je to
-HTML mail, nebo proÄ je tak zatracován, pÅeÄtÄte si tento
-<ulink url="http://efn.no/html-bad.html">výborný dokument</ulink>. Zde se
-dovÃte detaily vÄetnÄ instrukcà pro vypnutà HTML. Poznamenejme též, že nebudeme
-individuálnÄ dÄlat CC (kopie) lidem, takže je dobré se pÅihlásit, abyste
-obdrželi svou odpovÄÄ.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_what">
-<title>Co nahlásit</title>
-
-<para>
-Bude potÅeba pÅipojit log, konfiguraci nebo vzorky souborů ke svému hlášenà chyb.
-Pokud jsou nÄkteré z nich opravdu velké, pak je radÄji nahrajte na náš
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP server</ulink>
-v komprimovaném formátu (preferujeme gzip a bzip2) a do zprávy zahrÅte pouze
-cestu a název souboru. Naše konference majà limit velikosti zprávy 80k, pokud
-máte nÄco vÄtÅ¡Ãho, musÃte to zkomprimovat a nahrát na FTP.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_system">
-<title>Systémové informace</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
- VaÅ¡e Linuxová distribuce nebo operaÄnà systém a jeho verze jako:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + devel packs from 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- verze jádra:
- <screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
- verze libc:
- <screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
- verze gcc a ld:
- <screen>
-gcc -v
-ld -v<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- verze binutils:
- <screen>as --version</screen>
-</para></listitem>
-<listitem><para>
- Pokud máte problémy s celoobrazovkovým režimem:
- <itemizedlist>
- <listitem><para>Druh Window manageru a jeho verze</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Pokud máte problémy s XVIDIX:
- <itemizedlist>
- <listitem><para>
- Hloubka barev v X:
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Pokud je chybné pouze GUI:
- <itemizedlist>
- <listitem><para>verze GTK</para></listitem>
- <listitem><para>verze GLIB</para></listitem>
- <listitem><para>GUI situace kdy se chyba projevila</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_hardware">
-<title>Hardware a rozhranà (ovladaÄe)</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
- CPU info (to funguje pouze v Linuxu):
- <screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
- Výrobce a model videokarty, napÅ:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Typ video ovladaÄe a jeho verze, napÅ.:
- <itemizedlist>
- <listitem><para>vestavÄný ovladaÄ z X</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI z X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Typ zvukové karty a ovladaÄ, napÅ.:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold s OSS ovladaÄem od oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 s OSS ovladaÄi z jádra</para></listitem>
- <listitem><para>GUS PnP s ALSA OSS emulacÃ</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Pokud si nejste jisti a použÃváte systém Linux, pÅidejte výstup
- z <command>lspci -vv</command>.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_configure">
-<title>Problémy s konfiguracÃ</title>
-
-<para>
-Pokud nastanou chyby bÄhem bÄhu <command>./configure</command>, nebo selže
-autodetekce nÄÄeho, prostudujte <filename>config.log</filename>. Možná
-naleznete odpovÄÄ zde. NapÅÃklad nÄkolik verzà stejné knihovny v systému, nebo
-jste zapomnÄli nainstalovat vývojový (devel) balÃÄek (to jsou ty s koncovkou
--dev). Pokud si myslÃte, že je zde chyba, pÅidejte
-<filename>config.log</filename> do svého hlášenÃ.
-</para>
-</sect2>
-
-<sect2 id="bugreports_compilation">
-<title>Problémy s kompilacÃ</title>
-<para>
-ZahrÅte prosÃm tyto soubory:
-<itemizedlist>
- <listitem><para>config.h</para></listitem>
- <listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_playback">
-<title>Problémy s pÅehrávánÃm</title>
-
-<para>
-ZahrÅte prosÃme výstup <application>MPlayer</application>u v upovÃdaném
-režimu úrovnÄ 1 ale dejte pozor, abyste jej
-<emphasis role="bold">nezkrátili</emphasis>
-pÅi kopÃrovánà do mailu. VývojáÅi potÅebujà vÅ¡echny zprávy pro dobrou diagnózu
-problému. Takto můžete pÅesmÄrovat výstup do souboru:
-<screen>
-mplayer -v <replaceable>volby</replaceable> <replaceable>film</replaceable> > mplayer.log 2>&1
-</screen>
-</para>
-
-<para>
-Pokud se problém vztahuje k jednomu nebo vÃce souborům, pak prosÃm nahrajte
-potÞisty na:
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-RovnÄž zde nahrajte malý textový soubor se stejným základnÃm jménem a pÅÃponou
-.txt. PopiÅ¡te problém který máte s daným souborem a pÅipojte svůj e-mail a také
-výstup <application>MPlayer</application>u v upovÃdaném režimu úrovnÄ 1.
-Pro reprodukci problému staÄà obvykle prvnÃch 1-5 MB souboru, ale pro jistotu
-vás žádáme o:
-<screen>
-dd if=<replaceable>váš_soubor</replaceable> of=<replaceable>malý_soubor</replaceable> bs=1024k count=5
-</screen>
-To vezme prvnÃch pÄt megabajtů '<emphasis role="bold">vaÅ¡eho_souboru</emphasis>'
-a zapÃÅ¡e je do '<emphasis role="bold">malého_souboru</emphasis>'. Pak znovu
-zkuste tento malý vzorek a pokud se na nÄm chyba projevÃ, pak je tento vzorek
-pro nás dostateÄný.
-ProsÃme <emphasis role="bold">nikdy</emphasis> neposÃlejte tyto soubory e-mailem!
-Nahrajte je na FTP a pošlete pouze cestu/název_souboru daného souboru na FTP
-serveru. Pokud je soubor pÅÃstupný na internetu, pak staÄà poslat
-<emphasis role="bold">pÅesnou</emphasis> adresu URL.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_crash">
-<title>Pády</title>
-
-<para>
-MusÃte spustit <application>MPlayer</application> z <command>gdb</command>
-a poslat nám úplný výstup nebo pokud máte <filename>core</filename> dump
-z pádu, můžete nám vyextrahovat užiteÄné informace ze souboru Core.
-Jak to udÄlat:
-</para>
-
-
-<sect3 id="bugreports_debug">
-<title>Jak uchovat informace o zopakovatelném pádu</title>
-
-<para>
-PÅekompilujte <application>MPlayer</application> se zapnutým debugovacÃm kódem:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-a spusÅ¥te <application>MPlayer</application> z gdb pomocÃ:
-<screen>gdb ./mplayer</screen>
-Nynà jste v gdb. Zadejte:
-<screen>
-run -v <replaceable>volby-pro-mplayer</replaceable> <replaceable>soubor</replaceable>
-</screen>
-a zopakujte pád. Jakmile to dokážete, vrátà se gdb do režimu pÅÃkazového Åádku,
-kde musÃte zadat
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="bugreports_core">
-<title>Jak zÃskat smysluplné informace z core dump</title>
-
-<para>
-VytvoÅte následujÃcà pÅÃkazový Åádek:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-Pak jednoduÅ¡e spusÅ¥te tento pÅÃkaz:
-<screen>
-gdb mplayer --core=core -batch --command=pÅÃkazový_soubor > mplayer.bug
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>VÃm co dÄlám...</title>
-
-<para>
-Pokud jste vytvoÅili pÅÃkladné hlášenà chyby pomocà výšeuvedených kroků a
-jste si jisti, že chyba je v <application>MPlayer</application>u, nikoli
-v kompilátoru nebo poÅ¡kozený soubor, již jste si pÅeÄetli dokumentaci,
-ale nenalezli ÅeÅ¡enÃ, vaÅ¡e ovladaÄe zvuku jsou OK, pak byste se mÄli
-pÅihlásit do konference MPlayer-advusers a poslat hlášenà chyb zde,
-abyste dostali lepšà a rychlejšà odpovÄÄ.
-</para>
-
-<para>
-MÄjte na pamÄti, že pokud zde poÅ¡lete nováÄkovské otázky nebo otázky zodpovÄzené
-v manuálu, budete ignorováni nebo peskováni, mÃsto abyste dostali vhodnou odpovÄÄ.
-Takže nám nenadávejte a pÅihlaste se do -advusers pouze pokud opravdu vÃte co
-dÄláte a cÃtÃte se být pokroÄilým uživatelem <application>MPlayer</application>u,
-nebo vývojáÅem. Pokud splÅujete tato kritéria, nebude pro vás tÄžké se
-pÅihlásit...
-</para>
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/cs/documentation.xml b/DOCS/xml/cs/documentation.xml
deleted file mode 100644
index 0134198..0000000
--- a/DOCS/xml/cs/documentation.xml
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Synced with r24293-->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - Multimediálnà pÅehrávaÄ</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>24. bÅezna 2003</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayer team</holder>
-</copyright>
-<legalnotice>
- <title>License</title>
- <para>MPlayer is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>MPlayer is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with MPlayer; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>Jak ÄÃst tuto dokumentaci</title>
-
-<para>
-Pokud instalujete poprvé: mÄli byste si pÅeÄÃst celou dokumentaci odtud až
-do konce kapitoly Instalace a následovat linky, které naleznete.
-Pokud máte jiné dotazy, vraÅ¥te se zpÄt na <link linkend="toc">Obsah</link>
-a vyhledejte si pÅÃsluÅ¡nou Äást. PÅeÄtÄte si <xref linkend="faq"/>,
-nebo zkuste grep na souborech. OdpovÄdi na vÄtÅ¡inu otázek by mÄly být nÄkde tady,
-zbytek byl pravdÄpodobnÄ probrán v nÄkteré z naÅ¡ich
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">e-mailových konferencÃ</ulink>.
-<!-- FIXME: This refers to nonexistent links
-Prohledejte
-<ulink url="http://www.mplayerhq.hu/cgi-bin/s-arch.cgi">archivy</ulink>, zde naleznete
-mnoho hodnotných informacÃ.
--->
-</para>
-</preface>
-
-
-<chapter id="intro">
-<title>PÅedstavenÃ</title>
-
-<para>
-<application>MPlayer</application> je multimediálnà pÅehrávaÄ pro Linux (bÄžà na mnoha
-jiných Unixech a <emphasis role="bold">ne-x86</emphasis> CPU, viz
-<xref linkend="ports"/>).
-PÅehraje vÄtÅ¡inu MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI,
-RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, Matroska souborů s podporou
-mnoha nativnÃch XAnim, RealPlayer a Win32 DLL kodeků. Můžete sledovat
-<emphasis role="bold">VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora</emphasis>
-a také <emphasis role="bold">MPEG-4 (DivX)</emphasis> filmy. Dalšà skvÄlou vlastnostÃ
-<application>MPlayer</application>u je velké množstvà podporovaných
-výstupnÃch rozhranÃ. Pracuje s X11, Xv, DGA, OpenGL, SVGAlib,
-fbdev, AAlib, libcaca, DirectFB, rovnÄž můžete použÃt GGI a SDL (a takto i jejich ovladaÄe)
-a také nÄkteré nÃzkoúrovÅové ovladaÄe konkrétnÃch karet (pro Matrox, 3Dfx a
-Radeon, Mach64, Permedia3)! VÄtÅ¡ina z nich podporuje softwarové nebo hardwarové Å¡kálovánÃ
-(zmÄna velikosti obrazu), takže si můžete užÃt video na celé obrazovce.
-<application>MPlayer</application> podporuje zobrazovánà pÅes nÄkteré hardwarové MPEG
-dekódovacà karty, jako je <link linkend="dvb">DVB</link> a
-<link linkend="dxr3">DXR3/Hollywood+</link>. A což teprve velké krásné vyhlazené a
-stÃnované titulky
-(<emphasis role="bold">14 podporovaných typů</emphasis>)
-spolu s Evropskými/ISO 8859-1,2 (Bulharskými, Anglickými, Äeskými, atd), Cyrilickými a Korejskými
-fonty a displej na obrazovce (OSD)?
-</para>
-
-<para>
-PÅehrávaÄ je pevný jako skála pÅi pÅehrávánà poÅ¡kozených MPEG souborů
-(použitelné pro nÄkterá VCD), také pÅehrává Å¡patné AVI soubory, které
-nelze pÅehrávat ani vÄhlasným windows media playerem.
-Dokonce lze pÅehrávat i AVI bez indexu a navÃc můžete jejich indexy doÄasnÄ
-obnovit pomocà volby <option>-idx</option>, nebo trvale pomocÃ
-<application>MEncoder</application>u, což umožnà pÅevÃjenÃ!
-Jak vidÃte, kvalita a stabilita jsou tÄmi nejdůležitÄjÅ¡Ãmi vlastnostmi,
-rychlost je ovÅ¡em také skvÄlá. RovnÄž máme úÄinný systém filtrů pro manipulaci
-s videem i se zvukem.
-</para>
-
-<para>
-<application>MEncoder</application> (<application>MPlayer</application>ův Filmový
-Enkodér) je jednoduchý filmový enkodér, navržený k enkódovánÃ
-<application>MPlayer</application>em pÅehrávatelných filmů
-(<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
-do jiných <application>MPlayer</application>em pÅehrávatelných formátů (viz nÞe).
-Může enkódovat různými kodeky, tÅeba <emphasis role="bold">MPEG-4 (DivX4)</emphasis>
-(jednÃm nebo dvÄma průchody), <systemitem class="library">libavcodec</systemitem>,
-<emphasis role="bold">PCM/MP3/VBR MP3</emphasis>
-audia.
-</para>
-
-<itemizedlist>
-<title>Vlastnosti <application>MEncoder</application>u</title>
-<listitem><para>
- Enkódovánà ze Å¡iroké Åady formátů souboru a dekodérů
- <application>MPlayer</application>u
-</para></listitem>
-<listitem><para>
- Enkódovánà pomocà všech FFmpeg
- <systemitem class="library">libavcodec</systemitem> kodeků
-</para></listitem>
-<listitem><para>
- Video enkódovánà z <emphasis role="bold">V4L kompatibilnÃch TV tunerů</emphasis>
-</para></listitem>
-<listitem><para>
- EnkódovánÃ/multiplexovánà do prokládaných AVI souborů se správným indexem
-</para></listitem>
-<listitem><para>
- Tvorba souborů z externÃho audio proudu
-</para></listitem>
-<listitem><para>
- 1, 2 nebo 3 průchodové enkódovánÃ
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">VBR</emphasis> MP3 zvuk
- <important><para>
- VBR MP3 zvuk nenà vždy pÅehráván dobÅe pÅehrávaÄi pro windows!
- </para></important>
-</para></listitem>
-<listitem><para>
- PCM zvuk
-</para></listitem>
-<listitem><para>
- KopÃrovánà datového proudu
-</para></listitem>
-<listitem><para>
- Vstupnà A/V synchronizace (založená na PTS, lze ji vypnout pomocÃ
- volby <option>-mc 0</option>)
-</para></listitem>
-<listitem><para>
- Korekce snÃmkové rychlosti pomocà volby <option>-ofps</option> (užiteÄné pÅi enkódovánÃ
- 30000/1001 fps VOB do 24000/1001 fps AVI)
-</para></listitem>
-<listitem><para>
- PoužÃvá výkonný systém filtrů (oÅez, expanze, postproces, rotace, Å¡kálovánà (zmÄna velikosti),
- konverze rgb/yuv)
-</para></listitem>
-<listitem><para>
- Umà enkódovat DVD/VOBsub <emphasis role="bold">A</emphasis> textové titulky do výstupnÃho
- souboru
-</para></listitem>
-<listitem><para>
- Umà ripovat DVD titulky do VOBsub formátu
-</para></listitem>
-</itemizedlist>
-
-<!-- FIXME: the license should be in bookinfo -->
-<para>
-<application>MPlayer</application> a <application>MEncoder</application>
-mohou být distribuovány za podmÃnek stanovených v GNU General Public License Version 2.
-</para>
-
-</chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/cs/encoding-guide.xml b/DOCS/xml/cs/encoding-guide.xml
deleted file mode 100644
index 03fcf5c..0000000
--- a/DOCS/xml/cs/encoding-guide.xml
+++ /dev/null
@@ -1,5403 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r24549 -->
-<chapter id="encoding-guide">
-<title>Enkódovánàs <application>MEncoder</application>em</title>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>VytvoÅenà MPEG-4 ("DivX")
-ripu DVD filmu ve vysoké kvalitÄ</title>
-
-<para>
-Velmi Äastou otázkou je "Jak mohu vytvoÅit rip v nejvyššà možné kvalitÄ pro
-danou velikost?". Dalšà otázkou je "Jak vytvoÅÃm DVD rip v nejvyššà možné
-kvalitÄ? Velikost souboru mÄ nezajÃmá, chci tu nejvyššà kvalitu."
-</para>
-
-<para>
-Druhá otázka je ponÄkud Å¡patnÄ položená. Konec konců, pokud je vám lhostejná
-velikost souboru, proÄ prostÄ nezkopÃrujete celý MPEG-2 video proud z DVD?
-JistÄže vaÅ¡e AVI bude mÃt kolem 5 GB, ale pokud chcete nejvyššà kvalitu a
-na velikosti nezáležÃ, je to jistÄ nejlepšà volba.
-</para>
-
-<para>
-Ve skuteÄnosti, důvodem pÅevodu DVD do MPEG-4 je právÄ to, že vám na velikosti
-souboru <emphasis role="bold">záležÃ</emphasis>.
-</para>
-
-<para>
-Je tÄžké nabÃdnout kuchaÅku jak vytvoÅit DVD rip ve velmi vysoké kvalitÄ. Je
-nutné uvážit množstvà faktorů a mÄli byste rozumÄt tÄmto detailům, jinak
-budete asi zklamáni výsledkem. NÞe prozkoumáme nÄkteré z tÄchto vÄcà a
-pak se podÃváme na pÅÃklad. PÅedpokládáme, že použijete
-<systemitem class="library">libavcodec</systemitem> pro enkódovánà videa,
-aÄkoli teorie je stejná i pro ostatnà kodeky.
-</para>
-
-<para>
-Pokud je toho na vás moc, asi byste mÄli použÃt nÄkterý z pÄkných frontendů,
-které jsou zmÃnÄny v
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">sekci MEncoder</ulink>
-na našà stránce odvozených projektů.
-Takto budete schopni dosahovat vysoce kvalitnÃch ripů bez velkého pÅemýšlenÃ,
-protože vÄtÅ¡ina tÄchto nástrojů je navržena tak, aby dÄlala vhodná rozhodnutÃ
-za vás.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>PÅÃprava na enkódovánÃ: UrÄenà zdrojového materiálu a datového toku</title>
-
-<para>
-PÅedtÃm než i jen pomyslÃte na enkódovánà filmu, budete muset uÄinit
-nÄkolik pÅÃpravných kroků.
-</para>
-
-<para>
-PrvnÃm a nejdůležitÄjÅ¡Ãm krokem pÅed enkódovánÃm by mÄlo být zjiÅ¡tÄnÃ
-druhu obsahu se kterým máte co do ÄinÄnÃ.
-Pokud vaÅ¡e zdrojové video pocházà z DVD nebo veÅejné/kabelové/satelitnÃ
-TV, bude uložen v jednom ze dvou formátů: NTSC v Severnà Americe a
-Japonsku, PAL v EvropÄ, atd.
-Je ovÅ¡em důležité si uvÄdomit, že to je pouze formátovánà pro prezentaci
-v televizi a Äasto <emphasis role="bold">neodpovÃdá</emphasis>
-originálnÃmu formátu filmu.
-ZkuÅ¡enosti ukazujÃ, že NTSC materiál je mnohem tÄžšà enkódovat,
-jelikož musÃme identifikovat vÃce vÄcà ve zdrojovém videu.
-Abyste dosáhli uspokojivého výsledku, musÃte znát původnà formát.
-Nevezmete-li to správnÄ v potaz, dostanete obraz plný nejrůznÄjÅ¡Ãch vad,
-vÄetnÄ oÅ¡klivých kombinaÄnÃch (proklad) artefaktů a zdvojených nebo dokonce
-zahozených snÃmků.
-KromÄ toho, že budete mÃt nekvalitnà obraz, artefakty rovnÄž snižujÃ
-efektivitu kódovánÃ:
-Dosáhnete horšà kvalitu na jednotku datového toku.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
-<title>ZjiÅ¡tÄnà snÃmkové rychlosti zdroje</title>
-
-<para>
-Zde máte seznam bÄžných typů zdrojového materiálu, kde na který nejspÃÅ¡
-narazÃte a jejich volby:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Standardnà film</emphasis>: VytvoÅený pro promÃtánÃ
- v kinÄ pÅi 24fps.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL video</emphasis>: Zaznamenáno PAL
- video kamerou s rychlostà 50 půlsnÃmků za sekundu.
- PůlsnÃmek sestává jen z lichých nebo sudých Åádků daného snÃmku.
- Televize je navržena pro jejich stÅÃdavé zobrazovánà jako laciná
- forma analogové komprese.
- Lidské oko to pravdÄpodobnÄ vykompenzuje, ale jakmile porozumÃte
- prokládánÃ, nauÄÃte se jej vidÄt i v TV a už si ji neužijete.
- Dva půlsnÃmky <emphasis role="bold">netvoÅÃ</emphasis> úplný snÃmek,
- protože jsou zaznamenány s Äasovou odchylkou 1/50 sekundy a proto se
- nekryjÃ, dokud je zde pohyb.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC Video</emphasis>: Zaznamenáno
- NTSC video kamerou s rychlostà 60000/1001 půlsnÃmků za sekundu, nebo 60
- půlsnÃmků za sekundu v dobÄ pÅed barevnou televizÃ.
- Jinak obdobné PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Animovaný film</emphasis>: Obvykle kreslený pÅi
- 24 snÃmcÃch za sekundu, ale rovnÄž bývá v nÄkteré variantÄ prmÄnné snÃmkové
- rychlosti.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PoÄÃtaÄová grafika (CG)</emphasis>: Může mÃt jakoukoli
- snÃmkovou rychlost, ale nÄkteré jsou ÄastÄjšà než jiné; 24 a 30 snÃmků za
- sekundu jsou typické pro NTSC a 25 snÃmků za sekundu zase pro PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Starý film</emphasis>: Různé nižšà snÃmkové rychlosti.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
-<title>UrÄenà zdrojového materiálu</title>
-
-<para>
-Filmy sestávajÃcà ze snÃmků jsou nazývány progresivnÃ,
-zatÃmco ty složené z nezávislých půlsnÃmků buÄ prokládané, nebo
-jen video – aÄkoli druhý termÃn je zavádÄjÃcÃ.
-</para>
-
-<para>
-Abychom to jeÅ¡tÄ zkomplikovali, nÄkteré filmy mohou být smÄsÃ
-všeho výše uvedeného.
-</para>
-
-<para>
-NejdůležitÄjÅ¡Ãm rozdÃlem mezi vÅ¡emi tÄmito formáty je to, že základem
-nÄkterých jsou snÃmky a jiných půlsnÃmky.
-<emphasis role="bold">Vždy</emphasis>, když je film pÅipravován pro promÃtánÃ
-v televizi (vÄetnÄ DVD), je pÅeveden na půlsnÃmky.
-Různé metody jak toho lze dosáhnout jsou souhrnnÄ nazývány "telecine" a
-nechvalnÄ známé NTSC "3:2 pulldown" je jednou z variant.
-Pokud nebyl základ vaÅ¡eho filmu rovnÄž půlsnÃmkový (se stejnou půlsnÃmkovou
-rychlostÃ), máte film v jiném formátu, než byl původnÄ.
-</para>
-
-<itemizedlist>
-<title>Zde je nÄkolik bÄžných typů pulldown:</title>
-<listitem><para>
- <emphasis role="bold">PAL 2:2 pulldown</emphasis>: Je nejhezÄÃ z nich.
- Každý snÃmek je zobrazován po dobu dvou půlsnÃmků tak, že se oddÄlà liché
- a sudé Åádky a zobrazujà se stÅÃdavÄ.
- Pokud mÄl originál 24 snÃmků za sekundu, zrychlà se film o 4%.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
- Každý 12 snÃmek je zobrazen po dobu tÅà půlsnÃmků, mÃsto dvou.
- To odstranà nevýhodu 4% zrychlenÃ, ale znesnadnà obrácený proces.
- Obvykle je použÃván pouze u hudebnà produkce, jelikož zde by 4% zrychlenÃ
- znatelnÄ poÅ¡kodilo hudebnà zážitek.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 3:2 telecine</emphasis>: SnÃmky jsou zobrazovány
- po dobu 2 nebo 3 půlsnÃmků, ÄÃmž je dosaženo 2.5 krát
- vyššà půlsnÃmkové rychlosti, než je originálnà snÃmková rychlost.
- Výsledek je dále velmi mÃrnÄ spomalen ze 60 půlsnÃmků za sekundu na
- 60000/1001 půlsnÃmků za sekundu, aby se dosáhlo NTSC půlsnÃmkové rychlosti.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: PoužÃvá se pro
- promÃtánà 30fps materiálu na NTSC.
- PÄkné, stejnÄ jako 2:2 PAL pulldown.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Existujà rovnÄž metody pro konverzi mezi NTSC a PAL videem, ale to
-již je nad rámec této pÅÃruÄky.
-Pokud se setkáte s takovým filmem a budete jej chtÃt enkódovat,
-bude pro vás nejlepšà opatÅit si jej v originálnÃm formátu.
-Konverze mezi tÄmito formáty je vysoce destruktivnà a nelze ji
-ÄistÄ zvrátit, takže výsledek velmi utrpÃ, pokud je vytvoÅen z
-konvertovaného materiálu.
-</para>
-
-<para>
-Když je video ukládáno na DVD, po sobÄ jdoucà páry půlsnÃmků jsou
-seskupovány do snÃmků, dokonce i když nejsou urÄeny pro zobrazenÃ
-ve stejném okamžiku.
-Standard MPEG-2 použitý na DVD a digitálnà televizi poskytuje možnost
-jak pro enkódovánà originálnÃch progresivnÃch snÃmků, tak pro uloženÃ
-informacà do hlaviÄky snÃmku o poÄtu půlsnÃmků, po jejichž dobu by mÄl
-být daný snÃmek zobrazován.
-Pokud je použita tato metoda, film bývá Äasto oznaÄen jako
-"soft-telecined", jelikož proces pouze ÅÃdà DVD pÅehrávaÄ pro
-aplikaci pulldown na film spÃÅ¡e než že mÄnà samotný film.
-Tento pÅÃpad je velmi upÅednostÅován, jelikož může být snadno
-zvrácen (ve skuteÄnosti ignorován) enkodérem a proto poskytuje maximálnÃ
-kvalitu.
-Mnoho DVD a televiznÃch produkÄnÃch spoleÄnostà vÅ¡ak nepoužÃvá vhodné
-enkódovacà techniky, ale mÃsto toho produkujà filmy s
-"hard telecine", kdy jsou ve skuteÄnosti půlsnÃmky duplikovány
-ve výsledném MPEG-2.
-</para>
-
-<para>
-Postupy pro tyto pÅÃpady budou uvedeny
-<link linkend="menc-feat-telecine">pozdÄji v této pÅÃruÄce</link>.
-ProzatÃm si Åekneme nÄkolik návodů pro identifikaci o jaký typ materiálu jde:
-</para>
-
-<itemizedlist>
-<title>NTSC regiony:</title>
-<listitem><para>
- Pokud <application>MPlayer</application> pÅi pÅehrávánà vypÃÅ¡e, že se snÃmková
- rychlost zmÄnila na 24000/1001 a již se to nezmÄnÃ, pak se nejspÃÅ¡ jedná
- o progresivnà obsah, který byl "soft telecinován".
-</para></listitem>
-<listitem><para>
- Pokud <application>MPlayer</application> ukazuje, že se snÃmková rychlost
- mÄnà tam a zpÄt mezi 24000/1001 a 30000/1001 a nÄkdy vidÃte
- "combing", pak je zde nÄkolik možnostÃ.
- Segmenty 24000/1001 fps majà témÄÅ jistÄ "soft telecinovaný" progresivnÃ
- obsah, ale 30000/1001 fps Äásti mohou mÃt buÄ hard-telecined 24000/1001 fps
- obsah, nebo se jedná o 60000/1001 půlsnÃmků za sekundu NTSC video.
- Použijte stejný postup jako v následujÃcÃch dvou pÅÃpadech pro urÄenÃ
- který z nich to je.
-</para></listitem>
-<listitem><para>
- Pokud <application>MPlayer</application> neukáže zmÄnu snÃmkové rychlosti
- a vÅ¡echny snÃmky jsou zubaté, je váš film ve formátu NTSC video s 60000/1001
- půlsnÃmky za sekundu.
-</para></listitem>
-<listitem><para>
- Pokud <application>MPlayer</application> neukáže zmÄnu snÃmkové rychlosti
- a dva snÃmky z pÄti vypadajà zubatÄ, má vaÅ¡e video "hard telecinovaný"
- 24000/1001fps obsah.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>PAL regiony:</title>
-<listitem><para>
- Pokud nenà nikde vidÄt žádné zubatÄnÃ, je váš film 2:2 pulldown.
-</para></listitem>
-<listitem><para>
- Pokud vidÃte jak se objevuje a mizà zubatÄnà každou půlsekundu,
- pak je váš film 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.
-</para></listitem>
-<listitem><para>
- Pokud je zubatÄnà vidÄt stále, je to PAL video s 50 půlsnÃmky za sekundu.
-</para></listitem>
-</itemizedlist>
-
-<note><title>Rada:</title>
-<para>
- <application>MPlayer</application> umà spomalit pÅehrávánà videa
- pomocà volby -speed.
- Zkuste použÃt <option>-speed</option> 0.2 pro velmi pomalé pÅehrávánÃ
- nebo opakovanÄ stiskejte klávesu "<keycap>.</keycap>" pro krokovánÃé po
- snÃmcÃch a najdÄte vzor, pokud jej nevidÃte pÅi plné rychlosti.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>Pevný kvantizer vs. vÃce průchodů</title>
-
-<para>
-Enkódovánà vašeho videa je možné provést v široké škále kvality.
-S modernÃmi video enkodéry a trochou pÅedkodekové komprese
-(zmenÅ¡enà a odÅ¡umovánÃ) je možné dosáhnout velmi dobré kvality v 700 MB,
-pro 90-110 minut dlouhé širokoúhlé video.
-Jinak lze vÅ¡echna videa, snad kromÄ tÄch nejdelÅ¡Ãch, enkódovat v témÄÅ
-perfektnà kvalitÄ do 1400 MB.
-</para>
-
-<para>
-Jsou tÅi pÅÃstupy k enkódovánà videa: pevný datový tok (CBR), pevný kvantizer
-a vÃceprůchodový (ABR, neboli průmÄrovaný datový tok).
-</para>
-
-<para>
-Komplexnost snÃmků ve filmu a tÃm i poÄet bitů potÅebných pro jejich
-komprimaci, se může velmi liÅ¡it od scény ke scénÄ.
-Modernà enkodéry se umà pÅizpůsobit tÄmto potÅebám zmÄnou datového toku.
-V jednoduchých režimÄch, jako je CBR, vÅ¡ak enkodéry neznajà nároky na
-datový tok budoucÃch scén a tak nemohou pÅekroÄit požadovaný stÅednÃ
-datový tok na dlouhou dobu.
-PokroÄilejšà režimy, jako je vÃceprůchodové enkódovánÃ, umà vzÃt v
-potaz statistiky z pÅedchozÃch režimů, což odstranà výše zmÃnÄný problém.
-</para>
-
-<note><title>Poznámka:</title>
-<para>
-VÄtÅ¡ina kodeků, které podporujà ABR enkódovánÃ, podporujà pouze dvouprůchodové
-enkódovánÃ, zatÃmco ostatnà jako <systemitem class="library">x264</systemitem>,
-<systemitem class="library">Xvid</systemitem>
-a <systemitem class="library">libavcodec</systemitem> podporujà vÃceprůchodové
-enkódovánÃ, které s každým průchodem trochu zlepšà kvalitu, aÄkoli toto
-zlepÅ¡enà již nenà viditelné, nebo mÄÅitelné po asi Ätvrtém průchodu.
-V této sekci budeme považovat dvouprůchodové a vÃceprůchodové
-enkódovánà za rovnocenné.
-</para>
-</note>
-
-<para>
-V každém z tÄchto režimů video kodek (jako je
-<systemitem class="library">libavcodec</systemitem>)
-rozbije videosnÃmek na makrobloky 16x16 pixelů a potom na každý makroblok
-aplikuje kvantizer. ÄÃm je nižšà kvantizer, tÃm je vyššà kvalita a datový tok.
-Metoda, kterou enkodér filmu použÃvá pro
-urÄenà jaký kvantizer použÃt pro daný makroblok, se lišà a je vysoce
-ovlivnitelná. (Toto je extrémnà zjednodušenà daného procesu, ale je vhodné
-rozumÄt základnÃmu principu.)
-</para>
-
-<para>
-Pokud nastavÃte konstantnà datový tok, bude videokodek enkódovat video tak,
-že zahodÃ
-detaily podle potÅeby a jen tolik, aby se udržel pod zadaným datovým tokem.
-Pokud je vám opravdu lhostejná velikost souboru, můžete také použÃt CBR a
-nastavit datový tok na nekoneÄno. (V praxi to znamená nastavit hodnotu tak
-vysoko, aby nijak neomezovala, jako 10000 Kbitů.) Bez reálného omezenÃ
-datového toku použije kodek
-nejnižšà možný kvantizer pro každý makroblok (ten je nastaven pomocÃ
-<option>vqmin</option> pro <systemitem class="library">libavcodec</systemitem>,
-kde je výchozà 2). Jakmile nastavÃte dostateÄnÄ nižšÃ
-datový tok, takže je kodek
-pÅinucen použÃt vyššà kvantizer, pak témÄÅ jistÄ snÞÃte kvalitu svého videa.
-Abyste se tomu vyhnuli, mÄli byste zvážit zmenÅ¡enà videa podle postupu
-popsaného pozdÄji v této pÅÃruÄce.
-VÅ¡eobecnÄ byste se mÄli úplnÄ vyhnout CBR, pokud vám záležà na kvalitÄ.
-</para>
-
-<para>
-PÅi konstantnÃm kvantizeru kodek
-použÃvá kvantizer nastavený volbou <option>vqscale</option> (pro
-<systemitem class="library">libavcodec</systemitem>) na každý makroblok.
-Pokud chcete maximálnÄ kvalitnà rip, opÄt bez ohledu na datový tok, můžete
-použÃt <option>vqscale=2</option>. To povede ke stejnému datovému toku a PSNR
-(odstup signál – Å¡um) jako CBR s <option>vbitrate</option>=infinity a
-výchozÃm <option>vqmin</option> rovným 2.
-</para>
-
-<para>
-Problém s konstantnà kvantizacà je ten, že použÃvá zadaný kvantizer aÅ¥ to daný
-makroblok potÅebuje Äi nikoli. Je totiž možné použÃt vyššà kvantizer na
-makroblok bez obÄtovánà viditelné kvality. ProÄ tedy plýtvat bity s nemÃstnÄ
-nÃzkým kvantizerem? Váše CPU má tolik cyklů, kolik máte Äasu, ale na harddisku
-máte jen urÄitý poÄet bitů.
-</para>
-
-<para>
-PÅi dvouprůchodovém enkódovánà se v prvnÃm průchodu projde film jakoby mÄl být
-CBR, ale vlastnosti každého snÃmku se zaznamenajà do logu. Tato data jsou pak
-použita pÅi druhém průchodu pro inteligentnà stanovenà použitého kvantizeru.
-V rychlých scénách nebo scénách s velkým poÄtem detailů budou ÄastÄji použÃvány
-vyššà kvantizery a v pomalých nebo ménÄ detailnÃch scénách zase nižšà kvantizery.
-Obvykle je důležitÄjšà množstvà pohybu než detailů.
-</para>
-
-<para>
-Pokud použijete <option>vqscale=2</option>, plýtváte bity. Pokud použijete
-<option>vqscale=3</option>, pak nedostanete nejkvalitnÄjšà možný rip.
-Dejme tomu, že ripujete DVD pÅi <option>vqscale=3</option> a
-výsledkem je 1800Kbit. Pokud provedete dvouprůchodové enkódovánÃ
-s <option>vbitrate=1800</option>, výsledné video bude mÃt <emphasis
-role="bold">vyššà kvalitu</emphasis> pÅi
-<emphasis role="bold">stejném datovém toku</emphasis>.
-</para>
-
-<para>
-Jelikož jsme vás nynà pÅesvÄdÄili, že dvouprůchodový režim je správná volba,
-skuteÄnou otázkou je, jaký datový tok použÃt? OdpovÄÄ je, že nenà jediná
-odpovÄÄ. IdeálnÄ byste mÄli zvolit takový datový tok, který zajistà nejlepÅ¡Ã
-rovnováhu mezi kvalitou a velikostà souboru. Ten bude pokaždé jiný
-v závislosti na zdrojovém videu.
-</para>
-
-<para>
-Pokud na velikosti souboru nezáležÃ, pak je dobrý startovnà můstek pro rip
-s velmi vysokou kvalitou je kolem 2000 Kbitů plus-mÃnus 200 Kbitů.
-Pro rychlé akÄnà nebo vysoce detailnà zdrojové video, nebo máte-li velmi
-kritické oko, se budete rozhodovat mezi 2400 nebo 2600.
-U nÄkterých DVD nepoznáte rozdÃl pÅi 1400 Kbitech. Je vhodné experimentovat
-se scénami pÅi různých datových tocÃch, abyste pro to dostali cit.
-</para>
-
-<para>
-Pokud se snažÃte o urÄitou velikost, budete muset nÄjak spoÄÃtat datový tok.
-Ale jeÅ¡tÄ pÅedtÃm musÃte zjistit, kolik mÃsta byste mÄli rezervovat pro
-zvukové(ou) stopy(u), takže byste si
-<link linkend="menc-feat-dvd-mpeg4-audio">je mÄli ripnout</link> jako prvnÃ.
-Můžete si pak spoÄÃtat datový tok pomocà následujÃcà rovnice:
-<systemitem>datový_tok = (požadovaná_velikost_v_Mbajtech - velikost_zvuku_v_Mbajtech) *
-1024 * 1024 / délka_v_sek * 8 / 1000</systemitem>
-NapÅÃklad abyste nacpali dvouhodinový film na 702MB CD, se 60MB zvukovou
-stopou, bude muset být datový tok videa:
-<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
-= 740kbps (kilobitů za sekundu)</systemitem>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-constraints">
-<title>Omezenà pro efektivnà enkódovánÃ</title>
-
-<para>
-Ze samé podstaty komprese typu MPEG vyplývajà urÄitá omezenÃ, která byste mÄli
-ctÃt, pokud chcete maximálnà kvalitu.
-MPEG rozdÄlà video na Ätverce 16x16 nazývané makrobloky, které se skládajÃ
-ze ÄtyÅ bloků 8x8 jasové (luma) složky a dvou bloků 8x8 barevné (chroma)
-složky v poloviÄnÃm rozliÅ¡enà (jeden pro osu Äervená-cyan (modrozelená) a druhý pro osu
-modrá-žlutá).
-Dokonce i když Å¡ÃÅka a výška vaÅ¡eho videa nejsou násobky 16, použije enkodér
-dostatek 16x16 makrobloků, aby pokryl celou oblast obrazu a zabere mÃsto
-navÃc, které pÅijde vniveÄ.
-Takže chcete-li maximalizovat kvalitu pÅi dané velikosti souboru, nenà dobrý
-nápad použÃvat rozmÄry které nejsou násobky 16.
-</para>
-
-<para>
-VÄtÅ¡ina DVD má také různÄ velké Äerné okraje videa. Ponechánà tÄchto ploch
-různým způsobem <emphasis role="bold">velmi</emphasis> snižuje kvalitu.
-</para>
-
-<orderedlist>
-<listitem>
- <para>
- Komprese typu MPEG je velmi závislá na ploÅ¡ných frekvenÄnÃch
- transformacÃch, konkrétnÄ Diskrétnà Kosinové Transformaci (DCT), která se
- podobá FourierovÄ transformaci. Tento druh enkódovánà je efektivnà na
- reprezentaci opakujÃcÃch se vzorů a pozvolné pÅechody, ale má potÞe s ostrými
- pÅechody. Chcete-li je enkódovat, musÃte použÃt mnoho bitů, jinak se objevÃ
- artefakty známé jako kroužkovánÃ.
- </para>
-
- <para>
- FrekvenÄnà transformace (DCT) je provedena zvlášť pro každý makroblok
- (ve skuteÄnosti na každý blok), takže problém nastane pouze tehdy, je-li ostrý
- pÅechod uvnitÅ bloku. Pokud vaÅ¡e Äerné okraje zaÄÃnajà pÅesnÄ na hranicÃch
- násobků 16 pixelů, pak to nenà problém. Äerné okraje jsou vÅ¡ak na DVD jen
- málokdy pÄknÄ umÃstÄny, takže je v praxi budete muset vždy odstranit, abyste
- se vyhnuli tomuto problému.
- </para>
-</listitem>
-</orderedlist>
-
-<para>
-NavÃc k ploÅ¡nÄ frekvenÄnÃm transformacÃm použÃvá komprese typu MPEG vektory
-pohybu k popisu zmÄn od jednoho snÃmku ke druhému. Vektory pohybu pÅirozenÄ
-pracujà ménÄ efektivnÄ s novým obsahem pÅicházejÃcÃm zpoza okrajů snÃmku,
-protože ten nebyl pÅÃtomen na pÅedchozÃm snÃmku. Dokud se obraz rozÅ¡iÅuje
-smÄrem k okrajům snÃmku, nemajà s tÃm vektory pohybu žádný problém, ale
-jsou-li zde Äerné okraje, může problém nastat:
-</para>
-
-<orderedlist continuation="continues">
-<listitem>
- <para>
- Komprese typu MPEG ukládá pro každý makroblok vektor, identifikujÃcà která
- Äást pÅedchozÃho obrázku by mÄla být zkopÃrována onoho makrobloku jako základ
- pro predikci následujÃcÃho snÃmku. Pouze zbývajÃcà odliÅ¡nosti musà být
- enkódovány. Pokud makroblok pÅesahuje okraj obrázku a obsahuje Äást Äerného
- okraje, vektory pohybu z ostatnÃch Äástà obrázku pÅepÚà Äerný okraj.
- To znamená mnoho bitů spotÅebovaných buÄ na znovuzaÄernÄnÃ, nebo se (spÃÅ¡)
- vektory pohybu nepoužijà vůbec a vÅ¡echny zmÄny v tomto makrobloku se budou
- kódovat pÅÃmo. Jinými slovy se velmi snÞà efektivita enkódovánÃ.
- </para>
-
- <para>
- Tento problém nastává opÄt jen v pÅÃpadÄ, že Äerné okraje nezaÄÃnajà na lince
- jejÞ pozice je násobkem 16.
- </para>
-</listitem>
-
-<listitem>
- <para>
- Nakonec zde máme makroblok uvnitÅ obrázku do nÄjž se posunuje objekt z okraje
- obrázku. Kódovánà typu MPEG neumà ÅÃct "zkopÃruj to co je na obrázku, ale ne
- Äerný okraj." Takže se zkopÃruje i Äerný okraj a spotÅebuje se spousta bitů
- na enkódovánà té Äásti obrázku, která tu mÄla být.
- </para>
-
- <para>
- Pokud se obrázek dostane úplnÄ ven z enkódované oblasti, má MPEG speciálnÃ
- optimalizace pro opakované kopÃrovánà pixelů na okraj obrázku pokud pÅijde
- vektor pohybu zvenÄà enkódované oblasti. Tato vlastnost bude k niÄemu, pokud
- má film Äerné okraje. Na rozdÃl od problémů 1 a 2 zde umÃstÄnà okrajů na
- násobky 16 nepomůže.
- </para>
-</listitem>
-
-<listitem><para>
- Navzdory tomu, že okraje jsou úplnÄ Äerné a nikdy se nemÄnÃ, je zde vždy
- alespoÅ minimálnà datový tok spotÅebovaný na vÄtšà množstvà makrobloků.
-</para></listitem>
-</orderedlist>
-
-<para>
-Ze vÅ¡ech tÄchto důvodů doporuÄujeme zcela odstranit Äerné okraje. Dále, pokud
-je na okraji obrázku oblast se Å¡umem/zkreslenÃm, jejÃm odstÅiženÃm se jeÅ¡tÄ
-zvýšà efektivita enkódovánÃ. Videofilnà puristé, kteÅà chtÄjà zůstat tak
-blÃzko originálu, jak je to jen možné, mohou protestovat proti tomuto oÅezánÃ,
-ale pokud nehodláte enkódovat s konstantnÃm kvantizerem, kvalita kterou
-dostanete dÃky oÅezánà znatelnÄ pÅevýšà množstvà ztracených informacà na
-okrajÃch.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>OÅezávánà a Å¡kálovánÃ</title>
-
-<para>
-PÅipomeÅme z pÅedchozà Äásti, že koneÄná velikost obrázku by mÄla mÃt
-jak Å¡ÃÅku, tak výšku beze zbytku dÄlitelnou 16, Äehož můžete dosáhnout
-pomocà oÅezánÃ, Å¡kálovánÃ, nebo kombinacà obou.
-</para>
-
-<para>
-PÅi oÅezávánà byste se mÄli držet nÄkolika zásad, abyste pÅedeÅ¡li poÅ¡kozenÃ
-svého filmu.
-Normálnà YUV formát 4:2:0, ukládá barvonosnou (chroma) informaci
-podvzorkovanou, Äili hustota vzorkovánà barvy je poloviÄnà oproti jasové
-(ÄernobÃlé) složce v obou smÄrech.
-ProhlédnÄte si tento diagram, kde L oznaÄuje vzorkovacà body jasu a C
-barvy.
-</para>
-
-<informaltable>
-<?dbhtml table-width="40%" ?>
-<?dbfo table-width="40%" ?>
-<tgroup cols="8" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Jak vidÃte, Åádky i sloupce obrázku se pÅirozenÄ párujÃ. PÅi oÅezávánà tedy
-<emphasis>musÃ</emphasis> být hodnoty odsazenà i rozmÄrů sudá ÄÃsla.
-Pokud nejsou, nebude se barvonosná informace zprávnÄ krýt s jasovou.
-Teoreticky lze stÅÃhat s lichým odsazenÃm, ale to vyžaduje pÅevzorkovánÃ
-barvy, což je potenciálnÄ ztrátový úkon a nenà podporován filtrem crop.
-</para>
-
-<para>
-Dále, prokládané video je vzorkováno takto:
-</para>
-
-<informaltable>
-<?dbhtml table-width="80%" ?>
-<?dbfo table-width="80%" ?>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
-<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
-<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
-<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
-<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Hornà půlsnÃmek</entry>
- <entry namest="col9" nameend="col16">Spodnà půlsnÃmek</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Jak vidÃte, tak se vzor opakuje každé 4 Åádky, takže pÅi oÅezu
-prokládaného videa musà být odsazenà v ose y a výška beze
-zbytku delitelné 4.
-</para>
-
-<para>
-Nativnà DVD rozliÅ¡enà je 720x480 pro NTSC a 720x576 pro PAL, ale je zde jeÅ¡tÄ
-pÅÃznak pomÄru stran, který udává, zda se jedná o obrazovku (full-screen)(4:3),
-nebo Å¡irokoúhlý film (wide-screen)(16:9). Mnoho (jestli ne vÄtÅ¡ina)
-Å¡irokoúhlých DVD nenà pÅesnÄ 16:9, ale bude buÄ 1.85:1 anebo 2.35:1
-(cinescope). To znamená, že zde budou ve videu Äerné okraje, které bude nutné
-odstÅihnout.
-</para>
-
-<para>
-<application>MPlayer</application> poskytuje filtr pro detekci potÅebného
-oÅezu, který stanovà oÅezový obdélnÃk (<option>-vf cropdetect</option>).
-Spusťte <application>MPlayer</application> s volbou
-<option>-vf cropdetect</option> a on vám vypÃÅ¡e nastavenà filtru crop pro
-oÅezánà okrajů.
-MÄli byste nechat bÄžet film tak dlouho, dokud nenà použita celá plocha
-obrázku, abyste dostali správné hodnoty crop.
-</para>
-
-<para>
-Pak otestujte zÃskané hodnoty z pÅÃkazového Åádku
-<application>MPlayer</application>u vypisované <option>cropdetect</option>em
-a upravte obdélnÃk podle potÅeby.
-V tom vám pomůže filtr <option>rectangle</option>, který umožÅuje interaktivnÄ
-nastavit obdélnÃk pro váš film.
-NezapomeÅte zachovat výše uvedená doporuÄenÃ, abyste nepoÅ¡kodili barevnou
-mapu.
-</para>
-
-<para>
-Škálovánà je obvykle nevhodné.
-Å kálovánà prokládaného videa je obtÞné a pokud chcete zachovat prokládánÃ,
-mÄli byste se mu úplnÄ vyhnout.
-Pokud mebudete Å¡kálovat, ale budete chtÃt použÃvat rozmÄry v násobcÃch 16,
-budete muset oÅÃznout i Äást obrazu.
-Neponechávejte ani malé Äerné okraje, jelikož se velmi Å¡patnÄ kódujÃ!
-</para>
-
-<para>
-Protože MPEG-4 použÃvá makrobloky 16x16, mÄli byste se ujistit, že oba rozmÄry
-videa jsou násobkem 16, jinak snÞÃte kvalitu, zvlášť pÅi nÃzkých datových
-tocÃch. Můžete to zajistit zaokrouhlenÃm Å¡ÃÅky a výšky oÅezového obdélnÃku
-dolů na nejbližšà násobek 16.
-Jak jsme již Åekli, mÄli byste pÅi oÅezávánà zvýšit odsazenÃ
-(offset) v ose y o polovinu rozdÃlu mezi starou a novou výškou, takže bude
-výsledné video bráno ze stÅedu snÃmku. Z důvodu principu vzorkovánà DVD videa
-se ujistÄte, že je odsazenà sudé ÄÃslo. (PopravdÄ, pÅijmÄte jako pravidlo,
-nikdy nepoužÃvat liché hodnoty pro jakýkoli z parametrů pÅi oÅezávánà a
-Å¡kálovánà videa.) Pokud nechcete zahodit tÄch nÄkolik pixelů navÃc, můžete
-mÃsto toho radÄji zmÄnit velikost videa (Å¡kálovat). Na to se podÃváme
-v pÅÃkladu nÞe.
-V praxi můžete nechat filtr <option>cropdetect</option> udÄlat vÅ¡echnu práci
-zmÃnÄnou výše, jelikož má volitelný parametr <option>round</option>
-(zaokrouhlenÃ), jehož výchozà hodnota je 16.
-</para>
-
-<para>
-RovnÄž buÄte opatrnà na "napůl Äerné" pixely na okrajÃch. Vždy je rovnÄž
-odstÅihnÄte, jinak zde budete plýtvat bity, které můžete použÃt jinde.
-</para>
-
-<para>
-Poté co provedete vÅ¡e, co jsme si doposud Åekli, budete mÃt video, které asi
-nebude právÄ 1.85:1 nebo 2.35:1, ale nÄkde poblÞ. Můžete spoÄÃtat nový pomÄr
-stran ruÄnÄ, ale <application>MEncoder</application> nabÃzà volbu pro
-<systemitem class="library">libavcodec</systemitem> nazývanou <option>autoaspect</option>,
-která to za vás udÄlá. NezvÄtÅ¡ujte video jen proto, abyste dosáhli Ätvercových
-pixelů, pokud je vám milé mÃsto na disku. Å kálovánà by mÄlo být provedeno pÅi
-pÅehrávánÃ, kdy pÅehrávaÄ použije pomÄr stran uložený v AVI pro zajiÅ¡tÄnÃ
-správného rozliÅ¡enÃ.
-NaneÅ¡tÄstà ne vÅ¡echny pÅehrávaÄe uplatÅujà tuto autoÅ¡kálovacà informaci,
-takže můžete pÅece jen chtÃt Å¡kálovat.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>Volba rozlišenà a datového toku</title>
-
-<para>
-Pokud nebudete enkódovat v režimu konstantnÃho kvantizeru, musÃte zvolit
-velikost datového toku.
-Koncepce datového toku je velmi jednoduchá.
-Je to (průmÄrný) poÄet bitů spotÅebovaný na jednu sekundu filmu.
-NormálnÄ se datový tok udává v kilobitech (1000 bitů) za sekundu.
-Velikost vašeho filmu je pak datový tok násobený délkou filmu, plus malá
-režie (viz napÅÃklad sekci
-<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">kontejner AVI</link>).
-Ostatnà parametry jako je Å¡kálovánÃ, oÅezánà atd.
-<emphasis role="bold">nezmÄnÃ</emphasis> velikost souboru, pokud zároveÅ
-nezmÄnÃte datový tok!
-</para>
-<para>
-Datový tok se <emphasis role="bold">nemÄnÃ</emphasis> proporcionálnÄ
-k rozliÅ¡enÃ.
-Jinými slovy, soubor 320x240 pÅi 200 kbit/sek nebude mÃt stejnou kvalitu
-jako ten samý film pÅi 640x480 a 800 kbitech/sek!
-Jsou pro to dva důvody:
-<orderedlist>
-<listitem><para>
- <emphasis role="bold">Dojem</emphasis>: MPEG artefakty jsou patrné
- tÃm vÃce, ÄÃm jsou vÃce zvÄtÅ¡ené!
- Artefakty se objevujà ve velikosti bloků (8x8).
- VaÅ¡e oko neodhalà chyby ve 4800 malých blocÃch tak snadno jako ve 1200
- velkých (pÅedpokládáme, že oboje budete Å¡kálovat na celou obrazovku).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Teoretický</emphasis>: Když zmenÅ¡Ãte obrázek,
- ale stále použijete stejnou velikost bloků (8x8) pro frekvenÄnà prostorovou
- transformaci, pÅesunete vÃce dat do oblasti vyššÃch frekvencÃ.
- ZjednoduÅ¡enÄ ÅeÄeno, každý pixel nynà obsahuje vÃce detailů, než pÅedtÃm.
- Dokonce i když pÅipustÃme, že jste zmenÅ¡ili obraz obsahujÃcà 1/4 informacÃ
- o daném prostoru, stále může obsahovat mnoho detailů v daném frekvenÄnÃm
- pásmu (pÅedpokládáme, že vysoké frekvence byly v originálnÃm 640x480 snÃmku
- oÅezány).
-</para></listitem>
-</orderedlist>
-</para>
-<para>
-DÅÃvÄjšà návody doporuÄovaly volit datový tok a rozliÅ¡enà rozpoÄÃtánÃm
-bitů na pixely, ale to obvykle nenà správnÄ ze zmÃnÄných důvodů.
-Mnohem lepÅ¡Ãm se zdá odhad, že je datový tok úmÄrný Ätverci rozliÅ¡enÃ,
-takže 320x240 pÅi 400 kbit/sek by mÄlo být srovnatelné s 640x480
-pÅi 800 kbit/sek.
-Tato úmÄra vÅ¡ak nebyla ovÄÅena teoreticky ani empiricky.
-NavÃc, vezmeme-li v úvahu to, že se filmy velmi lišà šumem, poÄtem detailů,
-množstvÃm pohybu atd, je beznadÄjné vytvoÅit obecná doporuÄenà pro poÄet
-bitů na délku diagonály (analogie bitů na pixel, avÅ¡ak použÃvá plochu obrazu).
-</para>
-<para>
-Tolik k obtÞnosti volby datového toku a rozliÅ¡enÃ.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-<title>VýpoÄet rozliÅ¡enÃ</title>
-
-<para>
-NásledujÃcà kroky vás provedou výpoÄty rozliÅ¡enà výsledného filmu tak,
-abyste pÅÃliÅ¡ nesnÞili kvalitu videa s pÅihlédnutÃm k nÄkolika typům
-informacà o zdrojovém videu.
-NejdÅÃv byste si mÄli spoÄÃtat enkódovaný pomÄr stran:
-<systemitem>PSo = (Å o x (PSa / PRdvd )) / Vo</systemitem>
-
-<itemizedlist>
-<title>kde:</title>
-<listitem><para>
- Å o a Vo jsou Å¡ÃÅka a výška oÅezaného videa,
-</para></listitem>
-<listitem><para>
- PSa je zobrazovaný pomÄr stran, jež je obvykle 4/3 nebo 16/9,
-</para></listitem>
-<listitem><para>
- PRdvd je pomÄr pixelů v DVD, který je roven 1.25=(720/576) pro DVD
- v PALu a 1.5=(720/480) pro DVD v NTSC,
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Pak si můžete spoÄÃtat rozliÅ¡enà X a Y podle urÄitého
-faktoru kvality komprese (CQ):
-<systemitem>RozY = INT(SQRT( 1000*Datový_tok/25/PSo/CQ )/16) * 16</systemitem>
-a
-<systemitem>RozX = INT( RozY * PSo / 16) * 16</systemitem>
-</para>
-
-<para>
-DobÅe, ale co je CQ?
-CQ odpovÃdá poÄtu bitů na pixel a na snÃmek po zakódovánÃ. Jinými slovy, ÄÃm
-vyššà je CQ, tÃm nižšà je Å¡ance uvidÄt enkódovacà artefakty.
-Pokud ovÅ¡em máte cÃlový rozmÄr vaÅ¡eho filmu (1 nebo 2 CD napÅÃklad), máte jen
-omezené množstvà bitů, které můžete spotÅebovat; takže je nutné najÃt vhodný
-kompromis mezi komprimovatelnostà a kvalitou.
-</para>
-
-<para>
-CQ závisà na datovém toku, efektivitÄ video kodeku a na rozliÅ¡enà filmu.
-Abyste zvýšili CQ, obvykle zmenÅ¡Ãte daný film, takže je datový tok spoÄÃtán
-ve funkci cÃlové velikosti a délky filmu, které jsou konstantnÃ.
-S MPEG-4 ASP kodeky jako jsou <systemitem class="library">Xvid</systemitem>
-a <systemitem class="library">libavcodec</systemitem>, vede CQ pod 0.18
-obvykle k velmi ÄtvereÄkovanému obrázku, protože nenà dostatek bitů pro
-zakódovánà informacà každého makrobloku. (MPEG4, stejnÄ jako mnoho
-jiných kodeků seskupuje pixely do bloků pÅi komprimaci obrázku; pokud nenÃ
-dostatek bitů, jsou viditelné hranice tÄchto bloků.)
-Proto je rozumné volit CQ v rozmezà 0.20 až 0.22 pro rip na 1 CD a
-0.26 až 0.28 pro rip na 2 CD pÅi standardnÃch enkódovacÃch volbách.
-PokroÄilejšà volby podobné tÄm zmiÅovaným zde pro
-<link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
-a
-<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
-by mÄly umožnit dosaženà stejné kvality pÅi CQ v rozsahu od
-0.18 do 0.20 pro rip na 1 CD a 0.24 až 0.26 pro rip na 2 CD.
-S MPEG-4 ASP kodeky jako je <systemitem class="library">x264</systemitem>,
-můžete použÃt CQ v rozmezà 0.14 až 0.16 pÅi standardnÃch enkódovacÃch volbách
-a mÄli byste být schopni jÃt až na nÃzký od 0.10 do 0.12 s pokroÄilými
-<link linkend="menc-feat-x264-example-settings"><systemitem class="library">x264</systemitem> enkódovacÃmi volbami</link>.
-</para>
-
-<para>
-ProsÃme berte v potaz, že CQ je jen informaÄnà pomůcka závisejÃcà na
-enkódovaném obsahu. CQ okolo 0.18 může být dostateÄnÄ dobrý pro Bergmana,
-na rozdÃl od filmu jako je Matrix, který obsahuje mnoho rychlých scén.
-Na druhou stranu je zbyteÄné zvyÅ¡ovat CQ výš než 0.30, jelikož budete plýtvat
-bity za minimálnà zisk kvality.
-Také berte v potaz, jak jsme již Åekli, že videa s nÃzkým rozliÅ¡enÃm
-vyžadujà vyššà CQ (v porovnánà s napÅ. DVD rozliÅ¡enÃm), aby vypadala dobÅe.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>FiltrovánÃ</title>
-
-<para>
-NauÄit se použÃvat video filtry <application>MEncoder</application>u je
-základem pro produkci dobrých videÃ.
-VeÅ¡keré úpravy videa jsou provádÄny pomocà filtrů -- oÅezánÃ, Å¡kálovánÃ,
-úprava barev, odstranÄnà šumu, zaostÅenÃ, odstranÄnà prokladu, telecinovánÃ,
-inverznà telecine a deblokovánÃ, abychom jmenovali alespoÅ nÄkteré.
-Spolu s vyÄerpávajÃcÃm poÄtem podporovaných vstupnÃch formátů je nabÃdka
-dostupných filtrů v <application>MEncoder</application>u jednou z jeho
-hlavnÃch výhod oproti podobným aplikacÃm.
-</para>
-
-<para>
-Filtry jsou nahrávány v ÅadÄ za použità volby -vf :
-
-<screen>-vf filtr1=volby,filtr2=volby,...</screen>
-
-VÄtÅ¡ina filtrů pÅebÃrá nÄkolik ÄÃselných voleb oddÄlených dvojteÄkou, ale
-syntaxe voleb se lišà od filtru k filtru, takže si pÅeÄtÄte manuál
-pro vÃce informacà o filtru který chcete použÃt.
-</para>
-
-<para>
-Filtry zpracovávajà video v poÅadÃ, v jakém jsou naÄteny.
-NapÅÃklad následujÃcà Åada:
-
-<screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
-nejprve vyÅÃzne z obrázku oblast 688x464 s levým hornÃm rohem v bodÄ (12,4)
-a výsledek pak zmenšà na 640x464.
-</para>
-
-<para>
-UrÄité filtry potÅebujà být nahrány na zaÄátku, nebo co nejblÞ zaÄátku
-ÅetÄzu filtrů, aby mohly využÃvat informace z video dekodéru, které budou
-ztraceny nebo znehodnoceny ostatnÃmi filtry.
-NejdůležitÄjšà pÅÃklady jsou <option>pp</option> (postprocesing, pouze pokud
-provádà deblok nebo dering operace),
-<option>spp</option> (dalšà postprocesor pro odstranÄnà MPEG artefaktů),
-<option>pullup</option> (inverznà telecine) a
-<option>softpulldown</option> (pro konverzi soft telecine na hard
-telecine).
-</para>
-
-<para>
-VÅ¡eobecnÄ byste mÄli filtrovat co nejménÄ je to možné, abyste zůstali co
-nejblÞe DVD originálu. OÅezánà je Äasto nutné (vysvÄtleno výše), ale vyhnÄte
-se Å¡kálovánà videa. AÄkoli je zmenÅ¡enà obÄas preferováno pÅed použitÃm
-vyššÃch kvantizérů. My se musÃme vyvarovat obou tÄchto pÅÃpadů: pamatujte,
-že jsme se již na zaÄátku rozhodli obÄtovat bity za kvalitu.
-</para>
-
-<para>
-RovnÄž neupravujte gamu, kontrast, jas, atd. Co vypadá dobÅe na vaÅ¡Ã
-obrazovce, nemusà vypadat dobÅe na ostatnÃch. Tyto korekce by mÄly být
-provádÄny výhradnÄ pÅi pÅehrávánÃ.
-</para>
-
-<para>
-Jednu vÄc byste vÅ¡ak udÄlat mohli, a to protáhnout video velmi lehkým
-odÅ¡umovacÃm filtrem, jako je <option>-vf hqdn3d=2:1:2</option>.
-Zde je opÄt důvodem využità bitů k lepÅ¡Ãmu úÄelu: proÄ jimi plýtvat na
-enkódovánà šumu, když si můžete Å¡um pÅidat až pÅi pÅehrávánÃ?
-ZvýšenÃm parametrů pro <option>hqdn3d</option> dále zvýšà komprimovatelnost,
-ale pokud zvýšÃte hodnoty pÅÃliÅ¡, riskujete zhorÅ¡enà viditelnosti obrazu.
-Výše zmÃnÄné hodnoty (<option>2:1:2</option>) jsou dost konzervativnÃ;
-mÄli byste si zaexperimentovat s vyššÃmi hodnotami a zhodnotit výsledky sami.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>Prokládánà a Telecine</title>
-
-<para>
-TémÄÅ veÅ¡keré filmy jsou natáÄeny pÅi 24 snÃmcÃch/s. Jelikož NTSC má
-snÃmkovou rychlost 30000/1001 snÃmků/s, je tÅeba provést úpravu tÄchto
-24 snÃmků/s videÃ, aby mÄly správnou NTSC snÃmkovou rychlost. Tato úprava se
-jmenuje 3:2 pulldown a obecnÄ je známa jako telecine (protože je pulldown
-Äasto provádÄn bÄhem pÅenosu filmu na video) a, jednoduÅ¡e ÅeÄeno, pracuje tak,
-že se film zpomalà na 24000/1001 snÃmků/s a každý Ätvrtý snÃmek se zopakuje.
-</para>
-
-<para>
-Naopak žádné speciálnà úpravy se neprovádÄjà videu pro PAL DVD, která bÄžÃ
-pÅi 25 snÃmcÃch/s. (Technicky lze na PAL provést telecine, tzv. 2:2 pulldown,
-ale v praxi se nepoužÃvá.) Film s 24 snÃmky/s je jednoduÅ¡e pÅehráván rychlostÃ
-25 snÃmků/s. Výsledkem je, že video bÄžà o nÄco rychleji, ale pokud nejste
-vetÅelec, tak si rozdÃlu ani nevÅ¡imnete. VÄtÅ¡ina filmů má navÃc výškovÄ
-korigovaný zvuk, takže pÅi pÅehrávánà 25 snÃmků/s vÅ¡e znà jak má i pÅesto, že
-zvuk (a proto i celé video) má o 4% kratšà dobu pÅehrávánà než NTSC DVD.
-</para>
-
-<para>
-Jelikož video na PAL DVD nebylo upravováno, nemusÃte si dÄlat starosti s jeho
-snÃmkovou rychlostÃ. Zdroj má 25 snÃmků/s, váš rip také. Pokud ovÅ¡em ripujete
-NTSC DVD film, musÃte provést inverznà telecine.
-</para>
-
-<para>
-Filmy toÄené rychlostà 24 snÃmků/s jsou na NTSC DVD uloženy buÄ jako
-30000/1001 po telecine, nebo jako progresivnà (neprokládaný) se snÃmkovou
-24000/1001 snÃmků/s, na kterých by mÄl provést telecine DVD pÅehrávaÄ za letu.
-Nenà to ale zákon: nÄkteré TV série jsou prokládané (napÅ. Buffy Lovec upÃrů),
-zatÃmco jiné jsou porůznu neprokládané nebo prokládané (napÅ. AndÄl, nebo 24
-hodin).
-</para>
-
-<para>
-DoporuÄujeme, abyste si pÅeÄetli sekci o tom
-<link linkend="menc-feat-telecine">Jak si poradit s telecine a prokladem na NTSC DVD</link>
-a nauÄili se jak využÃt různé možnosti.
-</para>
-
-<para>
-Pokud ovÅ¡em vÄtÅ¡inou ripujete pouze filmy, nejspÃÅ¡ se setkáváte
-s neprokládaným nebo prokládaným videem 24 snÃmků/s. V tom pÅÃpadÄ můžete
-použÃt <option>pullup</option> filtr <option>-vf pullup,softskip</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>Enkódovánà prokládaného videa</title>
-
-<para>
-Pokud je film, který chcete enkódovat, prokládaný (NTSC video nebo
-PAL video), budete si muset vybrat, zda jej chcete "odproložit" nebo ne.
-ZatÃmco odstranÄnà prokladu uÄinà váš film použitelným na progresivnÄ
-vykreslovaných zobrazovaÄÃch jako jsou poÄÃtaÄové monitory a projektory.
-Cenou za to je, snÞenà rychlosti z 50 nebo 60000/1001 půlsnÃmků za sekundu
-na 25 nebo 30000/1001 snÃmků za sekundu a zhruba polovina informacà bude
-z vaÅ¡eho filmu ztracena ve scénách s významným množstvÃm pohybu.
-</para>
-
-<para>
-Proto pokud enkódujete ve vysoké kvalitÄ pro archivaÄnà úÄely, doporuÄujeme
-ponechat film prokládaný.
-Vždy můžete provést odstranÄnà prokladu pÅi pÅehrávánà pokud zobrazujete
-na progresivnÄ zobrazujÃcÃm zaÅÃzenÃ.
-Výkon souÄasných poÄÃtaÄů nutà pÅehrávaÄe použÃvat filtr prokladu, což
-působà mÃrnou degradaci kvality obrazu.
-Budoucà pÅehrávaÄe vÅ¡ak budou schopny napodobovat chovánà prokládané
-TV obrazovky, odstraÅovat proklad v plné půlsnÃmkové rychlosti a
-odvozovat 50 nebo 60000/1001 úplných snÃmků za sekundu z prokládaného videa.
-</para>
-
-<para>
-Když pracujete s prokládaným videem, musÃte zvláštÄ dbát na:
-</para>
-
-<orderedlist>
-<listitem><para>
- Výška a svislé odsazenà pro oÅezánà musà být násobkem 4.
-</para></listitem>
-<listitem><para>
- Jakékoli svislé škálovánà musà být provedeno v prokládaném režimu.
-</para></listitem>
-<listitem><para>
- Postprocesnà a odÅ¡umovacà filtry nemusà pracovat podle oÄekávánÃ,
- dokud nezaÅÃdÃte, aby zpracovávaly najednou pouze jeden půlsnÃmek a
- mohou vám poÅ¡kodit video pÅi nesprávném použitÃ.
-</para></listitem>
-</orderedlist>
-
-<para>
-S vÄdomÃm tÄchto souvislostà vám pÅedkládáme prvnà pÅÃklad:
-<screen>
-mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-PovÅ¡imnÄte si voleb <option>ilme</option> a <option>ildct</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>Poznámky k Audio/Video synchronizaci</title>
-
-<para>
-<application>MEncoder</application>ovy audio/video synchronizaÄnÃ
-algoritmy byly navrženy se zámÄrem obnovy souborů s vadnou synchronizacÃ.
-V nÄkterých pÅÃpadech vÅ¡ak můžou působit zbyteÄné zahazovánà a duplikaci snÃmků
-a možná mÃrnou A/V desynchronizaci pÅi použità s bezvadným vstupem
-(pÅirozenÄ tyto A/V synchronizaÄnà omezenà projevà pouze pokud kopÃrujete
-zvukovou stopu pÅi pÅekódovávánà videa, což je velmi doporuÄováno).
-Můžete vÅ¡ak pÅepnout do základnà A/V synchronizace s volbou
-<option>-mc 0</option>, nebo ji pÅidejte do svého konfiguraÄnÃho souboru
-<systemitem>~/.mplayer/mencoder</systemitem> config file, aspoÅ pokud pracujete
-pouze s kvalitnÃmi zdroji (DVD, zachytávaná TV, vysoce kvalitnà MPEG-4 ripy,
-atd) ale nikoli s vadnými ASF/RM/MOV soubory.
-</para>
-
-<para>
-Chcete-li si dále pohlÃdat podivné zahazovánà snÃmků a duplikaci, můžete použÃt
-<option>-mc 0</option> spolu s <option>-noskip</option>.
-To zamezà <emphasis>veÅ¡keré</emphasis> A/V synchronizaci a snÃmky se skopÃrujÃ
-jedna k jedné, takže to nelze použÃt ve spojenà s filtry, které v nestÅženém
-okamžiku pÅidajà nebo zahodà snÃmky, nebo pokud zdrojové video má promÄnnou
-snÃmkovou rychlost!
-V tom pÅÃpadÄ nenà použità <option>-noskip</option> obecnÄ doporuÄováno.
-</para>
-
-<para>
-O takzvaném "tÅÃprůchodovém" enkódovánà zvuku podporovaném
-<application>MEncoder</application>em bylo hlášeno, že způsobuje A/V
-desynchronizaci.
-To nastává tehdy, pokud je použito v kombinaci s nÄkterými filtry, takže
-<emphasis>nenÃ</emphasis> v tuto chvÃli doporuÄováno použÃvat tÅÃprůchodové
-enkódovánà zvuku.
-Tato vlastnost je zachována pouze z důvodu kompatibility a pro expertnÃ
-uživatele, kteÅà vÄdÃ, kdy je bezpeÄné ji použÃt a kdy ne.
-Pokud jste o tomto režimu nikdy pÅedtÃm neslyÅ¡eli, zapomÄÅte, že jsme se
-o nÄm vůbec zmÃnili!
-</para>
-
-<para>
-Existujà rovnÄž hlášenà o A/V desynchronizaci pÅi enkódovánà ze stdin
-<application>MEncoder</application>em.
-NedÄlejte to! Vždy použijte jako zdroj soubor nebo CD/DVD/atd zaÅÃzenÃ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>VýbÄr video kodeku</title>
-
-<para>
-VýbÄr vhodného video kodeku k použità závisà na nÄkolika faktorech,
-jako je velikost, kvalita, schopnost pÅehrávánà po sÃti, použitelnost nebo
-obliba, z nichž nÄkteré jsou ÄistÄ vÄcà osobnÃho vkusu, jiné závisÃ
-na technických omezenÃch.
-</para>
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">ÃÄinost komprimace</emphasis>:
- JednoduÅ¡e můžeme ÅÃct, že vÄtÅ¡ina kodeků novÄjšà generace je vytvoÅena
- tak, aby dosahovala vyššà kvality a komrimace než pÅedchozà generace.
- Proto se autoÅi této pÅÃruÄky a mnoho jiných lidÃ, domnÃvajà že
- neudÄláte chybu,
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
- BuÄte vÅ¡ak opartnÃ: Dekódovánà MPEG-4 AVC videa v DVD
- rozliÅ¡enà vyžaduje rychlý stroj (napÅ.Pentium 4 nad 1.5GHz, nebo
- Pentium M nad 1GHz).
- </para></footnote>
- když zvolÃte MPEG-4 AVC kodeky, jako
- <systemitem class="library">x264</systemitem> mÃsto MPEG-4 ASP kodeků
- jako jsou <systemitem class="library">libavcodec</systemitem> MPEG-4, nebo
- <systemitem class="library">Xvid</systemitem>.
- (PokroÄilé vývojáÅe kodeků by mohl zajÃmat názor Michaela Niedermayera na
- "<ulink url="http://guru.multimedia.cx/?p=10">proÄ mÄ Å¡tve MPEG4-ASP</ulink>".)
- PodobnÄ byste mÄli dosáhnout lepšà kvality použitÃm MPEG-4 ASP mÃsto
- MPEG-2 kodeků.
- </para>
-
- <para>
- NovÄjšà kodeky, které jsou v rozsáhlém vývoji, mohou obsahovat chyby,
- kterých si dosud nikdo nevÅ¡iml a které mohou zniÄit výsledek.
- To je daÅ za použità nejnovÄjšà technologie.
- </para>
-
- <para>
- NavÃc, v zaÄátku použÃvánà nového kodeku se budete muset strávit nÄjaký
- Äas seznámenÃm se s jeho volbami, abyste se dovÄdÄli co kde nastavit pro
- dosaženà požadované kvality obrazu.
- </para>
-</listitem>
-
- <listitem><para>
- <emphasis role="bold">Hardwarová kompatibilita</emphasis>:
- Obvykle trvá dlouhou dobu, než zaÄnou stolnà video pÅehrávaÄe podporovat
- nejnovÄjšà videokodeky. Výsledkem toho je, že vÄtÅ¡ina z nich podporuje
- pouze kodeky MPEG-1 (jako VCD, XVCD a KVCD), MPEG-2 (jako DVD, SVCD a KVCD)
- a MPEG-4 ASP (jako DivX,
- LMP4 z <systemitem class="library">libavcodec</systemitem>u a
- <systemitem class="library">Xvid</systemitem>)
- (Pozor: obvykle nejsou podporovány všechny vlastnosti (features) MPEG-4 ASP).
- NahlédnÄte prosÃm do technických specifikacà vaÅ¡eho pÅehrávaÄe (pokud jsou),
- nebo si vygooglete vÃce informacÃ.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Nejlepšà kvalita na enkódovacà Äas</emphasis>:
- Kodeky, které již jsou zde nÄjakou dobu (jako
- <systemitem class="library">libavcodec</systemitem> MPEG-4 a
- <systemitem class="library">Xvid</systemitem>), jsou obvykle vysoce
- optimalizovány všemi druhy chytrých algoritmů a SIMD assembly kódem.
- Proto majà snahu dosahovat nejlepšà pomÄr kvality na enkódovacà Äas.
- Mohou vÅ¡ak mÃt nÄkteré velmi pokroÄilé volby, které, pokud jsou zapnuty,
- velmi spomalà enkódovánà pÅi mizivém zisku.
- </para>
-
- <para>
- Pokud vám jde o rychlost, mÄli byste se držet výchozÃho nastavenÃ
- video kodeku (aÄkoli byste stejnÄ mÄli zkusit ostatnà volby
- zmÃnÄné v dalÅ¡Ãch Äástech této pÅÃruÄky).
- </para>
-
- <para>
- RovnÄž můžete zvážit použità kodeku, který umà vÃcevláknové zpracovánÃ,
- což je ovÅ¡em k nÄÄemu jen uživatelům vÃceprocesorových strojů.
- <systemitem class="library">libavcodec</systemitem> MPEG-4 to umožÅuje,
- ale nárůst rychlosti je omezený a dostanete nepatrnÄ ménÄ kvalitnà obraz.
- VÃcevláknový režim <systemitem class="library">Xvid</systemitem>, aktivovaný
- volbou <option>threads</option>, můžete využÃt ke zvýšenà rychlosti
- enkódovánà — obvykle o 40–60% — s velmi malým nebo žádným
- zhorÅ¡enÃm obrazu.
- <systemitem class="library">x264</systemitem> rovnÄž umožÅuje vÃcevláknové
- enkódovánÃ, které v souÄasnosti zrychluje enkódovánà asi o 94% na každé procesorové
- jádro, ale snÞuje PSNR o 0.05dB.
- </para>
-</listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Osobnà vkus</emphasis>:
- Zde jsme v rovinÄ témÄÅ iracionálnÃ: Ze stejného důvodu, pro který nÄkteÅÃ
- setrvávali léta u DivX 3 i když novÄjšà kodeky již dÄlaly zázraky,
- preferujà nÄkteÅà lidé <systemitem class="library">Xvid</systemitem>
- nebo <systemitem class="library">libavcodec</systemitem> MPEG-4 pÅed
- <systemitem class="library">x264</systemitem>.
- </para>
- <para>
- UdÄlejte si vlastnà úsudek a neposlouchejte lidi, kteÅà pÅÃsahajà na jediný
- kodek.
- UdÄlejte si nÄkolik vzorků ze surových zdrojů a porovnejte různé volby
- enkódovánà a kodeky, abyste nalezli ten, který vám vyhovuje nejlépe.
- Nejlepšà kodek je ten, který nejlépe
- ovládáte a který vypadá nejlépe na vašà obrazovce
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para>
- Stejný film nemusà vypadat stejnÄ na monitoru nÄkoho jiného, nebo
- když je pÅehráván jiným dekodérem, takže si provÄÅujte své výtvory
- pÅehrávánÃm na různých sestavách.
- </para></footnote>!
- </para>
-</listitem>
-</itemizedlist>
-
-<para>
-Seznam podporovaných kodeků najdete v sekci
-<link linkend="menc-feat-selecting-codec">výbÄr kodeků a nosných formátů</link>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>Zvuk</title>
-
-<para>
-Zvuk je mnohem jednoduššà problém k ÅeÅ¡enÃ: pokud prahnete po kvalitÄ, prostÄ
-jej nechte jak je.
-Dokonce i ACâ3 5.1 datové proudy majà nanejvýš 448Kbitů/s a stojà za každý bit.
-Možná jste v pokuÅ¡enà pÅevést zvuk do Ogg Vorbis pÅi vysoké kvalitÄ, ale jen
-proto, že dnes nemáte A/V receiver pro hardwarové dekódovánà ACâ3 neznamená,
-že jej nebudete mÃt zÃtra. PÅipravte své DVD ripy na budoucnost zachovánÃm
-ACâ3 datových proudů.
-Datový proud ACâ3 můžete zachovat buÄ jeho zkopÃrovánÃm pÅÃmo do video proudu
-<link linkend="menc-feat-mpeg4">bÄhem enkódovánÃ</link>.
-Také můžete extrahovat ACâ3 proud, abyste jej pak namixovali do nosiÄů jako je
-NUT nebo Matroska.
-<screen>
-mplayer <replaceable>zdrojový_soubor.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>zvuk.ac3</replaceable>
-</screen>
-vytáhne do souboru <replaceable>zvuk.ac3</replaceable> zvukovou stopu
-ÄÃslo 129 ze souboru <replaceable>zdrojový_soubor.vob</replaceable> (NB: DVD
-VOB soubory obvykle použÃvajà odliÅ¡né ÄÃslovánà audia,
-což znamená, že VOB zvuková stopa 129 je druhou zvukovou stopou v souboru).
-</para>
-
-<para>
-NÄkdy ovÅ¡em opravdu nemáte jinou možnost než dále komprimovat zvuk, aby vám
-zbylo vÃce bitů na video.
-VÄtÅ¡ina lidà volà komprimaci buÄ pomocà MP3 nebo Vorbis audio kodeků.
-ZatÃmco ten druhý je efektivnÄjšà z prostorového hlediska, MP3 je lépe
-podporován hardwarovými pÅehrávaÄi, aÄkoli Äasy se mÄnÃ.
-</para>
-
-<para>
-<emphasis>NepoužÃvejte</emphasis> <option>-nosound</option>, enkódujete-li
-soubor se zvukem, dokonce i v tom pÅÃpadÄ, že budete enkódovat a muxovat
-zvuk samostatnÄ pozdÄji.
-AÄkoli to může v ideálnÃm pÅÃpadÄ fungovat, použità <option>-nosound</option>
-spÃÅ¡e skryje urÄité problémy v nastavenÃch enkódovánà na pÅÃkazovém Åádku.
-Jinými slovy vám pÅÃtomnost zvukové stopy zajistÃ, pokud neuvidÃte
-hlášky typu
-<quote>PÅÃliÅ¡ mnoho audio paketů ve vyrovnávacà pamÄti</quote>, že budete
-schopni dosáhnout správné synchronizace.
-</para>
-
-<para>
-MusÃte nechat <application>MEncoder</application> zpracovat zvuk.
-Můžete napÅÃklad skopÃrovat originálnà zvukovou stopu bÄhem enkódovánÃ
-pomocà <option>-oac copy</option>, nebo jej pÅevést na "tenký" 4 kHz mono WAV
-PCM pomocà <option>-oac pcm -channels 1 -srate 4000</option>.
-Jinak v nÄkterých pÅÃpadech vytvoÅÃte video soubor, který nebude synchronnÃ
-se zvukem.
-Tyto pÅÃpady nastávajà tehdy, když poÄet videosnÃmků ve zdroji neodpovÃdá
-celkové délce zvukových vzorků, nebo pokud je zvuk pÅeruÅ¡ovaný Äi pÅekrývaný
-dÃky chybÄjÃcÃm Äi nadbývajÃcÃm audio vzorkům.
-Správným způsobem jak toto ÅeÅ¡it, je vloženà ticha nebo odstÅiženà zvuku na
-tÄchto mÃstech.
-<application>MPlayer</application> to vÅ¡ak neumÃ, takže pokud demuxujete
-ACâ3 zvuk a enkódujete jej zvláštnà aplikacà (nebo jej dumpnete do PCM
-<application>MPlayer</application>em), zůstanou zmÃnÄné vady jak jsou a
-jediný způsob jak je opravit je zahodit/namnožit video snÃmky v tÄchto
-mÃstech.
-Dokud <application>MEncoder</application> sleduje zvuk pÅi enkódovánÃ
-videa, může provádÄt toto zahazovánÃ/duplikovánà (což je obvykle OK,
-jelikož nastává pÅi Äerné obrazovce/zmÄnÄ scény), ale pokud
-<application>MEncoder</application> nevidà zvuk, zpracuje snÃmky jak jsou
-a ty pak nepasujà na koneÄnou zvukovou stopu když napÅÃklad spojÃte svou
-video a zvukovou stopu do Matroska souboru.
-</para>
-
-<para>
-NejdÅÃve ze vÅ¡eho budete muset pÅevést DVD zvuk do WAV souboru, který pak
-použije zvukový kodek jako vstup.
-NapÅÃklad:
-<screen>
-mplayer <replaceable>zdrojový_soubor.vob</replaceable> -ao pcm:file=<replaceable>výsledný_zvuk.wav</replaceable> \
- -vc dummy -aid 1 -vo null
-</screen>
-vylije druhou zvukovou stopu ze souboru
-<replaceable>zdrojový_soubor.vob</replaceable> do souboru
-<replaceable>výsledný_zvuk.wav</replaceable>.
-MÄli byste normalizovat zvuk pÅed enkódovánÃm, protože DVD zvukové stopy jsou
-obvykle nahrávány pÅi nÃzkých hlasitostech.
-Můžete napÅÃklad použÃt nástroj <application>normalize</application>, který je
-k dispozici ve vÄtÅ¡inÄ distribucÃ.
-Pokud použÃváte Windows, stejnou práci udÄlá nástroj jako
-<application>BeSweet</application>.
-Komprimovat budete buÄ ve Vorbisu nebo MP3.
-NapÅÃklad:
-<screen>oggenc -q1 <replaceable>cÃlový_zvuk.wav</replaceable></screen>
-provede enkódovánà <replaceable>cÃlového_zvuku.wav</replaceable> s kvalitou 1,
-která pÅibližnÄ odpovÃdá 80Kb/s a je to minimálnà kvalita na kterou byste mÄli
-enkódovat, pokud vám záležà na kvalitÄ.
-Poznamenejme, že <application>MEncoder</application> v souÄasnosti neumÃ
-muxovat Vorbis zvukové stopy do výstupnÃho souboru, protože podporuje pouze
-AVI a MPEG kontejnery jako výstup. Pro oba platÃ, že nÄkteré pÅehrávaÄe mohou
-mÃt problémy s udrženÃm audio/video synchronizace, pokud je pÅÃtomen VBR zvuk
-jako je Vorbis.
-NemÄjte obavy, v tomto dokumentu vám ukážeme, jak to lze udÄlat pomocÃ
-programů tÅetÃch stran.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>Muxovánà (multiplexovánÃ)</title>
-
-<para>
-NynÃ, když máte své video enkódované, budete jej nejspÃÅ¡ chtÃt muxovat
-s jednou nebo vÃce zvukovými stopami do nosného filmového formátu, jako je
-AVI, MPEG, Matroska nebo NUT.
-<application>MEncoder</application> je zatÃm schopen nativnÄ zapracovat
-zvuk a video pouze do nosných formátů MPEG a AVI.
-NapÅÃklad:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>výstupnÃ_film.avi</replaceable> \
- -audiofile <replaceable>vstupnÃ_audio.mp2</replaceable> <replaceable>vstupnÃ_video.avi</replaceable>
-</screen>
-To by mÄlo slouÄit video soubor <replaceable>vstupnÃ_video.avi</replaceable>
-a zvukový soubor <replaceable>vstupnÃ_audio.mp2</replaceable>
-do AVI souboru <replaceable>výstupnÃ_film.avi</replaceable>.
-Tento pÅÃkaz pracuje s MPEG-1 layer I, II a III (známým jako MP3) zvukem,
-WAV a také nÄkolika dalÅ¡Ãmi formáty zvuku.
-</para>
-
-<para>
-<application>MEncoder</application> obsahuje experimentálnà podporu pro
-<systemitem class="library">libavformat</systemitem>, což je knihovna
-z projektu FFmpeg, která podporuje muxovánà a demuxovánà celé Åady nosných
-formátů.
-NapÅÃklad:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>výstupnÃ_film.asf</replaceable> -audiofile <replaceable>vstupnÃ_audio.mp2</replaceable> \
- <replaceable>vstupnÃ_video.avi</replaceable> -of lavf -lavfopts format=asf
-</screen>
-To provede stejnou Äinnost jako pÅedchozà pÅÃklad, avÅ¡ak výstupnÃm formátem
-bude ASF.
-ProsÃm berte na vÄdomÃ, že tato podpora je velmi experimentálnà (ale den ode
-dne lepÅ¡Ã) a bude funkÄnà pouze pokud jste zkompilovali
-<application>MPlayer</application> s podporou pro
-<systemitem class="library">libavformat</systemitem> (což znamená, že
-pÅedkompilovaná binárnà verze nebude vÄtÅ¡inou fungovat).
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>Zlepšovánà spolehlivosti muxovánà a A/V synchronizace</title>
-
-<para>
-Můžete se dostat do vážných problémů s A/V sychronizacÃ, pokud se snažÃte
-muxovat video a nÄkteré zvukové stopy, kdy bez ohledu na nastavenà zpoždÄnÃ
-zvuku nedosáhnete správné synchronizace.
-To může nastat, pokud použijete nÄkteré video filtry, které zahodà nebo
-zdvojà nÄkteré snÃmky, jako jsou filtry pro inverzi telecine.
-Velmi doporuÄujeme pÅidat videofiltr <option>harddup</option> na samý konec
-ÅetÄzu videofiltrů pro potlaÄenà tohoto problému.
-</para>
-
-<para>
-Bez <option>harddup</option>, pokud chce <application>MEncoder</application>
-duplikovat snÃmek, závisà na muxeru, aby vložil znaÄku do nosiÄe, takže
-bude poslednà snÃmek zobrazen znovu, aby se dosáhlo synchronizace, pÅiÄemž
-se nezapÃÅ¡e žádný snÃmek.
-S <option>harddup</option>, <application>MEncoder</application>
-pustà poslednà zobrazený snÃmek znovu do ÅetÄzu filtrů.
-To znamená, že enkodér obdržà stejný snÃmek dvakrát a comprimuje ho.
-To povede k o nÄco vÄtÅ¡Ãmu souboru, ale nezpůsobà problémy pÅi demuxovánÃ
-nebo remuxovánà do jiného nosného formátu.
-</para>
-
-<para>
-RovnÄž nemáte jinou možnost než použÃt <option>harddup</option> s tÄmi
-nosnými formáty, které nejsou tÄsnÄ spjaty s
-<application>MEncoder</application>em, jako jsou ty, které jsou podporovány
-pÅes <systemitem class="library">libavformat</systemitem>, které nemusÃ
-podporovat duplikaci na úrovni nosného formátu.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>Limitace nosného formátu AVI</title>
-
-<para>
-AÄkoli je to po MPEG-1 nejpodporovanÄjšà nosný formát, má AVI i jisté
-zásadnà nedostatky. Snad nejviditelnÄjšà je režie.
-Na každý chunk AVI souboru je 24 bajtů ztraceno na hlaviÄky a index.
-To se projevà asi 5 MB na hodinu, neboli 1-2.5% prodlouženà 700 MB filmu.
-Nevypadá to jako mnoho, ale může to znamenat rozdÃl mezi možnostà použÃt
-video pÅi 700 kbitech/s nebo 714 kbitech/s a tady se každý bit projevà na
-kvalitÄ.
-</para>
-
-<para>
-NavÃc k této neefektivitÄ má AVI také následujÃcà hlavnà omezenÃ:
-</para>
-
-<orderedlist>
-<listitem><para>
- Může být uchováván pouze obsah s konstantnà snÃmkovou rychlostÃ. To je
- zvláštÄ omezujÃcÃ, když má původnà materiál, který chcete enkódovat, smÃÅ¡ený
- obsah. NapÅÃklad smÄs NTSC videa a filmového materiálu.
- JistÄže jsou zde cestiÄky, které umožnà uložit obsah se smÃÅ¡enou snÃmkovou
- rychlostà v AVI, ale ty zvyÅ¡ujà (již tak velkou) režii pÄtinásobnÄ nebo vÃc,
- proto nejsou praktické.
-</para></listitem>
-<listitem><para>
- Zvuk v AVI musà mÃt buÄ konstantnà datový tok (CBR) nebo konstantnà velikost
- rámce (Äili vÅ¡echny rámce se dekódujà na stejný poÄet vzorků).
- NaneÅ¡tÄstà ten nejefektivnÄjšà kodek, Vorbis, nesplÅuje ani jeden z tÄchto
- požadavků.
- Pokud tedy plánujete uložit svůj film do AVI, budete muset použÃt ménÄ
- efektivnà kodek, jako MP3 nebo ACâ3.
-</para></listitem>
-</orderedlist>
-
-<para>
-Z výše uvedených důvodů <application>MEncoder</application> zatÃm
-nepodporuje promÄnnou snÃmkovou rychlost ani enkódovánà Vorbis.
-NemusÃte to vÅ¡ak považovat za omezenÃ, jestliže je
-<application>MEncoder</application> jediným nástrojem pro vaše
-enkódovánÃ. Nakonec je možné použÃt <application>MEncoder</application>
-pouze pro enkódovánà videa a pak použÃt externà nástroje pro enkódovánÃ
-zvuku a namuxovánà do jiného nosného formátu.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>Muxovánà do nosného formátu Matroska</title>
-
-<para>
-Matroska je svobodný a otevÅený standard nosného formátu, zamÄÅený na
-nabÃdku mnoha pokroÄilých vlastnostÃ, které staršà nosné formáty, jako AVI,
-nemohou poskytnout.
-NapÅÃklad Matroska podporuje zvuk s promÄnným datovým tokem (VBR),
-promÄnné snÃmkové rychlosti (VFR), kapitoly, pÅÃlohy souborů, kód pro
-detekci chyb (EDC) a modernà A/V kodeky jako "Advanced Audio
-Coding" (AAC), "Vorbis" nebo "MPEG-4 AVC" (H.264), z nichž žádný nelze
-použÃt v AVI.
-</para>
-
-<para>
-Nástroje pro vytváÅenà Matroska souborů jsou souhrnnÄ nazvány
-<application>mkvtoolnix</application> a jsou dostupné pro vÄtÅ¡inu Unixových
-platforem a stejnÄ tak <application>Windows</application>.
-Protože je Matroska otevÅený standard, můžete najÃt jiné nástroje, které vám
-lépe padnou, ale protože mkvtoolnix je nejrozÅ¡ÃÅenÄjšà a je podporován
-pÅÃmo Matroska týmem, pokryjeme jen jejich použitÃ.
-</para>
-
-<para>
-Asi nejsnazšà způsob, jak zaÄÃt s Matroskou je použÃt
-<application>MMG</application>, grafickou nadstavbu dodávanou s
-<application>mkvtoolnix</application> a ÅÃdit se
-<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">návodem k mkvmerge GUI (mmg)</ulink>
-</para>
-
-<para>
-Můžete rovnÄž muxovat zvukové a video soubory z pÅÃkazového Åádku:
-<screen>
-mkvmerge -o <replaceable>výstup.mkv</replaceable> <replaceable>vstupnÃ_video.avi</replaceable> <replaceable>vstupnÃ_audio1.mp3</replaceable> <replaceable>vstupnÃ_audio2.ac3</replaceable>
-</screen>
-To spojà video soubor <replaceable>vstupnÃ_video.avi</replaceable>
-a dva zvukové soubory <replaceable>vstupnÃ_audio1.mp3</replaceable>
-a <replaceable>vstupnÃ_audio2.ac3</replaceable> do Matroska souboru
-<replaceable>výstup.mkv</replaceable>.
-Matroska, jak jsme již Åekli, umà mnohem vÃc než to, jako vÃce zvukových stop
-(vÄetnÄ doladÄnà audio/video synchronizace), kapitoly, titulky, stÅÃhánÃ,
-atd...
-Detaily naleznete v dokumentaci k tÄmto aplikacÃm.
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-telecine">
-<title>Jak naložit s telecine a prokladem v NTSC DVD</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>PÅedstavenÃ</title>
-
-<formalpara>
-<title>Co je to telecine?</title>
-<para>
-Pokud moc nerozumÃte tomu, co je napsáno v tomto dokumentu,
-pÅeÄtÄte si
-<ulink url="http://en.wikipedia.org/wiki/Telecine">Älánek na Wikipedii</ulink>.
-Je to srozumitelný a rozumnÄ vyÄerpávajÃcà popis co je to
-telecine.
-</para></formalpara>
-
-<formalpara>
-<title>Poznámka k ÄÃslům.</title>
-<para>
-Mnoho dokumentů, vÄetnÄ výše odkazované pÅÃruÄky, udává hodnotu půlsnÃmků za
-sekundu NTSC videa jako 59.94 a odpovÃdajÃcà snÃmky za sekundu jako 29.97
-(pro telecinované a prokládané video) a 23.976 (pro neprokládané).
-Pro jednoduchost nÄkteré dokumenty zaokrouhlujà tyto hodnoty na 60, 30 a 24.
-</para></formalpara>
-
-<para>
-PÅesnÄ ÅeÄeno jsou vÅ¡echna tato ÄÃsla pÅibližná. ÄernobÃlé NTSC video mÄlo
-pÅesnÄ 60 půlsnÃmků za sekundu, ale pozdÄji byla zvolena hodnota 60000/1001,
-aby bylo možné pÅidat barevná data a zůstat kompatibilnà se starými
-ÄernobÃlými televizemi. Digitálnà NTSC (napÅ. na DVD) má rovnÄž rychlost
-60000/1001 půlsnÃmků za sekundu. Z toho vyplývá, že prokládané a telecinované
-video má 30000/1001 snÃmků za sekundu; neprokládané video má 24000/1001 snÃmků
-za sekundu.
-</para>
-
-<para>
-Staršà verze dokumentace <application>MEncoder</application>u a mnoho zpráv
-v archivu konference hovoÅÃ o 59.94, 29.97 a 23.976.
-Všechna dokumentace <application>MEncoder</application>u byla aktualizována
-a použÃvá zlomkových hodnot. Vy byste je mÄli použÃvat také.
-</para>
-
-<para>
-<option>-ofps 23.976</option> je nesprávnÄ.
-MÃsto toho byste mÄli použÃt <option>-ofps 24000/1001</option>.
-</para>
-
-<formalpara>
-<title>Jak je použÃváno telecine.</title>
-<para>
-VeÅ¡keré video urÄené k zobrazenà na NTSC televizi musà mÃt 60000/1001
-půlsnÃmků za sekundu. Filmy vyrábÄné pro televizi jsou Äasto natáÄeny pÅÃmo
-ve 60000/1001 půlsnÃmcÃch za sekundu, ale vÄtÅ¡ina filmů do kin je natáÄena pÅi
-24 nebo 24000/1001 snÃmcÃch za sekundu. Když je film pÅepisován na DVD, je
-video upraveno pro televizi v procesu zvaném telecine.
-</para></formalpara>
-
-<para>
-Na DVD nenà video ve skuteÄnosti nikdy uloženo v 60000/1001 půlsnÃmcÃch za
-sekundu. Video jež bylo původnÄ 60000/1001, bude mÃt každý pár půlsnÃmků
-zkombinován do podoby snÃmku s rychlostà 30000/1001 snÃmků za sekundu.
-Hardwarové DVD pÅehrávaÄe pak Ätou pÅÃznak, zabudovaný ve video proudu, který
-udává jestli prvnà půlsnÃmek tvoÅà liché nebo sudé Åádky.
-</para>
-
-<para>
-Obsah ve 24000/1001 snÃmcÃch za sekundu obvykle zůstává tak jak byl v dobÄ
-pÅepisu na DVD a DVD pÅehrávaÄ musà provést telecine za letu. NÄkdy je vÅ¡ak
-video telecinováno <emphasis>pÅed</emphasis> uloženÃm na DVD; dokonce i když
-mÄlo původnÄ 24000/1001 snÃmků za sekundu, bude mÃt 60000/1001 půlsnÃmků za
-sekundu. Pokud je uložen na DVD, páry půlsnÃmků jsou zkombinovány do formy
-30000/1001 snÃmků za sekundu.
-</para>
-
-<para>
-Když se podÃváme na jednotlivé snÃmky vzniklé z videa o 60000/1001 půlsnÃmcÃch
-za sekundu, telecinovaného nebo ne, je zÅetelnÄ vidÄt toto prokládánà jakmile
-je zde nÄjaký pohyb, jelikož jeden půlsnÃmek (ÅeknÄme liché Åádky)
-reprezentuje Äasový okamžik o 1/(60000/1001) sekundy pozdÄjšà než ten druhý.
-PÅehrávánà prokládaného videa na poÄÃtaÄi vypadá Å¡karedÄ jak proto, že monitor
-má vyššà rozliÅ¡enÃ, ale i proto, že video je zobrazováno snÃmek po snÃmku mÃsto
-půlsnÃmek po půlsnÃmku.
-</para>
-
-<itemizedlist>
-<title>Poznámky:</title>
-<listitem><para>
- Tento odstavec platà pouze pro NTSC DVD, nikoli PAL.
-</para></listitem>
-<listitem><para>
- Åádky s pÅÃklady spuÅ¡tÄnà <application>MEncoder</application>u v dokumentu
- <emphasis role="bold">nejsou</emphasis> urÄeny pro opravdové použitÃ.
- Obsahujà pouze nutné minimum vyžadované pro enkódovánà pÅÃsluÅ¡né ke kategorii
- videa. Jak dÄlat dobré DVD ripy nebo doladit
- <systemitem class="library">libavcodec</systemitem> pro maximálnà kvalitu
- nenà v zábÄru tohoto dokumentu.
-</para></listitem>
-<listitem><para>
- Poznámky pod Äarou pÅÃsluÅ¡né pro tuto pÅÃruÄku jsou linkovány takto:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-ident">
-<title>Jak zjistit o jaký typ videa se jedná</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>Progresivnà (neprokládané)</title>
-
-<para>
-Progresivnà video je původnÄ natoÄeno pÅi 24000/1001 snÃmcÃch za sekundu a
-uloženo na DVD beze zmÄn.
-</para>
-
-<para>
-Když pÅehrajete progresivnà DVD v <application>MPlayer</application>u,
-<application>MPlayer</application> vypÃÅ¡e následujÃcà Åádek jakmile zaÄne
-pÅehrávat:
-<screen>
-demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
-</screen>
-Od tohoto okamžiku by demux_mpg nemÄl nikdy ÅÃct že naÅ¡el
-"30000/1001 fps NTSC obsah"
-</para>
-
-<para>
-Když sledujete progresivnà video, nemÄli byste nikdy vidÄt žádný proklad.
-Dejte si ale pozor, jelikož je obÄas troÅ¡ku telecine namixováno tam, kde byste
-to vůbec neÄekali. Setkal jsem se s TV show na DVD, které mÄly sekundu
-telecine pÅi každé zmÄnÄ scény nebo na zcela náhodných mÃstech. Jednou jsem se
-dÃval na DVD, které bylo do půlky progresivnà a od půlky telecinováno. Pokud
-chcete být <emphasis>opravdu</emphasis> důkladnÃ, můžete oskenovat celý film:
-<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-Použità volby <option>-benchmark</option> nechá
-<application>MPlayer</application> pÅehrát film tak rychle, jak je to jen
-možné; stejnÄ to ale, podle výkonu hardware, chvÃli potrvá.
-Vždy, když demux_mpg ohlásà zmÄnu snÃmkové rychlosti, Åádek tÄsnÄ nad hlášenÃm
-ukáže Äas ve kterém ke zmÄnÄ doÅ¡lo.
-</para>
-
-<para>
-ObÄas je progresivnà video na DVD oznaÄeno jako
-"soft-telecine" protože je zamýšleno, aby telecine provedl DVD
-pÅehrávaÄ.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Telecinováno (pÅepsáno pro NTSC televizi)</title>
-
-<para>
-Telecinované video bylo původnÄ natoÄeno pÅi 24000/1001, ale bylo telecinováno
-<emphasis>pÅed</emphasis> zápisem na DVD.
-</para>
-
-<para>
-<application>MPlayer</application> (nikdy) nehlásà žádnou zmÄnu snÃmkové
-rychlosti, když pÅehrává telecinované video.
-</para>
-
-<para>
-PÅi sledovánà telecinovaného videa uvidÃte prokladové artefakty, které jako by
-"blikaly": opakovanÄ mizà a objevujà se.
-BlÞe se na to můžete podÃvat:
-<orderedlist>
-<listitem>
-<screen>mplayer dvd://1</screen>
-</listitem>
-<listitem><para>
- PÅeviÅte na Äást s pohybem.
-</para></listitem>
-<listitem><para>
- Použijte klávesu <keycap>.</keycap> pro krokovánà po jednom snÃmku.
-</para></listitem>
-<listitem><para>
- Sledujte vzor prokládanÄ vypadajÃcÃch a progresivnÄ vypadajÃcÃch snÃmků.
- Pokud je vzor, který sledujete PPPII,PPPII,PPPII,..., pak je video
- telecinováno. Pokud vidÃte jiný vzor, pak mohlo být video telecinováno
- použitÃm nÄjaké nestandardnà metody; <application>MEncoder</application>
- neumà bezztrátovÄ pÅevést nestandardnà telecine do progresivnÃho. Pokud
- nevidÃte žádný vzor, pak je video nejspÃÅ¡ prokládané.
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-NÄkdy je telecinované video na DVD oznaÄeno jako "hard-telecine".
-Jelikož hard-telecine již je ve 60000/1001 půlsnÃmcÃch za sekundu, DVD
-pÅehrávaÄ pÅehraje video bez jakýchkoli manipulacÃ.
-</para>
-
-<para>
-DalÅ¡Ãm způsobem jak zjistÃte, že je váš zdroj telecinován, je pÅehrát
-jej s volbami <option>-vf pullup</option> a <option>-v</option> a
-uvidÃte, jak <option>pullup</option> nacházà vzor.
-Pokud je zdroj telecinován, mÄlibyste vidÄt na konzoli vzor 3:2 s opakujÃcÃm
-se <systemitem>0+.1.+2</systemitem> a <systemitem>0++1</systemitem>.
-Tato technika má tu výhodu, že nemusÃte sledovat zdroj, abyste jej
-identifikovali, což se může hodit, pokud chcete automatizovat enkódovacÃ
-proceduru, nebo ji provést vzdálenÄ pÅes pomalou linku.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Prokládané</title>
-
-<para>
-Prokládané video bylo od samého zaÄátku filmováno pÅi 60000/1001 půlsnÃmcÃch
-za sekundu a uloženo na DVD ve 30000/1001 snÃmcÃch za sekundu. Efekt
-prokládánà (Äasto oznaÄovaný jako "roztÅepenÃ") je výsledkem
-skládánà půlsnÃmků do snÃmků. Vzdálenost mezi půlsnÃmky má být 1/(60000/1001)
-sekundy a proto když jsou zobrazeny souÄasnÄ, je rozdÃl jasnÄ patrný.
-</para>
-
-<para>
-StejnÄ jako u telecinovaného videa by <application>MPlayer</application> nemÄl
-hlásit jakékoli zmÄny snÃmkové rychlosti pÅi pÅehrávánà prokládaného obsahu.
-</para>
-
-<para>
-Když si prohlédnete video blÞe pomocà krokovánà snÃmků pomocà klávesy
-<keycap>.</keycap>, uvidÃte, že každý jednotlivý snÃmek je prokládaný.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>SmÃÅ¡ené progresivnà a telecinované</title>
-
-<para>
-VeÅ¡kerý obsah "smÃÅ¡eného progresivnÃho a telecinovaného" videa mÄl
-původnÄ 24000/1001 snÃmků za sekundu, ale nÄkteré Äásti proÅ¡ly telecine.
-</para>
-
-<para>
-Když <application>MPlayer</application> pÅehrává tuto kategorii, bude
-(Äastoi opakovanÄ) pÅepÃnat mezi "30000/1001 snÃmky/s NTSC"
-a "24000/1001 snÃmky/s progresivnÃm NTSC". Sledujte spodek
-<application>MPlayer</application>ova výstupu, abyste zachytili tyto zprávy.
-</para>
-
-<para>
-MÄli byste provÄÅit Äásti se "30000/1001 snÃmky/s NTSC", abyste mÄli
-jistotu, že jsou skuteÄnÄ telecinovány a ne jen prokládané.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>SmÃÅ¡ené progresivnà a prokládané</title>
-
-<para>
-Ve "smÃÅ¡eném progresivnÃm a prokládaném" obsahu bylo progresivnà a
-prokládané video splácáno dohromady.
-</para>
-
-<para>
-Tato kategorie vypadá jako "smÃÅ¡ené progresivnà a telecine",
-dokud si neprohlédnete Äásti se 30000/1001 snÃmky/s a neuvidÃte, že nemajÃ
-telecine vzor.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-encode">
-<title>Jak enkódovat jednotlivé kategorie</title>
-<para>
-Jak jsem se zmÃnil na zaÄátku, pÅÃklady pÅÃkazových Åádků
-<application>MEncoder</application>u nÞe <emphasis role="bold">nejsou</emphasis>
-urÄeny pro praktické použitÃ; pouze demonstrujÃ, minimum voleb nutných k tomu,
-abyste správnÄ enkódovali každou kategorii.
-</para>
-
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>ProgresivnÃ</title>
-<para>
-Progresivnà video nevyžaduje žádné speciálnà filtrovánà pro enkódovánÃ.
-Jediná volba, která by urÄitÄ nemÄla chybÄt je
-<option>-ofps 24000/1001</option>. Jinak se <application>MEncoder</application>
-pokusà enkódovat pÅi 30000/1001 snÃmcÃch/s a bude opakovat snÃmky.
-</para>
-
-<para>
-<screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
-Äasto se stává, že video, které vypadá progresivnÄ, má v sobÄ zamÃchány
-kratiÄké telecinované Äásti. Pokud si nejste jisti, je nejbezpeÄnÄjÅ¡Ã
-považovat video za
-<link linkend="menc-feat-telecine-encode-mixedpt">smÃÅ¡ené progresivnà a
-telecinované</link>. Ztráta výkonu je jen malá
-<link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Telecinované</title>
-
-<para>
-Telecine lze obrátit a dostat tak původnà 24000/1001 obsah, za použità metody
-zvané inverznà telecine.
-<application>MPlayer</application> má nÄkolik filtrů právÄ pro tuto Äinnost;
-nejlepšà z tÄchto filtrů, <option>pullup</option>, je popsán v Äásti
-<link linkend="menc-feat-telecine-encode-mixedpt">smÃÅ¡ené progresivnà a
-telecinované</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Prokládané</title>
-
-<para>
-V praxi nenà vÄtÅ¡inou možné dostat kompletnà progresivnà video z prokládaného
-obsahu. Jediný způsob jak to udÄlat bez ztráty poloviny svislého rozliÅ¡enà je
-zdvojenÃm snÃmkové rychlosti a zkusit "odhadnout" co mám provést
-s odpovÃdajÃcÃmi linkami každého z půlsnÃmků (má to ovÅ¡em i nevýhody –
-viz metoda 3).
-</para>
-
-<orderedlist>
-<listitem><para>
- Enkódujte video v prokládané formÄ. Obvykle prokládánà způsobà tÄžkou újmu
- schopnosti enkodéru dobÅe komprimovat, ale
- <systemitem class="library">libavcodec</systemitem> má dvÄ volby urÄené právÄ
- pro lepšà ukládánà prokládaného videa: <option> ildct</option> a
- <option>ilme</option>. RovnÄž velmi doporuÄujeme použità volby
- <option>mbd=2</option> <link linkend="menc-feat-telecine-footnotes">[2] </link>
- protože bude enkódovat makrobloky jako neprokládané tam, kde nenà žádný pohyb.
- Volba <option>-ofps</option> zde <emphasis role="bold">nenÃ</emphasis> nutná.
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
-</para></listitem>
-<listitem><para>
- Použijte filtr odstraÅujÃcà proklad pÅed enkódovánÃm. Je jich zde nÄkolik,
- můžete si vybrat. Každý z nich má svá pro i proti. ProhlédnÄte si výstup
- <option>mplayer -pphelp</option> a <option>mplayer -vf help</option>
- abyste zjistili, které jsou k dispozici
- (grep pro "deint"), pÅeÄtÄte si
- <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink> od Michaela Niedermayera
- a vyhledejte
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
- e-mailové konference MPlayeru</ulink>, kde naleznete mnoho diskusà o různých
- filtrech.
- SnÃmková rychlost se ani zde nemÄnÃ, takže žádné
- <option>-ofps</option>. OdstranÄnà proklady by rovnÄž mÄlo být provedeno po
- oÅezánà <link linkend="menc-feat-telecine-footnotes">[1]</link>, ale pÅed
- Å¡kálovánÃm.
- <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
- </para></listitem>
-<listitem><para>
- NaneÅ¡tÄstà je tato volba vadná v <application>MEncoder</application>u;
- mÄla by dobÅe pracovat v <application>MEncoder G2</application>, ale ten tu
- zatÃm nenÃ. StejnÄ je urÄenÃm <option> -vf tfields</option> vytvoÅenÃ
- kompletnÃho snÃmku z každého půlsnÃmku, což zvýšà snÃmkovou rychlost na
- 60000/1001. Výhoda tohoto pÅÃstupu je v tom, že nepÅijdete o žádná data;
- Protože vÅ¡ak každý snÃmek pocházà jen z jediného půlsnÃmku, musà být chybÄjÃcÃ
- linky nÄjak dopoÄÃtány. Neexistuje mnoho dobrých metod, generujÃcÃch chybÄjÃcÃ
- data, takže výsledek bude trochu podobný tomu, když se použije nÄkterý filtr
- odstraÅujÃcà proklad.
- GenerovánÃm chybÄjÃcÃch linek vznikajà dalšà problémy tÃm, že se zdvojnásobÃ
- množstvà dat. Takže jsou potÅeba vyššà datové toky pro enkódovánÃ, aby byla
- zachována kvalita a spotÅebuje se vÃce výkonu CPU jak pro enkódovánÃ, tak pro
- dekódovánÃ. tfields má nÄkolik různých voleb pro volbu způsobu generovánÃ
- chybÄjÃcÃch linek. Pokud použijete tuto možnost, prostudujte si manuál a
- zvolte si volbu, která s vaÅ¡Ãm materiálem vypadá nejlépe.
- Poznamenejme, že pÅi použità <option>tfields</option>
- <emphasis role="bold">musÃte</emphasis> nastavit <option>-fps</option> a
- <option>-ofps</option> na dvojnásobek snÃmkové rychlosti originálu.
- <screen>
-mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
- -fps 60000/1001 -ofps 60000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- Pokud plánujete výrazné zmenÅ¡ovánÃ, můžete extrahovat a enkódovat jen jeden
- z půlsnÃmků. SamozÅejmÄ pÅijdete o polovinu svislého rozliÅ¡enÃ, ale pokud
- plánujete zmenÅ¡enà ideálnÄ na 1/2 originálnà velikosti, nebude na této ztrátÄ
- vůbec záležet. Výsledek bude progresivnà soubor s 30000/1001 snÃmky za sekundu.
- Celý postup spoÄÃvá v použità <option>-vf field</option> a následném oÅezu
- <link linkend="menc-feat-telecine-footnotes">[1]</link> a pÅÃsluÅ¡ném
- Å¡kálovánÃ. Pamatujte, že musÃte nastavit scale tak, aby kompenzoval
- zmenÅ¡enà svislého rozmÄru na polovinu.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
-</para></listitem>
-</orderedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>SmÃÅ¡ené progresivnà a telecinované</title>
-
-<para>
-Abychom pÅevedli smÃÅ¡ené progresivnà a telecinované video zcela na progresivnÃ
-video, musà být telecinované Äásti inverznÄ telecinovány. K tomu lze dospÄt
-tÅemi postupy popsanými nÞe. Poznamenejme, že byste mÄli
-<emphasis role="bold">vždy</emphasis> provést inverznà telecine pÅed
-jakýmkoliv Å¡kálovánÃm; a v pÅÃpadÄ, že pÅesnÄ nevÃte co dÄláte, také pÅed
-oÅezánÃm <link linkend="menc-feat-telecine-footnotes">[1]</link>.
-Volba <option>-ofps 24000/1001</option> je vyžadována, protože výstupnà video
-bude mÃt 24000/1001 snÃmků za sekundu.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vf pullup</option> je navržen tak, aby inverznÄ telecinoval, ale
- progresivnà data nechával jak jsou. Pro správnou funkci
- <emphasis role="bold">musÃ</emphasis> být <option>pullup</option> následován
- filtrem <option>softskip</option>, jinak <application>MEncoder</application>
- zhavaruje. <option>pullup</option> je vÅ¡ak nejÄistšà a nejpÅesnÄjšà dostupnou
- metodou pro enkódovánà jak telecinovaného, tak "smÃÅ¡eného progresivnÃho a
- telecinovaného".
- <screen>
-mencoder dvd://1 -oac copy -vf pullup,softskip
- -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- Staršà metodou je, spÃÅ¡e než inverznÄ telecinovat telecinované Äásti,
- telecinovat progresivnà Äásti a poté inverznÄ telecinovat celé video.
- Znà to zmatenÄ? softpulldown je filtr, který projde celé video a pÅevede celý
- soubor na telecinovaný. Pokud budeme následovat softpulldown buÄ
- <option>detc</option> nebo <option>ivtc</option>, bude koneÄný výsledek zcela
- progresivnÃ. Nutná je volba <option>-ofps 24000/1001</option>.
- <screen>
-mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
- </screen>
-</para></listitem>
-<listitem><para>
- OsobnÄ jsem nepoužil <option>-vf filmdint</option>, ale toto o nÄm (pÅibližnÄ)
- Åekl D Richard Felker III:
-
- <blockquote><para>Je to OK, ale IMO to zkoušà až pÅÃliÅ¡ Äasto odstraÅovat
- proklad mÃsto provádÄnà inverznÃho telecine (stejnÄ jako settop DVD
- pÅehrávaÄe & progresivnà televize) což vede ke Å¡karedému tÅepotánà a
- dalÅ¡Ãm artefaktům. Pokud jej chcete použÃvat, mÄli byste pÅedtÃm alespoÅ
- trochu Äasu vÄnovat ladÄnà voleb a sledovánÃm výstupu, abyste mÄli jistotu,
- že vám to nÄco nekazÃ.
- </para></blockquote>
- </para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>SmÃÅ¡ené progresivnà a prokládané</title>
-
-<para>
-Máme dvÄ volby pro práci s touto kategoriÃ, obÄ jsou vÅ¡ak
-kompromisem. MÄli byste se rozhodnout podle
-trvánÃ/umÃstÄnà každého typu.
-</para>
-
-<itemizedlist>
-<listitem>
- <para>
- Považujte to za progresivnÃ. Prokládané Äásti budou vypadat prokládanÄ a
- nÄkteré z prokládaných polÃÄek bude muset být zahozeno, což povede
- k nestejnomÄrnému poskakovánÃ. Můžete proti tomu nasadit postprocesnà filtr,
- pokud chcete, ale tÃm mÃrnÄ degradujete progresivnà Äásti.
- </para>
-
- <para>
- Této volbÄ byste se mÄli rozhodnÄ vyhnout, pokud chcete nakonec zobrazovat
- video na zobrazovaÄi s prokládaným obrazem (pÅes TV kartu napÅÃklad).
- Pokud máte prokládané snÃmky ve videu s rychlostà 24000/1001 snÃmků za
- sekundu, budou telecinovány spolu s progresivnÃmi snÃmky. Polovina
- prokládaných "snÃmků" bude zobrazena po dobu trvánà tÅech snÃmků
- (3/(60000/1001) sekund), což povede k poskakovánÃ. Efekt
- "cukánà zpÄt" vypadá skuteÄnÄ zle. Pokud se o to pÅece pokusÃte,
- <emphasis role="bold">musÃte</emphasis> použÃt filtr odstraÅujÃcà proklad,
- jako je <option>lb</option> nebo <option>l5</option>.
- </para>
-
- <para>
- Å patnou volbou je to i pro progresivnà zobrazovaÄ. Ten zahodà páry po sobÄ
- jdoucÃch snÃmků, což povede k pÅeruÅ¡ovánÃ, které může být vÃce viditelné, než
- pÅi druhé metodÄ, která zobrazuje nÄkteré progresivnà snÃmky dvakrát.
- Prokládané video se 30000/1001 snÃmky za sekundu je totiž ponÄkud trhané,
- protože by ve skuteÄnosti mÄlo být promÃtáno pÅi 60000/1001 půlsnÃmcÃch za
- sekundu, takže zdvojenà nÄkterých snÃmků nenà tak moc vidÄt.
- </para>
-
- <para>
- V každém pÅÃpadÄ je nejlepšà posoudit obsah a způsob, jakým bude zobrazován.
- Pokud je vaÅ¡e video z 90% progresivnà a nikdy jej nebudete pouÅ¡tÄt na
- televizi, mÄli byste volit progresivnà pÅÃstup.
- Pokud je progresÃvnà jen z poloviny, pravdÄpodobnÄ jej bude lepšà enkódovat
- jako by bylo celé prokládané.
- </para>
-</listitem>
-
-<listitem><para>
- Pokládat jej za prokládané. NÄkteré snÃmky v progresivnÃch Äástech budou muset
- být duplikovány, což povede k nepravidelnému poskakovánÃ. OpÄt platÃ, že
- filtry pro odstranÄnà prokladu mohou ponÄkud degradovat progresivnà Äásti.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Poznámky pod Äarou</title>
-
-<orderedlist>
-<listitem>
- <formalpara>
- <title>K oÅezu:</title>
- <para>
- Video data na DVD jsou ukládána ve formátu zvaném YUV 4:2:0. V YUV videu jsou,
- jasová ("ÄernobÃlá"; angl. luma) a barvonosná (angl. chroma) složka
- ukládány oddÄlenÄ. Protože je lidské oko ménÄ citlivé na zmÄnu barvy, než na
- jas, pÅipadá v YUV 4:2:0 obrázku pouze jeden barvonosný pixel na každé ÄtyÅi
- jasové pixely. V progresivnÃm obrázku má každý Ätverec 2x2 jasových pixelů
- právÄ jeden barvonosný pixel. Proto musÃte oÅezávat progresivnà YUV 4:2:0
- na sudé rozmÄry a použÃvat sudé odsazenà (offsety). NapÅÃklad
- <option>crop=716:380:2:26</option> je OK, ale
- <option>crop=716:380:3:26 </option> nenÃ.
- </para>
- </formalpara>
-
- <para>
- Když máte co do ÄinÄnà s prokládaným YUV 4:2:0, je situace mnohem
- komplikovanÄjÅ¡Ã. MÃsto každých ÄtyÅech pixelů ve <emphasis>snÃmku</emphasis>
- sdÃlejÃcÃch barvonosný pixel, každé ÄtyÅi jasové pixely v každém
- <emphasis>půlsnÃmku</emphasis> sdÃlejà barvonosný pixel. Když jsou půlsnÃmky
- proloženy do snÃmku, každá linka má výšku jeden pixel. A nynà mÃsto aby dané
- ÄtyÅi pixely tvoÅily Ätverec, jsou prvnà dva vedle sebe a druhé dva jsou vedle
- sebe o dvÄ linky nÞ. Dva pixely tÄsnÄ pod nimi patÅà do jiného půlsnÃmku a
- proto sdÃlà jiný barvonosný pixel se dvÄma jasovými pixely o dva Åádky nÞ.
- VÅ¡echno tohle nás nutà mÃt svislé rozmÄry oÅezánà a odsazenà bezezbytku
- dÄlitelné ÄtyÅmi. Vodorovné staÄà když budou sudé.
- </para>
-
- <para>
- Pro telecinované video doporuÄuji, abyste oÅezánà provádÄli až po inverzi
- telecine. Jakmile je video progresivnÃ, staÄà Åezat jen na sudé rozmÄry.
- Pokud si vÅ¡ak pÅece jen chcete dopÅát mÃrné zrychlenÃ, které může poskytnout
- Äasný oÅez, musÃte svisle dodržet násobky ÄtyÅech, jinak nebude mÃt filtr
- pro inverzi telecine správná data.
- </para>
-
- <para>
- Prokládané (nikoli telecinované) video musÃte vždy oÅezávat svisle násobky
- ÄtyÅ, pokud pÅed oÅezánÃm nepoužijete <option>-vf field</option>.
- </para>
-</listitem>
-
-<listitem><formalpara>
- <title>K volbám pro enkódovánà a kvalitÄ:</title>
- <para>
- Jen proto, že doporuÄuji <option>mbd=2</option> zde neznamená, že by tato
- volba nemohla být použita jinde. V kombinaci s <option>trell</option>, je
- <option>mbd=2</option> jednou ze dvou voleb
- <systemitem class="library">libavcodec</systemitem>u, které nejvÃce zvyÅ¡ujÃ
- kvalitu a vy byste mÄli vždy použÃt alespoÅ tyto dvÄ, pokud nenà na Å¡kodu
- zpomalenà rychlosti enkódovánà (napÅ. pÅi enkódovánà v reálném Äase).
- Mnoho dalÅ¡Ãch voleb <systemitem class="library">libavcodec</systemitem>u
- zvyÅ¡uje kvalitu enkódovánà (a snižuje jeho rychlost), ale to je mimo zamÄÅenÃ
- tohoto textu.
- </para>
-</formalpara></listitem>
-
-<listitem><formalpara>
- <title>K výkonu filtru pullup:</title>
- <para>
- Použità <option>pullup</option> je bezpeÄné (spolu se <option>softskip
- </option>) na progresivnà video a je to obvykle dobrá volba, pokud nebyl zdroj
- provÄÅen, že je celý progresivnÃ. Ve vÄtÅ¡inÄ pÅÃpadů je ztráta výkonu malá.
- V ojedinÄlých pÅÃpadech enkódovánà způsobà <option>pullup</option>, že je
- <application>MEncoder</application> o 50% pomalejÅ¡Ã. PÅidánà zpracovánà zvuku
- a pokroÄilých <option>lavcopts</option> zastÃnà tento rozdÃl tak, že rozdÃl
- v rychlosti působený použitÃm <option>pullup</option> se snÞà na 2%.
- </para>
-</formalpara></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Enkódovánàs rodinou kodeků <systemitem class="library">libavcodec</systemitem>
-</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem>
-zajišťuje jednoduché enkódovánà do mnoha zajÃmavých video a audio formátů.
-Můžete enkódovat do následujÃcÃch kodeků (vÃce ménÄ aktuálnÃ):
-
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title>Video kodeky
-<systemitem class="library">libavcodec</systemitem></title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
- <row><entry>Jméno video kodeku</entry><entry>Popis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mjpeg</entry>
- <entry>Motion JPEG</entry>
-</row>
-<row>
- <entry>ljpeg</entry>
- <entry>lossless (bezztrátový) JPEG</entry>
-</row>
-<row>
- <entry>jpegls</entry>
- <entry>JPEG LS</entry>
-</row>
-<row>
- <entry>targa</entry>
- <entry>Targa obrázek</entry>
-</row>
-<row>
- <entry>gif</entry>
- <entry>GIF obrázek</entry>
-</row>
-<row>
- <entry>bmp</entry>
- <entry>BMP obrázek</entry>
-</row>
-<row>
- <entry>png</entry>
- <entry>PNG obrázek</entry>
-</row>
-<row>
- <entry>h261</entry>
- <entry>H.261</entry>
-</row>
-<row>
- <entry>h263</entry>
- <entry>H.263</entry>
-</row>
-<row>
- <entry>h263p</entry>
- <entry>H.263+</entry>
-</row>
-<row>
- <entry>mpeg4</entry>
- <entry>standardnà ISO MPEG-4 (DivX, Xvid kompatibilnÃ)</entry>
-</row>
-<row>
- <entry>msmpeg4</entry>
- <entry>prvotnà MPEG-4 varianta od MS, v3 (DivX3)</entry>
-</row>
-<row>
- <entry>msmpeg4v2</entry>
- <entry>prvotnà MPEG-4 od MS, v2 (použitý ve starých ASF souborech)</entry>
-</row>
-<row>
- <entry>wmv1</entry>
- <entry>Windows Media Video, verze 1 (WMV7)</entry>
-</row>
-<row>
- <entry>wmv2</entry>
- <entry>Windows Media Video, verze 2 (WMV8)</entry>
-</row>
-<row>
- <entry>rv10</entry>
- <entry>RealVideo 1.0</entry>
-</row>
-<row>
- <entry>rv20</entry>
- <entry>RealVideo 2.0</entry>
-</row>
-<row>
- <entry>mpeg1video</entry>
- <entry>MPEG-1 video</entry>
-</row>
-<row>
- <entry>mpeg2video</entry>
- <entry>MPEG-2 video</entry>
-</row>
-<row>
- <entry>huffyuv</entry>
- <entry>bezztrátová komprese</entry>
-</row>
-<row>
- <entry>ffvhuff</entry>
- <entry>FFmpeg modifikovaná huffyuv bezztrátová komprese</entry>
-</row>
-<row>
- <entry>asv1</entry>
- <entry>ASUS Video v1</entry>
-</row>
-<row>
- <entry>asv2</entry>
- <entry>ASUS Video v2</entry>
-</row>
-<row>
- <entry>ffv1</entry>
- <entry>bezztrátový video kodek z FFmpeg</entry>
-</row>
-<row>
- <entry>svq1</entry>
- <entry>Sorenson video 1</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Sorenson H.263 použÃvaný ve Flash Video</entry>
-</row>
-<row>
- <entry>flashsv</entry>
- <entry>Flash Screen Video</entry>
-</row>
-<row>
- <entry>dvvideo</entry>
- <entry>Sony Digital Video</entry>
-</row>
-<row>
- <entry>snow</entry>
- <entry>Experimentálnà vlnkovÄ orientovaný kodek z FFmpeg</entry>
-</row>
-<row>
- <entry>zbmv</entry>
- <entry>Zip Blocks Motion Video</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-Prvnà pole obsahuje názvy kodeků, které můžete pÅiÅadit konfiguraÄnÃmu parametru
-<literal>vcodec</literal>,
-napÅ: <option>-lavcopts vcodec=msmpeg4</option>
-</para>
-
-<informalexample><para>
-PÅÃklad s MJPEG kompresÃ:
-<screen>
-mencoder dvd://2 -o <replaceable>titul2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy
-</screen>
-</para></informalexample>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title>Audio kodeky
-<systemitem class="library">libavcodec</systemitem></title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Jméno audio kodeku</entry><entry>Popis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>ac3</entry>
- <entry>Dolby Digital (AC-3)</entry>
-</row>
-<row>
- <entry>adpcm_*</entry>
- <entry>Adaptivnà PCM formáty â viz pomocnou tabulku</entry>
-</row>
-<row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
-</row>
-<row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
-</row>
-<row>
- <entry>libamr_nb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry>
-</row>
-<row>
- <entry>libamr_wb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry>
-</row>
-<row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) â použÃvá FAAC</entry>
-</row>
-<row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 plný rozsah</entry>
-</row>
-<row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
-</row>
-<row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) â použÃvá LAME</entry>
-</row>
-<row>
- <entry>mp2</entry>
- <entry>MPEG-1 audio layer 2 (MP2)</entry>
-</row>
-<row>
- <entry>pcm_*</entry>
- <entry>PCM formáty â viz pomocnou tabulku</entry>
-</row>
-<row>
- <entry>adpcm_ima_wav</entry>
- <entry>IMA adaptivnà PCM (4 bity na vzorek, komprese 4:1)</entry>
-</row>
-<row>
- <entry>sonic</entry>
- <entry>experimentálnà FFmpeg ztrátový kodek</entry>
-</row>
-<row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
-</row>
-<row>
- <entry>sonicls</entry>
- <entry>experimentálnà FFmpeg bezztrátový kodek</entry>
-</row>
-<row>
- <entry>vorbis</entry>
- <entry>Vorbis</entry>
-</row>
-<row>
- <entry>wmav1</entry>
- <entry>Windows Media Audio v1</entry>
-</row>
-<row>
- <entry>wmav2</entry>
- <entry>Windows Media Audio v2</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-VprvnÃm sloupci naleznate jména kodeků, které byste mÄli pÅiÅadit parametru
-<literal>acodec</literal>, napÅÃklad: <option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample><para>
-PÅÃklad s kompresà ACâ3:
-<screen>
-mencoder dvd://2 -o <replaceable>titul2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy
-</screen>
-</para></informalexample>
-
-<para>
-NarozdÃl od jejÃch videokodeků, audio kodeky z knihovny
-<systemitem class="library">libavcodec</systemitem>
-neprovádÄjà inteligentnà rozdÄlenà pÅidÄlených bitů,
-jelikož jim chybà byť jen minimálnà psychoakustický model (pokud vůbec),
-který obsahuje vÄtÅ¡ina implementacà ostatnÃch kodeků.
-VÄzte vÅ¡ak, že vÅ¡echny tyto kodeky zvuku jsou velmi rychlé a pracujÃ
-bez potÞà vÅ¡ude, kde máte <application>MEncoder</application> se
-zakompilovanou knihovnou <systemitem class="library">libavcodec</systemitem>
-(což je naprostá vÄtÅ¡ina pÅÃpadů) a nezávisejà na externÃch knihovnách.
-</para>
-
-<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
-<title>Pomocná tabulka pro PCM/ADPCM formát</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Název PCM/ADPCM kodeku</entry><entry>Popis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>pcm_s32le</entry>
- <entry>signed 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s32be</entry>
- <entry>signed 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u32le</entry>
- <entry>unsigned 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u32be</entry>
- <entry>unsigned 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s24le</entry>
- <entry>signed 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s24be</entry>
- <entry>signed 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u24le</entry>
- <entry>unsigned 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u24be</entry>
- <entry>unsigned 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s16le</entry>
- <entry>signed 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s16be</entry>
- <entry>signed 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u16le</entry>
- <entry>unsigned 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u16be</entry>
- <entry>unsigned 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s8</entry>
- <entry>signed 8-bit</entry>
-</row>
-<row>
- <entry>pcm_u8</entry>
- <entry>unsigned 8-bit</entry>
-</row>
-<row>
- <entry>pcm_alaw</entry>
- <entry>G.711 A-LAW </entry>
-</row>
-<row>
- <entry>pcm_mulaw</entry>
- <entry>G.711 μ-LAW</entry>
-</row>
-<row>
- <entry>pcm_s24daud</entry>
- <entry>signed 24-bit D-Cinema Audio format</entry>
-</row>
-<row>
- <entry>pcm_zork</entry>
- <entry>Activision Zork Nemesis</entry>
-</row>
-<row>
- <entry>adpcm_ima_qt</entry>
- <entry>Apple QuickTime</entry>
-</row>
-<row>
- <entry>adpcm_ima_wav</entry>
- <entry>Microsoft/IBM WAVE</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk3</entry>
- <entry>Duck DK3</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk4</entry>
- <entry>Duck DK4</entry>
-</row>
-<row>
- <entry>adpcm_ima_ws</entry>
- <entry>Westwood Studios</entry>
-</row>
-<row>
- <entry>adpcm_ima_smjpeg</entry>
- <entry>SDL Motion JPEG</entry>
-</row>
-<row>
- <entry>adpcm_ms</entry>
- <entry>Microsoft</entry>
-</row>
-<row>
- <entry>adpcm_4xm</entry>
- <entry>4X Technologies</entry>
-</row>
-<row>
- <entry>adpcm_xa</entry>
- <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
-</row>
-<row>
- <entry>adpcm_ea</entry>
- <entry>Electronic Arts</entry>
-</row>
-<row>
- <entry>adpcm_ct</entry>
- <entry>Creative 16->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_swf</entry>
- <entry>Adobe Shockwave Flash</entry>
-</row>
-<row>
- <entry>adpcm_yamaha</entry>
- <entry>Yamaha</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_4</entry>
- <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_3</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_2</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
-</row>
-<row>
- <entry>adpcm_thp</entry>
- <entry>Nintendo GameCube FMV THP</entry>
-</row>
-<row>
- <entry>adpcm_adx</entry>
- <entry>Sega/CRI ADX</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect3>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>Enkódovacà volby libavcodecu</title>
-
-<para>
-V ideálnÃm pÅÃpadÄ byste asi chtÄli jen ÅÃct enkodéru, aby se pÅepnul do
-režimu "vysoká kvalita" a šel na to.
-To by bylo jistÄ hezké, ale naneÅ¡tÄstà je to tÄžké zavést, jelikož různé
-volby enkódovánà vedou k různé kvalitÄ v závislosti na zdrojovém materiálu.
-To proto, že komprese závisà na vizuálnÃch vlastnostech daného videa.
-NapÅÃklad anime a živá akce majà zcela rozdÃlné vlastnosti a tedy vyžadujÃ
-odliÅ¡né volby pro dosaženà optimálnÃho enkódovánÃ.
-Dobrá zpráva je, že nÄkteré volby by nikdy nemÄly chybÄt, jako
-<option>mbd=2</option>, <option>trell</option> a <option>v4mv</option>.
-Podrobný popis obvyklých enkódovacÃch voleb naleznete nÞe.
-</para>
-
-<itemizedlist>
-<title>Volby k nastavenÃ:</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis>: 1 nebo 2 je v poÅádku,
- v závislosti na filmu.
- Poznamenejme, že pokud chcete mÃt svá videa dekódovatelná kodekem DivX5,
- budete muset zapnout podporu uzavÅeného GOP, pomocà volby
- <systemitem class="library">libavcodec</systemitem>u <option>cgop</option>,
- ale budete také muset vypnout detekci scény, což nenà dobrý nápad, jelikož
- tak trochu zhorÅ¡Ãte efektivitu enkódovánÃ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis>: pomáhá ve scénách s rychlým
- pohybem.
- Vyžaduje vmax_b_frames >= 2.
- V nÄkterých videÃch může vmax_b_frames snÞit kvalitu, ale vmax_b_frames=2
- spolu s vb_strategy=1 pomůže.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">dia</emphasis>: okruh vyhledávánà pohybu. ÄÃm vÄtÅ¡Ã, tÃm
- lepšà a pomalejÅ¡Ã.
- Záporné hodnoty majà úplnÄ jiný význam.
- Dobrými hodnotami jsou -1 pro rychlé enkódovánÃ, nebo 2-4 pro pomalejÅ¡Ã.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">predia</emphasis>: pÅedprůchod pro vyhledávánà pohybu.
- Nenà tak důležitý jako dia. Dobré hodnoty jsou 1 (výchozÃ) až 4. Vyžaduje
- preme=2, aby byla opravdu k nÄÄemu.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Porovnávacà funkce pro
- odhad pohybu.
- Experimentujte s hodnotami 0 (výchozÃ), 2 (hadamard), 3 (dct) a 6 (omezenÃ
- datového toku).
- 0 je nejrychlejšà a dostateÄná pro precmp.
- Pro cmp a subcmp je 2 dobrá pro anime a 3 zase pro živou akci.
- 6 může, ale nemusà být o nÄco lepÅ¡Ã, ale je pomalá.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis>: PoÄet prediktorů pohybu
- pÅebÃraných z pÅedchozÃho snÃmku.
- 1-3 nebo tak pomůžou za cenu menÅ¡Ãho zdrženÃ.
- Vyššà hodnoty jsou vÅ¡ak pomalé a nepÅinášà žádný dalšà užitek.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis>: Ovládá výbÄr makrobloků.
- Malá ztráta rychlosti za malý zisk kvality.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qprd</emphasis>: adaptivnà kvantizace založená na
- komplexnosti makrobloku.
- Může pomoci i uÅ¡kodit v závislosti na videu a ostatnÃch volbách.
- Toto může způsobovat artefakty, pokud nenastavÃte vqmax na nÄjakou rozumnÄ
- malou hodnotu (6 je dobrá, možná byste ale mÄli jÃt až na 4); vqmin=1 může
- také pomoci.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qns</emphasis>: velmi pomalá, zvlášť v kombinaci
- s qprd.
- Tato volba nutà enkodér minimalizovat Å¡um dÃky kompresi artefaktů, mÃsto aby
- se snažil striktnÄ zachovávat vÄrnost videa. NepoužÃvejte ji, pokud jste již
- nezkusili vÅ¡echno ostatnà kam až to Å¡lo a výsledek pÅesto nenà dost dobrý.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis>: Vylepšenà ovládánà datového toku.
- Dobré hodnoty se lišà podle videa. Můžete to bezpeÄnÄ ponechat jak to je,
- pokud chcete.
- SnÞenÃm vqcomp pustÃte vÃce bitů do scén s nÃzkou komplexnostÃ, zvýšenÃm je
- poÅ¡lete do scén s vysokou komplexnostà (výchozÃ: 0.5, rozsah: 0-1. doporuÄený
- rozsah: 0.5-0.7).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: Nastavà jediný koeficient
- prahu eliminace pro jasové a barevné roviny.
- Ty jsou enkódovány oddÄlenÄ ve vÅ¡ech MPEGu podobných algoritmech.
- MyÅ¡lenka stojÃcà za tÄmito volbami je použità dobré heuristiky pro urÄenÃ,
- zda je zmÄna v bloku menšà než vámi nastavený práh a v tom pÅÃpadÄ se blok
- enkóduje jako "nezmÄnÄný".
- To Å¡etÅà bity a možná i zrychlà enkódovánÃ. vlelim=-4 a vcelim=9 se zdajà být
- dobré pro hrané filmy, ale pÅÃliÅ¡ nepomohou s anime; pokud enkódujete
- animované vido, mÄli byste je asi nechat beze zmÄn.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>: Odhad pohybu s pÅesnostà na Ätvrt
- pixelu. MPEG-4 použÃvá pÅesnost na půl pixelu jako výchozà pÅi vyhledávánÃ
- pohybu, proto je tato volba spojena s urÄitou režiÃ, jelikož se do výstupnÃho
- souboru ukládá vÃce informacÃ.
- Kompresnà zisk/ztráta závisà na filmu, ale obvykle to nenà pÅÃliÅ¡ efektivnÃ
- na anime.
- qpel vždy způsobà zvýšenà výpoÄetnà nároÄnosti dekódovánà (v praxi +25% Äasu
- CPU).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">psnr</emphasis>: neovlivnà aktuálnà enkódovánÃ, ale
- zaznamená typ/velikost/kvalitu každého snÃmku do log souboru a na konci vypÃÅ¡e
- souhrnný PSNR (odstup signálu od šumu).
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Volby se kterými nedoporuÄujeme si hrát:</title>
-<listitem><para>
- <emphasis role="bold">vme</emphasis>: Výchozà je nejlepÅ¡Ã.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: PsychovizuálnÄ
- adaptivnà kvantizace.
- Nehrajte si s tÄmito volbami, pokud vám jde o kvalitu. Rozumné hodnoty mohou
- být efektivnà ve vaÅ¡em pÅÃpadÄ, ale pozor, je to velmi subjektivnÃ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis>: Snažà se pÅedcházet blokovým
- artefaktům, ale postprocesing je lepÅ¡Ã.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>PÅÃklady nastavenà enkódovánÃ</title>
-
-<para>
-NásledujÃcà nastavenà jsou pÅÃklady nastavenà různých kombinacà voleb
-enkodéru, které ovlivÅujà pomÄr rychlost versus kvalita pÅi shodném
-cÃlovém datovém toku.
-</para>
-
-<para>
-Veškerá nastavenà byla testována na video vzorku 720x448 @30000/1001
-snÃmků za sekundu, cÃlový datový tok byl 900kbps a provádÄly se na
-AMD-64 3400+ pÅi 2400 MHz v režimu 64 bitů.
-Každá kombinace nastavenà má uvedenu zmÄÅenou rychlost enkódovánÃ
-(ve snÃmcÃch za sekundu) a ztrátu PSNR (v dB) oproti nastavenÃ
-"velmi vysoká kvalita".
-RozumÄjte vÅ¡ak že, v závislosti na vaÅ¡em zdrojovém materiálu, typu
-poÄÃtaÄe a pokrokům ve vývoji, můžete dospÄt k velmi odliÅ¡ným výsledkům.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Popis</entry>
- <entry>Volby</entry>
- <entry>Rychlost [fps]</entry>
- <entry>Relativnà ztráta PSNR [dB]</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Velmi vysoká kvalita</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6</entry>
- <entry>0</entry>
-</row>
-<row>
- <entry>Vysoká kvalita</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15</entry>
- <entry>-0.5</entry>
-</row>
-<row>
- <entry>Rychlé enkódovánÃ</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42</entry>
- <entry>-0.74</entry>
-</row>
-<row>
- <entry>Enkódovánà v reálném Äase</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54</entry>
- <entry>-1.21</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="custommatrices">
-<title>Uživatelské inter/intra matice</title>
-
-<para>
-DÃky této vlastnosti
-<systemitem class="library">libavcodec</systemitem>u
-můžete nastavit uživatelskou inter (I-snÃmky/klÃÄové snÃmky) a intra
-(P-snÃmky/predikované (rozumÄjte vypoÄÃtané) snÃmky) matice. To je podporováno
-mnoha kodeky:
-<systemitem>mpeg1video</systemitem> a <systemitem>mpeg2video</systemitem>
-jsou hlášeny jako funkÄnÃ.
-</para>
-
-<para>
-Typické použità této vlastnosti je nastavenà matic preferovaných
-<ulink url="http://www.kvcd.net/">KVCD</ulink> specifikacemi.
-</para>
-
-<para>
-<emphasis role="bold">KvantizaÄnà Matice KVCD "Notch":</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-PoužitÃ:
-<screen>
-$ mencoder <replaceable>vstup.avi</replaceable> -o <replaceable>výstup.avi</replaceable> -oac copy -ovc lavc \
- -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-mencoder <replaceable>vstup.avi</replaceable> -ovc lavc -lavcopts \
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>PÅÃklad</title>
-
-<para>
-Takže jste si koupili zbrusu novou kopii filmu Harry Potter a Tajemná komnata
-(Å¡irokoúhlou verzi samozÅejmÄ) a chcete si toto DVD ripnout, takže si jej
-můžete pÅidat do svého DomácÃho PC kina. Je to region 1 DVD, takže je
-v NTSC. NÞe uvedený pÅÃklad je stále vhodný i pro PAL, jen musÃte vynechat
-<option>-ofps 24000/1001</option> (protože výstupnà snÃmková rychlost je
-shodná se vstupnÃ) a pÅirozenÄ budou rozdÃlné souÅadnice pro oÅez.
-</para>
-
-<para>
-Po spuÅ¡tÄnà <option>mplayer dvd://1</option>, postupujeme podle informacÃ
-obsažených v sekci <link linkend="menc-feat-telecine">Jak naložit s telecine
-a prokladem v NTSC DVD</link> a zjistÃme že je to 24000/1001 neprokládané
-video, takže nepotÅebujeme použÃt inverznà telecine filtr, jako je
-<option>pullup</option> nebo <option>filmdint</option>.
-</para>
-
-<para id="menc-feat-dvd-mpeg4-example-crop">
-Dále musÃme zjistit vhodný oÅezový obdélnÃk, takže použijeme filtr cropdetect:
-<screen>mplayer dvd://1 -vf cropdetect</screen>
-UjistÄte se, že jste pÅeÅ¡li pÅes zaplnÄný snÃmek (nÄjakou jasnou scénu
-mimo úvodnà a koncové titulky) a
-v konzoli <application>MPlayer</application>u uvidÃte:
-<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-Potom pÅehrajeme film s tÃmto filtrem, abychom otestovali jeho správnost:
-<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-A zjistÃme, že to vypadá zcela v poÅádku. Dále se ujistÃme, že Å¡ÃÅka i výška
-jsou násobky 16. Å ÃÅka je v poÅádku, výška ovÅ¡em ne. Protože jsme nepropadli
-v sedmé tÅÃdÄ z matematiky, vÃme, že nejbližšÃm násobkem 16 nižšÃm než 362 je
-352.
-</para>
-
-<para>
-Mohli bychom použÃt <option>crop=720:352:0:58</option>, ale bude lepÅ¡Ã
-ustÅihnout kousek nahoÅe i dole, takže zachováme stÅed. Zkrátili jsme výšku
-o 10 pixelů, ale nechceme zvýšit odsazenà v ose y o 5 pixelů, protože je to
-liché ÄÃslo, což by nepÅÃznivÄ ovlivnilo kvalitu. MÃsto toho zvýšÃme odsazenÃ
-v ose y o 4 pixely:
-<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-Dalšà důvod pro odstÅiženà pixelů shora i zdola je to, že si můžeme být jisti
-odstÅiženÃm napůl Äerných pixelů pokud existujÃ. Pokud je vÅ¡ak vaÅ¡e video
-telecinováno, ujistÄte se, že máte v ÅetÄzu filtrů <option>pullup</option>
-filtr (nebo jiný filtr pro inverzi telecine, který hodláte použÃt) jeÅ¡tÄ pÅed
-odstranÄnÃm prokladu a oÅezem. (Pokud se rozhodnete zachovat vaÅ¡e video
-prokládané, pak se ujistÄte, že vaÅ¡e vertikálnà odsazenà (offset)
-je násobkem 4.)
-</para>
-
-<para>
-Pokud si dÄláte starosti se ztrátou tÄch 10 pixelů, možná radÄji snÞÃte
-rozmÄry na nejbližšà násobek 16. ÅetÄzec filtrů by pak vypadal asi takto:
-<screen>-vf crop=720:362:0:58,scale=720:352</screen>
-Takto malé zmenšenà videa bude znamenat ztrátu malého množstvà detailů,
-což bude pravdÄpodobnÄ stÄžà postÅehnutelné. ZvÄtÅ¡ovánà by naopak vedlo
-ke snÞenà kvality (pokud byste nezvýšili datový tok). OÅez odstranà tyto
-pixely úplnÄ. To je jedna z vÄcÃ, kterou byste si mÄli uvážit pro každý pÅÃpad
-zvlášť. NapÅÃklad pokud bylo DVD video vyrobeno pro televizi, mÄli byste se
-vyvarovat vertikálnÃmu Å¡kálovánÃ, jelikož poÄet Åádků odpovÃdá
-originálnà nahrávce.
-</para>
-
-<para>
-PÅi prohlÃdce jsme zjistili, že video je pomÄrnÄ akÄnÃ, s vysokým poÄtem
-detailů, takže jsme zvolili datový tok 2400 Kbitů.
-</para>
-
-<para>
-Nynà jsme pÅipraveni provést dvouprůchodové enkódovánÃ. Průchod jedna:
-<screen>
-+mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-A průchod dva je stejný, jen nastavÃme <option>vpass=2</option>:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-</para>
-
-<para>
-Volby <option>v4mv:mbd=2:trell</option> velmi zvýšà kvalitu za cenu Äasové
-nároÄnosti enkódovánÃ. Vcelku nenà důvod tyto volby vypustit, pokud je
-primárnÃm cÃlem kvalita. Volby <option>cmp=3:subcmp=3</option>
-vyberou porovnávacà funkci, která poskytuje lepšà kvalitu, než výchozÃ.
-S tÃmto parametrem můžete zkusit experimentovat (nahlédnÄte do man stránky pro
-seznam možných hodnot), jelikož různé funkce mohou mÃt velký vliv na kvalitu
-v závislosti na zdrojovém materiálu. NapÅÃklad pokud zjistÃte, že
-<systemitem class="library">libavcodec</systemitem> produkuje pÅÃliÅ¡ mnoho
-ÄtvereÄkových artefaktů, můžete zkusit zvolit experimentálnà NSSE jako
-porovnávacà funkci pÅes <option>*cmp=10</option>.
-</para>
-
-<para>
-V pÅÃpadÄ tohoto filmu bude výsledné AVI dlouhé 138 minut a veliké kolem 3GB.
-A protože jste Åekli, že na velikosti nezáležÃ, je to pÅijatelná velikost.
-Ale pokud byste jej chtÄli menÅ¡Ã, můžete zkusit nižšà datový tok.
-Efekt zvyÅ¡ovánà datového toku se totiž neustále snižuje, takže zatÃmco je
-zlepšenà po zvýšenà z 1800 Kbitů na 2000 Kbitů zjevné, nemusà být již tak
-velké nad 2000 Kbitů. Beze vÅ¡eho s tÃm experimentujte, dokud nebudete
-spokojeni.
-</para>
-
-<para>
-Jelikož jsme protáhli video odÅ¡umovacÃm filtrem, mÄli bychom jej trochu pÅidat
-bÄhem pÅehrávánÃ. To, spolu s <option>spp</option> post-procesnÃm filtrem,
-znatelnÄ zvýšà vnÃmanou kvalitu a pomůže odstranit ÄtvereÄkové artefakty ve
-videu. S <application>MPlayer</application>ovou volbou <option>autoq</option>
-může být množstvà postprocesingu provádÄného filtrem spp pÅizpůsobováno
-vytÞenà CPU. V tuto chvÃli rovnÄž můžete provést korekci gama a/nebo barevnou
-korekci k dosaženà nejlepÅ¡Ãch výsledků. NapÅÃklad:
-<screen>
-mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
-</screen>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-xvid">
-<title>Enkódovánà pomocà kodeku <systemitem class="library">Xvid</systemitem>
-</title>
-
-<para>
-<systemitem class="library">Xvid</systemitem> je svobodná knihovna pro
-enkódovánà MPEG-4 ASP video datových proudů.
-PÅed zaÄátkem enkódovánà budete muset <link linkend="xvid">
-nastavit <application>MEncoder</application> pro jejà podporu</link>.
-</para>
-
-<para>
-Tato pÅÃruÄka se zamÄÅuje na poskytovánà stejného druhu informacÃ
-jako pÅÃruÄka enkódovánà s x264.
-Takže prosÃm zaÄnÄte pÅeÄtenÃm
-<link linkend="menc-feat-x264-encoding-options-intro">prvnà Äásti</link>
-této pÅÃruÄky.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-intro">
-<title>Jaké volby by mÄly být použity, abychom dosáhli nejlepÅ¡Ãch výsledků?</title>
-
-<para>
-ZaÄnÄte prosÃm proÄtenÃm sekce
-<systemitem class="library">Xvid</systemitem> v manuálové stránce
-<application>MPlayer</application>u.
-Tato Äást má být doplnÄnÃm man stránky.
-</para>
-
-<para>
-Výchozà nastavenà Xvid jsou dobrým kompromisem mezi
-rychlostà a kvalitou, takže je můžete bez obav použÃt, pokud
-vám nebude nÄco v dalÅ¡Ãm textu jasné.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>Volby pro enkódovánàs <systemitem class="library">Xvid</systemitem></title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- Tato volba ovlivnà rozhodovacà algoritmus makrobloku, kde vyššà nastavenÃ
- znamená lepšà rozhodovánÃ.
- Výchozà nastavenà mohou být bezpeÄnÄ použita pro každé enkódovánÃ,
- zatÃmco vyššà nastavenà vždy pomohou PSNR, ale je znatelnÄ pomalejÅ¡Ã.
- Poznamenejme, že lepšà PSNR nemusà nutnÄ znamenat, že bude obraz vypadat lépe,
- ale udává, že je blÞe originálu.
- Vypnutà této volby viditelnÄ zrychlà enkódovánÃ; pokud je pro vás
- rychlost kritická, pak to stojà za to.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- Tato volba provádà to samé co vhq, ale v B-snÃmcÃch.
- Má zanedbatelný vliv na rychlost a trochu vylepšuje kvalitu
- (kolem +0.1dB PSNR).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- VÄtšà poÄet povolených po sobÄ jdoucÃch B-snÃmků obvykle zvyÅ¡uje
- komprimovatelnost, aÄkoli to může vést k vÄtÅ¡Ãmu poÄtu blokových artefaktů.
- Výchozà nastavenà je dobrým kompromisem mezi komprimovatelnostà a
- kvalitou, ale můžete ji zvýšit nad 3, pokud toužÃte po nÃzkém datovém toku.
- Můžete ji rovnÄž snÞit na 1 nebo 0, pokud vám jde o perfektnà kvalitu,
- ale v tom pÅÃpadÄ byste se mÄli ujistit, že máte nastaven dostateÄnÄ
- vysoký datový tok, aby byla jistota, že komrimátor nebude zvyšovat kvantizer,
- aby jej dosáhl.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- Tato volba ovládá B-snÃmkovou citlivost enkodéru, kdy vyššà hodnota
- vede k ÄastÄjÅ¡Ãmu použità B-snÃmků (a naopak).
- Má být použita spolu s <option>max_bframes</option>;
- pokud jste blázen do datového toku, mÄli byste zvýšit jak
- <option>max_bframes</option>, tak <option>bf_threshold</option>,
- nebo naopak můžete zvýšit <option>max_bframes</option> a snÞit
- <option>bf_threshold</option>, takže bude enkodér použÃvat vÃce
- B-snÃmků pouze na mÃstech, které je <emphasis role="bold">opravdu</emphasis>
- potÅebujÃ.
- NÃzká hodnota <option>max_bframes</option> a vysoká
- <option>bf_threshold</option> asi nenà nejrozumnÄjšà volbou, jelikož pÅinutÃ
- enkodér umÃsÅ¥ovat B-snÃmky na mÃsta, které z nich nebudou tÄžit,
- ale snÞà se jejich vizuálnà kvalita.
- Pokud vÅ¡ak potÅebujete být kompatibilnà s domácÃmi pÅehrávaÄi, které
- podporujà pouze staré DivX profily (ty podporujà pouze 1 po sobÄ jdoucÃ
- B-snÃmek), je to vaÅ¡e jediná cesta ke zvýšenà komprimovatelnosti pomocÃ
- B-snÃmků.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- Optimalizuje proces kvantizace pro dosaženà nejlepÅ¡Ãho kompromisu
- mezi PSNR a datovým tokem, což umožÅuje znatelnou úsporu bitů.
- UÅ¡etÅené bity budou využity v jiných Äástech videa, což zvýšÃ
- celkovou vizuálnà kvalitu.
- MÄli byste ji vždy mÃt zapnutou, jelikož jejà kvalitativnà pÅÃnos je znaÄný.
- Dokonce i když potÅebujete vyššà rychlost, nevypÃnejte ji, dokud jste
- nevypli <option>vhq</option> a nezredukovali ostatnà volby
- nároÄné na CPU na minimum.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- Aktivuje metodu odhadu s menÅ¡Ãmi náklady na koeficienty, což trochu
- zmenšà výstupnà soubor (okolo 0,15 až 0,19%, což odpovÃdá zvýšenà PSNR
- o ménÄ než 0.01dB) pÅi zanedbatelném vlivu na rychlost.
- Je proto doporuÄeno ponechat ji vždy zapnutou.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- Volba navržená pro lepšà enkódovánà kresleného obsahu. Nemá vliv
- na rychlost, pouze doladà heuristiku pro výbÄr režimu pro tento
- druh obsahu.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">me_quality</emphasis>
- Tato volba ovládá pÅesnost vyhledávánà pohybu.
- ÄÃm vyššà <option>me_quality</option>, tÃm bude
- pÅesnÄjšà odhad původnÃho pohybu a výsledný snÃmek
- pÅesnÄji zachytà originálnà pohyb.
- </para>
- <para>
- Výchozà nastavenà je nejlepšà ve vÅ¡ech pÅÃpadech;
- takže ji nedoporuÄujeme vypÃnat, pokud nepotÅebujete za každou cenu
- zvýšit rychlost, jelikož vÅ¡echny bity uÅ¡etÅené dobrým odhadem pohybu
- mohou být použity jinde a zvýšit tak celkovou kvalitu.
- KaždopádnÄ nechoÄte nÞ než na 5, a když, tak jen jako poslednà možnost.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- ZlepÅ¡uje odhad pohybu tÃm, že bere v potaz i chroma (barevnou)
- informaci, zatÃmco samotné <option>me_quality</option>
- použÃvá pouze ÄernobÃlou (luma).
- To spomalà enkódovánà o 5-10%, ale docela vylepšà vizuálnà kvalitu
- omezenÃm blokových artefaktů a zmenšà velikost souboru asi o 1.3%.
- Pokud vám jde hlavnÄ o rychlost, mÄli byste tuto volbu vypnout dÅÃve,
- než zaÄnete snižovat <option>me_quality</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- Je urÄena spÃÅ¡e ke zvýšenà kvality barev a vyÄiÅ¡tÄnà bÃlých/Äerných
- okrajů, než k vylepšenà koprimovatelnosti.
- To vám může pomoci omezit "red stairs" efekt.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- Zkoušà pÅiÅadit nižšà datový tok Äástem obrázku, které lidské oko
- dobÅe nevidÃ, což umožnà enkodéru použÃt uÅ¡etÅené bity na
- důležitÄjÅ¡Ãch mÃstech obrázku.
- Kvalita výsledku znaÄnÄ závisà na osobnÃch preferencÃch a
- na typu a nastavenà monitoru použitého pro prohlÞenÃ
- (typicky to nebude vypadat dobÅe pokud je jasný, nebo je
- to TFT monitor).
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>
- Zvýšà poÄet možných vektorů pohybu zvýšenÃm
- pÅesnosti vyhledávánà pohybu z poloviny pixelu na
- Ätvrtinu pixelu.
- Ideou je nalezenà lepÅ¡Ãch vektorů pohybu, které naoplátku
- snÞà datový tok (což zvýšà kvalitu).
- Vektory pohybu s pÅesnostà na Ätvrt pixelu vÅ¡ak vyžadujà pro sebe
- pár bitů navÃc a výsledné vektory ne vždy dávajà (o mnoho) lepÅ¡Ã
- výsledky.
- Docela Äasto vydá kodek bity na vyššà pÅesnost, ale dosáhne jen malého
- nebo žádného zvýšenà kvality.
- NaneÅ¡tÄstà nenà způsob jak zjistit možný zisk <option>qpel</option>
- pÅedem, takže musÃte enkódovat s a bez nÃ, abyste mÄli jistotu.
- </para>
- <para>
- <option>qpel</option> může až zdvojnásobit Äas enkódovánà a
- vyžaduje až o 25% vÃce výpoÄetnÃho výkonu pro dekódovánÃ.
- Volba nenà podporována vÅ¡emi stolnÃmi pÅehrávaÄi.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- Pokoušà se uÅ¡etÅit bity v panoramatických scénách použitÃm jediného
- vektoru pohybu pro celý snÃmek.
- To témÄÅ vždy zvýšà PSNR, ale znatelnÄ zpomalà enkódovánÃ
- (stejnÄ jako dekódovánÃ).
- V každém pÅÃpadÄ byste ji mÄli použÃvat pouze pokud máte
- <option>vhq</option> nastavené na maximum.
- GMC v <systemitem class="library">Xvid</systemitem> je mnohem
- sofistikovanÄjšà než v DivX, ale je podporována jen nÄkolika
- stolnÃmi pÅehrávaÄi.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>Enkódovacà profily</title>
-
-<para>
-Xvid podporuje enkódovacà profily pomocà volby <option>profile</option>,
-což je využÃváno pro k zaÅazenà omezenà nastavenà Xvid videoproudu tak,
-aby byl pÅehratelný na vÅ¡em, co podporuje vybraný profil.
-Omezenà se vstahujà k rozliÅ¡enÃm, datovému toku a různým MPEG-4
-vlastnostem.
-NásledujÃcà tabulka ukazuje, co který profil podporuje.
-</para>
-
-<informaltable>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
-<tbody>
-<row>
- <entry></entry>
- <entry spanname="spa2-5">Simple</entry>
- <entry spanname="spa6-11">Advanced Simple</entry>
- <entry spanname="spa12-17">DivX</entry>
-</row>
-<row>
- <entry>Název profilu</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>Handheld</entry>
- <entry>Portable NTSC</entry>
- <entry>Portable PAL</entry>
- <entry>Home Theater NTSC</entry>
- <entry>Home Theater PAL</entry>
- <entry>HDTV</entry>
-</row>
-<row>
- <entry>Å ÃÅka [pixely]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
-</row>
-<row>
- <entry>Výška [pixely]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
-</row>
-<row>
- <entry>SnÃmková rychlost [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
-</row>
-<row>
- <entry>Max průmÄrný datový tok [kbps]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
-</row>
-<row>
- <entry>Nejvyššà průmÄrný datový tok za poslednà 3 sekundy [kbps]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
-</row>
-<row>
- <entry>Max. B-snÃmků</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
-</row>
-<row>
- <entry>MPEG kvantizace</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Adaptivnà kvantizace</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Enkódovánà prokládaného</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Ätvrtpixelová pÅesnost</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Globálnà kompenzace pohybu</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>PÅÃklady nastavenà enkódovánÃ</title>
-
-<para>
-NásledujÃcà nastavenà jsou pÅÃklady nastavenà různých kombinacà voleb
-enkodéru, které ovlivÅujà pomÄr rychlost versus kvalita pÅi shodném
-cÃlovém datovém toku.
-</para>
-
-<para>
-Veškerá nastavenà byla testována na video vzorku 720x448 @30000/1001
-snÃmků za sekundu, cÃlový datový tok byl 900kbps a provádÄly se na
-AMD-64 3400+ pÅi 2400 MHz v režimu 64 bitů.
-Každá kombinace nastavenà má uvedenu zmÄÅenou rychlost enkódovánÃ
-(ve snÃmcÃch za sekundu) a ztrátu PSNR (v dB) oproti nastavenÃ
-"velmi vysoká kvalita".
-RozumÄjte vÅ¡ak že, v závislosti na vaÅ¡em zdrojovém materiálu, typu
-poÄÃtaÄe a pokrokům ve vývoji, můžete dospÄt k velmi odliÅ¡ným výsledkům.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Popis</entry><entry>Volby</entry><entry>Rychlost [fps]</entry><entry>Relativnà ztráta PSNR [dB]</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Velmi vysoká kvalita</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16</entry>
- <entry>0</entry>
-</row>
-<row>
- <entry>Vysoká kvalita</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18</entry>
- <entry>-0.1</entry>
-</row>
-<row>
- <entry>Rychlé enkódovánÃ</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28</entry>
- <entry>-0.69</entry>
-</row>
-<row>
- <entry>Enkódovánà v reálném Äase</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38</entry>
- <entry>-1.48</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-x264">
-<title>EnkódovánÃ
- <systemitem class="library">x264</systemitem> kodekem</title>
-
-<para>
-<systemitem class="library">x264</systemitem> je svobodná knihovna pro
-enkódovánà H.264/AVC video proudů.
-PÅe zahájenÃm enkódovánà budete muset
-<link linkend="x264">nastavit jejà podporu v <application>MEncoder</application>u</link>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>Enkódovacà volby x264</title>
-
-<para>
-ZaÄnÄte prosÃm prohlÃdkou sekce
-<systemitem class="library">x264</systemitem> man stránky
-<application>MPlayer</application>u.
-Tato sekce je zamýšlena jako doplnÄk manuálové stránky.
-Zde naleznete tipy, které volby budou nejspÃÅ¡e zajÃmat vÄtÅ¡inu lidÃ.
-Man stránka je vÃce uhlazená, ale také vÃce vyÄerpávajÃcà a
-obÄas nabÃzà mnohem lepšà technické detaily.
-</para>
-
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Ãvodem</title>
-<para>
-Tato pÅÃruÄka pokrývá dvÄ hlavnà kategorie enkódovacÃch voleb:
-</para>
-
-<orderedlist>
-<listitem><para>
- Volby které mÄnà dobu enkódovánà za kvalitu
-</para></listitem>
-<listitem><para>
- Volby které mohou být použitelné pro naplnÄnà různých
- osobnÃch preferencà a speciálnÃch požadavků
-</para></listitem>
-</orderedlist>
-
-<para>
-Nakonec jen vy můžete rozhodnout, které volby jsou nejlepšà pro
-vaÅ¡e úÄely. Rozhodovánà v prvnà kategorii voleb je nejjednoduššÃ:
-staÄà když zhodnotÃte zda zmÄny kvality ospravedlnà rychlostnà rozdÃly.
-Druhá skupina voleb může být mnohem subjektivnÄjšà záležitostà a
-v úvahu může pÅijÃt vÃce faktorů. Poznamenejme, že nÄkteré volby
-"osobnÃch preferencà a speciálnÃch požadavků" mohou také znaÄnÄ
-ovlivnit kvalitu nebo rychlost enkódovánÃ, ale to nenà jejich hlavnà funkce.
-NÄkolik voleb "osobnÃch preferencÃ" může dokonce způsobit zmÄny,
-po kterých se nÄkomu zdá být výsledek lepšà a jinému horÅ¡Ã.
-</para>
-
-<para>
-Než budeme pokraÄovat, poznamenejme, že tento návod použÃvá jediné mÄÅÃtko
-kvality: celkový PSNR.
-StruÄné vysvÄtlenà co je to PSNR, naleznete
-<ulink url="http://en.wikipedia.org/wiki/PSNR">ve Wikipedii pod heslem PSNR</ulink>.
-Celkové PSNR je poslednà hlášené PSNR ÄÃslo pÅi zaÅazenà volby
-<option>psnr</option> v <option>x264encopts</option>.
-Kdykoli pÃÅ¡eme o PSNR, je jednÃm z pÅedpokladů tohoto sdÄlenÃ
-to, že jsou použity shodné datové toky.
-</para>
-
-<para>
-TémÄÅ vÅ¡echny komentáÅe v tomto návodu pÅedpokládajÃ, že enkódujete
-dvouprůchodovÄ.
-PÅi porovnávánà voleb jsou zde dva hlavnà důvody pro použità dvouprůchodového
-enkódovánÃ.
-Zaprvé, dvouprůchodové enkódovánà vám zÃská zhruba 1dB PSNR, což je
-znatelný rozdÃl.
-Zadruhé, testovánà voleb pomocà pÅÃmého porovnánà kvality v jednoprůchodových
-výsledcÃch je pochybné, jelikož se datový tok znaÄnÄ lišà s každým
-enkódovánÃm.
-Nenà vždy snadné urÄit, zda se zmÄnila kvalita dÃky zmÄnÄ voleb, nebo
-z vÄtšà Äásti odpovÃdajà zmÄnám datového toku.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>Volby které primárnÄ ovlivÅujà rychlost a kvalitu</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">subq</emphasis>:
- Z voleb, které umožÅujà vymÄnit Äas za kvalitu, jsou obvykle nejdůležitÄjÅ¡Ã
- <option>subq</option> a <option>frameref</option> (viz nÞe).
- Máte-li zájem ovlivnit jak rychlost, tak kvalitu, jsou to prvnà volby,
- které byste mÄli zvážit.
- Ve smyslu rychlosti se spolu volby <option>frameref</option> a
- <option>subq</option> velmi silnÄ ovlivÅujÃ.
- ZkuÅ¡enosti ukazujÃ, že pÅi jednom referenÄnÃm snÃmku si
- <option>subq=5</option> vezme asi o 35% vÃce Äasu než
- <option>subq=1</option>.
- PÅi 6 referenÄnÃch snÃmcÃch naroste spomalenà nad 60%.
- Vliv <option>subq</option> na PSNR se zdá být pomÄrnÄ stálý,
- bez ohledu na poÄet referenÄnÃch snÃmků.
- Typicky <option>subq=5</option> zÃská 0.2-0.5 dB
- celkového PSNR pÅes <option>subq=1</option>.
- To je obvykle již viditelné.
- </para>
- <para>
- Režim <option>subq=6</option> je pomalejšà a vede k vyššà kvalitÄ
- za rozumnou cenu.
- Oproti <option>subq=5</option> obvykle zÃskává 0.1-0.4 dB
- celkového PSNR za cenu ztráty rychlosti 25%-100%.
- NarozdÃl od ostatnÃch úrovnà <option>subq</option> nezávisà chovánÃ
- <option>subq=6</option> tolik na <option>frameref</option>
- a <option>me</option>. MÃsto toho závisà efektivita <option>subq=6
- </option> hlavnÄ na poÄtu použitých B-snÃmků. PÅi bÄžném použitÃ
- to znamená, že <option>subq=6</option> má velký vliv jak na rychlost, tak na
- kvalitu v komplexnÃch, velmi pohyblivých scénách, ale nemusà mÃt takový vliv
- ve scénách s malým pohybem. Poznamenejme, že stále doporuÄujeme nastavit
- <option>bframes</option> na nenulovou hodnotu (viz nÞe).
- </para>
- <para>
- <option>subq=7</option> je nejpomalejÅ¡Ã, s nejvyššà kvalitou.
- V porovnánà s <option>subq=6</option>, obvykle zÃská 0.01–0.05 dB
- globálnÃho PSNR za zpomalenà v rozmezà 15%–33%.
- Jelikož je pomÄr zÃskané kvality ku ztrátÄ rychlosti docela malý, mÄli byste
- tuto volbu použÃvat pouze pokud chcete uÅ¡etÅit každý možný bit a doba
- enkódovánà nenà problém.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">frameref</emphasis>:
- Výchozà nastavenà <option>frameref</option> je 1, ale nemÄlo by to být bráno
- tak, že je rozumné nastavovat jej na 1.
- Pouhé zvýšenà <option>frameref</option> na 2 zÃská okolo
- 0.15dB PSNR s 5-10% spomalenÃm, což je zÅejmÄ dobrý obchod.
- <option>frameref=3</option> zÃská kolem 0.25dB PSNR navÃc k
- <option>frameref=1</option>, což již může být viditelný
- rozdÃl.
- <option>frameref=3</option> je asi o 15% pomalejšà než
- <option>frameref=1</option>.
- NaneÅ¡tÄstà se zisk rychle vytrácÃ.
- PÅi <option>frameref=6</option> můžete oÄekávat zisk pouze
- 0.05-0.1 dB nad <option>frameref=3</option> pÅi dodateÄném
- 15% zpomalenÃ.
- Nad <option>frameref=6</option> je zisk kvality obvykle velmi malý
- (aÄkoli byste mÄli mÃt na pamÄti, že se to může výraznÄ liÅ¡it v závislosti
- na zdrojovém materiálu).
- V pomÄrnÄ typickém pÅÃpadÄ zlepšà <option>frameref=12</option>
- celkový PSNR o pouhé 0.02dB nad <option>frameref=6</option>,
- pÅi spomalenà o 15%-20%.
- PÅi tak vysokých hodnotách <option>frameref</option> lze ÅÃct pouze
- jedinou dobrou vÄc, a to že jejich dalšà zvyÅ¡ovánà témÄÅ nikdy
- <emphasis role="bold">nesnÞÃ</emphasis> PSNR, ale dalšà zisk kvality
- je stÄžà mÄÅitelný, natož viditelný.
- </para>
- <note><title>Poznámka:</title>
- <para>
- Zvýšenà <option>frameref</option> na nemÃstnÄ vysokou hodnotu
- <emphasis role="bold">může</emphasis> a
- <emphasis role="bold">obvykle taky snÞÃ</emphasis>
- efektivitu kódovánÃ, pokud vypnete CABAC.
- Se zapnutým CABAC (výchozà chovánÃ) se zdá být možnost nastavit
- <option>frameref</option> "pÅÃliÅ¡ vysoko" pÅÃliÅ¡ vzdálená na to,
- abyste se tÃm museli trápit a v budoucnu mohou optimalizace
- tuto možnost zcela vylouÄit.
- </para>
- </note>
- <para>
- Pokud vám záležà na rychlosti, bývá vhodným kompromisem použÃt
- nÃzké hodnoty <option>subq</option> a <option>frameref</option>
- v prvnÃm průchodu a zvýšit je ve druhém.
- Typicky to má zanedbatelný záporný vliv na koneÄnou kvalitu:
- PravdÄpodobnÄ stratÃte ménÄ než 0.1dB PSNR, což by mÄl být až pÅÃliÅ¡
- malý rozdÃl, než aby byl vidÄt.
- OdliÅ¡né hodnoty <option>frameref</option> vÅ¡ak mohou mÃsty ovlivnit
- volbu typu snÃmku.
- NejspÃÅ¡ to budou ojedinÄlé pÅÃpady, ale chcete-li si být zcela jisti,
- zjistÄte, jestli vaÅ¡e video obsahuje buÄ blýskavé vzory pÅes celou obrazovku,
- nebo rozsáhlé krátkodobé zmÄny, které by mohly vynutit I-snÃmek.
- Nastavte <option>frameref</option> pro prvnà průchod tak, aby byl
- dostateÄnÄ velký pro pokrytà doby bliknutà (nebo zmÄny).
- NapÅÃklad, pokud scéna pÅepÃná tam a zpÄt mezi dvÄma obrázky pÅes tÅi snÃmky,
- nastavte <option>frameref</option> pro prvnà průchod na 3 a vÃce.
- Tento pÅÃpad je nejspÃÅ¡ zcela ojedinÄlý v hraných filmech, ale obÄas se
- vyskytuje v záznamech z videoher.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">me</emphasis>:
- Tato volba je urÄena pro výbÄr metody vyhledávánà pohybu.
- ZmÄnou této volby jednoduÅ¡e mÄnÃte pomÄr kvalita-versus-rychlost.
- Volba <option>me=dia</option> je jen o málo procent rychlejšà než
- výchozà vyhledávánà za cenu pod 0.1dB globálnÃho PSNR.
- Výchozà nastavenà (<option>me=hex</option>) je rozumným kompromisem
- mezi rychlostà a kvalitou. Volba <option>me=umh</option> zÃská o troÅ¡ku ménÄ
- než 0.1dB globálnà PSNR, pÅi spomalenÃ, které se lišà v závislosti na
- <option>frameref</option>. PÅi vysokých hodnotách
- <option>frameref</option> (ÅeknÄme 12 nebo tak), je <option>me=umh</option>
- asi o 40% pomalejšà než výchozà <option> me=hex</option>. PÅi
- <option>frameref=3</option>, klesne způsobené spomalenà na
- 25%-30%.
- </para>
- <para>
- Volba <option>me=esa</option> použÃvá tak rozsáhlé vyhledávánÃ, že je pÅÃliÅ¡
- pomalá pro praktické využitÃ.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">partitions=all</emphasis>:
- Tato volba zapÃná použità bloků 8x4, 4x8 a 4x4 v predikovaných
- makroblocÃch (navÃc k výchozÃm blokům).
- Jejà aktivace vede k pomÄrnÄ stálé
- 10%-15% ztrátÄ rychlosti. Tato volba je pomÄrnÄ neužiteÄná ve zdroji
- obsahujÃcÃm pouze pomalý pohyb, naproti tomu u nÄkterých zdrojů s rychlým
- pohybem, pÅesnÄji zdrojů s velkým množstvÃm malých pohyblivých objektů,
- můžete oÄekávat zisk okolo 0.1dB.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">bframes</emphasis>:
- Použitelnost B-snÃmků je ve vÄtÅ¡inÄ ostatnÃch kodeků diskutabilnÃ.
- V H.264 se to zmÄnilo: jsou zde nové techniky a typy bloků pro použitÃ
- v B-snÃmcÃch.
- Obvykle i naivnà algoritmus pro výbÄr B-snÃmku může zajistit znatelný
- zisk PSNR.
- Také je zajÃmavé, že pokud vypnete adaptivnà rozhodovánà o B-snÃmku
- (<option>nob_adapt</option>), zvýšà obvykle enkódovánà s
- <option>bframes</option> o trochu rychlost enkódovánÃ.
- </para>
- <para>
- S vypnutým adaptivnÃm rozhodovánÃm o B-snÃmku
- (<option>x264encopts</option> - volba <option>nob_adapt</option>),
- optimálnà hodnota tohoto nastavenà nebývá obvykle vyššà než
- <option>bframes=1</option>, jinak mouhou utrpÄt velmi pohyblivé scény.
- Se zapnutým adaptivnÃm rozhodovánÃm o B-snÃmku (výchozà chovánÃ),
- je obvykle bezpeÄné použÃt vyššà hodnoty; enkodér se pokusà snÞit
- použità B-snÃmků ve scénách, kde by snÞily kompresi.
- Enkodér zÅÃdka použije vÃce než 3 nebo 4 B-snÃmky;
- nastavenà této volby na vyššà hodnotu bude mÃt jen nepatrný vliv.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">b_adapt</emphasis>:
- Poznámka: Výchozà je zapnuto.
- </para>
- <para>
- Je-li tato volba zapnuta, bude enkodér použÃvat rychlou
- heuristiku pro snÞenà poÄtu B-snÃmků ve scénách, kde by jejich
- použitÃm pÅÃliÅ¡ nezÃskaly.
- Můžete použÃt <option>b_bias</option> pro nastavenà jak pÅátelský
- bude enkodér k B-snÃmkům.
- Spomalenà působené adaptivnÃmi B-snÃmky je nynà spÃÅ¡e malé, ale
- stejnÄ tak potenciálnà zisk kvality.
- Obvykle vÅ¡ak nijak neÅ¡kodÃ.
- Poznamenejme, že ovlivÅuje rychlost a rozhodovánà o typu snÃmku pouze
- v prvnÃm průchodu.
- <option>b_adapt</option> a <option>b_bias</option> nemajà žádný vliv
- v následných průchodech.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- Pokud použÃváte >=2 B-snÃmky, můžete také zapnout tuto volbu; jak
- ÅÃká man stránka, dostanete malé zvýšenà kvality bez ztráty rychlosti.
- Poznamenejme, že tato videa nelze ÄÃst dekodéry založenými na libavcodec
- starÅ¡Ãmi než 5. bÅezna 2005.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">weight_b</emphasis>:
- V typických pÅÃpadech tato volba nepÅinášà velký zisk.
- V prolÃnacÃch nebo stmÃvacÃch scénách vÅ¡ak vážená predikce
- umožÅuje pomÄrnÄ velkou úsporu datového toku.
- V MPEG-4 ASP bývá stmÃvánà obvykle nejlépe kódováno jako série
- velkých I-snÃmků; použità vážené predikce v B-snÃmcÃch umožÅuje
- zmÄnit alespoÅ nÄkteré z nich na rozumnÄ menšà B-snÃmky.
- Spomalenà enkódovánà se zdá být minimálnÃ, pokud nÄjaké je.
- RovnÄž, v rozporu s tÃm, co si nÄkteÅà lidé mohou myslet,
- požadavky dekodéru na CPU nejsou váženou predikcà ovlivnÄny,
- ostatnà možnosti jsou stejnÄ nároÄné.
- </para>
- <para>
- NaneÅ¡tÄstà má aktuálnÄ algoritmus adaptivnÃho rozhodovánà o B-snÃmcÃch
- výraznou tendenci vyvarovat se B-snÃmků pÅi stmÃvánÃ.
- Dokud se to nezmÄnÃ, bude dobré pÅidat
- <option>nob_adapt</option> do x264encopts, pokud oÄekáváte, že stmÃvánÃ
- bude mÃt znatelný vliv ve vaÅ¡em konkrétnÃm klipu.
- </para>
-</listitem>
-<listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
- <para>
- <emphasis role="bold">threads</emphasis>:
- Tato volba umožÅuje vytvoÅit vÃce vláken pro enkódovánà na vÃce procesorech.
- Jejich poÄet si můžete nastavit ruÄnÄ, nebo radÄji nastavte
- <option>threads=auto</option> a ponechte
- <systemitem class="library">x264</systemitem> detekovat kolik máte procesorů
- k dispozici a zvolit vhodný poÄet vláken.
- Pokud máte vÃceprocesorový stroj, mÄli byste tuto volbu uvážit, jelikož dokáže
- lineárnÄ zvýšit rychlost podle poÄtu procesorových jader
- (okolo 94% na jádro) pÅi velmi malém snÞenà kvality (asi 0,005dB pro duálnà procesor
- a okolo 0,01dB pro ÄtyÅprocesorový stroj).
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>Volby náležejÃcà různým preferencÃm</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Dvouprůchodové enkodovánÃ</emphasis>:
- Výše jsme doporuÄovali vždy použÃvat dvouprůchodové enkódovánÃ, ale
- stále existujà důvody proÄ jej nepoužÃt. NapÅÃklad pokud zachytáváte
- TV vysÃlánà a enkódujete v reálném Äase, nemáte jinou možnost, než
- použÃt jeden průchod. Jeden průchod je samozÅejmÄ rychlejÅ¡Ã
- než dva; pokud použijete stejné volby v obou průchodech, pak je dvouprůchodové
- enkódovánà témÄÅ dvakrát pomalejÅ¡Ã.
- </para>
- <para>
- Stále jsou však velmi dobré důvody pro použità dvouprůchodového režimu.
- VoliÄ datového toku v jednoprůchodovém režimu nenà oduÅ¡evnÄlý a Äasto
- dÄlá nerozumné volby, protože nevidà celkový obraz. PÅedpokládejme, že
- máte napÅÃklad dvouminutové video skládajÃcà se ze dvou ÄástÃ.
- Prvnà polovina je vysoce pohyblivá scéna dlouhá 60 sekund, která samostatnÄ
- vyžaduje kolem 2500kbps, aby vypadala sluÅ¡nÄ.
- Hned za nà následuje ménÄ nároÄná 60 sekundová scéna, která vypadá dobÅe
- pÅi 300kbps. Vyžádáte si 1400kbps, což je teoreticky dostateÄné pro pokrytÃ
- obou scén. Jednoprůchodový voliÄ datového toku v tom pÅÃpadÄ uÄinÃ
- nÄkolik "chyb". Prvnà blok může skonÄit tÄžce pÅekvantizovaný, takže
- bude nepoužitelnÄ a zbyteÄnÄ ÄtvereÄkovaný. Druhá Äást bude velmi
- podkvantizovaná; to může vypadat dobÅe, ale spotÅeba bitů na tento
- vzhled je nerozumnÄ vysoká. Äeho se dá jeÅ¡tÄ hůÅe vyvarovat je problém
- pÅechodu mezi tÄmito scénami. Prvnà sekundy málo pohyblivé poloviny
- budou tÄžce pÅekvantizovány, protože voliÄ toku stále oÄekává nároky na
- datový tok, se kterými se potýkal v prvnà polovinÄ videa.
- Tato "chybová doba" pÅekvantizované málo pohyblivé scény bude vypadat
- neskuteÄnÄ Å¡patnÄ a skuteÄnÄ použije ménÄ než 300kbps, které by potÅebovala,
- aby vypadala dobÅe. Existujà způsoby pro zmÃrnÄnà nástrah jednoprůchodového
- enkódovánÃ, ale ty mohou tÃhnout ke zvyÅ¡ovánà nepÅesnosti datového toku.
- </para>
- <para>
- VÃceprůchodový voliÄ datového toku nabÃzà velké výhody oproti jednomu
- průchodu. DÃky statistikám generovaným v prvnÃm průchodu může enkodér
- urÄit, s rozumnou pÅesnostÃ, bitovou nároÄnost enkódovánà každého snÃmku
- pÅi jakémkoli kvantizéru. To umožÅuje mnohem racionálnÄjÅ¡Ã, lépe naplánovanou
- spotÅebu bitů mezi drahými (hodnÄ pohyblivými) a levnými (málo pohyblivými)
- scénami. NÄkolik nápadů jak upravit tuto spotÅebu podle svého naleznete nÞe
- viz <option>qcomp</option>.
- </para>
- <para>
- NavÃc dva průchody nemusà trvat dvakrát tak dlouho jako jeden. Můžete upravit
- volby prvnÃho průchodu pro nejvyššà rychlost a nižšà kvalitu.
- Pokud si dobÅe zvolÃte své volby, můžete mÃt velmi rychlý prvnà průchod.
- Výsledná kvalita ve druhém průchodu bude trochu horÅ¡Ã, protože predikce
- velikosti je ménÄ pÅesná, ale rozdÃl v kvalitÄ je obvykle pÅÃliž malý, aby
- byl vidÄt. Zkuste napÅ. pÅidat
- <option>subq=1:frameref=1</option> do <option>x264encopts</option>
- prvnÃmu průchodu. Pak ve druhém průchodu použijte pomalejšà volby pro
- vyššà kvalitu:
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">TÅÃprůchodové enkódovánÃ</emphasis>?
- x264 nabÃzà možnost provádÄt vÄtšà poÄet následných průchodů.
- Pokud zadáte <option>pass=1</option> v prvnÃm průchodu a pak použijete
- <option>pass=3</option> v následujÃcÃm průchodu, pak tento průchod
- jak naÄte statistiky z pÅedchozÃho, tak zapÃÅ¡e své vlastnÃ. Dalšà průchod
- po nÄm pak bude mÃt velmi dobrou základnu pro vysoce pÅesnou predikci
- velikosti snÃmků pÅi zvoleném kvantizéru. V praxi se celková kvalita
- z toho vzeÅ¡lá blÞà nule a je možné, že tÅetà průchod bude mÃt horÅ¡Ã
- celkový PSNR než jeho pÅedchúdce. PÅi bÄžném použità tÅi průchody pomůžou,
- pokud dostanete buÄ Å¡patnou predikci datového toku, nebo Å¡patnÄ vypadajÃcÃ
- pÅechody mezi scénami po použità pouze dvou průchodů.
- To se nejspÃÅ¡ může stát v extrémnÄ krátkých klipech. Je rovnÄž nÄkolik
- zvláštnÃch pÅÃpadů, ve kterých jsou tÅi a vÃce průchodů dobré pro
- pokroÄilé uživatele, ale pro struÄnost se zde tÄmito pÅÃpady zabývat nebudeme.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis>:
- <option>qcomp</option> mÄnà pomÄr poÄtu bitů alokovaných "drahým"
- velmi pohyblivým snÃmkům k "levným" málo pohyblivým snÃmkům. V jednom
- extrému, <option>qcomp=0</option> vede k ÄistÄ konstantnÃmu datovému toku.
- Což typicky Äinà velmi pohyblivé scény velmi oÅ¡klivé, zatÃmco scény
- s malým pohybem vypadajà perfektnÄ, ale spotÅebovávajà mnohem vÄtšà datový
- tok, než by potÅebovaly k tomu, aby jeÅ¡tÄ vypadaly skvÄle.
- Ve druhém extrému, <option>qcomp=1</option>, dostanete témÄÅ konstantnÃ
- kvantizaÄnà parametr (QP). Konstantnà QP nevypadá Å¡patnÄ, ale vÄtÅ¡ina
- lidà soudÃ, že je rozumnÄjšà snÞit trochu datový tok v extrémnÄ
- nároÄných scénách (kde snÞenà kvality nenà tak vidÄt) a realokovat je
- do scén, které je snadnÄjšà enkódovat pÅi excelentnà kvalitÄ.
- Výchozà hodnota <option>qcomp</option> je 0.6, což může být, podle
- nÄkterých lidà ponÄkud málo (bÄžnÄ se rovnÄž použÃvá 0.7-0.8).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- <option>keyint</option> je výhradnÄ pro výmÄnu mÃry pÅevinutelnosti
- za efektivitu kódovánÃ. Výchozà hodnota <option>keyint</option> je 250.
- V materiálu 25 snÃmků za sekundu to zajišťuje schopnost pÅevÃjenÃ
- s 10 sekundovou pÅesnostÃ. Pokud soudÃte, že bude důležité a užiteÄné
- být schopen pÅevÃjet s pÅesnostà 5 sekund, nastavte
- <option>keyint=125</option>;
- to ovÅ¡em trochu snÞà kvalitu/datový tok. Pokud vám jde jen o kvalitu, nikoli
- pÅevinutelnost, můžete si nastavit mnohem vyššà hodnoty
- (rozumÄjte že zisk z toho klesá a může být neznatelný až žádný).
- Video proud bude stále mÃt pÅevÃjecà body, pokud jsou zde nÄjaké zmÄny scény.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">deblock</emphasis>:
- Tato vÄc zaÄÃná být trochu kontroverznÃ.
- </para>
- <para>
- H.264 definuje jednoduchou deblokovacà proceduru I-bloků, která použÃvá
- pÅednastavených sil a prahů závislých na QP daného bloku.
- Výchozà je, že bloky s vysokým QP jsou filtrovány silnÄ a bloky s nÃzkým QP
- nejsou deblokovány vůbec.
- PÅednastavené sÃly definované standardem jsou dobÅe zvoleny a
- vyváženy tak, že jsou optimálnà z hlediska PSNR pro libovolné
- video, které zkouÅ¡Ãte enkódovat.
- Volba <option>deblock</option> umožÅuje nastavit offsety pÅednastaveným
- deblokovacÃm prahům.
- </para>
- <para>
- Zdá se, že si mnoho lidà myslÃ, že je dobré snÞit sÃlu deblokovacÃho filtru
- o vysokou hodnotu (ÅeknÄme, -3).
- To vÅ¡ak nenà témÄÅ nikdy dobrý nápad a v mnoha pÅÃpadech lidé,
- kteÅà to dÄlajÃ, nerozumà dobÅe tomu, jak pracuje výchozà deblokovánÃ.
- </para>
- <para>
- Prvnà a nejdůležitÄjšà vÄc, kterou byste mÄli vÄdÄt o in-loop
- deblokovacÃm filtru, je, že výchozà prahy jsou témÄÅ vždy optimálnÃ
- z hlediska PSNR.
- V ÅÃdkých pÅÃpadech, kdy nejsou, je ideálnà offset plusmÃnus 1.
- Ãprava deblokovacÃch parametrů o vÄtšà hodnotu témÄÅ zaruÄenÄ
- poškodà PSNR.
- ZesÃlenà filtru setÅe vÃce detailů; oslabenà filtru povede k
- zvýšené viditelnosti blokovánÃ.
- </para>
- <para>
- RozhodnÄ je hloupost snižovat deblokovacà prahy pokud má vaÅ¡e video
- pÅevážnÄ nÃzkou ploÅ¡nou komplexnost (Äili málo detailů nebo Å¡umu).
- In-loop filtr odvádà témÄÅ výbornou práci v ukrývánÃ
- artefaktů, které se mohou vyskytnout.
- Pokud má zdroj vysokou plÅ¡nou komplexnost, pak jsou artefakty ménÄ viditelné.
- To proto, že kroužkovánà vypadá podobnÄ jako detail nebo Å¡um.
- Lidské oko snadno rozpozná, pokud je odstranÄn detail, ale ne
- už tak snadno pozná, že je Å¡um reprezentován Å¡patnÄ.
- Když pÅÃjde na subjektivnà kvalitu, pak jsou detaily a Å¡um do jisté mÃry
- zamÄnitelné.
- OslabenÃm deblokovacÃho filtru nejspÃÅ¡e zvýšÃte chybu, pÅidánÃm
- kroužkových artefaktů, ale oko si toho nevÅ¡imne, jelikož je zamÄnÃ
- za detaily.
- </para>
- <para>
- <emphasis role="bold">Ani to</emphasis> vÅ¡ak neospravedlÅuje
- oslabenà deblokovacÃho filtru.
- ObecnÄ dostanete kvalitnÄjšà šum pomocà postprocesingu.
- Pokud vaÅ¡e H.264 videa vypadajà pÅÃliÅ¡ neostÅe nebo rozmazanÄ, zkuste si
- pohrát s <option>-vf noise</option> pÅi pÅehrávánÃ.
- Volba <option>-vf noise=8a:4a</option> by mÄla skrýt vÄtÅ¡inu stÅednÄ silných
- artefaktů.
- TémÄÅ urÄitÄ to bude vypadat lépe, než výsledky, které byste mohli dosáhnout
- pohrávánÃm si s deblokovacÃm filtrem.
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>PÅÃklady nastavenà enkódovánÃ</title>
-
-<para>
-NásledujÃcà nastavenà jsou pÅÃklady nastavenà různých kombinacà voleb
-enkodéru, které ovlivÅujà pomÄr rychlost versus kvalita pÅi shodném
-cÃlovém datovém toku.
-</para>
-
-<para>
-Veškerá nastavenà byla testována na video vzorku 720x448 @30000/1001
-snÃmků za sekundu, cÃlový datový tok byl 900kbps a provádÄly se na
-AMD-64 3400+ pÅi 2400 MHz v režimu 64 bitů.
-Každá kombinace nastavenà má uvedenu zmÄÅenou rychlost enkódovánÃ
-(ve snÃmcÃch za sekundu) a ztrátu PSNR (v dB) oproti nastavenÃ
-"velmi vysoká kvalita".
-RozumÄjte vÅ¡ak že, v závislosti na vaÅ¡em zdrojovém materiálu, typu
-poÄÃtaÄe a pokrokům ve vývoji, můžete dospÄt k velmi odliÅ¡ným výsledkům.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Popis</entry>
- <entry>Volby</entry>
- <entry>Rychlost [fps]</entry>
- <entry>Relativnà ztráta PSNR [dB]</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Velmi vysoká kvalita</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6</entry>
- <entry>0</entry>
-</row>
-<row>
- <entry>Vysoká kvalita</entry>
- <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13</entry>
- <entry>-0.89</entry>
-</row>
-<row>
- <entry>Rychlé enkódovánÃ</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17</entry>
- <entry>-1.48</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-video-for-windows">
-<title>
- Enkódovánà rodinou kodeků
- <systemitem class="library">Video For Windows</systemitem>
-</title>
-
-<para>
-Video for Windows poskytuje jednoduché enkódovánà pomocà binárnÃch videokodeků.
-Můžete enkódovat následujÃcÃmi kodeky (pokud jich máte vÃc, ÅeknÄte nám to
-prosÃm!)
-</para>
-
-<para>
-Pamatujte, že podpora tÄchto kodeků je velmi experimentálnà a nÄkteré z nich
-nemusà pracovat správnÄ. NÄkteré kodeky budou pracovat pouze v urÄitých
-barevných prostorech. Pokud kodek selže, zkuste
-<option>-vf format=bgr24</option> a <option>-vf format=yuy2</option>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>Podporované kodeky Video for Windows</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Název souboru videokodeku</entry>
- <entry>Popis (FourCC)</entry>
- <entry>md5sum</entry>
- <entry>Poznámka</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft bezztrátový kodek vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>vyžaduje <option>-vf format</option></entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV (bezztrátový) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry>shareware chyba na windows</entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry>vadné FourCC?</entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 kodek VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>msulvc06.DLL</entry>
- <entry>MSU Lossless kodek (MSUD)</entry>
- <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
- <entry>
- Dekódovatelný <application>Window Media Player</application>em,
- <application>MPlayer</application>em nikoli (zatÃm).
- </entry>
-</row>
-<row>
- <entry>camcodec.dll</entry>
- <entry>CamStudio lossless video kodek (CSCD)</entry>
- <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
- <entry>sf.net/projects/camstudio</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-Prvnà pole obsahuje názvy kodeků, které by mÄly být zadány parametru
-<literal>codec</literal>, napÅÃklad:
-<option>-xvfwopts codec=divx.dll</option>
-Kód FourCC použÃvaný jednotlivými kodeky jsou uvedeny v závorce.
-</para>
-
-<informalexample>
-<para>
-PÅÃklad pÅevodu ISO DVD upoutávku na VP6 flash video soubor
-s použitÃm compdata nastavenà datového toku:
-<screen>
-mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>upoutavka.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf
-</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-video-for-windows-bitrate-settings">
-<title>Použità vfw2menc pro vytvoÅenà souboru s nastavenÃm kodeku.</title>
-
-<para>
- Pro enkódovánàs Video for Windows kodeky, budete muset nastavit datový tok
- a dalšà volby. FunkÄnost je potvrzena na platformnÄ x86 na *NIX i Windows.
-</para>
-<para>
- Nejprve musÃte sestavit program <application>vfw2menc</application>.
- Ten je umÃstÄn v podadresáÅi <filename class="directory">TOOLS</filename>
- zdrojových kódů MPlayeru.
- Pro sestavenà na Linuxu můžete použÃt <application>Wine</application>:
-<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
-Pro sestavenà na Windows v <application>MinGW</application> nebo
-<application>Cygwin</application> použijte:
-<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
-Pro sestavenà v <application>MSVC</application> budete potÅebovat getopt.
-Getopt lze najÃt v originálnÃm <application>vfw2menc</application>
-archivu dostupném na stránkách:
-<ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink> projektu.
-</para>
-<informalexample>
-<para>
- NÞe uvádÃme pÅÃklad s VP6 kodekem.
-<screen>
-vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf
-</screen>
-To otevÅe dialogové okno VP6 kodeku.
-Pro druhý průchod opakujte tento krok, ale
-použijte <option>-s <replaceable>secondpass.mcf</replaceable></option>.
-</para>
-</informalexample>
-<para>
-Uživatelé Windows mohou použÃt
-<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option>, aby dostali
-dialogové okno kodeku pÅed zahájenÃm enkódovánÃ.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-quicktime-7">
-<title>Použità <application>MEncoder</application>u pro vytvoÅenÃ
-<application>QuickTime</application>-kompatibilnÃch souborů</title>
-
-
-<sect2 id="menc-feat-quicktime-7-why-use-it">
-<title>ProÄ by nÄkdo chtÄl vytváÅet
-<application>QuickTime</application>-kompatibilnà soubory?</title>
-
-<para>
- Je nÄkolik důvodů, proÄ můžete chtÃt vytváÅet
- <application>QuickTime</application>-kompatibilnà soubory.
-</para>
-<itemizedlist>
-<listitem><para>
- Chcete, aby byl každý poÄÃtaÄový anlfabet schopen sledovat vaÅ¡e
- videa na jakékoli rozÅ¡ÃÅené platformÄ (Windows, Mac OS X, Unixy …).
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> je schopen využÃt vÃce
- harwarových i softwarových urychlovacÃch funkcà Mac OS X, než
- platformnÄ nezávislý pÅehrávaÄ, jako <application>MPlayer</application>
- nebo <application>VLC</application>.
- To znamená, že vaÅ¡e soubory majà šanci na plynulé pÅehrávánà na starÅ¡Ãch
- strojÃch s G4.
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> 7 podporuje H.264, kodek nové
- generace, který poskytuje podstatnÄ lepšà kvalitu obrazu, než pÅedchozÃ
- generace kodeků (MPEG-2, MPEG-4 …).
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-constraints">
-<title><application>QuickTime</application> 7 omezenÃ</title>
-
-<para>
- <application>QuickTime</application> 7 podporuje H.264 video a AAC zvuk,
- ale nepodporuje je, pokud jsou namuxovány v AVI kontejneru.
- Můžete vÅ¡ak použÃt <application>MEncoder</application> pro enkódovánÃ
- videa a zvuku a pak použÃt externà program, napÅ.
- <application>mp4creator</application> (souÄást
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>)
- pro pÅemuxovánà do MP4 kontejneru.
-</para>
-
-<para>
- Podpora H.264 v <application>QuickTime</application> je omezená,
- takže se budete muset vzdát nÄkterých pokroÄilých vlastnostÃ.
- Pokud enkódujete video s vlastnostmi, které
- <application>QuickTime</application> 7 nepodporuje,
- budou pÅehrávaÄe založené na <application>QuickTime</application>
- zobrazovat pouze hezky bÃlou obrazovku, mÃsto oÄekávaného videa.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">B-snÃmky</emphasis>:
- <application>QuickTime</application> 7 podporuje maximálnÄ 1 B-snÃmek, Äili
- <option>-x264encopts bframes=1</option>. To znamená, že
- <option>b_pyramid</option> a <option>weight_b</option> nebudou mÃt žádný
- efekt, jelikož vyžadujÃ, aby <option>bframes</option> bylo vyššà než 1.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Makrobloky</emphasis>:
- <application>QuickTime</application> 7 nepodporuje 8x8 DCT makrobloky.
- Tato volba (<option>8x8dct</option>) je výchozà vypnuto, takže se ujistÄte,
- že ji explicitnÄ nezapnete. To také znamená, že volba <option>i8x8</option>
- nebude mÃt žádný efekt, jelikož vyžaduje <option>8x8dct</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PomÄr stran</emphasis>:
- <application>QuickTime</application> 7 nepodporuje SAR (sample
- aspect ratio) informace v MPEG-4 souborech; pÅedpokládá, že SAR=1. PÅeÄtÄte
- si <link linkend="menc-feat-quicktime-7-scale">sekci o Å¡kálovánÃ</link>,
- abyste to obešli.
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-crop">
-<title>OÅez</title>
-<para>
- ÅeknÄme, že chcete ripnout svou novÄ zakoupenou kopii "Letopisů
- Narnie". Vaše DVD je region 1,
- což znamená že je v NTSC. PÅÃklad nÞe lze aplikovat na PAL,
- jen musÃte vynechat <option>-ofps 24000/1001</option> a použijete troÅ¡ku
- jiné <option>crop</option> a <option>scale</option> rozmÄry.
-</para>
-
-<para>
- Po spuÅ¡tÄnà <option>mplayer dvd://1</option>, postupujete podle pokynů
- uvedených v sekci <link linkend="menc-feat-telecine">Jak si poradit s telecine
- a prokladem v NTSC DVD</link> a zjistÃte, že je to
- 24000/1001 fps progresivnà video. To ponÄkud zjednodušà proces,
- jelikož nepotÅebujete použÃt inverznà telecine filtr jako
- <option>pullup</option> nebo filtr odstranÄnà prokladu jako
- <option>yadif</option>.
-</para>
-
-<para>
- Dále potÅebujete odstÅihnout Äerné okraje na zhora a zdola obrazu, podle postupu
- uvedeného v <link linkend="menc-feat-dvd-mpeg4-example-crop">této</link>
- pÅedeÅ¡lé sekci.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-scale">
-<title>Å kálovánÃ</title>
-
-<para>
- Dalšà krok je opravdu srdcervoucÃ.
- <application>QuickTime</application> 7 nepodporuje MPEG-4 videa
- se vzorkovým pomÄrem stran jiným než 1, takže budete muset obraz roztáhnout
- (to vyplýtvá spoustu diskového prostoru) nebo zmenÅ¡it (ÄÃmž ztratÃme nÄkteré
- detaily ze zdrojového videa) na Ätvercové pixely.
- AÅ¥ zvolÃte jakkoli, je to velmi neefektivnÃ, ale nelze se tomu vyhnout,
- pokud chcete, aby se video dalo pÅehrávat pomocÃ
- <application>QuickTime</application> 7.
- <application>MEncoder</application> může provést vhodné zvÄtÅ¡enà nebo
- zmenÅ¡enà uvedenÃm buÄ <option>-vf scale=-10:-1</option>
- nebo <option>-vf scale=-1:-10</option>.
- Takto naÅ¡kálujete video na správnou Å¡ÃÅku pro oÅezanou výšku,
- zarovnanou na nejbližšà násobek 16 pro optimálnà kompresi.
- Pamatujte, že pokud oÅezáváte, mÄli byste nejprve oÅezávat, potom
- škálovat:
-
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-avsync">
-<title>A/V synchronizace</title>
-
-<para>
- Protože budete muxovat do odliÅ¡ného nosného formátu, mÄli byste
- vždy použÃt volbu <option>harddup</option>, abyste se ujistili, že
- duplikované snÃmky budou duplikovány ve video výstupu. Bez této volby
- <application>MEncoder</application> jen vložà do video proudu znaÄky
- pro duplikované snÃmky a je jen na pÅehrávaÄi, aby zobrazil snÃmek dvakrát.
- NaneÅ¡tÄstà tato "mÄkká duplikace" nepÅežije pÅemuxovánÃ, takže se zvuk
- může pomalu rozjÞdÄt s videem.
-</para>
-
-<para>
- Celý ÅetÄz filtrů pak vypadá takto:
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-bitrate">
-<title>Datový tok</title>
-
-<para>
- Jako vždy je výbÄr datového toku otázkou technických parametrů
- zdroje, jak jsou objasnÄny
- <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">zde</link>,
- stejnÄ jako otázkou vkusu.
- Tento film je dost akÄnà a obsahuje mnoho detailů, ale H.264 video
- vypadá dobÅe pÅi mnohem menÅ¡Ãm datovém toku než XviD nebo jiné
- MPEG-4 kodeky.
- Po dlouhém experimentovánà se autor této pÅÃruÄky rozhodl enkódovat
- tento film pÅi 900kbps a myslÃ, že vypadá dobÅe.
- Můžete snÞit datový tok, pokud potÅebujete uÅ¡etÅit mÃsto, nebo jej zvýšit,
- chcete-li zvýšit kvalitu.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-example">
-<title>PÅÃklad enkódovánÃ</title>
-
-<para>
- Nynà jste pÅipraveni enkódovat video. Jelikož nám ležà na srdci kvalita,
- samozÅejmÄ použijeme vÃceprůchodové enkódovánÃ. Chcete-li ponÄkud
- urychlit enkódovánÃ, můžete pÅidat volbu <option>turbo</option>
- do prvnÃho průchodu; to snižuje <option>subq</option> a
- <option>frameref</option> na 1. Pro zvýšenà diskového prostoru, můžete
- použÃt volbu <option>ss</option> pro odstranÄnà prvnÃch nÄkolika sekund
- videa. (Zjistil jsem, že tento konkrétnà film má 32 sekund
- log a titulků.) <option>bframes</option> může být 0 nebo 1.
- Ostatnà volby jsou dokumentovány v <link
- linkend="menc-feat-x264-encoding-options-speedvquality">Enkódovánà s
- <systemitem class="library">x264</systemitem> kodekem</link> a
- v man stránce.
-
- <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- Pokud máte vÃceprocesorový stroj, nenechte si ujÃt pÅÃležitost podstatnÄ zvýšit
- enkódovánà zapnutÃm
- <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
- <systemitem class="library">x264</systemitem> vÃcevláknového režimu</link>
- pÅidánÃm <option>threads=auto</option> do <option>x264encopts</option>
- na pÅÃkazovém Åádku.
-</para>
-
-<para>
- Druhý průchod je stejný, jen nastavÃte výstupnà soubor
- a nastavÃte <option>pass=2</option>.
-
- <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-</para>
-
-<para>
- Výsledné AVI by mÄlo perfektnÄ hrát v
- <application>MPlayer</application>u, ale
- <application>QuickTime</application> jej nepÅehraje, jelikož
- nepodporuje H.264 muxovaný v AVI.
- Takže dalÅ¡Ãm krokem je pÅemuxovat video do MP4 konteineru.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-remux">
-<title>PÅemuxovánà do MP4</title>
-
-<para>
- Existuje spousta způsobů, jak remuxovat AVI do MP4. Můžete použÃt
- <application>mp4creator</application>, který je souÄástÃ
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>.
-</para>
-
-<para>
- Nejprve demuxujte AVI do oddÄlených zvukových a video proudů, pomocÃ
- <application>MPlayer</application>u.
-
- <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
-mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
-
- Jména souborů jsou důležitá; <application>mp4creator</application>
- vyžaduje, aby AAC zvukové proudy byly pojmenovány <systemitem>.aac</systemitem>
- a H.264 video proudy zase <systemitem>.h264</systemitem>.
-</para>
-
-<para>
- Nynà použijte <application>mp4creator</application> pro vytvoÅenà nového
- MP4 souboru ze zvukového a video proudů.
-
- <screen>mp4creator -create=narnia.aac narnia.mp4
-mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
-
- NarozdÃl od enkódovacÃho kroku, musÃte zadat snÃmkovou rychlost jako
- desetinné ÄÃslo (napÅ. 23.976), nikoli zlomek (napÅ. 24000/1001).
-</para>
-
-<para>
- Tento <systemitem>narnia.mp4</systemitem> soubor by mÄl být pÅehratelný
- jakoukoli <application>QuickTime</application> 7 aplikacÃ, jako je
- <application>QuickTime Player</application> nebo
- <application>iTunes</application>. Pokud plánujete sledovat video ve
- webovém prohlÞeÄi s <application>QuickTime</application>
- pluginem, mÄli byste rovnÄž oznaÄkovat film, aby jej
- <application>QuickTime</application> plugin mohl zaÄÃt pÅehrávat už
- v dobÄ stahovánÃ. <application>mp4creator</application>
- umà vytvoÅit znaÄkovacà (hint) stopy:
-
- <screen>mp4creator -hint=1 narnia.mp4
-mp4creator -hint=2 narnia.mp4
-mp4creator -optimize narnia.mp4</screen>
-
- Můžete ovÄÅit výsledek, abyste se ujistili, že znaÄkovacà stopy byly vytvoÅeny
- úspÄÅ¡nÄ:
-
- <screen>mp4creator -list narnia.mp4</screen>
-
- MÄli byste vidÄt seznam stop: 1 zvukovou, 1 video a 2 znaÄkovacà stopy.
-
-<screen>Track Type Info
-1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
-2 video H264 Main at 5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
-3 hint Payload mpeg4-generic for track 1
-4 hint Payload H264 for track 2
-</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-metadata">
-<title>PÅidánà stop s meta daty</title>
-
-<para>
- Pokud chcete pÅidat stopy, které se objevujà v iTunes, můžete použÃt
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
-
- <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- Volba <option>--metaEnema</option> odstraÅuje existujÃcà metadata
- (<application>mp4creator</application> vkládá své jméno do
- "encoding tool" tagu) a <option>--freefree</option> uvolnà mÃsto
- po smazaných metadatech.
- Volba <option>--stik</option> nastavà typ videa (jako Film
- nebo TV Å¡ou), což iTunes použÃvá pro sdružovánà podobných video souborů.
- Volba <option>--overWrite</option> pÅepisuje původnà soubor;
- bez nà vytvoÅà <application>AtomicParsley</application> nový
- automaticky pojmenovaný soubor ve stejném adresáÅi a ponechá
- původnà soubor nedotÄen.
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>Použità <application>MEncoder</application>u
- k vytváÅenà VCD/SVCD/DVD-kompatibilnÃch souborů.</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>Omezenà Formátů</title>
-
-<para>
-<application>MEncoder</application> je schopen vytvoÅit soubory ve
-formátu MPEG pro VCD, SCVD a DVD pomocà knihovny
-<systemitem class="library">libavcodec</systemitem>.
-Tyto soubory pak mohou být použity ve spojenàs programem
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
-nebo
-<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
-pro vytváÅenà disků pÅehratelných na stolnÃm pÅehrávaÄi.
-</para>
-
-<para>
-Formáty DVD, SVCD a VCD majà silná omezenÃ.
-K dispozici máte pouze malý výbÄr velikostà enkódovaného
-obrazu a pomÄrů stran.
-Pokud váš film nesplÅuje tyto požadavky, budete jej muset Å¡kálovat, oÅezat
-nebo pÅidat Äerné okraje, aby byl kompatibilnÃ.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>Omezenà Formátů</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
-<row>
- <entry>Formát</entry>
- <entry>RozliÅ¡enÃ</entry>
- <entry>V. kodec</entry>
- <entry>V. dat. tok</entry>
- <entry>Vzork. kmitoÄet</entry>
- <entry>A. kodec</entry>
- <entry>A. dat. tok</entry>
- <entry>FPS</entry>
- <entry>PomÄr stran</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>ACâ3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (pouze pro 720x480)</entry>
-</row>
-<row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- Tato rozliÅ¡enà jsou zÅÃdka použita pro DVD, protože
- majà docela nÃzkou kvalitu.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>ACâ3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,ACâ3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (pouze pro 720x576)</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,ACâ3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Pokud má vaÅ¡e video pomÄr stran 2.35:1 (vÄtÅ¡ina souÄasných akÄnÃch filmů),
-budete muset pÅidat Äerné okraje, nebo oÅezat video na 16:9, abyste mohli
-vytvoÅit DVD nebo VCD.
-Pokud pÅidáváte Äerné okraje, zkuste je napasovat do 16 pixelových okrajů,
-abyste minimalizovali vliv na výkon enkódovánÃ.
-NaÅ¡tÄstà má DVD dostateÄnÄ vysoký datový tok, takže se nemusÃte pÅÃliÅ¡
-zabývat efektivitou enkódovánÃ, ale u SVCD a VCD je k dispozici jen malý
-datový tok, takže vyžaduje vÄtšà snahu pro dosaženà pÅijatelné kvality.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>Omezenà velikosti GOP</title>
-
-<para>
-DVD, VCD a SVCD vás rovnÄž omezujà na relativnÄ nÃzké GOP (skupina obrázků)
-velikosti.
-Pro materiál 30 snÃmků za sekundu je nejvÄtšà povolená GOP velikost 18.
-Pro 25 nebo 24 snÃmků/s je maximum 15.
-Velikost GOP je nastavena pomocà volby <option>keyint</option>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>Omezenà datového toku</title>
-<para>
-VCD video musà být CBR pÅi 1152 kbps.
-Tento velmi omezujÃcà požadavek je zde spolu s velmi malou vbv vyrovnávacÃ
-pamÄtà 327 kilobitů.
-SVCD umožÅuje promÄnné datové toky až do 2500 kbps a ponÄkud ménÄ
-omezujÃcà velikost vbv bufferu 917 kilobitů.
-Datové toky pro DVD mohou být libovolné až do 9800 kbps (aÄkoli typické
-datové toky jsou asi poloviÄnÃ) a velikost vbv buferu je 1835 kilobitů.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>Výstupnà volby</title>
-<para>
-<application>MEncoder</application> má volby pro ovládánà výstupnÃho formátu.
-Pomocà tÄchto voleb jej můžete instruovat, aby použil správný typ souboru.
-</para>
-
-<para>
-Volby pro VCD a SVCD se nazývajà xvcd a xsvcd, protože to jsou rozÅ¡ÃÅené
-formáty.
-Nejsou pÅesnÄ kompatibilnà hlavnÄ proto, že výstup neobsahuje skenovacÃ
-offsety.
-Pokud potÅebujete generovat SVCD obraz, mÄli byste protáhnout výstupnà soubor
-programem
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
-</para>
-
-<para>
-VCD:
-<screen>-of mpeg -mpegopts format=xvcd</screen>
-</para>
-
-<para>
-SVCD:
-<screen>-of mpeg -mpegopts format=xsvcd</screen>
-</para>
-
-<para>
-DVD (s Äasovými znaÄkami v každém snÃmku, je-li to možné):
-<screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
-</para>
-
-<para>
-DVD s NTSC Pullup:
-<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
-Toto umožÅuje enkódovat 24000/1001 fps progresivnà materiál pÅi 30000/1001
-fps pÅi zachovánà sluÄitelnosti s DVD.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>PomÄr stran</title>
-
-<para>
-Argument aspect z <option>-lavcopts</option> se použÃvá pro zakódovánÃ
-pomÄru stran souboru.
-BÄhem pÅehrávánà je pak tato hodnota použita pro obnovenà videa na
-správnou velikost.
-</para>
-
-<para>
-16:9 neboli "Widescreen"
-<screen>-lavcopts aspect=16/9</screen>
-</para>
-
-<para>
-4:3 neboli "Fullscreen"
-<screen>-lavcopts aspect=4/3</screen>
-</para>
-
-<para>
-2.35:1 neboli "Cinemascope" NTSC
-<screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
-Pro výpoÄet správné velikosti pro Å¡kálovánÃ, použijte rozÅ¡ÃÅenou NTSC Å¡ÃÅku
-854/2.35 = 368
-</para>
-
-<para>
-2.35:1 neboli "Cinemascope" PAL
-<screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
-Pro výpoÄet správné velikosti pro Å¡kálovánÃ, použijte rozÅ¡ÃÅenou PAL Å¡ÃÅku
-1024/2.35 = 432
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>Zachovánà A/V synchronizace</title>
-
-<para>
-Aby byla zachována synchronizace zvuku s videem bÄhem enkódovánÃ, musÃ
-<application>MEncoder</application> zahazovat nebo duplikovat snÃmky.
-To funguje celkem dobÅe pÅi muxovánà do AVI souboru, ale témÄÅ s jistotou
-neudržà A/V synchronizaci s jinými muxery jako MPEG.
-To je důvodem pro nutnost pÅidánà video fitru <option>harddup</option> na
-konec ÅetÄzu filtrů, abychom se tomuto problému vyhnuli.
-VÃce technických informacà o <option>harddup</option> naleznete v sekci
-<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Zlepšenà muxovánà a
-A/V synchronizace</link>, nebo v man stránce.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>PÅevod vzorkovacÃho kmitoÄtu</title>
-
-<para>
-Pokud nenà vzorkovacà kmitoÄet zvuku takový, jaký je vyžadován
-cÃlovým formátem, je nutný pÅevod vzorkovacÃho kmitoÄtu.
-To zajišťuje použità volby <option>-srate</option> spolu se zvukovým filtrem
-<option>-af lavcresample</option>.
-</para>
-
-<para>
-DVD:
-<screen>-srate 48000 -af lavcresample=48000</screen>
-</para>
-<para>
-VCD a SVCD:
-<screen>-srate 44100 -af lavcresample=44100</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>Použità libavcodec pro enkódovánà VCD/SVCD/DVD</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Ãvodem</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem> můžete použÃt pro
-vytvoÅenà videa kompatibilnÃho s VCD/SVCD/DVD použitÃm pÅÃsluÅ¡ných voleb.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-
-<para>
-Zde máte seznam polà v <option>-lavcopts</option>, která je nutné
-zmÄnit, abyste dostali video vhodné pro VCD, SVCD,
-nebo DVD:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> pro VCD, SVCD nebo PAL DVD;
- <option>ac3</option> je obecnÄ použÃván pro DVD.
- PCM zvuk může být rovnÄž použitý pro DVD, ale vÄtÅ¡inou je to velké plýtvánÃ
- mÃstem.
- Poznamenejme, že MP3 nenà sluÄitelné s žádným z tÄchto formátů, ale
- pÅehrávaÄe s jeho pÅehrátÃm obvykle nemajà problém.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 pro VCD; do 384 pro SVCD; do 1536 pro DVD, ale obvykle se hodnoty
- pohybujà od 192 kbps pro stereo do 384 kbps pro 5.1 kanálový zvuk.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> pro VCD;
- <option>mpeg2video</option> pro SVCD;
- <option>mpeg2video</option> je obvykle použitý pro DVD, ale můžete použÃt také
- <option>mpeg1video</option> pro CIF rozliÅ¡enÃ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- Použitý pro nastavenà velikosti GOP.
- 18 pro 30fps materiál, nebo 15 pro 25/24 fps materiál.
- Zdá se, že komerÄnà producenti preferujà interval mezi klÃÄovými snÃmky 12.
- Je možné použÃt vyššà hodnotu a stále být kompatibilnà s vÄtÅ¡inou
- pÅehrávaÄů.
- <option>keyint</option> na 25 by nemÄla nikdy způsobit potÞe.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 pro VCD, 917 pro SVCD a 1835 pro DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152, pro VCD. Může být vynecháno pro SVCD a DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 pro VCD; 2500 pro SVCD; 9800 pro DVD.
- Pro SVCD a DVD, můžete použÃt nižšà hodnoty v závislosti na vaÅ¡ich
- osobnÃch preferencÃch a potÅebách.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 pro VCD;
- do 2500 pro SVCD;
- do 9800 pro DVD.
- Pro dva poslednà formáty by mÄlo být vbitrate nastaveno podle vlastnÃho
- uváženÃ.
- NapÅÃklad pokud trváte na umÃstÄnà asi 20 hodin na DVD, mohli byste použÃt
- vbitrate=400.
- Výsledná kvalita bude nejspÃÅ¡ hrozná.
- Pokud se pokouÅ¡Ãte dosáhnout maximálnà možné kvality na DVD, použijte
- vbitrate=9800, ale pak se vám nevejde ani celá hodina záznamu na jednovrstvé
- DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vstrict</emphasis>:
- Pro vytváÅenà DVD by mÄlo být použito <option>vstrict</option>=0.
- Bez této volby vytvoÅà <application>MEncoder</application> datový
- proud, který nÄkteré stolnà pÅehrávaÄe neumà správnÄ dekódovat.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>PÅÃklady</title>
-
-<para>
-Toto je typická minimálnà sada <option>-lavcopts</option> pro
-enkódovánà videa:
-</para>
-<para>
-VCD:
-<screen>
--lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
-vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-SVCD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
-keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-DVD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>PokroÄilé volby</title>
-
-<para>
-Pro vyššà kvalitu enkódovánà můžete také pÅidat kvalitu zlepÅ¡ujÃcà volby
-do lavcopts, jako je <option>trell</option>,
-<option>mbd=2</option> a dalÅ¡Ã.
-Poznamenejme, že <option>qpel</option> a <option>v4mv</option>, které jsou
-Äasto dobré pro MPEG-4, nejsou použitelné s MPEG-1 nebo MPEG-2.
-Pokud se snažÃte vytvoÅit DVD s velmi vasokou kvalitou, může být vhodné
-pÅidat <option>dc=10</option> do lavcopts.
-Takto to můžete pomoci omezit obÄvovánà bloků ve stálobarevných plochách.
-Podtrženo seÄteno, zde máte pÅÃklad nastavenà lavcopts pro DVD s vyššÃ
-kvalitou:
-</para>
-
-<para>
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
-keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
-vqmin=1:lmin=1:dc=10:vstrict=0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>Enkódovánà zvuku</title>
-
-<para>
-VCD a SVCD podporujà zvuk MPEG-1 layer II. PoužÃt můžete
-<systemitem class="library">toolame</systemitem>,
-<systemitem class="library">twolame</systemitem>,
-nebo MP2 enkodér z <systemitem class="library">libavcodec</systemitem>u.
-MP2 libavcodecu je dalek toho, aby byl stejnÄ dobrý jako druhé dvÄ knihovny,
-avÅ¡ak mÄl by být vždy po ruce.
-VCD podporuje pouze zvuk s konstantnÃm datovým tokem (CBR), zatÃmco SVCD
-podporuje také promÄnný datový tok (VBR).
-PoužÃvejte VBR opatrnÄ, jelikož nÄkteré mizerné stolnà pÅehrávaÄe jej
-nemusà dobÅe podporovat.
-</para>
-
-<para>
-Pro DVD zvuk se použÃvá ACâ3 kodek z
-<systemitem class="library">libavcodec</systemitem>.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-
-<para>
-Pro VCD a SVCD:
-<screen>-oac toolame -toolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-
-<para>
-Pro VCD a SVCD:
-<screen>-oac twolame -twolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-
-<para>
-Pro DVD s 2 kanálovým zvukem:
-<screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
-</para>
-
-<para>
-Pro DVD s 5.1 kanálovým zvukem:
-<screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
-</para>
-
-<para>
-Pro VCD a SVCD:
-<screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>Spojenà všeho dohromady</title>
-
-<para>
-Tato sekce obsahuje kompletnà pÅÃkazy pro vytvoÅenà VCD/SVCD/DVD
-kompatibilnÃch videÃ.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>PAL DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>NTSC DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>PAL AVI obsahujÃcà ACâ3 zvuk do DVD</title>
-
-<para>
-Pokud již má zdroj ACâ3 zvuk, použijte -oac copy mÃsto reenkódovánÃ.
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -ofps 25 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:aspect=16/9 -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>NTSC AVI obsahujÃcà ACâ3 zvuk do DVD</title>
-
-<para>
-Pokud již má zdroj ACâ3 zvuk a video je NTSC @ 24000/1001 fps:
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>PAL SVCD</title>
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>NTSC SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>PAL VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>NTSC VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/cs/faq.xml b/DOCS/xml/cs/faq.xml
deleted file mode 100644
index 8f7ba9c..0000000
--- a/DOCS/xml/cs/faq.xml
+++ /dev/null
@@ -1,1295 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Synced with r24035 -->
-<chapter id="faq" xreflabel="FAQ">
-<title>Äasto Kladené Dotazy (FAQ)</title>
-
-<qandaset defaultlabel="qanda">
-
-<qandadiv id="faq-development">
-<title>Vývoj</title>
-
-<qandaentry>
-<question><para>
-Jak vytvoÅÃm správnÄ patch pro <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Sepsali jsme <ulink url="../../tech/patches.txt">krátký dokument</ulink>
-popisujÃcà vÅ¡echny nezbytné detaily. Následujte tyto instrukce.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak pÅeložÃm <application>MPlayer</application> do nového jazyka?
-</para></question>
-<answer><para>
-PÅeÄtÄte si <ulink url="../../tech/translations.txt">translation HOWTO</ulink>,
-to vám objasnà vÅ¡e. PodrobnÄjšà pomoc můžete dostat v e-mailové konferenci
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer–translations</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu podpoÅit vývoj <application>MPlayer</application>u?
-</para></question>
-<answer><para>
-Rádi pÅijmeme vaÅ¡e hardwarové a softwarové
-<ulink url="http://www.mplayerhq.hu/donations.html">pÅÃspÄvky</ulink>.
-Ty nám pomáhajà neustále vylepšovat <application>MPlayer</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak se mohu stát vývojáÅem <application>MPlayer</application>u?
-</para></question>
-<answer><para>
-Vždy uvÃtáme nové kodéry i dokumentaristy. PÅeÄtÄte si
-<ulink url="../../tech/">technickou dokumentaci</ulink>
-abyste dostali obecnou pÅedstavu. Pak byste se mÄli pÅihlásit do
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-e-mailové konference a zaÄÃt psát kód. Pokud chcete pomoci s dokumentacÃ, pÅipojte se do
-konference
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ProÄ nepoužÃváte autoconf/automake?
-</para></question>
-<answer><para>
-Máme modulárnÃ, ruÄnÄ dÄlaný konfiguraÄnà a pÅekladový systém, který odvádÃ
-docela dobrou práci, tak proÄ to mÄnit? Konec konců se nám nelÃbà auto*
-nástroje, stejnÄ jako
-<ulink url="http://freshmeat.net/articles/view/889/">ostatnÃm lidem</ulink>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-compilation-installation">
-<title>Kompilace a instalace</title>
-
-<qandaentry>
-<question><para>
-Kompilace skonÄà s chybou a <application>gcc</application> vypÃÅ¡e nÄjakou
-záhadnou zprávu obsahujÃcà frázi
-<systemitem>internal compiler error</systemitem> nebo
-<systemitem>unable to find a register to spill</systemitem> nebo
-<systemitem>can't find a register in class `GENERAL_REGS'
-while reloading `asm'</systemitem>.
-</para></question>
-<answer><para>
-PrávÄ jste narazili na chybu v <application>gcc</application>.
-<ulink url="http://gcc.gnu.org/bugs.html">Nahlaste ji prosÃm týmu gcc</ulink>,
-nikoli nám. Z nÄjakého důvodu se zdá, že <application>MPlayer</application>
-Äasto spouÅ¡tà chyby kompileru. PÅesto je vÅ¡ak nebudeme odstraÅovat, ani je
-v naÅ¡ich zdrojových textech obcházet. Chcete-li se vyhnout tÄmto problémům,
-zůstaÅte vÄrni té verzi kompileru, která je známa jako spolehlivá a stabilnÃ,
-nebo Äasto upgradujte.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Existujà binárnà (RPM/Debian) balÃÄky <application>MPlayer</application>u?
-</para></question>
-<answer><para>
-Podrobnosti viz sekce <link linkend="debian">Debian</link> a <link linkend="rpm">RPM</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu skompilovat 32 bitový <application>MPlayer</application> na 64 bitovém
-Athlonu?
-</para></question>
-<answer><para>
-VyzkouÅ¡ejte následujÃcà volby configure:
-<screen>
-./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Configure skonÄà s následujÃcÃm textem a <application>MPlayer</application> se nezkompiluje!
-<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
-</para></question>
-<answer><para>
-VaÅ¡e gcc nenà správnÄ nainstalováno, detaily naleznete v souboru
-<filename>config.log</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mám Matrox G200/G400/G450/G550, jak zkompiluji/použiji ovladaÄ
-<systemitem>mga_vid</systemitem>?
-</para></question>
-<answer><para>
-PÅeÄtÄte si sekci <link linkend="mga_vid">mga_vid</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-BÄhem 'make', si <application>MPlayer</application> stÄžuje na chybÄjÃcÃ
-X11 knihovny. Tomu nerozumÃm, vždyÅ¥ <emphasis>mám</emphasis> nainstalovány X11!?
-</para></question>
-<answer><para>
-... ale nemáte nainstalován vývojáÅský (dev/devel) balÃÄek pro X11.
-Nebo ne zprávnÄ.
-V Red Hatu se nazývá <filename>XFree86-devel*</filename>,
-v Debianu Woody je to <filename>xlibs-dev</filename>,
-v Debianu Sarge je to <filename>libx11-dev</filename>. Také se pÅesvÄdÄte,
-že symlinky <filename class="directory">/usr/X11</filename> a
-<filename class="directory">/usr/include/X11</filename> existujÃ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Kompilace na Mac OS 10.3 vede k nÄkolika linkovacÃm chybám.
-</para></question>
-<answer>
-<para>
-Chyba linkovánÃ, kterou zakouÅ¡Ãte vypadá nejspÃÅ¡ takto:
-<screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
-</screen>
-Tento problém působà vývojáÅi Apple, kteÅà použÃvajà 10.4 pro kompilaci
-svého software a distribuujà binárky uživatelům 10.3 pÅes
-Software Update.
-Nedefinované symboly jsou pÅÃtomny v Mac OS 10.4,
-ale nikoli 10.3.
-JednÃm z ÅeÅ¡enà může být downgrade na QuickTime 7.0.1.
-NásledujÃcà ÅeÅ¡enà je vÅ¡ak lepÅ¡Ã.
-</para>
-<para>
-ZÃskejte
-<ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">staršà verzi frameworků</ulink>.
-ZÃskáte zde komprimovaný soubor obsahujÃcà QuickTime
-7.0.1 Framework a 10.3.9 QuartzCore Framework.
-</para>
-<para>
-Rozbalte soubory nÄkde mimo adresáŠSystem.
-(Äili neinstalujte tyto frameworky do svého
-<filename class="directory">/System/Library/Frameworks</filename>!
-Použità tÄchto starÅ¡Ãch verzà sloužà jen k obejità linkovacÃch chyb!)
-<screen>gunzip < CompatFrameworks.tgz | tar xvf -</screen>
-V config.mak byste mÄli pÅidat
-<systemitem>-F/cesta/kam/jste/to/rozbalili</systemitem>
-do promÄnné <systemitem>OPTFLAGS</systemitem>.
-Pokud použÃváte <application>X-Code</application>, můžete prostÄ zvolit tyto
-frameworky mÃsto systémových.
-</para>
-<para>
-Výsledná binárka <application>MPlayer</application>u bude využÃvat
-framework nainstalovaný na vaÅ¡em systému pÅes dynamické linkovánÃ
-provádÄné za bÄhu.
-(Můžete si to ovÄÅit pomocà <systemitem>otool -l</systemitem>).
-</para>
-</answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-general">
-<title>Obecné dotazy</title>
-
-<qandaentry>
-<question><para>
-Existujà nÄjaké e-mailové konference pro <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Ano. PodÃvejte se do sekce
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">e-mailových konferencÃ</ulink>
-našà domácà stránky.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-NaÅ¡el/naÅ¡la jsem odpornou chybu když jsem chtÄl(a) pÅehrát svůj oblÃbený film!
-Komu to mám oznámit?
-</para></question>
-<answer><para>
-PÅeÄtÄte si prosÃm <link linkend="bugreports">postupy hlášenà chyb</link>
-a následujte instrukce.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mám potÞe s pÅehrávánÃm souborů s ... kodekem. Mohu je použÃvat?
-</para></question>
-<answer><para>
-ProvÄÅte
-<ulink url="../../codecs-status.html">stav kodeku</ulink>,
-pokud neobsahuje váš kodek, pÅeÄtÄte si
-<ulink url="../../tech/win32-codec-howto">Win32 codec HOWTO</ulink>
-a kontaktujte nás.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-PÅi startu pÅehrávánà dostanu následujÃcà hlášku, ale jinak vÅ¡e vypadá dobÅe:
-<screen>Linux RTC init: ioctl (rtc_pie_on): Permission denied</screen>
-</para></question>
-<answer><para>
-PotÅebujete speciálnÄ nastavené jádro, abychom mohli použÃt
-RTC ÄasovánÃ. Detaily naleznete v <link linkend="rtc">RTC</link> Äásti
-dokumentace.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak si mohu udÄlat snÃmek obrazovky?
-</para></question>
-<answer><para>
-Abyste si mohli udÄlat snÃmek, musÃte použÃt video výstupnà rozhranÃ, které
-nepoužÃvá pÅekrývánÃ. Jde to napÅÃklad pod X11 s <option>-vo x11</option>, pod
-Windows funguje <option>-vo directx:noaccel</option>.
-</para>
-<para>
-AlternativnÄ můžete spustit <application>MPlayer</application> s video filtrem
-<systemitem>screenshot</systemitem>
-(<option>-vf screenshot</option>) a stisknout tlaÄÃtko <keycap>s</keycap>
-pro sejmutà obrazu.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Co znamenajà ÄÃsla na stavovém Åádku?
-</para></question>
-<answer><para>
-PÅÃklad:
-<screen>
-A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>A: 2.1</systemitem></term>
- <listitem><para>pozice zvukové stopy v sekundách</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>V: 2.2</systemitem></term>
- <listitem><para>pozice videa v sekundách</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V: -0.167</systemitem></term>
- <listitem><para>odchylka audio-video v sekundách (zpoždÄnà (delay))</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>ct: 0.042</systemitem></term>
- <listitem><para>celková provedená korekce A-V synchronizace</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>57/57</systemitem></term>
- <listitem><para>snÃmků pÅehráno/dekódováno (poÄÃtáno od poslednÃho pÅevÃjenÃ)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>41%</systemitem></term>
- <listitem><para>
- zatÞenà CPU video kodekem v procentech
- (pÅi slice renderovánà a direct renderovánà zahrnuje i video_out)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0%</systemitem></term>
- <listitem><para>video_out zatÞenà CPU</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2.6%</systemitem></term>
- <listitem><para>procentuálnà zatÞenà CPU audio kodekem</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0</systemitem></term>
- <listitem><para>poÄet zahozených snÃmků pro zachovánà A-V synchronizace</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>4</systemitem></term>
- <listitem><para>aktuálnà úroveÅ postprocesingu obrazu (pÅi použitÃ
-<option>-autoq</option>)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>49%</systemitem></term>
- <listitem><para>aktuálnà naplnÄnà vyrovnávacà pamÄti (bÄžnÄ okolo 50%)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>1.00x</systemitem></term>
- <listitem><para>rychlost pÅehrávánà v násobcÃch původnà rychlosti</para></listitem>
-</varlistentry>
-</variablelist>
-VÄtÅ¡ina z nich je urÄena pro ladÄnà chyb. Použijte volbu <option>-quiet</option>,
-aby zmizely.
-U nÄkterých souborů můžete vidÄt, že zatÞenà CPU video_outem je nulové (0%).
-To proto, že je volán pÅÃmo video kodekem a nelze jej mÄÅit oddÄlenÄ.
-Pokud chcete znát rychlost video_out, porovnejte rozdÃl pÅi pÅehrávánà souboru
-do <option>-vo null</option> a do obvyklého video výstupnÃho zaÅÃzenÃ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Objevuje se chybová zpráva o chybÄjÃcÃm souboru
-<filename>/usr/local/lib/codecs/</filename> ...
-</para></question>
-<answer><para>
-StáhnÄte si a nainstalujte binárnà kodeky z naÅ¡Ã
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">download stránky</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak zaÅÃdit, aby si <application>MPlayer</application> pamatoval volby, které
-použÃvám pro konkrétnà soubor, napÅ. <filename>film.avi</filename>?
-</para></question>
-<answer><para>
-VytvoÅte soubor s názvem <filename>film.avi.conf</filename> s volbami jen pro
-tento soubor a umÃstÄte jej do <filename class="directory">~/.mplayer</filename>
-nebo do adresáÅe s filmem.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Titulky jsou hezké, nejkrásnÄjšà jaké jsem vidÄl, ale zpomalujà pÅehrávánÃ!
-VÃm že je to nepravdÄpodobné ...
-</para></question>
-<answer><para>
-Poté co provedete <filename>./configure</filename>,
-vyeditujte <filename>config.h</filename> a nahraÄte
-<systemitem>#undef FAST_OSD</systemitem> za
-<systemitem>#define FAST_OSD</systemitem>. Pak rekompilujte.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nemohu se dostat do GUI menu. Kliknu pravým tlaÄÃtkem, ale nemám pÅÃstup
-k žádné z položek!
-</para></question>
-<answer><para>
-PoužÃváte FVWM? Zkuste následujÃcÃ:
-<orderedlist>
-<listitem><para>
- <menuchoice><guimenu>Start</guimenu><guisubmenu>Settings</guisubmenu>
- <guisubmenu>Configuration</guisubmenu>
- <guimenuitem>Base Configuration</guimenuitem></menuchoice>
-</para></listitem>
-<listitem><para>
- Set <systemitem>Use Applications position hints</systemitem>
- to <systemitem>Yes</systemitem>
-</para></listitem>
-</orderedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu spustit <application>MPlayer</application> na pozadÃ?
-</para></question>
-<answer><para>
-Použijte:
-<screen>
-mplayer <replaceable>volby</replaceable> <replaceable>soubor</replaceable> < /dev/null &
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-playback">
-<title>PotÞe s pÅehrávánÃm</title>
-
-<qandaentry>
-<question><para>
-Nemohu pÅijÃt na pÅÃÄinu nÄjakého podivného problému pÅi pÅehrávánÃ.
-</para></question>
-<answer><para>
-Máte zatoulaný soubor <filename>codecs.conf</filename> v
-<filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
-<filename>/usr/local/etc/</filename> a podobnÄ? OdstraÅte jej, protože
-zastaralé <filename>codecs.conf</filename> soubory mohou způsobit obskurnÃ
-potÞe a jsou zamýšleny jen pro použità vývojáÅi pracujÃcÃmi na podpoÅe kodeků.
-Tento soubor má pÅednost pÅed vestavÄným nastavenÃm kodeků
-<application>MPlayer</application>u, což způsobà katastrofu, jakmile dojde
-k nekompatibilnÃm zmÄnám v nových verzÃch programu.
-Pokud nenà použÃván experty, jedná se jistou cestu do pekel, působÃcÃ
-náhodné a tÄžko odhalitelné pády aplikace a problémy s pÅehrávánÃm.
-Pokud jej tedy stále jeÅ¡tÄ nÄkde máte, ihned se jej zbavte.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak dostanu titulky do Äerných okrajů kolem filmu?
-</para></question>
-<answer><para>
-Použijte video filtr <systemitem>expand</systemitem> pro rozÅ¡ÃÅenà vertikálnÃho
-rozmÄru oblasti do které je film renderován a umÃstÄte film do jejà hornà Äásti,
-napÅÃklad:
-<screen>mplayer -vf expand=0:-100:0:0 -slang de dvd://1</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu vybrat audio/titulkové stopy z DVD, OGM, Matroska nebo NUT souboru?
-</para></question>
-<answer><para>
-MusÃte použÃt <option>-aid</option> (ID zvuku) nebo <option>-alang</option>
-(jazyk zvuku), <option>-sid</option>(ID titulků) nebo <option>-slang</option>
-(jazyk titulků), napÅÃklad:
-<screen>
-mplayer -alang eng -slang eng <replaceable>example.mkv</replaceable>
-mplayer -aid 1 -sid 1 <replaceable>example.mkv</replaceable>
-</screen>
-Chcete-li vÄdÄt jaké jsou k dispozici:
-<screen>
-mplayer -vo null -ao null -frames 0 -v <replaceable>filename</replaceable> | grep sid
-mplayer -vo null -ao null -frames 0 -v <replaceable>filename</replaceable> | grep aid
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ZkouÅ¡Ãm pÅehrávat náhodný stream z internetu, ale nedaÅà se mi to.
-</para></question>
-<answer><para>
-Zkuste pÅehrávat stream s volbou <option>-playlist</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Stáhnul jsem si film pÅes P2P sÃÅ¥ ale nefunguje!
-</para></question>
-<answer><para>
-Váš soubor je poškozený nebo falešný. Pokud jej máte od kámoše a jemu funguje,
-zkuste si porovnat
-<application>md5sum</application> hashe.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-NedaÅÃ se mi pÅimÄt titulky, aby se zobrazovaly, pomoc!!
-</para></question>
-<answer><para>
-UjistÄte se, že máte správnÄ nainstalovány fonty. Znovu proveÄte kroky v Äásti
-<link linkend="fonts-osd">Fonty a OSD</link> sekce instalace.
-Pokud použÃváte TrueType fonty, ovÄÅte zda máte nainstalovánu
-<systemitem class="library">FreeType</systemitem> knihovnu.
-Dalšà postup zahrnuje provÄÅenà vaÅ¡ich titulků v textovém editoru nebo v jiných
-pÅehrávaÄÃch. Také je zkuste pÅevézt do jiného formátu.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ProÄ <application>MPlayer</application> nefunguje na Fedora Core?
-</para></question>
-<answer><para>
-Ve FedoÅe je Å¡patná spolupráce mezi exec-shieldem,
-prelinkem a jakoukoli aplikacà použÃvajÃcà Windows DLL
-(tak jako <application>MPlayer</application>).
-</para>
-<para>
-Problém je v tom, že exec-shield znáhodnà naÄÃtacà adresy vÅ¡ech systémových
-knihoven. Toto znáhodnÄnà nastane v dobÄ pÅedlinkovánà (prelink time)(jednou
-za dva týdny).
-</para>
-<para>
-Když se <application>MPlayer</application> pokoušà nahrát Windows DLL, chce ji
-umÃstit na specifickou adresu (0x400000). Pokud tam ale již je důležitá
-systémová knihovna, <application>MPlayer</application>
-zhavaruje.
-(Typickým projevem je segmentation fault pÅi pokusu o pÅehránÃ
-Windows Media 9 souborů.)
-</para>
-<para>
-Pokud narazÃte na tento problém, máte dvÄ možnosti:
-<itemizedlist>
-<listitem><para>
- PoÄkat dva týdny. Možná to bude opÄt fungovat.
-</para></listitem>
-<listitem><para>
- PÅelinkovat vÅ¡echny knihovny systému s odliÅ¡nými prelink
- volbami. Zde jsou instrukce krok za krokem:
- </para>
- <procedure>
- <step><para>
- Vyeditujte <filename>/etc/syconfig/prelink</filename> a zmÄÅte
- <programlisting>PRELINK_OPTS=-mR</programlisting> na
- <programlisting>PRELINK_OPTS="-mR --no-exec-shield"</programlisting>
- </para></step>
- <step><para>
- <command>touch /var/lib/misc/prelink.force</command>
- </para></step>
- <step><para>
- <command>/etc/cron.daily/prelink</command>
- (To pÅelinkuje vÅ¡echny aplikace a bude to trvat opravdu dlouho.)
- </para></step>
- <step><para>
- <command>execstack -s <replaceable>/cesta/k/</replaceable>mplayer</command>
- (Tohle vypne exec-shield pro binárku <application>MPlayer</application>u.)
- </para></step>
- </procedure>
-</listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> zhavaruje s hláškou
-<screen>MPlayer interrupted by signal 4 in module: decode_video</screen>
-nebo
-<screen>MPlayer pÅeruÅ¡en signálem 4 v modulu: decode_video</screen>
-</para></question>
-<answer><para>
-NepoužÃvejte <application>MPlayer</application> na CPU odliÅ¡ném než na jakém
-byl kompilován, nebo jej rekompilujte s detekcà CPU za bÄhu
-(<command>./configure --enable-runtime-cpudetection</command>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Když zkouÅ¡Ãm grabovat z tuneru, funguje to, ale jsou divné barvy. V jiných
-programech je to OK.
-</para></question>
-<answer><para>
-PravdÄpodobnÄ vaÅ¡e karta hlásà nÄkteré barevné režimy jako podporované,
-i když je nepodporuje. Zkuste to s YUY2 mÃsto výchozÃho
-YV12 (viz sekci <link linkend="tv-input">TV</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Dostávám podivné procentnà hodnoty (pÅÃliÅ¡ velké)
-pÅi pÅehrávánà na notebooku.
-</para></question>
-<answer><para>
-To je práce power managementu / systému Å¡etÅÃcÃmu energià vaÅ¡eho notebooku
-(BIOS, nikoli jádro). Zapojte konektor vnÄjÅ¡Ãho napájenÃ
-<emphasis role="bold">pÅed</emphasis> zapnutÃm notebooku. Můžete také
-zkusit zda vám pomůže
-<ulink url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html">cpufreq</ulink>
-(rozhranà k SpeedStep pro Linux).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Synchronizace zvuku a videa se úplnÄ rozpadne když spustÃm
-<application>MPlayer</application> jako
-<systemitem class="username">root</systemitem> na notebooku.
-Když jej spustÃm jako uživatel, pracuje normálnÄ.
-</para></question>
-<answer><para>
-Toto je opÄt práce power managementu (viz výš). ZapnÄte externà napájenÃ
-<emphasis role="bold">pÅed</emphasis> zapnutÃm notebooku, nebo použijte
-volbu <option>-nortc</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-PÅi pÅehrávánà souboru se zaÄne pÅehrávánà zadrhávat a dostanu následujÃcÃ
-hlášenÃ:
-<screen>Badly interleaved AVI file detected - switching to -ni mode...</screen>
-nebo
-<screen>Detekován Å¡patnÄ prokládaný AVI soubor – pÅepÃnám do režimu -ni...</screen>
-</para></question>
-<answer><para>
-Å patnÄ prokládané soubory a volba <option>-cache</option> nejdou moc dohromady.
-Zkuste <option>-nocache</option>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-driver">
-<title>PotÞe video/audio ovaldaÄe (vo/ao)</title>
-
-<qandaentry>
-<question><para>
-Když pÅejdu do celoobrazovkového režimu, dostanu pouze Äerné okraje kolem
-obrazu bez jeho zvÄtÅ¡enà na celou obrazovku.
-</para></question>
-<answer><para>
-Vaše výstupnà video rozhranà nepodporuje hardwarové škálovánà a protože
-softwarové Å¡kálovánà může být neskuteÄnÄ pomalé, nezapÃná jej
-<application>MPlayer</application> automaticky. PravdÄpodobnÄ použÃváte
-rozhranà <systemitem>x11</systemitem> mÃsto <systemitem>xv</systemitem>.
-Zkuste pÅidat <option>-vo xv</option> do pÅÃkazového Åádku, nebo si
-najdÄte v <link linkend="video">sekci video</link> alternativnà video
-výstupnà rozhranÃ. Volba <option>-zoom</option>
-explicitnÄ zapne softwarové Å¡kálovánÃ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-PrávÄ jsem nainstaloval <application>MPlayer</application>. Když chci vÅ¡ak
-otevÅÃt video soubor, nastane fatálnà chyba:
-<screen>Error opening/initializing the selected video_out (-vo) device.</screen>
-nebo
-<screen>
-Selhalo otevÅenÃ/inicializace vybraného video_out (-vo) rozhranÃ.
-</screen>
-Jak mohu vyÅaÅ¡it své problémy?
-</para></question>
-<answer><para>
-ZmÄÅte své video výstupnà zaÅÃzenÃ. SpusÅ¥te následujÃcà pÅÃkaz, abyste
-dostali seznam dostupných video rozhranÃ:
-<screen>mplayer -vo help</screen>
-Jakmile jste si vybrali správné video výstupnà rozhranÃ, pÅidejte jej
-do svého konfiguraÄnÃho souboru. PÅidejte
-<programlisting>
-vo = <replaceable>vybraný_vo</replaceable>
-</programlisting>
-do <filename>~/.mplayer/config</filename> a/nebo
-<programlisting>
-vo_driver = <replaceable>vybraný_vo</replaceable>
-</programlisting>
-do <filename>~/.mplayer/gui.conf</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mám problémy s <replaceable>[váš okennà manažer]</replaceable>
-a celoobrazovkovými xv/xmga/sdl/x11 režimy ...
-</para></question>
-<answer><para>
-PÅeÄtÄte si <link linkend="bugreports">postup hlášenà chyb</link> a poÅ¡lete nám
-správné hlášenà chyby.
-RovnÄž zkuste experimentovat s volbou <option>-fstype</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Zvuk se bÄhem pÅehrávánà AVI souboru rozejde s videem.
-</para></question>
-<answer><para>
-Zkuste volbu <option>-bps</option> nebo <option>-nobps</option>. Pokud se to
-nezlepÅ¡Ã, pÅeÄtÄte si
-<link linkend="bugreports">postup hlášenà chyb</link>
-a nahrejte soubor na FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Můj poÄÃtaÄ pÅehrává MS DivX AVI s rozliÅ¡enÃmi ~ 640x300 a stereo MP3 zvukem
-pÅÃliÅ¡ pomalu.
-Když použiji volbu <option>-nosound</option>, vÅ¡e je v poÅádku (jen bez zvuku).
-</para></question>
-<answer><para>
-Váš poÄÃtaÄ je pÅÃliÅ¡ pomalý, nebo máte vadný ovladaÄ zvukové karty. Prostudujte
-si dokumentaci, abyste zjistili, zda nemůžete zvýšit výkon.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu použÃt <application>dmix</application> spolu s
-<application>MPlayer</application>em?
-</para></question>
-<answer><para>
-Poté co nastavÃte
-<ulink url="http://alsa.opensrc.org/index.php?page=DmixPlugin">asoundrc</ulink>
-musÃte použÃt <option>-ao alsa:device=dmix</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nemám zvuk pÅi pÅehrávánà videa a dostanu chybovou zprávu podobnou této:
-<screen>
-AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
-audio_setup: Nelze otevÅÃt audio zaÅÃzenà /dev/dsp: ZaÅÃzenà nebo rozhranà je již použÃváno
-nelze otevÅÃt/inicializovat audio zaÅÃzenà -> BEZ ZVUKU
-Audio: bez zvuku!!!
-ZaÄÃnám pÅehrávat...
-</screen>
-</para></question>
-<answer><para>
-Máte spuÅ¡tÄno KDE nebo GNOME s aRts nebo ESD zvukovým démonem? Zkuste zakázat
-zvukový démon, nebo použijte volbu <option>-ao arts</option> nebo
-<option>-ao esd</option>, aby <application>MPlayer</application> použil aRts
-nebo ESD.
-Možná provozujete ALSA bez OSS emulace, zkuste nahrát jaderné moduly pro ALSA
-OSS, nebo naÅiÄte použità výstupnÃho rozhranà ALSA pÅidánÃm volby
-<option>-ao alsa</option> do pÅÃkazového Åádku.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Pokus spustÃm <application>MPlayer</application> pod KDE, dostanu pouze Äernou
-obrazovku a nic se nedÄje. Asi po minutÄ se video spustÃ.
-</para></question>
-<answer><para>
-Zvukový démon KDE aRts blokuje zvukové zaÅÃzenÃ. BuÄ Äekejte až se video spustÃ,
-nebo zakažte démona aRts v ovládacÃm centru. Chcete-li použÃt aRts zvuk,
-nastavte výstup zvuku pÅes naÅ¡e nativnà aRts zvukové rozhranÃ
-(<option>-ao arts</option>). Pokud selže, nebo nenà zakompilováno, zjuste SDL
-(<option>-ao sdl</option>). UjistÄte se vÅ¡ak, že vaÅ¡e SDL umà pracovat s aRts
-zvukem. Dalšà možnostà je spustit <application>MPlayer</application> s artsdsp.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mám problémy s A/V synchronizacÃ.
-NÄkteré mé AVI hrajà dobÅe, ale nÄkteré s dvojnásobnou rychlostÃ!
-</para></question>
-<answer><para>
-Máte vadnou zvukovou kartu nebo jejà ovladaÄ. NejspÃÅ¡ je pevnÄ nastavena na
-44100Hz a vy se pokouÅ¡Ãte pÅehrát soubor s 22050Hz zvukem. Zkuste zvukový filtr
-<systemitem>resample</systemitem>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Když pÅehrávám tento soubor, rozjede se mi zvuk s obrazem a/nebo
-<application>MPlayer</application> havaruje s hláškou:
-<screen>
-DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
-</screen>
-nebo
-<screen>
-DEMUXER: PÅÃliÅ¡ mnoho (945 v 8390980 bytech) video paketů ve vyrovnávacà pamÄti!
-</screen>
-</para></question>
-<answer><para>
-To může mÃt nÄkolik pÅÃÄin.
-<itemizedlist>
-<listitem><para>
-Váš CPU <emphasis>a/nebo</emphasis> video karta <emphasis>a/nebo</emphasis>
-sbÄrnice je pÅÃliÅ¡ pomalá. <application>MPlayer</application> v tom pÅÃpadÄ
-vypÃÅ¡e hlášku (a poÄet zahozených snÃmků rychle narůstá).
-</para></listitem>
-<listitem><para>
-Pokud je to AVI, možná je Å¡patnÄ prokládané. Zkuste to obejÃt
-volbou <option>-ni</option>.
-Nebo může mÃt Å¡patnou hlaviÄku, v tom pÅÃpadÄ může pomoci
-<option>-nobps</option> a/nebo <option>-mc 0</option>.
-</para></listitem>
-<listitem><para>
- Mnoho FLV souborů bude správnÄ hrát s <option>-correct-pts</option>.
- NaneÅ¡tÄstà <application>MEncoder</application> takovou volbu nemá,
- ale můžete zkusit nastavit <option>-fps</option> na zprávnou hodnotu ruÄnÄ,
- pokud ji znáte.
-</para></listitem>
-<listitem><para>
-OvladaÄ vašà zvukové karty je vadný.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak se zbavÃm A/V desynchronizace
-pÅi pÅevÃjenà v RealMedia proudech?
-</para></question>
-<answer><para>
-<option>-mc 0.1</option> může pomoci.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-dvd">
-<title>PÅehrávánà DVD</title>
-
-<qandaentry>
-<question><para>
-Což takhle DVD navigace/nabÃdky?
-</para></question>
-<answer><para>
-<application>MPlayer</application> nepodporuje DVD nabÃdky dÃky závažným
-omezenÃm svého návrhu znemožÅujÃcÃm správné nakládánà se stabilnÃmi obrázky a
-interaktivnÃm obsahem. Pokud chcete mÃt své oblÃbené nabÃdky (menu), budete
-muset použÃt jiný pÅehrávaÄ jako <application>xine</application>,
-<application>vlc</application> nebo <application>Ogle</application>.
-Pokud chcete mÃt DVD navigaci v <application>MPlayer</application>u, musÃte si
-ji naprogramovat, ale uvÄdomte si, že to bude velká akce.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-NepÅehraji žádná souÄasná DVD od Sony Pictures/BMG.
-</para></question>
-<answer><para>
-To je normálnÃ; byli jste podfouknuti a prodali vám umÄle defektnà disk.
-Jediný způsob, jak pÅehrávat tato DVD je obcházet Å¡patné bloky na disku
-použitÃm DVDnav mÃsto mpdvdkit2.
-Toho lze dosáhnout kompilacà <application>MPlayer</application>u s podporou
-DVDnav a následnÄ zámÄnou dvd:// za dvdnav:// na pÅÃkazovém Åádku.
-DVDnav se zatÃm vzájemnÄ vyluÄuje s mpdvdkit2, takže musÃte configure skriptu
-pÅedat volbu <option>--disable-mpdvdkit</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Co takhle titulky? Umà je <application>MPlayer</application> zobrazovat?
-</para></question>
-<answer><para>
-Ano. Viz <link linkend="dvd">kapitola DVD</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak nastavÃm kód regionu na mé DVD mechanice? Nemám Windows!
-</para></question>
-<answer><para>
-Použijte nástroj
-<ulink url="http://linvdr.org/projects/regionset/">regionset</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nemohu pÅehrát DVD, MPlayer skonÄà nebo vypÃÅ¡e chyby "Encrypted VOB file!".
-</para></question>
-<answer><para>
-CSS deÅ¡ifrovacà kód nepracuje s nÄkterými DVD mechanikami, pokud správnÄ
-nenastavÃte kód regionu. Viz odpovÄÄ na pÅedchozà otázku.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-MusÃm být (setuid) root, abych mohl(a) pÅehrávat DVD?
-</para></question>
-<answer><para>
-Ne. AÄkoli musÃte mÃt pÅÃsluÅ¡ná práva k souboru DVD zaÅÃzenÃ
-(v <filename class="directory">/dev/</filename>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Je možné pÅehrát/enkódovat pouze vybrané kapitoly?
-</para></question>
-<answer><para>
-Ano, vyzkoušejte volbu <option>-chapter</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-PÅehrávánà DVD je zdlouhavé!
-</para></question>
-<answer><para>
-Použijte volbu <option>-cache</option> (popsanou v man stránce) a zkuste
-zapnout DMA pro DVD mechaniku pomocà nástroje <command>hdparm</command>
-(popsaného v <link linkend="drives">CD kapitole</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ZkopÃroval(a) jsem DVD pomocà vobcopy. Jak jej mohu pÅehrát/enkódovat
-z harddisku?
-</para></question>
-<answer><para>
-Použijte volbu <option>-dvd-device</option> pro nastavenà adresáÅe, které
-obsahujà soubory:
-<screen>
-mplayer dvd://1 -dvd-device <replaceable>/cesta/do/adresáÅe</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-
-<qandadiv id="faq-features">
-<title>Požadavky na vlastnosti</title>
-
-<qandaentry>
-<question><para>
-Pokud je <application>MPlayer</application> v pauze a já se pokusÃm pÅevÃjet,
-nebo stisknu jakoukoli klávesu, <application>MPlayer</application> se odpauzuje.
-Rád(a) bych pÅevÃjel(a) film v pauze.
-</para></question>
-<answer><para>
-Je velmi choulostivé zavést tuto vlastnost bez ztráty A/V synchronizace.
-VÅ¡echny pokusy zatÃm selhaly, ale patche jsou vÃtány.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Rád(a) bych pÅevÃjel(a) o +/- 1 snÃmek mÃsto o 10 sekund.
-</para></question>
-<answer><para>
-Můžete se posunout o jedno pole vpÅed stiskem <keycap>.</keycap>.
-Pokud nenà film pauzován, zapauzuje se pak (detaily viz man stránka).
-Krokovánà zpÄt pravdÄpodobnÄ nebude v dohledné dobÄ implementováno.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-encoding">
-<title>EnkódovánÃ</title>
-
-<qandaentry>
-<question><para>
-Jak mohu enkódovat?
-</para></question>
-<answer><para>
-PÅeÄtÄte si sekci
-<link linkend="mencoder"><application>MEncoder</application></link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu "nahrát" celý DVD titul do souboru?
-</para></question>
-<answer><para>
-Jakmile jste vybrali svůj titul a ujistili se, že jej lze dobÅe pÅehrát
-<application>MPlayer</application>em, použijte volbu <option>-dumpstream</option>.
-NapÅÃklad:
-<screen>
-mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable>
-</screen>
-nahraje 5. titul z DVD do souboru
-<replaceable>dvd_dump.vob</replaceable>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak vytvoÅÃm (S)VCD automaticky?
-</para></question>
-<answer><para>
-Zkuste skript <filename>mencvcd.sh</filename> z podadresáÅe
-<filename class="directory">TOOLS</filename>.
-Pomocà nÄj můžete enkódovat DVD nebo jiné filmy do VCD
-nebo SVCD formátu a dokonce je vypálit pÅÃmo na CD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak vytvoÅÃm (S)VCD?
-</para></question>
-<answer><para>
-NovÄjšà verze <application>MEncoder</application>u umà pÅÃmo generovat
-MPEG-2 soubory, které mohou být použity jako základ pro vytvoÅenà VCD nebo SVCD
-a mÄly by být pÅehratelné jak jsou na vÅ¡ech platformách (napÅÃklad pro
-sdÃlenà videa z digitálnÃho kamkodéru se svými poÄÃtaÄovÄ negramotnými pÅáteli).
-VÃce informacà naleznete v sekci
-<link linkend="menc-feat-vcd-dvd">Použità MEncoderu pro vytvoÅenà VCD/SVCD/DVD-kompatibilnÃch souborů</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak spojÃm dva video soubory?
-</para></question>
-<answer><para>
-MPEGy mohou být spojeny do jediného souboru s trochou Å¡tÄstà pÅÃmo.
-Pro AVI soubory můžete využÃt podporu pro vÃce souborů
-v <application>MEncoder</application>u takto:
-<screen>
-mencoder -ovc copy -oac copy -o <replaceable>výstupnÃ.avi</replaceable> <replaceable>soubor1.avi</replaceable> <replaceable>soubor2.avi</replaceable>
-</screen>
-To vÅ¡ak bude pracovat pouze tehdy, majÃ-li soubory stejné rozliÅ¡enà a
-použÃvajà stejný kodek.
-Také můžete zkusit
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> a
-<application>avimerge</application> (souÄást sady nástrojů
-<ulink url="http://www.transcoding.org/">transcode</ulink>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu opravit AVI soubory s vadným indexem nebo prokládánÃm?
-</para></question>
-<answer><para>
-Abyste se zbavili nutnosti použÃvat <option>-idx</option> pro zprovoznÄnÃ
-pÅevÃjenà v AVI souborech s vadným indexem nebo <option>-ni</option> pro
-pÅehrávánà špatnÄ prokládaných souborů, použijte pÅÃkaz
-<screen>
-mencoder <replaceable>vstupnÃ.avi</replaceable> -idx -ovc copy -oac copy -o <replaceable>výstupnÃ.avi</replaceable>
-</screen>
-který zkopÃruje video a audio proudy do nového AVI souboru, pÅiÄenž vygeneruje
-správný index a správnÄ uložà data (opravà proklad).
-Tento způsob samozÅejmÄ nedokáže odstranit chyby ve video a/nebo audio proudech.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu opravit pomÄr stran videa v AVI souboru?
-</para></question>
-<answer><para>
-PomÄr stran lze opravit dÃky volbÄ <application>MEncoder</application>u
-<option>-force-avi-aspect</option>, která pÅepÃÅ¡e pomÄr stran uložený
-v AVI OpenDML vprp hlaviÄce. NapÅÃklad:
-<screen>
-mencoder <replaceable>vstupnÃ.avi</replaceable> -ovc copy -oac copy -o <replaceable>výstupnÃ.avi</replaceable> -force-avi-aspect 4/3
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu zálohovat a enkódovat VOB soubor s poÅ¡kozeným zaÄátkem?
-</para></question>
-<answer><para>
-Hlavnà problém, když chcete enkódovat VOB soubor, který je poškozen
-<footnote id='fn-corrupted-files-or-copy-protection'><para>
-NavÃc nÄkteré formy ochrany proti kopÃrovánà použÃvané na DVD mohou
-být považovány za poškozenà obsahu.
-</para></footnote>,
-je to, že bude velmi tÄžké zÃskat enkódovaný soubor s perfektnà A/V synchronizacÃ.
-Jedna z možnostà je vystÅihnout poÅ¡kozenou Äást a enkódovat jen
-Äistou Äást.
-NejdÅÃv musÃte zjistit, kde Äistá Äást zaÄÃná:
-<screen>
-mplayer <replaceable>input.vob</replaceable> -sb <replaceable>nb_of_bytes_to_skip</replaceable>
-</screen>
-Pak můžete vytvoÅit nový soubor obsahujÃcà pouze bezchybnou Äást:
-<screen>
-dd if=<replaceable>input.vob</replaceable> of=<replaceable>output_cut.vob</replaceable> skip=1 ibs=<replaceable>nb_of_bytes_to_skip</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nemohu zakódovat DVD titulky do AVI!
-</para></question>
-<answer><para>
-MusÃte správnÄ nastavit volbu <option>-sid</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu enkódovat pouze nÄkteré kapitoly z DVD?
-</para></question>
-<answer><para>
-Použijte správnÄ volbu <option>-chapter</option>,
-jako: <option>-chapter 5-7</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ZkouÅ¡Ãm pracovat s 2GB+ soubory na souborovém systému VFAT. Bude to fungovat?
-</para></question>
-<answer><para>
-Ne, VFAT nepodporuje 2GB+ soubory.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Co znamenajà ÄÃsla na stavovém Åádku bÄhem enkódovánÃ?
-</para></question>
-<answer><para>
-PÅÃklad:
-<screen>
-Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2126:192]
-</screen>
-<variablelist>
- <varlistentry>
- <term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>Äasová znaÄka (pozice) v enkódovaném proudu</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>6612f</systemitem></term>
- <listitem><para>poÄet dokonÄených video snÃmků</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>( 2%)</systemitem></term>
- <listitem><para>enkódovaná Äást vstupnÃho proudu</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>7.12fps</systemitem></term>
- <listitem><para>rychlost enkódovánÃ</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>odhadovaný Äas potÅebný pro dokonÄenà enkódovánÃ</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2856mb</systemitem></term>
- <listitem><para>odhadovaná velikost výsledného souboru</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>aktuálnà odchylka datových proudů zvuku a videa</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>[2126:192]</systemitem></term>
- <listitem><para>
- průmÄrný datový tok videa (v Mb/s) a průmÄrný datový tok zvuku (v Mb/s)
- </para></listitem>
-</varlistentry>
-</variablelist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jakto že je doporuÄený datový tok vypisovaný
-<application>MEncoder</application>em záporný?
-</para></question>
-<answer><para>
-Protože datový tok pÅi kterém enkódujete audio je pÅÃliÅ¡ velký, aby se film
-veÅ¡el na jakékoli CD. OvÄÅte si, že máte dobÅe nainstalovaný libmp3lame.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nemohu kompilovat ASF soubor do AVI/MPEG-4 (DivX) protože použÃvá 1000 fps.
-</para></question>
-<answer><para>
-Protože ASF použÃvá variabilnà snÃmkovou rychlost zatÃmco AVI pevnou, musÃte
-ji nastavit ruÄnÄ pomocà volby <option>-ofps</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak vložÃm titulky do výstupnÃho souboru?
-</para></question>
-<answer><para>
-Jen pÅidejte volbu <option>-sub <soubor></option> (nebo obdobnÄ volbu
-<option>-sid</option>) do pÅÃkazového Åádku
-<application>MEncoder</application>u.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak zakóduji pouze zvuk z hudebnÃho videa?
-</para></question>
-<answer><para>
-PÅÃmo to nenà možné, ale můžete zkusit toto (vÅ¡imnÄte si
-<emphasis role="bold">&</emphasis> na konci pÅÃkazu
-<command>mplayer</command>):
-<screen>
-mkfifo <replaceable>encode</replaceable>
-mplayer -ao pcm -aofile <replaceable>encode</replaceable> dvd://1 &
-lame <replaceable>your_opts</replaceable> <replaceable>encode</replaceable> <replaceable>music.mp3</replaceable>
-rm <replaceable>encode</replaceable>
-</screen>
-Toto vám umožÅuje použÃt jakýkoli enkodér, ne jen <application>LAME</application>,
-jen zamÄÅte <command>lame</command> svým oblÃbeným enkodérem zvuku v pÅÃkazu
-výše.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ProÄ pÅehrávaÄe tÅetÃch stran selhávajà pÅi pÅehrávánà MPEG-4 filmů enkódovaných
-<application>MEncoder</application>em pozdÄjšà verze než 1.0pre7?
-</para></question>
-<answer><para>
-<systemitem class="library">libavcodec</systemitem>, nativnà knihovna pro
-enkódovánà MPEG-4, obvykle pÅibalovaná k <application>MEncoder</application>u,
-nastavovala FourCC na 'DIVX' pÅi enkódovánà MPEG-4 videÃ
-(FourCC je AVI znaÄka pro identifikaci software použitého k enkódovánà a
-zamýšleného software k použità pro dekódovánà videa).
-To vede mnoho lidà k názoru, že
-<systemitem class="library">libavcodec</systemitem>
-byla enkódovacà knihovna DivX, zatÃmco ve skuteÄnosti je to zcela odliÅ¡ná
-knihovna pro enkódovánà MPEG-4, která tento standard implementuje mnohem
-lépe, než DivX.
-Takže je novým výchozÃm FourCC použÃvaným knihovnou
-<systemitem class="library">libavcodec</systemitem> 'FMP4', ale toto chovánÃ
-můžete zmÄnit použitÃm volby <option>-ffourcc</option> v
-<application>MEncoder</application>u.
-RovnÄž můžete zmÄnit FourCC existujÃcÃch souborů stejným způsobem:
-<screen>
-mencoder <replaceable>vstupnÃ.avi</replaceable> -o <replaceable>výstupnÃ.avi</replaceable> -ffourcc XVID
-</screen>
-Poznamenejme, že takto nastavÃte FourCC na XVID spÃÅ¡e než DIVX.
-Toto doporuÄujeme, protože DIVX FourCC znamená DivX4, což je velmi jednoduchý
-MPEG-4 kodek, zatÃmco jak DX50, tak XVID jsou plnohodnotné MPEG-4 (ASP).
-Takže pokud nastavÃte FourCC na DIVX, nekteré Å¡patné softwarové nebo
-hardwarové pÅehrávaÄe si mohou vylámat zuby na pokroÄilýchvlastnostech, které
-<systemitem class="library">libavcodec</systemitem> podporuje, ale DivX
-nikoli; naproti tomu je <systemitem class="library">Xvid</systemitem>
-blÞe <systemitem class="library">libavcodec</systemitem>u z hlediska funkÄnosti
-a je podporován vÅ¡emi dobrými pÅehrávaÄi.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu enkódovat soubor jen se zvukem?
-</para></question>
-<answer><para>
-Použijte <filename>aconvert.sh</filename> z podadresáÅe
-<filename class="directory">TOOLS</filename>
-ve zdrojových kódech MPlayeru.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mohu pÅehrát titulky zabudované v AVI?
-</para></question>
-<answer><para>
-Použijte <filename>avisubdump.c</filename> z podadresáÅe
-<filename class="directory">TOOLS</filename>, nebo si pÅeÄtÄte
-<ulink url="http://xlife.zuavra.net/curse/0012/">tento dokument o extrakci/demultiplexovánà titulků zabudovaných v OpenDML AVI souborech</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-MPlayer neumÃ...
-</para></question>
-<answer><para>
-Proberte se podadresáÅem <filename class="directory">TOOLS</filename>,
-ve kterém naleznete Åadu skriptů a udÄlátek. Dokumentaci k nim naleznete
-v souboru <filename>TOOLS/README</filename>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-</qandaset>
-
-</chapter>
diff --git a/DOCS/xml/cs/install.xml b/DOCS/xml/cs/install.xml
deleted file mode 100644
index ba7fe73..0000000
--- a/DOCS/xml/cs/install.xml
+++ /dev/null
@@ -1,502 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Synced with r24087 -->
-<chapter id="install">
-<title>Instalace</title>
-
-<para>
-Jednoduchý návod na instalaci naleznete v souboru <filename>README</filename>.
-PÅeÄtÄte si nejprve tento soubor a poté se vraÅ¥te zde pro dalšà podrobnosti.
-</para>
-
-<para>
-V této Äásti vás provedeme procesem kompilace a konfigurace programu
-<application>MPlayer</application>. Nenà to snadné, ale nemusà to být
-nutnÄ tÄžké. Pokud zaznamenáte rozdÃlné chovánÃ, než zde popisuji,
-prostudujte si prosÃm tuto dokumentaci a naleznete své odpovÄdi.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="softreq">
-<title>Softwarové požadavky</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> – doporuÄená verze je
- <emphasis role="bold">2.11.x</emphasis>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">gcc</emphasis> – doporuÄené verze jsou 2.95
- a 3.4+. 2.96 a 3.0.x jsou známy generovánÃm vadného kódu, 3.1 a
- 3.2 mÄly rovnÄž problémy, 3.3 jen okrajovÄ. Na PowerPC použijte 4.x.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Xorg/XFree86</emphasis> – doporuÄená verze je
- 4.3 a vyššÃ. UjistÄte se, že máte nainstalovány
- <emphasis role="bold">vývojové (dev) balÃÄky</emphasis>,
- jinak to nebude pracovat.
- Ne vždy potÅebujete X, nÄkterá výstupnà video rozhranà pracujà i bez nich.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">make</emphasis> – doporuÄená verze je
- 3.79.x nebo vyššÃ. Pro sestavenà XML dokumentace potÅebujete 3.80.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> – vyžaduje se aspoÅ
- verze 2.0.9 pro OSD a titulky.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> â volitelnmá, pro podporu zvukového
- výstupu do ALSA. Vyžaduje se aspoŠverze 0.9.0rc4.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> â
- vyžadována pro volitelné JPEG video výstupnà rozhranÃ
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> â
- vyžadována pro volitelné PNG video výstupnà rozhranÃ
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> â volitelný, 0.9.13 nebo pozdÄjÅ¡Ã
- vyžadovaný pro directfb video výstupnà rozhranÃ
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> – doporuÄená verze 3.90 a vyššÃ,
- vyžadovaný pro enkódovánà MP3 zvuku v <application>MEncoder</application>u.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> – doporuÄená, nutná pro komprimovanou
- MOV hlaviÄku a podporu PNG.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- – volitelná, nutná pro pÅehrávánà RTSP/RTP datových proudů.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> – volitelná, pro podporu CDDA
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> – volitelná, pro podporu XMMS
- vstupnÃho pluginu.
- Vyžadujeme aspoŠ1.2.7.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> – volitelná, pro podporu SMB sÃtÃ.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="features">
-<title>Vlastnosti</title>
-
-<itemizedlist>
-<listitem><para>
- RozhodnÄte se zda potÅebujete GUI. Pokud ano, pÅeÄtÄte si pÅed kompilacÃ
- sekci <link linkend="gui">GUI</link>.
-</para></listitem>
-<listitem><para>
- Pokud chcete nainstalovat <application>MEncoder</application> (náš skvÄlý
- vÅ¡estranný enkodér), pÅeÄtÄte si sekci
- <link linkend="mencoder"><application>MEncoder</application></link>.
-</para></listitem>
-<listitem><para>
- Pokud máte V4L kompatibilnà <emphasis role="bold">TV tuner</emphasis> kartu,
- a pÅejete si sledovat/grabovat filmy <application>MPlayer</application>em,
- pÅeÄtÄte si sekci <link linkend="tv-input">TV vstup</link>.
-</para></listitem>
-<listitem><para>
- Pokud máte V4L kompatibilnà <emphasis role="bold">radio tuner</emphasis>
- kartu a pÅejete si poslouchat nebo zachytávat zvuk
- <application>MPlayer</application>em,
- pÅeÄtÄte si sekci <link linkend="radio">radio</link>.
-</para></listitem>
-<listitem><para>
- PÅipravena k použità je podpora pÄkného <emphasis role="bold">OSD Menu</emphasis>.
- PÅeÄtÄte si sekci <link linkend="subosd">OSD menu</link>.
-</para></listitem>
-</itemizedlist>
-
-<para>
- Pak pÅeložte <application>MPlayer</application>:
-<screen>
-./configure
-make
-make install
-</screen>
-</para>
-
-<para>
- V tuto chvÃli máte <application>MPlayer</application> pÅipraven k použitÃ.
- OvÄÅte si, zda nemáte soubor <filename>codecs.conf</filename> v domovském
- adresáÅi (<filename>~/.mplayer/codecs.conf</filename>) ze staré verze
- <application>MPlayer</application>u. Pokud jej najdete, odstraÅte ho.
-</para>
-
-<para>
- Uživatelé Debianu si mohou vyrobit .deb balÃÄek, je to velmi jednoduché.
- Jen spusťte binárku
- <screen>fakeroot debian/rules</screen>
- v <application>MPlayer</application>ovÄ koÅenovém adresáÅi. Podrobnosti viz
- <link linkend="debian">BalÃÄkovánà Debianu</link>.
-</para>
-
-<para>
- <emphasis role="bold">Vždy si prostudujte výstup skriptu</emphasis>
- <filename>./configure</filename>, a soubor <filename>config.log</filename>,
- které obsahujà informace o tom co bude zakompilováno a co ne. Také můžete
- chtÃt vidÄt soubory <filename>config.h</filename> a
- <filename>config.mak</filename>.
- Pokud máte nÄkteré knihovny nainstalovány, ale nebyly detekovány skriptem
- <filename>./configure</filename>, pak ovÄÅte, zda máte pÅÃsluÅ¡né hlaviÄkové
- soubory
- (obvykle -dev bal̀ky) a jejich verze jsou shodn̩. Soubor
- <filename>config.log</filename> vám obvykle prozradà co vám chybÃ.
-</para>
-
-<para>
- AÄkoli to nenà podmÃnkou, mÄli byste mÃt nainstalovány fonty pro funkci OSD a
- zobrazovánà titulků. DoporuÄujeme nainstalovat soubor fontu TTF a naÅÃdit
- <application>MPlayer</application>u jej použÃvat.
- Detaily viz sekce <link linkend="subosd">Titulky a OSD</link>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="gui">
-<title>ChtÄli byste GUI?</title>
-
-<para>
- GUI potÅebuje GTK 1.2.x nebo GTK 2.0 (nenà plnÄ GTK, ale panely jsou).
- Skiny jsou uloženy v PNG formátu,
- takže GTK, <systemitem class="library">libpng</systemitem>
- (a jejich pÅÃsluÅ¡enstvÃ, obvykle nazývané
- <systemitem class="library">gtk-dev</systemitem>
- a <systemitem class="library">libpng-dev</systemitem>) musà být nainstalovány.
- Můžete jej zakompilovat pÅedánÃm volby <option>--enable-gui</option> skriptu
- <filename>./configure</filename>. Aktivaci GUI režimu pak provedete spuÅ¡tÄnÃm
- binárky <command>gmplayer</command>.
-</para>
-
-<para>
- Protože <application>MPlayer</application> nemá pÅibalen žádný skin, budete si
- muset nÄjaký stáhnout abyste mohli použÃvat GUI. Viz naÅ¡i <ulink
- url="http://www.mplayerhq.hu/dload.html">download stránku</ulink>.
- Skiny by mÄly být rozbaleny do obvyklého systémového adresáÅe
- (<filename class="directory">$PREFIX/share/mplayer/skins</filename>),
- nebo do <filename class="directory">$HOME/.mplayer/skins</filename>.
- <application>MPlayer</application> ve výchozÃm stavu hledá v tÄchto adresáÅÃch
- podadresáŠjménem <filename class="directory">default</filename>, ale
- můžete použÃt volbu <option>-skin <replaceable>nový_skin</replaceable></option>
- nebo direktivu <literal>skin=nový_skin</literal> konfiguraÄnÃho souboru pro
- použità skinu v adresáÅi <filename class="directory">*/skins/nový_skin</filename>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="fonts-osd">
-<title>Fonty a OSD</title>
-
-<para>
-Abyste si mohli užÃvat OSD a titulků, musÃte
-<application>MPlayer</application>u sdÄlit, který font má použÃt.
-Může to být jakýkoli TrueType font, nebo speciálnà bitmapový font.
-TrueType vÅ¡ak doporuÄujeme, jelikož vypadajà lépe, mohou být vhodnÄ
-Å¡kálovány na rozmÄr filmu a lépe si poradà s různými znakovými sadami.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="truetype-fonts">
-<title>TrueType fonty</title>
-
-<para>
-Existujà dva způsoby, jak zprovoznit TrueType fonty. Prvnà je použÃt volbu
-<option>-font</option> pro volbu TrueType fontu z pÅÃkazového Åádku.
-Tato volba bude dobrým kandidátem pro umÃstÄnà do konfiguraÄnÃho
-souboru (detaily viz manuál).
-Druhá je vytvoÅenà symlinku s názvem <filename>subfont.ttf</filename>
-na soubor s vámi vybraným fontem. BuÄ
-<screen>
-ln -s <replaceable>/cesta/k/sample_font.ttf</replaceable> ~/.mplayer/subfont.ttf
-</screen>
-pro každého uživatele zvlášť, nebo systémový:
-<screen>
-ln -s <replaceable>/cesta/k/sample_font.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
-</screen>
-</para>
-
-<para>
-Pokud byl <application>MPlayer</application> kompilován s podporou
-<systemitem class="library">fontconfig</systemitem>, výše uvedené nebude
-fungovat, mÃsto toho <option>-font</option> oÄekává
-<systemitem class="library">fontconfig</systemitem> název fontu
-a jako výchozà bere bezpatkový font. PÅÃklad:
-
-<screen>
-mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable>
-</screen>
-</para>
-
-<para>
-Seznam fontů známých
-<systemitem class="library">fontconfig</systemitem>u,
-zÃskáte pomocà <command>fc-list</command>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bitmap-fonts">
-<title>bitmapové fonty</title>
-
-<para>
-Pokud se z nÄjakého důvodu rozhodnete nebo potÅebujete použÃt bitmapové fonty,
-stáhnÄte si sadu z naÅ¡ich stránek. Můžete si vybrat mezi různými
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO fonty</ulink>
-a nÄkolika sadami fontů
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">zaslaných uživateli</ulink>
-v různých znakových sadách.
-</para>
-
-<para>
-Rozbalte stažený archiv do
-<filename class="directory">~/.mplayer</filename> nebo
-<filename class="directory">$PREFIX/share/mplayer</filename>.
-Pak pÅejmenujte nebo slinkujte jeden z rozbalených adresáÅů na
-<filename class="directory">font</filename>, napÅÃklad:
-<screen>
-ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
-</screen>
-<screen>
-ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font
-</screen>
-</para>
-
-<para>
-Fonty by mÄly mÃt vhodný <filename>font.desc</filename> soubor,
-který mapuje unicode pozice ve fontu na aktuálnà znakovou sadu
-textu titulků. DalÅ¡Ãm ÅeÅ¡enÃm je mÃt titulky kódované v UTF-8 a použÃt
-volbu <option>-utf8</option>, nebo pojmenujte soubor s titulky
-stejnÄ jako film a dejte mu pÅÃponu <filename>.utf</filename>
-a umÃstÄte jej do adresáÅe s filmem.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="osdmenu">
-<title>OSD menu</title>
-
-<para>
-<application>MPlayer</application> má plnÄ uživatelsky definovatelné
-rozhranà OSD Menu (nabÃdka na obrazovce).
-</para>
-
-<note><para>
-Menu Preferences NENÃ v souÄasnosti IMPLEMENTOVÃNO!
-</para></note>
-
-<orderedlist>
-<title>Instalace</title>
-<listitem><para>
- zkompilujte <application>MPlayer</application> s volbou
- <option>--enable-menu</option>
- pÅedanou do <filename>./configure</filename>
-</para></listitem>
-<listitem><para>
- ujistÄte se že máte nainstalován OSD font
-</para></listitem>
-<listitem><para>
- zkopÃrujte <filename>etc/menu.conf</filename> do svého
- <filename class="directory">.mplayer</filename> adresáÅe
-</para></listitem>
-<listitem><para>
- zkopÃrujte <filename>etc/menu.conf</filename> do svého
- <filename class="directory">.mplayer</filename> adresáÅe, nebo do systémového
- <application>MPlayer</application> konfiguraÄnÃho adresáÅe (výchozÃ:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
-</para></listitem>
-<listitem><para>
- zkontrolujte a upravte <filename>input.conf</filename>, abyste zapnuli klávesy
- pro pohyb v menu (to je popsáno zde).
-</para></listitem>
-<listitem><para>
- spusÅ¥te <application>MPlayer</application> podle následujÃcÃho pÅÃkladu:
- <screen>mplayer -menu <replaceable>file.avi</replaceable></screen>
-</para></listitem>
-<listitem><para>
- stisknÄte nÄkterou z kláves, kterou jste definovali
-</para></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="codec-installation">
-<title>Codec installation</title>
-
-<!-- ********** -->
-
-<sect2 id="xvid">
-<title>Xvid</title>
-
-<para>
-<ulink url="http://www.xvid.org">Xvid</ulink> je free software MPEG-4 ASP
-kompatibilnà video kodec, jenž má podporu pro dvouprůchodové enkódovánà a
-plnÄ podporuje MPEG-4 ASP.
-Poznamenejme, že Xvid nenà nutný pro dekódovánà Xvidem enkódovaného videa.
-Jako výchozà je použÃván <systemitem class="library">libavcodec</systemitem>,
-jelikož poskytuje vyššà rychlost.
-</para>
-
-<procedure>
-<title>Instalace <systemitem class="library">Xvid</systemitem></title>
-<para>
- StejnÄ jako vÄtÅ¡ina svobodného software je dostupný ve dvou verzÃch:
- <ulink url="http://www.xvid.org/downloads.html">oficiálnÄ uvolnÄné verzi</ulink>
- a verzi CVS.
- V souÄasnosti je CVS verze obvykle dostateÄnÄ stabilnà pro použitÃ, jelikož
- vÄtÅ¡inou obsahuje opravy chyb, které zůstaly po vydánÃ.
- Zde uvádÃme postup pro zprovoznÄnà <systemitem class="library">Xvid</systemitem>
- CVS v <application>MEncoder</application>:
-</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
-</para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
-</para></step>
-<step><para>
- <screen>./bootstrap.sh</screen>
-</para></step>
-<step><para>
- <screen>./configure</screen>
- Zde můžete pÅidat nÄjaké volby (prostudujte si výstup pÅÃkazu
- <command>./configure --help</command>).
-</para></step>
-<step><para>
- <screen>make && make install</screen>
-</para></step>
-<step><para>
- Znovu zkompilujte <application>MPlayer</application> s volbami.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x264">
-<title><systemitem class="library">x264</systemitem></title>
-
-<para>
-<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
-is a library for creating H.264 video.
-<application>MPlayer</application> sources are updated whenever
-an <systemitem class="library">x264</systemitem> API change
-occurs, so it is always suggested to use
-<application>MPlayer</application> from Subversion.
-</para>
-
-<para>
-If you have a GIT client installed, the latest x264
-sources can be gotten with this command:
-<screen>git clone git://git.videolan.org/x264.git</screen>
-
-Then build and install in the standard way:
-<screen>./configure && make && make install</screen>
-
-Now rerun <filename>./configure</filename> for
-<application>MPlayer</application> to pick up
-<systemitem class="library">x264</systemitem> support.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="amr">
-<title>AMR kodeky</title>
-
-<para>
-Adaptivnà Multi-Rate kodek pro mluvené slovo je použÃván tÅetà generacà (3G)
-mobilnÃch telefonů.
-ReferenÄnà implementace je dostupná od
-<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
-(zdarma pro osobnà použitÃ).
-Pro zapnutà podpory si stáhnÄte podpůrné knihovny pro
-<ulink url="http://www.penguin.cz/~utx/amr">AMR-NB a AMR-WB</ulink>
-a následujte instrukce na stránce. Potom znovu zkompilujte MPlayer.
-</para>
-</sect2>
-
-</sect1>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<sect1 id="rtc">
-<title>RTC</title>
-
-<para>
-V <application>MPlayer</application> jsou zabudovány tÅi metody ÄasovánÃ.
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Abyste použili starou metodu</emphasis>, nemusÃte dÄlat
- vůbec nic. Ta použÃvá <systemitem>usleep()</systemitem> pro hlÃdánÃ
- A/V synchronizace s pÅesnostà +/- 10ms. AÄkoli nÄkdy může být synchronizace
- hlÃdána jeÅ¡tÄ jemnÄji.
-</para></listitem>
-<listitem>
- <para>
- Kód <emphasis role="bold">nového ÄasovaÄe</emphasis> použÃvá pro tento úÄel RTC
- (hodiny reálného Äasu), protože majà pÅesné 1ms ÄasovaÄe.
- Volba <option>-rtc</option> to zapÃná, je vÅ¡ak nutné vhodnÄ nastavené jádro.
- Pokud použÃváte jádro 2.4.19pre8 nebo pozdÄjÅ¡Ã, můžete nastavit maximálnà RTC
- kmitoÄet pro normálnà uživatele pomocà systému souborů
- <systemitem class="systemname">/proc
- </systemitem>. Použijte jeden z tÄchto dvou pÅÃkazů pro zapnutà RTC
- pro obyÄejné uživatele:
- <screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
- <screen>sysctl dev/rtc/max-user-freq=1024</screen>
- Můžete tuto volbu uÄinit trvalou pÅidánÃm druhého pÅÃkazu do
- <filename>/etc/sysctl.conf</filename>.
- </para>
- <para>
- Efektivitu nového ÄasovaÄe uvidÃte na stavovém Åádku.
- Funkce power managementu nÄkterých notebookových BIOSů s speedstep procesory
- Å¡patnÄ komunikujà s RTC. Audio a video se mohou rozejÃt. Zdá se že pomáhá
- pÅipojenà vnÄjÅ¡Ãho napájenà pÅed zapnutÃm notebooku.
- V nÄkterých hardwarových kombinacÃch (zjiÅ¡tÄno bÄhem použÃvánà ne-DMA DVD
- mechaniky na ALi1541 boardu) způsobuje použità RTC Äasovánà trhavé pÅehrávánÃ.
- Pak doporuÄujeme
- použÃt tÅetà metodu.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">TÅetà kód ÄasovaÄe</emphasis> se zapÃná volbou
- <option>-softsleep</option>. Je stejnÄ efektnà jako RTC, ale nepoužÃvá RTC.
- Na druhou stranu vÃce zatÄžuje CPU.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/cs/mencoder.xml b/DOCS/xml/cs/mencoder.xml
deleted file mode 100644
index 3b3ff87..0000000
--- a/DOCS/xml/cs/mencoder.xml
+++ /dev/null
@@ -1,776 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Synced with r24342 -->
-<chapter id="mencoder">
-<title>Základnà použità <application>MEncoder</application>u</title>
-
-<para>
-Ãplný seznam dostupných voleb a pÅÃkladů pro <application>MEncoder</application>
-naleznete v man stránce. Åadu užiteÄných pÅÃkladů a podrobných návodů pro
-použità mnoha enkódovacÃch voleb naleznete v
-<ulink url="../../tech/encoding-tips.txt">tipech pro enkódovánÃ</ulink>, které
-byly zÃskány z nÄkolika diskusà v konferenci MPlayer-users. Prohledejte archivy
-<ulink url="http://lists.mplayerhq.hu/pipermail/mencoder-users/">zde</ulink>,
-hlavnÄ pro staršà vÄci a také
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">zde</ulink>
-chcete-li bohatost diskusà o všech aspektech a problémech vztažených
-k enkódovánà <application>MEncoder</application>em.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-codec">
-<title>VýbÄr kodeků a nosných formátů</title>
-
-<para>
-Audio a video kodeky pro enkódovánà jsou vybÃrány pÅÃsluÅ¡nými
-volbami <option>-oac</option> a <option>-ovc</option>.
-NapiÅ¡te napÅÃklad:
-<screen>mencoder -ovc help</screen>
-pro seznam video kodeků podporovaných verzà programu
-<application>MEncoder</application> na vaÅ¡em poÄÃtaÄi.
-Dostupné jsou následujÃcà možnosti:
-</para>
-
-<para>
-Audio (zvukové) kodeky:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Jméno audio kodeku</entry><entry>Popis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mp3lame</entry>
- <entry>Enkóduje do VBR, ABR nebo CBR MP3 pomocà LAME</entry>
-</row>
-<row>
- <entry>lavc</entry>
- <entry>Použije se nÄkterý z
- <link linkend="menc-feat-enc-libavcodec-audio-codecs">
- <systemitem class="library">libavcodec</systemitem> audio kodeků</link>
- </entry>
-</row>
-<row>
- <entry>faac</entry>
- <entry>FAAC AAC audio enkodér</entry>
-</row>
-<row>
- <entry>toolame</entry>
- <entry>Enkodér MPEG Audio Layer 2</entry>
-</row>
-<row>
- <entry>twolame</entry>
- <entry>Enkodér MPEG Audio Layer 2 založený na tooLAME</entry>
-</row>
-<row>
- <entry>pcm</entry>
- <entry>Nekomprimovaný PCM zvuk</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>Nereenkóduje, pouze kopÃruje komprimované vzorky</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Video kodeky:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Jméno video kodeku</entry><entry>Popis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavc</entry>
- <entry>Použije se nÄkterý z
- <link linkend="menc-feat-enc-libavcodec-video-codecs">
- <systemitem class="library">libavcodec</systemitem> video kodeků</link>
- </entry>
-</row>
-<row>
- <entry>xvid</entry>
- <entry>XviD, MPEG-4 Advanced Simple Profile (ASP) kodek</entry>
-</row>
-<row>
- <entry>x264</entry>
- <entry>x264, MPEG-4 Advanced Video Coding (AVC), alias H.264 kodek</entry>
-</row>
-<row>
- <entry>nuv</entry>
- <entry>nuppel video, použÃvaný nÄkterými realtime aplikacemi</entry>
-</row>
-<row>
- <entry>raw</entry>
- <entry>Nekomprimované videosnÃmky</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>Nereenkóduje, pouze kopÃruje komprimované snÃmky</entry>
-</row>
-<row>
- <entry>frameno</entry>
- <entry>Použité pro 3-průchodové enkódovánà (nedoporuÄujeme)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Výstupnà nosný formát je vybÃrán volbou <option>-of</option>.
-Zadejte:
-<screen>mencoder -of help</screen>
-pro seznam vÅ¡ech nosných formátů podporovaných verzÃ
-<application>MEncoder</application>u na vaÅ¡em poÄÃtaÄi.
-Dostupné jsou následujÃcà možnosti:
-</para>
-
-<para>
-Nosné formáty:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Název nosného formátu</entry><entry>Popis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavf</entry>
- <entry>Jeden z nosných formátů podporovaných
- <systemitem class="library">libavformat</systemitem></entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved (Prokládané audio s videem)</entry>
-</row>
-<row>
- <entry>mpeg</entry>
- <entry>MPEG-1 a MPEG-2 PS</entry>
-</row>
-<row>
- <entry>rawvideo</entry>
- <entry>surový (raw) video datový proud (žádný muxing – pouze jeden
- video proud)</entry>
-</row>
-<row>
- <entry>rawaudio</entry>
- <entry>surový (raw) audio datový proud (žádný muxing – pouze jeden
- audio proud)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Nosný formát AVI je nativnÃm nosným formátem
-<application>MEncoder</application>u, což znamená, že je tÃm, který je nejlépe
-zpracován a pro nÄjž byl <application>MEncoder</application>
-navržen.
-Jak bylo zmÃnÄno, ostatnà nosné formáty jsou použitelné, ale můžete
-pÅi jejich použità narazit na problémy.
-</para>
-
-<para>
-Nosné formáty <systemitem class="library">libavformat</systemitem>:
-</para>
-
-<para>
-Pokud jste si zvolili <systemitem class="library">libavformat</systemitem>
-pro provádÄnà muxovánà výstupnÃho souboru (pomocà <option>-of lavf</option>),
-pÅÃsluÅ¡ný nosný formát bude urÄen z pÅÃpony výstupnÃho souboru.
-Můžete vynutit urÄitý nosný formát pomocà parametru <option>format</option>
-knihovny <systemitem class="library">libavformat</systemitem>.
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead><row>
-<entry>Název <systemitem class="library">libavformat</systemitem> nosného formátu</entry><entry>Popis</entry>
-</row></thead>
-<tbody>
-<row>
- <entry>mpg</entry>
- <entry>MPEG-1 a MPEG-2 PS</entry>
-</row>
-<row>
- <entry>asf</entry>
- <entry>Advanced Streaming Format</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>wav</entry>
- <entry>Waveform Audio</entry>
-</row>
-<row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Macromedia Flash video</entry>
-</row>
-<row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
-</row>
-<row>
- <entry>au</entry>
- <entry>SUN AU</entry>
-</row>
-<row>
- <entry>nut</entry>
- <entry>otevÅený nosný formát NUT (experimentálnà a dosud nesluÄitelný se specifikacÃ)</entry>
-</row>
-<row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
-</row>
-<row>
- <entry>mp4</entry>
- <entry>formát MPEG-4</entry>
-</row>
-<row>
- <entry>dv</entry>
- <entry>Sony Digital Video</entry>
-</row>
-<row>
- <entry>mkv</entry>
- <entry>OtevÅený nosný audio/video formát Matroska</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Jak vidÃte, <systemitem class="library">libavformat</systemitem>
-umožÅuje <application>MEncoder</application>u muxovat do velkého množstvÃ
-nosných formátů.
-NaneÅ¡tÄstÃ, jelikož <application>MEncoder</application> nebyl od poÄátku
-navržen pro podporu jiných nosných formátů než AVI, mÄli byste být
-paranoidnà ve vztahu k výstupnÃmu souboru.
-OvÄÅte si prosÃm pro jistotu, že audio/video synchronizace je OK
-a soubor lze správnÄ pÅehrát i jinými pÅehrávaÄi, než
-<application>MPlayer</application>.
-</para>
-
-<example id="encode_to_macromedia_flash_format">
-<title>Enkódovánà do formátu Macromedia Flash</title>
-<para>
-VytvoÅenà Macromedia Flash videa vhodného pro pÅehrávánà ve webovém prohlÞeÄi
-pomocà Macromedia Flash pluginu:
-<screen>
-mencoder <replaceable>vstupnÃ.avi</replaceable> -o <replaceable>výstupnÃ.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
-</screen>
-</para>
-</example>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-input">
-<title>VýbÄr vstupnÃho souboru nebo zaÅÃzenÃ</title>
-
-<para>
-<application>MEncoder</application> umà enkódovat ze souborů nebo pÅÃmo z
-DVD Äi VCD disku.
-Vložte na pÅÃkazovém Åádku jméno souboru pro enkódovánà souboru,
-nebo <option>dvd://</option><replaceable>ÄÃslo_titulu</replaceable> nebo
-<option>vcd://</option><replaceable>ÄÃslo_stopy</replaceable> pro enkódovánÃ
-DVD titulu Äi VCD stopy.
-Máte-li již zkopÃrováno DVD na hard disk (k tomu můžete použÃt nástroj jako
-<application>dvdbackup</application>, dostupný na mnoha systémech),
-a chcete enkódovat z kopie, mÄli byste i zde použÃt syntaxi
-<option>dvd://</option> ve spojenàs volbou <option>-dvd-device</option>
-následovanou cestou do koÅenového adresáÅe skopÃrovaného DVD.
-
-Volby <option>-dvd-device</option> a <option>-cdrom-device</option>
-lze rovnÄž použÃt k pÅenastavenà cest k souborům zaÅÃzenà pro pÅÃmé
-Ätenà disků, pokud výchozÃ
-<filename>/dev/dvd</filename> a <filename>/dev/cdrom</filename> na vašem
-systému nepracujÃ.
-</para>
-
-<para>
-Enkódujete-li z DVD, je Äasto vhodné vybrat kapitolu nebo rozsah
-kapitol k enkódovánÃ.
-Pro tento úÄel můžete použÃt volbu <option>-chapter</option>.
-NapÅÃklad s volbou <option>-chapter</option> <replaceable>1-4</replaceable>
-se budou z DVD enkódovat pouze kapitoly 1 až 4.
-To se zvlášť hodÃ, pokud budete enkódovat film na velikost 1400 MB
-urÄený pro dvÄ CD, jelikož budete mÃt jistotu, že zlom nastane pÅesnÄ
-na hranici kapitol mÃsto uprostÅed scény.
-</para>
-
-<para>
-Pokud máte podporovanou TV zachytávacà kartu, můžete rovnÄž enkódovat ze
-zaÅÃzenà TV vstupu.
-Použijte <option>tv://</option><replaceable>ÄÃslo_kanálu</replaceable> jako
-jméno souboru a volbu <option>-tv</option> pro konfiguraci různých nastavenÃ
-zachytávánÃ.
-Vstup z DVB pracuje obdobnÄ.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg4">
-<title>Dvouprůchodové enkódovánà MPEG-4 ("DivX")</title>
-
-<para>
-Název vycházà z faktu, že soubor je enkódován <emphasis>dvakrát</emphasis>.
-Prvnà enkódovánà (dubbed pass) vytvoÅà doÄasné soubory
-(<filename>*.log</filename>) velikosti nÄkolika megabajtů, které zatÃm nemažte
-(můžete smazat AVI, nebo radÄji žádné nevytváÅejte a pÅesmÄrujte je do
-<filename>/dev/null</filename>).
-Ve druhém průchodu je vytvoÅen dvouprůchodový výstupnÃ
-soubor s použitÃm ÅÃzenà datového toku z doÄasných souborů. Výsledný soubor
-bude mÃt lepšà kvalitu obrazu. Pokud jste o tom teÄ slyÅ¡eli poprvé, mÄli byste
-si prostudovat nÄkteré návody dostupné na netu.
-</para>
-
-<example id="copy_audio_track">
-<title>KopÃrovánà zvukové stopy</title>
-<para>
-Dvouprůchodové enkódovánà druhé stopy z DVD do MPEG-4 ("DivX")
-AVI zatÃmco se zvuk pouze zkopÃruje.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>Enkódovánà zvukové stopy</title>
-<para>
-Dvouprůchodové enkódovánà DVD do MPEG-4 ("DivX") AVI a souÄasnÄ
-enkódovánà zvukové stopy do MP3.
-PÅi této metodÄ buÄte opatrnÃ, jelikož v nÄkterých pÅÃpadech může vést k rozjetÃ
-zvuku s videem.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-handheld-psp">
-<title>EnkódovánÃdo video formátu Sony PSP</title>
-
-<para>
-<application>MEncoder</application> podporuje enkódovánà do Sony PSP video
-formátu, ale mohou se liÅ¡it, v závislosti na revizi PSP softwaru, s tÃm
-spojená omezenÃ.
-Budete-li respektovat následujÃcà omezenÃ, nemÄli byste narazit na potÞe:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Datový tok</emphasis>: by nemÄl pÅekroÄit 1500kbps,
- ale poslednà verze podporovaly prakticky jakýkoli datový tok pokud hlaviÄka
- tvrdÃ, že nenà pÅÃliÅ¡ vysoký.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">RozmÄry</emphasis>: Å¡ÃÅka a výška PSP videa
- by mÄly být násobky 16 a výsledek Å¡ÃÅka * výška musÃ
- být <= 64000.
- Za urÄitých okolnostà může být možné, aby PSP hrál i ve vyššÃm rozliÅ¡enÃ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audio</emphasis>: jeho vzorkovacà kmitoÄet by mÄl být 24kHz
- pro videa MPEG-4 a 48kHz pro H.264.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<example id="encode_for_psp">
-<title>Enkódovánà do PSP</title>
-<para>
-<screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
- <replaceable>vstupnÃ.video</replaceable> -o <replaceable>výstupnÃ.psp</replaceable>
-</screen>
-Poznamenejme, že můžete nastavit jméno videa pomocÃ
-<option>-info name=<replaceable>JménoFilmu</replaceable></option>.
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg">
-<title>Enkódovánà do MPEG formátu</title>
-
-<para>
-<application>MEncoder</application> umà vytvoÅit výstupnà soubor formátu
-MPEG (MPEG-PS).
-Pokud použÃváte MPEG-1 nebo MPEG-2 video, obvykle je to proto, že enkódujete
-pro omezený formát jako je SVCD, VCD nebo DVD.
-Konkrétnà požadavky tÄchto formátů jsou objasnÄny v sekci
-<link linkend="menc-feat-vcd-dvd">návod pro vytvoÅenà VCD a DVD</link>.
-</para>
-
-<para>
-Výstupnà souborový formát <application>MEncoder</application>u zmÄnÃte použitÃm
-volby <option>-of mpeg</option>.
-</para>
-
-<informalexample>
-<para>
-PÅÃklad:
-<screen>
-mencoder <replaceable>vstupnÃ.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
- -oac copy <replaceable>ostatnÃ_volby</replaceable> -o <replaceable>výstupnÃ.mpg</replaceable>
-</screen>
-VytvoÅenà MPEG-1 souboru vhodného pro pÅehrávánà na systémech s minimálnÃ
-podporou multimédiÃ, jako je výchozà instalace Windows:
-<screen>
-mencoder <replaceable>vstupnÃ.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>výstupnÃ.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-To samé, ale použijeme <systemitem class="library">libavformat</systemitem> MPEG muxer:
-<screen>
-mencoder <replaceable>vstupnÃ.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>Tip:</title>
-<para>
-Pokud vás z nÄjakého důvodu neuspokojà kvalita videa z druhého průchodu,
-můžete znovu spustit enkódovánà videa s jiným cÃlovým datovým tokem, s tÃm,
-že máte uložen soubor se statistikami z pÅedchozÃho průchodu.
-To je možné proto, že cÃlem statistického souboru je pÅedevÅ¡Ãm zaznamenat
-komplexitu každého snÃmku, která pÅÃliÅ¡ nezávisà na datovém toku.
-PovÅ¡imnÄte si, že aÄkoli nejvyššà kvality dosáhnete pokud vÅ¡echny
-průchody pobÄžà pÅi stejném datovém toku, tak se výsledek pÅÃliÅ¡ neliÅ¡Ã.
-</para>
-</note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-rescale">
-<title>Å kálovánà (zmÄna velikosti) filmů</title>
-
-<para>
-Äasto potÅebujeme zmÄnit velikost obrázků ve filmu a to z mnoha důvodů: zmenÅ¡enÃ
-souboru, zátÄže sÃtÄ atd. Mnoho lidà dokonce mÄnà velikost pÅi pÅevodu DVD nebo
-SVCD do DivX AVI. Pokud si pÅejete video pÅeÅ¡kálovat, pÅeÄtÄte si sekci
-<link linkend="aspect">Zachovánà pomÄru stran</link>.
-</para>
-
-<para>
-Samotný proces Å¡kálovánà je provádÄn video filtrem <literal>scale</literal>:
-<option>-vf scale=<replaceable>Å¡ÃÅka</replaceable>:<replaceable>výška</replaceable></option>.
-Jeho kvalita může být nastavena volbou <option>-sws</option>.
-Pokud ji neuvedete, <application>MEncoder</application> použije 2: bikubickou.
-</para>
-
-<para>
-PoužitÃ:
-<screen>
-mencoder <replaceable>vstup.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>Proudové kopÃrovánÃ</title>
-
-<para>
-<application>MEncoder</application> může zpracovat vstupnà datové proudy dvÄma
-způsoby:
-<emphasis role="bold">enkóduje</emphasis> je, nebo je
-<emphasis role="bold">kopÃruje</emphasis>. Tato Äást je o
-<emphasis role="bold">kopÃrovánÃ</emphasis>.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Video proud</emphasis> (volba <option>-ovc copy</option>):
- můžete dÄlat pÄkné vÄci :) Jako umÃstÄnà (nikoli konverze!) FLI nebo VIVO nebo
- MPEG-1 videa do AVI souboru! SamozÅejmÄ takové soubory pÅehraje pouze
- <application>MPlayer</application> :) A proto to nejspÃÅ¡ nemá žádnou rozumnou
- hodnotu. A teÄ vážnÄ: kopÃrovánà video proudu může být užiteÄné napÅÃklad
- tehdy, když má být enkódován pouze zvuk (napÅ. nekomprimovaný PCM do MP3).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audio proud</emphasis> (volba <option>-oac copy</option>):
- jednoduché. Je možné vzÃt externà zvukový soubor (MP3, WAV) a namultiplexovat
- jej do výstupnÃho proudu. K tomu použijte volbu
- <option>-audiofile <replaceable>soubor</replaceable></option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Použità <option>-oac copy</option> pro kopÃrovánà z jednoho nosného fomátu
-do jiného může vyžadovat použità <option>-fafmttag</option> pro zachovánÃ
-pÅÃznaku formátu zvuku původnÃho souboru.
-NapÅÃklad pokud konvertujete NSV soubor s AAC zvukem do nosného formátu AVI,
-bude pÅÃznak formátu zvuku nesprávný a bude jej nutno zmÄnit.
-Seznam pÅÃznaků audio formátu naleznete v souboru
-<filename>codecs.conf</filename>.
-</para>
-
-<para>
-PÅÃklad:
-<screen>
-mencoder <replaceable>vstupnÃ.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>výstupnÃ.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-images">
-<title>Enkódovánà z množstvà vstupnÃch obrázkových souborů (JPEG, PNG, TGA, atd.)</title>
-
-<para>
-<application>MEncoder</application> je schopen vytvoÅit film z jednoho nebo vÃce
-JPEG, PNG nebo TGA souborů. Pomocà jednoduchého snÃmkového kopÃrovánà může
-vytvoÅit MJPEG (Motion JPEG), MPNG (Motion PNG) nebo MTGA (Motion TGA) soubory.
-</para>
-
-<orderedlist>
-<title>VysvÄtlenà procesu:</title>
-<listitem><para>
- <application>MEncoder</application> <emphasis>dekóduje</emphasis> vstupnÃ
- soubor(y) pomocà knihovny <systemitem class="library">libjpeg</systemitem>
- (když dekóduje PNG, použije <systemitem class="library">libpng</systemitem>).
- </para></listitem>
-<listitem><para>
- Potom <application>MEncoder</application> nakrmà dekódovaný snÃmek do
- zvoleného video kompresoru (DivX4, Xvid, FFmpeg msmpeg4, atd.).
- </para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>PÅÃklady</title>
-<para>
-VysvÄtlenà volby <option>-mf</option> je v man stránce.
-
-<informalexample>
-<para>
-VytvoÅenà MPEG-4 souboru ze vÅ¡ech JPEG souborů v aktuálnÃm adresáÅi:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-VytvoÅenà MPEG-4 souboru z nÄkterých JPEG souborů v aktuálnÃm adresáÅi:
-<screen>
-mencoder mf://<replaceable>snÃmek001.jpg,snÃmek002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-VytvoÅenà MPEG-4 souboru ze seznamu vyjmenovaných JPEG souborů
-(seznam.txt v aktuálnÃm adresáÅi obsahuje seznam souborů k použitÃ
-jako zdroj, každý soubor na samostatném Åádku):
-<screen>
-mencoder mf://<replaceable>@seznam.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-Můžete kombinovat různé typy, bez ohledu na metodu, kterou použÃváte
-– individuálnà jména souborů, žolÃky nebo soubor se seznamem – pÅiÄemž
-musà mÃt pÅirozenÄ stejné rozmÄry.
-Takže můžete napÅ. vzÃt úvodnà snÃmek z PNG souboru
-a pak vložit slideshow z JPEG fotek.
-
-<informalexample>
-<para>
-VytvoÅenà Motion JPEG (MJPEG) souboru ze vÅ¡ech JPEG souborů v aktuálnÃm
-adresáÅi:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-VytvoÅenà nekomprimovaného souboru ze vÅ¡ech PNG souborů v aktuálnÃm adresáÅi:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>výstup.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><para>
-Å ÃÅka musà být celé ÄÃslo násobek 4, to je dáno omezenÃm RAW RGB AVI
-formátu.
-</para></note>
-
-<informalexample>
-<para>
-VytvoÅenà Motion PNG (MPNG) souboru ze vÅ¡ech PNG souborů v aktuálnÃm adresáÅi:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>výstup.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-VytvoÅenà Motion TGA (MTGA) souboru ze vÅ¡ech TGA souborů v aktuálnÃm adresáÅi:
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>výstup.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-extractsub">
-<title>Extrakce DVD titulků do VOBsub souboru</title>
-
-<para>
-<application>MEncoder</application> je schopen vyextrahovat titulky z DVD do
-VOBsub formátovaných souborů. Ty sestávajà ze dvou souborů zakonÄených
-<filename>.idx</filename> a <filename>.sub</filename> a jsou obvykle zabaleny
-v jediném <filename>.rar</filename> archivu.
-<application>MPlayer</application> je umà pÅehrávat s pomocà voleb
-<option>-vobsub</option> a <option>-vobsubid</option>.
-</para>
-
-<para>
-Zadejte základnà jméno (Äili bez pÅÃpony <filename>.idx</filename> nebo
-<filename>.sub</filename>) výstupnÃch souborů pomocà volby
-<option>-vobsubout</option> a index pro tyto titulky ve zbývajÃcÃch souborech
-pomocà <option>-vobsuboutindex</option>.
-</para>
-
-<para>
-Pokud nenà vstup z DVD, mÄli byste použÃt <option>-ifo</option> pro indikaci
-<filename>.ifo</filename> souboru nutného k vytvoÅenà výsledného
-<filename>.idx</filename> souboru.
-</para>
-
-<para>
-Pokud vstup nenà z DVD a nemáte <filename>.ifo</filename> soubor, budete muset
-použÃt volbu <option>-vobsubid</option> k nastavenÃ, pro které id jazyka se má
-vytvoÅit <filename>.idx</filename> soubor.
-</para>
-
-<para>
-Každým spuÅ¡tÄnÃm se pÅidajà bÄžÃcà titulky pokud soubory <filename>.idx</filename>
-a <filename>.sub</filename> již existujÃ. Takže byste je mÄli vÅ¡echny odstranit
-dÅÃve než zaÄnete.
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>KopÃrovánà dvojÃch titulků z DVD bÄhem dvouprůchodového enkódovánÃ</title>
-<screen>
-rm <replaceable>titulky.idx</replaceable> <replaceable>titulky.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>titulky</replaceable> -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>titulky</replaceable> -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>KopÃrovánà francouzských titulků z MPEG souboru</title>
-<screen>
-rm <replaceable>titulky.idx</replaceable> <replaceable>titulky.sub</replaceable>
-mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout <replaceable>titulky</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
-</screen>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="aspect">
-<title>Zachovánà pomÄru stran</title>
-
-<para>
-DVD a SVCD (Äili MPEG-1/2) soubory obsahujà hodnotu pomÄru stran,
-popisujÃcÃ, jak by mÄl pÅehrávaÄ Å¡kálovat video proud, takže lidé nebudou mÃt
-Å¡iÅ¡até hlavy (pÅ.: 480x480 + 4:3 = 640x480). Pokud ovÅ¡em enkódujeme do AVI
-(DivX) souborů, mÄjte na pamÄti, že AVI hlaviÄky neukládajà tuto hodnotu.
-PÅeÅ¡kálovánà videa je odporné a ÄasovÄ nároÄné, takže musà být lepšà způsob!
-</para>
-
-<para>A zde jej máte</para>
-
-<para>
-MPEG-4 má unikátnà vlastnost: video proud může obsahovat svůj požadovaný pomÄr
-stran. Ano, pÅesnÄ jako MPEG-1/2 (DVD, SVCD) a H.263 soubory. NaneÅ¡tÄstà kromÄ
-<application>MPlayer</application>u jen málo video pÅehrávaÄů podporuje
-tento atribut MPEG-4.
-</para>
-
-<para>
-Tato vlastnost může být použita pouze s kodekem <systemitem>mpeg4</systemitem> z
-<systemitem class="library">libavcodec</systemitem>u.
-MÄjte na pamÄti: aÄkoli
-<application>MPlayer</application> korektnÄ pÅehraje vytvoÅený soubor, ostatnÃ
-pÅehrávaÄe použijà špatný pomÄr stran.
-</para>
-
-<para>
-Opravdu byste mÄli oÅÃznout Äerné okraje nad a pod filmem.
-Nastudujte si použità filtrů <systemitem>cropdetect</systemitem> a
-<systemitem>crop</systemitem> v man stránce.
-</para>
-
-<para>
-PoužitÃ
-<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>output.avi</replaceable></screen>
-</para>
-</sect1>
-
-
-</chapter>
diff --git a/DOCS/xml/cs/ports.xml b/DOCS/xml/cs/ports.xml
deleted file mode 100644
index 2f94479..0000000
--- a/DOCS/xml/cs/ports.xml
+++ /dev/null
@@ -1,887 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Synced with r24327 -->
-<chapter id="ports" xreflabel="Ports">
-<title>Porty</title>
-
-<sect1 id="linux">
-<title>Linux</title>
-
-<para>
-Hlavnà vývojovou platformou je Linux na x86, aÄkoli
-<application>MPlayer</application> pracuje na mnoha jiných portech Linuxu.
-Binárnà balÃÄky <application>MPlayer</application>u jsou dostupné z nÄkolika
-zdrojů.
-NicménÄ <emphasis role="bold">nenà žádný z tÄchto balÃÄků podporován</emphasis>.
-Hlaste tedy problémy jejich autorům, nikoli nám.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="debian">
-<title>VytvoÅenà balÃÄku pro Debian</title>
-
-<para>
-Pro vytvoÅenà balÃÄku pro Debian spusÅ¥te následujÃcà pÅÃkaz v adresáÅi se
-zdrojovým kódem <application>MPlayer</application>u:
-
-<screen>fakeroot debian/rules binary</screen>
-
-Pokud chcete pÅedat nÄjaké volby pro configure, můžete nastavit promÄnnou
-prostÅedà <envar>DEB_BUILD_OPTIONS</envar>. NapÅÃklad, pokud chcete GUI a
-podporu OSD menu, mÄli byste použÃt:
-
-<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
-RovnÄž můžete pÅedat nÄkteré promÄnné do Makefile. NapÅÃklad, pokud chcete
-kompilovat pomocà gcc 3.4 i v pÅÃpadÄ, že to nenà výchozà kompilátor:
-
-<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
-K vyÄistÄnà zdrojového stromu spusÅ¥te následujÃcà pÅÃkaz:
-
-<screen>fakeroot debian/rules clean</screen>
-
-Jako root můžete nainstalovat <filename>.deb</filename> balÃÄek obvyklým
-způsobem:
-
-<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
-</para>
-
-<para>
-Christian Marillat vytváÅel jistou dobu neoficiálnà Debianà balÃÄky
-<application>MPlayer</application>u, <application>MEncoder</application>u a
-naÅ¡ich binárnÃch balÃků s kodeky, můžete si je stáhnout (apt-get) z
-<ulink url="http://www.debian-multimedia.org/">jeho domácà stránky</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="rpm">
-<title>Balenà RPM</title>
-
-<para>
-Dominik Mierzejewski udržuje oficiálnà RPM balÃÄky
-<application>MPlayer</application>u pro Fedora Core. Ty jsou dostupné
-z <ulink url="http://rpm.livna.org/">repozitáÅe</ulink>.
-</para>
-
-<para>
-RPM bal̀ky pro Mandrake/Mandriva jsou dostupn̩ z
-<ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
-SuSE zaÅadilo do své distribuce zmrzaÄenou verzi
-<application>MPlayer</application>u. V poslednÃch verzÃch ji odstranili. FunkÄnÃ
-RPM naleznete na
-<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="arm">
-<title>ARM</title>
-
-<para>
-<application>MPlayer</application> pracuje na Linuxových PDA s ARM CPU napÅ.
-Sharp Zaurus, Compaq Ipaq. Nejjednoduššà způsob jak si opatÅit
-<application>MPlayer</application> je, stáhnout si jej z nÄkterého
-<ulink url="http://www.openzaurus.org">OpenZaurus</ulink> balÃÄkového kanálu.
-Pokud si jej chcete skompilovat sami, mÄli byste nahlédnout do adresáÅe
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
-a
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
-v buildroot OpenZaurus distribuce. Zde majà vždy poslednà Makefile a patche použÃvané
-pro sestavenà SVN verze <application>MPlayer</application>u.
-Pokud potÅebujete GUI rozhranÃ, můžete použÃt xmms-embedded.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bsd">
-<title>*BSD</title>
-
-<para>
-<application>MPlayer</application> bÄžà na vÅ¡ech známých BSD verzÃch.
-Existujà portované/pkgsrc/fink/atd verze
-<application>MPlayer</application>u, které lze pravdÄpodobnÄ snadnÄji použÃt,
-než naše surové zdrojové kódy.
-</para>
-
-<para>
-K sestavenà <application>MPlayer</application>u budete potÅebovat GNU make
-(gmake - nativnà BSD make nebude pracovat) a souÄasnou verzi binutils.
-</para>
-
-<para>
-Pokud si <application>MPlayer</application> stÄžuje, že nemůže najÃt
-<filename>/dev/cdrom</filename> nebo <filename>/dev/dvd</filename>,
-vytvoÅte pÅÃsluÅ¡ný symbolický link:
-<screen>ln -s /dev/<replaceable>vaÅ¡e_cdrom_zaÅÃzenÃ</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
-Chcete-li použÃvat Win32 DLL v <application>MPlayer</application>u, budete muset
-rekompilovat jádro s volbou "<envar>USER_LDT</envar>"
-(pokud nepoužÃváte FreeBSD-CURRENT, kde je to výchozÃ).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-
-<para>
-Pokud váš procesor má SSE, rekompilujte jádro s
-"<envar>options CPU_ENABLE_SSE</envar>" (vyžaduje FreeBSD-STABLE nebo patche
-do jádra).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-
-<para>
-Vzhledem k omezenÃm v různých verzÃch gas (GNU assembleru – pozn. pÅekl.)
-(relokace vs MMX), budete muset kompilovat ve dvou krocÃch:
-Nejprve se ujistÄte že je nenativnà as jako prvnà ve vašà <envar>$PATH</envar>
-a proveÄte <command>gmake -k</command>, pak zajistÄte, aby se použila nativnÃ
-verze a proveÄte <command>gmake</command>.
-</para>
-
-<para>
-Od OpenBSD 3.4 nenà již výše uvedená metoda potÅeba.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="darwin">
-<title>Darwin</title>
-
-<para>
-Viz sekce <link linkend="macos">Mac OS</link>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="unix">
-<title>KomerÄnà Unix</title>
-
-<para>
-<application>MPlayer</application> byl portován na mnoho komerÄnÃch variant
-Unixu. Jelikož vývojová prostÅedà na tÄchto systémech bývajà odliÅ¡ná od tÄch
-na svobodných Unixech, budete muset provést ruÄnà úpravy, aby se kompilace
-povedla.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="solaris">
-<title>Solaris</title>
-
-<para>
-<application>MPlayer</application> by mÄl bÄžet na Solarisu 2.6 nebo novÄjÅ¡Ãm.
-Použijte SUN audio rozhranà pomocà volby <option>-ao sun</option> pro pÅehrávánÃ
-zvuku.
-</para>
-
-<para>
-Na <emphasis role="bold">UltraSPARC</emphasis>Ãch,
-<application>MPlayer</application> využÃvá jejich rozÅ¡ÃÅenÃ
-<emphasis role="bold">VIS</emphasis>
-(ekvivalentnà MMX), zatÃm jen v
-<systemitem class="library">libmpeg2</systemitem>,
-<systemitem class="library">libvo</systemitem>
-a <systemitem class="library">libavcodec</systemitem>, ale nikoli v
-<systemitem class="library">mp3lib</systemitem>. Můžete pÅehrávat VOB soubor
-na 400MHz CPU. Budete k tomu potÅebovat nainstalovanou
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>.
-</para>
-
-<para><emphasis role="bold">Caveat:</emphasis></para>
-<itemizedlist>
-<listitem><para>Podpora <emphasis role="bold">mediaLib</emphasis> je
-<emphasis role="bold">v souÄasnosti vypnutá</emphasis> ve výchozÃm nastavenÃ
-<application>MPlayer</application>u kvůli chybovosti. Uživatelé SPARCu
-pÅekládajÃcà MPlayer s podporou mediaLib hlásili tlustý zelený pruh
-v libavcodecem enkódovaném a dekódovaném videu. Pokud chcete, můžete si ji
-zapnout:
-<screen>./configure --enable-mlib</screen>
-DÄláte to na vlastnà nebezpeÄÃ. Uživatelé x86 by
-<emphasis role="bold">nikdy</emphasis> nemÄli použÃvat mediaLib, jelikož
-vede k velmi slabému výkonu MPlayeru.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Pro kompilaci balÃku budete potÅebovat GNU <application>make</application>
-(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), jelikož
-nativnà make Solarisu nebude pracovat. Typickou chybou kompilace s make
-Solarisu namÃsto GNU make je:
-<screen>
-% /usr/ccs/bin/make
-make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
-</screen>
-</para>
-
-<para>
-Na Solarisu SPARC, potÅebujete GNU C/C++ Compiler; nezáležà na tom, zda je
-GNU C/C++ compiler konfigurován s nebo bez GNU assembleru.
-</para>
-
-<para>
-Na Solarisu x86, potÅebujete GNU assembler a GNU C/C++ compiler,
-konfigurovaný pro použità GNU assembleru! Kód <application>MPlayer</application>u
-na platformÄ x86 intenzivnÄ použÃvá MMX, SSE a 3DNOW! instrukce,
-které nemůže být kompilovány Sun assemblerem
-<filename>/usr/ccs/bin/as</filename>.
-</para>
-
-<para>
-Skript <filename>configure</filename> zkoušà zjistit, který assembler je použitý
-vaÅ¡Ãm pÅÃkazem "gcc" (v pÅÃpadÄ Å¾e autodetekce selže, použijte volbu
-<option>--as=<replaceable>/kdekoli/máte/nainstalován/gnu-as</replaceable></option>
-pro nastavenà <filename>configure</filename> skriptu tak, aby našel GNU
-"as" na vašem systému).
-</para>
-
-<para>ÅeÅ¡enà bÄžných potÞÃ:</para>
-<itemizedlist>
-<listitem><para>
- Chybová zpráva z <filename>configure</filename> na systému Solaris x86
- s použitÃm GCC bez GNU assembleru:
- <screen>
-% configure
-...
-Checking assembler (/usr/ccs/bin/as) ... , failed
-Please upgrade(downgrade) binutils to 2.10.1...<!--
- --></screen>
- (ÅeÅ¡enÃ: Nainstalujte a použijte gcc konfigurovaný s
- <option>--with-as=gas</option>)
-</para>
-
-<para>
-Typická chyba, kterou dostanete pÅi kompilaci pomocà GNU C kompilátoru, který
-nepoužÃvá GNU as:
-<screen>
-% gmake
-...
-gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
-Assembler: mplayer.c
-"(stdin)", line 3567 : Illegal mnemonic
-"(stdin)", line 3567 : Syntax error
-... more "Illegal mnemonic" and "Syntax error" errors ...
-</screen>
-</para>
-</listitem>
-
-<listitem><para>
- <application>MPlayer</application> může zhavarovat (segfault),
- pokud dekódujete nebo enkódujete video použÃvajÃcà win32 kodeky:
-<screen>
-...
-Trying to force audio codec driver family acm...
-Opening audio decoder: [acm] Win32/ACM decoders
-sysi86(SI86DSCR): Invalid argument
-Couldn't install fs segment, expect segfault
-
-
-MPlayer interrupted by signal 11 in module: init_audio_codec
-...<!--
- --></screen>
- To dÃky zmÄnÄ na sysi86() ve verzÃch Solaris 10 a pÅed-Solaris
- Nevada b31. V Solaris Nevada b32 to bylo opraveno;
- Sun vÅ¡ak jeÅ¡tÄ musà portovat opravu do Solaris 10. MPlayer
- Project upozornil Sun na tento problém a záplata pro Solaris 10
- je v souÄasnosti rozpracována. VÃce informacà o této chybÄ naleznete
- na:
- <ulink
- url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
-</para></listitem>
-
-<listitem><para>
-DÃky chybám v Solarisu 8,
-nemůžete pÅehrávat DVD disky vÄtšà než 4 GB:
-</para>
-
-<itemizedlist>
-<listitem><para>
- OvladaÄ sd(7D) na Solarisu 8 x86 má chybu v pÅÃstupu k diskovému bloku >4GB
- na zaÅÃzenÃch, které majà logical blocksize != DEV_BSIZE (Äili CD-ROM a DVD média).
- DÃky 32Bit int overflow, dostanete pÅÃstupovou diskovou adresu modulo 4GB
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
- Tento problém neexistuje ve SPARC verzi Solarisu 8.
-</para></listitem>
-
-<listitem><para>
- Podobná chyba je i v kódu systému souborů hsfs(7FS) (AKA ISO9660),
- hsfs nemusà podporovat oddÃly/disky vÄtšà než 4GB, ke vÅ¡em datům je pÅistupováno
- modulo 4GB
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
- Problém hsfs může být odstranÄn nainstalovánÃm
- patche 109764-04 (sparc) / 109765-04 (x86).
-</para></listitem>
-</itemizedlist>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="hp-ux">
-<title>HP-UX</title>
-
-<para>
-Joe Page hostuje podrobné HP-UX <application>MPlayer</application>
-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
-od Martina Ganssera na jeho domácà stránce. Podle tÄchto instrukcà by kompilace
-mÄla probÄhnout bez potÞÃ. NásledujÃcà informace jsou vytaženy ze zmÃnÄného
-HOWTO.
-</para>
-
-<para>
-PotÅebujete GCC 3.4.0 nebo pozdÄjÅ¡Ã, GNU make 3.80 nebo pozdÄjšà a SDL 1.2.7 nebo pozdÄjÅ¡Ã.
-HP cc nevytvoÅà funkÄnà program, pÅedchozà verze GCC jsou chybové.
-Pro funkci OpenGL musÃte nainstalovat Mesa a video rozhranà gl a gl2 by mÄly
-pracovat. Jejich rychlost však může být velmi malá, podle rychlosti CPU.
-Dobrou náhradou za spÃÅ¡e slabý nativnà HP-UX systém je GNU esound.
-</para>
-
-<para>
-VytvoÅte DVD zaÅÃzenà průzkumem SCSI pomocÃ:
-
-<screen>
-# ioscan -fn
-
-Class I H/W Path Driver S/W State H/W Type Description
-...
-ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
-target 3 8/16/5.2 tgt CLAIMED DEVICE
-disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
- /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
-target 4 8/16/5.7 tgt CLAIMED DEVICE
-ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-</screen>
-
-Výstup na obrazovce ukazuje Pioneer DVD-ROM na SCSI adrese 2.
-Instance karty pro hardwarovou cestu 8/16 je 1.
-</para>
-
-<para>
-VytvoÅte link ze surového zaÅÃzenà na DVD zaÅÃzenÃ.
-<screen>
-ln -s /dev/rdsk/c<replaceable><SCSI bus instance></replaceable>t<replaceable><SCSI target ID></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><device></replaceable>
-</screen>
-PÅÃklad:
-<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
-</para>
-
-<para>
-NÞe uvádÃme ÅeÅ¡enà nÄkterých bÄžných problémů:
-
-<itemizedlist>
-<listitem>
- <para>
- Spadne pÅi startu s hlášenÃm:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl<!--
- --></screen>
- </para>
- <para>
- To znamená, že funkce <systemitem>.finite().</systemitem> nenÃ
- dostupná ve standardnà HP-UX matematické knihovnÄ.
- MÃsto nà je zde <systemitem>.isfinite().</systemitem>.
- ÅeÅ¡enÃ: Použijte poslednà Mesa depot soubor.
- </para>
-</listitem>
-
-<listitem>
- <para>
- Spadne pÅi pÅehrávánà s hlášenÃm:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0<!--
- --></screen>
- </para>
- <para>
- ÅeÅ¡enÃ: Použijte volbu extralibdir v configure
- <option>--extra-ldflags="/usr/lib -lrt"</option>
- </para>
-</listitem>
-
-<listitem>
-<para>
- MPlayer havaruje (segfault) s hlášenÃm:
- <screen>
-Pid 10166 received a SIGSEGV for stack growth failure.
-Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault<!--
- --></screen>
- </para>
- <para>
- ÅeÅ¡enÃ:
- HP-UX kernel má výchozà velikost zásobnÃku 8MB(?) na proces.(11.0 a
- novÄjšà 10.20 patche vám umožnà zvýšit <systemitem>maxssiz</systemitem> až na
- 350MB pro 32-bit programy). MusÃte zvÄtÅ¡it
- <systemitem>maxssiz</systemitem> a rekompilovat kernel (a restartovat).
- Pro tento úÄel můžete použÃt SAM.
- (Když už to budete dÄlat, ovÄÅte parametr <systemitem>maxdsiz</systemitem>
- pro maximálnà množstvà pamÄti, které může program použÃt.
- Závisà na vaÅ¡ich aplikacÃch, jestli je výchozÃch 64MB dost nebo ne.)
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="aix">
-<title>AIX</title>
-
-<para>
-<application>MPlayer</application> lze úspÄÅ¡nÄ pÅeložit na AIX 5.1,
-5.2 a 5.3, pomocà GCC 3.3 nebo vyššÃ. Kompilace
-<application>MPlayer</application>u na AIX 4.3.3 a nÞsÃch nebyla
-testována. Velmi doporuÄujeme kompilovat
-<application>MPlayer</application> pomocà GCC 3.4 nebo vaššÃ,
-nebo pokud kompilujete na
-POWER5, vyžaduje se GCC 4.0.
-</para>
-
-<para>
-UjistÄte se, že použÃváte GNU make
-(<filename>/opt/freeware/bin/gmake</filename>) pro sestavenÃ
-<application>MPlayer</application>u, jelikož pÅi použitÃ
-<filename>/usr/ccs/bin/make</filename> budete mÃt problémy.
-</para>
-
-<para>
-Detekce procesoru je stále nedokonÄena.
-Testovány byly následujÃcà architektury:
-</para>
-
-<itemizedlist>
- <listitem><para>604e</para></listitem>
- <listitem><para>POWER3</para></listitem>
- <listitem><para>POWER4</para></listitem>
-</itemizedlist>
-
-<para>
-NásledujÃcà architektury nebyly testovány, ale mÄly by pracovat:
-<itemizedlist>
- <listitem><para>POWER</para></listitem>
- <listitem><para>POWER2</para></listitem>
- <listitem><para>POWER5</para></listitem>
-</itemizedlist>
-</para>
-<para>
-Zvuk pÅes Ultimedia Services nenà podporován, jelikož Ultimedia byla
-opuÅ¡tÄna v AIX 5.1; tudÃÅ¡ je jedinou možnostà použità ovladaÄů AIX Open
-Sound System (OSS) od 4Front Technologies z
-<ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html</ulink>.
-4Front Technologies volnÄ poskytuje OSS ovladaÄe pro AIX 5.1 pro
-nekomerÄnà použitÃ; zatÃm vÅ¡ak neexistujà zvukové ovladaÄe
-pro AIX 5.2 nebo 5.3. To znamená, že <emphasis role="bold">AIX 5.2
-a 5.3 nejsou nynà schopny provozovat MPlayer se zvukem.</emphasis>
-</para>
-
-<para>ÅeÅ¡enà bÄžných potÞÃ:</para>
-
-<itemizedlist>
-<listitem>
-<para>
- Pokud dostanete tuto chybovou hlášku z <filename>configure</filename>:
- <screen>
-$ ./configure
-...
-Checking for iconv program ... no
-No working iconv program found, use
---charset=US-ASCII to continue anyway.
-Messages in the GTK-2 interface will be broken then.<!--
- --></screen>
- To proto, že AIX použÃvá nestandardnà názvy znakových sad; proto
- konverze výstupu MPlayeru do jiné znakové sady nenà zatÃm podporována.
- ÅeÅ¡enÃm je:
- <screen>$ ./configure --charset=noconv</screen>
- </para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="qnx">
-<title>QNX</title>
-
-<para>
-MusÃte si stáhnout a nainstalovat SDL pro QNX. Pak spusÅ¥te
-<application>MPlayer</application> s volbami <option>-vo sdl:driver=photon</option>
-a <option>-ao sdl:nto</option>, mÄlo by to být rychlé.
-</para>
-
-<para>
-Výstup <option>-vo x11</option> bude jeÅ¡tÄ pomalejšà než na Linuxu,
-jelikož QNX má pouze X <emphasis>emulaci</emphasis>, která je velmi pomalá.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>
-Ano, <application>MPlayer</application> bÄžà na Windows pod
-<ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> a
-<ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
-Nemá zatÃm oficiálnà GUI, ale verze pro pÅÃkazový Åádek je plnÄ funkÄnÃ.
-MÄli byste navÅ¡tÃvit konferenci
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
-pro pomoc a poslednà informace.
-Oficiálnà Windows binárky naleznete na
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">download stránce</ulink>.
-Instalátor a jednoduché GUI frontendy jsou dostupné z externÃch zdrojů.
-Odkazy na nÄ jsme umÃstili v sekci Windows na naÅ¡Ã
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">stránce s
-projekty</ulink>.
-</para>
-
-<para>
-Pokud se chcete vyhnout použità pÅÃkazové Åádky, můžete použÃt malý trik
-s umÃstÄnÃm zástupce na pracovnà plochu, který bude obsahovat v sekci
-spuÅ¡tÄnà nÄco takového:
-<screen><replaceable>c:\cesta\k\</replaceable>mplayer.exe %1</screen>
-To nechá <application>MPlayer</application> pÅehrát jakýkoli film, který je
-pÅetažen na zástupce. PÅidejte <option>-fs</option> pro celoobrazovkový
-režim.
-</para>
-
-<para>
-NejlepÅ¡Ãch výsledků dosáhnete použitÃm nativnÃho DirectX video rozhranÃ
-(<option>-vo directx</option>). Alternativami jsou OpenGL a SDL, ale výkon
-OpenGL se velmi různà na jednotlivých systémech a o SDL je známo, že na
-nÄkterých systémech drobà video nebo padá. Pokud je obraz rozsypán, zkuste
-vypnout hardwarovou akceleraci pomocÃ
-<option>-vo directx:noaccel</option>. StáhnÄte si
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">hlaviÄkové soubory DirectX 7</ulink>
-pro kompilaci výstupnÃho rozhranà DirectX. NavÃc budete muset mÃt
-nainstalovány DirectX 7 nebo vyššÃ, aby rozhranà pracovalo.
-</para>
-
-<para>
-<link linkend="vidix">VIDIX</link> nynà pracuje pod Windows jako
-<option>-vo winvidix</option>, aÄkoli je stále experimentálnÃ
-a vyžaduje trochu manuálnÃho nastavovánÃ. StáhnÄte si
-<ulink
-url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> nebo
-<ulink
-url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (s podporou MTRR)</ulink>
-a zkopÃrujte jej do adresáÅe
-<filename class="directory">vidix/dhahelperwin</filename> ve svém stromÄ se
-zdrojovými kódy <application>MPlayer</application>u.
-OtevÅete konzoli a pÅesuÅte se do tohoto adresáÅe. Pak zadejte
-<screen>gcc -o dhasetup.exe dhasetup.c</screen>
-a spusťte
-<screen>dhasetup.exe install</screen>
-jako Administrator. Pak budete muset restartovat. Jakmile budete hotovi,
-zkopÃrujte <systemitem class="library">.so</systemitem> soubory z
-<filename class="directory">vidix/drivers</filename> do adresáÅe
-<filename class="directory">mplayer/vidix</filename>
-relativnÃho k vaÅ¡emu <filename>mplayer.exe</filename>.
-</para>
-
-<para>
-Pro nejlepšà výsledky by mÄl <application>MPlayer</application> použÃvat
-barevný prostor, který podporuje vaÅ¡e video karta v hardware. NaneÅ¡tÄstÃ
-nÄkteré Windows ovladaÄe grafických karet Å¡patnÄ hlásà nÄkteré barevné
-prostory jako podporované v hardware. Chcete-li zjistit které, zkuste
-<screen>
-mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>barevny_prostor</replaceable> <replaceable>film</replaceable>
-</screen>
-kde <replaceable>barevny_prostor</replaceable> může být barevný prostor
-vypsaný volbou <option>-vf format=fmt=help</option>. Pokud najdete
-barevný prostor, který vaÅ¡e karta zvládá zjevnÄ Å¡patnÄ,
-<option>-vf noformat=<replaceable>barevny_prostor</replaceable></option>
-zakáže jeho použitÃ. PÅidejte si to do vaÅ¡eho konfig souboru, aby zůstal
-zakázán natrvalo.
-</para>
-
-<para>Pro Windows máme k dispozici speciálnà balÃÄky kodeků na naÅ¡Ã
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">download stránce</ulink>,
- abyste mohli pÅehrávat formáty, pro které zatÃm nenà nativnà podpora.
- UmÃstÄte kodeky nÄkde do cesty (path), nebo pÅidejte
- <option>--codecsdir=<replaceable>c:/cesta/ke/kodekům</replaceable></option>
- (pÅÃpadnÄ
- <option>--codecsdir=<replaceable>/cesta/ke/kodekům</replaceable></option>
- použÃvate-li <application>Cygwin</application>) do <filename>configure</filename>.
- Máme nÄkolik zpráv, že Real DLL musà mÃt práva zápisu pro uživatele, který
- pouÅ¡tà <application>MPlayer</application>, ale pouze na nÄkterých systémech (NT4).
- Máte-li potÞe, zkuste jim pÅidat právo zápisu.
- </para>
-
-<para>
-Můžete pÅehrávat VCD pÅehrávánÃm <filename>.DAT</filename> nebo
-<filename>.MPG</filename> souborů, které Windows ukazuje na VCD. Pracuje to
-takto (upravte pÃsmeno disku vašà CD-ROM):
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-DVD pracujà také, upravte <option>-dvd-device</option> na pÃsmeno
-DVD-ROM mechaniky:
-<screen>
-mplayer dvd://<replaceable><titul></replaceable> -dvd-device <replaceable>d</replaceable>:
-</screen>
-<application>Cygwin</application>/<application>MinGW</application>
-terminál je spÃÅ¡e pomalý. PÅesmÄrovánà výstupu nebo použità volby
-<option>-quiet</option> podle hlášenà zvýšà výkon na nÄkterých systémech.
-Direct rendering (<option>-dr</option>) může rovnÄž pomoci.
-Pokud je pÅehrávánà trhané, zkuste
-<option>-autosync 100</option>. Pokud vám nÄkteré z tÄchto voleb pomohly,
-mÄli byste si je zapsat do konfiguraÄnÃho souboru.
-</para>
-
-<note>
-
-<para>
-Runtime CPU detekce na Windows vypÃná podporu SSE kvůli opakovaným a
-tÄžko vystopovatelným se SSE souvisejÃcÃm pádům. Pokud chcete mÃt podporu
-SSE pod Windows, budete muset kompilovat bez runtime CPU detekce.
-</para>
-
-<para>
-Máte-li Pentium 4 a dojde k pádu pÅi použitÃ
-RealPlayer kodeků, možná budete muset vypnout podporu hyperthreading.
-</para>
-</note>
-
-<!-- ********** -->
-
-<sect2 id="cygwin">
-<title><application>Cygwin</application></title>
-
-<para>
-MusÃte použÃvat <application>Cygwin</application> 1.5.0 nebo vyššÃ,
-abyste mohli kompilovat <application>MPlayer</application>.
-</para>
-
-<para>
-HlaviÄkové soubory DirectX musà být rozbaleny do
-<filename class="directory">/usr/include/</filename> nebo
-<filename class="directory">/usr/local/include/</filename>.
-</para>
-
-<para>
-Instrukce a soubory nutné pro bÄh SDL pod
-<application>Cygwin</application> lze nalézt na
-<ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl stránkách</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="mingw">
-<title><application>MinGW</application></title>
-
-<para>
-Instalace takové verze <application>MinGW</application>, aby bylo lze
-kompilovat <application>MPlayer</application> byla obtÞná, ale nynÃ
-pracuje bez dalÅ¡Ãch úprav. Jen nainstalujte <application>MinGW</application>
-3.1.0 nebo vyššà a MSYS 1.0.9 nebo vyššà a zvolte v MSYS postinstall, že je
-<application>MinGW</application> nainstalováno.
-</para>
-
-<para>
-Rozbalte DirectX hlaviÄkové soubory do
-<filename class="directory">/mingw/include/</filename>.
-</para>
-
-<para>
-Podpora MOV compressed header vyžaduje
-<ulink url="http://www.gzip.org/zlib/">zlib</ulink>,
-kterou <application>MinGW</application> neobsahuje.
-Konfigurujte ji s <option>--prefix=/mingw</option> a nainstalujte
-ji pÅed kompilacà <application>MPlayer</application>u.
-</para>
-
-<para>
-Kompletnà instrukce pro pÅeklad <application>MPlayer</application>u
-a potÅebné knihovny naleznete v
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="macos">
-<title>Mac OS</title>
-
-<para>
-<application>MPlayer</application> nepracuje na Mac OS verzÃch pod
-10, ale mÄl by být bez úprav kompilovatelný na Mac OS X 10.2 a vyššÃch.
-Preferovaná verze kompileru je Apple verze
-GCC 3.x a vyššÃch.
-Základnà prostÅedà pro kompilaci můžete zÃskat instalacÃ
-<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
-od Apple. Máte-li Mac OS X 10.3.9 nebo pozdÄjšà a QuickTime 7
-můžete použÃt výstupnà video rozhranà <option>corevideo</option>.
-</para>
-
-<para>
-NaneÅ¡tÄstà toto základnà prostÅedà neumožÅuje využÃt vÅ¡echny
-pÄkné vlastnosti <application>MPlayer</application>u.
-NapÅÃklad, budete-li chtÃt mÃt zakompilovánu podporu OSD, budete
-muset mÃt na svém stroji nainstalovány knihovny
-<systemitem class="library">fontconfig</systemitem>
-a <systemitem class="library">freetype</systemitem>.
- NarozdÃl od jiných Unixů, jako je vÄtÅ¡ina variant Linuxu a BSD, OS X
- nemá balÃÄkovacà systém distribuovaný se systémem.
-</para>
-
-<para>
-Můžete vybÃrat minimálnÄ ze dvou:
-<ulink url="http://fink.sourceforge.net/">Fink</ulink>u a
-<ulink url="http://www.macports.org/">MacPorts</ulink>.
-Oba poskytujà zhruba stejné služby (napÅ. mnoho dostupných balÃÄků,
-ÅeÅ¡enà závislostÃ, schopnost jednoduÅ¡e pÅidávat/aktualizovat/odebÃrat
-balÃÄky, atp...).
-Fink nabÃzà jak pÅedkompilované binárnà balÃÄky, tak možnost kompilovat
-vÅ¡echno ze zdrojového kódu, zatÃmco MacPorts nabÃzà pouze možnost
-kompilace ze zdrojového kódu.
-Autor této pÅÃruÄky zvolil MacPorts z jednoduchého důvodu, že jeho
-základnà nastavenà je mnohem lehÄÃ.
-PozdÄjšà pÅÃklady budou založeny na MacPorts.
-</para>
-
-<para>
-NapÅÃklad pro kompilaci <application>MPlayer</application> s podporou OSD:
-<screen>sudo port install pkgconfig</screen>
-Takto nainstalujete <application>pkg-config</application>, což je systém pro správu
-knihovnÃch pÅÃznaků compile/link.
-<application>MPlayer</application>ův skript <systemitem>configure</systemitem> jej
-použÃvá pro správnou detekci knihoven.
-Pak můžete nainstalovat <application>fontconfig</application>
-podobným způsobem:
-<screen>sudo port install fontconfig</screen>
-NáslednÄ můžete pokraÄovat spuÅ¡tÄnÃm <application>MPlayer</application>ova
-<systemitem>configure</systemitem> skriptu (ovÄÅte promÄnné prostÅedÃ
-<systemitem>PKG_CONFIG_PATH</systemitem> a <systemitem>PATH</systemitem>,
-aby <systemitem>configure</systemitem> naÅ¡el knihovny instalované pomocÃ
-MacPorts):
-<screen>
-PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
-</screen>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="osx_gui">
-<title>MPlayer OS X GUI</title>
-
-<para>
-Můžete si stáhnout nativnà GUI pro <application>MPlayer</application> spolu
-s pÅedkompilovanými binárkami <application>MPlayer</application>u pro Mac OS X
-z <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink> projektu, ale upozorÅujeme:
-tento projekt již nenà aktivnÃ.
-</para>
-
-<para>
-NaÅ¡tÄstà byl <application>MPlayerOSX</application> pÅevzat Älenem
-<application>MPlayer</application> týmu.
-PÅedvádÄcà verze lze stáhnout z naÅ¡Ã
-<ulink url="http://mplayerhq.hu/dload.html">download stránky</ulink>
-a oficiálnà verze by mÄla pÅijÃt již brzy.
-</para>
-
-<para>
-Abyste mohli skompilovat <application>MPlayerOSX</application> ze zdrojového
-kódu sami, budete potÅebovat <systemitem>mplayerosx</systemitem>,
-<systemitem>main</systemitem> a kopii
-<systemitem>main</systemitem> SVN modulu jménem
-<systemitem>main_noaltivec</systemitem>.
-<systemitem>mplayerosx</systemitem> je GUI nadstavba,
-<systemitem>main</systemitem> je MPlayer a
-<systemitem>main_noaltivec</systemitem> je MPlayer pÅeložený bez podpory AltiVec.
-</para>
-
-<para>
-Pro staženà SVN modulů použijte:
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-</screen>
-</para>
-
-<para>
-Abyste skompilovali <application>MPlayerOSX</application> budete muset setavit
-asi toto:
-<screen>
-AdresáÅ_se_zdrojáky_MPlayeru
- |
- |--->main (Zdrojový kód MPlayeru ze Subversion)
- |
- |--->main_noaltivec (Zdrojový kód MPlayeru ze Subversion konfigurován s --disable-altivec)
- |
- \--->mplayerosx (Zdrojový kód MPlayer OS X ze Subversion)
-</screen>
-NejdÅÃv musÃte skompilovat main a main_noaltivec.
-</para>
-
-<para>
-Pro zaÄátek, pro dosaženà maximálnà zpÄtné kompatibility, nastavte
-globálnà promÄnnou:
-<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
-</para>
-
-<para>
-Pak konfigurujte:
-</para>
-
-<para>
-Pokud konfigurujete pro G4 nebo pozdÄjšà CPU s podporou AltiVec, proveÄte následujÃcÃ:
-<screen>
-./configure --disable-gl --disable-x11
-</screen>
-Pokud konfigurujete pro stroj s G3 bez AltiVec, použijte:
-<screen>
-./configure --disable-gl --disable-x11 --disable-altivec
-</screen>
-Možná budete muset editovat <filename>config.mak</filename> a zmÄnit
-<systemitem>-mcpu</systemitem> a <systemitem>-mtune</systemitem>
-z <systemitem>74XX</systemitem> na <systemitem>G3</systemitem>.
-</para>
-
-<para>
-PokraÄujte s
-<screen>make</screen>
-pak jdÄte do adresáÅe mplayerosx a napiÅ¡te
-<screen>make dist</screen>
-To vytvoÅà komprimovaný <systemitem>.dmg</systemitem> archiv
-s binárkou pÅipravenou k použitÃ.
-</para>
-
-<para>
-Také lze použÃt projekt <application>Xcode</application> 2.1;
-starý projekt pro <application>Xcode</application> 1.x
-již nepracuje.
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/cs/skin.xml b/DOCS/xml/cs/skin.xml
deleted file mode 100644
index 7fcee11..0000000
--- a/DOCS/xml/cs/skin.xml
+++ /dev/null
@@ -1,1224 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21612 -->
-<appendix id="skin">
-<title>Formát skinů <application>MPlayer</application>u</title>
-
-<sect1 id="skin-overview">
-<title>PÅehled</title>
-
-<para>
-Nemá to sice nic spoleÄného s formátem skinu, ale mÄli byste vÄdÄt, že
-<application>MPlayer</application> <emphasis role="bold">nemá</emphasis>
-vestavÄný skin, takže <emphasis role="bold">si musÃte alespoÅ jeden skin
-nainstalovat, chcete-li použÃvat GUI.</emphasis>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-overview-directories">
-<title>AdresáÅe</title>
-
-<para>
-AdresáÅe prohledávané na skiny jsou (v tomto poÅadÃ):
-<orderedlist>
-<listitem><para>
- <filename class="directory">$(DATADIR)/skins/</filename>
-</para></listitem>
-<listitem><para>
- <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
-</para></listitem>
-<listitem><para>
- <filename class="directory">~/.mplayer/skins/</filename>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Poznamenejme, že prvnà z cest se může lišit podle toho, jak je
-<application>MPlayer</application> zkonfigurován (viz volby configure skriptu
-<option>--prefix</option> a <option>--datadir</option>).
-</para>
-
-<para>
-Každý skin je instalován do vlastnÃho adresáÅe v nÄkterém z výše uvedených.
-NapÅÃklad:
-<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-overview-formats">
-<title>Formáty obrázků</title>
-
-<para>Obrázky musà být truecolor (24 nebo 32 bpp) PNG.</para>
-<para>
-V hlavnÃm oknÄ a v pÅehrávaÄi (viz nÞ) můžete použÃt obrázky s 'průhlednostÃ':
-Oblasti vyplnÄné barvou #FF00FF (magenta) jsou plnÄ průhledné, pokud jsou
-zobrazovány <application>MPlayer</application>em. To znamená, že můžete mÃt
-tvarovaná okna, pokud má váš X server XShape rozÅ¡ÃÅenÃ.
-</para>
-</sect2>
-
-<sect2 id="skin-overview-components">
-<title>SouÄásti skinu</title>
-
-<para>
-Skiny majà pomÄrnÄ volný formát (narozdÃl napÅÃklad od pevného formátu skinů
-<application>Winamp</application>u/<application>XMMS</application>),
-takže je jen na vás, zda vytvoÅÃte nÄco skvÄlého.
-</para>
-
-<para>
-V souÄasnosti jsou zde ÄtyÅi okna, která můžete dekorovat:
-<link linkend="skin-file-main">hlavnà okno</link>,
-<link linkend="skin-file-subwindow">podokno</link>,
-<link linkend="skin-file-main">ovládacà panel</link> a
-<link linkend="skin-file-menu">nabidka</link> (tu lze aktivovat
-pravým myÅ¡Ãtkem).
-
-<itemizedlist>
-<listitem>
- <para>
- <application>MPlayer</application> je ovládán v
- <emphasis role="bold">hlavnÃm oknÄ</emphasis> a/nebo v
- <emphasis role="bold">ovládacÃm panelu</emphasis>. PozadÃm okna je obrázek.
- NásledujÃcà souÄásti mohou (a musÃ) být umÃstÄny v oknÄ:
- <emphasis>tlaÄÃtka</emphasis>, <emphasis>potenciometry</emphasis> (Å¡oupátka)
- a <emphasis>popisky</emphasis>.
- Každé souÄásti musÃte nastavit pozici a velikost.
- </para>
-
- <para>
- A <emphasis role="bold">tlaÄÃtko</emphasis> má tÅi stavy (stisknuto, puÅ¡tÄno a
- zakázáno), proto musà být jeho obraz svisle rozdÄlen do tÅà ÄástÃ.
- Detaily viz souÄást <link linkend="skin-button">tlaÄÃtko</link>.
- </para>
-
- <para>
- A <emphasis role="bold">potenciometr</emphasis> (hlavnÄ použÃvaný pro
- liÅ¡tu pÅevÃjenà a ovládánà hlasitosti/stereováhy) může mÃt libovolný poÄet
- fázà dÄlÃcÃch jeho obraz na jednotlivé Äásti pod sebou. Detaily viz
- <link linkend="skin-hpotmeter">hpotenciometr</link> a
- <link linkend="skin-potmeter">potenciometr</link>.
- </para>
-
- <para>
- <emphasis role="bold">Popisky</emphasis> jsou ponÄkud zvláštnÃ: Znaky potÅebné
- pro jejich vykreslenà jsou brány z obrazového souboru a znaky v obrázku jsou
- popsány <link linkend="skin-fonts">souborem popisu fontu</link>.
- Tento (druhý) soubor je prostý textový soubor, který popisuje pozici x,y a
- velikost každého znaku v obrázku (obrázkový soubor a soubor popisu fontu
- <emphasis>spolu</emphasis> tvoÅÃ font). Detaily viz
- <link linkend="skin-dlabel">dlabel</link>.
- </para>
-
- <note><para>
- VÅ¡echny obrázky mohou mÃt plnou průhlednost, jak je popsána v sekci
- o <link linkend="skin-overview-formats">formátech obrázků</link>. Pokud X
- server nepodporuje rozÅ¡ÃÅenà XShape, budou průhledné Äásti Äerné. Pokud byste
- chtÄli využÃt tuto vlastnost, musà být Å¡ÃÅka pozadà hlavnÃho okna celoÄÃselnÄ
- dÄlitelná 8.
- </para></note>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">Podokno</emphasis> je to okno, kde se zobrazuje film.
- Může v nÄm být zobrazen urÄený obrázek, pokud nenà naÄten žádný film (je
- docela únavné, pokud zde nenà nic :-)).
- <emphasis role="bold">Poznámka:</emphasis> průhlednost zde
- <emphasis role="bold">nenà povolena</emphasis>.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">NabÃdka</emphasis> je jen způsob, jak ovládat
- <application>MPlayer</application> položkami menu. Vyžadovány jsou dva
- obrázky: jeden z nich jako menu v normálnÃm stavu a druhý se zvýraznÄnými
- položkami. Když pak vyvoláte menu, je zobrazen prvnà obrázek. PÅi pohybu myÅ¡Ã
- pÅes položky, je zkopÃrována aktuálnÄ vybraná položka z druhého obrázku pÅes
- ten prvnà pod kursorem (druhý obrázek nenà nikdy zobrazen celý).
- </para>
- <para>
- Položka menu je definována svou pozicà a velikostà v obrázku (detaily viz
- sekce <link linkend="skin-file-menu">nabÃdka</link>).
- </para>
-</listitem>
-</itemizedlist>
-</para>
-
-<para>
-Jednu důležitou vÄc jsme jeÅ¡tÄ nezmÃnili: MajÃ-li tlaÄÃtka,
-potenciometry a položky menu pracovat, musà <application>MPlayer</application>
-vÄdÄt, co má udÄlat, pokud je na nÄ kliknuto. To je zajiÅ¡tÄno pomocÃ
-<link linkend="skin-gui">zpráv</link> (událostÃ). Pro tyto Äleny tedy musÃte
-definovat zprávy, které budou pÅi kliku generovány.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-files">
-<title>Soubory</title>
-
-<para>
-Pro výrobu skinu budete potÅebovat následujÃcÃ:
-<itemizedlist>
-<listitem><para>
- KonfiguraÄnà soubor jménem <link linkend="skin-file">skin</link> Åekne
- <application>MPlayer</application>u, jak má dát jednotlivé Äásti skinu
- dohromady a co udÄlat, kliknete-li nÄkde v oknÄ.
-</para></listitem>
-<listitem><para>
- Obrázek pozadà hlavnÃho okna.
-</para></listitem>
-<listitem><para>
- Obrázky položek hlavnÃho okna (vÄetnÄ jednoho nebo vÃce souborů s popisem
- fontu pro vykreslovánà popisek).
-</para></listitem>
-<listitem><para>
- Obrázek pro zobrazenà v podoknÄ (volitelný).
-</para></listitem>
-<listitem><para>
- Dva obrázky pro nabÃdku (ty jsou potÅeba pouze pokud chcete vytvoÅit menu).
-</para></listitem>
-</itemizedlist>
- S výjimkou konfiguraÄnÃho souboru skinu si můžete pojmenovat ostatnà soubory
- jak chcete (s tÃm, že vaÅ¡e soubory s popisem fontu budou mÃt pÅÃponu
- <filename>.fnt</filename>).
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-file">
-<title>Soubor skin</title>
-
-<para>
-Jak jsme již Åekli, je to konfiguraÄnà soubor skinu. Soubor je ÅádkovÄ
-orientován; Åádky s komentáÅem zaÄÃnajà znakem '<literal>;</literal>'
-(pÅed nÃm jsou povoleny jen mezery a tabulátory).
-</para>
-
-<para>
-Soubor je složen ze sekcÃ. Každá sekce popisuje skin pro aplikaci a má
-následujÃcà formu:
-<programlisting>
-section = <replaceable>název cekce</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-ZatÃm máme jen jednu aplikaci, takže potÅebujete jen jednu sekci: jejà název je
-<emphasis role="bold">movieplayer</emphasis>.
-</para>
-
-<para>
-UvnitÅ sekce je každé okno posáno blokem, který má následujÃcà formu:
-<programlisting>
-window = <replaceable>název okna</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-kde <replaceable>název okna</replaceable> může být jeden z tÄchto ÅetÄzců:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">main</emphasis> - pro hlavnà okno
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">sub</emphasis> - pro podokno
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">menu</emphasis> - pro nabÃdku
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">playbar</emphasis> - ovládacà panel
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-(Bloky sub a menu jsou volitelné - nemusÃte vytváÅet nabÃdku nebo vyzdobit
-podokno.)
-</para>
-
-<para>
-UvnitÅ window bloku můžete definovat každou položku okna Åádkem v tomto tvaru:
-<programlisting>položka = parametr</programlisting>
-Kde <literal>položka</literal> je ÅetÄzec oznaÄujÃcà typ položky GUI a
-<literal>parametr</literal> je ÄÃselná nebo textová hodnota (nebo seznam hodnot
-oddÄlených Äárkami).
-</para>
-
-<para>
-Dáte-li to všechno dohromady, celý soubor vypadá asi takto:
-<programlisting>
-section = movieplayer
- window = main
- ; ... položky hlavnÃho okna ...
- end
-
- window = sub
- ; ... položky podokna ...
- end
-
- window = menu
- ; ... položky menu ...
- end
-
- window = playbar
- ; ... položky ovládacÃho panelu ...
- end
-end
-</programlisting>
-</para>
-
-<para>
-Jméno souboru s obrázkem musà být zadáno bez úvodnÃch adresáÅů - obrázky jsou
-vyhledávány v adresáÅi <filename class="directory">skins</filename>.
-MÄli byste (ale nemusÃte) zadat pÅÃponu souboru. Pokud soubor neexistuje,
-zkoušà <application>MPlayer</application> naÄÃst soubor
-<filename><jméno>.<pÅÃp></filename>, kdy jsou za
-<filename><pÅÃp></filename> zkouÅ¡eny pÅÃpony <literal>png</literal>
-a <literal>PNG</literal> (v tomto poÅadÃ). Použitý bude prvnà vyhovujÃcà soubor.
-</para>
-
-<para>
-Aby bylo vÅ¡e jasné, uvedeme pÅÃklad. ÅeknÄme, že máte obrázek jménem
-<filename>main.png</filename>, který použijeme pro hlavnà okno:
-<programlisting>base = main, -1, -1</programlisting>
-<application>MPlayer</application> se pokusà nahrát soubory
-<filename>main</filename>, <filename>main.png</filename>, <filename>main.PNG</filename>.
-</para>
-
-<para>
-Nakonec nÄkolik slov o pozicovánÃ. Hlavnà okno a podokno lze
-umÃstit do odliÅ¡ných rohů obrazovky zadánÃm souÅadnic <literal>X</literal>
-a <literal>Y</literal>. <literal>0</literal> hornà nebo levý,
-<literal>-1</literal> je stÅed a <literal>-2</literal> je vpravo nebo dole, jak
-je vidÄt na obrázku:
-<informalfigure>
-<screen>
-(0, 0)----(-1, 0)----(-2, 0)
- | | |
- | | |
-(0,-1)----(-1,-1)----(-2,-1)
- | | |
- | | |
-(0,-2)----(-1,-2)----(-2,-2)
-</screen>
-</informalfigure>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-main">
-<title>Hlavnà okno a ovládacà panel</title>
-
-<para>
-NÞe uvádÃme seznam položek, které mohou být použity v blocÃch
-'<literal>window = main</literal>' ... '<literal>end</literal>',
-a '<literal>window = playbar</literal>' ... '<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-main-base"/>base = obrázek, X, Y
- </literal></term>
- <listitem><para>
- UmožÅuje nastavit obrázek pozadà hlavnÃho okna. Okno bude vykresleno na
- zadaných souÅadnicÃch <literal>X,Y</literal> na obrazovce a bude mÃt velikost
- obrázku.
- </para>
- <note><para>
- Tyto koordináty zatÃm nefungujà pro okno display.
- </para></note>
- <warning><para>Průhledné oblasti v obrázku (obarvené #FF00FF) budou Äerné
- na X serverech bez XShape rozÅ¡ÃÅenÃ. Å ÃÅka obrázku musà být celoÄÃselnÄ
- dÄlitelná 8.</para></warning>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-button"/>button = obrázek, X, Y, Å¡ÃÅka, výška, zpráva
- </literal></term>
- <listitem><para>
- UmÃstà tlaÄÃtko rozmÄru <literal>Å¡ÃÅka</literal> * <literal>výška</literal>
- na pozici <literal>X,Y</literal>. Zadaná <literal>zpráva</literal> je
- generována pÅi kliku na tlaÄÃtko. Zadaný <literal>obrázek</literal> musÃ
- mÃt tÅi Äásti pod sebou (odpovÃdajÃcà možným stavům tlaÄÃtka) takto:
- </para>
- <informalfigure>
- <screen>
-+------------+
-| stisknuto |
-+------------+
-| uvolnÄno |
-+------------+
-| zakázáno |
-+------------+<!--
- --></screen>
- </informalfigure>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-decoration"/>decoration = enable|disable
- </literal></term>
- <listitem><para>
- Zapne (enable) nebo vypne (disable) dekoraci hlavnÃho okna, produkovanou
- okennÃm manažerem. Výchozà je <emphasis role="bold">disable</emphasis>.
- </para>
- <note><para>
- V oknÄ display to nefunguje, nenà to potÅeba.
- </para></note>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-hpotmeter"/>hpotmeter = tlaÄÃtko, tÅ¡ÃÅka, tvýška, fáze, poÄet_fázÃ, výchozÃ, X, Y, Å¡ÃÅka, výška, zpráva
- </literal></term>
- <listitem><para>
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-vpotmeter"/>vpotmeter = tlaÄÃtko, tÅ¡ÃÅka, tvýška, fáze, poÄet_fázÃ, výchozÃ, X, Y, Å¡ÃÅka, výška, zpráva
- </literal></term>
- <listitem><para>
- UmÃstà vodorovný (hpotmeter) nebo svislý (vpotmeter) potenciometr velikosti
- <literal>Å¡ÃÅka</literal> * <literal>výška</literal> na pozici
- <literal>X,Y</literal>. Obrázek může být rozdÄlen do různých Äástà pro různé
- fáze potenciometru (NapÅÃklad můžete mÃt potenciometr pro nastavenà hlasitosti,
- jehož dráha se barvà ze zelené na Äervenou, jak se jeho hodnota mÄnà od nejmenÅ¡Ã
- do nejvÄtÅ¡Ã.). <literal>hpotmeter</literal> může mÃt táhlo, které může být
- vodorovnÄ taženo. Význam parametrů:
- <itemizedlist>
- <listitem><para>
- <literal>tlaÄÃtko</literal> - obrázek, který se použije pro
- tlaÄÃtko (musà mÃt tÅi Äásti pod sebou, stejnÄ jako v pÅÃpadÄ tohoto
- <link linkend="skin-button">tlaÄÃtka</link>)
- </para></listitem>
- <listitem><para>
- <literal>tÅ¡ÃÅka</literal>, <literal>tvýška</literal> -
- velikost tlaÄÃtka
- </para></listitem>
- <listitem><para>
- <literal>fáze</literal> - obrázek použitý pro různé fáze
- hpotmetru. Pokud žádný obrázek nechcete, můžete použÃt speciálnà hodnotu
- <literal>NULL</literal>. Obrázek musà být rozdÄlen svisle na
- <literal>poÄet_fázÃ</literal> Äástà takto:
- <informalfigure><screen>
-+------------+
-| fáze #1 |
-+------------+
-| fáze #2 |
-+------------+
- ...
-+------------+
-| fáze #n |
-+------------+<!--
- --></screen></informalfigure>
- </para></listitem>
- <listitem><para>
- <literal>numphases</literal> - number of phases stored in the
- <literal>poÄet_fázÃ</literal> - poÄet fázà uložených v
- obrázku <literal>fáze</literal>
- </para></listitem>
- <listitem><para>
- <literal>výchozÃ</literal> - výchozà hodnota pro hpotmeter
- (v rozsahu <literal>0</literal> až <literal>100</literal>)
- </para></listitem>
- <listitem><para>
- <literal>X</literal>, <literal>Y</literal> - pozice pro hpotmeter
- </para></listitem>
- <listitem><para>
- <literal>Å¡ÃÅka</literal>, <literal>výška</literal> - Å¡ÃÅka a výška
- <literal>hpotmeter</literal>u
- </para></listitem>
- <listitem><para>
- <literal>zpráva</literal> - zpráva generovaná pÅi zmÄnÄ
- hodnoty <literal>hpotmeter</literal>u
- </para></listitem>
- </itemizedlist>
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-potmeter"/>potmeter = fáze, poÄet_fázÃ, výchozÃ, X, Y, Å¡ÃÅka, výška, zpráva
- </literal></term>
- <listitem><para>
- <literal>hpotmeter</literal> bez tlaÄÃtka. (soudil bych, že byl mÃnÄn jako
- otoÄný, ale reaguje pouze na horizontálnà taženÃ.) Popis parametrů je stejný
- jako v <link linkend="skin-hpotmeter">hpotmeter</link>.
- <literal>fáze</literal> mohou být <literal>NULL</literal>, ale je to vcelku
- k niÄemu, jelikož nemůžete vidÄt, jak je nastaven <literal>potmeter</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-font"/>font = soubor_fontu, id_fontu
- </literal></term>
- <listitem><para>
- Definuje font. <literal>soubor_fontu</literal> je jméno souboru popisu fontu
- s pÅÃponou <filename>.fnt</filename> (zde pÅÃponu nezadávejte).
- <literal>id_fontu</literal> je použit jako ukazatel na font
- (viz <link linkend="skin-dlabel">dlabel</link>
- a <link linkend="skin-slabel">slabel</link>). Definováno může být vÃce než 25 fontů.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-slabel"/>slabel = X, Y, id_fontu, "text";
- </literal></term>
- <listitem><para>
- UmÃstà statický popisek na pozici <literal>X,Y</literal>.
- <literal>text</literal> je zobrazen fontem identifikovaným pomocÃ
- <literal>id_fontu</literal>. Text je surový ÅetÄzec
- (<literal>$x</literal> promÄnné nefungujÃ), který musà být uzavÅen
- ve dvojitých uvozovkách (ale znak " nesmà být souÄástà textu).
- Popisek je zobrazen fontem identifikovaným pomocà <literal>id_fontu</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-dlabel"/>dlabel = X, Y, délka, zarovnánÃ, id_fontu, "text"
- </literal></term>
- <listitem>
- <para>
- UmÃstà dynamický popisek na pozici <literal>X,Y</literal>. Popisek je
- dynamický proto, že je jeho text periodicky obnovován. Maximálnà délka
- popisku je nastavena na <literal>délka</literal> (jeho výškou je výška
- znaku). Pokud je zobrazovaný text Å¡irÅ¡Ã, pak bude rolován,
- jinak bude zarovnán do urÄeného prostoru podle hodnoty parametru
- <literal>zarovnánÃ</literal>: <literal>0</literal> je zarovnánà vpravo,
- <literal>1</literal> na stÅed, <literal>2</literal> vlevo.
- </para>
- <para>
- Text k zobrazenà je zadán parametrem <literal>text</literal>: Musà být uzavÅen
- do dvojitých uvozovek (ale znak " nesmà být souÄástà textu).
- Popisek je zobrazen fontem identifikovaným pomocà <literal>id_fontu</literal>.
- V textu můžete použÃt tyto promÄnné:
- </para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row><entry>PromÄnná</entry><entry>Význam</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>$1</entry>
- <entry>Äas pÅehrávánà ve formátu <emphasis>hh:mm:ss</emphasis></entry>
- </row>
- <row>
- <entry>$2</entry>
- <entry>Äas pÅehrávánà ve formátu <emphasis>mmmm:ss</emphasis></entry>
- </row>
- <row>
- <entry>$3</entry>
- <entry>Äas pÅehrávánà ve formátu <emphasis>hh</emphasis> (hodiny)</entry>
- </row>
- <row>
- <entry>$4</entry>
- <entry>Äas pÅehrávánà ve formátu <emphasis>mm</emphasis> (minuty)</entry>
- </row>
- <row>
- <entry>$5</entry>
- <entry>Äas pÅehrávánà ve formátu <emphasis>ss</emphasis> (sekundy)</entry>
- </row>
- <row>
- <entry>$6</entry>
- <entry>délka filmu ve formátu <emphasis>hh:mm:ss</emphasis></entry>
- </row>
- <row>
- <entry>$7</entry>
- <entry>délka filmu ve formátu <emphasis>mmmm:ss</emphasis></entry>
- </row>
- <row>
- <entry>$8</entry>
- <entry>Äas pÅehrávánà ve formátu <emphasis>h:mm:ss</emphasis></entry>
- </row>
- <row>
- <entry>$v</entry>
- <entry>hlasitost ve formátu <emphasis>xxx.xx</emphasis>%</entry>
- </row>
- <row>
- <entry>$V</entry>
- <entry>hlasitost ve formátu <emphasis>xxx.xx</emphasis></entry>
- </row>
- <row>
- <entry>$b</entry>
- <entry>stereováha ve formátu <emphasis>xxx.xx</emphasis>%</entry>
- </row>
- <row>
- <entry>$B</entry>
- <entry>stereováha ve formátu <emphasis>xxx.xx</emphasis></entry>
- </row>
- <row>
- <entry>$$</entry>
- <entry>znak $</entry>
- </row>
- <row>
- <entry>$a</entry>
- <entry>znak podle typu audia (žádné: <literal>n</literal>,
- mono: <literal>m</literal>, stereo: <literal>t</literal>)</entry>
- </row>
- <row>
- <entry>$t</entry>
- <entry>ÄÃslo stopy (v playlistu)</entry>
- </row>
- <row>
- <entry>$o</entry>
- <entry>název souboru</entry>
- </row>
- <row>
- <entry>$f</entry>
- <entry>název souboru malými pÃsmeny</entry>
- </row>
- <row>
- <entry>$F</entry>
- <entry>název souboru velkými pÃsmeny</entry>
- </row>
- <row>
- <entry>$T</entry>
- <entry>znak podle typu datového proudu (soubor: <literal>f</literal>,
- Video CD: <literal>v</literal>, DVD: <literal>d</literal>,
- URL: <literal>u</literal>)
- </entry>
- </row>
- <row>
- <entry>$p</entry>
- <entry>znak <keycap>p</keycap> (pokud pÅehráváte soubor a font obsahuje
- znak <keycap>p</keycap>)</entry>
- </row>
- <row>
- <entry>$s</entry>
- <entry>znak <keycap>s</keycap> character (pokud pÅehráváte soubor a font obsahuje
- znak <keycap>s</keycap>)</entry>
- </row>
- <row>
- <entry>$e</entry>
- <entry>znak <keycap>e</keycap> (pokud je pÅehrávánà pozastaveno a font obsahuje
- znak <keycap>e</keycap>)</entry>
- </row>
- <row>
- <entry>$x</entry>
- <entry>Å¡ÃÅka filmu</entry>
- </row>
- <row>
- <entry>$y</entry>
- <entry>výška filmu</entry>
- </row>
- <row>
- <entry>$C</entry>
- <entry>název použitého kodeku</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <note><para>
- PromÄnné <literal>$a, $T, $p, $s</literal> a <literal>$e</literal>
- vracejà znaky, které by mÄly být zobrazovány jako speciálnà symboly
- (napÅÃklad, <keycap>e</keycap> vracà symbol pauza, který obvykle vypadá
- jako ||). MÄli byste mÃt font pro normálnà znaky a
- jiný font pro symboly. VÃce informacà viz sekce o
- <link linkend="skin-fonts-symbols">symbolech</link>.
- </para></note>
- </listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-subwindow">
-<title>Ovládacà panel</title>
-
-<para>
-NásledujÃcà vstupy mohou být použity v bloku
-'<literal>window = sub</literal>' . . . '<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-sub-base"/>base = obrázek, X, Y, Å¡ÃÅka, výška
- </literal></term>
- <listitem><para>
- Obrázek, který bude zobrazen v oknÄ. Okno se zobrazà na pozici zadané
- souÅadnicemi <literal>X,Y</literal> na obrazovce (<literal>0,0</literal> je
- levý hornà roh). Můžete nastavit <literal>-1</literal> pro stÅed a
- <literal>-2</literal> pro vpravo (<literal>X</literal>) a dole
- (<literal>Y</literal>). Okno bude stejnÄ velké jako obrázek.
- <literal>Å¡ÃÅka</literal> a <literal>výška</literal>
- udávajà velikost okna; jsou volitelné (pokud chybÃ, má okno
- rozmÄry shodné s obrázkem).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-background"/>background = R, G, B
- </literal></term>
- <listitem><para>
- UmožÅuje nastavit barvu pozadÃ. To je užiteÄné, pokud je obrázek menšà než
- okno. <literal>R</literal>, <literal>G</literal> a <literal>B</literal>
- oznaÄujà Äervenou, zelenou a modrou složku barvy
- (každá z nich je dekadická hodnota 0 až 255).
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-menu">
-<title>NabÃdka</title>
-
-<para>
-Jak již bylo dÅÃve ÅeÄeno, nabÃdka je zobrazena pomocà dvou obrázků. NormálnÃ
-položky nabÃdky jsou brány z obrázku urÄeného položkou <literal>base</literal>,
-zatÃmco aktuálnÄ zvolený vstup je brán z obrázku urÄeného položkou
-<literal>selected</literal>. MusÃte definovat pozici a rozmÄr každé položky
-nabÃdky.
-</para>
-
-<para>
-NásledujÃcà vstupy mohou být použity v bloku
-'<literal>window = menu</literal>'. . .'<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu-base"/>base = obrázek
- </literal></term>
- <listitem><para>
- Obrázek normálnÃch položek nabÃdky.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-selected"/>selected = obrázek
- </literal></term>
- <listitem><para>
- Obrázek nabÃdky kde jsou vÅ¡echny položky vybrány.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu"/>menu = X, Y, Å¡ÃÅka, výška, zpráva
- </literal></term>
- <listitem><para>
- Definuje pozici <literal>X,Y</literal> a rozmÄr položky nabÃdky v obrázku.
- <literal>zpráva</literal> je zpráva, generovaná jakmile je uvolnÄno tlaÄÃtko
- myši nad položkou.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-fonts">
-<title>Fonty</title>
-<para>
-Jak jsme již zmÃnili v sekci o Äástech skinu, font je definován obrázkem a
-souborem popisu. Můžete rozmÃstit znaky v obrázku libovolnÄ, ale ujistÄte
-se, že je jejich velikost a pozice je uvedena v souboru popisu pÅesnÄ.
-</para>
-
-<para>
-Soubor popisu fontu (s pÅÃponou <filename>.fnt</filename>) může obsahovat
-Åádky s komentáÅem zaÄÃnajÃcà '<literal>;</literal>'. Soubor musà obsahovat
-Åádek ve formÄ
-<anchor id="skin-font-image"/>
-<programlisting>image = <replaceable>obrázek</replaceable></programlisting>
-Kde <literal><replaceable>obrázek</replaceable></literal> je název obrázku
-použitého pro font (nemusÃte zadávat pÅÃponu).
-<anchor id="skin-font-char"/>
-<programlisting>"char" = X, Y, Å¡ÃÅka, výška</programlisting>
-Zde <literal>X</literal> a <literal>Y</literal> udávajà pozici
-<literal>char</literal> znaku v obrázku (<literal>0,0</literal> je levý
-hornà roh). <literal>Å¡ÃÅka</literal> a <literal>výška</literal> jsou
-rozmÄry znaku v pixelech.
-</para>
-
-<para>
-Tento pÅÃklad definuje znaky A, B, C s použÃtÃm <filename>font.png</filename>.
-<programlisting>
-; Zde může být jen "font" mÃsto "font.png".
-image = font.png
-
-; TÅi znaky pro ilustraci staÄÃ :-)
-"A" = 0,0, 7,13
-"B" = 7,0, 7,13
-"C" = 14,0, 7,13
-</programlisting>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-fonts-symbols">
-<title>Symboly</title>
-
-<para>
-NÄkteré znaky majà speciálnà význam, jsou-li vráceny nÄkterou z promÄnných
-použitých v <link linkend="skin-dlabel">dlabel</link>. Tyto znaky majà být
-zobrazovány jako symboly, takže mohou být zobrazeny vÄci jako pÄkné DVD logo
- mÃsto znaku '<literal>d</literal>' pro DVD datový proud.
-</para>
-
-<para>
-NásledujÃcà tabulka obsahuje znaky, které mohou být použity k zobrazenÃ
-symbolů (a tudÞ vyžadujà odliÅ¡ný font).
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Znak</entry><entry>Symbol</entry></row>
-</thead>
-<tbody>
- <row><entry><keycap>p</keycap></entry><entry>play</entry></row>
- <row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
- <row><entry><keycap>e</keycap></entry><entry>pauza</entry></row>
- <row><entry><keycap>n</keycap></entry><entry>bez zvuku</entry></row>
- <row><entry><keycap>m</keycap></entry><entry>mono zvuk</entry></row>
- <row><entry><keycap>t</keycap></entry><entry>stereo zvuk</entry></row>
- <row><entry><keycap>f</keycap></entry><entry>datový proud je soubor</entry></row>
- <row><entry><keycap>v</keycap></entry><entry>datový proud je Video CD</entry></row>
- <row><entry><keycap>d</keycap></entry><entry>datový proud je DVD</entry></row>
- <row><entry><keycap>u</keycap></entry><entry>datový proud je URL</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-gui">
-<title>GUI zprávy</title>
-
-<para>
-Tyto zprávy mohou být generovány tlaÄÃtky, potenciometry a položkami
-nabÃdky.
-</para>
-
-<variablelist>
-<title>Ovládánà pÅehrávánÃ:</title>
-<varlistentry>
- <term><emphasis role="bold">evNext</emphasis></term>
- <listitem><para>
- SkoÄà na následujÃcà stopu v playlistu.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPause</emphasis></term>
- <listitem><para>
- TvoÅÃ pÅepÃnaÄ spoleÄnÄ s <literal>evPlaySwitchToPause</literal>. Ty mohou
- být použity k vytvoÅenà tradiÄnÃho play/pauza tlaÄÃtka. ObÄ zprávy by mÄly
- být pÅiÅazeny tlaÄÃtkům umÃstÄným na stejné pozici v oknÄ. Tato zpráva
- pozastavà pÅehrávánà a zobrazen bude obrázek pro
- <literal>evPlaySwitchToPause</literal> talÄÃtko (pro indikaci, že tlaÄÃtko
- může být stisknuto pro obnovenà pÅehrávánÃ).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlay</emphasis></term>
- <listitem><para>
- Zahájà pÅehrávánÃ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
- <listitem><para>
- Protiklad <literal>evPauseSwitchToPlay</literal>. Tato zpráva zahájà pÅehrávánÃ
- a zobrazà obrázek pro tlaÄÃtko <literal>evPauseSwitchToPlay</literal>
- (pro indikaci, že tlaÄÃtko může být stisknuto pro pozastavenà pÅehrávánÃ).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPrev</emphasis></term>
- <listitem><para>
- SkoÄà na pÅedchozà stopu v playlistu.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evStop</emphasis></term>
- <listitem><para>
- Zastavà pÅehrávánÃ.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>PÅevÃjenÃ:</title>
-<varlistentry>
- <term><emphasis role="bold">evBackward10sec</emphasis></term>
- <listitem><para>
- PÅevine zpÄt o 10 sekund.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward1min</emphasis></term>
- <listitem><para>
- PÅevine zpÄt o 1 minutu.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward10min</emphasis></term>
- <listitem><para>
- PÅevine zpÄt o 10 minut.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10sec</emphasis></term>
- <listitem><para>
- PÅevine vpÅed o 10 sekund.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward1min</emphasis></term>
- <listitem><para>
- PÅevine vpÅed o 1 minutu.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10min</emphasis></term>
- <listitem><para>
- PÅevine vpÅed o 10 minut.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
- <listitem><para>
- PÅevine na danou pozici (může být pÅiÅazeno potenciometru; použije se
- relativnà hodnota (0-100%) potenciometru).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Ovládánà videa:</title>
-<varlistentry>
- <term><emphasis role="bold">evHalfSize</emphasis></term>
- <listitem><para>
- Nastavà velikost okna filmu na poloviÄnà velikost.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evDoubleSize</emphasis></term>
- <listitem><para>
- Nastavà velikost okna filmu na dvojnásobnou velikost.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evFullScreen</emphasis></term>
- <listitem><para>
- PÅepÃná do celoobrazovkového režimu a zpÄt.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evNormalSize</emphasis></term>
- <listitem><para>
- Nastavà velikost okna na normálnà velikost.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Ovládánà zvuku:</title>
-<varlistentry>
- <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
- <listitem><para>
- SnÞà zpoždÄnà vyrovnávacà pamÄti zvuku.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecBalance</emphasis></term>
- <listitem><para>
- SnÞà hodnotu stereováhy.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecVolume</emphasis></term>
- <listitem><para>
- SnÞà hlasitost.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
- <listitem><para>
- Zvýšà zpoždÄnà vyrovnávacà pamÄti zvuku.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncBalance</emphasis></term>
- <listitem><para>
- Zvýšà hodnotu stereováhy.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncVolume</emphasis></term>
- <listitem><para>
- Zvýšà hlasitost.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evMute</emphasis></term>
- <listitem><para>
- Vypne/zapne zvuk.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetBalance</emphasis></term>
- <listitem><para>
- Nastavà stereováhu (může být sdruženo s potenciometrem; použije se
- relativnà hodnota potenciometru (0-100%)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetVolume</emphasis></term>
- <listitem><para>
- Nastavà hlasitost (může být sdruženo s potenciometrem; použije se
- relativnà hodnota potenciometru (0-100%)).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Různé:</title>
-<varlistentry>
- <term><emphasis role="bold">evAbout</emphasis></term>
- <listitem><para>
- OtevÅe okno o aplikaci.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDropSubtitle</emphasis></term>
- <listitem><para>
- Vypne aktuálnÄ použité titulky.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evEqualizer</emphasis></term>
- <listitem><para>
- Zapne/vypne ekvalizér.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evExit</emphasis></term>
- <listitem><para>
- UkonÄÃ program.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIconify</emphasis></term>
- <listitem><para>
- Minimalizuje okno.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoad</emphasis></term>
- <listitem><para>
- OtevÅe soubor (otevÅenÃm okna prohlÞeÄe souborů, kde si soubor vyberete).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadPlay</emphasis></term>
- <listitem><para>
- Stejné jako <literal>evLoad</literal>, ale navÃc se okamžitÄ spustà pÅehrávánÃ
- otevÅeného souboru.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
- <listitem><para>
- OtevÅe soubor s titulky (pomocà prohlÞeÄe souborů)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
- <listitem><para>
- OtevÅe soubor se zvukem (pomocà prohlÞeÄe souborů)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evNone</emphasis></term>
- <listitem><para>
- Prázdná zpráva, nemá žádný efekt (možná s výjimkou Subversion verzà :-)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaylist</emphasis></term>
- <listitem><para>
- OtevÅe/zavÅe okno playlistu.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayDVD</emphasis></term>
- <listitem><para>
- Zkusà otevÅÃt disk v zadané DVD-ROM mechanice.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayVCD</emphasis></term>
- <listitem><para>
- Zkusà otevÅÃt disk v zadané CD-ROM mechanice.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPreferences</emphasis></term>
- <listitem><para>
- OtevÅe okno pÅedvoleb.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetAspect</emphasis></term>
- <listitem><para>
- Nastavà pomÄr stran zobrazovaného obrázku.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetURL</emphasis></term>
- <listitem><para>
- Zobrazà dialogové okno pro volbu URL.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSkinBrowser</emphasis></term>
- <listitem><para>
- OtevÅe okno voliÄe skinů.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-quality">
-<title>Tvorba kvalitnÃch skinů</title>
-
-<para>
-Co když jste si pÅeÄetli o skinech pro GUI
-<application>MPlayer</application>u, odvedli to nejlepšà s
-<application>Gimp</application>em a chcete nám poslat svůj skin?
-PÅeÄtÄte si pár návodů, abyste se vyhnuli bÄžným omylům a vytvoÅili
-vysoce kvalitnà skin.
-</para>
-
-<para>
-Chceme, aby skiny, které pÅidáme do naÅ¡eho repozitáÅe odpovÃdaly
-urÄitým standardům kvality. Je zde také mnoho vÄcÃ, které můžete
-udÄlat, abyste nám ulehÄili práci.
-</para>
-
-<para>
-Za pÅÃklad si vemte skin <systemitem>Blue</systemitem>.
-Ten splÅuje vÅ¡echna kritéria od verze 1.5.
-</para>
-
-<itemizedlist>
- <listitem><para>
- Ke každému skinu by mÄl být soubor
- <filename>README</filename>, obsahujÃcà informace o vás jako autorovi,
- o copyrightu a licenci a vÅ¡e ostatnÃ, co chcete dodat.
- Chcete-li mÃt changelog, tento soubor je dobrým mÃstem.
- </para></listitem>
-
- <listitem><para>
- MÄl by tu být soubor <filename>VERSION</filename>
- neobsahujÃcà nic jiného, než ÄÃslo verze na jediném Åádku (napÅ. 1.0).
- </para></listitem>
-
- <listitem><para>
- Horizontálnà a vertikálnà ovládánà (posuvnÃky jako hlasitost
- nebo pozice) by mÄly mÃt stÅed knoflÃku správnÄ zarovnán na stred posuvnÃku.
- MÄlo by být možné posouvat knoflÃk na oba konce posuvnÃku, ale ne za nÄ.
- </para></listitem>
-
- <listitem><para>
- Jednotlivé souÄásti skinu by mÄly mÃt správné rozmÄry
- deklarované v souboru skin. Pokud to tak nenÃ, můžete kliknout mimo napÅ.
- tlaÄÃtko a to se stejnÄ stiskne, nebo kliknout na jeho plochu a nestisknout
- jej.
- </para></listitem>
-
- <listitem><para>
- Soubor <filename>skin</filename> by mÄl být srovnán na znaky
- a neobsahovat tabulátory. Srovnán na znaky znamená, že se ÄÃsla budou rovnat
- do úhledných sloupců.
- </para></listitem>
-</itemizedlist>
-
-</sect1>
-</appendix>
diff --git a/DOCS/xml/cs/usage.xml b/DOCS/xml/cs/usage.xml
deleted file mode 100644
index e28d169..0000000
--- a/DOCS/xml/cs/usage.xml
+++ /dev/null
@@ -1,1695 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Synced with r24056 -->
-<chapter id="usage">
-<title>PoužitÃ</title>
-
-<sect1 id="commandline">
-<title>PÅÃkazový Åádek</title>
-
-<para>
-<application>MPlayer</application> využÃvá komplexnà strukturu voleb. Ta sestává
-z globálnÃch voleb uvádÄných jako prvnÃ, napÅÃklad:
-<screen>mplayer -vfm 5</screen>
-a voleb zapisovaných za jménem souboru, které se projevà pouze u tohoto jména
-souboru/URL/Äehokoli, napÅÃklad:
-<screen>
-mplayer -vfm 5 <replaceable>film1.avi</replaceable> <replaceable>film2.avi</replaceable> -vfm 4
-</screen>
-</para>
-
-<para>
-Můžete seskupovat jména souborů/adresy URL pomocà <literal>{</literal> a
-<literal>}</literal>. Toho se dá využÃt s volbou <option>-loop</option>:
-<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
-Výše uvedený pÅÃkaz pÅehraje soubory v tomto poÅadÃ: 1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-PÅehrávánà souboru:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>volby</replaceable>]<!--
---> [<replaceable>cesta</replaceable>/]<replaceable>soubor</replaceable>
-</synopsis>
-</para>
-
-<para>
-Jiný způsob pÅehránà souboru:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>volby</replaceable>]<!--
---> <replaceable>file:///uri-eskejpovaná-cesta-k-souboru</replaceable>
-</synopsis>
-</para>
-
-<para>
-PÅehrávánà vÃce souborů:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>výchozà volby</replaceable>]<!--
---> [<replaceable>cesta</replaceable>/]<replaceable>soubor1</replaceable><!--
---> [<replaceable>volby pro soubor1</replaceable>]<!--
---> <replaceable>soubor2</replaceable><!--
---> [<replaceable>volby pro soubor2</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-PÅehrávánà VCD:
-<synopsis>
-<command>mplayer</command> [<replaceable>volby</replaceable>]<!--
---> vcd://<replaceable>ÄÃslo_stopy</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-PÅehrávánà DVD:
-<synopsis>
-<command>mplayer</command> [<replaceable>volby</replaceable>]<!--
---> dvd://<replaceable>ÄÃslo_titulu</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-PÅehrávánà z WWW:
-<synopsis>
-<command>mplayer</command> [<replaceable>volby</replaceable>]<!--
---> http://<replaceable>doména.com/soubor.asf</replaceable>
-</synopsis>
-(rovnÄž lze použÃt playlisty)
-</para>
-
-<para>
-PÅehrávánà z RTSP:
-<synopsis>
-<command>mplayer</command> [<replaceable>volby</replaceable>]<!--
---> rtsp://<replaceable>server.priklad.com/JmenoProudu</replaceable>
-</synopsis>
-</para>
-
-<para>
-PÅÃklady:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Filmy/Kontakt/kontakt2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailery/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/filmy/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="subosd">
-<title>Titulky a OSD</title>
-
-<para>
-<application>MPlayer</application> umà zobrazovat titulky spolu s filmem.
-V souÄasnosti podporuje tyto formáty:
-<itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption)</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para>
- <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink>
- </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> umà vyextrahovat výše uvedené formáty titulků
-(<emphasis role="bold">s výjimkou prvnÃch tÅech</emphasis>) do následujÃcÃch
-cÃlových formátů zadánÃm pÅÃsluÅ¡ných voleb:
-<itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MEncoder</application> umà vyextrahovat DVD titulky do formátu
-<link linkend="menc-feat-extractsub">VOBsub</link>.
-</para>
-
-<para>
-Volby pÅÃkazového Åádku se pro různé formáty mÃrnÄ liÅ¡Ã:
-</para>
-
-<formalpara>
-<title>VOBsub titulky</title>
-<para>
-VOBsub titulky se skládajà z velkého (ÅádovÄ megabajty) <filename>.SUB</filename>
-souboru a volitelného <filename>.IDX</filename> a/nebo <filename>.IFO</filename>
-souboru. Pokud máte soubory jako
-<filename><replaceable>sample.sub</replaceable></filename>,
-<filename><replaceable>sample.ifo</replaceable></filename> (volitelný),
-<filename><replaceable>sample.idx</replaceable></filename> – musÃte pÅedat
-<application>MPlayer</application>u volby <option>-vobsub sample
-[-vobsubid <replaceable>id</replaceable>]</option>
-(volitelnÄ s plnou cestou). Volba <option>-vobsubid</option> je jako
-<option>-sid</option> pro DVD, můžete jà vybÃrat mezi titulkovými stopami
-(jazyky). Je-li <option>-vobsubid</option> vynechána, pak se
-<application>MPlayer</application> pokusà použÃt jazyky zadané volbou
-<option>-slang</option> a pÅi selhánà použije
-<systemitem>langidx</systemitem> v <filename>.IDX</filename>
-souboru. Pokud selže i zde, nebudou titulky.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Ostatnà titulky</title>
-<para>
-Ostatnà formáty tvoÅà jediný textový soubor obsahujÃcà ÄasovánÃ,
-umÃstÄnà a textovou Äást. PoužitÃ: máte-li soubor jako
-<filename><replaceable>sample.txt</replaceable></filename>,
-musÃte pÅedat volbu <option>-sub
-<replaceable>sample.txt</replaceable></option> (volitelnÄ s plnou cestou).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Ãpravy Äasovánà a umÃstÄnà titulků:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>sec</replaceable></option></term>
- <listitem><para>
- Opozdà titulky o <option><replaceable>sec</replaceable></option> sekund.
- Může být i záporné. Hodnota je pÅidána k ÄÃtaÄi pozice ve filmu.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>RYCHLOST</replaceable></option></term>
- <listitem><para>
- Nastavuje rychlost ve snÃmcÃch/sek titulkového souboru (desetinné ÄÃslo).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- Nastavuje pozici titulků.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Pokud se vám zvÄtÅ¡uje rozdÃl mezi filmem a titulky, pÅi použitÃ
-titulkového souboru formátu MicroDVD, nejspÃÅ¡ se snÃmková rychlost
-titulků a filmu liÅ¡Ã. Poznamenejme, že MicroDVD formát použÃvá
-pro Äasovánà absolutnà ÄÃsla snÃmků, ale nenà v nÄm informace
-o snÃmkové rychlosti, a proto byste mÄli s tÃmto formátem použÃvat volbu
-<option>-subfps</option>. Chcete-li tento problém vyÅeÅ¡it trvale,
-musÃte manuálnÄ pÅevést snÃmkovou rychlost souboru s titulky.
-<application>MPlayer</application> může pÅevod udÄlat za
-vás:
-
-<screen>
-mplayer -dumpmicrodvdsub -fps <replaceable>fps_titulků</replaceable> -subfps <replaceable>avi_fps</replaceable> \
- -sub <replaceable>soubor_s_titulky</replaceable> <replaceable>dummy.avi</replaceable>
-</screen>
-</para>
-
-<para>
-O DVD titulcÃch si pÅeÄtÄte v sekci <link linkend="dvd">DVD</link>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="control">
-<title>OvládánÃ</title>
-
-<para>
-<application>MPlayer</application> má plnÄ konfigurovatelnou, pÅÃkazy ÅÃzenou,
-ovládacà vrstvu, která vám umožnà ovládat <application>MPlayer</application>
-pomocà klávesnice, myÅ¡i, joysticku nebo dálkového ovládaÄe (použÃvajÃcà LIRC).
-Ãplný seznam ovládacÃch prvků na klávesnici naleznete v man stránce.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="ctrl-cfg">
-<title>Konfigurace ovládánÃ</title>
-
-<para>
-<application>MPlayer</application> umožÅuje pÅiÅadit jakoukoli klávesu jakémukoli
-pÅÃkazu <application>MPlayer</application>u pomocà jednoduchého konfiguraÄnÃho
-souboru.
-Syntaxe sestává z názvu klávesy následovaného pÅÃkazem. Výchozà umÃstÄnÃ
-konfiguraÄnÃho souboru je
-<filename>$HOME/.mplayer/input.conf</filename> ale můžete jej potlaÄit použitÃm
-volby <option>-input <replaceable>konfig</replaceable></option>
-(relativnà cesty jsou vztaženy k <filename>$HOME/.mplayer</filename>).
-</para>
-
-<para>
-Ãplný seznam podporovaných jmen kláves dostanete pÅÃkazem
-<command>mplayer -input keylist</command>
-a úplný seznam dostupných pÅÃkazů pÅÃkazem
-<command>mplayer -input cmdlist</command>.
-</para>
-
-<example id="input_control_file">
-<title>Jednoduchý vstupnà ovládacà soubor</title>
-<programlisting>
-##
-## Vstupnà soubor ovládánà MPlayeru
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="lirc">
-<title>Ovládánà z LIRC</title>
-
-<para>
-Linux Infrared Remote Control – použijte jednoduÅ¡e vyrobitelný doma udÄlaný
-IR-pÅijÃmaÄ,
-(témÄÅ) libovolný dálkový ovládaÄ a ovládejte jÃm svůj Linux!
-VÃce se o tom dovÃte na <ulink url="http://www.lirc.org">domácà stránce LIRC</ulink>.
-</para>
-
-<para>
-Pokud máte nainstalován balÃÄek LIRC, <filename>configure</filename> jej zdetekuje.
-Pokud vÅ¡e dopadne dobÅe, <application>MPlayer</application> pÅi startu
-vypÃÅ¡e "<systemitem>Nastavuji podporu LIRC...</systemitem>".
-Pokud dojde k chybÄ, oznámà vám to. Pokud nevypÃÅ¡e žádnou zprávu o LIRC,
-pak pro nÄj nenà podpora zakompilována. To je vÅ¡e :-)
-</para>
-
-<para>
-Jméno spustitelného souboru <application>MPlayer</application>u je - pÅekvapenà -
-<filename>mplayer</filename>. Můžete použÃt jakýkoli pÅÃkaz
-<application>MPlayer</application>u a dokonce i vÃce než jeden, pokud je oddÄlÃte
-znakem <literal>\n</literal>.
-NezapomeÅte zapnout opakovacà (repeat) pÅÃznak v <filename>.lircrc</filename> tam,
-kde to dává smysl (vyhledávánÃ, hlasitost, atd.).
-Zde je výÅatek z demonstraÄnÃho
-<filename>.lircrc</filename>:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-Pokud se vám nelÃbà standardnà umÃstÄnà lirc-config souboru
-(<filename>~/.lircrc</filename>) použijte volbu <option>-lircconf
-<replaceable>soubor</replaceable></option> k urÄenà jiného souboru.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="slave-mode">
-<title>Závislý režim</title>
-
-<para>
-Závislý režim vám umožÅuje vytvoÅit jednoduché ovládacà panely (frontendy)
-<application>MPlayer</application>u. Pokud je <application>MPlayer</application>
-spuÅ¡tÄn s volbou <option>-slave</option>, pak bude ÄÃst pÅÃkazy oddÄlené novým
-Åádkem (\n) ze standardnÃho vstupu.
-PÅÃkazy jsou dokumentovány v souboru
-<ulink url="../../tech/slave.txt">slave.txt</ulink>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="streaming">
-<title>PÅehrávánà datových proudů ze sÃtÄ nebo rour</title>
-
-<para>
-<application>MPlayer</application> umà pÅehrávat soubory ze sÃtÄ s použitÃm protokolu
-HTTP, FTP, MMS nebo RTSP/RTP.
-</para>
-
-<para>
-PÅehrávánà pracuje jednoduÅ¡e tak, že uvedete URL na pÅÃkazovém Åádku.
-<application>MPlayer</application> ctà systémovou promÄnnou <envar>http_proxy</envar>
-a použije proxy pokud je k dispozici. Proxy může být rovnÄž vynucena:
-<screen>
-mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable>
-</screen>
-</para>
-
-<para>
-<application>MPlayer</application> umà ÄÃst ze std. vstupu
-(<emphasis>ne</emphasis> z pojmenovaných rour). To může být napÅÃklad použito
-pro pÅehrávánà z FTP:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -
-</screen>
-</para>
-
-<note><para>
-Také doporuÄujeme zapnout <option>-cache</option> pÅi pÅehrávánÃ
-ze sÃtÄ:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -cache 8192 -
-</screen>
-</para></note>
-
-<!-- ********** -->
-
-<sect2 id="streaming-save">
-<title>Uloženà proudového obsahu</title>
-
-<para>
-Jakmile jste pÅimÄli <application>MPlayer</application> pÅehrát
-váš oblÃbený internetový proud, můžete použÃt volbu
-<option>-dumpstream</option> k uloženà datového proudu do souboru.
-For example:
-<screen>
-mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>proud.asf</replaceable>
-</screen>
-uložà proudové video z
-<replaceable>http://217.71.208.37:8006</replaceable> do
-<replaceable>proud.asf</replaceable>.
-Pracovat to bude se všemi <application>MPlayer</application>em podporovanými
-protokoly, jako MMS, RTSP, a tak dále.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="drives">
-<title>CD/DVD mechaniky</title>
-
-<para>
-Modernà CD-ROM mechaniky dosahujà velmi vysokých otáÄek a nÄkteré z nich
-mohou pracovat i se snÞenými otáÄkami. Existuje nÄkolik důvodů, pro
-které byste mohli chtÃt zmÄnit rychlost CD-ROM mechaniky:
-</para>
-
-<itemizedlist>
-<listitem><para>
- Byly zprávy o chybách Ätenà pÅi vysokých rychlostech, zvláštÄ u Å¡patnÄ
- vylisovaných CD-ROMů. Z tÄchto důvodů může snÞenà rychlosti působit
- jako prevence ztráty dat.
-</para></listitem>
-
-<listitem><para>
- Mnoho CD-ROM mechanik je nechutnÄ hluÄných, nižšà rychlost může omezit
- tento hluk.
-</para></listitem>
-</itemizedlist>
-
-<!-- ********** -->
-
-<sect2 id="drives_linux">
-<title>Linux</title>
-
-<para>
-Můžete snÞit rychlost IDE CD-ROM mechanik pomocà <command>hdparm</command>,
-<command>setcd</command> nebo <command>cdctl</command>. Pracuje to asi takto:
-<screen>hdparm -E <replaceable>[rychlost]</replaceable> <replaceable>[mechanika cdrom]</replaceable></screen>
-<screen>setcd -x <replaceable>[rychlost]</replaceable> <replaceable>[mechanika cdrom]</replaceable></screen>
-<screen>cdctl -bS <replaceable>[rychlost]</replaceable></screen>
-</para>
-
-<para>
-Pokud použÃváte SCSI emulaci, budete muset pÅedat tato nastavenà do skuteÄného
-IDE zaÅÃzenÃ, nikoli emulovaného SCSI zaÅÃzenÃ.
-</para>
-
-<para>
-Pokud máte práva root-a, následujÃcà pÅÃkaz vám rovnÄž může pomoci:
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[mechanika cdrom]</replaceable>/settings</screen>
-</para>
-
-<para>
-To nastavà Ätenà napÅed na 2MB, což pomůže pÅi poÅ¡krábaných médiÃch.
-Pokud ji vÅ¡ak nastavÃte pÅÃliÅ¡ vysoko, bude mechanika stále zrychlovat a
-zpomalovat, což výraznÄ snÞà jejà výkon.
-DoporuÄujeme vám rovnÄž vyladit vaÅ¡i CD-ROM mechaniku pomocà <command>hdparm</command>:
-<screen>hdparm -d1 -a8 -u1 <replaceable>[cdrom zaÅÃzenÃ]</replaceable></screen>
-</para>
-
-<para>
-To zapne DMA pÅÃstup, Ätenà napÅed a odmaskovánà IRQ (pÅeÄtÄte si man stránku
-programu <command>hdparm</command> pro podrobné vysvÄtlenÃ).
-</para>
-
-<para>
-Prostudujte si
-â<filename>/proc/ide/<replaceable>(cdrom zaÅÃzenÃ)</replaceable>/settings</filename>â
-pro jemné doladÄnà vašà CD-ROM.
-</para>
-
-<para>
-SCSI mechaniky nemajà jednotný způsob pro nastavenà tÄchto parametrů
-(Znáte nÄjaký? ÅeknÄte nám jej!). Existuje nástroj, který pracuje se
-<ulink url="http://das.ist.org/~georg/">SCSI mechanikami Plextor</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="drives_freebsd">
-<title>FreeBSD</title>
-
-<para>rychlost:
-<screen>
-cdcontrol [-f <replaceable>zaÅÃzenÃ</replaceable>] speed <replaceable>[rychlost]</replaceable>
-</screen>
-</para>
-
-<para>DMA:
-<screen>
-sysctl hw.ata.atapi_dma=1
-</screen>
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="dvd">
-<title>PÅehrávánà DVD</title>
-
-<para>
-Ãplný seznam dostupných voleb naleznete v man stránce.
-Syntaxe pro pÅehránà standardnÃho DVD je následujÃcÃ:
-<screen>
-mplayer dvd://<replaceable><track></replaceable> [-dvd-device <replaceable><DVD_zaÅÃzenÃ></replaceable>]
-</screen>
-</para>
-
-<para>
-PÅÃklad:
-<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-Pokud jste kompilovali <application>MPlayer</application> s podporou dvdnav,
-je syntaxe stejná až na to, že musÃte použÃvat dvdnav:// mÃsto dvd://.
-</para>
-
-<para>
-VýchozÃm DVD zaÅÃzenÃm je <filename>/dev/dvd</filename>. Pokud se vaÅ¡e nastavenÃ
-liÅ¡Ã, vytvoÅte symlink, nebo uveÄte správné zaÅÃzenà na pÅÃkazovém Åádku
-pomocà volby <option>-dvd-device</option>.
-</para>
-
-<para>
-<application>MPlayer</application> použÃvá <systemitem>libdvdread</systemitem> a
-<systemitem>libdvdcss</systemitem> pro pÅehrávánà a dekódovánà DVD. Tyto dvÄ
-knihovny jsou obsaženy ve zdrojových kódech
-<application>MPlayer</application>u, nemusÃte je tedy instalovat zvlášť.
-Můžete rovnÄž použÃt systémové verze tÄchto knihoven, ale toto ÅeÅ¡enÃ
-nedoporuÄujeme, protože může vést k chybám,
-nekompatibilitÄ knihovny a nižšà rychlosti.
-</para>
-
-<note><para>
-V pÅÃpadÄ problémů s dekódovánÃm DVD, zkuste vypnout supermount a podobná udÄlátka.
-NÄkteré RPC-2 mechaniky mohou rovnÄž vyžadovat nastavenà region kódu.
-</para></note>
-
-<formalpara>
-<title>Dekódovánà DVD</title>
-<para>
-Dekódovánà DVD provádà <systemitem>libdvdcss</systemitem>. Metodu
-můžete zvolit pomocà promÄnné prostÅedà <envar>DVDCSS_METHOD</envar>,
-detaIly viz manuálová stránka.
-</para>
-</formalpara>
-
-<sect2 id="region_code">
-<title>Kód regionu</title>
-<para>
-DVD mechaniky v souÄasnosti pÅicházejà s nesmyslným omezenÃm nazvaným
-<ulink url="http://en.wikipedia.org/wiki/DVD_region_code">kód regionu</ulink>.
-To je způsob jak pÅinutit DVD mechaniku akceptovat pouze DVD vyrobené pro
-jeden ze Å¡esti různých regionů na které byl rozdÄlen svÄt. Jak si může skupina lidÃ
-zasednout ke kulatému stolu, pÅijÃt s takovým nápadem a Äekat, že se svÄt
-21. stoletà sklonà pÅed jejich vůlà je naprosto nepochopitelné
-</para>
-
-<para>
-Mechaniky, které vynucujà nastavenà regionu poze softwarovÄ jsou známy také jako
-RPC-1 a ty, které to dÄlajà v hardware jako RPC-2. Mechaniky RPC-2 umožÅujà zmÄnu
-kódu regionu pÄtkrát a pak zůstane pevný.
-V Linuxu můžete použÃt nástroj
-<ulink url="http://linvdr.org/projects/regionset/">regionset</ulink>
-pro nastavenà kódu regionu vašà DVD mechaniky.
-</para>
-
-<para>
-NaÅ¡tÄstà je možné konvertovat RPC-2 mechaniky na RPC-1 pomocÃ
-upgrade firmware. VyplÅte modelové ÄÃslo vašà DVD mechaniky do svého oblÃbeného
-vyhledávaÄe, nebo se podÃvejte do fóra a sekce download
-<ulink url="http://www.rpc1.org/">âFirmware stránekâ</ulink>.
-AÄkoli platà obvyklé âkazyâ upgradů fimware, zkuÅ¡enosti se zbavenÃm se
-vynucovánà region kódů jsou obecnÄ kladné.
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="vcd">
-<title>PÅehrávánà VCD</title>
-<para>
-Ãplný seznam dostupných voleb naleznete v man stránce. Syntaxe pro standardnÃ
-Video CD (VCD) je následujÃcÃ:
-<screen>mplayer vcd://<replaceable><stopa></replaceable> [-cdrom-device <replaceable><zaÅÃzenÃ></replaceable>]</screen>
-PÅÃklad:
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-VýchozÃm VCD zaÅÃzenÃm je <filename>/dev/cdrom</filename>. Pokud se vaÅ¡e nastavenÃ
-liÅ¡Ã, vytvoÅte symlink nebo uveÄte správné zaÅÃzenà na pÅÃkazovém Åádku pomocà volby
-<option>-cdrom-device</option>.
-</para>
-
-<note><para>
-MinimálnÄ SCSI CD-ROM mechaniky Plextor a Toshiba vykazujà mizerný výkon
-pÅi Ätenà VCD. To proto, že CDROMREADRAW <systemitem>ioctl</systemitem>
-nenà pro tyto mechaniky plnÄ implementováno. Pokud máte zkuÅ¡enosti se
-SCSI programovánÃm, prosÃme
-<ulink url="../../tech/patches.txt">pomozte nám</ulink>
-implementovat obecnou SCSI podporu pro VCD.
-</para></note>
-
-<para>
-MezitÃm můžete extrahovat data z VCD pomocÃ
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-a výsledný soubor pÅehrát v <application>MPlayer</application>u.
-</para>
-
-<formalpara>
-<title>Struktura VCD</title>
-<para>
-Video CD (VCD) je tvoÅeno CD-ROM XA sektory, Äili stopy CD-ROM mode 2
-tÅÃda 1 a 2:
-<itemizedlist>
-<listitem><para>
- Prvnà stopa je ve formátu mode 2 tÅÃda 2 což znamená, že použÃvá L2
- korekci chyb. Stopa obsahuje souborový systém ISO-9660 s 2048
- bajty/sektor. Tento souborový systém obsahuje VCD metadata informace,
- spolu se statickými snÃmky Äasto použÃvanými v menu. MPEG segmenty menu
- mohou být rovnÄž uloženy v této prvnà stopÄ, ale tyto MPEGy musà být
- rozsekány na série 150 sektorových chunků. Souborový systém ISO-9660
- může obsahovat dalšà soubory, které nejsou potÅeba pro operace
- s VCD.
-</para></listitem>
-
-<listitem><para>
- Druhá a ostatnà stopy jsou vÅ¡eobecnÄ surovými MPEG (film) stopami
- s 2324 bajty/sektor, obsahujÃcà jeden MPEG PS datový paket na
- sektor. Ty jsou v mode 2 tÅÃda 1 formátu, takže obsahujà vÃce dat
- v každém sektoru za cenu omezenà korekce chyb. Je rovnÄž možné mÃt
- CD-DA stopy na VCD za prvnà stopou.
- V nÄkterých operaÄnÃch systémech jsou triky, které umožÅujà zpÅÃstupnit
- tyto ne-ISO-9660 stopy v systému souborů. V dalÅ¡Ãch operaÄnÃch
- systémech jako GNU/Linux to nenà možné (zatÃm). Zde MPEG data
- <emphasis role="bold">nemohou být pÅipojena</emphasis>. Protože vÄtÅ¡ina
- filmů je uložena uvnitÅ tohoto druhu stopy, mÄli byste nejprve zkusit
- <option>vcd://2</option>.
-</para></listitem>
-
-<listitem><para>
- Existujà také VCD disky bez prvnà stopy (jediná stopa bez systému souborů).
- Můžete je pÅehrát, ale nemohou být namountovány.
-</para></listitem>
-
-<listitem><para>
- Definice standardu Video CD se nazývá
- Philips âWhite Bookâ a nenà obecnÄ pÅÃstupná online, ale musà být zakoupena
- od Philipsu. PodrobnÄjšà informace o Video CD můžete nalézt
- <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">v dokumentaci programu vcdimager</ulink>.
-</para></listitem>
-</itemizedlist>
-</para>
-</formalpara>
-
-<formalpara>
-<title>Pár slov o .DAT souborech</title>
-<para>
-Soubor veliký ~600 MB viditelný v prvnà stopÄ pÅipojeného VCD nenÃ
-skuteÄným souborem! Je to takzvaná ISO gateway, vytvoÅená proto,
-aby mohl Windows pÅistupovat k tÄmto stopám (Windows vůbec neumožÅuje
-aplikacÃm surový pÅÃstup k zaÅÃzenÃ).
-Pod Linuxem nemůžete kopÃrovat nebo pÅehrávat tyto soubory
-(obsahujà jen nesmysly). Pod Windows je to možné, protože jeho iso9660
-ovladaÄ emuluje surový pÅÃstup ke stopÄ v tomto souboru. Abyste mohli
-pÅehrát .DAT soubor, potÅebujete ovladaÄ kernelu který můžete nalézt
-v Linuxové verzi PowerDVD. Obsahuje upravený ovladaÄ systému souborů
-iso9660 (<filename>vcdfs/isofs-2.4.X.o</filename>), který umà emulovat
-surové stopy pÅes tento stÃnový .DAT soubor. Pokud pÅipojÃte disk
-s pomocà jejich ovladaÄe, můžete kopÃrovat Äi dokonce pÅehrávat .DAT
-soubory <application>MPlayer</application>em. Ale nebude to fungovat
-se standardnÃm iso9660 ovladaÄem z Linuxového kernelu! MÃsto toho
-použijte <option>vcd://</option>. Alternativou kopÃrovánà VCD je
-nový jaderný ovladaÄ jménem
-<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>
-(nenà souÄástà oficiálnÃho jádra), který zobrazuje CD sekce jako
-obrazové soubory a program
-<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, který bit-po-bitu
-grabuje/kopÃruje CD.
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="edl" xreflabel="Seznamy editaÄnÃch zásahů (EDL)">
-<title>Seznamy editaÄnÃch zásahů (EDL)</title>
-
-<para>
-Systém seznamů editaÄnÃch zásahů (EDL) umožÅuje automaticky vynechat nebo vypnout
-zvuk v Äástech videa pÅi pÅehrávánÃ, což je zajišťováno pro každý film zvláštnÃm
-EDL konfiguraÄnÃm souborem.
-</para>
-
-<para>
-Toho se dá využÃt pro ty, kdo chtÄjà sledovat film v "rodinném" režimu.
-Můžete vystÅÃhat veÅ¡keré násilÃ, nechutnosti, Jar-Jar Binkse .. z filmu
-podle svých vlastnÃch osobnÃch preferencÃ. Mimoto jsou zde i jiná využitÃ,
-jako je automatické vystÅihávánà reklam z videa které sledujeÅ¡.
-</para>
-
-<para>
-Formát EDL souboru je pomÄrnÄ kostrbatý. Každý pÅÃkaz je na samostatném
-Åádku a oznaÄuje co dÄlat (vystÅihnout/ztiÅ¡it) a kdy to dÄlat
-(pomocà ukazatelů v sekundách).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="edl_using">
-<title>Použità EDL souboru</title>
-
-<para>
-Vložte volbu <option>-edl <soubor></option> pÅi spouÅ¡tÄnÃ
-<application>MPlayer</application>, se jménem EDL souboru, který chcete použÃt
-na video.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="edl_making">
-<title>VytvoÅenà EDL souboru</title>
-
-<para>
-SouÄasný formát EDL souboru je:
-<programlisting>[poÄáteÄnà sekunda] [koncová sekunda] [akce]</programlisting>
-Kde jsou sekundy desetinnými ÄÃsly a akce je buÄ
-<literal>0</literal> pro vynechánà nebo <literal>1</literal> pro vypnutà zvuku.
-PÅÃklad:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-To vynechá Äást videa mezi sekundami 5.3 a 7.1, pak vypne zvuk na
-15 sekundÄ, zapne jej na 16.7 sekundy a vynechá Äást videa mezi sekundami 420 a 422.
-Tyto akce budou provedeny jakmile ÄasovaÄ pÅehrávánà dosáhne hodnoty zadané
-v souboru.
-</para>
-
-<para>
-Pro vytvoÅenà EDL souboru se kterým budete moci zaÄÃt, použijte volbu
-<option>-edlout <soubor></option>. BÄhem pÅehrávánà jen stisknÄte
-<keycap>i</keycap> pro oznaÄenà zaÄátku a konce bloku. Pro vyznaÄený Äas
-bude do souboru zapsán odpovÃdajÃcà záznam. Můžete se pak vrátit a doladit
-vygenerovaný EDL soubor, stejnÄ jako zmÄnit výchozà akci, což je vystÅiženÃ
-vyznaÄených bloků.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="advaudio" xreflabel="Advanced Audio">
-<title>PokroÄilé audio</title>
-
-<sect2 id="advaudio-surround">
-<title>Surround/VÃcekanálové pÅehrávánÃ</title>
-
-<sect3 id="advaudio-surround-DVD">
-<title>DVD</title>
-
-<para>
-VÄtÅ¡ina DVD a mnoho jiných souborů obsahuje surround zvuk.
-<application>MPlayer</application> podporuje pÅehrávánà pÅehrávánà surround,
-ale ve výchozÃm nastavenà jej nezapÃná, jelikož stereo vybavenà je mnohem
-ÄastÄjÅ¡Ã. Pro pÅehrávánà souboru, který má vÃce než dvoukanálový zvuk použijte
-volbu <option>-channels</option>.
-NapÅÃklad pro pÅehránà DVD s 5.1 zvukem:
-<screen>mplayer dvd://1 -channels 6</screen>
-Poznamenejme, že aÄkoli se jmenuje "5.1", ve skuteÄnosti má Å¡est kanálů.
-Pokud máte surround zvukové vybavenÃ, můžete si pÅidat volbu
-<option>channels</option> do svého konfiguraÄnÃho souboru
-<application>MPlayer</application>u <filename>~/.mplayer/config</filename>.
-NapÅÃklad pro použità ÄtyÅkanálového pÅehrávánà zvuku jako výchozÃ, pÅidejte
-následujÃcà Åádek:
-<programlisting>channels=4</programlisting>
-<application>MPlayer</application> pak poskytuje zvuk ve ÄtyÅech kanálech,
-pokud jsou vÅ¡echny ÄtyÅi kanály k dispozici.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-stereoinfour">
-<title>PÅehrávánà stereo souborů do ÄtyÅech reproduktorů</title>
-
-<para>
-<application>MPlayer</application> ve výchozÃm nastavenà neduplikuje žádné
-kanály a nedÄlá to ani vÄtÅ¡ina audio ovladaÄů. Pokud to chcete udÄlat
-ruÄnÄ:
-<screen>mplayer <replaceable>soubor</replaceable> -af channels=2:2:0:1:0:0</screen>
-VysvÄtlenà naleznete v sekci
-<link linkend="advaudio-channels-copying">kopÃrovánà kanálů</link>.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-passthrough">
-<title>ACâ3/DTS Passthrough</title>
-
-<para>
-DVD majà obvykle surround zvuk enkódovaný ve formátu ACâ3 (Dolby Digital) nebo
-DTS (Digital Theater System). NÄkterá modernà zaÅÃzenà jsou schopna dekódovat
-tyto formáty internÄ. <application>MPlayer</application> lze nakonfigurovat
-tak, aby pÅenesl zvuková data bez dekódovánÃ. To bude fungovat pouze pokud máte
-S/PDIF (Sony/Philips Digital Interface) jack ve zvukové kartÄ.
-</para>
-
-<para>
-Pokud vaÅ¡e zaÅÃzenà umà dekódovat jak ACâ3, tak DTS, můžete bezpeÄnÄ zapnout
-passthrough pro oba formáty. Jinak zapnÄte passthrough pouze pro formát, který
-vaÅ¡e zaÅÃzenà podporuje.
-</para>
-
-<itemizedlist>
-<title>Zapnutà passthrough z pÅÃkazového Åádku:</title>
-<listitem><para>
- Jen pro ACâ3 použijte <option>-ac hwac3</option>
-</para></listitem>
-<listitem><para>
- Jen pro DTS použijte <option>-ac hwdts</option>
-</para></listitem>
-<listitem><para>
- Pro oba (ACâ3 i DTS) použijte <option>-afm hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Zapnutà passthrough v konfiguraÄnÃm souboru
- <application>MPlayer</application>u: </title>
-<listitem><para>
- Jen pro ACâ3 použijte <option>ac=hwac3,</option>
-</para></listitem>
-<listitem><para>
- Jen pro DTS použijte <option>ac=hwdts,</option>
-</para></listitem>
-<listitem><para>
- Pro oba (ACâ3 i DTS) použijte <option>afm=hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<para>
-PovÅ¡imnÄte si Äárky (",") na konci
-<option>ac=hwac3,</option> a <option>ac=hwdts,</option>. To umožnÃ
-<application>MPlayer</application>u použÃt normálnà kodek, když pÅehrávaný
-soubor nemá ACâ3 nebo DTS zvuk. Volba <option>afm=hwac3</option> nevyžaduje
-Äárku; <application>MPlayer</application> se zaÅÃdà podle potÅeby automaticky,
-pokud je zvolena rodina audio kodeků.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-matrix">
-<title>MaticovÄ enkódovaný zvuk</title>
-
-<para>
-<emphasis>***TODO***</emphasis>
-</para>
-
-<para>
-Tato sekce musà být teprve napsaná a nemůže být dokonÄena dokud nám nÄkdo
-nepoÅ¡le vzorkové soubory pro testovánÃ. Pokud máte nÄjaké maticovÄ enkódované
-zvukové soubory, vÃte, kde je lze najÃt, nebo máte jakoukoli informaci, která
-by mohla pomoci, poÅ¡lete prosÃm zprávu do konference
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>.
-Do pÅedmÄtu vložte "[matrix-encoded audio]".
-</para>
-
-<para>
-Pokud nepÅijdou žádné soubory nebo informace, tato sekce bude odstranÄna.
-</para>
-
-<para>
-Dobré odkazy:
-<itemizedlist>
-<listitem><para>
- <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-hrtf">
-<title>Surround emulace ve sluchátkách</title>
-
-<para>
-<application>MPlayer</application> obsahuje HRTF (Head Related Transfer
-Function) filtr založený na
-<ulink url="http://sound.media.mit.edu/KEMAR.html">projektu MIT</ulink>,
-kde jsou mÄÅenà vzata z mikrofonů na umÄlé lidské hlavÄ.
-</para>
-
-<para>
-AÄkoli nenà možné pÅesnÄ imitovat surround systém,
-<application>MPlayer</application>ův HRTF filtr produkuje prostorovÄ mnohem
-prokreslenÄjšà zvuk ve 2-kanálových sluchátkách. Obvyklé mÃchánà jednoduÅ¡e
-kombinuje všechny kanály do dvou; krom kombinace kanálů, <option>hrtf</option>
-generuje slabá echa, ponÄkud zvÄtÅ¡uje oddÄlenà stereo kanálů a mÄnà hlasitost
-nÄkterých kmitoÄtů. Jestli HRTF znà lépe může záviset na zdrojovém zvuku a
-osobnÃm vkusu, ale urÄitÄ stojà za zkouÅ¡ku.
-</para>
-
-<para>
-Pro pÅehránà DVD s HRTF:
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-</para>
-
-<para>
-<option>hrtf</option> pracuje dobÅe pouze s 5 nebo 6 kanály.
-<option>hrtf</option> také vyžaduje zvuk 48 kHz. DVD audio již je 48 kHz, ale
-pokud máte soubor s odliÅ¡ným vzorkovacÃm kmitoÄtem, který chcete pÅehrávat
-pomocà <option>hrtf</option>, musÃte jej pÅevzorkovat:
-<screen>
-mplayer <replaceable>soubor</replaceable> -channels 6 -af resample=48000,hrtf
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-troubleshooting">
-<title>PotÞe</title>
-
-<para>
-Pokud neslyÅ¡Ãte ze surround kanálů žádný zvuk, ovÄÅte si nastavenà smÄÅ¡ovaÄe
-pomocà programu jako je <application>alsamixer</application>;
-audio výstupy jsou Äasto vypnuty a nastaveny na nulovou hlasitost jako výchozÃ.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-channels">
-<title>Manipulace s kanály</title>
-
-<sect3 id="advaudio-channels-general">
-<title>Obecné informace</title>
-
-<para>
-NaneÅ¡tÄstà neexistuje standard pro Åazenà kanálů. NásledujÃcà Åazenà jsou
-použÃvaná v ACâ3 a jsou pomÄrnÄ typická; zkuste je a uvidÃte, zda tomu váš zdroj
-odpovÃdá. Kanály jsou ÄÃslovány od 0.
-
-<orderedlist spacing="compact">
-<title>mono</title>
- <listitem override="0"><para>stÅed</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>stereo</title>
- <listitem override="0"><para>levý</para></listitem>
- <listitem><para>pravý</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>kvadrofonnÃ</title>
- <listitem override="0"><para>levý ÄelnÃ</para></listitem>
- <listitem><para>pravý ÄelnÃ</para></listitem>
- <listitem><para>levý zadnÃ</para></listitem>
- <listitem><para>pravý zadnÃ</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 4.0</title>
- <listitem override="0"><para>levý ÄelnÃ</para></listitem>
- <listitem><para>pravý ÄelnÃ</para></listitem>
- <listitem><para>stÅedový zadnÃ</para></listitem>
- <listitem><para>stÅedový ÄelnÃ</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.0</title>
- <listitem override="0"><para>levý ÄelnÃ</para></listitem>
- <listitem><para>pravý ÄelnÃ</para></listitem>
- <listitem><para>levý zadnÃ</para></listitem>
- <listitem><para>pravý zadnÃ</para></listitem>
- <listitem><para>stÅedový ÄelnÃ</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.1</title>
- <listitem override="0"><para>levý ÄelnÃ</para></listitem>
- <listitem><para>pravý ÄelnÃ</para></listitem>
- <listitem><para>levý zadnÃ</para></listitem>
- <listitem><para>pravý zadnÃ</para></listitem>
- <listitem><para>stÅedový ÄelnÃ</para></listitem>
- <listitem><para>subwoofer</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Volba <option>-channels</option> se použÃvá pro požadavek na poÄet kanálů z
-dekodéru zvuku. NÄkteré audio kodeky použÃvajà poÄet zadaných kanálů pro
-rozhodovánÃ, zda je nutné podmixovat zdroj. Poznamenejme, že to ne vždy
-ovlivnà poÄet výstupnÃch kanálů. NapÅÃklad použitÃ
-<option>-channels 4</option> pro pÅehránà stereo MP3 souboru povede ke
-2-kanálovému výstupu, jelikož MP3 kodek neprodukuje extra kanály.
-</para>
-
-<para>
-Pro vytvoÅenà nebo odstranÄnà kanálů sloužà zvukový filtr
-<option>channels</option>, který je rovnÄž vhodný k ovládánà poÄtu zvukových
-kanálů posÃlaných do zvukové karty. Viz následujÃcà sekce pro vÃce informacÃ
-o manipulacÃch s kanály.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mono">
-<title>PÅehrávánà mono na dvou reproduktorech</title>
-
-<para>
-Mono znà mnohem lépe, když je pÅehráván dvÄma reproduktory – zvlášť pÅi
-použità sluchátek. Audio soubory, které ve skuteÄnosti majà jeden kanál,
-jsou automaticky pÅehrávány dvÄma reproduktory; naneÅ¡tÄstà je vÄtÅ¡ina
-mono souborů ve skuteÄnosti enkódována jako stereo s jednÃm kanálem utlumeným.
-Nejjednoduššà a nejblbuvzdornÄjšà způsob, jak pÅinutit oba reproduktory
-poskytovat stejný zvuk je filtr <option>extrastereo</option>:
-<screen>mplayer <replaceable>soubor</replaceable> -af extrastereo=0</screen>
-</para>
-
-<para>
-To zprůmÄruje oba kanály, takže budou mÃt poloviÄnà hlasitost originálu.
-Dalšà sekce pÅinášejà pÅÃklady dalÅ¡Ãch možnostÃ, jak to udÄlat bez snÞenÃ
-hlasitosti, ale ty jsou mnohem komplexnÄjšà a vyžadujà odliÅ¡né volby
-v závislosti na tom, který kanál ponecháte. Pokud potÅebujete jen upravit
-hlasitost, může být lehÄà experimentovat s filtrem <option>volume</option>
-a najÃt vhodnou hodnotu. NapÅÃklad:
-<screen>
-mplayer <replaceable>soubor</replaceable> -af extrastereo=0,volume=5
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-copying">
-<title>KopÃrovánÃ/pÅesun kanálů</title>
-
-<para>
-Filtr <option>channels</option> umà pÅesunout jakýkoli nebo vÅ¡echny kanály.
-Nastavenà všech parametrů filtru <option>channels</option> může být
-komplikované a vyžaduje pozornost.
-
-<orderedlist spacing="compact">
-<listitem><para>
- RozhodnÄte, kolik výstupnÃch kanálů potÅebujete. To je prvnà parametr.
-</para></listitem>
-<listitem><para>
- SpoÄÃtejte, kolik pÅesunů kanálů budete dÄlat. To je druhý parametr. Každý
- kanál může být pÅesunut naráz do nÄkolika různých kanálů, ale pamatujte, že
- pokud je kanál pÅesunut (dokonce i jen do jednoho cÃle), bude zdrojový kanál
- prázdný dokud do nÄj nepÅesunete jiný kanál. Chcete-li kanál zkopÃrovat,
- aby zdroj zůstal stejný, jednoduÅ¡e pÅesuÅte kanál do obou, cÃle i zdroje.
- NapÅÃklad:
-<programlisting>
-channel 2 --> channel 3
-channel 2 --> channel 2<!--
- --></programlisting>
-</para></listitem>
-<listitem><para>
- Zapište kopie kanálů jako dvojici parametrů. Pamatujte, že prvnà kanál je 0,
- druhý 1 atd. Na poÅadà parametrů nezáležÃ, pokud jsou správnÄ sdruženy do
- párů <replaceable>zdroj:cÃl</replaceable>.
-</para></listitem>
-</orderedlist>
-</para>
-
-<bridgehead>PÅÃklad: jeden kanál ve dvou reproduktorech</bridgehead>
-<para>
-Zde máte pÅÃklad jiného způsobu, jak hrát jeden kanál v obou reproduktorech.
-Pro náš úÄel pÅedpokládejme, že by mÄl být pÅehráván levý kanál a zahozen pravý.
-Následujeme výše uvedený postup:
-<orderedlist>
-<listitem><para>
- Abychom mÄli výstupnà kanál pro každý z obou reproduktorů, musà být prvnÃ
- parametr "2".
-</para></listitem>
-<listitem><para>
- Levý kanál musà být pÅesunut do pravého a také sám do sebe, aby nezůstal
- prázdný. To jsou celkem dva pÅesuny, takže druhý parametr bude také "2".
-</para></listitem>
-<listitem><para>
- Pro pÅesun levého kanálu (channel 0) do pravého kanálu (channel 1) bude dvojice
- parametrů "0:1" a "0:0" pÅesune levý kanál na sebe.
-</para></listitem>
-</orderedlist>
-Vše dohromady pak dá:
-<screen>
-mplayer <replaceable>soubor</replaceable> -af channels=2:2:0:1:0:0
-</screen>
-</para>
-
-<para>
-Výhoda tohoto postupu pÅed <option>extrastereo</option> je v tom, že
-je hlasitost každého výstupnÃho kanálu stejná jako hlasitost zdrojového
-kanálu. Nevýhodou je to, že parametry musà být zmÄnÄny na "2:2:1:0:1:1",
-pokud je požadovaný zvuk v pravém kanálu. Také je tÄžšà si je pamatovat
-a napsat.
-</para>
-
-<bridgehead>PÅÃklad: levý kanál v obou reproduktorech – zkratka</bridgehead>
-<para>
-Ve skuteÄnosti je mnohem jednoduššà způsob použità filtru
-<option>channels</option> pro pÅehrávánà levého kanálu v obou reproduktorech:
-<screen>mplayer <replaceable>soubor</replaceable> -af channels=1</screen>
-Druhý kanál je zahozen a bez dalÅ¡Ãch parametrů je ponechán jediný zbývajÃcÃ
-kanál. OvladaÄe zvukových karet hrajà jednokanálový zvuk automaticky v obou
-reproduktorech. To pracuje pouze pokud je požadovaný levý kanál.
-</para>
-
-<bridgehead>PÅÃklad: kopÃrovánà ÄelnÃch kanálů do zadnÃch</bridgehead>
-<para>
-DalÅ¡Ãm bÄžným úkonem je duplikace ÄelnÃch kanálů a jejich pÅehrávánà v zadnÃch
-reproduktorech kvadrofonnà sestavy.
-<orderedlist>
-<listitem><para>
- Zde by mely být ÄtyÅi výstupnà kanály. Prvnà parametr je "4".
-</para></listitem>
-<listitem><para>
- Oba pÅednà kanály musà být pÅesunuty do odpovÃdajÃcÃch zadnÃch kanálů a
- také na sebe. To jsou ÄtyÅi pÅesuny, takže druhý parametr bude "4".
-</para></listitem>
-<listitem><para>
- Levý Äelnà (channel 0) pÅesuneme do levého zadnÃho (channel 2): "0:2".
- Levý Äelnà musÃme rovnÄž pÅesunout do sama sebe: "0:0". Pravý pÅednà (channel
- 1) je pÅesunut do pravého zadnÃho (channel 3): "1:3" a také do sebe: "1:1".
-</para></listitem>
-</orderedlist>
-Po zkombinovánà všech nastavenà dostaneme:
-<screen>
-mplayer <replaceable>soubor</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mixing">
-<title>Mixovánà kanálů</title>
-
-<para>
-Filtr <option>pan</option> umà mixovat kanály podle požadavků uživatele.
-UmožÅuje vÅ¡e co filtr <option>channels</option> a jeÅ¡tÄ vÃc. NaneÅ¡tÄstà jsou
-jeho parametry jeÅ¡tÄ komplikovanÄjÅ¡Ã.
-<orderedlist>
-<listitem><para>
- RozhodnÄte, s kolika kanály budeme pracovat. To můžete nastavit pomocà volby
- <option>-channels</option> a/nebo <option>-af channels</option>. PozdÄji se
- v pÅÃkladech dozvÃte, kdy použÃt kterou.
-</para></listitem>
-<listitem><para>
- RozhodnÄte, kolik kanálů propustÃme do <option>pan</option> (ostatnà dekódované
- kanály jsou zahozeny). To je prvnà parametr a také ovládá, kolik kanálů bude mÃt
- výstup.
-</para></listitem>
-<listitem>
- <para>
- ZbývajÃcà parametry nastavujÃ, kolik z daného kanálu bude namixováno do každého
- dalÅ¡Ãho kanálu. Toto je ta komplikovaná Äást. Pro usnadnÄnà si rozdÄlte
- parametry do nÄkolika skupin, jednu pro každý výstupnà kanál. Každý parametr
- uvnitÅ skupiny odpovÃdá vstupnÃmu kanálu. ÄÃslo, které nastavÃte bude procento
- vstupnÃho kanálu, které bude namixováno do výstupnÃho kanálu.
- </para>
- <para>
- <option>pan</option> akceptuje hodnoty od 0 do 512, což odpovÃdá 0% až 51200%
- původnà hlasitosti. BuÄte opatrnÃ, pokud použÃváte hodnoty vÄtšà než 1. Nejen,
- že vám to dá velmi vysokou hlasitost, ale pokud pÅekroÄÃte dynamický rozsah
- své zvukové karty, můžete uslyÅ¡et rány a praskánÃ. Pokud chcete, můžete
- za <option>pan</option> pÅidat <option>,volume</option> pro zapnutà omezenÃ,
- ale i tak je nejlepšà udržet hodnoty <option>pan</option> dostateÄnÄ nÃzko,
- aby omezovánà nebylo potÅeba.
- </para>
-</listitem>
-</orderedlist>
-</para>
-
-<bridgehead>PÅÃklad: jeden kanál do dvou reproduktorů</bridgehead>
-<para>
-Zde máte dalšà pÅÃklad pro pÅehrávánà levého kanálu ve dvou reproduktorech.
-Následujme výše uvedené kroky:
-<orderedlist>
-<listitem><para>
- Na výstupu <option>pan</option> by mÄly být dva kanály, takže prvnÃ
- parametr je "2".
-</para></listitem>
-<listitem><para>
- Jelikož máme dva vstupnà kanály, budeme mÃt dvÄ sady parametrů.
- Jelikož máme rovnÄž dva výstupnà kanály, budeme mÃt dva parametry v každé
- sadÄ. Levý kanál ze souboru by mÄl jÃt s plnou hlasitostà do nového levého
- i pravého kanálu.
- Takže prvnà sada parametrů je "1:1".
- Pravý kanál by mÄl být zahozen, takže druhá sada bude "0:0".
- Hodnoty 0 na konci je možné vynechat, ale pro snadnÄjšà pochopenÃ
- je zde necháváme.
-</para></listitem>
-</orderedlist>
-Dáme-li vše dohromady, dostaneme:
-<screen>mplayer <replaceable>soubor</replaceable> -af pan=2:1:1:0:0</screen>
-Pokud chceme mÃsto levého kanálu pravý, budou parametry
-<option>pan</option> tyto: "2:0:0:1:1".
-</para>
-
-
-<bridgehead>PÅÃklad: levý kanál ve dvou reproduktorech zkrácenÄ</bridgehead>
-<para>
-StejnÄ jako s <option>channels</option> můžeme použÃt zkrácený zápis, který
-funguje pouze pro levý kanál:
-<screen>mplayer <replaceable>soubor</replaceable> -af pan=1:1</screen>
-Jelikož má <option>pan</option> pouze jeden vstupnà kanál (druhý je zahozen),
-máme pouze jednu sadu s jednÃm parametrem, takže tento jediný kanál dává
-100% sám ze sebe.
-</para>
-
-<bridgehead>PÅÃklad: podmixovánà 6-kanálového PCM</bridgehead>
-<para>
-<application>MPlayer</application>ův dekodér 6-kanálového PCM neumà podmixovánÃ.
-Máme vÅ¡ak možnost k tomu použÃt <option>pan</option>:
-<orderedlist>
-<listitem><para>
- PoÄet výstupnÃch kanálů je 2, takže prvnà parametr je "2".
-</para></listitem>
-<listitem><para>
- PÅi Å¡esti vstupnÃch kanálech budeme mÃt Å¡est sad parametrů. Jelikož nás
- vÅ¡ak zajÃmá pouze výstup z prvnÃch dvou kanálů, vystaÄÃme s pouhými dvÄma
- sadami; zbývajÃcà ÄtyÅi sady můžeme vynechat. Pozor na to, že ne vÅ¡echny
- vÃcekanálové zvukové soubory majà stejné Åazenà kanálů! Tento pÅÃklad
- demonstruje podmixovánà souboru se stejným ÅazenÃm kanálů jako má ACâ3 5.1:
- <programlisting>
-0 - levý pÅednÃ
-1 - pravý pÅednÃ
-2 - levý zadnÃ
-3 - pravý zadnÃ
-4 - stÅedový pÅednÃ
-5 - subwoofer<!--
- --></programlisting>
- Prvnà sada parametrů je výÄtem procentnÃch hodnot hlasitostà v daném poÅadÃ,
- kterou by mÄl dostat každý výstupnà kanál z levého pÅednÃho kanálu: "1:0".
- Pravý pÅednà kanál by mÄl jÃt do pravého výstupu: "0:1".
- StejnÄ tak zadnà kanály: "1:0" a "0:1".
- StÅedový kanál jde do obou výstupnÃch kanálů s poloviÄnà hlasitostÃ:
- "0.5:0.5" a subwoofer jde do obou s plnou hlasitostÃ: "1:1".
-</para></listitem>
-</orderedlist>
-Dáme-li vše dohromady, dostaneme:
-<screen>
-mplayer <replaceable>6-kanálové.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
-</screen>
-Uvedené procentnà hodnoty jsou pouhým pÅÃkladem. Upravte si je podle vlastnÃho
-uváženÃ.
-</para>
-
-<bridgehead>PÅÃklad: PÅehrávánà 5.1 zvuku na velkých reprobednách bez subwooferu</bridgehead>
-<para>
-Pokud máte robustnà Äelnà reprobedny, nemusÃte utrácet za nákup subwooferu
-pro kompletnà 5.1 zvukový systém. Použijete-li volbu
-<option>-channels 5</option> pro požadavek, aby liba52 dekódovala 5.1 zvuk
-do 5.0, bude zkrátka kanál pro subwoofer zahozen. Pokud jeho obsah chcete
-roznést do ostatnÃch kanálů, musÃte jej podmixovat ruÄnÄ pomocÃ
-<option>pan</option>:
-<orderedlist>
-<listitem><para>
- Jelikož se <option>pan</option> potÅebuje dostat ke vÅ¡em Å¡esti kanálům, nastavte
- <option>-channels 6</option>, takže je liba52 dekóduje všechny.
-</para></listitem>
-<listitem><para>
- Filtr <option>pan</option> produkuje pouze pÄt kanálů, takže prvnà parametr je 5.
-</para></listitem>
-<listitem><para>
- Å est vstupnÃch a pÄt výstupnÃch kanálů znamená Å¡est sad po pÄti parametrech.
- <itemizedlist spacing="compact">
- <listitem><para>
- Levý pÅednà kanál půjde jen sám do sebe:
- "1:0:0:0:0"
- </para></listitem>
- <listitem><para>
- StejnÄ tak pravý pÅednà kanál:
- "0:1:0:0:0"
- </para></listitem>
- <listitem><para>
- Taktéž levý zadnà kanál:
- "0:0:1:0:0"
- </para></listitem>
- <listitem><para>
- RovnÄž pravý zadnà kanál:
- "0:0:0:1:0"
- </para></listitem>
- <listitem><para>
- StÅedový kanál jakbysmet:
- "0:0:0:0:1"
- </para></listitem>
- <listitem><para>
- A nynà se musÃme rozhodnout, co udÄláme se subwooferem,
- napÅÃklad půlku do pÅednÃho levého a půlku do pÅednÃho pravého:
- "0.5:0.5:0:0:0"
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-</orderedlist>
-Zkombinujeme-li to dohromady, dostaneme:
-<screen>
-mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-volume">
-<title>Softwarové nastavenà hlasitosti</title>
-
-<para>
-NÄkteré zvukové stopy jsou pÅÃliÅ¡ tiché na to, aby mohly být pohodlnÄ
-poslouchány bez zesÃlenÃ. To je problém, pokud váš zvukový systém neumožÅuje
-potÅebné zesÃlenÃ. Volba <option>-softvol</option> poruÄÃ
-<application>MPlayer</application>u použità vestavÄného smÄÅ¡ovaÄe. Pak můžete
-použÃt klávesy pro nastavenà hlasitosti (výchozà <keycap>9</keycap> a
-<keycap>0</keycap>) pro dosaženà mnohem vyššÃch úrovnà hlasitosti.
-Takto neobejdete smÄÅ¡ovaÄ vašà zvukové karty; <application>MPlayer</application>
-pouze zesÃlà signál pÅed jeho odeslánÃm do zvukové karty.
-NásledujÃcà pÅÃklad je dobrým startem:
-<screen>
-mplayer <replaceable>tichý-soubor</replaceable> -softvol -softvol-max 300
-</screen>
-Volba <option>-softvol-max</option> nastavuje maximálnà povolenou výstupnÃ
-hlasitost v procentech původnà hlasitosti. NapÅÃklad,
-<option>-softvol-max 200</option> umožnà nastavit hlasitost až na dvojnásobek
-původnà úrovnÄ.
-Je bezpeÄné nastavit vysoké hodnoty volbou
-<option>-softvol-max</option>; vyššà hlasitost se nepoužije, dokud nepoužijete
-tlaÄÃtka nastavenà hlasitosti. Jedinou nevýhodou velkých hodnot je to, že
-jelikož <application>MPlayer</application> nastavuje hlasitost o podÃl
-z maximálnà hlasitosti, nebudete mÃt tak jemný krok nastavenà pomocà tlaÄÃtek.
-Pokud potÅebujete pÅesnÄjšà nastavovánÃ, použijte nižšà hodnotu pro
-<option>-softvol-max</option> a/nebo nastavte
-<option>-volstep 1</option>.
-</para>
-
-<para>
-Volba <option>-softvol</option> pracuje tak, že ovládá zvukový filtr
-<option>volume</option>. Chcete-li pÅehrávat soubor od zaÄátku pÅi urÄité
-hlasitosti, můžete nastavit <option>volume</option> ruÄnÄ:
-<screen>mplayer <replaceable>tichý-soubor</replaceable> -af volume=10</screen>
-Takto pÅehrajete soubor se ziskem 10 decibelů. PÅi použità filtru
-<option>volume</option> buÄte velmi opatrnÃ. Pokud použijete pÅÃliÅ¡ vysokou
-hodnotu, můžete si poÅ¡kodit sluch. ZaÄnÄte s nÃzkou hodnotou a postupnÄ
-zvyÅ¡ujte, až docÃlÃte požadované hlasitosti. PÅi nastavenà pÅÃliÅ¡ vysokých
-hodnot také hrozÃ, že <option>volume</option> bude nucen oÅezat signál, aby
-pÅedeÅ¡el odeslánà dat mimo dovolený rozsah do zvukové karty; to povede ke
-zkreslenà signálu.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tv-input" xreflabel="TV vstup">
-<title>TV vstup</title>
-
-<para>
-Tato sekce je zamÄÅena na zpÅÃstupnÄnÃ
-<emphasis role="bold">sledovánÃ/grabovánà z V4L kompatibilnÃho TV tuneru
-</emphasis>. Popis voleb k TV a ovládánà z klávesnice naleznete v man
-stránce.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="tv-compilation">
-<title>Kompilace</title>
-
-<procedure>
-<step><para>
- Zaprvé musÃte rekompilovat. <filename>./configure</filename> zdetekuje
- v4l hlaviÄkové soubory kernelu a existenci zaÅÃzenÃ
- <filename>/dev/video*</filename>. Pokud existujÃ, bude zabudována
- podpora pro TV (viz výstup z <filename>./configure</filename>).
-</para></step>
-<step><para>
- UjistÄte se, že váš tuner pracuje s jiným Linuxovým TV softwarem,
- napÅÃklad <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-tips">
-<title>Tipy pro použÃvánÃ</title>
-
-<para>
-Ãplný seznam voleb je dostupný v manuálové stránce.
-Zde je jen nÄkolik typů:
-
-<itemizedlist>
-<listitem><para>
- Použijte volbu <option>channels</option>. PÅÃklad:
- <screen>-tv channels=26-MTV1,23-TV2</screen>
- VysvÄtlenÃ: PÅi použità této volby budou použitelné pouze kanály 26 a 23 a
- budete také mÃt krásný OSD text po pÅepnutà kanálů, zobrazujÃcà jméno
- kanálu. Mezery ve jménÄ kanálu musà být nahrazeny znakem
- "_".
-</para></listitem>
-<listitem><para>
- Zvolte rozumné rozmÄry obrazu. RozmÄry výsledného obrazu by mÄly být
- bezezbytku dÄlitelné 16.
-</para></listitem>
-<listitem>
- <para>
- Pokud zachytáváte video se svislým rozliÅ¡enÃm vyššÃm než polovina plného
- rozliÅ¡enà (Äili 288 pro PAL nebo 240 pro NTSC), pak 'snÃmky', které dostanete,
- budou ve skuteÄnosti prokládané páry půlsnÃmků.
- V závislosti na tom, co chcete s videem dÄlat, je můžete nechat jak jsou,
- destruktivnÄ odstranit proklad, nebo rozdÄlit páry do individuálnÃch polÃÄek.
- </para>
- <para>
- Jinak bude zÃskaný snÃmek roztÅepený
- bÄhem rychlých scén a regulátor datového toku nebude pravdÄpodobnÄ schopen
- ani udržet nastavený datový tok, vzhledem k tomu, že prokladové artefakty
- produkujà velké množstvà detailů, což spotÅebovává velké pÅenosové pásmo.
- OdstraÅovánà prokladu můžete zapnout pomocà volby
- <option>-vf pp=DEINT_TYPE</option>. Dobrou práci obvykle odvede
- <option>pp=lb</option>, ale záležà na osobnÃch preferencÃch. Prostudujte si
- ostatnà možnosti odstraÅovánà prokladu v manuálu a vyzkouÅ¡ejte je.
- </para>
-</listitem>
-
-<listitem><para>
- OdstÅihnÄte mrtvý prostor. Když zachytáváte video, oblasti na okrajÃch jsou
- obvykle Äerné, nebo obsahujà nÄjaký Å¡um. Což opÄt zbyteÄnÄ spotÅebovává
- pÅenosové pásmo. PÅesnÄji to nejsou samotné Äerné oblasti, ale ostrý pÅechod
- mezi Äernou a svÄtlejÅ¡Ãm videem, ale to teÄ nenà důležité.
- Než zaÄnete zachytávat, nastavte parametry volby <option>crop</option> tak,
- aby byl veÅ¡kerý binec na okrajÃch odstÅižen. OpÄt se snažte zachovat rozumné
- rozmÄry výsledného obrazu.
-</para></listitem>
-<listitem><para>
- Sledujte zatÞenà CPU. VÄtÅ¡inu Äasu by nemÄlo pÅekroÄit hranici 90%. Pokud
- máte velkou vyrovnávacà pamÄÅ¥ pro zachytávánÃ, dokáže
- <application>MEncoder</application> pÅežÃt nÄkolikasekundové pÅetÞenÃ, ale
- nic vÃc. RadÄji vypnÄte 3D OpenGL spoÅiÄe obrazovky a podobné vÄci.
-</para></listitem>
-<listitem><para>
- Nehrajte si se systémovými hodinami. <application>MEncoder</application>
- použÃvá systémové hodiny pro A/V synchronizaci. Pokud pÅestavÃte systémové
- hodiny (zvlášť nazpÄt), <application>MEncoder</application> bude zmaten a
- vy pÅijdete o snÃmky. To je velmi důležité pokud jste pÅipojeni k sÃti a
- použÃváte nÄjaký Äasový synchronizaÄnà software jako je NTP. MusÃte vypnout
- NTP bÄhem zachytávánÃ, pokud chcete spolehlivÄ zachytávat.
-</para></listitem>
-<listitem><para>
- NemÄÅte <option>outfmt</option> pokud nevÃte co dÄláte, nebo vaÅ¡e
- karta/ovladaÄ opravdu nepodporuje výchozà (YV12 barevný prostor).
- Ve staršà verzi <application>MPlayer</application>u/
- <application>MEncoder</application>u bylo nutné nastavit výstupnà formát.
- Tento problém by mÄl být v souÄasných verzÃch vyÅeÅ¡en,
- <option>outfmt</option> již nenà nadále potÅeba a výchozà hodnoty vyhovujÃ
- pro vÄtÅ¡inu pÅÃpadů. NapÅÃklad pokud zachytáváte do DivX pomocÃ
- <systemitem class="library">libavcodec</systemitem>u a uvedete
- <option>outfmt=RGB24</option> pro zvýšenà kvality zachytávaných snÃmků,
- stejnÄ budou tyto snÃmky pozdÄji konvertovány zpÄt na YV12, takže jediné co
- tÃm zÃskáte je spousta vyplýtvaného výkonu CPU.
-</para></listitem>
-<listitem><para>
- Chcete-li nastavit barevný prostor I420 (<option>outfmt=i420</option>),
- musÃte pÅidat i volbu <option>-vc rawi420</option> kvůli konfliktu fourcc
- Intel Indeo video kodekem.
-</para></listitem>
-<listitem><para>
- Existuje nÄkolik cest, jak zachytávat zvuk. Můžete nahrát zvuk buÄ pomocÃ
- zvukové karty pomocà externÃho propojenà mezi video kartou a linkovým
- vstupem, nebo použitÃm vestavÄného ADC v Äipu bt878. Ve druhém pÅÃpadÄ
- musÃte naÄÃst ovladaÄ <emphasis role="bold">btaudio</emphasis>. PÅeÄtÄte si
- soubor <filename>linux/Documentation/sound/btaudio</filename> (ve zdrojácÃch
- kernelu, nikoli <application>MPlayer</application>u) pro nÄkolik instrukcÃ
- jak použÃt tento ovladaÄ.
-</para></listitem>
-<listitem><para>
- Pokud <application>MEncoder</application> nedokáže otevÅÃt audio zaÅÃzenÃ,
- ujistÄte se, že je opravdu k dispozici. Můžete mÃt potÞe se zvukovými
- servery jako aRts (KDE) nebo ESD (GNOME). Pokud máte plnÄ duplexnà zvukovou
- kartu (témÄÅ každá sluÅ¡ná karta to již podporuje) a použÃváte KDE, zkuste
- zaškrtnout volbu "full duplex" v menu nastavenà zvukového serveru.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-examples">
-<title>PÅÃklady</title>
-
-<informalexample><para>
-Modelový výstup do AAlib :)
-<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
-</para></informalexample>
-
-<informalexample><para>
-Vstup ze standardnÃho V4L:
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Mnohem sofistikovanÄjšà pÅÃklad. Zde <application>MEncoder</application>
-zachytává obraz v plném PALu, oÅÃzne okraje a odstranà proklad obrazu pomocÃ
-lineárnÃho smÄÅ¡ovacÃho algoritmu. Zvuk je komprimován konstantnÃm datovým
-tokem 64kbps LAME kodekem. Toto nastavenà je vhodné pro zachytávánà filmů.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -vf crop=720:544:24:16,pp=lb -o <replaceable>výstup.avi</replaceable> tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Toto navÃc pÅeÅ¡káluje video na 384x288 a zkomprimuje jej s datovým tokem
-350kbps v režimu vysoké kvality. Volba vqmax uvolÅuje kvantizer a umožnÃ
-video kompresoru podržet takto nÃzký datový tok i za cenu snÞenà kvality.
-To lze použÃt pro záznam dlouhých TV seriálů, kde kvalita obrazu nenà až
-tolik důležitá.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>výstup.avi</replaceable>\
- -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
-</screen>
-RovnÄž můžete nastavit menšà rozmÄry obrazu ve volbÄ
-<option>-tv</option> a vyhnout se tak softwarovému Å¡kálovánÃ, ale tento pÅÃstup
-vyžaduje maximálnà množstvà informacà a je trochu odolnÄjšà proti Å¡umu.
-Äipy bt8x8 umà průmÄrovánà pixelů pouze ve svislém smÄru dÃky
-hardwarovým omezenÃm.
-</para></informalexample>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="radio">
-<title>Rádio</title>
-
-<sect2 id="radio-input" xreflabel="Radio input">
-<title>Rádio vstup</title>
-
-<para>
-Tato sekce se zabývá tÃm, jak zprovoznit poslech rozhlasu
-z V4L-kompatibilnÃho rozhlasového tuneru.
-Popis voleb a ovládánà z klávesnice naleznete v man stránce.
-</para>
-
-<!-- ********** -->
-
-<sect3 id="radio-compilation">
-<title>Kompilace</title>
-
-<procedure>
-<step><para>
- Nejprve musÃte znovupÅeložit <application>MPlayer</application> pomocÃ
- <filename>./configure</filename> s <option>--enable-radio</option> a
- (pokud chcete i nahrávat) <option>--enable-radio-capture</option>.
-</para></step>
-<step><para>
- UjistÄte se, že váš tuner pracuje s jiným softwarem v Linuxu, napÅÃklad
- <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-tips">
-<title>Uživatelské tipy</title>
-
-<para>
-Plný výÄet voleb je v manuálové stránce.
-Zde uvádÃme jen nÄkolik tipů:
-<itemizedlist>
-<listitem><para>
- Použità volby <option>channels</option>. PÅÃklad:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- VysvÄtlenÃ: Pomocà této volby budou k dispozici pouze stanice 104.4
- a 103.9. Budete mÃt krásný OSD text bÄhem pÅepÃnánà kanálů,
- který zobrazà jméno kanálu. Mezery v názvech kanálů musà být
- nahrazeny znakem "_".
-</para></listitem>
-<listitem><para>
- Je mnoho způsobů, jak zachytávat (nahrávat) zvuk. Můžete buÄ zachytávat pomocÃ
- vstupu line-in zvukové karty propojeného vnÄjšà linkou s videokartou,
- nebo použitÃm vestavÄného ADC v Äipu saa7134. V druhém pÅÃpadÄ musÃte
- zavést ovladaÄ <systemitem>saa7134-alsa</systemitem> nebo
- <systemitem>saa7134-oss</systemitem>.
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application> nelze použÃt pro zachytávánà zvuku, jelikož
- vyžaduje videoproud, aby fungoval. Takže buÄ použijete
- <application>arecord</application> z projektu ALSA, nebo
- volbu <option>-ao pcm:file=file.wav</option>. V druhém pÅÃpadÄ neuslyÅ¡Ãte nic
- (pokud ovšem nemáte propojku s line-in a vypnuté mute na kanále line-in).
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-examples">
-<title>PÅÃklady</title>
-
-<informalexample><para>
-Vstup ze standardnÃho V4L (pomocà line-in kablu, zachytávánà vypnuto):
-<screen>mplayer radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-Vstup ze standardnÃho V4L (pomocà line-in kablu, zachytávánà vypnuto,
-rozhranà V4Lv1):
-<screen>mplayer -radio driver=v4l radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-PÅehrávánà druhé stanice ze seznamu:
-<screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
-</para></informalexample>
-
-<informalexample><para>
-Průchod zvuku pÅes PCI sbÄrnici z internÃho ADC rádio karty.
-V tomto pÅÃkladu se tuner použÃvá jako druhá zvuková karta
-(ALSA zaÅÃzenà hw:1,0). Pro zaÅÃzenà založené na saa7134 musÃ
-být zaveden buÄ modul <systemitem>saa7134-alsa</systemitem> nebo
-modul <systemitem>saa7134-oss</systemitem>.
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
- -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note><para>
-Když použÃváte názvy zaÅÃzenà ALSA, dvojteÄky musà být
-nahrazeny znaky rovnáse, Äárky teÄkami.
-</para></note>
-</para>
-</informalexample>
-</sect3>
-</sect2>
-
-</sect1>
-</chapter>
diff --git a/DOCS/xml/cs/video.xml b/DOCS/xml/cs/video.xml
deleted file mode 100644
index 03aec6d..0000000
--- a/DOCS/xml/cs/video.xml
+++ /dev/null
@@ -1,2602 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Synced with r24180 -->
-<chapter id="video">
-<title>Výstupnà video zaÅÃzenÃ/rozhranÃ</title>
-
-<sect1 id="mtrr">
-<title>Nastavenà MTRR</title>
-
-<para>
-VELMI doporuÄujeme skontrolovat, zda jsou MTRR registry
-správnÄ nastaveny, jelikož mohou velice zvýšit výkon.
-</para>
-
-<para>
-ProveÄte <command>cat /proc/mtrr</command>:
-<screen>
-<prompt>--($:~)--</prompt> cat /proc/mtrr
-reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
-reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
---></screen>
-</para>
-
-<para>
-Takto to správnÄ ukazuje má Matrox G400 se 16MB pamÄti. Provedl jsem to z
-XFree 4.x.x, které nastavuje MTRR registry automaticky.
-</para>
-
-<para>
-Pokud nic nefunguje, budete to muset udÄlat ruÄnÄ. Nejprve musÃte najÃt
-bázovou adresu. Máte tÅi možnosti, jak ji zjistit:
-
-<orderedlist>
-<listitem><para>
- ze startovacÃch informacà X11, napÅÃklad:
- <screen>
-(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
-(--) SVGA: Linear framebuffer at 0xD8000000<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- z <filename>/proc/pci</filename> (použijte pÅÃkaz <command>lspci -v</command>
- ):
- <screen>
-01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
-Memory at d8000000 (32-bit, prefetchable)<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- ze zpráv jaderného modulu mga_vid (použijte <command>dmesg</command>):
- <screen>mga_mem_base = d8000000</screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Pak zjistÄte velikost pamÄti. Je to velmi snadné, staÄà pÅevést velikost
-video RAM do hexadecimálnà soustavy, nebo použijte následujÃcà tabulku:
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
- <row><entry>1 MB</entry><entry>0x100000</entry></row>
- <row><entry>2 MB</entry><entry>0x200000</entry></row>
- <row><entry>4 MB</entry><entry>0x400000</entry></row>
- <row><entry>8 MB</entry><entry>0x800000</entry></row>
- <row><entry>16 MB</entry><entry>0x1000000</entry></row>
- <row><entry>32 MB</entry><entry>0x2000000</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Pokud znáte bázovou adresu a velikost pamÄti, zaÄnÄme nastavovat MTRR registry!
-NapÅÃklad pro výše uvedenou kartu Matrox (<literal>base=0xd8000000</literal>)
-s 32MB RAM (<literal>size=0x2000000</literal>) staÄÃ spustit:
-<screen>
-echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr
-</screen>
-</para>
-
-<para>
-Ne vÅ¡echny procesory majà MTRR. NapÅÃklad staršà CPU K6-2 (okolo 266MHz,
-stepping 0) nemajà MTRR, ale stepping 12 je majÃ
-(pro ovÄÅenà spusÅ¥te <command>cat /proc/cpuinfo</command>).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="xv">
-<title>Xv</title>
-
-<para>
-Pod XFree86 4.0.2, nebo novÄjÅ¡Ãm, můžete použÃt hardwarové YUV rutiny karty
-pomocà rozÅ¡ÃÅenà XVideo. PÅesnÄ toto použÃvá volba
-<option>-vo xv</option>. Toto rozhranà také podporuje nastavovánÃ
-jasu/kontrastu/barevného tónu/atd. (pokud nepoužÃváte strarý, pomalý DirectShow
-DivX kodek, který to podporuje všude), viz man stránka.
-</para>
-
-<para>
-Abyste to zprovoznili, ujistÄte se o následujÃcÃm:
-
-<orderedlist>
-<listitem><para>
- MusÃte použÃvat XFree86 4.0.2 nebo novÄjšà (pÅedchozà verze nemajà XVideo)
-</para></listitem>
-<listitem><para>
- VaÅ¡e karta aktuálnÄ podporuje hardwarovou akceleraci (modernà karty ano)
-</para></listitem>
-<listitem><para>
- X nahrává rozÅ¡ÃÅenà XVideo. Zpráva ve <filename>/var/log/XFree86.0.log</filename>
- vypadá asi takto:
- <programlisting>(II) Loading extension XVideo</programlisting>
- <note><para>
- Takto se nahraje pouze rozÅ¡ÃÅenà pro XFree86. To je v dobré instalaci nahráno
- vždy a neznamená to, že je naÄtena i podpora XVideo pro
- <emphasis role="bold">kartu</emphasis>!
- </para></note>
-</para></listitem>
-<listitem><para>
- VaÅ¡e karta má podporu Xv pod Linuxem. Abyste si to ovÄÅili, zkuste
- <command>xvinfo</command>, které je souÄástà distribuce XFree86. MÄl by se
- vypsat dlouhý text podobný tomuto:
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...atd...)<!--
---></screen>
- Musà podporovat pixelové formáty YUY2 packed a YV12 planar, aby byla
- použitelná s <application>MPlayer</application>em.
-</para></listitem>
-<listitem><para>
- A nakonec si ovÄÅte, jestli byl <application>MPlayer</application> skompilován
- s podporou 'xv'. ProveÄte <command>mplayer -vo help | grep xv </command>.
- Pokud byla skompilována podpora 'xv', mÄl by se objevi Åádek podpobný tomuto:
- <screen> xv X11/Xv</screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-
-<sect2 id="tdfx">
-<title>Karty 3dfx</title>
-
-<para>
-Staršà ovladaÄe 3dfx byly známy svými problémy s XVideo akceleracà a
-nepodporovaly barevné prostory YUY2 ani YV12. OvÄÅte, že máte XFree86
-verze 4.2.0 nebo vyššÃ, které pracuje dobÅe s YV12 a YUY2, zatÃmco pÅedchozÃ
-verze, vÄetnÄ 4.1.0, <emphasis role="bold">padá s YV12</emphasis>.
-Pokud zažÃvate podivné situace pÅi použÃvánà <option>-vo xv</option>, zkuste SDL
-(má rovnÄž XVideo) a uvidÃte, zda to pomůže. Prostudujte si sekci
-<link linkend="sdl">SDL</link> pro vÃce informacÃ.
-</para>
-
-<para>
-<emphasis role="bold">NEBO</emphasis>, zkuste NOVÃ
-<option>-vo tdfxfb</option> rozhranÃ! Viz sekce
-<link linkend="tdfxfb">tdfxfb</link>.
-</para>
-</sect2>
-
-
-<sect2 id="s3">
-<title>Karty S3</title>
-
-<para>
-S3 Savage3D by mÄly fungovat dobÅe, ale pro Savage4 použijte XFree86 verze 4.0.3
-nebo vyššà (v pÅÃpadÄ problémů s obrazem, zkuste 16bpp). StejnÄ ajko S3 Virge:
-má sice podporu xv, ale karta samotná je velmi pomalá, takže ji radÄji prodejte.
-</para>
-
-<para>
-Pro karty S3 Virge nynà existuje nativnà framebuffer ovladaÄ podobný
-tdfxfb. Nastavte si framebuffer (Äili pÅidejte
-"<option>vga=792 video=vesa:mtrr</option>" do pÅÃkazového Åádku kernelu) a
-použijte <option>-vo s3fb</option> (<option>-vf yuy2</option> a
-<option>-dr</option> rovnÄž pomůžou).
-</para>
-
-<note><para>
-ZatÃm nenà jasné, kterým modelům Savage chybà podpora YV12 a konvertujÃ
-ovladaÄem (pomalé). Pokud podezÅÃváte kartu, opatÅete si novÄjšà ovladaÄ, nebo
-sluÅ¡nÄ požádejte v konferenci MPlayer-users o ovladaÄ s MMX/3DNow!.
-</para></note>
-</sect2>
-
-
-<sect2 id="nvidia">
-<title>Karty nVidia</title>
-
-<para>
-nVidia nenà vždy pod Linuxem nejlepšà volbou... Open-source ovladaÄ
-v XFree86 podporuje vÄtÅ¡inu tÄchto karet, ale v nÄkterých pÅÃpadech musÃte
-použÃt binárnà closed-source ovladaÄ od nVidie, který je k dispozici na
-<ulink url="http://www.nvidia.com/object/linux.html">serveru nVidia</ulink>.
-Tento ovladaÄ budete potÅebovat vždy, pokud zároveÅ chcete 3D akceleraci.
-</para>
-
-<para>
-Karty Riva128 nemajà podporu XVideo v nVidia ovladaÄi z XFree86 :(
-StÄžujte si nVidii.
-</para>
-
-<para>
-AÄkoli <application>MPlayer</application> obsahuje
-<link linkend="vidix">VIDIX</link> ovladaÄ pro vÄtÅ¡inu nVidia karet, zatÃm je
-ve stavu beta verze a má jisté nedostatky. VÃce informacà naleznete v sekci
-<link linkend="vidix-nvidia">nVidia VIDIX</link>.
-</para>
-</sect2>
-
-
-<sect2 id="ati">
-<title>Karty ATI</title>
-
-<para>
-<ulink url="http://gatos.sf.net">OvladaÄ GATOS</ulink>
-(který byste mÄli použÃt, pokud nemáte Rage128 nebo Radeon) má zapnutý VSYNC
-ve výchozÃm stavu. To znamená, že rychlost dekódovánà (!) je synchronizována
-s obnovovacÃm kmitoÄtem monitoru. Pokud se vám zdá pÅehrávánà pomalé, zkuste
-nÄjak vypnout VSYNC, nebo nastavte obnovovacà kmitoÄet na n*(snÃmková rychlost
-filmu) Hz.
-</para>
-
-<para>
-Radeon VE - pokud potÅebujete X, použijte pro tuto kartu XFree86 4.2.0 nebo
-vyššÃ. Nenà zde podpora pro TV out. SamozÅejmÄ s
-<application>MPlayer</application>em můžete mÃt s trochou Å¡tÄstÃ
-<emphasis role="bold">akcelerovaný</emphasis> display s nebo bez
-<emphasis role="bold">TV výstupu</emphasis> a nepotÅebujete žádné X knihovny.
-PÅeÄtÄte si sekci <link linkend="vidix">VIDIX</link>.
-</para>
-</sect2>
-
-
-<sect2 id="neomagic">
-<title>Karty NeoMagic</title>
-
-<para>
-Tyto karty lze nalézt v mnoha laptopech. MusÃte použÃt XFree86 4.3.0 nebo
-vyššÃ, nebo použijte
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">ovladaÄe s podporou Xv</ulink>
-od Stefana Seyfrieda.
-StaÄà vybrat ten, který je vhodný pro vaÅ¡i verzi XFree86.
-</para>
-
-<para>
-XFree86 4.3.0 obsahuje podporu Xv, avšak Bohdan Horst poslal malý
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">patch</ulink>
-pro zdrojový kód XFree86, který zrychluje operace s framebufferem (Äili XVideo)
-až ÄtyÅikrát. Patch byl zaÅazen do XFree86 CVS a mÄl by být v dalšà verzi
-vydané po 4.3.0.
-</para>
-
-<para>
-Abyste mohli pÅehrávat obsah velikosti DVD, zmÄÅte svůj XF86Config takto:
-<programlisting>
-Section "Device"
- [...]
- Driver "neomagic"
- <emphasis>Option "OverlayMem" "829440"</emphasis>
- [...]
-EndSection<!--
---></programlisting>
-</para>
-</sect2>
-
-
-<sect2 id="trident">
-<title>Karty Trident</title>
-
-<para>
-Chcete-li použÃvat Xv s kartou Trident, což nepracuje s 4.1.0,
-nainstalujte si XFree 4.2.0. 4.2.0 pÅidává podporu pro celoobrazovkové Xv
-pro kartu Cyberblade XP.
-</para>
-
-<para>
-AlternativnÄ, <application>MPlayer</application> obsahuje
-<link linkend="vidix">VIDIX</link> ovladaÄ pro kartu Cyberblade/i1.
-</para>
-</sect2>
-
-
-<sect2 id="kyro">
-<title>Karty Kyro/PowerVR</title>
-
-<para>
-Pokud chcete použÃvat Xv s kartou založenou na Äipu Kyro (napÅÃklad Hercules
-Prophet 4000XT), mÄli byste si stáhnout ovladaÄe z
-<ulink url="http://www.powervr.com/">PowerVR serveru</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="intel">
-<title>Karty Intel</title>
-
-<para>
-Tyto karty lze nalézt v mnoha laptopech. DoporuÄujeme aktuálnà Xorg.
-</para>
-
-<para>
-Abyste umožnili pÅehrávánà obsahu velikosti DVD (a vÄtÅ¡Ã), zmÄÅte svůj XF86Config/xorg.conf takto:
-<programlisting>
-Section "Device"
- [...]
- Driver "intel"
- <emphasis>Option "LinearAlloc" "6144"</emphasis>
- [...]
-EndSection
-</programlisting>
-Vynechánà této volby obvykle vede k chybÄ jako
-<screen>X11 error: BadAlloc (insufficient resources for operation)</screen>
-pÅi pokusu použÃt <option>-vo xv</option>.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>PÅEDMLUVA</title>
-<para>
-Tento dokument se nÄkolika slovy snažà vysvÄtlit co je to DGA a co
-výstupnà videorozhranà DGA pro <application>MPlayer</application>
-udÄlat může (a co ne).
-</para>
-</formalpara>
-
-<formalpara>
-<title>CO JE DGA</title>
-<para>
-<acronym>DGA</acronym> je zkratka pro <emphasis>Direct Graphics
-Access</emphasis>, což je program pro obejità X servru a
-pÅÃmou modifikaci pamÄti framebufferu. Technicky to znamená mapovánà pamÄti
-framebufferu do pamÄÅ¥ového prostoru vaÅ¡eho procesu.
-To kernel umožÅuje pouze pokud máte práva superuživatele. Ty dostanete buÄ
-nalogovánÃm se jako <systemitem class="username">root</systemitem>, nebo
-nastavenÃm SUID bitu spustitelnému souboru
-<application>MPlayer</application>u (<emphasis role="bold">nedoporuÄujeme
-</emphasis>).
-</para>
-</formalpara>
-<para>
-Existujà dvÄ verze DGA: DGA1 je použÃváno XFree 3.x.x a DGA2 bylo
-pÅedstaveno v XFree 4.0.1.
-</para>
-
-<para>
-DGA1 poskytuje pouze pÅÃmý pÅÃstup k framebufferu jak byl popsán výše.
-Chcete-li pÅepÃnat rozliÅ¡enà videosignálu, musÃte se spolehnout na
-rozÅ¡ÃÅenà XVidMode.
-</para>
-
-<para>
-DGA2 zahrnuje vlastnosti rozÅ¡ÃÅenà XVidMode a rovnÄž umožÅuje pÅepÃnat
-barevnou hloubku zobrazovaÄe. Takže můžete jendoduÅ¡e provozovat X server
-s hloubkou 32 bitů a pÅepnout na barevnou hloubku 15 bitů a naopak.
-</para>
-
-<para>
-DGA má ovÅ¡em i jisté obtÞe. Zdá se, že je nÄjak závislé na grafickém Äipu,
-který použÃváte a na implementaci video ovladaÄe X serveru, který tento Äip
-obsluhuje. Takže nefunguje na všech systémech...
-</para>
-
-<formalpara>
-<title>INSTALACE PODPORY DGA PRO MPLAYER</title>
-
-<para>
-Nejprve si ovÄÅte, že X nahrávajà rozÅ¡ÃÅenà DGA, viz v
-<filename>/var/log/XFree86.0.log</filename>:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-XFree86 4.0.x nebo vyššà je
-<emphasis role="bold">vÅele doporuÄován</emphasis>!
-Video rozhranà DGA <application>MPlayer</application>u je autodetekováno
-<filename>./configure</filename>, nebo jej můžete vynutit pomocÃ
-<option>--enable-dga</option>.
-</para>
-</formalpara>
-
-<para>
-Pokud rozhranà nemůže pÅepnout do menÅ¡Ãho rozliÅ¡enÃ, experimentujte s
-volbami <option>-vm</option> (pouze s X 3.3.x), <option>-fs</option>,
-<option>-bpp</option>, <option>-zoom</option>, abyste nalezli videorežim, do
-kterého se video napasuje. MomentálnÄ nenà žádný pÅevodnÃk :(
-</para>
-
-<para>
-StaÅte se <systemitem class="username">root</systemitem>em. DGA vyžaduje
-práva roota, aby mohl pÅÃmo zapisovat do video pamÄti. Pokud jej chcete
-provozovat jako uživatel, pak nainstalujte <application>MPlayer</application>
-jako SUID root:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
-A nynà to bude pracovat také pod obyÄejným uživatelem.
-</para>
-
-<caution>
-<title>BezpeÄnostnà riziko</title>
-<para>
-Toto je <emphasis role="bold">velké</emphasis> bezpeÄnostnà riziko!
-<emphasis role="bold">Nikdy</emphasis> to nedÄlejte na serveru nebo poÄÃtaÄi
-ke kterému mohou mÃt pÅÃstup ostatnà lidé, jelikož ti mohou zÃskat
-superuživatelská práva dÃky SUID root
-<application>MPlayer</application>u.
-</para>
-</caution>
-
-<para>
-Nynà použijte volbu <option>-vo dga</option> a je to! (doufám:)
-Také byste mÄli vyzkouÅ¡et, jestli vám pracuje volba
-<option>-vo sdl:dga</option>!
-Je mnohem rychlejÅ¡Ã!
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>PÅEPÃNÃNÃ ROZLIÅ ENÃ</title>
-
-<para>
-Rozhranà DGA umožÅuje pÅepÃnánà rozliÅ¡enà výstupnÃho signálu.
-To odstraÅuje potÅebu (pomalého) softwarového Å¡kálovánà a zároveÅ
-poskytuje obraz na celou obrazovku. IdeálnÄ by se mÄlo pÅepnout na pÅesné
-rozliÅ¡enà (s výjimkou dodrženà pomÄru stran) video dat, ale X
-server umožÅuje poze pÅepÃnánà do rozliÅ¡enà pÅeddefinovaných v
-<filename>/etc/X11/XF86Config</filename>
-(nebo <filename>/etc/X11/XF86Config-4</filename> pro XFree 4.X.X).
-Ty jsou definovány takzvanými "modelines" a závisà na
-schopnostech vaÅ¡eho video hardwaru. X server projÞdà tento konfiguraÄnÃ
-soubor pÅi startu a zakáže režimy (modelines) nevhodné pro váš hardware.
-Povolené videorežimy naleznete v X11 log souboru. Tel lze nalézt zde:
-<filename>/var/log/XFree86.0.log</filename>.
-</para>
-</formalpara>
-
-<para>
-Tyto vstupy jsou známy dobrou funkcà na Riva128 Äipu, s použitÃm modulu
-ovladaÄe nv.o X serveru.
-</para>
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA & MPLAYER</title>
-<para>
-DGA je v <application>MPlayer</application>u použito na dvou mÃstech: SDL
-rozhranà může být nastaveno pro jeho použità (<option>-vo sdl:dga</option>) a
-pÅÃmé DGA rozhranà (<option>-vo dga</option>). Výše uvedené je platné
-pro obÄ varianty; v následujÃcà sekci vysvÄtlÃme jak pracuje DGA rozhranÃ
-<application>MPlayer</application>u.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>VLASTNOSTI</title>
-
-<para>
-DGA rozhranà je použito zadánÃm volby <option>-vo dga</option> na pÅÃkazovém
-Åádku. VýchozÃm chovánÃm je pÅepnout na rozliÅ¡enà co nejbižšà originálnÃm
-rozmÄrům videa. Zcela zámÄrnÄ se ignorujà volby <option>-vm</option> a
-<option>-fs</option> (umožÅujÃcà pÅepÃnánà videorežimů a zobrazenà na celou
-obrazovku) - vždy zkoušà pokrýt tak velkou plochu obrazovky, jak je to jen možné
-pomocà pÅepnutà videorežimu, což nás oprostà od využÃvánà dalÅ¡Ãch CPU cyklů
-pro Å¡kálovánà obrazu. Pokud se vám nelÃbà režim, který vybere automatika,
-můžete ji pÅinutit pro výbÄr režimu nejblÞe odpovÃdajÃcÃmu rozliÅ¡enÃ,
-které zadáte pomocà <option>-x</option> a <option>-y</option>.
-PÅi zadánà volby <option>-v</option>, vypÃÅ¡e DGA rozhranÃ, spolu s dalÅ¡Ãmi
-vÄcmi, seznam vÅ¡ech rozliÅ¡enà podporovaných vaÅ¡im aktuálnÃm
-<filename>XF86Config</filename> souborem.
-Máte-li DGA2, můžete jej rovnÄž pÅinutit použÃt různé barevné hloubky pomocÃ
-volby <option>-bpp</option>. Platné barevné hloubky jsou 15, 16, 24 a 32.
-To jestli jsou tyto barevné hloubky nativnÄ podporovány, nebo musà být provedena
-(pravdÄpodobnÄ pomalá) konverze závisà na vaÅ¡em hardware.
-</para>
-</formalpara>
-<para>
-Pokud jste natolik šťastlivci, že máte dostatek volné mimoobrazové pamÄti,
-aby se zde vmÄstnal celý obrázek, použije DGA rozhranà dvojitou vyrovnávacÃ
-pamÄÅ¥, což vám zajistà mnohem plynulejšà pÅehrávánà filmů. Rozhranà vás bude
-informovat jestli je dvojitý buffer zapnutý nebo ne.
-</para>
-
-<para>
-Dvojitou vyrovnávacà pamÄtà se rozumà to, že je dalšà snÃmek vykreslován do
-pamÄti mimo zobrazovanou plochu, zatÃmco je zobrazován aktuálnà snÃmek.
-Jakmile je dalšà snÃmek pÅipraven, grafický Äip je informován o pozici v pamÄti,
-kde je nový snÃmek a jednoduÅ¡e pÅesune data k zobrazenà odtud.
-MezitÃm je dalšà buffer v pamÄti zaplÅován novými videodaty.
-</para>
-
-<para>
-Dvojitá vyrovnávacà pamÄÅ¥ může být zapnuta volbou
-<option>-double</option> a vypnuta volbou
-<option>-nodouble</option>. SouÄasná výchozà hodnota je vypnutà dvojité
-vyrovnávacà pamÄti. PÅi použità DGA rozhranà bude display na obrazovce (OSD)
-pracovat pouze pÅi zapnuté dvojité vyrovnávacà pamÄti.
-Zapnutà dvojité vyrovnávacà pamÄti vÅ¡ak může vyústit velkou ztrátou výkonu
-(na mé K6-II+ 525 to použije dalÅ¡Ãch 20% CPU výkonu!) v závislosti na
-implementaci DGA pro váš hardware.
-</para>
-
-
-<formalpara>
-<title>OTÃZKA RYCHLOSTI</title>
-
-<para>
-ObecnÄ by pÅÃstup pÅes DGA framebuffer mÄl být alespoÅ tak rychlý jako
-použità rozhranà X11 navÃc s celoobrazovkovým režimem.
-Procentnà hodnoty rychlosti vypisované
-<application>MPlayer</application>em byste mÄli brát s rezervou, jelikož
-napÅÃklad pÅi použità X11 nezahrnujà Äas spotÅebovaný X serverem pro
-vlastnà vykreslovánÃ. ZavÄste terminál na sériovou linku poÄÃtaÄe a
-spusÅ¥te <command>top</command>, abyste vidÄli co se opravdu dÄje ve vaÅ¡em
-poÄÃtaÄi.
-</para>
-</formalpara>
-
-<para>
-ObecnÄ zrychlenà použitÃm DGA oproti 'bÄžnému' X11 velmi závisà na vaÅ¡Ã
-grafické kertÄ a jak dobÅe je pro ni optimalizován modul X serveru.
-</para>
-
-<para>
-Pokud máte pomalý stroj, radÄji použijte 15 nebo 16 bitovou hloubku, jelikož
-vyžaduje pouze poloviÄnà průchodnost pamÄti oproti 32 bitovému zobrazenÃ.
-</para>
-
-<para>
-Použità hloubky 24 bitů je dobré i v pÅÃpadÄ, že vaÅ¡e karta nativnÄ podporuje
-pouze barevnou hloubku 32 bitů, jelikož se pÅenášà o 25% ménÄ dat oproti
-režimu 32/32.
-</para>
-
-<para>
-VidÄl jsem pár AVI souborů pÅehrávat na Pentiu MMX 266. Procesory AMD K6-2
-pracujà pÅi 400 MHZ a výše.
-</para>
-
-
-<formalpara>
-<title>ZNÃMÃ CHYBY</title>
-
-<para>
-Podle nÄkterých vývojáÅů XFree je DGA zvÄrstvo. ÅÃkajÃ, abyste je radÄji
-nepoužÃvali. Jeho implementace nenà vždy bezproblémová v každém dostupném
-ovladaÄi pro XFree.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- V XFree 4.0.3 je v <filename>nv.o</filename> chyba vedoucÃ
- k podivným barvám.
-</para></listitem>
-<listitem><para>
- OvladaÄ pro ATI vyžaduje vÃce než jedno zpÄtné pÅepnutà režimu po skonÄenÃ
- použÃvánà DGA.
-</para></listitem>
-<listitem><para>
- NÄkteré ovladaÄe selžou pÅi pÅepnutà do normálnÃho rozliÅ¡enà (použijte
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Numerické +</keycap></keycombo>
- a
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Numerické -</keycap></keycombo>
- pro ruÄnà pÅepnutÃ).
-</para></listitem>
-<listitem><para>
- NÄkteré ovladaÄe zobrazujà divné barvy.
-</para></listitem>
-<listitem><para>
- NÄkteré ovladaÄe lžou o množstvà pamÄti kterou mapujà do adresového prostoru
- procesu, takže vo_dga nepoužije dvojitou vyrovnávacà pamÄÅ¥ (SIS?).
-</para></listitem>
-<listitem><para>
- NÄkteré ovladaÄe nezvládnou ohlásit dokonce ani jeden platný režim.
- V tom pÅÃpadÄ rozhranà DGA spadne s hláškou o nesmaslném režimu
- 100000x100000 nebo tak.
-</para></listitem>
-<listitem><para>
- OSD pracuje pouze se zapnutou dvojitou vyrovnávacà pamÄtà (jinak poblikává).
-</para></listitem>
-</itemizedlist>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="sdl">
-<title>SDL</title>
-
-<para>
-<acronym>SDL</acronym> (Simple Directmedia Layer) je zjednoduÅ¡enÄ unifikované
-video/audio rozhranÃ. Programy, které ji použÃvajÃ, znajà pouze SDL a ne
-jaký audio nebo video ovladaÄ SDL aktuálnÄ použÃvá. NapÅÃklad klon DOOMa
-může bÄžet na svgalib, aalib, X, fbdev a dalÅ¡Ãch. MusÃte jen nastavit
-(napÅÃklad) video ovladaÄ pomocà promÄnné prostÅedÃ
-<envar>SDL_VIDEODRIVER</envar>. AspoÅ teoreticky.
-</para>
-
-<para>
-V <application>MPlayer</application>u použÃváme jejà softwarový Å¡kálovaÄ
-ovladaÄe X11 pro karty/ovladaÄe, které nepodporujà XVideo, dokud nevytvoÅÃme
-vlastnà (rychlejÅ¡Ã, hezÄÃ) softwarový Å¡kálovaÄ. RovnÄž jsme použÃvali jejÃ
-výstup na aalib, ale nynà máme vlastnÃ, což je mnohem pohodlnÄjÅ¡Ã.
-Jejà DGA režim byl až doposud lepšà než náš. Sledujete? :)
-</para>
-
-<para>
-RovnÄž pomáhá s nÄkterými chybnými ovladaÄi/kartami, pokud je video roztÅesené
-(nikoli problém pomalého stroje), nebo se zpožÄuje zvuk.
-</para>
-
-<para>
-SDL video rozhranà podporuje zobrazovánà titulků pod filmem, v (pokud je) Äerném
-okraji.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>INSTALACE</title>
-<para>
-Budete muset nainstalovat svgalib i s development balÃÄkem, aby
-<application>MPlayer</application> vytvoÅil své SVGAlib rozhranÃ
-(autodetekováno, ale nelze vynutit) a nezapomeÅte upravit
-<filename>/etc/vga/libvga.config</filename> tak, aby odpovÃdal vašà kartÄ a
-monitoru.
-</para>
-</formalpara>
-
-<note><para>
-UjistÄte se, že nepoužÃváte volbu <option>-fs</option>, jelikož zapÃná
-použità softwarového Å¡kálovánÃ, což je pomalé. Pokud jej opravdu potÅebujete,
-použijte volbu <option>-sws 4</option>, což poskytuje špatnou kvalitu, ale je
-o poznánà rychlejÅ¡Ã.
-</para></note>
-
-<formalpara>
-<title>PODPORA EGA (4BPP)</title>
-<para>
-SVGAlib obsahuje EGAlib a <application>MPlayer</application> umà zobrazovat
-jakýkoli film v 16 barvách, což je vhodné v následujÃcÃch konfiguracÃch:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- EGA karta s EGA monitorem: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
-</para></listitem>
-<listitem><para>
- EGA karta s CGA monitorem: 320x200x4bpp, 640x200x4bpp
-</para></listitem>
-</itemizedlist>
-
-<para>
-Hodnota bpp (bitů na pixel) musà být nastavena na 4 ruÄnÄ:
-<option>-bpp 4</option>
-</para>
-
-<para>
-Obraz bude nejspÃÅ¡ muset být zmenÅ¡ený tak, aby se veÅ¡el v EGA režimu:
-<screen>-vf scale=640:350</screen>
-nebo
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-Když potÅebujeme rychlou, ale nekvalitnà škálovacà rutinu:
-<screen>-sws 4</screen>
-</para>
-
-<para>
-Možná bude muset být vypnuta automatická korekce pomÄru stran:
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-Podle mých zkušenostà lze dosáhnout nejlepšà kvality obrazu na
-EGA obrazovkách mÃrným snÞenÃm jasu:
-<option>-vf eq=-20:0</option>. Na svém poÄÃtaÄi jsem rovnÄž musel snÞit
-vzorkovacà kmitoÄet zvuku, protože zvuk pÅà 44kHz byl vadný:
-<option>-srate 22050</option>.
-</para></note>
-
-<para>
-Zapnout OSD a titulky můžete pouze v kombinaci s <option>expand</option>
-filtrem, viz man stránka pro pÅesné parametry.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="fbdev">
-<title>Výstup na Framebuffer (FBdev)</title>
-
-<para>
-Podpora pro cÃl FBdev je autodetekována bÄhem
-<filename>./configure</filename>. PÅeÄtÄte si dokumentaci framebufferu ve
-zdrojových kódech kernelu (<filename>Documentation/fb/*</filename>) pro vÃce
-informacÃ.
-</para>
-
-<para>
-Pokud vaše karta nepodporuje standard VBE 2.0 (staršà ISA/PCI karty, jako
-S3 Trio64), pouze VBE 1.2 (nebo straš�): Nuže, stále máte k dispozici VESAfb,
-ale budete muset nahrát SciTech Display Doctor (původnÄ UniVBE) pÅed startem
-Linuxu. Použijte bootovacà disk DOSu nebo tak. A nezapomÄÅte si zaregistrovat
-svůj UniVBE ;))
-</para>
-
-<para>
-Výstup FBdev pÅijÃmá nÄkolik dodateÄných voleb:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- nastavà zaÅÃzenà framebufferu k použità (výchozÃ: <filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- název režimu k použità (podle <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- config soubor režimů (výchozÃ: <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- <emphasis role="bold">důležité</emphasis> hodnoty, viz
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Pokud se chcete pÅepnout do urÄitého režimu, pak použijte
-<screen>
-mplayer -vm -fbmode <replaceable>name_of_mode</replaceable> <replaceable>soubor</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vm</option> samotná zvolà nejpÅÃhodnÄjšà režim z
- <filename>/etc/fb.modes</filename>. Může být rovnÄž použita spolu s volbami
- <option>-x</option> a <option>-y</option>. Volba
- <option>-flip</option> je podporována pouze pokud pixelový formát filmu
- odpovÃdá pixelovému formátu videorežimu. VÄnujte pozornost hodnotÄ bpp.
- OvladaÄ fbdev zkusà použÃt aktuálnÃ, nebo pokud zadáte volbu
- <option>-bpp</option>, pak tuto.
- </para></listitem>
-<listitem><para>
- Volba <option>-zoom</option> nenà podporována
- (použijte <option>-vf scale</option>). Nelze použÃt režimy 8bpp (nebo nižšÃ).
-</para></listitem>
-<listitem><para>
- PravdÄpodobnÄ budete chtÃt vypnout kursor:
- <screen>echo -e '\033[?25l'</screen>
- nebo
- <screen>setterm -cursor off</screen>
- a spoÅiÄ obrazovky:
- <screen>setterm -blank 0</screen>
- Pro opÄtovné zapnutà kursoru:
- <screen>echo -e '\033[?25h'</screen>
- nebo
- <screen>setterm -cursor on</screen>
-</para></listitem>
-</itemizedlist>
-
-<note><para>
-ZmÄna videorežimu FBdev <emphasis>nepracuje</emphasis> ve VESA
-framebufferu a nechtÄjte to po nás, jelikož to nenà omezenÃ
-<application>MPlayer</application>u.
-</para></note>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="mga_vid">
-<title>Matrox framebuffer (mga_vid)</title>
-
-<para>
-<systemitem>mga_vid</systemitem> je kombinacà výstupnÃho video rozhranà a
-Linuxového jaderného modulu, který použÃvá Matrox G200/G400/G450/G550 video
-scaler/overlay jednotku pro konverzi YUV->RGB barevného prostoru a libovolé
-škálovánà videa.
-<systemitem>mga_vid</systemitem> má hardwarovou podporu VSYNC s trojitou
-vyrovnávacà pamÄtÃ. Pracuje jak ve framebuffer konzoli, tak v X, ale pouze
-s Linuxem 2.4.x.
-</para>
-
-<para>
-Chcete-li verzi ovladaÄe pro Linux 2.6.x, podÃvejte se na
-<ulink url="http://attila.kinali.ch/mga/"/>.
-</para>
-
-<procedure>
-<title>Instalace:</title>
-<step><para>
- Pokud jej chcete použÃt, nejdÅÃve musÃte sestavit
- <filename>mga_vid.o</filename>:
- <screen>
-cd drivers
-make<!--
---></screen>
-</para></step>
-<step><para>
- Pake spusťte (jako <systemitem class="username">root</systemitem>)
- <screen>make install</screen>
- což by mÄlo nainstalovat modul a vytvoÅit pro vás soubor zaÅÃzenÃ.
- OvladaÄ nahrajte pomocÃ
- <screen>insmod mga_vid.o</screen>
-</para></step>
-<step><para>
- MÄli byste ovÄÅit velikost detekované pamÄti pomocà pÅÃkazu
- <command>dmesg</command>. Pokud je špatná, použijte volbu
- <option>mga_ram_size</option>
- (nejdÅÃv <command>rmmod mga_vid</command>),
- nastavte velikost pamÄti karty v MB:
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
-</para></step>
-<step><para>
- Aby se nahrával/odstraÅoval automaticky podle potÅeby, nejdÅÃve pÅidejte
- následujÃcà Åádek na konec <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-</para></step>
-<step><para>
- TeÄ budete muset (pÅe)kompilovat <application>MPlayer</application>,
- <command>./configure</command> zdetekuje
- <filename>/dev/mga_vid</filename> a zakompiluje 'mga' rozhranÃ.
- V <application>MPlayer</application>u se použÃvá pomocà <option>-vo mga</option>
- pokud máte matroxfb konzoli, nebo <option>-vo xmga</option> pod XFree86
- 3.x.x nebo 4.x.x.
-</para></step>
-</procedure>
-
-<para>
-OvladaÄ mga_vid spolupracuje s Xv.
-</para>
-
-<para>
-UrÄité informace lze pÅeÄÃst z <filename>/dev/mga_vid</filename> zaÅÃzenÃ,
-napÅÃklad pomocÃ
-<screen>cat /dev/mga_vid</screen>
-a může do nÄj být zapsána zmÄna jasu:
-<screen>echo "brightness=120" > /dev/mga_vid</screen>
-</para>
-
-<para>
-Ve stejném adresáÅi je i testovacà aplikace jménem
-<command>mga_vid_test</command>. MÄla by na obrazovku kreslit obrázky
-256x256 bodů, pokud vše pracuje jak má.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>Podpora 3Dfx YUV</title>
-
-<para>
-Tento ovladaÄ použÃvá ovladaÄ framebufferu tdfx z jádra pro pÅehrávánÃ
-filmů s YUV akceleracÃ. Budete potÅebovat jádro s podporou tdfxfb a
-rekompilovat s
-<screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfx_vid">
-<title>tdfx_vid</title>
-
-<para>
-Toto je kombinace Linuxového jaderného modulu a video výstupnÃho
-rozhranà podobného <link linkend="mga_vid">mga_vid</link>.
-Budete potÅebovat 2.4.x kernel s <systemitem>agpgart</systemitem>
-ovladaÄem, jelikož <systemitem>tdfx_vid</systemitem> použÃvá AGP.
-PÅedejte <option>--enable-tdfxfb</option> do <command>configure</command>
-abyste sestavili video výstupnà rozhranà a sestavte jaderný modul pomocÃ
-následujÃcÃch instrukcÃ.
-</para>
-
-<procedure>
-<title>Instalace jaderného modulu tdfx_vid.o:</title>
-<step><para>
- Kompilace <filename>tdfx_vid.o</filename>:
- <screen>
-cd drivers
-make</screen>
-</para></step>
-<step><para>
- Pak spusťte (jako <systemitem class="username">root</systemitem>)
- <screen>make install</screen>
- což by mÄlo nainstalovat modul a vytvoÅit soubor zaÅÃzenÃ.
- Nahrajte ovladaÄ pomocÃ
- <screen>insmod tdfx_vid.o</screen>
-</para></step>
-<step><para>
- Aby se nahrával a odstraÅoval automaticky podle potÅeby, vložte nejprve
- následujÃcà Åádku na konec <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 tdfx_vid</programlisting>
-</para></step>
-</procedure>
-
-<para>
-Ve stejném adresáÅi je testovacà aplikace jménem
-<command>tdfx_vid_test</command>. MÄla by vypisovat pár užiteÄných
-informacÃ, pokud vÅ¡e dobÅe pracuje.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="opengl">
-<title>Rozhranà OpenGL</title>
-
-<para>
-<application>MPlayer</application> podporuje zobrazovánà filmů pomocà OpenGL,
-ale pokud vaÅ¡e platforma/ovladaÄ podporuje xv což by mÄl být pÅÃpad PC s
-Linuxem, použijte radÄji xv, jelikož výkon OpenGL je o poznánà horÅ¡Ã.
-Pokud máte X11 implementaci bez podpory xv, je OpenGL slušná alternativa.
-</para>
-
-<para>
-NaneÅ¡tÄstà ne vÅ¡echny ovladaÄe tuto vlastnost podporujÃ. OvladaÄe Utah-GLX
-(pro XFree86 3.3.6) ji podporujà pro všechny karty.
-Viz <ulink url="http://utah-glx.sf.net"/> pro detaily jak je nainstalovat.
-</para>
-
-<para>
-XFree86(DRI) 4.0.3 nebo pozdÄjšà podporujà OpenGL s kartami Matrox a Radeon,
-4.2.0 a pozdÄjšà podporujà Rage128.
-Viz <ulink url="http://dri.sf.net"/> pro staženà a instalaÄnà instrukce.
-</para>
-
-<para>
-Rada od jednoho z uživatelů: GL video výstup lze použÃt pro dosaženÃ
-vertikálnÄ synchronizovaného TV výstupu. Budete muset nastavit promÄnnou
-prostÅedà (aspoÅ na nVidii):
-</para>
-
-<para>
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="aalib">
-<title>AAlib – zobrazovánà v textovém režimu</title>
-
-<para>
-AAlib je knihovna pro zobrazovánà grafiky v textovém režimu pomocà výkonného
-ASCII renderovaÄe. Existuje <emphasis>spousta</emphasis> programů, ktaré ji již
-podporujÃ, jako DOOM, Quake, atd. <application>MPlayer</application>
-pro ni obsahuje Å¡ikovné rozhranÃ. Pokud <filename>./configure</filename>
-zjistà nainstalovanou aalib, sestavà se aalib libvo rozhranÃ.
-</para>
-
-<para>
-Můžete použÃt nÄkteré klávesy v AA oknÄ pro zmÄnu renderovacÃch voleb:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Klávesa</entry><entry>Akce</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- snÞà kontrast
-</entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- zvýšà kontrast
-</entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- snÞà jas
-</entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- zvýšà jas
-</entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- vypÃná/zapÃná rychlé renderovánÃ
-</entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- nastavà rozhodovacà režim (žádný, error distribution, Floyd Steinberg)
-</entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- inverze obrazu
-</entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- pÅepÃná mezi ovládánÃm aa a <application>MPlayer</application>u
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>Můžete použÃt následujÃcà volby pÅÃkazového Åádku:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- zmÄna barvy OSD
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- zmÄna barvy titulků
- </para><para>
- kde <replaceable>V</replaceable> může být:
- <literal>0</literal> (normálnÃ),
- <literal>1</literal> (tmavé),
- <literal>2</literal> (tuÄné),
- <literal>3</literal> (polotuÄný font),
- <literal>4</literal> (reverz),
- <literal>5</literal> (speciálnÃ).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>AAlib samotná poskytuje velké množstvà voleb. Zde je nÄkolik
-důležitých:</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- Nastavà doporuÄený aa ovladaÄ (X11, curses, Linux).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- Použità všech 256 znaků.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- Použità osmibitového ASCII.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- VypÃÅ¡e vÅ¡echny aalib volby.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note><para>
-Renderovánà je velmi nároÄné na CPU, zvlášť pÅi použità AA-na-X
-(aalib na X) a nejménÄ nároÄné je na standardnà neframebuferované
-konzoli. Použijte SVGATextMode pro nastavenà velkého textového režimu
-a užijte si! (secondary head Hercules cards rock :)) (ale IMHO můžete použÃt
-volbu <option>-vf 1bpp</option> pro grafiku na hgafb:)
-</para></note>
-
-<para>
-Použijte volbu <option>-framedrop</option>, pokud váš poÄÃtaÄ nenà dostateÄnÄ
-rychlý pro renderovánà vÅ¡ech snÃmků!
-</para>
-
-<para>
-PÅi pÅehrávánà na terminálu dosáhnete lepšà rychlosti i kvality použitÃm
-ovladaÄe Linux, bez curses (<option>-aadriver linux</option>). Ale pak budete
-potÅebovat práva k zápisu do
-<filename>/dev/vcsa<replaceable><terminal></replaceable></filename>!
-Aalib to nedetekuje, ale vo_aa zkoušà najÃt nejlepšà režim.
-Pro vÃce ladÃcÃch možnostà viz <ulink url="http://aa-project.sf.net/tune"/>.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="caca">
-<title>
-<systemitem class="library">libcaca</systemitem> – Barevná ASCII Art knihovna
-</title>
-
-<para>
-Knihovna <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
-je grafická knihovna produkujÃcà text mÃsto pixelů, takže může fungovat na
-starÅ¡Ãch video kartách a textových terminálech. Nenà nepodobná známé knihovnÄ
-<systemitem class="library">AAlib</systemitem>.
-<systemitem class="library">libcaca</systemitem> vyžaduje k Äinnosti terminál,
-takže by mÄla fungovat na vÅ¡ech Unixových systémech (vÄetnÄ Mac OS X) pomocà buÄ
-knihovny <systemitem class="library">slang</systemitem> nebo knihovny
-<systemitem class="library">ncurses</systemitem>, pod DOSem pomocà knihovny
-<systemitem class="library">conio.h</systemitem> a na systémech Windows
-pomocà buÄ <systemitem class="library">slang</systemitem> nebo
-<systemitem class="library">ncurses</systemitem> (pomocà emulace Cygwin) nebo
-<systemitem class="library">conio.h</systemitem>. Pokud
-<filename>./configure</filename>
-detekuje <systemitem class="library">libcaca</systemitem>, bude sestaveno
-rozhranà caca libvo.
-</para>
-
-<itemizedlist>
-<title>Odlišnosti od <systemitem class="library">AAlib</systemitem> jsou:</title>
-<listitem><para>
- 16 dostupných barev pro znakový výstup (256 barev pro pár)
-</para></listitem>
-<listitem><para>
- rozhodovánà podle barev v obrázku
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Ale <systemitem class="library">libcaca</systemitem> má také následujÃcÃ
- omezenÃ:</title>
-<listitem><para>
- nemá podpora pro jas, kontrast a gamu
-</para></listitem>
-</itemizedlist>
-
-<para>
-V caca oknÄ můžete použÃt nÄkteré klávesy pro zmÄnu renderovacÃch volby:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Klávesa</entry><entry>Akce</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- PÅepÃná metody rozhodovánà v <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- PÅepÃná vyhlazovánà v <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- PÅepÃná pozadà v <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> také respektuje nÄkteré
- promÄnné prostÅedÃ:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- Nastavà doporuÄený caca ovladaÄ, jako ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (pouze X11)</option></term>
- <listitem><para>
- Nastavà poÄet Åad a sloupců. NapÅ. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (pouze X11)</option></term>
- <listitem><para>
- Nastavà použitý font. NapÅ. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Použijte volbu <option>-framedrop</option>, pokud váš poÄÃtaÄ nenà dost rychlý
-pro renderovánà vÅ¡ech snÃmků.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vesa">
-<title>VESA - výstup do VESA BIOSu</title>
-
-<para>
-Tento ovladaÄ byl navržen a pÅedstaven jako <emphasis role="bold">obecný
-ovladaÄ</emphasis> pro jakoukoli video kartu, která má VESA VBE 2.0 kompatibilnÃ
-BIOS. Dalšà výhodou tohoto ovladaÄe je, že zkoušà vynutit zapnutà výstupu na TV.
-<citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16,
-1998</citetitle> (Strana 70) uvádÃ:
-</para>
-
-<blockquote>
-<formalpara><title>Karty Dual-Controller</title>
-<para>
-VBE 3.0 podporuje karty s dual-controllerem za pÅedpokladu že, jelikož jsou
-typicky oba controllery vybaveny stejným OEM a nastavovány jedinou
-BIOS ROM na stejné grafické kartÄ, je možné skrýt pÅed aplikacà pÅÃtomnost
-dvou controllerů. To omezuje nezávislé použità jednotlivých controllerů,
-ale umožÅuje aplikacÃm vydaným pÅed VBE 3.0 pracovat normálnÄ.
-VBE funkce 00h (Návrat informacà o controlleru) vracà kombinované informace
-obou conrollerů, vÄetnÄ kombinovaného seznamu platných režimů.
-PÅÃsluÅ¡ný controller je aktivován jakmile aplikace vybere režim. VÅ¡echny
-ostatnà VBE funkce pak pracujà s aktivnÃm controllerem.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-Máte tedy možnost s tÃmto rozhranÃm dostat funkÄnà TV výstup.
-(SoudÃm že TV výstup má velmi Äasto samostatnou jednotku, nebo aspoÅ samostatný
-výstup.)
-</para>
-
-<itemizedlist spacing="compact">
-<title>VÃHODY</title>
-<listitem><para>
- Máte šanci sledovat video <emphasis role="bold">dokonce i když Linux nezná
- </emphasis> váš video hardware.
-</para></listitem>
-<listitem><para>
- NepotÅebujete mÃt ve svém Linuxu nainstalovány žádné vÄci souvisejÃcà s
- grafikou (jako X11 (alias XFree86), fbdev atd). Toto rozhranà lze provozovat
- z <emphasis role="bold">textového režimu</emphasis>.
-</para></listitem>
-<listitem><para>
- Máte Å¡anci zÃskat <emphasis role="bold">funkÄnà TV-out</emphasis>.
- (Je to pravda minimálnÄ s kartami ATI).
-</para></listitem>
-<listitem><para>
- Toto rozhranà volá <function>int 10h</function> handler, takže nenÃ
- emulátorem – volá <emphasis role="bold">skuteÄné</emphasis> vÄci
- <emphasis>skuteÄného</emphasis> BIOSu v <emphasis>reálném režimu</emphasis>
- (ve skuteÄnosti v režimu vm86).
-</para></listitem>
-<listitem><para>
- Můžete s nÃm použÃt VIDIX, takže dostanete akcelerované video
- <emphasis role="bold">a</emphasis> TV výstup souÄasnÄ!
- (DoporuÄeno pro karty ATI.)
-</para></listitem>
-<listitem><para>
- Máte-li VESA VBE 3.0+ a nastavili jste si nÄkde
- <option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option>
- (config soubor nebo pÅÃkazový Åádek) dostanete nejvyššà možný obnovovacÃ
- kmitoÄet. (Using General Timing Formula). Abyste této funkce dosáhli, musÃte
- nastavit <emphasis role="bold">všechna</emphasis> nastavenà monitoru.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>NEVÃHODY</title>
-<listitem><para>
- Pracuje pouze na <emphasis role="bold">systémech x86</emphasis>.
-</para></listitem>
-<listitem><para>
- Může to použÃt pouze <systemitem class="username">root</systemitem>.
-</para></listitem>
-<listitem><para>
- ZatÃm je dostupné pouze pro <emphasis role="bold">Linux</emphasis>.
-</para></listitem>
-</itemizedlist>
-
-<important><para>
-NepoužÃvejte toto rozhranà s <emphasis role="bold">GCC 2.96</emphasis>!
-Nefunguje!
-</para></important>
-
-<variablelist>
-<title>VOLBY PÅÃKAZOVÃHO ÅÃDKU DOSTUPNÃ PRO VESA</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>volby</replaceable></option></term>
- <listitem><para>
- zatÃm dostupné: <literal>dga</literal> pro vynucenà dga režimu a
- <literal>nodga</literal> pro jeho potlaÄenÃ. V režimu dga můžete zapnout
- dvojitou vyrovnávacà pamÄÅ¥ pomocà volby <option>-double</option>.
- Poznámka: Tyto volby můžete vynechat, abyste zapli
- <emphasis role="bold">autodetekci</emphasis> dga režimu.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>ZNÃMÃ PROBLÃMY A KLIÄKY</title>
-<listitem><para>
- Pokud máte nainstalován <emphasis role="bold">NLS</emphasis> font v
- Linuxové konzoli a použijete VESA rozhranà v textovém režimu, pak po
- ukonÄenà <application>MPlayer</application>u budete mÃt nahrán
- <emphasis role="bold">ROM font</emphasis> mÃsto národnÃho.
- Můžete si opÄt nahrát národnà font napÅÃklad pomocà utility
- <command>setsysfont</command> z distribuce Mandrake/Mandriva.
- (<emphasis role="bold">Tip</emphasis>: Stejná utilita je použita pro
- lokalizaci fbdev).
-</para></listitem>
-<listitem><para>
- NÄkteré <emphasis role="bold">Linuxové grafické ovladaÄe</emphasis> neobnovujÃ
- aktivnà <emphasis role="bold">režim BIOSu</emphasis> v DOSové pamÄti.
- Takže pokud máte tento problém – vždy použÃvejte VESA rozhranà pouze v
- <emphasis role="bold">textovém režimu</emphasis>. Jinak bude pÅesto aktivován
- textový režim (#03) a budete muset restartovat poÄÃtaÄ.
-</para></listitem>
-<listitem><para>
- Äasto po ukonÄenà VESA rozhranà dostanete
- <emphasis role="bold">Äernou</emphasis> obrazovku. Chcete-li vrátit obraz do
- původnÃho stavu – jednoduÅ¡e se pÅepnÄte do jiné konzole (stiskem
- <keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>)
- a pak se pÅepnÄte zpÄt stejným způsobem.
-</para></listitem>
-<listitem><para>
- Chcete-li <emphasis role="bold">funkÄnà TV-out</emphasis>, musÃte mÃt
- pÅipojený TV konektor pÅed startem poÄÃtaÄe, jelikož se video BIOS
- inicializuje pouze jednou bÄhem POST procedury.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="x11">
-<title>X11</title>
-
-<para>
-Pokud možno se mu vyhnÄte. PosÃlá obraz do X11 (použÃvá rozÅ¡ÃÅenà sdÃlená pamÄÅ¥)
-bez jakékoli hardwarové akcelerace. Podporuje (MMX/3DNow/SSE akcelerované, ale
-pÅesto pomalé) softwarové Å¡kálovánÃ. Použijte volby <option>-fs -zoom</option>.
-VÄtÅ¡ina karet má hardwarovou podporu Å¡kálovánÃ, použijte pro nÄ volbu
-<option>-vo xv</option>, nebo <option>-vo xmga</option> pro karty Matrox.
-</para>
-
-<para>
-Problém je, že vÄtÅ¡ina karet nepodporuje hardwarovou akceleraci na sekundárnÃm
-výstupu/TV. V tÄchto pÅÃpadech uvidÃte mÃsto filmu zelenou/modrou obrazovku.
-TeÄ se hodà toto rozhranÃ, ale potÅebujete silný procesor pro použitÃ
-softwarového Å¡kálovánÃ. NepoužÃvejte SDL softwarový výstup a Å¡kálovánÃ, má horÅ¡Ã
-kvalitu obrazu!
-</para>
-
-<para>
-Softwarové Å¡kálovánà je velmi pomalé, zkuste radÄji mÄnit videorežimy.
-Je to jednoduché. Viz <link linkend="dga-modelines">modelines v DGA sekci</link>
-a pÅidejte je do svého <filename>XF86Config</filename>.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- Máte-li XFree86 4.x.x: použijte volbu <option>-vm</option>. Ta zmÄnÃ
- rozliÅ¡enà tak, aby do nÄj film dobÅe veÅ¡el. Když ne:
-</para></listitem>
-<listitem><para>
- S XFree86 3.x.x: musÃte cyklovat dostupnými rozliÅ¡enÃmi pomocà tlaÄÃtek
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Numerické +</keycap></keycombo>
- a
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Numerické -</keycap></keycombo>
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Pokud nemůžete najÃr rozliÅ¡enÃ, která jste vložili, proÄtÄte si výstup XFree86.
-NÄkteré ovladaÄe nezvládnou nÃzké bodové kmitoÄty potÅebné pro režimy s nÃzkým
-rozliÅ¡enÃm videa.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vidix">
-<title>VIDIX</title>
-
-<formalpara><title>PÅEDMLUVA</title>
-<para>
-<acronym>VIDIX</acronym> je zkratka pro
-<emphasis role="bold">VID</emphasis>eo
-<emphasis role="bold">I</emphasis>nterface
-for *ni<emphasis role="bold">X</emphasis>
-(video rozhranà pro *nix).
-VIDIX bylo navrženo a pÅedstaveno jako rozhranà pro rychlé uživatelské ovladaÄe
-dosahujÃcÃch video výkonu jako dosahuje mga_vid na kartách Matrox. Je rovnÄž
-dobÅe pÅenositelné.
-</para>
-</formalpara>
-
-<para>
-Toto rozhranà bylo navrženo jako pokus napasovat existujÃcà video akcelerujÃcÃ
-rozhranà (známé jako mga_vid, rage128_vid, radeon_vid, pm3_vid) do pevného
-schéma. Poskytuje vysokoúrovÅové rozhranà k Äipům známým jako BES
-(BackEnd scalers) nebo OV (Video Overlays). Neposkytuje nÃzkoúrovÅové rozhranÃ
-k vÄcem známým jako grafické servery.
-(Nechci konkurovat X11 týmu v pÅepÃnánà grafických režimů). Äili hlavnÃm cÃlem
-tohoto rozhranà je maximalizace rychlosti pÅehrávánà videa.
-</para>
-
-<itemizedlist spacing="compact">
-<title>POUŽITÃ</title>
-<listitem><para>
- Můžete použÃt samostatné video rozhranÃ: <option>-vo xvidix</option>.
- Toto rozhranà bylo vytvoÅeno jako front end X11 k technologii VIDIX.
- Vyžaduje X server a může pracovat pouze pod X serverem. Poznamenejme, že
- jelikož pÅÃmo komunikuje s hardwarem a obcházà X ovladaÄ, pixmapy uložené
- v pamÄti grafické karty můžou být poÅ¡kozeny. Můžete se tomu vyhnout omezenÃm
- množstvà video pamÄti použité X pomocà volby "VideoRam" v XF86Config o 4MB.
- Pokud máte ménÄ než 8MB video ram, můžete mÃsto toho použÃt volbu
- "XaaNoPixmapCache" v sekci screen.
-</para></listitem>
-<listitem>
- <para>
- Existuje konzolové VIDIX rozhranÃ: <option>-vo cvidix</option>.
- To vyžaduje pro vÄtÅ¡inu karet funkÄnà inicializovaný framebuffer (jinak pouze
- rozhodÃte obrazovku) a dosáhnete podobného efektu jako s
- <option>-vo mga</option> nebo <option>-vo fbdev</option>. nVidia karty však
- jsou schopny zobrazit plnÄ grafické video na reálné textové konzoli. Viz
- sekci <link linkend="vidix-nvidia">nvidia_vid</link> pro vÃce informacÃ.
- Abyste se zbavili textu na okrajÃch a blikajÃcÃho kursoru, zkuste nÄco jako
- </para>
-
- <screen>setterm -cursor off > /dev/tty9</screen>
-
- <para>
- (pÅedpokládáme, že <systemitem>tty9</systemitem> nenà dosud použÃvaná) a pak
- se pÅepneme do <systemitem>tty9</systemitem>.
- Na druhou stranu volba <option>-colorkey 0</option> by mÄla poskytnout
- video bÄžÃcà na "pozadÃ", zprávná funkce vÅ¡ak závisà na funkÄnosti colorkey.
- </para>
-</listitem>
-<listitem><para>
- Můžete použÃt VIDIXové podzaÅÃzenÃ, které bylo zabudováno do nÄkolika video
- ovladaÄů, napÅÃklad: <option>-vo vesa:vidix</option>
- (<emphasis role="bold">pouze Linux</emphasis>) a
- <option>-vo fbdev:vidix</option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Nezáležà na tom, které video výstupnà rozhranà je použito s
-<emphasis role="bold">VIDIX</emphasis>.
-</para>
-
-<itemizedlist spacing="compact">
-<title>POŽADAVKY</title>
-<listitem><para>
- Video karta by mÄla být v grafickém režimu (vyjma karet nVidia s výstupnÃm
- rozhranÃm <option>-vo cvidix</option>).
-</para></listitem>
-<listitem><para>
- Výstupnà video rozhranà <application>MPlayer</application>u by mÄlo znát
- aktivnà video režim a být schopno sdÄlit VIDIXovému podzaÅÃzenà nÄkteré video
- charakteristiky serveru.
-</para></listitem>
-</itemizedlist>
-
-<formalpara><title>METODY POUŽITÃ</title>
-<para>
-Když použijete VIDIX jako <emphasis role="bold">subdevice</emphasis>
-(<option>-vo vesa:vidix</option>), pak je konfigurace video režimu je provedeno
-výstupnÃm video rozhranÃm (zkrátka <emphasis role="bold">vo_server</emphasis>em).
-Takže můžete zadat na pÅÃkazovém Åádku <application>MPlayer</application>u
-stejné volby jako pro vo_server. Návdavkem rozeznává volbu
-<option>-double</option> jako globálnà parametr. (DoporuÄuji použÃt tuto volbu
-s VIDIX aspoÅ pro ATI kartu). StejnÄ jako <option>-vo xvidix</option>, dosud
-zná následujÃcà volby: <option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-
-<para>
-RovnÄž můžete uvést VIDIXový ovladaÄ jako tÅetà podvolbu na pÅÃkazovém Åádku:
-<screen>
-mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>soubor.avi</replaceable>
-</screen>
-nebo
-<screen>
-mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>soubor.avi</replaceable>
-</screen>
-Ale je to nebezpeÄné a nemÄli byste to dÄlat. V tomto pÅÃpadÄ bude zadaný
-ovladaÄ vynucen a výsledek je nepÅedvÃdatelný (může vám
-<emphasis role="bold">zatuhnout</emphasis> poÄÃtaÄ). MÄli byste to použÃt
-POUZE pokud jste si absolutnÄ jistÃ, že to bude fungovat a
-<application>MPlayer</application> to neudÄlá automaticky. ÅeknÄte o tom prosÃm
-vývojáÅům. Správný způsob je použità VIDIX bez argumentů, aby probÄhla
-autodetekce.
-</para>
-
-<para>
-Jelikož VIDIX vyžaduje pÅÃmý pÅÃstup k hardware, můžete jej buÄ spustit jako
-root, nebo nastavit SETUID bit binárce <application>MPlayer</application>u
-(<emphasis role="bold">VarovánÃ: Toto je bezpeÄnostnà risk!</emphasis>).
-AlternativnÄ můžete použÃt speciálnà jaderný modul, napÅÃklad:
-</para>
-
-<procedure>
-<step><para>
- StáhnÄte si
- <ulink url="http://www.arava.co.il/matan/svgalib/">vývojovou verzi</ulink>
- svgalib (napÅÃklad 1.9.17), <emphasis role="bold">NEBO</emphasis> si
- stáhnÄte verzi vytvoÅenou Alexem speciálnÄ pro použità s
- <application>MPlayer</application>em (ke kompilaci nepotÅebuje zdrojový kód
- svgalib) z
- <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">odtud</ulink>.
-</para></step>
-<step><para>
- Skompilujte modul v adresáÅi
- <filename class="directory">svgalib_helper</filename>
- (naleznete ji v <filename class="directory">svgalib-1.9.17/kernel/</filename>,
- pokud jste si stáhli zdrojový kód ze serveru svgalib) a nahrajte (insmod) jej.
-</para></step>
-<step><para>
- Pro vytvoÅenà potÅebných zaÅÃzenà v adresáÅi
- <filename class="directory">/dev</filename> proveÄte jako root
- <screen>make device</screen> v adresáÅi
- <filename class="directory">svgalib_helper</filename>.
-</para></step>
-<step><para>
- PÅesuÅte adresáŠ<filename class="directory">svgalib_helper</filename> do
- podadresáÅe <filename class="directory">vidix</filename> zdrojových
- kódů <application>MPlayer</application>u.
-</para></step>
-<step><para>
- Odkomentujte Åádek CFLAGS obsahujÃcà text "svgalib_helper"
- v souboru <filename class="directory">vidix/Makefile</filename>.
-</para></step>
-<step><para>
- PÅekompilujte.
-</para></step>
-</procedure>
-
-
-<sect2 id="vidix-ati">
-<title>Karty ATI</title>
-
-<para>
-V souÄasnosti je vÄtÅ¡ina ATI karet podporována nativnÄ od Mach64 až po
-nejnovÄjšà Radeony.
-</para>
-
-<para>
-Existujà dvÄ skompilované binárky: <filename>radeon_vid</filename> pro Radeony a
-<filename>rage128_vid</filename> pro karty Rage 128. Můžete nÄkterou vynutit,
- nebo nechat VIDIX rozhranà autodetekovat vÅ¡echny dostupné ovladaÄe.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-mga">
-<title>Karty Matrox</title>
-
-<para>
-Matrox G200, G400, G450 a G550 jsou hlášeny jako funkÄnÃ.
-</para>
-
-<para>
-OvladaÄ podporuje video ekvalizéry a mÄl by být témÄÅ tak rychlý jako
-<link linkend="mga_vid">Matrox framebuffer</link>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-trident">
-<title>Karty Trident</title>
-
-<para>
-Existuje ovladaÄ pro Äipset Trident Cyberblade/i1, který lze nalézt na
-motherboardech VIA Epia.
-</para>
-
-<para>
-OvladaÄ byl napsán a je udržován
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastairem M. Robinsonem</ulink>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-3dlabs">
-<title>Karty 3DLabs</title>
-
-<para>
-AÄkoli existuje ovladaÄ pro Äipy 3DLabs GLINT R3 a Permedia3, nikdo je
-netestoval, takže hlášenà vÃtáme.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-nvidia">
-<title>Karty nVidia</title>
-<para>
-Unikátnà vlastnostà ovladaÄe nvidia_vid je jeho schopnost zobrazit video na
-<emphasis role="bold">jednoduché, Äisté, pouze textové konzoli</emphasis>
-– bez framebufferu nebo nÄjaké X magie. Pro tento úÄel budete muset
-použÃt video rozhranà <option>cvidix</option>, jak to ukazuje následujÃcÃ
-pÅÃklad:
-<screen>mplayer -vo cvidix <replaceable>pÅÃklad.avi</replaceable></screen>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-sis">
-<title>Karty SiS</title>
-
-<para>
-Toto je velmi experimentálnà kód, stejnÄ jako nvidia_vid.
-</para>
-
-<para>
-Byl testován na SiS 650/651/740 (nejobvyklejšà Äipsety použité v SiS
-verzÃch "Shuttle XPC" barebones boxes out there)
-</para>
-
-<para>
-Hlášenà oÄekávána!
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="directfb">
-<title>DirectFB</title>
-
-<blockquote><para>
-âDirectFB je grafická knihovna navržená se zÅetelem na vestavÄné systémy.
-NabÃzà maximálnÄ hardwarovÄ akcelerovaný výkon pÅi minimálnà spotÅebÄ
-zdrojů a zatÞenÃ.â – citováno z <ulink url="http://www.directfb.org"/>
-</para></blockquote>
-
-<para>Vlastnosti DirectFB v této sekci vynechám.</para>
-
-<para>
-
-AÄkoli <application>MPlayer</application> nenà podporován jako âvideo
-providerâ v DirectFB, toto video rozhranà umožnà pÅehrávánà videa pÅes
-DirectFB. Bude to samozÅejmÄ akcelerované. Na mém Matroxu G400 byla rychlost
-DirectFB stejná jako XVideo.
-</para>
-
-<para>
-Vždy se snažte použÃvat nejnovÄjšà verzi DirectFB. Můžete nastavovat volby pro
-DirectFB na pÅÃkazovém Åádku pomocà volby <option>-dfbopts</option>. Volbu
-vrstvy lze provést metodou podzaÅÃzenÃ, napÅ.: <option>-vo directfb:2</option>
-(výchozà je vrstva -1: autodetekce)
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-
-<para>
-PÅeÄtÄte si prosÃm <link linkend="directfb">hlavnà DirectFB</link> sekci pro
-obecné informace.
-</para>
-
-<para>
-Toto video výstupnà zaÅÃzenà zapne CRTC2 (na sekundárnÃm výstupu) na kartách
-Matrox G400/G450/G550, takže zobrazuje video
-<emphasis role="bold">nezávisle</emphasis> na hlavnÃm výstupu.
-</para>
-
-<para>
-Ville Syrjala's má
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
-a
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
-na své domácà stránce, kde vysvÄtluje, jak rozbÄhnout DirectFB TV výstup na
-kartách Matrox.
-</para>
-
-<note><para>
-Prvnà DirectFB verze se kterou se nám to povedlo byla
-0.9.17 (je chybová, potÅebuje <systemitem>surfacemanager</systemitem>
-patch z výše uvedeného URL). Portace CRTC2 kódu do
-<link linkend="mga_vid">mga_vid</link> bylo plánováno léta,
-<ulink url="../../tech/patches.txt">patche</ulink> vÃtáme.
-</para></note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpeg_decoders">
-<title>MPEG dekodéry</title>
-
-<sect2 id="dvb">
-<title>DVB výstup a vstup</title>
-
-<para>
-<application>MPlayer</application> podporuje karty s Äipsetem Siemens DVB od
-výrobců jako Siemens, Technotrend, Galaxis nebo Hauppauge. Poslednà DVB
-ovladaÄe jsou dostupné na
-<ulink url="http://www.linuxtv.org">Linux TV serveru</ulink>.
-Pokud chcete provádÄt softwarové transkódovánÃ, mÄli byste mÃt aspoÅ 1GHz CPU.
-</para>
-
-<para>
-Configure by mÄl detekovat vaÅ¡i DVB kartu. Pokud ne, vynuÅ¥te detekci pomocÃ
-<screen>./configure --enable-dvb</screen>
-Pokud máte ost hlaviÄky na nestandardnÃm mÃstÄ, nastavte cestu pomocÃ
-<screen>
-./configure --extra-cflags=<replaceable>zdrojový adresáŠDVB</replaceable>/ost/include
-</screen>
-Pak kompilujte a instalujte obvyklým způsobem.</para>
-
-<formalpara><title>POUŽITÃ</title>
-<para>
-Hardwarové dekódovánà proudů obsahujÃcÃch MPEGâ1/2 video a/nebo audio lze
-provést tÃmto pÅÃkazem:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>soubor.mpg|vob</replaceable>
-</screen>
-</para>
-</formalpara>
-
-<para>
-Dekódovánà jakéhokoli jiného typu video proudu vyžaduje transkódovánà MPEGâ1,
-což je pomalé a nemusà stát za to, zvlášť s pomalým poÄÃtaÄem.
-Můžete jej dosáhnout pÅÃkazem podobným tomuto:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>váš_soubor.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>váš_soubor.ext</replaceable>
-</screen></para>
-
-<para>
-Pamatujte, že DVB karty podporujà pouze výšky 288 a 576 pro PAL nebo 240 a 480
-pro NTSC. Jiné výšky <emphasis role="bold">musÃte</emphasis> pÅeÅ¡kálovat
-pÅidánÃm <option>scale=Å¡ÃÅka:výška</option> s Å¡ÃÅkou a výškou, které chcete
-do volby <option>-vf</option>. DVB karty akceptujà různé Å¡ÃÅky jako 720, 704,
-640, 512, 480, 352 atd, a provádà hardwarovÄ vodorovné Å¡kálovánÃ,
-takže ve vÄtÅ¡inÄ pÅÃpadů nemusÃte vodorovnÄ Å¡kálovat.
-Pro 512x384 (pomÄr stran 4:3) MPEGâ4 (DivX) zkuste:
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen>
-</para>
-
-<para>
-Pokud máte širokoúhlý film a nechcete jej škálovat na plnou výšku, můžete
-použÃt filtr <option>expand=Å¡:v</option> pro pÅidánà Äerných okrajů. Pro
-promÃtánà 640x384 MPEGâ4 (DivX), zkuste:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>soubor.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Pokud je váš procesor pÅÃliÅ¡ slabý pro 720x576 MPEGâ4 (DivX), zkuste podÅ¡kálovat:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>soubor.avi</replaceable>
-</screen>
-</para>
-
-<para>Pokud se rychlost nezlepÅ¡Ã, zkuste podÅ¡kálovat i výšku:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>soubor.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Pro OSD a titulky použijte OSD vlastnost expand filtru. Takže mÃsto
-<option>expand=š:v</option> nebo <option>expand=š:v:x:y</option>, použijte
-<option>expand=š:v:x:y:1</option> (pátý parametr <option>:1</option>
-na konci zapne renderovánà OSD). Možná byste mÄli trochu posunout obraz nahoru,
-abyste mÄli vÄtšà Äerný okraj pro titulky. RovnÄž byste mÄli posunout nahoru
-titulky, pokud jsou mimo TV obrazovku. Použijte volbu
-<option>-subpos <0-100></option>
-pro toto nastavenà (<option>-subpos 80</option> je dobrá volba).
-</para>
-
-<para>
-Chcete-li pÅehrávat filmy s jinou snÃmkovou rychlostà než 25 fps na PAL TV, nebo
-na pomalém CPU, pÅidejte volbu <option>-framedrop</option>.
-</para>
-
-<para>
-Chcete-li zachovat pomÄr stran MPEGâ4 (DivX) souborů a dosáhnout optimálnÃch
-Å¡kálovacÃch parametrů (hardwarové horizontálnà škálovánà a softwarové vertikálnÃ
-Å¡kálovánà zatÃmco zachováte správný pomÄr stran), použijte filtr dvbscale:
-<screen>
-pro 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-pro 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen>
-</para>
-
-<formalpara><title>Digitálnà TV (vstupnà DVB modul)</title>
-<para>Můžete použÃt svou DVB kartu pro sledovánà Digitálnà TV.</para>
-</formalpara>
-
-<para>
-MÄli byste mÃt nainstalovány programy <command>scan</command> a
-<command>szap/tzap/czap/azap</command>; vÅ¡echny jsou zaÅazeny v balÃÄku
-ovladaÄů.
-</para>
-
-<para>
-OvÄÅte si, zda vaÅ¡e ovladaÄe pracujà správnÄ s progamy jako je
-<ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
-(to je základ vstupnÃho DVB modulu).
-</para>
-
-<para>
-Nynà byste mÄli skompilovat soubor <filename>~/.mplayer/channels.conf</filename>,
-se syntaxà akceptovanou <command>szap/tzap/czap/azap</command>, nebo nechat
-<command>scan</command>, aby jej skompiloval.
-</para>
-
-<para>
-Pokud máte vÃce než jeden typ karty (NapÅ. Satellitar, Terrestrial, Cable a ATSC)
-můžete si uložit své channels soubory podle typu jako
-<filename>~/.mplayer/channels.conf.sat</filename>,
-<filename>~/.mplayer/channels.conf.ter</filename>,
-<filename>~/.mplayer/channels.conf.cbl</filename>,
-a <filename>~/.mplayer/channels.conf.atsc</filename>,
-kdy <application>MPlayer</application> použije tyto soubory spÃÅ¡e než
-<filename>~/.mplayer/channels.conf</filename>,
-a vy musÃte pouze nastavit, kterou kartu použÃt.
-</para>
-
-<para>
-UjistÄte se, že máte <emphasis>pouze</emphasis> nekódované
-kanály ve svém <filename>channels.conf</filename> souboru, jinak se
-<application>MPlayer</application> pokusà pÅeladit na nejbližšà zobrazitelný,
-ale to může trvat dlouho, pokud je zde mnoho po sobÄ jdoucÃch Å¡ifrovaných
-kanálů.
-</para>
-
-<para>
-V polÃch audio a video můžete použÃt rozÅ¡ÃÅenou syntaxi:
-<option>...:pid[+pid]:...</option> (maximálnÄ 6 pidů každé);
-v tom pÅÃpadÄ zahrne <application>MPlayer</application> do datového proudu
-všechny zadané pidy plus pid 0 (který obsahuje PAT).
-DoporuÄujeme zahrnout do každého Åádku PMT pid pro odpovÃdajÃcà kanál
-(pokud jej znáte)
-Můžete rovnÄž zadat 8192, to vybere vÅ¡echny pidy na této frekvenci
-a vy pak můžete pÅepÃnat programy pomocà TAB.
-To může vyžadovat vÄtšà šÃÅku pásma, ale laciné karty vždy pÅenášejà vÅ¡echny
-kanály minimálnÄ do jádra, takže u nich v tom nebude velký rozdÃl.
-Dalšà možná použità jsou: televideo pid, druhá audio stopa, atd.
-</para>
-
-<para>
-Pokud <application>MPlayer</application> Äasto protestuje o
-<screen>PÅÃliÅ¡ mnoha video/audio paketech ve vyrovnávacà pamÄti</screen> nebo
-pokud si povšimnete rostoucà desynchronizace mezi zvukem a
-videem, zkuste použÃt MPEGâTS demuxer z libavformat pÅidánÃm
-<option>-demuxer lavf -lavfdopts probesize=128</option>
-na pÅÃkazovém Åádku.
-</para>
-
-<para>
-Pro zobrazenà prvnÃho z kanálů uvedeného v seznamu, spusÅ¥te
-<screen>mplayer dvb://</screen>
-</para>
-
-<para>
-Pokud chcete sledovat urÄitý kanál, napÅÃklad R1, spusÅ¥te
-<screen>mplayer dvb://<replaceable>R1</replaceable></screen>
-</para>
-
-<para>
-Pokud máte vÃce než jednu kartu, musÃte rovnÄž uvést ÄÃslo karty, na které lze
-kanál sledovat (napÅ. 2). Syntyxe je:
-<screen>mplayer dvb://<replaceable>2 at R1</replaceable></screen>
-</para>
-
-<para>
-Pro zmÄnu kanálu stisknÄte klávesu <keycap>h</keycap> (dalÅ¡Ã) nebo
-<keycap>k</keycap> (pÅedchozÃ), nebo použijte
-<link linkend="osdmenu">OSD menu</link>.
-</para>
-
-<para>
-Pokud váš <filename>~/.mplayer/menu.conf</filename> obsahuje Åádek
-<literal><dvbsel></literal> podobný tomu v ukázkovém souboru
-<filename>etc/dvb-menu.conf</filename> (který můžete použÃt k pÅepsánÃ
-<filename>~/.mplayer/menu.conf</filename>), bude v hlavnÃm menu podseznam,
-kde si budete moci zvolit kanál ze svého <filename>channels.conf</filename>.
-Může mu pÅÃpadnÄ pÅedcházet menu se seznamem dostupných karet, pokud máte
-vÃce než jednu použitelnou <application>MPlayer</application>em.
-</para>
-
-<para>
-Pokud si chcete uložit program na disk, můžete použÃt
-<screen>
-mplayer -dumpfile <replaceable>r1.ts</replaceable> -dumpstream dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-Pokud jej chcete zaznamenat v odlišném formátu (reenkódovat jej), spusťte
-mÃsto toho pÅÃkaz podobný následujÃcÃmu:
-<screen>
-mencoder -o <replaceable>r1.avi</replaceable> -ovc xvid -xvidencopts bitrate=800\
- -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-PÅeÄtÄte si man stránku pro seznam voleb, které můžete pÅedat vstupnÃmu
-DVB modulu.
-</para>
-
-<formalpara><title>BUDOUCNOST</title>
-<para>
-Máte-li otázky, nebo chcete dostávat oznámenà o nových vlastnostech a zapojit
-se do diskuse o tÄchto vÄcech, pÅipojte se k naÅ¡Ã
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>
-e-mailové konferenci. Pamatujte prosÃm, že jazykem konference je angliÄtina.
-</para>
-</formalpara>
-
-<para>
-V budoucnu můžete oÄekávat schopnost zobrazovat OSD a titulky pomocà nativnÃ
-podpory OSD v DVB kartách, stejnÄ jako plynulejšà pÅehrávánà filmů s jinou
-snÃmkovou rychlostÃ, než 25 fps a transkódovánà MPEGâ2 na MPEGâ4 v reálném Äase
-(ÄásteÄná dekomprese).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-
-<para>
-<application>MPlayer</application> podporuje hardwarovÄ akcelerované
-pÅehrávánà pomocà karty Creative DXR2.
-</para>
-
-<para>
-NejdÅÃve musÃte mÃt správnÄ nainstalované DXR2 ovladaÄe. OvladaÄe a návod
-k jejich instalaci naleznete na stránkách
-<ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink>.
-</para>
-
-<variablelist><title>POUŽITÃ</title>
-<varlistentry>
- <term><option>-vo dxr2</option></term>
- <listitem><para>ZapÃná TV výstup.</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vo dxr2:x11</option> nebo <option>-vo dxr2:xv</option></term>
- <listitem><para>ZapÃná Overlay výstup v X11.</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-dxr2 <volba1:volba2:...></option></term>
- <listitem><para>
- Tato volba je použita k ovládánà DXR2 ovladaÄe.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Overlay Äipset použitý v DXR2 má mizernou kvalitu, ale výchozà nastavenà pracuje
-vždy. OSD lze použÃt spolu s overlay (ne na TV) pÅi jeho vykreslenà v klÃÄovacÃ
-barvÄ. S výchozÃm nastavenÃm klÃÄovacà barvy můžete dosáhnout různých výsledků,
-obvykle uvidÃte klÃÄovacà barvu kolem znaků nebo jiné srandovnà vÄci. Pokud ale
-vhodnÄ upravÃte klÃÄovánÃ, můžete dosáhnout použitelných výsledků.
-</para>
-
-<para>Prostudujte si prosÃm man stránku pro dostupné volby.</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-
-<para>
-<application>MPlayer</application> podporuje hardwarovÄ akcelerované
-pÅehrávánà videa pomocà karet Creative DXR3 a Sigma Designs Hollywood Plus.
-ObÄ tyto karty použÃvajà MPEG dekodér em8300 od Sigma Designs.
-</para>
-
-<para>
-Nejprve budete potÅebovat správnÄ nainstalované DXR3/H+ ovladaÄe verze 0.12.0
-nebo pozdÄjÅ¡Ã. OvladaÄe a návod na jejich instalaci naleznete na stránkách
-<ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus for Linux</ulink>.
-<filename>configure</filename> by mÄlo automaticky detekovat vaÅ¡i kartu a
-kompilace by se mÄla obejÃt bez potÞÃ.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>POUŽITÃ</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>zaÅÃzenÃ</replaceable></option></term>
-<listitem><para>
-<option>overlay</option> aktivuje overlay mÃsto TVOut. Pro správnou funkci
-vyžaduje, abyste mÄli správnÄ nakonfigurované nastavenà overlay. NejjednodužšÃ
-způsob nastavenà overlay, je spuÅ¡tÄnà autocal. Pak spusÅ¥te MPlayer s video
-výstupem nastaveným na dxr3 s vypnutým overlay, spusťte dxr3view. V dxr3view
-si můžete hrát s nastavenÃm overlay a pozorovat zmÄny v reálném Äase. Snad bude
-tato funkce Äasem dostupná z GUI <application>MPlayer</application>u. Jakmile
-máte správnÄ nastaveno overlay, nenà již nutné použÃvat dxr3view.
-<option>prebuf</option> zapÃná prebuffering. Prebuffering je vlastnost Äipu
-em8300, která mu umožÅuje podržet si vÃce než jeden videosnÃmek souÄasnÄ.
-To znamená, že pokud jej máte zapnutý, snažà se
-<application>MPlayer</application> udržet vyrovnávacà pamÄÅ¥ videa (buffer)
-naplnÄný daty.
-Pokud jej provozujete na pomalém stroji, použije
-<application>MPlayer</application> témÄÅ nebo pÅesnÄ 100% výkonu CPU.
-To je zvlášť Äasté, pokud pÅehráváte Äisté MPEG datové proudy
-(jako DVD, SVCD atp.) jelikož je <application>MPlayer</application> nemusÃ
-pÅevádÄt do MPEG, naplnà buffer velmi rychle.
-S prebufferingem je pÅehrávánà videa <emphasis role="bold">mnohem</emphasis>
-ménÄ citlivé na zamÄstnávánà CPU jinými programy. Nebudou zahozeny snÃmky, pokud
-si aplikace neuzme CPU na dlouhou dobu.
-Pokud pÅehráváte bez prebufferingu, je em8300 mnohem citlivÄjšà na vytÞenà CPU,
-takže doporuÄujeme zapnout <application>MPlayer</application>ovu volbu
-<option>-framedrop</option> pro zachovánà synchronizace.
-<option>sync</option> zapÃná nový syncâengine. To je zatÃm experimentálnÃ
-vlastnost. Se zapnutým sync budou vnitÅnà hodiny em8300 neustále sledovány a
-pokud se zaÄnou rozcházet s ÄasovaÄem <application>MPlayer</application>u,
-budou resetovány, což způsobÃ, že em8300 zahodà veÅ¡keré snÃmky, které Äekajà ve
-frontÄ.
-<option>norm=x</option> nastavà TV normu DXR3 karty bez nutnosti externÃho
-nástroje jako em8300setup. Platné normy jsou 5 = NTSC, 4 = PAL-60,
-3 = PAL. Zvláštnà normy jsou 2 (automaticné nastavenà s použitÃm PAL/PAL-60) a
-1 (automatické nastavenà s použitÃm PAL/NTSC), jelikož ty urÄà použitou normu
-podle snÃmkové rychlosti filmu. norm = 0 (výchozÃ) nezmÄnà aktuálnà normu.
-<option><replaceable>device</replaceable></option> = ÄÃslo zaÅÃzenÃ, které se
-má použÃt, pokud máte vÃce než jednu em8300 kartu.
-Jakoukoli z tÄchto voleb můžete vynechat.
-Volba <option>:prebuf:sync</option>, zdá se, pracuje skvÄle pÅi pÅehrávánà filmů
-v MPEGâ4 (DivX). Lidé vÅ¡ak hlásili potÞe s volbou prebuf pÅi pÅehrávánà souborů
-v MPEGâ1/2.
-MÄli byste je nejprve zkusit pÅehrát bez dodateÄných voleb a pokud
-narazÃte na potÞe se synchronizacà nebo DVD titulky, zkuste to s volbou
-<option>:sync</option>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
- <listitem><para>
- Pro zvukový výstup, kde <replaceable>X</replaceable> je ÄÃslo zaÅÃzenÃ
- (0 máte-li jen jednu kartu).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
- <listitem><para>
- Äip em8300 neumà pÅehrávat signál vzorkovaný ménÄ než 44100Hz. Pokud je
- vzorkovacà kmitoÄet pod 44100Hz, zvolte buÄ 44100Hz nebo 48000Hz podle toho,
- násobek kterého je blÞ. Äili pokud má film zvuk 22050Hz použijte 44100Hz,
- jelikož 44100 / 2 = 22050, pokud jej má 24000Hz použijte 48000Hz jelikož
- 48000 / 2 = 24000 a tak dále.
- S výstupem digitálnÃho audia to nefunguje (<option>-ac hwac3</option>).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf lavc/fame</option></term>
- <listitem><para>
- Pro pÅehrávánà neâMPEG obsahu na em8300 (napÅ. MPEGâ4 (DivX) nebo RealVideo)
- musÃte nastavit MPEGâ1 video filtr jako
- <systemitem class="library">libavcodec</systemitem> (lavc).
- Viz manuál pro dalšà informace o <option>-vf lavc</option>.
- V tuto chvÃli nenà možné nastavit snÃmkovou rychlost em8300, což znamená,
- že je pevnÄ nastavena na 30000/1001 snÃmků/s (fps).
- Z toho důvodu doporuÄujeme,
- abyste použili <option>-vf lavc=<replaceable>quality</replaceable>:25</option>
- zvlášť pokud použÃváte prebuffering. ProÄ tedy 25 a ne 30000/1001? Nu, důvodem
- je, že pokud zadáte 30000/1001, zaÄne obraz trochu poskakovat.
- Důvod tohoto jevu nám nenà znám.
- Pokud to nastavÃte nÄkde mezi 25 a 27, obraz se ustálÃ.
- Pro tuto chvÃli se to dá pouze uznat jako fakt.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf expand=-1:-1:-1:-1:1</option></term>
- <listitem><para>
- AÄkoli DXR3 ovladaÄ umà dodat OSD do MPEGâ1/2/4 videa, má to mnohem nižšÃ
- kvalitu než tradiÄnà OSD <application>MPlayer</application>u a má i různé
- problémy s obnovovánÃm. Výše uvedený pÅÃkazový Åádek nejprve pÅevede vstupnÃ
- video do MPEGâ4 (je to nutné, sorry), pak aplikuje filtr expand, který vÅ¡ak
- nic neexpanduje (-1: výchozÃ), ale doplnà normálnà OSD do obrazu
- (na to je ta â1â na konci).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ac hwac3</option></term>
- <listitem><para>
- Äip em8300 podporuje pÅehrávánà zvuku v ACâ3 (prostorový zvuk) pÅes digitálnÃ
- audio výstup na kartÄ. Viz výš volbu <option>-ao oss</option>. Ta musà být
- použita pro nastavenà výstupu do DXR3 mÃsto zvukové karty.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="other">
-<title>Ostatnà vizualizaÄnà hardware</title>
-
-<sect2 id="zr">
-<title>Zr</title>
-
-<para>
-Toto je zobrazovacà rozhranà (<option>-vo zr</option>) pro mnoho MJPEG
-zachytávacÃch/pÅehrávacÃch karet (testováno na DC10+ a Buz a mÄlo by pracovat
-i s LML33, tedy DC10). Rozhranà pracuje tak, že snÃmek zakóduje do JPEG a pak
-jej poÅ¡le do karty. Pro enkódovánà do JPEG se použÃvá
-<systemitem class="library">libavcodec</systemitem> a je pro nÄ nezbytný.
-Ve speciálnÃm <emphasis>cinerama</emphasis> režimu můžete sledovat filmy
-v pravém Å¡irokoúhlém formátu, kterého je dosaženo tak, že máte dvÄ promÃtaÄky
-a dvÄ MJPEG karty. V závislosti na rozliÅ¡enà a nastavenà kvality může toto
-rozhranà vyžadovat spoustu výkonu CPU. NezapomeÅte zadat
-<option>-framedrop</option>, pokud je váš poÄÃtaÄ pÅÃliÅ¡ pomalý.
-Poznámka: Můj AMD K6-2 350MHz je (s <option>-framedrop</option>) vcelku
-adekvátnà pro sledovánà materiálu o rozmÄru VCD a podÅ¡kálovaných filmů.
-</para>
-
-<para>
-Toto rozhranà komunikuje s jaderným modulem dostupným na
-<ulink url="http://mjpeg.sf.net"/>, takže jej nejdÅÃve musÃte zprovoznit.
-PÅÃtomnost MJPEG karty je autodetekována skriptem
-<filename>configure</filename>. Pokud detekce selže, vynuÅ¥te ji pomocÃ
-<screen>./configure --enable-zr</screen>
-</para>
-
-<para>
-Výstup může být ovlivÅován nÄkolika volbami. ObÅ¡Ãrný výklad tÄchto voleb
-naleznete v man stránce, krátký pÅehled obržÃte spuÅ¡tÄnÃm
-<screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
-VÄci jako Å¡kálovánà a OSD (display na obrazovce) nejsou tÃmto rozhranÃm pokryty,
-ale lze jich dosáhnout pomocà video filtrů. NapÅÃklad mÄjte video o rozliÅ¡enÃ
-512x272 a chcete jej pÅehrávat na celé obrazovce pÅes DC10+, pak máte tÅi
-základnà možnosti, jak to udÄlat. Můžete Å¡kálovat video na Å¡ÃÅku 768, 384 nebo
-192. Z důvodu výkonu a kvality si zvolÃte Å¡kálovánà filmu na 384x204 pomocÃ
-bilineárnÃho softwarového Å¡kálovaÄe. PÅÃkazový Åádek je pak
-<screen>
-mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>film.avi</replaceable>
-</screen>
-</para>
-
-<para>
-OÅezánà lze provést <option>crop</option> filtrem a samotným rozhranÃm.
-ÅeknÄme, že film je pÅÃliÅ¡ Å¡iroký pro promÃtánà na vašà Buz a proto chcete
-použÃt <option>-zrcrop</option> pro zůženà filmu, pak byste mÄli použÃt
-následujÃcà pÅÃkaz
-<screen>
-mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-chcete-li použÃt filtr <option>crop</option>, proveÄte
-<screen>
-mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Zvláštnà pÅÃpady <option>-zrcrop</option> vyvolá režim
-<emphasis>cinerama</emphasis>, takže rozprostÅete film na nÄkolik televizà nebo
-promÃtaÄek, ÄÃmž se vytvoÅà vÄtšà obraz. PÅedpokládejme, že máte dvÄ promÃtaÄky.
-Levá je pÅipojena k vašà Buz na <filename>/dev/video1</filename> a
-pravý je pÅipojen do vašà DC10+ na <filename>/dev/video0</filename>.
-Film má rozliÅ¡enà 704x288. PÅedpokládejme rovnÄž, že pravá promÃtaÄka je
-ÄernobÃlá a levá umà JPEG snÃmky s kvalitou 10, pak byste mÄli použÃt
-následujÃcà pÅÃkaz
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Jak vidÃte, volby uvedené pÅed druhým <option>-zrcrop</option> jsou pÅedány
-pouze do DC10+ a volby za druhým <option>-zrcrop</option> do Buz.
-Maximálnà poÄet MJPEG karet zahrnutých do <emphasis>cinerama</emphasis>
-režimu jsou ÄtyÅi, takže můžete sestavit zobrazovacà stÄnu 2x2.
-</para>
-
-<para>
-Nakonec důležité upozornÄnÃ: NespouÅ¡tÄjte ani nezastavujte XawTV na pÅehrávacÃm
-zaÅÃzenà bÄhem pÅehrávánÃ, zhavaru je vám poÄÃtaÄ. Můžete vÅ¡ak
-<emphasis role="bold">NEJDÅÃV</emphasis> spustit XawTV a
-<emphasis role="bold">PAK</emphasis> spustit <application>MPlayer</application>,
-poÄkat až <application>MPlayer</application> skonÄà a
-<emphasis role="bold">PAK</emphasis> zastavit XawTV.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="blinkenlights">
-<title>Blinkenlights</title>
-
-<para>
-Toto rozhranà je schopno pÅehrávánà pomocà Blinkenlights UDP protokolu. Pokud
-nevÃte co je <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>
-nebo jeho nástupce
-<ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>,
-zjistÄte si to. AÄkoli je to dost možná nejménÄ použÃvané video výstupnÃ
-rozhranÃ, bezpochyby je tÃm nejlepÅ¡Ãm, co může <application>MPlayer</application>
-nabÃdnout. StaÄà shlédnout nÄkterá z
-<ulink url="http://www.blinkenlights.de/video.en.html">Blinkenlights dokumentaÄnÃch videÃ</ulink>.
-Na Arcade video můžete vidÄt výstupnà rozhranà Blinkenlights v akci v 00:07:50.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tvout">
-<title>Podpora TV výstupu</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Karty Matrox G400</title>
-
-<para>
-Pod Linuxem máte dva způsoby jak zprovoznit TV výstup na G400:
-</para>
-
-<important>
-<para>
-pro instrukce k TV výstupu na Matrox G450/G550 si prostudujte textovou Äást!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem>
- <para>
- Pomocà ovladaÄe a HAL modulu dostupného na stránkách <ulink
- url="http://www.matrox.com">Matrox</ulink>. Takto dostanete X na TV.
- </para>
- <para>
- <emphasis role="bold">Tato metoda vám neposkytne akcelerované pÅehrávánÃ</emphasis>
- jako pod Windows! Sekundárnà jednotka má pouze YUV framebuffer, <emphasis>BES</emphasis>
- (Back End Scaler, YUV Å¡kálovaÄ na kartách G200/G400/G450/G550) na nÄm
- nepracuje! OvladaÄ pro Windows to nÄjak obcházÃ, pravdÄpodobnÄ použitÃm
- 3D jednotky pro zoom a YUV framebufferu pro zobrazenà zoomovaného
- obrazu. Pokud opravdu chcete použÃt X, použijte volby <option>-vo x11 -fs
- -zoom</option>, ale bude to <emphasis role="bold">POMALÃ</emphasis> a
- bude zapnuta ochrana proti kopÃrovánÃ
- <emphasis role="bold">Macrovision</emphasis>
- (Macrovision můžete obejÃt pomocà tohoto
- <ulink url="http://avifile.sf.net/mgamacro.pl">perlového skriptu</ulink>).
- </para>
- </listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem>
- <para>
- Pomocà <emphasis role="bold">matroxfb modulů</emphasis> v jádrech Åady 2.4.
- Jádra 2.2 v nich neobsahujà podporu pro TV, takže jsou pro tento úÄel
- nepoužitelná. MÄli byste povolit VÅ ECHNY matroxfb-specifické vlastnosti
- bÄhem kompilace (vyjma MultiHead) a zakompilovat je do
- <emphasis role="bold">modulů</emphasis>!
- RovnÄž potÅebujete zapnuté I2C.
- </para>
-
- <procedure>
- <step><para>
- Vstupte do <filename class="directory">TVout</filename> a zadejte
- <command>./compile.sh</command>. Nainstalujte
- <filename>TVout/matroxset/matroxset</filename>
- nÄkde do cesty <envar>PATH</envar>.
- </para></step>
- <step><para>
- Nemáte-li nainstalován <command>fbset</command>, vložte
- <filename>TVout/fbset/fbset</filename>
- nÄkde do cesty <envar>PATH</envar>.
- </para></step>
- <step><para>
- Nemáte-li nainstalován <command>con2fb</command>, vložte
- <filename>TVout/con2fb/con2fb</filename>
- nÄkde do cesty <envar>PATH</envar>.
- </para></step>
- <step><para>
- Pak vstupte do adresáÅe <filename class="directory">TVout/</filename>
- ve zdrojovém adresáÅi <application>MPlayer</application>u a spusÅ¥te
- <filename>./modules</filename> jako root. VaÅ¡e textová konzole pÅejde
- do režimu framebuffer (nenà cesta zpÄt!).
- </para></step>
- <step><para>
- Dále EDITUJTE a spusťte skript <filename>./matroxtv</filename>. Objevà se
- vám velmi jednoduché menu. StisknÄte <keycap>2</keycap> a
- <keycap>Enter</keycap>. Nynà byste mÄli mÃt stejný obraz na svém monitoru
- i TV. Pokud má obraz na TV (výchozà je PAL) nÄjaké podivné Å¡rámy, nebyl
- skript schopen nastavit správnÄ rozliÅ¡enà (na výchozÃch 640x512).
- Zkuste jiná rozlišenà z menu a/nebo experimentujte s fbset.
- </para></step>
- <step><para>
- Jo. DalÅ¡Ãm úkolem je nechat zmizet kurzor z tty1 (nebo odjinud) a
- vypnout mazánà obrazovky. SpusÅ¥e následujÃcà pÅÃkazy:
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- nebo
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- PÅedchozà nejspÃÅ¡ bude lepšà umÃstit do skriptu a také vyÄistit obrazovku.
- Pro zpÄtné zapnutà kurzoru:
- <screen>echo -e '\033[?25h'</screen> nebo
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- A jasnÄ. SpusÅ¥te pÅehrávánà filmu:
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>soubor</replaceable><!--
- --></screen>
-
- (Pokud použÃváte X, pÅepnÄte se nynà do matroxfb pomocà napÅÃklad
-
-<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.)
- ZmÄÅte <literal>640</literal> a <literal>512</literal> pokud máte
- nastaveno jiné rozliÅ¡enÃ...
- </para></step>
- <step><para>
- <emphasis role="bold">Užijte si ultra-rychlý ultra-vybavený Matrox TV
- výstup (lepšà než Xv)!</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-
-<formalpara><title>Výroba kabelu pro Matrox TVâout</title>
-<para>
-ZÅÃkáme se jakékoli odpovÄdnosti nebo záruky za jakékoli poÅ¡kozenà způsobené
-touto dokumentacÃ.
-</para>
-</formalpara>
-
-<formalpara><title>Kabel pro G400</title>
-<para>
-Na Ätvrtém pinu CRTC2 konektoru je kompozitnà video signál. Zem je
-na šestém, sedmém a osmém pinu. (informaci poskytl
-Balázs Rácz)
-</para>
-</formalpara>
-
-<formalpara><title>Kabel pro G450</title>
-<para>
-Kompozitnà video signál je na pinu jedna. Zem je na pátém,
-šestém, sedmém a patnáctém (5, 6, 7, 15) pinu.
-(informaci poskytl Balázs Kerekes)
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_g450">
-<title>Karty Matrox G450/G550</title>
-
-<para>
-Podpora TV výstupu pro tyto karty byla pÅidána teprve nedávno a dosud nenÃ
-v ostré verzi jádra.
-V souÄasnosti nelze (aspoÅ pokud vÃm) použÃt modul
-<emphasis role="bold">mga_vid</emphasis>, protože ovladaÄ G450/G550 pracuje
-pouze v jedné konfiguraci: prvnà CRTC Äip (s mnohem vÃce schopnostmi) na prvnÃ
-displej a druhá CRTC (žádné <emphasis role="bold">BES</emphasis> – pro
-popis BES viz sekci G400 výše) na TV. Takže v souÄasnosti můžete použÃt pouze
-<application>MPlayer</application>ovo <emphasis>fbdev</emphasis> výstupnÃ
-rozhranÃ.
-</para>
-
-<para>
-Prvnà CRTC nemůže být v souÄasnosti pÅesmÄrována na sekundárnà výstup. Autor
-jaderného ovladaÄe matroxfb – Petr Vandrovec – pro to snad
-vyrobà podporu pomocà zobrazenà výstupu prvnÃho CRTC na oba výstupy najednou,
-což se pro tuto chvÃli doporuÄuje pro G400, viz pÅedchozà sekce.
-</para>
-
-<para>
-PotÅebnou záplatu jádra a podrobné HOWTO lze stáhnout z
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-ati">
-<title>Karty ATI</title>
-
-<formalpara><title>ÃVOD</title>
-<para>
-V souÄasnosti nechce ATI podporovat žádný ze svých TV-out Äipů pod Linuxem
-z důvodu jejich licencované technologii Macrovision.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>STATUS TV VÃSTUPU NA KARTÃCH ATI POD LINUXEM</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- podporovaný <ulink url="http://gatos.sf.net">GATOS</ulink>em.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- podporovaný <ulink url="http://gatos.sf.net">GATOS</ulink>em.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> a <emphasis role="bold">Rage128</emphasis>:
- podporovaný <application>MPlayer</application>em!
- PodÃvejte se na sekce <link linkend="vesa">VESA</link> a
- <link linkend="vidix">VIDIX</link>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- podporovaný <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>em.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Ne ostatnÃch kartách prostÄ použijte rozhranà <link linkend="vesa">VESA</link>
-bez VIDIX. Vyžaduje to výkoný CPU.
-</para>
-
-<para>
-Jediné co musÃte, je <emphasis role="bold">mÃt TV konektor zapojený
-pÅed zapnutÃm PC</emphasis> jelikož video BIOS se inicializuje pouze
-jednou bÄhem POST procedury.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-
-<para>
-Nejprve si MUSÃTE stáhnout closedâsource ovladaÄe z
-<ulink url="http://nvidia.com"/>.
-Nebudu zde popisovat instalaci a konfiguraci, jelikož je to mimo rámec této
-dokumentace.
-</para>
-
-<para>
-Jakmile je funkÄnà XFree86, XVideo a 3D akcelerace, editujte sekci
-Device v souboru <filename>XF86Config</filename>, podle
-následujÃcÃho pÅÃkladu (upravte si to pro svou kartu/TV):
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-EndSection
-</programlisting>
-</para>
-
-<para>
-SamozÅejmÄ je nejdůležitÄjšà Äást TwinView.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-neomagic">
-<title>NeoMagic</title>
-
-<para>
-Äip NeoMagic lze nalézt v různých laptopech. NÄkteré z nich jsou vybaveny
-jednoduchým analogovým TV enkodérem, nÄkteré jej majà mnohem pokroÄilejÅ¡Ã.
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Analogový enkodér</emphasis>:
- Bylo nám hlášeno, že použitelný TV lze dosáhnout použitÃm
- <option>-vo fbdev</option> nebo <option>-vo fbdev2</option>.
- MusÃte mÃt v jádÅe podporu vesafb a dopsat do pÅÃkazového Åádku jádra
- následujÃcà parametry:
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- MÄli byste nastartovat <application>X</application>, pak se pÅepnout do
- terminálového režimu napÅ. pomocÃ
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.
- Pokud se vám nepodaÅà nastartovat <application>X</application> pÅed spuÅ¡tÄnÃm
- <application>MPlayer</application>u z konzole, bude video pomalé a trhané
- (vysvÄtlenà uvÃtáme).
- Nalogujte se do konzole a zadejte následujÃcà pÅÃkaz:
-
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
-
- Video by nynà mÄlo bÄžet v konzoli a vyplÅovat asi polovinu LCD obrazovky
- laptopu. Pro pÅepnutà na TV stisknÄte
- <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo> tÅikrát.
- Testováno na Tecra 8000, 2.6.15 jádro s vesafb, ALSA v1.0.10.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">Chrontel 70xx enkodér</emphasis>:
- Nalezen v IBM Thinkpad 390E a bude pravdÄpodobnÄ i ostatnÃch Thinkpadech nebo
- noteboocÃch.
- </para><para>
- MusÃte použÃt <option>-vo vesa:neotv_pal</option> pro PAL nebo
- <option>-vo vesa:neotv_ntsc</option> pro NTSC.
- To vám zpÅÃstupnà funkci TV výstupu v následujÃcÃch 16 bpp a 8 bpp režimech:
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480 a možná také 800x600.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
- </itemizedlist>
- <para>Režim 512x384 nenà podporován BIOSem. MusÃte obraz Å¡kálovat do
- jiného rozliÅ¡enà pro aktivaci TV výstupu. Pokud vidÃte obraz na obrazovce
- v 640x480 nebo v 800x600, ale ne v 320x240 nebo jiném menÅ¡Ãm rozliÅ¡enÃ,
- musÃte nahradit dvÄ tabulky ve <filename>vbelib.c</filename>.
- Viz funkci vbeSetTV pro vÃce informacÃ. V tomto pÅÃpadÄ prosÃm kontaktujte
- autora.
- </para>
- <para>
- Známá omezenÃ: pouze VESA, žádné dalšà ovládacà prvky jako jas, kontrast,
- úroveÅ Äerné, filtrace blikánà nejsou implementovány.
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/de/bugreports.xml b/DOCS/xml/de/bugreports.xml
deleted file mode 100644
index a554f41..0000000
--- a/DOCS/xml/de/bugreports.xml
+++ /dev/null
@@ -1,449 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r23225 -->
-<!-- missing cosmetic commit 21537 -->
-
-<appendix id="bugreports">
- <title>Wie Fehler (Bugs) berichtet werden</title>
- <para>
- Gute Fehlerberichte sind ein sehr wertvoller Beitrag zur Entwicklung jedes
- Softwareprojekts. Aber genau wie das Schreiben guter Software erfordert das
- Anfertigen von Problemberichten etwas Arbeit. Bitte sei dir darüber im
- klaren, dass die meisten Entwickler sehr beschäftigt sind und eine unverschämt
- hohe Anzahl Mails bekommen. Verstehe daher, dass wir dir, obwohl dein Feedback für die
- Verbesserung von <application>MPlayer</application> sehr wichtig ist und geschätzt
- wird, <emphasis role="bold">alle</emphasis> Informationen, die wir fordern, zur
- Verfügung stellen und dass du die Anweisungen dieses Dokuments strikt befolgen musst.
- </para>
-
- <sect1 id="bugreports_security">
- <title>Berichte sicherheitsrelevante Fehler</title>
- <para>
- Falls du einen Exploit-fähigen Fehler gefunden hast und gern das richtige tun
- möchtest und uns diesen beseitigen lässt, bevor du ihn veröffentlichst, würden wir uns
- freuen, deinen Rat zur Sicherheit unter
- <ulink url="mailto:security@mplayerhq.hu">security@mplayerhq.hu</ulink>
- zu erhalten.
- Füge dem Betreff bitte [SECURITY] oder [ADVISORY] hinzu.
- Stelle bitte sicher, dass dein Bericht eine vollständige und detaillierte Analyse des Fehlers enthält.
- Die Einsendung einer Lösung nehmen wir sehr gerne dankend an.
- Bitte zögere deinen Bericht nicht hinaus, um einen Proof-of-concept-Exploit zu schreiben, den
- kannst du in einer weiteren Mail schicken.
- </para>
- </sect1>
-
- <sect1 id="bugreports_fix">
- <title>Wie Fehler beseitigt werden</title>
- <para>
- Wenn du das Gefühl hast, dass du die nötigen Kenntnisse hast, bist du dazu eingeladen,
- dich selbst an der Lösung des Fehlers zu versuchen. Vielleicht hast du das schon?
- Bitte lies
- <ulink url="../../tech/patches.txt">dieses kurze Dokument</ulink>, um herauszufinden,
- wie dein Code Teil von <application>MPlayer</application> werden kann. Die Leute der
- Mailing-Liste
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
- werden dir zur Seite stehen, wenn du Fragen hast.
- </para>
- </sect1>
-
- <sect1 id="bugreports_regression_test">
- <title>Wie Regressionstests mit Subversion durchgeführt werden</title>
- <para>
- Ein Problem, das manchmal auftreten kann ist "es hat vorher funktioniert, jetzt
- tut es das nicht mehr...".
- Hier eine Schritt-für-Schritt-Verfahren, um herauszufinden, wann das Problem
- aufgetreten ist. Dies ist <emphasis role="bold">nichts</emphasis> für Gelegenheitsanwender.
- </para>
- <para>
- Zuerst musst du dir MPlayers Sourcenverzeichnis aus dem Subversion-Repository besorgen.
- Eine Anleitung hierzu findest du im
- <ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">Subversion-Abschnitt der Downloadseite</ulink>.
- </para>
- <para>
- Du wirst dann im mplayer/-Verzeichnis ein Abbild des Subversion-Baums auf der Client-Seite
- haben.
- Führe jetzt ein Update für dieses Abbild auf das von dir gewünschte Datum durch:
-<screen>cd mplayer/
-svn update -r {"2004-08-23"}</screen>
- Das Datumsformat ist YYYY-MM-DD HH:MM:SS.
- Die Benutzung des Datumsformats stellt sicher, dass du in der Lage sein wirst,
- Patches anhand des Datums, an dem sie eingespielt wurden, extrahieren kannst, wie im
- <ulink url="http://mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog-Archiv</ulink>.
- </para>
- <para>
- Gehe nun wie bei einem normalen Update vor:
-<screen>./configure
-make</screen>
- </para>
- <para>
- Falls ein Nicht-Programmierer dies liest: Der schnellste Weg, zu dem Punkt zu
- gelangen, bei dem das Problem auftrat ist eine Binärsuche - das bedeutet:
- Suche das Datum der Bruchstelle, indem du das Suchintervall wiederholt halbierst.
- Zum Beispiel, wenn das Problem 2003 auftrat, starte in der Mitte des Jahres und
- frage "Ist das Problem schon da?".
- Wenn ja, gehe zurück zum 1. April; wenn nicht, gehe zum 1. Oktober und so weiter.
- </para>
- <para>
- Wenn du viel Festplattenspeicher frei hast (eine vollständige Compilierung
- benötigt momentan 100 MB, und ungefähr 300-350 MB, wenn Debugging-Symbole mit
- dabei sind), kopiere vor einem Update die älteste Version, von der bekannt ist,
- dass sie funktioniert; das spart Zeit, wenn du zurückgehen musst.
- (Es ist normalerweise nicht nötig, 'make distclean' vor einer erneuten Compilierung
- einer früheren Version auszuführen. Wenn du also keine Backup-Kopie deines
- Original-Sourcebaums machst, wirst du alles neu compilieren müssen, wenn du beim
- gegenwärtigen wieder angekommen bist.)
- </para>
- <para>
- Wenn du den Tag gefunden hast, an dem das Problem auftrat, fahre mit der Suche mit
- dem mplayer-cvslog-Archiv (sortiert nach Datum) und einem genaueren svn update,
- welches Stunde, Minute und Sekunde beinhaltet, fort:
- <screen>svn update -r {"2004-08-23 15:17:25"}</screen>
- Dies wird es dir leicht machen, exakt den verursachenden Patch zu finden.
- </para>
- <para>
- Hast du den Patch gefunden, der Ursache des Problems ist, hast du fast gewonnen;
- Berichte darüber im
- <ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink>-System oder melde
- dich bei
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-Users</ulink>
- an und mach es dort bekannt.
- Es besteht die Chance, dass der Autor einspringt und eine Lösung vorschlägt.
- Du kannst auch solange einen genauen Blick auf den Patch werfen, bis er genötigt ist,
- zu offenbaren, wo der Fehler steckt :-).
- </para>
- </sect1>
-
- <sect1 id="bugreports_report">
- <title>Wie Fehler berichtet werden</title>
- <para>
- Probiere vor allem zu allererst die letzte Subversion-Version von <application>MPlayer</application>,
- da dein Problem dort möglicherweise schon behoben ist. Die Entwicklung geht extrem schnell
- voran, die meisten Probleme in offiziellen Versionen werden innerhalb von Tagen oder sogar
- Stunden den Entwicklern mitgeteilt. Benutze daher bitte <emphasis role="bold">nur
- Subversion</emphasis> beim Berichten von Fehlern. Dies gilt auch für Binärpakete von
- <application>MPlayer</application>. Subversion-Anweisungen findest du am unteren Ende
- <ulink url="http://www.mplayerhq.hu/dload.html">dieser Seite</ulink> oder in der README.
- Wenn dies nicht hilft, ziehe den
- Rest der Dokumentation zu Rate. Ist dein Problem nicht bekannt oder kann es durch unsere
- Anweisungen nicht gelöst werden, dann teil uns den Fehler mit.
- </para>
-
- <para>
- Sende bitte keine Fehlerberichte privat an einzelne Entwickler. MPlayer ist
- Gemeinschaftsarbeit, also wird es vielleicht mehrere interessierte Leute geben. Es
- kommt auch teilweise vor, dass derselbe Fehler von anderen Benutzern gefunden wurde,
- die bereits eine Lösung zur Umgehung des Problems haben, auch wenn es sich um einen
- Fehler im <application>MPlayer</application>-Code handelt.
- </para>
-
- <para>
- Bitte beschreibe dein Problem so detailliert wie möglich. Dazu gehört ein klein
- wenig Detektivarbeit, um die Umstände einzuengen, unter denen das Problem auftritt.
- Tritt der Fehler nur in bestimmten Situationen auf? Ist er abhängig von Dateien oder
- Dateitypen? Tritt er nur bei einem Codec auf oder ist er davon unabhängig? Kannst
- du den Fehler mit allen Ausgabetreibern reproduzieren? Je mehr Informationen du zur
- Verfügung stellst, desto besser sind die Chancen, dass das Problem gelöst wird.
- Bitte vergiss nicht, auch die unten angeforderten wertvollen Informationen miteinzubeziehen.
- Ansonsten sind wir vermutlich nicht in der Lage, das Problem genau zu untersuchen.
- </para>
-
- <para>
- Eine exzellente und gut geschriebene Anleitung dazu, wie Fragen in öffentlichen Foren
- gestellt werden sollen, ist
- <ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions
- The Smart Way</ulink> von <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
- Es gibt noch einen namens
- <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</ulink>
- von
- <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>.
- Befolgst du diese Richtlinien, solltest du Hilfe bekommen können. Bitte hab aber Verständnis,
- dass wir alle den Mailinglisten freiwillig in unserer Freizeit folgen. Wir sind sehr
- beschäftigt und können nicht garantieren, dass du eine Lösung oder auch nur eine Antwort zu
- deinem Problem erhältst.
- </para>
- </sect1>
-
- <sect1 id="bugreports_where">
- <title>Wo Fehler berichtet werden sollen</title>
- <para>
- Melde dich bei der Mailingliste MPlayer-users an:
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
- und sende deinen Fehlerbericht an
- <ulink url="mailto:mplayer-users at mplayerhq.hu"/>, wo dieser diskutiert werden kann.
- </para>
- <para>
- Wenn du es bevorzugst, kannst du statt dessen auch unseren brandneuen
- <ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink> verwenden.
- </para>
- <para>
- Die Sprache der Liste ist <emphasis role="bold">Englisch</emphasis>. Bitte
- befolge die Standard-
- <ulink url="http://www.ietf.org/rfc/rfc1855.txt">Netiquette-Richtlinien</ulink>
- und <emphasis role="bold">sende keine HTML-Mails</emphasis> an eine unserer
- Mailinglisten. Du wirst ignoriert oder ausgeschlossen werden. Wenn du nicht
- weiÃt, was eine HTML-Mail ist oder warum sie böse ist, lies dieses
- <ulink url="http://efn.no/html-bad.html">feine Dokument</ulink>. Es erklärt
- alle Details und beinhaltet Instruktionen, wie man HTML abschalten kann. Beachte
- auch, dass wir keine Kopien (CC, carbon-copy) verschicken. Es ist daher eine
- gute Sache, sich anzumelden, um auch wirklich eine Antwort zu erhalten.
- </para>
- </sect1>
-
- <sect1 id="bugreports_what">
- <title>Was berichtet werden soll</title>
- <para>
- Du wirst wahrscheinlich Logdateien, Konfigurationsinformationen und Beispieldateien
- in deinen Fehlerbericht aufnehmen müssen. Werden einige von ihnen ziemlich groÃ,
- ist es besser, wenn du sie auf unseren
- <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP-Server</ulink>
- hochlädst, und zwar in komprimierter Form (gzip und bzip2 bevorzugt). Gib dann in deinem
- Fehlerbericht nur den Pfad- und den Dateinamen an. Unsere Mailinglisten haben ein
- Nachrichten-GröÃenlimit von 80k, wenn du etwas gröÃeres hast, musst du es
- komprimieren und hochladen.
- </para>
-
- <sect2 id="bugreports_system">
- <title>Systeminformationen</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- Deine Linuxdistribution, Betriebssystem und Version, z.B.:
- <itemizedlist>
- <listitem>
- <para>Red Hat 7.1</para>
- </listitem>
- <listitem>
- <para>Slackware 7.0 + Entwicklerpakete von 7.1 ...</para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- Kernelversion:
- <screen>uname -a</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- libc-Version:
- <screen>ls -l /lib/libc[.-]*</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- gcc- und ld-Versionen:
-<screen>gcc -v
-ld -v</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- binutils-Version:
- <screen>as --version</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn du Probleme mit dem Vollbildmodus hast:
- <itemizedlist>
- <listitem>
- <para>Window-Manager-Typ und Version</para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn du Probleme mit XVIDIX hast:
- <itemizedlist>
- <listitem>
- <para>Farbtiefe von X:
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn nur die GUI fehlerhaft ist:
- <itemizedlist>
- <listitem><para>GTK-Version</para></listitem>
- <listitem><para>GLIB-Version</para></listitem>
- <listitem><para>GUI-Situation, in welcher der Fehler auftritt</para></listitem>
- </itemizedlist>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect2>
-
- <sect2 id="bugreports_hardware">
- <title>Hardware und Treiber</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- CPU-Info (funktioniert nur unter Linux):
- <screen>cat /proc/cpuinfo</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- Videokartenhersteller und -modell, z.B.:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- Videotreibertyp und -version, .z.B.:
- <itemizedlist>
- <listitem><para>eingebauter Treiber von X</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI von X 4.0.3</para></listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- Soundkartentyp und -treiber, z.B.:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold mit OSS-Treiber von oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 mit Kernel-OSS-Treibern</para></listitem>
- <listitem><para>GUS PnP mit OSS-Emulation von ALSA</para></listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- Füge bei Linuxsystemen im Zweifel die Ausgabe von <command>lspci -vv</command> bei.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect2>
-
- <sect2 id="bugreports_configure">
- <title>Configure-Probleme</title>
- <para>
- Wenn du Fehlermeldungen beim Aufruf von <command>./configure</command> bekommst oder
- die automatische Erkennung von etwas fehlschlägt, so lies <filename>config.log</filename>.
- Du könntest dort die Antwort finden, zum Beispiel mehrere Versionen derselben Bibliothek,
- die gemischt auf deinem System vorliegen, oder du hast vergessen, das Entwicklerpaket
- (die mit dem Suffix -dev) zu installieren. Wenn du denkst, dass es sich um einen
- Fehler handelt, binde <filename>config.log</filename> in deinen Fehlerbericht ein.
- </para>
- </sect2>
-
- <sect2 id="bugreports_compilation">
- <title>Compilierungsprobleme</title>
- <para>
- Bitte füge diese Dateien an:
- <itemizedlist>
- <listitem><para>config.h</para></listitem>
- <listitem><para>config.mak</para></listitem>
- </itemizedlist>
- </para>
- </sect2>
-
- <sect2 id="bugreports_playback">
- <title>Wiedergabeprobleme</title>
- <para>
- Bitte füge die Ausgabe von <application>MPlayer</application> im ausführlichen Modus
- bei Level 1 an, denke aber daran, <emphasis role="bold">die Ausgabe nicht zu kürzen</emphasis>,
- wenn du sie in deine Mail einfügst. Die Entwickler benötigen alle Ausgaben, um das Problem
- angemessen zu untersuchen. Du kannst die Ausgabe folgendermaÃen in eine Datei ausgeben:
- <screen>mplayer -v <replaceable>Optionen</replaceable> <replaceable>Dateiname</replaceable> > mplayer.log 2>&1</screen>
- </para>
-
- <para>
- Wenn dein Problem speziell mit einer oder mehreren Dateien zu tun hat, lade diese bitte hoch nach:
- <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
- </para>
-
- <para>
- Lade bitte auch eine kleine Textdatei hoch, die denselben Basisnamen wie deine Datei
- hat, mit der Erweiterung .txt. Beschreibe dort das Problem, das du mit dieser speziellen
- Datei hast und gib sowohl deine Emailadresse als auch die Ausgabe von
- <application>MPlayer</application> im ausführlichen Modus bei Level 1 an. Normalerweise
- reichen die ersten 1-5 MB einer Datei aus, um das Problem zu reproduzieren. Um ganz sicher
- zu gehen, bitten wir dich, folgendes zu tun:
- <screen>dd if=<replaceable>deine-datei</replaceable> of=<replaceable>kleine-datei</replaceable> bs=1024k count=5</screen>
- Dies wird die ersten fünf Megabyte von '<emphasis role="bold">deine-datei</emphasis>' nehmen
- und nach '<emphasis role="bold">kleine-datei</emphasis>' schreiben. Probiere es dann erneut
- mit dieser kleinen Datei, und wenn der Fehler noch immer auftritt, ist dieses Beispiel für uns
- ausreichend.
- Bitte sende <emphasis role="bold">niemals</emphasis> solche Dateien via Mail!
- Lade sie hoch und schicke nur den Pfad/Dateinamen der Datei auf dem FTP-Server. Ist
- die Datei im Netz verfügbar, reicht es, die <emphasis role="bold">exakte</emphasis>
- URL zu schicken.
- </para>
- </sect2>
-
- <sect2 id="bugreports_crash">
- <title>Abstürze</title>
- <para>
- Du musst <application>MPlayer</application> in <command>gdb</command> aufrufen und
- uns die komplette Ausgabe schicken, oder du kannst, wenn du ein <filename>core</filename>-Dump
- des Absturzes hast, nützliche Informationen aus der Core-Datei extrahieren,
- und zwar folgendermaÃen:
- </para>
-
- <sect3 id="bugreports_debug">
- <title>Wie man Informationen eines reproduzierbaren Absturzes erhält</title>
- <para>
- Compiliere <application>MPlayer</application> neu mit Debugging-Code aktiviert:
-<screen>./configure --enable-debug=3
-make</screen>
- und rufe dann <application>MPlayer</application> innerhalb gdb auf mit:
- <screen>gdb ./mplayer</screen>
- Du befindest dich nun innerhalb gdb. Gib ein
- <screen>run -v <replaceable>Optionen-an-mplayer</replaceable> <replaceable>Dateiname</replaceable></screen>
- und reproduziere den Absturz. Sobald du das getan hast, wird gdb zur Eingabeaufforderung
- zurückkehren, wo du folgendes eingeben musst:
-<screen>bt
-disass $pc-32 $pc+32
-info all-registers</screen>
- </para>
- </sect3>
-
- <sect3 id="bugreports_core">
- <title>Wie man aussagekräftige Informationen aus einem Core-Dump extrahiert</title>
- <para>
- Erzeuge die folgende Befehlsdatei:
-<screen>bt
-disass $pc-32 $pc+32
-info all-registers</screen>
- Führe dann einfach folgenden Befehl aus:
- <screen>gdb mplayer --core=core -batch --command=<replaceable>Kommando_Datei</replaceable> > mplayer.bug</screen>
- </para>
- </sect3>
- </sect2>
- </sect1>
-
- <sect1 id="bugreports_advusers">
- <title>Ich weiÃ, was ich tue...</title>
- <para>
- Wenn du einen Fehlerbericht wie oben beschrieben geschrieben hast und du dir sicher
- bist, dass es ein Bug in <application>MPlayer</application> und nicht ein Problem mit dem
- Compiler oder eine defekte Datei ist, du die Dokumentation gelesen hast und keine Lösungen
- finden konntest und deine Soundtreiber OK sind, dann kannst du auch der
- mplayer-advusers-Mailingliste beitreten und dort deine Fehlerberichte einsenden. Du wirst dort
- schnellere und bessere Antworten erhalten.
- </para>
-
- <para>
- Aber sei gewarnt: Wenn du Anfängerfragen stellst oder Fragen, die in dieser Anleitung
- bereits beantwortet werden, wirst du ignoriert oder angemeckert, anstatt eine Antwort
- zu erhalten. Also ärgere uns nicht und trete der -advusers-Liste nur bei, wenn du weiÃt,
- was du tust und du dich für einen erfahrenen MPlayer-Nutzer oder -Entwickler hältst.
- Erfüllst du diese Kriterien, sollte es kein Problem für dich sein, dich anzumelden...
- </para>
- </sect1>
-
-</appendix>
diff --git a/DOCS/xml/de/documentation.xml b/DOCS/xml/de/documentation.xml
deleted file mode 100644
index 7bc8f37..0000000
--- a/DOCS/xml/de/documentation.xml
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r23579 -->
-<!-- missing cosmetic commit 21537 -->
-<bookinfo id="toc">
- <title><application>MPlayer</application> - Movie Player</title>
- <subtitle>
- <ulink url="http://www.mplayerhq.hu"></ulink>
- </subtitle>
- <date>24. März 2003</date>
- <copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayer-Team</holder>
- </copyright>
- <legalnotice>
- <title>License</title>
- <para>MPlayer is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>MPlayer is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with MPlayer; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
- </legalnotice>
- </bookinfo>
-
-
- <preface id="howtoread">
- <title>Wie diese Dokumentation gelesen werden soll</title>
-
- <para>
- Wenn du zum ersten Mal installierst: Lies in jedem Fall alles von hier bis zum
- Ende des Installationsabschnitts, und folge den Links, die du findest. Wenn Fragen
- bleiben, gehe zurück zum <link linkend="toc">Inhaltsverzeichnis</link> und suche nach
- dem Thema, lies die <xref linkend="faq"/> oder versuche, die Dateien zu greppen.
- Die meisten Fragen sollten irgendwo hier beantwortet werden, und nach dem Rest wurde
- vermutlich auf den
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">Mailing-Listen</ulink> gefragt.
- <!-- FIXME: This refers to nonexistent links
- Checke die
- <ulink url="http://lists.mplayerhq.hu/cgi-bin/s-arch.cgi">Archive</ulink>,
- dort gibt es viele wertvolle Informationen.
- -->
- </para>
- </preface>
-
-
- <chapter id="intro">
- <title>Einführung</title>
-
- <para>
- <application>MPlayer</application> ist ein Movie-Player für Linux (der auch auf vielen
- anderen Unices und <emphasis role="bold">nicht-x86</emphasis>-Architekturen läuft, siehe
- <xref linkend="ports"/>). Er spielt die meisten Dateien in den Formaten MPEG, VOB, AVI,
- OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA,
- Matroska-Dateien, unterstützt von vielen eingebauten, XAnim-, RealPlayer und Win32-DLL-Codecs.
- Es können auch <emphasis role="bold">VideoCDs, SVCDs, DVDs, 3ivx-, RealMedia-, Sorenson-, Theora-</emphasis>
- und <emphasis role="bold">MPEG-4 (DivX)</emphasis> - Filme angeschaut werden.
-
- Ein weiteres groÃes Feature von <application>MPlayer</application> ist die Fülle an
- unterstützten Ausgabetreibern. Er funktioniert mit X11, Xv, DGA, OpenGL, SVGAlib,
- fb-dev, AAlib, libcaca und DirectFB, du kannst ihn aber auch mit GGI und SDL (und damit
- allen von SDL unterstützen Treibern), sowie mit einigen kartenspezifischen Low-Level-Treibern
- (für Matrox, 3Dfx und Radeon, Mach64, Permedia3) benutzen! Die meisten von ihnen unterstützen
- Software- oder Hardwareskalierung, so dass die Vollbildwiedergabe kein Problem ist.
- <application>MPlayer</application> unterstützt die Wiedergabe mittels einiger
- Hardware-MPEG-Decoderkarten wie der DVB, DXR2 und DXR3/Hollywood+ benutzen.
- Und was ist mit diesen schönen, groÃen, kantengeglätteten und schattierten Untertiteln
- (<emphasis role="bold">14 unterstützte Typen</emphasis>) mit Europäischen/ISO 8859-1,2
- (Ungarisch, Englisch, Tschechisch usw.), Kryllisch und Koreanische Schriftarten, und
- On-Screen-Display (OSD)?
- </para>
-
- <para>
- Der Player ist superstabil bei der Wiedergabe von beschädigten MPEG-Dateien (nützlich
- für manche VCDs) und spielt schlechte AVI-Dateien ab, die mit dem berühmten
- Windows Media Player nicht abgespielt werden können. Selbst AVI-Dateien ohne Index-Abschnitt
- sind abspielbar, und du kannst den Index mit der Option <option>-idx</option>
- temporär neu generieren, oder permanent mit <application>MEncoder</application>,
- was Spulen ermöglicht! Wie du siehst, sind Stabilität und Qualität die
- wichtigsten Dinge, die Geschwindigkeit ist jedoch auch erstaunlich. Es gibt
- auÃerdem ein mächtiges Filtersystem für die Manipulation von Video und Ton.
- </para>
-
- <para>
- <application>MEncoder</application> (<application>MPlayer</application>s Movie
- Encoder) ist ein einfacher Film-Encoder, der so ausgelegt ist, von
- <application>MPlayer</application>-abspielbaren Formaten
- (<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
- in andere <application>MPlayer</application>-abspielbare Formate (siehe unten)
- zu encodieren. Er kann mit verschiedenen Codecs encodieren, zum Beispiel
- <emphasis role="bold">MPEG-4 (DivX4)</emphasis> (ein oder zwei Durchläufe),
- <systemitem class="library">libavcodec</systemitem>, und
- <emphasis role="bold">PCM/MP3/VBR MP3</emphasis>-Audio.
- </para>
-
-
- <itemizedlist>
- <title><application>MEncoder</application> Features</title>
- <listitem>
- <para>
- Encodierung zu der weitreichenden Menge Dateiformate und Decoder von
- <application>MPlayer</application>
- </para>
- </listitem>
- <listitem>
- <para>
- Encodierung zu allen Codecs von FFmpegs
- <systemitem class="library">libavcodec</systemitem>
- </para>
- </listitem>
- <listitem>
- <para>
- Videoencodierung von <emphasis role="bold">V4L-kompatiblen TV-Empfängern</emphasis>
- </para>
- </listitem>
- <listitem>
- <para>
- Encodierung/Multiplexing von interleaved AVI-Dateien mit ordentlichem Index
- </para>
- </listitem>
- <listitem>
- <para>
- Erstellung von Dateien aus externen Audiostreams
- </para>
- </listitem>
- <listitem>
- <para>
- Encodierung in 1, 2 oder 3 Durchläufen
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">VBR</emphasis>-MP3-Audio
- <important><para>
- VBR-MP3-Audio wird von Windows-Playern nicht immer sauber wiedergegeben!
- </para></important>
- </para>
- </listitem>
- <listitem>
- <para>
- PCM-Audio
- </para>
- </listitem>
- <listitem>
- <para>
- Streamkopien
- </para>
- </listitem>
- <listitem>
- <para>
- Input-A/V-Synchronisation (PTS-basiert, kann mit der Option
- <option>-mc 0</option> deaktiviert werden)
- </para>
- </listitem>
- <listitem>
- <para>
- fps-Korrektur mit der Option <option>-ofps</option> (nützlich bei Encodierung von
- 30000/1001 fps VOB zu 24000/1001 fps AVI)
- </para>
- </listitem>
- <listitem>
- <para>
- Benutzung unseres sehr mächtigen Filtersystems (abschneiden, expandieren, spiegeln,
- nachbearbeiten, rotieren, skalieren, rgb/yuv-Konvertierung)
- </para>
- </listitem>
- <listitem>
- <para>
- Kann DVD/VOBsub- <emphasis role="bold">UND</emphasis> Textuntertitel in die
- Ausgabedatei encodieren
- </para>
- </listitem>
- <listitem>
- <para>
- Kann DVD-Untertitel in das VOBsub-Format rippen
- </para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>Geplante Features</title>
- <listitem>
- <para>
- Noch breiteres Feld an verfügbaren En-/Decodierungsformaten/-codecs
- (erstellen von VOB-Dateien mit DivX4/Indeo5/VIVO-Streams :).
- </para>
- </listitem>
- </itemizedlist>
-
- <!-- FIXME: Lizenz sollte in bookinfo sein -->
- <para>
- <application>MPlayer</application> und <application>MEncoder</application> können
- weitergegeben werden unter den Bedingungen der GNU General Public License Version 2.
- </para>
-
- </chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/de/encoding-guide.xml b/DOCS/xml/de/encoding-guide.xml
deleted file mode 100644
index 0ce558f..0000000
--- a/DOCS/xml/de/encoding-guide.xml
+++ /dev/null
@@ -1,5758 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r24549 -->
-<!-- missing cosmetic commit 21537 -->
-<chapter id="encoding-guide">
- <title>Encodieren mit <application>MEncoder</application></title>
-
- <sect1 id="menc-feat-dvd-mpeg4">
- <title>Erzeugen eines hochwertigen MPEG-4-Rips ("DivX") eines DVD-Films</title>
-
- <para>
- Eine häufig gestellte Frage ist
- "Wie mache ich den hochwertigsten Rip für eine gegebene GröÃe?".
- Eine weitere Frage ist
- "Wie mache ich den qualitativ bestmöglichen DVD-Rip? Die DateigröÃe ist
- mir egal, ich will einfach nur die beste Qualität."
- </para>
-
- <para>
- Die letzte Frage ist zumindest etwas falsch gestellt. Wenn du dir
- schlieÃlich keine Gedanken um die DateigröÃe machst, warum kopierst Du
- dann nicht einfach den kompletten MPEG-2-Videostream der DVD?
- Sicherlich, deine AVI wird am Ende 5GB groà sein, so oder so, jedoch ist
- dies mit Sicherheit deine beste Option, wenn du die beste Qualität
- erhalten willst und dich nicht um die GröÃe kümmerst.
- </para>
-
- <para>
- Tatsache ist, der Grund eine DVD in MPEG-4 umzuencodieren ist
- gerade <emphasis role="bold">weil</emphasis> dir die GröÃe wichtig ist.
- </para>
-
- <para>
- Es ist sehr schwierig, ein Rezept zum Erzeugen eines sehr
- hochwertigen DVD-Rips anzubieten. Es gilt mehrere Faktoren zu
- berücksichtigen, und du solltest dich mit diesen Details auskennen oder
- du wirst voraussichtlich am Ende von den Resultaten enttäuscht.
- Nachfolgend werden wir einige dieser Themen etwas näher untersuchen
- und uns danach ein Beispiel ansehen. Wir gehen davon aus, dass Du
- <systemitem class="library">libavcodec</systemitem> zum Encodieren des
- Videos verwendest, obwohl diese Theorie genauso gut auf andere Codecs
- zutrifft.
- </para>
-
- <para>
- Ist dies alles zu viel für dich, solltest du womöglich auf eins der vielen
- guten Frontends zurückgreifen, die in der
- <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">MEncoder-Sektion</ulink>
- unserer diesbezüglichen Projektseite zu finden sind.
- Auf diese Weise solltest du in der Lage sein, hochwertige Rips zu
- erhalten ohne viel nachdenken zu müssen, da die meisten dieser Tools dazu entworfen
- wurden, clevere Entscheidungen für dich zu treffen.
- </para>
-
- <sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
- <title>Vorbereitung aufs Encodieren: Identifiziere Quellmaterial und Framerate</title>
- <para>
- Bevor du über das Encodieren eines Films nachdenkst, solltest du einige einleitende
- Schritte vornehmen.
- </para>
-
- <para>
- Der erste und allerwichtigste Schritt vor dem Encodieren sollte sein,
- festzustellen, mit welchem Inhaltstyp du umgehst.
- Kommt dein Quellmaterial von einer DVD oder einem Rundfunk-/Kabel-/Satelliten-TV,
- wird es in einem von zwei Formaten abgespeichert: NTSC für Nord-Amerika und Japan,
- PAL für Europa usw.
- Es ist wichtig, sich klar zu machen, dass dies ganz einfach die Formatierung
- für die Präsentation auf einem Fernsehgerät ist und häufig
- <emphasis role="bold">nicht</emphasis> mit dem originalen Format des Films
- korrespondiert. Die Erfahrung zeigt, dass NTSC-Material schwieriger zu
- encodieren ist, da mehr Elemente in der Quelle zu identifizieren sind.
- Um eine geeignete Encodierung zu produzieren, solltest du das originale
- Format kennen.
- Fehler, dies sollte man berücksichtigen, führen zu diversen Fehlerstellen
- in deiner Encodierung, einschlieÃlich hässlicher Kammartefakte (combing/interlacing)
- und doppelten oder gar verlorenen Frames.
- Abgesehen davon, dass sie unschön sind, beeinflussen diese Artefakte die
- Codierungseffizienz negativ:
- Du erhältst eine schlechtere Qualität pro Bitrateneinheit.
- </para>
-
- <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
- <title>Identifizieren der Quellframerate</title>
- <para>
- Hier ist eine Liste der verbreiteten Typen des Quellmaterials, in der Du
- diese und ihre Eigenschaften voraussichtlich finden wirst:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">Standardfilm</emphasis>: Produziert für
- theatralische Anzeige bei 24fps.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">PAL-Video</emphasis>: Aufgenommen mit einer
- PAL-Videokamera bei 50 Feldern pro Sekunde.
- Ein Feld besteht ganz einfach aus den ungerade oder gerade nummerierten
- Zeilen eines Frames.
- Das Fernsehen wurde entworfen, diese Felder als billige Form einer
- analogen Komprimierung im Wechsel zu aktualisieren.
- Das menschliche Auge kompensiert dies angeblich, aber wenn du
- Interlacing einmal verstanden hast, wirst du lernen, es auch auf
- dem TV-Bildschirm zu erkennen und nie wieder Spass am Fernsehen haben.
- Zwei Felder machen <emphasis role="bold">keinen</emphasis> kompletten
- Frame, da sie in einer 50-stel Sekunde zeitlich getrennt aufgenommen
- werden und so nicht Schlange stehen solange keine Bewegung da ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">NTSC-Video</emphasis>: Aufgenommen mit einer
- NTSC-Videokamera bei 60000/1001 Feldern pro Sekunde oder 60 Feldern
- pro Sekunde zu Zeiten vor dem Farbfernsehen.
- Ansonsten ähnlich wie PAL.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Animation</emphasis>: Ãblicherweise bei
- 24fps gezeichnet, kommt jedoch auch in Varianten mit gemischter
- Framerate vor.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Computer Graphics (CG)</emphasis>: Kann
- irgendeine Framerate sein, jedoch sind einige üblicher als andere;
- 24 und 30 Frames pro Sekunde sind typisch für NTSC und 25fps ist
- typisch für PAL.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Alter Film</emphasis>: Diverse niedrigere
- Frameraten.
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
- <title>Identifizieren des Quellmaterials</title>
- <para>
- Filme, die sich aus Frames zusammensetzen, werden den progressiven
- zugeordnet, während die aus unabhängigen Feldern bestehenden
- entweder interlaced (engl. für verschachteln) oder Video
- genannt werden - somit ist letzterer Terminus zweideutig.
- </para>
- <para>
- Um das ganze noch komplizierter zu machen, sind manche Filme ein
- Gemisch aus einigen den oben beschriebenen Formen.
- </para>
- <para>
- Das wichtigste Unterscheidungsmerkmal zwischen all diesen
- Formaten ist, dass einige Frame-basiert, andere wiederum
- Feld-basiert sind.
- <emphasis role="bold">Immer</emphasis> wenn ein Film für die
- Anzeige auf dem Fernseher vorbereitet wird (einschlieÃlich
- DVD), wird er in ein Feld-basiertes Format konvertiert.
- Die verschiedenen Methoden, mit denen dies bewerkstelligt werden
- kann, werden zusammengenommen als "telecine" bezeichnet, von welchen
- das verrufene NTSC "3:2 pulldown" eine Abart darstellt.
- Sofern das Originalmaterial nicht Feld-basiert war (bei gleicher
- Feldrate), erhältst du einen Film in einem anderen Format als
- das Original.
- </para>
-
- <itemizedlist>
- <title>Es gibt einige verbreitete Typen des pulldown:</title>
- <listitem>
- <para>
- <emphasis role="bold">PAL 2:2 pulldown</emphasis>: Das schönste von
- allen.
- Jeder Frame wird durch das wechselweise Extrahieren und Anzeigen
- der geradzahligen und ungeradzahligen Zeilen für die Dauer von zwei
- Feldern dargestellt.
- Hat das Originalmaterial 24fps, beschleunigt dieser Prozess den Film
- um 4%.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
- Jeder 12-te Frame, anstatt nur jeder 2-te, wird für die Dauer von zwei
- Feldern dargestellt.
- Dies vermeidet die 4% Geschwindigkeitssteigerung, macht jedoch das
- Umkehren des Prozesses viel schwieriger.
- Es ist üblicherweise in Musical-Produktionen zu sehen, wo das Anpassen der
- Geschwindigkeit um 4% sicherlich das musikalische Ergebnis kaputt machen würde.
- </para>
- </listitem>
- <listitem><para>
- <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Frames werden
- abwechselnd für die Dauer von 3 oder 2 Feldern angezeigt.
- Dies verleiht der Feldrate das 2.5-fache der originalen Framerate.
- Das Resultat wird dadurch auch leicht von 60 Feldern pro Sekunde auf
- 60000/1001 Felder pro Sekunde verlangsamt, um die NTSC-Felddrate
- beizubehalten.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: Verwendet zur
- Darstellung von 30fps Material auf NTSC.
- Schön, genau wie das 2:2 PAL pulldown.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Es gibt auch Methoden zur Konvertierung zwischen NTSC- und PAL-Video,
- jedoch liegen diese Themen jenseits des Rahmens dieser Anleitung.
- Wenn du auf solch einen Film stöÃt und ihn encodieren willst, solltest
- du besser eine Kopie im originalen Format suchen.
- Die Konvertierung zwischen diesen beiden Formaten ist hochdestruktiv und
- kann nicht spurlos rückgängig gemacht werden, somit wird deine Encodierung
- auÃerordentlich darunter leiden, wenn sie aus einer konvertierten Quelle
- erzeugt wurde.
- </para>
- <para>
- Wenn ein Video auf DVD gespeichert wird, werden fortlaufend Feldpaare
- als Frames gruppiert, auch wenn nicht beabsichtigt ist, diese gleichzeitig
- zu zeigen.
- Der bei DVD und digitalem TV verwendete MPEG-2-Standard bietet einen Weg
- für beides, die originalen progressiven Frames zu encodieren und die Anzahl
- der Felder, für die ein Frame gezeigt werden soll, im Header dieses Frames
- zu speichern.
- Wurde diese Methode angewandt, wird dieser Film oft als "soft telecined"
- beschrieben, da der Prozess eher nur den DVD-Player anweist, pulldown
- auf den Film anzuwenden, als den Film selbst abzuändern.
- Dieser Fall sollte möglichst bevorzugt werden, da er (eigentlich ignoriert)
- leicht vom Encoder rückgängig gemacht werden kann und da er die maximale
- Qualität beibehält.
- Wie auch immer, viele DVD- und Rundfunkproduktionsstudios verwenden
- keine passenden Encodierungstechniken, sie produzieren stattdessen Filme mit
- "hard telecine", bei denen Felder sogar in encodiertes MPEG-2 dupliziert
- werden.
- </para>
- <para>
- Die Vorgehensweisen für den Umgang mit solchen Fällen werden
- <link linkend="menc-feat-telecine">später in diesem Handbuch</link>
- behandelt.
- Wir lassen dich jetzt mit einigen Anleitungen zur Identifizierung der
- Materialtypen zurück, mit denen du es zu tun hast:
- </para>
-
- <itemizedlist>
- <title>NTSC-Bereiche:</title>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> angibt, dass die Framerate
- während des Betrachtens des Films zu 24000/1001 gewechselt hat
- und diese nie wieder zurückwechselt, handelt es sich meist mit
- Sicherheit um progressiven Inhalt, der "soft telecined" wurde.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> anzeigt, dass die Framerate
- zwischen 24000/1001 und 30000/1001 vor und zurück wechselt, und Du
- siehst hin und wieder Kammartefakte, dann gibt es mehrere Möglichkeiten.
- Die Segmente mit 24000/1001 fps sind meist mit Sicherheit progressiver
- Inhalt, "soft telecined", jedoch könnten die Teile mit 30000/1001 fps
- entweder "hard telecined" 24000/1001 fps Inhalt oder 60000/1001 Felder
- pro Sekunde NTSC-Video sein.
- Verwende die selben Richtwerte wie in den folgenden zwei Fällen, um zu
- bestimmen, um was es sich handelt.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> nie einen Frameratenwechsel
- anzeigt und jeder einzelne Frame mit Bewegung gekämmt (combed) erscheint,
- ist dein Film ein NTSC-Video bei 60000/1001 Feldern pro Sekunde.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> nie einen Frameratenwechsel
- anzeigt und zwei von fünf Frames gekämmt (combed) erscheinen, ist der
- Inhalt deines Films "hard telecined" 24000/1001 fps.
- </para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>PAL-Bereiche:</title>
- <listitem>
- <para>
- Wenn du niemals irgend ein Combing siehst, ist dein Film 2:2 pulldown.
- </para>
- </listitem>
- <listitem>
- <para>
- Siehst du alle halbe Sekunde abwechselnd ein- und ausgehendes Combing,
- dann ist dein Film 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.
- </para>
- </listitem>
- <listitem>
- <para>
- Hast du immer während Bewegungen Combing gesehen, dann ist dein Film
- PAL-Video bei 50 Feldern pro Sekunde.
- </para>
- </listitem>
- </itemizedlist>
-
- <note>
- <title>Tipp:</title>
- <para>
- <application>MPlayer</application> kann das Filmplayback
- mittels der Option -speed verlangsamen oder Frame für Frame abspielen.
- Versuche <option>-speed</option> 0.2 zu verwenden, um den Film sehr lamgsam
- anzusehen oder drücke wiederholt die Taste "<keycap>.</keycap>", um jeweils
- einen Frame abzuspielen und identifiziere dann das Muster, falls du bei voller
- Geschwindigkeit nichts erkennen kannst.
- </para>
- </note>
- </sect3>
- </sect2>
-
- <sect2 id="menc-feat-dvd-mpeg4-2pass">
- <title>Konstanter Quantisierungsparameter vs. Multipass</title>
-
- <para>
- Es ist möglich, deinen Film in einer groÃen Auswahl von Qualitäten zu
- encodieren.
- Mit modernen Videoencodern und ein wenig Pre-Codec-Kompression
- (Herunterskalierung und Rauschunterdrückung), kann eine sehr gute
- Qualität bei 700 MB für einen 90-110-minütigen Breitwandfilm erreicht werden.
- Des Weiteren können alle Filme - sogar die längsten - mit nahezu perfekter
- Qualität bei 1400 MB encodiert werden.
- </para>
-
- <para>
- Es gibt drei Annäherungen für das Encodieren eines Videos: konstante Bitrate
- (CBR), konstanter Quantisierungsparameter und Multipass (ABR, oder mittlere Bitrate).
- </para>
-
- <para>
- Die Komplexität der Frames eines Filmes und somit die Anzahl der für
- deren Komprimierung erforderlichen Bits kann von einer Szene zur anderen
- auÃerordentlich variieren.
- Moderne Videoencoder können sich durch Variieren der Bitrate an diese
- Anforderungen anpassen.
- In einfachen Modi wie CBR kennen die Encoder jedoch nicht den
- Bitratenbedarf zukünftiger Szenen und sind somit nicht in der Lage,
- die angeforderte mittlere Bitrate über längere Zeitspannen zu
- überschreiten.
- Erweiterte Modi wie etwa Multipass-Encodierung können die Statistik
- früherer Durchgänge berücksichtigen; dies behebt das oben erwähnte
- Problem.
- </para>
-
- <note><title>Anmerkung:</title>
- <para>
- Die meisten Codecs, die ABR-Encodierung unterstützen, unterstützen nur
- die Encodierung in zwei Durchgängen (two pass) während einige andere wie
- etwa <systemitem class="library">x264</systemitem>,
- <systemitem class="library">Xvid</systemitem>
- und <systemitem class="library">libavcodec</systemitem> Multipass
- unterstützen, was die Qualität bei jedem Durchgang leicht verbessert.
- Jedoch ist diese Verbesserung weder messbar noch ist sie nach dem
- 4-ten Durchgang oder so spürbar.
- Aus diesem Grund werden in diesem Abschnitt die Encoderierung mit 2 Durchläufen
- (two pass) und Multipass abwechselnd angewandt.
- </para>
- </note>
-
- <para>
- In jedem dieser Modi bricht der Videocodec (wie etwa
- <systemitem class="library">libavcodec</systemitem>)
- den Videoframe in 16x16 Pixel Macroblöcke und wendet danach einen
- Quantisierer auf jeden Macroblock an. Je niedriger der Quantisierer desto
- besser die Qualität und desto höher die Bitrate.
- Die Methode, die der Filmencoder zur Bestimmung des auf einen gegebenen
- Macroblock anzuwendenden Quantisierer verwendet, variiert und ist in
- hohem MaÃe einstellbar. (Dies ist eine extrem übertriebene Vereinfachung
- des aktuellen Prozesses aber nützlich, um das Grundkonzept zu verstehen.)
- </para>
-
- <para>
- Wenn du eine konstante Bitrate festlegst, wird der Videocodec das Video
- so encodieren, dass so viele Details wie notwendig und so wenig
- wie möglich ausgesondert werden, um unterhalb der vorgegebenen Bitrate zu
- bleiben. Wenn du dich wirklich nicht um die DateigröÃe kümmerst, könntest
- du auch CBR verwenden und eine nahezu endlose Bitrate festlegen.
- (In der Praxis bedeutet dies einen Wert, der hoch genug ist, kein Limit
- aufzuwerfen wie 10000Kbit.) Ohne echte Einschränkung der Bitrate wird
- der Codec als Ergebnis den niedrigsten möglichen Quantisierer für jeden
- Macroblock anwenden (wie durch <option>vqmin</option> für
- <systemitem class="library">libavcodec</systemitem>
- spezifiziert, Standardwert ist 2).
- Sobald du eine Bitrate festlegst, die niedrig genug ist, den
- Codec zur Anwendung eines höheren Quantisierers zu zwingen, bist Du
- nahezu sicher dabei, die Qualität deines Videos zu ruinieren.
- Um dies zu vermeiden, solltst du möglicherweise dein Video wie
- in der später in diesem Handbuch beschriebenen Methode reduzieren.
- Im Allgemeinen solltst du CBR vollkommen meiden, wenn dir Qualität
- wichtig ist.
- </para>
-
- <para>
- Mit konstantem Quantisierer wendet der Codec denselben Quantisierer, wie
- durch die Option <option>vqscale</option> (für
- <systemitem class="library">libavcodec</systemitem>) spezifiziert, auf jeden
- Macroblock an.
- Willst du einen Rip mit höchstmöglicher Qualität und ignorierst dabei
- wiederum die Bitrate, kannst du <option>vqscale=2</option> verwenden.
- Dies wird dieselbe Bitrate und PSNR (peak signal-to-noise ratio) liefern
- wie CBR mit <option>vbitrate</option>=infinity und der Standardeinstellung
- <option>vqmin</option>=2.
- </para>
-
- <para>
- Das Problem mit konstantem Quantisierer ist, dass der vorgegebene Quantisierer
- zum Einsatz kommt, egal ob der Macroblock ihn benötigt oder nicht. Dies heiÃt,
- es wäre möglich, einen höheren Quantisierer auf einen Macroblock anzuwenden,
- ohne sichtbare Qualität zu opfern. Warum die Bits für einen unnötig kleinen
- Quantisierer verschwenden? Deine CPU hat soundso viele Arbeitsgänge Zeit zur
- Verfügung, die Festplatte jedoch nur soundso viele Bits.
- </para>
-
- <para>
- Bei einer Encodierung mit zwei Durchläufen (two pass), wird der erste Durchgang
- den Film so rippen, als würde CBR vorliegen, jedoch wird ein Log die Eigenschaften
- jedes Frames beibehalten. Diese Daten werden danach während des zweiten Durchgangs
- dazu verwendet, intelligente Entscheidungen zur Wahl des Quantisierers zu treffen.
- Während schneller Action oder hochdetaillierter Szenen werden womöglich
- höhere Quantisierer, während langsamen Bewegungen und Szenen mit weniger Details
- niedrigere Quantisierer verwendet.
- Normalerweise ist die Anzahl der Bewegungen wichtiger als die der Details.
- </para>
-
- <para>
- Wenn du <option>vqscale=2</option> verwendest, verschwendest du Bits. Wenn
- du <option>vqscale=3</option> anwendest, wirst du keinen Rip mit bestmöglicher
- Qualität erhalten. Angenommen du rippst eine DVD mit <option>vqscale=3</option>
- und das Resultat ist 1800Kbit. Wenn du in zwei Durchgängen mit
- <option>vbitrate=1800</option> encodierst, wird das daraus resultierende Video
- eine <emphasis role="bold">bessere Qualität</emphasis> bei
- <emphasis role="bold">gleicher Bitrate</emphasis> haben.
- </para>
-
- <para>
- Da du nun davon überzeugt bist, dass zwei Durchgänge (two pass) den besten
- Weg darstellen, stellt sich jetzt tatsächlich die Frage, welche Bitrate
- verwendet werden soll? Die Antwort ist, dass es nicht nur eine
- Antwort gibt. Idealerweise willst du eine Bitrate wählen, die die beste Balance
- zwischen Qualität und DateigröÃe ergibt. Die kann abhängig vom Quellvideo
- variieren.
- </para>
-
- <para>
- Interessiert die GröÃe nicht, stellen etwa 2000Kbit plus oder minus 200Kbit
- einen guten Ausgangspunkt für einen sehr hochqualitativen Rip dar.
- Bei einem Video mit schneller Action oder hohen Details, oder wenn du schlicht
- und ergreifend ein sehr kritisches Auge besitzst, könntest du dich für 2400
- oder 2600 entscheiden.
- Bei einigen DVDs kannst du eventuell keinen Unterschied bei 1400Kbit feststellen.
- Um ein besseres Gefühl zu bekommen, ist es eine gute Idee, mit Szenen bei
- unterschiedlichen Bitraten herumzuexperimentieren.
- </para>
-
- <para>
- Wenn du eine bestimmte GröÃe anvisierst, musst du die Bitrate irgendwie
- kalkulieren.
- Aber zuvor solltest du wissen, wieviel Platz du für den/die Audiotrack(s)
- reservieren musst, daher solltest Du
- <link linkend="menc-feat-dvd-mpeg4-audio">diese(n) zuerst rippen</link>.
- Du kannst die Bitrate mit folgender Gleichung berechnen:
- <systemitem>Bitrate = (zielgroesse_in_MByte - soundgroesse_in_MByte) * 1024 * 1024 / laenge_in_sek * 8 / 1000</systemitem>
- Um zum Beispiel einen zweistündigen Film auf eine 702MB CD mit einem 60MB
- Audiotrack zu bekommen, sollte die Videobitrate folgendermaÃen sein:
- <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = 740kbps</systemitem>
- </para>
-
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-constraints">
- <title>Randbedingungen für effizientes Encodieren</title>
-
- <para>
- Aufgrund der Natur der MPEG-Komprimierung gibt es zahlreiche
- Randbedingungen, denen du zum Erreichen maximaler Qualität folgen
- solltest.
- MPEG splittet das Video in Macroblöcke genannte 16x16 Quadrate auf,
- jeder davon zusammengesetzt aus 4 8x8 Blöcken mit
- Luma-(Intensitäts)-Informationen und zwei halb-auflösenden 8x8
- Chroma-(Farb)-Blöcken (einer für die Rot-Cyan-Achse und der andere für
- die Blau-Gelb-Achse).
- Selbst wenn Breite und Höhe deines Films kein Vielfaches von 16 sind,
- wird der Encoder ausreichend 16x16 Macroblöcke zur Abdeckung des
- gesamten Bildbereichs verwenden und der Extraplatz wird verschwendet.
- Folglich ist es keine gute Idee, im Interesse der Maximierung der
- Qualität bei fester DateigröÃe, Abmessungen zu verwenden, die kein
- Vielfaches von 16 sind.
- </para>
-
- <para>
- Die meisten DVDs besitzen ein bestimmtes Maà schwarzer Balken
- an ihren Rändern. Diese dort zu belassen wird für die Qualität in mehrfacher
- Hinsicht <emphasis role="bold">sehr</emphasis> schädlich sein.
- </para>
-
- <orderedlist>
- <listitem>
- <para>
- MPEG-Kompression hängt in höchstem MaÃe von den
- Frequenzbereichs-Transformationen ab, insbesondere von der
- Discrete Cosine Transform (DCT), die der Fourier Transform ähnelt.
- Diese Art Encodierung ist für darstellende Muster und weiche
- Ãbergänge effizient, hat jedoch groÃe Probleme mit scharfen Kanten.
- Um diese zu encodieren muss sie viel mehr Bits verwenden,
- oder es wird andernfalls ein als Ringing bekannter Artefakt
- auftreten.
- </para>
-
- <para>
- Die Discrete Frequency Transform (DCT) erfolgt separat auf jeden
- Macroblock (eigentlich auf jeden Block), somit trifft dieses Problem
- nur zu, wenn sich in einem Block eine scharfe Kante befindet.
- Beginnt dein schwarzer Rand exakt an den Grenzen zum Vielfachen von
- 16 Pixeln, stellt dies kein Problem dar.
- Seis drum, die schwarzen Ränder bei DVDs werden in den seltensten
- Fällen schön angeordnet, daher wirst du sie in der Praxis immer
- abschneiden müssen, um diesen Nachteil zu vermeiden.
- </para>
- </listitem>
- </orderedlist>
-
- <para>
- Zusätzlich zu den Frequenzbereichs-Transformationen verwendet die
- MPEG-Kompression Bewegungsvektoren, um den Wechsel von einem Frame
- zum anderen darzustellen.
- Bewegungsvektoren arbeiten bei Inhalt, der von den Kanten eines Bildes
- her einflieÃt, normalerweise weniger effizient, da dieser im vorherigen
- Frame nicht vorhanden ist. Solange sich das Bild bis voll zur Kante des
- encodierten Bereichs hin vergröÃert, haben Bewegungsvektoren kein Problem
- mit Inhalt, der sich aus den Kanten des Bildes hinausbewegt. Die Präsenz
- schwarzer Ränder kann jedoch Ãrger machen:
- </para>
-
- <orderedlist continuation="continues">
- <listitem>
- <para>
- Die MPEG-Kompression speichert für jeden Macroblock einen Vektor,
- um ausfindig zu machen, welcher Teil des vorherigen Frames in diesen
- Macroblock als Basis zur Vorhersage des nächsten Frames kopiert
- werden soll. Nur die verbleibenden Unterschiede müssen encodiert werden.
- Ãberspannt der Macroblock die Kante des Bildes und enthält einen
- Teil des schwarzen Randes, werden Bewegungsvektoren aus anderen
- Teilen des Bildes den schwarzen Rand überschreiben. Dies bedeutet, dass
- jede Menge Bits entweder zur wiederholten Schwärzung des überschriebenen
- Randes aufgewendet werden müssen, oder es wird (eher) erst gar kein
- Bewegungsvektor genutzt und alle Ãnderungen innerhalb dieses Macroblocks
- müssen explizit encodiert werden. So oder so wird die Encodiereffizienz
- auÃerordentlich reduziert.
- </para>
-
- <para>
- Nochmal, dieses Problem trifft nur dann zu, wenn schwarze Ränder
- nicht an den Grenzen eines Vielfachen von 16 anstehen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Zuletzt noch was, angenommen wir haben einen Macroblock im Inneren des
- Bildes und ein Objekt bewegt sich aus Richtung Nähe der Kante des Bildes
- her in diesen Block hinein. Die MPEG-Encodierung kann nicht sagen
- "kopiere den Teil, der innerhalb des Bildes liegt, den schwarzen Rand
- aber nicht". Somit wird der schwarze Rand ebenfalls mit hinein kopiert
- und jede Menge Bits müssen zur Encodierung des Teils des Bildes, der
- dort angenommen wird, aufgewendet werden.
- </para>
-
- <para>
- Läuft das Bild ständig zur Kante des encodierten Bereichs hin, besitzt
- MPEG spezielle Optimierungen, um immer wieder dann die Pixel am Rand des
- Bildes zu kopieren, wenn ein Bewegungsvektor von auÃerhalb des
- encodierten Bereichs ankommt. Dieses Feature wird nutzlos, wenn der Film
- schwarze Ränder hat. Im Gegensatz zu den Problemen 1 und 2 hilft hier
- kein Anordnen der Ränder am Vielfachen von 16.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Obwohl die Ränder komplett schwarz sind und sich nie ändern, ist
- zumindest ein minimaler Overhead damit verbunden, mehr Macroblöcke
- zu besitzen.
- </para>
- </listitem>
- </orderedlist>
-
- <para>
- Aus all diesen Gründen wird empfohlen, schwarze Ränder komplett abzuschneiden.
- Mehr noch, liegt ein Bereich mit Rauschen/Verzerrung an der Kante des Bildes,
- steigert dessen Abschneiden ebenso die Encodiereffizienz. Videophile Puristen,
- die den Originalzustand so nah wie möglich sichern wollen,
- mögen dieses Abschneiden (cropping) beanstanden, wenn du jedoch nicht planst,
- bei konstantem Quantisierer zu encodieren, wird der Qualitätsgewinn, den Du
- durch dieses Abschneiden erreichst, beträchtlich über dem Verlust an Informationen
- an den Kanten liegen.
- </para>
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-crop">
- <title>Abschneiden und Skalieren</title>
-
- <para>
- Wiederaufruf der vorherigen Sektion, dass die letzte von Dir
- encodierte BildgröÃe ein Vielfaches von 16 sein sollte (bei beidem,
- Breite und Höhe).
- Diese kann durch Abschneiden, Skalieren erreicht werden oder durch
- eine Kombination von beidem.
- </para>
-
- <para>
- Beim Abschneiden gibt es ein paar Richtwerte, die befolgt werden müssen,
- um eine Zerstörung des Films zu vermeiden.
- Das normale YUV-Format, 4:2:0, speichert Chroma-(Farb)-Informationen
- in einer Unterstichprobe (subsampled), z.B. wird Chroma nur halb so oft
- in jede Richtung gesampelt wie Luma-(Intensitäts)-Informationen.
- Beobachte dieses Diagramm, in dem L Luma-Samplingpunkte bedeuten und C
- für Chroma steht.
- </para>
-
- <informaltable>
- <?dbhtml table-width="40%" ?>
- <?dbfo table-width="40%" ?>
- <tgroup cols="8" align="center">
- <colspec colnum="1" colname="col1"/>
- <colspec colnum="2" colname="col2"/>
- <colspec colnum="3" colname="col3"/>
- <colspec colnum="4" colname="col4"/>
- <colspec colnum="5" colname="col5"/>
- <colspec colnum="6" colname="col6"/>
- <colspec colnum="7" colname="col7"/>
- <colspec colnum="8" colname="col8"/>
- <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
- <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
- <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
- <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>
- Wie du sehen kannst, kommen Zeilen und Spalten des Bildes natürlich paarweise.
- Folglich <emphasis>müssen</emphasis> deine Abschneide-Offsets und
- Abmessungen geradzahlig sein.
- Sind sie dies nicht, wird Chroma nicht mehr korrekt mit Luma abgeglichen.
- In der Theorie ist es möglich, mit ungeraden Offsets abzuschneiden, jedoch
- erfordert dies ein Resampling von Chroma, was potentiell eine mit Verlust
- verbundene Operation bedeutet und vom Crop-Filter nicht unterstützt
- wird.
- </para>
-
- <para>
- Weiterhin wird interlaced Video folgendermaÃen gesampelt:
- </para>
-
- <informaltable>
- <?dbhtml table-width="80%" ?>
- <?dbfo table-width="80%" ?>
- <tgroup cols="16" align="center">
- <colspec colnum="1" colname="col1"/>
- <colspec colnum="2" colname="col2"/>
- <colspec colnum="3" colname="col3"/>
- <colspec colnum="4" colname="col4"/>
- <colspec colnum="5" colname="col5"/>
- <colspec colnum="6" colname="col6"/>
- <colspec colnum="7" colname="col7"/>
- <colspec colnum="8" colname="col8"/>
- <colspec colnum="9" colname="col9"/>
- <colspec colnum="10" colname="col10"/>
- <colspec colnum="11" colname="col11"/>
- <colspec colnum="12" colname="col12"/>
- <colspec colnum="13" colname="col13"/>
- <colspec colnum="14" colname="col14"/>
- <colspec colnum="15" colname="col15"/>
- <colspec colnum="16" colname="col16"/>
- <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
- <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
- <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
- <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
- <spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
- <spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
- <spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Oberes Feld</entry>
- <entry namest="col9" nameend="col16">Unteres Feld</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>
- Wie du erkennen kannst, wiederholt sich das Muster bis nach 4 Zeilen nicht.
- Somit müssen bei interlaced Video dein y-Offset und die Höhe für das
- Ausschneiden ein Vielfaches von 4 sein.
- </para>
-
- <para>
- Die ursprüngliche DVD-Auflösung ist 720x480 für NTSC und 720x576 für PAL, es
- gibt jedoch ein Aspektkennzeichen, das spezifiziert, ob Vollbild (4:3) oder
- Breitwandfilm (16:9) vorliegt. Viele (wenn nicht die meisten) Breitwandfilm-DVDs
- sind nicht grundsätzlich 16:9, sondern entweder 1.85:1 oder 2.35:1 (Cinescope).
- Dies bedeutet, dass es schwarze Bänder im Video geben wird, die herausgeschnitten
- werden müssen.
- </para>
-
- <para>
- <application>MPlayer</application> stellt einen Crop-Erkennungsfilter
- zur Verfügung, der das Ausschnittsrechteck (<option>-vf cropdetect</option>)
- bestimmt.
- Starte <application>MPlayer</application> mit
- <option>-vf cropdetect</option>, und er wird die Crop-Einstellungen
- zum Entfernen der Ränder ausgeben.
- du solltest den Film lange genug laufen lassen, damit die gesamte Bildfläche
- verwendet wird, um akkurate Crop-Werte zu erhalten.
- </para>
-
- <para>
- Teste danach die Werte, die von <application>MPlayer</application>
- über die Befehlszeile mittels <option>cropdetect</option> ausgegeben wurden
- und passe das Rechteck nach deinen Bedürfnissen an.
- Der Filter <option>rectangle</option> kann dabei helfen, indem er dir erlaubt,
- das Rechteck interaktiv über dem Film zu positionieren.
- Vergiss nicht, den oben genannten Teilbarkeitsrichtwerten zu folgen, sodass du
- die Chroma-Ebenen nicht verkehrt anordnest.
- </para>
-
- <para>
- In bestimmten Fällen könnte Skalieren nicht wünschenswert sein.
- Skalierung in vertikaler Richtung ist mit interlaced Video
- schwierig, und wenn du das Interlacing beibehalten willst, solltest
- du für gewöhnlich das Skalieren bleiben lassen.
- Hast du nicht vor zu skalieren, willst aber nach wie vor Abmessungen
- in einem Vielfachen von 16 verwenden, musst du über den Rand
- hinausschneiden.
- Schneide aber lieber nicht über den Rand hinaus, da schwarze Ränder
- sehr schlecht zu encodieren sind!
- </para>
-
- <para>
- Weil MPEG-4 16x16 Macroblöcke nutzt, solltest du dich vergewissern,
- dass jede Abmessung des zu encodierenden Videos ein Vielfaches von
- 16 ist oder du verschlechterst andernfalls die Qualität, speziell bei
- niedrigeren Bitraten. Du kannst dies durch Abrunden der Breite und
- Höhe des Ausschnittsrechtecks hinunter auf den nächsten Wert eines
- Vielfachen von 16 erreichen.
- Wie früher bereits erklärt, wirst du beim Abschneiden das y-Offset
- um die Hälfte der Differenz der alten und neuen Höhe erhöhen wollen,
- sodass das daraus resultierende Video aus der Mitte des Frames genommen
- wird. Und stelle wegen der Art, wie ein DVD-Video gesampelt wird, sicher,
- dass das Offset eine gerade Zahl ist. (Verwende in der Tat - als eine
- Regel - nie ungerade Werte für irgendwelche Parameter beim Abschneiden
- oder Skalieren eines Videos) Wenn du dich beim Wegwerfen einiger extra
- Pixel nicht wohl fühlst, ziehst du es stattdessen vor, das Video zu
- skalieren.
- Wir werden uns dies im unten stehenden Beispiel mal ansehen.
- Du kannst den <option>cropdetect</option>-Filter sogar alles oben erwähnte
- für dich erledigen lassen, da dieser einen optionalen Parameter
- <option>round</option> besitzt, der standardmäÃig gleich 16 ist.
- </para>
-
- <para>
- Pass auch auf "halbschwarze" Pixel an den Kanten auf. Stelle sicher, dass
- du diese ebenfalls mit abschneidest oder du vergeudest dort Bits, wo sie
- doch besser anderswo verwendet werden sollten.
- </para>
-
- <para>
- Nachdem nun alles gesagt ist, wirst du möglicherweise bei einem
- Video landen, dessen Pixel nicht ganz 1.85:1 oder 2.35:1, aber ziemlich
- nahe dran sind. Du könntest ein neues Seitenverhältnis manuell berechnen,
- aber <application>MEncoder</application> bietet eine Option für
- <systemitem class="library">libavcodec</systemitem> genannt
- <option>autoaspect</option>, die das für dich erledigt.
- Skaliere dieses Video auf keinen Fall hoch, um die Pixel abzugleichen
- solange du keinen Festplattenplatz verschwenden willst.
- Das Skalieren sollte beim Playback gemacht werden und der Player wird das
- in der AVI gespeicherte Seitenverhältnis zur Bestimmung der besten
- Auflösung verwenden.
- Unglücklicherweise erzwingen nicht alle Player diese Auto-Skalierinformation,
- und deshalb willst du vielleicht trotzdem neu skalieren.
- </para>
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
- <title>Auswahl von Auflösung und Bitrate</title>
-
- <para>
- Wenn du nicht vor hast, im Modus mit konstantem Quantisier zu encodieren,
- musst du eine Bitrate auswählen.
- Das Konzept der Bitrate ist denkbar einfach.
- Sie ist die (mittlere) Anzahl Bits, die pro Sekunde zum Speichern des
- Films verbraucht werden.
- Normalerweise wird die Bitrate in Kilobit (1000 Bit) pro Sekunde gemessen.
- Die GröÃe deines Films auf der Platte ist die Bitrate multipliziert mit der
- Dauer des Films, plus einem kleinen "Overhead" (siehe zum Beispiel in der
- Sektion über
- <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">den AVI-Container</link>).
- Weitere Parameter wie Skalierung, Cropping, usw. werden die DateigröÃe
- <emphasis role="bold">nicht</emphasis> ändern, solange du nicht auch
- die Bitrate veränderst!
- </para>
- <para>
- Die Bitrate skaliert <emphasis role="bold">nicht</emphasis> proportional
- zur Auflösung.
- Dies bedeutet, eine Datei 320x240 mit 200 KBit/Sek wird nicht dieselbe
- Qualität aufweisen wie der gleiche Film bei 640x480 und 800 KBit/Sek!
- Dafür gibt es zwei Gründe:
- <orderedlist>
- <listitem>
- <para>
- <emphasis role="bold">Wahrnehmbar</emphasis>: du bemerkst
- MPEG-Artefakte eher, wenn sie gröÃer hochskaliert sind!
- Artefakte erscheinen bei einer Skalierung von Blöcken (8x8).
- Dein Auge wird in 4800 kleinen Blöcken nicht so leicht Fehler sehen
- wie es welche in 1200 groÃen Blöcken sieht (vorausgesetzt du skalierst
- beide auf Vollbild).
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Theoretisch</emphasis>: Wenn du ein Bild
- runterskalierst, aber nach wie vor die selbe GröÃe der (8x8)
- Blöcke zur Frequenzraumtransformation verwendest, bewegst Du
- mehr Daten in die Hochfrequenzbänder.
- Grob gesagt, jedes Pixel enthält mehr des Details als es dies
- zuvor tat.
- Somit enthält dein herunterskaliertes Bild 1/4 der Information
- in räumlichen Richtungen, es könnte immer noch einen hohen Anteil
- Information im Frequenzbereich enthalten (vorausgesetzt dass die
- hohen Frequenzen im originalen 640x480 Bild nicht ausgenutzt wurden).
- </para>
- </listitem>
- </orderedlist>
- </para>
- <para>
- Vergangene Leitfäden legten nahe, eine Bitrate und Auflösung zu wählen,
- die auf eine "Bits pro Pixel"-Näherung basieren, dies ist jedoch im
- allgemeinen aus oben genannten Gründen nicht gültig.
- Eine bessere Schätzung scheint zu sein, dass Bitraten proportional zur
- Quadratwurzel der Auflösung skalieren, sodass 320x240 und 400 KBit/Sek
- vergleichbar mit 640x480 bei 800 KBit/Sek wären.
- Dies wurde aber nicht mit theoretischer oder empirischer Strenge verifiziert.
- Desweiteren ist es in Anbetracht der Tatsache, dass Filme in Bezug auf Rauschen, Details,
- Bewegungsgrad usw. auÃerordentlich variieren, zwecklos, allgemeine Empfehlungen
- für die Bits pro Diagonallänge (dem Analog zu Bits pro Pixel
- unter Verwendung der Quadratwurzel) abzugeben.
- </para>
- <para>
- So weit haben wir nun die Schwierigkeit der Wahl von Bitrate und
- Auflösung diskutiert.
- </para>
-
-
- <sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
- <title>Berechnen der Auflösung</title>
- <para>
- Die folgenden Schritte werden dich in der Berechnung der Auflösung
- deiner Encodierung anleiten, ohne das Video allzusehr zu verzerren,
- indem verschiedene Typen von Informationen über das Quellvideo in
- Betracht gezogen werden.
- Zuerst solltest du die encodierte Auflösung berechnen:
- <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
- <itemizedlist>
- <title>wobwei:</title>
- <listitem>
- <para>
- Wc und Hc die Breite und Höhe des zugeschnittenen Videos darstellen
- </para>
- </listitem>
- <listitem>
- <para>
- ARa das angezeigte Seitenverhältnis ist, das üblicherweise 4/3 oder 16/9 beträgt
- </para>
- </listitem>
- <listitem>
- <para>
- PRdvd das Pixelverhältnis der DVD ist, welches gleich 1.25=(720/576) für
- PAL-DVDs und 1.5=(720/480) für NTSC-DVDs beträgt
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
- Dann kannst du die X- und Y-Auflösung berechnen, gemäà eines gewisse Faktors
- der Kompressionsqualität (CQ):
- <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
- und
- <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
- </para>
-
- <para>
- Okay, aber was ist der CQ?
- Der CQ repräsentiert die Anzahl Bits pro Pixel und pro Frame der Encodierung.
- Grob ausgedrückt, je gröÃer der CQ, desto geringer die Wahrscheinlichkeit,
- Encodierungsartefakte zu sehen.
- Trotz allem, wenn du eine ZielgröÃe für deinen Film hast (1 oder 2 CDs zum Beispiel),
- gibt es eine begrenzte Gesamtzahl an Bits, die du aufwenden kannst; deswegen ist es
- notwendig, einen guten Kompromiss zwischen Komprimierbarkeit und Qualität zu suchen.
- </para>
-
- <para>
- Der CQ hängt von der Bitrate, der Effektivität des Videocodecs und der
- Filmauflösung ab.
- Um den CQ anzuheben, könntest du typischerweise den Film unter der Annahme
- herunterskalieren, dass die Bitrate mit der Funktion der ZielgröÃe und der
- Länge des Films berechnest, die ja konstant sind.
- Mit MPEG-4 ASP-Codecs wie <systemitem class="library">Xvid</systemitem>
- und <systemitem class="library">libavcodec</systemitem>, resultiert ein CQ
- unter 0.18 für gewöhnlich in einem ziemlich blockhaften Bild, weil nicht
- genug Bits zum Codieren der Information jedes Macroblocks vorhanden sind.
- (MPEG4, wie auch viele andere Codecs, gruppiert Pixel nach Blöcken verschiedener
- Pixel, um das Bild zu komprimieren; sind nicht genügend Bits vorhanden,
- werden die Kanten dieser Blöcke sichtbar.)
- Es ist daher weise, einen CQ im Bereich von 0.20 bis 0.22 für einen 1 CD-Rip
- und 0.26-0.28 für einen 2 CD-Rip mit Standard-Encodieroptionen zu nehmen.
- Höherentwickelte Encodieroptionen wie die hier für
- <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
- und
- <link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
- aufgelisteten sollten es möglich machen, dieselbe Qualität mit einem CQ im Bereich
- von 0.18 bis 0.20 für einen 1 CD-Rip und 0.24 bis 0.26 für einen 2 CD-Rip zu erreichen.
- Mit den MPEG-4 AVC-Codecs wie <systemitem class="library">x264</systemitem>,
- kannst du einen CQ im Bereich von 0.14 bis 0.16 mit Standard-Encodieroptionen
- verwenden, und solltest bis auf 0.10 bis 0.12 mit den
- <link linkend="menc-feat-x264-example-settings">erweiterten Encodieroptionen von <systemitem class="library">x264</systemitem></link>
- runter gehen können.
- </para>
-
- <para>
- Bitte nimm zur Kenntnis, dass der CQ lediglich eine richtungsweisendes Maà ist,
- da sie vom encodierten Inhalt abhängt. Ein CQ von 0.18 kann für einen
- Bergman-Film recht hübsch aussehen, im Gegensatz zu einem Film wie
- The Matrix, der jede Menge High-Motion-Szenen enthält.
- Auf der anderen Seite ist es nutzlos, den CQ höher als 0.30 zu schrauben,
- da du ohne spürbaren Qualitätsgewinn Bits vergeuden würdest.
- Beachte ebenso, dass wie früher in diesem Handbuch bereits angemerkt,
- niedrig auflösende Videos einen gröÃeren CQ benötigen, um gut auszusehen
- (im Vergleich z.B. zur DVD-Auflösung).
- </para>
- </sect3>
-
- </sect2>
-
- <sect2 id="menc-feat-dvd-mpeg4-filtering">
- <title>Filtern</title>
-
- <para>
- Zu lernen, wie man <application>MEncoder</application>s Videofilter
- verwendet, ist essentiell, um gute Encodierungen zu produzieren.
- Jede Videoverarbeitung wird über Filter ausgeführt -- Ausschneiden,
- Skalieren, Farbanpassung, Rauschentfernung, Scharfzeichnen, Deinterlacing,
- telecine, inverses telecine und Deblocking, um nur ein paar davon aufzuzählen.
- Zusammen mit der gewaltigen Zahl unterstützter Inputformate, ist die Vielfalt der
- in <application>MEncoder</application> verfügbaren Filter eine seiner
- Hauptvorteile im Vergleich zu ähnlichen Programmen.
- </para>
-
- <para>
- Filter werden in einer Kette über die Option -vf geladen:
-
- <screen>-vf filter1=Optionen,filter2=Optionen,...</screen>
-
- Die meisten Filter nehmen mehrere numerische, kommagetrennte
- Optionen entgegen, jedoch variiert die Syntax der Optionen von
- Filter zu Filter, also lies bitte die Manpage für Details
- zu den Filtern, die du verwenden willst.
- </para>
-
- <para>
- Filter wirken auf das Video in der Reihenfolge ein, in der sie geladen werden.
- Zum Beispiel wird folgende Kette:
-
- <screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
- zuerst den Bereich 688x464 aus dem Bild schneiden mit der oberen, linken
- Ecke bei (12,4) und danach das Ergebnis auf 640x464 herunter skalieren.
- </para>
-
- <para>
- Bestimmte Filter müssen zu oder nahe dem Anfang der Filterkette geladen
- werden, um Vorteile aus den Informationen des Videodecoders zu ziehen,
- die ansonsten durch andere Filter verloren gehen oder ungültig gemacht
- würden.
- Die wichtigsten Beispiele sind <option>pp</option>
- (Nachbearbeitung (postprocessing), nur wenn es Deblock- oder
- Dering-Operationen durchführt), <option>spp</option> (ein weiterer
- Postprozessor zum Entfernen von MPEG-Artefakten), <option>pullup</option>
- (umgekehrtes telecine) und <option>softpulldown</option> (zur Konvertierung
- von soft telecine nach hard telecine).
- </para>
-
- <para>
- Im Allgemeinen solltest du den Film so wenig wie möglich Filtern, um
- nahe an der originalen DVD-Quelle zu bleiben. Ausschneiden ist oft
- notwendig (wie oben beschrieben), vermeide aber das Skalieren von Videos.
- Obwohl das Herunterskalieren manchmal vorgezogen wird, um höhere Quantisierer
- zu verwenden, wollen wir beide diese Dinge vermeiden: Erinnere dich daran,
- dass wir von Anfang an beschlossen hatten, einen Kompromiss zwischen
- Bits und Qualität zu schlieÃen.
- </para>
-
- <para>
- Passe ebenso kein Gamma, Kontrast, Helligkeit, usw. an. Was auf deinem
- Display gut aussieht, sieht auf anderen eventuell nicht gut aus. Diese
- Anpassungen sollten nur im Playback vorgenommen werden.
- </para>
-
- <para>
- Eine Sache, die du vielleicht machen willst, ist, das Video durch einen sehr
- feinen Entrauschfilter (Denoise) zu schicken, wie etwa <option>-vf hqdn3d=2:1:2</option>.
- Nochmals, es geht darum, die Bits einer besseren Verwendung zuzuführen: Warum
- Bits zum Encodieren des Rauschens verschwenden, wenn du dieses Rauschen auch
- während des Playback entfernen kannst?
- Die Parameter für <option>hqdn3d</option> zu erhöhen, wird überdies
- die Komprimierbarkeit erhöhen, erhöhst du jedoch die Werte zu sehr, riskierst Du
- eine Verringerung der Bildsichtbarkeit. Die oben vorgeschlagenen Werte
- (<option>2:1:2</option>) sind ziemlich konservativ; du solltest dich frei
- fühlen, mit höheren Werten herumzuexperimentieren und die Ergebnisse
- selbst zu beobachten.
- </para>
-
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-interlacing">
- <title>Interlacing und Telecine</title>
-
- <para>
- Nahezu alle Filme sind bei 24 fps aufgenommen. Weil NTSC 30000/1001 fps entspricht,
- müssen mit diesen 24 fps Videos einige Verarbeitungen durchgeführt werden,
- um sie mit der korrekten NTSC-Framerate laufen zu lassen. Der Prozess wird 3:2
- pulldown genannt, allgemein telecine zugeordnet (weil pulldown des öfteren
- während des telecine-Prozesses angewandt wird), und naiv so beschrieben,
- dass er durch Verlangsamung des Films auf 24000/1001 fps und dem
- Wiederholen jeden vierten Frames arbeitet.
- </para>
-
- <para>
- Keine spezielle Verarbeitung ist jedoch bei einem Video für PAL-DVDs
- durchzuführen, das bei 25 fps läuft. (Technisch gesehen kann PAL telecined
- werden, 2:2 pulldown genannt, dies ist jedoch in der Praxis nicht von Bedeutung.)
- Der 24 fps Film wird einfach mit 25 fps abgespielt. Das Resultat ist, dass
- der Film ein wenig schneller abläuft, doch solange du kein Alien bist, wirst
- du möglicherweise keinen Unterschied wahrnehmen.
- Die meisten PAL-DVDs haben pitch-korrigiertes Audio, dadurch hören sie sich
- bei 25 fps abgespielt korrekt an, obwohl der Audiotrack (und infolgedessen der
- gesamte Film) eine 4% kürzere Abspielzeit hat wie NTSC-DVDs.
- </para>
-
- <para>
- Weil das Video in einer PAL-DVD nicht verändert wurde, musst du dich nicht
- viel um die Framerate sorgen. Die Quelle ist 25 fps und dein Rip wird 25
- fps haben. Wenn du jedoch einen NTSC-DVD-Film rippst, musst du eventuell
- umgekehrtes telecine anwenden.
- </para>
-
- <para>
- Für mit 24 fps aufgenommene Filme ist das Video auf der NTSC-DVD entweder telecined
- 30000/1001 oder hat andernfalls progressive 24000/1001 fps und es ist vorgesehen,
- on-the-fly vom DVD-Player telecined zu werden. Auf der anderen Seite sind TV-Serien
- üblicherweise nur interlaced, nicht telecined. Dies ist keine feste Regel: Einige
- TV-Serien sind interlaced (wie etwa Buffy die Vampirjägerin), wogegen andere
- eine Mixtur aus progressive und interlaced sind (so wie Angel oder 24) - wers kennt :).
- </para>
-
- <para>
- Es wird strengstens empfohlen, die Sektion über
- <link linkend="menc-feat-telecine">Wie mit telecine und interlacing in NTSC-DVDs umgehen</link>
- durchzulesen, um den Umgang mit den verschiedenen Möglichkeiten zu lernen.
- </para>
-
- <para>
- Wenn du aber hauptsächlich nur Filme rippst, gehst du wahrscheinlich entweder
- mit 24 fps progressivem oder telecined Video um, in welchem Falle du
- den Filter <option>pullup</option> mittels <option>-vf pullup,softskip</option>
- verwenden kannst.
- </para>
-
- </sect2>
-
- <sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
- <title>Interlaced Video encodieren</title>
-
- <para>
- Ist der Film, den du encodieren willst, interlaced (NTSC-Video oder
- PAL-Video), wirst du wählen müssen, ob du ihn deinterlacen willst
- oder nicht.
- Während das Deinterlacing deinen Film zwar auf progressiven Scan-Displays
- wie Computermonitoren und Projektoren verwendbar macht, wird dich dies
- doch etwas kosten: Die Feldrate von 50 oder 60000/1001 Feldern pro Sekunde
- wird auf 25 oder 30000/1001 Frames pro Sekunde halbiert und annähernd die
- Hälfte der Informationen in deinem Film geht während Szenen mit
- signifikanter Bewegung verloren.
- </para>
-
- <para>
- Deswegen wird empfohlen, wenn du aus Gründen hochqualitativer
- Archivierung encodierst, kein Deinterlacing durchzuführen.
- Du kannst den Film immer noch beim Playback deinterlacen,
- wenn du ihn auf progressiven Scan-Geräten anzeigst. Und zukünftige
- Player werden in der Lage sein, auf volle Feldrate zu
- deinterlacen, mit Interpolation auf 50 oder 60000/1001 komplette
- Frames pro Sekunde aus interlaced Video heraus.
- </para>
-
- <para>
- Spezielle Sorgfalt solltest du bei der Arbeit mit interlaced Video walten lassen:
- </para>
-
- <orderedlist>
- <listitem>
- <para>
- Ausschneidehöhe und y-Offset müssen Vielfache von 4 sein.
- </para>
- </listitem>
- <listitem>
- <para>
- Jedes vertikale Skalieren muss im interlaced Modus durchgeführt werden.
- </para>
- </listitem>
- <listitem>
- <para>
- Nachbearbeitungs- (postprocessing) und Rauschunterdrückungsfilter (denoising)
- funktionieren eventuell nicht wie erwartet, wenn du nicht speziell darauf achtest,
- dass sie zu einem Zeitpunkt nur ein Feld verarbeiten, und sie können das Video
- kaputt machen, wenn sie inkorrekt angewendet werden.
- </para>
- </listitem>
- </orderedlist>
-
- <para>
- Mit diesen Dingen im Kopf, hier das erste Beispiel:
- </para>
-<screen>mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
-vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224</screen>
- <para>
- Beachte die Optionen <option>ilme</option> und <option>ildct</option>.
- </para>
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-av-sync">
- <title>Anmerkungen zur Audio-/Videosynchronisation</title>
- <para>
- <application>MEncoder</application>s Algorithmen der Audio-/Videosynchronisation
- wurden mit der Intention entwickelt, Dateien mit kaputter Sychronisation wieder herzustellen.
- In einigen Fällen können unnötiges Ãberspringen und Duplizieren
- von Frames und möglicherweise leichte A/V-Desynchronisation verursachen, auch wenn sie
- mit dem richtigen Input verwendet werden
- (gewiss, Probleme mit A/V-Synchronisation treffen nur zu, wenn du den Audiotrack während
- der Transcodierung des Videos verarbeitest oder kopierst, wozu auch nachhaltig
- ermutigt wird).
- Hierfür müsstest du mit der Option <option>-mc 0</option> in die
- Grundeinstellung der A/V-Synchronisation wechseln oder diese in deine
- <systemitem>~/.mplayer/mencoder</systemitem> Konfigurationsdatei eintragen,
- solange du ausschlieÃlich mit guten Quellen arbeitest (DVD, TV-Capture,
- hochqualitativen MPEG-4-Rips usw.) und mit nicht-kaputten ASF/RM/MOV-Dateien.
- </para>
- <para>
- Wenn du dich überdies gegen merkwürdige Frameübersprünge und -duplikationen
- absichern willst, kannst du beides verwenden, <option>-mc 0</option>
- und <option>-noskip</option>.
- Dies verhindert <emphasis>jede</emphasis> A/V-Synchronisation und kopiert die Frames
- eins-zu-eins, somit kannst du sie nicht verwenden, falls du irgendwelche Filter
- verwendest, die unvorhersagbar Frames hinzufügen oder streichen oder falls
- deine Input-Datei eine variable Framerate besitzt!
- Deshalb wird eine allgemeine Anwendung von <option>-noskip</option> nicht empfohlen.
- </para>
- <para>
- Die von <application>MEncoder</application> unterstützte sogenannte
- "3-pass" Audioencodierung soll laut Berichten A/V-Desynchronisation
- verursachen.
- Dies geschieht definitiv dann, wenn sie in Verbindung mit bestimmten Filtern
- verwendet wird, daher wird <emphasis>nicht</emphasis> empfohlen, den
- 3-pass-Audio-Modus anzuwenden.
- Dieses Feature ist nur aus Kompatibilitätsgründen übrig geblieben und für
- erfahrene Benutzer, die wissen, wann es sicher anzuwenden ist und wann nicht.
- Wenn du zuvor noch nie etwas vom 3-pass-Modus gehört hast, vergiss, dass wir es je
- erwähnt haben!
- </para>
- <para>
- Es gab auch Berichte über A/V-Desynchronisation, wenn
- mit <application>MEncoder</application> von stdin encodiert wurde.
- Lass das bleiben! Verwende immer eine Datei oder ein CD/DVD/usw-Laufwerk
- als Input.
- </para>
- </sect2>
-
- <sect2 id="menc-feat-dvd-mpeg4-codec">
- <title>Auswahl des Videocodecs</title>
-
- <para>
- Welcher Videocodec die beste Wahl ist, hängt von mehreren Faktoren
- wie GröÃe, Qualität, Streambarkeit, Brauchbarkeit und Popularität, manche
- davon weitgehend vom persönlichen Geschmack und technischen
- Randbedingungen ab.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">Kompressionseffizienz</emphasis>:
- Es ist leicht zu verstehen, dass die meisten Codecs der neueren Generation
- dafür gemacht wurden, Qualität und Komprimierung zu verbessern.
- Deshalb behauptet der Autor dieses Handbuches und viele andere Leute, dass
- du nichts verkehrt machen kannst,
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'>
- <para>Sei trotzdem vorsichtig: MPEG-4 AVC-Videos in DVD-Auflösung zu
- decodieren erfordert einen schnellen Rechner (z.B. einen Pentium 4
- über 1.5GHz oder einen Pentium M über 1GHz).
- </para>
- </footnote>
- wenn du MPEG-4 AVC-Codecs wie
- <systemitem class="library">x264</systemitem> anstatt MPEG-4 ASP-Codecs
- wie <systemitem class="library">libavcodec</systemitem> MPEG-4 oder
- <systemitem class="library">Xvid</systemitem> wählst.
- (Zukunftsorientierte Codec-Entwickler interessiert eventuell Michael
- Niedermayers Meinung
- "<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>"
- zu lesen.)
- Ebenso solltest du mit MPEG-4 ASP eine bessere Qualität erhalten als mit
- MPEG-2-Codecs.
- </para>
- <para>
- Allerdings können neuere Codecs, die noch stark in der Entwicklung stecken,
- unter unentdeckten Bugs leiden, die die Encodierung ruinieren können.
- Dies nimmt man schlicht in Kauf, wenn man "bleeding edge"-Technologie
- verwendet.
- </para>
- <para>
- AuÃerdem erfordert der Umgang mit einem neuen Codec und sich mit dessen Optionen
- vertraut zu machen eine Zeit, bis du weiÃt, was alles anzupassen
- ist, um die erhoffte Bildqualität zu erreichen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Hardware-Kompatibilität</emphasis>:
- Gewöhnlich dauert es bei neuen standalone Video-Playern lange, bis der
- Support für die neuesten Videocodecs eingebunden ist.
- Als ein Ergebnis unterstützen die meisten nur MPEG-1 (wie VCD, XVCD
- und KVCD), MPEG-2 (wie DVD, SVCD und KVCD) und MPEG-4 ASP (wie DivX,
- LMP4 von <systemitem class="library">libavcodec</systemitem> und
- <systemitem class="library">Xvid</systemitem>)
- (Vorsicht: Im Allgemeinen werden nicht alle MPEG-4 ASP-Features unterstützt).
- Sieh bitte in den technischen Spezifikationen deines Players nach (falls
- welche vorhanden sind) oder google nach mehr Informationen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Beste Qualität pro Encodierzeit</emphasis>:
- Codecs, die es schon einige Zeit gibt (wie
- <systemitem class="library">libavcodec</systemitem> MPEG-4 und
- <systemitem class="library">Xvid</systemitem>), sind gewöhnlich heftig
- mit allen möglichen intelligenten Algorithmen und SIMD Assembly-Code optimiert.
- Das sind sie deshalb, weil sie darauf abzielen, das beste Verhältnis von Qualität
- pro Encodierzeit zu liefern.
- Jedoch haben sie oft einige sehr fortschrittliche Optionen, die,
- wenn aktiviert, das Encodieren bei marginalem Gewinn wirklich langsam
- machen.
- </para>
- <para>
- Wenn du es auf die Wahnsinnsgeschwindigkeit abzielst, solltest du
- in der Nähe der Standardeinstellungen des Videocodecs bleiben
- (obwohl du ruhig weitere Optionen ausprobieren solltest, die in
- anderen Sektionen dieses Handbuchs angesprochen werden).
- </para>
- <para>
- Vielleicht überlegst du auch, einen Codec auszuwählen, der mit
- Multi-Threading klarkommt, was nur für Benutzer von Rechnern
- mit mehreren CPUs von Nutzen ist.
- <systemitem class="library">libavcodec</systemitem> MPEG-4 erlaubt
- dies zwar, aber die Geschwindigkeitsgewinne sind begrenzt und es gibt
- einen leicht negativen Effekt in Bezug auf die Bildqualität.
- Die Multi-Thread-Encodierung von <systemitem class="library">Xvid</systemitem>,
- durch die Option <option>threads</option> aktiviert, kann zum Ankurbeln
- der Encodiergeschwindigkeit - um in typischen Fällen etwa 40-60% -
- bei wenn überhaupt geringer Bildverschlechterung verwendet werden.
- <systemitem class="library">x264</systemitem> erlaubt ebenfalls
- Multi-Thread-Encodierung, was das Encodieren momentan um 94% beschleunigt
- bei gleichzeitiger Verringerung des PSNR um einen Wert zwischen 0.005dB und 0.01dB.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Persönlicher Geschmack</emphasis>:
- Hier beginnt die Angelegenheit oft irrational zu werden: Aus den selben
- Gründen, aus denen manche über Jahre an DivX 3 hängen, während neuere
- Codecs bereits Wunder wirken, ziehen einige Leute
- <systemitem class="library">Xvid</systemitem>
- oder <systemitem class="library">libavcodec</systemitem> MPEG-4 dem
- <systemitem class="library">x264</systemitem> vor.
- </para>
- <para>
- Du solltest dir dein eigenes Urteil bilden; lass dich nicht von Leuten
- vollquasseln, die auf den einen Codec schwören.
- Nimm ein paar Beispiel-Clips von Originalquellen und vergleiche die
- verschiedenen Encodier-Optionen und Codecs, um den einen zu finden, mit
- dem du am besten klarkommst.
- Der beste Codec ist der, den du beherrschst und der in deinen Augen
- auf deinem Display am besten aussieht.
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
- <para>Dieselbe Encodierung kann auf dem Monitor eines anderen vollkommen
- anders aussehen oder wenn sie von einem anderen Decoder abgespielt wird,
- also mach deine Encodierungen zukunftssicher indem du sie unter verschiedenen
- Setups ablaufen lässt.</para></footnote>!
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Sieh dazu bitte in der Sektion
- <link linkend="menc-feat-selecting-codec">Auswahl der Codecs und Containerformate</link>
- nach der Liste der unterstützten Codecs.
- </para>
- </sect2>
-
- <sect2 id="menc-feat-dvd-mpeg4-audio">
- <title>Audio</title>
-
- <para>
- Audio ist ein leichter zu lösendes Problem: Wenn du Wert auf Qualität legst,
- lass es einfach so wie es ist.
- Gerade AC3 5.1 Streams sind meist 448Kbit/s und jedes Bit wert.
- Möglicherweise gerätst du in Versuchung, Audio in hochwertiges Vorbis
- umzuwandeln, aber nur weil du heute keinen A/V-Receiver für AC3-pass-through
- besitzt, bedeutet dies nicht, dass du nicht morgen doch einen hast.
- Halte deine DVD-Rips zukunftssicher, indem du den AC3-Stream beibehältst.
- Du behältst den AC3-Stream entweder, indem du ihn
- <link linkend="menc-feat-mpeg4">während der Encodierung</link>
- direkt in den Video-Stream kopierst.
- Du kannst den AC3-Stream aber auch extrahieren, um ihn in Container wie NUT
- oder Matroska zu muxen.
- <screen>mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable></screen>
- dumpt Audiotrack Nummer 129 aus der Datei <replaceable>source_file.vob</replaceable>
- (NB: DVD-VOB-Dateien verwenden gewöhnlich andere Audionummerierungen,
- was bedeutet, dass der VOB-Audiotrack 129 der 2-te Audiotrack der Datei ist)
- in die Datei <replaceable>sound.ac3</replaceable>.
- </para>
-
- <para>
- Aber manchmal hast du wirklich keine andere Wahl als den Sound weiter zu
- komprimieren, sodass mehr Bits fürs Video aufgewendet werden können.
- Die meisten Leute entscheiden sich für eine Audiokomprimierung mit MP3- oder
- Vorbis-Audiocodecs.
- Wobei letzterer ein sehr platzsparender Codec ist, MP3 wird von Hardware-Playern
- besser unterstützt, wobei sich dieser Trend auch ändert.
- </para>
-
- <para>
- Verwende <emphasis>nicht</emphasis> <option>-nosound</option> beim Encodieren
- einer Datei, die Audio enhält, sogar wenn du Audio später separat
- encodierst und muxt.
- Zwar kann es im Idealfall manchmal funktionieren, wenn du <option>-nosound</option>
- verwendest, wahrscheinlich um einige Probleme in deinen
- Encodier-Befehlszeileneinstellungen zu verbergen.
- In anderen Worten, einen Soundtrack während dem Encodieren zu haben, stellt sicher,
- vorausgesetzt du siehst keine Meldungen wie
- <quote>Too many audio packets in the buffer</quote>, dass du in der Lage sein
- wirst, eine korrekte Synchronisation zu erhalten.
- </para>
-
- <para>
- Du brauchst <application>MEncoder</application> zur Verarbeitung des Sounds.
- Du kannst zum Beispiel den originalen Soundtrack während dem Encodieren mit
- <option>-oac copy</option> kopieren oder ihn mittels
- <option>-oac pcm -channels 1 -srate 4000</option> in eine "leichte"
- 4 kHz Mono WAV-PCM konvertieren.
- Anderenfalls wird er - in einigen Fällen - eine Videodatei erzeugen, die
- nicht mit Audio synchron läuft.
- So was kommt vor, wenn die Anzahl der Videoframes in der Quelldatei nicht
- mit der Gesamtlänge der Audioframes zusammenpasst oder immer dann, wenn
- Unstetigkeiten/Splices vorhanden sind, wo Audioframes oder extra Audioframes
- fehlen.
- Der korrekte Weg, mit dieser Art Problem umzugehen, ist Stille (silence)
- einzufügen oder Audio an diesen Punkten wegzuschneiden.
- Seis drum, <application>MPlayer</application> kann das nicht, also wenn du
- AC3-Audio demuxt und es in einer separaten Anwendung encodierst (oder
- es mit <application>MPlayer</application> in eine PCM dumpst), die Splices
- bleiben inkorrekt und der einzige Weg sie zu korrigieren ist, Videoframes
- an diesem Splice zu streichen bzw. zu duplizieren.
- Solange <application>MEncoder</application> Audio beim Encodieren des
- Videos sieht, kann er dieses Streichen/Duplizieren erledigen (was
- gewöhnlich OK ist, da es bei voller Schwärze/Szenenwechsel stattfindet),
- aber wenn <application>MEncoder</application> Audio nicht erkennen kann,
- wird er einfach alle Frames so wie sie ankommen verarbeiten und sie werden
- einfach nicht zum endgültigen Audiostream passen, wenn du beispielsweise
- deinen Audio- und Videotrack in eine Matroska-Datei mergst.
- </para>
-
- <para>
- Zuallererst wirst du den DVD-Sound in eine WAV-Datei konvertieren müssen, die
- der Audiocodec als Input nutzen kann.
- Zum Beispiel:
- <screen>mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
- wird den zweiten Audiotrack aus der Datei <replaceable>source_file.vob</replaceable>
- in die Datei <replaceable>destination_sound.wav</replaceable> dumpen.
- Vielleicht willst du den Sound vor dem Encodieren normalisieren, da
- DVD-Audiotracks gemeinhin bei niedriger Lautstärke aufgenommen sind.
- Du kannst beispielsweise das Tool <application>normalize</application> verwenden,
- das in den meisten Distributionen zur Verfügung steht.
- Wenn du Windows nutzt, kann ein Tool wie <application>BeSweet</application>
- denselben Job erledigen.
- Du wirst entweder nach Vorbis oder MP3 komprimieren.
- Zum Beispiel:
- <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen>
- wird <replaceable>destination_sound.wav</replaceable> mit
- der Encodierqualität 1 encodieren, was annähernd 80Kb/s ergibt und
- die Minimalqualität darstellt, mit der du encodieren solltest, wenn du
- Wert auf Qualität legst.
- Nimm bitte zur Kenntnis, dass <application>MEncoder</application> aktuell keine Vorbis-Audiotracks
- in die Output-Datei muxen kann, da er nur AVI- und MPEG-Container als
- Output unterstützt, wobei es beim Audio-/Videoplayback zu
- Synchronisationproblemen mit einigen Playern führen wird, wenn die AVI-Datei
- VBR-Audiostreams wie z.B. Vorbis enthält.
- Keine Bange, dieses Dokument wird dir zeigen, wie du das mit
- Third-Party-Programmen hinbekommst.
- </para>
-
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-muxing">
- <title>Muxen</title>
- <para>
- Nun da du dein Video encodiert hast, wirst du es höchstwahrscheinlich
- mit einem oder mehr Audiotracks in einen Movie-Container wie etwa
- AVI, MPEG, Matroska oder NUT muxen.
- <application>MEncoder</application> ist aktuell nur in der Lage,
- Audio und Video nativ in MPEG- und AVI-Containerformate auszugeben.
- Zum Beispiel:
- <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable></screen>
- würde die Video-Datei <replaceable>input_video.avi</replaceable>
- und die Audio-Datei <replaceable>input_audio.mp2</replaceable>
- in die AVI-Datei <replaceable>output_movie.avi</replaceable> mergen.
- Dieser Befehl funktioniert mit MPEG-1 Layer I, II und III Audio (eher
- bekannt als MP3), WAV und auch mit ein paar weiteren Audioformaten.
- </para>
-
- <para>
- <application>MEncoder</application> zeichnet sich aus durch experimentellen Support für
- <systemitem class="library">libavformat</systemitem>, das eine
- Programmbibliothek des FFmpeg-Projekts ist, welches das Muxen und
- Demuxen einer Vielzahl von Containern unterstützt.
- Zum Beispiel:
- <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf</screen>
- wird das selbe machen, wie das obere Beispiel, auÃer dass der
- Output-Container ASF sein wird.
- Bitte nimm zur Kenntnis, dass dieser Support hochexperimentell ist
- (aber von Tag zu Tag besser wird) und nur funktionieren wird, wenn du
- <application>MPlayer</application> mit aktiviertem Support für
- <systemitem class="library">libavformat</systemitem> kompiliert
- hast (was meint, dass eine Pre-Packaged Binary Version in den meisten
- Fällen nicht funktionieren wird).
- </para>
-
-
- <sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
- <title>Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit</title>
- <para>
- Es kann vorkommen, dass du ernsthafte A/V-Synchronisationsprobleme hast während
- du versuchst, deine Video- und einige Audiotracks zu muxen, wobei es nichts
- ändert, wenn du das Audiodelay anpasst, du bekommst nie eine korrekte
- Synchronisation zu Stande.
- Dies kann vorkommen, wenn du manche Videofilter verwendest, die einige Frames
- weglassen oder duplizieren, wie etwa die inverse telecine-Filter.
- ich kann dich nur dazu ermutigen, den <option>harddup</option>-Videofilter
- ans Ende der Filterkette anzuhängen, um solcherlei Problemen aus dem Weg
- zu gehen.
- </para>
-
- <para>
- Ohne <option>harddup</option> verlässt sich <application>MEncoder</application>,
- wenn er einen Frame duplizieren will, darauf, dass der Muxer eine Marke auf den
- Container setzt, sodass der letzte Frame nochmals angezeigt wird, um
- während des Schreibens des aktuellen Frames synchron zu bleiben.
- Mit <option>harddup</option> wird <application>MEncoder</application>
- statt dessen einfach den zuletzt angezeigten Frame nochmal in die Filterkette
- einschieben.
- Dies bedeutet, dass der Encoder <emphasis>exakt</emphasis> denselben Frame
- zweimal entgegen nimmt und komprimiert.
- Dies ergibt eine etwas gröÃere Datei, verursacht jedoch keine Probleme
- beim Demuxen oder Remuxen in ein anderes Containerformat.
- </para>
-
- <para>
- Du kommst auch nicht um den Einsatz von <option>harddup</option> im
- Zusammenhang mit Containerformaten herum, die nicht allzu fest mit
- <application>MEncoder</application> verlinkt sind, wie etwa diejenigen,
- welche von <systemitem class="library">libavformat</systemitem> unterstützt
- werden, der keine Frameduplikation auf Container-Level unterstützt.
- </para>
- </sect3>
-
-
- <sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
- <title>Limitierungen des AVI-Containers</title>
- <para>
- Obwohl es das am breitesten unterstützte Containerformat nach MPEG-1 ist,
- besitzt AVI auch einige gravierende Nachteile.
- Der vielleicht offensichtlichste ist der Overhead.
- Für jeden Block der AVI-Datei werden 24 Byte auf Header und Indizes
- verschwendet.
- Dies heiÃt übersetzt etwas mehr als 5 MB pro Stunde oder 1-2.5%
- Overhead für einen 700 MB Film. Das sieht nicht nach viel aus, könnte aber
- die Differenz zwischen einem Video mit 700 KBit/Sek oder 714 KBit/Sek
- bedeuten, und jedes bisschen mehr an Qualität zählt.
- </para>
-
- <para>
- Zu dieser schockierenden Ineffizienz kommen bei AVI noch folgende
- wesentlichen Einschränkungen:
- </para>
-
- <orderedlist>
- <listitem>
- <para>
- Nur Inhalt mit festen fps kann gespeichert werden. Dies ist insbesondere
- dann einschränkend, wenn das Originalmaterial, das du encodieren willst,
- gemischter Inhalt ist, zum Beispiel ein Mix aus NTSC-Video und
- Filmmaterial.
- Eigentlich gibt es Hacks, die es ermöglichen, Inhalt mit gemischter
- Framerate in einer AVI unterzubringen, diese vergröÃern jedoch den
- (ohnehin groÃen) Overhead fünffach oder mehr und sind somit ungeeignet.
- </para>
- </listitem>
- <listitem>
- <para>
- Audio in AVI-Dateien muss entweder konstante Bitrate (CBR) oder
- konstante FramegröÃe haben (also alle Frames decodieren zur selben Anzahl
- Samples).
- Unglücklicherweise erfüllt Vorbis, der effektivste Codec, keine dieser
- Anforderungen.
- Deshalb wirst du einen weniger effizienten Codec wie MP3 oder AC3 verwenden
- müssen, wenn du planst, einen Film in AVI zu speichern.
- </para>
- </listitem>
- </orderedlist>
-
- <para>
- Nachdem ich nun all dies erzählt habe, muss ich anmerken, momentan
- unterstützt <application>MEncoder</application> keinen Output mit
- variablen fps oder Vorbis-Encodierung.
- Deswegen magst du dies nicht als Einschränkung ansehen, falls
- <application>MEncoder</application> das einzige Tool ist, das du
- nutzt, um deine Ecodierungen zu produzieren.
- Es ist dennoch möglich, <application>MEncoder</application> nur zur
- Videoencodierung zu verwenden und danach externe Tools, um Audio
- zu encodieren und in ein anderes Containerformat zu muxen.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
- <title>Muxen in den Matroska-Container</title>
- <para>
- Matroska ist ein freies, offenes Containerformat, das darauf abzielt,
- eine Menge erweiterter Features bereitzustellen, mit denen ältere Container
- wie AVI nicht umgehen können.
- Zum Beispiel unterstützt Matroska Audioinhalt mit variabler Bitrate (VBR),
- variable Frameraten (VFR), Kapitel, Dateianhänge,
- Fehlererkennung Error Detection Code (EDC) und modern A/V-Codecs wie "Advanced Audio
- Coding" (AAC), "Vorbis" oder "MPEG-4 AVC" (H.264), so gut wie nichts
- womit AVI etwas anfangen kann.
- </para>
-
- <para>
- Die zum Erzeugen von Matroska-Dateien erforderlichen Tools werden
- zusammen <application>mkvtoolnix</application> genannt und stehen
- für die meisten Unix-Plattformen wie auch <application>Windows</application>
- zur Verfügung.
- Weil Matroska ein offener Standard ist, findest du vielleicht andere
- Tools, die sich besser für dich eignen, aber da mkvtoolnix das am meisten
- Verbreitete ist und von Matroska selbst unterstützt wird, werden wir nur
- dessen Anwendung einbeziehen.
- </para>
-
- <para>
- Möglicherweise der einfachste Weg, mit Matroska anzufangen, ist
- <application>MMG</application> zu verwenden, das grafische Frontend,
- das mit <application>mkvtoolnix</application> daherkommt, und dem
- <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink>
- zu folgen.
- </para>
-
- <para>
- Du kannst Audio und Video-Dateien auch per Befehlszeile muxen:
- <screen>mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable></screen>
- würde die Video-Datei <replaceable>input_video.avi</replaceable>
- und die zwei Audio-Dateien <replaceable>input_audio1.mp3</replaceable>
- und <replaceable>input_audio2.ac3</replaceable> in die Matroska-Datei
- <replaceable>output.mkv</replaceable> mergen.
- Matroska, wie zuvor beschrieben, ist in der Lage, noch viel mehr als
- das zu tun, wie etwa multiple Audiotracks (inklusive Feintuning der
- Audio-/Videosynchronisation), Kapitel, Untertitel, Splitting, usw...
- Sieh bitte in den Dokumentationen dieser Anwendungen nach mehr Details.
- </para>
-
- </sect3>
-
- </sect2>
-
- </sect1>
-
- <sect1 id="menc-feat-telecine">
- <title>Wie mit telecine und interlacing in NTSC-DVDs umgehen</title>
-
- <sect2 id="menc-feat-telecine-intro">
- <title>Einführung</title>
- <formalpara>
- <title>Was ist telecine?</title>
- <para>
- Wenn du nicht viel von dem verstehst, was in diesem Dokument beschrieben wird, lies den
- <ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia-Artikel über Telecine</ulink>.
- Dies ist eine verständliche und einigermaÃen umfassende
- Beschreibung dessen, was telecine ist.
- </para>
- </formalpara>
-
- <formalpara>
- <title>Eine Anmerkung zu Zahlen</title>
- <para>
- Viele Dokumente, einschlieÃlich des oben verlinkten Handbuchs, beziehen
- sich auf den Wert Felder pro Sekunde von NTSC-Video als 59.94 und den
- korrespondierenden Frames pro Sekunde als 29.97 (für telecined und
- interlaced) und 23.976 (für progressiv). Zur Vereinfachung runden
- manche dieser Dokumente sogar auf 60, 30 und 24 auf.
- </para>
- </formalpara>
-
- <para>
- Streng genommen sind alle diese Zahlen Näherungswerte. Das schwarz/weiÃe
- NTSC-Video war exakt 60 Felder pro Sekunde, später wurde jedoch 60000/1001
- gewählt, um die Farbdaten anzupassen, solange man gleichzeitig
- zu Schwarz/weiÃ-Fernsehen kompatibel blieb. Digitales NTSC-Video
- (so wie auf einer DVD) hat ebenfalls 60000/1001 Felder pro Sekunde. Hieraus
- wird interlaced und telecined Video als 30000/1001 Frames pro Sekunde
- enthaltend abgeleitet; progressive Video hat 24000/1001 Frames pro Sekunde.
- </para>
-
- <para>
- Ãltere Versionen der <application>MEncoder</application>-Dokumentation
- und viele archivierten Posts in Mailing-Listen beziehen sich auf 59.94,
- 29.97 und 23.976.
- Alle <application>MEncoder</application>-Dokumentationen wurden insofern
- aktualisiert, dass sie fraktionale Werte verwenden, und du solltest dies
- auch tun.
- </para>
-
- <para>
- <option>-ofps 23.976</option> ist inkorrekt.
- <option>-ofps 24000/1001</option> sollte statt dessen benutzt werden.
- </para>
-
- <formalpara>
- <title>Wie telecine angewandt wird</title>
- <para>
- Jedes Video, das zur Anzeige auf einem NTSC-Fernseh-Set vorgesehen ist,
- muss 60000/1001 Felder pro Sekunde haben. Für TV-Filme und Shows
- hergestellt sind sie häufig direkt mit 60000/1001 Feldern pro Sekunde
- aufgenommen, die Mehrheit der Kinofilme jedoch mit 24 oder 24000/1001
- Frames pro Sekunde. Wenn cinematische Movie-DVDs gemastert werden,
- wird das Video danach fürs Fernsehen mittels eines telecine genannten
- Prozesses konvertiert.
- </para>
- </formalpara>
-
- <para>
- Auf einer DVD wird das Video eigentlich nie als 60000/1001 Felder
- pro Sekunde abgelegt. Für ein Video, das ursprünglich 60000/1001 war,
- wird jedes Feldpaar zu einem Frame kombiniert, was dann 30000/1001
- Frames pro Sekunde ergibt. Hardware-DVD-Player lesen dann ein im
- Videostream eingebettetes Kennzeichen aus, um zu bestimmen, ob die gerade
- oder ungerade nummerierten Zeilen das erste Feld formen sollen.
- </para>
-
- <para>
- Ãblicherweise bleibt ein Inhalt mit 24000/1001 Frames pro Sekunde
- so wie er ist, wenn er für eine DVD encodiert wird, und der DVD-Player
- muss das Telecining on-the-fly bewerkstelligen. Manchmal jedoch wird das
- Video telecined <emphasis>bevor</emphasis> es auf der DVD gespeichert wird;
- selbst wenn es ursprünglich 24000/1001 Frames pro Sekunde war, wird es
- 60000/1001 Felder pro Sekunde. Wenn es auf der DVD gespeichert wird,
- werden Feldpaare zu 30000/1001 Frames pro Sekunde kombiniert.
- </para>
-
- <para>
- Wenn man das aus 60000/1001 Feldern pro Sekunde geformten Einzelframes
- erzeugte Video betrachtet, ist telecined oder anderenfalls Interlacing
- klar sichtbar woimmer Bewegung auftritt, da ein Feld (sagen wir, die
- geradzahlig nummerierten Zeilen) einen Moment zur Zeit 1/(60000/1001) Sekunden
- später als das andere repräsentiert. Spielt man ein interlaced Video auf
- einem Computer ab, sehen beide hässlich aus, weil der Monitor eine höhere
- Auflösung besitzt und weil das Video Frame für Frame anstatt Feld für Feld
- angezeigt wird.
- </para>
-
- <itemizedlist>
- <title>Anmerkungen</title>
- <listitem>
- <para>
- Dieser Abschnitt gilt nur für NTSC-DVDs und nicht für PAL.
- </para>
- </listitem>
- <listitem>
- <para>
- Die <application>MEncoder</application>-Beispielzeilen überall im
- Dokument sind <emphasis role="bold">nicht</emphasis> zum
- eigentlichen Gebrauch vorgesehen. Sie sind schlicht das bloÃe Minimum,
- das zum Encodieren der betreffenden Videokategorie benötigt wird.
- Wie mache ich gute DVD-Rips oder wie feintune ich
- <systemitem class="library">libavcodec</systemitem> auf maximale
- Qualität gehören nicht zum Umfang dieses Dokuments.
- </para>
- </listitem>
- <listitem>
- <para>
- Es gibt ein paar FuÃnoten speziell für dieses Handbuch, die so ähnlich
- verlinkt sind:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 id="menc-feat-telecine-ident">
- <title>Wie kann man sagen, welchen Typ Video man hat</title>
-
- <sect3 id="menc-feat-telecine-ident-progressive">
- <title>Progressiv</title>
- <para>
- Progressive Video wurde ursprünglich mit 24000/1001 fps gefilmt und
- ohne Ãnderung auf der DVD abgespeichert.
- </para>
-
- <para>
- Wenn du eine progressive DVD in <application>MPlayer</application> abspielst,
- wird <application>MPlayer</application> folgende Zeile ausgeben, sobald
- das Abspielen des Films beginnt:
-
- <screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
-
- Von diesem Punkt an vorwärts sollte demux_mpg nie erzählen, es finde
- "30000/1001 fps NTSC content."
- </para>
-
- <para>
- Wenn du progressives Video ankuckst, solltest du nie irgendein
- Interlacing sehen. Sei trotzdem vorsichtig, weil manchmal ein winziges
- bisschen telecine dort hineingemischt wurde, wo du es nicht erwartest.
- Ich bin TV-Serien-DVDs begegnet, die eine Sekunde telecine bei jedem
- Szenenwechsel haben oder an extrem zufälligen Stellen. Ich hatte mir einmal
- eine DVD angesehen, die eine progressive erste Hälfte besaÃ, und die
- zweite Hälfte war telecined. Willst du<emphasis>wirklich</emphasis>
- gründlich sein, kannst du den kompletten Film scannen:
-
- <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-
- Das Verwenden von <option>-benchmark</option> veranlasst
- <application>MPlayer</application>, den Film so schnell er es nur kann
- abzuspielen; dies dauert je nach Hardware trotzdem noch eine
- Weile. Jedesmal wenn demux_mpg einen Frameratenwechsel meldet, wird dir
- die Zeile unmittelbar darüber die Zeit zeigen, bei welcher der Wechsel
- auftrat.
- </para>
-
- <para>
- Manchmal wird progressive Video auf DVDs
- "soft telecine" zugeordnet, weil es dazu vorgesehen ist,
- vom DVD-Player telecined zu werden.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-telecine-ident-telecined">
- <title>Telecined</title>
- <para>
- Telecined Video war ursprünglich mit 24000/1001 aufgenommen, wurde aber
- telecined, <emphasis>bevor</emphasis> es auf die DVD geschrieben wurde.
- </para>
-
- <para>
- <application>MPlayer</application> meldet keine (nie)
- Frameratenwechsel, wenn er telecined Video abspielt.
- </para>
-
- <para>
- Beim Betrachten eines telecined Videos wirst du Interlacing-Artefakte
- sehen, die zu "blinken" scheinen: sie erscheinen wiederholt
- und verschwinden wieder.
- Du kannst dir das so genauer hinschauen
- <orderedlist>
- <listitem>
- <screen>mplayer dvd://1</screen>
- </listitem>
- <listitem>
- <para>
- Suche einen Teil mit Bewegung.
- </para>
- </listitem>
- <listitem>
- <para>
- Benutze die Taste <keycap>.</keycap>, um jeweils einen Frame vorwärts zu rücken.
- </para>
- </listitem>
- <listitem>
- <para>
- Schau auf das Muster der interlaced und progressive aussehenden
- Frames. Ist das Muster, das du siehst PPPII,PPPII,PPPII,... dann ist das
- Video telecined. Siehst du andere Muster, dann wurde das Video womöglich
- mittels einiger Nicht-Standard-Methoden telecined;
- <application>MEncoder</application> kann ein Nicht-Standard-telecine
- nicht verlustfrei nach progressive konvertieren. Siehst du überhaupt
- keine Muster, ist es höchstwahrscheinlich interlaced.
- </para>
- </listitem>
- </orderedlist>
- </para>
-
- <para>
- Manchmal wird telecined Video auf DVDs "hard telecine"
- zugeordnet. Da hard telecine bereits 60000/1001 Felder pro Sekunde hat,
- spielt der DVD-Player das Video ohne irgendeine Manipulation ab.
- </para>
-
- <para>
- Ein anderer Weg, zu sagen, ob deine Quelle telecined ist oder nicht,
- ist die Quelle mit den Befehlszeilenoptionen <option>-vf pullup</option>
- und <option>-v</option> abzuspielen, um nachzusehen, wie
- <option>pullup</option> zu den Frames passt.
- Ist die Quelle telecined, solltest du in der Befehlszeile ein 3:2 Muster
- mit abwechselnd <systemitem>0+.1.+2</systemitem> und <systemitem>0++1</systemitem>
- anzeigen.
- Diese Technik hat den Vorteil, dass du die Quelle nicht zu beobachten
- brauchst, um sie zu identifizieren, was von Nutzen sein könnte, falls du
- den Encodiervorgang automatisieren willst oder besagte Prozedur ferngesteuert
- mittels einer langsamen Verbindung vornehmen willst.
- </para>
-
- </sect3>
-
- <sect3 id="menc-feat-telecine-ident-interlaced">
- <title>Interlaced</title>
- <para>
- Interlaced Video wurde ursprünglich als 60000/1001 Felder pro Sekunde
- aufgenommen und auf der DVD als 30000/1001 Frames pro Sekunde abgespeichert.
- Der interlacing-Effekt (oft "combing" genannt) ist ein Ergebnis
- von Kammpaaren von Feldern in Frames. Jedes Feld wird einzeln als
- 1/(60000/1001) Sekunden angenommen, und wenn sie simultan angezeigt werden,
- wird der Unterschied offensichtlich.
- </para>
-
- <para>
- Wie bei telecined Video sollte <application>MPlayer</application> niemals
- einen Frameratewechsel beim Abspielen des interlaced Inhalts melden.
- </para>
-
- <para>
- Wenn du ein interlaced Video genau ansiehst, in dem du dich mit der Taste
- <keycap>.</keycap> durch die Frames bewegst, wirst du sehen, dass
- jeder einzelne Frame interlaced ist.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-telecine-ident-mixedpt">
- <title>Gemischtes progressive und telecine</title>
- <para>
- Alle "gemischten progressive und telecine" Videos wurden ursprünglich
- als 24000/1001 Frames pro Sekunde aufgenommen, jedoch werden einige Teile
- telecined beendet.
- </para>
-
- <para>
- Spielt <application>MPlayer</application> diese Kategorie ab, wird er
- (oft wiederholt) zwischen "30000/1001 fps NTSC"
- und "24000/1001 fps progressive NTSC" zurück und vor wechseln.
- Beobachte die untere Hälfte von <application>MPlayer</application>s Ausgabe,
- um diese Meldungen anzusehen.
- </para>
-
- <para>
- Du solltest die Sektion "30000/1001 fps NTSC" überprüfen, um
- sicher zu gehen, dass sie auch wirklich telecine sind und nicht einfach
- interlaced.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-telecine-ident-mixedpi">
- <title>Gemischtes progressive und interlaced</title>
- <para>
- In "gemischtem progressive und interlaced" Inhalt wurde progressive
- und interlaced Video zusammengeklebt.
- </para>
-
- <para>
- Diese Kategorie sieht aus wie "gemischtes progressive und telecine",
- bis du die Sektion 30000/1001 fps untersuchst und feststellst, dass
- sie das telecine-Muster nicht haben.
- </para>
- </sect3>
-
- </sect2>
-
- <sect2 id="menc-feat-telecine-encode">
- <title>Wie jede Kategorie encodieren</title>
- <para>
- Wie ich anfangs angemerkt hatte, sind die
- <application>MEncoder</application>-Beispielzeilen unten eigentlich
- <emphasis role="bold">nicht</emphasis> zur Anwendung bestimmt;
- sie demonstrieren nur die Minimalparameter zur korrekten Encodierung
- jeder Kategorie.
- </para>
-
- <sect3 id="menc-feat-telecine-encode-progressive">
- <title>Progressive</title>
- <para>
- Progressive Video erfordert kein spezielles Filtern, um es zu encodieren.
- Der einzige Parameter, den du gewiss anwenden solltest ist
- <option>-ofps 24000/1001</option>. Andernfalls wird
- <application>MEncoder</application> versuchen, bei 30000/1001 fps
- zu encodieren und Frames duplizieren.
- </para>
-
- <para>
- <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
- </para>
-
- <para>
- Dennoch ist es öfters der Fall, dass ein Video, das progressive aussieht,
- eigentlich kurze Teile telecine eingemischt hat. Solange du dir nicht
- sicher bist, ist es am sichersten, das Video als
- <link linkend="menc-feat-telecine-encode-mixedpt">gemischtes progressive und telecine</link>.
- zu behandeln. Der Performance-Verlust ist gering
- <link linkend="menc-feat-telecine-footnotes">[3]</link>.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-telecine-encode-telecined">
- <title>Telecined</title>
- <para>
- Telecine kann umgekehrt werden, um den originalen 24000/1001-Inhalt zu erhalten,
- indem man einen Prozess verwendet, der inverse-telecine genannt wird.
- <application>MPlayer</application> enthält verschiedene Filter, um dies
- zu erreichen; der beste Filter, <option>pullup</option> wird in der Sektion
- <link linkend="menc-feat-telecine-encode-mixedpt">Gemischtes progressive und telecine</link>
- beschrieben.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-telecine-encode-interlaced">
- <title>Interlaced</title>
- <para>
-
- In den meisten praktischen Fällen ist es nicht möglich, ein komplett
- progressives Video aus interlaced Inhalt zu erhalten. Der einzige Weg,
- dies ohne den Verlust der Hälfte der vertikalen Auflösung zu erreichen,
- ist das Verdoppeln der Framerate, und man kann versuchen zu
- "schätzen", wie die korrespondierenden Zeilen für jedes Feld
- vervollständigt werden sollten (dies hat Nachteile - siehe Methode 3).
- </para>
-
- <orderedlist>
- <listitem>
- <para>
- Das Video in interlaced Form encodieren. Normalerweise richtet Interlacing
- verheerenden Schaden für die Fähigkeit des Encoders an, gut zu komprimieren,
- <systemitem class="library">libavcodec</systemitem> hat jedoch zwei
- eigens für das ein wenig bessere Abspeichern von interlaced Video gedachte
- Parameter: <option>ildct</option> und <option>ilme</option>. Auch wenn
- die Verwendung von <option>mbd=2</option> dringend zu empfehlen ist
- <link linkend="menc-feat-telecine-footnotes">[2]</link>, weil es
- Macroblöcke wie nicht-interlaced an Stellen encodiert, an denen keine Bewegung
- stattfindet. Beachte, dass <option>-ofps</option> hier NICHT notwendig ist.
-
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- Nutze einen Deinterlacing-Filter vor dem Encodieren. Es stehen verschiedene
- dieser Filter zur Auswahl, jeder mit seinen eigenen Vor-
- und Nachteilen. Ziehe <option>mplayer -pphelp</option> und <option>mplayer -vf help</option>
- zu Rate, um zu sehen, welche
- verfügbar sind (suche nach "deint"), lies Michael Niedermayers
- <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing-Filter-Vergleich</ulink>
- und durchsuche die
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">MPlayer-Mailinglisten</ulink>,
- um Diskussionen über die zahlreichen Filter zu finden.
- Nochmals, die Framerate ändert sich nicht, also kein
- <option>-ofps</option>. Deinterlacing sollte auÃerdem nach dem Zuschneiden
- (cropping) <link linkend="menc-feat-telecine-footnotes">[1]</link>
- und vor dem Skalieren angewandt werden.
-
- <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- Unglücklicherweise arbeitet diese Option im Zusammenhang mit
- <application>MEncoder</application> fehlerhaft; sie sollte mit
- <application>MEncoder G2</application> gut funktionieren, den gibts aber
- noch nicht. Du könntest Abstürze erleben. Seis drum, der Zweck von
- <option> -vf tfields</option> ist es, einen vollen Frame aus jedem Feld
- zu erzeugen, was eine Framerate von 60000/1001 ergibt. Der Vorteil dieses
- Lösungsansatzes ist, dass nie irgendwelche Daten verloren gehen;
- dennoch, da jeder Frame aus nur einem Feld kommt, müssen die fehlenden Zeilen
- irgendwie interpoliert werden. Es gibt keine sehr guten Methoden, die
- fehlenden Daten zu generieren, und so wird das Resultat ein bisschen aussehen,
- als hätte man irgendeinen Deinterlacing-Filter verwendet. Die fehlenden Zeilen
- zu generieren erzeugt auch weitere Probleme, einfach weil sich die Menge
- an Daten verdoppelt. Somit sind höhere Encodier-Bitraten nötig, um
- die Qualität beizubehalten und mehr CPU-Power wird für beides,
- Encodieren und Decodieren, aufgewendet. Das Attribut tfields hat mehrere
- verschiedene Optionen dafür, wie die fehlenden Zeilen jedes Frames erzeugt
- werden.
- Wenn du diese Methode nutzt, dann nimm Bezug auf das Handbuch und wähle,
- welche Option auch immer am besten für dein Material aussieht.
- Beachte, dass du wenn <option>tfields</option> verwendet wird,
- sowohl <option>-fps</option> als auch <option>-ofps</option>spezifizieren <emphasis role="bold">musst</emphasis>,
- um die doppelte Framerate der originalen Quelle zu erhalten.
-
- <screen>mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen>
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn du vorhast, dramatisch herunterzuskalieren, kannst du nur eins
- der beiden Felder extrahieren und encodieren. Sicherlich, du wirst die
- Hälfte der vertikalen Auflösung verlieren, aber wenn du planst, bis auf
- 1/2 des Originals herunter zu skalieren, macht der Verlust so gut wie
- gar nichts aus. Das Resultat wird eine progressive Datei mit 30000/1001
- Frames pro Sekunde sein. Die Prozedur ist, <option>-vf field</option>
- zu verwenden, dann die Ränder abzuschneiden
- <link linkend="menc-feat-telecine-footnotes">[1]</link> und angemessen
- zu skalieren. Vergiss nicht, dass du die Skalierung anpassen musst, um
- das Halbieren der vertikalen Auflösung zu kompensieren.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
- </para>
- </listitem>
- </orderedlist>
- </sect3>
-
- <sect3 id="menc-feat-telecine-encode-mixedpt">
- <title>Gemischtes progressive und telecine</title>
- <para>
- Um progressive und telecine Video komplett in progressive Video
- umzuwandeln, müssen die telecined Teile inverse-telecined werden.
- Die drei Wege, dies zu erreichen, werden unten beschrieben.
- Beachte, dass du inverse-telecine <emphasis role="bold">immer</emphasis>
- vor der Reskalierung durchführen solltest; es sei denn, du weiÃt wirklich,
- was du tust; mache inverse-telecine auch vor dem Entfernen der Ränder
- <link linkend="menc-feat-telecine-footnotes">[1]</link>.
- <option>-ofps 24000/1001</option> wird hier benötigt, weil das Output-Video
- 24000/1001 Frames pro Sekunde werden soll.
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <option>-vf pullup</option> wurde entworfen, um auf telecined Material
- inverse-telecine anzuwenden, während die progressiven Daten unangetastet
- bleiben. Damit dies richtig funktioniert, <emphasis role="bold">muss</emphasis>
- <option>pullup</option> vom <option>softskip</option>-Filter gefolgt werden, sonst
- wird <application>MEncoder</application> abstürzen.
- <option>pullup</option> ist trotz allem die sauberste und akkurateste
- Methode, die zum Encodieren von beidem telecine und
- "gemischtem progressive und telecine" zur Verfügung steht.
-
- <screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
- </para>
- </listitem>
-
- <listitem>
- <para>
- Eine ältere Methode ist, anstatt inverse-telecine auf die telecined Teile
- anzuwenden, telecine auf nicht-telecined Teile und dann inverse-telecine auf das
- ganze Video anzuwenden. Hört sich verwirrend an? softpulldown ist
- ein Filter, der ein Video durchgeht und die komplette Datei telecined macht.
- Lassen wir auf softpulldown entweder <option>detc</option> oder <option>ivtc</option>
- folgen, wird das Endergebnis vollkommen progressiv. <option>-ofps 24000/1001</option>
- wird benötigt.
-
- <screen>mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
- </para>
- </listitem>
-
- <listitem>
- <para>
- Ich habe <option>-vf filmdint</option> selbst verwendet, aber lies hier, was
- D Richard Felker III zu erzählen hat:
-
- <blockquote>
- <para>
- Es ist OK, aber IMO versucht er zu oft eher ein deinterlace
- als ein inverse telecine durchzuführen (ganz wie Settop-DVD-Player
- & progressive TVs), was ein hässliches Flimmern erzeugt und
- andere Artefakte. Wenn du vorhast, es anzuwenden, musst du zumindest
- einige Zeit darauf verwenden, die Optionen zu tunen und zuerst den Output
- zu beobachten, damit du auch sicher sein kannst, dass du nichts
- vermasselst.
- </para>
- </blockquote>
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3 id="menc-feat-telecine-encode-mixedpi">
- <title>Gemischtes progressive und interlaced</title>
- <para>
- Es gibt zwei Optionen für den Umgang mit dieser Kategorie, jede von
- beiden stellt einen Kompromiss dar. Du solltest basierend auf
- Dauer/Stelle jedes Typs entscheiden.
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Behandle es wie progressive. Die interlaced Teile werden interlaced
- aussehen und einige der interlaced Felder müssen weggelassen werden,
- was ein wenig zu Sprüngen führt. Du kannst einen
- Nachbearbeitungsfilter verwenden, wenn du willst, aber dies wird die
- progressive-Anteile geringfügig verringern.
- </para>
-
- <para>
- Diese Option sollte definitiv nicht verwendet werden, wenn du eventuell
- Video auf einem interlaced Gerät anzeigen willst (mit einer TV-Karte
- zum Beispiel). Wenn du interlaced Frames in einem Video mit 24000/1001
- Frames pro Sekunde hast, werden diese zusammen mit den progressive
- Frames telecined. Die Hälfte der interlaced "Frames" werden für die
- Dauer von drei Feldern (3/(60000/1001) Sekunden) angezeigt, was
- einen flimmernden "Zeitrücksprung"-Effekt zur Folge hat, der
- ziemlich schlecht aussieht. Solltest du dies dennoch versuchen,
- <emphasis role="bold">musst</emphasis> du einen
- Deinterlacing-Filter wie <option>lb</option> oder <option>l5</option>
- anwenden.
- </para>
-
- <para>
- Es wäre auch keine gute Idee für eine progressive Anzeige. Es wird
- Paare aufeinander folgender interlaced Felder auslassen, was eine
- Unstetigkeit zur Folge hat, die eher sichtbar ist als mit der
- zweiten Methode, die einige progressive Frames zweimal anzeigt.
- Ein interlaced Video mit 30000/1001 Frames pro Sekunde ist bereits
- ein bisschen abgehackt, weil es wirklich mit 60000/1001 Felder pro
- Sekunde angezeigt werden sollte, sodass sich die doppelten Frames
- nicht zu sehr abzeichnen.
- </para>
-
- <para>
- Egal welchen Weg du wählst, es ist das beste, deinen Inhalt
- zu berücksichtigen und wie du ihn anzeigen willst. Ist dein Video
- zu 90% progressive und du hast nie vor, es auf einem TV-Bildschirm
- anzuzeigen, solltest du einen progressive-Ansatz wählen. Ist es nur
- halb-progressive, willst du es eventuell so encodieren, als sei alles
- interlaced.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Behandle es wie interlaced. Einige Frames des progressive-Anteils
- müssen dupliziert werden, was zu Sprüngen führt. Nochmal,
- Deinterlacing-Filter können die progressive-Anteile leicht verringern.
- </para>
- </listitem>
-
- </itemizedlist>
- </sect3>
-
- </sect2>
-
- <sect2 id="menc-feat-telecine-footnotes">
- <title>FuÃnoten</title>
- <orderedlist>
- <listitem>
- <formalpara>
- <title>Ãber das Zuschneiden (cropping):</title>
- <para>
- Videodaten auf DVDs werden in einem YUV 4:2:0 genannten Format abgelegt.
- In einem YUV-Video, werden Helligkeit und Chrominanz separat gespeichert.
- Da das menschliche Auge ein bisschen weniger empfindlich auf Farbe
- reagiert als auf Helligkeit, ist in einem YUV 4:2:0 Bild nur ein
- Chrominanz-Pixel für alle vier Helligkeits-Pixel vorhanden.
- In einem progressive Bild, besitzt jedes Quadrat von vier luma-Pixeln (zwei
- auf jeder Seite) ein gemeinsames chroma-Pixel. Du musst progressive YUV
- 4:2:0 zu geradzahligen Auflösungen zurechtschneiden und geradzahlige
- Offsets verwenden. Zum Beispiel ist
- <option>crop=716:380:2:26</option> OK,
- <option>crop=716:380:3:26 </option> aber nicht.
- </para>
- </formalpara>
-
- <para>
- Wenn du es mit interlaced YUV 4:2:0 zu tun hast, ist die Situation
- ein wenig komplizierter. Anstatt dass immer vier luma-Pixel im
- <emphasis>Frame</emphasis> sich ein chroma-Pixel teilen, teilen sich
- immer vier luma-Pixel in jedem <emphasis>Feld</emphasis> ein
- chroma-Pixel. Wenn Felder zur Formung eines Frames interlaced werden,
- ist jede Scanzeile ein Pixel hoch. Jetzt liegen anstatt je vier
- luma-Pixel in einem Quadrat immer zwei Pixel nebeneinander und die
- anderen zwei Pixel liegen zwei Scanzeilen weiter unten nebeneinander.
- Die zwei luma-Pixel in der dazwischen liegenden Scanzeile sind vom
- anderen Feld und teilen sich somit ein anderes chroma-Pixel mit
- zwei luma-Pixeln zwei Scanzeile entfernt. All diese Konfusion macht
- es notwendig, vertikale Ausschneide-Abmessungen und Offsets zu
- haben, die ein Vielfaches von vier sind. Horizontal kann geradzahlig
- bleiben.
- </para>
-
- <para>
- Für telecined Video empfehle ich, das Zuschneiden nach dem inverse
- telecining stattfinden zu lassen. Ist das Video einmal progressive,
- musst du nur noch mit geraden Zahlen zuschneiden. Wenn du wirklich die
- leichte Beschleunigung haben willst, die zuerst zuzuschneiden
- möglicherweise bietet, musst du vertikal mit einem Vielfachen von vier
- zuschneiden, oder der inverse-telecine Filter wird keine korrekten Daten
- haben.
- </para>
-
- <para>
- Für interlaced (nicht telecined) Video musst du immer
- mit einem Vielfachen von vier zuschneiden, es sei denn, du verwendest
- <option>-vf field</option> vor dem Schneiden.
- </para>
- </listitem>
-
- <listitem><formalpara>
- <title>Ãber Encodier-Parameter und Qualität:</title>
- <para>
- Nur weil ich hier <option>mbd=2</option> vorschlage, heiÃt das nicht,
- dass es woanders benutzt werden soll. Zusammen mit <option>trell</option>
- ist <option>mbd=2</option> eine der Optionen von
- <systemitem class="library">libavcodec</systemitem>, welche die
- Qualität am deutlichsten heben, und du solltest stets das letzte der beiden
- anwenden, auÃer das Abfallen der Encodiergeschwindigkeit ist abschreckend
- hoch (z.B. Encodierung in Echtzeit). Es gibt eine Menge anderer Optionen für
- <systemitem class="library">libavcodec</systemitem>, die die Encodierqualität
- verbessern (und die Encodiergeschwindigkeit verringern), dies liegt aber jenseits
- des Rahmens dieses Dokuments.
- </para>
- </formalpara>
- </listitem>
-
- <listitem>
- <formalpara>
- <title>Ãber die Performance von pullup:</title>
- <para>
- <option>Pullup</option> kann sicher (zusammen mit <option>softskip</option>)
- auf progressive Video angewandt werden und ist für gewöhnlich eine gute Idee,
- es sei denn, die Quelle wurde definitiv als vollkommen progressive verifiziert.
- Der Performaceverlust ist in den meisten Fällen gering. Bei einer Minimalencodierung
- macht <option>pullup</option> <application>MEncoder</application>
- 50% langsamer. Das Hinzufügen von Soundverarbeitung und erweiterten
- <option>lavcopts</option> überschattet diesen Unterschied
- und drückt den Performanceabfall, der mit dem Verwenden von <option>pullup</option>
- verbunden war, runter auf 2%.
- </para>
- </formalpara>
- </listitem>
-
- </orderedlist>
-
- </sect2>
-
- </sect1>
-
-
- <sect1 id="menc-feat-enc-libavcodec">
- <title>Encodieren mit der <systemitem class="library">libavcodec</systemitem>
- Codecfamilie</title>
-
- <para>
- <systemitem class="library">libavcodec</systemitem>
- stellt einfache Encodierung für eine Menge interessanter Video- und Audioformate
- zur Verfügung.
- Du kannst folgende Codecs encodieren (mehr oder weniger aktuell):
- </para>
-
- <sect2 id="menc-feat-enc-libavcodec-video-codecs">
- <title>Videocodecs von <systemitem class="library">libavcodec</systemitem></title>
-
- <para>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row><entry>Name des Videocodecs</entry><entry>Beschreibung</entry></row>
- </thead>
- <tbody>
- <row><entry>mjpeg</entry><entry>
- Motion-JPEG
- </entry></row>
- <row><entry>ljpeg</entry><entry>
- Verlustfreies JPEG
- </entry></row>
- <row><entry>jpegls</entry><entry>
- JPEG LS
- </entry></row>
- <row><entry>targa</entry><entry>
- Targa-Bild
- </entry></row>
- <row><entry>gif</entry><entry>
- GIF-Bild
- </entry></row>
- <row><entry>png</entry><entry>
- PNG-Bild
- </entry></row>
- <row><entry>bmp</entry><entry>
- BMP-Bild
- </entry></row>
- <row><entry>h261</entry><entry>
- H.261
- </entry></row>
- <row><entry>h263</entry><entry>
- H.263
- </entry></row>
- <row><entry>h263p</entry><entry>
- H.263+
- </entry></row>
- <row><entry>mpeg4</entry><entry>
- ISO Standard MPEG-4 (DivX, Xvid-kompatibel)
- </entry></row>
- <row><entry>msmpeg4</entry><entry>
- Pre-Standard MPEG-4 Variante von MS, v3 (AKA DivX3)
- </entry></row>
- <row><entry>msmpeg4v1</entry><entry>
- Pre-Standard MPEG-4 von MS, v1
- </entry></row>
- <row><entry>msmpeg4v2</entry><entry>
- Pre-Standard MPEG-4 von MS, v2 (in alten ASF-Dateien verwendet)
- </entry></row>
- <row><entry>wmv1</entry><entry>
- Windows Media Video, Version 1 (AKA WMV7)
- </entry></row>
- <row><entry>wmv2</entry><entry>
- Windows Media Video, Version 2 (AKA WMV8)
- </entry></row>
- <row><entry>rv10</entry><entry>
- RealVideo 1.0
- </entry></row>
- <row><entry>rv20</entry><entry>
- RealVideo 2.0
- </entry></row>
- <row><entry>mpeg1video</entry><entry>
- MPEG-1 Video
- </entry></row>
- <row><entry>mpeg2video</entry><entry>
- MPEG-2 Video
- </entry></row>
- <row><entry>huffyuv</entry><entry>
- Verlustfreie (lossless) Kompression
- </entry></row>
- <row><entry>ffvhuff</entry><entry>
- FFmpeg-modifizierter huffyuv, verlustfrei
- </entry></row>
- <row><entry>asv1</entry><entry>
- ASUS Video v1
- </entry></row>
- <row><entry>asv2</entry><entry>
- ASUS Video v2
- </entry></row>
- <row><entry>vcr1</entry><entry>
- ATI VCR1 codec
- </entry></row>
- <row><entry>ffv1</entry><entry>
- FFmpeg's verlustfreier (lossless) Videocodec
- </entry></row>
- <row><entry>svq1</entry><entry>
- Sorenson Video 1
- </entry></row>
- <row><entry>flv</entry><entry>
- Sorenson H.263, der in Flash Video benutzt wird
- </entry></row>
- <row><entry>flashsv</entry><entry>
- Flash Screen Video
- </entry></row>
- <row><entry>dvvideo</entry><entry>
- Sony Digital Video
- </entry></row>
- <row><entry>snow</entry><entry>
- FFmpeg's experimenteller Wavelet-basierter Codec
- </entry></row>
- <row><entry>zbmv</entry><entry>
- Zip Blocks Motion Video
- </entry></row>
- <row><entry>cljr</entry><entry>
- Cirrus Logic AccuPak Codec
- </entry></row>
- </tbody>
- </tgroup>
- </informaltable>
-
- Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
- <literal>vcodec</literal> übergeben werden müssen, wie:
- <option>-lavcopts vcodec=msmpeg4</option>
- </para>
- <informalexample>
- <para>
- Ein Beispiel mit MJPEG-Komprimierung:
- <screen>mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
- </para>
- </informalexample>
- </sect2>
-
- <sect2 id="menc-feat-enc-libavcodec-audio-codecs">
- <title>Audiocodecs von <systemitem class="library">libavcodec</systemitem></title>
- <para>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row><entry>Name des Audiocodecs</entry><entry>Beschreibung</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>ac3</entry>
- <entry>Dolby Digital (AC-3)</entry>
- </row>
- <row>
- <entry>adpcm_*</entry>
- <entry>Adaptive PCM-Formate - siehe begleitende Tabelle</entry>
- </row>
- <row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
- </row>
- <row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
- </row>
- <row>
- <entry>libamr_nb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry>
- </row>
- <row>
- <entry>libamr_wb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry>
- </row>
- <row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) - verwendet FAAC</entry>
- </row>
- <row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 full rate</entry>
- </row>
- <row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
- </row>
- <row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) - verwendet LAME</entry>
- </row>
- <row>
- <entry>mp2</entry>
- <entry>MPEG-1 Audio Layer 2</entry>
- </row>
- <row>
- <entry>pcm_*</entry>
- <entry>PCM-Formate - siehe begleitende Tabelle</entry>
- </row>
- <row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
- </row>
- <row>
- <entry>sonic</entry>
- <entry>experimenteller verlustbehafteter FFmpeg-Codec</entry>
- </row>
- <row>
- <entry>sonicls</entry>
- <entry>experimenteller verlustfreier FFmpeg-Codec</entry>
- </row>
- <row>
- <entry>vorbis</entry>
- <entry>Vorbis</entry>
- </row>
- <row>
- <entry>wma1</entry>
- <entry>Windows Media Audio v1</entry>
- </row>
- <row>
- <entry>wma2</entry>
- <entry>Windows Media Audio v2</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- Die erste Spalte enthält die Codecnamen, die nach der Konfiguration
- <literal>acodec</literal> übergeben werden müssen, wie:
- <option>-lavcopts acodec=ac3</option>
- </para>
-
- <informalexample>
- <para>
- Ein Beispiel mit AC3-Kompression:
- <screen>mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy</screen>
- </para>
- </informalexample>
-
- <para>
- Im Gegensatz zu den Videocodecs von <systemitem class="library">libavcodec</systemitem>
- machen dessen Audiocodecs keinen weisen Gebrauch von den Bits, die ihnen übergeben
- werden, da es ihnen an einem minimalen psychoakustischen Modell fehlt (falls
- überhaupt eins vorhanden ist), wodurch sich die meisten anderen
- Codec-Implementierungen auszeichnen.
- Beachte jedoch, dass all diese Audiocodecs sehr schnell sind und überall dort
- hervorragend arbeiten, wo <application>MEncoder</application> mit
- <systemitem class="library">libavcodec</systemitem> kompiliert wurde (was
- meistens der Fall ist) und nicht von externen Programmbibliotheken abhängt.
- </para>
-
- <sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
- <title>PCM/ADPCM-Format, begleitende Tabelle</title>
-
- <para>
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row><entry>PCM/ADPCM Codecname</entry><entry>Beschreibung</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>pcm_s32le</entry>
- <entry>signed 32-bit little-endian</entry>
- </row>
- <row>
- <entry>pcm_s32be</entry>
- <entry>signed 32-bit big-endian</entry>
- </row>
- <row>
- <entry>pcm_u32le</entry>
- <entry>unsigned 32-bit little-endian</entry>
- </row>
- <row>
- <entry>pcm_u32be</entry>
- <entry>unsigned 32-bit big-endian</entry>
- </row>
- <row>
- <entry>pcm_s24le</entry>
- <entry>signed 24-bit little-endian</entry>
- </row>
- <row>
- <entry>pcm_s24be</entry>
- <entry>signed 24-bit big-endian</entry>
- </row>
- <row>
- <entry>pcm_u24le</entry>
- <entry>unsigned 24-bit little-endian</entry>
- </row>
- <row>
- <entry>pcm_u24be</entry>
- <entry>unsigned 24-bit big-endian</entry>
- </row>
- <row>
- <entry>pcm_s16le</entry>
- <entry>signed 16-bit little-endian</entry>
- </row>
- <row>
- <entry>pcm_s16be</entry>
- <entry>signed 16-bit big-endian</entry>
- </row>
- <row>
- <entry>pcm_u16le</entry>
- <entry>unsigned 16-bit little-endian</entry>
- </row>
- <row>
- <entry>pcm_u16be</entry>
- <entry>unsigned 16-bit big-endian</entry>
- </row>
- <row>
- <entry>pcm_s8</entry>
- <entry>signed 8-bit</entry>
- </row>
- <row>
- <entry>pcm_u8</entry>
- <entry>unsigned 8-bit</entry>
- </row>
- <row>
- <entry>pcm_alaw</entry>
- <entry>G.711 A-LAW </entry>
- </row>
- <row>
- <entry>pcm_mulaw</entry>
- <entry>G.711 μ-LAW</entry>
- </row>
- <row>
- <entry>pcm_s24daud</entry>
- <entry>signed 24-bit D-Cinema Audioformat</entry>
- </row>
- <row>
- <entry>pcm_zork</entry>
- <entry>Activision Zork Nemesis</entry>
- </row>
- <row>
- <entry>adpcm_ima_qt</entry>
- <entry>Apple QuickTime</entry>
- </row>
- <row>
- <entry>adpcm_ima_wav</entry>
- <entry>Microsoft/IBM WAVE</entry>
- </row>
- <row>
- <entry>adpcm_ima_dk3</entry>
- <entry>Duck DK3</entry>
- </row>
- <row>
- <entry>adpcm_ima_dk4</entry>
- <entry>Duck DK4</entry>
- </row>
- <row>
- <entry>adpcm_ima_ws</entry>
- <entry>Westwood Studios</entry>
- </row>
- <row>
- <entry>adpcm_ima_smjpeg</entry>
- <entry>SDL Motion JPEG</entry>
- </row>
- <row>
- <entry>adpcm_ms</entry>
- <entry>Microsoft</entry>
- </row>
- <row>
- <entry>adpcm_4xm</entry>
- <entry>4X Technologies</entry>
- </row>
- <row>
- <entry>adpcm_xa</entry>
- <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
- </row>
- <row>
- <entry>adpcm_ea</entry>
- <entry>Electronic Arts</entry>
- </row>
- <row>
- <entry>adpcm_ct</entry>
- <entry>Creative 16->4-bit</entry>
- </row>
- <row>
- <entry>adpcm_swf</entry>
- <entry>Adobe Shockwave Flash</entry>
- </row>
- <row>
- <entry>adpcm_yamaha</entry>
- <entry>Yamaha</entry>
- </row>
- <row>
- <entry>adpcm_sbpro_4</entry>
- <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
- </row>
- <row>
- <entry>adpcm_sbpro_3</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
- </row>
- <row>
- <entry>adpcm_sbpro_2</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
- </row>
- <row>
- <entry>adpcm_thp</entry>
- <entry>Nintendo GameCube FMV THP</entry>
- </row>
- <row>
- <entry>adpcm_adx</entry>
- <entry>Sega/CRI ADX</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- </sect3>
-
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
- <title>Encodieroptionen von libavcodec</title>
-
- <para>
- Idealerweise möchtest du eventuell in der Lage sein, dem Encoder einfach zu sagen,
- er soll in den "hochqualitativen" Modus wechseln und weiter machen.
- Das wäre vermutlich nett, aber unglücklicherweise schwer zu implementieren, da
- verschiedene Encodieroptionen unterschiedliche Qualitätsresultate hervorbringen,
- abhängig vom Quellmaterial.
- Das liegt daran, dass die Komprimierung von den visuellen Eigenschaften des fraglichen Videos abhängt.
- Zum Beispiel haben Anime und Live-Action sehr unterschiedliche Eigenschaften und
- benötigen aus diesm Grund verschiedene Optionen, um optimale Encodierung zu erreichen.
- Die gute Neuigkeit ist, dass einige Optionen wie <option>mbd=2</option>,
- <option>trell</option> und <option>v4mv</option> nie ausgelassen werden sollten.
- Siehe unten nach der detaillierten Beschreibung allgemeiner Encodieroptionen.
- </para>
-
-
- <itemizedlist>
- <title>Anzupassende Optionen:</title>
- <listitem>
- <para>
- <emphasis role="bold">vmax_b_frames</emphasis>: 1 oder 2 ist gut, abhängig vom Film.
- Beachte, dass du, falls deine Encodierung von DivX5 decodierbar sein muss, den
- Support für "closed GOP" aktivieren musst, indem du die
- <systemitem class="library">libavcodec</systemitem>-Option <option>cgop</option>
- verwendest, du musst jedoch Szenenerkennung deaktivieren, was wiederum keine gute
- Idee ist, da es die Ecodierungseffizienz etwas angreift.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vb_strategy=1</emphasis>: hilft in Szenen mit viel
- Bewegung (high-motion).
- Bei manchen Videos wird vmax_b_frames der Qualität schaden, vmax_b_frames=2
- zusammen mit vb_strategy=1 hilft jedoch.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">dia</emphasis>: Bewegungssuchbereich. GröÃer ist besser
- als kleiner.
- Negative Werte sind ein komplett anderer MaÃstab.
- Gute Werte sind -1 für ein schnelle oder 2-4 für langsame Encodierung.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">predia</emphasis>: Bewegungssuche Vorabdurchlauf (pre-pass).
- Nicht so wichtig wie dia. Gute Werte sind 1 (Standard) bis 4. Erfordert preme=2, um
- wirklich was zu nützen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Vergleichsfunktion zur
- Bewegungseinschätzung.
- Experimentiere mit Werten von 0 (Standard), 2 (hadamard), 3 (dct) und
- 6 (Ratenverzerrung).
- 0 ist am schnellsten und ausreichend für precmp.
- Für cmp und subcmp ist 2 gut bei Anime, und 3 ist gut bei Live-Action.
- 6 kann leicht besser sein oder auch nicht, ist aber langsam.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">last_pred</emphasis>: Anzahl der Bewegungsvorhersagen, die
- vom vorherigen Frame genommen werden sollen.
- 1-3 oder so hilft bei geringer GeschwindigkeitseinbuÃe.
- Höhere Werte sind langsam bei keinerlei Zusatzgewinn.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">cbp, mv0</emphasis>: Kontrolliert die Auswahl von Macroblöcken.
- Kleine GeschwindigkeitseinbuÃen bei kleinem Qualitätsgewinn.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">qprd</emphasis>: adaptive Quantisierung basierend auf der
- Komplexität des Macroblocks.
- Kann hilfreich sein oder schaden, abhängig vom Video und anderen Optionen.
- Dies kann Artefakte verursachen, es sei denn, du setzt vqmax auf einen halbwegs
- kleinen Wert (6 ist gut, vielleicht so langsam wie 4); vqmin=1 sollte ebenfalls
- helfen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">qns</emphasis>: sehr langsam, speziell wenn kombiniert
- mit qprd.
- Diese Option veranlasst den Encoder, durch Kompressionsartefakte entstandenes
- Rauschen zu minimieren anstatt das encodierte Video strikt der Quelle anzupassen.
- Verwende dies nicht, es sei denn du, hast bereits alles andere so weit wie möglich
- optimiert und die Resultate sind immer noch nicht gut genug.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vqcomp</emphasis>: Frequenzkontrolle optimieren.
- Welche Werte gut sind, hängt vom Film ab.
- Du kannst dies sicher so lassen wie es ist, wenn du willst.
- Wird vqcomp verringert, werden mehr Bits auf Szenen mit geringer Komlexität
- gelegt, wird es erhöht, legt es diese Bits auf Szenen mit hoher Komlexität
- (Standard: 0.5, Bereich: 0-1. empfohlener Bereich: 0.5-0.7).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: Setzt die Schwelle für die
- Eliminierung einzelner Koeffizienten bei Helligkeits- und Farbanteilen.
- Sie werden in allen MPEG-ähnlichen Algorithmen getrennt encodiert.
- Die Idee hinter diesen Optionen ist, einige gute Heuristiken zu verwenden,
- um zu bestimmen, wenn ein Wechsel innerhalb eines Blocks kleiner als der
- der von dir festgelegte Schwellenwert ist und in solch einem Fall den
- Block einfach so zu encodieren als fände "kein Wechsel" statt.
- Das spart Bits und beschleunigt womöglich die Encodierunng. vlelim=-4 und vcelim=9
- scheinen gut für Live-Filme zu sein, helfen aber scheinbar nicht bei Anime;
- beim Encodieren einer Animation solltest du sie womöglich unverändert lassen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>: Bewegungsabschätzung auf ein viertel
- Pixel (quarter pel).
- MPEG-4 verwendet als Voreinstellung eine Halbpixel-Genauigkeit für die Bewegungssuche,
- deswegen hat diese Option einen Overhead, da mehr Informationen in der
- encodierte Datei untergebracht werden.
- Der Kompressionsgewinn/-verlust hängt vom Film ab, ist aber in der Regel nicht
- sonderlich effektiv bei Anime.
- qpel zieht immer eine signifikante Erhöhung der CPU-Decodierzeit nach
- sich (+25% in der Praxis).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">psnr</emphasis>: wirkt sich eigentlich nicht auf
- das Encodieren aus, schreibt jedoch eine Log-Datei mit Typ/GröÃe/Qualität
- jedes Frames und gibt am Ende die Summe des PSNR Signal-zu-Rauschabstands
- (Peak Signal to Noise Ratio) aus.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <itemizedlist>
- <title>Optionen, mit denen besser nicht herumgespielt werden sollte:</title>
- <listitem>
- <para>
- <emphasis role="bold">vme</emphasis>: Der Standardwert ist der beste.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisuell adaptive
- Quantisierung.
- Du solltest nicht im Traum daran denken, mit diesen Optionen herumzuspielen,
- wenn dir Qualität wichtig ist.
- Vernünftige Werte mögen in deinem Fall effektiv sein, aber sei gewarnt,
- dies ist sehr subjektiv.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">scplx_mask</emphasis>: Versucht, Blockartefakte
- zu verhindern, Postprocessing ist aber besser.
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 id="menc-feat-mpeg4-lavc-example-settings">
- <title>Beispiele für Encodierungseinstellungen</title>
-
- <para>
- Die folgenden Einstellungen sind Beispiele verschiedener Kombinationen
- von Encodierungsoptionen, die den Kompromiss Geschwindigkeit gegenüber
- Qualität bei gleicher Zielbitrate beeinflussen.
- </para>
-
- <para>
- Alle Encodierungseinstellungen wurden auf einem Beispielvideo
- mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps und
- der Rechner war ein AMD-64 3400+ mit 2400 MHz im 64bit-Modus.
- Jede Encodiereinstellung zeichnet sich aus durch die gemessene
- Encodiergeschwindigkeit (in Frames pro Sekunde) und den PSNR-Verlust
- (in dB) im Vergleich zu Einstellungen für "sehr hohe Qualität".
- Bitte habe Verständnis, dass du abhängig von deiner Quelldatei,
- deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
- Resultate erzielen wirst.
- </para>
-
- <para>
- <informaltable frame="all">
- <tgroup cols="4">
- <thead>
- <row><entry>Beschreibung</entry><entry>Encodieroptionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>Sehr hohe Qualität</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
- </row>
- <row>
- <entry>Hohe Qualität</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15fps</entry>
- <entry>-0.5dB</entry>
- </row>
- <row>
- <entry>Schnell</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42fps</entry>
- <entry>-0.74dB</entry>
- </row>
- <row>
- <entry>Echtzeit</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54fps</entry>
- <entry>-1.21dB</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- </sect2>
-
- <sect2 id="custommatrices"><title>MaÃgeschneiderte inter/intra-Matrizen</title>
-
- <para>
- Mit diesem Feature von <systemitem class="library">libavcodec</systemitem>
- bist du in der Lage, eigene inter- (I-Frames/Keyframes) und intra-Matrizen
- (P-Frames/predicted Frames) zu setzen. Es wird von vielen Codecs unterstützt:
- <systemitem>mpeg1video</systemitem> und <systemitem>mpeg2video</systemitem>
- sollen damit funktionieren.
- </para>
-
- <para>
- Eine typische Anwendung dieses Features ist, die von den
- <ulink url="http://www.kvcd.net/">KVCD</ulink>-Specifikationen
- bevorzugten Matrizen zu setzen.
- </para>
-
- <para>
- Die <emphasis role="bold">KVCD "Notch" Quantisierungsmatrix:</emphasis>
- </para>
-
- <para>
- Intra:
-<screen>8 9 12 22 26 27 29 34
-9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79</screen>
-
- Inter:
-<screen>16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44</screen>
- </para>
-
- <para>
- Anwendung:
- <screen>$ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=... </screen>
- </para>
-
- <para>
-<screen>$ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg</screen>
- </para>
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-example">
- <title>Beispiel</title>
-
- <para>
- Jetzt hast du gerade eben deine brandneue Kopie von Harry Potter und die
- Kammer des Schreckens gekauft (natürlich die Breitbildedition), und du
- willst diese DVD so rippen, dass du sie deinem Home Theatre PC hinzufügen
- kannst. Dies ist eine Region-1-DVD, also ist sie NTSC. Das unten stehende
- Beispiel wird auch auf PAL zutreffen, nur dass du
- <option>-ofps 24000/1001</option> weglässt (weil die Ausgabeframerate die
- gleiche ist wie die Eingabeframerate), und logischerweise werden die
- Ausschnittsabmessungen anders sein.
- </para>
-
- <para>
- Nach dem Start von <option>mplayer dvd://1</option>, verfolgen wir den
- detailliert in der Sektion <link linkend="menc-feat-telecine">Wie mit telecine
- und interlacing in NTSC-DVDs umgehen</link> beschriebenen Prozess und
- entdecken, dass es progressive Video mit 24000/1001 fps ist, was bedeutet, dass
- wir keinen inverse telecine-Filter wie <option>pullup</option> oder
- <option>filmdint</option> anwenden müssen.
- </para>
-
- <para id="menc-feat-dvd-mpeg4-example-crop">
- Als Nächstes wollen wir das passende Ausschnittsrechteck bestimmen, also
- verwenden wir den cropdetect-Filter:
-
- <screen>mplayer dvd://1 -vf cropdetect</screen>
-
- Stelle sicher, dass du einen voll gefüllten Frame anstrebst (wie zum
- Beispiel eine helle Szene, nach den Eröffnungs-Credits und Filmlogos),
- und dass du diese Ausgabe in <application>MPlayer</application>s Konsole siehst:
-
- <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-
- Wir spielen den Film dann mit diesem Filter ab, um seine Korrektheit zu testen:
-
- <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-
- Und wir sehen, dass er einfach perfekt aussieht. Als Nächstes vergewissern wir
- uns, dass Breite und Höhe ein Vielfaches von 16 sind. Die Breite ist gut,
- aber die Höhe ist es nicht. Da wir in der 7-ten Klasse in Mathe nicht gefehlt
- haben, wissen wir, dass das am nähesten liegende Vielfache von 16 kleiner
- als 362 der Wert 352 ist (Taschenrechner ist erlaubt).
- </para>
-
- <para>
- Wir könnten einfach <option>crop=720:352:0:58</option> verwenden, aber es wäre
- nett, ein bisschen von oben und ein bisschen von unten wegzunehmen, sodass
- wir zentriert bleiben. Wir haben die Höhe um 10 Pixel schrumpfen lassen, aber
- wir wollen das y-Offset nicht um 5 Pixel erhöhen, da dies eine ungerade Zahl
- ist und die Qualität nachteilig beeinflussen würde. Statt dessen werden wir
- das y-Offset um 4 Pixel erhöhen:
-
- <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-
- Ein anderer Grund, Pixel von beidem - oben und unten - abzuschnipseln ist,
- dass wir sicher gehen wollen, jegliches halbschwarze Pixel eliminiert zu
- haben, falls welche existieren. Beachte, falls das Video telecined
- ist, stelle sicher, dass der <option>pullup</option>-Filter (oder für
- welchen umgekehrten telecine-Filter auch immer du dich entschieden hast)
- in der Filterkette auftaucht, bevor du zuschneidest. Ist es interlaced,
- deinterlace es vor dem Zuschneiden.
- (Wenn du dich entscheidest, interlaced Video beizubehalten, dann vergewissere dich, dass
- das vertikale crop-Offset ein Vielfaches von 4 ist.)
- </para>
-
- <para>
- Wenn du wirklich besorgt um den Verlust dieser 10 Pixel bist, ziehst du
- statt dessen etwa das Herunterskalieren der Abmessungen auf das am nächsten
- liegende Vielfache von 16 vor.
- Die Filterkette würde dann etwa so aussehen:
-
- <screen>-vf crop=720:362:0:58,scale=720:352</screen>
-
- Das Video auf diese Art herunter zu skalieren wird bedeuten, dass eine
- kleine Menge Details verloren geht, obwohl es vermutlich nicht wahrnehmbar
- sein wird. Hoch zu skalieren führt zu niedrigerer Qualität (es sei denn,
- du erhöhst die Bitrate). Ausschneiden sondert sämtliche dieser Pixel
- aus. Es ist ein Kompromiss, den du unter allen Umständen
- in Betracht ziehen solltest. Zum Beispiel, wenn das DVD-Video für das Fernsehen
- hergestellt wurde, solltest du vertikales Skalieren vermeiden, da das
- Zeilensampling mit der Art und Weise korrespondiert, für die der Inhalt
- ursprünglich aufgenommen wurde.
- </para>
-
- <para>
- Bei der Ãberprüfung sehen wir, dass unser Film ordentlich Action enthält
- und sehr viele Details, also wählen wir 2400Kbit für unsere Bitrate.
- </para>
-
- <para>
- Wir sind nun bereit, die 2-pass Encodierung durchzuführen. Erster Durchlauf:
-
-<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
- -o Harry_Potter_2.avi</screen>
-
- Und der zweite Durchlauf ist derselbe, auÃer dass wir <option>vpass=2</option>
- festlegen:
-
-<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
- -o Harry_Potter_2.avi</screen>
- </para>
-
- <para>
- Die Optionen <option>v4mv:mbd=2:trell</option> werden die Qualität
- auÃerordentlich erhöhen, auf Kosten der Encodierdauer. Es gibt
- einen kleinen Grund, diese Optionen auszulassen, wenn das Primärziel
- die Qualität ist. Die Optionen
- <option>cmp=3:subcmp=3:mbcmp=3</option> wählen eine Vergleichsfunktion,
- die eine höhere Qualität liefert als die Standardeinstellungen.
- Du darfst mit diesem Parameter rumexperimentieren (ziehe die Manpage
- zu möglichen Werten zu Rate) da verschiedene Funktionen abhängig vom
- Quellmaterial einen starken Einfluss auf die Qualität haben. Wenn du zum Beispiel
- meinst, dass <systemitem class="library">libavcodec</systemitem> zu
- viele Blockartefakte produziert, könntest du ja das experimentelle
- NSSE als Vergleichsfunktion via <option>*cmp=10</option> wählen.
- </para>
-
- <para>
- Für diesen Film wird das resultierende AVI 138 Minuten lang und nahezu
- 3GB groà sein. Und weil du erzählt hast, dass eine groÃe Datei nichts
- ausmacht, ist dies eine perfekt akzeptierbare GröÃe. Wolltest du sie aber
- kleiner haben, könntest du eine niedrigere Bitrate hernehmen. Erhöhte
- Bitraten haben verminderte Rückgaben, während wir also deutlich eine
- Verbesserung von 1800Kbit nach 2000Kbit sehen, ist es oberhalb 2000Kbit
- nicht so auffällig. Fühl dich frei solange herum zu experimentieren bis
- du glücklich bist.
- </para>
-
- <para>
- Weil wir das Quellvideo durch einen Denoise-Filter geschickt haben,
- könntest du einige davon während des Playbacks wieder hinzufügen wollen.
- Dies zusammen mit dem Nachbearbeitungsfilter <option>spp</option>
- verbessert die Wahrnehmung der Qualität drastisch und hilft dabei,
- blockhafte Artefakte aus dem Video zu eliminieren.
- Mit <application>MPlayer</application>s Option <option>autoq</option>
- kannst du den Nachbearbeitungsaufwand des spp-Filters abhängig von der
- verfügbaren CPU variieren. An dieser Stelle kannst du auch Gamma- und/oder
- Farbkorrektur zur besten Anpassung an dein Display verwenden, wenn du willst.
- Zum Beispiel:
-
- <screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="menc-feat-xvid">
- <title>Encodieren mit dem <systemitem class="library">Xvid</systemitem>-Codec</title>
-
- <para>
- <systemitem class="library">Xvid</systemitem> ist eine freie
- Programmbibliothek zum Encodieren von MPEG-4 ASP-Videostreams.
- Bevor du mit <link linkend="xvid"> zu encodieren beginnst, musst du
- <application>MEncoder</application> so einstellen, dass er es unterstützt</link>.
- </para>
-
- <para>
- Dieses Handbuch beabsichtigt, sich vorwiegend durch dieselbe Art von
- Informationen auszuzeichnen wie x264's Encodier-Handbuch.
- Beginne deshalb damit,
- <link linkend="menc-feat-x264-encoding-options-intro">den ersten Teil</link>
- dieses Handbuchs zu lesen.
- </para>
-
-
- <sect2 id="menc-feat-xvid-intro">
- <title>Welche Optionen sollte ich verwenden, um die besten Resultate zu erzielen?</title>
-
- <para>
- Bitte beginne mit der Durchsicht der
- <systemitem class="library">Xvid</systemitem>-Sektion von
- <application>MPlayer</application>s Manpage.
- Diese Sektion ist als Ergänzung zur Manpage zu verstehen.
- </para>
-
- <para>
- Die Standardeinstellungen von Xvid sind bereits ein guter Kompromiss zwischen
- Geschwindigkeit und Qualität, deshalb kannst du ruhig bei ihnen
- bleiben, wenn nachfolgender Abschnitt dich allzusehr ins Grübeln bringt.
- </para>
- </sect2>
-
- <sect2 id="menc-feat-xvid-encoding-options">
- <title>Encodieroptionen von <systemitem class="library">Xvid</systemitem></title>
-
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">vhq</emphasis>
- Diese Einstellung betreffen den Entscheidungsalgorithmus für
- Macroblöcke, wobei gilt, je höher die Einstellung desto weiser die
- Entscheidung.
- Die Standardeinstellung kann für jede Encodierung sicher verwendet
- werden, während höhere Einstellungen immer für PSNR hilfreich, jedoch
- signifikant langsamer sind.
- Nimm bitte zur Kenntnis, dass ein besserer PSNR nicht notwedigerweise
- bedeutet, dass das Bild besser aussehen wird, aber er zeigt dir, dass
- du näher am Original bist.
- Wird er deaktiviert, beschleunigt dies die Encodierung spürbar; wenn
- Geschwindigkeit ein Kriterium für dich ist, kann dieser Kompromiss es wert sein.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">bvhq</emphasis>
- Dies erledigt dieselbe Arbeit wie vhq, macht dies jedoch bei B-Frames.
- Es hat einen vernachlässigbar kleinen Einfluss auf die Geschwindigkeit, und
- verbessert geringfügig die Qualität (um etwa +0.1dB PSNR).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">max_bframes</emphasis>
- Eine höhere Anzahl von erlaubten hintereinander folgenden B-frames verbessert
- gewöhnlich die Komprimierbarkeit, obwohl dies auch zu mehr Blockartefakten
- führt.
- Die Standardeinstellung ist ein guter Kompromiss zwischen Komprimierbarkeit
- und Qualität, aber wenn du Bitraten-hungrig bist kannst du sie bis auf 3
- hochschrauben.
- Du kannst sie auch auf 1 oder 0 verringern, wenn du auf perfekte Qualität
- abzielst, wenngleich du in diesem Fall sicherstellen solltest, dass deine
- Zielbitrate hoch genug ist, um zu gewährleisten, dass der Encoder nicht
- die Quantisierer höher setzen muss, um den Wert zu erreichen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">bf_threshold</emphasis>
- Dies kontrolliert die B-Frame-Empfindlichkeit des Encoders, wobei ein
- höherer Wert dazu führt, dass mehr B-Frames angewendet werden (und
- umgekehrt).
- Diese Einstellung muss zusammen mit <option>max_bframes</option>
- verwendet werden; bist du Bitraten-hungrig, solltest du beides erhöhen,
- <option>max_bframes</option> und <option>bf_threshold</option>,
- während du <option>max_bframes</option> erhöhen und
- <option>bf_threshold</option> verringern kannst, sodass der Encoder
- B-Frames nur an Stellen anwendet, die diese auch
- <emphasis role="bold">wirklich</emphasis> brauchen.
- Eine niedrigere Zahl an <option>max_bframes</option> und ein höherer Wert
- bei <option>bf_threshold</option> ist möglicherweise keine kluge Wahl,
- da dies den Encoder zwingt, B-Frames in Stellen zu setzen, die nicht
- davon profitieren würden und dies daher die visuelle Qualität reduziert.
- Wie auch immer, wenn du mit Standalone-Playern kompatibel bleiben musst,
- die nur alte DivX-Profile unterstützen (der wiederum höchstens einen
- aufeinander folgenden B-Frame unterstützt), wäre dies dein einziger Weg,
- die Komprimierbarkeit mittels B-Frames zu verbessern.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">trellis</emphasis>
- Optimiert den Quantisierungsprozess um einen optimalen Kompromiss
- zwischen PSNR und Bitrate zu erhalten, was signifikant Bit-sparend
- wirkt.
- Diese Bits können woanders im Video wieder verwendet werden
- und verbessern die visuelle Gesamtqualität.
- Du solltest es immer eingeschaltet lassen, da sein Einfluss auf
- die Qualität gewaltig ist.
- Gerade wenn du Geschwindigkeit haben willst, darfst du es nicht
- deaktivieren, solange du nicht <option>vhq</option>
- und alle anderen CPU-hungrigeren Optionen auf
- ein Minimum heruntergesetzt hast.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">hq_ac</emphasis>
- Aktiviert die Vorhersagemethode für einen besseren Koeffizientenaufwand, was
- die DateigröÃe leicht um etwa 0.15 bis 0.19% reduziert (was mit einer
- PSNR-Erhöhung um weniger als 0.01dB einhergeht), während es eine
- vernachlässigbar kleine Einwirkung auf die Geschwindigkeit hat.
- Es empfiehlt sich deshalb, dies immer eingeschaltet zu lassen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">cartoon</emphasis>
- Entworfen, um Kartoon-Inhalt besser zu encodieren, und hat keine Auswirkung
- auf die Geschwindigkeit, da es lediglich die Heuristiken zur Bestimmung des
- Modus für diese Art Inhalt abstimmt.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">me_quality</emphasis>
- Diese Einstellung ist da, um die Präzision der Bewegungseinschätzung zu
- kontrollieren.
- Je höher <option>me_quality</option>, desto präziser wird die Schätzung
- der Originalbewegung sein, und desto besser wird der resultierende Ausschnitt
- die Originalbewegung einfangen.
- </para>
-
- <para>
- Die Standardeinstellung ist in jedem Fall die beste;
- folglich ist es nicht empfehlenswert, sie herunter zu drehen,
- es sei denn du hast es wirklich auf Geschwindigkeit abgesehen,
- da alle durch eine gute Bewegungseinschätzung gesparten Bits
- woanders verwendet würden, was die Gesamtqualität verbessern
- würde.
- Gehe deshalb nie unter 5, selbst wenn es der letzte Ausweg
- sein sollte.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">chroma_me</emphasis>
- Verbessert die Bewegungsabschätzung dadurch, dass auch die
- chroma-(Farb)-Informationen einbezogen werden, wobei
- <option>me_quality</option> alleine nur luma (Graustufen)
- verwendet.
- Dies verlangsamt die Encodierung um 5-10%, verbessert aber die
- visuelle Qualität durch Reduzieren von Blockeffekten ein wenig
- und reduziert die DateigröÃe um rund 1.3%.
- Wenn du Geschwindigkeit haben willst, solltest du diese Option
- deaktivieren, bevor du anfängst zu überlegen,
- <option>me_quality</option> zu reduzieren.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">chroma_opt</emphasis>
- Ist dafür vorgesehen, die chroma-Bildqualität rund um reine
- weiÃe/schwarze Kanten zu verbessern, eher noch als die
- Kompression zu verbessern.
- Dies kann dabei helfen, den "Rote Stufen"-Effekt zu reduzieren.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">lumi_mask</emphasis>
- Versucht, weniger Bitrate auf den Teil eines Bildes zu übergeben,
- der vom menschlichen Auge nicht gut zu sehen ist, was dem Encoder
- erlauben sollte, die eingesparten Bits auf wichtigere Teile des
- Bildes anzuwenden.
- Die durch diese Option gewonnene Encodierungsqualität hängt in
- hohem MaÃe von persönlichen Vorlieben und von Monitortyp und
- dessen Einstellungen ab (typischerweise wird es nicht gut aussehen,
- wenn er hell oder ein TFT-Monitor ist).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>
- Hebt die Anzahl Kandidaten der Bewegungsvektoren durch
- Erhöhung der Präzision der Bewegungsabschätzung von einem
- halben Pixel (halfpel) auf ein viertel Pixel
- (quarterpel) an.
- Die Idee dahinter ist, bessere Bewegungsvektoren zu finden,
- was wiederum die Bitrate reduziert (deshalb wird die Qualität
- verbessert).
- Bewegungsvektoren mit viertel Pixel Präzision brauchen ein
- paar Extrabits für die Codierung, die Bewegungsvektoren ergeben aber
- nicht immer ein (viel) besseres Resultat.
- Sehr oft verbraucht der Codec dennoch Bits für die Extrapräzision,
- jedoch wird im Gegenzug eine geringe oder keine Extraqualität
- gewonnen.
- Unglücklicherweise gibt es keinen Weg, den möglichen Gewinn von
- <option>qpel</option> vorzuaussagen, also musst du eigentlich
- mit und ohne encodieren, um sicher zu gehen.
- </para>
- <para>
- <option>qpel</option> kann fast die doppelte Encodierzeit in
- Anspruch nehmen und erfordert etwa 25% mehr
- Verarbeitungsleistung fürs Decodieren.
- Es wird nicht von allen Standalone-Playern unterstützt.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">gmc</emphasis>
- Versucht, Bits beim Schwenken von Szenen einzusparen, indem es einen
- einzelnen Bewegungsvektor für den gesamten Frame verwendet.
- Dies erhöht fast immer den PSNR, verlangsamt aber signifikant
- die Encodierung (genauso wie die Decodierung).
- Deshalb solltest du es nur nutzen, wenn du <option>vhq</option>
- auf das Maximum gestellt hast.
- <systemitem class="library">Xvid</systemitem>s GMC ist höher
- entwickelt als das von DivX, wird aber nur von ein paar
- Standalone-Playern unterstützt.
- </para>
- </listitem>
-
- </itemizedlist>
- </sect2>
-
- <sect2 id="menc-feat-xvid-encoding-profiles">
- <title>Encodierung Profile</title>
- <para>
- Xvid unterstützt Encodierungsprofile über die Option <option>profile</option>,
- die dazu verwendet werden, den Eigenschaften des Xvid-Videostreams
- Restriktionen so aufzuerlegen, dass es überall dort abgespielt werden kann,
- wo das gewählte Profil unterstützt wird.
- Die Restriktionen beziehen sich auf Auflösungen, Bitraten und
- bestimmte MPEG-4-Features.
- Die folgende Tabelle zeigt, was jedes Profil unterstützt.
- </para>
- <informaltable>
- <tgroup cols="16" align="center">
- <colspec colnum="1" colname="col1"/>
- <colspec colnum="2" colname="col2"/>
- <colspec colnum="3" colname="col3"/>
- <colspec colnum="4" colname="col4"/>
- <colspec colnum="5" colname="col5"/>
- <colspec colnum="6" colname="col6"/>
- <colspec colnum="7" colname="col7"/>
- <colspec colnum="8" colname="col8"/>
- <colspec colnum="9" colname="col9"/>
- <colspec colnum="10" colname="col10"/>
- <colspec colnum="11" colname="col11"/>
- <colspec colnum="12" colname="col12"/>
- <colspec colnum="13" colname="col13"/>
- <colspec colnum="14" colname="col14"/>
- <colspec colnum="15" colname="col15"/>
- <colspec colnum="16" colname="col16"/>
- <colspec colnum="17" colname="col17"/>
- <spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
- <spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
- <spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
- <tbody>
- <row>
- <entry></entry>
- <entry spanname="spa2-5">Einfach</entry>
- <entry spanname="spa6-11">Einfach erweitert</entry>
- <entry spanname="spa12-17">DivX</entry>
- </row>
- <row>
- <entry>Profilname</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>Handheld</entry>
- <entry>Portable NTSC</entry>
- <entry>Portable PAL</entry>
- <entry>Home Theater NTSC</entry>
- <entry>Home Theater PAL</entry>
- <entry>HDTV</entry>
- </row>
- <row>
- <entry>Breite [Pixel]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
- </row>
- <row>
- <entry>Höhe [Pixel]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
- </row>
- <row>
- <entry>Framerate [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- </row>
- <row>
- <entry>Max. mittlere Bitrate [kbps]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
- </row>
- <row>
- <entry>Höchstwert mittlere Bitrate über 3 Sek. [kbps]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
- </row>
- <row>
- <entry>Max. B-Frames</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
- </row>
- <row>
- <entry>MPEG-Quantisierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>Adaptive Quantisierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- </row>
- <row>
- <entry>Interlaced Encodierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- </row>
- <row>
- <entry>Viertelpixel</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>Globale Bewegungskompensierung</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
-
- <sect2 id="menc-feat-xvid-example-settings">
- <title>Encodierungseinstellungen Beispiele</title>
-
- <para>
- Die folgenden Einstellungen sind Beispiele unterschiedlicher
- Kombinationen von Encodierungsoptionen, die den Kompromiss
- zwischen Geschwindigkeit gegenüber Qualität bei gleicher
- Zielbitrate betreffen.
- </para>
-
- <para>
- Alle Encodierungseinstellungen wurden auf einem Beispielvideo
- mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps,
- und der Rechner war ein
- AMD-64 3400+ mit 2400 MHz im 64bit-Modus.
- Jede Encodierungseinstellung zeichnet sich aus durch die gemessene
- Encodiergeschwindigkeit (in Frames pro Sekunde) und den PSNR-Verlust
- (in dB) im Vergleich zu Einstellungen für "sehr hohe Qualität".
- Bitte hab Verständnis, dass du abhängig von deiner Quelldatei,
- deinem Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche
- Resultate erzielen wirst.
- </para>
-
- <para>
- <informaltable frame="all">
- <tgroup cols="4">
- <thead>
- <row><entry>Beschreibung</entry><entry>Encodieroptionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>Sehr hohe Qualität</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16fps</entry>
- <entry>0dB</entry>
- </row>
- <row>
- <entry>Hohe Qualität</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18fps</entry>
- <entry>-0.1dB</entry>
- </row>
- <row>
- <entry>Schnell</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28fps</entry>
- <entry>-0.69dB</entry>
- </row>
- <row>
- <entry>Echtzeit</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38fps</entry>
- <entry>-1.48dB</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- </sect2>
-
- </sect1>
-
- <sect1 id="menc-feat-x264">
- <title>Encodieren mit dem <systemitem class="library">x264</systemitem>-Codec</title>
- <para>
- <systemitem class="library">x264</systemitem> ist eine freie
- Programmbibliothek zum Encodieren von H.264/AVC-Videostreams.
- Bevor du mit <link linkend="xvid"> zu encodieren beginnst, musst
- du <application>MEncoder</application> so einstellen, dass er es unterstützt</link>.
- </para>
-
- <sect2 id="menc-feat-x264-encoding-options">
- <title>Encodieroptionen von x264</title>
-
- <para>
- Bitte beginne mit der Durchsicht der
- <systemitem class="library">x264</systemitem>-Sektion von
- <application>MPlayer</application>s Manpage.
- Diese Sektion ist als Anhang zur Manpage vorgesehen.
- Hier wirst du Schnellhinweise dazu finden, welche Optionen am
- wahrscheinlichsten die meisten Leute interessieren. Die Manpage
- ist knapper gehalten, aber auch vollständiger, und zeigt oft
- viel bessere technische Details.
- </para>
-
- <sect3 id="menc-feat-x264-encoding-options-intro">
- <title>Einführung</title>
- <para>Dieses Handbuch berücksichtigt zwei Hauptkategorien der Encodieroptionen:</para>
-
- <orderedlist>
- <listitem>
- <para>
- Optionen, die hauptsächlich Encodierdauer gegenüber Qualität abwägen
- </para>
- </listitem>
- <listitem>
- <para>
- Optionen, die zur Erfüllung zahlreicher persönlicher Vorlieben und spezieller Anforderungen nützlich sind
- </para>
- </listitem>
- </orderedlist>
-
- <para>
- Letztendlich kannst nur du entscheiden, welche Optionen für deine
- Zwecke am besten geeignet sind. Die Entscheidung für die erste
- Klasse der Optionen ist die einfachste:
- Du musst nur entscheiden, ob du denkst, dass Qualitätsunterschiede
- Geschwindigkeitsunterschiede rechtfertigen. Für die zweite Klasse
- der Optionen sind die Vorzüge weitaus subjektiver, und mehr Faktoren
- können involviert sein. Beachte, dass manche der Optionen für
- "persönliche Vorlieben und spezielle Anforderungen"
- noch groÃe Auswirkungen auf Geschwindigkeit oder Qualität haben können,
- das ist aber nicht, wozu sie primär benutzt werden. Ein paar der
- Optionen für "persönliche Vorlieben" können sogar Ãnderungen
- verursachen, die für manche Leute besser aussehen aber schlechter
- für andere.
- </para>
-
- <para>
- Bevor du fortfährst, musst du verstehen, dass dieses Handbuch nur
- eine Qualitätsmetrik verwendet: globaler PSNR.
- Für eine kurze Erklärung, was PSNR ist, schau dir
- <ulink url="http://en.wikipedia.org/wiki/PSNR">den Wikipedia-Artikel zu PSNR</ulink>
- an.
- Globaler PSNR ist die letzte gemeldete PSNR-Nummer, wenn du die
- Option <option>psnr</option> in <option>x264encopts</option>
- einbindest.
- Jedesmal wenn du eine Forderung nach PSNR liest, ist eine der Annahmen
- hinter dieser Forderung, dass gleiche Bitraten verwendet werden.
- </para>
-
- <para>
- Nahezu alle dieser Handbuchkommentare unterstellen, dass du
- 2-pass anwendest.
- Beim Vergleich der Optionen gibt es zwei Hauptgründe, 2-pass-Encodierung
- zu nutzen.
- Der erste ist, 2-pass bringt rund 1dB PSNR, was einen sehr
- groÃen Unterschied ausmacht.
- Der zweite ist, Optionen zu testen, indem man direkte Qualitätsvergleiche
- zu 1-pass-Encodierung anstellt, führt einen einen wichtigen verwirrenden
- Faktor ein: die Bitrate variiert bei jeder Encodierung oft signifikant.
- Es ist nicht immer einfach zu sagen, ob Qualitätsänderungen vorwiegend
- auf geänderte Optionen zurückzuführen sind oder ob sie meist
- essentielle, zufällige Unterschiede in der erhaltenen Bitrate reflektieren.
- </para>
-
- </sect3>
-
- <sect3 id="menc-feat-x264-encoding-options-speedvquality">
- <title>Optionen, die primär Geschwindigkeit und Qualität betreffen</title>
-
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">subq</emphasis>:
- Von den Optionen, die dir erlauben, einen Kompromiss zwischen
- Geschwindigkeit und Qualität einzugehen, sind <option>subq</option>
- und <option>frameref</option> (siehe unten) gewöhnlich die bei weitem
- wichtigsten.
- Wenn du dich für die Optimierung von entweder Geschwindigkeit oder Qualität
- interessierst, sind diese die ersten, die du in Erwägung ziehen solltest.
- Bei der Dimension Geschwindigkeit, interagieren die Optionen
- <option>frameref</option> und <option>subq</option> ziemlich stark
- miteinander.
- Die Erfahrung zeigt, dass mit einem Referenzframe <option>subq=5</option>
- (die Standardeinstellung) das ganze etwa 35% mehr Zeit in Anspruch nimmt als
- <option>subq=1</option>.
- Mit 6 Referenzframes wächst der Nachteil auf 60%.
- Der Effekt, den <option>subq</option> auf den PSNR ausübt, scheint ziemlich
- konstant zu sein, ungeachtet der Anzahl der Referenzframes.
- Typischerweise erreicht <option>subq=5</option> einen 0.2-0.5 dB höheren globalen
- PSNR im Vergleich zu <option>subq=1</option>.
- Dies ist gewöhnlich ausreichend, um sichtbar zu werden.
- </para>
- <para>
- <option>subq=6</option> ist langsamer und führt bei erträglichen Kosten zu besserer
- Qualität.
- Im Vergleich zu <option>subq=5</option> gewinnt sie gewöhnlich 0.1-0.4 dB
- globalen PSNR mit GeschwindigkeitseinbuÃen, die sich zwischen 25%-100%
- bewegen.
- Im Unterschied zu anderen Levels von <option>subq</option> hängt das
- Verhalten von <option>subq=6</option> nicht sehr von <option>frameref</option>
- und <option>me</option> ab. Statt dessen hängt die Effektivität von
- <option>subq=6</option> gröÃtenteils von der Anzahl der verwendeten
- B-Frames ab. Im Normalgebrauch bedeutet dies, <option>subq=6</option>
- hat einen groÃen Einfluss auf Geschwindigkeit und Qualität
- in komplexen, stark bewegten Szenen, kann aber auch einen geringen Effekt
- in Szenen mit wenig Bewegung haben. Beachte, dass dennoch empfohlen wird,
- <option>bframes</option> immer auf etwas anderes als null
- zu setzen (siehe unten).
- </para>
- <para>
- <option>subq=7</option> ist der langsamste Modus mit der höchsten Qualität.
- Im Vergleich zu <option>subq=6</option> erreicht er normalerweise zwischen 0.01-0.05 dB
- Zuwachs des globalen PSNR bei GeschwindigkeitseinbuÃen variierend von 15%-33%.
- Da der Kompromiss zwischen Zeit gegenüber Qualität recht gering ist, solltest
- du ihn nur benutzen, wenn du jedes mögliche Bit einsparen möchtest und
- Encodierzeit keine Rolle spielt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">frameref</emphasis>:
- <option>frameref</option> ist per Voreinstellung auf 1 gesetzt, jedoch
- solltest du deshalb nicht darauf schlieÃen, dass es unbedingt
- auf 1 gesetzt sein muss.
- Allein die Erhöhung von <option>frameref</option> auf 2 bringt rund
- 0.15dB PSNR mit einem Geschwindigkeitsnachteil von 5-10%; dies sieht nach
- einem guten Kompromiss aus.
- <option>frameref=3</option> bringt rund 0.25dB PSNR mehr als
- <option>frameref=1</option>, was einen sichtbaren Unterschied machen
- sollte.
- <option>frameref=3</option> ist rund 15% langsamer als
- <option>frameref=1</option>.
- Leider setzen vermindernde Rückgaben schnell ein.
- <option>frameref=6</option> kann erwartungsgemäà nur
- 0.05-0.1 dB mehr als <option>frameref=3</option> bei zusätzlichen
- 15% Geschwindigkeitsnachteil.
- Oberhalb <option>frameref=6</option> sind die Qualitätsgewinne
- für gewöhnlich sehr klein (obwohl du während der ganzen Diskussion
- im Kopf behalten solltest, dass sie abhängig von deiner Quelle stark
- variieren können).
- In einem ziemlich typischen Fall wird <option>frameref=12</option>
- den globalen PSNR um ein bisschen mehr als 0.02dB gegenüber
- <option>frameref=6</option> verbessern, bei GeschwindigkeitseinbuÃen
- von 15%-20%.
- Bei so hohen <option>frameref</option>-Werten ist das wirklich
- einzig Gute, dass man sagen kann, dass ein weiteres Anheben dieses
- Wertes ziemlich sicher nie den PSNR <emphasis role="bold">schädigen</emphasis>
- wird, jedoch sind zusätzliche Qualitätsvorteile sogar kaum messbar,
- geschweige denn wahrnehmbar.
- </para>
- <note><title>Beachte:</title>
- <para>
- Das Erhöhen von <option>frameref</option> auf unnötig hohe Werte
- <emphasis role="bold">kann</emphasis> und
- <emphasis role="bold">tut dies üblicherweise auch</emphasis>
- die Codiereffizienz schädigen, wenn du CABAC ausschaltest.
- Mit eingeschaltetem CABAC (das Standardverhalten) scheint die
- Möglichkeit, <option>frameref</option> "zu hoch"
- zu setzen, gegenwärtig zu weit entfernt um sich Sorgen zu machen,
- und in der Zukunft werden womöglich Optimierungen diese Möglichkeit
- ganz und gar ausschlieÃen.
- </para>
- </note>
- <para>
- Wenn du auf Geschwindigkeit abzielst, ist ein vernünftiger
- Kompromiss, im ersten Durchgang niedrigere <option>subq</option>- und
- <option>frameref</option>-Werte zu nehmen, und sie danach im
- zweten Durchgang zu erhöhen.
- Typischerweise hat dies einen vernachlässigbar negativen Effekt
- auf die Encodierqualität: Du wirst womöglich unter 0.1dB PSNR
- verlieren, was viel zu klein für einen sichtbaren Unterschied
- sein sollte.
- Trotzdem, unterschiedliche Werte für <option>frameref</option>
- können auf verschiedene Weise die Frametypenbestimmung beeinflussen.
- Höchstwahrscheinlich sind dies auÃerordentlich seltene Fälle,
- willst du jedoch wirklich sicher gehen, ziehe in Betracht, ob
- dein Video entweder Vollbild- respektive Einblendungsmuster
- oder sehr groÃe temporäre Ãberdeckungen enthält, was einen I-Frame
- erzwingen könnte.
- Passe <option>frameref</option> des ersten Durchgangs so an,
- dass es groà genug ist, die Dauer des Einblendungszyklus
- (oder der Ãberdeckungen) zu enthalten.
- Zum Beispiel, wenn die Szene zwischen zwei Bildern über eine
- Zeitspanne von drei Frames rückwärts und vorwärts springt,
- setze <option>frameref</option> des ersten Durchgangs auf 3
- oder höher.
- Dieser Sachverhalt kommt vermutlich extrem selten in
- Videomaterial mit Live Action vor, erscheint aber manchmal
- bei eingefangenen Computerspiel-Sequenzen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">me</emphasis>:
- Diese Option dient der Wahl der Suchmethode der Bewegungseinschätzung.
- Diese Option zu verändern stellt einen überschaubaren Kompromiss
- zwischen Qualität und Geschwindigkeit dar.
- <option>me=dia</option> ist nur ein paar Prozent schneller als
- die Standardsuche, auf Kosten von unter 0.1dB globalem PSNR. Die
- Standardeinstellung (<option>me=hex</option>) ist ein angemessener
- Kompromiss zwischen Qualität und Geschwindigkeit.
- <option>me=umh</option> bringt ein wenig unter 0.1dB globalem PSNR,
- mit Geschwindigkeitsnachteil, der abhängig von <option>frameref</option>
- variiert. Bei hohen <option>frameref</option>-Werten (z.B. 12 oder so)
- ist <option>me=umh</option> etwa 40% langsamer als die Standardeinstellung
- <option>me=hex</option>. Mit <option>frameref=3</option> fällt der
- Geschwindigkeitsnachteil auf 25%-30%.
- </para>
- <para>
- <option>me=esa</option> verwendet eine gründliche, für die praktische
- Anwendung zu langsame Suche.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">partitions=all</emphasis>:
- Diese Option aktiviert die Verwendung von 8x4, 4x8 und 4x4 Unterteilungen
- in den vorhergesagten Macroblöcken (zusätzlich zu den Standardunterteilungen).
- Sie zu aktivieren führt zu einem
- recht beständigen Geschwindigkeitsverlust von 10%-15%. Sie ist
- ziemlich nutzlos bei Quellen, die nur langsame Bewegungen enthalten,
- obwohl in manchen Quellen mit sehr viel Bewegung und vielen kleinen,
- sich bewegenden Objekten Zugewinne von etwa 0.1dB erwartet werden können.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">bframes</emphasis>:
- Wenn du gewohnt bist, mit anderen Codecs zu encodieren, hast du
- womöglich empfunden, dass B-Frames nicht immer nützlich sind.
- Bei H.264 wurde dies geändert: es gibt neue Techniken und Blocktypen,
- die in B-Frames möglich sind.
- Für gewöhnlich kann selbst ein einfältiger Algorithmus zur Wahl
- der B-Frames einen signifikanten PSNR-Vorteil bringen.
- Es ist interessant festzustellen, dass die Anwendung von B-Frames
- normalerweise den zweiten Durchgang ein bisschen beschleunigt,
- und er kann auch eine Encodierung mit einfachem Durchgang etwas
- schneller machen, wenn adaptive B-Frame-Bestimmung deaktiviert
- ist.
- </para>
- <para>
- Mit deaktivierter adaptiver B-Framebestimmung
- (<option>nob_adapt</option> von <option>x264encopts</option>)
- ist der optimale Wert für diese Einstellung normalerweise nicht
- mehr als <option>bframes=1</option>, andernfalls leiden Szenen
- mit sehr viel Bewegung darunter.
- Mit aktivierter adaptiver B-Framebestimmung (das Standardverhalten)
- ist es sicher, höhere Werte zu verwenden; der Encoder wird die Anwendung
- von B-Frames in Szenen reduzieren, in denen sie die Kompression
- schädigen könnten.
- Der Encoder zieht es selten vor, mehr als 3 oder 4 B-Frames zu
- verwenden; diese Option höher zu setzen wird einen geringen Effekt haben.
- </para></listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">b_adapt</emphasis>:
- Beachte: Dies ist standardmäÃig eingeschaltet.
- </para>
- <para>
- Ist diese Option aktiviert, wird der Encoder einen einigermaÃen schnellen
- Entscheidungsprozess zur Reduzierung der Anzahl B-Frames in Szenen anwenden, die
- nicht viel von ihnen profitieren würden.
- Du kannst <option>b_bias</option> dazu verwenden, zu optimieren wie
- froh der Encoder über B-Frames sein soll.
- Der Geschwindigkeitsnachteil adaptiver B-Frames ist gegenwärtig ziemlich
- bescheiden, und genauso ist der potentielle Qualitätsgewinn.
- Es sollte aber normalerweise nicht schaden.
- Beachte, dass dies nur Geschwindigkeit und Frametypenbestimmung im ersten
- Durchgang betrifft.
- <option>b_adapt</option> und <option>b_bias</option> haben keinen
- Effekt auf nachfolgende Durchgänge.
- </para>
- </listitem>
-
- <listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- Du kannst diese Option genauso gut aktivieren, falls du >=2 B-Frames
- verwendest; wie die Manpage dir sagt, erreichst du eine kleine
- Qualitätsverbesserung bei keinerlei GeschwindigkeitseinbuÃe.
- Beachte, dass diese Videos von libavcodec-basierten Decodern
- älter als etwa 5. März 2005 nicht gelesen werden können.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">weight_b</emphasis>:
- In typischen Fällen gibt es nicht viel Gewinn mit dieser Option.
- Trotzdem, in überblendenden oder ins Schwarze übergehenden Szenen
- liefert die gewichtete Vorhersage ziemlich groÃe Einsparungen bei der Bitrate.
- In MPEG-4 ASP wird ein Ãbergang ins Schwarze gewöhnlich am besten
- als eine Serie aufwändiger I-Frames codiert; das Verwenden einer
- gewichteten Vorhersage in B-Frames macht es möglich, wenigstens
- manche von diesen in viel kleinere B-Frames zu wandeln.
- Der Verlust an Encodierzeit ist minimal, da keine extra Bestimmungen
- vorgenommen werden müssen.
- Auch werden die CPU-Anforderungen des Encoders, im Gegensatz zu den
- Einschätzungen mancher Leute, von gewichteter Vorhersage nicht sonderlich
- beeinflusst, ansonsten bleibt alles gleich.
- </para>
- <para>
- Leider hat der aktuelle Algorithmus zur adaptiven B-Frame-Bestimmung
- eine starke Tendenz, B-Frames während des Fadens zu verhindern.
- Bis sich dies ändert, kann es eine gute Idee sein,
- <option>nob_adapt</option> zu deinen x264encopts hinzuzufügen, falls
- du erwartest, dass Fades einen groÃen Effekt in deinem jeweiligen
- Videoclip erzeugen.
- </para>
- </listitem>
- <listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
- <para>
- <emphasis role="bold">threads</emphasis>:
- Diese Option erlaubt es, mehrere Threads zu erstellen, um parallel auf mehreren
- CPUs zu encodieren. Du kannst die Anzahl der Threads manuell wählen oder,
- besser, setze <option>threads=auto</option> und lasse
- <systemitem class="library">x264</systemitem> erkennen, wie viele CPUs
- verfügbar sind, und die passende Anzahl Threads automatisch wählen.
- Wenn du eine Multi-Prozessor-Maschine hast, solltest du wirklich in Erwägung
- ziehen, dies zu benutzen, da es die Encodiergeschwindigkeit linear in
- der Anzahl der CPU-Kerne (ca. 94% pro CPU-Kern) erhöhen kann, bei sehr
- geringem Qualitätsverlust (ca. 0.005dB bei Dualprozessor, ca. 0.01dB bei
- einer Quad-Prozessor-Maschine).
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3 id="menc-feat-x264-encoding-options-misc-preferences">
- <title>Diverse Eigenschaften betreffende Optionen</title>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">2-pass-Encodierung</emphasis>:
- Oben wurde vorgeschlagen, immer 2-pass-Encodierung anzuwenden.
- Es gibt aber durchaus Gründe, dies nicht zu tun. Beispielsweise bist du,
- wenn du Live-TV aufnimmst und in Echtzeit encodierst,
- gezwungen, einen einzigen Durchgang zu verwenden.
- Auch ist ein Durchgang offensichtlich schneller als zwei Durchgänge;
- wenn du exakt die gleichen Optionen bei beiden Durchgängen anwendest,
- ist das Encodieren in zwei Durchgängen mindestens zweimal so langsam.
- </para>
- <para>
- Noch gibt es sehr gute Gründe, in zwei Durchgängen zu encodieren.
- Zum einen ist Ratenkontrolle in einem Durchgang kein Allheilmittel.
- Sie trifft oft eine unvernünftige Auswahl, weil sie das groÃe
- Bild nicht sehen kann. Zum Beispiel angenommen, du hast ein zwei Minuten
- langes Video bestehend aus zwei ausgeprägten Hälften. Die erste Hälfte
- besitzt eine 60 Sekunden dauernde Szene mit sehr viel Bewegung, die
- einzeln für sich etwa 2500kbps benötigt, um anständig auszusehen.
- Direkt daruffolgend kommt eine viel weniger anspruchsvolle 60 Sekunden
- lange Szene, die bei 300kbps gut aussieht. Angenommen du forderst in
- der Theorie 1400kbps an, was beiden Szenen ausreichend entgegenkommen
- würde. Die Ratenkontrolle in einem Durchgang wird in diesem Fall
- ein paar "Fehler" machen. Zuallererst wird es in beiden Segmenten
- 1400kbps anpeilen. Das erste Segment könnte schwer überquantisiert enden,
- was es unakzeptabel und unangemessen blockhaft aussehen lässt.
- Das zweite Segment wird schwer unterquantisiert sein; es sieht vielleicht
- perfekt aus, aber der Bitratenverlust dieser Perfektion wird komplett
- unangemessen sein.
- Noch schwerer vermeidbar ist das Problem am Ãbergang beider Szenen.
- Die ersten Sekunden der Hälfte mit wenig Bewegung wird enorm
- überquantisiert sein, weil die Ratenkontrolle noch die Art Anforderung
- an die Bitrate erwartet, der sie in der ersten Hälfte des Videos begegnet
- war. Diese "Fehlerperiode" der extrem überquantisierten Szene
- mit wenig Bewegung wird fürchterlich schlecht aussehen, und wird sogar
- weniger als die 300kbps in Anspruch nehmen als das, was sie genommen hätte, um annehmbar
- auszusehen. Es gibt Mittel und Wege, diese Fälle des Encodierens in einem
- Durchgang zu mildern, diese werden allerdingst dahin tendieren, die
- fehlerhaften Vorhersagen der Bitraten zu häufen.
- </para>
- <para>
- Multipass-Ratenkontrolle kann gegenüber der eines einzigen Durchgangs
- enorm groÃe Vorteile bieten.
- Indem sie die im ersten Encodierungsdurchlauf gesammelte Statistik
- verwendet, kann der Encoder mit angemessener Genauigkeit den Aufwand
- (in Bit) abschätzen, den das Encodieren jeden gegebenen Frames bei
- jedem gegebenen Quantisierer erfordert. Dies erlaubt eine viel
- rationalere, besser geplante Zuweisung von Bits zwischen den
- bithungrigen Szenen mit viel Bewegung und denen bescheidenen mit
- wenig Bewegung.
- Siehe <option>qcomp</option> unten für einige Ideen darüber, wie man
- diese Zuweisungen nach seinem Geschmack optimiert.
- </para>
- <para>
- Darüber hinaus brauchen zwei Durchgänge zweimal so lang wie ein Durchgang.
- Du kannst die Optionen im ersten Durchgang auf höhere Geschwindigkeit
- und niedrigere Qualität optimieren.
- Wenn du deine Optionen geschickt wählst, kannst du einen sehr schnellen
- ersten Durchgang hinkriegen.
- Die resultierende Qualität im zweiten Durchgang wird geringfügig niedriger
- ausfallen, weil die GröÃenvorhersage weniger akkurat ist, jedoch
- ist die Qualitätsdifferenz normalerweise viel zu klein, um sichtbar zu sein.
- Versuche zum Beispiel <option>subq=1:frameref=1</option> zu
- <option>x264encopts</option> des ersten Durchgangs hinzuzufügen.
- Verwende dann im zweiten Durchgang langsamere, hochwertigere Optionen:
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Encodierung mit drei Durchgängen</emphasis>?
-
- x264 bietet die Möglichkeit, eine beliebige Anzahl aufeinander folgender
- Durchgänge auszuführen. Wenn du <option>pass=1</option> im ersten Durchgang
- spezifizierst, dann verwende <option>pass=3</option> im nachfolgenden
- Durchgang, der nachfolgende Durchgang wird beides tun, die Statistik des
- vorhergehenden Durchgangs lesen und seine eigene Statistik schreiben.
- Ein zusätzlicher Durchgang, der diesem folgt, wird eine sehr gute Basis
- haben, von der aus er hochpräzise Vorhersagen der FramegröÃen bei
- einem gewählten Quantisierer machen kann.
- In der Praxis ist der damit erzielte gesamte Qualitätsgewinn
- gewöhnlich nahezu null, und ziemlich wahrscheinlich resultiert ein dritter
- Durchgang in einem geringfügig schlechteren globalen PSNR als der Durchgang
- davor. In der typischen Anwendung helfen drei Durchgänge, wenn du entweder
- eine schleche Vorhersage der Bitraten oder schlecht aussehende Szenenübergänge
- beim Verwenden nur eines Durchlaufs bekommst.
- Dies passiert mit ziemlicher Wahrscheinlichkeit bei extrem kurzen Clips.
- Ebenso gibt es ein paar Spezialfälle, in denen drei (oder mehr) Durchgänge
- erfahrenen Nutzern dienlich sind, aber um es kurz zu machen, dieses Handbuch
- behandelt die Diskussion solcher speziellen Fälle nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">qcomp</emphasis>:
- <option>qcomp</option> wägt die Anzahl der für "aufwändige" Frames
- mit viel Bewegung vorgesehenen Bits gegen die für "weniger aufwändige"
- Frames mit wenig Bewegung ab.
- Bei einem Extrem zielt <option>qcomp=0</option> auf eine echte konstante
- Bitrate ab. Typischerweise würde dies Szenen mit viel Bewegung vollkommen
- ätzend aussehen lassen, während Szenen mit wenig Bewegung womöglich absolut
- perfekt aussehen, jedoch öfter mehr Bitrate verwenden würden, als sie es für
- lediglich sehr gutes Aussehen bräuchten. Beim anderen Extrem
- erreicht <option>qcomp=1</option> nahezu konstante Quantisierungsparameter
- (QP). Ein konstanter QP sieht nicht schlecht aus, die meisten Leute meinen
- aber, es sei vernünftiger, etwas Bitrate aus den extrem aufwändigen Szenen
- zu nehmen (wobei dort der Qualitätsverlust micht ganz so augenfällig ist)
- und sie wieder den Szenen zuzuweisen, die bei sehr guter Qualität leichter
- zu encodieren sind.
- <option>qcomp</option> ist per Voreinstellung auf 0.6 gesetzt, was für den
- Geschmack mancher Leute etwas zu langsam sein könnte (0.7-0.8 werden im
- Allgemeinen auch verwendet).
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">keyint</emphasis>:
- <option>keyint</option> ist einzig und allein zur Abwägung der
- Durchsuchbarkeit der Datei gegenüber der Codiereffiziez da.
- Als Standardwert ist <option>keyint</option> auf 250 gesetzt. In
- Material mit 25fps garantiert dies, auf 10 Sekunden genau
- suchen zu können. Wenn du meinst, es wäre wichtig und nützlich,
- auf 5 Sekunden genau suchen zu können, setze es auf <option>keyint=125</option>;
- dies wird der Qualität/Bitrate leicht schaden. Wenn es dir nur um Qualität
- geht und nicht um die Durchsuchbarkeit, kannst du viel höhere Werte
- setzen (vorausgesetzt du verstehst, daà es verringerte Resultate gibt, die verschwindend
- klein werden oder sogar gegen null gehen). Der Videostream wird nach
- wie vor suchbare Stellen besitzen, solange einige Szenenwechsel
- vorhanden sind.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">deblock</emphasis>:
- Dieses Thema ist im Begriff etwas kontrovers zu geraten.
- </para>
- <para>
- H.264 definiert eine simple Deblocking-Prozedur bei I-Blöcken, die
- von vorgegebenen Stärken und vom QP des strittigen Blocks
- abhängigen.
- Mit dem Standardwert werden hohe QP-Blöcke stark gefiltert, und
- niedrige QP-Blöcke werden überhaupt nicht entblockt.
- Die vom Standard definierten vorgegebenen Stärken sind mit
- Bedacht gewählt und die Chancen stehen sehr gut, dass sie
- PSNR-optimal sind, egal welches Video auch immer du zu encodieren
- versuchst.
- Der Parameter <option>deblock</option> erlaubt dir, Offsets festzulegen,
- um Deblocking-Schwellen voreinzustellen.
- </para>
- <para>
- Viele Leute scheinen zu glauben, es sei eine gute Idee, die Stärke
- des Deblocking-Filters um hohe Beträge abzusenken (sagen wir -3).
- Dies ist jedoch meist keine gute Idee, und in den meisten Fällen
- verstehen Leute, die das machen, nicht viel davon wie Deblocking
- standardmäÃig funktioniert.
- </para>
- <para>
- Die erste und wichtigste Sache, die man über den
- in-loop-Deblocking-Filter wissen sollte, ist, dass die
- Standardschwellenwerte meistens PSNR-optimal sind.
- In den seltenen Fällen, in denen sie nicht optimal sind, ist das
- ideale Offset plus oder minus 1.
- Die Deblocking-Parameter durch einen höheren Betrag anzupassen
- garantiert meist, dem PSNR zu schaden.
- Das Verstärken des Filters wird mehr Details verwischen; den
- Filter zu schwächen wird das Auftreten von Blockeffekten
- erhöhen.
- </para>
- <para>
- Es ist definitiv eine schlechte Idee, die Deblocking-Schwellenwerte
- herabzusetzen, falls deine Quelle eine vorwiegend niedrige räumliche
- Komplexität besitzt (z.B. nicht viele Details oder Rauschen).
- Der in-loop-Filter macht eigentlich einen exzellenten Job durch
- das Kaschieren auftretender Artefakte.
- Besitzt die Quelle eine hohe räumliche Komplexität, sind Artefakte
- weniger bemerkbar.
- Dies ist so, weil das Schwingen (ringing) dazu neigt, wie Details
- oder Rauschen auszusehen.
- Die viselle Wahrnehmung des Menschen erkennt leicht, wenn Details
- entfernt wurden, aber erkennt nicht so leicht, wenn Rauschen falsch
- dargestellt wird.
- Wird die Qualität subjektiv, sind Details und Rauschen etwas
- austauschbares.
- Durch das Herabsetzen der Deblocking-Filterstärke verstärkst du
- höchstwahrscheinlich Fehler durch Hinzufügen von
- Schwingungsartefakten, aber dem Auge fällt nichts auf, weil
- es die Artefakte mit Details verwechselt.
- </para>
-
- <para>
- Dies rechtfertigt jedoch <emphasis role="bold">nach wie vor</emphasis>
- nicht das Herabsetzen der Deblocking-Filterstärke.
- Du kannst im Allgemeinen besseres Qualitätsrauschen im Postprocessing
- erzielen.
- Falls deine H.264-Encodierungen zu verschwommen oder verschmiert
- aussehen, versuche, mit
- <option>-vf noise</option> beim Abspielen des encodierten Films
- herumzuspielen.
- <option>-vf noise=8a:4a</option> sollte die meisten weichen Artefakte
- kaschieren.
- Es wird meist mit Sicherheit besser aussehen als die Resultate, die
- du durch einfaches Herumtüfteln mit dem Deblocking-Filter bekommen
- hättest.
- </para></listitem>
- </itemizedlist>
- </sect3>
- </sect2>
-
- <sect2 id="menc-feat-x264-example-settings">
- <title>Beispiele für Encodieroptionen</title>
-
- <para>
- Die folgenden Einstellungen sind Beispiele unterschiedlicher
- Kombinationen von Encodier-Optionen, die einen Kompromiss zwischen
- Geschwindigkeit und Qualität bei gleicher Zielbitrate darstellen.
- </para>
-
- <para>
- All diese Encodier-Einstellungen wurden an einem Beispielvideo
- mit 720x448 @30000/1001 fps getestet, die Zielbitrate war 900kbps,
- und der Rechner war ein
- AMD-64 3400+ mit 2400 MHz im 64bit-Modus.
- Jede Encodier-Einstellung zeichnet sich durch eine gemessene
- Encodiergeschwindigkeit (in Frames pro Sekunde) und dem
- PSNR-Verlust (in dB) im Vergleich zu den "sehr
- hochwertigen" Einstellung aus.
- Bitte hab dafür Verständnis, dass du abhängig von deiner Quelle, deinem
- Rechnertyp und Entwicklungsfortschritten sehr unterschiedliche Resultate
- erhalten kannst.
- </para>
-
- <para>
- <informaltable frame="all">
- <tgroup cols="4">
- <thead>
- <row><entry>Beschreibung</entry><entry>Encodier-Optionen</entry><entry>Geschwindigkeit (in fps)</entry><entry>Relativer PSNR-Verlust (in dB)</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>Sehr hohe Qualität</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
- </row>
- <row>
- <entry>Hohe Qualität</entry>
- <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13fps</entry>
- <entry>-0.89dB</entry>
- </row>
- <row>
- <entry>Schnell</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17fps</entry>
- <entry>-1.48dB</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- </sect2>
-
- </sect1>
-
- <sect1 id="menc-feat-video-for-windows">
- <title>Encodieren mit der <systemitem class="library">Video for Windows</systemitem> Codecfamilie</title>
-
- <para>
- Video for Windows bietet einfaches Encodieren mittels binärer Video-Codecs.
- Du kannst mit folgenden Codecs encodieren (solltest du mehr haben, teile es
- uns bitte mit!)
- </para>
- <para>
- Beachte, dass der Support hierfür sehr experimentell ist, und
- einige Codecs arbeiten vielleicht nicht korrekt. Manche Codecs werden
- nur in bestimmten Farbräumen funktionieren, versuche
- <option>-vf format=bgr24</option> und <option>-vf format=yuy2</option>,
- falls ein Codec versagt oder einen falschen Output liefert.
- </para>
-
- <sect2 id="menc-feat-enc-vfw-video-codecs">
- <title>Von Video for Windows unterstützte Codecs</title>
-
- <para>
- <informaltable frame="all">
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Video-Codec Dateiname</entry>
- <entry>Beschreibung (FourCC)</entry>
- <entry>md5sum</entry>
- <entry>Kommentar</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft verlustfreier (lossless) Codec vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
- </row>
- <row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>benötigt <option>-vf format</option></entry>
- </row>
- <row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
- </row>
- <row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
- </row>
- <row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV verlustfrei (lossless) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
- </row>
- <row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
- </row>
- <row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
- </row>
- <row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
- </row>
- <row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
- </row>
- <row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
- </row>
- <row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
- </row>
- <row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry></entry>
- </row>
- <row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
- </row>
- <row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
- </row>
- <row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry></entry>
- </row>
- <row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry>falscher FourCC?</entry>
- </row>
- <row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 Codec VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- Die erste Spalte enthält die Codec-Namen, die nach dem Parameter
- <literal>codec</literal> übergeben werden sollten, wie:
- <option>-xvfwopts codec=divx.dll</option>.
- Der FourCC-Code, der von jedem Codec verwendet wird, steht in Klammern.
- </para>
- <informalexample>
- <para>
- Ein Beispiel für die Konvertierung eines ISO DVD Trailers in eine
- VP5-Flash-Videodatei unter Benutzung der compdata-Bitrateneinstellungen:
-<screen>mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf
-</screen>
- </para>
- </informalexample>
-
- </sect2>
-
- <sect2 id="menc-feat-video-for-windows-bitrate-settings">
- <title>Benutzung von vfw2menc, um eine Datei für Codeceinstellungen zu erzeugen</title>
-
- <para>
- Um mit Video für Windows Codecs zu encodieren, musst du Bitrate und andere
- Optionen setzen. Nach dem Stand der Dinge funktioniert dies für x86
- sowohl unter *NIX als auch unter Windows.
- </para>
-
- <para>
- Zuerst musst du das <application>vfw2menc</application>-Programm erzeugen.
- Es befindet sich im Ordner <filename class="directory">TOOLS</filename>
- des MPlayer-Sourcebaums.
- Um es unter Linux zu erstellen, kann <application>Wine</application> benutzt werden:
-
- <screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
- Unter <application>MinGW</application> oder <application>Cygwin</application> verwende:
-
- <screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
- Um es unter <application>MSVC</application> zu erstellen, wirst du getopt brauchen.
- Getopt findest du im Original-<application>vfw2menc</application>-Archiv, das
- es hier gibt:
- Das Projekt <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink>.
- </para>
-
- <informalexample>
- <para>
- Unten steht ein Beispiel für den VP6-Codec.
- <screen>vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf</screen>
- Dies wird den Konfigurationsdialog des VP6-Codecs öffnen.
- Wiederhole diesen Schritt für den zweiten Durchlauf und benutze
- <option>-s <replaceable>secondpass.mcf</replaceable></option>.
- </para>
- </informalexample>
-
- <para>
- Windows-Benutzer können
- <option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option>
- verwenden, damit der Dialog angezeigt wird, bevor die Encodierung startet.
- </para>
- </sect2>
- </sect1>
-
-
- <sect1 id="menc-feat-quicktime-7">
- <title>
- <application>MEncoder</application> benutzen, um <application>QuickTime</application>-kompatible Dateien zu erstellen
- </title>
-
- <sect2 id="menc-feat-quicktime-7-why-use-it">
- <title>
- Warum sollte jemand <application>QuickTime</application>-kompatible Dateien erstellen wollen?
- </title>
-
- <para>
- Es gibt mehrere Gründe, warum das Erstellen von <application>QuickTime</application>-kompatiblen
- Dateien wünschenswert sein kann.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Du willst, dass jeder Computeranalphabet deine Encodierung auf jeder gröÃeren
- Plattform (Windows, Mac OS X, Unices …) anschauen kann.
- </para>
- </listitem>
- <listitem>
- <para>
- <application>QuickTime</application> kann von mehr Features der Hardware- und
- Softwarebeschleunigung von Max OS X gebrauch machen als plattformunabhängige
- Player wie <application>MPlayer</application> oder <application>VLC</application>.
- Das heiÃt, dass deine Encodierungen eine bessere Chance haben, auf älteren
- G4-Machinen flüssig abgespielt werden zu können.
- </para>
- </listitem>
- <listitem>
- <para>
- <application>QuickTime</application> 7 unterstützt den Next-Generation-Codec H.264,
- der deutlich bessere Bildqualität erreicht als vorige Codecgenerationen
- (MPEG-2, MPEG-4 …).
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-constraints">
- <title>Beschränkungen von <application>QuickTime</application> 7</title>
-
- <para>
- <application>QuickTime</application> 7 unterstützt H.264 Video und AAC Audio,
- aber es unterstützt diese nicht gemuxt im AVI-Containerformat.
- Du kannst jedoch <application>MEncoder</application> verwenden, um Video
- und Audio zu encodieren, und dann ein separates Programm wie
- <application>mp4creator</application> (Teil des
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP-Pakets</ulink>)
- verwenden, um Video- und Tonspuren in einen MP4-Container zu muxen.
- </para>
-
- <para>
- <application>QuickTime</application>s Unterstützung für H.264 ist begrenzt,
- daher wirst du ein paar fortgeschrittene Features weglassen müssen.
- Wenn du dein Video mit Features encodierst, die
- <application>QuickTime</application> 7 nicht unterstützt, werden dir
- <application>QuickTime</application>-basierte Player ein ziemlich weiÃes
- Bild zeigen an Stelle des erwarteten Videos.
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">B-Frames</emphasis>:
- <application>QuickTime</application> 7 unterstützt maximal einen B-Frame, z.B.
- <option>-x264encopts bframes=1</option>. Dies bedeutet, dass
- <option>b_pyramid</option> and <option>weight_b</option> keine Auswirkungen
- haben werden, da sie <option>bframes</option> gröÃer als 1 erwarten.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Macroblöcke</emphasis>:
- <application>QuickTime</application> 7 unterstützt keine 8x8 DCT Macroblöcke.
- Diese Option (<option>8x8dct</option>) ist per Voreinstellung aus, stelle daher sicher,
- dass du sie nicht explizit aktiviert.
- Dies bedeutet auch, dass die Option <option>i8x8</option> keine Auswirkungen haben
- wird, denn sie benötigt <option>8x8dct</option>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Seitenverhältnis</emphasis>:
- <application>QuickTime</application> 7 unterstützt Informationen über
- SAR (sample aspect ratio) nicht; es nimmt SAR=1 an.
- Lies <link linkend="menc-feat-quicktime-7-scale">den Abschnitt über Skalierung</link>
- für eine Umgehung dieses Problems.
- </para>
- </listitem>
- </itemizedlist>
-
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-crop">
- <title>Beschneidung der Ränder (Cropping)</title>
-
- <para>
- Angenommen, du willst deine nagelneu gekaufte Kopie von "Chroniken von Narnia"
- rippen. Deine DVD ist Region 1, d.h. sie ist in NTSC.
- Das weiter unten stehende Beispiel kann man auch auf PAL anwenden, nur
- dass du dann <option>-ofps 24000/1001</option> weglassen und etwas andere
- MaÃe für <option>crop</option> und <option>scale</option> verwenden musst.
- </para>
-
- <para>
- Nach dem Ausführen von <option>mplayer dvd://1</option> folgst du den Anweisungen,
- die detailliert im Abschnitt
- <link linkend="menc-feat-telecine">Wie mit telecine und interlacing in NTSC-DVDs umgehen</link>
- beschrieben sind, und stellst fest, dass es sich um
- 24000/1001 fps progressives Video handelt. Das vereinfacht das Vorgehen etwas,
- da du keinen inverse telecine Filter wie <option>pullup</option> oder einen
- Deinterlacing-Filter wie <option>yadif</option> anwenden musst.
- </para>
-
- <para>
- Als nächstes musst du die schwarzen Streifen oben und unten vom Video entfernen
- wie in <link linkend="menc-feat-dvd-mpeg4-example-crop">vorigem</link>
- Abschnitt beschrieben.
- </para>
-
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-scale">
- <title>Skalierung</title>
-
- <para>
- Der nächste Schritt ist wirklich herzzerreiÃend.
- <application>QuickTime</application> 7 unterstützt keine MPEG-4-Videos
- mit einer sample aspect ratio ungleich 1, daher wirst du das Video auf quadratische
- Pixel hochskalieren (was eine Menge Platz verschwendet) oder herunterskalieren
- (was ein paar Details der Quelle verliert) müssen.
- Beides ist höchst ineffizient, jedoch einfach nicht zu vermeiden, wenn
- dein Video von <application>QuickTime</application> 7 abspielbar sein soll.
- <application>MEncoder</application> kann die passende Hoch- oder Herunterskalierung
- durchführen bei Angabe von <option>-vf scale=-10:-1</option> oder
- <option>-vf scale=-1:-10</option> respektive.
- Dies wird dein Video auf die für die geschnittene Höhe korrekte Breite
- schneiden, gerundet auf das nächste Vielfache von 16 für optimale Kompression.
- Beachte, dass wenn du schneidest, solltest du zuerst schneiden und erst dann skalieren:
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
- </para>
-
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-avsync">
- <title>A/V-Synchronisation</title>
-
- <para>
- Weil du in einen anderen Container muxen wirst, solltest du immer die Option
- <option>harddup</option> verwenden, um sicherzustellen, dass doppelte
- Frames in der Videoausgabe tatsächlich dupliziert werden.
- Ohne diese Option wird <application>MEncoder</application> einfach eine Markierung
- im Videostream machen, dass ein doppelter Frame vorkommt, und sich darauf
- verlassen, dass die Software dafür sorgt, dass derselbe Frame zweimal
- angezeigt wird. Leider überlebt diese "weiche Duplikation" das Remuxen
- nicht, daher wird der Ton langsam Synchronisation zum Video verlieren.
- </para>
-
- <para>
- Die endgültige Filterkette sieht so aus:
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
- </para>
-
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-bitrate">
- <title>Bitrate</title>
-
- <para>
- Wie immer geht es bei der Wahl der Bitrate sowohl um technische Gegebenheiten
- der Quelle, wie <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">hier</link>
- erklärt wird, als auch um persönlichen Geschmack.
- Dieser Film enthält durchaus einige Actionszenen und viele Details, aber
- H.264-Video sieht gut aus auch bei viel geringeren Bitraten als XviD oder
- andere MPEG-4-Codecs.
- Nach vielem Experimentieren hat der Autor dieser Anleitung beschlossen,
- den Film bei 900kbps zu encodieren, und dachte, er sehe ziemlich gut aus.
- Du kannst die Bitrate verringern, um Platz zu sparen, oder erhöhen, um
- die Qualität zu verbessern.
- </para>
-
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-example">
- <title>Encoding-Beispiel</title>
-
- <para>
- Du bist jetzt soweit, das Video zu encodieren. Da du auf Qualität Wert legst,
- wirst du natürlich eine Encodierung mit zwei Durchläufen machen.
- Um etwas Encodierzeit zu sparen, kannst du die Option <option>turbo</option>
- beim ersten Durchlauf angeben; dies verringert <option>subq</option> und
- <option>frameref</option> auf 1. Um etwas Platz zu sparen, kannst du die
- Option <option>ss</option> verwenden, um die ersten Sekunden des Videos zu
- überspringen. (Ich fand, dass dieser bestimmte Film 32 Sekunden Vorspann hat.)
- <option>bframes</option> kann 0 oder 1 sein.
- Die anderen Optionen werden in
- <link linkend="menc-feat-x264-encoding-options-speedvquality">Encodierung mit dem <systemitem class="library">x264</systemitem>-Codec</link>
- und der Manpage beschrieben.
-
-<screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- Wenn du einen Rechner mit mehreren Prozessoren hast, nutze die Chance, den
- Encodierungsvorgang dramatisch zu beschleunigen, indem du
- <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
- <systemitem class="library">x264</systemitem>'s Multithreading-Modus
- </link>
- verwendest, indem du die Option <option>threads=auto</option> der
- <option>x264encopts</option>-Kommandozeile hinzufügst.
- </para>
-
- <para>
- Der zweite Durchlauf ist derselbe, auÃer dass du die Ausgabedatei angibst
- und <option>pass=2</option> setzt.
-
-<screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
- </para>
- <para>
- Das resultierende AVI sollte in <application>MPlayer</application>
- perfekt abspielbar sein, aber natürlich kann <application>QuickTime</application>
- es nicht abspielen. Denn es unterstützt H264 in AVI nicht.
- Der nächste Schritt ist also, das Video in einen MP4-Container zu muxen.
-
- </para>
-
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-remux">
- <title>Remuxen zu MP4</title>
-
- <para>
- Es gibt mehrere Möglichkeiten, AVI-Dateien nach MP4 zu muxen. Du kannst
- <application>mp4creator</application> verwenden, welches Teil des
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP-Pakets</ulink> ist.
- </para>
-
- <para>
- Demuxe das AVI <application>MPlayer</application> zuerst in separate Audio- und Videostreams.
-
-<screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
-mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
- Die Dateinamen sind wichtig; <application>mp4creator</application>
- verlangt, dass AAC-Audiostreams <systemitem>.aac</systemitem> und
- H.264-Videostreams <systemitem>.h264</systemitem> heiÃen.
- </para>
-
- <para>
- Benutze nun <application>mp4creator</application>, um aus Audio- und
- Videostreams eine MP4-Datei zu erzeugen.
-
- <screen>mp4creator -create=narnia.aac narnia.mp4
-mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
-
- Anders als bei der Encodierung musst du die Framerate als Dezimalzahl
- (23.976) und nicht als Bruch (24000/1001) angeben.
- </para>
-
- <para>
- Diese Datei <systemitem>narnia.mp4</systemitem> sollte nun mit jeder
- <application>QuickTime</application> 7 Anwendung wie dem
- <application>QuickTime Player</application> oder
- <application>iTunes</application> abspielbar sein.
- Wenn du vorhast, das Video mit einem <application>QuickTime</application>-Plugin
- im Browser anzuschauen, solltest du den Film auÃerdem "hinten", so dass
- das <application>QuickTime</application>-Plugin während des Downloads
- die Wiedergabe starten kann.
- <application>mp4creator</application> kann diese Art Tracks erstellen:
-
-<screen>mp4creator -hint=1 narnia.mp4
-mp4creator -hint=2 narnia.mp4
-mp4creator -optimize narnia.mp4</screen>
-
- Du kannst das Ergebnis überprüfen, um sicherzustellen, dass die Hint-Tracks
- erfolgreich erstellt wurden:
- <screen>mp4creator -list narnia.mp4</screen>
-
- Du solltest eine Auflistung der Tracks sehen:
- 1 Audio-, 1 Video- und 2 Hint-Tracks.
-
-<screen>Track Type Info
-1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
-2 video H264 Main at 5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
-3 hint Payload mpeg4-generic for track 1
-4 hint Payload H264 for track 2
-</screen>
-
- </para>
-
- </sect2>
-
- <sect2 id="menc-feat-quicktime-7-metadata">
- <title>Metadata-Tags hinzufügen</title>
-
- <para>
- Wenn du deinem Video Tags hinzufügen möchtest, die in iTunes angezeigt werden,
- kannst du dazu
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>
- verwenden.
-
- <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- Die Option <option>--metaEnema</option> entfernt jegliche existierenden Metadaten
- (<application>mp4creator</application> fügt seinen Namen im Tag
- "encoding tool" hinzu), und <option>--freefree</option> macht den frei
- gewordenen Platz geltend.
- Die Option <option>--stik</option> setzt den Videotyp
- (wie z.B. Film und Serie), den iTunes verwendet, um verwandte Videodateien
- zu gruppieren.
- Die Option <option>--overWrite</option> überschreibt die ursprüngliche Datei.
- Ohne sie erstellt <application>AtomicParsley</application> eine automatisch
- benannte Datei im selben Verzeichnis und lässt die Originaldatei unberührt.
- </para>
-
- </sect2>
-
- </sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-vcd-dvd">
- <title>Verwendung von <application>MEncoder</application> zum Erzeugen VCD/SVCD/DVD-konformer Dateien.</title>
-
- <sect2 id="menc-feat-vcd-dvd-constraints">
- <title>Formatbeschränkungen</title>
- <para>
- <application>MEncoder</application> ist in der Lage, MPEG-Dateien im VCD-, SCVD-
- und DVD-Format durch Verwendung der
- <systemitem class="library">libavcodec</systemitem>-Programmbibliothek
- zu erzeugen.
- Diese Dateien können danach im Zusammenhang mit
- <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
- oder
- <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
- zum Erzeugen von Disks verwendet werden, die auf einem Standard Set-Top-Player
- abgespielt werden können.
- </para>
-
- <para>
- Die Formate DVD, SVCD und VCD sind starken Beschränkungen unterworfen.
- Es ist nur eine kleine Auswahl an encodierten BildgröÃen und Seitenverhältnissen
- verfügbar.
- Wenn dein Film nicht bereits die Anforderungen erfüllt, musst du das Bild
- skalieren, zuschneiden oder schwarze Ränder hinzufügen, um es konform zu machen.
- </para>
-
- <sect3 id="menc-feat-vcd-dvd-constraints-resolution">
- <title>Formatbeschränkungen</title>
-
- <informaltable frame="all">
- <tgroup cols="9">
- <thead>
- <row>
- <entry>Format</entry>
- <entry>Auflösung</entry>
- <entry>V. Codec</entry>
- <entry>V. Bitrate</entry>
- <entry>Samplerate</entry>
- <entry>A. Codec</entry>
- <entry>A. Bitrate</entry>
- <entry>FPS</entry>
- <entry>Seitenverhältnis</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (nur für 720x480)</entry>
- </row>
- <row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- Diese Auflösungen werden selten für DVDs verwendet, da sie von
- ziemlch niedriger Qualität sind.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
- </row>
- <row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (nur für 720x576)</entry>
- </row>
- <row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
- </row>
- <row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>25</entry>
- <entry>4:3</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>
- Wenn ein Film ein 2.35:1 Seitenverhältnis hat (die meisten aktuellen Action-Filme),
- wirst du schwarze Ränder hinzufügen oder den Film auf 16:9 zuschneiden müssen,
- um eine DVD oder VCD herzustellen.
- Wenn du schwarze Ränder hinzufügst, versuche diese an 16-Pixel-Rändern
- auszurichten, um den Einfluà auf die Encodier-Performance zu minimieren.
- Zum Glück besitzen DVDs eine ausreichend hohe Bitrate, damit du dich
- nicht zu sehr um die Encodier-Effizienz sorgen musst. SVCD
- und VCD jedoch sind höchst mager an Bitrate und erfordern Aufwand, um akzeptable
- Qualität zu erreichen.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-constraints-gop">
- <title>GOP-GröÃenbeschränkungen</title>
- <para>
- DVD, VCD und SVCD zwingen dich auch zu relativ niedrigen
- GOP-GröÃen (Group of Pictures).
- Für Material mit 30 fps ist die gröÃte erlaubte GOP-GröÃe 18.
- Für 25 oder 24 fps ist das Maximum 15.
- Die GOP-GröÃe wird mittels der Option <option>keyint</option> gesetzt.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
- <title>Bitraten-Beschränkungen</title>
- <para>
- VCD-Video muss bei CBR 1152 kbps sein.
- Zu dieser nach oben begrenzten Einschränkung kommt auch noch eine
- extrem niedrige vbv-PuffergröÃe von 327 Kilobit.
- SVCD erlaubt das Variieren der Video-Bitraten auf bis zu 2500 kbps,
- und eine etwas weniger restriktive vbv-PuffergröÃe von 917 Kilobit
- ist erlaubt.
- DVD-Video-Bitraten können sich bis auf irgendwo um die 9800 kbps
- einpegeln (wenngleich typische Bitraten etwa halb so groà sind),
- und die vbv-PuffergröÃe ist 1835 Kilobit.
- </para>
- </sect3>
- </sect2>
-
- <sect2 id="menc-feat-vcd-dvd-output">
- <title>Output-Optionen</title>
- <para>
- <application>MEncoder</application> besitzt Optionen zur Kontrolle des
- Output-Formats.
- Durch das Verwenden dieser Optionen können wir ihn anweisen, den
- korrekten Dateityp zu erzeugen.
- </para>
-
- <para>
- Die Optionen für VCD und SVCD werden xvcd und xsvcd genannt, weil sie
- erweiterte Formate sind.
- Sie sind nicht strikt Standard-konform, hauptsächlich weil der Output
- keine Scan-Offsets enthält.
- Wenn du ein SVCD-Image generieren musst, solltest du die Output-Datei
- dem
- <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
- übergeben.
- </para>
-
- <para>
- VCD:
- <screen>-of mpeg -mpegopts format=xvcd</screen>
- </para>
-
- <para>
- SVCD:
- <screen>-of mpeg -mpegopts format=xsvcd</screen>
- </para>
-
- <para>
- DVD (mit Zeitstempeln für jeden Frame, wenn möglich):
- <screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
- </para>
-
- <para>
- DVD mit NTSC-Pullup:
- <screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
- Dies erlaubt 24000/1001 fps progressive-Inhalt bei 30000/1001
- fps encodiert zu werden, wobei die DVD-Konformität erhalten bleibt.
- </para>
-
- <sect3 id="menc-feat-vcd-dvd-output-aspect">
- <title>Seitenverhältnis</title>
- <para>
- Der Parameter für das Seitenverhältnis von <option>-lavcopts</option> wird zum Encodieren
- des Seitenverhältnisses einer Datei verwendet.
- Während des Playbacks wird das Seitenverhältnis dazu benutzt, die korrekte
- GröÃe des Videos wieder herzustellen.
- </para>
-
- <para>
- 16:9 oder "Breitbild"
- <screen>-lavcopts aspect=16/9</screen>
- </para>
-
- <para>
- 4:3 oder "Vollbild"
- <screen>-lavcopts aspect=4/3</screen>
- </para>
-
- <para>
- 2.35:1 oder "Cinemascope" NTSC
- <screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
- Um die korrekte SkalierungsgröÃe zu berechnen, verwende die
- erweiterte NTSC-Breite von 854/2.35 = 368
- </para>
-
- <para>
- 2.35:1 oder "Cinemascope" PAL
- <screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
- Um die korrekte SkalierungsgröÃe zu berechnen, verwende die
- erweiterte PAL-Breite von 1024/2.35 = 432
- </para>
-
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-a-v-sync">
- <title>Aufrechterhalten der A/V-Synchronisation</title>
- <para>
- Um die Audio-/Video-Synchronisation während der kompletten
- Encodierung aufrechtzuerhalten, muss
- <application>MEncoder</application> Frames auslassen oder duplizieren.
- Dies funktioniert beim Muxen in eine AVI-Datei ziemlich gut,
- aber meist schlägt das Aufrechterhalten der A/V-Synchronisation mit
- anderen Muxern wie etwa MPEG garantiert fehl.
- Dies ist der Grund, weshalb es nötig ist, den
- <option>harddup</option>-Video-Filter am Ende der Filterkette anzuhängen,
- um diese Art Problem zu vermeiden.
- Du findest mehr technische Informationen zu <option>harddup</option>
- im Abschnitt
- <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Verbessern der Mux- und A/V-Synchronisationszuverlässigkeit</link>
- oder in der Manpage.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-output-srate">
- <title>Sampleraten-Konvertierung</title>
- <para>
- Wenn die Audio-Samplerate in der Originaldatei nicht dieselbe wie die
- vom Zielformat angeforderte ist, wird eine Sampleraten-Konvertierung
- erforderlich.
- Dies wird erreicht, indem man die Option <option>-srate</option> und
- den <option>-af lavcresample</option> Audio-Filter zusammen
- anwedet.
- </para>
- <para>
- DVD:
- <screen>-srate 48000 -af lavcresample=48000</screen>
- </para>
- <para>
- VCD und SVCD:
- <screen>-srate 44100 -af lavcresample=44100</screen>
- </para>
- </sect3>
- </sect2>
-
- <sect2 id="menc-feat-vcd-dvd-lavc">
- <title>Verwenden des libavcodec zur VCD/SVCD/DVD-Encodierung</title>
-
- <sect3 id="menc-feat-vcd-dvd-lavc-intro">
- <title>Einführung</title>
- <para>
- <systemitem class="library">libavcodec</systemitem> kann verwendet
- werden, um ein VCD/SVCD/DVD-konformes Video durch die Anwendung der
- passenden Optionen zu erzeugen.
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-lavc-options">
- <title>lavcopts</title>
- <para>
- Dies ist eine Liste von Feldern in <option>-lavcopts</option>, die du
- möglicherweise ändern musst, um einen für VCD, SVCD
- oder DVD konformen Film herzustellen:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> für VCD, SVCD oder PAL DVD;
- <option>ac3</option> wird am häufigsten für DVD verwendet.
- PCM-Audio kann auch für DVD verwendet werden, aber dies ist meistens
- eine riesen Platzverschwendung.
- Beachte, dass MP3-Audio nicht konform für irgendeines dieser Formate
- ist, aber Player haben oft ohnehin kein Problem, es abzuspielen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 für VCD; bis zu 384 für SVCD; bis zu 1536 für DVD, aber
- übliche Werte reichen von 192 kbps für Stereo bis 384 kbps für
- 5.1-Kanal-Sound.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> für VCD;
- <option>mpeg2video</option> für SVCD;
- <option>mpeg2video</option> wird gewöhnlich für DVD verwendet, man kann aber auch
- <option>mpeg1video</option> für CIF-Auflösungen verwenden.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">keyint</emphasis>:
- Angewandt, um die GOP-GröÃe zu setzen.
- 18 für Material mit 30fps oder 15 für Material mit 25/24 fps.
- Kommerzielle Hersteller scheinen Keyframe-Intervalle von 12 zu bevorzugen.
- Es ist möglich, dies viel gröÃer zu machen und dennoch die Kompatibilität
- zu den meisten Player zu behalten.
- Ein <option>keyint</option> von 25 sollte nie irgendwelche Probleme machen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 für VCD, 917 für SVCD und 1835 für DVD.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152 für VCD. kann für SVCD und DVD so gelassen werden.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 für VCD; 2500 für SVCD; 9800 für DVD.
- Für SVCD und DVD könntest du niedrigere Werte verwenden, abhängig von
- deinen persönlichen Vorlieben und Anforderungen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 für VCD;
- bis zu 2500 für SVCD;
- bis zu 9800 für DVD.
- Für letztere zwei Formate sollte vbitrate basierend auf persönliche
- Vorlieben gesetzt werden.
- Zum Beispiel, wenn du darauf bestehst, 20 Stunden oder so passend auf
- eine DVD zu bringen, könntest du vbitrate=400 benutzen.
- Die sich daraus ergebende Video-Qualität würde womöglich äuÃerst mies.
- Wenn du versuchst, die maximal mögliche Qualität auf eine DVD zu quetschen,
- nimm vbitrate=9800, aber sei gewarnt, dass dich dies zu weniger als
- einer Stunde Video auf einer Single-Layer DVD zwingen würde.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">vstrict</emphasis>:
- <option>vstrict</option>=0 sollte verwendet werden, um DVDs zu erstellen.
- Ohne diese Option erzeugt <application>MPlayer</application> einen Stream, der von
- manchen standalone DVD-Playern nicht korrekt decodiert werden kann.
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-lavc-examples">
- <title>Beispiele</title>
- <para>
- Dies ist eine typische Zusammenstellung von mindestens zu verwendenden
- <option>-lavcopts</option>-Optionen zum Encodieren eines Videos:
- </para>
- <para>
- VCD:
-<screen>-lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
-vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2</screen>
- </para>
-
- <para>
- SVCD:
-<screen>-lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
-keyint=15:acodec=mp2</screen>
- </para>
-
- <para>
- DVD:
-<screen>-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3</screen>
- </para>
-
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-lavc-advanced">
- <title>Erweiterte Optionen</title>
- <para>
- Für das Encodieren höherer Qualität könntest du auch qualitätssteigernde
- Optionen an lavcopts anfügen, wie etwa <option>trell</option>,
- <option>mbd=2</option> und weitere.
- Beachte, dass <option>qpel</option> und <option>v4mv</option>, obwohl
- oft bei MPEG-4 nützlich, nicht auf MPEG-1 oder MPEG-2 anwendbar sind.
- AuÃerdem, wenn du versuchst, eine sehr hochwertige DVD-Encodierung zu
- machen, kann es nützlich sein, <option>dc=10</option> an lavcopts
- anzufügen.
- Wobei dies helfen könnte, das Auftreten von Blöcken in fahl-farbenen
- Bereichen zu reduzieren.
- Zusammenfassend ist dies ein Beispiel einer Zusammenstellung von lavcopts für
- für eine höherwertige DVD:
- </para>
-
- <para>
-<screen>-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
-keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
-vqmin=1:lmin=1:dc=10:vstrict=0</screen>
- </para>
-
- </sect3>
- </sect2>
-
- <sect2 id="menc-feat-vcd-dvd-audio">
- <title>Encodieren von Audio</title>
- <para>
- VCD und SVCD unterstützen MPEG-1 Layer II Audio, indem sie einen
- MP2-Encoder von
- <systemitem class="library">toolame</systemitem>,
- <systemitem class="library">twolame</systemitem>,
- oder <systemitem class="library">libavcodec</systemitem>
- verwenden.
- Der libavcodec MP2 ist weit davon entfernt, so gut zu sein wie die
- anderen zwei Bibliotheken, dennoch sollte er immer verfügbar sein.
- VCD unterstützt nur Audio mit konstanten Bitraten (CBR) wogegen SVCD
- auch variable Bitraten (VBR) unterstützt.
- Sei vorsichtig, wenn du VBR benutzt, weil einige schlechte
- Standalone-Player diese nicht so gut unterstützen könnten.
- </para>
-
- <para>
- Für DVD-Audio wird der AC3-Codec von
- <systemitem class="library">libavcodec</systemitem>
- verwendet.
- </para>
-
- <sect3 id="menc-feat-vcd-dvd-audio-toolame">
- <title>toolame</title>
- <para>
- Für VCD und SVCD:
- <screen>-oac toolame -toolameopts br=224</screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-audio-twolame">
- <title>twolame</title>
- <para>
- Für VCD und SVCD:
- <screen>-oac twolame -twolameopts br=224</screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-audio-lavc">
- <title>libavcodec</title>
- <para>
- Für DVD mit 2-Kanal-Sound:
- <screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
- </para>
- <para>
- Für DVD mit 5.1-Kanal-Sound:
- <screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
- </para>
- <para>
- Für VCD und SVCD:
- <screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
- </para>
- </sect3>
-
- </sect2>
-
- <sect2 id="menc-feat-vcd-dvd-all">
- <title>Zusammenfassung</title>
- <para>
- Diese Sektion zeigt einige komplette Befehle zum Erzeugen von
- VCD/SVCD/DVD-konformen Videos.
- </para>
-
- <sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
- <title>PAL DVD</title>
- <para>
-<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,\
-harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
-vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:\
-abitrate=192:aspect=16/9 -ofps 25 \
--o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
- <title>NTSC DVD</title>
- <para>
-<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:480,\
- harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
- vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:vstrict=0:acodec=ac3:\
- abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
- <title>PAL AVI mit enthaltenem AC3 Audio nach DVD</title>
- <para>
- Hat die Quelle bereits AC3-Audio, nimm -oac copy anstatt es
- erneut zu encodieren.
-<screen>mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,\
- harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
- vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
- <title>NTSC AVI mit AC3-Ton nach DVD</title>
- <para>
- Hat die Quelle bereits AC3-Audio und ist NTSC @ 24000/1001 fps:
-<screen>mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
- <title>PAL SVCD</title>
- <para>
-<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
- vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
- <title>NTSC SVCD</title>
- <para>
-<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
- vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
- <title>PAL VCD</title>
- <para>
-<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
- vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- <sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
- <title>NTSC VCD</title>
- <para>
-<screen>mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
- vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable></screen>
- </para>
- </sect3>
-
- </sect2>
-
- </sect1>
-
-</chapter>
diff --git a/DOCS/xml/de/faq.xml b/DOCS/xml/de/faq.xml
deleted file mode 100644
index 8a753f6..0000000
--- a/DOCS/xml/de/faq.xml
+++ /dev/null
@@ -1,1599 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r24035 -->
-<chapter id="faq" xreflabel="FAQ">
- <title>Häufig gestellte Fragen</title>
-
- <qandaset defaultlabel="qanda">
-
- <qandadiv id="faq-development">
- <title>Entwicklung</title>
-
- <qandaentry>
- <question>
- <para>
- Wie erstelle ich einen ordentlichen Patch für <application>MPlayer</application>?
- </para>
- </question>
- <answer>
- <para>
- Wir haben ein <ulink url="../../tech/patches.txt">kurzes Dokument</ulink> (englisch)
- verfasst, das alle nötigen Details beschreibt. Bitte folge den Anweisungen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie übersetze ich <application>MPlayer</application> in eine andere Sprache?
- </para>
- </question>
- <answer>
- <para>
- Lies die <ulink url="../../tech/translations.txt">HOWTO für Ãbersetzungen</ulink>
- (englisch), sie sollte alles erklären. Weitere Hilfe kannst du auf der
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer-translations</ulink>-Mailing-Liste
- bekommen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich die <application>MPlayer</application>-Entwicklung unterstützen?
- </para>
- </question>
- <answer>
- <para>
- Wir sind mehr als glücklich über Hardware- und Software<ulink url="http://www.mplayerhq.hu/donations.html">spenden</ulink>.
- Sie helfen uns, <application>MPlayer</application> immer weiter zu verbessern.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich <application>MPlayer</application>-Entwickler werden?
- </para>
- </question>
- <answer>
- <para>
- Programmierer und Leute, die Dokumentation schreiben, sind immer willkommen. Lies die
- <ulink url="../../tech/">technische Dokumentation</ulink> (englisch), um einen ersten
- Eindruck zu bekommen. Du solltest dich dann auf der Mailing-Liste
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
- anmelden und mit dem Programmieren beginnen. Wenn du bei der Dokumentation aushelfen möchtest,
- schlieÃe dich der
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>-Mailing-Liste an.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Warum benutzt ihr kein autoconf/automake?
- </para>
- </question>
- <answer>
- <para>
- Wir haben ein selbstgeschriebenes modulares Buildsystem. Es leistet ausreichend gute Arbeit, warum
- also wechseln? Davon abgesehen mögen wir die auto*-Tools nicht, wie
- <ulink url="http://freshmeat.net/articles/view/889/">andere Leute auch</ulink>.
- </para>
- </answer>
- </qandaentry>
- </qandadiv>
-
-
- <qandadiv id="faq-compilation-installation">
- <title>Compilierung und Installation</title>
- <qandaentry>
- <question>
- <para>
- Compilierung bricht mit einer Fehlermeldung ab, und <application>gcc</application>
- gibt irgendeine kryptische Nachricht aus, die den Ausdruck
- <systemitem>internal compiler error</systemitem> oder
- <systemitem>unable to find a register to spill</systemitem> oder
- <systemitem>can't find a register in class `GENERAL_REGS' while reloading `asm'</systemitem>
- enthält.
- </para>
- </question>
- <answer>
- <para>
- Du bist über einen Fehler in <application>gcc</application> gestolpert. Bitte
- <ulink url="http://gcc.gnu.org/bugs.html">berichte diesen dem gcc-Team</ulink>,
- nicht uns. Aus irgendeinem Grund geschieht es häufiger, dass <application>MPlayer</application>
- Compiler-Fehler hervorruft. Nichtsdestotrotz können wir diese nicht beheben, und
- wir fügen unserem Sourcecode keine Umgehungen hinzu.
- Halte dich an eine Compiler-Version, von der bekannt ist, dass sie stabil läuft,
- oder update regelmäÃig, um dieses Problem zu vermeiden.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Gibt es Binärpakete (RPM/Debian) von <application>MPlayer</application>?
- </para>
- </question>
- <answer>
- <para>
- Siehe Abschnitte <link linkend="debian">Debian</link> und <link linkend="rpm">RPM</link>
- für Details.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich einen 32bit-<application>MPlayer</application> auf einem 64bit Athlon erstellen?
- </para>
- </question>
- <answer>
- <para>
- Probiere folgende configure-Optionen:
- <screen>/configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib</screen>
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Configure endet mit diesem Text, und <application>MPlayer</application> compiliert nicht!
- <screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
- </para>
- </question>
- <answer>
- <para>
- Dein gcc ist nicht richtig installiert, überprüfe die Datei <filename>config.log</filename>
- für Details.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe eine Matrox G200/G400/G450/G550, wie benutze/compiliere ich den
- <systemitem>mga_vid</systemitem>-Treiber?
- </para>
- </question>
- <answer>
- <para>
- Lies den Abschnitt <link linkend="mga_vid">mga_vid</link>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Während 'make' beschwert sich <application>MPlayer</application> über fehlende X11-Bibliotheken.
- Das verstehe ich nicht, ich <emphasis>habe doch</emphasis> X11 installiert!?
- </para>
- </question>
- <answer>
- <para>
- ... dir fehlen aber die X11-Entwicklerpakete. Oder diese sind nicht richtig installiert.
- Bei Red Hat werden diese <filename>XFree86-devel*</filename> genannt, bei Debian Woody
- <filename>xlibs-dev</filename> und bei Debian Sarge <filename>libx11-dev</filename>.
- Ãberprüfe auch, ob die Symlinks
- <filename class="directory">/usr/X11</filename> und
- <filename class="directory">/usr/include/X11</filename> existieren.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Erstellen unter Mac OS 10.3 führt zu vielen Linker-Fehlern
- </para>
- </question>
- <answer>
- <para>
- Der Linker-Fehler, den du erfährst, sieht höchstwahrscheinlich etwa so aus:
- <screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices<!--
- --></screen>
- Dieses Problem ist das Ergebnis der Tatsache, dass Apple-Entwickler 10.4 benutzen, um ihre
- Software zu compilieren und gleichzeitig die Binärdateien via Softwareupdate an Benutzer
- von 10.3 weitergeben.
- Die undefinierten Symbole sind präsent unter Mac OS 10.4, jedoch nicht unter 10.3.
- Eine Lösung kann sein, ein Downgrade zu QuickTime 7.0.1 durchzuführen.
- Hier ist eine bessere Lösung:
- </para>
- <para>
- Besorg dir eine
- <ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">ältere Kopie des Frameworks</ulink>.
- Dies liefert dir eine komprimierte Datei, die die Frameworks QuickTime 7.0.1 und
- QuartzCore 10.3.9 enthält.
- </para>
- <para>
- Extrahiere die Dateien irgendwohin auÃerhalb deines System-Ordners (installiere diese
- Frameworks also nicht nach z.B.
- <filename class="directory">/System/Library/Frameworks</filename>!
- Die Benutzung dieser älteren Kopie ist nur dazu da, die Linker-Fehler zu umgehen!)
-
- <screen>gunzip < CompatFrameworks.tgz | tar xvf - </screen>
-
- In der Datei config.mak solltest du
- <systemitem>-F/Pfad/in/den/du/entpackt/hast</systemitem> der Variable
- <systemitem>OPTFLAGS</systemitem> anhängen.
- Wenn du <application>X-Code</application> verwendest, kannst du dieses Framework an Stelle
- der systemeigenen auswählen.
- </para>
- <para>
- Die resultierende <application>MPlayer</application>-Binärdatei wird in der Tat das auf deinem
- System einstallierte Framework verwenden, wobei dynamische Verknüpfungen verwendet werden,
- die zur Laufzeit aufgelöst werden.
- (Du kannst das mit <systemitem>otool -l</systemitem> verifizieren).
- </para>
- </answer>
- </qandaentry>
- </qandadiv>
-
- <qandadiv id="faq-general">
- <title>Allgemeine Fragen</title>
-
- <qandaentry>
- <question>
- <para>
- Gibt es für <application>MPlayer</application> irgendwelche Mailing-Listen?
- </para>
- </question>
- <answer>
- <para>
- Ja. Siehe den
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">Abschnitt Mailing-Listen</ulink>
- unserer Homepage.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe einen fiesen Fehler gefunden, als ich versucht habe, mein Lieblingsvideo abzuspielen.
- Wen soll ich darüber informieren?
- </para>
- </question>
- <answer>
- <para>
- Bitte lies die <link linkend="bugreports">Richtlinien zum Berichten von Fehlern</link>
- und folge den Anweisungen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe Probleme beim Abspielen von Dateien mit dem ...-Codec. Kann ich sie verwenden?
- </para>
- </question>
- <answer>
- <para>
- Ãberprüfe den <ulink url="../../codecs-status.html">Codec-Status</ulink>,
- wenn der deinen Codec nicht enthält, lies das
- <ulink url="../../tech/win32-codec-howto">Win32 Codec HOWTO</ulink>
- und kontaktiere uns.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wenn ich die Wiedergabe starte, bekomme ich diese Mitteilung, es scheint aber alles in Ordnung zu sein:
- <screen>Linux RTC init: ioctl (rtc_pie_on): Permission denied</screen>
- </para>
- </question>
- <answer>
- <para>
- Du benötigst einen speziell konfigurierten Kernel, um den neuen
- Zeitgebercode benützen zu können. Für Details siehe Abschnitt
- <link linkend="rtc">RTC</link> der Dokumentation.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich einen Screenshot machen?
- </para>
- </question>
- <answer>
- <para>
- Du musst einen Videoausgabetreiber verwenden, der kein Overlay benutzt, um einen
- Screenshot machen zu können. Unter X11 wird <option>-vo x11</option> reichen,
- unter Windows funktioniert <option>-vo directx:noaccel</option>.
- </para>
- <para>
- Alternativ kannst du <application>MPlayer</application> mit dem
- <systemitem>screenshot</systemitem>-Videofilter starten
- (<option>-vf screenshot</option>) und dann <keycap>s</keycap> drücken, um
- einen Screenshot zu machen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Was bedeuten die Zahlen der Statuszeile?
- </para>
- </question>
- <answer>
- <para>
- Beispiel:
- <screen>A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x</screen>
- <variablelist>
- <varlistentry><term><systemitem>A: 2.1</systemitem></term>
- <listitem><para>Audioposition in Sekunden</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>V: 2.2</systemitem></term>
- <listitem><para>Videoposition in Sekunden</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>A-V: -0.167</systemitem></term>
- <listitem><para>Audio-Video-Unterschied in Sekunden (Verzögerung)</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>ct: 0.042</systemitem></term>
- <listitem><para>insgesamt abgearbeitete A/V-Synchronisation</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>57/57</systemitem></term>
- <listitem><para>wiedergegebene/decodierte Frames (zählend vom letzten Spulen)</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>41%</systemitem></term>
- <listitem>
- <para>CPU-Auslastung durch Videocodec (für Rendern in Scheiben und direktes Rendern schlieÃt dies video_out mit ein)</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><systemitem>0%</systemitem></term>
- <listitem><para>CPU-Auslastung durch video_out</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>2.6%</systemitem></term>
- <listitem><para>CPU-Auslastung durch Audiocodec in Prozent</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>0</systemitem></term>
- <listitem>
- <para>wieviele Frames ausgelassen wurden, um die A/V-Synchronisation beizubehalten</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><systemitem>4</systemitem></term>
- <listitem>
- <para>aktuelles Postprocessing-Level (bei Benutzung der Option <option>-autoq</option>)</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><systemitem>49%</systemitem></term>
- <listitem>
- <para>aktuell benutzte CachegröÃe (um die 50% ist normal)</para>
- </listitem>
- </varlistentry>
- <varlistentry><term><systemitem>1.00x</systemitem></term>
- <listitem>
- <para>Wiedergabegeschwindigkeit als Faktor der originalen Geschwindigkeit</para>
- </listitem>
- </varlistentry>
- </variablelist>
- Die meisten davon existieren zu Debugzwecken, benutze die Option
- <option>-quiet</option>, um sie verschwinden zu lassen.
- Eventuell fällt dir auf, dass die CPU-Auslastung durch video_out bei manchen
- Dateien null (0%) ist.
- Dies liegt daran, dass es direkt vom Codec aufgerufen wird und nicht gemessen
- werden kann. Wenn du die video_out-Geschwindigkeit wissen möchtest, vergleiche
- den Unterschied beim Abspielen mit <option>-vo null</option> und deinem normalen
- Videoausgabetreiber.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Es gibt Fehlermeldungen, die sagen, dass eine Datei nicht gefunden wurde:
- <filename>/usr/local/lib/codecs/</filename> ...
- </para>
- </question>
- <answer>
- <para>
- Lade die Binärcodecs von unserer
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">Codecs-Seite</ulink>
- herunter und installiere sie.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich dafür sorgen, dass sich <application>MPlayer</application> die Optionen merkt,
- die ich für eine bestimmte Datei wie zum Beispiel <filename>movie.avi</filename> verwende?
- </para>
- </question>
- <answer>
- <para>
- Erstelle eine Datei namens <filename>movie.avi.conf</filename> mit den dateispezifischen
- Optionen darin und lege sie im Verzeichnis
- <filename class="directory">~/.mplayer</filename> oder im selben Verzeichnis, in der
- sich auch die Datei befindet, ab.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Untertitel sind sehr schick, die schönsten, die ich je gesehen haben, aber
- sie verlangsamen die Wiedergabe! Ich weiÃ, es ist unwahrscheinlich...
- </para>
- </question>
- <answer>
- <para>
- Editiere die Datei <filename>config.h</filename> nach dem Ausführen von
- <filename>./configure</filename> und ersetze
- <systemitem>#undef FAST_OSD</systemitem> durch
- <systemitem>#define FAST_OSD</systemitem>.
- Compiliere dann erneut.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich kann nicht auf das GUI-Menü zugreifen! Ich mache einen Rechtsklick, aber ich kann
- auf keine Menüeinträge zugreifen!
- </para>
- </question>
- <answer>
- <para>
- Benutzt du FVWM? Versuche folgendes:
- <orderedlist>
- <listitem>
- <para>
- <menuchoice><guimenu>Start</guimenu><guisubmenu>Settings</guisubmenu>
- <guisubmenu>Configuration</guisubmenu>
- <guimenuitem>Base Configuration</guimenuitem></menuchoice>
- </para>
- </listitem>
- <listitem>
- <para>Setze <systemitem>Use Applications position hints</systemitem> auf <systemitem>Ja</systemitem></para>
- </listitem>
- </orderedlist>
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich <application>MPlayer</application> im Hintergrund ausführen?
- </para>
- </question>
- <answer>
- <para>
- Benutze:
- <screen>mplayer <replaceable>Optionen</replaceable> <replaceable>dateiname</replaceable> < /dev/null &</screen>
- </para>
- </answer>
- </qandaentry>
- </qandadiv>
-
-
- <qandadiv id="faq-playback">
- <title>Probleme bei der Wiedergabe</title>
-
- <qandaentry>
- <question>
- <para>
- Ich kann den Grund für ein merkwürdiges Wiedergabeproblem nicht festnageln.
- </para>
- </question>
- <answer>
- <para>
- Hast du eine übriggebliebene <filename>codecs.conf</filename>-Datei in
- <filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
- <filename>/usr/local/etc/</filename> oder einem ähnlichen Ort?
- Entferne sie, eine veraltete <filename>codecs.conf</filename>-Datei kann obskure
- Probleme verursachen und ist nur für Entwickler zum Zwecke der Codecunterstützung
- gedacht. Sie überschreibt die internen Codeceinstellungen von
- <application>MPlayer</application> und wird groÃes Chaos anrichten, wenn in neueren
- Programmversionen inkompatible Ãnderungen gemacht wurden. Wenn die nicht gerade von
- Experten genutzt wird, ist sie ein Rezept für Disaster, die in Form von scheinbar zufälligen
- und schwer lokalisierbaren Abstürzen und Wiedergabeproblemen auftreten.
- Wenn du sie noch irgendwo in deinem System hast, solltest du sie jetzt entfernen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie schaffe ich es, dass Untertitel auf den schwarzen Rändern um einen Film erscheinen?
- </para>
- </question>
- <answer>
- <para>
- Benutze den Videofilter <systemitem>expand</systemitem>, um den Bereich zu vergröÃern,
- auf dem der Film vertikal dargestellt wird, und platziere den Film am oberen Rand,
- zum Beispiel:
- <screen>mplayer -vf expand=0:-100:0:0 -slang de dvd://1</screen>
- </para>
- </answer>
- </qandaentry>
- <qandaentry>
- <question>
- <para>
- Wie kann ich Audio-/Untertitel-Spuren einer DVD, einer OGM-, Matroska oder NUT-Datei auswählen?
- </para>
- </question>
- <answer>
- <para>
- Du musst die Option <option>-aid</option> (Audio-ID) oder <option>-alang</option>
- (Audiosprache), <option>-sid</option> (Untertitel-ID) oder <option>-slang</option>
- (Untertitelsprache) verwenden, zum Beispiel:
- <screen>
-mplayer -alang ger -slang ger <replaceable>beispiel.mkv</replaceable>
-mplayer -aid 1 -sid 1 <replaceable>beispiel.mkv</replaceable><!--
- --></screen>
- Um zu sehen, welche verfügbar sind:
- <screen>
-mplayer -vo null -ao null -frames 0 -v <replaceable>dateiname</replaceable> | grep sid
-mplayer -vo null -ao null -frames 0 -v <replaceable>dateiname</replaceable> | grep aid<!--
- --></screen>
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich versuche, einen zufälligen Stream vom Internet abspielen, aber es funktioniert nicht.
- </para>
- </question>
- <answer>
- <para>
- Versuche, den Stream mit der Option <option>-playlist</option> abzuspielen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe einen Film aus einem P2P-Netzwerk runtergeladen, aber er funktioniert nicht!
- </para>
- </question>
- <answer>
- <para>
- Deine Datei ist höchstwahrscheinlich kaputt oder Fake. Wenn du sie von einem Freund
- hast, und er sagt, dass sie funktioniert, versuche, die <application>md5sum</application>-Hashes
- zu vergleichen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe Probleme dabei, die Untertitel anzeigen zu lassen, Hilfe!!
- </para>
- </question>
- <answer>
- <para>
- Stelle sicher, dass du die Schriften ordnungsgemäà installiert hast. Gehe nochmal die
- Schritte im Teil <link linkend="fonts-osd">Schriften und OSD</link> des
- Installationsabschnitts durch. Wenn du TrueType-Schriften verwendest, stelle sicher,
- dass die <systemitem class="library">FreeType</systemitem>-Bibliothek installiert ist.
- Andere Dinge schlieÃen die Ãberprüfung deiner Untertitel in einem Texteditor oder mit
- anderen Playern ein. Versuche auch, sie in ein anderes Format zu konvertieren.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Warum funktioniert <application>MPlayer</application> auf Fedora Core nicht?
- </para>
- </question>
- <answer>
- <para>
- Die Interaktion zwischen Fedora-basiertem exec-shield, prelink und jeglicher
- Anwendung, die Windows-DLLs benutzt (so wie <application>MPlayer</application>),
- ist schlecht.
- </para>
- <para>
- Das Problem ist, dass exec-shield die Adressen des Ladens aller Systembibliotheken
- randomisiert. Diese Randomisierung geschieht zur prelink-Zeit (einmal alle zwei Wochen).
- </para>
- <para>
- Wenn <application>MPlayer</application> versucht, eine Windows-DLL zu laden, möchte
- er diese an einer bestimmten Adresse (0x400000) ablegen. Wenn dort schon eine wichtige
- Systembibliothek liegt, wird <application>MPlayer</application> abstürzen.
- (Ein typisches Symptom wäre eine Speicherzugriffsverletzung bei dem Versuch,
- Windows Media 9 Dateien abzuspielen.)
- </para>
- <para>
- Wenn du dieses Problem hast, gibt es für dich zwei Optionen:
- <itemizedlist>
- <listitem>
- <para>Warte zwei Wochen. Danach könnte es wieder funktionieren.</para>
- </listitem>
- <listitem>
- <para>Linke alle Binärdateien auf deinem System mit geänderten prelink-Optionen neu.
- Hier sind Schritt-für-Schritt-Anweisungen:
- </para>
- <para>
- <orderedlist>
- <listitem><para>Editiere <filename>/etc/syconfig/prelink</filename> und ändere</para>
- <para>
- <programlisting>PRELINK_OPTS=-mR</programlisting>
- </para>
- <para>
- zu
- <programlisting>PRELINK_OPTS="-mR --no-exec-shield"</programlisting>
- </para>
- </listitem>
- <listitem><para><command>touch /var/lib/misc/prelink.force</command></para></listitem>
- <listitem>
- <para>
- <command>/etc/cron.daily/prelink</command>
- (Dies linkt alle Anwendungen neu und dauert ne ganze Weile.)
- </para>
- </listitem>
- <listitem>
- <para>
- <command>execstack -s <replaceable>/Pfad/zu/</replaceable>mplayer</command>
- (Dies schaltet exec-shield für die <application>MPlayer</application>-Binärdatei
- ab.)
- </para>
- </listitem>
- </orderedlist>
- </para>
- </listitem>
- </itemizedlist>
- </para></answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- <application>MPlayer</application> bricht ab mit
- <screen>MPlayer interrupted by signal 4 in module: decode_video</screen>
- </para>
- </question>
- <answer>
- <para>
- Benutze <application>MPlayer</application> nicht auf einer CPU, die sich von der,
- auf der er compiliert wurde, unterscheidet, oder compiliere ihn neu mit Erkennung
- der CPU zur Laufzeit (<command>./configure --enable-runtime-cpudetection</command>).
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wenn ich versuche, von meinem Empfänger zu lesen, funktioniert das zwar, aber die
- Farben sehen komisch aus. Mit anderen Anwendungen funktioniert es.
- </para>
- </question>
- <answer>
- <para>
- Deine Karte gibt vermutlich manche Farbräume als unterstützt an, obwohl sie diese
- tatsächlich nicht unterstützt. Versuche es mit YUY2 anstatt der Standardeinstellung
- YV12 (siehe Abschnitt <link linkend="tv-input">TV</link>).
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich bekomme sehr merkwürdige Prozentangaben (viel zu hoch), wenn ich Dateien auf
- meinem Notebook abspiele.
- </para>
- </question>
- <answer>
- <para>
- Das ist ein Effekt des Power Managements / Energiesparmodus deines Notebooks (BIOS,
- nicht Kernel). Stecke die externe Stromversorgung ein,
- <emphasis role="bold">bevor</emphasis> du dein Notebook anschaltest.
- Du kannst auch probieren, ob dir <ulink url="http://www.brodo.de/cpufreq">cpufreq</ulink>
- (eine SpeedStep-Schnittstelle für Linux) weiterhilft.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Die Audio-/Videosynchronisation geht total verloren, wenn ich
- <application>MPlayer</application> als root auf meinem Notebook starte.
- Als normaler Benutzer funktioniert es normal.
- </para>
- </question>
- <answer>
- <para>
- Dies ist wieder ein Power Management-Effekt (siehe oben).
- Stecke die externe Stromversorgung ein, <emphasis role="bold">bevor</emphasis> du
- dein Notebook anschaltest, oder probieren die Option <option>-nortc</option>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Bei der Wiedergabe eines Films wird dieser plötzlich rucklig, und ich
- bekomme folgende Nachricht:
- <screen>Schlecht interleavte AVI-Datei erkannt, wechsele in den -ni Modus!</screen>
- </para>
- </question>
- <answer>
- <para>
- Schlecht interleavte Dateien und <option>-cache</option> funktionieren nicht gut zusammen.
- Probiere <option>-nocache</option>.
- </para>
- </answer>
- </qandaentry>
- </qandadiv>
-
-
- <qandadiv id="faq-driver">
- <title>Video-/Audiotreiberprobleme (vo/ao)</title>
-
- <qandaentry>
- <question>
- <para>
- Wenn ich den den Vollbildmodus wechsele, bekomme ich nur schwarze Rahmen um das Bild
- und keine wirkliche Skalierung auf Vollbildmodus.
- </para>
- </question>
- <answer>
- <para>
- Dein Videoausgabetreiber unterstützt keine Hardwareskalierung, und da Skalierung
- in Software unglaublich langsam sein kann, aktiviert <application>MPlayer</application>
- diese nicht automatisch. Höchstwahrscheinlich benutzt du den Videoausgabetreiber
- <systemitem>x11</systemitem> anstelle von <systemitem>xv</systemitem>.
- Versuche, <option>-vo xv</option> zur Kommandozeile hinzuzufügen oder lies den Abschnitt
- <link linkend="video">Video</link>, um mehr über alternative Videoausgabetreiber
- zu erfahren. Die Option <option>-zoom</option> aktiviert Softwareskalierung explizit.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe <application>MPlayer</application> gerade installiert. Wenn ich eine Videodatei
- öffnen möchte, verursacht dies einen fatalen Fehler:
- <screen>Fehler beim Ãffnen/Initialisieren des ausgewählten Videoausgabetreibers (-vo).</screen>
- Wie kann ich mein Problem lösen?
- </para>
- </question>
- <answer>
- <para>
- Ãndere einfach dein Videoausgabegerät. Führe den folgenden Befehl aus, um eine Liste
- aller verfügbaren Videoausgabetreiber zu erhalten:
- <screen>mplayer -vo help</screen>
- Nachdem du den richtigen Videoausgabetreiber gewählt hast, füge ihn
- deiner Konfigurationsdatei hinzu. Füge
- <programlisting>vo = <replaceable>gewählter_vo</replaceable></programlisting>
- zu <filename>~/.mplayer/config</filename> und/oder
- <programlisting>vo_driver = <replaceable>gewählter_vo</replaceable></programlisting>
- zu <filename>~/.mplayer/gui.conf</filename> hinzu.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe Probleme mit <replaceable>[dein Fenstermanager]</replaceable> und
- Vollbildmodi bei xv/xmga/sdl/x11 ...
- </para>
- </question>
- <answer>
- <para>
- Lies die <link linkend="bugreports">Richtlinien zum Berichten von Fehlern</link> und
- schicke uns einen ordnungsgemäÃen Fehlerbericht.
- Probiere auch, mit der Option <option>-fstype</option> zu experimentieren.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Die Audiosynchronisation geht beim Abspielen einer AVI-Datei verloren.
- </para>
- </question>
- <answer>
- <para>
- Probiere die Option <option>-bps</option> oder <option>-nobps</option>.
- Wenn dies nichts verbessert, lies die
- <link linkend="bugreports">Richtlinien zum Berichten von Fehlern</link>
- und lade die Datei zum FTP hoch.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Mein Computer spielt MS DivX AVIs mit Auflösungen ~ 640x300 und Stereo-MP3-Ton
- zu langsam. Wenn ich die Option <option>-nosound</option> verwende,
- ist alles ok (aber still).
- </para>
- </question>
- <answer>
- <para>
- Deine Maschine ist zu langsam, oder dein Soundkartentreiber ist kaputt.
- Konsultiere die Dokumentation, um herauszufinden, wie du die Performance verbessern kannst.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich <application>dmix</application> mit <application>MPlayer</application> benutzen?
- </para>
- </question>
- <answer>
- <para>
- Nachdem du <ulink url="http://alsa.opensrc.org/index.php?page=DmixPlugin">asoundrc</ulink>
- konfiguriert hast, musst du <option>-ao alsa:device=dmix</option> benutzen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe keinen Ton, wenn ich ein Video abspielen möchte, und bekomme Fehlermeldungen wie diese:
- <screen>
-AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
-audio_setup: Can't open audio device /dev/dsp: Device or resource busy
-couldn't open/init audio device -> NOSOUND
-Audio: kein Ton!!!
-Starte Wiedergabe...<!--
- --></screen>
- </para>
- </question>
- <answer>
- <para>
- Läuft bei dir KDE oder GNOME mit dem aRts- oder ESD-Sounddämon? Versuche, den
- Sounddämon zu deaktivieren oder benutze die Option
- <option>-ao arts</option> oder <option>-ao esd</option>, damit
- <application>MPlayer</application> aRts oder ESD benutzt.
- Vielleicht läuft bei dir auch ALSA ohne OSS-Emulation. Versuche die ALSA OSS-Kernelmodule
- zu laden oder füge <option>-ao alsa</option> deiner Kommandozeile hinzu, um den
- ALSA-Audioausgabetreiber direkt zu verwenden.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Beim Start von <application>MPlayer</application> unter KDE bekomme ich nur ein
- schwarzes Bild, und nichts geschieht. Nach ungefähr einer Minute beginnt die Wiedergabe.
- </para>
- </question>
- <answer>
- <para>
- Der aRts-Sounddämon von KDE blockiert das Audiogerät. Warte entweder, bis das Video startet
- oder deaktiviere den aRts-Dämon im Kontrollzentrum. Wenn du aRts-Sound benutzen möchtest,
- weise die Audioausgabe durch unseren nativen aRts-Audiotreiber an
- (<option>-ao arts</option>). Wenn dies fehlschlägt oder nicht eincompiliert ist, probiere SDL
- (<option>-ao sdl</option>) und stelle sicher, dass dein SDL aRts-Sound verarbeiten kann.
- Eine weitere Option ist, <application>MPlayer</application> mit artsdsp zu starten.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe A/V-Synchronisationsprobleme. Manche meiner AVIs werden gut wiedergegeben,
- manche aber mit doppelter Geschwindigkeit!
- </para>
- </question>
- <answer>
- <para>
- Deine Soundkarte oder der Soundtreiber ist fehlerhaft. Höchstwahrscheinlich ist das bei
- 44100Hz behoben, und du versuchst, eine Datei wiederzugeben, die 22050Hz-Audio
- enthält. Probiere den Audiofilter <systemitem>resample</systemitem>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wenn ich diesen Film abspiele, bekomme ich Audio/Video-Desynchronisation und/oder
- <application>MPlayer</application> stürzt mit folgender Nachricht ab:
- <screen>DEMUXER: Zu viele (945 in 8390980 bytes) Videopakete im Puffer!</screen>
- </para>
- </question>
- <answer>
- <para>
- Das kann mehrere Gründe haben.
- <itemizedlist>
- <listitem>
- <para>
- Deine CPU <emphasis>und/oder</emphasis> Grafikkarte <emphasis>und/oder</emphasis>
- Bus ist zu langsam. <application>MPlayer</application> zeigt eine Nachricht an,
- wenn dies der Fall ist (und der Zähler der ausgelassenen Frames schnell hochzählt).
- </para>
- </listitem>
- <listitem>
- <para>
- Viele FLV-Dateien werden nur mit <option>-correct-pts</option> korrekt wiedergegeben.
- Leider hat <application>MEncoder</application> diese Option nicht.
- Du kannst aber versuchen die <option>-fps</option>-Option manuell auf den
- richtigen Wert zu setzen, wenn du ihn kennst.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn es ein AVI ist, handelt es sich vielleicht um schlechtes Interleaving, probiere
- <option>-ni</option>, um dies zu umgehen.
- Es kann sich auch um einen schlechten Header handelt, in diesem Fall kann
- <option>-nobps</option> und/oder <option>-mc 0</option> helfen.
- </para>
- </listitem>
- <listitem>
- <para>
- Dein Soundtreiber ist fehlerhaft.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich die A/V-Desynchronisation beim Spulen durch RealMedia-Streams loswerden?
- </para>
- </question>
- <answer>
- <para>
- <option>-mc 0.1</option> kann helfen.
- </para>
- </answer>
- </qandaentry>
- </qandadiv>
-
-
- <qandadiv id="faq-dvd">
- <title>DVD-Wiedergabe</title>
- <qandaentry>
- <question>
- <para>
- Was ist mit DVD-Navigation/-menüs?
- </para>
- </question>
- <answer>
- <para>
- <application>MPlayer</application> unterstützt keine DVD-Menüs, bedingt durch ernsthafte
- architektonische Beschränkungen, die die Verarbeitung von stillstehenden und interaktiven Inhalten
- verhindert. Wenn du schicke Menüs haben möchtest, musst du einen anderen Player wie
- <application>xine</application>, <application>vlc</application> oder <application>Ogle</application>
- verwenden. Willst du DVD-Navigation in <application>MPlayer</application> sehen, musst du diese
- selbst implementieren, sei dir aber dessen bewusst, dass dies eine gröÃere Aufgabe ist.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich kann aktuelle DVDs von Sony Picutures/BMG nicht anschauen.
- </para>
- </question>
- <answer>
- <para>
- Das ist normal; du bist betrogen worden, dir ist eine absichtlich fehlerhafte Scheibe verkauft worden.
- Die einzige Möglichkeite, diese DVDs anzuschauen, ist, die fehlerhaften Blöcke dieser Disc zu umgeben,
- indem du DVDnav anstelle von mpdvdkit2 verwendest.
- Dies kannst du erreichen, indem du <application>MPlayer</application> mit DVDnav-Unterstützung compilierst und dann auf der
- Kommandozeile dvd:// durch dvdnav:// ersetzst.
- DVDnav schlieÃt bisher die Verwendung von mpdvdkit2 aus, stelle daher sicher, dass du dem configure-Skript
- <option>--disable-mpdvdkit</option> übergibst.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Was ist mit Untertiteln? Kann sie <application>MPlayer</application> darstellen?
- </para>
- </question>
- <answer>
- <para>
- Ja. Siehe <link linkend="dvd">Kapitel DVD</link>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich den Regionalcode meines DVD-Laufwerks setzen? Ich habe kein Windows!
- </para>
- </question>
- <answer>
- <para>
- Benutze das Tool <ulink url="http://linvdr.org/projects/regionset/">regionset</ulink>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich kann keine DVD abspielen, MPlayer hängt oder gibt "Encrypted VOB file!"-Fehler aus.
- </para>
- </question>
- <answer>
- <para>
- Der Code für die CSS-Entschlüsselung funktioniert mit manchen DVD-Laufwerken nicht, wenn der
- Regionalcode nicht entsprechend gesetzt ist. Siehe Antwort zur vorigen Frage.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Muss ich (setuid) root sein, um eine DVD abzuspielen?
- </para>
- </question>
- <answer>
- <para>
- Nein. Du musst jedoch die entsprechenden Rechte für den DVD-Geräteeintrag
- (in <filename class="directory">/dev/</filename>) haben.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ist es möglich, nur ausgewählte Kapitel abzuspielen bzw. zu encodieren?
- </para>
- </question>
- <answer>
- <para>
- Ja, probiere die Option <option>-chapter</option>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Meine DVD-Wiedergabe ist träge!
- </para>
- </question>
- <answer>
- <para>
- Verwende die Option <option>-cache</option> (beschrieben in der Manpage) und versuche, mit dem
- Tool <command>hdparm</command> (beschrieben im Kapitel <link linkend="drives">CD</link>), DMA
- für das DVD-Laufwerk zu aktivieren.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich habe eine DVD mit vobcopy kopiert. Wie kann ich es von meiner Festplatte abspielen/encodieren?
- </para>
- </question>
- <answer>
- <para>
- Benutze die Option <option>-dvd-device</option>, um auf das Verzeichnis zu zeigen, das die
- Dateien enthält:
- <screen>mplayer dvd://1 -dvd-device <replaceable>/Pfad/zum/Verzeichnis</replaceable></screen>
- </para>
- </answer>
- </qandaentry>
- </qandadiv>
-
-
- <qandadiv id="faq-features">
- <title>Feature-Anfragen</title>
- <qandaentry>
- <question>
- <para>
- Wenn <application>MPlayer</application> gerade pausiert und ich versuche zu spulen oder eine
- andere Taste drücke, hört der Pausezustand auf. Ich würde gern in einem pausierten Film spulen.
- </para>
- </question>
- <answer>
- <para>
- Dies ist recht verzwickt zu implementieren, ohne dabei A/V-Synchronisation zu verlieren.
- Alle Versuche sind bisher fehlgeschlagen, Patches sind aber willkommen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich möchte +/- 1 Frame anstatt 10 Sekunden spulen.
- </para>
- </question>
- <answer>
- <para>
- Du kannst jeweils einen Frame vorwärtsgehen durch Drücken von <keycap>.</keycap>.
- Wenn der Film nicht pausiert war, wird er danach pausiert (siehe Manpage für Details).
- Rückwärts gehen zu können wird in naher Zukunft vermutlich nicht implementiert.
- </para>
- </answer>
- </qandaentry>
- </qandadiv>
-
-
- <qandadiv id="faq-encoding">
- <title>Encodierung</title>
- <qandaentry>
- <question>
- <para>
- Wie kann ich encodieren?
- </para>
- </question>
- <answer>
- <para>
- Lies den Abschnitt <link linkend="mencoder"><application>MEncoder</application></link>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich eine komplette DVD in eine Datei schreiben (dumpen)?
- </para>
- </question>
- <answer>
- <para>
- Hast du einmal deinen Titel ausgewählt und sichergestellt, dass
- <application>MPlayer</application> ihn richtig abspielt, benutze die Option
- <option>-dumpstream</option>.
- Zum Beispiel wird
- <screen>mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable></screen>
- den fünften Titel der DVD in die Datei <replaceable>dvd_dump.vob</replaceable> schreiben.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich (S)VCDs automatisch erstellen?
- </para>
- </question>
- <answer>
- <para>
- Probiere das Script <filename>mencvcd.sh</filename> aus dem Unterverzeichnis <filename class="directory">TOOLS</filename>.
- Damit kannst du DVDs oder andere Filme automatisch ins VCD- oder SVCD-Format encodieren
- und sogar direkt auf CD brennen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich (S)VCDs erstellen?
- </para>
- </question>
- <answer>
- <para>
- Neuere Versionen von <application>MEncoder</application> können MPEG-2-Dateien direkt erstellen,
- die als Basis zur Erstellung einer VCD oder SVCD benutzt werden können. Sie können vermutlich
- direkt auf allen Plattformen abgespielt werden (zum Beispiel, um ein Video eines digitalen Camcorders
- mit Freunden zu teilen, die sich nicht so gut mit Computern auskennen).
- Bitte lies
- <link linkend="menc-feat-vcd-dvd">Verwendung von MEncoder zur Erstellung VCD/SVCD/DVD-kompatiblen Dateien</link>
- für weitere Details.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich zwei Videodateien zusammenfügen?
- </para>
- </question>
- <answer>
- <para>
- MPEG-Dateien können mit Glück zu einer einzelnen Datei zusammengefügt werden.
- Für AVI-Dateien kannst du die Unterstützung von <application>MEncoder</application>
- für mehrere Dateien folgendermaÃen verwenden:
- <screen>mencoder -ovc copy -oac copy -o <replaceable>out.avi</replaceable> <replaceable>datei1.avi</replaceable> <replaceable>datei2.avi</replaceable></screen>
- Das funktioniert jedoch nur für Dateien, die das gleiche Format haben und denselben Codec verwenden.
- Du kannst auÃerdem
- <ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> und
- <application>avimerge</application> (Teil von
- <ulink url="http://www.transcoding.org/">transcode</ulink>)
- verwenden.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich AVI-Dateien mit kaputtem Index oder schlechtem Interleaving reparieren?
- </para>
- </question>
- <answer>
- <para>
- Um zu vermeiden, dass du <option>-idx</option> für das Spulen in AVI-Dateien mit kaputtem Index
- oder <option>-ni</option> für die Wiedergabe von AVIs mit schlechtem Interleaving verwenden
- musst, benutze den Befehl
- <screen>mencoder <replaceable>input.avi</replaceable> -idx -ovc copy -oac copy -o <replaceable>output.avi</replaceable></screen>
- um Video- und Audiostreams in eine neue AVI-Datei zu kopieren, wobei der Index neu generiert
- wird und das Interleaving korrigiert wird.
- Natürlich kann dies nicht mögliche Fehler in Video- und/oder Audiostreams reparieren.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich das Seitenverhältnis einer AVI-Datei reparieren?
- </para>
- </question>
- <answer>
- <para>
- Du kannst so etwas dank der Option <option>-force-avi-aspect</option> von
- <application>MEncoder</application> tun, die das im
- AVI OpenDML vprp Header gespeicherte Seitenverhältnis überschreibt. Zum Beispiel:
- <screen>mencoder <replaceable>input.avi</replaceable> -ovc copy -oac copy -o <replaceable>output.avi</replaceable> -force-avi-aspect 4/3</screen>
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich ein Backup machen und eine VOB-Datei mit kaputtem Anfang encodieren?
- </para>
- </question>
- <answer>
- <para>
- Das Hauptproblem bei der Encodierung einer kaputten
- <footnote id='fn-corrupted-files-or-copy-protection'>
- <para>
- Zu einem gewissen Maà können bei DVDs verwendete KopierschutzmaÃnahmen als korrupter Inhalt verstanden werden.
- </para>
- </footnote>
- VOB-Datei besteht darin, dass es schwierig ist, eine Encodierung mit perfekter A/V-Synchronisation zu erhalten.
- Eine Umgehung des Problems ist, den kaputten Teil abzuschneiden und nur den sauberen Teil zu encodieren.
- Zuerst musst du herausfinden, wo der saubere Teil beginnt:
- <screen>mplayer <replaceable>input.vob</replaceable> -sb <replaceable>nr_der_zu_überspringenden_Bytes</replaceable></screen>
- Dann kannst du eine neue Datei anlegen, die nur den sauberen Teil enthält:
- <screen>dd if=<replaceable>input.vob</replaceable> of=<replaceable>output_geschnitten.vob</replaceable> skip=1 ibs=<replaceable>nr_der_zu_überspringenden_Bytes</replaceable></screen>
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich kann keine DVD-Untertitel in AVI encodieren!
- </para>
- </question>
- <answer>
- <para>
- Du musst die Option <option>-sid</option> richtig angeben.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich nur ausgewählte Kapitel einer DVD encodieren?
- </para>
- </question>
- <answer>
- <para>
- Benutze die Option <option>-chapter</option> korrekt, wie: <option>-chapter 5-7</option>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich versuche, mit Dateien der GröÃe 2GB+ auf einem VFAT-Dateisystem zu arbeiten. Klappt das?
- </para>
- </question>
- <answer>
- <para>
- Nein, VFAT unterstützt keine Dateien gröÃer als 2GB.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Was bedeuten die Zahlen der Statuszeile während der Encodierung?
- </para>
- </question>
- <answer>
- <para>
- Beispiel:
- <screen>Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2126:192]</screen>
- <variablelist>
- <varlistentry><term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>Zeitposition im encodieren Stream</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>6612f</systemitem></term>
- <listitem><para>Anzahl der encodieren Frames</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>( 2%)</systemitem></term>
- <listitem><para>Teil des Eingabestreams, der encodiert wurde</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>7.12fps</systemitem></term>
- <listitem><para>Encodiergeschwindigkeit</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>geschätzte verbleibende Encodierzeit</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>2856mb</systemitem></term>
- <listitem><para>geschätzte GröÃe der endgültigen Encodierung</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>momentane Verzögerung zwischen Audio- und Videostreams</para></listitem>
- </varlistentry>
- <varlistentry><term><systemitem>[2126:192]</systemitem></term>
- <listitem><para>durchschnittliche Videobitrate (in kb/s) und durchschnittliche Audiobitrate (in kb/s)</para></listitem>
- </varlistentry>
- </variablelist>
- </para></answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Warum ist die von <application>MEncoder</application> ausgegebene empfohlene Bitrate negativ?
- </para>
- </question>
- <answer>
- <para>
- Da die Bitrate, mit der du den Ton encodiert hast, zu groà ist, dass der Film auf eine CD zu passt.
- Ãberprüfe, ob du libmp3lame ordentlich installiert hast.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Ich kann eine ASF-Datei nicht zu AVI/MPEG-4 (DivX) konvertieren, da sie 1000 fps verwendet.
- </para>
- </question>
- <answer>
- <para>
- Da ASF eine variable Framerate verwendet, AVI jedoch nur feste, musst du die Option
- <option>-ofps</option> manuell setzen.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich Untertitel in die Ausgabedatei packen?
- </para>
- </question>
- <answer>
- <para>
- Ãbergib einfach <option>-sub <dateiname></option> (oder <option>-sid</option>, respektive)
- an <application>MEncoder</application>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich nur Ton von einem Musikvideo encodieren?
- </para>
- </question>
- <answer>
- <para>
- Dies ist nicht direkt möglich, du kannst aber folgendes probieren (beachte das
- <emphasis role="bold">&</emphasis> am Ende des
- <command>mplayer</command>-Befehls):
- <screen>
-mkfifo encode
-mplayer -ao pcm -aofile encode dvd://1 &
-lame <replaceable>deine Optionen</replaceable> encode music.mp3
-rm encode<!--
- --></screen>
- Dies erlaubt dir, jeden Encoder zu verwenden, nicht nur <application>LAME</application>.
- Ersetze im obigen Befehl einfach <command>lame</command> durch den Audioencoder deiner Wahl.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Warum versagen third-party-Player bei dem Versuch, MPEG-4-Filme abzuspielen, die von
- <application>MEncoder</application>-Versionen nach 1.0pre7 erstellt wurden?
- </para>
- </question>
- <answer>
- <para>
- <systemitem class="library">libavcodec</systemitem>, die native MPEG-4-Encodierungsbibliothek,
- die normalerweise mit <application>MEncoder</application> verfügbar ist,
- pflegte den FourCC bei der Encodierung von MPEG-4-Video auf 'DIVX' zu setzen
- (der FourCC ist ein AVI-Tag, der die Software angibt, die für die Encodierung benutzt wurde, und bestimmt, welche Software zur Decodierung des Videos verwendet werden soll).
- Dies hat viele Menschen dazu veranlasst zu denken, dass
- <systemitem class="library">libavcodec</systemitem> eine DivX-Encodierungsbibliothek ist,
- während es sich um eine MPEG-4-Encodierungsbibliothek handelt, die den MPEG-4-Standard
- wesentlich besser implementiert, als das DivX tut.
- Daher ist der neue Standard-FourCC von <systemitem class="library">libavcodec</systemitem>
- 'FMP4', du kannst dieses Verhalten jedoch mit der <application>MEncoder</application>-Option
- <option>-ffourcc</option> überschreiben.
- Du kannst den FourCC existierender Dateien auf dieselbe Weise ändern:
- <screen>mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -ffourcc XVID</screen>
- Beachte, dass dies den FourCC auf XVID anstelle von DIVX ändert.
- Dies wird empfohlen, da der FourCC DIVX DivX4 bedeutet, welcher ein sehr einfacher MPEG-4-Codec
- ist, während DX50 und XVID für volles MPEG-4 (ASP) stehen.
- Wenn du den FourCC auf DIVX änderst, kann es daher dazu kommen, dass manch schlechte Software
- oder Hardware-Player bei manchen fortgeschrittenen Features, die
- <systemitem class="library">libavcodec</systemitem> unterstützt, DivX aber nicht,
- ins Stocken geraten; andererseits liegt
- <systemitem class="library">Xvid</systemitem> im Sinne der Funktionalität näher an
- <systemitem class="library">libavcodec</systemitem> und wird von allen anständigen
- Playern unterstützt.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich eine Datei encodieren, die nur Ton enthält?
- </para>
- </question>
- <answer>
- <para>
- Benutze <filename>aconvert.sh</filename> vom Unterverzeichnis
- <filename class="directory">TOOLS</filename> im MPlayer-Sourcenbaum.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- Wie kann ich in AVI eingebettete Untertitel wiedergegeben?
- </para>
- </question>
- <answer>
- <para>
- Benutze <filename>avisubdump.c</filename> vom Unterverzeichnis
- <filename class="directory">TOOLS</filename> oder lies
- <ulink url="http://xlife.zuavra.net/curse/0012/">diese Dokument über Extraktion/Demultiplexing von Untertiteln in OpenDML AVI-Dateien</ulink>.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question>
- <para>
- MPlayer kann nicht...
- </para>
- </question>
- <answer>
- <para>
- Schau mal ins Unterverzeichnis <filename class="directory">TOOLS</filename> für
- eine Sammlung verschiedener Skripts und Hacks.
- <filename>TOOLS/README</filename> enthält Dokumentation.
- </para>
- </answer>
- </qandaentry>
-
-
- </qandadiv>
- </qandaset>
-
-</chapter>
diff --git a/DOCS/xml/de/install.xml b/DOCS/xml/de/install.xml
deleted file mode 100644
index 0de6409..0000000
--- a/DOCS/xml/de/install.xml
+++ /dev/null
@@ -1,562 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r24087 -->
-<!-- missing cosmetic commit 21537 -->
-<chapter id="install">
- <title>Installation</title>
-
- <para>
- Eine Anleitung für eine schnelle Installation steht in der Datei
- <filename>README</filename>. Bitte lies diese zuerst und komm erst dann für
- den Rest der mörderischen Details zurück.
- </para>
-
- <para>
- In diesem Abschnitt wirst du durch den Vorgang des
- Compilierens und Konfigurierens von <application>MPlayer</application>
- geleitet. Es ist nicht leicht, muss aber nicht unbedingt schwierig sein. Wenn du
- Erfahrungen machst anders als das hier beschriebene, durchsuche bitte die
- Dokumentation, und du wirst deine Antworten finden.
- </para>
-
- <para>
- Du brauchst ein ziemlich aktuelles System. Unter Linux werden die Kernel der
- Version 2.4.x empfohlen.
- </para>
-
- <sect1 id="softreq">
- <title>Softwareanforderungen</title>
-
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">binutils</emphasis> - empfohlene Version ist
- <emphasis role="bold">2.11.x</emphasis>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">gcc</emphasis> - empfohlene Versionen sind 2.95
- und 3.4+. 2.96 und 3.0.x generieren bekannterweise fehlerhaften Code, 3.1 und
- 3.2 hatten auch Probleme, 3.3 ein paar kleinere. Benutze auf PowerPC-Architektur 4.x+.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Xorg/XFree86</emphasis> - empfohlene Version ist
- 4.3 oder neuer. Stelle auch sicher, dass die
- <emphasis role="bold">Entwicklerpakete</emphasis>
- installiert ist, sonst wird es nicht funktionieren.
- Du brauchst X nicht zwangsläufig, manche Videoausgabetreiber funktionieren auch ohne.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">make</emphasis> - empfohlene Version ist
- 3.79.x oder neuer.
- Um die XML-Dokumentation zu erstellen, benötigst du 3.80.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">FreeType</emphasis> - Version 2.0.9 oder neuer
- wird benötigt, um Schriften für OSD und Untertitel zu erhalten.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">ALSA</emphasis> - optional, für Unterstützung der
- Audioausgabe mit ALSA. Version 0.9.0rc4 ist mindestens erforderlich.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">libjpeg</emphasis> -
- benötigt für den optionalen JPEG-Videoausgabetreiber
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">libpng</emphasis>
- benötigt für den optionalen PNG-Videoausgabetreiber
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">directfb</emphasis> - optional, verwende 0.9.13 oder neuer,
- benötigt für den directfb-Videoausgabetreiber
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">lame</emphasis> - 3.90 oder neuer wird empfohlen,
- erforderlich für die Audioencodierung mit <application>MEncoder</application>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">zlib</emphasis> - empfohlen, benötigt für die
- Unterstützung komprimierter MOV-Header und PNG.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- - optional, benötigt für die Wiedergabe mancher RTSP/RTP-Streams.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">cdparanoia</emphasis> - optional, für CDDA-Unterstützung
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">libxmms</emphasis> - optional, für Unterstützung des
- XMMS-Input-Plugins. Version 1.2.7 ist mindestens erforderlich.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">libsmb</emphasis> - optional, für SMB-Netzwerkunterstützung
- </para>
- </listitem>
- </itemizedlist>
- </sect1>
-
-
- <sect1 id="features">
- <title>Features</title>
-
- <itemizedlist>
- <listitem>
- <para>
- Entscheide, ob du eine GUI benötigst. Ist dies der Fall, schau in Abschnitt
- <link linkend="gui">GUI</link>, bevor du compilierst.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn Du <application>MEncoder</application> (unseren super Allzweck-Encoder)
- installieren möchtest, siehe Abschnitt
- <link linkend="mencoder"><application>MEncoder</application></link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn du eine V4L-kompatible <emphasis role="bold">TV-Tuner</emphasis>-Karte hast
- und Filme mit <application>MPlayer</application> anschauen/grabben und encodieren
- möchtest, lies den Abschnitt <link linkend="tv-input">TV-Input</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn du eine V4L-kompatible <emphasis role="bold">Radioempfänger</emphasis>karte hast
- und mit <application>MPlayer</application> Radio hören oder aufnehmen möchtest,
- lies den Abschnitt <link linkend="radio">radio</link>.
- </para>
- </listitem>
- <listitem>
- <para>
- Es gibt Unterstützung für ein schickes <emphasis role="bold">OSD-Menü</emphasis>,
- das benutzt werden kann. Siehe Abschnitt <link linkend="subosd">OSD-Menü</link>.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Baue dann <application>MPlayer</application>:
-<screen>./configure
-make
-make install</screen>
- </para>
-
- <para>
- Zu diesem Zeitpunkt ist <application>MPlayer</application> benutzbar.
- Ãberprüfe, ob du eine Datei namens <filename>codecs.conf</filename> in deinem
- Benutzerverzeichnis unter (<filename>~/.mplayer/codecs.conf</filename>)
- von alten <application>MPlayer</application>-Versionen hast.
- Wenn du einer findest, entferne sie.
- </para>
-
- <para>
- Beachte, dass die eingebaute und vom System bereitgestellte <filename>codecs.conf</filename>
- ignoriert wird, wenn du eine <filename>codecs.conf</filename> im Verzeichnis
- <filename>~/.mplayer/</filename>, hast.
- Benutze diese nicht, wenn du nicht an den Interna von <application>MPlayer</application>
- herumbasteln möchtest, da dies viele Probleme hervorrufen kann. Wenn du die Reihenfolge
- der Suche nach Codecs ändern möchtest, benutze die Optionen <option>-vc</option>,
- <option>-ac</option>, <option>-vfm</option>, oder <option>-afm</option> auf der
- Kommandozeile oder in deiner Konfigurationsdatei (siehe Manpage).
- </para>
-
- <para>
- Debian-Nutzer können ihr eigenes .deb-Paket bauen, das ist sehr leicht.
- Führe nur <screen>fakeroot debian/rules binary</screen>
- in <application>MPlayer</application>s Wurzelverzeichnis aus. Siehe
- <link linkend="debian">Debian-Packaging</link> für detaillierte Informationen.
- </para>
-
- <para>
- <emphasis role="bold">Ãberprüfe immer die Ausgabe von </emphasis>
- <filename>./configure</filename> und die Datei <filename>config.log</filename>,
- sie enthalten Informationen darüber, was eingebaut wird und was nicht.
- Du möchtest dir vielleicht auch die Dateien
- <filename>config.h</filename> und <filename>config.mak</filename> anschauen.
- Wenn du manche Bibliotheken installiert hast, die von
- <filename>./configure</filename> aber nicht erkannt werden, überprüfe auch
- die entsprechenden Header-Dateien (normalerweise die -dev-Pakete) und ob deren
- Versionen passen. Die Datei <filename>config.log</filename> gibt
- normalerweise Auskunft darüber, was fehlt.
- </para>
-
- <para>
- Obwohl sie nicht notwendig sind, sollten die Fonts installiert werden, um die
- Funktionalität von OSD- und Untertiteldarstellung nutzen zu können. Die
- empfohlene Methode dazu ist, eine TTF-Fontdatei zu installieren und
- <application>MPlayer</application> anzuweisen, diese zu benutzen.
- Siehe Abschnitt <link linkend="subosd">Untertitel und OSD</link> für Details.
- </para>
-
- </sect1>
-
- <!-- ********** -->
-
- <sect1 id="gui">
- <title>Was ist mit der GUI?</title>
-
- <para>
- Die GUI benötigt GTK 1.2.x oder GTK 2.0 (sie ist nicht vollständig GTK, aber
- die Panels). Die Skins werden im PNG-Format gespeichert, daher müssen GTK,
- <systemitem class="library">libpng</systemitem> (und deren Entwicklungskram,
- normalerweise <systemitem class="library">gtk-dev</systemitem> genannt),
- installiert sein. Du kannst die GUI durch Angabe von <option>--enable-gui</option>
- während <filename>./configure</filename> aktivieren. Dann musst du, um den
- GUI-Modus zu aktivieren, die Binärdatei <command>gmplayer</command> starten.
- </para>
-
- <para>
- Da <application>MPlayer</application> kein Skin enthält, musst du eins
- herunterladen, um die GUI benutzen zu können. Siehe
- <ulink url="http://www.mplayerhq.hu/dload.html">Download-Seite</ulink>.
- Sie sollten in das normale systemweite Verzeichnis
- (<filename class="directory">$PREFIX/share/mplayer/skins</filename>) oder nach
- <filename class="directory">$HOME/.mplayer/skins</filename> installiert werden.
- <application>MPlayer</application> schaut nach Voreinstellung in diesen Verzeichnissen
- nach einem Verzeichnis mit dem Namen <filename class="directory">default</filename>,
- du kannst aber die Option <option>-skin <replaceable>newskin</replaceable></option>
- oder die Konfigurationsdateianweisung
- <literal>skin=newskin</literal> nutzen, um ein Skin im Verzeichnis
- <filename class="directory">*/skins/newskin</filename> zu benutzen.
- </para>
- </sect1>
-
- <!-- ********** -->
-
- <sect1 id="fonts-osd">
- <title>Schriften und OSD</title>
-
- <para>
- Du musst <application>MPlayer</application> mitteilen, welche Schriftart verwendet
- werden soll, um in den Genuà von OSD und Untertiteln zu kommen.
- Jede TrueType-Schriftart oder spezielle Bitmap-Schriftarten werden funktionieren.
- TrueType-Schriftarten werden jedoch empfohlen, da sie weit besser aussehen,
- entsprechend der FilmgröÃe skaliert werden können und mit verschiedenen Zeichensätzen
- besser umgehen.
- </para>
-
-
- <sect2 id="truetype-fonts">
- <title>TrueType-Schriften</title>
-
- <para>
- Es gibt zwei Möglichkeiten, TrueType-Schriften ans Laufen zu bekommen.
- Die erste besteht darin, die Option <option>-font</option> auf der Kommandozeile
- anzugeben. Diese Option ist vermutlich ein guter Kandidat für die Aufnahme
- in deine Konfigurationsdatei (siehe Manpage für Details).
- Die zweite besteht darin, einen <filename>subfont.ttf</filename> genannten Symlink
- zu der Schriftart deiner Wahl zu erstellen. Führe entweder
- <screen>ln -s <replaceable>/Pfad/zur/Schrift.ttf</replaceable> ~/.mplayer/subfont.ttf</screen>
- für jeden User durch, oder erstelle einen systemweiten Symlink:
- <screen>ln -s <replaceable>/Pfad/zur/Schrift.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf</screen>
- </para>
-
- <para>
- Wenn <application>MPlayer</application> mit
- <systemitem class="library">fontconfig</systemitem>-Unterstützung compiliert wurde,
- werden die oben genannten Methoden nicht funktionieren; statt dessen erwartet
- <option>-font</option> einen <systemitem class="library">fontconfig</systemitem>-Schriftnamen,
- der Standard ist die Schriftart Sans-serif. Beispiel:
- <screen>mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable></screen>
- </para>
-
- <para>
- Um eine Liste der
- <systemitem class="library">fontconfig</systemitem> bekannten Dateien zu erhalten,
- benutze <command>fc-list</command>.
- </para>
-
- </sect2>
-
-
- <sect2 id="bitmap-fonts">
- <title>Bitmap-Schriften</title>
-
- <para>
- Wenn du aus einem bestimmten Grund Bitmap-Schriftwarten verwenden möchtest, lade dir einen Satz
- von unserer Homepage herunter. Du kannst zwischen verschiedenen
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO-Schriftarten</ulink>
- und ein paar Sätzen von Schriftarten, die
- <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">von Benutzern beigetragen</ulink> wurden,
- in verschiedenen Zeichensätzen wählen.
- </para>
-
- <para>
- Entpacke die Datei, die du heruntergeladen hast nach
- <filename class="directory">~/.mplayer</filename> oder
- <filename class="directory">$PREFIX/share/mplayer</filename>.
- Benenne dann eins der extrahierten Verzeichnisse um zu
- <filename class="directory">font</filename>, oder erstelle einen Symlink dorthin, zum Beispiel:
- <screen>ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font</screen>
- <screen>ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font</screen>
- </para>
-
- <para>
- Schriftarten sollten eine entsprechende <filename>font.desc</filename>-Datei haben,
- die Positionen von Unicode-Schriften auf die aktuelle Codeseite des Untertiteltexts abbildet.
- Eine andere Möglichkeit besteht darin, in UTF-8 codierte Untertitel zu verwenden und die Option
- <option>-utf8</option> zu verwenden. Noch eine Möglichkeit besteht darin, der Untertiteldatei
- den gleichen Namen zu geben wie die Videodatei mit der Dateiendung <filename><video_name>.utf</filename> und sie im selben Verzeichnis wie
- die Videodatei abzulegen.
- </para>
-
- </sect2>
-
-
- <sect2 id="osdmenu">
- <title>OSD-Menü</title>
-
- <para>
- <application>MPlayer</application> hat eine komplett benutzerdefinierbare OSD-Menü-Schnittstelle.
- </para>
-
- <note>
- <para>
- Das Menü Einstellungen ist momentan NICHT IMPLEMENTIERT!
- </para>
- </note>
-
- <orderedlist>
- <title>Installation</title>
- <listitem>
- <para>
- compiliere <application>MPlayer</application> mit Ãbergabe von <option>--enable-menu</option>
- an <filename>./configure</filename>
- </para>
- </listitem>
- <listitem>
- <para>
- stelle sicher, dass du ein OSD-Font installiert hast
- </para>
- </listitem>
- <listitem>
- <para>
- kopiere <filename>etc/menu.conf</filename> in dein
- <filename class="directory">.mplayer</filename>-Verzeichnis
- </para>
- </listitem>
- <listitem>
- <para>
- kopiere <filename>etc/input.conf</filename> in dein
- <filename class="directory">.mplayer</filename>-Verzeichnis oder in das systemweite
- <application>MPlayer</application>-Konfigurationsverzeichnis (Standard:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
- </para>
- </listitem>
- <listitem>
- <para>
- überprüfe und editiere <filename>input.conf</filename>, um Menüsteuerungstasten
- zu aktivieren (das ist dort beschrieben).
- </para>
- </listitem>
- <listitem>
- <para>
- starte <application>MPlayer</application> mit folgendem Beispiel:
- <screen>mplayer -menu <replaceable>datei.avi</replaceable></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- drücke irgendeine von dir definierte Menütaste
- </para>
- </listitem>
- </orderedlist>
-
- </sect2>
- </sect1>
-
- <!-- ********** -->
- <sect1 id="codec-installation">
- <title>Codec Installation</title>
-
- <sect2 id="xvid">
- <title>Xvid</title>
-
- <para>
- <ulink url="http://www.xvid.org">Xvid</ulink> ist ein freier MPEG-4 ASP
- konformer Videocodec. Beachte, dass Xvid nicht benötigt wird, um mit Xvid
- encodiertes Video zu decodieren. In der Standardkonfiguration wird dafür
- <systemitem class="library">libavcodec</systemitem> benutzt, da er höhere
- Geschwindigkeit bietet.
- </para>
-
- <procedure>
- <title>Installation von <systemitem class="library">Xvid</systemitem></title>
- <para>
- Wie die meiste Open-Source-Software gibt es zwei verfügbare Varianten:
- <ulink url="http://www.xvid.org/downloads.html">offizielle Releases</ulink>
- und die CVS-Version.
- Die CVS-Version ist für die Benutzung normalerweise stabil genug, da es meistens
- Fehlerbehebungen für Bugs enthält, die im Release vorhanden sind.
- Hier also, was du zu tun hast, um <systemitem class="library">Xvid</systemitem>
- vom CVS mit <application>MEncoder</application> ans Laufen zu bringen
- (du benötigst mindestens <application>autoconf</application> 2.50,
- <application>automake</application> und <application>libtool</application>):
- </para>
- <step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
- </para></step>
- <step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
- </para></step>
- <step><para>
- <screen>cd xvidcore/build/generic</screen>
- </para></step>
- <step><para>
- <screen>./bootstrap.sh</screen>
- </para></step>
- <step><para>
- <screen>./configure</screen>
- Du musst möglicherweise ein paar Optionen hinzuzufügen (schaue dir
- die Ausgabe von <command>./configure --help</command> an).
- </para></step>
- <step><para>
- <screen>make && make install</screen>
- </para></step>
- </procedure>
- </sect2>
-
-
- <sect2 id="x264">
- <title><systemitem class="library">x264</systemitem></title>
- <para>
- <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
- ist eine Bibliothek für die Erstellung von H.264-Videostreams.
- <application>MPlayer</application> Sourcen werden auf den neuesten Stand
- gebracht wenn es an <systemitem class="library">x264</systemitem> API
- Veränderungen gibt. Deswegen wird empfohlen
- <application>MPlayer</application> aus dem Subversion zu benutzen.
- </para>
-
- <para>
- Wenn du GIT installiert hast, können die aktuellen x264 Sourcen
- mit dem folgen Befehl besorgt werden:
- <screen>git clone git://git.videolan.org/x264.git</screen>
-
- Bau und installier dann nach der Standardformel:
- <screen>./configure && make && make install</screen>
-
- Jetzt nochmal <filename>./configure</filename> ausführen, damit
- <application>MPlayer</application> die Unterstützung für
- <systemitem class="library">x264</systemitem> aktiviert.
- </para>
- </sect2>
-
-
- <sect2 id="amr">
- <title>AMR Codecs</title>
- <para>
- Adaptive Multi-Rate Sprachcodec, wird in 3G (UMTS) Mobiltelephonen verwendet.
- Die Referenzimplementierung ist auf
- <ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
- erhältlich (frei - wie in Freibier - für private Benutzung).
- Um die Unterstützung zu aktiveren, lade die Bibliotheken für
- <ulink url="http://www.penguin.cz/~utx/amr">AMR-NB and AMR-WB</ulink>
- runter und installiere sie, indem du die Anweisungen auf dieser Seite befolgst.
- Compiliere MPlayer danach erneut.
- </para>
- <para>
- Für Unterstützung müssen die Codecs
- <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink>
- und
- <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>
- heruntergeladen und in dasselbe Verzeichnis wie
- <application>MPlayer</application> verschoben werden.
- AnschlieÃend folgende Befehle ausführen:
- <screen>
-unzip 26104-610.zip
-unzip 26104-610_ANSI_C_source_code.zip
-mv c-code libavcodec/amr_float
-unzip 26204-600.zip
-unzip 26204-600_ANSI-C_source_code.zip
-mv c-code libavcodec/amrwb_float<!--
- --></screen>
- Befolge danach einfach das <link linkend="features">Standardvorgehen für die Compilierung</link> von
- <application>MPlayer</application>.
- </para>
- </sect2>
-
- </sect1>
-
- <sect1 id="rtc">
- <title>RTC</title>
- <para>
- Es gibt drei Zeitgebermethoden in <application>MPlayer</application>.
-
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">Um die alte Methode zu verwenden</emphasis>, musst du
- gar nichts machen. Diese benutzt <systemitem>usleep()</systemitem>, um
- A/V-Synchronisation abzustimmen, mit +/- 10ms Genauigkeit. Trotzdem muss manchmal
- die Synchronisation noch feiner abgestimmt werden.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Der neue Zeitgeber</emphasis>-Code benutzt RTC (RealTime Clock, Echtzeituhr)
- für diese Aufgabe, da dieser präzise 1ms-Timer besitzt.
- Die Option <option>-rtc</option> aktivert diesen, es ist jedoch ein hierfür speziell konfigurierter
- Kernel erforderlich.
- Wenn du Kernel 2.4.19pre8 oder neuer laufen hast, kannst du die maximale RTC-Frequenz
- für normale Benutzer durch das <systemitem class="systemname">/proc</systemitem>-Dateisystem
- festlegen.
- Benutze einen der folgenden Befehle, um RTC für normale Benutzer zu aktivieren:
- <screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
- <screen>sysctl dev/rtc/max-user-freq=1024</screen>
- Die kannst diese Einstellung permanent machen, indem du letzteren Befehl der Datei
- <filename>/etc/sysctl.conf</filename> hinzufügst.
- </para>
- <para>
- Du kannst die Effizienz des neuen Zeitgebers in der Statuszeile sehen.
- Die Power Management-Funktionen der BIOSse mancher Notebooks mit speedstep-CPUs
- vertragen sich nicht gut mit RTC. Audio und Video könnten Synchronisation verlieren.
- Die externe Stromversorgung anzuschlieÃen, bevor du dein Notebook einschaltest,
- scheint zu helfen.
- Bei manchen Hardwarekombinationen (bestätigt
- während des Gebrauchs eines Nicht-DMA-DVD-Laufwerks auf einem ALi1541-Board)
- führt der Gebrauch des RTC-Zeitgebers zu sprunghafter Wiedergabe. Es wird empfohlen,
- in solchen Fällen die dritte Methode zu verwenden.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Der Code des dritten Zeitgebers</emphasis> wird mit der Option
- <option>-softsleep</option> aktiviert. Der hat die Effizienz von RTC, benutzt RTC aber nicht.
- Auf der anderen Seite benötigt er mehr CPU.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect1>
-
-</chapter>
diff --git a/DOCS/xml/de/mencoder.xml b/DOCS/xml/de/mencoder.xml
deleted file mode 100644
index 90afe5b..0000000
--- a/DOCS/xml/de/mencoder.xml
+++ /dev/null
@@ -1,752 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r23983 -->
-<!-- missing cosmetic commit 21537 -->
-<chapter id="mencoder">
- <title>Allgemeiner Gebrauch von <application>MEncoder</application></title>
-
- <para>
- Eine komplette Liste der <application>MEncoder</application>-Optionen
- und Beispiele findest du in der Manpage. Eine Reihe praktischer Beispiele
- und detaillierter Anleitungen zur Anwendung verschiedener Encodier-Parameter
- findet du in den
- <ulink url="../../tech/encoding-tips.txt">Encodier-Tipps (im Moment nur auf englisch)</ulink>,
- die aus verschiedenen Mailing-Listen-Threads von MPlayer-Nutzern
- zusammengestellt wurden.
- Durchsuche die Archive
- <ulink url="http://lists.mplayerhq.hu/pipermail/mencoder-users/">hier</ulink>
- und für ältere Dinge besonders
- <ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">hier</ulink>
- nach einer Fülle von Diskussionen über alle Aspekte und Probleme mit
- der Encodierung mittels <application>MEncoder</application>.
- </para>
-
- <sect1 id="menc-feat-selecting-codec">
- <title>Auswahl der Codecs und Containerformate</title>
-
- <para>
- Audio- und Videocodecs für die Encodierung werden mit den Optionen
- <option>-oac</option> und <option>-ovc</option> respektive gewählt.
- Gib zum Beispiel folgendes ein:
- <screen>mencoder -ovc help</screen>
- um alle von der <application>MEncoder</application>-Version auf deinem Rechner
- unterstützten Video-Codecs aufzulisten.
- Die folgenden Wahlmöglichkeiten stehen zur Verfügung:
- </para>
- <para>
- Audiocodecs:
-
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row><entry>Audiocodecname</entry><entry>Beschreibung</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>mp3lame</entry>
- <entry>encodiere nach VBR-, ABR- oder CBR-MP3 mittels LAME</entry>
- </row>
- <row>
- <entry>lavc</entry>
- <entry>verwende einen der Audiocodecs von
- <link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem></link>
- </entry>
- </row>
- <row>
- <entry>faac</entry>
- <entry>FAAC AAC Audio-Encoder</entry>
- </row>
- <row>
- <entry>toolame</entry>
- <entry>MPEG Audio Layer 2 Encoder</entry>
- </row>
- <row>
- <entry>twolame</entry>
- <entry>MPEG Audio Layer 2 Encoder basierend auf tooLAME</entry>
- </row>
- <row>
- <entry>pcm</entry>
- <entry>unkomprimiertes PCM-Audio</entry>
- </row>
- <row>
- <entry>copy</entry>
- <entry>nicht neu codieren, kopiere einfach nur komprimierte Frames</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
-
- <para>
- Video-Codecs:
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row><entry>Videocodecname</entry><entry>Beschreibung</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>lavc</entry>
- <entry>Verwende einen der Video-Codecs von
- <link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem></link>
- </entry>
- </row>
- <row>
- <entry>xvid</entry>
- <entry>Xvid, MPEG-4 Advanced Simple Profile (ASP) Codec</entry>
- </row>
- <row>
- <entry>x264</entry>
- <entry>x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 Codec</entry>
- </row>
- <row>
- <entry>nuv</entry>
- <entry>NuppelVideo, von Echtzeit-Anwendungen verwendet</entry>
- </row>
- <row>
- <entry>raw</entry>
- <entry>unkomprimierte Video-Frames</entry>
- </row>
- <row>
- <entry>copy</entry>
- <entry>nicht neu codieren, kopiere einfach nur komprimierte Frames</entry>
- </row>
- <row>
- <entry>frameno</entry>
- <entry>verwendet für 3-pass-Encodierung (nicht empfohlen)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- <para>
- Ausgabe-Containerformate werden mittels der Option <option>-of</option> gewählt.
- Gib folgendes ein
- <screen>mencoder -of help</screen>
- um alle von der <application>MEncoder</application>-Version auf deinem Rechner
- unterstützten Videocodecs aufzulisten.
- Die folgenden Wahlmöglichkeiten stehen zur Verfügung:
- </para>
- <para>
- Containerformate:
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row><entry>Name des Containerformats</entry><entry>Beschreibung</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>lavf</entry>
- <entry>einer der von
- <systemitem class="library">libavformat</systemitem>
- unterstützten Container</entry>
- </row>
- <row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
- </row>
- <row>
- <entry>mpeg</entry>
- <entry>MPEG-1 und MPEG-2 PS</entry>
- </row>
- <row>
- <entry>rawvideo</entry>
- <entry>raw-Video-Stream (kein Muxen - nur ein Video-Stream)</entry>
- </row>
- <row>
- <entry>rawaudio</entry>
- <entry>raw-Audio-Stream (kein Muxen - nur ein Audio-Stream)</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- Der AVI-Container ist das ursprüngliche Containerformat für
- <application>MEncoder</application>, was bedeutet, dass es der am besten
- gehandhabte ist und derjenige, für welchen <application>MEncoder</application>
- entworfen wurde.
- Wie oben angemerkt können weitere Containerformate verwendet werden, jedoch
- kann es bei deren Gebrauch zu Problemen kommen.
- </para>
-
- <para>
- <systemitem class="library">libavformat</systemitem>-Container:
- </para>
- <para>
- Wenn du für das Muxen der Ausgabedatei
- <systemitem class="library">libavformat</systemitem> verwendest
- (mittels <option>-of lavf</option>),
- wird das passende Containerformat entsprechend der Erweiterung der Ausgabedatei
- ermittelt.
- Du kannst ein bestimmtes Containerformat mit Hilfe der Option
- <option>format</option> von <systemitem class="library">libavformat</systemitem>
- erzwingen.
-
- <informaltable frame="all">
- <tgroup cols="2">
- <thead>
- <row><entry><systemitem class="library">libavformat</systemitem> Containername</entry><entry>Beschreibung</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>mpg</entry>
- <entry>MPEG-1 und MPEG-2 PS</entry>
- </row>
- <row>
- <entry>asf</entry>
- <entry>Advanced Streaming Format</entry>
- </row>
- <row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
- </row>
- <row>
- <entry>wav</entry>
- <entry>Waveform Audio</entry>
- </row>
- <row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
- </row>
- <row>
- <entry>flv</entry>
- <entry>Macromedia Flash Video</entry>
- </row>
- <row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
- </row>
- <row>
- <entry>au</entry>
- <entry>SUN AU</entry>
- </row>
- <row>
- <entry>nut</entry>
- <entry>NUT offener Container (experimentell und noch nicht Spec-konform)</entry>
- </row>
- <row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
- </row>
- <row>
- <entry>mp4</entry>
- <entry>MPEG-4 Format</entry>
- </row>
- <row>
- <entry>dv</entry>
- <entry>Sony Digital Video Container</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- Wie du siehst, erlaubt <systemitem class="library">libavformat</systemitem>
- <application>MEncoder</application>, in eine beachtliche Vielfalt an Containern
- zu muxen.
- Leider solltest du wirklich Paranoia angesichts der resultierenden Datei schieben,
- da <application>MEncoder</application> nicht von Anfang an für die Unterstützung
- anderer Containerformate als AVI entworfen wurde.
-
- Ãberprüfe bitte sicherheitshalber, ob die Audio-/Video-Synchronisierung in Ordnung ist
- und ob die Datei von anderen Playern als <application>MPlayer</application>
- wiedergegeben werden kann.
- </para>
-
- <example id="encode_to_macromedia_flash_format">
- <title>Encodieren in das Macromedia Flash-Format</title>
- <para>
- Erzeugen eines Macromedia Flash Videos, das in einem Web-Browser mit dem
- Macromedia Flash Plugin abgespielt werden kann:
- <screen>
- mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
- -srate 22050
- </screen>
- </para>
- </example>
-
- </sect1>
-
-
- <sect1 id="menc-feat-selecting-input">
- <title>Auswahl von Eingabedatei oder -gerät</title>
-
- <para>
- <application>MEncoder</application> kann aus Dateien oder direkt von
- einer DVD- oder VCD-Disk encodieren.
- SchlieÃe einfach den Dateinamen in der Befehlszeile mit ein, um
- von einer Datei zu ecodieren, oder
- <option>dvd://</option><replaceable>Titelnummer</replaceable>
- bzw. <option>vcd://</option><replaceable>Tracknummer</replaceable> zum
- Ecodieren von einem DVD-Titel oder VCD-Track.
- Wenn du bereits einmal eine DVD auf deine Festplatte kopiert hast
- (du kannst ein Tool wie etwa <application>dvdbackup</application>
- verwenden, auf den meisten Systemen verfügbar)
- und von der Kopie encodieren willst, solltest du nach wie vor die Syntax
- <option>dvd://</option> benutzen, zusammen mit <option>-dvd-device</option>
- gefolgt vom Pfad zur kopierten DVD-Root.
-
- Die Optionen <option>-dvd-device</option> und <option>-cdrom-device</option>
- können auch dazu genutzt werden, die Pfade zu den Geräte-Nodes zu überschreiben,
- um direkt von der Disk zu lesen, falls die Standardoptionen
- <filename>/dev/dvd</filename> und <filename>/dev/cdrom</filename> auf
- deinem System nicht funktionieren.
- </para>
- <para>
- Wenn du von einer DVD encodierst, ist es oft wünschenswert, ein zu
- encodierendes Kapitel oder einen Bereich von Kapiteln auszuwählen.
- Du kannst zu diesem Zweck die Option <option>-chapter</option> nutzen.
- Zum Beispiel wird <option>-chapter</option> <replaceable>1-4</replaceable>
- nur die Kapitel 1 bis 4 der DVD encodieren.
- Dies ist besonders nützlich, wenn du eine für zwei CDs bestimmte
- Encodierung mit 1400 MB durchführen willst, da du sicherstellen kannst,
- dass die Unterbrechung exakt an den Kapitelgrenzen stattfindet, anstatt mitten
- in einer Szene.
- </para>
- <para>
- Besitzt du eine unterstützte TV-Capture-Karte, kannst du auch von einem
- TV-In-Gerät encodieren.
- Verwende <option>tv://</option><replaceable>Kanalnummer</replaceable> als
- Dateinamen und <option>-tv</option> zur Konfiguration der zahlreichen
- Aufnahmeeinstellungen.
- Der DVB-Input funktioniert ähnlich.
- </para>
- </sect1>
-
- <sect1 id="menc-feat-handheld-psp">
- <title>Encodieren ins Sony PSP Video Format</title>
-
- <para>
- <application>MEncoder</application> unterstützt das Encodieren in das
- Sony PSP Video Format, allerdings gibt es, abhängig von der Version der PSP
- Software, unterschiedliche Beschränkungen.
- Wer sicher gehen möchte, sollte folgende Beschränkungen beachten:
- <itemizedlist>
- <listitem><para>
- <emphasis role="bold">Bitrate</emphasis>: sollte 1500kbps
- nicht überschreiten, frühere Versionen unterstützten allerdings fast jede
- beliebige Bitrate, so lange der Header sagte, sie sei nicht zu hoch.
- </para></listitem>
- <listitem><para>
- <emphasis role="bold">Dimensionen</emphasis>: die Breite und Höhe des
- PSP videos sollte ein Vielfaches von 16 sein, und das Produkt Breite
- * Höhe muss <= 64000 sein.
- Unter gewissen Umständen kann es der PSP möglich sein, höhere
- Auflösungen abzuspielen.
- </para></listitem>
- <listitem><para>
- <emphasis role="bold">Audio</emphasis>: die Samplerate sollte für
- MPEG-4 Videos 24kHz, und für H.264 48kHz betragen.
- </para></listitem>
- </itemizedlist>
- </para>
-
- <example id="encode_for_psp">
- <title>Encodierung für PSP</title>
- <para>
- <screen>
- mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -of lavf \
- -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -lavfopts format=psp \
- <replaceable>input.video</replaceable> -o <replaceable>output.psp</replaceable>
- </screen>
- Der Titel des Videos kann folgendermaÃen angepasst werden:
- <option>-info name=<replaceable>MovieTitle</replaceable></option>.
- </para>
- </example>
- </sect1>
-
-
- <sect1 id="menc-feat-mpeg4">
- <title>Encodieren von 2-pass-MPEG4 ("DivX")</title>
-
- <para>
- Der Name kommt daher, dass diese Methode die Datei <emphasis>zweimal</emphasis>
- encodiert.
- Die erste Encodierung (synchronisierter Durchgang) erzeugt einige temporäre
- Dateien (<filename>*.log</filename>) mit einer GröÃe von ein paar Megabyte,
- lösche diese noch nicht (du kannst dabei die AVI löschen oder vielmehr einfach
- kein Video erstellen, indem du sie nach <filename>/dev/null</filename>
- umadressierst).
- Im zweiten Durchgang wird die 2-pass-Ausgabedatei erzeugt, indem die
- Bitraten-Daten der temporären Dateien genutzt werden. Die sich daraus
- ergebende Datei wird eine viel bessere Bildqualität besitzen. Wenn du das
- erste Mal davon gehört hast, solltest du einige im Netz verfügbare Handbücher
- zu Rate ziehen.
- </para>
-
- <example id="copy_audio_track">
- <title>Kopieren eines Audio-Tracks</title>
- <para>
- 2-pass-Encodierung des zweiten Tracks einer DVD zu einer MPEG4 ("DivX")
- AVI-Datei während des gleichzeitigen Kopierens des Audio-Tracks.
- <screen>
- mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
- mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac copy -o <replaceable>output.avi</replaceable>
- </screen>
- </para>
- </example>
-
- <example id="encode_audio_track">
- <title>Encodieren eines Audio-Tracks</title>
- <para>
- 2-pass-Encodierung einer DVD nach einer MPEG4 ("DivX") AVI-Datei
- während des gleichzeitigen Encodierens des Audio-Tracks nach MP3.
- Sei bei der Anwendung dieser Methode vorsichtig, da sie in einigen Fällen
- zur Audio-/Video-Desynchronisierung führen kann.
- <screen>
- mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac mp3lame -lameopts vbr=3 -o /dev/null
- mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
- </screen>
- </para>
- </example>
- </sect1>
-
- <sect1 id="menc-feat-mpeg">
- <title>Encodieren ins MPEG-Format</title>
- <para>
- <application>MEncoder</application> kann Ausgabedateien im Format
- MPEG (MPEG-PS) erzeugen.
- Gewöhnlich, wenn du MPEG1- oder MPEG2-Videos benutzt, tust du dies, weil
- du in ein erzwungenes Format wie SVCD, VCD oder DVD encodierst.
- Die spezifischen Anforderungen an diese Formate werden im Abschnitt
- <link linkend="menc-feat-vcd-dvd">Verwenden von MEncoder zum Erzeugen
- VCD/SVCD/DVD-konformer Dateien</link>
- beschrieben.
- </para>
-
- <para>
- Verwende die Option <option>-of mpeg</option>, um das Format der
- Ausgabedatei von <application>MEncoder</application> zu ändern.
- </para>
-
- <informalexample>
- <para>
- Beispiel:
- <screen>
- mencoder <replaceable>input.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
- -oac copy <replaceable>other_options</replaceable> -o <replaceable>output.mpg</replaceable>
- </screen>
- Erzeugen einer für das Abspielen auf Systemen mit minimalem Multimedia-Support
- geeigneten MPEG1-Datei, wie etwa auf Standard-Windows-Installationen:
- <screen>
- mencoder <replaceable>input.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>output.mpg</replaceable> -oac lavc -ovc lavc \
- -lavcopts acodec=mp2:abitrate=224:vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
- </screen>
- Das gleiche bei Benutzung des MPEG-Muxers von <systemitem class="library">libavformat</systemitem>:
- <screen>
- mencoder <replaceable>input.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
- </screen>
- </para>
- </informalexample>
-
- <note><title>Hinweis:</title>
- <para>
- Wenn dich die Video-Qualität des zweiten Durchgangs aus irgendeinem
- Grund nicht zufrieden gestellt hat, kannst du deine Encodierung
- mit einer anderen Zielbitrate erneut durchlaufen lassen, vorausgesetzt,
- du hast die Statistikdateien des vorherigen Durchgangs gesichert.
- Dies ist möglich, weil das Primärziel der Statistikdateien die Aufzeichnung
- der Komplexität jedes Frames ist, was nicht allzusehr von der Bitrate
- abhängt. Du solltest daher beachten, dass du die besten Ergebnisse bekommst,
- wenn alle Durchgänge mit nicht zu sehr voneinander abweichenden
- Ziel-Bitraten durchlaufen werden.
- </para>
- </note>
-
- </sect1>
-
- <sect1 id="menc-feat-rescale">
- <title>Reskalierung von Filmen</title>
-
- <para>
- Oft taucht die Notwendigkeit auf, die GröÃe der Bilder eines Films zu
- ändern. Das kann viele Gründe haben: das Anwachsen der DateigröÃe,
- Netzwerkbandbreite etc. Die meisten Leute reskalieren gerade beim
- Konvertieren von DVDs oder SVCDs nach DivX AVI. Wenn du reskalieren willst,
- lies den Abschnitt <link linkend="aspect">Beibehalten des Seitenverhältnisses</link>.
- </para>
-
- <para>
- Der Skalierungsprozess wird vom <literal>scale</literal>-Video-Filter verarbeitet:
- <option>-vf scale=<replaceable>Breite</replaceable>:<replaceable>Hoehe</replaceable></option>.
- Seine Qualität kann mit der Option <option>-sws</option> gesetzt werden.
- Ist sie nicht angegeben, wird <application>MEncoder</application> 2: bikubisch
- verwenden.
- </para>
-
- <para>
- Anwendung:
-<screen>
-mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>output.avi</replaceable>
-</screen>
- </para>
- </sect1>
-
-
- <sect1 id="menc-feat-streamcopy">
- <title>Kopieren von Streams</title>
-
- <para>
- <application>MEncoder</application> kann Input-Streams auf zwei Arten verarbeiten:
- <emphasis role="bold">Encodiere</emphasis> oder <emphasis role="bold">kopiere</emphasis>
- sie. Dieser Abschnitt behandelt das <emphasis role="bold">Kopieren</emphasis>.
- </para>
-
- <itemizedlist>
- <listitem><para>
- <emphasis role="bold">Videostream</emphasis> (Option <option>-ovc copy</option>):
- Damit kann man nette Sachen machen :) Wie etwa FLI oder VIVO oder
- MPEG1-Video in eine AVI-Datei legen (nicht konvertieren!)! Sicherlich kann
- nur <application>MPlayer</application> solche Dateien abspielen :)
- Und es hat tatsächlich keine wirkliche Daseinsberechtigung.
- Rational: Das Kopieren eines Video-Stream kann zum Beispiel dann
- nützlich sein, wenn nur der Audio-Stream encodiert werden muà (wie
- unkomprimiertes PCM nach MP3).
- </para></listitem>
- <listitem><para>
- <emphasis role="bold">Audiostream</emphasis> (Option <option>-oac copy</option>):
- unkompliziert. Es ist möglich, eine externe Audio-Datei (MP3,
- WAV) herzunehmen und sie in einen Ausgabestream zu muxen. Nimm dazu die
- Option <option>-audiofile <replaceable>Dateinamename</replaceable></option>.
- </para></listitem>
- </itemizedlist>
-
- <para>
- Das Anwenden von <option>-oac copy</option>, um von einem
- Containerformat zum anderen zu kopieren, kann
- <option>-fafmttag</option> erfordern, um das Audio-Format-Tag der Originaldatei
- beizubehalten.
- Wenn du zum Beispiel eine NSV-Datei mit AAC-Audio in einen AVI-Container
- konvertierst, wird der Audio-Format-Tag fehlerhaft sein und muss geändert
- werden. <filename>codecs.conf</filename> enthält eine Liste von
- Audio-Format-Tags.
- </para>
-
- <para>
- Beispiel:
-<screen>
-mencoder <replaceable>input.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>output.avi</replaceable>
-</screen>
- </para>
-
- </sect1>
-
-
- <sect1 id="menc-feat-enc-images">
- <title>Encodieren von mehreren Input-Bilddateien (JPEG, PNG, TGA, etc.)</title>
-
- <para>
- <application>MEncoder</application> ist in der Lage, Filme aus einer oder
- mehreren JPEG-, PNG-, TGA- oder andere Bilddateien zu erzeugen. Mit einem einfachen
- framecopy kann es Dateien wie MJPEG (Motion JPEG), MPNG (Motion PNG)
- oder MTGA (Motion TGA) generieren.
- </para>
-
- <orderedlist>
- <title>Erläuterung des Prozesses:</title>
- <listitem><para>
- <application>MEncoder</application> <emphasis>decodiert</emphasis> das/die
- Input-Bild(er) mittels <systemitem class="library">libjpeg</systemitem>
- (beim Decodieren von PNGs nimmt er <systemitem class="library">libpng</systemitem>).
- </para></listitem>
- <listitem><para>
- <application>MEncoder</application> führt dann das decodierte Bild dem
- gewählten Video-Kompressor zu (DivX4, Xvid, FFmpeg msmpeg4, etc).
- </para></listitem>
- </orderedlist>
-
- <formalpara>
- <title>Beispiele</title>
- <para>
- Die Erklärung der Option <option>-mf</option> steht in der Manpage.
-
- <informalexample>
- <para>
- Erzeugen einer MPEG4-Datei aus allen im aktuellen Verzeichnis liegenden
- JPEG-Dateien:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
- </para>
- </informalexample>
-
- <informalexample>
- <para>
- Erzeugen einer MPEG4-Datei aus einigen im aktuellen Verzeichnis liegenden
- JPEG-Dateien:
-<screen>
-mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
- </para>
- </informalexample>
-
- <informalexample>
- <para>
- Erzeugen einer MPEG4-Datei aus einer eindeutigen Liste von JPEG-Dateien (list.txt im
- aktuellem Verzeichnis enthält die Liste von Dateien, die als Quelle genutzt werden
- sollen, eine pro Zeile):
-<screen>
-mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
- </para>
- </informalexample>
-
- Du kannst verschiedene Bildtypen mischen, dabei ist egal, welche Methode du verwendest
- — individuelle Dateinamen, Wildcard oder eine Datei mit einer Liste —
- vorausgesetzt natürlich, dass sie dieselben Abmessungen haben.
- Du kannst also den Titel von einer PNG-Datei nehmen und daran eine Diashow
- aus JPEG-Bildern anhängen.
-
- <informalexample>
- <para>
- Erzeugen einer Motion JPEG (MJPEG) Datei aus allen im aktuellen Verzeichnis liegenden
- JPEG-Dateien:
- <screen>mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable></screen>
- </para>
- </informalexample>
-
- <informalexample>
- <para>
- Erzeugen einer unkomprimierten Datei aus allen PNG-Dateien im aktuellen Verzeichnis:
- <screen>mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o<replaceable>output.avi</replaceable></screen>
- </para>
- </informalexample>
-
- <note><para>
- Die Breite muà ein Vielfaches von 4 sein, dies ist eine Einschränkung des
- RAW RGB AVI Formats.
- </para></note>
-
- <informalexample>
- <para>
- Erzeugen einer Motion PNG (MPNG) Datei aus allen PNG-Dateien im aktuellen Verzeichnis:
- <screen>mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable></screen>
- </para>
- </informalexample>
-
- <informalexample>
- <para>
- Erzeugen einer Motion TGA (MTGA) Datei aus allen TGA-Dateien im aktuellen Verzeichnis:
- <screen>mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable></screen>
- </para>
- </informalexample>
-
- </para>
- </formalpara>
- </sect1>
-
-
- <sect1 id="menc-feat-extractsub">
- <title>Extrahieren von DVD-Untertiteln in eine VOBsub-Datei</title>
-
- <para>
- <application>MEncoder</application> kann Untertitel aus einer DVD
- in VOBsub-formatierte Dateien extrahieren. Diese bestehen aus einem
- Paar von Dateien mit den Endungen <filename>.idx</filename> und
- <filename>.sub</filename> und sind für gewöhnlich in ein einzelnes
- <filename>.rar</filename>-Archiv gepackt.
- <application>MPlayer</application> kann diese mit den Optionen
- <option>-vobsub</option> und <option>-vobsubid</option> abspielen.
- </para>
-
- <para>
- Du legst den Basisnamen der Ausgabedateien (z.B ohne die Erweiterung
- <filename>.idx</filename> oder <filename>.sub</filename>)
- mittels <option>-vobsubout</option> fest und den Index für diesen
- Untertitel der resultierenden Dateien mit <option>-vobsuboutindex</option>.
- </para>
-
- <para>
- Stammt der Input nicht von einer DVD, solltest du <option>-ifo</option>
- verwenden, um die zur Konstruktion der resultierenden
- <filename>.idx</filename>-Datei benötigten <filename>.ifo</filename>-Datei
- anzugeben.
- </para>
-
- <para>
- Stammt der Input nicht von einer DVD und besitzt du die
- <filename>.ifo</filename>-Datei nicht, musst du die Option
- <option>-vobsubid</option> anwenden, um ihn wissen zu lassen, welche
- Sprach-ID in die <filename>.idx</filename>-Datei eingefügt werden soll.
- </para>
-
- <para>
- Jeder Start wird den laufenden Untertitel anhängen, falls die
- <filename>.idx</filename>- und <filename>.sub</filename>-Dateien bereits
- existieren. Also solltest du beide vor dem Start entfernen.
- </para>
-
- <example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
- <title>Kopieren zweier Untertitel aus einer DVD während einer 2-pass-Encodierung</title>
- <screen>
- rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
- mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 -sid 2
- mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 1 -sid 5<!--
- --></screen>
- </example>
-
- <example id="copying_a_french_subtitle_from_an_mpeg_file">
- <title>Kopieren eines französichen Untertitels aus einer MPEG-Datei</title>
- <screen>
- rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
- mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
- </screen>
- </example>
-
- </sect1>
-
- <sect1 id="aspect">
- <title>Beibehalten des Seitenverhältnisses</title>
- <para>
- Dateien von DVDs und SVCDs (z.B. MPEG1/2) enthalten einen Wert für das
- Seitenverhältnis, welcher beschreibt, wie der Player den Videostream
- skalieren soll, damit Menschen keine Eierköpfe kriegen
- (Beispiel: 480x480 + 4:3 = 640x480). Beim Encodieren zu AVI-(DivX)-Dateien
- musst du dir bewusst sein, dass AVI-Header diesen Wert nicht abspeichern.
- Das Reskalieren des Films ist ätzend und zeitaufwändig, da muss es doch
- einen besseren Weg geben!
- </para>
-
- <para>Es gibt ihn.</para>
-
- <para>
- MPEG4 besitzt ein einzigartiges Feature: Der Video-Stream kann sein
- benötigtes Seitenverhältnis enthalten. Ja, genau wie MPEG1/2 (DVD, SVCD)
- und H.263 Dateien. Bedauerlicherweise gibt es abgesehen von
- <application>MPlayer</application> wenige Video-Player, die dieses
- MPEG4-Attribut unterstützen.
- </para>
-
- <para>
- Dieses Feature kann nur mit dem <systemitem>mpeg4</systemitem>-Codec von
- <systemitem class="library">libavcodec</systemitem>
- verwendet werden. Vergiss nicht: Obwohl <application>MPlayer</application>
- die erzeugte Datei korrekt abspielen wird, könnten andere Player das verkehrte
- Seitenverhältnis benutzen.
- </para>
-
- <para>
- Du solltest auf jeden Fall die schwarzen Bänder oberhalb und unterhalb des
- Filmbildes abschneiden.
- In der Manpage steht mehr zur Verwendung der Filter <systemitem>cropdetect</systemitem>
- und <systemitem>crop</systemitem>.
- </para>
-
- <para>
- Anwendung:
-<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>output.avi</replaceable></screen>
- </para>
- </sect1>
-
-</chapter>
diff --git a/DOCS/xml/de/ports.xml b/DOCS/xml/de/ports.xml
deleted file mode 100644
index a746ed8..0000000
--- a/DOCS/xml/de/ports.xml
+++ /dev/null
@@ -1,859 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r23271 -->
-<!-- missing cosmetic commit 21537 -->
-<chapter id="ports" xreflabel="Ports">
- <title>Portierungen</title>
-
- <sect1 id="linux">
- <title>Linux</title>
- <para>
- Die Hauptentwicklungsplattform ist Linux auf x86, obwohl
- <application>MPlayer</application> auf vielen anderen Linux-Portierungen
- funktioniert.
- Binary Packages von <application>MPlayer</application> stehen auf mehreren Quellen
- zur Verfügung. Jedoch wird <emphasis role="bold">keines dieser Packages unterstützt</emphasis>.
- Melde den Autoren die Probleme, nicht uns.
- </para>
-
- <sect2 id="debian">
- <title>Debian-Packaging</title>
- <para>
- Um ein Debian-Package zu bauen, führe folgenden Befehl im Source-Verzeichnis von
- <application>MPlayer</application> aus:
-
- <screen>fakeroot debian/rules binary</screen>
-
- Wenn du eigene Optionen an configure übergeben willst, kannst du die Umgebungsvariable
- <envar>DEB_BUILD_OPTIONS</envar> einrichten. Zum Beispiel, wenn du die
- GUI- und OSD-Menü-Unterstützung willst, die du gerne nutzen würdest:
-
- <screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
- Du kannst auch einige Variablen an Makefile übergeben. Zum Beispiel, wenn du
- mit gcc 3.4 compilieren willst, auch wenn er nicht der Standard-Compiler ist:
-
- <screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
- Um den Sourcetree aufzuräumen, führe folgenden Befehl aus:
-
- <screen>fakeroot debian/rules clean</screen>
-
- Als root kannst du dann das <filename>.deb</filename>-Package wie immer installieren:
-
- <screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
- </para>
-
- <para>
- Christian Marillat hatte eine Weile lang inoffizielle Debian-Packages von
- <application>MPlayer</application>, <application>MEncoder</application> und
- unseren Binärcodecpaketen erstellt, du kannst sie von
- <ulink url="http://www.debian-multimedia.org/">seiner Homepage</ulink>
- mit apt-get herunterladen.
- </para>
- </sect2>
-
- <sect2 id="rpm">
- <title>RPM-Packaging</title>
- <para>
- Dominik Mierzejewski entwarf und wartet die inoffiziellen RPM-Packages von
- <application>MPlayer</application> für Red Hat und Fedora Core. Sie sind von
- seinem <ulink url="http://rpm.greysector.net/mplayer/">Repository</ulink>
- verfügbar.
- </para>
-
- <para>
- Mandrake/Mandriva RPM-Packages stehen auf <ulink url="http://plf.zarb.org/">P.L.F.</ulink>
- zur Verfügung.
- SuSE verwendet eine verkrüppelte Version von <application>MPlayer</application>
- in seiner Distribution. Diese haben sie aus ihren neuesten Releases entfernt. Du
- bekommst funktionierende RPMs auf
- <ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
- </para>
- </sect2>
-
- <sect2 id="arm">
- <title>ARM</title>
- <para>
- <application>MPlayer</application> läuft auf Linux PDAs mit ARM CPU, z.B. Sharp Zaurus,
- Compaq Ipaq. Der einfachste Weg, sich <application>MPlayer</application> zu besorgen ist,
- sich ihn von einer der
- <ulink url="http://www.openzaurus.org">OpenZaurus</ulink> Package Feeds zu holen. Falls
- du ihn dir selbst compilieren willst, solltest du im
- <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>-
- und im
- <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>-Verzeichnis
- der OpenZaurus Distribution Buildroot nachsehen. Diese haben stets die neueste
- Makefile und Patches, die zum Erstellen eines SVN-<application>MPlayer</application>
- verwendet werden.
- Brauchst du ein GUI-Frontend, kannst du xmms-embedded nutzen.
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="bsd">
- <title>*BSD</title>
- <para>
- <application>MPlayer</application> läuft auf allen bekannten BSD-Derivaten.
- Es stehen ports/pkgsrc/fink/etc-Versionen des <application>MPlayer</application>
- bereit, die möglicherweise leichter anzuwenden sind als unsere Originalquellen.
- </para>
-
- <para>
- Um <application>MPlayer</application> zu erstellen, brauchst du GNU make
- (gmake - natives BSD make wird nicht funktionieren) und eine aktuelle Version
- der binutils.
- </para>
-
- <para>
- Beschwert sich <application>MPlayer</application>, er könne <filename>/dev/cdrom</filename>
- oder <filename>/dev/dvd</filename> nicht finden, erstelle einen geeigneten symbolischen Link:
- <screen>ln -s /dev/<replaceable>dein_cdrom_geraet</replaceable> /dev/cdrom</screen>
- </para>
-
- <para>
- Um Win32-DLLs mit <application>MPlayer</application> zu nutzen, musst du
- den Kernel mit "<envar>option USER_LDT</envar>" recompilieren
- (es sei denn du lässt FreeBSD-CURRENT laufen, wobei dies die
- Standard-Einstellung ist).
- </para>
-
-
- <sect2 id="freebsd">
- <title>FreeBSD</title>
- <para>
- Besitzt deine CPU SSE, recompiliere deinen Kernel mit
- "<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE oder
- Kernel-Patches erforderlich).
- </para>
- </sect2>
-
- <sect2 id="openbsd">
- <title>OpenBSD</title>
- <para>
- Aufgrund von Einschränkungen in verschiedenen Versionen von GAS (der GNU Assembler,
- Relocation vs MMX), wirst du in zwei Schritten compilieren müssen: Stell als
- erstes sicher, dass der nicht-native zuvor in deinem <envar>$PATH</envar> liegt und
- führe ein <command>gmake -k</command> aus. Sorge dann dafür, dass die native Version
- benutzt wird, und führe <command>gmake</command> aus.
- </para>
- <para>
- Ab OpenBSD 3.4 ist der oben beschriebene Hack nicht länger nötig.
- </para>
- </sect2>
-
- <sect2 id="darwin">
- <title>Darwin</title>
- <para>
- Siehe Abschnitt <link linkend="macos">Mac OS</link>.
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="unix">
- <title>Kommerzielles Unix</title>
-
- <para>
- <application>MPlayer</application> wurde auf einige kommerzielle
- Unix-Varianten portiert. Seit die Entwicklungsumgebungen auf diesen Systemen
- dahin tendieren, verschieden von denen freier Unixes zu sein, musst du möglicherweise
- einige manuelle Anpassungen vornehmen, um das Build lauffähig zu bekommen.
- </para>
-
- <sect2 id="solaris">
- <title>Solaris</title>
- <para>
- <application>MPlayer</application> sollte auf Solaris 2.6 oder neuer funktionieren.
- Verwende den Audio-Treiber von SUN mit der Option <option>-ao sun</option> für
- den Sound.
- </para>
-
- <para>
- Auf <emphasis role="bold">UltraSPARCs</emphasis>, profitiert
- <application>MPlayer</application> von deren
- <emphasis role="bold">VIS</emphasis>-Erweiterungen (äquivalent zu MMX), zur Zeit
- nur in
- <systemitem class="library">libmpeg2</systemitem>,
- <systemitem class="library">libvo</systemitem>
- und <systemitem class="library">libavcodec</systemitem>, jedoch nicht in
- <systemitem class="library">mp3lib</systemitem>. Du kannst dir eine VOB-Datei
- auf einer 400MHz CPU ansehen. Dazu muss
- <ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
- installiert sein.
- </para>
-
- <para><emphasis role="bold">Vorbehalt:</emphasis></para>
- <itemizedlist>
- <listitem><para><emphasis role="bold">mediaLib</emphasis> wird in
- <application>MPlayer</application> momentan aufgrund Fehlerhaftigkeit
- per Voreinstellung <emphasis role="bold">deaktiviert</emphasis>. SPARC-Benutzer,
- die MPlayer mit mediaLib-Unterstützung bauen, haben groÃe grüne Farbstiche
- gemeldet bei Video, das mit libavcodec en- und decodiert wurde.
- Du kannst es, wenn du möchtest, aktivieren mit:
- <screen> $ ./configure --enable-mlib </screen>
- Du tust dies auf eigenes Risiko. x86-Benutzer sollten mediaLib
- <emphasis role="bold">niemals</emphasis> benutzen, da dies zu sehr schlechter
- Performance von MPlayer führt.
- </para></listitem>
- </itemizedlist>
-
- <para>
- Um das Package zu erstellen, brauchst du GNU <application>make</application>
- (<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), das native
- Solaris make wird nicht funktionieren. Ein typischer Fehler, den du bekommst, wenn
- du mit einem make von Solaris arbeitest statt mit einem GNU make:
-<screen>% /usr/ccs/bin/make
-make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen</screen>
- </para>
-
- <para>
- Auf Solaris SPARC, brauchst du den GNU C/C++ Compiler; es spielt keine Rolle, ob
- der GNU C/C++ Compiler mit oder ohne dem GNU Assembler compiliert ist.
- </para>
-
- <para>
- Auf Solaris x86 brauchst du den GNU Assembler und den GNU C/C++ Compiler
- so konfiguriert, dass er den GNU Assembler verwendet! Der
- <application>MPlayer</application>-Code auf der x86-Plattform macht starken
- Gebrauch von MMX-, SSE- und 3DNOW!-Instruktionen, die nicht compiliert werden
- können, wenn man den Assembler von Sun <filename>/usr/ccs/bin/as</filename>
- verwendet.
- </para>
-
- <para>
- Das <filename>configure</filename>-Script versucht herauszufinden, welches
- Assembler-Programm von deinem "gcc"-Befehl genutzt wird (falls die
- automatische Erkennung fehlschlägt, nimm die Option
- <option>--as=<replaceable>/pfad/zum/installierten/gnu-as</replaceable></option>,
- um dem <filename>configure</filename>-Script zu zeigen, wo es GNU "as" auf
- deinem System finden kann).
- </para>
-
- <para>Lösung für gebräuchliche Probleme:</para>
- <itemizedlist>
- <listitem><para>
- Fehlermeldung von <filename>configure</filename> auf einem Solaris x86 System,
- wenn man GCC ohne GNU Assembler anwendet:
-<screen>% configure
-...
-Checking assembler (/usr/ccs/bin/as) ... , failed
-Please upgrade(downgrade) binutils to 2.10.1...</screen>
- (Lösung: Installiere und verwende einen gcc, konfiguriert mit
- <option>--with-as=gas</option>)
- </para>
-
- <para>
- Ein typischer Fehler, den du bekommst, wenn du mit einem GNU C Compiler arbeitest, der
- GNU "as" nicht verwendet:
-<screen>% gmake
-...
-gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
--fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
-Assembler: mplayer.c
-"(stdin)", line 3567 : Illegal mnemonic
-"(stdin)", line 3567 : Syntax error
-... more "Illegal mnemonic" and "Syntax error" errors ...</screen>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <application>MPlayer</application> kann eine Schutzverletzung auslösen, wenn
- mit win32codecs decodiert und encodiert wird:
-<screen>...
-Trying to force audio codec driver family acm...
-Opening audio decoder: [acm] Win32/ACM decoders
-sysi86(SI86DSCR): Invalid argument
-Couldn't install fs segment, expect segfault
-
-
-MPlayer interrupted by signal 11 in module: init_audio_codec
-...</screen>
- Das liegt an einer Ãnderung an sysi86() in Solaris 10 und prä-Solaris Nevada b31-Releases.
- Bei Solaris Nevada b32 wurde dieser Fehler behoben; trotzdem, Sun muss diese Lösung noch immer
- nach Solaris 10 rückportieren. Das MPlayer-Projekt hat Sun auf das Problem hingewiesen, und ein Patch
- für Solaris 10 ist gerade in Vorbereitung. Weitere Informationen über diesen Fehler können hier gefunden werden:
- <ulink
- url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Aufgrund von Bugs in Solaris 8 kann es dazu kommen, dass du keine DVD-Disks
- gröÃer 4 GB abspielen kannst:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Der sd(7D)-Treiber auf Solaris 8 x86 hat einen Bug, wenn er auf einen Diskblock >4GB
- auf einem Gerät zugreift, das eine logische blocksize != DEV_BSIZE verwendet (z.B.
- CD-ROM- und DVD-Medien).
- Wegen eines 32Bit int Overflows wird auf eine Disk-Adresse modulo 4GB zugegriffen
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
- Dieses Problem existiert nicht in der SPARC-Version von Solaris 8.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Ein ähnlicher Bug is präsent im Dateisystem-Code (AKA ISO9660) von hsfs(7FS),
- hsfs unterstützt keine Partitionen/Disks gröÃer als 4GB, auf alle Daten wird
- modulo 4GB zugegriffen
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
- Dieses hsfs-Problem kann durch die Installation von Patch 109764-04 (sparc) / 109765-04 (x86)
- gefixt werden.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </sect2>
-
-
- <sect2 id="hp-ux">
- <title>HP-UX</title>
- <para>
- Joe Page unterhält ein detailliertes HP-UX
- <application>MPlayer</application>-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
- von Martin Gansser auf seiner Homepage. Mit diesen Instruktionen sollte das bauen
- hervorragend funktionieren. Die folgende Information wurde aus diesem HOWTO übernommen.
- </para>
-
- <para>
- Du benötigst GCC 3.4.0 oder neuer, GNU make 3.80 oder neuer und SDL 1.2.7 oder neuer.
- HP cc wird kein lauffähiges Programm produzieren, frühere GCC-Versionen sind fehlerhaft.
- Für OpenGL-Funktionalität musst du Mesa installieren, und die gl- und
- gl2-Video-Ausgabetreiber sollten funktionieren, wenngleich die Geschwindigkeit sehr
- mies sein kann, abhängig von der CPU-Geschwindigkeit. Ein guter Ersatz für das eher armselige,
- native HP-UX-Soundsystem ist GNU esound.
- </para>
-
- <para>
- Erzeuge das DVD-Gerät,
- scanne den SCSI-Bus mit:
- </para>
-
-<screen># ioscan -fn
-
-Class I H/W Path Driver S/W State H/W Type Description
-...
-ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
-target 3 8/16/5.2 tgt CLAIMED DEVICE
-disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
-/dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
-target 4 8/16/5.7 tgt CLAIMED DEVICE
-ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
-/dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...</screen>
-
- <para>
- Die Bildschirmausgabe zeigt ein Pioneer DVD-ROM an SCSI-Adresse 2.
- Die Karteninstanz für den Hardwarepfad 8/16 ist 1.
- </para>
-
- <para>
- Erstelle einen Link von deinem Originalgerät zum DVD-Gerät.
- </para>
-
- <screen># ln -s /dev/rdsk/c<replaceable><SCSI-Bus-Instanz></replaceable>t<replaceable><SCSI Ziel-ID></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><geraet></replaceable></screen>
-
- <para>
- Beispiel:
- </para>
-
- <screen># ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
-
- <para>
- Unten stehen lösungen für einige verbreitete Probleme:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Absturz beim Start mit folgender Fehlermeldung:
- <screen>/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl</screen>
- </para>
-
- <para>
- Dies bedeutet, dass die Funktion <systemitem>.finite().</systemitem> nicht
- in der Standard-Bibliothek HP-UX math zur Verfügung steht.
- Statt dessen gibt es <systemitem>.isfinite().</systemitem>.
- Lösung: Benutze die neueste Mesa-Depotdatei.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Absturz beim Playback mit folgender Fehlermeldung:
- <screen>/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0</screen>
- </para>
-
- <para>
- Lösung: Benutze die Option extralibdir von configure
- <option>--extra-ldflags="/usr/lib -lrt"</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- MPlayer produziert eine Schutzverletzung (segfault) mit einer Meldung wie dieser:
-<screen>Pid 10166 received a SIGSEGV for stack growth failure.
-Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault</screen>
- </para>
-
- <para>
- Lösung:
- Der HP-UX-Kernel hat eine Standard-StackgröÃe von 8MB(?) pro Prozess. (11.0- und
- neuere 10.20-Patches lassen dich <systemitem>maxssiz</systemitem> bis auf
- 350MB für 32bit-Programme erhöhen). Du musst <systemitem>maxssiz</systemitem>
- erweitern und den Kernel recompilieren (und neu starten). Dazu kannst du SAM
- verwenden. (Ãberprüfe während des Neustarts den
- <systemitem>maxdsiz</systemitem>-Parameter für die maximale Anzahl Daten,
- die ein Programm nutzen darf. Er hängt von deiner Anwendung ab, ob der
- Standard von 64MB ausreicht oder nicht.)
- </para>
- </listitem>
- </itemizedlist>
-
- </sect2>
-
- <sect2 id="aix">
- <title>AIX</title>
- <para>
- <application>MPlayer</application> wird erfolgreich auf AIX 5.1,
- 5.2 und 5.3 erzeugt, verwendet man GCC 3.3 oder höher. Das Erzeugen von
- <application>MPlayer</application> auf AIX 4.3.3 und darunter wurde nicht
- getestet. Es wird dringend empfohlen, <application>MPlayer</application>
- mit GCC 3.4 oder höher zu erzeugen, oder es wird, falls du auf POWER5
- arbeitest, GCC 4.0 benötigt.
- </para>
-
- <para>
- Stelle sicher, dass du GNU make
- (<filename>/opt/freeware/bin/gmake</filename>) zum bauen von
- <application>MPlayer</application> nutzt, da du auf Probleme stossen wirst,
- wenn du <filename>/usr/ccs/bin/make</filename> anwendest.
- </para>
-
- <para>
- Die CPU-Erkennung ist noch in Arbeit.
- Die folgenden Architekturen wurden getestet:
- </para>
-
- <itemizedlist>
- <listitem><para>604e</para></listitem>
- <listitem><para>POWER3</para></listitem>
- <listitem><para>POWER4</para></listitem>
- </itemizedlist>
-
- <para>
- Folgende Architekturen wurden nicht getestet, sollten jedoch trotzdem funktionieren:
- </para>
- <itemizedlist>
- <listitem><para>POWER</para></listitem>
- <listitem><para>POWER2</para></listitem>
- <listitem><para>POWER5</para></listitem>
- </itemizedlist>
-
- <para>
- Sound über die Ultimedia Services wird nicht unterstützt, da Ultimedia in
- AIX 5.1 weggelassen wurde; deshalb ist die einzige Option, die Treiber des
- AIX Open Sound System (OSS) von 4Front Technologies auf
- <ulink url="http://www.opensound.com/aix.html"/> zu verwenden.
- 4Front Technologies stellt die OSS-Treiber für AIX 5.1 für den nicht-kommerziellen Gebrauch
- frei zur Verfügung; wie auch immer, momentan gibt es keine
- Soundausgabetreiber für AIX 5.2 oder 5.3. Dies bedeutet, dass
- <emphasis role="bold">AIX 5.2 und 5.3 momentan keine MPlayer-Tonausgabe beherrschen.</emphasis>
- </para>
-
- <para>Lösung für gebräuchliche Probleme:</para>
-
- <itemizedlist>
- <listitem>
- <para>
- Wenn du folgende Fehlermeldung von <filename>configure</filename> erhältst:
-<screen>$ ./configure
- ...
- Checking for iconv program ... no
- No working iconv program found, use
- --charset=US-ASCII to continue anyway.
- Messages in the GTK-2 interface will be broken then.</screen>
-
- Das liegt daran, dass AIX Namen für Zeichensätze benutzt, die nicht dem Standard entsprechen;
- daher wird die Konvertierung von MPlayer-Ausgaben zu anderen Zeichensätzen momentan nicht
- unterstützt. Die Lösung besteht darin, folgendes zu tun:
- <screen>$ ./configure --charset=noconv</screen>
- </para>
- </listitem>
- </itemizedlist>
-
- </sect2>
-
- <sect2 id="qnx">
- <title>QNX</title>
- <para>
- Du musst SDL für QNX herunterladen und installieren. Dann starte
- <application>MPlayer</application> mit den Optionen
- <option>-vo sdl:driver=photon</option> und <option>-ao sdl:nto</option>,
- es sollte schnell laufen.
- </para>
-
- <para>
- Der Output mit <option>-vo x11</option> wird etwas langsamer sein als unter Linux,
- da QNX nur X-<emphasis>Emulation</emphasis> besitzt, was sehr langsam ist.
- </para>
- </sect2>
- </sect1>
-
-
- <sect1 id="windows">
- <title>Windows</title>
-
- <para>
- Ja, <application>MPlayer</application> läuft auf Windows unter
- <ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> und
- <ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
- Es besitzt noch kein offizielles GUI, aber die Befehlszeilen-Version
- ist voll funktionstüchtig. Du solltest die
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
- Mailing-Liste für Hilfe und für neueste Informationen hernehmen.
- Offizielle Windows-Binaries können auf der
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">Download-Seite</ulink>
- gefunden werden.
- Installationspakete und einfache GUI-Frontends stehen auf externen Quellen bereit,
- wir haben sie in der Windows-Sektion unserer
- <ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">Projektseite</ulink>
- zusammengestellt.
- </para>
-
- <para>
- Wenn du die Verwendung der Befehlszeile vermeiden willst, hilft der
- simple Trick, eine Verknüpfung auf deinem Desktop zu erstellen, der einen
- ähnlichen Ausführungsabschnitt wie folgenden enthält:
- <screen><replaceable>c:\pfad\zur\</replaceable>mplayer.exe %1</screen>
- Dies lässt <application>MPlayer</application> jeden Film abspielen, der
- über der Verknüpfung fallen gelassen wird.
- Füge <option>-fs</option> für den Vollbildmodus hinzu.
- </para>
-
- <para>
- Die besten Ergebnisse werden mit dem nativen DirectX-Video-Ausgabetreiber
- (<option>-vo directx</option>) erzielt. Alternativen sind OpenGL und SDL, jedoch variiert die
- OpenGL-Performance stark von System zu System, und SDL ist dafür bekannt,
- Videos kaputt zu machen oder auf manchen Systemen abzurauchen. Wird das Bild zerstört,
- versuche, die Hardwarebeschleunigung mit
- <option>-vo directx:noaccel</option> abzuschalten. Lade dir die
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">DirectX7-Headerdateien</ulink>
- herunter, um den DirectX-Video-Ausgabetreiber zu compilieren. Desweiteren musst du
- DirectX 7 oder höher installiert haben, damit der DirectX-Video-Ausgabetreiber
- funktioniert.
- </para>
-
- <para>
- <link linkend="vidix">VIDIX</link> läuft jetzt unter Windows als
- <option>-vo winvidix</option>, obwohl es nach wie vor experimentell ist
- und ein wenig manuelles Setup benötigt. Lade dir die
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> oder
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (mit MTRR-Unterstützung)</ulink>
- herunter und kopiere sie ins Verzeichnis
- <filename class="directory">vidix/dhahelperwin</filename> deines
- <application>MPlayer</application>-Source-Baums.
- Ãffne die Console und wechsle in dieses Verzeichnis. Gib dann
-
- <screen>gcc -o dhasetup.exe dhasetup.c</screen>
-
- ein und führe
- <screen>dhasetup.exe install</screen>
-
- als Administrator aus. Danach wirst du neu starten müssen. Bist du damit fertig,
- kopiere die <systemitem class="library">.so</systemitem>-Dateien von
- <filename class="directory">vidix/drivers</filename> ins Verzeichnis
- <filename class="directory">mplayer/vidix</filename>
- relativ zu deiner <filename>mplayer.exe</filename>.
- </para>
-
- <para>
- Für die besten Resultate sollte <application>MPlayer</application> einen
- Farbraum anwenden, den deine Grafikkarte hardwareseitig unterstützt.
- Leider melden viele Windows-Grafikkartetreiber fälschlich einige Farbräume
- als von der Hardware unterstützt. Um herauszufinden welche das sind, versuche
-
- <screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>Farbraum</replaceable> <replaceable>vilm</replaceable></screen>
-
- wobei <replaceable>Farbraum</replaceable> jeder von der Option
- <option>-vf format=fmt=help</option> ausgegebene Farbraum sein kann.
- Findest du den von deiner Karte verarbeiteten Farbraum besonders schlecht,
- wird <option>-vf noformat=<replaceable>farbraum</replaceable></option>
- sie daran hindern, diesen anzuwenden. Füge dies in deine
- config-Datei ein, um die Verwendung permanent zu unterbinden.
- </para>
-
- <para>
- Es stehen spezielle Codec-Packs für Windows auf unserer
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">Codec-Seite</ulink>
- zu Verfügung, die das Abspielen von Formaten zu ermöglichen, für die es noch
- keinen nativen Support gibt.
- Leg die Codecs irgendwo in deinem Pfad ab oder übergib
- <option>--codecsdir=<replaceable>c:/pfad/zu/deinen/codecs</replaceable></option>
- (alternativ nur auf <application>Cygwin</application>
- <option>--codecsdir=<replaceable>/pfad/zu/deinen/codecs</replaceable></option>)
- an <filename>configure</filename>.
- Wir bekamen einige Berichte, dass Real-DLLs beschreibbar sein müssen, um <application>MPlayer</application>
- starten zu können, aber nur auf manchen Systemen (NT4).
- Versuche, sie beschreibbar zu machen, falls du Probleme hast.
- </para>
-
- <para>
- Du kannst VCDs über die <filename>.DAT</filename>- oder
- <filename>.MPG</filename>-Dateien, die Windows auf VCDs anzeigt, abspielen.
- Das funktioniert wie folgt (an den Laufwerksbuchstaben deines CD-ROMs anpassen:
- </para>
-
- <screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-
- <para>
- DVDs gehen ebenfalls, passe <option>-dvd-device</option> an den
- Laufwerksbuchstaben deines DVD-ROMs an:
- </para>
-
- <screen>mplayer dvd://<replaceable><Titel></replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
-
- <para>
- Die <application>Cygwin</application>-/<application>MinGW</application>-Konsole
- ist sehr langsam. Die Umleitung der Ausgabe oder das Anwenden der Option
- <option>-quiet</option> soll laut Berichten die Performance auf einigen Systemen
- verbessern. Direktes Rendern (<option>-dr</option>) kann auch helfen.
- Ist das Playback ruckelig, versuche <option>-autosync 100</option>.
- Helfen dir einige dieser Optionen, kannst du sie ja in deine config-Datei
- eintragen.
- </para>
-
- <note>
- <para>
- Auf Windows deaktiviert die CPU-Erkennung zur Laufzeit den SSE-Support
- wegen periodisch wiederkehrender und schwer zu ortender, SSE-bezogener
- Abstürze. Wünschst du SSE-Support unter Windows, musst du ohne
- CPU-Erkennung zur Laufzeit compilieren.
- </para>
-
- <para>
- Hast du einen Pentium 4 und erlebst einen Absturz bei Verwendung von
- RealPlayer-Codecs, musst du den Support für Hyperthreading deaktivieren.
- </para>
- </note>
-
-
-
- <sect2 id="cygwin">
- <title><application>Cygwin</application></title>
-
- <para>
- Du musst <application>Cygwin</application> 1.5.0 oder später laufen
- lassen, um <application>MPlayer</application> zu compilieren.
- </para>
-
- <para>
- DirectX-Headerdateien werden gewöhnlich nach
- <filename class="directory">/usr/include/</filename> oder
- <filename class="directory">/usr/local/include/</filename>
- extrahiert.
- </para>
-
- <para>
- Instruktionen und Dateien, um SDL unter
- <application>Cygwin</application> laufen zu lassen, können auf der
- <ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl-Seite</ulink>
- gefunden werden.
- </para>
-
- </sect2>
-
-
- <sect2 id="mingw">
- <title><application>MinGW</application></title>
-
- <para>
- Das Installieren einer Version von <application>MinGW</application>, das
- <application>MPlayer</application> compilieren könnte zwar für gewöhnlich ziemlich
- trickreich sein, funktioniert jetzt aber hervorragend.
- Installiere einfach <application>MinGW</application> 3.1.0 oder neuer und
- MSYS 1.0.9 oder neuer und erzähle der nachträglichen Installation von MSYS,
- dass <application>MinGW</application> installiert ist.
- </para>
-
- <para>
- Extrahiere die DirectX-Headerdateien nach
- <filename class="directory">/mingw/include/</filename>.
- </para>
-
- <para>
- Die Unterstützung für MOV-komprimierte Header erfordert
- <ulink url="http://www.gzip.org/zlib/">zlib</ulink>, was
- <application>MinGW</application> standardmäÃig nicht bereithält.
- Konfiguriere es mit <option>--prefix=/mingw</option> und installiere
- es vor dem Compilieren des <application>MPlayer</application>.
- </para>
-
- <para>
- Komplette Anweisungen zum Erzeugen des <application>MPlayer</application>
- und der notwendigen Bibliotheken findest du in den
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>s.
- </para>
-
- </sect2>
- </sect1>
-
-
- <sect1 id="macos">
- <title>Mac OS</title>
-
- <para>
- <application>MPlayer</application> läuft nicht auf Mac OS Versionen vor
- 10, sollte jedoch hervorragend auf Mac OS X 10.2 und darüber compilieren.
- Der vorgezogene Compiler ist die Apple-Version von
- GCC 3.x oder höher.
- Du kannst die grundlegende Compilierumgebung schaffen, indem du
- <ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
- von Apple installierst.
- Besitzt du Mac OS X 10.3.9 oder später und QuickTime 7
- kannst du den Videoausgabetreiber <option>corevideo</option> verwenden.
- </para>
-
- <para>
- Leider ermöglicht es dir diese grundlegende Umgebung nicht, von allen netten Features
- von <application>MPlayer</application> Gebrauch zu machen.
- Beispielsweise müssen die Bibliotheken <systemitem class="library">fontconfig</systemitem>
- und <systemitem class="library">freetype</systemitem> auf deinem System installiert sein,
- damit das OSD eincompiliert werden kann.
- Im Gegensatz zu anderen Unices wie den meisten Linux- und BSD-Varianten besitzt
- OS X kein Paketsystem, das im System enthalten ist.
- </para>
-
- <para>
- Es stehen mindestens zwei zur Wahl:
- <ulink url="http://fink.sourceforge.net/">Fink</ulink> und
- <ulink url="http://www.macports.org/">MacPorts</ulink>.
- Beide bieten in etwa denselben Funktionsumfang (z.B. eine Menge Pakete, von denen
- gewählt werden kann, Auflösung von Abhängigkeiten, die Möglichkeit, einfach
- Pakete hinzuzufügen/zu aktualisieren/zu entfernen, etc...).
- Fink bietet sowohl vorcompilierte Binärpakete als auch das Erstellen aus den
- Quelldateien, wohingegen MacPorts nur das Erstellen aus den Quellen anbietet.
- Der Autor dieser Anleitung hat MacPorts gewählt aus dem Grund, dass das
- grundlegende Setup etwas leichtgewichtiger war.
- Folgende Beispiele werden sich auf MacPorts beziehen.
- </para>
-
- <para>
- Um zum Beispiel <application>MPlayer</application> mit OSD-Unterstützung zu compilieren:
- <screen>sudo port install pkgconfig</screen>
- Dies wird <application>pkg-config</application> installieren, was ein System für die
- Handhabung von Compiler-/Link-Flags für Bibliotheken ist.
- Das <systemitem>configure</systemitem>-Skript von <application>MPlayer</application>
- benutzt dies, um Bibliotheken angemessen zu erkennen.
- Dann kannst du <application>fontconfig</application> auf ähnliche Weise installieren:
- <screen>sudo port install fontconfig</screen>
- Dann kannst du fortfahren mit der Ausführung von <application>MPlayer</application>s
- <systemitem>configure</systemitem>-Skript (beachte die Umgebungsvariablen
- <systemitem>PKG_CONFIG_PATH</systemitem> und <systemitem>PATH</systemitem>,
- so dass <systemitem>configure</systemitem> die mit MacPorts installierten
- Bibliotheken findet):
- <screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
- </para>
-
- <sect2 id="osx_gui">
- <title>MPlayer OS X GUI</title>
- <para>
- Du bekommst ein natives GUI für <application>MPlayer</application> zusammen
- mit für Mac OS X vorcompilierten <application>MPlayer</application>-Binaries
- vom <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>-Projekt, sei aber
- gewarnt: Dieses Projekt ist nicht mehr aktiv.
- </para>
-
- <para>
- Zum Glück wurde <application>MPlayerOSX</application> von einem Mitglied des
- <application>MPlayer</application>-Teams übernommen.
- Preview-Releases findet man auf unserer
- <ulink url="http://mplayerhq.hu/dload.html">Download-Seite</ulink>,
- und ein offizielles Release sollte bald herauskommen.
- </para>
-
- <para>
- Um <application>MPlayerOSX</application> selbst von den Quellen
- zu bauen, brauchst du <systemitem>mplayerosx</systemitem>, das
- <systemitem>main</systemitem> und eine Kopie des
- <systemitem>main</systemitem> SVN-Moduls genannt
- <systemitem>main_noaltivec</systemitem>.
- <systemitem>mplayerosx</systemitem> ist das GUI-Frontend,
- <systemitem>main</systemitem> ist MPlayer und
- <systemitem>main_noaltivec</systemitem> ist MPlayer ohne AltiVec-Unterstützung.
- </para>
-
- <para>
- Um ein Checkout der SVN-Module durchzuführen, benutze:
-
-<screen>svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main</screen>
- </para>
-
- <para>
- Um <application>MPlayerOSX</application> zu bilden, musst du
- so etwas ähnliches einrichten:
-
-<screen>MPlayer_source_verzeichnis
-|
-|--->main (MPlayer SVN-Quelldateien)
-|
-|--->main_noaltivec (MPlayer SVN-Quelldateien konfiguriert mit --disable-altivec)
-|
-|--->mplayerosx (MPlayer OS X SVN-Quelldateien)</screen>
-
- Du musst zuerst main und main_noaltivec erzeugen.
- </para>
-
- <para>
- Setze zu Beginn für maximale Rückwärtskompatibilität eine Umgebungsvariable:
- <screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
- </para>
-
- <para>
- Dann konfiguriere:
- </para>
-
- <para>
- Wenn du für eine G4 oder eine neuere CPU mit AltiVec-Support konfigurierst,
- mache folgendes:
-
- <screen>./configure --disable-gl --disable-x11</screen>
-
- Wenn du für einen G3-getriebenen Rechner mit AltiVec konfigurierst,
- mache dies:
-
- <screen>./configure --disable-gl --disable-x11 --disable-altivec</screen>
-
- Du musst <filename>config.mak</filename> editieren und
- <systemitem>-mcpu</systemitem> und <systemitem>-mtune</systemitem>
- von <systemitem>74XX</systemitem> auf <systemitem>G3</systemitem> ändern.
- </para>
-
- <para>
- Fahre fort mit
- <screen>make</screen>
- und gehe dann ins Verzeichnis mplayerosx, gib dort folgendes ein:
-
- <screen>make dist</screen>
-
- Dies wird ein komprimiertes <systemitem>.dmg</systemitem>-Archiv
- mit der gebrauchsfertigen Binary erzeugen.
- </para>
-
- <para>
- Du kannst auch das <application>Xcode</application> 2.1 Projekt verwenden;
- das alte Projekt für <application>Xcode</application> 1.x läuft
- nicht mehr.
- </para>
- </sect2>
- </sect1>
-
-</chapter>
diff --git a/DOCS/xml/de/skin.xml b/DOCS/xml/de/skin.xml
deleted file mode 100644
index 60d7881..0000000
--- a/DOCS/xml/de/skin.xml
+++ /dev/null
@@ -1,1425 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r21612 -->
-<!-- missing cosmetic commit 21537 -->
-<appendix id="skin">
- <title><application>MPlayer</application>s Skinformat</title>
-
- <sect1 id="skin-overview">
- <title>Ãberblick</title>
- <para>
- Es hat nicht wirklich etwas mit dem Skinformat zu tun, aber du solltest
- wissen, dass <application>MPlayer</application> <emphasis role="bold">kein</emphasis>
- eingebautes Skin besitzt, also <emphasis role="bold">muss zumindest ein Skin
- installiert sein, damit das GUI verwendet werden kann.</emphasis>
- </para>
-
- <sect2 id="skin-overview-directories">
- <title>Verzeichnisse</title>
- <para>
- Die nach Skins durchsuchten Verzeichnisse sind (der Reihe nach):
- <orderedlist>
- <listitem>
- <para>
- <filename class="directory">$(DATADIR)/skins/</filename>
- </para>
- </listitem>
- <listitem>
- <para>
- <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
- </para>
- </listitem>
- <listitem>
- <para>
- <filename class="directory">~/.mplayer/skins/</filename>
- </para>
- </listitem>
- </orderedlist>
- </para>
-
- <para>
- Beachte, dass der erste Pfad je nach Art der
- <application>MPlayer</application>-Konfiguration variieren kann
- (siehe Argumente <option>--prefix</option> und <option>--datadir</option>
- des <command>configure</command>-Scripts).
- </para>
-
- <para>
- Jedes Skin wird in sein eigenes Verzeichnis unterhalb einem der oben
- aufgeführten Verzeichnisse installiert, zum Beispiel:
- <screen>$(PREFIX)/share/mplayer/skins/default/</screen>
- </para>
- </sect2>
-
- <sect2 id="skin-overview-formats">
- <title>Bildformate</title>
- <para>
- Die Bilder müssen Truecolor-PNGs sein (24 oder 32 bpp).
- </para>
-
- <para>
- Im Hauptfenster und in der Abspielleiste (siehe unten) kannst du Bilder
- mit 'Transparenz' verwenden: Mit der Farbe #FF00FF (Magenta) gefüllte Bereiche
- sind beim Betrachten mit <application>MPlayer</application> voll transparent.
- Dies bedeutet, dass du sogar Formfenster haben kannst, wenn dein X-Server die
- XShape-Extension besitzt.
- </para>
- </sect2>
-
- <sect2 id="skin-overview-components">
- <title>Skin-Komponenten</title>
- <para>
- Skins sind ziemlich frei im Format (im Unterschied zu den Skins mit festem
- Format von <application>Winamp</application>/<application>XMMS</application>
- zum Beispiel), somit liegt es an dir, einen tollen zu kreieren.
- </para>
-
- <para>
- Zur Zeit sind vier Fenster zu dekorieren: das
- <link linkend="skin-file-main">Hauptfenster</link>, das
- <link linkend="skin-file-subwindow">Unterfenster</link>, die
- <link linkend="skin-file-main">Abspielleitse</link> und das
- <link linkend="skin-file-menu">Skin-Menü</link> (das durch einen
- Rechtsklick aktiviert werden kann).
-
- <itemizedlist>
- <listitem>
- <para>
- Das <emphasis role="bold">Hauptfenster</emphasis> und/oder die
- <emphasis role="bold">Abspielleiste</emphasis> befindet sich dort, wo du
- <application>MPlayer</application> kontrollieren kannst. Der Hintergrund
- des Fensters ist eine Grafik.
- Ins Fenster können (und müssen) diverse Elemente platziert werden:
- <emphasis>Buttons</emphasis>, <emphasis>Potentiometer</emphasis> (Schieberegler)
- und <emphasis>Labels</emphasis>.
- Für jedes Element musst du dessen Position und GröÃe angeben.
- </para>
- <para>
- Ein <emphasis role="bold">Button</emphasis> besitzt drei Zustände (gedrückt,
- losgelassen, deaktiviert), deshalb muss seine Grafik vertikal in drei Teile
- getrennt werden. Siehe Eintrag <link linkend="skin-button">Button</link>
- für mehr Details.
- </para>
- <para>
- Ein <emphasis role="bold">Potentiometer</emphasis> (hauptsächlich für
- die Suchleiste und die Lautstärke-/Balance-Regler) kann durch die Aufteilung
- der Grafik in verschiedene untereinander liegende Teile
- eine beliebige Anzahl von Phasen haben. Siehe
- <link linkend="skin-hpotmeter">hpotmeter</link> und
- <link linkend="skin-potmeter">potmeter</link> für Details.
- </para>
- <para>
- <emphasis role="bold">Labels</emphasis> sind ein wenig speziell: Die Zeichen,
- die man zu ihrer Darstellung benötigt, werden von einer Grafikdatei und
- die Zeichen in der Grafik durch eine
- <link linkend="skin-fonts">Schrift-Beschreibungsdatei</link> festgelegt.
- Letztere ist eine Volltextdatei, welche die x-,y-Position und GröÃe jedes
- Zeichens in der Grafik beschreibt (die Grafikdatei und ihre
- Schrift-Beschreibungsdatei bilden <emphasis>zusammen</emphasis> eine Schrift).
- Siehe
- <link linkend="skin-dlabel">dlabel</link>
- und
- <link linkend="skin-slabel">slabel</link> für Details.
- </para>
- <note>
- <para>
- Alle Grafiken können wie im Abschnitt über die
- <link linkend="skin-overview-formats">Grafikformate</link> erklärt
- volle Transparenz besitzen. Wenn der X-Server keine XShape-Extension
- unterstützt, werden die als transparent markierten Teile schwarz.
- Wenn du dieses Feature gerne nutzen möchtest, muss die Breite der
- Hintergrundgrafik des Hauptfensters durch 8 teilbar sein.
- </para>
- </note>
- </listitem>
-
- <listitem>
- <para>
- Das <emphasis role="bold">Unterfenster</emphasis> ist dort, wo der Film
- erscheint. Es kann eine festgelegte Grafik anzeigen, wenn kein Film geladen
- ist (es ist ziemlich langweilig, ein leeres Fenster vor sich zu haben :-))
- <emphasis role="bold">Beachte:</emphasis> Transparenz ist hier
- <emphasis role="bold">nicht erlaubt</emphasis>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Das <emphasis role="bold">Skin-Menü</emphasis> ist ganz einfach ein
- Weg, <application>MPlayer</application> mittels der Menüeinträge zu
- kontrollieren. Zwei Grafiken sind für das Menü erforderlich:
- eine davon ist die Basisgrafik, die den Normalzustand des Menüs darstellt,
- die andere wird zur Anzeige der gewählten Einträge verwendet.
- Wenn du das Menü aufklappst, wird die erste Grafik angezeigt. Bewegst du
- die Maus über die Menüeinträge, wird der aktuell gewählte Eintrag aus der
- zweiten Grafik über den Menüeintrag unterhalb des Mauszeigers kopiert
- (die zweite Grafik wird nie als ganzes angezeigt).
- </para>
- <para>
- Ein Menüeintrag wird definiert durch seine Position und GröÃe innerhalb
- der Grafik (sieh nach mehr Details im Abschnitt über das
- <link linkend="skin-file-menu">Skin-Menü</link>).
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
- Eine wichtige Sache wurde noch nicht aufgeführt: Damit Buttons, Potentiometer und
- Menüeinträge funktionieren, muss <application>MPlayer</application> wissen, was
- er machen soll, wenn sie angeklickt werden.
- Dies geschieht mittels <link linkend="skin-gui">Meldungen</link> (Ereignisse).
- Für diese Elemente musst du die beim Klick auf sie zu generierenden Meldungen
- definieren.
- </para>
- </sect2>
-
- <sect2 id="skin-files">
- <title>Dateien</title>
- <para>
- Du benötigst folgende Dateien, um ein Skin zu bauen:
- <itemizedlist>
- <listitem>
- <para>
- Die Konfigurationsdatei genannt <link linkend="skin-file">skin</link> erzählt
- <application>MPlayer</application>, wie unterschiedliche Teile des Skins
- zusammengefügt werden und was er tun soll, wenn du irgendwo innerhalb des Fenster
- hinklickst.
- </para>
- </listitem>
- <listitem>
- <para>
- Die Hintergrundgrafik fürs Hauptfenster.
- </para>
- </listitem>
- <listitem>
- <para>
- Grafiken für die Elemente im Hauptfenster (einschlieÃlich einer oder mehrerer
- Schrift-Beschreibungsdateien zum Zeichnen der Labels).
- </para></listitem>
- <listitem>
- <para>
- Die Grafik, die im Unterfenster angezeigt werden soll (optional).
- </para>
- </listitem>
- <listitem>
- <para>
- Zwei Grafiken für das Skin-Menü (sie werden nur gebraucht, wenn du
- ein Menü erzeugen möchtest).
- </para>
- </listitem>
- </itemizedlist>
- Mit Ausnahme der skin-Konfigurationsdatei kannst du die anderen Dateien
- benennen, wie es dir beliebt (beachte aber, dass Schrift-Beschreibungsdateien
- eine <filename>.fnt</filename>-Erweiterung besitzen müssen).
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="skin-file">
- <title>Die skin-Datei</title>
- <para>
- Wie oben erwähnt, ist dies die skin-Konfigurationsdatei. Sie ist
- Zeilen-orientiert;
- Kommentarzeilen beginnen mit einem '<literal>;</literal>' Semikolon
- am Zeilenanfang (es sind nur Leer- und Tabulator-Zeichen vor dem
- '<literal>;</literal>' erlaubt).
- </para>
-
- <para>
- Die Datei ist in Abschnitte unterteilt. Jeder Abschnitt beschreibt den Skin
- für eine Anwendung und besitzt folgende Form:
-<programlisting><!--
--->section = <replaceable>Abschnittsname</replaceable>
-.
-.
-.
-end
-</programlisting>
- </para>
-
- <para>
- Zur Zeit gibt es nur eine Anwendung, somit brauchst du nur einen Abschnitt:
- Sein Name ist <emphasis role="bold">movieplayer</emphasis>.
- </para>
-
- <para>
- Innerhalb dieses Abschnitts wird jedes Fenster durch einen Block folgender
- Form beschrieben:
-<programlisting><!--
--->window = <replaceable>Fenstername</replaceable>
-.
-.
-.
-end
-</programlisting>
- </para>
-
- <para>
- wobei <replaceable>Fenstername</replaceable> einer dieser Zeichenketten sein kann:
- <itemizedlist>
- <listitem><para><emphasis role="bold">main</emphasis> - für das Hauptfenster</para></listitem>
- <listitem><para><emphasis role="bold">sub</emphasis> - für das Unterfenster</para></listitem>
- <listitem><para><emphasis role="bold">menu</emphasis> - für das Skin-Menü</para></listitem>
- <listitem><para><emphasis role="bold">playbar</emphasis> - Abspielleiste</para></listitem>
- </itemizedlist>
- </para>
-
- <para>
- (Die sub- und menu-Blöcke sind optional - du musst kein Menü erzeugen oder
- das Unterfenster dekorieren.)
- </para>
-
- <para>
- Innerhalb des Fensterblocks kannst du jedes Element für das Fenster durch eine
- Zeile dieser Form definieren:
- <programlisting>Element = Parameter</programlisting>
- Wobei <literal>Element</literal> eine Zeichenkette ist, die den Typ des GUI-Elements
- identifiziert, <literal>Parameter</literal> ist ein numerischer oder textueller
- Wert (oder eine Liste Komma-getrennter Werte).
- </para>
-
- <para>
- Fügt man nun das oben genannte zusammen, sieht die komplette Datei etwa so aus:
-<programlisting><!--
--->section = movieplayer
-window = main
-; ... Elemente für das Hauptfenster ...
-end
-
-window = sub
-; ... Elemente für das Unterfenster ...
-end
-
-window = menu
-; ... Elemente für das Menü ...
-end
-
-window = playbar
-; ... Elemente für die Abspielleiste ...
-end
-end
-</programlisting>
- </para>
-
- <para>
- Der Name einer Grafikdatei muss ohne führende Pfadangaben angegeben werden -
- Grafiken werden im Verzeichnis <filename class="directory">skins</filename>
- gesucht.
- Du kannst (musst aber nicht) die Erweiterung der Datei spezifizieren.
- Existiert die Datei nicht, versucht <application>MPlayer</application> die Datei
- <filename><Dateiname>.<ext></filename> zu laden, wobei
- <literal>png</literal> und <literal>PNG</literal> als
- <filename><ext></filename> (Erweiterung) probiert werden
- (in dieser Reihenfolge). Die erste zutreffende Datei wird verwendet.
- </para>
-
- <para>
- Zum Schluss einige Worte zur Positionierung.
- Hauptfenster und Unterfenster können in verschiedenen Ecken des Bilschirms
- über die <literal>X</literal>- und <literal>Y</literal>-Koordinaten
- platziert werden. <literal>0</literal> ist oben oder links,
- <literal>-1</literal> bedeutet zentriert und <literal>-2</literal> ist
- rechts oder unten, wie in dieser Illustration gezeigt:
- </para>
- <informalfigure>
- <screen><!--
--->(0, 0)----(-1, 0)----(-2, 0)
-| | |
-| | |
-(0,-1)----(-1,-1)----(-2,-1)
-| | |
-| | |
-(0,-2)----(-1,-2)----(-2,-2)<!--
---> </screen>
- </informalfigure>
-
- <para>
- Hier ein Beispiel, um es zu verdeutlichen. Angenommen, du hast eine Grafik
- mit Namen <filename>main.png</filename>, die du für das Hauptfenster nutzt:
- <programlisting>base = main, -1, -1</programlisting>
- <application>MPlayer</application> versucht, die Dateien
- <filename>main</filename>,
- <filename>main.png</filename>,
- <filename>main.PNG</filename>
- zu laden.
- </para>
-
-
- <sect2 id="skin-file-main">
- <title>Hauptfenster und Abspielleiste</title>
- <para>
- Unten steht eine Liste von Einträgen, die in den Blöcken
- '<literal>window = main</literal>' ... '<literal>end</literal>',
- und '<literal>window = playbar</literal>' ... '<literal>end</literal>'
- genutzt werden können.
- </para>
-
- <variablelist>
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-main-base"/>base = image, X, Y
- </literal>
- </term>
- <listitem>
- <para>
- Lässt dich die Hintergrundgrafik fürs Hauptfenster spezifizieren.
- Das Fenster wird an der angegebenen Position <literal>X,Y</literal> auf
- dem Bildschirm erscheinen. Es wird die GröÃe der Grafik besitzen.
- </para>
- <note>
- <para>
- Diese Koordinaten funktionieren im Moment nicht beim Anzeigefenster.
- </para>
- </note>
- <warning>
- <para>
- Transparente Bereiche innerhalb der Grafik (mit der Farbe #FF00FF) erscheinen
- auf X-Servern ohne die XShape-Extension schwarz. Die Breite der Grafik muss
- durch 8 teilbar sein.
- </para>
- </warning>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-button"/>button = image, X, Y, width, height, message
- </literal>
- </term>
- <listitem>
- <para>
- Platziere einen Button mit der GröÃe <literal>width</literal> * <literal>height</literal>
- an Position <literal>X,Y</literal>. Die angegebene <literal>message</literal> wird
- erzeugt, wenn der Button angeklickt wird. Die mittels <literal>image</literal>
- festgelegte Grafik muss drei untereinander liegende Teile aufweisen (entsprechend
- der möglichen Zustände des Buttons), etwa so:
- </para>
- <informalfigure>
- <screen>
-+---------------+
-| gedrückt |
-+---------------+
-| losgelassen |
-+---------------+
-| deaktiviert |
-+---------------+<!--
- --></screen>
- </informalfigure>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-decoration"/>decoration = enable|disable
- </literal>
- </term>
- <listitem>
- <para>
- Aktiviere oder deaktiviere die Fenstermanager-Dekoration des Hauptfensters.
- Standard ist <emphasis role="bold">disable</emphasis>.
- </para>
- <note>
- <para>
- Dies funktioniert nicht beim Anzeigefenster, dort braucht man es nicht.
- </para>
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-hpotmeter"/>hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
- </literal>
- </term>
- <listitem>
- <para></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-vpotmeter"/>vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
- </literal>
- </term>
- <listitem>
- <para>
- Platziere einen horizontal (hpotmeter) oder vertikal (vpotmeter) Potentiometer mit
- der GröÃe <literal>width</literal> * <literal>height</literal> an Position
- <literal>X,Y</literal>. Die Grafik kann in unterschiedliche Teile für die
- verschiedenen Phasen des Potentiometers aufgeteilt werden (du kannst zum Beispiel
- eines für die Lautstärkeregelung haben, das von rot nach grün wechselt, während sich
- sein Wert vom Minimum zum Maximum ändert.).
- <literal>hpotmeter</literal> kann einen Button besitzen, der horizontal gezogen
- werden kann. Die Parameter sind:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <literal>button</literal> - die für den Button zu verwendende
- Grafik (muss drei untereinander liegende Teile aufweisen, wie im Fall des
- <link linkend="skin-button">Buttons</link>)
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>bwidth</literal>, <literal>bheight</literal> - GröÃe des Buttons
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>phases</literal> - die für die verschiedenen Phasen
- zu verwendende Grafik des hpotmeter. Ein spezieller Wert von <literal>NULL</literal>
- kann benutzt werden, wenn du keine solche Grafik anwenden willst. Die Grafik muss
- vertikal in <literal>numphases</literal> Teile wie folgt aufgeteilt werden:
- </para>
- <informalfigure>
- <screen>
-+------------+
-| phase #1 |
-+------------+
-| phase #2 |
-+------------+
- ...
-+------------+
-| phase #n |
-+------------+<!--
- --></screen>
- </informalfigure>
- </listitem>
- <listitem>
- <para>
- <literal>numphases</literal> - Anzahl der Phasen, die in der
- <literal>phases</literal>-Grafik untergebracht sind
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>default</literal> - Standardwert für hpotmeter
- (im Bereich <literal>0</literal> bis <literal>100</literal>)
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>X</literal>, <literal>Y</literal> - Position fürs hpotmeter
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>width</literal>, <literal>height</literal> - Breite und Höhe
- des <literal>hpotmeter</literal>
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>message</literal> - die Meldung, die erzeugt werden soll,
- wenn der Wert des <literal>hpotmeter</literal> geändert wird
- </para>
- </listitem>
- </itemizedlist>
-
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, width, height, message
- </literal>
- </term>
- <listitem>
- <para>
- Ein <literal>hpotmeter</literal> ohne einen Button. (ich schätze, es ist dazu
- bestimmt, herumgedreht zu werden, reagiert aber nur auf horizontales Ziehen.)
- Eine Beschreibung der Parameter findest du unter
- <link linkend="skin-hpotmeter">hpotmeter</link>.
- <literal>phases</literal> können <literal>NULL</literal> sein, dies ist aber ziemlich
- sinnlos, da du nicht sehen kannst, wo das <literal>Potentiometer</literal> hingesetzt
- wurde.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-font"/>font = fontfile, fontid
- </literal>
- </term>
- <listitem>
- <para>
- Definiert eine Schrift. <literal>fontfile</literal> ist der Name der
- Schrift-Beschreibungsdatei mit der Erweiterung <filename>.fnt</filename>
- (gieb hier keine Erweiterung an).
- <literal>fontid</literal> wird verwendet, um auf die Schrift zu verweisen
- (siehe <link linkend="skin-dlabel">dlabel</link>
- und <link linkend="skin-slabel">slabel</link>). Bis zu 25 Schriften können
- definiert werden.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-slabel"/>slabel = X, Y, fontid, "text"
- </literal>
- </term>
- <listitem>
- <para>
- Platziere ein statisches Label an Position <literal>X,Y</literal>.
- <literal>text</literal> wird mittels der identifizierten
- <literal>fontid</literal> angezeigt. Der Text ist einfach ein
- eine Ausgangszeichenkette (<literal>$x</literal>-Variablen funktionieren nicht),
- eingeschlossen von doppelten Anführungszeichen (das "-Zeichen kann jedoch
- nicht Teil des Textes sein).
- Das Label wird mittels der über die <literal>fontid</literal> identifizierten
- Schrift angezeigt.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, "text"
- </literal>
- </term>
- <listitem>
- <para>
- Platziere ein dynamisches Label an Position <literal>X,Y</literal>.
- Das Label wird als dynamisch bezeichnet, weil sein Text periodisch
- aktualisiert wird. Die Maximallänge des Labels wird mit dem
- Wert <literal>length</literal> vorgegeben (seine Höhe ist die der
- Zeichen).
- Wird der anzuzeigende Text breiter als dieser Wert, wird er gescrollt,
- andernfalls wird er innerhalb des Mittels des Wertes des vom
- <literal>align</literal>-Parameter festgelegten Zwischenraums ausgerichtet:
- <literal>0</literal> steht für rechts,
- <literal>1</literal> steht für zentriert,
- <literal>2</literal> steht für links.
- </para>
- <para>
- Der anzuzeigende Text wird mit <literal>text</literal> festgelegt:
- Er muss zwischen doppelten Anführungszeichen stehen (das "-Zeichen kann jedoch
- nicht Teil des Textes sein).
- Das Label wird mittels der über die <literal>fontid</literal> identifizierten
- Schrift angezeigt.
- Du kannst folgende Variablen im Text verwenden:
- </para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row><entry>Variable</entry><entry>Bedeutung</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>$1</entry>
- <entry>Abspieldauer im <emphasis>hh:mm:ss</emphasis>-Format</entry>
- </row>
- <row>
- <entry>$2</entry>
- <entry>Abspieldauer im <emphasis>mmmm:ss</emphasis>-Format</entry>
- </row>
- <row>
- <entry>$3</entry>
- <entry>Abspieldauer im <emphasis>hh</emphasis>-Format (Stunden)</entry>
- </row>
- <row>
- <entry>$4</entry>
- <entry>Abspieldauer im <emphasis>mm</emphasis>-Format (Minuten)</entry>
- </row>
- <row>
- <entry>$5</entry>
- <entry>Abspieldauer im <emphasis>ss</emphasis>-Format (Sekunden)</entry>
- </row>
- <row>
- <entry>$6</entry>
- <entry>Filmlänge im <emphasis>hh:mm:ss</emphasis>-Format</entry>
- </row>
- <row>
- <entry>$7</entry>
- <entry>Filmlänge im <emphasis>mmmm:ss</emphasis>-Format</entry>
- </row>
- <row>
- <entry>$8</entry>
- <entry>Abspieldauer im <emphasis>h:mm:ss</emphasis>-Format</entry>
- </row>
- <row>
- <entry>$v</entry>
- <entry>Lautstärke im <emphasis>xxx.xx</emphasis>%-Format</entry>
- </row>
- <row>
- <entry>$V</entry>
- <entry>Lautstärke im <emphasis>xxx.xx</emphasis>-Format</entry>
- </row>
- <row>
- <entry>$b</entry>
- <entry>Balance im <emphasis>xxx.xx</emphasis>%-Format</entry>
- </row>
- <row>
- <entry>$B</entry>
- <entry>Balance in <emphasis>xxx.xx</emphasis>-Format</entry>
- </row>
- <row>
- <entry>$$</entry>
- <entry>das $-Zeichen</entry>
- </row>
- <row>
- <entry>$a</entry>
- <entry>
- ein dem Audio-Typ entsprechendes Zeichen (Nichts: <literal>n</literal>,
- Mono: <literal>m</literal>, Stereo: <literal>t</literal>)
- </entry>
- </row>
- <row>
- <entry>$t</entry>
- <entry>Track-Nummer (in der Playliste)</entry>
- </row>
- <row>
- <entry>$o</entry>
- <entry>Dateiname</entry>
- </row>
- <row>
- <entry>$f</entry>
- <entry>Dateiname in kleinbuchstaben</entry>
- </row>
- <row>
- <entry>$F</entry>
- <entry>Dateiname in GROSSBUCHSTABEN</entry>
- </row>
- <row>
- <entry>$T</entry>
- <entry>
- Ein dem Streamtyp entsprechendes Zeichen (Datei: <literal>f</literal>,
- Video-CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)
- </entry>
- </row>
- <row>
- <entry>$p</entry>
- <entry>
- Das <keycap>p</keycap>-Zeichen (wenn ein Film abgespielt wird und die Schrift
- das Zeichen <keycap>p</keycap> enthält)
- </entry>
- </row>
- <row>
- <entry>$s</entry>
- <entry>
- Das <keycap>s</keycap>-Zeichen (wenn ein Film angehalten wird und die Schrift
- das Zeichen <keycap>s</keycap> enthält)
- </entry>
- </row>
- <row>
- <entry>$e</entry>
- <entry>
- Das <keycap>e</keycap>-Zeichen (wenn ein Film pausiert wird und die Schrift
- das Zeichen <keycap>e</keycap> enthält)
- </entry>
- </row>
- <row>
- <entry>$x</entry>
- <entry>Filmbreite</entry>
- </row>
- <row>
- <entry>$y</entry>
- <entry>Filmhöhe</entry>
- </row>
- <row>
- <entry>$C</entry>
- <entry>Name des verwendeten Codecs</entry>
- </row>
-
- </tbody>
- </tgroup>
- </informaltable>
- </listitem>
-
- </varlistentry>
- </variablelist>
-
- <note>
- <para>
- Die Variablen <literal>$a, $T, $p, $s</literal> und <literal>$e</literal>
- geben alle Zeichen zurück, die als spezielle Symbole angezeigt werden sollen
- (zum Beispiel steht <keycap>e</keycap> für das Pause-Symbol, welches gewöhnlich
- etwa so || aussieht).
- Du solltest eine Schrift für normale Zeichen und eine weitere Schrift für
- Symbole haben. Schau in den Abschnitt über
- <link linkend="skin-fonts-symbols">Symbole</link>
- für mehr Informationen.
- </para>
- </note>
- </sect2>
-
- <sect2 id="skin-file-subwindow">
- <title>Unterfenster</title>
- <para>
- Die folgenden Einträge können in diesem Block verwendet werden
- '<literal>window = sub</literal>' . . . '<literal>end</literal>'.
- </para>
-
- <variablelist>
- <varlistentry>
- <term>
- <literal><anchor id="skin-sub-base"/>base = image, X, Y, Breite, Hoehe</literal>
- </term>
- <listitem>
- <para>
- Die im Fenster anzuzeigende Grafik. Das Fenster wird an der angegebenen
- Position <literal>X,Y</literal> auf dem Bildschirm erscheinen
- (<literal>0,0</literal> ist die obere linke Ecke).
- Du kannst <literal>-1</literal> für zentriert und <literal>-2</literal>
- für rechts (<literal>X</literal>) und unten (<literal>Y</literal>) festlegen.
- Das Fenster wird so groà sein wie die Grafik.
- <literal>Breite</literal> und <literal>Höhe</literal>
- kennzeichnen die GröÃe des Fensters; sie sind optional (wenn sie fehlen, hat
- das Fenster dieselbe GröÃe wie die Grafik).
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal><anchor id="skin-background"/>background = R, G, B</literal>
- </term>
- <listitem>
- <para>
- Lässt dich die Hintergrundfarbe setzen. Dies ist von Nutzen, wenn die Grafik
- kleiner ist als das Fenster.
- <literal>R</literal>, <literal>G</literal> und <literal>B</literal>
- spezifizieren die Rot-, Grün- und Blau-Komponenten der Farbe (jede davon ist
- eine Dezimalzahl von 0 bis 255).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
-
- <sect2 id="skin-file-menu">
- <title>Skin-Menü</title>
- <para>
- Wie bereits zuvor erwähnt, wird das Menü mittels zweier Grafiken dargestellt.
- Normale Menüeinträge werden aus der Grafik entnommen, die durch das Element
- <literal>base</literal> festgelegt sind, während der aktuell gewählte Eintrag
- aus der Grafik entnommen wird, die durch das Element <literal>selected</literal>
- spezifiziert wurde. Du musst Position und GröÃe jedes Menüeintrags mittels des
- Elements <literal>menu</literal> definieren.
- </para>
-
- <para>
- Die folgenden Einträge können im Block
- '<literal>window = menu</literal>'. . .'<literal>end</literal>' genutzt werden.
- </para>
-
- <variablelist>
- <varlistentry>
- <term>
- <literal><anchor id="skin-menu-base"/>base = image</literal>
- </term>
- <listitem>
- <para>
- Die Grafik für normale Menüeinträge.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-selected"/>selected = image
- </literal>
- </term>
- <listitem>
- <para>
- Die Grafik, die das Menü mit allen gewählten Einträgen anzeigt.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <literal>
- <anchor id="skin-menu"/>menu = X, Y, Breite, Höhe, Nachricht
- </literal>
- </term>
- <listitem>
- <para>
- Definiert die Position <literal>X,Y</literal> und die GröÃe eines Menüeintrags
- innerhalb der Grafik. <literal>Nachricht</literal> ist die Meldung, die erzeugt
- werden soll, wenn die Maustaste über dem Eintrag losgelassen wird.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
- </sect1>
-
- <sect1 id="skin-fonts">
- <title>Schriften</title>
- <para>
- Wie im Abschnitt über die Skin-Teile beschrieben, wird eine Schrift durch eine
- Grafik und eine Beschreibungsdatei definiert. Du kannst die Zeichen irgendwo
- innerhalb der Grafik platzieren, aber stell sicher, dass Position und GröÃe
- der Zeichen in der Beschreibungsdatei exakt angegeben sind.
- </para>
-
- <para>
- Die Schrift-Beschreibungsdatei (mit Erweiterung <filename>.fnt</filename>)
- kann mit '<literal>;</literal>' beginnende Kommentarzeilen enthalten.
- Die Datei muss eine Zeile in der Form enthalten
- <anchor id="skin-font-image"/>
- <programlisting>image = <replaceable>image</replaceable></programlisting>
- Wobei <literal><replaceable>image</replaceable></literal> der Name der für
- die Schrift anzuwendenden Grafikdatei ist (du musst keine Erweiterung angeben).
- <anchor id="skin-font-char"/>
- <programlisting>"char" = X, Y, width, hight</programlisting>
- Hier legen <literal>X</literal> und <literal>Y</literal> die Position des
- <literal>char</literal>-Zeichens innerhalb der Grafik fest
- (<literal>0,0</literal> steht für die obere linke Ecke).
- <literal>width</literal> und <literal>height</literal> sind die MaÃe der
- Zeichen in Pixel.
- </para>
-
- <para>
- Dieses Beispiel definiert die Zeichen A, B, C unter Anwendung von
- <filename>font.png</filename>.
- <programlisting>
-; Kann eine "Schrift" anstatt "font.png" sein.
-image = font.png
-
-; Drei Zeichen reichen zu Demonstrationszwecken :-)
-"A" = 0,0, 7,13
-"B" = 7,0, 7,13
-"C" = 14,0, 7,13<!--
- --></programlisting>
- </para>
-
- <sect2 id="skin-fonts-symbols">
- <title>Symbole</title>
- <para>
- Einige Zeichen haben spezielle Bedeutungen, wenn sie von bestimmten
- Variablen in <link linkend="skin-dlabel">dlabel</link> zurückgegeben
- werden. Diese Zeichen sind dazu gedacht, als Symbole angezeigt zu werden,
- so dass Dinge wie ein hübsches DVD-Logo an Stelle des Zeichens
- '<literal>d</literal>' für einen DVD-Stream angezeigt werden können.
- </para>
- <para>
- Die folgende Tabelle listet alle Zeichen auf, die zum Anzeigen von
- Symbolen genutzt werden können (und daher eine andere Schrift benötigen).
- </para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row><entry>Zeichen</entry><entry>Symbol</entry></row>
- </thead>
- <tbody>
- <row><entry><keycap>p</keycap></entry><entry>Play</entry></row>
- <row><entry><keycap>s</keycap></entry><entry>Stop</entry></row>
- <row><entry><keycap>e</keycap></entry><entry>Pause</entry></row>
- <row><entry><keycap>n</keycap></entry><entry>Kein Sound</entry></row>
- <row><entry><keycap>m</keycap></entry><entry>Mono-Sound</entry></row>
- <row><entry><keycap>t</keycap></entry><entry>Stereo-Sound</entry></row>
- <row><entry><keycap>f</keycap></entry><entry>Stream ist eine Datei</entry></row>
- <row><entry><keycap>v</keycap></entry><entry>Stream ist eine Video-CD</entry></row>
- <row><entry><keycap>d</keycap></entry><entry>Stream ist eine DVD</entry></row>
- <row><entry><keycap>u</keycap></entry><entry>Stream ist eine URL</entry></row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- </sect1>
-
- <sect1 id="skin-gui">
- <title>GUI-Meldungen</title>
- <para>
- Dies sind die Meldungen, die von Buttons, Potentiometern und
- Menüeinträgen generiert werden können.
- </para>
-
- <variablelist>
- <title>Playback-Kontrolle:</title>
- <varlistentry>
- <term><emphasis role="bold">evNext</emphasis></term>
- <listitem>
- <para>Springe zum nächsten Track in der Playliste.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evPause</emphasis></term>
- <listitem><para>
- Formt einen Schalter zusammen mit <literal>evPlaySwitchToPause</literal>.
- Sie können dazu benutzt werden, einen gebräuchlichen Play/Pause-Button
- zu bekommen. Beide Meldungen sollten den Buttons zugewiesen werden, die
- an genau derselben Position innerhalb des Fensters dargestellt werden.
- Diese Meldung pausiert das Abspielen und die Grafik für den
- <literal>evPlaySwitchToPause</literal>-Button wird gezeigt
- (um anzudeuten, dass der Button zum Fortsetzen des Abspielens gedrückt
- werden kann).
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <emphasis role="bold">evPlay</emphasis>
- </term>
- <listitem>
- <para>
- Starte das Abspielen.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
- <listitem>
- <para>
- Das Gegenteil von <literal>evPauseSwitchToPlay</literal>. Diese Meldung
- startet das Abspielen und die Grafik für den
- <literal>evPauseSwitchToPlay</literal>-Button wird angezeigt
- (um anzudeuten, dass der Button zum Pausieren des Abspielvorgangs gedrückt
- werden kann).
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evPrev</emphasis></term>
- <listitem>
- <para>
- Springe zum vorherigen Track in der Playliste.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evStop</emphasis></term>
- <listitem>
- <para>Stoppe das Abspielen.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Springen:</title>
- <varlistentry>
- <term><emphasis role="bold">evBackward10sec</emphasis></term>
- <listitem>
- <para>
- Springe 10 Sekunden rückwärts.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evBackward1min</emphasis></term>
- <listitem>
- <para>
- Springe 1 Minute rückwärts.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evBackward10min</emphasis></term>
- <listitem><para>
- Springe 10 Minuten rückwärts.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evForward10sec</emphasis></term>
- <listitem>
- <para>
- Springe 10 Sekunden vorwärts.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evForward1min</emphasis></term>
- <listitem>
- <para>
- Springe 1 Minute vorwärts.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evForward10min</emphasis></term>
- <listitem>
- <para>
- Springe 10 Minuten vorwärts.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
- <listitem>
- <para>
- Springe zu Position (kann von einem Potentiometer genutzt werden;
- mit dem relativen Wert (0-100%) des Potentiometers).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Video-Kontrolle:</title>
- <varlistentry>
- <term><emphasis role="bold">evHalfSize</emphasis></term>
- <listitem>
- <para>
- Setze das Filmfenster auf halbe GröÃe.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis role="bold">evDoubleSize</emphasis></term>
- <listitem>
- <para>
- Setze das Filmfenster auf doppelte GröÃe.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis role="bold">evFullScreen</emphasis></term>
- <listitem>
- <para>
- Schalte Vollbildmodus an/aus.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><emphasis role="bold">evNormalSize</emphasis></term>
- <listitem>
- <para>
- Setze das Filmfenster auf normale GröÃe.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Audio-Kontrolle:</title>
- <varlistentry>
- <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
- <listitem>
- <para>
- Verringere die Verzögerung des Audiopuffers.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evDecBalance</emphasis></term>
- <listitem>
- <para>
- Verringere die Balance.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evDecVolume</emphasis></term>
- <listitem><para>
- Verringere die Lautstärke.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
- <listitem>
- <para>
- Erhöhe die Verzögerung des Audiopuffers.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evIncBalance</emphasis></term>
- <listitem>
- <para>
- Erhöhe die Balance.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evIncVolume</emphasis></term>
- <listitem>
- <para>
- Erhöhe die Lautstärke.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evMute</emphasis></term>
- <listitem>
- <para>
- Schalte den Ton an/aus.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evSetBalance</emphasis></term>
- <listitem>
- <para>
- Setze die Balance (kann von einem Potentiometer genutzt werden;
- mit dem relativen Wert (0-100%) des Potentiometers).
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evSetVolume</emphasis></term>
- <listitem>
- <para>
- Setze die Lautstärke(kann von einem Potentiometer genutzt werden;
- mit dem relativen Wert (0-100%) des Potentiometers).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Verschiedenes:</title>
- <varlistentry>
- <term><emphasis role="bold">evAbout</emphasis></term>
- <listitem>
- <para>
- Ãffne das About-Fenster.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evDropSubtitle</emphasis></term>
- <listitem>
- <para>
- Deaktiviert den aktuell verwendeten Untertitel.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evEqualizer</emphasis></term>
- <listitem>
- <para>
- Schaltet den Equalizer an/aus.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evExit</emphasis></term>
- <listitem>
- <para>
- SchlieÃe das Programm.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evIconify</emphasis></term>
- <listitem>
- <para>
- Minimiere das Fenster zu einem Symbol.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evLoad</emphasis></term>
- <listitem>
- <para>
- Lade eine Datei (durch Ãffnen des Datei-Browser-Fensters,
- in dem du die Datei wählen kannst).
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evLoadPlay</emphasis></term>
- <listitem>
- <para>
- Macht dasselbe wie <literal>evLoad</literal>, es startet jedoch
- das Abspielen nach dem Laden der Datei automatisch.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
- <listitem>
- <para>
- Lädt eine Untertiteldatei (mit dem Dateiwähler)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
- <listitem>
- <para>
- Lädt eine Audio-Datei (mit dem Dateiwähler)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evNone</emphasis></term>
- <listitem>
- <para>
- Leere Meldung, besitzt keinen Effekt (auÃer vielleicht in Subversion-Versionen :-)).
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evPlaylist</emphasis></term>
- <listitem>
- <para>
- Ãffne/schlieÃe das Playlisten-Fenster.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evPlayDVD</emphasis></term>
- <listitem>
- <para>
- Versucht die DVD im angegebenen DVD-ROM-Laufwerk zu öffnen.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evPlayVCD</emphasis></term>
- <listitem>
- <para>
- Versucht die VCD im angegebenen CD-ROM-Laufwerk zu öffnen.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evPreferences</emphasis></term>
- <listitem>
- <para>
- Ãffne das Einstellungsfenster.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evSetAspect</emphasis></term>
- <listitem>
- <para>
- Setzt das angezeigte Grafikseitenverhältnis.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evSetURL</emphasis></term>
- <listitem>
- <para>
- Zeigt das URL-Dialog-Fenster.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><emphasis role="bold">evSkinBrowser</emphasis></term>
- <listitem>
- <para>
- Ãffne das Skin-Browser-Fenster.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </sect1>
-
- <sect1 id="skin-quality">
- <title>Erstellen von qualitativen Skins</title>
-
- <para>
- Jetzt hast du dich über das Herstellen eines Skins für das
- <application>MPlayer</application>-GUI informiert, in
- <application>Gimp</application> dein bestes gegeben und willst
- deinen Skin an uns schicken?
- Lies weiter, dann findest du einige Vorgaben dafür, wie häufige Irrtümer
- vermieden und hochqualitative Skins erstellt werden können.
- </para>
-
- <para>
- Wir wollen, dass Skins, die wir in unser Repository einfügen,
- bestimmten Qualitätsstandards entsprechen. Du kannst auch vieles
- dazutun, uns das Leben leichter zu machen.
- </para>
-
- <para>
- Als ein Beispiel kannst du dir den <systemitem>Blue</systemitem>-Skin
- ansehen. Er genügt seit Version 1.5 allen unten aufgelisteten Kriterien.
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Jeder Skin sollte mit einer
- <filename>README</filename>-Datei kommen, die Informationen über
- dich, den Autor, Copyright- und Lizenzanmerkungen und alles, was du
- sonst noch anfügen willst, enthält.
- Willst du ein Changelog, ist diese Datei ein geeigneter Ort dafür.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Es sollte eine Datei namens <filename>VERSION</filename>
- mit nicht mehr als der Versionsnummer des Skins in einer einzigen
- Zeile geben (z.B. 1.0).
- </para>
- </listitem>
-
- <listitem>
- <para>
- Horizontale und vertikale Regler (wie die für Lautstärke
- oder Position) sollten die Mitte des Knaufs sauber in der Mitte
- des Reglers zentriert haben. Es sollte möglich sein, den Knauf
- an beide Enden des Reglers zu bewegen, jedoch nicht darüber hinaus.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Für Skin-Elemente sollten die richtigen GröÃen in der skin-Datei
- deklariert sein. Ist dies nicht der Fall, kannst du auÃerhalb
- z.B. eines Buttons klicken und trotzdem einen Klick innerhalb
- seiner Fläche auslösen und diesen dennoch nicht auslösen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Die <filename>skin</filename>-Datei sollte sauber
- aussehen und keine Tabs enthalten. Mit sauber aussehen ist
- gemeint, dass die Zahlen ordentlich in Reihe stehen.
- </para>
- </listitem>
- </itemizedlist>
-
- </sect1>
-
-</appendix>
diff --git a/DOCS/xml/de/usage.xml b/DOCS/xml/de/usage.xml
deleted file mode 100644
index c720260..0000000
--- a/DOCS/xml/de/usage.xml
+++ /dev/null
@@ -1,1862 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r22951 -->
-<!-- missing cosmetic commit 21537 -->
-<chapter id="usage">
-<title>Gebrauch</title>
-
-<sect1 id="commandline">
-<title>Kommandozeile</title>
-
-<para>
-<application>MPlayer</application> verwendet einen komplexen Wiedergabebaum. Er besteht aus
-globalen Optionen, die zuerst geschrieben werden, zum Beispiel
-
-<screen>mplayer -vfm 5</screen>
-
-und Optionen, die hinter den Dateinamen geschrieben werden und die sich nur auf die
-angegebene Datei/URL/sonstwas beziehen, zum Beispiel:
-
-<screen>mplayer -vfm 5 <replaceable>movie1.avi</replaceable> <replaceable>movie2.avi</replaceable> -vfm 4</screen>
-</para>
-
-<para>
-Du kannst Dateinamen/URLs mit <literal>{</literal> und <literal>}</literal> gruppieren.
-Dies ist nützlich mit der Option <option>-loop</option>:
-
-<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
-
-Der obige Befehl wird die Dateien in folgender Reihenfolge abspielen: 1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-Datei abspielen:
-<synopsis><!--
---> <command>mplayer</command><!--
---> [<replaceable>Optionen</replaceable>]<!--
---> [<replaceable>Pfad</replaceable>/]<replaceable>dateiname</replaceable><!--
---></synopsis>
-</para>
-
-<para>
-Eine andere Möglichkeit, eine Datei abzuspielen:
-<synopsis><!--
---> <command>mplayer</command><!--
---> [<replaceable>Optionen</replaceable>]<!--
---> <replaceable>file:///uri-escaped-Pfad</replaceable> <!--
---></synopsis>
-</para>
-
-<para>
-Mehrere Dateien abspielen:
-<synopsis><!--
---> <command>mplayer</command><!--
---> [<replaceable>Standardoptionen</replaceable>]<!--
---> [<replaceable>Pfad</replaceable>/]<replaceable>dateiname1</replaceable><!--
---> [<replaceable>Optionen für dateiname1</replaceable>]<!--
---> <replaceable>dateiname2</replaceable><!--
---> [<replaceable>Optionen für dateiname2</replaceable>] ... <!--
---></synopsis>
-</para>
-
-<para>
-VCD abspielen:
-<synopsis><!--
---> <command>mplayer</command> [<replaceable>Optionen</replaceable>]<!--
---> vcd://<replaceable>tracknr</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]<!--
---></synopsis>
-</para>
-
-<para>
-DVD abspielen:
-<synopsis><!--
---> <command>mplayer</command> [<replaceable>Optionen</replaceable>]<!--
---> dvd://<replaceable>titlenr</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]<!--
---></synopsis>
-</para>
-
-<para>
-Vom WWW abspielen:
-<synopsis><!--
---><command>mplayer</command> [<replaceable>Optionen</replaceable>]<!--
---> http://<replaceable>site.com/datei.asf</replaceable><!--
---></synopsis> (es können auch Playlists benutzt werden)
-</para>
-
-<para>
-Von RTSP abspielen:
-<synopsis><!--
---> <command>mplayer</command> [<replaceable>Optionen</replaceable>]<!--
---> rtsp://<replaceable>server.example.com/streamName</replaceable><!--
---></synopsis>
-</para>
-
-<para>
-Beispiele:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<sect1 id="subosd">
- <title>Untertitel und OSD</title>
-
- <para>
- <application>MPlayer</application> kann Untertitel bei Filmen darstellen.
- Momentan werden die folgenden Formate unterstützt:
- <itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption)</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para><ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink></para></listitem>
- </itemizedlist>
- </para>
-
- <para>
- <application>MPlayer</application> kann (<emphasis role="bold">auÃer den ersten drei</emphasis>)
- die oben gelisteten Zielformate ausgeben (speichern), und zwar mit folgenden Optionen:
- <itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
- </itemizedlist>
- </para>
-
- <para>
- <application>MEncoder</application> kann DVD-Untertitel im
- <link linkend="menc-feat-extractsub">VOBsub</link>-Format ausgeben.
- </para>
-
- <para>
- Die Kommandozeilenoptionen unterscheiden sich leicht von den anderen Formaten:
- </para>
-
- <formalpara>
- <title>VOBsub-Untertitel</title>
- <para>
- VOBsub-Untertitel bestehen aus einer (ein paar Megabyte) groÃen
- <filename>.SUB</filename> Datei, und optional <filename>.IDX-</filename> und/oder
- <filename>.IFO</filename>-Dateien. Wenn du Dateien hast wie
- <filename><replaceable>beispiel.sub</replaceable></filename>,
- <filename><replaceable>beispiel.ifo</replaceable></filename> (optional),
- oder <filename><replaceable>beispiel.idx</replaceable></filename>, musst du
- <application>MPlayer</application> die Optionen
- <option>-vobsub beispiel [-vobsubid <replaceable>id</replaceable>]</option>
- übergeben (vollständige Pfadangabe optional).
- Die Option <option>-vobsubid</option> verhält sich wie
- die Option <option>-sid</option> für DVDs, du kannst damit Tracks (Sprachen) wählen.
- Im Falle, dass <option>-vobsubid</option> nicht angegeben wird, wird
- <application>MPlayer</application> versuchen, auf die Sprachen zurückzugreifen,
- die mit der Option <option>-slang</option> angegeben werden, und sonst auf
- <systemitem>langidx</systemitem> zurückzugreifen, um die Untertitelsprache zu wählen.
- Schlägt dies fehl, wird es keine Untertitel geben.
- </para>
- </formalpara>
-
- <formalpara>
- <title>Andere Untertitel</title>
- <para>
- Die anderen Formate bestehen aus einer Textdatei, die Zeit-, Platzierungs- und
- Textinformationen enthält. Gebrauch:
- Wenn du eine Datei wie
- <filename><replaceable>beispiel.txt</replaceable></filename> hast,
- musst du die Option <option>-sub <replaceable>beispiel.txt</replaceable></option>
- (vollständiger Pfad optional) angeben.
- </para>
- </formalpara>
-
- <variablelist>
- <title>Untertitel-Timing und Platzierung angeben:</title>
- <varlistentry>
- <term><option>-subdelay <replaceable>sek</replaceable></option></term>
- <listitem><para>
- Verzögert Untertitel um <option><replaceable>sek</replaceable></option>
- Sekunden. Kann negativ sein. Dieser Wert wird zum Zeitpositionszähler
- hinzuaddiert.
- </para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-subfps <replaceable>RATE</replaceable></option></term>
- <listitem><para>
- Gibt die Frame/sek-Rate der Untertiteldatei (FlieÃkommazahl) an.
- </para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- Gibt die Position der Untertitel an.
- </para></listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- Wenn du bei Benutzung einer MicroDVD-Untertiteldatei eine zunehmende Verzögerung
- zwischen Film und Untertiteln feststellst, ist vermutlich die Framerate des
- Films und die der Untertiteldatei unterschiedlich. Beachte bitte, dass das MicroDVD-Untertitelformat
- absolute Framenummern nutzt. Daher sollte die Option <option>-subfps</option>
- bei diesem Format verwendet werden. Wenn du dieses Problem auf Dauer beheben willst,
- musst du die Framerate manuell konvertieren.
- <application>MPlayer</application> kann diese Konvertierung für dich übernehmen:
-
- <screen>mplayer -dumpmicrodvdsub -fps <replaceable>untertitel_fps</replaceable> -subfps <replaceable>avi_fps</replaceable> -sub <replaceable>untertitel_dateiname</replaceable> <replaceable>dummy.avi</replaceable></screen>
- </para>
-
- <para>
- Ausführungen über DVD-Untertitel findest du im Abschnitt <link linkend="dvd">DVD</link>.
- </para>
-</sect1>
-
-
-<sect1 id="control">
-<title>Steuerung/Kontrolle</title>
-
-<para>
-<application>MPlayer</application> hat einen vollständig konfigurierbaren, befehlgesteuerten
-Steuerungslayer, der dir ermöglicht, <application>MPlayer</application> mit der Tastatur,
-der Maus, einem Joystick oder einer Fernbedienung (durch Gebrauch von LIRC) zu kontrollieren.
-Siehe Manpage für die komplette Liste der Tastatursteuerungen.
-</para>
-
-
-<sect2 id="ctrl-cfg">
-<title>Steuerungskonfiguration</title>
-
-<para>
-<application>MPlayer</application> erlaubt dir durch eine einfache Konfigurationsdatei,
-jede Taste an jeden beliebigen <application>MPlayer</application>-Befehl zu binden.
-Die Syntax besteht aus einem Tastennamen gefolgt von einem Befehl. Die Standardkonfigurationsdatei
-ist <filename>$HOME/.mplayer/input.conf</filename>, dies kann jedoch mit der Option<option>-input <replaceable>conf</replaceable></option> überschrieben werden
-(relative Pfade sind relativ zu <filename>$HOME/.mplayer</filename>).
-</para>
-
-<para>
-Du erhältst eine vollständige Liste der unterstützten Tastennamen, indem du den Befehl
-<command>mplayer -input keylist</command> ausführst, eine vollständige Liste der
-verfügbaren Befehle mit <command>mplayer -input cmdlist</command>.
-</para>
-
-<example id="input_control_file">
-<title>Eine Beispiel-Input-Steuerungsdatei</title>
-<programlisting>
-##
-## MPlayer input control file
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-</sect2>
-
-
-<sect2 id="lirc">
-<title>Steuerung mit LIRC</title>
-
-<para>
-Linux Infrared Remote Control - benutze einen einfach zu erstellenden, selbstgemachten
-IR-Empfänger, eine (fast) veraltete Fernbedienung und steuere deine Linuxkiste damit!
-Mehr darüber auf der <ulink url="http://www.lirc.org">LIRC Homepage</ulink>.
-</para>
-
-<para>
-Wenn du das LIRC-Paket installiert hast, wird <filename>configure</filename>
-dies automatisch erkennen. Wenn alles gut lief, wird <application>MPlayer</application>
-beim Start "<systemitem>Initialisiere LIRC-Unterstützung...</systemitem>" ausgeben.
-Wenn ein Fehler auftritt, wird er dir das sagen. Wenn keine Mitteilung über LIRC erscheint,
-ist die entsprechende Unterstützung nicht eincompiliert. Das ist es schon :-)
-</para>
-
-<para>
-Der Anwendungsname für <application>MPlayer</application> ist - Ãberraschung -
-<filename>mplayer</filename>. Du kannst jeden <application>MPlayer</application>-Befehl
-verwenden und sogar mehrere Befehle übergeben, indem du sie mit <literal>\n</literal>
-trennst. Vergiss nicht, das repeat-Flag in <filename>.lircrc</filename> zu setzen, wenn
-es Sinn macht (spulen, Lautstärke, etc). Hier ist ein Auszug einer Beispieldatei
-<filename>.lircrc</filename>:
-</para>
-
-<programlisting>
-begin
-button = VOLUME_PLUS
-prog = mplayer
-config = volume 1
-repeat = 1
-end
-
-begin
-button = VOLUME_MINUS
-prog = mplayer
-config = volume -1
-repeat = 1
-end
-
-begin
-button = CD_PLAY
-prog = mplayer
-config = pause
-end
-
-begin
-button = CD_STOP
-prog = mplayer
-config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-Wenn du die Standardposition für die LIRC-Konfigurationsdatei
-(<filename>~/.lircrc</filename>) nicht magst, benutze die Option <option>-lircconf
-<replaceable>Dateiname</replaceable></option>, um eine andere Datei anzugeben.
-</para>
-</sect2>
-
-
-<sect2 id="slave-mode">
-<title>Slave-Modus</title>
-<para>
-Der Slave-Modus erlaubt dir, einfache Frontends für <application>MPlayer</application>
-zu erstellen. Wenn dieser mit der Option <option>-slave</option> gestartet wird,
-wird <application>MPlayer</application> durch Zeilenumsprünge (\n) getrennte
-Befehle von der Standardeingabe lesen.
-Die Befehle sind in der Datei <ulink url="../../tech/slave.txt">slave.txt</ulink> dokumentiert.
-</para>
-</sect2>
-</sect1>
-
-
-<sect1 id="streaming">
-<title>Streaming vom Netzwerk oder Pipes</title>
-
-<para>
-<application>MPlayer</application> kann Dateien aus dem Netzwerk abspielen, mit Gebrauch
-der Protokolle HTTP, FTP, MMS oder RTSP/RTP.
-</para>
-
-<para>
-Die Wiedergabe funktioniert durch einfache Ãbergabe der URL auf der Kommandozeile.
-<application>MPlayer</application> berücksichtigt die <envar>http_proxy</envar>-Umgebungsvariable
-und benutzt einen Proxy, wenn verfügbar. Proxies können auch erzwungen werden:
-<screen>mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable></screen>
-</para>
-
-<para>
-<application>MPlayer</application> kann von der Standardeingabe lesen
-(<emphasis>keine</emphasis> named Pipes). Dies kann beispielsweise benutzt werden, um direkt
-von FTP abzuspielen:
-<screen>wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -</screen>
-</para>
-
-<note>
-<para>
-Es wird auch empfohlen, bei der Wiedergabe vom Netzwerk <option>-cache</option> zu aktivieren:
-<screen>wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -cache 8192 -</screen>
-</para>
-</note>
-
-<sect2 id="streaming-save">
-<title>Gestreamte Inhalte speichern</title>
-<para>
-Wenn du <application>MPlayer</application> ersteinmal erfolgreich dazu gebracht hast, deinen
-Lieblingsinternetstream abzuspielen, kannst du die Option <option>-dumpstream</option>
-verwenden, um den Stream in eine Datei zu speichern.
-Zum Beispiel wird
-<screen>mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable> </screen>
-den von <replaceable>http://217.71.208.37:8006</replaceable> gestreamten Inhalt nach
-<replaceable>stream.asf</replaceable> speichern. Dies funktioniert mit allen Protokollen,
-die von <application>MPlayer</application> unterstützt werden, wie MMS, RSTP und so weiter.
-</para>
-</sect2>
-
-</sect1>
-
-
-<sect1 id="drives">
-<title>CD/DVD-Laufwerke</title>
-
-<para>
-Moderne CD-ROM-Laufwerke können sehr hohe Geschwindigkeiten
-erreichen. Jedoch sind einige CD-ROM-Laufwerke in der Lage, mit gedrosselter
-Geschwindigkeit zu laufen. Es gibt verschiedene Gründe, in Erwägung zu ziehen,
-die Geschwindig eines CD-ROM-Laufwerks zu ändern:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-Es gibt Berichte über Lesefehler bei hohen Geschwindigkeiten, besonders
-bei schlecht gepressten CD-ROMs. Reduzierung der Geschwindigkeit kann
-unter diesen Umständen Datenverlust verhindern.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Viele CD-ROM-Laufwerke sind nervend laut. Eine geringere Geschwindigkeit kann
-die Geräusche reduzieren.
-</para>
-</listitem>
-</itemizedlist>
-
-<sect2 id="drives_linux">
-<title>Linux</title>
-
-<para>
-Du kannst die Geschwindigkeit von IDE CD-ROM-Laufwerken mit
-<command>hdparm</command>, <command>setcd</command> oder
-<command>cdctl</command> reduzieren. Dies funktioniert wie folgt:
-<screen>hdparm -E <replaceable>[Geschwindigkeit]</replaceable> <replaceable>[CD-ROM-Gerät]</replaceable></screen>
-<screen>setcd -x <replaceable>[Geschwindigkeit]</replaceable> <replaceable>[CD-ROM-Gerät]</replaceable></screen>
-<screen>cdctl -bS <replaceable>[Geschwindigkeit]</replaceable></screen>
-</para>
-
-<para>
-Wenn du SCSI-Emulation benuzt, musst du die Einstellungen unter Umständen am
-echten IDE-Gerät vornehmen und nicht am emuliertem SCSI-Gerät.
-</para>
-
-<para>
-Wenn du über root-Rechte verfügst, kann das folgende Kommando
-ebenso helfen:
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[CD-ROM-Gerät]</replaceable>/settings</screen>
-</para>
-
-<para>
-<!-- TODO: 1) aehm Ich glaube nicht das das (oben) als 2 MB interpretiert wird.
- Duerften Bytes sein -->
-Dies setzt die Menge der vorausgehend gelesenen Daten auf 2MB, was bei
-verkratzten CD-ROMs hilft.
-Wenn du dies zu hoch setzt, wird das Laufwerk dauernd anlaufen und wieder langsamer werden;
-dies wird die Leistung dramtisch verschlechtern.
-Es wird ebenso empfohlen, dass du dein CD-ROM-Laufwerk mit <command>hdparm</command>
-konfigurierst:
-<screen>hdparm -d1 -a8 -u1 <replaceable>[CD-ROM-Gerät]</replaceable></screen>
-</para>
-
-<para>
-Dies aktiviert DMA-Zugriff, Read-ahead (vorausgehendes Lesen) und IRQ-Unmasking
-(lies die <command>hdparm</command> Manpage für eine ausführliche Erklärung).
-</para>
-
-<para>
-Wir verweisen hier auf
-"<filename>/proc/ide/<replaceable>[CD-ROM-Gerät]</replaceable>/settings</filename>"
-für Feineinstellungen an deinem CD-ROM.
-</para>
-
-<para>
-SCSI-Laufwerke haben kein einheitliches Verfahren, diese Parameter zu
-setzen. (Kennst du einen? Berichte ihn uns!) Es gibt ein Tool, welches mit
-<ulink url="http://das.ist.org/~georg/">Plextor SCSI-Laufwerken</ulink>
-funktioniert.
-</para>
-
-</sect2>
-
-
-<sect2 id="drives_freebsd">
-<title>FreeBSD</title>
-
-<para>
-Geschwindigkeit:
-<screen>cdcontrol [-f <replaceable>Gerät</replaceable>] speed <replaceable>[Geschwindigkeit]</replaceable></screen>
-</para>
-
-<para>
-DMA:
-<screen>sysctl hw.ata.atapi_dma=1</screen>
-</para>
-
-</sect2>
-
-</sect1>
-
-
-
-<sect1 id="dvd">
-<title>DVD-Wiedergabe</title>
-<para>
-Für eine komplette Liste der verfügbaren Optionen lies bitte die Manpage.
-Die Syntax für das Abspielen einer Standard-DVD lautet wie folgt:
-<screen>mplayer dvd://<replaceable><Track></replaceable> [-dvd-device <replaceable><Gerät></replaceable>]</screen>
-</para>
-
-<para>
-Beispiel:
-<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-Das Standard-DVD-Laufwerk ist <filename>/dev/dvd</filename>. Wenn deine
-Installation davon abweicht, erstelle einen Symlink oder gib das genaue Gerät auf
-der Kommandozeile an mit der Option <option>-dvd-device</option>.
-</para>
-
-<para>
-<application>MPlayer</application> verwendet <systemitem>libdvdread</systemitem> und
-<systemitem>libdvdcss</systemitem> zur DVD-Wiedergabe und -Entschlüsselung.
-Diese beiden Bibliotheken sind im Unterverzeichnis
-<application>MPlayer</application>-Quelltextbaum,
-du brauchst sie nicht separat zu installieren. Du kannst auch systemweite
-Versionen der beiden Bibliotheken verwenden, diese wird jedoch
-<emphasis role="bold">nicht</emphasis> empfohlen, da dies zu Bugs,
-Bibliotheksinkompatibilitäten und geringerer Geschwindigkeit führen kann.
-</para>
-
-<note>
-<para>
-In Fällen von DVD-Dekodierungs-Problemen versuche Supermount oder solche Hilfen
-zu deaktivieren. Einige RPC-2 Laufwerke können verlangen, dass ein Regionalcode gesetzt ist.
-</para>
-</note>
-
-<formalpara>
-<title>DVD-Struktur</title>
-<para>
-DVDs haben 2048 Bytes pro Sektor mit ECC/CRC. Sie haben üblicherweise
-ein UDF-Dateisystem auf einem einzigem Track, welcher verschiedene Dateien
-(kleine .IFO und .BUK Dateien und groÃe .VOB Dateien) enthält.
-Sie sind echte Dateien und können von einem gemounteten Dateisystem einer
-unentschlüsselten DVD kopiert/abgespielt werden.
-</para>
-</formalpara>
-
-<para>
-Die .IFO-Dateien enthalten die Informationen zur Filmnavigation
-(Kapitel/Titel/Blickwinkel, Sprachtabellen etc.) und werden benötigt,
-um den .VOB Inhalt (den Film) zu lesen und zu interpretieren. Die .BUK-Dateien
-sind Backups davon. Sie nutzen überall <emphasis role="bold">Sektoren</emphasis>,
-so dass du Direktaddressierung von Sektoren auf dem
-Datenträger benötigst, um DVD-Navigation zu implementieren oder den
-Inhalt zu entschlüsseln.
-</para>
-
-<para>
-DVD-Unterstützung benötigt rohen Sektor-basierten Zugriff auf das
-Laufwerk. Leider musst du (unter Linux) root sein, um die Sektoraddresse einer
-Datei zu erhalten. Das ist der Grund, warum wir nicht den Dateisystemtreiber
-des Kernels nutzen sondern es im Userspace reimplementiert haben.
-<systemitem>libdvdread</systemitem> 0.9.x tut dies.
-Der UDF-Dateisystemtreiber des Kernels wird nicht benötigt, da sie bereits
-einen eigenen eingebauten UDF-Dateisystem-Treiber haben.
-Ebenso muss die DVD nicht gemountet werden, da der direkte Sektor-basierte Zugriff
-genutzt wird.
-</para>
-
-<para>
-Manchmal kann <filename>/dev/dvd</filename> nicht von Benutzern gelesen
-werden, deshalb implementierten die Autoren von <systemitem>libdvdread</systemitem>
-einen Emulations-Layer, welcher die Sektorenadressen in Dateinamen+Offsets
-überträgt und Raw-Zugriff auf dem gemounteten Dateisystem oder auch
-auf Festplatten emuliert.
-</para>
-
-<para>
-<systemitem>libdvdread</systemitem> akzeptiert sogar Mountpoints an Stelle von
-Gerätenamen für Raw-Zugriff und überprüft
-<filename>/proc/mounts</filename>, um den Gerätenamen herauszufinden.
-Es wurde für Solaris entwickelt, wo Gerätenamen dynamisch
-zugewiesen werden.
-</para>
-
-<para>
-Wenn du <application>MPlayer</application> mit dvdnav-Unterstützung compiliert hast,
-bleibt die Syntax derselbe, ausgenommen die Verwendung von dvdnav:// an Stelle von dvd://.
-</para>
-
-<formalpara>
-<title>DVD-Entschlüsselung</title>
-<para>
-DVD-Entschlüsselung geschieht durch <systemitem>libdvdcss</systemitem>. Die dafür
-verwendete Methode kann durch Umgebungsvariable <envar>DVDCSS_METHOD</envar> festgelegt werden,
-siehe Manpage für Details.
-</para>
-</formalpara>
-
-<para>
-<!-- Idee: (am Regioncode) hinzufuegen? -->
-<!-- Comment: Ich mag das Wort upgrade nicht. Oder besser
- gesagt sollte der Text besser auf die Risiken und Fakten eingehen. -->
-RPC-1 DVD-Laufwerke schützen Regionseinstellunge nur durch Software.
-RPC-2-Laufwerke haben einen Hardwareschutz, welcher nur 5 Ãnderungen
-erlaubt. Es kann notwendig/empfehlenswert sein, die Firmware auf RPC-1
-zu aktualisieren, wenn du ein RPC-2 DVD-Laufwerk hast.
-Du kannst versuchen ein Firmwareupgrade für dein Laufwerk im Internet zu finden,
-<ulink url="http://forum.rpc-1.com/dl_all.php">dieses Firmware-Forum</ulink>
-kann ein guter Ausgangspunkt für deine Suche sein.
-Wenn es kein Firmwareupgrade für dein Laufwerk gibt, benutze das
-<ulink url="http://linvdr.org/projects/regionset/">regionset-Tool</ulink>,
-um den Regionscode deines DVD-Laufwerks (unter Linux) zu setzen.
-<emphasis role="bold">Warnung</emphasis>: Du kannst nur 5 mal den Regioncode ändern.
-</para>
-</sect1>
-
-
-<sect1 id="vcd">
-<title>VCD-Wiedergabe</title>
-<para>
-Für eine komplette Liste an verfügbaren Optionen lies bitte die
-Manpage. Die Syntax für eine Standard Video CD (VCS) lautet wie folgt:
-<screen>mplayer vcd://<replaceable><Track></replaceable> [-cdrom-device <replaceable><Gerät></replaceable>]</screen>
-Beispiel:
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-Das Standard-VCD-Gerät ist <filename>/dev/cdrom</filename>. Wenn deine
-Installation davon abweicht, erstelle einen Symlink oder gib das genaue Gerät auf
-der Kommandozeile an mit der Option <option>-cdrom-device</option>.
-</para>
-
-<note>
-<para>
-<!-- TODO: have horrible performance reading VCD - zu ueberpruefen -->
-Mindenstens Plextor und einige SCSI-CD-ROM-Laufwerke von Toshiba haben eine
-schreckliche VCD-Leseleistung. Das liegt daran, daà der
-<systemitem>ioctl</systemitem> CDROMREADRAW für diese Laufwerke
-nicht vollstaendig implementiert ist. Wenn du ein bisschen Fachwissen über
-SCSI- Programmierung hast, <ulink url="../../tech/patches.txt">hilf uns</ulink>
-bitte, allgemeine SCSI-Unterstützggung für VCDs zu implementieren.
-</para>
-</note>
-
-<para>
-Inzwischen kannst du die Daten von VCDs mit
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-extrahieren und die ausgegebene Datei mit <application>MPlayer</application>
-abspielen.
-</para>
-
-<formalpara>
-<title>VCD-Struktur</title>
-<para>
-Eine Video CD (VCD) besteht aus CD-ROM XA Sektoren, z.B. CD-ROM Mode 2
-Form 1 und 2 Tracks:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem>
-<para>
-Der erste Track ist im Format Mode 2 Form 2, was bedeutet, dass es
-L2-Fehlerkorrektur benutzt. Der Track enthält ein ISO-9660 Dateisystem
-mit 2048 Bytes/Sektor. Das Dateisystem enthält VCD Metadata-Informationen
-ebenso wie Standbilder, welche oft in Menüs benutzt werden.
-MPEG-Segmente für Menüs können auch im ersten Track gespeichert
-werden, die MPEGs müssen aber in eine Serie von 150-Sektoren-Einheiten
-gestückelt werden. Das ISO-9660 Dateisystem kann auch noch andere Dateien oder
-Programme enthalten, welche nicht für VCD-Betrieb erforderlich sind.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Der zweite und die restlichen Tracks sind generelle rohe 2324 Bytes/Sektor
-MPEG (Film) Tracks, welche ein MPEG-PS-Datenpaket pro Sektor enthalten.
-Diese sind im Format Mode 2 Form 1, so dass sie mehr Daten pro Sektor speichern
-können unter dem Verlust einiger Fehlerkorrektur. Es ist ebenso
-gültig, CD-DA Tracks in einer VCD nach dem ersten Track zu haben.
-Auf manchen Betriebssystemen gibt es ein paar Tricks, diese nicht-ISO-9660-Tracks
-im Dateisystem erscheinen zu lassen. Auf anderen Systemen wie GNU/Linux ist
-dies (noch) nicht der Fall. Hier können die MPEG-Daten
-<emphasis role="bold">nicht gemountet werden</emphasis>. Da sich die meisten Filme
-in einer solchen Art von Track befinden, solltest du zuerst <option>vcd://2</option> versuchen.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Es existieren ebenso VCDs ohne einen ersten Track (einzelner Track und
-überhaupt kein Dateisystem). Diese sind trotzudem abspielbar,
-können aber nicht gemountet werden.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Die Definition des Video-CD-Standards wird Philips "White Book" genannt und ist
-im Allgemeinen nicht online verfügbar, da es von Philips käuflich erworben werden
-muss. Detailliertere Informationen über Video-CDs befindet sich in der
-<ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimager- Documentation</ulink>.
-</para>
-</listitem>
-
-</itemizedlist>
-
-<formalpara>
-<title>.DAT Dateien</title>
-<para>
-Die ~600 MB Datei, die auf dem ersten Track einer gemounteten VCD sichtbar
-ist, ist keine richtige Datei! Es ist ein sogenanntes ISO-Gateway, geschaffen,
-um Windows den Zugriff auf solche Tracks zu geben (Windows erlaubt überhaupt
-keine direkten Zugriffe auf das Laufwerk). Unter Linux kannst du solche Dateien
-weder kopieren noch abspielen (sie enthalten Müll). Unter Windows ist dies
-möglich, da Windows ISO9660-Treiber das direkte Lesen der Tracks in diesen
-Dateien emuliert. Um eine .DAT Datei wiederzugeben, benötigst du einen
-Kernel-Treiber, welcher in der Linux-Version von PowerDVD zu finden ist.
-Es hat einen modifizierten ISO9660 Dateisystem-Treiber
-(<filename>vcdfs/isofs-2.4.X.o</filename>), welcher in der Lage ist,
-die rohen Tracks durch diese Schatten-.DAT-Dateien zu emulieren. Wenn du
-den Datenträger mit deren Treiber mountest, kannst du die .DAT Dateien
-kopieren und sogar mit <application>MPlayer</application> abspielen.
-Dies wird jedoch nicht mit dem Standard-ISO9660-Treiber des Linux-Kernels
-funktionieren! Benutze statt dessen <option>vcd://</option>. Alternativen
-für das Kopieren von VCDs sind der neue Kernel-Treiber
-<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>
-(nicht Bestandteil des offiziellen Kernels), welcher CD-Sessions
-als Imagedateien darstellt, und
-<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>,
-ein Bit-für-Bit CD-Grabbing/Kopier-Programm.
-</para>
-</formalpara>
-
-</sect1>
-
-
-<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
-<title>Edit Decision Lists (EDL)</title>
-
-<para>
-Das System der "edit decision list" (EDL) erlaubt dir, Abschnitte von Videos
-während der Wiedergabe automatisch zu überspringen oder stummzuschalten,
-basierend auf einer filmspezifischen EDL-Konfigurationsdatei.
-</para>
-
-<para>
-Dies ist nützlich für diejenigen, die einen Film im "familienfreundlichen" Modus
-anschauen möchten. Du kannst jegliche Gewalt oder Obszönität nach persönlichen
-Vorgaben aus einem Film herausschneiden. Daneben gibt es noch weitere
-Nutzungsmöglichkeiten wie dem automatischen Ãberspringen von Werbung in den
-Videos, die du dir anschaust.
-</para>
-
-<para>
-Das EDL-Dateiformat ist ziemlich simpel. Es gibt einen Befehl pro Zeile, der
-angibt, was zu tun ist (überspringen/stumm schalten) und wann es zu tun ist (benutzt pts in Sekunden).
-</para>
-
-<sect2 id="edl_using">
-<title>Benutzung einer EDL-Datei</title>
-<para>
-Füge die Option <option>-edl <dateiname></option> mit der EDL-Datei,
-die auf das Video angewendet werden soll, hinzu, wenn du
-<application>MPlayer</application> aufrufst.
-</para>
-</sect2>
-
-<sect2 id="edl_making">
-<title>Erstellung einer EDL-Datei</title>
-<para>
-Das aktuelle EDL-Dateiformat ist das folgende:
-<programlisting>[Anfangssekunde] [Endsekunde] [Aktion]</programlisting>
-Wobei die Sekunden FlieÃkommazahlen sind und die Aktion entweder
-<literal>0</literal> zum Ãberspringen oder <literal>1</literal> für
-Stummschaltung. Beispiel:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0<!--
---></programlisting>
-Dies wird den Bereich von Sekunde 5.3 bis Sekunde 7.1 des Videos überspringen
-und dann bei 15 Sekunden stummschalten, bei 16.7 Sekunden den Ton wieder
-anschalten. Der Bereich zwischen den Sekunden 420 bis 422 wird übersprungen.
-Diese Aktionen werden ausgeführt, wenn der Wiedergabetimer die in der Datei
-angegebenen Zeiten erreicht.
-</para>
-
-<para>
-Um eine EDL-Datei zu erstellen, die als Arbeitsvorlage benutzt werden kann,
-benutze die Option <option>-edlout <dateiname></option>.
-Drücke dann während der Wiedergabe <keycap>i</keycap>, um den Anfang und as Ende
-eines zu überspringenden Blocks zu markieren. Ein entsprechender Eintrag wird für
-diese Zeit in die Datei geschrieben. Danach kannst du Feineinstellungen an
-der generierten EDL-Datei vornehmen und zusätzlich die Standardeinstellung ändern,
-welche darin besteht, den Block, der in einer Zeile beschrieben ist, zu überspringen.
-</para>
-</sect2>
-
-</sect1>
-
-
-<sect1 id="advaudio" xreflabel="Advanced Audio">
-<title>Audio für Fortgeschrittene</title>
-
-<sect2 id="advaudio-surround">
-<title>Surround/Multichannel-Wiedergabe</title>
-
-<sect3 id="advaudio-surround-DVD">
-<title>DVDs</title>
-<para>
-Die meisten DVDs und viele andere Dateien enthalten Surround-Sound.
-<application>MPlayer</application> unterstützt Surround-Wiedergabe, aktiviert diese
-jedoch nicht in der Voreinstellung, da Stereo-Ausrüstung weit gebräuchlicher ist.
-Um eine Datei abzuspielen, die mehr als zwei Audiokanäle hat, benutze
-die Option <option>-channels</option>.
-Um eine DVD mit 5.1-Ton abzuspielen, benutze beispielsweise:
-
-<screen>mplayer dvd://1 -channels 6</screen>
-
-Beachte, dass es sich trotz des Namens "5.1" um sechs diskrete Kanäle handelt.
-Wenn du eine entsprechende Ausrüstung für Surround-Sound hast, ist es sicher, die
-Option <option>channels</option> in die <application>MPlayer</application>-Konfigurationsdatei
-<filename>~/.mplayer/config</filename> zu schreiben. Um zum Beispiel Quadrophonie-Wiedergabe
-als Voreinstellung zu verwenden, füge folgende Zeile hinzu:
-
-<programlisting>channels=4</programlisting>
-
-<application>MPlayer</application> wird dann den Ton in vier Kanäle ausgeben, falls
-alle vier Kanäle zur Verfügung stehen.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-stereoinfour">
-<title>Stereo-Dateien auf vier Lautsprechern wiedergeben</title>
-
-<para>
-<application>MPlayer</application> dupliziert per Voreinstellung keine Kanäle, genausowenig
-wie die meisten Audiotreiber. Wenn du dies manuell tun möchtest:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af channels=2:2:0:1:0:0</screen>
-
-Siehe den Abschnitt über das <link linkend="advaudio-channels-copying">Kopieren von Kanälen</link>
-für eine Erklärung.
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-surround-passthrough">
-<title>AC3/DTS-Passthrough</title>
-
-<para>
-DVDs enthalten Surround-Ton normalerweise encodiert im Format AC3 (Dolby Digital)
-oder DTS (Digital Theater System). Manche moderne Audioausrüstung ist dazu in
-der Lage, diese Formate intern zu decodieren.
-<application>MPlayer</application> kann angewiesen werden, die Audiodaten weiterzuleiten,
-ohne diese zu decodieren. Dies wird jedoch nur funktionieren, wenn du einen
-S/PDIF- (Sony/Philips Digital Interface) Anschluà an deiner Soundkarte hast.
-</para>
-
-<para>
-Wenn deine Audioausrüstung sowohl AC3 als auch DTS decodieren kann, ist es sicher, Passthrough
-für beide Formate zu aktivieren. Sonst solltest du Passthrough nur für das Format aktivieren,
-das deine Ausrüstung unterstützt.
-</para>
-
-<itemizedlist>
-<title>Passthrough auf der Kommandozeile aktivieren:</title>
-<listitem><para>
- Für nur AC3, benutze <option>-ac hwac3</option>
-</para></listitem>
-<listitem><para>
- Für nur DTS, benutze <option>-ac hwdts</option>
-</para></listitem>
-<listitem><para>
- Für AC3 und DTS, benutze <option>-afm hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>
- Passthrough in der <application>MPlayer</application>-Konfigurationsdatei
- aktivieren:
-</title>
-<listitem><para>
- Für nur AC3, benutze <option>ac=hwac3,</option>
-</para></listitem>
-<listitem><para>
- Für nur DTS, benutze <option>ac=hwdts,</option>
-</para></listitem>
-<listitem><para>
- Für AC3 und DTS, benutze <option>afm=hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<para>
-Beachte, dass am Ende von <option>ac=hwac3,</option> und <option>ac=hwdts,</option> ein Komma (",")steht.
-Dies wird dafür sorgen, dass <application>MPlayer</application> auf andere Codecs zurückgreift,
-die er normalerweise benutzt, wenn eine Datei keinen AC3- oder DTS-Ton besitzt.
-<option>afm=hwac3</option> benötigt kein Komma; <application>MPlayer</application> wird sowieso
-auf andere zurückgreigen, wenn eine Audiofamilie angegeben wurde.
-</para>
-
-</sect3>
-
-<sect3 id="hwmpa-surround-passthrough">
-<title>MPEG-Audio-Passthrough</title>
-
-<para>
-Digitale TV-Ãbertragungen (wie DVB und ATSC) und manche DVDs haben normalerweise
-MPEG-Audiostreams (vornehmlich MP2).
-Manche MPEG-Hardwaredecoder wie vollausgestattete DVB-Karten und DXR2-Adapter
-können dieses Format nativ decodieren.
-<application>MPlayer</application> kann angewiesen werden, die Audiodaten weiterzuleiten,
-ohne sie zu decodieren.
-</para>
-
-<para>
-Um diesen Codec zu verwenden:
-<screen> mplayer -ac hwmpa </screen>
-</para>
-</sect3>
-
-<sect3 id="advaudio-surround-matrix">
-<title>Matrix-encodierter Ton</title>
-
-<para>
-<emphasis>***TODO***</emphasis>
-</para>
-<para>
-Dieser Abschnitt muss noch geschrieben werden und kann nicht vervollständigt werden,
-bis uns jemand mit Beispieldateien zum Testen versorgt. Wenn du irgendwelche
-Matrix-encodierten Audiodateien hast, weiÃt, wo man welche finden kann oder andere
-hilfreiche Informationen hast, schicke bitte eine Nachricht auf die
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>-Mailing-Liste.
-Benutzt "[matrix-encoded audio]" in der Betreffzeile.
-</para>
-<para>
-Wenn keine Dateien oder weitere Informationen hervorkommen, wird dieser Abschnitt entfernt.
-</para>
-
-<para>
-Gute Links:
-<itemizedlist>
-<listitem>
-<para>
- <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para>
-</listitem>
-<listitem>
-<para>
- <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para>
-</listitem>
-</itemizedlist>
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-surround-hrtf">
-<title>Surround-Emulation bei Kopfhörern</title>
-
-<para>
-<application>MPlayer</application> besitzt einen HRTF- (Head Related Transfer
-Function) Filter basierend auf einem
-<ulink url="http://sound.media.mit.edu/KEMAR.html">MIT-Projekt</ulink>,
-bei dem Messungen von an einem Puppenkopf befestigten Mikrofonen vorgenommen wurden.
-</para>
-
-<para>
-Obwohl es unmöglich ist, ein Surroundsystem exakt zu imitieren, liefert
-<application>MPlayer</application>s HRTF-Filter in 2-Kanal-Kopfhörern einen
-räumlich eindringlicheren Ton. Reguläres Heruntermixen kombiniert einfach alle
-Kanäle zu zweien; neben der Kombinierung der Kanäle generiert <option>hrtf</option>
-feine Echos, erhöht die Stereoseparation leicht und verändert die Lautstärke mancher
-Frequenzen. Ob HRTF-Klänge besser klingen, kann vom Quellmaterial und persönlichem
-Geschmack abhängen, den Filter auszuprobieren ist aber definitiv einen Versuch wert.
-</para>
-
-<para>
-Eine DVD mit HRTF abspielen:
-
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-
-</para>
-
-<para>
-<option>hrtf</option> funktioniert nur gut bei 5 oder 6 Kanälen und benötigt auÃerdem
-48 kHz Ton. DVD-Ton ist schon 48 kHz, wenn du aber eine Datei mit einer anderen Samplerate
-hast, die du mit <option>hrtf</option> abspielen willst, musst du sie resamplen:
-
-<screen>mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf</screen>
-
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-surround-troubleshooting">
-<title>Troubleshooting/Problemlösung</title>
-
-<para>
-Wenn du keinen Ton aus deinen Surround-Kanälen hören kannst, überprüfe deine
-Mixereinstellungen mit Mixerprogrammen wie <application>alsamixer</application>;
-Audioausgaben sind oft stummgeschaltet und per Voreinstellung auf Lautstärke 0 gesetzt.
-</para>
-
-</sect3>
-
-</sect2>
-
-
-<sect2 id="advaudio-channels">
-<title>Kanalmanipulationen</title>
-
-<sect3 id="advaudio-channels-general">
-<title>Allgemeine Informationen</title>
-
-<para>
-Leider gibt es keinen Standard, der vorgibt, wie Kanäle angeordnet sind. Die unten
-gelisteten Reihenfolgen sind die von AC3 und halbwegs typisch; versuche diese und
-schaue, ob sie zu deiner Quelle passen. Kanäle sind durchnummeriert, beginnend bei 0.
-
-<orderedlist spacing="compact">
-<title>Mono</title>
- <listitem override="0"><para>mittig</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>Stereo</title>
- <listitem override="0"><para>links</para></listitem>
- <listitem><para>rechts</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>Quadraphonisch</title>
- <listitem override="0"><para>links vorne</para></listitem>
- <listitem><para>rechts vorne</para></listitem>
- <listitem><para>links hinten</para></listitem>
- <listitem><para>rechts hinten</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>Surround 4.0</title>
- <listitem override="0"><para>links vorne</para></listitem>
- <listitem><para>rechts vorne</para></listitem>
- <listitem><para>mittig hinten</para></listitem>
- <listitem><para>mittig vorne</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>Surround 5.0</title>
- <listitem override="0"><para>links vorne</para></listitem>
- <listitem><para>rechts vorne</para></listitem>
- <listitem><para>links hinten</para></listitem>
- <listitem><para>rechts hinten</para></listitem>
- <listitem><para>mittig vorne</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>Surround 5.1</title>
- <listitem override="0"><para>links vorne</para></listitem>
- <listitem><para>rechts vorne</para></listitem>
- <listitem><para>links hinten</para></listitem>
- <listitem><para>rechts hinten</para></listitem>
- <listitem><para>mittig vorne</para></listitem>
- <listitem><para>Subwoofer</para></listitem>
-</orderedlist>
-
-</para>
-
-<para>
-Die Option <option>-channels</option> wird benutzt, um vom Audiodecoder eine Anzahl
-Kanäle zu fordern. Manche Audiocodecs benutzen die angegebenen Kanäle, um zu entscheiden,
-ob Heruntermixen der Quelle nötig ist. Beachte, dass dies nicht immer die Anzahl der
-Ausgabekanäle beeinflusst. Zum Beispiel wird die Angabe der Option <option>-channels 4</option>
-bei der Wiedergabe einer Stereo-MP3-Datei zur Ausgabe in 2 Kanälen führen, da der
-MP3-Codec keine zusätzlichen Kanäle produziert.
-</para>
-
-<para>
-Der Audiofilter <option>channels</option> kann genutzt werden, um Kanäle zu erstellen oder
-zu entfernen. Er ist nützlich für die Kontrolle der Anzahl der Kanäle, die an die Soundkarte
-geschickt werden. Siehe folgenden Abschnitt für weitergehende Informationen zur Kanalmanipulation.
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-channels-mono">
-<title>Mono-Wiedergabe mit zwei Lautsprechern</title>
-
-<para>
-Mono klingt viel besser, wenn es von zwei Lautsprechern wiedergegeben wird -
-besonders bei Kopfhörern. Audiodateien, die wirklich nur einen Kanal haben,
-werden automatisch von zwei Lautsprechern wiedergeben; leider sind jedoch die meisten
-Dateien in mono tatsächlich als stereo encodiert, bei dem ein Kanal stumm ist.
-Der einfachste und sicherste Weg, zwei Lautsprecher dasselbe ausgeben zu lassen ist
-der Filter <option>extrastereo</option>:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af extrastereo=0</screen>
-
-</para>
-
-<para>
-Dieser mittelt über beide Kanäle, was darin resultiert, dass beide Kanäle jeweils halb
-so laut sind wie das Original. Die nächsten Abschnitte enthalten Beispiele für
-andere Möglichkeiten, dies ohne Minderung der Lautstärke zu erreichen, sie sind
-aber komplexer und erfordern verschiedene Optionen, je nach dem, welche Kanäle
-beibehalten werden sollen. Wenn du wirklich die Lautstärke beibehalten musst,
-ist es möglicherweise leichter, mit dem Filter <option>volume</option> zu experimentieren
-und den dafür richtigen Wert zu finden. Zum Beispiel:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af extrastereo=0,volume=5</screen>
-
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-channels-copying">
-<title>Kopieren/Verschieben von Kanälen</title>
-
-<para>
-Der Filter <option>channels</option> kann einen beliebigen oder alle Kanäle verschieben.
-All die Suboptionen für den <option>channels</option>-Filter einzustellen kann
-kompliziert sein und erfordert ein wenig Sorgfalt.
-
-<orderedlist spacing="compact">
-<listitem>
-<para>
- Entscheide, wieviele Ausgabekanäle du benötigst. Dies ist die erste Suboption.
-</para>
-</listitem>
-<listitem>
-<para>
- Zähle, wieviele Kanäle du umordnen möchtest. Dies ist die zweite Suboption.
- Jeder Kanal kann gleichzeitig zu mehreren verschiedenen Kanälen verschoben werden.
- Behalte jedoch im Gedächtnis, dass ein Kanal leer ist, wenn er (auch wenn er
- nur an ein Ziel) verschoben wird, es sei denn, ein anderer Kanal ersetzt ihn.
- Um einen Kanal zu kopieren, wobei die Quelle gleich bleibt, verschiebe den Kanal
- ins Ziel und in die Quelle, zum Beispiel:
- <programlisting>
-channel 2 --> channel 3
-channel 2 --> channel 2<!--
- --></programlisting>
-</para>
-</listitem>
-<listitem>
-<para>
- Schreibe die Kanalkopien als Suboptionspaare aus. Beachte, dass der erste Kanal
- 0 ist, der zweite 1 usw. Die Reihenfolge dieser Suboptionen spielt keine Rolle,
- solang sie entsprechend in Paare der Form
- <replaceable>Quelle:Ziel</replaceable> gruppiert sind.
-</para>
-</listitem>
-</orderedlist>
-</para>
-
-
-<bridgehead>Beispiel: ein Kanal auf zwei Lautsprecher</bridgehead>
-
-<para>
-Hier ist ein Beispiel einer weiteren Möglichkeit, einen Kanal auf zwei Lautsprechern wiederzugeben.
-Für dieses Beispiel sei angenommen, dass der linke Kanal abgespielt und der rechte verworfen
-werden soll. Befolge die oben angegebenen Schritte:
-<orderedlist>
-<listitem>
-<para>
- Um einen Ausgabekanal für jeden der beiden Lautsprecher bereitzustellen, muss
- die erste Suboption "2" sein.
-</para>
-</listitem>
-<listitem>
-<para>
- Der linke Kanal muss zum rechten verschoben werden, und auch zu sich selbst, damit
- er nicht leer ist. Dies sind insgesamt also zwei Bewegungen, was die zweite
- Suboption auch "2" macht.
-</para>
-</listitem>
-<listitem>
-<para>
- Den linken Kanal (Kanal 0) zum rechten (Kanal 1) zu verschieben, entspricht dem
- Suboptionspaar "0:1", "0:0" bewegt den linken Kanal auf sich selbst.
-</para>
-</listitem>
-</orderedlist>
-All dies zusammengesetzt ergibt:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af channels=2:2:0:1:0:0</screen>
-</para>
-
-<para>
-Der Vorteil, den diese Methode gegenüber <option>extrastereo</option> hat, ist, dass
-die Lautstärke auf jedem Ausgabekanal die gleiche ist wie die des Eingabekanals.
-Der Nachteil ist, dass die Suboptionen zu "2:2:1:0:1:1" geändert werden müssen, wenn
-der gewünschte Ton im rechten Kanal ist. AuÃerdem ist es schwerer zu merken und einzutippen.
-</para>
-
-<bridgehead>Beispiel: ein Kanal auf zwei Lautsprecher, Abkürzung</bridgehead>
-
-<para>
-Tatsächlich gibt es einen viel einfacheren Weg, um mit dem <option>channels</option>-Filter
-den linken Kanal auf beiden Lautsprechern wiederzugeben:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af channels=1</screen>
-
-Der zweite Kanal wird verworfen und ohne weitere Suboptionen bleibt der übrige Kanal
-allein. Soundkartentreiber spielen einkanaliges Audio automatisch auf beiden
-Lautsprechern ab. Dies funktioniert nur, wenn der gewünschte Kanal der linke ist.
-</para>
-
-<bridgehead>Beispiel: Dupliziere die vorderen Kanäle hinten</bridgehead>
-<para>
-Eine weitere übliche Aktion ist die Duplizierung der vorderen Kanäle, um sie auf den hinteren
-Lautsprechern einer quadraphonischen Installation abzuspielen.
-<orderedlist>
-<listitem>
-<para>
- Es sollte vier Ausgabekanäle geben. Die erste Suboption ist "4".
-</para>
-</listitem>
-<listitem>
-<para>
- Jeder der zwei Frontkanäle muss zum entsprechenden hinteren Kanal und zu sich selbst
- bewegt werden. Das sind vier Bewegungen, also ist die zweite Suboption "4".
-</para>
-</listitem>
-<listitem>
-<para>
- Der vordere linke Kanal (0) muss zum hinteren linken (Kanal 2) bewegt werden: "0:2".
- Der vordere linke muss auch zu sich selbst bewegt werden: "0:0".
- Der vordere rechte (Kanal 1) wird zum hinteren rechten (Kanal 3) bewegt: "1:3", und zu
- sich selbst: "1:1".
-</para></listitem>
-</orderedlist>
-Setze alle Suboptionen zusammen und du erhältst:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1</screen>
-
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-channels-mixing">
-<title>Kanäle mixen</title>
-
-<para>
-Der Filter <option>pan</option> in Kanäle in vom Benutzer angegebenen Verhältnissen mixen.
-Dies ermöglicht alles, was der <option>channels</option>-Filter kann, und mehr. Leider
-sind die Suboptionen auch viel schwieriger.
-<orderedlist>
-<listitem>
-<para>
- Entscheide, mit wievielen Kanälen du arbeiten möchtest. Dies musst du mit der Option
- <option>-channels</option> und/oder <option>-af channels</option> angeben.
- Spätere Beispiele werden dir zeigen, wann welcher zu benutzen ist.
-</para>
-</listitem>
-<listitem>
-<para>
- Entscheide, mit wievielen Kanälen du <option>pan</option> füttern möchtest (weitere
- decodierte Kanäle werden verworfen).
- Dies ist die erste Suboption, und diese kontrolliert auch, wieviele Kanäle für
- die Ausgabebereitgestellt werden.
-</para>
-</listitem>
-<listitem>
-<para>
- Die übrigen Suboptionen geben an, wieviel von jedem Kanal in jeden anderen Kanal gemixt
- werden. Das ist der komplizierte Teil. Um die Arbeit übersichtlich zu machen,
- zerlege die Suboptionen in mehrere Teile, einen Teil für jeden Ausgabekanal.
- Jede Suboption innerhalb eines Teils entspricht einem Eingabekanal. Die Anzahl, die du
- angibst, ist die prozentuale Menge, die vom Eingabekanal in den Ausgabekanal gemixt wird.
-</para>
-<para>
- <option>pan</option> akzeptiert Werte von 0 bis 512, was Werte von 0% bis 512000%
- der ursprünglichen Lautstärke ergibt.. Sei vorsichtig bei Werten gröÃer als 1. Dies
- liefert nicht nur eine sehr hohe Lautstärke, sondern sprengt auch den Samplebereich deiner
- Soundkarte, und du könntest schmerzvolle Pops und Klicken hören. Wenn du willst,
- kannst du auf <option>pan</option> <option>,volume</option> folgen lassen, um eine
- Abschneidung zu ermöglichen, es ist aber das beste, die Werte von <option>pan</option>
- niedrig genug zu halten, dass keine Abschneidung nötig ist.
-</para>
-</listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Beispiel: Ein Kanal auf zwei Lautsprechern</bridgehead>
-
-<para>
-Hier ist also noch ein Beispiel für die Wiedergabe des linken Kanals auf zwei Lautsprechern.
-Befolge die Schritte oben:
-<orderedlist>
-<listitem>
-<para>
- <option>pan</option> sollte zwei Kanäle ausgeben, also ist die erste Suboption "2".
-</para>
-</listitem>
-<listitem>
-<para>
- Da wir zwei Eingabekanäle haben, gibt es die Suboptionen in zwei Teilen.
- Da es auch zwei Ausgabekanäle gibt, wird es pro Teil zwei Suboptionen geben.
- Der linke Kanal der Datei sollte in voller Lautstärke auf den neuen linken Kanal
- und den rechten gehen, daher ist der erste Teil der Suboptionen "1:1".
- Der rechte Kanal sollte weggelassen werden, daher ist der zweite "0:0".
- Alle 0-Werte am Ende können weggelassen werden, aber um das Verstehen leichter zu
- machen, behalten wir sie.
-</para>
-</listitem>
-</orderedlist>
-Diese Optionen ergeben zusammen:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af pan=2:1:1:0:0</screen>
-
-Wenn der rechte Kanal anstelle des linken gewünscht ist, sind die Suboptionen für
-<option>pan</option> "2:0:0:1:1".
-</para>
-
-
-<bridgehead>Beispiel: Ein Kanal auf zwei Lautsprechern, Abkürzung</bridgehead>
-
-<para>
-Wie bei der Option <option>channels</option> gibt es eine Abkürzung, die nur mit dem linken
-Kanal funktioniert:
-
-<screen>mplayer <replaceable>dateiname</replaceable> -af pan=1:1</screen>
-
-Da <option>pan</option> nur einen Eingabekanal hat (der andere wird verworfen), gibt es nur
-einen Teil mit einer Suboption, die angibt, dass der einzige Kanal 100% von sich selbst bekommt.
-</para>
-
-<bridgehead>Beispiel: 6-kanaliges PCM heruntermixen</bridgehead>
-<para>
-<application>MPlayer</application>s Decoder für 6-kanaliges PCM ist nicht in der Lage, herunterzumixen.
-Hier ist eine Möglichkeit, PCM unter Verwendung von <option>pan</option> herunterzumixen:
-<orderedlist>
-<listitem>
-<para>
- Die Anzahl der Ausgabekanäle ist zwei, daher ist die erste Suboption "2".
-</para>
-</listitem>
-<listitem><para>
- Bei sechs Eingabekanälen gibt es sechs Teile Optionen. Glücklicherweise müssen wir nur zwei
- Teile machen, da wir uns nur für die Ausgabe der ersten beiden Kanäle interessieren.
- Die übrigen vier Teile können weggelassen werden. Sei dir im klaren darüber, dass nicht
- alle Audiodateien mit mehreren Kanälen die gleiche Kanalabfolge haben! Dieses Beispiel
- demonstriert das Heruntermixen einer Datei mit den gleichen Kanälen wie MAC3 5.1:
- <programlisting>
-0 - vorne links
-1 - vorne rechts
-2 - hinten links
-3 - hinten rechts
-4 - mittig vorne
-5 - Subwoofer<!--
- --></programlisting>
- Der erste Teil der Suboptionen listet die Prozente der ursprünglichen Lautstärke, und zwar
- in der Reihenfolge, die jeder Ausgabekanal vom vorderen linken Kanal erhalten soll: "1:0".
- Der vordere rechte Kanal sollte zur rechten Ausgabe gehen: "0:1".
- Das gleiche gilt für die hinteren Kanäle: "1:0" und "0:1".
- Der mittlere Kanal geht mit jeweils halber Lautstärke in beide Ausgabekanäle:
- "0.5:0.5", und der Subwoofer geht mit voller Lautstärke in beide: "1:1".
-</para>
-</listitem>
-</orderedlist>
-All dies zusammen ergibt:
-
-<screen>mplayer <replaceable>6-kanal.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1</screen>
-
-Die oben gelisteten Prozente sind nur ein einfaches Beispiel. Fühle dich nicht eingeschränkt,
-mit ihnen zu experimentieren.
-</para>
-<bridgehead>Beispiel: Wiedergabe von 5.1-Audio auf groÃen Lautsprechern ohne Subwoofer</bridgehead>
-
-<para>
-Wenn du ein riesiges Paar Front-Lautsprecher hast und kein Geld darauf verschwenden möchtest,
-einen Subwoofer für ein komplettes 5.1-Soundsystem zu erhalten. Wenn du die Option
-<option>-channels 5</option> benutzt, damit liba52 5.1-Ton in 5.0 decodiert, wird der Subwoofer-Kanal
-einfach weggelassen. Wenn du den Subwoofer-Kanal selbst verteilen möchtest, musst du
-manuell mit <option>pan</option> heruntermixen:
-
-<orderedlist>
-<listitem>
-<para>
- Da <option>pan</option> alle sechs Kanäle untersuchen muss, gib
- <option>-channels 6</option> an, so dass liba52 sie alle decodiert.
-</para>
-</listitem>
-<listitem>
-<para>
- <option>pan</option> gibt nur fünf Kanäle aus, die erste Suboption ist 5.
-</para>
-</listitem>
-<listitem>
-<para>
- Sechs Eingabekanäle und fünf Ausgabekanäle bedeuten sechs Teile von fünf Suboptionen.
- <itemizedlist spacing="compact">
- <listitem>
- <para>
- Der linke vordere Kanal wird nur auf sich selbst repliziert: "1:0:0:0:0"
- </para>
- </listitem>
- <listitem>
- <para>
- Das gleiche gilt für den rechten vorderen Kanal: "0:1:0:0:0"
- </para>
- </listitem>
- <listitem>
- <para>
- Das gleiche gilt für den linken hinteren Kanal:"0:0:1:0:0"
- </para>
- </listitem>
- <listitem>
- <para>
- Und das gleiche auch für den rechten hinteren Kanal: "0:0:0:1:0"
- </para>
- </listitem>
- <listitem>
- <para>
- Vordere Mitte auch: "0:0:0:0:1"
- </para>
- </listitem>
- <listitem>
- <para>
- Jetzt müssen wir entscheiden, was mit dem Subwoofer geschieht, zum Beispiel
- eine Hälfte jeweils nach vorne rechts und vorne links: "0.5:0.5:0:0:0"
- </para>
- </listitem>
- </itemizedlist>
-</para>
-</listitem>
-</orderedlist>
-Kombiniere all diese Optionen, um folgendes zu erhalten:
-
-<screen>mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0</screen>
-
-</para>
-
-</sect3>
-
-</sect2>
-
-
-<sect2 id="advaudio-volume">
-<title>Anpassung der softwaregesteuerten Lautstärke</title>
-
-<para>
-Manche Audiotracks sind zu leise, um sie bequem ohne Anpassung zu hören.
-Das kann zum Problem werden, wenn dein Audiosystem diese Anpassung nicht für dich
-vornehmen kann. Die Option <option>-softvol</option> weist <application>MPlayer</application>
-an, einen internen Mixer zu verwenden. Du kannst die Tasten zur Anpassung der Lautstärke
-(in der Voreinstellung <keycap>9</keycap> und <keycap>0</keycap>) verwenden, um
-wesentlich höhere Lautstärkelevel zu erreichen. Beachte, dass dies nicht den Mixer deiner
-Soundkarte umgeht; <application>MPlayer</application> wird das Signal nur verändern, bevor
-es an die Soundkarte gesendet wird.
-
-Das folgende Beispiel ist ein guter Anfang:
-
-<screen>mplayer <replaceable>leise-datei</replaceable> -softvol -softvol-max 300</screen>
-
-Die Option <option>-softvol-max</option> gibt die maximal erlaubte Ausgabelautstärke als
-prozentualen Wert hinsichtlich der Originallautstärke an.
-Beispielsweise würde <option>-softvol-max 200</option> erlauben, die Lautstärke doppelt so
-hoch wie das ursprüngliche Level zu setzen. Es ist sicher, einen gröÃeren Wert mit
-<option>-softvol-max</option> zu setzen; die höhere Lautstärke wird nicht verwendet, solange
-du nicht die entsprechenden Tasten drückst.
-Der einzige Nachteil bei Verwendung von hohen Werten ist, dass du nicht ganz so genaue Kontrolle
-bei der Verwendung der Tasten hast, da <application>MPlayer</application> die Lautstärke in
-Prozenten der maximalen Lautstärke anpasst. Benutze einen niedrigeren Wert mit
-<option>-softvol-max</option> und/oder gib <option>-volstep 1</option> an,
-wenn du höhere Genauigkeit brauchst.
-</para>
-
-<para>
-Die Option <option>-softvol</option> funktioniert durch Kontrolle des Audiofilters
-<option>volume</option>. Wenn du eine Datei von Anfang an mit einer gewissen Lautstärke
-abspielen möchtest, kannst du die <option>volume</option> manuell angeben:
-
-<screen>mplayer <replaceable>leise-datei</replaceable> -af volume=10</screen>
-
-Dies wird die Datei mit einer Erhöhung um zehn Dezibel wiedergeben.
-Sei vorsichtig bei der Verwendung des <option>volume</option>-Filters - du kannst deinen Ohren
-leicht schaden, wenn du einen zu hohen Wert benutzt. Beginne niedrig und arbeite dich stufenweise
-hoch, bis du ein Gefühl dafür bekommst, wieviel Anpassung notwendig ist. AuÃerdem kann es
-passieren, wenn du einen übermäÃig hohen Wert angibst, dass <option>volume</option> das Signal
-kappen muss, um keine Daten an die Soundkarte zu schicken, die auÃerhalb des gültigen Bereichs liegen;
-dies führt zu gestörtem Ton.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="tv-input" xreflabel="TV input">
-<title>TV-Input</title>
-
-<para>
- Dieser Abschnitt behandelt das <emphasis role="bold">Anschauen/Grabben von einem V4L-kompatiblen TV-Empfänger</emphasis>.
- Siehe Manpage für eine Beschreibung der TV-Optionen und Tastensteuerungen.
-</para>
-
-
-<sect2 id="tv-compilation">
-<title>Compilierung</title>
-
-<procedure>
- <step>
- <para>
- Zuerst musst du neu compilieren. <filename>./configure</filename> wird die Kernelheader
- vom v4l-Kram und die Existenz der <filename>/dev/video*</filename>-Einträge
- automatisch erkennen und TV-Unterstützung wird eingebaut werden
- (siehe Ausgaben von <filename>./configure</filename>).
- </para>
- </step>
- <step>
- <para>
- Stelle sicher, dass dein Empfänger mit anderer TV-Software wie zum Beispiel
- <application>XawTV</application> unter Linux läuft.
- </para>
- </step>
-</procedure>
-</sect2>
-
-<sect2 id="tv-tips">
-<title>Tipps zum Gebrauch</title>
-<para>
- Die vollständige Liste der Optionen ist in der Manpage verfügbar.
- Hier sind nur ein paar Tipps:
-<itemizedlist>
- <listitem>
- <para>
- Benutze die Option <option>channels</option>. Ein Beispiel:
- <screen>-tv channels=26-MTV1,23-TV2</screen>
- Erklärung: Durch Verwendung dieser Option sind nur die Kanäle 26 und 23 in Gebrauch,
- und es wird beim Kanalwechsel einen netten OSD-Text geben, der den Namen des Kanals
- anzeigt. Leerzeichen im Kanalnamen müssen durch das Zeichen "_" ersetzt werden.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Wähle vernünftige Bildabmessungen. Die Abmessungen des resultierenden Bildes sollten durch
- 16 teilbar sein.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Wenn du das Video bei einer vertikalen Auflösung höher als halb der vollen
- Auflösung einfängst (z.B. 288 für PAL oder 240 für NTSC), dann werden die
- 'Frames', die du erhältst, wirklich jeweils ausgelassene Paare von Feldern sein.
- Je nach dem, was du mit dem Video anfängst, kannst du es in dieser Form belassen,
- (zerstörend) deinterlacen oder die Paare zu einzelnen Feldern machen.
- </para>
- <para>
- Ansonsten wirst du einen Film erhalten, der während schnellbewegten Szenen gestört ist,
- und die Bitratenkontrolle wird vermutlich nicht in der Lage sein, die angegebene Bitrate
- einzuhalten, da die Interlacing-Artefakte hohe Details produzieren und daher eine Menge
- Bandbreite kosten. Du kannst Deinterlacing mit <option>-vf pp=DEINT_TYPE</option>
- aktivieren. Normalerweise leistet <option>pp=lb</option> gute Arbeit, aber das ist
- Geschmackssache. Schaue nach anderen Deinterlacing-Algorithmen im Handbuch und versuche
- es mit denen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Schneide tote Bereiche ab. Wenn du Video aufnimmst, sind die Bereiche an den Rändern
- normalerweise schwarz oder enthalten Rauschen. Diese wiederum verbrauchen unnötige
- Bandbreite. Genauer gesagt sind es nicht die schwarzen Bereiche selbst, sondern
- die scharfen Ãbergänge zwischen dem schwarzen und dem helleren Videobild, die das tun.
- Aber das ist für den Moment nicht so wichtig. Bevor du mit der Aufnahme beginnst,
- passe alle Argumente der Option <option>crop</option> so an, dass der ganze Müll
- an den Rändern abgeschnitten wird. Nochmal, vergiss nicht, die resultierenden
- Abmessungen vernünftig zu halten.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Achte auf CPU-Load. Es sollte die 90%-Grenze die meiste Zeit über nicht überschreiten.
- Wenn du einen groÃen Aufnahmepuffer hast, kann <application>MEncoder</application>
- eine Ãberlastung für ein paar Sekunden überstehen, aber nicht mehr.
- Es ist besser, 3D-OpenGL-Bildschirmschoner und ähnlichen Kram abzustellen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Spiele nicht mit der Systemuhr herum. <application>MEncoder</application> benutzt
- sie für A/V-Synchronisation. Wenn du die Systemuhr anpasst (vor allem rückwärtig),
- verwirrt dies <application>MEncoder</application>, und du wirst Frames verlieren.
- Das ist ein wichtiger Sachverhalt, wenn du mit einem Netzwerk verbunden bist und
- Zeitsynchronisationssoftware wie NTP verwendest. Du musst NTP während des Aufnahmeprozesses
- ausschalten, wenn du zuverlässig aufnehmen möchtest.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Ãndere das <option>outfmt</option> nicht, es sei denn, du weiÃt, was du tust, oder
- deine Karte/Treiber den Standard (YV12-Farbraum) wirklich nicht unterstützt.
- In älteren Versionen von <application>MPlayer</application>/<application>MEncoder</application>
- war es notwendig, das Ausgabeformat anzugeben. Diese Sache sollte in aktuellen Releases
- behoben sein, und <option>outfmt</option> wird nicht weiter benötigt. Die Standardeinstellung
- genügt den meisten Zwecken. Zum Beispiel, wenn du mit
- <systemitem class="library">libavcodec</systemitem> nach DivX aufnimmst und
- <option>outfmt=RGB24</option> angibst, um die Qualität der aufgenommenen Bilder zu erhöhen,
- so wird das aufgenommene Bild später tatsächlich zurück zu YV12 konvertiert.
- Die einzige Sache, die du erreichst, ist eine massive Verschwendung von CPU-Power.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Um den Farbraum I420 anzugeben (<option>outfmt=i420</option>), musst du die Option
- <option>-vc rawi420</option> hinzufügen. Das liegt an einem Konflikt mit einem
- Intel Indeo Videocodec.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Es gibt viele Möglichkeiten, Audio aufzunehmen. Du kannst den Ton grabben entweder
- mit deiner Soundkarte über ein externes Kabel zwischen Videokarte und Line-In oder
- durch Benutzung des eingebauten ADC im bt878-Chip. In letzterem Falle musst den den
- Treiber <emphasis role="bold">btaudio</emphasis> laden. Lies die Datei
- <filename>linux/Documentation/sound/btaudio</filename> (im Kernel-Tree, nicht
- in dem von <application>MPlayer</application>) für ein paar Anweisungen,
- wie dieser Treiber verwendet wird.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Wenn <application>MEncoder</application> das Audiogerät nicht öffnen kann,
- stelle sicher, dass es wirklich verfügbar ist. Es kann Ãrger geben mit Soundservern
- wie aRts (KDE) oder ESD (GNOME). Wenn du eine Vollduplex-Soundkarte hast
- (fast jede vernünftige Karte unterstützt dies heutzutage) und du KDE laufen hast,
- probiere die Option "Vollduplex" im Eigenschaftenmenü des Soundservers.
- </para>
- </listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-
-<sect2 id="tv-examples">
-<title>Beispiele</title>
-
-<informalexample>
- <para>
- Dummy-Ausgabe zu AAlib :)
- <screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
- </para>
-</informalexample>
-
-<informalexample>
- <para>
- Input von Standard-V4L:
- <screen>mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://</screen>
- </para>
-</informalexample>
-
-<informalexample>
- <para>
- Ein gehobenes Beispiel. Dies sorgt dafür, dass <application>MEncoder</application>
- das volle PAL-Bild einfängt, die Ränder abschneidet und einen Deinterlacer mit einem linearen
- Blendalgorithmus auf das Bild anwendet. Der Ton wird mit dem LAME-Codec bei konstanter Bitrate
- von 64kbps komprimiert. Diese Einstellungen eigenen sich für das Einfangen von Filmen.
- <screen>
-mencoder -tv driver=v4l:width=768:height=576 \
--ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
--oac mp3lame -lameopts cbr:br=64 \
--vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://<!--
- --></screen>
- </para>
-</informalexample>
-
-<informalexample>
- <para>
- Dies wird zusätzlich die Bildabmessungen auf 384x288 ändern und das Video mit
- einer Bitrate von 250kbps im hochqualitativen Modus encodieren.
- Die Option vqmax lockert den Quantisierungsparameter und erlaubt dem Videokompressor, eine
- sehr niedrige Bitrate zu erlangen, sogar auf Kosten der Qualität. Dies kann verwendet werden
- für das Einfangen von langen TV-Serien, wo die Videoqualität nicht so wichtig ist.
- <screen>
-mencoder -tv driver=v4l:width=768:height=576 \
--ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
--oac mp3lame -lameopts cbr:br=48 \
--vf crop=720:540:24:18,pp=lb,scale=384:288 -sws 1 -o <replaceable>output.avi</replaceable> tv://<!--
- --></screen>
- Es ist auÃerdem möglich, in der Option <option>-tv</option> kleinere Bildabmessungen
- anzugeben und die Softwareskalierung auszulassen, aber dieser Ansatz nutzt die maximal
- verfügbaren Informationen und ist ein wenig resistenter gegen Störungen. Die bt8x8-Chips
- können das Mitteln der Pixel auf Grund einer Hardwarebeschränkung nur in horizontaler
- Richtung durchführen.
- </para>
-</informalexample>
-</sect2>
-</sect1>
-
-<sect1 id="tv-teletext">
-<title>Videotext</title>
-
-<para>Videotext ist momentan nur in MPlayer verfügbar, für die Treiber v4l und v4l2.</para>
-
-<sect2 id="tv-teletext-implementation-notes">
-<title>Anmerkungen zur Implementierung</title>
-
-<para>
- <application>MPlayer</application> unterstützt regulären Text, Grafiken und Navigationslinks.
- Leider werden farbige Seiten momentan nicht vollständig unterstützt - alle Seiten erscheinen
- in Graustufen. Untertitelseiten (auch bekannt als "Closed Captions") werden auch unterstützt.
-</para>
-
-<para>
- <application>MPlayer</application> beginnt beim Beginn vom TV-Empfang damit, alle Videoseiten
- zwischenzuspeichern, damit du nicht warten musst, bis die gewünschte Seite geladen ist.
-</para>
-
-<para>
- Anmerkung: Benutzung von Videotext mit <option>-vo xv</option> verursacht komische Farben.
-</para>
-
-</sect2>
-
-<sect2 id="tv-teletext-usage">
-<title>Videotext verwenden</title>
-
-<para>
- Um Decodierung von Videotext zu aktivieren, musst du das VBI-Gerät angeben,
- von dem die Videotextdaten empfangen werden (üblicherweise
- <filename>/dev/vbi0</filename> unter Linux). Dies kann erreicht werden durch Angabe
- der Option <option>tdevice</option> in deiner Konfigurationsdatei, siehe unten:
- <screen>tv=tdevice=/dev/vbi0</screen>
-</para>
-
-<para>
- Du musst möglicherweise den Videotextsprachcode für dein Land angeben.
- Um dir alle Sprachcodes anzeigen zu lassen, verwende
- <screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
- Hier ist ein Beispiel für russisch:
- <screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
-</para>
-
-</sect2>
-</sect1>
-
-
-<sect1 id="radio">
-<title>Radio</title>
-
-<sect2 id="radio-input" xreflabel="Radio input">
-<title>Radio Input</title>
-
-<para>
- Dieser Abschnitt behandelt das Hören von Radio mittels eines V4L-kompatiblen Radioempfängers. Siehe Manpage für eine Beschreibung der Radio-Optionen und Tastensteuerungen.
-</para>
-
-<sect3 id="radio-compilation">
-<title>Kompilierung</title>
-
-<procedure>
-<step>
-<para>
- Zuerst muss <application>MPlayer</application> neu kompiliert werden mittels <filename>./configure</filename> mit
- <option>--enable-radio</option> und (falls Aufzeichnen untersttzt werden soll)
- <option>--enable-radio-capture</option>.
-</para>
-</step>
-<step>
-<para>
- Stelle sicher, dass dein Empfänger mit anderer Radio Software für Linux läuft, wie z.B. <application>XawTV</application>.
-</para>
-</step>
-</procedure>
-</sect3>
-
-<sect3 id="radio-tips">
-<title>Tips zum Gebrauch</title>
-<para>
- Eine vollständige Liste aller Optionen ist in der Manpage.
- Hier sind nur ein paar Tips:
-</para>
-<itemizedlist>
-<listitem>
-<para>
- Benutze die Option <option>channels</option>. Ein Beispiel:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- Erklärung: Mit dieser Option sind nur die Frequenzen 104.4 und 103.9 in Gebrauch. Ein netter OSD-Text wird beim Kanalwechsel den Namen des Kanals angeben.
- Leerzeichen im Kanalnamen müssen ersetzt werden durch das Zeichen "_".
-</para>
-</listitem>
-
-<listitem>
-<para>
- Es gibt mehrere Möglichkeiten, Radio aufzuzeichnen. Das Sound-Signal kann entweder mit der Soundkarte und einer externen Kabelverbindung
- zwischen dem Line-In der Soundkarte und der TV-Karte erfasst werden,
- oder mittels des eingebauten ADC im saa7134-Chip. In letzterem Falle ist es nötig, den Treiber
- <systemitem>saa7134-alsa</systemitem> oder <systemitem>saa7134-oss</systemitem> zu laden.
-</para>
-</listitem>
-
-<listitem>
-<para>
- <application>MEncoder</application> ist zum Aufzeichnen von Radio ungeeignet, da es einen Video Stream benötigt. Daher kannst du entweder
- <application>arecord</application> vom ALSA Projekt benutzen, oder die
- Option <option>-ao pcm:file=file.wav</option>. In letzterem Falle wirst du keinen Sound hören können
- (es sei denn, du hast ein Line-In Kabel und hast den Line-In Kanal nicht stumm geschaltet).
-</para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="radio-examples">
-<title>Beispiele</title>
-
-<informalexample>
-<para>
- Input von Standard-V4L (mittels Line-In Kabel, keine Aufzeichnung):
- <screen>mplayer radio://104.4</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
- Input von Standard-V4L (mittels Line-In Kabel, keine Aufzeichnung,
- V4Lv1 Interface):
- <screen>mplayer -radio driver=v4l radio://104.4</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
- Abspielen des zweiten Kanals aus der Kanalliste:
- <screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Leiten des Sounds über den PCI-Bus vom internen ADC des Radio-Empfängers.
-In diesem Beispiel wird der Empfänger als zweite Soundkarte genutzt (ALSA device hw:1,0).
-Für saa7134-basierte Karten muss entweder das Modul
-<systemitem>saa7134-alsa</systemitem> oder <systemitem>saa7134-oss</systemitem> geladen werden.
-<note>
- <para>Werden ALSA-Gerätenamen benutzt, so müssen Doppelpunkte durch Gleichheitszeichen und Kommata durch Punkte ersetzt werden.
- <screen>mplayer -rawaudio rate=32000 -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm radio://2/capture</screen>
- </para>
-</note>
-</para>
-</informalexample>
-</sect3>
-</sect2>
-
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/de/video.xml b/DOCS/xml/de/video.xml
deleted file mode 100644
index e6902b2..0000000
--- a/DOCS/xml/de/video.xml
+++ /dev/null
@@ -1,2744 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r23594 -->
-<!-- missing cosmetic commit 21537 -->
-<chapter id="video">
-<title>Videoausgabegeräte</title>
-
-<sect1 id="mtrr">
-<title>MTRR einrichten</title>
-
-<para>
- Du solltest UNBEDINGT sicherstellen, dass die MTRR-Register richtig belegt
- sind, denn sie können einen groÃen Geschwindigkeitsschub
- bringen.
-</para>
-
-<para>
- Gib den Befehl <command>cat /proc/mtrr</command> ein:
-<screen>
-<prompt>--($:~)--</prompt> cat /proc/mtrr
-reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
-reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
---></screen>
-</para>
-
-<para>
- Diese Anzeige ist richtig. Sie zeigt meine Matrox G400 mit 16MB Speicher.
- Ich habe die Einstellung von XFree 4.x.x, der die MTRR-Register automatisch
- einstellt.
-</para>
-
-<para>
- Wenn nichts funktioniert, musst du sie manuell setzen. Als erstes musst du
- die Basisadresse finden. Dazu gibt es drei Möglichkeiten:
-
-<orderedlist>
-<listitem><para>
- durch die X11 Start-Meldungen, zum Beispiel:
- <screen>
-(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
-(--) SVGA: Linear framebuffer at 0xD8000000<!--
---></screen>
- </para></listitem>
-<listitem><para>
- von <filename>/proc/pci</filename> (verwende den Befehl
-<command>lspci -v</command>):
- <screen>
-01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
-Memory at d8000000 (32-bit, prefetchable)<!--
---></screen>
- </para></listitem>
-<listitem><para>
- von den mga_vid Kerneltreiber-Meldungen (verwende <command>dmesg</command>):
- <screen>mga_mem_base = d8000000</screen>
- </para></listitem>
-</orderedlist>
-</para>
-
-<para>
- So, nun gilt es, die SpeichergröÃe zu finden. Dies ist sehr
- einfach, konvertiere einfach die Video-RAM-GröÃe nach hexadezimal,
- oder verwende diese Tabelle:
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
-<row><entry>1 MB</entry><entry>0x100000</entry></row>
-<row><entry>2 MB</entry><entry>0x200000</entry></row>
-<row><entry>4 MB</entry><entry>0x400000</entry></row>
-<row><entry>8 MB</entry><entry>0x800000</entry></row>
-<row><entry>16 MB</entry><entry>0x1000000</entry></row>
-<row><entry>32 MB</entry><entry>0x2000000</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
- Du kennst die Basisadresse und die SpeichergröÃe? Lass uns
- die MTRR Register einstellen! Für die Matrox-Karte von oben
- (<literal>base=0xd8000000</literal>) mit 32MB RAM (<literal>size=0x2000000</literal>)
- führst du einfach folgendes aus:
-<screen>
-echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr
-</screen>
-</para>
-
-<para>
- Nicht alle CPUs unterstützen MTRRs. Zum Beispiel ältere K6-2s
- [bei ca. 266MHz, stepping 0] unterstützen kein MTRR, aber Stepping-12-CPUs
- tun es (<command>cat /proc/cpuinfo</command> gibt Aufschluss).
-</para>
-</sect1>
-
-<sect1 id="xv">
-<title>Xv</title>
-
-<para>
- Mit XFree86 4.0.2 oder neueren Versionen kannst du die Hardware-YUV-Routinen
- deiner Grafikkarte mit Hilfe der XVideo-Erweiterungen benutzen. Das ist die
- Technik, die <option>-vo xv</option> benutzt. Dieser Treiber unterstützt
- darüber hinaus die Anpassung von Helligkeit/Kontrast/Sättigung etc.
- (es sei denn, du benutzt den alten und langsamen DirectShow DivX-Codec,
- welcher diese Anpassungen unabhängig vom Videoausgabetreiber unterstützt).
- Schau in der Manpage nach.
-</para>
-
-<para>
- Um Xv zum Laufen zu bringen, musst du auf die folgenden Punkte achten:
-
-<orderedlist>
-<listitem><para>
- Du musst XFree86 4.0.2 oder eine neuere Version verwenden, da die
- älteren Versionen XVideo noch nicht kannten.
- </para></listitem>
-<listitem><para>
- Deine Grafikkarte muss Hardware-Unterstützung für YUV bieten, was alle
- modernen Karten tun.
- </para></listitem>
-<listitem><para>
- X muss die XVideo-Erweiterung auch tatsächlich laden, was zu
- Meldungen ähnlich der folgenden führt:
-
- <programlisting>(II) Loading extension XVideo</programlisting>
-
- in <filename>/var/log/XFree86.0.log</filename>
-
- <note><para>
- Diese Meldung besagt nur, dass die XFree86-Erweiterung
- geladen wird. Bei einer guten Installation sollte das immer der Fall
- sein. Das heiÃt allerdings noch nicht, dass die
- <emphasis role="bold">XVideo-Unterstützung der Grafikkarte</emphasis>
- auch geladen wurde!
- </para></note>
- </para></listitem>
-<listitem><para>
- Deine Karte muss unter Linux Xv-Unterstützung haben. Du kannst dich
- dessen mit <command>xvinfo</command> vergewissern, das Teil der
- XFree86-Distribution ist. Es sollte einen längeren Text ausgeben,
- der ungefähr so aussieht:
-
-<screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...etc...)<!--
---></screen>
- Damit <application>MPlayer</application> Xv benutzen kann, müssen die
- Pixelformate YUY2 packed und YV12 planar unterstützt werden.
- </para></listitem>
- <listitem><para>
- Stelle als letztes sicher, dass <application>MPlayer</application> mit
- Unterstützung für Xv compiliert wurde. <command>configure</command> gibt eine
- entsprechende Meldung aus.
- Führe den Befehl <command>mplayer -vo help | grep xv </command> aus.
- Wurde Unterstützung für Xv eingebaut, sollte eine ähnliche Meldung
- wie diese erscheinen:
- <screen>xv X11/Xv</screen>
- </para></listitem>
-</orderedlist>
-</para>
-
-<sect2 id="tdfx">
-<title>3dfx-Karten</title>
-
-<para>
- Ãltere 3dfx-Treiber hatten bekanntermaÃen Probleme mit der
- XVideo-Beschleuningung, die weder YUY2 noch YV12 unterstützte.
- Stelle sicher, dass du XFree86 Version 4.2.0 oder neuer verwendest, da diese
- Versionen mit YV12 und YUY2 keine Probleme haben, während frühere Versionen, auch
- 4.1.0, <emphasis role="bold">bei YV12 abgestürzen</emphasis>.
- Wenn du merkwürdige Effekte bei der Verwendung von <option>-vo xv</option>
- bemerkst, dann probier aus, ob mit SDL, das ebenfalls XVideo nutzen kann,
- diese Effekte verschwinden. In der <link linkend="sdl">SDL</link> stehen
- Details darüber.
-</para>
-
-<para>
- <emphasis role="bold">Alternativ</emphasis> kannst du auch den NEUEN
- tdfxfb-Treiber mit <option>-vo tdfxfb</option> verwenden!
- Lies dazu die <link linkend="tdfxfb">tdfxfb</link>-Sektion.
-</para>
-</sect2>
-
-
-<sect2 id="s3">
-<title>S3-Karten</title>
-
-<para>
- S3 Savage3D-Karten sollten problemlos funktionieren, aber bei Savage4-
- Chips solltest du XFree86 4.0.3 oder neuer verwenden. Probier bei Problemen
- den 16bpp-Farbmodus aus. Und der S3 Virge... Es gibt für ihn zwar Xv-
- Unterstützung, aber die Karte selbst ist so langsam, dass du sie besser
- verkaufst.
-</para>
-<para>
- Es gibt inzwischen einen nativen Framebuffer-Treiber für S3 Virge-Karten, ähnlich
- tdfxfb. Mache die Einstellungen (hänge z.B.
- "<option>vga=792 video=vesa:mtrr</option>" an die Kernelkommandozeile an) und benutze
- <option>-vo s3fb</option> (<option>-vf yuy2</option> und <option>-dr</option>
- helfen auch).
-</para>
-
-<note>
-<para>
- Momentan ist nicht ganz klar, welche Savage-Modelle keine Unterstützung
- für YV12 in Hardware haben, sodass bei ihnen der Treiber diese Konvertierung
- sehr langsam vornimmt. Hast du deine Karte in Verdacht, dann
- besorg dir einen neueren Treiber, oder frag auf der MPlayer-Users-Mailingliste
- freundlich nach einem Treiber, der MMX/3DNow unterstützt.
-</para>
-</note>
-</sect2>
-
-
-<sect2 id="nvidia">
-<title>nVidia-Karten</title>
-
-<para>
- nVidia ist für Linux keine optimale Wahll.
- XFree86's Open-Source-Treiber unterstützt die meisten dieser Karten, jedoch
- musst du in einigen Fällen die binären Closed-Source-Treiber von nVidia
- verwenden, verfügbar auf der
- <ulink url="http://www.nvidia.com/object/linux.html">nVidia-Webseite</ulink>.
- Du brauchst diese Treiber immer, wenn du zusätzlich 3D-Beschleunigung
- haben willst.
-</para>
-
-<para>
- Riva128-Karten bieten nicht einmal mit den binären nVidia-Treibern
- XVideo-Unterstützung (beklag dich bei nVidia).
-</para>
-
-<para>
- Wie auch immer, <application>MPlayer</application> enthält einen
- <link linkend="vidix">VIDIX</link> -Treiber für die meisten nVidia-Karten.
- Er ist aktuell in der Beta-Phase und besitzt einige Nachteile. Mehr
- Informationen findest du in der
- <link linkend="vidix-nvidia">nVidia-VIDIX</link>-Sektion.
-</para>
-</sect2>
-
-
-<sect2 id="ati">
-<title>ATI-Karten</title>
-
-<para>
- Die <ulink url="http://gatos.sf.net">GATOS-Treiber</ulink>, die du
- einsetzen solltest, sofern du keine Rage128- oder Radeon-Karte hast,
- haben per Voreinstellung VSYNC angeschaltet. Dies bedeutet, dass
- die Decodiergeschwindigkeit (!) zur Bildwiederholrate des Monitors
- synchronisiert wird. Wenn dir die Wiedergabe langsam vorkommt, dann
- versuche, irgendwie VSYNC abzuschalten, oder setze die Bildwiederholrate
- des Monitors auf n * (fps des Films) Hz.
-</para>
-
-<para>
- Radeon VE - wenn du X benötigst, verwende XFree86 4.2.0 oder höher für
- diese Karte. AuÃerdem gibt es keine Unterstützung für den TV-Ausgang.
- Natürlich bekommst du mit <application>MPlayer</application>
- <emphasis role="bold">Hardware-beschleunigte</emphasis> Wiedergabe, das
- ganze wahlweise <emphasis role="bold">mit oder ohne TV-Ausgang</emphasis>,
- und es werden dabei nicht einmal weitere Bibliotheken oder X selber benötigt.
- Lies dazu die <link linkend="vidix">VIDIX-Sektion</link>.
-</para>
-</sect2>
-
-
-<sect2 id="neomagic">
-<title>NeoMagic-Karten</title>
-
-<para>
- Diese Chips befinden sich in vielen Laptops. Du musst XFree86 4.3.0 oder
- höher oder andernfalls die
- <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-fähigen
- Treiber</ulink> von Stefan Seyfried verwenden.
- Wähle einfach einen, der zu deiner XFree86-Version passt.
-</para>
-
-<para>
- XFree86 4.3.0 beinhaltet die Unterstützung für Xv, Bohdan Horst schickte jetzt
- einen kleinen
- <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">Patch</ulink>
- auf die XFree86-Quellen, der Framebuffer-Operationen (daher XVideo)
- bis auf das Vierfache beschleunigt. Der Patch wurde in das XFree86-CVS
- eingebunden und sollte im nächsten Release nach 4.3.0 vorhanden sein.
-</para>
-
-<para>
- Um die Wiedergabe von Video in DVD-Auflösung zu ermöglichen,
- ändere deine XF86Config wie folgt:
-<programlisting>
-Section "Device"
- [...]
- Driver "neomagic"
- <emphasis>Option "OverlayMem" "829440"</emphasis>
- [...]
-EndSection<!--
---></programlisting>
-</para>
-</sect2>
-
-
-<sect2 id="trident">
-<title>Trident-Karten</title>
-<para>
- Wenn du Xv mit einer Trident-Grafikkarte benutzen willst, dann installiere
- XFree86 4.2.0, sofern Xv nicht schon mit 4.1.0 funktioniert. Version 4.2.0
- enthält Unterstützung für Xv im Vollbild für Cyberblade XP-Karten.
-</para>
-
-<para>
- Alternativ enthält <application>MPlayer</application> einen
- <link linkend="vidix">VIDIX</link>-Treiber für the Cyberblade/i1-Karten.
-</para>
-
-</sect2>
-
-
-<sect2 id="kyro">
-<title>Kyro/PowerVR-Karten</title>
-<para>
- Wenn du Xv mit einer Kyro-basierten Karte (wie z.B. der Hercules Prophet 4000XT)
- verwenden möchstest, dann solltest du die Treiber von der
- <ulink url="http://www.powervr.com/">PowerVR-Seite</ulink> herunterladen.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>PRÃAMBEL</title>
-<para>
- Dieser Abschnitt versucht, in wenigen Worten zu beschreiben, was DGA
- generell ist und was der DGA-Videotreiber in <application>MPlayer</application>
- erreichen kann, und was nicht.
-</para>
-</formalpara>
-
-<formalpara>
-<title>WAS IST DGA?</title>
-<para>
- <acronym>DGA</acronym> ist die Abkürzung für
- <emphasis>Direct Graphics Access</emphasis> (direkter Zugriff auf die
- Grafikhardware) und gibt Programmen die Möglichkeit, unter Umgehung
- des X-Servers direkt den Framebuffer der Grafikkarte zu verändern.
- Technisch gesehen wird das dadurch realisiert, dass der
- Framebuffer-Speicher in den virtuellen Adressraum des jeweiligen Prozesses
- abgebildet wird. Das wird vom Kernel aber nur dann zugelassen, wenn der
- Prozess Superuserprivilegien besitzt. Dazu musst du dich entweder als
- <systemitem class="username">root</systemitem> anmelden oder das SUID-bit
- des <application>MPlayer</application>-Binaries setzen (was
- <emphasis role="bold">nicht empfohlen wird</emphasis>).
-</para>
-</formalpara>
-<para>
- Von DGA gibt es zwei Versionen: DGA1 kommt mit XFree 3.x.x, und DGA2
- wurde mit XFree 4.0.1 eingeführt.
-</para>
-
-<para>
- DGA1 bietet nur den oben beschriebenen Zugriff auf den Framebuffer. Die
- Umschaltung des Videomodus klappt nur mit der XVidMode-Erweiterung.
-</para>
-
-<para>
- DGA2 beinhaltet die Features der XVidMode-Erweiterung und erlaubt
- auÃerdem, die Farbtiefe zu ändern. Damit kannst du also auf 32bit
- Farbtiefe umschalten, auch wenn der X-Server gerade mit 15bit Farbtiefe
- läuft und umgekehrt.
-</para>
-
-<para>
- DGA hat aber auch ein paar Nachteile. Die Funktionsweise scheint ein wenig
- von der Grafikkarte und der Implementierung des Grafikkartentreibers
- im X-Server abhängig zu sein, der diesen Chip kontrolliert.
- Es fuktioniert also nicht auf jedem System...
-</para>
-
-<formalpara>
-<title>DGA-UNTERSTÃTZUNG FÃR MPLAYER INSTALLIEREN</title>
-
-<para>
- Stelle als erstes sicher, dass X die DGA-Erweiterung lädt. Schau
- in <filename>/var/log/XFree86.0.log</filename> nach:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
- Wie du siehst, ist XFree86 4.0.x oder neuer
- <emphasis role="bold">sehr zu empfehlen</emphasis>!
- <application>MPlayer</application>s DGA-Treiber wird von
- <filename>./configure</filename> automatisch erkannt. Alternativ
- kannst du seine Compilierung mit <option>--enable-dga</option> erzwingen.
-</para>
-</formalpara>
-
-<para>
- Falls der Treiber nicht zu einer kleineren Auflösung wechseln
- konnte, dann experimentiere mit den Optionen <option>-vm</option> (nur bei
- X 3.3.x), <option>-fs</option>, <option>-bpp</option>,
- <option>-zoom</option> herum, um einen Videomodus zu finden,
- in den der Film reinpasst. Momentan gibt es keinen Konverter :(
-</para>
-
-<para>
- Werde <systemitem class="username">root</systemitem>.
- DGA braucht <systemitem class="username">root</systemitem>-Privilegien,
- um direkt in den Grafikspeicher zu schreiben. Wenn du MPlayer als
- normaler Nutzer starten möchtest, dann installiere
- <application>MPlayer</application> mit dem SUID-Bit:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
- Jetzt funktioniert es auch als normaler Benutzer.
-</para>
-
-<caution>
-<title>Warnung: Sicherheitsrisiko!</title>
-<para>
- Dieses ist ein <emphasis role="bold">groÃes</emphasis> Sicherheitsloch.
- Tu das <emphasis role="bold">niemals</emphasis> auf einem Server oder
- auf einem Computer, auf den auch andere Leute Zugriff haben, da sie durch einen
- SUID-<systemitem class="username">root</systemitem>-<application>MPlayer</application>
- <systemitem class="username">root</systemitem>-Privilegien erlangen können.
-</para>
-</caution>
-
-<para>
- Benutze jetzt die Option <option>-vo dga</option>, und ab geht's (hoffe ich
- zumindest :))! Du solltest auch ausprobieren, ob bei dir die Option
- <option>-vo sdl:dga</option> funktioniert. Sie ist viel schneller.
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>ÃNDERN DER AUFLÃSUNG</title>
-
-<para>
- Der DGA-Treiber ermöglicht es, die Auflösung des Output-Signals zu ändern.
- Damit entfällt die Notwendigkeit der (langsamen) Softwareskalierung und
- bietet gleichzeitig ein Vollbild. Idealerweise würde DGA in die gleiche
- Auflösung schalten, die das Video (natürlich unter Beachtung des
- Höhen-/Breitenverhältnisses) hat, aber der X-Server lässt nur
- Auflösungen zu, die vorher in der <filename>/etc/X11/XF86Config</filename> bzw.
- <filename>/etc/X11/XF86Config-4</filename> definiert wurden, bezüglich XFree 4.X.X.
- Diese werden durch sogenannte Modelines festgelegt und hängen von den Fähigkeiten
- deiner Grafikhardware ab. Der X-Server liest diese Konfigurationsdatei beim
- Start ein und deaktiviert alle Modelines, die sich nicht mit deiner Hardware
- vertragen. Du kannst die überlebenden Modelines anhand der X11-Logdatei
- herausfinden (normalerweise <filename>/var/log/XFree86.0.log</filename>).
-</para>
-</formalpara>
-
-<para>
- Diese Einträge funktionieren mit einem Riva128-Chip und dem
- nv.o-X-Server-Treibermodul.
-</para>
-
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA & MPLAYER</title>
-<para>
- DGA wird bei <application>MPlayer</application> an zwei Stellen benutzt:
- beim SDL-Treiber mit (<option>-vo sdl:driver=dga</option>) oder beim
- DGA-Treiber selbst (<option>-vo dga</option>).
- Das oben gesagte gilt für beide Treiber. In den folgenden Abschnitten
- erkläre ich, wie der DGA-Treiber von <application>MPlayer</application>
- selber arbeitet.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>FEATURES DES DGA-TREIBERS</title>
-
-<para>
- Der DGA-Treiber wird durch die Option <option>-vo dga</option> aktiviert.
- Sein Standardverhalten sieht vor, dass er in die Auflösung schaltet, die
- der Videoauflösung am nächsten kommt. Der Treiber ignoriert absichtlich
- die Optionen <option>-vm</option> (Videomodusumschaltung aktivieren) und
- <option>-fs</option> (Vollbildmodus erzwingen) - er versucht immer, so viel
- Bildfläche wie möglich durch eine Ãnderung der Auflösung zu bedecken.
- Dadurch wird nicht ein einziger weiterer CPU-Takt für die Skalierung des
- Bildes verwendet. Wenn du mit dem Modus nicht zufrieden bist, den der Treiber
- gewählt hat, dann kannst du ihn zwingen, denjenigen Modus zu
- wählen, der am besten zu dem mit den Optionen <option>-x</option> und
- <option>-y</option> angegebenen Werten passt. Die Option <option>-v</option>
- veranlasst den DGA-Treiber, neben einigen anderen Dingen auch alle von deiner
- <filename>XF86Config</filename>-Datei unterstützen Videomodi aufzulisten.
- Wenn DGA2 verwendet wird, dann kannst du mit der Option <option>-bpp</option> die
- Verwendung einer bestimmten Farbtiefe erzwingen. Gültige Werte sind 15,
- 16, 24 und 32. Es hängt dann von deiner Hardware ab, ob der Modus nativ
- unterstützt wird oder ob eine (möglicherweise langsame)
- Konvertierung stattfindet.
-</para>
-</formalpara>
-<para>
- Wenn du Glück hast und dir genug unbenutzter Grafikspeicher zur
- Verfügung steht, um ein komplettes Bild aufzunehmen, dann wird der
- DGA-Treiber Doppelpufferung verwenden, was zu einer regelmäÃigeren
- Wiedergabe führt. Der DGA-Treiber wird dir mitteilen, ob Doppelpufferung
- angeschaltet ist oder nicht.
-</para>
-
-<para>
- Doppelpufferung bedeutet, dass das nächste Bild deines Videos bereits
- an einer anderen Stelle im Grafikspeicher aufgebaut wird, während das
- aktuelle Bild angezeigt wird. Ist das nächste Bild fertig, so wird
- dem Grafikchip nur noch mitgeteilt, wo er das neue Bild im Speicher finden
- kann. Somit holt sich der Chip seine Daten einfach von dort. In der
- Zwischenzeit wird der andere, jetzt unbenutze Puffer wieder mit neuen
- Videodaten gefüllt.
-</para>
-
-<para>
- Doppelpufferung kann mit der Option <option>-double</option> aktiviert und mit
- <option>-nodouble</option> deaktiviert werden. Momentan ist die Doppelpufferung
- per Voreinstellung deaktiviert. Wird der DGA-Treiber verwendet,
- dann funktioniert das Onscreen-Display (ODS) nur dann, wenn auch die
- Doppelpufferung aktiviert ist. Andererseits kann die Doppelpufferung auch
- einen groÃen Geschwindigkeitseinbruch hervorrufen, was stark von
- der DGA-Implementierung der Treiber für deine Hardware abhängt (auf
- meinem K6-II+ 525 benötigt Doppelpufferung weitere 20% CPU-Zeit!).
-</para>
-
-
-<formalpara>
-<title>PUNKTE BEZÃGLICH DER GESCHWINDIGKEIT</title>
-
-<para>
- Generell gesehen sollte der Zugriff auf den DGA-Framebuffer genauso
- schnell sein wie der X11-Treiber, wobei man zusätzlich noch ein Vollbild
- erhält. Die prozentualen Geschwindigkeitswerte, die <application>MPlayer</application>
- ausgibt, müssen mit Vorsicht genossen werden, da sie z.B. beim X11-Treiber
- nicht die Zeit beinhalten, die der X-Server tatsächlich zum
- Anzeigen des Bildes benötigt. Klemm ein Terminal an deinen seriellen
- Port und starte <command>top</command>, wenn du wissen willst, wie's wirklich mit
- der Geschwindigkeit aussieht.
-</para>
-</formalpara>
-
-<para>
- Allgemein betrachtet hängt die Geschwindigkeitsverbesserung von DGA
- gegenüber dem 'normalen' X11-Treiber sehr von deiner Grafikkarte und
- davon ab, wie gut das X-Servermodul optimiert ist.
-</para>
-
-<para>
- Wenn du ein langsames System hast, dann benutz besser eine Farbtiefe von
- 15 oder 16bit, da sie nur die halbe Bandbreite des 32bit-Farbmodus
- benötigen.
-</para>
-
-<para>
- Einge gute Idee ist auch die Verwendung von 24bit Farbtiefe, selbst dann,
- wenn deine Grafikkarte nativ nur 32bit unterstützt, da bei 24bit 25%
- weniger Daten im Vergleich zum 32/32-Modus über den Bus transferiert
- werden müssen.
-</para>
-
-<para>
- Ich habe schon gesehen, wie einige AVI-Dateien auf einem Pentium MMX 266
- wiedergegeben werden konnten. AMD K6-2-CPUs werden ab ca. 400 MHz oder
- höher funktionieren.
-</para>
-
-
-<formalpara>
-<title>BEKANNTE FEHLER</title>
-
-<para>
- Die Entwickler von XFree sagen selbst, dass DGA ein ganz schönes
- Monstrum ist. Sie raten eher davon ab, es zu benutzen, da seine
- Implementierung in einige Chipset-Treiber für XFree nicht immer
- ganz fehlerfrei war.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Bei der Kombination aus XFree 4.0.3 und dem
- <filename>nv.o</filename>-Treiber gibt es einen Fehler, der zu
- merkwürdigen Farben führt.
-</para></listitem>
-<listitem><para>
- Die ATI-Treiber müssen den Videomodus mehrmals zurückstellen,
- nachdem der DGA-Modus verlassen wurde.
- </para></listitem>
-<listitem><para>
- Einige Treiber schaffen es manchmal einfach nicht, in die vorherige
- Auflösung zurückzuschalten. Benutze in solch einem Fall
- <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo> und
- <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>,
- um manuell die Auflösung zu ändern.
-</para></listitem>
-<listitem><para>
- Einige Treiber zeigen einfach nur merkwürdige Farben an.
-</para></listitem>
-<listitem><para>
- Manche Treiber lügen, was die von ihnen in den Prozessorspeicher
- eingeblendete Menge Grafikspeicher anbelangt, weswegen vo_dga
- nicht die Doppelpufferung verwendet (SIS?).
-</para></listitem>
-<listitem><para>
- Einige Treiber schaffen es nicht einmal, auch nur einen einzigen
- gültigen Grafikmodus bereitzustellen. In solchen Fällen
- gibt der DGA-Treiber schwachsinnige Modi wie z.B. 100000x100000 oder
- so ähnlich aus.
-</para></listitem>
-<listitem><para>
- Das OSD funktioniert nur, wenn auch die Doppelpufferung aktiviert
- ist (sonst flimmert es).
-</para></listitem>
-</itemizedlist>
-
-</sect1>
-<!--</sect1>-->
-
-<!-- ********** -->
-
-<sect1 id="sdl">
-<title>SDL</title>
-
-<para>
- <acronym>SDL</acronym> (Simple Directmedia Layer, einfacher Layer für
- den direkten Zugriff auf Mediengeräte) bietet grundsätzlich eine einheitliche
- Schnittstelle zu Audio- und Videogeräten. Programme, die SDL
- benutzen, kennen nur SDL und brauchen nichts darüber zu wissen, welche
- Video- oder Audiotreiber SDL tatsächlich benutzt. So kann z.B. eine
- Doom-Portierung mit SDL die Svgalib, aalib, X11, fbdev und andere Treiber
- nutzen. Dazu musst du z.B. nur den Videotreiber angeben, indem du die
- Umgebungsvariable <envar>SDL_VIDEODRIVER</envar> setzt.
- So lautet zumindest die Theorie.
-</para>
-
-<para>
- Bei <application>MPlayer</application> benutzten wir damals die
- Softwareskalierungsroutinen der X11-Treiber von SDL bei Grafikkarten/-treibern,
- die keine Unterstützung für XVideo hatten, bis wir unsere eigenen schrieben,
- die schneller und hübscher waren. Wir benutzten damals auÃerdem SDLs
- aalib-Ausgabe. Jetzt haben wir unsere eigenen, was wesentlich komfortabler
- ist. Auch davon haben wir selber eine komfortablere Version geschrieben.
- SDLs DGA-Code war besser als unserer - zumindest bis vor kurzem.
- Verstehst du, worauf ich hinauswill? :)
-</para>
-
-<para>
- SDL ist auch bei einigen fehlerbehafteten Treibern/Karten nützlich,
- wenn das Video ruckelig abgespielt wird (und es nicht an einem langsamen
- System liegt), oder wenn der Ton hinterherhinkt.
-</para>
-
-<para>
- Die SDL-Videoausgabe unterstützt die Anzeige von Untertiteln unterhalb
- des Films auf den schwarzen Balken (sofern diese vorhanden sind).
-</para>
-
-</sect1>
-
-
-<sect1 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>INSTALLATION</title>
-<para>
- Du musst zuerst die svgalib und die dazugehörigen Entwicklerpakete
- installieren, bevor du <application>MPlayer</application> compilierst,
- da er sonst die Svgalib nicht automatisch findet und den Treiber dazu
- nicht compiliert (das kann aber trotzdem erzwungen werden). Vergiss auch
- nicht, in <filename>/etc/vga/libvga.config</filename> richtige Werte
- für deine Grafikkarte und deinen Monitor anzugeben.
-</para>
-</formalpara>
-
-<note>
-<para>
- Verwende nicht die Option <option>-fs</option>, da sie die Benutzung des
- Softwareskalierers erzwingt und das ganze dann langsam wird. Wenn du diese
- Option wirklich brauchst, dann verwende auch <option>-sws 4</option>,
- welche zwar schlechte Qualität produziert, dafür aber auch ein wenig
- schneller ist.
-</para>
-</note>
-
-<formalpara><title>EGA(4bpp)-UNTERSTÃTZUNG</title>
-<para>
- SVGAlib beinhaltet die EGAlib, und MPlayer kann damit jeden Film in
- 16 Farben bei folgenden Modi anzeigen:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- EGA-Karte mit EGA-Monitor: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
-</para></listitem>
-<listitem><para>
- EGA-Karte mit CGA-Monitor: 320x200x4bpp, 640x200x4bpp
-</para></listitem>
-</itemizedlist>
-
-<para>
- Der bpp-Wert (Bits pro Pixel) muss von Hand auf vier gesetzt werden:
- <option>-bpp 4</option>
-</para>
-
-<para>
- Die Auflösung des Films muss wahrscheinlich verkleinert werden, damit
- er in den EGA-Modus reinpasst:
- <screen>-vf scale=640:350</screen>
- oder
- <screen>-vf scale=320:200</screen>
-</para>
-
-<para>
- Dafür brauchen wir eine schnelle, aber schlechte Qualität
- produzierende Skalierroutine:
- <screen>-sws 4</screen>
-</para>
-
-<para>
- Eventuell muss die automatische Anpassung des
- Höhen-/Breitenverhältnisses ausgeschaltet werden:
- <screen>-noaspect</screen>
-</para>
-
-<note><para>
- Die besten Ergebnisse bei EGA-Bildschirmen erhält man meiner Erfahrung nach,
- wenn man die Helligkeit ein wenig verringert:
- <option>-vf eq=-20:0</option>. Ich musste auch die Audiosamplerate reduzieren,
- weil bei 44KHz der Sound nicht richtig funktionierte:
- <option>-srate 22050</option>.
-</para></note>
-
-<para>
- Du kannst das OSD und Untertitel mit dem <option>expand</option>-Filter
- aktivieren. Die Manpage enthält die exakten Parameter.
-</para>
-</sect1>
-
-
-<sect1 id="fbdev">
-<title>Framebuffer-Ausgabe (FBdev)</title>
-
-<para>
- <filename>./configure</filename> erkennt automatisch, ob es den Framebuffertreiber
- (fbdev) compilieren soll oder nicht. Lies die Framebufferdokumentation in den
- Kernelquellen (<filename>Documentation/fb/*</filename>); dort stehen mehr
- Informationen.
-</para>
-
-<para>
- Falls deine Karte den VBE 2.0-Standard nicht unterstützt (wie z.B.
- ältere ISA-/PCI-Karten wie die S3 Trio64) oder nur VBE 1.2 und
- älter unterstützt: Tja, dann kannst du immer noch VESAfb benutzen,
- benötigst aber den SciTech Display Doctor (ehemals UniVBE), der vor dem
- Booten von Linux geladen werden muss. Nimm dazu eine DOS-Bootdiskette oder
- was auch immer. Vergiss nicht, deine Kopie von UniVBE zu registrieren ;).
-</para>
-
-<para>
- Die Fbdev-Ausgabe kennt neben den üblichen Parametern noch einige andere:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- Gibt das zu verwendende Framebuffergerät an (Standard: <filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- Gibt zu benutzenden Modusnamen an (wie sie in <filename>/etc/fb.modes</filename> stehen)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- Konfigurationsdatei für die Modi (Standard: <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- <emphasis role="bold">Wichtige</emphasis> Werte, schau dir die
- <filename>example.conf</filename> an.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
- Wenn du in einen speziellen Modus wechseln willst, dann benutze
-<screen>
-mplayer -vm -fbmode <replaceable>Modusname</replaceable> <replaceable>Dateiname</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vm</option> ohne weitere Optionen wird den am besten passenden Modus
- aus <filename>/etc/fb.modes</filename> auswählen. Kann auch zusammen mit
- <option>-x</option> und <option>-y</option> benutzt werden. Die Option
- <option>-flip</option> wird nur dann unterstützt, wenn das Pixelformat des
- Films mit dem Pixelformat des Videomodus übereinstimmt. Pass auf den
- bpp-Wert auf. fbdev wird den aktuell eingestellten benutzen, wenn du
- nicht mit <option>-bpp</option> einen bestimmten angibst.
-</para></listitem>
-<listitem><para>
- Die Option <option>-zoom</option> wird nicht unterstützt (Softwareskalierung
- ist langsam, verwende <option>-vf scale</option>). Du kannst keine Modi mit
- 8bpp oder weniger benutzen.
-</para></listitem>
-<listitem><para>
- Wahrscheinlich wirst du den Cursor (<screen>echo -e '\033[?25l'</screen>
- oder <screen>setterm -cursor off</screen>) und den Bildschirmschoner
- (<option>setterm -blank 0</option>) deaktivieren wollen. Um den Cursor wieder
- zu aktivieren: <screen>echo -e '\033[?25h'</screen> oder
- <screen>setterm -cursor on</screen>.
- </para></listitem>
-</itemizedlist>
-
-<note>
-<para>
- fbdev kann den Videomodus in Verbindung mit dem VESA-Framebuffer
- <emphasis>nicht</emphasis> ändern. Frag auch nicht danach - das ist
- keine Einschränkung seitens <application>MPlayer</application>.
-</para>
-</note>
-</sect1>
-
-
-<sect1 id="mga_vid">
-<title>Matrox-Framebuffer (mga_vid)</title>
-
-<para>
- <systemitem>mga_vid</systemitem> ist eine Kombination aus einem Videoausgabetreiber
- und Linux-Kernelmodul, das die Matrox G200/G400/G450/G550 Scaler-/Overlay-Einheit
- verwendet, um YUV->RGB-Farbraumkonvertierungen und beliebige Videoskalierungen durchzuführen.
- <systemitem>mga_vid</systemitem> bietet Unterstützung für Hardware-VSYNC und Dreifachpufferung.
- Dieser Treiber funktioniert sowohl unter der Framebufferconsole als auch unter X,
- jedoch nur mit Linux 2.4.x.
-</para>
-
-<para>
- Für eine Version für Linux 2.6.x gehe auf <ulink url="http://attila.kinali.ch/mga/"/>.
-</para>
-
-<procedure>
-<title>Installation:</title>
-<step><para>
- Um den Treiber benutzen zu können, musst du erstmal <filename>mga_vid.o</filename>
- compilieren:
- <screen>
-cd drivers
-make<!--
---></screen>
- </para></step>
-<step><para>
- Führe dann (als <systemitem class="username">root</systemitem>) folgenden Befehl aus:
- <screen>make install</screen>
- Dies sollte das Modul installieren und das Device-Node für dich erstellen.
- Lade den Treiber mit
- <screen>insmod mga_vid.o</screen>
- </para></step>
-<step><para>
- Du solltest sicherstellen, dass das Modul die GröÃe des
- Grafikkartenspeichers korrekt ermittelt hat. Benutze dazu
- <command>dmesg</command>. Wenn die Angabe nicht stimmt, dann gib nach
- <command>rmmod mga_vid</command> mit Hilfe der Option
- <option>mga_ram_size</option> die GröÃe explizit an:
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
-</para></step>
-<step><para>
- Wenn das Modul automatisch geladen und entladen werden soll, sobald
- es benötigt wird, so füge die folgende Zeile in der Datei
- <filename>/etc/modules.conf</filename> ein:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
- </para></step>
-<step><para>
- SchlieÃlich musst du noch <application>MPlayer</application> (erneut) compilieren.
- <command>configure</command> wird automatisch <filename>/dev/mga_vid</filename>
- finden und den 'mga'-Treiber erstellen. Die entsprechende Option für
- <application>MPlayer</application> lautet <option>-vo mga</option>, wenn du mit
- dem matroxfb auf der Console arbeitest, oder <option>-vo xmga</option>, wenn du
- unter XFree 3.x.x oder XFree 4.x.x arbeitest.
- </para></step>
-</procedure>
-
-<para>
- Der mga_vid-Treiber kooperiert mit Xv.
-</para>
-
-<para>
- Das Gerät <filename>/dev/mga_vid</filename> kann z.B. mit
- <screen>cat /dev/mga_vid</screen>
- ausgelesen werden, um ein paar Informationen über
- den aktuellen Zustand zu erhalten. Die Helligkeit kann zusätzlich mit z.B.
- <screen>echo "brightness=120" > /dev/mga_vid</screen>
- angepasst werden.
-</para>
-
-<para>
- Es gibt ein Testprogramm namens <command>mga_vid_test</command> im selben Verzeichnis.
- Es sollte 256x256 groÃe Bilder auf den Schirm zeichnen, wenn alles gut funktioniert.
-</para>
-
-</sect1>
-
-
-<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>3dfx-YUV-Unterstützung (tdfxfb)</title>
-<para>
- Dieser Treiber verwendet den tdfx-Framebuffertreiber des Kernels, um Filme
- mit YUV-Beschleunigung abzuspielen. Deswegen benötigst du einen Kernel
- mit tdfxfb-Unterstütztung. Danach musst du MPlayer compilieren mit
- <screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect1>
-
-<sect1 id="tdfx_vid">
-<title>tdfx_vid</title>
-
-<para>
- Dies ist eine Kombination aus Linux-Kernelmodul und einem Videoausgabetreiber,
- ähnlich <link linkend="mga_vid">mga_vid</link>.
- Du wirst einen 2.4.x-Kernel mit dem <systemitem>agpgart</systemitem>-Treiber
- brauchen, denn <systemitem>tdfx_vid</systemitem> verwendet AGP.
- Ãbergib <option>--enable-tdfxfb</option> an <command>configure</command>, um
- den Videoausgabetreiber zu erstellen, und erzeuge das Kernelmodul nach folgenden
- Anweisungen.
-</para>
-
-<procedure>
-<title>Das tdfx_vid.o-Kernelmodul installieren:</title>
-<step>
- <para>
- Compiliere <filename>tdfx_vid.o</filename>:
-<screen>
-cd drivers
-make</screen>
- </para>
-</step>
-<step>
- <para>
- Führe dann (als <systemitem class="username">root</systemitem>) folgenden Befehl aus:
- <screen>make install</screen>
- Dies sollte das Modul installieren und das Device-Node für dich erstellen.
- Lade den Treiber mit <screen>insmod tdfx_vid.o</screen>
- </para>
-</step>
-<step>
- <para>
- Um es automatisch nach Bedarf zu laden bzw. zu entfernen, füge folgende Zeile
- am Ende von <filename>/etc/modules.conf</filename> hinzu:
-
- <programlisting>alias char-major-178 tdfx_vid</programlisting>
- </para>
-</step>
-</procedure>
-
-<para>
- Es gibt ein Testprogramm namens <command>tdfx_vid_test</command> im selben Verzeichnis.
- Es sollte nützliche Informationen ausgeben, wenn alles gut funktioniert.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-
-<sect1 id="opengl">
-<title>OpenGL-Ausgabe</title>
-
-<para>
- <application>MPlayer</application> unterstützt die Ausgabe von Filmen via
- OpenGL. Wenn aber deine Plattform/dein Treiber Xv unterstützt (was bei PCs
- mit Linux praktisch immer der Fall ist), dann benutze besser Xv, da die
- OpenGL-Geschwindigkeit deutlich geringer als die von Xv ist. Wenn du dagegen
- eine X11-Implementierung hast, die Xv nicht unterstützt, so mag OpenGL eine
- brauchbare Alternative sein.
-</para>
-
-<para>
- Leider unterstützen nicht alle Treiber die erforderlichen Features.
- Die Utah-GLX-Treiber (für XFree86 3.3.6) unterstützen sie für
- alle Karten. Auf <ulink url="http://utah-glx.sf.net"/>
- findest du Details zur Installation.
-</para>
-
-<para>
- XFree86(DRI) 4.0.3 oder neuer unterstützt OpenGL mit Matrox- und
- Radeon-Karten, 4.2.0 und neuer unterstützen zusätzlich Rage128.
- Auf <ulink url="http://dri.sf.net"/> findest du Details zur Installation.
-</para>
-
-<para>
- Ein Hinweis von einem unserer User: der GL-Video-Output kann dazu verwendet
- werden, einen vertikal synchronisierten TV-Output zu bekommen.
- Du musst dann eine Umgebungsvariable setzen (zumindest bei nVidia):
-</para>
-
-<para>
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-
-</sect1>
-
-
-<sect1 id="aalib">
-<title>AAlib - Ausgabe im Textmodus</title>
-
-<para>
- AAlib ist eine Bilbiothek, mit der Grafiken im Textmodus angezeigt
- werden, wobei ein mächtiger Textmodusrenderer angewandt wird. Es gibt SEHR
- viele Programme, die das bereits unterstützen, wie z.B. Doom, Quake etc.
- <application>MPlayer</application> enthält einen sehr gut brauchbaren
- Treiber für AAlib. Wenn <filename>./configure</filename> feststellt,
- dass die AAlib installiert ist, dann wird anschlieÃend der AAlib-Treiber
- gebaut.
-</para>
-
-<para>
- Du kannst diese Tasten im AA-Fenster benutzen, um die Render-Optionen
- zu beeinflussen:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Taste</entry><entry>Aktion</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- Kontrast verringern
- </entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- Kontrast erhöhen
- </entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- Helligkeit verringern
- </entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- Helligkeit erhöhen
- </entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- Schnelles Rendern an-/ausschalten
- </entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- Wahl des Farbverteilungsmodus (keiner, Fehlerverteilung, Floyd Steinberg)
- </entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- Bild invertieren
- </entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- schaltet zwischen den <application>MPlayer</application>- und den AA-Tastenbelegungen um
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>Die folgenden Kommandozeilenparamter stehen zur Verfügungung:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- OSD-Farbe ändern
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- Farbe der Untertitel ändern,
- </para><para>
- <replaceable>V</replaceable> kann folgende Werte annehmen:
- <literal>0</literal> (normal),
- <literal>1</literal> (dunkel),
- <literal>2</literal> (fett),
- <literal>3</literal> (fette Schrift),
- <literal>4</literal> (negative Farben),
- <literal>5</literal> (spezial).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
- <title>Die AAlib selbst bietet ebenfalls eine groÃe Anzahl von Optionen.
- Hier sind die wichtigsten:</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- Wählt den empfohlenen aa-Treiber (X11, curses, Linux).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- Benutze alle 256 Zeichen.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- Benutze 8 Bit ASCII-Zeichen.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- Gib alle aalib-Optionen aus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note>
-<para>
- Das Rendern ist sehr CPU-intensiv, vor allem, wenn AA unter X
- benutzt wird. AAlib braucht auf einer Nicht-Framebuffer-Console am
- wenigstens CPU-Zeit. Benutze SVGATextMode, um einen möglichst
- groÃen Textmodus zu wählen, und genieà den Film! (Hercules-Karten
- als zweites Ausgabegerät rocken :)) (Aber IMHO kannst du die Option
- <option>-vf 1bpp</option> anwenden, um Grafiken auf hgafb zu bekommen :)
-</para>
-</note>
-
-<para>
- Wenn dein Computer nicht schnell genug ist, um alle Frames anzuzeigen,
- dann benutze die Option <option>-framedrop</option>.
-</para>
-
-<para>
- Wenn du auf einem Terminal abspielst, dann erzielst du mit dem Linux-
- Treiber (<option>-aadriver linux</option>) bessere Ergebnisse als mit dem curses-
- Treiber. Allerdings benötigst du dafür auch Schreibrechte auf
- <filename>/dev/vcsa<replaceable><Terminal></replaceable></filename>.
- Das wird von aalib nicht automatisch festgestellt, aber vo_aa versucht, den
- besten Modus herauszufinden. Lies
- <ulink url="http://aa-project.sf.net/tune"/> für weitere Tuningtipps.
-</para>
-</sect1>
-
-
-<sect1 id="caca">
-<title><systemitem class="library">libcaca</systemitem> - Color ASCII Art-Bibliothek</title>
-
-<para>
- Die Bibliothek
- <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
- ist eine Grafik-Bibliothek, die Text anstatt Pixel ausgibt, sodass sie auf älteren
- Grafikkarten oder Text-Terminals läuft. Sie ist der bekannten Bibliothek
- <systemitem class="library">AAlib</systemitem> nicht unähnlich.
- <systemitem class="library">libcaca</systemitem> benötigt ein Terminal, um zu
- funktionieren, deshalb sollte sie auf allen Unix-Systemen (inklusive Mac OS X) funktionieren,
- wenn man entweder die <systemitem class="library">slang</systemitem>-Bibliothek oder die
- <systemitem class="library">ncurses</systemitem>-Bibliothek, unter DOS die
- <systemitem class="library">conio.h</systemitem>-Bibliothek und auf Windows-Systemen
- entweder <systemitem class="library">slang</systemitem> oder
- <systemitem class="library">ncurses</systemitem> (durch Cygwin-Emulation) oder
- <systemitem class="library">conio.h</systemitem> verwendet. Wenn
- <filename>./configure</filename> <systemitem class="library">libcaca</systemitem>
- entdeckt, wird der caca-Treiber gebaut.
-</para>
-
-<itemizedlist>
-<title>Die Unterschiede zu <systemitem class="library">AAlib</systemitem> sind
- folgende:</title>
-<listitem><para>
- 16 verfügbare Farben für die Zeichenausgabe (256 Farbpaare)
- </para></listitem>
-<listitem><para>
- Farbbild-Dithering
- </para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Aber <systemitem class="library">libcaca</systemitem> hat auch folgende
- Einschränkungen:</title>
-<listitem><para>
- keine Unterstützung für Helligkeit, Kontrast, Gamma
- </para></listitem>
-</itemizedlist>
-
-<para>
- Du kannst diese Tasten im caca-Fenster benutzen, um die Render-Optionen
- zu beeinflussen:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Taste</entry><entry>Aktion</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- zwischen den Dithering-Methoden von
- <systemitem class="library">libcaca</systemitem> umschalten.
- </entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- zwischen dem Antialiasing von <systemitem class="library">libcaca</systemitem>
- umschalten.
- </entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- zwischen dem Hintergrund <systemitem class="library">libcaca</systemitem>
- umschalten.
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> sucht auch nach
- bestimmten Umgebungsvariablen:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- Setze den empfohlenen caca-Treiber. z.B. ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (nur bei X11)</option></term>
- <listitem><para>
- Spezifiziere die Anzahl der Spalten und Zeilen, z.B. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (nur bei X11)</option></term>
- <listitem><para>
- Legt die zu verwendende Schrift fest, z.B. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
- Nimm die Option <option>-framedrop</option>, wenn dein Rechner nicht schnell
- genug für die Darstellung aller Frames ist.
-</para>
-
-</sect1>
-
-
-<sect1 id="vesa">
-<title>VESA-Ausgabe über das VESA-BIOS</title>
-
-<para>
- Dieser Treiber ist vom Design her ein <emphasis role="bold">generischer Treiber</emphasis>
- für alle Grafikkarten, deren Bios VESA VBE 2.0 unterstützt. Ein weiterer
- Vorteil dieses Treibers liegt darin, dass er versucht, den TV-Ausgang anzuschalten.
- <citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998</citetitle>
- (Seite 70) hat folgendes zu sagen:
-</para>
-
-<blockquote>
-<formalpara><title>Designs für zwei Controller</title>
-<para>
- VBE 3.0 unterstützt zwei Controller dadurch, dass angenommen wird,
- dass beide Controller vom gleichen OEM (Hardwarehersteller) stammen und
- unter Kontrolle desselben BIOS auf derselben Grafikkarte sitzen. Somit ist
- es möglich, die Tatsache, dass zwei Controller vorhanden sind, vor der
- Anwendung zu verbergen. Dies verhindert zwar, dass beide Controller
- unabhängig voneinander gesteuert werden, erlaubt andererseits aber,
- dass Anwendungen weiterhin problemlos funktionieren, die vor Erscheinen der
- VBE-3.0-Spezifikation geschrieben wurden. Die VBE-Funktion 00h (Auskunft
- über die Controller, Return Controller Information) gibt
- dementsprechend die kombinierten Informationen über beide Controller
- zurück, was auch eine kombinierte Liste der vorhandenen Grafikmodi
- einschlieÃt. Sobald eine Anwendung einen Grafikmodus wählt, wird
- der entsprechende Controller aktiviert. Alle weiteren VBE-Funtkionen werden
- dann auf diesem Controller ausgeführt.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
- Somit hast du also eine Chance, den TV-Ausgang mit diesem Treiber zum
- Laufen zu bringen.
- (Ich vermute, dass der TV-Ausgang normalerweise auf einer separaten
- Grafikkarte oder zumindest ein separater Ausgang ist.)
-</para>
-
-<itemizedlist spacing="compact">
-<title>VORTEILE</title>
-<listitem><para>
- Du hast die Möglichkeit, selbst dann Filme anzusehen, wenn
- <emphasis role="bold">Linux nichts von deiner Grafikhardware weiÃ</emphasis>.
-</para></listitem>
-<listitem><para>
- Du musst keine einzige Grafikanwendung installiert haben (wie
- X11/XFree86, fbdev usw.). Dieser Treiber wird im
- <emphasis role="bold">Textmodus</emphasis>
- benutzt.
-</para></listitem>
-<listitem><para>
- Die Chancen stehen gut, dass der <emphasis role="bold">TV-Ausgang funktioniert</emphasis>.
- (Es läuft nachweislich zumindest auf ATI-Karten.)
-</para></listitem>
-<listitem><para>
- Dieser Treiber ruft die <function>int 10h</function>-Routine wirklich auf und ist
- dementsprechend kein Emulator - er ruft <emphasis role="bold">echte</emphasis>
- Funktionen des <emphasis>echten</emphasis> BIOS im <emphasis>Real</emphasis>-Modus
- auf (bzw. im vm68-Modus).
-</para></listitem>
-<listitem><para>
- Du kannst den Treiber zusammen mit VIDIX verwenden und erhältst
- dadurch gleichzeitig eine hardwarebeschleunigte Grafikanzeige
- <emphasis role="bold">und</emphasis> den TV-Ausgang! (für ATI-Karten empfohlen)
-</para></listitem>
-<listitem><para>
- Wenn du ein VESA-VBE-3.0+-BIOS hast und irgendwo die Optionen
- <option>monitor-hfreq</option>, <option>monitor-vfreq</option>,
- <option>monitor-dotclock</option> angegeben werden (Kommandozeile,
- Konfigurationsdatei), dann bekommst du die höchstmögliche
- Bildwiederholrate (mit den generischen Timingformeln). Um dieses Feature
- zu aktivieren, müssen <emphasis role="bold">alle</emphasis>
- Monitoroptionen angegeben werden.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>NACHTEILE</title>
-<listitem><para>
- Der Treiber funtkioniert nur auf <emphasis role="bold">x86-Systemen</emphasis>.
-</para></listitem>
-<listitem><para>
- Er kann nur von <systemitem class="username">root</systemitem> benutzt werden.
-</para></listitem>
-<listitem><para>
- Momentan ist er nur für <emphasis role="bold">Linux</emphasis> verfügbar.
-</para></listitem>
-</itemizedlist>
-
-<important>
-<para>
- Benutze diesen Treiber nicht mit <emphasis role="bold">GCC 2.96</emphasis>!
- Das wird nicht funktionieren!
-</para>
-</important>
-
-<variablelist>
-<title>BEI VESA VERFÃGBARE KOMMANDOZEILENOPTIONEN</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
- <listitem><para>
- Momentan erkannt: <literal>dga</literal>, um den DGA-Modus zu erzwingen
- und <literal>nodga</literal>, um ihn zu deaktivieren. Im DGA-Modus kannst du den
- Doppelpuffermodus mit <option>-double</option> aktivieren. Anmerkung: Du
- kannst diese Parameter auch weglassen, um die <emphasis role="bold">automatische
- Erkennung</emphasis> des DGA-Modus zu ermöglichen.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>BEKANNTE PROBLEME UND WIE MAN SIE UMGEHT</title>
-<listitem><para>
- Wenn du unter Linux eine <emphasis role="bold">NLS</emphasis>-Schrift
- verwendest und du den VESA-Treiber aus dem Textmodus heraus aufrufst,
- dann wird nach dem Beenden von <application>MPlayer</application> die
- <emphasis role="bold">ROM-Schrift</emphasis> anstelle der nationalen
- geladen sein. Du kannst die nationale Schriftart erneut mit
- <command>setsysfont</command> laden, das z.B. bei Mandrake zur
- Distribution gehört. (<emphasis role="bold">Tip:</emphasis> Das
- gleiche Tool wird für die Lokalisation von fbdev verwendet.)
-</para></listitem>
-<listitem><para>
- Manche <emphasis role="bold">Linux-Grafiktreiber</emphasis> aktualisieren
- nicht den aktiven <emphasis role="bold">BIOS-Modus</emphasis> im DOS-Speicher.
- Wenn du also so ein Problem hast, dann verwende den VESA-Treiber nur aus dem
- <emphasis role="bold">Textmodus</emphasis> heraus. Andernfalls
- wird immer der Textmodus (#03) aktiviert werden, und du wirst den
- Computer neustarten müssen.
-</para></listitem>
-<listitem><para>
- Oftmals siehst du nur einen <emphasis role="bold">schwarzen Bildschirm</emphasis>,
- wenn der VESA-Treiber beendet wird. Um die Anzeige wieder in den richtigen Zustand
- zu versetzen, wechsele einfach zu einer anderen Console (mit
- <keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>) und wieder zurück.
-</para></listitem>
-<listitem><para>
- Um eine <emphasis role="bold">funktionierende TV-Ausgabe</emphasis> zu erhalten,
- musst du das TV-Kabel eingesteckt haben, bevor du deinen PC bootest, da das BIOS
- nur einmal während der POST-Phase initialisiert wird.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<sect1 id="x11">
-<title>X11</title>
-
-<para>
- Vermeide diesen Treiber, wenn's geht. Er benutzt X11 (mit den Shared-
- Memory-Erweiterungen) ohne jegliche Hardwarebeschleunigung. Unterstützt
- MMX-/3DNow/SSE-beschleunigte Softwareskalierung mit den Optionen
- <option>-fs -zoom</option>, aber die ist trotzdem langsam. Die meisten
- Karten bieten Unterstützung für Hardwareskalierung. Benutze also
- <option>-vo xv</option> in den meisten Fällen bzw. <option>-vo xmga</option>
- bei Matrox-Karten.
-</para>
-
-<para>
- Ein Problem liegt darin, dass die meisten Grafikkartentreiber
- Hardwarebeschleunigung nicht beim zweiten Ausgang/beim TV-Ausgang
- unterstützen. In diesen Fällen siehst du nur ein grünes/blaues
- Fenster anstelle des Films. Hier ist der X11-Treiber ganz praktisch, aber du
- brauchst trotzdem eine schnelle CPU für die Softwareskalierung. Benutze
- nicht den SDL-Ausgabetreiber und SDLs Skalierer, da dieser eine schlechtere
- Qualität bietet!
-</para>
-
-<para>
- Softwareskalierung ist sehr langsam. Versuch also besser, vorher in einen
- anderen Videomodus zu schalten. Das ist sehr einfach. Such die
- <link linkend="dga-modelines">Modelines in der DGA-Sektion</link> und füge sie
- in deine <filename>XF86Config</filename> ein.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- Wenn du XFree86 4.x.x hast, dann benutze die Option <option>-vm</option>.
- MPlayer wird dann die Auflösung in diejenige ändern,
- in die dein Film am besten hineinpasst. Wenn das nicht funktioniert:
-</para></listitem>
-<listitem><para>
- Unter XFree86 3.x.x musst du mit
- <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- und
- <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
- die Auflösung ändern.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
- Wenn du die soeben eingefügten Modi nicht wiederfindest, dann schau
- dir die Ausgabe von XFree86 an. Einige Treiber können nicht die
- niedrigen Pixelclock-Werte benutzen, die für niedrige Auflösungen
- vonnöten sind.
-</para>
-</sect1>
-
-
-<sect1 id="vidix">
-<title>VIDIX</title>
-
-<formalpara>
-<title>EINLEITUNG</title>
-<para>
- <acronym>VIDIX</acronym> ist die Abkürzung für <emphasis role="bold">VID</emphasis>eo
- <emphasis role="bold">I</emphasis>nterface für
- *ni<emphasis role="bold">X</emphasis> (Video-Schnittstelle für *n*x).
- VIDIX wurde entworfen, um eine Schnittstelle für schnelle Userspacetreiber für
- Grafikkarten zur Verfügung zu stellen, so wie es mga_vid für
- Matrox-Karten tut. VIDIX ist ebenfalls sehr portabel.
-</para>
-</formalpara>
-<para>
- Diese Schnittstelle wurde als Versuch entworfen, den vorhandenen
- Schnittstellen für Videobeschleunigung (mga_vid, rage128_vid,
- radeon_vid, pm3_vid) ein einheitliches Dach zu geben. Sie stellt einen
- einheitlichen Highlevel-Zugang zu BES- und OV-Chips zur Verfügung
- (BackEnd Scaler und Video Overlays). Sie stellt keine Lowlevel-Funktionen
- für z.B. Grafikserver zur Verfügung. (Ich möchte nicht mit den
- X11-Leuten in Sachen Grafikmodusumschaltung konkurrieren.) Das Ziel dieser
- Schnittstelle liegt also einfach darin, die höchstmögliche
- Geschwindigkeit bei der Videowiedergabe zu erreichen.
-</para>
-
-<itemizedlist spacing="compact">
-<title>VERWENDUNG</title>
-<listitem><para>
- Du kannst den eigenständigen Videotreiber benutzen:
- <option>-vo vidix</option>
- Dieser Treiber wurde als das X11-Frontend für die VIDIX-Technologie
- entwickelt. Er benötigt dementsprechend einen X-Server und
- funktioniert auch nur unter X. Beachte, dass der Pixmap-Cache korrumpiert
- werden kann, weil der Treiber unter Umgehung des X-Treibers direkt auf
- die Hardware zugreift. Du kannst das dadurch verhindern, dass du die von
- X verwendete Menge des Grafikspeichers verringerst. Benutze dafür
- die Option "VideoRam" in der "device"-Sektion der
- <filename>XF86Config</filename>. Du solltest da die installierte Menge
- Grafikspeicher minus 4MB eintragen. Wenn du über weniger als 8MB
- Grafikspeicher verfügst, dann solltest du stattdessen die Option
- "XaaNoPixmapCache" in der "screen"-Sektion verwenden.
- </para></listitem>
-<listitem><para>
- Es gibt einen VIDIX-Treiber für die Konsole: <option>-vo cvidix</option>.
- Dieser benötigt für die meisten Karten einen funktionierenden und
- initialisierten Framebuffer (oder du wirst stattdessen den Bildschirm
- in Unordnung bringen) und wirst einen Effekt ähnlich wie mit
- <option>-vo mga</option> oder <option>-vo fbdev</option> bekommen.
- nVidia-Karten sind dagegen in der Lage, wirklich grafisches Video
- auf einer echten Text-Konsole auszugeben. Im Abschnitt
- <link linkend="vidix-nvidia">nvidia_vid</link> wirst du mehr Informationen
- dazu finden.
- Um Text an den Rändern und den blinkenden Cursor loszuwerden,
- probiere etwas wie den folgenden Befehl:
-</para>
-<screen>setterm -cursor off > /dev/tty9</screen>
-<para>
- (welcher davon ausgeht, dass <systemitem>tty9</systemitem> bis dahin ungenutzt ist).
- Wechsle dann zu <systemitem>tty9</systemitem>.
- Andererseits sollte dir <option>-colorkey 0</option> ein Video liefern, das
- im "Hintergrund" läuft; das hängt jedoch davon ab, dass die colorkey-Funktionalität
- korrekt funktioniert.
- </para></listitem>
-<listitem><para>
- Du kannst auch das VIDIX-Untergerät verwenden, das bei vielen
- Treibern zur Verfügung steht:
- <option>-vo vesa:vidix</option> (<emphasis role="bold">nur unter Linux</emphasis>)
- und <option>-vo fbdev:vidix</option>
- </para></listitem>
-</itemizedlist>
-
-<para>
- Es ist in der Tat nicht wichtig, welcher Videoausgabetreiber mit
- <emphasis role="bold">VIDIX</emphasis> verwendet wird.
-</para>
-
-<itemizedlist spacing="compact">
-<title>ANFORDERUNGEN</title>
-<listitem><para>
- Die Grafikkarte sollte sich gerade im Grafikmodus befinden (ausser
- nVidia-Karten mit den <option>-vo cvidix</option> Ausgabe-Treibern).
-</para></listitem>
-<listitem><para>
- <application>MPlayer</application>s Videoausgabetreiber sollte den
- aktiven Videomodus kennen und in der Lage sein, dem VIDIX-Untergerät
- ein paar Charakteristika des X-Servers mitzuteilen.
-</para></listitem>
-</itemizedlist>
-
-<formalpara>
-<title>BEDIENUNGSMETHODEN</title>
-<para>
- Wenn VIDIX als <emphasis role="bold">Subgerät</emphasis>
- (<option>-vo vesa:vidix</option>) benutzt wird, dann wird die Konfiguration
- des Videomodus vom Videoausgabegerät erledigt (kurz
- <emphasis role="bold">vo_server</emphasis>). Deswegen kannst du für
- <application>MPlayer</application> die gleichen Kommandozeilenparameter wie
- für vo_server verwenden.
- Zusätzlich ist die Option <option>-double</option> als global sichtbarer
- Parameter verfügbar. (Ich empfehle diese Option zumindest bei VIDIX und
- ATI-Karten.) <option>-vo xvidix</option> erkennt momentan die folgenden
- Optionen: <option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-<para>
- Du kannst den VIDIX-Treiber auch direkt als drittes Teilargument auf der
- Kommandozeile angeben:
-
- <screen>mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>Datei.avi</replaceable></screen>
- oder
- <screen>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>Datei.avi</replaceable></screen>
-
- Das ist allerdings gefährlich, und du solltest das lieber nicht tun.
- Hierbei wird die Verwendung des angegebenen Treibers erzwungen, und das
- Resultat ist unklar (dein Computer könnte sogar
- <emphasis role="bold">abstürzen</emphasis>).
- Du solltest das wirklich NUR DANN tun, wenn du absolut sicher bist, dass es
- funktioniert und <application>MPlayer</application> es nicht eh schon
- automatisch auswählt.
- Berichte den Entwicklern von deinen Erfahrungen. Die korrekte Art, VIDIX zu
- benutzen, ist ohne das dritte Teilargument, sodass <application>MPlayer</application>
- automatisch den richtigen Treiber aussucht.
-</para>
-
-<para>
- Da VIDIX direkten Zugriff auf die Hardware benötigt, musst du
- <application>MPlayer</application> entweder als
- <systemitem class="username">root</systemitem> starten oder der
- Programmdatei das SUID-Bit setzen (<emphasis role="bold">WARNUNG:
- Das ist ein Sicherheitsrisiko!</emphasis>).
- Alternativ kannst du auch spezielle Kernelmodule benutzen:
-</para>
-
-<procedure>
-<step><para>
- Lade dir die
- <ulink url="http://www.arava.co.il/matan/svgalib/">Entwicklerversion</ulink>
- der svgalib herunter (z.B. 1.9.17),
- <emphasis role="bold">ODER</emphasis> lade dir eine von Alex speziell für
- die Benutzung mit <application>MPlayer</application> modifizierte Version
- (die nicht die svgalib-Sourcen zum Compilieren benötigt)
- <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">hier</ulink>
- herunter.
-</para></step>
-<step><para>
- Compiliere das Modul im <filename class="directory">svgalib_helper</filename>-Verzeichnis
- (das im Verzeichnis <filename class="directory">svgalib-1.9.17/kernel/</filename>
- gefunden werden kann, wenn du die Sourcen von der svgalib-Seite heruntergeladen hast),
- und lade es mit insmod.
-</para></step>
-<step><para>
- Um die entsprechenden Geräte im <filename class="directory">/dev</filename>-Verzeichnis
- zu erstellen, führe ein <screen>make device</screen> im Verzeichnis
- <filename class="directory">svgalib_helper</filename> als
- <systemitem class="username">root</systemitem> aus.
-</para></step>
-<step><para>
- Verschiebe das Verzeichnis <filename class="directory">svgalib_helper</filename>
- in das <filename class="directory">vidix</filename>-Unterverzeichnis des
- <application>MPlayer</application>-Quellbaums.
-</para></step>
-<step><para>
- Entferne den Kommentar vor der CFLAGS-Zeile, die "svgalib_helper" enthält
- aus <filename class="directory">vidix/Makefile</filename>.
-</para></step>
-<step><para>
- Compiliere erneut.
-</para></step>
-</procedure>
-
-<sect2 id="vidix-ati">
-<title>ATI-Karten</title>
-<para>
- Momentan werden die meisten ATI-Karten unterstützt, von der Mach64
- bis hin zur neuesten Radeon.
-</para>
-
-<para>
- Es gibt zwei compilierte Binaries: <filename>radeon_vid</filename> für Radeons
- und <filename>rage128_vid</filename> für Rage128-Karten. Du kannst entweder eine
- der beiden erzwingen oder das VIDIX-System automatisch alle verfügbaren
- Treiber ausprobieren lassen.
-</para>
-</sect2>
-
-<sect2 id="vidix-mga">
-<title>Matrox-Karten</title>
-<para>
- Matrox G200, G400, G450 und G550 sollen funktionieren.
-</para>
-
-<para>
- Der Treiber unterstützt Videoequalizer und sollte fast genauso schnell
- wie der <link linkend="mga_vid">Matrox-Framebuffer</link> sein.
-</para>
-</sect2>
-
-<sect2 id="vidix-trident">
-<title>Trident-Karten</title>
-<para>
- Es gibt einen Treiber für den Trident Cyberblade/i1-Chipsatz, der auf
- VIA Epia-Mainboards eingesetzt wird.
-</para>
-
-<para>
- Der Treiber wurde geschrieben und wird weiterentwickelt von
- <ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>.
-</para>
-</sect2>
-
-<sect2 id="vidix-3dlabs">
-<title>3DLabs-Karten</title>
-<para>
- Auch wenn es einen Treiber für 3DLabs GLINT R3-Chips und Permedia3-Chips
- gibt, so hat noch niemand diese getestet. Feedback wird deswegen gern gesehen.
-</para>
-</sect2>
-
-<sect2 id="vidix-nvidia">
-<title>nVidia-Karten</title>
-
-<para>
- Ein einmaliges Feature des nvidia_vid-Treibers ist seine Fähigkeit, Video auf
- <emphasis role="bold">einfacher, purer Textkonsole</emphasis> darzustellen - ohne
- Framebuffer oder X magic oder was auch immer. Zu diesem Zweck müssen wir
- die <option>cvidix</option>-Videoausgabe verwenden, wie folgendes Beispiel zeigt:
- <screen>mplayer -vo cvidix <replaceable>example.avi</replaceable></screen>
-</para>
-
-</sect2>
-
-<sect2 id="vidix-sis">
-<title>SiS-Karten</title>
-<para>
- Dies ist ein sehr experimenteller Code, ähnlich nvidia_vid.
-</para>
-
-<para>
- Er wurde auf SiS 650/651/740 getestet (die verbreitetsten Chipsets in den
- SiS-Versionen der Boxen von "Shuttle XPC"-Barebones)
-</para>
-
-<para>
- Berichte erwartet!
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="directfb">
-<title>DirectFB</title>
-<blockquote><para>
- "DirectFB ist eine Grafikbibliothek, deren Zielplattform eingebettete
- Systeme sind. Sie bietet maximale Hardwarebeschleunigung bei minimalem
- Ressourcenverbrauch und minimalem Overhead." - Zitat von
- <ulink url="http://www.directfb.org"/>.
-</para></blockquote>
-
-<para>
- Ich lasse die DirectFB-Features in dieser Sektion weg.
-</para>
-
-<para>
- Obwohl <application>MPlayer</application> nicht als "Videoprovider"
- bei DirectFB unterstützt wird, bietet dieser Treiber Videowiedergabe mittels
- DirectFB. Die Wiedergabe ist - natürlich - hardwarebeschleunigt. Bei
- meiner Matrox G400 war der DirectFB genauso schnell wie XVideo.
-</para>
-
-<para>
- Versuche immer die neueste Version von DirectFB zu verwenden. Du kannst
- DirectFB-Optionen mit der <option>-dfbopts</option>-Option auf der Kommandozeile
- angeben. Layer-Auswahl erfolgt durch Angabe als Teilargument, z.B. mit
- <option>-vo directfb:2</option> (Layer -1 ist der Standardwert: automatische
- Layerauswahl).
-</para>
-</sect1>
-
-<sect1 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-<para>
- Bitte lies die
- <link linkend="directfb">DirectFB-Sektion</link> zu generellen
- Informationen über DiretcFB.
-</para>
-
-<para>
- Dieser Videoausgabetreiber wird auf einer Matrox G400/G450/G550-Karten
- den CRTC2 (des zweiten Ausgangs) aktivieren und damit das Video
- <emphasis role="bold">unabhängig</emphasis> vom primären Ausgang anzeigen.
-</para>
-
-<para>
- Anweisungen, um dies zum Laufen zu bringen, stehen direkt in der
- <ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
- oder der
- <ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
- auf der Homepage von Ville Syrjala.
-</para>
-
-<note><para>
- Die erste DirectFB-Version, mit der wir das zum Laufen gebracht haben, war
- 0.9.17 (sie ist fehlerhaft, benötigt den <systemitem>surfacemanager</systemitem> von
- oben erwähnter URL). Wie auch immer, eine Portierung des CRTC2-Codes für
- <link linkend="mga_vid">mga_vid</link> ist bereits in Arbeit.
- <ulink url="../../tech/patches.txt">Patches</ulink> sind willkommen.
-</para></note>
-</sect1>
-
-<sect1 id="mpeg_decoders">
-<title>MPEG-Dekoderkarten</title>
-
-<sect2 id="dvb">
-<title>DVB-Output und -Input</title>
-<para>
- <application>MPlayer</application> unterstützt Karten mit dem Siemens-DVB-Chipsatz von
- Herstellern wie Siemens, Technotrend, Galaxis oder Hauppauge. Die neuesten
- DVB-Treiber gibt's auf der
- <ulink url="http://www.linuxtv.org">Linux TV-Seite</ulink>. Wenn du
- Transcodierung in Software machen willst, dann brauchst du eine CPU mit mindestens 1GHz.
-</para>
-
-<para>
- <filename>configure</filename> sollte automatisch deine DVB-Karte erkennen. Wenn
- es das nicht tut, dann erzwinge DVB-Unterstützung mit
-</para>
-
-<para><screen>./configure --enable-dvb</screen></para>
-
-<para>
- Wenn die ost-Headerdateien nicht an ihrem normalen Platz liegen, dann gib
- explizit den Pfad zu ihnen an mit:
-</para>
-
-<para>
-<screen>./configure --extra-cflags=<replaceable>DVB-Source-Verzeichnis</replaceable>/ost/include
-</screen>
-</para>
-
-<para>
- Dann compiliere und installiere wie sonst auch.
-</para>
-
-<formalpara>
-<title>GEBRAUCH</title>
-<para>
- Hardwaredecodierung von Streams, die MPEG-1/2 Video und/oder MPEG-Audio enthalten,
- geschieht mit diesem Kommando:
-</para>
-</formalpara>
-
-<para>
-<screen>mplayer -ao mpegpes -vo mpegpes <replaceable>Datei.mpg|vob</replaceable>
-</screen>
-</para>
-
-<para>
- Decodierung jeder Art Videostream verlangt Transcodierung zu MPEG-1, daher ist
- es langsam und den Ãrger möglicherweise nicht wert, vor allem, wenn dein
- Computer langsam ist.
- Es kann folgenderweise gemacht werden:
-</para>
-<para>
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>DateieDatei.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>DateieDatei.ext</replaceable>
-</screen>
-</para>
-
-<para>
- Beachte, dass DVB-Karten nur bestimmte Bildhöhen unterstützen:
- 288 und 576 für PAL und 240 und 480 für NTSC. Du
- <emphasis role="bold">musst</emphasis> das Bild vorher skalieren, wenn
- die Höhe nicht einer der oben erwähnten entspricht:
- <option>-vf scale=width:height</option>. DVB-Karten
- unterstützen eine Vielzahl horizontaler Auflösungen wie z.B.
- 720, 704, 640, 512, 480, 352 etc. Sie machen Hardwareskalierung in horizontaler
- Richtung, sodass du meist nicht in horizontaler Richtung skalieren musst.
- Bei einem 512x384-MPEG4 (DivX) (Verhältnis 4:3) kannst du folgendes probieren:
-</para>
-
-<para>
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576
-</screen>
-</para>
-
-<para>
- Wenn du einen Breitwandfilm hast und du ihn nicht auf die volle
- Höhe skalieren möchtest, dann kannst du den <option>expand=w:h</option>-Filter
- benutzen, um schwarze Balken hinzuzufügen.
- Um ein 640x384-MPEG4 (DivX) anzuschauen:
-</para>
-
-<para>
-<screen>mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>Datei.avi</replaceable>
-</screen>
-</para>
-
-<para>
- Wenn deine CPU für 720x576-MPEG4 (DivX) zu langsam ist, dann skaliere
- herunter:
-</para>
-
-<para>
- <screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>Datei.avi</replaceable>
-</screen>
-</para>
-
-<para>
- Wenn sich die Geschwindigkeit nicht verbessert, dann skaliere auch in
- vertikaler Richtung:
-</para>
-
-<para>
- <screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>Datei.avi</replaceable>
-</screen>
-</para>
-
-<para>
- Für ein OSD und Untertitel kannst du das OSD-Feature des expand-
- Filters benutzen. Anstelle von <option>expand=w:h</option> oder
- <option>expand=w:h:x:y</option> benutzt du dafür
- <option>expand=w:h:x:y:1</option> (der fünfte Parameter <option>:1</option>
- schaltet die OSD-Anzeige an). Eventuell willst du das Bild ein wenig nach
- oben schieben, um unten mehr Platz für die Untertitel zu haben.
- Vielleicht willst du auch die Untertitel hochschieben, wenn sie ansonsten
- auÃerhalb des sichtbaren Bereiches des Fernsehers liegen. Das kannst du mit
- <option>-subpos <0-100></option> erreichen, wobei
- <option>-subpos 80</option> meistens eine gute Wahl darstellt.
-</para>
-
-<para>
- Um Filme mit weniger/mehr als 25 Frames pro Sekunde auf einem
- PAL-Fernseher abzuspielen, oder wenn du eine langsame CPU hast,
- verwende die Option <option>-framedrop</option>.
-</para>
-
-<para>
- Um das Höhen-/Breitenverhältnis des MPEG-4 (DivX) beizubehalten und
- trotzdem die optimalen Skalierungsparameter zu verweden (Hardwareskalierung
- in horizontaler Richtung und Softwareskalierung in vertikaler Richtung unter
- Beibehaltung des richtigen Höhen-/Breitenverhältnisses), benutze
- den neuen dvbscale-Filter:
-</para>
-
-<para><screen>
-for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen></para>
-
-<formalpara>
-<title>Digitales TV (DVB-Input-Modul)</title>
-<para>
- Du kannst deine DVB-Karte zum Ansehen digitalen TVs verwenden.
-</para>
-</formalpara>
-
-<para>
- Du solltest die Programme <command>scan</command> und
- <command>szap/tzap/czap/azap</command> installiert haben; sie sind alle
- im Treiberpaket enthalten.
-</para>
-
-<para>
- Ãberprüfe, ob die Treiber sauber mit dem Programm wie etwa
- <ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
- arbeiten (das ist die Basis des DVB-Input-Moduls).
-</para>
-
-<para>
- Jetzt solltest du eine Datei <filename>~/.mplayer/channels.conf</filename>
- mit der von <command>szap/tzap/czap/azap</command> Syntax compilieren oder
- es von <command>scan</command> für dich compilieren lassen.
-</para>
-
-<para>
- Hast du mehr als einen Kartentyp (z.B. Satellit, Antenne, Kabel und ATSC),
- kannst du deine Kanaldateien als
- <filename>~/.mplayer/channels.conf.sat</filename>,
- <filename>~/.mplayer/channels.conf.ter</filename>,
- <filename>~/.mplayer/channels.conf.cbl</filename>,
- und <filename>~/.mplayer/channels.conf.atsc</filename> respektive
- speichern, um <application>MPlayer</application> unbedingt darauf
- hinzuweisen, eher diese Dateien zu verwenden als
- <filename>~/.mplayer/channels.conf</filename>,
- und du musst angeben, welche Karte du verwendest.
-</para>
-
-<para>
- Stelle sicher, dass du <emphasis>nur</emphasis> frei ausgestrahlte
- Kanäle in deiner Datei <filename>channels.conf</filename> hast, oder
- <application>MPlayer</application> wird auf eine unverschlüsselte
- Ãbertragung warten.
-</para>
-
-<para>
- In deinen Audio- und Videofeldern kannst du eine erweiterte Syntax
- anwenden:
- <option>...:pid[+pid]:...</option> (für ein Maximum von 6 pids bei
- jedem); in diesem Fall wird <application>MPlayer</application>
- alle gezeigten pids enbinden, plus pid 0 (welche das PAT enthält).
- Binde ruhig in jede Spalte die PMT pid für den
- korrespondierenden Kanal ein (falls du ihn kennst).
- Du kannst auch 8192 angeben; dies wird alle pids auf dieser Frequenz wählen,
- und du kannst dann zwischen ihnen mit TAB wechseln.
- Das mag mehr Bandbreite benötigen, billige Karten übertragen jedoch
- alle Kanäle zumindest bis zum Kernel, daher macht es für diese keinen
- groÃen Unterschied.
- Andere mögliche Anwendungen sind: televideo pid, zweiter Audio-Track, etc.
-</para>
-
-<para>
- Wenn sich <application>MPlayer</application> regelmäÃig über
- <screen>Zu viele Audiopakete im Puffer</screen> beschwert oder
- wenn du eine zunehmende Desynchronisation zwischen Ton und Video feststellst,
- versuche den MPEG-TS-Demuxer von libavformat zu verwenden, indem du
- <option>-demuxer lavf -lavfdopts probesize=128</option>
- der Kommandozeile hinzufügst.
-</para>
-
-<para>
- Um den ersten der in deiner Liste vorhandenen Kanäle anzuzeigen,
- führe folgendes aus
-</para>
-
-<screen>
- mplayer dvb://
-</screen>
-
-<para>
- Willst du einen bestimmten Kanal wie z.B. R1 ansehen,
- führe dies aus
-</para>
-
-<screen>
- mplayer dvb://R1
-</screen>
-
-<para>
- Hast du mehr als eine Karte, musst du die Nummer der Karte, in der
- der Kanal zu sehen ist (z.B. 2), mit dieser Syntax angeben:
-</para>
-
-<screen>
- mplayer dvb://2@R1
-</screen>
-
-<para>
- Um Kanäle zu wechseln, drücke die Tasten <keycap>h</keycap> (nächster)
- und <keycap>k</keycap> (vorheriger) oder verwende das
- <link linkend="osdmenu">OSD-Menü</link>.
-</para>
-
-<para>
- Wenn deine <filename>~/.mplayer/menu.conf</filename> einen Eintrag
- <literal><dvbsel></literal> enthält, wie der in der Beispieldatei
- <filename>etc/dvb-menu.conf</filename> (die du zum Ãberschreiben der
- <filename>~/.mplayer/menu.conf</filename> nutzen kannst), wird das Hauptmenü
- einen Untermenüeintrag anzeigen, der dir die Wahl des Kanal-Presets in deiner
- <filename>channels.conf</filename> erlaubt, womöglich gefolgt von einem
- Menü mit der Liste der verfügbaren Karten, falls mehr als eine
- von <application>MPlayer</application> genutzt werden kann.
-</para>
-
-<para>
- Willst du ein Programm auf die Festplatte speichern, nimm
-</para>
-
-<screen>
- mplayer -dumpfile r1.ts -dumpstream dvb://R1
-</screen>
-
-<para>
- Willst du ihn statt dessen in einem anderen Format aufnehmen (ihn neu encodieren),
- kannst du einen Befehl wie diesen ausführen
-</para>
-
-<screen>
- mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
-</screen>
-
-<para>
- Lies dir in der Manpage eine Liste von Optionen durch, die du an das DVB-Input-Modul
- übergeben kannst.
-</para>
-
-<formalpara>
-<title>AUSBLICK</title>
-<para>
- Wenn du Fragen hast oder an der Diskussion über zukünftige
- Features teilnehmen willst, dann melde dich bei unserer
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>
- Mailingliste an. Denk bitte daran, dass dort Englisch gesprochen wird.
-</para>
-</formalpara>
-
-<para>
- Für die Zukunft kannst du mit der Möglichkeit, das OSD und die
- Untertitel mit den eingebauten Funktionen der DVB-Karten anzuzeigen, mit
- flüssigerer Wiedergabe von Filmen mit weniger/mehr als 25 Bildern pro
- Sekunde und mit Echtzeit-Transcodierung zwischen MPEG-2 und MPEG-4 (partielle
- Dekompression) rechnen.
-</para>
-</sect2>
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-<para>
- <application>MPlayer</application> unterstützt hardwarebeschleunigte
- Wiedergabe mit der Creative DXR2-Karte.</para>
-<para>
- Zuerst brauchst du einen richtig installierten DXR2-Treiber. Du kannst
- die Treiber und Installationshinweise im
- <ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink> finden.
-</para>
-
-<variablelist>
-<title>GEBRAUCH</title>
-<varlistentry>
-<term><option>-vo dxr2</option></term>
-<listitem><para>Aktiviere TV-Ausgabe.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vo dxr2:x11</option> oder <option>-vo dxr2:xv</option></term>
-<listitem><para>Aktiviere Overlay-Ausgabe unter X11.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-dxr2 <option1:option2:...></option></term>
-<listitem><para>Diese Option wird zur Kontrolle des DXR2-Treiber verwendet.</para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
- Der auf DXR2 genutzte Overlay-Chipset ist von sehr schlechter Qualität,
- die Standardeinstellungen sollten aber bei jedem funktionieren.
- Das OSD kann eventuell mit Overlay genutzt werden (nicht bei TV),
- indem es im colorkey eingetragen wird. Mit den Standardeinstellungen des
- colorkey bekommst du evtl. unterschiedliche Ergebnisse, gewöhnlich wirst du den
- colorkey rund um die Zeichen sehen oder einige anderen lustigen Effekte.
- Aber wenn du die colorkey-Einstellungen korrekt anpasst, solltest du in der
- Lage sein, akzeptable Resultate zu erzielen.
-</para>
-
-<para>Lies bitte in der Manpage über die vorhandenen Optionen.</para>
-</sect2>
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-<para>
- <application>MPlayer</application> unterstützt die hardwarebeschleunigte
- Wiedergabe mit den Karten Creative DXR3 und Sigma Designs Hollywood Plus.
- Beide Karten basieren auf dem em8300-MPEG-Decoderchip von Sigma Designs.
-</para>
-
-<para>
- Als erstes brauchst du korrekt installierte DXR3/H+-Treiber, Version
- 0.12.0 oder neuer. Diese Treiber und weitere Installationsanweisungen findest
- du auf der Seite
- <ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus for Linux</ulink>.
- <filename>configure</filename> sollte die Karte automatisch
- finden. Die Compilierung sollte auch problemlos funktionieren.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>GEBRAUCH</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>device</replaceable></option></term>
-<listitem>
-<para>
- <option>overlay</option> aktiviert das Overlay anstelle des TV-Ausgangs.
- Dafür brauchst du ein korrekt konfiguriertes Overlaysetup. Am einfachsten
- konfigurierst du das Overlay mit dem Tool <filename>autocal</filename>.
- Starte danach <application>MPlayer</application> mit dxr3-Ausgabe und
- ohne Overlay anzuschalten. Starte <filename>dxr3view</filename>. Mit dxr3view
- kannst du die Overlay-Einstellungen verändern und siehst die
- Auswirkungen sofort. Eventuell wird dieses Feature irgendwann vom
- <application>MPlayer</application>-GUI unterstützt. Wenn du das Overlay richtig
- eingestellt hast, brauchst du dxr3view nicht mehr laufen zu lassen.
-</para>
-<para>
- <option>prebuf</option> schaltet Prebuffering ein. Das ist ein Feature des
- em8300-Chips, das es ihm ermöglicht, mehr als nur ein Bild
- gleichzeitig zu speichern. Das bedeutet, dass <application>MPlayer</application>
- in diesem Modus versucht, den Puffer ständig mit Daten gefüllt zu halten.
- Wenn du einen langsamen Rechner hast, dann wird <application>MPlayer</application>
- wahrscheinlich die meiste Zeit über knapp oder genau 100% der CPU-Zeit belegen.
- Das ist vor allem dann der Fall, wenn du echte MPEG-Streams (z.B. DVDs, SVCDs etc.)
- abspielst, da <application>MPlayer</application> nicht nach MPEG encodieren muss
- und den Puffer sehr schnell wird füllen können.
-</para>
-<para>
- Mit Prebuffering ist die Videowiedergabe <emphasis role="bold">viel</emphasis>
- weniger anfällig gegenüber anderen CPU-intensiven Programmen. Frames
- werden nur dann verworfen, wenn eine andere Anwendung für eine
- sehr lange Zeit die CPU belegt.
-</para>
-<para>
- Wenn kein Prebuffering verwendet wird, dann ist der em8300 viel
- anfälliger gegenüber CPU-Last. Somit wird dringend empfohlen,
- MPlayers <option>-framedrop</option>-Option zu verwenden, um die A/V-Sync
- zu erhalten.
-</para>
-<para>
- <option>sync</option> aktiviert die neue sync-Methode. Dieses Feature ist
- momentan noch experimentell. Bei dieser Methode beobachtet MPlayer
- ständig die interne Uhr des em8300-Chips. Weicht diese von
- MPlayers Uhr ab, so wird die des em8300-Chips zurückgesetzt,
- sodass dieser alle Frames verwirft, die hinterherhängen.
-</para>
-<para>
- <option>norm=x</option> setzt den TV-Standard der DXR3-Karte, ohne dafür
- externe Programme wie em8300setup zu benötigen.
- Gültige Werte sind 5 = NTSC, 4 = PAL-60, 3 = PAL. Spezielle Standards
- sind 2 (automatische Erkennung mit PAL/PAL-60) und 1 (automatische
- Erkennung für PAL/NTSC), da sie den Standard in Abhängigkeit
- der FPS des Films setzen. norm = 0 (Standard) ändert
- den momentan eingestellten TV-Standard nicht.
-</para>
-<para>
- <option><replaceable>device</replaceable></option> = Gerätenummer wählt die zu
- verwendene em8300-Karte, falls du mehrere davon hast.
-</para>
-<para>
- Jede dieser Optionen kann auch weggelassen werden.
-</para>
-<para>
- <option>:prebuf:sync</option> scheint sehr gut zu funktionieren, wenn du DivX
- abspielst. Es gab Berichte von Leuten, die Probleme mit <option>prebuf</option>
- bei der Wiedergabe von MPEG1/2-Dateien hatten. Du
- solltest es also zuerst ohne Optionen probieren. Wenn du Sync-Probleme
- hast, dann probier <option>:sync</option> aus.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
-<listitem><para>
- Audioausgabe, wobei <replaceable>X</replaceable> die Gerätenummer ist
- (0 bei nur einer Karte).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
-<listitem><para>
- Der em8300 kann keine Sampleraten niedriger als 44100Hz abspielen.
- Wenn die Samplerate weniger als 44100Hz beträgt, dann wähle
- 44100Hz oder 48000Hz, je nachdem, welche davon besser passt. Beispiel:
- Wenn der Film 22050Hz benutzt, dann wähle 44100Hz, da 44100 / 2 =
- 22050 ist. Bei 24000Hz nimmst du 48000Hz etc. Das funktioniert nicht mit
- der digitalen Audioausgabe (<option>-ac hwac3</option>).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf lavc</option></term>
-<listitem><para>
- Wenn du Nicht-MPEG-Filme mit dem em8300 ansehen möchtest (z.B.
- DivX oder RealVideo), dann musst du einen MPEG1-Videofilter wie
- <systemitem class="library">libavcodec</systemitem> (lavc) verwenden.
- Momentan gibt es keine
- Möglichkeit, die Anzahl der Bilder pro Sekunde des em8300 zu setzen,
- was bedeutet, dass sie fest bei 29.97 liegt. Aus diesem Grund solltest du
- <option>-vf lavc=<replaceable>quality</replaceable>:25</option> verwenden,
- besonders dann, wenn du auch Prebuffering verwendest. Warum aber 25
- und nicht 29.97? Tja, die Sache ist, dass das Bild bei 29.97 unruhig
- wird. Wir wissen leider nicht, warum das so ist. Wenn du Werte zwischen
- 25 und 27 benutzt, dann wird das Bild stabil. Momentan können wir das
- nur als gegeben hinnehmen.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf expand=-1:-1:-1:-1:1</option></term>
-<listitem><para>
- Obwohl der DXR3-Treiber ein OSD über das MPEG1-/2-/4-Video
- projezieren kann, ist es qualitativ deutlich schlechter als
- <application>MPlayer</application>s traditionelles OSD, und es hat
- diverse Probleme mit der Erneuerung der Anzeige. Der oben angegebene
- Befehl konvertiert das Video erst nach MPEG4 (das ist leider
- erforderlich) und wendet dann den expand-Filter an, der zwar das
- Bild nicht vergröÃert (-1: = Standardwerte) aber dafür das normale
- OSD auf das Bild stanzt (die "1" am Ende).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ac hwac3</option></term>
-<listitem><para>
- Der em8300 unterstützt die Audiowiedergabe von AC3-Streams
- (Surroundsound) über den digitalen Ausgang der Karte. Schau oben bei
- der Option <option>-ao oss</option> nach. Sie muss angegeben werden, um den
- DXR3-Ausgang anstelle der Soundkarte anzugeben.
-</para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-</sect1>
-
-<sect1 id="other">
-<title>Andere Visualisierungshardware</title>
-
-<sect2 id="zr">
-<title>Zr</title>
-
-<para>
- Dieser Treiber ist ein Anzeigetreiber (<option>-vo zr</option>), der
- verschiedeene MJPEG-Aufnahme-/-Wiedergabekarten unterstützt. Getestet
- wurde er mit DC10+ und Buz, und er sollte auch mit der LML33 und der
- Original-DC10 funktionieren. Dieser Treiber encodiert jedes Bild nach JPEG
- und schickt es dann an die Karte. Für die Encodierung wird
- <systemitem class="library">libavcodec</systemitem> benutzt und
- dementsprechend auch benötigt. Mit dem speziellen
- <emphasis>cinemara</emphasis>-Modus kannst du Filme auch tatsächlich im
- Breitbildformat anschauen, wenn du zwei Beamer und zwei MJPEG-Karten hast.
- Abhängig von der Qualität und Auflösung braucht dieser Treiber
- eine Menge CPU-Power. Benutze also besser die Option <option>-framedrop</option>,
- wenn deine Maschine zu langsam ist. Anmerkung: Mein AMD K6-2 350MHz ist
- durchaus in der Lage, Filme in VCD-GröÃe mit <option>-framedrop</option>
- wiederzugeben.
-</para>
-
-<para>
- Dieser Treiber benutzt den Kerneltreiber, den du auf
- <ulink url="http://mjpeg.sf.net"/>
- herunterladen kannst. Dieser muss also vorher schon funktionieren.
- <filename>configure</filename> erkennt automatisch vorhandene MJPEG-Karten. Wenn
- nicht, dann erzwinge zr mit
- <screen>./configure --enable-zr</screen>
-</para>
-<para>
- Die Ausgabe kann mit diversen Optionen gesteuert werden. Eine
- vollständige Liste findest du in der Manpage. Eine kurze Auflistung gibt
- dir auch
- <screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
- Sachen wie das OSD und Skalierung werden nicht von diesem Treiber
- erledigt, aber sie können natürlich durch Filter realisiert werden.
- Beispiel: Angenommen, du hast einen Film mit einer Auflösung von
- 512x272, und du möchtest ihn im Vollbild auf deiner DC10+
- anschauen. Du hast dann drei Möglichkeiten: den Film auf eine Breite von
- 768, 384 oder 192 zu skalieren. Aus
- Geschwindigkeits- und Qualitätsgründen würde ich empfehlen,
- den Film auf 384x204 mit dem bilinearen Algorithmus zu
- skalieren. Die Kommandozeile sieht dazu wie folgt aus:
-<screen>
-mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
- Das Beschneiden des Bildes kann mit dem <option>crop</option>-Filter geschehen
- oder vom Treiber selbst vorgenommen werden. Angenommen, der Film ist zu breit
- für die Anzeige deiner Buz, und du möchtest <option>-zrcrop</option>
- benutzen, um den Film schmaler zu machen. Dann verwendest du folgendes
- Kommando:
-<screen>
-mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
- Mit dem <option>crop</option>-Filter sieht es so aus:
-<screen>
-mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
- Mehrfache Anwendung von <option>-zrcrop</option> aktiviert den
- <emphasis>cinerama</emphasis>-Modus. Das heiÃt, du kannst das Bild über
- mehrere Fernseher oder Beamer verteilen, um eine gröÃere
- Anzeigefläche zu erreichen. Angenommen, du hast zwei Beamer. Der linke
- hängt an deiner Buz an <filename>/dev/video1</filename>, und der rechte
- hängt an deiner DC10+ an <filename>/dev/video0</filename>. Der Film hat eine
- Auflösung von 704x288. Nehmen wir weiter an, dass du den
- rechten Beamer schwarz/weià betreiben möchtest, und dass du auf
- dem linken Beamer Bilder mit der Qualitätsstufe 10 haben
- möchtest. Dann benutzt du dafür das folgende Kommando:
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
- Wie du siehst, gelten die Optionen vor dem zweiten <option>-zrcrop</option> nur
- für die DC10+ und die Optionen nach dem zweiten <option>-zrcrop</option> nur
- für die Buz. Die maximale Anzahl an MJPEG-Karten, die am
- <emphasis>cinerama</emphasis>-Modus teilnehmen, liegt bei vier, sodass du dir
- eine 2x2-Videowand basteln kannst.
-</para>
-
-<para>
- Zuletzt ein wirklich wichtiger Hinweis: Starte oder beende auf keinen Fall
- XawTV während der Wiedergabe, da das deinen Computer zum Absturz bringen
- wird. Du kannst aber problemlos <emphasis role="bold">ZUERST</emphasis> XawTV,
- <emphasis role="bold">DANN</emphasis> <application>MPlayer</application>
- starten, warten, bis <application>MPlayer</application> fertig ist
- und <emphasis role="bold">ZULETZT</emphasis> XawTV beenden.
-</para>
-</sect2>
-
-<sect2 id="blinkenlights">
-<title>Blinkenlights</title>
-<para>
- Dieser Treiber kann Video mit dem Blinkenlights UDP-Protokoll wiedergeben.
- Wenn du nicht weiÃt, was
- <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>
- oder dessen Nachfolger <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>
- ist, finde es heraus.
- Obwohl dies höchstwahrscheinlich der am wenigsten genutzte Videoausgabetreiber ist,
- den <application>MPlayer</application> zu bieten hat, so ist er ohne Zweifel der coolste.
- Schau dir einfach ein paar von den
- <ulink url="http://www.blinkenlights.de/video.en.html">Blinkenlights-Dokumentationsvideos</ulink>
- an.
- Auf dem Arcade-Video siehst du Blinkenlights-Ausgabetreiber um 00:07:50 in Aktion.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="tvout">
-<title>Unterstützung für die TV-Ausgabe</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Matrox G400-Karten</title>
-
-<para>
- Unter Linux hast du zwei Möglichkeiten, den TV-Ausgang deiner
- G400 anzuschalten:
-</para>
-
-<important>
-<para>
- Anweisungen für die Matrox G450/G550 und deren TV-Ausgänge findest
- du im nächsten Abschnitt!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem><para>
- Mit dem alten Treiber und dem HAL-Modul, welches es
- auf der <ulink url="http://www.matrox.com">Matrox-Seite</ulink> gibt. Damit
- bekommst du X auf dem Fernseher, aber <emphasis role="bold">keine
- Hardwarebeschleunigung</emphasis> wie unter Windows!
-</para>
-<para>
- Der zweite Ausgang besitzt nur einen YUV-Framebuffer.
- Der <emphasis>BES</emphasis> (Back End Scaler, die YUV-Skalierungseinheit des
- G200/G400/G450/G550) funktioniert mit ihm nicht! Der Windows-Treiber
- umgeht das irgendwie, wahrscheinlich dadurch, dass er die 3D-Engine
- für die Skalierung und den YUV-Framebuffer zur Anzeige des
- skalierten Bildes verwendet. Wenn du unbedingt X benutzen willst, dann
- probier <option>-vo x11 -fs -zoom</option>, aber das wird
- <emphasis role="bold">LANGSAM</emphasis> sein
- und den <emphasis role="bold">Macrovision</emphasis>-Kopierschutz
- aktiviert haben. (Du kannst Macrovision mit diesem
- <ulink url="http://avifile.sf.net/mgamacro.pl">Perlscript</ulink>
- umgehen.)
-</para></listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem><para>
- Mit den <emphasis role="bold">matroxfb-Modulen</emphasis> in den 2.4er
- Kerneln. 2.2er Kernel kennen den TV-Ausgang noch nicht und sind somit
- hierfür nicht geeignet. Du musst ALLE matroxfb-spezifischen Features
- bei der Compilierung anschalten (bis auf MultiHead). Compiliere sie als
- <emphasis role="bold">Module</emphasis>! Du musst ebenfalls I2C anschalten.
-</para>
-
-<procedure>
-<step><para>
- Gehe nach <filename class="directory">TVout</filename> und gib
- <command>./compile.sh</command> ein. Installiere
- <filename>TVout/matroxset/matroxset</filename> in ein Verzeichnis, das
- in deinem <envar>PATH</envar> liegt.
-</para></step>
-<step><para>
- Wenn du <command>fbset</command> nicht installiert hast, installiere
- <filename>TVout/fbset/fbset</filename> in ein Verzeichnis, das in
- deinem <envar>PATH</envar> liegt.
-</para></step>
-<step><para>
- Wenn du <command>con2fb</command> nicht installiert hast, installiere
- <filename>TVout/con2fb/con2fb</filename> in ein Verzeichnis, das in
- deinem <envar>PATH</envar> liegt.
-</para></step>
-<step><para>
- Geh jetzt in das Verzeichnis <filename class="directory">TVout/</filename>
- in den <application>MPlayer</application>-Quellen und führe dort
- <filename>./modules</filename> als <systemitem class="username">root</systemitem>
- aus. Deine Textmodusconsole wird danach in den Framebuffermodus umschalten,
- aus dem es keinen Weg zurück gibt!
-</para></step>
-<step><para>
- Editiere als nächstes das Script <filename>./matroxtv</filename>.
- Es wird dir ein simples Menü präsentieren. Drücke
- <keycap>2</keycap> gefolgt von <keycap>ENTER</keycap>. Jetzt solltest
- du auf dem Fernseher das gleiche Bild wie auf dem Monitor sehen.
- Wenn das TV-Bild (PAL ist die Standardeinstellung) merkwürdige Streifen
- enthält, dann war das Script nicht in der Lage, die Auflösung richtig zu
- setzen (per Voreinstellung 640x512). Probiere andere im Menü
- angebotene Auflösungen aus und/oder experimentiere mit fbset.
-</para></step>
-<step><para>
- So. Die nächste Aufgabe ist es, den Cursor auf tty1 (oder
- woauchimmer) verschwinden zu lassen, und den Bildschirmschoner
- auszuschalten. Führ folgende Kommandos aus:
-
-<screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- oder
-<screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- Wahrscheinlich möchtest du das in ein Script packen und dabei
- gleich den Bildschirm löschen. Um den Cursor wieder
- anzuschalten:
- <screen>echo -e '\033[?25h'</screen> oder
- <screen>setterm -cursor on</screen>
-</para></step>
-<step><para>
- Yeah kewl. Starte die Wiedergabe mit
-<screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>Dateiname</replaceable><!--
- --></screen>
-
- (Wenn du X benutzt, dann wechsle jetzt auf den matroxfb mit z.B.
- <keycombo><keycap>STRG</keycap><keycap>ALT</keycap><keycap>F1</keycap></keycombo>!)
- Ãndere die <literal>640</literal> und <literal>512</literal>, wenn
- du eine andere Auflösung verwendest.
-</para></step>
-<step><para>
- <emphasis role="bold">GenieÃe die ultra-schnelle und featurereiche Wiedergabe
- mit dem Matrox-TV-Ausgang (sogar noch besser als Xv)!</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-
-<formalpara>
-<title>Matrox-TV-Ausgangskabel im Eigenbau</title>
-<para>
- Niemand übernimmt Verantwortung für irgendetwas oder jegliche
- Schäden, die durch diese Dokumentation entstehen.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Kabel für die G400</title>
-<para>
- Der vierte Pin des CRTC2-Steckers liefert das Composite Video-Signal.
- Erde liegt am sechsten, siebten und achten Pin.
- (Informationen von Balázs Rácz)
-</para>
-</formalpara>
-
-<formalpara>
-<title>Kabel für die G450</title>
-<para>
- Der erste Pin des CRTC2-Steckers liefert
- das Composite Video-Signal. Erde liegt am fünften, sechsten, siebten und
- fünfzehnten (5, 6, 7, 15) Pin. (Information von Balázs Kerekes)
-</para>
-</formalpara>
-</sect2>
-
-<sect2 id="tv-out_matrox_g450">
-<title>Matrox G450/G550-Karten</title>
-<para>
- Unterstützung für den TV-Ausgang dieser Karten wurde erst
- kürzlich implementiert und ist noch nicht in den Standardkerneln
- enthalten. Momentan kann das <emphasis role="bold">mga_vid</emphasis>-Modul
- nicht benutzt werden, wenn ich recht informiert bin, da der G450/G550-Treiber
- nur in einer Konfiguration arbeitet: Der erste CRTC-Chip (mit den vielen
- Features) am ersten Display (meistens der Monitor), und der zweite CRTC
- (kein <emphasis role="bold">BES</emphasis> - Erläuterungen zum BES gibts
- in der G400-Sektion oben) am Fernseher.
- Somit kannst du momentan nur den <emphasis>fbdev</emphasis>-Ausgabetreiber von
- <application>MPlayer</application> benutzen.
-</para>
-
-<para>
- Der erste CRTC kann momentan nicht an den zweiten Ausgang umgeleitet
- werden. Der Author des matroxfb-Kernelmoduls, Petr Vandrovec, wird auch das
- irgendwann unterstützen, indem die Ausgabe des ersten CRTC auf beiden
- Ausgängen angezeigt wird, wie es momentan auch für die G400
- empfohlen wird (siehe oben).
-</para>
-
-<para>
- Der dafür benötigte Kernelpatch und eine detaillierte Anleitung
- kann auf <ulink url="http://www.bglug.ca/matrox_tvout/"/> gefunden werden.
-</para>
-</sect2>
-
-
-<sect2 id="tvout-ati">
-<title>ATI-Karten</title>
-
-<formalpara>
-<title>EINLEITUNG</title>
-<para>
- Momentan möchte ATI keinen einzigen ihrer TV-Ausgabe-Chips unter
- Linux unterstützen, da sie die Macrovision-Technologie lizensiert
- haben.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>STATUS DER ATI-TV-AUSGABEUNTERSTÃTZUNG UNTER LINUX</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- Von <ulink url="http://gatos.sf.net">GATOS</ulink> unterstützt.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- Von <ulink url="http://gatos.sf.net">GATOS</ulink> unterstützt.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> und <emphasis role="bold">Rage128</emphasis>:
- Von <application>MPlayer</application> unterstützt!
- Lies die <link linkend="vesa">VESA-Treiber-</link> und
- <link linkend="vidix">VIDIX</link>-Sektionen.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- Von <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>
- unterstützt.
-</para></listitem>
-</itemizedlist>
-
-<para>
- Verwende bei anderen Karten einfach den
- <link linkend="vesa">VESA-Treiber</link>
- ohne VIDIX. Dafür brauchst du aber eine schnelle CPU.
-</para>
-
-<para>
- Nur eines musst du tun - <emphasis role="bold">das TV-Kabel vor dem Booten
- eingesteckt haben</emphasis>, da das BIOS sich nur einmal während der
- POST-Prozedur initialisiert.
-</para>
-</sect2>
-
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-<para>
- Zuerst musst du die Closed-Source-Treiber von <ulink url="http://nvidia.com"/>
- herunterladen. Ich werde Installation und Konfiguration nicht im Detail
- beschreiben, da dies auÃerhalb der Aufgabe dieses Dokuments liegt.
-</para>
-
-<para>
- Nachdem du sichergestellt hast, dass XFree86, XVideo und die
- 3D-Beschleunigung funktionieren, ändere die <filename>XF86Config</filename>,
- und passe das folgende Beispiel deiner Karte an:
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-EndSection
-</programlisting>
-</para>
-
-<para>
- Natürlich besteht der wichtige Teil aus den TwinView-Optionen.
-</para>
-</sect2>
-
-<sect2 id="tvout-neomagic">
-<title>NeoMagic</title>
-<para>
- Der NeoMagic-Chip befindet sich auf zahlreichen Laptops, einige von ihnen
- sind mit einen einfachen analogen TV-Encoder ausgestattet, einige besitzen
- einen fortschrittlicheren.
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Analoger Encoder-Chip</emphasis>:
- Es wurde berichtet, dass ein zuverlässiger TV-Ausgang mittels
- <option>-vo fbdev</option> oder <option>-vo fbdev2</option>
- erreicht werden kann.
- Du musst vesafb in deinen Kernel compiliert haben und der
- Kernel-Befehlszeile folgende Parameter übergeben:
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- Du solltest <application>X</application> starten, dann in den
- Consolen-Modus z.B. mit
- <keycombo><keycap>STRG</keycap><keycap>ALT</keycap><keycap>F1</keycap></keycombo> wechseln.
- Misslingt der Start von <application>X</application> vor dem von
- <application>MPlayer</application> in der Console, wird das Video
- langsam und abgehackt (Erklärungen sind willkommen).
- Logge dich auf deiner Konsole ein und initialisiere dann folgenden Befehl:
-
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
-
- Jetzt solltest du den Film im Konsolen-Modus laufen sehen.
- Er wird etwa die Hälfte des LCD-Bildschirms deines Laptops ausfüllen.
- Um auf TV zu wechseln, drücke dreimal
- <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo>.
- Getestet auf einem Tecra 8000, 2.6.15 Kernel mit vesafb, ALSA v1.0.10.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Chrontel 70xx Encoder-Chip</emphasis>:
- Zu finden im IBM Thinkpad 390E und möglicherweise anderen Thinkpads oder
- Notebooks.
- </para><para>
- Du musst <option>-vo vesa:neotv_pal</option> für PAL oder
- <option>-vo vesa:neotv_ntsc</option> für NTSC verwenden.
- Es wird eine TV-Output-Funktion in folgenden 16bpp und 8bpp-Modi
- zur Verfügung stellen:
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480 und evtl. auch 800x600.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
- </itemizedlist>
- <para>Der Modus 512x384 wird im BIOS nicht unterstützt. Du musst das Bild
- auf eine andere Auflösung skalieren, um die TV-Ausgabe zu aktivieren.
- Wenn du auf dem Schirm ein Bild in 640x480 oder in 800x600 siehst, jedoch nicht
- in 320x240 oder einer kleineren Auflösung, musst du zwei Tabellen in
- <filename>vbelib.c</filename> ersetzen.
- Siehe Funktion vbeSetTV für Details. Bitte kontaktiere in diesem Fall den Autor.
- </para>
- <para>
- Bekanntes Problem: Nur VESA, keine weiteren Schalter wie Helligkeit, Kontrast,
- Blacklevel, Flimmerfilter sind implementiert.
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/es/bugreports.xml b/DOCS/xml/es/bugreports.xml
deleted file mode 100644
index 1425480..0000000
--- a/DOCS/xml/es/bugreports.xml
+++ /dev/null
@@ -1,348 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.5 -->
-<appendix id="bugreports">
-<title>Cómo reportar errores</title>
-<para>
-Informes de errores buenos son una contribución muy valiosa para el desarrollo
-de cualquier proyecto de software. Pero solo por escribir buen software, buenos
-informes de problemas involucran algún trabajo. Por favor tenga en cuenta que
-la mayorÃa de los desarrolladores están extremadamente ocupados y reciben
-cantidades inmensas de correo. La realimentación es crucial para mejorar
-<application>MPlayer</application> y es muy apreciada, por favor entienda
-todo lo que tiene que hacer para proveer <emphasis role="bold">toda</emphasis>
-la información que le pedimos y siga las instrucciones de este documento
-al pie de la letra.
-</para>
-<sect1 id="bugreports_fix">
-<title>Cómo corregir fallos</title>
-<para>
-Si tiene los conocimientos necesarios está invitado a corregir los fallos usted
-mismo. ¿O quizá ya lo ha hecho? Por favor lea
-<ulink url="../../tech/patches.txt">este pequeño documento</ulink> para ver cómo
-obtener el código incluido en <application>MPlayer</application>.
-La gente de la lista de correo
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</ulink>
-le ayudará si aún le quedan dudas.
-</para>
-</sect1>
-<sect1 id="bugreports_report">
-<title>Cómo informar de errores</title>
-<para>
-Lo primero de todo pruebe la última versión CVS de
-<application>MPlayer</application> por si el fallo ya está arreglado allÃ.
-El desarrollo se mueve extremadamente rápido, la
-mayorÃa de los problemas en las liberaciones oficiales son reportados en
-pocos dias e incluso en horas, use por favor
-<emphasis role="bold">solo CVS</emphasis> para informar de fallos.
-Esto incluye los paquetes binarios de <application>MPlayer</application>.
-Instrucciones para el CVS pueden encontrarse al final de
-<ulink url="http://www.mplayerhq.hu/dload.html">esta página</ulink>
-o en el README. Si esto no le ayuda dirÃjase al resto de la documentación.
-Si su problema no es conocido o no se puede solucionar siguiendo nuestras
-instrucciones, entonces informe por favor del error.
-</para>
-
-<para>
-Por favor, no envÃe informes de errores de manera privada a desarrolladores
-individuales. Esto es trabajo en común y puede haber más gente interesada en
-él. Algunas veces otros usuarios han experimentado los mismos problemas y saben
-como solucionar el problema incluso aun siendo un error en el código de
-<application>MPlayer</application>.
-</para>
-
-<para>
-Por favor, describa su problema con tanto detalle como sea posible. Haga un pequeño
-trabajo de detective para arrinconar las circunstancias bajo las que el problema
-ocurre. ¿El error solo ocurre en determinadas situaciones? ¿Es especÃfico de cierto
-tipo de archivos o con archivos concretos? ¿Ocurre con un codec especÃfico o es
-independiente del codec? ¿Puede reproducirse con todos los controladores de salida?
-Cuanta más información nos proporcione mejor podremos actuar para arreglar su problema.
-Por favor, no olvide también incluir la información valiosa que se indica más abajo,
-en caso contrario será más dificil diagnosticar el problema correctamente.
-</para>
-
-<para>
-Una guÃa excelente y bien escrita para hacer preguntas en foros públicos es
-<ulink url="http://www.sindominio.net/ayuda/preguntas-inteligentes.html"> Cómo hacer
-preguntas inteligentes</ulink> por
-<ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
-Hay otra llamada
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">Cómo informar de errores
-de manera efectiva</ulink> por
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>.
-Si sigue los pasos de estas guÃas deberás ser capaz de obtener ayuda. Pero por favor
-entienda que la lista de correo la siguen voluntarios en su tiempo libre. Estamos
-muy ocupados y no podemos garantizar que tengamos una solución para su problema o
-ni tan siquiera una respuesta.
-</para>
-
-</sect1>
-
-<sect1 id="bugreports_where">
-<title>Dónde informar de los errores</title>
-<para>
-SuscrÃbase a la lista de correo mplayer-users:
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-y envÃe su informe de error a:
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/>
-</para>
-<para>
-El idioma de esta lista es <emphasis role="bold">Inglés</emphasis>. Por favor siga las
-<ulink url="http://www.ietf.org/rfc/rfc1855.txt">Netiquette Guidelines</ulink> estandar
-y <emphasis role="bold">no envÃe correo en HTML</emphasis> a ninguna de nuestras listas
-de correo. Si lo hace puede ser ignorado o expulsado. Si no sabe qué es el correo HTML
-o por qué es el demonio, lea este
-<ulink url="http://efn.no/html-bad.html">buen documento</ulink>. Explica todos los
-detalles y las instrucciones para desactivar el correo HTML. Note también que no
-debe hacer CC (carbon-copy) a personas individuales no es buena idea si quiere recibir
-una respuesta.
-</para>
-</sect1>
-
-<sect1 id="bugreports_what">
-<title>De qué informar</title>
-<para>
-Necesita incluir un historial, archivos de configuración o muestras en su informe
-de error. Si alguno de estos es muy grande entonces es mejor subirlos a nuestro
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">servidor FTP</ulink> en un
-formato comprimido (gzip y bzip2 preferentemente) e incluir solo la ruta al nombre
-del archivo en su informe de error. Nuestras listas de correo tienen un lÃmite
-en el tamaño del mensaje de 80k, si tiene algo más grande entonces deberá comprimirlo
-y subirlo.
-</para>
-
-<sect2 id="bugreports_system">
-<title>Información del Sistema</title>
-<para>
-<itemizedlist>
-<listitem><para>
-Si distribución de Linux o sistema operativo y versión p.e.:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + devel packs from 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-versión del kernel:
-<screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
-versión de libc:
-<screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
-versiones de gcc y ld:
-<screen>
-gcc -v
-ld -v
-</screen>
-</para></listitem>
-<listitem><para>
-versión de binutils:
-<screen>
-as --version
-</screen>
-</para></listitem>
-<listitem><para>
-Si tiene problemas con el modo de pantalla completa:
- <itemizedlist>
- <listitem><para>Administrador de ventanas, tipo y versión</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Si tiene problemas con XVIDIX:
- <itemizedlist>
- <listitem><para>Profundidad de color de las X:
-<screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Si solo el GUI está fallando:
- <itemizedlist>
- <listitem><para>versión de GTK</para></listitem>
- <listitem><para>versión de GLIB</para></listitem>
- <listitem><para>versión de libpng</para></listitem>
- <listitem><para>situación del GUI cuando ocurre el error</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<sect2 id="bugreports_hardware">
-<title>Hardware y controladores</title>
-<para>
-<itemizedlist>
-<listitem><para>
-Información de la CPU (esto funciona solo en Linux):
-<screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
-Fabricante de la tarjeta gráfica y modelo, p.e.:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Tipo y versión del controlador de video, p.e.:
- <itemizedlist>
- <listitem><para>X built-in driver</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI from X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Tipo y controlador de la tarjeta de sonido, p.e.:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold con controlador OSS de oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 con controlador del kernel OSS</para></listitem>
- <listitem><para>GUS PnP con emulación ALSA OSS</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-En caso de duda incluya la salida de <command>lspci -vv</command>
-en sistemas Linux.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<sect2 id="bugreports_configure">
-<title>Problemas de configuración</title>
-<para>
-Si obtiene errores cuando ejecuta <command>./configure</command>, o la
-autodetección o algo falla, lea <filename>config.log</filename>. Puede
-encontrar la respuesta ahÃ, por ejemplo múltiples versiones de la misma
-biblioteca mezcladas en su sistema, o ha olvidado instalar los paquetes
-de desarrollo (los que tienen el sufijo -dev). Si cree que puede ser un error,
-incluya <filename>config.log</filename> en su informe.
-</para>
-</sect2>
-
-<sect2 id="bugreports_conpilation">
-<title>Problemas de compilación</title>
-<para>
-Por favor incluya los siguientes archivos:
-<itemizedlist>
-<listitem><para>config.h</para></listitem>
-<listitem><para>config.mak</para></listitem>
-</itemizedlist>
-Solo si falla la compilación bajo uno de los siguientes directorios, incluya
-estos archivos:
-<itemizedlist>
-<listitem><para>Gui/config.mak</para></listitem>
-<listitem><para>libvo/config.mak</para></listitem>
-<listitem><para>libao2/config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<sect2 id="bugreports_playback">
-<title>Problemas de reproducción</title>
-<para>
-Por favor incluya la salida de <application>MPlayer</application> con nivel
-de prolijo 1, pero recuerde <emphasis role="bold">no truncar la salida</emphasis>
-cuando pegue esto en su correo. Los desarrolladores necesitan todos los mensajes
-para diagnosticar correctamente el problema. Puede dirigir la salida a un archivo
-asÃ:
-<screen>mplayer -v <replaceable>opciones</replaceable> <replaceable>nombre-archivo</replaceable> > mplayer.log 2>&1</screen>
-</para>
-
-<para>
-Si su problema es especÃfico con uno o más archivos, suba las vÃctimas a:
-<ulink url="ftp://mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-Suba también un pequeño archivo de texto que tenga la misma base en el nombre de
-su archivo con una extensión .txt. Describa el problema que tiene con el archivo
-en particular e incluya su dirección de correo electrónico asà como la salida de
-<application>MPlayer</application> con nivel de prolijo 1.
-Usualmente los primeros 1-5 MB del archivo son suficientes para reproducir
-el problema, pero para asegurarse haga:
-<screen>dd if=<replaceable>su-archivo</replaceable> of=<replaceable>archivo-pequeño</replaceable> bs=1024k count=5</screen>
-Esto coje los primeros cinco megabytes de '<emphasis role="bold">su-archivo</emphasis>'
-y los escribe a '<emphasis role="bold">archivo-pequeño</emphasis>. Entonces pruebe de
-nuevo con este archivo pequeño y si el error sigue apareciendo su muestra será suficiente
-para nosotros.
-Por favor, ¡<emphasis role="bold">nunca</emphasis> envÃe estos archivos por correo!
-Súbalos, y envÃo solo la ruta/nombre del archivo en nuestro servidor FTP. Si el
-archivo está disponible en la red, entonces enviar la URL
-<emphasis role="bold">exacta</emphasis> es suficiente.
-</para>
-</sect2>
-
-<sect2 id="bugreports_crash">
-<title>Cuelgues</title>
-<para>
-DeberÃa ejecutar <application>MPlayer</application> dentro de <command>gdb</command>
-y enviarnos la salida completa o si tiene un volcado <filename>core</filename> de
-cuelgue puede extraer información útil desde el archivo Core. Aquà tiene cómo:
-</para>
-
-<sect3 id="bugreports_debug">
-<title>Cómo conservar información acerca de un error reproducible</title>
-<para>
-Recompile <application>MPlayer</application> con debug de código activado:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-y luego ejecute <application>MPlayer</application> dentro de gdb usando:
-<screen>gdb ./mplayer</screen>
-Ahora ya está dentro de gdb. Escriba:
-<screen>run -v <replaceable>opciones-para-mplayer</replaceable>
-<replaceable>nombre-archivo</replaceable></screen> y reproduzca el error.
-Tan pronto como muera, gdb le devuelve a la lÃnea de órdenes donde entró
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-<sect3 id="bugreports_core">
-<title>Cómo extraer información significativa desde un volcado core</title>
-<para>
-Cree el siguiente archivo de órdenes:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-y después ejecute ésta orden:
-<screen>gdb mplayer --core=core -batch --command=<replaceable>command_file</replaceable> > mplayer.bug</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-<sect1 id="bugreports_advusers">
-<title>Yo sé lo que estoy haciendo...</title>
-<para>
-Si ha creado un informe de error correcto siguiendo los pasos anteriores y
-sabe que es un error en <application>MPlayer</application>, no un problema
-del compilador o un archivo en mal estado, ha leido ya la documentación
-y no puede encontrar una solución, sus controladores de sonido están en
-buen estado, entonces puede que quiera suscribirse a la lista de correo
-mplayer-advusers y enviar su informe de error ahà para obtener
-una respuesta más rápida y mejor.
-</para>
-
-<para>
-Por favor tenga en cuenta que si plantea preguntas de novato o preguntas que ya
-han sido respondidas en el manual, entonces será ignorado o amenazado en lugar
-de obtener la respuesta apropiada. No nos amenaze a nosotros y suscrÃbase a
--advusers solo si realmente sabe lo que está haciendo y se siente un usuario
-avanzado de <application>MPlayer</application> o un desarrollador.
-Si usted tiene este criterio no deberÃa serle dificil encontrar cómo
-suscribirse a esta lista...
-</para>
-
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/es/documentation.xml b/DOCS/xml/es/documentation.xml
deleted file mode 100644
index cfb6e18..0000000
--- a/DOCS/xml/es/documentation.xml
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.12 -->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - El reproductor de PelÃculas
-para LINUX</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>24 de Marzo del 2003</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayer team</holder>
-</copyright>
-<legalnotice>
- <title>Licencia</title>
-
- <para>Este programa es software libre; usted puede distribuirlo y/o modificarlo
- bajo los términos de la Licencia Pública General GNU, tal y como está publicada
- por la Free Software Foundation; ya sea la versión 2 de la Licencia, o
- (a su elección) cualquier versión posterior.</para>
-
- <para>Este programa se distribuye con la intención de ser útil, pero SIN NINGUNA
- GARANTÃA; incluso sin la garantÃa implÃcita de USABILIDAD O UTILIDAD PARA UN
- FIN PARTICULAR. Vea la Licencia Pública General GNU para más detalles.</para>
-
- <para>Usted deberÃa haber recibido una copia de la Licencia Pública General GNU
- junto a este programa; si no es asÃ, escriba a la Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>Como leer esta documentación</title>
-
-<para>
-Si es la primera vez que va a instalarlo: asegúrese de leer todo desde
-aquà hasta el final de la sección de instalación, y siga los enlaces
-que vaya encontrando. Si tiene otras preguntas, vuelva a la <link linkend="toc">
-Tabla de Contenidos</link> y busque el asunto particular, lea las <link
-linkend="faq">preguntas frecuentes</link>, o intente usando grep entre los
-archivos. La mayorÃa de las cuestiones debe estar contestadas en algún lugar de por
-aquà y el resto probablemente ya haya sido preguntado en nuestras
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists-es.html">listas de correo</ulink>.
-Compruebe los
-<ulink url="http://www.mplayerhq.hu/cgi-bin/s-arch.cgi">archivos</ulink>, hay un montón
-de información valiosa allÃ.
-</para>
-</preface>
-
-<chapter id="intro">
-<title>Introducción</title>
-
-<para>
-<application>MPlayer</application> es un reproductor de pelÃculas para Linux (corre
-en muchos otros Unices, y en CPUs <emphasis role="bold">no-x86</emphasis>, vea la
-sección de <link linkend="ports">adaptaciones</link>). Puede reproducir casi todos
-los archivos MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM,
-NuppelVideo, yuv4mpeg, FILM, RoQ, PVA y Matroska, soportado por muchos codecs
-nativos, de XAnim, de RealPlayer y de DLL de Win32. Puede ver pelÃculas en formato
-<emphasis role="bold">VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora</emphasis>,
-y <emphasis>DivX</emphasis> también (¡y no es necesaria la librerÃa avifile!).
-Otra gran caracterÃstica de <application>MPlayer</application> es el amplio
-rango de controladores de salida soportados. Funciona con X11, Xv, DGA, OpenGL,
-SVGAlib, fbdev, AAlib, libcaca, DirectFB, ¡pero también puede usar GGI y SDL (y de esta
-manera todos sus controladores) y algunos controladores de bajo nivel
-especÃficos de algunas placas (para Matrox, 3Dfx y Radeon, Mach64, Permidia3)!
-Casi todos ellos soportan escalado por software o hardware, por lo que puede
-disfrutar de las pelÃculas en pantalla completa.
-<application>MPlayer</application> soporta mostrado sobre algunas placas
-decodificadoras por hardware de MPEG, como la <link linkend="dvb">DVB</link>
-y <link linkend="dxr3"> DXR3/Hollywood+</link>. ¿Y que tal los grandes y
-bonitos subtÃtulos sombreados y con efecto antialias (<emphasis role="bold">
-se soportan 10 tipos de subtÃtulos</emphasis>) con fuentes Europeas/ISO
-8859-1,2 (Húngara, Inglesa, Checa, etc), CirÃlica, Coreana, y el mostrado
-en pantalla (OSD)?
-</para>
-
-<para>
-El reproductor es solido como una piedra reproduciendo archivos MPEG dañados
-(útil para algunos VCDs), y reproduce archivos AVI incorrectos que no es posible
-reproducirlos con el famoso reproductor de medios de Windows. Hasta archivos AVI
-sin la información de Ãndice, y puede temporalmente reconstruir sus Ãndices con la
-opción <option>-idx</option>, o permanentemente con <application>MEncoder</application>,
-¡y con eso permitir la búsqueda! Como ve, la estabilidad y la calidad son muy
-importantes, pero la velocidad también es asombrosa.
-</para>
-
-<para>
-<application>MEncoder</application> (el codificador de pelÃculas de
-<application>MPlayer</application>) es un codificador de pelÃculas simple,
-diseñado para codificar pelÃculas que <application>MPlayer</application>
-pueda reproducir (<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
-a otros formatos también reproducibles por <application>MPlayer</application>
-(ver más abajo). Puede codificar con varios codecs, como
-<emphasis role="bold">DivX4</emphasis> (1 o 2 pasadas),
-<systemitem class="library">libavcodec</systemitem>, audio
-<emphasis role="bold">PCM/MP3/VBR MP3</emphasis>. Además posee un poderoso
-sistema de plugin para la manipulación de vÃdeo.
-</para>
-
-
-<itemizedlist>
-<title>CaracterÃsticas de <application>MEncoder</application></title>
-<listitem><para>
- Codificación desde una amplia variedad de formato de archivos y
- decodificadores de <application>MPlayer</application>
- </para></listitem>
-<listitem><para>
- Codificación a todos los codecs soportados por ffmpeg
- <systemitem class="library">libavcodec</systemitem>
- </para></listitem>
-<listitem><para>
- Codificación de vÃdeo desde un <emphasis role="bold">sintonizador de TV compatible con V4L</emphasis>
- </para></listitem>
-<listitem><para>
- Codificación/Multiplexación de archivos AVI entrelazados con su respectivo Ãndice.
- </para></listitem>
-<listitem><para>
- Creación de archivos desde flujos de audio externos.
- </para></listitem>
-<listitem><para>
- Codificación en 1, 2 o 3 pasadas.
- </para></listitem>
-<listitem><para>
- Audio MP3 <emphasis role="bold">VBR</emphasis>
- <important><para>
- ¡El audio MP3 VBR no siempre se reproduce muy bien en los reproductores de Windows!
- </para></important>
- </para></listitem>
-<listitem><para>
- audio PCM
- </para></listitem>
-<listitem><para>
- Copia de flujos (de audio y vÃdeo)
- </para></listitem>
-<listitem><para>
- Sincronización de entrada de A/V (basada en PTS, puede ser desactivada con la opción
- <option>-mc 0</option>)
- </para></listitem>
-<listitem><para>
- Corrección de cuadros por segundo con la opción <option>-ofps</option> (útil cuando
- se esta codificando 29.97 cps VOB a AVI con 24 cps).
- </para></listitem>
-<listitem><para>
- Usa nuestro poderoso sistema de plugin (cortar, expandir, invertir, post-procesar,
- rotar, escalar, conversión rgb/yuv)
- </para></listitem>
-<listitem><para>
- Puede codificar DVD/VOBsub <emphasis role="bold">y</emphasis>el texto de subtÃtulos
- en el archivo de salida
- </para></listitem>
-<listitem><para>
- Puede extraer los subtÃtulos de DVD al formato VOBsub
- </para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>CaracterÃsticas planeadas</title>
-<listitem><para>
- Aun una variedad más amplia de formatos de de/codificación de
- formatos/codecs (creación de archivos VOB con flujos DivX4/Indeo5/VIVO :).
- </para></listitem>
-</itemizedlist>
-
-<!-- FIXME: la licencia debe estar en bookinfo -->
-<para>
-<application>MPlayer</application> y <application>MEncoder</application>
-pueden ser distribuidos bajo los términos de la Licencia GNU General Public
-License Version 2 (GPL v.2).
-</para>
-
-</chapter>
-
-&install.xml;
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/es/encoding-guide.xml b/DOCS/xml/es/encoding-guide.xml
deleted file mode 120000
index 9c2c8fa..0000000
--- a/DOCS/xml/es/encoding-guide.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/encoding-guide.xml
\ No newline at end of file
diff --git a/DOCS/xml/es/faq.xml b/DOCS/xml/es/faq.xml
deleted file mode 100644
index 5c9aa48..0000000
--- a/DOCS/xml/es/faq.xml
+++ /dev/null
@@ -1,1211 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.33 -->
-<chapter id="faq" xreflabel="FAQ">
-<title>Preguntas de Usuario Frecuentes</title>
-
-<qandaset defaultlabel="qanda">
-
-<qandadiv id="faq-development">
-<title>Desarrollo</title>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo crear un parche para <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Hemos hecho<ulink url="../../tech/patches.txt">un pequeño documento</ulink>
-describiendo todos los detalles necesarios. Por favor siga las instrucciones.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo traducir <application>MPlayer</application> a un nuevo idioma?
-</para></question>
-<answer><para>
-Lea el <ulink url="../../tech/translations.txt">COMO sobre traducciones</ulink>,
-ahà debe estar todo explicado. Puede obtener más ayuda en la lista de correo
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-docs">mplayer-docs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo ayudar al desarrollo de <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Estamos más que felices de aceptar sus
-<ulink url="http://www.mplayerhq.hu/donations.html">donaciones</ulink>
-de hardware y software.
-Eso nos ayuda a mejorar contÃnuamente <application>MPlayer</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo convertirme en un desarrollador de <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Siempre son bienvenidos codeadores y documentadores. Lea la
-<ulink url="../../tech/">documentación técnica</ulink>
-para obtener una primera impresión. Deberá suscribirse a la lista
-de correo
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</ulink>
-y comenzar a escribir código. Si quiere ayudar con la documentación,
-únase a la lista de correo
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-docs">mplayer-docs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Por qué no usan autoconf/automake?
-</para></question>
-<answer><para>
-Tenemos un sistema modular, escrito a mano. Hace un trabajo razonablemente
-bueno, ¿por qué cambiar? Además, no nos gustan las herramientas
-auto*, como a
-<ulink url="http://freshmeat.net/articles/view/889/">otra gente</ulink>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<qandadiv id="faq-compilation">
-<title>Compilación</title>
-<qandaentry>
-<question><para>
-¿Hay paquetes binarios (RPM/deb) de <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Vea las secciones de <link linkend="debian">Debian</link> y
-<link linkend="rpm">RPM</link> para más detalles.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-La compilación se detiene con un mensaje de error similar a este:
-<screen>
- cfft.c: In function`passf2':
- cfft.c:556: unable to find a register to spill in class `FLOAT_REGS'
- cfft.c:556: this is the insn:
- (insn 235 233 246 (set (subreg:SF (reg/v:DI 29 rmm0 [110]) 0)
- (minus:SF (mem:SF (plus:SI (mult:SI (reg:SI 1 edx [112])
- (const_int 8 [0x8]))
- (reg/v/f:SI 3 ebx [62])) [4 S4 A32])
- (reg:SF 8 st(0) [132]))) 533 {*fop_sf_1_nosse} (insn_list
- 232 (nil)) (expr_list:REG_DEAD (reg:SF 8 st(0) [132])
- (nil)))
- cfft.c:556: confused by earlier errors, bailing out
-</screen>
-</para></question>
-<answer><para>
-Este es un problema conocido de <application>gcc</application> 3.2, actualice
-a 3.3 para solucionar el problema. Alternativamente puede usar
-una biblioteca FAAD externa como se describe en la sección <link linkend="aac">AAC</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-La compilación se detiene con un mensaje de error similar a este:
-<screen>
- En el archivo incluÃdo en mplayer.c:34:
- mw.h: En función `mplMainDraw':
- mw.h:209: Error interno del compilador en print_rtl_and_abort, at flow.c:6458
- Por favor envÃe un informe de error completo,
- con código preprocesado si es necesario.
-</screen>
-</para></question>
-<answer><para>
-Este es un problema conocido de <application>gcc</application> 3.0.4, actualice
-a 3.1 para solucionar el problema.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Configure termina con este texto, y ¡<application>MPlayer</application> no compila!
-<screen>Su gcc no soporta ni un i386 para '-march' and '-mcpu'</screen>
-
-</para></question>
-<answer><para>
-Si su gcc no está instalado correctamente, compruebe el archivo
-<filename>config.log</filename> para más detalles.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-La salida de SDL no funciona o no compila. El problema es ...
-</para></question>
-<answer><para>
-Se ha comprobado que funciona con SDL 1.2.x y puede funcionar en SDL 1.1.7+.
-<emphasis role="bold">No</emphasis> funciona con versiones anteriores. Si
-decide usar esas versiones que no funcionan, haga lo que le de la gana.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Sigo teniendo problemas compilando con soporte para SDL, gcc dice algo
-acerca de <screen>referencia no definida a `SDL_EnableKeyRepeat'</screen>. ¿Ahora qué?
-</para></question>
-<answer><para>
-¿Dónde ha instalado la biblioteca SDL? Si la ha instalado en
-<filename class="directory">/usr/local</filename> (por defecto) entonces edite
-el archivo de primer nivel <filename>config.mak</filename> y añada
-<systemitem>-L/usr/local/lib</systemitem> después de <systemitem>X_LIBS=</systemitem>.
-Ahora escriba <command>make</command>. ¡Ya lo tiene!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Tengo una Matrox G200/G400/G450/G550, ¿cómo puedo compilar/usar el controlador mga_vid?
-</para></question>
-<answer><para>
-Lea la sección <link linkend="mga_vid">mga_vid</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hmm, extraño. Cuando cargo el módulo del kernel <filename>mga_vid.o</filename>,
-encuentro esto en los historiales:
-<screen>Advertencia: cargando mga_vid.o puede corromper el kernel: no hay licencia</screen>
-</para></question>
-<answer><para>
-Los últimos modutils del kernel requieren una bandera indicando la
-licencia (principalmente para evitar a hackers del kernel hacer
-ingenierÃa inversa de controladores de código cerrado).
-Actualice su kernel, modutils y <application>MPlayer</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Durante 'make', <application>MPlayer</application> se queja de algunas
-bibliotecas de X11. No lo entiendo, ¡yo TENGO X instalado!?
-</para></question>
-<answer><para>
-... pero no tiene los paquetes de desarrollo de X instalados. O no de la manera correcta.
-Se llaman <filename>XFree86-devel*</filename> bajo Red Hat, y
-<filename>xlibs-dev</filename> bajo Debian. Compruebe también si los enlaces simbólicos
-<filename class="directory">/usr/X11</filename> y
-<filename class="directory">/usr/include/X11</filename> existen (esto
-puede ser un problema en sistemas Mandrake). Pueden crearse con éstas órdenes:
-<screen>
- # ln -sf /usr/X11R6 /usr/X11
- # ln -sf /usr/X11R6/include/X11 /usr/include/X11
-</screen>
-Su distribución puede diferir del
-<ulink url="http://www.pathname.com/fhs/">Filesystem Hierarchy Standard</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-No puedo compilar SVGAlib. Estoy usando kernel 2.3/2.4 ...
-</para></question>
-<answer><para>
-Debe editar los <filename>Makefile.cfg</filename> de SVGAlib y dejar como comentario
-<systemitem>BACKGROUND = y</systemitem>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-He compilado <application>MPlayer</application> con soporte libdvdcss/libdivxdecore,
-pero cuanto intento iniciarlo, me dice:
-<screen>
-error cargando bibliotecas compartidas: lib*.so.0: no se puede cargar el archivo objeto compartido: No se encuentra el archivo o directorio
-</screen>
-He comprobado el archivo y ESTÃ en <filename class="directory">/usr/local/lib</filename> ...
-</para></question>
-<answer><para>
-Añada <filename class="directory">/usr/local/lib</filename> a
-<filename>/etc/ld.so.conf</filename> y ejecute <command>ldconfig</command>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Compilando <application>MEncoder</application>, da segfaults al linkar!
-</para></question>
-<answer><para>
-Este es un problema del linkador. Actualizar binutils puede ayudar (2.11.92.*
-o posterior deben ir bien). Ya que no es un problema nuestro, ¡por favor
-<emphasis role="bold">no</emphasis> nos informe de él!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡<application>MPlayer</application> muere con segmentation fault durante
-la comprobación pthread!
-</para></question>
-<answer><para>
-<command>chmod 644 /usr/lib/libc.so</command>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡Me gustaria compilar <application>MPlayer</application> en Minix!
-</para></question>
-<answer><para>
-A mà también. :)
-</para></answer>
-</qandaentry>
-
-</qandadiv>
-
-<qandadiv id="faq-general">
-<title>Preguntas generales</title>
-
-<qandaentry>
-<question><para>
-¿Hay alguna lista de correo en <application>MPlayer</application>?
-</para></question>
-<answer><para>
-SÃ. Vea la sección
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">listas de correo</ulink>
-de nuestro homepage.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-He encontrado un error molestro mientras reproducÃa mi ¡video favorito! ¿A quién debo informar?
-</para></question>
-<answer><para>
-Por favor lea las
-<link linkend="bugreports">guÃas para informar de fallos</link>
-y siga las instrucciones.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Tengo problemas reproduciendo archivos con el codec .... ¿Puedo usarlo?
-</para></question>
-<answer><para>
-Compruebe el <ulink url="../../codecs-status.html">estado del codec</ulink>,
-si no contiene su codec, lea el
-<ulink url="../../tech/win32-codec-howto">COMO importar codecs Win32</ulink>
-y contacte con nosotros.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Cuando inicio la reproducción, obtenego este mensaje pero todo parece ir bien:
-<screen>Linux RTC init: ioctl (rtc_pie_on): Permiso denegado</screen>
-</para></question>
-<answer><para>
-Necesita privilegios de root o establecer un kernel especial para usar el nuevo código
-de temporización. Para más detalles vea la sección<link linkend="rtc">RTC</link> de
-la documentación.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hay un cronómetro en la esquina superior izquierda. ¿Cómo puedo quitarlo?
-</para></question>
-<answer><para>
-Pulse <keycap>o</keycap> y pruebe la opción <option>-osdlevel</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Las opciones <option>-xy</option> o <option>-fs</option> no funcionan con el
-controlador x11 (<option>-vo x11</option>) ...
-</para></question>
-<answer><para>
-SÃ funciona, pero debe especificar un escalado por software (muy lento) con la
-opción <option>-zoom</option>. Mejor use soporte XF86VidMode: Debe especificar
-la opción <option>-vm</option> y la opción <option>-fs</option>, y ya está.
-Asegúrese de tener los modelines correctos en su archivo <filename>XF86Config</filename>,
-e intente que el <link linkend="dga">controlador DGA</link> y el
-<link linkend="sdl">controlador SDL DGA</link> funcionen para usted.
-Es mucho más rápido. Si SDL DGA funciona, úselo, será incluso más rápido.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Qué significan los números de la lÃnea de estado?
-</para></question>
-<answer><para>
-Ejemplo:
-<screen>A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%</screen>
-<itemizedlist>
-<listitem><para>A: posición de audio en segundos</para></listitem>
-<listitem><para>V: posición de video en segundos</para></listitem>
-<listitem><para>A-V: diferencia audio-video en segundos (retardo)</para></listitem>
-<listitem><para>ct: corrección completa de sincronización A-V</para></listitem>
-<listitem><para>cuadros reproducidos (contando desde la ultima busceda)</para></listitem>
-<listitem><para>cuadros descifrados (contando desde la ultima busceda)</para></listitem>
-<listitem><para>porcentaje cpu usado por video codec (para trozos y DR esto incluye video_out)</para></listitem>
-<listitem><para>porcentaje cpu usado por video_out</para></listitem>
-<listitem><para>porcentaje cpu usado por audio codec</para></listitem>
-<listitem><para>cuadros dejados para mantener sincronización A-V</para></listitem>
-<listitem><para>nivel actual de procesamiento posterior de imagen (mientras usando<option>-autoq</option>)</para></listitem>
-<listitem><para>nivel de cache usado (aproximadamente 50% es normal)</para></listitem>
-</itemizedlist>
-La mayorÃa de ellos tiened utilidad de depurar y serán suprimidos en cierto punto.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Qué pasa si no quiero que aparezcan?
-</para></question>
-<answer><para>
-Use la opción <option>-quiet</option> y lea las páginas man.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Por qué está la CPU usada a cero (0%) para algunos archivos?
-</para></question>
-<answer><para>
-No esta a cero, pero es recojido del codec osea que no se puede medir
-por separado. DeberÃa intentar reproducir el archivo usando <option>-vo null</option> y
-luego <option>-vo ...</option> y observar la diferencia para ver la velocidad de video_out.
-</para></answer>
-<answer><para>
-Está usando Direct Rendering, en este caso el codec renderiza por sà mismo sobre la memoria
-de video. En este caso, el porcentaje descifrado contiene también el porcentaje reproducido.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hay mensajes de error archivo no encontrado <filename>/usr/local/lib/codecs/</filename> ...
-</para></question>
-<answer><para>
-Descargue los codecs Win32 de nuestra
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">página de codecs</ulink>
-(el paquete de codecs avifile contiene un conjunto diferente de DLL's) e instálelo.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Umm, ¿qué es "IdegCounter"?
-</para></question>
-<answer><para>
-Una combinación de una palabra en Húngaro y una Inglesa. "Ideg" en Húngaro
-quiere decir lo mismo que "nervio" en Español, y es pronunciado algo parecido a
-"ydaegh". Al principio fue usado para medir el nivel de Nervios de A'rpi, después
-de la (umm) "misteriosa" desaparición de codigo CVS ;)
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Y qué es "Faszom(C)ounter"?
-</para></question>
-<answer><para>
-"Fasz" es una palabra Húngara que no quieres saber, las otras están
-conectadas a las mentes pervertidas de los desarrolladores de
-<application>MPlayer</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-LIRC no funciona, ¿por qué? ...
-</para></question>
-<answer><para>
-¿Está seguro que está usando <command>mplayer</command> en lugar de
-<command>mplayer_lirc</command>? Toma nota que solia ser <command>mplayer_lirc</command>
-por bastante tiempo, version 0.60 incluida, pero esto fue cambiado recientemente a
-<command>mplayer</command>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Los subtitulos son muy bonitos, los mas bonitos que jamás he visto, ¡pero retrasan
-la reproducción! Sé que es poco probable ...
-</para></question>
-<answer><para>
-Después de ejecutar <filename>./configure</filename>, tiene que editar <filename>config.h</filename>
-y sustituir <systemitem>#undef FAST_OSD</systemitem> con
-<systemitem>#define FAST_OSD</systemitem>. Y volver a compilar.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡Las funciones de pantalla (OSD) parpadean!
-</para></question>
-<answer><para>
-Está usando el controlador vo con un solo buffer (x11,xv). Con xv, use la opción
-<option>-double</option>. Pruebe también <option>-vf expand</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡La barra the tareas de Icewm sigue cubriendo la pelicula cuande se usa la funcion pantalla completa!
-</para></question>
-<answer><para>
-Esto ya no deberia ocurrir, si aún sigue use la opción de capa <option>-fstype</option>
-y comunÃquelo a la lista de correo
-<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-No puedo acceder al menú del GUI. Intento dar al botón derecho, ¡pero no puedo
-acceder a ningún objeto del menú!
-</para></question>
-<answer><para>
-¿Está usando FVWM? Intente la siguiente:
-<orderedlist>
-<listitem><para>Start -> Settings -> Configuration -> Base Configuration</para></listitem>
-<listitem><para>Cambie <systemitem>Use Applications position hints</systemitem>
-a <systemitem>Yes</systemitem></para></listitem>
-</orderedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo hacer que <application>MPlayer</application> funcione en segundo plano?
-</para></question>
-<answer><para>
-Use:
-<screen>mplayer <replaceable>opciones</replaceable> <replaceable>archivo</replaceable> < /dev/null &</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<qandadiv id="faq-playback">
-<title>Problemas de reproducción</title>
-
-<qandaentry>
-<question><para>
-No puedo identificar la causa de algun extraño problema de reproduccion.
-</para></question>
-<answer><para>
-¿Tiene algún archivo <filename>codecs.conf</filename> extraviado en
-<filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
-<filename>/usr/local/etc/</filename> o lugar similar? QuÃtelo,
-archivos <filename>codecs.conf</filename> anticuados pueden causar problemas
-extraños. <application>MPlayer</application> usará uno que tiene incorporado en su lugar.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Por qué no funciona <application>MPlayer</application> en Fedora Core?
-</para></question>
-<answer><para>
-Hay una mala interacción en Fedora entre exec-shield,
-prelink, y cualquier aplicación que use DLLs de Windows
-(tales como <application>MPlayer</application>).
-</para>
-<para>
-El problema es que exec-shield aleatoriza la dirección de carga de
-todas las bibliotecas del sistema. Esta aleatorización ocurre en el
-tiempo del prelink (una vez cada dos semanas).
-</para>
-<para>
-Cuando <application>MPlayer</application> intenta cargar una DLL de
-Windows intenta colocarla en una dirección especÃfica (0x400000). Si
-una biblioteca importante del sistema resulta que está en esa dirección,
-<application>MPlayer</application> fallará.
-(Un sÃntoma tÃpico es un fallo de segmentación cuando se intentan reproducir
-archivos Windows Media 9.)
-</para>
-<para>
-Si le ocurre este problema tiene dos opciones:
-<itemizedlist>
-<listitem><para>Esperar dos semanas. Puede que vuelva a funcionar de
-nuevo.</para></listitem>
-<listitem><para>Hacer el relink de todos los binarios del sistema con
-diferentes opciones del prelink. Aquà tiene las instrucciones paso a
-paso:</para>
-<para>
-<orderedlist>
-<listitem><para>Edite <filename>/etc/sysconfig/prelink</filename> y cambie</para>
-<para>
-<programlisting>
-PRELINK_OPTS=-mR
-</programlisting>
-</para>
-<para>
-a
-<programlisting>
-PRELINK_OPTS="-mR --no-exec-shield"
-</programlisting>
-</para>
-</listitem>
-<listitem><para><command>touch /var/lib/misc/prelink.force</command></para></listitem>
-<listitem><para><command>/etc/cron.daily/prelink</command>
-(Esto relinka todas las aplicaciones, y tardará un buen rato.)</para></listitem>
-<listitem>
-<para><command>execstack -s <replaceable>/ruta/a/</replaceable>mplayer</command>
-(Esto desactiva el execshield para el binario de <application>MPlayer</application>.)
-</para>
-</listitem>
-</orderedlist>
-</para>
-</listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-... funciona con <application>xine/avifile/...</application> pero no con
-<application>MPlayer</application>.
-</para></question>
-<answer><para>
-<application>MPlayer</application> no es <application>xine/avifile/...</application>.
-Aunque estos reproductores tienen algún código en común, el grupo de codecs (DLL),
-sincronización, demultiplexores etc es diferente y no deberÃa ser
-comparado. Si tiene un archivo que <application>MPlayer</application> falla en
-reproducir correctamente pero que funciona con otro reproductor, por favor lea la
-<link linkend="bugreports">guÃa para reportar errores</link> y suba el archivo
-a nuestro servidor FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Audio se sale de sincronizacion mientras reproduzco un archivo AVI.
-</para></question>
-<answer><para>
-Intenta la <option>-bps</option> o <option>-nobps</option> opcion. Si todavia no
-mejora, lea <link linkend="bugreports">esto</link> y sube el archivo a FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> sale con algun error cuando uso <filename>l3codeca.acm</filename>.
-</para></question>
-<answer><para>
-Compruebe la salida<command>ldd /usr/local/bin/mplayer</command>. Si contiene
-<screen>libc.so.6 => /lib/libc.so.6 (0x4???????)</screen>
-donde "?" es cualquier número entonces está bien, el error no es de ahÃ. Si es:
-<screen>libc.so.6 => /lib/libc.so.6 (0x00??????)</screen>
-hay un problema con su kernel/libc. Quizas esté usando algún parche de seguridad
-(por ejemplo el parche de Solar Designer's OpenWall) que fuerza la carga de
-librerÃas a direcciones bajas. Al ser un DLL non-relocable,<filename>l3codeca.acm</filename>
-debe ser cargado a <literal>0x00400000</literal>, no podemos
-cambiar esto. DeberÃa usar un kernel sin parchear, o use la opción
-<option>-afm 1</option> de <application>MPlayer</application> para dejar de
-usar <filename>l3codeca.acm</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mi ordenador reproduce MS DivX AVIs con resoluciones ~ 640x300 y sonido mp3 en estéreo
-demasiado lento. Cuando uso la opción <option>-nosound</option> todo va bien (pero sin sonido).
-</para></question>
-<answer><para>
-Su ordenador es demasiado lento o su tarjeta de sonido está estropeada. Consulte la
-documentación de la misma para ver si hay forma de mejorar el rendimiento.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> falla con <screen>MPlayer interrupted by
-signal 4 in module: decode_video</screen>.
-</para></question>
-<answer><para>
-Intente ejecutar <application>MPlayer</application> en la máquina en la que
-fue compilado. O recompile con detección de CPU en tiempo de ejecución
-(<command>./configure --enable-runtime-cpudetection</command>).
-No use <application>MPlayer</application> en un CPU diferente a en el que
-fue compilado, sin usar esta opción que se acaba de mencionar.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Tengo un problema con [su administrador de ventanas] y reproducción en pantalla completa con modo xv/xmga/sdl/x11 ...
-</para></question>
-<answer><para>
-Lea <link linkend="bugreports">la guÃa para informar de errores</link> y mande un
-informe de error.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Me salió esto reproduciendo archivos MPEG: Can't find codec for video format 0x10000001!
-</para></question>
-<answer><para>
-Tiene una version vieja de <filename>codecs.conf</filename> en
-<filename class="directory">~/.mplayer/</filename>,
-<filename class="directory">/etc/</filename>,
-<filename class="directory">/usr/local/etc/</filename> o similar. Bórrelo,
-ya no sigue siendo necesario.
-<emphasis role="bold">O</emphasis> tiene la opción <option>vc=</option> o
-algo parecido en su archivo(s) de configuración.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Cuando empiezo <application>MPlayer</application> bajo KDE solo recibo una pantalla
-negra y nada pasa. Aproximadamente un minuto después la imagen empieza a salir.
-</para></question>
-<answer><para>
-El demonio de sonido arts de KDE esta bloqueando la tarjeta de sonido. Puedes esperar hasta
-que la imagen empiece o desactivar arts-daemon en el centro de control. Si quiere usar
-sonido arts, especifique la salida de audio a través de nuestro manejador nativo de audio para
-arts (<option>-ao arts</option>). Si esto falla o no esta compilado, pruebe SDL
-(<option>-ao sdl</option>) y asegúrese de que su SDL puede manejar sonido arts. Otra
-opción es ejecutar <application>MPlayer</application> con artsdsp.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Tengo un AVI que produce una pantalla gris cuando intento reproducirlo con <option>-vc odivx</option>
-y una verde con <option>-vc divx4</option>.
-</para></question>
-<answer><para>
-No es un archivo DivX, sino un MS MPEG4v3.
-Si tiene una version antigua de <filename>codecs.conf</filename> en
-<filename class="directory">~/.mplayer/</filename>,
-<filename class="directory">/etc/</filename>,
-<filename class="directory">/usr/local/etc/</filename> o similar, bórrela.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Cuando reproduzco esta pelicula sale el video-audio fuera de sincronizacion y/o <application>MPlayer</application>
-falla con el siguiente mensaje:
-<screen>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</screen>
-</para></question>
-<answer><para>
-Esto puede ser por varias razones.
-<itemizedlist>
-<listitem><para>
-Su CPU <emphasis role="bold">y/o</emphasis> tarjeta de video <emphasis role="bold">y/o</emphasis>
-sonido es damasiado lenta. <application>MPlayer</application> mostrará un
-mensaje si el motivo es ese (y el contador de imágenes saltadas subirá
-rápidamente).
-</para></listitem>
-<listitem><para>
-Si es un AVI, igual tiene interleaving malo. Intente la opción <option>-ni</option>.
-</para></listitem>
-<listitem><para>
-Si su manejador de sonido tiene errores, o usa ALSA 0.5 con <option>-ao oss</option>.
-</para></listitem>
-<listitem><para>
-El AVI tiene una cabecera errónea malo, pruebe la opción <option>-nobps</option>, y/o <option>-mc 0</option>.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Tengo un archivo MJPEG que funciona con otros reproductores pero solo muestra imagen negra en
-<application>MPlayer</application>
-</para></question>
-<answer><para>
-Use otro codec para reproducir el archivo, pruebe <option>-vc ffmjpeg</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Cuando intento recibir de mi sintonizador, funciona, pero los colores son extraños. Con otras
-aplicaciones funciona bien.
-</para></question>
-<answer><para>
-Probablemente su tarjeta esté representando la actividad del espacio de color de manera incorrecta. Pruebe
-con YUY2 en lugar del YV12 por defecto (consulte la sección <link linkend="tv-input">TV</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡Tengo problemas con sincronizacion A/V. Algunos de mis archivos
-AVI reproducen bien, pero algunos con velocidad doble!
-</para></question>
-<answer><para>
-El controlador de su tarjeta de sonido tiene errores. Probablemente funciona a 44100Hz, e
-intenta reproducir un archivo que tiene audio a 22050Hz. Pruebe el plugin que cambia la
-frecuencia de muestreo del audio.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡Todos los archivos WMV (o otros..) que reproduzco crean un ventana verde/gris y solo
-hay sonido! <application>MPlayer</application> dice:
-<screen>Detected video codec: [null] drv:0 (NULL codec (no decoding))</screen>
-</para></question>
-<answer><para>
-Si tiene una versión antigua de <filename>codecs.conf</filename> en
-<filename class="directory">~/.mplayer/</filename>,
-<filename class="directory">/etc/</filename>,
-<filename class="directory">/usr/local/etc/</filename> o similar, bórrela.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Recibo valores de porcentaje muy extraños (demasiado grandes) mientras reproduzco archivos en mi portátil.
-</para></question>
-<answer><para>
-Es debido al administrador de energia / sistema de ahorro de energia de su portatil
-(BIOS, no kernel). Enchufe el conector de energia exterior
-<emphasis role="bold">antes</emphasis> de encender su portatil. También puede probar si
-si <ulink url="http://www.brodo.de/cpufreq/">cpufreq</ulink>
-(un interfaz SpeedStep para Linux) le puede ser de ayuda.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-El audio/video pierde la sincronización totalmente cuando ejecuto
-<application>MPlayer</application> como root en mi portatil. Cuando lo
-ejecuto como usuario normal funciona correctamente.
-</para></question>
-<answer><para>
-Se trata de otro efecto del administrador de energÃa (mire más arriba). Enchufe el conector de energÃa
-externa <emphasis role="bold">antes</emphasis> de encender su portátil.
-o use la opción <option>-nortc</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Durante la reproducción de una pelÃcula, de repente recibo el siguiente mensaje:
-<screen>Badly interleaved AVI file detected - switching to -ni mode...</screen>
-</para></question>
-<answer><para>
-Archivos malamente interleaved y la opción <option>-cache</option> no funcionan bien juntas.
-Pruebe <option>-nocache</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo reproducir archivos de audio MPEG Layer 2 (mp2)?
-</para></question>
-<answer><para>
-Debe usar <option>-rawaudio on:format=0x50</option>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<qandadiv id="faq-driver">
-<title>Problemas del manejador de video/audio (vo/ao)</title>
-<qandaentry>
-<question><para>
-No tengo sonido cuando reproduzco un video y me sale un error parecido a este:
-<screen>
- AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
- audio_setup: Can't open audio device /dev/dsp: Device or resource busy
- couldn't open/init audio device -> NOSOUND
- Audio: no sound!!!
- Start playing...
-</screen>
-</para></question>
-<answer><para>
-¿Está usando KDE o GNOME con el demonio ARTS o ESD? Pruebe a no utilizar
-el demonio de sonido o use la opcion <option>-ao arts</option> o <option>-ao esd</option>
-para hacer que <application>MPlayer</application> use ARTS o ESD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Que pasa con el controlador DGA? ¡No los puedo encontrar!
-</para></question>
-<answer><para>
-<filename>./configure</filename> autodetecta tu controlador DGA. Si <option>-vo help</option>
-no detecta DGA, entonces hay un problema con la instalación de X. Pruebe
-<command>./configure --enable-dga</command> y lea la sección
-<link linkend="dga">DGA</link>. Si no, pruebe el controlador DGA de SDL
-con la opción <option>-vo sdl:dga</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Vale, <option>-vo help</option> encuentra un controlador DGA, pero se queja sobre sus permisos.
-¡Ayúdenme!
-</para></question>
-<answer><para>
-¡Solo funciona ejecutandolo siendo root! Es una limitacion de DGA. Necesita volverse root
-(<command>su -</command>), e intentalo otra vez. Otra solución es hacer
-<application>MPlayer</application> SUID root, ¡pero no es recomendable!
-<screen>
- chown root /usr/local/bin/mplayer
- chmod 755 /usr/local/bin/mplayer
- chmod +s /usr/local/bin/mplayer
- </screen>
-<warning><para>
-¡Esto un <emphasis role="bold">gran</emphasis> riesgo de seguridad! <emphasis role="bold">Nunca</emphasis>
-lo haga en un servidor o en un ordenador del que no tiene control completo porque
-otros usuarios pueden conseguir privilegios root por SUID root
-<application>MPlayer</application>.
-<emphasis role="bold">Ha sido advertido</emphasis>.
-</para></warning>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Cuando uso Xvideo, mi Voodoo 3/Banshee dice:
-<screen>
-X Error of failed request: BadAccess (attempt to access private resource denied)
- Major opcode of failed request: 147 (MIT-SHM)
- Minor opcode of failed request: 1 (X_ShmAttach)
- Serial number of failed request: 26
- Current serial number in output stream:27
-</screen>
-</para></question>
-<answer><para>
-El controlador <systemitem>tdfx</systemitem> en XFree86 4.0.2/4.0.3 tiene este error.
-Está arreglado en
-<ulink url="http://www.xfree86.org/cvs/changes_4_1.html">bugfix #621
-del CVS log XFree86 4.1.0 CVS</ulink>. Osea que actualice a XFree86 4.1.0 o posterior.
-Otras opciones son, descargar (por lo menos) DRI version 0.6 de la
-<ulink url="http://dri.sourceforge.net">pagina DRI</ulink>, o usar CVS DRI.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-La salida de OpenGL (<option>-vo gl</option> no funciona (se cuelga/ventana negra/errores
-X11/...).
-</para></question>
-<answer><para>
-Su controlador OpenGL no soporta cambios dinámicos de textura (glTexSubImage).
-No es conocido que funcione con la porqueria binaria de nVidia. Se sabe que funciona con
-Utah-GLX/DRI y tarjetas Matrox G400. También con DRI y tarjetas Radeon. No funcionará
-con DRI y otras tarjetas. Tampoco funcionará con tarjetas 3DFX porque tienen un
-tamaño de textura limitado a 256x256.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Yo tengo una tarjeta TNT/TNT2 de nVidia, y tengo una banda con colores extraña, ¡justo
-debajo de la pelicula! ¿De quién es la culpa de esto?
-</para></question>
-<answer><para>
-Esto es un error del controlador X binario de nVidia. Estos errores ocuren SOLO con las tarjetas
-TNT/TNT2, y no podemos hacer nada sobre ello. Para resolver el problema, descargue
-la última versión del controlador binario de nVidia. Si todavia sigue mal, ¡quejese a nVidia!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Tengo una tarjeta XYZ de nVidia, y cuando aprieto el raton en la ventanilla del GUI para
-mostrar el panel del GUI, un cuadrado negro aparece donde hice clic. Tengo el
-controldor más reciente.
-</para></question>
-<answer><para>
-Si, nVidia corregió el error previo (arriba), e introdujo uno nuevo.
-Vamos a felicitarlos. ÃLTIMAS NOTICIAS: Según <link linkend="nvidia">nVidia</link>,
-esto ya esta resuelto.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡Oh que cruel es el mundo ...! ¡SDL solo tiene <systemitem>x11</systemitem> de destino,
-pero no <systemitem>xv</systemitem>!
-</para></question>
-<answer><para>
-Pruebe <systemitem>x11</systemitem> otra vez. Ahora pruebe <option>-vo x11
--fs -zoom</option>. ¿Ve la diferencia? No?! Vale, aquà viene la aclaración:
-La salida <systemitem>x11</systemitem> de SDL usa xv cuando lo puede conseguir, no se tiene
-que precupar de ello ... Nota: Con SDL puede forzar/desactivar Xv usando
-<option>-forcexv</option> y <option>-noxv</option>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<qandadiv id="faq-dvd">
-<title>Reproducción DVD</title>
-<qandaentry>
-<question><para>
-¿Qué pasa con navegación DVD?
-</para></question>
-<answer><para>
-El soporte para dvdnav en <application>MPlayer</application> no funciona,
-aunque la reproducción normal sà funciona. Si quiere tener menús elaborados, tendrá que usar
-otro reproductor como <application>xine</application> o
-<application>Ogle</application>. Si le preocupa la navegacion DVD, mande un
-<ulink url="../../tech/patches.txt">parche</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mientras reproduzco un DVD, he encontrado este error:
-<screen>mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.</screen>
-</para></question>
-<answer><para>
-Esto es un error conocido de libdvdread 0.9.1/0.9.2. Use <emphasis role="bold">libmpdvdkit2</emphasis>,
-que esta presente en la fuente de <application>MPlayer</application>, y es usado por defecto.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Puedo compilar libdvdread y libdvdcss en me querido SPARC bajo Solaris?
-</para></question>
-<answer><para>
-Quién sabe ... Se ha oido que sà funciona, osea que por favor pruébelo y denos información. Véase la
-documentacién de libdvdread y su página web también. Nosotros no somos los autores
-de libdvdread. Use <emphasis role="bold">libmpdvdkit2</emphasis>, que esta presente
-en la fuente de <application>MPlayer</application>, y es usado por defecto.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Qué pasa con subtÃtulos? ¿Puede <application>MPlayer</application>
-reproducirlos?
-</para></question>
-<answer><para>
-SÃ. Mire la <link linkend="dvd">sección DVD</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo fijar el código de región en mi lector de DVD? ¡Yo no tengo Windows!
-</para></question>
-<answer><para>
-Use la <ulink url="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">heramienta de fijar región</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Necesito ser (setuid) root/setuid fibmap_mplayer para poder reproducir un DVD?
-</para></question>
-<answer><para>
-No. Sin embargo debe tener los permisos adecuados
-en el archivo del DVD en (en <filename class="directory">/dev/</filename>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿De donde puedo obtener los paquetes libdvdread y libdvdcss?
-</para></question>
-<answer><para>
-No necesita obtenerlos. Use <emphasis role="bold">libmpdvdkit2</emphasis>,
-que está presente en la fuente de <application>MPlayer</application>,
-y es usado por defecto. Puede obtener los paquetes mencionados
-de la <ulink url="http://www.dtek.chalmers.se/groups/dvd/">página de
-Ogle</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Es posible reproducir/codificar solo unos capÃtulos seleccionados?
-</para></question>
-<answer><para>
-Si, pruebe la opción <option>-chapter</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡Mi reproducción DVD es lenta!
-</para></question>
-<answer><para>
-Use la opción <option>-cache</option> (definido en la pagina man) y pruebe a activar
-DMA para el aparato DVD con la heramienta <command>hdparm</command> (definido en el
-<link linkend="drives">capitulo CD</link>).
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<qandadiv id="faq-features">
-<title>Solicitando prestaciones</title>
-<qandaentry>
-<question><para>
-Si <application>MPlayer</application> esta pausado e intento buscar o
-apretar cualquier tecla, <application>MPlayer</application> abandona el
-estado de pausa. Me gustarÃa poder buscar mientras está la pelÃcula pausada.
-</para></question>
-<answer><para>
-Esto es muy dificil de implementar sin perder sincronizacion A/V.
-Todos los intentos han fallado, pero se agradece cualquier colaboración
-en forma de parche.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Me gustarÃa poder buscar +/- 1 cuadros en lugar de 10 segundos.
-</para></question>
-<answer><para>
-Esto no se hará nunca. Sà estaba, pero luego estropeó la sincronización A/V.
-Siéntase libre de implemetarlo, y mande un parche. No pregunte por ello.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Como puedo hacer que <application>MPlayer</application> recuerde la opción
-que usé para un archivo en particular?
-</para></question>
-<answer><para>
-Cree un archivo llamado <filename>movie.avi.conf</filename> con las opciones
-archivo-especÃfico en el, y póngalo en <filename class="directory">~/.mplayer</filename> o
-en el mismo lugar que el archivo.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<qandadiv id="faq-encoding">
-<title>Codificando</title>
-<qandaentry>
-<question><para>
-¿Como puedo codificar?
-</para></question>
-<answer><para>
-Lea la sección <link linkend="mencoder"><application>MEncoder</application></link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Como puedo crear un VCD?
-</para></question>
-<answer><para>
-Pruebe el script <filename>mencvcd.sh</filename> del subdirectorio <filename class="directory">TOOLS</filename>.
-Con él puede codificar DVDs u otras peliculas al formato VCD o SVCD e incluso
-grabarlo directamente a CD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Como puedo juntar dos archivos?
-</para></question>
-<answer><para>
-Esta ha sido discutido constantemente en mplayer-users. Busque en los
-<ulink url="http://mplayerhq.hu/cgi-bin/s-arch.cgi?sbm=mplayer-users">archivos</ulink>
-para una respuesta completa. Se trata de un asunto complicado y sus resultados variarán
-dependiendo mucho en qué tipo de archivos quiere juntar. MPEGs pueden ser unidos
-a un solo archivo con suerte. Para AVIs hay dos aplicaciones,
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> y
-<application>avimerge</application> (parte del conjunto de herramientas
-<ulink url="http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/">transcode</ulink>),
-disponibles que pueden hacer el trabajo. También puede probar <application>MEncoder</application>
-si tiene dos archivos compartiendo las mismas dimensiones y codec. Pruebe
-<screen>
- cat archivo1 archivo2 > archivo3
- mencoder -ovc copy -oac copy -o salida.avi -forceidx archivo3.avi
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mi sintonizador funciona, puedo oir el sonido y ver la pelÃcula con
-<application>MPlayer</application>, ¡pero <application>MEncoder</application>
-no codifica el audio!
-</para></question>
-<answer><para>
-La codificación de audio de TV para Linux no está implementada de momento, estamos trabajando en
-ello. Por el momento solo funciona en BSD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡No puedo codificar subtÃtulos del DVD en el AVI!
-</para></question>
-<answer><para>
-¡Tiene que especificar la opción <option>-sid</option> correctamente!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¡Al empezar <application>MEncoder</application> produce un fallo de segmentación!
-</para></question>
-<answer><para>
-Descargue la última version de DivX4Linux.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Cómo puedo codificar solo capÃtulos seleccionados de un DVD?
-</para></question>
-<answer><para>
-Use la opción <option>-chapter</option> correctamente, por ejemplo: <option>-chapter 5-7</option>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Estoy intentando trabajar con archivos de 2GB+ en un sistema de archivos VFAT. ¿Funciona?
-</para></question>
-<answer><para>
-No, VFAT no soporta archivos 2GB+.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿Por qué la tasa de bits que recomienda <application>MEncoder</application> es negativa?
-</para></question>
-<answer><para>
-Porque la tasa de bits en la que codificaste el audio es demasiado grande para caber la
-pelicula en un CD. Mire a ver si tienes libmp3lame instalado correctamente.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-¿No puedo codificar archivos ASF a AVI/DivX porque usa 1000 fps?
-</para></question>
-<answer><para>
-ASF usa una tasa de cuadros variable pero AVI usa una fija, debe
-fijarlo a mano usando <option>-ofps</option>.
-</para></answer>
-</qandaentry>
-
-
-<qandaentry>
-<question><para>
-¿Como puedo poner subtÃtulos en el archivo de salida?
-</para></question>
-<answer><para>
-Simplemente pase la opción <option>-sub <filename></option> (o <option>-sid</option>,
-<option>-vobsub</option>, respectivamente) a <application>MEncoder</application>.
-</para></answer>
-</qandaentry>
-
-</qandadiv>
-</qandaset>
-
-</chapter>
diff --git a/DOCS/xml/es/install.xml b/DOCS/xml/es/install.xml
deleted file mode 100644
index 13be8f9..0000000
--- a/DOCS/xml/es/install.xml
+++ /dev/null
@@ -1,713 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.37 -->
-<chapter id="install">
-<title>Instalación</title>
-
-<para>
-Una guÃa de instalación rápida puede encontrarse en el archivo
-<filename>README</filename>. Por favor, léala primero y luego vuelva
-aquà para obtener el resto de detalles sanguinolientos.
-</para>
-
-<para>
-En esta sección trataré de guiarlo a través del proceso de compilación y
-configuración de <application>MPlayer</application>. No es fácil, pero
-no necesariamente difÃcil. Si experimenta un comportamiento diferente
-al que explico, por favor busque en esta documentación y encontrará
-las respuestas. Si ve un enlace, por favor sigalo y lea atentamente
-su contenido. Le llevará algún tiempo, pero vale la pena.
-</para>
-
-<para>
-Necesita un sistema relativamente reciente. En Linux, un sistema con
-núcleo 2.4.x es recomendado.
-</para>
-
-
-<sect1 id="softreq">
-<title>Requerimientos de Software</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - la versión sugerida es <emphasis role="bold">2.11.x</emphasis>.
- Este programa es el responsable de generar instrucciones MMX/3DNow!/etc,
- por lo tanto muy importante.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">gcc</emphasis> - versiones recomendadas son
- 2.95 y 3.3+. 2.96 y 3.0.x generan código con fallas, 3.1 y 3.2
- tambien tuvieron sus problemas.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">XFree86</emphasis> - versión sugerida <emphasis role="bold">siempre la
- más nueva</emphasis> (4.3). Normalmente, todos quieren esto, desde XFree 4.0.2,
- viene con la extensión <link linkend="xv">XVideo</link> (referida en varios
- lugares como <emphasis role="bold">Xv</emphasis>) que se usa en efecto para
- activar la aceleración YUV por hardware (mostrado rápido de imagen) en placas
- que lo soportan.
- Asegúrese que el <emphasis role="bold">paquete de desarrollo</emphasis> este también
- instalado, de otra manera no funcionará.
- Para algunas placas de vÃdeo no se necesita XFree86. Vea el listado abajo.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">make</emphasis> - versión sugerida
- <emphasis role="bold">siempre la última</emphasis> (por lo menos la 3.79.x). Esto
- normalmente no es importante.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">SDL</emphasis> - no es obligatoria, pero puede ayudar
- en algunos cosas (audio malo, placas de vÃdeo que sufren retardo extraños
- con el controlador xv). Siempre use la versión más actual (empezando por
- 1.2.x).
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> - decodificador opcional de JPEG, usado por la opción <option>-mf</option>
- y algunos archivos MOV de QT. Ãtil para ambos <application>MPlayer</application> y
- <application>MEncoder</application> si planea trabar con archivos jpeg.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> - recomendado y decodificador por omisión de (M)PNG. Necesario para la IGU.
- Ãtil para ambos <application>MPlayer</application> y <application>MEncoder</application>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - recomendado, necesario para codificar audio en MP3 audio con
- <application>MEncoder</application>, la versión recomendada es
- <emphasis>siempre la más nueva</emphasis> (por lo menos 3.90).
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libogg</emphasis> - opcional, necesaria para reproducir archivos con formato OGG.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libvorbis</emphasis> - opcional, necesario para reproducir archivos de audio OGG Vorbis.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE.COM Streaming Media</ulink></emphasis>
- - opcional, necesario para reproducir flujos RTSP/RTP.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - opcional, de
- <ulink url="http://www.directfb.org"/>
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - opcional, para soporte de CDDA
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libfreetype</emphasis> - opcional, para soporte de fuentes TTF
- Versión mÃnima requerida es 2.0.9.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - opcional, para soporte de plugins de entrada de XMMS
- La versión mÃnima necesaria es 1.2.7.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - opcional, para soporte Samba.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.underbit.com/products/mad/">libmad</ulink></emphasis>
- - opcional, para decodificación rápida de MP3 en plataformos sin FPU.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<sect1 id="caracteristicas">
-<title>CaracterÃsticas</title>
-
-<itemizedlist>
-<listitem><para>
- Decida si necesita GUI (interfaz gráfica de usuario). Si lo necesita, vea la sección
- <link linkend="gui">GUI</link> antes de compilar.
- </para></listitem>
-<listitem><para>
- Si desea instalar <application>MEncoder</application> (nuestro gran codificador
- multiproposito), vea la sección
- <link linkend="mencoder"><application>MEncoder</application></link>.
- </para></listitem>
-<listitem><para>
- Si tiene una placa <emphasis role="bold">sintonizadora de TV</emphasis> compatible con
- V4L, y desea usarla para ver/capturar y codificar pelÃculas con <application>MPlayer</application>,
- lea la sección <link linkend="tv-input">entrada de TV</link>.
- </para></listitem>
-<listitem><para>
- Existe un buen soporte de <emphasis role="bold">Menu en Pantalla</emphasis> listo
- para ser usado. Verifique la sección <link linkend="subosd">Menú en Pantalla</link>.
- </para></listitem>
-</itemizedlist>
-
-<para>
-Lo siguiente es armar <application>MPlayer</application>:
-<screen>
-./configure
-make
-make install</screen>
-</para>
-
-<para>
-En este punto, <application>MPlayer</application> ya está listo para usar. El
-directorio <filename class="directory">$PREFIX/share/mplayer</filename>
-contiene el archivo <filename>codecs.conf</filename>, que se lo usa para
-decirle al programa todos los codecs y sus posibilidades. Este archivo es
-necesario solo cuando quiera cambiar sus propiedades, ya que el archivo
-ejecutable principal contiene una copia interna del mismo. Revise si tiene
-el archivo <filename>codecs.conf</filename> en su directorio de inicio
-(<filename>~/.mplayer/codecs.conf</filename>) olvidado de alguna instalación
-previa de <application>MPlayer</application> y borrela.
-</para>
-
-<para>Note que si tiene un <filename>codecs.conf</filename> en
-<filename>~/.mplayer/</filename>, el <filename>codecs.conf</filename>
-interno y el de sistema serán ignorados por completo.
-No use esto a menos que quiera trapichear con las cosas internas
-de <application>MPlayer</application> lo que puede ocasionarle problemas.
-Si quiere cambiar el órden de búsqueda de los codecs, use la opción
-<option>-vc</option>, <option>-ac</option>, <option>-vfm</option>,
-o <option>-afm</option> en la lÃnea de órdenes o en su archivo de
-configuración (vea la página de manual).
-</para>
-
-
-<para>
-Los usuarios de Debian pueden construir un paquete .deb, es muy simple.
-Simplemente ejecute
-<screen>fakeroot debian/rules binary</screen>
-en el directorio raÃz de <application>MPlayer</application>. Vea la
-sección <link linkend="debian">paquetes de Debian</link> para instrucciones
-más detalladas.
-</para>
-
-<para>
-<emphasis role="bold">Siempre revise la salida de</emphasis>
-<filename>./configure</filename>, y el archivo
-<filename>config.log</filename>, ellos contienen información acerca
-de lo que se compilará, y que no. Quizá quiera ver también los archivos
-<filename>config.h</filename> y <filename>config.mak</filename>.
-Si alguna de las librerÃas que tiene instaladas no fueron detectadas
-por <filename>./configure</filename>, por favor revise si tiene los
-archivos de encabezados correspondientes (normalmente los paquetes -dev)
-y que sus versiones sean las mismas. El archivo <filename>config.log</filename>
-normalmente dice que falta.
-</para>
-
-<para>
-Aunque no es obligatorio, las fuentes deberÃan ser instaladas para poder usar
-el texto en pantalla (OSD) y los subtÃtulos. El método recomendado es instalar
-una fuente TTF y avisarle a <application>MPlayer</application>
-que lo use. Vea la sección <link linkend="subosd">SubtÃtulos y OSD</link>
-para más detalles.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="gui">
-<title>¿Qué hay acerca de la GUI?</title>
-
-<para>
-La GUI necesita GTK 1.2.x (no es totalmente GTK, pero los paneles son). Las pieles
-están guardadas en formato PNG, por lo tanto GTK, <systemitem class="library">libpng</systemitem>
-(y sus archivos de desarrollos, normalmente llamados <systemitem class="library">gtk-dev
-</systemitem> y <systemitem class="library">libpng-dev</systemitem>)
-deben estar instalados.
-Puede compilarlo especificando la opción <option>--enable-gui</option> a
-<filename>./configure</filename>. Luego de compilarlo, puede usar el modo
-GUI, ejecutando el binario <command>gmplayer</command>.
-</para>
-
-<para>
-Actualmente no se puede usar la opción <option>-gui</option> en la lÃnea
-de comandos, debido a razones técnicas.
-</para>
-
-<para>
-Como <application>MPlayer</application> no tiene una piel incluida, debe
-bajarlas si desea usar la GUI. Vea la <ulink
-url="http://www.mplayerhq.hu/dload.html">página de descargas</ulink>.
-DeberÃan ser extraÃdas al directorio global de pieles normal (<filename
-class="directory">$PREFIX/share/mplayer/skins/</filename>), o al directorio
-personal <filename class="directory">$HOME/.mplayer/skins/</filename>.
-<application>MPlayer</application> por omisión busca en esos directorios
-por un directorio llamado <filename class="directory">default</filename>, pero
-puede usar la opción <option>-skin <replaceable>pielnueva</replaceable></option>,
-o usar la directiva <literal>skin=pielnueva</literal> en el archivo de configuración
-para usar el directorio <filename class="directory">*/skins//pielnueva</filename>.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="subosd">
-<title>SubtÃtulos y OSD</title>
-
-<para>
-<application>MPlayer</application> puede mostrar subtÃtulos juntos con
-los archivos de pelÃculas. Actualmente los siguientes formatos están soportados:
-<itemizedlist>
-<listitem><para>VobSub</para></listitem>
-<listitem><para>OGM</para></listitem>
-<listitem><para>CC (closed caption)</para></listitem>
-<listitem><para>MicroDVD</para></listitem>
-<listitem><para>SubRip</para></listitem>
-<listitem><para>SubViewer</para></listitem>
-<listitem><para>Sami</para></listitem>
-<listitem><para>VPlayer</para></listitem>
-<listitem><para>RT</para></listitem>
-<listitem><para>SSA</para></listitem>
-<listitem><para>PJS (Phonenix Japanimation Society)</para></listitem>
-<listitem><para><link linkend="mpsub">MPsub</link></para></listitem>
-<listitem><para>AQTitle</para></listitem>
-<listitem><para>JACOsub</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> puede volcar los formatos de subtÃtulos
-listados anteriormente (<emphasis role="bold">con excepción de los 3
-primeros</emphasis>) en los siguientes formatos de salida con las opciones
-correspondientes:
-<itemizedlist>
-<listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
-<listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
-<listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
-<listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
-<listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MEncoder</application> puede volcar subtÃtulos de DVD en
-formato <link linkend="menc-feat-extractsub">VobSub</link>.
-</para>
-
-<para>
-La linea de comando difiere levemente para los diferentes formatos:
-</para>
-
-<formalpara>
-<title>SubtÃtulos VobSub</title>
-<para>
-Los subtÃtulos VobSub consisten de un gran (varios megabytes) archivo <filename>
-.SUB</filename>, y opcionalmente un archivo <filename>.IDX</filename> y/o un archivo
-<filename>.IFO</filename>. Si tiene archivos como
-<filename><replaceable>ejemplo.sub</replaceable></filename>,
-<filename><replaceable>ejemplo.ifo</replaceable></filename> (opcional),
-<filename><replaceable>ejemplo.idx</replaceable></filename> - entonces
-debe pasarle a <application>MPlayer</application> la opción
-<option>-vobsub <replaceable>ejemplo</replaceable> [-vobsubid
-<replaceable>id</replaceable>]</option> (la ruta completa es opcional).
-La opción <option>-vobsubid</option> es como la opción
-<option>-sid</option> para DVDs, puede elegir entre pistas de subtÃtulos
-(lenguajes) con ella. En el caso que <option>-vobsubid</option> se omita,
-<application>MPlayer</application> tratará de usar el lenguaje dado por la
-opción <option>-slang</option> y sino usará el <systemitem>langidx</systemitem>
-en el archivo <filename>.IDX</filename> para configurar el lenguaje de los
-subtÃtulos. Si esto falla no habrá subtÃtulos.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Otros subtÃtulos</title>
-<para>
-Los otros formatos consisten de un archivo de texto simple conteniendo el
-tiempo y la información del texto a colocar. Uso: si tiene un archivo como
-<filename><replaceable>ejemplo.txt</replaceable></filename>, debe pasarle a
-<application>MPlayer</application> la opción
-<option>-sub <replaceable>ejemplo.txt</replaceable></option>
-(la ruta completa es opcional).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Ajustando la sincronización de subtÃtulos y su ubicación:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>seg</replaceable></option></term>
- <listitem><para>
- Retrasa los subtÃtulos en <option><replaceable>seg</replaceable></option> segundos.
- Puede ser un número negativo.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>TASA</replaceable></option></term>
- <listitem><para>
- Especifica la tasa de cuadros por segundo del archivo de subtÃtulos
- (número flotante).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- Especifica la posición de los subtÃtulos.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Si experimenta un retraso creciente de retraso entre la pelÃcula y los subtÃtulos
-cuando esta usando un archivo de subtÃtulos de MicroDVD, lo más probable es que
-la tasa de cuadros por segundo de la pelÃcula y de los subtÃtulos sea diferente.
-Note que el formato de subtÃtulos de MicroDVD usa números de cuadros absoluto para
-su temporización, y por lo tanto la opción <option>-subfps</option> no puede ser
-usada con este formato. Como <application>MPlayer</application> no tiene una
-manera de adivinar la tasa de cuadros por segundo del archivo de subtÃtulos,
-debe convertirlo manualmente. Hay un pequeño guión de perl en el directorio
-<filename class="directory">contrib</filename> del sitio FTP de<application>MPlayer</application>
-que hace esa conversión.
-</para>
-
-<para>
-Para más información acerca de subtÃtulos para DVD, lea la sección
-<link linkend="dvd">DVD</link>.
-</para>
-
-
-<sect2 id="mpsub">
-<title>El formato de subtÃtulos propio de <application>MPlayer</application> (MPsub)</title>
-<para>
-<application>MPlayer</application> introduce un nuevo formato de subtÃtulos
-llamado <emphasis role="bold">MPsub</emphasis>. Fue diseñado por Gabucino.
-Básicamente su caracterÃstica más importante es ser basado <emphasis>
-dinámicamente</emphasis> en el tiempo (a pesar de que tiene un modo por
-cuadros también). Un ejemplo (de <ulink
-url="../../tech/mpsub.sub">DOCS/tech/mpsub.sub</ulink>):
-<programlisting>
-FORMAT=TIME
-# primer número : espera esto desde que el subtitulo anterior desapareció
-# segundo número : mostrar el subtitulo actual esta cantidad de segundos
-
-15 3
-Hace mucho, mucho tiempo atrás...
-
-0 3
-en una galaxia muy lejana...
-
-0 3
-Naboo estaba bajo un ataque.<!--
---></programlisting>
-</para>
-
-<para>
-Como puede ver, el objetivo principal fue <emphasis role="bold">hacer
-la edición/temporización/unión y cortado de subtÃtulos más fácil</emphasis>.
-Y, si - por decirlo - consigue un subtitulo SSA pero esta mal temporizado
-o tiene problemas de retraso con su versión de la pelÃcula, entonces puede
-hacer
-<screen>mplayer <replaceable>vacÃo.avi</replaceable> -sub fuente.ssa -dumpmpsub</screen>.
-Un archivo <filename>dump.mpsub</filename> se creara en el directorio actual,
-que contendrá la fuente del texto de los subtÃtulos, pero en el formato
-<emphasis role="bold">MPsub</emphasis>. Ahora puede agregar/quitar segundos a los
-subtÃtulos.
-</para>
-
-<para>
-Los subtÃtulos son mostrados con una técnica llamada <emphasis role="bold">'OSD',
-On Screen Display</emphasis> (Muestra en Pantalla). La muestra en pantalla se muestra
-para mostrar el tiempo, la barra de volumen, la barra de búsqueda, etc.
-</para>
-</sect2>
-
-
-<sect2 id="mpsub-install">
-<title>Instalando OSD y subtÃtulos</title>
-
-<para>
-Necesita un paquete de tipografÃas para <application>MPlayer</application>
-para poder usar OSD/subtÃtulos.
-Hay muchas maneras de conseguirlo:
-</para>
-
-<itemizedlist>
-<listitem><para>
- Use la herramienta generadora de tipografÃas en
- <filename class="directory">TOOLS/subfont-c</filename>. Es una
- herramienta completa para convertir una tipografÃa TTF/Type1/etc
- a tipografÃa pkg de <application>MPlayer</application> (lea
- <filename>TOOLS/subfont-c/README</filename> para más detalles).
- </para></listitem>
-<listitem><para>
- Use el plugin de <application>GIMP</application> generador de
- tipografÃas en <filename class="directory">TOOLS/subfont-GIMP
- </filename> (nota: debe tener también el plugin HSI RAW,
- vea <ulink url="http://realtime.ssu.ac.kr/~lethean/mplayer/" />).
- </para></listitem>
-<listitem><para>
- usando una tipografÃa TrueType (TTF), gracias a la biblioteca
- <systemitem class="library">freetype</systemitem>.
- ¡La versión debe ser 2.0.9 o mayor! Entonces tiene 2 métodos:
- <itemizedlist>
- <listitem><para>
- use la opción
- <option>-font <replaceable>/ruta/a/tipografÃa_ejemplo.ttf</replaceable></option>
- para especificar un archivo de tipografÃa TrueType en cada ocasión
- </para></listitem>
- <listitem><para>
- cree un enlace simbólico:
- <screen>ln -s <replaceable>/ruta/a/tipografÃa_ejemplo.ttf</replaceable> ~/.mplayer/subfont.ttf</screen>
- </para></listitem>
- </itemizedlist>
- Si <application>MPlayer</application> fue compilado con soporte para
- <systemitem class="library">fontconfig</systemitem>, los métodos de arriba no
- funcionarán, en su lugar la opción <option>-font</option> espera un nombre
- de tipografÃa <systemitem class="library">fontconfig</systemitem> y por
- defecto se usa la tipografÃa sans-serif.
- Para obtener una lista de los tipos de letra que conoce
- <systemitem class="library">fontconfig</systemitem>,
- use <command>fc-list</command>.
- Ejemplo: <option>-font <replaceable>'Bitstream Vera Sans'</replaceable></option>
- </para></listitem>
-<listitem><para>
- Descargue paquetes de fuentes listos para usar del sitio de
- <application>MPlayer</application>.
- Nota: actualmente las fuentes disponibles están limitadas al soporte ISO
- 8859-1/2, pero existen algunas otras fuentes (incluyendo Koreano, Ruso,
- ISO 8859-8, etc)en la sección contrib/font del FTP, hechas por los usuarios.
- </para><para>
- <!-- FIXME: this para should be before the list -->
- Las fuentes deberÃan tener el archivo apropiado <filename>font.desc</filename>
- que mapea las posiciones de la fuente unicode al código de página real
- del texto de los subtÃtulos. Otra solución es tener los subtÃtulos codificados
- en formato UTF8 y usar la opción <option>-utf8</option> o simplemente nombrar
- a los archivos de subtÃtulos <filename><nombre_del_video>utf</filename> y
- tenerlo en el mismo directorio que el archivo de vÃdeo. La recodificación desde
- diferentes códigos de página a UTF8 lo puede hacer usando los programas
- <command>konwert</command> o <command>iconv</command>.
- </para><para>
-
- <table id="algunas_urls">
- <title>Algunas URLs</title>
- <tgroup cols="2">
- <thead>
- <row><entry>URL</entry><entry>Comentario</entry></row>
- </thead>
- <tbody>
- <row><entry>
- <ulink url="ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/"></ulink>
- </entry><entry>
- Fuentes ISO
- </entry></row>
- <row><entry>
- <ulink url="ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/"></ulink>
- </entry><entry>
- varias fuentes hechas por usuarios
- </entry></row>
- <row><entry>
- <ulink url="http://realtime.ssu.ac.kr/~lethean/mplayer/"></ulink>
- </entry><entry>
- TipografÃas Coreanas y plugin RAW
- </entry></row>
- </tbody>
- </tgroup>
- </table>
-
- </para></listitem>
-</itemizedlist>
-<para>
-Si elige fuentes no TTF, descomprima el archivo que haya descargado a
-<filename class="directory">~/.mplayer</filename> o <filename
-class="directory">$PREFIX/share/mplayer</filename>. Entonces renombre o
-enlace simbólicamente uno de los directorios extraÃdos a
-<filename class="directory">font</filename>, por ejemplo:
-
-<screen>ln -s ~/.mplayer/<replaceable>arial-24</replaceable> ~/.mplayer/font</screen>
-
-Ahora deberÃa ver un reloj en la esquina superior izquierda de la pelÃcula
-(apaguelo pulsado la tecla <keycap>o</keycap>).
-</para>
-
-<para>
-(los subtÃtulos están <emphasis>siempre activos</emphasis>, para desactivarlos
-por favor lea la página del manual).
-</para>
-
-<para>
-OSD tiene 4 estados (cambielo con <keycap>o</keycap>):
-
-<orderedlist>
-<listitem><para>
- barra de volumen + barra de búsqueda (por omisión)
- </para></listitem>
-<listitem><para>
- barra de volumen + barra de búsqueda + reloj + posición porcentual del archivo cuando se busca
- </para></listitem>
-<listitem><para>
- barra de volumen + barra de búsqueda + reloj + duración total de la pelicula
- </para></listitem>
-<listitem><para>
- solamente subtÃtulos
- </para></listitem>
-</orderedlist>
-
-Puede cambiar el comportamiento por omisión cambiando la variable
-<varname>osdlevel</varname> en el archivo de configuración, o con la opción
-<option>-osdlevel</option> de la lÃnea de comando.
-</para>
-</sect2>
-
-
-<sect2 id="osdmenu">
-<title>Menú en pantalla</title>
-
-<para>
-<application>MPlayer</application> trae una interfaz de Menú en pantalla
-completamente configurable por el usuario.
-</para>
-
-<note><para>
-¡el menú Preferencias no esta actualmente implementado!
-</para></note>
-
-<orderedlist>
-<title>Instalación</title>
-<listitem><para>
- compile <application>MPlayer</application> pasándole la opción <option>--enable-menu</option>
- a <filename>./configure</filename>
- </para></listitem>
-<listitem><para>
- asegúrese de tener una fuente OSD instalada
- </para></listitem>
-<listitem><para>
- copie el archivo <filename>etc/menu.conf</filename> a su directorio
- <filename class="directory">.mplayer</filename>
- </para></listitem>
-<listitem><para>
- copie el archivo <filename>etc/input.conf</filename> a su directorio
- <filename class="directory">.mplayer</filename>, o al directorio general de configuración de
- <application>MPlayer</application> (por omisión:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
- </para></listitem>
-<listitem><para>
- verifique y edite el archivo <filename>input.conf</filename> para activar las
- teclas de movimiento en el menú (está descripto en el archivo).
- </para></listitem>
-<listitem><para>
- inicie <application>MPlayer</application> como en el ejemplo:
- <screen>$ mplayer -menu <replaceable>archivo.avi</replaceable></screen>
- </para></listitem>
-<listitem><para>
- pulse cualquier tecla de menú que haya definido
- </para></listitem>
-</orderedlist>
-
-</sect2>
-</sect1>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="codec-installation">
-<title>instalación de codecs</title>
-
-<!-- ********** -->
-
-<sect2 id="xvid">
-<title>XviD</title>
-
-<para>
-<ulink url="http://www.xvid.org">XviD</ulink> es una derivación del desarrollo
-del codec OpenDivX. Esto ocurrió cuando ProjectMayo cambió OpenDivX a código
-cerrado DivX4 (ahora DivX5), y la gente del no-ProjectMayo que trabajaba
-en OpenDivX se cabreó, e inició XviD. Este es el motivo de que ambos proyectos
-tengan el mismo origen.
-</para>
-
-<procedure>
-<title>INSTALANDO XVID CVS</title>
-<para>
- Actualmente está disponible solo desde CVS. Aquà tiene instrucciones para
- descargarlo e instalarlo (necesita al menos autoconf 2.50, automake y libtool):
-</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
- </para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
- </para></step>
-<step><para>
- <screen>./bootstrap.sh</screen>
- </para></step>
-<step><para>
- <screen>./configure</screen>
- Puede añadir algunas opciones (examine la salida de
- <screen>./configure --help</screen>).
- </para></step>
-<step><para>
- <screen>make && make install</screen>
- </para></step>
-<step><para>
- Si ha especificado <option>--enable-divxcompat</option>,
- copie <filename>../../src/divx4.h</filename> a
- <filename class="directory">/usr/local/include/</filename>.
- </para></step>
-<step><para>
- Recompile <application>MPlayer</application> con
- <option>--with-xvidlibdir=<replaceable>/ruta/a/</replaceable>libxvidcore.a</option>
- <option>--with-xvidincdir=<replaceable>/ruta/a/</replaceable>xvid.h</option>
- </para></step>
-</procedure>
-</sect2>
-
-</sect1>
-
-
-<!-- ********** -->
-
-<sect1 id="rtc">
-<title>RTC</title>
-<para>
-Existen tres métodos de temporización en <application>MPlayer</application>.
-
-<itemizedlist>
-<listitem><para>
-<emphasis role="bold">Para usar el método viejo</emphasis>, no tiene que hacer
- nada. Usa <systemitem>usleep()</systemitem> para ajustar la sincronización
- A/V, con una precisión de +/- 10ms. Sin embargo muchas veces la sincronización
- debe ser más precisa.
- </para></listitem>
-<listitem><para>
-<emphasis role="bold">El nuevo código temporizador</emphasis> usa el RTC (Reloj de
- Tiempo Real) de su PC para esta tarea, ya que tiene precisión de 1ms. Es activado
- automágicamente cuando está disponible, pero requiere privilegios de administrador,
- que el archivo ejecutable de <application>MPlayer</application> tenga <emphasis>
- permiso de SUID root</emphasis> o un núcleo configurado apropiadamente.
- Si utiliza un núcleo 2.4.19pre8 o más nuevo entonces puede ajustar la frecuencia
- máxima del RTC para usuarios normales a través del sistema de archivo
- <systemitem class="systemname">/proc</systemitem>. Use
- este comando para habilitar el RTC para usuarios normales:
- <screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
- Si no posee dicho núcleo actualizado, puede también cambiar una lÃnea
- en el archivo <filename>drivers/char/rtc.c</filename> y recompilar el núcleo.
- Busque la sección que dice:
- <programlisting>
- * We don't really want Joe User enabling more
- * than 64Hz of interrupts on a multi-user machine.
- */
- if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))
- </programlisting>
- y cambie el 64 por 1024. DeberÃa realmente saber lo que esta haciendo de todas
- maneras. Puede ver la eficiencia del nuevo temporizador en la lÃnea de estado.
- Las funciones de administración de energÃa de BIOS de algunas notebooks
- con cambio de velocidad de CPUs interactúan muy mal con el RTC. El vÃdeo y el
- audio puede salirse de sincronÃa. Enchufar el conector de energÃa externo
- antes de encender su notebook parece ayudar a solucionar la situación.
- Siempre que desee puede apagar el soporte de RTC con la opción <option>-nortc</option>.
- En algunas combinaciones de hardware (confirmado durante el uso de un disco no-DMA
- de DVD en una placa ALi1541) el uso del RTC puede causar defectos en la reproducción.
- Es recomendado usar el tercer método en esos casos.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">El tercer código de temporización</emphasis> es activado con la opción
- <option>-softsleep</option>. Tiene la eficiencia del RTC, pero no usa el RTC. Por otro lado
- requiere más CPU.
- </para></listitem>
-</itemizedlist>
-<note><para><emphasis role="bold">¡NUNCA instale un archivo ejecutable de
-<application>MPlayer</application>con permisos de SUID root en un sistema
-multiusuario!</emphasis>
-Es una manera fácil para cualquiera de convertirse en administrador.
-</para></note>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/es/mencoder.xml b/DOCS/xml/es/mencoder.xml
deleted file mode 100644
index 8d9b47c..0000000
--- a/DOCS/xml/es/mencoder.xml
+++ /dev/null
@@ -1,1326 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.19 -->
-<chapter id="mencoder">
-<title>Codificando con <application>MEncoder</application></title>
-
-<para>
-Para una lista completa de las opciones de <application>MEncoder</application>
-y ejemplos, vea por favor la página de manual. Para una serie de ejemplos prácticos
-y guias detalladas usando varios parámetros de codificación, lea los
-<ulink url="../../tech/encoding-tips.txt">consejos-de-codificación</ulink> donde
-se recopilan varias conversaciones en la lista de correo mplayer-users. Busque los
-<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archivos</ulink>
-para obtener abundantes discusiones acerca de todos los aspectos y problemas
-relacionados con la codificación con <application>MEncoder</application>.
-</para>
-
-<sect1 id="menc-feat-divx4">
-<title>Codificación MPEG-4 en 2 o 3-pasadas ("DivX")</title>
-
-<formalpara>
-<title>Codificación en 2-pasadas</title>
-<para>
-El nombre viene del hecho de que este método codifica el archivo
-<emphasis>dos veces</emphasis>. La primera codificación (pasada aislada) crea algunos
-archivos temporales (<filename>*.log</filename>) con un tamaño de unos pocos megabytes,
-no los borre todavÃa (puede borrar el AVI). En la segunda pasada, el archivo de salida
-de 2-pasadas es creado, usando los datos de tasa de bits de los archivos temporales. El
-archivo resultante debe tener asà mucha más calidad de imagen. Si es la primera vez que
-oye hablar de esto, deberÃa consultar algunas guÃas disponibles en la Red.
-</para>
-</formalpara>
-
-<para>
-Este ejemplo muestra como codificar un DVD a AVI MPEG-4 de 2-pasadas ("DivX").
-Solo se necesitan dos órdenes:
-<screen>rm frameno.avi</screen>
-borre este archivo, que puede ser de una codificación previa en 3-pasadas (e interfiere
-con el actual)
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>pelicula.avi</replaceable>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>pelicula.avi</replaceable>
-</screen>
-</para>
-
-<formalpara>
-<title>Codificación en 3-pasadas</title>
-<para>
-Esta es una extensión de la codificación en 2-pasadas, donde la codificación
-del au dio se hace en una pasada diferente. Este método estima la tasa de bits
-de video necesaria para ajustar el tamaño para un CD. Además, el audio es
-codificado una sola vez, y no como en el modo 2-pasadas. De manera esquemática:
-</para>
-</formalpara>
-
-<procedure>
-<step><para>
- Borre el archivo temporal conflictivo:
- <screen>rm frameno.avi</screen>
- </para></step>
-<step><para>
- <emphasis>Primera pasada:</emphasis>
-
- <screen>mencoder <replaceable>file/DVD</replaceable> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</screen>
-
- Se crea un archivo avi solo-audio, que contiene
- <emphasis role="bold">únicamente</emphasis> el flujo de audio requerido. No olvide
- <option>-lameopts</option>, si necesita establecer algunos parámetros. Si está
- codificando una pelÃcula larga, <application>MEncoder</application> muestra las
- tasas de bits recomendadas para tamaños 650MB, 700MB, y 800MB, una vez que finaliza
- esta pasada.
- </para></step>
-<step><para>
- <emphasis>Segunda pasada:</emphasis>
- <screen>
-mencoder <replaceable>file/DVD</replaceable> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<replaceable>bitrate</replaceable><!--
---></screen>
-Esta es la primera pasada de la codificación de video. Opcionalmente puede
-especificar la tasa de bits de video que predijo
-<application>MEncoder</application> cuando terminó la primera pasada.
- </para></step>
-<step><para>
- <emphasis>Tercera pasada:</emphasis>
-<screen>
-mencoder <replaceable>file/DVD</replaceable> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<replaceable>bitrate</replaceable>
-</screen>
-Esta es la segunda pasada de la codificación del video. Especifique la
-misma tasa de bits que en la pasada anterior a menos que sepa realmente
-lo que está haciendo. En esta pasada, el audio de <filename>frameno.avi</filename>
-se inserta en el archivo de destino... y ¡ya está todo hecho!
-</para></step>
-</procedure>
-
-<example id="example_3_pass">
-<title>Ejemplo de codificación en 3-pasadas</title>
-<para>
-<screen>rm frameno.avi</screen>
-borre este archivo, que puede ser de una codificación en 3-pasadas
-anterior (e interferir con el actual)
-<screen>
-mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>pelicula.avi</replaceable>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>pelicula.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-<sect1 id="menc-feat-mpeg">
-<title>Codificando a formato MPEG</title>
-<para>
-<application>MEncoder</application> puede crear archivos con formato de salida
-MPEG (MPEG-PS). Probablemente esto sea util con el codec <emphasis>mpeg1video</emphasis>
-de <systemitem class="library">libavcodec</systemitem>,
-porque los reproductores - excepto <application>MPlayer</application> - esperan
-video MPEG1, y audio en MPEG1 layer 2 (MP2) en los archivos MPEG.
-</para>
-
-<para>
-Esta caracterÃstica no es muy útil ahora, por un lado probablemente tenga muchos
-fallos, pero lo más importante es porque <application>MEncoder</application>
-actualmente no codifica audio MPEG1 layer 2 (MP2), que es lo que otros
-reproductores esperan en los archivos MPEG.
-</para>
-
-<para>
-Para cambiar el formato del archivo de salida de
-<application>MEncoder</application>, use la opción <option>-of mpeg</option>.
-</para>
-
-<para>
-Ejemplo:
-<screen>
-mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>otras opciones</replaceable> <replaceable>media.avi</replaceable> -o <replaceable>output.mpg</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<sect1 id="menc-feat-rescale">
-<title>Reescalando pelÃculas</title>
-
-<para>
-A menudo surge la necesidad de reescalar el tamaño de las imágenes de las pelÃculas.
-Las razones pueden ser varias: reducir el tamaño del archivo, ancho de banda de la
-red, etc. La mayorÃa de la gente incluso reescala cuando convierte DVDs o SVCDs a
-AVI DIVX. Esto es <emphasis role="bold">malo</emphasis>. En lugar de hacer eso, lea
-la sección <link linkend="aspect">Conservando la razón de aspecto</link>.
-</para>
-
-<para>
-El proceso de escalado es manejado por el filtro de video <literal>scale</literal>:
-<option>-vf scale=<replaceable>ancho</replaceable>:<replaceable>alto</replaceable></option>.
-La calidad puede ser establecida con la opción <option>-sws</option>.
-Si no se especifica, <application>MEncoder</application> usará 0: bilineal rápido.
-</para>
-
-<para>
-Uso:
-<screen>
-mencoder <replaceable>entrada.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480-o <replaceable>salida.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>Copia de flujos</title>
-
-<para>
-<application>MEncoder</application> puede manejar flujos de entrada de dos maneras:
-<emphasis role="bold">codificandolos</emphasis> o <emphasis role="bold">copiandolos</emphasis>.
-Esta sección habla del modo <emphasis role="bold">copiandolos</emphasis>.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Flujo de video</emphasis> (opción <option>-ovc copy</option>):
- con esto se pueden hacer cosas muy bonitas :) Como, poner (¡convertir no!) ¡video FLI
- o VIVO o MPEG1 en un archivo AVI! Por supuesto solo <application>MPlayer</application>
- puede reproducir estos archivos :) Y probablemente no tenga ningún valor en la vida
- real. Razonadamente: la copia de flujo de video puede ser útil por ejemplo cuando
- solo ha de ser codificado el flujo de audio (como, PCM sin comprimir a MP3).
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">Flujo de audio</emphasis> (opción <option>-oac copy</option>):
- sinceramente. Es posible usar un archivo de audio externo (MP3, WAV) y
- multiplexarlo dentro del flujo de salida. Use para ello la opción
- <option>-audiofile <replaceable>filename</replaceable></option>.
- </para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<sect1 id="menc-feat-fix-avi">
-<title>Arreglando AVIs con Ãndice roto o interpolado</title>
-
-<para>
-Es lo más facil. SÃmplemente copia los flujos de audio y video, y
-<application>MEncoder</application> genera el Ãndice. Por supuesto esto
-no puede arreglar posibles errores en los flujos de audio y/o video. También
-arregla archivos con interpolado incorrecto, es decir la opción <option>-ni</option>
-ya no será necesaria nunca más.
-</para>
-
-<para>
-Ãrden:
-<screen>
-mencoder -idx <replaceable>entrada.avi</replaceable> -ovc copy -oac copy -o <replaceable>salida.avi</replaceable><!--
---></screen>
-</para>
-
-
-<sect2 id="menc-feat-appending">
-<title>Uniendo mútiples archivos AVI</title>
-
-<para>
-Como un efecto co-lateral, la función de corregir AVI's sin Ãndice habilita a
-<application>MEncoder</application> para unir 2 (o más) archivos AVI:
-</para>
-
-<para>
-Ãrden:
-<screen>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o <replaceable>salida.avi</replaceable> -</screen>
-</para>
-
-<note><para>
-Esto espera que <filename>1.avi</filename> y <filename>2.avi</filename> usen
-los mismos codecs, resolución, tasa de flujo etc, y al menos <filename>1.avi</filename>
-no esté roto. Puede que necesite corregir sus archivos AVI de entrada primero, como
-se describe <link linkend="menc-feat-fix-avi">más arriba</link>.
-</para></note>
-</sect2>
-</sect1>
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Codificando con la familia de codecs de
-<systemitem class="library">libavcodec</systemitem></title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem>
-provee un montón de interesantes formatos de video y audio (actualmente sus codecs
-de audio no están soportados). Puede codificar con los siguientes codecs
-(más o menos actualizado):
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nombre del codec</entry><entry>Descripción</entry></row>
-</thead>
-<tbody>
-<row><entry>mjpeg</entry><entry>
- Motion JPEG
- </entry></row>
-<row><entry>ljpeg</entry><entry>
- Lossless JPEG
- </entry></row>
-<row><entry>h263</entry><entry>
- H263
- </entry></row>
-<row><entry>h263p</entry><entry>
- H263 Plus
- </entry></row>
-<row><entry>mpeg4</entry><entry>
- ISO estándar MPEG-4 (compatible con DivX 5, XVID)
- </entry></row>
-<row><entry>msmpeg4</entry><entry>
- pre-standard MPEG-4 variant by MS, v3 (aka DivX3)
- </entry></row>
-<row><entry>msmpeg4v2</entry><entry>
- pre-standard MPEG-4 by MS, v2 (usado en archivos asf antiguos)
- </entry></row>
-<row><entry>wmv1</entry><entry>
- Windows Media Video, version 1 (aka WMV7)
- </entry></row>
-<row><entry>wmv2</entry><entry>
- Windows Media Video, version 2 (aka WMV8)
- </entry></row>
-<row><entry>rv10</entry><entry>
- un codec RealVideo antiguo
- </entry></row>
-<row><entry>mpeg1video</entry><entry>
- MPEG1 video
- </entry></row>
-<row><entry>mpeg2video</entry><entry>
- MPEG2 video
- </entry></row>
-<row><entry>huffyuv</entry><entry>
- compresión sin pérdidas
- </entry></row>
-<row><entry>asv1</entry><entry>
- ASUS Video v1
- </entry></row>
-<row><entry>asv2</entry><entry>
- ASUS Video v2
- </entry></row>
-<row><entry>ffv1</entry><entry>
- codec de video si pérdidas de FFmpeg
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-La primera columna contiene los nombres de los codecs que deben pasarse
-después de la configuración <literal>vcodec</literal>, como:
-<option>-lavcopts vcodec=msmpeg4</option>
-</para>
-
-<informalexample>
-<para>
-Un ejemplo, con compresión MJPEG:
-<screen>mencoder dvd://2 -o tÃtulo2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
-</para>
-</informalexample>
-</sect1>
-
-
-<sect1 id="menc-feat-enc-images">
-<title>Codificando desde múltiples archivos de imágenes de entrada (JPEGs, PNGs o TGAs)</title>
-
-<para>
-<application>MEncoder</application> es capaz de crear pelÃculas desde uno o más
-archivos JPEG, PNG o TGA. Con framecopy simple crea archivos MJPEG (Motion JPEG),
-MPNG (Motion PNG) o MTGA (Motion TGA).
-</para>
-
-<orderedlist>
-<title>Explicación del proceso:</title>
-<listitem><para>
- <application>MEncoder</application> <emphasis>decodifica</emphasis> las imágenes
- de entrada con
- <systemitem class="library">libjpeg</systemitem> (cuando decodifica PNGs, usa
- <systemitem class="library">libpng</systemitem>).
- </para></listitem>
-<listitem><para>
- <application>MEncoder</application> alimenta entonces con la imagen decodificada
- al compresor de video elegido (DivX4, Xvid, ffmpeg msmpeg4, etc.).
- </para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>Ejemplos</title>
-<para>
-La explicación de la opción <option>-mf</option> puede encontrarse más abajo en
-la página de manual.
-
-<informalexample>
-<para>
-Creating a DivX4 file from all the JPEG files in the current dir:
-<screen>
-mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o output.avi \*.jpg<!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creando un archivo DivX4 desde algunos archivos JPEG en el directorio actual:
-<screen>
-mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o <replaceable>salida.avi</replaceable> frame001.jpg,frame002.jpg <!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creando un archivo Motion JPEG (MJPEG) desde todos los archivos JPEG en el
-directorio actual:
-<screen>
-mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o <replaceable>salida.avi</replaceable> \*.jpg<!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creando un archivo sin comprimir desde todos los archivos PNG en el directorio
-actual:
-<screen>
-mencoder -mf on:w=800:h=600:fps=25:type=png -ovc raw -o <replaceable>salida.avi</replaceable> \*.png<!--
---></screen>
-</para>
-</informalexample>
-
-<note><para>
-El ancho debe ser múltiplo entero de 4, esto es una estimación del formato AVI RAW RGB.
-</para></note>
-
-<informalexample>
-<para>
-Creando un archivo Motion PNG (MPNG) desde todos los archivos PNG en el
-directorio actual:
-<screen>
-mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy -o salida.avi \*.png<!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creando un archivo Motion TGA (MTGA) desde todos los archivos TGA en el
-directorio actual:
-<screen>
-mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy -o salida.avi \*.tga<!--
---></screen>
-</para>
-</informalexample>
-
-</para>
-</formalpara>
-</sect1>
-
-
-<sect1 id="menc-feat-extractsub">
-<title>Extrayendo subtÃtulos DVD a archivo Vobsub</title>
-
-<para>
-<application>MEncoder</application> es capaz de extraer subtÃtulos desde
-un DVD a archivos con formato Vobsub. Esto consiste en un par de archivos
-que terminan en <filename>.idx</filename> y <filename>.sub</filename> y
-normalmente son empaquetados en un archivo <filename>.rar</filename> simple.
-<application>MPlayer</application> puede reproducir esto con las opciones
-<option>-vobsub</option> y <option>-vobsubid</option>.
-</para>
-
-<para>
-Puede especificar el nombre base (p.e. sin la extensión <filename>.idx</filename>
-o <filename>.sub</filename>) de los archivos de salida con
-<option>-vobsubout</option> y el Ãndice para este subtÃtulo en los
-archivos resultantes con <option>-vobsuboutindex</option>.
-</para>
-
-<para>
-Si la entrada no es desde un DVD debe usar <option>-ifo</option> para
-indicar el archivo <filename>.ifo</filename> necesario para reconstruir
-el archivo resultante <filename>.idx</filename>.
-</para>
-
-<para>
-Si la entrada no es desde un DVD y no tiene el archivo
-<filename>.ifo</filename> necesario deberá usar la opción
-<option>-vobsubid</option> para decir qué id de idioma poner
-en el archivo <filename>.idx</filename>.
-</para>
-
-<para>
-Cada ejecución añade el subtÃtulo que se está usando si los
-archivos <filename>.idx</filename> y <filename>.sub</filename> ya existen.
-DeberÃa borrarlos antes de comenzar.
-</para>
-
-<example id="copiando_dos_subtitulos_dvd_mientras_codificacion">
-<title>Copiando dos subtÃtulos desde un DVD mientras se hace la
-codificación en 3-pasadas</title>
-<screen>
-rm subtitles.idx subtitles.sub
-mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno
-mencoder dvd://1 -oac copy -ovc divx4 -pass 1
-mencoder dvd://1 -oac copy -ovc divx4 -pass 2 -vobsubout subtitles -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>Copiando un subtÃtulo francés desde un archivo MPEG</title>
-<screen>
-rm subtitles.idx subtitles.sub
-mencoder <replaceable>pelicula.mpg</replaceable> -ifo <replaceable>pelicula.ifo</replaceable> -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1<!--
---></screen>
-</example>
-
-</sect1>
-
-<sect1 id="aspect">
-<title>Preservando relación de aspecto</title>
-<para>
-Los archivos de DVDs y SVCDs (p.e. MPEG1/2) contienen un valor sobre la
-relación de aspecto, que describe cómo debe el reproductor escalar el flujo
-de video, los humanos tienen un huevo por cabeza (ej.:480x480 + 4:3 = 640x480).
-Sin embargo cuando se codifica a archivo AVI (DivX), debe estar advertido
-de que los encabezados AVI no almacenan este valor. Reescalar la pelÃcula
-es repugnante y consume tiempo, ¡siempre debe haber un camino mejor!
-</para>
-
-<para>Esto es</para>
-
-<para>
-MPEG4 tiene una caracterÃstica única: el flujo de video puede contener
-la razón de aspecto necesaria. SÃ, igual que MPEG1/2 (DVD, SVCD) y los archivos H263.
-Por lástima, <emphasis role="bold">no</emphasis> hay reproductores de video
-ahà fuera que soporten esta caracterÃstica de MPEG4, excepto <application>MPlayer</application>.
-</para>
-
-<para>
-Esta caracterÃstica puede ser usada solo con el codec
-<systemitem>mpeg4</systemitem> de
-<systemitem class="library">libavcodec</systemitem>.
-Tenga en mente: aunque <application>MPlayer</application> puede reproducir
-correctamente el archivo creado, otros reproductores pueden usar una razón
-de aspecto incorrecta.
-</para>
-
-<para>
-Seriamente debe recortar las bandas negras que hay por encima y por debajo
-de la imagen.
-Vea la página de manual para usar los filtros <systemitem>cropdetect</systemitem>
-y <systemitem>crop</systemitem>.
-</para>
-
-<para>
-Uso
-<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o <replaceable>salida.avi</replaceable></screen>
-</para>
-</sect1>
-
-<sect1 id="custommatrices"><title>Matrices inter/intra personalizadas</title>
-
-<para>
-Con ésta caracterÃstica de
-<systemitem class="library">libavcodec</systemitem> puede
-personalizar las matrices inter (marcos-I/marcos clave) e intra (marcos-P/marcos
-de predicción). Está soportado por muchos codecs:
-<systemitem>mpeg1video</systemitem> y <systemitem>mpeg2video</systemitem>
-se ha informado que funcionan.
-</para>
-
-<para>
-Un uso normal de esta caracterÃstica es establecer las matrices preferidas
-por las especificaciones <ulink url="http://www.kvcd.net/">KVCD</ulink>.
-</para>
-
-<para>
-La <emphasis role="bold">Matriz de Cuantización de KVCD "Notch"</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-Uso:
-<screen>
-$ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-$ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect1>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Haciendo un MPEG4 ("DivX") de alta calidad al ripear una pelÃcula en DVD</title>
-
-<para>
- Ripear un tÃtulo de DVD en un archivo MPEG4 (DivX) de alta calidad
- involucra algunas consideraciones. Más abajo encontrará un ejemplo
- del proceso cuando el objetivo no es conseguir un tamaño determinado
- para el archivo (sino quizá ajustar el resultado en 2GB).
- <systemitem class="library">libavcodec</systemitem> será usado para el
- video, y el audio será copiado como esté sin cambios.
-</para>
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>Recortando</title>
-<para>
- Reproduzca el DVD y ejecute el filtro de detección de recorte
- (<option>-vf cropdetect</option>) en él. Esto le dará un rectángulo de
- recorte para usar en la codificación. La razón para el recorte es que muchas
- pelÃculas no están en las relaciones de aspecto estándar (16/9 o 4/3), o,
- por cualquier razón, la imagen no se ajusta bien dentro del marco de imagen.
- Además querrá recortar las bandas negras durante el ripeo. También mejora la
- calidad de la imagen porque el filo de las bandas negras consume un montón
- de bits. Un aspecto común es 2.35, el que se llama cinemascope. La mayorÃa
- de las pelÃculas de blockbuster tienen esta razón de aspecto.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-quality">
-<title>Nivel de calidad</title>
-<para>
- A continuación debe elegir el nivel de calidad deseado. Cuando no necesite
- ajustar el tamaño resultante en un CD o en lo que sea, usar una cuantización
- constante, AKA calidad constante es una buena elección. De este modo cada
- marco de imagen toma tantos bits como necesite para mantener el nivel de
- calidad deseado, pero sin necesitar múltiples pasadas en la codificación.
- Con
- <systemitem class="library">libavcodec</systemitem>, obtendrá una calidad
- constante usando
- <option>-lavcopts vqscale=<replaceable>N</replaceable></option>.
- <option>vqscale=3</option> debe darle un archivo por debajo de los 2GB
- de tamaño, dependiendo principalmente de la duración de la pelÃcula y del
- ruido en el video (a más ruido, más difÃcil de comprimir será).
-</para></sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-2gb">
-<title>Archivos más grandes de 2GB</title>
-<para>
- Si el archivo resultante codificado con calidad constante es más grande
- de 2GB, deberá crear un Ãndice para poder luego verlos correctamente.
- Puede
-
-<itemizedlist>
-<listitem><para>
- reproducir el archivo con <option>-forceidx</option> para crear un
- Ãndice sobre la marcha o bien
- </para></listitem>
-<listitem><para>
- usar <option>-saveidx</option> para escribir un Ãndice a un archivo
- una sola vez y luego <option>-loadidx</option> para usarlo cuando
- reproduzca el archivo.
- </para></listitem>
-</itemizedlist>
-
- Si esto le incomoda, quizá quiera mantener el tamaño por debajo de los 2GB.
-</para>
-
-<para>
- Hay tres maneras de evitar esto. Puede intentar codificar de nuevo
- usando <option>vqscale=4</option> y ver si tiene el tamaño de
- archivo y la calidad de imagen aceptables. También peude usar
- <link linkend="menc-feat-divx4">codificación en 2 pasadas</link>.
- Como va a copiar la pista de audio como está y conoce por eso
- su tasa de bits, y además sabe la duración de la pelÃcula, puede
- calcular la tasa de bits de video requerida para dar a la opción
- <option>-lavcopts vbitrate=<replaceable>bitrate</replaceable></option>
- sin usar
- <link linkend="menc-feat-divx4">codificación en 3 pasadas</link>.
-</para>
-
-<para>
- La tercera y posiblemente la mejor opción puede ser rebajar ligeramente
- la resolución. El rebajado suaviza ligeramente y la pérdida de detalle
- es visualmente menos dañina que el ver bloques y otros artifactos
- causados por la compresión MPEG. Escalar a un tamaño menor también reduce
- de manera efectiva el ruido en la imagen, lo que es aún mejor, ya que
- el ruido es más dificil de comprimir.
-</para></sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-deinterlacing">
-<title>Desentrelazado</title>
-<para>
- Si la pelÃcula está entrelazada, puede que quiera desentrelazarla como
- parte del ripeo. Es debatible si debe desentrelazarse en esta etaba. El
- beneficio es que al desentrelazar mientras convierte a MPEG4 ocasiona
- una mejor compresión, y luego es más fácil de ver con menos CPU en
- monitores de ordenador ya que no es necesario el desentrelazado en
- ese momento.
-</para>
-
-<para>
- Desentrelazar durante la etapa de ripeo es una buena idea dependiendo
- del DVD. Si el DVD está hecho desde una pelÃcula, y tiene 24 fps,
- puede desentrelazar durante el ripeo. Si, sin embargo, el original
- es un video a 50/60 fps, convertirlo en un video desentrelazado
- a 23.976/25 fps puede perder información. Si decide desentrelazar, puede
- experimentar con distintos filtros de desentrelazado después. Vea
- <ulink url="http://www.wieser-web.de/MPlayer/">http://www.wieser-web.de/MPlayer/</ulink>
- para ejemplos. Un buen punto de partida es <option>-vf pp=fd</option>.
-</para>
-
-<para>
- Si está haciendo las dos cosas, recortando y desentrelazando, desentrelace
- <emphasis>antes</emphasis> de recortar. Actualmente, no es necesario
- si el desplazamiento de recorte es vertical y múltiplo de 2 pixels. Sin
- embargo con algunos otros filtros, como dering, deberá siempre hacer el recorte
- lo último, es un buen hábito poner el filtro de recortado el último.
-</para></sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-telecine">
-<title>Inversión de telecine</title>
-<para>
- Si está ripeando un DVD PAL, con 25 fps, no necesita pensar en
- los fps. Use directamente 25 fps. Los DVDs NTSC por otro lado están
- a 29.97 fps (a menudo rondan los 30 fps, pero no tiene por qué).
- Si la pelÃcula fue grabada desde TV, no necesita de nuevo tocar
- los fps. Pero si la pelÃcula fue grabada desde una pelÃcula, y por
- lo tanto a (exactamente) 24 fps, debe ser convertida a 29.97 fps
- cuando haga el DVD. Esta conversión donde se añaden 12 campos a
- cada 24 marcos de imagen de la pelÃcula se llama telecine. Para más
- información acerca de telecine, vea una
- <ulink url="http://www.google.com/search?q=telecine+field+23.976">
- búsqueda en Google de "telecine field 23.976"</ulink>.
-</para>
-
-<para>
- En caso de que tenga un DVD telecine, puede que quiera hacer inversión
- del telecine, lo que significa convertir la pelÃcula a 23.976 fps
- (29.97*4/5). De otro modo las panorámicas de cámara irán a trompicones
- y muy mal. Puede usar <option>-ofps 23.976</option> para ello. Cualquier
- cosas que esté en pelÃculas y necesite telecine inverso, no se
- mostrará en TV.
-</para></sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-scaling">
-<title>Escalado y razón de aspecto</title>
-<para>
- Para mejor calidad, no escale la pelÃcula durante el ripeo. El
- escalado a tamaño menor obviamente pierde detalle, y el escalado
- a mayor tamaño causa artefactos y hace el archivo mayor en tamaño. Los
- pixels en las pelÃculas DVD no son cuadrados, por eso las pelÃculas
- en DVD incluyen información acerca de la razón de aspecto correcta. Es
- posible almacenar la razón de aspecto en la cabecera del archivo
- de salida MPEG4. La mayorÃa de los reproductores de video ignoran
- esta información pero <application>MPlayer</application> la usará.
- Si solo va a usar <application>MPlayer</application> para ver el
- archivo ripeado, no necesitará escalar la pelÃcula, solo pase
- <option>-lavcopts autoaspect</option> a
- <application>MEncoder</application> y las cosas funcionarán
- bien automágicamente. Si debe escalar la pelÃcula, tenga
- cuidado con el tamaño dado especialmente si está recortándola.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-summary">
-<title>Sumando todo esto</title>
-<para>
- Con todo lo mencionado más arriba en mente, se puede usar una órden
- de codificación como la siguiente
-
- <screen>
-mencoder dvd://1 -aid 128 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect \
- -ofps 23.976 -vf crop=720:364:0:56 -o Harry_Potter_2.avi
- </screen>
-
- Aquà <option>dvd://1</option> indica el tÃtulo de DVD a ripear.
- La opción <option>-aid 128</option> indica el uso de la pista 128,
- y <option>-oac copy</option> para copiarla como está. Puede usar
- <application>MPlayer</application> para encontrar los valores
- correctos para las opciones.
-</para>
-
-<para>
- Las opciones <option>vhq:v4mv:trell</option> para
- <option>-lavcopts</option> mejoran la calidad frente a la tasa de bits, pero
- hacen que la codificacion dure más. Especialmente <option>trell</option>
- ralentiza la codificación pero incrementa la calidad visiblemente. Si quiere
- desentrelazar, añada un filtro <option>pp</option> a <option>-vf</option>,
- por ejemplo <option>-vf pp=fd,crop=720:364:0:56</option> (en ese orden).
- Si no necesita invertir el telecine, quite <option>-ofps 23.976</option>.
-</para>
-</sect2>
-
-</sect1>
-
-<sect1 id="menc-feat-telecine">
-<title>Cómo tratar con telecine y entrelazado con DVDs NTSC</title>
-
-<formalpara>
-<title>Introducción</title>
-<para>
- Le sugiero que visite esta página si no entiende mucho lo que está
- escrito en este documento:
- <ulink url="http://www.divx.com/support/guides/guide.php?gid=10">http://www.divx.com/support/guides/guide.php?gid=10</ulink>
- Esta URL enlaza a una descripción de lo que es telecine inteligible y
- razonablemente comprensible.
-</para></formalpara>
-
-<para>
- Por razones técnicas pertinentes a las limitaciones de reciente
- hardware de televisión, todos los videos que están pensados para ser
- reproducidos en una televisión NTSC deben tener 59.94 campos por segundo.
- Las pelÃculas hechas-para-TV y los espectáculos son grabados
- directamente a 24 o 23.976 marcos por segundo. Cuando una pelÃcula
- para cine DVD es masterizada, el video es entonces convertido para la
- televisión usando un proceso llamado telecine.
-</para>
-
-<para>
- En un DVD, el video nunca se almacena como 59.94 campos por segundo.
- Para video que es originalmente a 59.94, cada par de campos es
- combinado para formar un marco de imagen, resultando en 29.97 marcos
- por segundo. Los reproductores de DVD por hardware entonces leen un
- indicador embebido en el flujo de video para determinar si son las
- lÃneas pares o las impares las que deben formar el primer campo.
-</para>
-
-<para>
- Normalmente, 23.976 marcos de imagen por segundo se mantienen asÃ
- cuando son codificados en un DVD, y el reproductor de DVD debe
- realizar el telecine sobre la marcha. Algunas veces, sin embargo,
- el video es pasado por el proceso de telecine <emphasis>antes</emphasis>
- de ser almacenado en el DVD; incluso aunque tenga originalmente
- 23.976 marcos de imagen por segundo, se hace que tenga 59.94 campos
- por segundo, y es almacenado en disco como 29.97 marcos de imagen
- por segundo.
-</para>
-
-<para>
- Cuando se observan como marcos individuales formados por 59.94 campos
- por segundo de video, telecine o viceversa, el entrelazado es claramente
- visible en cuanto hay movimiento, porque un campo (digamos, las lÃneas
- numeradas pares) representa un momento en el tiempo 1/59.94 de un
- segundo después de otro. Al reproducir video entrelazado en un
- ordenador se ve mal porque el monitor tiene una resolución mayor
- y porque el video es mostrado marco-tras-marco en lugar de
- campo-tras-campo.
-</para>
-
-<para>
-Notas:
-</para>
-<itemizedlist>
-<listitem><para>
- Esta sección solo se aplica a DVDs NTSC, y no a PAL.
- </para></listitem>
-<listitem><para>
- El ejemplo <application>MEncoder</application> que hay a lo largo del
- documento <emphasis role="bold">no</emphasis> está comprendido para
- uso normal. SÃmplemente tiene lo mÃnimo requerido para codificar la
- categorÃa de video pertinente. Cómo hacer ripeados de DVD buenos o
- ajuste fino de <systemitem class="library">libavcodec</systemitem>
- para máxima calidad no es el objetivo de este documento.
- </para></listitem>
-<listitem><para>
- Hay un montón de notas a pie de página especÃficas en esta guia, enlazadas
- como esto:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
- </para></listitem>
-</itemizedlist>
-
-<sect2 id="menc-feat-telecine-ident">
-<title>Cómo decir el tipo de video que tiene</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>Progresivo</title>
-<para>
- Video progresivo fue grabado originalmente a 23.976 fps, y almacenado
- en el DVD sin alteración.
-</para>
-
-<para>
- Cuando reproduce un DVD progresivo en <application>MPlayer</application>,
- <application>MPlayer</application> mostrará la siguiente lÃnea tan pronto
- como comience la pelÃcula:
-
- <screen> demux_mpg: 24fps progressive NTSC content detected, switching framerate.</screen>
-
- Desde este punto de vista, demux_mpg nunca debe decir que encuentra
- "contenido a 30fps NTSC."
-</para>
-
-<para>
- Cuando vea video progresivo, nunca debe ver ningún entrelazado. Tenga
- cuidado, sin embargo, porque algunas veces hay un poco de telecine
- mezclado, donde no se lo espera. He encontrado DVDs de espectáculos de
- TV que tienen un segundo de telecine en cada cambio de escena, o
- en lugares aleatorios incluso. Una vez vi un DVD que tenÃa el primer
- campo progresivo, y el segundo campo era telecine. Si quiere
- <emphasis>realmente</emphasis> saberlo, puede escanear la pelÃcula
- entera:
-
- <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-
- Usando <option>-benchmark</option> hace que
- <application>MPlayer</application> reproduzca la pelÃcula tan rápido
- como pueda; tenga en cuenta, dependiendo de su hardware, puede tardar
- bastante. Cada vez que demux_mpg informa de un cambio de tasa de bits,
- la lÃnea inmediatamente por encima le dirá el tiempo en el que el
- cambio ha ocurrido.
-</para>
-
-<para>
- Algunas veces el video progresivo es referido como "soft-telecine"
- porque está pensado para ser procesado en telecine por el reproductor de DVD.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Telecine</title>
-<para>
- Video con telecine fue grabado originalmente a 23.976 fps, pero fue
- pasado por proceso de telecine <emphasis>antes</emphasis> de ser
- escrito en el DVD.
-</para>
-
-<para>
- <application>MPlayer</application> no (nunca) informa de cambios
- en la tasa de bits cuando reproduce video con telecine.
-</para>
-
-<para>
- Al ver video con telecine, verá artefactos de entrelazado, que parecen
- "parpadear": repetidamente aparecen y desaparecen.
- Puede verlo de cerca con
- <orderedlist>
- <listitem>
- <screen>mplayer dvd://1 -speed 0.1</screen>
- </listitem>
- <listitem><para>
- Busque una parte con movimiento.
- </para></listitem>
- <listitem><para>
- Localice un patrón de búsqueda-entrelazada y búsqueda-progresiva
- en marcos de imagen. Si el patrón que ve es PPPII,PPPII,PPPII,...
- entonces el video es con telecine. Si ve algún otro patrón, entonces
- el video puede que esté con telecine usando algún método no estándar
- y <application>MEncoder</application> no puede convertirlo sin pérdidas
- en progresivo. Si no ve ningún patrón, entonces lo más seguro es que
- sea entrelazado.
- </para></listitem>
- </orderedlist>
-</para>
-
-<para>
- Algunas veces el video telecine es referido como "hard-telecine".
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Entrelazado</title>
-<para>
- El video entrelazado fue originalmente grabado a 59.94 campos por segundo,
- y almacenado en el DVD como 29.97 marcos por segundo. El entreñazado
- es el resultado de combinar pares de campos en marcos, porque en cada
- marco de imagen, cada campo ocupa 1/59.94 segundos.
-</para>
-
-<para>
- Como en el video en telecine, <application>MPlayer</application> nunca
- debe informar de ningún cambio en la tasa de bits mientras reproduce
- contenido entrelazado.
-</para>
-
-<para>
- Cuando ve video entrelazado de cerca con <option>-speed 0.1</option>,
- puede ver que cada marco simple es entrelazado.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>Mezcla progresiva y telecine</title>
-<para>
- Todo video "mezcla progresivo y telecine" originalmente es a
- 23.976 marcos por segundo, pero algunas partes de él terminan siendo en
- telecine.
-</para>
-
-<para>
- Cuando <application>MPlayer</application> reproduce esta categoria,
- (a menudo de forma repetida) cambia entre "30fps NTSC" y
- "24fps progresivo NTSC". Consulte la parte de abajo de
- la salida de <application>MPlayer</application> para ver estos
- mensajes.
-</para>
-
-<para>
- Deberá consultar las secciones de "30fps NTSC" para
- asegurarse de que es telecine, y no simplemente entrelazado.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>Mezcla de progresivo y entrelazado</title>
-<para>
- En el contenido "mezcla de progresivo y entrelazado", el
- video progresivo y entrelazado se colocan juntos.
-</para>
-
-<para>
- Esta categorÃa es similar a "mezcla progresivo y telecine",
- hasta que examine las secciones de 30fps y vea que no tiene el patrón
- de telecine.
-</para>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-telecine-encode">
-<title>Cómo codificar cada categorÃa</title>
-<para>
- Como dije antes al principio, las lÃneas de ejemplo de
- <application>MEncoder</application> de más abajo <emphasis role="bold">no</emphasis>
- son para ser usadas; solo son para demostrar los parámetros mÃnimos para codificar
- en cada categorÃa.
-</para>
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>Progresivo</title>
-<para>
- El video progresivo no requiere un filtrado especial para codificarlo. El
- único parámetro que seguramente necesita usar es <option>-ofps 23.976</option>.
- Si no lo hace, <application>MEncoder</application> intentará codificar a
- 29.97 fps y marcos duplicados.
-</para>
-
-<para>
- <screen>mencoder dvd://1 -nosound -ovc lavc -ofps 23.976</screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Telecine</title>
-<para>
- Telecine puede ser invertido para obtener el contenido 23.976 original,
- usando un proceso llamado telecine-inverso.
- <application>MPlayer</application> contiene dos filtros para
- conseguir esto: <option>detc</option> y <option>ivtc</option>. Puede leer
- la página de manual para ver las diferencias, pero para DVDs nunca he tenido
- problemas con <option>ivtc</option>. Note que
- <emphasis role="bold">siempre</emphasis> deberá hacer telecine-inverso
- antes de cualquier reescalado; a menos que realmente sepa lo que está haciendo,
- telecine-inverso antes de recortar también
- <link linkend="menc-feat-telecine-footnotes">[1]</link>. De nuevo,
- necesitará <option>-ofps 23.976</option> también.
-</para>
-
-<para>
- <screen>mencoder dvd://1 -nosound -vf ivtc=1 -ovc lavc -ofps 23.976</screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Entrelazado</title>
-<para>
- Para la mayor parte de los casos prácticos no es posible obtener un
- video progresivo completo de un contenido entrelazado. La única manera
- de hacerlo sin perder la mitad de la resolución vertical es doblar la
- tasa de imágenes por segundo e intentar "adivinar" como se
- obtienen las correspondientes lÃneas para cada campo (esto ocasiona
- problemas - vea el método 3).
-</para>
-
-<orderedlist>
-<listitem><para>
-
- Codifique el video en formato entrelazado. Normalmente, el entrelazado
- permite al codificador comprimir bien, pero
- <systemitem class="library">libavcodec</systemitem> tiene dos
- parámetros especÃficos para jugar con video entrelazado un poco mejor:
- <option> ildct</option> y <option>ilme</option>. Además, es
- altamente recomendable usar <option>mbd=2</option>
- <link linkend="menc-feat-telecine-footnotes">[2] </link> porque codifica
- los macrobloques como no entrelazados en lugares donde no hay movimiento.
- Note que <option>-ofps</option> NO es necesario aquÃ.
-
- <screen>mencoder dvd://1 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
- </para></listitem>
-<listitem><para>
- Use un filtro de desentrelazado antes de codificar. Hay varios
- filtros disponibles para elegir, cada uno con sus ventajas y sus
- desventajas. Consulte <option>mplayer -pphelp</option> para ver
- qué hay disponible (grep "deint"), y busque en las
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists-es.html">
- listas de correo <application>MPlayer</application></ulink> para encontrar
- discusiones acerca de varios filtros. De nuevo, la tasa de bits por segundo
- no cambia, nada de <option>-ofps</option>. Además, el desentrelazado debe
- hacerse después del recortado <link linkend="menc-feat-telecine-footnotes">
- [1]</link> y antes del escalado.
-
- <screen>mencoder dvd://1 -nosound -vf pp=lb -ovc lavc</screen>
- </para></listitem>
-<listitem><para>
- Desafortunadamente, esta opción tiene fallos con
- <application>MEncoder</application>; funcionará bien con
- <application>MEncoder G2</application>, pero todavÃa no está disponible.
- Puede experimentar cuelgues del sistema. De todos modos, el propósito
- de <option>-vf tfields</option> es crear una tasa de bits completa por
- campo, que haga que la tasa completa sea de 59.94. La ventaja de esta
- aproximación es que no hay pérdida de datos; sin embargo, como cada marco
- viene solo con un campo, las lÃneas que faltan tienen que se interpoladas
- de alguna manera. No hay buenos métodos para generar estos datos
- que faltan, y el resultado será un poco similar al que se obtiene cuando
- se usan algunos filtros de desentrelazado. La generación de las lÃneas
- que faltan crean otros problemas, sÃmplemente porque se dobla la cantidad
- de datos. Por eso, tasas de bits más altas para la codificación son
- requeridas para mantener la calidad, y se usa más potencia de CPU para
- la codificación y la decodificación. tfields tiene varias opciones
- distintas para crear las lÃneas que faltan en cada marco. Si usa
- este método, refiérase al manual, y elija la opción que mejor se ajuste
- para su material. Note que cuando use <option>tfields</option>
- <emphasis role="bold">tiene que</emphasis> especificar <option>-fps</option>
- y <option>-ofps</option> para doblar la tasa de bits de su fuente
- original.
-
- <screen>mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 59.94 -ofps 59.94</screen>
- </para></listitem>
-<listitem><para>
- Si planea subescalar dramáticamente, puede codificar solo uno de los
- dos campos. Por supuesto, perderá la mitad de la resolución vertical,
- pero si planea subescalar a al menos 1/2 del original, la pérdida no
- importa mucho. El resultado será un archivo progresivo de 29.97 marcos
- por segundo. El procedimiento es usar <option>-vf field</option>, entonces
- recortar <link linkend="menc-feat-telecine-footnotes">[1]</link> y
- escalar apropiadamente. Recuerde que tiene que ajustar la escala para
- compensar la resolución vertical que está siendo perdida.
- <screen>mencoder dvd://1 -nosound -vf field=0 -ovc lavc</screen>
- </para></listitem>
-</orderedlist>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>Mezcla de progresivo y telecine</title>
-<para>
- Para mezclar video progresivo y telecine en un video completamente
- progresivo, las partes en telecine tienen que pasar por el proceso
- de telecine-inverso. Hay dos filtros que realizan esto nativamente, pero
- una solución mejor casi siempre es usar dos filtros conjuntamente
- (lea más adelante para más detalles).
-</para>
-
-<itemizedlist>
-<listitem><para>
- Actualmente el método más fiable para tratar este tipo de video
- es, en lugar de hacer telecine-inverso con las partes en telecine,
- pasar a telecine las partes que no lo son y luego hacer telecine-inverso
- del video completo. ¿Suena confuso? softpulldown es un filtro que
- hadce que el video se haga completamente en telecine. Si se sigue
- softpulldown con alguno de entre <option>detc</option> o
- <option>ivtc</option>, el resultado final será completamente progresivo.
- El recortado y el escalado debe hacerse después de las operaciones de
- telecine-inverso, y <option>-ofps 23.976</option> es necesario.
-
- <screen>mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 23.976</screen>
- </para>
- </listitem>
-<listitem><para>
- <option>-vf pullup</option> está diseñado para hacer telecine-inverso
- con material en telecine mientras que deja el video progresivo como
- datos aislados. Pullup no funciona muy bien con el
- <application>MEncoder</application> actual, realmente está hecho
- para ser usado con <application>MEncoder G2</application> (cuando esté
- listo). Funciona bien sin <option>-ofps</option>, pero
- <option>-ofps</option> se necesita para prevenir salida con saltos.
- Con <option>-ofps</option>, algunas veces falla. Los problemas vienen
- de mantener la sincronización entre el audio y el video: elimina
- marcos antes de enviarlos a la cadena de filtros, en lugar de después.
- Como resultado, <option>pullup</option> algunas veces pierde los
- datos que necesita.
- </para>
-
- <para>
- Si <application>MEncoder</application> descarta demasiados marcos de
- imagen en una fila, se carga los buffers <option>pullup</option> y
- causa el fallo del programa.
- </para>
-
- <para>
- Incluso si <application>MEncoder</application> solo descarta un marco,
- <option>pullup</option> sigue sin verse bien, y puede resultar en
- una secuencia incorrecta de marcos de imagen. Incluso si no causa
- un fallo del sistema, <option>pullup</option> es capaz de hacer decisión
- de correcciones sobre como reensamblar los marcos progresivos, y
- hacer coincidir campos juntos de manera incorrecta o descargar
- algunos campos para compensar.
- </para>
- </listitem>
-
-<listitem><para>
- Recientemente he usado <option>-vf filmdint</option> yo mismo, pero
- esto es lo que dice D Richard Felker III:
-
- <blockquote><para>Está bien, pero IMO (en mi opinión) intenta
- densentrelazar en lugar de hacer inversión del telecine
- demasiado a menudo (muy similar a los reproductores de sobremesa
- de DVD y TVs progresivas) que causan parpadeos que afean y
- otros artefactos. Si está haciendo uso de esto, necesita por lo
- menos perder algún tiempo haciendo un ajuste fino de las opciones
- y viendo la salida para asegurarse de que no está haciendolo mal.
- </para></blockquote>
- </para></listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>Mezcla de progresivo y entrelazado</title>
-<para>
- Hay dos opciones para tratar esta categorÃa, cada una con sus
- compromisos. Debe decidir si se quiere basar en la duración
- o localización de cada tipo.
-</para>
-
-<itemizedlist>
-<listitem><para>
- Trátelo como progresivo. Las partes entrelazadas parecen entrelazadas,
- y algunos campos entrelazados son descartados, resultando en un
- poco dispares y con saltos. Puede usar un filtro de postprocesado
- si quiere, pero degradará ligeramente las partes progresivas.
- </para>
-
- <para>
- Definitivamente esta opción no debe ser usada si quiere eventualmente
- mostrar el video en un dispositivo entrelazado (con una tarjeta de TV,
- por ejemplo). Si tiene marcos entrelazados en un video de 23.976 marcos
- por segundo, deben ponerse en telecine junto con los marcos
- progresivos. La mitad de los "marcos" entrelazados serán mostrados
- en duración de tres campos (3/59.94 segundos), resultando en un
- efecto de parpadeo "con salto atrás en el tiempo" lo que hace
- que se vea bastante mal. Si quiere intentarlo,
- <emphasis role="bold">debe</emphasis> usar un filtro de desentrelazado
- como <option>lb</option> o <option>l5</option>.
- </para>
-
- <para>
- También puede ser una mala idea para una pantalla progresiva.
- Descartará pares de campos consecutivos entrelazados, resultando
- en una discontinuidad que puede ser más visible que con el segundo
- método, el cual muestra algunos marcos progresivos dos veces. El
- video entrelazado a 29.97 marcos por segundo ya se ve realmente con
- saltitos porque debe ser mostrado a 59.94 campos por segundo, lo que
- hace que los marcos duplicados no estén durante mucho tiempo en pantalla.
- </para>
-
- <para>
- En cualquier caso, es mejor considerar su contenido y cómo quiere
- mostrarlo. Si su video es 90% progresivo y no tiene intención de
- mostrarlo en una TV, deberÃa usar una aproximación progresiva. Si
- es solo la mitad progresivo, probablemente querrá codificarlo como
- está si todo está entrelazado.
- </para>
- </listitem>
-
-<listitem><para>
- Trátelo como entrelazado. Algunas caracterÃsticas de las partes
- progresivas serán tratadas por duplicado, resultando en una imagen
- a saltos. De nuevo, los filtros de desentrelazado pueden degradar
- ligeramente las partes progresivas.
- </para></listitem>
-
-</itemizedlist>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Notas a pie de página</title>
-<orderedlist>
-<listitem><formalpara>
- <title>Acerca del recortado:</title>
- <para>
- Los datos de video de los DVDs son almacenados en un formato llamado
- YUV 4:2:0. En video YUV, la luminancia ("brillo") y la
- crominancia ("color") se almacenan por separado. Debido
- a que el ojo humano es menos sensible al color que al brillo, en una
- imagen YUV 4:2:0 hay solo un pixel de crominancia por cada cuatro de
- luminancia (dos por lado) teniendo el pixel de crominancia común.
- Debe recortar YUV progresivo 4:2:0 a resoluciones pares, e incluso usar
- desplazamientos pares. Por ejemplo, <option>crop=716:380:2:26</option>
- es CORRECTO pero <option>crop=716:380:3:26</option> no lo es.
- </para>
- </formalpara>
-
- <para>
- Cuando esté tratando con YUV 4:2:0 entrelazado, la situación es un
- poco más complicada. En lugar de cada cuatro pixels de luminancia en
- el <emphasis>marco</emphasis> compartiendo uno de crominancia, cada
- cuatro de luminancia en cada <emphasis>campo</emphasis> comparten un
- pixel de crominancia. Cuando los campos son entrelazados para formar
- un marco, cada scanline es un pixel de alta. Ahora, en lugar de cada
- cuatro pixels de luminancia en un cuadrado, hay dos pixels lado-a-lado,
- y los otros dos pixels están lado-a-lado dos scanlines más abajo. Los dos
- pixels de luminancia en la scanline intermedia son del otro campo, y
- por eso comparten un pixel distinto de crominancia con dos pixels de
- luminancia dos scanlines más allá. Toda esta confusión hace necesario
- tener dimensiones y desplazamientos de recorte vertical en múltiplos
- de cuatro. El horizontal puede quedarse igual.
- </para>
-
- <para>
- Para video en telecine, recomiendo que se recorte después de hacer
- la inversión del telecine. Una vez que el video es progresivo solo
- necesita recortar con números pares. Si realmente quiere ganar algo
- de velocidad más que lo que el primer recortado puede ofrecer, debe
- recortar verticalmente en múltiplos de cuatro o bien usar el filtro
- de telecine-inverso con los datos apropiados.
- </para>
-
- <para>
- Para video entrelazado (no telecine), siempre debe recortar
- verticalmente por múltiplos de cuatro a menos que use
- <option>-vf field</option> antes de recortar.
- </para>
- </listitem>
-
-<listitem><formalpara>
- <title>Acerca de los parámetros de codificado y la calidad:</title>
- <para>
- Solo porque yo recomiendo <option>mbd=2</option> aquà no significa que
- deba ser usado siempre. Junto con <option>trell</option>,
- <option>mbd=2</option> es una de las dos opciones de
- <systemitem class="library">libavcodec</systemitem> que pueden
- incrementar la calidad, y siempre debe usar al menos estos dos
- a menos que la pérdida de velocidad sea prohibitiva (e.g. codificación
- en tiempo real). Hay muchas otras opciones para
- <systemitem class="library">libavcodec</systemitem> que incrementan
- la calidad de la codificación (e incrementa la velocidad de la codificación)
- pero eso queda más allá del objeto de este documento.
- </para>
- </formalpara>
- </listitem>
-
-</orderedlist>
-
-</sect2>
-
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/es/ports.xml b/DOCS/xml/es/ports.xml
deleted file mode 100644
index 1f1b6f1..0000000
--- a/DOCS/xml/es/ports.xml
+++ /dev/null
@@ -1,416 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.38 -->
-<chapter id="ports" xreflabel="Ports">
-<title>Adaptaciones</title>
-
-<sect1 id="linux">
-<title>Linux</title>
-<para>
-La principal plataforma de desarrollo es Linux en x86, sin embargo
-<application>MPlayer</application> funciona en muchas otras adaptaciones de
-Linux. Los paquetes binarios de <application>MPlayer</application> están
-disponibles desde muchos sitios. Sin embargo <emphasis role="bold">ninguno
-de estos paquetes tiene soporte</emphasis>. Reporte los problemas a sus
-autores, no a nosotros.
-</para>
-
-<sect2 id="debian">
-<title>Empaquetado para Debian</title>
-<para>
-Para construir un paquete de Debian, ejecute la siguiente órden en el directorio
-de fuentes de <application>MPlayer</application>:
-<screen>fakeroot debian/rules binary</screen>
-Y después puede instalar el paquete <filename>.deb</filename> como root de la
-manera habitual:
-<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
-</para>
-
-<para>
-Christian Marillat ha hecho los paquetes no oficiales de
-<application>MPlayer</application> para Debian, de
-<application>MEncoder</application> y de tipografÃas para que en un momento,
-pueda (apt-)obtenerlos desde su <ulink url="http://marillat.free.fr/">página
-personal</ulink>.
-</para>
-</sect2>
-
-<sect2 id="rpm">
-<title>Empaquetado RPM</title>
-<para>
-Dominik Mierzejewski ha creado y mantiene los paquetes oficiales RPM para Red Hat de
-<application>MPlayer</application>. Están disponibles en su
-<ulink url="http://greysector.rangers.eu.org/mplayer.html">página personal</ulink>.
-</para>
-
-<para>
-Los paquetes RPM para Mandrake están disponibles en el
-<ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
-SuSE los usa para incluir una versión mutilada de
-<application>MPlayer</application> en su distribución.
-Esta versión será eliminada en sus próximas liberaciones. Puede obtener RPMs
-que funcionan desde
-<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
-</para>
-</sect2>
-
-<sect2 id="arm_linux">
-<title>ARM Linux</title>
-<para>
-<application>MPlayer</application> funciona en PDAs con Linux en CPU ARM p.e.
-Sharp Zaurus, Compaq Ipaq. La manera más facil de obtener
-<application>MPlayer</application> es bajarlo desde uno de los sitios de
-paquetes de <ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. Si
-desea compilarlo usted mismo, debe mirar en
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
-y el directorio
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
-en el raiz de la distribución de OpenZaurus. Ahà siempre tienen los Makefile
-y parches más recientes usados para construir un
-<application>MPlayer</application> desde CVS con
-<systemitem class="library">libavcodec</systemitem>.
-Si necesita un entorno GUI, puede usar xmms-embebido.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="bsd">
-<title>*BSD</title>
-<para>
-<application>MPlayer</application> funciona en FreeBSD, OpenBSD, NetBSD,
-BSD/OS y Darwin. Hay versiones ports/pkgsrc/fink/etc de
-<application>MPlayer</application> disponibles que son probablemente más
-faciles de usar que nuestras fuentes en crudo.
-</para>
-
-<para>
-Para construir <application>MPlayer</application> necesita GNU make (gmake -
-el make nativo de BSD no funciona) y una versión reciente de binutils.
-</para>
-
-<para>
-Si <application>MPlayer</application> se queja de que no encuentra
-<filename>/dev/cdrom</filename> o <filename>/dev/dvd</filename>,
-cree un enlace simbólico apropiado:
-<screen>ln -s /dev/<replaceable>(su_dispositivo_de_cdrom)</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
-Para usar DLLs Win32 con <application>MPlayer</application> necesita
-re-compilar el kernel con la "<envar>opción USER_LDT</envar>"
-(a no ser que ejecute FreeBSD-CURRENT, donde es asà por defecto).
-</para>
-
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-<para>
-Si su CPU tiene SSE, recompile el kernel con
-"<envar>la opción CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE o parches
-del kernel son requeridos).
-</para>
-</sect2>
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-<para>
-Debido a limitaciones en diferentes versiones de gas (relocalización frente a MMX),
-puede ser necesario compilar en dos pasos: Primero asegúrate de que el no-nativo
-está el primero en tu <envar>$PATH</envar> y haz <command>gmake -k</command>, después
-asegúrate de que la versión nativa es la que se usa y haz <command>gmake</command>.
-</para>
-</sect2>
-
-<sect2 id="darwin">
-<title>Darwin</title>
-<para>
-Vea la sección <link linkend="macos">Mac OS</link>.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="solaris">
-<title>Sun Solaris</title>
-<para>
-<application>MPlayer</application> deberÃa funcionar en Solaris 2.6 o posterior.
-</para>
-
-<para>
-En <emphasis role="bold">UltraSPARCs</emphasis>,
-<application>MPlayer</application> tiene la ventaja de las extensiones
-<emphasis role="bold">VIS</emphasis> (equivalentes a MMX), actualmente
-solo en
-<systemitem class="library">libmpeg2</systemitem>,
-<systemitem class="library">libvo</systemitem> y
-<systemitem class="library">libavcodec</systemitem>, pero no en
-<systemitem class="library">mp3lib</systemitem>. Puede ver un archivo
-VOB en una CPU a 400MHz. Necesita tener
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
-instalado.
-</para>
-
-<para>
-Para contruir el paquete necesita GNU <application>make</application>
-(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), el make
-nativo de Solaris no funciona. Errores tÃpicos que puede obtener construyendo
-con el make de Solaris en lugar de con el make de GNU:
-<screen>
- % /usr/ccs/bin/make
- make: Error fatal en lector: Makefile, lÃnea 25: Fin de lÃnea visto inesperado
-</screen>
-</para>
-
-<para>
-En Solaris SPARC, necesita el Compilador GNU C/C++; no importa si el compilador
-GNU C/C++ está configurado con o sin el ensamblador GNU.
-</para>
-
-<para>
-En Solaris x86, necesita el ensamblador GNU y el compilador GNU C/C++,
-¡configurado para usar el ensamblador GNU! El código de
-<application>MPlayer</application> en la plataforma
-x86 hace dificil el uso de las instrucciones de MMX, SSE y 3DNOW! que no puede
-ser compilado usando el ensamblador de Sun <filename>/usr/ccs/bin/as</filename>.
-</para>
-
-<para>El script <filename>configure</filename> intenta encontrarlo, qué
-programa ensamblador es usado por tu órden "gcc" (en caso de que la
-autodetección falle, use la opción
-<option>--as=<replaceable>/donde/este/instalado/gnu-as</replaceable></option>
-para decirle al script <filename>configure</filename> donde puede encontrar el "as"
-de GNU en su sistema).
-</para>
-
-<para>
-Mensaje de error de <filename>configure</filename> en un sistema Solaris x86
-usando GCC sin el ensamblador GNU:
-<screen>
- % configure
- ...
- Comprobando ensamblador (/usr/ccs/bin/as) ... , fallo
- Por favor, actualice(baje versión) de binutils a 2.10.1...
-</screen>
-(Solución: Instalar y usar un gcc configurado con <option>--with-as=gas</option>)
-</para>
-
-<para>
-Error tÃpico que se obtiene cuando se construye con un compilador GNU C que no
-usa GNU as:
-<screen>
- % gmake
- ...
- gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
- Assembler: mplayer.c
- "(stdin)", line 3567 : Illegal mnemonic
- "(stdin)", line 3567 : Error de sintaxis
- ... más errores "Illegal mnemonic" y "Error de sintaxis" ...
-</screen>
-</para>
-
-<para>
-Debido a fallos en Solaris 8, puede que no se puedan reproducir discos DVD mayores
-de 4 GB:
-</para>
-
-<itemizedlist>
-<listitem><para>
-El controlador sd(7D) en Solaris 8 x86 tiene un error cuando accede a un bloque
-de disco >4GB en un dispositivo usando un tamaño de bloque lógico != DEV_BSIZE
-(p.e. CD-ROM y medios DVD). Debido a un error de desbordamiento de entero de
-32Bit, un módulo de 4GB de dirección de disco es accedido.
-(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
-Este problema no existe en la versión SPARC de Solaris 8.
-</para></listitem>
-
-<listitem><para>
-Un error similar está presente en el código de sistema de archivos hsfs(7FS)
-(aka ISO9660), hsfs no puede soportar particiones/discos mayores de 4GB, todos
-los datos se acceden módulo 4GB
-(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
-El problema hsfs puede ser corregido instalando el parche 109764-04 (sparc) /
-109765-04 (x86).
-</para></listitem>
-</itemizedlist>
-
-<para>
-En Solaris con una CPU UltraSPARC, puede obtener alguna velocidad extra usando
-las instrucciones VIS de la CPU para algunas operaciones que consumen un tiempo.
-La acelación VIS puede ser usada en <application>MPlayer</application>
-llamando a funciones en la
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</ulink> de Sun.
-</para>
-
-<para>
-Las operaciones aceleradas de mediaLib son usadas por el decodificador mpeg2 de
-video y por la conversión en espacio de color en los controladoers de salida de
-video.
-</para>
-</sect1>
-
-<sect1 id="hpux">
-<title>HP UX</title>
-<para>
-Martin Gansser mantiene un
-<ulink url="http://cloud.prohosting.com/patos/docs/mplayer_on_hpux11.htm">COMO</ulink>
-de mucho valor acerca de cómo compilar <application>MPlayer</application> en HP-UX. ¡Tiene
-incluso una sección de FAQ!
-</para>
-
-<para>
-De todos modos, nuestro código crudo de <application>MPlayer</application> se usa para
-compilar en HP-UX sin problemas.
-</para>
-</sect1>
-
-<sect1 id="qnx">
-<title>QNX</title>
-<para>
-Funciona. Necesita descargar SDL para QNX, e instalarlo. Después ejecute
-<application>MPlayer</application> con las opciones <option>-vo sdl:photon</option>
-y <option>-ao sdl:nto</option> y debe ir rápido.
-</para>
-
-<para>
-La salida <option>-vo x11</option> puede ser más lenta que en Linux, porque QNX
-solo tiene <emphasis>emulación</emphasis> de X que es MUY lenta. Use SDL.
-</para>
-</sect1>
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>SÃ, <application>MPlayer</application> funciona en Windows bajo
- <ulink url="http://www.cygwin.com/">Cygwin</ulink> y
- <ulink url="http://www.mingw.org/">MinGW</ulink>.
- No tiene aún una interfaz gráfica (GUI), pero la versión en lÃnea de órdenes
- es casi completamente funcional. <ulink url="../../tech/patches.txt">Los parches</ulink>
- son siempre bienvenidos. Debe consultar también la lista de correo
- <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</ulink>
- para obtener ayuda y la información de última hora.</para>
-
-<para>Se obtienen mejores resultados con el controlador de salida DirectX nativo
- (<option>-vo directx</option>) y el controlador nativo de salida de audio de
- Windows (<option>-ao win32</option>). Alternativas son OpenGL y SDL, pero el
- rendimiento de OpenGL varÃa en gran medida entre sistemas y se sabe que SDL
- distorsiona el sonido y la imagen o bloquea algunos sistemas. Si la imagen se ve
- distorsionada, pruebe a desactivar la aceleración por hardware con
- <option>-vo directx:noaccel</option>.
- Descargue
- <ulink url="http://www.videolan.org/vlc/dx7headers.tgz">los archivos de cabecera de DirectX 7</ulink>
- para compilar el controlador de salida de video de DirectX.</para>
-
-<para>PUede usar codecs Win32 y Real Win32 (los Real de Linux no) si lo desea. Ponga
- los codecs en algún lugar de su ruta/path o
- pase la opción <option>--codecsdir=<replaceable>c:/ruta/a/sus/codecs</replaceable></option>
- (alternativamente
- <option>--codecsdir=<replaceable>/ruta/a/sus/codecs</replaceable></option> solo en Cygwin) a
- <filename>configure</filename>. Tenemos informes de que las DLLs de Real
- deben tener permisos de escritura para el usuario que usa
- <application>MPlayer</application>, pero solo en algunos sistemas.
- Pruebe ha dar permisos de escritura si tiene problemas. Las DLLs de
- QuickTime también funcionan, pero debe colocarlas en su directorio de
- sistema de Windows
- (<filename class="directory"><replaceable>C:\Windows\system\</replaceable></filename>
- o similar).</para>
-
-<para>La consola de Cygwin/MinGW es extrañamente lenta. Redirigir la salida o usar
- la opción <option>-quiet</option> se ha informado que mejora el rendimiento en algunos
- sistemas. El renderizado directo (<option>-dr</option>) también puede ayudar.
- Puede prevenir el parpadeo de OSD a través de doble buffer con la opción
- <option>-double</option>. Si la reproducción va a saltos, pruebe
- <option>-autosync 100</option>. Si alguna de estas opciones le ayuda, puede que
- desee ponerlas en su archivo de configuración.</para>
-
-<para>Sascha Sommer libera binarios oficiales para Windows de vez en
- cuando, Joey Parrish hace paquetes completos para Windows no oficiales
- con instalador. Búsquelos en la sección de Windows de
- <ulink url="http://www.mplayerhq.hu/projects.html#windows">nuestra
- página de proyectos</ulink>.</para>
-
-<sect2 id="cygwin">
-<title>Cygwin</title>
-
-<para>Versiones de <application>Cygwin</application> anteriores a la
- 1.5.0 no incluyen <filename>inttypes.h</filename>. Ponga esto
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/inttypes.h">inttypes.h</ulink>
- en <filename class="directory">/usr/include/</filename> para hacer que
- <application>MPlayer</application> compile.</para>
-
-<para>Los archivos de cabecera de DirectX han de ser extraidos a
- <filename class="directory">/usr/include/</filename> o a
- <filename class="directory">/usr/local/include/</filename>.</para>
-
-<para>Las instrucciones y los archivos para hacer que SDL funcione bajo Cygwin pueden
- encontrarse en el
- <ulink url="http://www.libsdl.org/extras/win32/cygwin/">sitio de libsdl</ulink>.</para>
-
-<para>Puede reproducir VCDs reproduciendo los archivos <filename>.DAT</filename> o
- <filename>.MPG</filename> que Windows muestra en los VCDs. Esto funciona de la
- siguiente manera (ajuste para la letra de unidad de su CD-ROM):</para>
-
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-
-<screen>mplayer <replaceable>/cygdrive/d/MPEG2/AVSEQ01.MPG</replaceable></screen>
-
-<para>Para DVDs también funciona, ajuste <option>-dvd-device</option> para la letra
- de unidad de su DVD-ROM:</para>
-
-<screen>mplayer dvd://<replaceable><tÃtulo></replaceable> -dvd-device '\\.\d:'</screen>
-
-</sect2>
-
-
-<sect2 id="mingw">
-<title>MinGW</title>
-
-<para>Instalar una versión de MinGW que pueda usarse para compilar
- <application>MPlayer</application> es bastante artificioso, pero ya
- funciona fuera de la caja. Solo instale MinGW 3.1.0 o posterior y MSYS
- 1.0.9 o posterior y diga a MSYS en la postinstalación que MinGW
- está instalado.</para>
-
-<para>Si usa una versión de MinGW anterior a la 3.1.0, necesita reemplazar
- <filename>/mingw/include/sys/types.h</filename> con esta
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/types.h">
- <filename>types.h</filename></ulink>.</para>
-
-<para>Extraiga los archivos de cabecera de DirectX a
- <filename class="directory">/mingw/include/</filename>.</para>
-
-<para>VCDs y DVDs funcionan casi como en Cygwin (ajustando la letra de la unidad de su
- CD-ROM/DVD-ROM):</para>
-
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-
-<screen>mplayer <replaceable>/d/MPEG2/AVSEQ01.MPG</replaceable></screen>
-
-<screen>mplayer dvd://i<replaceable><tÃtulo></replaceable> -dvd-device <replaceable>/d/</replaceable></screen>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="macos">
-<title>Mac OS</title>
-<para>
-Solo Mac OS X 10.2 y superiores están soportados por el código en crudo
-de <application>MPlayer</application>. ¡Siéntase libre para añadir soporte
-para versiones más antiguas de Mac OS y envÃe parches!
-</para>
-
-<para>
-El GCC 3.x modificado por Apple es el preferido para compilar
-<application>MPlayer</application> especialmente usando
-<systemitem class="library">libavcodec</systemitem> ya que
-el GCC 2.95.x modificado por Apple no soporta bien la sintaxis C99.
-</para>
-
-<para>
-Solo puede obtener un GUI Aqua para <application>MPlayer</application> junto con los
-binarios compilados de <application>MPlayer</application> para Mac OS X desde el
-proyecto <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>.
-</para>
-
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/es/skin.xml b/DOCS/xml/es/skin.xml
deleted file mode 100644
index 09f9da9..0000000
--- a/DOCS/xml/es/skin.xml
+++ /dev/null
@@ -1,1126 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.7 -->
-<appendix id="skin">
-<title>Formato del skin de <application>MPlayer</application></title>
-<para>
-El propósito de este documento es describir el formato de los skin
-de <application>MPlayer</application>. La información contenida aquÃ
-puede ser errónea, porque
-<orderedlist>
-<listitem><para>No soy yo quien ha escrito el GUI.</para></listitem>
-<listitem><para>El GUI no está terminado.</para></listitem>
-<listitem><para>Puedo equivocarme.</para></listitem>
-</orderedlist>
-No se sorprenda si algo no funciona como se describe aquÃ.
-</para>
-
-<para>Gracias a <emphasis>Zoltán Ponekker</emphasis> por su ayuda.</para>
-
-<para><emphasis>András Mohari <mayday at freemail.hu></emphasis></para>
-
-<sect1 id="skin-overview">
-<title>Visión general</title>
-<para>
-Realmente no hay nada que hacer con el formato del skin, pero debe saber
-que MPlaner <emphasis role="bold">no</emphasis> tiene un skin integrado,
-por eso <emphasis role="bold">al menos un skin debe estar instalado para
-poder usar el GUI.</emphasis>
-</para>
-
-<sect2 id="skin-overview-directories">
-<title>Directorios</title>
-<para>
-Los directorios donde se buscan los skins son (en orden):
-<orderedlist>
-<listitem><para>
-<filename class="directory">$(DATADIR)/skins/</filename>
-</para></listitem>
-<listitem><para>
-<filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
-</para></listitem>
-<listitem><para>
-<filename class="directory">~/.mplayer/skins/</filename>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Tenga en cuenta que la primera ruta puede variar de acuerdo a cómo fue
-configurado <application>MPlayer</application> (vea los argumentos
-<option>--prefix</option> y <option>--datadir</option> del script
-<command>configure</command>).
-</para>
-
-<para>
-Todo skin es instalado en su propio directorio bajo uno de los directorios
-listados más arriba, por ejemplo:
-<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
-</para>
-</sect2>
-
-<sect2 id="skin-overview-formats">
-<title>Formato de las imágenes</title>
-<para>Las imágenes deben ser PNGs a color verdadero (24 or 32 bpp).</para>
-<para>
-En la ventana principal y en la barra de reproducción (ver más abajo) puede
-usar imágenes con `transparencia': Regiones rellenas con color #FF00FF
-(magenta) son completamente transparentes cuando se ven con
-<application>MPlayer</application>. Esto significa que puede incluso tener
-ventanas con formas si su servidor X tiene la extensión XShape.
-</para>
-</sect2>
-
-<sect2 id="skin-overview-components">
-<title>Componentes del skin</title>
-<para>
-Los skins son formatos bastante libres (no como otros skins de formato
-fijo de <application>Winamp</application>/<application>XMMS</application>,
-por ejemplo), de manera que pueda crear algo grande.
-</para>
-
-<para>
-Actualmente hay tres ventanas que decorar: la
-<link linkend="skin-file-main">ventana principal</link>, la
-<link linkend="skin-file-subwindow">subventana</link>, la
-<link linkend="skin-file-main">barra de reproducción</link>, y el
-<link linkend="skin-file-menu">skin del menú</link> (que puede activarse
-con clic derecho).
-
-<itemizedlist>
-<listitem><para>
- La <emphasis role="bold">ventana principal</emphasis> y/o la
- <emphasis role="bold">barra de reproducción</emphasis> es donde puede
- controlar <application>MPlayer</application>. El fondo de la ventana es
- una imagen. Varios objetos pueden (y deben) ser colocados en la ventana:
- <emphasis>botones</emphasis>, <emphasis>medidores</emphasis>
- (desplazables) y <emphasis>etiquetas</emphasis>. Para cada objeto, debe
- especificar su posición y tamaño.
-</para><para>
- Un <emphasis role="bold">botón</emphasis> tiene tres estados (pulsado, soltado,
- desactivado), por eso la imagen debe estar dividida en tres partes verticalmente.
- Vea el objeto <link linkend="skin-button">botón</link> para detalles.
-</para><para>
- Un <emphasis role="bold">medidor</emphasis> (usado principalmente para la barra
- de búsqueda y el control de volumen/balance) puede tener cualquier número de fases
- dividiendo su imagen en diferentes partes unas debajo de otras. Vea
- <link linkend="skin-hpotmeter">hpotmeter</link> y
- <link linkend="skin-potmeter">potmeter</link> para detalles.
-</para><para>
- <emphasis role="bold">Etiquetas</emphasis> son un poco especiales: Los caractere
- necesarios para pintarlas se toman de un archivo de imagen, y los caracteres en
- la imagen son descritos por un <link linkend="skin-fonts">archivo de descriptión
- de tipografÃa</link>. Lo último es un archivo de texto plano que especifica la
- posición x,y y el tamaño de cada carater en la imagen (el archivo de imagen y su
- archivo de descripción de tipografÃa forman <emphasis>juntos</emphasis> un tipo
- de letra). Vea <link linkend="skin-dlabel">dlabel</link> y
- <link linkend="skin-slabel">slabel</link> para detalles.
-</para>
-<note><para>Todas las imágenes pueden tener transparencia completa como se describe
- en la sección que habla de <link linkend="skin-overview-formats">formatos
- de imagen</link>. Si el servidor X no soporta la extensión XShape, las partes
- marcadas como transparentes se verán negras. Si le gusta usar esta caracterÃstica,
- el ancho del fondo de la imagen de la ventana principal debe ser divisible por 8.
-</para></note>
-</listitem>
-
-<listitem><para>
- La <emphasis role="bold">subventana</emphasis> es donde aparece la pelÃcula.
- Puede mostrar una imagen especÃfica si no hay pelÃcula cargada (es bastante
- aburrido tener una ventana vacÃa :-)) <emphasis role="bold">Nota:</emphasis>
- la transparencia <emphasis role="bold">no está permitida</emphasis> aquÃ.
-</para></listitem>
-
-<listitem><para>
- El <emphasis role="bold">skin del menú</emphasis> es una forma de controlar
- <application>MPlayer</application> con entradas de menú. Dos imágenes son
- requeridas para el menú: una es la imagen base que muestra el menú en su
- estado normal, la otra es usada para mostrar las entradas seleccionadas.
- Cuando hace salir el menú, la entrada seleccionada actualmente es copiada
- desde la segunda imagen sobre la entrada de menú que hay bajo el puntero
- del ratón (la segunda imagen nunca se muestra entera).
-</para><para>
- Una entrada de menú se define por su posición y tamaño en la imagen (vea la
- sección que habla del <link linkend="skin-file-menu">skin del menú</link>
- para detalles).
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
- Hay algo importante que aún no he mencionado: Para que los botones, medidores
- deposición y entradas de menú funcionen, <application>MPlayer</application>
- tiene que saber qué hacer cuando se hace clic en ellos. Esto se hace con
- <link linkend="skin-gui">mensajes</link> (eventos). Para estos objetos
- debe definir los mensajes que se generan cuando se hace clic en ellos.
-</para>
-</sect2>
-
-<sect2 id="skin-files">
-<title>Archivos</title>
-<para>
-Necesita los siguientes archivos para construir un skin:
-<itemizedlist>
-<listitem><para>
- El archivo de configuración llamado <link linkend="skin-file">skin</link>
- le dice a <application>MPlayer</application> cómo poner las diferentes
- partes del skin juntas y qué debe hacer cuando se hace clic en alguna
- parte de la ventana.
-</para></listitem>
-<listitem><para>
- La imagen de fondo para la ventana principal
-</para></listitem>
-<listitem><para>
- Imágenes para los objetos en la ventana principal (incluyendo uno o más
- archivos de descripción de tipografÃa necesarios para dibujar las etiquetas).
-</para></listitem>
-<listitem><para>
- La imagen que se mostrará en la subventana (opcional).
-</para></listitem>
-<listitem><para>
- Dos imágenes para el skin del menú (son necesarias solo si quiere crear
- un menú).
-</para></listitem>
-</itemizedlist>
- Con la excepción del archivo de configuración del skin, puede nombrar
- los otros archivos como quiera (pero note que los archivos de descripción
- de tipografÃa deben tener extensión <filename>.fnt</filename>).
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="skin-file">
-<title>El archivo de skin</title>
-<para>
-Como se menciona más arriba, este es el archivo de configuración del skin.
-Su orientación en lineal; las lÃneas que son comentarios comienzan por
-un caracter '<literal>;</literal>' al principio de la lÃnea (solo espacios
-y tabuladores están permitidos antes del '<literal>;</literal>').
-</para>
-
-<para>
-El archivo está dividido en secciones. Cada sección describe el skin para
-una aplicación y tiene la siguiente forma:
-<programlisting>
-section = <replaceable>nombre de la sección</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-Actualmente solo hay una aplicación, por lo que necesita una sola sección: su nombre
-es <emphasis role="bold">movieplayer</emphasis>.
-</para>
-
-<para>
-Dentro de esta sección cada ventana está descrita por un bloque de la siguiente forma:
-<programlisting>
-window = <replaceable>nombre de la ventana</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-donde <replaceable>nombre de la ventana</replaceable> puede ser una de las siguientes
-cadenas de texto:
-<itemizedlist>
-<listitem><para><emphasis role="bold">main</emphasis> - para la ventana principal</para></listitem>
-<listitem><para><emphasis role="bold">sub</emphasis> - para la subventana</para></listitem>
-<listitem><para><emphasis role="bold">menu</emphasis> - para el skin del menú</para></listitem>
-<listitem><para><emphasis role="bold">playbar</emphasis> - barra de reproducción</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-(Los bloques sub y menú son opcionales - no necesita crear un menú o decorar
-la subventana.)
-</para>
-
-<para>
-Dentro de un bloque de ventana, puede definir cada objeto para la ventana con
-una lÃnea del siguiente modo:
-<programlisting>objeto = parámetro</programlisting>
-Donde <literal>objeto</literal> es una cadena que identifica el tipo de objeto GUI,
-<literal>parámetro</literal> es un valor numérico o textual (o una lista
-de valores separados por comas).
-</para>
-
-<para>
-Poniendo todo lo de arriba jutno, el archivo entero quedará algo similar a esto:
-<programlisting>
-section = movieplayer
- window = main
- ; ... objetos para la ventana principal ...
- end
-
- window = sub
- ; ... objetos para la subventana ...
- end
-
- window = menu
- ; ... objetos para el menú ...
- end
-
- window = playbar
- ; ... objetos para la barra de reproducción ...
- end
-end
-</programlisting>
-</para>
-
-<para>
-El nombre de un archivo de imagen se debe dar sin los directorios - las imágenes
-se buscan en el directorio <filename class="directory">skins</filename>.
-También puede (pero necesita ser root) especificar la extensión del archivo. Si
-el archivo no existe, <application>MPlayer</application> intentará cargar el
-archivo
-<filename><filename>.<ext></filename>, donde <literal>png</literal>
-y <literal>PNG</literal> son probados para <filename><ext></filename>
-(en ese orden). El primer nombre de archivo que coincida será el que se use.
-</para>
-
-<para>
-Finalmente unas palabras acerca del posicionamiento. La ventana principal y la
-subventana pueden ser colocadas en las diferentes esquinas de la pantalla dando
-las coordenadas <literal>X</literal> e <literal>Y</literal> . <literal>0</literal>
-es arriba o izquierda, <literal>-1</literal> es el centro y <literal>-2</literal>
-es a la derecha o abajo, como se muestra en la ilustracion:
-</para>
-<informalfigure>
-<screen>
-(0, 0)----(-1, 0)----(-2, 0)
- | | |
- | | |
-(0,-1)----(-1,-1)----(-2,-1)
- | | |
- | | |
-(0,-2)----(-1,-2)----(-2,-2)
-</screen>
-</informalfigure>
-
-<para>
-Aquà tiene un ejemplo para clarificar esto. Suponga que tiene una imagen llamada
-<filename>main.png</filename> que usa para la ventana principal:
-<programlisting>base = main, -1, -1</programlisting>
-<application>MPlayer</application> intentará cargar los archivos
-<filename>main</filename>, <filename>main.png</filename>,
-<filename>main.PNG</filename>.
-</para>
-
-
-<sect2 id="skin-file-main">
-<title>Ventana principal y barra de reproducción</title>
-<para>
-Más abajo tiene la lista de entradas que pueden usarse en los bloques
-'<literal>window = main</literal>' ... '<literal>end</literal>',
-y '<literal>window = playbar</literal>' ... '<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-main-base"/>base = image, X, Y
- </literal></term>
- <listitem><para>
-Le permite especificar la imagen de fondo para usar en la ventana principal.
-La ventana aparecerá en la posición <literal>X,Y</literal> dada de la pantalla.
-La ventana tendrá el tamaño de la imagen.
- </para>
- <note><para>Estas coordenadas no funcionan actualmente para la ventana de
- reproducción.</para></note><warning><para>Las regiones transparentes en la
- imagen (coloreadas con #FF00FF) aparecen en negro en servidores X sin la
- extensión XShape. El ancho de la imagen debe ser divisible por 8.</para></warning>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-button"/>button = imagen, X, Y, ancho, alto, mensaje
- </literal></term>
- <listitem><para>
-Coloca un botón de tamaño <literal>ancho</literal> * <literal>alto</literal> en
-la posición <literal>X,Y</literal>. El <literal>mensaje</literal> especificado
-es generado cuando se hace clic en el botón. La imagen dada en
-<literal>imagen</literal> debe tener tres partes una debajo de otra (de acuerdo con
-los posibles estados del botón), como esto:
-</para>
-<informalfigure>
-<screen>
-+--------------+
-| pulsado |
-+--------------+
-| soltado |
-+--------------+
-| desactivado |
-+--------------+
-</screen>
-</informalfigure>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-decoration"/>decoration = enable|disable
- </literal></term>
- <listitem><para>
-Activa o desactiva la decoración del administrador de ventanas para la
-ventana principal. Por defecto toma el valor <emphasis role="bold">disable</emphasis>.
- </para>
- <note><para>Esto no funciona para la ventana de reproducción, no lo necesita.</para></note>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-hpotmeter"/>hpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje
- </literal></term>
- <listitem><para>
-
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-vpotmeter"/>vpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje
- </literal></term>
- <listitem><para>
-Coloca un medidor horizontal (hpotmeter) o vertical (vpotmeter) de tamaño
-<literal>ancho</literal> * <literal>alto</literal> en la posición
-<literal>X,Y</literal>. La imagen puede ser dividida en diferentes partes para
-las diferentes fases del medidor (por ejemplo, puede tener un medidor para
-el control del volumen que vaya de verde a rojo mientras sus valores cambian
-desde el mÃnimo al máximo.). <literal>hpotmeter</literal> puede tener un botón
-que se desplaze horizontalmente. Los parámetros son:
- </para>
- <itemizedlist>
- <listitem><para><literal>botón</literal> - la imagen que se usará para el
- botón (debe tener tres partes una debajo de otra, como en el caso de
- <link linkend="skin-button">botón</link>)
- </para></listitem>
- <listitem><para><literal>bancho</literal>,<literal>balto</literal> - tamaño
- del botón
- </para></listitem>
- <listitem><para><literal>fases</literal> - la imagen que se usará para las
- diferentes fases del medidor horizontal. Un valor especial <literal>NULL</literal>
- puede usarse si no desea una imagen. La imagen debe estar dividida en
- <literal>numfasespartes</literal> verticalmente como esto:
- </para>
-<informalfigure>
-<screen>
-+------------+
-| fase #1 |
-+------------+
-| fase #2 |
-+------------+
- ...
-+------------+
-| fase #n |
-+------------+
-</screen>
-</informalfigure>
- </listitem>
- <listitem><para><literal>numfases</literal> - número de fases almacenadas en la
- imagen de <literal>fases</literal>
- </para></listitem>
- <listitem><para><literal>defecto</literal> - valor por defecto en el medidor
- (en el rango de <literal>0</literal> a <literal>100</literal>)
- </para></listitem>
- <listitem><para><literal>X</literal>,<literal>Y</literal> - posición del medidor
- </para></listitem>
- <listitem><para><literal>ancho</literal>,<literal>alto</literal> - ancho y alto
- del <literal>medidor</literal>
- </para></listitem>
- <listitem><para><literal>mensaje</literal> - el mensaje que se ha de generar cuando
- se cambia el valor del <literal>hpotmeter</literal>
- </para></listitem>
- </itemizedlist>
-
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-potmeter"/>potmeter = fases, numfases, defecto, X, Y, ancho, alto, mensaje
- </literal></term>
- <listitem><para>
-Un <literal>hpotmeter</literal> sin un botón. (Creo que está hecho para hacer una especie
-de botón que gire sobre sà mismo, pero reacciona a arrastre horizontal solamente). Para la
-descripción de los parámetros vea <link linkend="skin-hpotmeter">hpotmeter</link>.
-<literal>fases</literal> puede ser <literal>NULL</literal>, pero es poco útil,
-porque no le permite ver donde está establecido el valor del <literal>potmeter</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-font"/>font = fontfile, fontid
- </literal></term>
- <listitem><para>
-Define una tipografÃa. <literal>fontfile</literal> es el nombre del archivo de
-descripción de la tipografÃa con extensión <filename>.fnt</filename> (no especifique
-la extensión aquÃ). <literal>fontid</literal> es usado para referirse a la tipografÃa
-(vea <link linkend="skin-dlabel">dlabel</link> y <link linkend="skin-slabel">slabel</link>).
-Pueden definirse hasta 25 tipografÃas.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-slabel"/>slabel = X, Y, fontid, "text"
- </literal></term>
- <listitem><para>
-Coloca una etiqueta estática en la posición <literal>X,Y</literal>. <literal>text</literal>
-se muestra usando la tipografÃa identificada con <literal>fontid</literal>. El texto es
-una cadena de texto en crudo (variables como <literal>$x</literal> no funcionarán) que debe
-ser encerrada entre comillas dobles (el caracter " no puede ser parte del texto).
-La etiqueta es mostrada usando la tipografÃa identificada por <literal>fontid</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, "text"
- </literal></term>
- <listitem>
-<para>
-Coloca una etiqueta dinámica en la posición <literal>X,Y</literal>. La etiqueta se
-llama dinámica porque su texto es refrescado periódicamente. La longitud máxima de la
-etiqueta viene dada por <literal>length</literal> (su altura es la altura de un caracter).
-Si el texto que ha de ser mostrado es más ancho que esta, será desplazado,
-si no será alineado dentro del espacio especificado por el valor del parámetro
-<literal>align</literal>: <literal>0</literal> es para derecha,
-<literal>1</literal> para centrado, <literal>2</literal> para izquierda.
-</para>
-<para>
-El texto que ha de ser mostrado viene dado por <literal>text</literal>: Debe ser
-escrito entre comillas dobles (por eso el caracter " no puede ser parte del
-texto). La etiqueta es mostrada usando la tipografÃa identificada por
-<literal>fontid</literal>. Puede usar las siguientes variables en el texto:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Variable</entry><entry>Significado</entry></row>
-</thead>
-<tbody>
-<row>
-<entry>$1</entry>
-<entry>tiempo de reproducción en formato <emphasis>hh:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$2</entry>
-<entry>tiempo de reproducción en formato <emphasis>mmmm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$3</entry>
-<entry>tiempo de reproducción en formato <emphasis>hh</emphasis> (horas)</entry>
-</row>
-<row>
-<entry>$4</entry>
-<entry>tiempo de reproducción en formato<emphasis>mm</emphasis> (minutos)</entry>
-</row>
-<row>
-<entry>$5</entry>
-<entry>tiempo de reproducción en formato <emphasis>ss</emphasis> (segundos)</entry>
-</row>
-<row>
-<entry>$6</entry>
-<entry>longitud de pelÃcula en formato <emphasis>hh:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$7</entry>
-<entry>longitud de pelÃcula en formato <emphasis>mmmm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$8</entry>
-<entry>tiempo de reproducción en formato <emphasis>h:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$v</entry>
-<entry>volumen en formato <emphasis>xxx.xx</emphasis>%</entry>
-</row>
-<row>
-<entry>$V</entry>
-<entry>volumen en formato <emphasis>xxx.xx</emphasis></entry>
-</row>
-<row>
-<entry>$b</entry>
-<entry>balance en formato <emphasis>xxx.xx</emphasis>%</entry>
-</row>
-<row>
-<entry>$B</entry>
-<entry>balance en formato <emphasis>xxx.xx</emphasis></entry>
-</row>
-<row>
-<entry>$$</entry>
-<entry>el caracter $</entry>
-</row>
-<row>
-<entry>$a</entry>
-<entry>un caracter de acuerdo con el tipo de audio (ninguno: <literal>n</literal>,
-mono: <literal>m</literal>, estéreo: <literal>t</literal>)</entry>
-</row>
-<row>
-<entry>$t</entry>
-<entry>número de pista (en lista de reproducción)</entry>
-</row>
-<row>
-<entry>$o</entry>
-<entry>nombre del archivo</entry>
-</row>
-<row>
-<entry>$f</entry>
-<entry>nombre del archivo en minúsculas</entry>
-</row>
-<row>
-<entry>$F</entry>
-<entry>nombre del archivo en mayúsculas</entry>
-</row>
-<row>
-<entry>$T</entry>
-<entry>un caracter en función del tipo de flujo (archivo: <literal>f</literal>,
-Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
-</row>
-<row>
-<entry>$p</entry>
-<entry>el caracter <keycap>p</keycap> (si una pelÃcula está siendo mostrada y la
-tipografÃa tiene el caracter <keycap>p</keycap></entry>
-</row>
-<row>
-<entry>$s</entry>
-<entry>el caracter <keycap>s</keycap> (si la pelÃcula ha sido detenida y la
-tipografÃa tiene el caracter <keycap>s</keycap></entry>
-</row>
-<row>
-<entry>$e</entry>
-<entry>el caracter <keycap>e</keycap> (si se ha pausado la reproducción y la
-tipografÃa tiene el caracter <keycap>e</keycap></entry>
-</row>
-<row>
-<entry>$x</entry>
-<entry>ancho de la pelÃcula</entry>
-</row>
-<row>
-<entry>$y</entry>
-<entry>alto de la pelÃcula</entry>
-</row>
-<row>
-<entry>$C</entry>
-<entry>nombre del codec usado</entry>
-</row>
-
-</tbody>
-</tgroup>
-</informaltable>
-</listitem>
-
-</varlistentry>
-</variablelist>
-
-<note><para>
-Las variables <literal>$a, $T, $p, $s</literal> y <literal>$e</literal> devuelven
-caracteres que deben mostrarse como sÃmbolos especiales (por ejemplo, <keycap>e</keycap>
-es para el sÃmbolo de la pausa que normalmente es algo parecido a ||). Debe tener
-una tipografÃa para caracteres normales y una diferente para los sÃmbolos. Vea la
-sección acerca de <link linkend="skin-fonts-symbols">sÃmbolos</link> para más
-información.
-</para></note>
-</sect2>
-
-<sect2 id="skin-file-subwindow">
-<title>Subventana</title>
-<para>
-Las siguientes entradas pueden ser usadas en el bloque
-'<literal>window = sub</literal>' . . . '<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-sub-base"/>base = image, X, Y, width, height
- </literal></term>
- <listitem><para>
-La imagen que se mostrará en la ventana. La ventana aparecerá en la posición
-<literal>X,Y</literal> dada de la pantalla (<literal>0,0</literal> es la
-esquina arriba a la izquierda). Puede especificar <literal>-1</literal> para
-el centro y <literal>-2</literal> para el lado derecho (<literal>X</literal>) y
-abajo (<literal>Y</literal>). La ventana será tan grande como sea la imagen.
-<literal>width</literal> y <literal>height</literal> definen el tamaño de la ventana;
-son opcionales (si no se especifican, la ventana tendrá el mismo tamaño que la imagen).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-background"/>background = R, G, B
- </literal></term>
- <listitem><para>
-Le permite especificar el color de fondo. Es útil si la imagen es más pequeña
-que la ventana. <literal>R</literal>, <literal>G</literal> y <literal>B</literal>
-especifican los valores de las componentes de color para rojo, verde y azul (cada
-uno ha de tener un valor decimal de 0 a 255).
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<sect2 id="skin-file-menu">
-<title>Menú del skin</title>
-<para>
-Como se mencionó anteriormente, el menú es mostrado usando dos imágenes. Las entradas
-normales para el menú se toman de la imagen especificada por el objeto <literal>base</literal>,
-mientras que la entrada que actualmente esté seleccionada es tomada desde la imagen
-especificada por el objeto <literal>selected</literal>. Debe definir la posición y el
-tamaño de cada entrada de menú a través del objeto de menú.
-</para>
-
-<para>
-Las siguientes entradas pueden usarse en el bloque de
-'<literal>window = menu</literal>'. . .'<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu-base"/>base = image
- </literal></term>
- <listitem><para>
-La imagen para las entradas normales del menú.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-selected"/>selected = image
- </literal></term>
- <listitem><para>
-La imagen mostrando el menú con todas las entradas seleccionadas.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu"/>menu = X, Y, width, height, message
- </literal></term>
- <listitem><para>
-Define la posición <literal>X,Y</literal> y el tamaño de una entrada
-de menú en la imagen. <literal>message</literal> es el mensaje que ha de
-generarse cuando el ratón del botón es soltado sobre la entrada.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-<sect1 id="skin-fonts">
-<title>TipografÃas</title>
-<para>
-Como se mencionó en la sección acerca de las partes de un skin, una tipografÃa
-viene definida por una imagen y un archivo de descripción. Puede colocar caracteres
-en cualquier parte de la imagen, pero ha de asegurarse de que su posición y tamaño
-vienen dados en el archivo de descripción de manera exacta.
-</para>
-
-<para>
-El archivo de descripción de la tipografÃa (con extensión <filename>.fnt</filename>)
-puede tener lÃneas de comentarios que empiecen por '<literal>;</literal>'. El archivo
-debe tener una lÃnea en la forma
-<anchor id="skin-font-image"/>
-<programlisting>image = <replaceable>image</replaceable></programlisting>
-Donde <literal><replaceable>image</replaceable></literal> es el nombre del
-archivo de imagen que se usará para la tipografÃa (puede no especificar la extensión).
-<anchor id="skin-font-char"/>
-<programlisting>"char" = X, Y, width, height</programlisting>
-Aquà <literal>X</literal> e <literal>Y</literal> especifican la posición del
-caracter <literal>char</literal> en la imagen (<literal>0,0</literal> es la
-esquina superior izquierda). <literal>width</literal> y <literal>height</literal>
-son las dimensiones del caracter en pixels.
-</para>
-
-<para>
-Este ejemplo define los caracteres A, B, C usando <filename>font.png</filename>.
-<programlisting>
-; Puede ser "font" en lugar de "font.png".
-image = font.png
-
-; Tres caracteres son suficientes para el propósito de esta demostración :-)
-"A" = 0,0, 7,13
-"B" = 7,0, 7,13
-"C" = 14,0, 7,13
-</programlisting>
-</para>
-
-<sect2 id="skin-fonts-symbols">
-<title>SÃmbolos</title>
-<para>
-Algunos caracteres tienen significado especial cuando son devueltos por algunas
-de las variables usadas en <link linkend="skin-dlabel">dlabel</link>. Estos
-caracteres se deben mostrar como sÃmbolos para que parezca un bonito logotipo
-de DVD en lugar del caracter '<literal>d</literal>' para un flujo de DVD por ejemplo.
-</para>
-<para>
-La siguiente tabla lista todos los caracters que pueden ser usados para
-mostrar sÃmbolos (y que por lo tanto requieren una tipografÃa diferente).
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Caracter</entry><entry>SÃmbolo</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>p</keycap></entry><entry>play</entry></row>
-<row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
-<row><entry><keycap>e</keycap></entry><entry>pausa</entry></row>
-<row><entry><keycap>n</keycap></entry><entry>no sound</entry></row>
-<row><entry><keycap>m</keycap></entry><entry>mono sound</entry></row>
-<row><entry><keycap>t</keycap></entry><entry>stereo sound</entry></row>
-<row><entry><keycap>f</keycap></entry><entry>stream es un archivo</entry></row>
-<row><entry><keycap>v</keycap></entry><entry>stream es un Video CD</entry></row>
-<row><entry><keycap>d</keycap></entry><entry>stream es un DVD</entry></row>
-<row><entry><keycap>u</keycap></entry><entry>stream es una URL</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-<sect1 id="skin-gui">
-<title>Mensajes GUI</title>
-<para>
-Son los mensajes que pueden ser generados por los botones, potmetros y entradas
-de menú.
-</para>
-<note><para>
-Algunos de los mensajes pueden no funcionar como se espera (o ni funcionar).
-Como ya sabe, el GUI está bajo desarrollo.
-</para></note>
-
-<variablelist>
-<title>Control de reproducción:</title>
-<varlistentry>
- <term><emphasis role="bold">evNext</emphasis></term>
- <listitem><para>
-Salta a la siguiente pista en la lista de reproducción.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPause</emphasis></term>
- <listitem><para>
-Forma un cambio junto con <literal>evPlaySwitchToPause</literal>. Puede ser
-usado para tener un botón normal de play/pausa. Ambos mensajes deben ser asignados
-a botones que se muestren exactamente en la misma posición en la ventana. Este mensaje
-pausa la reproducción y la imagen para el botón <literal>evPlaySwitchToPause</literal>
-es mostrada (para indicar que el botón puede ser pulsado de nuevo para continuar
-la reproducción).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlay</emphasis></term>
- <listitem><para>
-Inicia la reproducción.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
- <listitem><para>
-Lo contrario a <literal>evPauseSwitchToPlay</literal>. Este mensaje inicia
-la reproducción y la imagen para el botón <literal>evPauseSwitchToPlay</literal>
-es mostrada (para indicar que el botón puede ser pulsado de nuevo para
-volver a pausar la reproducción).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPrev</emphasis></term>
- <listitem><para>
-Salta a la pista previa en la lista de reproducción.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evStop</emphasis></term>
- <listitem><para>
-Detiene la reproducción.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Búsqueda:</title>
-<varlistentry>
- <term><emphasis role="bold">evBackward10sec</emphasis></term>
- <listitem><para>
-Busca 10 segundos hacia atrás.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward1min</emphasis></term>
- <listitem><para>
-Busca 1 minuto hacia atrás.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward10min</emphasis></term>
- <listitem><para>
-Busca 10 minutos hacia atrás.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10sec</emphasis></term>
- <listitem><para>
-Busca 10 segundos hacia adelante.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward1min</emphasis></term>
- <listitem><para>
-Busca 1 minuto hacia adelante.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10min</emphasis></term>
- <listitem><para>
-Busca 10 minutos hacia adelante.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
- <listitem><para>
-Busca la posición (puede ser usado por un potmetro; el
-valor relativo (0-100%) del potmetro será el que se use).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Control de video:</title>
-<varlistentry>
- <term><emphasis role="bold">evDoubleSize</emphasis></term>
- <listitem><para>
-Establece doble tamaño para la ventana de la pelÃcula.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evFullScreen</emphasis></term>
- <listitem><para>
-Cambia el modo pantalla completa activado/desactivado.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evNormalSize</emphasis></term>
- <listitem><para>
-Establece la ventana de video a tu tamaño normal
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Control de audio:</title>
-<varlistentry>
- <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
- <listitem><para>
-Decrementa el retardo en el buffer de audio.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecBalance</emphasis></term>
- <listitem><para>
-Decrementa el balance.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecVolume</emphasis></term>
- <listitem><para>
-Decrementa el volumen.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
- <listitem><para>
-Incrementa el retardo en el buffer de audio.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncBalance</emphasis></term>
- <listitem><para>
-Incrementa el balance.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncVolume</emphasis></term>
- <listitem><para>
-Incrementa el volumen.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evMute</emphasis></term>
- <listitem><para>
-Silencia/activa el sonido.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetBalance</emphasis></term>
- <listitem><para>
-Establece el balance (puede ser usado por un potmetro; el
-valor relativo (0-100%) del potmetro será el que se use).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetVolume</emphasis></term>
- <listitem><para>
-Establece el volumen (puede ser usado por un potmetro; el
-valor relativo (0-100%) del potmetro será el que se use).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Miscelánea:</title>
-<varlistentry>
- <term><emphasis role="bold">evAbout</emphasis></term>
- <listitem><para>
-Abre la ventana de acerca de.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDropSubtitle</emphasis></term>
- <listitem><para>
-Desactiva el uso de subtÃtulos actual.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evEqualizer</emphasis></term>
- <listitem><para>
-Activa/desactiva el ecualizador.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evExit</emphasis></term>
- <listitem><para>
-Sale del programa.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIconify</emphasis></term>
- <listitem><para>
-Iconifica la ventana.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoad</emphasis></term>
- <listitem><para>
-Carga un archivo (abriendo una ventana del navegador de archivos, para que pueda elegir uno).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadPlay</emphasis></term>
- <listitem><para>
-Hace lo mismo que <literal>evLoad</literal>, pero inicia automáticamente la reproducción
-después de cargar el archivo.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
- <listitem><para>
-Carga un archivo de subtÃtulos (con el selector de archivos)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
- <listitem><para>
-Carga un archivo de audio (con el selector de archivos)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evNone</emphasis></term>
- <listitem><para>
-Mensaje vacÃo, no tiene efecto (excepto quizá en las versiones CVS :-)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaylist</emphasis></term>
- <listitem><para>
-Abre/cierra la ventana de lista de reproducción.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayDVD</emphasis></term>
- <listitem><para>
-Intenta abrir el disco en la unidad de DVD-ROM dada.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayVCD</emphasis></term>
- <listitem><para>
-Intenta abrir el disco en la unidad de CD-ROM dada.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPreferences</emphasis></term>
- <listitem><para>
-Abre la ventana de preferencias.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetAspect</emphasis></term>
- <listitem><para>
-Establece el aspecto de la imagen mostrada.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetURL</emphasis></term>
- <listitem><para>
-Muestra la ventana de diálogo para URL.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSkinBrowser</emphasis></term>
- <listitem><para>
-Abre la ventana del navegador de skins.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/es/usage.xml b/DOCS/xml/es/usage.xml
deleted file mode 100644
index c42751b..0000000
--- a/DOCS/xml/es/usage.xml
+++ /dev/null
@@ -1,1204 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.17 -->
-<chapter id="usage">
-<title>Uso</title>
-
-<sect1 id="commandline">
-<title>LÃnea de órdenes</title>
-
-<para>
-<application>MPlayer</application> utiliza un árbol de juego
-complejo. Consiste en escribir las opciones globales las
-primeras, por ejemplo
-
-<screen>mplayer -vfm 5</screen>
-
-y las opciones escritas después de los nombres de archivos, que se
-aplican solamente al nombre de archivo/URL/lo que sea, por ejemplo:
-
-<screen>mplayer -vfm 5 <replaceable>pelicula1.avi</replaceable> <replaceable>pelicula2.avi</replaceable> -vfm 4</screen>
-</para>
-
-<para>
-Puede agrupar nombres de archivo/URLs usando <literal>{</literal> y
-<literal>}</literal>. Esto es útil con la opción <option>-loop</option>:
-
-<screen>mplayer { 1.avi - loop 2 2.avi } -loop 3</screen>
-
-La órden de arriba reproduce los archivos en este orden:
-1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-Reproduciendo un archivo:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opciones</replaceable>]<!--
---> [<replaceable>ruta</replaceable>/]<replaceable>nombre-archivo</replaceable>
-</synopsis>
-</para>
-
-<para>
-Reproduciendo más archivos:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opciones por defecto</replaceable>]<!--
---> [<replaceable>ruta</replaceable>/]<replaceable>nombre-archivo1</replaceable><!--
---> [<replaceable>opciones para nombre-archivo1</replaceable>]<!--
---> <replaceable>nombre-archivo2</replaceable><!--
---> [<replaceable>opciones para nombre-archivo2</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-Reproduciendo VCD:
-<synopsis>
-<command>mplayer</command> [<replaceable>opciones</replaceable>]<!--
---> vcd://<replaceable>npista</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Reproduciendo DVD:
-<synopsis>
-<command>mplayer</command> [<replaceable>opciones</replaceable>]<!--
---> dvd://<replaceable>ntitulo</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Reproduciendo desde la WWW:
-<synopsis>
-<command>mplayer</command> [<replaceable>opciones</replaceable>]<!--
---> http://<replaceable>sitio.com/archivo.asf</replaceable>
-</synopsis>
-(las listas de reproducción también pueden ser usadas)
-</para>
-
-<para>
-Reproduciendo desde RTSP:
-<synopsis>
-<command>mplayer</command> [<replaceable>opciones</replaceable>]<!--
---> rtsp://<replaceable>servidor.ejemplo.com/nombreFlujo</replaceable>
-</synopsis>
-</para>
-
-<para>
-Ejemplos:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Pelis/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cd-rom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/pelis/prueba.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<sect1 id="control">
-<title>Control</title>
-
-<para>
-<application>MPlayer</application> tiene una capa de control completamente
-configurable, dada por órdenes, que le permite controlar
-<application>MPlayer</application> con el teclado, el ratón, la palanca
-de juegos o el mando a distancia (usando LIRC). Vea la página de manual para
-una lista completa de los controles de teclado.
-</para>
-
-
-<sect2 id="ctrl-cfg">
-<title>Configuración de los controles</title>
-
-<para>
-<application>MPlayer</application> permite asignar una tecla/botón a
-cualquier órden de <application>MPlayer</application> usando un archivo
-de configuración simple. La sintaxis consiste en un nombre clave seguido
-por la órden. El archivo de configuración por defecto es
-<filename>$HOME/.mplayer/input.conf</filename> pero puede ser cambiado
-usando la opción <option>-input <replaceable>conf</replaceable></option>
-(ruta relativa a <filename>$HOME/.mplayer</filename>).
-</para>
-
-<example id="input_control_file">
-<title>Un archivo de control simple</title>
-<programlisting>
-##
-## Archivo de control de entrada de <application>MPlayer</application>
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-
-
-<sect3 id="ctrl-cfg-keys">
-<title>Nombres clave</title>
-
-<para>
-Puede obtener una lista completa ejecutando
-<command>mplayer -input keylist</command>.
-</para>
-
-<itemizedlist>
-<title>Teclado</title>
-<listitem><para>Cualquier caracter imprimible</para></listitem>
-<listitem><para><literal>SPACE</literal></para></listitem>
-<listitem><para><literal>ENTER</literal></para></listitem>
-<listitem><para><literal>TAB</literal></para></listitem>
-<listitem><para><literal>CTRL</literal></para></listitem>
-<listitem><para><literal>BS</literal></para></listitem>
-<listitem><para><literal>DEL</literal></para></listitem>
-<listitem><para><literal>INS</literal></para></listitem>
-<listitem><para><literal>HOME</literal></para></listitem>
-<listitem><para><literal>END</literal></para></listitem>
-<listitem><para><literal>PGUP</literal></para></listitem>
-<listitem><para><literal>PGDWN</literal></para></listitem>
-<listitem><para><literal>ESC</literal></para></listitem>
-<listitem><para><literal>RIGHT</literal></para></listitem>
-<listitem><para><literal>LEFT</literal></para></listitem>
-<listitem><para><literal>UP</literal></para></listitem>
-<listitem><para><literal>DOWN</literal></para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Ratón (solo funciona bajo X)</title>
-<listitem><para>
- <literal>MOUSE_BTN0</literal> (Botón izquierdo)</para></listitem>
-<listitem><para>
- <literal>MOUSE_BTN1</literal> (Botón derecho)</para></listitem>
-<listitem><para>
- <literal>MOUSE_BTN2</literal> (Botón central)</para></listitem>
-<listitem><para>
- <literal>MOUSE_BTN3</literal> (Rueda)</para></listitem>
-<listitem><para>
- <literal>MOUSE_BTN4</literal> (Rueda)</para></listitem>
-<listitem><para>...</para></listitem>
-<listitem><para><literal>MOUSE_BTN9</literal></para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Palanca de juegos (para que funcione debe habilitarse durante la compilación)</title>
-<listitem><para>
- <literal>JOY_RIGHT</literal> o
- <literal>JOY_AXIS0_PLUS</literal></para></listitem>
-<listitem><para>
- <literal>JOY_LEFT</literal> o
- <literal>JOY_AXIS0_MINUS</literal></para></listitem>
-<listitem><para>
- <literal>JOY_UP</literal> o
- <literal>JOY_AXIS1_MINUS</literal></para></listitem>
-<listitem><para>
- <literal>JOY_DOWN</literal> o
- <literal>JOY_AXIS1_PLUS</literal></para></listitem>
-<listitem><para><literal>JOY_AXIS2_PLUS</literal></para></listitem>
-<listitem><para><literal>JOY_AXIS2_MINUS</literal></para></listitem>
-<listitem><para>...</para></listitem>
-<listitem><para><literal>JOY_AXIS9_PLUS</literal></para></listitem>
-<listitem><para><literal>JOY_AXIS9_MINUS</literal></para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="ctrl-cfg-commands">
-<title>Ãrdenes</title>
-
-<para>
-Puede obtener una lista completa de órdenes ejecutando
-<command>mplayer -input cmdlist</command>.
-</para>
-
-<itemizedlist>
-<listitem><para><literal>seek</literal> (int) val [(int) type=0]</para>
- <para>
- Se posiciona en un lugar de la pelÃcula.
- Tipo <literal>0</literal> es posicionamiento relativo en +/- val segundos.
- Tipo <literal>1</literal> se posiciona a un valor en val% de la pelÃcula.
- </para></listitem>
-<listitem><para><literal>audio_delay</literal> (float) val</para>
- <para>
- Ajusta el retardo de audio en val segundos
- </para></listitem>
-<listitem><para><literal>quit</literal></para>
- <para>
- Salir de <application>MPlayer</application>
- </para></listitem>
-<listitem><para><literal>pause</literal></para>
- <para>
- Pausa/continúa la reproducción
- </para></listitem>
-<listitem><para><literal>grap_frames</literal></para>
- <para>
- ¿Alguien lo sabe?
- </para></listitem>
-<listitem><para><literal>pt_step</literal> (int) val [(int) force=0]</para>
- <para>
- Va a la entrada siguiente/previa en la lista de reproducción. El signo
- de val dice la dirección. Si no hay otra entrada disponible en la dirección
- dada no ocurre nada a no ser que force no sea 0.
- </para></listitem>
-<listitem><para><literal>pt_up_step</literal> (int) val [(int) force=0]</para>
- <para>
- Igual que pt_step pero salta a siguiente/previo en la lista actual. Esto
- es útli para romber bucles internos en el árbol de reproducción.
- </para></listitem>
-<listitem><para><literal>alt_src_step</literal> (int) val</para>
- <para>
- Cuando hay más de una fuente disponible selecciona la siguiente/previa
- (solo funciona en listas de reproducción asx).
- </para></listitem>
-<listitem><para><literal>sub_delay</literal> (float) val [(int) abs=0]</para>
- <para>
- Ajusta el retardo de subtÃtulos en +/- val segundos o lo establece en
- val segundos cuando abs no es cero.
- </para></listitem>
-<listitem><para><literal>osd</literal> [(int) level=-1]</para>
- <para>
- Cambia el modo de osd o establece el invel cuando el nivel > 0.
- </para></listitem>
-<listitem><para><literal>volume</literal> (int) dir</para>
- <para>Incrementa/reduce el volumen
- </para></listitem>
-<listitem><para><literal>contrast</literal> (int) val [(int) abs=0]
- </para></listitem>
-<listitem><para><literal>brightness</literal> (int) val [(int) abs=0]
- </para></listitem>
-<listitem><para><literal>hue</literal> (int) val [(int) abs=0]
- </para></listitem>
-<listitem><para><literal>saturation</literal> (int) val [(int) abs=0]</para>
- <para>
- Establece/Ajusta los parámetros de video. Rango de val entre -100 y 100.
- </para></listitem>
-<listitem><para><literal>frame_drop</literal> [(int) type=-1]</para>
- <para>
- Cambia/Establece el modo de salto de marcos.
- </para></listitem>
-<listitem><para><literal>sub_visibility</literal></para>
- <para>
- Ajusta la visibilidad de los subtÃtulos.
- </para></listitem>
-<listitem><para><literal>sub_pos</literal> (int) val</para>
- <para>
- Ajusta la posición de los subtÃtulos.
- </para></listitem>
-<listitem><para><literal>vobsub_lang</literal></para>
- <para>
- Cambia el idioma de los subtÃtulos VobSub.
- </para></listitem>
-<listitem><para><literal>vo_fullscreen</literal></para>
- <para>
- Cambia el modo de pantalla completa.
- </para></listitem>
-<listitem><para><literal>vo_ontop</literal></para>
- <para>
- Cambia siempre-visible. Soportado por controladores que usen X11,
- excepto SDL, asà como directx y gl2 bajo Windows.
- </para></listitem>
-<listitem><para><literal>tv_step_channel</literal> (int) dir</para>
- <para>
- Selecciona el canal de tv siguiente/previo.
- </para></listitem>
-<listitem><para><literal>tv_step_norm</literal></para>
- <para>
- Cambia la norma de TV.
- </para></listitem>
-<listitem><para><literal>tv_step_chanlist</literal></para>
- <para>
- Cambia la lista de canales.
- </para></listitem>
-<listitem><para><literal>gui_loadfile</literal></para></listitem>
-<listitem><para><literal>gui_loadsubtitle</literal></para></listitem>
-<listitem><para><literal>gui_about</literal></para></listitem>
-<listitem><para><literal>gui_play</literal></para></listitem>
-<listitem><para><literal>gui_stop</literal></para></listitem>
-<listitem><para><literal>gui_playlist</literal></para></listitem>
-<listitem><para><literal>gui_preferences</literal></para></listitem>
-<listitem><para><literal>gui_skinbrowser</literal></para>
- <para>
- Acciones para el GUI
- </para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-
-<sect2 id="lirc">
-<title>Control desde LIRC</title>
-
-<para>
-Linux Infrared Remote Control - use un receptor-IR facil de hacer y
-fabricar en casa, un (casi) arbitrario control remoto ¡y controle
-su linux con él! Más acerca de esto en
-<ulink url="http://www.lirc.org">www.lirc.org</ulink>.
-</para>
-
-<para>
-Si tiene instalado el paquete-lirc, configure lo autodetectará. Si todo
-va bien, <application>MPlayer</application> escribirá un mensaje como
-"<computeroutput>Setting up lirc support...</computeroutput>"
-durante su inicio. Si ocurre algún error le informará de ello. Si no le
-dice nada acerca de LIRC es porque se ha compilado sin tenerlo en cuenta.
-Eso es todo :-)
-</para>
-
-<para>
-El nombre de la aplicación para <application>MPlayer</application> es - oh
-que maravilla - <filename>mplayer</filename>. Puede usar las órdenes de
-<application>MPlayer</application> e incluso pasar más de una órden
-separándolas con <literal>\n</literal>.
-No olvide activar el marcador repeat en <filename>.lircrc</filename> cuando
-tenga sentido (posición, volumen, etc). Aquà hay un extracto de mi
-<filename>.lircrc</filename>:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-Si no le gusta la localización estándar del archivo de configuración
-de lirc (<filename>~/.lircrc</filename>) use el conmutador
-<option>-lircconf <replaceable>nombre-archivo</replaceable></option>
-para especificar otro archivo.
-</para>
-</sect2>
-
-
-<sect2 id="slave-mode">
-<title>Modo esclavo</title>
-<para>
-El modo esclavo le permite construir una interfaz gráfica de manera
-simple para <application>MPlayer</application>. Cuando se activa
-(con la opción <option>-slave</option>) <application>MPlayer</application>
-lee las órdenes separándolsa por el caracter de nueva lÃnea (\n) desde
-la entrada estándar stdin.
-</para>
-</sect2>
-</sect1>
-
-
-<sect1 id="streaming">
-<title>Streaming desde la red o tuberÃas</title>
-
-<para>
-<application>MPlayer</application> puede reproducir archivos desde la red, usando
-el protocolo HTTP, FTP, MMS o RTSP/RTP.
-</para>
-
-<para>
-La reprodución comienza sÃmplemente añadiendo la URL en la lÃnea de órdenes.
-<application>MPlayer</application> también tiene en cuenta a la variable
-de entorno <envar>http_proxy</envar>, y usa el proxy si está disponible. El
-uso de proxy también puede forzarse con:
-<screen>mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable></screen>
-</para>
-
-<para>
-<application>MPlayer</application> puede leer desde la entrada estádar
-(<emphasis>no</emphasis> desde tuberÃas nombradas). Esto puede ser usado
-por ejemplo para reproducir desde FTP:
-<screen>wget <replaceable>ftp://micorsops.com/algo.avi</replaceable> -O - | mplayer -</screen>
-</para>
-
-<note><para>
-Nota: también es recomendable activar la <option>-cache</option>cuando
-se reproduce desde la red:
-<screen>wget ftp://micorsops.com/algo.avi -O - | mplayer -cache 8192 -</screen>
-</para></note>
-</sect1>
-
-<sect1 id="mpst" xreflabel="Remote streams">
-<title>Flujos remotos</title>
-
-<para>
-Los flujos remotos le permiten acceder a la mayorÃa de los tipos de flujo
-para <application>MPlayer</application> desde un host remoto. El propósito
-principal de esta caracterÃstica es hacer posible la reproducción directa
-usando CD o DVD de otro ordenador a través de la red (suponiendo que tiene
-el ancho de banda requerido). En el lado bajo algunos tipos de flujos
-(actualmente TV y MF) no se pueden usar de manera remota debido a que
-están implementados a nivel de demultiplexor. De todos modos para MF y TV
-deberÃa de tener una cantidad insana de ancho de banda.
-</para>
-
-<sect2 id="compile_mpst_server">
-<title>Compilando el servidor</title>
-<para>
-Después de que tenga <application>MPlayer</application> compilado
-vaya a <filename>TOOLS/netstream</filename> para compilar el binario
-del servidor. Puede hacer una copia del binario de
-<application>netstream</application> al lugar correcto en su
-sistema (normalmente <filename class="directory">/usr/local/bin</filename>
-en Linux).
-</para>
-</sect2>
-
-<sect2 id="use_mpst">
-<title>Usando flujos remotos</title>
-<para>
-Lo primero que tiene que hacer es iniciar el servidor en el ordenador
-al que quiere hacer el acceso remoto. Actualmente el servidor es muy básico
-y no tiene ningún argumento en la lÃnea de órdenes nada más que escribir
-<filename>netstream</filename>. Ahora puede por ejemplo reproducir una
-segunda pista de un VCD en el servidor con :
-<screen>
-mplayer -cache 5000 <replaceable>mpst://nombre-servidor/vcd://2</replaceable>
-</screen>
-También puede acceder a los archivos en este servidor :
-<screen>
- mplayer -cache 5000 <replaceable>mpst://nombre-servidor//usr/local/peliculas/lol.avi</replaceable>
-</screen>
-Note que las rutas que no empiezan con un / deben ser relativas
-al directorio donde el servidor está corriendo. La opción <option>-cache</option>
-no es necesaria pero es altamente recomendable.
-</para>
-
-<para>
-Tenga cuidado con que actualmente el servidor no es para nada seguro.
-No se queje de la cantidad tan numerosa de fallos de seguridad que es
-posible que tenga. En lugar de eso, envÃe algunos (buenos) parches para
-mejorarlo o escriba su propio servidor.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="drives">
-<title>Unidades de CD/DVD</title>
-<para>
-Extracto de documentación de Linux:
-</para>
-
-<para>
-Las unidades de CD-ROM modernas pueden alcanzar velocidades de lectura
-muy altas, a pesar de ello algunas unidades de CD-ROM son capaces de
-funcionar a velocidades reducidas. Hay varias razones que pueden hacer
-considerar cambiar la velocidad de la unidad de CD-ROM:
-</para>
-
-<itemizedlist>
-<listitem><para>
-Ha habido varios informes de errores de lectura a velocidades altas,
-especialmente en unidades de CD-ROM en mal estado. Reducir la velocidad
-puede prevenir la pérdida de datos bajo estas circunstancias.
-</para></listitem>
-
-<listitem><para>
-Algunas unidades de CD-ROM son molestamente ruidosas, a menor velocidad
-se puede reducir el ruido.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Puede reducir la velocidad de las unidades de CD-ROM IDE con
-<command>hdparm</command> o con un programa llamado <command>setcd</command>.
-Funciona de la siguiente manera:
-<screen>hdparm -E <replaceable>[velocidad]</replaceable> <replaceable>[dispositivo de cdrom]</replaceable></screen>
-<screen>setcd -x <replaceable>[velocidad]</replaceable> <replaceable>[dispositivo cdrom]</replaceable></screen>
-</para>
-
-<para>
-Si tiene privilegios de root la siguiente órden puede también ayudarle:
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[cdrom device]</replaceable>/settings</screen>
-</para>
-
-<para>
-Esto establece prelectura de 2MB del archivo, lo cual ayuda en CD-ROMs rayados.
-Si establece un valor demasiado alto, la unidad puede estar contÃnuamente
-girando y parando, y puede decrementar dramáticamente el rendimiento.
-Se recomienda que también afine su unidad de CD-ROM con <command>hdparm</command>:
-<screen>hdparm -d1 -a8 -u1 <replaceable>cdrom device</replaceable></screen>
-</para>
-
-<para>
-Esto activa el acceso DMA, pre-lectura, y desenmascarado de IRQ (lea la página
-de manual de <command>hdparm</command> para una explicación detallada).
-</para>
-
-<para>
-Por favor, dirÃjase a "<filename>/proc/ide/<replaceable>cdrom device</replaceable>/settings"</filename>
-para ajuste-fino de su CD-ROM.
-</para>
-
-<para>
-Las unidades SCSI no tienen una manera uniforme para estableces estos
-parámetros (¿conoce alguna? ¡DÃganoslo!) Aquà hay una herramienta que funciona
-para
-<ulink url="http://das.ist.org/~georg/">unidades Plextor SCSI</ulink>.
-</para>
-
-<para>FreeBSD:</para>
-<para>Speed: <command>cdcontrol [-f <replaceable>dispositivo</replaceable>] speed <replaceable>velocidad</replaceable></command></para>
-<para>DMA: <command>sysctl hw.ata.atapi_dma=1</command></para>
-</sect1>
-
-<sect1 id="dvd">
-<title>Reproducción de DVD</title>
-<para>
-Para una lista completa de opciones disponibles, lea por favor la página de manual.
-La Sintaxis para un Disco Versátil Digital (DVD) estándar es la siguiente:
-<screen>mplayer dvd://<replaceable><pista></replaceable> [-dvd-device <replaceable><dispositivo></replaceable>]</screen>
-</para>
-
-<para>
-Ejemplo:
-<screen>mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable></screen>
-</para>
-
-<para>
-El dispositivo DVD por defecto es <filename>/dev/dvd</filename>. Si su
-configuración es diferente, haga un enlace simbólico o especifique el
-dispositivo correcto en la lÃnea de órdenes con la opción
-<option>-dvd-device</option>.
-</para>
-
-<formalpara>
-<title>Soporte para el DVD de Nuevo-estilo (mpdvdkit2)</title>
-<para>
-<application>MPlayer</application> usa <systemitem>libdvdread</systemitem> y
-<systemitem>libdvdcss</systemitem> para desencriptación y reproducción. Estas
-dos bibliotecas están contenidas en el subdirectorio
-<filename class="directory">libmpdvdkit2/</filename>
-del árbol de código fuente de <application>MPlayer</application>, no tiene
-que instalarlo por separado. Hemos optado por esta solución porque hemos
-corregido un error de <systemitem>libdvdread</systemitem> y aplicado un
-parche que añade <emphasis role="bold">soporte para cacheo de claves CSS
-crackeadas</emphasis> para <systemitem>libdvdcss</systemitem>. Esto resulta
-en un gran incremento de velocidad porque las claves no tienen que ser
-crackeadas cada vez que se reproduce.
-</para>
-</formalpara>
-
-<para>
-<application>MPlayer</application> puede usar también bibliotecas
-<systemitem>libdvdread</systemitem> del sistema y <systemitem>libdvdcss</systemitem>,
-pero esta solución <emphasis role="bold">no</emphasis> se recomienda, porque puede
-resultar en fallos, incompatibilidades de bibliotecas y velocidad más lenta.
-</para>
-
-<note><para>
-En caso de problemas de decodificación de DVD, pruebe a deshabilitar supermount, o
-cualquier otra utilidad de este tipo.
-</para></note>
-
-<formalpara>
-<title>Estructura de DVD</title>
-<para>
-Los discos de DVD tienen 2048 bytes por sector con ECC/CRC. Normalmente tienen
-un sistema de archivos UDF en una pista simple, conteniendo varios archivos
-(archivos pequeños .IFO y .BUK y archivos grandes (1GB) .VOB). Son archivos
-reales y pueden ser copiados/reproducidos desde un sistema de archivos montado
-de un DVD sin encriptar.
-</para>
-</formalpara>
-
-<para>
-Los archivos .IFO contienen la información de navegación por la pelÃcula
-(capÃtulos/tÃtulos/mapas de ángulos, tablas de idiomas, etc) y son necesarios
-para leer e interpretar el contenido del .VOB (la pelÃcula). Los archivos
-.BUK son copias de seguridad de estos. Usan <emphasis role="bold">sectores</emphasis>
-por todos sitios, por lo que necesita usar direccionamiento crudo de sectores
-del disco para implementar navegación DVD o desencriptar el contenido.
-</para>
-
-<para>
-El soporte DVD necesita acceso basado en sectores al dispositivo. Desafortunadamente
-debe (bajo Linux) ser root para obtener la dirección de un sector dentro de un
-archivo. Este es el motivo por el que no se usa el controlador interno del sistema
-de archivos del kernel, en su lugar se ha reimplementado en el espacio de usuario.
-<systemitem>libdvdread</systemitem> 0.9.x y <systemitem>libmpdvdkit</systemitem>
-hacen esto. El controlador de sistema de archivos UDF del kernel no es necesario
-ya que tenemos nuestro propio controlador de sistema de archivos UDF. Además
-el DVD no necesita estar montado ya que solo se usa acceso a nivel de sectores.
-</para>
-
-<para>
-Algunas veces <filename>/dev/dvd</filename> no puede ser leÃdo por los
-usuarios, por lo que los autores de <systemitem>libdvdread</systemitem>
-han implementado una capa de emulación que transfiere el direccionamiento
-por sectores a nombres de archivo + desplazamiento, para emular un acceso
-crudo sobre un sistema de archivos montado o incluso en un disco duro.
-</para>
-
-<para>
-<systemitem>libdvdread</systemitem> incluso acepta un punto de montaje
-en lugar del nombre del dispositivo para acceso crudo y comprueba
-<filename>/proc/mounts</filename> para obtener el nombre del dispositivo.
-Esto ha sido desarrollado por Solaris, donde los nombres de los
-dispositivos son asignados dinámicamente.
-</para>
-
-<para>
-El dispositivo por defecto de DVD es <filename>/dev/dvd</filename>. Si su
-configuración no coincide con esto, haga un enlace simbólico, o especifique
-el dispositivo correcto en la lÃnea de órdenes con la opción
-<option>-dvd-device</option>.
-</para>
-
-<formalpara>
-<title>Autenticación para DVD</title>
-<para>
-La autenticación y el método de desencriptación del soporte de DVD al
-nuevo-estilo se ha hecho usando una versión modificada de
-<systemitem>libdvdcss</systemitem> (vea más arriba). Este método peude ser
-especificado a través de la variable de entorno <envar>DVDCSS_METHOD</envar>,
-que puede ser establecido a key, disk o title.
-</para>
-</formalpara>
-
-<para>
-Si no se especifica nada se prueban los siguientes métodos (por defecto:
-key, petición de tÃtulo):
-</para>
-
-<orderedlist>
-<listitem><para>
-<emphasis role="bold">bus key</emphasis>: Esta clave es negociada durante
-la autenticación (una larga mezcla de ioctls y varios intercambios de
-claves, material de encriptación) y es usada para encriptar el tÃtulo y
-las claves de disco antes de enviarlas sobre el bus sin proteger
-(para prevenir robos de claves). El bus key necesita obtener y
-predesencriptar la clave encriptada de disco.
-</para></listitem>
-
-<listitem><para>
-<emphasis role="bold">cached key</emphasis>: <application>MPlayer</application>
-mira a ver si el tÃtulo ya ha sido crackeado con una clave almacenada en el
-directorio <filename class="directory">~/.mplayer/DVDKeys</filename> (rápido ;).
-</para></listitem>
-
-<listitem><para>
-<emphasis role="bold">key</emphasis>: Si no hay una clave disponible en caché,
-<application>MPlayer</application> intenta desencriptar la clave del disco con
-un conjunto de claves de reproductor incluidas.
-</para></listitem>
-
-<listitem><para>
-<emphasis role="bold">disk</emphasis>: Si el método key falla (p.e. no hay
-claves de reproductor incluÃdas), <application>MPlayer</application>
-crackeará la clave del disco usando un algoritmo de fuerza bruta. Este proceso
-usa la CPU de manera intensiva y requiere 64 MB de memoria (una tabla hash de
-16M 32Bit entradas) para almacenamiento temporal de datos. Este método debe
-funcionar siempre (lento).
-</para></listitem>
-
-<listitem><para>
-<emphasis role="bold">title request</emphasis>: Con la clave del disco
-<application>MPlayer</application> pide las claves encriptadas de los
-tÃtulos que están dentro de <emphasis>sectores escondidos</emphasis> usando
-<systemitem>ioctl()</systemitem>. La protección por región de unidades
-RPC-2 se hace en este paso y puede fallas en algunas unidades de disco.
-Si funciona bien, las claves de tÃtulos son desencriptadas con las claves
-de bus y de disco.
-</para></listitem>
-
-<listitem><para>
-<emphasis role="bold">title</emphasis>: Este método es usado si la
-búsqueda de tÃtulo falla y no sale en ningun intercambio de clave
-con la unidad de DVD. Usa un ataque de encriptación para buscar
-la clave del tÃtulo directamente (encontrando un patrón que se
-repita en el contenido del VOB desencriptado y comprobando que
-el texto plano corresponde a los primeros bytes encriptados como
-una continuación del patrón). El método es también conocido como
-"ataque de texto plano conocido" o "DeCSSPlus".
-En raras ocasiones esto falla porque no hay suficientes datos
-desencriptados en el disco para realizar un ataque estadÃstico
-o porque las claves cambian en mitad de un tÃtulo. Este método es la
-única manera de desencriptar un DVD almacenado en un disco duro o en
-un DVD con la región incorrecta en una unidad RPC2 (lento).
-</para></listitem>
-</orderedlist>
-
-<para>
-Las unidades de DVD RPC-1 solo protegen la configuración de región a través
-de software. Las unidades RPC-2 tienen una protección por hardware que
-permite tan solo 5 cambios. Puede ser necesario/recomendable actualizar el
-firmware a RPC-1 si tiene una unidad RPC-2. Las actualizaciones de
-firmware puede encontrarse en esta
-<ulink url="http://www.firmware-flash.com">página del firmware</ulink>.
-Si no hay una actualización del firmware disponible para su dispositivo, use la
-<ulink url="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">herramienta regionset</ulink>
-para establecer el código de región de su unidad de DVD (bajo Linux).
-<emphasis role="bold">Advertencia</emphasis>: Solo puede establecer la región 5 veces.
-</para>
-</sect1>
-
-<sect1 id="vcd">
-<title>Reproducción de VCD</title>
-<para>
-Para una lista completa de las opciones disponibles, lea por favor la página de manual. La
-sintaxis para un Video CD (VCD) estándar es la siguiente:
-<screen>mplayer vcd://<replaceable><track></replaceable> [-cdrom-device <replaceable><device></replaceable>]</screen>
-Ejemplo:
-<screen>mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable></screen>
-El dispositivo para VCD Por defecto es <filename>/dev/cdrom</filename>.
-Si su configuracio no coincide con esto, haga un enlace simbólico o
-especifique el dispositivo correcto en la lÃnea de órdenes con la
-opción <option>-cdrom-device</option>.
-</para>
-
-<note><para>
-Al menos las unidades de CD-ROM SCSI Plextor y algunas Toshiba tienen un
-rendimiento horrible leyendo VCDs. Esto es porque el <systemitem>ioctl</systemitem>
-CDROMREADRAW no está completamente implementado en estas unidades. Si tiene
-conocimientos sobre la programación SCSI, por favor
-<ulink url="../../tech/patches.txt">ayúdenos</ulink> a implementar soporte SCSI
-genérico para VCDs.
-</para></note>
-
-<para>
-En la actualidad puede extraer datos desde VCDs con
-<ulink url="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-y reproducir el archivo resultante con <application>MPlayer</application>.
-</para>
-
-<formalpara>
-<title>Estructura de un VCD</title>
-<para>Los discos de VCD consisten en una o más pistas:</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
-La primera piesta es una pista pequeña de datos 2048 bytes/sector con
-un sistema de archivos iso9660, normalmente conteniendo programas reproductores
-de VCD para Windows o quizá alguna otra información (imágenes, texto, etc).
-</para></listitem>
-
-<listitem><para>
-La segunda y otras pistas son 2324 bytes/sector crudas de MPEG (pelÃcula),
-conteniendo un paquete de datos MPEG PS por sector en lugar de un sistema
-de archivos. De manera similar a las pistas de CD de audio, estas pistas
-<emphasis role="bold">no pueden ser montadas</emphasis> (¿Alguna vez ha
-montado un CD de audio para reproducirlo?).
-Como las pelÃculas están dentro de esta pista, deberÃa probar <option>vcd://2</option>
-primero.
-</para></listitem>
-
-<listitem><para>
-Existen discos de VCD sin la primera pista (pista simple y sin ningún sistema
-de archivos). Siguen siendo reproducibles, pero no pueden ser montadas.
-</para></listitem>
-</itemizedlist>
-
-<formalpara>
-<title>Acerca de los archivos .DAT</title>
-<para>
-Los archivos visibles de ~600 MB en la primera pista de un VCD montado ¡no son
-archivos reales! Son llamadas puertas de acceso ISO, creadas para permitir a
-Windows administrar estas pistas (Windows no permite acceso crudo al dispositivo
-en ninguna de sus aplicaciones). Bajo Linux no puede copiar o reproducir estos
-archivos (solo contienen basura). Bajo Windows es posible que el controlador
-iso9660 emule lectura cruda de las pistas en estos archivos. Para reproducir
-un archivo .DAT necesita el controlador del kernel que se encuentra en la
-versión para Linux de PowerDVD. Contiene un controlador de sistema de archivos iso9660
-modificado (<filename>vcdfs/isofs-2.4.X.o</filename>), que permite emular las
-pistas crudas a través de este archivo de sombra .DAT. Si monta el disco usando
-ese controlador, puede copiar e incluso reproducir los archivos .DAT con
-<application>MPlayer</application>. ¡Pero no funciona con el controlador estandar
-iso9660 del kernel de Linux! Use <option>vcd://</option> en su lugar. Alternativas
-para copiar un VCD son los nuevos controladores del kernel
-<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (que no forman
-parte del kernel oficialmente) que muestran sesiones de CD como archivos de imagen y
-<ulink url="http://cdrdao.sourceforge.net/">cdrdao</ulink>, un programa para
-grabar/copiar CD bit-por-bit.
-</para>
-</formalpara>
-</sect1>
-
-<sect1 id="edl" xreflabel="Listas de Decisión de Edición (EDL)">
-<title>Listas de Decisión de Edición (EDL)</title>
-
-<para>
-El sistema de listas de decisión de edición (EDL) le permite automáticamente
-saltar o silenciar secciones de vÃdeos durante la reproducción, basado en
-un archivo de configuración de EDL especifico de una pelÃcula.
-</para>
-
-<para>
-Esto es útil para aquellos que quieran mirar una pelÃcula "de manera familiar".
-Puede cortar secciones de violencia, profanidad, Jar-Jar Binks... de una
-pelÃcula de acuerdo a sus preferencias personales. A un lado de esto, tiene
-otros usos, como pasar automáticamente comerciales en archivos de vÃdeos que
-mire.
-</para>
-
-<para>
-El formato de archivo EDL es muy simple. Una vez que el sistema EDL haya
-alcanzado cierto nivel de maduración, es muy probable que se implemente
-un formato de archivo basada en XML (manteniendo compatibilidad con los
-formatos previos de EDL).
-</para>
-
-<sect2 id="edl_using">
-<title>Usando un archivo EDL</title>
-<para>
-Incluya la opción <option>-edl <archivo></option> cuando quiera correr
-<application>MPlayer</application>, con el nombre del archivo EDL que quiere
-que se le aplique al vÃdeo.
-</para>
-</sect2>
-
-<sect2 id="edl_making">
-<title>Haciendo un archivo EDL</title>
-<para>
-El actual formato de un archivo EDL es:
-<programlisting>
-[segundo de inicio] [segundo final] [acción]
-</programlisting>
-Donde los segundos son números de punto flotante y la acción es o bien
-<literal>0</literal> para saltar esa parte o <literal>1</literal> para silenciarla. Por ejemplo:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-Esto hará que se salten del segundo 5.3 al segundo 7.1 del vÃdeo, entonces
-silenciar en el segundo 15, volver el sonido a los 16.7 segundos y saltar
-desde el segundo 420 al segundo 422 del vÃdeo. Estas acciones serán realizadas
-cuando el reloj de reproducción alcance los tiempos dados en el archivo.
-</para>
-
-<para>
-Para crear un archivo EDL para poder trabajar, use la <option>-edlout <archivo></option>. Durante la reproducción, cuando quiera marcar los dos segundos previos para ser saltados, pulse <keycap>i</keycap>. Se guardara una entrada en el archivo para ese momento. Luego puede volver atrás y ajustar a mano el archivo EDL generado.
-</para>
-</sect2>
-
-</sect1>
-
-<sect1 id="tv-input" xreflabel="Entrada de TV">
-<title>Entrada de TV</title>
-
-<para>
-Esta sección es acerca de como poder <emphasis role="bold">mirar/capturar
-desde un dispositivo sintonizador de TV compatible con V4L</emphasis>. Vea
-la página del manual para una descripción de las opciones de TV y los controles
-del teclado.
-</para>
-
-
-<sect2 id="tv-compilation">
-<title>Compilación</title>
-
-<procedure>
-<step><para>
- Primero, deberá recompilar. <filename>./configure</filename> detectará
- los archivos de encabezados de las cosas de v4l y la existencia de
- las entradas <filename>/dev/video*</filename>. Si existen, el soporte
- de TV se compilará (vea la salida de <filename>./configure</filename>).
- </para></step>
-<step><para>
- Asegúrese de que su sintonizador funcione bien con otro software de TV
- en Linux, como por ejemplo con <application>XawTV</application>.
- </para></step>
-</procedure>
-</sect2>
-
-<sect2 id="tv-tips">
-<title>Consejos de Uso</title>
-<para>
-El listado completo de opciones esta disponible en la página del manual.
-Aquà hay solamente un par de consejos:
-</para>
-<itemizedlist>
-<listitem>
-<para>
-Use la opción <option>channels</option>(canales). Ejemplo:
-<screen>-tv channels=26-MTV,23-TV2</screen>
-Explicación: usando esta opción, solo se podrá ver el canal 26 y el 23 y
-habrá un bonito texto en pantalla (OSD) por cada cambio de canal, mostrando
-el nombre del canal. Los espacios en el nombre del canal deben ser reemplazados
-por el carácter "_".
-</para>
-</listitem>
-
-<listitem>
-<para>
-Elija varias dimensiones de imagen razonables. Las dimensiones de la imagen
-resultante deberÃan ser divisibles por 16.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Si captura el vÃdeo con una resolución vertical más grande que la mitad de
-la resolución total (por ejemplo: 288 para PAL o 240 para NTSC), asegúrese que
-activó el desentrelazado. De otro modo obtendrá una pelÃcula la cual esta
-distorsionada durante las escenas con movimientos rápidos y el controlador de tasa
-de bits probablemente no podrá ser capaz de retener la cantidad de información necesaria
-ya que el entrelazado produce una gran cantidad de detalles y por lo tanto consume
-una gran cantidad de ancho de banda. Puede activar el desentrelazado con
-la opción <option>-vf pp=DEINT_TYPE</option>. Normalmente
-<option>pp=lb</option> funciona bien, pero es un problema de preferencias
-personales. Vea otros algoritmos de desentrelazado en el manual y pruebelos.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Corte el área no usada. Cuando captura vÃdeo, las áreas en los bordes normalmente
-son negras y contienen algo de ruido. Esto también consume un montón de ancho
-de banda innecesario. Más precisamente no son las áreas en negro por si mismas
-pero si las bruscas transcisiones entre el negro y la imagen de vÃdeo brillante
-pero por ahora eso no es importante por ahora. Antes de empezar a capturar,
-ajuste los argumentos de la opción <option>crop</option> de tal manera que todo
-lo negro quede afuera. Nuevamente, no se olvide de mantener las dimensiones
-de manera razonables.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Observe la carga de CPU. La mayorÃa del tiempo no deberÃa cruzar el lÃmite
-del 90%. Si tiene un gran buffer de captura, <application>MEncoder</application>
-puede sobrevivir una sobrecarga por unos pocos segundos y nada más. Es mejor apagar
-los salvadores de pantalla 3D OpenGL y ese tipo de cosas.
-</para>
-</listitem>
-
-<listitem>
-<para>
-No se meta con el reloj del sistema. <application>MEncoder</application> usa
-el reloj del sistema para mantener sincronÃa entre Audio y VÃdeo. Si ajusta
-el reloj del sistema (particularmente volviendo hacia atrás en el tiempo),
-<application>MEncoder</application> se confunde y pierde cuadros. Esto es un
-problema importante si está conectado a una red y corre algún tipo de software
-de sincronización como NTP. DeberÃa desactivar NTP durante el proceso de captura
-si quiere capturar en forma confiable.
-</para>
-</listitem>
-
-<listitem>
-<para>
-No cambie la opción <option>outfmt</option> a menos que sepa lo que está haciendo
-o su tarjeta/controlador realmente no soporte la opción por omisión (espacio de color
-YV12). En las versiones viejas de <application>MPlayer</application>/<application>
-MEncoder</application> era necesario especificar el formato de salida. Este
-problema se deberÃa estar resuelto en las versiones actuales y la opción <option>outfmt</option>
-no se requiere más, ya que la opción por omisión sirve para la mayorÃa de los propósitos. Por
-ejemplo si está capturando en DivX usando
-<systemitem class="library">libavcodec</systemitem> y especifica <option>outfmt=RGB24</option>
-para incrementar la calidad de las imágenes capturadas, las imágenes capturadas serán
-realmente convertidas nuevamente a YV12 por lo que lo único que logra es un desperdicio
-masivo de ciclos de CPU.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Para especificar el espacio de colores I420 (<option>outfmt=i420</option>), deberá
-agregar una opción <option>-vc rawi420</option> debido a un conflicto de fourcc con
-un codec de vÃdeo de Intel Indeo.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Hay muchas maneras de capturar audio. Puede capturar el sonido ya sea usando
-su tarjeta de sonido por medio de un cable de conexión externo entre la placa
-sintonizadora y la linea de entrada, o usando el chip ADC incorporado en el chip
-bt878. En este ultimo caso, deberá cargar el controlador <emphasis role="bold">btaudio
-</emphasis>. Lea el archivo <filename>linux/Documentation/sound/btaudio</filename>
-(en el árbol de directorio del núcleo, no el de
-<application>MPlayer</application>) para instrucciones de como
-usar este controlador.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Si <application>MEncoder</application> no puede abrir el dispositivo de audio,
-asegúrese que este realmente disponible. Puede haber algunos problemas con
-algunos servidores de sonido como arts (KDE) o esd (GNOME). Si tiene una placa
-de sonido full dúplex (casi todas las placas decentes lo soportan hoy en dÃa), y
-está usando KDE, trate activando la opción "full dúplex" en el menú de preferencias del
-servidor de sonido.
-</para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-
-<sect2 id="tv-examples">
-<title>Ejemplos</title>
-
-<informalexample>
-<para>
-Salida ficticia, a AAlib :)
-<screen>
-mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://<!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Entrada desde un dispositivo estándar V4L:
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://<!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Un ejemplo más sofisticado. Esto hace que <application>MEncoder</application>
-capture la imagen completa PAL, corte los margenes y desentrelazando la
-imagen usando un algoritmo linear blend. El audio es comprimido con una
-tasa de bits constante de 64kbps, usando el codec LAME. Esta configuración
-es satisfactoria para capturar pelÃculas.
-<screen>
- mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -oac mp3lame -lameopts cbr:br=64 \
- -vf crop=720:544:24:16,pp=lb -o <replaceable>salida.avi</replaceable> tv://
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Esto adicionalmente escalará la imagen a 384x288 y comprimirá el vÃdeo
-a una tasa de bits de 350kbps en modo alta calidad. La opción <option>
-vqmax</option> suelta al cuantizador y le permite al compresor de vÃdeo
-alcanzar tasas de bits muy bajas a expensas de la calidad. Esto puede ser
-usado para capturar series de TV largas, donde la calidad del vÃdeo no
-es tan importante.
-<screen>
- mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 \
- -vf crop=720:540:24:18,pp=tn/lb,scale=384:288 -sws 1 \
- -o <replaceable>salida.avi</replaceable> tv://
-</screen>
-Es posible especificar una dimensión de imagen más chica en la opción <option>-tv</option>
-y omitir el escalado de software pero este enfoque usa la máxima cantidad de información
-disponible y es un poco más resistente al ruido. Los chips bt8x8 pueden hacer
-el promediado de pixels solo en dirección horizontal debido a limitaciones de hardware.
-</para>
-</informalexample>
-</sect2>
-</sect1>
-
-<sect1 id="radio">
-<title>Radio</title>
-
-<para>
-This section is about how to enable listening to radio from
-a V4L-compatible radio tuner. See the man page for a
-description of radio options and keyboard controls.
-</para>
-
-<sect2 id="radio-tips">
-<title>Usage tips</title>
-
-<para>
-The full listing of the options is available in the manual page.
-Here are just a few tips:
-
-<itemizedlist>
-<listitem><para>
- Make sure your tuner works with another radio software in Linux, for
- example <application>XawTV</application>.
-</para></listitem>
-<listitem><para>
- Use the <option>channels</option> option. An example:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- Explanation: With this option, only the 104.4 and 103.9 radio stations
- will be usable. There will be a nice OSD text upon channel switching,
- displaying the channel's name. Spaces in the channel name must be
- replaced by the "_" character.
-</para></listitem>
-<listitem><para>
- There are several ways of capturing audio. You can grab the sound either using
- your sound card via an external cable connection between video card and
- line-in, or using the built-in ADC in the saa7134 chip. In the latter case,
- you have to load the <systemitem>saa7134-alsa</systemitem> or
- <systemitem>saa7134-oss</systemitem> driver.
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application> cannot be used for audio capture,
- because it requires a video stream to work. So your can either use
- <application>arecord</application> from ALSA project or
- use <option>-ao pcm:file=file.wav</option>. In the latter case you
- will not hear any sound (unless you are using a line-in cable and
- have switched line-in mute off).
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<sect2 id="radio-examples">
-<title>Examples</title>
-
-<informalexample><para>
-Input from standard V4L (using line-in cable, capture switched off):
-<screen>mplayer radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-Input from standard V4L (using line-in cable, capture switched off,
-V4Lv1 interface):
-<screen>mplayer -radio driver=v4l radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-Playing second channel from channel list:
-<screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
-</para></informalexample>
-
-<informalexample>
-<para>
-Passing sound over the PCI bus from the radio card's internal ADC.
-In this example the tuner is used as a second sound card
-(ALSA device hw:1,0). For saa7134-based cards either the
-<systemitem>saa7134-alsa</systemitem> or <systemitem>saa7134-oss</systemitem>
-module must be loaded.
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
- -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note><para>
-When using ALSA device names colons must be replaced
-by equal signs, commas by periods.
-</para></note>
-</para>
-</informalexample>
-</sect2>
-
-</sect1>
-</chapter>
diff --git a/DOCS/xml/es/video.xml b/DOCS/xml/es/video.xml
deleted file mode 100644
index 4695319..0000000
--- a/DOCS/xml/es/video.xml
+++ /dev/null
@@ -1,2602 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 1.51 -->
-<chapter id="video-dev">
-<title>Dispositivos de salida de video</title>
-
-<sect1 id="mtrr">
-<title>Configurando MTRR</title>
-
-<para>
-Es MUY recomendable comprobar si los registros MTRR están
-correctamente establecidos, porque pueden proporcionar un
-aumento considerable de rendimiento.
-</para>
-
-<para>
-Haga <command>cat /proc/mtrr</command>:
-<screen>
-<prompt>--($:~)--</prompt> cat /proc/mtrr
-reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
-reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
---></screen>
-</para>
-
-<para>
-Esto es lo correcto, muestra mi Matrox G400 con 16MB de memoria.
-Tengo esto por usar XFree 4.x.x, que configura los registros MTRR
-automáticamente.
-</para>
-
-<para>
-Si no funciona, deberá hacerlo de manera manual. Primero, debe encontrar
-la dirección base. Tiene 3 formas de encontrarla:
-
-<orderedlist>
-<listitem><para>
- desde los mensajes de inicio de X11, por ejemplo:
- <screen>
-(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
-(--) SVGA: Linear framebuffer at 0xD8000000<!--
---></screen>
- </para></listitem>
-<listitem><para>
- de <filename>/proc/pci</filename> (use la órden <command>lspci -v</command>):
- <screen>
-01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
-Memory at d8000000 (32-bit, prefetchable)
- </screen>
- </para></listitem>
-<listitem><para>
- de los mensajes del controlador del kernel mga_vid kernel (use <command>dmesg</command>):
- <screen>mga_mem_base = d8000000</screen>
- </para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Después encuentre el tamaño de la memoria. Esto es muy fácil, convierta el
-tamaño de la memoria RAM de video a hexadecimal, o use esta tabla:
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
-<row><entry>1 MB</entry><entry>0x100000</entry></row>
-<row><entry>2 MB</entry><entry>0x200000</entry></row>
-<row><entry>4 MB</entry><entry>0x400000</entry></row>
-<row><entry>8 MB</entry><entry>0x800000</entry></row>
-<row><entry>16 MB</entry><entry>0x1000000</entry></row>
-<row><entry>32 MB</entry><entry>0x2000000</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Ahora ya conoce la dirección base y el tamaño de la memoria, ¡vamos
-a configurar los registros MTRR!
-Por ejemplo, para la tarjeta Matrox de antes (<literal>base=0xd8000000</literal>)
-con 32MB ram (<literal>size=0x2000000</literal>) ejecute:
-<screen>
-echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr
-</screen>
-</para>
-
-<para>
-No todas las CPUs soportan MTRRs. Por ejemplo K6-2's antiguos (alrededor
-de 266MHz, stepping 0) no soportan MTRR, pero stepping 12's lo
-soportan
-(<command>cat /proc/cpuinfo</command> para comprobarlo).
-</para>
-</sect1>
-
-<sect1 id="output-trad">
-<title>Salidas de video para tarjetas de video tradicionales</title>
-<sect2 id="xv">
-<title>Xv</title>
-
-<para>
-Bajo XFree86 4.0.2 o posterior, puede usar las rutinas de hardware YUV de su
-tarjeta gráfica usando la extensión XVideo. Esto es lo que usa la opción
-<option>-vo xv</option>. Además, este controlador soporta ajustes de
-brillo/contraste/saturación/etc (a menos que use el antiguo, lento codec
-DirectShow DivX, que tiene soporte siempre), vea la página de manual.
-</para>
-
-<para>
-Para que esto funcione, asegúrese de comprobar lo siguiente:
-
-<orderedlist>
-<listitem><para>
- Tiene que usar XFree86 4.0.2 o posterior (otras versiones no tienen XVideo)
- </para></listitem>
-<listitem><para>
- Su tarjeta actualmente soporta aceleración hardware (las modernas lo hacen)
- </para></listitem>
-<listitem><para>
- X carga la extensión XVideo, esto es algo como:
- <programlisting>(II) Loading extension XVideo</programlisting>
- en <filename>/var/log/XFree86.0.log</filename>
- <note><para>
- Esto carga solo la extensión de XFree86. En una instalación buena, siempre
- es cargado, y no importa si el soporte XVideo para la
- <emphasis role="bold">tarjeta</emphasis> ha sido cargado!
- </para></note>
- </para></listitem>
-<listitem><para>
- Su tarjeta tiene soporte Xv bajo Linux. Para comprobarlo, pruebe
- <command>xvinfo</command>, es parte de la distribucióno XFree86. Debe mostrar
- un texto largo, similar a éste:
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...etc...)<!--
---></screen>
- Debe soportar formatos de pixel YUY2 packed, y YV12 planar para ser
- usables con <application>MPlayer</application>.
- </para></listitem>
-<listitem><para>
- Y finalmente, compruebe si <application>MPlayer</application> fue
- compilado con soporte 'xv'.
- Haga <command>mplayer -vo help | grep xv</command>. Si fue compilado
- con soporte 'xv', aparecerá una lÃnea similar a:
- <screen>
- xv X11/Xv<!--
- --></screen>
- </para></listitem>
-</orderedlist>
-</para>
-
-<sect3 id="tdfx">
-<title>Tarjetas 3dfx</title>
-
-<para>
-Controladores antiguos 3dfx se sabe que tienen problemas con la aceleración
-XVideo, no soportan ni YUY2 ni YV12, ni nada. Verifique que tiene XFree86
-versión 4.2.0 o posterior, este funciona bien con YV12 y YUY2. Versiones
-previas, incluyendo 4.1.0, <emphasis role="bold">falla con YV12</emphasis>.
-Si experiencia efectos extraños usando <option>-vo xv</option>, pruebe SDL
-(tiene XVideo también) y vea si eso puede ayudarle. Compruebe la
-sección <link linkend="sdl">SDL</link> para más detalles.
-</para>
-
-<para>
-¡<emphasis role="bold">O</emphasis>, pruebe el NUEVO controlador
-<option>-vo tdfxfb</option>! Vea la sección <link linkend="tdfxfb">tdfxfb</link>.
-</para>
-</sect3>
-
-
-<sect3 id="s3">
-<title>Tarjetas S3</title>
-
-<para>
-Las S3 Savage3D deben funcionar bien, pero para Savage4, use XFree86 version 4.0.3
-o posterior (en caso de problemas con la imagen, pruebe 16bpp). Como para
-S3 Virge: hay soporte xv, pero la tarjeta es lenta por sà misma, será mejor que
-la venda.
-</para>
-
-<note>
-<para>
-Actualmente no está claro qué modelos de Savage carecen de soporte YV12, y
-convierten por controlador (lento). Si sospecha de su tarjeta, obtenga un
-controlador nuevo, o pregunte de forma correcta en la lista de correo
-mplayer-users por un controlador con soporte para MMX/3DNow.
-</para>
-</note>
-</sect3>
-
-
-<sect3 id="nvidia">
-<title>Tarjetas nVidia</title>
-
-<para>
-nVidia no es siempre una buena elección bajo Linux ... El controlador de
-código abierto de XFree86 tiene soporte en la mayorÃa de los casos, pero para
-algunas tarjetas, tiene que usar un controlador de código-cerrado de nVidia,
-disponible en
-<ulink url="http://www.nvidia.com/object/linux.html">el sitio web de nVidia</ulink>.
-Siempre necesitará ese controlador de todos modos si quiere también aceleración 3D.
-</para>
-
-<para>
-Las tarjetas Riva128 no tienen soporte XVideo con el controlador nVidia de
-XFree86 :( Las quejas a nVidia.
-</para>
-
-<para>
-Sin embargo, <application>MPlayer</application> contiene un controlador
-<link linkend="vidix">VIDIX</link> para la mayorÃa de las tarjetas nVidia.
-Actualmente está en estado beta, y tiene algunos problemas. Para más
-información, vea la sección <link linkend="vidix-nvidia">nVidia VIDIX</link>.
-</para>
-</sect3>
-
-
-<sect3 id="ati">
-<title>Tarjetas ATI</title>
-
-<para>
-El <ulink url="http://www.linuxvideo.org/gatos">controlador GATOS</ulink>
-(que es el que deberÃa de usar, a menos que tenga una Rage128 o Radeon) tiene
-VSYNC activado por defecto. Esto significa que tiene velocidad de decodificación (!)
-sincronizado con la tasa de refresco del monitor. Si la reproducción es lenta, pruebe
-a desactivar VSYNC, o establezca una tasa de refresco a n*(fps de la pelÃcula) Hz.
-</para>
-
-<para>
-Radeon VE - si necesita X, use XFree86 4.2.0 o posterior para esta tarjeta.
-No tiene soporte de salida de TV. Por supuesto con <application>MPlayer</application>
-puede felizmente obtener gráficos <emphasis role="bold">acelerados</emphasis>, con o
-sin <emphasis role="bold">salida TV</emphasis>, y no se necesitan bibliotecas o X.
-Lea la sección <link linkend="vidix">VIDIX</link>.
-</para>
-</sect3>
-
-
-<sect3 id="neomagic">
-<title>Tarjetas NeoMagic</title>
-
-<para>
-Estas tarjetas se pueden encontrar en algunos portátiles. Debe usar XFree86 4.3.0 o
-posterior, o incluso los controladores de Stefan Seyfried
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-capable</ulink>.
-Elija el que corresponda a su versión de XFree86.
-</para>
-
-<para>
-XFree86 4.3.0 incluye soporte Xv, a pesar de eso Bohdan Horst envió un pequeño
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">parche</ulink>
-contra los fuentes de XFree86 que aceleran las operaciones de framebuffer (y XVideo por tanto)
-hasta cuatro veces. El parche ha sido incluido en XFree86 CVS y deberá estar en la
-siguiente liberación después de la 4.3.0.
-</para>
-
-<para>
-Para permitir reproducción de contenido de tamaño de DVD cambie su XF86Config como este:
-<programlisting>
-Section "Device"
- [...]
- Driver "neomagic"
- <emphasis>Option "OverlayMem" "829440"</emphasis>
- [...]
-EndSection<!--
---></programlisting>
-</para>
-</sect3>
-
-
-<sect3 id="trident">
-<title>Tarjetas Trident</title>
-<para>
-Si quiere usar xv con una tarjeta trident, sepa que no funciona con
-4.1.0, instale XFree 4.2.0. 4.2.0 añade soporte para Xv en pantalla completa
-con la tarjeta Cyberblade XP.
-</para>
-
-<para>
-Alternativamente, <application>MPlayer</application> contiene un controlador
-<link linkend="vidix">VIDIX</link> para la tarjeta Cyberblade/i1.
-</para>
-
-</sect3>
-
-
-<sect3 id="kyro">
-<title>Tarjetas Kyro/PowerVR</title>
-<para>
-Si quiere usar Xv con una tarjeta basada en Kyro (por ejemplo Hercules
-Prophet 4000XT), debe descargar los controladores desde
-<ulink url="http://www.powervr.com/">el sitio de PowerVR</ulink>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>PREÃMBULO</title>
-<para>
-Este documento intenta explicar en pocas palabras que es DGA en general
-y que puede hacer el controlador de video DGA de <application>MPlayer</application>
-(y qué no puede hacer).
-</para>
-</formalpara>
-
-<formalpara>
-<title>QUÃ ES DGA</title>
-<para>
-<acronym>DGA</acronym> es una abreviatura para <emphasis>Direct Graphics
-Access</emphasis> y eso significa que es un programa que pasa por alto
-el servidor X y modifica directamente la memoria de framebuffer. Técnicamente
-hablando esto se hace mapeando la memoria del framebuffer en el rango de
-memoria de su proceso. Esto es permitido por el kernel solo si tiene privilegios
-de superusuario. Puede obtenerlos identificandose como
-<systemitem class="username">root</systemitem> o estableciendo el bit SUID en
-el ejecutable de <application>MPlayer</application> (<emphasis role="bold">no
-recomendado</emphasis>).
-</para>
-</formalpara>
-<para>
-Hay dos versiones de DGA: DGA1 es usado por XFree 3.x.x y DGA2 fue
-introducido con Xfree 4.0.1.
-</para>
-
-<para>
-DGA1 provee solo acceso directo al framebuffer como se describe más arriba.
-Para cambiar la resolución de la señal de video debe apoyarse en la extensión
-XVidMode.
-</para>
-
-<para>
-DGA2 incorpora las caracterÃsticas de la extensión XVidMode y también
-permite cambiar la profundidad de color de la pantalla. Con eso puede,
-básicamente ejecutar un servidor X con profundidad de color de 32 bit,
-cambiando a una profundidad de 15 bits y viceversa.
-</para>
-
-<para>
-Sin embargo DGA tiene algunos problemas. Parece ser muy dependiente del
-chip gráfico que usa en la implementación del controlador de video en
-el servidor X que controla a este chip. Por eso no funciona en todos los
-sistemas...
-</para>
-
-<formalpara>
-<title>INSTALANDO SOPORTE DGA PARA <application>MPlayer</application></title>
-
-<para>Primero asegura que X carga la extensión DGA, mira en
-<filename>/var/log/XFree86.0.log</filename>:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-Vea, ¡XFree86 4.0.x o posterior es <emphasis role="bold">altamente recomendado</emphasis>!
-El controlador DGA de <application>MPlayer</application> es autodetectado
-por <filename>./configure</filename>, o puede forzarlo con <option>--enable-dga</option>.
-</para>
-</formalpara>
-
-<para>
-Si el controlador no puede cambiar a una resolución menor, experimente
-con opciones <option>-vm</option> (solo con X 3.3.x), <option>-fs</option>,
-<option>-bpp</option>, <option>-zoom</option> para encontrar un modo de
-video donde quepa la pelÃcula. No hay un conversor bueno por ahora :(
-</para>
-
-<para>
-Hágase <systemitem class="username">root</systemitem>. DGA necesita acceso
-root para permitir escribir directamente en la memoria de video. Si quiere
-ejecutarlo como usuario, entonces instale <application>MPlayer</application>
-SUID root:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
-Ahora funciona como usuario simple, también.
-</para>
-
-<caution>
-<title>Riesgos de seguridad</title>
-<para>
-¡Esto es un <emphasis role="bold">gran</emphasis> riesgo de seguridad!
-<emphasis role="bold">Nunca</emphasis> haga esto en un servidor o en un ordenador
-que pueda ser accedido por otra gente porque pueden ganar privilegios de root
-a través del <application>MPlayer</application> SUID root.
-</para>
-</caution>
-
-<para>
-Ahora use la opción <option>-vo dga</option>, y ya debe ir! (espero :) También
-debe probar si la opción <option>-vo sdl:dga</option> funciona para usted!
-¡Esto es mucho más rápido!
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>CAMBIOS DE RESOLUCIÃN</title>
-
-<para>
-El controlador DGA le permite cambiar la resolución de la señal de salida.
-Esto evita tener que hacer escalado por software (lento) y al mismo tiempo
-provee imagen a pantalla completa. Idealmente debe cambiarse a la resolución
-exacta (excepto para respetar relación de aspecto) de los datos de video, pero
-el servidor X solo permite cambiar resoluciones predefinidas en
-<filename>/etc/X11/XF86Config</filename>
-<filename>/etc/X11/XF86Config</filename>
-(<filename>/etc/X11/XF86Config-4</filename> para XFree 4.X.X respectivamente).
-Estas son definidas por las llamadas modelines y dependen de las capacidades
-de su hardware de video. El servidor X escanea este archivo de configuración
-durante el inicio y desactiva los modelines que no sirvan para su hardware.
-Puede encontrar que modos sobreviven en el archivo de historial de X11. Puede
-encontrarse en: <filename>/var/log/XFree86.0.log</filename>.
-</para>
-</formalpara>
-
-<para>
-Se sabe que estas entradas funcionan bien con un chip Riva128, usando el
-modulo de controlador nv.o del servidor X.
-</para>
-
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA & <application>MPlayer</application></title>
-<para>
-DGA es usado en dos lugares con <application>MPlayer</application>: El
-controlador SDL puede prepararse para que lo use (<option>-vo sdl:dga</option>)
-y el controlador DGA (<option>-vo dga</option>. Lo mencionado más arriba es
-correcto para ambos; en las siguientes secciones explicaré cómo funciona
-el controlador DGA para <application>MPlayer</application>.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>CARACTERISTICAS</title>
-
-<para>
-El controlador DGA es invocado especificando <option>-vo dga</option> en la
-lÃnea de órdenes. El comportamiento por defecto es cambiar a una resolución
-que coincida con la resolución original del video o tan cercana como sea
-posible. De forma deliberada ignora las opciones <option>-vm</option> y
-<option>-fs</option> (activando el cambio de modo de video y pantalla
-completa) - siempre intenta cubrir tanta área de su pantalla como sea
-posible cambiando el modo de video, lo que lo hace usar un ciclo adicional
-de su CPU para escalar la imagen. Si no le gusta este modo que elije puede
-forzar que se elija el modo que se ajuste más a la resolución especificada
-por <option>-x</option> y <option>-y</option>. Proporcionando la opción
-<option>-v</option>, el controlador DGA imprimirá, junto con otro montón
-de cosas, una lista de todas las resoluciones soportadas por su archivo
-<filename>XF86Config</filename> actual. Teniendo DGA2 también puede forzar
-que se use cierta profundidad de color usando la opción <option>-bpp</option>.
-Profundidades de color válidas son 15, 16, 24 y 32. Depende de su hardware
-que estén soportadas de manera nativa o que se hagan mediante una conversión
-por software (posiblemente lento).
-</para>
-</formalpara>
-<para>
-Si tiene la suerte suficiente para tener memoria fuera de pantalla restante
-donde colocar una imagen entera, el controlador DGA usará doblebuffering,
-lo que puede resultar en una reproducción de la pelÃcula mucho más suave.
-Le informará de cuándo está activado o no el doble-buffer.
-</para>
-
-<para>
-Doblebuffering significa que el siguiente marco de su video está siendo
-dibujado en alguna zona de memoria fuera de la pantalla mientras se muestra
-el marco actual. Cuando el siguiente marco está listo, el chip de gráficos
-solo dice la posición en memoria donde se encuentra y muestra los datos
-que hay allÃ. Mientras tanto el otro buffer en memoria es rellenado de nuevo
-con nuevos datos de video.
-</para>
-
-<para>
-Doblebuffering puede ser activado usando la opción <option>-double</option>
-y desactivado con <option>-nodouble</option>. Actualmente la opción por
-defecto es doblebuffering desactivado. Cuando use el controlador DGA,
-la información en pantalla (OSD) solo funciona si está el doblebuffering activado.
-Sin embargo, activar doblebufferint puede resultar en una falta grande
-de velocidad (en mi K6-II+ 525 usa un 20% adicional de tiempo de CPU!) dependiendo
-de la implementación de DGA para su hardware.
-</para>
-
-
-<formalpara>
-<title>ASUNTOS SOBRE VELOCIDAD</title>
-
-<para>
-Generalmente hablando, el acceso DGA al framebuffer debe ser al menos tan
-rápido como usar el controlador X11 con el beneficio adicional de obtener
-una imagen a pantalla completa. Los porcentajes de velocidad son impresos por
-<application>MPlayer</application> y se tienen que interpretar con cuidado,
-por ejemplo, con el controlador X11 no se incluye el tiempo usado por
-el servidor X necesario para realizar el dibujo en pantalla. Conecte un
-terminal serie a su equipo e inicie <command>top</command> para ver qué
-es realmente lo que está ocurriendo en su equipo.
-</para>
-</formalpara>
-
-<para>
-Generalmente hablando, el aumento de velocidad por usar DGA frente al uso
-'normal' usando X11 depende en gran medida de su tarjeta gráfica y de cómo
-de optimizado esté el módulo del servidor X.
-</para>
-
-<para>
-Si tiene un sistema lento, mejor use 15 o 16 bit de profundidad de color porque
-requieren solo la mitad de ancho de banda de memoria que una pantalla de 32 bit.
-</para>
-
-<para>
-Usar una profundidad de color de 24 bit sigue siendo incluso buena idea aunque
-su tarjeta soporte 32 bit de forma nativa porque transfiere 25% menos datos que
-el modo 32/32.
-</para>
-
-<para>
-He visto algunos archivos AVI reproducidos en un Pentium MMX 266. Las CPUs
-AMD K6-2 deben funcionar a 400 MHz o superior.
-</para>
-
-
-<formalpara>
-<title>FALLOS CONOCIDOS</title>
-
-<para>
-Bien, de acuerdo con algunos desarrolladores de XFree, DGA es bastante
-bestia. Ellos aconsejan que es mejor no usarlo. Su implementación no
-funciona bien con todos los controladores de chipsets para XFree existentes.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Con XFree 4.0.3 y <filename>nv.o</filename> hay un fallo que resulta en
- extraños colores.
- </para></listitem>
-<listitem><para>
- El controlador ATI requiere cambiar el modo original más de una vez una
- vez finaliza el uso de DGA.
- </para></listitem>
-<listitem><para>
- Algunos controladores sÃmplemente fallan al volver a la resolución
- normal (use
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad +</keycap> y
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad -</keycap>
- para volver al modo normal de manera manual).
- </para></listitem>
-<listitem><para>
- Algunos controladores sÃmplemente muestran colores extraños.
- </para></listitem>
-<listitem><para>
- Algunos controladores se quejan de la cantidad de memoria que intenta
- mapear el espacio de direcciones del proceso, incluso cuando vo_dga no
- quiere usar doblebuffering (¿SIS?).
- </para></listitem>
-<listitem><para>
- Algunos controladores parecen fallar informando de un único modo
- válido. En este caso el controlador DGA falla diciendole que no tiene
- sentido el modo 100000x100000 o algo asÃ.
- </para></listitem>
-<listitem><para>
- OSD solo funciona con doblebuffering activado (si no parpadea).
- </para></listitem>
-</itemizedlist>
-
-</sect2>
-<!--</sect1>-->
-
-<!-- ********** -->
-
-<sect2 id="sdl">
-<title>SDL</title>
-
-<para>
-<acronym>SDL</acronym> (Simple Directmedia Layer) es básicamente una
-interfaz unificada de video/audio. Los programas que la usan solo tienen
-que preocuparse de SDL, y no del controlador de video o audio que SDL esté
-usando. Por ejemplo una versión de Doom que use SDL puede usarse en
-svgalib, aalib, X, fbdev, y otros, solo tiene que especificar el (por
-ejemplo) controlador de video a usar con la variable de entorno
-<envar>SDL_VIDEODRIVER</envar>. Bueno, teóricamente.
-</para>
-
-<para>
-Con <application>MPlayer</application>, se usa la caracterÃstica del escalador
-software del controlador X11 para tarjetas/controladores que no soportan
-XVideo, hasta que hagamos nuestro propio (más rápido, más bonito) escalador
-por software. También usamos su salida aalib, pero ahora tenemos el nuestro propio
-que es más confortable. Su modo DGA fue mejor que el nuestro, hasta hace poco.
-¿Lo quiere probar ahora? :)
-</para>
-
-<para>
-También ayuda con algunos controladores/tarjetas con fallos si el video va
-a saltos (sin ser un problema de sistema lento), o el audio va con retardo.
-</para>
-
-<para>
-La salida de video SDL permite mostrar los subtÃtulos debajo de la pelÃcula,
-en la (si está presente) banda negra.
-</para>
-
-<variablelist>
-<title>Hay varias opciones en la lÃnea de órdenes para SDL:</title>
-<varlistentry>
- <term><option>-vo sdl:<replaceable>nombre</replaceable></option></term>
- <listitem><para>
- especifica el controlador de SDL de video a usar (i.e. <literal>aalib</literal>,
- <literal>dga</literal>, <literal>x11</literal>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-ao sdl:<replaceable>nombre</replaceable></option></term>
- <listitem><para>
- especifica el controlador de SDL de audio a usar (i.e. <literal>dsp</literal>,
- <literal>esd</literal>, <literal>arts</literal>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-noxv</option></term>
- <listitem><para>
- desactiva la aceleración hardware XVideo
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-forcexv</option></term>
- <listitem><para>
- intenta forzar la aceleración XVideo
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<table id="teclas_sdl">
-<title>Teclas solo para SDL</title>
-<tgroup cols="2">
-<thead>
-<row><entry>Tecla</entry><entry>Acción</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>c</keycap></entry><entry>
- cambia entre los modos de pantalla completa disponibles
- </entry></row>
-<row><entry><keycap>n</keycap></entry><entry>
- regresa al modo normal
- </entry></row>
-</tbody>
-</tgroup>
-</table>
-
-<itemizedlist>
-<title>Fallos conocidos:</title>
-<listitem><para>
- Al pulsar teclas bajo una consola sdl:aalib el controlador la repite
- indefinidamente. (¡Mejor use la opción <option>-vo aa</option>!) Es un
- fallo de SDL, yo no puedo cambiarlo (probado con SDL 1.2.1).
- </para></listitem>
-<listitem><para>
- ¡NO USE SDL con GUI! El comportamiento no será el esperado.
- </para></listitem>
-</itemizedlist>
-</sect2>
-
-
-<sect2 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>INSTALACIÃN</title>
-<para>
-Debe instalar svgalib y su paquete de desarrollo para construir
-<application>MPlayer</application> con el controlador SVGAlib (es autodetectado,
-aunque también puede forzarse), y no se olvide de editar
-<filename>/etc/vga/libvga.config</filename> para configurar su tarjeta y su
-monitor.
-</para>
-</formalpara>
-
-<note>
-<para>
-Asegúrese de no usar la opción <option>-fs</option>, porque cambia el estado
-del uso del escalador software, y es lento. Si realmente lo necesita, use
-la opción <option>-sws 4</option> lo que le producirá peor calidad, pero
-es algo más rápido.
-</para>
-</note>
-
-<formalpara><title>SOPORTE EGA (4BPP)</title>
-<para>
-SVGAlib incorpora EGAlib, y <application>MPlayer</application> tiene la
-posibilidad de mostrar cualquier pelÃcula en 16 colores, de manera que se
-puede usar con las siguientes configuraciones de equipos:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Tarjeta EGA con monitor EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
- </para></listitem>
-<listitem><para>
- Tarjeta EGA con monitor CGA: 320x200x4bpp, 640x200x4bpp
- </para></listitem>
-</itemizedlist>
-
-<para>
-El valor bpp (bits por pixel) debe establecerse a 4 manualmente:
-<option>-bpp 4</option>
-</para>
-
-<para>
-La pelÃcula probablemente deberá ser escalada para ajustarse al modo EGA:
-<screen>-vf scale=640:350</screen>
-o
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-Para eso se necesita una rutina de escalado de mala calidad pero rápida:
-<screen>-sws 4</screen>
-</para>
-
-<para>
-Quizá la corrección automática de relación de aspecto deberá desactivarse:
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-De acuerdo con mi experiencia la mejor calidad de imagen
-en pantallas EGA puede obtenerse decrementando el brillo un poco:
-<option>-vf eq=-20:0</option>. También necesité bajar la tasa de
-muestreo en mi equipo, porque el sonido no funcionaba a 44kHz:
-<option>-srate 22050</option>.
-</para></note>
-
-<para>
-Puede activar OSD y subtÃtulos solo con el filtro <option>expand</option>,
-vea la página de manual para los parámetros concretos.
-</para>
-</sect2>
-
-
-<sect2 id="fbdev">
-<title>Salida en framebuffer (FBdev)</title>
-
-<para>
-Si se construye o no el objetivo FBdev es autodetectado durante el
-<filename>./configure</filename>. Lea la documentación del framebuffer en
-los fuentes del núcleo (<filename>Documentation/fb/*</filename>) para más
-información.
-</para>
-
-<para>
-Si su tarjeta no soporta el estándar VBE 2.0 (tarjetas ISA/PCI antiguas, tales
-como S3 Trio64), solo VBE 1.2 (¿o anterior?): Bueno, VESAfb sigue funcionando,
-pero necesitará cargar SciTech Display Doctor (formalmente UniVBE) antes de
-iniciar Linux. Use un disco de inicio DOS o similar. Y no olvide registrar
-UniVBE ;))
-</para>
-
-<para>
-La salida FBdev toma parámetros adicionales sobre los otros:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- especifica el dispositivo framebuffer a usar (<filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- nombre del modo a usar (de acuerdo con <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- archivo de configuración de modos (por defecto <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- valores importantes <emphasis role="bold">important</emphasis>, vea
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Si desea cambiar a un modo especÃfico, use
-<screen>
-mplayer -vm -fbmode <replaceable>nombre_del_modo</replaceable> <replaceable>nombrearchivo</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vm</option> sin más opciones elije el mejor modo desde
- <filename>/etc/fb.modes</filename>. Puede usarse junto con
- las opciones <option>-x</option> y <option>-y</option> también. La opción
- <option>-flip</option> está soportada solo si el formato de pixel de la
- pelÃcula coincide con el formato de pixel del modo de video. Preste atención
- al valor bpp, el controlador fbdev intentará usar el actual, o si especifica
- uno con la opción <option>-bpp</option>, pues ese.
- </para></listitem>
-<listitem><para>
- La opción <option>-zoom</option> no está soportada (use <option>-vf scale</option>).
- No puede usar modos de 8bpp (o menos).
- </para></listitem>
-<listitem><para>
- Posiblemente quiera desactivar el cursor:
- <screen>echo -e '\033[?25l'</screen>
- o
- <screen>setterm -cursor off</screen>
- y el protector de pantalla:
- <screen>setterm -blank 0</screen>
- Para volver a activar el cursor:
- <screen>echo -e '\033[?25h'</screen>
- o
- <screen>setterm -cursor on</screen>
- </para></listitem>
-</itemizedlist>
-
-<note>
-<para>
-Los cambios de modo de video para FBdev <emphasis>no funcionan</emphasis> con
-el framebuffer VESA, y no nos pida que funcione, porque no es una limitación
-de <application>MPlayer</application>.
-</para>
-</note>
-</sect2>
-
-
-<sect2 id="mga_vid">
-<title>Framebuffer de Matrox (mga_vid)</title>
-
-<para>
-Esta sección se encarga de describir el soporte de Matrox
-G200/G400/G450/G550 BES (Back-End Scaler), el controlador del núcleo mga_vid.
-Está en activo desarrollo poro A'rpi, y tiene soporte de VSYNC por hardware
-con triple buffering. Funciona tanto en consola con frambuffer como bajo X.
-</para>
-
-<warning>
-<para>
-¡Esto es solo en Linux! En sistemas no-Linux (probado en FreeBSD), puede
-usar en su lugar <link linkend="vidix">VIDIX</link>!
-</para>
-</warning>
-
-<procedure>
-<title>Instalación:</title>
-<step><para>
- Para usarlo, primero tendrá que compilar <filename>mga_vid.o</filename>:
- <screen>
-cd drivers
-make<!--
---></screen>
- </para></step>
-<step><para>
- Cree ahora el dispositivo <filename>/dev/mga_vid</filename>:
- <screen>mknod /dev/mga_vid c 178 0</screen>
- y cargue el controlador con
- <screen>insmod mga_vid.o</screen>
- </para></step>
-<step><para>
- Deberá verificar la autodetección del tamaño de memoria
- usando la órden <command>dmesg</command>. Si es incorrecta,
- use la opción <option>mga_ram_size</option> (antes haga
- <command>rmmod mga_vid</command>), especifique el tamaño
- de la memoria de la tarjeta gráfica en MB:
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
- </para></step>
-<step><para>
- Para que se cargue/descargue automáticamente cuando sea necesario,
- primero inserte la siguiente lÃnea al final de
- <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-
- Después copie el módulo <filename>mga_vid.o</filename> al lugar
- apropiado bajo <filename>/lib/modules<replaceable>versión de
- kernel</replaceable>/<replaceable>dondesea</replaceable></filename>.
- </para><para>
- Y después ejecute
- <screen>depmod -a</screen>
- </para></step>
-<step><para>
- Ahora deberá (re)compilar <application>MPlayer</application>,
- <filename>./configure</filename> detectará
- <filename>/dev/mga_vid</filename> y construirá el controlador 'mga'.
- Luego lo podrá usar con <application>MPlayer</application> mediante
- <option>-vo mga</option> si tiene una consola matroxfb, o
- <option>-vo xmga</option> bajo XFree86 3.x.x ó 4.x.x.
- </para></step>
-</procedure>
-
-<para>
-El controlador mga_vid coopera con Xv.
-</para>
-
-<para>
-El archivo de dispositivo <filename>/dev/mga_vid</filename> puede ser leÃdo
-para obtener informaión, por ejemplo mediante <screen>cat /dev/mga_vid</screen>
-y puede se escrito para realizar cambios en el brillo:
-<screen>echo "brightness=120" > /dev/mga_vid</screen>
-</para>
-</sect2>
-
-
-<sect2 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>Soporte 3Dfx YUV</title>
-<para>
-Este controlador usa el controlador framebuffer del kernel tdfx para
-reproducir las pelÃculas con aceleración YUV. Necesita un kernel con
-soporte tdfxfb, y recompilar con
-<screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect2>
-
-
-<sect2 id="opengl">
-<title>Salida OpenGL</title>
-
-<para>
-<application>MPlayer</application> permite mostrar pelÃculas usando OpenGL,
-pero si su plataforma/controlador soporta xv como es el caso en un PC con
-Linux, usa xv en su lugar, el rendimiento en OpenGL es considerablemente
-peor. Si tiene una implementación de X11 sin soporte para xv, OpenGL es una
-alternativa viable.
-</para>
-
-<para>
-Desafortunadamente no todos los controladores soportan esta caracterÃstica.
-Los controladores Utah-GLX (para XFree86 3.3.6) lo soportan para todas las
-tarjetas.
-Vea <ulink url="http://utah-glx.sourceforge.net"/> para detalles sobre su
-instalación.
-</para>
-
-<para>
-XFree86(DRI) 4.0.3 o posterior soportan OpenGL con tarjetas Matrox y Radeon,
-4.2.0 o posterior soportan Rage128.
-Vea <ulink url="http://dri.sourceforge.net"/> para instrucciones de descarga
-e instalación.
-</para>
-
-<para>
-Un consejo de uno de nuestros usuarios: la salida de video GL puede usarse
-para obtener salida de TV con sincronización vertical. Puede establecer
-una variable de entorno (por lo menos con nVidia):
-</para>
-
-<para>
-<command>export $__GL_SYNC_TO_VBLANK=1</command>
-</para>
-
-</sect2>
-
-
-<sect2 id="aalib">
-<title>AAlib - reproduciendo en modo texto</title>
-
-<para>
-AAlib es una biblioteca para mostrar gráficos en modo texto, usando un
-render ASCII potente. Hay <emphasis>montones</emphasis> de programas que
-tienen soporte para AAlib, como Doom, Quake, etc.
-<application>MPlayer</application> contiene un controlador que funciona
-bastante bien para ello. Si <filename>./configure</filename> detecta
-que aalib está instalado, el controlador aalib libvo será compilado.
-</para>
-
-<para>
-Puede usar algunas teclas en la ventana AA para cambiar las opciones
-de renderizado:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Tecla</entry><entry>Acción</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- reducir contraste
- </entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- aumentar contraste
- </entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- reducir brillo
- </entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- aumentar brillo
- </entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- cambiar renderizado rápido activado/desactivado
- </entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- establece el modo de difuminado (ninguno, distribución de error,
- Floyd Steinberg)
- </entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- invierte la imagen
- </entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- cambia entre control de aa y <application>MPlayer</application>
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>Pueden usarse las siguientes opciones en la lÃnea de órdenes:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- cambia el color OSD
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- cambia el color de los subtÃtulos
- </para><para>
- donde <replaceable>V</replaceable> puede ser:
- <literal>0</literal> (normal),
- <literal>1</literal> (oscuro),
- <literal>2</literal> (negrita),
- <literal>3</literal> (tipografÃa negrita),
- <literal>4</literal> (invertido),
- <literal>5</literal> (especial).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>AAlib provee por sà mismo una gran cantidad de opciones. Aquà están
-algunas de las más importantes:</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- establecer el controlador aa recomendado (X11, curses, Linux)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- usar los 256 caracteres
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- usar ASCII de ocho bit
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- muestra todas las opciones de aalib
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note>
-<para>
-El renderizado hace un uso intensivo de la CPU, especialmente usando
-AA-en-X (usando aalib bajo X), y hace un uso menos intenso de CPU en
-una consola estándar, sin framebuffer. Use SVGATextMode para establecer
-un modo texto grande, ¡y disfrútelo! (en las tarjetas Hercules con
-pantalla secundaria queda muy bien :)) (pero en mi humilde opinión
-puede usar la opción <option>-vf 1bpp</option> para obtener gráficos
-en hgafb :)
-</para>
-</note>
-
-<para>
-Use la opción <option>-framedrop</option> si su ordenador no es lo
-suficientemente rápido para renderizar todos los marcos!
-</para>
-
-<para>
-Al reproducir en un terminal puede obtener mejor velocidad y calidad
-usando el controlador Linux, en lugar del curses (<option>-aadriver linux</option>).
-Pero lo malo es que necesita permisos de escritura en
-<filename>/dev/vcsa<replaceable><terminal></replaceable></filename>!
-Esto no es automáticamente detectado por aalib, pero vo_aa intenta encontrar
-el mejor modo.
-Vea <ulink url="http://aa-project.sourceforge.net/tune"/> para más detalles
-y ajustes.
-</para>
-</sect2>
-
-<sect2 id="caca">
-<title><systemitem class="library">libcaca</systemitem> - Biblioteca de Arte AsCii
-en color</title>
-
-<para>
-La biblioteca <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
-es una biblioteca gráfica que tiene como salida texto en lugar de pixels, de modo
-que funicona en cualquier tarjeta gráfica antigua o en terminales de texto.
-No es como la famosa biblioteca <systemitem class="library">AAlib</systemitem>.
-<systemitem class="library">libcaca</systemitem> necesita un terminal para funcionar,
-esto es funciona en todo sistema Unix (incluyendo Mac OS X) usando bien la biblioteca
-<systemitem class="library">slang</systemitem> o bien la biblioteca
-<systemitem class="library">ncurses</systemitem>, en DOS usando la biblioteca
-<systemitem class="library">conio.h</systemitem>, y en sistemas Windows usando bien
-<systemitem class="library">slang</systemitem> o
-<systemitem class="library">ncurses</systemitem> (a través de emulación Cygwin) o
-<systemitem class="library">conio.h</systemitem>. Si <filename>./configure</filename>
-detecta <systemitem class="library">libcaca</systemitem>, el controlador de salida
-caca libvo será construido.
-</para>
-
-<itemizedlist>
-<title>Las diferencias con <systemitem class="library">AAlib</systemitem> son las
-siguientes:</title>
-<listitem><para>
- 16 colores disponibles para la salida de caracteres (256 pares de colores)
- </para></listitem>
-<listitem><para>
- difuminado del color de la imagen
- </para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Pero <systemitem class="library">libcaca</systemitem> también tiene las siguientes
-limitaciones:</title>
-<listitem><para>
- no soporta brillo, contraste, gamma
- </para></listitem>
-</itemizedlist>
-
-<para>
-Puede usar algunas teclas en la ventana caca para cambiar opciones de renderizado:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Tecla</entry><entry>Acción</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- Cambia los métodos de difuminado de <systemitem class="library">libcaca</systemitem>.
- </entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- Cambia el antialiasing en <systemitem class="library">libcaca</systemitem>.
- </entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- Cambia el fondo en <systemitem class="library">libcaca</systemitem>.
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> también mira algunas
-variables de entorno:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- Establece el controlador caca recomendado, e.g. ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (solo X11)</option></term>
- <listitem><para>
- Especifica el número de filas y columnas. e.g. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (solo X11)</option></term>
- <listitem><para>
- Especifica la tipografÃa a usar. e.g. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Use la opción <option>-framedrop</option> si su ordenador no es suficientemente
-rápido para renderizar todos los marcos de imagen.
-</para>
-
-</sect2>
-
-
-<sect2 id="vesa">
-<title>VESA - salida en VESA BIOS</title>
-
-<para>
-Este controlador fue diseñado e introducido como un
-<emphasis role="bold">controlador genérico</emphasis> para cualquier tarjeta
-gráfica que tenga una BIOS compatible con VESA VBE 2.0. Otra ventaja
-de este controlador es que intenta forzar la activación de la salida
-de TV.
-<citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Fecha: 16 de Septiembre,
-1998</citetitle> (Página 70) dice:
-</para>
-
-<blockquote>
-<formalpara><title>Diseños de controlador-dual</title>
-<para>
-VBE 3.0 soporta el diseño de controlador-dual asumiendo que ambos controladores
-norlmanmente son proporcionados por el mismo OEM, bajo el control de una ROM
-BIOS única en la misma tarjeta gráfica, es posible esconder el hecho
-de que hay dos controladores presentes para la aplicación. Esto tiene la
-limitación de prevenir el uso simultáneo de controladores independientes,
-pero permite a las aplicaciones que se hayan desarrollado antes de la liberación
-de VBE 3.0 operar normalmente. La función VBE 00h (Devuelve Información sobre
-el Controlador) devuelve información combinada de ambos controladores, incluyendo
-una lista combinada de los modos disponibles. Cada una de las funciones VBE
-restantes operan en el controlador activo.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-Por ello puede hacer que la salida-TV funcione usando este controlador.
-(Yo creo que la salida-TV normalmente tiene una cabeza individual o
-al menos una salida individual.)
-</para>
-
-<itemizedlist spacing="compact">
-<title>VENTAJAS</title>
-<listitem><para>
- Le permite ver sus pelÃculas <emphasis role="bold">incluso si Linux no
- conoce</emphasis> su hardware de video.
- </para></listitem>
-<listitem><para>
- No necesita tener instalado nada relacionado con gráficos en su Linux
- (como X11 (también conocido como XFree86), fbdev ni nada por el estilo).
- Este controlador puede funcionar en <emphasis role="bold">modo-texto</emphasis>.
- </para></listitem>
-<listitem><para>
- Puede hacer <emphasis role="bold">funcionar la salida-TV</emphasis>.
- (Esto es conocido al menos para las tarjetas ATI).
- </para></listitem>
-<listitem><para>
- Este controlador llama al manejador <function>int 10h</function> y no
- realiza una emulación - hace llamas <emphasis role="bold">reales</emphasis>
- de BIOS <emphasis>real</emphasis> en <emphasis>modo-real</emphasis>.
- (actualmente en modo vm86).
- </para></listitem>
-<listitem><para>
- Puede usar VIDIX con él, obteniendo pantalla de gráficos acelerados
- <emphasis role="bold">y</emphasis> salida TV al mismo tiempo!
- (Recomendado para tarjetas ATI.)
- </para></listitem>
-<listitem><para>
- Si tiene VESA VBE 3.0+, y especifica
- <systemitem>monitor-hfreq, monitor-vfreq, monitor-dotclock</systemitem> en
- algún sitio (archivo de configuración, o lÃnea de órdenes) podrá obtener
- la tasa de refresco mayor posible. (Usando la Fórmula de Temporización General).
- Para activar ésta caracterÃstica debe especificar <emphasis role="bold">todas</emphasis>
- las opciones de su monitor.
- </para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>DESVENTAJAS</title>
-<listitem><para>
- Solo funciona en <emphasis role="bold">sistemas x86</emphasis>.
- </para></listitem>
-<listitem><para>
- Solo puede ser usado por <systemitem class="username">root</systemitem>.
- </para></listitem>
-<listitem><para>
- En la actualidad solo está disponible para <emphasis role="bold">Linux</emphasis>.
- </para></listitem>
-</itemizedlist>
-
-<important>
-<para>
-No use este controlador con <emphasis role="bold">GCC 2.96</emphasis>!
-¡No funcionará!
-</para>
-</important>
-
-<variablelist>
-<title>OPCIONES EN LA LÃNEA DE ÃRDENES PARA VESA</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
- <listitem><para>
- reconocidas actualmente: <literal>dga</literal> para forzar el modo dga
- y <literal>nodga</literal> para desactivar el modo dga. En modo dga puede
- activar doble buffering mediante la opción <option>-double</option>. Nota:
- puede omitir estos parámetros activando
- <emphasis role="bold">autodetección</emphasis> del modo dga.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>PROBLEMAS CONOCIDOS Y SUS SOLUCIONES</title>
-<listitem><para>
- Si tiene instalada una tipografÃa <emphasis role="bold">NLS</emphasis> en
- su equipo Linux y ejecuta el controlador VESA en modo-texto entonces después
- de terminar <application>MPlayer</application> tendrá cargada una
- <emphasis role="bold">tipografÃa ROM</emphasis> en lugar de la nacional.
- Puede cargar de nuevo la tipografÃa nacional usando la utilidad
- <command>setsysfont</command> de la distribución Mandrake por ejemplo.
- (<emphasis role="bold">Consejo</emphasis>: La misma utilidad se usa para
- la localización de fbdev).
- </para></listitem>
-<listitem><para>
- Algunos <emphasis role="bold">controladores gráficos para Linux</emphasis>
- no actualizan el <emphasis role="bold">modo BIOS</emphasis> activo en la
- memoria DOS. Si tiene ese problema - use siempre el controlador VESA solo
- en <emphasis role="bold">modo-texto</emphasis>. De otro modo
- el modo texto (#03) será activado de todas maneras y tendrá que reiniciar
- la computadora.
- </para></listitem>
-<listitem><para>
- Además puede obtener una pantalla <emphasis role="bold">negra</emphasis> cuando
- el controlador VESA termine. Para volver al estado original de la pantalla -
- sÃmplemente cambie a otra consola (pulsando <keycap>Alt</keycap>+<keycap>F<x></keycap>)
- y vuelva a la consola original del mismo modo.
- </para></listitem>
-<listitem><para>
- Para hacer que <emphasis role="bold">funcione la salida-TV</emphasis> deberá
- tener conectado el conector de TV antes de iniciar el PC porque la BIOS de video
- lo inicia automáticamente durante el proceso POST.
- </para></listitem>
-</itemizedlist>
-</sect2>
-
-
-<sect2 id="x11">
-<title>X11</title>
-
-<para>
-Evite usarlo si es posible. La salida a X11 (usa la extensión de memoria
-compartida), sin ninguna aceleración hardware. Soporta (acelerado por
-MMX/3DNow/SSE, pero sigue siendo lento) escalado por software, use las
-opciones <option>-fs -zoom</option>. La mayorÃa de las tarjetas tienen
-soporte de escalado por hardware, use la salida <option>-vo xv</option>
-para obtenerlo, o <option>-vo xmga</option> para las Matrox.
-</para>
-
-<para>
-El problema es que la mayorÃa de los controladores de las tarjetas no
-soportan aceleración hardware en un monitor/TV secundario. En esos casos,
-puede ver una ventana de color verde/azul en lugar de la pelÃcula. Aquà es
-donde entra en escena este controlador, pero necesitará una CPU potente
-para escalar por software. No use el escalador+salida por software de SDL,
-¡obtendrá una peor calidad de imagen!
-</para>
-
-<para>
-El escalado por software es muy lento, mejor pruebe a cambiar el modo de video.
-Es muy simple. Vea los <link linkend="dga-modelines">la sección de modos de
-DGA</link>, e insertela en su <filename>XF86Config</filename>.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- Si tiene XFree86 4.x.x: use la opcioón <option>-vm</option>. Esto cambiará
- a una resolución donde la pelÃcula se ajuste. Si no lo hace:
- </para></listitem>
-<listitem><para>
- Con XFree86 3.x.x: tiene que cambiar entre las resoluciones disponibles
- con las teclas
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>plus</keycap>
- y
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>minus</keycap>.
- </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Si no puede encontrar los modos que ha insertado, consule la salida de
-XFree86. Algunos controladores no pueden usar pixelclocks bajos que son
-necesarios para modos de video de baja resolución.
-</para>
-</sect2>
-
-
-<sect2 id="vidix">
-<title>VIDIX</title>
-
-<formalpara>
-<title>PREÃMBULO</title>
-<para>
-<acronym>VIDIX</acronym> es la abreviatura para
-<emphasis role="bold">VID</emphasis>eo<emphasis role="bold">I</emphasis>nterface
-para *ni<emphasis role="bold">X</emphasis>.
-VIDIX ha sido diseñado e introducido como una interfaz para los controladores de
-espacio de usuario que proveen tanto rendimiento de video como mga_vid lo hace para
-las tarjetas Matrox. También es muy portable.
-</para>
-</formalpara>
-<para>
-Esta interfaz ha sido diseñada como un intento por ajustar las interfaces
-de aceleración de video existentes (conocidas como mga_vid, rage128_vid, radeon_vid,
-pm3_vid) en un esquema fijo. Provee una interfaz de alto nivel a los chips
-que es conocida como BES (BackEnd scalers) u OV (Video Overlays). No provee
-interfaz a bajo nivel de cosas conocidas por los servidores gráficos.
-(No quiero competir con el equipo X11 en el cambio de modos de gráfidcos).
-Es decir, el principal objetivo de esta interfaz es maximizar la velocidad
-de la reproducción de video.
-</para>
-
-<itemizedlist spacing="compact">
-<title>USO</title>
-<listitem><para>
- Puede usar un controlador de salida de video individual:
- <option>-vo xvidix</option>. Este controlador ha sido desarrollado como u
- front end de X11 a la tecnologÃa VIDIX. Requiere un servidor X y puede funcionar
- solo bajo un servidor X. Note que, como accede directamente al hardware y
- no usa el controlador X, los mapas de pixels en caché en la memoria de la
- tarjeta gráfica pueden estar corruptos. Puede prevenir esto limitando la
- cantidad de memoria de video usada por X con la opción "VideoRam" de
- XF86Config en la sección device. Debe establecer el valor a la cantidad de
- memoria instalada en su tarjeta menos 4MB. Si tiene menos de 8MB de ram de
- video, puede usar la opción "XaaNoPixmapCache" en la sección screen en su lugar.
- </para></listitem>
-<listitem><para>
- Hay un controlador de consola VIDIX: <option>-vo cvidix</option>.
- Requiere un framebuffer inicializado y funcionando para muchas tarjetas (o
- fastidiará su pantalla), y obtendrá un efecto similar al que se obtiene con
- <option>-vo mga</option> o <option>-vo fbdev</option>. Las tarjetas nVidia, sin
- embargo, son capaces de mostrar gráficos reales de video sobre una consola
- de texto real. Vea la sección <link linkend="vidix-nvidia">nvidia_vid</link>
- para más información.
- </para></listitem>
-<listitem><para>
- Puede usar el subdispositivo VIDIX aplicado a varios controladores de salida
- de video, tales como: <option>-vo vesa:vidix</option>
- (<emphasis role="bold">solo en Linux</emphasis>) y <option>-vo fbdev:vidix</option>.
- </para></listitem>
-</itemizedlist>
-
-<para>
-Como ve no impora qué controlador de salida de video se usa con
-<emphasis role="bold">VIDIX</emphasis>.
-</para>
-
-<itemizedlist spacing="compact">
-<title>REQUISITOS</title>
-<listitem><para>
- La tarjeta gráfica debe estar en modo gráfico (excepto las tarjetas nVidia
- con el controlador de salida <option>-vo cvidix</option>.
- </para></listitem>
-<listitem><para>
- El controlador de salida de video de <application>MPlayer</application> debe
- conocer el modo de video activo y ser capaz de decir al subdispositivo
- VIDIX algunas caracterÃsticas de video del servidor.
- </para></listitem>
-</itemizedlist>
-
-<formalpara>
-<title>MODOS DE USO</title>
-<para>
-Cuando VIDIX se usa como <emphasis role="bold">subdispositivo</emphasis>
-(<option>-vo vesa:vidix</option>) entonces la configuración del modo de video
-es hecha por el dispositivo de salida de video (<emphasis role="bold">vo_server</emphasis>
-en pocas palabras). Por ese motivo puede pasar en la lÃnea de órdenes de
-<application>MPlayer</application> las mismas teclas que para vo_server.
-Además entiende <option>-double</option> como un parámetro visible globalmente.
-(Recomiendo usar esto con VIDIX por lo menos en tarjetas ATI). Como para
-<option>-vo xvidix</option>, actualmente reconoce las siguientes opciones:
-<option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-<para>
-También puede especificar el controlador VIDIX directamente con un tercer
-argumento en la lÃnea de órdenes:
-
-<screen>mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>archivo.avi</replaceable></screen>
-o
-<screen>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>archivo.avi</replaceable></screen>
-
-Pero esto es peligroso, y no deberÃa hacerlo. En ese caso el controlador
-se ve forzado y el resultado puede ser impredicible (puede incluso
-<emphasis role="bold">dejar colgado</emphasis> su ordenador). Debe hacerlo
-SOLO si está absolutamente seguro de que funciona, y
-<application>MPlayer</application> no lo hace automáticamente. Por favor
-en ese caso dÃgaselo a los desarrolladores. La manera correcta de usar VIDIX es
-sin argumentos para activar la autodetección del controlador.
-</para>
-
-<para>
-VIDIX es una tecnologÃa nueva y es extremadamente posible que en su
-sistema no funcione. En ese caso la única solución para usted es
-portarlo (principalmente con libdha). Pero se supone que debe de funcionar
-en los sistemas en los que funciona X11.
-</para>
-
-<para>
-Debido a que VIDIX requiere acceso directo al hardware puede ejecutarlo
-como root o establecer el bit SUID en el binario de
-<application>MPlayer</application> (<emphasis role="bold">Advertencia:
-¡eso es un riesgo de seguridad!</emphasis>). De manera alternativa,
-puede usar un módulo especial del kernel, como esto:
-</para>
-
-<procedure>
-<step><para>
- Descargue la <ulink url="http://www.arava.co.il/matan/svgalib/">versión de desarrollo</ulink>
- de svgalib (por ejemplo 1.9.17), <emphasis role="bold">O</emphasis>
- descargue una versión hecha por Alex especialmente para usar con
- <application>MPlayer</application> (no necesita el código fuente de svgalib para
- compilar) desde
- <ulink url="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2">aquÃ</ulink>.
- </para></step>
-<step><para>
- Compile el módulo en el directorio <filename class="directory">svgalib_helper</filename>
- (puede encontrarse dentro del directorio
- <filename class="directory">svgalib-1.9.17/kernel/</filename> si ha descargado el
- código fuente del sitio de svgalib) e insmodéelo.
- </para></step>
-<step><para>
- Para crear los dispositivos necesarios en el directorio
- <filename class="directory">/dev</filename>, haga un <screen>make device</screen>
- en el directorio <filename class="directory">svgalib_helper</filename> como root.
- </para></step>
-<step><para>
- Mueva el directorio <filename class="directory">svgalib_helper</filename> a
- <filename class="directory">mplayer/main/libdha/svgalib_helper</filename>.
- </para></step>
-<step><para>
- Requerido si descarga el código fuente desde el sitio de svgalib: Borre el comentario
- antes de la lÃnea CFLAGS que contiene la cadena "svgalib_helper" en
- <filename class="directory">libdha/Makefile</filename>.
- </para></step>
-<step><para>
- Recompile e instale libdha.
- </para></step>
-</procedure>
-
-<sect3 id="vidix-ati">
-<title>Tarjetas ATI</title>
-<para>
-Actualmente la mayorÃa de las tarjetas ATI están soportadas de manera nativa,
-desde la Mach64 hasta las más nuevas Radeons.
-</para>
-
-<para>
-Hay dos binarios compilados: <filename>radeon_vid</filename> para Radeon y
-<filename>rage128_vid</filename> para tarjetas Rage 128. Puede forzar uno
-o dejar que el sistema VIDIX pruebe automáticamente todos los controladores
-disponibles.
-</para>
-</sect3>
-
-<sect3 id="vidix-mga">
-<title>Tarjetas Matrox</title>
-<para>
-Hemos sido informados de que funcionan Matrox G200, G400, G450 y G550.
-</para>
-
-<para>
-El controlador soporta ecualizadores de video y debe ser casi tan rápido como el
-<link linkend="mga_vid">Matrox framebuffer</link>
-</para>
-</sect3>
-
-<sect3 id="vidix-trident">
-<title>Tarjetas Trident</title>
-<para>
-Hay un controlador disponible para los chipset Trident Ciberblade/i1, que
-puede ser encontrado en las placas base VIA Epia.
-</para>
-
-<para>
-El controlador ha sido escrito y es mantenido por,
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M.
-Robinson</ulink>.
-</para>
-</sect3>
-
-<sect3 id="vidix-3dlabs">
-<title>Tarjetas 3DLabs</title>
-<para>
-Aunque hay un controlador para los chips 3DLabs GLINT R3 y Permedia3, ninguno
-ha sido probado, asà que cualquier comentario o informe será bienvenido.
-</para>
-</sect3>
-
-<sect3 id="vidix-nvidia">
-<title>Tarjetas nVidia</title>
-<para>
-Hay controladores para nVidia relativamente recientes, se sabe que funcionan bien
-con los chipset Riva 128, TNT y GeForce2, también se nos ha informado de que funciona
-con otros.
-</para>
-
-<itemizedlist spacing="compact">
-<title>LIMITACIONES</title>
-<listitem><para>
- Es recomendable usar los controladores binarios de nVidia para X antes de usar el
- controlador VIDIX, porque algunos de los registros que es necesario inicializar
- aún no han sido descubiertos, por lo que probablemente falle con el controlador
- de Código Abierto de XFree86 <filename>nv.o</filename>.
- </para></listitem>
-<listitem><para>
- Actualmente solo los codecs que tienen salida en el espacio de color UYVY son los
- que funcionan junto con este controlador. Desafortunadamente, esto excluye
- todo decodificador simple de la familia <systemitem class="library">libavcodec</systemitem>.
- Esto nos deja con los siguientes codecs populares usables:
- <systemitem>cvid, divxds, xvid, divx4, wmv7, wmv8</systemitem> y algunos otros.
- Por favor tenga en cuenta que esto es solo algo temporal.
- La sintaxis de uso es la siguiente:
- <screen>
- mplayer -vf format=uyvy -vc divxds <replaceable>archivodivx3.avi</replaceable>
- </screen>
- </para></listitem>
-</itemizedlist>
-
-<para>
- Una caracterÃstica única del controlador nvidia_vid es la habilidad de mostrar
- video en <emphasis role="bold">una consola de texto solo, plano y puro</emphasis>
- - sin framebuffer o X magic ni nada. Para conseguir esto, se ha de usar la
- salida de video <option>cvidix</option>, como muestra el siguiente ejemplo:
- <screen>
- mplayer -vf format=uyvy -vc divxds -vo cvidix ejemplo.avi
- </screen>
-</para>
-
-<para>
-¡Esperamos que nos informe!
-</para>
-</sect3>
-
-<sect3 id="vidix-sis">
-<title>Tarjetas SiS</title>
-<para>
-Se trata de un código muy experimental, al igual que el nvidia_vid.
-</para>
-
-<para>
-Ha sido probado en SiS 650/651/740 (los chipset más comunes usados en las versiones
-SiS de las placas base "Shuttle XPC")
-</para>
-
-<para>
-¡Esperamos que nos informe!
-</para>
-</sect3>
-</sect2>
-
-<sect2 id="directfb">
-<title>DirectFB</title>
-<blockquote><para>
-"DirectFB es una biblioteca de gráficos que ha sido diseñada
-con los sistemas embebidos en mente. Ofrece el máximo rendimientdo en
-aceleración hardware con el mÃnimo uso de recursos y sobrecarga." -
-cita de <ulink url="http://www.directfb.org"/>
-</para></blockquote>
-
-<para>No incluiré las caracterÃsticas de DirectFB en esta sección.</para>
-
-<para>
-Aunque <application>MPlayer</application> no está reconocido como un "proveedor
-de video" en DirectFB, este controlador de salida debe activar la reproducción
-de video a través del DirectFB. Tiene - por supuesto - aceleración, en mi Matrox
-G400 la velocidad para DirectFB es la misma que con XVideo.
-</para>
-
-<para>
-Intente usar siempre la versión más reciente de DirectFB. Puede usar las opciones
-de DirectFB en la lÃnea de órdenes, usando la opción <option>-dfbopts</option>.
-La capa de selección puede hacerse con el método de subdispositivo, p.e.:
-<option>-vo directfb:2</option> (la capa -1 se usa por defecto: autodetectado)
-</para>
-</sect2>
-
-<sect2 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-<para>
-Lea por favor la sección <link linkend="directfb">principal de DirectFB</link> para
-información general.
-</para>
-
-<para>
-Este controlador de salida de video activa CRTC2 (en un segundo monitor) en la
-tarjeta G400/G450/G550, mostrando video <emphasis role="bold">independiente</emphasis>
-en el monitor principal.
-</para>
-
-<para>
-Ville Syrjala tiene un
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">LEAME</ulink>
-y un
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox_tv-out_howto">COMO</ulink>
-en su página web que explica cómo sacar salida de TV con DirectFB en tarjetas
-Matrox.
-</para>
-
-<variablelist>
-
-<title>USO</title>
-
-<varlistentry>
-<term><option>(no)bes</option></term>
-<listitem><para>activa el uso de Matrox BES (backend scaler).
-Da resultados muy buenos en cuanto a velocidad y calidad de salida como procesado
-de imágenes interpoladas por hardware. Funciona solo en la salida primaria.
-Por defecto: desactivado</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>(no)spic</option></term>
-<listitem><para>hace uso de la capa de sub imagen para mostrar el OSD de
-<application>MPlayer</application>.
-Por defecto: activado</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>(no)crtc2</option></term>
-<listitem><para>activa la salida TV en la segunda salida. La calidad de la salida
-es sorprendente ya que da una imagen completamente entrelazada con sincronización
-correcta en cada campo par/impar. Por defecto: activada</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>(no)input</option></term>
-<listitem><para>usa el código de teclado de DirectFB en lugar del código de
-teclado normal de <application>MPlayer</application>. Por defecto:
-desactivado</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>buffermode=single|double|triple</option></term>
-<listitem><para>Doble y triple buffer da mejores resultados si quiere evitar problemas
-de desgarramientos de imagen. Triple buffer es más eficiente que el doble buffer ya que no
-bloquea <application>MPlayer</application> mientras que espera al refresco vertical.
-El buffer simple debe evitarse. Por defecto: triple</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>fieldparity=top|bottom</option></term>
-<listitem><para>controla el orden de salida de los marcos de imagen entrelazados.
-Valores válidos son top = campos superiores primero, bottom = campos inferiores primero.
-Esta opción no tiene efecto en material de pelÃcula progresivo como lo son las
-pelÃculas MPEG. Necesitará activar esta opción si tiene problema de desgarros de imagen
-o movimiento no suave mientras ve material entrelazado. (Buenos ejemplos de material
-filmográfico entrelazado en DVD son Star Trek Enterprise y Star Trek DS9)
-Por defecto: desactivado (no establecido)</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>tvnorm=pal|ntsc|auto</option></term>
-<listitem><para>establece la norma de TV en las tarjetas Matrox sin la necesidad
-de modificar /etc/directfbrc. Normas válidas son pal = PAL, ntsc = NTSC.
-Una norma especial es auto (auto-ajuste usando PAL/NTSC) porque decide
-qué norma usar mirando la tasa de imágenes por segundo de la pelÃcula.
-Por defecto: desactivado (no establecido)</para></listitem>
-</varlistentry>
-</variablelist>
-
-<note><para>
-La primera versión de DirectFB que hace que esto funcione fue 0.9.17 (tiene fallos,
-necesita el parche <systemitem>surfacemanager</systemitem> de la URL de más arriba).
-De todos modos se está trabajando para portar el código de CRTC2 a
-<emphasis role="bold">mga_vid</emphasis>.
-</para></note>
-</sect2>
-</sect1>
-
-<sect1 id="mpeg_decoders">
-<title>Decodificadores MPEG</title>
-
-<sect2 id="dvb">
-<title>DVB salida y entrada</title>
-<para>
-<application>MPlayer</application> soporta tarjetas con el chipset Siemens DVB
-de vendedores como Siemens, Technotrend, Galaxis o Hauppauge. Los últimos
-controladores DVB están disponibles en
-<ulink url="http://www.linuxtv.org">el sitio de Linux TV</ulink>. Si quiere hacer
-transcoding de software deberá usar al menos una CPU de 1GHz.
-</para>
-
-<para>
-<filename>configure</filename>debe detectar su tarjeta DVB. Si no lo hace,
-fuerce la detección con
-</para>
-
-<para><screen>./configure --enable-dvb</screen></para>
-
-<para>Si tiene cabeceras ost en una ruta no estándar, establezca la ruta con</para>
-
-<para><screen>./configure --extra-cflags=<replaceable>directorio de fuentes de DVB</replaceable>/ost/include
-</screen></para>
-
-<para>Y luego compile e instale del modo habitual.</para>
-
-<formalpara>
-<title>USO</title>
-<para>
-Decodificación por hardware (reproducción de archivos estándar MPEG1/2) puede hacerse
-con esta órden:
-</para>
-</formalpara>
-
-<para><screen>mplayer -ao mpegpes -vo mpegpes <replaceable>archivo.mpg|vob</replaceable></screen></para>
-
-<para>
-Decodificación software o transcoding de formatos diferentes a MPEG1 puede hacerse
-usando una órden como esta:
-</para>
-<para><screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>suarchivo.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>yourfile.ext</replaceable>
-</screen></para>
-
-<para>
-Tenga en cuenta que las tarjetas DVB solo soportan altugas de 288 y 576 para PAL o
-240 y 480 para NTSC. Usted <emphasis role="bold">debe</emphasis> escalar para
-otras alturas añadiendo <option>scale=ancho:alto</option> con el ancho y el alto
-que quiera para la opción <option>-vf</option>. Las tarjetas DVB aceptan varios
-anchos, como 720, 704, 640, 512, 480, 352 etc y hacen el escalado por hardware
-en dirección horizontal, de modo que no necesita escalar horizontalmente en
-la mayorÃa de los casos. Para un DivX de 512x384 (aspecto 4:3) pruebe:
-</para>
-
-<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen></para>
-
-<para>Si tiene una pelÃcula widescreen y no quiere escalar a altura completa,
-puede usar el filtro <option>expand=w:h</option> para añadir bandas negras.
-Para ver un DivX de 640x384, pruebe:
-</para>
-
-<para>
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>archivo.avi</replaceable>
-</screen>
-</para>
-
-<para>Si su CPU es demasiado lenta para un DivX de tamaño completo de 720x576,
-pruebe a subescalar:</para>
-
-<para>
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>archivo.avi</replaceable>
-</screen>
-</para>
-
-<para>Si la velocidad no mejora, pruebe a subescalar verticalmente, también:</para>
-
-<para>
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>archivo.avi</replaceable>
-</screen>
-</para>
-
-<para>
-For OSD and subtitles use the OSD feature of the expand filter. So, instead of
-Para OSD y subtÃtulos use la caracterÃstica OSD del filtro expand. Para ello, en lugar de
-<option>expand=w:h</option> o <option>expand=w:h:x:y</option>, use
-<option>expand=w:h:x:y:1</option> (el 5º parámetro <option>:1</option>
-al final habilitará el renderizado OSD). Puede que quiera mover la imagen hacia arriba
-un poco para obtener una zona negra más grande para los subtÃtulos. También puede mover
-los subtÃtulos hacia arriba, si quedan fuera de la pantalla de TV, use la
-opción <option>-subpos <0-100></option> para ajustar esto (<option>-subpos 80</option>)
-es una buena elección).
-</para>
-
-<para>
-Para reproducir pelÃculas que no sean de 25fps en una TV PAL o con una CPU lenta,
-añada la opción <option>-framedrop</option>.
-</para>
-
-<para>
-Para mantener la razón de aspecto de los archivos DivX y obtener los
-parámtros óptimos de escalado (escalado horizontal por hardware y
-escalado vertical por software manteniendo la razón de aspecto correcta),
-use el filtro dvbscale:
-</para>
-
-<para><screen>
-para una TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-para una TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen></para>
-
-<formalpara>
-<title>TV Digital (módulo de entrada DVB)</title>
-<para>Puede usar su tarjeta DVB para ver TV Digital.</para>
-</formalpara>
-
-<para>
- Tiene que tener los programas <command>scan</command> y
- <command>szap/tzap/czap</command> intalados; estos están incluidos
- en el paquete de controladores.
-</para>
-
-<para>
- Verifique que sus controladores están funcionando correctamente con un
- programa como
- <ulink url="http://www.sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
- (que es la base del módulo de entrada DVB).
-</para>
-
-<para>
- Ahora debe compilar un archivo <filename>~/.mplayer/channels.conf</filename>,
- con la sintaxis aceptada por <command>szap/tzap/czap</command>, o tener
- <command>scan</command> compilado por usted mismo.
-</para>
-
-<para>
- Si tiene más de un tipo de tarjeta (e.g. Satélite, Terrestre y Cable)
- puede guardar sus archivos de canales como
- <filename>~/.mplayer/channels.conf.sat</filename>,
- <filename>~/.mplayer/channels.conf.ter</filename>
- y <filename>~/.mplayer/channels.conf.cbl</filename>,
- respectivamente, de ese modo se indica implÃcitamente a
- <application>MPlayer</application> que uso esos archivos en lugar de
- <filename>~/.mplayer/channels.conf</filename>,
- y solo tiene que especificar qué tarjeta usar.
-</para>
-
-<para>
- Asegúrese de que tiene <emphasis>solo</emphasis> canales Free to Air en su
- archivo <filename>channels.conf</filename>, o <application>MPlayer</application>
- intentará saltar al siguiente visible, pero puede tardar mucho si hay varios
- canales consecutivos encriptados.
-</para>
-
-<para>
- Para mostrar el primero de los canales presentes en su lista, ejecute
-</para>
-
-<screen>
- mplayer dvb://
-</screen>
-
-<para>
- Si quiere ver un canal especÃfico, tal como R1, ejecute
-</para>
-
-<screen>
- mplayer dvb://R1
-</screen>
-
-<para>
- Para cambiar canales pulse la teclas <keycap>h</keycap> (siguiente) y
- <keycap>k</keycap> (previo), o use el menú OSD (requiere un
- <link linkend="subosd">subsistema OSD</link> funcionando).
-</para>
-
-<para>
- Si su <filename>~/.mplayer/menu.conf</filename> contiene una entrada
- <literal><dvbsel></literal>, como una del archivo de ejemplo
- <filename>etc/dvb-menu.conf</filename> (el cual puede usar para
- sobreescribir <filename>~/.mplayer/menu.conf</filename>),el menú
- principal mostrará una entrada de un submenú que le permitirá elegir
- uno de los canales presentes en su <filename>channels.conf</filename>.
-</para>
-
-<para>
- Si quiere grabar un programa en disco puede usar
-</para>
-
-<screen>
- mplayer -dumpfile r1.ts -dumpstream dvb://R1
-</screen>
-
-<para>
- si quiere grabar en un formato diferente (re-codificando) en su lugar
- puede usar una órden como
-</para>
-
-<screen>
- mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
-</screen>
-
-<para>
- Lea la página de manual para una lista de opciones que puede pasar al módulo
- de entrada de DVB.
-</para>
-
-<formalpara>
-<title>FUTURO</title>
-<para>
-Si tiene alguna pregunta o desea oir anuncios sobre caracterÃsticas futuas
-y tomar parte en discusiones acerca de estos asuntos, únase a nuestra lista
-de correo
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>
-Por favor, recuerde que el idioma en la lista de correo es el Inglés.
-</para>
-</formalpara>
-
-<para>
-En el futuro puede esperar la habilidad de mostrar OSD y subtÃtulos usando
-las caracterÃsticas nativas de OSD de las tarjetas DVB, asà como una
-reproducción más fluida de pelÃculas que no estén a 25fps y transcoding en
-tiempo real entre MPEG2 y MPEG4 (descompresión parcial).
-</para>
-</sect2>
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-<para><application>MPlayer</application> soporta reproducción acelerada por
-hardware con la tarjeta Creative DXR2.</para>
-<para>
-Lo primero que necesita tener es los controladores DRX2 correctamente instalados. Puede
-encontrar estos controladores e instrucciones para su instalación en el sitio
-<ulink url="http://dxr2.sourceforge.net/">DXR2 Resource Center</ulink>.
-</para>
-
-<variablelist>
-<title>USO</title>
-<varlistentry>
-<term><option>-vo dxr2</option></term>
-<listitem><para>activa la salida TV</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vo dxr2:x11</option> o <option>-vo dxr2:xv</option></term>
-<listitem><para>activa la salida Overlay en X11</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-dxr2 <opción1:opción2:...></option></term>
-<listitem><para>Esta opción se usa para manejar el controlador DXR2.</para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-El chipset de overlay usado en DXR2 tiene una calidad bastante mala pero
-la configuración por defecto debe funcionar para todo el mundo. El OSD puede
-ser usable con overlay (no en una TV) dibujando sobre el colorkey. Con la
-configuración de colorkey por defecto puede obtener resultados variables, normalmente
-verá el colorkey alrededor de los caracteres o algún otro efecto divertido. Pero
-si ajusta bien la configuración del colorkey debe ser capaz de obtener resultados
-aceptables.
-</para>
-
-<para>Por favor, vea la página de manual para ver las opciones disponibles.</para>
-</sect2>
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-<para>
-<application>MPlayer</application> soporta reproducción acelerada por hardware
-con las tarjetas Creative DXR3 y Sigma Designs Hollywood. Ambas tarjetas usan
-el chip decodificador em8300 MPEG de Sigma Designs.
-</para>
-
-<para>
-Lo primero que necesita es tener el controlador DXR3/H+ correctamente instalado,
-versión 0.12.0 o posterior. Puede encontrar estos controladores e instrucciones
-para su instalación en el sitio
-<ulink url="http://dxr3.sourceforge.net/">DXR3 & Hollywood Plus para Linux</ulink>.
-<filename>configure</filename> debe detectar su tarjeta automáticamente, y la compilación
-debe funcionar sin problemas.
-</para>
-
-<!-- FIXME: encontrar una presentación más clara -->
-<variablelist>
-<title>USO</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>dispositivo</replaceable></option></term>
-<listitem><para>
-<option>overlay</option> activa overlay en lugar de TVOut. Requiere que tenga
-una configuración de overlay que funcione correctamente. La manera facil de
-configurar el overlay es iniciar primero autocal. Después ejecute
-<application>MPlayer</application> con salida dxr3 y sin overlay, ejecute
-dxr3view. En dxr3view puede tocar la configuración de overlay y ver los
-efectos en tiempo real, quizá esta caracterÃstica esté soportada en el GUI de
-<application>MPlayer</application> en el futuro. Cuando overlay está
-correctamente configurado ya no necesitará usar más dxr3view.
-<option>prebuf</option> activa el prebuffering. Prebuffering es una
-caracterÃstica del chip em8300 que se activa para mantener más de un marco
-por video al mismo tiempo. Esto significa que cuando está ejecutando con
-prebufferint <application>MPlayer</application> intentará mantener lleno
-el buffer de video con datos todo el tiempo. Si está en una máquina lenta
-<application>MPlayer</application> probablemente usa un valor cercano a,
-o totalmente de 100% de CPU. Esto ocurre normalemente si reproduce flujos
-MPEG (como DVDs, SVCDs a.s.o.) ya que <application>MPlayer</application> no
-tiene recodificador a MPEG y llena el buffer muy rápido.
-Con reproducción de video con prebufferint es <emphasis role="bold">
-mucho</emphasis> menos sensible a otros programas que quieran uso de CPU,
-no elimina marcos a menos que alguna aplicación aproveche la CPU un largo
-periodo de tiempo. Cuando ejecuta sin prebuffering el em8300 es mucho más
-sensible a cargar la CPU, por lo que le sugerimos que active en
-<application>MPlayer</application> la opción <option>-framedrop</option>
-para evitar posibles pérdidas de sincronización.
-<option>sync</option> activa el nuevo motor de sincronización. Esta es
-actualmente una caracterÃstica experimental. Con la caracterÃstica de
-sincronización activada en el reloj interno de em8300 se monitoriza todas
-las veces, si comienza a desviarse del reloj de
-<application>MPlayer</application> es puesto a cero causando que em8300
-se salte algunos marcos que están comenzando a tener retardo.
-<option>norm=x</option> establece la norma de TV de la tarjeta DXR3 sin la
-necesidad de herramientas externas como em8300setup. Normas válidas son
-5 = NTSC, 4 = PAL-60, 3 = PAL. Normas especiales son 2 (auto-ajuste usando
-PAL/PAL-60) y 1 (auto-ajuste usando PAL/NTSC) porque deciden qué norma usar
-consultando la tasa de imágenes por segundo de la pelÃcula. norm = 0 (por
-defecto) no cambia la norma actual.
-<option><replaceable>dispositivo</replaceable></option> = número de dispositivo
-a usar si tiene más de una tarjeta em8300.
-Cualquiera de esas opciones se pueden dejar sin especificar.
-<option>:prebuf:sync</option> parece que se obtiene un mejor funcionamiento cuando
-se reproducen pelÃculas DivX. La gente ha informado sobre problemas usando la
-opción prebuf mientras se reproducÃan archivos MPEG1/2. Puede que desee intentar
-la reproducción sin ninguna opción primero, y si tiene problemas de sincronÃa,
-o problemas con los subtÃtulos, probar con la opción <option>:sync</option>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
-<listitem><para>
-Para la salida de audio, donde <replaceable>X</replaceable> es el número de dispositivo
-(0 si hay una tarjeta).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-aop list=resample:fout=<replaceable>xxxxx</replaceable></option></term>
-<listitem><para>
-El em8300 no puede reproducir tasas de muestreo menores de 44100Hz. Si la tasa
-de muestreo es mejor que 44100Hz elija 44100Hz o 48000Hz dependiendo de cual
-se ajuste mejor. P.e. si la pelÃula usa 22050Hz use 44100Hz ya que
-44100 / 2 = 22050, si es 24000Hz use 48000Hz porque 48000 / 2 = 24000 y de ese
-modo con cualquier valor que tenga. Esto no funciona con salida de audio
-digital (<option>-ac hwac3</option>).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf lavc/fame</option></term>
-<listitem><para>
-Para ver contenido no-MPEG en el em8300 (p.e. DivX o RealVideo) deberá especificar
-un filtro de video MPEG1 como <systemitem class="library">libavcodec</systemitem>
-(lavc) o libfame (fame).
-Actualmente lavc es más rápido y da mejor calidad de imagen, por lo que le sugerimos que lo
-use a menos que tenga algún problema con él. Vea la página de manual para más
-información acerca de <option>-vf lavc/fame</option>.
-El uso de lavc es altamente recomendado. Actualmente no hay manera de establecer
-los fps del em8300 lo que significa que son fijos a 29.97fps. Debido a esto es
-altamente recomendable que use <option>-vf lavc=<replaceable>quality</replaceable>:25</option>
-especialmente si está usando prebuffering. ¿Y por qué 25 y no 29.97? bien, el motivo
-es que cuando usa 29.97 la imagen se vuelve un poco saltarina. La razón de por qué
-ocurre esto no la conocemos. Si establece un valor entre 25 y 27 la imagen se vuelve
-estable. Por ahora todo lo que puede haer es aceptar esto sin preguntarse por qué.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf expand=-1:-1:-1:-1:1</option></term>
-<listitem><para>
-A pesar de que el controlador DXR3 puede poner OSD en el video MPEG1/2/4, tiene
-una calidad mucho peor que el tradicional OSD de <application>MPlayer</application>,
-además de varios problemas de refresco. La lÃnea de órdenes de arriba convertirá
-primero la entrada de video a MPEG4 (esto es obligatorio, lo siento), y después
-aplicará un filtro de expansión que no expandirá nada (-1: por defecto), pero
-servirá para aplicar OSD normal sobre la imagen (esto es lo que hace el "1" del
-final).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ac hwac3</option></term>
-<listitem><para>
-El em8300 permite la reproducción de audio AC3 (sonido surround) a través de
-la salida de audio digital de la tarjeta. Vea la opción <option>-ao oss</option>
-de más arriba, debe usarse para especificar salida DXR3 en lugar de una tarjeta
-de sonido.
-</para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-</sect1>
-
-<sect1 id="other">
-<title>Otro hardware de visualización</title>
-
-<sect2 id="zr">
-<title>Zr</title>
-
-<para>
-Se trata de un controlador de pantalla (<option>-vo zr</option>) para un número
-de tarjetas de captura/reproducción de MJPEG (probado con DC10+ y Buz, y también
-debe funcionar con LML33, el DC10). El controlador funciona codificando el marco
-a JPEG y enviándolo luego a la tarjeta. Para la codificación JPEG se usa
-<systemitem class="library">libavcodec</systemitem>, y además es obligatorio usarlo. Con el modo
-especial <emphasis>cinerama</emphasis>, puede ver pelÃculas en wide screen real
-suponiendo que tiene dos proyectores y dos tarjetas MJPEG. Dependiendo de la
-configuración de resolución y calidad, este controlador puede requerir una gran
-cantidad de potencia de CPU, recuerde especificar <option>-framedrop</option>
-si su máquina es demasiado lenta. Nota: Mi AMD K6-2 350MHz es (con
-<option>-framedrop</option>) bastante adecuada para reproducir material del
-tamaño de VCD y escalar a menor tamaño del original las pelÃculas.
-</para>
-
-<para>
-Este controlador se comunica con el controlador del kernel disponible en
-<ulink url="http://mjpeg.sourceforge.net"/>, por eso
-antes de nada deberá tener este funcionando. La presencia de una tarjeta MJPEG
-es autodetectada por el script <filename>configure</filename>, si la autodetección
-falla, fuércela con
-<screen>./configure --enable-zr</screen>
-</para>
-<para>
-La salida puede ser controlada con varias opciones, una descripción larga
-de las opciones puede encontrarse en la página de manual, una lista corta de
-las opciones puede verse ejecutando
-<screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
-Piense que el escalado y el OSD (información en pantalla) no son manejados
-por este controlador pero pueden hacerse usando filtros de video. Por ejemplo,
-suponta que tiene una pelÃcula con una resolución de 512x272 y desea verla
-en pantalla completa con su DC10+. Hay tres posibilidades principalmente, puede
-escalar la pelÃcula a un ancho de 768, 384 o 192. Por motivos de rendimiento
-y calidad, puede que quiera elegir escalar la pelÃcula a 384x204 usando el
-escalador por software rápido bilineal. La lÃnea de órdenes es
-<screen>mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>pelÃcula.avi</replaceable></screen>
-</para>
-
-<para>
-Se puede recortar con el filtro <option>crop</option> y también
-por este controlador directamente. Supongamos que tenemos una pelÃcula que
-es demasiado ancha para mostrarla en su Buz y que quiere usar <option>-zrcrop</option>
-para hacer la pelÃcula menos ancha, entonces puede que le sea útil la siguiente
-órden
-<screen>mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable></screen>
-</para>
-
-<para>
-si quiere usar el filtro <option>crop</option>, puede que desee hacer
-<screen>mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable></screen>
-</para>
-
-<para>
-Si aparece <option>-zrcrop</option> más veces invoca el modo
-<emphasis>cinerama</emphasis>, p.e. si quiere distribuir la pelÃcula en varias
-TV's o proyectores para crear una pantalla más grande. Supongamos que tiene
-dos proyectores. Uno lo conecta a su Buz en <filename>/dev/video1</filename>
-y el otro lo conecta a su DC10+ en <filename>/dev/video0</filename>. La pelÃcula
-tiene una resolución de 704x288. Supongamos también que que quiere el proyector de
-la derecha en blanco y negro y el otro debe tener imágenes JPEG con calidad 10, para
-todo esto deberá usar la siguiente órden
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Puede ver que las opciones que aparecen antes del segundo <option>-zrcrop</option>
-solo se aplican al DC10+ y que las opciones después del segundo
-<option>-zrcrop</option> se aplican al Buz. El número máximo de tarjetas
-MJPEG que pueden participar en el modo <emphasis>cinerama</emphasis> es cuatro,
-de modo que puede construirse una pantalla de 2x2.
-</para>
-
-<para>
-Finalmente un apunte importante: No inicie o pare XawTV en el dispositivo de
-reproduccion durante la misma, porque puede colgar su ordenador. Sin embargo
-sà va bien si <emphasis role="bold">PRIMERO</emphasis> inicia XawTV,
-<emphasis role="bold">DESPUÃS</emphasis> inicia <application>MPlayer</application>,
-espera a que <application>MPlayer</application> termine y
-<emphasis role="bold">DESPUÃS</emphasis> detiene XawTV.
-</para>
-</sect2>
-
-<sect2 id="blinkenlights">
-<title>Blinkenlights</title>
-<para>
-Este controlador permite la reproducción usando el protocolo UDP Blinkenlinghts. Si no
-sabe qué es <ulink url="http://www.blinkenlinghts.de/">Blinkenlinghts</ulink>
-no necesita este controlador.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="tvout">
-<title>Soporte de salida-TV</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Tarjetas Matrox G400</title>
-
-<para>
-Bajo Linux tiene dos maneras de que la salida de TV de la G400 funcione:
-</para>
-
-<important>
-<para>
-para instrucciones sobre salida-TV de Matrox G450/G550 , ¡vaya a la sección siguiente!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem><para>
- Usando el controladoro y el módulo HAL, disponible en
- <ulink url="http://www.matrox.com">el sitio web de Matrox</ulink>.
- Esto hará que tenga salida de TV bajo X.
- </para><para>
- <emphasis role="bold">Este método no obtiene reproducción acelerada</emphasis>
- ¡como bajo Windows! La segunda salida tiene solo framebuffer YUV, el
- <emphasis>BES</emphasis> (Back End Scaler, el escalador YUV en las tarjetas
- G200/G400/G450/G550) no funciona allÃ! El controlador de windows arregla esto
- de algún modo, probablemente usando el motor 3D para el zoom, y el framebuffer
- YUV para mostrar la imagen ampliada. Si realmente desea usar X, use
- las opciones <option>-vo x11 -fs -zoom</option>, pero irá
- <emphasis role="bold">LENTO</emphasis>, y tendrá la protección de
- <emphasis role="bold">Macrovision</emphasis> activada (puede saltarse la
- protección de Macrovisión usando éste
- <ulink url="http://avifile.sourceforge.net/mgamacro.pl">script en perl</ulink>).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem><para>
- Usando los <emphasis role="bold">módulos matroxfb</emphasis> en los kernel 2.4.
- Los kernel 2.2 no tienen la caracterÃstica de TVout, por lo que no se pueden
- usar para esto. Tiene que activar todas las caracterÃsticas especÃficas de
- matroxfb durante la compilación (excepto MultiHead), ¡y compilarlo como
- <emphasis role="bold">módulos</emphasis>! También necesita activar I2C.
- </para>
-
- <procedure>
- <step><para>
- Entre en <filename class="directory">TVout</filename> y escriba
- <command>./compile.sh</command>. Instale
- <filename>TVout/matroxset/matroxset</filename>
- en cualquier lugar de su <envar>PATH</envar>.
- </para></step>
- <step><para>
- Si no tiene <command>fbset</command> instalado, ponga
- <filename>TVout/fbset/fbset</filename>
- en cualquier lugar de su <envar>PATH</envar>.
- </para></step>
- <step><para>
- Si no tiene <command>con2fb</command> instalado, ponga
- <filename>TVout/con2fb/con2fb</filename>
- en cualquier lugar de su <envar>PATH</envar>.
- </para></step>
- <step><para>
- Después entre en el directorio <filename class="directory">TVout/</filename>
- de los fuentes de <application>MPlayer</application>, y ejecute
- <filename>./modules</filename> como root. Su consola de modo-texto
- entrará en modo framebuffer (¡no hay marcha atrás!).
- </para></step>
- <step><para>
- A continuación, EDITE y ejecute el script <filename>./matroxtv</filename>.
- Esto mostrará un menú muy simple. Pulse <keycap>2</keycap> y
- <keycap>Enter</keycap>. Ahora debe tener la misma imagen en su monitor,
- y TV. Si la imagen TV (PAL por defecto) tiene algunos efectos extraños,
- el script no ha sido capaz de establecer la resolución correcta (a 640x512
- por defecto). Pruebe otras resoluciones desde el menúo experimente un poco
- con fbset.
- </para></step>
- <step><para>
- Bueno. La siguiente tarea es hacer que el cursor en tty1 (o donde sea)
- desaparezca, y desactive el apagado automático del monitor. Ejecute
- las siguientes órdenes:
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- or
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- Probablemente desee poner lo de arriba en un script, y también limpiar
- la pantalla. Para hacer que regrese el cursor:
- <screen>echo -e '\033[?25h'</screen> o
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- Muy bien chaval. Inicie la reproducción con
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>nombrearchivo</replaceable><!--
- --></screen>
-
- (Si usa X, ahora cambie a matroxfb con por ejemplo
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>F1</keycap>.)
- Cambie <literal>640</literal> y <literal>512</literal> si establece
- otra resolución...
- </para></step>
- <step><para>
- <emphasis role="bold">¡Disfrute de la salida de TV ultra-rápida ultra-buena
- de Matrox (mejor que Xv)!</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-
-<formalpara>
-<title>Fabricando un cable de salida de TV para Matrox</title>
-<para>
-Nadie se hace responsable, ni se ofrece ninguna garantÃa por ningún
-daño causado por esta documentación.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Cable para G400</title>
-<para>
-El conector de cuatro contactos de CRTC2 es una señal de video compuesto.
-La toma de tierra son los contactos sexto, séptimo y octavo. (información
-proporcionada por Balázs Rácz)
-</para>
-</formalpara>
-
-<formalpara>
-<title>Cable para G450</title>
-<para>
-Los cuatro primeros contactos del conector CRTC2 son la señal de video
-compuesto. La tierra es el quinto, sexto, séptimo, y decimoquinto contactos
-(5, 6, 7, 15). (información proporcionada por Balázs Kerekes)
-</para>
-</formalpara>
-</sect2>
-
-<sect2 id="tv-out_matrox_g450">
-<title>Tarjetas Matrox G450/G550</title>
-<para>
-El soporte para salida de TV en estas tarjetas ha sido introducido recientemente,
-y aún no está en la rama principal del kernel. Actualmente el
-módulo <emphasis role="bold">mga_vid</emphasis> no puede usarse AFAIK, porque
-el controlador de G450/G550 funciona solo en una configuración: el primer chip
-CRTC (con muchas más caracterÃsticas) en la primera pantalla (en el monitor),
-y el segundo CRTC (no <emphasis role="bold">BES</emphasis> - para explicación
-sobre BES, vea la sección de G400 más arriba) en TV. Actualmente solo puede
-usar el controlador de salida <emphasis>fbdev</emphasis> de
-<application>MPlayer</application>.
-</para>
-
-<para>
-Actualmente el primer CRTC no puede ser enrutado hacia el segundo monitor. El
-autor del controlador del kernel matroxfb - Petr Vandrovec - quizá añada soporte
-para ello, mostrando la salida del CRTC primario en ambas pantallas al mismo
-tiempo, como recomendamos actualmente para G400, vea la sección anterior.
-</para>
-
-<para>
-El parche para el kernel necesario y un 'como' detallado es descargable desde
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-
-<sect2 id="tvout-ati">
-<title>Tarjetas ATI</title>
-
-<formalpara>
-<title>PREÃMBULO</title>
-<para>
-Actualmente ATI no soporta ningún chip de salida de TV bajo Linux,
-debido a los problemas de licencia de la tecnologÃa Macrovision.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>ESTADO DE LA SALIDA DE TV DE LAS TARJETAS ATI EN LINUX</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- soportado por <ulink url="http://gatos.sf.net">gatos</ulink>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- soportado por <ulink url="http://gatos.sf.net">gatos</ulink>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> y <emphasis role="bold">Rage128</emphasis>:
- soportados por <application>MPlayer</application>!
- Consulte el <link linkend="vesa">controlador VESA</link> y la secciones
- <link linkend="vidix">VIDIX</link>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- soportado por <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
- </para></listitem>
-</itemizedlist>
-
-<para>
-En otras tarjetas, use el controlador <link linkend="vesa">VESA</link>,
-sin VIDIX. Lo malo es que se necesita una CPU potente.
-</para>
-
-<para>
-Lo único que necesita hacer - <emphasis role="bold">Tener el conector
-de TV conectado antes de iniciar su PC</emphasis> porque la BIOS de video
-se inicializa por sà misma solo una vez durante el proceso POST.
-</para>
-</sect2>
-
-
-<sect2 id="tvout-voodoo">
-<title>Voodoo 3</title>
-<para>
-Consulte <ulink url="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">esta URL</ulink>.
-</para>
-</sect2>
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-<para>
-Lo primero, DEBE descargar los controladores de fuente-cerrada desde
-<ulink url="http://nvidia.com"/>. No voy a describir el proceso de instalación y configuración
-porque no es el objetivo que pretende cubrir esta documentación.
-</para>
-
-<para>
-Después de que XFree86, XVideo, y la aceleración 3D estén funcionando correctamente,
-edite su sección Devide sobre la tarjeta en el archivo <filename>XF86Config</filename>,
-de acuerdo con el siguiente ejemplo (adaptado para su tarjeta/TV):
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-
-EndSection
-</programlisting>
-</para>
-
-<para>
-Por supuesto lo importante es la parte del TwinView.
-</para>
-</sect2>
-
-<sect2 id="tvout-neomagic">
-<title>Neomagic</title>
-<para>
-Probado en un Toshiba Tecra 8000. Su chip de salida de TV es una cagada miserable.
-EvÃtelo si es posible.
-</para>
-<para>
-Debe usar <option>-vo vesa</option>. El chip probado tiene capacidad solo para
-una relación de aspecto 1.333333, por lo que debe asegurarse de que usa
-las opciones <option>-x</option>, <option>-y</option> y/o los filtros
-<option>-vf scale,crop,expand</option> si la imagen no le deja habilitar
-la salida de TV. La resolución máxima es 720*576 a 16bpp.
-</para>
-<para>
-Problemas conocidos: solo-VESA, limitación 1.33333, la imagen no está siempre
-centrada, la pelÃcula aparece en 4bpp cada 10 minutos, y se queda de esa forma.
-Cuelgues frecuentes de hardware, problemas de representación en pantalla LCD.
-</para>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/fr/bugreports.xml b/DOCS/xml/fr/bugreports.xml
deleted file mode 100644
index 88ed6bb..0000000
--- a/DOCS/xml/fr/bugreports.xml
+++ /dev/null
@@ -1,508 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r23225 -->
-<appendix id="bugreports">
-<title>Comment rapporter les bogues</title>
-
-<para>
-Les bons rapports de bogue sont une contribution précieuse pour tout projet en
-développement. Mais tout comme pour écrire un bon logiciel, les bons rapports
-de problèmes exigent du travail. Rendez-vous compte que la plupart des
-développeurs sont extrêmement occupés et reçoivent un nombre colossal d'emails.
-Donc bien que votre retour soit crucial pour l'amélioration de
-<application>MPlayer</application> et soit très apprécié, comprenez que vous
-devez fournir <emphasis role="bold">toutes</emphasis> les informations que nous
-demandons et suivre de près les instructions de ce document.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_security">
-<title>Rapport de sécurité lié aux bogues</title>
-
-<para>
-Au cas où vous trouveriez un bogue exploitable, laissez-nous le temps de le
-corriger avant de le révéler. Vous pouvez envoyer vos alertes de sécurité Ã
-<ulink url="mailto:security@mplayerhq.hu">security@mplayerhq.hu</ulink>.
-Veuillez ajouter [SECURITE] ou [CONSEILLE] dans le sujet.
-Soyez sûr que votre rapport contienne une analyse complète et détailée du bogue.
-L'envoi d'un correctif est hautement apprécié.
-Veuillez ne pas retarder l'envoi de votre rapport juste pour l'écriture d'une
-preuve que le bogue est exploitable, vous pouvez envoyer ceci dans un autre
-message.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_fix">
-<title>Comment réparer les bogues</title>
-
-<para>
-Si vous pensez avoir les talents nécessaires vous êtes invité à essayer de
-réparer le bogue vous-même. Ou peut-être l'avez-vous déjà fait ?
-Veuillez lire <ulink url="../../tech/patches.txt">ce court document</ulink>
-(en anglais) pour trouver comment faire inclure votre code dans
-<application>MPlayer</application>.
-Les gens de la liste de diffusion
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-vous assisterons si vous avez des questions.
-</para>
-</sect1>
-
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_regression_test">
-<title>Comment faire des tests de regression en utilisant Subversion</title>
-
-<para>
- Un problème qui peut survenir quelque fois est «cela marchait avant,
-et plus maintenant...».
-Voici une procédure étape-par-étape pour tenter d'indiquer quand exactement
-le problème s'est produit. Ceci n'est <emphasis role="bold">pas</emphasis> pour les utilisateurs
-occasionnels.
-</para>
-
-<para>
-Premièrement, vous aurez besoin de récuperer l'arbre des sources de MPlayer depuis le dépot
-Subversion.
-Les instructions peuvent être trouvé au bas de
-<ulink url="http://www.mplayerhq.hu/dload.html">cette page</ulink>.
-</para>
-
-<para>
-Vous aurez donc dans le repertoire mplayer/ une image de l'arbre Subversion, du coté
-client.
-Maintenant mettez à jour cette image à la date voulue :
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-Le format de date est AAAA-MM-JJ HH:MM:SS.
-Utiliser ce format de date vous assure que vous pourrez extraire les patches
-selon la date à laquelle elles ont été fusionnés au dépot, comme dans l'
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">archive MPlayer-cvslog</ulink>.
-</para>
-
-<para>
-Maintenant procéder comme pour une mise-à -jour normale :
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-Pour un non-informaticien qui lit ceci, la méthode la plus rapide d'arriver au point
-où le problème se produit est d'utiliser une recherche dichotomique — qui est,
-chercher la date où est survenu le problème en divisant à plusieurs reprises l'intervalle
-de recherche par moitié.
-Par exemple, si le problème se produit en 2003, commencez en milieu d'année, puis demandez-vous
-"Le problème est-il déjà présent à ce moment?".
-Si oui, revenez au premier Avril; si non, allez au premier Octobre,
-et ainsi de suite.
-</para>
-
-<para>
-Si vous avez beaucoup d'espace libre sur le disque dur (une compilation complète des sources prend actuellement
-100 MO, et environ 300-350 MO si les symboles de déboguage sont activés), copiez la
-plus vieille version fonctionnelle connue avant de la mettre à jour; cela sauvera du temps si
-vous devez y revenir.
-(Il est habituellement nécessaire de lancer 'make distclean' avant de recompiller une
-version plus récente, donc si vous ne faites pas une copie de sauvegarde de votre arbre
-source original, vous devrez tout recompiler dedans quand vous reviendrez
-à la version présente.)
-</para>
-
-<para>
-Quand vous avez trouvé le jour où le problème survient, continuez la recherche
-en utilisant l'archive mplayer-cvslog (triée par date) et en affinant par des
-mises-à -jour depuis Subversion en précisant heure, minute et seconde :
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-Cela vous permettra de trouver facilement le patch exact à l'origine du problème.
-</para>
-
-<para>
-Si vous trouvez le patch qui est la cause du problème, vous avez quasiement gagné;
-signalez le Ã
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink> ou
-souscrivez Ã
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-et postez-le là .
-Il y a une chance pour que l'auteur s'empresse de suggérer un correctif.
-Vous pouvez également décortiquer le patch jusqu'à ce que le bug vous saute aux yeux :-).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_report">
-<title>Comment rapporter les bogues</title>
-
-<para>
-Tout d'abord veuillez essayer la dernière version Subversion de <application>MPlayer</application>
-car votre bogue y est peut-être déjà réparé. Le développement évolue
-très rapidement, la plupart des problèmes des versions officielles sont
-rapportés dans les jours voir les heures qui suivent, donc n'utilisez
-<emphasis role="bold">que la version Subversion</emphasis> pour rapporter les bogues. Ceci
-est également valable pour les paquets binaires de <application>MPlayer</application>.
-Les instructions Subversion peuvent être trouvées en bas de
-<ulink url="http://www.mplayerhq.hu/dload.html">cette page</ulink>
-ou dans le README. Si tout cela ne vous aide pas, veuillez vous référer
-au reste de la documentation.
-Si votre problème n'est pas connu ou non résolvable avec nos instructions, alors merci
-de rapporter le bogue.
-</para>
-
-<para>
-Merci de ne pas envoyer de rapports de bogues en privé à chaque développeur.
-C'est un travail commun et il y a donc pas mal de gens que cela pourrait
-intéresser.
-Parfois d'autres utilisateurs ont rencontré les mêmes ennuis que vous et
-savent comment contourner le problème même si c'est un bogue dans le code
-de <application>MPlayer</application>.
-</para>
-
-<para>
-Merci de décrire votre problème avec le plus de détails possibles.
-Faites un petit travail de détective pour restreindre les conditions
-d'occurrence du problème.
-Est ce que le bogue ne se montre que dans certaines situations ?
-Est-il spécifique à certains fichiers ou types de fichier ?
-Apparaît-il avec un seul codec ou est-ce indépendant du codec ?
-Pouvez-vous le reproduire avec tous les pilotes de sortie ?
-Plus vous fournissez d'information, plus grandes sont nos chances de résoudre
-votre problème.
-Merci de ne pas oublier d'inclure également les informations importantes
-requises plus bas, sinon nous ne pourront pas établir un diagnostic précis
-de votre problème.
-</para>
-
-<para>
-Un guide excellent et bien écrit pour poser des questions sur les forums
-publiques est
-<ulink url="http://www.linux-france.org/article/these/smart-questions/smart-questions-fr.html">
-Comment Poser Les Questions De Manière Intelligente</ulink> par <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
-Il y en a un autre (en anglais) appelé
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report
-Bugs Effectively</ulink> par <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>.
-Si vous suivez ces règles vous devriez pouvoir obtenir de l'aide.
-Mais merci de comprendre que nous suivons tous les listes de diffusion
-volontairement sur notre temps libre.
-Nous sommes très occupés et ne pouvons garantir que vous aurez une solution Ã
-votre problème ou même une réponse.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_where">
-<title>Où rapporter les bogues</title>
-
-<para>
-Souscrivez à la liste de diffusion mplayer-users :
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-et envoyez votre rapport Ã
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/> où vous pourrez en discuter.
-</para>
-
-<para>
-Si vous préférez, vous pouvez utiliser notre tout nouveau
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink> Ã la place.
-</para>
-
-<para>
-La langue de cette liste est l'<emphasis role="bold">Anglais</emphasis>.
-Suivez les <ulink url="http://www.ietf.org/rfc/rfc1855.txt">Règles de la Netiquette</ulink>
-SVP et <emphasis role="bold">n'envoyez de mails en HTML</emphasis> sur
-aucune de nos listes de diffusion.
-Vous ne serez qu'ignoré ou banni.
-Si vous ne savez pas ce qu'est un mail en HTML ou pourquoi c'est mauvais,
-lisez ce <ulink url="http://efn.no/html-bad.html">sympatique document</ulink>
-(en Anglais).
-Il explique tous les détails et a des instructions pour désactiver le HTML.
-Notez également que nous ne ferons pas de CC (copie conforme) individuelle
-et que c'est donc une bonne idée de souscrire pour recevoir votre réponse.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_what">
-<title>Que rapporter</title>
-
-<para>
-Vous pouvez avoir besoin d'inclure des fichiers de log, de configuration
-ou d'échantillon. Si certains sont très gros alors il vaut mieux les uploader
-sur notre <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">serveur FTP</ulink>
-en format compressé (gzip et bzip2 préférés) et indiquer uniquement leur
-chemin et nom dans le rapport de bogue.
-Nos listes de diffusion ont une taille de message limite de 80k, si vous
-avez quelque chose de plus gros vous devrez le compresser ou l'uploader.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_system">
-<title>Information Système</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
-Votre distribution Linux ou système d'exploitation et version, ex. :
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + paquets de développement de la 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Version du noyau :
-<screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
-Version de la libc :
-<screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
-Versions de gcc et ld :
-<screen>
-gcc -v
-ld -v
-</screen>
-</para></listitem>
-<listitem><para>
-Version des binutils :
-<screen>as --version</screen>
-</para></listitem>
-<listitem><para>
-Si vous avez des problèmes avec le mode plein-écran :
- <itemizedlist>
- <listitem><para>Type de gestionnaire de fenêtre et version</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Si vous avez des problèmes avec XVIDIX :
- <itemizedlist>
- <listitem><para>Profondeur de couleur de X :
-<screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Si seul le GUI (ou IHM - Interface Homme Machine) est boguée :
- <itemizedlist>
- <listitem><para>Version de GTK</para></listitem>
- <listitem><para>Version de GLIB</para></listitem>
- <listitem><para>Position dans le GUI au moment où le bogue se produit</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_hardware">
-<title>Matériel et pilotes</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
-Info CPU (cela ne fonctionne que sous Linux) :
-<screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
-Fabricant et modèle de votre carte vidéo, ex. :
- <itemizedlist>
- <listitem><para>Puce ASUS V3800U: nVidia TNT2 Ultra pro 32Mo SDRAM</para>
- </listitem>
- <listitem><para>Matrox G400 DH 32Mo SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Type et version des drivers vidéo, ex. :
- <itemizedlist>
- <listitem><para>Pilote X intégré</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI avec X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Type de carte son et pilote, ex. :
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold avec pilote OSS de oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 avec pilotes noyau OSS</para></listitem>
- <listitem><para>GUS PnP avec émulation OSS ALSA</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-En cas de doute, joignez-y le résultat de <command>lspci -vv</command> sur les systèmes Linux.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<sect2 id="bugreports_configure">
-<title>Problèmes de configuration</title>
-
-<para>
-Si vous rencontrez des erreurs pendant l'éxecution de <command>./configure</command>,
-ou si l'auto-détection ou autre chose échoue, lisez <filename>config.log</filename>.
-Vous pourriez y trouver la réponse, par exemple des versions multiples
-mélangées de la même librairie dans votre système, ou vous avez oublié
-d'installer les paquets de développement (ceux avec le suffixe -dev).
-Si vous pensez que c'est un bogue, incluez
-<filename>config.log</filename> dans votre rapport de bogue.
-</para>
-</sect2>
-
-<sect2 id="bugreports_compilation">
-<title>Problèmes de compilation</title>
-
-<para>
-Veuillez inclure ces fichiers :
-<itemizedlist>
-<listitem><para>config.h</para></listitem>
-<listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<sect2 id="bugreports_playback">
-<title>Problèmes de lecture</title>
-
-<para>
-Merci d'inclure la sortie de <application>MPlayer</application> en verbosité niveau 1,
-mais rappelez-vous de <emphasis role="bold">ne pas tronquer la sortie</emphasis> en le
-copiant dans votre mail. Les développeurs ont besoin de tous les messages
-pour diagnostiquer correctement un problème. Vous pouvez rediriger la sortie
-dans un fichier comme ceci :
-<screen>mplayer -v <replaceable>options</replaceable> <replaceable>nomfichier</replaceable> > mplayer.log 2>&1</screen>
-</para>
-
-<para>
-Si votre problème est spécifique à un ou plusieurs fichiers, alors merci d'uploader
-le(s) fautif(s) sur :
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-Uploadez aussi un petit fichier texte ayant le même nom que votre fichier
-mais avec une extension .txt.
-Décrivez le problème que vous avez avec ce fichier et incluez votre adresse
-e-mail ainsi que la sortie de MPlayer en verbosité niveau 1.
-Généralement les premiers 1-5 Mo sont suffisants pour reproduire le problème,
-mais pour être sûrs nous vous demandons de faire :
-<screen>dd if=<replaceable>votre_fichier</replaceable> of=<replaceable>petit_fichier</replaceable> bs=1024k count=5</screen>
-Cela coupera les 5 premiers Mo de '<emphasis role="bold">votre_fichier</emphasis>'
-et les sauvera dans '<emphasis role="bold">petit_fichier</emphasis>'.
-Essayez alors de lire le petit fichier, et si le bogue persiste vous pouvez
-envoyer le petit fichier par ftp. <emphasis role="bold">N'envoyez jamais</emphasis>
-ces fichiers par e-mail SVP !
-Envoyez-les par FTP, et postez seulement le chemin/nom des fichiers sur le serveur
-FTP. Si le fichier est accessible en téléchargement à partir d'Internet, alors
-envoyez seulement son adresse URL <emphasis role="bold">exacte</emphasis>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_crash">
-<title>Plantages</title>
-
-<para>
-Vous devez lancer <application>MPlayer</application> à l'intérieur de
-<command>gdb</command> et nous envoyer le résultat complet ou si vous
-avez un <filename>core</filename> dump du plantage vous pouvez extraire
-des informations utiles du fichier Core. Voici comment :
-</para>
-
-
-<sect3 id="bugreports_debug">
-<title>Comment conserver les informations sur un plantage reproductible</title>
-
-<para>
-Recompilez <application>MPlayer</application> avec les instructions de
-déboguage activées :
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-et ensuite lancez MPlayer à l'intérieur de gdb en utilisant :
-<screen>gdb ./mplayer</screen>
-Vous êtes maintenant à l'intérieur de gdb. Tapez :
-<screen>run -v <replaceable>options-pour-mplayer</replaceable> <replaceable>nomfichier</replaceable></screen>
-et reproduisez votre plantage.
-Aussitôt que vous l'avez fait, gdb va vous renvoyer à la ligne de commande
-où vous devrez entrer
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="bugreports_core">
-<title>Comment extraire les informations significatives d'un core dump</title>
-
-<para>
-Créer le fichier de commande suivant :
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-Ensuite exécutez simplement la commande :
-<screen>gdb mplayer --core=core -batch --command=<replaceable>fichier_de_commande</replaceable> > mplayer.bug</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>Je sais ce que je fait...</title>
-
-<para>
-Si vous avez créé un rapport de bogue correct en suivant les étapes
-ci-dessus et que vous êtes persuadé qu'il s'agit d'un bug dans
-<application>MPlayer</application>, et non un problème de compilateur
-ou d'un fichier endommagé, vous avez déjà lu la documentation et vous
-n'arrivez pas à trouver une solution, vos pilotes son sont OK, alors
-vous pouvez souscrire à la liste mplayer-advusers et y envoyer votre
-rapport pour obtenir une réponse plus intéressante et plus rapide.
-</para>
-
-<para>
-Soyez prévenu que si vous posez des questions de newbie (débutant) ou
-des questions dont les réponses sont dans le manuel, vous serez ignoré
-ou insulté au lieu de recevoir une réponse appropriée.
-Donc ne nous insultez pas et ne vous inscrivez à -advusers que si vous
-savez vraiment ce que vous faites et vous sentez en mesure d'être un
-utilisateur avancé de <application>MPlayer</application> ou un développeur.
-Si vous correspondez à ces critères il ne devrait pas être difficile de
-trouver comment on s'inscrit...
-</para>
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/fr/documentation.xml b/DOCS/xml/fr/documentation.xml
deleted file mode 100644
index 98fe7f2..0000000
--- a/DOCS/xml/fr/documentation.xml
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r25566 -->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - Le Lecteur Vidéo</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>30 Novembre 2004</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayer team</holder>
-</copyright>
-<legalnotice>
- <title>License</title>
- <para>MPlayer is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>MPlayer is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with MPlayer; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>Comment lire cette documentation</title>
-
-<para>
-Si c'est votre première installation, assurez-vous de tout lire d'ici
-jusqu'Ã la fin de la section Installation, et de suivre tous les liens que vous
-pourrez trouver. Si vous avez d'autres questions, retournez à la
-<link linkend="toc">table des matières</link>, lisez la <xref linkend="faq"/>
-ou faites une recherche dans ces fichiers.
-La plupart des questions devraient trouver leur réponse ici et le
-reste a probablement déjà été demandé sur nos
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">listes de diffusion</ulink>.
-Regardez leurs <ulink url="https://lists.mplayerhq.hu/mailman/listinfo">archives</ulink>,
-il y a beaucoup d'informations intéressantes à y trouver.
-</para>
-
-</preface>
-
-
-<chapter id="intro">
-<title>Introduction</title>
-
-<para>
-<application>MPlayer</application> est un lecteur de vidéos pour GNU/Linux
-(fonctionne sur de nombreux autres Un*x, et processeurs non-x86, voir la
-section <xref linkend="ports"/>).
-Il lit la majorité des fichiers MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV,
-QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, Matroska supportés
-par de nombreux codecs natifs, XAnim, RealPlayer et les DLLs Win32.
-Vous pouvez regarder les VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson,
-Theora, ainsi que les vidéos au format MPEG-4 (DivX).
-L'autre point fort de <application>MPlayer</application> est la grande
-variété de pilotes de sortie supportée.
-Il fonctionne avec X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca,
-DirectFB, mais vous pouvez utiliser GGI et SDL (et ainsi tous leurs pilotes)
-et également certains pilotes de bas niveau spécifiques à certaines cartes
-(pour Matrox, 3Dfx et Radeon, Mach64, Permedia3) !
-La plupart d'entre eux supportent le redimmensionnement logiciel ou
-matériel, vous pouvez donc apprécier les films en plein écran.
-<application>MPlayer</application> supporte la décompression matérielle
-fournie par certaines cartes MPEG, telles que la <link linkend="dvb">DVB</link>
-et la <link linkend="dxr3">DXR3/Hollywood+</link>.
-Et que dire de ces superbes sous-titres ombrés et lissés (14
-types supportés) avec des polices européennes/ISO 8859-1,2
-(Hongrois, Anglais, Tchèque, etc.), Cyrilliques, Coréennes, ainsi que de
-l'Affichage Sur Ecran (ou OSD = On Screen Display) ?
-</para>
-
-<para>
-Ce lecteur peut lire les fichiers MPEG endommagés (utile pour certains VCDs),
-ainsi que les mauvais fichiers AVI qui ne sont pas lisibles par le célèbre
-Windows Media Player.
-Même les fichiers AVI sans index sont lisibles, et vous pouvez reconstruire
-leurs indexs soit temporairement avec l'option <option>-idx</option>,
-soit de manière définitive avec <application>MEncoder</application>, autorisant
-ainsi l'avance/retour rapide !
-Comme vous pouvez le constater, la stabilité et la qualité sont les choses
-les plus importantes, mais la vitesse est également formidable.
-Il y a également un puissant système de filtres pour faire de la manipulation
-vidéo et audio.
-</para>
-
-<para>
-<application>MEncoder</application> (Le Movie Encoder de
-<application>MPlayer</application>) est un simple encodeur de vidéos, conçu
-pour encoder des vidéos jouables par <application>MPlayer</application>
-(AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)
-dans d'autres formats jouables par <application>MPlayer</application>
-(voir plus bas).
-Il peut encoder avec des codecs variés comme MPEG-4 (DivX4)
-(1 ou 2 passes),<systemitem class="library">libavcodec</systemitem>,
-audio PCM/MP3/MP3 VBR.
-</para>
-
-
-<itemizedlist>
-<title>Fonctionnalités de <application>MEncoder</application></title>
-<listitem><para>Encodage à partir de la grande variété de formats de fichiers
-et de décodeurs de <application>MPlayer</application></para></listitem>
-<listitem><para>
- Encodage dans tous les codecs
- <systemitem class="library">libavcodec</systemitem> de FFmpeg
-</para></listitem>
-<listitem><para>
- Encodage vidéo depuis les tuners TV compatibles V4L
-</para></listitem>
-<listitem><para>
- Encodage/multiplexage vers fichiers AVI entrelacés avec index propre
-</para></listitem>
-<listitem><para>
- Création de fichiers à partir de flux audio externes
-</para></listitem>
-<listitem><para>
- Encodage 1, 2 ou 3 passes
-</para></listitem>
-<listitem><para>
- MP3 audio VBR
-</para></listitem>
-<listitem><para>
- PCM audio
-</para></listitem>
-<listitem><para>
- Copie de flux (stream)
-</para></listitem>
-<listitem><para>
- Synchronisation A/V de la source (basé sur PTS, peut être désactivé avec l'option
- <option>-mc 0</option>)
-</para></listitem>
-<listitem><para>
- Correction FPS avec l'option <option>-ofps</option> (utile
- pour l'encodage d'un VOB 30000/1001 fps en AVI 24000/1001 fps)
-</para></listitem>
-<listitem><para>
- Utilise notre très puissant système de plugins (crop, expand,
- flip, postprocess, rotate, scale, conversion rgb/yuv)
-</para></listitem>
-<listitem><para>
- Peut encoder les sous-titres DVD/VOBsub et
- le texte des sous-titres dans le fichier de destination
-</para></listitem>
-<listitem><para>
- Peut ripper les sous-titres DVD en format VOBsub
-</para></listitem>
-</itemizedlist>
-
-<!-- FIXME: the license should be in bookinfo -->
-<para>
-<application>MPlayer</application> et <application>MEncoder</application>
-peuvent être distribués selon les termes de la GNU General Public License Version 2.
-</para>
-
-</chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/fr/encoding-guide.xml b/DOCS/xml/fr/encoding-guide.xml
deleted file mode 100644
index 5026788..0000000
--- a/DOCS/xml/fr/encoding-guide.xml
+++ /dev/null
@@ -1,5401 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r26920 -->
-<chapter id="encoding-guide">
-<title>L'encodage avec <application>MEncoder</application></title>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Faire un MPEG-4 ("DivX") de bonne qualité à partir d'un DVD</title>
-
-<para>
- Il y a une question qui revient souvent :"Comment puis-je recopier un DVD avec la
- meilleure qualité possible pour une taille donnée ?". Ou encore :
- "Comment puis-je recopier un DVD sur mon disque dur avec la meilleure qualité
- possible ? je m'en fiche de la taille du fichier, je veux la meilleure
- qualité."
-</para>
-
-<para>
- Cette dernière question est peut-être un peu mal posée. Après tout, si vous ne vous
- souciez pas de la taille du fichier, pourquoi ne pas simplement copier le
- flux MPEG-2 du DVD en entier ? Bien sûr, votre AVI finira par faire 5Gb,
- mais si vous voulez la meilleure qualité, sans vous soucier de la
- taille, ceci est probablement votre meilleure option.
-</para>
-
-<para>
- En fait, la raison pour laquelle vous voulez convertir un DVD en MPEG-4
- est que vous tenez <emphasis role="bold">réellement</emphasis> compte
- de la taille du fichier.
-</para>
-
-<para>
- Il est difficile de proposer une recette sur la façon de créer des MPEG-4
- de très haute qualité à partir de DVD. Il y a plusieurs facteurs à prendre en compte, et vous
- devriez comprendre ces détails ou vous serez déçus par les résultats. Ci-dessous
- nous allons examiner quelques-uns de ces problèmes, et voir un exemple. Nous
- supposerons que vous utilisez <systemitem class="library">libavcodec</systemitem> pour encoder
- la vidéo, bien que la théorie s'applique également à d'autres codecs.
-</para>
-
-<para>
- Si vous ne vous sentez pas de taille, vous devriez utiliser une des
- interfaces graphiques listées sur la page de notre projet dans
- <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">Section
- MEncoder</ulink>.
- Ainsi, vous devriez être capable de faire de encodages de DVD de haute qualité
- sans trop réfléchir, ces outils sont faits pour prendre les bonnes décisions à votre place.
-</para>
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>Préparer l'encodage : identifier le matériel source et le nombre
-d'images par secondes</title>
-<para>
- Avant même de penser à encoder un film, il est nécessaire de passer par quelques étapes
- préliminaires.
-</para>
-
-<para>
- La première et plus importante étape avant l'encodage sera la détermination du
- type de contenu utilisé. Si votre matériel source provient d'un DVD ou de la télévision
- hertzienne/câble/satellite, il sera stocké sous l'un de ces 2 formats :
- NTSC pour l'Amérique du nord et le Japon, et PAL pour l'Europe, etc.
- Il est important de réaliser que ceci est uniquement un format adapté pour
- la télévision et cela ne correspond souvent <emphasis role="bold">pas</emphasis>
- au format original du film.
- L'expérience montre que le NTSC est bien plus dur à encoder car il y a plus
- d'éléments à identifier dans la source.
- Afin de produire un encodage acceptable, vous devez connaître le format original.
- Négliger cette étape créera divers défauts dans votre encodage, dont de hideux effets
- de peigne et des images dupliquées ou même perdues. De plus, ces artefacts
- sont mauvais pour l'efficacité d'encodage : vous obtiendriez une moins
-bonne qualité
- pour le même débit.
-</para>
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
-<title>Identification du nombre d'images par seconde de la source</title>
-<para>
- Voici une liste de types de matériel source courants, où vous devriez les trouver et
- leurs propriétés :
-</para>
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Film standard</emphasis> : produit pour une
- diffusion cinématographique en 24 images par secondes.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Vidéo PAL</emphasis> : Enregistrée par une
- caméra à 50 trames par secondes.
- Une trame consiste en l'ensemble des lignes paires (ou impaires) d'une
- image.
- La télévision a été créée de façon à afficher alternativement l'une ou
- l'autre de ces trames créant ainsi une forme de compression analogique bon
- marché.
- L'oeil humain est censé compenser cette alternance de trames mais dès lors
- que vous
- comprenez l'entrelacement, vous apprendrez à le voir sur la télévision et vous ne la regarderez
- plus de la même façon. Deux trames ne font <emphasis role="bold">pas</emphasis> une image
- complète, car elles sont capturées avec un décalage d'1/50e de seconde et donc, à moins
- qu'il n'y ait pas de mouvement, elles ne s'alignent pas parfaitement.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Vidéo NTSC</emphasis> : Enregistré par une
- caméra à 60000/1001 trames par secondes, ou 60 trames par secondes dans
- l'ère noir/blanc.
- A part cela, similaire au PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Dessins animés</emphasis> : Habituellement
- dessiné en 24 images par secondes, peut exister en mélange variés de
- nombre d'images par secondes.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Infographie</emphasis> : peut être de
- n'importe quel nombre d'images par secondes mais certains sont plus communs que d'autres;
- 24 et 30 sont typiques du NTSC et 25 du PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Vieux films</emphasis> : nombre d'images par
- secondes généralement plus bas.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
-<title>Identification du matériel source</title>
-<para>
- Les films composés d'images entières sont dits progressifs,
- alors que ceux composés de trames indépendantes sont appelés
- soit entrelacés soit vidéo - bien que ce dernier terme soit plutôt ambigu.
-</para>
-<para>
- Pour compliquer le tout, certains films sont un mélange des 2.
-</para>
-<para>
- La distinction la plus importante qui doit être faite entre ces formats
- est que certains utilisent des images entières alors que d'autres, des trames.
- Avant d'être visionnable sur un téléviseur,
- <emphasis role="bold">tout</emphasis>
- film (DVD inclus) doit être converti dans un
- format basé sur des trames. Les diverses méthodes par lesquelles ceci peut être fait
- peuvent être rassemblées sous le terme anglais "telecine", parmi lesquels l'infâme
- NTSC "3:2 pulldown" en est une variété.
- A moins que la vidéo source ne soit déjà basée sur des trames (et avec le bon nombre de trames par seconde),
- vous avez un film dans un format autre que celui d'origine.
-</para>
-
-<itemizedlist>
- <title>Plusieurs variétés communes de pulldown :</title>
-<listitem><para>
- <emphasis role="bold">Pulldown PAL 2:2 </emphasis> : Le plus joli de
- tous.
- Chaque image est affichée pour la durée de deux trames par extraction des lignes
- paires et impaires, puis en les affichant par alternance.
- Si l'original est à 24 images par secondes, ce procédé accélère le film de 4%.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis> :
- Toutes les 12 images, une image est affichées pour la durée de 3 trames au
- lieu de deux. Cela
- permet d'éviter le problème de l'accélération de 4% mais rend le processus bien plus
- difficile à inverser. Cette technique est généralement utilisée dans les productions
- musicales où l'accélération de 4% endommagerait sérieusement la qualité musicale.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Téléciné NTSC 3:2</emphasis> : Les images sont
- alternativement
- affichées pendant une durée de 3 ou 2 trames. Cela donne un nombre de trames par seconde
- de 2,5 fois le nombre d'images par seconde de l'original.
- Le résultat est aussi très légèrement ralenti de 60 trames par secondes à 60000/1001
- trames par seconde pour maintenir la vitesse d'affichage NTSC.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Pulldown NTSC 2:2</emphasis> : Utilisé pour
- montrer du 30 images par secondes sur du NTSC. Joli, comme le pulldown PAL
- 2:2.
-</para></listitem>
-</itemizedlist>
-
-<para>
- Il y aussi des méthodes de conversion entre vidéos NTSC et PAL
- mais cela sort du cadre de ce guide.
- Au cas où vous rencontriez un film au format NTSC ou PAL et vouliez l'encodez,
- le mieux serait de trouver une copie du film dans le format original.
- La conversion entre ces deux formats est hautement destructrice et ne peut
- être inversee proprement, votre encodage en souffrirait grandement s'il était
- fait à partir d'une source déja convertie (en NTSC ou PAL).
-</para>
-<para>
- Quand des vidéos sont stockées sur un DVD, les paires de trames
- consécutives sont rassemblées en une image même si elles ne sont pas censées
- être affichées au même moment.
- Le standard MPEG-2 utilisé dans les DVDs et la télévision numérique fournit
- un moyen à la fois d'encoder les images progressives originales et de stocker le
- numéro des trames auxquelles une image doit être montrée dans l'en-tête de cette image.
- Si cette méthode est utilisée, on dit que le film est "soft-téléciné"
- puisque le procédé impose uniquement au lecteur DVD d'appliquer le pulldown sur le film
- plutôt que d'altérer le film lui-même.
- Ce cas est de loin préférable puisqu'il peut être facilement inversé
- (en fait, ignoré) par l'encodeur et puisqu'il préserve la qualité au maximum.
- Malgré cela, beaucoup de studios de production de DVD et d'émission n'utilisent pas
- les techniques d'encodage correctes, au lieu de cela, elles produisent des films en "hard telecine"
- dans lesquels des trames sont dupliquées dans l'encodage MPEG-2.
-</para>
-<para>
- Les étapes pour gérer correctement ce genre de cas seront évoquées <link
- linkend="menc-feat-telecine">plus tard dans ce guide</link>.
- Pour l'instant, nous allons vous donner quelques indications pour définir à quel type
- source vous avez à faire :
-</para>
-
-<itemizedlist>
- <title>Régions NTSC :</title>
-<listitem><para>
- Si <application>MPlayer</application> affiche que le nombre d'image a changé en
- 24000/1001 quand vous regardez votre film et qu'il ne change plus après cela, c'est
- presque certainement un contenu progressif qui a été "soft téléciné".
-</para></listitem>
-<listitem><para>
- Si <application>MPlayer</application> affiche un nombre d'images par seconde alternant
- entre 24000/1001 et 30000/1001 et que vous voyez un effet de peigne par moment, alors
- il y a plusieurs possibilités.
- Les segments en 24000/1001 images par seconde sont très certainement un contenu progressif,
- "soft teleciné" mais les parties en 30000/1001 images par secondes peuvent être soit
- un contenu en 24000/1001 images par seconde "hard-telecinées", soit une vidéo NTSC en
- 60000/1001 trames par seconde.
- Utilisez les mêmes conseils que ceux pour les deux cas qui suivent pour savoir lequel.
-</para></listitem>
-<listitem><para>
- Si <application>MPlayer</application> montre un nombre d'images par seconde constant
- et que chacune des images des scènes de mouvement souffre d'un effet de peigne, alors
- votre film est une vidéo NTSC à 60000/1001 trames par seconde.
-</para></listitem>
-<listitem><para>
- Si <application>MPlayer</application> montre un nombre d'images par seconde constant
- et que deux images sur cinq souffrent d'un effet de peigne, votre film est "hard téléciné"
- en 24000/1001 images par seconde.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
- <title>Régions PAL :</title>
-<listitem><para>
- Si vous ne voyez jamais d'effet de peigne, le film est en pulldown 2:2.
-</para></listitem>
-<listitem><para>
- Si vous voyez un effet de peigne apparaissant et disparaissant
- toutes les demi-secondes, alors le film a subi un pulldown 2:2:2:2:2:2:2:2:2:2:2:3.
-</para></listitem>
-<listitem><para>
- Si vous voyez toujours un effet de peigne dans les scènes de mouvement,
- alors le film est en PAL Ã 50 trames par secondes.
-</para></listitem>
-</itemizedlist>
-
-<note><title>Astuce:</title>
-<para>
- <application>MPlayer</application> peut ralentir la lecture d'un film en utilisant
- l'option <option>-speed</option> ou le jouer image par image.
- Essayer <option>-speed 0.2</option> afin de regarder le film
- très lentement ou presser la touche "<keycap>.</keycap>" répététivement pour avancer
- image par image et ainsi identifier la "signature" du pulldown si
- celle-ci n'est pas visible à vitesse normale.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>Quantificateur constant contre multipasse</title>
-
-<para>
- Il est possible d'encoder votre film à de très différentes qualités.
- Avec un encodeurs vidéo modernes et quelques compression pré-codec
- (antibruit et redimensionnement) il est possible d'obtenir une
- trés bonne qualité pour un film grand écran de 90-110 minutes sur 700Mb.
- De plus, à part les plus longs, tous les films peuvent être encodés
- à une qualité presque parfaite sur 1400Mb.
-</para>
-
-<para>
- Il y a trois approches possibles pour encoder une vidéo : débit
- constant (CBR), quantification constante, et multipasse (ABR pour average
- bitrate ou débit moyen).
-</para>
-
-<para>
- La complexité des images d'un film et donc le nombre de bits requis pour
- les compresser peut varier grandement d'une scène à l'autre.
- Les encodeurs vidéos modernes peuvent s'ajuster à ces besoins en faisant
- varier le débit.
- Cependant, dans des modes simples comme le CBR, le compresseur ne connaît
- pas le besoin en débit pour les scènes à venir et ne peut donc pas excéder
- le débit moyen requis pour de longues portions du film.
- Des modes plus avancés, comme l'encodage multipasse peuvent prendre
- en compte les statistiques des passes précédentes, ce qui règle le
- problème ci-dessus.
-</para>
-
-<note><title>Note :</title>
-<para>
- La plupart des codecs qui supportent la compression ABR supportent seulement deux
- passages alors que d'autres comme le <systemitem class="library">x264</systemitem>,
- le <systemitem class="library">Xvid</systemitem> et le
- <systemitem class="library">libavcodec</systemitem> supportent le multipasse
- ce qui améliore légèrement la qualité à chaque passe même si ces améliorations
- ne sont plus visibles ou mesurables après environ la quatrième passe.
- Ainsi, dans cette section, deux passes et multipasse seront utilisés indifféremment.
-</para>
-</note>
-
-<para>
- Dans chacun de ces modes, le codec vidéo (tel que
- <systemitem class="library">libavcodec</systemitem>)
- sépare les images vidéo en macroblocs de 16x16 pixels et applique ensuite
- un quantificateur sur chaque macrobloc. Plus le quantificateur est bas, meilleure
- est la qualité et plus le débit est grand. La méthode utilisée par
- l'encodeur pour déterminer quel quantificateur utiliser pour un macrobloc donné
- varie et est très configurable. (ceci est une simplification
- à l'extrême du processus, mais il est utile de comprendre le principe de base).
-</para>
-
-<!-- FIXME -->
-<para>
- Lorsque vous spécifiez un débit constant, le codec vidéo encode la vidéo
- en excluant les détails autant qu'il le faut et aussi peu que possible
- de façon à rester en dessous du débit spécifié.
- Si la taille du fichier vous est vraiment égale, vous pourriez aussi bien
- fixer un débit constant infini (en pratique, dela signifie une valeur assez
- haute pour ne pas poser de limites, tel que 10000Kbit). Sans réelle
- restriction de débit, le codec utilisera le plus
- bas quantificateur possible pour chaque macrobloc (tel que spécifié par
- <option>vqmin</option> pour <systemitem class="library">libavcodec</systemitem>,
- qui vaut 2 par défaut). Dès que vous spécifiez un débit suffisament bas pour
- que le codec soit forcé d'utiliser un quantificateur plus grand, vous ruinez
- très certainement la qualité votre vidéo. Pour éviter ça, vous devriez probablement
- réduire la résolution de votre vidéo en suivant la méthode décrite plus tard
- dans ce guide.En général, vous devriez éviter le CBR si vous vous souciez de
- la qualité.
-</para>
-
-<para>
- Avec un quantificateur constant, le codec utilise
- le même quantificateur (spécifié par l'option <option>vqscale</option> pour
- <systemitem class="library">libavcodec</systemitem>) sur chaque macrobloc.
- Si vous voulez un encodage de la meilleure qualité possible, cette fois encore
- en ignorant le débit, vous pouvez utiliser <option>vqscale=2</option>. Cela
- donnera le même débit et le même PSNR (Peak Signal-to-Noise Ratio, rapport signal
- sur bruit de crête) que le CBR avec <option>vbitrate</option>=infini et la valeur
- par défaut de <option>vqmin</option> : 2.
-</para>
-
-<para>
- Le problème avec la quantification constante est que cela utilise le quantificateur
- spécifié que le macrobloc en ait besoin ou non. En fait, il doit être possible
- d'utiliser un quantificateur plus haut sur un macrobloc sans sacrifier la
- qualité visuelle. Pourquoi gaspiller les bits avec un quantificateur inutilement
- bas ? Votre microprocesseur est sûrement a largement assez puissant,
- tandis que votre disque lui, a une taille limitée.
-</para>
-
-<para>
- Avec l'encodage deux passes, la première passe va encoder le film comme
- en CBR, mais va garder un journal des propriétés de chaque image. Ces données
- sont ensuite utilisées pendant la seconde passe de façon à choisir intelligemment
- quels quantificateurs utiliser. Lors des scènes d'action rapide ou celles ayant
- beaucoup de détails, des quantificateurs plus élevés seront probablement utilisés.
- Pendant les scènes avec peu de mouvements ou avec peu de détails, ce seront
- des quantificateurs plus bas. Normalement, la quantité de mouvement est bien plus
- importante que la quantité de détail.
-</para>
-
-<para>
- Si vous utilisez <option>vqscale=2</option>, alors vous gaspillez des bits.
- Si vous utilisez <option>vqscale=3</option>, vous n'avez pas la meilleure
- qualité d'encodage. Supposez que vous encodez un DVD avec
- <option>vqscale=3</option>, et que le résultat est 1800Kbit/s. Si vous faites
- un encodage en deux passes avec <option>vbitrate=1800</option>, la vidéo produite
- aura une <emphasis role="bold">meilleure qualité</emphasis> pour le
- <emphasis role="bold">même débit</emphasis>.
-</para>
-
-<para>
- Maintenant que vous êtes convaincu que l'encodage deux passes est la bonne méthode,
- la vraie question est maintenant de savoir quel débit utiliser. Il n'y a pas de
- réponse toute faite. Idéalement, vous devriez choisir un débit offrant un compromis
- entre qualité et taille de fichier. Cette valeur varie selon la vidéo source.
-</para>
-
-<para>
- Si la taille ne compte pas, un bon point de départ pour un encodage de très haute
- qualité est environ 2000kbit/s plus ou moins 200kbit/s.
- Pour les vidéos comportant beaucoup d'actions ou de détails ou si vous avez
- de très bon yeux, vous pouvez choisir 2400 ou 2600.
- Pour certains DVDs, vous pourriez ne pas voir de différence à 1400kbps. C'est une
- bonne idée que d'essayer sur des scènes avec différents débits pour se rendre
- compte.
-</para>
-
-<para>
- Si vous avez fixé une taille limite, alors il faudra d'une certaine façon calculer
- le débit. Mais avant cela, il faudra définir l'espace que
- vous réservez aux piste(s) audio et vous devrez <link linkend="menc-feat-dvd-mpeg4-audio">
- les encoder</link> en premier.
- Vous pourrez alors calculer le débit souhaité avec l'équation
- suivante :
- <systemitem>Débit = (taille_fichier_final_en_Mo - taille_fichier_son_en_Mo) *
- 1024 * 1024 / durée_en_secondes * 8 / 1000</systemitem>
- Par exemple, pour ramener deux heures de films sur un CD de 702Mo avec une piste
- son de 60Mo, le débit vidéo sera alors de :
- <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = 740kbit/s</systemitem>
-</para>
-
-</sect2>
-<sect2 id="menc-feat-dvd-mpeg4-constraints">
-<title>Contraintes pour une compression efficace</title>
-
-<para>
- De par la nature intrinsèque de la compression MPEG, de nombreux
- paramètres entrent en jeu afin d'obtenir une qualité maximale.
- Le MPEG découpe la vidéo en carré de 16x16 appelé macroblocs. Chacun
- d'entre eux est composé de 4 petits (8x8) blocs contenant des informations sur
- la luminosité (intensité) ainsi que de 2 blocs (donc à résolution moitié)
- contenant des informations chromatiques (pour les teintes rouge-cyan et bleu-jaune).
- Même si la longueur et la largeur du film ne sont pas des multiples de 16,
- l'encodeur utilisera des macroblocs de 16x16 pour couvrir l'image entière,
- l'espace restant sera alors perdu.
- Si votre intérêt est de conserver une très bonne qualité, utiliser des résolutions
- non multiples de 16 n'est pas une bonne idée.
-</para>
-
-<para>
- La plupart des DVDs ont aussi des bandes noires sur les bords. Négliger
- ces parties peut <emphasis role="bold">grandement</emphasis> altérer la qualité de plusieurs manières.
-</para>
-
-<orderedlist>
-<listitem>
-<para>
- La compression MPEG est aussi dépendante du domaine de transformation des
- fréquences, en particulier du "Discrete Cosine Transform (DCT)" (similaire à une
- transformée de Fourier). Ce type d'encodage est efficace pour les
- formes et les transitions douces, mais fonctionne moins bien avec les contours
- acérés. Afin d'encoder correctement, il demandera plus de bits, sinon des
- artefacts de compression apparaîtront, aussi connus sous le nom de "ringing".
-</para>
-
-<para>
- La transformation en fréquence (DCT) prend place séparément dans chaque
- macrobloc (en fait, dans chaque bloc), donc le problème n'apparaîtra
- que si un bord franc se situe dans ce bloc. Si vos bordures noires commencent
- exactement sur un multiple de 16, ce ne sera pas un problème. En pratique,
- les bordures ne sont jamais bien alignées, et il sera certainement
- nécessaire de les couper pour éviter ces défauts.
-</para>
-</listitem>
-</orderedlist>
-
-<para>
- En plus des transformations au niveau des fréquences, la compression MPEG
- utilise des vecteurs de mouvements représentant les changements d'une image
- à la suivante. Ces vecteurs de mouvements voient leur utilité grandement
- réduite quand la prochaine image à un contenu totalement différent. Quand
- il y a un mouvement qui sort de la région encodée, cela ne pose pas de problème
- aux vecteurs. En revanche, cela peut poser des problèmes avec les bandes
- noires :
-</para>
-
-<orderedlist continuation="continues">
-<listitem>
-<para>
- Pour chaque macrobloc, la compression MPEG stocke un vecteur identifiant
- quelle partie de l'image précédente devrait être copiée dans les macroblocs
- de l'image suivante. Seules les différences devront alors être encodées.
- Si le macrobloc s'étend et prend en compte une des bordures noire de l'image,
- alors le vecteur de mouvement écrasera la bordure noire. Cela veut dire que de
- nombreux bits sont gaspillés pour re-noircir la bande noire ou alors (plus probable) que le vecteur
- de mouvement ne sera pas du tout utilisé et que tout le macrobloc
- devra alors être ré-encodé. Dans tous les cas, l'efficacité de l'encodage en est
- grandement améliorée.
-</para>
-
-<para>
- Une fois encore, ce problème n'existe que si les lignes des bordures noires
- ne sont pas un multiple de 16.
-</para>
-</listitem>
-
-<listitem>
-<para>
- Enfin, supposons que l'on ait un macrobloc à l'intérieur d'une image et qu'un
- objet se déplace dans ce bloc proche d'un bord de l'image. Malheureusement, le
- MPEG ne sait pas faire "copier juste la partie qui dans l'image et laisser tomber
- la partie noire". Donc la partie noire sera alors aussi copiée, ce qui fait encore gaspiller
- beaucoup de bits pour compresser un morceau d'image qui n'est pas sensé être là .
-</para>
-
-<para>
- Si l'objet en mouvement parcourt depuis le bord noir jusque dans la zone encodée,
- le MPEG dispose d'optimisation spéciales pour copier en répétition des pixels
- depuis le bord de l'image lorsque celui vient de l'extérieur de la partie encodée.
- Ces optimisations deviennent inutiles quand le film à des bandes noires. Contrairement
- aux problèmes 1 et 2, même les bordures noires multiples de 16 n'aident pas dans ce cas.
-</para>
-</listitem>
-
-<listitem>
-<para>
- Malgré le fait que les bordures soient entièrement noires et quelles ne changent jamais,
- elles impliquent un léger surplus dû au plus grand nombre macroblocs à coder.
-</para>
-</listitem>
-</orderedlist>
-
-<para>
- Pour toutes ces raisons, il est préférable de couper entièrement ces bandes
- noires. Dans la même optique, s'il y a une partie contenant du bruit ou de la
- distorsion d'image près d'une bordure, la coupure l'enlèvera et permettra d'avoir
- une amélioration significative de la qualité de l'encodage. Les puristes parmi les vidéophiles
- souhaiteront préserver l'encodage le plus proche possible de
- l'original, à moins qu'ils n'encodent avec un quantificateur constant, la qualité
- gagnée après la suppression des bandes noires améliorera grandement la qualité
- finale de l'encodage au regard des quelques informations perdues.
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>Découpage et Redimensionnement</title>
-
-<para>
- Vous vous souvenez de la section précédente que les dimensions (à la fois largeur et hauteur)
- de l'image finale doivent être des
- multiples de 16. Cela peut être réalisé par recadrage (découpe),
- redimensionnement ou une combinaison des deux.
-</para>
-
-<para>
- Lors du recadrage, il y a quelques règles qui doivent être respectées pour éviter
- d'endommager votre film.
- Le format YUV normal, 4:2:0, stocke la chrominance (la couleur) de manière
- sous-échantillonnée, c'est à dire que la chrominance est échantillonnée moitié moins
- souvent que la luminance (intensité). Sur le schéma suivant, L indique l'échantillonage en luminance et C en chrominance.
-</para>
-
-<informaltable>
-<?dbhtml table-width="40%" ?>
-<?dbfo table-width="40%" ?>
-<tgroup cols="8" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
- Comme vous pouvez le voir, les lignes et colonnes de l'image viennent naturellement par deux.
- Ainsi, les dimensions de votre recadrage ainsi que ses distances au bords d'origine
- <emphasis>doivent</emphasis> être paires. Si elles ne
- l'étaient pas, les chrominances et luminances ne seraient plus alignées.
- En théorie, il est possible d'avoir des dimensions impaires, mais cela
- requière un nouvel échantillonage de la chrominance, ce qui
- engendre potentiellement des pertes d'information et n'est pas supporté par
- le filtre de recadrage.
-</para>
-
-<para>
- Ensuite, la vidéo entrelacée est échantillonnée de la façon suivante :
-</para>
-
-<informaltable>
-<?dbhtml table-width="80%" ?>
-<?dbfo table-width="80%" ?>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
-<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
-<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
-<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
-<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Trame impaire</entry>
- <entry namest="col9" nameend="col16">Trame paire</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
- Comme vous pouvez le voir, le plus petit motif à se répéter est sur 4 lignes.
- Donc, pour la vidéo entrelacée, la hauteur de votre recadrage et sa distance
- verticale aux bords doivent être des multiples de 4.
-</para>
-
-<para>
- La résolution native pour un DVD NTSC est 720x480 et 720x576 pour un
- PAL, mais il y a un indicateur d'aspect qui spécifie que le mode est
- plein-écran (full-screen 4:3) ou bien écran large (wide-screen 16:9).
- Un grand nombre de DVDs (pas tous) en wide-screen ne respecte pas
- strictement le format 16:9, mais est plutôt en 1,85:1 ou 2,35:1 (cinémascope).
- Ceci signifie qu'il y aura des bandes noires à enlever sur la vidéo.
-</para>
-
-<para>
- <application>MPlayer</application> fournit un filtre de détection
- qui détermine le rectangle de recadrage (<option>-vf cropdetect</option>).
- Lancer l'application <application>MPlayer</application> avec l'option
- <option>-vf cropdetect</option> et il affichera les options de recadrage pour enlever les bandes.
- Vous devez laisser tourner le film suffisamment longtemps pour que toute la zone de l'image soit vue
- de façon à obtenir des valeurs précises.
-</para>
-
-<para>
- Ensuite, testez les valeurs obtenues avec <application>MPlayer</application> en utilisant
- la ligne de commande fournie par <option>cropdetect</option>,
- et éventuellement ajustez le rectangle de recadrage.
- Ce filtre <option>rectangle</option> offre la possibilité de le positionner
- de façon interactive pendant le film. N'oubliez pas de suivre les
- recommandations précédentes sur la divisibilité des dimensions de l'image afin de ne pas
- désaligner les plans de chrominance.
-</para>
-
-<para>
- Dans certain cas, le redimensionnement n'est pas souhaitable. Il est délicat
- dans le sens vertical avec des vidéos entrelacées, si vous désirez
- conserver l'entrelacement, vous devrez vous abstenir de redimensionner.
- Sans redimensionner, pour utiliser des dimensions multiples de 16,
- il vous faudra recadrer plus petit que l'image. Ne pas recadrer plus grand que l'image
- parce que les bandes noires sont nuisibles à la compression.
-</para>
-
-<para>
- Le MPEG-4 utilisant des macroblocs de 16x16, assurez-vous que les dimensions
- de la vidéo que vous encodez sont des multiples de 16, sinon vous dégraderez la
- qualité, surtout à de faibles débits. Pour ce faire, vous pouvez
- arrondir les dimensions du rectangle de recadrage au multiple de 16 inférieur.
- Comme expliqué plus haut, durant le recadrage, vous devrez augmenter le
- décalage en Y de la moitié de la différence entre l'ancienne et la nouvelle
- hauteur pour que l'image résultante se situe au milieu de l'ancienne. Et à cause
- de la façon dont les vidéos DVD sont échantillonnées, assurez-vous que ce décalage en Y
- est un nombre pair. (En fait, c'est une règle : n'utilisez jamais une
- valeur impaire lors d'un recadrage ou d'un redimensionnement de vidéo).
- Si vous ne vous faites pas à l'idée de perdre quelques pixels,
- alors vous devriez plutôt redimensionner la vidéo. Nous allons voir
- cela dans notre exemple ci-dessous.
- En fait, vous pouvez laisser le filtre <option>cropdetect</option> faire
- tout cela pour vous : il a un paramètre optionnel d'arrondi
- <option>round</option> qui vaut 16 par défaut.
-</para>
-
-<para>
- Faites aussi attention aux pixels à "demi-noir" sur les bords. Assurez-vous qu'ils sont
- en dehors de votre recadrage, autrement, vous gâcherez des bits qui seraient mieux utilisés ailleurs.
-</para>
-
-<para>
- Après tout ceci, vous obtiendrez une vidéo qui n'est pas tout à fait au format
- 1,85:1 ou 2,35:1, mais quelque chose d'assez proche. Vous pourriez alors
- calculer le nouveau format à la main mais <application>MEncoder</application> propose
- une option appelée <option>autoaspect</option> pour <systemitem class="library">libavcodec</systemitem>
- qui fera cela pour vous. N'agrandissez surtout pas cette vidéo pour
- obtenir les dimensions standards à moins que vous n'aimiez gâcher votre espace disque.
- Ce changement d'échelle se fait à la lecture, le lecteur utilisera les données
- stockées dans le fichier AVI pour effectuer le bon rendu.
- Malheureusement, tous les lecteurs vidéos n'appliquent pas ce redimensionnement
- automatique, c'est peut-être pour cela que vous voudrez quand même procéder à ce redimensionnement.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>Choix de la résolution et du débit</title>
-
-<para>
- Si vous n'encodez pas dans un mode à quantificateur constant, vous
- devez sélectionner un débit.
- Le concept de débit (bitrate) est assez simple.
- C'est un nombre (moyen) de bits par seconde qui sera utilisé pour stocker votre film.
- Normalement, le débit est mesuré en kilobits (1000 bits) par seconde.
- La taille de votre film sur le disque dur correspond au débit multiplié par sa
- durée plus une petite quantité pour l'"en-tête" (surcoût, voir par exemple la section sur
- <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">les conteneurs AVI</link>).
- D'autres paramètres comme le redimensionnement, le recadrage, etc. ne modifieront
- <emphasis role="bold">pas</emphasis> la taille du fichier sauf si vous y
- changez aussi le débit.
-</para>
-<para>
- Le débit n'est <emphasis role="bold">pas</emphasis> proportionnel
- à la résolution. Ce qui veut dire qu'un fichier en 320x240 Ã
- 200 kbit/sec n'aura pas la même qualité que le même film en 640x480 Ã
- 800 kbit/sec ! A cela, deux raisons :
-<orderedlist>
- <listitem><para>
- <emphasis role="bold">Visuelle</emphasis> : Les artefacts de
- compression MPEG se remarquent plus s'il sont agrandis.
- Les artefacts apparaissent à l'échelle des blocs (8x8). L'oeil humain ne
- voit pas autant d'erreurs dans 4800 petits blocs aussi facilement que qu'il les
- voit dans 1200 grands blocs (en supposant une visualisation en plein écran
- dans les deux cas).
- </para></listitem>
- <listitem><para>
- <emphasis role="bold">Théorique</emphasis> : Quand vous réduisez la
- taille d'une image mais que vous continuez à utiliser les mêmes tailles de
- bloc (8x8) pour la transformation dans le domaine fréquentiel, vous
- déplacez plus de données vers les hautes fréquences. Grossièrement
- dit : chaque pixel contient plus de détails qu'avant.
- Donc, même si votre image de taille réduite ne contient plus qu'un quart de
- l'information dans le domaine spatial, elle peut toujours contenir une grande part
- de l'information dans le domaine fréquentiel (en supposant que les hautes fréquences
- étaient sous-utilisées dans votre originale en 640x480).
- </para></listitem>
- </orderedlist>
-</para>
-<para>
- Les anciens guides recommandaient de choisir un débit et une résolution basés
- sur "1 bit par pixel", mais ce n'est que peu justifié avec les raisons évoquées ci-dessus.
- Une meilleure estimation reste que le débit augmente proportionnellement à la
- racine carrée de la résolution, donc une image 320x240 à 400 kbit/sec
- sera comparable à une en 640x480 à 800 kbit/sec.
- Cela n'a pas été strictement vérifié par la théorie ou une quelconque méthode.
- De plus, pour un film donné, le résultat variera en fonction du bruit, des détails,
- du degré de mouvement, etc.. Il est futile de donner des recommandations générales
- du style : un nombre de bits par longueur de diagonale (similaire au
- bit par pixel, en utilisant la racine carrée).
-</para>
-<para>
- Jusqu'à maintenant, nous avons discuté de la difficulté de choisir le débit et la résolution.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-
-<title>Calcul de la résolution</title>
-<para>
- Les étapes qui suivent vous guideront dans le calcul de la résolution de votre
- encodage sans trop distordre la vidéo, en prenant en compte les différents types
- d'information sur la source vidéo.
- En premier lieu, il faut calculer le format de l'encodage :
- <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
-
-<itemizedlist>
-<title>Où :</title>
-<listitem><para>
- Wc et Hc sont la largeur et la hauteur de la vidéo recadrée,
-</para></listitem>
-<listitem><para>
- ARa est le format affiché, généralement 4/3 ou 16/9,
-</para></listitem>
-<listitem><para>
- PRdvd est le ratio des pixels du DVD qui normalement est égal à 1,25 (=720/576)
- pour le PAL et 1,5(=720/480) pour le NTSC,
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
- Ensuite, vous pouvez calculer la résolution X et Y en tenant compte du facteur
- de Qualité de Compression (CQ) :
- <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
- et
- <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
-</para>
-
-<para>
- D'accord, mais c'est quoi ce CQ ?
- le CQ représente le nombre de bit par pixel et par image encodée. Grosso modo,
- plus le CQ est grand, moins il y aura de chances de voir apparaître des artefacts
- de compression. En tout cas, si vous avez une limite de taille pour votre film
- (1 ou 2 CDs par exemple), il y a donc une limite au nombre de bits total que vous
- pouvez lui allouer et il est donc nécessaire de trouver le bon compromis entre
- compressibilité et la qualité.
-</para>
-
-<para>
- Le CQ dépend du débit, de l'efficacité du codec vidéo et de la résolution
- du film.
- Une manière d'augmenter le CQ, c'est de réduire la résolution du film
- puisque le débit est calculé en fonction de la taille finale désirée et la
- longueur du film qui sont constantes.
- Avec les codecs ASP MPEG-4 comme le
- <systemitem class="library">Xvid</systemitem> ou le
- <systemitem class="library">libavcodec</systemitem>,
- un CQ en dessous de 0,18 donne
- généralement une image type mosaïque car il n'y pas assez de bits pour coder
- les informations de chaque macrobloc (le MPEG-4, comme les autres codecs, groupe
- les pixels compressés par blocs pour compresser l'image, s'il n'y a pas assez
- de bits, les bords de ce macrobloc deviennent alors visibles).
- Donc il est raisonnable de prendre un CQ entre 0,20 et 0,22 pour une copie tenant
- sur 1 CD, et entre 0,26 et 0,28 pour une copie sur 2 CDs avec des options d'encodage
- standard.
- Des options d'encodage plus avancées telles que celles listées ici pour le
- <link linkend="menc-feat-mpeg4-lavc-example-settings">
- <systemitem class="library">libavcodec</systemitem>
- </link> et le
- <link linkend="menc-feat-xvid-example-settings">
- <systemitem class="library">Xvid</systemitem>
- </link>
- devraient permettre d'obtenir la même qualité avec un CQ se situant entre
- 0,18 et 0,20 pour une copie sur 1 CD et 0,24 Ã 0,26 pour une copie sur 2 CDs.
- Avec les codecs MPEG-4 AVC comme <systemitem class="library">x264</systemitem>,
- vous pouvez utiliser un CQ se situant entre 0,14 et 0,16 avec des options
- standards d'encodage, et même descendre entre 0,10 et 0,12 avec les
- <link linkend="menc-feat-x264-example-settings">options avancées de
- <systemitem class="library">x264</systemitem>
- </link>.
-</para>
-
-<para>
- Notez que le CQ n'est qu'un indicateur puisqu'il dépend directement du contenu encodé,
- un CQ de 0,18 pourrait sembler parfait pour un film de Bergman, mais
- trop petit pour un film comme Matrix contenant beaucoup de scènes d'actions.
- A l'opposé, il est inutile d'aller au delà de 0,30 pour le CQ, vous ne feriez que gâcher
- de l'espace disque sans gain notable en qualité.
- Notez aussi, comme cela a été dit plus haut que les vidéos en
- plus petites résolutions auront besoin d'un plus grand CQ (comparé à la résolution
- d'un DVD par exemple) pour un rendu correct.
-</para>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>Les filtres</title>
-
-<para>
- Apprendre à utiliser les filtres vidéos de <application>MEncoder</application>
- est essentiel pour créer des fichiers bien encodés.
- Toutes les transformations vidéos sont exécutées au travers de filtres, comme le recadrage (découpe),
- le redimensionnement, l'ajustement de couleur, la suppression du bruit, l'ajustement
- de la netteté, le dés-entrelacement, le téléciné, le téléciné inverse, ou l'effacement
- des macroblocs trop visible, pour n'en nommer que quelques un.
- Avec le grand nombre de formats d'entrée supporté, la variété des
- filtres disponibles dans <application>MEncoder</application> est l'un de ses principaux
- avantages sur d'autres programmes similaires.
-</para>
-
-<para>
- Les filtres sont chargés dans la chaîne grâce à l'option -vf :
-
- <screen>-vf filtre1=options,filtre2=options,...</screen>
-
- La plupart des filtres acceptent plusieurs options numériques séparées par des double-points (:), mais
- la syntaxe varie d'un filtre à l'autre, aussi lisez la page manuel pour avoir les détails sur les filtres
- que vous souhaitez utiliser.
-</para>
-
-<para>
- Les filtres agissent sur la vidéo dans l'ordre de leur chargement. Par exemple,
- la chaîne suivante :
- <screen>-vf crop=688:464:12:4,scale=640:464</screen>
- recadrera d'abord une zone de 688x464 depuis le bord supérieur gauche mais
- avec un décalage de (12;4), puis redimensionnera la vidéo pour obtenir du
- 640x464.
-</para>
-
-<para>
- Certains filtres ont besoin d'être chargés au début (ou proche du début) de la chaîne pour
- profiter d'informations du décodeur vidéo qui seraient perdues ou invalidées par d'autres filtres.
- Les principaux exemples sont <option>pp</option> (postprocessing, seulement
- dans le cas d'un estompage des macroblocs ou des enlèvements des artefacts de
- compression), le <option>spp</option> (un autre post processus pour enlever les
- artefacts MPEG), le <option>pullup</option> (téléciné inverse), et <option>
- softpulldown</option> (conversion du soft téléciné en hard
- telecine).
-</para>
-
-<para>
- En général, il vaut mieux utiliser le moins de filtres possibles afin de conserver
- l'encodage le plus proche possible du DVD source. Le recadrage est souvent
- nécessaire (comme expliqué plus haut), mais évitez de redimensionner l'image.
- Bien qu'il soit parfois préférable de réduire la taille de l'image plutôt que d'utiliser
- un quantificateur plus élevé, nous voulons éviter tout ceci. Souvenez-vous que
- nous avons décidé au départ d'échanger des bits pour de la qualité.
-</para>
-
-<para>
- Aussi, n'ajustez pas le gamma, le contraste, la luminosité, etc. Ces réglages
- peuvent être bons chez vous mais pas sur un autre écran. Ils doivent être
- appliqués lors de la lecture uniquement.
-</para>
-
-<para>
- Une chose que vous pouvez vouloir faire est de passer la vidéo à travers un filtre trés léger
- antibruit, comme par exemple <option>-vf hqdn3d=2:1:2</option>.
- Il s'agit encore une fois d'optimiser l'utilisation de l'espace
- disque : pourquoi le gaspiller à encoder du bruit alors qu'il sera
- là de toutes façons à la lecture ?
- Augmenter les paramètres de <option>hqdn3d</option> améliorera encore la
- compressibilité, mais si vous les augmentez trop, vous risquez de dégrader
- l'image.
- Les valeurs suggérées ci-dessus (<option>2:1:2</option>) sont plutôt
- conservatrices, n'hésitez pas à les augmenter et à regarder le résultat par
- vous-même.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>Entrelacement et Téléciné</title>
-
-<para>
- Presque tous les films sont tournés en 24 images par seconde. Puisque le NTSC est en 30000/1001 images par seconde,
- certains traitements doivent être appliqués pour l'adapter au débit NTSC.
- Ce procédé est appelé 3:2 pulldown, plus communément appelé téléciné (car
- le pulldown est souvent appliqué durant la phase de conversion en téléciné),
- et de façon simpliste, il fonctionne en ralentissant le film à 24000/1001 images par seconde,
- et en répétant une image sur 4.
-</para>
-
-<para>
- Aucun traitement spécifique n'est cependant appliqué à la vidéo des DVDs
- PAL, qui fonctionnent à 25 images par seconde (techniquement, PAL peut être téléciné, ce qui est
- appelé 2:2 pulldown, mais ceci n'est pas un problème en pratique). Le film
- en 24 images par seconde est simplement lu en 25 images par seconde. Le résultat est que la vidéo tourne
- légèrement plus vite, mais à moins d'être un extra-terrestre, vous ne verrez probablement pas la
- différence. Le son de la plupart des DVDs PAL a été corrigé de façon à sonner correctement
- quand il est lu à 25 images par seconde, même si la piste
- audio (et donc le film entier) a une durée 4% plus courte que les DVDs NTSC.
-</para>
-
-<para>
- Puisque la vidéo d'un DVD PAL n'a pas été modifiée, vous n'avez pas à vous soucier
- de la cadence de défilement des images. La source est en 25 images par seconde, et votre copie sera en 25 images par seconde. Cependant,
- si vous recopier un film d'un DVD NTSC, vous pourrez avoir besoin d'appliquer
- du téléciné inverse.
-</para>
-
-<para>
- Pour les films tournés en 24 images par seconde, la vidéo du DVD NTSC est soit en 30000/1001
- téléciné, soit en 24000/1001 progressif et prévu pour être téléciné à la volée
- par le lecteur DVD. D'un autre coté, les séries TV sont généralement
- seulement entrelacées, pas télécinées. Ce n'est pas une règle absolue :
- certaines
- séries TV sont entrelacées (comme 'Buffy contre les vampires') alors que d'autres
- sont un mélange de progressif et d'entrelacé (comme 'Dark Angel', ou '24 heures
- chrono').
-</para>
-
-<para>
- Il est fortement recommandé de lire la section <link linkend="menc-feat-telecine">
- Comment gérer le téléciné et le dés-entrelacement avec les DVDs NTSC</link>
- pour apprendre à gérer les différentes possibilités.
-</para>
-
-<para>
- De toutes façons, si vous copiez principalement des films, vous rencontrerez de
- la vidéo 24 images par seconde progressive ou télécinée, et dans ce cas vous pouvez
- utiliser le filtre <option>pullup</option> avec
- <option>-vf pullup,softskip</option>.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>Encodage de vidéos entrelacées</title>
-
-<para>
- Si la vidéo que vous désirez encoder est entrelacée (NTSC ou PAL), vous devez décider
- si vous voulez la dés-entrelacer ou non.
- Si le dés-entrelaçage rend votre film visionable sur des appareils à balayage progressif
- tels que les écrans d'ordinateur ou les projecteurs, cela a un coût :
- le taux de 50 ou
- 60 000/1001 trames par secondes passera à 25 ou 30 000/1001 et en gros, la moitié de
- l'information de votre film sera perdue pendant les scènes avec beaucoup de mouvement.
-</para>
-
-<para>
- Ainsi, si votre encodage a pour but l'archivage de haute qualité, il est recommandé
- de ne pas dés-entrelacer.
- Le film pourra toujours être dés-entrelacé lors de sa lecture sur un appareil Ã
- balayage progressif.
- La puissance des ordinateurs actuels oblige les lecteurs à utiliser pour ce
- faire des filtres de désentrelaçage qui offrent un rendu final imparfait.
- Mais les lecteurs du futur seront capables de mimer l'affichage entrelacé des
- téléviseurs.
-</para>
-
-<para>
- Des précautions particulières doivent être prises lors d'un travail sur
- vidéo entrelacée :
-</para>
-
-<orderedlist>
-<listitem><para>
- La hauteur de recadrage et son décalage vertical doivent être des multiples de 4.
-</para></listitem>
-<listitem><para>
- Tout redimensionnement vertical doit être effectué en mode entrelacé.
-</para></listitem>
-<listitem><para>
- Les filtres de post-traitement et d'antibruit peuvent ne pas marcher comme
- souhaité si vous ne prenez pas soin de ne travailler que sur une trame
- à la fois et ils peuvent détériorerla video s'ils sont utilisés incorrectement.
-</para></listitem>
-</orderedlist>
-
-<para>
- En tenant compte de ces recommandations, voici notre premier exemple :
-</para>
-<screen>
-mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-<para>
-Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>Remarques sur la synchronisation Audio/Vidéo</title>
-<para>
- Le système de synchronisation audio/vidéo de <application>MEncoder</application>
- a été créé dans le but de pouvoir lire et restaurer même des fichiers dont la synchronisation
- est faussée ou été mal faite, ou des fichiers corrompus.
- Cependant, dans certains cas, ils peuvent créer des duplications ou des sauts
- d'image non désirés et peut-être une légère désynchronisation lorsqu'ils sont utilisés sur
- des fichiers sources propres (bien sûr, les questions de synchronisation A/V ne se posent
- que si vous encodez ou copiez la bande son en même temps que vous encodez la video, ce qui
- est fortement encouragé).
- Ainsi, vous devez peut-être passer à la synchronisation A/V basique
- grâce à l'option <option>-mc 0</option>.
- Vous pouvez la mettre dans votre fichier de configuration
- <systemitem>~/.mplayer/mencoder</systemitem> tant que vous ne travaillez
- que sur des fichiers sources propres (DVD, capture télé, encodage MPEG-4
- de haute qualité, etc) et des fichiers ASF/RM/MOV non-détériorés.
-</para>
-<para>
- Si vous désirez vous protéger encore plus contre les sauts et les duplications
- étranges d'images, vous pouvez utiliser à la fois <option>-mc 0</option> et
- <option>-noskip</option>.
- Cela empêche <emphasis>toute</emphasis> synchronisation A/V et copie les
- images une à une.
- Vous ne pouvez donc pas l'utiliser avec des filtres qui ajoutent ou enlèvent
- des image de façon imprévisible ou si votre fichier source a un nombre d'images
- par seconde variable !
- L'option <option>-noskip</option> n'est donc généralement pas recommandée.
-</para>
-<para>
- Il a été signalé que l'encodage audio nommé "3 passes" que <application>MEncoder</application>
- supporte provoquait des désynchronisations A/V.
- Cela arrive en tout cas quand il est utilisé en même temps que certains
- filtres, donc, il est maintenant recommandé de <emphasis>ne pas</emphasis>
- utiliser le mode audio "3 passes".
- Cette possibilité n'est conservé que pour des raisons de compatibilité
- et pour les utilisateurs experts qui savent quand l'utiliser.
- Si vous n'avez jamais entendu parler de mode "3 passes", oubliez que cela a
- été mentioné !
-</para>
-<para>
- Il a été signalé des désynchronisations A/V lors d'encodage à partir de
- l'entrée standard
- avec <application>MEncoder</application>. Ne faites pas ça ! Utilisez
- toujours un fichier, un CD/DVD ou autre comme source.
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>Choisir le codec video</title>
-
-<para>
- Le choix du meilleur codec video dépend de plusieurs facteurs comme
- la taille, la qualité, la lecture en transit (streamability), la
- facilité d'utilisation, la popularité qui, pour certains d'entre
- eux dépendent de préférences personnelles et de contraintes techniques.
-</para>
-<itemizedlist>
- <listitem><para>
- <emphasis role="bold">L'efficacité de la compression</emphasis> :
- Il est assez évident que les codec des toutes dernières générations
- sont faits pour augmenter la qualité et la compression.
- Donc, les auteurs de ce guide et de nombreuses autres personnes
- pensent que vous ne pouvez pas vous tromper
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'>
- <para>Attention tout de même : décoder une video MPEG-4 AVC de la
- resolution d'un DVD nécessite une machine puissante (i.e. un
- Pentium 4 Ã plus de 1.5GHz ou un Pentium M Ã plus de 1GHz).
- </para></footnote>
- si vous choisissez un codec MPEG-4 AVC comme le
- <systemitem class="library">x264</systemitem> au lieu de codecs MPEG-4 ASP
- tels que le <systemitem class="library">libavcodec</systemitem> MPEG-4 ou le
- <systemitem class="library">Xvid</systemitem>.
- (Les développeurs de codec peuvent être intéressés par la lecture de l'avis
- de Michael Niedermayer's sur
- « <ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink> ».)
- De la même manière, vous devriez obtenir une meilleure qualité en utilisant
- un codec MPEG-4 ASP plutôt que MPEG-2.
-</para>
-<para>
- Néanmoins, les nouveaux codecs qui sont en développement peuvent souffrir
- de bugs qui n'ont pas encore été repérés et qui peuvent saboter un encodage.
- Ceci est malheureusement parfois le prix à payer pour l'utilisation de
- technologies de pointe.
-</para>
-<para>
- De plus, commencer à utiliser un nouveau codec impose que vous passiez
- du temps pour vous habituer à ses options de façon à ce que vous
- sachiez quoi ajuster pour parvenir à la qualité désirée.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">Compatibilité du matériel</emphasis> :
- Cela prend habituellement beaucoup de temps pour que les lecteurs vidéos
- de salon se mettent à supporter les derniers codecs vidéos.
- Ainsi, la plupart ne supportent que le MPEG-1 (comme les VCD, XVCD et KVCD),
- le MPEG-2 (comme les DVD, SVCD and KVCD) et le MPEG-4 ASP (comme les
- DivX, LMP4 <systemitem class="library">libavcodec</systemitem> et
- <systemitem class="library">Xvid</systemitem>)
- (attention : toutes les fonctionnalités MPEG-4 ASP ne sont généralement
- pas supportées).
- Référez-vous aux spécifications techniques de votre lecteur (si elles
- existent), ou surfez sur le net pour plus d'infos.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">La meilleure qualité par temps
- d'encodage</emphasis> :
- Les codecs qui sont sortis depuis un certain temps (comme l'encodeur MPEG-4
- de <systemitem class="library">libavcodec</systemitem> et
- <systemitem class="library">Xvid</systemitem>) sont habituellement
- largement optimisés avec toutes sortes d'algorithmes astucieux et des
- routines optimisées en assembleur SIMD.
- C'est pourquoi ils tendent à fournir la meilleure qualité par temps
- d'encodage.
- Par contre, ils peuvent avoir des options très avancées qui, si elles
- sont enclenchées, rendent l'encodage très lent pour des gains limités.
-</para>
-<para>
- Si vous recherchez la vitesse, vous devriez conserver à peu près les
- réglages par défaut du codec vidéo (bien que vous deviez quand même essayer
- les autres options qui sont mentionnées dans d'autres sections de ce guide).
-</para>
-<para>
- Vous pouvez aussi vouloir choisir un codec multi-threadé, bien que ce
- ne soit utile que pour les utilisateurs de machines avec plusieurs
- processeurs.
- Le codec MPEG-4 de <systemitem class="library">libavcodec</systemitem>
- le permet mais les gains en temps sont limités et cela procure une
- légère baisse de qualité d'image.
- L'encodage multi-threadé du codec
- <systemitem class="library">Xvid</systemitem>, activé par l'option
- <option>threads</option>, peut être utilisé pour améliorer la vitesse
- d'encodage — de typiquement 40-60% — avec très peu voire aucune
- détérioration de l'image.
- Le codec <systemitem class="library">x264</systemitem> permet aussi
- l'encodage multi-threadé ce qui l'accélère pour le moment de 94% par CPU
- avec une baisse de PSNR comprise entre 0.005dB et 0.01dB avec un réglage classique.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">Les préférences personnelles</emphasis> :
- LÃ les choses deviennent presque irrationnelles :
- pour la même raison pour
- laquelle certains s'accrochaient encore à DivX 3 alors que d'autres
- codecs plus modernes faisaient des merveilles depuis des années,
- certaines personnes préfèrent <systemitem class="library">Xvid</systemitem>
- ou le codec MPEG-4 de <systemitem class="library">libavcodec</systemitem>
- par rapport à <systemitem class="library">x264</systemitem>.
-</para>
-<para>
- Vous devriez vous faire votre propre opinion.
- Ne croyez pas ceux qui ne jurent que par un seul codec.
- Prenez quelques échantillons de sources brutes et comparez les
- différentes options et codecs pour en trouver un qui vous convienne
- le mieux.
- Le meilleur codec est celui que vous maîtrisez et qui vous semble
- le plus joli à vos yeux
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
- <para>Le même encodage peut apparaître différement sur le moniteur de
- quelqu'un d'autre ou lorsqu'il est lu par un autre décodeur, donc armez
- vos encodages pour le futur en les lisant sur différentes machines.
-</para></footnote> !
-</para></listitem>
-</itemizedlist>
-<para>
- Référez-vous à la section
- <link linkend="menc-feat-selecting-codec">Sélection des codecs et du format du conteneur</link>
- pour avoir une liste des codecs supportés.
-</para>
-</sect2>
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>Le son</title>
-
-<para>
- Le son est un problème bien plus simple à résoudre : si la qualité vous
- intéresse, laissez le flux audio tel quel.
- Même les flux AC-3 5.1 utilisent au plus 448Kbit/s, et tous ces bits sont
- utiles.
- Vous pourriez être tenté de convertir le son en Ogg Vorbis de haute qualité,
- mais le fait que vous n'ayez pas d'entrée AC-3 (dolby digital) sur votre chaîne HIFI
- aujourd'hui ne signifie pas que vous n'en n'aurez pas demain.
- Pensez au futur en conservant le flux AC-3.
- Vous pouvez le garder en le copiant directement dans le flux vidéo
- <link linkend="menc-feat-mpeg4">pendant l'encodage</link>. Vous pouvez aussi l'extraire
- avec l'intention de l'inclure dans des conteneurs tels que NUT ou Matroska.
-<screen>
-mplayer <replaceable>fichier_source.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>son.ac3</replaceable>
-</screen>
- mettra dans le fichier <replaceable>son.ac3</replaceable> la piste audio
- 129 du fichier <replaceable>fichier_source.vob</replaceable> (NB : les
- fichiers VOB des DVD utilisent normalement un système de numérotation
- différent pour les pistes audio, ainsi la piste numéro 129 est la deuxième
- piste du fichier).
-</para>
-
-<para>
- Mais parfois vous n'aurez d'autres choix que de re-compresser le son afin de laisser
- plus de place à la vidéo.
- La plupart des gens optent alors pour le codec MP3 ou le Vorbis.
- Bien que ce dernier soit très efficace, le MP3 est bien mieux accepté par les
- lecteurs de salon même si cette tendance évolue.
-</para>
-
-<para>
- N'utilisez <emphasis>pas</emphasis> l'option <option>-nosound</option>
- si vous avez l'intention d'ajouter du son à votre encodage vidéo, même plus tard.
- En effet, même s'il est probable que tout fonctionne correctement, l'utilisation de
- l'option <option>-nosound</option> peut cacher certains problèmes dans la ligne de
- commande de votre encodage. En d'autres mots, avoir une bande son pendant l'encodage
- vous certifie que vous pourrez avoir une synchronisation propre (en supposant que
- vous ne receviez pas de messages comme <quote>Trop de paquets audio dans la mémoire tampon
- </quote>)
-</para>
-
-<para>
- Vous aurez besoin que <application>MEncoder</application> traite le son.
- Vous pouvez par exemple copier la bande son originale pendant l'encodage avec l'option
- <option>-oac copy</option> ou la convertir en "léger" 4kHz mono WAV PCM
- avec l'option <option>-oac pcm -channels 1 -srate 4000</option>.
- Autrement, dans certains cas, cela générera un fichier vidéo qui ne se synchronisera pas avec l'audio.
- Cela arrive quand le nombre de trames vidéos dans le fichier source ne correspond
- pas exactement à la longueur totale des trames audio ou lorsqu'il y a une
- discontinuité ou des frames audio en trop ou manquantes. La bonne
- façon de gérer ce type de problèmes est d'insérer un silence ou bien de couper l'audio
- Ã ces emplacements.
- Cependant, <application>MPlayer</application> ne sait pas le faire, donc si vous
- dé-multiplexez l'AC-3 et l'encodez avec une autre application (ou le sortez en PCM
- avec <application>MPlayer</application>), les discontinuités subsistent et la seule
- façon de les corriger est de supprimer ou de rajouter des trames.
- Tant que <application>MEncoder</application> voit la piste son pendant qu'il
- encode la vidéo, il peut faire ces suppressions/rajouts (ce qui fonctionne habituellement
- car cela se produit lorsque l'image est totalement noire ou lors de changement de scènes) mais si
- <application>MEncoder</application> ne voit pas la piste son, il encodera
- toutes les trames telles quelles et elles ne correspondront pas au fichier
- audio final, quand, par exemple, vous multiplexerez la piste vidéo et la piste
- son dans un fichier Matroska.
-</para>
-
-<para>
- Dans un premier temps, il faudra convertir le son du DVD en fichier WAV que
- le codec audio peut utiliser en entrée.
- Par exemple :
- <screen>mplayer <replaceable>fichier_source.vob</replaceable> \
- -ao pcm:file=<replaceable>fichier_destination_son.wav</replaceable> \
- -vc dummy -aid 1 -vo null</screen>
- aura pour effet de prendre la seconde piste audio du fichier <replaceable>fichier_source.vob</replaceable>
- pour la placer dans le fichier <replaceable>fichier_destination_son.wav</replaceable>.
- Vous voudrez ensuite peut-être normaliser le son avant l'encodage, car les pistes
- audio des DVDs sont généralement enregistrées à un faible volume.
- Vous pouvez par exemple utiliser l'outil <application>normalize</application> qui est
- normalement disponible sur la plupart des distributions.
- Si vous utilisez Windows, un outil comme <application>BeSweet</application>
- fera le même travail.
- Vous le compresserez ensuite en Vorbis ou MP3.
- Par exemple :
- <screen>oggenc -q1 <replaceable>fichier_destination_son.wav</replaceable></screen>
- encodera <replaceable>fichier_destination_son.wav</replaceable> avec une qualité de 1,
- ce qui est équivaut à environ 80Kb/s, soit le minimum si vous voulez de la qualité.
- Notez que <application>MEncoder</application> ne sait actuellement pas
- multiplexer les pistes audio Vorbis dans le fichier final car il ne supporte que les conteneurs
- AVI ou MPEG en sortie, chacun pouvant mener à des problèmes de synchronisation A/V avec certains lecteurs
- quand le fichier AVI contient des flux audio VBR comme Vorbis. Ne vous inquiétez pas, ce
- document vous montrera comment y arriver avec un programme tiers.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>Le multiplexage</title>
-<para>
- Maintenant que vous avez encodé votre vidéo, vous désirez très certainement
- la multiplexer avec une ou plusieurs pistes audio vers un conteneur comme l'AVI,
- le MPEG, le Matroska ou le NUT.
- <application>MEncoder</application> ne supporte nativement que des conteneurs
- AVI ou MPEG.
- Par exemple :
- <screen>mencoder -oac copy -ovc copy -o <replaceable>sortie_film.avi</replaceable> \
- -audiofile <replaceable>entrée_audio.mp2</replaceable> <replaceable>entrée_video.avi</replaceable></screen>
- Cela aura pour effet de fusionner le fichier vidéo <replaceable>entrée_video.avi</replaceable>
- et le fichier audio <replaceable>entrée_audio.mp2</replaceable> vers un seul fichier AVI
- <replaceable>sortie_film.avi</replaceable>.
- Cette commande marche avec le MPEG-1 layer I, II, ou III (plus connu sous le nom
- de MP3), WAV et aussi quelques autres formats audio.
-</para>
-
-<para>
- Une des caractéristiques expérimentales de <application>MEncoder</application>
- est le support de <systemitem class="library">libavformat</systemitem>,
- une bibliothèque issue du projet FFmpeg qui supporte le multiplexage et dé-multiplexage
- vers une grande variété de conteneurs.
- Par exemple :
- <screen>mencoder -oac copy -ovc copy -o <replaceable>sortie_film.asf</replaceable> \
- -audiofile <replaceable>entrée_audio.mp2</replaceable> <replaceable>entrée_video.avi</replaceable> \
- -of lavf -lavfopts format=asf</screen>
- Cela fera strictement la même chose que pour l'exemple précédent, sauf que le conteneur
- de sortie sera l'ASF.
- Souvenez-vous que ce support est encore très expérimental (mais il s'améliore de jour en jour),
- et ne marchera que si vous compilez <application>MPlayer</application> avec l'option
- activée <systemitem class="library">libavformat</systemitem> (ce qui veut dire que
- les packets binaires ne marcheront peut-être pas).
-</para>
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>Améliorer la fiabilité du multiplexage et de la synchronisation Audio/Video</title>
-<para>
- Vous avez peut-être fait l'expérience de sérieux problèmes de synchronisation A/V
- en essayant de multiplexer votre video avec la bande son, où, quelque soit
- le décalage audio, vous n'arrivez pas à obtenir une synchronisation correcte.
-
- Ceci peut arriver quand vous utilisez des filtres video qui dupliquent ou enlèvent des images,
- comme le filtre téléciné inverse. Il est vivement conseillé d'utiliser le
- filtre vidéo <option>harddup</option> à la fin de votre chaîne de filtres pour éviter
- ce type de problème.
-</para>
-
-<para>
- Sans l'option <option>harddup</option>, si <application>MEncoder</application>
- veut dupliquer une image, il s'en remet au multiplexeur pour mettre une marque
- dans le conteneur de façon à ce que la dernière image soit affichée 2 fois
- pour maintenir la synchronisation sans avoir à écrire une nouvelle image.
- Avec l'option <option>harddup</option>, <application>MEncoder</application>
- va simplement passer une deuxième fois la dernière image dans la chaîne de filtres.
- Ce qui veut dire que l'encodeur recevra <emphasis>exactement</emphasis> la même
- image 2 fois, puis les compressera. Il en résultera un fichier légèrement plus grand,
- mais cela ne posera plus de problèmes quand vous démultiplexerez ou remultiplexerez vers un autre conteneur.
-</para>
-
-<para>
- Il se peut aussi que vous n'ayiez pas d'autres choix que d'utiliser l'option <option>harddup</option>
- avec certains conteneurs peu liés à <application>MEncoder</application> comme ceux
- supportés par <systemitem class="library">libavformat</systemitem>, qui peuvent ne pas supporter
- la duplication d'image au niveau du conteneur.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>Limitations du conteneur AVI</title>
-<para>
- Bien que ce soit le format de conteneur le plus largement supporté après le MPEG-1, l'AVI a
- des inconvénients majeurs. Le plus évident d'entre eux est peut-être l'entête.
- Pour chaque morceau (chunk) du fichier AVI, 24 octets sont gâchés en entête et index.
- Ce qui se traduit par environ 5Mo par heure, soit entre 1 et 2,5% du volume du fichier pour un film
- de 700Mo. Cela peut ne pas sembler important, mais cela peut représenter la différence entre
- pouvoir utiliser un débit de 700 kbits/sec au lieu de 714 kbits/sec pour une même video.
- Et pour la qualité, chaque bit compte.
-</para>
-
-<para>
- En plus de cette grosse inefficacité, l'AVI a aussi d'autres limitations
- majeures :
-</para>
-
-<orderedlist>
-<listitem>
-<para>
- Seuls les contenus à nombre d'images par seconde constant peuvent être stockés. Ceci est particulièrement
- limitant si vous voulez stocker des fichiers aux contenus hétérogènes (par
- exemple un mélange de vidéo NTSC et de films sur pellicule).
- En fait, il existe des astuces qui permettent de stocker des contenus à nombre d'images par seconde variable
- dans un AVI, mais cela multiplie par au moins 5 la taille (déjà énorme) des entêtes et ce n'est donc
- pas réellement applicable.
-</para>
-</listitem>
-<listitem>
-<para>
- L'audio dans un fichier AVI doit soit avoir un débit constant (CBR), soit une
- taille de trame constante (i.e. toutes les trames décodent le même
- nombre d'échantillons).
- Malheureusement, le codec le plus efficace, Vorbis, ne satisfait aucun de ces critères.
- Donc, si vous envisagez de stocker un fichier en AVI, vous devrez utiliser un
- codec moins performant comme le MP3 ou l'AC-3.
-</para>
-</listitem>
-</orderedlist>
-
-<para>
- Ceci dit, <application>MEncoder</application> ne supporte actuellement pas
- l'encodage à images par seconde variable ou le Vorbis;
- Donc vous n'allez peut-être pas considérer les 2 points précédents commes des limitations
- si vous n'utilisez que <application>MEncoder</application> pour encoder.
- Pourtant, il est possible d'utiliser <application>MEncoder</application> uniquement pour
- l'encodage vidéo, puis d'utiliser des outils externes pour l'encodage de l'audio et
- multiplexer le tout vers un conteneur différent.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>Le multiplexage dans le conteneur Matroska</title>
-<para>
- Matroska est un conteneur libre, ouvert, qui vise à offrir de nombreuses fonctionnalités avancées
- que des conteneurs plus anciens comme l'AVI ne peut gérer.
- Par exemple, le Matroska supporte le débit vidéo variable (VBR), un framerate
- variable (VFR), chapitres, attachement de fichiers, code de détection d'erreur
- (EDC) et des codecs A/V modernes comme le "Advanced Audio Coding" (AAC), le
- "Vorbis" ou le "MPEG-4 AVC" (H.264), presque tous n'étant pas supportés par l'AVI.
-</para>
-
-<para>
- Les outils nécessaires à la création de fichier Matroska sont appelés collectivement <application>mkvtoolnix</application>,
- et sont disponibles pour la plupart des systèmes Unix mais aussi pour <application>Windows</application>.
- Puisque Matroska est un standard ouvert, vous trouverez peut-être d'autres outils
- qui vous conviendront mieux, mais comme mkvtoolnix est le plus connu, et
- qu'il est supporté par Matroska lui même, nous allons parler de son utilisation.
-</para>
-
-<para>
- La façon la plus simple de démarrer avec Matroska, c'est probablement d'utiliser
- <application>MMG</application>, l'interface graphique livrée avec <application>mkvtoolnix</application>,
- et de suivre le <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html"> guide de l'interface graphique de mkvmerge (mmg)</ulink>.
-</para>
-
-<para>
- Vous pouvez aussi multiplexer des fichiers vidéo et audio en utilisant la
- ligne de commande :
- <screen>mkvmerge -o <replaceable>sortie.mkv</replaceable> <replaceable>entree_video.avi</replaceable> \
- <replaceable>entree_audio1.mp3</replaceable> <replaceable>entree_audio2.ac3</replaceable></screen>
- Ceci aura pour effet de multiplexer le fichier vidéo <replaceable>entree_video.avi</replaceable>
- avec les deux fichiers audio <replaceable>entre_audio1.mp3</replaceable> et <replaceable>entree_audio2.ac3</replaceable>
- dans un fichier Matroska <replaceable>sortie.mkv</replaceable>.
- Matroska, comme mentionné ci-dessus, est capable de faire bien plus que ça, comme plusieurs
- pistes audio (avec un réglage précis de la synchronisation audio/video), chapitres,
- sous titres, coupures, etc... Merci de bien vouloir vous reporter à la documentation
- de cette application pour plus d'informations.
-</para>
-
-</sect3>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="menc-feat-telecine">
-<title>Comment gérer le téléciné et l'entrelacement des DVDs NTSC</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>Introduction</title>
-<formalpara>
-<title>Qu'est ce que le téléciné ?</title>
-<para>
- Si vous ne comprenez pas grand-chose à ce qui est écrit dans le document présent,
- je vous suggère de visiter cette page (en anglais) :
- <ulink url="http://en.wikipedia.org/wiki/Telecine">http://en.wikipedia.org/wiki/Telecine</ulink>
- Ce lien pointe vers une documentation relativement claire et compréhensible sur ce qu'est le téléciné.
-</para></formalpara>
-
-<formalpara>
-<title>Une note à propos des nombres</title>
-<para>
- Beaucoup de documents, incluant l'article pointé par le lien précédent, renvoient à un
- nombre de trames par secondes pour la vidéo NTSC de 59.94 ce qui correspond Ã
- 29.97 images complètes par secondes (pour le télécine et l'entrelacé) et à 23.976 (pour
- le progressif). Pour simplifier, certains documents arrondissent même à 60, 30 et 24.
-</para></formalpara>
-
-<para>
- En toute rigueur, tous ces nombres sont des approximations. Les vidéos NTSC en noir et blanc
- avaient exactement 60 trames par secondes, mais 60000/1001 a été choisi par la suite
- pour s'accomoder de la couleur en conservant la compatibilité avec les téléviseurs noir et blanc de l'époque.
- La vidéo numérique NTSC (par exemple sur un DVD) est aussi en 60000/1001 trames
- par seconde. A partir de là , la vidéo entrelacée et télécinée est faite pour être
- en 30000/1001 images par seconde; les vidéos progressives en 24000/1001 images par secondes.
-</para>
-
-<para>
- De plus anciennes versions de la documentation <application>MEncoder</application>
- et plusieurs e-mails archivés de liste de diffusion font référence Ã
- 59.94, 29.97, et 23.976.
- Toute la documentation de <application>MEncoder</application> a été mise à jour
- pour utiliser les valeurs fractionnaires, et vous devriez aussi les utiliser.
-</para>
-
-<para>
- <option>-ofps 23.976</option> est incorrect.
- <option>-ofps 24000/1001</option> doit être utilisé à la place.
-</para>
-
-<formalpara>
-<title>Comment le téléciné est-il utilisé ?</title>
-<para>
- Toutes les vidéos qui sont censées être affichées sur des téléviseurs NTSC
- doivent être en 60000/1001 trames par secondes. Les téléfilms sont souvent
- filmés directement en 60000/1001 trames par secondes, alors que la majorité des
- films pour le cinéma est en 24000/1001 images par seconde. Quand les DVD
- contenant des films faits pour le cinéma sont masterisés, la vidéo est alors convertie pour la
- télévision par un processus appelé le téléciné.
-</para></formalpara>
-
-<para>
- Sur un DVD, la vidéo n'est jamais vraiment stockée à 60000/1001 trames par seconde.
- Si la vidéo est d'origine en 60000/1001, chaque paire de trames est alors combinée
- pour former une image, ce qui donne 30000/1001 images par seconde. Les lecteurs de
- DVD de salon lisent alors les drapeaux incorporés au flux vidéo pour déterminer
- si la première ligne à afficher doit être paire ou impaire.
-</para>
-
-<para>
- Normalement, les contenus à 24000/1001 images par seconde restent comme cela
- lorsqu'ils sont encodés pour un DVD, et le lecteur DVD doit alors faire
- la conversion du téléciné à la volée. Parfois, la vidéo est télécinée <emphasis>avant</emphasis>
- d'être stockée sur le DVD, même si c'était originalement du 24000/1001 images
- par seconde, cela devient du 60000/1001 trames par seconde. Quand elles sont stockées
- sur le DVD, les trames sont combinées par paires pour former 30000/1001 images
- par seconde.
-</para>
-
-<para>
- Quand on regarde les images formées individuellement à partir de la vidéo en
- 60000/1001 trames par seconde, téléciné ou autre, l'entrelacement est
- clairement visible et ce, qu'il y ait un mouvement ou non car l'une des trames (disons
- les lignes impaires) représente un moment dans le temps 1/(60000/1001) seconde
- plus tard que les autres. Regarder une vidéo entrelacée sur un ordinateur semble
- laid parce que l'écran a une résolution plus élevée et
- parce que la vidéo est affichée image après image au lieu de trame après trame.
-</para>
-
-<itemizedlist>
-<title>Notes :</title>
-<listitem><para>
- Cette section ne s'appliquent qu'aux DVDs NTSC, pas aux PAL.
- </para></listitem>
-<listitem><para>
- Les lignes de commande <application>MEncoder</application> données en exemple au long de ce
- document ne sont <emphasis role="bold">pas</emphasis> Ã utiliser tel quels.
- Elles représentent juste le minimum requis pour encoder la vidéo qui s'y rapportent.
- La meilleure méthode pour faire un bon encodage de DVD ou procéder à des réglages avancés de
-<systemitem class="library">libavcodec</systemitem> pour atteindre une qualité optimum sont des
- questions en dehors des propos de cette section.
- Référez-vous aux autres sections contenues dans
- <link linkend="encoding-guide">L'encodage avec
-<application>MPlayer</application></link>.
- </para></listitem>
-<listitem><para>
- Il y a quelques notes en bas de page spécifiques à ce guide, elles sont
- liées comme ceci :
-<link linkend="menc-feat-telecine-footnotes">[1]</link>
- </para></listitem>
-</itemizedlist>
-</sect2>
-
-
-<sect2 id="menc-feat-telecine-ident">
-<title>Comment savoir quel type de vidéo vous avez ?</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>Progressive</title>
-<para>
- Les vidéos progressives ont été filmées initialement à 24000/1001 images par seconde et stockées
- sur le DVD sans altération.
-</para>
-
-<para>
- Quand vous lisez un DVD en progressif dans <application>MPlayer</application>,
- la ligne suivante sera affichée dès le début de la lecture :
-
- <screen> demux_mpg: 24000/1001 images par seconde progressive NTSC content detected, switching framerate.</screen>
-
- Dorénavent, demux_mpg ne devrait jamais dire qu'il trouve
- "une vidéo NTSC à 30000/1001 images par secondes."
-</para>
-
-<para>
- Quand vous regardez une vidéo progressive, vous ne devriez jamais voir d'entrelacement.
- Mais soyez attentif, il arrive parfois qu'un peu de téléciné se glisse sans prévenir.
- Il m'est arrivé de tomber sur des émissions de télévisions en DVD avec une
- seconde de téléciné à chaque changement de scène ou à d'autres emplacements au hasard.
- Une autre fois, la première moitié du DVD était en progressif
- et la seconde en téléciné. Si vous voulez en être <emphasis>vraiment</emphasis> sûr,
- vous pouvez scanner le film entier :
-
- <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-
- L'utilisation de l'option <option>-benchmark</option> fait lire <application>MPlayer</application>
- aussi vite qu'il le peut - en fonction du matériel, cela peut prendre un certain
- temps. Chaque fois que demux_mpg signale un changement, la ligne immédiatement au dessus
- vous donnera le temps auquel ce changement est arrivé.
-</para>
-
-<para>
- Parfois, la vidéo progressive sur les DVDs est signalée en tant que "soft-telecine"
- parce qu'elle est censée être télécinée par le lecteur DVD.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Téléciné</title>
-<para>
- Les vidéos télécinées ont été filmées en 24000/1001 et sont télécinées
- <emphasis>avant</emphasis> d'être gravées sur DVD.
-</para>
-
-<para>
- <application>MPlayer</application> ne signale jamais une variation d'images par secondes
- quand il lit une vidéo télécinée.
-</para>
-
-<para>
- Au visionnage d'une vidéo télécinée, vous verrez des artefacts d'entrelacement
- qui semblent "clignoter": ils apparaissent et disparaissent répététivement.
- Vous pouvez le voir plus précisément en suivant les indications
- ci-dessous :
- <orderedlist>
- <listitem>
- <screen>mplayer dvd://1</screen>
- </listitem>
- <listitem><para>
- Chercher une scène avec beaucoup de mouvements.
- </para></listitem>
- <listitem><para>
- Utiliser la touche <keycap>.</keycap> pour avancer image par image.
- </para></listitem>
- <listitem><para>
- Observer le schéma de répétition des images entrelacées et progressives. Si vous obtenez
- PPPII, PPPII, PPPII,... alors la vidéo est
- télécinée. Si vous observez d'autres schémas de répétition, alors la vidéo a peut-être été
- télécinée avec une méthode non-standard; <application>MEncoder</application> ne sait pas convertir un téléciné
- non-standard en progressif sans dégradation. Si aucun schéma n'est visible, c'est
- alors sûrement une vidéo entrelacée.
- </para></listitem>
- </orderedlist>
-</para>
-
-<para>
- Parfois, la vidéo progressive sur les DVDs est signalée en tant que "soft-telecine"
- parce qu'elle est censée être télécinée par le lecteur DVD.
- Parfois, la vidéo télécinée sur les DVDs est signalée "hard-telecine". Le hard-teleciné
- étant à 60000/1001 images par seconde, le lecteur DVD lit la vidéo sans manipulation.
-</para>
-
-<para>
- Une autre façon de savoir si la source est télécinée ou non, est de la lire avec
- l'option <option>-vf pullup</option> et <option>-v</option> depuis une ligne de commande
- et de voir comment l'option <option>pullup</option> combine les trames.
- Si la source est télécinée, vous devriez voir sur la console un schéma de répétition 3:2 avec des
- alternances de <systemitem>0+.1.+2</systemitem> et <systemitem>0++1</systemitem>.
- L'avantage de cette technique est que vous n'avez pas besoin de visionner la
- source pour l'identifier, ce qui peut être utile pour automatiser la procédure d'encodage, ou
- pour effectuer cette procédure à distance à travers une connexion lente.
-</para>
-
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Entrelacée</title>
-<para>
- Les vidéos entrelacées ont été filmées en 60000/1001 trames par seconde,
- puis stockées sur le DVD en tant que 30000/1001 images par seconde. L'effet
- est le résultat de la combinaison de paires
- de trames dans une image. Chaque trame est censée être décalée de 1/(60000/1001)
- de seconde les unes des autres. Quand elles sont affichées simultanément, la différence devient
- visible.
-</para>
-
-<para>
- Comme pour la vidéo télécinée, <application>MPlayer</application> ne signale
- jamais une variation d'images par secondes quand il lit une vidéo entrelacée.
-</para>
-
-<para>
- Si vous regardez attentivement une vidéo entrelacée image par image avec la
- touche <keycap>.</keycap>, vous verrez l'entrelacement de chaque trame.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>Mélange de progressive et télécinée</title>
-<para>
- Toutes les vidéos qui mélangent progressif et téléciné ont été filmées en 24000/1001
- images par seconde, puis certaines parties ont été converties en téléciné.
-</para>
-
-<para>
- Quand <application>MPlayer</application> lit ce type de fichier, il doit jongler
- (souvent répététivement) entre "le 30000/1001 images par seconde NTSC" et
- "le 24000/1001 images par secondes NTSC progressif".
- Regardez les messages de <application>MPlayer</application> pour voir ces messages.
-</para>
-
-<para>
- Vous devriez aller voir la section "30000/1001 images par seconde NTSC" afin d'être
- sûr que c'est vraiment du téléciné, et pas seulement de l'entrelacé.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>Mélange de vidéo progressive et entrelacée</title>
-<para>
- Dans les vidéos qui mélangent le progressif et le téléciné, les flux vidéos
- progressifs et entrelacés sont combinés l'un à l'autre.
-</para>
-
-<para>
- Cette catégorie ressemble au "mélange de progressive et télécinée" jusqu'Ã
- ce que vous examiniez la partie en 30000/1001 images par seconde et que vous vous aperceviez
- qu'il n'y a pas de trace de téléciné.
-</para>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-telecine-encode">
-<title>Comment encoder chaque catégorie ?</title>
-<para>
- Comme évoqué au départ, les exemples de lignes de commande
- <application>MEncoder</application> ne doivent <emphasis role="bold">pas</emphasis> être utilisés tels quels;
- ils fournissent uniquement les paramètres minimum pour encoder chaque catégorie.
-</para>
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>Progressive</title>
-<para>
- La vidéo progressive ne nécessite pas de filtrage particulier pour l'encodage.
- Le seul paramètre qui ne doit pas être omis est : <option>-ofps
- 24000/1001</option>.
- Sinon, <application>MEncoder</application> essayera d'encoder en
- 30000/1001 images par seconde et dupliquera certaines images.
-</para>
-
-<para>
- <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
- Il n'est pas rare de se trouver avec une vidéo qui semble progressive mais qui
- contient en fait quelques courts passages en téléciné. A moins d'être vraiment
- sûr l'état de la vidéo, il est préférable de traiter la vidéo comme un
- <link linkend="menc-feat-telecine-encode-mixedpt">mélange de progressive et télécinée</link>.
- La perte en performance est faible <link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Téléciné</title>
-<para>
- A partir d'une video télécinée, il est possible de retrouver le format original en 24000/1001 avec
- un processus appelé téléciné-inverse. Plusieurs filtres de
- <application>MPlayer</application> permettent ce processus;
- le meilleur d'entre eux, <option>pullup</option>, est décrit à la section
- <link linkend="menc-feat-telecine-encode-mixedpt">Mélange de progressif et téléciné</link>.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Entrelacée</title>
-<para>
- Dans la plupart des cas pratiques, il n'est pas possible de récupérer complètement une
- vidéo progressive depuis une entrelacée. Pour ce faire, la seule manière sans
- perdre la moitié de la résolution verticale est de doubler le nombre d'images par seconde et
- d'essayer de "deviner" ce que devraient être les lignes manquantes pour chacune des trames
- (ce qui a des inconvénients, voir méthode 3).
-</para>
-
-<orderedlist>
-<listitem><para>
- Encodez la vidéo sous forme entrelacée. Normalement, l'entrelacement
- ruine la capacité de compression de l'encodeur, mais <systemitem class="library">libavcodec</systemitem>
- possède deux paramètres spécialement définis pour gérer le stockage de la vidéo entrelacée de manière
- plus satisfaisante : <option>ildct</option> et <option>ilme</option>.
- Aussi, l'utilisation de <option>mbd=2</option> est-elle fortement
- recommandée <link linkend="menc-feat-telecine-footnotes">[2] </link>
- car cela encodera les macroblocs non-entrelacés à des endroits où il n'y
- a pas de mouvements. Notez que <option>-ofps</option> n'est <emphasis>pas</emphasis> nécessaire ici.
-
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
- </para></listitem>
-<listitem><para>
- Utilisez un filtre de désentrelacement avant l'encodage. Plusieurs de
- ces filtres sont disponibles, chacun avec ses avantages et inconvénients.
- Consultez <option>mplayer -pphelp</option> et <option>mplayer -vf help</option>
- pour voir lesquels sont
- disponibles (selectionnez les lignes contenant "deint" avec grep),
- lisez <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">comparaison des filtres de désentrelacement</ulink>
- de Michael Niedermayer,
- et fouillez dans les
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
- listes de diffusion MPlayer</ulink>, vous trouverez nombres de discussions sur les
- différents filtres.
- Encore une fois, le nombre d'images par seconde ne change pas, donc l'option
- <option>-ofps</option> n'est pas nécessaire. Une dernière chose : le
- désentrelacement doit être fait après recadrage
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
- et avant redimensionnement.
-
- <screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen>
- </para></listitem>
-<listitem><para>
- Malheureusement, cette option est boguée dans
- <application>MEncoder</application> ; cela devrait bien marcher avec
- <application>MEncoder G2</application>, mais on n'en est pas encore là . Vous
- risquez de subir des plantages. Peu importe, l'option <option>-vf tfields</option>
- est de créer une image complète à partir de chaque trame, ce qui
- donne le débit de 60000/1001 images par seconde. L'avantage de cette approche est qu'aucune
- donnée n'est jamais perdue. Cependant, vu que chaque image vient avec seulement
- une trame, les lignes manquantes doivent être interpolées d'une façon ou d'une autre.
- Il n'y a pas de très bonne méthode générant les données manquantes, et donc le
- résultat sera un peu similaire à celui obtenu en utilisant des filtres de désentrelacement.
- Générer les lignes manquantes crée aussi d'autres problèmes,
- simplement parce que la quantité de données double. Ainsi, de plus haut débit (en kbit/s)
- d'encodage sont nécessaires pour conserver la qualité, et plus de puissance CPU est
- utilisée pour l'encodage et le décodage. <option>tfields</option> a plusieurs
- options pour gérer la création des lignes manquantes de chaque image. Si vous
- utilisez cette méthode, alors regardez le manuel, et prenez
- l'option qui semble la meilleure pour votre matériel. Notez que lors de l'utilisation de
- <option>tfields</option> vous
- <emphasis role="bold">devez</emphasis> définir les deux options <option>-fps</option>
- et <option>-ofps</option> Ã deux fois le nombre d'image par seconde de votre source originale.
-
- <screen>mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
- -fps 60000/1001 -ofps 60000/1001</screen>
- </para></listitem>
-<listitem><para>
- Si vous avez prévu de beaucoup réduire la taille, vous pouvez
- n'extraire et n'encoder qu'une des deux trames. Bien sûr, vous perdrez la
- moitié de la résolution verticale, mais si vous avez prévu la réduire au moins de
- moitié par rapport à l'original, cette perte n'aura que peu d'importance. Le résultat
- sera un fichier progressif à 30000/1001 images par seconde. La procédure est
- d'utiliser l'option <option>-vf field</option>, puis de recadrer
- <link linkend="menc-feat-telecine-footnotes">[1]</link> et de redimensionner
- de manière appropriée. Souvenez-vous que vous devrez ajuster la dimension pour
- compenser la réduction de moitié de la résolution verticale.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
- </para></listitem>
-</orderedlist>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>Mélange de progressive et télécinée</title>
-<para>
- Afin de convertir une vidéo composée de passages progressifs et de télécinés en vidéo entièrement
- progressive, les parties en téléciné doivent être télécinées-inverse. Il y a trois
- moyens d'accomplir cela, comme décrit ci-dessous. Notez que vous devez
- <emphasis role="bold">toujours</emphasis> téléciner-inverse avant tout
- redimensionnement et aussi (sauf si vous savez vraiment ce que vous faites)
- avant tout découpage <link linkend="menc-feat-telecine-footnotes">[1]</link>.
- L'option <option>-ofps 24000/1001</option> est nécessaire ici parce que la sortie vidéo
- sera en 24000/1001 images par seconde.
-</para>
-
-<itemizedlist>
-<listitem><para>
- L'option <option>-vf pullup</option> est faite pour téléciner-inverse la source vidéo
- télécinée tandis que les données progressives sont laissées intactes. Afin
- de fonctionner correctement, <option>pullup</option> <emphasis role="bold">doit</emphasis>
- être suivi par le filtre <option>softskip</option> ou <application>MEncoder</application> plantera.
- <option>pullup</option> est, cependant, la méthode la plus propre et la plus précise
- disponible pour encoder le téléciné et le "Mélange de progressive et télécinée".
-
-<screen>mencoder dvd://1 -oac copy -vf pullup,softskip \
- -ovc lavc -ofps 24000/1001
-</screen>
- </para></listitem>
- <listitem><para>
- <option>-vf filmdint</option> est similaire Ã
- <option>-vf pullup</option> : les deux filtres tentent d'appairer
- deux demi-trames pour construire une trame complète.
- Néanmoins, <option>filmdint</option> desentrelacera les demi-trames
- orphelines tandis que <option>pullup</option> les éliminera.
- De plus, les deux filtres ont des codes de détection différents et
- <option>filmdint</option> peut avoir tendence à faire correspondre les
- demi-trames un peu moins souvent.
- Le contenu video à traiter et votre sensibilité personnelle fera qu'un
- filtre fonctionnera mieux qu'un autre.
- Sentez-vous libre d'ajuster les options des filtres si vous rencontrez
- des problèmes avec l'un d'eux (consultez le manuel pour plus de
- détails).
- Pour la plupart des supports vidéo de qualité, les deux filtres
- fonctionnent plutôt bien : débuter avec l'un ou l'autre ne fera pas
- grande différence.
-<screen>mencoder dvd://1 -oac copy -vf filmdint \
- -ovc lavc -ofps 24000/1001
-</screen>
-</para></listitem>
- <listitem><para>
- Une méthode plus ancienne consiste à , au lieu de téléciner-inverse les
- passages télécinés,
- téléciner les parties non-télécinées
- et ensuite téléciner-inverse la vidéo entière.
- Cela semble confus ? softpulldown est un filtre qui parcours une
- vidéo et rend téléciné le fichier entier.
- Si nous faisons suivre softpulldown par
- soit <option>detc</option> ou soit <option>ivtc</option>, le résultat final
- sera entièrement progressif. L'option <option>-ofps 24000/1001</option> est nécessaire.
-
-<screen>mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 \
- -ovc lavc -ofps 24000/1001
-</screen>
- </para>
- </listitem>
-
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>Mélange de progressive et d'entrelacée</title>
-<para>
- Il y a deux façons de gérer cette catégorie, chacune étant un
- compromis. Vous devez faire votre choix en vous basant sur la durée/localisation
- de chaque type.
-</para>
-
-<itemizedlist>
-<listitem><para>
- Traitez-le comme une vidéo progressive. Les parties entrelacées sembleront entrelacées,
- et certaines des trames entrelacées devront être jetées, ayant pour résultat un
- peu de sautillement irrégulier. Vous pouvez utiliser un filtre de post-traitement si
- vous le voulez, mais cela peut sensiblement dégrader les parties progressives.
- </para>
-
- <para>
- Cette option ne devrait surtout pas être utilisée si vous prévoyez
- afficher la vidéo finale sur un appareil entrelacé (avec une carte TV,
- par exemple). Si vous avez des images entrelacées dans une vidéo en 24000/1001
- images par seconde, elles seront télécinées en même temps que les images progressives.
- La moitié des "images" entrelacées sera affichée pour une durée de trois trames
- (3/(60000/1001) secondes), ce qui a pour résultat un effet pichenette de
- "retour en arrière" ce qui est du plus mauvais effet. Si vous tentez
- quand même ceci, vous <emphasis role="bold">devez</emphasis> utiliser un filtre
- désentrelaçant comme <option>lb</option> ou <option>l5</option>.
- </para>
-
- <para>
- Cela peut aussi être une mauvaise idée pour l'affichage progressif.
- Cela laissera tomber des paires de trames entrelacées consécutives,
- résultant en une discontinuité qui peut être plus visible qu'avec la seconde méthode,
- ce qui affichera certaines images progressives en double. Une vidéo entrelacée Ã
- 30000/1001 images par seconde est déjà un peu hachée parce qu'elle devrait en
- réalité être projetée à 60000/1001 trames par seconde, pour que les images dupliquées
- ne se voient pas trop.
- </para>
-
- <para>
- De toutes façons, il vaut mieux analyser votre contenu et voir comment
- vous voulez l'afficher. Si votre vidéo est à 90% progressive et que vous ne
- pensez pas la regarder sur une TV, vous devriez favoriser une approche progressive.
- Si elle est seulement à moitié progressive, vous voudrez probablement l'encoder
- comme si elle était entièrement entrelacée.
- </para>
- </listitem>
-
-<listitem><para>
- Traitez-le comme entrelacée. Certaines images des parties progressives auront
- besoin d'être dupliquées, ce qui entraînera un sautillement irrégulier. Encore une
- fois, les filtres désentrelaçant peuvent légèrement dégrader les parties
- progressives.
- </para></listitem>
-
-</itemizedlist>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Notes de bas de pages</title>
-<orderedlist>
-<listitem><formalpara>
- <title>A propos de recadrage :</title>
- <para>
- Les données vidéo d'un DVD sont stockées dans un format appelé YUV 4:2:0. Dans
- la vidéo YUV, la luminance ("luminosité") et la chrominance ("couleur")
- sont stockés séparément. Parce que l'oeil humain est d'une certaine façon moins sensible
- à la couleur qu'à la luminosité, dans une image YUV 4:2:0 il n'y a
- qu'un pixel de chrominance pour 4 pixels de luminance. Dans une image progressive,
- chaque carré de quatre pixels de luminance (deux de chaque coté) a un pixel de
- chrominance commun. Vous devez recadrer le YUV 4:2:0 progressif à des résolutions paires,
- et utiliser un décalage pair. Par exemple,
- <option>crop=716:380:2:26</option> est correct mais
- <option>crop=716:380:3:26 </option> ne l'est pas.
- </para>
- </formalpara>
-
- <para>
- Quand vous avez à faire à un YUV 4:2:0 entrelacé, la situation devient un peu plus
- compliquée. Au lieu d'avoir chaque série de quatre pixels de luminance se partager un pixel
- de chrominance dans une <emphasis>image</emphasis>, chaque série de quatre pixels de luminance
- dans chaque <emphasis>champs</emphasis> se partage un pixel de chrominance. Quand les
- trames sont entrelacées pour former une image, chaque ligne de scan fait un
- pixel de haut. Maintenant, au lieu d'avoir la série de quatre pixels de luminance
- dans un carré, il y a deux pixels côte à côte sur une ligne et les deux autres pixels
- de la série sont côte à côte deux lignes de scan plus bas. Les deux pixels de luminance dans la
- ligne de scan intermédiaire appartiennent à une autre trame, et donc partage un
- pixel de chrominance différent avec deux pixels de luminance deux lignes de scan plus loin.
- Toute cette confusion rend nécessaire d'avoir des dimensions de recadrage
- et de décalage verticales multiples de quatre. Dans le sens horizontal, il suffit que les
- dimensions restent paires.
- </para>
-
- <para>
- Pour la vidéo télécinée, il est recommandé que le recadrage se fasse après le
- téléciné-inverse. Une fois que la vidéo est progressive, il vous suffit de recadrer par
- nombres pairs. Si vous voulez accélérer légèrement la vitesse d'encodage, en jouant sur les
- dimensions de recadrage, vous devez recadrer verticalement par multiples de quatre
- ou bien le filtre de téléciné-inverse n'aura pas les données adéquates.
- </para>
-
- <para>
- Pour la vidéo entrelacée (pas télécinée), vous devez toujours recadrer verticalement
- par multiples de quatre à moins que vous n'utilisiez l'option <option>-vf field</option> avant.
- </para>
- </listitem>
-
-<listitem><formalpara>
- <title>A propos des paramètres d'encodage et de la qualité :</title>
- <para>
- Le fait que l'option <option>mbd=2</option> soit recommandée ici ne veut pas dire
- qu'elle ne devrait pas être utilisée autre part. Avec <option>trell</option>,
- <option>mbd=2</option> est l'une des deux options de <systemitem class="library">libavcodec</systemitem>
- qui augmente le plus la qualité, et vous devriez toujours les utiliser
- Ã moins que la baisse de vitesse d'encodage ne soit prohibitive
- (ex : encodage en temps réel). Il y a bien d'autres options de
- <systemitem class="library">libavcodec</systemitem> qui augmentent la qualité d'encodage
- (et réduisent sa rapidité) mais ceci est au delà du propos de ce document.
- </para>
- </formalpara>
- </listitem>
-
-<listitem><formalpara>
- <title>A propos de la performance de pullup :</title>
- <para>
- Utiliser l'option <option>pullup</option> (avec <option>softskip</option>)
- sur une vidéo progressive est sans danger, et c'est généralement une bonne idée à moins qu'il
- soit certain que la source est entièrement progressive.
- La perte de performance est faible dans la plupart des cas. Sur un encodage minimal,
- <option>pullup</option> ralentit <application>MEncoder</application> de 50%.
- L'ajout du traitement du son et d'options avancées de <option>lavcopts</option> masquent cette
- différence, en limitant la perte de performance due à l'utilisation de <option>pullup</option> à 2%.
- </para>
- </formalpara>
- </listitem>
-
-</orderedlist>
-
-</sect2>
-</sect1>
-
-
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Encodage avec la famille de codec <systemitem class="library">libavcodec</systemitem></title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem>
-fournit un encodage simple pour plusieurs formats vidéos et audio intéressants.
-Vous pouvez encoder vers les codecs suivant
-(la liste suivante est plus ou moins à jour) :
-</para>
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title>Codecs vidéo de <systemitem class="library">libavcodec</systemitem></title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nom du codec vidéo</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row><entry>mjpeg</entry><entry>
- Motion JPEG
- </entry></row>
-<row><entry>ljpeg</entry><entry>
- JPEG sans perte
- </entry></row>
-<row>
- <entry>jpegls</entry>
- <entry>JPEG LS</entry>
-</row>
-<row>
- <entry>targa</entry>
- <entry>image Targa</entry>
-</row>
-<row>
- <entry>gif</entry>
- <entry>image GIF</entry>
-</row>
-<row>
- <entry>bmp</entry>
- <entry>image BMP</entry>
-</row>
-<row>
- <entry>png</entry>
- <entry>image PNG</entry>
-</row>
-<row><entry>h261</entry><entry>
- H.261
- </entry></row>
-<row><entry>h263</entry><entry>
- H.263
- </entry></row>
-<row><entry>h263p</entry><entry>
- H.263+
- </entry></row>
-<row><entry>mpeg4</entry><entry>
- ISO standard MPEG-4 (DivX, compatible Xvid)
- </entry></row>
-<row><entry>msmpeg4</entry><entry>
- pre-standard MPEG-4 variant par MS, v3 (AKA DivX3)
- </entry></row>
-<row><entry>msmpeg4v2</entry><entry>
- pre-standard MPEG-4 by MS, v2 (utilisé dans les vieux fichiers ASF)
- </entry></row>
-<row><entry>wmv1</entry><entry>
- Windows Media Vidéo, version 1 (AKA WMV7)
- </entry></row>
-<row><entry>wmv2</entry><entry>
- Windows Media Vidéo, version 2 (AKA WMV8)
- </entry></row>
-<row><entry>rv10</entry><entry>
- RealVidéo 1.0
- </entry></row>
-<row><entry>rv20</entry><entry>
- RealVidéo 2.0
- </entry></row>
-<row><entry>mpeg1vidéo</entry><entry>
- MPEG-1 vidéo
- </entry></row>
-<row><entry>mpeg2vidéo</entry><entry>
- MPEG-2 vidéo
- </entry></row>
-<row><entry>huffyuv</entry><entry>
- compression sans perte
- </entry></row>
-<row>
- <entry>ffvhuff</entry>
- <entry>FFmpeg huffyuv sans perte modifié</entry>
-</row>
-<row><entry>asv1</entry><entry>
- ASUS Vidéo v1
- </entry></row>
-<row><entry>asv2</entry><entry>
- ASUS Vidéo v2
- </entry></row>
-<row><entry>ffv1</entry><entry>
- codec vidéo sans perte de FFmpeg
- </entry></row>
-<row><entry>svq1</entry><entry>
- Sorenson vidéo 1
- </entry></row>
-<row><entry>flv</entry><entry>
- Sorenson H.263 utilisé dans Vidéo Flash
- </entry></row>
-<row>
- <entry>flashsv</entry>
- <entry>Flash Screen Video</entry>
-</row>
-<row><entry>dvvideo</entry><entry>
- Vidéo Numérique Sony
- </entry></row>
-<row><entry>snow</entry><entry>
- codec basé sur l'ondelette expérimentale de FFmpeg
- </entry></row>
-<row>
- <entry>zmbv</entry>
- <entry>Zip Motion Blocks Video</entry>
-</row>
-<row>
- <entry>dnxhd</entry>
- <entry>AVID DNxHD</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-La première colonne contient les noms de codec qui doivent être donnés après la
-configuration de <literal>vcodec</literal>, par exemple comme ceci :
-<option>-lavcopts vcodec=msmpeg4</option>
-</para>
-<informalexample>
-<para>
- Un exemple avec la compression MJPEG :
-<screen>mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title>Codecs audio de <systemitem class="library">libavcodec</systemitem></title>
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nom de codec audio</entry><entry>Description</entry></row>
-</thead>
-<tbody>
- <row>
- <entry>ac3</entry>
- <entry>AC-3, AKA Dolby Digital</entry>
- </row>
- <row>
- <entry>adpcm_*</entry>
- <entry>formats PCM adaptatif - se reporter au tableau complémentaire</entry>
- </row>
- <row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
- </row>
- <row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
- </row>
- <row>
- <entry>libamr_nb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry>
- </row>
- <row>
- <entry>libamr_wb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry>
- </row>
- <row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) - utilisant FAAC</entry>
- </row>
- <row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 full rate</entry>
- </row>
- <row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
- </row>
- <row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) - utilisant LAME</entry>
- </row>
- <row>
- <entry>mp2</entry>
- <entry>MPEG-1 audio Layer 2(MP2)</entry>
- </row>
- <row>
- <entry>pcm_*</entry>
- <entry>formats PCM - se reporter au tableau complémentaire</entry>
- </row>
- <row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
- </row>
- <row>
- <entry>sonic</entry>
- <entry>codec avec perte expérimental FFmpeg</entry>
- </row>
- <row>
- <entry>sonicls</entry>
- <entry>codec sans perte expérimental FFmpeg</entry>
- </row>
- <row>
- <entry>vorbis</entry>
- <entry>Vorbis</entry>
- </row>
- <row>
- <entry>wmav1</entry>
- <entry>Windows Media Audio v1</entry>
- </row>
- <row>
- <entry>wmav2</entry>
- <entry>Windows Media Audio v2</entry>
- </row>
-</tbody>
-</tgroup>
-</informaltable>
-
-La première colonne contient les noms de codec qui doivent être donnés après l'option
-<literal>acodec</literal>, par exemple comme ceci :
-<option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample>
-<para>
- Un exemple avec compression AC-3 :
-<screen>mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy</screen>
-</para>
-</informalexample>
-
-<para>
- Contrairement aux codecs vidéo de <systemitem class="library">libavcodec</systemitem>,
- ses codecs audio ne font pas un usage avisé des bits qu'ils consomment
- car ils leur manquent certains modèles psycho-acoustiques minimaux (quand ils en ont)
- ce que la plupart des autres implémentations de codecs possèdent.
- Cependant, notez que tous ces codecs audio sont très rapides et sont disponibles
- à partir du moment où <application>MEncoder</application> a été
- compilé avec <systemitem class="library">libavcodec</systemitem> (ce qui est le
- cas la plupart du temps), et ne dépend pas de bibliothèques externes.
-</para>
-
-<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
-<title>tableau complémentaire des formats PCM/ADPCM</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>nom du codec PCM/ADPCM</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>pcm_s32le</entry>
- <entry>signed 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s32be</entry>
- <entry>signed 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u32le</entry>
- <entry>unsigned 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u32be</entry>
- <entry>unsigned 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s24le</entry>
- <entry>signed 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s24be</entry>
- <entry>signed 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u24le</entry>
- <entry>unsigned 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u24be</entry>
- <entry>unsigned 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s16le</entry>
- <entry>signed 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s16be</entry>
- <entry>signed 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u16le</entry>
- <entry>unsigned 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u16be</entry>
- <entry>unsigned 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s8</entry>
- <entry>signed 8-bit</entry>
-</row>
-<row>
- <entry>pcm_u8</entry>
- <entry>unsigned 8-bit</entry>
-</row>
-<row>
- <entry>pcm_alaw</entry>
- <entry>G.711 A-LAW </entry>
-</row>
-<row>
- <entry>pcm_mulaw</entry>
- <entry>G.711 μ-LAW</entry>
-</row>
-<row>
- <entry>pcm_s24daud</entry>
- <entry>signed 24-bit D-Cinema Audio format</entry>
-</row>
-<row>
- <entry>pcm_zork</entry>
- <entry>Activision Zork Nemesis</entry>
-</row>
-<row>
- <entry>adpcm_ima_qt</entry>
- <entry>Apple QuickTime</entry>
-</row>
-<row>
- <entry>adpcm_ima_wav</entry>
- <entry>Microsoft/IBM WAVE</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk3</entry>
- <entry>Duck DK3</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk4</entry>
- <entry>Duck DK4</entry>
-</row>
-<row>
- <entry>adpcm_ima_ws</entry>
- <entry>Westwood Studios</entry>
-</row>
-<row>
- <entry>adpcm_ima_smjpeg</entry>
- <entry>SDL Motion JPEG</entry>
-</row>
-<row>
- <entry>adpcm_ms</entry>
- <entry>Microsoft</entry>
-</row>
-<row>
- <entry>adpcm_4xm</entry>
- <entry>4X Technologies</entry>
-</row>
-<row>
- <entry>adpcm_xa</entry>
- <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
-</row>
-<row>
- <entry>adpcm_ea</entry>
- <entry>Electronic Arts</entry>
-</row>
-<row>
- <entry>adpcm_ct</entry>
- <entry>Creative 16->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_swf</entry>
- <entry>Adobe Shockwave Flash</entry>
-</row>
-<row>
- <entry>adpcm_yamaha</entry>
- <entry>Yamaha</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_4</entry>
- <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_3</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_2</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
-</row>
-<row>
- <entry>adpcm_thp</entry>
- <entry>Nintendo GameCube FMV THP</entry>
-</row>
-<row>
- <entry>adpcm_adx</entry>
- <entry>Sega/CRI ADX</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect3>
-
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>Options d'encodage de libavcodec</title>
-
-<para>
- Idéalement, vous voudriez probablement juste dire à mencoder de passer en
- mode "haute qualité" et passer à autre chose.
- Ce serait sûrement sympa, mais c'est malheureusement difficile à implémenter car les
- différentes options d'encodage donnent des résultats de qualité différents
- en fonction du matériel source.
- Ceci vient du fait que la compression dépend des propriétés visuelles
- de la vidéo en question.
- Par exemple, un film d'animation et un film d'action ont des propriétés très
- différentes et nécessitent des options différentes pour obtenir un encodage
- optimal.
- La bonne nouvelle, c'est que certaines options ne devraient jamais être omises,
- comme <option>mbd=2</option>, <option>trell</option>, et <option>v4mv</option>.
- Voir ci-dessous pour une description détaillée des options d'encodage les plus communes.
-</para>
-
-
-<itemizedlist>
-<title>Options à régler :</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis> : 1 ou 2 est bon selon
- le film.
- Notez que si vous avez besoin d'avoir votre encodage décodable par DivX5, vous
- aurez besoin d'activer le support "closed GOP", en utilisant l'option <option>cgop</option> de
- <systemitem class="library">libavcodec</systemitem>, mais vous aurez besoin de désactiver
- la détection de scène, ce qui n'est pas une bonne idée étant donné que cela
- affectera un peu l'efficacité d'encodage.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis> : aide pour les scènes
- avec beaucoup de mouvement.
- Sur certaines vidéos, l'option vmax_b_frames peut affecter la qualité, mais
- utiliser vmax_b_frames=2 avec vb_strategy=1 aide.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">dia</emphasis> : portée de la passe de
- recherche de mouvement.
- Plus la valeur de cette option est élevée, meilleure sera la qualité et plus
- l'encodage sera lent.
- Les valeurs négatives représentent une échelle complètement différente.
- De bonnes valeurs sont -1 pour un encodage rapide, ou 2-4 pour un plus lent.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">predia</emphasis> : portée de recherche de
- mouvement en pré-passe.
- Pas aussi important que dia. De bonnes valeurs vont de 1 (par défaut) à 4. Cela
- requière preme=2 pour être réellement utile.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis> : Fonction de
- comparaison pour l'estimation de mouvement.
- Testez avec les valeurs 0 (défaut), 2 (hadamard), 3 (dct), et 6 (taux de
- distorsion).
- 0 est le plus rapide, et suffisant pour precmp.
- Pour cmp et subcmp, 2 est bon pour les animations, et 3 est bon pour les
- films d'action.
- 6 peut être (ou non) un peu meilleur, mais est lent.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis> : Nombre de prédicteurs de
- mouvement à prendre depuis l'image précédente.
- 1-3 (ou dans ces eaux) améliore la qualité pratiquement sans perte en
- vitesse.
- De plus hautes valeurs ralentiront l'encodage sans réel gain.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis> : Contrôle la sélection de
- macroblocs.
- Un petit coût en vitesse pour un petit gain en qualité.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qprd</emphasis> : quantification adaptative
- basée sur la complexité des macroblocs.
- Peut aider ou gêner selon la vidéo et les autres options.
- Cela peut causer des artefacts à moins que vous ne paramétriez vqmax à des
- valeurs raisonnablement petites (6 c'est bien, voire peut-être 4);
- vqmin=1 devrait aussi aider.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qns</emphasis> : très lente, spécialement quand
- combinée avec qprd.
- Avec cette option, l'encodeur minimise le bruit dû aux artefacts de
- compression au lieu de faire correspondre strictement la vidéo encodée Ã
- la source.
- Ne l'utilisez pas à moins d'avoir déjà peaufiné tout le reste et que les
- résultats ne soient pas encore assez bons.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis> : mise au point du contrôle
- de débit.
- La nature du film définiera quelles sont les bonnes valeurs à appliquer
- Vous pouvez sans problème laisser cette option de côté si vous voulez.
- Réduire vqcomp met plus de bits sur les scènes de basse complexité, l'augmenter
- les met sur les scènes de haute complexité (défaut: 0.5, portée: 0-1. recommandé: 0.5-0.7).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis> : Définit le
- coefficient du seuil d'élimination pour les plans de luminance et
- chrominance.
- Ils sont encodés séparément dans tous les algorithmes de style MPEG.
- L'idée derrière tout ceci est d'utiliser de bonnes heuristiques
- pour déterminer quand le changement dans un bloc est inférieur au seuil que
- vous avez spécifié, et dans ce cas, de simplement encoder le bloc comme étant
- "sans changement".
- Cela économise des bits et accélére peut-être l'encodage. vlelim=-4 et
- vcelim=9 semblent être de bonnes valeurs pour les films de "scènes réelles", mais
- semblent ne pas aider avec les films d'animation; quand vous voudrez encoder une animation,
- vous devriez probablement les laisser tel quel.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qpel</emphasis> : Estimation de mouvement de
- quart de pixel.
- MPEG-4 utilise une précision d'un demi pixel pour sa recherche de mouvement
- par défaut, donc cette option augmente la quantité d'information qui est
- stockée dans le fichier encodé. Le gain ou la perte en terme de compression
- dépend du film, mais ce n'est habituellement pas très efficace pour les animations.
- qpel induit toujours un surcoût significatif en temps de décodage (+25% en pratique).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">psnr</emphasis> : n'affecte pas l'encodage
- mais écrit un fichier journal donnant le type/taille/qualité de chaque image, et
- imprime un résumé du PSNR (rapport signal sur bruit) à la fin.
-</para></listitem>
-
-</itemizedlist>
-
-<itemizedlist>
-<title>Options qu'il n'est pas recommandé de changer :</title>
-<listitem><para>
-<emphasis role="bold">vme</emphasis> : La valeur par défaut est la
-meilleure.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis> :
- Quantification adaptative pyscho-visuelle.
- Vous ne voulez pas jouer avec ces options si vous tenez à la qualité.
- Des valeurs raisonnables peuvent être efficaces dans votre cas, mais soyez
- prévenu, ceci reste très subjectif.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis> : Essaie d'empêcher
- l'apparition d'artefacts dûs aux blocs, mais le post-traitement est plus
- efficace.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>Exemples de paramètres d'encodage</title>
-
-<para>
- Les paramètrages suivants sont des exemples de différentes combinaisons d'options
- d'encodage qui affectent le compromis vitesse / qualité pour un débit donné.
-</para>
-
-<para>
- Tous les paramètrages d'encodage ont été testés sur un échantillon vidéo de résolution
- 720x448 à 30000/1001 images par seconde, le débit cible était de 900kbit/s, et la machine était un
- AMD-64 3400+ Ã 2400 MHz en mode 64 bits.
- Chaque exemple d'encodage est donné avec la vitesse d'encodage mesurée (en
- images par seconde) et la perte en PSNR (en dB) par rapport au réglage de "très
- haute qualité". Sachez que selon votre video source, votre machine et les derniers développements,
- vous pourrez obtenir des résultats très différents.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images/s)</entry><entry>perte relative de PSNR (en dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Très haute qualité</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6im/s</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Haute qualité</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15im/s</entry>
- <entry>-0.5dB</entry>
-</row>
-<row>
- <entry>Rapide</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42im/s</entry>
- <entry>-0.74dB</entry>
-</row>
-<row>
- <entry>Temps réel</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54im/s</entry>
- <entry>-1.21dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<sect2 id="custommatrices"><title>Matrices inter/intra personnalisées</title>
-
-<para>
-Grâce à cette fonctionnalité de
-<systemitem class="library">libavcodec</systemitem>
-vous pouvez rentrer des matrices personnalisées inter (image I ou images clé) et intra
-(image P ou image prédite). De nombreux codecs le supportent - on rapporte que
-<systemitem>mpeg1video</systemitem> et <systemitem>mpeg2video</systemitem> fonctionnent avec.
-</para>
-
-<para>
-Cette fonctionnalité est utilisée habituellement pour régler les matrices utilisées
-par les spécifications <ulink url="http://www.kvcd.net/">KVCD</ulink>.
-</para>
-
-<para>
-La <emphasis role="bold">Matrice de Quantification KVCD "Notch"
- :</emphasis>
-</para>
-
-<para>
- Intra :
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter :
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
- Utilisation :
-<screen>
-mencoder <replaceable>entree.avi</replaceable> -o <replaceable>sortie.avi</replaceable> -oac copy -ovc lavc \
- -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-$ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>Exemple</title>
-
-<para>
- Voilà , vous venez tout juste d'acheter votre exemplaire de « Harry Potter et la
- Chambre des Secrets » (édition panoramique, bien sûr), et vous voulez copier ce
- DVD afin de pouvoir l'ajouter à votre PC Home Cinéma. C'est un DVD de
- région 1, donc en NTSC. L'exemple ci-dessous peut quand même être adapté au PAL,
- si ce n'est que vous devrez retirer l'option <option>-ofps 24000/1001</option> (parce que le
- le nombre d'images par seconde en sortie est le même que celui en entrée), et bien sûr les dimensions
- de recadrage seront différentes.
-</para>
-
-<para>
- Après avoir lancé <option>mplayer dvd://1</option>, nous suivons le processus
- détaillé dans la section <link linkend="menc-feat-telecine">Comment gérer le
- téléciné et l'entrelacement dans les DVDs NTSC</link> et découvrons que c'est une
- vidéo progressive à 24000/1001 images par seconde, ce qui signifie que nous n'avons pas besoin
- d'utiliser de filtre téléciné-inverse, comme <option>pullup</option> ou <option>filmdint</option>.
-</para>
-
-<para>
- Ensuite, nous voulons déterminer le rectangle de recadrage approprié, donc
- nous utilisons le filtre <option>cropdetect</option> :
-
- <screen>mplayer dvd://1 -vf cropdetect</screen>
-
- Assurez-vous que vous visualisez une image complètement remplie (comme une scène
- lumineuse), et vous verrez dans la console de sortie de
- <application>MPlayer</application> :
-
- <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-
- Revisionnons ensuite le film avec le filtre pour tester le résultat :
-
- <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-
- Et nous nous apercevons que tout a l'air parfait. Ensuite, nous nous assurons que
- la hauteur et la largeur sont des multiples de 16. La largeur est bonne,
- cependant la hauteur ne l'est pas. Vu que nous avons quelques notions minimales
- de maths, nous savons que le plus proche multiple de 16 inférieur à 362
- est 352.
-</para>
-
-<para>
- Nous pourrions juste utiliser <option>crop=720:352:0:58</option>, mais il
- serait mieux d'enlever un peu du haut et un peu du bas afin de garder
- la partie centrale. Nous avons rétréci la hauteur de 10 pixels, mais nous ne voulons
- pas augmenter le décalage de 5 pixels vu que c'est un nombre impair et que
- cela affectera défavorablement la qualité. A la place, nous augmentons le
- décalage vertical de 4 pixels :
-
- <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-
- Une autre raison pour retirer les pixels du haut et du bas est que nous nous
- assurons que nous avons éliminé tous les pixels à moitié noir s'ils
- existent. Si votre vidéo est télécinée, assurez-vous que le filtre
- <option>pullup</option> (ou n'importe quel autre filtre téléciné-inverse que vous
- avez décidé d'utiliser) apparaissent dans la chaîne de filtres avant que vous ne
- recadriez. Si il est entrelacé, désentrelacez-le avant le recadrage.
- (Si vous choisissez de préserver la vidéo entrelacée, alors assurez-vous que
- votre décalage vertical de recadrage est un multiple de 4.)
-</para>
-
-<para>
- Si la perte de ces 10 pixels vous peine réellement, vous pouvez préférez réduire
- les dimensions au plus proche multiple de 16.
- La chaîne de filtres ressemblerait à ceci :
-
- <screen>-vf crop=720:362:0:58,scale=720:352</screen>
-
- Réduire la taille de la vidéo comme cela signifie qu'une petite quantité de détails est perdu
- bien que cela ne soit probablement pas perceptible. Augmenter la taille
- entraînera une qualité inférieure (à moins que vous n'augmentiez le débit).
- Le recadrage enlève quand à lui complétement les pixels à l'extérieur du
- nouveau cadrage. C'est un compromis dont vous devrez tenir compte
- selon les circonstances. Par exemple, si une vidéo DVD a été
- faite pour la télévision, vous pourriez vouloir éviter le
- redimensionnement vertical, étant donné que l'échantillon de lignes correspond
- à la manière avec laquelle le contenu a été enregistré.
-</para>
-
-<para>
- En inspectant le film, nous voyons qu'il contient une bonne quantité d'action et beaucoup de
- détails, donc nous choisissons un débit de 2400Kb/s.
-</para>
-
-<para>
- Nous sommes maintenant prêts à faire l'encodage deux passes.
- Première passe :
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
- La seconde passe est la même, si ce n'est que nous spécifions
- <option>vpass=2</option> :
-
-
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-</para>
-
-<para>
- Les options <option>v4mv:mbd=2:trell</option> augmenteront considérablement la
- qualité au prix d'une plus longue durée d'encodage. Il y a peu de raison de ne pas
- utiliser ces options quand le but premier est la qualité. Les options
- <option>cmp=3:subcmp=3</option> sélectionne une fonction de comparaison
- qui donne une meilleure qualité que celle par défaut. Vous pouvez essayer de faire varier
- ces paramètres (reportez-vous à la page man pour les valeurs possibles)
- étant donné que différentes fonctions peuvent avoir un impact important sur la
- qualité selon le matériel source. Par exemple, si vous trouvez que
- <systemitem class="library">libavcodec</systemitem> produit trop d'artefacts
- de blocs, vous pouvez essayer de choisir la fonction de comparaison expérimentale NSSE
- via <option>*cmp=10</option>.
-</para>
-
-<para>
- Pour ce film, le AVI résultant durera 138 minutes et pèsera à peu près 3GB.
- Et puisque vous disiez que la taille du fichier ne comptait pas, cette taille
- est parfaitement acceptable. Cependant, si vous l'aviez voulu plus petite,
- vous pourriez essayer un débit inférieur. L'augmentation du débit améliore la qualité,
- mais de moins en moins, ainsi, tandis que nous pourrions clairement voir une
- amélioration de 1800Kb/s à 2000Kb/s, cela peut ne pas être notable
- au-dessus de 2000Kb/s. Libre à vous d'expérimenter jusqu'à totale satisfaction.
-</para>
-
-<para>
- Parce que nous avons passé la source vidéo au travers d'un filtre antibruit,
- vous pourriez vouloir en rajouter un peu pendant la lecture. Ceci, avec le filtre de
- post-traitement <option>spp</option>, améliore de façon radicale la perception
- de qualité et aide à éliminer les artefacts de bloc de la vidéo.
- Avec l'option <option>autoq</option> de <application>MPlayer</application>,
- vous pouvez faire varier le montant de post-traitement effectué par le filtre spp
- en fonction de la disponibilté de votre processeur. Aussi, arrivé à ce point, vous pourriez
- vouloir appliquer une correction gamma et/ou couleur pour convenir au mieux Ã
- votre écran.
- Par exemple :
- <screen>
- mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
- </screen>
-</para>
-</sect2>
-</sect1>
-
-
-<sect1 id="menc-feat-xvid">
-<title>Encodage avec le codec <systemitem class="library">Xvid</systemitem></title>
-<para>
- <systemitem class="library">Xvid</systemitem> est une bibliothèque libre pour
- encoder les flux vidéo MPEG-4 ASP.
- Avant de commencer à encoder, vous avez besoin de <link linkend="xvid">
- paramétrer <application>MEncoder</application> pour qu'il la supporte.</link>.
-</para>
-<para>
- Ce guide a pour principal objectif de fournir le même genre d'information que
- le guide d'encodage avec x264. Par conséquent, commencez par lire
- <link linkend="menc-feat-x264-encoding-options-intro">la première partie</link>
- de ce guide.
-</para>
-
-
-<sect2 id="menc-feat-xvid-intro">
-<title>Quelles options devrais-je utiliser pour avoir les meilleurs
-résultats ?</title>
-
-<para>
- Commencez par passer en revue la section <systemitem class="library">Xvid</systemitem>
- de la page man de <application>MPlayer</application>.
- Cette section est prévue pour être un supplément de la page man.
-</para>
-<para>
- Les paramètrages par défaut de Xvid donnent déjà un bon compromis entre
- vitesse et qualité, vous pouvez donc sans risque vous en contenter
- si la section suivante vous laisse perplexe.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>Options d'encodage de <systemitem class="library">Xvid</systemitem></title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- Ce paramètre affecte l'algorithme de choix de macrobloc, plus la valeur
- du paramètre est élevée, meilleure sera la décision.
- Le paramètrage par défaut peut être utilisé de façon sûre pour tous les encodages,
- alors que des valeurs plus élevées améliorent toujours le PSNR mais rendent l'encodage significativement
- plus lent.
- Veuillez noter qu'un meilleur PSNR ne veut pas forcément dire que l'image
- sera meilleure, mais vous informe qu'elle est plus proche de l'originale.
- Désactiver l'option accélére de façon notable l'encodage; si la vitesse est un point
- critique pour vous, cela peut valoir le coup.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- Cela a le même effet que vhq, mais agit sur les images B.
- L'impact sur la vitesse est négligeable et la qualité est légèrement améliorée
- (environ +0.1dB PSNR).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- Permettre un plus grand nombre d'images B consécutives améliore habituellement
- la compressibilité bien que cela puisse également entraîner plus d'artefacts de blocs.
- Le paramétrage par défaut est un bon compromis entre compressibilité et qualité,
- mais vous pouvez l'augmenter jusqu'à 3 si vous êtes obnubilé par le débit.
- Vous pouvez aussi le réduire à 1 ou 0 si vous aspirez à la perfection, même si dans
- ce cas vous deviez vous assurer que le débit cible est suffisament élevé pour que
- l'encodeur n'ait pas à augmenter les quantificateurs pour l'atteindre.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- Ceci contrôle la sensibilité de l'encodeur pour les images B, où une plus haute
- valeur amène à ce que plus d'images B soient utilisées (et vice versa).
- Ce paramètre est fait pour être utilisé avec <option>max_bframes</option>;
- si vous êtes obnubilé par le débit, vous devez augmenter à la fois <option>max_bframes</option>
- et <option>bf_threshold</option>, tandis que vous pouvez augmenter <option>max_bframes</option>
- et baisser <option>bf_threshold</option> de façon à ce que l'encodeur puisse utiliser plus d'images B
- uniquement aux endroits qui en ont <emphasis role="bold">vraiment</emphasis> besoin.
- Un faible nombre de <option>max_bframes</option> et une valeur élevée de <option>bf_threshold</option>
- n'est probablement pas un choix avisé vu qu'il obligera l'encodeur à mettre
- des images B en des endroits qui n'en tireront pas de bénéfice et donc réduiront la qualité visuelle.
- Cependant, si vous avez besoin d'être compatible avec des lecteurs qui
- supportent seulement de vieilles versions DivX (qui ne supportent pas plusieurs images B consécutives),
- ce serait votre seul possibilité pour augmenter la compressibilité en utilisant les images B.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- Optimise la procédure de quantification pour obtenir un compromis optimal
- entre le PSNR et le débit, ce qui permet une économie significative de bits.
- Ces bits seront en retour utilisés autre part dans la vidéo, augmentant
- la qualité visuelle globale.
- Vous devriez toujours l'utiliser étant donné son énorme impact sur la qualité.
- Même si vous recherchez de la vitesse, ne le désactivez pas avant d'avoir
- réduit <option>vhq</option> et toutes les autres options plus gourmandes
- en ressource à leur minimum.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- Active une meilleure méthode d'estimation des coefficients AC, ce qui réduit
- légèrement la taille de fichier d'environ 0.15 à 0.19% (ce qui correspond
- à moins de 0.01dB PSNR d'augmentation), tandis qu'elle a un impact négligeable
- sur la vitesse. Il est donc recommandé de toujours la laisser activée.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- Faite pour un meilleur encodage des dessins animés, n'a pas d'impact
- sur la vitesse étant donné qu'elle règle juste les heuristiques de décision
- pour ce type de contenu.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">me_quality</emphasis>
- Ce paramètre contrôle la précision de l'estimation de mouvement.
- Plus <option>me_quality</option> est élevé, plus
- l'estimation du mouvement d'origine est précise et donc mieux l'encodage final
- rendra le mouvement d'origine.
- </para>
- <para>
- Le paramètrage par défaut est le meilleur dans tous les cas; ainsi il est
- recommandé de ne pas le désactiver à moins que vous ne recherchiez vraiment
- la rapidité, vu que tout les bits économisés par une bonne estimation du
- mouvement seraient dépensés autre part, augmentant la qualité générale.
- Donc, n'allez pas plus bas que 5, et encore, seulement en dernier recours.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- Améliore l'estimation de mouvement en prenant aussi en compte l'information
- de la chrominance (couleur), alors que <option>me_quality</option> seule
- utilise uniquement la luminance (niveaux de gris).
- Cela ralentit l'encodage de 5-10% mais améliore sensiblement la qualité visuelle
- en réduisant les effets de bloc et cela réduit aussi la taille des fichiers d'environ 1.3%.
- Si vous cherchez de la vitesse, vous devriez désactiver cette option avant de
- penser à la réduction de <option>me_quality</option>.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- A pour objectif d'améliorer la qualité de la chrominance de l'image à proximité
- des bords totalement blancs ou noirs, plutôt que d'améliorer la compression.
- Ceci peut aider à réduire l'effet "d'escalier rouge".
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- Tente de donner moins de débit à une partie de l'image que l'oeil humain
- ne peut pas très bien voir, ce qui devrait permettre à l'encodeur de dépenser
- les bits économisés sur des parties plus importantes de l'image.
- La qualité de l'encodage liée à cette option dépend grandement des
- préférences personnelles et du type de moniteur ainsi que de son réglage
- (typiquement, cela ne semblera pas si bien si le réglage est lumineux
- ou si c'est un moniteur TFT).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>
- Augmente le nombre de vecteurs de mouvement candidats en augmentant la
- précision de l'estimation de mouvement de halfpel (demi-pixel) à quarterpel (quart de pixel).
- L'idée est de trouver de meilleurs vecteurs de mouvement pour
- réduire le débit (donc augmenter la qualité à débit constant).
- Cependant, les vecteurs de mouvement avec une précision quarterpel requièrent
- quelques bits en plus à coder et les vecteurs candidats ne donnent pas
- toujours de résultats (vraiment) meilleurs.
- Assez souvent, le codec dépense des bits pour une plus grande précision,
- mais en retour il n'y a que peu ou pas d'amélioration de la qualité.
- Malheureusement, il n'y a aucun moyen de prédire les possibles avantages de
- <option>qpel</option>, donc en fait, vous devez l'encoder avec
- et sans pour en être sûr.
- </para><para>
- <option>qpel</option> peut quasiment doubler la durée d'encodage, et
- nécessiter jusqu'à 25% de puissance processeur en plus pour le décodage.
- Il n'est pas supporté par tous les lecteurs.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- Essaye d'économiser des bits sur des scènes panoramiques en employant un
- unique vecteur de mouvement pour l'image entière.
- Cela augmente presque toujours le PSNR, mais ralentit l'encodage
- significativement (ainsi que le décodage).
- Par conséquent, vous devriez seulement l'employer si vous avez
- réglé <option>vhq</option> au maximum.
- Le GMC de <systemitem class="library">Xvid</systemitem> est plus sophistiqué
- que celui de DivX, mais il est seulement supporté par quelques lecteurs.
-</para></listitem>
-
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>Profils d'encodage</title>
-<para>
- Xvid supporte des profils d'encodage via l'option <option>profile</option>,
- ce qui est utilisé pour imposer des restrictions sur les propriétés du flux
- vidéo Xvid pour qu'il puisse être relu sur tout ce qui supporte le profil
- choisi.
- Les restrictions sont en rapport avec les résolutions, les débits et certaines
- fonctionnalités MPEG-4.
- La table suivante montre ce que chaque profil supporte.
-</para>
-<informaltable>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
- <tbody>
- <row>
- <entry></entry>
- <entry spanname="spa2-5">Simple</entry>
- <entry spanname="spa6-11">Simple avancé</entry>
- <entry spanname="spa12-17">DivX</entry>
- </row>
- <row>
- <entry>Nom de profil</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>De poche</entry>
- <entry>NTSC Portable</entry>
- <entry>PAL Portable</entry>
- <entry>NTSC Home Cinéma</entry>
- <entry>PAL Home Cinéma</entry>
- <entry>TV Haute Définition</entry>
- </row>
- <row>
- <entry>Largeur [pixels]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
- </row>
- <row>
- <entry>Hauteur [pixels]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
- </row>
- <row>
- <entry>Images par seconde</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- </row>
- <row>
- <entry>Débit moyen max [kbit/s]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
- </row>
- <row>
- <entry>Débit moyen maximal au delà de 3 secs [kbit/s]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
- </row>
- <row>
- <entry>Images B maxi</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
- </row>
- <row>
- <entry>Quantification MPEG</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>Quantification adaptative</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- </row>
- <row>
- <entry>Encodage entrelacé</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- </row>
- <row>
- <entry>Quaterpixel</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>Compensation globale du mouvement</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>Exemples de paramètres d'encodage</title>
-
-<para>
- Les paramètres suivant sont des exemples de différentes combinaisons
- d'option d'encodage qui affectent le compromis entre la vitesse et
- la qualité pour le même débit cible.
-</para>
-
-<para>
- Tous les paramètrages d'encodage ont été testés sur un échantillon vidéo en
- 720x448 à 30000/1001 images par seconde, le débit cible était de 900kbit/s, et la machine était un
- AMD-64 3400+ Ã 2400 MHz en mode 64 bits.
- Chaque exemple d'encodage est donné avec la vitesse d'encodage mesurée (en
- images par seconde) et la perte en PSNR (en dB) par rapport au réglage de "très
- haute qualité". Sachez que selon votre video source, votre machine et les derniers développements,
- vous pourrez obtenir des résultats très différents.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images par secondes)</entry><entry>Perte PSNR relative (en dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Très haute qualité</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Haute qualité</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18</entry>
- <entry>-0.1dB</entry>
-</row>
-<row>
- <entry>Rapide</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28</entry>
- <entry>-0.69dB</entry>
-</row>
-<row>
- <entry>Temps réel</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-</sect1>
-<sect1 id="menc-feat-x264">
-<title>Encodage avec le codec <systemitem class="library">x264</systemitem></title>
-<para>
- <systemitem class="library">x264</systemitem> est une librairie libre pour
- encoder des flux vidéo H.264/AVC.
- Avant de commencer à encoder, vous avez besoin de <link linkend="x264">
- paramétrer <application>MEncoder</application> pour qu'il le supporte</link>.
-</para>
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>Les options d'encodage de x264</title>
-
-<para>
- Veuillez commencer par passer en revue la section
- <systemitem class="library">x264</systemitem> de la page man
- de <application>MPlayer</application>.
- Cette section est prévue pour être un complément à la page man.
- Ici, vous trouverez des conseils sur les options qui sont
- le plus susceptible d'intéresser la plupart des gens. La page man
- est plus laconique mais aussi plus exhaustive et offre
- parfois de bien meilleurs détails techniques.
-</para>
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Introduction</title>
-<para>
- Ce guide considère deux principales catégories d'options d'encodage :
-</para>
-
-<orderedlist>
- <listitem><para>Les options qui traitent principalement du compromis entre la durée d'encodage et la qualité
- </para></listitem>
- <listitem><para>Les options susceptibles de satisfaire diverses préférences personnelles
- et exigences spéciales</para></listitem>
-</orderedlist>
-
-<para>
- Finalement, seul vous pouvez décider quelles sont les meilleures options en fonction de vos objectifs.
- La décision pour la première catégorie d'options est la plus simple :
- vous devez seulement décider si les différences de qualité
- justifient les différences de vitesse. Pour la deuxième catégorie d'options,
- les préférences peuvent être bien plus subjectives, et plus de facteurs
- peuvent être impliqués. Notez que certaines des options de type
- "préférences personnelles et exigences spéciales" peuvent aussi avoir
- un impact important sur la vitesse ou la qualité, mais ce n'est pas là leur
- utilité première. Quelques unes des options de "préférences
- personnelles" peuvent même avoir des effets jugés bénéfiques par certaines personnes
- mais néfastes par d'autres.
-</para>
-
-<para>
- Avant de continuer, il est important que vous sachiez que ce guide
- utilise une unique mesure de qualité : le PSNR global.
- Pour une brève explication du PSNR, voir
- <ulink url="http://fr.wikipedia.org/wiki/PSNR">l'article Wikipedia sur le PSNR</ulink>.
- Le PSNR global est le dernier nombre PSNR donné quand vous incluez l'option
- <option>psnr</option> dans <option>x264encopts</option>.
- Pour toutes les assertions faites sur le PSNR, il sera supposé un débit constant.
-</para>
-
-<para>
- Pratiquement tous les commentaires de ce guide supposent que vous effectuez
- un encodage en deux passes.
- Lors de la comparaison d'options, il y a deux raisons principales pour
- l'utilisation d'un encodage en deux passes.
- Premièrement, l'utilisation de deux passes permet souvent de gagner environ 1dB
- en PSNR, ce qui est une très grande différence.
- Deuxièmement, tester les options en faisant des comparaisons directes de
- qualité avec un encodage en une passe introduit est facteur d'erreur :
- le débit varie souvent de façon significative avec chaque encodage.
- Il n'est pas toujours facile de dire si les changements de qualité sont
- principalement dûs aux changements d'options, ou si ils
- reflètent essentiellement des différences aléatoires dans le débit atteint.
-</para>
-
-</sect3>
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>Options qui affectent principalement la vitesse et la qualité</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">subq</emphasis> :
- Des options qui vous permettent de jouer sur le compromis vitesse-qualité,
- <option>subq</option> et <option>frameref</option> (voir ci-dessous) sont
- habituellement de loin les plus importantes.
- Si vous êtes intéressés par le bidouillage soit de la vitesse soit de la
- qualité, ces options sont les premières que vous devriez prendre en
- considération.
- Sur la vitesse, les options <option>frameref</option>
- et <option>subq</option> interagissent entre elles assez fortement.
- L'expérience montre que, avec une image de référence,
- <option>subq=5</option> (le réglage par défaut) est environ 35% plus lent que
- <option>subq=1</option>.
- Avec 6 images de référence, la pénalité passe au dessus des 60%.
- L'effet de <option>subq</option> sur le PSNR semble assez constant
- indépendamment du nombre d'images de référence.
- Typiquement, <option>subq=5</option> résulte en un PSNR global supérieur de
- 0.2-0.5 dB par rapport à <option>subq=1</option>.
- C'est habituellement assez pour être visible.
-</para>
-<para>
- <option>subq=6</option> est le mode le plus lent et le plus élevé en qualité.
- Par rapport à <option>subq=5</option>, il gagne habituellement
- de 0.1-0.4 dB en PSNR avec des coûts en vitesse variant de 25% à 100%.
- A la différence des autres niveaux de <option>subq</option>, le comportement
- de <option>subq=6</option> ne dépend pas beaucoup de <option>frameref</option>
- et <option>me</option>. Au lieu de cela, l'efficacité de <option>subq=6</option>
- dépend principalement du nombre d'images B utilisées. Lors d'une utilisation
- normale, cela signifie que <option>subq=6</option> a un grand impact sur la
- vitesse et la qualité dans le cas de scènes d'action complexes,
- mais il peut ne pas avoir beaucoup d'effets sur les scènes avec peu de mouvements.
- Notez qu'il est recommandé de toujours régler <option>bframes</option>
- à des valeurs autres que zéro (voir ci-dessous).
-</para>
- <para>
- <option>subq=7</option> est le mode le plus lent, offrant la meilleure qualité.
- En comparaison de <option>subq=6</option>, il permet de gagner 0.01-0.05 dB en PSNR
- global avec un ralentissement de la vitesse d'encodage variant de 15 Ã 33%.
- Comme le compromis temps d'encodage/qualité est plutôt faible, il vaut mieux l'utiliser
- lorsque vous voulez sauver le maximum de bits et que le temps d'encodage ne vous pose pas de
- problème.
- </para>
-
-</listitem>
-<listitem><para>
- <emphasis role="bold">frameref</emphasis> :
- <option>frameref</option> est réglé à 1 par défaut, mais il ne faut pas penser que cela implique
- qu'il est raisonnable de le laisser à 1.
- Augmenter simplement <option>frameref</option> Ã 2 permet un gain de PSNR d'environ
- 0.15dB, avec une pénalité de 5-10% sur la vitesse; cela semble être
- un bon compromis.
- <option>frameref=3</option> gagne environ 0.25dB de PSNR par rapport Ã
- <option>frameref=1</option>, ce qui devrait être une différence visible.
- <option>frameref=3</option> est environ 15% plus lent que <option>frameref=1</option>.
- Malheureusement, les gains diminuent rapidement.
- <option>frameref=6</option> peut entraîner un gain de seulement 0.05-0.1 dB
- par rapport à <option>frameref=3</option> avec une pénalité de
- 15% sur la vitesse.
- Au delà de <option>frameref=6</option>, les gains en qualité sont
- habituellement très faible (bien que vous deviez garder à l'esprit
- à travers toute cette discussion que cela peut varier fortement selon la source vidéo utilisée).
- Dans un cas raisonnablement typique, <option>frameref=12</option> améliorera le PSNR
- global d'un minuscule 0.02dB par rapport à <option>frameref=6</option>,
- avec un surcoût sur la vitesse de 15%-20%.
- Avec des valeurs aussi élevées de <option>frameref</option>, la seule vraie bonne
- chose qui puisse être dite est que de l'augmenter même au delà ne
- <emphasis role="bold">nuira</emphasis> presque certainement jamais au PSNR,
- mais les bénéfices sur la qualité sont à peine mesurables, et encore
- moins perceptibles.
-</para>
-<note><title>Note :</title>
-<para>
- Augmenter <option>frameref</option> à des valeurs inutilement élevées
- <emphasis role="bold">peut affecter</emphasis> et <emphasis role="bold">habituellement affecte</emphasis>
- l'efficacité d'encodage si vous désactivez le CABAC.
- Avec le CABAC activé (comportement par défaut), la possibilité de régler
- <option>frameref</option> "trop haut" semble trop éloignée pour s'en inquiéter,
- et dans le futur, il est possible que des optimisations l'élimine complètement.
-</para>
-</note>
-
-<para>
- Si la vitesse vous intéresse, un compromis raisonnable est
- d'utiliser des valeurs de <option>subq</option> et <option>frameref</option> basses
- pour la première passe, et de les augmenter ensuite sur pour la seconde passe.
- Typiquement, cela a un effet négatif négligeable sur la qualité
- finale :
- vous perdrez probablement bien moins de 0.1dB en PSNR, ce qui devrait
- être une différence beaucoup trop faible pour être visible.
- Cependant, des valeurs différentes de <option>frameref</option> peuvent
- parfois affecter le choix du type de frame.
- Ce sont très probablement des cas périphériques rares, mais si vous voulez
- en être complètement certain, regardez si votre vidéo a soit des motifs
- plein écran, clignotants et répétitifs, soit de très
- grandes occlusions provisoires qui pourraient nécessiter une image I1.
- Ajustez le <option>frameref</option> de la première passe pour qu'il soit assez
- grand pour contenir la durée du cycle de clignotement (ou d'occlusion).
- Par exemple, si la scène fait clignoter deux images
- sur une durée de trois images, réglez le <option>frameref</option> de la
- première passe à 3 ou plus.
- Ce problème est probablement extrêmement rare sur des vidéos de type
- action, mais cela arrive quelquefois dans des captures de jeu vidéo.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">me</emphasis> :
- Cette option sert pour le choix de la méthode de recherche d'estimation de mouvement.
- Cette option modifie de manière directe le compromis entre qualité et vitesse.
- <option>me=dia</option> n'est plus rapide que de quelques pourcents par rapport Ã
- la recherche par défaut et entraîne une diminution du PSNR global inférieure à 0.1dB. Le
- paramètre par défaut (<option>me=hex</option>) est un compromis raisonnable
- entre vitesse et qualité. <option>me=umh</option> améliore de moins de 0.1dB le
- PSNR global avec une pénalité sur la vitesse variant en fonction
- de <option>frameref</option>. Pour de hautes valeurs de <option>frameref</option>
- (par exemple 12 ou plus), <option>me=umh</option> est environ 40% plus lent que le
- <option>me=2</option> par défaut. Avec <option>frameref=3</option>,
- la pénalité sur la vitesse chute à 25%-30%.
-</para>
-<para>
- <option>me=esa</option> utilise une recherche exhaustive qui est trop lente pour
- une utilisation pratique.
-</para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">partitions=all</emphasis> :
- Cette option autorise l'utilisation des sous-partitions 8x4, 4x8 et 4x4
- (en plus de celles présentes par défaut) dans
- les macroblocs prédits. L'autoriser résulte en une perte de vitesse raisonnablement
- consistente de 10%-15%. Cette option est plutôt inutile pour les videos sources contenant
- uniquements de faibles mouvements, particulièrement pour les sources avec
- beaucoup de petits objets en mouvement. Un gain d'environ 0.1dB peut être espéré.
-</para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">bframes</emphasis> :
- Si vous avez l'habitude d'encoder avec d'autre codecs, vous avez peut-être réalisé
- que les images B ne sont pas toujours utiles.
- Avec le H.264, ceci a changé : il y a de nouvelles techniques et types
- de blocs qui sont possibles avec les images B.
- Habituellement, même un algorithme de choix d'image B naïf peut avoir un
- bénéfice significatif sur le PSNR.
- Il est intéressant de noter que l'utilisation d'images B accélère
- habituellement légèrement la seconde passe, et peut aussi accélérer
- l'encodage en une seule passe si le choix adaptatif d'image B est désactivé.
-</para>
-<para>
- Avec le choix adaptatif d'image B désactivé
- (l'option <option>nob_adapt</option> de <option>x264encopts</option>),
- le réglage optimal n'est habituellement pas supérieur Ã
- <option>bframes=1</option>, sinon les scènes riches en mouvement vont en souffrir.
- Avec le choix adaptatif d'image B activé (le comportement par défaut), cela
- ne pose plus de problème d'utiliser des valeurs plus élevées;
- l'encodeur réduira l'utilisation d'images B dans les scènes où
- cela endommagerait la compression.
- L'encodeur choisi rarement d'utiliser plus de 3 ou 4 images B;
- régler cette option à une valeur plus élevée aura peu d'effet.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">b_adapt</emphasis> :
- Note : activé par défaut.
-</para>
-<para>
- Avec cette option activée, l'encodeur utilise une procédure de décision
- raisonnablement rapide pour réduire le nombre d'images B utilisées dans
- les scènes pour lesquelles leur utilisation n'apporterait pas grand-chose.
- Vous pouvez utiliser <option>b_bias</option> pour affiner la tendance
- de l'encodeur à insérer des images B.
- La pénalité de vitesse du chois adaptatif d'images B est actuellement
- plutôt modeste, mais il en est de même pour le potentiel gain en qualité.
- En général, cela ne fait pas de mal.
- Notez que cela affecte uniquement la vitesse et le choix du type d'image
- lors de la première passe.
- Les options <option>b_adapt</option> et <option>b_bias</option> n'ont pas
- d'effet lors des passages suivants.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis> :
- Vous pouvez aussi activer cette option si vous utilisez 2 images B ou plus;
- comme l'indique la page man, vous obtiendrez une faible amélioration de la
- qualité sans surcoût en vitesse.
- Notez que ces vidéos ne peuvent pas être lues avec les décodeurs basés sur
- libavcodec antérieurs au 5 mars 2005 (environ).
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">weight_b</emphasis> :
- En théorie, il n'y a beaucoup de gain à espérer de cette option.
- Cependant, dans les scènes de fondu, la prédiction
- pondérée permet d'économiser beaucoup en débit (kbit/s).
- Dans le MPEG-4 ASP, un fondu-au-noir est habituellement le mieux compressé
- en tant qu'une coûteuse série d'images I; utiliser la prédiction pondérée pour les
- images B permet d'en convertir au moins une partie images B bien plus légères.
- Le coût en durée d'encodage est minimal, étant donné qu'aucun choix
- supplémentaire n'a besoin d'être fait.
- Aussi, contrairement à ce que les gens semblent deviner, les besoins en puissance informatique
- du décodeur ne sont pas beaucoup affectés par la prédiction pondérée, tout
- le reste étant équivalent.
-</para>
-<para>
- Malheureusement, l'algorithme adaptatif de choix d'images B actuel
- a une forte tendance à éviter les images B pendant les fondus.
- Jusqu'à ce que cela change, cela peut être une bonne idée d'ajouter <option>nob_adapt</option>
- Ã votre <option>x264encopts</option> si vous pensez que les fondus auront un impact important
- dans votre vidéo.
-</para></listitem>
-<listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
-<para>
-<emphasis role="bold">threads</emphasis> :
-Cette option permet de lancer des threads autorisant ainsi l'encodage en parallèle sur plusieurs CPUs.
-Il est possible de choisir manuellement le nombre de threads à créer ou, mieux, d'utiliser
-<option>threads=auto</option> et laisser
-<systemitem class="library">x264</systemitem> détecter le nombre de CPU disponible et choisir
-le nombre de threads approprié.
-Si vous possédez une machine multi-processeurs, vous devriez songer à utiliser cette option.
-Elle permet d'augmenter la vitesse d'encodage linéairement en fonction du nombre de coeur de CPU
-(à peu prés de 94% par coeur), tout en impliquant une réduction de qualité minime
- (aux environs de 0.005dB pour un processeur double-coeurs, 0.01dB pour une machine quadri-coeurs).
-</para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>Options relatives à diverses préférences</title>
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Encodage en deux passes</emphasis> :
- On a suggéré ci-dessus de toujours utiliser un encodage en deux passages,
- mais il reste tout de même quelques raisons pour ne pas l'utiliser. Par exemple, si vous
- faites une capture de la télévision et l'encodez en temps réel, vous
- êtes obligé d'utiliser un encodage 1 passe.
- De plus, le 1 passe est évidemment plus rapide que le 2 passes;
- si vous utilisez exactement les mêmes options lors des 2 passes, l'encodage 2 passes
- est presque deux fois plus lent.
-</para>
-<para>
- Cependant, il y a de très bonnes raisons pour utiliser l'encodage 2 passes.
- D'une part, le contrôle de débit du mono-passe n'est pas medium et
- fait donc souvent des choix peu raisonnables parce qu'il n'a pas de vue d'ensemble
- de la vidéo. Par exemple, supposez que vous ayez une vidéo de deux minutes
- consistant en deux moitiés distinctes. La première moitié est une scène
- riche en mouvements qui dure 60 secondes qui, isolée, requière
- environ 2500kbit/s pour être correct. Suit immédiatement une
- scène de 60 secondes beaucoup moins exigeante qui peut être très bien Ã
- 300kbit/s. Supposez que vous demandiez 1400kbps en supposant
- que cela soit suffisant pour s'accomoder des deux scènes. Le contrôle de débit
- du mono-passe commettra des "fautes" dans un tel cas.
- Premièrement, il visera 1400kbit/s pour les deux segments. Le premier segment
- sera quantifié à l'excès et aura donc des artefacts de blocs de façon irrationnelle
- et inacceptable. Le second segment sera trop peu quantifié, il aura l'air parfait,
- mais le coût en débit de cette perfection sera complètement irrationnel.
- Ce qui est encore plus difficile à éviter est le problème de transition entre les 2 scènes.
- Les premières secondes de la seconde partie seront grandement surquantifiées, parce que
- le contrôle de débit s'attend encore aux exigences qu'il a rencontrées dans la première partie.
- Cette "période d'erreur" pendant laquelle les faibles mouvements sont sur-quantifiés
- aura l'air parkinsonien, et utilisera en réalité moins
- que les 300kbit/s qu'il aurait pris pour le rendre correct. Il y a des façons
- d'atténuer les pièges de l'encodage en simple passe, mais ils peuvent avoir
- tendance à augmenter les erreurs de prédiction de débit.
-</para>
-<para>
- Le contrôle du débit en multi-passes peut apporter d'énormes avantages par rapport
- au mono-passe. En utilisant les statistiques récupérées lors de la première
- passe d'encodage, l'encodeur peut estimer, avec une précision raisonnable, le "coût"
- (en bits) de l'encodage de n'importe quelle image, Ã n'importe quel
- quantificateur. Cela permet d'avoir une allocation des bits beaucoup plus
- rationnelle et mieux planifiée entre les scènes coûteuses (beaucoup de
- mouvements) et celles bon marché (peu de mouvements). Voir
- <option>qcomp</option> ci-dessous pour quelques suggestions sur la manière
- d'ajuster cette allocation à votre guise.
-</para>
-<para>
- De plus, l'encodage en deux passes ne prend pas nécessairement deux fois plus de temps
- que le simple passe. Vous pouvez jouer avec les options lors de la première passe
- pour avoir une vitesse plus élevée et une qualité plus faible.
- Si vous choisissez bien vos options, vous pouvez obtenir une première passe
- très rapide.
- La qualité résultante de la seconde passe sera légèrement plus basse parce
- que la prédiction de la taille sera moins précise, mais la différence de qualité
- sera normalement trop faible pour être visible. Essayez, par exemple,
- d'ajouter <option>subq=1:frameref=1</option> à la première passe <option>x264encopts</option>.
- Ensuite, sur la seconde passe, utilisez des options plus lentes pour avoir une
- meilleure qualité :
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Encodage en trois passes</emphasis> ?
- x264 offre la possibilité de faire un nombre arbitraire de passes consécutives.
- Si vous spécifiez <option>pass=1</option> lors de la première passe, puis
- utilisez <option>pass=3</option> pour la passe suivante, cette dernière passe
- lira les statistiques calculées lors du passage précédent, et écrira ses propres
- statistiques. Une autre passe suivante aura une très bonne base pour
- faire des prédictions très précises de tailles des images pour un quantificateur donné.
- En pratique, les gains sur la qualité d'ensemble sont généralement proches de zéro et
- il est très possible que la troisième passe donne un PSNR global plus faible que le précédent.
- Typiquement, le 3 passes aide si vous obtenez une mauvaise
- prédiction de débit ou un mauvais rendu lors des transitions de scènes
- quand vous utilisez seulement deux passes.
- Ceci peut se produire sur les clips extrêmement courts. Il y a aussi quelques
- cas spéciaux dans lesquels trois (ou plus) passes sont utiles pour les
- utilisateurs avancés, mais par souci de brièveté, ce guide ne traitera pas
- ces cas spéciaux.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis> :
- <option>qcomp</option> gère l'allocation des bits entre les images
- "coûteuses" des scènes riches en mouvement et celles "bon marché" des scènes de faible mouvement.
- La valeur minimale, <option>qcomp=0</option> s'emplie à réaliser un vrai débit constant.
- Typiquement, cela rendrait des scènes riches en mouvements vraiment laides,
- alors que les scènes plus statiques seraient absolument parfaites, mais cela
- utiliserait aussi beaucoup plus de bits que nécessaire pour les rendre excellentes.
- La valeur maximale, <option>qcomp=1</option> rend les paramètres de quantifications
- (QP) presque constants. Un QP constant donne un bon rendu, mais la plupart des
- gens pensent qu'il est plus raisonnable d'enlever quelques bits des scènes
- coûteuses (où la perte de qualité n'est pas aussi visible) et de les ré-allouer
- aux scènes qui sont plus faciles à encoder à une excellente qualité.
- <option>qcomp</option> vaut 0.6 par défaut, ce qui peut être légèrement
- trop faible au goût de nombre de personnes (0.7-0.8 sont aussi communément
- utilisées).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis> :
- <option>keyint</option> permet de jouer sur le compromis entre la
- précision de la navigation dans les fichiers et leur efficacité de compression.
- Par défaut, <option>keyint</option> est égal à 250.
- Sur des videos à 25 images par secondes, cela garantit que la navigation peut se faire
- avec une précision de 10 secondes.
- Si vous pensez qu'il est important et utile de pouvoir faire une recherche
- avec une granularité de 5 secondes, règlez à <option>keyint=125</option>;
- cela dégradera légèrement le rapport qualité/débit. Si vous vous souciez seulement
- de la qualité et non de la capacité à faire une recherche, vous pouvez le
- mettre à des valeurs beaucoup plus élevées (bien entendu, plus
- vous augmenterez, moins il aura de gain visuels).
- Le flux vidéo aura toujours des points de recherche tant qu'il y aura des changements de
- de scène.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">deblock</emphasis> :
- Ce sujet risque d'être une source de controverses.
-</para>
-<para>
- H.264 définit une procédure simple de déblocage sur les blocs I
- ayant des forces et des seuils pré-réglés en fonction du QP du
- bloc en question.
- Par défaut, les blocs à QP élevés sont fortement filtrés et les blocs à faible QP
- ne le sont pas du tout.
- Les forces pré-réglées définies par les standards sont bien choisies et
- il y a de grandes chances pour qu'elles soient optimales du point de vue du PSNR
- quel que soit la vidéo que vous encodez.
- Les paramètres de <option>deblock</option>
- vous permettent de spécifier des décalages par rapport aux seuils de déblocage pré-définis.
-</para>
-<para>
- Beaucoup de gens semblent penser que baisser grandement la force du filtre de
- déblocage (par exemple -3) est une bonne idée.
- Ce n'est cependant presque jamais le cas et dans la plupart des cas,
- ceux qui le font ne comprennent pas très bien comment le déblocage
- fonctionne par défaut.
-</para>
-<para>
- La première et plus importante chose à savoir à propos du filtre de déblocage
- de H264 est que les seuils par défaut sont presque toujours optimaux du point de vue du PSNR.
- Dans les rares cas où ils ne le sont pas, le décalage idéal est de plus ou
- moins 1.
- Décaler les paramètres de déblocage d'une plus grande valeur est presqu'une garantie de
- dégradation du PSNR.
- Augmenter la force du filtre diluera les détails; la baisser
- augmentera l'effet de bloc.
-</para>
-<para>
- C'est une mauvaise idée que de baisser les seuils de déblocage si
- votre source est principalement de faible complexité spatiale (c-à -d avec peu de
- détails ou de bruit).
- Le filtre de H264 réussit très bien à camoufler les artefacts qui se apparaissent.
- De toutes façons, si la complexité spatiale de la source est élevée, les
- artefacts sont moins discernables parce qu'ils tendent à ressembler
- à du détail ou du bruit.
- La vision humaine remarque facilement qu'un détail a été enlevé
- mais ne remarque pas si facilement quand un bruit est mal représenté.
- Quand il s'agit de qualité subjective, le bruit et les détails sont
- d'une certaine façon interchangeables.
- En baissant la force du filtre de déblocage, vous allez très probablement
- augmenter les erreurs en ajoutant des artefacts mais
- l'oeil ne les remarquera pas parce qu'il les confondra avec des détails.
-</para>
-
-<para>
- Cependant, ceci ne justifie <emphasis role="bold">toujours</emphasis> pas une diminution de
- la force du filtre de déblocage.
- Vous pouvez généralement obtenir une meilleure qualité de bruit lors du
- post-traitement.
- Si votre encodage en H.264 est trop flou ou sale, essayez de jouer avec
- <option>-vf noise</option> quand vous visionner votre film encodé.
- <option>-vf noise=8a:4a</option> devrait camoufler la plupart des artefacts légers.
- Cela aura l'air certainement mieux que ce que vous obtiendriez en jouant
- uniquement avec le filtre de déblocage.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>Exemples de paramètre d'encodage</title>
-
-<para>
- Les paramètres ci-dessous sont des exemples de différentes combinaisons
- d'option de compression qui affectent le compromis entre vitesse et
- qualité pour un même débit cible.
-</para>
-
-<para>
- Tous les paramètres d'encodage sont testés sur un échantillon vidéo Ã
- 720x448 à 30000/1001 images par seconde, le débit cible est à 900kbit/s, et la machine
- est un AMD-64 3400+ Ã 2400 MHz en mode 64 bits.
- Chaque paramètre d'encodage exploite la vitesse de compression mesurée (en
- images par seconde) et la perte de PSNR (en dB) en la comparant au paramètre
- de "très haute qualité".
- Veuillez comprendre que selon votre source, le type de votre machine et
- les derniers développements logiciels, vous pourrez obtenir des résultats
- très différents.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images/s)</entry><entry>Perte PSNR relative (en dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Très haute qualité</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Haute qualité</entry>
- <entry><option>subq=5:partitions=all:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13</entry>
- <entry>-0.89dB</entry>
-</row>
-<row>
- <entry>Rapide</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-</sect1>
-
-<sect1 id="menc-feat-video-for-windows">
-<title>Encoder avec la famille de codecs <systemitem class="library">Video For Windows</systemitem></title>
-
-<para>
-Video for Windows offre la possibilité d'encoder en utiliser les codecs vidéo binaires.
-Il est possible d'encoder avec les codecs suivants (si vous en connaissez
-d'autres, dites-le nous !)
-</para>
-<para>
-Notez que le support est très expériemental que que certains codecs peuvent
-ne pas fonctionner correctement.
-Certains codecs ne fonctionnent qu'avec certains espaces de couleur ;
-essayez les options <option>-vf format=bgr24</option> et <option>-vf format=yuy2</option>
-si un codec se plante ou donne un résulat étrange.
-</para>
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>Les codecs Video for Windows supportés</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
-<entry>Nom de fichier du codec Video</entry>
-<entry>Description (FourCC)</entry>
-<entry>md5sum</entry>
-<entry>Commentaire</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft lossless codec vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>nécessite <option>-vf format</option></entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV (lossless) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry>erreur shareware sous windows</entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry>crash sous Linux</entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry>-ffourcc VP70</entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>msulvc06.DLL</entry>
- <entry>MSU Lossless codec (MSUD)</entry>
- <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
- <entry>
- Décodable par <application>Window Media Player</application>,
- mais pas <application>MPlayer</application> (pour le moment).
- </entry>
-</row>
-<row>
- <entry>camcodec.dll</entry>
- <entry>CamStudio lossless video codec (CSCD)</entry>
- <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
- <entry>sf.net/projects/camstudio</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-La première colonne contient le nom du codec qui soit être donné après le
-paramètre <literal>codec</literal>, comme ceci :
-<option>-xvfwopts codec=divx.dll</option>.
-Le code FourCC utilisé par chaque codec est donné entre parenthèse.
-</para>
-<informalexample>
-<para>
-Exemple de conversion d'une bande annonce DVD ISO en un fichier video flash VP6
-en utilisant une configuration de débit compdata :
-<screen>
-mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>bande_annonce.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf
-</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-video-for-windows-bitrate-settings">
-<title>Utilisation de vfw2menc pour créer un fichier de configuration de codec.</title>
-
-<para>
-Afin d'encoder avec les codecs Video for Windows, il vous faut paramétrer le débit
-ainsi que d'autres options. Ceci fonctionne sur x86 sous *NIX et Windows.
-</para>
-<para>
-En premier lieu, vous devez compiler le programme <application>vfw2menc</application>.
-Il se trouve dans le sous-répertoire <filename class="directory">TOOLS</filename>
-de l'arborescence des sources de MPlayer.
-La compilation sous Linux peut se faire en utilisant
-<application>Wine</application> :
-<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
-Pour compiler sous Windows avec <application>MinGW</application> ou
-<application>Cygwin</application> tapez :
-<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
-Pour compiler avec <application>MSVC</application> vous aurez besoin de getopt.
-Getopt peut être obtenu dans l'archive d'origine de
-<application>vfw2menc</application> disponible ici :
-The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on
-win32</ulink> project.
-</para>
-<informalexample>
-<para>
-Ci-dessous un exemple avec le codec VP6.
-<screen>
-vfw2menc -f VP62 -d vp6vfw.dll -s premierepasse.mcf
-</screen>
-Ceci va ouvrir le fenêtre de dialolgue du codec VP6.
-Il faut répéter cette étape pour la seconde passe
-et utiliser <option>-s <replaceable>secondepasse.mcf</replaceable></option>.
-</para>
-</informalexample>
-
-<para>
-Les utilisateurs Windows peuvent utiliser
-<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option> pour faire
-apparaître la boîte de dialogue avant que l'encodage ne commence.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="menc-feat-quicktime-7">
-<title>Utiliser <application>MEncoder</application> pour créer
-des fichiers compatibles <application>QuickTime</application></title>
-
-<sect2 id="menc-feat-quicktime-7-why-use-it">
-<title>Pourquoi produire des fichiers compatibles
-<application>QuickTime</application> ?</title>
-
-<para>
-Il existe plusieurs raisons pour lesquelles il est souhaitable de produire des
-fichiers compatibles <application>QuickTime</application>
-</para>
-<itemizedlist>
-<listitem><para>
- Vous souhaitez que n'importe quel utilisateur non expérimenté soit capable
- de regarder votre vidéo sur les plateformes majeures (Windows, Mac OS X, Unices …).
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> est capable de tirer plus
- amplement profit des accélérations matérielles et logicielles
- de Mac OS X que les lecteurs plus indépendant de la plateforme
- comme <application>MPlayer</application> ou <application>VLC</application>.
- Ainsi, vos vidéos ont plus de chance d'être jouées sans accros sur de
- veilles machines basées sur des processeurs G4.
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> 7 supporte la nouvelle génération de
- codecs :
- H.264, qui offre une bien meilleure qualité d'image que la génération de
- codecs précédente (MPEG-2, MPEG-4 …).
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-constraints">
-<title>Limitations de <application>QuickTime</application></title>
-
-<para>
- <application>QuickTime</application> 7 supporte la vidéo en H.264 et l'audio en AAC,
- mais il ne les supporte pas multipléxés dans le format de container AVI.
- Cependant, vous pouvez utiliser <application>MEncoder</application> pour encoder
- la vidéo et l'audio, et ensuite utiliser un programme externe comme
- <application>mp4creator</application> (appartenant à la
- <ulink url="http://mpeg4ip.sourceforge.net/">suite MPEG4IP</ulink>)
- pour remultiplexer les pistes vidéos et audios dans un container MP4.
-</para>
-
-<para>
- Le support <application>QuickTime</application> du H.264 étant limité,
- il vous faudra laisser tomber certaines options avancées.
- Si vous encodez votre vidéo en utilisant des options que
- <application>QuickTime</application> 7 ne supporte pas,
- les lecteurs basés sur <application>QuickTime</application> afficheront
- un joli écran blanc au lieu de la vidéo attendue.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">trames-B</emphasis> :
- <application>QuickTime</application> 7 supporte un maximum d'une trame-B, i.e.
- <option>-x264encopts bframes=1</option>. Ainsi,
- <option>b_pyramid</option> et <option>weight_b</option> n'auront aucun
- effet car ces options requierent que <option>bframes</option> soit supérieure à 1.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Macroblocs</emphasis> :
- <application>QuickTime</application> 7 ne supporte pas les macroblocs de type 8x8 DCT.
- Cette option (<option>8x8dct</option>) est désactivée par défaut,
- donc soyez sûr de ne pas l'activer explicitement. Ceci signifie aussi que l'option
- <option>i8x8</option> n'aura aucun effet, car elle nécessite l'option <option>8x8dct</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Ratio d'aspect</emphasis> :
- <application>QuickTime</application> 7 ne supporte pas l'information sur le SAR (l'échantillonage
- de ratio d'aspect ou Sample Aspect Ratio) dans les fichiers MPEG-4; il suppose que SAR=1.
- Lisez <link linkend="menc-feat-quicktime-7-scale"> la section sur le redimensionnement</link> pour une
- parade à cette limitation.
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-crop">
-<title>Recadrage</title>
-<para>
- Supposons que vous voulez encoder votre DVD "Les chroniques de Narnia".
- Votre DVD étant de région 1, il est en NTSC. L'exemple ci-dessous serait aussi
- applicable au PAL, hormis qu'il faudrait omettre l'option <option>-ofps 24000/1001</option>
- et utiliser des dimensions pour <option>crop</option> et <option>scale</option>
- sensiblement différentes.
-</para>
-
-<para>
- Aprés avoir lancé <option>mplayer dvd://1</option>, vous suivez la procédure
- détaillée dans la section
- <link linkend="menc-feat-telecine">Comment gérer le téléciné et le dés-entrelacement avec les DVDs NTSC</link>
- et découvrez que c'est une vidéo progréssive en 24000/1001 image par seconde.
- Ceci simplifie quelque peu la procédure, car nous n'avons pas besoin d'utliser un filtre téléciné inverse
- comme <option>pullup</option> ou un filtre de désentrelacement comme
- <option>yadif</option>.
-</para>
-
-<para>
- Ensuite il faut rogner les bandes noires du haut et du bas de la vidéo,
- comme détaillé dans la section précédente.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-scale">
-<title>Redimensionnement</title>
-
-<para>
- La prochaine étape à de quoi vous briser le coeur.
- <application>QuickTime</application> 7 ne supporte pas les
- vidéos MPEG-4 avec échantillonage du ratio d'aspect différent de 1,
- de fait il vous faudra redimensionner à la hausse (ce qui gaspille
- beaucoup d'espace disque) ou à la baisse (ce qui diminue le niveau
- de détail de la source) la vidéo de façon à obtenir des pixels carrés.
- D'une manière ou d'une autre, cette opération est très inéficace, mais
- ne peut être evitée si vous souhaitez que votre vidéo soit lisible par
- <application>QuickTime</application> 7.
- <application>MEncoder</application> permet d'appliquer le redimensionnement
- à la hausse ou à la baisse en spécifiant respectivement
- <option>-vf scale=-10:-1</option> ou <option>-vf scale=-1:-10</option>.
- Ces options vont redimensionner la vidéo à la bonne largeur pour la hauteur rognée,
- arrondi au plus proche multiple de 16 pour une compression optimale.
- Rappelez vous que si vous rognez, vous devez d'abord rogner et ensuite
- redimensionner :
-
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-avsync">
-<title>Synchronisation de l'audio et de la vidéo</title>
-
-<para>
- Parce que vous allez remultiplexer dans un container différent,
- vous devriez toujours utiliser l'option <option>harddup</option>
- afin de s'assurer que les trames dupliquées soient effectivement
- dupliquées dans la vidéo de sortie. Sans cette option, <application>MEncoder</application>
- placera simplement un marqueur dans la flux vidéo signalant qu'une trame
- a été dupliquée, et délèguera au logiciel client l'initiative d'afficher
- la même trame deux fois. Malheureusement, cette "duplication douce" ne survivant pas
- au multiplexage, l'audio perdra lentement la synchronisation avec la vidéo.
-</para>
-
-<para>
- La chaîne de filtre résultante a cette forme :
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-bitrate">
-<title>Débit</title>
-
-<para>
- Comme toujours, le choix du débit est aussi bien une question de propriétés techniques
- de la source, comme expliqué
- <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">ici</link>, qu'une
- question de goût.
- Dans ce film, il y a pas mal d'action et beaucoup de détails, mais le H.264
- apparait plus beau que le XviD ou tout autre codec MPEG-4 à des débits moindres.
- Après moultes expérimentations, l'auteur de ce guide a choisi d'encoder ce film Ã
- 900kbps, et pense que le résultat est joli.
- Vous pouvez diminuer le débit si vous souhaitez sauver de la place,
- ou l'augmenter si vous voulez améliorer la qualité.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-example">
-<title>Exemple d'encodage</title>
-
-<para>
- Vous êtes maintenant prêt à encoder la vidéo. Comme vous
- tenez à la qualité, vous effectuerez un encodage en 2 passes, bien entendu.
- Pour sauver un peu de temps d'encodage, vous pouvez spécifier
- l'option <option>turbo</option> pour la première passe; cette option
- réduit <option>subq</option> et <option>frameref</option> à 1.
- Pour sauvegarder de l'espace disque vous pouvez utiliser l'option <option>ss</option>
- afin d'enlever les toutes premières secondes de la vidéo.
- (Je me suis aperçu que ce film a 32 secondes de générique et de logo.)
- <option>bframes</option> peut être 0 ou 1.
- Les autres options sont documentées dans <link
- linkend="menc-feat-x264-encoding-options-speedvquality">Encodage avec
- le codec <systemitem class="library">x264</systemitem></link> et la page
- de man.
-
- <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- Si vous possédez une machine multi-processeur, ne manquez pas l'opportunité
- d'augmenter grandement la vitesse d'encodage en activant
- <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
- le mode multi-thread du <systemitem class="library">x264</systemitem></link>
- en ajoutant <option>threads=auto</option> Ã votre ligne de commande <option>x264encopts</option>.
-</para>
-
-<para>
- La seconde passe est la même, excepté qu'il faut spécifier le fichier de sortie
- et mettre <option>pass=2</option>.
-
- <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-</para>
-
-<para>
- L'AVI résultant doit être parfaitement lu
- par <application>MPlayer</application>, mais bien entendu
- <application>QuickTime</application> ne peut le lire
- car il ne supporte pas le H.264 multiplexé dans de l'AVI.
- De fait, la prochaine étape est de remultiplexer la vidéo dans
- un container MP4.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-remux">
-<title>Remultiplexage en MP4</title>
-
-<para>
- Il existe différentes manières de remultiplexer des fichiers AVI en MP4.
- Vous pouvez utiliser <application>mp4creator</application>, qui fait parti de la
- <ulink url="http://mpeg4ip.sourceforge.net/">suite MPEG4IP</ulink>.
-</para>
-
-<para>
- Premièrement, demultiplexez l'AVI en un flux audio et un flux vidéo séparés
- en utilisant <application>MPlayer</application>.
- <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
- mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
-
- Les noms de fichier sont important; <application>mp4creator</application>
- nécessite que les flux audios AAC soient nommés <systemitem>.aac</systemitem>
- et les flux vidéos H.264 soient nommés <systemitem>.h264</systemitem>.
-</para>
-
-<para>
- Maintenant utilisez <application>mp4creator</application> pour créer
- un nouveau fichier MP4 depuis les flux audio et vidéo.
-
- <screen>mp4creator -create=narnia.aac narnia.mp4
- mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
-
- Contrairement à l'étape d'encodage, vous devez spécifier le nombre
- d'image par seconde comme une valeur décimale (par exemple 23.976), et non
- comme une valeur fractionnaire (par exemple 24000/1001).
-</para>
-
-<para>
- Le fichier <systemitem>narnia.mp4</systemitem> devrait être lisible
- par n'importe quelle application <application>QuickTime</application> 7,
- comme le <application>lecteur QuickTime</application> ou
- comme <application>iTunes</application>. Si vous planifiez de voir la
- vidéo dans un navigateur Internet avec le plugin <application>QuickTime</application>,
- vous devriez aussi renseigner le film de sorte que le plugin
- <application>QuickTime</application> puisse commencer à le lire
- pendant qu'il se télécharge. <application>mp4creator</application>
- peut créer ces pistes de renseignement :
-
- <screen>mp4creator -hint=1 narnia.mp4
- mp4creator -hint=2 narnia.mp4
- mp4creator -optimize narnia.mp4</screen>
-
- Vous pouvez vérifier le résultat final pour vous assurer
- que les pistes de renseignement ont été créées avec succès :
-
- <screen>mp4creator -list narnia.mp4</screen>
-
- Vous devriez voir une liste de pistes : 1 audio, 1 vidéo, et 2 pistes
- de renseignement
-
- <screen>Track Type Info
- 1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
- 2 video H264 Main at 5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
- 3 hint Payload mpeg4-generic for track 1
- 4 hint Payload H264 for track 2
- </screen>
-</para>
-
-</sect2>
-
-
-<sect2 id="menc-feat-quicktime-7-metadata">
-<title>Ajouter des tags de méta-données</title>
-
-<para>
- Si vous voulez ajouter des tags dans votre vidéo qui soient visible dans <application>iTunes</application>,
- vous pouvez utiliser
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
-
- <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- L'option <option>--metaEnema</option> efface toutes meta-données existantes.
- (<application>mp4creator</application> insère son nom dans le tag "encoding tool"),
- et <option>--freefree</option> récupère l'espace libéré par les méta-données effacées.
- L'option <option>--stik</option> paramétre le type de vidéo (tel que Film ou Show TV),
- qu'<application>iTunes</application> utilise pour grouper des fichiers vidéos similaires.
- L'option <option>--overWrite</option> écrase le fichier d'origine;
- sans cette option, <application>AtomicParsley</application> créé un fichier automatiquement
- nommé dans le même répertoire et laisse le fichier d'origine tel quel.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>Utiliser <application>MEncoder</application> pour créer des fichiers compatibles VCD/SVCD/DVD.</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>Contraintes de Format</title>
-<para>
- <application>MEncoder</application> est capable de créer des fichiers MPEG
- aux formats VCD, SCVD et DVD en utilisant la bibliothèque
- <systemitem class="library">libavcodec</systemitem>.
- Ces fichiers peuvent ensuite être utilisés avec
- <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
- ou
- <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
- pour créer des disques lisibles par une platine de salon standard.
-</para>
-
-<para>
- Les formats DVD, SVCD, et VCD sont très contraignants.
- Seule un faible nombre de résolutions et de formats d'image
- sont acceptés.
- Si votre film ne respecte pas ces conditions, vous devrez
- redimensionner, recadrer ou ajouter des bords noirs à l'image pour
- le rendre compatible.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>Contraintes de format</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
- <row>
- <entry>Format</entry>
- <entry>Résolution</entry>
- <entry>Codec vidéo</entry>
- <entry>débit vidéo en kbit/s</entry>
- <entry>Taux d'échantillonnage</entry>
- <entry>Codec audio</entry>
- <entry>débit audio en kbit/s</entry>
- <entry>images par seconde</entry>
- <entry>format d'image</entry>
- </row>
-</thead>
-<tbody>
- <row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (seulement pour 720x480)</entry>
- </row>
- <row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- Ces résolutions sont rarement utilisées pour les DVDs
- parce qu'elles sont d'assez basse qualité.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
- </row>
- <row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (seulement pour 720x576)</entry>
- </row>
- <row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
- </row>
- <row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
- </row>
- <row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224</entry>
- <entry>25</entry>
- <entry>4:3</entry>
- </row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
- Si votre film est au format 2,35:1 (la plupart des films d'action récents), vous
- devrez ajouter des bords noirs ou recadrer le film en 16:9
- pour faire un DVD ou un VCD.
- Si vous ajoutez des bords noirs, essayez qu'ils soient d'une épaisseur multiple
- de 16 de façon à minimiser l'impact sur la performance d'encodage.
- Le DVD a heureusement un débit suffisamment élevé pour que vous n'ayez pas trop
- à vous inquiéter pour l'efficacité de l'encodage, par contre, le SVCD et le VCD
- sont très limités en débit et demandent des efforts pour obtenir
- une qualité acceptable.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>Contraintes de Taille GOP</title>
-<para>
- Les DVD, VCD, et SVCD vous contraignent aussi à des tailles relativement basses
- de GOP (Group of Pictures ou "Groupe d'Images").
- Pour des vidéo à 30 images par secondes, la plus large taille de GOP permise est 18.
- Pour 25 ou 24 images par secondes, le maximum est 15.
- La taille du GOP est réglée en utilisant l'option <option>keyint</option>.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>Contraintes de débit</title>
-<para>
- Le format VCD requière que le débit de votre vidéo soit constant (CBR) à 1152 kbit/s.
- A cette forte contrainte, il faut ajouter la très petite taille de la mémoire
- tampon VBV : 327 kbits.
- Le SVCD autorise des débits vidéo variables jusqu'à 2500 kbit/s et une taille
- de mémoire tampon VBV légèrement moins restrictive de 917 kbits.
- Les débits vidéo DVD peuvent aller jusqu'à 9800 kbit/s
- (bien que les débits typiques soient d'à peu près la moitié) et la taille
- de la mémoire tampon VBV est de 1835 kbits.
-</para>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>Options de sortie</title>
-<para>
- <application>MEncoder</application> a des options de contrôle du format
- de sortie.
- En utilisant ces options nous pouvons lui dire de créer le type
- de fichier correct.
-</para>
-
-<para>
- Les options pour le VCD et le SVCD sont appelées xvcd et xsvcd, parce que ce
- sont des formats étendus.
- Elles ne sont pas strictement conformes, principalement parce que la sortie
- ne contient pas de décalages de scan.
- Si vous avez besoin de générer une image SVCD, vous devriez passer le fichier
- de sortie à <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
-</para>
-
-<para>
- VCD :
- <screen>
- -of mpeg -mpegopts format=xvcd
- </screen>
-</para>
-
-<para>
- SVCD :
- <screen>
- -of mpeg -mpegopts format=xsvcd
- </screen>
-</para>
-
-<para>
- DVD(avec estampille temporelle sur chaque image si possible) :
- <screen>
- -of mpeg -mpegopts format=dvd:tsaf
- </screen>
-</para>
-
-<para>
- DVD avec pullup NTSC :
- <screen>
- -of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001
- </screen>
- Ceci permet au contenu progressif à 24000/1001 images par secondes d'être encodé Ã
- 30000/1001 images par secondes tout en restant avec le format DVD.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>Format d'image</title>
-<para>
- L'argument <option>aspect</option> de <option>-lavcopts</option> est utilisé
- pour encoder le format d'image du fichier.
- Durant la lecture le format d'image est utilisé pour redonner à la vidéo
- la taille correcte.
-</para>
-
-<para>
- 16:9 ou "Ãcran Large"
- <screen>
- -lavcopts aspect=16/9
- </screen>
-</para>
-
-<para>
- 4:3 ou "Plein Ãcran"
- <screen>
- -lavcopts aspect=4/3
- </screen>
-</para>
-
-<para>
- 2,35:1 ou NTSC "Cinémascope"
- <screen>
- -vf scale=720:368,expand=720:480 -lavcopts aspect=16/9
- </screen>
- Pour calculer la taille de dimensionnement correcte, utilisez la largeur
- étendue NTSC de 854/2,35 = 368
-</para>
-
-<para>
- 2,35:1 ou PAL "Cinémascope"
- <screen>
- -vf scale="720:432,expand=720:576 -lavcopts aspect=16/9
- </screen>
- Pour calculer la taille de dimensionnement correcte, utilisez la largeur
- étendue PAL de 1024/2,35 = 432
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>Maintient de la synchronisation A/V</title>
-<para>
- Afin de maintenir la synchronisation audio/video lors de l'encodage,
- <application>MEncoder</application> doit dupliquer ou effacer des images.
- Cela marche plutôt bien lor du multiplexage dans un fichier AVI
- mais il est pratiquement garanti d'échouer à maintenir la synchronisation A/V
- avec d'autres conteneurs tel que le MPEG.
- C'est pourquoi il est nécessaire d'ajouter le filtre vidéo <option>harddup</option>
- à la fin de la chaîne de filtre pour éviter ce type de problème.
- Vous pouvez trouver plus de détails techniques sur <option>harddup</option>
- dans la section
- <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Améliorer la fiabilité du multiplexage et de la synchronisation Audio/Video</link>
- ou dans le manuel.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>Conversion du Taux d'échantillonnage</title>
-<para>
- Si le taux d'échantillonnage de l'audio du fichier original n'est pas le même
- que celui demandé par le format cible, la conversion du taux d'échantillonnage
- est nécessaire.
- Ceci est réalisé en utilisant ensemble l'option <option>-srate</option> et le
- filtre audio <option>-af lavcresample</option>.
- </para>
- <para>
- DVD :
- <screen>
- -srate 48000 -af lavcresample=48000
- </screen>
-</para>
-<para>
- VCD et SVCD :
- <screen>
- -srate 44100 -af lavcresample=44100
- </screen>
- </para>
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>Utiliser libavcodec pour l'encodage VCD/SVCD/DVD</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Introduction</title>
-<para>
- <systemitem class="library">libavcodec</systemitem> peut être utilisé pour créer
- des vidéos compatibles avec les standards VCD/SVCD/DVD en utilisant les options appropriées.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-<para>
- Ceci est une liste de champs de <option>-lavcopts</option> que
- vous pourriez avoir besoin de changer si vous voulez faire
- un film compatible VCD, SVCD, ou DVD :
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis> :
- <option>mp2</option> pour le VCD, le SVCD, ou le DVD PAL;
- <option>ac3</option> est plus communément utilisé pour le DVD.
- L'audio PCM peut aussi être utilisé pour le DVD, mais c'est principalement
- une grande perte d'espace.
- Notez que l'audio MP3 n'est compatible avec aucun de ces formats, cependant
- les lecteurs n'ont souvent aucun problème pour les jouer.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis> :
- (débit audio) 224 pour le VCD; jusqu'à 384 pour le SVCD; jusqu'à 1536 pour le DVD, mais
- utilise communément une gamme de valeurs de 192 kbit/s pour le stéréo Ã
- 384 kbit/s pour le son canaux 5.1.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis> :
- <option>mpeg1video</option> pour le VCD;
- <option>mpeg2video</option> pour le SVCD;
- <option>mpeg2video</option> est habituellement utilisé pour le DVD mais on peut
- aussi utiliser <option>mpeg1video</option> pour des résolutions CIF.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">keyint</emphasis> :
- Utilisé pour régler la taille du GOP.
- 18 pour les vidéo à 30 images par secondes, ou 15 pour les vidéos à 25/24 images par secondes.
- Les producteurs commerciaux semblent préférer des intervalles entre images clés de 12.
- Il est possible d'augmenter cette valeur et de rester compatible avec la
- plupart des lecteurs.
- Un <option>keyint</option> de 25 ne devrait jamais causer de problèmes.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis> :
- 327 pour le VCD, 917 pour le SVCD, et 1835 pour le DVD.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis> :
- 1152, pour le VCD. Peut être laissé de côté pour le SVCD et le DVD.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis> :
- 1152 pour le VCD; 2500 pour le SVCD; 9800 pour le DVD.
- Pour le SVCD et le DVD, vous pourriez vouloir utiliser des valeurs plus
- basses selon vos préférences et contraintes personnelles.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis> :
- (débit vidéo) 1152 pour le VCD;
- jusqu'Ã 2500 pour le SVCD;
- jusqu'Ã 9800 pour le DVD.
- Pour les deux derniers formats, les valeurs de vbitrate devrait être réglées
- selon vos goûts.
- Par exemple, si vous voulez vraiment faire tenir 20 heures ou plus sur un DVD,
- vous pouvez utiliser vbitrate=400.
- La qualité de la vidéo résultante sera probablement assez mauvaise.
- Si vous essayez d'avoir la qualité maximum possible sur un DVD, utilisez
- vbitrate=9800, mais sachez que cela pourrait vous forcer
- à ne stocker que moins d'une heure de vidéo sur un DVD simple couche.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>Exemples</title>
-<para>
- Ceci est un paramétrage typique minimal de <option>-lavcopts</option> pour
- encoder une vidéo :
-</para>
-<para>
- VCD :
- <screen>
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
- vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
- </screen>
-</para>
-
-<para>
- SVCD :
- <screen>
- -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
- keyint=15:acodec=mp2
- </screen>
-</para>
-
-<para>
- DVD :
- <screen>
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
- keyint=15:acodec=ac3
- </screen>
-</para>
-
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>Options Avancées</title>
-<para>
- Pour une qualité d'encodage plus élevée, vous pouvez aussi souhaiter ajouter
- des options d'amélioration de qualité à lavcopts, comme <option>trell</option>,
- <option>mbd=2</option> et autres.
- Notez que, bien que <option>qpel</option> et <option>v4mv</option> soient souvent
- utile avec le MPEG-4, elles ne sont pas utilisables avec MPEG-1 ou MPEG-2.
- Aussi, si vous essayez de créer un encodage DVD de très haute qualité,
- il peut être utile d'ajouter <option>dc=10</option> à lavcopts.
- Le faire peut aider à réduire l'apparition de blocs dans les zones de faible
- variations de couleurs.
- Pour résumer, la ligne suivante est un exemple de paramétrage de lavcopts
- pour un DVD de haute qualité :
-</para>
-
-<para>
- <screen>
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
- keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
- vqmin=1:lmin=1:dc=10
- </screen>
-</para>
-
-</sect3>
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>Encodage Audio</title>
-<para>
- Le VCD et SVCD supportent l'audio MPEG-1 layer II, en utilisant un des
- encodeurs MP2 <systemitem class="library">toolame</systemitem>,
- <systemitem class="library">twolame</systemitem>,
- ou <systemitem class="library">libavcodec</systemitem>.
- Le MP2 libavcodec est loin d'être aussi bon que les deux autres bibliothèques,
- cependant il devrait toujours être disponible en utilisation.
- Le VCD ne supporte que l'audio avec un débit constant (CBR) alors que le SVCD
- supporte aussi le débit variable (VBR).
- Soyez prudents lors de l'utilisation du VBR car certains mauvais lecteurs
- pourraient ne pas trop bien le supporter.
-</para>
-
-<para>
- Pour l'audio DVD, le codec AC-3 de <systemitem class="library">libavcodec</systemitem>
- est utilisé.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-<para>
- Pour un VCD et un SVCD :
- <screen>
- -oac toolame -toolameopts br=224
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-<para>
- Pour un VCD et un SVCD :
- <screen>
- -oac twolame -twolameopts br=224
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-<para>
- Pour un DVD avec un son 2 canaux :
- <screen>
- -oac lavc -lavcopts acodec=ac3:abitrate=192
- </screen>
-</para>
-<para>
- Pour un DVD avec un son 5,1 canaux:
- <screen>
- -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384
- </screen>
-</para>
-<para>
- Pour un VCD et un SVCD:
- <screen>
- -oac lavc -lavcopts acodec=mp2:abitrate=224
- </screen>
-</para>
-</sect3>
-
-</sect2>
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>Combiner le tout</title>
-<para>
- Cette section présente certaines commandes complètes pour créer des vidéos
- compatibles VCD/SVCD/DVD.
-</para>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>DVD PAL</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
- harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
- vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:\
- abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>DVD NTSC</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:480,\
- harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
- vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:\
- abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>AVI PAL Contenant Audio AC-3 vers DVD</title>
-<para>
- Si la source a déjà l'audio en AC-3, utilisez <option>-oac copy</option> au lieu de la réencoder.
- <screen>
- mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,\
- harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
- vbitrate=5000:keyint=15:aspect=16/9 -ofps 25 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>AVI NTSC Contenant Audio AC-3 vers DVD</title>
-<para>
- Si la source a déjà l'audio en AC-3, et est en NTSC @ 24000/1001 fps :
- <screen>
- mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>SVCD PAL</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
- vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>SVCD NTSC</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
- vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>VCD PAL</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
- vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>VCD NTSC</title>
-<para>
- <screen>
- mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
- vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/fr/faq.xml b/DOCS/xml/fr/faq.xml
deleted file mode 100644
index ff381db..0000000
--- a/DOCS/xml/fr/faq.xml
+++ /dev/null
@@ -1,1233 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--synced with r28707 -->
-<chapter id="faq" xreflabel="FAQ">
-<title>Foire Aux Questions</title>
-
-<qandaset defaultlabel="qanda">
-
-<qandadiv id="faq-development">
-<title>Développement</title>
-
-<qandaentry>
-<question><para>
-Comment puis-je créer un patch adapté pour <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Nous avons fait un <ulink url="../../tech/patches.txt">court document</ulink>
-décrivant tous les détails nécessaires. Merci de suivre les instructions.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je traduire <application>MPlayer</application> dans une nouvelle langue?
-</para></question>
-<answer><para>
-Lisez le <ulink url="../../tech/translations.txt">translation HOWTO</ulink>,
-il devrait tout expliquer. Vous pouvez obtenir de l'aide supplémentaire sur la liste de diffusion
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer-translations</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je supporter le développement de <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Nous sommes plus que contents d'accepter vos
-<ulink url="http://www.mplayerhq.hu/donations.html">dons</ulink>
-matériels et logiciels. Ils nous aident à améliorer continuellement <application>MPlayer</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je devenir un développeur <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Les codeurs et les "documenteurs" sont toujours les bienvenus. Lisez la
-<ulink url="../../tech/">documentation technique</ulink>
-pour avoir un premier aperçu. Ensuite vous devriez vous inscrire à la liste de diffusion
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-et commencer à coder. Si vous souhaitez apporter votre aide à la documentation, joignez la
-liste de diffusion <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Pourquoi n'utilisez-vous pas autoconf/automake?
-</para></question>
-<answer><para>
-Nous avons un système modulaire écrit à la main. Il fait un travail
-relativement bon, donc pourquoi changer ? Nous n'aimons pas les outils
-auto*, comme d'
-<ulink url="http://freshmeat.net/articles/view/889/">autres personnes</ulink>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-compilation-installation">
-<title>Compilation et installation</title>
-
-<qandaentry>
-<question><para>
-La compilation échoue avec une erreur et <application>gcc</application> parachute
-des messages cryptés contenant la phrase
-<systemitem>internal compiler error</systemitem> ou
-<systemitem>unable to find a register to spill</systemitem> ou
-<systemitem>can't find a register in class `GENERAL_REGS'
-while reloading `asm'</systemitem>..
-</para></question>
-<answer><para>
-Vous êtes tombé sur un bogue de <application>gcc</application>. S'il vous plait
-<ulink url="http://gcc.gnu.org/bugs.html">faites en part à l'équipe de gcc</ulink>
-mais pas à nous. Pour une quelconque raison <application>MPlayer</application> semble
-déclencher des bogues du compilateur de manière fréquente. Néanmoins nous ne pouvons les réparer et
-n'ajoutons pas du boulot en plus à nos sources pour les bogues de compilateur. Pour éviter ce problème,
-restez avec une version de compilateur reconnu pour être disponible et
-stable, ou mettez à niveau fréquemment.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Y'a-t-il des paquets binaires (RPM/Debian) de <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Voir les sections <link linkend="debian">Debian</link> et <link linkend="rpm">RPM</link>
-pour plus de détails.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je compiler un <application>MPlayer</application> 32 bit sur un Athlon 64 bit?
-</para></question>
-<answer><para>
-Essayer les options de configuration suivantes:
-<screen>
-./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Configure se termine par ce texte, et <application>MPlayer</application> ne compile pas !
-<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
-</para></question>
-<answer><para>
-Votre gcc n'est pas installé correctement, voir le fichier <filename>config.log</filename>
-pour plus de détails.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai une Matrox G200/G400/G450/G550, comment puis-je compiler/utiliser le pilote <systemitem>mga_vid</systemitem>?
-</para></question>
-<answer><para>
-Lisez la section <link linkend="mga_vid">mga_vid</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Pendant 'make', <application>MPlayer</application> se plaint à propos de librairies X11. Je ne comprends pas,
-J'ai <emphasis>VRAIMENT</emphasis> installé X11 !?
-</para></question>
-<answer><para>
-... mais vous n'avez pas installé les paquets X11 de développement. Ou pas correctement. Ils
-s'appellent <filename>XFree86-devel*</filename> sous Red Hat
-<filename>xlibs-dev</filename> sous Debian Woody, et
-<filename>libx11-dev</filename> sous Debian Sarge. Vérifiez également que les liens symboliques
-<filename class="directory">/usr/X11</filename> et
-<filename class="directory">/usr/include/X11</filename> existent.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Compiler sous Mac OS 10.3 donne plusieurs erreurs de lien</para></question>
-<answer>
-<para>
-Les erreurs de lien que vous avez ressemblent très probablement à ça:
-<screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
-</screen>
-Ce problème est le résultat des développeurs Apple utilisant 10.4 pour compiler
-leurs logiciels et distribuant les fichiers binaires aux utilisateurs de 10.3
-Ã travers Software Update.
-Les symboles non définis sont définis dans Mac OS 10.4, mais pas dans 10.3.
-Une solution pourrait être de repasser à la version 7.0.1 ou plus prédécente de Quicktime.
-Il existe une meilleure solution:
-</para>
-<para>
-téléchargez une <ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">copie plus ancienne du Frameworks</ulink>.
-Cela vous donnera un fichier compressé qui contient le Framework
-QuickTime 7.0.1 et un Framework QuartzCore 10.3.9.
-</para>
-<para>
-Décompressez les fichiers autrepart que sur votre System folder.
-(i.e. n'installez pas ce frameworks dans votre répertoire
-<filename class="directory">/System/Library/Frameworks</filename>!
-Cette ancienne copie n'est là que pour contourner leproblème des erreurs de lien!)
-<screen>
-gunzip < CompatFrameworks.tgz | tar xvf -
-</screen>
-Dans config.mak, vous devez rajouter
-<systemitem>-F/path/to/where/you/extracted</systemitem>
-Ã la variable <systemitem>OPTFLAGS</systemitem>.
-Si vous utilisez <application>X-Code</application>, il vous suffit de sélectionner ces
-frameworks au lieu de ceux du système.
-</para>
-<para>
-Le fichier binaire <application>MPlayer</application> résultant utilisera en fait
-le framework qui est installé sur votre système au travers de liens dynamiques résolus lors de l'exécution.
-(Vous pouvez le vérifier en utilisant <systemitem>otool -l</systemitem>).
-</para>
-</answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-general">
-<title>Questions générales</title>
-
-<qandaentry>
-<question><para>
-Y-a-t'il des listes de diffusion pour <application>MPlayer</application> ?
-</para></question>
-<answer><para>
-Oui. Voir la section
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">listes de diffusion</ulink>
-sur notre page web.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai trouvé un sale bogue quand j'essaie de lire ma vidéo préférée ! Qui dois-je
-informer ?
-</para></question>
-<answer><para>
-Veuillez lire <link linkend="bugreports">comment rapporter un bogue</link> et
-suivez les instructions.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai des problèmes pour lire les fichiers avec le codec ... . Puis-je l'utiliser ?
-</para></question>
-<answer><para>
-Regardez l'<ulink url="../../codecs-status.html">état des codecs</ulink>,
-si il ne contient pas votre codec, lisez le
-<ulink url="../../tech/win32-codec-howto">HOWTO importation des codecs Win32</ulink>
- et contactez-nous.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quand je démarre la lecture, j'obtiens ce message mais tout semble se dérouler normalement:
-<screen>Linux RTC init: ioctl (rtc_pie_on): Permission denied</screen>
-</para></question>
-<answer><para>
-Vous avez besoin d'un noyau configuré spécialement pour utiliser le
-code de timing RTC. Pour plus de détails, voir la section <link linkend="rtc">RTC</link> de la documentation.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je faire une copie d'écran ?
-</para></question>
-<answer><para>
-Vous devez utiliser un pilote de sortie vidéo qui n'utilise pas d'overlay pour
-pouvoir faire une copie d'écran. Sous X11, <option>-vo x11</option> peut le faire,
-sous Windows <option>-vo directx:noaccel</option> fonctionne.
-</para>
-<para>
-Alternativement vous pouvez lancer <application>MPlayer</application> avec le
-filtre vidéo <systemitem>screenshot</systemitem> (<option>-vf screenshot</option>),
-et pressez la touche <keycap>s</keycap> pour faire une capture d'écran.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quelle est la signification des nombres sur la ligne de commande ?
-</para></question>
-<answer><para>
-Exemple:
-<screen>
-A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>A: 2.1</systemitem></term>
- <listitem><para>position audio en secondes</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>V: 2.2</systemitem></term>
- <listitem><para>position vidéo en secondes</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V: -0.167</systemitem></term>
- <listitem><para>différence audio-video en secondes
- (décalage)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>ct: 0.042</systemitem></term>
- <listitem><para>correction de synchro A-V faite</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>57/57</systemitem></term>
- <listitem><para>trames lues/décodées (à partir du dernier
- déplacement)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>41%</systemitem></term>
- <listitem><para>utilisation CPU du codec vidéo en pourcents (pour les
- tranches et le rendu direct (Direct Rendering) ceci inclus
- video_out)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0%</systemitem></term>
- <listitem><para>utilisation CPU de video_out</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2.6%</systemitem></term>
- <listitem><para>utilisation CPU du codec audio en
- pourcents</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0</systemitem></term>
- <listitem><para>nombre de trames sautées pour maintenir la synchro
- A-V</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>4</systemitem></term>
- <listitem><para>niveau actuel de postprocessing (en utilisant
- <option>-autoq</option>)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>49%</systemitem></term>
- <listitem><para>taille actuelle du cache (environ 50% est
- normal)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>1.00x</systemitem></term>
- <listitem><para>vitesse de lecture en tant que facteur de la vitesse
- originale</para></listitem>
-</varlistentry>
-</variablelist>
-La plupart d'entre eux sont là pour des raisons de déboggage, utilisez l'option
-<option>-quiet</option> pour les faire disparaitre.
-Vous remarquerez que l'utilisation CPU de video_out est à zéro (0%) pour certains fichiers.
-C'est parcequ'il est appelé directement depuis le codec et donc ne peux pas être
-mesuré séparemment. Si vous désirez connaitre la vitesse de video_out, comparez
-la différence lorsque le fichier joue avec <option>-vo null</option> et
-votre habituel pilote de sortie vidéo.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Il y a des messages d'erreur à propos d'un fichier non-trouvé <filename>/usr/local/lib/codecs/</filename> ...
-</para></question>
-<answer><para>
-Téléchargez et installez les codecs binaires depuis notre
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">page des codecs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je faire en sorte que <application>MPlayer</application> se souvienne des options que
-j'ai utilisé pour un fichier en particulier, <filename>movie.avi</filename> par exemple?
-</para></question>
-<answer><para>
-Créez un fichier dénommé <filename>movie.avi.conf</filename> contenant les options spécifiques
-Ã ce fichier et placez-le dans <filename class="directory">~/.mplayer</filename>
-ou dans le même répertoire que le fichier.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Les sous-titres sont très jolis, les plus beaux que j'ai jamais vu, mais ils
-ralentissent la lecture! Je sais que ce n'est pas courant ...
-</para></question>
-<answer><para>
-Après avoir exécuté <filename>./configure</filename>, éditez <filename>config.h</filename>
-et remplacez <systemitem>#undef FAST_OSD</systemitem> par
-<systemitem>#define FAST_OSD</systemitem>. Ensuite recompilez.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je lancer <application>MPlayer</application> en tâche de fond ?
-</para></question>
-<answer><para>
-Utilisez:
-<screen>
-mplayer <replaceable>options</replaceable>
-<replaceable>nomfichier</replaceable> < /dev/null &
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-playback">
-<title>Problèmes de lecture</title>
-
-<qandaentry>
-<question><para>
-Je n'arrive pas à trouver la cause de certains problèmes étranges de lecture.
-</para></question>
-<answer><para>
-Avez-vous un fichier <filename>codecs.conf</filename> encore présent dans
-<filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
-<filename>/usr/local/etc/</filename> ou dans un endroit similaire? Supprimez-le,
-un fichier <filename>codecs.conf</filename> obsolète peut causer d'obscurs
-problèmes et ne doit être utilisé que par les développeurs travaillant sur le support
-de codec. Cela remplace les paramètres interne de codec de <application>MPlayer</application>,
-ce qui créera un désastre si des modifications incompatibles sont faites avec
-des versions plus récentes du logiciel. A moins qu'il soit utilisé par des experts, c'est une recette
-pour un désastre de telle facon qu'il est aléatoire et très dur à localiser des plantages et des problèmes
-de lecture. Si vous l'avez encore quelque part sur votre système, vous devriez le supprimer immédiatement.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je faire apparaitre les sous-titres sur les bandes noires autour d'un film?
-</para></question>
-<answer><para>
-Utilisez le filtre vidéo <systemitem>expand</systemitem> pour augmenter
- verticalement la zone sur laquelle le film est rendu et placer le film
-au niveau de la bande supérieure, par exemple:
-<screen>
-mplayer -vf expand=0:-100:0:0 -slang de dvd://1
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment sélectionner les pistes audio ou les sous-titres d'un DVD ou de fichiers
-OGM, Matroska ou NUT ?
-</para></question>
-<answer><para>
-Vous devez utiliser <option>-aid</option> (audio ID) ou <option>-alang</option>
-(audio language), <option>-sid</option>(subtitle ID) ou <option>-slang</option>
-(subtitle language), par exemple:
-<screen>
-mplayer -alang eng -slang eng <replaceable>exemple.mkv</replaceable>
-mplayer -aid 1 -sid 1 <replaceable>exemple.mkv</replaceable>
-</screen>
-Pour voir ceux qui sont disponibles:
-<screen>
-mplayer -vo null -ao null -frames 0 -v <replaceable>fichier</replaceable> | grep sid
-mplayer -vo null -ao null -frames 0 -v <replaceable>fichier</replaceable> | grep aid
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'essaie de lire un flux aléatoire depuis l'internet mais cela échoue.
-</para></question>
-<answer><para>
-Essayez de lire le flux avec l'option <option>-playlist</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai téléchargé un film sur un réseau P2P mais il ne fonctionne pas !
-</para></question>
-<answer><para>
-Votre fichier est probablement endommagé ou faux. Si vous l'avez obtenu par un
-ami, et qu'il dit qu'il fonctionne, essayez de comparer les sommes
-<application>md5sum</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai des problèmes pour afficher mes sous-titres, à l'aide!!
-</para></question>
-<answer><para>
-Assurez-vous d'avoir installé les polices correctement. Suivez les étapes de la
-partie <link linkend="fonts-osd">polices et OSD</link> de la section
-installation. Si vous utilisez des polices TrueType, vérifiez que la librairie
-<systemitem class="library">FreeType</systemitem> est installée.
-Vous pouvez aussi essayer de vérifier vos sous-titres dans un éditeur de texte
-ou avec d'autres lecteurs. Ou encore les convertir dans un autre format.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Pourquoi <application>MPlayer</application> ne fonctionne-t-il pas sur Fedora Core?
-</para></question>
-<answer><para>
-Il y a une mauvaise intéraction sur Fedora entre exec-shield, prelink, et toute
-application utilisant les DLLs Windows (comme <application>MPlayer</application>).
-</para>
-<para>
-Le problème est que exec-shield rend les adresses de chargement de toutes les
-librairies système aléatoires. Cela se produit durant la phase de prelink (une
-fois toutes les deux semaines).
-</para>
-<para>
-Quand <application>MPlayer</application> essaie de charger une DLL Windows
-il veut la placer à une adresse spécifique (0x400000). Si une librairie système
-importante s'y trouve déjà , <application>MPlayer</application> plantera
-(Un symptôme typique est un segmentation fault en essayant de lire des fichiers
-Windows Media 9).
-</para>
-<para>
-Si vous avez ce problème vous avez deux options:
-<itemizedlist>
-<listitem><para>
- Attendez deux semaines. Cela peut fonctionner de nouveau.
-</para></listitem>
-<listitem><para>
- Relinkez toutes les binaires du système avec des options de prelink
- différentes. Voici les étapes à suivre:
-</para>
-<procedure>
-<step><para>
- Ãditez <filename>/etc/syconfig/prelink</filename> et changez
- <programlisting>PRELINK_OPTS=-mR</programlisting> par <programlisting>
- PRELINK_OPTS="-mR --no-exec-shield"</programlisting>
-</para></step>
-<step><para>
- <command>touch /var/lib/misc/prelink.force</command>
-</para></step>
-<step><para>
- <command>/etc/cron.daily/prelink</command>
- (Cela relink toutes les applications, et peut prendre beaucoup de
- temps.)
-</para></step>
-<step><para>
- <command>execstack -s
- <replaceable>/chemin/vers/</replaceable>mplayer</command>
- (Cela désactive exec-shield pour le binaire
- <application>MPlayer</application>.)
- </para></step>
- </procedure>
-</listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> plante avec
-<screen>MPlayer interrupted by signal 4 in module: decode_video</screen>
-</para></question>
-<answer><para>
-N'utilisez pas MPlayer sur un CPU différent de celui sur lequel il a été compilé ou
-recompilez avec "runtime CPU detection"
-(<command>./configure --enable-runtime-cpudetection</command>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quand j'essaye de faire une capture depuis mon tuner, cela fonctionne,
-mais les couleurs sont étranges. C'est BON avec d'autres applications.
-</para></question>
-<answer><para>
-Votre carte probablement rapporte certains espaces de couleurs comme étant
-supportés alors qu'en fait elle ne les supporte pas. Essayez avec YUY2
-à la place de YV12 par défaut (voir la section <link linkend="tv-input">TV</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai des valeurs en pourcentage très étrange (vraiment trop grandes)
-lors de la lecture de fichiers sur mon portable.
-</para></question>
-<answer><para>
-C'est un effet de la gestion/économie d'énergie de votre portable
-(BIOS, pas le noyau). Branchez l'alimentation secteur
-<emphasis role="bold">avant</emphasis> d'allumer votre portable. Vous pouvez aussi
-voir si <ulink url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html">cpufreq</ulink>
-(une interface SpeedStep pour Linux) vous aide.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-L'audio/vidéo devient totalement désynchronisé quand je lance <application>MPlayer</application>
-en tant que root sur mon portable. Cela fonctionne normalement quand je le lance en tant que simple utilisateur.
-</para></question>
-<answer><para>
-C'est là encore un effet de la gestion d'énergie (voir ci-dessus). Branchez
-l'alimentation secteur <emphasis role="bold">avant</emphasis> d'allumer votre
-portable ou soyez sûr de ne pas utiliser l'option <option>-rtc</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Pendant qu'un film joue tout devient soudainement saccadé et j'obtiens le message suivant:
-<screen>Badly interleaved AVI file detected - switching to -ni mode...</screen>
-</para></question>
-<answer><para>
-Des fichiers avec un entrelacement très mauvais et <option>-cache</option> ne font pas très bon ménage ensemble.
-Essayez <option>-nocache</option>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-driver">
-<title>Problèmes de pilote vidéo/audio (vo/ao)</title>
-
-<qandaentry>
-<question><para>
-Quand je passe en mode plein écran j'obtiens juste des bandes noires autour de l'image
-et pas de réel agrandissement en mode plein écran.
-</para></question>
-<answer><para>
-Votre pilote de sortie vidéo ne supporte pas l'agrandissement en hardware et puisque l'agrandissement logiciel peut être incroyablement lent, <application>MPlayer</application>
-ne le fait pas automatiquement. Il est plus que probable que vous utilisez le pilote de sortie vidéo
-<systemitem>x11</systemitem> Ã la place de <systemitem>xv</systemitem>.
-Essayez d'ajouter <option>-vo xv</option> Ã la ligne de commande ou lisez la
-<link linkend="video">section vidéo</link> pour trouver
-les pilotes de sortie vidéo alternatif. L'option <option>-zoom</option>
-permet explicitement l'utilisation de l'agrandissement logiciel.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Je viens juste d'installer <application>MPlayer</application>. Quand je veux
-ouvrir un fichier vidéo cela provoque une erreur fatale:
-<screen>
-Error opening/initializing the selected video_out (-vo) device.
-</screen>
-Comment puis-je résoudre mon problème?
-</para></question>
-<answer><para>
-Modifiez juste votre périphérique de sortie vidéo. Lancez la commande suivante pour obtenir
-une liste des pilotes de sortie vidéo disponible:
-<screen>
-mplayer -vo help
-</screen>
-Après que vous ayez choisi le pilote de sortie vidéo correct, ajoutez le Ã
-votre fichier de configuration. Ajoutez
-<programlisting>
-vo = <replaceable>vo_sélectionné</replaceable>
-</programlisting>
-dans <filename>~/.mplayer/config</filename> et/ou
-<programlisting>
-vo_driver = <replaceable>vo_sélectionné</replaceable>
-</programlisting>
-dans <filename>~/.mplayer/gui.conf</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai des problèmes avec <replaceable>[votre gestionnaire de fenêtre]</replaceable>
-et les modes plein écran xv/xmga/sdl/x11 ...
-</para></question>
-<answer><para>
-Lire <link linkend="bugreports">comment rapporter un bogue</link> et envoyer nous
-un rapport de bogue en bonne et dû forme.
-Essayez aussi de tester avec l'option <option>-fstype</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-L'audio se désynchronise lors de la lecture d'un fichier AVI.
-</para></question>
-<answer><para>
-Essayez l'option <option>-bps</option> ou <option>-nobps</option>. Si cela ne
-s'améliore pas, lisez
-<link linkend="bugreports">comment rapporter un bogue</link>
-et téléchargez le fichier par FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je utiliser <application>dmix</application> avec
-<application>MPlayer</application>?
-</para></question>
-<answer><para>
-Après avoir configuré votre
-<ulink url="http://alsa.opensrc.org/index.php?page=DmixPlugin">asoundrc</ulink>
-vous devez utiliser <option>-ao alsa:device=dmix</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Je n'ai pas de son en jouant une vidéo et j'obtiens des messages d'erreur similaires à celui-ci:
-<screen>
-AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
-[AO OSS] audio_setup: Can't open audio device /dev/dsp: Device or resource busy
-Could not open/initialize audio device -> no sound.
-Audio: no sound
-Starting playback...
-</screen>
-</para></question>
-<answer><para>
-Vous êtes sous KDE ou GNOME avec le démon son aRtS ou ESD ? Essayez de désactiver le
-démon son, ou utilisez les options <option>-ao arts</option> ou <option>-ao esd</option>
-pour faire utiliser aRts ou ESD Ã <application>MPlayer</application>.
-Vous devriez aussi lancer ALSA sans l'émulation OSS, essayez de charger les modules ALSA OSS
-du noyau ou ajouter <option>-ao alsa</option> Ã votre ligne de commande pour
-directement utiliser le pilote ALSA de sortie audio.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quand je lance <application>MPlayer</application> sous KDE je n'obtiens qu'un
-écran noir et rien ne se passe. Après environ une minute la vidéo commence à défiler.
-</para></question>
-<answer><para>
-Le démon aRts de KDE bloque le périphérique son. Attendez que la vidéo se lance
-ou désactivez le démon aRts dans le centre de contrôle KDE. Si vous voulez
-utiliser le son aRts, spécifiez la sortie audio via notre pilote aRts audio natif
-(<option>-ao arts</option>). Si il échoue ou qu'il n'est pas compilé, essayez SDL
-(<option>-ao sdl</option>) et assurez-vous que SDL puisse gérer le son aRts. Un autre
-option est de lancer <application>MPlayer</application> avec artsdsp.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai des problèmes de synchro A/V. Certains de mes AVIs sont lus correctement, mais
-d'autres sont lus à double vitesse !
-</para></question>
-<answer><para>
-Vous avez une carte son/pilote boguée. Elle est certainement fixée à 44100Hz, et
-vous essayez de lire un fichier qui a de l'audio à 22050Hz.
-Essayez le filtre audio <systemitem>resample</systemitem>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quand je lis ce film j'obtiens des désynchro vidéo-audio et/ou <application>MPlayer</application>
-plante avec le message suivant:
-<screen>Too many (945 in 8390980 bytes) video packets in the buffer!
-</screen>
-</para></question>
-<answer><para>
-Il peut y avoir plusieurs raisons.
-<itemizedlist>
-<listitem><para>
-Votre CPU <emphasis role="bold">et/ou</emphasis> votre carte graphique <emphasis role="bold">et/ou</emphasis>
-votre bus est trop lent. <application>MPlayer</application> affiche un message si
-c'est le cas (et le compteur de trames sautées augmente vite).
-</para></listitem>
-<listitem><para>
-Si c'est un AVI, peut-être qu'il a un mauvais entrelacement. Essayez
-l'option <option>-ni</option> pour trouver une solution.
-Ou il a peut-être un mauvais entête, dans ce cas <option>-nobps</option>
-et/ou <option>-mc 0</option> peut aider.
-</para></listitem>
-<listitem><para>
- Beaucoup de fichiers FLV ne sont lus correctement qu'avec
- <option>-correct-pts</option>.
- Malheureusement, <application>MEncoder</application> n'a pas cette option
- mais vous pouvez essayer de régler <option>-fps</option>à la valeur
- correcte si vous la connaissez.
-</para></listitem>
-<listitem><para>
- Votre pilote son est bogué.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je me débarasser de la désynchronisation A/V lors d'une
-recherche sur des flux de type RealMedia?
-</para></question>
-<answer><para>
-l'option <option>-mc 10</option> peut aider.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-dvd">
-<title>Lecture DVD</title>
-
-<qandaentry>
-<question><para>
-Et a propos de la navigation et des menus DVD ?
-</para></question>
-<answer><para>
-<application>MPlayer</application> ne supporte pas les menus DVD à cause de sérieuses
-limitations architecturales qui empèchent de gérer correctement les images fixes
-et le contenu intéractif. Si vous voulez jouer avec des jolis menus, vous
-devrez utiliser un autre lecteur comme <application>xine</application>,
-<application>VLC</application> ou <application>Ogle</application>.
-Si vous voulez voir la navigation DVD dans <application>MPlayer</application>,
-vous devrez l'implémenter vous-même, mais soyez conscient que ce sera très
-dur.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Et à propos des sous-titres? Est-ce que MPlayer peut les afficher ?
-</para></question>
-<answer><para>
-Oui. Voir le <link linkend="dvd">chapitre DVD</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je changer le code de zone de mon lecteur DVD ? Je n'ai pas Windows !
-</para></question>
-<answer><para>
-Utilisez <ulink url="http://linvdr.org/projects/regionset/">l'outil regionset</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Je ne peux pas jouer un DVD, MPlayer décroche ou affiche des erreurs
-"Encrypted VOB file!".
-</para></question>
-<answer><para>
-Le code de décryptage CSS ne marche pas avec certains lecteurs DVD à moins que
-vous ne paramètriez le code de région de façon approprié. Voir la réponse à la
-question précédente.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Dois-je être en (setuid) root pour pouvoir lire un DVD ?
-</para></question>
-<answer><para>
-Non. Par contre vous devez avoir les droits appropriés sur le périphérique DVD
-(dans <filename class="directory">/dev/</filename>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Est-il possible de lire/encoder uniquement certains chapitres ?
-</para></question>
-<answer><para>
-Oui, essayez l'option <option>-chapter</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-La lecture de DVD est très lente !
-</para></question>
-<answer><para>
-Utilisez l'option <option>-cache</option> (décrite dans la page de man) et essayez
-d'activer le DMA pour le lecteur DVD avec l'outil <command>hdparm</command> (décrit
-dans le <link linkend="drives">chapitre CD</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'ai copié un DVD en utilisant vobcopy. Comment puis-je le lire/l'encoder depuis
-mon disque dur ?
-</para></question>
-<answer><para>
-Utilisez l'option <option>-dvd-device</option> pour préciser le répertoire qui
-contient les fichiers:
-<screen>
-mplayer dvd://1 -dvd-device <replaceable>/chemin/du/répertoire</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<qandadiv id="faq-features">
-<title>Demandes de fonctionnalités</title>
-
-<qandaentry>
-<question><para>
-Si est <application>MPlayer</application> est en pause et que j'essaie de me déplacer ou de presser
-n'importe quelle touche, <application>MPlayer</application> sort de pause. Je voudrais être capable de me
-déplacer dans la vidéo en pause.
-</para></question>
-<answer><para>
-C'est très compliqué a implémenter sans perdre la synchronisation A/V. Toutes
-les tentatives ont échouées jusqu'à présent, mais les patches sont les bienvenus.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'aimerais me déplacer de +/- 1 trame au lieu de 10 secondes.
-</para></question>
-<answer><para>
-Vous pouvez avancer d'une frame en avant en pressant <keycap>.</keycap>.
-Si le film n'était pas en pause, il se mettra en pause ensuite
-(voir les pages de man pour plus de détails).
-L'avance arrière n'est pas près d'être implémenté dans un proche avenir.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-encoding">
-<title>Encodage</title>
-
-<qandaentry>
-<question><para>
-Comment puis-je encoder ?
-</para></question>
-<answer><para>
-Lisez la section <link linkend="mencoder"><application>MEncoder</application></link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Cooment puis-je décharger un titre entier de DVD dans un fichier?
-</para></question>
-<answer><para>
-Une fois que vous avez sélectionné votre titre, et êtes sûr qu'il joue bien avec
-<application>MPlayer</application>, utilisez l'option <option>-dumpstream</option>
-Par exemple:
-<screen>
-mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable>
-</screen>
-déchargera le 5ème titre du DVD dans un fichier
-<replaceable>dvd_dump.vob</replaceable>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je créer des (S)VCDs automatiquement?
-</para></question>
-<answer><para>
-Essayez le script <filename>mencvcd.sh</filename> du sous-répertoire
-<filename class="directory">TOOLS</filename>. Avec lui vous pourrez encoder des DVDs
-ou d'autres films en format VCD ou SVCD et même les graver directement sur un CD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je créer des (S)VCDs?
-</para></question>
-<answer><para>
-Des versions plus récentes de <application>MEncoder</application> peuvent directement
-générer des fichiers MPEG-2 qui peuvent être utilisés comme une base pour créer un (S)SVCD et
-sont plus à même d'être joués sans modification sur n'importe quelle plateformes (par exemple
-pour partager une vidéo depuis une caméra numérique pour des amis qui n'y connaisse rien en
-informatique).
-Veuillez lire
-<link linkend="menc-feat-vcd-dvd">Utiliser MEncoder pour créer des fichiers compatible VCD/SVCD/DVD</link>
-pour plus de détails.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je joindre deux fichiers vidéos ?
-</para></question>
-<answer><para>
-Les fichiers MPEG peuvent être mis bout à bout en un seul fichier avec de la chance.
-Pour les fichiers AVI, vous pouvez utiliser le support de fichier multiple de
-<application>MEncoder</application> comme cela:
-<screen>
-mencoder -ovc copy -oac copy -o <replaceable>out.avi</replaceable> <replaceable>file1.avi</replaceable> <replaceable>file2.avi</replaceable>
-</screen>
-Cela ne marchera que si les fichiers sont de la même résolution
-et utilisent le même codec.
-Vous pouvez aussi essayer
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> et
-<application>avimerge</application> (font partie du panel d'outil de
-<ulink url="http://www.transcoding.org/">transcode</ulink>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je réparer des fichiers AVI avec un index cassé ou un mauvais entrelacement?
-</para></question>
-<answer><para>
-Pour éviter d'avoir à utiliser <option>-idx</option> pour pouvoir rechercher dans
-des fichiers AVI avec un index cassé ou <option>-ni</option> pour jouer des fichiers
-AVI avec un mauvais entrelacement, utilisez la commande
-<screen>
-mencoder <replaceable>input.avi</replaceable> -idx -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-pour copier les flux vidéo et audio dans un nouveau fichier AVI ce qui
-régénére l'index et entrelace correctement les données.
-Bien sûr cela ne peut pas réparer les possibles bogues présents dans les flux vidéo et/ou audio.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je réparer le format de l'image d'un fichier AVI?
-</para></question>
-<answer><para>
-Vous pouvez faire cela grâce à l'option <option>-force-avi-aspect</option>
-de <application>MEncoder</application>, ce qui prend le pas sur le format d'image stocké
-dans l'option vprp de l'en-tête du AVI OpenDML. Par exemple:
-<screen>
-mencoder <replaceable>entrée.avi</replaceable> -ovc copy -oac copy -o <replaceable>sortie.avi</replaceable> -force-avi-aspect 4/3
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je sauvegarder et encoder un fichier VOB avec un début défectueux?
-</para></question>
-<answer><para>
-Le principal problème quand vous voulez encoder un fichier VOB corrompu
-<footnote id='fn-corrupted-files-or-copy-protection'><para>
-D'une certaine manière, certaines formes de protection contre la copie utilisées dans les DVDs peuvent
-être assimilée à du contenu corrompu.
-</para></footnote>
-est qu'il sera difficile d'obtenir un encodage avec une parfaite synchronisation audio/video.
-une solution est de supprimer la partie corrompue et de n'encoder que la partie saine.
-Premièrement, vous avez besoin de trouver où commence la partie propre:
-<screen>
-mplayer <replaceable>entrée.vob</replaceable> -sb <replaceable>nb_d_octets_à _passer</replaceable>
-</screen>
-Puis vous pouvez créer un nouveau fichier qui contient juste la partie saine:
-<screen>
-dd if=<replaceable>entrée.vob</replaceable> of=<replaceable>sortie_coupée.vob</replaceable> skip=1 ibs=<replaceable>nb_d_octets_à _passer</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Je ne peux pas encoder les sous-titres en AVI!
-</para></question>
-<answer><para>
-Vous devez spécifier l'option <option>-sid</option> correctement!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je encoder seulement certains chapitres d'un DVD?
-</para></question>
-<answer><para>
-Utilisez l'option <option>-chapter</option> correctement, comme: <option>-chapter 5-7</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-J'essaie de travailler avec des fichiers de plus de 2Go sur un système de fichier VFAT. Ãa marche?
-</para></question>
-<answer><para>
-Non, VFAT ne supporte pas les fichiers plus gros que 2Go.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quel est le sens des nombres sur la ligne de status pendant l'encodage?
-</para></question>
-<answer><para>
-Exemple:
-<screen>
- Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2126:192]
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>position temporelle dans le flux encodé</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>6612f</systemitem></term>
- <listitem><para>number d'images encoded</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>( 2%)</systemitem></term>
- <listitem><para>pourcentage du flux d'entrée encodé</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>7.12fps</systemitem></term>
- <listitem><para>vitesse d'encodage en images par seconde</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>estimation du temps d'encodage restant</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2856mb</systemitem></term>
- <listitem><para>estimation de la taille finale de
- l'encodage</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>décalage actuel entre les flux audio et
- video</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>[2126:192]</systemitem></term>
- <listitem><para>
- débit video moyen (en ko/s) and débit audio moyen (in ko/s)
- </para></listitem>
-</varlistentry>
-</variablelist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Pourquoi le débit recommendé par <application>MEncoder</application> est négatif?
-</para></question>
-<answer><para>
-Parce que le débit avec lequel vous avez encodé l'audio est trop grand pour faire tenir le film sur un CD. Vérifiez que libmp3lame est installé correctement.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Je ne peux pas convertir un fichier ASF en AVI/MPEG-4 (DivX) car il utilise 1000 images par secondes?
-</para></question>
-<answer><para>
-Puisque ASF utilise un nombre d'images par seconde variable alors que AVI en utilise un fixe, vous devrez fixer le nombre d'images par seconde à la main avec l'option <option>-ofps</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je insérer des sous-titres dans le fichier de sortie ?
-</para></question>
-<answer><para>
-Passez simplement l'option <option>-sub <nom fichier></option> (ou <option>-sid</option>,
-respectivement) Ã <application>MEncoder</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je encoder uniquement le son d'une vidéo musicale ?
-</para></question>
-<answer><para>
-Cela n'est pas possible directement, mais vous pouvez essayer ça (notez le
-<emphasis role="bold">&</emphasis> Ã la fin de la commande
-<command>mplayer</command>):
-<screen>
-mkfifo <replaceable>encode</replaceable>
-mplayer -ao pcm -aofile <replaceable>encode</replaceable> dvd://1 &
-lame <replaceable>vos_options</replaceable>
-<replaceable>encode</replaceable> <replaceable>musique.mp3</replaceable>
-rm <replaceable>encode</replaceable>
-</screen>
-Cela vous permet d'utiliser n'importe quel encodeur, pas seulement <application>LAME</application>,
-remplacez simplement <command>lame</command> par votre encodeur audio préféré dans la
-commande ci-dessus.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Pourquoi est-ce que les lecteurs de tiers partie n'arrivent pas à jouer des films MPEG-4 encodé par
-des versions plus tardives que 1.0pre7 de <application>MEncoder</application>?
-</para></question>
-<answer><para>
-<systemitem class="library">libavcodec</systemitem>, la librairie d'encodage
-native MPEG-4 normalement incluse avec <application>MEncoder</application>,
-avait pour habitude de règler le FourCC à 'DIVX' quand il encode des vidéos MPEG-4
-(le FourCC est un tag AVI pour identifier le logiciel utilisé pour encoder et
-le logiciel destiné à être utilisé pour le décodage de la vidéo)
-Cela amène les gens à penser que
-<systemitem class="library">libavcodec</systemitem>
-était une librairie d'encodage pour DivX, alors qu'en fait c'est une librairie
-d'encodage pour MPEG-4 complètement différente qui implémente beaucoup mieux
-le standard MPEG-4 que DivX ne le fait.
-Ainsi, le nouveau FourCC par défaut utilisé par
-<systemitem class="library">libavcodec</systemitem> est 'FMP4', mais vous
-pouvez surpasser cette action en utilisant l'option <option>-ffourcc</option> de
-<application>MEncoder</application>.
-Vous pouvez aussi changer le FourCC des fichiers existant de la même façon:
-<screen>
- mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -ffourcc XVID
-</screen>
-Notez que cela règlera le FourCC à XVID plutôt que DIVX.
-Ceci est recommandé étant donné que DIVX FourCC signifie DivX4, ce qui est un codec MPEG-4
-très basic, alorsque DX50 et XVID tout deux signifie MPEG-4 complet (ASP).
-Donc, si vous changez le FourCC Ã DIVX, de mauvais logiciels ou lecteurs hardware
-peuvent cafouiller sur quelques fonctionalités avançées que
-<systemitem class="library">libavcodec</systemitem> supporte, mais que DivX
-ne supporte pas; d'autre part <systemitem class="library">Xvid</systemitem> est plus proche
-de <systemitem class="library">libavcodec</systemitem> en terme de
-fonctionalitiés, et il est supporté par tous les lecteurs digne de ce nom.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je encoder un fichier seulement audio?
-</para></question>
-<answer><para>
-Utilisez <filename>aconvert.sh</filename> du sous-répertoire
-<filename class="directory">TOOLS</filename>
-qui se situe dans l'arbre source de MPlayer.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Comment puis-je jouer les sous-titres inclus dans AVI?
-</para></question>
-<answer><para>
-Utilisez <filename>avisubdump.c</filename> du sous-répertoire
-<filename class="directory">TOOLS</filename> ou lisez
-<ulink url="http://xlife.zuavra.net/curse/0012/">ce document sur l'extraction/demultiplexage
-des sous-titres inclus dans les fichiers AVI OpenDML</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-MPlayer n'ira pas...
-</para></question>
-<answer><para>
-Voir le sous-répertoire <filename class="directory">TOOLS</filename>
-pour une collection de scripts et codes aléatoires.
-<filename>TOOLS/README</filename> contient la documentation.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-</qandaset>
-
-</chapter>
diff --git a/DOCS/xml/fr/install.xml b/DOCS/xml/fr/install.xml
deleted file mode 100644
index 46299bb..0000000
--- a/DOCS/xml/fr/install.xml
+++ /dev/null
@@ -1,492 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21155 -->
-
-<chapter id="install">
-<title>Installation</title>
-
-<para>
-Un guide d'installation rapide peut être trouvé dans le fichier <filename>README</filename>.
-Veuillez le lire d'abord et revenir ensuite ici pour le reste des détails.
-</para>
-
-<para>
-Dans ce chapitre, vous serez guidé à travers étapes de configuration et de
-compilation de <application>MPlayer</application>.
-Ce n'est pas facile, mais pas vraiment difficile non plus.
-Si vous observez un comportement différent de celui de ces explications,
-cherchez dans la doc et vous trouverez les réponses adéquates.
-</para>
-
-<sect1 id="softreq">
-<title>Logiciels nécessaires</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - la version conseillée est la <emphasis role="bold">2.11.x</emphasis> ou plus récente.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">gcc</emphasis> - les versions conseillées sont les
- versions 2.95 et 3.4 ou plus récentes.
- Les versions 2.96 et 3.0.x sont connues pour générer du code incorrect.
- Des problèmes plus ou moins graves existent avec les versions 3.1, 3.2 et 3.3.
- Sur les plateformes PowerPC, utilisez GCC 4.x.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">Xorg/XFree86</emphasis> - la version conseillée est la 4.3 ou
- plus récente.
- Assurez-vous que ses <emphasis role="bold">paquets de développement</emphasis>
- sont également installés, sinon cela ne fonctionnera pas.
- Si vous n'avez pas besoin de X, certains pilotes de sortie vidéo fonctionnent
- aussi sans.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">make</emphasis> - version conseillée 3.79.x ou plus
- récente.
- Pour contruire la documentation XML, vous devez utiliser au moins la version 3.80.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> - version 2.0.9 ou supérieure requise pour l'affichage des
- sous-titres et du OSD (On Screen Display).
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> - décodeur JPEG optionnel, utilisé
- par le pilote de sortie vidéo JPEG.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> - Décodeur (M)PNG optionnel,
- requis pour l'interface graphique et le pilote de sortie vidéo PNG.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - La version 3.90 ou plus récente est
- recommandé, requis pour l'encodage MP3 audio avec
- <application>MEncoder</application>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> - recommandé, nécessaire pour les
- en-têtes MOV compressés et le support PNG.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- - optionnel, requis pour lire certains flux RTSP/RTP.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - optionnel, utilisez la version
- 0.9.13 ou plus récente.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - optionnel, pour le support CDDA
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - optionnel, pour le support des plugins
- d'entrée de XMMS. Une version supérieure ou égale à 1.2.7 est requise.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - optionnel, pour le support réseau smb.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> - optionnel, pour le support de sortie audio ALSA.
- La version 0.9.0rc4 est le minimum requis.
- </para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<sect1 id="features">
-<title>Fonctionalités</title>
-
-<itemizedlist>
-<listitem><para>
- Si vous souhaitez une interface graphique (GUI), lisez la section <link linkend="gui">GUI</link> avant de compiler.
- </para></listitem>
-<listitem><para>
- Si vous voulez installer <application>MEncoder</application> (notre excellent
- encodeur multi-usages), voir la section <link linkend="mencoder"><application>MEncoder</application></link>.
- </para></listitem>
-<listitem><para>
- Si vous possédez une carte <emphasis role="bold">tuner TV</emphasis> compatible
- V4L, et désirez voir/enregistrer et encoder des films avec <application>MPlayer</application>, voyez la section
- <link linkend="tv-input">Entrée TV</link>.
- </para></listitem>
-<listitem><para>
- Si vous possédez un carte <emphasis role="bold">tuner radio</emphasis> compatible
- V4L, et désirez écouter et capturer du son avec <application>MPlayer</application>,
- lisez la rubrique <link linkend="radio">Entrée Radio</link>.
- </para></listitem>
-<listitem><para>
- Il y a un élégant <emphasis role="bold">Menu OSD</emphasis> prêt à être utilisé.
- Regardez la section <link linkend="osdmenu">menu OSD</link>.
- </para></listitem>
-</itemizedlist>
-
-<para>
-Ensuite compilez <application>MPlayer</application> :
-<screen>
-./configure
-make
-make install</screen>
-</para>
-
-<para>
-A ce point, <application>MPlayer</application> est prêt à fonctionner.
-Le répertoire <filename class="directory">$PREFIX/share/mplayer</filename>
-contient le fichier <filename>codecs.conf</filename>, qui est utilisé pour
-donner au programme la liste des codecs et de leurs capacités. Ce fichier n'est requis
-que si vous voulez changer ses propriétés, car le binaire principal en contient une
-copie interne. Vérifiez si vous avez un <filename>codecs.conf</filename> dans votre
-répertoire personnel (<filename>~/.mplayer/codecs.conf</filename>) provenant d'une
-ancienne installation de <application>MPlayer</application>, et supprimez-le.
-</para>
-
-<para>
-Notez que si vous avez un <filename>codecs.conf</filename> dans
-<filename>~/.mplayer/</filename>, les fichiers <filename>codecs.conf</filename>
-du système ou celui intégré seront complètement ignorés.
-Ne faites pas cela à moins de vouloir jouer avec le fonctionnement interne de
-<application>MPlayer</application> car cela peut poser des problèmes. Si vous voulez changer l'ordre de
-recherche des codecs, utilisez les options <option>-vc</option>, <option>-ac</option>,
-<option>-vfm</option>, ou <option>-afm</option> soit en ligne de commande soit dans
-votre fichier de config (voir la page de man).
-</para>
-
-<para>
-Les utilisateurs Debian peuvent construire un paquet .deb pour leur propre usage,
-c'est très simple. Exécutez
-<screen>fakeroot debian/rules binary</screen>
-dans le répertoire racine de <application>MPlayer</application>. Voir
-<link linkend="debian">Création de paquets Debian</link> pour de plus amples
-instructions.
-</para>
-
-<para>
-<emphasis role="bold">Regardez toujours le listing généré par</emphasis>
-<filename>./configure</filename>, ainsi que le fichier
-<filename>config.log</filename>, ils contiennent des informations sur
-ce qui sera compilé, et ce qui ne le sera pas. Vous pouvez également consulter
-les fichiers <filename>config.h</filename> et <filename>config.mak</filename>.
-Si vous avez quelques librairies installées, mais pas détectées par
-<filename>./configure</filename>, alors vérifiez que vous avez les fichiers
-d'en-tête (généralement les paquets -dev) et que leur version correspond. Le fichier
-<filename>config.log</filename> vous dit généralement ce qui manque.
-</para>
-
-<para>
-Bien que n'étant pas indispensables, les polices peuvent être installées pour
-l'affichage de l'OSD, et le support des sous-titres. La méthode recommandée est
-d'installer un fichier de police TTF et de dire à <application>MPlayer</application> de l'utiliser. Voir la
-section <link linkend="osdmenu">Sous-titres et OSD</link> pour les détails.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="gui">
-<title>Ã propos de l'interface graphique</title>
-
-<para>
-La GUI à besoin de GTK 1.2.x ou GTK 2.0 (elle n'est pas entièrement basée dessus, mais les
-menus le sont). Les skins sont stockées au format PNG, donc GTK,
-<systemitem class="library">libpng</systemitem> (ainsi que leurs paquets de dev,
-généralement nommés <systemitem class="library">gtk-dev</systemitem> et <systemitem class="library">libpng-dev</systemitem>)
-doivent être installés. Vous pouver la compiler en spécifiant l'option
-<option>--enable-gui</option> durant l'étape
-<filename>./configure</filename>. Ensuite, pour l'activer vous devrez exécuter
-le binaire <command>gmplayer</command>.
-</para>
-
-<para>
-<application>MPlayer</application> n'ayant pas de skin par défaut, vous
-devrez en télécharger si vous voulez utiliser la GUI. Voir la <ulink url="http://www.mplayerhq.hu/dload.html">page des téléchargements</ulink>.
-Ils devront être placés dans le répertoire commun habituel
-(<filename class="directory">$PREFIX/share/mplayer/skins</filename>),
- ou dans <filename class="directory">
-$HOME/.mplayer/skins</filename>.
-Par défaut, <application>MPlayer</application> consulte ces répertoires à la
-recherche d'un répertoire nommé <filename class="directory">default</filename>,
-mais vous pouvez utiliser l'option <option>-skin <replaceable>nouveauskin</replaceable></option>,
-ou placer <literal>skin=nouveauskin</literal> dans votre fichier de configuration
-pour utiliser le skin dans le répertoire <filename class="directory">*/skins/nouveauskin</filename>.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-
-<sect1 id="fonts-osd">
-<title>Polices et OSD</title>
-
-<para>
-Vous devez spécifier à <application>MPlayer</application> quelles polices utiliser
-pour l'OSD et les sous-titres. N'importe quelle police TrueType ou Bitmap devrait
-faire l'affaire. Cependant, les polices TrueType sont recommandés car elles ont
-un bien meilleur aspect, peuvent être mises à l'échelle correctement et gèrent mieux
-les différents jeux de caractères.
-</para>
-
-
-<sect2 id="truetype-fonts">
-<title>Police TrueType</title>
-
-<para>
-Il y a deux façons de rendre les polices TrueType opérationnelles. La première
-est de spécifier le nom du fichier de la police TrueType à utiliser grâce à l'option
-<option>-font</option>. Il peut être intéressant de placer
-cette option dans votre fichier de configuration (voir la page de manuel pour plus de détails).
-La seconde façon est de créer un lien symbolique (symlink) baptisé <filename>subfont.ttf</filename> pointant vers le fichier
-contenant la police de votre choix. Pour choisir une police commune à tous les utilisateurs, tapez
-<screen>ln -s <replaceable>/path/to/sample_font.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf</screen>
-Pour définir une police propre à chaque utilisateur, tapez
-<screen>ln -s <replaceable>/path/to/sample_font.ttf</replaceable> ~/.mplayer/subfont.ttf</screen>
-</para>
-
-<para>
-La compilation de <application>MPlayer</application> avec le support pour
-<systemitem class="library">fontconfig</systemitem> rend les méthodes ci-dessus inopérantes.
-En effet, <application>MPlayer</application> s'attend à ce que <option>-font</option> soit
-suivi d'un nom de police compatible avec <systemitem class="library">fontconfig</systemitem>
-et utilisera sans-serif par défaut.
-Un exemple :
-<screen>mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable></screen>
-</para>
-
-<para>
-Pour obtenir la liste des polices compatibles avec <systemitem class="library">fontconfig</systemitem>,
-executez <command>fc-list</command> dans la console.
-</para>
-</sect2>
-
-<sect2 id="bitmap-fonts">
-<title>Polices Bitmap</title>
-
-<para>
-Si pour une raison quelconque vous souhaitez ou devez employer des polices bitmap, téléchargez en un jeu
-depuis notre page web. Vous avez les choix entre différentes
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">polices ISO</ulink> et quelques autres
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">polices développées par des utilisateurs</ulink>
-supportant plusieurs encodages.
-</para>
-
-<para>
-Décompressez le fichier que vous avez téléchargé dans le répertoire
-<filename class="directory">~/.mplayer</filename> ou dans
-<filename class="directory">$PREFIX/share/mplayer</filename>.
-Ensuite, renommez ou créez un lien symbolique de l'un des répertoires ainsi créés vers
-le sous-repertoire
-<filename class="directory">font</filename>. Exemple :
-<screen>ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font</screen>
-<screen>ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font</screen>
-</para>
-
-<para>
-Les polices doivent disposer d'un fichier <filename>font.desc</filename>
-associant les positions des caractères unicode à l'encodage (NdT: code page) utilisés par le sous-titre.
-Une autre solution est d'encoder les sous-titres en UTF-8 et
-d'utiliser l'option <option>-utf8</option> ou de donner au fichier sous-titre
-le même nom qu'au fichier video avec une extension <filename>.utf</filename> et de le placer
-dans le même répertoire que la vidéo.
-</para>
-</sect2>
-
-
-
-<sect2 id="osdmenu">
-<title>Menu OSD</title>
-
-<para>
-<application>MPlayer</application> possède une interface de menu OSD complètement modulable.
-</para>
-
-<note><para>
-Le menu des préférences n'est PAS IMPLÃMENTà pour l'instant!
-</para></note>
-
-<orderedlist>
-<title>Installation</title>
-<listitem><para>
- compilez <application>MPlayer</application> en passant le paramètre <option>--enable-menu</option>
- Ã <filename>./configure</filename>
- </para></listitem>
-<listitem><para>
- assurez-vous que les polices OSD sont installées
- </para></listitem>
-<listitem><para>
- copiez <filename>etc/menu.conf</filename> dans votre répertoire
- <filename class="directory">.mplayer</filename>
- </para></listitem>
-<listitem><para>
- copiez <filename>etc/input.conf</filename> dans votre répertoire
- <filename class="directory">.mplayer</filename>, ou dans le fichier de config globale de
- <application>MPlayer</application> (par défaut: <filename class="directory">/usr/local/etc/mplayer</filename>)
- </para></listitem>
-<listitem><para>
- trouvez et éditez <filename>input.conf</filename> pour activer les touches
- correspondant aux mouvements dans le menu (c'est décrit sur place).
- </para></listitem>
-<listitem><para>
- lancez <application>MPlayer</application> avec par exemple :
- <screen>$ mplayer -menu <replaceable>fichier.avi</replaceable></screen>
- </para></listitem>
-<listitem><para>
- pressez n'importe laquelle des touches menu que vous avez définies
- </para></listitem>
-</orderedlist>
-
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="codec-installation">
-<title>Installation Codec</title>
-
-<sect2 id="xvid">
-<title>Xvid</title>
-
-<para>
-<ulink url="http://www.xvid.org">Xvid</ulink> est un logiciel libre
-de codec video conforme au MPEG-4 ASP. Notez qu'Xvid n'est pas nécessaire
-pour décoder des vidéos encodée par Xvid.
-<systemitem class="library">libavcodec</systemitem> est utilisé par défaut
-parce qu'il offre une vitesse supérieure.
-</para>
-
-<procedure>
-<title>Installer <systemitem class="library">Xvid</systemitem></title>
-<para>
- Comme la plupart des logiciels open source, il est disponible en deux
-parfums :
- <ulink url="http://www.xvid.org/downloads.html">versions officielle</ulink>
- et la version CVS.
- La version CVS est habituellement suffisament stable pour être utilisée,
- puisqu'elle bénéficie des corrections de bogues existant dans les versions
- officielles.
- Voici qui doit être fait pour faire fonctionner la version CVS de
- <systemitem class="library">Xvid</systemitem>
- avec <application>MEncoder</application> :
-</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
- </para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
- </para></step>
-<step><para>
- <screen>./bootstrap.sh</screen>
- </para></step>
-<step><para>
- <screen>./configure</screen>
- Vous pouvez avoir à ajouter des options (examinez la sortie de
- <command>./configure --help</command>).
- </para></step>
-<step><para>
- <screen>make && make install</screen>
- </para></step>
-<step><para>
- Si vous avez spécifié <option>--enable-divxcompat</option>,
- copiez <filename>../../src/divx4.h</filename> dans
- <filename class="directory">/usr/local/include/</filename>.
- </para></step>
-<step><para>
- Recompilez <application>MPlayer</application>.
- </para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x264">
-<title>x264</title>
-
-<para>
-<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
-is a library for creating H.264 video.
-<application>MPlayer</application> sources are updated whenever
-an <systemitem class="library">x264</systemitem> API change
-occurs, so it is always suggested to use
-<application>MPlayer</application> from Subversion.
-</para>
-
-<para>
-If you have a GIT client installed, the latest x264
-sources can be gotten with this command:
-<screen>git clone git://git.videolan.org/x264.git</screen>
-
-Then build and install in the standard way:
-<screen>./configure && make && make install</screen>
-
-Now rerun <filename>./configure</filename> for
-<application>MPlayer</application> to pick up
-<systemitem class="library">x264</systemitem> support.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="amr">
-<title>codecs AMR</title>
-<para>
-Le codec de voix Adaptive Multi-Rate est utilisé dans les téléphones mobiles de
-troisième génération (3G).
-L'implémentation de référence est disponible depuis
-<ulink url="http://www.3gpp.org">Projet d'Association sur la 3ème Génération</ulink>
-(gratuit pour un usage privé).
-</para>
-<para>
- Pour activer le support, téléchargez et installez les bibliothèques pour
- <ulink url="http://www.penguin.cz/~utx/amr">AMR-NB et AMR-WB</ulink> en
- suivant les instructions de cette page. Ensuite, recompilez
- <application>MPlayer</application>.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="rtc">
-<title>RTC</title>
-<para>
-Il y a trois méthodes de synchro dans <application>MPlayer</application>.
-
-<itemizedlist>
-<listitem><simpara>
-<emphasis role="bold">Pour utiliser l'ancienne méthode</emphasis>, vous n'avez
-rien à faire. Elle utilise <systemitem>usleep()</systemitem> pour régler la
-synchro A/V, avec une précision de +/- 10ms. Cependant parfois la synchro doit être
-réglée encore plus finement.
- </simpara></listitem>
-<listitem><para>
-<emphasis role="bold">Le nouveau code de synchro</emphasis> utilise la RTC
-(Real Time Clock) du PC pour cette tâche, car elle possède des timers précis à 1ms près.
-Utilisez l'option <option>-rtc</option> pour l'activer. Notez qu'un noyau correctement
-configuré est requis. Si vous executez une version du noyau supérieure ou égale à 2.4.19pre8,
-vous pouvez ajuster la fréquence maximale (de la RTC) accessible aux utilisateurs normaux grace au système
-de fichiers <systemitem class="systemname">/proc </systemitem>. Pour ceci, les commandes suivantes sont Ã
-votre disposition :
-<screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
-ou <screen>sysctl dev/rtc/max-user-freq=1024</screen>
-Vous pouvez rendre ce réglagle permanant en ajoutant la seconde commande au fichier
-<filename>/etc/sysctl.conf</filename>.
-</para>
-
-<para>
- Vous pouvez voir l'efficacité du nouveau timer sur la ligne d'état.
- Les fonctions de gestion de l'énergie des BIOS des certains portables
- avec des processeurs supportant SpeedStep ne font pas bon ménage avec la RTC.
- Le son et les images risquent d'être désynchronisés. Brancher le portable sur
- le secteur avant de le démarrer semble régler le problème dans la plupart des cas.
- Avec certaines configurations matérielles (confirmé par l'utilisation de lecteurs DVD ne supportant pas
- le DMA avec une carte-mère basée sur le chipset ALi1541), l'utilisation du timer RTC rend la lecture
- saccadée (NdT: skippy). Il est recommandé d'utiliser la troisième méthode dans ce cas.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">La troisième méthode de synchro</emphasis> est activée par l'option
- <option>-softsleep</option>. Elle a la précision de la RTC, mais n'utilise pas la RTC.
- D'un autre côté, elle nécessite plus de CPU.
- </para></listitem>
-</itemizedlist>
-</para>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/fr/mencoder.xml b/DOCS/xml/fr/mencoder.xml
deleted file mode 100644
index ec59844..0000000
--- a/DOCS/xml/fr/mencoder.xml
+++ /dev/null
@@ -1,823 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r24342 -->
-<chapter id="mencoder">
-<title>Utilisation basique de <application>MEncoder</application></title>
-
-<para>
-Pour avoir la liste complète des options disponibles de
-<application>MEncoder</application>
-et des exemples, voir la page du man. Pour une série d'exemples
-pratiques et de guides détaillés sur l'utilisation des nombreux
-paramètres d'encodage, lisez les
-<ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink> (en
-anglais) qui ont été collectés d'après de nombreux sujets de la
-liste de diffusion mplayer-users.
-Cherchez dans les
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">archives</ulink>
-pour trouver les discussions à propos de tous les aspects et
-problèmes relatifs à l'encodage avec <application>MEncoder</application>.
-</para>
-
-<sect1 id="menc-feat-selecting-codec">
-<title>Sélection des codecs et du format du container</title>
-
-<para>
-Les codecs sonores et vidéos sont sélectionnés respectivement
-avec l'option
-<option>-oac</option> et l'option <option>-ovc</option>.
-Par exemple :
-<screen>mencoder -ovc help</screen>
-permettra de lister tous les codecs vidéo supportés par la version
-de <application>MEncoder</application> sur votre machine.
-Les choix disponibles sont :
-</para>
-<para>
-Codecs Audio:
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Noms des codecs
-Audio</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
-<entry>mp3lame</entry>
-<entry>Encode en VBR, ABR ou CBR MP3 avec LAME</entry>
-</row>
-<row>
-<entry>lavc</entry>
-<entry>Utilise un des <link linkend="menc-feat-enc-libavcodec-audio-codecs">codecs audio
-<systemitem class="library">libavcodec</systemitem></link>.
-</entry>
-</row>
-<row>
-<entry>faac</entry>
-<entry>L'encodeur audio AAC FAAC</entry>
-</row>
-<row>
-<entry>toolame</entry>
-<entry>Encodeur Audio MPEG Layer 2 </entry>
-</row>
-<row>
-<entry>twolame</entry>
-<entry>L'encodeur Audio MPEG Layer 2 basé sur tooLAME</entry>
-</row>
-<row>
-<entry>pcm</entry>
-<entry>Format PCM audio non compressé</entry>
-</row>
-<row>
-<entry>copy</entry>
-<entry>Ne réencode pas, copie simplement les trames (déjà ) compressées</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Codecs Vidéo :
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Noms des codecs
-Vidéo</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
-<entry>lavc</entry>
-<entry>Utilise un des <link linkend="menc-feat-enc-libavcodec-video-codecs">codecs vidéo
-<systemitem class="library">libavcodec</systemitem></link>.
-</entry>
-</row>
-<row>
-<entry>xvid</entry>
-<entry>Le Xvid, un codec ASP MPEG-4 (Advanced Simple
-Profile)</entry>
-</row>
-<row>
-<entry>x264</entry>
-<entry>Le x264, un codec MPEG-4 AVC (Advanced Video Coding), aussi connu sous le nom de H.264</entry>
-</row>
-<row>
-<entry>nuv</entry>
-<entry>Le format vidéo nuppel, utilisé pour certaines applications
-temps réel.</entry>
-</row>
-<row>
-<entry>raw</entry>
-<entry>Frames vidéos non compressées</entry>
-</row>
-<row>
-<entry>copy</entry>
-<entry>Ne réencode pas, copie simplement les trames (déjà ) compressées</entry>
-</row>
-<row>
-<entry>frameno</entry>
-<entry>Utilisé pour l'encodage en 3 passes, (non recommandé)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-<para>
-Les options de sorties pour le type de container sont
-sélectionnées
-grâce à l'option <option>-of</option>.
-Tapez:
-<screen>mencoder -of help</screen>
-permettra de lister tous les codecs vidéo supportés par la version
-de <application>MEncoder</application> sur votre machine.
-Les choix disponibles sont :
-</para>
-<para>
-Container formats:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nom du format du
-Container</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
-<entry>lavf</entry>
-<entry>Un des containers supporté par
-<systemitem class="library">libavformat</systemitem>.</entry>
-</row>
-<row>
-<entry>avi</entry>
-<entry>Audio-Vidéo Interleaved</entry>
-</row>
-<row>
-<entry>mpeg</entry>
-<entry>MPEG-1 and MPEG-2 PS</entry>
-</row>
-<row>
-<entry>rawvideo</entry>
-<entry>Flux vidéo brut (un seul flux vidéo, pas de
-multiplexage)</entry>
-</row>
-<row>
-<entry>rawaudio</entry>
-<entry>Flux audio brut (un seul flux audio, pas de
-multiplexage)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Le container AVI est le container natif de
-<application>MEncoder</application>,
-ce qui veut dire que c'est le mieux supporté et que
-<application>MEncoder</application>
-a été conçu pour cela.
-Comme mentionné ci-dessus, d'autres formats de containers sont utilisables, mais
-vous risquez d'avoir certains problèmes à les utiliser.
-</para>
-
-
-
-<para>
-Containers <systemitem class="library">libavformat</systemitem> :
-</para>
-<para>
-Si vous avez sélectionné <systemitem class="library">libavformat</systemitem>
-pour le multiplexage du fichier de sortie (en utilisant l'option
-<option>-of lavf</option>),
-le choix du format du container sera déterminé en fonction de
-l'extention du fichier de sortie.
-Mais vous pouvez toujours forcer le format du container avec les
-options du <option>format</option> de <systemitem class="library">libavformat</systemitem>.
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Container <systemitem class="library">libavformat</systemitem>
-name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
-<entry>mpg</entry>
-<entry>MPEG-1 and MPEG-2 PS</entry>
-</row>
-<row>
-<entry>asf</entry>
-<entry>Advanced Streaming Format : Format évolué pour le
-streaming</entry>
-</row>
-<row>
-<entry>avi</entry>
-<entry>Audio-Video Interleaved</entry>
-</row>
-<row>
-<entry>wav</entry>
-<entry>Pour l'Audio</entry>
-</row>
-<row>
-<entry>swf</entry>
-<entry>Macromedia Flash</entry>
-</row>
-<row>
-<entry>flv</entry>
-<entry>vidéo Macromedia Flash</entry>
-</row>
-<row>
-<entry>rm</entry>
-<entry>RealMedia</entry>
-</row>
-<row>
-<entry>au</entry>
-<entry>SUN AU</entry>
-</row>
-<row>
-<entry>nut</entry>
-<entry>le container libre NUT (expérimental et ne respectant
-pas encore les spécifications)</entry>
-</row>
-<row>
-<entry>mov</entry>
-<entry>QuickTime</entry>
-</row>
-<row>
-<entry>mp4</entry>
-<entry>Format MPEG-4</entry>
-</row>
-<row>
-<entry>dv</entry>
-<entry>Container numérique des vidéos Sony (Digital Video)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Comme vous pouvez le voir, le <systemitem class="library">libavformat</systemitem>
-permet à <application>MEncoder</application> de multiplexer un
-grand
-nombre de
-containers différents.
-Malheureusement, comme <application>MEncoder</application> n'a pas
-été originalement crée pour le support de format de containers
-autre que l'AVI, vous devez vérifier à deux fois que le résultat
-est correct. Pensez ben à vérifier la synchronisation de
-l'audio avec la vidéo et que le fichier est lisible par un autre
-lecteur que <application>MPlayer</application>.
-</para>
-<example id="encode_to_macromedia_flash_format">
-<title>Encoder au format Macromedia Flash</title>
-<para>Exemple :</para>
-<para>
-Création d'une vidéo Macromedia Flash afin de la lire dans un
-navigateur internet ayant le plugin Macromedia Flash :
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o
-<replaceable>output.flv</replaceable> -of lavf -oac mp3lame
--lameopts abr:br=56 -ovc lavc \
--lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
--srate 22050
-</screen>
-</para>
-</example>
-
-</sect1>
-
-<sect1 id="menc-feat-selecting-input">
-<title>Sélection d'un fichier d'entrée ou un périphérique</title>
-
-<para>
-<application>MEncoder</application> peut encoder depuis un fichier
-ou directement depuis un DVD ou VCD.
-Il suffit simplement d'inclure le nom du fichier dans la ligne de
-commande pour encoder depuis un fichier ou avec l'option
-<option>dvd://</option><replaceable>numerochapitre</replaceable>
-ou
-<option>vcd://</option><replaceable>numéropiste</replaceable> pour
-encoder depuis un chapitre DVD ou une piste VCD.
-
-Si vous avez déjà copié le DVD sur votre disque dur (en
-utilisant par exemple un logiciel comme
-<application>dvdbackup</application>,
-généralement disponible sur la plupart des systèmes), et que vous souhaitez
-encoder depuis cette copie, vous devrez quand même utiliser la
-syntaxe <option>dvd://</option>, avec l'option
-<option>-dvd-device</option> pointant vers la racine du répertoire
-où se trouve le DVD copié
-Les options <option>-dvd-device</option> et
-<option>-cdrom-device</option>
-peuvent être aussi utilisées pour forcer le chemin vers le
-périphérique utilisé (ceux utilisés par défaut sont
-<filename>/dev/dvd</filename> et
-<filename>/dev/cdrom</filename>).
-</para>
-<para>
-Pour un encodage depuis un DVD, il est souvent préférable de
-selectionner un ou plusieurs chapitres à encoder.
-Vous pouvez utiliser l'option <option>-chapter</option> prévu
-Ã cet effet.
-Par exemple, <option>-chapter</option>
-<replaceable>1-4</replaceable>
-encodera seulement les chapitres 1 Ã 4 du DVD.
-Ceci est particulièrement utile si vous voulez faire un encodage
-sur 2 Cds soit 1400Mo.
-Ceci permettant de couper votre film sur un chapitre et non au
-milieu d'une scène.
-</para>
-<para>
-Si vous disposez d'une carte d'acquisition TV,
-vous pouvez sans soucis encoder le signal d'entrée.
-Utilisez l'option
-<option>tv://</option><replaceable>NuméroChaine</replaceable>
-comme nom de fichier et l'option <option>-tv</option> afin de
-configurer les nombreux paramètres de captures.
-Les entrées DVB marchent sur le même principe.
-</para>
-</sect1>
-
-<sect1 id="menc-feat-mpeg4">
-<title>Encodage MPEG-4 deux passes ("DivX")</title>
-
-<para>
-Le nom vient du fait que cette méthode encode le fichier
-<emphasis>deux fois</emphasis>.
-Le premier encodage (du mode deux passes) crée quelques
-fichiers temporaires (<filename>*.log</filename>) avec
-une taille de quelques méga-octets, ne les détruisez pas
-tout de suite (vous pouvez effacer l'AVI ou rediriger le
-flux vidéo vers <filename>/dev/null</filename>).
-Lors de la seconde passe, le fichier de sortie est créé, en
-utilisant les données bitrate des fichiers temporaires.
-Le fichier résultant aura une image de bien meilleure
-qualité. Si c'est la première fois que vous entendez
-parler de ça, vous devriez consulter les guides disponibles
-sur Internet.
-</para>
-
-<example id="copy_audio_track">
-<title>Copie de la piste audio</title>
-<para>
-Encodage deux passes du second chapitre d'un DVD vers de l'AVI
-MPEG-4 ("DivX") avec la simple copie de la piste audio.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o
-<replaceable>sortie.avi</replaceable>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>Encodage de la piste audio</title>
-<para>
-Encodage deux passes d'un DVD en AVI MPEG-4 ("DivX") avec la
-conversion
-de la piste audio en MP3.
-Soyez prudent en utilisant cette méthode car elle peut mener, dans certains cas,
-à des désynchronisation audio/vidéo.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-<sect1 id="menc-feat-handheld-psp">
-<title>Encodage au format vidéo Sony PSP</title>
-
- <para>
- <application>MEncoder</application> supporte l'encodage au format
- Sony PSP.
- Cependant les contraintes peuvent différer suivant la version
- actuelle du logiciel PSP.
- Le respect des contraintes suivantes devrait vous permettre
- d'encoder sans problème :
- <itemizedlist>
- <listitem><para>
- <emphasis role="bold">Débit vidéo</emphasis>: il ne devrait pas être
- supérieur à 1500kbps. Cependant, les dernières versions supportent
- presque tous les débits tant que l'en-tête rapporte une
- valeur raisonable.
- </para></listitem>
- <listitem><para>
- <emphasis role="bold">Dimensions</emphasis>: la largeur et la
- hauteur de la video PSP doivent être multiples de 16 et le produit
- largeur * hauteur doit être <= 64000.
- Dans certaines circonstances, la PSP est capable de lire des
- résolutions supérieures.
- </para></listitem>
- <listitem><para>
- <emphasis role="bold">Audio</emphasis>: le taux d'échantillonage
- doit être fixé à 24kHz pour les vidéos MPEG-4 et à 48kHz pour les H.264.
- </para></listitem>
- </itemizedlist>
- </para>
-
- <example id="encode_for_psp">
- <title>Encodage pour PSP</title>
- <para>
- <screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
- <replaceable>entree.video</replaceable> -o <replaceable>sortie.psp</replaceable>
- </screen>
- Vous pouvez définir le titre de la vidéo avec
- <option>-info name=<replaceable>TitreDuFilm</replaceable></option>.
- </para>
- </example>
-</sect1>
-
-<sect1 id="menc-feat-mpeg">
-<title>Encodage au format MPEG</title>
-<para>
-<application>MEncoder</application> peut créer des fichiers au
-format MPEG (MPEG-PS).
-Habituellement, vous utilisez des formats vidéos comme le
-MPEG-1 ou MPEG-2 pour l'encodage vers des formats avec des contraintes spécifiques
-comme le SVCD, VCD, ou encore le DVD.
-Les exigences particulières de ces formats sont expliqués dans
-la section du
-<link linkend="menc-feat-vcd-dvd">guide de création d'un VCD ou DVD</link>.
-</para>
-<para>
-Pour changer le format du fichier final produit par
-<application>MEncoder</application>
-utilisez l'option <option>-of mpeg</option>.
-</para>
-
-<informalexample>
-<para>
-Exemple :
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -ovc lavc
--lavcopts vcodec=mpeg1video -oac copy
-<replaceable>autres_options</replaceable> -o
-<replaceable>sortie.mpg</replaceable>
-</screen>
-Création d'un fichier MPEG-1 lisible sur un système basique
-comme peu l'être un MS Windows fraîchement installé :
-<screen>
-mencoder <replaceable>entree.avi</replaceable> -of mpeg -mpegopts
-format=mpeg1:tsaf:muxrate=2000 -o
-<replaceable>output.mpg</replaceable> -oac lavc -ovc lavc \
--lavcopts acodec=mp2:abitrate=224:vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-Le même encodage, mais en utilisant le multiplexeur MPEG <systemitem class="library">libavformat</systemitem> :
-<screen>
-mencoder <replaceable>entree.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>Astuce:</title>
-<para>
-Si, pour quelques raisons, la qualité vidéo de la seconde passe
-n'est pas satisfaisante, vous pouvez recommencer l'encodage avec
-un débit cible différent, à condition que vous ayez sauvegardé
-le fichier de statistiques de la passe précédente.
-Ceci est possible car le rôle premier du fichier de statistiques
-est d'enregistrer la compléxité de chaque trame, ce qui ne dépend pas
-fortement du débit. Cependant, if faut noter que vous obtiendrez de meilleurs
-résultats si toutes les passes utilisent un débit cible similaire.
-</para>
-</note>
-</sect1>
-
-
-<sect1 id="menc-feat-rescale">
-<title>Redimensionnement des films</title>
-
-<para>
-Souvent le besoin de redimensionner les images d'un film se fait
-sentir.
-Les raisons peuvent être multiples: diminuer la taille du fichier,
-la bande passante du réseau, etc.
-La plupart des gens redimensionnent même en convertissant des DVDs
-ou SVCDs en AVI DivX.
-Si vous désirez redimensionner, lisez la section
-<link linkend="aspect">Préserver le ratio d'aspect</link>.
-</para>
-
-<para>
-Le processus de zoom est géré par le filtre vidéo
-<literal>scale</literal>:
-<option>-vf scale=<replaceable>largeur</replaceable>:<replaceable>hauteur</replaceable></option>.
-Sa qualité peut être réglée avec l'option <option>-sws</option>.
-Si elle n'est pas spécifiée, <application>MEncoder</application>
-utilisera 2: bicubique.
-</para>
-
-<para>
-Utilisation :
-<screen>
-mencoder <replaceable>entree.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-<sect1 id="menc-feat-streamcopy">
-<title>Copie de flux</title>
-
-<para>
-<application>MEncoder</application> peut gérer les flux entrant de
-deux façons: les
-<emphasis role="bold">encoder</emphasis> ou les <emphasis role="bold">copier</emphasis>
-Cette section parle de la <emphasis role="bold">copie</emphasis>.
-</para>
-
-<itemizedlist>
-<listitem><para>
-<emphasis role="bold">Flux vidéo</emphasis> (option <option>-ovc
-copy</option>) :
-on peut faire des choses sympa :) comme, placer (pas convertir) de
-la vidéo FLI
-ou VIVO ou MPEG1 dans un fichier AVI ! Bien sûr seul
-<application>MPlayer</application>
-peut lire de tels fichiers :) et ça n'a probablement aucun
-intérêt.
-Concrètement: copier des flux vidéos peut être utile par exemple
-quand seul le flux audio doit être encodé (comme du PCM
-non-compressé en MP3).
-</para></listitem>
-<listitem><para>
-<emphasis role="bold">Flux audio</emphasis> (option <option>-oac
-copy</option>):
-très simple. Il est possible de prendre un fichier audio
-externe (MP3, WAV) et de le multiplexer dans le flux
-sortant.
-Utilisez l'option <option>-audiofile
-<replaceable>nomfichier</replaceable></option> pour cela.
-</para></listitem>
-</itemizedlist>
-<para>
-En utilisant l'option <option>-oac copy</option> pour copier d'un
-format de container vers un autre format, il faudrait utiliser
-l'option <option>-fafmttag</option> pour préserver les marqueurs
-originaux du format du fichier audio.
-Par exemple, si vous convertissez un fichier NSV avec de
-l'audio en ACC vers un container AVI, le format du marqueur
-audio sera incorrect et devra être changé.
-Pour visualiser la liste des marqueurs des formats audio,
-jetez un coup d'oeil à <filename>codecs.conf</filename>.
-</para>
-
-<para>
-Exemple:
-<screen>
-mencoder <replaceable>entree.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-
-</sect1>
-
-<sect1 id="menc-feat-enc-images">
-<title>Encodage à partir de nombreux fichiers Image (JPEG,
-PNG, TGA,
-SGI)</title>
-
-<para>
-<application>MEncoder</application> est capable de créer des
-fichiers
-Ã partir de un ou plusieurs fichiers JPEG, PNG ou TGA.
-Avec une simple copie de trame il peut créer
-des fichiers MJPEG (Motion JPEG), MPNG (Motion PNG) ou MTGA
-(Motion TGA).
-</para>
-
-<orderedlist>
-<title>Explication du fonctionnement :</title>
-<listitem><para>
-<application>MEncoder</application>
-<emphasis>décode</emphasis> le(s) image(s)
-d'origine(s) avec <systemitem class="library">libjpeg</systemitem>
-(pour décoder
-des PNGs, il utilisera <systemitem class="library">libpng</systemitem>).
-</para></listitem>
-<listitem><para>
-<application>MEncoder</application> envoie alors l'image
-décodée au
-compresseur
-vidéo choisi (DivX4, Xvid, ffmpeg msmpeg4, etc.).
-</para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>Exemples</title>
-<para>
-Une explication de l'option <option>-mf</option> peut être trouvée
-dans la page de man.
-
-<informalexample>
-<para>
-Créer un fichier Mpeg-4 à partir de tous les fichiers JPEG du
-répertoire courant:
-<screen>
-mencoder -mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc
--lavcopts vcodec=mpeg4 -oac copy -o
-<replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Créer un fichier MPEG-4 à partir de quelques fichiers JPEG du
-répertoire courant:
-<screen>
-mencoder
-mf://<replaceable>trame001.jpg,trame002.jpg</replaceable> -mf
-w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell
--oac copy -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Création d'un fichier MPEG4 depuis une liste de fichiers JPEG (le fichier list.txt contenu
-dans le répertoire courant, liste les fichiers utilisés comme source, un par ligne):
-<screen>
-mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-Il est possible de mélanger différents types d'images, quelque soit
-la méthode utilisée — fichiers individuels, joker( i.e * )
-ou fichier avec liste — à condition que, bien sûr, elles soient de même dimension.
-De fait, vous pouvez par exemple, prendre une image de type PNG
-comme titre, et ensuite faire un diaporama de vos photos JPEG.
-
-<informalexample>
-<para>
-Créer un fichier Motion JPEG (MJPEG) à partir de tous les fichiers
-JPEG du répertoire courant:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Créer un fichier non-compressé à partir de tous les fichiers
-PNG du répertoire courant:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><para>
-La largeur doit être un entier multiple de 4, c'est une
-limitation du
-format AVI RGB brut.
-</para></note>
-
-<informalexample>
-<para>
-Créer un fichier Motion PNG (MPNG) à partir de tous les
-fichiers PNG du répertoire courant:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Créer un fichier Motion TGA (MTGA) à partir de tous les fichiers TGA
-du répertoire courant:
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac
-copy -o <replaceable>sortie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-</para>
-</formalpara>
-</sect1>
-
-<sect1 id="menc-feat-extractsub">
-<title>Extraction des sous-titres DVD depuis fichier
-Vobsub</title>
-
-<para>
-<application>MEncoder</application> est capable d'extraire les
-sous-titres d'un DVD dans des fichiers au format VOBsub.
-Ils se composent de quelques fichiers ayant pour extension
-<filename>.idx</filename> et <filename>.sub</filename> et sont
-généralement compressés dans une seule archive
-<filename>.rar</filename>.
-<application>MPlayer</application>
-peut les lire avec les options <option>-vobsub</option> et
-<option>-vobsubid</option>.
-</para>
-
-<para>
-Vous spécifiez le nom de base (c-à -d. sans extension
-<filename>.idx</filename> ou <filename>.sub</filename>)
-des fichiers de sortie avec <option>-vobsubout</option>
-et l'index pour ces sous-titres dans le fichier final avec
-<option>-vobsuboutindex</option>.
-</para>
-
-<para>
-Si l'entrée n'est pas un DVD vous pouvez utiliser
-<option>-ifo</option> pour indiquer le fichier
-<filename>.ifo</filename> requis pour construire le
-fichier <filename>.idx</filename> final.
-</para>
-
-<para>
-Si l'entrée n'est pas un DVD et que vous n'avez pas de fichier
-<filename>.ifo</filename> vous aurez besoin d'utiliser
-l'option <option>-vobsubid</option> pour lui permettre de
-savoir quelle langue placer dans le fichier
-<filename>.idx</filename>.
-</para>
-
-<para>
-Chaque étape ajoutera les sous-titres actifs dans les fichiers
-<filename>.idx</filename>
-et <filename>.sub</filename> déjà existants. Vous devrez donc les
-enlever tous avant de commencer.
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>Copier deux sous-titres d'un DVD pendant l'encodage
-deux passes</title>
-<screen>
-rm <replaceable>soustitres.idx</replaceable> <replaceable>soustitres.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>soustitres</replaceable> -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>soustitres</replaceable> -vobsuboutindex 1 -sid 5
-</screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>Copier les sous-titres français depuis un fichier MPEG</title>
-<screen>
-rm <replaceable>soustitres.idx</replaceable> <replaceable>soustitres.sub</replaceable>
-mencoder <replaceable>film.mpg</replaceable> -ifo <replaceable>film.ifo</replaceable> -vobsubout <replaceable>soustitres</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
-</screen>
-</example>
-</sect1>
-
-<sect1 id="aspect">
-<title>Préserver le ratio d'aspect</title>
-<para>
-Les fichiers des DVDs et des SVCDs (c-Ã -d MPEG1/2) contiennent une
-valeur de ratio d'aspect, qui décrit comment le lecteur devrait
-dimensionner le flux vidéo, pour que les personnages n'aient pas
-des "têtes d'oeuf" (ex. 480x480 + 4:3 = 640x480).
-Cependant, quand vous encodez un fichier AVI (DivX), vous devez être conscients
-que les entêtes AVI ne stockent pas cette valeur. Redimensionner le film est assez
-infâme et coûteux en temps, il doit y avoir une meilleure solution !
-</para>
-
-<para>Il y en a une.</para>
-
-<para>
-MPEG-4 a une fonction spécifique: le flux vidéo peut contenir
-le ratio d'aspect requis.
-Oui, tout comme les fichiers MPEG-1/2 (DVD, SVCD) et H.263.
-Malheureusement, très peu de lecteurs vidéos
-en dehors de <application>MPlayer</application> supportent cet attribut MPEG-4.
-Excepté <application>MPlayer</application>.
-</para>
-
-<para>
-Cette fonction ne peut être utilisée qu'avec le codec
-<systemitem>mpeg4</systemitem> de
-<systemitem class="library">libavcodec</systemitem>.
-Gardez bien à l'esprit que même si
-<application>MPlayer</application>
-lit correctement le fichier créé, les autres lecteurs sont susceptibles d'utiliser un mauvais ratio.
-</para>
-
-<para>
-Vous devriez vraiment couper les bandes noires au dessus et en
-dessous de l'image.
-Voir la page de man pour l'utilisation des filtres
-<systemitem>cropdetect</systemitem>
-et <systemitem>crop</systemitem>.
-</para>
-
-<para>
-Utilisation
-<screen>mencoder <replaceable>echantillon-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>sortie.avi</replaceable></screen>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/fr/ports.xml b/DOCS/xml/fr/ports.xml
deleted file mode 100644
index e32c6ad..0000000
--- a/DOCS/xml/fr/ports.xml
+++ /dev/null
@@ -1,888 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r28432 -->
-<chapter id="ports" xreflabel="Ports">
-<title>Ports</title>
-
-<sect1 id="linux">
-<title>Linux</title>
-
-<para>
-La plateforme principale de développement est Linux sur x86, bien que
-<application>MPlayer</application> fonctionne sur de nombreux autres ports
-Linux.
-Des binaires de <application>MPlayer</application> sont disponibles depuis
-de nombreuses sources. Par contre, <emphasis role="bold">aucun de ces paquets n'est supporté</emphasis>.
-Rapportez les problèmes à leurs auteurs, pas à nous.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="debian">
-<title>Paquets Debian</title>
-
-<para>
-Pour construire le paquet Debian, lancez la commande suivante dans le
-répertoire source de <application>MPlayer</application> :
-
-<screen>fakeroot debian/rules binary</screen>
-
-Si vous voulez passer des options particulières à configure, vous pouvez
-définir la variable d'environnement <envar>DEB_BUILD_OPTIONS</envar>.
-Par exemple, si vous voulez le support de la GUI et de l'OSD, faites :
-
-<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
-Vous pouvez aussi passer quelques variables au Makefile. Par exemple, si
-vous voulez compiler avec gcc 3.4 même si ce n'est pas celui par défaut :
-
-<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
-Pour nettoyer l'arborescence des sources, exécutez la commande suivante :
-
-<screen>fakeroot debian/rules clean</screen>
-
-En tant que root installez le paquet <filename>.deb</filename> comme d'habitude :
-
-<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
-</para>
-
-<para>
-Christian Marillat a construit des paquets Debian non-officiels pour
-<application>MPlayer</application>, <application>MEncoder</application>
-et les polices depuis un certain temps, vous pouvez les obtenir (apt-get)
-depuis sa <ulink url="http://www.debian-multimedia.org/">page web</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="rpm">
-<title>Paquets RPM</title>
-
-<para>
-Dominik Mierzejewski maintient les paquets RPM officiels de
-<application>MPlayer</application> pour Fedora Core.
-Ils sont disponibles sur le <ulink url="http://rpm.greysector.net/mplayer/">dépôt Livna</ulink>.
-</para>
-
-<para>
-Les paquets RPM pour Mandrake/Mandriva sont disponibles sur le
-<ulink url="http://plf.zarb.org/">P.L.F.</ulink>,
-SuSE incluait une version limitée de <application>MPlayer</application>
-dans sa distribution.
-Ils l'ont retiré dans leurs dernières versions.
-Vous pouvez obtenir des RPMs fonctionnels sur
-<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="arm">
-<title>ARM</title>
-
-<para>
-<application>MPlayer</application> fonctionne sur les PDAs Linux avec un
-CPU ARM c-a-d Sharp Zaurus, Compaq Ipaq. La manière
-la plus facile d'obtenir <application>MPlayer</application> est de récupérer
-un des paquets
-<ulink url="http://www.openzaurus.org">OpenZaurus</ulink>.
-Si vous voulez le compiler vous-même, vous devriez regarder les répertoires
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
-et
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
-du répertoire raçine de la distribution OpenZaurus.
-Ils ont toujours les derniers Makefile et patchs utilisés pour contruire
-la version SVN de <application>MPlayer</application>.
-Si vous avez besoin d'une GUI, vous pouvez utiliser xmms-embedded.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bsd">
-<title>*BSD</title>
-
-<para>
-<application>MPlayer</application> fonctionne sur toutes les variations
-de BSD connues.
-Il y a des versions ports/pkgsrc/fink/etc de <application>MPlayer</application>
-disponibles qui sont probablement plus faciles à utiliser que nos
-sources brutes.
-</para>
-
-<para>
-Pour construire <application>MPlayer</application> vous aurez besoin de GNU
-make (gmake - le make natif de BSD ne fonctionnera pas) et une version
-récente des binutils.
-</para>
-
-<para>
-Si <application>MPlayer</application> se plaint de ne pas trouver
-<filename>/dev/cdrom</filename> ou <filename>/dev/dvd</filename>, créez
-le lien symbolique approprié :
-<screen>ln -s /dev/<replaceable>votre_périphérique_cdrom</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
-Pour utiliser les DLLs Win32 avec <application>MPlayer</application>
-vous devrez recompiler le noyau avec "<envar>option USER_LDT</envar>"
-(à moins d'utiliser FreeBSD-CURRENT, où c'est le cas par défaut).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-
-<para>
-Si votre CPU Ã SSE, recompilez votre noyau avec
-"<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE ou patches noyau
-requis).
-</para>
-</sect2>
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-
-<para>
-à cause des limitations dans les différentes versions de gas (relocation
-contre MMX), vous aurez besoin de compiler en deux étapes :
-D'abord assurez-vous que le non-natif est en premier dans votre
-<envar>$PATH</envar> et faites un <command>gmake -k</command>, ensuite
-assurez-vous que la version native est utilisée et faites
-<command>gmake</command>.
-</para>
-
-<para>
-Depuis OpenBSD 3.4 le hack ci-dessus n'est plus nécessaire.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="darwin">
-<title>Darwin</title>
-
-<para>
-Voir la section <link linkend="macos">Mac OS</link>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="unix">
-<title>Unix Commercial</title>
-
-<para>
-<application>MPlayer</application> a été porté sur un grand nombre d'Unix
-commerciaux.
-Ãtant donné que les environements de dévelopement sur ces systèmes
-ont tendances à être différent de ceux trouvé sur les Unix libres, vous devrez
-peut-être faire quelques ajustements manuels pour que le build fonctionne.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="solaris">
-<title>Solaris</title>
-
-<para>
-<application>MPlayer</application> devrait fonctionner sous Solaris 2.6
-ou supérieur.
-Utilisez le pilote audio de SUN avec l'option <option>-ao sun</option>
-pour le son.
-</para>
-
-<para>
-Sur les <emphasis role="bold">UltraSPARCs</emphasis>, <application>MPlayer</application>
-profite des avantages de leurs extensions
-<emphasis role="bold">VIS</emphasis> (équivalentes au MMX), actuellement
-uniquement dans <systemitem class="library">libmpeg2</systemitem>,
-<systemitem class="library">libvo</systemitem>
-et <systemitem class="library">libavcodec</systemitem>, mais pas
-dans <systemitem class="library">mp3lib</systemitem>. Vous pouvez regarder
-un fichier VOB sur un CPU Ã 400MHz. Vous aurez besoin d'avoir
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
-installé.
-</para>
-
-<para><emphasis role="bold">Attention :</emphasis></para>
- <itemizedlist>
- <listitem><para>
- <emphasis role="bold">mediaLib</emphasis> est
- <emphasis role="bold">actuellement désactivé</emphasis> par défaut dans
- <application>MPlayer</application> pour cause d'inconsistance. Les utilisateurs SPARC
- qui ont construit MPlayer avec le support mediaLib ont reporté une
- forte coloration verte sur les vidéo encodées et décodées avec
- libavcodec.
- Si vous le désirez, vous pouvez activer mediaLib avec :
- <screen>./configure --enable-mlib</screen>
- Ceci est à vos risques et périls. Les utilisateurs x86 ne doivent
- <emphasis role="bold">jamais</emphasis> utiliser mediaLib, puisque cela
- déteriorerait les performances de MPlayer de manière importante.
- </para></listitem>
- </itemizedlist>
-
-<para>
-Pour construire ce paquetage vous aurez besoin de GNU <application>make</application>
-(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), le
-make natif de Solaris ne fonctionnera pas.
-Message d'erreur typique si vous utilisez le make de Solaris au lieu de
-celui de GNU :
-<screen>
-% /usr/ccs/bin/make
-make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
-</screen>
-</para>
-
-<para>
-Sur Solaris SPARC, vous aurez besoin du compilateur C/C++ GNU; cela n'a
-pas d'importance que le compilateur C/C++ GNU soit configuré avec ou sans
-l'assembleur GNU.
-</para>
-
-<para>
-Sur Solaris x86,vous aurez besoin de l'assembleur GNU et du compilateur
-C/C++ GNU, configuré pour l'utilisation de l'assembleur GNU ! Le code
-de <application>MPlayer</application> sur la plateforme x86 fait un usage
-intensif des instructions MMX, SSE et 3DNOW! qui ne peuvent pas être
-assemblées en utilisant l'assembleur de Sun
-<filename>/usr/ccs/bin/as</filename>.
-</para>
-
-<para>Le script <filename>configure</filename> essaie de trouver quel
-assembleur est utilisé par votre commande "gcc" (au cas ou
-l'autodétection échoue, utilisez l'option
-<option>--as=<replaceable>/endroit/ou/vous/avez/installe/gnu-as</replaceable></option>
-pour indiquer au script <filename>configure</filename> où il peut trouver
-GNU "as" sur votre système).
-</para>
-<para>Solutions aux problèmes courants :</para>
-<itemizedlist>
-<listitem><para>
-Message d'erreur de <filename>configure</filename> sur un système Solaris
-x86 en utilisant GCC sans assembleur GNU :
-<screen>
- % configure
- ...
- Checking assembler (/usr/ccs/bin/as) ... , failed
- Please upgrade(downgrade) binutils to 2.10.1...
-</screen>
-(Solution : Installez et utilisez un gcc configuré avec <option>--with-as=gas</option>)
-</para>
-
-<para>
-Erreur typique obtenue en construisant avec un compilateur C GNU qui n'utilise
-pas GNU as :
-<screen>
-% gmake
-...
-gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
-Assembler: mplayer.c
-"(stdin)", line 3567 : Illegal mnemonic
-"(stdin)", line 3567 : Syntax error
-... more "Illegal mnemonic" and "Syntax error" errors ...
-</screen>
-</para>
-</listitem>
-
-<listitem><para>
-<application>MPlayer</application> est susceptible de renvoyer une
-erreur de segmentation (segfault) à l'encodage ou au décodage de vidéos utilisant
-win32codecs :
-<screen>
-...
-Trying to force audio codec driver family acm...
-Opening audio decoder: [acm] Win32/ACM decoders
-sysi86(SI86DSCR): Invalid argument
-Couldn't install fs segment, expect segfault
-
-
-MPlayer interrupted by signal 11 in module: init_audio_codec
-...
-</screen>
-Ceci est du à une modification de sysi86() dans Solaris 10 et dans les versions
-antérieures à Solaris Nevada b31. Ceci a été réparé par Sun pour
-Solaris Nevada b32 mais pas encore pour Solaris 10. Le Projet MPlayer
-a averti Sun de ce problème. Un patch pour Solaris 10 est actuellement en
-développement. Plus d'information sont disponibles à l'adresse
-suivante : <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
- </para></listitem>
-
-<listitem><para>
-A cause de bogues dans Solaris 8, il se peut que vous ne puissiez pas lire
-de disques DVD plus gros que 4 Go :
-</para>
-
-<itemizedlist>
-<listitem><para>
-Le pilote sd(7D) de Solaris 8 x86 a un bogue quand on accède à un bloc disque
->4Go sur un périphérique en utilisant une taille de bloc logique
-!= DEV_BSIZE (c-a-d. CD-ROM et DVD).
-A cause d'un dépassement des entiers 32Bit, on accède à une adresse disque
-modulo 4 Go.
-(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
-Ce problème n'existe pas sur la version SPARC de Solaris 8.
-</para></listitem>
-
-<listitem><para>
-Un bogue similaire est présent dans le code du système de fichier hsfs(7FS)
-(alias ISO9660), il se peut
-que hsfs ne supporte pas les partitions/disques plus gros(ses) que 4GB,
-toutes les données sont accédées modulo 4Go.
-(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
-Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc)
-/ 109765-04 (x86).
-</para></listitem>
-</itemizedlist>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="hp-ux">
-<title>HP-UX</title>
-
-<para>
-Joe Page héberge un
-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
-<application>MPlayer</application> sous HP-UX écrit par Martin Gansser sur
-sa page web. Avec ses instructions la compilation devrait fonctionner sans
-modifications. L'information qui suit a été récupéré depuis ce HOWTO.
-</para>
-
-<para>
-Vous avez besoin de GCC 3.4.0 ou supérieur, GNU make 3.80 ou supérieur et
-SDL 1.2.7 ou supérieur.
-HP cc ne fournira pas un programme qui marche, les versions précedentes de
-GCC sont boguées.
-Pour la fonctionnalité OpenGL vous aurez besoin d'installer Mesa et les
-pilotes de sortie vidéo gl et gl2 devraient marcher, la vitesse pouvant en
-être très affecté, dépendamment de la vitesse du CPU.
-Une bonne alternative au pauvre système son natif de HP-UX est GNU esound.
-</para>
-
-<para>
-Créer le périphérique DVD
-scanne le bus SCSI avec :
-<screen>
-# ioscan -fn
-
-Class I H/W Path Driver S/W State H/W Type Description
-...
-ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
-target 3 8/16/5.2 tgt CLAIMED DEVICE
-disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
- /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
-target 4 8/16/5.7 tgt CLAIMED DEVICE
-ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-</screen>
-
-La sortie d'écran montre un lecteur DVD-ROM Pioneer à l'adresse SCSI 2.
-L'instance de la carte pour le chemin hardware 8/16 est 1.
-</para>
-
-<para>
-Créer un lien depuis le prériphérique brut vers le périphérique DVD.
-<screen>
-ln -s /dev/rdsk/c<replaceable><SCSI bus instance></replaceable>t<replaceable><SCSI target ID></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><device></replaceable>
-</screen>
-Exemple :
-<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
-</para>
-
-<para>
-Ci-dessous sont exposées les solutions pour certains problèmes communs :
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-Plante au démarrage avec le message d'erreur suivant :
-<screen>
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
-</screen>
-</para>
-
-<para>
-Cela signifie que la fonction <systemitem>.finite().</systemitem> n'est pas
-disponible dans la librairie standard math de HP-UX.
-A la place, il y a <systemitem>.isfinite().</systemitem>.
-Solution : Utiliser le dernier fichier dépôt Mesa.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Plante à la lecture avec le message d'erreur suivant :
-<screen>
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
-</screen>
-</para>
-
-<para>
-Solution : Utiliser l'option extralibdir lors de configure
-<option>--extra-ldflags="/usr/lib -lrt"</option>
-</para>
-</listitem>
-
-<listitem>
-<para>
-MPlayer segfaults avec un message comme celui-ci :
-<screen>
-Pid 10166 received a SIGSEGV for stack growth failure.
-Possible causes : insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault
-</screen>
-</para>
-
-<para>
-Solution :
-Le noyau HP-UX a une taille de pile par défaut de 8MO(?) par processus.
-(des patches 11.0 et de plus récent 10.20 vous permettront d'augmenter
-<systemitem>maxssiz</systemitem> jusqu'Ã 350MB pour les programmes
-32-bit).
-Vous aurez besoin d'étendre <systemitem>maxssiz</systemitem>
-et de recompiler le noyau (et redémarrer).
-Vous pouvez utiliser SAM pour ce faire.
-(Pendant ce temps, aller voir le paramètre <systemitem>maxdsiz</systemitem>
-pour le montant maximum de données qu'un programme peut utiliser.
-Cela dépend de vos applications, si la valeur par défaut de 64MO est
-suffisante ou non.)
-</para>
-</listitem>
-</itemizedlist>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="aix">
-<title>AIX</title>
-
-<para>
-<application>MPlayer</application> se compile parfaitement sous AIX 5.1,
-5.2 et 5.3, en utilisant GCC 3.3 ou plus.
-La compilation de <application>MPlayer</application> sous AIX 4.3.3
-et inférieur n'a pas été testé.
-Il est hautement recommandé que vous compiliez
-<application>MPlayer</application> en utilisant GCC 3.4 ou plus, ou si
-vous êtes sous POWERS, GCC 4.0 est requis.
-</para>
-
-<para>
-Assurez vous d'utiliser GNU make (<filename>/opt/freeware/bin/gmake</filename>)
-pour construire <application>MPlayer</application>, autrement vous rencontreriez
-des problèmes si vous utilisez <filename>/usr/ccs/bin/make</filename>.
-</para>
-
-<para>
-La détection CPU est toujours un travail en cours.
-Les architectures suivantes ont été testé :
-</para>
-
-<itemizedlist>
-<listitem><para>604e</para></listitem>
-<listitem><para>POWER3</para></listitem>
-<listitem><para>POWER4</para></listitem>
-</itemizedlist>
-
-<para>
-Les architectures suivantes n'ont pas été testé, mais devraient quand
-même marcher :
-<itemizedlist>
-<listitem><para>POWER</para></listitem>
-<listitem><para>POWER2</para></listitem>
-<listitem><para>POWER5</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Le son à travers les Services Ultimedia n'est pas supporté, comme Ultimedia a
-été abondonné dans AIX 5.1; , la seule option est d'utiliser les pilotes AIX OSS
-de 4Front Technologies depuis
-<ulink url="http://www.opensound.com/aix.html">http://www/opensound.com/aix/html</ulink>.
-4Front Technologies fourni librement les pilotes OSS pour AIX 5.1 pour
-un usage personnel et non-commercial. Cependant, il n'y a actuellement
-pas de pilote de son pour AIX 5.2 ou 5.3. Cela signifie qu'Ã l'heure actuelle <emphasis
-role="bold">MPlayer ne produit pas de son sous AIX 5.2 et 5.3.</emphasis>
-</para>
-<para>Solutions aux problèmes courants :</para>
-<itemizedlist>
-<listitem>
-<para>
-Si vous rencontrez ce message d'erreur de <filename>configure</filename> :
-<screen>
-$ ./configure
-...
-Checking for iconv program ... no
-No working iconv program found, use
---charset=US-ASCII to continue anyway.
-Messages in the GTK-2 interface will be broken then.
-</screen>
-Ceci est du au fait que AIX utilise un jeu de caractère (charset) non
-standards. En conséquence, la conversion d'une sortie MPlayer en un
-autre character set et n'est pas suporté pour l'instant. La solution
-est d'utiliser :
-<screen>
-$ ./configure --charset=noconv
-</screen>
-</para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="qnx">
-<title>QNX</title>
-
-<para>
-Vous aurez besoin de télécharger et installer SDL pour QNX. Puis de lancer
-<application>MPlayer</application> avec les options <option>-vo sdl:driver=photon</option> et
-<option>-ao sdl:nto</option>, cela devrait être rapide.
-</para>
-
-<para>
-La sortie de <option>-vo x11</option> sera encore plus lente que sous Linux,
-étant donné que QNX n'a qu'une <emphasis>émulation</emphasis> X, qui est
-très lente.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>Oui, MPlayer tourne sous Windows via
- <ulink url="http://www.cygwin.com/">Cygwin</ulink> et
- <ulink url="http://www.mingw.org/">MinGW</ulink>.
- Il n'a pas encore de GUI, mais la version en ligne de commande est
- complètement opérationnelle. Vous devriez jeter un oeil à la liste de diffusion
- <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">Mplayer-cygwin</ulink>
- pour obtenir de l'aide et les dernières informations.
- Les binaires officiels de Windows peuvent être récupérés sur la
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">page de téléchargement</ulink>.
- Les paquetages d'installation et de simple frontends GUI sont disponibles à partir de sources
- externe, nous avons collecté ensuite dans la section Windows de notre
- <ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">page de projets</ulink>.
-</para>
-
-<para>
-Si vous souhaitez éviter d'utiliser la commande en ligne, une astuce
-toute simple est de mettre un raccourci sur votre bureau qui contient
-quelque chose comme ce qui suit dans la section d'execution :
-<screen><replaceable>c:\chemin\vers\</replaceable>mplayer.exe %1</screen>
-Cela va faire lire à <application>MPlayer</application> n'importe quel
-film qui est laché sur le raccourci.
-Ajoutez <option>-fs</option> pour le mode plein écran.
-</para>
-
-<para>
- Les meilleurs résultats sont obtenus avec le codec vidéo DirectX natif
- (<option>-vo directx</option>). Vous pouvez aussi utiliser OpenGL et SDL,
- mais les performances d'OpenGL sont très variables suivant les systèmes
- et SDL est connu pour distordre l'image ou planter sur certains systèmes.
- Si l'image est distordue, essayez de désactiver l'accélération matérielle avec
- <option>-vo directx:noaccel</option>. Téléchargez les
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">fichiers d'entête DirectX 7</ulink>
- pour compiler le pilote de sortie vidéo DirectX. De plus vous devez
- avoir DirectX 7 ou supérieur pour que ce pilote fonctionne.</para>
-
-<para>
-<link linkend="vidix">VIDIX</link> fonctionne maintenant sous Windows avec
-<option>-vo winvidix</option>, bien que ce soit toujours expérimental
-et que cela requiert une configuration manuelle. Téléchargez
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> ou
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (avec support des MTRR)</ulink>
- et copiez le dans le répertoire
- <filename class="directory">libdha/dhahelperwin</filename> de votre arborescence
- <application>MPlayer</application>.
- Ouvrez une console et tapez
- <screen>make install-dhahelperwin</screen>
- en tant qu'Administrateur. Ensuite vous devez rebooter.
-</para>
-
-<para>Pour de meilleurs résultats <application>MPlayer</application> devrait
-utiliser une palette que votre carte graphique supporte de façon matérielle.
-Malheureusement, de nombreux pilotes graphiques Windows renvoient certaines palettes alors que la carte ne le supporte pas. Pour le vérifier, essayez
-<screen>
-mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>palette</replaceable> <replaceable>film</replaceable>
-</screen>
-
- où <replaceable>palette</replaceable> peut être n'importe quelle palette
- affichée par l'option <option>-vf format=fmt=help</option>. Si vous
- trouvez une palette que votre carte gère particulièrement mal,
- <option>-vf noformat=<replaceable>palette</replaceable></option>
- l'empèchera d'être utilisée. Ajouter cela à votre fichier de conf pour
- ne plus l'utiliser de façon permanente.
-</para>
-
-<para>
-Il y a des paquetages de codec spécial pour Windows disponible sur notre
-<ulink url="http://www.mplayerhq.hu/design7/codecs.html">page de codecs</ulink>
-pour permettre de jouer les formats qui ne sont pas encore nativement
-supportés.
-Placez les codecs quelque part dans votre path ou passez
-<option>--codecsdir=<replaceable>c:/chemin/de/vos/codecs</replaceable></option>
-(éventuellement
-<option>--codecsdir=<replaceable>/chemin/de/vos/codecs</replaceable></option>
-uniquement sous <application>Cygwin</application>) Ã <filename>configure</filename>.
-Nous avons eu quelques retours indiquant que les DLLs Real doivent être
-accessibles en écriture pour l'utilisateur ayant lancé
-<application>MPlayer</application>, mais seulement sur certains systèmes
-(NT4).
-Essayez de les rendre accessibles en écriture si vous avez des problèmes.
-</para>
-
-<para>
- Vous pouvez lire des VCDs en jouant les fichiers
- <filename>.DAT</filename> ou <filename>.MPG</filename> que Windows affiche
- sur les VCDs. Cela fonctionne tout simplement comme cela (changez la lettre
- de votre lecteur de CD-ROM) :
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-Vous pouvez aussi lire une piste VCD directement en utilisant :
-<screen> mplayer vcd://<replaceable><track></replaceable> -cdrom-device <replaceable>d:</replaceable></screen>
-Les DVDs fonctionnent également, ajustez <option>-dvd-device</option> à la lettre de votre lecteur DVD-ROM :
-<screen>mplayer dvd://<replaceable><titre></replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
-La console <application>Cygwin</application>/<application>MinGW</application>
-est plutôt lente. Il semble que rediriger la sortie ou utiliser l'option
-<option>-quiet</option> améliore les performances. Le rendu direct
-(<option>-dr</option>) peut également aider. Si la lecture est erratique,
-essayez <option>-autosync 100</option>. Si certaines de ces options vous sont
-utiles, vous pouvez les placer dans votre fichier de config.
-</para>
-
-<note>
-<para>Si vous avez un Pentium 4 et que vous expériencez un plantage lors de l'utilisation
-des codecs RealPlayer vous pourriez vouloir désactiver le support hyperthreading.
-</para>
-</note>
-
-<!-- ********** -->
-
-<sect2 id="cygwin">
-<title><application>Cygwin</application></title>
-
-<para>
-Vous devez utiliser <application>Cygwin</application> 1.5.0 ou supérieur
-pour pouvoir compiler <application>MPlayer</application>.</para>
-
-<para>
-Les fichiers d'entête DirectX doivent être décompressés dans
-<filename class="directory">/usr/include/</filename> ou dans
-<filename class="directory">/usr/local/include/</filename>.
-</para>
-
-<para>
-Les instructions et les fichiers pour faire tourner SDL sous Cygwin
-peuvent être trouvés sur le
-<ulink url="http://www.libsdl.org/extras/win32/cygwin/">site de libsdl</ulink>.
-</para>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="mingw">
-<title><application>MinGW</application></title>
-
-<para>Installer une version de <application>MinGW</application> qui puisse
- compiler <application>MPlayer</application> était considéré comme compliqué,
- mais fonctionne désormais sans modifications. Installez simplement
- <application>MinGW</application> 3.1.0 ou plus récent et MSYS 1.0.9 ou plus
- récent et dites au postinstall de MSYS que <application>MinGW</application>
- est installé.</para>
-
-<para>Décompressez les fichiers d'entête de DirectX dans <filename class="directory">/mingw/include/</filename>.</para>
-
-<para>Le support des entêtes compressées MOV requiert
- <ulink url="http://www.gzip.org/zlib/">zlib</ulink>, que
- <application>MinGW</application> ne fournit pas par défaut.
- Configurez-le avec <option>--prefix=/mingw</option> et installez-le
- avant de compiler <application>MPlayer</application>.</para>
-
-<para>De complètes instructions pour compiler <application>MPlayer</application>
-et les librairies nécessaires sont disponibles sur
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer
-MinGW HOWTO</ulink>.</para>
-
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="macos">
-<title>Mac OS</title>
-
-<para>
-<application>MPlayer</application> ne fonctionne pas sur des versions ultérieures
-à Mac OS 10, mais devrait compiler sans changement sur Mac OS X 10.2 et supérieur.
-Le compilateur préféré étant la version Apple de GCC 3.x ou supérieure.
-Vous pouvez obtenir l'environement de compilation de base en
-installant <ulink url="http://developer.apple.com/tools/download/">Xcode</ulink> de Apple.
-Si vous avez Mac OS X 10.3.9 ou supérieur et QuickTime 7
-vous pouvez utiliser le pilote corevideo de sortie vidéo.
-</para>
-<para>
-Malheureusement, cet environement de base ne vous autorise pas Ã
-profiter de toute les fonctionalités de
-<application>MPlayer</application>.
-Par exemple, pour compiler le support OSD, vous devez avoir les
-librairies fontconfig
-et freetype installées sur votre machine.
-Contrairement à d'autres Unix comme la plupart des Linux et des BSDs,
-OSX n'a pas un seul système de package installé par défault.
-</para>
-<para>
-Il y en a au moins deux au choix :
-<ulink url="http://fink.sourceforge.net/">Fink</ulink> et
-<ulink url="http://www.macports.org/">MacPorts</ulink>.
-Les deux fournissent approximativement les même services
-(i.e. beaucoup de packages au choix, la résolution des dépendances, la
-possibilité d'ajouter/mêtre à jour/supprimer simplement des packages,
-etc...).
-Fink offre à la fois des packages binaires précompilés ou la
-possibilité de compiler tout à partir des sources, alors que
-MacPorts offre seulement la possibilité de compilé les sources.
-L'auteur de ce guide a choisi MacPorts pour la simple raison que
-son installation minimale occupe moins d'espace disque.
-Les exemples à suivre sont basés sur MacPorts.
-</para>
-<para>
-Par exemple, pour compiler <application>MPlayer</application> avec le
-support OSD :
-<screen>sudo port install pkgconfig</screen>
-Ceci va installer <application>pkg-config</application>, le système de
-gestion des flags de compilation/linking des librairies.
-Le script <systemitem>configure</systemitem> de
-<application>MPlayer</application> l'utilise pour détecter les
-librairies proprement.
-Vous pouvez ensuite installer <application>fontconfig</application> de
-la même manière :
-<screen>sudo port install fontconfig</screen>
-Vous pouvez ensuite lancer le script
-<systemitem>configure</systemitem> de
-<application>MPlayer</application> (notez les variables d'environement
-<systemitem>PKG_CONFIG_PATH</systemitem> et
-<systemitem>PATH</systemitem> pour que
-<systemitem>configure</systemitem> trouve les librairies installées
-avec MacPorts) :
-<screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="osx_gui">
-<title>MPlayer OS X GUI</title>
-
-<para>
-Vous pouvez obtenir un GUI natif et un binaire pré-compilé de
-<application>MPlayer</application> pour Mac OS X depuis le projet
-<ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>, mais soyez averti :
-ce projet n'est plus du tout actif.
-</para>
-
-<para>
-Heureusement, <application>MPlayerOSX</application> a été repris en main
-par un membre de l'équipe de <application>MPlayer</application>.
-Des versions preview sont disponibles sur notre
-<ulink url="http://mplayerhq.hu/dload.html">page de téléchargement</ulink>
-et une version officielle ne devrait pas tarder.
-</para>
-
-<para>
-Afin de compiler <application>MPlayerOSX</application> depuis le source
-vous-même, vous avez besoin du module <systemitem>mplayerosx</systemitem>,
-du module <systemitem>main</systemitem> et d'une copie du module SVN
-<systemitem>main</systemitem> renommé en <systemitem>main_noaltivec</systemitem>.
-<systemitem>mplayerosx</systemitem> est le frontend GUI,
-<systemitem>main</systemitem> est un MPlayer et
-<systemitem>main_noaltivec</systemitem> est le MPlayer compilé sans le support
-AltiVec.
-</para>
-
-<para>
-Pour récupérer les modules SVN utilisez :
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-</screen>
-</para>
-
-<para>
-Pour compiler <application>MPlayerOSX</application> vous aurez besoin de
-mettre en place quelque chose comme ceci :
-
-<screen>
-MPlayer_repertoire_source
- |
- |--->main (source SVN de MPlayer)
- |
- |--->main_noaltivec (source SVN de MPlayer configuré avec --disable-altivec)
- |
- \--->mplayerosx (source SVN MPlayerOSX)
-</screen>
-Premièrement vous avez besoin de compiler main et main_noaltivec.
-</para>
-
-<para>
- Pour assurer une rétro compatibilité maximum, commencez par créer la variable d'environnement suivante :
-<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
-</para>
-
-<para>
-Et, configurez :
-</para>
-
-<para>
-Si vous configurez pour un CPU G4 (ou plus récent) avec le support AltiVec,
-faites comme suit :
-<screen>
-./configure --disable-gl --disable-x11
-</screen>
-Si vous configurez pour un G3 sans le support AltiVec, faites comme suit :
-<screen>
-./configure --disable-gl --disable-x11 --disable-altivec
-</screen>
-Vous pourriez avoir besoin d'éditer <filename>config.mak</filename> et
-changer le
-<systemitem>-mcpu</systemitem> et <systemitem>-mtune</systemitem> de
-<systemitem>74XX</systemitem> Ã <systemitem>G3</systemitem>.
-</para>
-
-<para>
-Continuez avec
-<screen>make</screen>
-ensuite placez vous dans le répertoire mplayerosx et tapez
-<screen>make dist</screen>
-Cela créera une archive compressée <systemitem>.dmg</systemitem> avec le binaire
-prêt à l'emploi.
-</para>
-
-<para>
-Vous pouvez aussi utiliser le projet <application>Xcode</application> 2.1;
-le vieux projet pour <application>Xcode</application> 1.x n'étant plus
-du tout en fonction.
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/fr/skin.xml b/DOCS/xml/fr/skin.xml
deleted file mode 100644
index a1cea8a..0000000
--- a/DOCS/xml/fr/skin.xml
+++ /dev/null
@@ -1,1158 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 20310 -->
-<appendix id="skin">
-<title>Format de skins <application>MPlayer</application></title>
-
-<sect1 id="skin-overview">
-<title>Aperçu</title>
-<para>
-Ce n'est pas en rapport direct avec le format des skins, mais vous devez savoir
-que <application>MPlayer</application> n'a <emphasis role="bold">pas</emphasis> de skin par défaut, donc
-<emphasis role="bold">au moins une skin doit être installée pour pouvoir utiliser
-la GUI.</emphasis>
-</para>
-
-<sect2 id="skin-overview-directories">
-<title>Répertoires</title>
-<para>
-<application>MPlayer</application> cherche des skins dans ces répertoires (dans cet ordre):
-<orderedlist>
-<listitem><para>
-<filename class="directory">$(DATADIR)/skins/</filename>
-</para></listitem>
-<listitem><para>
-<filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
-</para></listitem>
-<listitem><para>
-<filename class="directory">~/.mplayer/skins/</filename>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Notez que le premier répertoire peut varier suivant la façon dont <application>MPlayer</application> a été
-configuré (voir les arguments <option>--prefix</option> et <option>--datadir</option>
-du script <command>configure</command>).
-</para>
-
-<para>
-Chaque skin est installée dans son propre répertoire sous l'un des répertoires
-listés ci-dessus, par exemple:
-<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
-</para>
-</sect2>
-
-<sect2 id="skin-overview-formats">
-<title>Format d'images</title>
-<para>Les images doivent être en truecolor (24 ou 32 bpp) et enregistrées au
-format PNG.</para>
-<para>
-Dans la fenêtre principale et la barre de lecture (c.f. ci-dessous) vous pouvez
-utiliser des images dotées de régions "transparentes": les régions
-remplies avec la couleur #FF00FF (magenta) deviennent transparentes dans <application>MPlayer</application>.
-Cela signifie que vous pouvez obtenir des formes particulières pour vos fenêtres si votre
-serveur X possède l'extension XShape.
-</para>
-</sect2>
-
-<sect2 id="skin-overview-components">
-<title>Composants d'une skin</title>
-<para>
-Les skins sont d'un format plutôt libre (contrairement aux formats fixes de
-<application>Winamp</application>/<application>XMMS</application>, par exemple),
-donc il ne tient qu'a vous de créer quelque chose de bien.
-</para>
-
-<para>
-Actuellement, trois fenêtres doivent être décorées: la
-<link linkend="skin-file-main">fenêtre principale</link>, la
-<link linkend="skin-file-subwindow">sous-fenêtre</link>, la
-<link linkend="skin-file-main">barre de lecture</link>, et le
-<link linkend="skin-file-menu">menu</link> (activable par un clic droit).
-
-<itemizedlist>
-<listitem><para>
- Vous contrôlez <application>MPlayer</application> par la <emphasis role="bold">fenêtre principale</emphasis>
- et/ou la <emphasis role="bold">barre de lecture</emphasis>. L'arrière plan est
- une image. Divers objets peuvent (et doivent) venir se placer dans cette fenêtre:
- <emphasis>boutons</emphasis>, <emphasis>podomètres</emphasis>
- (sliders) et <emphasis>labels</emphasis>. Pour chaque objet, vous devez
- spécifier sa taille et sa position.
-</para><para>
- Un <emphasis role="bold">bouton</emphasis> comprend trois états (pressé, relâché,
- désactivé), donc l'image doit se diviser en trois parties, verticalement. Voir
- l'objet <link linkend="skin-button">bouton</link> pour plus de détails.
-</para><para>
- Un <emphasis role="bold">podomètre</emphasis> (principalement utilisé pour la
- barre d'avancement et le contrôle du volume/balance) peut posséder n'importe quel
- nombre d'états en empilant ces images, verticalement. Voir
- <link linkend="skin-hpotmeter">hpotmeter</link> et
- <link linkend="skin-potmeter">potmeter</link> pour plus de détails.
-</para><para>
- Les <emphasis role="bold">labels</emphasis> sont un peu particuliers : les
- caractères nécessaires pour les dessiner sont récupérés depuis un fichier image,
- décrit par un <link linkend="skin-fonts">fichier de description de polices</link>.
- Ce dernier est un fichier texte brut spécifiant la position x,y ainsi que la
- taille de chaque caractère dans l'image (le fichier image et son descripteur
- forment une police <emphasis>ensemble</emphasis>). Voir <link linkend="skin-dlabel">dlabel</link>
- et <link linkend="skin-slabel">slabel</link> pour plus de détails.
-</para>
-<note><para>
- Toutes les images disposent de la couleur de transparence décrite dans la section
- <link linkend="skin-overview-formats">formats d'images</link>. Si le serveur X ne
- supporte pas l'extension Xshape, les parties transparentes seront noires. Si vous
- voulez utiliser cette fonction, la largeur de l'image de la fenêtre principale
- devra être divisible par 8.
-</para></note>
-</listitem>
-
-<listitem><para>
- La <emphasis role="bold">sous-fenêtre</emphasis> contient la vidéo en elle même.
- Elle peut afficher une image si aucun film n'est chargé (ce n'est jamais plaisant
- d'avoir une fenêtre vide :-)) <emphasis role="bold">Note:</emphasis> la couleur
- de transparence n'est <emphasis role="bold">pas autorisée</emphasis> ici.
-</para></listitem>
-
-<listitem><para>
- Le <emphasis role="bold">menu</emphasis> est simplement un moyen de contrôler
- <application>MPlayer</application> par des entrées graphiques. Deux images sont nécessaires pour le menu:
- l'une d'elle, l'image de base, affiche le menu dans son été normal, l'autre est
- utilisée pour afficher les entrées sélectionnées. Quand vous faites apparaître le
- menu, la première image s'affiche. Si vous passez la souris sur les entrées du
- menu, l'entrée sélectionnée est copiée depuis la seconde image, et uniquement la
- partie concernée par cette sélection (la seconde image ne s'affiche jamais
- complètement.)
-</para><para>
- Une entrée de menu se définit par sa position et sa taille dans l'image (voir la
- section <link linkend="skin-file-menu">menu</link> pour plus de détails).
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
- Une chose essentielle n'a pas encore été mentionnée : pour que les boutons,
- podomètres et entrées du menu fonctionnent, <application>MPlayer</application> doit savoir quoi en faire.
- Ceci dépend des <link linkend="skin-gui">messages</link> (events) envoyés. Pour
- chacun de ces objets vous devez définir le message à afficher quand on clique
- dessus.
-</para>
-</sect2>
-
-<sect2 id="skin-files">
-<title>Fichiers</title>
-<para>
-Vous aurez besoin des fichiers suivants pour construire une skin:
-<itemizedlist>
-<listitem><para>
- Le fichier de configuration nommé <link linkend="skin-file">skin</link> indique
- à <application>MPlayer</application> comment assembler les différentes images et comment interpréter les
- clics de souris sur l'interface.
-</para></listitem>
-<listitem><para>
- L'image de fond de la fenêtre principale.
-</para></listitem>
-<listitem><para>
- Les images correspondants aux objets de la fenêtre principale (y compris une ou
- plusieurs polices et descripteurs nécessaires à l'affichage des textes).
-</para></listitem>
-<listitem><para>
- L'image affichée dans la sous-fenêtre (optionnel).
-</para></listitem>
-<listitem><para>
- Deux images pour le menu (nécessaires uniquement si vous voulez créer un menu).
-</para></listitem>
-</itemizedlist>
- A l'exception du fichier de configuration, vous pouvez nommer les fichiers comme
- bon vous semble (mais notez que les descripteurs de polices doivent avoir une
- extension <filename>.fnt</filename>).
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="skin-file">
-<title>Le fichier skin</title>
-<para>
-Comme mentionné plus haut, c'est le fichier de configuration de la skin. Il est
-lu ligne par ligne; les lignes de commentaires démarrent par le caractère
-'<literal>;</literal>' en début de ligne (seuls les espaces et tabulations sont
-autorisées avant ce signe).
-</para>
-
-<para>
-Les fichiers se composent de sections. Chaque section décrit la skin pour une
-application et s'écrit sous la forme:
-<programlisting>
-section = <replaceable>nom de la section</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-Actuellement il n'existe qu'une application, donc vous n'aurez besoin que d'une
-section: dont le nom est <emphasis role="bold">movieplayer</emphasis>.
-</para>
-
-<para>
-Dans cette section chaque fenêtre est décrite par un bloc de la forme suivante:
-<programlisting>
-window = <replaceable>nom de la fenêtre</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-Où <replaceable></replaceable> peut-être l'un des types suivants:
-<itemizedlist>
-<listitem><para><emphasis role="bold">main</emphasis> - pour la fenêtre principale</para></listitem>
-<listitem><para><emphasis role="bold">sub</emphasis> - pour la sous-fenêtre</para></listitem>
-<listitem><para><emphasis role="bold">menu</emphasis> - pour le menu</para></listitem>
-<listitem><para><emphasis role="bold">playbar</emphasis> - barre de lecture</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-(Les blocs sub et menu sont optionnels - vous n'avez pas l'obligation de décorer
-le menu et la sous-fenêtre.)
-</para>
-
-<para>
-Dans un bloc window, vous pouvez définir chaque objet sous la forme:
-<programlisting>objet = paramètre</programlisting>
-Où <literal>objet</literal> est une ligne identifiant le type d'objet de la GUI,
-<literal>paramètre</literal> est une valeur numérique ou textuelle (ou une liste
-de valeurs séparées par des virgules).
-</para>
-
-<para>
-Le fichier final doit donc ressembler à ceci:
-<programlisting>
-section = movieplayer
- window = main
- ; ... objets de la fenêtre principale ...
- end
-
- window = sub
- ; ... objets de la sous-fenêtre ...
- end
-
- window = menu
- ; ... objets du menu ...
- end
-
- window = playbar
- ; ... objets de la la barre de lecture ...
- end
-end
-</programlisting>
-</para>
-
-<para>
-Le nom d'un fichier image doit être donné sans distinction de répertoire - les
-images seront cherchées dans le répertoire <filename class="directory">skins</filename>.
-Vous pouvez (mais ce n'est pas obligatoire) spécifier l'extension du fichier. Si
-le fichier n'existe pas, <application>MPlayer</application> essaie de charger le fichier
-<filename><nomfichier>.<ext></filename>, où <literal>png</literal>
-et <literal>PNG</literal> sera respectivement <filename><ext></filename>
-(dans cet ordre). La première correspondance trouvée sera utilisée.
-</para>
-
-<para>
-Pour finir quelques mots sur le positionnement. La fenêtre principale et la
-sous-fenêtre peuvent être placées dans des coins différents de l'écran en donnant
-les coordonnées <literal>X</literal> et <literal>Y</literal>. <literal>0</literal>
-pour haut ou gauche, <literal>-1</literal> pour centre et <literal>-2</literal>
-pour droite ou bas, comme montré sur cette illustration:
-</para>
-<informalfigure>
-<screen>
-(0, 0)----(-1, 0)----(-2, 0)
- | | |
- | | |
-(0,-1)----(-1,-1)----(-2,-1)
- | | |
- | | |
-(0,-2)----(-1,-2)----(-2,-2)
-</screen>
-</informalfigure>
-
-<para>
-
-Un exemple. Supposons que vous avez crée une image <filename>main.png</filename>
-que vous voulez utiliser pour la fenêtre principale:
-<programlisting>base = main, -1, -1</programlisting>
-MPlayer essaie de charger les fichiers <filename>main</filename>,
-<filename>main.png</filename>, <filename>main.PNG</filename>.
-</para>
-
-
-<sect2 id="skin-file-main">
-<title>Fenêtre principale et barre de lecture</title>
-<para>
-Vous trouverez ci-dessous la liste des objets utilisables dans les blocs
-'<literal>window = main</literal>' ... '<literal>end</literal>',
-et '<literal>window = playbar</literal>' ... '<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-main-base"/>base = image, X, Y
- </literal></term>
- <listitem><para>
- Vous spécifiez ici l'image de fond utilisée dans la fenêtre principale. La
- fenêtre apparaîtra a la position <literal>X,Y</literal> sur l'écran. La fenêtre
- aura la taille de l'image.
- </para>
- <note><para>Ces coordonnées ne fonctionnent actuellement pas pour la fenêtre
- d'affichage.</para></note>
- <warning><para>Les régions transparentes (couleur #FF00FF) apparaîtront en noir
- sur les serveurs X n'ayant pas l'extension XShape. La largeur de l'image doit
- être divisible par 8.</para></warning>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-button"/>button = image, X, Y, largeur, hauteur, message
- </literal></term>
- <listitem><para>
-Place un bouton de taille <literal>largeur</literal> * <literal>hauteur</literal>
-a la position <literal>X,Y</literal>. Le <literal>message</literal> sera généré
-au clic sur ce bouton. L'image appelée par <literal>image</literal> doit avoir
-trois états empilés verticalement (pour les trois états du bouton), comme ceci:
-
-</para>
-<informalfigure>
-<screen>
-+------------+
-| pressé |
-+------------+
-| relâché |
-+------------+
-| désactivé |
-+------------+
-</screen>
-</informalfigure>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-decoration"/>decoration = enable|disable
- </literal></term>
- <listitem><para>
-Active (enable) ou désactive (disable) la décoration du gestionnaire de fenêtre
-pour la fenêtre principale. <emphasis role="bold">disable</emphasis> par défaut.
- </para>
- <note><para>Cela ne fonctionne pas pour la fenêtre d'affichage, il n'y en a pas
- besoin.</para></note>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-hpotmeter"/>hpotmeter = button, blargeur, bhauteur, phases, numphases, default, X, Y, largeur, hauteur, message
- </literal></term>
- <listitem><para>
-
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-vpotmeter"/>vpotmeter = button, blargeur, bhauteur, phases, numphases, default, X, Y, largeur, hauteur, message
- </literal></term>
- <listitem><para>
-
-Place un podomètre horizontal (hpotmeter) ou vertical (vpotmeter) de taille
-<literal>largeur</literal> * <literal>hauteur</literal> Ã la position
-<literal>X,Y</literal>. L'image peut être divisée en différentes parties pour les
-différentes phases du podomètre (par exemple, vous pouvez en avoir un pour le
-contrôle du volume qui passe du vert au rouge quand sa valeur passe du minimum au
-maximum). <literal>hpotmeter</literal> peut posséder un bouton qui sera glissé
-horizontalement.
- </para>
- <itemizedlist>
- <listitem><para><literal>button</literal> - l'image utilisée pour le bouton (doit
- avoir trois états superposés, comme pour les
- <link linkend="skin-button">boutons</link>)
- </para></listitem>
- <listitem><para><literal>blargeur</literal>,<literal>bhauteur</literal> - taille
- du bouton
- </para></listitem>
- <listitem><para><literal>phases</literal> - l'image utilisée pour les différentes
- phases du podomètre. Une valeur <literal>NULL</literal> spéciale peut-être
- utilisée si vous ne voulez pas d'image. L'image doit être divisée en
- <literal>numphasesparts</literal> verticalement comme ceci:
- </para>
-<informalfigure>
-<screen>
-+------------+
-| phase #1 |
-+------------+
-| phase #2 |
-+------------+
- ...
-+------------+
-| phase #n |
-+------------+
-</screen>
-</informalfigure>
- </listitem>
- <listitem><para><literal>numphases</literal> - nombre d'états placés dans l'image <literal>phases</literal>.
- </para></listitem>
- <listitem><para><literal>default</literal> - valeur par défaut du podomètre (dans
- un intervalle de <literal>0</literal> Ã <literal>100</literal>)
- </para></listitem>
- <listitem><para><literal>X</literal>,<literal>Y</literal> - position du hpotmeter
- </para></listitem>
- <listitem><para><literal>largeur</literal>,<literal>hauteur</literal> -
- largeur et hauteur du <literal>hpotmeter</literal>
- </para></listitem>
- <listitem><para><literal>message</literal> - le message généré lors des
- changements d'état de <literal>hpotmeter</literal>
- </para></listitem>
- </itemizedlist>
-
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, largeur, hauteur, message
- </literal></term>
- <listitem><para>
-Un <literal>hpotmeter</literal> sans bouton. (je suppose qu'il est censé tourner
-en rond, mais il réagit uniquement aux tractions horizontales.) Pour une
-description de ses paramètres lisez <link linkend="skin-hpotmeter">hpotmeter</link>.
-Ses <literal>phases</literal> peuvent être fixées à <literal>NULL</literal>, mais ce n'est
-pas vraiment utile, puisque vous ne pouvez pas voir son niveau.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-font"/>font = fontfile, fontid
- </literal></term>
- <listitem><para>
-Définit une police. <literal>fontfile</literal> est le nom du descripteur de
-police avec l'extension <filename>.fnt</filename> (inutile de préciser son
-extension ici). <literal>fontid</literal> réfère à la police (c.f.
-<link linkend="skin-dlabel">dlabel</link> et <link linkend="skin-slabel">slabel</link>).
-Jusqu'à 25 polices peuvent être définies.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-slabel"/>slabel = X, Y, fontid, "texte"
- </literal></term>
- <listitem><para>
-Place un label dynamique à la position <literal>X,Y</literal>. <literal>texte</literal>
-est affiché en utilisant la police identifiée par <literal>fontid</literal>. Le
-texte est juste une chaîne brute (les variables <literal>$x</literal> ne
-fonctionnent pas) qui doit être mise entre doubles quotes (mais le caractère
-" ne peut pas faire partie du texte). Le label est affiché en utilisant la
-police identifiée par <literal>fontid</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-dlabel"/>dlabel = X, Y, longueur, align, fontid, "texte"
- </literal></term>
- <listitem>
-<para>
-Place un label statique à la position <literal>X,Y</literal>. Le label est appelé
-dynamique parce que son texte est rafraîchi périodiquement. La longueur maximum du
-label est définie par <literal>longueur</literal> (sa hauteur dépend de la hauteur
-des caractères). Si le texte a afficher dépasse cette longueur il sera scrollé, ou
-bien aligné dans l'espace spécifié par la valeur du paramètre
-<literal>align</literal>: <literal>0</literal> pour droite,
-<literal>1</literal> pour centre, et <literal>2</literal> pour gauche.
-</para>
-<para>
-Le texte à afficher est donné par <literal>texte</literal>: il doit être écrit
-entre doubles quotes (mais le caractère " ne peut pas faire partie du texte).
-Le texte s'affiche en utilisant la police spécifiée par <literal>fontid</literal>.
-Vous pouvez utiliser les variables suivantes dans le texte:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Variable</entry><entry>Signification</entry></row>
-</thead>
-<tbody>
-<row>
-<entry>$1</entry>
-<entry>temps de lecture au format <emphasis>hh:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$2</entry>
-<entry>temps de lecture au format <emphasis>mmmm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$3</entry>
-<entry>temps de lecture au format <emphasis>hh</emphasis> (heures)</entry>
-</row>
-<row>
-<entry>$4</entry>
-<entry>temps de lecture au format <emphasis>mm</emphasis> (minutes)</entry>
-</row>
-<row>
-<entry>$5</entry>
-<entry>temps de lecture au format <emphasis>ss</emphasis> (secondes)</entry>
-</row>
-<row>
-<entry>$6</entry>
-<entry>longueur du film au format <emphasis>hh:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$7</entry>
-<entry>longueur du film au format <emphasis>mmmm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$8</entry>
-<entry>temps de lecture au format <emphasis>h:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$v</entry>
-<entry>volume au format <emphasis>xxx.xx</emphasis>%</entry>
-</row>
-<row>
-<entry>$V</entry>
-<entry>volume au format <emphasis>xxx.xx</emphasis></entry>
-</row>
-<row>
-<entry>$b</entry>
-<entry>balance au format <emphasis>xxx.xx</emphasis>%</entry>
-</row>
-<row>
-<entry>$B</entry>
-<entry>balance au format <emphasis>xxx.xx</emphasis></entry>
-</row>
-<row>
-<entry>$$</entry>
-<entry>le caractère $</entry>
-</row>
-<row>
-<entry>$a</entry>
-<entry>un caractère dépendant du type audio (aucun: <literal>n</literal>,
-mono: <literal>m</literal>, stéréo: <literal>t</literal>)</entry>
-</row>
-<row>
-<entry>$t</entry>
-<entry>numéro de piste (dans la playlist)</entry>
-</row>
-<row>
-<entry>$o</entry>
-<entry>nom du fichier</entry>
-</row>
-<row>
-<entry>$f</entry>
-<entry>nom du fichier en minuscule</entry>
-</row>
-<row>
-<entry>$F</entry>
-<entry>nom du fichier en majuscule</entry>
-</row>
-<row>
-<entry>$T</entry>
-<entry>un caractère dépendant du type de flux (fichier: <literal>f</literal>,
-Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
-</row>
-<row>
-<entry>$p</entry>
-<entry>le caractère <keycap>p</keycap> (si une vidéo est en lecture et que la
-police a le caractère <keycap>p</keycap>)</entry>
-</row>
-<row>
-<entry>$s</entry>
-<entry>le caractère <keycap>s</keycap> (si une vidéo est stoppée et que la police
-a le caractère <keycap>s</keycap>)</entry>
-</row>
-<row>
-<entry>$e</entry>
-<entry>le caractère <keycap>e</keycap> (si une vidéo est en pause et que la police
-a le caractère <keycap>e</keycap>)</entry>
-</row>
-<row>
-<entry>$x</entry>
-<entry>largeur du film</entry>
-</row>
-<row>
-<entry>$y</entry>
-<entry>hauteur du film</entry>
-</row>
-<row>
-<entry>$C</entry>
-<entry>nom du codec utilisé</entry>
-</row>
-
-</tbody>
-</tgroup>
-</informaltable>
-</listitem>
-
-</varlistentry>
-</variablelist>
-
-<note><para>
-Les variables <literal>$a, $T, $p, $s</literal> et <literal>$e</literal>
-<keycap>e</keycap> retournent toutes des caractères pouvant s'afficher comme des
-symboles spéciaux (par exemple, <keycap>e</keycap> est le symbole de pause qui
-ressemble généralement à ||). Vous pouvez avoir une police pour les caractères
-normaux et une autre pour les symboles. Lisez la section sur les
-<link linkend="skin-fonts-symbols">symboles</link> pour plus d'informations.
-</para></note>
-</sect2>
-
-<sect2 id="skin-file-subwindow">
-<title>Sous-fenêtre</title>
-<para>
-Vous trouverez ci-dessous la liste des objets utilisables dans le bloc
-'<literal>window = sub</literal>' . . . '<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-sub-base"/>base = image, X, Y, largeur, hauteur
- </literal></term>
- <listitem><para>
-L'image qui s'affichera dans la fenêtre. La fenêtre apparaîtra à la position
-<literal>X,Y</literal> sur l'écran (<literal>0,0</literal> est le coin supérieur
-gauche). Vous pouvez spécifier <literal>-1</literal> pour centre et <literal>-2</literal>
-pour droite (<literal>X</literal>) et bas (<literal>Y</literal>). La fenêtre prendra
-la taille de l'image. <literal>largeur</literal> et <literal>hauteur</literal>
-donnent la taille de la fenêtre; ces paramètres sont optionnels (si ils sont
-absents, le fenêtre prend la taille de l'image).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-background"/>background = R, V, B
- </literal></term>
- <listitem><para>
-Vous permet de définir la couleur de fond. Utile si l'image est plus petite que la
-fenêtre. <literal>R</literal>, <literal>V</literal> et <literal>B</literal>
-spécifient les composantes rouge, verte et bleue de la couleur (d'un intervalle
-entre 0 et 255).
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<sect2 id="skin-file-menu">
-<title>Menu</title>
-<para>
-Comme mentionné précédemment, le menu s'affiche en utilisant deux images. Les
-entrées normales du menu sont extraites de l'image spécifiée par l'objet
-<literal>base</literal>, tandis que l'entrée actuellement sélectionnée est
-extraite de l'image spécifiée par l'objet <literal>selected</literal>. Vous devez
-définir la taille et la position de chaque entrée du menu par l'objet
-<literal>menu</literal>.
-</para>
-
-<para>
-Ils correspondent aux objets utilisés dans le bloc
-'<literal>window = menu</literal>'. . .'<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu-base"/>base = image
- </literal></term>
- <listitem><para>
-L'image utilisée pour les entrées normales.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-selected"/>selected = image
- </literal></term>
- <listitem><para>
-L'image utilisée pour les entrées sélectionnées.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu"/>menu = X, Y, largeur, hauteur, message
- </literal></term>
- <listitem><para>
-Définit la position <literal>X,Y</literal> et la taille des entrées du menu dans
-les images. <literal>message</literal> est le message généré quand le bouton de la
-souris est relâché.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-<sect1 id="skin-fonts">
-<title>Polices</title>
-<para>
-Comme mentionné dans la section sur les parties de la skin, une police est définie
-par une image et un fichier de description. Vous pouvez placer les caractères
-n'importe ou sur l'image, mais vous devez vous assurer que leur position et taille
-correspondent précisément au fichier de description.
-</para>
-
-<para>
-Le fichier descriptif des polices (avec l'extension <filename>.fnt</filename>)
-peut avoir des lignes de commentaires commençant par '<literal>;</literal>'.
-Le fichier doit avoir une ligne du type
-<anchor id="skin-font-image"/>
-<programlisting>image = <replaceable>image</replaceable></programlisting>
-Où <literal><replaceable>image</replaceable></literal> est le nom de l'image qui
-sera utilisée pour la police (vous n'avez pas à définir d'extension).
-<anchor id="skin-font-char"/>
-<programlisting>"char" = X, Y, largeur, hauteur</programlisting>
-Ici <literal>X</literal> et <literal>Y</literal> précisent la position du caractère
-<literal>char</literal> dans l'image (<literal>0,0</literal> est le coin supérieur
-gauche). <literal>largeur</literal> et <literal>hauteur</literal> sont les
-dimensions du caractère en pixels.
-</para>
-
-<para>
-Voici un exemple définissant les caractères A, B, C utilisant <filename>font.png</filename>.
-<programlisting>
-; Peut être "font" au lieu de "font.png".
-image = font.png
-
-; Trois caractères suffisent pour une démonstration. :-)
-"A" = 0,0, 7,13
-"B" = 7,0, 7,13
-"C" = 14,0, 7,13
-</programlisting>
-</para>
-
-<sect2 id="skin-fonts-symbols">
-<title>Symboles</title>
-<para>
-Certains caractères ont une signification spéciale quand ils sont retournés par des
-variables utilisées dans <link linkend="skin-dlabel">dlabel</link>. Ces caractères
-sont censés s'afficher comme des symboles (par exemple, dans le cas d'une lecture
-DVD, vous pouvez afficher un beau logo DVD a la place du caractère '<literal>d</literal>').
-</para>
-<para>
-La table ci-dessous liste les caractères pouvant s'afficher comme des symboles (et
-nécessitent donc une police différente).
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Caractère</entry><entry>Symbole</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>p</keycap></entry><entry>lecture</entry></row>
-<row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
-<row><entry><keycap>e</keycap></entry><entry>pause</entry></row>
-<row><entry><keycap>n</keycap></entry><entry>pas de son</entry></row>
-<row><entry><keycap>m</keycap></entry><entry>son mono</entry></row>
-<row><entry><keycap>t</keycap></entry><entry>son stéréo</entry></row>
-<row><entry><keycap>f</keycap></entry><entry>lecture depuis un fichier</entry></row>
-<row><entry><keycap>v</keycap></entry><entry>lecture depuis un Video CD</entry></row>
-<row><entry><keycap>d</keycap></entry><entry>lecture depuis un DVD</entry></row>
-<row><entry><keycap>u</keycap></entry><entry>lecture depuis une URL</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-<sect1 id="skin-gui">
-<title>Messages de la GUI</title>
-<para>
-Ce sont les messages qui peuvent être générés par les boutons, podomètres et
-entrées du menu.
-</para>
-
-<variablelist>
-<title>Contrôle de lecture:</title>
-<varlistentry>
- <term><emphasis role="bold">evNext</emphasis></term>
- <listitem><para>
-Saute à la prochaine piste dans la playlist.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPause</emphasis></term>
- <listitem><para>
-Associé à la commande <literal>evPlaySwitchToPause</literal>. Ils s'utilisent pour
-avoir un bouton play/pause commun. Les deux messages peuvent être assignés aux
-boutons affichés exactement à la même position dans la fenêtre. Ces messages mettent
-la lecture en pause et le bouton <literal>evPlaySwitchToPause</literal> s'affiche
-(pour indiquer que le bouton peut être pressé pour continuer la lecture).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlay</emphasis></term>
- <listitem><para>
-Commence la lecture.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
- <listitem><para>
-Le contraire de <literal>evPauseSwitchToPlay</literal>. Ce message démarre la
-lecture et l'image associée au bouton <literal>evPauseSwitchToPlay</literal>
-s'affiche (pour indiquer que le bouton peut être pressé pour mettre en pause la lecture).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPrev</emphasis></term>
- <listitem><para>
-Saute à la piste précédente dans la playlist.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evStop</emphasis></term>
- <listitem><para>
-Stoppe la lecture.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Déplacement dans le flux:</title>
-<varlistentry>
- <term><emphasis role="bold">evBackward10sec</emphasis></term>
- <listitem><para>
-Recule de 10 secondes.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward1min</emphasis></term>
- <listitem><para>
-Recule de 1 minute.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward10min</emphasis></term>
- <listitem><para>
-Recule de 10 minutes.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10sec</emphasis></term>
- <listitem><para>
-Avance de 10 secondes.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward1min</emphasis></term>
- <listitem><para>
-Avance de 1 minute.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10min</emphasis></term>
- <listitem><para>
-Avance de 10 minutes.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
- <listitem><para>
-Se place à la position (utilisable avec un podomètre; utilise la valeur relative
-(0-100%) du podomètre).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Contrôle vidéo:</title>
-<varlistentry>
- <term><emphasis role="bold">evHalfSize</emphasis></term>
- <listitem><para>
-Réduit de moitié la taille de la fenêtre vidéo.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evDoubleSize</emphasis></term>
- <listitem><para>
-Double la taille de la fenêtre vidéo.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evFullScreen</emphasis></term>
- <listitem><para>
-Passe en mode plein écran.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evNormalSize</emphasis></term>
- <listitem><para>
-Met la vidéo à sa taille réelle.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Contrôle audio:</title>
-<varlistentry>
- <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
- <listitem><para>
-Diminue le délai du tampon audio.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecBalance</emphasis></term>
- <listitem><para>
-Diminue la balance.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecVolume</emphasis></term>
- <listitem><para>
-Diminue le volume.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
- <listitem><para>
-Augmente le délai du tampon audio.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncBalance</emphasis></term>
- <listitem><para>
-Augmente la balance.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncVolume</emphasis></term>
- <listitem><para>
-Augmente le volume.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evMute</emphasis></term>
- <listitem><para>
-Active/désactive le son.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetBalance</emphasis></term>
- <listitem><para>
-Fixe la balance (utilisable avec un podomètre; utilise la valeur relative (0-100%)
-du podomètre).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetVolume</emphasis></term>
- <listitem><para>
-Fixe le volume (utilisable avec un podomètre; utilise la valeur relative (0-100%)
-du podomètre).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Divers:</title>
-<varlistentry>
- <term><emphasis role="bold">evAbout</emphasis></term>
- <listitem><para>
-Ouvre la fenêtre 'A Propos'.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDropSubtitle</emphasis></term>
- <listitem><para>
-Désactive le sous-titre actuellement utilisé.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evEqualizer</emphasis></term>
- <listitem><para>
-Active/désactive l'équalizer.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evExit</emphasis></term>
- <listitem><para>
-Quitte le programme.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIconify</emphasis></term>
- <listitem><para>
-Iconifie la fenêtre.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoad</emphasis></term>
- <listitem><para>
-Charge un fichier (en ouvrant un mini navigateur de fichiers, où vous pouvez
-choisir un fichier).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadPlay</emphasis></term>
- <listitem><para>
-Fait la même chose que <literal>evLoad</literal>, mais démarre la lecture
-automatiquement après le chargement du fichier.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
- <listitem><para>
-Charge un fichier de sous-titres (avec un sélecteur de fichier)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
- <listitem><para>
-Charge un fichier audio (avec un sélecteur de fichier)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evNone</emphasis></term>
- <listitem><para>
-Message vide, sans effet. (à part peut-être dans les versions CVS :-)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaylist</emphasis></term>
- <listitem><para>
-Ouvre/ferme la playlist.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayDVD</emphasis></term>
- <listitem><para>
-Essaie d'ouvrir le disque dans le lecteur DVD-ROM indiqué.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayVCD</emphasis></term>
- <listitem><para>
-Essaie d'ouvrir le disque dans le lecteur CD-ROM indiqué.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPreferences</emphasis></term>
- <listitem><para>
-Ouvre la fenêtre de préférences.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetAspect</emphasis></term>
- <listitem><para>
-Fixe l'aspect de l'image.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetURL</emphasis></term>
- <listitem><para>
-Ouvre la fenêtre de saisie d'URL.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSkinBrowser</emphasis></term>
- <listitem><para>
-Ouvre le navigateur de skins.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-</sect1>
-
-<sect1 id="skin-quality">
-<title>Créer des skins de qualité</title>
-
-<para>
-Vous avez lu toute la doc expliquant comment faire un skin pour la GUI de
-<application>MPlayer</application>, fait de votre mieux avec
-<application>Gimp</application> et souhaitez nous soumettre votre skin?
-Lisez les guidelines pour éviter les erreurs communes et produire
-un skin de haute qualité.
-</para>
-
-<para>
-Nous voulons des skins que nous puissions ajouter à notre repository pour se
-conformer à certain standards de qualité. Il y a aussi un nombre de choses que
-vous pouvez faire pour rendre notre vie plus simple.
-</para>
-
-<para>
-En tant qu'exemple, vous pouvez jeter un oeil à la skin <systemitem>Blue</systemitem>,
-elle satisfait tous les critères listé ci-dessous depuis la version 1.5.
-</para>
-
-<itemizedlist>
-<listitem><para>Chaque skin devra joindre un fichier
-<filename>README</filename> qui contiendra les informations sur
-vous, l'auteur, le copyright et les notices de licence et n'importe quoi d'autre
-que vous souhaitiez ajouter. Si vous désirez avoir un changelog, ce fichier est
-le bon endroit.</para></listitem>
-
-<listitem><para>Il devrez y avoir un fichier <filename>VERSION</filename>
-avec rien de plus que le numéro de version de la skin sur une simple
-ligne (e.g. 1.0).</para></listitem>
-
-<listitem><para>Les contrôles horizontaux et verticaux (sliders comme le volume
-ou la position) devront avoir le centre du bouton proprement centré sur
-le milieu du slider. Il devra être possible de bouger le bouton aux deux
-extrémités du slider, mais pas de le dépasser.</para></listitem>
-
-<listitem><para>Les éléments de la skin devront avoir les bonnes tailles déclarées
-dans le fichier de la skin. Si cela n'est pas le cas vous pouvez cliquer en
-dehors e.g. un bouton et encore le déclencher ou cliquer à l'intérieur de sa
-zone et ne pas le déclencher.</para></listitem>
-
-<listitem><para>le fichier <filename>skin</filename> devra être prettyprinted
-et ne pas contenir d'onglets. Prettyprinted signifie que les chiffres devront
-s'aligner de façon ordonnée dans les colonnes</para></listitem>
-</itemizedlist>
-
-</sect1>
-</appendix>
diff --git a/DOCS/xml/fr/usage.xml b/DOCS/xml/fr/usage.xml
deleted file mode 100644
index 3bceca6..0000000
--- a/DOCS/xml/fr/usage.xml
+++ /dev/null
@@ -1,1946 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r20041 -->
-<chapter id="usage">
-<title>Utilisation</title>
-
-<sect1 id="commandline">
-<title>Ligne de commande</title>
-
-<para>
-<application>MPlayer</application> utilise un ordre de lecture complexe.
-Les options globales sont écrites en premier, par exemple
-
-<screen>mplayer -vfm 5</screen>
-
-et les options écrites après les noms de fichier s'appliquent
-uniquement au nom de fichier/URL/autre donné, par exemple
-
-<screen>mplayer -vfm 5 <replaceable>film1.avi</replaceable> <replaceable>film2.avi</replaceable> -vfm 4</screen>
-</para>
-
-<para>
-Vous pouvez regrouper les noms de fichiers/URLs en utilisant <literal>{</literal>
-et <literal>}</literal>. C'est utile avec l'option <option>-loop</option>:
-
-<screen>mplayer { 1.avi - loop 2 2.avi } -loop 3</screen>
-
-La commande ci-dessus jouera les fichiers dans cet ordre: 1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-Lecture d'un fichier:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>options</replaceable>]<!--
---> [<replaceable>chemin</replaceable>/]<replaceable>fichier</replaceable>
-</synopsis>
-</para>
-
-<para>
-Autre façon de lire un fichier:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>options</replaceable>]<!--
---> <replaceable>file:///chemin-uri-escaped</replaceable>
-</synopsis>
-</para>
-
-<para>
-Lecture de plusieurs fichiers:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>options par défaut</replaceable>]<!--
---> [<replaceable>chemin</replaceable>/]<replaceable>fichier1</replaceable><!--
---> [<replaceable>options pour fichier1</replaceable>]<!--
---> <replaceable>fichier2</replaceable><!--
---> [<replaceable>options pour fichier2</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-Lecture de VCD:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> vcd://<replaceable>N°piste</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Lecture de DVD:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> dvd://<replaceable>N°titre</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Lecture à partir du web:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> http://<replaceable>site.com/fichier.asf</replaceable>
-</synopsis>
-(les listes de lecture peuvent également être utilisées)
-</para>
-
-<para>
-Lecture à partir de RTSP:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> rtsp://<replaceable>serveur.exemple.com/nomFlux</replaceable>
-</synopsis>
-</para>
-
-<para>
-Exemples:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cd-rom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/films/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<sect1 id="subosd">
-<title>Sous-titres et OSD</title>
-
-<para>
- <application>MPlayer</application> peut afficher des sous-titres durant le film.
- Les formats suivants sont supportés:
-<itemizedlist>
-<listitem><para>VobSub</para></listitem>
-<listitem><para>OGM</para></listitem>
-<listitem><para>CC (closed caption)</para></listitem>
-<listitem><para>MicroDVD</para></listitem>
-<listitem><para>SubRip</para></listitem>
-<listitem><para>SubViewer</para></listitem>
-<listitem><para>Sami</para></listitem>
-<listitem><para>VPlayer</para></listitem>
-<listitem><para>RT</para></listitem>
-<listitem><para>SSA</para></listitem>
-<listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
-<listitem><para>MPsub</para></listitem>
-<listitem><para>AQTitle</para></listitem>
-<listitem><para><ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> peut convertir les formats précédemment listés
-(<emphasis role="bold">excepté les trois premiers</emphasis>)
-dans dans les formats de destinations suivants, en utilisant ces options:
-<itemizedlist>
-<listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
-<listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
-<listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
-<listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
-<listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-
-<para>
-<application>MEncoder</application> peut convertir les sous-titres DVD au format <link linkend="menc-feat-extractsub">VOBSub</link>.
-</para>
-
-<para>
-Les options en ligne de commande diffèrent légèrement suivant les différents formats:
-</para>
-
-<formalpara>
-<title>Sous-titres VOBSub</title>
-<para>
-Les sous-titres VOBSub consistent en un gros (plusieurs méga-octets) fichier <filename>.SUB</filename>,
-et d'éventuels fichiers <filename>.IDX</filename> et/ou <filename>.IFO</filename>.
-Si vous avez des fichiers tels que
-<filename><replaceable>sample.sub</replaceable></filename>,
-<filename><replaceable>sample.ifo</replaceable></filename> (optionnel),
-<filename><replaceable>sample.idx</replaceable></filename> -
-vous devrez passer à <application>MPlayer</application> l'option
-<option>-vobsub sample [-vobsubid <replaceable>id</replaceable>]</option>
-(éventuellement avec le chemin complet). L'option <option>-vobsubid</option> est comme l'option
-<option>-sid</option> pour les DVDs, vous pouvez choisir les pistes de sous-titres (langues) avec.
-Au cas où <option>-vobsubid</option> est omis, <application>MPLayer</application> essaiera
-d'utiliser les langues indiqués par l'option <option>-slang</option> et se rabattra sur l'objet
-<systemitem>langidx</systemitem> du fichier <filename>.IDX</filename> pour définir la langue
-de sous-titres. Si cela échoue, il n'y aura pas de sous-titres.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Autres sous-titres</title>
-<para>
-Les autres formats consistent en un seul fichier texte contenant le timing,
- l'emplacement et autres infos du texte. Utilisation: si vous avez un fichier tel que
-<filename><replaceable>exemple.txt</replaceable></filename>, vous devrez passer l'option <option>-sub
-exemple.txt</option> (éventuellement avec le chemin complet).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Réglage du timing et de l'emplacement des sous-titres:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>sec</replaceable></option></term>
- <listitem><para>
- Décale les sous-titres de <option><replaceable>sec</replaceable></option> secondes.
- Peut être négatif. La valeur est ajouté au compteur d'avancement du film (movie's time position counter).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>DÃBIT</replaceable></option></term>
- <listitem><para>
- Spécifie le rapport trame/sec du fichier de sous-titres (nombre à virgule).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- Spécifie la position des sous-titres sur l'écran.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Si vous constatez un décalage progressif entre le film et les sous-titres en
-utilisant un fichier de sous-titres MicroDVD, il est probable que la vitesse
-du film et celle des sous-titres soient différentes. Veuillez noter que le format
-de sous-titres MicroDVD utilise des numéros de trames absolus pour sa synchronisation,
-mais il ne contient pas d'information sur les fps et de ce fait l'option <option>-subfps</option> devrait être utilisée avec ce format.
-Si vous voulez résoudre ce problème de manière permanente,
-vous devez convertir manuellement le débit des trames du fichier de sous-titres.
-<application>MPlayer</application> peut faire cette conversion pour vous:
-
-<screen>mplayer -dumpmicrodvdsub -fps <replaceable>subtitles_fps</replaceable> -subfps
- <replaceable>avi_fps</replaceable> -sub <replaceable>subtitle_filename</replaceable>
- <replaceable>dummy.avi</replaceable></screen>
-</para>
-
-<para>
-A propos des sous-titres DVD, voir la section <link linkend="dvd">DVD</link>.
-</para>
-</sect1>
-
-<sect1 id="control">
-<title>Contrôles</title>
-
-<para>
-<application>MPlayer</application> dispose d'une couche de contrôle pleinement
-configurable, qui vous permet de contrôler <application>MPlayer</application>
-avec le clavier, la souris, le joystick ou une télécommande (en utilisant LIRC).
-Voir la page de man pour une liste complète des contrôles clavier.
-</para>
-
-
-<sect2 id="ctrl-cfg">
-<title>Configuration des contrôles</title>
-
-<para>
-<application>MPlayer</application> vous permet d'associer n'importe quel
-touche/bouton à n'importe quelle commande <application>MPlayer</application> en
-utilisant un simple fichier de configuration.
-La syntaxe consiste un nom de touche suivi d'une commande. Le fichier
-de config par défaut est <filename>$HOME/.mplayer/input.conf</filename> mais cela
-peut être outrepassé en utilisant l'option <option>-input <replaceable>conf</replaceable></option>
-(les chemins relatifs le sont par rapport à <filename>$HOME/.mplayer</filename>).
-</para>
-
-<para>
-Vous pouvez obtenir une liste complète des touches supportées en tapant
-<command>mplayer -input keylist</command>
-et une liste complète des commandes disponibles en tapant
-<command>mplayer -input cmdlist</command>.
-</para>
-
-<example id="input_control_file">
-<title>Un simple fichier de contrôles</title>
-<programlisting>
-##
-## MPlayer input control file
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-</sect2>
-
-
-<sect2 id="lirc">
-<title>Control from LIRC</title>
-
-<para>
-Linux Infrared Remote Control - utilisez un récepteur infrarouge fait
-maison, une télécommande, et contrôlez votre linux à distance ! Plus d'infos
-sur <ulink url="http://www.lirc.org">la page de LIRC</ulink>.
-</para>
-
-<para>
-Si vous avez installé le paquet LIRC, <filename>configure</filename> le détectera
-automatiquement.
-Si tout s'est bien passé, <application>MPlayer</application> affichera un
-message du genre "<computeroutput>Setting up LIRC support...</computeroutput>"
-au démarrage. Si une erreur se produit il vous le dira. Si il ne vous dit
-rien à propos de LIRC c'est que son support n'est pas compilé. C'est tout :-)
-</para>
-
-<para>
-Le nom de l'application à lancer avec <application>MPlayer</application> est
-- oh surprise - <filename>mplayer</filename>. Vous pouvez utiliser n'importe
-quelle commande <application>MPlayer</application> et même passer plus d'une commande
-en les séparant avec <literal>\n</literal>.
-N'oubliez pas d'activer le flag repeat dans <filename>.lircrc</filename> quand cela
-est approprié (déplacement, volume, etc).
-Voici un extrait d'un fichier d'exemple
-<filename>.lircrc</filename>:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-Si vous n'aimez pas l'emplacement standard du fichier de config de lirc
-(<filename>~/.lircrc</filename>) utilisez <option>-lircconf
-<replaceable>nomfichier</replaceable></option> pour spécifier un autre fichier.
-</para>
-</sect2>
-
-
-<sect2 id="slave-mode">
-<title>Mode esclave</title>
-<para>
-Le mode esclave vous permet de construire un frontend Ã
-<application>MPlayer</application>. Quand il est activé (avec
-<option>-slave</option>) <application>MPlayer</application> lit les commandes
-séparées par un saut de ligne (\n) depuis l'entrée par défaut (stdin).
-Les commandes sont documentées dans le fichier
-<ulink url="../../tech/slave.txt">slave.txt</ulink>.
-</para>
-</sect2>
-</sect1>
-
-
-<sect1 id="streaming">
-<title>Streaming depuis le réseau ou les pipes</title>
-
-<para>
-<application>MPlayer</application> peut lire des fichiers depuis le réseau, en
-utilisant les protocoles HTTP, FTP, MMS ou RTSP/RTP.
-</para>
-
-<para>
-La lecture se fait juste en ajoutant l'URL Ã la ligne de commande.
-<application>MPlayer</application> utilise également la variable d'environnement
-<envar>http_proxy</envar>, et utilise le proxy si disponible. L'utilisation du proxy
-peut aussi être forcé:
-<screen>mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable></screen>
-</para>
-
-<para>
-<application>MPlayer</application> peut lire depuis stdin
-(<emphasis>pas</emphasis> depuis les pipes nommés). Cela peut être utilisé par
-exemple pour lire depuis le FTP:
-<screen>wget <replaceable>ftp://micorsops.com/quelquechose.avi</replaceable> -O - | mplayer -</screen>
-</para>
-
-<note><para>
-Il est également recommandé d'activer <option>-cache</option> pour une lecture
-depuis le réseau:
-<screen>wget <replaceable>ftp://micorsops.com/quelquechose.avi</replaceable> -O - | mplayer -cache 8192 -</screen>
-</para></note>
-
-<sect2 id="streaming-save">
-<title>Sauvegarder du contenu flux</title>
-<para>
-Une fois que vous avez réussi à faire lire
-votre flux internet favorit par <application>MPlayer</application>, vous pouvez utiliser l'option
-<option>-dumpstream</option> pour sauvegarder le flux dans un fichier.
-Par exemple:
-<screen>
-mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable>
-</screen>
-sauvegardera le contenu en flux depuis
-<replaceable>http://217.71.208.37:8006</replaceable> vers
-<replaceable>stream.asf</replaceable>.
-Cela marche avec tous les protocoles supportés par
-<application>MPlayer</application>, comme MMS, RSTP, et bien d'autre encore.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="mpst" xreflabel="Remote streams">
-<title>Flux distants</title>
-
-<para>
-Les flux distants vous permettent d'accéder à la plupart des types de flux de
-<application>MPlayer</application> depuis un hôte distant. Le but de cette fonction
-est de rendre possible l'utilisation du lecteur CD ou DVD d'un autre ordinateur
-sur le réseau (en supposant que vous ayez une bande passante suffisante). Malheureusement
-certains types de flux (pour l'instant TV et MF) ne sont pas utilisables Ã
-distance car ils sont implémentés au niveau du demuxer. C'est triste pour les
-flux MF mais les flux TV nécessiteraient une bande passante incensée.
-</para>
-
-<sect2 id="compile_mpst_server">
-<title>Compilation du serveur</title>
-<para>
-Après avoir compilé <application>MPlayer</application>, allez dans le répertoire
-<filename>TOOLS/netstream</filename> et tapez
-<application>make</application> pour compiler le serveur.
-Vous pouvez ensuite copier le binaire <application>netstream</application>
-dans l'endroit approprié sur votre système (généralement
-<filename class="directory">/usr/local/bin</filename> sous Linux).
-</para>
-</sect2>
-
-<sect2 id="use_mpst">
-<title>Utilisation de flux distants</title>
-<para>
-Tout d'abord vous devez lancer le serveur sur l'ordinateur auquel vous souhaitez
-accéder à distance. Actuellement le serveur est très basique et n'accepte aucun
-argument en ligne de commande, donc tapez juste <filename>netstream</filename>.
-Maintenant vous pouvez par exemple jouer la seconde piste d'un VCD sur le serveur avec:
-<screen>
-mplayer -cache 5000 <replaceable>mpst://serveur/vcd://2</replaceable>
-</screen>
-Vous pouvez aussi accéder aux fichiers de ce serveur:
-
-<screen>
-mplayer -cache 5000 <replaceable>mpst://serveur//usr/local/films/lol.avi</replaceable>
-</screen>
-Veuillez noter que les chemins qui ne commencent pas par un / seront relatifs
-au répertoire dans lequel le serveur fonctionne. L'option <option>-cache</option>
-n'est pas requise mais vivement recommandée.
-</para>
-
-<para>
-Soyez conscient que pour l'instant le serveur n'est pas sécurisé du tout. Donc
-ne vous plaignez pas des nombreuses attaques possibles par cette voie. Ã la place
-envoyez-nous quelques (bons) patches pour le rendre meilleur ou écrivez votre propre
-serveur.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="drives">
-<title>Lecteurs CD/DVD</title>
-
-<para>
-Les lecteurs modernes de CD-ROM peuvent atteindre de très hautes vitesses de lecture,
-bien que certains soient capables de fonctionner à des vitesses réduites.
-Il y a plusieurs raisons possibles pour vouloir changer cette vitesse :
-</para>
-
-<itemizedlist>
-<listitem><para>
-Il a été signalé que des lecteurs peuvent commettre des erreurs de lecture Ã
-haute vitesse, surtout avec des CD-ROM mal pressés. Réduire la vitesse peut alors
-empêcher la perte de données dans ces circonstances.
-</para></listitem>
-
-<listitem><para>
-Les lecteurs CD-ROM génèrent souvent un bruit assourdissant, qu'une vitesse réduite
-peut contribuer à diminuer.
-</para></listitem>
-</itemizedlist>
-
-<!-- ********** -->
-
-<sect2 id="drives_linux">
-<title>Linux</title>
-
-<para>
-Vous pouvez réduire la vitesse des lecteurs de CD-ROM IDE avec <command>hdparm</command>,
-<command>setcd</command> ou <command>cdctl</command>. Ils fonctionnent comme
-suit :
-<screen>hdparm -E <replaceable>[vitesse]</replaceable> <replaceable>[périph. cdrom]</replaceable></screen>
-<screen>setcd -x <replaceable>[vitesse]</replaceable> <replaceable>[périph. cdrom]</replaceable></screen>
-<screen>cdctl -bS <replaceable>[vitesse]</replaceable></screen>
-</para>
-
-<para>
-Si vous utilisez l'émulation SCSI, vous pourriez avoir à appliquer les paramètres au
-vrai périphérique IDE, et non au périphérique SCSI émulé.
-</para>
-
-<para>
- Si vous avez les privilèges root, la commande suivante peut également
-aider :
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[périph. cdrom]</replaceable>/settings</screen>
-</para>
-
-<para>
-Ceci créé un cache de 2 Mo, ce qui est utile pour les CD-ROMs endommagés (rayés).
-Si vous lui donnez une valeur trop haute, le lecteur ne va pas cesser de s'arrêter
-et de repartir, ce qui va dramatiquement diminuer les performances. Il est
-également recommandé d'optimiser votre lecteur de CD-ROM avec
-<command>hdparm</command> :
-<screen>hdparm -d1 -a8 -u1 <replaceable>[périph. cdrom]</replaceable></screen>
-</para>
-
-<para>
-Ceci permet l'accès DMA, le cache en lecture, et l'IRQ unmasking (lisez la page de
-man de <command>hdparm</command> pour plus d'explications).
-</para>
-
-<para>
-Référez vous à "<filename>/proc/ide/<replaceable>[périph. cdrom]</replaceable>/settings</filename>"
-pour optimiser précisément votre lecteur CD-ROM.
-</para>
-
-<para>
-Les lecteurs SCSI n'ont pas une manière uniforme de régler ces paramètres
-(Vous en connaissez une ? Dites-la nous !). Il y a un outil qui
-fonctionne pour les
-<ulink url="http://das.ist.org/~georg/">Lecteurs SCSI Plextor</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="drives_freebsd">
-<title>FreeBSD</title>
-
-<para>Vitesse :
-<screen>
-cdcontrol [-f <replaceable>périphérique</replaceable>] speed <replaceable>[vitesse]</replaceable>
-</screen>
-</para>
-
-<para>DMA :
-<screen>
-sysctl hw.ata.atapi_dma=1
-</screen>
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="dvd">
-<title>Lecture de DVD</title>
-
-<para>
-Pour voir la liste complète des options disponibles, veuillez lire la page de man.
-La syntaxe pour lire un Digital Versatile Disc (DVD) est la suivante :
-<screen>mplayer dvd://<replaceable><piste></replaceable> [-dvd-device <replaceable><périphérique></replaceable>]</screen>
-</para>
-
-<para>
- Exemple :
- <screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-Si vous avez compilé <application>MPlayer</application> avec la gestion de dvdnav, la
-syntaxe est la même, sauf que que vous devrez utiliser dvdnav:// au lieu de dvd://.
-</para>
-
-<para>
-Le périphérique DVD par défaut est <filename>/dev/dvd</filename>. Si votre configuration
-est différente, faites un lien symbolique (symlink) ou spécifiez le bon périphérique en
-ligne de commande avec l'option <option>-dvd-device</option>.
-</para>
-
-<para>
-<application>MPlayer</application> utilise <systemitem>libdvdread</systemitem> et
-<systemitem>libdvdcss</systemitem> pour le décryptage et la lecture de DVD.
-Ces deux bibliothèques sont contenues dans le répertoire
-source de <application>MPlayer</application>, vous n'avez donc pas besoin de les
-installer séparément. Vous pouvez aussi utiliser les versions de ces deux bibliothèques
-qui sont peut-être déjà présentes sur votre système, mais cette solution n'est pas
-recommandée, dans la mesure où elle peut provoquer des bogues, des incompatibilités
-de bibliothèque et une vitesse réduite.
-</para>
-
-<note><para>
-En cas de problème de décodage de DVD, essayez de désactiver supermount, ou
-tous les outils de ce genre. Certains lecteurs RPC-2 peuvent aussi nécessiter
-le réglage de leur code de région.
-</para></note>
-
-<formalpara>
- <title>Décodage DVD</title>
- <para>
- Le décodage DVD est réalisé par <systemitem>libdvdcss</systemitem>. La
- méthode peut être spécifiée par la variable d'environnement
- <envar>DVDCSS_METHOD</envar>. Voir le manuel pour plus de détails.
-</para>
-</formalpara>
-
-<sect2 id="region_code">
-<title>Code zone</title>
-<para>
- Les lecteurs DVD d'aujourd'hui sont équipés d'une restriction sans queue ni
- tête appelée <ulink
-url="http://fr.wikipedia.org/wiki/DVD#Protections_commerciales_par_zones">
- protection commerciale par zones </ulink>.
- C'est un système qui oblige les lecteurs DVD à accepter uniquement les DVDs
- produits pour l'une des six zones qui découpent le monde. Il est
- impensable qu'un groupe de personne se réunisse pour arriver à élaborer une
- telle idée et pense que la Terre entière se pliera à leur volonté.
-</para>
-
-<para>
- Les lecteurs qui appliquent le réglage des zones uniquement via logiciel
- sont connus comme des lecteurs RPC-1, ceux qui le font via matériel comme
- des lecteurs RPC-2.
- Les lecteurs RPC-2 permettent de changer de zone cinq fois avant qu'il ne
- se bloque.
- Sous Linux, vous pouvez utiliser l'outil <ulink
- url="http://linvdr.org/projects/regionset/">regionset</ulink> pour modifier
- le code zone de votre lecteur DVD.
-</para>
-
-<para>
- Heureusement, il est possible de convertir les lecteurs RPC-2 en RPC-1 lors
- d'une mise à jours du micrologiciel.
- Saisissez la référence de votre lecteur DVD dans votre moteur de recherche
- favori ou jetez un Åil au forum et à la section téléchargement de <ulink
- url="http://www.rpc1.org/">"The firmware page"</ulink>.
- Les mises en garde habituelles des mises à jours de micrologiciels restent
- valables mais les expériences de suppressions de restrictions de zones sont
- généralement fructueuses.
-</para>
-</sect2>
-
-</sect1>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="vcd">
-<title>Lecture de VCDs</title>
-<para>
-Pour voir la liste complète des options disponibles, veuillez lire la page de man.
-La syntaxe pour lire un Vidéo CD standard (VCD) est la suivante :
-<screen>mplayer vcd://<replaceable><piste></replaceable> [-cdrom-device <replaceable><périphérique></replaceable>]</screen>
-Exemple :
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-Le périphérique VCD par défaut est <filename>/dev/cdrom</filename>. Si votre installation diffère,
-faites un lien symbolique (symlink) ou spécifiez le bon périphérique en ligne de commande avec l'option
-<option>-cdrom-device</option>.
-</para>
-
-<note><para>
-Les CD-ROM SCSI Plextor et certains Toshiba, entre autres, ont d'horribles
-performances durant la lecture de VCDs.
-C'est parce que l'<systemitem>ioctl</systemitem> CDROMREADRAW n'est pas
-complètement implémenté pour ces lecteurs.
-Si vous avez des connaissances en programmation SCSI, merci de
-<ulink url="../../tech/patches.txt">nous aider</ulink> à implémenter un
-support SCSI générique pour les VCDs.
-</para></note>
-
-<para>
-En attendant vous pouvez extraire des données d'un VCD avec
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-et lire le fichier obtenu avec <application>MPlayer</application>.
-</para>
-
-<formalpara>
-<title>Structure d'un VCD</title>
-
-<para>
-Un CD Video (VCD) est constitué de secteurs CD-ROM XA, c'est-à -dire des
-pistes CD-ROM mode 2 forme 1 et 2 :
-<itemizedlist>
-<listitem><para>
-La première piste est en mode 2 forme 2 ce qui signifie qu'elle utilise une
-correction d'erreur L2. La piste contient un système de fichiers ISO-9660 avec 2048
-octets/secteur. Ce système de fichiers contient des informations VCD meta-donnée, aussi
-bien que les images fixes souvent utilisées dans les menus. Les segments MPEG pour les menus
-peuvent aussi être stockés dans la première piste, mais les données MPEG doivent être cassées
-en séries de bouts de 150 secteurs. Le système de fichiers ISO-9660 peut contenir d'autres
-fichiers ou programmes qui ne sont pas essentiels pour les
-opérations VCD.
-</para></listitem>
-
-<listitem><para>
-La seconde piste et les suivantes sont des pistes MPEG brutes (film) Ã 2324 octets/secteur,
-contenant un paquet de données MPEG PS par secteur. Celles-ci sont formatées selon le mode 2 forme 1,
-elles stockent donc plus de données par secteur au détriment de la correction d'erreur.
-Il est aussi permis d'avoir des pistes CD-DA dans un VCD après la première piste.
-Sur certains systèmes d'exploitation, il y a quelques astuces qui permettent de faire
-apparaître ces pistes non-ISO-9660 dans un système de fichiers. Sur d'autres systèmes
-d'exploitation comme GNU/Linux cela n'est pas le cas (pas encore).
-Ici les données MPEG <emphasis role="bold">ne peuvent être montées</emphasis>.
-Comme la plupart des films sont à l'intérieur de ce genre de piste, vous devrez
-tout d'abord essayer <option>vcd://2</option>.
-</para></listitem>
-
-<listitem><para>
-Il existe également certains disques VCD sans la première piste (une seule piste et pas de système de
-fichier du tout). Ils sont quand même lisibles, mais ne peuvent pas être montés.
-</para></listitem>
-
-<listitem><para>La définition du standard Video CD est appelée le
-"Livre Blanc" Philips et n'est généralement pas disponible en ligne, étant donné
-qu'elle doit être achetée auprès de Philips. Une information plus détaillée sur le Video
-CD peut être trouvée dans la
-<ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">documentation de vcdimager</ulink>.
-</para></listitem>
-
-</itemizedlist>
-</para>
-</formalpara>
-
-<formalpara>
- <title>Ã propos des fichiers .DAT :</title>
-<para>
-Le fichier de ~600 Mo visible sur la première piste d'un VCD monté n'est
-pas un vrai fichier !
-C'est ce qu'on appelle une passerelle ISO, créée pour permettre à Windows
-de gérer de telles pistes (Windows n'autorise pas du tout l'accès brut au
-périphérique).
-Sous linux, vous ne pouvez pas copier ou lire de telles pistes (elle
-contiennent des informations parasites).
-Sous Windows c'est possible car son pilote iso9660 émule la lecture brute
-des pistes dans ce fichier.
-Pour lire un fichier .DAT vous avez besoin d'un pilote noyau qui peut
-être trouvé dans la version Linux de <application>PowerDVD</application>.
-Il possède un pilote de système de fichier iso9660 modifié
-(<filename>vcdfs/isofs-2.4.X.o</filename>), qui est capable d'émuler
-les pistes brutes au travers de ce fichier .DAT fantôme.
-Si vous montez le disque en utilisant leur pilote, vous pouvez
-copier et même lire les fichiers .DAT avec <application>MPlayer</application>.
-Mais cela ne fonctionnera pas avec le pilote iso9660 standard du
-noyau !
-Il est recommandé d'utiliser l'option <option>vcd://</option>
-Ã la place.
-D'autres possibilités pour la copie de VCD sont le nouveau pilote noyau
-<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>
-(qui ne fait pas partie du noyau officiel) qui montre les sessions du CD
-en temps que fichier image et
-<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, une application
-d'enregistrement/copie bit-Ã -bit).
-</para>
-</formalpara>
-</sect1>
-
-<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
-<title>Listes d'Edition de Décision (EDL)</title>
-
-<para>
-Le système de liste d'édition de décision (Edit Decision Lists - EDL) vous
-permet de sauter ou rendre muet des sections de vidéos pendant la lecture,
-basé sur un fichier de configuration EDL spécifique au film.
-</para>
-
-<para>
-Ceci est utile pour ceux qui veulent voir un film en mode "tout public".
-Vous pouvez couper toute violence, profanation, Jar-Jar Binks .. d'un film
-suivant vos préférences personnelles. A part ça, il y a d'autres
-utilisations, comme sauter automatiquement les publicités dans les fichiers vidéos
-que vous regardez.
-</para>
-
-<para>
-Le format de fichier EDL est plutôt rudimentaire. Il y a une commande par ligne
-qui défini ce qui doit être fait (couper ou rétablir le son) et quand il faut le faire.
-</para>
-
-<sect2 id="edl_using">
-<title>Utiliser un fichier EDL</title>
-<para>
-Incluez l'option <option>-edl <nomfichier></option> quand vous lancez
-<application>MPlayer</application>, avec le nom du fichier EDL que vous voulez
-appliquer à la vidéo.
-</para>
-</sect2>
-
-<sect2 id="edl_making">
-<title>Faire un fichier EDL</title>
-<para>
-Le format de fichier actuel EDL est:
-<programlisting>
-[seconde de départ] [seconde de fin] [action]
-</programlisting>
-Où les secondes sont des nombres à virgule et l'action est soit
-<literal>0</literal> pour sauter, soit <literal>1</literal> pour couper le son.
-Exemple:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-Cela va sauter de la seconde 5.3 à la seconde 7.1 de la vidéo, puis va couper
-le son à 15 secondes, le remettre à 16.7 secondes et sauter de la seconde 420
-à la seconde 422 de la vidéo. Ces actions seront appliquées quand le temps de
-lecture aura atteint le temps indiqué dans le fichier.
-</para>
-
-<para>
-Pour créer un fichier EDL à partir duquel travailler, utilisez l'option
-<option>-edlout <nomfichier></option>. Durant la lecture, pressez
-la touche <keycap>i</keycap> pour marquer le début et la fin du passage à sauter.
-Une entrée correspondante sera ajoutée au fichier pour cette fois-ci. Vous pouvez
-ensuite ajuster de manière plus précise le fichier EDL ainsi que changer l'opération
-par défaut qui est de sauter le passage décrit par chaque ligne.
-</para>
-</sect2>
-
-</sect1>
-
-<sect1 id="advaudio" xreflabel="Advanced Audio">
-<title>Audio Avancé</title>
-
-<sect2 id="advaudio-surround">
-<title>Lecture Surround/Multi-canal</title>
-
-<sect3 id="advaudio-surround-DVD">
-<title>DVDs</title>
-<para>
-La plupart des DVDs et beaucoup d'autres fichiers incluent le son surround.
-<application>MPlayer</application> supporte la lecture surround mais ne les
-activent pas par défaut parce que les équipement stéréos sont de loin plus communs.
-Pour jouer un fichier qui ont plus de deux canaux audio utilisez
-<option>-channels</option>.
-Par exemple, pour jouer un DVD avec l'audio 5.1:
-
-<screen>mplayer dvd://1 -channels 6</screen>
-
-Notez que en dépit du nom "5.1" il y a couramment six canaux discret.
-Si vous avez l'équipement pour le son surround il est de précaution de mettre
-l'option <option>channels</option> dans votre fichier de configuration de
-<application>MPlayer</application> <filename>~/.mplayer/config</filename>.
-Par exemple, pour faire une lecture quadriphonique par défaut, ajoutez cette
-ligne:
-
-<programlisting>channels=4</programlisting>
-
-<application>MPlayer</application> sortira alors l'audio en quatre canaux quand
-les quatres canaux sont tous disponibles.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-stereoinfour">
-<title>Lire des fichiers stéréo sur quatre haut-parleurs</title>
-
-<para>
-<application>MPlayer</application> ne duplique aucun canal par défaut,
-et la plupart des pilotes audio ne le font pas non plus. Si vous voulez le faire manuellement:
-
-<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
-
-Voir la section sur
-<link linkend="advaudio-channels-copying">canal en copie</link> pour une
-explication.
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-surround-passthrough">
-<title>AC-3/DTS Passthrough</title>
-
-<para>
-Les DVDs ont habituellement l'audio surround encodé en format AC-3 (Dolby Digital) ou DTS
-(Digital Theater System). Certains équipements audio moderne sont capables de
-décoder ces formats de façon interne. <application>MPlayer</application> peut être
-configuré pour relayer les données audio sans les décoder. Cela ne marchera que si
-vous avez une connectique S/PDIF (Sony/Philips Digital Interface) sur
-votre carte son.
-</para>
-
-<para>
-Si votre équipement audio peux décoder AC-3 et DTS, vous pouvez sans risque activer
-le passthrough pour les deux formats. Autrement, activez le passthrough pour le seul format
-que votre équipement supporte.
-</para>
-
-<itemizedlist>
-<title>Pour activer le passthrough en ligne de commande:</title>
-<listitem><para>
-Pour l'AC-3 seul, utilisez <option>-ac hwac3</option>
-</para></listitem>
-<listitem><para>
-Pour le DTS seul, utilisez <option>-ac hwdts</option>
-</para></listitem>
-<listitem><para>
-Pour l'ensemble AC-3 et DTS, utilisez <option>-afm hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Pour activer le passthrough dans le fichier de configuration
-de <application>MPlayer</application>: </title>
-<listitem><para>
-Pour l'AC-3 seul, utilisez <option>ac=hwac3,</option>
-</para></listitem>
-<listitem><para>
-Pour le DTS seul, utilisez <option>ac=hwdts,</option>
-</para></listitem>
-<listitem><para>
-Pour l'ensemble AC-3 et DTS, utilisez <option>afm=hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<para>
-Notez qu'il y a une virgule (",") Ã la fin de
-<option>ac=hwac3,</option> et <option>ac=hwdts,</option>.
-Cela permettra à <application>MPlayer</application> de retomber sur les
-codecs qu'il utilise normalement lors de la lecture d'un fichier qui n'a
-pas l'audio en AC-3 ou DTS.
-<option>afm=hwac3</option> n'a pas besoin d'une virgule; de toute façon
-<application>MPlayer</application> reviendra en arrière lorsqu'une famille
-d'audio est spécifiée.
-</para>
-
-</sect3>
-
-<sect3 id="hwmpa-surround-passthrough">
-<title>PasseBande audio MPEG</title>
-
-<para>
-Les transmissions TV numérique (comme DVB et ATSC) et certains DVD ont
-habituellement des flux audio MPEG (en particulier MP2).
-Certains décodeurs matériels MPEG comme les cartes DVB complètes et les
-adaptateurs DXR2 peuvent décoder nativement ce format.
-<application>MPlayer</application> peut être configuré pour relayer les
-données audio sans les décoder.
-</para>
-
-<para>
-Pour utiliser ce codec:
-<screen> mplayer -ac hwmpa </screen>
-</para>
-</sect3>
-
-<sect3 id="advaudio-surround-matrix">
-<title>Audio à encodage matriciel</title>
-
-<para>
-<emphasis>***TODO***</emphasis>
-</para>
-<para>
-Cette section doit encore être écrite et ne peut être complétée tant que personne ne nous
-a fourni des fichiers d'exemple à tester. Si vous avez quelconques fichiers audio Ã
-encodage matriciel en votre possession,que savez où en trouver, ou avez quelconques informations
-qui pourraient être utiles, veuillez envoyer un message à la liste de diffusion
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>.
-Mettez "[matrix-encoded audio]" en sujet du mail.
-</para>
-<para>
-Si aucuns fichiers ou de plus amples informations ne sont reçues cette section sera enlevée.
-</para>
-
-<para>
-Liens Bon:
-<itemizedlist>
-<listitem><para>
-<ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para></listitem>
-<listitem><para>
-<ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-surround-hrtf">
-<title>Emulation Surround dans les écouteurs</title>
-
-<para>
-<application>MPlayer</application> inclu un filtre HRTF (Head Related Transfer
-Function) basé sur un
-<ulink url="http://sound.media.mit.edu/KEMAR.html">projet MIT</ulink>
-où des mesures ont été prises depuis des microphones montés sur une tête humaine factice.
-</para>
-
-<para>
-Bien que il ne soit pas possible de reproduire exactement un système surround,
-le filtre HRTF de <application>MPlayer</application> fourni une immersion audio
-plus spatiale avec les systèmes d'écoute stéréo.
-La plupart des techniques de mixage consistent à simplement fusionner tous les
-canaux en deux; En plus de cette fusion, <option>hrtf</option> génére de
-subtils échos, augmente un peu la séparation stéréo, et altère le volume de
-certaines fréquences.
-Si HRTF sonne mieux gardez à l'esprit que tout ceci est dépendant de la
-source audio et est une question de goût personnel, mais cela vaut vraiment le
-coup d'essayer.
-</para>
-
-<para>
-Pour jouer un DVD avec le HRTF:
-
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-
-</para>
-
-<para>
-<option>hrtf</option> ne marche bien que avec 5 ou 6 canaux.
-Aussi, <option>hrtf</option> requière de l'audio en 48 kHz.
-L'audio DVD est déjà en 48 kHz, mais si vous avez un fichier avec un taux
-d'échantillonnage différent que celui que vous voulez jouer en utilisant
-<option>hrtf</option> vous devez le ré-échantillonner:
-
-<screen>mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf</screen>
-
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-surround-troubleshooting">
-<title>Dépannage</title>
-
-<para>
-Si vous n'entendez aucun son provenant de vos canaux surround, controler
-vos paramètres de mixeur avec un programme de mixeur comme
-<application>alsamixer</application>; les sorties audio sont souvent muettes
-et le volume réglé à zéro par défaut.
-</para>
-
-</sect3>
-
-</sect2>
-
-
-<sect2 id="advaudio-channels">
-<title>Manipulation de Canal</title>
-
-<sect3 id="advaudio-channels-general">
-<title>Information Générale</title>
-
-<para>
-Malheureusement, il n'y a pas de standard qui montrent comment les canaux sont ordonnés.
-Les ordres listés ci-dessous sont ceux de l'AC-3 et sont assez typiques;
-essayez-les et voyez si votre source correspond.
-Les canaux sont numérotés à partir de par 0.
-
-<orderedlist spacing="compact">
-<title>mono</title>
-<listitem override="0"><para>centre</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>stéréo</title>
-<listitem override="0"><para>gauche</para></listitem>
-<listitem><para>droite</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>quadraphonique</title>
-<listitem override="0"><para>devant gauche</para></listitem>
-<listitem><para>devant droite</para></listitem>
-<listitem><para>arrière gauche</para></listitem>
-<listitem><para>arrière droite</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 4.0</title>
-<listitem override="0"><para>devant gauche</para></listitem>
-<listitem><para>devant droite</para></listitem>
-<listitem><para>arrière centre</para></listitem>
-<listitem><para>devant centre</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.0</title>
-<listitem override="0"><para>devant gauche</para></listitem>
-<listitem><para>devant droite</para></listitem>
-<listitem><para>arrière gauche</para></listitem>
-<listitem><para>arrière droite</para></listitem>
-<listitem><para>devant centre</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.1</title>
-<listitem override="0"><para>devant gauche</para></listitem>
-<listitem><para>devant droite</para></listitem>
-<listitem><para>arrière gauche</para></listitem>
-<listitem><para>arrière droite</para></listitem>
-<listitem><para>devant centre</para></listitem>
-<listitem><para>caisson de basse</para></listitem>
-</orderedlist>
-
-</para>
-
-<para>
-L'option <option>-channels</option> est utilisée pour demander le nombre
-de canaux depuis le décodeur audio.
-Certains codecs audio utilisent le nombre de canaux spécifiés pour décider
-si le mixage (downmixing) de la source est nécessaire.
-Notez que cela n'affecte pas toujours le nombre de canaux de sortie.
-Par exemple, utiliser <option>-channels 4</option> pour jouer un fichier
-stéréo MP3 résultera quand même en une sortie en 2-canaux à partir du moment
-où le codec MP3 ne produira pas de canaux suplémentaires.
-</para>
-
-<para>
-Le filtre audio <option>channels</option> peut être utilisé pour créer ou enléver
-des canaux et, est utile pour contrôler le nombre de canaux envoyés à la carte son.
-Voir les sections suivantes pour plus d'informations sur la manipulation de canaux.
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-channels-mono">
-<title>Jouer en mono avec deux enceintes</title>
-
-<para>
-Mono sonne beaucoup mieux quand il est joué au travers de deux enceintes -
-particulièrement quand des écouteurs sont utilisés.
-Les fichiers Audio qui ont vraiment un canal sont automatiquement joués
-au travers de deux enceintes; malheureusement, la plupart des filtres avec
-le son mono sont couramment encodés comme stéréo avec un canal silencieux.
-La façon la plus facile et la plus fidèle de faire sortir des enceintes le
-même audio est le filtre <option>extrastereo</option>:
-
-<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0</screen>
-
-</para>
-
-<para>
-Ceci fait la moyenne des deux canaux, ayant pour résultat que les deux canaux ont
-leur volume réduit de moitié par rapport à l'original. Les sections suivantes ont
-des exemples sur les autres manières de faire ceci sans une diminution du volume,
-mais ils sont plus compliqués et requièrent différentes options dépendemment du canal
-à garder. Si vous voulez réellement maintenir le volume,
-il est peut être plus facile de tester avec le filtre <option>volume</option> et
-trouver la bonne valeur. Par exemple:
-
-<screen>mplayer <replaceable>nom_fichier</replaceable> -af extrastereo=0,volume=5</screen>
-
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-channels-copying">
-<title>Copier/Déplacer le canal</title>
-
-<para>
-Le filtre <option>channels</option> peut déplacer n'importe lequel ou tous les canaux.
-Parametrer toutes les sous-options pour le filtre <option>channels</option>
-peut être compliqué et prend peu d'attention.
-
-<orderedlist spacing="compact">
-<listitem><para>
-Décidez combien de canaux de sortie vous avez besoin.
-Ceci est la première sous-option.
-</para></listitem>
-<listitem><para>
-Comptez combien de canaux vous devrez déplacer.
-Ceci est la seconde sous-option.
-Chaque canal peut être déplacé en plusieurs différents canaux en même temps,
-mais gardez en tête que quand un canal est déplacé (même si vers une seule
-destination) le canal source sera vidé à moins qu'un autre canal ne soit
-déplacé dans ce même canal.
-Pour copier un canal, en gardant la source intacte, simplement déplacer le
-canal dans les deux destination et source. Par exemple:
-<programlisting>
-canal 2 --> canal 3
-canal 2 --> canal 2
-</programlisting>
-</para></listitem>
-<listitem><para>
-Ãcrivez les copies de canal comme paires de sous-options. Notez que le premier
-canal est 0, le second est 1, etc. L'ordre de ces sous-options n'importe pas aussi
-longtemps qu'ils sont correctement groupés en
-<replaceable>source:destination</replaceable> paires.
-</para></listitem>
-</orderedlist>
-
-</para>
-
-
-<bridgehead>Exemple: un canal en deux enceintes</bridgehead>
-
-<para>
-Ici un exemple d'une autre manière de jouer un canal sur les deux enceintes. On suppose
-pour cette exemple que le canal de gauche devra être joué et le canal de droite annulé.
-En suivant les étapes ci-dessus:
-<orderedlist>
-<listitem><para>
-Afin de fournir un canal de sortie pour chacune des deux enceintes, la première
-sous-option doit être "2".
-</para></listitem>
-<listitem><para>
-Le canal de gauche a besoin d'être déplacé vers le canal de droite, et doit
-aussi être déplacé vers lui-même pour que le canal ne se vide pas.
-Cela fait un total de deux déplacements, mettant la deuxième sous-option
-aussi à "2".
-</para></listitem>
-<listitem><para>
-Pour déplacer le canal de gauche (canal 0) vers le canal de droite (canal 1), la paire
-sous-option est "0:1", "0:0" déplace le canal de gauche vers lui-même.
-</para></listitem>
-</orderedlist>
-En mettant tout ça ensemble cela donne:
-
-<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
-</para>
-
-<para>
-L'avantage de cette exemple par rapport à <option>extrastereo</option> est que le
-volume de chaque canal de sortie est le même que le canal d'entrée. Le désavantage
-étant que les sous-options doivent être changées à "2:2:1:0:1:1" quand l'audio désirée
-est dans le canal de droite. Il est aussi plus difficile de s'en souvenir et de le taper.
-</para>
-
-<bridgehead>Exemple: canal gauche vers deux enceintes raccourci</bridgehead>
-
-<para>
-Il y a couramment une façon plus simple d'utiliser le filtre <option>channels</option>
-pour jouer le canal de gauche vers les deux enceintes:
-
-<screen>mplayer <replaceable>nom_fichier</replaceable> -af channels=1</screen>
-
-Le second canal est enlevé et, sans plus de sous-options, le seul canal
-qui reste est celui de gauche. Les pilotes de carte son jouent automatiquement
-l'audio d'un seul canal vers les deux enceintes. cela ne fonctionne que quand
-le canal voulu est sur la gauche.
-</para>
-
-<bridgehead>Exemple: dupliquer les canaux frontaux sur l'arrière</bridgehead>
-<para>
-Une autre opération commune est de dupliquer les canaux frontaux et de leur
-faire rejouer sur les enceintes arrière d'un paramètrage quadraphonique.
-<orderedlist>
-<listitem><para>
-Il devrait y avoir quatre canaux de sortie. La première sous-option est "4".
-</para></listitem>
-<listitem><para>
-Chacun des deux canaux avant a besoin d'être déplacé vers le canal arrière
-correspondant et aussi vers lui-même.
-Cela fait quatre déplacements, donc la seconde sous-option est "4".
-</para></listitem>
-<listitem><para>
-L'avant gauche (canal 0) a besoin d'être déplacé vers l'arrière gauche (canl 2): "0:2".
-L'avant gauche a aussi besoin d'être déplacé vers lui-même: "0:0". L'avant droit (canal
-1) est déplacé vers l'arrière droite (canl 3): "1:3", et aussi vers lui- même: "1:1".
-</para></listitem>
-</orderedlist>
-Combinez toutes les sous-options pour obtenir:
-
-<screen>mplayer <replaceable>nom_fichier</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1</screen>
-
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-channels-mixing">
-<title>Mixage de canal</title>
-
-<para>
-Le filtre <option>pan</option> peut mixer les canaux selon des proportions spécifiées
-par l'utilisateur. Ceci tient compte de tout que le filtre de <option>channels</option>
-peut faire et plus. Malheureusement, les sous-options sont beaucoup plus complexes.
-<orderedlist>
-<listitem><para>
-Décidez avec combien de canaux vous voulez travailler. Vous aurez peut-être besoin
-de spécifier cela avec <option>-channels</option> et/ou <option>-af channels</option>.
-Des exemples plus loin montreront quand et laquelle il faut utiliser.
-</para></listitem>
-<listitem><para>
-Décidez combien de canaux à introduire dans <option>pan</option> (les canaux suplémentaires
-décodés sont rejetés). Ceci est la première sous-option, et elle contrôle aussi combien de
-canaux à employer pour la sortie.
-</para></listitem>
-<listitem><para>
-Les sous-options restantes spécifient quelle quantité de chaque canal sont mixés l'un
-dans l'autre. Ceci est la partie compliquée. Pour décomposer la tâche, découpez les
-sous-options en plusieurs ensembles, un ensemlbe pour chaque canal de sortie. Chaque sous-option
-d'un ensemble correspond à un canal d'entrée. Le nombre que vous spécifiez sera le pourcentage
-de canal d'entrée qui sont mixés dans le canal de sortie.
-</para>
-<para>
-<option>pan</option> accepte des valeurs de 0 Ã 512, rendement de 0% Ã 51200% du volume
-original. Faites attention quand en utilisant des valeurs plus grande que 1. Non seulement
-cela peut vous donner un volume tres haut, mais si vous dépassez la marge d'échantillon de
-votre carte son vous pourriez entendre des pops et clics désagréables. Si vous le voulez vous
-pouvez faire suivre <option>pan</option> avec <option>,volume</option> pour activer la coupure,
-mais c'est mieux de garder les valeurs de <option>pan</option> suffisamment basses pour que la
-coupure ne soit pas nécessaire.
-</para></listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Exemple: un canal dans deux enceintes</bridgehead>
-
-<para>
-Voici encore un autre exemple pour jouer le canal gauche dans deux enceintes. Suivez
-les étapes ci-dessus:
-<orderedlist>
-<listitem><para>
-<option>pan</option> devrait sortir deux canaux, donc la première
-sous-option est "2".
-</para></listitem>
-<listitem><para>
-Puisque nous avons deux canaux d'entrée, il y aura deux ensembles de sous-options.
-Puisqu'il y a également deux canaux de sortie,
-il y aura deux sous-options par ensemble.
-Le canal gauche à partir du fichier devrait aller au volume maxi aux
-les nouveaux canaux gauche et droite.
-Ainsi le premier ensemble de sous-options est "1:1".
-Le canal de droite devrait être rejeté, donc le second serait "0:0".
-N'importe quelles valeurs à 0 à la fin peuvent être omises, mais pour une facilité
-de compréhension nous les garderons.
-</para></listitem>
-</orderedlist>
-Mettre ces options ensemble donne:
-
-<screen>mplayer <replaceable>nom_fichier</replaceable> -af pan=2:1:1:0:0</screen>
-
-Si le canal de droite est préféré à la place du gauche, les sous-options pour
-<option>pan</option> seront "2:0:0:1:1".
-</para>
-
-
-<bridgehead>Exemple: canal de gauche dans deux enceintes raccourci</bridgehead>
-
-<para>
-Comme avec <option>channels</option>, il y a un raccourci qui ne fonctionne que avec le
-canal de gauche:
-
-<screen>mplayer <replaceable>nom_fichier</replaceable> -af pan=1:1</screen>
-
-Puisque <option>pan</option> a seulement un canal d'entrée (l'autre canal étant
-rejeté), il n'y a seulement qu'un ensemble avec une sous-option, qui indique que le
-seul canal obtient 100% de lui-même.
-</para>
-
-<bridgehead>Exemple: Mixage (downmixing) PCM 6-canaux</bridgehead>
-<para>
-Le décodeur de <application>MPlayer</application> pour le PCM 6-canaux
-n'est pas capable de le mixer (downmixing).
-Voici une façon de mixager (downmixing) PCM en utilisant <option>pan</option>:
-<orderedlist>
-<listitem><para>
-Le nombre de canaux de sortie est 2, donc la première sous-option est "2".
-</para></listitem>
-<listitem><para>
-Avec six canaux d'entrée il y aura six ensembles d'options. Heureusement,
-puisque nous nous inquiétons seulement de la sortir des deux premiers canaux,
-nous devons seulement faire deux ensembles; les quatres ensembles restants peuvent
-être omis. Prenez garde que tous les fichiers audio multi-canaux n'aient le même
-ordre de canaux! Cette exemple démontre le mixage (downmixing) d'un fichier avec les
-même canaux que l'AC-3 5.1:
-<programlisting>
-0 - avant gauche
-1 - avant droit
-2 - arrière gauche
-3 - arrière droit
-4 - avant centre
-5 - caisson de basse (subwoofer)
-</programlisting>
-Le premier ensemble de sous-options liste les pourcentages du volume original, dans
-l'ordre, de ce que chaque canal de sortie devrait recevoir du canal gauche avant: "1:0".
-Le canal avant droit devrait aller vers la bonne sortie: "0:1".
-De même pour les canaux arrières: "1:0" et "0:1".
-Le canal centre va vers les deux canaux de sortie avec moitié de volume:
-"0.5:0.5", et le caisson de basse (subwoofer) va vers les deux avec le volume maxi: "1:1".
-</para></listitem>
-</orderedlist>
-Mettez tout ça ensemble, pour:
-
-<screen>mplayer <replaceable>6-canaux.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1</screen>
-
-Les pourcentages listés ci-dessus sont seulement un exemple approximatif. Vous êtes libres de les ajuster.
-</para>
-
-<bridgehead>Exemple: Jouer de l'audio 5.1 sur de grosses enceintes sans un caisson de basse (subwoofer)</bridgehead>
-
-<para>
-Si vous avez une paire d'enceintes frontales énormes, vous ne voudriez pas
-gaspiller de l'argent sur l'achat d'un caisson de basse (subwoofer) pour
-un système son 5.1 complet.
-Si vous utilisez <option>-channels 5</option> pour demander que liba52
-décode l'audio 5.1 en 5.0, le canal du caisson de basse (subwoofer) est
-simplement rejeté.
-Si vous voulez distribuer le canal du caisson de basse (subwoofer) vous-même
-vous avez besoin de mixer (downmix) manuellement avec <option>pan</option>:
-
-<orderedlist>
-<listitem><para>
-Puisque <option>pan</option> a besoin d'examiner chacun des six canaux, spécifiez
-<option>-channels 6</option> ainsi liba52 les décode tous.
-</para></listitem>
-<listitem><para>
-<option>pan</option> sort vers seulement cinq canaux, la première sous-option est 5.
-</para></listitem>
-<listitem><para>
-Six canaux d'entrées et cinq de sortie signifient six ensembles de cinq sous-options.
- <itemizedlist spacing="compact">
- <listitem><para>
- Le canal avant gauche ne se réplique que vers lui-même:
- "1:0:0:0:0"
- </para></listitem>
- <listitem><para>
- Pareil pour le canal avant droit:
- "0:1:0:0:0"
- </para></listitem>
- <listitem><para>
- Pareil pour le canal arrière gauche:
- "0:0:1:0:0"
- </para></listitem>
- <listitem><para>
- et aussi de même pour le canal arrière droit:
- "0:0:0:1:0"
- </para></listitem>
- <listitem><para>
- Avant centre, aussi:
- "0:0:0:0:1"
- </para></listitem>
- <listitem><para>
- Et maintenant que nous avons décidé quoi faire avec le caisson de basse,
- e.g. moitié vers l'avant droit et l autre vers l'avant gauche:
- "0.5:0.5:0:0:0"
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-</orderedlist>
-Combinez toutes ces options pour obtenir:
-
-<screen>mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0</screen>
-
-</para>
-
-</sect3>
-
-</sect2>
-
-
-<sect2 id="advaudio-volume">
-<title>Ajustement Logiciel du Volume</title>
-
-<para>
-Certaines pistes audio sont trop silencieuses pour être entendues confortablement
-sans amplification. Cela devient un problème quand votre équipement audio ne peut
-amplifier le signal à votre place. L'option <option>-softvol</option> oblige
-<application>MPlayer</application> Ã utiliser un mixeur interne. Vous pouvez alors
-utiliser les touches d'ajustement du volume (par défaut <keycap>9</keycap> et
-<keycap>0</keycap>) pour atteindre des niveaux de volume plus important.
-Notez que cela ne dévie pas votre mixeur de carte son; <application>MPlayer</application>
-amplifie seulement le signal avant de l'envoyer vers votre carte son.
-
-L'exemple suivant est un bien pour débuter:
-
-<screen>mplayer <replaceable>quiet-file</replaceable> -softvol -softvol-max 300</screen>
-
-L'option <option>-softvol-max</option> spécifie le volume maximum
-de sortie permis en tant que pourcentage du volume original.
-Par exemple, <option>-softvol-max 200</option> devra permettre
-l'ajustement du volume jusqu'Ã deux fois son niveau d'origine.
-Il est sûr d'indiquer une valeur importante avec <option>-softvol-max</option>;
-un volume plus important ne sera utilisé qu'à partir du moment où
-les touches d'ajustement du volume sont utilisées. Le seul désavantage
-d'une valeur large est que, puisque <application>MPlayer</application> ajuste
-le volume par un pourcentage du maximum, vous n'aurez pas un contrôle aussi précis
-en utilisant les touches d'ajustement du volume. Utilisez une valeur plus basse avec
-<option>-softvol-max</option> et/ou indiquez <option>-volstep 1</option> si vous désirez
-une précision plus importante.
-</para>
-
-<para>
-L'option <option>-softvol</option> fonmctionne en contrôlant le filtre audio
-<option>volume</option>. Si vous voulez jouer un fichier à un certain volume
-depuis le début vous pouvez spécifier <option>volume</option> manuellement:
-
-<screen>mplayer <replaceable>fichier-tranquil</replaceable> -af volume=10</screen>
-
-Cela jouera le fichier avec un gain de 10 décibel. Soyez prudent lors de
-l'utilisation du filtre <option>volume</option> - vous pourriez facilement
-abimer votre appareil auditif si vous utilisez un valeur trop grande.
-Commencez bas et travaillez de façon graduelle vers le haut jusqu'à être à même
-d'apprécier de combien il est nécessaire d'ajuster le volume. Aussi, si vous
-indiquez des valeurs excessivement haute, <option>volume</option> pourra avoir
-besoin de couper le signal pour éviter d'envoyer vos données de carte son qui
-sont en dehors de la bande permise; cela résultera en une distorsion de l'audio.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="tv-input" xreflabel="TV input">
-<title>Entrée TV</title>
-
-<para>
-Cette section concerne l'activation de la <emphasis role="bold">lecture/enregistrement
-Ã partir d'un tuner TV compatible V4L.</emphasis> Voir la page de man pour une
-description des options TV et des contrôles clavier.
-
-</para>
-
-<!-- ********** -->
-
-<sect2 id="tv-compilation">
-<title>Compilation</title>
-
-<procedure>
-<step><para>
- D'abord, vous devez recompiler.
- <filename>./configure</filename> autodétectera les entêtes v4l du noyau et
-l'existence des entrées <filename>/dev/video*</filename>.
-Si elles existent, le support TV sera activé
- (voir le résultat de <filename>./configure</filename>).
- </para></step>
-<step><para>
- Assurez-vous que votre tuner fonctionne avec d'autres logiciels TV pour
-Linux.
-Par exemple avec <application>XawTV</application>.
- </para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-tips">
-<title>Astuces d'utilisation</title>
-
-<para>
-La liste complète des options est disponible sur la page de man. Voici juste
-quelques astuces :
-
-<itemizedlist>
-<listitem>
-<para>
-Utilisez l'option <option>channels</option>.
-Exemple :
-<screen>-tv channels=26-MTV1,23-TV2</screen>
-Explication :
-En utilisant cette option, seuls les canaux 26 et 23 seront
-utilisables, et il y a un joli texte OSD lors des changements de canaux
-affichant le nom du nouveau.
-Les espaces dans le nom du canal doivent être remplacés par le caractère
-"_".
-</para>
-</listitem>
-
-<listitem>
-<para>
-Choisissez des dimensions d'images sensées. Les dimensions de l'image de
-destination devraient être divisible par 16.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Si vous capturez la vidéo avec une résolution verticale supérieure à la
-moitié de la pleine résolution (c-a-d. 288 pour PAL ou 240 pour NTSC),
-alors les trames que vous obtenez seront en réalité des paires de champs
-entrelacées.
-En fonction de ce que vous voulez faire avec la vidéo, vous pourriez la laisser
-sous cette forme, malheureusement désentrelacé, ou séparer les paires en champs
-individuels.
-</para>
-<para>
-Autrement vous aurez un film qui a des distorsion durant les scènes Ã
-mouvements rapides et le contrôleur de bitrate ne sera probablement
-même pas capable de garder le bitrate demandé car les artefacts de
-désentrelacement produisent beaucoup de détails et donc consomment
-plus de bande passante.
-Vous pouvez désactiver l'entrelacement avec
-<option>-vf pp=DEINT_TYPE</option>.
-Généralement <option>pp=lb</option> peut faire du bon travail, mais
-c'est une histoire de préférence personnelle.
-Voyez les autres algorithmes de désentrelacement dans le manuel et
-essayez-les.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Coupez les espaces morts. Quand vous capturez la vidéo, les bords sont
-généralement noirs ou contiennent du "bruit".
-De nouveau cela consomme de la bande passante inutilement.
-Plus précisément ce ne sont pas les zones noires elles-mêmes mais les
-transitions nettes entre le noir et la vidéo plus claire qui jouent, mais
-ce n'est pas très important pour le moment.
-Avant que vous commenciez la capture, ajustez les arguments de l'option
-<option>crop</option> pour que toutes les saletés des bords soient coupées.
-De nouveau, n'oubliez pas de garder des dimensions sensées.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Regardez la charge CPU.
-Elle ne devrait pas dépasser la limite des 90% la plupart du temps.
-Si vous avez un gros tampon, <application>MEncoder</application> peut
-survivre à une surcharge pendant quelques secondes mais pas plus.
-Il vaut mieux désactiver les économiseurs d'écran 3D OpenGL et les trucs
-similaires.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Ne jouez pas avec l'horloge système. <application>MEncoder</application>
-l'utilise pour la synchro A/V.
-Si vous réglez l'horloge système (surtout en arrière dans le temps),
-<application>MEncoder</application> va se sentir perdu et va perdre des
-trames.
-C'est un problème important lorsque vous êtes en réseau et que vous utilisez
-certains logiciels de synchronisation comme NTP.
-Vous devrez désactiver NTP pendant le processus de capture si vous voulez
-capturer correctement.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Ne changez pas le <option>outfmt</option> Ã moins que vous sachiez ce que
-vous faites ou votre si votre carte/pilote ne supporte pas la valeur par
-défaut (palette YV12).
-Dans les versions précédentes de <application>MPlayer</application>/
-<application>MEncoder</application> il était nécessaire de spécifier le
-format de sortie.
-Ce problème devrait être résolu dans les versions actuelles et
-<option>outfmt</option> n'est plus requis, et la valeur par défaut convient
-dans la plupart des cas.
-Par exemple, si vous capturez en DivX en utilisant
-<systemitem class="library">libavcodec</systemitem> et que vous spécifiez
-<option>outfmt=RGB24</option> de façon à augmenter la qualité de l'image
-capturée, l'image capturée sera reconvertie plus tard en YV12; donc la
-seule chose que vous obtiendrez est un gaspillage massif de puissance CPU.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Pour spécifier la palette I420 (<option>outfmt=i420</option>), vous devez
-ajouter une option <option>-vc rawi420</option> Ã cause d'un conflit de
-fourcc avec un codec vidéo Intel Indeo.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Il y a plusieurs façons de capturer l'audio.
-Vous pouvez attraper le son soit avec votre carte son via un câble externe
-entre la carte vidéo et l'entrée ligne, soit en utilisant le DAC intégré
-Ã la puce bt878.
-Dans ce dernier cas, vous devrez charger le pilote
-<emphasis role="bold">btaudio</emphasis>.
-Lisez le fichier <filename>linux/Documentation/sound/btaudio</filename>
-(dans l'arborescence du noyau, pas celle de <application>MPlayer</application>)
-pour les instructions d'utilisations de ce pilote.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Si <application>MEncoder</application> ne peut pas ouvrir le périphérique
-audio, assurez-vous qu'il soit réellement disponible.
-Il peut y avoir des ennuis avec certains serveurs de son comme aRts (KDE)
-ou ESD (GNOME).
-Si vous avez une carte son full duplex (presque toutes les cartes décentes
-le supportent aujourd'hui), et que vous utilisez KDE, essayez d'activer
-l'option "full duplex" dans le menu des préférences du serveur de son.
-</para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-examples">
-<title>Exemples</title>
-
-<informalexample>
-<para>
-Sortie muette, vers AAlib :)
-<screen>
-mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
- Entrée depuis V4L standard :
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 \
- -vo xv tv://</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Un exemple plus élaboré.
-Ici <application>MEncoder</application> capture l'image PAL entière, coupe
-les marges, et désentrelace l'image en utilisant un algorithme de mélange
-linéaire.
-L'audio est compressée à un débit constant de 64kbps, en utilisant le codec
-LAME.
-Cette combinaison est adaptée pour capturer des films.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -vf crop=720:544:24:16,pp=lb \
- -o <replaceable>output.avi</replaceable> tv://
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Cela dimensionne également l'image en 384x288 et compresse la vidéo avec
-un débit de 350kbps en mode haute qualité.
-L'option vqmax perd le quantizer et permet au compresseur vidéo d'atteindre
-un débit plus bas au détriment de la qualité.
-Cela peut être utilisé pour capturer des longues séries TV, quand la qualité
-n'est pas très importante.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 -sws 1 \
- -o <replaceable>output.avi</replaceable>\
- -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
-</screen>
-Il est également possible de spécifier des dimensions d'images plus petites
-dans l'option <option>-tv</option> et d'omettre le zoom logiciel mais cette
-approche utilise le maximum d'informations disponibles et, est un peu plus
-résistant au bruit.
-Les chipsets bt8x8 peuvent faire une moyenne de pixels uniquement dans la
-direction horizontale à cause d'une limitation matérielle.
-</para>
-</informalexample>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tv-teletext">
-<title>Télétexte</title>
-
-<para>
-Le Télétexte n'est actuellement disponible dans
-<application>MPlayer</application> que pour les drivers v4l et v4l2.
-</para>
-
-<sect2 id="tv-teletext-implementation-notes">
-<title>Notes d'implantation</title>
-
-<para>
-<application>MPlayer</application> gère les textes, graphiques et
- liens classiquess.
- Malheureusement, les pages colorisées ne sont pas encore complètement
- gérées : toutes les pages sont affichées en niveau de gris.
- Les sous-titres (dénommés Closed Captions (CC)) sont aussi supportées.
-</para>
-
-<para>
-<application>MPlayer</application> commence à mettre en cache toutes les
-pages Télétexte dès qu'il commence à recevoir du signal TV. Ainsi, vous
-n'avez pas besoin d'attendre jusqu'à ce que la page requise soit chargée.
-</para>
-
-<para>
- Note : Utiliser le Télétexte avec l'option <option>-vo xv</option>
- génère des couleurs bizarres.
-</para>
-</sect2>
-
-<sect2 id="tv-teletext-usage">
-<title>Using teletext</title>
-
-<para>
-Pour pouvoir décoder le tététexte, vous devez spécifier le périphérique VBI
-d'où vous souhaitez extraire les données (normalement
-<filename>/dev/vbi0</filename> pour Linux). Ceci peut être fait en
-spécifiant <option>tdevice</option> dans votre fichier de configuration
-comme indiqué ci-dessous :
-<screen>tv=tdevice=/dev/vbi0</screen>
-</para>
-
-<para>
-Vous pouvez avoir besoin de spécifier le code de la langue pour
-le Télétexte dans votre pays. La liste des codes est disponible avec
-l'option :
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
-
-Voici un exemple pour du Russe :
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="radio">
-<title>Radio</title>
-
-<sect2 id="radio-input" xreflabel="Radio input">
-<title>Entrée Radio</title>
-
-<para>
-Cette section a pour but de vous expliquer comment écouter la radio
-depuis un tuner compatible V4L (Video For Linux). Reportez-vous à la
-page de manuel pour la description des options controlant la radio ainsi
-que pour la liste des raccourcis clavier.
-</para>
-
-<!-- ********** -->
-
-<sect3 id="radio-compilation">
-<title>Compilation</title>
-
-<procedure>
-<step><para>
- Tout d'abord, vous devez recompiler <application>MPlayer</application>.
- Invoquez <filename>./configure</filename> avec l'option
- <option>--enable-radio</option> et si vous désirez pouvoir enregister la radio,
- ajoutez <option>--enable-radio-capture</option>.
-</para></step>
-<step><para>
- Vérifiez que votre tuner fonctionne avec un autre logiciel d'écoute radio
- comme <application>XawTV</application> par exemple.
-</para></step>
-</procedure>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-tips">
-<title>Astuces d'utilisation</title>
-<para>
-La liste complète des options est disponible dans la page de manuel.
-En voici une sélection des plus pratiques :
-</para>
-<itemizedlist>
-<listitem>
-<para>
-L'option <option>channels</option>. Un exemple :
-<screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
-Avec cette option, seules les fréquences 104.4 et 103.9
-pourront être écoutées. Lors d'un changement de station, le nom de la radio
-apparaitra à l'écran (OSD). Les caractères espace " " dans le nom de la
-station doivent être remplacés par le caractère underscore "_".
-</para>
-</listitem>
-
-<listitem>
-<para>
-Il y a plusieurs façons d'enregistrer la radio. Vous pouvez soit utiliser votre
-carte son via un cable externe reliant votre carte vidéo et le line-in de la carte son
-ou utiliser l'ADC integré à la puce saa7134. Dans le second cas, vous devez charger le
-pilote <systemitem>saa7134-alsa</systemitem> ou <systemitem>saa7134-oss</systemitem> selon
-votre configuration.
-</para>
-</listitem>
-
-<listitem>
-<para>
-<application>MEncoder</application> ne peut pas être utilisé pour enregistrer la radio car
-il doit necessairement travailler sur un flux vidéo. Vous pouvez soit utiliser le logiciel
-<application>arecord</application> du projet ALSA ou utiliser l'option
-<option>-ao pcm:file=fichier.wav</option>. Dans ce cas, vous n'entenderez rien,
-sauf si vous utilisez un cable branché au line-in et que le volume du line-in n'est pas nul).
-</para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-examples">
-<title>Exemples</title>
-
-
-<informalexample>
-<para>
-Ecoute depuis un périphérique V4L standard (cable relié au line-in,
-enregistrement désactivé) :
-<screen>
-mplayer radio://104.4
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Ecoute depuis un périphérique V4L standard (cable relié au line-in,
-enregistrement désactivé, interface V4Lv1) :
-<screen>
-mplayer -radio driver=v4l radio://104.4
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Ecoute de la seconde fréquence dans la liste.
-<screen>
-mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Transfert du son par le bus PCI depuis l'ADC interne de la carte son.
-Dans cet exemple, le tuner radio est utilisé comme une seconde carte son
-(périphérique ALSA hw:1,0). Pour les cartes son basées sur la puce
-saa7134, le module <systemitem>saa7134-alsa</systemitem> ou
-<systemitem>saa7134-oss</systemitem> doit être chargé.
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
--radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note><para>Dans les noms de périphérique ALSA, les point-virgules
-";" doivent être remplacés
-par des signes égal "=" et les virgules "," par des points
-".".
-</para></note>
-</para>
-</informalexample>
-</sect3>
-</sect2>
-
-</sect1>
-</chapter>
diff --git a/DOCS/xml/fr/video.xml b/DOCS/xml/fr/video.xml
deleted file mode 100644
index 6a1da6d..0000000
--- a/DOCS/xml/fr/video.xml
+++ /dev/null
@@ -1,3002 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r27044 -->
-<chapter id="video">
-<title>Sorties vidéo</title>
-
-<sect1 id="mtrr">
-<title>Réglage MTRR</title>
-
-<para>
-Il est FORTEMENT recommandé de bien ajuster ses registres MTRR, qui apportent
-un gain important de performances.
-</para>
-
-<para>
- Faites un <command>cat /proc/mtrr</command> :
-<screen>
-<prompt>--($:~)--</prompt> cat /proc/mtrr
-reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
-reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
---></screen>
-</para>
-
-<para>
-C'est bon, il montre ma Matrox G400 avec 16Mo de mémoire.
-J'ai fais cela avec XFree 4.x.x, qui ajuste les registres MTRR
-automatiquement.
-</para>
-
-<para>
-Si rien n'a fonctionné, vous devrez procéder manuellement.
-D'abord, vous devez trouver l'adresse de base.
-Vous pouvez la trouver de trois façons :
-
-<orderedlist>
-<listitem><para>
- à partir des messages au démarrage de X11, par exemple :
- <screen>
-(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
-(--) SVGA: Linear framebuffer at 0xD8000000<!--
---></screen>
- </para></listitem>
-<listitem><para>
- Ã partir de <filename>/proc/pci</filename> (utilisez la commande
- <command>lspci -v</command>) :
- <screen>
-01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
-Memory at d8000000 (32-bit, prefetchable)
- </screen>
- </para></listitem>
-<listitem><para>
- Ã partir des messages noyau du pilote mga_vid (utilisez
- <command>dmesg</command>) :
- <screen>mga_mem_base = d8000000</screen>
- </para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Trouvons maintenant la taille mémoire. Simplement, convertissez la taille de
-la
-mémoire vidéo en hexadécimal, ou utilisez cette table :
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
-<row><entry>1 Mo</entry><entry>0x100000</entry></row>
-<row><entry>2 Mo</entry><entry>0x200000</entry></row>
-<row><entry>4 Mo</entry><entry>0x400000</entry></row>
-<row><entry>8 Mo</entry><entry>0x800000</entry></row>
-<row><entry>16 Mo</entry><entry>0x1000000</entry></row>
-<row><entry>32 Mo</entry><entry>0x2000000</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Vous connaissez l'adresse de base ainsi que la taille, ajustons vos registres
-MTRR !
-Par exemple, pour la carte Matrox utilisée ci-dessus
-(<literal>base=0xd8000000</literal>)
-avec 32Mo de ram (<literal>size=0x2000000</literal>) faites simplement :
-<screen>
-echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr
-</screen>
-</para>
-
-<para>
-Tous les processeurs ne supportent pas les MTRR. Les anciens K6-2 par exemple
-(vers 266Mhz, stepping 0) ne sont pas compatibles avec les MTRR, mais les
-stepping 12
-le sont
-(<command>cat /proc/cpuinfo</command> pour le vérifier).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="xv">
-<title>Xv</title>
-
-<para>
-Sous XFree86 4.0.2 ou plus récent, vous pouvez utiliser les routines YUV
-matérielles de votre carte en utilisant l'extension XVideo.
-C'est ce qu'utilise l'option <option>-vo xv</option>.
-De plus, ce pilote supporte le réglage de luminosité/contraste/saturation/etc.
-(Ã moins que vous n'utilisiez le vieux, lent codec Divx DirectShow, qui le
-supporte partout), voir la page de man.
-</para>
-
-<para>
-Pour que cela fonctionne, vérifiez ceci :
-
-<orderedlist>
-<listitem><para>
- Vous devez utiliser XFree86 4.0.2 ou plus récent (les versions précédentes
- n'ont pas XVideo)
- </para></listitem>
-<listitem><para>
- Votre carte supporte l'accélération matérielle (les cartes modernes le font)
- </para></listitem>
-<listitem><para>
- X charge l'extension XVideo, qui doit faire apparaître quelque chose
-comme :
- <programlisting>(II) Loading extension XVideo</programlisting>
- dans <filename>/var/log/XFree86.0.log</filename>
- <note><para>
- NOTE : ceci charge seulement l'extension de XFree86.
- Dans une installation correcte, celle ci est toujours chargée, et ne
- signifie pas que le support XVideo spécifique Ã
- <emphasis role="bold">votre carte</emphasis> est chargée !
- </para></note>
- </para></listitem>
-<listitem><para>
- Votre carte a le support Xv sous Linux. Pour le vérifier, essayez
- <command>xvinfo</command>,
- inclus dans XFree86. Cela doit afficher un long message, similaire à :
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...etc...)<!--
---></screen>
- Cela doit supporter les formats de pixels YUY2 packed et YV12 planar pour
- pouvoir être utilisés avec <application>MPlayer</application>.
- </para></listitem>
-<listitem><para>
- Finalement, vérifiez si <application>MPlayer</application> a été compilé
- avec le support 'xv'.
- Faites un <command>mplayer -vo help | grep xv</command>
- Si le support 'xv' à été compilé une ligne similaire à celle-ci devrait
- apparaitre :
- <screen> xv X11/Xv</screen>
- </para></listitem>
-</orderedlist>
-</para>
-
-<sect2 id="tdfx">
-<title> Cartes 3dfx</title>
-
-<para>
-Les anciens pilotes 3dfx avaient des problèmes avec l'accélération XVideo,
-et ne supportaient ni YUY2 ni YV12.
-Vérifiez que vous avez bien XFree86 version 4.2.0 ou plus, il fonctionne
-correctement avec YV12 et YUY2.
-Les versions précédentes, incluant 4.1.0,
-<emphasis role="bold">plantent avec YV12</emphasis>.
-Si des problèmes apparaissent en utilisant <option>-vo xv</option>, essayez
-SDL (qui utilise également XVideo) et voyez si cela passe mieux.
-Lisez la section <link linkend="sdl">SDL</link> pour plus de détails.
-</para>
-
-<para>
-<emphasis role="bold">OU</emphasis>, essayez le NOUVEAU pilote
-<option>-vo tdfxfb</option> ! Voir la section <link
-linkend="tdfxfb">tdfxfb</link>.
-</para>
-</sect2>
-
-
-<sect2 id="s3">
-<title>Cartes S3</title>
-
-<para>
-Les cartes S3 Savage3D doivent fonctionner correctement, mais pour les
-Savage4,
-utilisez XFree86 version 4.0.3 ou plus (en cas de problèmes d'image, essayez
-16bpp).
-Comme pour les S3 Virge : il y a un support xv, mais la carte elle-même
-est
-très lente,
-donc vous feriez mieux de la vendre.
-</para>
-<para>
-Il y a maintenant un pilote framebuffer natif pour les cartes S3 Virge
-ou similaires à tdfxfb. Activez votre framebuffer (c-à -d ajoutez
-"<option>vga=792 video=vesa:mtrr</option>" en paramètre à votre noyau) et utilisez
-<option>-vo s3fb</option> (<option>-vf yuy2</option> et <option>-dr</option>
-peuvent aider aussi).
-</para>
-
-<note><para>
-Il n'est actuellement pas facile de savoir quels modèles de Savage manquent
-de support YV12, et de le convertir par un pilote (lent).
-Si vous suspectez votre carte, prenez un pilote plus récent, ou demandez
-poliment un pilote qui gère MMX/3DNow sur la liste de diffusion MPlayer-users.
-</para></note>
-</sect2>
-
-
-<sect2 id="nvidia">
-<title>Cartes nVidia</title>
-
-<para>
-nVidia n'est pas un très bon choix sous Linux ... Les pilotes open-source de
-XFree86 supportent la plupart de ces cartes, mais dans certains cas, vous devrez
-utiliser les pilotes binaires closed-source de nVidia, disponibles sur le
-<ulink url="http://www.nvidia.com/object/linux.html">site web de nVidia</ulink>.
-Vous aurez toujours besoin de ce pilote si vous voulez l'accélération 3D.
-</para>
-
-<para>
-Les cartes Riva128 n'ont pas de support XVideo même avec le pilote
-nVidia :(
-Plaignez-vous en à nVidia.
-</para>
-
-<para>
-Cependant, <application>MPlayer</application> contient un pilote
-<link linkend="vidix">VIDIX</link> pour la plupart des cartes
-nVidia. Actuellement il est en phase béta, et a quelques inconvénients. Pour
-plus d'informations, voir la section <link linkend="vidix-nvidia">VIDIX
-nVidia</link>.
-</para>
-</sect2>
-
-
-<sect2 id="ati">
-<title>Cartes ATI</title>
-
-<para>
-Le <ulink url="http://gatos.sf.net">pilote GATOS</ulink>
-(que vous devriez utiliser, Ã moins d'avoir une Rage128 ou une Radeon)
-utilise VSYNC par défaut.
-Cela signifie que la vitesse de décodage (!) est synchronisée à la vitesse de
-rafraîchissement du moniteur. Si la lecture semble lente, essayez d'enlever
-VSYNC, ou passez la vitesse de rafraîchissement à n*(fps du film) Hz.
-</para>
-
-<para>
-Radeon VE - si vous avez besoin de X, utilisez 4.2.0 ou supérieur pour cette
-carte.
-Pas de support TV-out.
-Bien sûr avec <application>MPlayer</application> vous pouvez heureusement
-avoir un affichage <emphasis role="bold">accéléré</emphasis>, avec ou sans
-<emphasis role="bold">sortie TV</emphasis>, et aucune librairie ou X ne
-sont requis. Lire la section <link linkend="vidix">VIDIX</link>.
-</para>
-</sect2>
-
-
-<sect2 id="neomagic">
-<title>Cartes NeoMagic</title>
-
-<para>
-Ces cartes sont utilisées sur de nombreux portables. Vous devez utiliser
-XFree86 4.3.0 ou supérieur, ou utiliser
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-pilote/">les
-pilotes Xv</ulink>
-de Stefan Seyfried.
-Choisissez juste celui qui s'applique à votre version de XFree86.
-</para>
-
-<para>
-XFree86 4.3.0 inclut le support Xv, mais Bohdan Horst a envoyé un petit
-<ulink
-url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-pilote/neo_pilote.patch"
->patch</ulink>
-pour les sources XFree86 qui accélère les opérations framebuffer (et donc
-XVideo)
-jusqu'Ã quatre fois.
-Ce patch a été inclus dans le CVS de XFree86 et devrait être dans la prochaine
-version suivant 4.3.0.
-</para>
-
-<para>
-Pour permettre la lecture de contenu de taille DVD changez votre XF86Config
-comme ceci :
-<programlisting>
-Section "Device"
- [...]
- pilote "neomagic"
- <emphasis>Option "OverlayMem" "829440"</emphasis>
- [...]
-EndSection<!--
---></programlisting>
-</para>
-</sect2>
-
-
-<sect2 id="trident">
-<title>Cartes Trident</title>
-<para>
-Si vous voulez utiliser Xv avec une carte Trident, puisque son support ne
-fonctionne pas avec 4.1.0, installez XFree 4.2.0.
-Celui-ci ajoute le support Xv plein-écran avec la carte Cyberblade XP.
-</para>
-
-<para>
-<application>MPlayer</application> contient également un pilote
-<link linkend="vidix">VIDIX</link> pour la carte Cyberblade/i1.
-</para>
-</sect2>
-
-
-<sect2 id="kyro">
-<title>Cartes Kyro/PowerVR</title>
-
-<para>
-Si vous voulez utiliser Xv avec une carte Kyro (par exemple la Hercules
-Prophet 4000XT), vous devriez télécharger les pilotes depuis le
-<ulink url="http://www.powervr.com/">site de PowerVR</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="intel">
- <title>Cartes Intel</title>
-
- <para>
- Ces cartes sont présentes sur de nombreux portables. Un Xorg récent est
-recommendé.
- </para>
-
- <para>
- Pour permettre la lecture de vidéo de la résolution d'un DVD (voir plus),
- modifiez le fichier XF86Config/xorg.conf comme tel :
- <programlisting>
- Section "Device"
- [...]
- pilote "intel"
- <emphasis>Option "LinearAlloc" "6144"</emphasis>
- [...]
- EndSection
- </programlisting>
- L'absence de cette option se caractérise généralement par une erreur du
- genre
- <screen>
- X11 error: BadAlloc (insufficient resources for operation)
- </screen>
- lorsque l'on tente d'utiliser l'option <option>-vo xv</option>.
- </para>
-</sect2>
-</sect1>
-
-
-<!-- ********** -->
-
-<sect1 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>PRÃAMBULE</title>
-<para>
-Ce document tente d'expliquer en quelques mots ce qu'est le DGA en général et
-ce que peut faire le pilote de sortie DGA pour
-<application>MPlayer</application>
-(et ce qu'il ne peut pas faire).
-
-</para>
-</formalpara>
-
-<formalpara>
-<title>QU'EST CE QUE LE DGA</title>
-<para>
-<acronym>DGA</acronym> est l'abréviation de <emphasis>Direct Graphics
-Access</emphasis> et permet aux programmes de passer outre le serveur X et de
-modifier directement la mémoire dans le framebuffer. Techniquement parlant,
-cela
-fonctionne en mappant la mémoire du framebuffer dans les adresses mémoire de
-votre
-process. Cela est autorisé par le noyau uniquement si vous avez les privilèges
-super-utilisateur. Vous pouvez les obtenir soit en vous loggant en <systemitem
-class="username">root</systemitem> ou en plaçant le bit suid sur l'exécutable
-<application>MPlayer</application> (<emphasis role="bold">non
-recommandé</emphasis>).
-</para>
-</formalpara>
-<para>
- Il existe deux versions de DGA : DGA1 est utilisé par XFree 3.x.x et
-DGA2 a été introduit par XFree 4.0.1.
-</para>
-
-<para>
-DGA1 propose uniquement un accès direct au framebuffer comme décrit ci-dessus.
-Pour changer la résolution de votre signal vidéo vous devez utiliser les
-extensions XVidMode.
-</para>
-
-<para>
-DGA2 incorpore les fonctions de XVidMode et permet également de changer le
-nombre de
-couleurs de l'affichage. Donc vous pouvez, en exécutant depuis un serveur X 32
-bits,
-passer en 15 bits et vice-versa.
-</para>
-
-<para>
-Cependant DGA a quelques défauts. Il semble qu'il reste dépendant de la
-carte graphique utilisée et de la mise en place du pilote de votre serveur
-X contrôlant cette carte.
-Cela peut donc ne pas fonctionner sur tous les systèmes...
-</para>
-
-<formalpara>
-<title>INSTALLER LE SUPPORT DGA POUR MPLAYER</title>
-
-<para>
-Assurez vous d'abord que X charge l'extension DGA, regardez dans
-<filename>/var/log/XFree86.0.log</filename> :
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-XFree86 4.0.x ou plus est <emphasis role="bold">hautement
-recommandé</emphasis> !
-Le pilote DGA de <application>MPlayer</application> est automatiquement
-détecté par <filename>./configure</filename>, ou vous pouvez le forcer avec
-l'option <option>--enable-dga</option>.
-</para>
-</formalpara>
-
-<para>
-Si le pilote ne peut pas passer en résolution inférieure, essayez les options
-<option>-vm</option> (uniquement avec X 3.3.x), <option>-fs</option>,
-<option>-bpp</option>, <option>-zoom</option> pour trouver un mode vidéo qui
-convienne
-à la vidéo. Il n'existe pas de convertisseur actuellement :(
-</para>
-
-<para>
-Passez en <systemitem class="username">root</systemitem>.
-DGA nécessite un accès root pour écrire directement dans la mémoire vidéo.
-Si vous voulez rester en utilisateur, installez
-<application>MPlayer</application> SUID root :
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
-Maintenant cela fonctionne aussi avec les droits d'un simple utilisateur.
-</para>
-
-<caution>
-<title>Faille de sécurité</title>
-<para>
-Cela présente une <emphasis role="bold">grosse</emphasis> faille de
-sécurité !
-Ne faites <emphasis role="bold">jamais</emphasis> ceci sur un serveur ou un
-ordinateur accessible par d'autres personnes que vous, ils pourraient obtenir
-les privilèges root par l'exécutable <application>MPlayer</application>.
-</para>
-</caution>
-
-<para>
-Utilisez maintenant l'option <option>-vo dga</option> et c'est parti !
-(Enfin on peut l'espérer :)) Vous pouvez alors essayer l'option
-<option>-vo sdl:pilote=dga</option> !
-C'est beaucoup plus rapide !
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>CHANGEMENT DE RÃSOLUTION</title>
-
-<para>
-Le pilote DGA vous permet de changer la résolution du signal de sortie. Cela
-permet
-d'éviter un redimensionnement logiciel, beaucoup plus lent, et offre une image
-plein
-écran. Idéalement il doit passer à la résolution exacte de la vidéo (excepté
-pour
-respecter le rapport hauteur/largeur), mais le serveur X permet uniquement le
-passage
-à des résolutions définies dans <filename>/etc/X11/XF86Config</filename>
-(<filename>/etc/X11/XF86Config-4</filename> pour XFree 4.X.X respectivement).
-Ceux-ci sont définis par des modelines dépendantes des capacités de votre
-matériel.
-Le serveur X scanne ce fichier de configuration au démarrage et élimine les
-modelines
-ne correspondant pas au matériel. Vous pouvez retrouver dans les logs de X
-quelles
-modelines sont acceptables. Elles peuvent être trouvées dans :
-<filename>/var/log/XFree86.0.log</filename>.
-</para>
-</formalpara>
-
-<para>
-Ces entrées doivent fonctionner correctement avec un chip Riva128, en
-utilisant le
-module pilote nv.o du serveur X.
-</para>
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA & MPLAYER</title>
-<para>
- DGA est utilisé en deux endroits par
-<application>MPlayer</application> : Le pilote SDL peut se compiler pour
-en faire usage (<option>-vo sdl:pilote=dga</option>) et dans le pilote DGA
-(<option>-vo dga</option>). Dans les sections suivantes je vous expliquerai
-comment fonctionne le pilote DGA pour <application>MPlayer</application>.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>FONCTIONNALITÃS</title>
-
-<para>
-Le pilote DGA s'invoque en spécifiant <option>-vo dga</option> en ligne de
-commande.
-L'action par défaut consiste à passer dans une résolution s'approchant au
-mieux de la
-résolution de la vidéo. Il ignore volontairement les options
-<option>-vm</option> et
-<option>-fs</option> (autorisant le changement de résolution et le plein
-écran) - il
-essaie toujours de couvrir le plus large espace possible de votre écran en
-changeant
-les modes vidéo, tout en utilisant un seul cycle CPU additionnel pour agrandir
-l'image.
-Si vous voulez utiliser un autre mode que celui qu'il a choisi, vous pouvez le
-forcer
-par les options <option>-x</option> et <option>-y</option>. Avec l'option
-<option>-v</option>,
-le pilote DGA affichera, entre autres choses, une liste de toutes les
-résolutions
-supportées par votre fichier <filename>XF86Config</filename>. Avec DGA2 vous
-pouvez
-également le forcer a utiliser un certain nombre de couleurs en utilisant
-l'option
-<option>-bpp</option>. Les nombres de couleurs autorisées sont 15, 16, 24 et
-32. Cela
-dépend de votre matériel, soit ces modes sont nativement supportés, ou si une
-conversion logicielle doit être appliquée (ce qui peut ralentir la lecture).
-</para>
-</formalpara>
-<para>
-Si par chance vous avez assez de mémoire vidéo libre pour y placer une image
-entière,
-le pilote DGA utilisera le double buffering, qui améliore considérablement la
-qualité
-de lecture. Il doit vous afficher si le double buffering est utilisé ou non.
-</para>
-
-<para>
-Double buffering signifie que la prochaine trame de votre vidéo est dessinée
-dans une
-partie non affichée de la mémoire graphique tandis que s'affiche la trame en
-cours.
-Quand la trame suivante est prête, la puce graphique reçoit simplement
-l'adresse de
-celle-ci et récupère les données a afficher depuis cette partie de la mémoire.
-Pendant
-ce temps l'autre buffer se remplit avec l'image suivante.
-</para>
-
-<para>
-Le double buffering peut s'activer avec l'option <option>-double</option>
-et se désactiver avec <option>-nodouble</option>.
-Actuellement l'option par défaut est de désactiver le double buffering.
-En utilisant le pilote DGA, l'on-screen display (OSD) fonctionne uniquement
-avec le doublebuffering activé.
-Cependant, activer le double buffering peut demander des calculs
-supplémentaires
-au processeur (sur mon K6-II+ 525 il utilisait 20% de temps CPU en
-plus !),
-ceci dépendant de l'implémentation du DGA pour votre matériel.
-</para>
-
-
-<formalpara>
-<title>PROBLÃMES DE VITESSE</title>
-
-<para>
-Généralement, l'accès au framebuffer DGA peut s'avérer aussi rapide que le
-pilote X11,
-apportant en plus l'avantage de bénéficier d'une image plein écran. Les
-pourcentages
-affichés par <application>MPlayer</application> doivent être interprétés avec
-précaution, comme par exemple avec le pilote X11 où ils n'incluent pas le
-temps utilisé
-par le serveur X pour l'affichage. Pour des résultats exacts, branchez un
-terminal sur
-le port série de votre machine et lancez un <command>top</command> pour savoir
-ce qui
-se passe réellement lors de la lecture...
-</para>
-</formalpara>
-
-<para>
-D'une manière générale, l'accélération acquise en utilisant le DGA au lieu de
-l'affichage X11 classique dépend fortement de votre carte graphique et des
-optimisations effectuées sur le module DGA du serveur X.
-</para>
-
-<para>
-Si votre système s'avère trop lent, utilisez plutôt une profondeur de couleurs
-de 15 or
-16bits, qui ne demandent que la moitié de la bande passante d'un affichage 32
-bits.
-</para>
-
-<para>
-Utiliser une profondeur de 24 bits peut s'avérer une bonne solution si votre
-carte ne
-supporte nativement que le 32 bits, le transfert se réduisant de 25% par
-rapport à un
-mode 32/32.
-</para>
-
-<para>
-J'ai vu certains fichiers AVI passer sur des Pentium MMX 266. Les processeurs
-AMD K6-2
-s'avèrent utilisables à partir de 400 MHz.
-</para>
-
-
-<formalpara>
-<title>BOGUES CONNUS</title>
-
-<para>
-A vrai dire, selon certains développeurs de XFree, DGA est une usine à gaz.
-Ils
-recommandent d'éviter son utilisation. Son implémentation n'est pas parfaite
-avec
-chaque chipset pour XFree.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Avec XFree 4.0.3 et <filename>nv.o</filename> un bogue affiche des couleurs
-étranges.
- </para></listitem>
-<listitem><para>
- Les pilotes ATI requièrent de changer plusieurs fois de mode après
-l'utilisation
- du DGA.
- </para></listitem>
-<listitem><para>
- Certains pilotes échouent à revenir à la résolution normale (utilisez
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap>
- <keycap>Keypad +</keycap></keycombo>
- et <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap>
- <keycap>Keypad -</keycap></keycombo> pour y retourner manuellement).
- </para></listitem>
-<listitem><para>
- Certains pilotes affichent simplement des couleurs étranges.
- </para></listitem>
-<listitem><para>
- Certains pilotes mentent a propos de la quantité de mémoire allouée dans
-l'espace
- d'adressage du processus, empêchant vo_dga d'utiliser le doublebuffering
-(SIS ?)
- </para></listitem>
-<listitem><para>
- Certains pilotes semblent ne pas pouvoir reporter ne serait-ce qu'un seul
-mode valide.
- Dans ce cas le pilote DGA plantera en vous affichant un mode 100000x100000
-ou
- quelque chose comme ça.
- </para></listitem>
-<listitem><para>
- L'OSD fonctionne uniquement avec le doublebuffering activé (sinon il
-clignote).
- </para></listitem>
-</itemizedlist>
-
-</sect1>
-
-
-<!-- ********** -->
-
-<sect1 id="sdl">
-<title>SDL</title>
-
-<para>
-<acronym>SDL</acronym> (Simple Directmedia Layer) est fondamentalement une
-interface
-vidéo/audio unifiée. Les programmes qui l'utilisent connaissent uniquement
-SDL, et pas
-quels pilotes vidéo ou audio SDL utilise lui-même. Par exemple, un portage de
-Doom
-utilisant SDL peut tourner avec svgalib, aalib, X, fbdev et autres, vous devez
-seulement
-spécifier (par exemple) le pilote vidéo à utiliser avec la variable
-d'environnement
-<envar>SDL_VIDEOpilote</envar>. Enfin, en théorie.
-</para>
-
-<para>
-Avec <application>MPlayer</application>, nous avons utilisé le
-redimensionnement
-logiciel de ses pilotes X11 pour les cartes qui ne supportent pas XVideo,
-jusqu'Ã ce
-que nous fassions notre propre "dimensionneur" logiciel (plus rapide, plus
-agréable).
-Nous avons également utilisé sa sortie aalib, mais maintenant nous avons la
-nôtre qui
-est plus confortable. Son support DGA était meilleur que le nôtre, jusqu'Ã
-récemment.
-Vous comprenez maintenant? :)
-</para>
-
-<para>
-Cela aide également avec certains pilotes/cartes boguées si la vidéo est
-saccadée
-(pas de problème de lenteur du système), ou si l'audio est retardé.
-</para>
-
-<para>
-La sortie vidéo de SDL supporte l'affichage des sous-titres sous le film, dans
-les
-bandes noires (si elles sont présentes).
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>INSTALLATION</title>
-<para>
-Vous devrez installer svgalib et ses paquets de développement afin que
-<application>MPlayer</application> construise son pilote SVGAlib (autodetecté,
-mais peut être forcé), et n'oubliez pas d'éditer
-<filename>/etc/vga/libvga.config</filename>
-pour l'ajuster à votre carte et votre moniteur.
-</para>
-</formalpara>
-
-<note><para>
-Assurez-vous de ne pas utiliser l'option <option>-fs</option>, car elle active
-l'utilisation du redimensionneur logiciel, et c'est lent. Si vous en avez
-réellement
-besoin, utilisez l'option <option>-sws 4</option> qui donnera une qualité
-mauvaise,
-mais qui est un peu plus rapide.
-</para></note>
-
-<formalpara>
-<title>SUPPORT EGA (4BPP)</title>
-<para>
-SVGAlib incorpore EGAlib, et <application>MPlayer</application> a la
-possibilité
-d'afficher n'importe quel film en 16 couleurs, donc utilisable avec les
-configurations suivantes :
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- carte EGA avec moniteur EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
- </para></listitem>
-<listitem><para>
- carte EGA avec moniteur CGA: 320x200x4bpp, 640x200x4bpp
- </para></listitem>
-</itemizedlist>
-
-<para>
- La valeur des bpp (bits par pixel) doit être fixé à 4 manuellement :
-<option>-bpp 4</option>
-</para>
-
-<para>
- Le film doit probablement être redimensionné pour tenir dans le mode
-EGA :
-<screen>-vf scale=640:350</screen>
-ou
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-Pour cela nous avons besoin de la routine de redimensionnement rapide mais de
-mauvaise qualité :
-<screen>-sws 4</screen>
-</para>
-
-<para>
- Peut-être que la correction d'aspect automatique doit être coupée :
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-D'après mon expérience, la meilleur qualité d'image sur les écrans EGA peut
-être
-obtenue en diminuant légèrement la luminosité :
-<option>-vf eq=-20:0</option>.
-J'ai également besoin de diminuer la fréquence d'échantillonnage sur ma
-machine, car le son est endommagé en 44kHz : <option>-srate
-22050</option>.
-</para></note>
-
-<para>
-Vous pouvez activer l'OSD et les sous-titres uniquement avec le filtre
-<option>expand</option>, voir la page de man pour les paramètres exacts.
-
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="fbdev">
-<title>Sortie Framebuffer (FBdev)</title>
-
-<para>
-La compilation de le sortie FBdev est autodétectée durant
-<filename>./configure</filename>.
-Lisez la documentation sur le framebuffer dans le sources du noyau
-(<filename>Documentation/fb/*</filename>) pour avoir plus d'infos.
-</para>
-
-<para>
-Si votre carte ne supporte pas le standard VBE 2.0 (anciennes cartes ISA/PCI,
-comme les S3 Trio64), et uniquement VBE 1.2 (ou plus ancien ?) : Dans ce
-cas, VESAfb reste disponible, mais vous devrez charger SciTech Display Doctor
-(anciennement nommé UniVBE) avant de booter Linux. Utilisez une disquette de
-boot DOS ou similaire. Et n'oubliez pas d'enregistrer votre copie d'UniVBE ;))
-</para>
-
-<para>
- La sortie FBdev accepte certains paramètres additionnels :
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- spécifie le device framebuffer a utiliser (par défaut :
-<filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- mode a utiliser (d'après le fichier <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- fichier de configuration des modes (par défaut :
-<filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- valeurs <emphasis role="bold">importantes</emphasis>, voir
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Si vous désirez passer dans un mode particulier, alors utilisez
-<screen>mplayer -vm -fbmode <replaceable>nom_du_mode</replaceable>
-<replaceable>nomfichier</replaceable></screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vm</option> seul choisira le mode le mieux adapté dans votre
-fichier
- <filename>/etc/fb.modes</filename>. Peut s'utiliser avec les options
- <option>-x</option> et <option>-y</option>. L'option <option>-flip</option>
-est
- supportée uniquement si le format de pixels de la vidéo correspond au format
-de
- pixel du mode framebuffer.
- Faites attention à la valeur bpp, le pilote fbdev essaie par défaut
-d'utiliser
- la valeur courante, ou bien celle spécifiée par l'option
-<option>-bpp</option>.
- </para></listitem>
-<listitem><para>
- l'option <option>-zoom</option> n'est pas supportée (Utilisez l'option
- <option>-fs</option>). Vous ne pouvez pas utiliser de modes 8bpp (ou moins).
- </para></listitem>
-<listitem><para>
- vous pouvez vouloir désactiver le curseur :
- <screen>echo -e '\033[?25l'</screen>
- ou
- <screen>setterm -cursor off</screen>
- et l'économiseur d'écran :
- <screen>setterm -blank 0</screen>
- Pour afficher de nouveau le curseur :
- <screen>echo -e '\033[?25h'</screen>
- ou
- <screen>setterm -cursor on</screen>
- </para></listitem>
-</itemizedlist>
-
-<note><para>
-Le changement de mode vidéo avec FBdev <emphasis>ne fonctionne pas</emphasis>
-avec le framebuffer VESA, et ne nous le demandez pas, il ne s'agit pas d'une
-limitation de <application>MPlayer</application>.
-</para></note>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="mga_vid">
-<title>Framebuffer Matrox (mga_vid)</title>
-
-<para>
-<systemitem>mga_vid</systemitem> est la combinaison d'un pilote de sortie
-vidéo et d'un module du noyau Linux qui utilise le module vidéo de mise Ã
-l'échelle et de sur-impression des Matrox G200/G400/G450/G550. pour effectuer
-la conversion YUV->RGB et le redimentionnement arbitraire de la vidéo.
-</para>
-
-<para>
- Pour le pilote compatible avec les noyaux Linux 2.6.x, allez sur
- +<ulink url="http://attila.kinali.ch/mga/"/> ou regardez sur le dépot
- externe Subversion de mga_vid qui peut être consulté avec
- <screen>
- svn checkout svn://svn.mplayerhq.hu/mga_vid
- </screen>
-</para>
-
-
-<procedure>
- <title>Installation :</title>
-<step><para>
- Pour l'utiliser, vous devez au préalable compiler
- <filename>pilotes/mga_vid.o</filename> :
- <screen>
-make pilotes<!--
---></screen>
- </para></step>
-<step><para>
- Puis lancez (sous le compte <systemitem class="username">root</systemitem>)
- <screen>make install-pilotes</screen>
- qui devrait installer le module et créer le noeud de périphérique pour vous.
- Chargez le pilote avec
- <screen>insmod mga_vid.o</screen>
- </para></step>
-<step><para>
- Vous pouvez vérifier si la détection de la taille mémoire est correcte en
-utilisant
- la commande <command>dmesg</command>. Si elle s'avère incorrecte, utilisez
-l'option
- <option>mga_ram_size</option> (<command>rmmod mga_vid</command> avant), en
- spécifiant la mémoire de la carte en Mo :
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
- </para></step>
-<step><para>
- Pour le charger/décharger automatiquement, insérez d'abord cette ligne a la
- fin du fichier <filename>/etc/modules.conf</filename> :
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-</para></step>
-<step><para>
- Vous devez ensuite (re)compiler <application>MPlayer</application>,
- <command>./configure</command> détectera <filename>/dev/mga_vid</filename>
-et
- construira le pilote 'mga'. Pour l'utiliser dans
-<application>MPlayer</application>,
- lancez-le avec l'option <option>-vo mga</option> si vous êtes en console
- matroxfb, ou <option>-vo xmga</option> sous XFree86 3.x.x ou 4.x.x.
- </para></step>
-</procedure>
-
-<para>
-Le pilote mga_vid coopère avec Xv.
-</para>
-
-<para>
-Le périphérique <filename>/dev/mga_vid</filename> peut être lu (par exemple
-par <screen>cat /dev/mga_vid</screen>) pour avoir des infos, et écrit pour
-changer la luminosité :
-
-<screen>echo "brightness=120" > /dev/mga_vid</screen>
-</para>
-<para>
- Une application de test appelée <command>mga_vid_test</command>est présente
- dans le même répertoire. Elle devrait afficher des images 256x256 sur
- l'écran si tout fonctionne bien.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>Support YUV 3Dfx</title>
-<para>
-Ce pilote utilise le pilote framebuffer tdfx du noyau pour lire des films avec
-accélération YUV. Vous aurez besoin d'un noyau avec support tdfxfb, et de
-recompiler
-avec
-<screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfx_vid">
- <title>tdfx_vid</title>
-
- <para>
- Il s'agit de la combinaison d'un module du noyau Linux et d'un pilote de
- sortie vidéo similaire à <link linkend="mga_vid">mga_vid</link>.
- Vous aurez besoin d'un noyau 2.4.x avec le pilote
- <systemitem>agpgart</systemitem> puisque <systemitem>tdfx_vid</systemitem>
- utilise AGP.
- Ajoutez l'option <option>--enable-tdfxfb</option> lors du
- <command>configure</command> pour compiler le pilote de la sortie vidéo
- puis compilez le module noyau avec les instructions suivantes.
- </para>
-
- <procedure>
- <title>Installation du module noyau tdfx_vid.o :</title>
- <step><para>
- Compilez <filename>pilotes/tdfx_vid.o</filename> :
- <screen>
- make pilotes</screen>
- </para></step>
- <step><para>
- Puis lancez (avec le compte <systemitem
-class="username">root</systemitem>)
- <screen>make install-pilotes</screen>
- qui devrait installer le module et créer le noeud de périphérique pour
- vous.
- Chargez le pilote avec
- <screen>insmod tdfx_vid.o</screen>
- </para></step>
- <step><para>
- Pour automatiser le chargement/déchargement quand nécessaire,
- commencez par inclure la ligne suivante à la fin du fichier
- <filename>/etc/modules.conf</filename> :
- <programlisting>alias char-major-178 tdfx_vid</programlisting>
- </para></step>
- </procedure>
-
- <para>
- Une application de test appelée <command>tdfx_vid_test</command> est
-disponible dans le même répertoire Elle devrait afficher des informations
-utiles si tout fonctionne bien.
- </para>
-
-</sect1>
-
-
-<!-- ********** -->
-
-
-<sect1 id="opengl">
-<title>Sortie OpenGL</title>
-
-<para>
-<application>MPlayer</application> supporte l'affichage de films en utilisant
-OpenGL,
-mais si votre plateforme/pilote supporte xv comme ça devrait être le cas sur
-un PC avec Linux, utilisez xv à la place, les performances d'OpenGL sont bien
-pires.
-Si vous avez une implémentation X11 sans support xv, OpenGL est alors une
-alternative viable.
-</para>
-
-<para>
-Malheureusement tous les pilotes ne supportent pas cette fonction. Le pilote
-Utah-GLX
-(pour XFree86 3.3.6) le supporte pour toutes les cartes. Voir
-<ulink url="http://utah-glx.sf.net"/> pour son téléchargement et les infos
-d'installation.
-</para>
-
-<para>
-XFree86(DRI) 4.0.3 et supérieur supporte OpenGL avec les cartes Matrox et
-Radeon, 4.2.0 ou supérieur supporte la Rage128.
-Voir <ulink url="http://dri.sf.net"/> pour son téléchargement et les infos
-d'installation.
-</para>
-
-<para>
- Une astuce d'un de nos utilisateurs : la sortie vidéo GL peut être
-utilisée pour obtenir une sortie TV synchronisée verticalement. Vous devrez
-définir une variable d'environnement (au moins sur nVidia) :
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="aalib">
-<title>AAlib – affichage en mode texte</title>
-
-<para>
-AAlib est une librairie affichant des graphismes en mode texte, en utilisant
-un
-puissant moteur de rendu ASCII. De <emphasis>nombreux</emphasis> programmes le
-supportent déjà , comme Doom, Quake, etc. <application>MPlayer</application>
-possède
-pour cela un pilote parfaitement utilisable. Si
-<filename>./configure</filename>
-détecte une installation de aalib, le pilote aalib libvo sera compilé.
-
-</para>
-
-<para>
-Vous pouvez utiliser certains raccourcis clavier dans le fenêtre AA pour
-changer les options de rendu :
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Touche</entry><entry>Action</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- diminue le contraste
- </entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- augmente le contraste
- </entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- diminue la luminosité
- </entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- augmente la luminosité
- </entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- active/désactive le rendu rapide
- </entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- change le mode de dithering (none, error distribution, Floyd Steinberg)
- </entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- inverse l'image
- </entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- passe des contrôles de aa vers ceux de <application>MPlayer</application>
- et vice-versa
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
- <title>Vous pouvez utiliser les lignes de commande suivantes :</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- change la couleur de l'OSD
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- Change la couleur des sous-titres
- </para><para>
- where <replaceable>V</replaceable> peut être :
- <literal>0</literal> (normal),
- <literal>1</literal> (noir),
- <literal>2</literal> (gras),
- <literal>3</literal> (fontes grasses),
- <literal>4</literal> (inversé),
- <literal>5</literal> (spécial).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>AAlib elle-même propose de nombreuses options. En voici les
- principales :</title>
-<varlistentry>
- <term><option>-aapilote</option></term>
- <listitem><para>
- Choisit le pilote aa (X11, curses, Linux)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- Utilise les 256 caractères
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- Utilise l'ASCII 8 bits
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- Affiche toutes les options de AAlib
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note><para>
-Le rendu prend beaucoup de temps CPU, spécialement en utilisant AA-on-X (AAlib
-sur X), et prend moins de CPU sur une console standard, sans framebuffer.
-Utilisez SVGATextMode pour passer en mode texte large, et appréciez !
-(une
-carte hercules en second écran, c'est génial :)) (mais à mon humble avis vous
-pouvez utiliser l'option <option>-vf 1bpp</option> pour avoir des graphismes
-sur hgafb :)).
-</para></note>
-
-<para>
-Utilisez l'option <option>-framedrop</option> si votre machine n'est pas
-suffisamment rapide pour afficher toutes les trames !
-</para>
-
-<para>
-Sur un terminal vous obtiendrez de meilleures performances en utilisant le
-pilote
-linux, et pas curses (<option>-aapilote linux</option>). Cependant vous devez
-avoir
-un accès en écriture sur
-<filename>/dev/vcsa<replaceable><terminal></replaceable></filename>. Ce
-n'est
-pas autodétecté par aalib, mais vo_aa essaie de déterminer le meilleur mode.
-Voir
-<ulink url="http://aa-project.sf.net/tune"/> pour une meilleure optimisation.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="caca">
-<title>
- <systemitem class="library">libcaca</systemitem> – Librairie ASCII Art
-en couleur</title>
-
-<para>
-La <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem
-class="library">libcaca</systemitem></ulink>
-est une librairie graphique qui affiche du text à la place des pixels, et qui
-peut
-donc fonctionner sur des cartes graphiques anciennes ou sur des terminaux
-texte. Elle
-n'est pas très différente de la célèbre librairie
-<systemitem class="library">AAlib</systemitem>.
-<systemitem class="library">libcaca</systemitem> nécessite un terminal pour
-fonctionner, et devrait ainsi fonctionner sur tous les systèmes Unix (dont Mac
-OS X)
-en utilisant soit la librairie
-<systemitem class="library">slang</systemitem> soit la librairie
-<systemitem class="library">ncurses</systemitem>, sous DOS en utilisant la
-librairie
-<systemitem class="library">conio.h</systemitem>, et sous les systèmes Windows
-en utilisant soit <systemitem class="library">slang</systemitem>, soit
-<systemitem class="library">ncurses</systemitem> (via émulation Cygwin), ou
-soit
-<systemitem class="library">conio.h</systemitem>. Si
-<filename>./configure</filename>
-détecte <systemitem class="library">libcaca</systemitem>, le pilote libvo caca
-sera compilé.
-</para>
-
-<itemizedlist>
-<title>Les différences avec <systemitem class="library">AAlib</systemitem>
-sont
-les suivantes :</title>
-<listitem><para>
- 16 couleurs disponible pour l'affichage des caractères (256 paires de
-couleur)
- </para></listitem>
-<listitem><para>
- tramage des images en couleur
- </para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Mais <systemitem class="library">libcaca</systemitem> à également les
- limitations suivantes :</title>
-<listitem><para>
- aucun support pour la luminosité, le contraste, le gamma
- </para></listitem>
-</itemizedlist>
-
-<para>
-Vous pouvez utiliser certaines touches dans la fenêtre caca pour changer les
-options de rendu :
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Key</entry><entry>Action</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- Change de méthode de tramage.
- </entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- Change de méthode d'anticrénelage.
- </entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- Change le fond.
- </entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> regarde également la
- présence de certaines variables d'environnement :</title>
-<varlistentry>
- <term><option>CACA_pilote</option></term>
- <listitem><para>
- Définie le pilote caca recommandé, c-a-d. ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (X11 uniquement)</option></term>
- <listitem><para>
- Spécifie le nombre de lignes de collones. par ex. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (X11 uniquement)</option></term>
- <listitem><para>
- Spécifie la police à utiliser. par ex. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Use the <option>-framedrop</option> option if your computer is not fast
-enough to render all frames.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vesa">
-<title>VESA - sortie sur BIOS VESA</title>
-
-<para>
-Ce pilote à été conçu et présenté comme un <emphasis role="bold">pilote
-générique</emphasis>
-pour n'importe quelle carte ayant un BIOS compatible VESA VBE 2.0. Un autre
-avantage de ce pilote est qu'il force l'ouverture de la sortie TV.
-dixit <citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16,
- 1998</citetitle> (Page 70) :
-</para>
-
-<blockquote>
-<formalpara><title>Conceptions des contrôleurs doubles</title>
-<para>
-VBE 3.0 supporte la conception de contrôleur double en assumant que comme les
-deux
-contrôleurs sont typiquement fournis par le même OEM, sous le contrôle d'un
-seul
-ROM BIOS sur la même carte graphique, il est possible de cacher le fait que
-deux
-contrôleurs sont présent dans l'application.
-Cela a la limitation d'interdire l'utilisation simultanée de chacun des
-contrôleurs, mais permet aux applications avant VBE 3.0 de fonctionner
-normalement.
-La fonction VBE 00h (Return Controller Information) retourne l'information
-combinée des deux contrôleurs, incluant la liste combinée des modes
-disponibles.
-Quand une application sélectionne un mode, le contrôleur approprié est
-activé. Chacune des fonctions VBE restantes s'appliquent ensuite sur le
-contrôleur
-actif.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-Donc vous avez des chances de faire fonctionner la sortie TV avec ce pilote
-(Je suppose que la sortie TV est souvent un affichage indépendant ou au moins
-une sortie indépendante).
-</para>
-
-<itemizedlist spacing="compact">
-<title>AVANTAGES</title>
-<listitem><para>
- Vous avez la possibilité de voir des films <emphasis role="bold">même si
-Linux ne
- connaît pas</emphasis> votre matériel vidéo.
- </para></listitem>
-<listitem><para>
- Vous n'avez pas besoin d'avoir de logiciels graphiques installés sur votre
-Linux
- (comme X11 (alias XFree86), fbdev et autres). Ce pilote peut fonctionner en
- <emphasis role="bold">mode texte</emphasis>.
- </para></listitem>
-<listitem><para>
- Vous avez des chances de faire <emphasis role="bold">fonctionner la sortie
-TV</emphasis>
- (C'est le cas au moins pour les cartes ATI).
- </para></listitem>
-<listitem><para>
- Ce pilote appelle le gestionnaire <function>int 10h</function> ainsi ce
-n'est pas un
- émulateur - il appelle des choses <emphasis role="bold">réelles</emphasis>
-dans le BIOS
- <emphasis>réel</emphasis> en <emphasis>mode réel</emphasis> (pour l'instant
-en mode vm86).
- </para></listitem>
-<listitem><para>
- Vous pouvez l'utiliser avec VIDIX, accélérant ainsi l'affichage vidéo
- <emphasis role="bold">et</emphasis> la sortie TV en même temps (recommandé
-pour les cartes ATI) !
- </para></listitem>
-<listitem><para>
- si vous avez un BIOS VESA VBE 3.0+, et que vous avez spécifié
- <systemitem>monitor-hfreq, monitor-vfreq, monitor-dotclock</systemitem>
-quelque part
- (fichier de config, ou ligne de commande) vous aurez le plus haut taux de
- rafraîchissement possible (en utilisant la Formule Générale de Timing).
- Pour activer cette fonctionnalité vous devrez spécifier
- <emphasis role="bold">toutes</emphasis> les options de votre moniteur.
- </para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>DÃSAVANTAGES</title>
-<listitem><para>
- Il ne fonctionne que sur les <emphasis role="bold">systèmes x86</emphasis>.
- </para></listitem>
-<listitem><para>
- Il ne peut être utilisé qu'en <systemitem
-class="username">root</systemitem>.
- </para></listitem>
-<listitem><para>
- Pour l'instant il n'est disponible que pour <emphasis
-role="bold">Linux</emphasis>.
- </para></listitem>
-</itemizedlist>
-
-<important><para>
-N'utilisez pas ce pilote avec <emphasis role="bold">GCC
-2.96</emphasis> !
-Cela ne fonctionnera pas !
-</para></important>
-
-<variablelist>
-<title>OPTIONS EN LIGNE DE COMMANDE POUR VESA</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
- <listitem><para>
- actuellement reconnu : <literal>dga</literal> pour forcer le mode
-dga et <literal>nodga</literal>pour le désactiver. En mode dga vous pouvez
-activer le double buffering via l'option <option>-double</option>.
-Note :
-vous pouvez omettre ces paramètres pour activer l'
-<emphasis role="bold">autodétection</emphasis> du mode dga.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>PROBLÃMES CONNUS ET CONTOURNEMENTS</title>
-<listitem><para>
- Si vous avez installé des polices <emphasis role="bold">NLS</emphasis> sur
-votre
- Linux box et que vous lancez le pilote VESA depuis le mode texte alors après
-la
- fermeture de <application>MPlayer</application> vous aurez la
- <emphasis role="bold">police de la ROM</emphasis> chargée à la place de la
-nationale.
- Vous pouvez recharger la police nationale en utilisant l'utilitaire
- <command>setsysfont</command> de la distribution Mandrake/Mandriva par
-exemple.
-(<emphasis role="bold">Astuce</emphasis> : Le même utilitaire peut être
-utilisé pour la localisation de fbdev).
- </para></listitem>
-<listitem><para>
- Certains <emphasis role="bold">pilotes graphiques Linux</emphasis> de
-mettent pas Ã
- jour le <emphasis role="bold">mode BIOS</emphasis> actif en mémoire DOS.
- Donc si vous avez un tel problème - utilisez toujours le pilote VESA
-uniquement
- depuis le <emphasis role="bold">mode texte</emphasis>.
- Sinon le mode texte (#03) sera activé de toute façon et vous devrez
-redémarrer
- votre ordinateur.
- </para></listitem>
-<listitem><para>
- Souvent après la fin du pilote VESA vous avez un
- <emphasis role="bold">écran noir</emphasis>.
- Pour retourner à l'état original de votre écran - passez simplement sur une
-autre
- console (en tapant
- <keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>) et
- revenez à la première de la même façon.
- </para></listitem>
-<listitem><para>
- Pour faire <emphasis role="bold">fonctionner la sortie TV</emphasis> vous
- devez avoir branché le connecteur TV avant le démarrage de votre PC car
- le BIOS vidéo s'initialise uniquement à ce moment-là .
- </para></listitem>
-</itemizedlist>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="x11">
-<title>X11</title>
-
-<para>
-à éviter si possible. Sort sur X11 (utilise l'extension de mémoire partagée),
-sans
-aucune accélération matérielle du tout. Supporte le redimensionnement logiciel
-(accéléré par MMX/3DNow/SSE, mais toujours lent), utilisez les options
-<option>-fs -zoom</option>. La plupart des cartes possèdent un
-redimensionnement
-matériel, pour elles utilisez la sortie <option>-vo xv</option> ou
-<option>-vo xmga</option> pour les Matrox.
-</para>
-
-<para>
-Le problème est que la plupart des pilotes de carte ne supportent pas
-l'accélération
-sur la seconde tête/TV. Dans ce cas, vous voyez une fenêtre verte/bleue à la
-place du
-film. C'est ici que ce pilote entre en jeu, mais vous aurez besoin d'un CPU
-puissant
-pour utiliser le redimensionnement logiciel. N'utilisez pas le pilote SDL de
-sortie+dimensionnement logiciel, la qualité d'image est pire !
-</para>
-
-<para>
-Le redimensionnement logiciel est très lent, vous devriez essayer de changer
-de mode
-vidéo à la place. C'est très simple. Voyez la <link
-linkend="dga-modelines">section
-des modelines DGA</link>, et insérez-les dans votre
-<filename>XF86Config</filename>.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- Si vous avez XFree86 4.x.x : utilisez l'option <option>-vm</option>.
- Elle changera de résolution pour s'adapter à celle de votre film. Si
-non :
- </para></listitem>
-<listitem><para>
- Avec XFree86 3.x.x : Vous devrez parcourir les résolutions possibles
-avec les touches
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad
-+</keycap></keycombo>
- et
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad
--</keycap></keycombo>.
- </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Si vous n'arrivez pas à trouver les mode que vous avez inséré, regardez dans
-la sortie
-de XFree86. Certains pilotes ne peuvent utiliser les pixelclocks bas qui sont
-requis
-pour les basses résolutions.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vidix">
-<title>VIDIX</title>
-
-<formalpara><title>PRÃAMBULE</title>
-<para>
-<acronym>VIDIX</acronym> est l'abréviation de
-<emphasis role="bold">VID</emphasis>éo
-<emphasis role="bold">I</emphasis>nterface
-for *ni<emphasis role="bold">X</emphasis>.
-VIDIX a été conçu et présenté comme une interface pour les pilotes
-espace-utilisateur rapides fournissant des performances égales à celles de
-mga_vid pour les cartes Matrox.
-Il est aussi très portable.
-</para>
-</formalpara>
-
-<para>
-Cette interface à été conçue comme une tentative de regrouper les interfaces
-d'accélération existantes (connues sous les noms mga_vid, rage128_vid,
-radeon_vid,
-pm3_vid) dans un schéma uniforme. Il fournit une interface de haut niveau aux
-chipsets
-connus sous les noms de BES (BackEnd scalers) ou OV (Video Overlays).
-Il ne fournit pas une interface de bas niveau pour les choses connues sous
-le nom de serveurs graphiques.
-(Je ne veux pas concourir avec l'équipe X11 en changement de mode graphique).
-C'est à dire que le but principal de cette interface est de maximiser la
-vitesse de la lecture vidéo.
-</para>
-
-<itemizedlist spacing="compact">
-<title>UTILISATION</title>
-<listitem><para>
- Vous pouvez utiliser le pilote de sortie vidéo autonome : <option>-vo
-xvidix</option>.
- Ce pilote à été développé comme un front end X11 pour la technologie VIDIX.
-Il
- requiert un serveur X et ne peut fonctionner que sous X. Notez que, comme il
-accède
- directement au matériel et contourne le pilote X, les pixmaps mis en cache
-dans la
- mémoire de la carte graphique peuvent être corrompus. Vous pouvez éviter
-cela en
- limitant la quantité de mémoire utilisée par X avec l'option "VideoRam"
- dans la section "device" de XFree86Config.
- Vous devriez fixer cette valeur avec la quantité de mémoire installée sur
- votre carte moins 4Mo.
- Si vous avez moins de 8Mo de mémoire vidéo, vous pouvez utiliser l'option
- "XaaNoPixmapCache" dans la section "screen" Ã la place.
- </para></listitem>
-<listitem><para>
- Il existe un pilote console VIDIX : <option>-vo cvidix</option>.
- Celui-ci requiert un framebuffer fonctionnel et initialisé pour la plupart
- des cartes (ou sinon vous brouillerez simplement l'écran), et vous aurez un
- effet similaire à <option>-vo mga</option> ou <option>-vo fbdev</option>.
- Les cartes nVidia par contre sont capables d'afficher de la vidéo graphique
- dans une console texte. Voir la section
- <link linkend="vidix-nvidia">nvidia_vid</link> pour plus d'informations.
- Pour vous débarrasser du texte sur les bords et du curseur clignotant
- essayez
-</para>
-
-<screen>setterm -cursor off > /dev/tty9</screen>
-
-<para>
- (en supposant que le terminal <systemitem>tty9</systemitem>n'est pas
- utilisé), puis basculez sur <systemitem>tty9</systemitem>.
- Sinon, l'option <option>-colorkey 0</option>devrait lire la vidéo en
- arrière-plan, un tant soit peu que la fonctionnalité de
-<option>-colorkey</option> soit opérationelle.
-</para>
-</listitem>
-<listitem><para>
- Vous pouvez utiliser le sous-périphérique VIDIX qui à été appliqué à de
- nombreux pilotes de sortie vidéo, tels que :
- <option>-vo vesa:vidix</option>
- (<emphasis role="bold">Linux uniquement</emphasis>) et
- <option>-vo fbdev:vidix</option>.
- </para></listitem>
-</itemizedlist>
-
-<para>
-De plus le pilote de sortie vidéo utilisé avec <emphasis
-role="bold">VIDIX</emphasis>
-n'a pas d'importance.
-</para>
-
-<itemizedlist spacing="compact">
-<title>BESOINS</title>
-<listitem><para>
- La carte graphique devrait être en mode graphique (excepté les cartes nVidia
- avec le pilote <option>-vo cvidix</option>).
- </para></listitem>
-<listitem><para>
- Le pilote de sortie vidéo de <application>MPlayer</application> devrait
- connaître les modes vidéos actifs et être capable de donner au
-sous-périphérique
- VIDIX quelques caractéristiques du serveur.
- </para></listitem>
-</itemizedlist>
-
-<formalpara><title>MÃTHODES D'UTILISATION</title>
-<para>
-Quand VIDIX est utilisé en temps que <emphasis
-role="bold">sous-périphérique</emphasis>
-(<option>-vo vesa:vidix</option>), alors la configuration du mode vidéo est
-faite par
-le périphérique de sortie vidéo (<emphasis role="bold">vo_server</emphasis> en
-bref).
-Par conséquent vous pouvez passer en ligne de commande les mêmes touches que
-pour
-vo_server. De plus il comprends l'option <option>-double</option> comme un
-paramètre
-global (je recommande l'utilisation de cette option au moins pour les cartes
-ATI).
-Comme pour <option>-vo xvidix</option>, il reconnaît actuellement les options
-suivantes :
-<option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-<para>
-Vous pouvez aussi spécifier le pilote VIDIX directement en troisième
-sous-argument en ligne de commande :
-
-
-<screen>
-mplayer -vo xvidix:mga_vid.so -fs -zoom -double
-<replaceable>fichier.avi</replaceable>
-</screen>
-ou
-<screen>
- mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32
-<replaceable>fichier.avi</replaceable>
-</screen>
-
-
-Mais c'est dangereux, et vous ne devriez pas faire ça. Dans ce cas le
-pilote indiqué sera forcé et le résultat sera imprévisible (cela peut
-<emphasis role="bold">bloquer</emphasis> votre ordinateur).
-Vous ne devriez le faire UNIQUEMENT si vous êtes absolument sûr que
-cela va fonctionner, et <application>MPlayer</application> ne le fait pas
-automatiquement.
-Dites-le aux développeurs, SVP. La bonne façon est d'utiliser VIDIX
-sans argument pour activer l'autodétection du pilote.
-</para>
-
-
-<sect2 id="svgalib_helper">
-<title>svgalib_helper</title>
-
-<para>
-Comme VIDIX requiert l'accès direct au matériel, vous avez le choix entre le
-lançer
-en tant que root ou définir le bit SUID du binaire
-<application>MPlayer</application>
-(<emphasis role="bold">Attention : c'est une faille de sécurité
-!</emphasis>).
-Sinon, si vous utilisez un noyau Linux 2.4.x, vous pouvez utiliser un module
-noyau spécial, comme ceci :
-</para>
-
-<procedure>
-<step><para>
- Téléchargez la <ulink url="http://www.arava.co.il/matan/svgalib/">version de
-développement</ulink>
- de svgalib (par exemple 1.9.17), <emphasis role="bold">OU</emphasis>
- téléchargez une version faite par Alex spécialement pour utilisation avec
- <application>MPlayer</application> (elle ne nécessite pas les sources de
-svgalib pour
- compiler)
- <ulink
-url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-
-mplayer.tar.bz2">ici</ulink>.
- </para></step>
-<step><para>
- Compilez le module dans le répertoire <filename
-class="directory">svgalib_helper</filename>
- (il peut être trouvé à l'intérieur du répertoire
- <filename class="directory">svgalib-1.9.17/kernel/</filename> si vous avez
-téléchargé
- les sources depuis le site de svgalib) et faire un insmod.
- </para></step>
-<step><para>
- Pour créer les périphériques nécessaires dans le répertoire
- <filename class="directory">/dev</filename>, faites un
- <screen>make device</screen> dans le répertoire
- <filename class="directory">svgalib_helper</filename>, en root.
- </para></step>
-<step><para>
- Puis lancez de nouveau <filename>configure</filename> en passant les
- paramètres <option>--enable-svgalib_helper</option> et
- <option>--extra-cflags=/path/to/svgalib_helper/sources</option>,
- ajustés à l'emplacement où vous avez décompressé les sources.
- </para></step>
-<step><para>
- Recompilez.
- </para></step>
-</procedure>
-</sect2>
-
-<sect2 id="vidix-ati">
-<title>Cartes ATI</title>
-<para>
-Actuellement la plupart des cartes ATI sont supportés nativement, de la Mach64
-jusqu'aux nouvelles Radeons.
-</para>
-
-<para>
- Il y a deux binaires compilés : <filename>radeon_vid</filename> pour
-les cartes Radeon et <filename>rage128_vid</filename> pour les Rage 128. Vous
-pouvez en forcer un ou laisser le système VIDIX le détecter parmis les pilotes
-disponibles.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-mga">
-<title>Cartes Matrox</title>
-<para>
-Les Matrox G200, G400, G450 et G550 doivent normalement fonctionner.
-</para>
-
-<para>
-Le pilote supporte les égaliseurs vidéo et devrait être presque aussi rapide
-que le
-<link linkend="mga_vid">framebuffer Matrox</link>
-</para>
-</sect2>
-
-<sect2 id="vidix-trident">
-<title>Cartes Trident</title>
-<para>
-Il y a un pilote disponible pour les chipsets Trident Cyberblade/i1, qui
-peuvent être
-trouvés sur les cartes-mère VIA Epia.
-</para>
-
-<para>
-Le pilote a été écrit et est maintenu par
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M.
-Robinson</ulink>.
-</para>
-</sect2>
-
-<sect2 id="vidix-3dlabs">
-<title>Cartes 3DLabs</title>
-<para>
-Bien qu'il y ai un pilote pour les chips 3DLabs GLINT R3 et Permedia3,
-personne ne l'a testé, donc les rapports sont les bienvenus.
-</para>
-</sect2>
-
-<sect2 id="vidix-nvidia">
-<title>Cartes nVidia</title>
-
-<para>
- Une fonction unique du pilote nvidia_vid est la capacité d'afficher de la
- vidéo dans un <emphasis role="bold">console uniquemnent textuelle</emphasis>
- - avec aucun framebuffer ou X. Pour ce faire, nous aurons besoin d'utiliser
- la sortie <option>cvidix</option>, comme le montre l'exemple suivant :
- <screen>
- mplayer -vo cvidix <replaceable>exemple.avi</replaceable>
- </screen>
-</para>
-</sect2>
-
-<sect2 id="vidix-sis">
-<title>Cartes SiS</title>
-<para>
-C'est du code très expérimental, comme nvidia_vid.
-</para>
-
-<para>
-Testé sur SiS 650/651/740 (les chipsets les plus couramment utilisés dans les
-versions SiS des barebones "Shuttle XPC")
-</para>
-
-<para>
-Rapports attendus !
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="directfb">
-<title>DirectFB</title>
-
-<blockquote><para>
-"DirectFB est une librairie graphique conçue pour les systèmes embarqués. Il
-offre
-des performances d'accélération matérielle maximum pour un minimum
-d'utilisation des
-ressources et de charge." - citation de <ulink url="http://www.directfb.org"/>
-</para></blockquote>
-
-<para>J'exclurai les fonctionnalités de DirectFB dans cette section.</para>
-
-<para>
-Bien que <application>MPlayer</application> ne soit pas supporté en tant que
-"fournisseur vidéo" dans DirectFB, ce pilote de sortie activera la lecture
-vidéo au travers de DirectFB. Il sera - bien sûr - accéléré, sur ma Matrox
-G400 la
-vitesse de DirectFB était la même que celle de XVideo.
-</para>
-
-<para>
-Essayez toujours d'utiliser la dernière version de DirectFB. Vous pouvez
-utiliser les
-options DirectFB en ligne de commande, en utilisant l'option
-<option>-dfbopts</option>.
-La sélection de couche peut être faite par la méthode sous-périphérique, par
-exemple : <option>-vo directfb:2</option>
-(couche -1 par défaut : autodétection)
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-
-<para>
-Veuillez lire la section <link linkend="directfb">DirectFB principale</link>
-pour
-avoir les informations générales.
-</para>
-
-<para>
-Ce pilote de sortie vidéo activera CRTC2 (sur la seconde tête) sur les cartes
-Matrox
-G400/G450/G550, affichant la vidéo <emphasis
-role="bold">indépendemment</emphasis>
-de la première tête.
-</para>
-
-<para>
-Ville Syrjala a un fichier
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">
- README
-</ulink>
-et un
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">
- HOWTO
-</ulink>
-sur sa page web qui explique comment faire fonctionner la sortie TV DirectFB
-avec les cartes Matrox.
-</para>
-
-<note><para>
-La première version de DirectFB que nous avons pu faire fonctionner était la
-0.9.17. (elle est boguée, nécessite le patch
-<systemitem>surfacemanager</systemitem>
-disponible sur l'URL ci-dessus). Le portage du code CRTC2 dans
-<emphasis role="bold">mga_vid</emphasis> est prévu depuis des années, les
- <ulink url="../../tech/patches.txt">patches</ulink> sont les bienvenus.
-</para></note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpeg_decoders">
-<title>Décodeurs MPEG</title>
-
-<sect2 id="dvb">
-<title>sorties et entrées DVB</title>
-<para>
-<application>MPlayer</application> supporte les cartes équipées du chipset DVB
-Siemens
-des vendeurs tels que Siemens, Technotrend, Galaxis ou Hauppauge. Les derniers
-pilotes
-DVB sont disponibles sur le site <ulink url="http://www.linuxtv.org">Linux
-TV</ulink>.
-Si vous voulez faire du transcodage logiciel vous aurez besoin d'un CPU d'au
-moins 1Ghz.
-</para>
-
-<para>
-Configure devrait détecter votre carte DVB. Si ce n'est pas le cas, forcez la
-détection
-avec
-<screen>./configure --enable-dvb</screen>
-Si vous avez des entêtes ost dans un chemin non-standard, corrigez
-ce chemin avec
-<screen>
-./configure --extra-cflags=
-<replaceable>répertoire source DVB</replaceable>/ost/include
-</screen>
-Ensuite compilez et installez comme d'habitude.</para>
-
-<formalpara><title>UTILISATION</title>
-<para>
-Le décodage matériel de flux contenants des vidéos MPEG-1/2 et/ou du son MPEG
-peut être fait avec cette commande :
-<screen>mplayer -ao mpegpes -vo mpegpes
-<replaceable>fichier.mpg|vob</replaceable>
-</screen>
-</para>
-</formalpara>
-
-<para>
- Décoder n'importe quel autre type de flux vidéo nécessite le recodage en
-MPEG-1, donc c'est lent et peut ne pas valoir la chandelle, surtout si votre
-ordinateur est lent.
-Cela peut être obtenu en utilisant une commande comme celle-ci :
-</para>
-<para><screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>votrefichier.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand
-<replaceable>votrefichier.ext</replaceable>
-</screen></para>
-
-<para>
-Notez que les cartes DVB ne supportent que les tailles 288 par 576 pour le PAL
-ou 240
-par 480 pour le NTSC. Vous <emphasis role="bold">devez</emphasis>
-redimensionner vers
-d'autres tailles en ajoutant <option>scale=largeur:hauteur</option> avec la
-largeur et la
-hauteur que vous voulez à l'option <option>-vf</option>. Les cartes DVB
-acceptent des
-largeurs variées, comme 720, 704, 640, 512, 480, 352 etc et font un
-redimensionnement
-matériel dans le sens horizontal, vous n'avez donc pas besoin de
-redimensionner
-horizontalement dans la plupart des cas. Pour un DivX en 512x384 (aspect 4:3)
-essayez :
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen></para>
-
-<para>
-Si vous avez un film plein-écran et que vous ne voulez pas l'afficher à sa
-taille
-complète, vous pouvez utiliser le filtre <option>expand=l:h</option> pour
-ajouter des
-bandes noires. Pour voir un MPEG-4 (DivX) en 640x384, essayez :
-<screen>mplayer -ao mpegpes -vo mpegpes -vf expand=640:576
-<replaceable>fichier.avi</replaceable>
-</screen>
-</para>
-
-<para>Si votre CPU est trop lent pour un MPEG-4 (DivX) en taille complète
-720x576, essayez de
-diminuer la taille :
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576
-<replaceable>fichier.avi</replaceable>
-</screen>
-</para>
-
-<para>Si la vitesse ne s'améliore pas, essayez également la diminution
-verticale :
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:288
-<replaceable>fichier.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Pour l'OSD et les sous-titres utilisez la fonction expand du plugin OSD. Donc,
-au lieu
-de <option>expand=l:h</option> ou <option>expand=l:h:x:y</option>, utilisez
-<option>expand=l:h:x:y:1</option> (le 5ème paramètre <option>:1</option> à la
-fin
-activera le rendu OSD). Vous pouvez aussi vouloir monter un peu l'image pour
-obtenir
-plus de surface noire pour les sous-titres. Vous pouvez aussi monter les
-sous-titres ,
-si ils sont en dehors de l'écran, utilisez l'option <option>-subpos
-<0-100></option>
-pour l'ajuster (<option>-subpos 80</option> est un bon choix).
-</para>
-
-<para>
-Pour pouvoir lire des films non-25fps sur une TV PAL ou avec un CPU lent,
-ajoutez
-l'option <option>-framedrop</option>.
-</para>
-
-<para>
-Pour garder les dimensions des fichiers MPEG-4 (DivX) et obtenir les
-paramètres de zoom optimaux
-(zoom matériel horizontal et zoom logiciel vertical en gardant l'aspect
-original),
-utilisez le nouveau filtre dvbscale :
-<screen>
-pour une TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-pour une TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen>
-</para>
-
-<formalpara><title>TV numérique (module d'entrée DVB)</title>
-<para>Vous pouvez utiliser votre carte DVB pour regarder la TV numérique.
-</para>
-</formalpara>
-
-<para>
- Vous devriez également avoir les programmes <command>scan</command> et
- <command>szap/tzap/czap/azap</command> installés; ils sont inclus dans le
-paquet
- de pilotes.
-</para>
-
-<para>
- Vérifiez que vos pilotes fonctionnent correctement avec un programme tel que
- <ulink
-url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
- (c'est la base du module d'entrée DVB).
-</para>
-
-<para>
- Maintenant vous devriez compiler un fichier
- <filename>~/.mplayer/channels.conf</filename>, avec la syntaxe acceptée par
- <command>szap/tzap/czap/azap</command>, ou le faire compiler par
- <command>scan</command>.
-</para>
-
-<para>
- Si vous avez plus d'un type de carte (c-a-d. Satellite, Terrestre, Cable et
-ATSC)
- vous pouvez sauvegarder vos fichiers de canaux en tant que
- <filename>~/.mplayer/channels.conf.sat</filename>,
- <filename>~/.mplayer/channels.conf.ter</filename>,
- <filename>~/.mplayer/channels.conf.cbl</filename>,
- et <filename>~/.mplayer/channels.conf.atsc</filename>,
- respectivement, pour qu'implicitement <application>MPlayer</application>
- les utilise à la place de <filename>~/.mplayer/channels.conf</filename>,
- et vous n'avez qu'à spécifier la carte à utiliser.
-</para>
-
-<para>
- Assurez-vous de n'avoir <emphasis>que</emphasis> des canaux réellement
- disponibles dans votre fichier <filename>channels.conf</filename>, ou
-<application>MPlayer</application> attendra pour un programme non-cryptée.
-</para>
-
-<para>
- Dans vos champs audio et vidéo vous pouvez utiliser la syntaxe
- suivante :
- <option>...:pid[+pid]:...</option> (avec un maximum de 6 pids pour chaque);
- dans ce cas <application>MPlayer</application> inclura dans le flux les pids
- indiqués, plus le pid 0 (qui contient le PAT).
- Vous devriez toujours inclure dans chaque ligne le pid PMT et PCR du canal
- correspondant (si vous le connaissez).
- Vous pouvez aussi mettre 8192, ce qui sélectionnera tous les pids de cette
- fréquence, puis vous pourrez basculer entre les programmes avec TAB.
- Ceci risque de nécessiter plus de bande passante bien que les cartes à bas
- coût transfèrent toujours tous les canaux au moins vers le noyau si bien
- que cela ne fait pas beaucoup de différence pour elles.
- Autres utilisations possibles : pid televideo, seconde piste audio,...
-</para>
-
-<para>
- Si <application>MPlayer</application> se plain souvent avec le message
- suivant :
- <screen>Too many video/audio packets in the buffer</screen> ou si vous
-remarquez
- une désynchronisation grandissante entre le son et la vidéo, vérifiez la
- présence du pid PCR dans votre flux (nécessaire pour se conformer au model
- de tampon de votre émetteur) et/ou essayez d'utiliser le démultiplexeur
- MPEG-TS de libavformat en ajoutant à votre ligne de commande :
- <option>-demuxer lavf -lavfdopts probesize=128</option> .
-</para>
-
-
-<para>
-Pour afficher le premier des canaux présents dans votre liste, tapez
-<screen>mplayer dvb://</screen>
-</para>
-
-<para>
- Si vous voulez regarder un canal spécifique, tel que R1, tapez
- <screen>mplayer dvb://<replaceable>R1</replaceable></screen>
-</para>
-
-
-<para>
- Si vous avez plus d'une carte vous pouvez aussi spécifier le numéro de la
-carte
-où le canal est visible (par ex. 2) avec la syntaxe :
-<screen>mplayer dvb://2@R1</screen>
-</para>
-
-
-<para>
- Pour changer de canal tapez sur les touches <keycap>h</keycap> (suivant) et
- <keycap>k</keycap> (précédent), ou utilisez le
- <link linkend="subosd">menu OSD</link>.
-</para>
-
-<para>
- Pour désactiver temporairement un flus audio ou vidéo, copiez les lignes
- suivantes dans le fichier <filename>~/.mplayer/input.conf</filename> :
- <screen>
- % set_property switch_video -2
- & step_property switch_video
- ? set_property switch_audio -2
- ^ step_property switch_audio
- </screen>
- (Ceci modifie les préférences des raccourcis claviers)
- En appuyant sur la touche correspondant à <screen>switch_x -2</screen>, le
- flux associé sera fermé.
- En appuyant sur la touche correspondant à <screen>step_x</screen>, le flux
- sera réouvert.
- Notez que ce mécanisme ne fonctionnera pas comme attendu si il y a de
- multiples flux audio et vidéo dans le média.
-</para>
-
-<para>
- Pour éviter les saccadements et les messages d'erreurs comme "Votre système
- est trop LENT pour jouer ce fichier !" lors de la lecture (pas en
- enregistrement), il est conseillé d'ajouter
- <screen>-mc 10 -speed 0.97 -af scaletempo</screen>
- sur la ligne de commande, en ajustant le paramètre
- <option>scaletempo</option> Ã vos resources.
-</para>
-
-<para>
- Si votre <filename>~/.mplayer/menu.conf</filename> contient une entrée
- <literal><dvbsel></literal>, comme celle du fichier d'exemple
- <filename>etc/dvb-menu.conf</filename> (que vous pouvez utiliser pour
- outrepasser <filename>~/.mplayer/menu.conf</filename>), le menu principal
- affichera un sous-menu qui vous permettra de choisir les canaux présents
-dans
- votre <filename>channels.conf</filename>, peut-être précédé d'un menu des
-cartes
- disponibles si il y en a plus d'une utilisable par
-<application>MPlayer</application>.
-</para>
-
-<para>
- Si vous voulez sauvegarder un programme sur le disque vous pouvez utiliser
-<screen>
- mplayer -dumpfile r1.ts -dumpstream dvb://R1
-</screen>
-</para>
-
-<para>
- Si vous voulez l'enregistrer dans un format différent (le ré-enregistrer)
- vous pouvez lancer une commande comme
-<screen>
- mencoder -o <replaceable>r1.avi</replaceable> -ovc xvid -xvidencopts
-bitrate=800 \
- -oac mp3lame -lameopts cbr:br=128 -pp=ci
-dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
- Lisez la page de man pour avoir une liste des options que vous pouvez passer
- au module d'entrée DVB.
-</para>
-
-<formalpara><title>FUTUR</title>
-<para>
-Si vous avez des questions ou voulez entendre les annonces de fonctionnalités
-et
-participer aux discussions sur ce sujet, rejoignez notre liste de diffusion
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">
- MPlayer-DVB
-</ulink>.
-SVP, rappelez-vous que la langue de la liste est l'anglais.
-</para>
-</formalpara>
-
-<para>
-Dans le futur vous pouvez vous attendre à pouvoir afficher l'OSD et les
-sous-titres en utilisant la fonction OSD native des cartes DVB.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-
-<para>
-<application>MPlayer</application> supporte l'affichage accéléré avec la
-carte Creative DXR2.</para>
-
-<para>
-Tout d'abord vous devrez avoir les pilotes correctement installés. Vous pouvez
-trouver les pilotes et les instructions d'installation sur le site
-<ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink>.
-</para>
-
-<variablelist><title>UTILISATION</title>
-<varlistentry>
- <term><option>-vo dxr2</option></term>
- <listitem><para>Active la sortie TV</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vo dxr2:x11</option> ou <option>-vo dxr2:xv</option></term>
- <listitem><para>Active la sortie Overlay sous X11</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-dxr2 <option1:option2:...></option></term>
- <listitem><para>Cette option est utilisée pour contrôler le pilote
- DXR2.</para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Le chipset overlay utilisé sur la DXR2 est d'assez mauvaise qualité mais les
-paramètres
-par défaut devraient suffire pour tout le monde. L'OSD peut être utilisable
-avec
-l'overlay (pas sur une télé) en la dessinant avec une couleur-clé. Avec les
-paramètres
-de couleur-clé par défaut vous obtiendrez des résultats variables,
-généralement vous
-vérez la couleur-clé autour des personnages et autres effets amusants. Mais si
-vous
-ajustez correctement les paramètres de couleur-clé vous devriez pouvoir
-obtenir des
-résultats acceptables.
-</para>
-
-<para>Veuillez lire la page de man pour les options disponibles.</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-
-<para>
-<application>MPlayer</application> supporte l'accélération matérielle avec les
-cartes
-Creative DXR3 et Sigma Designs Hollywood Plus. Ces cartes ont toutes deux le
-chip de
-décodage MPEG em8300 de Sigma Designs.
-</para>
-
-<para>
-Tout d'abord vous aurez besoin de pilotes DXR3/H+ correctement installés,
-version
-0.12.0 ou supérieure. Vous pouvez trouver les pilotes et les instructions
-d'installation sur le site
-<ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus for Linux</ulink>.
-<filename>configure</filename> devrait détecter votre carte automatiquement,
-la compilation devrait se
-faire sans problèmes.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>UTILISATION</title>
-<varlistentry>
-<term><option>-vo
-dxr3:prebuf:sync:norm=x:<replaceable>périph.</replaceable></option></term>
-<listitem><para>
-<option>overlay</option> active l'overlay à la place de TV-Out. Cela requiert
-que vous ayez correctement configuré l'overlay. La manière la plus facile de
-configurer l'overlay est de d'abord lancer autocal. Ensuite lancez
-<application>MPlayer</application> avec la sortie dxr3 et
-sans overlay activé, lancez dxr3view. Dans dxr3view vous pouvez régler
-les paramètres overlay et en voir les effets en temps réel, peut-être cette
-fonction sera supporté par la GUI de <application>MPlayer</application> dans
-le futur.
-Quand l'overlay est correctement configuré, vous n'avez plus besoin
-d'utiliser dxr3view.
-
-<option>prebuf</option> active le prebuffering. C'est une fonction du chip
-em8300 qui
-l'active pour garder plus d'une trame de vidéo à la fois. Cela signifie que
-quand vous
-utilisez le prebuffering <application>MPlayer</application> essaiera de garder
-le buffer vidéo rempli de données
-à tout moment. Si vous êtes sur une machine lente
-<application>MPlayer</application> utilisera près de, voir
-exactement 100% du CPU. C'est particulièrement courant si vous lisez de purs
-flux MPEG
-(comme les DVDs, SVCDs et ainsi de suite) car comme
-<application>MPlayer</application> n'aura pas besoin de le
-ré-encoder en MPEG, il remplira le buffer très rapidement.
-
-Avec le prebuffering la lecture est <emphasis role="bold">beaucoup</emphasis>
-moins
-sensible aux autres programmes monopolisant le CPU, il ne sautera pas d'images
-Ã moins
-que des programmes monopolisent le CPU pour une longue durée.
-
-En l'utilisant sans doublebuffering, l'em8300 est bien plus sensible à la
-charge CPU,
-il est donc hautement recommandé d'activer l'option
-<option>-framedrop</option> pour
-éviter les éventuelles pertes de synchro.
-
-<option>sync</option> activera le nouveau moteur de synchro. C'est
-actuellement une
-fonction expérimentale. Avec la fonction sync activé l'horloge interne de
-l'em8300
-sera contrôlée à tout moment, si elle commence à dévier de l'horloge de
-<application>MPlayer</application> elle
-sera réajustée, obligeant l'em8300 à sauter les éventuelles trames en retard.
-
-<option>norm=x</option> fixera la norme TV de la carte DXR3 sans avoir besoin
-d'utiliser des outils externes comme em8300setup. Les normes valides sont 5 =
-NTSC,
-4 = PAL-60, 3 = PAL. Les normes spéciales sont 2 (ajustement auto utilisant
-PAL/PAL-60)
-et 1 (ajustement auto utilisant PAL/NTSC) parce qu'elles décident quelle norme
-utiliser
-en regardant le frame rate du film. norm = 0 (par défaut) ne change pas la
-norme
-courante.
-
-<option><replaceable>périph.</replaceable></option> = numéro de périphérique Ã
-utiliser
-si vous avez plus d'une carte em8300.
-
-Chacune de ces options peut être laissé de côté.
-
-<option>:prebuf:sync</option> semble fonctionner à merveille en lisant des
-DivX.
-Des gens ont signalé des problèmes en utilisant l'option prebuf pendant la
-lecture de
-fichiers MPEG1/2. Vous pourriez vouloir essayer sans aucune option en premier,
-si vous
-avez des problèmes de synchro, ou des problèmes de sous-titres avec les DVDs,
-essayez
-avec <option>:sync</option>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ao
-oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
-<listitem><para>
-Pour la sortie audio, où <replaceable>X</replaceable> est le numéro de
-périphérique
-(0 si une carte).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
-<listitem><para>
-L'em8300 ne peut jouer de taux d'échantillonage inférieur à 44100 Hz. Si le
-taux
-d'échantillonage est en dessous de 44100Hz, sélectionnez soit 44100Hz, soit
-48000Hz en
-fonction de ce qui est le plus proche. C-a-d si le film utilise 22050 utilisez
-44100Hz
-car 44100 / 2 = 22050, si c'est 24000Hz utilisez 48000Hhz car 48000 / 2 =
-24000 et
-ainsi de suite. Cela ne fonctionne pas avec la sortie audio numérique
-(<option>-ac hwac3</option>).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf lavc/fame</option></term>
-<listitem><para>
-Pour voir du contenu non-MPEG sur l'em8300 (c-a-d. MPEG-4 (DivX) ou
-RealVideo),
-vous devrez spécifier un filtre vidéo MPEG-1 tel que <systemitem
-class="library">libavcodec</systemitem>
-(lavc).
-Voir le manuel pour de plus amples infos à propos de <option>-vf
-lavc/fame</option>.
-Actuellement il n'est pas possible de régler les fps
-de l'em8300 ce qui veut dire qu'il est fixé à 30000/1001 fps.
-à cause de cela il est hautement recommandé d'utiliser <option>-vf
-lavc=<replaceable>qualité</replaceable>:25</option>,
-surtout si vous utilisez le prebuffering. Alors pourquoi 25 et pas 30000/1001?
-Hé bien, le truc est que si vous utilisez 30000/1001, l'image devient un
-peu sautante.
-Nous n'en connaissons pas la raison. Si vous le réglez quelque part entre 25
-et 27 l'image devient stable.
-Pour l'instant tous ce que nous pouvons faire est de l'accepter.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf expand=-1:-1:-1:-1:1</option></term>
-<listitem><para>
-Bien que le pilote DXR3 puisse placer quelques OSD sur de la vidéo MPEG1/2/4,
-il est de
-bien plus basse qualité que l'OSD traditionnel de MPlayer, et de plus soufre
-de
-nombreux problèmes de rafraîchissement. La ligne de commande ci-dessus va
-d'abord
-convertir l'entrée vidéo en MPEG4 (c'est obligatoire, désolé), ensuite
-appliquer un
-filtre expand qui ne va rien étendre du tout (-1: défaut), mais afficher l'OSD
-dans
-l'image (c'est ce que fait le "1" Ã la fin).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ac hwac3</option></term>
-<listitem><para>
-L'em8300 supporte la lecture audio AC-3 (son surround) au travers de la sortie
-audio
-numérique de la carte. Voir l'option <option>-ao oss</option> plus haut, elle
-doit
-être utilisé pour spécifier la sortie DXR3 au lieu d'une carte son.
-</para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="other">
-<title>Autres matériels de visualisation</title>
-
-<sect2 id="zr">
-<title>Zr</title>
-
-<para>
-C'est un pilote d'affichage (<option>-vo zr</option>) pour certaines cartes de
-capture/lecture (testé pour DC10+ et Buz, et cela devrait fonctionner pour la
-LML33 et
-la DC10). Ce pilote fonctionne en encodant la trame en JPEG et en l'envoyant
-Ã la carte. Pour l'encodage JPEG <systemitem
-class="library">libavcodec</systemitem> est utilisé, et
-requis. Avec le mode spécial <emphasis>cinerama</emphasis>, vous pouvez voir
-les films
-en vrai écran large si vous avez deux moniteurs et deux cartes MJPEG.
-Selon la résolution et les réglages, ce pilote requiert beaucoup de puissance
-CPU, rappelez-vous de spécifier <option>-framedrop</option> si votre machine
-est trop lente. Note : Mon AMD K6-2 350Mhz est (avec
-<option>-framedrop</option>)
-très adapté pour voir des vidéos de taille VCD et les films dont la taille est
-réduite.
-</para>
-
-<para>
-Ce pilote parle au module noyau disponible sur
-<ulink url="http://mjpeg.sf.net"/>, donc vous devez d'abord faire fonctionner
-ce dernier. la présence d'une carte MJPEG est autodétectée par le script
-<filename>configure</filename>, si l'autodétection échoue, forcez la détection
-avec
-<screen>./configure --enable-zr</screen>
-</para>
-
-<para>
-La sortie peut être contrôlée par de nombreuses options, une longue
-description des
-options peut être trouvée sur la page de man, une courte liste des options
-peut être
-obtenue en exécutant
-<screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
-Les choses comme le zoom ou l'OSD (on screen display) ne sont pas gérés par ce
-pilote
-mais peuvent être obtenus en utilisant les filtres vidéo. Par exemple,
-supposons que
-vos avez un film d'une résolution de 512x272 et que vous voulez le voir en
-plein-écran
-sur votre DC10+. Il y a trois possibilités principales, vous pouvez
-redimmensionner le
-film à une largeur de 768, 384 ou 192. Pour des raisons de performances et de
-qualité,
-vous pouvez choisir de redimmensionner le film en 384x204 en utilisant le zoom
-logiciel bilinéaire rapide.
-La ligne de commande est
-<screen>mplayer -vo zr -sws 0 -vf scale=384:204
-<replaceable>film.avi</replaceable></screen>
-</para>
-
-<para>
-Le découpage peut être fait avec le filtre <option>crop</option> et par ce
-pilote lui-même. Supposons qu'un film soit trop large pour s'afficher sur
-votre Buz et
-que vous vouliez utiliser <option>-zrcrop</option> pour rendre le film moins
-large,
-alors vous taperez la commande suivante
-<screen>mplayer -vo zr -zrcrop 720x320+80+0
-<replaceable>benhur.avi</replaceable></screen>
-</para>
-
-<para>
-Si vous voulez utiliser le filtre <option>crop</option>, vous feriez
-<screen>mplayer -vo zr -vf crop=720:320:80:0
-<replaceable>benhur.avi</replaceable></screen>
-</para>
-
-<para>
-Des occurrences supplémentaires de <option>-zrcrop</option> invoquent le mode
-<emphasis>cinerama</emphasis>, c-a-d. que vous pouvez distribuer l'affichage
-sur
-plusieurs TV ou moniteurs pour créer un écran plus large. Supposons que vous
-ayez deux
-moniteurs. Celui de gauche est connecté à votre Buz sur
-<filename>/dev/video1</filename>
-et celui de droite est connecté à votre DC10+ sur
-<filename>/dev/video0</filename>.
-Le film a une résolution de 704x288. Supposons maintenant que vous voulez le
-moniteur
-de droite en noir et blanc et que le moniteur de gauche ait des trames jpeg de
-qualité
-10, alors vous taperez la commande suivante
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10
-<replaceable>film.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Vous voyez que les options apparaissant avant le second
-<option>-zrcrop</option> ne
-s'appliquent qu'a la DC10+ et que les options après le second
-<option>-zrcrop</option>
-s'appliquent à la Buz. Le nombre maximum de cartes MJPEG participant au
-<emphasis>cinerama</emphasis> est quatre, vous pouvez donc construire un mur
-vidéo de 2x2.
-</para>
-
-<para>
- Pour finir une remarque importante : Ne lancez ou n'arrêtez pas
-<application>XawTV</application> sur le
-périphérique en cours de lecture, cela planterait votre ordinateur. Il est,
-cependant,
-sans risque de lancer <emphasis role="bold">D'ABORD</emphasis>
-<application>XawTV</application>,
-<emphasis role="bold">ENSUITE</emphasis> de lancer
-<application>MPlayer</application>, d'attendre que
-<application>MPlayer</application> se
-termine et <emphasis role="bold">ENSUITE</emphasis> de stopper
-<application>XawTV</application>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="blinkenlights">
-<title>Blinkenlights</title>
-
-<para>
-Ce pilote est capable de lire en utilisant le protocole UPD Blinkenlights. Si
-vous ne
-savez pas ce qu'est <ulink
-url="http://www.blinkenlights.de/">Blinkenlights</ulink>,
-vous n'avez pas besoin de ce pilote.
-
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tvout">
-<title>Sortie TV</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Cartes Matrox G400</title>
-
-<para>
- Sous Linux vous avez 2 méthodes pour faire fonctionner la sortie TV :
-</para>
-
-<important>
-<para>
-pour les instructions sur la sortie TV des Matrox G450/G550, voir la prochaine
-section SVP !
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem>
- <para>
- en utilisant le pilote et le module HAL, disponible sur le
- <ulink url="http://www.matrox.com">site de Matrox</ulink>. Cela vous
-donnera X sur
- la TV.
- </para>
- <para>
- <emphasis role="bold">Cette méthode ne vous donne pas la lecture
-accélérée</emphasis> comme sous Windows ! La seconde tête n'a qu'un
-framebuffer YUV, le <emphasis>BES</emphasis> (Back End Scaler, le
-redimensionneur YUV des cartes G200/G400/G450/G550) ne fonctionne pas
-dessus ! Le pilote Windows contourne cela, probablement en utilisant le
-moteur 3D pour zoomer, et le framebuffer YUV pour afficher l'image zoomée.
-Si vous voulez vraiment utiliser X, utilisez les options
- <option>-vo x11 -fs -zoom</option>, mais ce sera
- <emphasis role="bold">LENT</emphasis>, et aura la protection anticopie
- <emphasis role="bold">Macrovision</emphasis> activée
- (vous pouvez "contourner" Macrovision en utilisant ce
- <ulink url="http://avifile.sf.net/mgamacro.pl">script perl</ulink>).
- </para>
- </listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem>
- <para>
- En utilisant les <emphasis role="bold">modules matroxfb</emphasis> dans
- les noyaux 2.4. Les noyaux 2.2 n'ont pas de fonction TV-out incluse, et
- sont donc inutilisables pour cela.
- Vous devez activer TOUTES les fonctions spécifiques à matroxfb durant
- la compilation (excepté MultiHead), et les compiler en
- <emphasis role="bold">modules</emphasis> !
- Vous aurez également besoin que I2C soit activé et mettre les outils
- <application>matroxset</application>, <application>fbset</application>
- et <application>con2fb</application> dans votre path.
- </para>
-
- <procedure>
- <step><para>
- Puis chargez les modules <systemitem>matroxfb_Ti3026, matroxfb_maven,
- i2c-matroxfb,matroxfb_crtc2</systemitem> dans votre noyau.
- Votre console en mode texte va entrer en mode framebuffer (sans retour
- possible !).
- </para></step>
- <step><para>
- Ensuite, réglez votre moniteur et votre TV à votre convenance avec
- les outils ci-dessus.
- </para></step>
- <step><para>
- Yoh. La prochaine tâche est de faire disparaître le curseur sur tty1
- (ou n'importe quelle autre), et de désactiver l'économiseur d'écran.
- Exécutez les commandes suivantes :
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- ou
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- Vous pouvez mettre ceci dans un script, et également effacer
- l'écran.
- Pour réactiver le curseur :
- <screen>echo -e '\033[?25h'</screen> ou
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- Yeah kewl. Démarrez le film avec
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512
-<replaceable>nomfichier</replaceable><!--
- --></screen>
-
- (si vous utilisez X, maintenant changez pour matroxfb avec par exemple
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap>
- </keycombo>.)
- Changez <literal>640</literal> et <literal>512</literal> si vous voulez
- spécifier une résolution différente...
- </para></step>
- <step><para>
- <emphasis role="bold">Appréciez la sortie TV Matrox ultra-rapide
- ultra-fonctionnelle (meilleure que Xv) !</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_g450">
-<title>Cartes Matrox G450/G550</title>
-
-<para>
-Le support de la sortie TV pour ces cartes n'a été introduit que récemment, et
-n'est
-pas encore dans le noyau officiel. Actuellement le module <emphasis
-role="bold">mga_vid</emphasis>
-ne peut être utilisé à ma connaissance, parce que le pilote G450/G550 ne
-fonctionne que dans une configuration : le premier chip CRTC (qui a le
-plus de fonctions) sur le premier affichage (sur le moniteur), et le second
-CRTC (pas de <emphasis role="bold">BES</emphasis>,
-veuillez voir la section G400 plus haut) sur la TV. Vous ne pouvez donc
-utiliser que le
-pilote de sortie <emphasis>fbdev</emphasis> de
-<application>MPlayer</application> pour
-le moment.
-</para>
-
-<para>
-Le premier CRTC ne peut pas être relié à la seconde tête actuellement.
-L'auteur du
-pilote noyau matroxfb - Petr Vandrovec - fera certainement un support pour
-cela, en
-affichant la sortie du premier CRTC sur les deux têtes à la fois, comme
-actuellement
-recommandé pour la G400, voir la section ci-dessus.
-</para>
-
-<para>
-Le patch noyau nécessaire et le HOWTO détaillé sont téléchargeables sur
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_cable">
-<title>Construire un câble de sortie TV Matrox</title>
- <para>
- Personne ne prends de responsabilités, ni n'offre de garanties quant aux
- éventuels dommages causés par cette documentation.
- </para>
-
-<formalpara><title>Cable pour G400</title>
- <para>
- La quatrième broche du connecteur CRTC2 transmet le signal vidéo
- composite. La terre (ground) est sur les sixième, septième et huitième
- broches (info donnée par Balázs Rácz).
- </para>
-</formalpara>
-
-<formalpara><title>Cable pour G450</title>
- <para>
- La première broche du connecteur CRTC2 transmet le signal vidéo composite.
- La terre (ground) est sur les cinquième, sixième, septième, et
- quinzième (5, 6, 7, 15) broches (info donnée par Balázs Kerekes).
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-ati">
-<title>Cartes ATI</title>
-
-<formalpara><title>PRÃAMBULE</title>
-<para>
-Actuellement ATI ne veut supporter aucun de ces chips TV-out sous Linux, Ã
-cause de
-leur technologie Macrovision sous licence.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>ÃTAT DE LA SORTIE TV ATI SUR LINUX</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis> :
- supporté par <ulink url="http://gatos.sf.net">GATOS</ulink>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis> :
- supporté par <ulink url="http://gatos.sf.net">GATOS</ulink>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> et
- <emphasis role="bold">Rage128</emphasis> :
- supporté par <application>MPlayer</application> !
- Vérifiez les sections <link linkend="vesa">pilote VESA</link> et
- <link linkend="vidix">VIDIX</link>.
- </para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility
- M3/M4</emphasis> :
- supporté par <ulink
-url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout
-</ulink>.
- </para></listitem>
-</itemizedlist>
-
-<para>
-Sur les autres cartes, utilisez juste le pilote <link
-linkend="vesa">VESA</link>,
-sans VIDIX. Un CPU puissant est cependant requis.
-</para>
-
-<para>
-La seule chose que vous ayez à faire - <emphasis role="bold">avoir le
-connecteur TV
-branché avant de booter votre PC</emphasis> car le BIOS vidéo s'initialise
-uniquement durant cette phase.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-
-<para>
-D'abord, vous DEVEZ télécharger les pilotes closed-source depuis <ulink
-url="http://nvidia.com"/>.
-Je ne décrirai pas le processus d'installation et de configuration car il sort
-du cadre
-de cette documentation.
-</para>
-
-<para>
-Après que l'accélération XFree86, XVideo, et 3D fonctionnent correctement,
-éditez la
-section Device de votre carte dans le fichier <filename>XF86Config</filename>,
-selon
-l'exemple suivant (adaptez à votre carte/TV) :
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- pilote "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-
-EndSection
-</programlisting>
-</para>
-
-<para>
-Bien sûr l'élément le plus important est la partie TwinView.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-neomagic">
-<title>Neomagic</title>
-
-<para>
-Le chip NeoMagic peut être trouvé sur de nombreux portables, certains équipés
-d'un encodeur TV analogique simple, certains en ont un plus avancé.
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Analog encoder chip</emphasis> :
- Il a été reporté qu'une sortie TV fiable pouvait être obtenue en utilisant
- <option>-vo fbdev</option> ou <option>-vo fbdev2</option>.
- Vous avez besoin d'avoir vesafb compilé dans votre noyau et de passer les
- paramètres suivants sur la ligne de commande du noyau :
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- Vous devriez lancer <application>X</application>, puis passer en mode
- console avec par exemple
- <keycombo><keycap>CTRL</keycap><keycap>ALT</keycap><keycap>F1</keycap>
- </keycombo>.
- Si vous échouez en lancant <application>X</application> depuis la console,
-la vidéo
- devient lente et saccadé (toute explication de ce phénomène est bienvenue).
- Identifiez-vous dans votre console, puis lancez la commande suivante :
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
- Maintenant vous devriez voir le film lancé en mode console remplir
- à peu près la moitié de votre écran LCD de portable.
- Pour switcher vers la TV tapez
- <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo> trois fois.
- Testé sur un Tecra 8000, noyau 2.6.15 avec vesafb, ALSA v1.0.10.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">chip Chrontel 70xx encoder</emphasis> :
- Présent dans l'IBM Thinkpad 390E et probablement dans d'autres Thinkpads ou portables.
- </para><para>
- Vous devez utiliser <option>-vo vesa:neotv_pal</option> pour PAL ou
- <option>-vo vesa:neotv_ntsc</option> pour NTSC.
- Cela fournira la sortie TV dans les modes 16 bpp et 8 bpp suivants :
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480 et peut être aussi 800x600.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
- </itemizedlist>
- <para>le mode 512x384 n'est pas supporté par le BIOS. Vous devez redimmensionner
- l'image à une résolution différente pour activer la sortie TV. Si vous voyez
- une image sur l'écran en 640x480 ou en 800x600 mais pas en 320x240 ou autre
- résolution plus faible, vous devez remplacer deux tables dans <filename>vbelib.c</filename>.
- Voir la fonction vbeSetTV pour plus de détails. Veuillez contacter l'auteur dans
- ce cas.
- </para>
- <para>
- Problèmes connus : VESA uniquement, aucun autre contrôle tel que
-luminosité, contraste, blacklevel, flickfilter n'est implémenté.
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/hu/bugreports.xml b/DOCS/xml/hu/bugreports.xml
deleted file mode 100644
index 952cc9b..0000000
--- a/DOCS/xml/hu/bugreports.xml
+++ /dev/null
@@ -1,497 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r31415 -->
-<appendix id="bugreports">
-<title>Hogyan jelentsd a hibákat</title>
-
-<para>
-A jó hiba jelentések nagyon értékes hozzájárulások bármilyen szoftver
-fejlesztéséhez. De, akárcsak jó programot Ãrni, jó probléma jelentést
-készÃteni is némi munkába kerül. Kérlek vedd figyelembe, hogy a fejlesztÅk
-többsége roppant elfoglalt és valami hihetetlen mennyiségű levelet kap.
-Tehát miközben a visszajelzések kritikus és nagyon megbecsült az
-<application>MPlayer</application> fejlÅdése szempontjából, kérlek értsd meg,
-hogy <emphasis role="bold">minden</emphasis> általunk kért információt meg
-kell adnod és követned kell az ebben a dokumentumban leÃrt lépéseket.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_security">
-<title>Biztonsági hibák jelentése</title>
-
-<para>
-Ha egy kihasználható hibát találsz és a helyesen akarsz cselekedni,
-vagyis elÅbb a mi tudomásunkra akarod hozni, mielÅtt publikálnád,
-szÃvesen vesszük a biztonsági figyelmeztetésedet a
-<ulink url="mailto:security@mplayerhq.hu">security@mplayerhq.hu</ulink>
-cÃmen.
-Kérjük Ãrd bele a tárgy mezÅbe a [SECURITY] vagy [ADVISORY] szót.
-Figyelj rá, hogy a jelentésed a hiba teljes és részletes analÃzisét tartalmazza.
-Nagyon hálásak leszünk, ha javÃtást is küldesz.
-Kérjük ne késlekedj a jelentéseddel egy proof-of-concept exploit Ãrása
-miatt, azt késÅbb is elküldheted egy másik levélben.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_fix">
-<title>Hogyan javÃts hibákat</title>
-
-<para>
-Ha úgy érzed, hogy képes vagy rá, bátran állj neki és javÃtsd ki a hibát magad.
-Vagy talán már meg is tetted? Kérlek olvasd el <ulink url="../../tech/patches.txt">ezt a rövid dokumentumot</ulink>,
-hogy megtudd, hogyan kerülhet be a kódod az <application>MPlayer</application>be.
-Az <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-levelezési listán lévÅ emberkék segÃtenek neked, ha kérdésed van.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_regression_test">
-<title>Hogyan tesztelj a Subversion segÃtségével</title>
-
-<para>
-Egy néha elÅforduló probléma, hogy "régen még működött, de most már nem...".
-Következzék hát egy lépésenkénti leÃrás, mely segÃt a probléma
-megtalálásában. Ez <emphasis role="bold">nem</emphasis> az átlagos
-felhasználóknak szól.
-</para>
-
-<para>
-ElÅször is, be kell szerezned az MPlayer forrás fáját a SubversionbÅl.
-Az utasÃtásokat megtalálod a
-<ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">letöltési oldal Subversion részében</ulink>.
-</para>
-
-<para>
-Ezután lesz az mplayer/ könyvtárban a Subversion fáról egy pillanatképed,
-a kliens oldalon. Ezután frissÃtsd ezt a kÃvánt dátumúra:
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-A dátum formátum YYYY-MM-DD HH:MM:SS.
-Ezen dátum formátum használata biztosÃtja, hogy benne legyen minden olyan
-javÃtás, ami az adott dátumig commit-olva lett és bekerült az
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog archÃvumába</ulink>.
-</para>
-
-<para>
-Majd folytasd, mint egy normális frissÃtést:
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-Ha olyan olvassa ezt, aki nem programozó, annak gyorsabb megkeresni a
-probléma forrását bináris keresés használatával — ekkor
-a hiba helyét a keresési intervallum ismételt felezéseivel határozza
-meg.
-Például a probléma elÅfordult 2003 közepén, akkor kérdezd meg, hogy
-"Már ott volt a hiba?".
-Ha igen, akkor menj vissza április elsejére; ha nem, menj október elsejére,
-és Ãgy tovább.
-</para>
-
-<para>
-Ha nagyon sok hely van a merevlemezeden (egy teljes fordÃtás jelenleg 100 MB
-és 300-350 MB körül van a hibakeresŠszimbólumokkal), másold át a
-legrégebbi tudvalevÅleg működÅ verziót, mielÅtt frissÃtenél; ezzel idÅt
-spórolsz, ha vissza kell lépned.
-(Ãltalában le kell futtatni a 'make distclean'-t egy régi verzió újrafordÃtása
-elÅtt, Ãgy ha nem készÃtesz mentést az eredeti forrás fádról, újra kell fordÃtanod
-mindent, ha visszajössz a jelenbe.)
-AlternatÃvaként használhatod a <ulink url="http://ccache.samba.org/">ccache</ulink>-t
-a fordÃtás felgyorsÃtására.
-</para>
-
-<para>
-Ha megvan a nap, amikor a probléma megjelent, folytasd a keresést az
-mplayer-cvslog archÃvum segÃtségével (dátum szerint rendezve) és egy sokkal
-precÃzebb svn update-tel, melybe órát, percet és másodpercet is Ãrsz:
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-Ãgy könnyen megtalálod azt a javÃtást, ami okozta.
-</para>
-
-<para>
-Ha megvan a javÃtás, ami a problémát okozta, majdnem gyÅztél is;
-jelentsd az
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink>-n vagy
-iratkozz fel az
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-listára és küldd el oda.
-ValószÃnűleg a szerzÅ jelentkezni fog javÃtási ötlettel.
-Addig azonban a javÃtásra is gyanakodva tekint, amÃg nem tiszta, hogy hol
-is van a hiba :-).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_report">
-<title>Hogyan jelentsd a hibákat</title>
-
-<para>
-Mindenek elÅtt kérlek, hogy mindig próbáld ki az <application>MPlayer</application>
-legújabb Subversion verzióját, hátha az általad felfedezett hibát már kijavÃtották
-benne. A fejlesztés borzasztó gyorsan halad, a legtöbb, hivatalos kiadásban
-meglévÅ problémát napokon vagy akár órákon belül jelentik, Ãgy
-<emphasis role="bold">csak a Subversion felhasználásával</emphasis> küldj hibajelentést.
-Ebbe beleértendÅek az <application>MPlayer</application> bináris csomagjai is.
-A Subversion utasÃtásokat megtalálod
-<ulink url="http://www.mplayerhq.hu/dload.html">ennek az oldalnak</ulink>
-az alján vagy a README fájlban. Ha ez sem segÃt, olvasd el a dokumentáció többi részét.
-Ha problémád még nem ismert vagy nem oldódott meg a leÃrásunk által, akkor kérjük
-jelentsd.
-</para>
-
-<para>
-Kérlek ne küljd hibajelentést személyesen egy fejlesztÅnek. Ez csapatmunka és
-Ãgy számos embert érdekelhet. Néha más felhasználók is belefutnak a te
-problémáidba, és esetleg tudják, hogy hogyan lehet megkerülni, még akkor is,
-ha hiba van az <application>MPlayer</application> kódjában.
-</para>
-
-<para>
-Kérlek olyan részletesen Ãrd le a problémádat, amilyen részletesen csak lehet.
-Végezz egy kis felderÃtÅ munkát, szűkÃtsd le azon körülmények körét, amelyek
-között a hiba elÅfordul. A hiba csak adott szituációban jön elÅ? Bizonyos
-fájlokra vagy fájl tÃpusokra vonatkozóan? Csak egy codec esetén vagy független
-a használt codec-tÅl? Mindegyik kimeneti vezérlÅvel elÅ tudod hozni? Minél több
-információt adsz meg, annál nagyobb az esély a hiba kijavÃtására. Kérlek ne
-felejtsd el mellékelni azon értékes információkat, amit lejjebb Ãrunk, különben
-képtelenek vagyunk megfelelÅen megkeresni a problémádat.
-</para>
-
-<para>
-Egy kitűnŠés jól megÃrt útmutató kérdések publikus fórumokban történÅ feltevéséhez
-a <ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</ulink>
-(<ulink url="http://www.no.info.hu/~kryss/gnu/esr/smart-questions_hu.html">magyarul</ulink>)
-<ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>-tól.
-Van egy másik is, a
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</ulink>
-cÃmű <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>-tól.
-Ha követed ezeket a leÃrásokat, kapsz segÃtséget. De kérlek értsd meg, hogy a
-levelezési listákat önként, a szabad idÅnkben nézzük. Van más dolgunk is, és nem
-tudjuk garantálni, hogy kapsz megoldást vagy egyáltalán választ a problémádra.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_where">
-<title>Hol kell jelezni a hibákat</title>
-
-<para>
-Iratkozz fel az MPlayer-users levelezési listára:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-(vagy a magyar nyelvűre itt: <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok"/>)
-és küldd el a hibajelentéseidet a
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/> (illetve
-<ulink url="mailto:mplayer-felhasznalok at mplayerhq.hu"/>) cÃmre, ahol meg lehet vitatni.
-</para>
-
-<para>
-Ha inkább azt szeretnéd, használhatod a vadi új
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzillánkat</ulink> is.
-</para>
-
-<para>
-Ezen lista nyelve az <emphasis role="bold">angol</emphasis> (a -felhasználóké magyar).
-Kövesd a szabványos
-<ulink url="http://www.ietf.org/rfc/rfc1855.txt">Netiquette Irányelveket</ulink>
-és <emphasis role="bold">ne küldj HTML levelet</emphasis> egyik levelezési
-listánkra se. Ha nem Ãgy teszel, akkor vagy egyszerűen figyelmen kÃvül hagynak
-vagy kitiltanak. Ha nem tudod mi az a HTML levél vagy hogy miért rossz az, olvasd
-el ezt a
-<ulink url="http://efn.no/html-bad.html">frankó leÃrást</ulink>. Mindent
-részletesen megmagyaráz és tanácsokat ad a HTML kikapcsolásához. Szintén tartsd
-észben, hogy nem CC-zünk (carbon-copy) egyéneknek, Ãgy jól teszed, ha
-feliratkozol, hogy megkapd te is a választ.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_what">
-<title>Mit jelents</title>
-
-<para>
-A hibajelentésedhez csatolnod kell a log-ot, konfigurációs vagy minta fájlokat.
-Ha ezek közül valamelyik nagy, jobb ha feltöltöd az
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP szerverünkre</ulink> tömörÃtett
-formátumban (gzip és bzip2 a javasolt) és csak az elérési utat és a fájl nevet Ãrod
-bele a hiba jelentésedbe. A levelezési listáinkon az üzenet mérete maximum 80k lehet,
-ha ennél nagyobb fájlod van, tömörÃtened kell, vagy feltöltened.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_system">
-<title>Rendszer információk</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
- A Linux disztribúciód vagy operációs rendszered verziója, pl.:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + 7.1-es fejlesztÅi csomagjai ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- kernel verziója:
- <screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
- libc verziója:
- <screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
- gcc és ld verziója:
- <screen>
-gcc -v
-ld -v<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- binutils verziója:
- <screen>as --version</screen>
-</para></listitem>
-<listitem><para>
- Ha a teljes képernyÅs lejátszással van gondod:
- <itemizedlist>
- <listitem><para>AblakezelÅ tÃusa és verziója</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Ha az XVIDIX-szel van problémád:
- <itemizedlist>
- <listitem><para>
- X szÃn mélység:
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Ha csak a GUI a hibás:
- <itemizedlist>
- <listitem><para>GTK verziója</para></listitem>
- <listitem><para>GLIB verziója</para></listitem>
- <listitem><para>GUI szituáció, ahol a hiba elÅjön</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_hardware">
-<title>Hardver és vezérlÅk</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
- CPU infó (csak Linuxon működik):
- <screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
- Videó kártya gyártója és modellje, pl.:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Videó vezérlÅ tÃpusa & verziója, pl.:
- <itemizedlist>
- <listitem><para>X built-in driver</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI from X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Hangkártya tÃpusa & vezérlÅje, pl.:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold with OSS driver from oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 with kernel OSS drivers</para></listitem>
- <listitem><para>GUS PnP with ALSA OSS emulation</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Ha nem vagy biztos benne, csatold az <command>lspci -vv</command> kimenetét (Linux alatt).
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_configure">
-<title>Konfigurációs problémák</title>
-
-<para>
-Ha a <command>./configure</command> futtatása közben fordult elŠvalami hiba,
-vagy valaminek az automatikus detektálása nem sikerült, olvasd el a <filename>config.log</filename>
-fájlt. Ott megtalálod a választ, például ugyanazon függvénykönyvtár több verziója elszórva
-a rendszerben, vagy elfelejtetted telepÃteni a fejlesztÅi csomagokat (amiknek -dev
-utótagjuk van). Ha úgy hiszed, hogy hibát találtál, csatold a <filename>config.log</filename>
-fájlt a hibajelentésedhez.
-</para>
-</sect2>
-
-<sect2 id="bugreports_compilation">
-<title>FordÃtási problémák</title>
-
-<para>
-Kérlek csatold a következŠfájlokat:
-<itemizedlist>
- <listitem><para>config.h</para></listitem>
- <listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_playback">
-<title>Lejátszási problémák</title>
-
-<para>
-Ãrd meg az <application>MPlayer</application> kimenetét az 1. szintű
-beszédességgel, de figyelj rá, hogy
-<emphasis role="bold">ne szerkeszd át a kimenetet</emphasis>,
-amikor beilleszted a levélbe. A fejlesztÅknek szükségük van azokra az üzenetekre,
-hogy pontosan diagnosztizálják a problémát. A kimenetet átirányÃthatod fájlba Ãgy:
-<screen>
-mplayer -v <replaceable>options</replaceable> <replaceable>filename</replaceable> > mplayer.log 2>&1
-</screen>
-</para>
-
-<para>
-Ha a probléma egy vagy több fájl esetén specifikus, kérlek töltsd fel ide:
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-Tölts fel egy apró, a fájloddal megegyezŠnevű, de .txt kiterjesztésű szöveges
-fájlt is. Ãrd le a problémát, ami az adott fájllal jelentkezik és Ãrd bele az
-e-mail cÃmed valamint az <application>MPlayer</application> kimenetét 1. szintű
-beszédességgel. Ãltalában a fájl elsÅ 1-5 MB-ja elég a hiba reprodukálásához,
-de a biztonság kedvéért:
-<screen>
-dd if=<replaceable>yourfile</replaceable> of=<replaceable>smallfile</replaceable> bs=1024k count=5
-</screen>
-Ez az elsÅ 5 megabájtot a '<emphasis role="bold">your-file</emphasis>'-ból átÃrja
-a '<emphasis role="bold">small-file</emphasis>'-ba. Ezután próbáld ki ezt a kicsi
-fájlt is és ha a hiba még mindig jelentkezik, akkor ez elegendŠlesz nekünk.
-Kérlek <emphasis role="bold">soha</emphasis> ne küldj fájlokat mail-en keresztül!
-Töltsd fel és csak az FTP szerveren élÅ elérési utat/fájlnevet Ãrd meg. Ha a fájl
-elérhetŠa neten, akkor a <emphasis role="bold">pontos</emphasis> URL beküldése
-is elegendÅ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_crash">
-<title>Ãsszeomlások</title>
-
-<para>
-Az <application>MPlayer</application>t a <command>gdb</command>-n belül kell
-futtatnod, és elküldeni a teljes kimenetet vagy ha van <filename>core</filename>
-dump-od az összeomlásról, abból is kiszedheted a hasznos információkat. Ãme Ãgy:
-</para>
-
-<sect3 id="bugreports_debug">
-<title>Hogyan tárolhatóak a reprodukálható összeomlás információi</title>
-
-<para>
-FordÃtsd újra az <application>MPlayer</application>t a debug-oló kód engedélyezésével:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-majd futtasd az <application>MPlayer</application>t a gdb-ben az alábbi paranccsal:
-<screen>gdb ./mplayer</screen>
-Most a gdb-ben vagy. Ãrd be:
-<screen>
-run -v <replaceable>kapcsolok-az-mplayernek</replaceable> <replaceable>fajlnev</replaceable>
-</screen>
-és reprodukáld az összeomlást. Amint megtörtént, a gdb visszaadja a parancssort, ahol
-be kell Ãrnod:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="bugreports_core">
-<title>Hogyan szedd ki a hasznos információkat a core dump-ból</title>
-
-<para>
-Hozd létre a következŠparancs fájlt:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-Majd add ki ezt a parancsot:
-<screen>
-gdb mplayer --core=core -batch --command=<replaceable>command_file</replaceable> > mplayer.bug
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>Tudom hogy mit csinálok...</title>
-
-<para>
-Ha készÃtettél egy megfelelÅ hibajelentést a fenti utasÃtások betartásával
-és biztos vagy benne, hogy az <application>MPlayer</application>ben van a
-hiba és nem a fordÃtóban vagy hibás fájl miatt, már elolvastad a dokumentációt
-és nem tudtad javÃtani a problémát, a hang vezérlÅid rendben vannak, akkor
-iratkozz fel az MPlayer-advusers listára és küldd el a hibajelentésedet oda
-a jobb és gyorsabb válaszért.
-</para>
-
-<para>
-Fontold meg, ha kezdÅ kérdéseket vagy a leÃrásban megválaszolt kérdéseket
-küldesz be, vagy figyelmen kÃvül hagynak vagy elkezdenek flame-elni válaszolás
-helyett. Tehát ne flame-elj és csak akkor iratkozz fel az -advusers listára,
-ha tényleg tudod, hogy mit csinálsz és gyakorlott <application>MPlayer</application>
-felhasználónak vagy fejlesztÅnek érzed magad. Ha megfelesz ezen kritériának,
-nem fog nehezedre esni, hogy kitaláld, hogy iratkozhatsz fel...
-</para>
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/hu/documentation.xml b/DOCS/xml/hu/documentation.xml
deleted file mode 100644
index 339bb00..0000000
--- a/DOCS/xml/hu/documentation.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r31980 -->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - The Movie Player</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>2009. május 24.</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayer team</holder>
-</copyright>
-<legalnotice>
- <title>Licensz</title>
- <para>Az MPlayer egy szabad szoftver; terjesztheted és/vagy módosÃthatod
- a GNU General Public License 2-es verziója szerint, ahogy azt a Free
- Software Foundation közzétette.</para>
-
- <para>Az MPlayert abban a hiszemben terjesztjük, hogy hasznos lesz, de
- MINDENFÃLE GARANCIA NÃLKÃL; sÅt, a bennefoglalt ELADHATÃSÃGI és ADOTT
- CÃLRA MEGFELELÅSÃGI garanciát sem adunk. Lásd a GNU General Public License-et
- a részletekért.</para>
-
- <para>Az Mplayerrel meg kellett kapnod a GNU General Public License egy
- másolatát is; ha nem, Ãrj a Free Software Foundation, Inc.-nek, 51 Franklin
- Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>Hogyan olvasd ezt a dokumentációt</title>
-
-<para>
-Ha ez az elsŠtalálkozásod az <application>MPlayer</application>-rel, olvass
-el mindent innentÅl egészen a <link linkend="install">TelepÃtés fejezet</link>
-végéig, közben kövesed a
-linkeket. Ha van kérdésed, keress rá a <link linkend="toc">tartalomjegyzékben</link>,
-olvasd el a <xref linkend="faq"/>-t, vagy greppelj a file-okban. A legtöbb
-kérdésre fogsz választ találni, amire pedig nem, az nagy valószÃnűséggel már
-megválaszolásra került valamelyik
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">levelezési listán</ulink>.
-Nézd meg az
-<ulink url="https://lists.mplayerhq.hu/mailman/listinfo">archivumot</ulink>,
-mert rengeteg értékes információt tartalmaz.
-</para>
-</preface>
-
-<chapter id="intro">
-<title>Bevezetés</title>
-
-<para>
-Az <application>MPlayer</application> egy Linuxon működŠvideolejátszó (fut
-számos más Unix-on és nem-x86 processzorokon is, lásd <xref linkend="ports"/>).
-Le tudja játszani a legtöbb MPEG, VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4,
-FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, és Matroska file-t, és ezekhez
-felsorakoztat jónéhány natÃv, XAnim, RealPlayer és Win32 DLL codecet. Nézhetsz vele
-Video CD-t, SVCD-t, DVD-t, 3ivx, RealMedia, Sorenson, Theora
-és MPEG-4 (DivX) filmet is. Az <application>MPlayer</application>
-másik nagy elÅnye a megjelenÃtési módok széles választékában rejlik.
-Működik X11, Xv, DGA, OpenGL, SVGAlib,
-fbdev, AAlib, libcaca, DirectFB, sÅt SDL-lel vagy GGI-vel is (beleértve ezáltal
-az SDL/GGI drivereit is), és néhány alacsony szintű kártyaspecifikus vezérlÅ
-(Matrox, 3dfx, Radeon, Mach64, Permedia3) is használható!
-Legtöbbjük támogat szoftveres vagy hardveres nagyÃtást, Ãgy a teljesképernyÅs
-mód is elérhetÅ. Az <application>MPlayer</application> támogat továbbá hardveres
-MPEG kártyákkal történÅ dekódolást/megjelenÃtést, Ãgy például a
-<link linkend="dvb">DVB</link> és <link linkend="dxr3">DXR3/Hollywood+</link>
-kártyákon!
-Ãs még nem is szóltam a szép, élsÃmÃtott, árnyékolt feliratozásról
-(14 támogatott tÃpus!), ami támogat európai/ISO-88592-1,2 (magyar, angol, cseh,
-stb), cirill és koreai fontokat, valamint az OSD-rÅl!
-</para>
-
-<para>
-A lejátszó sziklaszilárdan játszik le hibás MPEG file-okat (hasznos néhány
-VCD-nél), és minden olyan hibás AVI-t, amit a csodás
-<application>Windows Media Player</application> nem.
-Még az index chunk nélküli AVI-k is lejátszhatók, sÅt az indexet ideiglenesen
-fel is lehet épÃteni az <option>-idx</option> opcióval (vagy véglegesen a
-<application>MEncoder</application>rel), Ãgy tekerni is lehet bennük! Amint
-az látszik, a stabilitás és a minÅség a legfontosabb szempontok, de a sebesség
-terén sem szenved hátrányt. Valamint rendelkezik egy szűrŠrendszerrel is a
-videó-audió szerkesztéshez.
-</para>
-
-<para>
-A <application>MEncoder</application> (<application>MPlayer's</application> Movie
-Encoder) egy egyszerű film kódoló, az <application>MPlayer</application> által
-ismert formátumok
-(AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)
-más <application>MPlayer</application> által lejátszható formátumokba való
-átalakÃtásához (lásd lejjebb).
-Sokféle codec-kel tud kódolni, például MPEG-4-gyel (DivX4)
-(egy vagy két menetes), a <systemitem class="library">libavcodec</systemitem>-et
-alkotó codec-ekkel, audiót tekintve pedig PCM/MP3/VBR MP3 a választék.
-</para>
-
-<itemizedlist>
-<title>Az <application>MEncoder</application> elÅnyei</title>
-<listitem><para>
- Az <application>MPlayer</application> által támogatott
- összes formátumból lehet kódolni
-</para></listitem>
-<listitem><para>
- Az FFmpeg <systemitem class="library">libavcodec</systemitem>
- által támogatott összes formátumba tud tömörÃteni
-</para></listitem>
-<listitem><para>
- Videó grabbelés V4L kompatibilis TV tunerekrÅl
-</para></listitem>
-<listitem><para>
- Helyes index-szel rendelkezŠAVI fájlok kódolása/multiplexelése
-</para></listitem>
-<listitem><para>
- Opcionálisan külsŠaudio stream használata
-</para></listitem>
-<listitem><para>
- 1, 2 vagy 3 menetes kódolás
-</para></listitem>
-<listitem><para>
- VBR MP3 audió
- <important><para>
- a VBR-es MP3-akat nem minden Windows rendszerre elérhetŠlejátszó kezeli helyesen!
- </para></important>
-</para></listitem>
-<listitem><para>
- PCM audió
-</para></listitem>
-<listitem><para>
- Stream másolás
-</para></listitem>
-<listitem><para>
- Bemeneti file A/V szinkronizálása (pts-alapú, az
- <option>-mc 0</option> opcióval kikapcsolható)
-</para></listitem>
-<listitem><para>
- fps javÃtás az <option>-ofps</option> opcióval (hasznos ha
- 30000/1001 fps-es VOB-ot kódolsz 24000/1001 fps-es AVI-ba)
-</para></listitem>
-<listitem><para>
- Roppant jó szűrŠrendszer használata (crop, expand, flip, postprocess,
- rotate, scale, RGB/YUV konverzió)
-</para></listitem>
-<listitem><para>
- A kimeneti fájlba bele tudja kódolni mind a DVD/VOBsub, mind a
- szöveges feliratokat
-</para></listitem>
-<listitem><para>
- DVD feliratok külsŠVOBsub fájlba történŠrippelése
-</para></listitem>
-</itemizedlist>
-
-<!-- FIXME: the license should be in bookinfo -->
-<para>
-Az <application>MPlayer</application> és <application>MEncoder</application>
-a GNU General Public License v2 értelmében terjeszthetÅ.
-</para>
-
-</chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/hu/encoding-guide.xml b/DOCS/xml/hu/encoding-guide.xml
deleted file mode 100644
index 8dd7ce4..0000000
--- a/DOCS/xml/hu/encoding-guide.xml
+++ /dev/null
@@ -1,5518 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r31032 -->
-<chapter id="encoding-guide">
-<title>Kódolás a <application>MEncoder</application>rel</title>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Nagyon jó minÅségű MPEG-4 ("DivX")
- rip készÃtése DVD filmbÅl</title>
-
-<para>
-Egy gyakran feltett kérdés: "Hogyan készÃthetem el a legjobb minÅségű
-DVD rip-et egy adott méretben?" Vagy: "Hogyan készÃthetem el a lehetÅ
-legjobb minÅségű DVD rip-et? Nem érdekel a fájl méret, csak a legjobb
-minÅséget akarom."
-</para>
-
-<para>
-Az utóbbi kérdés talán kicsit rosszul van megfogalmazva. Hiszen ha nem
-érdekel a fájl méret, akkor miért nem másolod át az egész MPEG-2 videó
-stream-et a DVD-rÅl egy az egyben? Az AVI fájlod 5GB körül fogja végezni,
-fogd és vidd, de ha a legjobb minÅséget akarod és nem érdekel a méret,
-akkor biztos, hogy ez lesz a legjobb lehetÅséged.
-</para>
-
-<para>
-Valójában egy DVD MPEG-4-be történŠátkódolásának az oka pont az, hogy
-<emphasis role="bold">érdekel</emphasis> a fájl mérete.
-</para>
-
-<para>
-Nehéz egy általános receptet adni a jó minÅségű DVD rip-ek készÃtéséhez.
-Számos szempontot figyelembe kell venni és meg kell értened ezeket a
-részleteket, különben elégedetlen leszel a végeredménnyel. Kicsit körbejárjuk
-ezen dolgok közül néhányat és utána példát is adunk. Feltételezzük, hogy a
-<systemitem class="library">libavcodec</systemitem>-et használod a videó
-kódolásához, habár az elmélet bármilyen codec-kel használható.
-</para>
-
-<para>
-Ha ez túl sok neked, akkor talán jobb, ha a sok nagyszerű frontend
-valamelyikét használod, amik fel vannak sorolva a
-kapcsolódó projektek oldalán a
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">MEncoder részben</ulink>.
-Ãgy nagyon jó minÅségű rip-eket készÃthetsz túl sok gondolkodás nélkül,
-mert ezen eszközök legtöbbje úgy lett megtervezve, hogy jó döntéseket
-hozzon.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>Felkészülés a kódolásra: A forrás anyag és frameráta azonosÃtása</title>
-
-<para>
-MielÅtt eszedbe jutna bármiféle film átkódolása, meg kell tenned
-pár elÅkészületi lépést.
-</para>
-
-<para>
-Az elsŠés legfontosabb lépés a kódolás elÅtt annak megállapÃtása,
-hogy miféle anyaggal van egyáltalán dolgod.
-Ha a forrás anyagod DVD-rÅl származik vagy sugárzott/kábeles/műholdas
-TV, a következÅ két formátum valamelyikében tárolódik: NTSC Ãszak
-Amerikában és Japánban, PAL Európában.
-Fontos tudatosÃtani, hogy ez csak a televÃzión történÅ megjelenÃtés
-formátuma és gyakran <emphasis role="bold">nincs</emphasis>
-összhangban a film eredeti formátumával.
-A tapasztalatok szerint az NTSC tartalmat sokkal nehezebb elkódolni, mert
-több elemet kell azonosÃtani a forrásban.
-Ahhoz, hogy megfelelŠlegyen a kódolás, ismerned kell az eredeti
-formátumot.
-Ennek elmulasztása esetén különbözŠhibák lesznek a kódolásodban,
-csúnya törési (átlapolás) mellékhatások, duplázott
-vagy akár elveszett képkockák.
-Mindamellett, hogy csúnya, a mellékhatások rontják a kódolási
-hatékonyságot is: rosszabb minÅség per bitráta egység arányt kapsz.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
-<title>A forrás framerátájának azonosÃtása</title>
-
-<para>
-Itt van egy lista a forrás anyagok által általában használt tÃpusokról,
-ebben valószÃnűleg megtalálod a tiédet és annak jellemzÅit:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Szabványos film</emphasis>: Moziban történÅ
- vetÃtéshez rögzÃtették 24 fps-sel.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL videó</emphasis>: PAL videókamerával
- rögzÃtették 50 mezÅ per másodperc sebességgel.
- Egy mezŠcsak a képkocka páros vagy páratlan sorszámú sorait
- tartalmazza.
- A televÃziót úgy tervezték meg, hogy ilyen arányban frissÃtsen,
- az analóg tömörÃtés egy olcsó formájaként.
- Az emberi szemnek ezt kompenzálnia kellene, de ha egyszer megérted
- az átlapolást, meg fogod látni a TV-n és soha többé nem fogod
- élvezni a TV adást.
- Két mezŠmég <emphasis role="bold">nem</emphasis> alkot egy
- teljes képkockát, mert 1/50 másodpercnyire vannak egymástól idÅben
- és Ãgy csak mozgásnál igazodnak össze.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC Videó</emphasis>: NTSC kamerával felvett,
- 60000/1001 mezÅ per másodperc vagy a szÃnek elÅtti idÅben 60 mezÅ per
- másodperc sebességű film. Egyébként hasonló a PAL-hoz.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Animáció</emphasis>: Ãltalában 24fps-sel
- rajzolják, de található kevert-framerátás változat is.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">SzámÃtógépes grafika (CG)</emphasis>: Bármilyen
- framerátával mehet, de van pár, ami gyakoribb a többinél; 24 és
- 30 képkocka per másodpercesek a tipikusak NTSC-nél és 25fps PAL-nál.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Régi film</emphasis>: KülönbözŠalacsony
- frameráták.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
-<title>A forrásanyag beazonosÃtása</title>
-
-<para>
-A képkockákból álló filmekre progresszÃvként szoktak hivatkozni,
-mÃg az egymástól független mezÅkbÅl állóakra vagy átlapoltként
-vagy videóként - bár ez utóbbi félreérthetÅ.
-</para>
-
-<para>
-További bonyolÃtásként néhány film a fenti kettÅ keveréke.
-</para>
-
-<para>
-A legfontosabb különbség, amit észre kell venni a két formátum
-között, hogy van, amelyik képkocka-alapú mÃg mások mezÅ alapúak.
-<emphasis role="bold">Bármikor</emphasis>, ha egy filmet televÃziós
-megjelenÃtésre készÃtenek elÅ (beleértve a DVD-t is), átkonvertálják
-mezÅ-alapú formába.
-A különbözÅ módszereket, amikkel ez végrehajtható, gyűjtÅnéven
-"telecine"-nek hÃvjuk, ennek egyik változata a hÃrhedt NTSC-s
-"3:2 pulldown".
-Hacsak nem volt az eredeti anyag is mezÅ-alapú (és megegyezÅ
-mezŠrátájú), más formátumbú lesz a filmed, mint az eredeti.
-</para>
-
-<itemizedlist>
-<title>Számos általános tÃpusa van a pulldown-nak:</title>
-<listitem><para>
- <emphasis role="bold">PAL 2:2 pulldown</emphasis>: Az összes közül a
- legjobb.
- Minden képkocka két mezŠidejéig látszódik, úgy, hogy a páros és páratlan
- sorokat kinyeri belÅlük és váltakozva mutatja Åket.
- Ha az eredeti anyag 24fps-es, ez az eljárás felgyorsÃtja a filmet
- 4%-kal.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
- Minden 12. kockát három mezŠhosszan mutat kettŠhelyett.
- Ezzel elkerüli a 4%-os gyorsulást, de sokkal nehezebben megfordÃthatóvá
- teszi a folyamatot.
- Ãltalában musical készÃtésénél használják, ahol a 4%-os sebességmódosulás
- komolyan rontaná a zenei jelet.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 3:2 telecine</emphasis>: A kockák
- felváltva 3 vagy 2 mezÅnyi ideig látszódnak. Ezáltal a mezÅ ráta
- 2.5-szöröse lesz az eredeti framerátának.
- Az eredmény nagyon kis mértékben lelassul, 60 mezÅ per másodpercrÅl
- 59.94 mezŠper másodpercre, az NTSC mezŠráta megtartása miatt.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: A 30fps-es
- anyagok NTSC-n történÅ megjelenÃtéséhez használják.
- Szép, csakúgy, mint a 2:2 PAL pulldown.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Vannak még egyéb módszerek az NTSC és a PAL videó közötti konvertáláshoz,
-de ez a téma meghaladja ezen leÃrás célkitűzéseit.
-Ha ilyen filmbe futsz bele és el szeretnéd kódolni, a legjobb, ha
-keresel egy másolatot az eredeti formátumban.
-A két formátum közötti konvertálás nagyon romboló hatású és nem
-lehet teljesen visszafordÃtani, Ãgy a kódolt adatod nagyon
-megszenvedi, ha már konvertált forrásból készül.
-</para>
-
-<para>
-Ha a videó DVD-n van, az egymást követÅ mezÅk képkockává
-csoportosÃthatóak, még akkor is, ha nem egyidejű megjelenÃtésre
-tervezték Åket.
-A DVD-n és digitális TV-n használt MPEG-2 szabvány lehetÅséget nyújt
-mind az eredeti progresszÃv kockák elkódolására, mind pedig arra, hogy
-azon mezÅk számát, amelyhez egy képkockát meg kell jelenÃteni, az
-adott képkocka fejlécében tárolhassuk.
-Ha ezt a módszert használják, a filmet gyakran "soft-telecined"-ként
-jellemzik, mert ez az eljárás csak utasÃtja a DVD lejátszót a pulldown
-alkalmazására a film tényleges megváltoztatása helyett.
-Ez a lehetÅség nagyon preferált, mert könnyen visszafordÃtható
-(tulajdonképpen kihagyható) a kódoló által és megtartja a maximális
-minÅséget.
-Bár sok DVD és műsorszóró stúdió nem használ megfelelŠkódolási
-technikát, hanem inkább "hard telecine"-es filmeket alkalmaznak,
-ahol a mezÅk tulajdonképpen duplázva vannak az elkódolt MPEG-2-ben.
-</para>
-
-<para>
-Az eljárás, ahogy ezeket az eseteket kezelni kell, <link
-linkend="menc-feat-telecine">késÅbb kerül leÃrásra</link> ebben
-az útmutatóban.
-Most következzék pár tanács, amik segÃtségével eldöntheted, hogy milyen
-anyaggal van dolgod:
-</para>
-
-<itemizedlist>
-<title>NTSC régiók:</title>
-<listitem><para>
- Ha az <application>MPlayer</application> azt Ãrja ki, hogy a frameráta
- megváltozott 24000/1001-re a film nézése közben, és soha nem vált vissza,
- akkor majdnem biztosan progresszÃv tartalomról van szó, amit "soft telecine"
- eljárásnak vetettek alá.
-</para></listitem>
-<listitem><para>
- Ha az <application>MPlayer</application> a frameráta oda-vissza
- váltakozását mutatja 24000/1001 és 30000/1001 között és "hullámzást"
- látsz ilyenkor, akkor több lehetÅség is van.
- A 24000/1001 fps-es részek majdnem biztosan progresszÃv
- tartalmak, "soft telecine"-ltek, de a 30000/1001 fps-es részek
- lehetnek vagy hard-telecine-lt 24000/1001 fps-esek vagy 60000/1001
- mezŠper másodperces NTSC videók.
- Kövesd a következÅ két esetben leÃrt irányelveket, hogy el tudd
- dönteni, valójában melyik formátummal van dolgod.
-</para></listitem>
-<listitem><para>
- Ha az <application>MPlayer</application> soha nem mutatja a frameráta
- változást és minden egyes mozgást tartalmazó kocka hullámosnak tűnik,
- akkor a filmed NTSC videó 60000/1001 mezŠper másodperc sebességgel.
-</para></listitem>
-<listitem><para>
- Ha az <application>MPlayer</application> soha nem mutatja a frameráta
- változást és minden ötbÅl két kocka hullámosnak tűnik, akkor a filmed
- "hard telecine"-s 24000/1001fps-es formátumú.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>PAL régiók:</title>
-<listitem><para>
- Ha sosem látsz hullámzást, akkor a filmed 2:2 pulldown-os.
-</para></listitem>
-<listitem><para>
- Ha hullámzást látsz váltakozóan ki-be minden fél másodpercben,
- akkor a filmed 2:2:2:2:2:2:2:2:2:2:2:3 pulldown-os.
-</para></listitem>
-<listitem><para>
- Ha mindig látsz hullámzást a mozgás közben, akkor a filmed PAL
- videó 50 mezŠper másodperces sebességgel.
-</para></listitem>
-</itemizedlist>
-
-<note><title>Tanács:</title>
-<para>
- Az <application>MPlayer</application> le tudja lassÃtani a lejátszást
- a -speed kapcsolóval vagy a kockáról-kockára történŠlejátszással.
- Próbáld meg használni a <option>-speed</option> 0.2-t, hogy nagyon lassan
- nézhesd a filmet vagy nyomogasd a "<keycap>.</keycap>" gombot a kockáról
- kockára történÅ lejátszáshoz és azonosÃtsd a mintákat, ha nem látod meg
- teljes sebességnél.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>Konstans kvantálás vs. többmenetes kódolás</title>
-
-<para>
-Nagyon sokféle minÅségben tudod elkódolni a filmedet.
-A modern videó kódolókkal és egy kis pre-codec tömörÃtéssel
-(leméretezés és zajcsökkentés), lehetséges nagyon jó minÅség elérése
-700 MB-on, egy 90-110 perces szélesvásznú filmnél.
-Továbbá minden, kivéve a leghosszabb filmeket, elkódolható majdnem
-tökéletes minÅséggel 1400 MB-ba.
-</para>
-
-<para>
-Három féle megközelÃtése van egy videó kódolásának: konstans bitráta
-(CBR), konstans kvantálás, és többmenetes (ABR vagy átlagos bitráta).
-</para>
-
-<para>
-Egy film képkockáinak komplexitása és Ãgy a tömörÃtéshez szükséges bitek
-száma nagy mértékben változhat jelentrÅl jelenetre.
-A modern videó kódolók már alkalmazkodnak az igényekhez a bitráta variálásával.
-Az egyszerű módokban, mint pl. a CBR, a kódolók nem ismerik az elkövetkezÅ
-jelenetek bitráta igényét és Ãgy nem tudják átlépni az igényelt átlagos
-bitrátát hosszabb idÅre. A fejlettebb módokban, mint pl. a több lépéses
-kódolásnál, már figyelembe lehet venni az elÅzÅ lépés statisztikáját; ez
-megoldja a fent emlÃtett problémát.
-</para>
-
-<note><title>Megjegyzés:</title>
-<para>
-A legtöbb ABR kódolást támogató codec csak a két lépéses kódolást
-támogatja, mÃg néhány másik, mint pl. az <systemitem class="library">x264</systemitem>,
-az <systemitem class="library">Xvid</systemitem> és a
-<systemitem class="library">libavcodec</systemitem> támogatják
-a többmenetest, ami kissé javÃt a minÅségen minden lépésben,
-bár ez a javulás nem mérhetŠés nem is észrevehetŠa 4. lépés után.
-Ezért, ebben a részben a két lépéses és a többmenetes felváltva
-értelmezhetÅ.
-</para>
-</note>
-
-<para>
-Ezen módok mindegyikében a videó codec (mint pl. a
-<systemitem class="library">libavcodec</systemitem>)
-a videó képkockákat 16x16 pixel nagyságú macroblock-okra osztja, majd egy
-kvantálást végez mindegyik macroblock-on. Minél alacsonyabb a kvantálás, annál
-jobb a minÅség és nagyobb a bitráta. A film kódolók által egy adott macroblockhoz
-a megfelelŠkvantáló kiválasztására használt módszer változó és nagymértékben
-tuningolható. (Ez egy extrém túl-egyszerűsÃtése a tulajdonképpeni folyamatnak,
-de az alap koncepciót hasznos megérteni.)
-</para>
-
-<para>
-Ha elÅÃrsz egy konstans bitrátát, a videó codec elkódolja a videót, figyelmen
-kÃvül hagyva a részleteket amennyire csak lehetséges és a legkisebb mértékben,
-amennyire szükséges, hogy a megadott bitrátánál alacsonyabban maradjon. Ha
-tényleg nem érdekel a fájl méret, használhatsz CBR-t és megadhatsz egy bitrátát
-vagy hagyhatod határozatlanul. (A gyakorlatban ez egy kellÅen magas értéket
-jelent, ami nem szab gátat, pl. 10000Kbit.) Ha nincs különösebb megkötés a
-bitrátára vonatkozóan, az eredmény az lesz, hogy a codec a lehetŠlegalacsonyabb
-kvantálást fogja használni minden egyes macroblock-hoz (amint ez a
-<option>vqmin</option>-ben meg van adva a <systemitem
-class="library">libavcodec</systemitem>nél, alapértelmezésként 2). Amint
-elÅÃrsz egy megfelelÅen alacsony bitrátát, ami a codecet magasabb kvantálás
-használatára kényszerÃti, majdnem biztos, hogy rontod a videód minÅségét.
-Ahhoz, hogy ezt elkerüld, valószÃnűleg downscale-t kell végrehajtani a
-videón, az alábbiakban szereplÅ módszernek megfelelÅen. Ãltalában igaz,
-hogy jobb ha kerülöd a CBR-t, ha számÃt a minÅség.
-</para>
-
-<para>
-Konstans kvantálással a codec ugyan azt a kvantálót használja, amit
-a <option>vqscale</option> kapcsolóval megadtál (a <systemitem
-class="library">libavcodec</systemitem>nek), minden macroblock-nál. Ha
-a lehetÅ legjobb minÅségű rip-et szeretnéd, szintén a bitráta kihagyásával,
-használhatod a <option>vqscale=2</option> kapcsolót. Ez ugyan azt a bitrátát
-és PSNR-t (peak signal-to-noise ratio) szolgáltatja, mint a CBR a
-<option>vbitrate</option>=végtelen kapcsolóval és a alapértelmezett 2-es
-<option>vqmin</option>-nal.
-</para>
-
-<para>
-A konstans kvantálás problémája, hogy a megadott kvantálót alkalmazza, akár
-szükséges a macroblock-hoz, akár nem. Lehet, hogy használható lenne egy
-nagyobb kvantálás is a mackroblock-on a vizuális minÅség feláldozása nélkül
-is. Miért pazarolnánk a biteket szükségtelenül alacsony kvantálóra? A
-CPU-d annyi ciklusa lehet, amennyi idÅd csak van, de a merevlemezed véges.
-</para>
-
-<para>
-Két lépéses kódolásban az elsŠlépés úgy rip-eli a filmet, mintha CBR lenne,
-de megtartja a tulajdonságok listáját minden egyes képkockánál. Ezeket az
-adatokat használja fel aztán a második lépésben a használni kÃvánt kvantálót
-meghatározó intelligens döntésekben. Gyors akciónál vagy nagyon részletes
-jeleneteknél magasabb kvantálót használ, lassú mozgásnál vagy kevésbé
-részletes jeleneteknél alacsonyabbat.
-Ãltalában a mozgás mennyisége sokkal fontosabb, mint a részletesség.
-</para>
-
-<para>
-Ha használod a <option>vqscale=2</option> kapcsolót, akkor biteket pazarolsz.
-Ha a <option>vqscale=3</option> kapcsolót adod meg, akkor nem a legjobb minÅségű
-rip-et kapod. Tegyük fel, hogy egy DVD-t rip-elsz <option>vqscale=3</option>-mal,
-és az eredmény 1800Kbit. Ha két lépéses kódolást csinálsz <option>vbitrate=1800</option>
-kapcsolóval, az kimeneti videó <emphasis role="bold">jobb minÅségű</emphasis> lesz
-<emphasis role="bold">ugyanolyan bitrátával</emphasis>.
-</para>
-
-<para>
-Mivel most meggyÅzÅdtél róla, hogy a két lépéses kódolás a megfelelÅ módszer,
-az igazi kérdés az, hogy milyen bitrátát ajánlott használni? A válasz az, hogy
-nincs egyszerű válasz. ValószÃnűleg olyan bitrátát akarsz választani, ami a
-legjobb egyensúlyt biztosÃtja a minÅség és a fájl méret között. Ez viszont a
-forrás videótól függÅen változik.
-</para>
-
-<para>
-Ha a méret nem számÃt, egy jó kiindulási pont minden nagyon jó minÅségű
-rip-hez egy 2000Kbit körüli érték, plusz-mÃnusz 200Kbit.
-A gyors akciókhoz és a nagy részletességű videókhoz vagy ha sas szemed
-van, akkor választhatsz 2400-at vagy 2600-at.
-Néhány DVD-nél nem fogsz különbséget felfedezni 1400Kbit-en sem. Jó ötlet
-az egyes fejezeteket különbözŠbitrátával megnézni, hogy meglásd a
-különbséget.
-</para>
-
-<para>
-Ha egy bizonyos méretet céloztál be, valahogy ki kell számÃtanod a bitrátát.
-De ezelÅtt azt kell megtudnod, hogy mennyi helyet kell fenntartanod az
-audió sáv(ok)nak, Ãgy elÅször <link linkend="menc-feat-dvd-mpeg4-audio">ezeket
-kell lerippelned</link>.
-A következÅ egyenlettel tudod kiszámÃtani a bitrátát:
-<systemitem>bitráta = (cél_méret_Mbyteokban - hang_mérete_Mbyteokban) *
-1024 * 1024 / hossz_másodpercben * 8 / 1000</systemitem>
-Például egy két órás film 702 Mbájtos CD-re való összenyomásához, 60
-Mbájtnyi hang sávval, a videó bitrátájának
-<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 =
-740kbps</systemitem>-nek kell lennie.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-constraints">
-<title>MegszorÃtások a hatékony kódoláshoz</title>
-
-<para>
-Az MPEG-tÃpusú tömörÃtés természetébÅl adódóan számos megszorÃtás
-van, amit követned kell a maximális minÅség érdekében.
-Az MPEG 16x16 makroblokknak nevezett négyzetre osztja fel a videót,
-mindegyik 4 darab 8x8 blokk luma (intenzitás) információt és két
-fél-felbontású 8x8 chroma (szÃn) blokkot tartalmaz (egy a vörös-világoskék
-tengelyen, a másik a kék-sárga tengelyen).
-Ha a film szélessége és magassága nem 16 többszöröse, a kódoló akkor is
-elegendŠ16x16-os makroblokkot fog használni, hogy lefedje a teljes
-képet, a maradék hely veszendÅbe megy.
-Ãgy ha a minÅség maximalizálása a cél egy fix fájl mérettel, akkor
-eléggé rossz ötlet nem 16 valamelyik többszörösét használni méretként.
-</para>
-
-<para>
-A legtöbb DVD-n van valamekkora fekete sáv a sarkokban. Ha ezeket békén
-hagyod, akkor több módon is <emphasis role="bold">nagyon</emphasis>
-rontják a minÅséget.
-</para>
-
-<orderedlist>
-<listitem>
- <para>
- Az MPEG-tÃpusú tömörÃtés nagyban függ a frekvencia tartományok
- transzformálásától is, általában a Diszkrét Koszinusz Transzformációt
- (DCT) használják, ami hasonló a Fourier transzformációhoz. Ez a fajta
- kódolás hatékony a minták és a sima átmenetek átalakÃtásához, de
- nehezen bÃrkózik meg az éles élekkel. Ezek elkódolásához sokkal több
- bitre van szüksége, különben egy gyűrűsödésnek nevezett mellékhatás
- jelenik meg.
- </para>
-
- <para>
- A frekvencia transzformáció (DCT) külön hajtódik végre minden egyes
- makroblokkon (tulajdonképpen minden blokkon), Ãgy ez a probléma csak
- akkor jelentkezik, ha az éles él a blokkon belül van. Ha a fekete
- határ épp olyan pixel határon kezdÅdik, ami 16 többszöröse, akkor nincs
- probléma. Habár a fekete határok a DVD-ken ritkán vannak szépen
- eligazÃtva, Ãgy a gyakorlatban majdnem mindig vágni kell, hogy
- elkerüld ez a büntetést.
- </para>
-</listitem>
-</orderedlist>
-
-<para>
-A frekvencia tartományok kódolása mellett az MPEG-tÃpusú tömörÃtés
-mozgó vektorokat használ a képkockák közötti változások ábrázolásához.
-A mozgó vektorok természetesen kevésbé hatékonyak a sarkokból érkezÅ
-új tartalomnál, mert az még nincs jelen az elÅzÅ képkockán. AmÃg a
-tartalom a sarkok felé terjed ki, a mozgó vektoroknak nincs problémájuk
-a tartalom kifelé mozgásával. Habár a fekete határok megjelenésekor
-lehetnek gondok:
-</para>
-
-<orderedlist continuation="continues">
-<listitem>
- <para>
- Minden egyes makroblokknál az MPEG-tÃpusú kódolás egy vektort is
- eltárol, mely azt mondja meg, hogy az elÅzÅ képkocka melyik részét
- kell átmásolni ebbe a makroblokkba a következŠkocka megbecsléséhez.
- Csak a megmaradt különbséget kell elkódolni. Ha a makroblokkot
- kettéosztja a kép széle és a fekete sáv, akkor a kép többi részének
- mozgó vektorai felül fogják Ãrni a fekete sávot. Ez azt jelenti,
- hogy sok bitet kell elpazarolni vagy a határ felülÃrt részének
- újrafeketÃtéséhez vagy (inkább) a mozgó vektor nem kerül
- felhasználásra és Ãgy a makroblokk összes változását expliciten el
- kell kódolni. Mindkét esetben jelentÅsen romlik a kódolás
- hatékonysága.
- </para>
-
- <para>
- Ez a probléma szintén csak akkor jelentkezik, ha a fekete sáv nem 16
- többszörösű pixel-határon van.
- </para>
-</listitem>
-
-<listitem>
- <para>
- Végül tegyük fel, hogy van egy makroblokkunk a kép belsejében és
- egy objektum mozog be ebbe a blokkba a kép sarka felÅl. Az
- MPEG-tÃpusú kódolás nem tudja azt mondani, hogy "másold át azt a
- részt, ami a kép belsejében van, de a fekete sávot ne". Ãgy a
- fekete sáv is átmásolódik és Ãgy rengeteg bitet kell feláldozni
- a kép ott lévŠrészének újrakódolásához.
- </para>
-
- <para>
- Ha a kép tovább fut az elkódolt terület sarka felé, az MPEG-nek
- speciális optimalizációi vannak az kép szélén lévŠpixelek
- ismétlÅdÅ másolására, ha a mozgó vektorok a kódolt területen
- kÃvülrÅl jönnek. Ez a tulajdonság haszontalanná válik, ha a
- filmen fekete sávok vannak. Az elsŠkét problémával ellentétben
- itt nem segÃt a 16 többszörösére való igazÃtás.
- </para>
-</listitem>
-
-<listitem><para>
- Habár a sávok teljesen feketék és soha nem változnak, mindenképpen
- egy kis plusz munkát igényelnek, mivel több macroblokk van.
-</para></listitem>
-</orderedlist>
-
-<para>
-A fenti okok miatt javasolt, hogy teljesen vágd le a fekete sávokat.
-Továbbá ha a kép sarkainál zaros/torz rész van, ennek a levágása is
-javÃt a kódolási hatékonyságon. A keményvonalas videósok, akik az
-eredeti tartalmat akarják megtartani, amennyire csak lehet, biztos
-tiltakozni fognak ez ellen, de ha nem tervezed konstant kvantálás
-használatát, akkor a vágás miatt nyert minÅségjavulás jelentÅsen
-nagyobb lesz, mint a sarkok levágása miatti információvesztés.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>Vágás és méretezés</title>
-
-<para>
-Emlékezz rá az elÅzÅ fejezetbÅl, hogy a végsÅ képméret, amibe kódolsz,
-16 többszöröse ajánlott, hogy legyen (mind szélességben, mind magasságban).
-Ezt vágással, méretezéssel vagy ezek kombinációjával érheted el.
-</para>
-
-<para>
-Vágásnál van egy pár ökölszabály, amit jó ha betartasz, ha nem akarsz
-kárt tenni a filmben.
-A normál YUV formátum 4:2:0, a chroma (szÃn) információkat almintaként
-tárolja, pl. a chroma csak fele annyiszor kerül mintázásra minden
-irányban, mint a luma (intenzÃtás) információk.
-Tanulmányozd ezt a diagramot, ahol L jelenti a luma mintázási pontokat
-és C a chroma-kat!
-</para>
-
-<informaltable>
-<?dbhtml table-width="40%" ?>
-<?dbfo table-width="40%" ?>
-<tgroup cols="8" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Amint láthatod, a kép sorai és oszlopai természetszerűleg párokba
-rendezÅdnek. Ãgy a vágási eltolásodnak és a méreteidnek páros
-számoknak <emphasis>kell</emphasis> lenniük.
-Ha nem, akkor a chroma nem fog rendes sort alkotni a luma-val.
-Elméletben lehetséges a vágás páratlan eltolással, de ehhez a
-chroma újramintázása szükséges, ami egy veszteséges művelet és
-nem is támogatja a vágó szűrÅ.
-</para>
-
-<para>
-Továbbá az átlapolt videót a következÅképpen mintázzák:
-</para>
-
-<informaltable>
-<?dbhtml table-width="80%" ?>
-<?dbfo table-width="80%" ?>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
-<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
-<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
-<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
-<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Top field</entry>
- <entry namest="col9" nameend="col16">Bottom field</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Amint láthatod a minták nem ismétlÅdnek meg a 4 sor után.
-Ãgy az átlapolt videóhoz a vágás y-eltolásának és a magasságának
-4 többszörösének kell lennie.
-</para>
-
-<para>
-A natÃv DVD felbontás 720x480 NTSC-vel és 720x576 PAL-lal, de van egy
-arányjelzÅ is, ami megmutatja, hogy teljes képernyÅs (4:3) vagy széles
-vásznú (16:9). Sok (ha nem az összes) széles képernyÅs DVD nem szigorúan
-16:9-es, vagy 1.85:1-hez vagy 2.35:1-hez (cinescope). Ez azt jelenti,
-hogy fekete sávok lesznek a videón, amit le kell vágni.
-</para>
-
-<para>
-Az <application>MPlayer</application> rendelkezik egy crop detection
-szűrÅvel, ami megállapÃtja a levágandó téglalapot (<option>-vf cropdetect</option>).
-Futtasd az <application>MPlayer</application>t a
-<option>-vf cropdetect</option> kapcsolóval és kiÃrja a vágási
-beállÃtásokat a határok eltávolÃtásához.
-A filmet elegendÅ ideig kell engedned futni ahhoz, hogy legyen
-teljesen lefedett kép és helyes vágási eredményeket kapj.
-</para>
-
-<para>
-Ezután teszteld le a kapott értékeket az <application>MPlayer</application>rel,
-felhasználva a <option>cropdetect</option> által kiÃrt parancssort és állÃts
-a téglalapon, ha szükséges.
-A <option>téglalap</option> szűrÅ segÃt neked a vágási téglalap
-filmen való, interaktÃv módon történÅ elhelyezésében.
-Emlékezz, és kövesd a fenti oszthatósági ökölszabályokat, nehogy
-félreigazÃtsd a chroma plane-eket.
-</para>
-
-<para>
-Bizonyos esetekben a méretezés nem kÃvánatos.
-A méretezés függÅleges irányban nehéz átlapolt videónál és ha meg
-akarod Årizni az átlapoltságot, tartózkodnod kell a méretezéstÅl.
-Ha nem fogsz méretezni, de 16 többszörösét akarod használni
-képméretként, túl kell vágnod a filmet.
-Ne vágj kisebbet, mert a fekete szélek nagyon rosszak kódoláskor!
-</para>
-
-<para>
-Mivel az MPEG-4 16x16-os macroblock-okat használ, meg kell gyÅzÅdnöd róla,
-hogy a kódolt videó mindegyik dimenziója 16 többszöröse-e, különben rontod
-a minÅséget, különösen alacsony bitrátánál. Ezt megteheted a levágandó
-terület szélességének és magasságának 16 legközelebbi többszörösére való
-kerekÃtésével.
-Amint az már szerepelt korábban, vágásnál növelni szeretnéd az y-offszetet
-a régi és az új magasság közötti különbség felével, Ãgy a keletkezÅ videó
-elmozdul a kép középpontjából. A DVD videó mintavételezési módja miatt meg
-kell gyÅzÅdnöd róla, hogy az offszet páros szám-e. (Valójában Ãratlan
-szabály, hogy soha ne használj páratlan értékeket semmilyen paraméternek
-se, ha vágsz vagy méretezel egy videót.) Ha nem akarsz pár extra pixelt
-eldobni, akkor a videó méretezését kell megfontolnod inkább. Ezt nézzük
-meg a következŠpéldánkban.
-Tulajdonképpen engedélyezheted a <option>cropdetect</option> szűrÅnek,
-hogy ezt az egészet megcsinálja helyetted, mivel van egy opcionális
-<option>kerekÃtési</option> paramétere, ami alapértelmezésként 16.
-</para>
-
-<para>
-Szintén figyelned kell a "félfekete" pixelekre a sarkokban. GyÅzÅdj meg
-róla, hogy ezeket szintén levágtad, különben olyan biteket pazarolsz el
-ott, amiket máshoz jobban felhasználhatnál.
-</para>
-
-<para>
-Miután mindent elmondtunk és kész, valószÃnűleg olyan videót kapsz, aminek
-a pixeljei nem éppen 1.85:1 vagy 2.35:1 arányúak, de legalább valami hasonló.
-Az új képarányt kiszámÃthatod kézzel is, de a <application>MEncoder</application>
-rendelkezik egy kapcsolóval a <systemitem
-class="library">libavcodec</systemitem>hez, amit <option>autoaspect</option>-nek
-hÃvnak, ami megcsinálja ezt neked. Ne méretezd át ezt a videót a pixelek
-négyszögletesÃtéséhez, hacsak nem akarod pazarolni a helyet a merevlemezeden.
-A méretezés történhet lejátszáskor, és a lejátszó az AVI-ban tárolt arányt
-fogja használni a megfelelÅ felbontás megállapÃtásához.
-Sajnos nem minden lejátszó teszi kötelezÅvé ezt az auto-méretezési
-információt, ezért lehet, hogy mégis átméretezésre kényszerülsz.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>Felbontás és bitráta kiválasztása</title>
-
-<para>
-Ha nem konstans kvantálási módban fogsz kódolni, akkor meg kell adnod
-a bitrátát.
-A bitráta koncepciója elég egyszerű.
-A filmed tárolására másodpercenként felhasznált bitek (átlagos) száma.
-Normális esetben a bitrátát kilobit (1000 bit) per másodpercben mérik.
-A filmed mérete a lemezen egyenlŠa bitráta és a film hosszának
-szorzatával, plusz egy kis "túlterheléssel" (lásd
-<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">az AVI konténer</link>t
-például).
-Az egyéb paraméterek, mint a méretezés, vágás, stb.
-<emphasis role="bold">nem</emphasis> változtatják meg a fájl méretét,
-amÃg nem változtatsz a bitrátán is.
-</para>
-
-<para>
-A bitráta <emphasis role="bold">nem</emphasis> aránylik a felbontáshoz.
-Ezért mondhatjuk, hogy egy 320x240-es fájl 200 kbit/sec-kel nem lesz
-ugyan olyan minÅségű, mint ugyan az a film 640x480-ban, 800 kbit/sec-kel!
-Ennek két oka van:
-<orderedlist>
-<listitem><para>
- <emphasis role="bold">ÃrzékelhetÅ</emphasis>: Jobban észreveszed az
- MPEG hibáit ha fel vannak nagyÃtva!
- A hibák a blokkok (8x8) méretezésébÅl adódnak.
- A szemed nem látja meg a hibát 4800 kicsi blokkban olyan könnyen,
- mint 1200 nagy blokkban (feltételezve, hogy mindkettÅt teljes
- képernyÅre nagyÃtod).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Elméleti</emphasis>: Ha egy képet leméretezel,
- de ugyan akkora méretű (8x8) blokkokat használsz a frekvenciatartomány
- transzformálásához, több adatot mozgatsz a magasabb
- frekvenciatartományokba. Egyszerűen fogalmazva, minden pixel több
- részletet fog tartalmazni, mint elÅtte.
- Ãgy habár a leméretezett képed kiterjedésében az információ 1/4-edét
- tartalmazza csak, mégis az információ nagy részét tartalmazhatja a
- frekvenciatartományban (feltéve, hogy a magas frekvenciák nincsenek
- kellÅképpen kihasználva az eredeti 640x480-as képen).
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-A régi leÃrások egy "bit per pixel" megközelÃtés szerint javasolták
-a bitráta és a felbontás megválasztását, ez azonban általában nem
-helyes a fentiek miatt.
-A legjobb becslésnek az tűnik, ha a bitráta léptéke a felbontás
-négyzetgyökével arányos, Ãgy a 320x240 és 400 kbit/sec
-összehasonlÃtható a 640x480 és 800 kbit/sec-kel.
-Azonban ez még nem lett bizonyÃtva sem elméleti sem gyakorlati
-törvénnyel. Továbbá, tekintve, hogy a filmek nagyon változatosak
-a zajtól, részletességtÅl, a mozgás szögétÅl, és a többitÅl függÅen,
-haszontalan általános tanácsokat adni bit per átló hosszára
-vonatkozóan (a bit per pixel analógiája, a négyzetgyök
-felhasználásával).
-</para>
-<para>
-Eddig csak a felbontás és a bitráta kiválasztás nehézségeirÅl
-beszéltünk.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-<title>Felbontás kiszámÃtása</title>
-
-<para>
-A következÅ képések segÃtenek a kódolásod felbontásának kiszámÃtásában,
-a videód túlzott mértékben történÅ torzÃtása nélkül, a forrás videó
-számos tulajdonságának figyelembe vételével.
-ElÅször, ki kell számÃtanod az elkódolt képarányt:
-<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
-
-<itemizedlist>
-<title>ahol:</title>
-<listitem><para>
- Wc és Hc a vágott videó szélessége és a magassága,
-</para></listitem>
-<listitem><para>
- ARa a megjelenÃtett kép aránya, ami általában 4/3 vagy 16/9,
-</para></listitem>
-<listitem><para>
- PRdvd a DVD pixel rátája, ami PAL DVD-k esetén 1.25=(720/576)
- és 1.5=(720/480) NTSC DVD-knél.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Ezután, kiszámÃthatod az X és Y felbontást, egy bizonyos TömörÃtési
-MinÅség (Compression Quality, CQ) faktornak megfelelÅen:
-<systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
-és
-<systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
-</para>
-
-<para>
-Oké, de mi az a CQ?
-A CQ reprezentálja a kódolás pixelenkénti és képkockánkénti bitszükségletét.
-Nagy vonalakban minél nagyobb a CQ, annál kisebb a valószÃnűsége, hogy
-kódolási hibát fog látni.
-Bár ha van cél méret a filmedhez (1 vagy 2 CD például), akkor korlátozott
-a felhasználható bitek száma; ezért szükséges, hogy megfelelŠarányt találj
-a tömörség és a minÅség között.
-</para>
-
-<para>
-A CQ függ a bitrátától, a videó codec hatékonyságától és a film felbontásától.
-Ha növelni akarod a CQ-t, általában leméretezést kell végezned a filmen,
-mivel a bitráta a cél méret és a film hosszából számÃtódik, ami konstans.
-Az MPEG-4 ASP codec-ekkel, mint pl. az <systemitem class="library">Xvid</systemitem>
-és a <systemitem class="library">libavcodec</systemitem>, egy 0,18 alatti
-CQ általában nagyon kockás képet eredményez, mert nincs
-elég bit minden egyes makroblokk információinak eltárolásához. (Az MPEG4,
-mint sok más codec, csoportokba gyűjti a pixeleket a kép tömörÃtéséhez;
-ha nincs elég bit, láthatóvá válik ezen blokkok széle.)
-Ezért ésszerű a CQ-t a 0,20-0,22-es tartományból választani 1 CD-s rip
-esetén, és 0,26-0,28-ból a 2 CD-snél a szabványos kódolási opciókkal.
-A <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>-hez
-és az
-<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>-hez
-itt felsoroltaknál fejlettebb kódolási opciók segÃtségével lehetséges
-ugyan ilyen minÅség elérése 0,18-0,20-as CQ mellett egy 1 CD-s rip
-esetén és 0,24-0,26-ossal 2 CD-s rip-nél.
-Az MPEG-4 AVC codec-eknél, mint pl. az <systemitem class="library">x264</systemitem>,
-használhatsz 0,14-0,16-os CQ tartományt a szabványos kódolási opciókkal
-és lemehetsz akár 0,10-0,12-ig is az
-<link linkend="menc-feat-x264-example-settings"><systemitem class="library">x264</systemitem> fejlett kódolási beállÃtásaival</link>.
-</para>
-
-<para>
-Kérlek figyelj rá, hogy a CQ csak egy mutató, mely az elkódolt tartalomtól
-függ, egy 0,18-as CQ-val jól nézhet ki egy Bergman, szemben az olyan
-filmekkel, mint például a Mátrix, ami sok gyors-mozgású részt tartalmaz.
-Másrészt nem éri meg növelni a CQ-t 0,30-nál magasabbra, mert csak pazarolni
-fogod a biteket észrevehetÅ minÅségi nyereség nélkül.
-Vedd figyelembe, amint azt már korábban is emlÃtettük, hogy az alacsony
-felbontású videókhoz nagyobb CQ kell (összehasonlÃtva pl. a DVD felbontással),
-hogy jól nézzen ki.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>Szűrés</title>
-
-<para>
-A <application>MEncoder</application> videó szűrÅi használatának
-ismerete alapvetŠfontosságú a jó kódoláshoz.
-Az összes videó feldolgozás a szűrÅkön keresztül történik -- vágás,
-méretezés, szÃn állÃtás, zajszűrés, élesÃtés, deinterlacing, telecine,
-inverz telecine és deblocking, csak hogy néhányat megemlÃtsünk.
-A támogatott formátumok sokaságával együtt a <application>MEncoder</application>
-szűrÅinek változatossága a fÅ elÅnye a hasonló programokkal szemben.
-</para>
-
-<para>
-A szűrÅk láncban töltÅdnek be a -vf kapcsoló használatával:
-
-<screen>-vf szuro1=opciok,szuro2=opciok,...</screen>
-
-A legtöbb szűrÅ több numerikus opciót vár, kettÅspontokkal elválasztva,
-de igazából a szintaxis szűrÅrÅl szűrÅre változik, ezért olvasd el a man
-oldal általad használni kÃvánt szűrÅhöz tartozó részét!
-</para>
-
-<para>
-A szűrÅk olyan sorrendben módosÃtják a videót, ahogy be lettek töltve.
-Például a következŠlánc:
-
-<screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
-elÅször kivágja a 688x464 területű régiót (12,4)-es bal felsÅ
-sarokkal, majd az eredményt leméretezi 640x464-re.
-</para>
-
-<para>
-Bizonyos szűrÅket a szűrÅ lánc elején, vagy ahhoz közel kell betölteni,
-ahhoz, hogy a videó dekódolótól érkezŠinformációkat megkapja, azok ne
-vesszenek el vagy változzanak meg másik szűrŠmiatt.
-A legjobb példa erre a <option>pp</option> (utófeldolgozás, csak ha
-deblock vagy dering műveleteket hajt végre), az
-<option>spp</option> (másik utófeldolgozó az MPEG mellékhatások eltávolÃtására),
-a <option>pullup</option> (inverz telecine) és a
-<option>softpulldown</option> (a soft telecine hard telecine-re történÅ
-konvertálása).
-</para>
-
-<para>
-Ãltalában olyan kevés szűrést szeretnél, amennyit csak lehet, hogy az
-eredeti DVD forráshoz hű maradj. A vágás gyakran elkerülhetetlen (amint
-azt fentebb leÃrtuk), de ne méretezd a videót. Noha a kicsinyÃtés néha
-elÅnyben részesül a magas kvantálóknál, mi szeretnénk elkerülni mindkét
-dolgot: emlékezz, hogy mit határoztunk el kezdetben a bitek minÅségért
-történŠfeláldozásáról.
-</para>
-
-<para>
-Szintén hagyd békén a gamma, kontraszt, fényerÅ, stb. beállÃtásokat.
-Ami jól néz ki a monitorodon nem biztos, hogy másnál is szép lesz.
-Ezeket a beállÃtásokat lejátszáskor kell elvégezni.
-</para>
-
-<para>
-Az egyetlen dolog, amit szeretnél, a videó nagyon könnyű zajszűrÅn történÅ
-áteresztése, mint pl. <option>-vf hqdn3d=2:1:2</option>. Ismételten, ezen
-bitek jobb felhasználásáról van szó: miért vesztegessük el Åket a zaj
-kódolására, ha ezt a zajt lejátszás közben is hozzá tudod adni? A
-<option>hqdn3d</option> paramétereinek növelésével még jobb tömörÃtettséget
-érhetsz el, de ha túl magasra állÃtod az értékeket, akkor láthatóan rontod
-a kép minÅségét.
-A fent javasolt értékek (<option>2:1:2</option>) eléggé konzervatÃvak;
-kÃsérletezz szabadon nagyobb értékekkel és ellenÅrizd az eredményeket magad.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>Interlacing és Telecine</title>
-
-<para>
-Majdnem minden filmet 24 fps-sel fényképeznek. Mivel az NTSC 30000/1001
-fps-es, némi átdolgozás szükséges ezen a 24 fps-es videón, hogy a
-megfelelÅ NTSC framerátával menjen. Ez az eljárást 3:2 pulldown-nak hÃvják,
-de általában csak telecine néven hivatkoznak rá (mivel a pulldownt gyakran
-használják a telecine eljárás során), ami egyszerűen leÃrva lelassÃtja a
-filmet 24000/1001 fps-re és megismétel minden negyedik képkockát.
-</para>
-
-<para>
-Ez nem speciális feldolgozás, habár minden PAL DVD esetében megcsinálják,
-ami 25 fps-sel megy. (Műszaki szempontból a PAL-t lehet telecine-elni,
-ezt 2:2 pulldown-nak hÃvják, de ez nem terjedt el a gyakorlatban.) A 24
-fps-es filmet egyszerűen 25 fps-sel játszák le. Az eredmény az, hogy a
-film kissé gyorsabban megy, de ha nem vagy egy földönkÃvüli, valószÃnűleg
-nem fogod észrevenni a különbséget. A legtöbb PAL DVD zajszint-javÃtott
-audiót tartalmaz, Ãgy amikor 25 fps-sel játszák le Åket, a hangok jól
-hangzanak, még akkor is, ha az audió sáv (és ebbÅl adódóan az egész film)
-az NTSC DVD-kénél 4%-kal lassabb futási idÅvel megy.
-</para>
-
-<para>
-Mivel a PAL DVD-ben a videót nem változtatták meg, nem kell aggódnod a
-frameráta miatt. A forrás 25 fps-es és a rip-ed is 25 fps-es lesz. De ha
-egy NTSC DVD filmet rippelsz, fordÃtott telecine-t kell alkalmaznod.
-</para>
-
-<para>
-A 24 fps-sel felvett filmeknél az NTSC DVD-n lévŠvideó vagy telecine-elt
-30000/1001 fps-re vagy pedig progresszÃv 24000/1001 fps-es és szándék szerint
-a DVD lejátszó végzi a telecine-t lejátszás közben. MásrészrÅl a TV sorozatok
-általában csak átlapoltak, nem telecine-ltek. Ez azonban nem ökölszabály:
-néhány TV sorozat átlapolt (mint a Buffy a VámpÃr gyilkos) mÃg másik a
-progresszÃv és az átlapolt keverékei (mint pl. az Angyal vagy a 24).
-</para>
-
-<para>
-Javasoljuk, hogy olvasd el a
-<link linkend="menc-feat-telecine">mit kezdjünk a telecine-nel és az átlapolással NTSC DVD-ken</link>
-részt, hogy kezelni tudd a különbözÅ lehetÅségeket.
-</para>
-
-<para>
-Bár ha legtöbbször csak filmeket rippelsz, valószÃnűleg vagy 24 fps-es
-progresszÃv vagy telecine-lt videóval lesz dolgod, ezekben az esetekben
-használhatod a <option>pullup</option> szűrÅt a <option>-vf
-pullup,softskip</option> kapcsolóval.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>Ãtlapolt videó elkódolása</title>
-
-<para>
-Ha az általad elkódolni kÃvánt film átlapolt (NTSC videó vagy
-PAL videó), el kell döntened, hogy akarsz-e deinterlacing-et
-vagy sem.
-A deinterlacing használhatóvá teszi a filmed progresszÃv scan-es
-megjelenÃtÅkön, mint pl. a számÃtógép monitorok vagy a projektorok,
-van ára is: az 50 vagy 60000/1001-es mezÅráta felezÅdik 25 vagy
-30000/1001 képkocka per másodpercre és Ãgy a filmedben tárolt
-információk durván fele elveszik a jelentÅs mozgást tartalmazó
-részekben.
-</para>
-
-<para>
-Ãgy hát ha archiválási okokból jó minÅség kell, akkor kerüld el a
-deinterlace-t.
-Bármikor deinterlace-lheted a filmet lejátszás közben is, ha
-progresszÃv scan-es megjelenÃtÅd van.
-A jelenleg kapható számÃtógépek teljesÃtménye deinterlacing szűrÅ
-használatára kényszerÃtik a lejátszókat, ami egy kis mértékű
-képminÅség romlást okoz.
-Azonban a jövÅ lejátszói képesek lesznek az átlapolt képernyÅ
-TV-vé történŠátváltoztatására, teljes mezÅrátás deinterlacing-re és
-az átlapolt videó 50 vagy 60000/1001 teljes képkocka per másodpercre
-interpolálására.
-</para>
-
-<para>
-Fokozott figyelemmel kell eljárni, ha átlapolt videóval dolgozol:
-</para>
-
-<orderedlist>
-<listitem><para>
- A vágási magasság és y-offszet 4 többszöröse kell, hogy legyen.
-</para></listitem>
-<listitem><para>
- Bármilyen függÅleges átméretezést átlapolt módban kell elvégezni.
-</para></listitem>
-<listitem><para>
- Az utófeldolgozó és a zajcsökkentÅ szűrÅk nem az elvártnak megfelelÅen
- működnek, ha nem gondoskodsz róla, hogy egyszerre csak egy mezÅvel
- dolgozzanak, különben a nem megfelelŠhasználat miatt sérülhet a videó.
-</para></listitem>
-</orderedlist>
-
-<para>
-Mindezt észben tartva, itt az elsŠpéldánk:
-<screen>
-mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-Figyelj az <option>ilme</option> és az <option>ildct</option> kapcsolókra.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>Megjegyzések az Audió/Videó szinkronizáláshoz</title>
-
-<para>
-A <application>MEncoder</application> audió/videó szinkronizáló
-algoritmusai azzal a szándékkal lettek megtervezve, hogy képesek
-legyenek a sérült szinkronú filmek megjavÃtására.
-De néhány esetben a képkockáknál szükségtelen kihagyásokat és duplikálásokat
-valamint kis mértékben A/V deszinkronizációt okozhatnak, ha megfelelÅ
-bementük van (természetesen az A/V szinkron dolgok csak akkor érvényesek,
-ha feldolgozod vagy másolod az audió sávot a videó átkódolása közben,
-ami nagyon javasolt).
-Ezért lehet, hogy az alapértelmezett A/V szinkronizációra kell váltanod
-a <option>-mc 0</option> opcióval, vagy Ãrd ezt bele a
-<systemitem>~/.mplayer/mencoder</systemitem> konfigurációs fájlodba,
-feltéve, hogy csak hibátlan anyaggal dolgozol (DVD, TV mentés, nagyon
-jó minÅségű MPEG-4 rip, stb.) és nem hibás ASF/RM/MOV fájlokkal.
-</para>
-
-<para>
-Ha még további különös képkocka kihagyásokat és duplázásokat akarsz
-elkerülni, használhatod az <option>-mc 0</option> és <option>-noskip</option>
-kapcsolókat együtt is.
-Ez megakadályoz <emphasis>mindenféle</emphasis> A/V szinkronizációt és
-egy az egyben másolja a képkockákat, Ãgy nem használhatod olyan szűrÅkkel,
-melyek megjósolhatatlanul hozzáadnak vagy elvesznek képkockákat, vagy ha
-a bemeneti fájlodnak változó framerátája van!
-Ezért a <option>-noskip</option> használata általában nem javasolt.
-</para>
-
-<para>
-A <application>MEncoder</application> által támogatott, úgy nevezett
-"három lépéses" audió kódolás a visszajelzések szerint A/V deszinkronizációt
-okoz.
-Ez különösen akkor történik, ha bizonyos szűrÅkkel együtt használják,
-Ãgy jelenleg <emphasis>nem</emphasis> javasolt a három lépéses audió
-mód használata.
-Ez a képesség csak kompatibilÃtási okok miatt maradt meg és a haladó
-felhasználóknak, akik tudják, hogy mikor lehet használni és mikor nem.
-Ha ezelÅtt még soha nem hallottál a három lépéses módról, felejtsd el azt
-is, hogy megemlÃtettük!
-</para>
-
-<para>
-Ãrkeztek jelentések A/V deszinkronizációról <application>MEncoder</application>rel
-stdin-rÅl történÅ kódolás esetén is.
-Ne tedd ezt! Mindig használj fájlt vagy CD/DVD/stb. eszközt forrásként.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>A videó codec kiválasztása</title>
-
-<para>
-A használandó videó codec kiválasztása több dologtól függ, mint például a
-méret, minÅség, stream-elhetÅség, használhatóság és elterjedtség, melyeket
-a személyes igények és a technikai korlátok határoznak meg.
-</para>
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">TömörÃtési hatékonyság</emphasis>:
- ÃrthetÅ módon a legtöbb új generációs codec a minÅség és a tömörÃtés
- javÃtására Ãródott.
- Ezért ezen leÃrás szerzÅi és még sok más szerint sem tudsz rosszat
- választani,
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
- Azonban légy óvatos: A DVD felbontású MPEG-4 AVC videó
- dekódolása gyors gépet igényel (pl. egy 1,5 GHz feletti Pentium 4
- vagy egy 1 GHz feletti Pentium M).
- </para></footnote>
- akár MPEG-4 AVC codec-et választasz, mint például az
- <systemitem class="library">x264</systemitem>, akár egy MPEG-4 ASP
- codec-et, mint pl. a <systemitem class="library">libavcodec</systemitem>
- MPEG-4 vagy az <systemitem class="library">Xvid</systemitem>.
- (A haladóbb codec fejlesztÅket talán érdekelheti Michael
- Niedermayer véleménye, a
- "<ulink url="http://guru.multimedia.cx/?p=10">miért utáljuk az MPEG4-et</ulink>".)
- ValószÃnűleg az MPEG-4 ASP-vel jobb minÅséget érhetsz el, mint az
- MPEG-2 codec-ekkel.
- </para>
-
- <para>
- Bár az új codec-ek, melyek még erÅteljes fejlesztés alatt állnak,
- tartalmazhatnak hibákat, amiket még nem fedeztek fel és amik
- tönkretehetnek egy kódolást. Ez a hátránya az új dolgok használatának.
- </para>
-
- <para>
- Mint ahogy az is, hogy amikor új codec-et kezdesz használni, idÅt kell
- szánnod az opcióinak a megismerésére, hogy tudd, miket kell
- beállÃtanod a kÃvánt képminÅség eléréséhez.
- </para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">Hardveres kompatibilÃtás</emphasis>:
- Ãltalában sok idÅ kell, mÃg az asztali lejátszók elkezdenek támogatni
- egy új codec-et.
- Ennek eredménye, hogy a legtöbb csak MPEG-1 (mint a VCD, XVCD és KVCD),
- MPEG-2 (mint a DVD, SVCD és KVCD) és MPEG-4 ASP (mint a DivX, a
- <systemitem class="library">libavcodec</systemitem> LMP4-e és az
- <systemitem class="library">Xvid</systemitem>) lejátszására képes
- (Vigyázz: Legtöbbször nem ismerik az MPEG-4 ASP összes képességét).
- Nézd meg a lejátszód technikai specifikációját (ha van) vagy google-ozz
- körbe további információért.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Legjobb minÅség kontra kódolási idÅ</emphasis>:
- A már jó ideje létezŠcodec-ek (mint pl. a
- <systemitem class="library">libavcodec</systemitem> MPEG-4-e és az
- <systemitem class="library">Xvid</systemitem>) általában nagyon jól
- optimalizáltak mindenféle okos algoritmussal és SIMD assembly kóddal.
- Ezért a legjobb minÅség per kódolási idÅ arány felé tartanak.
- Azonban van néhány nagyon fejlett opció, amit ha engedélyezel, nagyon
- nagy mértékben lelassÃtják a kódolást csekély javulást produkálva.
- </para>
-
- <para>
- Ha a fantasztikus sebességet keresed, a codec alapértelmezett beállÃtásai
- körül nézelÅdj (azonban Ãgy is ajánlott kipróbálni egyéb opciókat,
- amiket ezen leÃrás más fejezetei emlÃtenek).
- </para>
-
- <para>
- Megfontolandó olyan codec-et választani, ami több-szálas módban
- dolgozza fel a forrást, azonban ez csak a több processzoros géppel
- rendelkezÅknek jelent elÅnyt.
- A <systemitem class="library">libavcodec</systemitem> MPEG-4 tudja
- ezt, de a sebességnövekedés eléggé korlátolt és egy kis negatÃv hatása
- van a képminÅségre.
- Az <systemitem class="library">Xvid</systemitem> több-szálas kódolása,
- melyet a <option>threads</option> opció kapcsol be, használható a
- kódolási sebesség — átlagban kb. 40-60%-os — növelésére,
- nagyon csekély vagy semmilyen képromlással.
- Az <systemitem class="library">x264</systemitem> is tudja a több-szálas
- kódolást, ami jelenleg CPU magonként 94%-kal gyorsÃtja fel a kódolást
- mÃg a PSNR-t kb. 0.005dB és 0.01dB közötti értékkel csökkenti.
- </para>
-</listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Egyéni igények</emphasis>:
- Itt válik a dolog a legirrálisabbá: ugyan azért, amiért sokan leragadtak
- a DivX 3-nál évekig, miközben az új codec-ek már csodákat műveltek,
- néhányan az <systemitem class="library">Xvid</systemitem>-et vagy a
- <systemitem class="library">libavcodec</systemitem> MPEG-4-ét részesÃtik
- elÅnyben az <systemitem class="library">x264</systemitem>-hez képest.
- </para>
- <para>
- A döntést magadnak kell meghoznod; ne hallgass azokra, akik egy codec-re
- esküsznek.
- Vegyél pár példa klippet nyers forrásokból és hasonlÃtsd össze a különbözÅ
- kódolási opciókat és codec-eket, hogy megtudd, melyik a legjobb neked.
- A legjobb codec mindig az, amelyikhez a legjobban értesz, amelyik
- a legjobban néz ki szerinted a monitorodon.
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
- <para>Ugyan az a kódolás nem biztos, hogy ugyan úgy néz ki valaki másnak
- a monitorán vagy ha más dekódolóval játszák le, ezért ellenÅrizd a
- kódolásaidat különbözÅ beállÃtások mellett történÅ lejátszással!
- </para></footnote>!
- </para>
-</listitem>
-</itemizedlist>
-
-<para>
-Kérjük, nézd meg a
-<link linkend="menc-feat-selecting-codec">codec-ek és konténer formátumok kiválasztásáról</link>
-szóló fejezetet a támogatott codec-ek listájához.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>Audió</title>
-
-<para>
-Az audió egy sokkal könnyebben megoldható probléma: ha számÃt a minÅség,
-akkor egyszerűen hagyd úgy, ahogy van.
-Még az AC-3 5.1 stream-ek is leginkább 448Kbit/s-osak és minden
-bitet megérnek. CsábÃtó lehet az audió jó minÅségű Vorbis-ba történÅ
-konvertálása, de az, hogy ma nincs egy A/V receiver-ed az AC-3 áteresztéshez,
-nem jelenti azt, hogy holnap sem lesz. KészÃts a jövÅben is használható
-DVD rip-eket az AC-3 stream megtartásával.
-Megtarthatod az AC-3 stream-et a <link linkend="menc-feat-mpeg4">kódolás közben</link>
-a videó stream-be történŠközvetlen átmásolással.
-Vagy ki is szedheted az AC-3 stream-et, hogy elkeverd valamilyen konténer
-formátumba, mint pl. a NUT vagy a Matroska.
-<screen>
-mplayer <replaceable>forras_fajl.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>hang.ac3</replaceable>
-</screen>
-a 129-es audió sávot kiszedi a <replaceable>sound.ac3</replaceable> nevű
-fájlba a <replaceable>source_file.vob</replaceable>-ból (NB: a DVD VOB
-fájlok általában különbözŠaudió számozást használnak, ami azt jelenti,
-hogy a 129-es VOB audio sáv a 2. audió sáv a fájlban).
-</para>
-
-<para>
-De néha tényleg nincs más választásod, mint tovább tömörÃteni a
-hangot Ãgy több bit jut a videóra.
-A legtöbb ember vagy MP3-at vagy Vorbis-t választ az audió tömörÃtéséhez.
-MÃg az utóbbi nagyon hely-takarékos codec, az MP3-nak jobb a hardveres
-lejátszók terén a támogatottsága, bár ez a trend változóban van.
-</para>
-
-<para>
-<emphasis>Ne</emphasis> használd a <option>-nosound</option>-ot ha
-audióval rendelkezÅ fájlt kódolsz, akkor se, ha az audiót késÅbb,
-elkülönÃtve kódolod és kevered.
-Bár ideális esetben működik, a <option>-nosound</option> opció okozhat
-némi problémát a parancssori kódolási beállÃtásaidban.
-Más szavakkal, a zene sáv megléte biztosÃtja a
-<quote>Too many audio packets in the buffer</quote> (Túl sok audió csomag
-a bufferban) és hasonló üzenetek elkerülését és a megfelelŠszinkront.
-</para>
-
-<para>
-Fel kell dolgoznod a <application>MEncoder</application>rel a hangot.
-Például az <option>-oac copy</option>-val átmásolhatod az eredeti hangsávot
-a kódolás közben vagy átkonvertálhatod "könnyű" 4 kHz-es mono WAV
-PCM-be a <option>-oac pcm -channels 1 -srate 4000</option> kapcsolóval.
-Különben bizonyos esetekben olyan videó fájlt fog létrehozni, amiben nem
-lesz szinkronban az audió.
-Akkor fordulhat elŠilyen eset, ha a videó kockák száma a forrás fájlban
-nem egyezik meg az audió keretek teljes hosszával vagy folyamatossági
-hiba/szakadás miatt hiányzó vagy extra audió keretek vannak a fájlban.
-A helyes megoldás ezen tÃpusú problémák kezelésére csend beillesztése vagy
-az audió keretek vágása ezeken a pontokon.
-Azonban a <application>MPlayer</application> ezt nem tudja megtenni, Ãgy
-ha az AC-3-at demuxálod és egy másik alkalmazással kódolod (vagy kimented
-PCM-be az <application>MPlayer</application>rel), a szeletek hibásan maradnak
-benne és csak képkocka eldobással/duplázással lehet javÃtani.
-AmÃg a <application>MEncoder</application> látja az audiót a videó kódolása
-közben, meg tudja csinálni ezt az eldobást/duplázást (ami általában rendben
-van, mert teljesen sötét/jelentet váltásos helyeken történik), de ha a
-<application>MEncoder</application> nem látja az audiót, csak feldolgoz
-minden képkockát úgy ahogy van és nem fog illeszkedni a végsŠaudió folyamhoz
-ha például összeilleszted az audió és a videó sávodat egy Matroska fájlba.
-</para>
-
-<para>
-Mindenek elÅtt át kell konvertálnod a DVD hangját WAV fájlba, hogy az audió
-codec használhassa bemenetként.
-Például:
-<screen>
-mplayer <replaceable>forras_fajl.vob</replaceable> -ao pcm:file=<replaceable>cel_hang.wav</replaceable> \
- -vc dummy -aid 1 -vo null
-</screen>
-ki fogja szedni a második audió sávot a <replaceable>source_file.vob</replaceable>
-fájlból a <replaceable>destination_sound.wav</replaceable> fájlba.
-Kódolás elÅtt valószÃnűleg normalizálni akarod a hangot, mivel a DVD
-audió sávjait legtöbbször alacsony hangerÅvel rögzÃtik.
-Használhatod a <application>normalize</application> eszközt, ami
-megtalálható a legtöbb disztribúcióban.
-Ha Windows-t használsz, egy eszköz, mint pl. a <application>BeSweet</application>
-megcsinálja ezt neked.
-Vagy Vorbis-ba vagy MP3-ba kódolsz.
-Például:
-<screen>oggenc -q1 <replaceable>cel_hang.wav</replaceable></screen>
-elkódolja a <replaceable>destination_sound.wav</replaceable>-ot az 1-es
-kódolási minsÅséggel, ami nagyjából megfelel 80Kb/s-nak és annak a
-minimum minÅségnek, amit legalább használnod kell, ha érdekel a minÅség.
-Kérlek jegyezd meg, hogy a <application>MEncoder</application> jelenleg
-nem tud Ogg Vorbis sávokat belekeverni a kimeneti fájlba, mert csak AVI
-és MPEG konténereket támogat kimenetként és mindkettÅnél audió/videó
-lejátszási szinkronizációs problémákat okozhat néhány lejátszóval, ha
-az AVI fájl VBR-es audió stream-et tartalmaz, mint pl. a Vorbis.
-De ne aggódj, ez a dokumentáció megmutatja, hogy hogy tudod
-ezt megcsinálni egyéb programokkal.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>Keverés</title>
-
-<para>
-Most, hogy elkódoltad a videódat, valószÃnűleg szeretnéd elkeverni egy
-vagy több audió sávval együtt egy film konténerbe, mint pl. az AVI,
-MPEG, Matroska vagy a NUT.
-A <application>MEncoder</application> jelenleg csak MPEG és AVI
-konténer formátumokba tud natÃv audió és videó kimenetet készÃteni.
-Például:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>kimenet_film.avi</replaceable> \
- -audiofile <replaceable>bemenet_audio.mp2</replaceable> <replaceable>bemenet_video.avi</replaceable></screen>
-Ez a <replaceable>bemenet_video.avi</replaceable> videó fájlból
-és a <replaceable>bemenet_audio.mp2</replaceable> audió fájlból
-elkészÃti a <replaceable>kimenet_film.avi</replaceable> fájlt.
-Ez a parancs működik MPEG-1 layer I, II és III (ismertebb nevén
-MP3) audióval, WAV és egy pár más audió formátummal.
-</para>
-
-<para>
-A <application>MEncoder</application>ben kÃsérleti jelleggel van
-<systemitem class="library">libavformat</systemitem> támogatás, ami
-az FFmpeg projektbÅl egy függvénykönyvtár, ami számos konténer keverését és
-demux-álását támogatja.
-Például:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>kimenet_film.asf</replaceable> -audiofile <replaceable>bemenet_audio.mp2</replaceable> \
- <replaceable>bemenet_video.avi</replaceable> -of lavf -lavfopts format=asf</screen>
-Ez ugyan azt csinálja, mint az elÅbbi példa, de a kimeneti
-konténer ASF lesz.
-Kérlek figyelj, hogy ez a támogatás még nagyon kÃsérleti (de minden
-nap egyre jobb lesz) és csak akkor működik, ha az
-<application>MPlayer</application>t a
-<systemitem class="library">libavformat</systemitem> támogatás
-bekapcsolásával fordÃtottad (ami azt jelenti, hogy az elÅre
-csomagolt binárisok a legtöbb esetben nem fognak működni).
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>A keverés és az A/V szinkron megbÃzhatóságának növelése</title>
-
-<para>
-Néhány súlyos A/V szinkron problémát tapasztalhatsz, ha a videódat
-valamilyen audió sávval akarod összekeverni, mégpedig azt, hogy akár
-hogyan állÃtod az audió késleltetést, soha nem lesz megfelelÅ a szinkron.
-Ez akkor történhet meg, ha olyan videó szűrÅt használsz, ami eldob vagy
-megdupláz képkockákat, mint pl. az inverz telecine szűrÅk.
-Javasolt a <option>harddup</option> videű szűrÅ hozzáillesztése a szűrÅ
-lánc végéhez ezen problémák elkerülése érdekében.
-</para>
-
-<para>
-A <option>harddup</option> nélkül ha a <application>MEncoder</application>
-meg akar duplázni egy képkockát, a keverÅre bÃzza a jelölés konténerbe
-helyezését, hogy az utolsó képkocka még egyszer megjelenjen a szinkron
-megtartása végett, aktuális képkocka Ãrása nélkül.
-A <option>harddup</option>-pal a <application>MEncoder</application>
-ehelyett egyszerűen csak újra átküldi a szűrŠláncon az utolsó
-megjelenÃtett képkockát.
-Ez azt jelenti, hogy a kódoló <emphasis>pontosan</emphasis> ugyan azt
-a képkockát kapja meg kétszer és tömörÃti be.
-Ez kicsit nagyobb fájlt eredményez, de nem okoz problémát demuxálásnál
-vagy másik konténer formátumba történŠújrakeverésnél.
-</para>
-
-<para>
-Nincs más választásod, mint a <option>harddup</option> használata az
-olyan konténer formátumokkal, amelyek nincsenek szoros összefüggésben
-a <application>MEncoder</application>rel. Ezek pl. azok, amelyeket a
-<systemitem class="library">libavformat</systemitem>-on keresztül
-támogat, ami nem támogatja a képkocka duplázást konténer szinten.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>Az AVI konténer korlátai</title>
-
-<para>
-Habár a legszélesebb körben támogatott konténer formátum az MPEG-1
-után, az AVI-nak is van néhány nagy hátránya.
-Talán a legnyilvánvalóbb a túlterhelés.
-Az AVi fájl minden egyes chunk-ja 24 bájtot pazarol a fejlécekre és
-az indexre.
-Ez egy kicsit több mint 5 MB óránként vagy 1-2,5% plusz egy 700 MB-os
-filmnél. Ez nem tűnik soknak, de eldöntheti, hogy 700 kbit/sec-os videót
-tudsz csak használni vagy 714 kbit/sec-osat, ahol minden bit a minÅségre
-megy.
-</para>
-
-<para>
-Ezen hatalmas hátrány mellett az AVI-nak a következŠfŠkorlátai vannak:
-</para>
-
-<orderedlist>
-<listitem><para>
- Csak fix-fps-ű tartalmat tud tárolni. Ez különleges korlátozás, ha
- az eredeti anyag, amit el akarsz kódolni, kevert tartalom, például
- NTSC videó és film anyag keveréke.
- Már vannak olyan hack-ek, amivel kevert framerátás tartalmat lehetne
- AVI-ba tenni, de ötszörös vagy még nagyobb mértékben növelik a (már
- amúgy is nagy) túlterhelést, Ãgy nem praktikusak.
-</para></listitem>
-<listitem><para>
- Az AVI fájlokban az audiónak vagy konstans-bitrátásnak (CBR) vagy
- konstans-képkocka méretűnek (pl. minden képkocka ugyan annyi számú
- mintát dekódol) kell lennie.
- Sajnos a leghatékonyabb codec, a Vorbis, egyik kÃvánalomnak sem
- felel meg.
- Ezért ha AVI-ban tárolod a filmjeidet, egy kevésbé hatékony
- codec-et kell használnod, mint pl. az MP3 vagy az AC-3.
-</para></listitem>
-</orderedlist>
-
-<para>
-A fentiek miatt a <application>MEncoder</application> jelenleg nem
-támogatja a változó-fps-es kimenetet vagy a Vorbis kódolást.
-Ãgy ezeket nem korlátozásként fogod fel, ha a
-<application>MEncoder</application> az egyetlen
-eszköz, mellyel kódolsz.
-Azonban lehetséges a <application>MEncoder</application>t csak
-a videó kódolására használni és valamilyen egyéb eszközzel
-elkódolni az audiót majd összekeverni Åket egy konténer formátumba.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>Keverés a Matroska konténerbe</title>
-
-<para>
-A Matroska szabad, nyÃlt szabványú konténer formátum, melynek
-célja, hogy rengeteg továbbfejlesztett képességet biztosÃtson,
-amit a régebbi konténerek, mint pl. az AVI nem tud kezelni.
-például a Matroska támogatja a változó bitrátás audió tartalmat
-(VBR), változó framerátát (VFR), fejezeteket, fájl csatolásokat,
-hiba keresŠkódot (EDC) és a modern A/V codec-eket, mint az
-"Advanced Audio Coding" (AAC), "Vorbis" vagy "MPEG-4 AVC" (H.264),
-szemben az AVI-val, amelyik egyiket sem.
-</para>
-
-<para>
-A Matroska fájlok készÃtéséhez szükséges eszközöket együtt
-<application>mkvtoolnix</application>-nek hÃvják és elérhetÅek a
-legtöbb Unix platformon, akárcsak <application>Windows</application>on.
-Mivel a Matroska nyÃlt szabványú, találhatsz más eszközöket is, amik
-jobban megfelelnek neked, de mivel az mkvtoolnix a leggyakrabban
-használt, és maga a Matroska csapat támogatja, csak ennek a
-használatát mutatjuk be.
-</para>
-
-<para>
-Talán a legegyszerűbb módszer, hogy elindulj a Matroska-val, az
-<application>MMG</application> használata, az
-<application>mkvtoolnix</application>-szel szállÃtott grafikus frontend
-és kövesd a
-<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">mkvmerge GUI (mmg) leÃrást</ulink>.
-</para>
-
-<para>
-A parancssor segÃtségével is összekverheted az audió és videó fájlokat:
-<screen>
-mkvmerge -o <replaceable>kimenet.mkv</replaceable> <replaceable>bemenet_video.avi</replaceable> <replaceable>bemenet_audio1.mp3</replaceable> <replaceable>bemenet_audio2.ac3</replaceable>
-</screen>
-Ez a <replaceable>bemenet_video.avi</replaceable> fájlt és a
-két audió fájlt, a <replaceable>bemenet_audio1.mp3</replaceable>-at
-és a <replaceable>bemenet_audio2.ac3</replaceable>-at összefűzi a
-<replaceable>kimenet.mkv</replaceable> Matroska fájlba.
-A Matroska, mint ahogy azt már megemlÃtettem, ennél sokkal többre
-képes, mint pl. több audió sáv használatára (beleértve az audió/videó
-szinkronizáció finom-hangolását), fejezetek, feliratok, vágás, stb...
-Kérlek olvasd el ezen alkalmazások dokumentációit a részletekért.
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-telecine">
-<title>Mit kezdjünk a telecine-nel és az átlapolással NTSC DVD-ken</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>Bevezetés</title>
-
-<formalpara>
-<title>Mi az a telecine?</title>
-<para>
-Ha nem érted teljesen, ami ebben a dokumentumban le van Ãrva, olvasd el a
-<ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia telecine szócikkét</ulink>.
-Ez egy érthetŠés meglehetÅsen átfogó leÃrás arról, hogy mi is az
-a telecine.
-</para></formalpara>
-
-<formalpara>
-<title>Megjegyzés a számokhoz.</title>
-<para>
-Sok dokumentáció, beleértve a fent belinkelt cikket is, az NTSC videó mezÅ
-per másodperc értékét 59.94-ként határozza meg, és a megfelelŠképkocka
-per másodperc értéket 29.97-nek (telecine-s és átlapolt) és 23.976-nak
-Ãrja (progresszÃv). Az egyszerűség kedvéért sok dokumentáció még ezeket
-a számokat is lekerekÃti 60-ra, 30-ra és 24-re.
-</para></formalpara>
-
-<para>
-Pontosan fogalmazva az összes szám csak közelÃtés. A fekete-fehér
-NTSC videó pontosan 60 mezÅ per másodperces volt, de késÅbb 60000/1001-et
-választottak, hogy a szÃn adatokat hozzáigazÃtsák, de kompatibilisek
-maradjanak a kortárs fekete-fehér televÃziókkal. A digitális NTSC videó
-(mint ami a DVD-n van) is 60000/1001 mezÅ per másodperces. EbbÅl származik,
-hogy az átlapolt és telecine-lt videó 30000/1001 képkocka per másodperces;
-a progresszÃv videó 24000/1001 képkocka per másodperces.
-</para>
-
-<para>
-A <application>MEncoder</application> dokumentációjának régebbi változatai
-és számos archivált levelezési listára küldött levél az 59.94-re, 29.97-re
-és a 23.976-ra hivatkozik. Az összes <application>MEncoder</application>
-dokumentáció frissÃtve lett a tört számokra és neked is ajánlatos ezeket
-használni.
-</para>
-
-<para>
-<option>-ofps 23.976</option> helytelen.
-<option>-ofps 24000/1001</option> használandó helyette.
-</para>
-
-<formalpara>
-<title>A telecine használata.</title>
-<para>
-Az összes videónak, amit NTSC televÃzión szándékoznak megjelenÃteni,
-60000/1001 mezÅ per másodperc sebességűnek kell lennie. A TV-nek készÃtett
-filmeket és show-kat gyakran direkt 60000/1001 mezŠper másodperces sebességgel
-fényképezik, de a mozifilmek nagy része 24 vagy 24000/1001 képkocka per
-másodperccel készül. Amikor a mozis film DVD-jét készÃtik, a videót egy
-telecine-nek nevezett eljárás keretében televÃziós formátumra konvertálják.
-</para></formalpara>
-
-<para>
-Egy DVD-n a videót tulajdonképpen soha sem 60000/1001 mezŠper
-másodperccel tárolják. Abban a videóban, ami eredetileg 60000/1001-es
-volt, egy pár mezŠalkot egy képkockát, 30000/1001 képkocka per
-másodperces sebességet eredményezve. A hardveres DVD lejátszók ezután
-beolvasnak egy, a videó folyamban benne lévÅ jelzÅt, hogy megállapÃtsák,
-hogy a páros vagy páratlan sorszámú sorok alkotják-e az elsÅ mezÅt.
-</para>
-
-<para>
-Ãltalában a 24000/1001 képkocka per másodperces tartalom változatlan
-marad, ha DVD-re kódolják és a DVD lejátszónak kell telecine-t
-végezni menet közben. De néha a videót a DVD-re mentés
-<emphasis>elÅtt</emphasis> telecine-lik, akkor is, ha eredetileg
-24000/1001 képkocka per másodperces volt, Ãgy 60000/1001 mezÅ per
-másodperces lesz, és a lemezen 30000/1001 képkocka per
-másodpercesként tárolódik.
-</para>
-
-<para>
-Ha megnézed az egyes képkockákat a 60000/1001 mezŠper másodperces
-videóban, telecine-lt vagy sem, az átlapolás tisztán látható bármilyen
-mozgásnál, mert az egyik mezÅ (mondjuk a páros sorszámú sorok) idÅben
-1/(60000/1001) másodperccel késÅbbi történést reprezentál, mint a másik.
-Ãtlapolt videó számÃtógépen történÅ lejátszáskor rondán néz ki, mert
-egyrészt a monitornak nagyobb a felbontása, másrészt mert a videót
-kockáról kockára mutatja meg, mezÅrÅl mezÅre történÅ lejátszás helyett.
-</para>
-
-<itemizedlist>
-<title>Megjegyzések:</title>
-<listitem><para>
- Ez a rész csak NTSC DVD-re vonatkozik, nem a PAL-ra.
-</para></listitem>
-<listitem><para>
- A <application>MEncoder</application> példa sorok a dokumentumban
- <emphasis role="bold">nem</emphasis> hétköznapi felhasználásra lettek
- Ãrva. Csak a legalapvetÅbb dolgokat mutatják, ami a megfelelÅ kategóriába
- tartozó videók kódolásához szükséges. A jó DVD rip-ek készÃtése vagy a
- <systemitem class="library">libavcodec</systemitem> finomhangolása a
- maximális minÅség eléréséhez nem tartozik ezen fejezet célkitűzései közé,
- nézd meg a <link linkend="encoding-guide">MEncoder kódolási útmutató</link>
- többi részét.
-</para></listitem>
-<listitem><para>
- Sok megjegyzés vonatkozik erre a leÃrásra, melyek Ãgy vannak jelölve:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-ident">
-<title>Hogyan állapÃtható meg egy videó tÃpusa</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>ProgresszÃv</title>
-
-<para>
-A progresszÃv videót eredetileg 24000/1001 fps-sel rögzÃtették és
-változtatás nélkül tárolják a DVD-n.
-</para>
-
-<para>
-Ha egy progressive DVD-t az <application>MPlayer</application>rel játszasz
-le, az <application>MPlayer</application> a következÅ sort fogja kiÃrni,
-amint a film lejátszása megkezdÅdik:
-<screen>
-demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
-</screen>
-magyarul:
-<screen>
-demux_mpg: 24000/1001 fps progresszÃv NTSC formátumot találtam, frameráta váltás.
-</screen>
-EttÅl a ponttól kezdve a demux_mpg soha sem mondhatja azt, hogy
-"30000/1001 fps NTSC formátumot" talált.
-</para>
-
-<para>
-Ha progresszÃv videót nézel, soha nem láthatod meg az átlapolást. De
-vigyázz, néha pár telecine-s bit belekeveredik oda, ahol nem számÃtasz
-rá. Ãn DVD-n lévÅ TV műsoroknál láttam egy másodpercnyi telecine-t
-minden jelenet váltáskor vagy véletlen helyeken történŠbelenézéskor.
-Egyszer láttam olyan DVD-t is, aminek az elsÅ fele progresszÃv volt,
-a második fele pedig telecine-s. Ha <emphasis>tényleg</emphasis>
-biztosra akarsz menni, átvizsgálhatod az egész filmet:
-<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-A <option>-benchmark</option> kapcsoló határása az
-<application>MPlayer</application> olyan gyorsan játsza le a
-filmet, amennyire csak lehetséges; a hardveredtÅl függÅen sokáig
-is eltarthat. Minden esetben, ha a demux_mpg frameráta váltást
-észlel, a fenti sor azonnal megmutatja neked a váltás idejét.
-</para>
-
-<para>
-Néha a progresszÃv videóra "soft-telecine"-ként
-hivatkoznak, mert a DVD lejátszónak kell ezt telecine-elnie.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Telecine-lt</title>
-
-<para>
-A telecine-lt videót eredetileg 24000/1001 fps-sel vették fel, de
-telecine-lve lett a DVD-re Ãrás <emphasis>elÅtt</emphasis>.
-</para>
-
-<para>
-Az <application>MPlayer</application> nem Ãr semmilyen
-frameráta változást, ha telecine-lt videót játszik le.
-</para>
-
-<para>
-Egy telecine-lt videó nézésekor átlapolási hibákat láthatsz, amik
-miatt "villoghat" a kép: ismétlÅdÅen megjelennek majd eltűnnek.
-Ezt jobban megfigyelheted Ãgy:
-<orderedlist>
-<listitem><screen>mplayer dvd://1</screen></listitem>
-<listitem><para>
- Menj egy mozgást ábrázoló részhez.
-</para></listitem>
-<listitem><para>
- Használd a <keycap>.</keycap> gombot az egy képkockával történÅ elÅreléptetéshez.
-</para></listitem>
-<listitem><para>
- Nézd meg az átlapoltnak látszó és a progresszÃvnak látszó képkockák
- mintáját. Ha a minta, amit látsz PPPII, PPPII, PPPII,... akkor a
- videó telecine-lt. Ha valami más mintát látsz, akkor a videót lehet,
- hogy egy másik, nem szabványos módszerrel telecine-lték;
- a <application>MEncoder</application> nem tudja veszteségmentesen
- átkonvertálni a nem-sabványos telecine-t progresszÃvba. Ha egyáltalán
- nem látsz semmilyen mintát, akkor valószÃnűleg átlapolt.
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Néha a DVD-ken lévŠtelecine-lt videót "hard-telecine"-nek
-is hÃvják. Mivel a hard-telecine már 60000/1001 mezÅ per másodperces,
-a DVD lejátszó mindenféle manipulálás nélkül játsza le a videót.
-</para>
-
-<para>
-A másik módszer a telecine-lt forrás felismerésére a forrás megtekintése
-a <option>-vf pullup</option> és <option>-v</option> kapcsolók
-parancssorhoz történÅ hozzáadásával. Ãgy megnézheted, hogy a
-<option>pullup</option> hogyan illeszkedik a képkockákhoz. Ha a forrás
-telecine-s, a konzolon egy 3:2-es mintát kell látnod, melyben
-<systemitem>0+.1.+2</systemitem> és <systemitem>0++1</systemitem> váltakozik.
-Ennek a technikának megvan az az elÅnye, hogy nem kell a forrást
-nézned az azonosÃtáshoz, ami akkor jó, ha automatizálni szeretnéd a
-kódolási folyamatot vagy távolról, lassú kapcsolaton keresztül
-szeretnéd megcsinálni.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Ãtlapolt</title>
-
-<para>
-Az átlapolt videót eredetileg 60000/1001 mezŠper másodperc sebességgel
-filmezték és 30000/1001 képkocka per másodperccel került fel a DVD-re. Az
-átlapolási effektus (gyakran "combing"-nak hÃvják) a mezÅ párok
-képkockává történÅ egyesÃtésének eredménye. Minden mezÅnek 1/(60000/1001)
-másodpercnyire kellene lennie egymástól, megjelenÃtésnél a különbség
-szemmel látható.
-</para>
-
-<para>
-Akár csak a telecine-s videóknál, az <application>MPlayer</application>nek
-a nem kell semmiféle frameráta változásról értesÃtenie átlapolt videók
-lejátszásakor.
-</para>
-
-<para>
-Ha egy átlapolt videót közelebbrÅl megnézel képkocka-léptetéssel a
-<keycap>.</keycap> gombot nyomogatva, megláthatod, hogy minden egyes
-képkocka átlapolt.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>Kevert progresszÃv és telecine</title>
-
-<para>
-Az összes "kevert progresszÃv és telecine" videót eredetileg 24000/1001
-képkocka per másodperccel rögzÃtették, de egyes részei utólag
-telecine-lve lettek.
-</para>
-
-<para>
-Ha az <application>MPlayer</application> ilyen videót játszik le,
-(sokszor ismétlÅdÅen) oda-vissza vált "30000/1001 fps NTSC" és
-"24000/1001 fps progresszÃv NTSC" között. Figyeld az
-<application>MPlayer</application> kimenetének alját, ott megláthatod
-az üzeneteket.
-</para>
-
-<para>
-Nézd meg a "30000/1001 fps NTSC" részeket, és meggyÅzÅdhetsz róla,
-hogy telecine-ltek, nem csak átlapoltak.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>Kevert progresszÃv és átlapolt</title>
-
-<para>
-"Kevert progresszÃv és átlapolt" tartalomnál a progresszÃv
-és az átlapolt videót összeillesztették.
-</para>
-
-<para>
-Ez a kategória ugyan úgy viselkedik, mint a "kevert progresszÃv és telecine",
-egészen addig, amÃg meg nem vizsgálod a 30000/1001 fps-es részeket
-és észre nem veszed, hogy nincs bennük telecine minta.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-encode">
-<title>Hogyan lehet elkódolni ezen kategóriákat</title>
-<para>
-Ahogy emlÃtettem az elején, például a <application>MEncoder</application>
-alábbi parancssorai <emphasis role="bold">nem</emphasis> igazán használhatóak;
-csak demonstrálják a minimum paramétereket az egyes kategóriák megfelelŠkódolásához.
-</para>
-
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>ProgresszÃv</title>
-<para>
-A progresszÃv videóhoz nem kell semmilyen különleges szűrés. Az egyetlen
-paraméterm, amit biztosan használnod kell, az a
-<option>-ofps 24000/1001</option>. Egyébként a <application>MEncoder</application>
-30000/1001 fps-sel és duplikált képkockákkal próbál kódolni.
-</para>
-
-<para>
-<screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
-Gyakran az az eset áll fenn, hogy a videó progresszÃvnek tűnik, de valójában
-nagyon rövid telecine-s részek vannak belekeverve. Ha nem vagy biztos
-a dolgodban, a legbiztonságosabb, ha
-<link linkend="menc-feat-telecine-encode-mixedpt">kevert progresszÃv és telecine-lt</link>
-videóként kezeled. A teljesÃtményvesztés kicsi
-<link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Telecine-lt</title>
-
-<para>
-A telecine visszafordÃtható, hogy megkapd az eredeti 24000/1001-es
-tartalmat, egy inverz-telecine-nek nevezett eljárással.
-Az <application>MPlayer</application> számos szűrÅvel rendelkezik ennek
-az elvégzéséhez; a legjobb szűrÅ a <option>pullup</option> le van Ãrva
-a <link linkend="menc-feat-telecine-encode-mixedpt">kevert progresszÃv és telecine</link>
-részben.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Ãtlapolt</title>
-
-<para>
-A legtöbb gyakorlati esetben nem lehetséges a teljes progresszÃv videó
-visszanyerése az átlapolt tartalomból. Az egyetlen út ehhez a függÅleges
-felbontás felének elvesztése nélkül a frameráta megduplázása és
-"megtippelni", hogy mi kellene minden egyes mezÅ megfelelÅ sorainak
-felépÃtéséhez (ennek vannak hátrányai - lásd a 3. módszert).
-</para>
-
-<orderedlist>
-<listitem><para>
- Kódold el a videót átlapolt formában. Normális esetben az átlapolás
- eléggé odavág a kódoló tömörÃtési képességeinek, de a
- <systemitem class="library">libavcodec</systemitem>nek van két
- paramétere speciálisan az átlapolt videó tárolásának egy kicsit jobb
- kezeléséhez: <option>ildct</option> és <option>ilme</option>. Az
- <option>mbd=2</option> használata is javasolt
- <link linkend="menc-feat-telecine-footnotes">[2] </link>, mert ez a
- makroblokkokat nem-átlapoltként fogja elkódolni azokon a helyeken, ahol
- nincs mozgás. Ãgyelj rá, hogy itt a <option>-ofps</option> NEM kell.
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
-</para></listitem>
-<listitem><para>
- Használj deinterlacing szűrÅt a kódolás elÅtt. Számos közül
- választhatsz, mindegyiknek megvan a maga elÅnye és hátránya.
- Lásd az <option>mplayer -pphelp</option> és az
- <option>mplayer -vf help</option> kimenetét, hogy megtudd, mit
- használhatsz (grep-pelj a "deint"-re), olvasd el Michael Niedermayer
- <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing szűrŠösszehasonlÃtását</ulink>,
- és keress az
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
- MPlayer levelezési listáin</ulink> a sok beszélgetés között, ami a
- különbözÅ szűrÅkrÅl szól.
- A frameráta itt sem változik, Ãgy nem kell a
- <option>-ofps</option>. A deinterlacing-et a vágás után
- <link linkend="menc-feat-telecine-footnotes">[1]</link> és a méretezés
- elÅtt kell elvégezni.
- <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
-</para></listitem>
-<listitem><para>
- Sajnos ez a kapcsoló hibás a <application>MEncoder</application>ben;
- talán a <application>MEncoder G2</application>-vel működni fog,
- de itt most még nem. Fagyásokat tapasztalhatsz. Egyébként a <option> -vf
- tfields</option> célja az lenne, hogy teljes képkockát készÃt
- mindegyik mezÅbÅl, ami miatt a frameráta 60000/1001 lesz. Ennek a
- megközelÃtésnek az az elÅnye, hogy soha nincs adatvesztés; habár
- mivel minden egyes kocka csak egy mezÅbÅl keletkezik, a hiányzó
- sorokat valahogy interpolálni kell. Igazából nincs jó módszer a
- hiányzó adat összegyűjtésére és Ãgy az eredmény kicsit úgy fog
- kinézni, mint amikor valamilyen deinterlacing szűrÅt használsz. A
- hiányzó sorok generálása egyéb dolgokat idéz elÅ, egyszerűen mivel
- az adat mennyisége megduplázódik. Ãgy, nagyobb kódolási bitráták
- szükségesek a minÅség megtartásához, és nagyobb CPU teljesÃtmény
- mind a kódoláshoz, mind a dekódoláshoz. A tfield-eknek számos különbözÅ
- opciójuk van az egyes képkockákban hiányzó sorok elÅállÃtásához. Ha
- ezt a módszert használod, akkor nézd meg a manual-t és válassz, hogy
- melyik opcióval néz ki legjobban az anyagod. Figyelj rá, hogy ha
- <option>tfield</option>-eket használsz,
- mind a <option>-fps</option>-nek, mind a <option>-ofps</option>-nek
- az eredeti forrásod framerátájának kétszeresét
- <emphasis role="bold">kell megadnod</emphasis>.
- <screen>
-mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
- -fps 60000/1001 -ofps 60000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- Ha drasztikus downscaling-et tervezel, kiszedhetsz és elkódolhatsz
- egy mezÅt is a kettÅ helyett. Természetesen Ãgy elveszÃted a
- függÅleges felbontás felét, de ha downscaling-et tervezel legfeljebb
- az eredeti 1/2-ével, a veszteség nem számottevÅ. Az eredmény egy
- progresszÃv 30000/1001 képkocka per másodperces fájl lesz. A
- helyes eljárás a <option>-vf field</option> használata, majd vágás
- <link linkend="menc-feat-telecine-footnotes">[1]</link> és
- megfelelÅ méretezés. Emlékezz, hogy be kell állÃtanod a méretarányt a
- felezett függÅleges felbontásnak megfelelÅen.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
-</para></listitem>
-</orderedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>Kevert progresszÃv és telecine</title>
-
-<para>
-Ahhoz, hogy egy kevert, progresszÃv és telecine-s videót teljesen
-progresszÃv videóvá konvertálj, a telecine-lt részeket
-inverz-telecine-elni kell. Ez háromféle képpen végezhetŠel,
-mint ahogy az lejjebb látható. Figyelj rá, hogy
-<emphasis role="bold">mindig</emphasis> az inverse-telecine legyen
-meg bármilyen átméretezés elÅtt; hacsak nem vagy teljesen biztos a
-dolgodban, és az inverse-telecine legyen a vágás elÅtt is
-<link linkend="menc-feat-telecine-footnotes">[1]</link>.
-A <option>-ofps 24000/1001</option> kell ide, mert a kimeneti videó 24000/1001
-képkocka per másodperc sebességű lesz.
-</para>
-
-<itemizedlist>
-<listitem><para>
- A <option>-vf pullup</option> a telecine-s részek inverz-telecine-léséhez
- lett tervezve úgy, hogy a progresszÃv adatokat érintetlenül hagyja.
- A helyes működéshez a <option>pullup</option>-ot
- a <option>softskip</option> szűrÅnek <emphasis role="bold">kell</emphasis>
- követnie, különben a <application>MEncoder</application> összeomlik.
- Ennek ellenére a <option>pullup</option> a legtisztább és legjobb
- módszer mind a telecine-s, mind a "kevert progresszÃv és telecine-s"
- videók elkódolásához.
- <screen>
-mencoder dvd://1 -oac copy -vf pullup,softskip
- -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- A <option>-vf filmdint</option> hasonló a
- <option>-vf pullup</option>-hoz: mindkét szűrŠmegpróbálja egyeztetni a
- mezÅpárokat, hogy azok egy komplett képkockát adjanak. A <option>filmdint</option>
- deinterlace-lni fogja az egyedi mezÅket, amelyeket nem tud egyeztetni,
- mÃg a <option>pullup</option> egyszerűen csak eldobja Åket. A két szűrÅ
- különbözÅ detektáló kódot alkalmaz és a <option>filmdint</option> néha túl kevés mezÅt
- egyeztet. Az, hogy melyik szűrŠa jobb, a bemeneti videótól és az egyéni
- ÃzléstÅl függ; kÃsérletezz szabadon a szűrÅk opcióinak finomhangolásával,
- ha valamelyikkel problémád van (lásd a man oldalt a részletekért).
- A legtöbb jól elkészÃtett bemeneti videónál mindkettÅ eléggé jól működik,
- Ãgy bármelyik jó választás lehet a kezdéshez.
- <screen>
-mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- A régebbi módszer, a telecine-s részek inverz-telecine-lése
- helyett a nem-telecine-s részek telecine-lése majd a teljes
- videó inverz-telecine-lése. Zavarosan hangzik? A softpulldown
- egy olyan szűrÅ, ami végigmegy a videón és a teljes fájlt
- telecine-li. Ha a softpulldown-t vagy <option>detc</option>
- vagy <option>ivtc</option> követi, a végsŠeredmény teljesen
- progresszÃv lesz. A <option>-ofps 24000/1001</option>
- kapcsolót meg kell adni.
- <screen>
-mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
- </screen>
-</para></listitem>
-
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>Kevert progresszÃv és átlapolt</title>
-
-<para>
-Két módon kezelheted ezt a kategóriát, mindkettŠkompromisszum.
-Az idÅtartam/hely alapján kell döntened.
-</para>
-
-<itemizedlist>
-<listitem><para>
- Kezeld úgy, mintha progresszÃv lenne. Az átlapolt részek átlapoltnak
- látszanak és néhány átlapolt mezÅt el kell dobni, ami egyenletlen
- ugrásokat eredményez. Használhatsz utófeldolgozó szűrÅt, ha akarsz,
- de ez kissé rontja a progresszÃv részeket.
- </para>
-
- <para>
- Ez az opció használhatatlan akkor, ha a videót egy átlapolt eszközön
- akarod megjelenÃteni (TV kártyával például). Ha átlapolt képkockáid
- vannak 24000/1001 képkocka per másodperces videóban, telecine-lve
- lesznek a progresszÃv képkockákkal együtt. Az átlapolt "képkockák"
- fele három mezŠhosszon lesz látható (3/(60000/1001) másodperc), ami
- ugráló "visszaugrás az idÅben" effektust hoz létre, ami
- nagyon rosszul néz ki. Ha mégis kÃsérletezel ezzel, használnod
- <emphasis role="bold">kell</emphasis> egy deinterlacing szűrÅt, mint
- pl. az <option>lb</option> vagy az <option>l5</option>.
- </para>
-
- <para>
- Rossz ötlet a progresszÃv megjelenÃtéshez is. Eldobja az egymást
- követŠátlapolt mezÅpárokat, megszakÃtva ezzel a folyamatosságot,
- ami sokkal szembetűnÅbb, mint a második módszer, ami néhány
- progresszÃv képkockát duplán mutat. A 30000/1001 képkocka per
- másodperces átlapolt videó amúgy is egy kicsit fodrozódó mert
- igazából 60000/1001 mezŠper másodperc sebességgel kellene
- megjelenÃteni, Ãgy a duplikált képkockák nem látszanak annyira.
- </para>
-
- <para>
- Mindkét esetben érdemes megnézni a tartalmat és eldönteni, hogy
- hogyan szeretnéd megjelenÃteni. Ha a videó 90%-ban progresszÃv és
- soha nem akarod TV-n lejátszani, akkor a progresszÃv megközelÃtést
- fogod elÅnyben részesÃteni. Ha csak félig progresszÃv, akkor
- valószÃnűleg átlapoltként akarod elkódolni az egészet.
- </para>
-</listitem>
-
-<listitem><para>
- Kezeld teljesen átlapoltként. A progresszÃv részekben néhány
- képkockát meg kell duplázni, ami egyenlÅtlen ugrásokat eredményez.
- De hangsúlyozom, a deinterlacing szűrÅk rontják a progresszÃv részeket.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Lábjegyzet</title>
-
-<orderedlist>
-<listitem>
- <formalpara>
- <title>A vágásról:</title>
- <para>
- A videó adatot a DVD-ken egy úgynevezett YUV 4:2:0 formátumban tárolják.
- A YUV videóban a luma ("fényerÅ") és a chroma ("szÃn")
- külön tárolódik. Mivel az emberi szem valamivel érzéketlenebb a szÃnre,
- mint a fényerÅre, a YUV 4:2:0 képen csak egy chroma pixel jut minden
- négy luma pixelre. Egy progresszÃv képen minden négy luma pixel által
- alkotott négyzetben (kettŠmindkét oldalon) egy közös chroma pixel van.
- A progresszÃv YUV 4:2:0-t le kell vágnod páros felbontásúra és páros
- offszetet kell használnod. Például a
- <option>crop=716:380:2:26</option> jó de a
- <option>crop=716:380:3:26 </option> nem.
- </para>
- </formalpara>
-
- <para>
- Ha átlapolt YUV 4:2:0-lal van dolgod, a szituáció egy kicsit bonyolódik.
- Ahelyett, hogy az egy <emphasis>képkockában</emphasis> lévŠmind a
- négy luma pixel osztozna egy chroma pixelen, a <emphasis>mezÅben</emphasis>
- lévÅ négy luma osztozik egy chroma pixelen. Ha a mezÅk át vannak
- lapolva egy képkocka felépÃtéséhez, minden egyes scanline egy pixel
- magas. Nos, ahelyett, hogy a négy luma pixel egy négyszögben lenne,
- két pixel van egymás mellett, a másik kettŠkét scanline-nal lejjebb
- van egymás mellett. A két luma pixel a közbeesŠscanline-on a másik
- mezÅbÅl van és Ãgy egy másik chroma pixel tartozik hozzájuk és két
- darab, két scanline távolságra lévŠluma pixel. Mindezen keverés teszi
- szükségessé azt, hogy a függÅleges vágási dimenzióknak és az offszeteknek
- néggyel oszthatóaknak kell lenniük. A vÃzszintes maradhat páros.
- </para>
-
- <para>
- A telecine-lt videóknál javaslom, hogy a vágást az inverz telecine
- után ejtsd meg. Ha a videó már progresszÃv, csak páros számokkal el
- kell vágnod. Ha ki akarod használni azt a sebességnövekedést, amit a
- vágás rejteget magában, akkor függÅlegesen négy többszörösével kell
- vágnod, különben az inverz-telecine szűrŠnem kap megfelelŠadatokat.
- </para>
-
- <para>
- Az átlapolt (nem telecine-lt) videónál függÅlegesen mindig négy
- többszörösével kell vágnod, hacsak nem használod a <option>-vf
- field</option>-et a vágás elÅtt.
- </para>
-</listitem>
-
-<listitem><formalpara>
- <title>A kódolási paraméterekrÅl és a minÅségrÅl:</title>
- <para>
- Csak mert itt javasoltam az <option>mbd=2</option>-t, nem jelenti
- azt, hogy máshol ne lehetne használni. A <option>trell</option>-lel
- együtt az <option>mbd=2</option> egyike a két <systemitem
- class="library">libavcodec</systemitem> kapcsolóknak, amik legjobban
- növelik a minÅséget és igazából mindig ajánlott ezt a kettÅt
- használni, kivéve ha tilos a kódolási sebesség rontása (pl. valós
- idejű kódolás). Még számos egyéb opciója van a <systemitem
- class="library">libavcodec</systemitem>-nek, ami növeli a kódolás
- minÅségét (és csökkenti a kódolás sebességét) de az már túlmutat ezen
- dokumentum célkitűzésein.
- </para>
-</formalpara></listitem>
-
-<listitem><formalpara>
- <title>A pullup teljesÃtményérÅl:</title>
- <para>
- Bátran használhatod a <option>pullup</option>-ot (a <option>softskip</option>pel
- együtt) a progresszÃv videókon és ez általában jó ötlet, hacsak a forrás
- nem egyértelműen teljesen progresszÃv. A teljesÃtmény veszteség kicsi az
- esetek többségében. Nagyon ritka kódolási esetekben a <option>pullup</option>
- a <application>MEncoder</application> 50%-os lassulását okozhatja.
- A zenefeldolgozás hozzáadása és a fejlett <option>lavcopts</option>
- háttérbe szorÃtja ezt a különbséget, a <option>pullup</option> miatti
- teljesÃtményromlást 2%-ra csökkentve.
- </para>
-</formalpara></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Kódolás a <systemitem class="library">libavcodec</systemitem>
- codec családdal</title>
-
-<para>
-A <systemitem class="library">libavcodec</systemitem>
-számos érdekes videó és audió formátumba történÅ egyszerű kódolást biztosÃt.
-A következŠcodec-ekbe kódolhatsz (többé-kevésbé friss lista):
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title>A <systemitem class="library">libavcodec</systemitem>
- videó codec-jei</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
- <row><entry>Videó codec neve</entry><entry>LeÃrás</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mjpeg</entry>
- <entry>Motion JPEG</entry>
-</row>
-<row>
- <entry>ljpeg</entry>
- <entry>veszteségmentes JPEG</entry>
-</row>
-<row>
- <entry>jpegls</entry>
- <entry>JPEG LS</entry>
-</row>
-<row>
- <entry>targa</entry>
- <entry>Targa kép</entry>
-</row>
-<row>
- <entry>gif</entry>
- <entry>GIF kép</entry>
-</row>
-<row>
- <entry>bmp</entry>
- <entry>BMP kép</entry>
-</row>
-<row>
- <entry>png</entry>
- <entry>PNG kép</entry>
-</row>
-<row>
- <entry>h261</entry>
- <entry>H.261</entry>
-</row>
-<row>
- <entry>h263</entry>
- <entry>H.263</entry>
-</row>
-<row>
- <entry>h263p</entry>
- <entry>H.263+</entry>
-</row>
-<row>
- <entry>mpeg4</entry>
- <entry>ISO szabvány MPEG-4 (DivX, Xvid kompatibilis)</entry>
-</row>
-<row>
- <entry>msmpeg4</entry>
- <entry>szabvány elÅtti MPEG-4 variáns az MS-tÅl, v3 (AKA DivX3)</entry>
-</row>
-<row>
- <entry>msmpeg4v2</entry>
- <entry>szabvány elÅtti MPEG-4 az MS-tÅl, v2 (régi ASF fájlokban használják)</entry>
-</row>
-<row>
- <entry>wmv1</entry>
- <entry>Windows Media Video, 1-es verzió (AKA WMV7)</entry>
-</row>
-<row>
- <entry>wmv2</entry>
- <entry>Windows Media Video, 2-es verzió (AKA WMV8)</entry>
-</row>
-<row>
- <entry>rv10</entry>
- <entry>RealVideo 1.0</entry>
-</row>
-<row>
- <entry>rv20</entry>
- <entry>RealVideo 2.0</entry>
-</row>
-<row>
- <entry>mpeg1video</entry>
- <entry>MPEG-1 videó</entry>
-</row>
-<row>
- <entry>mpeg2video</entry>
- <entry>MPEG-2 videó</entry>
-</row>
-<row>
- <entry>huffyuv</entry>
- <entry>veszteségmentes tömörÃtés</entry>
-</row>
-<row>
- <entry>ffvhuff</entry>
- <entry>FFmpeg által módosÃtott veszteségmentes huffyuv</entry>
-</row>
-<row>
- <entry>asv1</entry>
- <entry>ASUS Video v1</entry>
-</row>
-<row>
- <entry>asv2</entry>
- <entry>ASUS Video v2</entry>
-</row>
-<row>
- <entry>ffv1</entry>
- <entry>az FFmpeg veszteségmentes videó codec-je</entry>
-</row>
-<row>
- <entry>svq1</entry>
- <entry>Sorenson video 1</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Flash Videókban használt Sorenson H.263</entry>
-</row>
-<row>
- <entry>flashsv</entry>
- <entry>Flash Screen Video</entry>
-</row>
-<row>
- <entry>dvvideo</entry>
- <entry>Sony Digital Video</entry>
-</row>
-<row>
- <entry>snow</entry>
- <entry>az FFmpeg kÃsérleti wavelet-alapú codecja</entry>
-</row>
-<row>
- <entry>zmbv</entry>
- <entry>Zip Motion Blocks Video</entry>
-</row>
-<row>
- <entry>dnxhd</entry>
- <entry>AVID DNxHD</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-Az elsÅ oszlop a codec neveket tartalmazza, amit a
-<literal>vcodec</literal> opció után kell megadni, például:
-<option>-lavcopts vcodec=msmpeg4</option>
-</para>
-
-<informalexample><para>
-Egy példa MJPEG tömörÃtéssel:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy
-</screen>
-</para></informalexample>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title>A <systemitem class="library">libavcodec</systemitem>
- audió codec-jei</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Audió codec neve</entry><entry>LeÃrás</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>ac3</entry>
- <entry>Dolby Digital (AC-3)</entry>
-</row>
-<row>
- <entry>adpcm_*</entry>
- <entry>AdaptÃv PCM formátumok - lásd a mellékelt táblázatot</entry>
-</row>
-<row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
-</row>
-<row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
-</row>
-<row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) - FAAC használatával</entry>
-</row>
-<row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 full rate</entry>
-</row>
-<row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
-</row>
-<row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) - LAME használatával</entry>
-</row>
-<row>
- <entry>mp2</entry>
- <entry>MPEG-1 audio layer 2 (MP2)</entry>
-</row>
-<row>
- <entry>pcm_*</entry>
- <entry>PCM formats - lásd a mellékelt táblázatot</entry>
-</row>
-<row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
-</row>
-<row>
- <entry>sonic</entry>
- <entry>kÃsérleti FFmpeg veszteséges codec</entry>
-</row>
-<row>
- <entry>sonicls</entry>
- <entry>kÃsérleti FFmpeg veszteségmentes codec</entry>
-</row>
-<row>
- <entry>vorbis</entry>
- <entry>Xiph Ogg Vorbis codec</entry>
-</row>
-<row>
- <entry>wmav1</entry>
- <entry>Windows Media Audio v1</entry>
-</row>
-<row>
- <entry>wmav2</entry>
- <entry>Windows Media Audio v2</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-Az elsÅ oszlop a codec neveket tartalmazza, amit az <literal>acodec</literal>
-opció után kell megadni, például: <option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample><para>
-Egy példa AC-3 tömörÃtéssel:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy
-</screen>
-</para></informalexample>
-
-<para>
-Ellentétben a <systemitem class="library">libavcodec</systemitem> videó
-codec-jeivel, az audió codec-jei nem használnak el annyi bit-et, amennyit
-szánsz nekik, mivel hiányzik belÅlük némi minimális pszichoakusztikus modell
-(ha van egyáltalán), ami a legtöbb egyéb codec implementációban benne van.
-Azonban vedd figyelembe, hogy ezek az audió codec-ek nagyon gyorsak és
-azonnal használhatóak bárhol, ahol a <application>MEncoder</application>t
-a <systemitem class="library">libavcodec</systemitem>-kel együtt fordÃtották
-le (ami a legtöbb esetben Ãgy van), és nem függ külsÅ függvénykönyvtáraktól.
-</para>
-
-<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
-<title>PCM/ADPCM formátum kiegészÃtÅ táblázat</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>PCM/ADPCM codec neve</entry><entry>LeÃrás</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>pcm_s32le</entry>
- <entry>elÅjeles 32-bit-es little-endian</entry>
-</row>
-<row>
- <entry>pcm_s32be</entry>
- <entry>elÅjeles 32-bit-es big-endian</entry>
-</row>
-<row>
- <entry>pcm_u32le</entry>
- <entry>elÅjel nélküli 32-bit-es little-endian</entry>
-</row>
-<row>
- <entry>pcm_u32be</entry>
- <entry>elÅjel nélküli 32-bit-es big-endian</entry>
-</row>
-<row>
- <entry>pcm_s24le</entry>
- <entry>elÅjeles 24-bit-es little-endian</entry>
-</row>
-<row>
- <entry>pcm_s24be</entry>
- <entry>elÅjeles 24-bit-es big-endian</entry>
-</row>
-<row>
- <entry>pcm_u24le</entry>
- <entry>elÅjel nélküli 24-bit-es little-endian</entry>
-</row>
-<row>
- <entry>pcm_u24be</entry>
- <entry>elÅjel nélküli 24-bit-es big-endian</entry>
-</row>
-<row>
- <entry>pcm_s16le</entry>
- <entry>elÅjeles 16-bit-es little-endian</entry>
-</row>
-<row>
- <entry>pcm_s16be</entry>
- <entry>elÅjeles 16-bit-es big-endian</entry>
-</row>
-<row>
- <entry>pcm_u16le</entry>
- <entry>elÅjel nélküli 16-bit-es little-endian</entry>
-</row>
-<row>
- <entry>pcm_u16be</entry>
- <entry>elÅjel nélküli 16-bit-es big-endian</entry>
-</row>
-<row>
- <entry>pcm_s8</entry>
- <entry>elÅjeles 8-bit-es</entry>
-</row>
-<row>
- <entry>pcm_u8</entry>
- <entry>elÅjel nélküli 8-bit-es</entry>
-</row>
-<row>
- <entry>pcm_alaw</entry>
- <entry>G.711 A-LAW </entry>
-</row>
-<row>
- <entry>pcm_mulaw</entry>
- <entry>G.711 μ-LAW</entry>
-</row>
-<row>
- <entry>pcm_s24daud</entry>
- <entry>elÅjeles 24-bit-es D-Cinema Audio formátum</entry>
-</row>
-<row>
- <entry>pcm_zork</entry>
- <entry>Activision Zork Nemesis</entry>
-</row>
-<row>
- <entry>adpcm_ima_qt</entry>
- <entry>Apple QuickTime</entry>
-</row>
-<row>
- <entry>adpcm_ima_wav</entry>
- <entry>Microsoft/IBM WAVE</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk3</entry>
- <entry>Duck DK3</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk4</entry>
- <entry>Duck DK4</entry>
-</row>
-<row>
- <entry>adpcm_ima_ws</entry>
- <entry>Westwood Studios</entry>
-</row>
-<row>
- <entry>adpcm_ima_smjpeg</entry>
- <entry>SDL Motion JPEG</entry>
-</row>
-<row>
- <entry>adpcm_ms</entry>
- <entry>Microsoft</entry>
-</row>
-<row>
- <entry>adpcm_4xm</entry>
- <entry>4X Technologies</entry>
-</row>
-<row>
- <entry>adpcm_xa</entry>
- <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
-</row>
-<row>
- <entry>adpcm_ea</entry>
- <entry>Electronic Arts</entry>
-</row>
-<row>
- <entry>adpcm_ct</entry>
- <entry>Creative 16->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_swf</entry>
- <entry>Adobe Shockwave Flash</entry>
-</row>
-<row>
- <entry>adpcm_yamaha</entry>
- <entry>Yamaha</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_4</entry>
- <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_3</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_2</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
-</row>
-<row>
- <entry>adpcm_thp</entry>
- <entry>Nintendo GameCube FMV THP</entry>
-</row>
-<row>
- <entry>adpcm_adx</entry>
- <entry>Sega/CRI ADX</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect3>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>A libavcodec kódolási opciói</title>
-
-<para>
-Ideális esetben szeretnéd, ha csak azt kellene mondani a kódolónak,
-hogy váltson "jobb minÅségre" és kész.
-Ez szép is lenne, de sajnos nehezen megvalósÃtható, mert a különbözÅ
-kódolási opciók különbözÅ minÅséget eredményeznek, mely függ a forrás
-anyagtól is.
-Ez azért van, mert a tömörÃtés függ a szóbanforgó videó vizuális tulajdonságaitól.
-Például az Anime és az élŠfelvétel két nagyon különbözŠanyag és
-Ãgy különbözÅ opciókat követelnek meg az optimális kódoláshoz.
-A jó hÃr, hogy néhány opciót soha sem lehet elhagyni, mint például az
-<option>mbd=2</option>, <option>trell</option> és <option>v4mv</option>.
-Olvass tovább a gyakori kódolási opciók leÃrásához.
-</para>
-
-<itemizedlist>
-<title>ÃllÃtható opciók:</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis>: 1 vagy 2 a jó, a filmtÅl
- függÅen.
- Figyelj rá, hogy úgy kell kódolnod, hogy DivX5-tel dekódolható legyen az
- eredmény, aktiválnod kell a zárt GOP támogatást a
- <systemitem class="library">libavcodec</systemitem> <option>cgop</option>
- opciójával, de ki kell kapcsolnod a jelenet detektálást, ami
- nem túl jó ötlet, mivel rontja a kódolási hatékonyságot egy kicsit.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis>: segÃt a gyors mozgású jeleneteknél.
- Néhány videónál a vmax_b_frames rontja a minÅséget, de a vmax_b_frames=2 a
- vb_strategy=1-gyel együtt segÃt.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">dia</emphasis>: mozgás keresŠtartomány. A nagyobb a
- jobb és a lassabb.
- NegatÃv értékek teljesen más skálát adnak.
- A jó értékek -1 a gyors kódoláshoz vagy 2-4 a lassabbhoz.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">predia</emphasis>: mozgás keresÅ elÅre-lépés.
- Nem olyan fontos, mint a dia. Jó értékek 1-tÅl (alapértelmezett) 4-ig.
- preme=2 kell hozzá, hogy igazán hasznos legyen.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: ÃsszehasonlÃtó funkciók
- a mozgás becsléshez.
- KÃsérletezz a 0 (alapértelmezett), 2 (hadamard), 3 (dct) és 6 (ráta
- torzÃtás) értékekkel!
- 0 a leggyorsabb és és elegendŠa precmp-hez.
- A cmp-hez és subcmp-hez 2 jó, ha Anime és 3 ha élŠakció.
- A 6 vagy jobb vagy nem, de mindenképpen lassabb.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis>: Az elÅzÅ képkockából megjósolandó
- mozgások száma.
- 1-3 vagy hasonló segÃt egy kis sebességcsökkenés árán.
- A magasabb értékek lassúak, de igazi hasznuk nincs.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis>: A makroblokkok kiválasztását
- irányÃtja. Egy kis sebességcsökkenés egy kis minÅségjavulásért.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qprd</emphasis>: adaptÃv kvantálás, mely a makroblokk
- komplexitásán alapul.
- Vagy segÃt vagy nem, a videó és egyéb opciók függvényében.
- Ennek lehetnek mellékhatásai, hacsak nem állÃtod be a vqmax-ot valami
- ésszerűen alacsony értékre (a 6 jó, talán minimum 4); a vqmin=1 is segÃthet.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qns</emphasis>: nagyon lassú, különösen ha a
- qprd-vel kombinálod.
- Ezen opció hatására a kódoló minimalizálja a zajt tömörÃtési mellékhatásokkal,
- ahelyett, hogy a szigorúan a forráshoz próbálna igazodni.
- Ne használd ezt, csak ha már minden mást kipróbáltál és az eredmény még
- mindig nem elég jó.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis>: RátaÃrányÃtás beállÃtása.
- Hogy milyen értékek jók, az a filmtÅl függ.
- Nyugodtan elhagyhatod ezt, ha akarod.
- A vqcomp csökkentése több bitet engedélyez az alacsony komplexitású részeknél,
- a növelése a nagy komplexitású részekre teszi Åket (alapértelmezés: 0.5,
- tartomány: 0-1, javasolt tartomány: 0.5-0.7).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: BeállÃtja a szimpla együttható
- eliminációs küszöböt a fényerÅsséghez és a chroma plane-khez.
- Ezt elkülönÃtve kódolja le minden MPEG-szerű algorÃtmus.
- Az ötlet emögött az opció mögött az, hogy egy jó heurisztikát használnak
- annak megállapÃtására, hogy a blokkban történt változás kisebb-e, mint az
- általad megadott küszöb és ebben az esetben egyszerűen "változtatás nélkül"
- kerül elkódolásra a blokk.
- Ez biteket ment meg és talán gyorsÃt is a kódoláson. A vlelim=-4 és
- vcelim=9 látszólag jók az élÅ filmekhez, de nem segÃtenek az Anime-nál;
- ha animációt kódolsz, inkább hagyd Åket változatlanul.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>: Negyed pixel mozgás becslés.
- Az MPEG-4 fél pixeles precÃziót használ a mozgáskereséshez alapértelmezésként,
- ezért ez az opció plusz terhelést hoz, mivel több információ tárolódik az
- elkódolt fájlban. A tömörÃtési nyereség/veszteség a filmtÅl függ, de
- általában nem hatékony Anime-oknál.
- A qpel mindig jelentÅs dekódolási CPU idÅ igénnyel jár (+25% a gyakorlatban).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">psnr</emphasis>: nem érinti az aktuális kódolást,
- de készÃt egy log fájlt, mely megadja minden képkocka tÃpusát/méretét/minÅségét
- és a végére odaÃrja a PSNR-t (Peak Signal to Noise Ratio, Zajarány csúcspontja).
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Opciók, melyekkel nem javasolt játszadozni:</title>
-<listitem><para>
- <emphasis role="bold">vme</emphasis>: Az alapértelmezett a legjobb.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Pszichovizuális
- adaptÃv kvantálás.
- Ne játszadozz ezekkel az opciókkal, ha számÃt a minÅség.
- Az ésszerű értékek jók lehetnek a te esetedben, de vigyázz, ez nagyon
- szubjektÃv.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis>: Megpróbálja megelÅzni a
- blokkos mellékhatásokat, de az utófeldolgozás jobb.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>Kódolás beállÃtási példák</title>
-
-<para>
-A következÅ beállÃtások példák különbözÅ kódolási opciók
-kombinációjára, amik a sebesség vs minÅség kérdést döntÅen
-befolyásolják ugyanazon cél bitráta mellett.
-</para>
-
-<para>
-Az összes kódolási beállÃtást egy 720x448 @30000/1001 fps-es példa
-videón teszteltük, a cél bitráta 900kbps volt, a gép pedig egy
-AMD-64 3400+ 2400 MHz-en 64 bites módban.
-Mindegyik kódolási beállÃtás tartalmazza a kódolási sebességet
-(képkocka per másodpercben) és a PSNR veszteséget (dB-ben) a
-"nagyon jó minÅséghez" viszonyÃtva.
-Kérlek vedd figyelembe, hogy a forrásanyagodtól, a géped tÃpusától
-és a fejlesztésektÅl függÅen különbözÅ eredményeket kaphatsz.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>LeÃrás</entry>
- <entry>Kódolási opciók</entry>
- <entry>sebesség (fps-ben)</entry>
- <entry>RelatÃv PSNR veszteség (dB-ben)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Nagyon jó minÅség</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Jó minÅség</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15fps</entry>
- <entry>-0.5dB</entry>
-</row>
-<row>
- <entry>Gyors</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42fps</entry>
- <entry>-0.74dB</entry>
-</row>
-<row>
- <entry>Valós idejű</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54fps</entry>
- <entry>-1.21dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="custommatrices">
-<title>Egyedi inter/intra matricák</title>
-
-<para>
-A <systemitem class="library">libavcodec</systemitem>
-ezen képességével egyedi inter (I-frame/kulcs frame) és intra
-(P-frame/jósolt frame) matricákat állÃthatsz be. Több codec támogatja ezt:
-az <systemitem>mpeg1video</systemitem> és <systemitem>mpeg2video</systemitem>
-a jelentések szerint működik.
-</para>
-
-<para>
-Ennek egy tipikus felhasználása a <ulink url="http://www.kvcd.net/">KVCD</ulink>
-által javasolt matricák beállÃtása.
-</para>
-
-<para>
-Egy <emphasis role="bold">KVCD "Notch" Kvantálási Mátrix:</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-Használat:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \
- -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>Példa</title>
-
-<para>
-Nos hát, éppen most vetted meg a Harry Potter és a titkok kamrája gyönyörű
-új példányát (widescreen edition természetesen) és le akarod rip-pelni
-ezt a DVD-t, hogy hozzáadhasd a PC-s házimozidhoz. Ez egy régió 1-es
-DVD, Ãgy NTSC-s. Az alábbi példa egyszerűen alkalmazható PAL-ra is, a
-<option>-ofps 24000/1001</option> kapcsoló elhagyásával (mert a kimeneti
-frameráta ugyan annyi, mint a bemeneti) és természetesen a vágás méretei
-is mások lesznek.
-</para>
-
-<para>
-Miután lefuttattad az <option>mplayer dvd://1</option> parancsot, kövesd
-a <link linkend="menc-feat-telecine">mit kezdjünk a telecine-nel és az
-átlapolással NTSC DVD-ken</link> részben leÃrt utasÃtásokat és fedezd
-fel, hogy ez egy 24000/1001 fps-es progresszÃv videó, ami azt jelenti,
-hogy nem kell inverz telecine szűrÅt használnod, mint pl. a
-<option>pullup</option> vagy a <option>filmdint</option>.
-</para>
-
-<para id="menc-feat-dvd-mpeg4-example-crop">
-KövetkezÅnek megállapÃtjuk a megfelelÅ vágási téglalapot, Ãgy használjuk a
-cropdetect szűrÅt:
-<screen>mplayer dvd://1 -vf cropdetect</screen>
-GyÅzÅdj meg róla, hogy egy teljesen kitöltött képkockán állsz (pl. egy világos
-jelenet a nyitó képek és logók után), ezt fogod látni az
-<application>MPlayer</application> konzol kimenetén:
-<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-Ezután lejátszuk a filmet ezzel a szűrÅvel a számok ellenérzéséhez:
-<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-Ãs azt látjuk, hogy tökéletesen megfelel. Majd meggyÅzÅdünk, hogy a
-szélesség és a magasság osztható 16-tal. A szélesség jó, de a magasság
-nem. Mivel nem buktunk hetedik osztályban matekból, tudjuk, hogy a 16
-legközelebbi többszöröse, ami kisebb, mint 362, a 352.
-</para>
-
-<para>
-Ãgy egyszerűen használhatjuk a <option>crop=720:352:0:58</option> opciót,
-de jó lenne egy kicsit lecsÃpni a telejébÅl és az aljából, hogy középen
-maradjunk. Ãsszehúzzuk a magasságot 10 pixellel, de nem akarjuk növelni
-az y-offszetet 5 pixellel, mert az páratlan szám és rontja a minÅséget.
-Helyette inkább 4 pixellel növeljük az y-offszetet:
-<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-A másik ok, hogy lecsÃpjünk pixeleket mid fent, mint lent, hogy biztosak
-legyünk, hogy a fél-fekete pixeleket is levágtuk, amennyiben vannak.
-Figyelj rá, hogy ha a videó telecine-lt, a <option>pullup</option> szűrÅ
-(vagy bármelyik inverz telecine szűrÅ, amit használsz) a vágás elÅtt
-szerepeljen a szűrÅk láncában. Ha átlapolt, végezz deinterlace-t a vágás
-elÅtt. (Ha úgy döntesz, hogy megtartod az átlapolt videót, gyÅzÅdj meg
-róla, hogy a függÅleges vágási offszet 4 többszöröse.)
-</para>
-
-<para>
-Ha érdekel annak a 10 pixelnek az elvesztése, inkább a méretek 16
-legközelebbi többszörösére való kicsinyÃtése érdekelhet. A szűrÅ lánc
-ez esetben:
-<screen>-vf crop=720:362:0:58,scale=720:352</screen>
-A videó ilyen módon történÅ lekicsinyÃtése azt jelenti, hogy néhány
-apró részlet elveszik, de ez valószÃnűleg nem lesz észrevehetÅ. A
-nagyÃtás rosszabb minÅséget eredményez (hacsak nem növeled a bitrátát).
-A vágás az összes ilyen pixeltÅl megszabadÃt. Ez egy üzlet, amit minden
-esetben meg kell fontolnod. például ha a DVD videó televÃzióra készült,
-ajánlott elkerülni a függÅleges méretezést, mert a sor mintázás az
-eredeti felvételhez igazodik.
-</para>
-
-<para>
-Megtekintés után azt látjuk, hogy a filmünk eléggé eseménydús és
-nagyon részletes, Ãgy 2400Kbit-et választunk bitrátának.
-</para>
-
-<para>
-Most már készen vagyunk a két lépéses kódoláshoz. ElsŠlépés:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-A második lépés ugyan ez, csak megadjuk a <option>vpass=2</option>-t:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-</para>
-
-<para>
-A <option>v4mv:mbd=2:trell</option> kapcsolók nagyban javÃtják a minÅséget
-a kódolási idŠrovására. Nem ajánlott ezen opciók elhagyása, ha a fŠcél
-a jó minÅség. A <option>cmp=3:subcmp=3</option> opciók egy
-összehasonlÃtó függvényt választanak ki, ami jobb minÅséget biztosÃt,
-mint az alapértelmezettek. Ezzel a paraméterrel is kÃsérletezhetsz (lásd
-a man oldalt a lehetséges értékekért), mivel a különbözŠfüggvények
-nagyban befolyásolják a minÅséget a forrás anyagtól függÅen. Például ha
-úgy találod, hogy a <systemitem class="library">libavcodec</systemitem>
-túl kockás eredményt ad, megpróbálhatod a kÃsérleti NSSE összehasonlÃtó
-függvény használatát a <option>*cmp=10</option> opcióval.
-</para>
-
-<para>
-Ennél a filmnél a keletkezŠAVI 138 perc hosszú lesz és közel 3 GB-os.
-Ãs mivel azt mondtuk, hogy a fájl méret nem számÃt, ez egy tökéletesen
-megfelelŠméret. De ha kisebbet szeretnél, próbálj ki egy alacsonyabb
-bitrátát. A bitráták növelése csökkenÅ mértékű javulást hoz, Ãgy pl.
-tisztán kivehetŠa különbség az 1800Kbit és a 2000Kbit között, szinte
-észrevehetetlen 2000Kbit felett.
-Nyugodtan kÃsérletezz, amÃg csak kedved tartja.
-</para>
-
-<para>
-Mivel a forrás videót áteresztettük a zajeltávolÃtó szűrÅn, talán egy picit
-vissza akarsz tenni a lejátszás közben. Ez, az <option>spp</option>
-utófeldolgozó szűrÅvel drasztikusan javÃtja a felfogható minÅséget és
-segÃt a segÃt a videó kockásodásának megszüntetésében. Az
-<application>MPlayer</application> <option>autoq</option> opciójával
-szabályozhatod az spp szűrÅ utófeldolgozásának mértékét a CPU-tól függÅen.
-Emellett valószÃnűleg gamma és/vagy szÃn korrekciót is szeretnél csinálni,
-hogy jobban illeszkedjen a monitorodhoz. Például:
-<screen>
-mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
-</screen>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-xvid">
-<title>Kódolás az <systemitem class="library">Xvid</systemitem>
- codec-kal</title>
-
-<para>
-Az <systemitem class="library">Xvid</systemitem> egy szabad függvénykönyvtár
-MPEG-4 ASP videó stream-ek elkódolásához.
-A kódolás megkezdése elÅtt <link linkend="xvid">be kell állÃtanod
-a <application>MEncoder</application>ben a támogatását</link>.
-</para>
-
-<para>
-Ez a leÃrás fÅként hasonló információkat szeretne nyújtani, mint az
-x264 kódolási leÃrás.
-Ezért, kérlek kezdd azzal, hogy elolvasod azon leÃrásnak az
-<link linkend="menc-feat-x264-encoding-options-intro">elsŠrészét</link>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-intro">
-<title>Milyen opciókat kell használnom, ha a legjobb eredményt akarom?</title>
-
-<para>
-Kezdésként nézd át az
-<application>MPlayer</application> man oldalának
-<systemitem class="library">Xvid</systemitem> részét!
-Ez a rész csak a man oldal kiegészÃtéseként használható.
-</para>
-
-<para>
-Az Xvid alapértelmezett beállÃtásai egyensúlyt teremtenek a
-sebesség és a minÅség között, Ãgy nyugodtan használhatod azokat,
-ha a következŠrész túl zavarosnak tűnik.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>Az <systemitem class="library">Xvid</systemitem> kódolási opciói</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- Ez a beállÃtás a makroblokk döntési algoritmust érinti, minél
- nagyobb a beállÃtás, annál okosabb a döntés.
- Az alapértelmezett érték bátran használható minden kódoláshoz,
- mÃg a nagyobb értékek segÃtik a PSNR-t de jelentÅsen lassabbak.
- Kérlek vedd figyelembe, hogy a jobb PSNR nem feltétlenül jelenti
- azt, hogy a kép jobban fog kinézni, de közelebb lesz az eredetihez.
- A kikapcsolása észrevehetÅen felgyorsÃtja a kódolást; ha a sebesség
- kritikus számodra, megéri a cserét.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- Ez ugyan azt csinálja, mint a vhq, de a B-kockákon.
- Elhanyagolható a hatása a sebességre és kismértékben javÃt a minÅségen
- (+0.1dB PSNR körül).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- Az egymás után engedélyezett több B-kocka általában javÃtja a
- tömörÃthetÅséget, de több blokkosodási mellékhatást okoz.
- Az alapértelmezett beállÃtás jó kompromisszum a tömörÃthetÅség és a
- minÅség között, de növelheted 3-ig ha ki vagy éhezve a bitrátára.
- Csökkentheted 1-re vagy 0-ra ha a tökéletes minÅséget céloztad meg,
- de ekkor biztosan tudnod kell, hogy a forrásod bitrátája elég nagy
- ahhoz, hogy a kódolónak nem kell növelni a kvantálást, hogy elére ezt.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- Ez a kódoló B-kocka érzékenységét szabályozza, a nagyobb érték hatására
- több B-kockát használ (és fordÃtva).
- Ez a beállÃtás a <option>max_bframes</option>-szel együtt használható;
- ha bitráta éhségben szenvedsz, növelned kell mind a
- <option>max_bframes</option>, mind a <option>bf_threshold</option>
- értékét, mÃg ha növeled a <option>max_bframes</option>-t és csökkented
- a <option>bf_threshold</option>-ot, akkor a kódoló több B-kockát fog
- használni, de csak azokon a helyeken, ahol
- <emphasis role="bold">tényleg</emphasis> szükséges.
- A <option>max_bframes</option> alacsony értéke és a
- <option>bf_threshold</option> magas értéke nem túl bölcs döntés,
- mert ez arra kényszerÃti a kódolót, hogy olyan helyekre is tegyen
- B-kockát, ahol nincs rájuk szükség, Ãgy csökkenti a vizuális
- minÅséget. De ha kompatibilis akarsz maradni az egyedi lejátszókkal,
- amik csak a régi DivX profilokat támogatják (amik csak legfeljebb
- 1 B-kockát támogatnak sorban), ez az egyetlen lehetÅséged a
- tömörÃthetÅség növelésére a B-kockák használatával.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- Optimalizálja a kvantálási eljárást, hogy optimális arányt találjon
- a PSNR és a bitráta között, ami jelentÅs bitmegtakarÃtást engedélyez.
- Cserébe ezek a bitek a videóban máshol kerülnek felhasználásra,
- növelve az össz minÅséget.
- Mindig ajánlott bekapcsolva hagyni, mert jelentÅsen befolyásolja a
- minÅséget. Még ha neked a sebesség számÃt, akkor is ne kapcsold ki,
- amÃg nem kapcsoltad ki a <option>vhq</option>-t és a többi CPU-éhes
- opciót nem állÃtottad a minimumra.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- Bekapcsol egy jobb együttható kölcségbecslŠmódszert, ami kissé
- csökkenti a fájl méretet, kb. 0,15-0,19% között (ami kevesebb, mint
- 0,01dB-es PSNR növekedésnek felel meg), miközben jelentéktelen
- hatása van a sebességre. Ezért ajánlott mindig bekapcsolva hagyni.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- A rajzfilm tartalom jobb kódolására lett kitalálva és nincs
- hatása a sebességre, mivel csak a döntési heurisztikát tuningolja
- az ilyen tÃpusú tartalomnál.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">me_quality</emphasis>
- Ez a beállÃtás a mozgás elÅrejelzés pontosságát vezérli.
- Minél nagyobb a <option>me_quality</option> érték, annál
- pontosabb lesz az eredeti mozgás elÅrejelzése és minél pontosabb
- ez, annál jobban közelÃti majd az eredmény az eredeti mozgást.
- </para>
- <para>
- Az alapértelmezett érték jó a legtöbb esetben; Ãgy nem javasolt
- a változtatása, csak ha tényleg a sebesség számÃt, mivel minden
- a mozgás becslésével megmentett bit másra lesz felhasználva,
- növelve az össz minÅséget. Ezért ne menj 5 alá és ezt is csak
- végszükség esetén állÃtsd be.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- JavÃtja a mozgás elÅrejelzést úgy, hogy a számÃtásba beleveszi
- a chroma (szÃn) információkat is, mÃg a <option>me_quality</option>
- csak a luma-t (grayscale) használja.
- Ez 5-10%-kal lassÃtja a kódolást, de eléggé javÃtja a vizuális
- minÅséget a blokkosodási effektusok csökkentésével és csökkenti
- a fájl méretet kb. 1,3%-kal.
- Ha a sebesség érdekel, kapcsold ki ezt az opciót, mielÅtt
- elkezdenél töprengeni a <option>me_quality</option> csökkentésén.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- A chroma képek minÅségének javÃtása a célja az egyszerű
- fehér/fekete sarkoknál a tömörÃtés javÃtása helyett.
- Ezzel csökkentheted a "red stairs" effektust.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- Megpróbál kevesebb bitrátát adni a kép azon részeinek, amiket az
- emberi szem nem lát olyan jól, Ãgy a kódolónak lehetÅsége van a
- megspórolt biteket a kép sokkal fontosabb részeinél felhasználni.
- Ezen opció nyeresége a kódolás minÅségének szempontjából erÅsen
- függ az egyéni beállÃtásoktól és a megtekintéshez használt monitor
- tÃpusától és beállÃtásaitól (tipikusan egy világosabb vagy TFT
- monitoron nem fog olyan jól kinézni).
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>
- Növeli a várható mozgásvektorok számát a mozgás elÅrejelzés
- pontosságának növelésével halfpel-rÅl quarterpel-re.
- Az ötlet annyi, hogy a jobb mozgásvektorokért cserébe csökken a
- bitráta (ezért nÅ a minÅség).
- Habár a quarterpel pontosságú mozgásvektorok kódolásához egy kicsivel
- több bit kell, a várható vektorok nem mindig adnak (sokkal) jobb
- minÅséget.
- Elég gyakran a codec még mindig biteket biztosÃt az extra
- pontossághoz, de csak kicsi vagy semmilyen minÅségi nyereség nincs
- cserében.
- Sajnos, nem lehet elÅre megmondani a <option>qpel</option> lehetséges
- nyereségeit, Ãgy kódolnod kell vele is és nélküle is, hogy biztosan
- tudd.
- </para>
- <para>
- A <option>qpel</option> majdnem dupla kódolási idÅt jelent és 25%-kal
- több feldolgozási erÅforrást igényel a dekódolása. Nem minden
- asztali lejátszó támogatja.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- Biteket próbál megspórolni bizonyos jeleneteknél úgy, hogy
- egy mozgásvektort használ az egész kockához.
- Ez majdnem mindig növeli a PSNR-t, de jelentÅsen lelassÃtja
- a kódolást (és a dekódolást is).
- Ezért csak akkor ajánlott használnod, ha a <option>vhq</option>
- a maximumra állÃtottad.
- Az <systemitem class="library">Xvid</systemitem> GMC-je sokkal
- kifinomultabb, mint a DivX-é, de csak kevés lejátszó támogatja.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>Kódolási profilok</title>
-
-<para>
-Az Xvid támogatja a kódolási profilokat a <option>profile</option> opción
-keresztül, amivel az XVid videó folyam tulajdonságaiban olyan
-megszorÃtásokat lehet elÅÃrni, amikkel az lejátszható marad az összes
-eszközön, ami támogatja a választott profilt.
-A megkötések a felbontásra, a bitrátára és bizonyos MPEG-4-es funkciókra
-vonatkoznak.
-A következŠtáblázat megmutatja, hogy melyik profil mit támogat.
-</para>
-
-<informaltable>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
-<tbody>
-<row>
- <entry></entry>
- <entry spanname="spa2-5">Szimpla</entry>
- <entry spanname="spa6-11">Fejlett szimpla</entry>
- <entry spanname="spa12-17">DivX</entry>
-</row>
-<row>
- <entry>Profil neve</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>Handheld</entry>
- <entry>Hordozható NTSC</entry>
- <entry>Hordozható PAL</entry>
- <entry>NTSC házimozi</entry>
- <entry>PAL házimozi</entry>
- <entry>HDTV</entry>
-</row>
-<row>
- <entry>Szélesség [pixelben]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
-</row>
-<row>
- <entry>Magasság [pixelben]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
-</row>
-<row>
- <entry>Frame ráta [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
-</row>
-<row>
- <entry>Max átlagos bitráta [kbps]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
-</row>
-<row>
- <entry>Ãtlagos csúcs bitráta 3 mp-n keresztül [kbps]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
-</row>
-<row>
- <entry>Max. B-frame</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
-</row>
-<row>
- <entry>MPEG kvantálás</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>AdaptÃv kvantálás</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Ãtlapolt kódolás</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Quarterpixel</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Globális mozgás-kompenzáció</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>Kódolás beállÃtási példák</title>
-
-<para>
-A következÅ beállÃtások példák különbözÅ kódolási opciók
-kombinációjára, amik a sebesség vs minÅség kérdést döntÅen
-befolyásolják ugyanazon cél bitráta mellett.
-</para>
-
-<para>
-Az összes kódolási beállÃtást egy 720x448 @30000/1001 fps-es példa
-videón teszteltük, a cél bitráta 900kbps volt, a gép pedig egy
-AMD-64 3400+ 2400 MHz-en 64 bites módban.
-Mindegyik kódolási beállÃtás tartalmazza a kódolási sebességet
-(képkocka per másodpercben) és a PSNR veszteséget (dB-ben) a
-"nagyon jó minÅséghez" viszonyÃtva.
-Kérlek vedd figyelembe, hogy a forrásanyagodtól, a géped tÃpusától
-és a fejlesztésektÅl függÅen különbözÅ eredményeket kaphatsz.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>LeÃrás</entry><entry>Kódolási opciók</entry><entry>sebesség (fps-ben)</entry><entry>RelatÃv PSNR veszteség (dB-ben)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Nagyon jó minÅség</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Jó minÅség</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18fps</entry>
- <entry>-0.1dB</entry>
-</row>
-<row>
- <entry>Gyors</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28fps</entry>
- <entry>-0.69dB</entry>
-</row>
-<row>
- <entry>Valós idejű</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-x264">
-<title>Kódolás az
- <systemitem class="library">x264</systemitem> codec-kel</title>
-
-<para>
-Az <systemitem class="library">x264</systemitem> egy szabad függvénykönyvtár
-a H.264/AVC videó folyamok kódolásához.
-MielÅtt elkezdenél kódolni, <link linkend="x264">be kell
-állÃtanod a <application>MEncoder</application>ben a támogatását</link>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>Az x264 kódolási opciói</title>
-
-<para>
-Kérlek kezd az olvasást az <application>MPlayer</application>
-man oldalának <systemitem class="library">x264</systemitem>
-részével.
-Ez a rész a man oldal kiegészÃtésének lett szánva.
-Itt csak rövid tanácsokat találhatsz, hogy mely opciók
-érdekelhetik a letöbb embert. A man oldal tömörebb, de
-ugyanakkor kimerÃtÅbb is és esetenként több technikai
-információval szolgál.
-</para>
-
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Bevezetés</title>
-
-<para>
-Ez a leÃrás a kódolási opciók két fÅ kategóriáját tárgyalja:
-</para>
-
-<orderedlist>
-<listitem><para>
- Opciók, melyekkel a kódolási idÅ vs. minÅség arány szabályozható
-</para></listitem>
-<listitem><para>
- Opciók, melyek a különbözŠegyéni érdekeknek és speciális igényeknek
- próbálnak eleget tenni
-</para></listitem>
-</orderedlist>
-
-<para>
-Igazából csak te tudod, hogy mely opciók a legjobbak neked. Az elsÅ
-csoportba tartozó opcióknál könnyű dönteni: csak azt kell megfontolnod,
-hogy a minÅségi különbség megéri-e a sebességbeli különbséget. A másik
-csoport már sokkal szubjektÃvebb és több szempontot kell figyelembe
-venni. Tartsd észben, hogy az "egyéni érdekek és speciális igényeknek"
-eleget tevÅ opciók jelentÅsen befolyásolják a sebességet vagy a
-minÅséget, de elsÅsorban nem ezért használják Åket. Az "egyéni érdekek"
-opciói közül több olyan változásokat idézhet elÅ, ami néhány embernek
-tetszhet, mÃg másoknak nem.
-</para>
-
-<para>
-MielÅtt folytatnád, meg kell értened, hogy ez a leÃrás csak egy
-minÅségi mércét használ: a globális PSNR-t.
-A PSNR rövid leÃrása megtalálható
-<ulink url="http://en.wikipedia.org/wiki/PSNR">a Wikipedia PSNR-rÅl szóló cikkében</ulink>.
-A globális PSNR az utolsó PSNR szám, amit kiÃr az <option>x264encopts</option>,
-ha megadod neki a <option>psnr</option> opciót.
-Bármikor, amikor egy kijelentést olvasol a PSNR-rÅl, él az a
-feltételezés, hogy azonos bitrátát használsz.
-</para>
-
-<para>
-Ezen leÃrás majdnem teljesen egészében feltételezi, hogy két lépéses
-kódolást használsz.
-Az opciók összehasonlÃtásánál két fŠérv szól a kétlépéses
-kódolás mellett.
-Az egyik, hogy a két lépés alkalmazása kb. 1dB PSNR-t jelent pluszban,
-ami nagyon nagy különbség.
-A másik, hogy az opciók tesztelésénél a direkt minÅség-összehasonlÃtás
-az egy lépéses kódolásokkal behoz egy zavaró tényezÅt: a bitráta
-gyakran jelentÅsen változik a kódolások között.
-Nem minden esetben könnyű megmondani, hogy a minÅségi változás a
-megváltozott opciók miatt következett-e be vagy a fÅként véletlenül
-elért bitráta különbségbÅl adódik.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>ElsÅsorban a sebességet és a minÅséget érintÅ opciók</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">subq</emphasis>:
- Azon opciók közül, amik segÃtségével a sebesség és minÅség közötti arányt
- befolyásolhatod, a <option>subq</option> és a <option>frameref</option>
- (lásd lejjebb) a legfontosabbak általában.
- Ha érdekel akár a sebesség, akár a minÅség tuningolása, akkor ezt a
- két opciót kell elÅször megvizsgálnod.
- Sebesség szempontjából a <option>frameref</option> és a
- <option>subq</option> opciók elég erÅteljes kölcsönhatásban
- vannak.
- A tapasztalatok szerint egy referencia kockával a
- <option>subq=5</option> (alapértelmezett érték) kb. 35%-kal több idÅt
- kÃván, mint a <option>subq=1</option>.
- 6 referencia kockával az igény 60% fölé megy.
- A <option>subq</option> hatása a PSNR-re elég egyenletes,
- a referencia kockák számától függetlenül.
- Ãltalában a <option>subq=5</option> 0.2-0.5 dB-vel magasabb
- globális PSNR-t biztosÃt a <option>subq=1</option>-gyel összehasonlÃtva.
- Ãltalában ez már látható különbség.
- </para>
- <para>
- A <option>subq=6</option> lassabb, de jobb minÅséget ad elfogadható áron.
- A <option>subq=5</option>-tel összehasonlÃtva általában 0.1-0.4 dB nyereséget
- jelent a globális PSNR-ben, 25%-100% között változó sebességveszteség árán.
- A <option>subq</option> egyéb értékeitÅl eltérÅen a <option>subq=6</option>
- viselkedése nem függ olyan nagy mértékben a <option>frameref</option> és
- a <option>me</option> opcióktól. A <option>subq=6</option> hatékonysága
- inkább a használt B-kockák számától függ. Normális használat esetén ez
- azt jelenti, hogy a <option>subq=6</option>-nak nagy hatása van mind a
- sebességre, mint a minÅségre az összetett, sok mozgást tartalmazó jelenetek
- esetében, de sokkal kevesebb a kevés mozgást rögzÃtÅ részeknél. Jegyezd
- meg, hogy még mindig javasoljuk a <option>bframes</option> értékének
- valamilyen nullától különbözŠértékre történŠállÃtását (lásd lejjebb).
- </para>
- <para>
- <option>subq=7</option> a leglassabb, legjobb minÅséget nyújtó mód.
- A <option>subq=6</option>-tal összehasonlÃtva általában 0.01-0.05 dB
- globális PSNR növelést jelent, változó 15%-33%-os sebességveszteség árán.
- Mivel a kódolási idÅ vs. minÅség arány eléggé rossz, csak akkor ajánlott
- használni, ha minden egyes bit fontos és a kódolási idÅ nem számÃt.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">frameref</emphasis>:
- A <option>frameref</option> alapértéke 1, de ez nem jelenti
- azt, hogy jó dolog 1-re állÃtani.
- Pusztán a <option>frameref</option> növelése 2-re kb.
- 0.15dB PSNR nyereséget jelent 5-10%-os sebességcsökkenéssel; ez Ãgy
- még jó üzletnek tűnik.
- A <option>frameref=3</option> 0.25dB PSNR-t hoz a
- <option>frameref=1</option>-hez képest, ami látható különbség.
- A <option>frameref=3</option> kb. 15%-kal lassabb a
- <option>frameref=1</option>-nél.
- Ezután sajnos gyorsan jön a csökkenés.
- A <option>frameref=6</option> valószÃnűleg csak
- 0.05-0.1 dB pluszt jelent a <option>frameref=3</option>-hoz képest,
- további 15% sebességveszteség mellett.
- <option>frameref=6</option> felett a minÅségjavulás általában nagyon
- kicsi (bár vedd figyelembe az egész rész olvasása közben, hogy ez
- nagymértékben változhat a forrásodtól függÅen).
- Egy átlagos esetben a <option>frameref=12</option>
- a globális PSNR-t csekély 0.02dB-vel javÃtja a
- <option>frameref=6</option>-hoz képest, 15%-20% sebességveszteség árán.
- Az ilyen magas <option>frameref</option> értékeknél az egyedüli
- igazán jó dolog, amit mondhatunk, hogy a további növelés szinte
- soha sem <emphasis role="bold">árt</emphasis> a PSNR-nek, de a minÅségi
- javulás szinte alig mérhetŠés nem is észrevehetÅ.
- </para>
- <note><title>Megjegyzés:</title>
- <para>
- A <option>frameref</option> növelése szükségtelenül magas értékekre
- <emphasis role="bold">ronthatja</emphasis> és
- <emphasis role="bold">általában rontja is</emphasis>
- a kódolási hatékonyságot, ha kikapcsolod a CABAC-ot.
- Bekapcsolt CABAC-kal (alapértelmezett), a <option>frameref</option>
- "túl magas" értékre történÅ beállÃtása jelenleg nagyon távolinak
- tűnik ahhoz, hogy aggódjunk miatta és a jövÅben az optimalizációk
- lehet, hogy meg is szüntetik ennek lehetÅségét.
- </para></note>
- <para>
- Ha számÃt a sebesség, akkor megfontolandó, hogy alacsony
- <option>subq</option> és <option>frameref</option> értékeket
- használj az elsŠlépésben és majd a második lépésben emeld.
- Ãltalában ez jelentéktelen negatÃv hatással van a végsÅ minÅségre:
- valószÃnűleg jóval kevesebb, mint 0.1dB PSNR-t veszÃtesz, ami
- túl kicsi különbség ahhoz, hogy észrevedd.
- Bár a <option>frameref</option> különbözŠértékei alkalmanként
- befolyásolhatják a képkocka tÃpus döntéseket.
- Ezek legtöbbször ritka, szélsÅséges esetek, de ha teljesen biztos
- akarsz lenni, gondolkozz el rajta, hogy van-e a videódban teljes
- képernyÅs ismétlÅdÅ, csillogó minta vagy nagyon nagy ideiglenes
- elzáródás, ami kikényszerÃthet egy I-kockát.
- Az elsÅ lépés <option>frameref</option>-jét úgy állÃtsd be, hogy
- elég nagy legyen ahhoz, hogy tartalmazza a villódzási ciklust
- (vagy az elzárást). Például ha a jelenet oda-vissza ugrál két kép
- között három keret idejéig, állÃtsd be az elsÅ lépés
- <option>frameref</option>-jét 3-ra vagy magasabbra.
- Ez a dolog eléggé ritka az élŠakciót tartalmazó videóanyagokban,
- de néha elÅjön videójátékok képének mentésekor.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">me</emphasis>:
- Ez az opció a mozgásbecsléshez használt keresés módszerét választja ki.
- Ezen opció megváltoztatása természetesen magával hozza a
- minÅség-vs-sebesség arány változását. A <option>me=dia</option> csak kis
- mértékben gyorsabb, mint az alapértelmezett keresés, kevesebb, mint
- 0.1dB globális PSNR árán. Az alapértelmezett beállÃtás (<option>me=hex</option>)
- egy ésszerű kompromisszum a sebesség és a minÅség között. A <option>me=umh</option>
- kicsivel kevesebb, mint 0.1dB globális PSNR-t jelent, amiért változó
- árat kell fizetni a sebességben a <option>frameref</option>-tÅl függÅen.
- Ha a <option>frameref</option> értéke nagy (pl. 12 vagy hasonló), a
- <option>me=umh</option> kb. 40%-kal lassabb, mint az alapértelmezett
- <option> me=hex</option>. <option>frameref=3</option>-mal a sebességbeli
- veszteség visszaesik 25%-30%-ra.
- </para>
- <para>
- A <option>me=esa</option> egy nagyon alapos keresést használ, ami túl
- lassú a gyakorlati alkalmazáshoz.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">partitions=all</emphasis>:
- Ez az opció engedélyezi a 8x4-es, 4x8-as és 4x4-es alpartÃciók
- használatát a megjósolt makroblokkokban (az alapértelmezett
- partÃciók mellett).
- A bekapcsolása viszonylag egyenletes 10%-15%-os sebességveszteséget
- jelent. Ez az opció eléggé hasztalan a kevés mozgást tartalmazó
- videókban, bár néhány gyors mozgású forrás, tipikusan a sok apró
- mozgó objektumot tartalmazó, várhatóan kb. 0.1dB-t javul.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">bframes</emphasis>:
- Ha kódoltál már más codec-kel, rájöhettél, hogy a B-kockák nem mindig
- hasznosak.
- A H.264-nél ez megváltozott: új technikák és blokk tÃpusok lehetnek a
- B-kockákban.
- Ãltalában még a naÃv B-kocka választó algoritmus is jelentÅs
- PSNR hasznot hozhat.
- Azt is érdemes megjegyezni, hogy a B-kockák használata általában
- egy kicsit gyorsÃt a második lépésen és talán az egy lépéses kódolást
- is gyorsÃtja kicsit, ha az adaptÃv B-kocka döntés ki van kapcsolva.
- </para>
- <para>
- Az adaptÃv B-kocka döntés kikapcsolásával
- (<option>x264encopts</option> <option>nob_adapt</option> opciója)
- ezen beállÃtás optimális értéke általában nem több, mint
- <option>bframes=1</option>, különben a gyors mozgású részek romolhatnak.
- Bekapcsolt adaptÃv B-kocka döntéssel (alapértelmezett tulajdonság)
- nyugodtan használhatsz magasabb értéket; a kódoló csökkenti a
- B-kockák használatát azokban a részekben, ahol amiatt sérülne a
- tömörÃtés. A kódoló ritkán választ 3 vagy 4 B-kockánál többet;
- ezen opció magasabb értékre állÃtása nagyon kicsi különbséget eredményez.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">b_adapt</emphasis>:
- Megjegyzés: Ez alapértelmezetten be van kapcsolva.
- </para>
- <para>
- Ezzel az opcióval a kódoló egy eléggé gyors döntési eljárást
- fog használni a B-kockák számának csökkentésére az olyan
- jelenetekben, amelyek nem profitálnak belÅlük.
- Használhatod a <option>b_bias</option>-t a kódoló
- B-kocka-használatának nyomonkövetésére.
- Az adaptÃv B-kockák sebességbeli hátránya jelenleg elég
- szerény, de ilyen a potenciális minÅségbeli javulás is.
- De általában nem árt.
- Jegyezd meg, hogy ez csak az elsŠlépésben érinti a
- sebességet és a képkocka tÃpus döntéseket.
- A <option>b_adapt</option>-nak és a <option>b_bias</option>-nak
- nincs hatása a következŠlépésekre.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- Jó ha engedélyezed ezt az opciót, ha >=2 B-kockát használsz;
- ahogy a man oldal is Ãrja, egy kicsi minÅségi javulást
- kapsz sebességcsökkenés nélkül.
- Jegyezd meg, hogy ezen videók nem olvashatóak a 2005.
- március 5-nél korábbi libavcodec-alapú dekódolókkal.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">weight_b</emphasis>:
- Ãltalános esetekben ez az opció nem hoz sokat a konyhára.
- Bár az át- és az elsötétülŠjeleneteknél, a súlyozott
- jóslás jelentÅs bitráta spórolást hoz.
- Az MPEG-4 ASP-ben az elsötétülés általában drága I-kockák
- sorozatával kerül legjobban elkódolásra; a B-kockákban
- használt súlyozott jóslással lehetséges ezek legalább
- részben a sokkal kisebb B-kockákkal történŠlecserélése.
- A kódolási idÅben jelentkezÅ plusz ráfordÃtás minimális, mivel
- nem kell külön döntéseket hozni.
- Ellentétben azzal, amire pár ember gondol, a dekódoló CPU
- igényét nem érinti jelentÅsen a súlyozott jóslás.
- </para>
- <para>
- Sajnos a jelenlegi adaptÃv B-kocka döntési algoritmusnak
- van egy olayn érdekes tulajdonsága, hogy kerüli a B-kockákat
- az elsötétedéseknél. AmÃg ez nem változik meg, jó ötlet
- lehet a <option>nob_adapt</option> opció hozzáadása az
- x264encopts-hoz, ha arra számÃtasz, hogy sötétedések jelentÅsen
- befolyásolják a videódat.
- </para>
-</listitem>
-<listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
- <para>
- <emphasis role="bold">threads</emphasis>:
- Ez az opció szálak segÃtségével párhuzamos kódolást tesz lehetÅvé több
- CPU-n. A létrejövÅ szálak száma kézzel is beállÃtható, de jobb a
- <option>threads=auto</option> és rábÃzni az
- <systemitem class="library">x264</systemitem>-re a használható CPU-k
- felderÃtését és a szálak optimális számának megállapÃtását.
- Ha több processzoros géped van, nem árt fontolóra venni ennek a használatát,
- mivel a CPU magokkal arányosan megnövelheti a kódolási sebességet
- (kb. 94% CPU magonként), nagyon kicsi minÅségromlással (kb. 0.005dB
- dual processzornál, 0.01dB quad processzoros gépnél).
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>KülönbözŠigényekhez tartozó opciók</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Két lépéses kódolás</emphasis>:
- Fentebb azt javasoltuk, hogy mindig használj két lépéses kódolást,
- azonban vannak indokok az elkerülése mellett is. Például ha élŠTV
- adást mentesz és kódolsz valós idÅben, kénytelen vagy egy lépést
- használni. Az egy lépés nyilvánvalóan gyorsabb, mint a két lépéses;
- ha teljesen ugyan azokkal az opciókat használod mind a két lépésben,
- a két lépéses kódolás majdnem kétszer olyan lassú.
- </para>
- <para>
- Mégis van pár nagyon jó indok a két lépéses kódolás használatára. Az
- egyik, hogy az egy lépés rátakontollja nem pszichikai, Ãgy gyakran
- ésszerűtlen döntéseket hoz, mert nem látja a nagy képet. Például tegyük
- fel, hogy van egy két perces videód, mely két eltérÅ félbÅl áll. Az
- elsŠfele nagyon gyors mozgású, 60 másodperces jelenet, ami magában
- kb. 2500kbps-t igényel, hogy megfelelÅen nézzen ki. Majd rögtön ez
- után egy sokkal kisebb igényű 60 másodperces jelenet jön, ami 300
- kbps-sel is jól néz ki. Tegyük fel, hogy 1400kbps-t kérsz, ami elméletileg
- elég mind a két jelenethez. Az egy lépéses rátakontroll rengeteg "hibát"
- ejt egy ilyen esetben. Mindenek elÅtt az 1400kbps-t célozza meg mind a
- két szegmensben. Az elsÅ rész erÅteljesen túl lesz kvantálva, emiatt
- elfogadhatatlan és túlzottan blokkos képet kapsz. A második szegmens
- pedig erÅteljesen alul lesz kvantálva; tökéletesen néz ki, de az
- ezzel járó bitráta többlet teljesen ésszerűtlen. Amit még nehezebb
- elkerülni, az a két jelenet közötti átmenet problémája. A lassú mozgású
- rész elsŠpár másodperce túlságosan túl lesz kvantálva, mert a
- rátakontroll még a videó elsÅ felébÅl származó bitráta igényre számÃt.
- Ez a túlkvantálási "hiba periódus" a kevés mozgást tartalmazó részt
- szörnyen rosszá teszi, tulajdonképpen kevesebb, mint 300kbps-t fog
- használni, ami a megfelelÅ kinézethez kellene. Több lehetÅség is van
- az egy lépéses kódolás buktatóiból származó hibák csökkentésére, de
- összességében mégis növelik a bitráta félrebecslésének esélyét.
- </para>
- <para>
- A többlépéses rátakontrollnak több elÅnye is van az egylépésessel
- szemben. Az elsÅ lépésbÅl nyert statisztikai adatokból a kódoló egész
- jó pontossággal meg tudja jósolni egy bármilyen adott kocka bármilyen
- adott kvantálás melletti kódolásának "költségét" (bitekben). Ez a bitek
- sokkal ésszerűbb, jobban megtervezett elosztását eredményezi a drága
- (sok mozgású) és az olcsó (kevés mozgású) jelenetek között. Lásd a
- <option>qcomp</option> opciót lejjebb néhány ötletért, hogy hogyan
- tudod ezt a felosztást kedvedre változtatni.
- </para>
- <para>
- Továbbá a két lépés nem tart kétszer annyi ideig, mint az egy. Az elsÅ
- lépés opcióit rá lehet hangolni a nagyobb sebességre és a gyengébb
- minÅségre. Ha jól választod meg az opciókat, egy nagyon gyors elsÅ
- lépésed lehet. Az eredmény minÅsége a második lépésben kicsit alacsonyabb
- lesz mert a méret becslés kevésbé pontos, de a minÅségi különbség
- normális esetben túl kicsi ahhoz, hogy észrevedd. Például próbáld meg a
- <option>subq=1:frameref=1</option> opció hozzáadását a
- <option>x264encopts</option> elsŠlépéséhez. Majd, a második lépésben
- használj lassabb, jobb minÅséget biztosÃtó opciókat:
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">Három lépéses kódolás</emphasis>?
- Az x264 lehetÅséget nyújt tetszÅleges számú egymás utáni lépések
- elvégzésére. Ha megadod a <option>pass=1</option> opciót az elsÅ
- lépésben, majd <option>pass=3</option>-at használsz az egyik
- következÅ lépésben, a következÅ lépés beolvassa az elÅzÅ statisztikáját
- és megÃrja a sajátját. Egy ezt követÅ lépésnek már nagyon jó alapjai
- lesznek, nagyon pontos döntéseket tud hozni a képkocka méretre
- vonatkozóan a választott kvantálás mellett. A gyakorlatban az össz
- minÅségi nyereség ebbÅl közel van a nullához és lehetséges, hogy egy
- harmadik lépés kissé még rontja is a globális PSNR-t az elÅzÅ lépéshez
- képest. Az átlagos felhasználásban a három lépés akkor segÃt, ha két
- lépéssel rossz bitráta jóslást kaptál vagy ronda átmeneteket a
- jelenetek között. Ilyen dolog csak a nagyon rövid klippeknél fordulhat
- elÅ. Van még pár speciális eset is, amikor a három (vagy több) lépés
- jól jöhet a haladó felhasználóknak, de a rövidÃtés végett ezeket az
- eseteket nem tárgyaljuk ebben a leÃrásban.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis>:
- A <option>qcomp</option> a "drága", sok mozgást és az "olcsó", kevés
- mozgást tartalmazó jelenetekhez használt bitek arányát szabályozza.
- Extrém esetben a <option>qcomp=0</option> az igazi konstans bitrátát
- célozza meg. Ezzel a sok mozgású részek borzasztóan fognak kinézni, mÃg
- a kevés mozgást tartalmazó részek valószÃnűleg tökéletesen fognak kinézni,
- de a hasonló kinézethez szükséges bitráta többszörösét fogják felhasználni.
- A másik extrém véglet a <option>qcomp=1</option> majdnem konstans
- kvantálási paramétert ér el (QP). A konstans QP nem néz ki rosszul, de a
- legtöbb ember úgy gondolja, hogy ésszerűbb egy kis bitrátát feláldozni a
- roppant drága jeleneteknél (ahol a minÅségromlás nem olyan észrevehetÅ)
- és felhasználni Åket a kitűnÅ minÅségben is könnyebben kódolható
- jeleneteknél. A <option>qcomp</option> alapértelmezett értéke 0.6, ami
- eléggé alacsony sok ember Ãzléséhez képest (0.7-0.8 a leggyakrabban
- használt).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- A <option>keyint</option> kizárólag a a fájlon belüli keresést rontja a
- kódolási hatékonyság javára. Alapértelmezésként a <option>keyint</option>
- 250-re van állÃtva. Egy 25fps-es anyagnál ez garantálja a 10 másodpercen
- belüli pontossággal történŠugrást. Ha úgy gondolod, hogy fontos és hasznos
- lenne az 5 másodperces pontosság, állÃtsd be a <option>keyint=125</option>
- értéket; ez egy kissé rontja a minÅséget/bitrátát. Ha csak a minÅség
- érdekel és a kereshetÅség nem, beállÃthatod magasabb értékre (észben tartva
- azt, hogy egyre csökkenŠhasznot hoz, mely végül szinte észrevehetetlenül
- kicsi vagy akár nulla lesz). A videó folyam még Ãgy is fog tartalmazni
- kereshetÅ pontokat, amÃg van benne jelenet váltás.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">deblock</emphasis>:
- Ez a rész egy kicsit vitatható lesz.
- </para>
- <para>
- A H.264 egy egyszerű deblocking eljárást definiál az I-blokkokra,
- ami elÅre beállÃtott erÅsséget és áteresztést használ a szóbanforgó
- blokk QP-je alapján.
- Alapértelmezettként a nagy QP blokkok erÅs szűrön mennek át, az
- alacsony QP blokkok nem kerülnek deblock-olásra semennyire sem.
- Az alapértelmezett értékek szerint elÅre beállÃtott erÅsség jól
- megválasztott és jó eséllyel PSNR-optimális bármilyen videóhoz,
- amit csak próbálsz elkódolni.
- A <option>deblock</option> paraméterrel megadhatod az elÅre beállÃtott
- deblocking áteresztés eltolását.
- </para>
- <para>
- Sokan úgy gondolják, hogy jó ötlet nagy mértékben csökkenteni a
- deblocking szűrÅ erÅsségét (mondjuk -3-ra).
- Ez valójában szinte soha sem jó ötlet és a legtöbb esetben
- azok az emberek, akik ezt csinálják, nem is értik igazán,
- hogy hogyan működik a deblocking alapból.
- </para>
- <para>
- Az elsŠés legfontosabb dolog azt tudni a beépÃtett deblocking
- szűrÅrÅl, hogy az alapértelmezett áteresztés majdnem mindig
- PSNR-optimális.
- Ritkább esetben nem optimális, az ideális eltolás plusz vagy
- mÃnusz 1.
- A deblocking paramétereinek nagy mértékben történŠmegváltoztatása
- majdnem garantáltan rontja a PSNR-t.
- A szűrÅ erÅsÃtése elmaszatol néhány részletet; a szűrÅ gyengÃtése
- a kockásodás láthatóságát növeli.
- </para>
- <para>
- Tipikusan rossz ötlet a deblocking áteresztés csökkentése, ha a
- forrásod térbeli komplexitása alacsony (pl. nem túl részletes vagy
- zajos).
- A beépÃtett szűrÅ remek munkát végez a felbukkanó mellékhatások
- elrejtése érdekében.
- Ha a forrásban térbeli komplexitása nagy, a mellékhatások még
- kevésbé láthatóak.
- Ez azért van, mert a gyűrűs haladás részletnek vagy zajnak látszik.
- Az emberi szem könnyen meglátja, ha egy részlet elmozdul, de nem
- olyan könnyű észrevenni, ha a zaj rosszul van reprezentálva.
- Ha szubjektÃv minÅséghez ér, a zaj és a részletesség valamennyire
- felcserélhetÅ.
- A deblocking szűrÅ erÅsségének csökkentésével a legvalószÃnűbb,
- hogy növeled a hibákat a gyűrűs mellékhatások hozzáadásával, de
- a szem nem veszi észre, mert összekeveri a mellékhatásokat és a
- részleteket.
- </para>
- <para>
- Ez <emphasis role="bold">még</emphasis> nem igazolja a deblocking
- szűrÅ erÅsségének csökkentését.
- Ãltalában jobb zajminÅséget érhetsz el az utófeldolgozással.
- Ha a H.264 kódolásod túl foltos vagy maszatos, próbáld meg
- lejátszani a <option>-vf noise</option> kapcsolóval.
- A <option>-vf noise=8a:4a</option>-nak a gyenge mellékhatásokat
- el kell tüntetnie.
- Majdnem biztos, hogy jobb eredményt kapsz, mint a deblocking
- szűrÅvel való pepecseléssel.
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>Kódolás beállÃtási példák</title>
-
-<para>
-A következÅ beállÃtások példák a különbözÅ kódolási opciók
-kombinációjára, amik érintik a sebességet vagy a minÅséget
-ugyan annál a cél bitrátánál.
-</para>
-
-<para>
-Az összes kódolási beállÃtást egy 720x448 @30000/1001 fps-es minta
-videón teszteltük, a cél bitráta 900kbps volt, a gép pedig egy
-AMD-64 3400+ 2400 MHz-en, 64 bit-es módban.
-Mindegyik kódolási beállÃtás tartalmazza a kódolási sebességet
-(képkocka per másodpercben) és a PSNR veszteséget (dB-ben) a
-"nagyon jó minÅséghez" viszonyÃtva.
-Kérlek vedd figyelembe, hogy a forrásanyagodtól, a géped tÃpusától
-és a fejlesztésektÅl függÅen különbözÅ eredményeket kaphatsz.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>LeÃrás</entry>
- <entry>Kódolási opciók</entry>
- <entry>sebesség (fps-ben)</entry>
- <entry>relatÃv PSNR veszteség (dB-ben)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Nagyon jó minÅség</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>Jó minÅség</entry>
- <entry><option>subq=5:partitions=all:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13fps</entry>
- <entry>-0.89dB</entry>
-</row>
-<row>
- <entry>Gyors</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-video-for-windows">
-<title>
- Kódolás a <systemitem class="library">Video For Windows</systemitem>
- codec családdal
-</title>
-
-<para>
-A Video for Windows egyszerű kódolást biztosÃt bináris videó codec-ekkel.
-A következŠcodec-ekkel kódolhatsz (ha több is van, kérjük áruld el!)
-</para>
-
-<para>
-Tartsd észben, hogy ez nagyon kÃsérleti támogatás és néhány codec hibásan
-működhet. Néhány codec csak bizonyos szÃnterekben működik jól, próbáld ki
-a <option>-vf format=bgr24</option> és <option>-vf format=yuy2</option>
-opciókat, ha a codec hibázik vagy rossz kimenetet ad.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>Video for Windows által támogatott codec-ek</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Videó codec fájl név</entry>
- <entry>LeÃrás</entry>
- <entry>md5sum</entry>
- <entry>Megjegyzés</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft veszteségmentes codec vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry><option>-vf format</option> kell hozzá</entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV (veszteségmentes) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPEG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry>shareware hiba windows-on</entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry><option>-ffourcc VP70</option></entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>msulvc06.DLL</entry>
- <entry>MSU Lossless codec (MSUD)</entry>
- <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
- <entry>
- Dekódolható a <application>Window Media Player</application>rel,
- de az <application>MPlayer</application>rel nem (még).
- </entry>
-</row>
-<row>
- <entry>camcodec.dll</entry>
- <entry>CamStudio veszteségmentes videó codec (CSCD)</entry>
- <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
- <entry>sf.net/projects/camstudio</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-Az elsŠoszlop a codec nevét tartalmazza, amit a <literal>codec</literal>
-paraméter után kell megadni, Ãgy:
-<option>-xvfcopts codec=divx.dll</option>
-Az egyes codec-ek által használt FourCC kód zárójelben látható.
-</para>
-
-<informalexample>
-<para>
-Egy példa egy ISO DVD ajánló VP6 flash videó fájlba történŠátalakÃtására
-a compdata bitráta beállÃtásaival:
-<screen>
-mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf
-</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-video-for-windows-bitrate-settings">
-<title>A vfw2menc használata a codec beállÃtásokat tartalmazó fájl elkészÃtéséhez.</title>
-
-<para>
-A Video for Windows codec-ekkel történÅ kódoláshoz be kell állÃtanod a
-bitrátát és egyéb opciókat. x86-on ez működik mind *NIX, mind Windows alatt.
-</para>
-<para>
-ElÅször is le kell fordÃtanod a <application>vfw2menc</application> programot.
-A <filename class="directory">TOOLS</filename> alkönyvtárban található
-az MPlayer forrásában.
-A Linux alatti elkészÃtéséhez a <application>Wine</application>-t kell használni:
-<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
-Windows alatt <application>MinGW</application> vagy
-<application>Cygwin</application> használatával:
-<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
-Az <application>MSVC</application>-vel történÅ fordÃtáshoz szükséges a getopt.
-A getopt megtalálható az eredeti <application>vfw2menc</application>
-archivban itt:
-The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer win32 alatt</ulink> projekt.
-</para>
-<informalexample>
-<para>
-Az alábbi példa VP6 codec-kel működik.
-<screen>
-vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf
-</screen>
-Ez megnyitja a VP6 codec dialógus ablakot.
-Ismételd meg ezt a második lépéshez is
-és használd a <option>-s <replaceable>secondpass.mcf</replaceable></option> kapcsolót.
-</para>
-</informalexample>
-<para>
-A Windows használók a
-<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option>
-kapcsolóval a kódolás megkezdése elÅtt jelenÃthetik meg a codec dialógust.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-quicktime-7">
-<title><application>QuickTime</application>-kompatibilis fájlok
-készÃtése a <application>MEncoder</application> használatával</title>
-
-
-<sect2 id="menc-feat-quicktime-7-why-use-it">
-<title>Miért akarna bárki is <application>QuickTime</application>-kompatibilis fájlokat készÃteni?</title>
-
-<para>
- Több oka is van annak, hogy kÃvánatos lehet
- <application>QuickTime</application>-kompatibilis fájlok készÃtése.
-</para>
-<itemizedlist>
-<listitem><para>
- Azt szertnéd, hogy minden gép le tudja játszani a kódolásod bármelyik
- fÅ platformon (Windows, Mac OS X, Unices …).
-</para></listitem>
-<listitem><para>
- A <application>QuickTime</application> több hardveres és szoftveres
- gyorsÃtást ki tud használni Mac OS X-en, mint a platform-független
- lejátszók, mint például az <application>MPlayer</application>
- vagy a <application>VLC</application>.
- Ez azt jelenti, hogy a kódolásaid jó eséllyel szebben mennek majd egy
- régi G4-alapú gépen.
-</para></listitem>
-<listitem><para>
- A <application>QuickTime</application> 7 támogatja a következÅ
- generációs H.264 codec-et, ami sokkal jobb képminÅséget biztosÃt,
- mint az elÅzÅ codec generációk (MPEG-2, MPEG-4 …).
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-constraints">
-<title><application>QuickTime</application> 7 korlátok</title>
-
-<para>
- A <application>QuickTime</application> 7 támogatja a H.264 videót
- és az AAC audiót, de nem támogatja ezek AVI konténer formátumba
- történŠkeverését. Mindamellett használhatod a
- <application>MEncoder</application>t a videó és az audió kódolásához,
- és utána egy külsŠprogrammal, mint pl. az
- <application>mp4creator</application> (az
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink> része)
- újrakevered a videó és audió sávokat egy MP4 konténerbe.
-</para>
-
-<para>
- A <application>QuickTime</application> H.264 támogatása korlátolt,
- Ãgy néhány fejlett funkció nem lesz elérhetÅ.
- Ha olyan funkciókkal kódolod el a videódat, amiket a
- <application>QuickTime</application> 7 nem támogat, a
- <application>QuickTime</application>-alapú lejátszók egy csodás
- fehér képet fognak mutatni neked a várt videó helyett.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">B-frame-k</emphasis>:
- A <application>QuickTime</application> 7 maximum 1 B-frame-t támogat, pl.
- <option>-x264encopts bframes=1</option>. Ez azt jelenti, hogy a
- <option>b_pyramid</option>-nek és a <option>weight_b</option>-nek nem
- lesz hatása, mivel 1-nél több <option>bframe</option> kell nekik.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Makroblokkok</emphasis>:
- A <application>QuickTime</application> 7 nem támogatja a 8x8 DCT makroblokkokat.
- Ez az opció (<option>8x8dct</option>) ki van kapcsolva alapértelmezésben,
- ezért gyÅzÅdj meg, hogy még véletlenül sem engedélyezed. Ez azt is jelenti,
- hogy a <option>i8x8</option>-nak nem lesz hatása, mivel ahhoz a
- <option>8x8dct</option> szükséges.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Méret arány</emphasis>:
- A <application>QuickTime</application> 7 nem támogatja a SAR (sample
- aspect ratio) információkat az MPEG-4 fájlokban; feltételezi, hogy a SAR=1.
- Olvasd el a
- <link linkend="menc-feat-quicktime-7-scale">méretezés részt</link>
- a tüneti kezeléshez. A <application>QuickTime</application> X-ben már nincs
- meg ez a korlátozás.
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-crop">
-<title>Vágás</title>
-<para>
- Tegyük fel, hogy rip-pelni szeretnéd a "Narnia krónikái" frissen vásárolt
- másolatát. A DVD-d régió 1-es,
- ami azt jelenti, hogy NTSC. Az alábbi példa működik PAL-ra is,
- feltéve, hogy elhagyod a <option>-ofps 24000/1001</option>-et és kicsit más
- <option>crop</option> és <option>scale</option> méreteket adsz meg.
-</para>
-
-<para>
- Miután lefuttattad az <option>mplayer dvd://1</option>-et, kövesd a
- <link linkend="menc-feat-telecine">Mit kezdjünk a telecine-nel és az átlapolással
- NTSC DVD-ken</link> részben leÃrtakat, és rájössz, hogy ez egy
- 24000/1001 fps-es progresszÃv videó. Ez kicsit leegyszerűsÃti a folyamatot,
- mivel nem kell inverz telecine szűrÅt használnod, mint a
- <option>pullup</option> vagy deinterlacing szűrÅt, mint a
- <option>yadif</option>.
-</para>
-
-<para>
- Ezután le kell vágnod a fekete sávokat a videó tetején és alján,
- ahogy az <link linkend="menc-feat-dvd-mpeg4-example-crop">ebben</link>
- az elÅzÅ részben le van Ãrva.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-scale">
-<title>Méretezés</title>
-
-<para>
- A következÅ lépés szÃvszaggató.
- A <application>QuickTime</application> 7 nem támogatja azon MPEG-4 videókat,
- melyekben a sample aspect ratio 1-tÅl különbözÅ, Ãgy vagy fel kell méretezned
- (ami rengeteg lemezterületet elvisz) vagy le kell méretezned (ami miatt elveszik
- a forrás pár részlete) a videót négyzetes pixelekre.
- Bárhogy is csinálod, ez nagyon nem jó, de nem kerülheted ki, ha
- <application>QuickTime</application> 7 által lejátszható videót akarsz.
- A <application>MEncoder</application> végre tudja hajtani a megfelelŠfel-
- illetve leméretezést megfelelÅen a <option>-vf scale=-10:-1</option> vagy
- a <option>-vf scale=-1:-10</option> megadásával.
- Ez a videódat a vágott magasságnak megfelelŠszélességűre méretezi,
- 16 legközelebbi többszörösére kerekÃtve az optimális tömörÃtéshez.
- Emlékezz rá, hogy ha vágsz, elÅször vágnod kell, utána méretezni:
-
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-avsync">
-<title>A/V szinkron</title>
-
-<para>
- Mivel egy másik konténerbe keversz, mindig ajánlott a <option>harddup</option>
- opció használata annak biztosÃtására, hogy a duplikált kockák a kimeneti
- videóban is duplikálva lesznek. Ezen opció nélkül a
- <application>MEncoder</application> egyszerűen csak egy jelet tesz a videó
- folyamba a képkocka duplikálásának helyére és innentÅl a kliens szoftveren
- műlik, hogy kétszer mutatja-e az adott kockát. Sajnos ez a "szoft duplikálás"
- nem éli túl az újrakeverést, Ãgy az audió lassan elveszÃti a szinkront a videóval.
-</para>
-
-<para>
- A végleges szűrÅlánc Ãgy néz ki:
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-bitrate">
-<title>Bitráta</title>
-
-<para>
- Mint mindig, a bitráta megválasztása a forrás technikai tulajdonságaitól függ,
- ahogy az
- <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">itt</link> le van Ãrva,
- valamint az egyéni ÃzlésedttÅl is.
- Ebben a filmben sok akció van nagy részletességgel, de a H.264 videó sokkal
- kisebb bitrátán is jobban néz ki, mint az XviD vagy más MPEG-4 codec-ek.
- Hosszas kÃsérletezés után ezen leÃrás szerzÅje úgy döntött, hogy 900kbps-en
- kódolja el ezt a filmet és úgy hiszi, hogy nagyon jól néz ki.
- Csökkentheted a bitrátát, ha több helyet kell megspórolnod vagy növelheted,
- ha javÃtanod kell a minÅséget.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-example">
-<title>Kódolási példa</title>
-
-<para>
- Készen állsz a videó elkódolására. Mivel érdekel a minÅség, természetesen
- két-lépéses kódolást futtatsz le. Hogy megspóroljunk némi kódolási idÅt,
- megadhatod a <option>turbo</option> opciót az elsŠlépésben; ez lecsökkenti
- a <option>subq</option>-t és a <option>frameref</option>-et 1-re. Némi
- lemezterület megspórolása érdekében használhatod az
- <option>ss</option> opciót a videó elsŠpár másodpercének levágásához.
- (Ãgy tűnik, hogy a konkrét film 32 másodpercnyi stáblistát és logót
- tartalmaz.) A <option>bframes</option> lehet 0 vagy 1.
- A többi opció a <link
- linkend="menc-feat-x264-encoding-options-speedvquality">Kódolás az
- <systemitem class="library">x264</systemitem> codec-kel</link> részben
- és a man oldalon van leÃrva.
-
- <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- Ha több processzoros géped van, ne hagy ki a kódolás drasztikus módon történÅ
- gyorsÃtásának a lehetÅségét, melyet az
- <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
- <systemitem class="library">x264</systemitem> több-processzoros módja</link>
- nyújt a <option>threads=auto</option> <option>x264encopts</option>-ban
- történŠmegadásával a parancssorban.
-</para>
-
-<para>
- A második lépés ugyan ez, kivéve, hogy meg kell adni a kimeneti fájlt és
- a <option>pass=2</option>-Åt.
-
- <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-</para>
-
-<para>
- Az eredmény AVI tökéletesen lejátszható az
- <application>MPlayer</application>-rel, de természetesen a
- <application>QuickTime</application> nem játsza le, mivel nem támogatja
- az AVI-ba kevert H.264-et.
- Ezért a következŠlépés a videó MP4 konténerbe történŠkeverése.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-remux">
-<title>Ãjrakeverés MP4-ként</title>
-
-<para>
- Több mód is van az AVI MP4-be történŠújrakeverésére. Használhatod az
- <application>mp4creator</application>-t, ami az
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink> része.
-</para>
-
-<para>
- ElÅször az AVI-ból különálló audió és videó folyamokat kell készÃteni az
- <application>MPlayer</application>rel.
-
- <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
-mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
-
- A fájl nevek fontosak; az <application>mp4creator</application>
- <systemitem>.aac</systemitem> kiterjesztésű AAC audió folyamot és
- <systemitem>.h264</systemitem> kiterjesztésű H.264 videó folyamot vár.
-</para>
-
-<para>
- Ezután használd az <application>mp4creator</application>-t egy új MP4
- fájl létrehozásához az audió és videó folyamból.
-
- <screen>mp4creator -create=narnia.aac narnia.mp4
-mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
-
- A kódolási lépéstÅl eltérÅen itt a framerátát decimálisként
- (23.976) kell megadni, nem törtként (24000/1001).
-</para>
-
-<para>
- Ennek a <systemitem>narnia.mp4</systemitem> fájlnak már bármilyen
- <application>QuickTime</application> 7 alkalmazással lejátszhatónak kell
- lennie, mint például a <application>QuickTime Player</application> vagy
- az <application>iTunes</application>. Ha a videót böngészÅben szeretnéd
- megnézni a <application>QuickTime</application> plugin-nel, utasÃtanod kell
- a <application>QuickTime</application> plugin-t, hogy kezdje meg a lejátszást,
- miközben még tart a letöltés. Az <application>mp4creator</application>
- bele tudja tenni a videóba az ehhez szükséges utasÃtó sávokat:
-
- <screen>mp4creator -hint=1 narnia.mp4
-mp4creator -hint=2 narnia.mp4
-mp4creator -optimize narnia.mp4</screen>
-
- EllenÅrizheted a végsÅ eredményt, hogy meggyÅzÅdj róla, hogy az utasÃtó
- sávok rendben elkészültek:
-
- <screen>mp4creator -list narnia.mp4</screen>
-
- Látnod kell a sávok listáját: 1 audió, 1 videó és 2 hint sáv.
-
-<screen>Track Type Info
-1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
-2 video H264 Main at 5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
-3 hint Payload mpeg4-generic for track 1
-4 hint Payload H264 for track 2
-</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-metadata">
-<title>Metadata tag-ek hozzáadása</title>
-
-<para>
- Ha tag-eket akarsz hozzáfűzni a videódhoz, amiket az iTunes megjelnÃt, használhatod az
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>-t.
-
- <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- A <option>--metaEnema</option> opció eltávolÃt minden meglévÅ metadata-t
- (<application>mp4creator</application> beszúrja a saját nevét az
- "encoding tool" tag-be), a <option>--freefree</option> pedig visszaszerzi
- a törölt metadata által elfoglalt helyet.
- A <option>--stik</option> opció beállÃtja a videó tÃpusát (mint pl. Movie
- vagy TV Show), aminek a segÃtségével az iTunes csoportosÃtani tudja a fájlokat.
- A <option>--overWrite</option> opció felülÃrja az eredeti fájlt;
- ennélkül az <application>AtomicParsley</application> egy új, automatikusan
- elnevezett fájlt hoz létre ugyan abban a könyvtárban és érintetlenül hagyja
- az eredeti fájlt.
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>A <application>MEncoder</application>
- használata VCD/SVCD/DVD-kompatibilis fájlok készÃtéséhez.</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>Formátum korlátok</title>
-
-<para>
-A <application>MEncoder</application> képes VCD, SCVD és DVD formátumú
-MPEG fájlok létrehozására a
-<systemitem class="library">libavcodec</systemitem> könyvtár segÃtségével.
-Ezek a fájlok a
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>-rel
-vagy a
-<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>-ral
-együttműködve felhasználhatók szabványos lejátszókban lejátszható
-lemezek készÃtéséhez.
-</para>
-
-<para>
-A DVD, SVCD és VCD formátumok súlyos korlátokkal rendelkeznek.
-A kódolt képméretekbÅl és a képarányokból csak nagyon kevés áll
-rendelkezésre.
-Ha a filmed nem felel meg ezeknek a követelményeknek, méretezned,
-vágnod vagy fekete keretet kell hozzáadnod a képhez, hogy kompatibilis
-legyen.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>Formátum korlátok</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
-<row>
- <entry>Formátum</entry>
- <entry>Felbontás</entry>
- <entry>V. Codec</entry>
- <entry>V. Bitráta</entry>
- <entry>Mintavételi ráta</entry>
- <entry>A. Codec</entry>
- <entry>A. Bitráta</entry>
- <entry>FPS</entry>
- <entry>Arány</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (csak 720x480-nál)</entry>
-</row>
-<row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- Ezek a felbontások ritkán használatosak a DVD-ken, mert elég
- alacsony minÅségűek.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (csak 720x576-nál)</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Ha a filmednek 2.35:1 méretaránya van (a legtöbb akció film), fekete
-keretet kell hozzáadnod vagy le kell vágnod a filmet 16:9-es méretarányra
-DVD vagy VCD készÃtéshez.
-Ha fekete keretet adsz hozzá, próbáld meg 16 pixel-es határra igazÃtani
-Åket a kódolási teljesÃtményre való hatásuk minimalizálásához.
-Szerencsére a DVD-nek eléggé magas a bitrátája, nem kell aggódnod
-túlságosan a kódolás hatékonysága miatt, de az SVCD és a VCD
-bitráta-szegény, ezért erÅfeszÃtéseket kell tenni az elfogadható
-minÅségért is.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>GOP méret határok</title>
-
-<para>
-A DVD, VCD és SVCD eléggé alacsony GOP (Group of Pictures)
-méret értékekre korlátoz le.
-Egy 30 fps-es anyagnál a legnagyobb megengedett GOP méret 18.
-25 vagy 24 fps-nél a maximum 15.
-A GOP méretét a <option>keyint</option> opcióval lehet beállÃtani.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>Bitráta korlátok</title>
-
-<para>
-A VCD videónak CBR-esnek kell lennie 1152 kbps-en.
-Ehhez a nagyon erÅs megkötéshez egy extrém alacsony, 327 kilobit-es vbv
-buffer méret társul.
-Az SVCD megengedi a bitráta változtatását 2500 kbps-ig és kicsit kevésbé
-korlátozó, 917 kilobit-es vbv buffer méretet engedélyez.
-A DVD videó bitrátája bárhol lehet 9800 kbps-ig (bár az általános
-bitráták ennek felénél vannak) és a vbv buffer méret is 1835 kilobit.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>Kimeneti opciók</title>
-
-<para>
-A <application>MEncoder</application> rendelkezik a kimeneti formátumot
-beállÃtó kapcsolókkal.
-Ezen opciók használatával utasÃthatod, hogy helyes tÃpusú fájlt
-készÃtsen.
-</para>
-
-<para>
-A VCD és SVCD opciókat xvcd-nek és xsvcd-nek hÃvják, mert kiterjesztett
-formátumúak.
-Nem teljesen kompatibilisek, fÅként mivel a kimenet nem tartalmaz
-scan offszet-eket.
-Ha SVCD CD képet kell készÃtened, add át a kimeneti fájlt a
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>-nek.
-</para>
-
-<para>
-VCD:
-<screen>-of mpeg -mpegopts format=xvcd</screen>
-</para>
-
-<para>
-SVCD:
-<screen>-of mpeg -mpegopts format=xsvcd</screen>
-</para>
-
-<para>
-DVD (minden kockánál idÅbélyeggel, ha lehetséges):
-<screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
-</para>
-
-<para>
-DVD NTSC Pullup-pal:
-<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
-Ez engedélyezi a 24000/1001 fps-es progresszÃv tartalom 30000/1001
-fps-sel történÅ kódolását a DVD-elÅÃrások betartásával.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>Képarány</title>
-
-<para>
-A <option>-lavcopts</option> aspect argumentuma használható a fájl
-képarányának elkódolásához.
-Lejátszás közben a képarányt a videó megfelelÅ méretűre állÃtásához
-használják.
-</para>
-
-<para>
-16:9 vagy "Widescreen"
-<screen>-lavcopts aspect=16/9</screen>
-</para>
-
-<para>
-4:3 vagy "Fullscreen"
-<screen>-lavcopts aspect=4/3</screen>
-</para>
-
-<para>
-2.35:1 vagy "Cinemascope" NTSC
-<screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
-A helyes méretarány kiszámÃtásához használd a 854/2.35 = 368-as kibÅvÃtett
-NTSC szélességet.
-</para>
-
-<para>
-2.35:1 vagy "Cinemascope" PAL
-<screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
-A helyes méretarány kiszámÃtásához használd a 1024/2.35 = 432-es kibÅvÃtett
-PAL szélességet.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>A/V szinkron megtartása</title>
-
-<para>
-Az audió/videó szinkronizáció kódolás közbeni megtartásához a
-<application>MEncoder</application>nek el kell dobni vagy meg kell
-duplázni képkockákat. Ez jobban működik ha AVI fájlba keversz, de
-majdnem biztosan sikertelen az A/V szinkron megtartása más muxer-ekkel,
-mint pl. az MPEG. Ezért van, hogy a <option>harddup</option> videó
-szűrÅt hozzá kell csatolni a szűrÅlánc végéhez ezen problémák
-elkerüléséhez.
-A <option>harddup</option>-ról további információkat a
-<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">muxálás és az A/V szinkron megbÃzhatósága</link>
-cÃmű fejezetben találsz vagy a man oldalon.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>Mintavételi ráta konvertálás</title>
-
-<para>
-Ha az eredeti fájl audió mintavételi rátája nem ugyan olyan, mint ami
-a cél formátumban szükséges, mintavételi ráta konvertálást kell
-végrehajtani.
-Ez a <option>-srate</option> és <option>-af lavcresample</option>
-kapcsolók együttes használatával érhetŠel.
-</para>
-
-<para>
-DVD:
-<screen>-srate 48000 -af lavcresample=48000</screen>
-</para>
-
-<para>
-VCD és SVCD:
-<screen>-srate 44100 -af lavcresample=44100</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>A libavcodec használata VCD/SVCD/DVD kódoláshoz</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Bevezetés</title>
-
-<para>
- A <systemitem class="library">libavcodec</systemitem> használható
- VCD/SVCD/DVD kompatibilis videó készÃtéséhez a megfelelÅ opciókkal.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-
-<para>
-Következzék egy lista a <option>-lavcopts</option>-ban használható
-mezÅkrÅl, amiknek a megváltoztatására szükséged lehet a VCD, SVCD,
-vagy DVD kompatibilis film készÃtésekor:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> a VCD-hez, SVCD-hez vagy PAL DVD-hez;
- <option>ac3</option> a leggyakoribb DVD-hez.
- PCM audió is használható DVD-hez, de legtöbbször csak helypazarlás.
- Figyelj rá, hogy az MP3 audió ezen formátumok egyikével sem
- kompatibilis, de a lejátszóknak gyakran semmi gondot nem okoz a
- lejátszása.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 VCD-nél; 384-ig SVCD-nél; 1536-ig DVD-nél, de általában a használt
- értékek a sztereónál 192 kbps-étÅl az 5.1 csatornás hang 384 kbps-éig
- változnak.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> VCD-hez;
- <option>mpeg2video</option> SVCD-hez;
- <option>mpeg2video</option> használatos általában a DVD-hez, de lehet
- <option>mpeg1video</option> is a CIF felbontásokhoz.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- A GOP méret beállÃtásához használható.
- 18 a 30fps-es anyagé vagy 15 a 25/24 fps-esé.
- A kereskedelmi elÅállÃtók a 12-es kulcskocka intervallumot preferálják.
- Lehetséges ezen érték nagyobbra állÃtása is a legtöbb lejátszóval való
- kompatibiliÃtás megtartása mellett.
- A 25-ös <option>keyint</option> soha nem okoz problémát.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 VCD-nél, 917 SVCD-nél és 1835 DVD-nél.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152 VCD-nél. Elhagyható SVCD és DVD esetében.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 VCD-nél; 2500 SVCD-nél; 9800 DVD-nél.
- SVCD-hez és DVD-hez az egyéni kÃvánalmaidnak és igényeidnek megfelelÅen
- használhatsz magasabb értékeket is.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 VCD-nél;
- legfeljebb 2500 SVCD-nél;
- legfeljebb 9800 DVD-nél.
- Az utóbbi két formátumnál a vbitrate egyéni igények szerint állÃtható
- be.
- Például szeretnéd, hogy 20 óra vagy akörüli anyag felférjen egy
- DVD-re, használhatod a vbitrate=400-at.
- Az eredmény videó minÅsége valószÃnűleg elég rossz lesz.
- Ha megpróbálod kisakkozni a lehetÅ legjobb minÅséget a DVD-n, használd
- a vbitrate=9800-at, de emlékezz rá, hogy emiatt kevesebb, mint egy
- órányi videód lehet egy egyrétegű DVD-n.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vstrict</emphasis>:
- <option>vstrict</option>=0 ajánlott DVD-k készÃtéséhez.
- Ezen opció nélkül a <application>MEncoder</application> egy olyan
- folyamot készÃt, amit néhány asztali lejátszó nem tud helyesen
- dekódolni.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>Példák</title>
-
-<para>
-Ãltalában ez a minimum <option>-lavcopts</option> egy videó elkódolásához:
-</para>
-<para>
-VCD:
-<screen>
--lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
-vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-SVCD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
-keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-DVD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>Haladó opciók</title>
-
-<para>
-Jobb minÅségű kódoláshoz valószÃnűleg használni szeretnéd a lavcopts
-minÅség-javÃtó opcióit is, mint például a <option>trell</option>,
-<option>mbd=2</option>, vagy mások.
-Figyelj rá, hogy a <option>qpel</option> és a <option>v4mv</option>
-bár gyakran hasznosak MPEG-4 esetén, nem használhatóak MPEG-1 vagy
-MPEG-2-vel. Ha nagyon jó minÅségű DVD kódolást akarsz készÃteni,
-hasznos lehet a <option>dc=10</option> opció hozzáadása a lavcopts-hoz.
-Ez segÃti csökkenteni a blokkosodást a szÃntelen részeknél. Mindezt
-összerakva, itt egy példa jó minÅségű DVD készÃtéséhez szükséges
-lavcopts-ra:
-</para>
-
-<para>
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
-keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
-vqmin=1:lmin=1:dc=10:vstrict=0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>Audió kódolása</title>
-
-<para>
-A VCD és az SVCD támogatja az MPEG-1 layer II audiót, a
-<systemitem class="library">toolame</systemitem>,
-<systemitem class="library">twolame</systemitem>,
-vagy a <systemitem class="library">libavcodec</systemitem> MP2
-kódolójának felhasználásával.
-A libavcodec MP2 messze nincs olyan jó, mint a másik két könyvtár,
-azonban az mindig elérhetŠés használható.
-A VCD csak konstans bitrátájú audiót (CBR) támogat, mÃg az SVCD
-tudja a változó bitrátát (VBR) is.
-De vigyázz a VBR-rel, mert néhány hibás asztali lejátszó sem támogatja.
-</para>
-
-<para>
-A DVD audióhoz a <systemitem class="library">libavcodec</systemitem>
-AC-3 codec-je használható.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-
-<para>
-VCD-hez és SVCD-hez:
-<screen>-oac toolame -toolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-
-<para>
-VCD-hez és SVCD-hez:
-<screen>-oac twolame -twolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-
-<para>
-DVD-hez két csatornás hanggal:
-<screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
-</para>
-
-<para>
-DVD-hez 5.1 csatornás hanggal:
-<screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
-</para>
-
-<para>
-VCD-hez és SVCD-hez:
-<screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>Mindent összevetve</title>
-
-<para>
-Ez a rész néhány teljes parancsot mutat a VCD/SVCD/DVD kompatibilis
-videók készÃtéséhez.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>PAL DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>NTSC DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>AC-3 Audiót tartalmazó PAL AVI DVD-re</title>
-
-<para>
-Ha a forrás már AC-3 audióval rendelkezik, használd a -oac copy kapcsolót az
-újrakódolása helyett.
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -ofps 25 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>AC-3 Audiót tartalmazó NTSC AVI DVD-re</title>
-
-<para>
-Ha a forrás már AC-3 audiót tartalmaz és NTSC @ 24000/1001 fps:
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>PAL SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>NTSC SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>PAL VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>NTSC VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/hu/faq.xml b/DOCS/xml/hu/faq.xml
deleted file mode 100644
index 5a91cb6..0000000
--- a/DOCS/xml/hu/faq.xml
+++ /dev/null
@@ -1,1239 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r31816 -->
-<chapter id="faq" xreflabel="FAQ">
-<title>Gyakran ismételt kérdések</title>
-
-<qandaset defaultlabel="qanda">
-
-<qandadiv id="faq-development">
-<title>Fejlesztés</title>
-
-<qandaentry>
-<question><para>
-Hogyan készÃtsek egy megfelelÅ patchet az <application>MPlayer</application>hez?
-</para></question>
-<answer><para>
-KészÃtettünk egy <ulink url="../../tech/patches.txt">rövid leÃrást</ulink>,
-melyben minden fontos dolgot megtalálsz. Kérünk kövesd az utasÃtásait!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan fordÃthatom le az <application>MPlayer</application>t egy új nyelvre?
-</para></question>
-<answer><para>
-Olvasd el a <ulink url="../../tech/translations.txt">fordÃtás HOGYAN</ulink>-t,
-az elmagyaráz mindent. További segÃtséget kaphatsz az
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer-translations</ulink>
-levelezési listán.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan támogathatom az <application>MPlayer</application> fejlesztését?
-</para></question>
-<answer><para>
-Több mint örömmel fogadjuk a hardver és szoftver
-<ulink url="http://www.mplayerhq.hu/donations.html">felajánlásokat</ulink>.
-Ezek segÃtenek nekünk az <application>MPlayer</application> folyamatos fejlesztésében.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan lehetek én is <application>MPlayer</application> fejlesztÅ?
-</para></question>
-<answer><para>
-Mindig örömmel várjuk a programozókat és a dokumentáció készÃtÅket. Olvasd el a
-<ulink url="../../tech/">technikai dokumentációt</ulink>
-hogy egy kicsit megértsd a dolgokat. Majd fel kell iratkoznod az
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-levelezési listára és elkezdeni kódolni. Ha a dokumentáció készÃtésében szeretnél segÃteni,
-csatlakozz az <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>
-levelezési listához!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Miért nem használjátok az autoconf/automake párost?
-</para></question>
-<answer><para>
-Van egy saját, moduláris fordÃtó rendszerünk. MeglehetÅsen jól teszi
-a dolgát, Ãgy hát miért váltsunk? EzonkÃvül nem szeretjük az auto* eszközöket,
-mint ahogy <ulink url="http://freshmeat.net/articles/view/889/">mások sem</ulink>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-compilation-installation">
-<title>FordÃtás és telepÃtés</title>
-
-<qandaentry>
-<question><para>
-A fordÃtás leáll hibaüzenettel és a <application>gcc</application> valami
-titokzatos üzenetet ad ki magából, ami a
-<systemitem>internal compiler error</systemitem> vagy
-<systemitem>unable to find a register to spill</systemitem> vagy
-<systemitem>can't find a register in class `GENERAL_REGS'
-while reloading `asm'</systemitem>
-sorokat tartalmazza.
-</para></question>
-<answer><para>
-Belebotlottál egy <application>gcc</application> hibába. Kérjük
-<ulink url="http://gcc.gnu.org/bugs.html">jelentsd a gcc csapatnak</ulink>
-és ne nekünk. Valamiért úgy tűnik az <application>MPlayer</application>
-folyamatosan fordÃtó hibákat idéz elÅ. Azonban mi ezeket nem tudjuk javÃtani
-és nem teszünk "kerülÅutakat" a kódba a fordÃtó hibái miatt. Hogy elkerüld
-ezt a problémát, vagy használj ismert és megbÃzható, stabil verziót a
-fordÃtóból vagy frissÃtsd rendszeresen.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Vannak bináris (RPM/Debian) csomagok az <application>MPlayer</application>bÅl?
-</para></question>
-<answer><para>
-Nézd meg a <link linkend="debian">Debian</link> és az <link linkend="rpm">RPM</link>
-részt bÅvebb infókért!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan fordÃthatok 32 bites <application>MPlayer</application>t egy 64 bites Athlon-on?
-</para></question>
-<answer><para>
-Próbáld meg a következŠconfigure kapcsolókkal:
-<screen>
-./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-A konfiguráció ezzel a szöveggel ér véget és az <application>MPlayer</application> nem fordul le!
-<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
-</para></question>
-<answer><para>
-A gcc-d nincs megfelelÅen installálva, ellenÅrizd a <filename>config.log</filename> fájlt
-a részletekért!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Van egy Matrox G200/G400/G450/G550 kártyám, hogyan tudom lefordÃtani/használni
-az <systemitem>mga_vid</systemitem> vezérlÅt?
-</para></question>
-<answer><para>
-Olvasd el az <link linkend="mga_vid">mga_vid</link> részt.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-A 'make' közben az <application>MPlayer</application> hiányzó X11 könyvtárak miatt
-panaszkodik. Nem értem, <emphasis>van</emphasis> telepÃtve X11-em!?
-</para></question>
-<answer><para>
-... de nincsenek telepÃtve az X11 fejlesztÅi csomagjai. Vagy rosszul vannak fent.
-<filename>XFree86-devel*</filename> a nevük Red Hat alatt,
-<filename>xlibs-dev</filename> Debian Woody és
-<filename>libx11-dev</filename> Debian Sarge alatt. Nézd meg azt is, hogy
-a <filename class="directory">/usr/X11</filename> és a
-<filename class="directory">/usr/include/X11</filename> szimbolikus linkek
-léteznek-e.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-A Mac OS 10.3 alatti fordÃtás számos szerkesztési hibát okoz.
-</para></question>
-<answer>
-<para>
-A szerkesztési hiba, amit tapasztalhatsz, valószÃnűleg Ãgy néz ki:
-<screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
-</screen>
-A probléma, hogy az Apple fejlesztÅi 10.4-et használnak a szoftvereik
-fordÃtásához és a 10.3 felhasználók felé történÅ terjesztéshez a
-Software Update-n keresztül.
-A nem definiált szimbólumok jelen vannak a Mac OS 10.4-ben,
-de nincsenek ott a 10.3-ban.
-Az egyik megoldás a QuickTime 7.0.1-re történŠdowngrade lehet.
-De van egy jobb is.
-</para>
-<para>
-Szerezd be a
-<ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">framework-ök régebbi másolatát</ulink>.
-Ez egy tömörÃtett fájl, ami tartalmazza a QuickTime
-7.0.1 Framework-öt és a 10.3.9 QuartzCore Framework-öt.
-</para>
-<para>
-Csomagold ki a fájlokat valahova a System könyvtáradon kÃvülre.
-(vagyis ne telepÃtsd ezen framework-öket a
-<filename class="directory">/System/Library/Frameworks</filename>
-könyvtáradba! A régebbi másolat csak a szerkesztési hibák ellen kell!)
-<screen>gunzip < CompatFrameworks.tgz | tar xvf -</screen>
-A config.mak fájlba Ãrd be
-<systemitem>-F/eleresi/ut/ahova/kicsomagoltad</systemitem>
-az <systemitem>OPTFLAGS</systemitem> változóhoz.
-Ha <application>X-Code</application>-ot használsz, egyszerűen kiválaszthatod
-ezeket a framework-öket a rendszer sajátjai helyett.
-</para>
-<para>
-A keletkezŠ<application>MPlayer</application> bináris a rendszeredbe
-telepÃtett framework-öt fogja használni dinamikus link-ek segÃtségével,
-melyek futási idÅben kerülnek feloldásra.
-(Ezt leellenÅrizheted a <systemitem>otool -l</systemitem> használatával).
-</para>
-</answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-general">
-<title>Ãltalános kérdések</title>
-
-<qandaentry>
-<question><para>
-Van <application>MPlayer</application>rel foglalkozó levelezési lista?
-</para></question>
-<answer><para>
-Igen. Lásd a weboldal
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">levelezési lista részét</ulink>!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Találtam egy csúnya hibát, amikor megpróbáltam lejátszani a kedvenc videómat!
-Kit értesÃtsek?
-</para></question>
-<answer><para>
-Kérünk olvasd el a <link linkend="bugreports">hiba jelentési útmutatót</link>
-és kövesd az utasÃtásait.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Egy core dump-ot kapok, amikor folyamokat dump-olok, mi a baj?
-</para></question>
-<answer><para>
-Ne pánikolj. Keresd meg a zsepidet.</para>
-<para>
-Na komolyan, vedd már észre a smiley-t és keresd meg a
-<filename>.dump</filename>-ra végzÅdÅ fájlokat!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ha elindÃtom a lejátszást, ezt az üzenetet kapom, de látszólag minden rendben van:
-<screen>Linux RTC init: ioctl (rtc_pie_on): Permission denied</screen>
-</para></question>
-<answer><para>
-Speciálisan beállÃtott kernel kell az új idÅzÃtÅ kód használatához.
-A részletekért lásd az <link linkend="rtc">RTC</link> részt a dokumentációban.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan készÃthetek mentést a képernyÅrÅl?
-</para></question>
-<answer><para>
-Olyan videó kimeneti vezérlÅt kell használnod, ami nem átlapolva dolgozik,
-csak Ãgy tudod elmenteni a képet. X11 alatt a <option>-vo x11</option> megteszi,
-Windows alatt a <option>-vo directx:noaccel</option> működik.
-</para>
-<para>
-AlternatÃvaként futtathatod az <application>MPlayer</application>t a
-<systemitem>screenshot</systemitem> videó szűrÅvel
-(<option>-vf screenshot</option>) és az <keycap>s</keycap> gomb
-megnyomásával képernyÅmentést készÃthetsz.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mit jelentenek a számok a státusz sorban?
-</para></question>
-<answer><para>
-Például:
-<screen>
-A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>A: 2.1</systemitem></term>
- <listitem><para>audió pozÃció másodpercekben</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>V: 2.2</systemitem></term>
- <listitem><para>videó pozÃció másodpercekben</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V: -0.167</systemitem></term>
- <listitem><para>audió-videó különbség másodpercekben (késleltetés)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>ct: 0.042</systemitem></term>
- <listitem><para>teljes elvégzett A-V szinkron</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>57/57</systemitem></term>
- <listitem><para>
- lejátszott/dekódolt képkockák (az utolsó kereséstÅl számÃtva)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>41%</systemitem></term>
- <listitem><para>
- videó codec CPU használata százalékban
- (a slice rendering-nél és a direkt rendering-nél ebben benne
- van a video_out is)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0%</systemitem></term>
- <listitem><para>video_out CPU használat</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2.6%</systemitem></term>
- <listitem><para>audió codec CPU használat százalékban</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0</systemitem></term>
- <listitem><para>az A-V szinkron fenntartása miatt eldobott képkockák száma</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>4</systemitem></term>
- <listitem><para>
- a kép utófeldolgozás aktuális szintje (<option>-autoq</option> használatakor)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>49%</systemitem></term>
- <listitem><para>
- aktuálisan használt cache méret (50% körül a normális)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>1.00x</systemitem></term>
- <listitem><para>lejátszási sebesség az eredeti sebesség faktorjaként</para></listitem>
-</varlistentry>
-</variablelist>
-Ezek legtöbbje hibakeresési céllal szerepel, a <option>-quiet</option>
-kapcsoló használatával eltüntethetÅek.
-Ãszreveheted, hogy a video_out CPU használata nulla (0%) néhány fájlnál.
-Ez azért van, mert közvetlenül a codec-bÅl kerül meghÃvásra, Ãgy nem mérhetÅ
-külön. Ha tudni akarod a video_out sebességét, hasonlÃtsd össze a
-<option>-vo null</option>-lal és a hagyományos videó kimeneti vezérlÅvel
-történŠlejátszás értékeit.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ãzeneteket kapok a <filename>/usr/local/lib/codecs/</filename>
-könyvtárban nem található fájlokról...
-</para></question>
-<answer><para>
-Töltsd le a bináris codeceket a
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">letöltési oldalunkról</ulink>
-és telepÃtsd.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan emlékeztethetem az <application>MPlayer</application>t egy bizonyos fájlnál
-használt opciókra, pl. a <filename>movie.avi</filename>-nál?
-</para></question>
-<answer><para>
-Hozz létre egy <filename>movie.avi.conf</filename> nevű fájl a fájl-specifikus
-opciókkal és tedd a <filename class="directory">~/.mplayer</filename> könyvtárba
-vagy a fájl mellé.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-A feliratok gyönyörűek, a legszebbek, amit valaha láttam, de lelassÃtják
-a lejátszást! Tudom, hogy hihetetlen ...
-</para></question>
-<answer><para>
-Miután lefuttattad a <filename>./configure</filename>-t,
-Ãrd át a <filename>config.h</filename> fájlt és
-cseréld ki az <systemitem>#undef FAST_OSD</systemitem> sort
-<systemitem>#define FAST_OSD</systemitem>-re. Aztán forgass újra.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogy tudom az <application>MPlayer</application> a háttérben futtatni?
-</para></question>
-<answer><para>
-Ãgy:
-<screen>
-mplayer <replaceable>kapcsolók</replaceable> <replaceable>fájlnév</replaceable> < /dev/null &
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-playback">
-<title>Lejátszási problémák</title>
-
-<qandaentry>
-<question><para>
-Nem találom néhány érdekes lejátszási probléma okát.
-</para></question>
-<answer><para>
-Nem maradt valahol egy <filename>codecs.conf</filename> fájlod a
-<filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
-<filename>/usr/local/etc/</filename> vagy hasonló helyen? Töröld le,
-egy régi <filename>codecs.conf</filename> fájl ismeretlen problémákat
-okozhat és csak a fejlesztÅknek lett szánva a codec támogatások elkészÃtéséhez.
-FelülbÃrálja az <application>MPlayer</application> belsÅ codec beállÃtásait,
-ami megbosszulja magát, ha az újabb verziókban inkompatibilis változások
-jelennek meg. Hacsak nem vagy hozzáértÅ, ez a tuti recept a láthatóan
-véletlenszerű és nehezen azonosÃtható fagyások és lejátszási problémák esetén.
-Ha még valahol megtalálható a rendszereden, most azonnal töröld le!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan jelenÃthetem meg a feliratot a film körül lévÅ fekete sávon?
-</para></question>
-<answer><para>
-Használd az <systemitem>expand</systemitem> videó szűrÅt a videó függÅleges
-renderelési területének növeléséhez és igazÃtsd a filmet a felsÅ határhoz,
-például:
-<screen>mplayer -vf expand=0:-100:0:0 -slang de dvd://1</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudok audió/felirat sávot választani a DVD, OGM, Matroska vagy NUT fájlban?
-</para></question>
-<answer><para>
-A <option>-aid</option> (audio ID) vagy <option>-alang</option>
-(audió nyelv), <option>-sid</option>(felirat ID) vagy <option>-slang</option>
-(felirat nyelv) kapcsolókkal, például:
-<screen>
-mplayer -alang eng -slang eng <replaceable>example.mkv</replaceable>
-mplayer -aid 1 -sid 1 <replaceable>example.mkv</replaceable>
-</screen>
-Ha kiváncsi vagy, hogy melyek elérhetÅek:
-<screen>
-mplayer -vo null -ao null -frames 0 -v <replaceable>fájlenév</replaceable> | grep sid
-mplayer -vo null -ao null -frames 0 -v <replaceable>fájlenév</replaceable> | grep aid
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Egy véletlen stream-et szeretnék lejátszani az InternetrÅl, de nem sikerül.
-</para></question>
-<answer><para>
-Próbáld meg lejátszani a stream-et a <option>-playlist</option> kapcsolóval.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Letöltöttem egy videót egy P2P hálózatról és nem megy!
-</para></question>
-<answer><para>
-A fájlod valószÃnűleg sérült vagy fake. Ha egy ismerÅstÅl kaptad és Å
-azt mondja, hogy működik, hasonlÃtsd össze az
-<application>md5sum</application> hash-eket.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Gondjaim vannak a feliratok megjelenÃtésével, segÃtsetek!!
-</para></question>
-<answer><para>
-GyÅzÅdj meg róla, hogy helyesen telepÃtetted a betűtÃpusokat. Fuss át a lépésein újra
-a <link linkend="fonts-osd">OSD és felirat</link> részben a telepÃtési fejezetben.
-Ha TrueType betűtÃpusokat használsz, ellenÅrizd, hogy van
-<systemitem class="library">FreeType</systemitem> függvénykönyvtárad telepÃtve.
-EllenÅrizheted még a feliratodat egy szövegszerkesztÅben vagy másik lejátszóval.
-Próbáld meg átkonvertálni másik formátumra.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Miért nem működik az <application>MPlayer</application> Fedora Core-on?
-</para></question>
-<answer><para>
-Rossz az együttműködés a Fedora-n az exec-shield, prelink és néhány
-Windows DLL-eket használó alkalmazás (mint például az <application>MPlayer</application>)
-között.
-</para>
-<para>
-A probléma az, hogy az exec-shield véletlenszerűsÃti az összes rendszer
-függvény könyvtár betöltési helyét. Ez a véletlenszerűsÃtés prelink idÅben
-történik meg (kéthetente egyszer).
-</para>
-<para>
-Amikor az <application>MPlayer</application> megpróbálja betölteni egy
-Windows DLL-t, egy speciális cÃmre akarja tenni (0x400000). Ha egy fontos
-rendszer függvény könyvtár már épp ott van, az <application>MPlayer</application>
-összeomlik.
-(Tipikus jele ennek a Windows Media 9 fájlok lejátszásakor bekövetkezÅ
-szegmentálási hiba.)
-</para>
-<para>
-Ha egy ilyenbe belefutsz, két lehetÅséged van:
-<itemizedlist>
-<listitem><para>
- Várj két hetet. Akkor talán újra működni fog.
-</para></listitem>
-<listitem><para>
- Szerkeszd újra a rendszer összes binárisát egy másik
- prelink opcióval. Itt van lépésrÅl lépésre:
- </para>
- <procedure>
- <step><para>
- Ãrd át a <filename>/etc/syconfig/prelink</filename>
- fájlt és változtasd meg a
- <programlisting>PRELINK_OPTS=-mR</programlisting>-t
- <programlisting>PRELINK_OPTS="-mR --no-exec-shield"</programlisting>-re
- </para></step>
- <step><para>
- <command>touch /var/lib/misc/prelink.force</command>
- </para></step>
- <step><para>
- <command>/etc/cron.daily/prelink</command>
- (Ez újraszerkeszti az összes alkalmazást, ami elég sokáig tart.)
- </para></step>
- <step><para>
- <command>execstack -s <replaceable>/eleresi/ut/</replaceable>mplayer</command>
- (Ez kikapcsolja az exec-shield-et az
- <application>MPlayer</application> binárisán.)
- </para></step>
- </procedure>
-</listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Az <application>MPlayer</application> meghal ezzel:
-<screen>MPlayer interrupted by signal 4 in module: decode_video</screen>
-</para></question>
-<answer><para>
-Ne használd az <application>MPlayer</application>t más CPU-n, mint amin fordÃtva
-lett, vagy fordÃtsd újra futásidejű CPU felismeréssel
-(<command>./configure --enable-runtime-cpudetection</command>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ha menteni próbálok a tuneremrÅl, működik, de a szÃnek érdekesek lesznek.
-Más alkalmazásokkal minden rendben van.
-</para></question>
-<answer><para>
-A kártyád valószÃnűleg támogatottként jelöl meg bizonyos szÃntereketet,
-miközben nem támogatja Åket. Próbáld meg YUY2-vel az alapértelmezett
-YV12 helyett (lásd a <link linkend="tv-input">TV</link> fejezetet).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Furcsa százalékos értékeket kapok (nagyon magasak),
-miközben a notebook-omon játszok le fájlokat.
-</para></question>
-<answer><para>
-A notebookod energia menedzselŠ/ energia takarékoskodó rendszerének
-(BIOS, nem kernel) hatása. Dugd be a külsŠáramkábelt
-<emphasis role="bold">mielÅtt</emphasis> bekapcsolod a notebookodat.
-Megnézheted, hogy a <ulink url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html">cpufreq</ulink>
-(SpeedStep interfész Linuxra) segÃt-e neked.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Az audió/videó teljesen elveszti a szinkront ha az
-<application>MPlayer</application>t
-root-ként futtatom a notebookon.
-Normálisan működik, ha felhasználóként futtatom.
-</para></question>
-<answer><para>
-Ez megint csak az energia menedzsment hatása (lásd feljebb). Dugd be a
-külsŠáramkábelt <emphasis role="bold">mielÅtt</emphasis> bekapcsolod
-a notebookodat vagy bizonyosodj meg róla, hogy nem használod a
-<option>-rtc</option> kapcsolót.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Film lejátszása közben hirtelen szaggatottá válik és a következŠüzenetet kapom:
-<screen>Badly interleaved AVI file detected - switching to -ni mode...</screen>
-</para></question>
-<answer><para>
-Rossz a fájl interleave-je és a <option>-cache</option> sem működik jól.
-Próbáld meg a <option>-nocache</option> kapcsolót.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-driver">
-<title>Videó/audió vezérlŠproblémák (vo/ao)</title>
-
-<qandaentry>
-<question><para>
-Ha átváltok teljes képernyÅs módba, csak fekete széleket kapok a kép körül
-és nincs igazi méretezés teljes képernyÅs módra.
-</para></question>
-<answer><para>
-A videó kimeneti eszközöd nem támogatja a hardveres méretezést és a
-szoftveres hihetetlenül lassú tud lenni, az <application>MPlayer</application>
-alapértelmezésként nem engedélyezi. LegvalószÃnűbb, hogy az
-<systemitem>x11</systemitem>-et használod az <systemitem>xv</systemitem>
-videó kimeneti vezérlŠhelyett. Próbáld meg a <option>-vo xv</option> kapcsolót
-a parancssorban megadni vagy olvasd el a <link linkend="video">videó részt</link>
-az alternatÃv videó kimeneti vezérlÅkrÅl szóló információkért. A
-<option>-zoom</option> opció explicit engedélyezi a szoftveres méretezést.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Most telepÃtettem az <application>MPlayer</application>t. Amikor meg akarok
-nyitni vele egy videó fájlt, végzetes hibával elszáll:
-<screen>Error opening/initializing the selected video_out (-vo) device.</screen>
-Hogyan oldhatom meg ezt a problémát?
-</para></question>
-<answer><para>
-Csak változtass a videó kimeneti eszközön. Ãrd be a következÅ parancsot
-a használható videó kimeneti vezérlÅk listájához:
-<screen>mplayer -vo help</screen>
-Miután kiválasztottad a megfelelÅ videó kimeneti vezérlÅt, Ãrd be a konfigurációs
-fájlodba. Ezt egy
-<programlisting>
-vo = <replaceable>selected_vo</replaceable>
-</programlisting>
-sor <filename>~/.mplayer/config</filename> fájlhoz adásával és/vagy
-<programlisting>
-vo_driver = <replaceable>selected_vo</replaceable>
-</programlisting>
-<filename>~/.mplayer/gui.conf</filename> fájlba Ãrásával teheted meg.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Problémám van a <replaceable>[ablakkezelÅd]</replaceable> és a teljes képernyÅs
-xv/xmga/sdl/x11 módokkal ...
-</para></question>
-<answer><para>
-Olvasd el a <link linkend="bugreports">hiba jelentési leÃrást</link> és küldj egy
-megfelelŠhiba jelentést.
-Vagy próbaként kÃsérletezhetsz a <option>-fstype</option> kapcsolóval.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-AVI fájl lejátszásakor elveszik az audió szinkronizáció.
-</para></question>
-<answer><para>
-Próbáld meg a <option>-bps</option> vagy a <option>-nobps</option> kapcsolót. Ha nem
-javul, olvasd el a <link linkend="bugreports">hibajelentési útmutatót</link> és töltsd
-fel a fájlt az FTP-re.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogy tudom használni a <application>dmix</application>-et az
-<application>MPlayer</application>rel?
-</para></question>
-<answer><para>
-Miután beállÃtottad az
-<ulink url="http://alsa.opensrc.org/index.php?page=DmixPlugin">asoundrc</ulink>-t
-használd a <option>-ao alsa:device=dmix</option> kapcsolót.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nincs hang videó lejátszása közben, és egy ehhez hasonló üzenetet kapok:
-<screen>
-AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
-[AO OSS] audio_setup: Can't open audio device /dev/dsp: Device or resource busy
-Could not open/initialize audio device -> no sound.
-Audio: no sound
-Starting playback...
-</screen>
-</para></question>
-<answer><para>
-KDE-t vagy GNOME-ot futtatsz aRts vagy ESD hang démonnal? Próbáld meg
-kikapcsolni a hang démont vagy használd a <option>-ao arts</option> vagy
-<option>-ao esd</option> kapcsolót, hogy az <application>MPlayer</application>
-aRts-ot vagy ESD-t használjon.
-Talán az ALSA-t OSS emuláció nélkül futtatod, próbáld meg betölteni az ALSA
-OSS kernel modulját vagy megadni a <option>-ao alsa</option> kapcsolót a
-parancssorban a közvetlen ALSA audió kimeneti vezérlŠhasználatához.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ha elindÃtom az <application>MPlayer</application>t KDE alatt, csak egy üres
-képet kapok és semmi sem történik. Majd kb. egy perc után elindul a videó
-lejátszás.
-</para></question>
-<answer><para>
-A KDE aRts zene démonja blokkolja a hang eszközt. Vagy megvárod, amÃg a videó
-elindul vagy kikapcsolod az arts-démont a vezérlÅpanelben. Ha arts-ot akarsz
-használni, add meg az audió kimenetnek a mi saját, natÃv aRts audió vezérlÅnket
-(<option>-ao arts</option>). Ha nem működik vagy nincs beforgatva, próbáld meg
-az SDL-t (<option>-ao sdl</option>) és gyÅzÅdj meg róla, hogy az SDL tudja
-kezelni az aRts-ot. Másik lehetÅség, hogy az <application>MPlayer</application>t
-artsdsp-vel indÃtod.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-A/V szinkronizálási problémáim vannak.
-Néhány AVI fájlom rendesen lejátszódik, de néhány dupla sebességgel megy!
-</para></question>
-<answer><para>
-Hibás hang kártyád/vezérlÅd van. LegvalószÃnűbb, hogy rögzÃtve van 44100Hz-en,
-és olyan fájlt akarsz lejátszani, amiben 22050Hz-es audió van. Próbáld ki a
-<systemitem>resample</systemitem> audió szűrÅt.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Amikor filmet játszok le, szétesik a videó-audió szinkron
-és/vagy az <application>MPlayer</application> összeomlik ezzel az üzenettel:
-<screen>
-Too many (945 in 8390980 bytes) video packets in the buffer!
-</screen>
-</para></question>
-<answer><para>
-Ennek több oka lehet.
-<itemizedlist>
-<listitem><para>
- A CPU-d <emphasis>és/vagy</emphasis> videó kártyád <emphasis>és/vagy</emphasis>
- buszod túl lassú. Az <application>MPlayer</application> ebben az esetben
- Ãrja ki ezt az üzenetet (és az eldobott képkockák száma gyorsan nÅ).
-</para></listitem>
-<listitem><para>
- Ha ez egy AVI fájl, talán rossz az interleaving. Próbáld meg a
- <option>-ni</option> kapcsolót ennek elhárÃtásához.
- Vagy talán hibás a fejléce, ebben az esetben a <option>-nobps</option>
- és/vagy a <option>-mc 0</option> segÃthet.
-</para></listitem>
-<listitem><para>
- Sok FLV fájl lejátszása csak a <option>-correct-pts</option> opcióval jó.
- Sajnos a <application>MEncoder</application> nem rendelkezik ilyen opcióval,
- de megpróbálhatod kézzel beállÃtani az <option>-fps</option> opciót,
- ha tudod.
-</para></listitem>
-<listitem><para>
- A hang vezérlÅd hibás.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan szabadulhatok meg az A/V deszinkronizációtól
-a RealMedia folyamokban történŠléptetésnél?
-</para></question>
-<answer><para>
-A <option>-mc 0.1</option> segÃthet.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-dvd">
-<title>DVD lejátszás</title>
-
-<qandaentry>
-<question><para>
-Mi van a DVD navigációval/menükkel?
-</para></question>
-<answer><para>
-Az <application>MPlayer</application> ma már támogatja a DVD menüket.
-A használhatóság mértéke viszont változhat.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mi van a feliratokkal? Meg tudja Åket jelenÃteni az <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Igen. Lásd a <link linkend="dvd">DVD fejezetet</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogy tudom beállÃtani a DVD meghajtóm régió kódját? Nincs Windows-om!
-</para></question>
-<answer><para>
-Használd a
-<ulink url="http://linvdr.org/projects/regionset/">regionset eszközt</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nem tudok lejátszani DVD-t, az MPlayer lefagy vagy "TitkosÃtott VOB fájl!" / "Encrypted VOB file!" hibát Ãr.
-</para></question>
-<answer><para>
-A CSS dekódolás nem működik néhány DVD meghajtóval, amÃg nem állÃtod be
-a régiókódot megfelelÅen. Lásd a választ az elÅzÅ kérdésre.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Muszáj (setuid) root-nak lennem, hogy DVD-t nézhessek?
-</para></question>
-<answer><para>
-Nem. De megfelelŠjogokkal kell rendelkezned a DVD eszköz bejegyzésére
-(a <filename class="directory">/dev/</filename> könyvtárban).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Lehetséges, hogy csak a kijelölt fejezeteket játszam le/kódoljam?
-</para></question>
-<answer><para>
-Igen, próbáld ki a <option>-chapter</option> kapcsolót.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-A DVD lejátszásom lassú!
-</para></question>
-<answer><para>
-Használd a <option>-cache</option> kapcsolót (ahogy le van Ãrva a man oldalon) és
-próbáld meg engedélyezni a DMA-t a DVD meghajtóra a <command>hdparm</command> eszközzel.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Másoltam egy DVD-t vobcopy-val. Hogyan tudom lejátszani/elkódolni a merevlemezemrÅl?
-</para></question>
-<answer><para>
-Használd a <option>-dvd-device</option> kapcsolót, amivel megadhatod a könyvtárat, ahol
-a fájlok vannak:
-<screen>
-mplayer dvd://1 -dvd-device <replaceable>/eleresi/ut/a/konyvtarhoz</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-
-<qandadiv id="faq-features">
-<title>Speciális kérések</title>
-
-<qandaentry>
-<question><para>
-Ha az <application>MPlayer</application>t megállÃtom és megpróbálok ugrani
-vagy megnyomok bármilyen gombot, az <application>MPlayer</application>
-felfüggeszti a megállÃtást. Szeretnék keresni a megállÃtott filmben.
-</para></question>
-<answer><para>
-Ezt megvalósÃtani nagyon nehéz lenne az A/V szinkronizáció elveszÃtése nélkül.
-Az összes kÃsérlet eddig kudarcba fulladt, de örömmel fogadjuk a javÃtásokat.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Szeretnék +/- 1 képkockát ugrani a 10 másodperc helyett.
-</para></question>
-<answer><para>
-Egy képkockával elÅre léphetsz a <keycap>.</keycap> gombbal.
-Ha a film nem volt megállÃtva, akkor ezután megáll
-(lásd a man oldalt a részletekért).
-A visszafelé lépés valószÃnűleg nem lesz mostanában megvalósÃtva.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-encoding">
-<title>Elkódolás</title>
-
-<qandaentry>
-<question><para>
-Hogy tudok kódolni?
-</para></question>
-<answer><para>
-Olvasd el a <link linkend="mencoder"><application>MEncoder</application></link>
-részt.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudok egy teljes DVD részt átteni egy fájlba?
-</para></question>
-<answer><para>
-Ha kiválasztottad a részt és meggyÅzÅdtél róla, hogy az
-<application>MPlayer</application> jól játsza le, használhatod a <option>-dumpstream</option>
-kapcsolót. Például:
-<screen>
-mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable>
-</screen>
-kimenti a DVD 5. részét a <replaceable>dvd_dump.vob</replaceable> nevű
-fájlba.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogy tudok automatikusan (S)VCD-t készÃteni?
-</para></question>
-<answer><para>
-Használd a <filename>mencvcd.sh</filename> szkriptet a
-<filename class="directory">TOOLS</filename> alkönyvtárból.
-Ezzel DVD-ket és más filmeket tudsz VCD vagy SVCD formátumba
-kódolni és még közvetlenül CD-re is Ãrhatod Åket.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudok (S)VCD-t készÃteni?
-</para></question>
-<answer><para>
-A <application>MEncoder</application> újabb verziói direktben
-tudnak MPEG-2-es fájlokat készÃteni, amiket fel lehet használni VCD vagy
-SVCD készÃtéshez és valószÃnűleg minden platformon lejátszhatóak (például
-videó megosztása egy digitális camcorderrÅl a számÃtógép-tudatlan
-barátaiddal).
-Kérlek olvasd el a
-<link linkend="menc-feat-vcd-dvd">MEncoder használata VCD/SVCD/DVD-kompatibilis
-fájlok készÃtéséhez</link> cÃmű fejezetet a bÅvebb információkért.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogy tudok összefűzni két videó fájlt?
-</para></question>
-<answer><para>
-Az MPEG fájlok csak szerencsés esetben fűzhetÅek össze egy fájlba.
-AVI fájlokhoz használhatod a <application>MEncoder</application>
-több fájl támogatását Ãgy:
-<screen>
-mencoder -ovc copy -oac copy -o <replaceable>out.avi</replaceable> <replaceable>file1.avi</replaceable> <replaceable>file2.avi</replaceable>
-</screen>
-Ez csak akkor működik, ha a fájlok ugyan felbontásúak és ugyan azt a codec-et
-használják. Megpróbálhatod az
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink>-ot és az
-<application>avimerge</application>-t (a
-<ulink url="http://www.transcoding.org/">transcode</ulink>
-eszközcsomag részei).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudom megjavÃtani a hibás indexű vagy átlapolt AVI fájlokat?
-</para></question>
-<answer><para>
-Ha el akarod kerülni az <option>-idx</option> kapcsoló állandó használatát
-azért, hogy képes legyél keresni a hibás indexű AVI fájlban vagy az <option>-ni</option>
-kapcsolót a rossz átlapoláshoz, használd a
-<screen>
-mencoder <replaceable>input.avi</replaceable> -idx -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-parancsot a videó és az audió folyamok új AVI fájlba másolásához, az index
-újragenerálásával és az átlapolási adatok kijavÃtásával.
-Természetesen ez nem tudja kijavÃtani az esetleges hibákat a videó és/vagy
-audió folyamban.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudom kijavÃtani egy AVI fájl képének méretarányát?
-</para></question>
-<answer><para>
-Ilyet is tudsz csinálni hála a <application>MEncoder</application>
-<option>-force-avi-aspect</option> kapcsolójának, ami felülbÃrálja az
-AVI OpenDML vprp fejlécébe beÃrt értéket. Például:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc copy -oac copy -o <replaceable>output.avi</replaceable> -force-avi-aspect 4/3
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudom lementeni és elkódolni a hibás kezdetű VOB fájlt?
-</para></question>
-<answer><para>
-A fŠprobléma az sérült VOB fájl elkódolásával, hogy
-<footnote id='fn-corrupted-files-or-copy-protection'><para>
-Bizonyos mértékig a DVD-ken használt másolásvédelem egyes fajtái
-is tekinthetÅek a tartalom sérülésének.
-</para></footnote>
-nagyon nehéz lesz tökéletes A/V szinkronú kódolást készÃteni.
-Az egyik megkerülŠmódszer a hibás rész egyszerű kivágása és csak a hibátlan
-rész kódolása.
-ElÅször meg kell találnod, hogy hol kezdÅdik a hibátlan rész:
-<screen>
-mplayer <replaceable>bemenet.vob</replaceable> -sb <replaceable>kihagyando_bajtok_szama</replaceable>
-</screen>
-Ezután elkészÃtheted az új fájlt, ami csak a hibátlan részt tartalmazza:
-<screen>
-dd if=<replaceable>bemenet.vob</replaceable> of=<replaceable>vagott_kimenet.vob</replaceable> skip=1 ibs=<replaceable>kihagyando_bajtok_szama</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nem tudok DVD feliratot kódolni az AVI fájlba!
-</para></question>
-<answer><para>
-Helyesen kell megadnod a <option>-sid</option> kapcsolót!
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Csak a kiválasztott fejezeteket tudom elkódolni a DVD-rÅl?
-</para></question>
-<answer><para>
-Használd a <option>-chapter</option> kapcsolót pontosan,
-például: <option>-chapter 5-7</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-2GB+ méretű fájlokkal próbálok dolgozni VFAT fájlrendszeren. Működni fog?
-</para></question>
-<answer><para>
-Nem, a VFAT nem támogatja a 2GB+ fájlokat.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mit jelentenek a státusz sorban lévŠszámok a kódolási
-folyamat közben?
-</para></question>
-<answer><para>
-Példa:
-<screen>
-Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2126:192]
-</screen>
-<variablelist>
- <varlistentry>
- <term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>idÅbeli pozÃció a kódolt folyamban</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>6612f</systemitem></term>
- <listitem><para>az elkódolt videó kockák száma</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>( 2%)</systemitem></term>
- <listitem><para>a bemeneti folyam már elkódolt része</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>7.12fps</systemitem></term>
- <listitem><para>kódolási sebesség</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>becsült hátralévÅ kódolási idÅ</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2856mb</systemitem></term>
- <listitem><para>a kódolt fájl becsült végsŠfájlmérete</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>aktuális késleltetés az audió és a videó folyam között</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>[2126:192]</systemitem></term>
- <listitem><para>
- átlagos videó bitráta (kb/s-ben) és átlagos audió bitráta (kb/s-ben)
- </para></listitem>
-</varlistentry>
-</variablelist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Miért negatÃv a <application>MEncoder</application> által kiÃrt
-javasolt bitráta?
-</para></question>
-<answer><para>
-Mert a bitráta, amivel kódoltad az audiót túl nagy ahhoz, hogy a film ráférjen
-bármilyen CD-re. EllenÅrizd, hogy a libmp3lame megfelelÅen van-e telepÃtve.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nem tudok elkódolni ASF fájlokat AVI/MPEG-4 (DivX)-be, mert 1000 fps-t használ?
-</para></question>
-<answer><para>
-Mivel az ASF változó bitrátát használ, az AVI pedig fix értéket, kézzel
-kell megadnod a <option>-ofps</option> kapcsoló segÃtségével.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogy tudok feliratot tenni a kimeneti fájlba?
-</para></question>
-<answer><para>
-Csak add meg a <option>-sub <fájlnév></option> (vagy <option>-sid</option>,
-megfelelÅen) kapcsolót a <application>MEncoder</application>nek.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudom csak a zenét elkódolni egy zenés videóból?
-</para></question>
-<answer><para>
-Közvetlenül nem lehetséges, de megpróbálhatod a következÅt (figyelj a
-<emphasis role="bold">&</emphasis> jelre az
-<command>mplayer</command> parancs végén):
-<screen>
-mkfifo encode
-mplayer -ao pcm -aofile encode dvd://1 &
-lame <replaceable>kapcsoloid</replaceable> encode music.mp3
-rm encode
-</screen>
-Ãgy bármilyen kódolót használhatsz, nem csak a <application>LAME</application>-t,
-csak cseréld ki a <command>lame</command>-t a kedvenc audió kódolóddal a fenti
-parancsban.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Miért nem tudom lejátszani más programmal a <application>MEncoder</application>
-1.0pre7 és késÅbbi verzióival kódolt MPEG-4 filmeket?
-</para></question>
-<answer><para>
-A <systemitem class="library">libavcodec</systemitem>, a natÃv MPEG-4
-kódoló függvény könyvtár, ami általában a <application>MEncoder</application>rel
-jön, eddig 'DIVX'-re állÃtotta be a FourCC-t MPEG-4 videók kódolásakor
-(a FourCC egy AVI tag a kódoláshoz használt program azonosÃtására és
-az ajánlott dekódoló program megnevezésére).
-Ez ahhoz vezetett, hogy sokan azt hitték, hogy a
-<systemitem class="library">libavcodec</systemitem>
-egy DivX kódoló könyvtár, pedig közben egy teljesen különbözŠMPEG-4
-kódoló könyvtár, ami sokkal jobban implementálja az MPEG-4 szabványt,
-mint a DivX.
-Ezért a <systemitem class="library">libavcodec</systemitem> által használt
-új, alapértelmezett FourCC az 'FMP4', azonban te ezt felülbÃrálhatod
-a <application>MEncoder</application> <option>-ffourcc</option> kapcsolójával.
-UgyanÃgy a már meglévÅ fájljaidban is megváltoztathatod a FourCC-t:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -ffourcc XVID
-</screen>
-Figyelj rá, hogy ez XVID-re állÃtja a FourCC-t a DIVX helyett.
-Ez a javasolt eljárás, mivel a DIVX FourCC DivX4-et jelent, ami egy
-nagyon alap MPEG-4 codec, mÃg a DX50 és XVID mindkettÅ teljes MPEG-4
-(ASP) támogatást jelent.
-Ezért ha DIVX-re változtatod a FourCC-t, néhány rossz program vagy
-hardveres lejátszó agyoncsaphatja a <systemitem class="library">libavcodec</systemitem>
-pár fejlett tulajdonságát, amiket egyébként támogat, de a DivX nem;
-másrészt az <systemitem class="library">Xvid</systemitem>
-közelebb áll a <systemitem class="library">libavcodec</systemitem>-hez
-funkcionalitásában és minden illedelmes lejátszó támogatja.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudok elkódolni egy csak audiót tartalmazó fájlt?
-</para></question>
-<answer><para>
-Használd az <filename>aconvert.sh</filename>-et a
-<filename class="directory">TOOLS</filename>
-alkönyvtárból az MPlayer forrás fájában.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Hogyan tudom lejátszani az AVI-ba ágyazott feliratokat?
-</para></question>
-<answer><para>
-Használd az <filename>avisubdump.c</filename> fájlt a
-<filename class="directory">TOOLS</filename> alkönyvtárból vagy olvasd el
-<ulink url="http://xlife.zuavra.net/curse/0012/">ezt a dokumentumot az OpenDML AVI fájlokba ágyazott feliratok kicsomagolásáról/demultiplex-álásáról</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-A MEncoder nem...
-</para></question>
-<answer><para>
-Nézz bele a <filename class="directory">TOOLS</filename>
-alkönyvtárba, mindenféle scriptek és hack-ok gyűjteményét találod ott.
-A <filename>TOOLS/README</filename> tartalmazza a dokumentációt.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-</qandaset>
-
-</chapter>
diff --git a/DOCS/xml/hu/install.xml b/DOCS/xml/hu/install.xml
deleted file mode 100644
index 012707d..0000000
--- a/DOCS/xml/hu/install.xml
+++ /dev/null
@@ -1,518 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r32253 -->
-<chapter id="install">
-<title>TelepÃtés</title>
-
-<para>
-Egy rövid telepÃtési leÃrást találsz a <filename>README</filename> fájlban.
-Kérlek elÅször azt olvasd el, és utána gyere vissza ide, hogy megtudd a
-részleteket!
-</para>
-
-<para>
-Ebben a fejezetben végigvezetünk az <application>MPlayer</application>
-fordÃtásának és beállÃtásának menetén. Nem egyszerű, de nem is észveszejtÅen
-nehéz. Ha ezen leÃrástól eltérÅ működést tapasztalsz, kérlek nézd végig ezt
-a dokumentációt és megtalálod a válaszokat.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="softreq">
-<title>Szoftver követelmények</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">POSIX rendszer</emphasis> - Egy POSIX-kompatibilis
- shell-re és POSIX-kompatibilis rendszer eszközökre, pl. grep, sed, awk, stb.
- lesz szükséged a path-odban.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">GNU make</emphasis> 3.81 vagy újabb
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - GNU binutils 2.11 vagy újabb
- biztosan működik.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">fordÃtó</emphasis> - Mi leginkább gcc-t használunk,
- a javasolt verziók x86-on a 2.95 és 3.4+. PowerPC-n használj 4.x+-ot.
- icc 10.1+ is működik.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Xorg/XFree86</emphasis> - a javasolt verzió a
- 4.3 vagy késÅbbi. GyÅzÅdj meg róla, hogy a
- <emphasis role="bold">fejlesztÅi csomagok</emphasis> is telepÃtve vannak,
- különben nem fog működni.
- Nem feltétlenül van szükséged az X-re, néhány videó kimeneti vezérlÅ
- működik nélküle is.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> 2.0.9 vagy késÅbbi szükséges,
- valamint egy betűtÃpus is az OSD-hez és a feliratokhoz.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> - választható, az ALSA audió kimenet
- támogatásához. Legalább 0.9.0rc4 szükséges.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> - választható JPEG kódoló/dekódoló,
- a JPEG videó kimeneti vezérlÅhöz szükséges
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> - választható (M)PNG dekóder,
- a PNG videó kimeneti vezérlÅhöz szükséges
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - választható, 0.9.22 vagy késÅbbi
- szükséges a directfb/dfbmga videó kimeneti vezérlÅkhöz
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - 3.90 vagy késÅbbi javasolt,
- szükséges MP3 audió <application>MEncoder</application>rel
- történŠkódolásához.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> - javasolt, sok codec használja.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- - választható, szükséges néhány RTSP/RTP folyamokhoz
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - választható, szükséges a CDDA támogatáshoz
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - választható, XMMS input plugin támogatáshoz kell.
- Legalább 1.2.7-es szükséges.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - választható, smb hálózat támogatásához kell.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.underbit.com/products/mad/">libmad</ulink></emphasis>
- - választható, gyors csak egészszámos MP3 dekódolás FPU nélküli platformokon
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="features">
-<title>JellemzÅk</title>
-
-<itemizedlist>
-<listitem><para>
- Döntsd el, hogy szükséged van-e GUI-ra. Ha igen, akkor nézd meg
- a <link linkend="gui">GUI</link> fejezetet a fordÃtás elÅtt!
-</para></listitem>
-<listitem><para>
- Ha telepÃteni akarod a <application>MEncoder</application>t is (a
- nagyszerű, mindent tudó kódolónkat), nézd meg a
- <link linkend="mencoder"><application>MEncoder</application></link> részt!
-</para></listitem>
-<listitem><para>
- Ha V4L kompatibilis <emphasis role="bold">TV tuner</emphasis> kártyád van,
- és nézni/grabbelni vagy kódolni szeretnél filmeket az
- <application>MPlayer</application>rel,
- olvasd el a <link linkend="tv-input">TV bemenet</link> fejezetet.
-</para></listitem>
-<listitem><para>
- Ha van V4L kompatibilis <emphasis role="bold">rádió tuner</emphasis>
- kártyád és <application>MPlayer</application>rel szeretnél hallgatni
- vagy lementeni, olvasd el a <link linkend="radio">rádió</link> részt.
-</para></listitem>
-<listitem><para>
- Roppant jól sikerült <emphasis role="bold">OSD Menü</emphasis> támogatás
- vár használatra. Lásd az <link linkend="subosd">OSD menü</link> fejezetet!
-</para></listitem>
-</itemizedlist>
-
-<para>
-Mindezek után fordÃtsd le az <application>MPlayer</application>t:
-<screen>
-./configure
-make
-make install
-</screen>
-</para>
-
-<para>
-Ezek után az <application>MPlayer</application> máris használatra kész.
-EllenÅrizd le, hogy van-e <filename>codecs.conf</filename> nevű fájlod
-a home könyvtáradban (<filename>~/.mplayer/codecs.conf</filename>), melyet
-régebbi <application>MPlayer</application> verziók hagyhattak ott. Ha van,
-töröld le!
-</para>
-
-<para>
-A Debian használók .deb csomagot is készÃthetnek maguknak, roppant egyszerűen.
-Csak futtasd a
-<screen>fakeroot debian/rules binary</screen>
-parancsot az <application>MPlayer</application> fÅkönyvtárában. Lásd a
-<link linkend="debian">Debian csomagolás</link> fejezetet bÅvebb információkért!
-</para>
-
-<para>
-<emphasis role="bold">Mindig nézd végig a <filename>./configure</filename>
-kimenetét</emphasis>, és a <filename>config.log</filename> fájl, melyek
-információkat tartalmaznak arról, hogy mi is lesz lefordÃtva és mi nem.
-Szintén tanácsos megnézni a <filename>config.h</filename> és
-<filename>config.mak</filename> fájlokat. Ha van olyan telepÃtett függvénykönyvtárad,
-amit a <filename>./configure</filename> mégsem talált meg, ellenÅrizd, hogy a
-megfelelÅ fejléc fájlok (általában a -dev csomagokban vannak) is elérhetÅek-e, és
-egyezŠverziójúak. A <filename>config.log</filename> fájl legtöbbször megmondja,
-hogy mi hiányzik.
-</para>
-
-<para>
-Bár nem kötelezÅ, de a betűtÃpusoknak telepÃtve kell lenniük, hogy az OSD és a
-feliratozás működjön. A javasolt eljárás, hogy telepÃted a TTF betűkészletet,
-majd megmondod az <application>MPlayer</application>nek, hogy használja azt.
-Lásd a <link linkend="subosd">Feliratok és az OSD</link> részt bÅvebben.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="gui">
-<title>Mi a helyzet a GUI-val?</title>
-
-<para>
-A GUI-hoz GTK 1.2.x vagy GTK 2.0 kell (nem teljesen GTK-s, de a panelek igen),
-Ãgy telepÃtett <systemitem class="library">GTK</systemitem> (és a fejlesztÅi
-cuccok, amik általában <systemitem class="library">gtk-dev</systemitem>) szükséges.
-A <filename>./configure</filename>-nak az <option>--enable-gui</option> kapcsoló
-megadásával Ãrhatod elÅ, hogy GUI-t is készÃtsen. Ezután ha a GUI-s változatot
-akarod futtatni, akkor a <command>gmplayer</command> binárist kell elindÃtanod.
-</para>
-
-<para>
-Mivel az <application>MPlayer</application> nem rendelkezik beépÃtett skin-nel,
-le kell töltened egyet, ha a GUI-t használni akarod. Lásd a <ulink
-url="http://www.mplayerhq.hu/dload.html">letöltési oldalt</ulink>.
-Ajánlott egy rendszerszinten elérhetŠkönyvtárba tenni (<filename
-class="directory">$PREFIX/share/mplayer/skins</filename>), vagy a <filename
-class="directory">$HOME/.mplayer/skins</filename>-be.
-Az <application>MPlayer</application> ezekben a könyvtárakban
-keres egy <filename class="directory">default</filename> nevű alkönyvtárat, amelyben
-az alapértelmezett skin van. Megadhatsz más könyvtárat is a
-<option>-skin <replaceable>newskin</replaceable></option> kapcsolóval vagy a
-<literal>skin=newskin</literal> sorral a konfigurációs fájlban, és ekkor a
-<filename class="directory">*/skins/newskin</filename> könyvtárban lévŠskin lesz
-használatban.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="fonts-osd">
-<title>BetűtÃpusok és OSD</title>
-
-<para>
-Meg kell mondanod az <application>MPlayer</application>nek, hogy melyik
-betűtÃpust szeretnéd használni az OSD-hez és a feliratokhoz. Bármilyen
-TrueType betűtÃpus vagy speciális bittérképes betű működni fog.
-Azonban ajánlott a TrueType használata, mivel sokkal jobban néz ki,
-megfelelÅen méretezhetÅ a film méretéhez és jobban együttműködik a
-különbözŠkódolásokkal.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="truetype-fonts">
-<title>TrueType betűk</title>
-
-<para>
-A TrueType betűtÃpusok kétféle módon használhatóak. Az egyik a
-<option>-font</option> opcióval egy TrueType betűtÃpus fájl megadása
-a parancssorban. Ez az opció jó eséllyel pályázik arra, hogy
-bekerüljön a konfigurációs fájlodba (lásd a man oldalt a részletekért).
-A másik, hogy készÃtesz egy <filename>subfont.ttf</filename> nevű
-symlink-et a választott betűtÃpus fájlhoz. Vagy
-<screen>
-ln -s <replaceable>/eleresi/ut/pelda_betu.ttf</replaceable> ~/.mplayer/subfont.ttf
-</screen>
-külön minden egyes felhasználóhoz, vagy az egész rendszerre vonatkozóan:
-<screen>
-ln -s <replaceable>/eleresi/ut/pelda_betu.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
-</screen>
-</para>
-
-<para>
-Ha az <application>MPlayer</application> <systemitem class="library">fontconfig</systemitem>
-támogatással lett lefordÃtva, a fenti módszerek nem fognak működni,
-helyettük a <option>-font</option> egy <systemitem class="library">fontconfig</systemitem>
-betűtÃpus nevet vár és alapértelmezetté teszi a sans-serif betűt.
-Például:
-
-<screen>mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable></screen>
-</para>
-
-<para>
-A <systemitem class="library">fontconfig</systemitem>
-által ismert betűtÃpusok listáját az
-<command>fc-list</command> paranccsal nézheted meg.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bitmap-fonts">
-<title>bittérképes betűk</title>
-
-<para>
-Ha valamilyen okból kifolyólag bittérképes betűtÃpusokat szeretnél vagy kell
-használnod, tölts le egy készletet a weboldalunkról. Választhatsz a különbözÅ
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO betűk</ulink>
-és néhány
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">felhasználói készlet</ulink>
-közül, különbözŠkódolásokban.
-</para>
-
-<para>
-Csomagold ki a letöltött fájlokat a
-<filename class="directory">~/.mplayer</filename> vagy a
-<filename class="directory">$PREFIX/share/mplayer</filename> könyvtárba.
-Ezután nevezd át vagy készÃts egy symlink-et valamelyik kicsomagolt könyvtárra
-<filename class="directory">font</filename> néven, például:
-<screen>
-ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
-</screen>
-<screen>
-ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font
-</screen>
-</para>
-
-<para>
-A betűtÃpusoknak rendelkezniük kell egy megfelelÅ <filename>font.desc</filename>
-fájllal, ami leképezi a Unicode betűpozÃciókat az aktuális felirat szöveg
-kódlapjára. A másik megoldás UTF-8 kódolású feliratok használata és a
-<option>-utf8</option> kapcsoló megadása vagy add meg a felirat
-fájl neveként ugyan azt a nevet, mint a videó fájlé, de <filename>.utf</filename>
-kiterjesztéssel és tedd a videóval azonos könyvtárba.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="osdmenu">
-<title>OSD menü</title>
-
-<para>
-Az <application>MPlayer</application>nek az OSD Menüje teljesen
-igényre szabható.
-</para>
-
-<note><para>
-a Tulajdonságok menü még NINCS KIFEJLESZTVE!
-</para></note>
-
-<orderedlist>
-<title>TelepÃtés</title>
-<listitem><para>
- fordÃtsd le az <application>MPlayer</application>t a <filename>./configure</filename>-nak
- az <option>--enable-menu</option> kapcsoló megadásával
-</para></listitem>
-<listitem><para>
- bizonyosodj meg róla, hogy van telepÃtett OSD betűkészleted
-</para></listitem>
-<listitem><para>
- másold át az <filename>etc/menu.conf</filename> fájlt a
- <filename class="directory">.mplayer</filename> könyvtárba
-</para></listitem>
-<listitem><para>
- másold át az <filename>etc/input.conf</filename> fájlt a
- <filename class="directory">.mplayer</filename> könyvtárba, vagy egy
- rendszerszinten elérhetŠ<application>MPlayer</application> konfigurációs
- könyvtárba (alapértelmezett: <filename class="directory">/usr/local/etc/mplayer</filename>)
-</para></listitem>
-<listitem><para>
- ellenÅrizd le és Ãrd át az <filename>input.conf</filename> fájlt a menüben
- történŠmozgáshoz használt billentyűk engedélyezéséhez
- (ott le van Ãrva).
-</para></listitem>
-<listitem><para>
- indÃtsd el az <application>MPlayer</application>t az alábbi példa alapján:
- <screen>mplayer -menu <replaceable>file.avi</replaceable></screen>
-</para></listitem>
-<listitem><para>
- nyomd meg valamelyik menü gombot, amit megadtál
-</para></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="codec-installation">
-<title>Codec telepÃtés</title>
-
-<!-- ********** -->
-
-<sect2 id="xvid">
-<title>Xvid</title>
-
-<para>
-Az <ulink url="http://www.xvid.org">Xvid</ulink> egy szabad szoftveres MPEG-4
-ASP kompatibilis videó codec. Jegyezd meg, hogy az Xvid nem szükséges az Xvid-es
-videók dekódolásához. A <systemitem class="library">libavcodec</systemitem> az
-alapértelmezett, mivel jobb a sebessége.
-</para>
-
-<procedure>
-<title>Az <systemitem class="library">Xvid</systemitem> telepÃtése</title>
-<para>
- Mint a legtöbb nyÃlt forráskódú program, ez is két formában érhetÅ el:
- <ulink url="http://www.xvid.org/downloads.html">hivatalos kiadás</ulink>
- és a CVS verzió.
- A CVS verzió általában elég stabil a használathoz, mivel legtöbbször csak
- a kiadásokban benne lévÅ hibák javÃtásait tartalmazza.
- Itt van lépésrÅl lépésre, hogy mit kell tenned, ha az <systemitem class="library">Xvid</systemitem>
- CVS-t használni akarod a <application>MEncoder</application>rel:
-</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
-</para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
-</para></step>
-<step><para>
- <screen>./bootstrap.sh && ./configure</screen>
- Meg kell adnod pár kapcsolót (tanulmányozd a
- <command>./configure --help</command> kimenetét).
-</para></step>
-<step><para>
- <screen>make && make install</screen>
-</para></step>
-<step><para>
- FordÃtsd újra az <application>MPlayer</application>t.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x264">
-<title><systemitem class="library">x264</systemitem></title>
-
-<para>
-Az <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
-egy függvénykönyvtár a H.264 videó létrehozásához.
-Az <application>MPlayer</application> forrás mindig frissül, ha
-egy <systemitem class="library">x264</systemitem> API változás
-jelenik meg, Ãgy javasolt az <application>MPlayer</application>
-Subversion verziójának használata.
-</para>
-
-<para>
-Ha van feltelepÃtve GIT kliensed, a legújabb x264
-forrást letöltheted ezzel a paranccsal:
-<screen>git clone git://git.videolan.org/x264.git</screen>
-
-Majd fordÃts és telepÃts a szabványos módon:
-<screen>./configure && make && make install</screen>
-
-Ezután futtasd újra a <filename>./configure</filename>-t, hogy
-az <application>MPlayer</application>be belekerüljön az
-<systemitem class="library">x264</systemitem> támogatás.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="amr">
-<title>AMR</title>
-
-<para>
-Az MPlayer használni tudja az OpenCORE AMR függvénykönyvtárakat a FFmpeg-en keresztül.
-Töltsd le a könyvtárakat az AMR-NB-hez és az AMR-WB-hez az
-<ulink url="http://sourceforge.net/projects/opencore-amr/">opencore-amr</ulink>
-projectbÅl és telepÃtsd Åket az oldalon lévÅ utasÃtások szerint.
-</para>
-</sect2>
-
-<sect2 id="xmms">
-<title>XMMS</title>
-
-<para>
-Az <application>MPlayer</application> tudja használni az <application>XMMS</application>
-bemeneti plugin-jait több fájlformátum lejátszásához. Van plugin SNES játék hangokhoz, SID
-hangokhoz (Commodore 64-rÅl), több Amiga formátumhoz, .xm, .it, VQF, Musepack, Bonk
-és még számos máshoz. Megtalálhatod Åket az
-<ulink url="http://www.xmms.org/plugins.php?category=input">XMMS bemenetu plugin oldalán</ulink>.
-</para>
-
-<para>
-Ehhez a tulajdonsághoz rendelkezden kell az <application>XMMS</application>-sel, az
-<application>MPlayer</application>t pedig ezzel kell fordÃtanod:
-<filename>./configure --enable-xmms</filename>.
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="rtc">
-<title>RTC</title>
-
-<para>
-Három fajta idÅzÃtési eljárás van az <application>MPlayer</application>ben.
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">A régi módszer használatához</emphasis> nem kell
- tenned semmit. Ez az <systemitem>usleep()</systemitem> függvényt használja
- az A/V szinkronizáláshoz, +/- 10ms-es pontossággal. Van amikor ennél is
- pontosabb szinkronizálás szükséges.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Az új idÅzÃtÅ</emphasis> kód az RTC-t (RealTime Clock)
- használja, mert ennek pontos, 1 ms-es idÅzÃtÅi vannak. A <option>-rtc</option>
- kapcsoló engedélyezi, de megfelelÅen beállÃtott kernel kell hozzá.
- Ha 2.4.19pre8 vagy késÅbbi kernelt használsz, beállÃthatod a maximum
- RTC frekvenciát a sima felhasználóknak a <systemitem class="systemname">/proc
- </systemitem> fájl rendszer segÃtségével. Használd az alábbi két parancs
- valamelyikét az RTC normál felhasználók számára történŠengedélyezéséhez:
- <screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
- <screen>sysctl dev/rtc/max-user-freq=1024</screen>
- Ezt a beállÃtást állandósÃthatod az utóbbi
- <filename>/etc/sysctl.conf</filename> fájba történÅ Ãrásával.
- </para>
- <para>
- Az új idÅzÃtÅ eredményét a státusz sorban láthatod.
- Néhány sebesség-léptetéses (speedstep) CPU-val rendelkezÅ
- notebook BIOS-ának energia takarékossági funkciói rosszul működnek együtt az
- RTC-vel. Elromolhat az audió és a videó szinkronizációja. Ãgy tűnik, ha bedugod
- a hálózati csatlakozót, mielÅtt bekapcsolnád a notebookot, az segÃt.
- Néhány hardver összeállÃtásban (ALi1541-es alaplapokkal használt nem DMA-s DVD
- meghajtók esetén erÅsÃtették meg) az RTC idÅzÃtÅ használata kihagyásokat okoz
- lejátszás közben. Ebben az esetben a harmadik módszer használata javasolt.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">A harmadik idÅzÃtÅ kód</emphasis> a <option>-softsleep</option>
- kapcsolóval kapcsolható be. Az RTC hatékonyságával rendelkezik, de nem használja
- azt. MásrészrÅl viszont jobban eszi a procit.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/hu/mencoder.xml b/DOCS/xml/hu/mencoder.xml
deleted file mode 100644
index a3ff28b..0000000
--- a/DOCS/xml/hu/mencoder.xml
+++ /dev/null
@@ -1,779 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r31099 -->
-<chapter id="mencoder">
-<title>A <application>MEncoder</application> használatának alapjai</title>
-
-<para>
-A <application>MEncoder</application> összes használható kapcsolójához és
-a példákhoz kérlek nézd meg a man oldalt. Mindennapi példákért és a számos
-kódolási paraméter bÅvebb leÃrásáért olvasd el a
-<ulink url="../../tech/encoding-tips.txt">kódolási tippeket</ulink>, amiket
-számos levelezési lista szálból gyűjtöttünk össze az MPlayer-users-rÅl.
-Kereshetsz az
-<ulink url="http://lists.mplayerhq.hu/pipermail/mencoder-users/">archÃvumban</ulink>,
-vagy a nagyon régi dolgok után
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">itt</ulink>,
-a rengeteg beszélgetés között, melyek a <application>MEncoder</application>rel
-történŠkódolást több szempontból vizsgálják és kiemelik a problémákat vele
-kapcsolatban.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-codec">
-<title>Codec és konténer formátum kiválasztása</title>
-
-<para>
-A kódoláshoz az audió és videó codec-ek a <option>-oac</option> és
-<option>-ovc</option> opciókkal adható meg.
-Gépeld be ezt a példát:
-<screen>mencoder -ovc help</screen>
-a gépeden lévŠ<application>MEncoder</application> által támogatott
-videó codec-ek kilistázásához.
-A következÅ választások érhetÅek el:
-</para>
-
-<para>
-Audió codec-ek:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Audió codec neve</entry><entry>LeÃrás</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mp3lame</entry>
- <entry>kódol VBR, ABR vagy CBR MP3-at LAME-mel</entry>
-</row>
-<row>
- <entry>lavc</entry>
- <entry>a <link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem> egyik audió codec-jét használja</link></entry>
-</row>
-<row>
- <entry>faac</entry>
- <entry>FAAC AAC audió kódoló</entry>
-</row>
-<row>
- <entry>toolame</entry>
- <entry>MPEG Audio Layer 2 kódoló</entry>
-</row>
-<row>
- <entry>twolame</entry>
- <entry>tooLAME alapú MPEG Audio Layer 2 kódoló</entry>
-</row>
-<row>
- <entry>pcm</entry>
- <entry>tömörÃtetlen PCM audió</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>nem kódol újra, csak másolja a tömörÃtett kockákat</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Videó codec-ek:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Videó codec neve</entry><entry>LeÃrás</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavc</entry>
- <entry>a <link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem> egyik videó codec-jét használja</link></entry>
-</row>
-<row>
- <entry>xvid</entry>
- <entry>Xvid, MPEG-4 Advanced Simple Profile (ASP) codec</entry>
-</row>
-<row>
- <entry>x264</entry>
- <entry>x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 codec</entry>
-</row>
-<row>
- <entry>nuv</entry>
- <entry>nuppel video, néhány realtime alkalmazás használja</entry>
-</row>
-<row>
- <entry>raw</entry>
- <entry>tömörÃtetlen videó képkockák</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>nem kódol újra, csak másolja a tömörÃtett kockákat</entry>
-</row>
-<row>
- <entry>frameno</entry>
- <entry>a 3-lépéses kódolásban használatos (nem javasolt)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-A kimeneti konténer formátumokat a <option>-of</option> kapcsolóval
-választhatod ki.
-Ãrd be:
-<screen>mencoder -of help</screen>
-a gépeden lévŠ<application>MEncoder</application> által támogatott konténerek
-kilistázásához.
-A következÅ választások érhetÅek el:
-</para>
-
-<para>
-Konténer formátumok:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Konténer formátum neve</entry><entry>LeÃrás</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavf</entry>
- <entry>a <systemitem class="library">libavformat</systemitem> által
- támogatott valamelyik konténer</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>mpeg</entry>
- <entry>MPEG-1 és MPEG-2 PS</entry>
-</row>
-<row>
- <entry>rawvideo</entry>
- <entry>nyers videó folyam (nincs keverés - csak egy videó folyam)</entry>
-</row>
-<row>
- <entry>rawaudio</entry>
- <entry>nyers audió folyam (nincs keverés - csak egy audió folyam)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Az AVI konténer a <application>MEncoder</application> natÃv
-konténer formátuma, ami azt jelenti, hogy ezt kezeli a legjobban
-és hogy a <application>MEncoder</application> ehhez lett tervezve.
-Amint fentebb megemlÃtettük, más konténer formátumok is
-használhatóak, de problémákba ütközhetsz a használatuk során.
-</para>
-
-<para>
-<systemitem class="library">libavformat</systemitem> konténerek:
-</para>
-
-<para>
-Ha a <systemitem class="library">libavformat</systemitem>-ot választottad
-a kimeneti fájl keveréséhez (a <option>-of lavf</option> használatával),
-a megfelelŠkonténer formátum a kimeneti fájl kiterjesztése alapján kerül
-megállapÃtásra.
-Egy meghatározott konténer formátumot a
-<systemitem class="library">libavformat</systemitem>
-<option>format</option> kapcsolójával Ãrhatsz elÅ.
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead><row>
-<entry><systemitem class="library">libavformat</systemitem> konténer neve</entry>
-<entry>LeÃrás</entry>
-</row></thead>
-<tbody>
-<row>
- <entry>mpg</entry>
- <entry>MPEG-1 és MPEG-2 PS</entry>
-</row>
-<row>
- <entry>asf</entry>
- <entry>Advanced Streaming Format</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>wav</entry>
- <entry>Waveform Audio</entry>
-</row>
-<row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Macromedia Flash video</entry>
-</row>
-<row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
-</row>
-<row>
- <entry>au</entry>
- <entry>SUN AU</entry>
-</row>
-<row>
- <entry>nut</entry>
- <entry>NUT nyÃlt konténer (kÃsérleti és még nem a specifikációnak megfelelÅ)</entry>
-</row>
-<row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
-</row>
-<row>
- <entry>mp4</entry>
- <entry>MPEG-4 formátum</entry>
-</row>
-<row>
- <entry>dv</entry>
- <entry>Sony Digital Video konténer</entry>
-</row>
-<row>
- <entry>mkv</entry>
- <entry>Matroska nyÃlt audió/videó konténer</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Amint láthatod, a <systemitem class="library">libavformat</systemitem>
-elég sok konténer formátumba engedélyezi a keverést a
-<application>MEncoder</application>-nek.
-Sajnos mivel a <application>MEncoder</application> nem úgy lett tervezve
-a kezdetektÅl, hogy az AVI-tól különbözÅ konténer formátumokat is támogassa,
-izgulhatsz a kimeneti fájl miatt.
-Kérjük ellenÅrizd, hogy az audió/videó szinkron rendben van-e és hogy a
-fájl lejátszható-e más lejátszókkal is az
-<application>MPlayer</application>-en kÃvül.
-</para>
-
-<example id="encode_to_macromedia_flash_format">
-<title>kódolás Macromedia Flash formátumba</title>
-<para>
-Egy Macromedia Flash videó létrehozása, mely lejátszható web böngészÅben
-a Macromedia Flash plugin-nel:
-<screen>
-mencoder <replaceable>bemenet.avi</replaceable> -o <replaceable>kimenet.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
-</screen>
-</para>
-</example>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-input">
-<title>Bemeneti fájl vagy eszköz kiválasztása</title>
-
-<para>
-A <application>MEncoder</application> tud kódolni fájlokból vagy akár
-direkt DVD vagy VCD lemezekrÅl is.
-A fájlból való kódoláshoz egyszerűen csak add meg a fájl nevét a parancssorban,
-vagy a <option>dvd://</option><replaceable>részszám</replaceable> vagy
-<option>vcd://</option><replaceable>sávszám</replaceable> eszközt a
-DVD részrÅl vagy VCD sávról történÅ kódoláshoz.
-Ha egy DVD-t már átmásoltál a merevlemezedre (használhatod pl. a
-<application>dvdbackup</application> ezsközt, mely a legtöbb rendszeren megvan),
-és a másolatot akarod elkódolni, akkor is használnod kell a
-<option>dvd://</option> szintaxist, a <option>-dvd-device</option>-szal együtt,
-amit a lemásolt DVD gyökérkönyvtárának elérési útja követ.
-
-A <option>-dvd-device</option> és <option>-cdrom-device</option>
-kapcsolókkal felülbÃrálhatóak a direkt lemezolvasásnál használt eszközök
-elérési útjái is, ha az alapértelmezett
-<filename>/dev/dvd</filename> és <filename>/dev/cdrom</filename> nem
-működnek a rendszereden.
-</para>
-
-<para>
-Ha DVD-rÅl kódolsz, gyakran kÃvánatos, hogy a kódolni kÃvánt fejezetet vagy
-fejezetek tartományát is megadd.
-Ehhez használhatod a <option>-chapter</option> kapcsolót.
-Például a <option>-chapter</option> <replaceable>1-4</replaceable>
-csak az 1-4 fejezeteket fogja elkódolni a DVD-rÅl.
-Ez különösen hasznos, ha egy 1400 MB-os kódolást csinálsz két CD-re, mivel
-meggyÅzÅdhetsz róla, hogy a vágás pontosan fejezet határnál lesz és nem
-egy jelenet közepén.
-</para>
-
-<para>
-Ha van támogatott TV felvevÅ kártyád, tudsz kódolni a TV-in eszközrÅl is.
-Használd a <option>tv://</option><replaceable>csatornaszám</replaceable> eszközt
-fájlnévként és a <option>-tv</option> kapcoslót a mentési beállÃtások
-megadásához.
-A DVB hasonlóképpen működik.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg4">
-<title>Két menetes MPEG-4 ("DivX") kódolás</title>
-
-<para>
-A név abból a ténybÅl ered, hogy ez a módszer a fájlt
-<emphasis>kétszer</emphasis> kódolja át. Az elsŠkódolás (szinkronizációs
-lépés) létrehoz pár ideiglenes, néhány megabájtos fájlt
-(<filename>*.log</filename>), ezeket ne töröld le még (az AVI-t
-letörölheted vagy egyszerűen létre sem hozod, a videó
-<filename>/dev/null</filename>-ba vagy Windows alatt a <filename>NUL</filename>-ba
-irányÃtásával). A második lépésben, a két menetes kimenet fájl lesz létrehozva,
-az ideiglenes fájlok bitrátájának felhasználásával. Az eredmény fájlnak
-sokkal jobb lesz a képminÅsége. Ha most hallasz errÅl elÅször, nézz meg
-pár a neten elérhetÅ leÃrást.
-</para>
-
-<example id="copy_audio_track">
-<title>audió sáv másolása</title>
-<para>
-Egy DVD második sávjának két menetes kódolása MPEG-4 ("DivX") AVI-ba az
-audió sáv másolásával.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>audió sáv kódolása</title>
-<para>
-Egy DVD második sávjának két menetes kódolása MPEG-4 ("DivX") AVI-ba az
-audió sáv MP3-ba alakÃtásával.
-Vigyázz ezzela módszerrel, mivel bizonyos esetekben audió/videó
-deszinkronizációhoz vezethet.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-handheld-psp">
-<title>Kódolás Sony PSP videó formátumba</title>
-
-<para>
-A <application>MEncoder</application> támogatja a Sony PSP videó formátumába
-történÅ kódolást, de a PSP szoftverének változatától függÅen különbözÅ
-korlátok vannak.
-Nyugodt lehetsz, ha a következŠkorlátokat figyelembe veszed:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Bitráta</emphasis>: nem lépheti át az 1500kbps-t,
- bár az utóbbi verziók elég jól támogatnak bármilyen bitrátát, feltéve, hogy
- a fejlécben nem túl nagy érték van megadva.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Méretek</emphasis>: a PSP videó szélességének és
- magasságának 16-tal oszthatónak kell lennie és az eredmény szélesség * magasság
- értékének <= 64000 kell lennie.
- Bizonyos körülmények között lehetséges a nagyobb felbontás PSP-vel történÅ
- lejátszása is.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audió</emphasis>: a mintavételezési frekvenciának 24kHz-nek
- kell lennie az MPEG-4 videóknál és 48kHz-nek a H.264-nél.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<example id="encode_for_psp">
-<title>kódolás PSP-be</title>
-<para>
-<screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
- <replaceable>bemenet.video</replaceable> -o <replaceable>kimenet.psp</replaceable>
-</screen>
-Figyelj rá, hogy beállÃthatod a videó cÃmét a
-<option>-info name=<replaceable>FilmCime</replaceable></option> kapcsolóval.
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg">
-<title>Kódolás MPEG formátumba</title>
-
-<para>
-A <application>MEncoder</application> tud készÃteni MPEG (MPEG-PS)
-formátumú kimeneti fájlokat.
-Ãltalában, ha MPEG-1 vagy MPEG-2 videót használsz, az azért van, mert
-egy korlátozott formátumhoz kódolsz, mint pl. az SVCD, a VCD vagy a DVD.
-Ezen formátumok speciális igényei a
-<link linkend="menc-feat-vcd-dvd">VCD és DVD készÃtési leÃrásban</link>
-megtalálhatóak.
-</para>
-
-<para>
-A <application>MEncoder</application> kimeneti fájl formátumának megváltoztatásához
-használd a <option>-of mpeg</option> kapcsolót.
-</para>
-
-<informalexample>
-<para>
-Példa:
-<screen>
-mencoder <replaceable>bemenet.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
- -oac copy <replaceable>egyéb_kapcsolók</replaceable> -o <replaceable>kimenet.mpg</replaceable>
-</screen>
-Egy MPEG-1-es fájl létrehozása, mely alkalmas minimális multimédia
-támogatással rendelkezŠrendszereken, például alapértelmezett Windows
-telepÃtéseken történÅ lejátszásra is:
-<screen>
-mencoder <replaceable>bemenet.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>kimenet.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-Ugyan ez a <systemitem class="library">libavformat</systemitem> MPEG muxer-ének használatával:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>Tanács:</title>
-<para>
-Ha valamilyen okból kifolyólag a videó minÅség a második lépésben nem
-kielégÃtÅ, ajánlott újrafuttatnod a videó kódolásod egy másik cél
-bitrátával, feltéve, hogy elmentetted az elÅzÅ lépés statisztikát
-tartalmazó fájlját.
-Ez azért lehetséges, mert a statisztika fájl elsÅdleges célja minden
-egyes képkocka komplexitásának feljegyzése, ami nem függ erÅteljesen
-a bitrátától. Azonban vedd figyelembe, hogy akkor kapod a legjobb
-minÅséget, ha a lépések cél bitrátája nem különbözik nagy mértékben.
-</para>
-</note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-rescale">
-<title>Filmek átméretezése</title>
-
-<para>
-Gyakran szükséged lehet a videó képméretének átméretezésére. Ennek több
-oka lehet: fájl méretének csökkentése, hálózati sávszélesség, stb. A
-legtöbb ember akkor is végez átméretezést, amikor DVD-ket vagy SVCD-ket
-konvertál DivX AVI-ba. Ha át szeretnél méretezni, olvasd el a
-<link linkend="aspect">képméret arányok megtartásáról</link> szóló részt.
-</para>
-
-<para>
-A méretezési eljárást a <literal>scale</literal> videó szűrŠvégzi:
-<option>-vf scale=<replaceable>szélesség</replaceable>:<replaceable>magasság</replaceable></option>.
-A minÅsége beállÃtható a <option>-sws</option> kapcsolóval.
-Ha ez nincs megadva, akkor a <application>MEncoder</application> a 2: bicubic-et használja.
-</para>
-
-<para>
-Használat:
-<screen>
-mencoder <replaceable>bemenet.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>Stream másolás</title>
-
-<para>
-<application>MEncoder</application> kétféleképpen tudja kezelni a folyamokat:
-<emphasis role="bold">kódolni</emphasis> vagy <emphasis role="bold">másolni</emphasis>
-tudja Åket. Ez a rész a <emphasis role="bold">másolásról</emphasis> szól.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Videó stream</emphasis> (<option>-ovc copy</option> kapcsoló):
- szép dolgokat lehet vele csinálni :) Például FLI vagy VIVO vagy
- MPEG-1 videót tenni (nem konvertálni!) AVI fájlba! Természetesen csak az
- <application>MPlayer</application> tudja lejátszani az ilyen fájlokat :) Ennek
- valószÃnűleg gyakorlati haszna nincs. Ãsszerűbben: a videó stream másolása
- hasznos lehet például ha csak az audió stream-et kell kódolni (például
- tömörÃtetlen PCM-et MP3-ba).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audió stream</emphasis> (<option>-oac copy</option> kapcsoló):
- Åszintén szólva... Bele lehet mixelni egy külsÅ audió fájlt (MP3, WAV) a
- kimeneti stream-be. Használd a
- <option>-audiofile <replaceable>fájlnév</replaceable></option> kapcsolót
- ehhez.
-</para></listitem>
-</itemizedlist>
-
-<para>
-A <option>-oac copy</option> használatával végrehajtott egyik konténer
-formátumból másikba történŠmásoláshoz szükséges lehet a
-<option>-fafmttag</option> kapcsoló, hogy megmaradjon az eredeti fájl
-audió formátum tag-je.
-Például ha egy NSV fájl AAC audióval AVI konténerbe alakÃtasz át, az
-audió formátum tag hibás lesz és meg kell változtatni. Az audió formátum
-tag-ek listáját megtalálod a <filename>codecs.conf</filename> fájlban.
-</para>
-
-<para>
-Példa:
-<screen>
-mencoder <replaceable>bemenet.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-images">
-<title>Kódolás több bemeneti képfájlból (JPEG, PNG, TGA, stb.)</title>
-
-<para>
-A <application>MEncoder</application> képes egy vagy több JPEG, PNG, TGA
-vagy más képfájlból film létrehozására. Egy egyszerű framecopy-val MJPEG
-(Motion JPEG), MPNG (Motion PNG) vagy MTGA (Motion TGA) fájlokat tud létrehozni.
-</para>
-
-<orderedlist>
-<title>A folyamat leÃrása:</title>
-<listitem><para>
- A <application>MEncoder</application> <emphasis>dekódolja</emphasis> a
- bemeneti képe(ke)t a <systemitem class="library">libjpeg</systemitem>-gel
- (ha PNG-ket dekódol, akkor a <systemitem class="library">libpng</systemitem>-vel).
-</para></listitem>
-<listitem><para>
- Ezután a <application>MEncoder</application> a dekódolt képeket a
- kiválasztott videó tömörÃtÅnek adja át (DivX4, Xvid, FFmpeg msmpeg4, stb.).
-</para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>Példák</title>
-<para>
-A <option>-mf</option> kapcsoló magyarázata a man oldalon található.
-
-<informalexample>
-<para>
-Egy MPEG-4-es fájl létrehozása az aktuális könyvtárból található összes
-JPEG fájlból:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Egy MPEG-4 fájl létrehozása néhány JPEG fájlból az aktuális könyvtárban:
-<screen>
-mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Egy MPEG-4 fájl létrehozása JPEG fájlok explicit listájából (az aktuális könyvtárban
-lévŠlista.txt tartalmazza a forrásként felhasználandó fájlokat, soronként egyet):
-<screen>
-mencoder mf://<replaceable>@lista.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-KülönbözÅ tÃpusú képeket is használhatsz, függetlenül a használt módszertÅl
-— egyedi fájlnevek, helyettesÃtÅ karakterek vagy fájl lista — feltéve
-természetesen, hogy a képméretek azonosak.
-Ãgy például a cÃm kép lehet egy PNG fájl, majd a bemutató
-készülhet JPEG fényképekbÅl.
-
-<informalexample>
-<para>
-Egy Motion JPEG (MJPEG) fájl készÃtése az aktuális könyvtár összes
-JPEG fájlából:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Egy tömörÃtetlen fájl létrehozása az aktuális könyvtár összes PNG fájlából:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>kimenet.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><para>
-A szélességnek 4 egész többszörösének kell lennie, ez a RAW RGB AVI
-formátum megszorÃtása.
-</para></note>
-
-<informalexample>
-<para>
-Egy Motion PNG (MPNG) fájl létrehozása az aktuális könyvtár PNG
-fájlaiból:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>kimenet.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Egy Motion TGA (MTGA) fájl létrehozása az aktuális könyvtár összes
-TGA fájlából:
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>kimenet.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-extractsub">
-<title>DVD felirat elmentése VOBsub fájlba</title>
-
-<para>
-A <application>MEncoder</application> képes a feliratok kiszedésére
-a DVD-kbÅl és elmentésére VOBsub formátumú fájlokba. Ezek két fájlból
-állnak, <filename>.idx</filename> és <filename>.sub</filename> kiterjesztéssel,
-és általában egy <filename>.rar</filename> archÃvba vannak becsomagolva.
-Az <application>MPlayer</application> le tudja ezeket játszani a
-<option>-vobsub</option> és a <option>-vobsubid</option> kapcsolókkal.
-</para>
-
-<para>
-Meg kell adnod a kimeneti fájlok fájlnevét (az <filename>.idx</filename> vagy
-<filename>.sub</filename> kiterjesztés nélkül) a
-<option>-vobsubout</option> kapcsolóval és az ezen felirathoz tartozó
-indexet a kimeneti fájlokban a <option>-vobsuboutindex</option>-szel.
-</para>
-
-<para>
-Ha a bemenet nem DVD, akkor a <option>-ifo</option> kapcsolót kell
-használnod ahhoz, hogy megadd, hogy <filename>.ifo</filename> fájl
-szükséges a kimeneti <filename>.idx</filename> elkészÃtéséhez.
-</para>
-
-<para>
-Ha a bemenet nem DVD és nincs <filename>.ifo</filename> fájlod,
-a <option>-vobsubid</option> kapcsolót kell használnod, hogy megadd,
-milyen nyelv id-t kell beletenni az <filename>.idx</filename> fájlba.
-</para>
-
-<para>
-Mindkét esetben az éppen futó felirat hozzáÃródik a <filename>.idx</filename>
-és <filename>.sub</filename> fájlokhoz, amennyiben azok már léteznek. Ãgy
-ezeket le kell törölnöd, mielÅtt nekiállnál.
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>Két felirat másolása egy DVD-rÅl két menetes kódolás közben</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>Francia felirat másolása egy MPEG fájlból</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
-</screen>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="aspect">
-<title>Képarány megtartása</title>
-
-<para>
-A DVD-s és az SVCD-s (pl. MPEG-1/2) fájlokban van egy képméret arány érték, ami
-leÃrja, hogy a lejátszónak hogyan kell méreteznie a videó stream-et, Ãgy az
-embereknek nem lesz tojás fejük (pl.: 480x480 + 4:3 = 640x480). Ennek ellenére AVI-ba
-(DivX) történŠkódoláskor figyelembe kell venned, hogy az AVI fejléc nem tárolja ezt
-az értéket. A film átméretezése undorÃtó és idÅigényes, kell, hogy legyen egy jobb
-megoldás!
-</para>
-
-<para>Van is.</para>
-
-<para>
-Az MPEG-4-nek van egy egyedülálló sajátossága: a videó stream tartalmazhatja
-a szükséges képarányt. Igen, úgy mint az MPEG-1/2 (DVD, SVCD) és a H.263 fájlok.
-Sajnos azonban kevés videó lejtászó van az <application>MPlayer</application>en
-kÃvül, ami támogatná ezt az attribútumot.
-</para>
-
-<para>
-Ez a tulajdonság csak a <systemitem class="library">libavcodec</systemitem>
-<systemitem>mpeg4</systemitem> codec-jével használható. Tartsd észben: habár
-az <application>MPlayer</application> hibátlanul lejátsza a létrehozott
-fájlt, a többi lejátszó lehet, hogy rossz képarányt fog használni.
-</para>
-
-<para>
-Ajánlott levágni a fekete sávokat a film képe felett és alatt.
-Lásd a man oldalt a <systemitem>cropdetect</systemitem> és a
-<systemitem>crop</systemitem> szűrÅk használatához.
-</para>
-
-<para>
-Használat
-<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>kimenet.avi</replaceable></screen>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/hu/ports.xml b/DOCS/xml/hu/ports.xml
deleted file mode 100644
index 62fc39a..0000000
--- a/DOCS/xml/hu/ports.xml
+++ /dev/null
@@ -1,841 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r31032 -->
-<chapter id="ports" xreflabel="Ports">
-<title>Portok</title>
-
-<para>
-Az <application>MPlayer</application> bináris csomagjai számos forrásból elérhetÅek.
-Van egy listánk a számos rendszerhez elkészÃtett
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#unofficial_packages">nem hivatalos csomagokról</ulink>
-a weboldalunkon.
-Azonban <emphasis role="bold">ezen csomagok közül egyikhez sem nyújtunk támogatást</emphasis>.
-A problémáidat a szerzÅknek jelezd, ne nekünk.
-</para>
-
-<sect1 id="linux">
-<title>Linux</title>
-
-<!-- ********** -->
-
-<sect2 id="debian">
-<title>Debian csomagolás</title>
-
-<para>
-Debian csomag készÃtéséhez futtasd az alábbi parancsot az
-<application>MPlayer</application> forrásának könyvtárában:
-
-<screen>fakeroot debian/rules binary</screen>
-
-Ha különleges kapcsolókat akarsz átadni a configure-nak, állÃtsd be a
-<envar>DEB_BUILD_OPTIONS</envar> környezeti változót. például ha
-szeretnél GUI-t és OSD menü támogatást, ezt kell használnod:
-
-<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
-Pár változót is átadhatsz a Makefile-nak. Például ha gcc 3.4-et szeretnél
-használni a fordÃtáshoz annak ellenére, hogy nem az az alapértelmezett
-fordÃtó:
-
-<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
-A forrás fa kitakarÃtásához add ki a következÅ parancsot:
-
-<screen>fakeroot debian/rules clean</screen>
-
-Rendszergazdaként a szokásos módszerrel telepÃthetÅ a <filename>.deb</filename> csomag:
-<screen>dpkg -i ../mplayer_<replaceable>verziószám</replaceable>.deb</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="rpm">
-<title>RedHat csomagolás</title>
-
-<para>
-Az RPM csomag elkészÃtéséhez add ki a következÅ parancsot az
-<application>MPlayer</application> forrás könyvtárában:
-
-<screen>FIXME: megfelelŠparancs beszúrása</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="arm_linux">
-<title>ARM Linux</title>
-
-<para>
-Az <application>MPlayer</application> működik ARM CPU-val rendelkezŠPDA-kon is,
-mint páldául a Sharp Zaurus, vagy a Compaq Ipaq. Megszerzésének legegyszerűbb
-módja az <ulink url="http://www.openzaurus.org">OpenZaurus</ulink> webhelyérÅl
-történÅ letöltés. Ha saját erÅdbÅl akarod lefordÃtani, érdemes körülnézni az
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
-és a
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
-Openzaurus buildroot könyvtárakban, ezek ugyanis mindig tartalmazzák a legújabb
-Makefile-okat és patcheket az <application>MPlayer</application> SVN verziójának
-<systemitem class="library">libavcodec</systemitem>-kel történÅ lefordÃtásához.
-Ha GUI frontend-et is szeretnél, használd az xmms-embedded-et.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bsd">
-<title>*BSD</title>
-
-<para>
-Az <application>MPlayer</application> fut az összes ismert BSD-n.
-Léteznek ports/pkgsrc/fink/stb. verziók az
-<application>MPlayer</application>bÅl, amelyek nagy valószÃnűséggel
-egyszerűbben fordÃthatóak le, mint a mi nyers forrásaink.
-</para>
-
-<para>
-Ha az <application>MPlayer</application> nem találja a
-<filename>/dev/cdrom</filename>-ot vagy a <filename>/dev/dvd</filename>-t,
-csinálj egy symlinket:
-<screen>ln -s /dev/<replaceable>cdrom_egység</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
-Ha Win32 DLL-eket akarsz használni az <application>MPlayer</application>rel,
-újra kell fordÃtanod a kernelt "<envar>option USER_LDT</envar>"-vel
-(kivéve, ha FreeBSD-CURRENT-et
-használsz, ahol ez az alapállapot).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-
-<para>
-Ha a processzorod támogatja az SSE-t, akkor ezen utasÃtáskészlet kihasználásához
-a kernelt az "<envar>options CPU_ENABLE_SSE</envar>" beállÃtással
-kell fordÃtani (ehhez FreeBSD-STABLE vagy kernelpatchekre van szükség).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-
-<para>
-A gas különbözŠverzióinak hiányosságai miatt (relokáció vs MMX), két
-lépésben kell fordÃtani: elÅszÅr legyen a nem-natÃv verzió a <envar>$PATH</envar>-ban,
-majd add ki a <command>gmake -k</command> parancsot, majd a natÃv verzióval
-<command>gmake</command>.
-</para>
-
-<para>
-Az OpenBSD 3.4-tÅl a fenti kavarás már nem szükséges.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="darwin">
-<title>Darwin</title>
-
-<para>
-Lásd a <link linkend="macos">Mac OS</link> részt.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="unix">
-<title>Kereskedelmi Unix</title>
-
-<para>
-Az <application>MPlayer</application> számos kereskedelmi Unix variánsra
-portolva lett. Mivel a fejlesztŠkörnyezet ezeken a rendszereken másfajta,
-mint a szabad Unix-okon, lehet, hogy némi kézi beállÃtást igényel a
-fordÃtás.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="solaris">
-<title>Solaris</title>
-
-<para>
-A Solarisnak még mindig rossz, POSIX-inkompatibilis rendszer eszközei és shell-je
-van az alapértelmezett helyeken. AmÃg nem tesznek egy bölcs lépést a számÃtástechnikai
-kÅkorszak leváltására, addig a <filename>/usr/xpg4/bin</filename> könyvtárat
-hozzá kell adnod a <systemitem>PATH</systemitem>-hoz.
-</para>
-
-<para>
-Az <application>MPlayer</application> Solaris 2.6 vagy újabb rendszereken működik.
-A SUN audió vezérlÅjét a <option>-ao sun</option> kapcsolóval használhatod.
-</para>
-
-<para>
-Az <application>MPlayer</application> kihasználja az
-<emphasis role="bold">UltraSPARC</emphasis> gépek <emphasis role="bold">VIS</emphasis>
-utasÃtáskészletét (az MMX-hez hasonló), bár jelenleg csak a
-<systemitem class="library">libmpeg2</systemitem>-ben,
-<systemitem class="library">libvo</systemitem>-ben és
-a <systemitem class="library">libavcodec</systemitem>-ben, de az
-<systemitem class="library">mp3lib</systemitem>-ben nem.
-Egy 400Mhz-es CPU elég, hogy élvezhetÅen lejátsz egy VOB filet.
-Szükséged lesz egy felinstallált
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>-re
-is.
-</para>
-
-<para><emphasis role="bold">Figyelmeztetés:</emphasis></para>
-<itemizedlist>
-<listitem><para>
- A <emphasis role="bold">mediaLib</emphasis>
- <emphasis role="bold">jelenleg le van tiltva</emphasis> alapértelmezésben
- az <application>MPlayer</application>ben, mivel hibás. A SPARC felhasználók,
- akik az MPlayert mediaLib támogatással forgatták, egy vastag, zöld
- csÃkról számoltak be a libavcodec-kal kódolt és dekódolt videók esetén.
- Ha mégis akarod, engedélyezheted:
- <screen>./configure --enable-mlib</screen>
- Azonban ezt a saját felelÅsségedre tedd. Az x86 felhasználóknak
- <emphasis role="bold">soha</emphasis> sem ajánlott mediaLib-et használni,
- mivel nagyon lerontja az MPlayer teljesÃtményét.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Solaris SPARC-on GNU C/C++ fordÃtó is kell; az nem számÃt, hogy
-assemblerrel vagy nélküle van.
-</para>
-
-<para>
-Solaris x86-on kell a GNU assembler és a GNU C/C++ fordÃtó is, aminek támogatnia
-kell a GNU assemblert! Az <application>MPlayer</application> igencsak
-támaszkodik az MMX, SSE és 3DNOW! utasÃtásokra, amiket a Sun standard
-assemblere (<filename>/usr/ccs/bin/as</filename>) nem támogat.
-</para>
-
-<para>
-A <filename>configure</filename> script megpróbálja megkereseni, hogy a
-"gcc" parancsod melyik assemblert indÃtja (ha nem sikerül neki,
-használd a
-<option>--as=<replaceable>/ahova/installalva/lett/a/gnu-as</replaceable></option>
-kapcsolót, hogy megadd a <filename>configure</filename>nak az "as" helyét
-a rendszeredben).
-</para>
-
-<para>Megoldások a gyakori problémákra:</para>
-<itemizedlist>
-<listitem><para>
- Hibaüzenet a <filename>configure</filename>-tól egy Solaris x86-os
- rendszeren GNU assembler nélküli GCC használata esetén:
- <screen>
-% configure
-...
-Checking assembler (/usr/ccs/bin/as) ... , failed
-Please upgrade(downgrade) binutils to 2.10.1...<!--
- --></screen>
- (Megoldás: <option>--with-as=gas</option>-al fordÃtott GCC
- használata)
-</para>
-
-<para>
-Tipikus hiba, ha a GNU C fordÃtó nem GNU assemblert (GNU as)
-használ:
-<screen>
-% gmake
-...
-gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
-Assembler: mplayer.c
-"(stdin)", line 3567 : Illegal mnemonic
-"(stdin)", line 3567 : Syntax error
-... további "Illegal mnemonic" és "Syntax error" hibák ...
-</screen>
-</para>
-</listitem>
-
-<listitem><para>
- Az <application>MPlayer</application> segfault-olhat ha
- win32codec-eket használó videót akarsz kódolni vagy dekódolni:
- <screen>
-...
-Trying to force audio codec driver family acm...
-Opening audio decoder: [acm] Win32/ACM decoders
-sysi86(SI86DSCR): Invalid argument
-Couldn't install fs segment, expect segfault
-
-
-MPlayer interrupted by signal 11 in module: init_audio_codec
-...<!--
- --></screen>
- Ez a Solaris 10-ben és a pre-Solaris Nevada b31-ben a sysi86() egyik
- változtatása miatt van. JavÃtva lett a Solaris Nevada b32-ben; bár a
- Sun-nak még vissza kell vezetnie a javÃtást a Solaris 10-be. Az
- MPlayer Project felhÃvta a Sun figyelmét a problémára, a javÃtás
- készülÅben van a Solaris 10-hez. EttÅl a hibáról további információt
- itt találhatsz:
- <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
-</para></listitem>
-
-<listitem><para>
-A Solaris 8 hibái miatt nem biztos,
-hogy le tudsz játszani 4 GB-nál nagyobb DVD lemezt:
-</para>
-
-<itemizedlist>
-<listitem><para>
- Az sd(7D) vezérlÅnek a Solaris 8 x86-ban van egy hibája a >4GB lemez blokkok
- elérésénél egy eszközön, melyen a logikai blokkméret != DEV_BSIZE-zel
- (pl. CD-ROM és DVD média).
- A 32 bites egész túlcsordulása miatt a lemez cÃm modulo 4GB kerül megcÃmzésre
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
- Ez a probléma a SPARC alapú Solaris 8-on nincs.
-</para></listitem>
-
-<listitem><para>
- Egy hasonló hiba van a hsfs(7FS) fájl rendszer kódjában is (alias ISO9660),
- a hsfs nem támogatja a 4 GB-nál nagyobb partÃciókat/lemezeket, minden adat
- modulo 4GB-vel lesz elérve
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
- Ez a hiba a 109764-04 (SPARC) / 109765-04
- (x86) jelzésű patch-ek telepÃtése után megszűnik.
-</para></listitem>
-</itemizedlist>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="hp-ux">
-<title>HP-UX</title>
-
-<para>
-Joe Page ad helyet egy részletes HP-UX <application>MPlayer</application>
-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOGYAN</ulink>-nak
-a weboldalán, amit Martin Gansser Ãrt. Ezekkel az utasÃtásokkal a fordÃtás után
-egybÅl kész programot kapsz. A következÅ információk a HOGYAN-ból lettek átvéve.
-</para>
-
-<para>
-GCC 3.4.0 vagy késÅbbire lesz szükséged és SDL 1.2.7 vagy újabb. A HP cc nem
-tud működÅ programot fordÃtani, a korábbi GCC verziók pedig hibásak.
-Az OpenGL funkcionalÃtáshoz telepÃtened kel a Mesa-t és Ãgy a gl és gl2 videó kimeneti
-vezérlÅknek működniük kell, bár nagyon lassúak is lehetnek a CPU sebességétÅl függÅen.
-
-A meglehetÅsen gyenge natÃv HP-UX hangrendszer helyett inkább használd a GNU esound-ot.
-</para>
-
-<para>
-Hozd létre a DVD eszközt
-nézd végig a SCSI buszt:
-
-<screen>
-# ioscan -fn
-
-Class I H/W Path Driver S/W State H/W Type Description
-...
-ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
-target 3 8/16/5.2 tgt CLAIMED DEVICE
-disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
- /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
-target 4 8/16/5.7 tgt CLAIMED DEVICE
-ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-</screen>
-
-A képernyÅn a kimenetben egy Pioneer DVD-ROM látszik a 2. SCSI cÃmen.
-A kártya a 8/16-os hardver útra az 1-essel hivatkozik.
-</para>
-
-<para>
-KészÃts egy linket a nyers eszközrÅl a DVD eszközre.
-<screen>
-# ln -s /dev/rdsk/c<replaceable><SCSI busz hivatkozás></replaceable>t<replaceable><SCSI cél ID></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><eszköz></replaceable>
-</screen>
-Például:
-<screen># ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
-</para>
-
-<para>
-Itt van pár gyakori probléma megoldása:
-
-<itemizedlist>
-<listitem>
- <para>
- A rendzser összeomlik indÃtáskor a következÅ hibaüzenettel:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl<!--
- --></screen>
- </para>
- <para>
- Ez azt jelenti, hogy a <systemitem>.finite().</systemitem> függvény
- nincs benne a szabványos HP-UX math függvénykönyvtárban.
- Ekkor <systemitem>.isfinite().</systemitem> van helyette.
- Megoldás: Használd a legújabb Mesa depot fájlt.
- </para>
-</listitem>
-
-<listitem>
- <para>
- Ãsszeomlás lejátszáskor a következÅ hibaüzenettel:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0<!--
- --></screen>
- </para>
- <para>
- Megoldás: Használd a configure extralibdir opcióját
- <option>--extra-ldflags="/usr/lib -lrt"</option>
- </para>
-</listitem>
-
-<listitem>
- <para>
- Az MPlayer segfault-ol egy ilyesmi üzenettel:
- <screen>
-Pid 10166 received a SIGSEGV for stack growth failure.
-Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault<!--
- --></screen>
- </para>
- <para>
- Megoldás:
- A HP-UX kernel alapértelmezésként 8MB-os(?) méretű vermet használ
- processzenként. (11.0 és az újabb 10.20 foltok engedik növelni a
- <systemitem>maxssiz</systemitem>-t egészen 350MB-ig a 32-bit-es
- programokhoz). Növelned kell a <systemitem>maxssiz</systemitem>-t
- és újrafordÃtani a kernelt (majd reboot-olni). Ehhez használhatod
- a SAM-ot. (Ha már itt tartunk, nézd meg a <systemitem>maxdsiz</systemitem>
- paramétert is az egy program által használható maximum adatmennyiséghez.
- Az alkalmazásaidon múlik, hogy az alapértelmezett 64MB elég vagy sem.)
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="aix">
-<title>AIX</title>
-
-<para>
-Az <application>MPlayer</application> sikeresen fordul AIX 5.1-en,
-5.2-n és 5.3-on, GCC 3.3 vagy újabbal. Az
-<application>MPlayer</application> fordÃtását AIX 4.3.3 és
-régebbi változaton nem teszteltük. Javasoljuk, hogy az
-<application>MPlayer</application>t GCC 3.4 vagy újabbal fordÃtsd
-vagy ha POWER5-ön forgatsz, GCC 4.0 szükséges.
-</para>
-
-<para>
-A CPU detektálás még fejlesztés alatt áll.
-A következŠarchitektúrákat teszteltük:
-</para>
-
-<itemizedlist>
- <listitem><para>604e</para></listitem>
- <listitem><para>POWER3</para></listitem>
- <listitem><para>POWER4</para></listitem>
-</itemizedlist>
-
-<para>
-A következŠarchitektúrák nem lettek tesztelve, de működhetnek:
-<itemizedlist>
- <listitem><para>POWER</para></listitem>
- <listitem><para>POWER2</para></listitem>
- <listitem><para>POWER5</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Az Ultimedia Services-en keresztüli hang nem támogatott, mert az Ultimedia-t
-dobták az AIX 5.1-ben; ezért az egyetlen lehetÅség az AIX Open
-Sound System (OSS) vezérlÅk használata a 4Front Technologies-tÅl
-<ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html</ulink>.
-A 4Front Technologies szabadon biztosÃtja az OSS vezérlÅket az AIX 5.1-hez
-nem-üzleti felhasználásra; azonban jelenleg nincs hang kimeneti vezérlÅ
-AIX 5.2 és 5.3 alá. Ez azt jelenti, hogy az <emphasis role="bold">AIX 5.2
-és 5.3 alatt jelenleg az MPlayer nem képes audió kimenetre.</emphasis>
-</para>
-
-<para>Megoldás a gyakori problémákra:</para>
-
-<itemizedlist>
-<listitem>
-<para>
- Ha ezt a hibaüzenetet kapod a <filename>configure</filename>-tól:
- <screen>
-$ ./configure
-...
-Checking for iconv program ... no
-No working iconv program found, use
---charset=US-ASCII to continue anyway.
-Messages in the GTK-2 interface will be broken then.<!--
- --></screen>
- Ez azért van, mert az AIX nem-szabványos kódlap neveket használ;
- ezért az MPlayer kimenetének másik kódlapra konvertálása jelenleg
- nem támogatott. A megoldás:
- <screen>$ ./configure --charset=noconv</screen>
- </para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="qnx">
-<title>QNX</title>
-
-<para>
-Le kell töltened és telepÃtened kell az SDL-t a QNX-re. Majd futtasd az
-<application>MPlayer</application>t a <option>-vo sdl:driver=photon</option>
-és <option>-ao sdl:nto</option> kapcsolókkal, Ãgy gyors lesz.
-</para>
-
-<para>
-A <option>-vo x11</option> kimenet még lassabb lesz, mint Linux-on,
-mivel a QNX-nek csak X <emphasis>emulációja</emphasis> van, ami nagyon lassú.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>
-Igen, az <application>MPlayer</application> fut Windows-on
-<ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> és
-<ulink url="http://www.mingw.org/"><application>MinGW</application></ulink> alatt.
-Még nincs hivatalos GUI-ja, de a parancssoros verzió
-teljes mértékben használható. Ajánlott megnézni az
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
-levelezési listát is segÃtéségért és a legfrissebb információkért.
-A hivatalos Windows-os binárisok megtalálhatóak a
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">letöltési oldalon</ulink>.
-A külsÅ forrásból származó telepÃtÅ csomagokat és egyszerű GUI frontend-eket
-összegyűjtöttük a
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">kapcsolódó projektek oldal</ulink>
-Windows-os részében.
-</para>
-
-<para>
-Ha el akarod kerülni a parancssor használatát, van egy egyszerű trükk.
-Tegyél egy parancsikont az asztalodra, ami valami hasonló parancssort
-tartalmaz:
-<screen><replaceable>c:\eleresi\ut\</replaceable>mplayer.exe %1</screen>
-Ezután az <application>MPlayer</application> le fog játszani bármilyen
-videót, amit erre a parancsikonra ejtesz. Ãrd hozzá a <option>-fs</option>
-kapcsolót a teljes képernyÅs módhoz.
-</para>
-
-<para>
-A legjobb eredmény a natÃv DirectX videó kimeneti vezérlÅvel
-(<option>-vo directx</option>). AlternatÃvaként van OpenGL és SDL, de
-az OpenGL teljesÃtménye nagyban változik a rendszerek között, az SDL pedig
-torzÃtja a képet vagy összeomlik néhány rendszeren. Ha torz a kép,
-próbáld meg kikapcsolni a hardveres gyorsÃtást a
-<option>-vo directx:noaccel</option> kapcsolóval. Töltsd le a
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/dx7headers.tgz">DirectX 7 fejléc fájlokat</ulink>
-a DirectX videó kimeneti vezérlŠbeforgatásához.
-</para>
-
-<para>
-A <link linkend="vidix">VIDIX</link> is működik már Windows alatt
-a <option>-vo winvidix</option> kapcsolóval, bár még kisérleti fázisban
-van és egy kis kézi állÃtgatás kell hozzá. Töltsd le a
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> vagy
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (MTRR támogatással)</ulink>
-fájlt és másold be a <filename class="directory">vidix/dhahelperwin</filename> könyvtárba
-az <application>MPlayer</application> forrás fádban.
-Nyisd meg a konzolt és Ãrd be:
-<screen>make install-dhahelperwin</screen>
-adminisztrátorként. Ezután újra kell indÃtanod a gépet.
-</para>
-
-<para>
-A legjobb eredményhez az <application>MPlayer</application>nek egy olyan
-szÃnteret kell használnia, amit a videó kártyád támogat. Sajnos sok Windows-os
-grafikus vezérlÅ hibásan támogatottnak jelent pár szÃnteret. Hogy megtudd,
-melyiket, próbáld ki az
-<screen>
-mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>szinter</replaceable> <replaceable>film</replaceable>
-</screen>
-parancsot, ahol a <replaceable>szinter</replaceable> bármelyik szÃntér lehet,
-amit a <option>-vf format=fmt=help</option> kapcsoló kiÃr. Ha találsz
-olyan szÃnteret, amit a kártyád részben hibásan kezel,
-<option>-vf noformat=<replaceable>szinter</replaceable></option>
-kapcsolóval megakadályozhatod a használatát. Ãrd be ezt a konfigurációs fájlodba,
-hogy véglegesen kimaradjon a használatból.
-</para>
-
-<para>Vannak speciálisan Windowsra készÃtett codec csomagok a
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">letöltési oldalunkon</ulink>,
- melyek segÃtségével azokat a formátumokat is lejátszhatod, amikhez még
- nincs natÃv támogatás.
- Tedd be a codec-eket valahova az elérési útvonaladba vagy add meg a
- <option>--codecsdir=<replaceable>c:/ut/a/codecjeidhez</replaceable></option>
- (alternatÃvaként
- <option>--codecsdir=<replaceable>/ut/a/codecjeidhez</replaceable></option>
- csak <application>Cygwin</application> alatt) kapcsolóval a <filename>configure</filename>-nak.
- Kaptunk olyan visszajelzéseket, hogy a Real DLL-eknek Ãrhatóaknak kell lenniük az
- <application>MPlayer</application>t futtató felhasználó által, de csak bizonyos
- rendszereken (NT4). Próbáld meg Ãrhatóvá tenni Åket, ha problémáid vannak.</para>
-
-<para>
-VCD-ket is lejátszhatsz a <filename>.DAT</filename> vagy
-<filename>.MPG</filename> fájlok lejátszásával, amit a Windows meglát a VCD-n.
-Ãgy nagyszerűen működik (javÃtsd ki a CD-ROM-od betűjelét):
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-AlternatÃvaként lejátszhatsz egy VCD sávot közvetlenül Ãgy:
-<screen>mplayer vcd://<replaceable><sáv></replaceable> -cdrom-device <replaceable>d:</replaceable>
-</screen>
-A DVD-k is működnek, add meg a <option>-dvd-device</option> kapcsolóval
-a DVD-ROM-od betűjelét:
-<screen>
-mplayer dvd://<replaceable><cÃm></replaceable> -dvd-device <replaceable>d:</replaceable>
-</screen>
-A <application>Cygwin</application>/<application>MinGW</application>
-konzol meglehetÅsen lassú. Kimenet átirányÃtással vagy a
-<option>-quiet</option> kapcsolóval a jelentések szerint javÃtható a
-teljesÃtmény néhány rendszeren. A Direct renderelés (<option>-dr</option>)
-is segÃthet. Ha a lejátszás szaggatott, próbáld meg a
-<option>-autosync 100</option> opciót. Ha ezek közül bármelyik segÃt, Ãrd
-be a konfigurációs fájlodba.
-</para>
-
-<note>
-<para>
-Ha Pentium 4-ed van és fagyásokat tapasztalsz a RealPlayer
-codec-ekkel, le kell tiltanod a hyperthread támogatást.
-</para>
-</note>
-
-<!-- ********** -->
-
-<sect2 id="cygwin">
-<title><application>Cygwin</application></title>
-
-<para>
-A <application>Cygwin</application> 1.5.0 vagy késÅbbi verziójára
-lesz szükséged az <application>MPlayer</application> lefordÃtásához.
-</para>
-
-<para>
-A DirectX fejléc fájlokat ki kell csomagolni a
-<filename class="directory">/usr/include/</filename> vagy
-<filename class="directory">/usr/local/include/</filename> könyvtárba.
-</para>
-
-<para>
-Az SDL elÅállÃtásával és <application>Cygwin</application> alatti
-használatával kapcsolatos utasÃtások és fájlok megtalálhatóak a
-<ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl oldalon</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="mingw">
-<title><application>MinGW</application></title>
-
-<para>
-A <application>MinGW</application> 3.1.0 vagy késÅbbi és az MSYS 1.0.9 vagy késÅbbi
-verziójára lesz szükséged. Az MSYS postinstall-jának mondd meg, hogy telepÃtve van
-a <application>MinGW</application>.
-</para>
-
-<para>
-Csomagold ki a DirectX fejléc fájlokat a
-<filename class="directory">/mingw/include/</filename> könyvtárba.
-</para>
-
-<para>
-A tömörÃtett MOV fejlécek támogatásához
-<ulink url="http://www.gzip.org/zlib/">zlib</ulink> kell, ami
-alaphelyzetben nincs benne a <application>MinGW</application>-ben.
-ÃllÃtsd be a <option>--prefix=/mingw</option> kapcsolóval és
-telepÃtsd, mielÅtt az <application>MPlayer</application>t fordÃtanád.
-</para>
-
-<para>
-Az <application>MPlayer</application> és a szükséges függvénykönyvtárak
-elkészÃtésének módját elolvashatod az
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOGYAN</ulink>-ban.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="macos">
-<title>Mac OS</title>
-
-<para>
-Az <application>MPlayer</application> nem működik a 10-esnél régebbi Mac OS-eken,
-de könnyedén lefordÃtható Mac OS X 10.2 és késÅbbi verziók alatt.
-A javasolt fordÃtó a GCC 3.x vagy késÅbbi Apple féle változata.
-Az alap fordÃtási környezetet az Apple
-<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
-telepÃtésével kapod meg.
-Ha Mac OS X 10.3.9 vagy régebbi verziód és QuickTime 7-esed van,
-használhatod a <option>corevideo</option> videó kimeneti vezérlÅt is.
-</para>
-
-<para>
-Sajnos az alap környezet nem teszi lehetÅvé az <application>MPlayer</application>
-összes képességének kihasználását.
-Például ha befordÃtott OSD támogatást szeretnél, telepÃtett
-<systemitem class="library">fontconfig</systemitem> és a
-<systemitem class="library">freetype</systemitem> függvénykönyvtárakra
-lesz szükséged. Más Unix-okkal ellentétben, mint amilyen a legtöbb
-Linux és BSD variáns, az OS X nem rendelkezik alapértelmezett csomag
-kezelÅvel, ami az operációs rendszerhez tartozna.
-</para>
-
-<para>
-Két független közül választhatsz:
-<ulink url="http://fink.sourceforge.net/">Fink</ulink> és
-<ulink url="http://www.macports.org/">MacPorts</ulink>.
-MindkettŠnagyjából ugyan azt a szolgáltatást nyújtja (pl. rengeteg választható
-csomag, függÅségek kezelése, csomagok egyszerű telepÃtése/frissÃtése/eltávolÃtása,
-stb...).
-A Fink biztosÃt elÅfordÃtott bináris csomagokat, de forrásból is lefordÃtható
-bármi, mÃg a MacPorts csak forrásból történÅ fordÃtást tesz lehetÅvé.
-Ezen leÃrás szerzÅje a MacPorts-ot választotta, azon egyszerű okból kifolyólag,
-hogy a beállÃtása sokkal egyszerűbb.
-A késÅbbi példák mind MacPorts-on alapszanak.
-</para>
-
-<para>
-Például az <application>MPlayer</application> lefordÃtása OSD támogatással:
-<screen>sudo port install pkg-config</screen>
-Ez telepÃti a <application>pkg-config</application>-ot, ami a függvénykönyvtárak
-fordÃtási/szerkesztési flag-jeinek kezelését végzÅ rendszer.
-Az <application>MPlayer</application> <systemitem>configure</systemitem> script-je
-is ezt használja a függvénykönyvtárak megfelelŠdetektálásához.
-Ezután hasonló módon telepÃtheted a
-<application>fontconfig</application>-ot:
-<screen>sudo port install fontconfig</screen>
-Ezek után indÃthatod az <application>MPlayer</application>
-<systemitem>configure</systemitem> script-jét (figyelj a
-<systemitem>PKG_CONFIG_PATH</systemitem> és <systemitem>PATH</systemitem>
-környezeti változók beállÃtására, hogy a <systemitem>configure</systemitem>
-megtalálja a MacPorts-szal telepÃtett függvénykönyvtárakat):
-<screen>
-PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
-</screen>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="osx_gui">
-<title>MPlayer OS X GUI</title>
-
-<para>
-Van egy natÃv GUI az <application>MPlayer</application>hez egy elÅfordÃtott
-<application>MPlayer</application> binárissal együtt Mac OS X alá a
-<ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink> projektbÅl, de
-emlékezz rá: ez a projekt már nem aktÃv.
-</para>
-
-<para>
-Szerencsére az <application>MPlayerOSX</application> projektet az
-<application>MPlayer</application> csapat egyik tagja átvette.
-ElÅzetes kiadások elérhetÅek a
-<ulink url="http://mplayerhq.hu/dload.html">letöltési oldalunkról</ulink>
-és hamarosan jön a hivatalos kiadás is.
-</para>
-
-<para>
-Ha saját magad akarod lefordÃtani forrásból az <application>MPlayerOSX</application>et,
-szükséged lesz az <systemitem>mplayerosx</systemitem>-re, a
-<systemitem>main</systemitem>-re és a
-<systemitem>main</systemitem> SVN modul
-<systemitem>main_noaltivec</systemitem>-re átnevezett másolatára.
-<systemitem>mplayerosx</systemitem> a GUI frontend,
-<systemitem>main</systemitem> az MPlayer és a
-<systemitem>main_noaltivec</systemitem> az MPlayer AltiVec támogatás
-nélkül.
-</para>
-
-<para>
-Az SVN modulok letöltéséhez használt az alábbi parancsokat:
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-</screen>
-</para>
-
-<para>
-Az <application>MPlayerOSX</application> elkészÃtéséhez valami ilyesmit kell
-csinálnod:
-<screen>
-MPlayer_forras_konyvtar
- |
- |--->main (MPlayer Subversion forrás)
- |
- |--->main_noaltivec (MPlayer Subversion forrás --disable-altivec -kel konfigurálva)
- |
- |--->mplayerosx (MPlayer OS X Subversion forrás)
-</screen>
-ElÅször a main és main_noaltivec-et kell lefordÃtanod.
-</para>
-
-<para>
-Kezdetnek a maximális kompatibilÃtás biztosÃtása érdekében állÃts be egy
-környezeti változót:
-<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
-</para>
-
-<para>
-Majd konfigurálj:
-</para>
-
-<para>
-Ha a G4 vagy késÅbbi, AltiVec támogatással rendelkezÅ CPU-ra konfigurálsz:
-<screen>
-./configure --disable-gl --disable-x11
-</screen>
-Ha G3-as, AltiVec nélküli gépre:
-<screen>
-./configure --disable-gl --disable-x11 --disable-altivec
-</screen>
-Lehet, hogy szerkesztened kell a <filename>config.mak</filename> fájlt és
-át kell Ãrnod az <systemitem>-mcpu</systemitem>-t és <systemitem>-mtune</systemitem>-t
-<systemitem>74XX</systemitem>-rÅl <systemitem>G3</systemitem>-ra.
-</para>
-
-<para>
-Folytasd a
-<screen>make</screen>
-paranccsal, majd menj a mplayerosx könyvtárba és Ãrd be
-<screen>make dist</screen>
-Ez egy tömörÃtett <systemitem>.dmg</systemitem> archÃvot hoz létre
-egy használatra kész binárissal.
-</para>
-
-<para>
-Használhatod az <application>Xcode</application> 2.1 projektet is;
-a régi, <application>Xcode</application> 1.x projekt nem működik
-már.
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/hu/skin.xml b/DOCS/xml/hu/skin.xml
deleted file mode 100644
index 62b838f..0000000
--- a/DOCS/xml/hu/skin.xml
+++ /dev/null
@@ -1,1200 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r31032 -->
-<appendix id="skin">
-<title><application>MPlayer</application> skin formátum</title>
-
-<sect1 id="skin-overview">
-<title>Ãttekintés</title>
-
-<!-- ********** -->
-
-<sect2 id="skin-overview-components">
-<title>Skin komponensek</title>
-
-<para>
-A Skin-ek eléggé szabad formátumúak (nem mint például a
-<application>Winamp</application>/<application>XMMS</application>,
-fix formátumú skin-jei), tehát csak rajtad múlik, hogy valami
-igazán nagyot alkoss.
-</para>
-
-<para>
-Jelenleg négy ablak van, amit dekorálni kell: a
-<link linkend="skin-file-main">fÅ ablak</link>, az
-<link linkend="skin-file-subwindow">alablak</link>, a
-<link linkend="skin-file-main">playbar</link> és a
-<link linkend="skin-file-menu">skin menü</link> (ami jobb kattintással
-aktiválható).
-
-<itemizedlist>
-<listitem>
- <para>
- A <emphasis role="bold">fŠablak</emphasis> és/vagy a
- <emphasis role="bold">playbar</emphasis> az, ahol vezérelheted az
- <application>MPlayer</application>t. Az ablak háttere egy kép.
- Ebbe az ablakba különbözŠelemeket lehet (és kell) tenni:
- <emphasis>gombok</emphasis>, <emphasis>potméterek</emphasis> (csúszkák)
- és <emphasis>cÃmkék</emphasis>.
- Minden egyes elemnek meg kell adnod a pozÃcióját és a méretét.
- </para>
-
- <para>
- Egy <emphasis role="bold">gomb</emphasis>nak három állása van (lenyomott,
- felengedett, letiltott), Ãgy a képe függÅlegesen három részre van osztva.
- Lásd a <link linkend="skin-button">gomb</link> elemet a részletekért.
- </para>
-
- <para>
- Egy <emphasis role="bold">potmeter</emphasis>nek (fÅként a keresÅ sáv és a
- hangerÅ/balansz állÃtó) bármennyi fázisa lehet a képének egymás alatti
- tetszÅleges feldarabolásával. Lásd a
- <link linkend="skin-hpotmeter">hpotmeter</link>t és
- <link linkend="skin-potmeter">potmeter</link>t a részletekért.
- </para>
-
- <para>
- A <emphasis role="bold">cÃmkék</emphasis> egy kicsit különlegesek: A
- megrajzolásukhoz szükséges karaktereket egy kép fájlból nyerjük és
- a képen lévŠkaraktereket egy
- <link linkend="skin-fonts">betű leÃró fájl</link> Ãrja le.
- Ez utóbbi egy sima szöveges fájl, ami megadja minden egyes betű
- x, y pozÃcióját és méretét a képen (a kép fájl és a hozzátartozó
- betű leÃró fájl <emphasis>együtt</emphasis> alkot egy betűtÃpust).
- Lásd a <link linkend="skin-dlabel">dlabel</link>t
- és az <link linkend="skin-slabel">slabel</link>t a részletekért.
- </para>
-
- <note><para>
- Az összes kép lehet teljes transzparens is, amint az a
- <link linkend="skin-overview-formats">kép formátumokról</link> szóló
- részben le van Ãrva. Ha az X szerver nem támogatja az XShape kiterjesztést,
- a transzparensként megjelölt részek feketék lesznek. Ha használni
- akarod ezt a tulajdonságot, a fŠablak háttérképének 8-cal oszthatónak
- kell lennie.
- </para></note>
-</listitem>
-
-<listitem><para>
- Az <emphasis role="bold">alablak</emphasis> az, ahol a film megjelenik. Egy
- megadott képet tud megjelenÃteni, ha nincs film betöltve (elég unalmas egy
- üres ablak :-)) <emphasis role="bold">Megjegyzés:</emphasis> a transzparens
- kép <emphasis role="bold">nem megengedett</emphasis> itt.
-</para></listitem>
-
-<listitem>
- <para>
- A <emphasis role="bold">skin menü</emphasis> csak az
- <application>MPlayer</application> vezérlésének egy módja menüpontok
- segÃtségével. Két kép kell a menühöz: az egyik a legjobb kép, ami a
- menüt mutatja normál állapotában, a másik a kiválasztott pont
- megjelenÃtésére lesz felhasználva. Ha kinyitod a menüt, az elsÅ kép
- látszódik. Ha az egeret az egyik menüpont fölé viszed, az aktuálisan
- kiválasztott pont bemásolódik a második képrÅl az egér mutató alatti
- területre (a második képet soha sem lehet látni egészében).
- </para>
- <para>
- Egy menüpontot a képen lévŠpoziciója és a mérete határoz meg (lásd a
- <link linkend="skin-file-menu">skin menü</link> részt).
- </para>
-</listitem>
-</itemizedlist>
-</para>
-
-<para>
-Van egy fontos dolog, amirÅl eddig nem beszéltünk: a gombokhoz, potméterekhez
-és menüpontokhoz tartozóan az <application>MPlayer</application> tudnia kell,
-hogy mit csináljon, ha rákattintanak. Ez <link linkend="skin-gui">üzenetekkel</link>
-(eseményekkel) van megvalósÃtva. Minden elemhez meg kell adnod, hogy milyen
-üzenetet generál, amikor kattintanak rá.
-</para>
-</sect2>
-
-<sect2 id="skin-overview-formats">
-<title>Képformátumok</title>
-
-<para>A képeknek truecolor-os (24 vagy 32 bpp) PNG-knek kell lenniük.</para>
-<para>
-A fŠablakban és a playbar-on (lásd lejjebb) használhatsz transzparens képeket:
-Az #FF00FF (bÃborvörös) szÃnnel feltöltött területek teljesen
-transzparensek lesznek, ha az <application>MPlayer</application>-rel
-nézed. Ez azt jelenti, hogy formázott ablakjaid is lehetnek, ha az X
-szerverednek van XShape kiterjesztése.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-files">
-<title>Fájlok</title>
-
-<para>
-A következÅ fájlokra lesz szükséges, hogy el tudj készÃteni egy skin-t:
-<itemizedlist>
-<listitem><para>
- A konfigurációs fájl, aminek <link linkend="skin-file">skin</link> a neve,
- megmondja az <application>MPlayer</application>nek, hogyan rakja össze a
- skin különbözŠrészeit és hogy mit tegyen ha valahol kattintanak az ablakban.
-</para></listitem>
-<listitem><para>
- A fŠablak háttérképe.
-</para></listitem>
-<listitem><para>
- A fÅ ablakban lévÅ elemek képe (beleértve egy vagy több betű leÃró fájlt,
- ami a cÃmkék megrajzolásához kell).
-</para></listitem>
-<listitem><para>
- Az alablakban megjelenÃtendÅ kép (opcionális).
-</para></listitem>
-<listitem><para>
- Két kép a skin menünek (csak akkor szükséges, ha menüt akarsz csinálni).
-</para></listitem>
-</itemizedlist>
- A skin konfigurációs fájl kivételével a többi fájlt úgy nevezed el, ahogy
- csak akarod (de jegyezd meg, hogy a betű leÃró fájlnak
- <filename>.fnt</filename> kiterjesztéssel kell rendelkeznie).
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-file">
-<title>A skin fájl</title>
-
-<para>
-Amint fentebb már emlÃtettem, ez a skin konfigurációs fájl. Sor-orientált;
-a megjegyzést tartalmazó sorok egy '<literal>;</literal>' karakterrel kezdÅdnek
-(csak szóközök és tab-ok lehetnek a '<literal>;</literal>' elÅtt).
-</para>
-
-<para>
-A fájl szekciókból áll. Minden szekció a skin egy alkalmazását Ãrja le a
-következŠformában:
-<programlisting>
-section = <replaceable>szekció neve</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-Jelenleg csak egy alkalmazás van, vagyis csak egy szekciót kell készÃtened:
-a neve <emphasis role="bold">movieplayer</emphasis>.
-</para>
-
-<para>
-Ebben a szekcióban minden ablakot egy blokk Ãr le a következÅ formában:
-<programlisting>
-window = <replaceable>ablak neve</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-Ahol az <replaceable>ablak neve</replaceable> ezen karakterláncok valamelyike lehet:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">main</emphasis> - a fÅablak esetében
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">sub</emphasis> - az alablak esetében
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">menu</emphasis> - a skin menü esetében
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">playbar</emphasis> - a playbar esetében
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-(Az alablak és menü blokkok opcionálisak - nem kötelezÅ menüt készÃtened
-vagy kidekorálni az alablakot.)
-</para>
-
-<para>
-Egy ablak blokkon belül az ablak minden elemét definiálhatod, egyet egy
-sorban, ebbe a formában:
-<programlisting>item = parameter</programlisting>
-Ahol az <literal>item</literal> egy karakterlánc, ami azonosÃtja az adott
-tÃpusú GUI elemet, a <literal>parameter</literal> pedig egy numerikus vagy
-szöveges érték (vagy értékek listája vesszÅvel elválasztva).
-</para>
-
-<para>
-A fentieket összerakva a teljes fájl valahogy Ãgy néz ki:
-<programlisting>
-section = movieplayer
- window = main
- ; ... fÅablak elemei ...
- end
-
- window = sub
- ; ... alablak elemei ...
- end
-
- window = menu
- ; ... menü elemei ...
- end
-
- window = playbar
- ; ... playbar elemei ...
- end
-end
-</programlisting>
-</para>
-
-<para>
-Egy kép fájl nevét a hozzá vezetŠútvonal nélkül kell megadni - a képeknek
-a <filename class="directory">skins</filename> könyvtárban kell lenniük.
-A fájl kiterjesztését megadhatod (de nem kötelezÅ). Ha a fájl nem létezik,
-az <application>MPlayer</application> megpróbálja betölteni a
-<filename><filename>.<ext></filename> fájlt, ahol <literal>png</literal>
-és <literal>PNG</literal> kerül az <filename><ext></filename> helyére
-(ebben a sorrendben). Az elsŠmegtalált fájlt fogja használni.
-</para>
-
-<para>
-Egy példa a tisztánlátáshoz. Tegyük fel, hogy van egy <filename>main.png</filename>
-nevű fájlod, amit a fŠablakhoz használsz: <programlisting>base = main, -1, -1</programlisting>
-Az <application>MPlayer</application> megpróbálja betölteni a <filename>main</filename>,
-<filename>main.png</filename>, <filename>main.PNG</filename> fájlokat.
-</para>
-
-<para>
-Végül pár szó a pozÃcionálásról. A fÅ ablak és az alablak a képernyÅ különbözÅ
-sarkaiba helyezhetŠaz <literal>X</literal> és <literal>Y</literal> koordináták
-megadásával. A <literal>0</literal> fent vagy bal oldalt van, a
-<literal>-1</literal> középen és a <literal>-2</literal> jobb oldalt vagy lent,
-ahogy az itt is látható:
-<informalfigure>
-<screen>
-(0, 0)----(-1, 0)----(-2, 0)
- | | |
- | | |
-(0,-1)----(-1,-1)----(-2,-1)
- | | |
- | | |
-(0,-2)----(-1,-2)----(-2,-2)
-</screen>
-</informalfigure>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-main">
-<title>FŠablak és a playbar</title>
-
-<para>
-A következŠbejegyzések használhatóak a
-'<literal>window = main</literal>' ... '<literal>end</literal>',
-és a '<literal>window = playbar</literal>' ... '<literal>end</literal>'
-blokkokban.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-main-base"/>base = image, X, Y
- </literal></term>
- <listitem>
- <para>
- Megadhatod vele a fŠablakban használt háttérképet.
- Az ablak a megadott <literal>X, Y</literal> pozÃcióban fog megjelenni
- a képernyÅn. Az ablak mérete a kép méretével lesz azonos.
- </para>
- <note><para>
- Ezek a koordináták jelenleg nem működnek a megjelenÃtÅ ablak esetében.
- </para></note>
- <warning><para>A kép transzparens részei (#FF00FF szÃnű) feketeként jelenik meg
- az XShape kiterjesztés nélküli X szerverek esetében. A kép szélességének 8-cal
- oszthatónak kell lennie.</para></warning>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-button"/>button = image, X, Y, width, height, message
- </literal></term>
- <listitem>
- <para>
- Egy <literal>width</literal> * <literal>height</literal> méretű gomb
- megjelenÃtése az <literal>X, Y</literal> pozÃcióban. A megadott
- <literal>message</literal> üzenet akkor generálódik, amikor a gombot
- megnyomják. Az <literal>image</literal> által megadott képnek három
- részt kell tartalmaznia egymás alatt (a gomb állapotainak megfelelÅen), Ãgy:
- </para>
- <informalfigure>
- <screen>
-+-------------+
-| benyomott |
-+-------------+
-| felengedett |
-+-------------+
-| letiltott |
-+-------------+<!--
- --></screen>
- </informalfigure>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-decoration"/>decoration = enable|disable
- </literal></term>
- <listitem>
- <para>
- Engedélyezi vagy letiltja a fÅablakban az ablakkezelÅ dekorációját.
- Alapértelmezetten <emphasis role="bold">disable</emphasis>.
- </para>
- <note><para>
- Ez nem működik a megjelenÃtÅ ablakban, nincs rá szükség.
- </para></note>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-hpotmeter"/>hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
- </literal></term>
- <listitem><para>
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-vpotmeter"/>vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
- </literal></term>
- <listitem><para>
- Egy vÃzszintes (hpotmeter) vagy függÅleges (vpotmeter) potméter megjelenÃtése
- <literal>width</literal> * <literal>height</literal> méretben az
- <literal>X, Y</literal> pozÃcióban. A kép több különbözÅ részre osztható a
- potméter különbözÅ fázisainak megfelelÅen (például lehet egy pot-od a hangerÅ
- szabályozásához, ami zöldbÅl pirosba vált, ahogy az értéke változik a minimumtól
- a maximumig). A <literal>hpotmeter</literal>-nek lehet egy gombja is, amit
- vÃzszintesen lehet húzni. A paraméterek:
- <itemizedlist>
- <listitem><para>
- <literal>button</literal> - a gombként használt kép
- (három részt kell tartalmaznia egymás alatt, mint a
- <link linkend="skin-button">gomb</link> esetében)
- </para></listitem>
- <listitem><para>
- <literal>bwidth</literal>, <literal>bheight</literal> - a gomb
- mérete
- </para></listitem>
- <listitem><para>
- <literal>phases</literal> - a hpotmeter különbözŠfázisaiban
- használt kép neve. Speciális értékként a <literal>NULL</literal> is
- használható, ha nem akarsz ilyen képet. A képet függÅlegesen
- <literal>numphases</literal> részre kell felosztani Ãgy:
- <informalfigure><screen>
-+------------+
-| 1. fázis |
-+------------+
-| 2. fázis |
-+------------+
- ...
-+------------+
-| n. fázis |
-+------------+<!--
- --></screen></informalfigure>
- </para></listitem>
- <listitem><para>
- <literal>numphases</literal> - a <literal>phases</literal> képen
- lévŠfázisok száma
- </para></listitem>
- <listitem><para>
- <literal>default</literal> - a hpotmeter alapértelmezett értéke
- (<literal>0</literal> és <literal>100</literal> között)
- </para></listitem>
- <listitem><para>
- <literal>X</literal>, <literal>Y</literal> - a hpotmeter pozÃciója
- </para></listitem>
- <listitem><para>
- <literal>width</literal>, <literal>height</literal> - a
- <literal>hpotmeter</literal> szélessége és magassága
- </para></listitem>
- <listitem><para>
- <literal>message</literal> - az üzenet, ami a
- <literal>hpotmeter</literal> értékének megváltozásakor generálódik
- </para></listitem>
- </itemizedlist>
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, width, height, message
- </literal></term>
- <listitem><para>
- Egy <literal>hpotmeter</literal> gomb nélkül. (Gondolom a megfordÃtása volt az
- eredeti cél, de csak a vÃzszintes vonszolásra reagál.) A paraméterek leÃrását
- lásd a <link linkend="skin-hpotmeter">hpotmeter</link>-nél.
- A <literal>phases</literal> lehet <literal>NULL</literal>, de ez eléggé haszontalan,
- mivel akkor nem látod, hogy a <literal>potmeter</literal> hova van állÃtva.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-font"/>font = fontfile, fontid
- </literal></term>
- <listitem><para>
- Egy betűt definiál. A <literal>fontfile</literal> a betű leÃró fájl neve egy
- <filename>.fnt</filename> kiterjesztéssel (a kiterjesztést ne add meg itt).
- A <literal>fontid</literal>-t a betűre történŠhivatkozásokhoz lehet használni
- (lásd <link linkend="skin-dlabel">dlabel</link> és
- <link linkend="skin-slabel">slabel</link>). 25 betűt lehet definiálni.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-slabel"/>slabel = X, Y, fontid, "text"
- </literal></term>
- <listitem><para>
- Egy statikus cÃmkét tesz ki az <literal>X, Y</literal> pozÃcióba. A
- <literal>text</literal> szöveget jelenÃti meg a <literal>fontid</literal>-vel
- azonosÃtott betűtÃpussal. A szöveg egyszerű karakterlánc (az <literal>$x</literal>
- változók nem működnek) amit dupla idézÅjelek közé kell Ãrni (de a " karakter
- nem lehet a szöveg része). A cÃmke a <literal>fontid</literal>-vel
- azonosÃtott betűtÃpussal jelenik meg.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, "text"
- </literal></term>
- <listitem>
- <para>
- Egy dinamikus cÃmkét tesz ki az <literal>X, Y</literal> pozÃcióba. A
- cÃmke azért dinamikus, mert a szövege periódikusan frissül. A cÃmke
- maximum hosszát a <literal>length</literal> szabályozza (a magassága
- egy karakter magasságával egyezik meg). Ha a megjelenÃtendÅ szöveg
- szélesebb ennél, scrollozva lesz,
- különben az <literal>align</literal> paraméter által megadott módon
- pozÃcionálódik: <literal>0</literal> jobbra, <literal>1</literal>
- középre, <literal>2</literal> balra igazÃtva.
- </para>
- <para>
- A megjelenÃtendÅ szöveget a <literal>text</literal> adja meg: dupla
- idézÅjelek közé kell Ãrni (de a " karakter nem lehet része a
- szövegnek). A cÃmke a <literal>fontid</literal> által meghatározott
- betűtÃpussal jelenik meg. A szövegben a következÅ változókat használhatod:
- </para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row><entry>Változó</entry><entry>Jelentés</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>$1</entry>
- <entry>lejátszási idŠ<emphasis>hh:mm:ss</emphasis> formátumban</entry>
- </row>
- <row>
- <entry>$2</entry>
- <entry>lejátszási idŠ<emphasis>mmmm:ss</emphasis> formátumban</entry>
- </row>
- <row>
- <entry>$3</entry>
- <entry>lejátszási idŠ<emphasis>hh</emphasis> formátumban (órák)</entry>
- </row>
- <row>
- <entry>$4</entry>
- <entry>lejátszási idŠ<emphasis>mm</emphasis> formátumban (percek)</entry>
- </row>
- <row>
- <entry>$5</entry>
- <entry>lejátszási idŠ<emphasis>ss</emphasis> formátumban (másodpercek)</entry>
- </row>
- <row>
- <entry>$6</entry>
- <entry>film hossza <emphasis>hh:mm:ss</emphasis> formátumban</entry>
- </row>
- <row>
- <entry>$7</entry>
- <entry>film hossza <emphasis>mmmm:ss</emphasis> formátumban</entry>
- </row>
- <row>
- <entry>$8</entry>
- <entry>film hossza <emphasis>h:mm:ss</emphasis> formátumban</entry>
- </row>
- <row>
- <entry>$v</entry>
- <entry>hangerŠ<emphasis>xxx.xx</emphasis>% formátumban</entry>
- </row>
- <row>
- <entry>$V</entry>
- <entry>hangerŠ<emphasis>xxx.xx</emphasis> formátumban</entry>
- </row>
- <row>
- <entry>$b</entry>
- <entry>balansz <emphasis>xxx.xx</emphasis>% formátumban</entry>
- </row>
- <row>
- <entry>$B</entry>
- <entry>balansz <emphasis>xxx.xx</emphasis> formátumban</entry>
- </row>
- <row>
- <entry>$$</entry>
- <entry>az $ karakter</entry>
- </row>
- <row>
- <entry>$a</entry>
- <entry>egy karakter az audió tÃpusnak megfelelÅen (nincs: <literal>n</literal>,
- mono: <literal>m</literal>, sztereo: <literal>t</literal>)</entry>
- </row>
- <row>
- <entry>$t</entry>
- <entry>sáv száma (a lejátszási listában)</entry>
- </row>
- <row>
- <entry>$o</entry>
- <entry>fájlnév</entry>
- </row>
- <row>
- <entry>$f</entry>
- <entry>fájlnév kisbetűsen</entry>
- </row>
- <row>
- <entry>$F</entry>
- <entry>fájlnév nagybetűsen</entry>
- </row>
- <row>
- <entry>$T</entry>
- <entry>
- egy karakter a folyam tÃpusnak megfelelÅen (file: <literal>f</literal>,
- Video CD: <literal>v</literal>, DVD: <literal>d</literal>,
- URL: <literal>u</literal>)
- </entry>
- </row>
- <row>
- <entry>$p</entry>
- <entry>a <keycap>p</keycap> karakter (ha a film lejátszás alatt van és a
- betűtÃpusban van <keycap>p</keycap> karakter)</entry>
- </row>
- <row>
- <entry>$s</entry>
- <entry>az <keycap>s</keycap> karakter (ha a film meg van állÃtva movie és
- a betűtÃpusban van <keycap>s</keycap> karakter)</entry>
- </row>
- <row>
- <entry>$e</entry>
- <entry>az <keycap>e</keycap> karakter (ha a lejátszás szünetel és a
- betűtÃpusban van <keycap>e</keycap> karakter)</entry>
- </row>
- <row>
- <entry>$x</entry>
- <entry>film szélessége</entry>
- </row>
- <row>
- <entry>$y</entry>
- <entry>film magassága</entry>
- </row>
- <row>
- <entry>$C</entry>
- <entry>használt codec neve</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <note><para>
- Az <literal>$a, $T, $p, $s</literal> és <literal>$e</literal>
- változók mind karakterekkel térnek vissza, amiket speciális szimbólumként kell
- megjelenÃteni (például az <keycap>e</keycap> a pillanatállj szimbóluma, ami
- általában valami ilyesmi: ||). Szükséged lesz egy normál karaktereket
- tartalmazó betűtÃpusra és egy másikra a szimbólumokhoz. Lásd a
- <link linkend="skin-fonts-symbols">szimbólumokról</link> szóló részt a
- további információkért.
- </para></note>
- </listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-subwindow">
-<title>Alablak</title>
-
-<para>
-A következŠbejegyzések használhatóak a
-'<literal>window = sub</literal>' . . . '<literal>end</literal>' blokkban.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-sub-base"/>base = image, X, Y, width, height
- </literal></term>
- <listitem><para>
- Az ablakban megjelenÃtendÅ kép. Az ablak a megadott <literal>X, Y</literal>
- pozÃcióban jelenik meg a képernyÅn (<literal>0,0</literal> a bal felsÅ
- sarok). A <literal>-1</literal> a középre, a <literal>-2</literal>
- a jobbra (<literal>X</literal>) és le (<literal>Y</literal>) igazÃtást
- jelenti. Az ablak akkora lesz, amekkora a kép. A <literal>width</literal>
- és a <literal>height</literal> az ablak méretét Ãrják elÅ, opcionálisak
- (ha hiányoznak, az ablak ugyan akkora méretű lesz, mint a kép).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-background"/>background = R, G, B
- </literal></term>
- <listitem><para>
- BeállÃthatod vele a háttér szÃnét. Hasznos, ha a kép kisebb, mint az
- ablak mérete. Az <literal>R</literal>, <literal>G</literal> és
- <literal>B</literal> a szÃn vörös, zöld és kék komponensét adja meg
- (mindegyik decimális szám 0-tól 255-ig).
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-menu">
-<title>Skin menü</title>
-
-<para>
-Amint korábban már emlÃtettem, a menü két kép segÃtségével kerül megjelenÃtésre.
-A normál menü bejegyzések a <literal>base</literal> elemmel megadott képen
-láthatóak, mÃg az épp aktuálisan kiválasztott elem megjelenÃtése a
-<literal>selected</literal> elemrÅl történik. Meg kell adnod minden egyes
-menüpont pozÃcióját és méretét.
-</para>
-
-<para>
-A következŠbejegyzések használhatóak a
-'<literal>window = menu</literal>'. . .'<literal>end</literal>' blokkban.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu-base"/>base = image
- </literal></term>
- <listitem><para>
- A normál menüpontokat tartalmazó kép.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-selected"/>selected = image
- </literal></term>
- <listitem><para>
- Az összes menüpontot kiválasztva ábrázoló kép.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu"/>menu = X, Y, width, height, message
- </literal></term>
- <listitem><para>
- Megadja egy menüelem <literal>X, Y</literal> pozÃcióját és a méretét a képen.
- A <literal>message</literal> egy üzenet, ami az egérgomb menüponton történÅ
- felengedésekor generálódik.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-fonts">
-<title>Betűk</title>
-<para>
-Amint azt már a skin elemeirÅl szóló részben is emlÃtettem, egy betűtÃpust
-egy kép és egy leÃró fájl alkot. A karaktereket bárhová teheted a képen,
-de gyÅzÅdj meg róla, hogy a pozÃciójuk és a méretük pontosan meg van adva
-a leÃró fájlban.
-</para>
-
-<para>
-A betű leÃró fájl (az <filename>.fnt</filename> kiterjesztéssel) tartalmazhat
-megjegyzéseket, melyek '<literal>;</literal>'-vel kezdÅdÅ sorokban kapnak helyet.
-A fájlban kell, hogy szerepeljenek az alábbi sorok:
-<anchor id="skin-font-image"/>
-<programlisting>image = <replaceable>image</replaceable></programlisting>
-Ahol az <literal><replaceable>image</replaceable></literal> a betűhöz használt
-kép fájl neve (nem kell megadnod a kiterjesztést).
-<anchor id="skin-font-char"/>
-<programlisting>"char" = X, Y, width, height</programlisting>
-Itt az <literal>X</literal> és az <literal>Y</literal> a
-<literal>char</literal> karakter pozÃcióját adja meg a képen (<literal>0,0</literal>
-a bal felsŠsarok). A <literal>width</literal> és a <literal>height</literal>
-a karakter méretei pixelben.
-</para>
-
-<para>
-Ez a példa az A, B, C karaktereket definiálja a <filename>font.png</filename>
-felhasználásával.
-<programlisting>
-; Lehet "font" is a "font.png" helyett.
-image = font.png
-
-; Három karakter elég a bemutatáshoz :-)
-"A" = 0,0, 7,13
-"B" = 7,0, 7,13
-"C" = 14,0, 7,13
-</programlisting>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-fonts-symbols">
-<title>Szimbólumok</title>
-
-<para>
-Néhány karakternek speciális jelentése van, ha <link linkend="skin-dlabel">dlabel</link>-ben
-használva valamelyik változó tér vissza vele. Ezeket a karaktereket
-szimbólumokként kell megjelenÃteni, Ãgy például egy szép DVD logó jelenhet
-meg a '<literal>d</literal>' karakter helyett egy DVD folyam esetén.
-</para>
-
-<para>
-Az alábbi táblázat a szimbólumként megjelenÃthetÅ (és Ãgy külön betűtÃpust
-igénylÅ) karaktereket tartalmazza.
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Karakter</entry><entry>Szimbólum</entry></row>
-</thead>
-<tbody>
- <row><entry><keycap>p</keycap></entry><entry>lejátszás</entry></row>
- <row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
- <row><entry><keycap>e</keycap></entry><entry>pillanatállj</entry></row>
- <row><entry><keycap>n</keycap></entry><entry>nincs hang</entry></row>
- <row><entry><keycap>m</keycap></entry><entry>mono hang</entry></row>
- <row><entry><keycap>t</keycap></entry><entry>sztereó hang</entry></row>
- <row><entry><keycap>f</keycap></entry><entry>a folyam egy fájl</entry></row>
- <row><entry><keycap>v</keycap></entry><entry>a folyam egy Video CD</entry></row>
- <row><entry><keycap>d</keycap></entry><entry>a folyam egy DVD</entry></row>
- <row><entry><keycap>u</keycap></entry><entry>a folyam egy URL</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-gui">
-<title>GUI üzenetek</title>
-
-<para>
-Az alábbi üzeneteket generálják a gombok, potméterek és menüpontok.
-</para>
-
-<variablelist>
-<title>Lejátszás vezérlése:</title>
-<varlistentry>
- <term><emphasis role="bold">evNext</emphasis></term>
- <listitem><para>
- ugrás a következŠsávra a lejátszási listában.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPause</emphasis></term>
- <listitem><para>
- Párt alkot az <literal>evPlaySwitchToPause</literal>-val. Egy általános
- lejátszás/szünet gomb készÃtéséhez használhatóak fel. Mind a két üzenetet
- egy olyan gombhoz kell hozzárendelni, ami teljesen ugyan ott jelenik meg az
- ablakban. Ez az üzenet megállÃtja a lejátszást és megjelenteti az
- <literal>evPlaySwitchToPause</literal> gombhoz tartozó képet (jelezve
- ezzel, hogy a gombot meg lehet nyomni a lejátszás folytatásához).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlay</emphasis></term>
- <listitem><para>
- Lejátszás elindÃtása.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
- <listitem><para>
- Az <literal>evPauseSwitchToPlay</literal> ellentéte. Ez az üzenet elkezdi a
- lejátszást és megjelenteti az <literal>evPauseSwitchToPlay</literal> gomb
- képét (jelezve ezzel, hogy a gombot meg lehet nyomni a lejátszás megállÃtásához).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPrev</emphasis></term>
- <listitem><para>
- Az elÅzÅ sávra ugrik a lejátszási listában.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evStop</emphasis></term>
- <listitem><para>
- Lejátszás megállÃtása.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Seeking:</title>
-<varlistentry>
- <term><emphasis role="bold">evBackward10sec</emphasis></term>
- <listitem><para>
- Visszalépés 10 másodperccel.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward1min</emphasis></term>
- <listitem><para>
- Visszalépés 1 perccel.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward10min</emphasis></term>
- <listitem><para>
- Visszalépés 10 perccel.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10sec</emphasis></term>
- <listitem><para>
- ElÅrelépés 10 másodperccel.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward1min</emphasis></term>
- <listitem><para>
- ElÅrelépés 1 perccel.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10min</emphasis></term>
- <listitem><para>
- ElÅrelépés 10 perccel.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
- <listitem><para>
- Ugrás a pozÃcióhoz (potméter tudja használni; a
- potméter relatÃv értékét (0-100%) használja).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Videó vezérlés:</title>
-<varlistentry>
- <term><emphasis role="bold">evHalfSize</emphasis></term>
- <listitem><para>
- Film ablak méretének felezése.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evDoubleSize</emphasis></term>
- <listitem><para>
- Film ablak méretének duplázása.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evFullScreen</emphasis></term>
- <listitem><para>
- Teljes képernyÅs mód be-/kikapcsolása.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evNormalSize</emphasis></term>
- <listitem><para>
- Film ablak normál méretének beállÃtása.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Audió vezérlés:</title>
-<varlistentry>
- <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
- <listitem><para>
- Audió buffer késleltetésének csökkentése.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecBalance</emphasis></term>
- <listitem><para>
- Balansz csökkentése.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecVolume</emphasis></term>
- <listitem><para>
- HangerŠcsökkentése.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
- <listitem><para>
- Audió buffer késleltetésének növelése.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncBalance</emphasis></term>
- <listitem><para>
- Balansz növelése.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncVolume</emphasis></term>
- <listitem><para>
- HangerŠnövelése.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evMute</emphasis></term>
- <listitem><para>
- Hang ki-/bekapcsolása.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetBalance</emphasis></term>
- <listitem><para>
- Balansz beállÃtása (potméter tudja használni; a
- potméter relatÃv értékét (0-100%) használja).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetVolume</emphasis></term>
- <listitem><para>
- HangerÅ beállÃtása (potméter tudja használni; a
- potméter relatÃv értékét (0-100%) használja).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Vegyes:</title>
-<varlistentry>
- <term><emphasis role="bold">evAbout</emphasis></term>
- <listitem><para>
- Programinformációs ablak megnyitása.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDropSubtitle</emphasis></term>
- <listitem><para>
- Aktuálisan használt felirat letiltása.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evEqualizer</emphasis></term>
- <listitem><para>
- Equalizer be-/kikapcsolása.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evExit</emphasis></term>
- <listitem><para>
- Kilépés a programból.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIconify</emphasis></term>
- <listitem><para>
- Ablak összecsukása kis méretűvé.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoad</emphasis></term>
- <listitem><para>
- Fájl betöltése (a fájl böngészŠablak megnyitásával, ahol kiválaszthatod a fájlt).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadPlay</emphasis></term>
- <listitem><para>
- Ugyan azt csinálja, mint az <literal>evLoad</literal>, de automatikusan elkezdi
- lejátszani a fájlt, miután betöltötte.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
- <listitem><para>
- Felirat fájl betöltése (a fájl választóval)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
- <listitem><para>
- Audió fájl betöltése (a fájl választóval)
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evNone</emphasis></term>
- <listitem><para>
- Ãres üzenet, nincs hatása (kivéve talán a Subversion verziót :-)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaylist</emphasis></term>
- <listitem><para>
- Lejátszási lista ablak megnyitása/becsukása.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayDVD</emphasis></term>
- <listitem><para>
- Megpróbálja megnyitni az adott DVD-ROM meghajtóban lévŠlemezt.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayVCD</emphasis></term>
- <listitem><para>
- Megpróbálja megnyitni az adott CD-ROM meghajtóban lévŠlemezt.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPreferences</emphasis></term>
- <listitem><para>
- Megnyitja a beállÃtások ablakot.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetAspect</emphasis></term>
- <listitem><para>
- BeállÃtja a megjelenÃtett kép arányát.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetURL</emphasis></term>
- <listitem><para>
- MegjelenÃti az URL dialógus ablakot.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSkinBrowser</emphasis></term>
- <listitem><para>
- Megnyitja a skin böngészŠablakot.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-quality">
-<title>MinÅségi skin-ek készÃtése</title>
-
-<para>
-Tehát végigolvastad az <application>MPlayer</application> GUI-jához
-történÅ skin készÃtés leÃrását, megtettél minden tÅled telhetÅt a
-<application>Gimp</application>pel és el szeretnéd küldeni nekünk a skin-ed?
-Olvass még egy kicsit tovább, hogy elkerüld a gyakori hibákat és
-minÅségi skin-t tudj készÃteni.
-</para>
-
-<para>
-Szeretnénk, ha a skin-ek, amit beveszünk a listánkba, megfelelnének
-bizonyos minÅségi elvárásoknak. Ezen kÃvül van még pár dolog, amivel
-a mi életünket könnyÃtheted meg.
-</para>
-
-<para>
-Példaként nézd meg a a <systemitem>Blue</systemitem> skin-t,
-az teljesÃti az összes lent felsorolt kritériumot az 1.5-ös verzió óta.
-</para>
-
-<itemizedlist>
-<listitem><para>
- Minden skin-nek tartalmaznia kell egy
- <filename>README</filename> fájlt, ami tartalmazza az információkat
- rólad, a szerzÅrÅl, a szerzÅi jogi és licensz figyelmeztetéseket és
- bármi mást, amit még bele akarsz Ãrni. Ha szeretnél changelog-ot,
- ez a fájl jó hely neki.
-</para></listitem>
-
-<listitem><para>
- Kell lennie egy <filename>VERSION</filename>
- fájlnak, melyben semmi más nincs, csak a skin verziószáma egyetlen
- egy sorban (pl. 1.0).
-</para></listitem>
-
-<listitem><para>
- A vÃzszintes és függÅleges irányÃtókon (csúszkák a
- hangerÅnek és a pozÃciónak) a gombjuk középpontjának pontosan középen
- kell lennie, a csúszka felénél. A gombot mindkét irányban ki kell
- tudni húzni a csúszka végéig, de azon túl nem.
-</para></listitem>
-
-<listitem><para>
- A skin elemeit megfelelŠméretűnek kell deklarálni
- a skin fájlban. Ha nem Ãgy van, akkor kattintani tudsz pl. a gombon
- kÃvül és mégis megnyomod vagy egy területen belül kattintasz és nem
- lesz hatása.
-</para></listitem>
-
-<listitem><para>
- A <filename>skin</filename> fájlnak jól formázottnak
- kell lennie és nem tartalmazhat tab-okat. A jól formázottság azt
- jelenti, hogy a számoknak szépen oszlopokban kell lenniük.
-</para></listitem>
-</itemizedlist>
-
-</sect1>
-</appendix>
diff --git a/DOCS/xml/hu/usage.xml b/DOCS/xml/hu/usage.xml
deleted file mode 100644
index 6e4e9c9..0000000
--- a/DOCS/xml/hu/usage.xml
+++ /dev/null
@@ -1,1690 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r32361 -->
-<chapter id="usage">
-<title>Használat</title>
-
-<sect1 id="commandline">
-<title>Parancssor</title>
-
-<para>
-Az <application>MPlayer</application> egy komplex lejátszási sort használ.
-A parancssorban megadott opciók minden fájlra/URL-re vagy, a helyüktÅl
-függÅen csak bizonyosokra vonatkoznak. Például az
-<screen>mplayer -vfm ffmpeg movie1.avi movie2.avi</screen>
-FFmpeg dekódolót használ mindkét fájlhoz, azonban az
-<screen>
-mplayer -vfm ffmpeg <replaceable>movie1.avi</replaceable> <replaceable>movie2.avi</replaceable> -vfm dmo
-</screen>
-a második fájlt a DMO dekóderrel jelenÃti meg.
-</para>
-
-<para>
-A fájlneveket/URL-eket csoportosÃthatod a <literal>{</literal> és
-<literal>}</literal> segÃtségével. Ez fÅleg a <option>-loop</option>
-kapcsolóval együtt hasznos:
-<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
-A fenti parancs a fájlokat ebben a sorrendben játsza le: 1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-Egy fájl lejátszása:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>kapcsolók</replaceable>]<!--
---> [<replaceable>elérési út</replaceable>/]<replaceable>fájlnév</replaceable>
-</synopsis>
-</para>
-
-<para>
-Másik módszer egy fájl lejátszásához:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>kapcsolók</replaceable>]<!--
---> <replaceable>file:///uri-escaped-path</replaceable>
-</synopsis>
-</para>
-
-<para>
-Több fájl lejátszása:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>alapértelmezett kapcsolók</replaceable>]<!--
---> [<replaceable>elérési út</replaceable>/]<replaceable>fájlnév1</replaceable><!--
---> [<replaceable>options for filename1</replaceable>]<!--
---> <replaceable>fájlnév2</replaceable><!--
---> [<replaceable>kapcsolók a fájlnév2-höz</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-VCD lejátszása:
-<synopsis>
-<command>mplayer</command> [<replaceable>kapcsolók</replaceable>]<!--
---> vcd://<replaceable>sávszám</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-DVD lejátszása:
-<synopsis>
-<command>mplayer</command> [<replaceable>kapcsolók</replaceable>]<!--
---> dvd://<replaceable>rész szám</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Lejátszás a WWW-rÅl:
-<synopsis>
-<command>mplayer</command> [<replaceable>kapcsolók</replaceable>]<!--
---> http://<replaceable>site.com/file.asf</replaceable>
-</synopsis>
-(lejátszási listák is megadhatóak)
-</para>
-
-<para>
-Lejátszás RTSP-rÅl:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> rtsp://<replaceable>pelda.szerver.com/streamNev</replaceable>
-</synopsis>
-</para>
-
-<para>
-Példák:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="subosd">
-<title>Feliratok és OSD</title>
-
-<para>
-Az <application>MPlayer</application> feliratokat is meg tud jelenÃteni a
-filmekkel együtt. Jelenleg a következŠformátumok támogatottak:
-<itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption)</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para>
- <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink>
- </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Az <application>MPlayer</application> az elÅzÅleg felsorolt felirat
-formátumokat (<emphasis role="bold">az elsŠhárom kivételével</emphasis>)
-át is tudja konvertálni az alábbi formátumokba, a megadott kapcsolókkal:
-<itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-A <application>MEncoder</application> el tudja menteni a DVD feliratokat
-<link linkend="menc-feat-extractsub">VOBsub</link> formában.
-</para>
-
-<para>
-A parancssori kapcsolók eléggé különböznek az az egyes formátumoknál:
-</para>
-
-<formalpara>
-<title>VOBsub feliratok</title>
-<para>
-A VOBsub feliratok egy nagy (néhány megabájtos) <filename>.SUB</filename>
-fájlból és opcionálisan egy <filename>.IDX</filename> és/vagy
-<filename>.IFO</filename> fájlból állnak. Ha olyan fájlaid vannak, hogy
-<filename><replaceable>sample.sub</replaceable></filename>,
-<filename><replaceable>sample.ifo</replaceable></filename> (opcionális),
-<filename><replaceable>sample.idx</replaceable></filename> - meg kell adnod az
-<application>MPlayer</application>nek a <option>-vobsub sample
-[-vobsubid <replaceable>id</replaceable>]</option> kapcsolót
-(teljes elérési út is megadható). A <option>-vobsubid</option> kapcsoló olyan,
-mint a <option>-sid</option> a DVD-knél, segÃtségével felirat sávok (nyelvek)
-közül választhatsz. Abban az esetben, ha elfelejted a <option>-vobsubid</option>
-kapcsolót, az <application>MPlayer</application> a <option>-slang</option>
-kapcsolóval megadott nyelveket próbálja használni, és a
-<systemitem>langidx</systemitem>-re ugrik az <filename>.IDX</filename> fájlban,
-hogy beállÃtsa a felirat nyelvét. Ha ez nem sikerül, nem lesz felirat.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Egyéb feliratok</title>
-<para>
-A többi formátum egy sima szöveges fájlból áll, mely tartalmazza az idÅzÃtést,
-a pozÃcionálást és a szöveget. Használata: ha van egy olyan fájlod, mint pl.
-<filename><replaceable>sample.txt</replaceable></filename>,
-akkor a <option>-sub <replaceable>sample.txt</replaceable></option> kapcsolóval
-tudod megadni (teljes elérési út is megadható).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Felirat idÅzÃtés és pozÃcionálás beállÃtása:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>mp</replaceable></option></term>
- <listitem><para>
- Késlelteti a feliratot <option><replaceable>mp</replaceable></option> másodperccel.
- Lehet negatÃv is. Az érték a film idÅpozÃciójának számlálójához adódik hozzá.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>RÃTA</replaceable></option></term>
- <listitem><para>
- Megadhatod a felirat fájl képkocka/mp rátáját (lebegÅpontos szám).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- A felirat pozÃcióját adhatod meg.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Ha MicroDVD felirat fájl használa közben egyre növekvŠcsúszást tapasztalsz a
-film és a felirat között, akkor a legvalószÃnűbb, hogy a film és a felirat frame
-rátája különbözÅ. Jegyezd meg, hogy a MicroDVD felirat formátum abszolút képkocka
-számokat használ az idÅzÃtéshez, és nincs benne fps információ, emiatt a
-<option>-subfps</option> kapcsoló használata javasolt ezzel a formátummal. Ha
-végleg meg akarod oldani ezt a problémát, kézzel kell átkonvertálnod a felirat
-fájl frame rátáját.
-Az <application>MPlayer</application> el tudja végezni ezt a konverziót neked:
-
-<screen>
-mplayer -dumpmicrodvdsub -fps <replaceable>subtitles_fps</replaceable> -subfps <replaceable>avi_fps</replaceable> \
- -sub <replaceable>subtitle_filename</replaceable> <replaceable>dummy.avi</replaceable>
-</screen>
-</para>
-
-<para>
-A DVD feliratokról a <link linkend="dvd">DVD</link> fejezetben olvashatsz bÅvebben.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="control">
-<title>Vezérlés</title>
-
-<para>
-Az <application>MPlayer</application> teljesen konfigurálható, parancsvezérelt,
-az irányÃtási rétegének a segÃtségével az <application>MPlayer</application>t
-vezérelheted billentyűzettel, egérrel, joystickkal vagy távirányÃtóval
-(LIRC használatával). Olvasd el a man oldalon a használható billentyűk listáját.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="ctrl-cfg">
-<title>Vezérlés beállÃtása</title>
-
-<para>
-Az <application>MPlayer</application> engedélyezi bármely billentyűhöz/gombhoz
-bármilyen <application>MPlayer</application> parancs hozzárendelését egy egyszerű
-konfigurációs fájl segÃtségével. A szintaxis egy egyszerű billentyű névbÅl
-és az azt követŠparancsból áll. A konfigurációs fájl alapértelmezett helye
-a <filename>$HOME/.mplayer/input.conf</filename> de ez megváltoztatható
-a <option>-input <replaceable>conf</replaceable></option> kapcsoló
-segÃtségével (a relatÃv elérési útvonalak a <filename>$HOME/.mplayer</filename>-hez
-képest relatÃvak).
-</para>
-
-<para>
-Az összes támogatott billentyű nevének listáját az
-<command>mplayer -input keylist</command>
-parancs Ãrja ki, az elérhetÅ parancsok listáját pedig az
-<command>mplayer -input cmdlist</command> paranccsal kapod meg.
-</para>
-
-<example id="input_control_file">
-<title>Egy példa bemeneti vezérlŠfájl</title>
-<programlisting>
-##
-## MPlayer input vezérlŠfájl
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="lirc">
-<title>IrányÃtás LIRC-bÅl</title>
-
-<para>
-Linux Infrared Remote Control (Linux Infravörös Távoli IrányÃtás) - végy
-egy egyszerűen összerakható, otthon barkácsolt IR-vevÅt, egy (majdnem)
-tetszés szerinti távirányÃtót és irányÃtsd a Linux-os gépedet vele!
-BÅvebben a <ulink url="http://www.lirc.org">LIRC weboldalon</ulink>
-olvashatsz errÅl.
-</para>
-
-<para>
-Ha feltelepÃtetted a LIRC csomagot, a <filename>configure</filename> automatikusan
-megtalálja. Ha minden jól megy, az <application>MPlayer</application> egy ilyen
-üzenetet Ãr ki indÃtáskor: "<computeroutput>Setting up lirc support...</computeroutput>".
-Ha valami hiba történt, tájékoztat róla. Ha semmit sem mond a LIRC-rÅl,
-akkor a támogatása nincs beforgatva. Ennyi :-)
-</para>
-
-<para>
-Az <application>MPlayer</application> alkalmazás neve - minŠmeglepŠ-
-<filename>mplayer</filename>. Bármelyik mplayer parancsot használhatod
-és egyszerre több parancsot is megadhatsz egy lépésben, ha <literal>\n</literal>
-karakterrel választod el Åket. Ne felejtsd el engedélyezni az ismétlés jelzÅt
-(repeat flag) a <filename>.lircrc</filename> fájlban, ha van értelme
-(keresés, hangerÅ, stb.). Itt egy kivonat egy <filename>.lircrc</filename>
-fájlból:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-Ha nem tetszik a lirc-config fájl alapértelmezett elérési útvonala
-(<filename>~/.lircrc</filename>), használd a <option>-lircconf
-<replaceable>fájlnév</replaceable></option> kapcsolót egy másik fájl
-megadásához.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="slave-mode">
-<title>Szolga mód</title>
-
-<para>
-A szolga mód segÃtségével egyszerű frontend-eket készÃthetsz az
-<application>MPlayer</application>hez. Ha a <option>-slave</option>
-kapcsolóval futtatod az <application>MPlayer</application>t,
-beolvassa az új sor karakterrel (\n) elválasztott parancsokat
-a standard bemenetrÅl (stdin).
-A parancsok a <ulink url="../../tech/slave.txt">slave.txt</ulink> fájlban
-vannak leÃrva.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="streaming">
-<title>Hálózati és pipe-os stream-elés</title>
-
-<para>
-Az <application>MPlayer</application> HTTP, FTP, MMS vagy RTSP/RTP protokoll
-segÃtségével le tud játszani fájlokat hálózatról is.
-</para>
-
-<para>
-A lejátszáshoz egyszerűen csak be kell Ãrni az URL-t a parancssorba.
-Az <application>MPlayer</application> figyeli a
-<envar>http_proxy</envar> környezeti változót is, és használja a
-proxy-t, ha van. Azonban Ãgy is megadhatod a proxy-t:
-<screen>
-mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable>
-</screen>
-</para>
-
-<para>
-Az <application>MPlayer</application> tud olvasni a standard bemenetrÅl (stdin)
-is (<emphasis>nem</emphasis> nevesÃtett pipe). Ezt például FTP-rÅl történÅ lejátszásnál
-tudod használni:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -
-</screen>
-</para>
-
-<note><para>
-Tanácsos megadni a <option>-cache</option> kapcsolót, ha hálózatról
-játszol le:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -cache 8192 -
-</screen>
-</para></note>
-
-<!-- ********** -->
-
-<sect2 id="streaming-save">
-<title>Stream-elt tartalom lementése</title>
-
-<para>
-Ha már sikerült az <application>MPlayer</application>rel lejátszani
-a kedvenc internetes stream-edet, a <option>-dumpstream</option>
-kapcsoló segÃtségével el is tudod menteni a folyamot egy fájlba.
-Például:
-<screen>
-mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable>
-</screen>
-Ez el fogja menteni a
-<replaceable>http://217.71.208.37:8006</replaceable> szerveren stream-elt
-tartalmat a <replaceable>stream.asf</replaceable> fájlba.
-Ez működik az <application>MPlayer</application> által támogatott
-összes protokollal, mint MMS, RTSP és Ãgy tovább.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="dvd">
-<title>DVD lejátszás</title>
-
-<para>
-A használható kapcsolók teljes listájáért olvasd el a man oldalt.
-A szintaxis egy szabványos DVD lejátszásához a következÅ:
-<screen>
-mplayer dvd://<replaceable><sáv></replaceable> [-dvd-device <replaceable><eszköz></replaceable>]
-</screen>
-</para>
-
-<para>
-Például:
-<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-Ha az <application>MPlayer</application>t dvdnav támogatással fordÃtottad, a
-szintaxis ugyan ez, kivéve, hogy dvdnav://-ot kell használnod a dvd:// helyett.
-</para>
-
-<para>
-Az alapértelmezett DVD eszköz a <filename>/dev/dvd</filename>. Ha a te
-beállÃtásod különbözÅ, készÃts egy szimbolikus linket vagy add meg a megfelelÅ
-eszközt a parancssorban a <option>-dvd-device</option> kapcsolóval.
-</para>
-
-<para>
-Az <application>MPlayer</application> fel tudja használni a
-<systemitem>libdvdread</systemitem>-ot és a <systemitem>libdvdcss</systemitem>-t
-is a DVD-k lejátszásához és dekódolásához. Ez a két függvénykönyvtár megtalálható
-az <application>MPlayer</application> forrás fájában, nem kell Åket külön
-telepÃtened. Használhatod a két függvénykönyvtár rendszer-szintű verzióját is,
-de ez <emphasis role="bold">nem</emphasis> javasolt, mivel hibák forrása lehet,
-a függvénykönyvtárak közötti inkompatibilÃtást és sebességcsökkenést okozhat.
-</para>
-
-<note><para>
-Ha DVD dekódolási problémáid vannak, próbáld meg letiltani a supermount-ot vagy
-bármilyen más hasonló dolgot. Néhány RPC-2 vezérlÅ régió kód beállÃtását is megköveteli.
-</para></note>
-
-<formalpara>
-<title>DVD dekódolás</title>
-<para>
-A DVD dekódolást a <systemitem>libdvdcss</systemitem> végzi. A módszer
-megadható a <envar>DVDCSS_METHOD</envar> környezeti változó segÃtségével,
-lásd a man oldalt.
-</para>
-</formalpara>
-
-<!-- ********** -->
-
-<sect2 id="region_code">
-<title>Régió kód</title>
-<para>
-A DVD meghajtók manapság tartalmaznak egy
-<ulink url="http://en.wikipedia.org/wiki/DVD_region_code">régió kód</ulink>nak
-nevezett értelmetlen korlátozást.
-Szégyen, hogy a DVD meghajtókat arra kényszerÃtik, hogy a hat különbözÅ
-régióból, amire a világot felosztották, csak az egyikben gyártott lemezeket
-fogadják el. Hogy egy asztal körül ülŠpár ember hogy állhatott elŠegy ilyen
-ötlettel és hogyan várhatják el, hogy a 21. században elfogadnak egy ilyen
-ötletet, az minden képzeletet felülmúl.
-</para>
-
-<para>
-Azok a meghajtók, amelyek a régióbeállÃtásokat csak szoftveresen kényszerÃtik
-ki, RPC-1 meghajtókként ismertek, amelyek hardveresen teszik ugyan ezt, azok
-az RPC-2 meghajtók. Az RPC-2 meghajtók öt alkalommal engedik meg a régiókód
-megváltoztatását, mielÅtt az véglegessé válna.
-Linux alatt a
-<ulink url="http://linvdr.org/projects/regionset/">regionset</ulink> eszközt
-használhatod a DVD meghajtód régió kódjának beállÃtásához.
-</para>
-
-<para>
-Szerencsére lehetséges az RPC-2 meghajtók RPC-1-re történŠátalakÃtása egy
-firmware frissÃtéssel. Add meg a DVD meghajtód model számát a kedvenc keresÅ
-motorodnak vagy nézz be a
-<ulink url="http://www.rpc1.org/">"The firmware page"</ulink> fórumjába és
-letöltési oldalára. Bár a firmware frissÃtésre vonatkozó figyelmeztetések itt
-is érvényesek, a régió kódtól történÅ megszabadulás általában pozitÃv élménnyel
-zárul.
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="vcd">
-<title>VCD lejátszás</title>
-
-<para>
-A használható kapcsolók teljes listájáért olvasd el a man oldalt. Egy
-szabványos Video CD (VCD) szintaxisa a következÅ:
-<screen>mplayer vcd://<replaceable><sáv></replaceable> [-cdrom-device <replaceable><eszköz></replaceable>]</screen>
-Például:
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-Az alapértelmezett VCD eszköz a <filename>/dev/cdrom</filename>. Ha a te
-beállÃtásaid különbözÅek, készÃts egy szimbolikus linket vagy add meg a
-megfelelŠeszközt a parancssorban a <option>-cdrom-device</option> kapcsolóval.
-</para>
-
-<note><para>
-A Plextor és néhány Toshiba SCSI CD-ROM meghajtónak borzalmas a teljesÃtménye
-CVD olvasáskor. Ez azért van, mert a CDROMREADRAW <systemitem>ioctl</systemitem>
-nincs teljesen implementálva ezekben a meghajtókban. Ha ismered a SCSI
-programozást, kérlek <ulink url="../../tech/patches.txt">segÃts nekünk</ulink>
-egy általános SCSI támogatás elkészÃtésében VCD-khez.
-</para></note>
-
-<para>
-Addig is kinyerheted az adatokat a VCD-rÅl a
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-segÃtségével, majd a kapott fájlt lejátszhatod az <application>MPlayer</application>rel.
-</para>
-
-<formalpara>
-<title>VCD struktúra</title>
-<para>
-Egy Video CD (VCD) CD-ROM XA szektorokból áll, pl. CD-ROM 2-es módban
-1-es és 2-es formátumú sávok:
-<itemizedlist>
-<listitem><para>
- Az elsŠsáv 2-es módban, 2-es formátumban van, ami azt jelenti, hogy L2
- hibajavÃtást használ. A sáv ISO-9660 fájl rendszert tartalmaz 2048
- bájt/szektorral. Ez a fájl rendszer VCD metaadat információkat tartalmaz,
- valamint gyakran a menükben alkalmazott képkockákat. A menük MPEG
- szegmensei is ezen az elsŠsávon tárolhatóak, de az MPEG-eket fel kell
- osztani 150 szektoros csonkokra. Az ISO-9660 fájl rendszer tartalmazhat
- egyéb fájlokat vagy programokat, amik a VCD működése szempontjából nem
- lényegesek.
-</para></listitem>
-
-<listitem><para>
- A második és a további sávok általában nyers 2324 bájt/szektor formátumú
- MPEG (film) sáv, mely egy MPEG PS adat csomagot tartalmaz szektoronként.
- Ezek 2-es mód 1-es formátumban vannak, Ãgy több adatot tárolnak
- szektoronként némi hibajavÃtás elveszÃtése árán. Lehet CD-DA sáv is a
- VCD-n az elsŠsáv után. Némelyik operációs rendszeren van egy kis csalás,
- amivel ezek a nem-ISO-9660 sávok megjelennek a fájl rendszerben. Más
- operációs rendszereken, például GNU/Linux-on ez nem Ãgy van (még). Itt
- az MPEG adat <emphasis role="bold">nem mountolható</emphasis>. Mivel a
- legtöbb film ilyen tÃpusú sávon belül van, elÅször próbáld ki a
- <option>vcd://2</option>-t.
-</para></listitem>
-
-<listitem><para>
- Léteznek olyan VCD lemezek is, melyeken nincs meg az elsŠsáv (egy sáv és
- egyáltalán nincs fájl rendszer). Ezek szintén lejátszhatóak, de nem lehet
- Åket becsatolni.
-</para></listitem>
-
-<listitem><para>
- A Video CD szabvány definÃcióját a Philips "Fehér könyv"-nek
- nevezte el és nem szabadon hozzáférhetÅ, a PhilipstÅl kell megvásárolni.
- A Video CD-krÅl sokkal részletesebb információt találhatsz a
- <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimager dokumentációjában</ulink>.
-</para></listitem>
-</itemizedlist>
-</para>
-</formalpara>
-
-<formalpara>
-<title>A .DAT fájlokról</title>
-<para>
-A becsatolt VCD elsŠsávján látható ~600 MB fájl valójában nem igazi fájl!
-Ez egy úgynevezett ISO átjáró, azért hozták létre, hogy a Windows kezelni
-tudja ezen sávokat (a Windows semmilyen módon sem engedi a közvetlen eszköz
-elérést az alkalmazásoknak). Linux alatt nem tudod átmásolni vagy lejátszani
-az ilyen fájlokat (szemét van bennük). Windows alatt lehetséges, mivel az
-iso9660 vezérlÅje a sávok nyers olvasását emulálja ebben a fájlban. A .DAT
-fájlok lejátszásához szükséged lesz egy kernel vezérlÅre, ami a PowerDVD
-Linuxos verziójában található. Ez egy módosÃtott iso9660 fájl rendszer vezérlÅt
-(<filename>vcdfs/isofs-2.4.X.o</filename>) tartalmaz, ami képes a nyers sáv
-emulációra ezen ál .DAT fájlon keresztül. Ha az Å vezérlÅjük segÃtségével
-csatolod be a lemezt, át tudod másolni és le tudod játszani a .DAT fájlt az
-<application>MPlayer</application>rel. A Linux kernel szabványos iso9660
-vezérlÅjével ez nem megy! Használd a <option>vcd://</option>-t helyette.
-VCD másolásához alternatÃva az új <ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>
-kernel vezérlŠ(nem része a hivatalos kernelnek) ami a CD meneteket kép fájlok
-formájában mutatja, és a <ulink url="http://cdrdao.sf.net/">cdrdao</ulink>,
-egy bitrÅl-bitre grabbelÅ/másoló program.
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
-<title>Edit Decision Lists (EDL)</title>
-
-<para>
-Az edit decision list (EDL) rendszer segÃtségével automatikusan kihagyhatsz
-vagy elnémÃthatsz részeket videókban a lejátszás alatt, egy film specifikus
-EDL konfigurációs fájl segÃtségével.
-</para>
-
-<para>
-Ez azoknak hasznos, akik "család-barát" módban szeretnének filmet nézni. Ki
-tudsz vágni bármilyen erÅszakos, káromkodós, Jar-Jar Binks-es jelenetet egy
-filmbÅl, a saját igényeidnek megfelelÅen. Mindemellett más felhasználási módok
-is vannak, például automatikusan átlépni a videó fájlokban lévŠreklámokat.
-</para>
-
-<para>
-Az EDL fájl formátuma eléggé egyszerű. Egy sorban egy parancs van, ami megadja,
-hogy mit kell csinálni (skip/mute) és mikor (másodperc alapú mutatóval).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="edl_using">
-<title>EDL fájl használata</title>
-
-<para>
-Add meg a <option>-edl <fájlnév></option> kapcsolót, amikor
-indÃtod az <application>MPlayer</application>t, a videóhoz használni
-kÃvánt EDL fájl nevével.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="edl_making">
-<title>EDL fájl készÃtése</title>
-
-<para>
-A jelenlegi EDL fájl formátum:
-<programlisting>[kezdŠmásodperc] [befejezŠmásodperc] [akció]</programlisting>
-Ahol a másodpercek lebegÅpontos számok, az akció pedig vagy
-<literal>0</literal> a kihagyáshoz vagy <literal>1</literal> az elnémÃtáshoz. Például:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-Ez az 5.3 másodperctÅl a 7.1 másodpercig kihagyja a videót, majd 15 másodpercnél
-leveszi a hangot, 16.7 másodpercnél visszateszi és a 420. és 422. másodperc között
-ismét kihagy a videóból. Ezek az akciók akkor hajtódnak végre, amikor a lejátszás
-idÅzÃtÅje eléri a fájlban megadott idÅket.
-</para>
-
-<para>
-Ha készÃteni akarsz egy EDL fájl, amit utána szerkeszthetsz, használd a
-<option>-edlout <fájlnév></option> kapcsolót. Lejátszás közben csak
-nyomd meg az <keycap>i</keycap> billentyűt a kihagyandó rész elejének és
-végének a megjelöléséhez. A megfelelŠbejegyzés bekerül a fájlba erre az
-idÅszakra. Ezután kézzel tetszÅlegesen beigazÃthatod az EDL fájlt és
-megváltoztathatod az alapértelmezett műveletet, ami az egyes sorok által
-leÃrt blokkok kihagyása.
-</para>
-</sect2>
-</sect1>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<sect1 id="networksync" xreflabel="Network Synchronized Playback">
-<title>Szinkronizált lejátszás hálózaton</title>
-
-<para>
-Az <application>MPlayer</application> több példánya szinkronizálni tudja a
-lejátszást hálózaton keresztül. EZ hasznos "videó falak" létrehozásakor, amikor
-a több képernyÅt külön számÃtógép vezérel. Minden
-<application>MPlayer</application> példány különbözÅ
-videót tud lejátszani, de megpróbálnak ugyan azon az idŠeltoláson maradni
-a fájlban. Javasolt, de nem szükséges, hogy a videó fájlok ugyan azzal a codeccel
-és paraméterekkel legyenek elkódolva.
-</para>
-
-<para>A vonatkozó opciók az <option>-udp-master</option>,
- <option>-udp-slave</option>, <option>-udp-ip</option>,
- <option>-udp-port</option> és az <option>-udp-seek-threshold</option>.
-</para>
-
-<para>
-Ha az <option>-udp-master</option> meg van adva, az <application>MPlayer</application>
-egy adatcsomagot küld az <option>-udp-ip</option> cÃmre (alapértelmezett: 127.0.0.1)
-az <option>-udp-port</option> porton (alapértelmezett: 23867) minden egyes kocka
-lejátszása elÅtt.
-Az adatcsomag a mester pozÃcióját mutatja a fájlban. Ha az
-<option>-udp-slave</option> meg van adva, az <application>MPlayer</application> figyeli az
-<option>-udp-ip</option>/<option>-udp-port</option>-ot
-és követi a mester pozÃcióját. Az <option>-udp-ip</option> a mester broadcast cÃmére
-történŠállÃtásával több kiszolgáló azonos broadcast cÃmen tud szinkronizálni a mesterrel.
-Ne feledd, hogy ez a képesség egy ethernet-szerű, alacsony késleltetésű hálózati kapcsolatot
-feltételez. A működés változhat nagy késleltetésű hálózatokon.
-</para>
-
-<para>
-Például tegyük fel, hogy 8 számÃtógép van a hálózaton, 192.168.0.1 és 192.168.0.8
-közötti IP cÃmekkel. Tegyük fel, hogy az elsÅ számÃtógép lesz a mester. A gépeken
-lefuttatott ifconfig "Bcast:192.168.0.255"-öt Ãr. A mesteren futtasd ezt:
-</para>
-
-<screen>
-mplayer -udp-master -udp-ip 192.168.0.255 video1.mpg
-</screen>
-
-<para>
-A kiszolgálókon pedig ezt:
-</para>
-
-<screen>
-mplayer -udp-slave videoN.mpg
-</screen>
-
-<para>
-A keresés, pillanatállj, sÅt még a lejátszás sebességének állÃtása is
-(lásd az <option>-input</option> opciót) végbemehet a mesteren, minden kiszolgáló
-követni fogja. Ha a mester kilép, kiküld egy "bye" üzenetet, aminek a hatására a
-kiszolgálók is kilépnek.
-</para>
-
-</sect1>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<sect1 id="advaudio-surround">
-<title>Térhatású/többcsatornás lejátszás</title>
-
-<sect2 id="advaudio-surround-DVD">
-<title>DVD-k</title>
-
-<para>
-A legtöbb DVD és sok más fájl térhatású hangot tartalmaz.
-Az <application>MPlayer</application> támogatja a térhatású lejátszást, de
-alapértelmezésként nem engedélyezi, mivel a sztereó berendezések a gyakoribbak.
-A több, mint két csatornás audiót tartalmazó fájlok lejátszásához használd a
-<option>-channels</option> kapcsolót.
-Például egy 5.1-es audióval rendelkezŠDVD lejátszása:
-<screen>mplayer dvd://1 -channels 6</screen>
-Figyelj rá, hogy az "5.1" név ellenére valójában hat különálló csatorna van.
-Ha van térhatású hangfalszetted, nyugodtan beleÃrhatod a
-<option>channels</option> opciót az <application>MPlayer</application>
-konfigurációs fájljába, a <filename>~/.mplayer/config</filename>-ba. Például a
-kvadrafónikus lejátszás alapértelmezetté tételéhez Ãrd be ezt a sort:
-<programlisting>channels=4</programlisting>
-Az <application>MPlayer</application> ekkor az audiót négy csatornán fogja
-lejátszani, ha mind a négy csatorna elérhetÅ.
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-stereoinfour">
-<title>Sztereó fájlok lejátszása négy hangszórón</title>
-
-<para>
-Az <application>MPlayer</application> nem duplázza meg a csatornákat alapból,
-ahogy a legtöbb audió vezérlŠsem. Ha ilyet akarsz, kézzel kell megadnod:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
-Lásd a <link linkend="advaudio-channels-copying">csatorna másolásról</link>
-szóló rész a magyarázatért.
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-passthrough">
-<title>AC-3/DTS áteresztés</title>
-
-<para>
-A DVD-k általában AC-3 (Dolby Digital) vagy DTS (Digital Theater System) formátumban
-kódolt térhatású hanggal rendelkeznek. Néhány modern audió berendezés képes ezen
-formátumok belsÅ dekódolására. Az <application>MPlayer</application> beállÃtható
-úgy, hogy dekódolás nélkül adja át az audió adatot. Ez csak akkor fog működni, ha
-van egy S/PDIF (Sony/Philips Digital Interface) jack dugó a hangkártyádon, vagy
-HDMI-n keresztül küldöd át a hangot.
-</para>
-
-<para>
-Ha az audió berendezésed tudja dekódolni mind az AC-3-at, mind a DTS-t, nyugodtan
-engedélyezheted az áteresztést mindkét formátumnál. Különben csak arra a formátumra
-engedélyezd, amelyiket a berendezésed támogatja.
-</para>
-
-<itemizedlist>
-<title>Ãteresztés engedélyezése a parancssorban:</title>
-<listitem><para>
- Csak AC-3-hoz használd a <option>-ac hwac3</option> kapcsolót.
-</para></listitem>
-<listitem><para>
- CSak DTS-hez használd a <option>-ac hwdts</option> kapcsolót
-</para></listitem>
-<listitem><para>
- AC-3 és DTS esetén használd a <option>-afm hwac3</option> kapcsolót.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Ãteresztés engedélyezése az <application>MPlayer</application>
- konfigurációs fájljában: </title>
-<listitem><para>
- Csak AC-3-hoz használd az <option>ac=hwac3,</option> sort.
-</para></listitem>
-<listitem><para>
- Csak DTS-hez használd az <option>ac=hwdts,</option> sort.
-</para></listitem>
-<listitem><para>
- AC-3 és DTS esetén használd az <option>afm=hwac3</option> sort.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Figyelj rá, hogy az <option>ac=hwac3,</option> és <option>ac=hwdts,</option>
-sorok végén van egy vesszÅ (","). Ez arra utasÃtja az <application>MPlayer</application>t,
-hogy váltson vissza a normálisan használt codec-re, ha olyan fájlt játszasz le,
-amiben nincs AC-3-as vagy DTS audió. Az <option>afm=hwac3</option>
-sorba nem kell vesszÅ; az <application>MPlayer</application> mindenképpen vált
-ha egy audió család van megadva.
-</para>
-</sect2>
-
-
-<sect2 id="hwmpa-surround-passthrough">
-<title>MPEG audió áteresztés</title>
-
-<para>
-A digitális TV továbbÃtás (mint pl. a DVB és ATSC) és néhány DVD általában
-MPEG audió stream-ekkel rendelkezik (általában MP2).
-Pár MPEG hardver dekóder, mint például a jól felszerelt DVB kártyák és a
-DXR2 adapterek natÃvan dekódolják ezt a formátumot.)
-Az <application>MPlayer</application> beállÃtható úgy, hogy ne foglalkozzon
-az audió adatok dekódolásával.
-</para>
-
-<para>
-To use this codec:
-<screen> mplayer -ac hwmpa </screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-matrix">
-<title>Mátrix-kódolású audió</title>
-
-<para>
-<emphasis>***TENNIVALÃ***</emphasis>
-</para>
-
-<para>
-Ezt a részt még el kell készÃteni, de addig nem lehet befejezni, amÃg valaki
-nem ad nekünk hozzá példafájlokat teszteléshez. Ha van mátrix-kódolású audió
-fájlod, tudod, hogy hol lehet találni ilyet vagy van bármilyen információd,
-hálásak lennénk ha üzennél nekünk az
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>
-levelezési listára. Ãrj egy "[matrix-encoded audio]"-t a tárgy sorba.
-</para>
-
-<para>
-Ha nem érkezik fájl vagy további információ, ez a fejezet törölve lesz.
-</para>
-
-<para>
-Jó link-ek:
-<itemizedlist>
-<listitem><para>
- <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-hrtf">
-<title>Térhatás emulálása fülhallgatóval</title>
-
-<para>
-Az <application>MPlayer</application> tartalmaz HRTF (Head Related Transfer
-Function) szűrÅt, mely egy
-<ulink url="http://sound.media.mit.edu/KEMAR.html">MIT projekten</ulink> alapszik,
-melyben méréseket végeztek emberi műfejre szerelt mikrofonokkal.
-</para>
-
-<para>
-Bár nem lehet tökéletesen imitálni egy térhatású rendszert,
-az <application>MPlayer</application> HRTF szűrÅje biztosÃt térben némileg
-mélyÃtett hangot két csatornás fülhallgatón. A hagyományos lekeverés
-egyszerűen kombinálja az összes csatornát kettÅbe; a csatornák kombinálásán
-túl a <option>hrtf</option> finom visszhangot generál, kissé növeli a sztereó
-elválasztást és megváltoztatja néhány frekvencia hangerejét. A HRTF
-hangzásának minÅsége függ a forrás audiótól és az emberi érzékléstÅl, de
-mindenképpen megér egy próbát.
-</para>
-
-<para>
-DVD lejátszása DVD HRTF-fel:
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-</para>
-
-<para>
-A <option>hrtf</option> csak 5 vagy 6 csatornával működik jól, valamint
-48 kHz-es audió kell hozzá. A DVD audió már 48 kHz-es, de ha van egy fájlod
-ettÅl különbözÅ mintavételezési rátával, akkor a <option>hrtf</option>-fel
-történŠlejátszáshoz újra kell mintáznod:
-<screen>
-mplayer <replaceable>fájlnév</replaceable> -channels 6 -af resample=48000,hrtf
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-troubleshooting">
-<title>HibajavÃtás</title>
-
-<para>
-Ha nem hallasz semmilyen hangot a térhatású csatornáidból, ellenÅrizd a mixer
-beállÃtásait egy mixer programmal, mint pl. az <application>alsamixer</application>;
-az audió kimenetek gyakran le vannak némÃtva és nulla hangerÅre vannak állÃtva alapértelmezésben.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="advaudio-channels">
-<title>Csatorna többszörözés</title>
-
-<sect2 id="advaudio-channels-general">
-<title>Ãltalános információk</title>
-
-<para>
-Sajnos nincs szabvány a csatornák sorrendjére vonatkozóan. Az alábbi sorrend
-az AC-3-é, ami eléggé tipikus; próbáld meg ezt és meglátod, hogy a forrásod
-megfelel-e neki. A csatornák számozása 0-tól indul.
-
-<orderedlist spacing="compact">
-<title>mono</title>
- <listitem override="0"><para>középsÅ</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>sztereó</title>
- <listitem override="0"><para>bal</para></listitem>
- <listitem><para>jobb</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>kvadrafónikus</title>
- <listitem override="0"><para>bal elsÅ</para></listitem>
- <listitem><para>jobb elsÅ</para></listitem>
- <listitem><para>bal hátsó</para></listitem>
- <listitem><para>jobb hátsó</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 4.0</title>
- <listitem override="0"><para>bal elsÅ</para></listitem>
- <listitem><para>jobb elsÅ</para></listitem>
- <listitem><para>közép hátsó</para></listitem>
- <listitem><para>közép elsÅ</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.0</title>
- <listitem override="0"><para>bal elsÅ</para></listitem>
- <listitem><para>jobb elsÅ</para></listitem>
- <listitem><para>bal hátsó</para></listitem>
- <listitem><para>jobb hátsó</para></listitem>
- <listitem><para>közép elsÅ</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.1</title>
- <listitem override="0"><para>bal elsÅ</para></listitem>
- <listitem><para>jobb elsÅ</para></listitem>
- <listitem><para>bal hátsó</para></listitem>
- <listitem><para>jobb hátsó</para></listitem>
- <listitem><para>közép elsÅ</para></listitem>
- <listitem><para>mélynyomó</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-A <option>-channels</option> kapcsolóval az audió dekódertÅl lekérdezhetÅ a
-csatornák száma. Néhány audió codec a specifikált csatornák számát használja
-fel a downmixing szükségességének megállapÃtására. Figyelj rá, hogy ez nem
-mindig érinti a kimeneti csatornák számát. Például a <option>-channels 4</option>
-használata egy sztereó MP3 fájl lejátszásánál továbbra is 2 csatornás kimenetet
-ad, mert az MP3 codec nem tud extra csatornákat készÃteni.
-</para>
-
-<para>
-A <option>channels</option> audió szűrŠhasználható csatornák létrehozására
-vagy eltávolÃtására, a hangkártya felé kiküldött csatornák számának beállÃtására
-való. Lásd a következÅ fejezeteket a csatorna manipulációval kapcsolatos bÅvebb
-információkért.
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-channels-mono">
-<title>Mono lejátszása két hangszóróval</title>
-
-<para>
-A mono hangok sokkal jobbak, ha két hangszórón keresztül hallhatóak - különösen
-ha fülhallgatót használsz. Az audió fájlok, amik ténylegesen egy csatornásak,
-automatikusan két hangszórón keresztül kerülnek lejátszásra; sajnos, a legtöbb
-mono hangú fájl tulajdonképpen szereóként van elkódolva, amiben az egyik csatornát
-lenémÃtották. A legkönnyebb és legbolondbiztosabb megoldás arra, hogy mindkét
-hangszórón ugyanaz a kimenet legyen, az <option>extrastereo</option> szűrÅ:
-<screen>mplayer <replaceable>fájlnév</replaceable> -af extrastereo=0</screen>
-</para>
-
-<para>
-Ez átlagolja mindkét csatornát, aminek eredményeként fele olyan hangosak lesznek,
-mint az eredeti. A következŠfejezetekben találsz egyéb példákat is ennek
-megvalósÃtására a hangerÅ csökkentése nélkül, de azok komplexek és különbözÅ
-kapcsolókat igényelnek attól függÅen, hogy melyik csatornát tartod meg. Ha tényleg
-szükséges a hangerÅ megtartása, könnyebb, ha a <option>volume</option> szűrÅvel
-kikÃsérletezed és megkeresed a helyes hangerÅt. Például:
-<screen>
-mplayer <replaceable>filename</replaceable> -af extrastereo=0,volume=5
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-channels-copying">
-<title>Csatorna másolás/mozgatás</title>
-
-<para>
-A <option>channels</option> szűrŠbármelyik vagy az összes csatornát
-tudja mozgatni. A <option>channels</option> szűrÅ alopcióinak beállÃtása
-esetenként bonyolult és némi odafigyelést kÃván.
-
-<orderedlist spacing="compact">
-<listitem><para>
- Döntsd el, hány kimeneti csatornára van szükséged. Ez az elsŠalopció.
-</para></listitem>
-<listitem><para>
- Számold meg, hány csatornamozgatást fogsz véghezvinni. Ez a második alopció.
- Minden csatorna több különbözÅ helyre mozgatható egy idÅben, de tartsd észben,
- hogy ha egy csatornát mozgatsz (még ha csak egy helyre is), a forrás csatorna
- üres lesz amÃg másik csatornát nem mozgatsz a helyére. Csatorna másolásakor
- a forrás ugyan az marad, egyszerűen csak mozgasd a csatornát mind a cél mind
- a forrás helyre. Például:
- <programlisting>
-2-es csatorna --> 3-as csatorna
-2-es csatorna --> 2-es csatorna<!--
- --></programlisting>
-</para></listitem>
-<listitem><para>
- Ãrd le a csatorna másolásokat alopció párokként. Figyelj rá, hogy az elsÅ
- csatorna a 0, a második az 1, stb. Ezen alopciók sorrendje nem számÃt,
- amÃg megfelelÅen vannak csoportosÃtva
- <replaceable>forrás:cél</replaceable> párokba.
-</para></listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Példa: egy csatorna két hangszóróra</bridgehead>
-<para>
-Itt egy példa az egy csatorna több hangszóróra való kiküldésének egy másik módjára.
-Ebben a példában feltételezzük, hogy a bal csatornát kell lejátszani és a jobb
-csatornát eldobjuk. Követve a fenti leÃrást:
-<orderedlist>
-<listitem><para>
- Ahhoz, hogy egy-egy kimeneti csatorna legyen mindkét hangszóróhoz, az elsÅ
- alopciónak "2"-nek kell lennie.
-</para></listitem>
-<listitem><para>
- A bal csatornát kell mozgatni a jobb csatornára és saját magára is, hogy ne
- legyen üres. Ez összesen két mozgatás, ami miatt a második alopció is "2".
-</para></listitem>
-<listitem><para>
- A bal csatorna mozgatásához (0. csatorna) a jobb csatornára (1. csatorna) az
- alopció pár "0:1", "0:0" mozgatja a bal csatornát saját magára.
-</para></listitem>
-</orderedlist>
-Mindezt összerakva kapjuk:
-<screen>
-mplayer <replaceable>fájlnév</replaceable> -af channels=2:2:0:1:0:0
-</screen>
-</para>
-
-<para>
-Ezen példa elÅnye az <option>extrastereo</option>-val szemben, hogy a hangerÅ
-mindegyik kimeneti csatornán a bemeneti csatornáéval megegyezŠlesz. A hátránya,
-hogy az alopciókat "2:2:1:0:1:1"-re kell változtatni, ha a kÃvánt audió a jobb
-csatornán van. Valamint nehezebb megjegyezni és begépelni.
-</para>
-
-<bridgehead>Példa: bal csatorna két hangszóróra rövidÃtve</bridgehead>
-<para>
-Van egy sokkal könnyebb mód a <option>channels</option> szűrŠhasználatára,
-hogy a bal csatornát mindkét hangszórón megszólaltassuk:
-<screen>mplayer <replaceable>fájlnév</replaceable> -af channels=1</screen>
-A második csatorna figyelmen kÃvül marad és további alopciók nélkül az egyetlen
-megmaradó csatorna egyedül marad. A hangkártya vezérlÅk az egy csatornás
-audiót automatikusan lejátszák mindkét hangszórón. Ez csak akkor működik, ha
-a kÃvánt csatorna a bal.
-</para>
-
-<bridgehead>Példa: az elülsŠcsatornák duplázása hátra</bridgehead>
-<para>
-Másik gyakori művelet az elülsŠcsatornák duplázása és lejátszása hátul, a hátsó
-hangszórókon kvadrafónikus beállÃtással.
-<orderedlist>
-<listitem><para>
- Négy kimeneti csatorna kell. Az elsŠalopció "4".
-</para></listitem>
-<listitem><para>
- A két elülsŠcsatornát kell mozgatni a megfelelŠhátsóra és saját magára. Ez négy
- mozgatás, a második alopció "4".
-</para></listitem>
-<listitem><para>
- A bal elsÅt (0. csatorna) kell mozgatni a bal hátsóra (2. csatorna): "0:2".
- A bal elsÅt saját magára is kell mozgatni: "0:0". A jobb elsÅt (1. csatorna)
- a jobb hátsóra (3. csatorna): "1:3", és saját magára kell mozgatni: "1:1".
-</para></listitem>
-</orderedlist>
-Az alopciók összeállÃtásával kapjuk:
-<screen>
-mplayer <replaceable>fájlnév</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-channels-mixing">
-<title>Csatorna keverés</title>
-
-<para>
-A <option>pan</option> szűrŠfelhasználó által megadott arányban tudja keverni a
-csatornákat. Ezzel meg lehet csinálni mindent, amit a <option>channels</option>
-szűrÅvel, és még többet is. Sajnos az alopciók még komplikáltabbak.
-<orderedlist>
-<listitem><para>
- Döntsd el, hány csatornával akarsz dolgozni. Ezt a <option>-channels</option>
- és/vagy <option>-af channels</option> kapcsolókkal kell megadnod. A példák
- megmutatják, mikor melyiket kell használni.
-</para></listitem>
-<listitem><para>
- Döntsd el, hány csatornát adsz át a <option>pan</option>-nek (a további
- dekódolt csatornák figyelmen kÃvül maradnak). Ez az elsÅ alopció és
- szabályozza a kimeneti csatornák számát is.
-</para></listitem>
-<listitem><para>
- A fennmaradó alopciók megadják, hogy melyik csatornát milyen mértékben kell
- bekeverni mindegyik másik csatornába. Ez az igazán bonyolult dolog. KönnyÃtésként
- válaszd szét az alopciókat különbözŠrészekre, egy rész minden egyes bemeneti
- csatornához. Minden egy részen belül található alopció egy kimeneti csatornának
- felel meg. A szám, amit megadsz, a bemeneti csatorna kimeneti csatornába
- történŠbekeverésének százalékos aránya lesz.
- </para>
- <para>
- A <option>pan</option> 0 és 512 közötti értékeket fogad el, az eredeti
- hangerÅ 0% és 51200%-ának megfelelÅen. Légy óvatos, ha 1-nél nagyobb értékeket
- használsz. Nem csak nagy hangerÅt adhat, de ha túlléped a hangkártyád
- mintavételezési rátáját, kellemetlen pukkanásokat és kattanásokat hallhatsz.
- Ha akarod, a <option>pan</option>-t követheti egy <option>,volume</option>
- a vágás engedélyezéséhez, de jobb a <option>pan</option> értékeit olyan
- alacsonyan tartani, hogy ne kelljen vágni.
- </para>
-</listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Példa: egy csatorna két hangszóróra</bridgehead>
-<para>
-Itt van egy újabb példa a bal csatorna két hangszórón történŠlejátszására. Kövesd
-a fent leÃrt lépéseket:
-<orderedlist>
-<listitem><para>
- A <option>pan</option>nek két kimeneti csatornája lesz, Ãgy az elsÅ
- alopció "2".
-</para></listitem>
-<listitem><para>
- Mivel két bemeneti csatornánk van, két alopció rész lesz.
- Mivel két kimeneti csatornánk van, két alopció lesz részenként.
- A fájl bal csatornája teljes hangerÅvel mehet az új bal és jobb
- csatornára.
- Ãgy az elsÅ alopció rész "1:1".
- A jobb csatornát figyelmen kÃvül kell hagyni, Ãgy a második "0:0".
- A sorvégi 0 értékek elhagyhatóak, de a könnyebb megértésért
- most megtartjuk Åket.
-</para></listitem>
-</orderedlist>
-Ezen opciók összeállÃtása adja:
-<screen>mplayer <replaceable>fájlnév</replaceable> -af pan=2:1:1:0:0</screen>
-Ha inkább a jobb csatorna kell a bal helyett, a <option>pan</option> alopciói
-"2:0:0:1:1" lesznek.
-</para>
-
-
-<bridgehead>Példa: bal csatorna két hangszóróra rövidÃtve</bridgehead>
-<para>
-Amint a <option>channels</option>-el, itt is lehet rövidÃteni, ha a csak a bal
-csatornával dolgozol:
-<screen>mplayer <replaceable>fájlnév</replaceable> -af pan=1:1</screen>
-Mivel a <option>pan</option>-nek csak egy bemeneti csatornája van (a másik csatorna
-figyelmen kÃvül marad), csak egy része van az alopcióknak, ami megadja, hogy az
-egyetlen csatorna saját maga 100%-át kapja.
-</para>
-
-<bridgehead>Példa: 6 csatornás PCM lekeverése</bridgehead>
-<para>
-Az <application>MPlayer</application> 6 csatornás PCM dekódolója nem tud lekeverni.
-Itt egy módszer a PCM lekeverésre a <option>pan</option> használatával:
-<orderedlist>
-<listitem><para>
- A kimeneti csatornák száma 2, Ãgy az elsÅ alopció "2".
-</para></listitem>
-<listitem><para>
- Hat bemeneti csatornával hat alopció rész lesz. Szerencsére mivel csak az elsÅ
- két csatorna kimenetével foglalkozunk, csak két részt kell készÃtenünk; a
- maradék négy elhagyható. Vigyázz, nem mindig ugyan az a csatornák sorrendje a
- többcsatornás audió fájlokban! Ez a példa egy olyan fájl lekeverését szemlélteti,
- amiben ugyan olyan csatornák vannak, mint az AC-3 5.1 esetén:
- <programlisting>
-0 - bal elsÅ
-1 - jobb elsÅ
-2 - bal hátsó
-3 - jobb hátsó
-4 - középsÅ elsÅ
-5 - mélynyomó<!--
- --></programlisting>
- Az alopciók elsŠcsoportja az eredeti hangerŠszázalékát adja, sorrendben,
- amit mindegyik kimeneti csatorna a bal elsŠcsatornától kap: "1:0".
- A jobb elsŠcsatornának a jobb kimenetre kell mennie: "0:1".
- Ugyan ez a hátsó csatornákra: "1:0" és "0:1".
- A középsÅ csatorna mindkét kimeneti csatornára átmegy fél hangerÅvel:
- "0.5:0.5", a mélynyomó pedig mindkettÅre teljes hangerÅvel: "1:1".
-</para></listitem>
-</orderedlist>
-Mindezt összerakva:
-<screen>
-mplayer <replaceable>6-channel.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
-</screen>
-A fenti példa százalékok csak durva példák. Nyugodtan játszadozz velük!
-</para>
-
-<bridgehead>Példa: 5.1-es audió lejátszása nagy hangszórókon, mélynyomó nélkül</bridgehead>
-<para>
-Ha egy pár nagy hangszóród van elÅl, nem kell pénzt áldoznod mélynyomóra a
-teljes 5.1-es hangzáshoz. Ha a <option>-channels 5</option> használatával
-kéred, hogy a liba52 az 5.1-es audiót 5.0-ban dekódolja, a mélynyomó
-csatornája egyszerűen elmarad. Ha a mélynyomó csatornáját saját magad
-szeretnéd szétosztani, kézzel kell lekeverned a
-<option>pan</option>-nal:
-<orderedlist>
-<listitem><para>
- Mivel a <option>pan</option>-nak mind a hat csatornával kell foglalkoznia, add
- meg a <option>-channels 6</option> kapcsolót, hogy a liba52 dekódolja Åket.
-</para></listitem>
-<listitem><para>
- A <option>pan</option> csak öt csatornára küld kimenetet, az elsŠalopció 5.
-</para></listitem>
-<listitem><para>
- Hat bemeneti csatorna van és öt kimeneti csatorna, ez hat részt jelent öt alopcióval.
- <itemizedlist spacing="compact">
- <listitem><para>
- A bal elsŠcsatornát csak saját magára kell ismételni:
- "1:0:0:0:0"
- </para></listitem>
- <listitem><para>
- Ugyan ez a jobb elsŠcsatornára:
- "0:1:0:0:0"
- </para></listitem>
- <listitem><para>
- Ugyan ez a bal hátsó csatornára:
- "0:0:1:0:0"
- </para></listitem>
- <listitem><para>
- Ãs a jobb hátsó csatornára:
- "0:0:0:1:0"
- </para></listitem>
- <listitem><para>
- Közép elsŠszintén:
- "0:0:0:0:1"
- </para></listitem>
- <listitem><para>
- Ãs most kell eldöntenünk, hogy mit csináljunk a mélynyomóval, pl.
- felezve a jobb elsÅre és a bal elsÅre:
- "0.5:0.5:0:0:0"
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-</orderedlist>
-Ezen opciók összevonásával születik meg az eredmény:
-<screen>
-mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
-</screen>
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="advaudio-volume">
-<title>Szoftveres hangerŠállÃtás</title>
-
-<para>
-Néhány audió sáv túl halk, hogy kényelmesen hallható legyen kiegészÃtés nélkül.
-Ez akkor jelent problémát, ha az audió berendezésed nem tud erÅsÃteni a jelen.
-A <option>-softvol</option> opció utasÃtja az
-<application>MPlayer</application>t egy belsŠkeverŠhasználatára. Használhatod
-a hangerŠállÃtó gombokat (alapértelmezettként <keycap>9</keycap> és
-<keycap>0</keycap>) a nagyobb hangerŠeléréséhez. Figyelj rá, hogy ez nem hagyja
-figyelmen kÃvül a hangkártyád keverÅjét; az <application>MPlayer</application>
-csak erÅsÃt az eredeti jelen mielÅtt kiküldené a hangkártyára.
-A következŠpélda jó kezdésként:
-<screen>mplayer <replaceable>halk-fájl</replaceable> -softvol -softvol-max 300</screen>
-A <option>-softvol-max</option> opció megadja a maximálisan megengedhetŠkimeneti
-hangerÅt az eredeti hangerÅ százalékában. Például a <option>-softvol-max 200</option>
-az eredeti szint dupláját engedélyezi.
-Nyugodtan megadhatsz egy nagy értéket a
-<option>-softvol-max</option> kapcsolóval; a nagyobb hangerŠaddig nem lesz
-használva, amÃg te nem használod a hangerŠállÃtó gombokat. Az egyetlen hátránya
-a nagy értéknek az, hogy mivel az <application>MPlayer</application> a maximum
-százalékával állÃtja be a hangerÅt, nem lesz olyan precÃz vezérlésed a
-hangerŠállÃtó gombok használatakor. Használj kisebb értéket a
-<option>-softvol-max</option>-szal és/vagy add meg a <option>-volstep 1</option>-et,
-ha nagyobb pontosságot akarsz.
-</para>
-
-<para>
-A <option>-softvol</option> opció a <option>volume</option> audió szűrÅ
-vezérlésével működik. Ha egy fájlt egy bizonyos hangerÅvel akarsz lejátszani az
-elejétÅl kezdve, megadhatod a <option>volume</option>-val kézzel:
-<screen>mplayer <replaceable>halk-fájl</replaceable> -af volume=10</screen>
-Ez 10 decibel-es növeléssel játsszal le a fájlt. Légy óvatos, ha a
-<option>volume</option> szűrÅt használod - könnyen károsÃthatod a füleidet, ha
-túl nagy értéket használsz. Kezd alacsonyan és fokozatosan menj felfelé, amÃg
-meg nem érzed, hogy meddig kell állÃtani. Valamint ha nagyon nagy értékeket adsz
-meg, a <option>volume</option>-nek lehet, hogy le kell csÃpnie a jelet, hogy
-megakadályozza a hangkártyád elfogadható tartományán kÃvül esÅ adatok küldését;
-ez zavart audiót eredményez.
-</para>
-</sect1>
-</chapter>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<chapter id="tv-input" xreflabel="TV input">
-<title>TV bemenet</title>
-
-<para>
-Ez a rész arról szól, hogy hogyan lehet <emphasis role="bold">adást nézni/lementeni
-V4L kompatibilis TV tunerrel</emphasis>. Lásd a man oldalt a TV-s kapcsolók és
-a vezérlŠbillentyűk listájáért.
-</para>
-
-<!-- ********** -->
-
-<sect1 id="tv-tips">
-<title>Használati tippek</title>
-
-<para>
-A kapcsolók teljes listája a man oldalon található.
-Itt csak pár tippet emlÃtünk meg:
-
-<itemizedlist>
-<listitem><para>
- GyÅzÅdj meg róla, hogy a tuner működik más rádiós programmal Linuxon,
- például a <application>XawTV</application>-vel.
-</para></listitem>
-<listitem><para>
- Használd a <option>channels</option> kapcsolót. Például:
- <screen>-tv channels=26-MTV1,23-TV2</screen>
- Magyarázat: Ha ezt a kapcsolót használod, akkor csak a 26-os és a 23-as
- csatorna lesz használható, és szép OSD szöveg lesz csatorna váltáskor,
- mely a csatorna nevét jelzi ki. A csatorna nevében lévŠszóközöket a
- "_" karakterrel kell kicserélni.
-</para></listitem>
-<listitem><para>
- Válassz valamilyen értelmes képméretet. A kp méreteinek oszthatónak
- kell lennie 16-tal.
-</para></listitem>
-<listitem>
- <para>
- Ha videót mentesz el úgy, hogy a függÅleges felbontás nagyobb, mint a
- teljes felbontás fele (pl. 288 a PAL-nál és 240 az NTSC-nél), akkor a
- kapott 'képkockák' tényleg átlapolt mezÅpárok lesznek.
- Attól függÅen, hogy mit akarsz csinálni a videóval, hagyhatod ebben a
- formában, veszteséges deinterlacing-et hajthatsz végre vagy szétszedheted
- a párokat egyedi mezÅkre.
- </para>
- <para>
- Különben a filmed torzul a gyors mozgású jelenetek alatt és a bitráta
- vezérlÅ is valószÃnűleg képtelen lesz az elÅÃrt bitráta megtartására,
- ahogy az interlacing változások nagy mennyiségű adatot eredményeznek és
- Ãgy nagy sávszélességet vesznek el. A deinterlacing-et bekapcsolhatod a
- <option>-vf pp=DEINT_TYPE</option> kapcsolóval.
- Ãltalában a <option>pp=lb</option> jó, de ez az egyéni beállÃtásokon is
- múlik.
- A többi deinterlacing algoritmust lásd a manuálban és próbálgasd ki Åket.
- </para>
-</listitem>
-<listitem><para>
- Vágd le a felesleges helyet. Ha videót mentesz, a sarki arénák teljesen
- feketék és némi zajt tartalmaznak. Ezek szintén nagy sávszélességet
- foglalnak el feleslegesen. Pontosabban nem maguk a fekete területek,
- hanem az éles átmenetek a fekete és a világosabb videó kép között, de
- ez most nem fontos igazából. MielÅtt elindÃtanád a mentést, állÃtsd be
- a <option>crop</option> kapcsoló argumentumait, Ãgy a széleknél lévÅ
- vackok le lesznek vágva. Ãs ne feledd a képméreteket ésszerű keretek
- között tartani.
-</para></listitem>
-<listitem><para>
- Figyelj a CPU terhelésre. Legtöbbször átlépi a 90%-os határt. Ha nagy
- mentési buffered van, a <application>MEncoder</application> túlél egy
- esetleges túlterhelést pár másodpercig, de semmi több. Jobb kikapcsolni
- a 3D OpenGL képernyÅvédÅket és a hasonló dolgokat.
-</para></listitem>
-<listitem><para>
- Ne szórakozz a rendszer órával. A <application>MEncoder</application> a rendszer
- órát használja az A/V szinkronhoz. Ha átállÃtod a rendszer órát (különösen
- vissza az idÅben), a <application>MEncoder</application> összezavarodik és
- képkockákat veszÃtesz. Ez egy fontos dolog, ha hálózathoz kapcsolódsz és
- futtatsz valamilyen idŠszinkronizációs szoftvert, mint pl. NTP. Ki kell
- kapcsolnod az NTP-t a mentési folyamat alatt, ha megbÃzható mentést akarsz.
-</para></listitem>
-<listitem><para>
- Ne változtasd meg az <option>outfmt</option>-t, hacsak vagy biztos benne,
- hogy mit csinálsz, vagy a kártyád/vezérlÅd tényleg nem támogatja az
- alapértelmezést (YV12 szÃntér). A <application>MPlayer</application>/<application>MEncoder</application>
- régebbi verzióiban szükséges volt a kimeneti formátum megadása. Ez a
- jelenlegi kiadásban már javÃtva lett és az <option>outfmt</option> már
- nem szükséges, az alapértelmezés megfelel a legtöbb esetben. Például ha
- videót mentesz DivX-be a <systemitem class="library">libavcodec</systemitem>
- használatával és megadod az <option>outfmt=RGB24</option>-t a mentett kép
- minÅségének növelése érdekében, a mentett kép igazából késÅbb lesz
- visszakonvertálva YV12-be Ãgy az egyetlen, amit elérsz, az erÅteljes CPU
- használat.
-</para></listitem>
-<listitem><para>
- Rengeteg módon menthetsz el audiót. A hangot grabbelheted a hang kártyáddal is
- egy a videó kártya és a line-in között lévŠkülsŠkábelen keresztül, vagy a
- bt878-as chip-be beépÃtett ADC segÃtségével. A második esetben be kell töltened
- a <emphasis role="bold">btaudio</emphasis> vezérlÅt. Olvasd el a
- <filename>linux/Documentation/sound/btaudio</filename> fájlt (a kernel fájában,
- nem az <application>MPlayer</application>ében) némi leÃrásért ezen vezérlÅ
- használatával kapcsolatban.
-</para></listitem>
-<listitem><para>
- Ha a <application>MEncoder</application> nem tudja megnyitni az audió eszközt,
- gyÅzÅdj meg róla, hogy tényleg elérhetÅ-e. Gond lehet a hang szerverekkel, mint
- pl. aRts (KDE) vagy ESD (GNOME). ha full duplex hang kártyád van (majdnem
- az összes hangkártya tudja már ezt manapság), és KDE-t használsz, próbáld
- meg bekapcsolni a "full duplex" opciót a hangkártya tulajdonságok menüben.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tv-examples">
-<title>Példák</title>
-
-<informalexample><para>
-Dummy kimenet AAlib-re :)
-<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
-</para></informalexample>
-
-<informalexample><para>
-Bemenet standard V4L-rÅl:
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Egy sokkal mesterkéltebb példa. Ezzel a <application>MEncoder</application>
-elmenti a teljes PAL képet, levágja a széleket és deinterlace-eli a képet
-a linear blend algoritmus segÃtségével. Az audió 65 kbps-es állandó bitrátával
-kerül tömörÃtésre, a LAME codec felhasználásával. Ez a beállÃtás megfelelÅ a
-filmek elmentéséhez.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Ez ráadásul átméretezi a képet 384x288-ra és 350 kbps-sel, nagyon jó
-minÅségben összetömörÃti a videót. A vqmax opció felszabadÃtja a
-kvantálót és Ãgy lehetÅvé teszi a videó tömörÃtÅnek az ilyen alacsony
-bitráta elérését akár a minÅség kárára is. Ez használható TV-s sorozatok
-elmentésekor, amikor a minÅség nem olyan fontos.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>output.avi</replaceable>\
- -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
-</screen>
-Meg lehet adni kisebb képméretet is a <option>-tv</option> kapcsolónál
-és ki lehet hagyni a szoftveres méretezést, de ez a megközelÃtés a
-lehetŠlegtöbb információt használja fel és egy kicsit ellenállóbb a
-zajokkal szemben. A bt8x8 chip-ek a pixel átlagolást csak vÃzszintesen
-tudják hardveres korlátok miatt.
-</para></informalexample>
-</sect1>
-</chapter>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<chapter id="tv-teletext">
-<title>Teletext</title>
-
-<para>
- A teletext jelenleg csak a v4l és v4l2 vezérlÅkkel használható
- az <application>MPlayerben</application>.
-</para>
-
-<sect1 id="tv-teletext-implementation-notes">
-<title>Megjegyzések az implementációhoz</title>
-
-<para>
-Az <application>MPlayer</application> támogatja a hagyományos szöveget, a grafikát
-és a navigációs link-eket.
-Sajnos a szÃnes oldalak még nem támogatottak teljesen - minden oldal szürkében látszik.
-A felirat oldalak (Closed Captions néven is ismert) is támogatottak.
-</para>
-
-<para>
-Az <application>MPlayer</application> a TV jel vételének kezdetétÅl cache-eli a
-teletext oldalakat, Ãgy nem kell várnod a kért oldal betöltésére.
-</para>
-
-<para>
-Megjegyzés: A teletext <option>-vo xv</option> melletti használata érdekes szÃneket
-jelenÃt meg.
-</para>
-</sect1>
-
-<sect1 id="tv-teletext-usage">
-<title>A teletext használata</title>
-
-<para>
-A teletext dekódolás engedélyezéséhez meg kell adnod azt a VBI eszközt, amelyrÅl
-az adatok származnak (általában <filename>/dev/vbi0</filename> Linux alatt).
-Ez történhet a <option>tdevice</option> opció konfigurációs fájlban történÅ megadásával, Ãgy:
-<screen>tv=tdevice=/dev/vbi0</screen>
-</para>
-
-<para>
-Lehet, hogy meg kell adnod az országod teletext nyelv kódját is.
-A teljes országlista megtekinthetŠaz alábbi paranccsal:
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
-Egy példa az orosz nyelv kiválasztására:
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
-</para>
-</sect1>
-
-<sect1 id="radio">
-<title>Rádió</title>
-
-<para>
-Ez a fejezet arról szól, hogyan engedélyezheted a V4L-kompatibilis
-rádió tuner-rÅl történÅ rádió hallgatást. Lásd a man oldalt a
-rádiós opciók és a billentyűzeten keresztüli vezérlés leÃrásához.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="radio-tips">
-<title>Használati tippek</title>
-
-<para>
-Az összes használható opcióhoz nézd meg a man oldalt.
-Következzék pár tipp:
-
-<itemizedlist>
-<listitem><para>
- GyÅzÅdj meg róla, hogy a tuner működik más rádiós programmal Linuxon,
- például a <application>XawTV</application>-vel.
-</para></listitem>
-<listitem><para>
- Használd a <option>channels</option> opciót. Egy példa:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- Magyarázat: Ezzel az opcióval csak a 104.4 és 103.9 rádió adók
- használhatóak. Egy szép OSD szöveg fog megjelenni csatorna váltásnál,
- kiÃrva a csatorna nevét. A csatorna nevében szereplÅ szóközöket
- "_" karakterrel kell helyettesÃteni.
-</para></listitem>
-<listitem><para>
- Több lehetÅség is adott az audió elmentésére. Menthetsz a hangkártyád segÃtségével
- is, egy videó kártyát és a line-in-t összekötŠkülsŠkábellel, vagy az saa7134
- chip-be beépÃtett ADC segÃtségével. Ez utóbbi esetben be kell töltened az
- <systemitem>saa7134-alsa</systemitem> vagy az
- <systemitem>saa7134-oss</systemitem> vezérlÅt.
-</para></listitem>
-<listitem><para>
- A <application>MEncoder</application> nem használható az audió
- elmentésére, mert videó folyamra van szüksége. Ãgy vagy az
- <application>arecord</application> használhatod az ALSA projektbÅl
- vagy a <option>-ao pcm:file=file.wav</option> opciót. Ez utóbbi
- esetben nem fogsz hallani semmilyen hangot (hacsak nem használsz egy
- line-in kábelt és nem kapcsolod ki a line-in némÃtást).
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="radio-examples">
-<title>Példák</title>
-
-<informalexample><para>
-Bemenet szabványos V4L-rÅl (line-in kábellel, mentés kikapcsolva):
-<screen>mplayer radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-Bemenet szabványos V4L-rÅl (line-in kábellel, mentés kikapcsolva,
-V4Lv1 interfész):
-<screen>mplayer -radio driver=v4l radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-A csatorna listán második csatorna lejátszása:
-<screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
-</para></informalexample>
-
-<informalexample>
-<para>
-Hang átadása a PCI buszon a rádió kártya belsÅ ADC-jébÅl.
-Ebben a példában a tuner második hangkártyaként szerepel
-(ALSA device hw:1,0). Az saa7134-alapú kártyákhoz vagy az
-<systemitem>saa7134-alsa</systemitem> vagy az <systemitem>saa7134-oss</systemitem>
-modult be kell tölteni.
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
- -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note><para>
-Ha ALSA eszköz neveket használsz, a kettÅspontokat egyenlÅség
-jelekkel kell helyettesÃteni, a periódusokat vesszÅk választják el.
-</para></note>
-</para>
-</informalexample>
-</sect2>
-
-</sect1>
-</chapter>
diff --git a/DOCS/xml/hu/video.xml b/DOCS/xml/hu/video.xml
deleted file mode 100644
index e736dfa..0000000
--- a/DOCS/xml/hu/video.xml
+++ /dev/null
@@ -1,2314 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r32283 -->
-<chapter id="video">
-<title>Videó kimeneti eszközök</title>
-
-<sect1 id="xv">
-<title>Xv</title>
-
-<para>
-XFree86 4.0.2 vagy újabb alatt használhatod a kártyád YUV rutinjait
-az XVideo kiterjesztés használatával. Ez az, amit a <option>-vo xv</option>
-kapcsoló használ. Ez a vezérlŠtámogatja a
-fényerÅsség/kontraszt/árnyalat/stb. állÃtását (hacsak nem a régi, lassú
-DirectShow DivX codec-et használod, ami mindenhol támogatja), lásd a man oldalt.
-</para>
-
-<para>
-A beüzemeléséhez ellenÅrizd a következÅket:
-
-<orderedlist>
-<listitem><para>
- XFree86 4.0.2 vagy újabbat kell használnod (korábbi verziókban nincs XVideo)
-</para></listitem>
-<listitem><para>
- A kártyádnak támogatnia kell a hardveres gyorsÃtást (a modern kártyák tudják)
-</para></listitem>
-<listitem><para>
- Az X-nek Ãrnia kell az XVideo kiegészÃtés betöltését valahogy Ãgy:
- <programlisting>(II) Loading extension XVideo</programlisting>
- a <filename>/var/log/XFree86.0.log</filename> fájlban.
- <note><para>
- Ez csak az XFree86 kiegészÃtését tölti be. Egy jó telepÃtésben ez
- mindig betöltÅdik, de ez nem jelenti azt, hogy a
- <emphasis role="bold">kártya</emphasis> XVideo támogatása is be van töltve!
- </para></note>
-</para></listitem>
-<listitem><para>
- A kártyádnak van Xv támogatása Linux alatt. Ennek az ellenÅrzéséhez add ki az
- <command>xvinfo</command> parancsot, ez része az XFree86 disztribúciónak. Egy
- hosszú szöveget kell kiÃrnia, valami ilyesmit:
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...stb...)<!--
---></screen>
- Támogatnia kell a tömörÃtett YUY2 és a YV12 planar pixel formátumokat, hogy az
- <application>MPlayer</application> használni tudja.
-</para></listitem>
-<listitem><para>
- Ãs végül, nézd meg, hogy az <application>MPlayer</application> 'xv' támogatással
- lett-e fordÃtva. Ãrd be ezt: <command>mplayer -vo help | grep xv </command>.
- Ha az 'xv' támogatás be van épÃtve, egy ehhez hasonló sornak szerepelnie kell:
- <screen> xv X11/Xv</screen>
-</para></listitem>
-</orderedlist>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>BEVEZETÃS</title>
-<para>
-Ez a dokumentum megpróbálja pár szóban elmagyarázni, hogy mi is az a DGA
-tulajdonképpen és mit tehet a DGA vezérlŠaz <application>MPlayer</application>nek
-(és mit nem).
-</para>
-</formalpara>
-
-<formalpara>
-<title>MI AZ A DGA</title>
-<para>
-A <acronym>DGA</acronym> a <emphasis>Direct Graphics Access</emphasis>
-rövidÃtése és azt jelenti, hogy egy program az X szerver megkerülésével
-direkt eléréssel módosÃthatja a framebuffer memóriát. Gyakorlatilag ez úgy
-történik, hogy a framebuffer memória a processzed memória tartományába
-kerül leképezésre. Ezt a kernel csak superuser jogokkal engedélyezi. Vagy
-<systemitem class="username">root</systemitem> néven történŠbejelentkezéssel
-vagy az <application>MPlayer</application> futtatható állományának SUID
-bitjének beállÃtásával juthatsz ilyen jogokhoz. (<emphasis role="bold">nem
-javasoljuk</emphasis>).
-</para>
-</formalpara>
-<para>
-Két verziója van a DGA-nak: a DGA1 az XFree 3.x.x-ban volt használatos, a DGA2
-az XFree 4.0.1-ben került bevezetésre.
-</para>
-
-<para>
-A DGA1 csak direkt framebuffer elérést biztosÃt a fent leÃrt módszerrel. A
-videó jel felbontásának megváltoztatásához az XVidMode kiterjesztést kell
-használnod.
-</para>
-
-<para>
-A DGA2 már tartalmazza az XVidMode kiterjesztés képességeit és a
-képernyÅ szÃnmélységét is engedi változtatni. Ãgy alaphelyzetben 32
-bites szÃnmélységben futtatott X szervert átállÃthatsz 15 bites
-mélységre és vissza.
-</para>
-
-<para>
-Ennek ellenére a DGA-nak van néhány hátránya. Ãgy tűnik ez az általad használt
-grafikus chip-tÅl függ és az ezen chip-et irányÃtó vezérlÅ X szerverben való
-megvalósÃtásától. Ãgy nem minden rendszeren működik...
-</para>
-
-<formalpara>
-<title>DGA TÃMOGATÃS TELEPÃTÃSE AZ MPLAYERHEZ</title>
-
-<para>
-ElÅször gyÅzÅdj meg, hogy az X betölti a DGA kiterjesztést: lásd
-a <filename>/var/log/XFree86.0.log</filename> fájlt:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-XFree86 4.0.x vagy újabb
-<emphasis role="bold">nagyon javasolt</emphasis>!
-Az <application>MPlayer</application> DGA vezérlÅjét a
-<filename>./configure</filename> automatikusan megtalálja, de elÅ is Ãrhatod
-a használatát a <option>--enable-dga</option> kapcsolóval.
-</para>
-</formalpara>
-
-<para>
-Ha a vezérlÅ nem tud kisebb felbontásra váltani, kÃsérletezz a
-<option>-vm</option> (csak X 3.3.x esetén), <option>-fs</option>,
-<option>-bpp</option>, <option>-zoom</option> kapcsolókkal a filmnek
-legmegfelelÅbb videó mód megtalálásához. Még nincs konverter :(
-</para>
-
-<para>
-Lépj be <systemitem class="username">root</systemitem>ként. A DGA-hoz root
-elérés kell, hogy közvetlenül tudjon Ãrni a videó memóriába. Ha felhasználóként
-akarod futtatni, telepÃtsd az <application>MPlayer</application>t SUID root-tal:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
-Ãgy már egyszerű felhasználók esetében is működik.
-</para>
-
-<caution>
-<title>Biztonsági kockázat</title>
-<para>
-Ez <emphasis role="bold">nagy</emphasis> biztonsági kockázatot jelent!
-<emphasis role="bold">Soha</emphasis> ne csináld ezt meg egy szerveren vagy egy
-olyan számÃtógépen amihez mások is hozzáférnek, mert root jogokat szerezhetnek
-a SUID root-os <application>MPlayer</application>rel.
-</para>
-</caution>
-
-<para>
-Használd a <option>-vo dga</option> kapcsolót, és már megy is! (reméljük:)
-Kipróbálhatod a <option>-vo sdl:driver=dga</option> kapcsolót is, hogy működik-e!
-Sokkal gyorsabb!
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>FELBONTÃS VÃLTÃS</title>
-
-<para>
-A DGA vezérlÅ lehetÅvé teszi a kimeneti jel felbontásának megváltoztatását.
-Ezzel elkerülhetÅ a (lassú) szoftveres méretezés és ugyanakkor teljes képernyÅs
-képet biztosÃt. Ideális helyzetben pontosan a videó adat felbontására vált
-(kivéve az aspect arányt), de az X szerver csak a
-<filename>/etc/X11/XF86Config</filename>
-(<filename>/etc/X11/XF86Config-4</filename> XFree 4.X.X esetén)
-fájlban elÅÃrt felbontásokra enged váltani.
-Ezeket modline-oknak nevezik és a videó hardvered tulajdonságain múlik.
-Az X szerver átnézi ezt a konfigurációs fájlt indÃtáskor és letiltja a
-hardverednek nem megfelelÅeket.
-Az X11 log fájlból kiderÃtheted, hogy mely módok engedélyezettek. Megtalálhatóak
-a <filename>/var/log/XFree86.0.log</filename> fájlban.
-</para>
-</formalpara>
-
-<para>
-Ezek a bejegyzések tudvalevÅleg működnek Riva128 chip-en, az nv.o X szerver
-vezérlŠmodul használatával.
-</para>
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA & MPLAYER</title>
-<para>
-A DGA két helyen használható az <application>MPlayer</application>ben: Az
-SDL vezérlÅnek elÅÃrhatod a használatát (<option>-vo sdl:driver=dga</option>)
-és a DGA vezérlÅben (<option>-vo dga</option>). A fent emlÃtettek vonatkoznak
-mind a kettÅre; a következÅ részben leÃrom, hogyan működik az
-<application>MPlayer</application> DGA vezérlÅje.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>TULAJDONSÃGOK</title>
-
-<para>
-A DGA vezérlŠhasználatát a <option>-vo dga</option> kapcsoló parancssorban
-történÅ megadásával Ãrhatod elÅ. Alapértelmezésként az videó eredeti
-felbontásához legközelebb álló felbontásra vált. Szándékosan figyelmen
-kÃvül hagyja a <option>-vm</option> és <option>-fs</option> kapcsolókat
-(videó mód váltás engedélyezése és teljes képernyÅ) - mindig a lehetÅ
-legtöbbet megpróbálja elfedni a képernyÅdbÅl a videó mód váltásával, Ãgy
-megspórolja a képméretezéshez szükséges plusz CPU ciklusokat. Ha nem
-tetszik az általa választott mód, kényszerÃtheted, hogy az általad megadott
-felbontáshoz legközelebbit keresse meg az <option>-x</option> és
-<option>-y</option> kapcsolókkal. A <option>-v</option> kapcsoló beÃrásának
-hatására a DGA vezérlŠsok egyéb mellett kilistázza az aktuális
-<filename>XF86Config</filename> fájl által támogatott összes felbontást.
-DGA2 használata esetén elÅÃrhatod a szÃnmélységet is a <option>-bpp</option>
-kapcsolóval. Az érvényes szÃnmélységek 15, 16, 24 és 32. A hardvereden
-múlik, hogy ezek a szÃnmélységek alapból támogatottak-e vagy (valószÃnűleg
-lassú) konverziót kell végezni.
-</para>
-</formalpara>
-<para>
-Ha vagy olyan szerencsés, hogy elegendÅ memóriád van az egész, nem képernyÅn
-lévŠkép bemásolásához, a DGA vezérlŠdupla bufferelést fog használni, ami
-egyenletesebb film lejátszást eredményez. KiÃrja, hogy a dupla bufferelés
-engedélyezett-e vagy sem.
-</para>
-
-<para>
-A dupla bufferelés azt jelenti,h ogy a videód következŠképkockája a memória
-egy nem megjelenÃtett részére másolódik, amÃg az aktuális képkocka van a
-képernyÅn. Ha kész a következÅ képkocka, a grafikus chip megkapja az új kép
-memóriabeli helyét, és egyszerűen onnan megjelenÃti a képet. Eközben a másik
-buffer ismét feltöltÅdik új videó adattal.
-</para>
-
-<para>
-A dupla bufferelés bekapcsolható a <option>-double</option> kapcsolóval, vagy
-letiltható a <option>-nodouble</option>-lal. A jelenlegi alapértelmezett
-beállÃtás szerint le van tiltva a dupla bufferelés. DGA vezérlÅ használata
-esetén az onscreen display (OSD) csak akkor működik, ha a dupla bufferelés
-engedélyezve van. Azonban a dupla bufferelés nagy sebességcsökkenéssel járhat
-(az én K6-II+ 525 gépemen további 20% CPU idÅ!) a hardvered DGA implementációjától
-függÅen.
-</para>
-
-
-<formalpara>
-<title>SEBESSÃGI ADATOK</title>
-
-<para>
-Ãltalánosságban a DGA framebuffer elérésének legalább olyan gyorsnak
-kell lennie, mint az X11-es vezérlÅnek a teljes képernyÅs képhez szükséges
-kiegészÃtÅk használatával. Az <application>MPlayer</application> által kiÃrt
-százalékos sebesség értékeket azonban fenntartással kezeld, mert például az
-X11-es vezérlÅ esetén nem tartalmazzák azt az idÅt, ami az X szervernek kell
-a kirajzoláshoz. Hurkold rá a terminált egy soros vonalra és indÃtsd el a
-<command>top</command> programot, akkor megtudod mi is történik valójában a
-dobozodban.
-</para>
-</formalpara>
-
-<para>
-Kijelenthetjük, hogy a DGA gyorsÃtása a 'normális' X11-es használathoz képest
-erÅteljesen függ a grafikus kártyádtól és hogy a hozzá tartozó X szerver modul
-mennyire optimalizált.
-</para>
-
-<para>
-Ha lassú rendszered van, jobb ha 15 vagy 16 bites szÃnmélységet használsz,
-mivel ezek fele akkora memória sávszélességet igényelnek, mint a 32 bites
-megjelenÃtés.
-</para>
-
-<para>
-A 24 bites szÃnmélység használata jó ötlet, ha a kártyád natÃvan támogatja a
-32 bites mélységet, mivel ez is 25%-kal kevesebb adatátvitelt jelent a 32/32
-módhoz képest.
-</para>
-
-<para>
-Láttam pár AVI fájlt 266-os Pentium MMX-en lejátszva. Az AMD K6-2 CPU-k is
-működnek 400 MHZ vagy afölött.
-</para>
-
-
-<formalpara>
-<title>ISMERT HIBÃK</title>
-
-<para>
-Nos, az XFree néhány fejlesztÅje szerint a DGA egy szörnyeteg. Åk azt mondják,
-jobb ha nem használod. Az implementációja nem mindig tökéletes az XFree-hez
-tartozó chipset vezérlÅkkel.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Az XFree 4.0.3 és az <filename>nv.o</filename> esetén van egy hiba, ami
- érdekes szÃneket eredményez.
-</para></listitem>
-<listitem><para>
- ATI vezérlŠesetén egynél többször kell visszaváltani a módot a DGA-s
- lejátszás után.
-</para></listitem>
-<listitem><para>
- Néhány vezérlŠegyszerűen képtelen visszaváltani normál felbontásra (használd a
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- és
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
- kombinációkat a kézi váltáshoz).
-</para></listitem>
-<listitem><para>
- Néhány vezérlÅ egyszerűen rossz szÃneket jelenÃt meg.
-</para></listitem>
-<listitem><para>
- Néhány vezérlÅ hamis adatot ad a processz cÃmterébe bemappolt memória méretérÅl,
- Ãgy a vo_dga nem használ dupla bufferelést (SIS?).
-</para></listitem>
-<listitem><para>
- Néhány vezérlŠegy használható módot sem jelez. Ebben az esetben a
- DGA vezérlŠösszeomlik és azt Ãrja, hogy 100000x100000-es értelmetlen mód
- vagy valami hasonló.
-</para></listitem>
-<listitem><para>
- Az OSD csak engedélyezett dupla buffereléssel működik (különben villog).
-</para></listitem>
-</itemizedlist>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>TELEPÃTÃS</title>
-<para>
-TelepÃtened kell az svgalib-et és a fejlesztÅi csomagjait ahhoz, hogy az
-<application>MPlayer</application> elkészÃtse az SVGAlib vezérlÅjét (automatikusan
-felismeri, de lehet kényszerÃteni is rá) és ne felejtsd el átÃrni a
-<filename>/etc/vga/libvga.config</filename> fájlt, hogy megfeleljen a kártyádnak
-és a monitorodnak.
-</para>
-</formalpara>
-
-<note><para>
-Ne használd a <option>-fs</option> kapcsolót, mert bekapcsolja a szoftveres
-méretezést és lassú. Ha tényleg szükség van rá, használd a
-<option>-sws 4</option> kapcsolót, ami rossz minÅséget ad, de valamivel gyorsabb.
-</para></note>
-
-<formalpara>
-<title>EGA (4BPP) TÃMOGATÃS</title>
-<para>
-Az SVGAlib tartalmazza az EGAlib-et és az <application>MPlayer</application> Ãgy
-képes bármely film 16 szÃnben történÅ megjelenÃtésére, lehetÅvé téve az alábbi
-beállÃtások használatát:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- EGA kártya EGA monitorral: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
-</para></listitem>
-<listitem><para>
- EGA kártya CGA monitorral: 320x200x4bpp, 640x200x4bpp
-</para></listitem>
-</itemizedlist>
-
-<para>
-A bpp (bit per pixel) értéket kézzel kell 4-re állÃtanod:
-<option>-bpp 4</option>
-</para>
-
-<para>
-A filmet valószÃnűleg át kell méretezni, hogy megfeleljen az EGA módnak:
-<screen>-vf scale=640:350</screen>
-or
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-Ehhez gyors, de rossz minÅséget produkáló méretezÅ rutin kell:
-<screen>-sws 4</screen>
-</para>
-
-<para>
-Talán az automatikus arány-javÃtást kikapcsolhatod:
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-A kÃsérleteimbÅl úgy tűnik, a legjobb képminÅség EGA monitorokon
-a világosság enyhe csökkentésével állÃtható elÅ:
-<option>-vf eq=-20:0</option>. Nálam szükséges volt az audió mintavételi
-ráta csökkentése is, mert a hang szétesett 44kHz-en:
-<option>-srate 22050</option>.
-</para></note>
-
-<para>
-Csak az <option>expand</option> szűrÅ segÃtségével tudod bekapcsolni a
-feliratokat és az OSD-t, lásd a man oldalt a megfelelŠparaméterekért.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="fbdev">
-<title>Framebuffer kimenet (FBdev)</title>
-
-<para>
-Az FBdev elkészÃtése automatikusan kiválasztódik a
-<filename>./configure</filename> során. Olvasd el a framebuffer dokumentációt
-a kernel forrásban (<filename>Documentation/fb/*</filename>) a bÅvebb
-információkért.
-</para>
-
-<para>
-Ha a kártyád nem támogatja a VBE 2.0 szabványt (régebbi ISA/PCI kártyák, mint
-például az S3 Trio64), csak a VBE 1.2-t (vagy régebbit?): Nos, a VESAfb még
-elérhetÅ, de be kell töltened a SciTech Display Doctor-t (egykori UniVBE),
-mielÅtt betöltenéd a Linuxot. Használj DOS boot lemezt vagy valamit. Ãs ne
-felejtsd el regisztrálni az UniVBE-det! ;))
-</para>
-
-<para>
-Az FBdev kimenetnek a fentiek mellett van néhány paramétere is:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- megadhatod a használni kÃvánt framebuffer eszközt (alapértelmezett: <filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- használni kÃvánt mód neve (a <filename>/etc/fb.modes</filename> fájlnak megfelelÅen)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- módokat tartalmazó konfigurációs fájl (alapértelmezett: <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- <emphasis role="bold">fontos</emphasis> értékek, lásd
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Ha egy különleges módra akarsz váltani, akkor Ãgy használd:
-<screen>
-mplayer -vm -fbmode <replaceable>mod_neve</replaceable> <replaceable>fajlnev</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- Magában a <option>-vm</option> kiválasztja a legmegfelelÅbb módot a
- <filename>/etc/fb.modes</filename> fájlból. Használható együtt a
- <option>-x</option> és <option>-y</option> kapcsolókkal is. A
- <option>-flip</option> kapcsoló csak akkor támogatott, ha a film pixel
- formátuma megfelel a videó mód pixel formátumának. Figyelj a bpp
- értékére, az fbdev vezérlŠaz aktuálisat próbálja meg használni, vagy
- ha megadsz valamit a <option>-bpp</option> kapcsolóval, akkor azt.
-</para></listitem>
-<listitem><para>
- A <option>-zoom</option> kapcsoló nem támogatott (használd a
- <option>-vf scale</option>-t). Nem használhatsz 8bpp (vagy kevesebb) módokat.
-</para></listitem>
-<listitem><para>
- ValószÃnűleg el szeretnéd tüntetni a kurzort:
- <screen>echo -e '\033[?25l'</screen>
- vagy
- <screen>setterm -cursor off</screen>
- és a képernyÅvédÅt:
- <screen>setterm -blank 0</screen>
- Kurzor visszakapcsolása:
- <screen>echo -e '\033[?25h'</screen>
- vagy
- <screen>setterm -cursor on</screen>
-</para></listitem>
-</itemizedlist>
-
-<note><para>
-Az FBdev videó mód váltása <emphasis>nem működik</emphasis> a VESA
-framebufferrel és ne is kérd, hogy működjön, mivel ez nem az
-<application>MPlayer</application> korlátja.
-</para></note>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="mga_vid">
-<title>Matrox framebuffer (mga_vid)</title>
-
-<para>
-Az <systemitem>mga_vid</systemitem> egy videó kimeneti vezérlŠés egy
-kernel modul kombinációja, ami felhasználja a Matrox G200/G400/G450/G550
-videó méretezÅ/overlay egységét a YUV->RGB szÃntér átalakÃtáshoz és tetszés
-szerinti videó méretezéshez.
-Az <systemitem>mga_vid</systemitem>-ben van hardveres VSYNC támogatás tripla
-buffereléssel. Működik mind a framebuffer konzolon, mind X alatt, de csak
-2.4.x-es Linux-szal.
-</para>
-
-<para>
-Ezen vezérlŠLinux 2.6.x alatti verziója itt található:
-<ulink url="http://attila.kinali.ch/mga/"/> vagy nézz rá az mga_vid külsÅ
-Subversion repository-jára, melyet checkout-olhatsz Ãgy:
-
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mga_vid
-</screen>
-</para>
-
-<procedure>
-<title>TelepÃtés:</title>
-<step><para>
- A használatához elÅször le kell fordÃtanod a <filename>drivers/mga_vid.o</filename> fájt:
- <screen>
-make drivers<!--
---></screen>
-</para></step>
-<step><para>
- Ezután futtasd (<systemitem class="username">root</systemitem>-ként) a
- <screen>make install-drivers</screen>
- parancsot, ami telepÃti a modult és létrehozza az eszköz node-ját neked.
- Töltsd be a vezérlÅt
- <screen>insmod mga_vid.o</screen>
-</para></step>
-<step><para>
- EllenÅrizd a memória méret detektálását a <command>dmesg</command>
- parancs segÃtségével. Ha hibásan Ãrja, használd a
- <option>mga_ram_size</option> kapcsolót
- (elÅtte <command>rmmod mga_vid</command>),
- a kártya memóriájának MB-ban történŠmegadásához:
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
-</para></step>
-<step><para>
- Az automatikus betöltéshez/törléshez elÅször Ãrd be ezt a sort a
- <filename>/etc/modules.conf</filename> fájlod végére:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-</para></step>
-<step><para>
- Ezekután le kell fordÃtanod (újra) az <application>MPlayer</application>t, a
- <command>./configure</command> meg fogja találni a
- <filename>/dev/mga_vid</filename>-et és elkészÃti az 'mga' vezérlÅt. Az
- <application>MPlayer</application>ben a <option>-vo mga</option> kapcsolóval
- használhatod, ha matroxfb konzolod van vagy a <option>-vo xmga</option>-val
- XFree86 3.x.x vagy 4.x.x alatt.
-</para></step>
-</procedure>
-
-<para>
-Az mga_vid vezérlŠegyüttműködik az Xv-vel.
-</para>
-
-<para>
-A <filename>/dev/mga_vid</filename> eszköz fájlt megnézheted némi infóért
-például a
-<screen>cat /dev/mga_vid</screen>
-segÃtségével és beállÃthatod a fényerÅsséget:
-<screen>echo "brightness=120" > /dev/mga_vid</screen>
-</para>
-
-<para>
-Van egy <command>mga_vid_test</command> nevű teszt alkalmazás ugyan ebben a
-könyvtárban. Ha minden jól működik, akkor 256x256-os képeket rajzol a képernyÅre.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>3Dfx YUV támogatás</title>
-
-<para>
-Ez a vezérlÅ a kernel tdfx framebuffer vezérlÅjét használja a filmek
-YUV gyorsÃtásával történÅ lejátszásához. Kell hozzá egy kernel tdfxfb
-támogatással, és egy újrafordÃtás a
-<screen>./configure --enable-tdfxfb</screen>
-paranccsal.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfx_vid">
-<title>tdfx_vid</title>
-
-<para>
-Ez a Linux kernel moduljainak és egy videó kimeneti vezérlÅnek a
-kombinációja, hasonlóan az <link linkend="mga_vid">mga_vid</link>-hez.
-2.4.x kernel kell hozzá az <systemitem>agpgart</systemitem>
-vezérlÅvel, mivel a <systemitem>tdfx_vid</systemitem> AGP-t használ.
-Add meg a <option>--enable-tdfxfb</option> a <command>configure</command>-nak
-a videó kimeneti vezérlÅ elkészÃtéséhez és készÃts egy kernel modult
-az alábbi utasÃtások alapján.
-</para>
-
-<procedure>
-<title>A tdfx_vid.o kernel modul telepÃtése:</title>
-<step><para>
- FordÃtsd le a <filename>drivers/tdfx_vid.o</filename> fájlt:
- <screen>
-make drivers</screen>
-</para></step>
-<step><para>
- Ezután futtasd (<systemitem class="username">root</systemitem>-ként) a
- <screen>make install-drivers</screen>
- parancsot, ami telepÃti a modult és létrehozza az eszköz node-ját neked.
- Töltsd be a vezérlÅt
- <screen>insmod tdfx_vid.o</screen>
-</para></step>
-<step><para>
- A szükség esetén történÅ automatikus betöltéshez/törléshez, elÅször szúrd
- be ezt a sort a <filename>/etc/modules.conf</filename> fájl végére:
-
- <programlisting>alias char-major-178 tdfx_vid</programlisting>
-</para></step>
-</procedure>
-
-<para>
-Van egy <command>tdfx_vid_test</command> nevű teszt alkalmazás ugyan ebben a
-könyvtárban. Ha minden jól működik, néhány hasznos információt jelenÃt meg.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="opengl">
-<title>OpenGL kimenet</title>
-
-<para>
-Az <application>MPlayer</application> támogatja a filmek OpenGL-lel történÅ
-megjelenÃtését is, de ha a platformod/vezérlÅd támogatja az Xv-t, inkább azt
-használd PC-n Linux-szal, az OpenGL teljesÃtménye észrevehetÅen gyengébb. Ha
-Xv támogatás nélküli X11-ed van, az OpenGL jó alternatÃva lehet.
-</para>
-
-<para>
-Sajnos nem minden vezérlÅ támogatja ezt a tulajdonságot. A Utah-GLX vezérlÅk
-(az XFree86 3.3.6-hoz) minden kártya esetén támogatják.
-Lásd a <ulink url="http://utah-glx.sf.net"/> oldalt a részletes telepÃtési
-leÃráshoz.
-</para>
-
-<para>
-Az XFree86(DRI) 4.0.3 vagy késÅbbi támogatja az OpenGL-t Matrox és Radeon
-kártyákkal, a 4.2.0 vagy késÅbbi Rage128-cal.
-Lásd a <ulink url="http://dri.sf.net"/> oldalt a letöltéshez és a telepÃtési
-utasÃtásokért.
-</para>
-
-<para>
-Egy felhasználónk tanácsa: a GL videó kimenetet függÅlegesen szinkronizált
-TV kimenet elÅállÃtásához is felhasználhatod. Csak be kell állÃtanod egy
-környezeti változót (legalábbis az nVidia-n):
-</para>
-
-<para>
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="aalib">
-<title>AAlib – szöveges módú megjelenÃtés</title>
-
-<para>
-Az AAlib egy függvény könyvtár grafika karakteres módban történÅ megjelenÃtéséhez,
-egy nagyszerű ASCII renderelÅ segÃtségével. Már jelenleg is <emphasis>rengeteg</emphasis>
-program támogatja, például a Doom, Quake, stb. Az <application>MPlayer</application>ben
-is van egy roppant jól használható vezérlŠhozzá. Ha a <filename>./configure</filename>
-talál telepÃtett aalib-et, az aalib libvo vezérlÅ alapértelmezett lesz.
-</para>
-
-<para>
-Pár billentyű segÃtségével állÃthatod a renderelési opciókat az AA Ablakban:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Gomb</entry><entry>Művelet</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- kontraszt csökkentése
-</entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- kontraszt növelése
-</entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- fényerŠcsökkentése
-</entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- fényerŠnövelése
-</entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- gyors renderelés be/kikapcsolása
-</entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- dithering módjának beállÃtása (nincs, hiba eloszlás, Floyd Steinberg)
-</entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- kép megfordÃtása
-</entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- váltás az aa és az <application>MPlayer</application> vezérlése között
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>A következŠparancssori kapcsolókat használhatod:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- OSD szÃnének megváltoztatása
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- Felirat szÃnének megváltoztatása
- </para><para>
- ahol a <replaceable>V</replaceable> lehet:
- <literal>0</literal> (normális),
- <literal>1</literal> (sötét),
- <literal>2</literal> (vastag),
- <literal>3</literal> (félkövér betű),
- <literal>4</literal> (ellentétes),
- <literal>5</literal> (speciális).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Maga az AAlib számtalan lehetÅséget biztosÃt. Itt van pár fontosabb:</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- BeállÃtja a javasolt aa vezérlÅt (X11, curses, Linux).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- Mind a 256 karakter használata.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- Nyolc bites ASCII.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- KiÃrja az összes aalib kapcsolót.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note><para>
-A renderelés nagyon CPU igényes, különösen ha AA-on-X-et
-(aalib használata X alatt) használsz, a legalacsonyabb a standard,
-nem framebuffer-es konzolon. Használd az SVGATextMode-ot a nagy
-felbontás beállÃtásához, és élvezd! (másodlagos Hercules kártyák a
-sirályak :)) (de SZVSZ használhatod a
-<option>-vf 1bpp</option> kapcsolót is a hgafb-en megjelenŠgrafikához :)
-</para></note>
-
-<para>
-A <option>-framedrop</option> kapcsoló használatát javasoljuk, ha nem
-elég gyors a géped az összes képkocka rendeléséhez!
-</para>
-
-<para>
-Terminálon lejátszva jobb sebességet és minÅséget kapsz a Linux vezérlÅvel,
-mint a curses-szal (<option>-aadriver linux</option>). De ehhez Ãrási joggal
-kell rendelkezned a <filename>/dev/vcsa<replaceable><terminal></replaceable></filename>
-fájlhoz! Ezt az aalib nem ismeri fel magától, de a vo_aa megpróbálja
-megtalálni a legjobb módot.
-Lásd a <ulink url="http://aa-project.sf.net/tune"/> oldalt a további
-tuningolási dolgokhoz.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="caca">
-<title>
-<systemitem class="library">libcaca</systemitem> - SzÃnes ASCII Art függvénykönyvtár
-</title>
-
-<para>
-A <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
-függvénykönyvtár egy grafikus könyvtár, ami szöveget jelenÃt meg pixelek helyett, Ãgy
-működik régebbi videó kártyákkal vagy szöveges terminálokon is. Hasonló a népszerű
-<systemitem class="library">AAlib</systemitem> könyvtárhoz.
-A <systemitem class="library">libcaca</systemitem>-nak egy terminál kell a működéshez, Ãgy
-bármilyen Unix rendszeren (beleértve a Mac OS X-et) működik, vagy a
-<systemitem class="library">slang</systemitem> vagy az
-<systemitem class="library">ncurses</systemitem> vagy DOS alatt a
-<systemitem class="library">conio.h</systemitem> illetve Windows rendszereken
-akár a <systemitem class="library">slang</systemitem> vagy az
-<systemitem class="library">ncurses</systemitem> (Cygwin emuláción keresztül) vagy
-a <systemitem class="library">conio.h</systemitem> könyvtárak használatával. Ha
-a <filename>./configure</filename>
-megtalálja a <systemitem class="library">libcaca</systemitem>-t, a caca libvo vezérlÅ
-elkészül.
-</para>
-
-<itemizedlist>
-<title>A különbség az <systemitem class="library">AAlib</systemitem>-hez képest
- a következÅek:</title>
-<listitem><para>
- 16 elérhetÅ szÃn a karakter kimenetre (256 szÃnű párok)
-</para></listitem>
-<listitem><para>
- szÃnes kép dithering
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>De a <systemitem class="library">libcaca</systemitem>-nak megvan az
- alábbi korlátja:</title>
-<listitem><para>
- nincs fényerÅ, kontraszt és gamma támogatás
-</para></listitem>
-</itemizedlist>
-
-<para>
-Pár billentyűvel szabályozhatod a caca ablakban a renderelés opcióit:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Gomb</entry><entry>Művelet</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- Váltás a <systemitem class="library">libcaca</systemitem> dithering metódusai között.
-</entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- A <systemitem class="library">libcaca</systemitem> antialiasing ki-/bekapcsolása.
-</entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- A <systemitem class="library">libcaca</systemitem> háttérbe küldése.
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>A <systemitem class="library">libcaca</systemitem> figyel pár
- környezeti változót is:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- ÃllÃtsd be a javasolt caca vezérlÅt, pl. ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (csak X11)</option></term>
- <listitem><para>
- Megadja a sorok és oszlopok számát, pl. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (csak X11)</option></term>
- <listitem><para>
- Megadja a használni kÃvánt betűtÃpust, pl. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Használd a <option>-framedrop</option> kapcsolót ha a számÃtógéped nem elég
-gyors az összes képkocka rendeléséhez.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vesa">
-<title>VESA - kimenet a VESA BIOS-hoz</title>
-
-<para>
-Ezt a vezérlÅt egy <emphasis role="bold">általános vezérlÅként</emphasis>
-terveztük meg és vezettük be bármilyen, VESA VBE 2.0 kompatibilis BIOS-szal
-rendelkezÅ monitorkártya esetében. A másik elÅnye ennek a vezérlÅnek, hogy
-megpróbálja használni a TV kimenetet.
-<citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Dátum: 1998. szeptember 16.
-</citetitle> (70. oldal) ezt Ãrja:
-</para>
-
-<blockquote>
-<formalpara><title>Duál-VezérlÅs Tervezés</title>
-<para>
-A VBE 3.0 támogatja a duál-vezérlÅs tervezést, feltételezve hogy általában
-mindkét vezérlÅt ugyanaz az OEM biztosÃtja, egy BIOS ROM vezérlésével
-ugyan azon a grafikus kártyán, lehetséges az alkalmazás számára elrejteni
-azt a tényt, hogy valójában két vezérlŠvan jelen. Ez ugyan megakadályozza
-a vezérlÅk egyidejűleg történÅ egyedi használatát, azonban lehetÅvé teszi
-a VBE 3.0 elÅtt kiadott alkalmazások normális működését. A 00h VBE funció
-(VezérlŠinformációkkal tér vissza) a két vezérlŠkombinált információit
-adja vissza, beleértve a használható módok kombinált listáját. Ha az
-alkalmazás kiválaszt egy módot, a megfelelŠvezérlŠaktiválódik. Az összes
-többi VBE funkció ezután az aktÃv vezérlÅvel dolgozik.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-Ãgy van esélyed a TV kimenet használatára ezzel a vezérlÅvel.
-(Gondolom a TV-out legtöbbször legalább egyedülálló fej vagy egyedüli kimenet.)
-</para>
-
-<itemizedlist spacing="compact">
-<title>ELÅNYÃK</title>
-<listitem><para>
- Van esélyed a film nézésre akkor is <emphasis role="bold">ha a Linux nem ismeri</emphasis>
- a videó hardveredet.
-</para></listitem>
-<listitem><para>
- Nem kell telepÃtened semmiféle grafikus dolgot a Linuxodra (mint pl. X11 (AKA XFree86),
- fbdev és Ãgy tovább). Ez a vezérlÅ fut <emphasis role="bold">szöveges-módban</emphasis>.
-</para></listitem>
-<listitem><para>
- Jó eséllyel <emphasis role="bold">működŠTV-kimenetet</emphasis> kapsz.
- (Legalábbis az ATI kártyákon).
-</para></listitem>
-<listitem><para>
- Ez a vezérlÅ meghÃvja az <function>int 10h</function> kezelÅt Ãgy nem
- emulátor - <emphasis role="bold">igazi</emphasis> dolgokat hÃv az
- <emphasis>igazi</emphasis> BIOS-ban <emphasis>valós-módban</emphasis>
- (valójában vm86 módban).
-</para></listitem>
-<listitem><para>
- Használhatod a VIDIX-et vele, Ãgy gyorsÃtott videó megjelenÃtést kapsz
- <emphasis role="bold">és</emphasis> TV kimenetet egy idÅben!
- (Javasolt az ATI kártyákhoz.)
-</para></listitem>
-<listitem><para>
- Ha VESA VBE 3.0+-od van, és megadtad a
- <option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option>-ot valahol
- (konfigurációs fájlban vagy paranccsorban), a lehetÅ legjobb frissÃtési rátát kapod.
- (Ãltalános IdÅzÃtÅ Formulát használva). Ezen képesség engedélyezéséhez meg kell adnod
- a monitorod <emphasis role="bold">összes</emphasis> opcióját.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>HÃTRÃNYOK</title>
-<listitem><para>
- Csak <emphasis role="bold">x86 rendszereken</emphasis> működik.
-</para></listitem>
-<listitem><para>
- Csak a <systemitem class="username">root</systemitem> használhatja.
-</para></listitem>
-<listitem><para>
- Jelenleg csak <emphasis role="bold">Linux</emphasis> alatt elérhetÅ.
-</para></listitem>
-</itemizedlist>
-
-<variablelist>
-<title>A VESA PARANCSSORI KAPCSOLÃI</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
- <listitem><para>
- jelenleg felismert: <literal>dga</literal> a dga mód használatához és
- <literal>nodga</literal> a dga mód letiltásához. A dga módban engedélyezheted
- a dupla bufferelést a <option>-double</option> kapcsolóval. Megjegyzés: ezen
- paraméterek elhagyásával engedélyezed a dga mód <emphasis role="bold">automatikus
- detektálását</emphasis>.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>ISMERT PROBLÃMÃK ÃS MEGOLDÃSAIK</title>
-<listitem><para>
- Ha telepÃtettél <emphasis role="bold">NLS</emphasis> betűtÃpust a Linux rendszeredre
- és VESA vezérlÅt használsz szöveges-módban, akkor az <application>MPlayer</application>bÅl
- való kilépés után a <emphasis role="bold">ROM betűtÃpusa</emphasis> lesz betöltve a nemzeti
- helyett.
- A nemzeti betűkészletet újra betöltheted pl. a Mandrake/Mandriva disztribúcióban
- található <command>setsysfont</command> nevű segédprogram használatával.
- (<emphasis role="bold">Tanács</emphasis>: Ugyan ez a segédprogram használható az
- fbdev honosÃtására is).
-</para></listitem>
-<listitem><para>
- Some <emphasis role="bold">Linux graphics drivers</emphasis> don't update
- active <emphasis role="bold">BIOS mode</emphasis> in DOS memory.
- Tehát ha ilyen problémáid vannak - mindig csak <emphasis role="bold">szöveges módban</emphasis>
- használd a VESA vezérlÅt. Különben a szöveges mód (#03) aktiválódik mindenképp
- és újra kell indÃtanod a számÃtógépedet.
-</para></listitem>
-<listitem><para>
- Gyakran a VESA vezérlŠbezárása után
- <emphasis role="bold">fekete</emphasis> képernyÅt kapsz. Hogy visszaállÃtsd
- a képernyÅdet az eredeti állapotába - egyszerűen csak válts át másik
- konzolra (az <keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>
- gombok megnyomásával) majd válts vissza ugyanÃgy.
-</para></listitem>
-<listitem><para>
- A <emphasis role="bold">működŠTV kimenethez</emphasis> be kell dugnod a
- TV-csatlakozót mielÅtt betöltene a PC-d, mivel a videó BIOS csak egyszer,
- a POST eljárás során inicializálja magát.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="x11">
-<title>X11</title>
-
-<para>
-Ha lehet, kerüld el! Az X11-es kimenetnek (megosztott memória kiterjesztést használnak),
-nincs semmilyen hardveres támogatásuk. Tudja ugyan (MMX/3DNow/SSE által gyorsÃtva, de
-Ãgy is lassan) a szoftveres méretezést, használhatod a <option>-fs -zoom</option>
-kapcsolókat. A legtöbb hardverben benne van a hardveres méretezés támogatása, használd
-a <option>-vo xv</option> kimenetet hozzá vagy a <option>-vo xmga</option>-t a Matrox
-kártyákhoz.
-</para>
-
-<para>
-A probléma az, hogy a legtöbb kártya vezérlÅje nem támogatja a hardveres
-gyorsÃtást a második fejen/TV-n. Ezekben az esetekben zöld/kék szÃnű
-ablakot látsz a film helyett. Az ilyen esetekben jön jól ez a vezérlÅ,
-de erÅs CPU-val kell rendelkezned a szoftveres méretezés használatához.
-Ne használd az SDL vezérlÅ szoftveres kimenetét+méretezÅjét, annak még
-rosszabb a képminÅsége!
-</para>
-
-<para>
-A szoftveres méretezés nagyon lassú, jobb, ha megpróbálsz videó módot váltani
-inkább. Az egyszerűbb. Lásd a <link linkend="dga-modelines">DGA rész
-modeline-jait</link>, és Ãrd be Åket az <filename>XF86Config</filename>
-fájlba.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- Ha XFree86 4.x.x-ed van: használd a <option>-vm</option> kapcsolót. Ez átvált
- egy olyan felbontásra, amin elfér a film. Ha mégsem:
-</para></listitem>
-<listitem><para>
- XFree86 3.x.x-szel: körkörösen végigmehetsz az elérhetŠfelbontásokon
- a
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- és
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
- gombokkal.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Ha nem találod a beszúrt módokat, nézd át az XFree86 kimenetét. Néhány
-vezérlŠnem tud alacsony pixelclock-ot használni, ami szükséges az alacsony
-felbontású videó módokhoz.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vidix">
-<title>VIDIX</title>
-
-<formalpara><title>BEVEZETÃS</title>
-<para>
-A <acronym>VIDIX</acronym> a
-<emphasis role="bold">VID</emphasis>eo
-<emphasis role="bold">I</emphasis>nterface
-for *ni<emphasis role="bold">X</emphasis> rövidÃtése.
-A VIDIX-et egy felhasználói térben használható vezérlÅként tervezték és
-mutatták be, mely olyan videó teljesÃtményt nyújt, mint az mga_vid a
-Matrox kártyákon. Ráadásul könnyen portolható.
-</para>
-</formalpara>
-
-<para>
-Ezt az interfészt úgy tervezték meg, hogy illeszkedjen a már létezŠvideó
-gyorsÃtó interfészekhez (mga_vid, rage128_vid, radeon_vid, pm3_vid) egy
-állandó sémával. Magas szintű interfészt biztosÃt a BES (BackEnd Scalers)
-néven ismert chip-ekhez vagy az OV-hoz (Video Overlays). Nem nyújt a
-grafikus szerverekhez hasonló alacsony szintű interfészt. (Nem akarok
-versenyezni a z X11 csapattal a grafikus mód váltásban). Pl. ezen
-interfész fŠcélja a videó lejátszás sebességének maximalizálása.
-</para>
-
-<itemizedlist spacing="compact">
-<title>HASZNÃLAT</title>
-<listitem><para>
- Használhatsz egyedülálló videó kimeneti vezérlÅt: <option>-vo xvidix</option>.
- Ez a vezérlŠa VIDIX-es technológia X11-es front end-je. X szerver kell hozzá
- és csak X szerverrel működik. Jegyezd meg, hogy mivel közvetlenül éri el a
- hardvert az X vezérlÅ megkerülésével, a grafikus kártya memóriájában lévÅ
- pixmap-ok sérülhetnek. Ezt elkerülheted az X által használt videó memória
- korlátozásával, amit az XF86Config "VideoRam" opciójával adhatsz meg az
- eszköz részben. Ajánlott ezt a kártyádon lévÅ memória mÃnusz 4 MB-ra állÃtani.
- Ha kevesebb, mint 8 MB videó ram-od van, akkor ehelyett használhatod az
- "XaaNoPixmapCache" opciót a képernyŠrészben.
-</para></listitem>
-<listitem>
- <para>
- Van egy konzolos VIDIX vezérlÅ: <option>-vo cvidix</option>.
- Ehhez egy működŠés inicializált frambuffer kell a legtöbb kártyánál (vagy
- különben csak összeszemeteled a képernyÅd), és hasonló eredményt kapsz, mint
- a <option>-vo mga</option> vagy <option>-vo fbdev</option> kapcsolókkal. Az
- nVidia kártyák azonban képesek tényleges grafikus kimenetre igazi szöveges
- konzolon. Lásd az <link linkend="vidix-nvidia">nvidia_vid</link> részt a
- további információkért. Hogy megszabadulj a határoló szövegektÅl és a
- villogó kurzortól, próbálj ki valami ilyesmit:
- </para>
-
- <screen>setterm -cursor off > /dev/tty9</screen>
-
- <para>
- (feltéve, hogy a <systemitem>tty9</systemitem> eddig nem volt használva)
- és ezután válts a <systemitem>tty9</systemitem>-re.
- Másrész a <option>-colorkey 0</option>-t ajánlott megadni egy "háttérben"
- futó videónál, mivel a helyes működése a colorkey funkcionalÃtásától
- függ.
- </para>
-</listitem>
-<listitem><para>
- Használhatod a VIDIX aleszközt, ami számos videó kimeneti vezérlÅvel együtt használható,
- például: <option>-vo vesa:vidix</option>
- (<emphasis role="bold">csak Linux</emphasis>) és
- <option>-vo fbdev:vidix</option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Igazából nem számÃt, hogy melyik videó kimeneti vezérlÅt használod együtt a
-<emphasis role="bold">VIDIX</emphasis>-szel.
-</para>
-
-<itemizedlist spacing="compact">
-<title>KÃVETELMÃNYEK</title>
-<listitem><para>
- A videó kártyának grafikus módban kell lennie (kivéve az nVidia kártyákat a
- <option>-vo cvidix</option> kimeneti vezérlÅvel).
-</para></listitem>
-<listitem><para>
- Az <application>MPlayer</application> videó kimeneti vezérlÅnek tudnia kell
- aktiválni a videó módot és információkat kell tudnia átadni a VIDIX aleszköznek
- a szerver videó karakterisztikájáról.
-</para></listitem>
-</itemizedlist>
-
-<formalpara>
-<title>HASZNÃLATI MÃDOK</title>
-<para>
-Ha a VIDIX-et <emphasis role="bold">aleszközként</emphasis> használod (<option>-vo
-vesa:vidix</option>), akkor a videó mód konfigurációt a videó kimeneti vezérlÅ
-(röviden <emphasis role="bold">vo_server</emphasis>) végzi. Ezért az
-<application>MPlayer</application> parancssorában ugyan azokat a kulcsokat
-használhatod, mint a vo_server-rel. Ráadásul ismeri a <option>-double</option>
-kulcsot mint globálisan látható paramétert. (Javaslom ezen kulcs VIDIX-szel
-történŠhasználatát legalább az ATI kártyával). Ami a <option>-vo xvidix</option>-et
-illeti, most csak a következŠkapcsolókat ismeri: <option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-
-<para>
-A parancssorban harmadik alkapcsolóként megadhatod közvetlenül a VIDIX vezérlÅjét:
-<screen>
-mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>file.avi</replaceable>
-</screen>
-vagy
-<screen>
-mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>file.avi</replaceable>
-</screen>
-De ez veszélyes, inkább ne használd. Ebben az esetben a megadott vezérlÅ
-lesz kényszerÃtve, Ãgy az eredmény megjósolhatatlan
-(<emphasis role="bold">lefagyaszthatja</emphasis> a számÃtógéped). CSAK akkor
-csinálj ilyet, ha teljesen biztos vagy benne, hogy működik és az
-<application>MPlayer</application> nem teszi meg automatikusan. Ez esetben
-kérjük jelezd ezt a fejlesztÅknek is. A helyes módszer a VIDIX argumentumok
-nélküli használata, és Ãgy az automatikus detektálás engedélyezése.
-</para>
-
-
-<sect2 id="svgalib_helper">
-<title>svgalib_helper</title>
-
-<para>
-Mivel a VIDIX-nek direkt hardver elérés kell, futtathatod root-ként vagy
-beállÃthatod a SUID bit-et az <application>MPlayer</application> binárisán
-(<emphasis role="bold">Figyelem: Ez biztonsági kockázatot jelent!</emphasis>).
-AlternatÃvaként használhatsz egy speciális kernel modult, Ãgy:
-</para>
-
-<procedure>
-<step><para>
- Töltsd le az svgalib (pl. 1.9.x-es)
- <ulink url="http://www.arava.co.il/matan/svgalib/">fejlesztÅi verzióját</ulink>.
-</para></step>
-<step><para>
- FordÃtsd le a modult az
- <filename class="directory">svgalib_helper</filename> könyvtárban (az
- <filename class="directory">svgalib-1.9.17/kernel/</filename> könyvtáron
- belül található, ha az svgalib oldaláról töltötted le a forrást) és insmod-old.
-</para></step>
-<step><para>
- A <filename class="directory">/dev</filename> könyvtárban a megfelelÅ
- eszközök létrehozásához add ki a
- <screen>make device</screen> parancsot az
- <filename class="directory">svgalib_helper</filename> könyvtárban rootként.
-</para></step>
-<step><para>
- Ezután futtasd le a <filename>configure</filename>-t újra és add meg neki a
- <option>--enable-svgalib_helper</option> és a
- <option>--extra-cflags=<replaceable>/eleresi/ut/svgalib_helper/forrasahoz/</replaceable>kernel/svgalib_helper</option>
- paramétereket, ahol a <replaceable>/eleresi/ut/svgalib_helper/forrasahoz/</replaceable> könyvtárat
- az svgalib_helper kicsomagolt forrását tartalmazó könyvtárnak megfelelÅen kell beállÃtani.
-</para></step>
-<step><para>
- Forgass újra.
-</para></step>
-</procedure>
-</sect2>
-
-
-<sect2 id="vidix-ati">
-<title>ATI kártyák</title>
-
-<para>
-Jelenleg a legtöbb ATI kártya natÃvan támogatott, a Mach64-tÅl a
-legújabb Radeonokig.
-</para>
-
-<para>
-Két lefordÃtott bináris van: <filename>radeon_vid</filename> a Radeonhoz és
-<filename>rage128_vid</filename> a Rage 128 kártyákhoz. ElÅÃrhatsz egyet vagy
-hagyhatod a VIDIX rendszernek automatikusan kipróbálni az összes elérhetÅ vezérlÅt.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-mga">
-<title>Matrox kártyák</title>
-
-<para>
-A Matrox G200, G400, G450 és G550 működik a jelentések szerint.
-</para>
-
-<para>
-A vezérlŠtámogatja a videó equalizereket és majdnem olyan gyors, mint a
-<link linkend="mga_vid">Matrox framebuffer</link>.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-trident">
-<title>Trident kártyák</title>
-
-<para>
-Van egy vezérlŠa Trident Cyberblade/i1 chipset-hez, ami
-a VIA Epia alaplapokon található.
-</para>
-
-<para>
-A vezérlÅt
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>
-Ãrta és tartja karban.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-3dlabs">
-<title>3DLabs kártyák</title>
-
-<para>
-Habár van vezérlŠa 3DLabs GLINT R3 és Permedia3 chip-ekhez, senki sem
-tesztelte le, Ãgy örömmel fogadjuk a jelentéseket.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-nvidia">
-<title>nVidia kártya</title>
-
-<para>
-Egy egyedülálló tulajdonsága az nvidia_vid vezérlÅnek a
-<emphasis role="bold">sima, egyszerű, csak szöveges konzolon</emphasis> történÅ
-videó megjelenÃtés - framebuffer vagy X varázslat és egyebek nélkül. Ehhez a
-<option>cvidix</option> videó kimenetet kell használni, amint az itt látható:
-<screen>mplayer -vo cvidix <replaceable>pelda.avi</replaceable></screen>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-sis">
-<title>SiS kártyák</title>
-
-<para>
-Ez nagyon kÃsérleti kód, csakúgy mint az nvidia_vid.
-</para>
-
-<para>
-Tesztelték SiS 650/651/740-en (a leggyakrabban használt SiS chipset verziók
-a "Shuttle XPC" dobozokban).
-</para>
-
-<para>
-Várjuk a visszajelzéseket!
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="directfb">
-<title>DirectFB</title>
-
-<blockquote><para>
-"A DirectFB egy grafikus függvénykönyvtár, amit a beágyazott rendszereket szem elÅtt
-tartva terveztek meg. Maximális hardver gyorsÃtási teljesÃtményt ad minimális erÅforrás
-felhasználással és terheléssel." - idézet a
-<ulink url="http://www.directfb.org"/> oldalról.
-</para></blockquote>
-
-<para>Ki fogom hagyni a DirectFB tulajdonságokat ebbÅl a fejezetbÅl.</para>
-
-<para>
-Mivel az <application>MPlayer</application> nem támogatott, mint "video
-provider" a DirectFB-ben, ez a kimeneti vezérlŠengedélyezi a videó
-lejátszást DirectFB-n keresztül. Természetesen gyorsÃtott lesz, az én
-Matrox G400-amon a DirectFB sebessége majdnem megegyezik az XVideo-éval.
-</para>
-
-<para>
-Mindig próbáld meg a DirectFB legújabb verzióját használni. Megadhatsz
-DirectFB opciókat a parancssorban a <option>-dfbopts</option> kapcsoló használatával.
-A réteg választás egy aleszköz módszerével történhet, pl.: <option>-vo directfb:2</option>
-(-1-es réteg az alapértelmezett: automatikus keresés)
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-
-<para>
-Kérjük olvasd el a <link linkend="directfb">fŠDirectFB</link> részt az
-általános információkért.
-</para>
-
-<para>
-Ez a videó kimeneti vezérlŠengedélyezi a CRTC2-t (a második fejen) a Matrox
-G400/G450/G550 kártyákon, a videót az elsÅ fejtÅl
-<emphasis role="bold">függetlenül</emphasis> jelenÃtve meg.
-</para>
-
-<para>
-Ville Syrjala-nak van egy
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>-je
-és egy
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>-ja
-a weboldalán, ami leÃrja, hogy hogyan hozhatod működésbe a DirectFB TV kimenetet a Matrox kártyákon.
-</para>
-
-<note><para>
-Az elsÅ DirectFB verzió, amit működésre tudtunk bÃrni a
-0.9.17 volt (hibás, kell hozzá az a <systemitem>surfacemanager</systemitem>
-javÃtás a fenti URL-rÅl). A CRTC2 kód portolását az
-<link linkend="mga_vid">mga_vid</link>-be évekig terveztük, a
-<ulink url="../../tech/patches.txt">javÃtásokat</ulink> szÃvesen fogadjuk.
-</para></note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpeg_decoders">
-<title>MPEG dekóderek</title>
-
-<sect2 id="dvb">
-<title>DVB kimenet és bemenet</title>
-
-<para>
-Az <application>MPlayer</application> támogatja a Siemens DVB chipset-tel szerelt
-kártyákat olyan gyártóktól, mint a Siemens, Technotrend, Galaxis vagy a Hauppauge. A
-legújabb DVB vezérlÅk elérhetÅek a
-<ulink url="http://www.linuxtv.org">Linux TV oldalról</ulink>.
-Ha szoftveres átkódolást akarsz csinálni, legalább egy 1GHz-es CPU-ra lesz szükséged.
-</para>
-
-<para>
-A configure megtalálja a DVB kártyádat. Ha mégsem, kényszerÃtheted:
-<screen>./configure --enable-dvb</screen>
-Majd fordÃts és telepÃts, mint rendesen.</para>
-
-<formalpara><title>HASZNÃLAT</title>
-<para>
-A hardveres dekódolás szabványos MPEG-1/2 videó folyamot és/vagy MPEG audiót tartalmazó
-fájlok esetén elvégezhetŠezzel a paranccsal:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>file.mpg|vob</replaceable>
-</screen>
-</para>
-</formalpara>
-
-<para>
-Bármilyen más tÃpusú videó folyam esetén MPEG-1-be történŠátkódolás szükséges, ezért
-lassú és nem éri meg a veszÅdést, különösen ha lassú a géped.
-Egy ehhez hasonló paranccsal végezhetŠel:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>yourfile.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>yourfile.ext</replaceable>
-</screen></para>
-
-<para>
-Figyelj rá, hogy a DVB kártyák PAL esetén csak a 288-as és 576-os, NTSC esetén
-a 240-es és 480-as magasságokat ismerik. <emphasis role="bold">Muszáj</emphasis>
-átméretezned más magassághoz a <option>scale=szélesség:magasság</option>
-kapcsolóval és a kÃvánt szélesség és magasság megadásával a <option>-vf</option>
-kapcsolónál. A DVB kártyák számos szélességet elfogadnak, mint például 720, 704,
-640, 512, 480, 352 stb. és hardveres méretezést alkalmaznak vÃzszintes irányban,
-Ãgy a legtöbb esetben nem kell vÃzszintesen méretezned. Egy 512x384 (4:3 arányú)
-MPEG-4 (DivX)-hez:
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen>
-</para>
-
-<para>
-Ha szélesvásznú filmed van és nem akarod átméretezni teljes magasságúra,
-használhatod az <option>expand=w:h</option> szűrÅt a fekete sávok hozzáadásához.
-Egy 640x384 MPEG-4 (DivX) megnézésénél:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Ha a CPU-d túl lassú a teljes méretű 720x576 MPEG-4 (DivX)-hez, próbáld meg leméretezni:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>Ha a sebesség nem javul, próbáld meg a függÅleges leméretezést is:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Az OSD és a feliratokhoz használd az expand szűrÅ OSD tulajdonságát. Ãgy, az
-<option>expand=w:h</option> vagy <option>expand=w:h:x:y</option> helyett Ãrj
-<option>expand=w:h:x:y:1</option>-et (az ötödik paraméter, a <option>:1</option>
-a végén engedélyezi az OSD render-elést). A képet egy kicsit feljebb szeretnéd
-vinnni valószÃnűleg, hogy nagyobb hely maradjon a feliratoknak. Vagy akár a
-feliratokat is felviheted, ha a TV képernyÅjén kÃvülre esnek, használd a
-<option>-subpos <0-100></option> kapcsolót ennek beállÃtásához
-(a <option>-subpos 80</option> egy jó választás).
-</para>
-
-<para>
-A nem-25fps-es filmek PAL TV-n vagy lassú CPU-n való lejátszásához még add hozzá a
-<option>-framedrop</option> kapcsolót.
-</para>
-
-<para>
-Az MPEG-4 (DivX) fájlok méretarányának megtartásához és az optimális méretezési
-paraméterekhez (hardveres vÃzszintes és szoftveres függÅleges méretezés a helyes
-méretarány megtartásával) használd az új dvbscale szűrÅt:
-<screen>
-for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen>
-</para>
-
-<formalpara><title>Digital TV (DVB bemeneti modul)</title>
-<para>A DVB kártyád segÃtségével digitalis TV-t is nézhetsz.</para>
-</formalpara>
-
-<para>
-A <command>scan</command> és <command>szap/tzap/czap/azap</command>
-programoknak telepÃtve kell lenniük; mind benne vannak a drivers
-csomagban.
-</para>
-
-<para>
-EllenÅrizd, hogy a vezérlÅid megfelelÅen működnek egy olyan programmal, mint a
-<ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
-(ez a DVB bemeneti modul alapja).
-</para>
-
-<para>
-Most már fordÃthatsz egy <filename>~/.mplayer/channels.conf</filename>
-fájlt, a <command>szap/tzap/czap/azap</command> által elfogadott szintaktikával, vagy
-engeded a <command>scan</command>nek, hogy elkészÃtse neked.
-</para>
-
-<para>
-Ha több tÃpusú kártyád van (pl. műholdas, földi, kábel és ATSC), a csatorna
-fájlokat elmentheted
-<filename>~/.mplayer/channels.conf.sat</filename>,
-<filename>~/.mplayer/channels.conf.ter</filename>,
-<filename>~/.mplayer/channels.conf.cbl</filename>,
-és <filename>~/.mplayer/channels.conf.atsc</filename> néven,
-Ãgy az <application>MPlayer</application>nek implicit javaslod ezen
-fájlok használatát a <filename>~/.mplayer/channels.conf</filename> helyett
-és csak azt kell megadnod, hogy melyik kártyát akarod használni.
-</para>
-
-<para>
-GyÅzÅdj meg róla, hogy <emphasis>csak</emphasis> Free to Air
-csatornák vannak a <filename>channels.conf</filename> fájlodban,
-különben <application>MPlayer</application> kódolatlan átvitelre fog várni.
-</para>
-
-<para>
-Az audió és a videó mezÅkidben használhatsz kiterjesztett szintaxist:
-<option>...:pid[+pid]:...</option> (egyenként maximálisan 6 pid);
-ebben az esetben az <application>MPlayer</application> beleveszi a
-stream-be az összes jelzett pid-et, plusz a pid 0-t (ami a PAT-ot
-tartalmazza). Mindig ajánlott a PMT és MCR pid bevétele minden sorba a
-megfelelÅ csatornáknál (ha ismered Åket).
-Megadhatsz 8192-Åt is, ez kiválaszt minden pid-et ezen a frekvencián,
-majd ezután a TAB-bal tudsz váltani a programok között.
-Ez nagyobb sávszélességet igényel, de az olcsóbb kártyák mindig átviszik
-az összes csatornát legalább a kernelig, Ãgy ezeknél nem jelent számottevÅ
-különbséget.
-Egyéb lehetÅségek: televideo pid, második audió sáv, stb.
-</para>
-
-<para>
-Ha az <application>MPlayer</application> rendszeren panaszkodik
-<screen>"Túl sok videó/audió csomag a bufferben"</screen>
-<screen>"Too many video/audio packets in the buffer"</screen>
-üzenettel vagy az audió és videó közötti szinkronizáció
-növekvŠeltérését tapasztalod, nézd meg, hogy van-e PCR pid a folyamban
-(szükséges az átvivŠbufferelésének történŠmegfeleléshez) és/vagy
-próbáld meg használni a libavformat-ban lévŠMPEG-TS demuxer-t a
-<option>-demuxer lavf -lavfdopts probesize=128</option>
-opció parancssorhoz történŠhozzáadásával.
-</para>
-
-<para>
-A csatornák beállÃtásainak kilistázásához futtast ezt:
-<screen>mplayer dvb://</screen>
-</para>
-
-<para>
-Ha egy adott csatornát akarsz nézni, mint pl. az R1-et, Ãrd be:
-<screen>mplayer dvb://<replaceable>R1</replaceable></screen>
-</para>
-
-<para>
-Ha egynél több kártyád van, meg kell adnod a kártya számát is,
-ahol a csatorna látható (pl. 2) az alábbi szintaxissal:
-<screen>mplayer dvb://<replaceable>2 at R1</replaceable></screen>
-</para>
-
-<para>
-A csatornaváltáshoz nyomd meg a <keycap>h</keycap> (következÅ) vagy
-a <keycap>k</keycap> (elÅzÅ) gombot vagy használd az
-<link linkend="osdmenu">OSD menü</link>t.
-</para>
-
-<para>
-Az audió vagy videó folyam ideiglenes kikapcsolásához másold be
-a következÅket a <filename>~/.mplayer/input.conf</filename> fájlba:
-<screen>
-% set_property switch_video -2
-& step_property switch_video
-? set_property switch_audio -2
-^ step_property switch_audio
-</screen>
-(A billentyűket átÃrhatod a kÃvántra.) Ha megnyomod a switch_x -2 parancshoz
-tartozó billentyűt, a megfelelŠfolyam bezárásra kerül; ha a step_x-hez
-tartozót, akkor a folyam újra meg lesz nyitva.
-Ãgyelj rá, hogy ez a kapcsolási mechanizmus nem a várt módon fog működni,
-ha a több audió és videó folyam van.
-</para>
-
-<para>
-Lejátszás közben (nem rögzÃtés közben), a dadogás és 'A rendszeret túl lassú ehhez'
-üzenetek megelÅzése érdekében javasolt a
-<screen>
--mc 10 -speed 0.97 -af scaletempo
-</screen>
-használata a parancssorban, a scaletempo paramétereinek megfelelÅ beállÃtásával.
-</para>
-
-<para>
-Ha a <filename>~/.mplayer/menu.conf</filename> fájlod tartalmazza a
-<literal><dvbsel></literal> bejegyzést, úgy, mint az
-<filename>etc/dvb-menu.conf</filename> példafájl (ezt felhasználhatod a
-<filename>~/.mplayer/menu.conf</filename> fájl felülÃrásához), a fÅ menüben
-egy al-menü bejegyzést láthatsz, aminek a segÃtségével választhatsz a
-<filename>channels.conf</filename>-ban elÅre beállÃtott csatornák közül,
-melyet az elérhetŠkártyák listája követhet, ha egynél több
-<application>MPlayer</application> által használható kártya van.
-</para>
-
-<para>
-Ha el akarod menteni a programot a lemezre, használhatod az alábbi parancsot:
-<screen>
-mplayer -dumpfile <replaceable>r1.ts</replaceable> -dumpstream dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-Ha inkább másik formátumban akarsz rögzÃteni (újrakódolni), kiadhatsz egy
-ehhez hasonló parancsot:
-<screen>
-mencoder -o <replaceable>r1.avi</replaceable> -ovc xvid -xvidencopts bitrate=800 \
- -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-Olvasd el a man oldalt a kapcsolók listájához, amiket megadhatsz a DVB
-bemeneti modulnak.
-</para>
-
-<formalpara><title>A JÃVÅ</title>
-<para>
-Ha kérdésed van vagy további bejelentésekrÅl szeretnél tudomást szerezni és
-részt venni a beszélgetéseinkben, csatlakozz az
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>
-levelezési listához. Kérjük vedd figyelembe, hogy a lista nyelve az angol.
-</para>
-</formalpara>
-
-<para>
-A jövÅben tervezzük a DVB kártyák által biztosÃtott natÃv OSD használatát az
-OSD menü és a feliratok megjelenÃtéséhez.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-
-<para>
-Az <application>MPlayer</application> támogatja a hardveresen gyorsÃtott
-lejátszást a Creative DXR2 kártyával.
-</para>
-
-<para>
-Mindenek elÅtt megfelelÅen telepÃtett DXR2 vezérlÅ kell. A vezérlÅt és
-a telepÃtési útmutatót megtalálhatod a
-<ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink> oldalán.
-</para>
-
-<variablelist>
-<title>HASZNÃLAT</title>
-<varlistentry>
- <term><option>-vo dxr2</option></term>
- <listitem><para>TV kimenet engedélyezése.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-vo dxr2:x11</option> vagy <option>-vo dxr2:xv</option></term>
- <listitem><para>Ãtlapolásos kimenet bekapcsolása X11-en.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-dxr2 <opció1:opció2:...></option></term>
- <listitem><para>
- Ezzel a kapcsolóval a DXR2 vezérlÅ irányÃtható.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-A DXR2-n használt átlapolásos chipset elég rossz minÅségű, de az alapértelmezett
-beállÃtások mindenkinél működnek. Az OSD használható az átlapolással
-(nem TV-n) a szÃnkulcsban történi kirajzolással. Az alapértelmezett szÃnkulcs
-beállÃtásokkal változó eredményeket kaphatsz, valószÃnűleg látni fogod a
-szÃnkulcsot a karakterek körül vagy más egyéb érdekes effektet. De ha
-megfelelÅen beállÃtod a szÃnkulcsot, elfogadható eredményt kapsz.
-</para>
-
-<para>Kérjük nézd meg a man oldalt a használható kapcsolókhoz.</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-
-<para>
-Az <application>MPlayer</application> támogatja a hardveresen gyorsÃtott lejátszást
-a Creative DXR3 és Sigma Designs Hollywood Plus kártyákkal. Ezek a kártyák
-a Sigma Designs em8300 MPEG dekódoló chip-jét használják.
-</para>
-
-<para>
-Mindenek elÅtt megfelelÅen telepÃtett DXR3/H+ vezérlÅ kell, 0.12.0 verziójú
-vagy régebbi. A vezérlÅket és a telepÃtési utasÃtásokat megtalálhatod a
-<ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus for Linux</ulink>
-oldalon. A <filename>configure</filename>nak automatikusan meg kell találnia
-a kártyádat, és a fordÃtásnak hiba nélkül le kell futnia.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>HASZNÃLAT</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>eszköz</replaceable></option></term>
-<listitem><para>
-Az <option>overlay</option> az átlapolást aktiválja a TV-out helyett. A helyes
-működéshez megfelelÅen beállÃtott overlay setup kell. A legegyszerűbb út
-az átlapolás beállÃtásához elÅször az autocal majd az mplayer futtatása
-dxr3 kimenettel és az átlapolás bekapcsolása nélkül futtasd a dxr3view-t. A
-dxr3view-ban állÃthatsz az átlapolási beállÃtásokon és láthatod az effekteket
-valós idÅben, talán ezt a funkciót az <application>MPlayer</application> GUI
-is támogatni fogja a jövÅben. Ha az átlapolás megfelelÅen be lett állÃtva,
-többet nem kell használnod a dxr3view-t. A <option>prebuf</option> bekapcsolja
-az elÅbufferelést. Az elÅbufferelés az em8300 chip egy olyan képessége, mellyel
-egynél több képkockát tud megtartani egy idÅben. Ez azt jelenti, hogy ha
-elÅbuffereléssel futtatod az <application>MPlayer</application>t, az megpróbálja
-folyamatosan tele tartani a videó buffert adatokkal. Ha lassú gépen vagy, az
-<application>MPlayer</application> közel vagy pontosan 100% CPU kihasználtságot
-fog okozni. Ez különösen gyakori ha egyszerű MPEG streamet játszasz le (pl.
-DVD-k, SVCD-k, stb.), mivel ekkor az <application>MPlayer</application>nek nem
-kell újrakódolnia MPEG-be, és nagyon gyorsan tölti a buffert.
-Az elÅbuffereléssel a videó lejátszás <emphasis role="bold">sokkal</emphasis>
-kevésbé érzékeny az többi program CPU foglalására, nem fog képkockát eldobni,
-hacsak az alkalmazások nem foglalják túl hosszú ideig a CPU-t. Ha elÅbufferelés
-nélkül futtatod, az em8300 sokkal érzékenyebb a CPU terhelésre, Ãgy nagyon
-javasolt, hogy használd az <application>MPlayer</application>
-<option>-framedrop</option> kapcsolóját a további szinkronvesztés elkerüléséhez.
-A <option>sync</option> bekapcsolja az új szinkron-motort. Ez jelenleg még
-egy tesztelés alatt lévŠképesség. A bekapcsolt szinkron tulajdonsággal az
-em8300 belsŠórája folyamatosan figyelve lesz, és ha eltér az
-<application>MPlayer</application> órájától, resetel, ezzel az em8300-t az
-összes hátralévÅ képkocka eldobására kényszerÃti.
-A <option>norm=x</option> beállÃtja a DXR3 kártya TV normáját külsÅ segédeszköz,
-pl. em8300setup nélkül. A helyes norma értékek: 5 = NTSC, 4 = PAL-60, 3 = PAL.
-Speciális norma a 2 (auto-beállÃtás PAL/PAL-60 használatával) és az 1
-(auto-beállÃtás PAL/NTSC használatával) mivel ezek a film képkocka rátájának
-segÃtségével állapÃtják meg a normát. A norm = 0 (alapértelmezett) nem változtat
-a jelenlegi normán.
-<option><replaceable>eszköz</replaceable></option> = a használni kÃvánt eszköz
-száma több em8300 kártya esetén.
-Ezen opciók bármelyike elhagyható.
-<option>:prebuf:sync</option> látszólag nagyszerűen működik MPEG-4 (DivX)
-filmek lejátszásakor. Többen problémákról számoltak be MPEG-1/2 fájlok
-lejátszásakor bekapcsolt prebuf esetén. ElÅször mindenféle opció nélkül nézd
-meg, majd ha szinkron vagy DVD felirat problémáid vannak, adj egy esélyt a
-<option>:sync</option>-nek.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
- <listitem><para>
- Audió kimenethez, ahol az <replaceable>X</replaceable> az eszköz száma
- (0 ha egy kártya).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
- <listitem><para>
- A em8300 nem tud lejátszani 44100Hz-nél alacsonyabb mintavételű hangot.
- Ha a mintavételi ráta 44100Hz alatt van, válassz 44100Hz-et vagy 48000Hz-et,
- attól függÅen, hogy melyik van közelebb. Pl. ha egy film 22050Hz-et használ,
- válaszd a 44100Hz-et, mivel 44100 / 2 = 22050, ha 24000Hz-et, válaszd a
- 48000Hz-et, mert 48000 / 2 = 24000 és Ãgy tovább.
- Ez nem működik digitális audió kimenettel (<option>-ac hwac3</option>).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf lavc</option></term>
- <listitem><para>
- Nem-MPEG tartalom em8300-on történŠnézéséhez (pl. MPEG-4 (DivX) vagy
- RealVideo) meg kell adnod egy MPEG-1 videó szűrÅt, mint pl. a
- <systemitem class="library">libavcodec</systemitem> (lavc).
- Lásd a man oldalt a további infókért a <option>-vf lavc</option>
- kapcsolóról.
- Jelenleg nem lehet az em8300 fps értékét
- módosÃtani, ami azt jelenti, hogy fixen 30000/1001 fps. Emiatt javasolt
- a <option>-vf lavc=<replaceable>minÅség</replaceable>:25</option>
- kapcsoló használata, különösen ha elÅbufferelést használsz. Hogy miért
- 25 és nem 30000/1001? Nos, a dolog úgy áll, hogy ha 30000/1001-et
- használsz, a kép kicsit ugrálós lesz. Ennek az okát nem tudjuk. Ha
- beállÃtod valahova 25 és 27 közé, a kép stabillá válik. Jelenleg mást
- nem tehetünk, elfogadjuk ezt tényként.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf expand=-1:-1:-1:-1:1</option></term>
- <listitem><para>
- Habár a DXR3 vezérlŠtud némi OSD-t tenni az MPEG-1/2/4 videóra,
- sokkal rosszabb minÅsége van, mint az <application>MPlayer</application>
- tradÃcionális OSD-jének és számos frissÃtési problémája is van. A fenti
- parancssor elÅször is átkonvertálja a bemeneti videót MPEG-4-be (ez szükséges,
- bocs), majd alkalmazza rá az expand szűrÅt, ami nem terjeszt ki semmit
- (-1: alapértelmezett), de a normális OSD-t teszi a képre (ezt csinálja az
- "1" a végén).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ac hwac3</option></term>
- <listitem><para>
- A em8300 támogatja az AC-3 audió lejátszását (térhatású hang) a kártya
- digitális audió kimenetén keresztül. Lásd a <option>-ao oss</option>
- kapcsolót fent, a DXR3 kimenetének meghatározására használható a
- hangkártya helyett.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="zr">
-<title>Zr</title>
-
-<para>
-Ez egy képernyÅ-vezérlÅ (<option>-vo zr</option>) számos MJPEG
-mentÅ/lejátszó kártyához (DC10+ és Buz-zal tesztelve, és működnie kell
-LML33, a DC10 esetén is). A vezérlŠúgy működik, hogy kódolja a képkockát
-JPEG-be majd kiküldi a kártyára. A JPEG kódoláshoz a
-<systemitem class="library">libavcodec</systemitem>-et használja, ami
-ezért szükséges hozzá. Egy speciális <emphasis>cinerama</emphasis> móddal
-igazi nagyképernyÅn nézhetsz filmeket, feltéve, hogy két felvevÅd és két
-MJPEG kártyád van. A felbontástól és a minÅségi beállÃtásoktól függÅen ez
-a vezérlÅ rengeteg CPU erÅt igényel, ne felejtsd el megadni a
-<option>-framedrop</option> kapcsolót, ha lassú a géped. Megjegyzés: Az
-én AMD K6-2 350MHz-es gépem (<option>-framedrop</option>-pal) eléggé
-elfogadható volt VCD méretű anyag nézésekor és leméretezett filmnél.
-</para>
-
-<para>
-Ez a vezérlŠa
-<ulink url="http://mjpeg.sf.net"/> cÃmen található kernel
-vezérlÅvel társalog, Ãgy elÅször ezt kell beizzÃtanod. Az MJPEG kártya
-jelenléte automatikusan detektálva lesz a <filename>configure</filename>
-script által, ha ez nem sikerül, kényszerÃtsd a detektálásra a
-<screen>./configure --enable-zr</screen> kapcsolóval.
-</para>
-
-<para>
-A kimenet számos kapcsolóval szabályozható, a kapcsolók hosszú leÃrással
-megtalálhatóak a man oldalon, egy rövidebb listát a
-<screen>mplayer -zrhelp</screen>
-parancs lefuttatásával kaphatsz.
-</para>
-
-<para>
-Az olyan dolgokat, mint méretezés és OSD (on screen display) ez a vezérlÅ
-nem kezeli, de megoldhatóak videó szűrÅkkel. Például tegyük fel, hogy van
-egy filmed 512x272-es felbontással és teljes képernyÅn akarod nézni a
-DC10+-eden. Három lehetÅséged van, méretezned kell a filmet 768, 384 vagy
-192-es szélességre. TeljesÃtmény és minÅségi okokból én a 384x204-re való
-méretezést választanám, gyors bilineáris szoftveres méretezŠhasználatával.
-A parancssor:
-<screen>
-mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-A levágás a <option>crop</option> szűrÅ segÃtségével valósÃtható meg és
-magával a vezérlÅvel. Feltéve, hogy a film túl széles a megjelenÃtéshez
-a Buz-odon és hogy a <option>-zrcrop</option>-ot akarod használni a film
-szűkÃtéséhez, a következÅ parancs a te barátod:
-<screen>
-mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Ha használni akarod a <option>crop</option> szűrÅt, ez kell:
-<screen>
-mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Extra esetben a <option>-zrcrop</option> meghÃvja a
-<emphasis>cinerama</emphasis> módot, pl. a filmet több TV vagy beamer
-között sugározhatod egy nagyobb kép létrehozásához. Feltéve, hogy két
-beamer-ed van. A bal oldali a Buz-odhoz csatlakozik a
-<filename>/dev/video1</filename>-en, a jobb oldali a DC10+-odhoz a
-<filename>/dev/video0</filename>-án. A film felbontása 704x288. Továbbá
-tegyük fel azt is, hogy a jobb beamer-t fekete-fehéren szeretnéd, a
-balnak pedig 10-es minÅségű JPEG képeket kell adnia. Ekkor a következÅ
-parancsot kell használnod:
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Láthatod, hogy a második <option>-zrcrop</option> elÅtt feltűnÅ opciók
-csak a DC10+-re, a második <option>-zrcrop</option> után lévÅk csak a
-Buz-ra vonatkoznak. A <emphasis>cinerama</emphasis>-ban használható
-MJPEG kártyák maximális száma négy, Ãgy egy 2x2-es vidi-falat
-épÃthetsz.
-</para>
-
-<para>
-Végül egy fontos megjegyzés: Ne indÃtsd el vagy állÃtsd meg a XawTV-t a lejátszó
-eszközön a lejátszás alatt, ez összeomlasztja a számÃtógépedet. Legjobb
-<emphasis role="bold">ELÅSZÃR</emphasis> elindÃtani a XawTV-t,
-<emphasis role="bold">EZUTÃN</emphasis> elindÃtani az <application>MPlayer</application>t,
-várni, mÃg az <application>MPlayer</application>
-végez, és <emphasis role="bold">EZUTÃN</emphasis> megállÃtani a XawTV-t.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="blinkenlights">
-<title>Blinkenlights</title>
-
-<para>
-Ez a vezérlŠképes a lejátszásra a Blinkenlights UDP protokol felhasználásával.
-Ha nem tudod, hogy mi az a <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>,
-vagy az utóda az <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>,
-nézz utána. Habár ez a legutoljára használt videó kimeneti vezérlÅ, kétségkÃvül ez
-a legjobb, amit az <application>MPlayer</application> nyújtani tud. Csak nézz meg
-pár <ulink url="http://www.blinkenlights.de/video.en.html">Blinkenlights dokumentációs
-videót</ulink>.
-Az Arcade videóban láthatod a Blinkenlights kimeneti vezérlÅt akcióban a
-00:07:50-en.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tvout">
-<title>TV-kimenet támogatás</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Matrox G400 kártyák</title>
-
-<para>
-Linux alatt két módon bÃrhatod működésre a G400 TV kimenetét:
-</para>
-
-<important>
-<para>
-a Matrox G450/G550 TV-kimenet utasÃtásaiért lásd a következÅ részt!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem>
- <para>
- A vezérlŠés a HAL modul használatával, mely elérhetŠa <ulink
- url="http://www.matrox.com">Matrox oldalán</ulink>. Ezzel X-et
- kapsz a TV-n.
- </para>
- <para>
- <emphasis role="bold">Ez a módszer nem nyújt gyorsÃtott lejátszást</emphasis>
- Windows alatt! A második fejnek csak YUV framebuffer-e van, a <emphasis>BES</emphasis>
- (Back End Scaler, a YUV méretezŠa G200/G400/G450/G550 kártyákon) nem
- működik rajta! A Windows-os vezérlÅk ezt valahogy megkerülik, talán 3D
- motort használnak a nagyÃtáshoz és a YUV framebuffer-t a nagyÃtott
- képek megjelenÃtéséhez. Ha tényleg X-et akarsz használni, válaszd a
- <option>-vo x11 -fs -zoom</option> kapcsolókat, de
- <emphasis role="bold">LASSÃ</emphasis> lesz,
- és <emphasis role="bold">Macrovision</emphasis> másolásvédelem van rajta
- (ezzel a <ulink url="http://avifile.sf.net/mgamacro.pl">Perl script</ulink>-tel
- "megkerülheted" a Macrovisiont).
- </para>
- </listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem>
- <para>
- A 2.4-es kernelekben lévŠ<emphasis role="bold">matroxfb modulok</emphasis>
- használatával. A 2.2-es kernel-ekben nincs TV-out tulajdonság hozzájuk, Ãgy
- használhatatlanok erre. Engedélyezned kell az ÃSSZES matroxfb-specifikus
- tulajdonságot a fordÃtás alatt (kivéve a MultiHead-et) és
- <emphasis role="bold">modulokba</emphasis> kell fordÃtanod!
- Az I2C-t is engedélyezned kell és a
- <application>matroxset</application>, <application>fbset</application>
- és <application>con2fb</application> eszközöknek az elérési úton kell lenniük.
- </para>
-
- <procedure>
- <step><para>
- Majd töltsd be a <systemitem>matroxfb_Ti3026, matroxfb_maven, i2c-matroxfb,
- matroxfb_crtc2</systemitem> modulokat a kerneledbe. A szöveges-módú
- konzolod framebuffer módba vált (nincs visszaút!).
- </para></step>
- <step><para>
- Ezután állÃtsd be a monitorod és a TV-t a kedvednek megfelelÅen a fenti eszközökkel.
- </para></step>
- <step><para>
- Yoh. A következÅ dolog, hogy a kurzort eltűntesd a tty1-rÅl (vagy
- akármirÅl) és kikapcsold a képernyÅ törlést. Futtasd le a következÅ
- parancsokat:
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- vagy
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- A fentieket valószÃnűleg beleÃrod egy script-be, egy képernyÅ
- törléssel együtt. A kurzor visszakapcsolása:
- <screen>echo -e '\033[?25h'</screen> vagy
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- Yeah sirály. IndÃtsd el a film lejátszást:
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>filename</replaceable><!--
- --></screen>
-
- (Ha X-et használsz, most válts át matroxfb-re, például a
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo> gombokkal.)
- Változtasd meg a <literal>640</literal>-et és az <literal>512</literal>-t,
- ha másra állÃtottad a felbontást...
- </para></step>
- <step><para>
- <emphasis role="bold">Ãlvezd az ultra-gyors ultra-különleges Matrox TV
- kimenetet (jobb mint az Xv)!</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_g450">
-<title>Matrox G450/G550 kártyák</title>
-
-<para>
-A TV kimenet támogatása ezeken a kártyákon csak nemrég jelent meg, és még
-nincs a a fÅ kernelben. Jelenleg az <emphasis role="bold">mga_vid</emphasis>
-modul nem használható AFAIK, mert a G450/G550-es vezérlŠcsak egy konfigurációban
-működik: az elsÅ CRTC chip (a sokkal több képességgel) az elsÅ képernyÅn
-(a monitoron) és a második CRTC (nincs <emphasis role="bold">BES</emphasis> - a
-BES magyarázatához lásd a G400-as részt fent) TV-n. Ãgy csak az
-<application>MPlayer</application> <emphasis>fbdev</emphasis> kimeneti
-vezérlÅjét használhatod jelenleg.
-</para>
-
-<para>
-Az elsÅ CRTC nem irányÃtható át a második fejre jelenleg. A matroxfb kernel
-vezérlÅ szerzÅje - Petr Vandrovec - talán készÃt támogatást ehhez, az
-elsÅ CRTC kimenetét egyszerre mindkét fejen megjelenÃtve, mint ahogy most is
-javasolt a G400-on, lásd a fenti részt.
-</para>
-
-<para>
-A szükséges kernel javÃtás és a bÅvebb HOWTO letölthetÅ:
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_cable">
-<title>Matrox TV-kimeneti kábel készÃtése</title>
-<para>
-Senki sem vállal ezért semmilyen felelÅsséget, sem garanciát bármilyen,
-ezen leÃrásból származó kárért.
-</para>
-
-<formalpara><title>Kábel a G400-hoz</title>
-<para>
-A CRTC2 csatlakozójának negyedik pin-je a kompozit videó jel. A
-földelés a hatodik, hetedik és nyolcadik pin. (az infót Rácz Balázs
-adta)
-</para>
-</formalpara>
-
-<formalpara><title>Kábel a G450-hez</title>
-<para>
-A CRTC2 csatlakozójának elsŠpin-je a kompozit videó jel. A
-földelés az ötödik, hatodik, hetedik és tizenötödik (5, 6, 7, 15)
-pin. (az infót Kerekes Balázs adta)
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-ati">
-<title>ATI kártyák</title>
-
-<formalpara><title>BEVEZETÃS</title>
-<para>
-Jelenleg az ATI nem akarja támogatni semelyik TV-out chip-jét sem Linux alatt,
-a licenszelt Macrovision technológiájuk miatt.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>ATI KÃRTYÃK TV-KIMENETÃNEK ÃLLAPOTA LINUXON</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- támogatja a <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- támogatja a <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> és <emphasis role="bold">Rage128</emphasis>:
- támogatja az <application>MPlayer</application>!
- Lásd a <link linkend="vesa">VESA vezérlÅ</link> és
- a <link linkend="vidix">VIDIX</link> részt.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- támogatja az
- <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Egyéb kártyák esetében lásd a <link linkend="vesa">VESA</link> vezérlÅt,
-VIDIX nélkül. Bár ehhez erÅs CPU kell.
-</para>
-
-<para>
-Az egyeten dolog, amit tenned kell - <emphasis role="bold">Be kell dugnod a
-TV csatlakozóját, mielÅtt bekapcsolnád a PC-t</emphasis> mivel a videó BIOS
-csak egyszer, a POST folyamat során inicializálja magát.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-
-<para>
-ElÅször le KELL töltened a zárt-forrású vezérlÅt az
-<ulink url="http://nvidia.com"/>-ról.
-Nem Ãrom le a telepÃtés és a konfiguráció lépéseit, mert ez nem tartozik
-ezen dokumentáció céljához.
-</para>
-
-<para>
-Miután az XFree86, az XVideo és a 3D gyorsÃtás is megfelelÅen működik,
-Ãrd át a kártya Device részét az <filename>XF86Config</filename> fájlban,
-a következÅ példának megfelelÅen (a te kártyádhoz/TV-dhez igazÃtva):
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-EndSection
-</programlisting>
-</para>
-
-<para>
-Természetesen a legfontosabb a TwinView rész.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-neomagic">
-<title>NeoMagic</title>
-
-<para>
-A NeoMagic chip számos laptop-ban megtalálható, pár közülük egy egyszerű
-analóg TV kódolóval van felszerelve, mások sokkal fejlettebbel rendelkeznek.
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Analóg kódoló chip</emphasis>:
- A visszajelzések szerint megbÃzható TV kimenet a <option>-vo fbdev</option>
- vagy <option>-vo fbdev2</option> kapcsolókkal érhetŠel.
- Kernelbe forgatott vesafb szükséges és a következŠparamétereket
- kell megadni a kernel parancssorában:
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- Ajánlott elindÃtani az <application>X</application>-et, majd átváltani
- konzol módba pl. a
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>-gyel.
- Ha nem sikerül elindÃtani az <application>X</application>-et az
- <application>MPlayer</application> konzolból történÅ elindÃtása elÅtt,
- a videó lassú és zavaros lesz (a magyarázatokat szÃvesen fogadjuk).
- Jelentkezz be a konzolodra majd add ki a következŠparancsot:
-
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
-
- Ezután a filmet konzol módban, kb. a laptop LCD képernyÅjének felét
- kitöltve kell látnod.
- A TV-re váltáshoz nyomd meg az <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo>-öt
- háromszor. Tesztelve Tecra 8000-en, 2.6.15 kernel vesafb-vel, ALSA v1.0.10-en.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">Chrontel 70xx kódoló chip</emphasis>:
- Az IBM Thinkpad 390E és talán más Thinkpad-okban és notebook-okban található.
- </para><para>
- A <option>-vo vesa:neotv_pal</option>-t kell használnod a PAL-hoz vagy
- a <option>-vo vesa:neotv_ntsc</option>-t az NTSC-hez.
- TV kimenetet biztosÃt az alábbi 16 bpp és 8 bpp módokban:
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480 és talán 800x600 is.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600. </para></listitem>
- </itemizedlist>
- <para>Az 512x384-es módot nem támogatja a BIOS. Ãt kell méretezned a képet
- egy másik felbontásra a TV kimenet aktiválásához. Ha egy képet látsz a
- képernyÅn 640x480-ban vagy 800x600-ban, de semmit 320x240-ben vagy kisebb
- felbontáson, ki kell cserélned két táblázatot a <filename>vbelib.c</filename>
- fájlban. Lásd a vbeSetTV függvényeket a részletekért. Kérlek keresd meg a szerzÅt
- ebben az esetben.
- </para>
- <para>
- Ismert dolgok: Csak VESA, semmilyen más beállÃtás, pl. fényesség, kontraszt,
- blacklevel, flickfilter nincs implementálva.
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/it/bugreports.xml b/DOCS/xml/it/bugreports.xml
deleted file mode 100644
index 690d09a..0000000
--- a/DOCS/xml/it/bugreports.xml
+++ /dev/null
@@ -1,507 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r23225 -->
-<appendix id="bugreports">
-<title>Come segnalare i bug (errori)</title>
-
-<para>
-Buone segnalazioni di errori sono un contributo molto valido per lo sviluppo di
-un qualsiasi progetto software. Ma proprio come nello scrivere un buon
-software, scrivere buoni rapporti sui problemi richiede dell'impegno. Per favore
-considera che molti sviluppatori sono estremamente impegnati e ricevono immensi
-volumi di email. Perciò, mentre da un lato il tuo feedback è cruciale per
-migliorare <application>MPlayer</application> e molto apprezzato, per favore
-cerca di capire che devi fornire <emphasis role="bold">tutte</emphasis> le
-informazioni che chiediamo e seguire fedelmente le istruzioni qui documentate.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_security">
-<title>Come segnalare i bug di sicurezza (errori)</title>
-
-<para>
-Nel caso in cui tu abbia trovato un bug pericoloso e vuoi fare la cosa giusta e
-lasciarcelo correggere prima di sfruttarlo, saremmo felici di avere la tua
-segnalazione di sicurezza a
-<ulink url="mailto:security@mplayerhq.hu">security@mplayerhq.hu</ulink>.
-Per favore aggiungi nell'oggetto [SECURITY] o [ADVISORY].
-Assicurati che il rapporto contenga l'analisi completa e dettagliata del bug.
-L'invio di una correzione è decisamente apprezzato.
-Per piacere non ritardare la segnalazione per scrivere un exploit che la provi,
-puoi inviarlo eventualmente con un'altra mail.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_fix">
-<title>Come correggere i bug</title>
-
-<para>
-Se pensi di avere le capacità necessarie, sei esortato a provare a correggere
-il bug per conto tuo. O forse lo hai già fatto? Leggi per favore
-<ulink url="../../tech/patches.txt">questo breve documento</ulink> per scoprire
-come far sì che il tuo codice venga incluso in
-<application>MPlayer</application>. Le persone sulla mailing list
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-ti aiuteranno se avrai dei dubbi.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_regression_test">
-<title>Come fare delle prove retroattive usando Subversion</title>
-
-<para>
-Un problema che può capitare delle volte è 'prima funzionava, ora non
-funziona più...'.
-C'è una procedura passo passo per cercare di scoprire dove il problema si sia
-presentato. <emphasis role="bold">Non</emphasis> è destinata agli utenti
-casuali.
-</para>
-
-<para>
-Per prima cosa, dovresti scaricare l'alberatura dei sorgenti di MPlayer da
-Subversion. Le istruzioni si possono trovare nella
-<ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">sezione su Subversion nella pagina dei download</ulink>.
-</para>
-
-<para>
-Troverai ora un immagine dell'archivio Subversion dentro alla directory
-mplayer/, dal lato client.
-Ora aggiorna questa immagine alla data che desideri:
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-Il formato della data è YYYY-MM-DD HH:MM:SS.
-Usando questo formato di data ti garantisce di essere in grado di estrarre le
-path in base alla data in cui sono state applicate, come
-nell'<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">archivio
-MPlayer-cvslog</ulink>.
-</para>
-
-<para>
-Ora procedi come per un normale aggiornamento:
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-Per chi sta leggendo e non è un programmatore, il modo più veloce di trovare
-il punto dove si è presentato il problema è effettuare una ricerca binaria
-— che significa cercare la data della 'rottura' dividendo ripetutamente a
-metà l'intervallo di ricerca.
-Per esempio, se il problema si è presentato nel 2003, inizia da metà anno,
-poi chiediti "C'è già il problema qui?".
-Se sì, retrocedi fino al primo di aprile; se no, vai al primo di ottobre, e
-così via.
-</para>
-
-<para>
-Se hai tanto spazio libero sul disco rigido (una compilazione completa occupa
-attualmente 100 MB, e circa 300-350 MB se si abilitano i simboli di debug),
-copiati la versione funzionante più vecchia prima di aggiornarla; questo ti
-farà risparmiare tempo se devi retrocedere.
-(Solitamente bisogna eseguire 'make distclean' prima di ricompilare una versione
-precedente, perciò se non ne hai una salvata, dovrai ricompilare tutto quanto
-quando ritorni alla verisone attuale.)
-</para>
-
-<para>
-Dopo aver trovato il giorno in cui è nato l'errore, continua a cercare usando
-l'archivio mplayer-cvslog (ordinato per data) e un più preciso aggiornamento
-su svn con ora, minuto e secondo:
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-Questo ti permetterà di trovare facilmente la patch esatta che lo ha generato.
-</para>
-
-<para>
-Se trovi la patch che è stata la causa del problema, hai quasi vinto;
-fai un rapporto su
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink> o
-iscriviti a
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-e postalo là .
-C'è anche la possibilità che l'autore intervenga consigliando una correzione.
-Puoi anche controllare attentamente la patch fino a quando la costringi a
-rivelarti dove stia il bug :-).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_report">
-<title>Come segnalare i bug</title>
-
-<para>
-Per prima cosa per favore prova la versione Subversion di
-<application>MPlayer</application> più recente visto che in essa il tuo bug
-potrebbe già essere stato risolto. Lo sviluppo avanza velocemente, la maggior
-parte dei problemi nei rilasci ufficiali sono segnalati in pochi giorni o poche
-ore, perciò parti <emphasis role="bold">solo da Subversion</emphasis> per
-segnalare i bug. Ciò include i pacchetti compilati di
-<application>MPlayer</application>. Le istruzioni per Subversion si possono
-trovare in fondo a
-<ulink url="http://www.mplayerhq.hu/dload.html">questa pagina</ulink> o nel
-README. Se ciò non ti è stato di aiuto, per favore fai riferimento
-al resto della
-documentazione. Se il tuo problema è sconosciuto oppure non risolvibile con le
-nostre indicazioni, allora per favore segnala il bug.
-</para>
-
-<para>
-Per piacere non inviare segnalazioni di bug ai singoli sviluppatori in privato.
-Questo è un lavoro di comunità e quindi ci possono essere varie persone
-interessate ad esso. Alcune volte altri utenti hanno già avuto i tuoi problemi
-e sanno come aggirare un problema anche quando è un bug nel codice di
-<application>MPlayer</application>.
-</para>
-
-<para>
-Per favore descrivi il tuo problema il più dettagliatamente possibile. Fai un
-piccolo lavoro di ricerca per evidenziare le circostanze in cui succede il
-problema. Il bug si presenta solo in alcune occasioni? E' specifico per certi
-file o tipi di file? Capita solo con un codec e è indipendente dal codec? Puoi
-riprodurlo con tutti i driver di uscita? Più informazioni fornisci, maggiori
-sono le nostre possibilità di correggere il tuo problema. Per favore non
-dimenticare di includere anche le importanti informazioni richieste qui sotto,
-altrimenti non saremo in grado di diagnosticare il problema.
-</para>
-
-<para>
-Una guida eccellente e ben scritta su come fare domande in forum pubblici è
-<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</ulink>
-(<ulink url="http://xoomer.virgilio.it/army1987k">Come porre domande in modo intelligente</ulink>)
-di <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
-Ce n'è un'altra chiamata
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs-it.html">Come
-segnalare bug efficacemente</ulink>
-di <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>.
-Se segui queste linee guida dovresti poter ottenere aiuto.. Ma per favore tieni
-conto che tutti noi seguiamo le mailing list volontariamente nel tempo libero.
-Siamo molto occupati e non possiamo garantire che otterrai una soluzione per il
-tuo problema o anche solo una risposta.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_where">
-<title>Dove segnalare i bug</title>
-
-<para>
-Iscriviti alla mailing list MPlayer-users:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-e invia il tuo rapporto sul bug a
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/> dove puoi discuterlo.
-</para>
-
-<para>
-Se preferisci puoi invece usare il nostro bel nuovo
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink>.
-</para>
-
-<para>
-La lingua di questa lista è l'<emphasis role="bold">inglese</emphasis>.
-Per favore segui gli standard delle
-<ulink url="http://www.ietf.org/rfc/rfc1855.txt">Linee guida della Netiquette</ulink>
-e <emphasis role="bold">non inviare email in HTML</emphasis> ad alcuna delle
-nostre mailing list. Verrai semplicemente ignorato bandito. Se non sai cosa sia
-una mail in HTML o perché sia il male, leggi questo
-<ulink url="http://efn.no/html-bad.html">buon documento</ulink>.
-Ti spiega tutto in dettaglio e contiene le istruzioni per disabilitare l'HTML.
-Inoltre nota che non rispondiamo in CC (copia carbone) alle persone, quindi è
-una buona idea iscriversi per poter effettivamente ricevere la risposta.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_what">
-<title>Cosa riportare</title>
-
-<para>
-Potrebbe servire che tu includa nel tuo rapporto sul bug registrazioni,
-configurazioni o file di esempio. Se alcune di queste cose sono abbastanza
-grandi, è meglio caricarle sul nostro
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">server FTP</ulink> in
-un formato compresso (si preferiscono gzip e bzip2) e inserisci nel rapporto
-solo il nome e il percorso del file. Le nostre mailing list hanno un limite
-sulla dimensione di 80k, se hai qualcosa di più grande devi comprimerlo o
-caricarlo.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_system">
-<title>Informazioni di Sistema</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
- La tua distribuzione Linux o il sistema operativo e la versione, per es.:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + pacchetti sviluppo dalla 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- La versione del kernel:
- <screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
- La versione di libc:
- <screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
- Le versioni di gcc e di ld:
- <screen>
-gcc -v
-ld -v<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- La versione di binutils:
- <screen>as --version</screen>
-</para></listitem>
-<listitem><para>
- Se hai dei problemi con la modalità a schermo intero:
- <itemizedlist>
- <listitem><para>Il tipo di gestore di finestre e la versione</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Se hai dei problemi con XVIDIX:
- <itemizedlist>
- <listitem><para>
- La profondità colore di X:
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Se i bug sono solo nella GUI:
- <itemizedlist>
- <listitem><para>La versione di GTK</para></listitem>
- <listitem><para>La versione di GLIB</para></listitem>
- <listitem><para>La situazione della GUI in cui il bug si presenta</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_hardware">
-<title>Hardware e driver</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
- Informazioni CPU (questo funziona solo in Linux):
- <screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
- La marca della scheda video ed il modello, per es.:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Il tipo di driver video & la versione, per es.:
- <itemizedlist>
- <listitem><para>X built-in driver</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI from X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Il tipo di scheda video & driver, per es.:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold with OSS driver from oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 with kernel OSS drivers</para></listitem>
- <listitem><para>GUS PnP with ALSA OSS emulation</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Se hai dei dubbi includi l'emissione di <command>lspci -vv</command> su
- sitemi Linux.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_configure">
-<title>Problemi del configure</title>
-
-<para>
-Se ricevi degli errori eseguendo <command>./configure</command>, o se fallisce
-la rilevazione automatica di qualcosa, leggi <filename>config.log</filename>.
-Puoi travarci la soluzione, per esempio varie versioni della stessa libreria
-mescolate sul tuo sistema, o hai dimenticato di installare il pacchetto di
-scviluppo (quelli con il suffisso -dev). Se pensi ci sia un bug, includi
-<filename>config.log</filename> nel tuo rapporto sul bug stesso.
-</para>
-</sect2>
-
-<sect2 id="bugreports_compilation">
-<title>Problemi di compilazione</title>
-
-<para>
-Per favore includi questi file:
-<itemizedlist>
- <listitem><para>config.h</para></listitem>
- <listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_playback">
-<title>Problemi in riproduzione</title>
-
-<para>
-Per favore includi l'output di <application>MPlayer</application> al livello
-di verbosità 1, ma ricorda di
-<emphasis role="bold">non troncare tale output</emphasis> quando lo incolli
-nella tua mail. Agli sviluppatori servono tutti i messaggi per diagnosticare
-correttamente un problema. Puoi redirigere l'output in un file in questo modo:
-<screen>
-mplayer -v <replaceable>options</replaceable> <replaceable>filename</replaceable> > mplayer.log 2>&1
-</screen>
-</para>
-
-<para>
-Se il tuo problema è specifico per uno o più file,
-allora per favore carica quello/i incriminato/i in:
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-Carica anche un piccolo file di testo con lo stesso nome di base del file, con
-un'estensione .txt. Descrivi il problema che hai con quel particolare file e
-includi il tuo indirizzo email così come ll'ouptut di
-<application>MPlayer</application> all livello 1 di verbosità .
-Solitamente i primi 1-5 MB di un file sono abbastanza per riprodurre il
-problema, ma per esserne certi ti chiediamo di fare:
-<screen>
-dd if=<replaceable>tuo_file</replaceable> of=<replaceable>piccolo_file</replaceable> bs=1024k count=5
-</screen>
-Questo copierà i primi 5 mega di '<emphasis role="bold">tuo_file</emphasis>'
-e li scriverà su '<emphasis role="bold">piccolo_file</emphasis>'. Dopo prova
-di nuovo con il file piccolo e se il problema si presenta ancora per noi è
-sufficiente. Per piacere <emphasis role="bold">non inviare mai</emphasis> questi
-file via mail! Caricali sull'FTP, e manda solo il percorso/nome del file nel
-server FTP. Se il file è raggiungibile in rete, allora è sufficiente inviare
-l'URL <emphasis role="bold">preciso</emphasis>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_crash">
-<title>Crash</title>
-
-<para>
-Devi eseguire <application>MPlayer</application> dentro a <command>gdb</command>
-e mandarci l'output completo oppure se hai un <filename>core</filename> dump
-del crash puoi ricavare informazioni utili dal Core file. Qui spiega come:
-</para>
-
-
-<sect3 id="bugreports_debug">
-<title>Come conservare le informazioni di un crash riproducibile</title>
-
-<para>
-Ricompila <application>MPlayer</application> con il codice di debug abilitato:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-e poi esegui <application>MPlayer</application> da dentro gdb usando:
-<screen>gdb ./mplayer</screen>
-Ora sei dentro gdb, Scrivi:
-<screen>
-run -v <replaceable>opzioni-per-mplayer</replaceable> <replaceable>nomefile</replaceable>
-</screen>
-e riproduci il tuo crash. Appena ci sei riuscito, gdb ti ripresenterà il
-prompt dei comandi, dove devi digitare
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="bugreports_core">
-<title>Come ricavare informazioni significative da un core dump</title>
-
-<para>
-Genera il file di comandi seguente:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-Poi lancia semplicemente questo comando:
-<screen>
-gdb mplayer --core=core -batch --command=file_comandi > mplayer.bug
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>So quello che sto facendo...</title>
-
-<para>
-Se hai generato un rapporto adeguato sul bug seguendo i passi suddetti e sei
-certo che sia un bug in <application>MPlayer</application> e non un problema
-del compilatore o di un file danneggiato, se hai già letto la documentazione
-non sei riuscito a trovare una soluzione, i tuoi driver audio sono OK, allora
-potresti voler iscriverti alla lista MPlayer-advusers e inviare lì il tuo
-rapporto per ottenere una riposta migliore e più rapida.
-</para>
-
-<para>
-Renditi per favore conto che se invii lì domande da niubbo o domande che hanno
-già una risposta nel manuale, sarai ignorato o alimenterai un flame, invece
-di ottenere una risposta adeguata. Non generare flame contro di noi e iscriviti
-a -advusers solo se sai davvero cosa stai facendo e senti di essere un utente
-avanzato di <application>MPlayer</application> o uno sviuppatore. Se rientri in
-questi ranghi non dovrebbe esserti difficile scoprire come iscriverti...
-</para>
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/it/documentation.xml b/DOCS/xml/it/documentation.xml
deleted file mode 100644
index ec0749d..0000000
--- a/DOCS/xml/it/documentation.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r27843 -->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - Il Visualizzatore di film</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>24 marzo 2003</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayer team</holder>
-</copyright>
-<legalnotice>
- <title>License</title>
- <para>MPlayer is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>MPlayer is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with MPlayer; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>Come leggere questa documentazione</title>
-
-<para>
-Se installi per la prima volta: assicurati di leggere tutto da qui fino alla
-fine della sezione sull'installazione e segui i collegamenti che troverai. Se
-hai altre domande, ritorna alla <link linkend="toc">Tabella dei Contenuti</link>
-e cerca l'argomento, leggi le <xref linkend="faq"/>, o prova a ricercare nei
-file (con grep, per esempio). Molte domande possono avere una risposta qui da
-qualche parte e le restanti probabilmente sono già state poste nelle nostre
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">mailing list</ulink>.
-Controlla gli
-<ulink url="https://lists.mplayerhq.hu/mailman/listinfo">archivi</ulink>, ci
-sono un sacco di valide informazioni da trovare.
-</para>
-</preface>
-
-
-<chapter id="intro">
-<title>Introduzione</title>
-
-<para>
-<application>MPlayer</application> è un visualizzatore di filmati per Linux
-(gira su molte altre piattaforme Unix e architetture di CPU non-x86, vedi
-<xref linkend="ports"/>).
-Riproduce la maggior parte dei file del tipo MPEG, VOB, AVI, OGG/OGM, VIVO,
-ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA,
-file Matroska, aiutato da molti codec nativi, di Xanim, RealPlayer, o codec DLL
-binari di Win32. Puoi guardare
-VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora, e anche filmati
-MPEG-4 (DivX).
-Un'altra importante caratteristica di <application>MPlayer</application> è il
-supporto per un'ampia gamma di driver di uscita. Funziona con X11, Xv, DGA,
-OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB, ma puoi anche usare GGI e SDL
-(e in questo modo tutti i loro driver) e pure alcuni driver specifici di basso
-livello (per Matrox, 3Dfx e Radeon, Mach64, Permedia3)!
-La maggior parte di essi supporta il ridimensionamento via software o hardware,
-così puoi gustarti i filmati a schermo intero.
-<application>MPlayer</application> supporta la riproduzione attraverso alcune
-schede di decodifica MPEG hardware, come <link linkend="dvb">DVB</link> e
-<link linkend="dxr3">DXR3/Hollywood+</link>. E cosa dire dei grandi e bei
-sottotitoli sfumati con antialias (14 tipi supportati) con font
-europei/ISO 8859-1,2 (ungherese, inglese, ceco, etc), cirillici, coreani,
-e del visualizzatore su schermo (OnScreen Display, OSD)?
-</para>
-
-<para>
-Il riproduttore è decisamente robusto nella riproduzione di file MPEG rovinati
-(utile per alcuni VCD) e riproduce file AVI imperfetti, che sono illeggibili
-con il famoso <application>Windows Media Player</application>.
-Si possono anche leggere gli AVI non indicizzati e puoi ricostruire il loro
-indice temporaneamente con l'opzione <option>-idx</option> o permanentemente
-con <application>MEncoder</application>, abilitando così la ricerca!
-Come puoi vedere, la stabilità e la qualità sono lo cose più importanti,
-ma anche la velocità è impressionante. C'è anche un potente sistema di
-filtri per la manipolazione audio e video.
-</para>
-
-<para>
-<application>MEncoder</application> (<application>MPlayer</application>'s Movie
-Encoder, Codificatore di film di MPlayer) è un semplice codificatore di film,
-progettato per codificare tutti i filmati visualizzabili da
-<application>MPlayer</application>
-(AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)
-in altri formati sempre visualizzabili da <application>MPlayer</application>
-(vedi sotto). Può codificare con vari codec, come MPEG-4 (DivX4)
-(uno o due passi), <systemitem class="library">libavcodec</systemitem>, audio
-PCM/MP3/VBR MP3.
-</para>
-
-<itemizedlist>
-<title>Caratteristiche di <application>MEncoder</application></title>
-<listitem><para>
- Codifica da un'ampia gamma di formati e decodificatori di
- <application>MPlayer</application>
-</para></listitem>
-<listitem><para>
- Codifica in tutti i formati da
- <systemitem class="library">libavcodec</systemitem> di FFmpeg
-</para></listitem>
-<listitem><para>
- Codifica video da sintonizzatori TV compatibili V4L
-</para></listitem>
-<listitem><para>
- Codifica/multiplex in file AVI con interleave con indici corretti
-</para></listitem>
-<listitem><para>
- Creazione di file da flussi audio esterni
-</para></listitem>
-<listitem><para>
- Codifica in 1, 2 o 3 passi
-</para></listitem>
-<listitem><para>
- Audio MP3 VBR
-</para></listitem>
-<listitem><para>
- Audio PCM
-</para></listitem>
-<listitem><para>
- Copia dei flussi
-</para></listitem>
-<listitem><para>
- Sincronizzazione A/V dell'input (basata su PTS, può esser disabilitata con
- l'opzione <option>-mc 0</option>)
-</para></listitem>
-<listitem><para>
- Correzione dei fps con l'opzione <option>-ofps</option> (utile codificando
- VOB a 30000/1001 fps in AVI a 24000/1001 fps)
-</para></listitem>
-<listitem><para>
- Usa il nostro potentissimo sistema di filtri (crop, expand, flip, postprocess,
- rotate, scale, conversione rgb/yuv)
-</para></listitem>
-<listitem><para>
- Può codificare sottotitoli DVD/VOBsub e sottotitoli testuali nel file di
- uscita
-</para></listitem>
-<listitem><para>
- Può codificare sottotitoli DVD in formato VOBsub
-</para></listitem>
-</itemizedlist>
-
-<!-- FIXME: the license should be in bookinfo -->
-<para>
-<application>MPlayer</application> e <application>MEncoder</application>
-possono esser distribuiti nei termini della GNU General Public License Version 2.
-</para>
-
-</chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/it/encoding-guide.xml b/DOCS/xml/it/encoding-guide.xml
deleted file mode 100644
index dd326c2..0000000
--- a/DOCS/xml/it/encoding-guide.xml
+++ /dev/null
@@ -1,5354 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 44% synced with r22753 (row 2377) -->
-<chapter id="encoding-guide">
-<title>La codifica con <application>MEncoder</application></title>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Produrre un rip di un film da DVD in un
- MPEG-4 ("DivX") di alta qualità </title>
-
-<para>
-Una domanda frequente è "Come posso generare il rip con la migliore qualitÃ
-per una dimensione data?". Un'altra domanda è "Come posso fare il rip da DVD
-migliore in assoluto? Non mi interessa la dimensione del file, voglio solo la
-più alta qualità ."
-</para>
-
-<para>
-L'ultima domanda è perlomeno forse posta malamente. Dopo tutto, se non ti
-interessa la dimensione del file, perché non ti copi semplicemente l'intero
-flusso video MPEG-2 dal DVD? Certo, avrai un AVI di 5GB, prendere o lasciare,
-ma se vuoi la miglior qualità e non ti importa della dimensione, è
-sicuramente la scelta migliore.
-</para>
-
-<para>
-Invero, la ragione per cui vuoi codificare un DVD in MPEG-4 è proprio perché
-ti interessa <emphasis role="bold">davvero</emphasis> la dimensione del file.
-</para>
-
-<para>
-E' difficile offrire una ricetta da libro su come generare un rip da DVD in
-qualità molto alta. Bisogna considerare vari fattori, e dovresti comprendere
-questi dettagli, altrimenti alla fine probabilmente sarai insoddisfatto del
-risultato. Più sotto evidenziamo alcuni di questi argomenti e poi passiamo ad
-esaminare un esempio. Partiamo dal principio che per codificare il video tu
-stia usando <systemitem class="library">libavcodec</systemitem> anche se la
-teoria si applica allo stesso modo agli altri codec.
-</para>
-
-<para>
-Se questo ti sembra troppo, dovresti probabilmente usare una delle belle
-interfacce elencate nella
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">sezione su MEncoder</ulink>
-nella pagina dei progetti collegati (related projects).
-In tal modo riuscirai ad ottenere rip di alta qualità senza pensarci troppo,
-dato che la maggior parte di questi strumenti sono progettati per prendere
-decisioni sagge al tuo posto.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>Prepararsi alla codifica: identificare il materiale sorgente e la frequenza fotogrammi (framerate)</title>
-
-<para>
-Prima ancora di pensare a codificare un film, devi fare alcuni passi
-preliminari.
-</para>
-
-<para>
-Il primo e più importante passo prima della codifica dovrebbe essere
-determinare il tipo di contenuto che stai trattando.
-Se il tuo materiale di partenza arriva da un DVD o da TV in
-broadcast/via cavo/satellite, sarà salvato in uno dei due formati: NTSC per
-il Nord America e il Giappone, PAL per l'Europa, etc...
-E' importante tuttavia comprendere che questo è solo il formato per la
-trasmissione in televisione, e spesso <emphasis role="bold">non</emphasis>
-corrisponde al formato originario del film.
-L'esperienza insegna che il materiale NTSC è molto più difficile da
-codificare, perché ci sono più elementi da identificare nel sorgente.
-Per generare una codifica adeguata, devi sapere il formato originario.
-Il non tenerne conto porterà a molti __flaws__ nella tua codifica, inclusi
-artefatti orrendi __combing__ (interlacing) e fotogrammi duplicati o addirittura
-perduti.
-Oltre ad essere brutti, gli artefatti influenzano negativamente l'efficienza
-della codifica: otterrai una peggior qualità a parità di bitrate.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
-<title>Identificare la frequenza fotogrammi (framerate) del sorgente</title>
-
-<para>
-C'è qui un elenco di tipi comuni di materiale sorgente, dove facilmente si
-trovano e le loro proprietà :
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Film standard</emphasis>: prodotti per la visione
- su schermi da cinema a 24fps.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Video PAL</emphasis>: registrati con una videocamera
- PAL a 50 campi al secondo.
- Un campo è composto dalle sole linee pari o dispari di un fotogramma.
- La televisione è stata progettata per aggiornarle alternativamente come un
- metodo economico di compressione analogica.
- L'occhio umano teoricamente compensa la cosa, ma una volta che capisci come
- funziona l'interlacciatura imparerai a vederla anche in TV e non ti piacerÃ
- più la TV.
- Due campi <emphasis role="bold">non</emphasis> fanno un fotogramma intero,
- poiché sono registrati a 1/50 di secondo di distanza nel tempo e quindi non
- si allineano a meno che non ci sia movimento alcuno.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Video NTSC</emphasis>: registrati con una videocamera
- NTSC a 60000/1001 campi al secondi, o 60 campi al secondo nell'era precedente
- al colore.
- Per il resto sono simili ai PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Animazione</emphasis>: solitamente disegnati a 24fps,
- ma se ne trovano anche in tipologie con frequenza di fotogrammi mista.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Computer Graphics (CG)</emphasis>: possono essere con
- qualsiasi frequenza di fotogrammi, ma alcuni sono più comuni di altri;
- sono tipici 24 e 30 fotogrammi al secondo per NTSC e 25fps per PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Vecchi Film</emphasis>: varie e più basse frequenze di
- fotogrammi.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
-<title>Identificare il materiale sorgente</title>
-
-<para>
-I film composti da fotogrammi sono indicati come "progressivi", mentre quelli
-composti da campi indipendenti sono chiamati "interlacciati" o video - anche se
-quest'ultimo termine è ambiguo.
-</para>
-
-<para>
-Per complicare ulteriormente le cose, alcuni film possono essere un misto di
-molti dei suddetti.
-</para>
-
-<para>
-La più importante distinzione da farsi tra tutti questi formati è che alcuni
-sono basati su fotogrammi mentre gli altri sono basati su campi.
-<emphasis role="bold">Ogniqualvolta</emphasis> un film viene preparato per la
-visualizzazione in televisione (DVD inclusi), viene convertito in un formato
-basato su campi.
-I vari metodi con cui si può fare sono conosciuti nel loro insieme come
-"telecine", di cui il tristemente famoso "3:2 pulldown" NTSC è una tipologia.
-A meno che il materiale originale sia anch'esso basato su campi (e con la stessa
-frequenza di campi) otterrai un filmato in un formato diverso da quello che è
-in origine.
-</para>
-
-<itemizedlist>
-<title>Ci sono vari tipi usuali di "pulldown":</title>
-<listitem><para>
- <emphasis role="bold">Pulldown PAL 2:2</emphasis>: il più bello di tutti.
- Ciascun fotogramma viene mostrato per la durata di due campi, estraendo le
- linee pari e dispari e mostrandole alternativamente.
- Se il materiale di origine è a 24fps questo processo velocizza il filmato
- del 4%.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>:
- Ogni dodicesimo fotogramma viene mostrato per la durata di tre campi, invece
- che solamente per due.
- Questo evita il problema dell'aumento del 4% di velocità , ma rende il
- processo molto più difficile da __reversare__.
- Solitamente viene usato nelle produzioni musicali, dove modificare del 4% la
- velocità rovinerebbe pesantemente la colonna sonora.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Telecine NTSC 3:2</emphasis>: i fotogrammi vengono
- mostrati alternativamente per la durata di 3 o 2 campi.
- Questo porta ad una frequenza di campi di 2.5 volte la frequenza orginaria.
- Il risultato viene anche leggermente rallentato da 60 campi al secondo fino a
- 60000/1001 campi al secondo, per mantenere la frequenza dei campi di NTSC.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Pulldown NTSC 2:2</emphasis>: utilizzato per mostrare
- materiale a 30fps su NTSC.
- Carino, proprio come il pulldown PAL 2:2.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Ci sono anche alcuni metodi per convertire tra video NTSC e PAL, ma gli
-arogmenti relativi non sono obiettivo di questa guida.
-Se ti trovi di fronte a un film di questo genere e lo vuoi codificare, la tua
-scelta migliore è cercarne una copia nel formato originale.
-La conversione tra questi due formati è altamente distruttiva e non può
-essere __reversed__ in maniera pulita, perciò la tua codifica __soffrirà __
-molto se eseguita da una sorgente convertita.
-</para>
-
-<para>
-Quando il video viene salvato du un DVD, coppie consecutive di campi sono
-raggruppati in un fotogramma, anche se non sono pensati per esser mostrati
-nello stesso momento.
-Lo standard MPEG-2 usato sui DVD e per la TV digitale fornisce un modo sia per
-codificare i fotogrammi progressivi originali, che uno per memorizzare
-nell'intestazione del fotogramma il numero dei campi per cui il fotogramma
-stesso debba essere mostrato.
-Se viene usato questo metodo il filmato verrà spesso indicato come
-"soft telecine", visto che il procedimento indica semplicemente al lettore DVD
-di applicare il pulldown al film, invece che modificare il film stesso.
-Questa situazione è decisamente preferibile, dato che può essere facilmente
-__reversed__ (__actually ignored__) dal condificatore, e dato che mantiene la
-massima qualità .
-Tuttavia, molti studi di produzione DVD e di trasmissione non usano tecniche di
-codifica appropriate, ma al contrario producono filmati con "hard telecine", in
-cui i campi sono sotanzialmente duplicati nell'MPEG-2 codificato.
-</para>
-
-<para>
-Le modalità per gestire questi casi verranno descritte
-<link linkend="menc-feat-telecine">più avanti in questa guida</link>.
-Per adesso ti lasciamo alcune indicazioni su come identificare il tipo di
-materiale che stai trattando:
-</para>
-
-<itemizedlist>
-<title>Regioni NTSC:</title>
-<listitem><para>
- Se <application>MPlayer</application> dice che la frequenza fotogrammi passa
- a 24000/1001 durante la visione del film e non ritorna come prima, è quasi
- sicuramente un qualche contenuto progressivo che è stato modificato in
- "soft telecine".
-</para></listitem>
-<listitem><para>
- Se <application>MPlayer</application> dice che la frequenza fotogrammi va
- avanti e indietro tra 24000/1001 e 30000/1001 e ogni tanto vedi delle "righe",
- allora ci sono varie possibilità .
- Le parti a 24000/1001 fps sono quasi certamente contenuto progressivo, in
- "soft telecine", ma le parti a 30000/1001 fps possono essere sia contenuto in
- "hard telecine" a 24000/1001 fps che video NTSC a 60000/1001 campi al secondo.
- Usa le stesse linee guida dei due casi seguenti per determinare quale.
-</para></listitem>
-<listitem><para>
- Se <application>MPlayer</application> non mostra mai una modifica alla
- frequenza dei fotogrammi e ogni singolo fotogramma con del movimento appare
- "rigato", il tuo filmato è video NTSC a 60000/1001 campi al secondo.
-</para></listitem>
-<listitem><para>
- Se <application>MPlayer</application> non mostra mai una modifica alla
- frequenza dei fotogrammi e due fotogrammi ogni cinque sono "rigati", il tuo
- film è contenuto a 24000/1001fps in "hard telecine".
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Regioni PAL:</title>
-<listitem><para>
- Se non vedi mai alcuna "riga", il tuo film è pulldown 2:2.
-</para></listitem>
-<listitem><para>
- Se vedi delle "righe" che vanno e vengono ogni mezzo secondo,
- allora il tuo film è pulldown 2:2:2:2:2:2:2:2:2:2:2:3.
-</para></listitem>
-<listitem><para>
- Se vedi sempre "righe" durante il movimento, allora il tuo film è video
- PAL a 50 campi al secondo.
-</para></listitem>
-</itemizedlist>
-
-<note><title>Consiglio:</title>
-<para>
- <application>MPlayer</application> può rallentare la riproduzione del film
- con l'opzione -speed o riprodurlo fotogramma per fotogramma.
- Prova ad usare <option>-speed</option> 0.2 per guardare molto lentamente il
- film o premi ripetutamente il tasto "<keycap>.</keycap>" per riprodurre un
- fotogramma per volta ed identificare la sequenza, se non riesci a vederla a
- velocità normale.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>Quantizzatore costante vs. multipassaggio</title>
-
-<para>
-E' possibile codificare il filmato in un'ampia gamma di qualità .
-Con i codificatori video moderni e un pelo di compressione pre-codec
-(ridimensionando e ripulendo), è possibile raggiungere una qualità molto
-buona in 700 MB, per un film di 90-110 minuti in widescreen.
-Inoltre tutti i film tranne i più lunghi possono essere codificati con una
-qualità pressoché perfetta in 1400 MB.
-</para>
-
-<para>
-Ci sono tre approcci per codificare il video: bitrate costante (CBR),
-quantizzatore costante, e multipassaggio (ABR, o bitrate medio).
-</para>
-
-<para>
-La complessità dei fotogrammi di un filmato, e di conseguenza il numero di
-bit necessari per comprimerli, può variare molto da una scena ad un'altra.
-I codificatori video moderni possono adattarsi via via a queste necessitÃ
-e cambiare il bitrate.
-In modalità semplici come CBR, tuttavia, i codificatori non sanno il bitrate
-necessario alle scene venture e perciò non possono stare sopra al bitrate
-richiesto per lunghi periodi di tempo.
-Modalità più avanzate, come la codifica in multipassaggio, possono tener
-conto delle statistiche del passo precedente; questo corregge il problema
-suddetto.
-</para>
-
-<note><title>Nota:</title>
-<para>
-La maggior parte dei codec che gestisce la codifica in ABR può usare solo la
-codifica a due passaggi mentre altri come
-<systemitem class="library">x264</systemitem>,
-<systemitem class="library">Xvid</systemitem> e
-<systemitem class="library">libavcodec</systemitem> gestiscono il
-multipassaggio, che migliora leggermente la qualità ad ogni passo, anche se
-tale moglioramento non è più misurabile né visibile veramente oltre il
-quarto passo o giù di lì.
-Perciò in questa sezione due passaggi e multipassaggio avranno lo stesso
-significato.
-</para>
-</note>
-
-<para>
-In ambedue i modi, il codec video (come
-<systemitem class="library">libavcodec</systemitem>) spezza il fotogramma video
-in macroblocchi da 16x16 pixel e poi applica un quantizzatore a ciascun
-macroblocco. Più basso è il quantizzatore, migliore sarà la qualità e
-più alto il bitrate.
-Il metodo usato dal codificatore del filmato per determinare quale quantizzatore
-utilizzare per un dato macroblocco varia ed è altamente configurabile.
-(Questa è una semplificazione estrema del vero processo, ma il concetto di base
-è comodo per capire.)
-</para>
-
-<para>
-Quando specifichi un bitrate constante, il codec video codificherà il video,
-scartando dettagli tanto quanto è necessario e il meno possibile, in modo da
-rimanere al di sotto del bitrate voluto. Se non ti interessa davvero la
-dimensione del file, potresti anche usare CBR e specificare un bitrate
-infinito. (In pratica, questo significa un valore abbastanza alto da non porre
-limiti, come 10000Kbit.) Con nessun limite sul bitrate, il risultato è che il
-codec userà il quantizzatore più basso possibile per ciascun macroblocco
-(come specificato da <option>vqmin</option> per
-<systemitem class="library">libavcodec</systemitem>, che è 2 di default).
-Appena specifichi un bitrate abbastanza basso tale che il codec venga forzato
-ad utilizzare un quantizzatore più alto, allora stai sicuramente diminuendo la
-qualità del tuo video.
-Per evitarlo, dovresti probabilmente ridurre la dimensione del tuo video,
-seguendo il metodo descritto più avanti in questa guida.
-In generale dovresti evitare del tutto CBR se ti interessa la qualità .
-</para>
-
-<para>
-Con il quantizzatore costante, il codec utilizza lo stesso quantizzatore per
-ogni macroblocco, come specificato dall'opzione <option>vqscale</option> (per
-<systemitem class="library">libavcodec</systemitem>).
-Se vuoi la più alta qualità possibile di rip, sempre ignorantdo il bitrate,
-puoi usare <option>vqscale=2</option>.
-Ciò porterà gli stessi bitrate e PSNR (peak signal-to-noise ratio) come CBR
-con <option>vbitrate</option>=infinito e <option>vqmin</option> di default a 2.
-</para>
-
-<para>
-Il problema con la quantizzazione costante è che usa il quantizzatore indicato
-sia che il macroblocco ne abbia bisogno o no. Perciò è possibile che venga
-usato un quantizzatore più alto su un macroblocco senza sacrificare la
-qualità visiva. Perché sprecare i bit di un quantizzatore basso che non
-serve? La tua CPU ha tanti cicli fin quando c'è tempo, ma c'è solo un certo
-numero di bit sul tuo disco rigido.
-</para>
-
-<para>
-Con una codifica a due passi, il primo codificherà il filmato come se fosse
-CBR, ma manterrà una registrazione delle caratteristiche di ogni fotogramma.
-Questi dati sono poi utilizzati durante il secondo passo in modo da effettuare
-scelte intelligenti su quale quantizzatore usare. Durante le scene con azione
-veloce o molti dettagliate, verrano usati più probabilmente quantizzatori più
-alti, e durante scene lente o con pochi dettagli, verranno usati quantizzatori
-più bassi. Solitamente è molto più importante la quantità di movimento
-che la quantità di dettagli.
-</para>
-
-<para>
-Se usi <option>vqscale=2</option>, allora stai sprecando dei bit. Se usi
-<option>vqscale=3</option>, allora non stai ottenendo la miglior qualità .
-Supponi di rippare un DVD a <option>vqscale=3</option> e che il risultato sia
-1800Kbit. Se fai una codifica a due passi con <option>vbitrate=1800</option> il
-video risultante avrà una <emphasis role="bold">qualità superiore</emphasis>
-a <emphasis role="bold">parità di bitrate</emphasis>.
-</para>
-
-<para>
-Dato che ora sei convinto che i due passaggi siano la strada da percorrere, la
-vera domanda adesso è quale bitrate usare? La risposta à che non c'è una
-risposta definitiva. Idealmente vuoi scegliere un bitrate che porti al miglior
-equilibrio tra qualità e dimensione del file. Tutto ciò varia in dipendenza
-del video di origine.
-</para>
-
-<para>
-Se la dimensione non è importante, un buon punto di partenza per un rip di
-qualità molto elevata è intorno a 2000Kbit più o meno 200Kbit.
-Per video con scene di azione veloce o con molti dettagli, oppure se
-semplicemente hai l'occhio critico, potresti scegliere 2400 o 2600.
-Per alcuni DVD potresti non notare alcuna differenza a 1400Kbit. Sperimentare
-con alcune scene a vari bitrate è una buona idea per farsi un'opinione.
-</para>
-
-<para>
-Se punti a una data dimensione, dovrai calcolare il bitrate in un qualche modo.
-Prima di farlo, però, devi sapere quanto spazio devi riservare per la traccia
-(le tracce) audio, per cui devi dapprima fare il
-<link linkend="menc-feat-dvd-mpeg4-audio">rip di queste</link>.
-Puoi calcolare il bitrate con l'equazione che segue:
-<systemitem>bitrate = (dimensione_voluta_in_Mbytes - dimensione_audio_in_Mbytes)
-* 1024 * 1024 / lunghezza_in_secondi * 8 / 1000</systemitem>
-Per esempio, per far stare un film di due ore su un CD da 702MB, con 60MB di
-traccia audio, il bitrate video diventerà :
-<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
-= 740kbps</systemitem>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-constraints">
-<title>Vincoli per una codifica efficiente</title>
-
-<para>
-A causa della natura del tipo di compressione MPEG, ci sono alcuni vincoli da
-seguire per avere la massima qualità .
-L'MPEG divide il video in quadrati da 16x16 chiamati macroblocchi, ciascuno di
-essi composto da blocchi 4x4 con informazioni sulla luminanza (intensità ) e
-due blocchi da 8x8 a metà risoluzione per la crominanza (colore) (uno per
-l'asse rosso-ciano e l'altro per l'asse blu-giallo).
-Anche se la larghezza e l'altezza del tuo filmato non sono multipli di 16 il
-codificatore userà tanti macroblocchi 16x16 in modo da coprire tutta la
-superficie dell'immagine, e lo spazio in esubero sarà sprecato.
-Indi, per migliorare la qualità a una dimensione prefissata è una brutta
-idea utilizzare dimensioni che non siano multiple di 16.
-</para>
-
-<para>
-La maggior parte dei DVD ha anche alcune con bordi neri sui lati. Lasciarli lì
-avrà un'influenza <emphasis role="bold">molto</emphasis> negativa sulla
-qualità in svariati modi.
-</para>
-
-<orderedlist>
-<listitem>
- <para>
- Il tipo di compressione MPEG è pesantemente dipendente dalle trasformazioni
- di dominio frequenti, in particolare la "trasformazione discreta del coseno"
- (Discrete Cosine Transform (DCT)), che xxièe' simile alla trasformazione di
- Fourier. Quest'approccio di codifica è efficiente nella rappresentazione di
- motivi e transizioni delicate, ma trova difficoltà con spigoli più
- definiti. Per codificarli deve usare molti più bit oppure apparirà un
- artefatto conosciuto come 'ringing'.
- </para>
-
- <para>
- La trasformazione di frequenza (DCT) prende luogo separatemente in ogni
- macroblocco (praticamente in ogni blocco) perciò questo problema si applica
- solo quando lo spigolo definito è dentro a un blocco. Se il bordo nero inizia
- esattamente sul lato di un multiplo di 16, questo non e' un problema.
- Tuttavia i bordi neri sui DVD difficilmente sono ben allineati, perciò
- nella realtà dovrai sempre tagliarli via per evitare questi problemi.
- </para>
-</listitem>
-</orderedlist>
-
-<para>
-Oltre alle trasformazioni del dominio di frequenza, il tipo di compressione
-MPEG usa dei vettori di movimento per rappresetare le variazioni da un
-fotogramma al successivo. Naturalmente i vettori di movimento funzionano molto
-meno bene per i nuovi contenuti che arrivano dai bordi dell'immagine, dato che
-non erano presenti nel fotogramma precedente. Fintanto che l'immagine arriva
-fino al bordo dell'area codificata, i vettori di movimento non incontrano
-alcun problema con li contenuto che esce dall'immagine. Tuttavia ci possono
-esser problemi quando ci sono dei bordi neri:
-</para>
-
-<orderedlist continuation="continues">
-<listitem>
- <para>
- Per ogni macroblocco il tipo di compressione MPEG memorizza un vettore, che
- identifica quale parte del fotogramma precedente debba essere copiata nel
- macroblocco stesso, come base per predire il fotogramma successivo. Serve
- codificare solo le differenze restanti. Se un macroblocco oltrepassa il
- bordo dell'immagine e contiene parte del bordo nero, allora i vettori di
- movimento provenienti da altre zone dell'immagine ricopriranno il bordo
- nero. Questo significa che si devono utilizzare molti bit o per riannerire il
- bordo che è stato ricoperto, oppure (più verosimilmente) un vettore di
- movimento non sarà proprio usato e tutti i cambiamenti in questo
- macroblocco dovranno venir esplicitamente codificate. In un modo o nell'altro
- si ricuce di gran lunga l'efficienza della codifica.
- </para>
-
- <para>
- Inoltre questo problema si applica solo se i bordi neri non sono allinati
- su limiti di multipli di 16.
- </para>
-</listitem>
-
-<listitem>
- <para>
- Immagina infine di avere un macroblocco all'interno dell'immagine, ed un
- oggetto che passa da questo blocco verso il bordo dell'immagine. La
- codifica MPEG non può dire "copia la parte che è dentro all'immagine, ma
- non il bordo nero". Perciò anche il bordo nero vi verrà copiato
- all'interno, e molti bit saranno sprecati codificando l'immagine che si
- suppone stia lì.
- </para>
-
- <para>
- Se l'immagine arriva al limite della superficie codificata, l'MPEG ha una
- particolare ottimizzazione che consta nel copiare ripetutamente i pixel sul
- bordo dell'immagine quando un vettore di movimento arriva dall'esterno della
- superficie codificata. Questa funzionalità diventa inutile quando il film
- ha dei bordi neri. Diversamente dai problemi 1 e 2, allineare i bordi a
- multipli di 16 in questo caso non aiuta.
- </para>
-</listitem>
-
-<listitem><para>
- A dispetto del fatto che i bordi siano completamente neri e non cambino mai,
- c'è perlomeno un piccolo spreco nell'avere più macroblocchi.
-</para></listitem>
-</orderedlist>
-
-<para>
-Per tutte queste ragioni si consiglia di tagliar via completamente i bordi neri.
-Inoltre, se c'è una zona di rumore/distorsione sui bordi dell'immagine,
-tagliarla migliorerà ancora l'efficienza di codifica. I puristi videofili che
-vogliono mantenere il più possibile l'originale potrebbero obiettare su questo
-taglio, ma a meno di non codificare a una quantizzazione costante, la qualitÃ
-guadagnata tagliando sorpasserà di gran lunga la quantità di informazioni
-perse sui bordi.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>Tagliare e Ridimensionare</title>
-
-<para>
-Ricorda dalla sezione precedente che la dimensione finale dell'immagine che
-codifichi dovrebbe essere un multiplo di 16 (sia in larghezza che altezza).
-Si può ottenere ciò tagliando, ridimensionando o combinando le due cose.
-</para>
-
-<para>
-Quando tagli, ci sono alcune linee guida che si devono seguire per evitare di
-rovinare il tuo filmato.
-Il formato YUV abituale, 4:2:0, memorizza le informazioni sulla crominanza
-(colore) sottocampionate, per es. la crominanza viene campionata in ogni
-direzione solo la metà di quanto venga la luminanza (intensità ).
-Osserva questo diagramma, dove L indica i punti di campionamente della
-luminanza e C quelli della crominanza.
-</para>
-
-<informaltable>
-<?dbhtml table-width="40%" ?>
-<?dbfo table-width="40%" ?>
-<tgroup cols="8" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Come puoi vedere, le righe e le colonne dell'immagine vengono sempre a coppie.
-Quindi i tuoi valori di spostamento e dimensione <emphasis>devono</emphasis>
-essere numeri pari.
-Se non lo sono la crominanza non sarà più allineata correttamente con la
-luminanza.
-In teoria è possibile tagliare con uno spostamento dispari, ma richiede che la
-crominanza venga ricampionata, il che potenzialmente è un'operazione in perdita
-e non è gestita dal filtro crop.
-</para>
-
-<para>
-Inoltre, il video interlacciato viene campionato come segue:
-</para>
-
-<informaltable>
-<?dbhtml table-width="80%" ?>
-<?dbfo table-width="80%" ?>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
-<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
-<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
-<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
-<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Campo superiore</entry>
- <entry namest="col9" nameend="col16">Campo inferiore</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Come puoi notare, il motivo non si ripete fino a dopo 4 linee.
-Quindi per il video interlacciato, il tuo spostamento sull'asse y e l'altezza
-devono essere multipli di 4.
-</para>
-
-<para>
-La risoluzione nativa DVD è 720x480 per NTSC e 720x576 per PAL, ma c'è un
-flag per l'aspetto che indica se è full-screen (4:3) o wide-screen (16:9).
-Molti (se non quasi tutti) i DVD in widescreen non sono esattamente 16:9 e
-possono essere sia 1.85:1 o 2.35:1 (cinescope). Questo significa che nel video
-ci saranno bordi neri che bisogna tagliare via.
-</para>
-
-<para>
-<application>MPlayer</application> fornisce un filtro che rileva i valori di
-taglio e fornisce il rettangolo per crop (<option>-vf cropdetect</option>).
-Esegui <application>MPlayer</application> con <option>-vf cropdetect</option> ed
-emetterà le impostazioni di taglio per crop al fine di rimuovere i bordi.
-Dovresti lasciare andare avanti il film abbastanza da ottenere valori di taglio
-precisi.
-</para>
-
-<para>
-Dopodiché prova con <application>MPlayer</application> i valori ottenuti usando
-la linea comando emessa da <option>cropdetect</option>, e correggi il
-rettangolo se e come serve.
-Il filtro <option>rectangle</option> può esserti di aiuto, dato che ti
-permette di impostare interattivamente la posizione del rettangolo di taglio
-sopra al filmato.
-Ricordati di seguire le linee guida sui multipli in modo da non disallineare
-i piani di crominanza.
-</para>
-
-<para>
-In talune occasioni, il ridimensionamento può essere indesiderabile.
-Il ridimensionamento sulla direzione verticale è difficoltoso con video
-interlacciato e se vuoi mantenere l'interlacciamento, dovresti evitare il
-ridimensionamento.
-Se non ridimensionerai, ma vuoi comunque usare dimensioni multiple di 16,
-dovrai tagliare di più.
-Evita di tagliare di meno, dato che i bordi neri sono un male per la codifica!
-</para>
-
-<para>
-Dato che MPEG-4 usa macroblocchi 16x16 vorrai esser sicuro che ambedue le
-dimensioni del video che stai per codificare siano multiple di 16, altrimenti
-perderai in qualità , soprattutto a bitrate più bassi. Puoi farlo abbassando
-la larghezza e l'altezza del rettangolo di taglio al multiplo di 16 più vicino.
-Come detto precedentemente, quando tagli, vorrai aumentare lo scostamento Y
-della metà della differenza tra la nuova e la vecchia altezza, in modo che il
-video risultante sia preso dal centro del fotogramma. Inoltre, a causa del modo
-in cui il video DVD viene campionato, assicurati che lo scostamento sia un
-numero pari. (Infatti, come regola, non utilizzare mai valori dispari per alcun
-parametro quando tagli e ridimensioni un video.) Se non ti va di scartare dei
-pixel in più, potresti piuttosto preferire il ridimensionamento del video.
-Prenderemo in esame questa situazione più avanti.
-Puoi in verità lasciare che tutte le considerazioni suddette vengano fatte
-dal filtro <option>cropdetect</option>, visto che ha un parametro
-<option>round</option> facoltativo, che è impostato a 16 di default.
-</para>
-
-<para>
-Fai anche attenzione ai pixel "mezzi neri" sui bordi. Assicurati di tagliare
-anch'essi, altrimenti sprecherai bit più utili altrove.
-</para>
-
-<para>
-Dopo aver detto e fatto tutto ciò, probabilmente avrei un vide i cui pixel
-non saranno proprio 1.85:1 o 2.35:1, ma piuttosto un valore vicino. Potresti
-calcolare a mano il nuovo rapporto di aspetto, ma
-<application>MEncoder</application> ha un'opzione per <systemitem
-class="library">libavcodec</systemitem> chiamata <option>autoaspect</option>
-che lo farà per te. Non aumentare assolutamente le dimensioni del video per
-avere i pixel quadrati, a meno che tu non voglia sprecare il tuo spazio disco.
-Il ridimensionamento dovrebbe essere eseguito in riproduzione, e per definire
-la risoluzione giusta il riproduttore userà l'aspetto memorizzato nell'AVI.
-Sfortunatamente non tutti i riproduttori verificano l'informazione sul rapporto
-perciò potresti voler comunque effettuare il ridimensionamento.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>Scegliere la risoluzione e il bitrate</title>
-
-<para>
-A meno che tu non stia per codificare con quantizzazione costante devi
-impostare un bitrate.
-La logica del bitrate è abbastanza semplice.
-Normalmente il bitrate viene misurato in kilobit (1000 bit) al secondo.
-La dimensione del filmato sul disco è il bitrate moltiplicato per la durata
-del filmato, più un piccolo quantitativo in "surplus" (vedi per esempio la
-sezione sul
-<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">contenitore AVI</link>).
-Altri parametri come ridimensionamento, taglio, etc...
-<emphasis role="bold">non</emphasis> influiscono sulla dimensione del file a
-meno che tu non cambi anche il bitrate!
-</para>
-
-<para>
-Il bitrate <emphasis role="bold">non</emphasis> è direttamente proporzionale
-alla risoluzione.
-Tanto per capirci, un file 320x240 a 200 kbit/sec non avrà la stessa qualitÃ
-dello stesso filmato a 640x480 e 800 kbit/sec!
-Ci sono due ragioni per ciò:
-<orderedlist>
-<listitem><para>
- <emphasis role="bold">Percettiva</emphasis>: noti di più gli artefatti MPEG
- quando sono più grandi!
- Gli artefatti appaiono a livello dei blocchi (8x8).
- Il tuo occhio non noterà errori in 4800 piccoli blocchi tanti quanti ne
- vedrà in 1200 grossi blocchi (assumendo che tu li stia ridimensionando tutti
- e due a schermo intero).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Teorica</emphasis> : quando rimpicciolisci un immagine
- ma usi la stessa dimensione dei blocchi (8x8) per la trasformazione spaziale
- della frequenza, hai più dati nelle bande ad alta frequenza. In parole
- povere, ogni pixel contiene più dettagli di quanti ne contenesse prima.
- Quindi anche se la tua immagine rimpicciolita contiene 1/4 delle informazioni
- sulle direzioni spaziali, potrebbe ancora contenere una gran parte delle
- informazioni nel dominio delal frequenza (assumendo che le alte frequenze
- siano sotto-utilizzate nell'immagine di origine a 640x480).
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Guide precendenti hanno consigliato di scegliere un bitrate e una risoluzione
-in base ad un approccio "bit al secondo", ma di solito ciò non è valido a
-causa delle ragioni suddette.
-Una stima migliore pare essere che il bitrate è proporzionale alla radice
-quadrata della risoluzione, per cui 320x240 e 400 kbit/sec sarÃ
-paragonabile a 640x480 a 800 kbit/sec.
-Tuttavia ciò non è stato verificato con certezza empirica o teorica.
-Inoltre, dato che i filmati hanno diversi livelli di disturbo, dettaglio, angoli
-di movimento, etc..., è vano dare consigli generici su bit per lunghezza della
-diagonale (analogamente a bit per pixel, usando la radice quadrata).
-</para>
-<para>
-Finora abbiamo parlato della difficoltà nel scegliere un bitrate e una
-risoluzione.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-<title>Calcolare la risoluzione</title>
-
-<para>
-I passaggi seguenti ti guideranno nel calcolo della risoluzione per la tua
-codifica senza distorcere troppo il video, tenendo in considerazione vari tipo
-di informazioni riguardo la sorgente video.
-Per prima cosa dovresti calcolare il rapporto di aspetto codificato:
-<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
-
-<itemizedlist>
-<title>dove:</title>
-<listitem><para>
- Wc e Hc sono la larghezza e l'altezza del video tagliato,
-</para></listitem>
-<listitem><para>
- ARa è il rapporto di aspetto mostrato, che di solito è 4/3 o 16/9,
-</para></listitem>
-<listitem><para>
- PRdvd à il rapporto del pixel del DVD che è uguale a 1.25=(720/576) per DVD
- PAL e 1.5=(720/480) per DVD NTSC.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Dopo puoi calcolare la risoluzione X e Y, basandoti su un dato fattore
-di qualità di compressione (Compression Quality, CQ):
-<systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
-and
-<systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
-</para>
-
-<para>
-Okay, ma cos'è la CQ?
-Il CQ rappresenta il numero di bit per pixel e per fotogramma in codifica.
-Parlando più semplicemente, più alto è la CQ, più difficilmente si vedranno
-codificati degli artefatti.
-Tuttavia, se desideri una particolare dimensione per il tuo film (per esempio
-1 o 2 CD), hai un numero limitato di bit da utilizzare; devi quindi trovare un
-buon compromesso tra compressione e qualità .
-</para>
-
-<para>
-La CQ dipende dal bitrate, dall'efficienza del codec video e dalla risoluzione
-del filmato.
-Per alzare la CQ, di solito dovrai rimpicciolire il filmato visto che il bitrate
-viene calcolato in funzione della dimensione voluta e della lunghezza del
-filmato, che sono delle costanti.
-Con codec MPEG-4 ASP come <systemitem class="library">Xvid</systemitem> e
-<systemitem class="library">libavcodec</systemitem>, una CQ inferiore a 0.18
-solitamente genera un'immagine abbastanza squadrettata, perché non ci sono
-abbastanza bit per codificare l'informazione di ogni macroblocco. (MPEG4, come
-molti altri codec, ragruppa i pixel in blocchi di pixel per comprimere
-l'immagine; se non ci sono abbastanza bit, si vedono i bordi dei blocchi.)
-E' saggio anche prendere una CQ compresa tra 0.20 e 0.22 per un rip a 1 CD,
-e 0.26-0.28 per un rip a 2 CD con impostazioni standard di codifica.
-Opzioni più evolute di codifica come quelle qui indicate per
-<link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
-e
-<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
-dovrebbero permetterti di ottenere la stessa qualità con CQ compresa tra
-0.18 e 0.20 per un rip da 1 CD, e da 0.24 a 0.26 per 2 CD.
-Con codec MPEG-4 AVC come <systemitem class="library">x264</systemitem>,
-puoi usare una CQ che varia da 0.14 a 0.16 con opzioni standard di codifica, e
-dovresti riuscire a scendere tra 0.10 e 0.12 con <link linkend="menc-feat-x264-example-settings">impostazioni avanzate di codifica
-<systemitem class="library">x264</systemitem></link>.
-</para>
-
-<para>
-Prendi per favore nota che CQ è solo un valore indicativo, dato che dipende dal
-contenuto che viene codificato, una CQ di 0.18 può andar bene per un Bergman,
-mentre per un film come Matrix, che contiene molte scene ad alta velocità , no.
-D'altro canto è inutile portare la CQ oltre 0.30 dato che sprecherai dei bit
-senza avere alcun guadagno visibile in qualità .
-Nota anche che come detto precedentemente in questa guida, per video a bassa
-risoluzione serve una CQ più alta (in rapporto, per esempio, alla risoluzione
-DVD) perché si vedano bene.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>Filtraggio</title>
-
-<para>
-Imparare come usare i filtri video di <application>MEncoder</application> è
-essenziale per produrre delle buone codfiche.
-Tutta l'elaborazione video è eseguita attraverso i filtri -- taglio,
-ridimensionamento, aggiustamento del colore, rimozione del disturbo, rilevamento
-margini, deinterlacciatura, telecine, telecine inverso, e deblocco, solo per
-nominarne qualcuno.
-Insieme con la vasta gamma di formati di entrata gestiti, la varietà dei
-filtri disponibili in <application>MEncoder</application> è uno dei suoi
-più grandi vantaggi sugli altri programmi similari.
-</para>
-
-<para>
-I filtri vengono caricati in catena usando l'opzione -vf:
-
-<screen>-vf filtro1=opzioni,filtro2=opzioni,...</screen>
-
-La maggior parte dei filtri riceve alcune opzioni numeriche separate da due
-punti, ma la sintassi per le opzioni cambia da filtro a filtro, indi leggiti la
-pagina man per i dettagli sul filtro che desideri usare.
-</para>
-
-<para>
-I filtri lavorano sul video nell'ordine in cui vengono caricati.
-Per esempio la catena seguente:
-
-<screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
-dapprima taglia la zona 688x464 dell'immagine con uno scostamento dall'alto a
-sinistra di (12,4), e poi ridimensiona il risultato a 640x464.
-</para>
-
-<para>
-Taluni filtri devono essere caricati all'inizio o vicino all'inizio della
-catena di filtri, in modo da trarre vantaggio dalle informazioni che arrivano
-dal decoder video, che potrebbero essere perse o invalidate da altri filtri.
-Gli esempi principali sono <option>pp</option> (post elaborazione
-(postprocessing), solo quando esegue operazioni di deblock o dering),
-<option>spp</option> (un altra post elaborazione per eliminare artefatti MPEG),
-<option>pullup</option> (telecine inverso), e <option>softpulldown</option>
-(per passare da telecine soft a hard).
-</para>
-
-<para>
-In generale vorrai filtrare il meno possibile in modo da rimaner fedele alla
-sorgente DVD originale. Il taglio è spesso necessario (com detto sopra), ma
-evita di ridimensionare il video. Anche se alcune volte si preferisce
-rimpicciolire per poter usare quantizzatori più alti, vogliamo evitare ciò:
-ricorda che abbiamo sin dall'inizio deciso di investire bit in qualità .
-</para>
-
-<para>
-In più, non reimpostare la gamma, il contrasto, la luminosità , etc...
-Quello che si vede bene sul tuo schermo potrebbe non vedersi bene su altro.
-Queste modifiche dovrebbero esser fatte solo durante la riproduzione.
-</para>
-
-<para>
-Una cosa che voresti però fare è tuttavia far passare il video attraverso un
-leggero filtro di rimozione disturbo, come <option>-vf hqdn3d=2:1:2</option>.
-Ancora, è una questione di poter meglio utilizzare quei bit: perché sprecarli
-codificando disturbo mentre puoi semplicemente aggiungerlo di nuovo durante la
-riproduzione? Alzando i parametri per <option>hqdn3d</option> aumenterÃ
-ancora la compressione, ma se aumenti troppo i valori, rischi un degrado pesante
-dell'immagine. I valori sopra consigliati (<option>2:1:2</option>) sono
-abbastanza conservativi; sentiti libero di sperimentare con valori più alti e
-verificare da solo il risultato.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>Interlacciamento e Telecine</title>
-
-<para>
-Quasi tutti i film vengono ripresi a 24 fps. Dato che NTSC è 30000/1001 fps,
-si devono eseguire alcune elaborazioni affinché questo video a 24 fps sia
-letto al giusto framerate NTSC. Il processo è chiamato "3:2 pulldown", meglio
-conosciuto come "telecine" (poiché pulldown viene spesso applicato durante il
-processo di telecine), e descritto rozzamente, agisce rallentando il film a
-24000/1001 fps, e ripetendo ogni quarto fotogramma.
-</para>
-
-<para>
-Non viene invece eseguita alcuna elaborazione sul video per i DVD PAL, che
-girano a 25 fps. (Tecnicamente, PAL può subire il telecine, chiamato
-"2:2 pulldown", ma non è usanza abituale.) Il film a 24 fps viene
-semplicemente riprodotto a 25 fps. Il risultato è che il filmato è leggermente
-più veloce, ma a meno che tu non sia un alieno, probabilmente non noterai la
-differenza.
-La maggior parte dei DVD PAL hanno audio corretto ai picchi, in modo che quando
-siano riprodotti a 25 fps le cose suonino giuste, anche se la traccia audio
-(e quindi tutto il filmato) ha un tempo di riproduzione che è il 4% inferiore
-ai DVD NTSC.
-</para>
-
-<para>
-A causa del fatto che il video nei DVD PAL non è stato alterato, non dovrai
-preoccuperti molto della frequenza fotogrammi. La sorgente è 25 fps, e il tuo
-rip sarà a 25 fps. Tuttavia, se stai codificando un film da DVD NTSC,
-potresti dover applicare il telecine inverso.
-</para>
-
-<para>
-Per film ripresi a 24 fps, il video sul DVD NTSC è o con telecine a 30000/1001,
-oppure è progressivo a 24000/1001 fps e destinato a subire il telecine al volo
-da un lettore DVD. D'altro canto le serie TV sono solitamente solo
-interlacciate, senza telecine. Questa non è una regola ferrea: alcune serie TV
-sono interlacciate (come Buffy the Vampire Slayer) mentre alcune sono un misto
-di progressivo e interlacciato (come Angel, o 24).
-</para>
-
-<para>
-Si consiglia vivamente di leggere la sezione su
-<link linkend="menc-feat-telecine">Come trattare il telecine e l'interlacciamento nei DVD NTSC</link>
-per imparare come gestire le varie possibilità .
-</para>
-
-<para>
-Ciononostante, se stai principalmente rippando solo film, solitamente ti
-troverai di fronte a video a 24 fps progressivo o con telecine, nel qual caso
-puoi usare il filtro <option>pullup</option> <option>-vf
-pullup,softskip</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>Codificare video interlacciato</title>
-
-<para>
-Se il film che vuoi codificare è interlacciato (video NTSC o PAL) dovrai
-scegliere se vuoi de-interlacciare o no.
-Se da un lato de-interlacciare renderà il tuo filmato utilizzabile su
-schermi a scansione progressiva come monitor di computer o proiettori, porta
-con sé un costo: la frequenza dei campi di 50 o 60000/1001 campi al secondo
-viene dimezzata a 25 o 30000/1001 fotogrammi al secondo, e circa la metà delle
-informazioni nel tuo film saranno perdute, in scene con movimento significativo.
-</para>
-
-<para>
-Per di più, se stai codificando puntando ad alta qualità di archiviazione.
-si consiglia di non de-interlacciare.
-Puoi sempre de-interlacciare il film durante la riproduzione attraverso
-dispositivi a scansione progressiva.
-La potenza dei computer attuali forza per i riproduttori l'utilizzo di un filtro
-di de-interlacciamento, che porta un leggero degrado dell'immagine.
-Ma i lettori del futuro saranno in grado di simulare lo schermo di una TV,
-de-interlacciando a piena frequenza di campi e interpolando 50 o 60000/1001
-fotogrammi interi al secondo dal video interlacciato
-</para>
-
-<para>
-Bisogna porre speciale attenzione quando si lavora con video interlacciato:
-</para>
-
-<orderedlist>
-<listitem><para>
- Altezza e scostamento del taglio devono essere multipli di 4.
-</para></listitem>
-<listitem><para>
- Qualsiasi ridimensionamento verticale va fatto in modalità interlacciata.
-</para></listitem>
-<listitem><para>
- I filtri di post elaborazione e di rimozione disturbo potrebbero non
- funzionare come ci si aspetta a meno che tu non ponga particolare attenzione
- per farli lavorare su un campo per volta, e possono rovinare il video quando
- usati in modo non corretto.
-</para></listitem>
-</orderedlist>
-
-<para>
-Tenendo a mente queste cose, ecco il nostro primo esempio:
-<screen>
-mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-Nota le opzioni <option>ilme</option> e <option>ildct</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>Note sulla sincronizzazione Audio/Video</title>
-
-<para>
-Gli algoritmi di sincronizzazione audio/video di
-<application>MEncoder</application> sono stati progettati con l'intento di
-recuperare file con sincronia danneggiata.
-In alcuni casi tuttavia, possono generare inutili duplicazioni o scarti di
-fotogrammi, e possibilmente leggera desincronia A/V quando vengono usati con
-sorgenti buone (i problemi di sincronizzazione A/V accadono solo se elabori o
-copi la traccia audio mentre transcodifichi il video, il che è decisamente
-consigliato).
-Perciò potresti dover passare ad una sincronizzazione di base con l'opzione
-<option>-mc 0</option>, o metterla nel tuo file di configurazione
-<systemitem>~/.mplayer/mencoder</systemitem>, sempre che tu stia lavorando con
-buone sorgenti (DVD, acquisizione TV, rip MPEG-4 ad alta qualità , etc) e non
-con file ASF/RM/MOV rovinati.
-</para>
-
-<para>
-Se vuoi proteggerti ulteriormente da strani salti e duplicazioni di fotogrammi,
-puoi usare sia <option>-mc 0</option> che <option>-noskip</option>.
-Questo disabiliterà <emphasis>tutte</emphasis> le sincronizzazioni A/V, e
-copierà i fotogrammi uno ad uno, perciò è inutilizzabile se stai usando dei
-filtri che aggiungono o rimuovono arbitrariamente fotogrammi, ovvero se il
-tuo file sorgente ha una frequenza fotogrammi non costante!
-Quindi l'utilizzo di <option>-noskip</option> in linea di massima si sconsiglia.
-</para>
-
-<para>
-Si sa che la cosiddetta codifica audio in "tre passi", che
-<application>MEncoder</application> gestisce, può causare desincronizzazione
-A/V.
-Il che capiterà prontamente se viene usata insieme con alcuni filtri, per cui
-si consiglia di <emphasis>non</emphasis> usare la modalità audio a tre passi.
-Questa caratteristica viene lasciata solo per finalità di compatibilità e
-per utenti esperti che sanno quando sia adeguato usarla e quando no.
-Se non hai mai sentito parlar prima della modalità a tre passi, dimenticati
-di averla anche solo sentita nominare!
-</para>
-
-<para>
-Ci sono anche stati rapporti di desincronia A/V codificando con
-<application>MEncoder</application> da stdin.
-Non farlo! Usa sempre come ingresso un file o un dispositivo CD/DVD/etc.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>Scegliere il codec video</title>
-
-<para>
-Quale possa esere il miglior codec video dipende da molti fattori, come
-dimensione, qualità , possibilita di farne lo streaming, usabilit, diffusione,
-alcuni dei quali dipendono fortemente dai gusti personali e dalle variabili
-tecniche in gioco.
-</para>
-<itemizedlist>
-<listitem>
- <para>
- E' abbastanza facile da capire che i codec più recenti sono fatti per
- aumentare qualità e compressione.
- Quindi gli autori di questa guida e moltra altra gente suggeriscono che non
- potete sbagliare
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
- Fai comunque attenzione: la decodifica di video MPEG-4 AVC a risoluzione DVD
- richiede una macchina veloce (per es. un Pentium 4 oltre 1.5GHz o un Pentium
- M superiore a 1GHz).
- </para></footnote>
- quando scegliete un qualche codec MPEG-4 AVC come
- <systemitem class="library">x264</systemitem> piuttosto che un codec MPEG-4
- ASP come l'MPEG-4 di <systemitem class="library">libavcodec</systemitem> o
- <systemitem class="library">Xvid</systemitem>.
- (Per sviluppatori avenzati di codec potrebbe essere interessante leggere
- l'opinione di Michael Niedermayer sul
- "<ulink url="http://guru.multimedia.cx/?p=10">perché MPEG-4 ASP faccia schifo</ulink>"
- (in inglese).)
- Analogamente dovresti ottenere una miglior qualità usando MPEG-4 ASP rispetto
- a quella ottenuta con codec MPEG-2.
- </para>
-
- <para>
- Tuttavia, i codec più recenti che sono sotto pesante sviluppo possono avere
- problemi che non sono ancora stati scoperti, e che possono rovinare una
- codifica.
- Questo è semplicemente il contrappasso per usare la tecnologia di punta.
- </para>
-
- <para>
- Inoltre iniziare ad utilizzare un codec nuovo richiede l'utilizzo di un po'
- di tempo per familiarizzare con le sue opzioni, affinché tu sappia cosa
- impostare per ottenere la qualità dell'immagine voluta.
- </para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">Compatibilità Hardware</emphasis>:
- Solitamente ci va un po' di tempo prima che i lettori da tavolo incomincino ad
- includere il supporto per il video codec più recente.
- Il risultato è che la maggior parte legge MPEG-1 (come i VCD, XVCD e KVCD),
- MPEG-2 (come DVD, SVCD e KVCD) e MPEG-4 ASP (come DivX,
- LMP4 di <systemitem class="library">libavcodec</systemitem> e
- <systemitem class="library">Xvid</systemitem>)
- (attenzione: solitamente non sono gestite tutte le caratteristiche
- MPEG-4 ASP).
- Fai per favore riferimento alle specifiche tecniche del tuo lettore (ove
- disponibili) o cerca su internet per ulteriori informazioni.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Miglior qualità per tempo di codifica</emphasis>:
- Codec che sono in giro da parecchio tempo (come MPEG-4 di
- <systemitem class="library">libavcodec</systemitem> e
- <systemitem class="library">Xvid</systemitem>) sono spesso molto ottimizzati
- con ogni tipo di algoritmo furbo e codice SIMD in assembly.
- Per questo tendono a fornire il miglior rapporto tra qualità e tempo di
- codifica. Tuttavia, possono avere delle opzioni avanzate che, quando
- abilitate, rendono la codifica molto lenta fornendo poco guadagno.
- </para>
-
- <para>
- Se stai cercando di incrementare la velocità dovresti cercare di non
- modificare troppo le impostazioni di default del codec video (anche se
- dovresti comunque provare le altre opzioni che sono citate in altre sezioni
- di questa guida).
- </para>
-
- <para>
- Puoi tenere in considerazione anche la scelta di un codec che possa eseguire
- elaborazioni multi-thread, anche se ciò è utile solo per utenti di macchine
- con più di una CPU.
- MPEG-4 di <systemitem class="library">libavcodec</systemitem> lo permette,
- ma il guadagno in velocità è limitato, e c'è un leggere effetto negativo
- sulla qualità dell'immagine.
- La codifica multi-thread di <systemitem class="library">Xvid</systemitem>,
- attivata dall'opzione <option>threads</option>, può essere usata per
- accelerare la velocità di codifica — tipicamente di circa il 40-60%
- — con poco se non nessun degrado dell'immagine.
- Anche <systemitem class="library">x264</systemitem> permette la codifica in
- multi-thread, la quale attualmente velocizza la codifica del 94% per core di
- CPU mentre abbassa il PSNR tra 0.005dB e 0.01dB, con impostazioni tipiche.
- </para>
-</listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Gusto personale</emphasis>:
- Qui è dove capita l'irrazionale: per la stessa ragione per cui alcuni
- restano attaccati a DivX 3 per anni, mentre nuovi codec stanno
- facendo meraviglie, alcuni personaggi preferiranno
- <systemitem class="library">Xvid</systemitem> o MPEG-4 di
- <systemitem class="library">libavcodec</systemitem> a
- <systemitem class="library">x264</systemitem>.
- </para>
- <para>
- Dovresti prendere le tue decisioni; non prendere consigli da gente che
- fanno giuramenti su un codec.
- Prendi alcuni pezzi di esempio da sorgenti grezze e compara le diverse
- opzioni di codifica e di codec per trovare quello che ti garba di più.
- Il miglior codec è quello che riesci a gestire al meglio, e quello che ai
- tuoi occhi e sul tuo schermo si vede meglio.
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para>
- La stessa codifica potrebbe non apparire uguale sullo schermo di qualcun
- altro o se riprodotta con un decodificatore differente, perciò controlla
- i tuoi risultati riproducendoli in diverse condizioni.
- </para></footnote>!
- </para>
-</listitem>
-</itemizedlist>
-
-<para>
-Fai per favore riferimento alla sezione
-<link linkend="menc-feat-selecting-codec">selezionare codec e formati contenitore</link>
-per avere un elenco dei codec usabili.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>Audio</title>
-
-<para>
-L'audio è un problema di decisamente più facile soluzione: se ti interessa la
-qualità , lascialo semplicemente com'è.
-Anche i flussi AC-3 5.1 sono al massimo a 448Kbit/s, e ne valgono ogni bit.
-Potresti esser tentato di trascodificare l'audio in Vorbis ad alta qualità , ma
-solo perché a tutt'oggi non hai un decodificatore AC-3 pass-through ciò non
-significa che non ne avrai uno in futuro. Assicura un futuro ai tuoi rip da DVD
-preservando il flusso in AC-3.
-Puoi mantenere il flusso AC-3 anche copiandolo direttamente nel flusso video
-<link linkend="menc-feat-mpeg4">durante la codifica</link>.
-Puoi anche estrarre il flusso AC-3 al fine di farne il mux in contenitori come
-NUT o Matroska.
-<screen>
-mplayer <replaceable>file_sorgente.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>suono.ac3</replaceable>
-</screen>
-effettuerà il dump della traccia audio numero 129 dal file
-<replaceable>file_sorgente.vob</replaceable> nel file
-<replaceable>suono.ac3</replaceable> (NB: i file VOB da DVD spesso usano una
-numerazione dell'audio diversa, il che significa che la traccia audio 129 è la
-seconda traccia del file).
-</para>
-
-<para>
-Alcune volte invece, non hai davvero altra scelta se non comprimere
-ulteriormente il suono per poter usare più bit per il video.
-La maggior parte delle persone sceglie di comprimere l'audio con i codec MP3
-ovvero Vorbis.
-Mentre quest'ultimo è un codec decisamente efficiente per lo spazio, MP3 è
-meglio supportato dai lettori da tavolo, anche se la situazione sta cambiando.
-</para>
-
-<para>
-<emphasis>Non</emphasis> usare <option>-nosound</option> mentre codifichi un
-file con dell'audio, anche se farai la codifica e il mux dell'audio
-separatamente in seguito.
-Anche se potesse andar bene in casi ideali, facilmente usare
-<option>-nosound</option> nasconderà alcuni problemi nelle tue impostazioni di
-codifica sulla riga comando.
-In altre parole mantenere la colonna sonora durante la codifica ti assicura,
-a patto che tu non veda messaggi del tipo
-<quote>Troppi pacchetti audio nel buffer</quote>, di ottenere un'adeguata
-sincronizzazione.
-</para>
-
-<para>
-Devi fare in modo che <application>MEncoder</application> processi il suono.
-Puoi per esempio copiare la colonna sonora originaria durante la codifica con
-<option>-oac copy</option>, o convertirla in un "leggero" PCM WAV mono a 4 kHz
-con <option>-oac pcm -channels 1 -srate 4000</option>.
-In caso contrario in alcuni casi verrà generato un file video che sarÃ
-desincronizzato con l'audio.
-Casi del genere sono quelli in cui il numero dei fotogrammi video nel file di
-origine non corrisponde alla lunghezza totale dei fotogrammi audio oppure
-ogniqualvolta vi siano delle discontinuità /splice in cui mancano o ci sono
-fotogrammi audio in più.
-Il modo giusto di gestire questo tipo di problemi è inserire del silenzio o
-tagliare l'audio in quei punti.
-Tuttavia <application>MPlayer</application> non è in grado di farlo, per cui se
-fai il demux dell'audio AC-3 e lo codifichi con un'altro programma (o ne fai il
-dump in PCM con <application>MPlayer</application>), gli splice rimarranno
-sbagliati e l'unico modo per correggerli è scartare/duplicare fotogrammi video
-nel punto di splice.
-Fintantochè <application>MEncoder</application> vede l'audio mentre codifica il
-video, può eseguire questo scarto/duplicazione (che solitamente è OK, dato che
-capita con scene nere o cambi scena), ma se <application>MEncoder</application>
-non vede l'audio, processerà i fotogrammi così come sono e alla fine non
-corrisponderanno al flusso audio finale quando per esempio inserirai i flussi
-audio e video dentro a un file Matroska.
-</para>
-
-<para>
-Prima di tutto dovrai convertire l'audio DVD in un file WAV che il codec audio
-possa usare come ingresso.
-Per esempio:
-<screen>
-mplayer <replaceable>file_sorgente.vob</replaceable> -ao pcm:file=<replaceable>suono_destinazione.wav</replaceable> \
- -vc dummy -aid 1 -vo null
-</screen>
-eseguirà il dump della seconda traccia audio dal file
-<replaceable>file_sorgente.vob</replaceable> sul file
-<replaceable>suono_destinazione.wav</replaceable>.
-Potresti voler normalizzare il suono prima della codifica, visto che le tracce
-audio dei DVD spesso sono registrate a volumi bassi.
-Puoi usare per esempio lo strumento <application>normalize</application>, che
-è disponibile nella maggior parte delle distribuzioni.
-Se stai usando Windows, lo stesso mestiere lo può fare uno strumento tipo
-<application>BeSweet</application>.
-Effettuerai la compressione in Vorbis ovvero in MP3.
-
-Per esempio:
-<screen>oggenc -q1 <replaceable>suono_destinazione.wav</replaceable></screen>
-codificherà <replaceable>suono_destinazione.wav</replaceable> con qualitÃ
-di codifica 1, che equivale circa a 80Kb/s, ed è la qualità minima in cui
-dovresti codificare se ti interessa la qualità .
-Fai per favore attenzione che attualmente <application>MEncoder</application>
-non è in grado di fare il mux di tracce audio Vorbis nel file di uscita,
-perché gestisce solo contenitori AVI e MPEG in uscita, ognuno dei quali può
-portare a problemi di sincronizzazione audio/video durante la riproduzione con
-alcuni lettori quando il file AVI contiene flussi audio VBR come Vorbis.
-Non preoccuparti, questa documentazione ti mostrerà come tu possa farlo
-comunque con programmi di terze parti.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>Muxing</title>
-
-<para>
-Ora che hai codificato il tuo video, vorrai verosimilmente farne il mux in un
-contenitore di filmati con una o più tracce audio, come AVI, MPEG, Matroska o
-NUT.
-<application>MEncoder</application> è attualmente in grado di generare in modo
-nativo solo video in formati contenitore MPEG o AVI.
-Per esempio:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>film_in_uscita.avi</replaceable> \
- -audiofile <replaceable>audio_in_ingresso.mp2</replaceable> <replaceable>video_in_ingresso.avi</replaceable>
-</screen>
-Questo miscelerà i file video <replaceable>video_in_ingresso.avi</replaceable>
-e audio <replaceable>audio_in_ingresso.mp2</replaceable> nel file AVI
-<replaceable>film_in_uscita.avi</replaceable>.
-Questo comando funziona con audio MPEG-1 layer I, II e III (più comunemente
-conosciuto come MP3), WAV e qualche altro formato audio.
-</para>
-
-<para>
-<application>MEncoder</application> vanta un supporto sperimentale per
-<systemitem class="library">libavformat</systemitem>, che è una libreria del
-progetto FFmpeg che può fare il mux e il demux di svariati contenitori.
-Per esempio:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>film_di_uscita.asf</replaceable> -audiofile <replaceable>audio_in_ingresso.mp2</replaceable> \
- <replaceable>video_in_ingresso.avi</replaceable> -of lavf -lavfopts format=asf
-</screen>
-Questo farà la stessa cosa dell'esempio precedente, trannce che il contenitore
-di uscita sarà ASF.
-Per favore nota che questo supporto è altamente sperimentale (ma migliora di
-giorno in giorno), e funzionerà solo se hai compilato
-<application>MPlayer</application> con il supporto per
-<systemitem class="library">libavformat</systemitem> abilitato (il che
-significa che una versione precompilata nella maggior parte dei casi non
-funzionerà ).
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>Migliorare il mux e l'affidabilità di sincronizzazione A/V</title>
-
-<para>
-Potresti avere dei seri problemi di sincronizzazione cercando di fare il mux
-del tuo video con alcune tracce audio, indipendentemente da come tu corregga il
-ritardo audio, non otterrai mai una sincronia corretta.
-Ciò potrebbe succedere quando usi un qualche filtro video che scarti o duplichi
-alcuni fotogrammi, come il filtro di telecine inverso.
-Si consiglia vivamente di appendere il filtro video <option>harddup</option>
-alla fine della catena dei filtri, per evitare questo tipo di problema.
-</para>
-
-<para>
-Senza <option>harddup</option>, se <application>MEncoder</application> vuole
-duplicare un fotogramma, chiede al muxer di mettere un segno sul contenitore
-affinché l'ultimo fotogramma venga mostrato di nuovo per mantenere la
-sincronia, senza scriverne effettivamente alcuno.
-Con <option>harddup</option>, <application>MEncoder</application> farÃ
-semplicemente passare di nuovo l'ultimo fotogramma nella catena di filtri.
-Questo significa che il codificatore riceve <emphasis>esattamente</emphasis> lo
-stesso fotogramma due volte, e lo comprime.
-Ciò genera un file leggermente più grosso, ma non causerà problemi
-effettuando il demux o il remux in altri formati contenitore.
-</para>
-
-<para>
-Potresti non avere altra scelta che usare <option>harddup</option> con formati
-contenitore che non siano così legati a <application>MEncoder</application>
-come quelli gestiti attraverso
-<systemitem class="library">libavformat</systemitem>, e che possano non gestire
-la duplicazione fotogrammi a livello contenitore.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>Limitazioni del contenitore AVI</title>
-
-<para>
-Anche se AVI è il formato contenitore più ampiamente gestito dopo MPEG-1, ha
-anche molti gravi inconvenienti.
-Forse il più ovvio è lo spreco di banda.
-Per ogni blocco del file AVI, 24 byte sono sprecati per intestazione e indice.
-Questo porta a poco più di 5 MB per ora, o 1-2.5% di dimensione supplementare
-per un film da 700 MB. Potrebbe non sembrare poi così tanto, ma potrebbe far
-la differenza tra poter utilizzare 700 oppure 714 kbit/sec per il video, e ogni
-bit è importante per la qualità .
-</para>
-
-<para>
-Oltre a questa grave inefficenza, AVI ha anche le grandi limitazioni che
-seguono:
-</para>
-
-<orderedlist>
-<listitem><para>
- Può essere immagazzinato solo contenuto a fps costanti. Questo è decisamente
- limitante se il materiale di origine che vuoi codificare è contenuto misto,
- per esempio un misto di video NTSC e film.
- Ci sono invero alcuni trucchi che possono essere usati per salvare negli AVI
- contenuto a frequenza di fotogrammi mista, ma aumentano il (già immenso)
- spreco di banda di cinque volte o giù di lì e quindi non sono pratici.
-</para></listitem>
-<listitem><para>
- L'audio nei file AVI deve essere a bitrate costante (CBR) o a dimensione di
- fotogramma fissa (per es. tutti i fotogrammi decodificano lo stesso numero di
- campioni).
- Sfortunatamente, il codec più efficente, Vorbis, non ha alcuna delle suddette
- caratteristiche.
- Se decidi di salvare il tuo film in AVI, dovrai perciò usare un codec meno
- efficente, come MP3 o AC-3.
-</para></listitem>
-</orderedlist>
-
-<para>
-Detto tutto ciò, <application>MEncoder</application> non gestisce attualmente
-la codifica in uscita a fps variabile o la codifica in Vorbis.
-Quindi non noterai le limitazioni su citate se
-<application>MEncoder</application> è l'unico strumento che userai per produrre
-le tue codifiche.
-Tuttavia è possibile usare <application>MEncoder</application> solo per la
-codifica del video, e poi utilizzare strumenti di terze parti per codificare
-l'audio e farne il mux in un altro formato contenitore.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>Mux nel contenitore Matroska</title>
-
-<para>
-Matroska è un formato contenitore libero, a standard aperti, che punta ad
-offrire molte caratteristiche avanzate, che contenitori più vecchi come AVI non
-sono in grado di manipolare.
-Per esempio Matroska supporta contenuto audio a bitrate variabile (VBR),
-frequenza fotogrammi variabile (VFR), capitoli, file allegati, codice di
-gestione errori (EDC) e Codec A/V moderni come "Advanced Audio Coding" (AAC),
-"Vorbis" or "MPEG-4 AVC" (H.264), comparato al nulla gestito da AVI.
-</para>
-
-<para>
-Gli strumenti necessari per creare file Matroska sono chiamati nel loro insieme
-<application>mkvtoolnix</application> e sono disponibili per la maggior parte
-delle piattaforme Unix, così come per <application>Windows</application>.
-Dato che Matroska è uno standard aperto, potresti trovare altri strumenti che
-ti tornino più utili, ma dato che mkvtoolnix è il più diffuso, ed è
-supportato dal team stesso di Matroska, illustreremo il suo solo utilizzo.
-</para>
-
-<para>
-Probabilmente il modo più semplice di avvicinarsi a Matroska è utilizzare
-<application>MMG</application>, il frontend grafico fornito con
-<application>mkvtoolnix</application>, e seguire la <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guida della GUI di mkvmerge (mmg)</ulink>.
-</para>
-
-<para>
-Puoi anche fare il mux dei file audio e video usando la riga comando:
-<screen>
-mkvmerge -o <replaceable>destinazione.mkv</replaceable> <replaceable>video_sorgente.avi</replaceable> <replaceable>audio_sorgente1.mp3</replaceable> <replaceable>audio_sorgente2.ac3</replaceable>
-</screen>
-Questo unirà il file video <replaceable>video_sorgente.avi</replaceable> e i
-due file audio <replaceable>audio_sorgente1.mp3</replaceable> e
-<replaceable>audio_sorgente2.ac3</replaceable> nel file Matroska
-<replaceable>destinazione.mkv</replaceable>.
-Matroska, come detto precedentemente, è in grado di far molto più di questo,
-come tracce audio multiple (inclusa una fine sincronia audio/video), capitoli,
-sottotitoli, salti, etc...
-Fai per favore riferimento alla documentazione di queste applicazioni per
-maggiori delucidazioni.
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-telecine">
-<title>Come trattare telecine e interlacciamento nei DVD NTSC</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>Introduzione</title>
-
-<formalpara>
-<title>Cos'è telecine?</title>
-<para>
-Se non comprendi molto quello che è scritto in questo documento, leggi la
-<ulink url="http://en.wikipedia.org/wiki/Telecine">definizione di telecine su Wikipedia</ulink>
-(<ulink url="http://en.wikipedia.org/wiki/Telecine">pagina inglese</ulink>).
-E' una descrizione comprensibile e ragionevolmente completa di cosa si indichi
-con telecine.
-</para></formalpara>
-
-<formalpara>
-<title>Una nota riguardo i numeri.</title>
-<para>
-Molti documenti, inclusa la guida su indicata, fanno riferimento al valore dei
-campi per secondo del video NTSC come 59.94 e i valori corrispondenti di
-fotogrammi al secondo come 29.97 (con telecine e interlacciamento) e 23.976
-(per il progressivo). Per semplicità alcune documentazioni arrotondano tali
-cifre a 60, 30 e 24.
-</para></formalpara>
-
-<para>
-Strettamente parlando, tutti questi numeri sono approssimati. Il video NTSC in
-bianco e nero era esattamente 60 campi al secondo, ma successivamente venne
-scelto 60000/1001 per incastrare i dati del colore e rimanere compatibili con
-le televisioni bianco e nero contemporanee. Anche il video NTSC digitale (come
-quello sui DVD) è a 60000/1001 campi al secondo. Da ciò discende che il video
-interlacciato e telecine è 30000/1001 fotogrammi al secondo; il video
-progressivo è 24000/1001 fotogrammi al secondo.
-</para>
-
-<para>
-Precedenti versioni della documentazioni di <application>MEncoder</application>
-a molti post archiviati della mailig list fanno riferimento a 59.94, 29.97 e
-23.976.
-Tutta la documentazioni di <application>MEncoder</application> è stata
-aggiornata per usare i valori in frazione, e anche tu dovresti usare questi.
-</para>
-
-<para>
-<option>-ofps 23.976</option> è sbagliato.
-<option>-ofps 24000/1001</option> dovrebbe invece essere usato.
-</para>
-
-<formalpara>
-<title>Come viene usato telecine.</title>
-<para>
-Tutto il video pensato per essere riprodotto su televisione NTSC deve essere a
-60000/1001 campi al secondo. I film per la TV e gli spettacoli sono spesso
-registrati direttamente a 60000/1001 campi al secondo, ma la stragrande
-maggioranzna dei film per cinema è filmata a 24 o 24000/1001 fotogrammi al
-secondo. Quando i film da cinema vengono masterizzati su DVD, il video viene
-quindi convertito per la televisione usando un processo chiamato telecine
-(o telecinema).
-</para></formalpara>
-
-<para>
-Su un DVD il video non è praticamente mai memorizzato con 60000/1001 campi al
-secondo. Per un video che originariamente era 60000/1001, ogni coppia di campi
-viene combinata in un fotogramma, risultando in 30000/1001 fotogrammi al
-secondo. I lettori DVD hardware leggono quindi un parametro codificato nel
-flusso video pe rdeterminare se le linee pari o quelle dispari debbano formare
-il primo campo.
-</para>
-
-<para>
-Solitamente il contenuto a 24000/1001 fotogrammi per secondi resta così com'è
-quando viene codificato per un DVD, e il lettore DVD deve eseguire il telecine
-al momento. Alcune volte invece, il video subisce il telecine
-<emphasis>prima</emphasis> di essere scritto su DVD; anche se in origine era a
-24000/1001 fotogrammi al secondi, diventa 60000/1001 campi al secondo. Quando
-viene memorizzato su DVD, le coppie di campi vengono assemblate per formare
-30000/1001 fotogrammi al secondo.
-</para>
-
-<para>
-Guardando i singoli fotogrammi generati da video a 60000/1001 campi al secondo,
-che sia telecine o no, l'interlacciamento è chiaramente visibile ovunque vi sia
-del movimento, dato che un campo (diciamo le linee pari) rappresenta un istante
-nel tempo 1/(60000/1001) secondi dopo l'altro. Riprodurre video interlacciato
-su un computer risulta brutto sia perché il monitor ha una risoluzione maggiore
-sia perché il video viene mostrato un fotogramma dopo l'altro invece che un
-campo dopo l'altro.
-</para>
-
-<itemizedlist>
-<title>Note:</title>
-<listitem><para>
- Questa sezione si applica solo ai DVD NTSC, e non a quelli PAL.
-</para></listitem>
-<listitem><para>
- Le righe di esempio per <application>MEncoder</application> proposte nella
- documentazione <emphasis role="bold">non</emphasis> sono pensate per un
- utilizzo reale. Sono solo quelle minimali richieste per codificare la
- relativa categoria di video. Come fare buoni rip di DVD o configurare bene
- <systemitem class="library">libavcodec</systemitem> per la massima qualitÃ
- non è lo scopo di questa documentazione.
-</para></listitem>
-<listitem><para>
- Ci sono alcune note a piè di pagina specifiche di questa guida, così
- indicate:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-ident">
-<title>Come scoprire il tipo di video che possiedi</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>Progressivo</title>
-
-<para>
-Il video progressivo è stato originariamente filmato a 24000/1001 fps, e
-memorizzato sul DVD senza modifica alcuna.
-</para>
-
-<para>
-Quando riproduci un DVD progressivo con <application>MPlayer</application>,
-<application>MPlayer</application> emette la riga seguente appena il video
-inizia la riproduzione:
-<screen>
-demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
-</screen>
-Da qui in poi, demux_mpg non dovrebbe mai comunicare di aver trovato
-"30000/1001 fps NTSC content" (contenuto NTSC a 30000/1001 fps).
-</para>
-
-<para>
-Quando guardi video progressivo, non dovresti mai vedere alcuna interlacciatura.
-Fai tuttavia attenzione, poiché alcune volte c'è una piccola parte in telecine
-infilata dove non te la aspetteresti. Ho trovato alcuni DVD di spettacoli
-televisivi che hanno un secondo di telecine ad ogni cambio di scena, o anche in
-momenti casuali. Una volta ho guardato un DVD che aveva una prima parte
-progressiva e la seconda in telecine. Se vuoi esserne
-<emphasis>davvero</emphasis> certo, devi controllare tutto il video:
-<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-Using <option>-benchmark</option> makes
-L'utilizzo di <option>-benchmark</option> fa sì che
-<application>MPlayer</application> riproduca il filmato il più velocemente
-possibile; tuttavia, in dipendenza dal tuo hardware, può metterci un po'.
-Ogni volta che demux_mpg segnala un cambio nella frequenza fotogrammi
-(framerate), la linea immediatamente sopra ti dirà il tempo ove è cambiata.
-</para>
-
-<para>
-Alcune volte il video progressivo sui DVD viene indicato come "soft-telecine"
-perché è fatto in modo che il lettore DVD esegua il telecine.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Telecine</title>
-
-<para>
-Il video in telecine è stato filmato in origine a 24000/1001, ma ha subito il
-telecine <emphasis>prima</emphasis> di essere scritto sul DVD.
-</para>
-
-<para>
-Quando <application>MPlayer</application> riproduce video in telecine non
-segnala (mai) alcun cambio di framerate.
-</para>
-
-<para>
-Guardado un video in telecine, noterai artefatti che sembrano "lampeggiare":
-appaiono e scompaiono ripetutamente.
-Puoi notarlo meglio facendo quello che segue
-<orderedlist>
-<listitem><screen>mplayer dvd://1</screen></listitem>
-<listitem><para>
- Ricerca una parte con movimento.
-</para></listitem>
-<listitem><para>
- Usa il tasto <keycap>.</keycap> per avanzare di un fotogramma per volta.
-</para></listitem>
-<listitem><para>
- Guarda il pattern dei fotogrammi che paiono interlacciati e di quelli
- progressivi. Se il pattern che vedi è PPPII,PPPII,PPPII,... allora il video
- è in telecine. Se vedi qualche altro pattern, allora il video può aver
- subito il telecine attraverso qualche metodo strano;
- <application>MEncoder</application> può effettuare la conversione senza
- perdita da telecine non standard a progressivo. Se non vedi alcun pattern,
- allora molto probabilmente è interlacciato.
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Alcune volte il video in telecine sui DVD viene indicato come "hard-telecine".
-Dato che l'hard-telecine è già a 60000/1001 campi al secondi, il lettore DVD
-riproduce il video senza elaborazione alcuna.
-</para>
-
-<para>
-Un altro modo per scoprire se la tua sorgente è in telecine o no è riprodurla
-con le opzioni <option>-vf pullup</option> e <option>-v</option> da riga
-comando per vedere come <option>pullup</option> relaziona i fotogrammi.
-Se la sorgente è in telecine, dovresti vedere sulla console un pattern 3:2 con
-<systemitem>0+.1.+2</systemitem> e <systemitem>0++1</systemitem> che si
-alternano.
-Questa tecnica ha il vantaggio di evitare di guardare la sorgente per doverla
-identificare, il che può tornare utile se vuoi automatizzare la procedura di
-codifica ovvero se vuoi eseguire tale procedura in remoto su una connessione
-lenta.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Interlacciato</title>
-
-<para>
-Il video interlacciato è stato filmato in origine a 60000/1001 campi al
-secondo ed è memorizzato sul DVD a 30000/1001 fotogrammi al secondo. L'effetto
-di interlacciatura (spesso chimato "combing") è un risultato di coppie di
-campi che vengono combinate in fotogrammi. Ogni campo è spostato di
-1/(60000/1001) secondi e quando vengono mostrati contemporaneamente la
-differenza si nota.
-</para>
-
-<para>
-Come per il video in telecine, <application>MPlayer</application> non dovrebbe
-mai segnalare alcun cambio di framerete, riproducendo contenuto interlacciato.
-</para>
-
-<para>
-Quando guardi attentamente un video interlacciato avanzando fotogramma per
-fotogramma col tasto <keycap>.</keycap>, noterai che ogni singolo fotogramma è
-interlacciato.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>Progressivo e telecine mescolati</title>
-
-<para>
-Tutto il contenuto di un video "progressivo e telecine mescolati" è stato
-in origine filmato a 24000/1001 fotogrammi al secondo, ma alcune parti alla
-fine hanno subito il telecine.
-</para>
-
-<para>
-Quando <application>MPlayer</application> riproduce questa tipologia di video
-salta (spesso ripetutamente) avanti e indietro tra "30000/1001 fps NTSC" e
-"24000/1001 fps progressive NTSC". Controlla le ultime righe dell'emissione di
-<application>MPlayer</application> per vedere questi messaggi.
-</para>
-
-<para>
-Dovresti controllare le sezioni "30000/1001 fps NTSC" per assicurarti che siano
-davvero in telecine e non solamente interlacciate.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>Progressivo e interlacciato mescolati</title>
-
-<para>
-Nei contenuti con video "progressivo e interlacciato mescolati", il video
-progressivo e interlacciato sono mescolati tra loro.
-</para>
-
-<para>
-Questa categoria è decisamente simile a "progressivo e telecine mescolati",
-fino a quando non controlli le parti a 30000/1001 fps e scopri che non hanno
-il pattern del telecine.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-encode">
-<title>Come codificare ciascuna categoria</title>
-<para>
-Come menzionato all'inizio, le linee di esempio qui sotto per
-<application>MEncoder</application> <emphasis role="bold">non</emphasis> sono
-pensate per essere usate davvero; dimostrano solamente i parametri minimi per
-codificare correttamente ciascuna categoria.
-</para>
-
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>Progressivo</title>
-<para>
-Il video progressivo non richiede particolari filtri per la codifica. L'unico
-parametrioche devi assicurarti di usare è <option>-ofps 24000/1001</option>.
-Se non lo usi, <application>MEncoder</application> cercherà di codificare a
-30000/1001 fps e duplicherà i fotogrammi.
-</para>
-
-<para>
-<screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
-Spesso e volentieri capita che un video che sembra progressivo contenga anche
-alcune brevi parti di telecine mescolate. A meno che tu non sia sicuro,
-conviene trattare il video come
-<link linkend="menc-feat-telecine-encode-mixedpt">progressivo e telecine mescolati</link>.
-Il calo di prestazioni è piccolo
-<link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Telecine</title>
-
-<para>
-Il telecine può essere invertito per ricavare il contenuto originario a
-24000/1001 usando un processo conosciuto come telecine-inverso.
-<application>MPlayer</application> include vari filtri per ottenere ciò;
-il filtro migliore, <option>pullup</option>, è descritto nella sezione
-<link linkend="menc-feat-telecine-encode-mixedpt">progressivo e telecine
-mescolati</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Interlacciato</title>
-
-<para>
-Nella maggior parte dei casi reali non è possibile ricavare un video
-progressivo completo da contenuto interlacciato. L'unico modo di farlo senza
-perdere metà della risoluzione verticale è raddoppiare il framerate e provare
-ad "indovinare" quello che forma le linee corrispondenti per ogni campo
-(questo ha delle controindicazioni - vedi il metodo 3).
-</para>
-
-<orderedlist>
-<listitem><para>
- Codifica il video in forma interlacciata. Normalmente l'interlacciatura fa a
- pugni con l'abilità del codificatore di comprimere bene, ma
- <systemitem class="library">libavcodec</systemitem> ha due parametri
- appositamente per gestire un pochino meglio il video interlacciato:
- <option>ildct</option> e <option>ilme</option>. Inoltre viene caldamente
- consigliato l'utilizzo di <option>mbd=2</option>
- <link linkend="menc-feat-telecine-footnotes">[2] </link> poiché
- codificherà i macroblocchi come non interlacciati in posti dove non c'è
- movimento. Nota che <option>-ofps</option> qui NON serve.
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
-</para></listitem>
-<listitem><para>
- Usa un filtro di de-interlacciatura prima della codifica. Ci sono vari filtri
- disponibili tra cui scegliere, ognuno dei quali con i suoi pro e i suoi
- contro. Controlla <option>mplayer -pphelp</option> e
- <option>mplayer -vf help</option> per vedere cosa c'è disponibile
- (fa in grep per "deint"), leggi il <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">confronto tra filtri di deinterlacciatura
- (Deinterlacing filters comparison)</ulink> di Michael Niedermayer, e cerca
- nelle <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
- mailing list di MPlayer</ulink> per trovare discussioni riguardanti i vari
- filtri.
- Di nuovo il framerate non cambia, indi niente <option>-ofps</option>.
- Inoltre, la deinterlacciatura dovrebbe essere eseguita dopo il ritaglio
- <link linkend="menc-feat-telecine-footnotes">[1]</link> e prima del
- ridimensionamento.
- <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
-</para></listitem>
-<listitem><para>
- Sfortunatamente, quest'opzione non funziona bene con
- <application>MEncoder</application>; dovrebbe funzionar bene con
- <application>MEncoder G2</application>, ma ancora non esiste. Puoi subire
- dei crash. Tuttavia l'obiettivo di <option>-vf tfields</option> è di
- generare un fotogramma completo da ogni campo, portando il framerate a
- 60000/1001. Il vantaggio di questo approccio è che non viene mai perso alcun
- dato; d'altro canto, dato che ogni fotogramma deriva da un solo campo, le
- righe mancanti devono essere interpolate in qualche modo. Non ci sono metodi
- veramente validi per ricreare i dati mancanti, quindi il risultato apparirÃ
- molto simile a quando vengono usati dei filtri di deinterlacciatura.
- La generazione delle righe che mancano è foriera di altri problemi,
- solamente per il fatto che i dati sono raddoppiati. Conseguentemente per
- mantenere la qualità si rendono necessari bitrate più elevati e viene usata
- una maggior potenza di CPU sia per la codifica che la decodifica.
- tfields ha varie opzioni su come generare le righe mancanti di ogni
- fotogramma. Se usi questo metodo, fai riferimento al manuale, e scegli
- l'opzione che può andar meglio per il tuo materiale sorgente. Fai attenzione
- che usando <option>tfields</option> <emphasis role="bold">devi</emphasis>
- specificare sia <option>-fps</option> che <option>-ofps</option> pari al
- doppio della sorgente originaria.
- <screen>
-mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
- -fps 60000/1001 -ofps 60000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- Se conti di ridurre drasticamente le dimensioni puoi estrarre e decodificare
- sono uno dei due campi. Perderai di sicuro metà della risoluzione verticale,
- ma se pensi di ridurla almeno a 1/2 dell'originale, la perdità non sarà poi
- molta. Il risultato sarà un file progressivo a 30000/1001 fotogrammi per
- secondo. La procedura è utilizzare <option>-vf field</option>, poi crop
- <link linkend="menc-feat-telecine-footnotes">[1]</link> e scale in modo
- corretto. Ricorda che dovrai correggere scale per compensare la risoluzione
- verticale dimezzata.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
-</para></listitem>
-</orderedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>Progressivo e telecine mescolati</title>
-
-<para>
-Per poter portare un video progressivo e telecine mescolati in un video
-completamente progressivo, le parti in telecine devono essere passate in
-telecine inverso. Ci son tre modi per ottenere ciò, e sono descritti qui sotto.
-Nota che dovresti <emphasis role="bold">sempre</emphasis> effettuare il
-telecine inverso prima di ogni ridimensionamento; a meno che tu non sappia
-davvero cosa tu stia facendo, applica il telecine inverso anche prima del ritaglio (crop)
-<link linkend="menc-feat-telecine-footnotes">[1]</link>.
-In questo caso serve <option>-ofps 24000/1001</option> perché il video in
-uscita sarà a 24000/1001 fotogrammi al secondo.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vf pullup</option> è studiata per togliere il telecine da materiale
- in telecine lasciando stare le parti in progressivo. Per poter funzionare
- correttamente, <option>pullup</option> <emphasis role="bold">deve</emphasis>
- essere seguita dal filtro <option>softskip</option> altrimenti
- <application>MEncoder</application> andrà in crash.
- <option>pullup</option> è tuttavia il modo migliore e più preciso disponibile
- per codificare sia telecine che "progressivo e telecine mescolati".
- <screen>
-mencoder dvd://1 -oac copy -vf pullup,softskip
- -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- Un metodo più vecchio, invece di togliere il telecine dove c'è, è portare
- in telecine le parti che non lo sono e dopo invertire il telecine su tutto il
- video. Sembra incasinato? softpulldown è un filtro che prende tutto il video
- e lo porta in telecine. Se facciamo seguire a softpulldown
- <option>detc</option> oppure <option>ivtc</option>, il risultato finale sarÃ
- completamente progressivo. Serve <option>-ofps 24000/1001</option>.
- <screen>
-mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
- </screen>
-</para></listitem>
-
-<listitem><para>
- Non ho usato <option>-vf filmdint</option>, ma questa è l'opinione che ne ha
- D Richard Felker III:
-
- <blockquote><para>E' OK, ma IMO cerca troppo spesso di deinterlacciare
- piuttosto che invertire il telecine (come molti lettori DVD da tavolo &
- televisioni progressive), il che porta orrendi sfarfallii e altri
- artefatti. Se vuoi utilizzarlo devi perlomeno spendere un po' di tempo ad
- impostare le opzioni e controllare i risultati prima di esser certo che non
- faccia danni.
- </para></blockquote>
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>Progressivo e interlacciato mescolati</title>
-
-<para>
-Ci sono due opzioni per gestire questa categoria, ognuna delle quali è un
-compromesso. Dovresti decidere basandoti sulla lunghezza/durata di uno dei due
-tipi.
-</para>
-
-<itemizedlist>
-<listitem>
- <para>
- Trattarlo come progressivo. Le parti interlacciate sembreranno interlacciate,
- e alcuni dei campi interlacciati dovranno essere scartati, apportando un
- pelino di saltellamenti impari. Se vuoi puoi utilizzare un filtro di
- postelaborazione, ma potrebbe leggermente inficiare le parti progressive.
- </para>
-
- <para>
- Questa opzione non sarebbe decisamente da usare se casomai ti interessi
- riprodurre il video su un dispositivo interlacciato (con una sche da TV, per
- esempio). Se hai fotogrammi interlacciati in un video a 24000/1001 fotogrammi
- al secondo, verranno messi in telecine con i fotogrammi progressivi.
- Metà dei "fotogrammi" interlacciati saranno mostrati per la durata di tre
- campi (3/(60000/1001) secondi), risultando in un effetto alla "salto indietro
- nel tempo" che è bruttino. Se solo provi a far in questo modo,
- <emphasis role="bold">devi</emphasis> usare in filtro di deinterlacciamento
- come <option>lb</option> o <option>l5</option>.
- </para>
-
- <para>
- Può anche essere una brutta idea per un display progressivo. Scarterà coppie
- di campi interlacciati consecutivi, dando una discontinuità che si vede
- maggiormente con il secondo metodo, che mostra per due volte alcuni
- fotogrammi progressivi. Il video interlacciato a 30000/1001 fotogrammi per
- secondo è di suo un pochino zoppo dato che sarebbe da mostrare a 60000/1001
- campi al secondo, quindi i fotogrammi duplicati non si notano così tanto.
- </para>
-
- <para>
- In ogni modo è meglio tenere in considerazione il tuo contenuto e come
- intendi riprodurlo. Se il tuo video è al 90% progressivo e non pensi di
- riprodurlo mai su una TV, dovresti propendere per l'approccio progressivo.
- Se è progressivo solo per metà , probabilmente ti converrà codificarlo come
- se fosse interlacciato.
- </para>
-</listitem>
-
-<listitem><para>
- Trattarlo come interlacciato. Alcuni fotogrammi delle parti progressive
- verranno duplicati, portando saltelli impari. Ancora, i filtri di
- deinterlacciamento potrebbero inficiare le parti progressive.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Note a pie' pagina</title>
-
-<orderedlist>
-<listitem>
- <formalpara>
- <title>Riguardo il taglio (crop):</title>
- <para>
- I dati video sui DVD sono memorizzati in un formato conosciuto come YUV 4:2:0.
- In un video YUV, la luminosità ("luma") e il colore ("chroma") vengono
- salvati separatamente. Dato che l'occhio umano è in qualche modo meno
- sensibile al colore che alla luminosità , in un'immagine YUV 4:2:0 c'è solo
- un pixel chroma ogni quattro pixel luma. In un'immagine progressiva, ogni
- quadrato di quattro pixel luma (due per lato) ha in comune un pixel chroma.
- Devi prima ridimensionare lo YUV 4:2:0 progressivo a una risoluzione pari, e
- anche utilizzare lo scostamento. Per esempio,
- <option>crop=716:380:2:26</option> è OK ma
- <option>crop=716:380:3:26 </option> non lo è.
- </para>
- </formalpara>
-
- <para>
- Quando gestisci YUV 4:2:0 interlacciato, la situazione è un pelo più
- complessa. Invece di avere quattro pixel luma nel
- <emphasis>fotogramma</emphasis> che condividono un pixel chroma, quattro
- pixel in ogni <emphasis>campo</emphasis> condividono un pixel chroma.
- Quando i campi vengono interlacciati per formare un fotogramma, ogni
- "scanline" è alta un pixel. Ora, invece di avere tutti i quattro pixel luma
- in un quadrato, ci sono due pixel affiancati, e gli altri due pixel sono
- affiancati due scanline più sotto. I due pixel luma nella scanline di mezzo
- sono di un altro campo, e quindi condividono un pixel chroma differente con
- due pixel due scanline dopo. Tutta questa confusione rende necessario avere
- dimensione verticale pari e lo scostamento deve essere un multiplo di quattro.
- La dimensione orizzontale può rimanere dispari.
- </para>
-
- <para>
- Per video in telecine, si consiglia di effettuare il taglio dopo l'inversione
- del telecine. Una volta che il video è progressivo ti serve solo tagliare di
- numeri dispari. Se davvero vuoi ottenere il piccolo aumento di velocità che
- puoi avere tagliando prima, devi prima tagliare in verticale di multipli di
- quattro, altrimenti il filtro di telecine inverso non riceverà dati corretti.
- </para>
-
- <para>
- Per video interlacciato (non in telecine), devi sempre tagliare
- verticalmente di multipli di quattro a meno che tu non stia usando
- <option>-vf field</option> prima del taglio.
- </para>
-</listitem>
-
-<listitem><formalpara>
- <title>Riguardo i parameti di codifica e la qualità :</title>
- <para>
- Il fatto che qui venga cosigliata <option>mbd=2</option> non significa che
- non si debba usare altrimenti. Insieme con <option>trell</option>,
- <option>mbd=2</option> è una delle due opzioni di
- <systemitem class="library">libavcodec</systemitem> che ottimizzano al
- meglio la qualità e sarebbero sempre da utilizzare entrambe a meno che
- l'aumento della velocità di codifica sua proibitivo (ad es. per la codifica
- in tempo reale (realtime)). Ci sono molte altre opzioni di
- <systemitem class="library">libavcodec</systemitem> che aumentano la
- qualità (e rallentano la codifica), ma questo non è l'obiettivo di
- questa documentaziione.
- </para>
-</formalpara></listitem>
-
-<listitem><formalpara>
- <title>About the performance of pullup:</title>
- <para>
- It is safe to use <option>pullup</option> (along with <option>softskip
- </option>) on progressive video, and is usually a good idea unless
- the source has been definitively verified to be entirely progressive.
- The performace loss is small for most cases. On a bare-minimum encode,
- <option>pullup</option> causes <application>MEncoder</application> to
- be 50% slower. Adding sound processing and advanced <option>lavcopts
- </option> overshadows that difference, bringing the performance
- decrease of using <option>pullup</option> down to 2%.
- </para>
-</formalpara></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Encoding with the <systemitem class="library">libavcodec</systemitem>
- codec family</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem>
-provides simple encoding to a lot of interesting video and audio formats.
-You can encode to the following codecs (more or less up to date):
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title><systemitem class="library">libavcodec</systemitem>'s
- video codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
- <row><entry>Video codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mjpeg</entry>
- <entry>Motion JPEG</entry>
-</row>
-<row>
- <entry>ljpeg</entry>
- <entry>lossless JPEG</entry>
-</row>
-<row>
- <entry>jpegls</entry>
- <entry>JPEG LS</entry>
-</row>
-<row>
- <entry>targa</entry>
- <entry>Targa image</entry>
-</row>
-<row>
- <entry>gif</entry>
- <entry>GIF image</entry>
-</row>
-<row>
- <entry>bmp</entry>
- <entry>BMP image</entry>
-</row>
-<row>
- <entry>png</entry>
- <entry>PNG image</entry>
-</row>
-<row>
- <entry>h261</entry>
- <entry>H.261</entry>
-</row>
-<row>
- <entry>h263</entry>
- <entry>H.263 </entry>
-</row>
-<row>
- <entry>h263p</entry>
- <entry>H.263+</entry>
-</row>
-<row>
- <entry>mpeg4</entry>
- <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry>
-</row>
-<row>
- <entry>msmpeg4</entry>
- <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry>
-</row>
-<row>
- <entry>msmpeg4v2</entry>
- <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry>
-</row>
-<row>
- <entry>wmv1</entry>
- <entry>Windows Media Video, version 1 (AKA WMV7)</entry>
-</row>
-<row>
- <entry>wmv2</entry>
- <entry>Windows Media Video, version 2 (AKA WMV8)</entry>
-</row>
-<row>
- <entry>rv10</entry>
- <entry>RealVideo 1.0</entry>
-</row>
-<row>
- <entry>rv20</entry>
- <entry>RealVideo 2.0</entry>
-</row>
-<row>
- <entry>mpeg1video</entry>
- <entry>MPEG-1 video</entry>
-</row>
-<row>
- <entry>mpeg2video</entry>
- <entry>MPEG-2 video</entry>
-</row>
-<row>
- <entry>huffyuv</entry>
- <entry>lossless compression</entry>
-</row>
-<row>
- <entry>ffvhuff</entry>
- <entry>FFmpeg modified huffyuv lossless</entry>
-</row>
-<row>
- <entry>asv1</entry>
- <entry>ASUS Video v1</entry>
-</row>
-<row>
- <entry>asv2</entry>
- <entry>ASUS Video v2</entry>
-</row>
-<row>
- <entry>ffv1</entry>
- <entry>FFmpeg's lossless video codec</entry>
-</row>
-<row>
- <entry>svq1</entry>
- <entry>Sorenson video 1</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Sorenson H.263 used in Flash Video</entry>
-</row>
-<row>
- <entry>flashsv</entry>
- <entry>Flash Screen Video</entry>
-</row>
-<row>
- <entry>dvvideo</entry>
- <entry>Sony Digital Video</entry>
-</row>
-<row>
- <entry>snow</entry>
- <entry>FFmpeg's experimental wavelet-based codec</entry>
-</row>
-<row>
- <entry>zbmv</entry>
- <entry>Zip Blocks Motion Video</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>vcodec</literal> config,
-like: <option>-lavcopts vcodec=msmpeg4</option>
-</para>
-
-<informalexample><para>
-An example with MJPEG compression:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy
-</screen>
-</para></informalexample>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title><systemitem class="library">libavcodec</systemitem>'s
- audio codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Audio codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>ac3</entry>
- <entry>Dolby Digital (AC-3)</entry>
-</row>
-<row>
- <entry>adpcm_*</entry>
- <entry>Adaptive PCM formats - see supplementary table</entry>
-</row>
-<row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
-</row>
-<row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
-</row>
-<row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) - using FAAC</entry>
-</row>
-<row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 full rate</entry>
-</row>
-<row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
-</row>
-<row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) - using LAME</entry>
-</row>
-<row>
- <entry>mp2</entry>
- <entry>MPEG-1 audio layer 2 (MP2)</entry>
-</row>
-<row>
- <entry>pcm_*</entry>
- <entry>PCM formats - see supplementary table</entry>
-</row>
-<row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
-</row>
-<row>
- <entry>sonic</entry>
- <entry>experimental FFmpeg lossy codec</entry>
-</row>
-<row>
- <entry>sonicls</entry>
- <entry>experimental FFmpeg lossless codec</entry>
-</row>
-<row>
- <entry>vorbis</entry>
- <entry>Vorbis</entry>
-</row>
-<row>
- <entry>wmav1</entry>
- <entry>Windows Media Audio v1</entry>
-</row>
-<row>
- <entry>wmav2</entry>
- <entry>Windows Media Audio v2</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample><para>
-An example with AC-3 compression:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy
-</screen>
-</para></informalexample>
-
-<para>
-Contrary to <systemitem class="library">libavcodec</systemitem>'s video
-codecs, its audio codecs do not make a wise usage of the bits they are
-given as they lack some minimal psychoacoustic model (if at all)
-which most other codec implementations feature.
-However, note that all these audio codecs are very fast and work
-out-of-the-box everywhere <application>MEncoder</application> has been
-compiled with <systemitem class="library">libavcodec</systemitem> (which
-is the case most of time), and do not depend on external libraries.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>Encoding options of libavcodec</title>
-
-<para>
-Ideally, you would probably want to be able to just tell the encoder to switch
-into "high quality" mode and move on.
-That would probably be nice, but unfortunately hard to implement as different
-encoding options yield different quality results depending on the source
-material. That is because compression depends on the visual properties of the
-video in question.
-For example, anime and live action have very different properties and
-thus require different options to obtain optimum encoding.
-The good news is that some options should never be left out, like
-<option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
-See below for a detailed description of common encoding options.
-</para>
-
-<itemizedlist>
-<title>Options to adjust:</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on
- the movie.
- Note that if you need to have your encode be decodable by DivX5, you
- need to activate closed GOP support, using
- <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option>
- option, but you need to deactivate scene detection, which
- is not a good idea as it will hurt encode efficiency a bit.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes.
- On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along
- with vb_strategy=1 helps.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better
- and slower.
- Negative values are a completely different scale.
- Good values are -1 for a fast encode, or 2-4 for slower.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">predia</emphasis>: motion search pre-pass.
- Not as important as dia. Good values are 1 (default) to 4. Requires preme=2
- to really be useful.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for
- motion estimation.
- Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
- distortion).
- 0 is fastest, and sufficient for precmp.
- For cmp and subcmp, 2 is good for anime, and 3 is good for live action.
- 6 may or may not be slightly better, but is slow.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to
- take from the previous frame.
- 1-3 or so help at little speed cost.
- Higher values are slow for no extra gain.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of
- macroblocks. Small speed cost for small quality gain.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the
- macroblock's complexity.
- May help or hurt depending on the video and other options.
- This can cause artifacts unless you set vqmax to some reasonably small value
- (6 is good, maybe as low as 4); vqmin=1 should also help.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qns</emphasis>: very slow, especially when combined
- with qprd.
- This option will make the encoder minimize noise due to compression
- artifacts instead of making the encoded video strictly match the source.
- Do not use this unless you have already tweaked everything else as far as it
- will go and the results still are not good enough.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol.
- What values are good depends on the movie.
- You can safely leave this alone if you want.
- Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts
- them on high-complexity scenes (default: 0.5, range: 0-1. recommended range:
- 0.5-0.7).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient
- elimination threshold for luminance and chroma planes.
- These are encoded separately in all MPEG-like algorithms.
- The idea behind these options is to use some good heuristics to determine
- when the change in a block is less than the threshold you specify, and in
- such a case, to just encode the block as "no change".
- This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
- seem to be good for live movies, but seem not to help with anime;
- when encoding animation, you should probably leave them unchanged.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation.
- MPEG-4 uses half pixel precision for its motion search by default,
- therefore this option comes with an overhead as more information will be
- stored in the encoded file.
- The compression gain/loss depends on the movie, but it is usually not very
- effective on anime.
- qpel always incurs a significant cost in CPU decode time (+25% in
- practice).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding,
- but writes a log file giving the type/size/quality of each frame, and
- prints a summary of PSNR (Peak Signal to Noise Ratio) at the end.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Options not recommended to play with:</title>
-<listitem><para>
- <emphasis role="bold">vme</emphasis>: The default is best.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive
- quantization.
- You do not want to play with those options if you care about quality.
- Reasonable values may be effective in your case, but be warned this is very
- subjective.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky
- artifacts, but postprocessing is better.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Description</entry>
- <entry>Encoding options</entry>
- <entry>speed (in fps)</entry>
- <entry>Relative PSNR loss (in dB)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15fps</entry>
- <entry>-0.5dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42fps</entry>
- <entry>-0.74dB</entry>
-</row>
-<row>
- <entry>Realtime</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54fps</entry>
- <entry>-1.21dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="custommatrices">
-<title>Custom inter/intra matrices</title>
-
-<para>
-With this feature of
-<systemitem class="library">libavcodec</systemitem>
-you are able to set custom inter (I-frames/keyframes) and intra
-(P-frames/predicted frames) matrices. It is supported by many of the codecs:
-<systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem>
-are reported as working.
-</para>
-
-<para>
-A typical usage of this feature is to set the matrices preferred by the
-<ulink url="http://www.kvcd.net/">KVCD</ulink> specifications.
-</para>
-
-<para>
-The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-Usage:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \
- -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>Example</title>
-
-<para>
-So, you have just bought your shiny new copy of Harry Potter and the Chamber
-of Secrets (widescreen edition, of course), and you want to rip this DVD
-so that you can add it to your Home Theatre PC. This is a region 1 DVD,
-so it is NTSC. The example below will still apply to PAL, except you will
-omit <option>-ofps 24000/1001</option> (because the output framerate is the
-same as the input framerate), and of course the crop dimensions will be
-different.
-</para>
-
-<para>
-After running <option>mplayer dvd://1</option>, we follow the process
-detailed in the section <link linkend="menc-feat-telecine">How to deal
-with telecine and interlacing in NTSC DVDs</link> and discover that it is
-24000/1001 fps progressive video, which means that we need not use an inverse
-telecine filter, such as <option>pullup</option> or
-<option>filmdint</option>.
-</para>
-
-<para id="menc-feat-dvd-mpeg4-example-crop">
-Next, we want to determine the appropriate crop rectangle, so we use the
-cropdetect filter:
-<screen>mplayer dvd://1 -vf cropdetect</screen>
-Make sure you seek to a fully filled frame (such as a bright scene,
-past the opening credits and logos), and
-you will see in <application>MPlayer</application>'s console output:
-<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-We then play the movie back with this filter to test its correctness:
-<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-And we see that it looks perfectly fine. Next, we ensure the width and
-height are a multiple of 16. The width is fine, however the height is
-not. Since we did not fail 7th grade math, we know that the nearest
-multiple of 16 lower than 362 is 352.
-</para>
-
-<para>
-We could just use <option>crop=720:352:0:58</option>, but it would be nice
-to take a little off the top and a little off the bottom so that we
-retain the center. We have shrunk the height by 10 pixels, but we do not
-want to increase the y-offset by 5-pixels since that is an odd number and
-will adversely affect quality. Instead, we will increase the y-offset by
-4 pixels:
-<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-Another reason to shave pixels from both the top and the bottom is that we
-ensure we have eliminated any half-black pixels if they exist. Note that if
-your video is telecined, make sure the <option>pullup</option> filter (or
-whichever inverse telecine filter you decide to use) appears in the filter
-chain before you crop. If it is interlaced, deinterlace before cropping.
-(If you choose to preserve the interlaced video, then make sure your
-vertical crop offset is a multiple of 4.)
-</para>
-
-<para>
-If you are really concerned about losing those 10 pixels, you might
-prefer instead to scale the dimensions down to the nearest multiple of 16.
-The filter chain would look like:
-<screen>-vf crop=720:362:0:58,scale=720:352</screen>
-Scaling the video down like this will mean that some small amount of
-detail is lost, though it probably will not be perceptible. Scaling up will
-result in lower quality (unless you increase the bitrate). Cropping
-discards those pixels altogether. It is a tradeoff that you will want to
-consider for each circumstance. For example, if the DVD video was made
-for television, you might want to avoid vertical scaling, since the line
-sampling corresponds to the way the content was originally recorded.
-</para>
-
-<para>
-On inspection, we see that our movie has a fair bit of action and high
-amounts of detail, so we pick 2400Kbit for our bitrate.
-</para>
-
-<para>
-We are now ready to do the two pass encode. Pass one:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-And pass two is the same, except that we specify <option>vpass=2</option>:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-</para>
-
-<para>
-The options <option>v4mv:mbd=2:trell</option> will greatly increase the
-quality at the expense of encoding time. There is little reason to leave
-these options out when the primary goal is quality. The options
-<option>cmp=3:subcmp=3</option> select a comparison function that
-yields higher quality than the defaults. You might try experimenting with
-this parameter (refer to the man page for the possible values) as
-different functions can have a large impact on quality depending on the
-source material. For example, if you find
-<systemitem class="library">libavcodec</systemitem> produces too much
-blocky artifacting, you could try selecting the experimental NSSE as
-comparison function via <option>*cmp=10</option>.
-</para>
-
-<para>
-For this movie, the resulting AVI will be 138 minutes long and nearly
-3GB. And because you said that file size does not matter, this is a
-perfectly acceptable size. However, if you had wanted it smaller, you
-could try a lower bitrate. Increasing bitrates have diminishing
-returns, so while we might clearly see an improvement from 1800Kbit to
-2000Kbit, it might not be so noticeable above 2000Kbit. Feel
-free to experiment until you are happy.
-</para>
-
-<para>
-Because we passed the source video through a denoise filter, you may want
-to add some of it back during playback. This, along with the
-<option>spp</option> post-processing filter, drastically improves the
-perception of quality and helps eliminate blocky artifacts in the video.
-With <application>MPlayer</application>'s <option>autoq</option> option,
-you can vary the amount of post-processing done by the spp filter
-depending on available CPU. Also, at this point, you may want to apply
-gamma and/or color correction to best suit your display. For example:
-<screen>
-mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
-</screen>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-xvid">
-<title>Encoding with the <systemitem class="library">Xvid</systemitem>
- codec</title>
-
-<para>
-<systemitem class="library">Xvid</systemitem> is a free library for
-encoding MPEG-4 ASP video streams.
-Before starting to encode, you need to <link linkend="xvid">
-set up <application>MEncoder</application> to support it</link>.
-</para>
-
-<para>
-This guide mainly aims at featuring the same kind of information
-as x264's encoding guide.
-Therefore, please begin by reading
-<link linkend="menc-feat-x264-encoding-options-intro">the first part</link>
-of that guide.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-intro">
-<title>What options should I use to get the best results?</title>
-
-<para>
-Please begin by reviewing the
-<systemitem class="library">Xvid</systemitem> section of
-<application>MPlayer</application>'s man page.
-This section is intended to be a supplement to the man page.
-</para>
-
-<para>
-The Xvid default settings are already a good tradeoff between
-speed and quality, therefore you can safely stick to them if
-the following section puzzles you.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>Encoding options of <systemitem class="library">Xvid</systemitem></title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- This setting affects the macroblock decision algorithm, where the
- higher the setting, the wiser the decision.
- The default setting may be safely used for every encode, while
- higher settings always help PSNR but are significantly slower.
- Please note that a better PSNR does not necessarily mean
- that the picture will look better, but tells you that it is
- closer to the original.
- Turning it off will noticeably speed up encoding; if speed is
- critical for you, the tradeoff may be worth it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- This does the same job as vhq, but does it on B-frames.
- It has a negligible impact on speed, and slightly improves quality
- (around +0.1dB PSNR).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- A higher number of consecutive allowed B-frames usually improves
- compressibility, although it may also lead to more blocking artifacts.
- The default setting is a good tradeoff between compressibility and
- quality, but you may increase it up to 3 if you are bitrate-starved.
- You may also decrease it to 1 or 0 if you are aiming at perfect
- quality, though in that case you should make sure your
- target bitrate is high enough to ensure that the encoder does not
- have to increase quantizers to reach it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- This controls the B-frame sensitivity of the encoder, where a higher
- value leads to more B-frames being used (and vice versa).
- This setting is to be used together with <option>max_bframes</option>;
- if you are bitrate-starved, you should increase both
- <option>max_bframes</option> and <option>bf_threshold</option>,
- while you may increase <option>max_bframes</option> and reduce
- <option>bf_threshold</option> so that the encoder may use more
- B-frames in places that only <emphasis role="bold">really</emphasis>
- need them.
- A low number of <option>max_bframes</option> and a high value of
- <option>bf_threshold</option> is probably not a wise choice as it
- will force the encoder to put B-frames in places that would not
- benefit from them, therefore reducing visual quality.
- However, if you need to be compatible with standalone players that
- only support old DivX profiles (which only supports up to 1
- consecutive B-frame), this would be your only way to
- increase compressibility through using B-frames.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- Optimizes the quantization process to get an optimal tradeoff
- between PSNR and bitrate, which allows significant bit saving.
- These bits will in return be spent elsewhere on the video,
- raising overall visual quality.
- You should always leave it on as its impact on quality is huge.
- Even if you are looking for speed, do not disable it until you
- have turned down <option>vhq</option> and all other more
- CPU-hungry options to the minimum.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- Activates a better coefficient cost estimation method, which slightly
- reduces filesize by around 0.15 to 0.19% (which corresponds to less
- than 0.01dB PSNR increase), while having a negligible impact on speed.
- It is therefore recommended to always leave it on.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- Designed to better encode cartoon content, and has no impact on
- speed as it just tunes the mode decision heuristics for this type
- of content.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">me_quality</emphasis>
- This setting is to control the precision of the motion estimation.
- The higher <option>me_quality</option>, the more
- precise the estimation of the original motion will be, and the
- better the resulting clip will capture the original motion.
- </para>
- <para>
- The default setting is best in all cases;
- thus it is not recommended to turn it down unless you are
- really looking for speed, as all the bits saved by a good motion
- estimation would be spent elsewhere, raising overall quality.
- Therefore, do not go any lower than 5, and even that only as a last
- resort.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- Improves motion estimation by also taking the chroma (color)
- information into account, whereas <option>me_quality</option>
- alone only uses luma (grayscale).
- This slows down encoding by 5-10% but improves visual quality
- quite a bit by reducing blocking effects and reduces filesize by
- around 1.3%.
- If you are looking for speed, you should disable this option before
- starting to consider reducing <option>me_quality</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- Is intended to increase chroma image quality around pure
- white/black edges, rather than improving compression.
- This can help to reduce the "red stairs" effect.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- Tries to give less bitrate to part of the picture that the
- human eye cannot see very well, which should allow the encoder
- to spend the saved bits on more important parts of the picture.
- The quality of the encode yielded by this option highly depends
- on personal preferences and on the type and monitor settings
- used to watch it (typically, it will not look as good if it is
- bright or if it is a TFT monitor).
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>
- Raise the number of candidate motion vectors by increasing
- the precision of the motion estimation from halfpel to
- quarterpel.
- The idea is to find better motion vectors which will in return
- reduce bitrate (hence increasing quality).
- However, motion vectors with quarterpel precision require a
- few extra bits to code, but the candidate vectors do not always
- give (much) better results.
- Quite often, the codec still spends bits on the extra precision,
- but little or no extra quality is gained in return.
- Unfortunately, there is no way to foresee the possible gains of
- <option>qpel</option>, so you need to actually encode with and
- without it to know for sure.
- </para>
- <para>
- <option>qpel</option> can be almost double encoding time, and
- requires as much as 25% more processing power to decode.
- It is not supported by all standalone players.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- Tries to save bits on panning scenes by using a single motion
- vector for the whole frame.
- This almost always raises PSNR, but significantly slows down
- encoding (as well as decoding).
- Therefore, you should only use it when you have turned
- <option>vhq</option> to the maximum.
- <systemitem class="library">Xvid</systemitem>'s GMC is more
- sophisticated than DivX's, but is only supported by few
- standalone players.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>Encoding profiles</title>
-
-<para>
-Xvid supports encoding profiles through the <option>profile</option> option,
-which are used to impose restrictions on the properties of the Xvid video
-stream such that it will be playable on anything which supports the
-chosen profile.
-The restrictions relate to resolutions, bitrates and certain MPEG-4
-features.
-The following table shows what each profile supports.
-</para>
-
-<informaltable>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
-<tbody>
-<row>
- <entry></entry>
- <entry spanname="spa2-5">Simple</entry>
- <entry spanname="spa6-11">Advanced Simple</entry>
- <entry spanname="spa12-17">DivX</entry>
-</row>
-<row>
- <entry>Profile name</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>Handheld</entry>
- <entry>Portable NTSC</entry>
- <entry>Portable PAL</entry>
- <entry>Home Theater NTSC</entry>
- <entry>Home Theater PAL</entry>
- <entry>HDTV</entry>
-</row>
-<row>
- <entry>Width [pixels]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
-</row>
-<row>
- <entry>Height [pixels]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
-</row>
-<row>
- <entry>Frame rate [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
-</row>
-<row>
- <entry>Max average bitrate [kbps]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
-</row>
-<row>
- <entry>Peak average bitrate over 3 secs [kbps]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
-</row>
-<row>
- <entry>Max. B-frames</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
-</row>
-<row>
- <entry>MPEG quantization</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Adaptive quantization</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Interlaced encoding</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Quaterpixel</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Global motion compensation</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18fps</entry>
- <entry>-0.1dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28fps</entry>
- <entry>-0.69dB</entry>
-</row>
-<row>
- <entry>Realtime</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-x264">
-<title>Encoding with the
- <systemitem class="library">x264</systemitem> codec</title>
-
-<para>
-<systemitem class="library">x264</systemitem> is a free library for
-encoding H.264/AVC video streams.
-Before starting to encode, you need to
-<link linkend="x264">set up <application>MEncoder</application> to support it</link>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>Encoding options of x264</title>
-
-<para>
-Please begin by reviewing the
-<systemitem class="library">x264</systemitem> section of
-<application>MPlayer</application>'s man page.
-This section is intended to be a supplement to the man page.
-Here you will find quick hints about which options are most
-likely to interest most people. The man page is more terse,
-but also more exhaustive, and it sometimes offers much better
-technical detail.
-</para>
-
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Introduction</title>
-
-<para>
-This guide considers two major categories of encoding options:
-</para>
-
-<orderedlist>
-<listitem><para>
- Options which mainly trade off encoding time vs. quality
-</para></listitem>
-<listitem><para>
- Options which may be useful for fulfilling various personal
- preferences and special requirements
-</para></listitem>
-</orderedlist>
-
-<para>
-Ultimately, only you can decide which options are best for your
-purposes. The decision for the first class of options is the simplest:
-you only have to decide whether you think the quality differences
-justify the speed differences. For the second class of options,
-preferences may be far more subjective, and more factors may be
-involved. Note that some of the "personal preferences and special
-requirements" options can still have large impacts on speed or quality,
-but that is not what they are primarily useful for. A couple of the
-"personal preference" options may even cause changes that look better
-to some people, but look worse to others.
-</para>
-
-<para>
-Before continuing, you need to understand that this guide uses only one
-quality metric: global PSNR.
-For a brief explanation of what PSNR is, see
-<ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>.
-Global PSNR is the last PSNR number reported when you include
-the <option>psnr</option> option in <option>x264encopts</option>.
-Any time you read a claim about PSNR, one of the assumptions
-behind the claim is that equal bitrates are used.
-</para>
-
-<para>
-Nearly all of this guide's comments assume you are using two pass.
-When comparing options, there are two major reasons for using
-two pass encoding.
-First, using two pass often gains around 1dB PSNR, which is a
-very big difference.
-Secondly, testing options by doing direct quality comparisons
-with one pass encodes introduces a major confounding
-factor: bitrate often varies significantly with each encode.
-It is not always easy to tell whether quality changes are due
-mainly to changed options, or if they mostly reflect essentially
-random differences in the achieved bitrate.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>Options which primarily affect speed and quality</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">subq</emphasis>:
- Of the options which allow you to trade off speed for quality,
- <option>subq</option> and <option>frameref</option> (see below) are usually
- by far the most important.
- If you are interested in tweaking either speed or quality, these
- are the first options you should consider.
- On the speed dimension, the <option>frameref</option> and
- <option>subq</option> options interact with each other fairly
- strongly.
- Experience shows that, with one reference frame,
- <option>subq=5</option> (the default setting) takes about 35% more time than
- <option>subq=1</option>.
- With 6 reference frames, the penalty grows to over 60%.
- <option>subq</option>'s effect on PSNR seems fairly constant
- regardless of the number of reference frames.
- Typically, <option>subq=5</option> achieves 0.2-0.5 dB higher global
- PSNR in comparison <option>subq=1</option>.
- This is usually enough to be visible.
- </para>
- <para>
- <option>subq=6</option> is slower and yields better quality at a reasonable
- cost.
- In comparison to <option>subq=5</option>, it usually gains 0.1-0.4 dB
- global PSNR with speed costs varying from 25%-100%.
- Unlike other levels of <option>subq</option>, the behavior of
- <option>subq=6</option> does not depend much on <option>frameref</option>
- and <option>me</option>. Instead, the effectiveness of <option>subq=6
- </option> depends mostly upon the number of B-frames used. In normal
- usage, this means <option>subq=6</option> has a large impact on both speed
- and quality in complex, high motion scenes, but it may not have much effect
- in low-motion scenes. Note that it is still recommended to always set
- <option>bframes</option> to something other than zero (see below).
- </para>
- <para>
- <option>subq=7</option> is the slowest, highest quality mode.
- In comparison to <option>subq=6</option>, it usually gains 0.01-0.05 dB
- global PSNR with speed costs varying from 15%-33%.
- Since the tradeoff encoding time vs. quality is quite low, you should
- only use it if you are after every bit saving and if encoding time is
- not an issue.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">frameref</emphasis>:
- <option>frameref</option> is set to 1 by default, but this
- should not be taken to imply that it is reasonable to set it to 1.
- Merely raising <option>frameref</option> to 2 gains around
- 0.15dB PSNR with a 5-10% speed penalty; this seems like a good tradeoff.
- <option>frameref=3</option> gains around 0.25dB PSNR over
- <option>frameref=1</option>, which should be a visible difference.
- <option>frameref=3</option> is around 15% slower than
- <option>frameref=1</option>.
- Unfortunately, diminishing returns set in rapidly.
- <option>frameref=6</option> can be expected to gain only
- 0.05-0.1 dB over <option>frameref=3</option> at an additional
- 15% speed penalty.
- Above <option>frameref=6</option>, the quality gains are
- usually very small (although you should keep in mind throughout
- this whole discussion that it can vary quite a lot depending on your source).
- In a fairly typical case, <option>frameref=12</option>
- will improve global PSNR by a tiny 0.02dB over
- <option>frameref=6</option>, at a speed cost of 15%-20%.
- At such high <option>frameref</option> values, the only really
- good thing that can be said is that increasing it even further will
- almost certainly never <emphasis role="bold">harm</emphasis>
- PSNR, but the additional quality benefits are barely even
- measurable, let alone perceptible.
- </para>
- <note><title>Note:</title>
- <para>
- Raising <option>frameref</option> to unnecessarily high values
- <emphasis role="bold">can</emphasis> and
- <emphasis role="bold">usually does</emphasis>
- hurt coding efficiency if you turn CABAC off.
- With CABAC on (the default behavior), the possibility of setting
- <option>frameref</option> "too high" currently seems too remote
- to even worry about, and in the future, optimizations may remove
- the possibility altogether.
- </para></note>
- <para>
- If you care about speed, a reasonable compromise is to use low
- <option>subq</option> and <option>frameref</option> values on
- the first pass, and then raise them on the second pass.
- Typically, this has a negligible negative effect on the final
- quality: You will probably lose well under 0.1dB PSNR, which
- should be much too small of a difference to see.
- However, different values of <option>frameref</option> can
- occasionally affect frametype decision.
- Most likely, these are rare outlying cases, but if you want to
- be pretty sure, consider whether your video has either
- fullscreen repetitive flashing patterns or very large temporary
- occlusions which might force an I-frame.
- Adjust the first-pass <option>frameref</option> so it is large
- enough to contain the duration of the flashing cycle (or occlusion).
- For example, if the scene flashes back and forth between two images
- over a duration of three frames, set the first pass
- <option>frameref</option> to 3 or higher.
- This issue is probably extremely rare in live action video material,
- but it does sometimes come up in video game captures.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">me</emphasis>:
- This option is for choosing the motion estimation search method.
- Altering this option provides a straightforward quality-vs-speed
- tradeoff. <option>me=dia</option> is only a few percent faster than
- the default search, at a cost of under 0.1dB global PSNR. The
- default setting (<option>me=hex</option>) is a reasonable tradeoff
- between speed and quality. <option>me=umh</option> gains a little under
- 0.1dB global PSNR, with a speed penalty that varies depending on
- <option>frameref</option>. At high values of
- <option>frameref</option> (e.g. 12 or so), <option>me=umh</option>
- is about 40% slower than the default <option> me=hex</option>. With
- <option>frameref=3</option>, the speed penalty incurred drops to
- 25%-30%.
- </para>
- <para>
- <option>me=esa</option> uses an exhaustive search that is too slow for
- practical use.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">partitions=all</emphasis>:
- This option enables the use of 8x4, 4x8 and 4x4 subpartitions in
- predicted macroblocks (in addition to the default partitions).
- Enabling it results in a fairly consistent
- 10%-15% loss of speed. This option is rather useless in source
- containing only low motion, however in some high-motion source,
- particularly source with lots of small moving objects, gains of
- about 0.1dB can be expected.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">bframes</emphasis>:
- If you are used to encoding with other codecs, you may have found
- that B-frames are not always useful.
- In H.264, this has changed: there are new techniques and block
- types that are possible in B-frames.
- Usually, even a naive B-frame choice algorithm can have a
- significant PSNR benefit.
- It is interesting to note that using B-frames usually speeds up
- the second pass somewhat, and may also speed up a single
- pass encode if adaptive B-frame decision is turned off.
- </para>
- <para>
- With adaptive B-frame decision turned off
- (<option>x264encopts</option>'s <option>nob_adapt</option>),
- the optimal value for this setting is usually no more than
- <option>bframes=1</option>, or else high-motion scenes can suffer.
- With adaptive B-frame decision on (the default behavior), it is
- safe to use higher values; the encoder will reduce the use of
- B-frames in scenes where they would hurt compression.
- The encoder rarely chooses to use more than 3 or 4 B-frames;
- setting this option any higher will have little effect.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">b_adapt</emphasis>:
- Note: This is on by default.
- </para>
- <para>
- With this option enabled, the encoder will use a reasonably fast
- decision process to reduce the number of B-frames used in scenes that
- might not benefit from them as much.
- You can use <option>b_bias</option> to tweak how B-frame-happy
- the encoder is.
- The speed penalty of adaptive B-frames is currently rather modest,
- but so is the potential quality gain.
- It usually does not hurt, however.
- Note that this only affects speed and frametype decision on the
- first pass.
- <option>b_adapt</option> and <option>b_bias</option> have no
- effect on subsequent passes.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- You might as well enable this option if you are using >=2 B-frames;
- as the man page says, you get a little quality improvement at no
- speed cost.
- Note that these videos cannot be read by libavcodec-based decoders
- older than about March 5, 2005.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">weight_b</emphasis>:
- In typical cases, there is not much gain with this option.
- However, in crossfades or fade-to-black scenes, weighted
- prediction gives rather large bitrate savings.
- In MPEG-4 ASP, a fade-to-black is usually best coded as a series
- of expensive I-frames; using weighted prediction in B-frames
- makes it possible to turn at least some of these into much smaller
- B-frames.
- Encoding time cost is minimal, as no extra decisions need to be made.
- Also, contrary to what some people seem to guess, the decoder
- CPU requirements are not much affected by weighted prediction,
- all else being equal.
- </para>
- <para>
- Unfortunately, the current adaptive B-frame decision algorithm
- has a strong tendency to avoid B-frames during fades.
- Until this changes, it may be a good idea to add
- <option>nob_adapt</option> to your x264encopts, if you expect
- fades to have a large effect in your particular video
- clip.
- </para>
-</listitem>
-<listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
- <para>
- <emphasis role="bold">threads</emphasis>:
- This option allows to spawn threads to encode in parallel on multiple CPUs.
- You can manually select the number of threads to be created or, better, set
- <option>threads=auto</option> and let
- <systemitem class="library">x264</systemitem> detect how many CPUs are
- available and pick an appropriate number of threads.
- If you have a multi-processor machine, you should really consider using it
- as it can to increase encoding speed linearly with the number of CPU cores
- (about 94% per CPU core), with very little quality reduction (about 0.005dB
- for dual processor, about 0.01dB for a quad processor machine).
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>Options pertaining to miscellaneous preferences</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Two pass encoding</emphasis>:
- Above, it was suggested to always use two pass encoding, but there
- are still reasons for not using it. For instance, if you are capturing
- live TV and encoding in realtime, you are forced to use single-pass.
- Also, one pass is obviously faster than two passes; if you use the
- exact same set of options on both passes, two pass encoding is almost
- twice as slow.
- </para>
- <para>
- Still, there are very good reasons for using two pass encoding. For
- one thing, single pass ratecontrol is not psychic, and it often makes
- unreasonable choices because it cannot see the big picture. For example,
- suppose you have a two minute long video consisting of two distinct
- halves. The first half is a very high-motion scene lasting 60 seconds
- which, in isolation, requires about 2500kbps in order to look decent.
- Immediately following it is a much less demanding 60-second scene
- that looks good at 300kbps. Suppose you ask for 1400kbps on the theory
- that this is enough to accomodate both scenes. Single pass ratecontrol
- will make a couple of "mistakes" in such a case. First of all, it
- will target 1400kbps in both segments. The first segment may end up
- heavily overquantized, causing it to look unacceptably and unreasonably
- blocky. The second segment will be heavily underquantized; it may look
- perfect, but the bitrate cost of that perfection will be completely
- unreasonable. What is even harder to avoid is the problem at the
- transition between the two scenes. The first seconds of the low motion
- half will be hugely over-quantized, because the ratecontrol is still
- expecting the kind of bitrate requirements it met in the first half
- of the video. This "error period" of heavily over-quantized low motion
- will look jarringly bad, and will actually use less than the 300kbps
- it would have taken to make it look decent. There are ways to
- mitigate the pitfalls of single-pass encoding, but they may tend to
- increase bitrate misprediction.
- </para>
- <para>
- Multipass ratecontrol can offer huge advantages over a single pass.
- Using the statistics gathered from the first pass encode, the encoder
- can estimate, with reasonable accuracy, the "cost" (in bits) of
- encoding any given frame, at any given quantizer. This allows for
- a much more rational, better planned allocation of bits between the
- expensive (high-motion) and cheap (low-motion) scenes. See
- <option>qcomp</option> below for some ideas on how to tweak this
- allocation to your liking.
- </para>
- <para>
- Moreover, two passes need not take twice as long as one pass. You can
- tweak the options in the first pass for higher speed and lower quality.
- If you choose your options well, you can get a very fast first pass.
- The resulting quality in the second pass will be slightly lower because size
- prediction is less accurate, but the quality difference is normally much
- too small to be visible. Try, for example, adding
- <option>subq=1:frameref=1</option> to the first pass
- <option>x264encopts</option>. Then, on the second pass, use slower,
- higher-quality options:
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">Three pass encoding</emphasis>?
- x264 offers the ability to make an arbitrary number of consecutive
- passes. If you specify <option>pass=1</option> on the first pass,
- then use <option>pass=3</option> on a subsequent pass, the subsequent
- pass will both read the statistics from the previous pass, and write
- its own statistics. An additional pass following this one will have
- a very good base from which to make highly accurate predictions of
- framesizes at a chosen quantizer. In practice, the overall quality
- gain from this is usually close to zero, and quite possibly a third
- pass will result in slightly worse global PSNR than the pass before
- it. In typical usage, three passes help if you get either bad bitrate
- prediction or bad looking scene transitions when using only two passes.
- This is somewhat likely to happen on extremely short clips. There are
- also a few special cases in which three (or more) passes are handy
- for advanced users, but for brevity, this guide omits discussing those
- special cases.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis>:
- <option>qcomp</option> trades off the number of bits allocated
- to "expensive" high-motion versus "cheap" low-motion frames. At
- one extreme, <option>qcomp=0</option> aims for true constant
- bitrate. Typically this would make high-motion scenes look completely
- awful, while low-motion scenes would probably look absolutely
- perfect, but would also use many times more bitrate than they
- would need in order to look merely excellent. At the other extreme,
- <option>qcomp=1</option> achieves nearly constant quantization parameter
- (QP). Constant QP does not look bad, but most people think it is more
- reasonable to shave some bitrate off of the extremely expensive scenes
- (where the loss of quality is not as noticeable) and reallocate it to
- the scenes that are easier to encode at excellent quality.
- <option>qcomp</option> is set to 0.6 by default, which may be slightly
- low for many peoples' taste (0.7-0.8 are also commonly used).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- <option>keyint</option> is solely for trading off file seekability against
- coding efficiency. By default, <option>keyint</option> is set to 250. In
- 25fps material, this guarantees the ability to seek to within 10 seconds
- precision. If you think it would be important and useful to be able to
- seek within 5 seconds of precision, set <option>keyint=125</option>;
- this will hurt quality/bitrate slightly. If you care only about quality
- and not about seekability, you can set it to much higher values
- (understanding that there are diminishing returns which may become
- vanishingly low, or even zero). The video stream will still have seekable
- points as long as there are some scene changes.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">deblock</emphasis>:
- This topic is going to be a bit controversial.
- </para>
- <para>
- H.264 defines a simple deblocking procedure on I-blocks that uses
- pre-set strengths and thresholds depending on the QP of the block
- in question.
- By default, high QP blocks are filtered heavily, and low QP blocks
- are not deblocked at all.
- The pre-set strengths defined by the standard are well-chosen and
- the odds are very good that they are PSNR-optimal for whatever
- video you are trying to encode.
- The <option>deblock</option> allow you to specify offsets to the preset
- deblocking thresholds.
- </para>
- <para>
- Many people seem to think it is a good idea to lower the deblocking
- filter strength by large amounts (say, -3).
- This is however almost never a good idea, and in most cases,
- people who are doing this do not understand very well how
- deblocking works by default.
- </para>
- <para>
- The first and most important thing to know about the in-loop
- deblocking filter is that the default thresholds are almost always
- PSNR-optimal.
- In the rare cases that they are not optimal, the ideal offset is
- plus or minus 1.
- Adjusting deblocking parameters by a larger amount is almost
- guaranteed to hurt PSNR.
- Strengthening the filter will smear more details; weakening the
- filter will increase the appearance of blockiness.
- </para>
- <para>
- It is definitely a bad idea to lower the deblocking thresholds if
- your source is mainly low in spacial complexity (i.e., not a lot
- of detail or noise).
- The in-loop filter does a rather excellent job of concealing
- the artifacts that occur.
- If the source is high in spacial complexity, however, artifacts
- are less noticeable.
- This is because the ringing tends to look like detail or noise.
- Human visual perception easily notices when detail is removed,
- but it does not so easily notice when the noise is wrongly
- represented.
- When it comes to subjective quality, noise and detail are somewhat
- interchangeable.
- By lowering the deblocking filter strength, you are most likely
- increasing error by adding ringing artifacts, but the eye does
- not notice because it confuses the artifacts with detail.
- </para>
- <para>
- This <emphasis role="bold">still</emphasis> does not justify
- lowering the deblocking filter strength, however.
- You can generally get better quality noise from postprocessing.
- If your H.264 encodes look too blurry or smeared, try playing with
- <option>-vf noise</option> when you play your encoded movie.
- <option>-vf noise=8a:4a</option> should conceal most mild
- artifacting.
- It will almost certainly look better than the results you
- would have gotten just by fiddling with the deblocking filter.
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Description</entry>
- <entry>Encoding options</entry>
- <entry>speed (in fps)</entry>
- <entry>Relative PSNR loss (in dB)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13fps</entry>
- <entry>-0.89dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-video-for-windows">
-<title>
- Encoding with the <systemitem class="library">Video For Windows</systemitem>
- codec family
-</title>
-
-<para>
-Video for Windows provides simple encoding by means of binary video codecs.
-You can encode with the following codecs (if you have more, please tell us!)
-</para>
-
-<para>
-Note that support for this is very experimental and some codecs may not work
-correctly. Some codecs will only work in certain colorspaces, try
-<option>-vf format=bgr24</option> and <option>-vf format=yuy2</option>
-if a codec fails or gives wrong output.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>Video for Windows supported codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Video codec file name</entry>
- <entry>Description (FourCC)</entry>
- <entry>md5sum</entry>
- <entry>Comment</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft lossless codec vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>needs <option>-vf format</option></entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV (lossless) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry>shareware error on windows</entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry>wrong FourCC?</entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>msulvc06.DLL</entry>
- <entry>MSU Lossless codec (MSUD)</entry>
- <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
- <entry>
- Decodable by <application>Window Media Player</application>,
- not <application>MPlayer</application> (yet).
- </entry>
-</row>
-<row>
- <entry>camcodec.dll</entry>
- <entry>CamStudio lossless video codec (CSCD)</entry>
- <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
- <entry>sf.net/projects/camstudio</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>codec</literal> parameter,
-like: <option>-xvfwopts codec=divx.dll</option>
-The FourCC code used by each codec is given in the parentheses.
-</para>
-
-<informalexample>
-<para>
-An example to convert an ISO DVD trailer to a VP6 flash video file
-using compdata bitrate settings:
-<screen>
-mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
-</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-video-for-windows-bitrate-settings">
-<title>Using vfw2menc to create a codec settings file.</title>
-
-<para>
-To encode with the Video for Windows codecs, you will need to set bitrate
-and other options. This is known to work on x86 on both *NIX and Windows.
-</para>
-<para>
-First you must build the <application>vfw2menc</application> program.
-It is located in the <filename class="directory">TOOLS</filename> subdirectory
-of the MPlayer source tree.
-To build on Linux, this can be done using <application>Wine</application>:
-<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
-To build on Windows in <application>MinGW</application> or
-<application>Cygwin</application> use:
-<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
-To build on <application>MSVC</application> you will need getopt.
-Getopt can be found in the original <application>vfw2menc</application>
-archive available at:
-The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink> project.
-</para>
-<informalexample>
-<para>
-Below is an example with the VP6 codec.
-<screen>
-vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf
-</screen>
-This will open the VP6 codec dialog window.
-Repeat this step for the second pass
-and use <option>-s <replaceable>secondpass.mcf</replaceable></option>.
-</para>
-</informalexample>
-<para>
-Windows users can use
-<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option> to have
-the codec dialog display before encoding starts.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-quicktime-7">
-<title>Using <application>MEncoder</application> to create
-<application>QuickTime</application>-compatible files</title>
-
-
-<sect2 id="menc-feat-quicktime-7-why-use-it">
-<title>Why would one want to produce <application>QuickTime</application>-compatible Files?</title>
-
-<para>
- There are several reasons why producing
- <application>QuickTime</application>-compatible files can be desirable.
-</para>
-<itemizedlist>
-<listitem><para>
- You want any computer illiterate to be able to watch your encode on
- any major platform (Windows, Mac OS X, Unices …).
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> is able to take advantage of more
- hardware and software acceleration features of Mac OS X than
- platform-independent players like <application>MPlayer</application>
- or <application>VLC</application>.
- That means that your encodes have a chance to be played smoothly by older
- G4-powered machines.
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> 7 supports the next-generation codec H.264,
- which yields significantly better picture quality than previous codec
- generations (MPEG-2, MPEG-4 …).
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-constraints">
-<title><application>QuickTime</application> 7 limitations</title>
-
-<para>
- <application>QuickTime</application> 7 supports H.264 video and AAC audio,
- but it does not support them muxed in the AVI container format.
- However, you can use <application>MEncoder</application> to encode
- the video and audio, and then use an external program such as
- <application>mp4creator</application> (part of the
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>)
- to remux the video and audio tracks into an MP4 container.
-</para>
-
-<para>
- <application>QuickTime</application>'s support for H.264 is limited,
- so you will need to drop some advanced features.
- If you encode your video with features that
- <application>QuickTime</application> 7 does not support,
- <application>QuickTime</application>-based players will show you a pretty
- white screen instead of your expected video.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">B-frames</emphasis>:
- <application>QuickTime</application> 7 supports a maximum of 1 B-frame, i.e.
- <option>-x264encopts bframes=1</option>. This means that
- <option>b_pyramid</option> and <option>weight_b</option> will have no
- effect, since they require <option>bframes</option> to be greater than 1.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Macroblocks</emphasis>:
- <application>QuickTime</application> 7 does not support 8x8 DCT macroblocks.
- This option (<option>8x8dct</option>) is off by default, so just be sure
- not to explicitly enable it. This also means that the <option>i8x8</option>
- option will have no effect, since it requires <option>8x8dct</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Aspect ratio</emphasis>:
- <application>QuickTime</application> 7 does not support SAR (sample
- aspect ratio) information in MPEG-4 files; it assumes that SAR=1. Read
- <link linkend="menc-feat-quicktime-7-scale">the section on scaling</link>
- for a workaround.
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-crop">
-<title>Cropping</title>
-<para>
- Suppose you want to rip your freshly bought copy of "The Chronicles of
- Narnia". Your DVD is region 1,
- which means it is NTSC. The example below would still apply to PAL,
- except you would omit <option>-ofps 24000/1001</option> and use slightly
- different <option>crop</option> and <option>scale</option> dimensions.
-</para>
-
-<para>
- After running <option>mplayer dvd://1</option>, you follow the process
- detailed in the section <link linkend="menc-feat-telecine">How to deal
- with telecine and interlacing in NTSC DVDs</link> and discover that it is
- 24000/1001 fps progressive video. This simplifies the process somewhat,
- since you do not need to use an inverse telecine filter such as
- <option>pullup</option> or a deinterlacing filter such as
- <option>yadif</option>.
-</para>
-
-<para>
- Next, you need to crop out the black bars from the top and bottom of the
- video, as detailed in <link linkend="menc-feat-dvd-mpeg4-example-crop">this</link>
- previous section.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-scale">
-<title>Scaling</title>
-
-<para>
- The next step is truly heartbreaking.
- <application>QuickTime</application> 7 does not support MPEG-4 videos
- with a sample aspect ratio other than 1, so you will need to upscale
- (which wastes a lot of disk space) or downscale (which loses some
- details of the source) the video to square pixels.
- Either way you do it, this is highly inefficient, but simply cannot
- be avoided if you want your video to be playable by
- <application>QuickTime</application> 7.
- <application>MEncoder</application> can apply the appropriate upscaling
- or downscaling by specifying respectively <option>-vf scale=-10:-1</option>
- or <option>-vf scale=-1:-10</option>.
- This will scale your video to the correct width for the cropped height,
- rounded to the closest multiple of 16 for optimal compression.
- Remember that if you are cropping, you should crop first, then scale:
-
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-avsync">
-<title>A/V sync</title>
-
-<para>
- Because you will be remuxing into a different container, you should
- always use the <option>harddup</option> option to ensure that duplicated
- frames are actually duplicated in the video output. Without this option,
- <application>MEncoder</application> will simply put a marker in the video
- stream that a frame was duplicated, and rely on the client software to
- show the same frame twice. Unfortunately, this "soft duplication" does
- not survive remuxing, so the audio would slowly lose sync with the video.
-</para>
-
-<para>
- The final filter chain looks like this:
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-bitrate">
-<title>Bitrate</title>
-
-<para>
- As always, the selection of bitrate is a matter of the technical properties
- of the source, as explained
- <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">here</link>, as
- well as a matter of taste.
- This movie has a fair bit of action and lots of detail, but H.264 video
- looks good at much lower bitrates than XviD or other MPEG-4 codecs.
- After much experimentation, the author of this guide chose to encode
- this movie at 900kbps, and thought that it looked very good.
- You may decrease bitrate if you need to save more space, or increase
- it if you need to improve quality.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-example">
-<title>Encoding example</title>
-
-<para>
- You are now ready to encode the video. Since you care about
- quality, of course you will be doing a two-pass encode. To shave off
- some encoding time, you can specify the <option>turbo</option> option
- on the first pass; this reduces <option>subq</option> and
- <option>frameref</option> to 1. To save some disk space, you can
- use the <option>ss</option> option to strip off the first few seconds
- of the video. (I found that this particular movie has 32 seconds of
- credits and logos.) <option>bframes</option> can be 0 or 1.
- The other options are documented in <link
- linkend="menc-feat-x264-encoding-options-speedvquality">Encoding with
- the <systemitem class="library">x264</systemitem> codec</link> and
- the man page.
-
- <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=1 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- If you have a multi-processor machine, don't miss the opportunity to
- dramatically speed-up encoding by enabling
- <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
- <systemitem class="library">x264</systemitem>'s multi-threading mode</link>
- by adding <option>threads=auto</option> to your <option>x264encopts</option>
- command-line.
-</para>
-
-<para>
- The second pass is the same, except that you specify the output file
- and set <option>pass=2</option>.
-
- <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=1 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-</para>
-
-<para>
- The resulting AVI should play perfectly in
- <application>MPlayer</application>, but of course
- <application>QuickTime</application> can not play it because it does
- not support H.264 muxed in AVI.
- So the next step is to remux the video into an MP4 container.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-remux">
-<title>Remuxing as MP4</title>
-
-<para>
- There are several ways to remux AVI files to MP4. You can use
- <application>mp4creator</application>, which is part of the
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>.
-</para>
-
-<para>
- First, demux the AVI into separate audio and video streams using
- <application>MPlayer</application>.
-
- <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
-mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
-
- The filenames are important; <application>mp4creator</application>
- requires that AAC audio streams be named <systemitem>.aac</systemitem>
- and H.264 video streams be named <systemitem>.h264</systemitem>.
-</para>
-
-<para>
- Now use <application>mp4creator</application> to create a new
- MP4 file out of the audio and video streams.
-
- <screen>mp4creator -create=narnia.aac narnia.mp4
-mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
-
- Unlike the encoding step, you must specify the framerate as a
- decimal (such as 23.976), not a fraction (such as 24000/1001).
-</para>
-
-<para>
- This <systemitem>narnia.mp4</systemitem> file should now be playable
- with any <application>QuickTime</application> 7 application, such as
- <application>QuickTime Player</application> or
- <application>iTunes</application>. If you are planning to view the
- video in a web browser with the <application>QuickTime</application>
- plugin, you should also hint the movie so that the
- <application>QuickTime</application> plugin can start playing it
- while it is still downloading. <application>mp4creator</application>
- can create these hint tracks:
-
- <screen>mp4creator -hint=1 narnia.mp4
-mp4creator -hint=2 narnia.mp4
-mp4creator -optimize narnia.mp4</screen>
-
- You can check the final result to ensure that the hint tracks were
- created successfully:
-
- <screen>mp4creator -list narnia.mp4</screen>
-
- You should see a list of tracks: 1 audio, 1 video, and 2 hint tracks.
-
-<screen>Track Type Info
-1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
-2 video H264 Main at 5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
-3 hint Payload mpeg4-generic for track 1
-4 hint Payload H264 for track 2
-</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-metadata">
-<title>Adding metadata tags</title>
-
-<para>
- If you want to add tags to your video that show up in iTunes, you can use
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
-
- <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- The <option>--metaEnema</option> option removes any existing metadata
- (<application>mp4creator</application> inserts its name in the
- "encoding tool" tag), and <option>--freefree</option> reclaims the
- space from the deleted metadata.
- The <option>--stik</option> option sets the type of video (such as Movie
- or TV Show), which iTunes uses to group related video files.
- The <option>--overWrite</option> option overwrites the original file;
- without it, <application>AtomicParsley</application> creates a new
- auto-named file in the same directory and leaves the original file
- untouched.
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>Using <application>MEncoder</application>
- to create VCD/SVCD/DVD-compliant files</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>Format Constraints</title>
-
-<para>
-<application>MEncoder</application> is capable of creating VCD, SCVD
-and DVD format MPEG files using the
-<systemitem class="library">libavcodec</systemitem> library.
-These files can then be used in conjunction with
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
-or
-<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
-to create discs that will play on a standard set-top player.
-</para>
-
-<para>
-The DVD, SVCD, and VCD formats are subject to heavy constraints.
-Only a small selection of encoded picture sizes and aspect ratios are
-available.
-If your movie does not already meet these requirements, you may have
-to scale, crop or add black borders to the picture to make it
-compliant.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>Format Constraints</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
-<row>
- <entry>Format</entry>
- <entry>Resolution</entry>
- <entry>V. Codec</entry>
- <entry>V. Bitrate</entry>
- <entry>Sample Rate</entry>
- <entry>A. Codec</entry>
- <entry>A. Bitrate</entry>
- <entry>FPS</entry>
- <entry>Aspect</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (only for 720x480)</entry>
-</row>
-<row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- These resolutions are rarely used for DVDs because
- they are fairly low quality.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (only for 720x576)</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
-If your movie has 2.35:1 aspect (most recent action movies), you will
-have to add black borders or crop the movie down to 16:9 to make a DVD or VCD.
-If you add black borders, try to align them at 16-pixel boundaries in
-order to minimize the impact on encoding performance.
-Thankfully DVD has sufficiently excessive bitrate that you do not have
-to worry too much about encoding efficiency, but SVCD and VCD are
-highly bitrate-starved and require effort to obtain acceptable quality.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>GOP Size Constraints</title>
-
-<para>
-DVD, VCD, and SVCD also constrain you to relatively low
-GOP (Group of Pictures) sizes.
-For 30 fps material the largest allowed GOP size is 18.
-For 25 or 24 fps, the maximum is 15.
-The GOP size is set using the <option>keyint</option> option.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>Bitrate Constraints</title>
-
-<para>
-VCD video is required to be CBR at 1152 kbps.
-This highly limiting constraint also comes along with an extremly low vbv
-buffer size of 327 kilobits.
-SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
-restrictive vbv buffer size of 917 kilobits is allowed.
-DVD video bitrates may range anywhere up to 9800 kbps (though typical
-bitrates are about half that), and the vbv buffer size is 1835 kilobits.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>Output Options</title>
-
-<para>
-<application>MEncoder</application> has options to control the output
-format.
-Using these options we can instruct it to create the correct type of
-file.
-</para>
-
-<para>
-The options for VCD and SVCD are called xvcd and xsvcd, because they
-are extended formats.
-They are not strictly compliant, mainly because the output does not
-contain scan offsets.
-If you need to generate an SVCD image, you should pass the output file to
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
-</para>
-
-<para>
-VCD:
-<screen>-of mpeg -mpegopts format=xvcd</screen>
-</para>
-
-<para>
-SVCD:
-<screen>-of mpeg -mpegopts format=xsvcd</screen>
-</para>
-
-<para>
-DVD (with timestamps on every frame, if possible):
-<screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
-</para>
-
-<para>
-DVD with NTSC Pullup:
-<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
-This allows 24000/1001 fps progressive content to be encoded at 30000/1001
-fps whilst maintaing DVD-compliance.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>Aspect Ratio</title>
-
-<para>
-The aspect argument of <option>-lavcopts</option> is used to encode
-the aspect ratio of the file.
-During playback the aspect ratio is used to restore the video to the
-correct size.
-</para>
-
-<para>
-16:9 or "Widescreen"
-<screen>-lavcopts aspect=16/9</screen>
-</para>
-
-<para>
-4:3 or "Fullscreen"
-<screen>-lavcopts aspect=4/3</screen>
-</para>
-
-<para>
-2.35:1 or "Cinemascope" NTSC
-<screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
-To calculate the correct scaling size, use the expanded NTSC width of
-854/2.35 = 368
-</para>
-
-<para>
-2.35:1 or "Cinemascope" PAL
-<screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
-To calculate the correct scaling size, use the expanded PAL width of
-1024/2.35 = 432
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>Maintaining A/V sync</title>
-
-<para>
-In order to maintain audio/video synchronization throughout the encode,
-<application>MEncoder</application> has to drop or duplicate frames.
-This works rather well when muxing into an AVI file, but is almost
-guaranteed to fail to maintain A/V sync with other muxers such as MPEG.
-This is why it is necessary to append the
-<option>harddup</option> video filter at the end of the filter chain
-to avoid this kind of problem.
-You can find more technical information about <option>harddup</option>
-in the section
-<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link>
-or in the manual page.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>Sample Rate Conversion</title>
-
-<para>
-If the audio sample rate in the original file is not the same as
-required by the target format, sample rate conversion is required.
-This is achieved using the <option>-srate</option> option and
-the <option>-af lavcresample</option> audio filter together.
-</para>
-
-<para>
-DVD:
-<screen>-srate 48000 -af lavcresample=48000</screen>
-</para>
-
-<para>
-VCD and SVCD:
-<screen>-srate 44100 -af lavcresample=44100</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>Using libavcodec for VCD/SVCD/DVD Encoding</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Introduction</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem> can be used to
-create VCD/SVCD/DVD compliant video by using the appropriate options.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-
-<para>
-This is a list of fields in <option>-lavcopts</option> that you may
-be required to change in order to make a complaint movie for VCD, SVCD,
-or DVD:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> for VCD, SVCD, or PAL DVD;
- <option>ac3</option> is most commonly used for DVD.
- PCM audio may also be used for DVD, but this is mostly a big waste of
- space.
- Note that MP3 audio is not compliant for any of these formats, but
- players often have no problem playing it anyway.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 for VCD; up to 384 for SVCD; up to 1536 for DVD, but commonly
- used values range from 192 kbps for stereo to 384 kbps for 5.1 channel
- sound.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> for VCD;
- <option>mpeg2video</option> for SVCD;
- <option>mpeg2video</option> is usually used for DVD but you may also use
- <option>mpeg1video</option> for CIF resolutions.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- Used to set the GOP size.
- 18 for 30fps material, or 15 for 25/24 fps material.
- Commercial producers seem to prefer keyframe intervals of 12.
- It is possible to make this much larger and still retain compatibility
- with most players.
- A <option>keyint</option> of 25 should never cause any problems.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 for VCD, 917 for SVCD, and 1835 for DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152, for VCD. May be left alone for SVCD and DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 for VCD; 2500 for SVCD; 9800 for DVD.
- For SVCD and DVD, you might wish to use lower values depending on your
- own personal preferences and requirements.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 for VCD;
- up to 2500 for SVCD;
- up to 9800 for DVD.
- For the latter two formats, vbitrate should be set based on personal
- preference.
- For instance, if you insist on fitting 20 or so hours on a DVD, you
- could use vbitrate=400.
- The resulting video quality would probably be quite bad.
- If you are trying to squeeze out the maximum possible quality on a DVD,
- use vbitrate=9800, but be warned that this could constrain you to less
- than an hour of video on a single-layer DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vstrict</emphasis>:
- <option>vstrict</option>=0 should be used to create DVDs.
- Without this option, <application>MEncoder</application> creates a
- stream that cannot be correctly decoded by some standalone DVD
- players.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>Examples</title>
-
-<para>
-This is a typical minimum set of <option>-lavcopts</option> for
-encoding video:
-</para>
-<para>
-VCD:
-<screen>
--lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
-vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-SVCD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
-keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-DVD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>Advanced Options</title>
-
-<para>
-For higher quality encoding, you may also wish to add quality-enhancing
-options to lavcopts, such as <option>trell</option>,
-<option>mbd=2</option>, and others.
-Note that <option>qpel</option> and <option>v4mv</option>, while often
-useful with MPEG-4, are not usable with MPEG-1 or MPEG-2.
-Also, if you are trying to make a very high quality DVD encode, it may
-be useful to add <option>dc=10</option> to lavcopts.
-Doing so may help reduce the appearance of blocks in flat-colored areas.
-Putting it all together, this is an example of a set of lavcopts for a
-higher quality DVD:
-</para>
-
-<para>
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
-keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
-vqmin=1:lmin=1:dc=10:vstrict=0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>Encoding Audio</title>
-
-<para>
-VCD and SVCD support MPEG-1 layer II audio, using one of
-<systemitem class="library">toolame</systemitem>,
-<systemitem class="library">twolame</systemitem>,
-or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder.
-The libavcodec MP2 is far from being as good as the other two libraries,
-however it should always be available to use.
-VCD only supports constant bitrate audio (CBR) whereas SVCD supports
-variable bitrate (VBR), too.
-Be careful when using VBR because some bad standalone players might not
-support it too well.
-</para>
-
-<para>
-For DVD audio, <systemitem class="library">libavcodec</systemitem>'s
-AC-3 codec is used.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-
-<para>
-For VCD and SVCD:
-<screen>-oac toolame -toolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-
-<para>
-For VCD and SVCD:
-<screen>-oac twolame -twolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-
-<para>
-For DVD with 2 channel sound:
-<screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
-</para>
-
-<para>
-For DVD with 5.1 channel sound:
-<screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
-</para>
-
-<para>
-For VCD and SVCD:
-<screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>Putting it all Together</title>
-
-<para>
-This section shows some complete commands for creating VCD/SVCD/DVD
-compliant videos.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>PAL DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>NTSC DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>PAL AVI Containing AC-3 Audio to DVD</title>
-
-<para>
-If the source already has AC-3 audio, use -oac copy instead of re-encoding it.
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -ofps 25 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>NTSC AVI Containing AC-3 Audio to DVD</title>
-
-<para>
-If the source already has AC-3 audio, and is NTSC @ 24000/1001 fps:
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>PAL SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>NTSC SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>PAL VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>NTSC VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/it/faq.xml b/DOCS/xml/it/faq.xml
deleted file mode 100644
index 10e7a48..0000000
--- a/DOCS/xml/it/faq.xml
+++ /dev/null
@@ -1,1316 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r27683 -->
-<chapter id="faq" xreflabel="FAQ">
-<title>Frequently Asked Questions</title>
-
-<qandaset defaultlabel="qanda">
-
-<qandadiv id="faq-development">
-<title>Sviluppo</title>
-
-<qandaentry>
-<question><para>
-Come posso creare una patch adeguata per <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Abbiamo scritto un <ulink url="../../tech/patches.txt">breve documento</ulink>
-che descrive tutti i dettagli necessari. Per favore seguine le istruzioni.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come traduco <application>MPlayer</application> in una nuova lingua?
-</para></question>
-<answer><para>
-Leggi l'<ulink url="../../tech/translations.txt">HOWTO sulle traduzioni</ulink>,
-dovrebbe spiegare tutto. Puoi ottenere maggior aiuto sulla mailing list
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer-translations</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso supportare lo sviluppo di <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Siamo più che felici di accettare le vostre
-<ulink url="http://www.mplayerhq.hu/donations.html">donazioni</ulink> hardware
-e software.
-Ci aiutano a migliorare continuamente <application>MPlayer</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come divento uno sviluppatore di <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Sviluppatori e redattori della documentazione sono sempre i benvenuti.
-Leggi la <ulink url="../../tech/">documentazione tecnica</ulink> per un primo
-approccio. Poi dovresti iscriverti alla mailing list
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-e cominciare a scrivere codice. Se vuoi aiutarci con la documentazione,
-iscriviti alla mailing list
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Perché non usate autoconf/automake?
-</para></question>
-<answer><para>
-Abbiamo un nostro sistema di compilazione modulare, autoprodotto. Fa
-un lavoro ragionevolmente buono, perciò, perché cambiarlo? E poi, non ci
-piacciono gli auto* strumenti, proprio come ad
-<ulink url="http://freshmeat.net/articles/view/889/">altre persone</ulink>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-compilation-installation">
-<title>Compilazione e installazione</title>
-
-<qandaentry>
-<question><para>
-La compilazione fallisce con un errore e <application>gcc</application> se ne
-esce con qualche messaggio criptico contenente la frase
-<systemitem>internal compiler error</systemitem> o
-<systemitem>unable to find a register to spill</systemitem> o
-<systemitem>can't find a register in class `GENERAL_REGS'
-while reloading `asm'</systemitem>.
-</para></question>
-<answer><para>
-Sei incappato un un baco di <application>gcc</application>. Per favore
-<ulink url="http://gcc.gnu.org/bugs.html">riporta l'errore al gruppo di gcc</ulink>
-e non a noi. Per qualche ragione <application>MPlayer</application> pare
-riuscire ad attivare bachi del compilatore frequentemente. Tuttavia non
-possiamo correggerli e neanche aggiungere workaround nei nostri sorgenti per i
-bachi nel compilatore. Per evitare questi problemi, o ti affidi a una versione
-del compilatore ritenuta affidabile, o lo aggiorni spesso.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ci sono pacchetti binari (Debian/RPM) di <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Vedi le sezioni <link linkend="debian">Debian</link> e
-<link linkend="rpm">RPM</link> per i dettagli.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso compilare <application>MPlayer</application> a 32 bit su un Athlon a 64 bit?
-</para></question>
-<answer><para>
-Prova le seguenti opzioni di configure:
-<screen>
-./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-configure si ferma con questo testo, e <application>MPlayer</application> non compila!
-<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
-</para></question>
-<answer><para>
-Il tuo gcc non è installato correttamente, controlla il file
-<filename>config.log</filename>.log per i dettagli.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho una Matrox G200/G400/G450/G550, come compilo/uso il driver
-<systemitem>mga_vid</systemitem>?
-</para></question>
-<answer><para>
-Leggi la sezione <link linkend="mga_vid">mga_vid</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Durante il 'make', <application>MPlayer</application> si lamenta che mancano le
-librerie di X11. Non capisco, io <emphasis>ho</emphasis> X11 installato!?
-</para></question>
-<answer><para>
-... ma non hai il pacchetto di sviluppo di X11 installato, o non è installato
-correttamente.
-Si chiama <filename>XFree86-devel*</filename> sotto Red Hat,
-<filename>xlibs-dev</filename> in Debian Woody e
-<filename>libx11-dev</filename> in Debian Sarge. Controlla anche se esistono i
-collegamenti simbolici
-<filename class="directory">/usr/X11</filename> e
-<filename class="directory">/usr/include/X11</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-La compilazione sotto Mac OS 10.3 dà molti errori di link.
-</para></question>
-<answer>
-<para>
-L'errore che riscontri nella fase di link probabilmente è simile a questo:
-<screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
-</screen>
-Questo problema è dato dal fatto che gli sviluppatori di Apple usano 10.4 per
-compilare il loro software e distribuiscono i binari per il 10.3 usando
-Aggiornamento Software.
-Gli 'undefined symbols' sono presenti in Mac OS 10.4, ma non in 10.3.
-Una soluzione può essere retrocedere a QuickTime 7.0.1.
-Qui c'è una soluzione migliore.
-</para>
-<para>
-Scarica una
-<ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">copia più vecchia dei framework</ulink>.
-Questo ti farà avere un file compresso che contiene il Framework di QuickTime
-7.0.1 e un Framework QuartzCore del 10.3.
-</para>
-<para>
-Decomprimi da qualche parte i file tranne che nella tua cartella Sistema.
-(per es. non installare questi framework nella tua
-<filename class="directory">/System/Library/Frameworks</filename>!
-Usare questa copia precedente serve solo ad aggirare i problemi di link!)
-<screen>gunzip < CompatFrameworks.tgz | tar xvf -</screen>
-In config.mak, dovresti aggiungere
-<systemitem>-F/percorso/dove/hai/estratto</systemitem>
-alla variabile <systemitem>OPTFLAGS</systemitem>.
-Se stai usando <application>X-Code</application>, devi semplicemente
-selezionare questi framework al posto di quelli di sistema.
-</para>
-<para>
-Il binario di <application>MPlayer</application> risultante userÃ
-effettivamente il framework installato sul tuo sistema attraverso i link
-dinamici risolti durante l'esecuzione
-(Puoi verificarlo usando <systemitem>otool -l</systemitem>).
-</para>
-</answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-general">
-<title>Domande generali</title>
-
-<qandaentry>
-<question><para>
-Ci sono mailing list su <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Sì. Vedi la
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">sezione mailing lists</ulink>
-sul nostro sito.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho trovato un brutto baco cercando di riprodurre il mio video preferito!
-Chi dovrei informare?
-</para></question>
-<answer><para>
-Leggi per favore le
-<link linkend="bugreports">linee guida per segnalare i bug</link> e segui le
-istruzioni.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho dei problemi a leggere dei file col codec ... . Posso usarli?
-</para></question>
-<answer><para>
-Controlla la
-<ulink url="../../codecs-status.html">tabella di stato dei codec</ulink>, se
-non contiene il tuo codec, leggi
-l'HOWTO sull'<ulink url="../../tech/win32-codec-howto">importazione codec Win32</ulink> e
-contattaci.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quando avvio la riproduzione, esce questo messaggio, ma tutto sembra a posto:
-<screen>Linux RTC init: ioctl (rtc_pie_on): Permission denied</screen>
-</para></question>
-<answer><para>
-Ti serve un kernel appositamente impostato per usare il codice di
-temporizzazione per RTC.
-Per i dettagli leggi la sezione della documentazione su
-<link linkend="rtc">RTC</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso salvare un'istantanea (screenshot)?
-</para></question>
-<answer><para>
-Per poter salvare un'istananea devi usare un driver di uscita video che non
-utilizzi un sistema di overlay. Sotto X11, <option>-vo x11</option> fara ciò,
-sotto Windows funziona <option>-vo directx:noaccel</option>.
-</para>
-<para>
-Alternativamente puoi eseguire <application>MPlayer</application> con il filtro
-video <systemitem>screenshot</systemitem> (<option>-vf screenshot</option>),
-e premere <keycap>s</keycap> per fare un'istantanea.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Qual'è il significato dei numeri sulla linea di stato?
-</para></question>
-<answer><para>
-Esempio:
-<screen>
-A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>A: 2.1</systemitem></term>
- <listitem><para>posizione audio in secondi</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>V: 2.2</systemitem></term>
- <listitem><para>posizione video in secondi</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V: -0.167</systemitem></term>
- <listitem><para>differenza audio-video in secondi (ritardo)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>ct: 0.042</systemitem></term>
- <listitem><para>sincronizzazione A/V totale eseguita</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>57/57</systemitem></term>
- <listitem><para>
- fotogrammi riprodotti/decodificati (contando dall'ultimo posizionamento)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>41%</systemitem></term>
- <listitem><para>
- utilizzo di CPU da parte del codec video, in percentuale
- (per lo slice rendering e il direct rendering include video_out)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0%</systemitem></term>
- <listitem><para>utilizzo di CPU da parte del video_out</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2.6%</systemitem></term>
- <listitem><para>
- utilizzo di CPU da parte del codec audio, in percentuale
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0</systemitem></term>
- <listitem><para>
- fotogrammi scartati per mantenere la sincronizzazione A-V
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>4</systemitem></term>
- <listitem><para>
- livello corrente della post-elaborazione dell'immagine
- (quando si usa <option>-autoq</option>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>49%</systemitem></term>
- <listitem><para>
- dimensione corrente della cache usata (intorno al 50% è normale)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>1.00x</systemitem></term>
- <listitem><para>
- velocità di riproduzione come fattore della velocità originaria
- </para></listitem>
-</varlistentry>
-</variablelist>
-Molti di essi sono presenti per finalità di debug, usa l'opzione
-<option>-quiet</option> per farli sparire.
-Potresti notare che l'utilizzo di CPU del video_out sia zero (0%) per alcuni
-file. Questo perché viene invocato direttamente dal codec, perciò non può
-venir misurato separatamente. Se vuoi sapere la velocità del video_out,
-confronta la differenza riproducendo il file con <option>-vo null</option> e
-con il tuo driver di uscita video usuale.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ci sono dei messaggi di errore circa un file non trovato
-<filename>/usr/local/lib/codecs/</filename> ...
-</para></question>
-<answer><para>
-Scarica e installa i codec binari dalla nostra
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">pagina di download</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso far sì che <application>MPlayer</application> si ricordi le
-opzioni che uso per un dato file, per es. <filename>filmato.avi</filename>?
-</para></question>
-<answer><para>
-Crea un file con nome <filename>filmato.avi.conf</filename> con le opzioni
-specifiche per il file e mettilo in
-<filename class="directory">~/.mplayer</filename> o nella stessa directory del
-file stesso.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-I sottotitoli sono molto belli, i migliori ch'io abbia mai visto, ma rallentano
-la riproduzione! So che è strano ...
-</para></question>
-<answer><para>
-Dopo aver eseguito <filename>./configure</filename>,
-modifica <filename>config.h</filename> e sostituisci
-<systemitem>#undef FAST_OSD</systemitem> con
-<systemitem>#define FAST_OSD</systemitem>. Poi ricompila.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Non riesco ad aprire il menu della GUI. Premo il tasto destro, ma non accedo
-ad alcuna voce del menu!
-</para></question>
-<answer><para>
-Stai usando FVWM? Prova a fare così:
-<orderedlist>
-<!-- TODO: substitute with italian translation of menu items -->
-<listitem><para>
- <menuchoice><guimenu>Start</guimenu><guisubmenu>Settings</guisubmenu>
- <guisubmenu>Configuration</guisubmenu>
- <guimenuitem>Base Configuration</guimenuitem></menuchoice>
-</para></listitem>
-<listitem><para>
- Imposta <systemitem>Use Applications position hints</systemitem> a
- <systemitem>Yes</systemitem>
-</para></listitem>
-</orderedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso eseguire <application>MPlayer</application> in background?
-</para></question>
-<answer><para>
-Usa:
-<screen>
-mplayer <replaceable>opzioni</replaceable> <replaceable>nomefile</replaceable> < /dev/null &
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-playback">
-<title>Problemi di riproduzione</title>
-
-<qandaentry>
-<question><para>
-Non riesco ad isolare la causa di qualche strano problema di riproduzione.
-</para></question>
-<answer><para>
-Hai un file randagio <filename>codecs.conf</filename> in
-<filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
-<filename>/usr/local/etc/</filename> o in posti simili? Cancellalo,
-un file <filename>codecs.conf</filename> non aggiornato può causare strani
-problemi ed è usabile solo dagli sviluppatori che stanno lavorando sul
-supporto codec. Ha più importanza delle impostazioni codec interne di
-<application>MPlayer</application>, il che crea macello se vengono fatte delle
-modifiche incompatibili in nuove versioni del programma. A meno che non sia
-usato da esperti, è la ricetta per il disastro, nella forma di crash e problemi
-di riproduzione apparentemente casuali e difficili da localizzare. Se lo hai
-ancora in qualche dove sul tuo sistema, dovresti cancellarlo.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come faccio a far sì che i sottotitoli vengano visualizzati sui margini neri
-esterni al film?
-</para></question>
-<answer><para>
-Usa il filtro video <systemitem>expand</systemitem> per aumentare l'area
-verticale su cui il film viene visualizzato, e posiziona il film stesso sul
-bordo superiore, per esempio:
-<screen>mplayer -vf expand=0:-100:0:0 -slang it dvd://1</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come seleziono le tracce audio/sottotitoli di un file DVD, OGM, Matroska o NUT?
-</para></question>
-<answer><para>
-Devi usare <option>-aid</option> ("audio ID") o <option>-alang</option>
-("audio language"), <option>-sid</option> ("subtitle ID") o
-<option>-slang</option> ("subtitle language"), per esempio:
-<screen>
-mplayer -alang eng -slang eng <replaceable>esempio.mkv</replaceable>
-mplayer -aid 1 -sid 1 <replaceable>esempio.mkv</replaceable>
-</screen>
-Per vedere quelle disponibili:
-<screen>
-mplayer -vo null -ao null -frames 0 -v <replaceable>nomefile</replaceable> | grep sid
-mplayer -vo null -ao null -frames 0 -v <replaceable>nomefile</replaceable> | grep aid
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Sto cercando di riprodurre un qualche file da internet ma non ce la fa.
-</para></question>
-<answer><para>
-Prova a riprodurre il flusso con l'opzione <option>-playlist</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho scaricato un film da una rete P2P e non funziona!
-</para></question>
-<answer><para>
-Il tuo file molto probabilmente è danneggiato o è un falso (fake). Se l'hai
-avuto da un amico e lui dice che si vede, prova a confrontarne gli hash
-<application>md5sum</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho problemi con la visualizzazione dei miei sottotitoli, aiuto!!
-</para></question>
-<answer><para>
-Assicurati di avere i font correttamente installati. Ripeti di nuovo i passaggi
-nella parte <link linkend="fonts-osd">Font e OSD</link> della sezione
-installazione. Se stai usando dei font TrueType, controlla di avere la libreria
-<systemitem class="library">FreeType</systemitem> installata. Altre soluzioni
-sono di controllare i tuoi sottotitoli con un editor di testo o con altri
-riproduttori. Prova anche a convertirli in altri formati.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Perché <application>MPlayer</application> non funziona in Fedora Core?
-</para></question>
-<answer><para>
-C'è un brutto rapporto in Fedora tra exec-shield, prelink, e una qualsiasi
-applicazione che usi le DLL di Windows
-(proprio come <application>MPlayer</application>).
-</para>
-<para>
-Il problema è che exec-shield rende casuale l'indirizzo di caricamento di
-tutte le librerie di sistema. Questa casualità è al livello di prelink
-(una volta ogni due settimane).
-</para>
-<para>
-Quando <application>MPlayer</application> cerca di caricare una DLL di Windows
-lo vuole fare ad un indirizzo specifico (0x400000). Se una libreria importante
-di sistema è già lì, <application>MPlayer</application> andrà in crash.
-(Un tipico sintomo potrebbe essere un segmentation fault cercando di
-riprodurre file Windows Media 9.)
-</para>
-<para>
-Se hai questo problema hai due opzioni:
-<itemizedlist>
-<listitem><para>
- Aspetta due settimane. Potrebbe ricominciare a funzionare.
-</para></listitem>
-<listitem><para>
- Ri-linka tutti i binari sul sistema con diverse opzioni di prelink. Qui ci
- sono le istruzioni passo per passo:
- </para>
- <procedure>
- <step><para>
- Modifica il file <filename>/etc/syconfig/prelink</filename> e sostituisci
- <programlisting>PRELINK_OPTS=-mR</programlisting> con
- <programlisting>PRELINK_OPTS="-mR --no-exec-shield"</programlisting>
- </para></step>
- <step><para>
- <command>touch /var/lib/misc/prelink.force</command>
- </para></step>
- <step><para>
- <command>/etc/cron.daily/prelink</command>
- (Questo ri-linka tutte le applicazioni, e ci mette un po'.)
- </para></step>
- <step><para>
- <command>execstack -s <replaceable>/percorso/di/</replaceable>mplayer</command>
- (Questo disabilita exec-shield per il binario di
- <application>MPlayer</application>.)
- </para></step>
- </procedure>
-</listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> muore con
-<screen>MPlayer interrupted by signal 4 in module: decode_video</screen>
-</para></question>
-<answer><para>
-Non utilizzare <application>MPlayer</application> su una CPU diversa da quella
-per cui è stato compilato, o ricompilalo con rilevamento della CPU durante
-l'esecuzione (<command>./configure --enable-runtime-cpudetection</command>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quando cerco di acquisire dal mio sintonizzatore, ci riesco, ma i colori sono
-strani. Con altre applicazioni è OK.
-</para></question>
-<answer><para>
-Probabilmente la tua scheda riporta alcuni spazi colore come supportati mentre
-in verità non li supporta. Prova con YUY2 al posto dello YV12 di default
-(vedi la sezione <link linkend="tv-input">TV</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ottengo dei valori percentuali molto strani (decisamente troppo alti)
-riproducendo file sul mio portatile.
-</para></question>
-<answer><para>
-E' un effetto del sistema di gestione/risparmio energetico del tuo portatile
-(del BIOS, non del kernel). Collega l'alimentazione esterna
-<emphasis role="bold">prima</emphasis> di accendere il tuo portatile. Puoi
-anche provare se
-<ulink url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html">cpufreq</ulink>
-può esserti d'aiuto (un'interfaccia SpeedStep per Linux).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quando eseguo <application>MPlayer</application> da utente
-<systemitem class="username">root</systemitem> sul mio portatile,
-l'audio e il video vanno totalmente fuori sincronia.
-Funziona normalmente quando lo eseguo da utente normale.
-</para></question>
-<answer><para>
-C'è un altro effetto del sistema di risparmio energetico (vedi sopra). Collega
-l'alimentazione esterna <emphasis role="bold">prima</emphasis> di accendere il
-tuo portatile o usa l'opzione <option>-nortc</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Riproducendo un film, questo di colpo diventa scattoso e ottengo il messaggio
-seguente:
-<screen>Badly interleaved AVI file detected - switching to -ni mode...</screen>
-</para></question>
-<answer><para>
-File con interleave errato e <option>-cache</option> non funzionano bene
-insieme. Prova con <option>-nocache</option>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-driver">
-<title>Problemi dei driver video/audio (vo/ao)</title>
-
-<qandaentry>
-<question><para>
-Quando riproduco a schermo intero ottengo solo bordi neri intorno all'immagine e
-nessun vero ridimensionamento in modalità a schermo intero.
-</para></question>
-<answer><para>
-Il tuo driver di uscita video non gestisce il ridimensionamento via hardware e
-dato che il ridimensionamento software può essere incredibilmente lento,
-<application>MPlayer</application> non lo abilita in automatico. Molto
-probabilmente stai usando il driver di uscita video
-<systemitem>x11</systemitem> invece di <systemitem>xv</systemitem>.
-Prova ad aggiungere <option>-vo xv</option> alla riga comando oppure leggi la
-<link linkend="video">sezione video</link> per trovare driver di uscita video
-alternativi. L'opzione <option>-zoom</option> abilita esplicitamente il
-ridimensionamento software.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho appena installato <application>MPlayer</application>. Quando voglio aprire
-un file video causa un errore fatale:
-<screen>Errore aprendo/inizializzando il dispositivo uscita video (-vo) selezionato!</screen>
-Come posso risovlere il mio problema?
-</para></question>
-<answer><para>
-Cambia semplicemente il dispositivo di uscita video. Lancia i comandi seguenti
-per ottenere una lista dei driver di uscita video disponibili:
-<screen>mplayer -vo help</screen>
-Dopo aver scelto il driver di uscita video corretto, aggiungilo al tuo file di
-configurazione. Aggiungi
-<programlisting>
-vo = <replaceable>selected_vo</replaceable>
-</programlisting>
-in <filename>~/.mplayer/config</filename> e/o
-<programlisting>
-vo_driver = <replaceable>selected_vo</replaceable>
-</programlisting>
-in <filename>~/.mplayer/gui.conf</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho dei problemi con <replaceable>[il tuo window manager]</replaceable>
-e le modalità a schermo pieno di xv/xmga/sdl/x11 ...
-</para></question>
-<answer><para>
-Leggi le <link linkend="bugreports">linee guida per segnalare i bug</link> e
-mandaci un appropriato rapporto sul bug.
-Prova anche facendo esperimenti con l'opzione <option>-fstype</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Riproducendo un file AVI, l'audio perde la sincronizzazione.
-</para></question>
-<answer><para>
-Prova le opzioni <option>-bps</option> o <option>-nobps</option>. Se non
-migliora, leggi le
-<link linkend="bugreports">linee guida per segnalare i bug</link> e carica il
-file sul sito FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Il mio computer riproduce gli AVI MS DivX a risoluzione ~ 640x300 e l'audio
-MP3 stereo è troppo lento.
-Quando uso l'opzione <option>-nosound</option>, tutto è OK (ma silenzioso).
-</para></question>
-<answer><para>
-La tua macchina è troppo lenta o il driver della tua scheda video è bucato.
-Consulta la documentazione per scoprire se puoi migliorare le prestazioni.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come faccio ad usare <application>dmix</application> con
-<application>MPlayer</application>?
-</para></question>
-<answer><para>
-Dopo aver configurato il tuo
-<ulink url="http://alsa.opensrc.org/index.php?page=DmixPlugin">asoundrc</ulink>
-devi usare <option>-ao alsa:device=dmix</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Riproducendo un video non sento alcun suono e ricevo messaggi di errore simili
-a questo:
-<screen>
-AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
-audio_setup: Can't open audio device /dev/dsp: Device or resource busy
-couldn't open/init audio device -> NOSOUND
-Audio: no sound!!!
-Start playing...
-</screen>
-</para></question>
-<answer><para>
-Stai usando KDE o GNOME con il demone audio aRts o ESD? Prova a disabilitare
-il demone audio o usa le opzioni <option>-ao arts</option> o
-<option>-ao esd</option> per far sì che <application>MPlayer</application> usi
-Arts o ESD.
-Potresti anche star utilizzando ALSA senza l'emulazione OSS, prova a caricare i
-moduli del kernel ALSA per OSS o ad aggiungere <option>-ao alsa</option> alla
-tua riga comando per usare direttamente il driver di uscita audio ALSA.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Avviando <application>MPlayer</application> in KDE ottengo solo una schermata
-nera e non succede nulla. Dopo circa un minuto inizia la riproduzione del video.
-</para></question>
-<answer><para>
-Il demone audio di KDE, aRts, blocca il dispositivo audio. O attendi fino a
-quando il video parte oppure disabiliti il demone aRts nel centro di controllo.
-Se vuoi utilizzare l'audio aRts, specifica l'uscita audio attraverso il nostro
-driver aRts nativo(<option>-ao arts</option>). Se va in errore o non è
-compilato, prova con SDL (<option>-ao sdl</option>) e assicurati che la tuo SDL
-possa gestire l'audio aRts. Un'ulteriore possibilità è avviare
-<application>MPlayer</application> con artsdsp.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho problemi di sincronia A/V.
-Alcuni miei AVI vengono riprodotti bene, ma alcuni vanno a velocià doppia!
-</para></question>
-<answer><para>
-Hai una scheda/driver audio bacati. Molto probabilmente sono fissati a 44100Hz,
-e stai cercando di riprodurre un file che ha un audio a 22050Hz. Prova il
-filtro audio <systemitem>resample</systemitem>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Quando riproduco questo film ho desincronizzazione video-audio e/o
-<application>MPlayer</application> va in crash con il seguente messaggio:
-<screen>
-DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
-</screen>
-</para></question>
-<answer><para>
-Questo può avere varie motivazioni.
-<itemizedlist>
-<listitem><para>
- La tua CPU <emphasis>e/o</emphasis> la tua scheda video
- <emphasis>e/o</emphasis> il tuo bus sono troppo lenti.
- <application>MPlayer</application> emette un messaggio se il caso è questo
- (e il contatore dei fotogrammi scartati sale velocemente)
-</para></listitem>
-<listitem><para>
- Se è un AVI, magari ha un cattivo interleave, prova l'opzione
- <option>-ni</option> per aggirare il problema.
- Oppure potrebbe avere un'intestazione malformata, in questo caso possono
- aiutare <option>-nobps</option> e/o <option>-mc 0</option>.
-</para></listitem>
-<listitem><para>
- Molti file FLV saranno riprodotti correttamente solo con
- <option>-correct-pts</option>.
- Sfortunatamente <application>MEncoder</application> non ha questa opzione, ma
- puoi provare a specificare manualmente <option>-fps</option> con il valore
- giusto, se lo conosci.
-</para></listitem>
-<listitem><para>
- Il tuo driver audio è bacato.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come faccio ad eliminare la desincronizzazione A/V durante la
-ricerca attraverso flussi RealMedia?
-</para></question>
-<answer><para>
-<option>-mc 0.1</option> può aiutare.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-dvd">
-<title>Riproduzione DVD</title>
-
-<qandaentry>
-<question><para>
-Circa la navigazione/menu del DVD?
-</para></question>
-<answer><para>
-<application>MPlayer</application> non supporta i menu dei DVD a causa di
-severe limitazioni architetturali che impediscono la gestione corretta di
-fermi immagine e contenuto interattivo. Se vuoi avere degli attraenti menu,
-dovrai usare un altro riproduttore come <application>xine</application>,
-<application>vlc</application> o <application>Ogle</application>.
-Se vuoi vedere la navigazione del DVD in <application>MPlayer</application>
-dovrai implementarla tu stesso, ma fai attenzione che non è un'impresa da poco.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Non riesco a guardare alcun DVD recente di Sony Pictures/BMG.
-</para></question>
-<answer><para>
-Questo è normale; sei stato fregato e ti hanno venduto un disco
-intenzionalmente rovinato. L'unico modo di riprodurre questi DVD è aggirare i
-blocchi rovinati del disco usando DVDnav al posto di mpdvdkit2.
-Puoi farlo compilando <application>MPlayer</application> col supporto DVDnav
-a poi sostituendo dvdnav:// a dvd:// sulla riga comando.
-DVDnav è mutualmente esclusivo rispetto a mpdvdkit2, perciò assicurati di
-passare l'opzione <option>--disable-mpdvdkit</option> allo script configure.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Riguardo i sottotitoli? <application>MPlayer</application> può mostrarli?
-</para></question>
-<answer><para>
-Sì. Vedi il <link linkend="dvd">capitolo sui DVD</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso impostare il codice di zona del mio lettore DVD? Non ho Windows!
-</para></question>
-<answer><para>
-Usa lo
-<ulink url="http://linvdr.org/projects/regionset/">strumento regionset</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Non riesco a riprodurre un DVD, MPlayer si blocca o emette degli errori tipo
-"Encrypted VOB file!".
-</para></question>
-<answer><para>
-Il codice di decrittazione CSS non funziona con alcuni lettori DVD a meno che
-il codice di zona non sia correttamente impostato. Vedi la risposta alla
-domanda precedente.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Devo essere (setuid) root per riuscire a riprodurre un DVD?
-</para></question>
-<answer><para>
-No. Tuttavia devi avere i diritti adeguati per la voce del dispositivo del DVD
-(in <filename class="directory">/dev/</filename>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-E' possibile riprodurre/codificare solo dei capitoli voluti?
-</para></question>
-<answer><para>
-Sì, prova l'opzione <option>-chapter</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-La mia riproduzione DVD è fiacca!
-</para></question>
-<answer><para>
-Usa l'opzione <option>-cache</option> (descritta nella pagina man) e prova ad
-abilitare il DMA per il DVD con lo strumento <command>hdparm</command>
-(spiegato nel <link linkend="drives">capitolo sui CD</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ho copiato un DVD usando vobcopy. Come lo riproduco/codifico dal mio disco
-fisso?
-</para></question>
-<answer><para>
-Use the <option>-dvd-device</option> option to refer to the directory
-that contains the files:
-Usa l'opzione <option>-dvd-device</option> per indicare la directory che
-contiene i file:
-<screen>
-mplayer dvd://1 -dvd-device <replaceable>/percorso/della/directory</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-
-<qandadiv id="faq-features">
-<title>Richieste di funzionalità </title>
-
-<qandaentry>
-<question><para>
-Se <application>MPlayer</application> è in pausa e provo a fare una ricerca o
-premo un qualsiasi tasto, <application>MPlayer</application> esce dalla pausa.
-Mi piacerebbe poter fare la ricerca nel film in pausa.
-</para></question>
-<answer><para>
-Questo è molto laborioso da implementare, senza perdere la sincronia A/V.
-Tutti i tentativi finora sono falliti, ma le patch sono benvenute.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mi piacerebbe fare la ricerca di +/- 1 fotogramma, invece che di 10 secondi.
-</para></question>
-<answer><para>
-Puoi avanzare di un fotogramma premendo <keycap>.</keycap>.
-Se il film non era in pausa, dopo lo rimarrÃ
-(vedi la pagina man per i dettagli).
-I passi all'indietro difficilmente saranno implementati nel breve termine.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-encoding">
-<title>Codifica</title>
-
-<qandaentry>
-<question><para>
-How can I encode?
-Come posso codificare?
-</para></question>
-<answer><para>
-Leggi la sezione su
-<link linkend="mencoder"><application>MEncoder</application></link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso fare un dump completo di un DVD su un file?
-</para></question>
-<answer><para>
-Una volta che hai scelto il tuo titolo, e ti sei assicurato che venga riprodotto
-correttamente con <application>MPlayer</application>, usa l'opzione
-<option>-dumpstream</option>.
-Per esempio:
-<screen>
-mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable>
-</screen>
-farà il dump del quinto titolo del DVD sul file
-<replaceable>dvd_dump.vob</replaceable>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso creare automaticamente dei (S)VCD?
-</para></question>
-<answer><para>
-Prova lo script <filename>mencvcd.sh</filename> dalla sottodirectory
-<filename class="directory">TOOLS</filename>.
-Con quello puoi codificare DVD, o altri film, nel formato VCD o SVCD e anche
-scriverli direttamente su CD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso creare dei (S)VCD?
-</para></question>
-<answer><para>
-Versioni recenti di <application>MEncoder</application> possono generare
-direttamente dei file MPEG-2 che possono essere utilizzati come base per creare
-un VCD o un SVCD e sono probabilmente riproducibili al volo su tutte le
-piattaforme (per esempio, per condividere un video dalla camera digitale con i
-tuoi amici non avvezzi ai computer).
-Leggi per favore
-<link linkend="menc-feat-vcd-dvd">Usare MEncoder per creare file compatibili VCD/SVCD/DVD</link>
-per ulteriori dettagli.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso unire due file video?
-</para></question>
-<answer><para>
-I file MPEG possono venir concatenati in un singolo file con fortuna.
-Per il file AVI, devi usare il supporto di <application>MEncoder</application>
-per file multipli nel modo seguente:
-<screen>
-mencoder -ovc copy -oac copy -o <replaceable>out.avi</replaceable> <replaceable>file1.avi</replaceable> <replaceable>file2.avi</replaceable>
-</screen>
-Questo funzionerà solo se i file hanno la stessa risoluzione e usano lo
-stesso codec.
-Puoi anche provare
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> e
-<application>avimerge</application> (parte del pacchetto di strumenti
-<ulink url="http://www.transcoding.org/">transcode</ulink>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso correggere file AVI con indice danneggiato o cattivo interleave?
-</para></question>
-<answer><para>
-Per evitare di dover usare <option>-idx</option> per essere in grado di fare la
-ricerca in file AVI con indice danneggiato oppure <option>-ni</option> per
-riprodurre file AVI con un cattivo interleave, usa il comando
-<screen>
-mencoder <replaceable>origine.avi</replaceable> -idx -ovc copy -oac copy -o <replaceable>destinazione.avi</replaceable>
-</screen>
-per copiare i flussi video e audio su di un nuovo file AVI rigenerando l'indice
-e facendo l'interleave corretto dei dati.
-Di certo questo non può correggere possibili problemi nei flussi video e/o
-audio.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso correggere il rapporto di aspetto di un file AVI?
-</para></question>
-<answer><para>
-Puoi fare ciò grazie all'opzione <option>-force-avi-aspect</option> di
-<application>MEncoder</application>, che sovrascrive l'aspetto memorizzato
-nell'opzione vprp dell'intestazione AVI OpenDML. Per esempio:
-<screen>
-mencoder <replaceable>origine.avi</replaceable> -ovc copy -oac copy -o <replaceable>destinazione.avi</replaceable> -force-avi-aspect 4/3
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso fare il backup e la codifica di un file VOB con un'inizio rovinato?
-</para></question>
-<answer><para>
-Il problema principale di quando vuoi codificare un file VOB rovinato
-<footnote id='fn-corrupted-files-or-copy-protection'><para>
-In parte, alcune forme di protezione di copia usate nei DVD possono esser
-considerate contenuto rovinato.
-</para></footnote>
-è che sarà difficile ottenere una condifica con sincronia A/V perfetta.
-Una soluzione è semplicemente tagliar via la parte rovinata e codificare solo
-quella a posto.
-Per prima cosa devi trovare dove inizia la parte a posto:
-<screen>
-mplayer <replaceable>origine.vob</replaceable> -sb <replaceable>num_di_byte_da_saltare</replaceable>
-</screen>
-Poi puoi creare un nuovo file che contiene solo la parte a posto:
-<screen>
-dd if=<replaceable>origine.vob</replaceable> of=<replaceable>destinazione_tagliata.vob</replaceable> skip=1 ibs=<replaceable>num_di_byte_da_saltare</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Non riesco a codificare i sottotitoli DVD dentro all'AVI!
-</para></question>
-<answer><para>
-Devi specificare correttamente l'opzione <option>-sid</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso codificare solo determinati capitoli di un DVD?
-</para></question>
-<answer><para>
-Usa adeguatamente l'opzione <option>-chapter</option>, così:
-<option>-chapter 5-7</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Sto cercando di lavorare con file di 2GB+ su un filesystem VFAT. Funziona?
-</para></question>
-<answer><para>
-No, VFAT non supporta file di 2GB+.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Qual'è il significato dei numeri sulla linea di stato durante il processo
-di codifica?
-</para></question>
-<answer><para>
-Esempio:
-<screen>
-Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2126:192]
-</screen>
-<variablelist>
- <varlistentry>
- <term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>posizione temporale nel flusso codificato</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>6612f</systemitem></term>
- <listitem><para>numero di fotogrammi codificati</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>( 2%)</systemitem></term>
- <listitem><para>porzione del flusso in entrata codificato</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>7.12fps</systemitem></term>
- <listitem><para>velocità di codifica</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>tempo rimanente di codifica stimato</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2856mb</systemitem></term>
- <listitem><para>dimensione stimata della codifica definitiva</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>ritardo corrente tra i flussi audio e video</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>[2126:192]</systemitem></term>
- <listitem><para>
- frequenza video media (in kb/s) e frequenza audio media (in kb/s)
- </para></listitem>
-</varlistentry>
-</variablelist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Perché la frequenza consigliata emessa da <application>MEncoder</application>
-ha un valore negativo?
-</para></question>
-<answer><para>
-Perché la frequenza (bitrate) in cui hai codificato l'audio è troppo grande
-per poter far stare un film su un CD. Controlla di avere libmp3lame installata
-correttamente.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Non riesco a codificare un ASF in AVI/MPEG-4 (DivX) perché usa 1000 fps.
-</para></question>
-<answer><para>
-Visto che ASF usa una frequenza dei fotogrammi variabile mentre AVI ne usa una
-fissa, devi impostarla a mano con l'opzione <option>-ofps</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso mettere i sottotitoli nel file di destinazione?
-</para></question>
-<answer><para>
-Passa semplicemente a <application>MEncoder</application> l'opzione
-<option>-sub <filename></option> (o <option>-sid</option>,
-rispettivamente).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come faccio a codificare solo l'audio da un video musicale?
-</para></question>
-<answer><para>
-Direttamente non è possibile, ma puoi provare questo (nota la
-<emphasis role="bold">&</emphasis> alla fine del comando di
-<command>mplayer</command>):
-<screen>
-mkfifo <replaceable>encode</replaceable>
-mplayer -ao pcm -aofile <replaceable>encode</replaceable> dvd://1 &
-lame <replaceable>le_tue_opzioni</replaceable> <replaceable>encode</replaceable> <replaceable>musica.mp3</replaceable>
-rm <replaceable>encode</replaceable>
-</screen>
-Questo ti permette di usare un qualsiasi codificatore, non solo
-<application>LAME</application>, nel comando suddetto sostituisci semplicemente
-<command>lame</command> con il tuo codificatore audio preferito.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Perché riproduttori di terze parti non riescono a riprodurre filmati MPEG-4
-codificati da <application>MEncoder</application> con versione superiore alla
-1.0pre7?
-</para></question>
-<answer><para>
-<systemitem class="library">libavcodec</systemitem>, la libreria nativa per la
-codifica MPEG-4 distribuita usualmente con <application>MEncoder</application>,
-quando codificava video MPEG-4 era solita impostare il FourCC a 'DIVX'
-(il FourCC è una tag AVI per identificare il software usato per la codifica e
-il software relativo da usare per decodificare il video).
-Ciò portava molte persone a pensare che
-<systemitem class="library">libavcodec</systemitem> fosse una libreria di
-codifica DivX, mentre in realtà è una libreria di codifica completamente
-diversa, che implementa lo standard MPEG-4 molto meglio di come faccia DivX.
-Così, il nuovo FourCC di default usato da
-<systemitem class="library">libavcodec</systemitem> è 'FMP4', ma puoi
-modificare questo comportamente usando l'opzione <option>-ffourcc</option> di
-<application>MEncoder</application>.
-Puoi anche cambiare allo stesso modo il FourCC di file esistenti:
-<screen>
-mencoder <replaceable>origine.avi</replaceable> -o <replaceable>destinazione.avi</replaceable> -ffourcc XVID
-</screen>
-Fai attenzione che questo imposterà il FourCC a XVID invece che a DIVX.
-Si consiglia così, dato che DIVX significa DivX4, che è un codec MPEG-4 molto
-basilare, mentre DX50 e XVID indicano entrambi un MPEG-4 completo (ASP).
-Inoltre, se imposti il FourCC a DIVX, dei brutti software o lettori da tavolo
-potrebbero annsapare su alcune caratteristiche avanzate che
-<systemitem class="library">libavcodec</systemitem> supporta, ma DivX no;
-dall'altro lato <systemitem class="library">Xvid</systemitem> è più simile a
-<systemitem class="library">libavcodec</systemitem> in termini di funzinalità ,
-ed è supportato da tutti i riproduttori decenti.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso codificare un file solo audio?
-</para></question>
-<answer><para>
-Usa <filename>aconvert.sh</filename> dalla sottodirectory
-<filename class="directory">TOOLS</filename> dei sorgenti di MPlayer.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Come posso riprodurre sottotitoli impacchettati in un AVI?
-</para></question>
-<answer><para>
-Usa <filename>avisubdump.c</filename> dalla sottodirectory
-<ulink url="http://xlife.zuavra.net/curse/0012/">questa documentazione sull'estrazione/demultiplex dei sottotitoli impacchettati in file AVI OpenDML</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-MPlayer non potrebbe...
-</para></question>
-<answer><para>
-Dai un'occhiata alla sottodirectory <filename class="directory">TOOLS</filename>
-per una raccolta di vari script e hack.
-<filename>TOOLS/README</filename> contiene la documentazione.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-</qandaset>
-
-</chapter>
diff --git a/DOCS/xml/it/install.xml b/DOCS/xml/it/install.xml
deleted file mode 100644
index 5dcc1a5..0000000
--- a/DOCS/xml/it/install.xml
+++ /dev/null
@@ -1,528 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r27852 -->
-<chapter id="install">
-<title>Installazione</title>
-
-<para>
-Una rapida guida di installazione si può trovare nel file
-<filename>README</filename>.
-Per favore leggi prima quello, poi torna qui per il resto dei dettagli scabrosi.
-</para>
-
-<para>
-In questa sezione verrai guidato attraverso il processo di compilazione e di
-configurazione di <application>MPlayer</application>. Non è semplice, ma non
-sarà necessariamente difficile. Se ti si presenta un'esperienza diversa da
-quella descritta, per favore cerca in questa documentazione e troverai le
-risposte.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="softreq">
-<title>Prerequisiti Software</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - la versione consigliata è
- <emphasis role="bold">2.11.x</emphasis>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">gcc</emphasis> - le versioni consigliate sono la 2.95
- e le 3.4+. La 2.96 e le 3.0.x sono conosciute per generare codice bucato,
- anche la 3.1 e la 3.2 hanno problemi, la 3.3 alcuni piccoli.
- Su architettura PowerPC, usa le 4.x.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Xorg/XFree86</emphasis> - la versione consigliata è
- 4.3 o successiva. Assicurati che anche i
- <emphasis role="bold">pacchetti di sviluppo</emphasis> (dev) siano installati,
- altrimenti non funzionerà .
- Non hai assolutamente bisogno di X, alcuni driver di uscita video funzionano
- senza.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">GNU make</emphasis> 3.81
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> - per l'OSD e i sottotitoli è
- richiesta la versione 2.0.9 o successiva.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> - facoltativo, per il supporto di
- uscita audio ALSA. Richiesta almeno la 0.9.0rc4.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> -
- richiesto per il driver opzionale di uscita video JPEG.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> -
- richiesto per il driver opzionale di uscita video PNG.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - facoltativo, richiesta la
- versione 0.9.13 o successiva per il driver di uscita video directfb.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - 3.90 o successivo consigliato,
- necessario per codificare audio MP3 con <application>MEncoder</application>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> - consigliato, usato da molti codec.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- - facoltativo, necessario per alcuni flussi RTSP/RTP
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - facoltativo, per supporto CDDA
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - facoltativo, per il supporto del
- plugin di ingresso XMMS input plugin. Richiesta almeno la 1.2.7.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - facoltativo, per il supporto di
- rete SMB
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.underbit.com/products/mad/">libmad</ulink></emphasis>
- - facoltativo, per la decodifica MP3 veloce solo a interi su piattaforme
- senza FPU
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="features">
-<title>Caratteristiche</title>
-
-<itemizedlist>
-<listitem><para>
- Decidi se ti serve la GUI (interfaccia grafica). Se sì, vedi la sezione
- <link linkend="gui">GUI</link> prima di compilare.
-</para></listitem>
-<listitem><para>
- Se vuoi installare <application>MEncoder</application> (il nostro grande
- codificatore per tutte le occasioni), vedi la sezione per
- <link linkend="mencoder"><application>MEncoder</application></link>.
-</para></listitem>
-<listitem><para>
- Se hai un <emphasis role="bold">sintonizzatore TV</emphasis> compatibile V4L
- e desideri vedere/catturare e codificare filmati con
- <application>MPlayer</application>, leggi la sezione
- <link linkend="tv-input">ingresso TV</link>.
-</para></listitem>
-<listitem><para>
- Se hai un <emphasis role="bold">sintonizzatore radio</emphasis> compatibile
- V4L e desideri sentire e registrare il suono con
- <application>MPlayer</application>, leggi la sezione
- <link linkend="radio">radio</link>.
-</para></listitem>
-<listitem><para>
- C'è un buon supporto per <emphasis role="bold">Menu OSD</emphasis>
- pronto per l'uso. Controlla la sezione <link linkend="subosd">Menu OSD</link>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Poi compila <application>MPlayer</application>:
-<screen>
-./configure
-make
-make install
-</screen>
-</para>
-
-<para>
-A questo punto, <application>MPlayer</application> è pronto per l'utilizzo.
-Controlla se hai un file <filename>codecs.conf</filename> nella tua directory
-utente (<filename>~/.mplayer/codecs.conf</filename>) rimasto da precedenti
-versioni di <application>MPlayer</application>. Se lo trovi, cancellalo.
-</para>
-
-<para>
-Gli utenti Debian possono costruirsi un pacchetto .deb per conto loro, è molto
-semplice.
-Basta eseguire
-<screen>fakeroot debian/rules binary</screen>
-nella directory radice di <application>MPlayer</application>. Vedi
-<link linkend="debian">pacchetti Debian</link> per instruzioni dettagliate.
-</para>
-
-<para>
-<emphasis role="bold">Controlla sempre l'output di</emphasis>
-<filename>./configure</filename> e il file
-<filename>config.log</filename>, essi contengono informazioni su cosa
-sarà compilato e cosa no. Puoi anche voler guardare i file
-<filename>config.h</filename> e <filename>config.mak</filename>.
-Se hai alcune librerie installate, ma non rilevate da
-<filename>./configure</filename>, allora controlla di avere anche i file
-header corretti (di solito i pacchetti -dev ) e di versioni corrispondenti.
-Il file <filename>config.log</filename> solitamente ti dice cosa manca.
-</para>
-
-<para>
-Anche se non obbligatorio, i font dovrebbero essere installati, per avere l'OSD
-e la funzione sottotitoli. Il metodo consigliato è installare un file di
-font TTF e dire a <application>MPlayer</application> di usarlo.
-Vedi la sezione <link linkend="subosd">Sottotitoli e OSD</link> per i dettagli.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="gui">
-<title>E relativamente alla GUI?</title>
-
-<para>
-La GUI abbisogna di GTK 1.2.x o GTK 2.0 (non è completamente in GTK, ma i
-pannelli lo sono), per cui le <systemitem class="library">GTK</systemitem> (e
-le controparti di sviluppo, solitamente chiamate
-<systemitem class="library">gtk-dev</systemitem>) devono essere installate.
-Puoi compilare la GUI specificando <option>--enable-gui</option> quando esegui
-<filename>./configure</filename>.
-Poi, per girare in modalità GUI, devi lanciare il binario
-<command>gmplayer</command>.
-</para>
-
-<para>
-Siccome <application>MPlayer</application> non ha una skin inclusa, devi
-scaricarne una se vuoi usare la GUI. Vedi la
-<ulink url="http://www.mplayerhq.hu/dload.html">pagina di download</ulink>.
-Dovrebbe essere decompressa nella directory di sistema (<filename
-class="directory">$PREFIX/share/mplayer/skins</filename>) o dell'utente
-<filename class="directory">$HOME/.mplayer/skins</filename>.
-<application>MPlayer</application> di default cerca in questi percorsi una
-directory chiamata <filename class="directory">default</filename>, ma puoi
-usare l'opzione <option>-skin <replaceable>nomeskin</replaceable></option>,
-o la voce <literal>skin=nomeskin</literal> nel file di configurazione, per
-utilizzare la skin nella directory
-<filename class="directory">*/skins/nomeskin</filename>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="fonts-osd">
-<title>Font e OSD</title>
-
-<para>
-Devi dire a <application>MPlayer</application> quale font usare per usufruire
-dell'OSD e dei sottotitoli. Un qualsiasi font TrueType o basato su bitmap
-funzionerà . Tuttavia si consigliano i font TrueType in quanto hanno una resa
-grafica migliore, possono essere ridimensionati correttamente rispetto alla
-dimensione del filmato e gestiscono meglio differenti codifiche.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="truetype-fonts">
-<title>Font TrueType</title>
-
-<para>
-Ci sono due modi di far funzionare i font TrueType. Il primo consiste nel
-passare l'opzione <option>-font</option> sulla riga comando per specificare un
-file di font TrueType. Questa opzione sarà una buona candidata da mettere nel
-tuo file di configurazione (vedi la pagina di manuale per i dettagli).
-Il secondo è creare un collegamento simbolico al font di tua scelta,
-con nome <filename>subfont.ttf</filename>. Sia
-<screen>
-ln -s <replaceable>/percorso/del/font_di_esempio.ttf</replaceable> ~/.mplayer/subfont.ttf
-</screen>
-singolarmente per ciascun utente, oppure uno di sistema:
-<screen>
-ln -s <replaceable>/percorso/del/font_di_esempio.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
-</screen>
-</para>
-
-<para>
-Se <application>MPlayer</application> è compilato con il supporto per
-<systemitem class="library">fontconfig</systemitem>, i metodi precedenti
-non funzioneranno, piuttosto <option>-font</option> si aspetterà un nome di
-font <systemitem class="library">fontconfig</systemitem> e il
-suo default sarà il font sans-serif. Esempio:
-<screen>
-mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable>
-</screen>
-</para>
-
-<para>
-Per ottenere una lista dei font conosciuti da
-<systemitem class="library">fontconfig</systemitem>, usa il comando
-<command>fc-list</command>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bitmap-fonts">
-<title>Font bitmap</title>
-
-<para>
-Se per qualche ragione desideri o ti serve utilizzare font bitmap, scaricali
-dal nostro sito. Puoi scegliere tra vari
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">font ISO</ulink>
-e qualche font <ulink
-url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">creato dagli utenti</ulink>
-in varie codifiche.
-</para>
-
-<para>
-Decomprimi il file che hai scaricato, in
-<filename class="directory">~/.mplayer</filename> o
-<filename class="directory">$PREFIX/share/mplayer</filename>.
-Poi rinomina o crea un collegamento simbolico ad una delle directory
-<filename class="directory">font</filename>, per esempio:
-<screen>
-ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
-</screen>
-<screen>
-ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font
-</screen>
-</para>
-
-<para>
-I font dovrebbero avere un file <filename>font.desc</filename> appropriato che
-relazioni le posizioni unicode con la pagina di codici corrente dei sottotitoli
-di testo. Un'altra soluzione sarebbe avere sottotitoli in UTF-8 e usare
-l'opzione <option>-utf8</option> oppure dare al file dei sottotitoli lo stesso
-nome del tuo file video, con un'estensione <filename>.utf</filename> e
-posizionarlo nella stessa directory del file video stesso.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="osdmenu">
-<title>Menu OSD</title>
-
-<para>
-<application>MPlayer</application> possiede un'interfaccia per i Menu OSD
-completamente personalizzabile.
-</para>
-
-<note><para>
-il menu Preferenze attualmente NON E' IMPLEMENTATO!
-</para></note>
-
-<orderedlist>
-<title>Installazione</title>
-<listitem><para>
- compila <application>MPlayer</application> passando
- a <filename>./configure</filename> l'opzione <option>--enable-menu</option>
-</para></listitem>
-<listitem><para>
- assicurati di avere un font OSD installato
-</para></listitem>
-<listitem><para>
- copia <filename>etc/menu.conf</filename> nella tua directory
- <filename class="directory">.mplayer</filename>
-</para></listitem>
-<listitem><para>
- copia <filename>etc/input.conf</filename> nella tua directory
- <filename class="directory">.mplayer</filename>, oppure nella directory di
- configurazione di sistema di <application>MPlayer</application> (default:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
-</para></listitem>
-<listitem><para>
- controlla e modifica <filename>input.conf</filename> per abilitare i tasti
- di movimento nel menu (è lì spiegato)
-</para></listitem>
-<listitem><para>
- avvia <application>MPlayer</application> come nell'esempio seguente:
- <screen>mplayer -menu <replaceable>file.avi</replaceable></screen>
- </para></listitem>
-<listitem><para>
- premi quualcuno dei tasti menu che hai definito
-</para></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="codec_installation">
-<title>Installazione codec</title>
-
-<!-- ********** -->
-
-<sect2 id="xvid">
-<title>Xvid</title>
-
-<para>
-<ulink url="http://www.xvid.org">Xvid</ulink> è un codec video libero
-compatibile MPEG-4 ASP. Nota che Xvid non è necessario per decodificare video
-codificato in Xvid. Viene usata di default
-<systemitem class="library">libavcodec</systemitem>, dato che è più veloce.
-</para>
-
-<procedure>
-<title>Installare <systemitem class="library">Xvid</systemitem></title>
-<para>
- Come molti software open source, è disponibili in due modi:
- <ulink url="http://www.xvid.org/downloads.html">rilasci ufficiali</ulink>
- e la versione in CVS.
- La versione CVS solitamente è solitamente abbastanza stabile da utilizzare,
- visto che la maggior parte delle volte include fix per i bachi che esistono
- nei rilasci.
- Ecco quello che devi fare per far sì che la versione CVS di
- <systemitem class="library">Xvid</systemitem> funzioni con
- <application>MEncoder</application>:
-</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
-</para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
-</para></step>
-<step><para>
- <screen>./bootstrap.sh && ./configure</screen>
- Puoi dover aggiungere alcune opzioni (controlla quello che emette
- <command>./configure --help</command>).
-</para></step>
-<step><para>
- <screen>make && make install</screen>
-</para></step>
-<step><para>
- Ricompila <application>MPlayer</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x264">
-<title><systemitem class="library">x264</systemitem></title>
-
-<para>
-<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
-è una libreria per creare flussi video H.264.
-I sorgenti di <application>MPlayer</application> vengono aggiornati
-ogniqualvolta ci sia un cambiamento nelle API di
-<systemitem class="library">x264</systemitem>, quindi si consiglia sempre di
-utilizzare la versione Subversion di <application>MPlayer</application>.
-</para>
-
-<para>
-Se hai un client GIT installato, si possono ottenere i sorgenti più recenti di
-x264 col seguente comando:
-<screen>git clone git://git.videolan.org/x264.git</screen>
-
-Dopodiché lo si compila e installa nel solito modo:
-<screen>./configure && make && make install</screen>
-
-Poi riesegui <filename>./configure</filename> affinché
-<application>MPlayer</application> rilevi la presenza di
-<systemitem class="library">x264</systemitem>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="amr">
-<title>AMR</title>
-
-<para>
-Il codec voce Adaptive Multi-Rate è usato nei telefoni cellulari di terza
-generazione (3G).
-La referenza per l'implementazione è disponibile da
-<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
-(gratuita per uso personale).
-Per abilitarne il supporto, scarica e installa le librerie per
-<ulink url="http://www.penguin.cz/~utx/amr">AMR-NB e AMR-WB</ulink>
-seguendo le istruzioni da quella pagina.
-Dopodiché ricompila <application>MPlayer</application>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="xmms">
-<title>XMMS</title>
-
-<para>
-<application>MPlayer</application> può utilizzare i plugin di ingresso di
-<application>XMMS</application> per riprodurre molti formati file. Ci sono
-plugin per i suoni dei videgiochi SNES, SID (dal Commodore 64), molti formati
-Amiga, .xm, .it, VQF, musepack, Bonk, shorten e molti altri. Puoi trovarli sulla
-<ulink url="http://www.xmms.org/plugins.php?category=input">pagina dei plugin di ingresso di XMMS</ulink>.
-</para>
-
-<para>
-Per questa caratteristica devi avere <application>XMMS</application> e
-compilare <application>MPlayer</application> con
-<filename>./configure --enable-xmms</filename>.
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="rtc">
-<title>RTC</title>
-
-<para>
-Ci sono tre metodi di temporizzazione in <application>MPlayer</application>.
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Per utilizzare il vecchio metodo</emphasis>, non devi
- fare nulla. Utilizza <systemitem>usleep()</systemitem> per gestire la
- sincronizzazione A/V, con una precisione di +/- 10ms.
- Tuttavia delle volte la sincronizzazione serve che sia ancora più precisa.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">Il nuovo codice per la temporizzazione</emphasis> usa
- l'RTC (RealTime Clock) per il suo compito, poiché ha timer precisi di 1ms.
- L'opzione <option>-rtc</option> lo abilita, ma è richiesto un kernel
- adeguatamente preparato.
- Se stai utilizzando un kernel 2.4.19pre8 o successivo, puoi impostare
- la frequenza massima dell'RTC per gli utenti normali attraverso il
- filesystem <systemitem class="systemname">/proc </systemitem>. Usa uno dei
- comandi seguenti per abilitare l'RTC per gli utenti normali:
- <screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
- <screen>sysctl dev/rtc/max-user-freq=1024</screen>
- Puoi rendere queste modifiche definitive aggiungendo l'ultimo al file
- <filename>/etc/sysctl.conf</filename>.
- </para>
- <para>
- Puoi verificare l'efficienza del nuovo temporizzatore nella riga di stato.
- Le funzioni di risparmio energetico dei BIOS di alcuni portatili con CPU
- speedstep interagiscono male con l'RTC. Audio e video possono perdere di
- sincronia. Collegare il cavo di alimentazione prima di accendere il portatile
- pare esser di aiuto. In alcune combinazioni hardware (confermato usando DVD
- non DMA su una scheda ALi1541) l'utilizzo dell'RTC può portare una
- riproduzione saltellante. In questi casi si raccomanda di utilizzare il terzo
- metodo.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">Il terzo codice di temporizzazione</emphasis> viene
- abilitato tramite l'opzione <option>-softsleep</option>. Ha l'efficienza
- dell'RTC, ma non lo utilizza. D'altro canto, richiede più CPU.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/it/mencoder.xml b/DOCS/xml/it/mencoder.xml
deleted file mode 100644
index dedd53c..0000000
--- a/DOCS/xml/it/mencoder.xml
+++ /dev/null
@@ -1,780 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r27843 -->
-<chapter id="mencoder">
-<title>Utilizzo base di <application>MEncoder</application></title>
-
-<para>
-Per la lista completa delle opzioni disponibili ed esempi per
-<application>MEncoder</application>, leggi per favore la pagina di manuale. Per
-una serie di esempi pronti all'uso e guide dettagliate sull'utilizzo di
-svariati parametri di codifica leggi le
-<ulink url="../../tech/encoding-tips.txt">indicazioni per la codifica</ulink>
-che sono stati selezionati da vari thread sulla mailing list MPlayer-users.
-Cerca
-<ulink url="http://lists.mplayerhq.hu/pipermail/mencoder-users/">qui</ulink>
-negli archivi e soprattutto per cose più vecchie, anche
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">qui</ulink> per
-una buona serie di discussioni riguardanti tutti gli aspetti e i problemi
-relativi alla codifica con <application>MEncoder</application>.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-codec">
-<title>Selezionare codec e formati contenitore</title>
-
-<para>
-I codec audio e video per la codifica vengono selezionati rispettivamente con
-le opzioni <option>-oac</option> e <option>-ovc</option>.
-Esegui per esempio:
-<screen>mencoder -ovc help</screen>
-per elencare tutti i codec video supportati dalla versione di
-<application>MEncoder</application> sul tuo sistema.
-Sono disponibili le scelte seguenti:
-</para>
-
-<para>
-Codec audio:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nome codec audio</entry><entry>Descrizione</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mp3lame</entry>
- <entry>codifica in MP3 VBR, ABR o CBR MP3 tramite LAME</entry>
-</row>
-<row>
- <entry>lavc</entry>
- <entry>usa uno dei codec audio di
- <link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem></link></entry>
-</row>
-<row>
- <entry>faac</entry>
- <entry>codificatore audio FAAC AAC</entry>
-</row>
-<row>
- <entry>toolame</entry>
- <entry>codificatore MPEG Audio Layer 2</entry>
-</row>
-<row>
- <entry>twolame</entry>
- <entry>codificatore MPEG Audio Layer 2 basato su tooLAME</entry>
-</row>
-<row>
- <entry>pcm</entry>
- <entry>audio PCM non compresso</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>non ricodifica, copia solo il flusso compresso</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Codec video:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nome codec video</entry><entry>Descrizione</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavc</entry>
- <entry>usa uno dei codec video di <link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem></link></entry>
-</row>
-<row>
- <entry>xvid</entry>
- <entry>Xvid, codec MPEG-4 Advanced Simple Profile (ASP)</entry>
-</row>
-<row>
- <entry>x264</entry>
- <entry>x264, codec MPEG-4 Advanced Video Coding (AVC), AKA H.264</entry>
-</row>
-<row>
- <entry>nuv</entry>
- <entry>nuppel video, utilizzato da alcune applicazioni in tempo reale</entry>
-</row>
-<row>
- <entry>raw</entry>
- <entry>fotogrammi video non compressi</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>non ricodifica, copia solo il flusso compresso</entry>
-</row>
-<row>
- <entry>frameno</entry>
- <entry>usato per codifica a 3 passaggi (non consigliato)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-I formati contenitore di uscita si selezionano con l'opzione
-<option>-of</option>.
-Scrivi:
-<screen>mencoder -of help</screen>
-per elencare tutti i contenitori supportati dalla versione di
-<application>MEncoder</application> sul tuo sistema.
-Sono disponibili le scelte seguenti:
-</para>
-
-<para>
-Formati contenitore:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nome formato contenitore</entry><entry>Descrizione</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavf</entry>
- <entry>uno dei contenitori supportati da
- <systemitem class="library">libavformat</systemitem></entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>mpeg</entry>
- <entry>MPEG-1 e MPEG-2 PS</entry>
-</row>
-<row>
- <entry>rawvideo</entry>
- <entry>flusso video grezzo (nessun mux - solo un flusso video)</entry>
-</row>
-<row>
- <entry>rawaudio</entry>
- <entry>flusso audio grezzo (nessun mux - solo un flusso audio)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Il contenitore AVI è il formato contenitore nativo per
-<application>MEncoder</application>, il che significa che è quello meglio
-gestito e quello per cui <application>MEncoder</application> è stato
-progettato.
-Come su specificato, si possono utilizzare altri formati contenitore, ma
-potresti avere qualche problema utilizzandoli.
-</para>
-
-<para>
-Contenitori <systemitem class="library">libavformat</systemitem>:
-</para>
-
-<para>
-Se hai impostato <systemitem class="library">libavformat</systemitem> per fare
-il mux del file di uscita (usando <option>-of lavf</option>), il giusto formato
-contenitore verrà determinato dall'estensione del file di uscita.
-Puoi forzare un formato contenitore specifico con l'opzione
-<option>format</option> di <systemitem class="library">libavformat</systemitem>.
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>nome contenitore <systemitem class="library">libavformat</systemitem></entry>
-<entry>Descrizione</entry>
-</row></thead>
-<tbody>
-<row>
- <entry>mpg</entry>
- <entry>MPEG-1 e MPEG-2 PS</entry>
-</row>
-<row>
- <entry>asf</entry>
- <entry>Advanced Streaming Format</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>wav</entry>
- <entry>Audio Waveform</entry>
-</row>
-<row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Macromedia Flash video</entry>
-</row>
-<row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
-</row>
-<row>
- <entry>au</entry>
- <entry>SUN AU</entry>
-</row>
-<row>
- <entry>nut</entry>
- <entry>contenitore "aperto" NUT (sperimentale e non ancora spec-compliant)</entry>
-</row>
-<row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
-</row>
-<row>
- <entry>mp4</entry>
- <entry>formato MPEG-4</entry>
-</row>
-<row>
- <entry>dv</entry>
- <entry>contenitore Sony Digital Video</entry>
-</row>
-<row>
- <entry>mkv</entry>
- <entry>contenitore "aperto" audio/video Matroska</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Come puoi notare, <systemitem class="library">libavformat</systemitem> permette
-a <application>MEncoder</application> di fare il mux in una buona quantitÃ
-di contenitori.
-Sfortunatamente, dato che <application>MEncoder</application> non è stato
-progettato dall'inizio per supportare formati contenitore diversi da AVI,
-dovresti essere piuttosto paranoici riguardo al file risultante.
-Assicurati per favore che la sincronizzazione audio/video sia a posto e che il
-file possa essere riprodotto correttamente da altri programmi oltre a
-<application>MPlayer</application>.
-</para>
-
-<example id="encode_to_macromedia_flash_format">
-<title>codificare nel formato Macromedia Flash</title>
-<para>
-Creare un video Macromedia Flash che sia riproducibile in un browser internet
-con il plugin Macromedia Flash:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
-</screen>
-</para>
-</example>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-input">
-<title>Selezionare il file in ingresso o il dispositivo</title>
-
-<para>
-<application>MEncoder</application> può codificare da file o direttamente da
-un disco DVD o VCD.
-Includi semplicemente nella riga comando il nome file per codificare dal file
-stesso, oppure <option>dvd://</option><replaceable>numero_titolo</replaceable>
-o <option>vcd://</option><replaceable>numero_traccia</replaceable> per
-codificare da un titolo DVD o da una traccia VCD.
-Se hai già copiato un DVD sul tuo disco fisso (puoi usare uno strumento come
-<application>dvdbackup</application>, disponibile per la maggior parte dei
-sistemi) e desideri codificare da tale copia, dovresti ancora usare la sintassi
-<option>dvd://</option>, insieme con <option>-dvd-device</option> seguita dal
-percorso della radice del DVD copiato.
-
-Le opzioni <option>-dvd-device</option> e <option>-cdrom-device</option>
-possono anche essere usate per reimpostare i percorsi dei dispositivi al fine
-di leggere direttamente dal disco, se i valori di default
-<filename>/dev/dvd</filename> e <filename>/dev/cdrom</filename> non funzionano
-sul tuo sistema.
-</para>
-
-<para>
-Durante la codifica da DVD, spesso si vogliono selezionare un capitolo o una
-serie di capitoli da codificare.
-Per questo fine puoi usare l'opzione <option>-chapter</option>.
-Per esempio, <option>-chapter</option> <replaceable>1-4</replaceable>
-codificherà solo i capitoli dall'1 al 4 dal DVD.
-Questo è particolarmente utile se vuoi fare una codifica in 1400 MB destinata
-a due CD, visto che puoi esser sicuro che il punto di divisione sia proprio tra
-un capitolo e l'altro invece che a metà di una scena.
-</para>
-
-<para>
-Se hai una scheda di acquisizione TV supportata, puoi anche codificare dal
-dispositivo di ingresso TV.
-Usa <option>tv://</option><replaceable>numero_canale</replaceable> come
-nome file e <option>-tv</option> per configurare varie opzioni di acquisizione.
-L'ingresso DVB funziona in modo simile.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg4">
-<title>Codificare MPEG-4 ("DivX") in due passaggi</title>
-
-<para>
-La definizione viene dal fatto che questo metodo codifica il file
-<emphasis>due volte</emphasis>. La prima codifica (dubbed pass) genera alcuni
-file temporanei (<filename>*.log</filename>) con una dimensione di pochi
-megabyte, non cancellarli dopo il primo passaggio (puoi cancellare l'AVI o
-meglio ancora non creare alcun video ridirezionandolo verso
-<filename>/dev/null</filename> o verso <filename>NUL</filename> sotto Windows).
-Nel secondo passaggio viene creato il secondo file di output, usando i dati
-del bitrate presi dai file temporanei. Il file risultante avrà una qualitÃ
-dell'immagine decisamente migliore. Se questa è la prima volta che senti
-parlare di quasta cosa ti conviene leggere qualcuna delle guide disponibili su
-internet.
-</para>
-
-<example id="copy_audio_track">
-<title>copiare la traccia audio</title>
-<para>
-La codifica in due passaggi della seconda traccia di un DVD in un AVI MPEG-4
-("DivX") copiando la traccia audio.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>codificare la traccia audio</title>
-<para>
-La codifica in due passaggi della seconda traccia di un DVD in un AVI MPEG-4
-("DivX") codificando la traccia audio in MP3.
-Fai attenzione se usi questo metodo, dato che in alcuni casi può portare
-desincronizzazione audio/video.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-handheld-psp">
-<title>Codificare nel formato video per Sony PSP</title>
-
-<para>
-<application>MEncoder</application> fornisce la codifica in formato video Sony
-PSP, ma, relativamente alla revisione del software PSP, i vincoli possono
-essere diverse.
-Dovresti accertarti di rispettare i seguenti vincoli:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Bitrate</emphasis>: non dovrebbe oltrepassare i
- 1500kbps, tuttavia, versioni precedenti supportavano quasi ogni frequenza a
- patto che l'intestazione non dicesse che era troppo alta.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Dimensioni</emphasis>: la larghezza e l'altezza del
- video PSP dovrebbero essere multipli di 16 e il prodotto larghezza * altezza
- dovrebbe essere <= 64000.
- In alcune circostanze, potrebbe essere possibile che la PSP riproduca
- risoluzioni più grandi.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audio</emphasis>: la frequenza dovrebbe essere 24kHz
- per video MPEG-4, e 48kHz per H.264.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<example id="encode_for_psp">
-<title>codificare per PSP</title>
-<para>
-<screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
- <replaceable>input.video</replaceable> -o <replaceable>output.psp</replaceable>
-</screen>
-Nota che puoi impostare il titolo del video con
-<option>-info name=<replaceable>TitoloFilmato</replaceable></option>.
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg">
-<title>Codificare in formato MPEG</title>
-
-<para>
-<application>MEncoder</application> può generare file nel formato di output
-MPEG (MPEG-PS).
-Di solito, quando stai usando video MPEG-1 o MPEG-2, è perché stai codificando
-per un formato vincolato come SVCD, VCD, o DVD.
-Le richieste specifiche per questi formati sono spiegate nella sezione
-<link linkend="menc-feat-vcd-dvd">creazione di VCD e DVD</link>.
-</para>
-
-<para>
-Per modificare il formato file di uscita di <application>MEncoder</application>,
-usa l'opzione <option>-of mpeg</option>.
-</para>
-
-<informalexample>
-<para>
-Esempio:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
- -oac copy <replaceable>altre_opzioni</replaceable> -o <replaceable>output.mpg</replaceable>
-</screen>
-Creare un file MPEG-1 che possa essere riprodotto da sistemi con un supporto
-multimediale minimale, come l'installazione di default di Windows:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>output.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-Lo stesso, ma usando il muxer MPEG di
-<systemitem class="library">libavformat</systemitem>:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>Consiglio:</title>
-<para>
-Se per qualche motivo la qualità video del secondo passaggio non ti soddisfa,
-puoi rilanciare la tua codifica video con un diverso bitrate di uscita,
-sempre che tu abbia tenuto i file con le statistiche del passaggio precedente.
-Questo è possbilie dato che l'obiettivo principale del file delle statistiche
-è registrarsi la complessità di ciascun frame, che non dipende direttamente
-dal bitrate. Dovresti tuttavia essere consapevole che otterrai i risultati
-migliori se tutti i passaggi sono eseguiti con bitrate non troppo diversi tra
-loro.
-</para>
-</note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-rescale">
-<title>Ridimensionare filmati</title>
-
-<para>
-Spesso emerge la necessità di ridimensionare le immagini del filmato.
-Le ragioni possono essere molte: diminuire la dimensione del file, la banda di
-rete, etc... Molte persone ridimensionano anche quando convertono DVD o CVD in
-AVI DivX. Se desideri ridimensionare, leggi la sezione
-<link linkend="aspect">Preservare il rapporto di aspetto</link>.
-</para>
-
-<para>
-Il processo di ridimensionamento è gestito dal filtro video
-<literal>scale</literal>:
-<option>-vf scale=<replaceable>larghezza</replaceable>:<replaceable>altezza</replaceable></option>.
-La sua qualità può essere impostata con l'opzione <option>-sws</option>.
-Se non è specificato, <application>MEncoder</application> userà 2: bicubico.
-</para>
-
-<para>
-Uso:
-<screen>
-mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>Copia dei flussi</title>
-
-<para>
-<application>MEncoder</application> può gestire i flussi in ingresso in due
-modi: <emphasis role="bold">codifica</emphasis> o
-<emphasis role="bold">copia</emphasis>. Questa sezione tratta la
-<emphasis role="bold">copia</emphasis>.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Flussi video</emphasis> (opzione <option>-ovc copy</option>):
- si possono fare delle cose carine :) Come infilare (senza converzione!) video
- FLI o VIVO o MPEG-1 in un file AVI! Di sicuro solo
- <application>MPlayer</application> può riprodurre file siffatti :)
- E probabilmente non ha alcuna utilità . Razionalmente: la copia dei flussi
- video può essere utile per esempio quando si deve codificare solo il flusso
- audio (come da PCM non compresso a MP3).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Flussi audio</emphasis> (opzione <option>-oac copy</option>):
- direttamente. E' possibile prendere un file audio esterno (MP3, WAV) e farne
- il mux nel flusso di uscita. Usa l'opzione
- <option>-audiofile <replaceable>nomefile</replaceable></option> per farlo.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Usare <option>-oac copy</option> per copiare da un formato contenitore ad un
-altro potrebbe richiedere l'utilizzo di <option>-fafmttag</option> per
-conservare l'etichetta del formato audio del file di partenza.
-Per esempio, se stai convertendo un file NSV con audio AAC a un contenitore AVI,
-l'etichetta del formato audio sarà sbagliata e bisognerà modificarla.
-Per una lista delle etichette dei formati audio, controlla
-<filename>codecs.conf</filename>.
-</para>
-
-<para>
-Esempio:
-<screen>
-mencoder <replaceable>input.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-images">
-<title>Codificare file immagine multipli (JPEG, PNG, TGA, etc.)</title>
-
-<para>
-<application>MEncoder</application> è in grado di creare filmati da uno o più
-file immagine JPEG, PNG, TGA o altri. Con una semplioce copia fotogrammi può
-creare file MJPEG (Motion JPEG), MPNG (Motion PNG) o MTGA (Motion TGA).
-</para>
-
-<orderedlist>
-<title>Spiegazione del processo:</title>
-<listitem><para>
- <application>MEncoder</application> <emphasis>decodifica</emphasis> le
- immagini in entrata con <systemitem class="library">libjpeg</systemitem>
- (decodificando PNG, userà <systemitem class="library">libpng</systemitem>).
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application> passa poi le immagini decodificate al
- compressore video scelto (DivX4, Xvid, FFmpeg msmpeg4, etc.).
-</para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>Esempi</title>
-<para>
-La spiegazione dell'opzione <option>-mf</option> è nella pagina man.
-
-<informalexample>
-<para>
-Creare un file MPEG-4 da tutti i file JPEG nella directory corrente:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creare un file MPEG-4 da alcuni file JPEG nella directory corrente:
-<screen>
-mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creare un file MPEG-4 da una lista definita di file JPEG (lista.txt nella
-directory corrente contiene la lista dei file da usare come sorgente, uno per
-riga):
-<screen>
-mencoder mf://<replaceable>@lista.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-Puoi mescolare diversi tipi di immagine, senza considerare il metodo che usi
-— nomi file singoli, wildcard o file da una lista — posto ovviamente
-che abbiano la stessa dimensione.
-Per cui puoi per es. prendere il fotogramma dei titoli da un file PNG e poi
-fare una presentazione delle tue foto in JPEG.
-
-<informalexample>
-<para>
-Creare un file Motion JPEG (MJPEG) da tutti i file JPEG nella directory
-corrente:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creare un file non compresso da tutti i file PNG nella directory corrente:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><para>
-La larghezza deve essere un intero multipli di 4, è una limitazione del
-formato grezzo RAW RGB AVI.
-</para></note>
-
-<informalexample>
-<para>
-Creare un file Motion PNG (MPNG) da tutti i file PNG nella directory corrente:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creare un file Motion TGA (MTGA) da tutti i file TGA nella directory corrente:
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-extractsub">
-<title>Estrarre sottotitoli DVD in un file VOBsub</title>
-
-<para>
-<application>MEncoder</application> è in grado di estrarre i sottotitoli da un
-DVD in file formattati VOBsub. Essi sono composti da una coppia di file che
-terminano in <filename>.idx</filename> e <filename>.sub</filename> e sono
-solitamente compressi in un singolo archivio <filename>.rar</filename>.
-<application>MPlayer</application> può riprodurli con le opzioni
-<option>-vobsub</option> e <option>-vobsubid</option>.
-</para>
-
-<para>
-Specifica il nome di base (per es. senza l'estensione <filename>.idx</filename>
-o <filename>.sub</filename>) del file di uscita con <option>-vobsubout</option>
-e l'indice per questo sottotitolo nel file risultante con
-<option>-vobsuboutindex</option>.
-</para>
-
-<para>
-Se i dati in entrata non arrivano da un DVD usa <option>-ifo</option> per
-indicare il file <filename>.ifo</filename> che serve per costruire il
-risultante file <filename>.idx</filename>.
-</para>
-
-<para>
-Se i dati in entrata non arrivano da un DVD e non hai il file
-<filename>.ifo</filename> dovrai usare l'opzione <option>-vobsubid</option> per
-impostare l'id della lingua da scrivere nel file <filename>.idx</filename>.
-</para>
-
-<para>
-Se esistono già i file <filename>.idx</filename> e <filename>.sub</filename>
-ogni esecuzione aggiungerà il sottotitolo selezionato. Perciò dovresti
-cancellarli prima di iniziare.
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>Copiare due sottotitoli da un DVD durante la codifica in due passaggi</title>
-<screen>
-rm <replaceable>sottotitoli.idx</replaceable> <replaceable>sottotitoli.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>sottotitoli</replaceable> -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>sottotitoli</replaceable> -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>Copiare i sottotitoli francesi da un file MPEG</title>
-<screen>
-rm <replaceable>sottotitoli.idx</replaceable> <replaceable>sottotitoli.sub</replaceable>
-mencoder <replaceable>film.mpg</replaceable> -ifo <replaceable>film.ifo</replaceable> -vobsubout <replaceable>sottotitoli</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
-</screen>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="aspect">
-<title>Preservare il rapporto di aspetto</title>
-
-<para>
-I file dei DVD e dei VCD (per es. MPEG-1/2) contengono un valore del rapporto
-d'aspetto che instruisce il riproduttore su come ridimensionare il flusso video,
-così gli umani non avranno teste a uovo (es.: 480x480 + 4:3 = 640x480).
-Tuttavia, codificando in file AVI (DivX), devi fare attenzione che
-l'intestazione AVI non salva questo valore. Ridimensionare il film è disgustoso
-e una perdita di tempo, ci deve essere un modo migliore!
-</para>
-
-<para>C'è</para>
-
-<para>
-MPEG-4 ha un caratteristica unica: il flusso video può contenere il rapporto
-di aspetto che serve. Sì, proprio come i MPEG-1/2 (DVD, SVCD) e H.263.
-Tristemente, ci sono pochi riproduttori oltre ad
-<application>MPlayer</application> che gestiscono questo attributo MPEG-4.
-</para>
-
-<para>
-Questa caratteristica può essere usata solo con il codec
-<systemitem>mpeg4</systemitem> di
-<systemitem class="library">libavcodec</systemitem>.
-Ricorda: anche se <application>MPlayer</application> riprodurrà correttamente
-il file generato, altri riproduttori potrebbero usare il rapporto di aspetto
-sbagliato.
-</para>
-
-<para>
-Devi assolutamente tagliare le bande nere sopra e sotto all'immagine del film.
-Vedi la pagina man per l'utilizzo dei filtri <systemitem>cropdetect</systemitem>
-e <systemitem>crop</systemitem>.
-</para>
-
-<para>
-Uso
-<screen>mencoder <replaceable>svcd-di-esempio.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>output.avi</replaceable></screen>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/it/ports.xml b/DOCS/xml/it/ports.xml
deleted file mode 120000
index 59b479c..0000000
--- a/DOCS/xml/it/ports.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/ports.xml
\ No newline at end of file
diff --git a/DOCS/xml/it/skin.xml b/DOCS/xml/it/skin.xml
deleted file mode 120000
index 3895b64..0000000
--- a/DOCS/xml/it/skin.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/skin.xml
\ No newline at end of file
diff --git a/DOCS/xml/it/usage.xml b/DOCS/xml/it/usage.xml
deleted file mode 100644
index 88c57d2..0000000
--- a/DOCS/xml/it/usage.xml
+++ /dev/null
@@ -1,1818 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r25146 -->
-<chapter id="usage">
-<title>Utilizzo</title>
-
-<sect1 id="commandline">
-<title>Riga comando</title>
-
-<para>
-<application>MPlayer</application> usa una sequenza di riproduzione complessa.
-Le opzioni passate sulla riga comando possono venir applicate a tutti i
-file/URL o solo ad alcuni, a seconda della loro posizione. Per esempio
-<screen>mplayer -vfm ffmpeg movie1.avi movie2.avi</screen>
-userà i decodificatori FFmpeg per ambedue i file, mentre
-<screen>
-mplayer -vfm ffmpeg <replaceable>movie1.avi</replaceable> <replaceable>movie2.avi</replaceable> -vfm dmo
-</screen>
-riprodurrà il secondo file con un decodificatore DMO.
-</para>
-
-<para>
-Puoi raggruppare file/URL insieme usando <literal>{</literal> e
-<literal>}</literal>. Torna utile con l'opzione <option>-loop</option>:
-<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
-Il comando precedente riprodurrà i file in quest'ordine:
-1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-Riprodurre un file:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opzioni</replaceable>]<!--
---> [<replaceable>percorso</replaceable>/]<replaceable>nomefile</replaceable>
-</synopsis>
-</para>
-
-<para>
-Un altro modo di riprodurre un file:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opzioni</replaceable>]<!--
---> <replaceable>file:///uri-escaped-path</replaceable>
-</synopsis>
-</para>
-
-<para>
-Riprodurre più file:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opzioni di default</replaceable>]<!--
---> [<replaceable>percorso</replaceable>/]<replaceable>nomefile1</replaceable><!--
---> [<replaceable>opzioni per nomefile1</replaceable>]<!--
---> <replaceable>nomefile2</replaceable><!--
---> [<replaceable>opzioni per nomefile2</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-Riprodurre VCD:
-<synopsis>
-<command>mplayer</command> [<replaceable>opzioni</replaceable>]<!--
---> vcd://<replaceable>numerotraccia</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Riprodurre DVD:
-<synopsis>
-<command>mplayer</command> [<replaceable>opzioni</replaceable>]<!--
---> dvd://<replaceable>numerotitolo</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Riprodurre da WWW:
-<synopsis>
-<command>mplayer</command> [<replaceable>opzioni</replaceable>]<!--
---> http://<replaceable>sito.com/file.asf</replaceable>
-</synopsis>
-(possono venir usate anche le playlist)
-</para>
-
-<para>
-Riprodurre da RTSP:
-<synopsis>
-<command>mplayer</command> [<replaceable>opzioni</replaceable>]<!--
---> rtsp://<replaceable>server.di.esempio.com/nomeFlusso</replaceable>
-</synopsis>
-</para>
-
-<para>
-Esempi:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="subosd">
-<title>Sottotitoli e OSD</title>
-
-<para>
-<application>MPlayer</application> può visualizzare sottotitoli insieme con i
-file video.
-Attualmente sono supportati i seguenti formati:
-<itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption)</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para>
- <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink>
- </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> può fare il dump dei suddetti formati di
-sottotitoli (<emphasis role="bold">tranne i primi tre</emphasis>) nei formati
-di destinazione seguenti, con le rispettive opzioni:
-<itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MEncoder</application> può fare il dump dei sottotitoli DVD nel
-formato <link linkend="menc-feat-extractsub">VOBsub</link>.
-</para>
-
-<para>
-Le opzioni da riga comando sono leggermente differenti per i diversi formati:
-</para>
-
-<formalpara>
-<title>Sottotitoli VOBsub</title>
-<para>
-I sottotitoli VOBsub consistono in un grande (qualche megabyte) file
-<filename>.SUB</filename>, e un file <filename>.IDX</filename> e/o
-<filename>.IFO</filename> facoltativi. Se hai dei file tipo
-<filename><replaceable>esempio.sub</replaceable></filename>,
-<filename><replaceable>esempio.ifo</replaceable></filename> (facoltativo),
-<filename><replaceable>esempio.idx</replaceable></filename> - devi passare a
-<application>MPlayer</application> le opzioni <option>-vobsub esempio
-[-vobsubid <replaceable>id</replaceable>]</option>
-(il percorso completo è facoltativo). L'opzione <option>-vobsubid</option> è
-come <option>-sid</option> per i DVD, con essa puoi scegliere tra le tracce
-(lingue) dei sottotitoli. Nel caso in cui <option>-vobsubid</option> sia omessa,
-<application>MPlayer</application> cercherà di utilizzare la lingua
-fornita dall'opzione <option>-slang</option> e ricadrà sul
-<systemitem>langidx</systemitem> nel file <filename>.IDX</filename> per
-impostare la lingua dei sottotitoli. Se fallisce, non ci saranno sottotitoli.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Altri sottotitoli</title>
-<para>
-Gli altri formati consistono in un file di testo singolo contenente tempo,
-posizionamento e informazioni di testo. Utilizzo: se hai un file tipo
-<filename><replaceable>esempio.txt</replaceable></filename>, devi passare
-l'opzione <option>-sub <replaceable>esempio.txt</replaceable></option>
-(il percorso completo è facoltativo).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Regolazione tempi e posizionamento dei sottotitoli:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>sec</replaceable></option></term>
- <listitem><para>
- Differisce i sottotitoli di <option><replaceable>sec</replaceable></option>
- secondi.
- Può essere un valore negativo. Il valore viene aggiunto al contatore
- della posizione nel filmato.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>FREQUENZA</replaceable></option></term>
- <listitem><para>
- Specifica la frequenza fotogrammi/secondo del file sottotitoli
- (valore decimale).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- Specifica la posizione dei sottotitoli.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Se subisci un ritardo crescente tra il filmato e i sottotitoli quando usi un
-file sottotitoli MicroDVD, molto facilmente la frequenza del filmato e del file
-dei sottotitoli sono diverse. Per favore nota che il formato sottotitoli
-MicroDVD usa numeri assoluti di fotogrammi per la sua temporizzazione, ma non
-vi è alcuna informazione sugli fps, per cui con tale formato bisognerebbe
-usare l'opzione <option>-subfps</option>. Se vuoi risolvere questo problema
-permanentemente, devi convertire manualmente la frequenza fotogrammi del file
-dei sottotitoli.
-<application>MPlayer</application> può fare questa conversione per te:
-
-<screen>
-mplayer -dumpmicrodvdsub -fps <replaceable>fps_sottotitoli</replaceable> -subfps <replaceable>fps_avi</replaceable> \
- -sub <replaceable>nomefile_sottotitoli</replaceable> <replaceable>dummy.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Riguardo i sottotitoli DVD, leggi la sezione <link linkend="dvd">DVD</link>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="control">
-<title>Controlli</title>
-
-<para>
-<application>MPlayer</application> ha un livello di controllo completamente
-configurabile, guidato da comandi, che ti lascia controllare
-<application>MPlayer</application> con la tastiera, il mouse, un joystick o
-un telecomando (usando LIRC). Vedi la pagina man per la lista completa dei
-controlli da tastiera.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="ctrl-cfg">
-<title>Configurazione controlli</title>
-
-<para>
-<application>MPlayer</application> ti permette di collegare un qualsiasi
-tasto/bottone ad un qualsiasi comando di <application>MPlayer</application>
-usando un semplice file di configurazione.
-La sintassi consiste di un valore chiave seguito da un comando. Il percorso del
-file di configurazione di default è
-<filename>$HOME/.mplayer/input.conf</filename>, ma può essere reimpostato
-usando l'opzione <option>-input <replaceable>conf</replaceable></option>
-(i percorsi sono relativi a <filename>$HOME/.mplayer</filename>).
-</para>
-
-<para>
-Puoi ottenere una lista completa dei valori chiave supportati eseguendo
-<command>mplayer -input keylist</command>
-e una lista completa dei comandi disponibili eseguendo
-<command>mplayer -input cmdlist</command>.
-</para>
-
-<example id="input_control_file">
-<title>Un semplice file di controllo dell'input</title>
-<programlisting>
-##
-## MPlayer input control file
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="lirc">
-<title>Controllo da LIRC</title>
-
-<para>
-Linux Infrared Remote Control - usa un ricevitore IR facile da costruire in
-casa, un (quasi) qualsiasi telecomando e con esso puoi controllare la tua
-macchina Linux!
-Più informazioni su di esso sulla
-<ulink url="http://www.lirc.org">homepage di LIRC</ulink>.
-</para>
-
-<para>
-Se hai il pacchetto LIRC installato, <filename>configure</filename> lo
-rileverà . Se tutto è andato bene, <application>MPlayer</application>
-scriverà "<systemitem>Configurazione del supporto per LIRC...</systemitem>"
-(o "<systemitem>Setting up LIRC support...</systemitem>") all'avvio. Se ci
-sarà un errore, te lo dirà . Se non c'è messaggio alcuno circa LIRC,
-non vi è il supporto compilato. Tutto qua :-)
-</para>
-
-<para>
-Il nome dell'applicazione per <application>MPlayer</application> è
-- sorpresa - <filename>mplayer</filename>.
-Puoi usare qualsiasi comando di <application>MPlayer</application> e anche
-passare più di un comando separandoli con <literal>\n</literal>.
-Non dimenticarti di abilitare l'opzione repeat in <filename>.lircrc</filename>
-quando ciò abbia senso (ricerca, volume, etc). Qui c'è un estratto di un
-<filename>.lircrc</filename> di esempio:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-Se non ti piace il percorso standard del file di configurazione di lirc
-(<filename>~/.lircrc</filename>) usa l'opzione <option>-lircconf
-<replaceable>nomefile</replaceable></option> per indicare un altro file.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="slave-mode">
-<title>Modalità slave</title>
-
-<para>
-La modalità slave ti permette di costruire semplici frontend per
-<application>MPlayer</application>. Se eseguito con l'opzione
-<option>-slave</option> <application>MPlayer</application> leggerà comandi
-separati da un acapo (\n) dalllo standard input (stdin).
-I comandi sono documentati nel file
-<ulink url="../../tech/slave.txt">slave.txt</ulink>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="streaming">
-<title>Riproduzione (streaming) da rete o da pipe</title>
-
-<para>
-<application>MPlayer</application> può riprodurre file dalla rete, usando
-i protocolli HTTP, FTP, MMS o RTSP/RTP.
-</para>
-
-<para>
-La riproduzione funziona semplicemente passando l'URL sulla riga comando.
-<application>MPlayer</application> onora la variabile d'ambiente
-<envar>http_proxy</envar>, usando un proxy quando disponibile.
-Si può anche forzare l'uso di un proxy:
-<screen>
-mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable>
-</screen>
-</para>
-
-<para>
-<application>MPlayer</application> può leggere dallo standard input
-(<emphasis>non</emphasis> named pipes). Ciò può essere usato per riprodurre
-via FTP:
-<screen>
-wget <replaceable>ftp://micorsops.com/qualcosa.avi</replaceable> -O - | mplayer -
-</screen>
-</para>
-
-<note><para>
-Si raccomanda inoltre di abilitare <option>-cache</option> riproducendo da rete:
-<screen>
-wget <replaceable>ftp://micorsops.com/qualcosa.avi</replaceable> -O - | mplayer -cache 8192 -
-</screen>
-</para></note>
-
-<!-- ********** -->
-
-<sect2 id="streaming-save">
-<title>Salvare il contenuto in streaming</title>
-
-<para>
-Una volte che riesci nel far riprodurre a <application>MPlayer</application>
-il tuo flusso internet preferito, puoi usare l'opzione
-<option>-dumpstream</option> per salvare il flusso in un file.
-Per esempio:
-<screen>
-mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable>
-</screen>
-salverà il contenuto riprodotto da
-<replaceable>http://217.71.208.37:8006</replaceable> dentro a
-<replaceable>stream.asf</replaceable>.
-Ciò funziona con tutti i protocolli supportati da
-<application>MPlayer</application>, come MMS, RSTP, e così via.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="drives">
-<title>Lettori CD/DVD</title>
-
-<para>
-I lettori CD-ROM recenti possono raggiungere velocità molto alte, ma molti
-lettori sono capaci di girare a velocità ridotte. Ci sono diversi motivi che
-possono farti pensare di cambiare la velocità di un'unità CD-ROM:
-</para>
-
-<itemizedlist>
-<listitem><para>
- Ci sono state notifiche di errori di lettura ad alte velocità , specialmente
- con CD-ROM malamente pressati. Ridurre la velocità può prevenire la
- perdita di dati in queste circostanze.
-</para></listitem>
-
-<listitem><para>
- Molti lettori CD-ROM sono fastidiosamente rumorosi, una minor velocitÃ
- può ridurre il rumore.
-</para></listitem>
-</itemizedlist>
-
-<!-- ********** -->
-
-<sect2 id="drives_linux">
-<title>Linux</title>
-
-<para>
-Puoi diminuire la velocità delle unità CD-ROM IDE con
-<command>hdparm</command>, <command>setcd</command> o <command>cdctl</command>.
-Funziona così:
-<screen>hdparm -E <replaceable>[velocità ]</replaceable> <replaceable>[dispositivo cdrom]</replaceable></screen>
-<screen>setcd -x <replaceable>[velocità ]</replaceable> <replaceable>[dispositivo cdrom]</replaceable></screen>
-<screen>cdctl -bS <replaceable>[velocità ]</replaceable></screen>
-</para>
-
-<para>
-Se stai usando l'emulazione SCSI, puoi dover applicare le impostazioni al
-lettore IDE reale, e non al dispositivo emulato come SCSI.
-</para>
-
-<para>
-Se hai i privilegi di root può essere di aiuto anche il comando seguente:
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[dispositivo cdrom]</replaceable>/settings</screen>
-</para>
-
-<para>
-<screen>hdparm -d1 -a8 -u1 <replaceable>[dispositivo cdrom]</replaceable></screen>
-Ciò imposta la lettura in prefetch dei file a 2MB, che aiuta con CD-ROM
-graffiati. Se la imposti troppo alta, il lettore continuerà ad aumentare e
-diminuire la velocità , e le prestazioni diminuiranno drasticamente.
-Si raccomanda di regolare il tuo lettore CD-ROM anche con
-<command>hdparm</command>:
-<screen>hdparm -d1 -a8 -u1 <replaceable>[dispositivo cdrom]</replaceable></screen>
-</para>
-
-<para>
-Questo abilita l'accesso in DMA, la pre-lettura, e la mascheratura IRQ (leggi
-la pagina man di <command>hdparm</command> per una spiegazione dettagliata).
-</para>
-
-<para>
-Per favore fai riferimento a
-"<filename>/proc/ide/<replaceable>[dispositivo cdrom]</replaceable>/settings</filename>"
-per regolare con precisione il tuo CD-ROM.
-</para>
-
-<para>
-I lettori SCSI non hanno un modo uniforme di impostare questi parametri (ne
-conosci uno? diccelo!). C'è uno strumento che funziona con i
-<ulink url="http://das.ist.org/~georg/">lettori SCSI Plextor</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="drives_freebsd">
-<title>FreeBSD</title>
-
-<para>velocità :
-<screen>
-cdcontrol [-f <replaceable>dispositivo</replaceable>] speed <replaceable>[velocità ]</replaceable>
-</screen>
-</para>
-
-<para>DMA:
-<screen>
-sysctl hw.ata.atapi_dma=1
-</screen>
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="dvd">
-<title>Riproduzione DVD</title>
-
-<para>
-Per una lista completa delle opzioni disponibili per favore leggi la pagina man.
-La sintassi per riprodurre un DVD normale è la seguente:
-<screen>
-mplayer dvd://<replaceable><traccia></replaceable> [-dvd-device <replaceable><dispositivo></replaceable>]
-</screen>
-</para>
-
-<para>
-Esempio:
-<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-Se hai compilato <application>MPlayer</application> con il supporto per dvdnav,
-la sintassi è la stessa, tranne che devi usare dvdnav:// invece di dvd://.
-</para>
-
-<para>
-Il dispositivo DVD di default è <filename>/dev/dvd</filename>. Se la tua
-impostazione è diversa, crea un collegamento simbolico o indica il dispositivo
-giusto dalla riga comando con l'opzione <option>-dvd-device</option>.
-</para>
-
-<para>
-<application>MPlayer</application> usa <systemitem>libdvdread</systemitem> e
-<systemitem>libdvdcss</systemitem> per la riproduzione e la decrittazione dei
-DVD. Queste due librerie sono contenute nei sorgenti di
-<application>MPlayer</application>, non hai bisogno di installarle
-separatamente. Puoi anche usare le controparti di sistema delle due librerie,
-ma questa non è la soluzione raccomandata, in quanto può portare a bachi,
-incompatibilità di librerie e minor velocità .
-</para>
-
-<note><para>
-Nel caso di problemi di decodifica di DVD, prova a disabilitare il supermount,
-o qualsiasi altra utilità . Alcuni lettori RPC-2 possono anche aver bisogno di
-avere il codice di zona impostato.
-</para></note>
-
-<formalpara>
-<title>Decrittazione DVD</title>
-<para>
-La decrittazione dei DVD viene fatta da <systemitem>libdvdcss</systemitem>. La
-modalità può esser specificata attraverso la variabile d'ambiente
-<envar>DVDCSS_METHOD</envar>, vedi la pagina di manuale per i dettagli.
-</para>
-</formalpara>
-
-<!-- ********** -->
-
-<sect2 id="region_code">
-<title>Codici regionali</title>
-<para>
-I lettori DVD al giorno d'oggi sono venduti con una costrizione senza senso
-chiamata <ulink url="http://it.wikipedia.org/wiki/DVD-Video#Codici_regionali">codice regionale</ulink>
-(<ulink url="http://en.wikipedia.org/wiki/DVD_region_code">in inglese</ulink>).
-Questa è una strategia per forzare i lettori DVD ad accettare solamente DVD
-prodotti per una delle sei diverse regioni in cui è stato diviso il mondo.
-Come un gruppo di persone possano sedersi attorno ad un tavolo, partorire
-un'idea del genere ed aspettarsi che il mondo del 21° secolo si pieghi ai loro
-voleri, è aldilà di ogni comprensione.
-</para>
-
-<para>
-I lettori che forzano l'impostazione regionale solo via software sono anche
-conosciuti come lettori RPC-1, quelli che lo gestiscono via hardware come RPC-2.
-I lettori RPC-2 permettono la modifica della regione per cinque volte, prima
-che resti bloccata.
-Sotto Linux puoi usare lo strumento
-<ulink url="http://linvdr.org/projects/regionset/">regionset</ulink> per
-per impostare il codice regionale del tuo lettore DVD.
-</para>
-
-<para>
-Grazie al cielo, è possibile convertire lettori RPC-2 in lettori RPC-1
-attraverso un aggiornamento del firmware. Inserisci il modello del tuo lettore
-DVD nel tuo motore di ricerca preferito oppure dai un'occhiata ai forum e alle
-sezioni di download di
-<ulink url="http://www.rpc1.org/">"The firmware page"</ulink>.
-Anche se si devono applicare le solite precauzioni per l'aggiornamento del
-firmware, le esperienze relative alla rimozione della forzatura del codice
-regionale sono generalmente positive.
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="vcd">
-<title>Riproduzione VCD</title>
-
-<para>
-Per una lista completa delle opzioni disponibili per favore leggi la pagina man.
-La sintassi per riprodurre un Video CD (VCD) normale è la seguente:
-<screen>mplayer vcd://<replaceable><traccia></replaceable> [-cdrom-device <replaceable><dispositivo></replaceable>]</screen>
-Esempio:
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-Il dispositivo VCD di default è <filename>/dev/cdrom</filename>. Se la tua
-impostazione è diversa, crea un collegamento simbolico o indica il dispositivo
-giusto dalla riga comando con l'opzione <option>-cdrom-device</option>.
-</para>
-
-<note><para>
-Perlomeno i lettori CD-ROM Plextor e alcuni Toshiba SCSI hanno prestazioni
-orribili leggendo i VCD. Questo perché l'<systemitem>ioctl</systemitem>
-CDROMREADRAW non è implementata appieno per questi lettori. Se hai una qualche
-conoscenza della programmazione SCSI, per favore
-<ulink url="../../tech/patches.txt">aiutaci</ulink> ad implementare un supporto
-SCSI generico per i VCD.
-</para></note>
-
-<para>
-Nel frattempo puoi estrarre i dati dal VCD con
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-e riprodurre con <application>MPlayer</application> il file così ricavato.
-</para>
-
-<formalpara>
-<title>Struttura VCD</title>
-<para>
-Un Video CD (VCD) è fatto di settori CD-ROM XA, per es. tracce CD-ROM mode 2
-form 1 e 2:
-<itemizedlist>
-<listitem><para>
- La prima traccia è in formato mode 2 form 2 il che significa che usa una
- correzione errori L2. La traccia contiene un filesystem ISO-9660 con 2048
- byte/settore. Il filesystem contiene delle informazioni metadati VCD, così
- come fermi-immagine spesso usati nei menu. I segmenti MPEG per i menu possono
- anche essere salvati nella prima traccia, ma gli MPEG devono essere
- spezzettati in una serie di blocchi di 150 settori. Il filesystem ISO-9660
- può contenere altri file o programmi che non sono essenziali per le
- operazioni VCD.
-</para></listitem>
-
-<listitem><para>
- Le seconde e restanti tracce spesso sono tracce MPEG (filmato) di basso
- livello di 2324 byte/settore, contenenti un pacchetto dati MPEG PS per
- settore. Queste sono in formato mode 2 form 1, così da poter archiviare più
- dati per settore con la perdita di qualche correzione di errore. E' anche
- valido avere tracce CD-DA in un VCD dopo la prima traccia.
- In alcuni sistemi operativi c'è qualche trucchetto che fa apparire queste
- tracce non ISO-9660 in un filesystem. In altri sistemi operativi come
- GNU/Linux non è (ancora) così. Qui i dati MPEG
- <emphasis role="bold">non possono venir montati</emphasis>. Siccome molti
- film sono dentro questo tipo di tracce, dovresti provare prima
- <option>vcd://2</option>.
-</para></listitem>
-
-<listitem><para>
- Ci sono dischi VCD senza la prima traccia (traccia singola e proprio nessun
- filesystem). Essi sono comunque riproducibili, ma non possono essere montati.
-</para></listitem>
-
-<listitem><para>
- La definizione dello standard VCD viene chiamato il "White Book" Philips, e
- non è disponibile on-line visto che deve essere acquistato da Philips.
- Informazioni più dettagliate sui Video CD si possono trovare nella
- <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">documentazione di vcdimager</ulink>.
-</para></listitem>
-</itemizedlist>
-</para>
-</formalpara>
-
-<formalpara>
-<title>Riguardo i file .DAT</title>
-<para>
-Il file .DAT da ~600MB visibile sulla prima traccia del filsystem VCD montato
-non è un vero file! Viene anche detto "ISO gateway", creato per permettere a
-Windows di gestire tali tracce (Windows non permette alle applicazioni alcun
-accesso di basso livello ai dispositivi). Sotto Linux non puoi copiare o
-riprodurre questi file (contengono spazzatura). Sotto Windows è possibile
-che il driver iso9660 emuli la lettura a basso livello delle tracce nel file.
-Per riprodurre un file .DAT ti serve il driver per il kernel che si può
-trovare nella versione per Linux di PowerDVD. Esso ha un driver modificato per
-il filesystem iso9660 (<filename>vcdfs/isofs-2.4.X.o</filename>), che è in
-grado di emulare le tracce di basso livello attraverso quel file fantasma .DAT.
-Se monti il disco usando il loro driver, puoi poi copiare e anche riprodurre i
-file .DAT con <application>MPlayer</application>. Ma non funzionerà col driver
-iso9660 standard del kernel Linux! Usa invece <option>vcd://</option>.
-Alternative per copiare i VCD sono il nuovo driver del kernel
-<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (non incluso
-nel kernel ufficiale), che mostra le sessioni dei CD come file immagine, e
-<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, un'applicazione per
-copiare/fare il dump di CD bit-per-bit.
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
-<title>Edit Decision Lists (EDL) (liste di decisione di modifica)</title>
-
-<para>
-Il sistema della lista di decisione di modifica (EDL) ti permette di saltare
-o di silenziare automaticamente alcune parti dei video durante la riproduzione,
-basandosi su un file di configurazione EDL specifico per il filmato.
-</para>
-
-<para>
-Questo torna utile per colore che vogliono guardare un film in modalitÃ
-"amichevole per la famiglia". Puoi eliminare violenze, profanità ,
-Jar-Jar Binks... da un filmato, secondo i tuoi gusti personali. Oltre a
-ciò, ci sono altri utilizzi, come saltare automaticamente le pubblicità nei
-file video che guardi.
-</para>
-
-<para>
-Il formato del file EDL è piuttosto scarno. C'è un comando per ogni riga che
-indica cosa fare (saltare/silenziare) e quando farlo (usando la posizione in
-secondi).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="edl_using">
-<title>Usare un file EDL</title>
-
-<para>
-Includi l'opzione <option>-edl <nomefile></option> quando esegui
-<application>MPlayer</application>, con il nome del file EDL che vuoi sia
-applicato al video.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="edl_making">
-<title>Creare un file EDL</title>
-
-<para>
-Il formato corrente dei file EDL è:
-<programlisting>[secondi inizio] [secondi fine] [azione]</programlisting>
-Dove i secondi sono numeri decimali e l'azione è <literal>0</literal> per
-saltare o <literal>1</literal> per silenziare. Esempio:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-Questo farà saltare il video dal secondo 5.3 al secondo 7.1, poi lo
-silenzierà a 15 secondi, toglierà il muto a 16.7 e salterà dal secondo 420
-al 422. Queste azioni saranno eseguite quando il tempo della riproduzione
-raggiunge i tempi indicati nel file.
-</para>
-
-<para>
-Per creare un file EDL da cui partire, usa l'opzione <option>-edlout
-<nomefile></option>.
-Durante la riproduzione, premi semplicemente <keycap>i</keycap> per segnare
-l'inizio e la fine di un blocco di salto. Una voce corrispondente sarÃ
-scritta nel file per quella posizione. Puoi poi tornare indietro e rifinire
-il file EDL generato così come cambiare l'operazione di default, che è
-saltare il blocco indicato da ogni riga.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="advaudio" xreflabel="Advanced Audio">
-<title>Audio avanzato</title>
-
-<sect2 id="advaudio-surround">
-<title>Riproduzione Surround/Multicanale</title>
-
-<sect3 id="advaudio-surround-DVD">
-<title>DVD</title>
-
-<para>
-La maggior parte dei DVD e molti altri file includono audio in surround.
-<application>MPlayer</application> supporta la riproduzione in surround, ma non
-la abilita di default poiché gli equipaggiamenti audio stereo sono molto più
-diffusi. Per riprodurre un file che ha più di due canali audio usa
-<option>-channels</option>.
-Per esempio, per riprodurre un DVD con audio 5.1:
-<screen>mplayer dvd://1 -channels 6</screen>
-Nota che a dispetto del nome "5.1" ci sono attualmente 6 canali discreti.
-Se possiedi un equipaggiamento audio surround puoi mettere tranquillamente
-l'opzione <option>channels</option> nel tuo file di configurazione di
-<application>MPlayer</application> <filename>~/.mplayer/config</filename>.
-Per esempio, per avere una riproduzione quadrifonica di default, aggiungi la
-riga seguente:
-<programlisting>channels=4</programlisting>
-<application>MPlayer</application> riprodurrà l'audio in quattro canali quando
-tutti e quattro sono disponibili.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-stereoinfour">
-<title>Riprodurre file stereo su quattro altoparlanti</title>
-
-<para>
-<application>MPlayer</application> non duplica alcun canale di default, né lo
-fanno molti driver audio. Se vuoi farlo manualmente:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
-Vedi la sezione sul
-<link linkend="advaudio-channels-copying">copiare i canali</link> per una
-spiegazione.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-passthrough">
-<title>AC-3/DTS Passthrough</title>
-
-<para>
-I DVD solitamente hanno un audio surround codificato in formato AC-3
-(Dolby Digital) o DTS (Digital Theater System). Alcuni equipaggiamenti audio
-moderni sono capaci di decodificare internamente questi formati.
-<application>MPlayer</application> può esser configurato in modo da far
-passare i dati audio senza decodificarli. Ciò funzionerà solo se hai un
-connettore S/PDIF (Sony/Philips Digital Interface) sulla tua scheda audio.
-</para>
-
-<para>
-Se il tuo equipaggiamento audio può decodificare sua AC-3 che DTS, puoi
-tranquillamente abilitare il passthrough per ambi i formati. In caso contrario,
-abilita il passthrough solo per il formato che il tuo equipaggiamento supporta.
-</para>
-
-<itemizedlist>
-<title>Per abilitare il passthrough dalla riga comando:</title>
-<listitem><para>
- Per solo AC-3, usa <option>-ac hwac3</option>
-</para></listitem>
-<listitem><para>
- Per solo DTS, usa <option>-ac hwdts</option>
-</para></listitem>
-<listitem><para>
- Per AC-3 e DTS, usa <option>-afm hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Per abilitare il passthrough nel file di configurazione di
- <application>MPlayer</application>:</title>
-<listitem><para>
- Per solo AC-3, usa <option>ac=hwac3,</option>
-</para></listitem>
-<listitem><para>
- Per solo DTS, usa <option>ac=hwdts,</option>
-</para></listitem>
-<listitem><para>
- Per AC-3 e DTS, usa <option>afm=hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<para>
-Nota che c'è una virgola (",") alla fine di <option>ac=hwac3,</option> e
-<option>ac=hwdts,</option>. Ciò farà sì che
-<application>MPlayer</application> ricada sui codec che utilizza di solito
-quando riproduce un file che non ha audio AC-3 o DTS.
-Per <option>afm=hwac3</option> non serve una virgola;
-<application>MPlayer</application> gestirà comunque la situazione quando viene
-specificata una famiglia audio.
-</para>
-</sect3>
-
-
-<sect3 id="hwmpa-surround-passthrough">
-<title>MPEG audio Passthrough</title>
-
-<para>
-Le trasimissioni TV digitali (come DVB e ATSC) e alcuni DVD spesso hanno flussi
-audio MPEG (per esser precisi MP2).
-Alcuni decodificatori hardware come schede full DVB e adattatori DXR2 possono
-decodificare nativamente questo formato.
-<application>MPlayer</application> può esser configurato in modo da far
-passare i dati audio senza decodificarli.
-</para>
-
-<para>
-Per usare questo codec:
-<screen> mplayer -ac hwmpa </screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-matrix">
-<title>Matrix-encoded audio</title>
-
-<para>
-<emphasis>***DA FARE***</emphasis>
-</para>
-
-<para>
-Questa sezione deve ancora essere scritta e non può esser completata finché
-qualcuno non ci fornisca audio di esempio da testare. Se hai un qualche file
-con audio matrix-encoded, sai dove trovarne uno, oppure hai una qualche
-informazione che possa aiutare, per favore invia un messaggio alla mailing list
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>.
-Scrivi "[matrix-encoded audio]" nell'oggetto.
-
-</para>
-
-<para>
-Se nessun file o nessuna informazione arriverà , questa sezione sarà rimossa.
-</para>
-
-<para>
-Ottimi link:
-<itemizedlist>
-<listitem><para>
- <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-hrtf">
-<title>Emulazione del surround nelle cuffie</title>
-
-<para>
-<application>MPlayer</application> include un filtro HRTF (Head Related Transfer
-Function) basato su un
-<ulink url="http://sound.media.mit.edu/KEMAR.html">progetto MIT</ulink>
-in cui le misurazioni sono prese da microfoni montati su una finta testa umana.
-</para>
-
-<para>
-Anche se non è possibile imitare esattamente un sistema surround, il filtro
-HRTF di <application>MPlayer</application> fornisce un audio con maggior
-immersione nello spazio attraverso cuffie a due canali. Il solito missaggio
-semplicemente combina tutti i canali in due; invece combinando i canali,
-<option>hrtf</option> genera leggere eco, aumenta leggermente le separazioni
-stereo, e altera il volume di alcune frequenze. Se HRTF suoni meglio può
-dipendere dalla sorgente audio e da una questione di gusto personale, ma è
-sicuramente il caso di provarlo.
-</para>
-
-<para>
-Per riprodurre un DVD con HRTF:
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-</para>
-
-<para>
-<option>hrtf</option> lavora bene solo con 5 o 6 canali. Inoltre,
-<option>hrtf</option> richiede un audio a 48kHz. L'audio dei DVD è già a
-48kHz, ma se hai un file con una differente frequenza di campionamento rispetto
-a quella che vuoi riprodurre con <option>hrtf</option> devi ricampionarla:
-<screen>
-mplayer <replaceable>nomefile</replaceable> -channels 6 -af resample=48000,hrtf
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-troubleshooting">
-<title>Risoluzione problemi</title>
-
-<para>
-Se non senti nessuno suono uscire dai tuoi canali surround, controlla le
-impostazioni del tuo mixer con un programma apposito come
-<application>alsamixer</application>; le uscite audio sono spesso silenziate
-(mute) e il volume impostato a zero di default.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-channels">
-<title>Manipolazione dei canali</title>
-
-<sect3 id="advaudio-channels-general">
-<title>Informazioni generali</title>
-
-<para>
-Sfortunatamente, non c'è uno standard per come i canali siano ordinati.
-Gli ordinamenti sotto elencati sono quelli dell'AC-3 e sono abbastanza tipici;
-provali e vedi se la tua sorgente corrisponde. I canali sono numerati a partire
-dallo 0.
-
-<orderedlist spacing="compact">
-<title>mono</title>
- <listitem override="0"><para>centrale</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>stereo</title>
- <listitem override="0"><para>sinistro</para></listitem>
- <listitem><para>destro</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>quadrifonico</title>
- <listitem override="0"><para>sinistro frontale</para></listitem>
- <listitem><para>destro frontale</para></listitem>
- <listitem><para>sinistro posteriore</para></listitem>
- <listitem><para>destro posteriore</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 4.0</title>
- <listitem override="0"><para>sinistro frontale</para></listitem>
- <listitem><para>destro frontale</para></listitem>
- <listitem><para>centrale posteriore</para></listitem>
- <listitem><para>centrale frontale</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.0</title>
- <listitem override="0"><para>sinistro frontale</para></listitem>
- <listitem><para>destro frontale</para></listitem>
- <listitem><para>sinistro posteriore</para></listitem>
- <listitem><para>destrale posteriore</para></listitem>
- <listitem><para>centrale frontale</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.1</title>
- <listitem override="0"><para>sinistro frontale</para></listitem>
- <listitem><para>destro frontale</para></listitem>
- <listitem><para>sinistro posteriore</para></listitem>
- <listitem><para>destro posteriore</para></listitem>
- <listitem><para>centrale frontale</para></listitem>
- <listitem><para>subwoofer</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-L'opzione <option>-channels</option> viene usata per richiedere il numero di
-canali al decodificatore audio, Alcuni codec audio usano il numero di canali
-specificato per decidere se sottomiscelare la sorgente, se necessario.
-Nota che ciò non sempre influenza il numero dei canali di uscita. Per esempio,
-usando <option>-channels 4</option> per riprodurre un file stereo MP3 porterÃ
-comunque ad un'uscita a 2 canali, visto che il codec MP3 non genera i canali
-extra.
-</para>
-
-<para>
-Il filtro audio <option>channels</option> può essere usato per creare o
-rimuovere canali ed è utile per controllare il numero di canali passati alla
-scheda audio. Vedi le sezioni seguenti per ulteriori informazioni sulla
-manipolazione dei canali.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mono">
-<title>Riprodurre mono con due altoparlanti</title>
-
-<para>
-Il mono suona molto meglio quando riprodotto attraverso due altoparlanti -
-specialmente usando delle cuffie. I file audio che hanno veramente un canale
-sono riprodotti automaticamente attraverso due altoparlanti; sfortunatamente,
-molti file con suono in mono sono in verità codificati come stereo con un
-canale slienziato. Il modo più semplice e a prova di cretino per far sì
-che entrambi gli altoparlanti emettano lo stesso audio è il filtro
-<option>extrastereo</option>:
-<screen>mplayer <replaceable>nomefile</replaceable> -af extrastereo=0</screen>
-</para>
-
-<para>
-Ciò equilibra ambedue i canali, portando al risultato di entrambi i canali
-alla metà del volume di quello originario. La sezione seguente ha esempi di
-altri modi di far ciò senza una riduzione del volume, ma sono molto complessi
-e richiedono varie opzioni a seconda del canale che vuoi mantenere. Se davvero
-devi mantenere il volume, potrebbe essere più semplice sperimentare con il
-filtro <option>volume</option> e trovare il valore giusto. Per esempio:
-<screen>
-mplayer <replaceable>nomefile</replaceable> -af extrastereo=0,volume=5
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-copying">
-<title>Copiare/spostare i canali</title>
-
-<para>
-Il filtro <option>channels</option> può spostare alcuni o tutti i canali.
-Impostare tutte le sotto-opzioni per il filtro <option>channels</option> può
-essere complicato e richiede un pò di attenzione.
-
-<orderedlist spacing="compact">
-<listitem><para>
- Decidi quanti canali di uscita ti servono. Questa è la prima sotto-opzione.
-</para></listitem>
-<listitem><para>
- Conta quanti spostamenti di canali farai. Questa è la seconda sotto-opzione.
- Ciascun canale può venir spostato a vari canali diversi allo stesso tempo,
- ma tieni a mente che quando un canale viene spostato (anche verso una
- destinazione sola) il canale sorgente resterà vuoto finché un altro canale
- non verrà spostato su di esso. Per copiare un canale, mantenendo la sorgente
- intatta, sposta semplicemente il canale sia verso la destinazione che verso
- la sorgente. Per esempio:
- <programlisting>
-channel 2 --> channel 3
-channel 2 --> channel 2<!--
- --></programlisting>
-</para></listitem>
-<listitem><para>
- Scrivi le copiature di canali come paia di sotto-opzioni. Nota che il primo
- canale è 0, il secondo è 1, etc. L'ordine di queste sotto-opzioni non è
- importante a patto che esse siano correttamente raggruppate in coppie
- <replaceable>sorgente:destinazione</replaceable>.
-</para></listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Esempio: un canale in due altoparlanti</bridgehead>
-<para>
-Qui c'è un esempio di un altro modo di riprodurre un canali in entrambi gli
-altoparlanti. Per questo esempio supponi che il canale sinistro debba essere
-riprodotto e il canale destro scartato. Seguendo i passaggi suddetti:
-<orderedlist>
-<listitem><para>
- In modo da fornire un canale di uscita per ognuno dei due altoparlanti, la
- prima sotto-opzione deve essere "2".
-</para></listitem>
-<listitem><para>
- Il canale sinistro deve essere spostato al canale destro, e anche spostato
- su sé stesso cosicché non sia vuoto. Questo è un totale di due spostamenti,
- facendo sì che anche la seconda sotto-opzione sia "2".
-</para></listitem>
-<listitem><para>
- Per spostare il canale sinistro (canale 0) nel canale destro (canale 1), la
- coppia di sotto-opzioni è "0:1", e "0:0" sposta il canale sinistro su sé
- stesso.
-</para></listitem>
-</orderedlist>
-Mettendo tutto insieme si ottiene:
-<screen>
-mplayer <replaceable>nomefile</replaceable> -af channels=2:2:0:1:0:0
-</screen>
-</para>
-
-<para>
-Il vantaggio che ha questo esempio rispetto a <option>extrastereo</option> è
-che il volume di ciascun canale di uscita è lo stesso del canale di entrata.
-Lo svantaggio è che le sotto-opzioni diventano "2:2:1:0:1:1" quando il canale
-voluto è quello destro. Inoltre, è più difficile da ricordare e da scrivere.
-</para>
-
-<bridgehead>Esempio: canale sinistro in due altoparlanti - scorciatoia</bridgehead>
-<para>
-Veramente c'è un modo molto più facile di usare il filtro
-<option>channels</option> per riprodurre il canale sinistro in entrambi gli
-altoparlanti:
-<screen>mplayer <replaceable>nomefile</replaceable> -af channels=1</screen>
-Il secondo canale viene scartato, e, senza ulteriori sotto-opzioni, l'unico
-canale rimanente resta il solo. I driver della scheda audio automaticamente
-riproducono un singolo canale in ambedue gli altoparlanti. Ciò funziona sono
-quando il canale voluto è sulla sinistra.
-</para>
-
-<bridgehead>Esempio: duplicare i canali frontali sui posteriori</bridgehead>
-<para>
-Un'altra operazione comune è duplicare il canali frontali e riprodurli anche
-sugli altoparlanti posteriori in un'impostazione quadrifonica.
-<orderedlist>
-<listitem><para>
- Ci devono essere quattro canali di uscita. La prima sotto-opzione è "4".
-</para></listitem>
-<listitem><para>
- Ciascuno dei due canali frontali deve essere spostato sul corrispondente
- posteriore e anche su sé stesso. Quindi sono quattro spostamenti, indi la
- seconda sotto-opzione è "4".
-</para></listitem>
-<listitem><para>
- Il canale frontale sinistro (canale 0) deve essere spostato sul posteriore
- sinistro (canale 2): "0:2". Il sinistro frontale deve anche venir spostato su
- sé stesso: "0:0". Il canale frontale destro (canale 1) viene spostato sul
- posteriore destro (canale 3): "1:3", e anche su sé stesso: "1:1".
-</para></listitem>
-</orderedlist>
-Combina tutte le sotto-opzioni per ottenere:
-<screen>
-mplayer <replaceable>nomefile</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mixing">
-<title>Miscelare i canali</title>
-
-<para>
-Il filtro <option>pan</option> può miscelare i canali in proporzione
-specificate dall'utente. Questo permette di fare tutto quello che può fare
-il filtro <option>channels</option> e oltre. Sfortunatamente, le sotto-opzioni
-sono molto più complicate.
-<orderedlist>
-<listitem><para>
- Decidi con quanti canali lavorare. Puoi aver bisogno di indicare ciò con
- l'opzione <option>-channels</option> e/o <option>-af channels</option>.
- Gli esempi seguenti di mostreranno quando usare cosa.
-</para></listitem>
-<listitem><para>
- Decidi quanti canali passare a <option>pan</option> (i canali decodificati
- oltre questi vengono scartati). Questa è la prima sotto-opzione, e controlla
- anche quanti canali utilizzare in uscita.
-</para></listitem>
-<listitem>
- <para>
- Le restanti sotto-opzioni indicano quanto di ogni canale viene miscelato
- in ciascuno degli altri canali. Questa è la parte difficile. Per diminuire
- l'impresa, spezza le sotto-opzioni in diversi gruppi, un gruppo per ogni
- canale di uscita. Ogni sotto-opzione in un gruppo corrisponde ad un canale di
- ingresso. Il numero che specifichi sarà la percentuale del canale di
- ingresso che viene miscelata nel canale di uscita.
- </para>
- <para>
- <option>pan</option> accetta valori da 0 a 512, significando dallo 0% al
- 51200% del volume originale. Fai attenzione quando usi valori superiori a 1.
- Ciò non solo ti darà un volume più alto, ma se oltrepassi la scala di
- campionamento della tua scheda audio puoi sentire terribili pop e click.
- Se vuoi puoi far seguire <option>pan</option> da <option>,volume</option> per
- abilitare il clipping, ma è meglio tenere i valori di <option>pan</option>
- bassi abbastanza affinché il clipping non sia necessario.
- </para>
-</listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Esempio: un canale in due altoparlanti</bridgehead>
-<para>
-Qui c'è un altro esempio per riprodurre il canale sinistro in due altoparlanti.
-Segui i passaggi suddetti:
-<orderedlist>
-<listitem><para>
- <option>pan</option> deve uscire con due canali, indi la prima sotto-opzione
- è "2".
-</para></listitem>
-<listitem><para>
- Visto che abbiamo due canali di ingresso, ci saranno due gruppi di
- sotto-opzioni.
- Visto che ci sono anche due canali di uscita, ci saranno due sotto-opzioni
- per gruppo.
- Il canale sinistro dal file dovrà finire con volume pieno sui nuovi canali
- sinistro e destro.
- Così il primo gruppo di sotto-opzioni è "1:1".
- Il canale destro dovrebbe venir scartato, così il secondo sarà "0:0".
- Un qualsiasi valore di 0 alla fine può essere omesso, ma per facilità di
- comprensione li lasceremo lì.
-</para></listitem>
-</orderedlist>
-Mettendo insieme queste opzioni si ottiene:
-<screen>mplayer <replaceable>nomefile</replaceable> -af pan=2:1:1:0:0</screen>
-Se si vuole il canale destro invece del sinistro, le sotto-opzioni di
-<option>pan</option> saranno "2:0:0:1:1".
-</para>
-
-
-<bridgehead>Esempio: canale sinistro in due altoparlanti - scorciatoia</bridgehead>
-<para>
-Come con <option>channels</option>, c'è una scorciatoia che funziona solo col canale sinistro:
-<screen>mplayer <replaceable>nomefile</replaceable> -af pan=1:1</screen>
-Visto che <option>pan</option> ha solo un canale di ingresso (l'altro canale
-viene scartato), c'è un solo gruppo con una sola sotto-opzione, che specifica
-che quel solo canale ottenga il 100% di sé stesso.
-</para>
-
-<bridgehead>Esempio: sottomiscelare PCM a 6 canali</bridgehead>
-<para>
-Il decodificatore di <application>MPlayer</application> per PCM a 6 canali non
-è in grado di sottomiscelare. C'è un modo di sottomiscelare PCM usando
-<option>pan</option>:
-<orderedlist>
-<listitem><para>
- Il numero di canali di uscita è 2, indi la prima sotto-opzione è "2".
-</para></listitem>
-<listitem><para>
- Con sei canali di ingresso ci saranno sei gruppi di opzioni. Fortunatamente,
- visto che ci interessa solo l'uscita dei primi due canali, abbiamo solo
- bisogno di preparere due gruppi; i rimanenti quattro gruppi possono essere
- omessi. Attenzione che non tutti i file audio multicanale hanno lo stesso
- ordine dei canali! Questo esempio mostra il sottomissaggio di un file con gli
- stessi canali di AC-3 5.1:
- <programlisting>
-0 - frontale sinistro
-1 - frontale destro
-2 - posteriore sinistro
-3 - posteriore destro
-4 - frontale centrale
-5 - subwoofer<!--
- --></programlisting>
- Il primo gruppo di sotto-opzioni elenca le percentuali del volume originario,
- che, rispettivamente, ogni canale di uscita deve ricevere dal canale frontale
- sinistro: "1:0".
- Il canale frontale destro dovrà finire nell'uscita di destra: "0:1".
- Lo stesso vale per i canali posteriori: "1:0" e "0:1".
- Il canale centrale va su entrambi i canali con metà del volume:
- "0.5:0.5", e il subwoofer va in entrambi a volume pieno: "1:1".
-</para></listitem>
-</orderedlist>
-Metti tutto insieme, per avere:
-<screen>
-mplayer <replaceable>6-canali.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
-</screen>
-Le percentuali suddette sono solo un rozzo esempio. Sentiti libero di
-modificarle.
-</para>
-
-<bridgehead>Esempio: riprodurre audio 5.1 su grossi altoparlanti senza un subwoofer</bridgehead>
-<para>
-Se hai un paio di grossi altoparlanti puoi non voler sprecare dei soldi per
-compare un subwoofer per un sistema audio 5.1 completo. Se usi
-<option>-channels 5</option> per richiedere che liba52 decodifichi audio 5.1
-in 5.0, il canale del subwoofer viene semplicemente scartato. Se vuoi
-distribuire il canale del subwoofer per conto tuo devi sottomiscelarlo a mano
-con <option>pan</option>:
-<orderedlist>
-<listitem><para>
- Since <option>pan</option> needs to examine all six channels, specify
- <option>-channels 6</option> so liba52 decodes them all.
- Siccome pan ha bisogno di esaminare tutti e sei i canali, specifica
- -channels 6 così che liba52 li decodifichi tutti quanti.
-</para></listitem>
-<listitem><para>
- <option>pan</option> outputs to only five channels, the first suboption is 5.
- pan emette solo cinque canali, così la prima sotto-opzione è 5.
-</para></listitem>
-<listitem><para>
- Sei canali di ingresso e cinque di uscita significano sei gruppi di cinque
- sotto-opzioni.
- <itemizedlist spacing="compact">
- <listitem><para>
- Il canale sinistro frontale semplicemente si riproduce su sé stesso:
- "1:0:0:0:0"
- </para></listitem>
- <listitem><para>
- Lo stesso per il canale frontale destro:
- "0:1:0:0:0"
- </para></listitem>
- <listitem><para>
- Lo stesso per il canale posteriore sinistro:
- "0:0:1:0:0"
- </para></listitem>
- <listitem><para>
- E anche per il canale posteriore destro:
- "0:0:0:1:0"
- </para></listitem>
- <listitem><para>
- Anche quello centrale frontale:
- "0:0:0:0:1"
- </para></listitem>
- <listitem><para>
- E ora dobbiamo decidere cosa fare col subwoofer, per es. metà nel frontale
- destro e metà nel frontale sinistro:
- "0.5:0.5:0:0:0"
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-</orderedlist>
-Combina tutte queste opzioni per ottenere:
-<screen>
-mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-volume">
-<title>Regolazione volume via software</title>
-
-<para>
-Alcune tracce audio sono troppo silenziose per essere ascoltate bene senza
-amplificazione. Questo diventa un problema quando il tuo equipaggiamento non
-può amplificare il segnale per te. L'opzione <option>-softvol</option> indica
-a <application>MPlayer</application> di utilizzare un mixer interno. Puoi poi
-usare i tasti di regolazione volume (di default <keycap>9</keycap> e
-<keycap>0</keycap>) per raggiungere livelli di volume molto più alti. Nota che
-ciò non bypassa il mixer della tua scheda audio;
-<application>MPlayer</application> amplifica solo il segnale prima di inviarlo
-alla tua scheda audio. L'esempio che segue è un buon punto di partenza:
-<screen>
-mplayer <replaceable>file-silente</replaceable> -softvol -softvol-max 300
-</screen>
-L'opzione <option>-softvol-max</option> specifica il massimo volume permesso di
-uscita come una percentuale del volume originario. Per esempio,
-<option>-softvol-max 200</option> farà sì che il volume sia regolato fino a
-due volte il valore originale. E' sicuro indicare un valore alto con
-<option>-softvol-max</option>; il volume più alto non sarà usato fino a
-quando non userai i tasti di regolazione. L'unico svantaggio di un valore alto
-è che, dato che <application>MPlayer</application> regola il volume come una
-percentuale del massimo, non avrai un controllo così preciso usando i tasti
-di regolazione del volume. Usa un valore più basso con
-<option>-softvol-max</option> e/o specifica <option>-volstep 1</option> se ti
-serve maggior precisione.
-</para>
-
-<para>
-L'opzione <option>-softvol</option> funziona controllando il filtro audio
-<option>volume</option>. Se vuoi riprodurre un file a un dato volume sin
-dall'avvio puoi specificare <option>volume</option> manualmente:
-<screen>mplayer <replaceable>file-silente</replaceable> -af volume=10</screen>
-Questo riprodurrà il file con un guadagno di 10 decibel. Stai attento quando
-usi il filtro <option>volume</option> - puoi facilmente farti male alle
-orecchie se usi un valore troppo alto. Parti dal basso e sali gradualmente fino
-a quando capisci quanta regolazione è richiesta. Inoltre, se tu specifichi
-valori troppo alti, <option>volume</option> può aver bisogno di fare il clip
-del segnale per evitare di mandare alla tua scheda audio dati che siano fuori
-dalla gamma consentita; ciò risulterà in un audio distorto.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tv-input" xreflabel="TV input">
-<title>Ingresso TV</title>
-
-<para>
-Questa sezione tratta di come abilitare la <emphasis role="bold">
-visione/acquisizione da sintonizzatori TV compatibili V4L</emphasis>. Vedi la
-pagina man per una descrizione delle opzioni e i controlli da tastiera per la TV.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="tv-compilation">
-<title>Compilazione</title>
-
-<procedure>
-<step><para>
- Per prima cosa, devi ricompilare. <filename>./configure</filename> rileverÃ
- gli header del kernel per la roba v4l e l'esistenza delle voci
- <filename>/dev/video*</filename>. Se ciò esiste, il supporto TV verrÃ
- compilato (guarda l'emissione di <filename>./configure</filename>).
-</para></step>
-<step><para>
- Assicurati che il tuo sintonizzatore funzioni con altri software TV per
- Linux, per esempio <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-tips">
-<title>Consigli per l'uso</title>
-
-<para>
-La lista completa delle opzioni è disponibile nella pagina di manuale.
-Qui ci sono giusto alcuni consigli:
-
-<itemizedlist>
-<listitem><para>
- Usa l'opzione <option>channels</option>. Un esempio:
- <screen>-tv channels=26-MTV1,23-TV2</screen>
- Spiegazione: con questa opzione, solo i canali 26 e 23 saranno
- utilizzabili. Ci sarà un simpatico testo OSD quando cambi canale, mostrante
- il nome del canale stesso. Gli spazi nel nome di canale devono essere
- sostituiti con il carattere "_".
-</para></listitem>
-<listitem><para>
- Scegli una sana dimensione dell'immagine. Le dimensioni dell'immagine
- risultante dovrebbero essere divisibili per 16.
-</para></listitem>
-<listitem>
- <para>
- Se catturi il video con una risoluzione verticale maggiore di metà della
- risoluzione completa (per es. 288 per PAL o 240 per NTSC), allora i
- 'fotogrammi' che otterrai saranno reali coppie interlacciate di campi.
- A seconda di quello che vuoi fare con il video puoi lasciarle in questa forma,
- deinterlacciarle distruttivamente, oppure spezzare le coppie in campi singoli.
- </para>
- <para>
- In caso contrario otterrai un filmato che risulta distorto durante le scene
- ad alto movimento e il controllore della frequenza probabilmente sarÃ
- incapace di mantenere la frequenza specificata, visto che gli artefatti
- dell'interlacciamento producono un alto numero di dettagli e quindi occupano
- molta banda. Puoi abilitare il deinterlacciamento con
- <option>-vf pp=DEINT_TYPE</option>. Solitamente <option>pp=lb</option> fa un
- buon lavoro, ma può essere oggetto di preferenze personali.
- Vedi anche gli altri algoritmi di deinterlacciamento nel manuale e provali.
- </para>
-</listitem>
-<listitem><para>
- Taglia via le zone morte. Quando catturi video, le zone sui bordi spesso
- sono nere o contengono del disturbo. Questo consuma un sacco di banda non
- necessaria. Per essere precisi non sono le zone nere in sé, ma quel salto tra
- il nero e la parte chiara dell'immagine video che la sprecano, ma ciò non è
- importante per adesso. Prima di iniziare l'acquisizione, imposta gli
- argomenti dell'opzione <option>crop</option> affinché tutta la porcheria ai
- margini venga tagliata via. E ancora, non dimenticarti di mantenere 'sane'
- le dimensioni dell'immagine risultante.
-</para></listitem>
-<listitem><para>
- Controlla il carico della CPU. Non dovrebbe oltrepassare il 90% nella
- maggior parte del tempo. Se hai un grosso buffer di cattura,
- <application>MEncoder</application> può gestire un sovraccarico per pochi
- secondi, ma non di più. E' meglio disattivare screensaver 3D OpenGL e cose
- del genere.
-</para></listitem>
-<listitem><para>
- Non pacioccare con il clock di sistema. <application>MEncoder</application>
- usa il clock di sistema per gestire la sincronizzazione A/V. Se tu modifichi
- il clock di sistema (specialmente all'indietro nel tempo),
- <application>MEncoder</application> resta confuso e perderai dei
- fotogrammi. Questo è un fattore importante se sei collegato alla rete e usi
- un qualche software di sincronizzazione dell'ora come NTP. Dovresti
- disabilitare NTP durante il processo di acquisizione se vuoi che la cattura
- sia affidabile.
-</para></listitem>
-<listitem><para>
- Non modificare <option>outfmt</option> (il formato di uscita) a meno che tu
- non sappia cosa stia facendo oppure la tua scheda/il tuo driver non supportino
- davvero quello di default (spazio colore YV12). Nelle precedenti versioni di
- <application>MPlayer</application>/<application>MEncoder</application>
- era necessario indicare il formato di uscita. Questo problema dovrebbe
- esser stato risolto nelle versioni correnti e outfmt non è più richiesto,
- e quello di default va bene la maggior parte delle volte. Per esempio, se stai
- catturando in DivX con <systemitem class="library">libavcodec</systemitem> e
- specifichi <option>outfmt=RGB24</option> per aumentare la qualità delle
- immagini acquisite, l'immagine stessa verraà comunque convertita di nuovo
- in YV12, perciò l'unica cosa che otterrai sarà spreco di CPU.
-</para></listitem>
-<listitem><para>
- Ci sono vari modi per la cattura dell'audio. Puoi acquisire il suono sia
- usando la tua scheda audio attraverso una connessione via cavo esterna tra la
- scheda video e il line-in, sia usando l'ADC integrato nel chip bt878.
- Nell'ultimo caso, devi caricare il driver
- <emphasis role="bold">btaudio</emphasis>. Leggi il file
- <filename>linux/Documentation/sound/btaudio</filename> (nei sorgenti del
- kernel, non di <application>MPlayer</application>) per alcune istruzioni su
- come usare tale driver.
-</para></listitem>
-<listitem><para>
- Se <application>MEncoder</application> non può aprire il dispositivo audio,
- assicurati che sia veramente disponibile. Ci sono alcuni problemi con sound
- server come aRts (KDE) o ESD (GNOME). Se hai una scheda audio full duplex
- (quasi tutte le schede decenti lo supportano, ad oggi), e stai usando KDE,
- prova a controllare l'opzione "full duplex" nel menu preferenze del sound
- server.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-examples">
-<title>Esempi</title>
-
-<informalexample><para>
-Uscita fasulla, verso AAlib :)
-<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
-</para></informalexample>
-
-<informalexample><para>
-Ingresso da V4L standard:
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Un esempio più complesso. Questo fa sì che <application>MEncoder</application>
-catturi l'immagine PAL completa, tagli i margini, e deinterlacci l'immagine
-usando un algoritmo di sfumatura lineare. L'audio viene compresso con una
-frequenza costante di 64kbps, usando il codec LAME. Questa impostazione è
-utilizzabile per acquisire film.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -vf crop=720:544:24:16,pp=lb -o <replaceable>uscita.avi</replaceable> tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Questo in più ridimensionerà l'immagine a 384x288 e comprimerà il video
-con una frequenza di 350kbps in modalità ad alta qualità . L'opzione vqmax
-rilascia il quantizzatore e permette al compressore video di raggiungere
-davvero una così bassa frequenza anche a spese della qualità . Questo puÃ
-essere usato per acquisire lunghe serie TV, dove la qualità video non è
-così importante.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>uscita.avi</replaceable>\
- -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
-</screen>
-E' anche possibile specificare dimensioni immagine inferiori nell'opzione
-<option>-tv</option> e omettere il ridimensionamento software ma questo
-approccio usa la massima informazione disponibile ed è un po' più
-resiliente ai disturbi. I chip bt8x8 possono calcolare la media dei pixel solo
-sulla direzione orizzontale a causa di una limitazione hardware.
-</para></informalexample>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tv-teletext">
-<title>Televideo (teletext)</title>
-
-<para>
-Il televideo è attualmente disponibile solo in
-<application>MPlayer</application> per i driver v4l e v4l2.
-</para>
-
-<sect2 id="tv-teletext-implementation-notes">
-<title>Note sull'implementazione</title>
-
-<para>
-<application>MPlayer</application> gestisce il testo normale, la grafica e i
-collegamenti per la navigazione.
-Sfortunatamente, le pagine colorate non sono ancora decodificate completamente -
-tutte le pagine vengono mostrate in scala di grigi.
-Vengono gestite anche le pagine dei sottotitoli (conosciute anche come
-'Closed Captions').
-</para>
-
-<para>
-<application>MPlayer</application> inizia a memorizzare nella cache tutte le
-pagine di televideo sin dall'inizio della ricezione dall'ingresso TV, perciò
-non devi attendere fino a quando si carica la pagina voluta.
-</para>
-
-<para>
-Nota: usare il televideo con <option>-vo xv</option> genera strani colori.
-</para>
-</sect2>
-
-<sect2 id="tv-teletext-usage">
-<title>Usare il televideo</title>
-
-<para>
-Per abilitare la decodifica del televideo devi specificare il dispositivo VBI da
-cui ottenere i dati televideo (solitamente <filename>/dev/vbi0</filename> per
-Linux). Puoi fare ciò speificando <option>tdevice</option> nel tuo file di
-configurazione, come mostrato qui sotto:
-<screen>tv=tdevice=/dev/vbi0</screen>
-</para>
-
-<para>
-Potresti voler indicare il codice di lingua del televideo per la tua zona.
-Per elencare tutti i codici di zona disponibili usa
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
-Qui c'è un esempio per il russo:
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="radio">
-<title>Radio</title>
-
-<sect2 id="radio-input" xreflabel="Radio input">
-<title>Ingresso radio</title>
-
-<para>
-Questa sezione tratta di come abilitare l'ascolto della radio da un
-sintonizzatore compatibile V4L. Guarda la pagina man per una descrizione delle
-opzioni e dei controlli di tastiera per la radio.
-</para>
-
-<!-- ********** -->
-
-<sect3 id="radio-compilation">
-<title>Compilazione</title>
-
-<procedure>
-<step><para>
- Per prima cosa devi compilare <application>MPlayer</application> usando
- <filename>./configure</filename> con <option>--enable-radio</option> e
- (se vuoi il supporto per la cattura) <option>--enable-radio-capture</option>.
-</para></step>
-<step><para>
- Assicurati che il tuo sintonizzatore funzioni con altri software radio per
- Linux, per esempio <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-tips">
-<title>Consigli per l'uso</title>
-
-<para>
-La lista completa delle opzioni è disponibile nella pagina di manuale.
-Qui ci sono giusto alcuni consigli:
-
-<itemizedlist>
-<listitem><para>
- Usa l'opzione <option>channels</option>. Un esempio:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- Spiegazione: con questa opzione, solo le stazioni radio 104.4 e 103.9 saranno
- utilizzabili. Ci sarà un simpatico testo OSD quando cambi canale, mostrante
- il nome del canale stesso. Gli spazi nel nome di canale devono essere
- sostituiti con il carattere "_".
-</para></listitem>
-<listitem><para>
- Ci sono vari modi per catturare l'audio. Puoi catturare il suono sia usando
- la tua scheda video attraverso un cavo di connessione esterno tra la scheda
- video e la line-in, ovvero usare l'ADC integrato nel chip saa7134.
- Nell'ultimo caso, devi caricare il driver
- <systemitem>saa7134-alsa</systemitem> o <systemitem>saa7134-oss</systemitem>.
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application> non può essere utilizzato per la cattura
- audio, poiché per funzionare richiede un flusso video. Per cui puoi usare o
- <application>arecord</application> dal progetto ALSA oppure usare l'opzione
- <option>-ao pcm:file=file.wav</option>. Nell'ultimo caso non sentirai suono
- alcuno (a meno che tu non stia usando un cavo line-in e abbia tolto il mute
- dal line-in).
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-examples">
-<title>Esempi</title>
-
-<informalexample><para>
-Ingresso da V4L standard (usando un cavo su line-in, cattura disabilitata):
-<screen>mplayer radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-Ingresso da V4L standard (usando un cavo su line-in, cattura disabilitata,
-interfaccia V4Lv1):
-<screen>mplayer -radio driver=v4l radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-Riprodurre il secondo canale della lista canali:
-<screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
-</para></informalexample>
-
-<informalexample>
-<para>
-Ridirigere il suono dall'ADC integrato della scheda radio al bus PCI.
-In questo esempio il sintonizzatore viene usato come una seconda scheda audio
-(ALSA device hw:1,0). Per schede basate su saa7134 deve esser caricato il modulo
-<systemitem>saa7134-alsa</systemitem> o <systemitem>saa7134-oss</systemitem>.
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
- -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note>
-<para>
-Usando i nomi dispositivi ALSA, i due punti devono esser sostituiti con il
-segno di uguale, le virgole con punti.
-</para>
-</note>
-</para>
-</informalexample>
-</sect3>
-</sect2>
-
-</sect1>
-</chapter>
diff --git a/DOCS/xml/it/video.xml b/DOCS/xml/it/video.xml
deleted file mode 100644
index cf980b0..0000000
--- a/DOCS/xml/it/video.xml
+++ /dev/null
@@ -1,2722 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r27770 -->
-<chapter id="video">
-<title>Dispositivi di uscita video</title>
-
-<sect1 id="mtrr">
-<title>Impostare gli MTRR</title>
-
-<para>
-Si consiglia vivamente di controllare che i registri MTRR siano impostati
-correttamente, al fine di migliorare molto le prestazioni.
-</para>
-
-<para>
-Fai un <command>cat /proc/mtrr</command>:
-<screen>
-<prompt>--($:~)--</prompt> cat /proc/mtrr
-reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
-reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
---></screen>
-</para>
-
-<para>
-E' giusto, mostra la mia Matrox G400 con 16MB di memoria. L'ho fatto da
-XFree 4.x.x, che imposta i registri MTRR automaticamente.
-</para>
-
-<para>
-Se non ha funzionato, devi farlo a mano. Per prima cosa, devi trovare
-l'indirizzo di base. Hai 3 modi per trovarlo:
-
-<orderedlist>
-<listitem><para>
- dai messaggi di avvio di X11, per esempio:
- <screen>
-(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
-(--) SVGA: Linear framebuffer at 0xD8000000<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- da <filename>/proc/pci</filename> (usa il comando
- <command>lspci -v</command>):
- <screen>
-01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
-Memory at d8000000 (32-bit, prefetchable)<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- dai messaggi del driver del kernel mga_vid (usa <command>dmesg</command>):
- <screen>mga_mem_base = d8000000</screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Ora troviamo la dimensione della memoria. Questo è molto facile, converti
-semplicemente la video RAM in esadecimale, o usa questa tabella:
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
- <row><entry>1 MB</entry><entry>0x100000</entry></row>
- <row><entry>2 MB</entry><entry>0x200000</entry></row>
- <row><entry>4 MB</entry><entry>0x400000</entry></row>
- <row><entry>8 MB</entry><entry>0x800000</entry></row>
- <row><entry>16 MB</entry><entry>0x1000000</entry></row>
- <row><entry>32 MB</entry><entry>0x2000000</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Ora che sai l'indirizzo di base e la dimensione della memoria, impostiamo i
-registri MTRR!
-Per esempio, per la scheda Matrox suddetta (<literal>base=0xd8000000</literal>)
-con 32MB di ram (<literal>size=0x2000000</literal>) esegui semplicemente:
-<screen>
-echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr
-</screen>
-</para>
-
-<para>
-Non tutte le CPU hanno gli MTRR. Per esempio le CPU K6-2 più vecchie (intorno
-ai 266MHz, stepping 0) non hanno degli MTRR, ma gli stepping 12 invece sì
-(esegui <command>cat /proc/cpuinfo</command> per verificarlo).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="xv">
-<title>Xv</title>
-
-<para>
-In XFree86 4.0.2 o successivi, puoi utilizzare le funzioni YUV hardware della
-tua scheda usando l'estensione XVideo. Questo è quello che fa l'opzione
-<option>-vo xv</option>. Inoltre, il driver supporta l'impostazione di
-luminosità /contrasto/tonalità /etc (a meno che tu non usi il vecchio e
-lento codec DirectShow DivX, che le supporta ovunque), vedi la pagina man.
-</para>
-
-<para>
-In order to make this work, be sure to check the following:
-Per far sì che funzioni, assicurati di controllare le seguenti:
-
-<orderedlist>
-<listitem><para>
- Che tu usi XFree86 4.0.2 o superiore (le versioni precedenti non hanno XVideo)
-</para></listitem>
-<listitem><para>
- Che la tua scheda supporti l'accelerazione hardware (le schede moderne
- la supportano)
-</para></listitem>
-<listitem><para>
- Che X carichi l'estensione XVideo, è un qualcosa del genere:
- <programlisting>(II) Loading extension XVideo</programlisting>
- in <filename>/var/log/XFree86.0.log</filename>
- <note><para>
- Questo carica solo l'estensione per XFree86. In una buona installazione
- viene sempre caricata, e non significa che il supporto per l'XVideo della
- <emphasis role="bold">scheda</emphasis> sia presente!
- </para></note>
-</para></listitem>
-<listitem><para>
- Che la tua scheda abbia il supporto Xv sotto Linux. Per controllare, prova con
- <command>xvinfo</command>, è parte della distribuzione di XFree86. Dovrebbe
- mostrarti un lungo testo, simile al seguente:
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...etc...)<!--
---></screen>
- Deve supportare i formati pixel YUY2 packed e YV12 planar per poter essere
- utilizzabile con <application>MPlayer</application>.
-</para></listitem>
-<listitem><para>
- E infine, controlla che <application>MPlayer</application> sia stato compilato
- col supporto per 'xv'. Lancia un <command>mplayer -vo help | grep xv </command>.
- Se il supporto per 'xv' è compilato, dovrebbe uscire una linea come la
- seguente:
- <screen> xv X11/Xv</screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-
-<sect2 id="tdfx">
-<title>Schede 3dfx</title>
-
-<para>
-I vecchi driver 3dfx avevano notoriamente dei problemi con l'accelerazione
-XVideo, non erano compatibili con gli spazi colore YV12 e YUY2. Verifica di
-avere XFree86 4.2.0 o superiore, può gestire YV12 e YUY2, mentre le versioni
-precedenti, 4.1.0 incluso,
-<emphasis role="bold">vanno in crash con YV12</emphasis>. Se hai degli strani
-risultati usando <option>-vo xv</option>, prova SDL (anch'essa ha XVideo) e vedi
-se aiuta. Controlla la sezione su <link linkend="sdl">SDL</link> per i dettagli.
-</para>
-
-<para>
-<emphasis role="bold">OPPURE</emphasis>, prova il NUOVO driver
-<option>-vo tdfxfb</option>! Vedi la sezione
-<link linkend="tdfxfb">tdfxfb</link>
-</para>
-</sect2>
-
-
-<sect2 id="s3">
-<title>Schede S3</title>
-
-<para>
-Le S3 Savage3D dovrebbero funzionare bene, ma per le Savage4, usa XFree86 4.0.3
-o superiore (nel caso tu abbia problemi di immagini, prova a 16bpp). Per le
-S3 Virge invece: c'è il supporto per xv, ma la scheda in sé è molto lenta,
-per cui ti conviene venderla.
-</para>
-
-<para>
-Non c'è un driver framebuffer nativo per le schede S3 Virge simile a tdfxfb.
-Configura il tuo framebuffer (per es. aggiungi
-"<option>vga=792 video=vesa:mtrr</option>" alla riga di avvio del kernel) e usa
-<option>-vo s3fb</option> (<option>-vf yuy2</option> e <option>-dr</option>
-aiutano).
-</para>
-
-<note><para>
-Non è ben chiaro il perché i modelli Savage non abbiano il supporto YV12 e
-facciano la conversione con il driver (lento). Se pensi sia colpa della scheda,
-cerca un driver più recente, o chiedi gentilmente di un driver abilitato
-MMX/3DNow! sulla mailing list MPlayer-users.
-</para></note>
-</sect2>
-
-
-<sect2 id="nvidia">
-<title>Schede nVidia</title>
-
-<para>
-nVidia non è sempre una scelta molto buona sotto Linux... Il driver
-open-source di XFree86 supporta la maggior parte di queste schede, ma in alcuni
-casi, dovrai usare il driver proprietario a sorgenti chiusi di nVidia,
-disponibile sul
-<ulink url="http://www.nvidia.com/object/linux.html">sito nVidia</ulink>.
-Ti servirà sempre questo driver anche se vuoi l'accelerazione 3D.
-</para>
-
-<para>
-Le schede Riva128 non hanno il supporto XVideo con il driver nVidia di
-XFree86 :(
-Lamentati con nVidia.
-</para>
-
-<para>
-Tuttavia, <application>MPlayer</application> contiene un driver
-<link linkend="vidix">VIDIX</link> per la maggior parte delle schede nVidia.
-Attualmente è a livello di sviluppo beta e ha alcuni problemi. Per
-ulteriori informazioni, vedi la sezione
-<link linkend="vidix-nvidia">VIDIX nVidia</link>.
-</para>
-</sect2>
-
-
-<sect2 id="ati">
-<title>Schede ATI</title>
-
-<para>
-Il <ulink url="http://gatos.sf.net">driver GATOS</ulink>
-(che dovresti usare a meno che tu non abbia una Rage128 o una Radeon) di
-default ha il VSYNC abilitato. Ciò significa che la velocità di decodifica
-(!) è sincronizzata alla frequenza di aggiornamento del monitor. Se la
-riproduzione ti pare lenta, prova a disabilitare in qualche modo VSYNC, o ad
-impostare la frequenza di aggiornamento a n*(fps del film) Hz.
-</para>
-
-<para>
-Read the <link linkend="vidix">VIDIX</link> section.
-Radeon VE - se ti serve X, per questa scheda usa XFree86 4.2.0 o superiore.
-Il TV out non è supportato. Ovviamente con <application>MPlayer</application>
-puoi felicemente avere un display <emphasis role="bold">accelerato</emphasis>,
-con o senza l'<emphasis role="bold">uscita TV</emphasis>, e non servono
-librerie né X.
-Leggi la sezione <link linkend="vidix">VIDIX</link>.
-</para>
-</sect2>
-
-
-<sect2 id="neomagic">
-<title>Schede NeoMagic</title>
-
-<para>
-Queste schede si possono trovare in molti portatili. Devi usare XFree86 4.3.0 o
-superiore, o alternativamente usare i
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">driver con Xv</ulink>
-di Stefan Seyfried.
-Scegli semplicemente quello che ti serve in base alla tua versione di XFree86.
-</para>
-
-<para>
-XFree86 4.3.0 include il supporto per Xv, caomunque Bohdan Horst ha postato
-una piccola <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">patch</ulink> ai sorgenti di XFree86 che velocizza fino a
-quattro volte le operazioni sul framebuffer (quindi XVideo).
-La patch è stata poi incorporata in XFree86 CVS e dovrebbe esserci nei rilasci
-successivi al 4.3.0.
-</para>
-
-<para>
-Per permettere la riproduzione di contenuti della dimensione DVD, modifica il
-tuo XF86Config in questo modo:
-<programlisting>
-Section "Device"
- [...]
- Driver "neomagic"
- <emphasis>Option "OverlayMem" "829440"</emphasis>
- [...]
-EndSection<!--
---></programlisting>
-</para>
-</sect2>
-
-
-<sect2 id="trident">
-<title>Schede Trident</title>
-
-<para>
-Se vuoi usare Xv con una scheda Trident, assunto il fatto che con 4.1.0 non
-funziona, intalla Xfree 4.2.0. Il 4.2.0 aggiunge il supporto per Xv a schermo
-intero con la scheda Cyberblade XP.
-</para>
-
-<para>
-Alternativamente, <application>MPlayer</application> contiene un driver
-<link linkend="vidix">VIDIX</link> per le schede Cyberblade/i1.
-</para>
-</sect2>
-
-
-<sect2 id="kyro">
-<title>Schede Kyro/PowerVR</title>
-
-<para>
-Se vuoi usare Xv con una scheda basata su Kyro (per esempio la Hercules
-Prophet 4000XT), dovresti scaricare i driver dal
-<ulink url="http://www.powervr.com/">sito di PowerVR</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="intel">
-<title>Schede Intel</title>
-
-<para>
-Queste schede si possono trovare in molti portatili. Si consiglia un Xorg
-recente.
-</para>
-
-<para>
-Per permettere la riproduzione di contenuti a dimensione DVD (o superiore)
-modifica il tuo file di configurazione XF86Config/xorg.conf nel modo seguente:
-<programlisting>
-Section "Device"
- [...]
- Driver "intel"
- <emphasis>Option "LinearAlloc" "6144"</emphasis>
- [...]
-EndSection
-</programlisting>
-L'assenza di questa opzione di solito porta a un errore del tipo
-<screen>X11 error: BadAlloc (insufficient resources for operation)</screen>
-quando si cerca di usare <option>-vo xv</option>.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>PREAMBOLO</title>
-<para>
-Questa documento cerca di spiegare in poche parole cosa sia DGA e cosa possa
-fare (e cosa no) il driver di uscita video DGA di
-<application>MPlayer</application>.
-</para>
-</formalpara>
-
-<formalpara>
-<title>COS'E' DGA</title>
-<para>
-<acronym>DGA</acronym> è il nome breve di <emphasis>Direct Graphics
-Access</emphasis> (accesso grafico diretto) ed è un modo per fa sì
-che un programma scavalchi l'X server e modifichi direttamente la memoria
-del framebuffer. In termini tecnici la memoria del framebuffer viene
-rimappata nello spazio di memoria del tuo processo.
-Questo è permesso dal kernel solo se hai provilegi di superutente. Puoi averli
-o autenticandoti come <systemitem class="username">root</systemitem> o
-impostando il bit SUID sull'eseguibile di <application>MPlayer</application>
-(<emphasis role="bold">sconsigliato</emphasis>).
-</para>
-</formalpara>
-<para>
-Ci sono due versioni di DGA: DGA1 usato da XFree 3.x.x e DGA2 che è stato
-introdotto con XFree 4.0.1.
-</para>
-
-<para>
-DGA1 fornisce solamente accesso diretto al framebuffer come descritto sopra.
-Per modificare la risoluzione del segnale video devi affidarti all'estensione
-XVidMode.
-</para>
-
-<para>
-DGA2 include le funzionalità dell'estensione XVidMode e inoltre permette la
-modifica della profondità di colore del display. Così, anche se stai facendo
-girare un X server con profondità di 32 bit, puoi passare a una di 15 e
-viceversa.
-</para>
-
-<para>
-Tuttavia DGA ha dei punti deboli. Sembra sia in qualche modo dipendente dal
-chip grafico utilizzato e dall'implementazione del driver video dell'X server
-che controlla tale chip. Per cui non funziona su tutti i sistemi...
-</para>
-
-<formalpara>
-<title>INSTALLARE IL SUPPORTO PER DGA IN MPLAYER</title>
-
-<para>
-Per prima cosa assicurati che X carichi l'estensione DGA, guarda in
-<filename>/var/log/XFree86.0.log</filename>:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-Attenzione, si <emphasis role="bold">consiglia vivamente </emphasis>
-XFree86 4.0.x o superiore!
-Il driver DGA di <application>MPlayer</application> viene rilevato
-automaticamente da <filename>./configure</filename>, ovvero puoi forzarlo
-con <option>--enable-dga</option>.
-</para>
-</formalpara>
-
-<para>
-Se il driver non è riuscito a reimpostare una risoluzione inferiore, fai delle
-prove con le opzioni <option>-vm</option> (solo con X 3.3.x),
-<option>-fs</option>, <option>-bpp</option>, <option>-zoom</option> per trovare
-una modalità video in cui ci stia il film. Per ora non c'è un convertitore :(
-</para>
-
-<para>
-Diventa <systemitem class="username">root</systemitem>. A DGA serve l'accesso
-da root per essere in grado di scrivere direttamente sulla memoria video. Se
-vuoi eseguirlo come utente, allora installa <application>MPlayer</application>
-SUID root:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
-Ora funziona anche da utente normale.
-</para>
-
-<caution>
-<title>Rischi di sicurezza</title>
-<para>
-Questo porta un <emphasis role="bold">grosso</emphasis> rischio di sicurezza!
-Non farlo <emphasis role="bold">mai</emphasis> su un server o su un computer
-che può essere utilizzato da altre persone, perché si possono ottenere
-privilegi di root attraverso <application>MPlayer</application> SUID root.
-</para>
-</caution>
-
-<para>
-Ora usa l'opzione <option>-vo dga</option>, e sei a cavallo! (speralo:)
-Potresti anche provare se ti funziona l'opzione
-<option>-vo sdl:driver=dga</option>!
-E' molto più veloce!
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>MODIFICARE LA RISOLUZIONE</title>
-
-<para>
-Il driver DGA permette la modifica della risoluzione del segnale di uscita.
-Questo evita la necessità di eseguire un (lento) ridimensionamento software e
-allo stesso tempo fornisce un'immagine a schermo pieno. Idealmente dovrebbe
-ridimensionarsi alla risoluzione precisa (rispettando il rapporto di aspetto)
-dei dati video, ma l'X server permette solo di impostare le risoluzioni
-precedentemente definite in <filename>/etc/X11/XF86Config</filename>
-(<filename>/etc/X11/XF86Config-4</filename> per XFree 4.X.X).
-Queste ultime sono conosciute come "modelines" e dipendono dalle potenzialitÃ
-del tuo hardware video. Il server X legge questo file di configurazione
-all'avvio e disabilita le modelines incompatibili col tuo hardware.
-Puoi scoprire quali modalità ti restano attraverso il file di log di X11.
-Si può trovare qui: <filename>/var/log/XFree86.0.log</filename>.
-</para>
-</formalpara>
-
-<para>
-Queste modalità si sa che funzionano correttamente con un chip Riva128,
-usando il driver nv.o del server X.
-</para>
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA & MPLAYER</title>
-<para>
-DGA is used in two places with <application>MPlayer</application>: The SDL
-driver can be made to make use of it (<option>-vo sdl:driver=dga</option>) and
-within the DGA driver (<option>-vo dga</option>). The above said is true
-for both; in the following sections I'll explain how the DGA driver for
-<application>MPlayer</application> works.
-DGA viene usato con <application>MPlayer</application> in due posti: può
-essere usato attraverso il driver SDL (<option>-vo sdl:driver=dga</option>) e
-con il driver DGA (<option>-vo dga</option>). Quanto detto sopra è valido per
-entrambi; nei paragrafi seguenti viene spiegato come il driver DGA funziona per
-<application>MPlayer</application>.
-
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>CARATTERISTICHE</title>
-
-<para>
-Il driver DGA viene utilizzato specificando <option>-vo dga</option> sulla riga
-comando. Il comportamento di default è di passare ad una risoluzione il più
-vicino possibile a quella originaria del video. Ignora volutamente le opzioni
-<option>-vm</option> e <option>-fs</option> (abilitazione ridimensionamento
-video e schermo intero) - cerca sempre di coprire la più vasta area possibile
-dello schermo reimpostando la modalità video, evitando così di sprecare cicli
-della CPU per ridimensionare l'immagine. Se la modalità video selezionata non
-ti piace, puoi forzarlo a scegliere la modalità più prossima alla risoluzione
-specificata con <option>-x</option> e <option>-y</option>. Impostando l'opzione
-<option>-v</option>, il driver DGA emetterà , tra una sacco ci altre cose,
-un'elenco delle risoluzioni supportate dal tuo file
-<filename>XF86Config</filename>. Se hai DGA2, puoi anche forzarlo ad utilizzare
-una data profondità usando l'opzione <option>-bpp</option>. ProfonditÃ
-valide sono 15, 16, 24 e 32. Se queste profondità siano supportate nativamente
-oppure se debba venir effettuata una conversione (eventualmente lenta), dipende
-dal tuo hardware.
-</para>
-</formalpara>
-<para>
-Se dovessi essere abbastanza fortunato da avere sufficiente memoria fuori dalla
-visualizzazione per poterci far stare un'immagine intera, il driver DGA userÃ
-un buffering doppio, fornendo una riproduzione più fluida. Ti dirà quando il
-doppio buffering sarà abilitato o no.
-</para>
-
-<para>
-"Doppio buffering" significa che il fotogramma successivo del video viene
-disegnato nella memoria fuori dello schermo, mentre il fotogramma corrente
-viene mostrato. Quando il fotogramma successivo è pronto, il chip grafico
-rivece solo l'indirizzo in memoria del nuovo fotogramma e semplicemente prende
-da là i dati da mostrare. Nel frattempo l'altro buffer di memoria viene
-riempito con altri dati video.
-</para>
-
-<para>
-Il doppio buffering può venir abilitato usando l'opzione
-<option>-double</option> e disabilitato con <option>-nodouble</option>.
-L'opzione attuale di default è di disabilitarlo. Usando il driver DGA, la
-visualizzazione dati su schermo (OSD, onscreen display) funziona solo con il
-doppio buffering abilitato. In ogni caso, abilitare il doppio buffering può
-portare una pesante penalizzazione della velocità (sul mio K6-II+ 525 usa
-un ulteriore 20% di tempo di CPU) in dipendenza dall'implementazione per DGA
-del tuo hardware.
-</para>
-
-
-<formalpara>
-<title>PROBLEMI DI VELOCITA'</title>
-
-<para>
-In generale, l'accesso DGA al framebuffer dovrebbe essere almeno veloce quanto
-utilizzare il driver X11, con il beneficio aggiunto di ottenere un'immagine a
-schermo intero. I valori di velocità percentuale emessi da
-<application>MPlayer</application> devono essere interpretati con un po' di
-attenzione, dato che per esempio con il driver X11 non includono il tempo usato
-dal server X per il disegno effettivo. Attacca un terminale sulla seriale della
-tua macchina e lancia <command>top</command> per vedere cosa stia davvero
-succedendo.
-</para>
-</formalpara>
-
-<para>
-In linea di massima, l'aumento di velocità usando DGA rispetto all'utilizzo
-'normale' di X11 dipende fortemente dalla tua scheda video e da quanto bene il
-relativo modulo del server X sia ottimizzato.
-</para>
-
-<para>
-Se hai un sistema lento, è meglio usare una profondità di 15 o 16 bit, visto
-che richiedono solo la metà della banda di memoria di una visualizzazion a
-32 bit.
-</para>
-
-<para>
-Usare una profondità di 24 è una buona idea anche se la tua scheda supporta
-nativamente solo quella a 32 bit, dato che trasferisce il 25% dei dati in meno
-rispetto alla modalità a 32/32.
-</para>
-
-<para>
-Ho visto alcuni file AVI riprodotti su Pentium MMX 266. Le CPU AMD K6-2 possono
-lavorare a 400 MHz e oltre.
-</para>
-
-
-<formalpara>
-<title>PROBLEMI/BACHI CONOSCIUTI</title>
-
-<para>
-Bene, secondo gli sviluppatori di XFree, DGA è quasi una bestia. Ti dicono che
-è meglio non usarla. La sua implementazione non è sempre perfetta con tutti i
-driver dei chip per XFree che ci sono là fuori.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Con XFree 4.0.3 e <filename>nv.o</filename> c'è un baco che porta ad avere
- strani colori.
-</para></listitem>
-<listitem><para>
- I driver ATI hanno bisogno che la modalità sia reimpostata più di una
- volta dopo aver utilizzato DGA.
-</para></listitem>
-<listitem><para>
- Alcuni driver semplicemente non riescono a tornare alla risoluzione normale
- (Usa
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- e
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
- per cambiarla manualmente).
-</para></listitem>
-<listitem><para>
- Alcuni driver semplicemente mostrano strani colori.
-</para></listitem>
-<listitem><para>
- Alcuni driver mentono riguardo alla memoria che mappano nello spazio
- indirizzi del processo, perciò vo_dga non usa il doppio buffering (SIS?).
-</para></listitem>
-<listitem><para>
- Alcuni driver sembra che falliscano nel fornire almeno una modalità valida.
- In questo caso il driver DGA andrà in crash raccontandoti di una modalitÃ
- senza senso tipo 100000x100000 o qualcosa di simile.
-</para></listitem>
-<listitem><para>
- L'OSD funziona solo col doppio buffering abilitato (altrimenti sfarfalla).
-</para></listitem>
-</itemizedlist>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="sdl">
-<title>SDL</title>
-
-<para>
-<acronym>SDL</acronym> (Simple Directmedia Layer) è praticamente un'interfaccia
-unificata audio/video. I programmi che la usano non sanno che driver video o
-audio SDL usi davvero, ma conoscono solo l'interfaccia. Per esempio un porting
-di Doom che usi SDL può girara sopra a svgalib, aalib, X, fbdev e altro, devi
-semplicemente specificare (per esempio) il driver video da usare attraverso la
-variabile d'ambiente <envar>SDL_VIDEODRIVER</envar>. In teoria, perlomeno.
-</para>
-
-<para>
-Con <application>MPlayer</application>, usiamo la sua potenzialità di
-ridimensionamento via software del driver di X11 per le schede che non
-gestiscono XVideo, fino a quando non faremo il nostro (più veloce, più bello)
-ridimensionatore software. Abbiamo anche usato la sua uscita per aalib, ma ora
-abbiamo la nostra che è più comoda. La sua modalità per DGA era migliore
-della nostra fino a poco tempo fa. Hai capito, no? :)
-</para>
-
-<para>
-Aiuta anche con alcuni driver/schede bacate, se il video è scattoso (non per
-problemi di sistema lento) oppure l'audio è saltellante.
-</para>
-
-<para>
-L'uscita video SDL supporta la visualizzazione dei sottotitoli sotto al filmato
-ovvero sulla striscia nera (se presente).
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>INSTALLAZIONE</title>
-<para>
-Affinché <application>MPlayer</application> compili il suo driver per SVGAlib
-(autorilevato, ma può essere forzato), devi installare svgalib e il suo
-pacchetto di sviluppo e non dimenticare di modificare
-<filename>/etc/vga/libvga.config</filename> in modo che corrisponda alla tua
-scheda e al tuo monitor.
-</para>
-</formalpara>
-
-<note><para>
-Assicurati di non usare l'opzione <option>-fs</option>, dato che attiva
-l'utilizzo del ridimensionatore software, ed è lento. Se davvero ti serve, usa
-l'opzione <option>-sws 4</option>, che porterà una bassa qualità , ma è in
-qualche modo più veloce.
-</para></note>
-
-<formalpara>
-<title>SUPPORTO PER EGA (4BPP)</title>
-<para>
-SVGAlib include EGAlib, e <application>MPlayer</application> ha la possibilitÃ
-di mostrare qualsiasi filmato in 16 colori, utilizzabile in queste situazioni:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Scheda EGA con monitor EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
-</para></listitem>
-<listitem><para>
- Scheda EGA con monitor CGA: 320x200x4bpp, 640x200x4bpp
-</para></listitem>
-</itemizedlist>
-
-<para>
-Il valore dei bpp (bit per pixel) deve essere impostato a 4 manualmente:
-<option>-bpp 4</option>
-</para>
-
-<para>
-Il filmato probabilmente deve essere rimpicciolito per starci nella modalitÃ
-EGA:
-<screen>-vf scale=640:350</screen>
-or
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-Per questo ci serve una funzione di ridimensionamento veloce ma a bassa
-qualità :
-<screen>-sws 4</screen>
-</para>
-
-<para>
-Forse la correzione automatica dell'aspetto va disattivata:
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-Secondo la mia esperienza la qualità migliore dell'immagine su schermi EGA
-può essere ottenuta diminuendo un pochino la luminosità :
-<option>-vf eq=-20:0</option>. Sul mio sistema ho anche bisogno di abbassare
-la frequenza audio, dato che era rovinata a 44kHz:
-<option>-srate 22050</option>.
-</para></note>
-
-<para>
-Puoi abilitare l'OSD e i sottotitoli solo con il filtro <option>expand</option>,
-vedi la pagina man per i parametri precisi.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="fbdev">
-<title>Uscita su framebuffer (FBdev)</title>
-
-<para>
-Se compilare l'uscita FBdev o no viene rilevato automaticamente da
-<filename>./configure</filename>. Leggi nei sorgenti del kernel la
-documentazione sul framebuffer (<filename>Documentation/fb/*</filename>) per
-ulteriori informazioni.
-</para>
-
-<para>
-Se la tua scheda non supporta lo standard VBE 2.0 (vecchie schede ISA/PCI, come
-la S3 Trio64), ma solo VBE 1.2 (o precedente?): bene, c'è ancora VESAfb, ma
-ddovrai caricare SciTech Display Doctor (conosciuto precedentemente come UniVBE)
-prima di avviare Linux. Usa un disco di avvio DOS o qualcosa del genere. E non
-dimenticare di registrare il tuo UniVBE ;))
-</para>
-
-<para>
-L'uscita su FBdev richiede principalmente alcuni parametri addizionali:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- specifica il dispositivo framebuffer da usare (default:
- <filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- nome della modalità da usare (come in <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- file di configirazione delle modalità (default:
- <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- valori <emphasis role="bold">importanti</emphasis>, vedi
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Se vuoi passare a una modalità particolare, allora usa
-<screen>
-mplayer -vm -fbmode <replaceable>nome_modalità </replaceable> <replaceable>nomefile</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vm</option> da sola può scegliere la modalità più adatta da
- <filename>/etc/fb.modes</filename>. Può essere usata anche insieme con le
- opzioni <option>-x</option> e <option>-y</option>. L'opzione
- <option>-flip</option> è supportata solo se il formato pixel del film
- corrisponde al formato pixel della modalità video. Stai attento al valore
- di bpp, il driver fbdev cerca di usare prima quello corrente, poi quello che
- indichi tramite l'opzione <option>-bpp</option> option.
-</para></listitem>
-<listitem><para>
- l'opzione <option>-zoom</option> non è supportata
- (usa <option>-vf scale</option>). Non puoi usare modalità a 8bbp (o meno).
-</para></listitem>
-<listitem><para>
- Probabilmente vuoi disabilitare il cursore:
- <screen>echo -e '\033[?25l'</screen>
- o
- <screen>setterm -cursor off</screen>
- e il salvaschermo:
- <screen>setterm -blank 0</screen>
- Per riabilitare il cursore:
- <screen>echo -e '\033[?25h'</screen>
- o
- <screen>setterm -cursor on</screen>
-</para></listitem>
-</itemizedlist>
-
-<note><para>
-La modifica della modalità video di FBdev <emphasis>non funziona</emphasis>
-con il framebuffer VESA, e non chiederla, visto che non è una limitazione di
-<application>MPlayer</application>.
-</para></note>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="mga_vid">
-<title>Framebuffer Matrox (mga_vid)</title>
-
-<para>
-<systemitem>mga_vid</systemitem> è un'incrocio di un driver di uscita video e
-di un modulo del kernel, che utilizza il ridimensionatore e l'overlay video
-delle Matrox G200/G400/G450/G550 per effettuare una conversione dello spazio
-colore YUV->RGB e un ridimensionamento video arbitrario.
-<systemitem>mga_vid</systemitem> ha un supporto hardware per VSYNC con triplo
-buffering. Funziona sia in una console su framebuffer che dentro X, ma solo con
-Linux 2.4.x.
-</para>
-
-<para>
-Per una versione del driver per Linux 2.6.x controlla
-<ulink url="http://attila.kinali.ch/mga/"/> oppure butta un occhio sul
-repository Subversion esterno di mga_vid, che si può ottenere tramite
-
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mga_vid
-</screen>
-</para>
-
-<procedure>
-<title>Installazione:</title>
-<step><para>
- Per usarlo devi innanzitutto compilare <filename>drivers/mga_vid.o</filename>:
- <screen>
-cd drivers
-make drivers<!--
---></screen>
-</para></step>
-<step><para>
- Poi esegui (come <systemitem class="username">root</systemitem>)
- <screen>make install-drivers</screen>
- che dovrebbe installare il modulo e creare per te il nodo del dispositivo.
- Carica il driver con
- <screen>insmod mga_vid.o</screen>
-</para></step>
-<step><para>
- Dovresti verificare il rilevamento della dimensione della memoria usando il
- comando <command>dmesg</command>. Se è errato, usa l'opzione
- <option>mga_ram_size</option> (prima fai <command>rmmod mga_vid</command>),
- indicando in MB la dimensione della memoria della scheda:
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
-</para></step>
-<step><para>
- Per far sì che venga caricato/scaricato quando serve, prima inserisci la
- riga seguente alla fine di <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-</para></step>
-<step><para>
- Ora devi (ri)compilare <application>MPlayer</application>,
- <command>./configure</command> rileverà <filename>/dev/mga_vid</filename> e
- compilerà il driver 'mga'. Si potrà usare da
- <application>MPlayer</application> con <option>-vo mga</option> se sei su una
- console matroxfb, oppure <option>-vo xmga</option> se sei sotto XFree86 3.x.x
- o 4.x.x.
-</para></step>
-</procedure>
-
-<para>
-Il driver mga_vid collabora con Xv.
-</para>
-
-<para>
-Si può leggere il file del dispositivo <filename>/dev/mga_vid</filename> per
-alcune informazioni, per esempio facendo
-<screen>cat /dev/mga_vid</screen>
-e ci si può scrivere per modificare la luminosità :
-<screen>echo "brightness=120" > /dev/mga_vid</screen>
-</para>
-
-<para>
-Nella stessa directory c'è un'applicazione di test che si chiama
-<command>mga_vid_test</command>. Se tutto funziona bene, dovrebbe disegnare
-immagini di 256x256 sullo schermo.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>Supporto YUV per 3Dfx</title>
-
-<para>
-Questo driver usa il driver tdfx del kernel per il framebuffer per riprodurre
-filmati con accelerazione YUV. Ti serve un kernel con supporto per tdfxfb e
-ricompilare con
-<screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfx_vid">
-<title>tdfx_vid</title>
-
-<para>
-Questo è un'incrocio di un driver di uscita video e di un modulo del kernel,
-simile a <link linkend="mga_vid">mga_vid</link>. Ti serve un kernel 2.4.x con
-il driver <systemitem>agpgart</systemitem>, visto che
-<systemitem>tdfx_vid</systemitem> usa AGP. Passa
-<option>--enable-tdfxfb</option> a <command>configure</command> per compilare
-il driver di uscita video e compila il module del kernel con le istruzioni
-seguenti.
-</para>
-
-<procedure>
-<title>Installare il modulo del kernel tdfx_vid.o:</title>
-<step><para>
- Compila <filename>drivers/tdfx_vid.o</filename>:
- <screen>
-cd drivers
-make drivers</screen>
-</para></step>
-<step><para>
- Poi esegui (come <systemitem class="username">root</systemitem>)
- <screen>make install-drivers</screen>
- che dovrebbe installare il modulo e creare per te il nodo del dispositivo.
- Carica il driver con
- <screen>insmod tdfx_vid.o</screen>
-</para></step>
-<step><para>
- Per far sì che venga caricato/scaricato quando serve, prima inserisci la
- riga seguente alla fine di <filename>/etc/modules.conf</filename>:
-
-
- <programlisting>alias char-major-178 tdfx_vid</programlisting>
-</para></step>
-</procedure>
-
-<para>
-Nella stessa directory c'è un'applicazione di test che si chiama
-<command>tdfx_vid_test</command>. Se tutto funziona bene, dovrebbe fornire
-alcune informazioni utili.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="opengl">
-<title>Uscita OpenGL</title>
-
-<para>
-<application>MPlayer</application> supporta la riproduzione di filmati usando
-OpenGL, ma se se la tua piattaforma/driver supportano xv come è il caso di un
-PC con Linux, allora usa xv, le prestazioni OpenGL sono pesantemente peggiori.
-Se hai un'implementazione di X11 senza xv, OpenGL è una valida alternativa.
-</para>
-
-<para>
-Sfortunatamente non tutti i driver supportano questa caratteristica. I driver
-Utah-GLX (per XFree86 3.3.6) la supportano per tutte le schede.
-Vedi <ulink url="http://utah-glx.sf.net"/> per dettagli su come installarli.
-</para>
-
-<para>
-XFree86(DRI) 4.0.3 or later supports OpenGL with Matrox and Radeon cards,
-4.2.0 or later supports Rage128.
-Vedi <ulink url="http://dri.sf.net"/> for download and installation
-instructions.
-XFree86(DRI) 4.0.3 o successivi supportano OpenGL con schede Matrox e Radeon,
-4.2.0 o successivi supportano le Rage128.
-Leggi su <ulink url="http://dri.sf.net"/> le istruzioni per scaricarli ed
-installare.
-</para>
-
-<para>
-Un consiglio per i nostri utenti: l'uscita video GL può essere usata per
-ottenere un'uscita sincronizzata su vsync. Devi impostare una variabile
-d'ambiente (perlomeno con nVidia):
-</para>
-
-<para>
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="aalib">
-<title>AAlib – Visualizzazione in modalità testuale</title>
-
-<para>
-AAlib è una libreria per mostrare elementi grafici in modalità testuale,
-usando un potente renderizzatore ASCII. Ci sono <emphasis>valanghe</emphasis>
-di programmi che la utilizzano, come Doom, Quake, etc.
-<application>MPlayer</application> ne include un driver facilmente utilizzabile.
-Se <filename>./configure</filename> trova AAlib installata, il driver di uscita
-video per aalib verrà compilato.
-</para>
-
-<para>
-Puoi usare alcune chiavi nella finestra AA per modificare le opzioni di
-renderizzazione:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Chiave</entry><entry>Azione</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- diminuisce il contrasto
-</entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- aumenta il contrasto
-</entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- diminuisce la luminositÃ
-</entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- aumenta la luminositÃ
-</entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- abilita/disabilita il fast rendering
-</entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- imposta la modalità di dithering (nessuna, distribuzione di errore,
- Floyd Steinberg)
-</entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- inverte l'immagine
-</entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- passa tra i controlli di aa e quelli di <application>MPlayer</application>
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>Si possono usare le seguenti opzioni sulla riga di comando:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- modifica il colore OSD
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- modifica il colore dei sottitoli
- </para><para>
- dove <replaceable>V</replaceable> può essere:
- <literal>0</literal> (normale),
- <literal>1</literal> (scuro),
- <literal>2</literal> (grassetto),
- <literal>3</literal> (font grassetto),
- <literal>4</literal> (invertito),
- <literal>5</literal> (speciale).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>AAlib di suo fornisce un po' di opzioni. Di seguito alcune
-importanti:</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- Impostra il driver aa preferito (X11, curses, Linux).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- Usa tutti e 256 i caratteri.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- Usa ASCII a otto bit.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- Lista tutte le opzioni per aalib.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note><para>
-La renderizzazione è molto pesante per la CPU, specialmente usando AA-on-X
-(usando aalib su X), ed è più leggera su una console standard, senza
-framebuffer. Usa SVGATextMode per impostare una modalità a molti caratteri,
-poi divertiti! (le schede Hercules con seconda uscita sono mitiche :))
-(ma IMHO puoi usare l'opzione <option>-vf 1bpp</option> per avere grafica su
-hgafb:)
-</para></note>
-
-<para>
-Usa l'opzione <option>-framedrop</option> se il tuo computer non è abbastanza
-veloce da renderizzare tutti i fotogrammi!
-</para>
-
-<para>
-Riproducendo su un terminale, avrai migliore velocità e qualità usando il
-driver Linux, non ncurses (<option>-aadriver linux</option>). Ma devi anche
-avere accesso a
-<filename>/dev/vcsa<replaceable><terminale></replaceable></filename>!
-Questo non è rilevato automaticamente da aalib, ma vo_aa cerca di trovare la
-modalità migliore. Leggi <ulink url="http://aa-project.sf.net/tune"/> per
-altri consigli di impostazioni.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="caca">
-<title>
-<systemitem class="library">libcaca</systemitem> – Libreria Color ASCII Art
-</title>
-
-<para>
-La libreria <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
-è una libreria grafica che emette testo al posto di pixel, indi può funzionare
-su schede video più vecchie o su terminali di testo. Non è dissimile dalla
-famosa libreria <systemitem class="library">AAlib</systemitem>.
-<systemitem class="library">libcaca</systemitem> ha bisogno di un terminale per
-poter funzionare, perciò dovrebbe funzionare su tutti i sistemi Unix (incluso
-Mac OS X) usando la libreria <systemitem class="library">slang</systemitem>
-ovvero la libreria <systemitem class="library">ncurses</systemitem>, sotto DOS
-usando la libreria <systemitem class="library">conio.h</systemitem>, e nei
-sistemi Windows usando <systemitem class="library">slang</systemitem> o
-<systemitem class="library">ncurses</systemitem> (tramite l'emulazione Cygwin)
-oppure <systemitem class="library">conio.h</systemitem>. Se
-<filename>./configure</filename> rileva la presenza di
-<systemitem class="library">libcaca</systemitem>, il driver di uscita video per
-caca verrà compilato.
-</para>
-
-<itemizedlist>
-<title>Le differenze rispetto ad <systemitem class="library">AAlib</systemitem>
- sono le seguenti:</title>
-<listitem><para>
- 16 colori disponibili per l'emissione a caratteri (256 coppie di colori)
-</para></listitem>
-<listitem><para>
- dithering del colore dell'immagine
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Ma <systemitem class="library">libcaca</systemitem> ha anche le seguenti
- limitazioni:</title>
-<listitem><para>
- nessun supporto per luminosià , contrasto, gamma
-</para></listitem>
-</itemizedlist>
-
-<para>
-Puoi utilizzare alcuni tasti nella finestra caca per modificare le opzioni di
-renderizzazione:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Chiave</entry><entry>Azione</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- Attiva/disattiva il metodo di dithering di
- <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- Attiva/disattiva l'antialias di
- <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- Attiva/disattiva lo sfondo di
- <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> terrà anche conto di
- alcune variabili d'ambiente:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- Imposta il driver caca richiesto. Per es. ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (solo X11)</option></term>
- <listitem><para>
- Specifica il numero di righe e colonne. Per es. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (solo X11)</option></term>
- <listitem><para>
- Specifica il font da usare. Per es. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Usa l'opzione <option>-framedrop</option> se il tuo computer non è abbastanza
-veloce per renderizzare tutti i fotogrammi.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vesa">
-<title>VESA - uscita attraverso il VESA BIOS</title>
-
-<para>
-Questo driver è stato progettato ed introdotto come un
-<emphasis role="bold">driver generico</emphasis> per qualsiasi scheda video che
-abbia un BIOS compatibile con VESA VBE 2.0. Un altro vantaggio di questo driver
-è che cerca di attivare l'uscita TV.
-La <citetitle>VESA BIOS EXTENSION (VBE) Versione 3.0 Data: 16 settembre
-1998</citetitle> (pagina 70) dice:
-</para>
-
-<!-- TODO: try to find an 'official' translation -->
-<blockquote>
-<formalpara><title>Dual-Controller Designs</title>
-<para>
-VBE 3.0 supports the dual-controller design by assuming that since both
-controllers are typically provided by the same OEM, under control of a
-single BIOS ROM on the same graphics card, it is possible to hide the fact
-that two controllers are indeed present from the application. This has the
-limitation of preventing simultaneous use of the independent controllers,
-but allows applications released before VBE 3.0 to operate normally. The
-VBE Function 00h (Return Controller Information) returns the combined
-information of both controllers, including the combined list of available
-modes. When the application selects a mode, the appropriate controller is
-activated. Each of the remaining VBE functions then operates on the active
-controller.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-Perciò usando questo driver hai qualche possibilità di far funzionare
-l'uscita TV (si presume che spesso l'uscita TV sia almeno un'uscita a sè
-stante).
-</para>
-
-<itemizedlist spacing="compact">
-<title>VANTAGGI</title>
-<listitem><para>
- Puoi riuscire a guardare film <emphasis role="bold">anche se Linux non
- riconosce</emphasis> il tuo hardware grafico.
-</para></listitem>
-<listitem><para>
- Non ti serve avere alcuna cosa relativa alla grafica (come X11 (AKA XFree86),
- fbdev e così via) sul tuo Linux. Questo driver può venir utilizzato dalla
- <emphasis role="bold">modalità testo</emphasis>.
-</para></listitem>
-<listitem><para>
- Hai qualche possibilità di avere l'<emphasis role="bold">uscita TV
- funzionante</emphasis> (per le schede ATI perlomeno è così).
-</para></listitem>
-<listitem><para>
- Questo driver chiama la funzione <function>int 10h</function> percui non è
- un emulatore - fa riferimento a cose <emphasis role="bold">reali</emphasis>
- del BIOS <emphasis role="bold">reale</emphasis> in
- <emphasis>modalità reale</emphasis> (attualmente in modalità vm86).
-</para></listitem>
-<listitem><para>
- Con esso puoi usare VIDIX, potendo ottenere contemporaneamente un'uscita
- video accelerata <emphasis role="bold">e</emphasis> e l'uscita TV!
- (consigliato per schede ATI)
- </para></listitem>
-<listitem><para>
- Se hai VESA VBE 3.0+ e hai specificato in qualche dove
- <option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option> (nel file di
- configurazione o dalla riga comando) otterrai la massima frequenza di
- aggiornamento possibile (usando formule generiche di temporizzazione).
- Per abilitare questa funzionalità devi specificare
- <emphasis role="bold">tutte</emphasis> le opzioni per il tuo monitor.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>SVANTAGGI</title>
-<listitem><para>
- Funziona solo su <emphasis role="bold">sistemi x86</emphasis>.
-</para></listitem>
-<listitem><para>
- Può essere usato solo da <systemitem class="username">root</systemitem>.
-</para></listitem>
-<listitem><para>
- Attualmente è disponibile solo per <emphasis role="bold">Linux</emphasis>.
-</para></listitem>
-</itemizedlist>
-
-<important><para>
-Non usare questo driver con <emphasis role="bold">GCC 2.96</emphasis>!
-Non funzionerà !
-</para></important>
-
-<variablelist>
-<title>OPZIONI DELLA RIGA COMANDO DISPONIBILI PER VESA</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>opzioni</replaceable></option></term>
- <listitem><para>
- attualmente riconosciute: <literal>dga</literal> per forzare la modalitÃ
- dga e <literal>nodga</literal> per disabilitarla. In modalità dga puoi
- abilitare il doppio buffering con l'opzione <option>-double</option>.
- Nota: puoi omettere questi parametri per abilitare
- l'<emphasis role="bold">auto-rilevazione</emphasis> della modalità dga.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>PROBLEMI CONOSCIUTI E SOLUZIONI</title>
-<listitem><para>
- Se hai dei font <emphasis role="bold">NLS</emphasis> installati sulla tua
- macchina Linux ed utilizzi il driver VESA in modalità testo, allora dopo
- essere uscito da<application>MPlayer</application> avrai i
- <emphasis role="bold">font ROM</emphasis> caricati al posto di quelli locali.
- Puoi ricaricare i font locali usando lo strumento
- <command>setsysfont</command> per Mandrake/Mandriva, ad esempio
- (<emphasis role="bold">consiglio</emphasis>: lo stesso strumento viene
- usato per la localizzazione di fbdev).
-</para></listitem>
-<listitem><para>
- Alcuni <emphasis role="bold">driver grafici per Linux</emphasis> non
- modificano nella memoria DOS la
- <emphasis role="bold">modalità BIOS</emphasis> attiva.
- Per cui se hai questo problema - usa sempre il driver VESA dalla
- <emphasis role="bold">modalità testo</emphasis>. Altrimenti verrÃ
- comunque attivata la modalità testo (#03) e dovrai riavviare il tuo
- computer.
-</para></listitem>
-<listitem><para>
- Spesso dopo aver dismesso il driver VESA ottieni uno schermo
- <emphasis role="bold">nero</emphasis>. Per riportare il tuo schermo allo
- stato originario - salta semplicemente ad unìaltra console (premendo
- <keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>) poi
- ritorna alla console precedente allo stesso modo.
-</para></listitem>
-<listitem><para>
- Per avere <emphasis role="bold">l'uscita TV funzionante</emphasis> devi avere
- il connettore TV collegato prima di avviare il tuo PC, visto che il BIOS
- video si inizializza solo una volta durante il passaggio POST.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="x11">
-<title>X11</title>
-
-<para>
-Da evitare se possibile. Uscita su X11 (utilizza l'estensione della memoria
-condivisa), senza alcuna accelerazione hardware. Gestisce il ridimensionamento
-software (accelerato MMX/3DNow/SSE, ma sempre lento), usa le opzioni
-<option>-fs -zoom</option>. La maggior parte delle schede gestisce un
-ridimensionamento hardware, usa per queste l'uscita <option>-vo xv</option>,
-oppure <option>-vo xmga</option> per le schede Matrox.
-</para>
-
-<para>
-Il problema è che i driver di molte schede non supportano l'accelerazione
-hardware sulla seconda uscita o TV. In quei casi, vedi delle finestre blu/verdi
-al posto del film. In questi casi torna utile questo driver, ma ti serve una
-CPU potente per effettuare il ridimensionamento software. Non usare il driver
-di uscita SDL + ridimensionamento software, ha una peggior qualitÃ
-dell'immagine.
-</para>
-
-<para>
-Il ridimensionamento software è molto lento, ti conviene piuttosto cambiare la
-modalità video. E' molto facile. Guarda le
-<link linkend="dga-modelines">modeline della sezione DGA</link>, e inseriscile
-nel tuo <filename>XF86Config</filename>.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- Se hai XFree86 4.x.x: usa l'opzione <option>-vm</option>. Passerà alla
- risoluzione che meglio si adatta al tuo film. Se non lo fa:
-</para></listitem>
-<listitem><para>
- With XFree86 3.x.x: you have to cycle through available resolutions
- Con XFree86 3.x.x: devi passare attraverso le risoluzioni disponibili con i
- tasti
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- e
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Se non trovi le modalità che hai aggiunto, controlla l'emissione di XFree86.
-Alcuni driver non possono usare dei pixelclock che servono per modalità a
-bassa risoluzione.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vidix">
-<title>VIDIX</title>
-
-<formalpara><title>PREAMBOLO</title>
-<para>
-<acronym>VIDIX</acronym> è un nome breve che sta per
-<emphasis role="bold">VID</emphasis>eo
-<emphasis role="bold">I</emphasis>nterface
-per *ni<emphasis role="bold">X</emphasis>.
-VIDIX è stato progettato ed introdotto com un'interfaccia per driver veloci
-nello spazio utente, fornendo delle prestazioni video come quelle che fornisce
-mga_vid per le schede Matrox. E' anche molto portabile.
-</para>
-</formalpara>
-
-<para>
-Quest'interfaccia è stata progettata come un tentativo di riunire le
-interfacce di accelerazione video già esistenti (conosciute come mga_vid,
-rage128_vid, radeon_vid, pm3_vid) in uno schema fissato. Fornisce un'interfaccia
-di alto livello a chip conosciuti come BES (BackEnd scalers) o OV (Video
-Overlays). Non fornisce un'interfaccia a basso livello a cose conosciute come
-server grafici (non voglio entrare in competizione con il gruppo di X11 per le
-modifiche alla modalità grafica). Per es. l'obiettivo principale di
-quest'intarfaccia è quello di velocizzare la riproduzione video.
-</para>
-
-<itemizedlist spacing="compact">
-<title>USO</title>
-<listitem><para>
- Puoi usare un driver di uscita video a sé stante: <option>-vo xvidix</option>.
- Questo driver è stato sviluppato come un front-end tra X11 e la tecnologia
- VIDIX. Richiede l'X server e può funzionare solo dentro all'X server stesso.
- Nota che, visto che accede direttamente all'hardware e oltrepassa il driver X,
- le immagini memorizzate nella memoria della scheda video possono venir
- corrotte. Puoi evitarlo limitando la dimensione della memoria video usata da
- X con l'opzine "VideoRam" nella sezione device di XF86Config. Dovresti
- impostare tale opzione alla quantità di memoria della tua scheda meno 4MB.
- Se hai meno di 8MB di ram video, puoi usare invece l'opzione
- "XaaNoPixmapCache" nella sezione screen.
-</para></listitem>
-<listitem>
- <para>
- C'è poi un driver VIDIX per la console: <option>-vo cvidix</option>.
- Questo richiede per la maggior parte delle schede un framebuffer
- inizializzato e funzionante (altrimenti incasinerai solamente lo schermo), e
- otterrai un effetto simile a <option>-vo mga</option> o
- <option>-vo fbdev</option>. Le schede nVidia tuttavia sono in grado di
- emettere video completamente grafico su vere console di testo. Vedi la sezione
- <link linkend="vidix-nvidia">nvidia_vid</link> per ulteriori informazioni.
- Per evitare il testo sui bordi e il cursore lampeggiante, prova qualcosa tipo
- </para>
-
- <screen>setterm -cursor off > /dev/tty9</screen>
-
- <para>
- (presumendo che <systemitem>tty9</systemitem> non venga utilizzata) e poi
- passa a <systemitem>tty9</systemitem>.
- D'altro canto, <option>-colorkey 0</option> dovrebbe mostrarti il video sullo
- "sfondo", anche se questo dipende dal fatto che colorkey funzioni bene o no.
- </para>
-</listitem>
-<listitem><para>
- Puoi usare un sotto-dispositivo VIDIX che sia stato applicato a vari driver
- di uscita video, così: <option>-vo vesa:vidix</option>
- (<emphasis role="bold">solo per Linux</emphasis>) e
- <option>-vo fbdev:vidix</option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-In verità non conta quale driver di uscita video venga usato con
-<emphasis role="bold">VIDIX</emphasis>.
-</para>
-
-<itemizedlist spacing="compact">
-<title>PREREQUISITI</title>
-<listitem><para>
- La scheda video dovrebbe essere in modalità grafica (tranne le schede nVidia
- con il driver di uscita <option>-vo cvidix</option>).
-</para></listitem>
-<listitem><para>
- Il driver di uscita video di <application>MPlayer</application> dovrebbe
- conoscere la modalità video attiva ed essere in grado di fornire al
- sotto-dispositivo VIDIX alcune caratteristiche video del server.
-</para></listitem>
-</itemizedlist>
-
-<formalpara><title>MODI DI UTILIZZO</title>
-<para>
-Quando VIDIX viene usato come un
-<emphasis role="bold">sotto-dispositivo</emphasis> (<option>-vo
-vesa:vidix</option>) allora la configurazione della modalità video viene
-eseguita dal dispositivo di uscita video
-(<emphasis role="bold">vo_server</emphasis>, in breve). Perciò puoi passare
-sulla riga comando di <application>MPlayer</application> le stesse chiavi per
-vo_server. Inoltre accetta <option>-double</option> come un parametro globale
-(si consiglia di usare questa opzione con VIDIX almeno per le schede ATI).
-Come <option>-vo xvidix</option>, attualmente riconosce le seguenti opzioni:
-<option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-
-<para>
-Poi puoi specificare il driver VIDIX direttamente sulla riga comando come una
-terza sotto-opzione:
-<screen>
-mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>file.avi</replaceable>
-</screen>
-o
-<screen>
-mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>file.avi</replaceable>
-</screen>
-ma è pericoloso e non dovresti farlo. In questo caso il driver indicato verrÃ
-forzato e i risultati sono imprevedibili (potrebbe mandarti il computer in
-<emphasis role="bold">freeze</emphasis>). Dovresti farlo SOLO se sei
-assolutamente sicuro che funzionerà e <application>MPlayer</application> non
-lo farà automaticamente. Per favore dillo agli sviluppatori. Il modo corretto
-è utilizzare VIDIX senza argomenti per abilitare la rilevazione automatica del
-driver.
-</para>
-
-
-<sect2 id="svgalib_helper">
-<title>svgalib_helper</title>
-
-<para>
-Visto che VIDIX richiede un accesso diretto all'hardware puoi sia eseguirlo come
-root, sia impostare il bit SUID sull'eseguibile di
-<application>MPlayer</application>.
-(<emphasis role="bold">Attenzione: questo è un rischio di sicurezza!</emphasis>)
-Alternativamente puoi usare uno modulo del kernel speciale, come questo:
-</para>
-
-<procedure>
-<step><para>
- Scarica la <ulink url="http://www.arava.co.il/matan/svgalib/">versione di
- sviluppo</ulink> di svgalib (1.9.x).
-</para></step>
-<step><para>
- Compila il modulo nella directory
- <filename class="directory">svgalib_helper</filename> (si trova dentro la
- directory <filename class="directory">svgalib-1.9.17/kernel/</filename> se hai
- scaricato i sorgenti dal sito di svgalib) e caricalo nel kernel.
-</para></step>
-<step><para>
- Per creare i dispositivi necessari nella directory
- <filename class="directory">/dev</filename>, esegui, da utente root,
- <screen>make device</screen> nella directory
- <filename class="directory">svgalib_helper</filename>.
-</para></step>
-<step><para>
- Poi esegui di nuovo <filename>configure</filename> passando i parametri
- <option>--enable-svgalib_helper</option> e
- <option>--extra-cflags=<replaceable>/percorso/dei/sorgenti/di/svgalib_helper</replaceable>kernel/svgalib_helper</option>,
- dove <replaceable>/percorso/dei/sorgenti/di/svgalib_helper</replaceable> deve
- puntare al percorso dove hai estratto i sorgenti di svgalib_helper.
-</para></step>
-<step><para>
- Ricompila.
-</para></step>
-</procedure>
-</sect2>
-
-
-<sect2 id="vidix-ati">
-<title>Schede ATI</title>
-
-<para>
-Attualmente la maggior parte delle schede ATI è supportata nativamente, dalle
-Mach64 alle più recenti Radeon.
-</para>
-
-<para>
-Ci sono due binari compilati: <filename>radeon_vid</filename> per le Radeon e
-<filename>rage128_vid</filename> per le schede Rage 128. Puoi forzare
-l'utilizzo di uno dei due, oppure lasciare che il sistema VIDIX provi tutti i
-driver disponibili.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-mga">
-<title>Schede Matrox</title>
-
-<para>
-Le Matrox G200, G400, G450 and G550 sono state riportate come funzionanti.
-</para>
-
-<para>
-Il driver supporta gli equalizzatori video e dovrebbe essere veloce quasi quanto
-il <link linkend="mga_vid">framebuffer Matrox</link>.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-trident">
-<title>Schede Trident</title>
-
-<para>
-C'è un driver disponibile per il chipset Trident Cyberblade/i1, che si può
-trovare sulle schede madri VIA Epia.
-</para>
-
-<para>
-Il driver è scritto e mantenuto da
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-3dlabs">
-<title>Schede 3DLabs</title>
-
-<para>
-Anche se esiste un driver per i chip 3DLabs GLINT R3 e Permedia3, nessuno lo ha
-provato, perciò delle informazioni sono benvenute.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-nvidia">
-<title>Schede nVidia</title>
-
-<para>
-Una caratteristica unica del driver nvidia_vid è la sua abilità nel mostrare
-video su di una
-<emphasis role="bold">semplice, pura, console di testo</emphasis> - senza alcun
-framebuffer o qualche magia di X. Per questo fine, dovremo usare il driver di
-uscita video <option>cvidix</option>, come mostrato nell'esempio che segue:
-<screen>mplayer -vo cvidix <replaceable>esempio.avi</replaceable></screen>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-sis">
-<title>Schede SiS</title>
-
-<para>
-Questo codice è davvero sperimentale, proprio come nvidia_vid.
-</para>
-
-<para>
-E' stato testato su SiS 650/651/740 (i chipset più diffusi usati nelle versioni
-SiS dello "Shuttle XPC").
-</para>
-
-<para>
-Si attendono resoconti!
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="directfb">
-<title>DirectFB</title>
-
-<blockquote><para>
-"DirectFB is a graphics library which was designed with embedded systems
-in mind. It offers maximum hardware accelerated performance at a minimum
-of resource usage and overhead." - citazione da
-<ulink url="http://www.directfb.org"/>
-</para></blockquote>
-
-<para>Ometterò le caratteristiche di DirectFB da questa sezione.</para>
-
-<para>
-Anche se <application>MPlayer</application> non è supportato come un "provider
-video" in DirectFB, questo driver di uscita video abiliterà la riproduzione
-video tramite DirectFB. Sarà - ovviamente - accelerata, la velocità di
-DirectFB sulla mia Matrox G400 è la stessa di XVideo.
-</para>
-
-<para>
-Cerca sempre di utilizzare la versione più recente di DirectFB. Sulla riga
-comando puoi usare le opzioni di DirectFB, usando <option>-dfbopts</option>.
-La scelta del livello può essere fatta con il metodo del sotto-dispositivo,
-per es.:
-<option>-vo directfb:2</option> (il livello -1 è il default: autorilevazione)
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-
-<para>
-Leggi per favore la sezione <link linkend="directfb">principale di DirectFB</link>
-per le informazioni generali.
-</para>
-
-<para>
-Questo driver di uscita video abiliterà il CRTC2 (sulla seconda uscita) delle
-schede Matrox G400/G450/G550, mostrando il video
-<emphasis role="bold">independentemente</emphasis> rispetto alla prima uscita.
-</para>
-
-<para>
-Ville Syrjala's ha un
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
-e un
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
-sul suo sito, che spiegano come far funzionare l'uscita TV DirectFB sulle schede
-Matrox.
-</para>
-
-<note><para>
-La prima versione di DirectFB con cui siamo riusciti a farlo funzionare è la
-0.9.17 (ha problemi, gli serve la patch <systemitem>surfacemanager</systemitem>
-dal sito suddetto). Portare il codice per CRTC2 in
-<link linkend="mga_vid">mga_vid</link> è in progetto da anni,
-sono benvenute delle <ulink url="../../tech/patches.txt">patch</ulink>.
-</para></note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpeg_decoders">
-<title>Decodificatori MPEG</title>
-
-<sect2 id="dvb">
-<title>Uscita e ingresso DVB</title>
-
-<para>
-<application>MPlayer</application> supporta le schede con chipset DVB Siemens
-di produttori come Siemens, Technotrend, Galaxis o Hauppauge. I driver DVB più
-recenti sono disponibili sul
-<ulink url="http://www.linuxtv.org">sito di Linux TV</ulink>.
-Se vuoi eseguire la transcodifica software dovresti avere almeno una CPU a 1GHz.
-</para>
-
-<para>
-Configure dovrebbe rilevare la tua scheda DVB. Se non lo fa, forzalo con
-<screen>./configure --enable-dvb</screen>
-Se hai gli header ost in un percorso non standard, imposta il percorso con
-<screen>
-./configure --extra-cflags=<replaceable>directory sorgenti DVB</replaceable>/ost/include
-</screen>
-Poi compila ed installa come al solito.</para>
-
-<formalpara><title>USO</title>
-<para>
-La decodifica hardware di flussi contententi video MPEG-1/2 e/o audio MPEG puÃ
-essere effettuata con questo comando:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>file.mpg|vob</replaceable>
-</screen>
-</para>
-</formalpara>
-
-<para>
-La decodfica di qualsiasi altro tipo di flusso video richiede la transcodifica
-in MPEG-1, indi è lenta a potrebbe non valerne la pena, specialmente se il tuo
-computer è lento.
-Si puà ottenere usando un comando come questo:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>tuofile.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>tuofile.ext</replaceable>
-</screen></para>
-
-<para>
-Fai attenzione che le schede DVB supportano solo le altezze 288 e 576 per PAL
-oppure 240 e 480 per NTSC. <emphasis role="bold">Devi</emphasis> ridimensionare
-le altre altezze aggiungendo <option>scale=larghezza:altezza</option>, con la
-larghezza e l'altezza volute, all'opzione <option>-vf</option>. Le schede DVB
-accettano diverse larghezze, come 720, 704, 640, 512, 480, 352 etc. ed
-effettuano il ridimensionamento hardware sulla direzione orizzontale, perciò
-nella maggior parte deiu casi non ti serve ridimensionare in orizzontale.
-Per un MPEG-4 (DivX) a 512x384 (aspetto 4:3), prova:
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen>
-</para>
-
-<para>
-Se hai un film in widescreen e non vuoi ridimensionarlo ad altezza piena,
-puoi usare il filtro <option>expand=w:h</option> per aggiungere delle bande
-nere. Per guardare un MPEG-4 (DivX) a 640x384, prova:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Se la tua CPU è troppo lenta per un MPEG-4 (DivX) intero a 720x576, prova a
-rimpicciolirlo:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Se la velocità non migliora, prova a rimpicciolirlo anche in verticale:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Per l'OSD e i sottotitoli usa la caratteristica OSD del filtro expand. Quindi,
-al posto di <option>expand=w:h</option> o <option>expand=w:h:x:y</option>, usa
-<option>expand=w:h:x:y:1</option> (il quinto parametro <option>:1</option> alla
-fine abiliterà il rendering dell'OSD). Potresti voler spostare leggermente
-verso l'alto l'immagine per ottenere una banda nera più ampia per i
-sottotitoli. Potresti anche voler spostare più in alto i sottotitoli, se sono
-al di fuori dello schermo della tua TV, usa l'opzione
-<option>-subpos <0-100></option> (<option>-subpos 80</option> è una
-buona scelta).
-</para>
-
-<para>
-Per poter riprodurre un film non a 25fps su una TV PAL ovvero con una CPU
-lenta, aggiungi l'opzione <option>-framedrop</option>.
-</para>
-
-<para>
-Per mantenere il rapporto di aspetto dei file MPEG-4 (DivX) e ottenere i
-parametri ottimali per il ridimensionamento (ridimensionamento orizzontale
-hardware e verticale software mantenendo il giusto rapporto di aspetto), usa il
-nuovo filtro dvbscale:
-<screen>
-per una TV a 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-per una TV a 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen>
-</para>
-
-<formalpara><title>TV Digitale (modulo d'ingresso DVB)</title>
-<para>Puoi usare la tua scheda TV per guardare la TV Digitale.</para>
-</formalpara>
-
-<para>
-Dovresti avere installati i programmi <command>scan</command> e
-<command>szap/tzap/czap/azap</command>; essi sono inclusi nel pacchetto dei
-driver.
-</para>
-
-<para>
-Verifica che i tuoi driver funzionino correttamente attraverso un programma tipo
-<ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
-(che è la base del modulo d'ingresso DVB).
-</para>
-
-<para>
-Ora dovresti riempire un file <filename>~/.mplayer/channels.conf</filename>,
-con la sintassi accettata da <command>szap/tzap/czap/azap</command>, o fare in
-modo che <command>scan</command> lo riempia per te.
-</para>
-
-<para>
-Se hai più di un tipo di scheda (per es. Satellitare, Terrestre, Via Cavo e
-ATSC) puoi salvare i tuoi file dei canali come
-<filename>~/.mplayer/channels.conf.sat</filename>,
-<filename>~/.mplayer/channels.conf.ter</filename>,
-<filename>~/.mplayer/channels.conf.cbl</filename>,
-e <filename>~/.mplayer/channels.conf.atsc</filename>,
-rispettivamente, per spingere implicitamente <application>MPlayer</application>
-ad usare questi file invece che <filename>~/.mplayer/channels.conf</filename>,
-e devi solamente specificare quale scheda usare.
-</para>
-
-<para>
-Assicurati di avere <emphasis>solo</emphasis> canali in chiaro nel tuo file
-<filename>channels.conf</filename>, altrimenti
-<application>MPlayer</application> resterà in attesa di una trasmissione non
-criptata.
-</para>
-
-<para>
-Nei tuoi campi audio e video puoi usare una sintassi espansa:
-<option>...:pid[+pid]:...</option> (fino ad un massimo di 6 pid ciascuno);
-in questo caso <application>MPlayer</application> includerà nel flusso tutti
-i pid indicati, oltre al pid 0 (che contiene il PAT).
-Si consiglia di includere in ogni riga i pid PMT e PCR per il canale
-corrispondente (se conosciuti).
-Puoi anche specificare 8192, che seleziona tutti i pid su quella frequenza e
-puoi anche passare con TAB attraverso i programmi.
-Potrebbe aver bisogno di più banda, anche se le schede economiche passano
-sempre tutti canali al kernel, per cui non fa molta differenza per queste.
-Altri utilizzi possibili sono: pid televideo, seconda traccia audio, etc...
-</para>
-
-<para>
-Se <application>MPlayer</application> si lamenta frequentemente di
-<screen>Troppi pacchetti video/audio nel buffer</screen> oppure noti una
-desincronizzazione crescente tra l'audio e il video, verifica la presenza del
-pid PCR nel tuo flusso (serve per adeguarsi alla modalità di buffering del
-trasmettitore) e/o prova ad usare il demuxer MPEG-TS di libavformat aggiungendo
-<option>-demuxer lavf -lavfdopts probesize=128</option> alla tua riga comando.
-</para>
-
-<para>
-Per vedere il primo dei canali presenti nella tua lista, esegui
-<screen>mplayer dvb://</screen>
-</para>
-
-<para>
-Se vuoi guardare un canale in particolare, come R1, esegui
-<screen>mplayer dvb://<replaceable>R1</replaceable></screen>
-</para>
-
-<para>
-Se hai più di una scheda puoi anche dover specificare il numero della scheda
-dove il canale si vede (per es. 2) con la sintassi:
-<screen>mplayer dvb://<replaceable>2 at R1</replaceable></screen>
-</para>
-
-<para>
-Per cambiare canale premi i tasti <keycap>h</keycap> (successivo) e
-<keycap>k</keycap> (precedente), oppure usa il
-<link linkend="osdmenu">menu OSD</link>.
-</para>
-
-<para>
-Per disabilitare temporaneamente il flusso video o audio, copia quello che
-segue in <filename>~/.mplayer/input.conf</filename>:
-<screen>
-% set_property switch_video -2
-& step_property switch_video
-? set_property switch_audio -2
-^ step_property switch_audio
-</screen>
-(Reimpostando i comandi da tastiera come si preferisce.) Premendo il tasto
-corrispondente a switch_x -2, il flusso relativo verrà chiuso;
-premendo il tasto corrispondente a step_x il flusso verrà riaperto.
-Nota che quando ci sono più flussi audio e video nel multiplex questo
-meccanismo non funzionerà nel modo che ci si aspetta.
-</para>
-
-<para>
-Durante la riproduzione (non durante la registrazione), per evitare
-saltellamenti e messaggi di errore tipo 'Il tuo sistema è troppo LENTO',
-si consiglia di aggiungere
-<screen>
--mc 10 -speed 0.97 -af scaletempo
-</screen>
-alla riga comando, impostando i parametri di scaletempo come si preferisce.
-</para>
-
-<para>
-Se il tuo <filename>~/.mplayer/menu.conf</filename> contiene una voce
-<literal><dvbsel></literal>, come quella nel file di esempio
-<filename>etc/dvb-menu.conf</filename> (che puoi usare per sovrascrivere
-<filename>~/.mplayer/menu.conf</filename>), il menu principale mostrerà una
-voce di sotto-menu che ti lascerà scegliere uno dei canali presenti nel tuo
-<filename>channels.conf</filename>, possibilmente preceduto da un menu con la
-lista delle schede disponibili, se ve ne è più di una utilizzabile da
-<application>MPlayer</application>.
-</para>
-
-<para>
-Se vuoi salvare su disco un programma puoi usare
-<screen>
-mplayer -dumpfile <replaceable>r1.ts</replaceable> -dumpstream dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-Se vuoi registrarlo in un formato diverso (ri-codificandolo) puoi invece
-lanciare un comando come
-<screen>
-mencoder -o <replaceable>r1.avi</replaceable> -ovc xvid -xvidencopts bitrate=800 \
- -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-Leggi la pagina man per una lista di opzioni che puoi passare al modulo di
-ingresso DVB.
-</para>
-
-<formalpara><title>FUTURO</title>
-<para>
-Se hai domande o vuoi ricevere gli annunci di nuove caratteristiche e vuoi
-partecipare a discussioni su questo argomento, iscriviti alla nostra mailing
-list
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>.
-Per favore tieni presente che la lingua della lista è l'inglese.
-</para>
-</formalpara>
-
-<para>
-In futuro puoi aspettarti la possibilità di mostrare OSD e sottotitoli usando
-la caratteristica nativa delle schede DVB, così come una riproduzione più
-fluida di film non a 25fps e transcodifica in tempo reale tra MPEG-2 e MPEG-4
-(decompressione parziale).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-
-<para>
-<application>MPlayer</application> fornisce una riproduzione accelerata
-hardware con la scheda Creative DXR2.
-</para>
-
-<para>
-Prima di tutto ti serviranno dei driver DXR2 correttamente installati. Puoi
-trovare i driver e le istruzioni per l'installazione sul sito
-<ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink>.
-</para>
-
-<variablelist><title>USO</title>
-<varlistentry>
- <term><option>-vo dxr2</option></term>
- <listitem><para>Abilita l'uscita TV.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-vo dxr2:x11</option> or <option>-vo dxr2:xv</option></term>
- <listitem><para>Abilita in X11 l'uscita su Overlay.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-dxr2 <option1:option2:...></option></term>
- <listitem><para>
- Questa opzione viene usata per controllare il driver DXR2.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Il chipset di overlay usato sulla DXR2 ha una qualità piuttosto bassa, ma le
-impostazioni di default dovrebbero funzionare per chiunque. L'OSD potrebbe
-essre utilizzabile con l'overlay (non sulla TV) disegnandolo nella chiave
-colore. Con le impostazioni di default della chiave colore puoi ottenere
-risultati variabili, spesso vedrai la chiave colore attorno ai caratteri o
-qualche altro effetto strambo. Ma se imposti correttamente le opzioni della
-chiave colore dovresti ricavare dei risultati accettabili.
-</para>
-
-<para>Per favore vedi nella pagina man le opzioni disponibili.</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-
-<para>
-<application>MPlayer</application> fornisce una riproduzione accelerata con le
-schede Creative DXR3 e Sigma Designs Hollywood Plus. Queste schede usano
-entrambe il chip em8300 di decodifica MPEG di Sigma Designs.
-</para>
-
-<para>
-Prima di tutto ti serviranno dei driver DXR3/H+ correttamente installati,
-versione 0.12.0 o successiva. Puoi trovare i driver e le istruzioni per
-l'installazione sul sito
-<ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus per Linux</ulink>.
-<filename>configure</filename> dovrebbe rilevare automaticamente la tua scheda,
-la compilazione dovrebbe concludersi senza problemi.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>USO</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>dispositivo</replaceable></option></term>
-<listitem><para>
-<option>overlay</option> attiva l'overlay (sovrapposizione) invece che l'uscita
-TV. Per funzionare richiede un'impostazione dell'overlay adeguatamente
-configurata. Il modo più semplice di configurare l'overlay è eseguire prima
-autocal. Poi lanciare mplayer con l'uscita dxr3 e, senza l'overlay abilitato,
-eseguire dxr3view. In dxr3view puoi giocherellare con le impostazioni
-dell'overlay e vederne il risultato in tempo reale, forse questa funzionalitÃ
-sarà utilizzabile in futueo dalla GUI di <application>MPlayer</application>.
-Una volta che l'overlay sarà correttamente configurato, non ti servirà più
-dxr3view.
-<option>prebuf</option> abilita il pre-buffering. Il pre-buffering è una
-funzionalità del chip em8300 che gli permette di contenere più di un
-fotogramma video per volta. Questo significa che quando stai usando il
-pre-buffering, <application>MPlayer</application> cercherà di mantenere il
-buffer video constantemente pieno di dati.
-Se sei su una macchina lenta, l'uso della CPU di
-<application>MPlayer</application> sarà vicino, o pari, al 100%.
-Questo è particolarmente vero se riproduci flussi MPEG puri (come DVD, SVCD e
-così via), visto che <application>MPlayer</application> non dovrÃ
-ricodificarli in MPEG riempirà il buffer molto velocemente.
-Con il pre-buffering la riproduzione video è
-<emphasis role="bold">molto</emphasis> meno sensibile all'utilizzo della CPU da
-parte di altri programmi, non scarterà fotogrammi a meno che tale applicazione
-prenda possesso della CPU per un tempo lungo.
-Quando viene usato senza pre-buffering, l'em8300 è molto più sensibile al
-carico della CPU, per cui si consiglia caldamente di abilitare l'opzione
-<option>-framedrop</option> di <application>MPlayer</application> per evitare
-un'ulteriore perdita di sincronia.
-<option>sync</option> abiliterà il nuovo motore di sincronizzazione.
-Questa attualmente è una caratteristica sperimentale. Con il motore di
-sincronizzazione abilitato, l'orologio interno dell'em8300 verrà tenuto
-constantemente sotto controllo, se inizia a spostarsi dall'orologio di
-<application>MPlayer</application> verrà resettato causando lo scarto da parte
-dell'em8300 di tutti i fotogrammi rimasti indietro.
-<option>norm=x</option> imposterà la norma TV della scheda DXR3 senza il
-bisogno di strumenti esterni come em8300setup. Norme valide sono 5 = NTSC,
-4 = PAL-60, 3 = PAL. Norme speciali sono 2 (auto-impostazione usando PAL/PAL-60)
-e 1 (auto-impostazione usando PAL/NTSC) poiché decidono quale norma usare
-in base alla frequenza fotogrammi del filmato. norm = 0 (default) non modifica
-la norma corrente.
-<option><replaceable>dispositivo</replaceable></option> = numero del dipositivo da usare se hai più di una scheda em8300. Ognuna di queste opzioni può essere
-tralasciata.
-<option>:prebuf:sync</option> sembra funzionare molto bene riproducendo filmati
-MPEG-4 (DivX). Alcune persone hanno notificato problemi usando l'opzione prebuf
-riproducendo file MPEG-1/2.
-Potresti voler provare dapprima l'esecuzione senza alcuna opzione, se hai
-problemi di sincronizzazione, o problemi coi sottotitoli DVD, fai un tentativo
-con <option>:sync</option>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
- <listitem><para>
- Per l'uscita audio, dove <replaceable>X</replaceable> è il numero del
- dispositivo (0 per una scheda sola).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
- <listitem><para>
- This does not work with digital audio output (<option>-ac hwac3</option>).
- L'em8300 non può riprodurre frequenze inferiori a 44100Hz. Se la frequenza
- è minore di 44100Hz imposta 44100Hz oppure 48000Hz a seconda di quale sia la
- più prossima. Per es. se il film usa 22050Hz allora usa 44100Hz come
- 44100 / 2 = 22050, se è 24000Hz usa 48000Hz come 48000 / 2 = 24000 e così
- via.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf lavc</option></term>
- <listitem><para>
- Per visualizzare contenuti non MPEG sull'em8300 (per es. MPEG-4 (DivX) o
- RealVideo) devi specificare un filtro video MPEG-1 come
- <systemitem class="library">libavcodec</systemitem> (lavc).
- Vedi la pagina man per ulteriori informazioni circa <option>-vf lavc</option>.
- Attualmente non c'è modo di impostare gli fps dell'em8300, il che significa
- che sono fissati a 30000/1001 fps.
- A causa di ciò si raccomanda caldamente di usare
- <option>-vf lavc=<replaceable>qualità </replaceable>:25</option> soprattutto
- se stai usando il pre-buffering. Allora perché 25 e non 30000/1001?
- Bene, il fatto è che quando usi 30000/1001 l'immagine diventa un pochino
- saltellante. La ragione di ciò ci è sconosciuta.
- Se li imposti a qualcosa tra 25 e 27 l'immagine diventa stabile.
- Per adesso tutto quello che possiamo fare è accettarlo empiricamente.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf expand=-1:-1:-1:-1:1</option></term>
- <listitem><para>
- Anche se il driver DXR3 può posizionare qualche OSD sul video MPEG-1/2/4, ha
- una qualità decisamente inferiore del tipico OSD di
- <application>MPlayer</application>, e ha anche molti problemi di
- aggiornamento. La riga comando suddetta dapprima converte il video in ingresso
- a MPEG-4 (questo è obbligatorio, scusa), poi applica un filtro expand che non
- espande nulla (-1: default), ma aggiunge all'immagine l'OSD normale
- (questo è ciò che fa l'"1" alla fine).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ac hwac3</option></term>
- <listitem><para>
- L'em8300 supporta la riproduzione audio AC-3 (in surround) attraverso l'uscita
- digitale della scheda. Vedi l'opzione <option>-ao oss</option> più sopra,
- deve essere usata per specificare l'uscita DXR3 al posto di una scheda audio.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="other">
-<title>Altri dispositivi di visualizzazione</title>
-
-<sect2 id="zr">
-<title>Zr</title>
-
-<para>
-Questo è un driver video (<option>-vo zr</option>) per un buon numero di schede
-di cattura/riproduzione MJPEG (provato con DC10+ e Buz, e dovrebbe funzionare
-per LML33, la DC10). Il driver lavora codificando il fotogramma in JPEG e poi
-inviandolo alla scheda. Per la codifica JPEG viene usata, e richiesta,
-<systemitem class="library">libavcodec</systemitem>.
-Con la modalità speciale <emphasis>cinerama</emphasis>, puoi guardare filmati
-in verà modalità widescreen a patto che tu abbia due proiettori e due
-schede MJPEG. Proporzionalmente alla risoluzione e alle impostazioni della
-qualità , questo driver può richiedere molta potenza di CPU, ricordati di
-specificare <option>-framedrop</option> se la tua macchina è troppo lenta.
-Nota: il mio AMD K6-2 350MHz è (con <option>-framedrop</option>) abbastanza
-adeguato per riprodurre materiale VCD e film rimpiccioliti.
-</para>
-
-<para>
-Il driver comunica col driver del kernel disponibile su
-<ulink url="http://mjpeg.sf.net"/>, indi devi avere per prima cosa questo
-funzionante. La presenza di una scheda MJPEG è autorilevata dallo script
-<filename>configure</filename>, se la rilevazione fallisce, forzala con
-<screen>./configure --enable-zr</screen>
-</para>
-
-<para>
-L'uscita può essere controllata con varie opzioni, una descrizione dettagliata
-delle opzioni si trova nella pagina man, una lista breve delle opzioni si può
-avere eseguendo
-<screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
-Cose come il ridimensionamento e l'OSD (on screen display) non sono gestite da
-questo driver ma possono essere ottenute usado dei filtri video. Per esempio,
-supponi di avere un film a una risoluzione di 512x272 e vuoi vederlo a schermo
-intero con un'ampiezza di 768, 384 o 192. Per ragioni di prestazioni e di
-qualità , io sceglierei di ridimensionare il film a 384x204 usando il
-ridimensionatore software bilineae veloce. La riga comando diventa
-<screen>
-mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>filmato.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Il ritaglio può essere eseguito dal filtro <option>crop</option> e da questo
-driver di per sé. Supponi che un film sia troppo ampio per vedersi dal tuo
-Buz e che tu voglia usare <option>-zrcrop</option> per ridurre l'ampiezza del
-film, allora dovrai lanciare il comando seguente
-<screen>
-mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Se vuoi usare il filtro <option>crop</option>, dovresti lanciare
-<screen>
-mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Ulteriori presenze di <option>-zrcrop</option> evocano la modalitÃ
-<emphasis>cinerama</emphasis>, per es. puoi distribuire il filmato su varie TV
-o proiettori per creare uno schermo più grande.
-Supponi di avere due proiettori. Quello di sinistra è collegato al tuo Buz su
-<filename>/dev/video1</filename> e quello di destra è connesso al tuo DC10+ su
-<filename>/dev/video0</filename>. Il film ha una risoluzione di 704x288.
-Supponi inoltre di volere il proiettore di destra in bianco e nero e che quello
-di sinistra debba avere fotogrammi JPEG con una qualità 10, allora dovrai
-eseguire il comando seguente
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>film.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Vedi che le opzioni che ci sono prima della seconda <option>-zrcrop</option> si
-applicano solo al DC10+ e che le opzioni dopo la seconda
-<option>-zrcrop</option> si applicano al Buz. Il massino numero di schede MJPEG
-contemporanee in <emphasis>cinerama</emphasis> è quattro, per cui puoi
-costruire un muro video di 2x2.
-</para>
-
-<para>
-Infine una nota importante: non avviare o fermare XawTV sul dispoitivo di
-riproduzione durante la riproduzione stessa, o ti manderà in crash il
-computer. Va tuttavia bene <emphasis role="bold">PRIMA</emphasis> lanciare
-XawTV, <emphasis role="bold">POI</emphasis> avviare
-<application>MPlayer</application>, attendere l'uscita di
-<application>MPlayer</application>, e <emphasis role="bold">DOPO</emphasis>
-fermare XawTV.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="blinkenlights">
-<title>Blinkenlights</title>
-
-<para>
-Il driver è in grado di riprodurre usando il protocollo UDP Blinkenlights. Se
-non sai cosa siano
-<ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink> o il suo
-successore <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>,
-scoprilo. Anche se probabilmente questo è uno degli ultimi driver video usati,
-senza dubbio è il più figo che <application>MPlayer</application> abbia da
-offrire. Guarda solo alcuni dei
-<ulink url="http://www.blinkenlights.de/video.en.html">video documentali di
-Blinkenlights</ulink>.
-Sul video Arcade puoi vedere il driver di uscita video Blinkenlights in azione
-alla posizione 00:07:50.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tvout">
-<title>Gestione uscita TV-out</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Schede Matrox G400</title>
-
-<para>
-Sotto Linux hai due modi per far funzionare l'uscita TV delle G400:
-</para>
-
-<important>
-<para>
-Per le istruzioni per l'uscita TV-out su Matrox G450/G550, vedi per favore la
-sezione successiva!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem>
- <para>
- Usando il driver e il modulo HAL, disponibile dal
- <ulink url="http://www.matrox.com">sito Matrox</ulink>. Questo ti farò
- avere X sulla TV.
- </para>
- <para>
- <emphasis role="bold">Questo metodo non ti fornirà una riproduzione
- accelerate</emphasis> come sotto Windows! La seconda uscita ha solo il
- framebuffer YUV, il <emphasis>BES</emphasis> (Back End Scaler, il
- ridimensionatore sulle schede G200/G400/G450/G550) non funziona su di esso!
- Il driver per Windows in qualche modo aggira il problema, probabilmente
- usando il motore 3D per ridimensionare, e il framebuffer YUV per mostrare
- l'immagine ridimensionata. Se vuoi davvero usare X, uitlizza le opzioni
- <option>-vo x11 -fs -zoom</option>, ma sarÃ
- <emphasis role="bold">LENTO</emphasis>, e avrà la protezione di copia
- <emphasis role="bold">Macrovision</emphasis> abilitata (puoi "correggere"
- Macrovision usando questo
- <ulink url="http://avifile.sf.net/mgamacro.pl">script perl</ulink>).
- </para>
- </listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem>
- <para>
- Usando i <emphasis role="bold">moduli matroxfb</emphasis> nei kernel 2.4.
- I kernel 2.2 non hanno in sé la funzionalità TVout, indi sono
- inutilizzabili per questo fine. Devi abilitare TUTTE le caratteristiche
- specifiche per matroxfb durante la compilazione (tranne MultiHead), e
- compilarle dentro ai <emphasis role="bold">moduli</emphasis>!
- Devi anche abilitare I2C e mettere gli strumenti
- <application>matroxset</application>, <application>fbset</application>
- e <application>con2fb</application> in un percorso eseguibile (path).
- </para>
-
- <procedure>
- <step><para>
- Quindi carica nel kernel i moduli <systemitem>matroxfb_Ti3026,
- matroxfb_maven, i2c-matroxfb, matroxfb_crtc2</systemitem>.
- La tua console in modalità testo entrerà in modalità framebuffer
- (senza via di ritorno!).
- </para></step>
- <step><para>
- Dopodiché imposta il monitor e la TV come ti garba usando gli strumenti
- citati sopra.
- </para></step>
- <step><para>
- Evvai. L'operazione successiva è far sparire il cursore a blocco di tty1
- (o quello che è) e disabilitare lo spegnimento dello schermo. Esegui i
- comandi seguenti:
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- or
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- Probabilmente vuoi mettere i suddetti in uno script e anche vuotare lo
- schermo. Per ripristinare il cursore:
- <screen>echo -e '\033[?25h'</screen> o
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- Yeah kewl. Avvia la riproduzione del film con
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>nomefile</replaceable><!--
- --></screen>
-
- (se usi X, adesso passa alla matroxfb con per esempio
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.)
- Sostituisci <literal>640</literal> e <literal>512</literal> se imposti la
- risoluzione ad un'altra...
- </para></step>
- <step><para>
- <emphasis role="bold">Goditi la ultra-veloce ultra-accessoriata uscita TV
- Matrox (megli di Xv)!</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-
-<formalpara><title>Costruire un cavo per uscita TV-out Matrox</title>
-<para>
-Nessuno si assume alcuna responsabilità , né risponde di alcuna danno causato
-da questa documentazione.
-</para>
-</formalpara>
-
-<formalpara><title>Cavo per G400</title>
-<para>
-Il quarto pin del connettore CRTC2 è il segnale video composito. La terra sono
-il sesto, settimo e ottavo pin (informazioni fornite da Balázs Rácz).
-</para>
-</formalpara>
-
-<formalpara><title>Cavo per G450</title>
-<para>
-Il primo pin del connettore CRTC2 è il segnale video composito. La terra sono
-il quinto, sesto, settimo e quindicesimo pin (5, 6, 7, 15) (informazioni
-fornite da Balázs Rácz).
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_g450">
-<title>Schede Matrox G450/G550</title>
-
-<para>
-La gestione dell'uscita TV per queste schede è stata aggiunta solo
-recentemente e non è ancora nel kernel ufficiale.
-Attualmente il modulo <emphasis role="bold">mga_vid</emphasis> non può essere
-utilizzato, per quanto ne so, perché il driver G450/G550 funziona solo in una
-modalità : il primo chip CRTC (con molte più funzioni) sul primo schermo (sul
-monitor), e il secondo CRTC (niente <emphasis role="bold">BES</emphasis> - per
-chiarimenti su BES, vedi la sezione sopra sulla G400) sulla TV. Perciò per ora
-puoi usare solo il driver di uscita <emphasis>fbdev</emphasis> di
-<application>MPlayer</application>.
-</para>
-
-<para>
-The first CRTC can't be routed to the second head currently. The author of the
-kernel matroxfb driver - Petr Vandrovec - will maybe make support for this, by
-displaying the first CRTC's output onto both of the heads at once, as currently
-recommended for G400, see the section above.
-</para>
-
-<para>
-La patch necessaria per il kernel e l'HOWTO dettagliato sono scaricabili da
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_cable">
-<title>Costruire un cavo per l'uscita TV Matrox</title>
-<para>
-Nessuno si prende alcuna responsabilità , né garantisce per qualsiasi danno
-causato da questa documentazione.
-</para>
-
-<formalpara><title>Cavo per G400</title>
-<para>
-Il quarto pin del connettore CRTC2 è il segnale video composito. La terra sono
-il sesto, settimo e ottavo pin. (informazioni fornite da Balázs Rácz)
-</para>
-</formalpara>
-
-<formalpara><title>Cavo per G450</title>
-<para>
-Il primo pin del connettore CRTC2 è il segnale video composito. La terra sono
-il quinto, sesto, settimo e quindicesimo pin (5, 6, 7, 15).
-(informazioni fornite da Balázs Kerekes)
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-ati">
-<title>Schede ATI</title>
-
-<formalpara><title>PREAMBOLO</title>
-<para>
-Attualmente ATI non vuole supportare alcuno dei suoi chip TV-out sotto Linux a
-causa della loro tecnologia Macrovision sotto licenza.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>SITUAZIONE USCITA TV DELLE SCHEDE ATI IN LINUX</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- supportata da <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- supportata da <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> e <emphasis role="bold">Rage128</emphasis>:
- supportate da <application>MPlayer</application>!
- Controlla le sezioni <link linkend="vesa">driver VESA</link> e
- <link linkend="vidix">VIDIX</link>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- supportate da
- <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Con le altre schede usa semplicemente il driver <link linkend="vesa">VESA</link>
-senza VIDIX. Tuttavia ti serve una CPU potente.
-</para>
-
-<para>
-Un'unica cosa ti serve fare - <emphasis role="bold">Assicurati di avere il
-connettore TV collegato prima di avviare il tuo PC</emphasis> dato che il BIOS
-video si inizializza solamente durante il passaggio POST.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-
-<para>
-Per prima cosa, DEVI scaricare i driver proprietari a sorgenti chiusi da
-<ulink url="http://nvidia.com"/>.
-Non sarà spiegato il processo di installazione e configurazione visto che non
-esula lo scopo di questa documentazione.
-</para>
-
-<para>
-Dopo che XFree86, XVideo, e l'accelerazione 3D funzionano correttamente,
-modifica la sezione Device della tua scheda nel file
-<filename>XF86Config</filename>, secondo l'esempio seguente (adattalo alla tua
-scheda/TV):
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-EndSection
-</programlisting>
-</para>
-
-<para>
-Sicuramente la cosa importante è la parte TwinView.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-neomagic">
-<title>NeoMagic</title>
-
-<para>
-Il chip NeoMagic si trova in unìampia gamma di portatili, alcuni dei quali sono
-equipaggiati con un codificatore TV analogico semplice, alcuni ne hanno uno
-avanzato.
-<itemizedlist>
-<listitem><para>
- E' stato riportato che si può ottenere un'uscita TV affidabile usando
- <option>-vo fbdev</option> o <option>-vo fbdev2</option>.
- Devi avere vesafb compilato nel kernel e passare i seguenti parametri sulla
- riga di avvio del kernel:
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- Dovresti far partire <application>X</application>, poi passare alla modalitÃ
- in console con per es.
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.
- Se non avvii <application>X</application> prima di lanciare
- <application>MPlayer</application> dalla console, il video diventa lento e
- frammentato (chiarimenti sono benvenuti).
- Collegati in console, poi lancia il comando seguente:
-
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
-
- Ora dovresti vedere il filmato in console, che riempie circa la metà dello
- schermo LCD del tuo portatile. Per passare alla TV premi per tre volte
- <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo>.
- Provato su un Tecra 8000, kernel 2.6.15 con vesafb, ALSA v1.0.10.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">Chip di codifica Chrontel 70xx</emphasis>:
- Si trova negli IBM Thinkpad 390E e facilmente altri Thinkpad o portatili.
- </para><para>
- Devi usare <option>-vo vesa:neotv_pal</option> per PAL o
- <option>-vo vesa:neotv_ntsc</option> per NTSC.
- Fornirà la funzione di uscita TV nelle modalità a 16 e 8 bpp seguenti:
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480 e forse anche 800x600.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
- </itemizedlist>
- <para>
- La modalità 512x384 non è supportata dal BIOS. Per attivare l'uscita TV
- devi ridimensionare l'immagine a una risoluzione diversa. Se riesci a vedere
- un immagine sullo schermo a 640x480 o a 800x600 ma non a 320x240 o ad altre
- risoluzioni inferiori devi sostituire due tabelle in
- <filename>vbelib.c</filename>. Vedi la funzione vbeSetTV per i dettagli.
- In questo caso per favore contatta l'autore.
- </para>
- <para>
- Problemi conosciuti: solo VESA, non è implementato alcun controllo come
- luminosità , contrasto, livello del nero, filtro per lo sfarfallio.
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/pl/bugreports.xml b/DOCS/xml/pl/bugreports.xml
deleted file mode 100644
index 25263fe..0000000
--- a/DOCS/xml/pl/bugreports.xml
+++ /dev/null
@@ -1,523 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21760 -->
-<!-- Opiekun: Boski -->
-
-<appendix id="bugreports">
-<title>Jak zgÅaszaÄ bÅÄdy</title>
-
-<para>
-Dobre raporty bÅÄdów stanowiÄ
bardzo istotny wkÅad w rozwój każdego
-projektu. Jednak tak jak pisanie dobrych programów wymaga sporo pracy, tak
-dobre zgÅoszenia problemów wymagajÄ
trochÄ wysiÅku. Prosimy wziÄ
Ä pod uwagÄ to,
-że wiÄkszoÅÄ deweloperów jest bardzo zajÄta i odbiera nieprzyzwoitÄ
wrÄcz
-iloÅÄ listów. Wsparcie ze strony użytkownika jest naprawdÄ ważne w procesie
-rozwoju <application>MPlayera</application>. Należy jednak pamiÄtaÄ, że
-trzeba dostarczyÄ <emphasis role="bold">wszystkie</emphasis> informacje o które
-poprosimy i postÄpowaÄ dokÅadnie wedÅug instrukcji zawartej w tym dokumencie.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_security">
-<title>ZgÅaszanie bÅÄdów zwiÄ
zanych z bezpieczeÅstwem</title>
-
-<para>
-JeÅli znalazÅeÅ lukÄ, którÄ
można wykorzystaÄ, i chcesz zrobiÄ dobry uczynek
-i pozwoliÄ nam jÄ
naprawiÄ zanim jÄ
ujawnisz, chÄtnie przyjmiemy zgÅoszenie
-bezpieczeÅstwa pod adresem
-<ulink url="mailto:security@mplayerhq.hu">security@mplayerhq.hu</ulink>.
-ProszÄ pisaÄ w jÄzyku angielskim i dodaÄ [SECURITY] albo [ADVISORY] w temacie.
-Upewnij siÄ Å¼e Twoje zgÅoszenie zawiera caÅkowity i dokÅadny opis bÅÄdu.
-JeÅli wyÅlesz też poprawkÄ bÄdziemy bardzo szczÄÅliwi.
-ProszÄ, nie opóźniaj zgÅoszenia żeby stworzyÄ exploit wykorzystujÄ
cy lukÄ,
-możesz go wysÅaÄ w nastÄpnym liÅcie.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_fix">
-<title>Jak poprawiaÄ bÅÄdy</title>
-
-<para>
-Jeżeli uważasz, że posiadasz wystarczajÄ
ce umiejÄtnoÅci, namawiamy CiÄ do
-samodzielnego poprawiania bÅÄdów. A może już to zrobiÅeÅ? Przeczytaj
-<ulink url="../../tech/patches.txt">ten krótki dokument</ulink>, żeby dowiedzieÄ
-siÄ w jaki sposób dodaÄ swojÄ
ÅatÄ do źródeÅ
-<application>MPlayera</application>. Jeżeli bÄdziesz miaÅ jakieÅ pytania,
-pomogÄ
Ci ludzie z listy
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-(tylko w jÄzyku angielskim -przyp. tÅumacza).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_regression_test">
-<title>Jak wykonaÄ test regresji za pomocÄ
Subversion</title>
-
-<para>
-Czasami zdarza siÄ problem typu "wczeÅniej dziaÅaÅo, a teraz przestaÅo...".
-Tutaj znajduje siÄ, opisana krok po kroku, procedura, której celem jest próba
-znalezienia źródÅa problemu.
-<emphasis role="bold">Nie jest</emphasis> ona przeznaczona
-dla przeciÄtnego użytkownika.
-</para>
-
-<para>
-Najpierw należy pobraÄ ÅºródÅa MPlayera z SVN.
-WiÄcej szczegóÅów na ten temat znajduje siÄ w
-<ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">sekcji o Subversion strony pobierania</ulink>.
-</para>
-
-<para>
-W rezultacie w katalogu mplayer/ znajdzie siÄ obraz drzewa Subversion, po stronie klienta.
-Teraz zaktualizuj ten obraz do daty, która CiÄ interesuje:
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-Format daty to RRRR-MM-DD GG:MM:SS.
-UżywajÄ
c takiego formatu daty masz pewnoÅÄ, że bÄdziesz w stanie wyciÄ
gaÄ Åatki
-zgodnie z datÄ
, gdy zostaÅy dodane, dokÅadnie tak jak w przypadku
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">archiwum listy MPlayer-cvslog</ulink>.
-</para>
-
-<para>
-NastÄpnie postÄpuj tak jak w przypadku normalnej aktualizacji:
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-Jeżeli czytasz ten dokument, a nie jesteÅ programistÄ
, najszybszym
-sposobem na dotarcie do miejsca w którym pojawi siÄ problem jest
-użycie binarnego wyszukiwania — tzn. szukania daty
-pojawienia siÄ problemu poprzez dzielenie interwaÅu czasowego na póÅ
-przy każdym kolejnym wyszukiwaniu.
-PrzykÅadowo, jeżeli problem wystÄ
piÅ w 2003, spróbuj najpierw szukaÄ
-problemu w wydaniu z poÅowy roku. Jeżeli bÄdzie obecny, cofnij siÄ
-do pierwszego kwietnia; jeżeli nie, przejdź do pierwszego października itd.
-</para>
-
-<para>
-Jeżeli masz dużo wolnego miejsca na twardym dysku (peÅna kompilacja
-zajmuje aktualnie 100 MB albo okoÅo 300-350 MB jeżeli uaktywnione
-jest debuggowanie), skopiuj najstarszÄ
dziaÅajÄ
cÄ
wersjÄ zanim dokonasz
-aktualizacji; oszczÄdzi to sporo czasu, jeżeli zajdzie potrzeba powrotu
-do starszej wersji.
-(Zazwyczaj konieczne jest uruchomienie 'make distclean' przed
-rekompilacjÄ
wczeÅniejszej wersji, wiÄc jeżeli nie zrobisz kopii zapasowej
-oryginalnego drzewa, bÄdziesz musiaÅ wszystko rekompilowaÄ, jeÅli
-bÄdziesz chciaÅ wróciÄ do aktualnej wersji.)
-</para>
-
-<para>
-Kiedy znajdziesz dzieÅ w którym pojawiÅ siÄ problem, kontynuuj szukanie
-używajÄ
c archiwum mplayer-cvslog (uporzÄ
dkowane wg daty) i bardziej
-precyzyjnych aktualizacji svn obejmujÄ
cych godziny, minuty i sekundy:
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-To pomoże ci Åatwo znaleÅºÄ ÅatkÄ, która jest winowajcÄ
.
-</para>
-
-<para>
-Jeżeli znajdziesz ÅatkÄ, która jest źródÅem problemu, to znaczy, że już
-prawie osiÄ
gnÄ
ÅeÅ sukces; wyÅlij informacjÄ o niej na
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink>
-lub zapisz siÄ na listÄ
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-i tam wyÅlij raport.
-Istnieje szansa, że autor Åatki zasugeruje w jaki sposób rozwiÄ
zaÄ problem.
-Możesz też wpatrywaÄ siÄ w ÅatkÄ tak dÅugo, aż nie bÄdzie mogÅa wytrzymaÄ
-i wyjawi ci lokalizacjÄ bÅÄdu:-).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_report">
-<title>Jak zgÅaszaÄ bÅÄdy</title>
-
-<para>
-Po pierwsze sprawdź najnowszÄ
wersjÄ SVN <application>MPlayera</application>,
-ponieważ dany bÅÄ
d może byÄ już w niej naprawiony. Rozwój
-<application>MPlayera</application> przebiega naprawdÄ szybko, wiÄkszoÅÄ
-problemów wystÄpujÄ
cych w oficjalnych wydaniach jest zgÅaszana w ciÄ
gu kilku dni
-albo nawet godzin. Dlatego też prosimy używaÄ <emphasis role="bold">tylko wersji
-z Subversion</emphasis> do zgÅaszania bÅÄdów. Dotyczy to gÅównie pakietów binarnych
-<application>MPlayera</application>. Instrukcje dotyczÄ
ce Subversion znajdujÄ
siÄ
-na dole <ulink url="http://www.mplayerhq.hu/dload.html">tej strony</ulink>
-lub w pliku README. Jeżeli problem dalej wystÄpuje prosimy sprawdziÄ listÄ
-znanych bÅÄdów i resztÄ dokumentacji. Jeżeli problem
-nie jest znany lub rozwiÄ
zany przez naszÄ
dokumentacjÄ prosimy zgÅosiÄ bÅÄ
d.
-</para>
-
-<para>
-Nie należy wysyÅaÄ zgÅoszeÅ do deweloperów. <application>MPlayer</application>
-jest dzieÅem dużej grupy, wiÄc wiÄcej osób może byÄ zainteresowanych tym
-problemem. Czasami inni użytkownicy spotkali siÄ już z danym problemem i wiedzÄ
,
-jak go rozwiÄ
zaÄ, nawet jeżeli jest to bÅÄ
d w kodzie
-<application>MPlayera</application>.
-</para>
-
-<para>
-Prosimy opisywaÄ problem tak dokÅadnie, jak to tylko możliwe. Należy sprawdziÄ w
-jakich dokÅadnie okolicznoÅciach pojawia siÄ bÅÄ
d. Czy wystÄpuje on tylko w
-okreÅlonych sytuacjach? Czy ma zwiÄ
zek z konkretnym plikiem lub typem plików?
-Czy dotyczy tylko danego kodeka, czy też jest niezależny od kodeków? Czy możesz
-go powtórzyÄ z każdym wyjÅciem video? Im wiÄcej informacji dostarczysz, tym
-wiÄksze sÄ
szanse na rozwiÄ
zanie zgÅoszonego problemu. Nie należy również
-zapominaÄ o doÅÄ
czeniu wartoÅciowych informacji wymienionych poniżej. W
-przeciwnym wypadku nie bÄdziemy w stanie prawidÅowo zdiagnozowaÄ zgÅoszonego
-problemu.
-</para>
-
-<para>
-DoskonaÅym i dobrze napisanym przewodnikiem dotyczÄ
cym zadawania pytaÅ jest
-dokument <ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">"Jak
-mÄ
drze zadawaÄ pytania"</ulink> napisany przez
-<ulink url="http://www.catb.org/~esr/">Erica S. Raymonda</ulink>
-(Polskie tÅumaczenie tego dokumentu można znaleźÄ
-<ulink url="http://rtfm.killfile.pl/">tutaj</ulink> -przyp. tÅum.). Istnieje
-także inny dokumentem tego typu zatytuÅowany
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">Jak efektywnie zgÅaszaÄ bÅÄdy</ulink>
-stworzony przez <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simona Tathama</ulink>
-(Polskie tÅumaczenie tego dokumentu można znaleźÄ
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs-pl.html">tutaj</ulink>
--przyp. tÅum.). JeÅli bÄdziesz postÄpowaÅ zgodnie z tymi przewodnikami,
-powinieneÅ uzyskaÄ pomoc. Prosimy jednak pamiÄtaÄ, że Åledzimy listÄ jako
-ochotnicy, poÅwiÄcajÄ
c nasz wolny czas. JesteÅmy bardzo zajÄci i nie potrafimy
-zagwarantowaÄ, że pomożemy rozwiÄ
zaÄ zgÅoszony problem, ani nawet tego, że
-odpowiemy na Twoje zgÅoszenie.
-</para>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_where">
-<title>Gdzie zgÅaszaÄ bÅÄdy</title>
-
-<para>
-Zapisz siÄ na listÄ MPlayer-users:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-i wyÅlij swoje zgÅoszenie bÅÄdu na
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/>, gdzie bÄdzie można je omówiÄ.
-</para>
-
-<para>
-Jeżeli wolisz, możesz zamiast tego skorzystaÄ z naszej nowej
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilli</ulink> (systemu zgÅaszania bÅÄdów - przyp. tÅum.)
-</para>
-
-<para>
-JÄzykiem obowiÄ
zujÄ
cym na tej liÅcie jest
-<emphasis role="bold">angielski</emphasis>. Prosimy trzymaÄ siÄ zasad standardowej
-<ulink url="http://www.ietf.org/rfc/rfc1855.txt">netykiety</ulink>
-(PolskÄ
wersjÄ netykiety można przeczytaÄ np.
-<ulink url="http://www.pg.gda.pl/~agatek/netq.html">tutaj</ulink> - przyp. tÅum.)
-i <emphasis role="bold">nie wysyÅaÄ listów w HTML-u</emphasis> na żadnÄ
z naszych
-list. W przeciwnym wypadku zostaniesz zignorowany lub wyrzucony z listy. Jeżeli
-nie wiesz czym jest list w HTML-u albo dlaczego jest on zÅy, przeczytaj ten
-<ulink url="http://efn.no/html-bad.html">Åwietny dokument</ulink> (znów tylko
-po angielsku - przyp. tÅum.). WyjaÅnia on wszystkie szczegóÅy i zawiera
-instrukcje wyÅÄ
czania HTML-u. Zauważ również, że nie wysyÅamy kopii listów do
-użytkowników, wiÄc dobrym pomysÅem jest zapisanie siÄ na listÄ w celu uzyskania
-odpowiedzi.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_what">
-<title>Co zgÅaszaÄ</title>
-
-<para>
-Może zajÅÄ potrzeba doÅÄ
czenia logu, konfiguracji lub przykÅadowego
-pliku w Twoim
-zgÅoszeniu bÅÄdu. Jeżeli któryÅ z nich ma duży rozmiar, lepiej zaÅadowaÄ go na
-nasz <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">serwer FTP</ulink>
-w skompresowanej postaci (gzip i bzip2 sÄ
preferowanymi formatami) i zaÅÄ
czyÄ
-tylko ÅcieżkÄ i nazwÄ pliku do zgÅoszenia bÅÄdu. Nasza lista ma ustawiony limit
-rozmiaru każdej wiadomoÅci na 80k. Jeżeli potrzebujesz wysÅaÄ coÅ wiÄkszego,
-musisz to skompresowaÄ albo zaÅadowaÄ na serwer.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_system">
-<title>Informacja o systemie operacyjnym</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
-Nazwa Twojej dystrybucji Linuksa albo system operacyjny. Np.:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + pakiety rozwojowe z 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- wersja jÄ
dra (kernela):
- <screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
- wersja biblioteki libc:
- <screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
- wersja gcc i ld:
- <screen>
-gcc -v
-ld -v<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- wersja binutils:
- <screen>as --version</screen>
-</para></listitem>
-<listitem><para>
- Jeżeli masz problem z trybem peÅnoekranowym:
- <itemizedlist>
- <listitem><para>Menadżer okien i wersja</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Jeżeli masz problem z XVIDIXem:
- <itemizedlist>
- <listitem><para>
- gÅÄbia barw Xów (colour depth):
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Jeżeli tylko GUI zawiera bÅÄdy:
- <itemizedlist>
- <listitem><para>wersja GTK</para></listitem>
- <listitem><para>wersja GLIB</para></listitem>
- <listitem><para>wersja libpng</para></listitem>
- <listitem><para>Sytuacja w której pojawia siÄ bÅÄ
d GUI</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_hardware">
-<title>SprzÄt i sterowniki</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
- informacje o procesorze (CPU) (to dziaÅa tylko pod Linuksem):
- <screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
- Producent karty graficznej i model. Np.:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Typ sterownika video i wersja, np:
- <itemizedlist>
- <listitem><para>wbudowane sterowniki X</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI z X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Typ karty dźwiÄkowej i sterownik, np:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold ze sterownikiem OSS z oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 ze sterownikiem OSS z kernela</para></listitem>
- <listitem><para>GUS PnP z emulacjÄ
ALSA OSS</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Jeżeli masz wÄ
tpliwoÅci, zaÅÄ
cz wyjÅcie linuksowego polecenia
- <command>lspci -vv</command>.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_configure">
-<title>Problemy z konfiguracjÄ
</title>
-
-<para>
-Jeżeli <command>./configure</command> zwraca bÅÄ
d albo
-automatyczne wykrywanie czegoÅ zawiedzie, przeczytaj
-<filename>config.log</filename>. Możliwe, że znajdziesz tam odpowiedź, na
-przykÅad kilka poÅÄ
czonych wersji tej samej biblioteki w Twoim systemie albo że
-zapomniaÅeÅ zainstalowaÄ pakietów rozwojowych (tych z przyrostkiem -dev albo
--devel). Jeżeli wydaje Ci siÄ, że istnieje jednak bÅÄ
d, zaÅÄ
cz
-<filename>config.log</filename> w twoim raporcie.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_compilation">
-<title>Problemy z kompilacjÄ
</title>
-
-<para>
-Prosimy zaÅÄ
czyÄ nastÄpujÄ
ce pliki:
-<itemizedlist>
- <listitem><para>config.h</para></listitem>
- <listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_playback">
-<title>Problemy z odtwarzaniem</title>
-
-<para>
-Prosimy zaÅÄ
czyÄ wyjÅcie <application>MPlayera</application> w trybie gadatliwym
-na poziomie pierwszym (opcja -v - przyp. tÅum.), ale pamiÄtajÄ
c o
-<emphasis role="bold">nie skracaniu wyniku polecenia</emphasis> podczas
-kopiowania go do Twojego listu. Deweloperzy potrzebujÄ
wszystkich informacji do
-prawidÅowego zdiagnozowania problemu. Możesz przekierowaÄ wyjÅcie bezpoÅrednio
-do pliku w ten sposób:
-<screen>mplayer -v <replaceable>opcje</replaceable> <replaceable>nazwa_pliku</replaceable> > mplayer.log 2>&1</screen>
-</para>
-
-<para>
-Jeżeli Twój problem jest specyficzny dla jednego albo wielu plików, zaÅaduj
-winowajcÄ(ów) na:
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-ZaÅaduj także maÅy plik tekstowy nazwany tak samo jak Twój plik, ale z
-rozszerzeniem .txt. Opisz w nim problem, który masz z zawartym plikiem i zaÅÄ
cz
-swój adres email oraz wyjÅcie <application>MPlayera</application> w trybie
-gadatliwym na poziomie pierwszym. Zazwyczaj pierwsze 1-5 MB pliku jest
-wystarczajÄ
ce do odtworzenia problemu, ale żeby byÄ pewnym prosimy wykonaÄ:
-<screen>
-dd if=<replaceable>twój_plik</replaceable> of=<replaceable>maÅy_plik</replaceable> bs=1024k count=5
-</screen>
-To polecenie weźmie pierwsze piÄÄ megabajtów
-'<emphasis role="bold">twojego_pliku</emphasis>' i zapisze je do
-'<emphasis role="bold">maÅego_pliku</emphasis>'. NastÄpnie spróbuj odtworzyÄ
-maÅy plik i jeÅli bÅÄ
d wciÄ
ż siÄ pojawia plik ten jest dla nas wystarczajÄ
cy.
-Prosimy <emphasis role="bold">w żadnym wypadku</emphasis> nie wysyÅaÄ plików
-poprzez pocztÄ elektronicznÄ
! ZaÅaduj je na serwer FTP i wyÅlij tylko
-ÅcieżkÄ/nazwÄ pliku. Jeżeli plik jest dostÄpny w sieci, wyÅlij
-<emphasis role="bold">dokÅadny</emphasis> adres pod którym jest on dostÄpny.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_crash">
-<title>Awarie programu (ang. Crashes)</title>
-
-<para>
-Musisz uruchomiÄ <application>MPlayera</application> wewnÄ
trz
-<command>gdb</command> i wysÅaÄ nam kompletne wyjÅcie, albo jeżeli posiadasz
-zrzut <filename>core</filename> (ang. core dump) utworzony w wyniku awarii,
-wyciÄ
gnÄ
Ä z niego użyteczne informacje. Oto jak to zrobiÄ:
-</para>
-
-
-<sect3 id="bugreports_debug">
-<title>Jak otrzymaÄ informacjÄ o awarii</title>
-
-<para>
-Przekompiluj <application>MPlayera</application> z opcjÄ
debugowania kodu:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-i uruchom <application>MPlayera</application> używajÄ
c gdb:
-<screen>gdb ./mplayer</screen>
-JesteÅ teraz wewnÄ
trz gdb. Wpisz:
-<screen>
-run -v <replaceable>opcje-mplayera</replaceable> <replaceable>nazwa_pliku</replaceable>
-</screen>
-i odtwórz swojÄ
awariÄ. Gdy tylko to zrobisz, gdb przeniesie ciÄ z powrotem do
-wiersza poleceÅ, gdzie należy wpisaÄ
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="bugreports_core">
-<title>Jak wyciÄ
gnÄ
Ä sensowne informacje ze zrzutu core (ang. core dump)</title>
-
-<para>
-Utwórz plik z nastepujÄ
cymi poleceniami:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-A nastÄpnie uruchomiÄ nastÄpujÄ
ce polecenie:
-<screen>
-gdb mplayer --core=core -batch --command=<replaceable>plik_z_poleceniami</replaceable> > mplayer.bug
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>Wiem co robiÄ...</title>
-
-<para>
-Jeżeli utworzyÅeÅ wÅaÅciwy raport bÅÄdu kierujÄ
c siÄ powyższymi wskazówkami i
-jesteÅ pewien że to bÅÄ
d <application>MPlayera</application>, nie kompilatora
-albo uszkodzonego pliku, przeczytaÅeÅ dokumentacjÄ i nie możesz znaleźÄ
-rozwiÄ
zania, Twoje sterowniki dźwiÄku sÄ
w porzÄ
dku, możesz chcieÄ zapisaÄ siÄ
-na listÄ MPlayer-advusers (tylko po angielsku - przyp. tÅum.) i wysÅaÄ tam swoje
-zgÅoszenie bÅÄdu, aby uzyskaÄ lepszÄ
i szybszÄ
odpowiedź.
-</para>
-
-<para>
-Wiedz, że jeÅli zadasz trywialne pytanie albo odpowiedź na nie znajduje siÄ na
-stronie man, zamiast dostaÄ odpowiedź zostaniesz zignorowany
-albo obrzucony wyzwiskami.
-Dlatego też nie obrażaj nas i zapisz siÄ na listÄ -advusers tylko jeżeli
-naprawdÄ wiesz co robisz i czujesz siÄ zaawansowanym użytkownikiem lub
-deweloperem. Jeżeli speÅniasz te kryteria, nie powinno Ci sprawiÄ problemu
-znalezienie sposobu zapisania siÄ na listÄ
-(pamiÄtaj, że musisz biegle znaÄ j. angielski - przyp. tÅum.)
-</para>
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/pl/documentation.xml b/DOCS/xml/pl/documentation.xml
deleted file mode 100644
index fb31f95..0000000
--- a/DOCS/xml/pl/documentation.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r23579 -->
-<!-- Opiekun: Torinthiel -->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - Odtwarzacz filmów</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>24 marca 2003</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>ZaÅoga MPlayera</holder>
-</copyright>
-<legalnotice>
- <title>License</title>
- <para>MPlayer is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>MPlayer is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with MPlayer; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>Jak czytaÄ tÄ dokumentacjÄ</title>
-
-<para>
-Przy pierwszej instalacji powinieneÅ przeczytaÄ wszystko od tego miejsca do
-koÅca rozdziaÅu Instalacja, ÅÄ
cznie z tekstami, do których sÄ
tam odnoÅniki.
-JeÅli masz jeszcze jakieÅ pytania, wrÃ³Ä do <link linkend="toc">Spisu
-treÅci</link> i w nim poszukaj odpowiedniego tematu, przeczytaj
-<xref linkend="faq"/> albo spróbuj przegrepowaÄ zbiory. Odpowiedź na wiÄkszoÅÄ
-pytaÅ powinna byÄ zawarta w niniejszej dokumentacji, a pozostaÅe prawdopodobnie zostaÅy
-już zadane na naszych
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">listach dyskusyjnych</ulink>.
-<!-- TODO: Jak bÄdzie przetÅumaczona strona to zmieniÄ link -->
-<!-- FIXME: NieistniejÄ
ce ÅÄ
cza
-Sprawdź <ulink url="http://www.mplayerhq.hu/cgi-bin/s-arch.cgi">archiwa</ulink>,
-można tam znaleÅºÄ wiele interesujÄ
cych informacji.
--->
-</para>
-</preface>
-
-
-<chapter id="intro">
-<title>Wprowadzenie</title>
-
-<para>
-<application>MPlayer</application> jest odtwarzaczem filmów dla Linuksa
-(dziaÅa też na wielu innych Uniksach i na procesorach
-<emphasis role="bold">nie-x86</emphasis>, patrz <link linkend="ports">
-porty</link>). Odtwarza wiÄkszoÅÄ zbiorów w formatach MPEG, VOB, AVI, OGG/OGM,
-VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA,
-zbiory Matroska, obsÅugiwanych przez wiele rdzennych kodeków, XAnim,
-RealPlayer i Win32 DLL. Możesz w nim także oglÄ
daÄ filmy
-<emphasis role="bold">VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson,
-Theora</emphasis> i <emphasis role="bold">MPEG-4 (DivX)</emphasis>
-InnÄ
wielkÄ
zaletÄ
<application>MPlayera</application> jest
-szeroki zakres obsÅugiwanych sterowników wyjÅciowych. DziaÅa on z X11, Xv, DGA,
-OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB, ale możesz też używaÄ GGI
-i SDL (i dziÄki temu wszystkich ich sterowników) i niektórych specyficznych dla
-kart graficznych sterowników niskiego poziomu (dla Matroxa, 3Dfxa, Radeona,
-Mach64, Permedia3)! WiÄkszoÅÄ z nich obsÅuguje skalowanie sprzÄtowe lub
-programowe, wiÄc filmy można oglÄ
daÄ na peÅnym ekranie.
-<application>MPlayer</application> obsÅuguje wyÅwietlanie przy użyciu
-niektórych sprzÄtowych dekoderów MPEG, takich jak
-<link linkend="dvb">DVB</link> i <link linkend="dxr3">DXR3/Hollywood+</link>.
-Nie można też zapomnieÄ o Åadnych, dużych, antyaliasowanych i cieniowanych
-napisach (<emphasis role="bold">14 obsÅugiwanych typów</emphasis>) z
-czcionkami europejskimi/ISO 8859-1,2 (polskimi, wÄgierskimi, angielskimi,
-czeskimi, itp.), cyrylicÄ
, koreaÅskimi i wyÅwietlaniem na ekranie (OSD)!
-</para>
-
-<para>
-<application>MPlayer</application> jest doskonaÅy do odczytywania uszkodzonych
-plików MPEG (przydatne przy niektórych VCD), odtwarza również bÅÄdne pliki AVI,
-których nie można odczytaÄ za pomocÄ
wiodÄ
cego odtwarzacza multimedialnego pod
-Windows. Nawet zbiory AVI bez bloku indeksowego można odtworzyÄ i można
-zrekonstruowaÄ ich indeks tymczasowo, używajÄ
c opcji <option>-idx</option>, albo
-trwale dziÄki <application>MEncoderowi</application>, w ten sposób umożliwiajÄ
c
-sobie przewijanie! Jak widaÄ najważniejsza jest tu stabilnoÅÄ i jakoÅÄ, ale
-szybkoÅÄ również jest zadziwiajÄ
ca. Ma też potÄżny system wtyczek do
-manipulacji obrazem i dźwiÄkiem.
-</para>
-
-<para>
-<application>MEncoder</application> (Enkoder filmów
-<application>MPlayera</application>) jest to prosty enkoder filmów,
-zaprojektowany do kodowania odczytywalnych przez
-<application>MPlayera</application> filmów
-(<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
-na inne odczytywalne formaty (patrz niżej). Może kodowaÄ rozmaitymi kodekami
-video, takimi jak <emphasis role="bold">MPEG-4 (DivX4)</emphasis>
-(jedno- lub dwuprzebiegowy), <systemitem class="library">libavcodec</systemitem>
-oraz audio <emphasis role="bold">PCM/MP3/VBR MP3</emphasis>.
-</para>
-
-
-<itemizedlist>
-<title>MożliwoÅci <application>MEncodera</application></title>
-<listitem><para>
- Kodowanie z szerokiego zakresu formatów i dekoderów
- <application>MPlayer</application>
-</para></listitem>
-<listitem><para>
- Kodowanie na wszystkie kodeki
- <systemitem class="library">libavcodec</systemitem> z ffmpeg.
-</para></listitem>
-<listitem><para>
- Kodowanie obrazu z <emphasis role="bold">tunerów kompatybilnych z V4L</emphasis>
-</para></listitem>
-<listitem><para>
- Kodowanie/multipleksowanie przeplatanych zbiorów AVI z prawidÅowymi
- indeksami
-</para></listitem>
-<listitem><para>
- Tworzenie zbiorów z zewnÄtrznego strumienia audio
-</para></listitem>
-<listitem><para>
- Kodowanie 1, 2 lub 3-przebiegowe
-</para></listitem>
-<listitem><para>
- DźwiÄk MP3 <emphasis role="bold">VBR</emphasis>
- <important><para>
- DźwiÄk MP3 VBR w odtwarzaczach pod Windows nie zawsze brzmi przyjemnie!
- </para></important>
-</para></listitem>
-<listitem><para>
- DźwiÄk PCM
-</para></listitem>
-<listitem><para>
- Kopiowanie strumieniowe
-</para></listitem>
-<listitem><para>
- Synchronizacja wejÅcia A/V (oparta na PTS, może byÄ wyÅÄ
czona opcjÄ
- <option>-mc 0</option>)
-</para></listitem>
-<listitem><para>
- Korekta fps opcjÄ
<option>-ofps</option> (przydatne gdy kodujesz
- 30000/1001 fps VOB na 24000/1001 fps AVI)
-</para></listitem>
-<listitem><para>
- MożliwoÅÄ zastosowania naszego potÄżnego systemu filtrów (kadrowanie,
- powiÄkszanie, obracanie, postproces, skalowanie, konwersja rgb/yuv)
-</para></listitem>
-<listitem><para>
- MożliwoÅÄ wkodowania DVD/VOBsub <emphasis role="bold">ORAZ</emphasis> napisów
- w zbiór wyjÅciowy
-</para></listitem>
-<listitem><para>
- MożliwoÅÄ zapisu napisów DVD do formatu VOBsub
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Planowane możliwoÅci</title>
-<listitem><para>
- ZwiÄkszenie zakresu dostÄpnych formatów/kodeków do (de)kodowania
- (tworzenie zbiorów VOB ze strumieniami DivX4/Indeo5/VIVO :).
-</para></listitem>
-</itemizedlist>
-
-<!-- FIXME: the license should be in bookinfo -->
-<para>
-<application>MPlayer</application> i <application>MEncoder</application>
-mogÄ
byÄ rozprowadzane zgodnie z warunkami GNU General Public License Version 2.
-</para>
-
-</chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/pl/encoding-guide.xml b/DOCS/xml/pl/encoding-guide.xml
deleted file mode 100644
index f6fcee5..0000000
--- a/DOCS/xml/pl/encoding-guide.xml
+++ /dev/null
@@ -1,5516 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with 27843 -->
-<!-- Opiekun: Torinthiel -->
-<!-- INCOMPLETE!!!! -->
-<chapter id="encoding-guide">
-<title>Kodowanie przy użyciu <application>MEncodera</application></title>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Rippowanie DVD do wysokiej jakoÅci pliku MPEG-4 ("DivX")</title>
-
-<para>
- Jednym z czÄsto zadawanych pytaÅ jest "Jak zrobiÄ rip najlepszej jakoÅci
- przy danej objÄtoÅci?". Innym pytaniem jest "Jak zrobiÄ najlepszy możliwy
- rip? Nie ważne jaka bÄdzie objÄtoÅÄ, chcÄ najlepszej jakoÅci."
-</para>
-
-<para>
- To drugie pytanie jest przynajmniej źle postawione. W koÅcu, jeÅli nie
- przejmujesz siÄ wielkoÅciÄ
pliku, mógÅbyÄ po prostu skopiowaÄ strumieÅ
- MPEG-2 z DVD. Pewnie, dostaniesz AVI wielkoÅci okoÅo 5GB, ale jeÅli chcesz
- najlepszej jakoÅci i nie przejmujesz siÄ wielkoÅciÄ
to jest to najlepsze
- wyjÅcie.
-</para>
-
-<para>
- Tak na prawdÄ, powodem dla którego chcesz przekodowaÄ DVD na MPEG-4 jest to,
- że <emphasis role="bold">przejmujesz</emphasis> siÄ wielkoÅciÄ
pliku.
-</para>
-
-<para>
- CiÄżko jest pokazaÄ ksiÄ
żkowy przepis na tworzenie ripu DVD bardzo wysokiej
- jakoÅci. Trzeba wziÄ
Ä pod uwagÄ kilka czynników, i powinieneÅ rozumieÄ
- szczegóÅy procesu, albo jest duża szansa że nie bÄdziesz zadowolony z wyników.
- Poniżej zbadamy niektóre problemy i pokażemy przykÅad. ZakÅadamy że używasz
- <systemitem class="library">libavcodec</systemitem> do kodowania obrazu,
- chociaż ta sama teoria dziaÅÄ
też przy innych kodekach.
-</para>
-
-<para>
- JeÅli to wydaje Ci siÄ za dużo, to pewnie powinieneÅ użyÄ jednej z wielu
- nakÅadek dostÄpnych w
- <ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">sekcji MEncodera</ulink>
- naszej strony z powiÄ
zanymi projektami.
- W ten sposób, powinno siÄ udaÄ otrzymaÄ ripy wysokiej jakoÅci bez zbyt
- myÅlenia za dużo, ponieważ te narzÄdzia sÄ
projektowane by podejmowaÄ za
- Ciebie mÄ
dre decyzje.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>Przygotowanie do kodowania: Identyfikowanie materiaÅu źródÅowego
-i framerate</title>
-
-<para>
- Zanim w ogóle zaczniesz myÅleÄ o kodowaniu filmu, musisz przejÅÄ kilka
- wstÄpnych kroków.
-</para>
-
-<para>
- Pierwszym i najważniejszym krokiem przed kodowaniem powinno byÄ
- ustalenie jakim typem filmu siÄ zajmujesz.
- JeÅli Twój film jest z DVD albo telewizji (zwykÅej, kablowej czy
- satelitarnej), bÄdzie w jednym z dwóch formatów: NTSC w Ameryce PóÅnocnej
- i Japonii, PAL w Europie itp.
- Trzeba sobie jednak zdawaÄ sprawÄ z tego, że jest to tylko format do
- prezentacji w telewizji, i czÄsto <emphasis role="bold">nie</emphasis> jest
- oryginalnym formatem filmu.
- DoÅwiadczenie pokazuje że filmy NTSC sÄ
trudniejsze do kodowania, ponieważ
- jest wiÄcej elementów do zidentyfikowania w źródle.
- Å»eby zrobiÄ odpowienie kodowanie musisz znaÄ oryginalny format filmu.
- NieuwzglÄdnienie tego skutkuje wieloma wadami wynikowego pliku, na przykÅad
- brzydkie artefakty przeplotu i powtórzone albo zagubione klatki.
- Poza tym że sÄ
brzydkie, artefakty sÄ
też szkodliwe dla kodowania:
- Dostaniesz gorszÄ
jakoÅÄ na jednostkÄ bitrate.
-</para>
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
-<title>Ustalanie źródÅowego framerate</title>
-<para>
- Poniżej jest lista popularnych typów materiaÅu źródÅowego, gdzie można je
- najczÄÅciej znaleÅºÄ i ich wÅasnoÅci:
-</para>
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Typowy film</emphasis>: Tworzony do wyÅwietlania przy
- 24fps.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Film PAL</emphasis>: Nagrywany kamerÄ
video PAL
- z prÄdkoÅciÄ
50 pól na sekundÄ.
- Pole skÅada siÄ tylko z parzystych albo nieparzystych linii klatki.
- Telewizja byÅa projektowana by odÅwierzaÄ je naprzemiennie, w charakterze
- taniej formy analogowej kompresji.
- Ludzkie oko podobno kompensuje ten efekt, ale jeÅli zrozumiesz przeplot
- nauczysz siÄ go widzieÄ też w telewizji i nigdy już nie bÄdziesz z niej
- ZADOWOLONY.
- Dwa pola <emphasis role="bold">nie</emphasis> dajÄ
peÅnej klatki, ponieważ
- sÄ
uchwycone co 1/50 sekundy, wiÄc nie pasujÄ
do siebie, chyba że nie ma
- ruchu.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Film NTSC</emphasis>: Nagrany kamerÄ
NTSC z prÄdkoÅciÄ
- 60000/1001 pól na sekundÄ, albo 60 pól na sekundÄ w erze przedkolorowej.
- Poza tym podobny do PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Animacja</emphasis>: Zazwyczaj rysowana przy 24fps,
- ale zdarzajÄ
siÄ też z mieszanym framerate.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Grafika komputerowa (CG)</emphasis>: Może byÄ dowolny
- framerate, ale niektóre sÄ
czÄstsze niż inne; wartoÅci 24 i 30 klatek na
- sekundÄ sÄ
typowe dla NTSC, a 25fps jest typowe dla PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Stary film</emphasis>: Rozmaite niższe framerate.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
-<title>Identyfikowanie materiaÅu źródÅowego</title>
-<para>
- Filmy skÅadajÄ
ce siÄ z klatek nazywa siÄ progresywnymi,
- podczas gdy te skÅadajÄ
ce siÄ z niezależnych pól nazywa siÄ
- z przeplotem, albo filmem - chociaż ten drugi termin jest niejasny.
-</para>
-<para>
- Å»eby nie byÅo za Åatwo, niektóre filmy sÄ
kombinacjÄ
kilku powyższych typów.
-</para>
-<para>
- NajważniejszÄ
różnicÄ
miÄdzy tymi formatami, jest to że niektóre sÄ
oparte
- na klatkach a inne na polach.
- <emphasis role="bold">Zawsze</emphasis> gdy film jest przygotowywany do
- wyÅwietlania w telewizji jest przeksztaÅcany na format oparty na polach.
- Rozliczne metody którymi siÄ tego dokonuje sÄ
wspólnie nazywane "telecine",
- a niesÅawne "3:2 pulldown" z NTSC jest jednym z jego rodzajów.
- Jeżeli oryginaÅ nie byÅ też oparty na polach (z tÄ
samÄ
prÄdkoÅciÄ
),
- dostajesz film w innym formacie niż oryginaÅ.
-</para>
-
-<itemizedlist>
-<title>Jest kilka popularnych typów pulldown:</title>
-<listitem><para>
- <emphasis role="bold">pulldown PAL 2:2</emphasis>: Najprzyjemniejszy z nich
- wszystkich.
- Każda klatka jest pokazywana przez czas dwóch pól, poprzez wydobycie
- parzystych i nieparzystych linii i pokazywanie ich na przemian.
- JeÅli oryginalny materiaÅ miaÅ 24fps, ten proces przyspiesza film o 4%.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>:
- Każda 12ta klatka jest pokazywana przez czas trzech pól zamiast tylko dwóch.
- DziÄki temu nie ma przyspieszenia o 4%, ale proces jest o wiele trudniejszy
- do odtworzenia.
- Zazwyczaj wystÄpuje w produkcjach muzycznych, gdzie zmiana prÄdkoÅci o 4%
- poważnie by uszkodziÅa muzykÄ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Klatki sÄ
pokazywane na
- przemian przez czas 3ch albo 2ch pól.
- To daje czÄstotliwoÅÄ pól 2.5 raza wiÄkszÄ
niż oryginalna czÄstotliwoÅÄ
- klatek. Rezultat jest też lekko zwolniony z 60 pól na sekundÄ do 60000/1001
- pól na sekundÄ by utrzymaÄ czÄstotliwoÅÄ pól w NTSC.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: Używane do pokazywania
- materiaÅów 30fps na NTSC.
- Przyjemne, tak jak pulldown 2:2 PAL.
-</para></listitem>
-</itemizedlist>
-
-<para>
- SÄ
też metody konwersji miÄdzy filmami PAL i NTSC, ale ten temat
- wykracza poza zakres tego podrÄcznika.
- JeÅli natkniesz siÄ na taki film i chcesz go zakodowaÄ, to najwiÄksze
- szanse masz robiÄ
c kopiÄ w oryginalnym formacie.
- Konwersja miÄdzy tymi dwoma formatami jest wysoce destrukcyjna i nie może
- zostaÄ Åadnie odwrócona, wiÄc kodowanie bÄdzie o wiele gorszej jakoÅci jeÅli
- jest robione z przekonwertowanego źródÅa.
-</para>
-
-<para>
- Gdy film jest zapisywany na DVD, kolejne pary pól sÄ
zapisywane jako klatka,
- pomimo tego że nie sÄ
przezaczone do wyÅwietlania razem.
- Standard MPEG-2 używany na DVD i w cyfrowej TV pozwala na zakodowanie
- oryginalnej progresywnej klatki i na przechowanie w nagÅówku klatki iloÅci
- pól przez które ta klatka powinna byÄ pokazana.
- Filmy zrobione przy użyciu tej metody sÄ
czÄsto okreÅlane mianem "miÄkkiego
- telecine" (soft-telecine), ponieważ proces ten tylko informuje odtwarzacz że
- ma on zastosowaÄ pulldown, a nie stosuje go samemu.
- Tak jest o wiele lepiej, ponieważ może to zostaÄ Åatwo odwrócone (a tak na
- prawdÄ zignorowane) przez koder i ponieważ zachowuje możliwie najwyższÄ
- jakoÅÄ.
- Niestety, wielu producentów DVD i stacji nadawczych nie stosuje prawidÅowych
- technik kodowania ale w zamian produkuje filmy przy użyciu "twardego
- telecine" (hard-telecine), gdzie pola sÄ
faktycznie powtórzone
- w zakodowanym MPEG-2.
-</para>
-
-<para>
- Procedury radzenia sobie z takimi przypadkami bÄdÄ
omówione
- <link linkend="menc-feat-telecine">w dalszej czÄÅci przewodnika</link>.
- Teraz podamy tylko kilka wskazówek jak identyfikowaÄ z jakim typem materiaÅu
- mamy do czynienia.
-</para>
-
-<itemizedlist>
-<title>Regiony NTSC:</title>
-<listitem><para>
- JeÅli <application>MPlayer</application> wyÅwietla w trakcie oglÄ
dania filmu
- że framerate zostaÅo zmienione na 24000/1001 i nigdy nie powraca, to jest
- to prawie na pewno progresywny materiaÅ na którym zastosowano "miÄkkie
- telecine".
-</para></listitem>
-<listitem><para>
- JeÅli <application>MPlayer</application> pokazuje że framerate zmienia siÄ
- miÄdzy 24000/1001 i 30000/1001 i czasami widzisz "grzebienie" to jest kilka
- możliwoÅci.
- <!-- Torinthiel: grzebienie mi najlepiej pasujÄ
, ale może jest oficjalne tÅumaczenie -->
- KawaÅki 24000/1001fps sÄ
prawie na pewno progresywne, poddane "miÄkkiemu
- telecine", ale fragmenty 30000/1001 fps mogÄ
albo byÄ 24000/1001 poddanym
- "twardemu telecine" albo filmem NTCS o 60000/1001 polach na sekundÄ.
- Używaj tych samych metod co w nastÄpnych dwóch przypadkach żeby je odróżniÄ.
-</para></listitem>
-<listitem><para>
- JeÅli <application>MPlayer</application> nigdy nie pokazuje informacji
- o zmianie framerate i każda klatka z ruchem wyglÄ
da jak grzebieÅ, to masz
- film NTSC z 60000/1001 polami na sekundÄ.
-</para></listitem>
-<listitem><para>
- JeÅli <application>MPlayer</application> nigdy nie pokazuje informacji
- o zmianie framerate i dwie klatki z każdych piÄciu majÄ
grzebienie, to film
- jest 24000/1001 fps poddanym "twardemu telecine".
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Regiony PAL:</title>
-<listitem><para>
- JeÅli nie widzisz grzebieni, to jest to 2:2 pulldown.
-</para></listitem>
-<listitem><para>
- JeÅli na przemian przez póŠsekundy widzisz grzebienie a potem nie, to masz
- 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.
-</para></listitem>
-<listitem><para>
- JeÅli zawsze widzisz grzebienie w trakcie ruchu, to film jest filmem PAL
- wyÅwietlanym z 50 polami na sekundÄ.
- <!-- Torinthiel: wyÅwietlanym czy nagranym? -->
-</para></listitem>
-</itemizedlist>
-
-<note><title>Podpowiedź:</title>
-<para>
- <application>MPlayer</application> może zwolniÄ odtwarzanie filmu opcjÄ
- -speed albo odtwarzaÄ klatka po klatce.
- Spróbuj użyÄ opcji <option>-speed</option> 0.2 żeby oglÄ
daÄ film bardzo
- wolno, albo naciskaj wielokrotnie klawisz "<keycap>.</keycap>" żeby
- wyÅwietlaÄ klatka po klatce.
- Może to pomóc zidentyfikowaÄ wzorzec jeÅli
- nie możesz go dostrzec przy peÅnej prÄdkoÅci.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>StaÅy kwantyzator a tryb wieloprzebiegowy</title>
-
-<para>
- Jest możliwe zakodowanie filmu z szerokÄ
gamÄ
jakoÅci.
- Z nowoczesnymi koderami i odrobinÄ
kompresji przed kodekiem (zmniejszenie
- rozdzielczoÅci i usuwanie szumu), możliwe jest osiÄ
gniÄcie bardzo dobrej
- jakoÅci przy 700 MB, dla 90-110 minutowego filmu kinowego.
- Dodatkowo tylko najdÅuższe filmy nie dajÄ
siÄ zakodowaÄ na 1400 MB z prawie
- doskonaÅÄ
jakoÅciÄ
.
-</para>
-
-<para>
- SÄ
trzy podejÅcia do kodowania video: staÅy bitrate (CBR),
- staÅy kwantyzator i tryb wieloprzebiegowy (ABR, uÅrednione bitrate).
-</para>
-
-<para>
- ZÅożonoÅÄ klatek filmu, a zatem i iloÅÄ bitów potrzebna na ich zakodowanie,
- może siÄ bardzo mocno zmieniaÄ w zależnoÅci od sceny.
- Nowoczesne kodery potrafiÄ
siÄ dostosowywaÄ do tych zmian i zmieniaÄ
- bitrate.
- Jednak w prostych trybach, takich jak CBR, kodery nie znajÄ
zapotrzebowania
- na bitrate w przyszÅych scenach, wiÄc nie mogÄ
na dÅugo przekraczaÄ
- wymaganego bitrate.
- Bardziej zaawansowane tryby, takie jak kodowanie wieloprzebiegowe, potrafiÄ
- wziÄ
Ä pod uwagÄ statystyki z poprzednich przebiegów, co naprawia ten problem.
-</para>
-
-<note><title>Uwaga:</title>
-<para>
- WiÄkszoÅÄ kodeków obsÅugujÄ
cych kodowanie ABR obsÅuguje tylko kodowanie
- dwuprzebiegowe, podczas gdy niektóre inne, na przykÅad
- <systemitem class="library">x264</systemitem> albo
- <systemitem class="library">Xvid</systemitem> potrafiÄ
wykonywaÄ wiele
- przebiegów, z lekkÄ
poprawÄ
jakoÅci po każdym przebiegu. Jednak ta poprawa
- nie jest zauważalna ani mierzalna po okoÅo 4tym przebiegu.
- Dlatego też, w tej czÄÅci, tryb dwuprzebiegowy i wieloprzebiegowy bÄdÄ
- używane zamiennie.
-</para>
-</note>
-
-<para>
- W każdym z tych trybów, kodek video (na przykÅad
- <systemitem class="library">libavcodec</systemitem>)
- dzieli klatkÄ obrazu na makrobloki 16x16 pikseli i stosuje do każdego z nich
- kwantyzator. Im niższy kwantyzator, tym lepsza jakoÅÄ i tym wyższe bitrate.
- Metody jakiej koder używa do ustalenia kwantyzatora sÄ
różne i można nimi
- sterowaÄ. (Jest to straszliwe uproszczenie, ale wystarcza do zrozumienia
- podstaw.)
-</para>
-
-<para>
- Kiedy podajesz staÅe bitrate, kodek koduje usuwajÄ
c tyle szczegóÅów ile musi
- i tak maÅo jak to tylko możliwe żeby pozostaÄ poniżej podanego bitrate.
- JeÅli na prawdÄ nie obchodzi ciÄ wielkoÅÄ pliku, możesz użyÄ CBR i podaÄ
- nieskoÅczone bitrate (W praktyce oznacza to bitrate na tyle wysokie że nie
- stanowi bariery, na przykÅad 10000Kbit.) Bez żadnego ograniczenia na bitrate
- kodek użyje najniższego możliwego kwantyzatora do każdej klatki (ustalonego
- dla <systemitem class="library">libavcodec</systemitem> opcjÄ
- <option>vqmin</option>, domyÅlnie 2).
- Gdy tylko podasz bitrate na tyle niskie że kodek musi używaÄ wyższego
- kwantyzatora, to prawie na pewno niszczysz film.
- Å»eby tego uniknÄ
Ä, powinieneÅ pewnie zmniejszyÄ rozdzielczoÅÄ filmu, metodÄ
- opisanÄ
dalej.
- Ogólnie, jeÅli zależy Ci na jakoÅci, powinieneÅ unikaÄ CBR.
-</para>
-
-<para>
- Przy staÅym kwantyzatorze, kodek używa na każdym makrobloku tego samego
- kwantyzatora, podanego opcjÄ
<option>vqscale</option>
- (w przypadku <systemitem class="library">libavcodec</systemitem>).
- JeÅli chcesz możliwie najlepszy efekt, znów ignorujÄ
c bitrate, możesz użyÄ
- <option>vqscale=2</option>. Da to ten sam bitrate i PSNR (peak
- signal-to-noise ratio, szczytowa proporcja sygnaÅu do szumu) co CBR
- z <option>vbitrate</option>=nieskoÅczonoÅÄ i domyÅlnym
- <option>vqmin</option>.
-</para>
-
-<para>
- Problemem przy staÅym kwantyzatorze jest to, że używa podanego kwantyzatora
- niezależnie od tego czy makroblok tego wymaga czy nie. To znaczy że można by
- byÅo zastosowaÄ do makrobloku wyższy kwantyzator bez utraty postrzegalnej
- jakoÅci. Dlaczego marnowaÄ bity na niepotrzebnie niski kwantyzator?
- Mikroprocesor ma tyle cykli ile jest czasu, ale jest tylko ograniczona iloÅÄ
- bitów na twardym dysku.
-</para>
-
-<para>
- Przy kodowaniu dwuprzebiegowym, pierwszy przebieg potraktuje film jak przu
- ustawieniu CBR, ale zachowa informacje o wÅasnoÅciach każdej klatki. Te dane
- sÄ
później używane przy drugim przebiegu do podejmowania sÅusznych decyzji
- o używanym kwantyzatorze. Przy szybkich scenach albo niewielu szczegóÅach
- pewnie użyje wiÄkszego kwantyzatora, podczas gdy dla powolnych,
- szczegóÅowych scen bÄdzie niższy kwantyzator.
-</para>
-
-<para>
- JeÅli używasz <option>vqscale=2</option> to marnujesz bity. JeÅli używasz
- <option>vqscale=3</option> to nie dostajesz najlepszej możliwej jakoÅci.
- ZaÅóżmy że zakodowaÅeÅ swoje DVD przy <option>vqscale=3</option>
- i dostaÅeÅ bitrate 1800Kbit. JeÅli zrobisz dwa przebiegi
- z <option>vbitrate=1800</option> ostateczny wynik bÄdzie miaÅ
- <emphasis role="bold">wyższÄ
jakoÅÄ</emphasis> przy
- <emphasis role="bold">tym samym bitrate</emphasis>.
-</para>
-
-<para>
- Ponieważ jesteÅ już przekonany że prawidÅowym wyborem sÄ
dwa przebiegi,
- prawdziwym pytaniem jest jakiego bitrate użyÄ. Nie ma jednej odpowiedzi.
- Idealnie chcesz wybraÄ bitrate bÄdÄ
cy najlepszym kompromisem miÄdzy jakoÅciÄ
- a wielkoÅciÄ
pliku. To siÄ zmienia w zależnoÅci od filmu.
-</para>
-
-<para>
- JeÅli wielkoÅÄ nie ma znaczenia, dobrym punktem wyjÅciowym do bardzo
- wysokiej jakoÅci jest okoÅo 2000Kbit plus minus 200Kbit.
- JeÅli jest dużo akcji albo szczegóÅów, albo po prostu masz bardzo wrażliwe
- oko, możesz siÄ zdecydowaÄ na 2400 albo 2600.
- Przy niektórych DVD możesz nie zauważyÄ różnicy przy 1400Kbit. Dobrym
- pomysÅem jest poeksperymentowanie z kilkoma scenami i różnymi wartoÅciami
- bitrate żeby nabraÄ wyczucia.
-</para>
-
-<para>
- JeÅli chcesz konkretnej wielkoÅci, musisz jakoÅ obliczyÄ bitrare.
- Ale zanim to zrobisz, musisz wiedzieÄ ile miejsca potrzebujesz na dźwiÄk,
- wiÄc powinieneÅ <link linkend="menc-feat-dvd-mpeg4-audio">ÅciÄ
gnÄ
Ä go</link>
- najpierw.
- Możesz wyliczyÄ bitrate z nastÄpujÄ
cego równania:
- <systemitem>bitrate = (wielkoÅÄ_docelowa_w_MBajtach - wielkoÅÄ_dźwiÄku_w_MBajtach)
- * 1024 * 1024 / dÅugoÅÄ_w_sekundach * 8 / 1000</systemitem>
- Na przykÅad by wcisnÄ
Ä dwugodzinny film na pÅytkÄ 702MB, z 60MB Åcieżki
- dźwiÄkowej, bitrate video musi byÄ:
- <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
- = 740kbps</systemitem>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-constraints">
-<title>Ograniczenia efektywnego kodowania</title>
-
-<para>
-Ze wzglÄdu na naturÄ kodowania typu MPEG istniejÄ
różne ograniczenia których
-warto siÄ trzymaÄ Å¼eby osiÄ
gnÄ
Ä najlepszÄ
jakoÅÄ.
-MPEG dzieli obraz na kwadraty 16x16 pikseli nazywane makroblokami,
-każdy z nich skÅada siÄ z 4 bloków 8x8 informacji o jasnoÅci (luminancja, luma)
-i dwóch 8x8 z poÅowÄ
rozdzielczoÅci (jeden na skÅadowÄ
czerwono-morskÄ
, drugi
-na niebiesko-żóÅtÄ
).
-Nawet jeÅli wysokoÅÄ i szerokoÅÄ filmu nie sÄ
wielokrotnoÅciami 16,
-koder użyje tyle makrobloków żeby przykryÄ caÅy obszar obrazu,
-dodatkowa przestrzeÅ zostanie zmarnowana.
-Zatem w interesie zwiÄkszenai jakoÅci przy utrzymaniu wielkoÅci pliku kiepskim
-pomysÅem jest używanie wymiarów które nie sÄ
wielokrotnoÅciÄ
16.
-</para>
-
-<para>
-WiÄkszoÅÄ DVD ma też jakieÅ czarne ramki na brzegach.
-Zostawienie ich tam <emphasis role="bold">mocno</emphasis> zaszkodzi jakoÅci
-na kilka sposobów.
-</para>
-
-<orderedlist>
-<listitem>
- <para>
- Kompresje typu MPEG sÄ
zależne od transformat przestrzeni czÄstotliwoÅci,
- a dokÅadniej Dyskretnej Transformaty Cosinusowej (DCT), która jest podobna do
- transformaty Fouriera.
- Ten sposób kodowania jest efektywny przy wzorach i gÅadkich przejÅciach, ale
- kiepsko sobie radzi z ostrymi krawÄdziami.
- Å»eby je zakoowaÄ, musi używaÄ o wiele wiÄkszej liczby bitów, albo wystÄ
piÄ
- artefakty znane jako pierÅcienie.
- </para>
-
- <para>
- Transformacja czÄstotliwoÅci (DCT) jest stosowana osobno do każdego
- makrobloku (tak na prawdÄ do każdego bloku), wiÄc ten problem istnieje tylko
- gdy ostra krawÄdź jest wewnÄ
trz bloku.
- JeÅli czarna ramka zaczyna siÄ dokÅadnie na krawÄdzi 16-pikselowego bloku,
- nie stwarza problemów.
- Jednakże, rzadko kiedy takie ramki sÄ
Åadnie wyrównane, wiÄc zazwyczaj bÄdzie
- trzeba przyciÄ
Ä obraz żeby tego uniknÄ
Ä.
- </para>
-</listitem>
-</orderedlist>
-
-<para>
-Poza transformatami przestrzeni czÄstotliwoÅci, kompresje typu MPEG używajÄ
-wektorów ruchu, by reprezentowaÄ zmiany miÄdzy sÄ
siednimi klatkami.
-OczywiÅcie wektory ruchu sÄ
mniej efektywne w stosunku do nowej treÅci
-przychodzÄ
cej z brzegów obrazka, ponieważ nie byÅo jej na poprzedniej klatce.
-JeÅli obraz rozciÄ
ga siÄ do krawÄdzi zakodowanego regionu,
-wektory ruchu radzÄ
sobie z treÅciÄ
wychodzÄ
cÄ
poza krawÄdzie.
-Jednak jeÅli sÄ
ramki, mogÄ
byÄ kÅopoty:
-</para>
-
-<orderedlist continuation="continues">
-<listitem>
- <para>
- Dla każdego makrobloku, kompresja typu MPEG przechowuje wektor opisujÄ
cy
- która czÄÅÄ poprzedniej klatki powinna byÄ skopiowana do tego makrobloku jako
- podstawa do przewidzenia nastÄpnej klatki.
- Zakodowane wtedy muszÄ
byÄ tylko różnice.
- JeÅli makroblok zawiera fragment ramki, to wektory ruchu z pozostaÅych czeÅci
- obrazu zamażÄ
obramowanie.
- Oznacza to że dużo bitów bÄdzie zużytych albo na jej powtórne zaczernienie
- albo (co bardziej prawdopodobne), wektor ruchu w ogóle nie bÄdzie użyty
- i wszystkie zmiany w tym makrobloku bÄdzie trzeba zakodowaÄ bezpoÅrednio.
- W obu przypadkach, bardzo cierpi na tym efektywnoÅÄ kodowania.
- </para>
-
- <para>
- Powtórnie, ten problem wystÄpuje tylko jeÅli ramki nie sÄ
na krawÄdziach
- 16-pikselowych bloków.
- </para>
-</listitem>
-
-<listitem>
- <para>
- W koÅcu, przypuÅÄmy że mamy makroblok wewnÄ
trz obrazu i obiekt dostaje siÄ do
- niego z okolic krawÄdzi.
- Kodowanie typu MPEG nie potrafi powiedzieÄ "skopiuj czÄÅÄ która jeest
- wewnÄ
trz obraka, ale nie czarne obramowanie." Dlatego obramowanie też
- zostanie skopiowane i trzeba bÄdzie zużyÄ sporo bitów żeby zakodowaÄ fragment
- obrazu który powinien tam byÄ.
- </para>
-
- <para>
- JeÅli obraz siÄga do krawÄdzi zakodowanego obszaru, MPEG ma specjalne
- optymalizacje do wielokrotnego kopiowania ostatniego rzÄdu pikseli jeÅli
- wektor ruchu przychodzi z poza zakodoanego obszaru.
- Staje siÄ to bezużyteczne gry obraz ma czarne obramowanie.
- W odróżnieniu od problemów 1 i 2 tutaj nic nie pomoże ustawienie obramowania
- w odpowiednim miejscu.
- </para>
-</listitem>
-
-<listitem><para>
- Mimo tego, że obramowanie jest caÅkowicie czarne i nigdy siÄ nie zmienia,
- zawsze jest pewien narzut zwiÄ
zany z wiÄkszÄ
iloÅciÄ
makrobloków.
-</para></listitem>
-</orderedlist>
-
-<para>
-Ze wszystkich tych powodów zalecane jest caÅkowite wyciÄcie czarnych obramowaÅ.
-Dodatkowo, jeÅli przy krawÄdziach jest obszar zakÅóceÅ/znieksztaÅceÅ, obciÄcie
-go również poprawi efektywnoÅÄ kodowania.
-PuryÅci, którzy chcÄ
możliwie dokÅadnie zachowaÄ oryginaÅ mogÄ
siÄ sprzeciwiaÄ,
-ale jeÅli nie planujesz używaÄ staÅego kwantyzatora to jakoÅÄ uzyskana dziÄki
-skadrowaniu znaczÄ
co przewyższy utratÄ informacji przy brzegach.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>Kadrowanie i skalowanie</title>
-
-<para>
-Przypomnijmy z poprzedniej czÄÅci że ostateczna wielkoÅÄ (wysokoÅÄ i szerokoÅÄ)
-obrazu do kodowania powinna byÄ wielokrotnoÅciÄ
16.
-Można to osiÄ
gnÄ
Ä kadrowaniem, skalowaniem albo kombinacjÄ
obydwu.
-</para>
-
-<para>
-Przy kadrowaniu, jest kilka reguÅ których musimy przestrzegaÄ by uniknÄ
Ä
-uszkodzenia filmu.
-ZwykÅy format YUV, 4:2:0, przechowuje wartoÅci koloru podpróbkowane, czyli
-kolor jest próbkowany o poÅowÄ rzadziej w każdym kierunku niż jasnoÅÄ.
-Spójrzmy na diagram, na którym L oznacza punkty próbkowania jasnoÅci (luma)
-a C koloru (chroma).
-</para>
-
-<informaltable>
-<?dbhtml table-width="40%" ?>
-<?dbfo table-width="40%" ?>
-<tgroup cols="8" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Jak widaÄ, wiersze i kolumny obrazu w sposób naturalny ÅÄ
czÄ
siÄ w pary.
-Dlatego przesuniÄcia i wymiary kadrowania <emphasis>muszÄ
</emphasis> byÄ
-liczbami parzystymi.
-JeÅli nie sÄ
, barwa nie bÄdzie już dobrze dopasowana do jasnoÅci.
-Teoretycznie możliwe jest kadrowanie z nieparzystym przesuniÄciem, ale wymaga
-to przepróbkowania kolorów, co jest potencjalnie stratnÄ
operacjÄ
nie
-obsÅugiwanÄ
przez filtr kadrowania.
-</para>
-
-<para>
-Dalej, film z przeplotem jest kodowany jak poniżej:
-</para>
-
-<informaltable>
-<?dbhtml table-width="80%" ?>
-<?dbfo table-width="80%" ?>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
-<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
-<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
-<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
-<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Górne pole</entry>
- <entry namest="col9" nameend="col16">Dolne pole</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Jak widaÄ, wzór powtarza siÄ dopiero po 4 liniach.
-Dlatego przy filmie z przeplotem, pionowa wspóÅrzÄdna i wysokoÅÄ kadrowania
-muszÄ
byÄ wielokrotnoÅciami 4.
-</para>
-
-<para>
-PodstawowÄ
rozdzielczoÅciÄ
DVD jest 720x480 dla NTSC i 720x576 dla PAL, ale
-jest też flaga proporcji, która okreÅla czy obraz jest ekranowy (4:3) czy
-panoramiczny (16:9).
-Wiele (jeÅli nie wiÄkszoÅÄ) panoramicznych DVD nie jest dokÅadnie 16:9 tylko
-raczej 1,85:1 lub 2,35:1 (cinescope).
-Oznacza to że bÄdzie czarne obramowanie na filmie, które trzeba usunÄ
Ä.
-</para>
-
-<para>
-<application>MPlayer</application> dostarcza filtr wykrywania kadrowania
-(<option>-vf cropdetect</option>), który okreÅli prostokÄ
t kadrowania.
-Uruchom <application>MPlayera</application> z opcjÄ
<option>-vf
-cropdetect</option> a wydrukuje on ustawienia kadrowania potrzebne do usuniÄcia
-obramowania.
-PowinieneÅ puÅciÄ film wystarczajÄ
co dÅugo żeby zostaÅ użyty caÅy obszar
-obrazu, inaczej wartoÅci bÄdÄ
niedokÅadne.
-</para>
-
-<para>
-Potem przetestuj otrzymane wartoÅci z użyciem
-<application>MPlayera</application>, przekazujÄ
c opcje podane przez
-<option>cropdetect</option> i dostosowujÄ
c prostokÄ
t wedÅug potrzeb.
-Filtr <option>rectangle</option> może w tym pomóc, pozwalajÄ
c na interaktywne
-ustawienie prostokÄ
ta kadrowania na filmie.
-PamiÄtaj, by trzymaÄ siÄ powyższych reguÅ podzielnoÅci, żeby nie przestawiÄ
-pÅaszczyzny koloru.
-</para>
-
-<para>
-W pewnych przypadkach skalowanie może byÄ niepożÄ
dane.
-Skalowanie w kierunku pionowym jest trudne przy filmie z przeplotem, a jeÅli
-chcesz zachowaÄ przeplot, zazwyczaj powinieneÅ siÄ wstrzymaÄ od skalowania.
-JeÅl nie chcesz skalowaÄ, ale nadal chcesz używaÄ wymiarów bÄdÄ
cych wielokrotnoÅciami 16 to musisz przekadrowaÄ.
-NIe należy niedokadrowywaÄ, bo obramowania sÄ
bardzo szkodliwe przy kodowaniu!
-</para>
-
-<para>
-Ponieważ MPEG-4 używa makrobloków 16x16, powinieneÅ siÄ upewniÄ,
-że każdy wymiar kodowanego filmu jest wielokrotnoÅciÄ
16, inaczej
-degradujemy jakoÅÄ, zwÅaszcza przy niższych bitrate.
-Można tego dokonaÄ zaokrÄ
glajÄ
c wysokoÅÄ i szerokoÅÄ prostokÄ
ta kadrowania do
-najbliższej wielokrotnoÅci 16.
-Jak powiedziano wczeÅniej, trzeba zwiÄkszyÄ przesuniÄcie
-pionowe o poÅowÄ różnicy miÄdzy starÄ
a nowÄ
wysokoÅciÄ
,
-żeby wynikowy film byÅ brany ze Årodka klatki.
-A ze wzglÄdu na sposób w jaki próbkowane jest DVD, upewnij siÄ Å¼e przesuniÄcie
-jest parzyste (w zasadzie, stosuj siÄ do reguÅy, żeby nigdy nie używaÄ
-nieparzystych wartoÅci przy przycinaniu i skalowaniu obrazu).
-JeÅli nie czujesz siÄ dobrze odrzucajÄ
c dodatkowe piksele,
-może wolisz przeskalowaÄ video.
-Przyjżymy siÄ temu w przykÅadzie poniżej.
-Możesz też pozwoliÄ filtrowi <option>cropdetect</option> zrobiÄ to wszystko za
-Ciebie, jako że ma on opcjonalny parametr <option>round</option>
-(zaokrÄ
glenie), domyÅlnie równy 16.
-</para>
-
-<para>
-Uważaj też na "poÅ-czarne" piksele na przegach. Też je wykadruj, albo bÄdziesz
-na nie marnowaÅ bity któ?e przydadzÄ
siÄ gdzie indziej.
-</para>
-
-<para>
-Po tym wszystkim prawdopodobnie dostaniesz film który nie ma dokÅadnie
-proporcji 1,85:1 ani 2,35:1 tylko coÅ podobnego.
-MógÅbyÅ samemu policzyÄ nowe proporcje, ale <application>MEncoder</application>
-ma pocjÄ do <systemitem class="library">libavcodec</systemitem> nazywanÄ
-<option>autoaspect</option> która zrobi to za Ciebie.
-Nie powinieneÅ przeskalowywaÄ video żeby wyrównaÄ piksele, chyba że chcesz
-marnowaÄ miejsce na dysku.
-Skalowanie powinno byÄ robione przy odtwarzaniu, a odtwarzacz używa informacji
-o proporcjach zapisanych w AVI żeby okreÅliÄ prawidÅowÄ
rozdzielczoÅÄ.
-Niestety, nie wszystkie odtwarzacze uznajÄ
te informacje,
-dlatego mimo wszystko możesz chcieÄ przeskalowaÄ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>Dobieranie rozdzielczoÅci i bitrate</title>
-
-<para>
-JeÅli nie kodujesz w trybie staÅego kwantyzatora, musisz wybraÄ bitrate.
-Jest to doÅÄ prosta rzecz – to (Årednia) iloÅÄ bitów jaka bÄdzie
-używana do zakodowania jednej sekundy filmu.
-Zazwyczaj bitrate mierzy siÄ w kilobitach (1000 bitów) na sekundÄ.
-WielkoÅÄ filmu na dysku to bitrate razy dÅugoÅÄ filmu,
-plus drobne "dodatki" (patrz na przykÅad sekcja o
-<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">kontenerze AVI</link>
-).
-PozostaÅe parametry, takie jak skalowanie, kadrowanie itp.
-<emphasis role="bold">nie</emphasis> zmieniÄ
wielkoÅci pliku jeÅli nie
-zmienisz też bitrate!
-</para>
-
-<para>
-Bitrate <emphasis role="bold">nie</emphasis> skaluje siÄ proporcjonalnie do
-rozdzielczoÅci.
-To znaczy, film 320x240 w 200 kbit/s nie bÄdzie tej samej jakoÅci co ten sam
-film w 640x480 i 800 kbit/s!
-SÄ
ku temu dwie przyczyny:
-<orderedlist>
-<listitem><para>
- <emphasis role="bold">Wizualna</emphasis>: Åatwiej zauważyÄ artefakty MPEG
- jeÅli sÄ
bardziej powiÄkszone!
- Artefakty powstajÄ
na poziomie bloków (8x8).
- Ludzkie oko trudniej dostrzega bÅÄdy w 4800 maÅych blokach niż w 1200 dużych
- (zakÅadajÄ
c że skalujesz na peÅny ekran).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Teoretyczna</emphasis>: Kiedy zmniejszasz obraz ale
- nadal używasz tych samych bloków 8x8 do transformacji przestrzeni
- czÄstotliwoÅci. masz wiÄcej danych w pasmach wyższych czÄstotliwoÅci.
- W pewien sposób każdy piksel ma wiÄcej szczegóÅów niż poprzednio.
- Dlatego, mimo że przeskalowany obraz zawiera 1/4 informacji jeÅli chodzi
- o wielkoÅÄ, to nadal może zawieraÄ wiÄkszoÅÄ informacji w przestrzeni
- czÄstotliwoÅci (zakÅadajÄ
c że wysokie czÄstotliwoÅci byÅy maÅo używane
- w oryginalnym filmie 640x480).
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Poprzednie podrÄczniki zalecaÅy dobranie bitrate i rozdzielczoÅci w sposób
-bazujÄ
cy na podejÅciu "bity na piksel", ale z powyższych powodów zazwyczaj nie
-jest to prawidÅowe.
-Lepszym przybliżeniem zdaje siÄ skalowanie bitrate proporcjonalnie do
-pierwiastka kwadratowego z rozdzielczoÅci, czyli film 320x240 i 400 kbit/s
-powinien byÄ podobny do 640x480 i 800 kbit/s.
-Nie zostaÅo to jednak zweryfikowane ani teoretycznie ani empirycznie.
-Dodatkowo, ponieważ filmy sÄ
bardzo zróżnicowane jeÅli chodzi o szum,
-szczegóÅy, iloÅÄ ruchu itp. bezsensowne jest podawanie ogólnych zaleceÅ na bity
-na przekÄ
tÄ
(analogia bitów na piksel używajÄ
ca pierwiastka).
-</para>
-<para>
-OmówiliÅmy wiÄc problemy z wyborem bitrate i rozdzielczoÅci.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-<title>Obliczanie rozdzielczoÅci</title>
-
-<para>
-NastÄpne kroki przeprowadzÄ
CiÄ przez obliczenie rozdzielczoÅci dla Twojego
-filmu bez znieksztaÅcania go za bardzo, biorÄ
c pod uwagÄ kilka typów informacji
-o źródÅowym filmie.
-Najpierw powinieneÅ policzyÄ zakodowane proporcje:
-<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
-
-<itemizedlist>
-<title>gdzie:</title>
-<listitem><para>
- Hc i Wc to wysokoÅÄ i szerokoÅÄ skadrowanego filmu.
-</para></listitem>
-<listitem><para>
- ARa do wyÅwietlane proporcje, zazwyczaj 4/3 lub 16/9.
-</para></listitem>
-<listitem><para>
- PRdvd to proporcje na DVD równe 1,25=(720*576) dla DVD PAL i 1,5=(720/480) dla
- VD NTSC.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Potem możesz policzyÄ rozdzielczoÅÄ X i Y, zgodnie z dobranym wskażnikiem
-JakoÅci Kompresji (Compression Quality, CQ):
-<systemitem>RozY = INT(Pierw( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
-i
-<systemitem>RozX = INT( ResY * ARc / 16) * 16</systemitem>,
-gdzie INT oznacza zaokrÄ
glenie do liczby caÅkowitej.
-</para>
-
-<para>
-Dobrze, ale co to jest CQ?
-CQ reprezentuje iloÅÄ bitów na piksel i klatkÄ kodowania.
-Z grubsza biorÄ
c, im wiÄksze CQ tym mniejsza szansa na zobaczenie artefaktów
-kodowania.
-Jednakże, jeÅli masz docelowÄ
wielkoÅÄ filmu (na przykÅad 1 lub 2 pÅyty CD),
-masz ograniczonÄ
iloÅÄ bitów do zużycia; dlatego musisz znaleÅºÄ równowagÄ
-miÄdzy poziomem kompresji i jakoÅciÄ
.
-</para>
-
-<para>
-CQ zależy od bitrate, efektywnoÅci kodeka video i rozdzielczoÅci filmu.
-Å»eby podnieÅÄ CQ zazwyczej zmniejszysz film, ponieważ bitrate jest funkcjÄ
docelowej wielkoÅci i dÅugoÅci filmu, które sÄ
staÅe.
-Przy użyciu kodeków MPEG-4 ASP, takich jak
-<systemitem class="library">Xvid</systemitem> i
-<systemitem class="library">libavcodec</systemitem>, CQ niższe niż 0,18
-zazwyczaj daje kiepski obraz, ponieważ nie ma doÅÄ bitów by zakodowaÄ
-informacje z każdego makrobloku.
-(MPEG4, jak wiele innych kodeków, grupuje piksele w bloki żeby
-skompresowaÄ obraz. JeÅli nie ma doÅÄ bitów widaÄ krawÄdzie tych bloków.)
-Dlatego też mÄ
drze jest wybraÄ CQ w zakresie 0,20 do 0,22 na film jednopÅytkowy
-i 0,26-0,28 na dwupÅytkowy przy standardowych opcjach kodowania.
-Bardziej zaawansowane opcje kodowania, takie jak te podane tutaj dla
-<link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
-i
-<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
-powinny umożliwiÄ otrzymanie takiej samej jakoÅci z CQ w zakresie 0,18 do 0,20
-na 1 CD i 0,24 do 0,26 na 2 CD.
-Z kodekami MPEG-4 AVC, takimi jak
-<systemitem class="library">x264</systemitem>, możesz używaÄ CQ w zakresie
-0,14 do 0,16 przy standardowych opcjach
-a powinno siÄ też udaÄ zejÅÄ do 0,10 do 0,12 z
-<link linkend="menc-feat-x264-example-settings">zaawansowanymi opcjami kodowania <systemitem class="library">x264</systemitem></link>.
-</para>
-
-<para>
-PamiÄtajmy, że CQ jest tylko przydatnym odnoÅnikiem, zależnym od kodowanego
-filmu. CQ równe ,018 może wyglÄ
daÄ dobrze przy Bergmanie, w przeciwieÅstwie do
-filmu takiego jak Martix, który zaawiera wiele bardzo ruchliwych scen.
-Z drugiej strony, bezsensowne jest podnoszenie CQ powyżej 0,30 jako że marnuje siÄ bity bez zauważalnej poprawy jakoÅci.
-PamiÄtajmy też że, jak byÅo wspomniane wczeÅniej, filmy w niższej
-rozdzielczoÅci potrzebujÄ
wiÄkszego CQ (w porównaniu do na przykÅad
-rozdzielczoÅci DVD) żeby dobrze wyglÄ
daÄ.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>Filtrowanie</title>
-
-<para>
-Bardzo ważne do robienia dobrych kodowaÅ jest nauczenie siÄ posÅugiwania
-systemem filtrów <application>MEncodera</application>.
-CaÅe przetwarzanie video jest wykonywane przez filtry – kadrowanie, skalowanie,
-dopasowywanie kolorów, usuwanie szumu, telecine, odwrócone telecine, usuwanie
-bloków żeby wymieniÄ choÄ czÄÅÄ.
-Poza dużÄ
iloÅciÄ
obsÅugiwanych formatów wejÅciowych to wÅaÅnie zakres
-dostÄpnych filtrów jest jednÄ
z gÅównych przewag
-<application>MEncodera</application> nad podobnymi programami.
-</para>
-
-<para>
-Filtry sÄ
Åadowane do ÅaÅcucha przy pomocy opcji -vf:
-
-<screen>-vf filtr1=opcje,filtr2=opcje,...</screen>
-
-WiÄkszoÅÄ filtrów przyjmuje kilka parametrów numerycznych oddzielanych
-dwukropkami, ale dokÅadna skÅadnia zależy od filtru wiÄc szczegóÅy odnoÅnie
-filtrów, które chcesz zastosowaÄ, znajdziesz na stronie man.
-</para>
-
-<para>
-Filtry dziaÅajÄ
na filmie w kolejnoÅcy w jakiej zostaÅy zaÅadowane.
-Na przykÅad nastÄpujÄ
cy ÅaÅcuch:
-
-<screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
-najpierw skadruje fragment 688x464 filmu z lewym górnym rogiem na pozycji
-(12,4) a potem zmniejszy rozdzielczoÅÄ wyniku do 640x464.
-</para>
-
-<para>
-Niektóre filtry trzeba ÅadowaÄ na poczÄ
tku lub blisko poczÄ
tku ÅaÅcucha,
-ponieważ korzystajÄ
one z informacji którÄ
nastÄpne filtry mogÄ
zgubiÄ lub
-unieważniÄ.
-Sztandarowym przykÅÄ
dem jest <option>pp</option> (postprocessing, tylko gdy
-wykonuje operacje usuwania bloków lub pierÅcieni),
-<option>spp</option> (inny postprocessor do usuwania artefaktów MPEG),
-<option>pullup</option> (odwrócone telecine) i
-<option>softpulldown</option> (konwertuje miÄkkie telecine na twarde).
-</para>
-
-<para>
-W ogólnoÅci chcesz przeprowadzaÄ jak najmniej filtrowania żeby film pozostaÅ
-możliwie bliski oryginaÅowi.
-Kadrowanie czÄsto jest niezbÄne (jak opisano powyżej) ale staraj siÄ uniknÄ
Ä
-skalowania.
-Chociaż czasami zmniejszenie rozdzielczoÅci jest lepszym wyjÅciem niż użycie
-wyższego kwantyzatora, chcemy uniknÄ
Ä obu: pamiÄtajmy, że od poczÄ
tku
-zdecydowaliÅmy siÄ wybraÄ jakoÅÄ kosztem wielkoÅci.
-</para>
-
-<para>
-Nie należy też dostosowywaÄ gammy, kontrastu, jasnoÅci itp.
-Co wyglÄ
da dobrze na Twoim ekranie może nie byÄ tak dobre na innych.
-Takie dostrojenia powinny byÄ wykonywane tylko przy odtwarzaniu.
-</para>
-
-<para>
-JednÄ
rzeczÄ
którÄ
możesz chcieÄ zrobiÄ, jest przepuszczenie filmu przez bardzo
-lekkie usuwanie szumów, takie jak <option>-vf hqdn3d=2:1:2</option>.
-Znów, to kwestia lepszego zastosowania bitów: po co marnowaÄ je na zakodowanie
-szumu skoro można dodaÄ ten szum przy odtwarzaniu?
-ZwiÄkszenie parametrów dla <option>hqdn3d</option> jeszcze bardziej poprawi
-kompresowalnoÅÄ, ale jeÅli przesadzisz to zauważalnie znieksztaÅcisz obraz.
-WartoÅci sugerowane powyżej (<option>2:1:2</option>) sÄ
doÅÄ konserwatywne; nie
-bój siÄ eksperymentowaÄ z wyższymi wartoÅciami i samemu oceniaÄ wyniki.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>Przeplot i telecine</title>
-
-<para>
-Prawie wszystkie filmy sÄ
krÄcone przy 24 fps.
-Ponieważ NTSC ma 30000/1001 fps potrzebna jest pewna przeróbka żeby film 24 fps
-mógÅ byÄ wyÅwietlany z prawidÅowÄ
szybkoÅciÄ
NTSC.
-Ten proces nazywa siÄ 3:2 pulldown, czÄsto zwany też telecine (ponieważ jest
-używany przy konwersji z kina do telewizji) i, w uproszczeniu, jest to
-spowolnienie filmu do 24000/1001 fps i powtórzenie co czwartej klatki.
-</para>
-
-<para>
-Filmy DVD PAL, odtwarzanie przy 25 fps, nie wymagajÄ
żadnego specjalnego
-traktowania.
-(Technicznie rzecz ujmujÄ
c, PAL może byÄ poddany telecine, nazywanemu 2:2
-pulldown, ale w praktyce nie jest to problemem.)
-Po prostu film 24 fps jest odtwarzany przy 25 fps.
-W wyniku tego film jest odtwarzany odrobinkÄ szybciej, ale jeÅli nie masz
-nieziemskich zmysÅów to tego nie zauważysz.
-WiÄkszoÅÄ DVD PAL ma skorygowanÄ
wysokoÅÄ dźwiÄku, wiÄc kiedy sÄ
odtwarzane
-przy 25 fps dźwiÄk bÄdzie brzmiaÅ poprawnie, mimo tego że Åcieżka dźwiekowa
-(jak i caÅy film) jest o 4% krótsza niż DVD NTSC.
-</para>
-
-<para>
-Ponieważ film na DVD PAL nie zostaŠzmieniony, nie ma powodu za bardzo
-przejmowaÄ siÄ framerate.
-OryginaÅ ma 25 fps i Twój rip też bÄdzie miaÅ 25 fps.
-Jednak jeÅli ripujesz film z DVD NTSC możesz byÄ zmuszony do zastosowania
-odwrotnego telecine.
-</para>
-
-<para>
-Dla filmów nagrywanych przy 24 fps obraz na DVD NTSC jest albo poddany telecine
-na 30000/1001 albo jest progresywny przy 24000/1001 i przeznaczony do poddania
-telecine w locie przez odtwarzacz DVD.
-Z drugiej strony seriale telewizyjne zazwyczaj majÄ
tylko przeplot, nie sÄ
poddane telecine.
-Nie jest to reguÅa: Niektóre seriale (na przykÅad Buffy Åowca Wampirów) majÄ
-przeplot, a inne sÄ
mieszankÄ
progresywnego i przeplotu (Angel, 24).
-</para>
-
-<para>
-Jest wysoce zalecane żebyÅ przeczytaÅ sekcjÄ
-<!-- TODO przetÅumaczyÄ tytuÅ -->
-<link linkend="menc-feat-telecine">How to deal with telecine and interlacing in NTSC DVDs</link>
-żeby dowiedzieÄ siÄ jak sobie radziÄ z różnymi możliwoÅciami.
-</para>
-
-<para>
-Jednak jeÅli zazwyczaj tylko ripujesz filmy, prawdopodobnie masz doczynienia
-z filmem 24 fps progresywnym lub poddanym telecine, a w takim przypadku możesz
-użyÄ filtra <option>pullup</option> podajÄ
c parametr
-<option>-vf pullup,softskip</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-<!-- synced 'till here -->
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>Encoding interlaced video</title>
-
-<para>
-If the movie you want to encode is interlaced (NTSC video or
-PAL video), you will need to choose whether you want to
-deinterlace or not.
-While deinterlacing will make your movie usable on progressive
-scan displays such a computer monitors and projectors, it comes
-at a cost: The fieldrate of 50 or 60000/1001 fields per second
-is halved to 25 or 30000/1001 frames per second, and roughly half of
-the information in your movie will be lost during scenes with
-significant motion.
-</para>
-
-<para>
-Therefore, if you are encoding for high quality archival purposes,
-it is recommended not to deinterlace.
-You can always deinterlace the movie at playback time when
-displaying it on progressive scan devices.
-The power of currently available computers forces players to use a
-deinterlacing filter, which results in a slight degradation in
-image quality.
-But future players will be able to mimic the interlaced display of
-a TV, deinterlacing to full fieldrate and interpolating 50 or
-60000/1001 entire frames per second from the interlaced video.
-</para>
-
-<para>
-Special care must be taken when working with interlaced video:
-</para>
-
-<orderedlist>
-<listitem><para>
- Crop height and y-offset must be multiples of 4.
-</para></listitem>
-<listitem><para>
- Any vertical scaling must be performed in interlaced mode.
-</para></listitem>
-<listitem><para>
- Postprocessing and denoising filters may not work as expected
- unless you take special care to operate them a field at a time,
- and they may damage the video if used incorrectly.
-</para></listitem>
-</orderedlist>
-
-<para>
-With these things in mind, here is our first example:
-<screen>
-mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-Note the <option>ilme</option> and <option>ildct</option> options.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>Notes on Audio/Video synchronization</title>
-
-<para>
-<application>MEncoder</application>'s audio/video synchronization
-algorithms were designed with the intention of recovering files with
-broken sync.
-However, in some cases they can cause unnecessary skipping and duplication of
-frames, and possibly slight A/V desync, when used with proper input
-(of course, A/V sync issues apply only if you process or copy the
-audio track while transcoding the video, which is strongly encouraged).
-Therefore, you may have to switch to basic A/V sync with
-the <option>-mc 0</option> option, or put this in your
-<systemitem>~/.mplayer/mencoder</systemitem> config file, as long as
-you are only working with good sources (DVD, TV capture, high quality
-MPEG-4 rips, etc) and not broken ASF/RM/MOV files.
-</para>
-
-<para>
-If you want to further guard against strange frame skips and
-duplication, you can use both <option>-mc 0</option> and
-<option>-noskip</option>.
-This will prevent <emphasis>all</emphasis> A/V sync, and copy frames
-one-to-one, so you cannot use it if you will be using any filters that
-unpredictably add or drop frames, or if your input file has variable
-framerate!
-Therefore, using <option>-noskip</option> is not in general recommended.
-</para>
-
-<para>
-The so-called "three-pass" audio encoding which
-<application>MEncoder</application> supports has been reported to cause A/V
-desync.
-This will definitely happen if it is used in conjunction with certain
-filters, therefore, it is now recommended <emphasis>not</emphasis> to
-use three-pass audio mode.
-This feature is only left for compatibility purposes and for expert
-users who understand when it is safe to use and when it is not.
-If you have never heard of three-pass mode before, forget that we
-even mentioned it!
-</para>
-
-<para>
-There have also been reports of A/V desync when encoding from stdin
-with <application>MEncoder</application>.
-Do not do this! Always use a file or CD/DVD/etc device as input.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>Choosing the video codec</title>
-
-<para>
-Which video codec is best to choose depends on several factors,
-like size, quality, streamability, usability and popularity, some of
-which widely depend on personal taste and technical constraints.
-</para>
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Compression efficiency</emphasis>:
- It is quite easy to understand that most newer-generation codecs are
- made to increase quality and compression.
- Therefore, the authors of this guide and many other people suggest that
- you cannot go wrong
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
- Be careful, however: Decoding DVD-resolution MPEG-4 AVC videos
- requires a fast machine (i.e. a Pentium 4 over 1.5GHz or a Pentium M
- over 1GHz).
- </para></footnote>
- when choosing MPEG-4 AVC codecs like
- <systemitem class="library">x264</systemitem> instead of MPEG-4 ASP codecs
- such as <systemitem class="library">libavcodec</systemitem> MPEG-4 or
- <systemitem class="library">Xvid</systemitem>.
- (Advanced codec developers may be interested in reading Michael
- Niedermayer's opinion on
- "<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>".)
- Likewise, you should get better quality using MPEG-4 ASP than you
- would with MPEG-2 codecs.
- </para>
-
- <para>
- However, newer codecs which are in heavy development can suffer from
- bugs which have not yet been noticed and which can ruin an encode.
- This is simply the tradeoff for using bleeding-edge technology.
- </para>
-
- <para>
- What is more, beginning to use a new codec requires that you spend some
- time becoming familiar with its options, so that you know what
- to adjust to achieve a desired picture quality.
- </para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">Hardware compatibility</emphasis>:
- It usually takes a long time for standalone video players to begin to
- include support for the latest video codecs.
- As a result, most only support MPEG-1 (like VCD, XVCD and KVCD), MPEG-2
- (like DVD, SVCD and KVCD) and MPEG-4 ASP (like DivX,
- <systemitem class="library">libavcodec</systemitem>'s LMP4 and
- <systemitem class="library">Xvid</systemitem>)
- (Beware: Usually, not all MPEG-4 ASP features are supported).
- Please refer to the technical specs of your player (if they are available),
- or google around for more information.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Best quality per encoding time</emphasis>:
- Codecs that have been around for some time (such as
- <systemitem class="library">libavcodec</systemitem> MPEG-4 and
- <systemitem class="library">Xvid</systemitem>) are usually heavily
- optimized with all kinds of smart algorithms and SIMD assembly code.
- That is why they tend to yield the best quality per encoding time ratio.
- However, they may have some very advanced options that, if enabled,
- will make the encode really slow for marginal gains.
- </para>
-
- <para>
- If you are after blazing speed you should stick around the default
- settings of the video codec (although you should still try the other
- options which are mentioned in other sections of this guide).
- </para>
-
- <para>
- You may also consider choosing a codec which can do multi-threaded
- processing, though this is only useful for users of machines with
- several CPUs.
- <systemitem class="library">libavcodec</systemitem> MPEG-4 does
- allow that, but speed gains are limited, and there is a slight
- negative effect on picture quality.
- <systemitem class="library">Xvid</systemitem>'s multi-threaded encoding,
- activated by the <option>threads</option> option, can be used to
- boost encoding speed — by about 40-60% in typical cases —
- with little if any picture degradation.
- <systemitem class="library">x264</systemitem> also allows multi-threaded
- encoding, which currently speeds up encoding by 94% per CPU core while
- lowering PSNR between 0.005dB and 0.01dB on a typical setup.
- </para>
-</listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Personal taste</emphasis>:
- This is where it gets almost irrational: For the same reason that some
- hung on to DivX 3 for years when newer codecs were already doing wonders,
- some folks will prefer <systemitem class="library">Xvid</systemitem>
- or <systemitem class="library">libavcodec</systemitem> MPEG-4 over
- <systemitem class="library">x264</systemitem>.
- </para>
- <para>
- You should make your own judgement; do not take advice from people who
- swear by one codec.
- Take a few sample clips from raw sources and compare different
- encoding options and codecs to find one that suits you best.
- The best codec is the one you master, and the one that looks
- best to your eyes on your display
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para>
- The same encode may not look the same on someone else's monitor or
- when played back by a different decoder, so future-proof your encodes by
- playing them back on different setups.
- </para></footnote>!
- </para>
-</listitem>
-</itemizedlist>
-
-<para>
-Please refer to the section
-<link linkend="menc-feat-selecting-codec">selecting codecs and container formats</link>
-to get a list of supported codecs.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>Audio</title>
-
-<para>
-Audio is a much simpler problem to solve: if you care about quality, just
-leave it as is.
-Even AC-3 5.1 streams are at most 448Kbit/s, and they are worth every bit.
-You might be tempted to transcode the audio to high quality Vorbis, but
-just because you do not have an A/V receiver for AC-3 pass-through today
-does not mean you will not have one tomorrow. Future-proof your DVD rips by
-preserving the AC-3 stream.
-You can keep the AC-3 stream either by copying it directly into the video
-stream <link linkend="menc-feat-mpeg4">during the encoding</link>.
-You can also extract the AC-3 stream in order to mux it into containers such
-as NUT or Matroska.
-<screen>
-mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable>
-</screen>
-will dump into the file <replaceable>sound.ac3</replaceable> the
-audio track number 129 from the file
-<replaceable>source_file.vob</replaceable> (NB: DVD VOB files
-usually use a different audio numbering,
-which means that the VOB audio track 129 is the 2nd audio track of the file).
-</para>
-
-<para>
-But sometimes you truly have no choice but to further compress the
-sound so that more bits can be spent on the video.
-Most people choose to compress audio with either MP3 or Vorbis audio codecs.
-While the latter is a very space-efficient codec, MP3 is better supported
-by hardware players, although this trend is changing.
-</para>
-
-<para>
-Do <emphasis>not</emphasis> use <option>-nosound</option> when encoding
-a file with audio, even if you will be encoding and muxing audio
-separately later.
-Though it may work in ideal cases, using <option>-nosound</option> is
-likely to hide some problems in your encoding command line setting.
-In other words, having a soundtrack during your encode assures you that,
-provided you do not see messages such as
-<quote>Too many audio packets in the buffer</quote>, you will be able
-to get proper sync.
-</para>
-
-<para>
-You need to have <application>MEncoder</application> process the sound.
-You can for example copy the original soundtrack during the encode with
-<option>-oac copy</option> or convert it to a "light" 4 kHz mono WAV
-PCM with <option>-oac pcm -channels 1 -srate 4000</option>.
-Otherwise, in some cases, it will generate a video file that will not sync
-with the audio.
-Such cases are when the number of video frames in the source file does
-not match up to the total length of audio frames or whenever there
-are discontinuities/splices where there are missing or extra audio frames.
-The correct way to handle this kind of problem is to insert silence or
-cut audio at these points.
-However <application>MPlayer</application> cannot do that, so if you
-demux the AC-3 audio and encode it with a separate app (or dump it to PCM with
-<application>MPlayer</application>), the splices will be left incorrect
-and the only way to correct them is to drop/duplicate video frames at the
-splice.
-As long as <application>MEncoder</application> sees the audio when it is
-encoding the video, it can do this dropping/duping (which is usually OK
-since it takes place at full black/scene change), but if
-<application>MEncoder</application> cannot see the audio, it will just
-process all frames as-is and they will not fit the final audio stream when
-you for example merge your audio and video track into a Matroska file.
-</para>
-
-<para>
-First of all, you will have to convert the DVD sound into a WAV file that the
-audio codec can use as input.
-For example:
-<screen>
-mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> \
- -vc dummy -aid 1 -vo null
-</screen>
-will dump the second audio track from the file
-<replaceable>source_file.vob</replaceable> into the file
-<replaceable>destination_sound.wav</replaceable>.
-You may want to normalize the sound before encoding, as DVD audio tracks
-are commonly recorded at low volumes.
-You can use the tool <application>normalize</application> for instance,
-which is available in most distributions.
-If you are using Windows, a tool such as <application>BeSweet</application>
-can do the same job.
-You will compress in either Vorbis or MP3.
-For example:
-<screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen>
-will encode <replaceable>destination_sound.wav</replaceable> with
-the encoding quality 1, which is roughly equivalent to 80Kb/s, and
-is the minimum quality at which you should encode if you care about
-quality.
-Please note that <application>MEncoder</application> currently cannot
-mux Vorbis audio tracks
-into the output file because it only supports AVI and MPEG
-containers as an output, each of which may lead to audio/video
-playback synchronization problems with some players when the AVI file
-contain VBR audio streams such as Vorbis.
-Do not worry, this document will show you how you can do that with third
-party programs.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>Muxing</title>
-
-<para>
-Now that you have encoded your video, you will most likely want
-to mux it with one or more audio tracks into a movie container, such
-as AVI, MPEG, Matroska or NUT.
-<application>MEncoder</application> is currently only able to natively output
-audio and video into MPEG and AVI container formats.
-for example:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> \
- -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable>
-</screen>
-This would merge the video file <replaceable>input_video.avi</replaceable>
-and the audio file <replaceable>input_audio.mp2</replaceable>
-into the AVI file <replaceable>output_movie.avi</replaceable>.
-This command works with MPEG-1 layer I, II and III (more commonly known
-as MP3) audio, WAV and a few other audio formats too.
-</para>
-
-<para>
-<application>MEncoder</application> features experimental support for
-<systemitem class="library">libavformat</systemitem>, which is a
-library from the FFmpeg project that supports muxing and demuxing
-a variety of containers.
-For example:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> \
- <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf
-</screen>
-This will do the same thing as the previous example, except that
-the output container will be ASF.
-Please note that this support is highly experimental (but getting
-better every day), and will only work if you compiled
-<application>MPlayer</application> with the support for
-<systemitem class="library">libavformat</systemitem> enabled (which
-means that a pre-packaged binary version will not work in most cases).
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>Improving muxing and A/V sync reliability</title>
-
-<para>
-You may experience some serious A/V sync problems while trying to mux
-your video and some audio tracks, where no matter how you adjust the
-audio delay, you will never get proper sync.
-That may happen when you use some video filters that will drop or
-duplicate some frames, like the inverse telecine filters.
-It is strongly encouraged to append the <option>harddup</option> video
-filter at the end of the filter chain to avoid this kind of problem.
-</para>
-
-<para>
-Without <option>harddup</option>, if <application>MEncoder</application>
-wants to duplicate a frame, it relies on the muxer to put a mark on the
-container so that the last frame will be displayed again to maintain
-sync while writing no actual frame.
-With <option>harddup</option>, <application>MEncoder</application>
-will instead just push the last frame displayed again into the filter
-chain.
-This means that the encoder receives the <emphasis>exact</emphasis>
-same frame twice, and compresses it.
-This will result in a slightly bigger file, but will not cause problems
-when demuxing or remuxing into other container formats.
-</para>
-
-<para>
-You may also have no choice but to use <option>harddup</option> with
-container formats that are not too tightly linked with
-<application>MEncoder</application> such as the ones supported through
-<systemitem class="library">libavformat</systemitem>, which may not
-support frame duplication at the container level.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>Limitations of the AVI container</title>
-
-<para>
-Although it is the most widely-supported container format after MPEG-1,
-AVI also has some major drawbacks.
-Perhaps the most obvious is the overhead.
-For each chunk of the AVI file, 24 bytes are wasted on headers and index.
-This translates into a little over 5 MB per hour, or 1-2.5%
-overhead for a 700 MB movie. This may not seem like much, but it could
-mean the difference between being able to use 700 kbit/sec video or
-714 kbit/sec, and every bit of quality counts.
-</para>
-
-<para>
-In addition this gross inefficiency, AVI also has the following major
-limitations:
-</para>
-
-<orderedlist>
-<listitem><para>
- Only fixed-fps content can be stored. This is particularly limiting
- if the original material you want to encode is mixed content, for
- example a mix of NTSC video and film material.
- Actually there are hacks that can be used to store mixed-framerate
- content in AVI, but they increase the (already huge) overhead
- fivefold or more and so are not practical.
-</para></listitem>
-<listitem><para>
- Audio in AVI files must be either constant-bitrate (CBR) or
- constant-framesize (i.e. all frames decode to the same number of
- samples).
- Unfortunately, the most efficient codec, Vorbis, does not meet
- either of these requirements.
- Therefore, if you plan to store your movie in AVI, you will have to
- use a less efficient codec such as MP3 or AC-3.
-</para></listitem>
-</orderedlist>
-
-<para>
-Having said all that, <application>MEncoder</application> does not
-currently support variable-fps output or Vorbis encoding.
-Therefore, you may not see these as limitations if
-<application>MEncoder</application> is the
-only tool you will be using to produce your encodes.
-However, it is possible to use <application>MEncoder</application>
-only for video encoding, and then use external tools to encode
-audio and mux it into another container format.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>Muxing into the Matroska container</title>
-
-<para>
-Matroska is a free, open standard container format, aiming
-to offer a lot of advanced features, which older containers
-like AVI cannot handle.
-For example, Matroska supports variable bitrate audio content
-(VBR), variable framerates (VFR), chapters, file attachments,
-error detection code (EDC) and modern A/V Codecs like "Advanced Audio
-Coding" (AAC), "Vorbis" or "MPEG-4 AVC" (H.264), next to nothing
-handled by AVI.
-</para>
-
-<para>
-The tools required to create Matroska files are collectively called
-<application>mkvtoolnix</application>, and are available for most
-Unix platforms as well as <application>Windows</application>.
-Because Matroska is an open standard you may find other
-tools that suit you better, but since mkvtoolnix is the most
-common, and is supported by the Matroska team itself, we will
-only cover its usage.
-</para>
-
-<para>
-Probably the easiest way to get started with Matroska is to use
-<application>MMG</application>, the graphical frontend shipped with
-<application>mkvtoolnix</application>, and follow the
-<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink>
-</para>
-
-<para>
-You may also mux audio and video files using the command line:
-<screen>
-mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable>
-</screen>
-This would merge the video file <replaceable>input_video.avi</replaceable>
-and the two audio files <replaceable>input_audio1.mp3</replaceable>
-and <replaceable>input_audio2.ac3</replaceable> into the Matroska
-file <replaceable>output.mkv</replaceable>.
-Matroska, as mentioned earlier, is able to do much more than that, like
-multiple audio tracks (including fine-tuning of audio/video
-synchronization), chapters, subtitles, splitting, etc...
-Please refer to the documentation of those applications for
-more details.
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-telecine">
-<title>How to deal with telecine and interlacing within NTSC DVDs</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>Introduction</title>
-
-<formalpara>
-<title>What is telecine?</title>
-<para>
-If you do not understand much of what is written in this document, read the
-<ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia entry on telecine</ulink>.
-It is an understandable and reasonably comprehensive
-description of what telecine is.
-</para></formalpara>
-
-<formalpara>
-<title>A note about the numbers.</title>
-<para>
-Many documents, including the article linked above, refer to the fields
-per second value of NTSC video as 59.94 and the corresponding frames
-per second values as 29.97 (for telecined and interlaced) and 23.976
-(for progressive). For simplicity, some documents even round these
-numbers to 60, 30, and 24.
-</para></formalpara>
-
-<para>
-Strictly speaking, all those numbers are approximations. Black and
-white NTSC video was exactly 60 fields per second, but 60000/1001
-was later chosen to accommodate color data while remaining compatible
-with contemporary black and white televisions. Digital NTSC video
-(such as on a DVD) is also 60000/1001 fields per second. From this,
-interlaced and telecined video are derived to be 30000/1001 frames
-per second; progressive video is 24000/1001 frames per second.
-</para>
-
-<para>
-Older versions of the <application>MEncoder</application> documentation
-and many archived mailing list posts refer to 59.94, 29.97, and 23.976.
-All <application>MEncoder</application> documentation has been updated
-to use the fractional values, and you should use them too.
-</para>
-
-<para>
-<option>-ofps 23.976</option> is incorrect.
-<option>-ofps 24000/1001</option> should be used instead.
-</para>
-
-<formalpara>
-<title>How telecine is used.</title>
-<para>
-All video intended to be displayed on an NTSC
-television set must be 60000/1001 fields per second. Made-for-TV movies
-and shows are often filmed directly at 60000/1001 fields per second, but
-the majority of cinema is filmed at 24 or 24000/1001 frames per
-second. When cinematic movie DVDs are mastered, the video is then
-converted for television using a process called telecine.
-</para></formalpara>
-
-<para>
-On a DVD, the video is never actually stored as 60000/1001 fields per
-second. For video that was originally 60000/1001, each pair of fields is
-combined to form a frame, resulting in 30000/1001 frames per
-second. Hardware DVD players then read a flag embedded in the video
-stream to determine whether the odd- or even-numbered lines should
-form the first field.
-</para>
-
-<para>
-Usually, 24000/1001 frames per second content stays as it is when
-encoded for a DVD, and the DVD player must perform telecining
-on-the-fly. Sometimes, however, the video is telecined
-<emphasis>before</emphasis> being stored on the DVD; even though it
-was originally 24000/1001 frames per second, it becomes 60000/1001 fields per
-second. When it is stored on the DVD, pairs of fields are combined to form
-30000/1001 frames per second.
-</para>
-
-<para>
-When looking at individual frames formed from 60000/1001 fields per
-second video, telecined or otherwise, interlacing is clearly visible
-wherever there is any motion, because one field (say, the
-even-numbered lines) represents a moment in time 1/(60000/1001)
-seconds later than the other. Playing interlaced video on a computer
-looks ugly both because the monitor is higher resolution and because
-the video is shown frame-after-frame instead of field-after-field.
-</para>
-
-<itemizedlist>
-<title>Notes:</title>
-<listitem><para>
- This section only applies to NTSC DVDs, and not PAL.
-</para></listitem>
-<listitem><para>
- The example <application>MEncoder</application> lines throughout the
- document are <emphasis role="bold">not</emphasis> intended for
- actual use. They are simply the bare minimum required to encode the
- pertaining video category. How to make good DVD rips or fine-tune
- <systemitem class="library">libavcodec</systemitem> for maximal
- quality is not within the scope of this section; refer to other
- sections within the <link linkend="encoding-guide">MEncoder encoding
- guide</link>.
-</para></listitem>
-<listitem><para>
- There are a couple footnotes specific to this guide, linked like this:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-ident">
-<title>How to tell what type of video you have</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>Progressive</title>
-
-<para>
-Progressive video was originally filmed at 24000/1001 fps, and stored
-on the DVD without alteration.
-</para>
-
-<para>
-When you play a progressive DVD in <application>MPlayer</application>,
-<application>MPlayer</application> will print the following line as
-soon as the movie begins to play:
-<screen>
-demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
-</screen>
-From this point forward, demux_mpg should never say it finds
-"30000/1001 fps NTSC content."
-</para>
-
-<para>
-When you watch progressive video, you should never see any
-interlacing. Beware, however, because sometimes there is a tiny bit
-of telecine mixed in where you would not expect. I have encountered TV
-show DVDs that have one second of telecine at every scene change, or
-at seemingly random places. I once watched a DVD that had a
-progressive first half, and the second half was telecined. If you
-want to be <emphasis>really</emphasis> thorough, you can scan the
-entire movie:
-<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-Using <option>-benchmark</option> makes
-<application>MPlayer</application> play the movie as quickly as it
-possibly can; still, depending on your hardware, it can take a
-while. Every time demux_mpg reports a framerate change, the line
-immediately above will show you the time at which the change
-occurred.
-</para>
-
-<para>
-Sometimes progressive video on DVDs is referred to as
-"soft-telecine" because it is intended to
-be telecined by the DVD player.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Telecined</title>
-
-<para>
-Telecined video was originally filmed at 24000/1001, but was telecined
-<emphasis>before</emphasis> it was written to the DVD.
-</para>
-
-<para>
-<application>MPlayer</application> does not (ever) report any
-framerate changes when it plays telecined video.
-</para>
-
-<para>
-Watching a telecined video, you will see interlacing artifacts that
-seem to "blink": they repeatedly appear and disappear.
-You can look closely at this by
-<orderedlist>
-<listitem><screen>mplayer dvd://1</screen></listitem>
-<listitem><para>
- Seek to a part with motion.
-</para></listitem>
-<listitem><para>
- Use the <keycap>.</keycap> key to step forward one frame at a time.
-</para></listitem>
-<listitem><para>
- Look at the pattern of interlaced-looking and progressive-looking
- frames. If the pattern you see is PPPII,PPPII,PPPII,... then the
- video is telecined. If you see some other pattern, then the video
- may have been telecined using some non-standard method;
- <application>MEncoder</application> cannot losslessly convert
- non-standard telecine to progressive. If you do not see any
- pattern at all, then it is most likely interlaced.
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Sometimes telecined video on DVDs is referred to as
-"hard-telecine". Since hard-telecine is already 60000/1001 fields
-per second, the DVD player plays the video without any manipulation.
-</para>
-
-<para>
-Another way to tell if your source is telecined or not is to play
-the source with the <option>-vf pullup</option> and <option>-v</option>
-command line options to see how <option>pullup</option> matches frames.
-If the source is telecined, you should see on the console a 3:2 pattern
-with <systemitem>0+.1.+2</systemitem> and <systemitem>0++1</systemitem>
-alternating.
-This technique has the advantage that you do not need to watch the
-source to identify it, which could be useful if you wish to automate
-the encoding procedure, or to carry out said procedure remotely via
-a slow connection.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Interlaced</title>
-
-<para>
-Interlaced video was originally filmed at 60000/1001 fields per second,
-and stored on the DVD as 30000/1001 frames per second. The interlacing effect
-(often called "combing") is a result of combining pairs of
-fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart,
-and when they are displayed simultaneously the difference is apparent.
-</para>
-
-<para>
-As with telecined video, <application>MPlayer</application> should
-not ever report any framerate changes when playing interlaced content.
-</para>
-
-<para>
-When you view an interlaced video closely by frame-stepping with the
-<keycap>.</keycap> key, you will see that every single frame is interlaced.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>Mixed progressive and telecine</title>
-
-<para>
-All of a "mixed progressive and telecine" video was originally
-24000/1001 frames per second, but some parts of it ended up being telecined.
-</para>
-
-<para>
-When <application>MPlayer</application> plays this category, it will
-(often repeatedly) switch back and forth between "30000/1001 fps NTSC"
-and "24000/1001 fps progressive NTSC". Watch the bottom of
-<application>MPlayer</application>'s output to see these messages.
-</para>
-
-<para>
-You should check the "30000/1001 fps NTSC" sections to make sure
-they are actually telecine, and not just interlaced.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>Mixed progressive and interlaced</title>
-
-<para>
-In "mixed progressive and interlaced" content, progressive
-and interlaced video have been spliced together.
-</para>
-
-<para>
-This category looks just like "mixed progressive and telecine",
-until you examine the 30000/1001 fps sections and see that they do not have the
-telecine pattern.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-encode">
-<title>How to encode each category</title>
-<para>
-As I mentioned in the beginning, example <application>MEncoder</application>
-lines below are <emphasis role="bold">not</emphasis> meant to actually be used;
-they only demonstrate the minimum parameters to properly encode each category.
-</para>
-
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>Progressive</title>
-<para>
-Progressive video requires no special filtering to encode. The only
-parameter you need to be sure to use is <option>-ofps 24000/1001</option>.
-Otherwise, <application>MEncoder</application>
-will try to encode at 30000/1001 fps and will duplicate frames.
-</para>
-
-<para>
-<screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
-It is often the case, however, that a video that looks progressive
-actually has very short parts of telecine mixed in. Unless you are
-sure, it is safest to treat the video as
-<link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>.
-The performance loss is small
-<link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Telecined</title>
-
-<para>
-Telecine can be reversed to retrieve the original 24000/1001 content,
-using a process called inverse-telecine.
-<application>MPlayer</application> contains several filters to
-accomplish this; the best filter, <option>pullup</option>, is described
-in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed
-progressive and telecine</link> section.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Interlaced</title>
-
-<para>
-For most practical cases it is not possible to retrieve a complete
-progressive video from interlaced content. The only way to do so
-without losing half of the vertical resolution is to double the
-framerate and try to "guess" what ought to make up the
-corresponding lines for each field (this has drawbacks - see method 3).
-</para>
-
-<orderedlist>
-<listitem><para>
- Encode the video in interlaced form. Normally, interlacing wreaks
- havoc with the encoder's ability to compress well, but
- <systemitem class="library">libavcodec</systemitem> has two
- parameters specifically for dealing with storing interlaced video a
- bit better: <option>ildct</option> and <option>ilme</option>. Also,
- using <option>mbd=2</option> is strongly recommended
- <link linkend="menc-feat-telecine-footnotes">[2] </link> because it
- will encode macroblocks as non-interlaced in places where there is
- no motion. Note that <option>-ofps</option> is NOT needed here.
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
-</para></listitem>
-<listitem><para>
- Use a deinterlacing filter before encoding. There are several of
- these filters available to choose from, each with its own advantages
- and disadvantages. Consult <option>mplayer -pphelp</option> and
- <option>mplayer -vf help</option> to see what is available
- (grep for "deint"), read Michael Niedermayer's
- <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>,
- and search the
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
- MPlayer mailing lists</ulink> to find many discussions about the
- various filters.
- Again, the framerate is not changing, so no
- <option>-ofps</option>. Also, deinterlacing should be done after
- cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and
- before scaling.
- <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
-</para></listitem>
-<listitem><para>
- Unfortunately, this option is buggy with
- <application>MEncoder</application>; it ought to work well with
- <application>MEncoder G2</application>, but that is not here yet. You
- might experience crashes. Anyway, the purpose of <option> -vf
- tfields</option> is to create a full frame out of each field, which
- makes the framerate 60000/1001. The advantage of this approach is that no
- data is ever lost; however, since each frame comes from only one
- field, the missing lines have to be interpolated somehow. There are
- no very good methods of generating the missing data, and so the
- result will look a bit similar to when using some deinterlacing
- filters. Generating the missing lines creates other issues, as well,
- simply because the amount of data doubles. So, higher encoding
- bitrates are required to maintain quality, and more CPU power is
- used for both encoding and decoding. tfields has several different
- options for how to create the missing lines of each frame. If you
- use this method, then Reference the manual, and chose whichever
- option looks best for your material. Note that when using
- <option>tfields</option> you
- <emphasis role="bold">have to</emphasis> specify both
- <option>-fps</option> and <option>-ofps</option> to be twice the
- framerate of your original source.
- <screen>
-mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
- -fps 60000/1001 -ofps 60000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- If you plan on downscaling dramatically, you can extract and encode
- only one of the two fields. Of course, you will lose half the vertical
- resolution, but if you plan on downscaling to at most 1/2 of the
- original, the loss will not matter much. The result will be a
- progressive 30000/1001 frames per second file. The procedure is to use
- <option>-vf field</option>, then crop
- <link linkend="menc-feat-telecine-footnotes">[1]</link> and scale
- appropriately. Remember that you will have to adjust the scale to
- compensate for the vertical resolution being halved.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
-</para></listitem>
-</orderedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>Mixed progressive and telecine</title>
-
-<para>
-In order to turn mixed progressive and telecine video into entirely
-progressive video, the telecined parts have to be
-inverse-telecined. There are three ways to accomplish this,
-described below. Note that you should
-<emphasis role="bold">always</emphasis> inverse-telecine before any
-rescaling; unless you really know what you are doing,
-inverse-telecine before cropping, too
-<link linkend="menc-feat-telecine-footnotes">[1]</link>.
-<option>-ofps 24000/1001</option> is needed here because the output video
-will be 24000/1001 frames per second.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vf pullup</option> is designed to inverse-telecine
- telecined material while leaving progressive data alone. In order to
- work properly, <option>pullup</option> <emphasis role="bold">must</emphasis>
- be followed by the <option>softskip</option> filter or
- else <application>MEncoder</application> will crash.
- <option>pullup</option> is, however, the cleanest and most
- accurate method available for encoding both telecine and
- "mixed progressive and telecine".
- <screen>
-mencoder dvd://1 -oac copy -vf pullup,softskip
- -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- <option>-vf filmdint</option> is similar to
- <option>-vf pullup</option>: both filters attempt to match a pair of
- fields to form a complete frame. <option>filmdint</option> will
- deinterlace individual fields that it cannot match, however, whereas
- <option>pullup</option> will simply drop them. Also, the two filters
- have separate detection code, and <option>filmdint</option> may tend to match fields a
- bit less often. Which filter works better may depend on the input
- video and personal taste; feel free to experiment with fine-tuning
- the filters' options if you encounter problems with either one (see
- the man page for details). For most well-mastered input video,
- however, both filters work quite well, so either one is a safe choice
- to start with.
- <screen>
-mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- An older method
- is to, rather than inverse-telecine the telecined parts, telecine
- the non-telecined parts and then inverse-telecine the whole
- video. Sound confusing? softpulldown is a filter that goes through
- a video and makes the entire file telecined. If we follow
- softpulldown with either <option>detc</option> or
- <option>ivtc</option>, the final result will be entirely
- progressive. <option>-ofps 24000/1001</option> is needed.
- <screen>
-mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
- </screen>
-</para></listitem>
-
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>Mixed progressive and interlaced</title>
-
-<para>
-There are two options for dealing with this category, each of
-which is a compromise. You should decide based on the
-duration/location of each type.
-</para>
-
-<itemizedlist>
-<listitem>
- <para>
- Treat it as progressive. The interlaced parts will look interlaced,
- and some of the interlaced fields will have to be dropped, resulting
- in a bit of uneven jumpiness. You can use a postprocessing filter if
- you want to, but it may slightly degrade the progressive parts.
- </para>
-
- <para>
- This option should definitely not be used if you want to eventually
- display the video on an interlaced device (with a TV card, for
- example). If you have interlaced frames in a 24000/1001 frames per
- second video, they will be telecined along with the progressive
- frames. Half of the interlaced "frames" will be displayed for three
- fields' duration (3/(60000/1001) seconds), resulting in a flicking
- "jump back in time" effect that looks quite bad. If you
- even attempt this, you <emphasis role="bold">must</emphasis> use a
- deinterlacing filter like <option>lb</option> or
- <option>l5</option>.
- </para>
-
- <para>
- It may also be a bad idea for progressive display, too. It will drop
- pairs of consecutive interlaced fields, resulting in a discontinuity
- that can be more visible than with the second method, which shows
- some progressive frames twice. 30000/1001 frames per second interlaced
- video is already a bit choppy because it really should be shown at
- 60000/1001 fields per second, so the duplicate frames do not stand out as
- much.
- </para>
-
- <para>
- Either way, it is best to consider your content and how you intend to
- display it. If your video is 90% progressive and you never intend to
- show it on a TV, you should favor a progressive approach. If it is
- only half progressive, you probably want to encode it as if it is all
- interlaced.
- </para>
-</listitem>
-
-<listitem><para>
- Treat it as interlaced. Some frames of the progressive parts will
- need to be duplicated, resulting in uneven jumpiness. Again,
- deinterlacing filters may slightly degrade the progressive parts.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Footnotes</title>
-
-<orderedlist>
-<listitem>
- <formalpara>
- <title>About cropping:</title>
- <para>
- Video data on DVDs are stored in a format called YUV 4:2:0. In YUV
- video, luma ("brightness") and chroma ("color")
- are stored separately. Because the human eye is somewhat less
- sensitive to color than it is to brightness, in a YUV 4:2:0 picture
- there is only one chroma pixel for every four luma pixels. In a
- progressive picture, each square of four luma pixels (two on each
- side) has one common chroma pixel. You must crop progressive YUV
- 4:2:0 to even resolutions, and use even offsets. For example,
- <option>crop=716:380:2:26</option> is OK but
- <option>crop=716:380:3:26 </option> is not.
- </para>
- </formalpara>
-
- <para>
- When you are dealing with interlaced YUV 4:2:0, the situation is a
- bit more complicated. Instead of every four luma pixels in the
- <emphasis>frame</emphasis> sharing a chroma pixel, every four luma
- pixels in each <emphasis> field</emphasis> share a chroma
- pixel. When fields are interlaced to form a frame, each scanline is
- one pixel high. Now, instead of all four luma pixels being in a
- square, there are two pixels side-by-side, and the other two pixels
- are side-by-side two scanlines down. The two luma pixels in the
- intermediate scanline are from the other field, and so share a
- different chroma pixel with two luma pixels two scanlines away. All
- this confusion makes it necessary to have vertical crop dimensions
- and offsets be multiples of four. Horizontal can stay even.
- </para>
-
- <para>
- For telecined video, I recommend that cropping take place after
- inverse telecining. Once the video is progressive you only need to
- crop by even numbers. If you really want to gain the slight speedup
- that cropping first may offer, you must crop vertically by multiples
- of four or else the inverse-telecine filter will not have proper data.
- </para>
-
- <para>
- For interlaced (not telecined) video, you must always crop
- vertically by multiples of four unless you use <option>-vf
- field</option> before cropping.
- </para>
-</listitem>
-
-<listitem><formalpara>
- <title>About encoding parameters and quality:</title>
- <para>
- Just because I recommend <option>mbd=2</option> here does not mean it
- should not be used elsewhere. Along with <option>trell</option>,
- <option>mbd=2</option> is one of the two
- <systemitem class="library">libavcodec</systemitem> options that
- increases quality the most, and you should always use at least those
- two unless the drop in encoding speed is prohibitive (e.g. realtime
- encoding). There are many other options to
- <systemitem class="library">libavcodec</systemitem> that increase
- encoding quality (and decrease encoding speed) but that is beyond
- the scope of this document.
- </para>
-</formalpara></listitem>
-
-<listitem><formalpara>
- <title>About the performance of pullup:</title>
- <para>
- It is safe to use <option>pullup</option> (along with <option>softskip
- </option>) on progressive video, and is usually a good idea unless
- the source has been definitively verified to be entirely progressive.
- The performance loss is small for most cases. On a bare-minimum encode,
- <option>pullup</option> causes <application>MEncoder</application> to
- be 50% slower. Adding sound processing and advanced <option>lavcopts
- </option> overshadows that difference, bringing the performance
- decrease of using <option>pullup</option> down to 2%.
- </para>
-</formalpara></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Encoding with the <systemitem class="library">libavcodec</systemitem>
- codec family</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem>
-provides simple encoding to a lot of interesting video and audio formats.
-You can encode to the following codecs (more or less up to date):
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title><systemitem class="library">libavcodec</systemitem>'s
- video codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
- <row><entry>Video codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mjpeg</entry>
- <entry>Motion JPEG</entry>
-</row>
-<row>
- <entry>ljpeg</entry>
- <entry>lossless JPEG</entry>
-</row>
-<row>
- <entry>jpegls</entry>
- <entry>JPEG LS</entry>
-</row>
-<row>
- <entry>targa</entry>
- <entry>Targa image</entry>
-</row>
-<row>
- <entry>gif</entry>
- <entry>GIF image</entry>
-</row>
-<row>
- <entry>bmp</entry>
- <entry>BMP image</entry>
-</row>
-<row>
- <entry>png</entry>
- <entry>PNG image</entry>
-</row>
-<row>
- <entry>h261</entry>
- <entry>H.261</entry>
-</row>
-<row>
- <entry>h263</entry>
- <entry>H.263 </entry>
-</row>
-<row>
- <entry>h263p</entry>
- <entry>H.263+</entry>
-</row>
-<row>
- <entry>mpeg4</entry>
- <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry>
-</row>
-<row>
- <entry>msmpeg4</entry>
- <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry>
-</row>
-<row>
- <entry>msmpeg4v2</entry>
- <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry>
-</row>
-<row>
- <entry>wmv1</entry>
- <entry>Windows Media Video, version 1 (AKA WMV7)</entry>
-</row>
-<row>
- <entry>wmv2</entry>
- <entry>Windows Media Video, version 2 (AKA WMV8)</entry>
-</row>
-<row>
- <entry>rv10</entry>
- <entry>RealVideo 1.0</entry>
-</row>
-<row>
- <entry>rv20</entry>
- <entry>RealVideo 2.0</entry>
-</row>
-<row>
- <entry>mpeg1video</entry>
- <entry>MPEG-1 video</entry>
-</row>
-<row>
- <entry>mpeg2video</entry>
- <entry>MPEG-2 video</entry>
-</row>
-<row>
- <entry>huffyuv</entry>
- <entry>lossless compression</entry>
-</row>
-<row>
- <entry>ffvhuff</entry>
- <entry>FFmpeg modified huffyuv lossless</entry>
-</row>
-<row>
- <entry>asv1</entry>
- <entry>ASUS Video v1</entry>
-</row>
-<row>
- <entry>asv2</entry>
- <entry>ASUS Video v2</entry>
-</row>
-<row>
- <entry>ffv1</entry>
- <entry>FFmpeg's lossless video codec</entry>
-</row>
-<row>
- <entry>svq1</entry>
- <entry>Sorenson video 1</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Sorenson H.263 used in Flash Video</entry>
-</row>
-<row>
- <entry>flashsv</entry>
- <entry>Flash Screen Video</entry>
-</row>
-<row>
- <entry>dvvideo</entry>
- <entry>Sony Digital Video</entry>
-</row>
-<row>
- <entry>snow</entry>
- <entry>FFmpeg's experimental wavelet-based codec</entry>
-</row>
-<row>
- <entry>zmbv</entry>
- <entry>Zip Motion Blocks Video</entry>
-</row>
-<row>
- <entry>dnxhd</entry>
- <entry>AVID DNxHD</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>vcodec</literal> config,
-like: <option>-lavcopts vcodec=msmpeg4</option>
-</para>
-
-<informalexample><para>
-An example with MJPEG compression:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy
-</screen>
-</para></informalexample>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title><systemitem class="library">libavcodec</systemitem>'s
- audio codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Audio codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>ac3</entry>
- <entry>Dolby Digital (AC-3)</entry>
-</row>
-<row>
- <entry>adpcm_*</entry>
- <entry>Adaptive PCM formats - see supplementary table</entry>
-</row>
-<row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
-</row>
-<row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
-</row>
-<row>
- <entry>libamr_nb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry>
-</row>
-<row>
- <entry>libamr_wb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry>
-</row>
-<row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) - using FAAC</entry>
-</row>
-<row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 full rate</entry>
-</row>
-<row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
-</row>
-<row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) - using LAME</entry>
-</row>
-<row>
- <entry>mp2</entry>
- <entry>MPEG-1 audio layer 2 (MP2)</entry>
-</row>
-<row>
- <entry>pcm_*</entry>
- <entry>PCM formats - see supplementary table</entry>
-</row>
-<row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
-</row>
-<row>
- <entry>sonic</entry>
- <entry>experimental FFmpeg lossy codec</entry>
-</row>
-<row>
- <entry>sonicls</entry>
- <entry>experimental FFmpeg lossless codec</entry>
-</row>
-<row>
- <entry>vorbis</entry>
- <entry>Vorbis</entry>
-</row>
-<row>
- <entry>wmav1</entry>
- <entry>Windows Media Audio v1</entry>
-</row>
-<row>
- <entry>wmav2</entry>
- <entry>Windows Media Audio v2</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample><para>
-An example with AC-3 compression:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy
-</screen>
-</para></informalexample>
-
-<para>
-Contrary to <systemitem class="library">libavcodec</systemitem>'s video
-codecs, its audio codecs do not make a wise usage of the bits they are
-given as they lack some minimal psychoacoustic model (if at all)
-which most other codec implementations feature.
-However, note that all these audio codecs are very fast and work
-out-of-the-box everywhere <application>MEncoder</application> has been
-compiled with <systemitem class="library">libavcodec</systemitem> (which
-is the case most of time), and do not depend on external libraries.
-</para>
-
-<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
-<title>PCM/ADPCM format supplementary table</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>PCM/ADPCM codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>pcm_s32le</entry>
- <entry>signed 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s32be</entry>
- <entry>signed 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u32le</entry>
- <entry>unsigned 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u32be</entry>
- <entry>unsigned 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s24le</entry>
- <entry>signed 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s24be</entry>
- <entry>signed 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u24le</entry>
- <entry>unsigned 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u24be</entry>
- <entry>unsigned 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s16le</entry>
- <entry>signed 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s16be</entry>
- <entry>signed 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u16le</entry>
- <entry>unsigned 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u16be</entry>
- <entry>unsigned 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s8</entry>
- <entry>signed 8-bit</entry>
-</row>
-<row>
- <entry>pcm_u8</entry>
- <entry>unsigned 8-bit</entry>
-</row>
-<row>
- <entry>pcm_alaw</entry>
- <entry>G.711 A-LAW </entry>
-</row>
-<row>
- <entry>pcm_mulaw</entry>
- <entry>G.711 μ-LAW</entry>
-</row>
-<row>
- <entry>pcm_s24daud</entry>
- <entry>signed 24-bit D-Cinema Audio format</entry>
-</row>
-<row>
- <entry>pcm_zork</entry>
- <entry>Activision Zork Nemesis</entry>
-</row>
-<row>
- <entry>adpcm_ima_qt</entry>
- <entry>Apple QuickTime</entry>
-</row>
-<row>
- <entry>adpcm_ima_wav</entry>
- <entry>Microsoft/IBM WAVE</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk3</entry>
- <entry>Duck DK3</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk4</entry>
- <entry>Duck DK4</entry>
-</row>
-<row>
- <entry>adpcm_ima_ws</entry>
- <entry>Westwood Studios</entry>
-</row>
-<row>
- <entry>adpcm_ima_smjpeg</entry>
- <entry>SDL Motion JPEG</entry>
-</row>
-<row>
- <entry>adpcm_ms</entry>
- <entry>Microsoft</entry>
-</row>
-<row>
- <entry>adpcm_4xm</entry>
- <entry>4X Technologies</entry>
-</row>
-<row>
- <entry>adpcm_xa</entry>
- <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
-</row>
-<row>
- <entry>adpcm_ea</entry>
- <entry>Electronic Arts</entry>
-</row>
-<row>
- <entry>adpcm_ct</entry>
- <entry>Creative 16->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_swf</entry>
- <entry>Adobe Shockwave Flash</entry>
-</row>
-<row>
- <entry>adpcm_yamaha</entry>
- <entry>Yamaha</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_4</entry>
- <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_3</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_2</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
-</row>
-<row>
- <entry>adpcm_thp</entry>
- <entry>Nintendo GameCube FMV THP</entry>
-</row>
-<row>
- <entry>adpcm_adx</entry>
- <entry>Sega/CRI ADX</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect3>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>Encoding options of libavcodec</title>
-
-<para>
-Ideally, you would probably want to be able to just tell the encoder to switch
-into "high quality" mode and move on.
-That would probably be nice, but unfortunately hard to implement as different
-encoding options yield different quality results depending on the source
-material. That is because compression depends on the visual properties of the
-video in question.
-For example, Anime and live action have very different properties and
-thus require different options to obtain optimum encoding.
-The good news is that some options should never be left out, like
-<option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
-See below for a detailed description of common encoding options.
-</para>
-
-<itemizedlist>
-<title>Options to adjust:</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on
- the movie.
- Note that if you need to have your encode be decodable by DivX5, you
- need to activate closed GOP support, using
- <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option>
- option, but you need to deactivate scene detection, which
- is not a good idea as it will hurt encode efficiency a bit.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes.
- On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along
- with vb_strategy=1 helps.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better
- and slower.
- Negative values are a completely different scale.
- Good values are -1 for a fast encode, or 2-4 for slower.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">predia</emphasis>: motion search pre-pass.
- Not as important as dia. Good values are 1 (default) to 4. Requires preme=2
- to really be useful.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for
- motion estimation.
- Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
- distortion).
- 0 is fastest, and sufficient for precmp.
- For cmp and subcmp, 2 is good for Anime, and 3 is good for live action.
- 6 may or may not be slightly better, but is slow.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to
- take from the previous frame.
- 1-3 or so help at little speed cost.
- Higher values are slow for no extra gain.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of
- macroblocks. Small speed cost for small quality gain.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the
- macroblock's complexity.
- May help or hurt depending on the video and other options.
- This can cause artifacts unless you set vqmax to some reasonably small value
- (6 is good, maybe as low as 4); vqmin=1 should also help.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qns</emphasis>: very slow, especially when combined
- with qprd.
- This option will make the encoder minimize noise due to compression
- artifacts instead of making the encoded video strictly match the source.
- Do not use this unless you have already tweaked everything else as far as it
- will go and the results still are not good enough.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol.
- What values are good depends on the movie.
- You can safely leave this alone if you want.
- Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts
- them on high-complexity scenes (default: 0.5, range: 0-1. recommended range:
- 0.5-0.7).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient
- elimination threshold for luminance and chroma planes.
- These are encoded separately in all MPEG-like algorithms.
- The idea behind these options is to use some good heuristics to determine
- when the change in a block is less than the threshold you specify, and in
- such a case, to just encode the block as "no change".
- This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
- seem to be good for live movies, but seem not to help with Anime;
- when encoding animation, you should probably leave them unchanged.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation.
- MPEG-4 uses half pixel precision for its motion search by default,
- therefore this option comes with an overhead as more information will be
- stored in the encoded file.
- The compression gain/loss depends on the movie, but it is usually not very
- effective on Anime.
- qpel always incurs a significant cost in CPU decode time (+25% in
- practice).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding,
- but writes a log file giving the type/size/quality of each frame, and
- prints a summary of PSNR (Peak Signal to Noise Ratio) at the end.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Options not recommended to play with:</title>
-<listitem><para>
- <emphasis role="bold">vme</emphasis>: The default is best.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive
- quantization.
- You do not want to play with those options if you care about quality.
- Reasonable values may be effective in your case, but be warned this is very
- subjective.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky
- artifacts, but postprocessing is better.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Description</entry>
- <entry>Encoding options</entry>
- <entry>speed (in fps)</entry>
- <entry>Relative PSNR loss (in dB)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15fps</entry>
- <entry>-0.5dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42fps</entry>
- <entry>-0.74dB</entry>
-</row>
-<row>
- <entry>Realtime</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54fps</entry>
- <entry>-1.21dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="custommatrices">
-<title>Custom inter/intra matrices</title>
-
-<para>
-With this feature of
-<systemitem class="library">libavcodec</systemitem>
-you are able to set custom inter (I-frames/keyframes) and intra
-(P-frames/predicted frames) matrices. It is supported by many of the codecs:
-<systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem>
-are reported as working.
-</para>
-
-<para>
-A typical usage of this feature is to set the matrices preferred by the
-<ulink url="http://www.kvcd.net/">KVCD</ulink> specifications.
-</para>
-
-<para>
-The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-Usage:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \
- -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>Example</title>
-
-<para>
-So, you have just bought your shiny new copy of Harry Potter and the Chamber
-of Secrets (widescreen edition, of course), and you want to rip this DVD
-so that you can add it to your Home Theatre PC. This is a region 1 DVD,
-so it is NTSC. The example below will still apply to PAL, except you will
-omit <option>-ofps 24000/1001</option> (because the output framerate is the
-same as the input framerate), and of course the crop dimensions will be
-different.
-</para>
-
-<para>
-After running <option>mplayer dvd://1</option>, we follow the process
-detailed in the section <link linkend="menc-feat-telecine">How to deal
-with telecine and interlacing in NTSC DVDs</link> and discover that it is
-24000/1001 fps progressive video, which means that we need not use an inverse
-telecine filter, such as <option>pullup</option> or
-<option>filmdint</option>.
-</para>
-
-<para id="menc-feat-dvd-mpeg4-example-crop">
-Next, we want to determine the appropriate crop rectangle, so we use the
-cropdetect filter:
-<screen>mplayer dvd://1 -vf cropdetect</screen>
-Make sure you seek to a fully filled frame (such as a bright scene,
-past the opening credits and logos), and
-you will see in <application>MPlayer</application>'s console output:
-<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-We then play the movie back with this filter to test its correctness:
-<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-And we see that it looks perfectly fine. Next, we ensure the width and
-height are a multiple of 16. The width is fine, however the height is
-not. Since we did not fail 7th grade math, we know that the nearest
-multiple of 16 lower than 362 is 352.
-</para>
-
-<para>
-We could just use <option>crop=720:352:0:58</option>, but it would be nice
-to take a little off the top and a little off the bottom so that we
-retain the center. We have shrunk the height by 10 pixels, but we do not
-want to increase the y-offset by 5-pixels since that is an odd number and
-will adversely affect quality. Instead, we will increase the y-offset by
-4 pixels:
-<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-Another reason to shave pixels from both the top and the bottom is that we
-ensure we have eliminated any half-black pixels if they exist. Note that if
-your video is telecined, make sure the <option>pullup</option> filter (or
-whichever inverse telecine filter you decide to use) appears in the filter
-chain before you crop. If it is interlaced, deinterlace before cropping.
-(If you choose to preserve the interlaced video, then make sure your
-vertical crop offset is a multiple of 4.)
-</para>
-
-<para>
-If you are really concerned about losing those 10 pixels, you might
-prefer instead to scale the dimensions down to the nearest multiple of 16.
-The filter chain would look like:
-<screen>-vf crop=720:362:0:58,scale=720:352</screen>
-Scaling the video down like this will mean that some small amount of
-detail is lost, though it probably will not be perceptible. Scaling up will
-result in lower quality (unless you increase the bitrate). Cropping
-discards those pixels altogether. It is a tradeoff that you will want to
-consider for each circumstance. For example, if the DVD video was made
-for television, you might want to avoid vertical scaling, since the line
-sampling corresponds to the way the content was originally recorded.
-</para>
-
-<para>
-On inspection, we see that our movie has a fair bit of action and high
-amounts of detail, so we pick 2400Kbit for our bitrate.
-</para>
-
-<para>
-We are now ready to do the two pass encode. Pass one:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-And pass two is the same, except that we specify <option>vpass=2</option>:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-</para>
-
-<para>
-The options <option>v4mv:mbd=2:trell</option> will greatly increase the
-quality at the expense of encoding time. There is little reason to leave
-these options out when the primary goal is quality. The options
-<option>cmp=3:subcmp=3</option> select a comparison function that
-yields higher quality than the defaults. You might try experimenting with
-this parameter (refer to the man page for the possible values) as
-different functions can have a large impact on quality depending on the
-source material. For example, if you find
-<systemitem class="library">libavcodec</systemitem> produces too much
-blocky artifacts, you could try selecting the experimental NSSE as
-comparison function via <option>*cmp=10</option>.
-</para>
-
-<para>
-For this movie, the resulting AVI will be 138 minutes long and nearly
-3GB. And because you said that file size does not matter, this is a
-perfectly acceptable size. However, if you had wanted it smaller, you
-could try a lower bitrate. Increasing bitrates have diminishing
-returns, so while we might clearly see an improvement from 1800Kbit to
-2000Kbit, it might not be so noticeable above 2000Kbit. Feel
-free to experiment until you are happy.
-</para>
-
-<para>
-Because we passed the source video through a denoise filter, you may want
-to add some of it back during playback. This, along with the
-<option>spp</option> post-processing filter, drastically improves the
-perception of quality and helps eliminate blocky artifacts in the video.
-With <application>MPlayer</application>'s <option>autoq</option> option,
-you can vary the amount of post-processing done by the spp filter
-depending on available CPU. Also, at this point, you may want to apply
-gamma and/or color correction to best suit your display. For example:
-<screen>
-mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
-</screen>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-xvid">
-<title>Encoding with the <systemitem class="library">Xvid</systemitem>
- codec</title>
-
-<para>
-<systemitem class="library">Xvid</systemitem> is a free library for
-encoding MPEG-4 ASP video streams.
-Before starting to encode, you need to <link linkend="xvid">
-set up <application>MEncoder</application> to support it</link>.
-</para>
-
-<para>
-This guide mainly aims at featuring the same kind of information
-as x264's encoding guide.
-Therefore, please begin by reading
-<link linkend="menc-feat-x264-encoding-options-intro">the first part</link>
-of that guide.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-intro">
-<title>What options should I use to get the best results?</title>
-
-<para>
-Please begin by reviewing the
-<systemitem class="library">Xvid</systemitem> section of
-<application>MPlayer</application>'s man page.
-This section is intended to be a supplement to the man page.
-</para>
-
-<para>
-The Xvid default settings are already a good tradeoff between
-speed and quality, therefore you can safely stick to them if
-the following section puzzles you.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>Encoding options of <systemitem class="library">Xvid</systemitem></title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- This setting affects the macroblock decision algorithm, where the
- higher the setting, the wiser the decision.
- The default setting may be safely used for every encode, while
- higher settings always help PSNR but are significantly slower.
- Please note that a better PSNR does not necessarily mean
- that the picture will look better, but tells you that it is
- closer to the original.
- Turning it off will noticeably speed up encoding; if speed is
- critical for you, the tradeoff may be worth it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- This does the same job as vhq, but does it on B-frames.
- It has a negligible impact on speed, and slightly improves quality
- (around +0.1dB PSNR).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- A higher number of consecutive allowed B-frames usually improves
- compressibility, although it may also lead to more blocking artifacts.
- The default setting is a good tradeoff between compressibility and
- quality, but you may increase it up to 3 if you are bitrate-starved.
- You may also decrease it to 1 or 0 if you are aiming at perfect
- quality, though in that case you should make sure your
- target bitrate is high enough to ensure that the encoder does not
- have to increase quantizers to reach it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- This controls the B-frame sensitivity of the encoder, where a higher
- value leads to more B-frames being used (and vice versa).
- This setting is to be used together with <option>max_bframes</option>;
- if you are bitrate-starved, you should increase both
- <option>max_bframes</option> and <option>bf_threshold</option>,
- while you may increase <option>max_bframes</option> and reduce
- <option>bf_threshold</option> so that the encoder may use more
- B-frames in places that only <emphasis role="bold">really</emphasis>
- need them.
- A low number of <option>max_bframes</option> and a high value of
- <option>bf_threshold</option> is probably not a wise choice as it
- will force the encoder to put B-frames in places that would not
- benefit from them, therefore reducing visual quality.
- However, if you need to be compatible with standalone players that
- only support old DivX profiles (which only supports up to 1
- consecutive B-frame), this would be your only way to
- increase compressibility through using B-frames.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- Optimizes the quantization process to get an optimal tradeoff
- between PSNR and bitrate, which allows significant bit saving.
- These bits will in return be spent elsewhere on the video,
- raising overall visual quality.
- You should always leave it on as its impact on quality is huge.
- Even if you are looking for speed, do not disable it until you
- have turned down <option>vhq</option> and all other more
- CPU-hungry options to the minimum.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- Activates a better coefficient cost estimation method, which slightly
- reduces file size by around 0.15 to 0.19% (which corresponds to less
- than 0.01dB PSNR increase), while having a negligible impact on speed.
- It is therefore recommended to always leave it on.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- Designed to better encode cartoon content, and has no impact on
- speed as it just tunes the mode decision heuristics for this type
- of content.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">me_quality</emphasis>
- This setting is to control the precision of the motion estimation.
- The higher <option>me_quality</option>, the more
- precise the estimation of the original motion will be, and the
- better the resulting clip will capture the original motion.
- </para>
- <para>
- The default setting is best in all cases;
- thus it is not recommended to turn it down unless you are
- really looking for speed, as all the bits saved by a good motion
- estimation would be spent elsewhere, raising overall quality.
- Therefore, do not go any lower than 5, and even that only as a last
- resort.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- Improves motion estimation by also taking the chroma (color)
- information into account, whereas <option>me_quality</option>
- alone only uses luma (grayscale).
- This slows down encoding by 5-10% but improves visual quality
- quite a bit by reducing blocking effects and reduces file size by
- around 1.3%.
- If you are looking for speed, you should disable this option before
- starting to consider reducing <option>me_quality</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- Is intended to increase chroma image quality around pure
- white/black edges, rather than improving compression.
- This can help to reduce the "red stairs" effect.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- Tries to give less bitrate to part of the picture that the
- human eye cannot see very well, which should allow the encoder
- to spend the saved bits on more important parts of the picture.
- The quality of the encode yielded by this option highly depends
- on personal preferences and on the type and monitor settings
- used to watch it (typically, it will not look as good if it is
- bright or if it is a TFT monitor).
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>
- Raise the number of candidate motion vectors by increasing
- the precision of the motion estimation from halfpel to
- quarterpel.
- The idea is to find better motion vectors which will in return
- reduce bitrate (hence increasing quality).
- However, motion vectors with quarterpel precision require a
- few extra bits to code, but the candidate vectors do not always
- give (much) better results.
- Quite often, the codec still spends bits on the extra precision,
- but little or no extra quality is gained in return.
- Unfortunately, there is no way to foresee the possible gains of
- <option>qpel</option>, so you need to actually encode with and
- without it to know for sure.
- </para>
- <para>
- <option>qpel</option> can be almost double encoding time, and
- requires as much as 25% more processing power to decode.
- It is not supported by all standalone players.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- Tries to save bits on panning scenes by using a single motion
- vector for the whole frame.
- This almost always raises PSNR, but significantly slows down
- encoding (as well as decoding).
- Therefore, you should only use it when you have turned
- <option>vhq</option> to the maximum.
- <systemitem class="library">Xvid</systemitem>'s GMC is more
- sophisticated than DivX's, but is only supported by few
- standalone players.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>Encoding profiles</title>
-
-<para>
-Xvid supports encoding profiles through the <option>profile</option> option,
-which are used to impose restrictions on the properties of the Xvid video
-stream such that it will be playable on anything which supports the
-chosen profile.
-The restrictions relate to resolutions, bitrates and certain MPEG-4
-features.
-The following table shows what each profile supports.
-</para>
-
-<informaltable>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
-<tbody>
-<row>
- <entry></entry>
- <entry spanname="spa2-5">Simple</entry>
- <entry spanname="spa6-11">Advanced Simple</entry>
- <entry spanname="spa12-17">DivX</entry>
-</row>
-<row>
- <entry>Profile name</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>Handheld</entry>
- <entry>Portable NTSC</entry>
- <entry>Portable PAL</entry>
- <entry>Home Theater NTSC</entry>
- <entry>Home Theater PAL</entry>
- <entry>HDTV</entry>
-</row>
-<row>
- <entry>Width [pixels]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
-</row>
-<row>
- <entry>Height [pixels]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
-</row>
-<row>
- <entry>Frame rate [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
-</row>
-<row>
- <entry>Max average bitrate [kbps]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
-</row>
-<row>
- <entry>Peak average bitrate over 3 secs [kbps]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
-</row>
-<row>
- <entry>Max. B-frames</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
-</row>
-<row>
- <entry>MPEG quantization</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Adaptive quantization</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Interlaced encoding</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Quarterpixel</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Global motion compensation</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18fps</entry>
- <entry>-0.1dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28fps</entry>
- <entry>-0.69dB</entry>
-</row>
-<row>
- <entry>Realtime</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-x264">
-<title>Encoding with the
- <systemitem class="library">x264</systemitem> codec</title>
-
-<para>
-<systemitem class="library">x264</systemitem> is a free library for
-encoding H.264/AVC video streams.
-Before starting to encode, you need to
-<link linkend="x264">set up <application>MEncoder</application> to support it</link>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>Encoding options of x264</title>
-
-<para>
-Please begin by reviewing the
-<systemitem class="library">x264</systemitem> section of
-<application>MPlayer</application>'s man page.
-This section is intended to be a supplement to the man page.
-Here you will find quick hints about which options are most
-likely to interest most people. The man page is more terse,
-but also more exhaustive, and it sometimes offers much better
-technical detail.
-</para>
-
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Introduction</title>
-
-<para>
-This guide considers two major categories of encoding options:
-</para>
-
-<orderedlist>
-<listitem><para>
- Options which mainly trade off encoding time vs. quality
-</para></listitem>
-<listitem><para>
- Options which may be useful for fulfilling various personal
- preferences and special requirements
-</para></listitem>
-</orderedlist>
-
-<para>
-Ultimately, only you can decide which options are best for your
-purposes. The decision for the first class of options is the simplest:
-you only have to decide whether you think the quality differences
-justify the speed differences. For the second class of options,
-preferences may be far more subjective, and more factors may be
-involved. Note that some of the "personal preferences and special
-requirements" options can still have large impacts on speed or quality,
-but that is not what they are primarily useful for. A couple of the
-"personal preference" options may even cause changes that look better
-to some people, but look worse to others.
-</para>
-
-<para>
-Before continuing, you need to understand that this guide uses only one
-quality metric: global PSNR.
-For a brief explanation of what PSNR is, see
-<ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>.
-Global PSNR is the last PSNR number reported when you include
-the <option>psnr</option> option in <option>x264encopts</option>.
-Any time you read a claim about PSNR, one of the assumptions
-behind the claim is that equal bitrates are used.
-</para>
-
-<para>
-Nearly all of this guide's comments assume you are using two pass.
-When comparing options, there are two major reasons for using
-two pass encoding.
-First, using two pass often gains around 1dB PSNR, which is a
-very big difference.
-Secondly, testing options by doing direct quality comparisons
-with one pass encodes introduces a major confounding
-factor: bitrate often varies significantly with each encode.
-It is not always easy to tell whether quality changes are due
-mainly to changed options, or if they mostly reflect essentially
-random differences in the achieved bitrate.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>Options which primarily affect speed and quality</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">subq</emphasis>:
- Of the options which allow you to trade off speed for quality,
- <option>subq</option> and <option>frameref</option> (see below) are usually
- by far the most important.
- If you are interested in tweaking either speed or quality, these
- are the first options you should consider.
- On the speed dimension, the <option>frameref</option> and
- <option>subq</option> options interact with each other fairly
- strongly.
- Experience shows that, with one reference frame,
- <option>subq=5</option> (the default setting) takes about 35% more time than
- <option>subq=1</option>.
- With 6 reference frames, the penalty grows to over 60%.
- <option>subq</option>'s effect on PSNR seems fairly constant
- regardless of the number of reference frames.
- Typically, <option>subq=5</option> achieves 0.2-0.5 dB higher global
- PSNR in comparison <option>subq=1</option>.
- This is usually enough to be visible.
- </para>
- <para>
- <option>subq=6</option> is slower and yields better quality at a reasonable
- cost.
- In comparison to <option>subq=5</option>, it usually gains 0.1-0.4 dB
- global PSNR with speed costs varying from 25%-100%.
- Unlike other levels of <option>subq</option>, the behavior of
- <option>subq=6</option> does not depend much on <option>frameref</option>
- and <option>me</option>. Instead, the effectiveness of <option>subq=6
- </option> depends mostly upon the number of B-frames used. In normal
- usage, this means <option>subq=6</option> has a large impact on both speed
- and quality in complex, high motion scenes, but it may not have much effect
- in low-motion scenes. Note that it is still recommended to always set
- <option>bframes</option> to something other than zero (see below).
- </para>
- <para>
- <option>subq=7</option> is the slowest, highest quality mode.
- In comparison to <option>subq=6</option>, it usually gains 0.01-0.05 dB
- global PSNR with speed costs varying from 15%-33%.
- Since the tradeoff encoding time vs. quality is quite low, you should
- only use it if you are after every bit saving and if encoding time is
- not an issue.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">frameref</emphasis>:
- <option>frameref</option> is set to 1 by default, but this
- should not be taken to imply that it is reasonable to set it to 1.
- Merely raising <option>frameref</option> to 2 gains around
- 0.15dB PSNR with a 5-10% speed penalty; this seems like a good tradeoff.
- <option>frameref=3</option> gains around 0.25dB PSNR over
- <option>frameref=1</option>, which should be a visible difference.
- <option>frameref=3</option> is around 15% slower than
- <option>frameref=1</option>.
- Unfortunately, diminishing returns set in rapidly.
- <option>frameref=6</option> can be expected to gain only
- 0.05-0.1 dB over <option>frameref=3</option> at an additional
- 15% speed penalty.
- Above <option>frameref=6</option>, the quality gains are
- usually very small (although you should keep in mind throughout
- this whole discussion that it can vary quite a lot depending on your source).
- In a fairly typical case, <option>frameref=12</option>
- will improve global PSNR by a tiny 0.02dB over
- <option>frameref=6</option>, at a speed cost of 15%-20%.
- At such high <option>frameref</option> values, the only really
- good thing that can be said is that increasing it even further will
- almost certainly never <emphasis role="bold">harm</emphasis>
- PSNR, but the additional quality benefits are barely even
- measurable, let alone perceptible.
- </para>
- <note><title>Note:</title>
- <para>
- Raising <option>frameref</option> to unnecessarily high values
- <emphasis role="bold">can</emphasis> and
- <emphasis role="bold">usually does</emphasis>
- hurt coding efficiency if you turn CABAC off.
- With CABAC on (the default behavior), the possibility of setting
- <option>frameref</option> "too high" currently seems too remote
- to even worry about, and in the future, optimizations may remove
- the possibility altogether.
- </para></note>
- <para>
- If you care about speed, a reasonable compromise is to use low
- <option>subq</option> and <option>frameref</option> values on
- the first pass, and then raise them on the second pass.
- Typically, this has a negligible negative effect on the final
- quality: You will probably lose well under 0.1dB PSNR, which
- should be much too small of a difference to see.
- However, different values of <option>frameref</option> can
- occasionally affect frame type decision.
- Most likely, these are rare outlying cases, but if you want to
- be pretty sure, consider whether your video has either
- fullscreen repetitive flashing patterns or very large temporary
- occlusions which might force an I-frame.
- Adjust the first-pass <option>frameref</option> so it is large
- enough to contain the duration of the flashing cycle (or occlusion).
- For example, if the scene flashes back and forth between two images
- over a duration of three frames, set the first pass
- <option>frameref</option> to 3 or higher.
- This issue is probably extremely rare in live action video material,
- but it does sometimes come up in video game captures.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">me</emphasis>:
- This option is for choosing the motion estimation search method.
- Altering this option provides a straightforward quality-vs-speed
- tradeoff. <option>me=dia</option> is only a few percent faster than
- the default search, at a cost of under 0.1dB global PSNR. The
- default setting (<option>me=hex</option>) is a reasonable tradeoff
- between speed and quality. <option>me=umh</option> gains a little under
- 0.1dB global PSNR, with a speed penalty that varies depending on
- <option>frameref</option>. At high values of
- <option>frameref</option> (e.g. 12 or so), <option>me=umh</option>
- is about 40% slower than the default <option> me=hex</option>. With
- <option>frameref=3</option>, the speed penalty incurred drops to
- 25%-30%.
- </para>
- <para>
- <option>me=esa</option> uses an exhaustive search that is too slow for
- practical use.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">partitions=all</emphasis>:
- This option enables the use of 8x4, 4x8 and 4x4 subpartitions in
- predicted macroblocks (in addition to the default partitions).
- Enabling it results in a fairly consistent
- 10%-15% loss of speed. This option is rather useless in source
- containing only low motion, however in some high-motion source,
- particularly source with lots of small moving objects, gains of
- about 0.1dB can be expected.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">bframes</emphasis>:
- If you are used to encoding with other codecs, you may have found
- that B-frames are not always useful.
- In H.264, this has changed: there are new techniques and block
- types that are possible in B-frames.
- Usually, even a naive B-frame choice algorithm can have a
- significant PSNR benefit.
- It is interesting to note that using B-frames usually speeds up
- the second pass somewhat, and may also speed up a single
- pass encode if adaptive B-frame decision is turned off.
- </para>
- <para>
- With adaptive B-frame decision turned off
- (<option>x264encopts</option>'s <option>nob_adapt</option>),
- the optimal value for this setting is usually no more than
- <option>bframes=1</option>, or else high-motion scenes can suffer.
- With adaptive B-frame decision on (the default behavior), it is
- safe to use higher values; the encoder will reduce the use of
- B-frames in scenes where they would hurt compression.
- The encoder rarely chooses to use more than 3 or 4 B-frames;
- setting this option any higher will have little effect.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">b_adapt</emphasis>:
- Note: This is on by default.
- </para>
- <para>
- With this option enabled, the encoder will use a reasonably fast
- decision process to reduce the number of B-frames used in scenes that
- might not benefit from them as much.
- You can use <option>b_bias</option> to tweak how B-frame-happy
- the encoder is.
- The speed penalty of adaptive B-frames is currently rather modest,
- but so is the potential quality gain.
- It usually does not hurt, however.
- Note that this only affects speed and frame type decision on the
- first pass.
- <option>b_adapt</option> and <option>b_bias</option> have no
- effect on subsequent passes.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- You might as well enable this option if you are using >=2 B-frames;
- as the man page says, you get a little quality improvement at no
- speed cost.
- Note that these videos cannot be read by libavcodec-based decoders
- older than about March 5, 2005.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">weight_b</emphasis>:
- In typical cases, there is not much gain with this option.
- However, in crossfades or fade-to-black scenes, weighted
- prediction gives rather large bitrate savings.
- In MPEG-4 ASP, a fade-to-black is usually best coded as a series
- of expensive I-frames; using weighted prediction in B-frames
- makes it possible to turn at least some of these into much smaller
- B-frames.
- Encoding time cost is minimal, as no extra decisions need to be made.
- Also, contrary to what some people seem to guess, the decoder
- CPU requirements are not much affected by weighted prediction,
- all else being equal.
- </para>
- <para>
- Unfortunately, the current adaptive B-frame decision algorithm
- has a strong tendency to avoid B-frames during fades.
- Until this changes, it may be a good idea to add
- <option>nob_adapt</option> to your x264encopts, if you expect
- fades to have a large effect in your particular video
- clip.
- </para>
-</listitem>
-<listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
- <para>
- <emphasis role="bold">threads</emphasis>:
- This option allows to spawn threads to encode in parallel on multiple CPUs.
- You can manually select the number of threads to be created or, better, set
- <option>threads=auto</option> and let
- <systemitem class="library">x264</systemitem> detect how many CPUs are
- available and pick an appropriate number of threads.
- If you have a multi-processor machine, you should really consider using it
- as it can to increase encoding speed linearly with the number of CPU cores
- (about 94% per CPU core), with very little quality reduction (about 0.005dB
- for dual processor, about 0.01dB for a quad processor machine).
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>Options pertaining to miscellaneous preferences</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Two pass encoding</emphasis>:
- Above, it was suggested to always use two pass encoding, but there
- are still reasons for not using it. For instance, if you are capturing
- live TV and encoding in realtime, you are forced to use single-pass.
- Also, one pass is obviously faster than two passes; if you use the
- exact same set of options on both passes, two pass encoding is almost
- twice as slow.
- </para>
- <para>
- Still, there are very good reasons for using two pass encoding. For
- one thing, single pass ratecontrol is not psychic, and it often makes
- unreasonable choices because it cannot see the big picture. For example,
- suppose you have a two minute long video consisting of two distinct
- halves. The first half is a very high-motion scene lasting 60 seconds
- which, in isolation, requires about 2500kbps in order to look decent.
- Immediately following it is a much less demanding 60-second scene
- that looks good at 300kbps. Suppose you ask for 1400kbps on the theory
- that this is enough to accommodate both scenes. Single pass ratecontrol
- will make a couple of "mistakes" in such a case. First of all, it
- will target 1400kbps in both segments. The first segment may end up
- heavily overquantized, causing it to look unacceptably and unreasonably
- blocky. The second segment will be heavily underquantized; it may look
- perfect, but the bitrate cost of that perfection will be completely
- unreasonable. What is even harder to avoid is the problem at the
- transition between the two scenes. The first seconds of the low motion
- half will be hugely over-quantized, because the ratecontrol is still
- expecting the kind of bitrate requirements it met in the first half
- of the video. This "error period" of heavily over-quantized low motion
- will look jarringly bad, and will actually use less than the 300kbps
- it would have taken to make it look decent. There are ways to
- mitigate the pitfalls of single-pass encoding, but they may tend to
- increase bitrate misprediction.
- </para>
- <para>
- Multipass ratecontrol can offer huge advantages over a single pass.
- Using the statistics gathered from the first pass encode, the encoder
- can estimate, with reasonable accuracy, the "cost" (in bits) of
- encoding any given frame, at any given quantizer. This allows for
- a much more rational, better planned allocation of bits between the
- expensive (high-motion) and cheap (low-motion) scenes. See
- <option>qcomp</option> below for some ideas on how to tweak this
- allocation to your liking.
- </para>
- <para>
- Moreover, two passes need not take twice as long as one pass. You can
- tweak the options in the first pass for higher speed and lower quality.
- If you choose your options well, you can get a very fast first pass.
- The resulting quality in the second pass will be slightly lower because size
- prediction is less accurate, but the quality difference is normally much
- too small to be visible. Try, for example, adding
- <option>subq=1:frameref=1</option> to the first pass
- <option>x264encopts</option>. Then, on the second pass, use slower,
- higher-quality options:
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">Three pass encoding</emphasis>?
- x264 offers the ability to make an arbitrary number of consecutive
- passes. If you specify <option>pass=1</option> on the first pass,
- then use <option>pass=3</option> on a subsequent pass, the subsequent
- pass will both read the statistics from the previous pass, and write
- its own statistics. An additional pass following this one will have
- a very good base from which to make highly accurate predictions of
- frame sizes at a chosen quantizer. In practice, the overall quality
- gain from this is usually close to zero, and quite possibly a third
- pass will result in slightly worse global PSNR than the pass before
- it. In typical usage, three passes help if you get either bad bitrate
- prediction or bad looking scene transitions when using only two passes.
- This is somewhat likely to happen on extremely short clips. There are
- also a few special cases in which three (or more) passes are handy
- for advanced users, but for brevity, this guide omits discussing those
- special cases.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis>:
- <option>qcomp</option> trades off the number of bits allocated
- to "expensive" high-motion versus "cheap" low-motion frames. At
- one extreme, <option>qcomp=0</option> aims for true constant
- bitrate. Typically this would make high-motion scenes look completely
- awful, while low-motion scenes would probably look absolutely
- perfect, but would also use many times more bitrate than they
- would need in order to look merely excellent. At the other extreme,
- <option>qcomp=1</option> achieves nearly constant quantization parameter
- (QP). Constant QP does not look bad, but most people think it is more
- reasonable to shave some bitrate off of the extremely expensive scenes
- (where the loss of quality is not as noticeable) and reallocate it to
- the scenes that are easier to encode at excellent quality.
- <option>qcomp</option> is set to 0.6 by default, which may be slightly
- low for many peoples' taste (0.7-0.8 are also commonly used).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- <option>keyint</option> is solely for trading off file seekability against
- coding efficiency. By default, <option>keyint</option> is set to 250. In
- 25fps material, this guarantees the ability to seek to within 10 seconds
- precision. If you think it would be important and useful to be able to
- seek within 5 seconds of precision, set <option>keyint=125</option>;
- this will hurt quality/bitrate slightly. If you care only about quality
- and not about seekability, you can set it to much higher values
- (understanding that there are diminishing returns which may become
- vanishingly low, or even zero). The video stream will still have seekable
- points as long as there are some scene changes.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">deblock</emphasis>:
- This topic is going to be a bit controversial.
- </para>
- <para>
- H.264 defines a simple deblocking procedure on I-blocks that uses
- pre-set strengths and thresholds depending on the QP of the block
- in question.
- By default, high QP blocks are filtered heavily, and low QP blocks
- are not deblocked at all.
- The pre-set strengths defined by the standard are well-chosen and
- the odds are very good that they are PSNR-optimal for whatever
- video you are trying to encode.
- The <option>deblock</option> allow you to specify offsets to the preset
- deblocking thresholds.
- </para>
- <para>
- Many people seem to think it is a good idea to lower the deblocking
- filter strength by large amounts (say, -3).
- This is however almost never a good idea, and in most cases,
- people who are doing this do not understand very well how
- deblocking works by default.
- </para>
- <para>
- The first and most important thing to know about the in-loop
- deblocking filter is that the default thresholds are almost always
- PSNR-optimal.
- In the rare cases that they are not optimal, the ideal offset is
- plus or minus 1.
- Adjusting deblocking parameters by a larger amount is almost
- guaranteed to hurt PSNR.
- Strengthening the filter will smear more details; weakening the
- filter will increase the appearance of blockiness.
- </para>
- <para>
- It is definitely a bad idea to lower the deblocking thresholds if
- your source is mainly low in spacial complexity (i.e., not a lot
- of detail or noise).
- The in-loop filter does a rather excellent job of concealing
- the artifacts that occur.
- If the source is high in spacial complexity, however, artifacts
- are less noticeable.
- This is because the ringing tends to look like detail or noise.
- Human visual perception easily notices when detail is removed,
- but it does not so easily notice when the noise is wrongly
- represented.
- When it comes to subjective quality, noise and detail are somewhat
- interchangeable.
- By lowering the deblocking filter strength, you are most likely
- increasing error by adding ringing artifacts, but the eye does
- not notice because it confuses the artifacts with detail.
- </para>
- <para>
- This <emphasis role="bold">still</emphasis> does not justify
- lowering the deblocking filter strength, however.
- You can generally get better quality noise from postprocessing.
- If your H.264 encodes look too blurry or smeared, try playing with
- <option>-vf noise</option> when you play your encoded movie.
- <option>-vf noise=8a:4a</option> should conceal most mild
- artifacts.
- It will almost certainly look better than the results you
- would have gotten just by fiddling with the deblocking filter.
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Description</entry>
- <entry>Encoding options</entry>
- <entry>speed (in fps)</entry>
- <entry>Relative PSNR loss (in dB)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13fps</entry>
- <entry>-0.89dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-video-for-windows">
-<title>
- Encoding with the <systemitem class="library">Video For Windows</systemitem>
- codec family
-</title>
-
-<para>
-Video for Windows provides simple encoding by means of binary video codecs.
-You can encode with the following codecs (if you have more, please tell us!)
-</para>
-
-<para>
-Note that support for this is very experimental and some codecs may not work
-correctly. Some codecs will only work in certain colorspaces, try
-<option>-vf format=bgr24</option> and <option>-vf format=yuy2</option>
-if a codec fails or gives wrong output.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>Video for Windows supported codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Video codec file name</entry>
- <entry>Description (FourCC)</entry>
- <entry>md5sum</entry>
- <entry>Comment</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft lossless codec vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>needs <option>-vf format</option></entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV (lossless) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPEG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry>shareware error on windows</entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry><option>-ffourcc VP70</option></entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>msulvc06.DLL</entry>
- <entry>MSU Lossless codec (MSUD)</entry>
- <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
- <entry>
- Decodable by <application>Window Media Player</application>,
- not <application>MPlayer</application> (yet).
- </entry>
-</row>
-<row>
- <entry>camcodec.dll</entry>
- <entry>CamStudio lossless video codec (CSCD)</entry>
- <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
- <entry>sf.net/projects/camstudio</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>codec</literal> parameter,
-like: <option>-xvfwopts codec=divx.dll</option>
-The FourCC code used by each codec is given in the parentheses.
-</para>
-
-<informalexample>
-<para>
-An example to convert an ISO DVD trailer to a VP6 flash video file
-using compdata bitrate settings:
-<screen>
-mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf
-</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-video-for-windows-bitrate-settings">
-<title>Using vfw2menc to create a codec settings file.</title>
-
-<para>
-To encode with the Video for Windows codecs, you will need to set bitrate
-and other options. This is known to work on x86 on both *NIX and Windows.
-</para>
-<para>
-First you must build the <application>vfw2menc</application> program.
-It is located in the <filename class="directory">TOOLS</filename> subdirectory
-of the MPlayer source tree.
-To build on Linux, this can be done using <application>Wine</application>:
-<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
-To build on Windows in <application>MinGW</application> or
-<application>Cygwin</application> use:
-<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
-To build on <application>MSVC</application> you will need getopt.
-Getopt can be found in the original <application>vfw2menc</application>
-archive available at:
-The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink> project.
-</para>
-<informalexample>
-<para>
-Below is an example with the VP6 codec.
-<screen>
-vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf
-</screen>
-This will open the VP6 codec dialog window.
-Repeat this step for the second pass
-and use <option>-s <replaceable>secondpass.mcf</replaceable></option>.
-</para>
-</informalexample>
-<para>
-Windows users can use
-<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option> to have
-the codec dialog display before encoding starts.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-quicktime-7">
-<title>Using <application>MEncoder</application> to create
-<application>QuickTime</application>-compatible files</title>
-
-
-<sect2 id="menc-feat-quicktime-7-why-use-it">
-<title>Why would one want to produce <application>QuickTime</application>-compatible Files?</title>
-
-<para>
- There are several reasons why producing
- <application>QuickTime</application>-compatible files can be desirable.
-</para>
-<itemizedlist>
-<listitem><para>
- You want any computer illiterate to be able to watch your encode on
- any major platform (Windows, Mac OS X, Unices …).
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> is able to take advantage of more
- hardware and software acceleration features of Mac OS X than
- platform-independent players like <application>MPlayer</application>
- or <application>VLC</application>.
- That means that your encodes have a chance to be played smoothly by older
- G4-powered machines.
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> 7 supports the next-generation codec H.264,
- which yields significantly better picture quality than previous codec
- generations (MPEG-2, MPEG-4 …).
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-constraints">
-<title><application>QuickTime</application> 7 limitations</title>
-
-<para>
- <application>QuickTime</application> 7 supports H.264 video and AAC audio,
- but it does not support them muxed in the AVI container format.
- However, you can use <application>MEncoder</application> to encode
- the video and audio, and then use an external program such as
- <application>mp4creator</application> (part of the
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>)
- to remux the video and audio tracks into an MP4 container.
-</para>
-
-<para>
- <application>QuickTime</application>'s support for H.264 is limited,
- so you will need to drop some advanced features.
- If you encode your video with features that
- <application>QuickTime</application> 7 does not support,
- <application>QuickTime</application>-based players will show you a pretty
- white screen instead of your expected video.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">B-frames</emphasis>:
- <application>QuickTime</application> 7 supports a maximum of 1 B-frame, i.e.
- <option>-x264encopts bframes=1</option>. This means that
- <option>b_pyramid</option> and <option>weight_b</option> will have no
- effect, since they require <option>bframes</option> to be greater than 1.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Macroblocks</emphasis>:
- <application>QuickTime</application> 7 does not support 8x8 DCT macroblocks.
- This option (<option>8x8dct</option>) is off by default, so just be sure
- not to explicitly enable it. This also means that the <option>i8x8</option>
- option will have no effect, since it requires <option>8x8dct</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Aspect ratio</emphasis>:
- <application>QuickTime</application> 7 does not support SAR (sample
- aspect ratio) information in MPEG-4 files; it assumes that SAR=1. Read
- <link linkend="menc-feat-quicktime-7-scale">the section on scaling</link>
- for a workaround.
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-crop">
-<title>Cropping</title>
-<para>
- Suppose you want to rip your freshly bought copy of "The Chronicles of
- Narnia". Your DVD is region 1,
- which means it is NTSC. The example below would still apply to PAL,
- except you would omit <option>-ofps 24000/1001</option> and use slightly
- different <option>crop</option> and <option>scale</option> dimensions.
-</para>
-
-<para>
- After running <option>mplayer dvd://1</option>, you follow the process
- detailed in the section <link linkend="menc-feat-telecine">How to deal
- with telecine and interlacing in NTSC DVDs</link> and discover that it is
- 24000/1001 fps progressive video. This simplifies the process somewhat,
- since you do not need to use an inverse telecine filter such as
- <option>pullup</option> or a deinterlacing filter such as
- <option>yadif</option>.
-</para>
-
-<para>
- Next, you need to crop out the black bars from the top and bottom of the
- video, as detailed in <link linkend="menc-feat-dvd-mpeg4-example-crop">this</link>
- previous section.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-scale">
-<title>Scaling</title>
-
-<para>
- The next step is truly heartbreaking.
- <application>QuickTime</application> 7 does not support MPEG-4 videos
- with a sample aspect ratio other than 1, so you will need to upscale
- (which wastes a lot of disk space) or downscale (which loses some
- details of the source) the video to square pixels.
- Either way you do it, this is highly inefficient, but simply cannot
- be avoided if you want your video to be playable by
- <application>QuickTime</application> 7.
- <application>MEncoder</application> can apply the appropriate upscaling
- or downscaling by specifying respectively <option>-vf scale=-10:-1</option>
- or <option>-vf scale=-1:-10</option>.
- This will scale your video to the correct width for the cropped height,
- rounded to the closest multiple of 16 for optimal compression.
- Remember that if you are cropping, you should crop first, then scale:
-
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-avsync">
-<title>A/V sync</title>
-
-<para>
- Because you will be remuxing into a different container, you should
- always use the <option>harddup</option> option to ensure that duplicated
- frames are actually duplicated in the video output. Without this option,
- <application>MEncoder</application> will simply put a marker in the video
- stream that a frame was duplicated, and rely on the client software to
- show the same frame twice. Unfortunately, this "soft duplication" does
- not survive remuxing, so the audio would slowly lose sync with the video.
-</para>
-
-<para>
- The final filter chain looks like this:
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-bitrate">
-<title>Bitrate</title>
-
-<para>
- As always, the selection of bitrate is a matter of the technical properties
- of the source, as explained
- <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">here</link>, as
- well as a matter of taste.
- This movie has a fair bit of action and lots of detail, but H.264 video
- looks good at much lower bitrates than XviD or other MPEG-4 codecs.
- After much experimentation, the author of this guide chose to encode
- this movie at 900kbps, and thought that it looked very good.
- You may decrease bitrate if you need to save more space, or increase
- it if you need to improve quality.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-example">
-<title>Encoding example</title>
-
-<para>
- You are now ready to encode the video. Since you care about
- quality, of course you will be doing a two-pass encode. To shave off
- some encoding time, you can specify the <option>turbo</option> option
- on the first pass; this reduces <option>subq</option> and
- <option>frameref</option> to 1. To save some disk space, you can
- use the <option>ss</option> option to strip off the first few seconds
- of the video. (I found that this particular movie has 32 seconds of
- credits and logos.) <option>bframes</option> can be 0 or 1.
- The other options are documented in <link
- linkend="menc-feat-x264-encoding-options-speedvquality">Encoding with
- the <systemitem class="library">x264</systemitem> codec</link> and
- the man page.
-
- <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- If you have a multi-processor machine, don't miss the opportunity to
- dramatically speed-up encoding by enabling
- <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
- <systemitem class="library">x264</systemitem>'s multi-threading mode</link>
- by adding <option>threads=auto</option> to your <option>x264encopts</option>
- command-line.
-</para>
-
-<para>
- The second pass is the same, except that you specify the output file
- and set <option>pass=2</option>.
-
- <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-</para>
-
-<para>
- The resulting AVI should play perfectly in
- <application>MPlayer</application>, but of course
- <application>QuickTime</application> can not play it because it does
- not support H.264 muxed in AVI.
- So the next step is to remux the video into an MP4 container.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-remux">
-<title>Remuxing as MP4</title>
-
-<para>
- There are several ways to remux AVI files to MP4. You can use
- <application>mp4creator</application>, which is part of the
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>.
-</para>
-
-<para>
- First, demux the AVI into separate audio and video streams using
- <application>MPlayer</application>.
-
- <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
-mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
-
- The file names are important; <application>mp4creator</application>
- requires that AAC audio streams be named <systemitem>.aac</systemitem>
- and H.264 video streams be named <systemitem>.h264</systemitem>.
-</para>
-
-<para>
- Now use <application>mp4creator</application> to create a new
- MP4 file out of the audio and video streams.
-
- <screen>mp4creator -create=narnia.aac narnia.mp4
-mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
-
- Unlike the encoding step, you must specify the framerate as a
- decimal (such as 23.976), not a fraction (such as 24000/1001).
-</para>
-
-<para>
- This <systemitem>narnia.mp4</systemitem> file should now be playable
- with any <application>QuickTime</application> 7 application, such as
- <application>QuickTime Player</application> or
- <application>iTunes</application>. If you are planning to view the
- video in a web browser with the <application>QuickTime</application>
- plugin, you should also hint the movie so that the
- <application>QuickTime</application> plugin can start playing it
- while it is still downloading. <application>mp4creator</application>
- can create these hint tracks:
-
- <screen>mp4creator -hint=1 narnia.mp4
-mp4creator -hint=2 narnia.mp4
-mp4creator -optimize narnia.mp4</screen>
-
- You can check the final result to ensure that the hint tracks were
- created successfully:
-
- <screen>mp4creator -list narnia.mp4</screen>
-
- You should see a list of tracks: 1 audio, 1 video, and 2 hint tracks.
-
-<screen>Track Type Info
-1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
-2 video H264 Main at 5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
-3 hint Payload mpeg4-generic for track 1
-4 hint Payload H264 for track 2
-</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-metadata">
-<title>Adding metadata tags</title>
-
-<para>
- If you want to add tags to your video that show up in iTunes, you can use
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
-
- <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- The <option>--metaEnema</option> option removes any existing metadata
- (<application>mp4creator</application> inserts its name in the
- "encoding tool" tag), and <option>--freefree</option> reclaims the
- space from the deleted metadata.
- The <option>--stik</option> option sets the type of video (such as Movie
- or TV Show), which iTunes uses to group related video files.
- The <option>--overWrite</option> option overwrites the original file;
- without it, <application>AtomicParsley</application> creates a new
- auto-named file in the same directory and leaves the original file
- untouched.
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>Using <application>MEncoder</application>
- to create VCD/SVCD/DVD-compliant files</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>Format Constraints</title>
-
-<para>
-<application>MEncoder</application> is capable of creating VCD, SCVD
-and DVD format MPEG files using the
-<systemitem class="library">libavcodec</systemitem> library.
-These files can then be used in conjunction with
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
-or
-<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
-to create discs that will play on a standard set-top player.
-</para>
-
-<para>
-The DVD, SVCD, and VCD formats are subject to heavy constraints.
-Only a small selection of encoded picture sizes and aspect ratios are
-available.
-If your movie does not already meet these requirements, you may have
-to scale, crop or add black borders to the picture to make it
-compliant.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>Format Constraints</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
-<row>
- <entry>Format</entry>
- <entry>Resolution</entry>
- <entry>V. Codec</entry>
- <entry>V. Bitrate</entry>
- <entry>Sample Rate</entry>
- <entry>A. Codec</entry>
- <entry>A. Bitrate</entry>
- <entry>FPS</entry>
- <entry>Aspect</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (only for 720x480)</entry>
-</row>
-<row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- These resolutions are rarely used for DVDs because
- they are fairly low quality.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (only for 720x576)</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
-If your movie has 2.35:1 aspect (most recent action movies), you will
-have to add black borders or crop the movie down to 16:9 to make a DVD or VCD.
-If you add black borders, try to align them at 16-pixel boundaries in
-order to minimize the impact on encoding performance.
-Thankfully DVD has sufficiently excessive bitrate that you do not have
-to worry too much about encoding efficiency, but SVCD and VCD are
-highly bitrate-starved and require effort to obtain acceptable quality.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>GOP Size Constraints</title>
-
-<para>
-DVD, VCD, and SVCD also constrain you to relatively low
-GOP (Group of Pictures) sizes.
-For 30 fps material the largest allowed GOP size is 18.
-For 25 or 24 fps, the maximum is 15.
-The GOP size is set using the <option>keyint</option> option.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>Bitrate Constraints</title>
-
-<para>
-VCD video is required to be CBR at 1152 kbps.
-This highly limiting constraint also comes along with an extremely low vbv
-buffer size of 327 kilobits.
-SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
-restrictive vbv buffer size of 917 kilobits is allowed.
-DVD video bitrates may range anywhere up to 9800 kbps (though typical
-bitrates are about half that), and the vbv buffer size is 1835 kilobits.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>Output Options</title>
-
-<para>
-<application>MEncoder</application> has options to control the output
-format.
-Using these options we can instruct it to create the correct type of
-file.
-</para>
-
-<para>
-The options for VCD and SVCD are called xvcd and xsvcd, because they
-are extended formats.
-They are not strictly compliant, mainly because the output does not
-contain scan offsets.
-If you need to generate an SVCD image, you should pass the output file to
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
-</para>
-
-<para>
-VCD:
-<screen>-of mpeg -mpegopts format=xvcd</screen>
-</para>
-
-<para>
-SVCD:
-<screen>-of mpeg -mpegopts format=xsvcd</screen>
-</para>
-
-<para>
-DVD (with timestamps on every frame, if possible):
-<screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
-</para>
-
-<para>
-DVD with NTSC Pullup:
-<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
-This allows 24000/1001 fps progressive content to be encoded at 30000/1001
-fps whilst maintaining DVD-compliance.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>Aspect Ratio</title>
-
-<para>
-The aspect argument of <option>-lavcopts</option> is used to encode
-the aspect ratio of the file.
-During playback the aspect ratio is used to restore the video to the
-correct size.
-</para>
-
-<para>
-16:9 or "Widescreen"
-<screen>-lavcopts aspect=16/9</screen>
-</para>
-
-<para>
-4:3 or "Fullscreen"
-<screen>-lavcopts aspect=4/3</screen>
-</para>
-
-<para>
-2.35:1 or "Cinemascope" NTSC
-<screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
-To calculate the correct scaling size, use the expanded NTSC width of
-854/2.35 = 368
-</para>
-
-<para>
-2.35:1 or "Cinemascope" PAL
-<screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
-To calculate the correct scaling size, use the expanded PAL width of
-1024/2.35 = 432
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>Maintaining A/V sync</title>
-
-<para>
-In order to maintain audio/video synchronization throughout the encode,
-<application>MEncoder</application> has to drop or duplicate frames.
-This works rather well when muxing into an AVI file, but is almost
-guaranteed to fail to maintain A/V sync with other muxers such as MPEG.
-This is why it is necessary to append the
-<option>harddup</option> video filter at the end of the filter chain
-to avoid this kind of problem.
-You can find more technical information about <option>harddup</option>
-in the section
-<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link>
-or in the manual page.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>Sample Rate Conversion</title>
-
-<para>
-If the audio sample rate in the original file is not the same as
-required by the target format, sample rate conversion is required.
-This is achieved using the <option>-srate</option> option and
-the <option>-af lavcresample</option> audio filter together.
-</para>
-
-<para>
-DVD:
-<screen>-srate 48000 -af lavcresample=48000</screen>
-</para>
-
-<para>
-VCD and SVCD:
-<screen>-srate 44100 -af lavcresample=44100</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>Using libavcodec for VCD/SVCD/DVD Encoding</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Introduction</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem> can be used to
-create VCD/SVCD/DVD compliant video by using the appropriate options.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-
-<para>
-This is a list of fields in <option>-lavcopts</option> that you may
-be required to change in order to make a complaint movie for VCD, SVCD,
-or DVD:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> for VCD, SVCD, or PAL DVD;
- <option>ac3</option> is most commonly used for DVD.
- PCM audio may also be used for DVD, but this is mostly a big waste of
- space.
- Note that MP3 audio is not compliant for any of these formats, but
- players often have no problem playing it anyway.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 for VCD; up to 384 for SVCD; up to 1536 for DVD, but commonly
- used values range from 192 kbps for stereo to 384 kbps for 5.1 channel
- sound.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> for VCD;
- <option>mpeg2video</option> for SVCD;
- <option>mpeg2video</option> is usually used for DVD but you may also use
- <option>mpeg1video</option> for CIF resolutions.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- Used to set the GOP size.
- 18 for 30fps material, or 15 for 25/24 fps material.
- Commercial producers seem to prefer keyframe intervals of 12.
- It is possible to make this much larger and still retain compatibility
- with most players.
- A <option>keyint</option> of 25 should never cause any problems.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 for VCD, 917 for SVCD, and 1835 for DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152, for VCD. May be left alone for SVCD and DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 for VCD; 2500 for SVCD; 9800 for DVD.
- For SVCD and DVD, you might wish to use lower values depending on your
- own personal preferences and requirements.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 for VCD;
- up to 2500 for SVCD;
- up to 9800 for DVD.
- For the latter two formats, vbitrate should be set based on personal
- preference.
- For instance, if you insist on fitting 20 or so hours on a DVD, you
- could use vbitrate=400.
- The resulting video quality would probably be quite bad.
- If you are trying to squeeze out the maximum possible quality on a DVD,
- use vbitrate=9800, but be warned that this could constrain you to less
- than an hour of video on a single-layer DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vstrict</emphasis>:
- <option>vstrict</option>=0 should be used to create DVDs.
- Without this option, <application>MEncoder</application> creates a
- stream that cannot be correctly decoded by some standalone DVD
- players.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>Examples</title>
-
-<para>
-This is a typical minimum set of <option>-lavcopts</option> for
-encoding video:
-</para>
-<para>
-VCD:
-<screen>
--lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
-vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-SVCD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
-keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-DVD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>Advanced Options</title>
-
-<para>
-For higher quality encoding, you may also wish to add quality-enhancing
-options to lavcopts, such as <option>trell</option>,
-<option>mbd=2</option>, and others.
-Note that <option>qpel</option> and <option>v4mv</option>, while often
-useful with MPEG-4, are not usable with MPEG-1 or MPEG-2.
-Also, if you are trying to make a very high quality DVD encode, it may
-be useful to add <option>dc=10</option> to lavcopts.
-Doing so may help reduce the appearance of blocks in flat-colored areas.
-Putting it all together, this is an example of a set of lavcopts for a
-higher quality DVD:
-</para>
-
-<para>
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
-keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
-vqmin=1:lmin=1:dc=10:vstrict=0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>Encoding Audio</title>
-
-<para>
-VCD and SVCD support MPEG-1 layer II audio, using one of
-<systemitem class="library">toolame</systemitem>,
-<systemitem class="library">twolame</systemitem>,
-or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder.
-The libavcodec MP2 is far from being as good as the other two libraries,
-however it should always be available to use.
-VCD only supports constant bitrate audio (CBR) whereas SVCD supports
-variable bitrate (VBR), too.
-Be careful when using VBR because some bad standalone players might not
-support it too well.
-</para>
-
-<para>
-For DVD audio, <systemitem class="library">libavcodec</systemitem>'s
-AC-3 codec is used.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-
-<para>
-For VCD and SVCD:
-<screen>-oac toolame -toolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-
-<para>
-For VCD and SVCD:
-<screen>-oac twolame -twolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-
-<para>
-For DVD with 2 channel sound:
-<screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
-</para>
-
-<para>
-For DVD with 5.1 channel sound:
-<screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
-</para>
-
-<para>
-For VCD and SVCD:
-<screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>Putting it all Together</title>
-
-<para>
-This section shows some complete commands for creating VCD/SVCD/DVD
-compliant videos.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>PAL DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>NTSC DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>PAL AVI Containing AC-3 Audio to DVD</title>
-
-<para>
-If the source already has AC-3 audio, use -oac copy instead of re-encoding it.
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -ofps 25 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>NTSC AVI Containing AC-3 Audio to DVD</title>
-
-<para>
-If the source already has AC-3 audio, and is NTSC @ 24000/1001 fps:
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>PAL SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>NTSC SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>PAL VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>NTSC VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/pl/faq.xml b/DOCS/xml/pl/faq.xml
deleted file mode 100644
index 0cfe4a3..0000000
--- a/DOCS/xml/pl/faq.xml
+++ /dev/null
@@ -1,1314 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21741 -->
-<!-- Opiekun: Frogu -->
-<chapter id="faq" xreflabel="FAQ">
-<title>FAQ - CzÄsto Zadawane Pytania</title>
-
-<qandaset defaultlabel="qanda">
-
-<qandadiv id="faq-development">
-<title>Rozwój</title>
-
-<qandaentry>
-<question><para>
-Jak mam stworzyÄ poprawnÄ
ÅatkÄ do <application>MPlayera</application>?
-</para></question>
-<answer><para>
-PrzygotowaliÅmy <ulink url="../../tech/patches.txt">krótki dokument</ulink>
-opisujÄ
cy wszystkie potrzebne szczegóÅy. Kieruj siÄ zawartymi w nim wskazówkami.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ przetÅumaczyÄ <application>MPlayera</application> na nowy jÄzyk?
-</para></question>
-<answer><para>
-Przeczytaj <ulink url="../../tech/translations.txt">HOWTO tÅumaczenia</ulink>,
-powinno wszystko wyjaÅniÄ. DalszÄ
pomoc uzyskasz na liÅcie dyskusyjnej
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer-translations</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ wesprzeÄ rozwój <application>MPlayera</application>?
-</para></question>
-<answer><para>
-JesteÅmy bardziej niż szczÄÅliwi, gdy ofiarowujecie nam sprzÄt i oprogramowanie
-w formie <ulink url="http://www.mplayerhq.hu/donations.html">darowizn</ulink>.
-PomagajÄ
one nam ciÄ
gle ulepszaÄ <application>MPlayera</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ zostaÄ deweloperem <application>MPlayera</application>?
-</para></question>
-<answer><para>
-ProgramiÅci i dokumentatorzy zawsze sÄ
mile widziani.
-Na poczÄ
tek przeczytaj <ulink url="../../tech/">dokumentacjÄ technicznÄ
</ulink>
-żeby zÅapaÄ ogólny zarys.
-NastÄpnie powinieneÅ zapisaÄ siÄ na listÄ dyskusyjnÄ
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-i zaczÄ
Ä pisaÄ.
-Jeżeli chcesz pomóc przy dokumentacji, zapisz siÄ na listÄ dyskusyjnÄ
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Czemu nie używacie autoconf/automake?
-</para></question>
-<answer><para>
-Mamy modularny, rÄcznie napisany system budowania. Sprawuje siÄ on caÅkiem
-nieźle, wiÄc po co zmieniaÄ? Poza tym nie lubimy narzÄdzi auto* tak jak i
-<ulink url="http://freshmeat.net/articles/view/889/">inni ludzie</ulink>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-compilation-installation">
-<title>Kompilacja i instalacja</title>
-
-<qandaentry>
-<question><para>
-Kompilacja nie udaje siÄ z powodu bÅÄdu i <application>gcc</application>
-wyskakuje z tajemniczÄ
wiadomoÅciÄ
zawierajÄ
cÄ
zwrot
-<systemitem>internal compiler error</systemitem> lub
-<systemitem>unable to find a register to spill</systemitem>.
-</para></question>
-<answer><para>
-NatknÄ
ÅeÅ siÄ na bÅÄ
d w <application>gcc</application>. ProszÄ
-<ulink url="http://gcc.gnu.org/bugs.html">zgÅoÅ go zespoÅowi gcc</ulink>
-ale nie nam. Z jakichÅ przyczyn <application>MPlayer</application> czÄsto
-wywoÅuje bÅÄdy kompilatora. Jednak nie możemy ich naprawiÄ i nie dodajemy do
-naszych źródeÅ obejÅÄ bÅÄdów kompilatora. Å»eby uniknÄ
Ä problemu albo trzymaj
-siÄ wersji kompilatora o której wiadomo że jest stabilna i pewna, albo czÄsto
-aktualizuj.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Czy istniejÄ
binarne (RPM/Debian) paczki z <application>MPlayerem</application>?
-</para></question>
-<answer><para>
-WiÄcej informacji na ten temat znajdziesz w sekcjach
-<link linkend="debian">Debian</link> oraz <link linkend="rpm">RPM</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ zbudowaÄ 32 bitowego <application>MPlayera</application> na 64
-bitowym Athlonie?
-</para></question>
-<answer><para>
-Zastosuj nastÄpujÄ
ce opcje konfiguracyjne.
-<screen>
-./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Konfiguracja koÅczy siÄ takim komunikatem i <application>MPlayer</application>
-nie chce siÄ skompilowaÄ!
-<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
-(Twój gcc nie obsÅuguje nawet i386 dla '-march' oraz '-mcpu')
-</para></question>
-<answer><para>
-Twój gcc nie jest poprawnie zainstalowany. Sprawdź szczegóÅy
-w <filename>config.log</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mam Matroksa G200/G400/G450/G550, jak skompilowaÄ/używaÄ sterownika
-<systemitem>mga_vid</systemitem>?
-</para></question>
-<answer><para>
-Przeczytaj sekcjÄ <link linkend="mga_vid">mga_vid</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Podczas 'make', <application>MPlayer</application> narzeka na brakujÄ
ce
-biblioteki X11. Nie rozumiem, <emphasis>mam</emphasis> zainstalowane X11!?
-</para></question>
-<answer><para>
-...ale nie masz zainstalowanej paczki X11 development lub jest ona źle
-zainstalowana. Nazywa siÄ ona <filename>XFree86-devel*</filename> w Red Hacie,
-<filename>xlibs-dev</filename> w Debianie Woody i
-<filename>libx11-dev</filename> w Debianie Sarge. Sprawdź także czy istniejÄ
-dowiÄ
zania symboliczne do
-<filename class="directory">/usr/X11</filename> oraz
-<filename class="directory">/usr/include/X11</filename>
-(problem może wystÄ
piÄ w systemach Mandrake).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Kompilowanie pod Mac OS 10.3 prowadzi do kilku bÅÄdów konsolidacji (linkowania)
-</para></question>
-<answer>
-<para>
-BÅÄ
d konsolidacji, który siÄ pojawia, wyglÄ
da najprawdopodobniej tak:
-<screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
-</screen>
-Problem ten wynika z faktu, że deweloperzy Apple używajÄ
MacOS 10.4 do
-kompilowania swojego oprogramowania i dostarczajÄ
binaria
-użytkownikom 10.3 poprzez Uaktualnienia Oprogramowania.
-Niezdefiniowane symbole obecne sÄ
pod Mac OS 10.4,
-ale nie pod 10.3.
-Jednym z rozwiÄ
zaŠjest powrót do QuickTime w wersji 7.0.1.
-Oto lepsze rozwiÄ
zanie.
-</para>
-<para>
-ZdobÄ
dź
-<ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">starszÄ
wersjÄ szkieletów</ulink>
-(frameworks; jest lepsze tÅumaczenie? - przyp. tÅum.).
-Otrzymasz skompresowany plik zawierajÄ
cy QuickTime 7.0.1 Framework
-i 10.3.9 QuartzCore Framework.
-</para>
-<para>
-Rozpakuj pliki gdzieÅ poza swoim katalogiem systemowym.
-(nie instaluj szkieletów do swojego
-<filename class="directory">/System/Library/Frameworks</filename>!
-Ta starsza kopia jest przeznaczona tylko do ominiÄcia bÅÄdów konsolidacji!)
-<screen>gunzip < CompatFrameworks.tgz | tar xvf -</screen>
-W pliku config.mak, dodaj
-<systemitem>-F/Åcieżka/do/rozpakowanego/archiwum</systemitem>
-do zmiennej <systemitem>OPTFLAGS</systemitem>.
-Jeżeli używasz <application>X-Code</application>, możesz po prostu
-zaznaczyÄ te szkielety, zamiast systemowych.
-</para>
-<para>
-W rezultacie binarka <application>MPlayer</application> bÄdzie
-w rzeczywistoÅci używaÄ zainstalowanego w twoim systemie szkieletu poprzez
-dynamiczne dowiÄ
zania, rozwiÄ
zywane przy uruchamianiu.
-(Możesz to sprawdziÄ używajÄ
c <systemitem>otool -l</systemitem>).
-</para>
-</answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-general">
-<title>Pytania ogólne</title>
-
-<qandaentry>
-<question><para>
-Czy sÄ
jakieÅ listy dyskusyjne o <application>MPlayerze</application>?
-</para></question>
-<answer><para>
-Tak. Spójrz na sekcjÄ
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">listy dyskusyjne</ulink>
-na naszej stronie domowej.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ZnalazÅem paskudny bÅÄ
d przy próbie odtworzenia mojego ulubionego filmu! Kogo
-powinienem poinformowaÄ?
-</para></question>
-<answer><para>
-Przeczytaj proszÄ
-<link linkend="bugreports">wskazówki do zgÅoszeÅ bÅÄdów</link>
-i kieruj siÄ zawartymi tam instrukcjami.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mam problemy z odtwarzaniem plików przy użyciu kodeka ... Czy mogÄ ich używaÄ?
-</para></question>
-<answer><para>
-Sprawdź <ulink url="../../codecs-status.html">status kodeków</ulink>,
-jeżeli nie zawiera on Twojego kodeka przeczytaj
-<ulink url="../../tech/win32-codec-howto">HOWTO importowania kodeków Win32</ulink>
-i skontaktuj siÄ z nami.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Gdy zaczynam odtwarzanie wyÅwietla siÄ nastÄpujÄ
cy komunikat lecz wszystko
-wydaje siÄ byÄ wporzÄ
dku.
-<screen>Linux RTC init: ioctl (rtc_pie_on): Permission denied</screen>
-</para></question>
-<answer><para>
-Potrzebujesz uprawnieÅ roota lub specjalnie ustawionego jÄ
dra, aby używaÄ
-nowego kodu synchronizacji czasu. Aby uzyskaÄ szczegóÅy, spójrz do sekcji
-<link linkend="rtc">RTC</link> w dokumentacji.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ zrobiÄ zrzut ekranu?
-</para></question>
-<answer><para>
-Musisz skorzystaÄ ze sterownika wyjÅcia video, który nie używa nakÅadki video.
-Pod X11 wystarczy użyÄ <option>-vo x11</option>,
-pod Windows dziaÅa <option>-vo directx:noaccel</option>
-</para>
-<para>
-Możesz też uruchomiÄ <application>MPlayera</application> z filtrem video
-<systemitem>screenshot</systemitem> (<option>-vf screenshot</option>).
-Wtedy wciÅniÄcie klawisza <keycap>s</keycap> spowoduje pobranie zrzutu
-ekranu.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Co oznaczajÄ
te liczby w wierszu stanu?
-</para></question>
-<answer><para>
-PrzykÅad:
-<screen>
-A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>A: 2.1</systemitem></term>
- <listitem><para>pozycja audio w sekundach</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>V: 2.2</systemitem></term>
- <listitem><para>pozycja video w sekundach</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V: -0.167</systemitem></term>
- <listitem><para>
- różnica audio-video w sekundach (opóźnienie)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>ct: 0.042</systemitem></term>
- <listitem><para>
- caÅkowita dokonana korekcja synchronizacji A-V
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>57/57</systemitem></term>
- <listitem><para>
- ramki odtworzone/zdekodowane (liczÄ
c od ostatniego przewijania)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>41%</systemitem></term>
- <listitem><para>
- użycie procesora w procentach przez kodek video (przy renderowaniu
- w kawaÅkach (slices) i bezpoÅrednim (DirectRendering) zawiera także video_out
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0%</systemitem></term>
- <listitem><para>użycie procesora przez video_out</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2.6%</systemitem></term>
- <listitem><para>
- użycie procesora w procentach przez kodek audio
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0</systemitem></term>
- <listitem><para>
- ramki opuszczone aby zachowaÄ synchronizacjÄ A-V
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>4</systemitem></term>
- <listitem><para>
- obecny poziom postprocessingu obrazu (gdy używasz <option>-autoq</option>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>49%</systemitem></term>
- <listitem><para>
- obecne wykorzystanie pamiÄci cache (normale jest okoÅo 50%)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>1.00x</systemitem></term>
- <listitem><para>
- szybkoÅÄ odtwarzania jako mnożnik oryginalnej szybkoÅci
- </para></listitem>
-</varlistentry>
-</variablelist>
-WiÄkszoÅÄ z nich obecna jest w celu debuggingu, aby siÄ ich pozbyÄ użyj opcji
-<option>-quiet</option>. Możesz zauważyÄ, że dla niektóych plików użycie
-procesora przez video_out wynosi zero (0%). Spowodowane to jest tym, że jest
-ono wywoÅywane bezpoÅrednio przez kodek i nie może byÄ zmierzone osobno.
-Jeżeli chcesz znaÄ szybkoÅÄ video_out, to porównaj różnicÄ przy odtwarzaniu
-z <option>-vo null</option> i normalnie przez Ciebie używanym sterownikiem
-wyjÅcia video.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-DostajÄ komunikaty bÅÄdów o nie znalezionym pliku
-<filename>/usr/local/lib/codecs/</filename> ...
-</para></question>
-<answer><para>
-ÅciÄ
gnij i zainstaluj binarne kodeki z naszej
-<ulink url="http://www.mplayerhq.hu/design7/codecs.html">strony kodeków</ulink>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak zmusiÄ <application>MPlayera</application> do zapamiÄtania opcji
-użytych dla okreÅlonego pliku, np <filename>film.avi</filename>?
-</para></question>
-<answer><para>
-Stwórz plik o nazwie <filename>film.avi.conf</filename> i umieÅÄ w nim
-porzÄ
dane opcje a nastÄpnie zapisz go w katalogu
-<filename class="directory">~/.mplayer</filename>
-albo w tym samym katalogu co film.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Napisy sÄ
bardzo Åadne, najpiÄkniejsze jakie widziaÅem, ale spowalniajÄ
-odtwarzanie! Wiem, że to jest niezwykÅe...
-</para></question>
-<answer><para>
-Po odpaleniu <filename>./configure</filename>, wyedytuj
-<filename>config.h</filename> i zamieÅ <systemitem>#undef FAST_OSD</systemitem>
-na <systemitem>#define FAST_OSD</systemitem>. Potem skompiluj ponownie.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nie mogÄ siÄ dostaÄ do menu GUI. Klikam prawym przyciskiem myszy lecz
-nie mogÄ dostaÄ siÄ do żadnych elementów menu!
-</para></question>
-<answer><para>
-Czy używasz FVWM? Spróbuj tego:
-<orderedlist>
-<listitem><para>
- <menuchoice><guimenu>Start</guimenu> <guisubmenu>Settings</guisubmenu>
- <guisubmenu>Configuration</guisubmenu>
- <guimenuitem>Base Configuration</guimenuitem></menuchoice>
-</para></listitem>
-<listitem><para>
- Ustaw <systemitem>Use Applications position hints</systemitem>
- na <systemitem>Yes</systemitem>
-</para></listitem>
-</orderedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak uruchomiÄ <application>MPlayera</application> w tle?
-</para></question>
-<answer><para>
-Użyj:
-<screen>mplayer <replaceable>opcje</replaceable> <replaceable>nazwa_pliku</replaceable> < /dev/null &</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-playback">
-<title>Problemy z odtwarzaniem</title>
-
-<qandaentry>
-<question><para>
-Nie mogÄ zidentyfikowaÄ powodu dziwnego problemu z odtwarzaniem.
-</para></question>
-<answer><para>
-Czy masz jakiÅ zawieruszony plik <filename>codecs.conf</filename> w
-<filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
-<filename>/usr/local/etc/</filename> lub podobnym miejscu? UsuÅ go,
-stary plik <filename>codecs.conf</filename> może powodowaÄ tajemnicze
-problemy i jest przeznaczony tylko dla deweloperów pracujÄ
cych nad obsÅugÄ
-kodeków. PrzesÅania on wbudowane ustawienia <application>MPlayera</application>
-dotyczÄ
ce kodeków, co spowoduje chaos jeÅli w nowszych wersjach zostanÄ
-wprowadzone niekompatybilne zmiany. JeÅli nie jest używany przez ekspertów
-jest to przepis na katastrofÄ w postaci pozornie losowych i trudnych
-do zlokalizowania awarii i problemów z odtwarzaniem. JeÅli nadal masz go
-gdzieÅ w swoim systemie powinieneÅ go teraz usunÄ
Ä.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-W jaki sposób sprawiÄ by napisy pojawiaÅy siÄ na czarnym pasku pod filmem?
-</para></question>
-<answer><para>
-Użyj filtru video <systemitem>expand</systemitem> do zwiÄkszenia pionowego
-obszaru renderowania filmu i umieÅÄ film przy jego górnej granicy.
-Na przykÅad:
-<screen>mplayer -vf expand=0:-100:0:0 -slang pl dvd://1</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ okreÅliÄ ÅcieżkÄ audio/napisów z pliku OGM, Matroska, NUT lub DVD?
-</para></question>
-<answer><para>
-Musisz użyÄ <option>-aid</option> (ID audio) lub <option>-alang</option>
-(jÄzyk audio), <option>-sid</option> (ID napisów) lub <option>-slang</option>
-(jÄzyk napisów), na przykÅad:
-<screen>
-mplayer -alang eng -slang eng <replaceable>przykÅad.mkv</replaceable>
-mplayer -aid 1 -sid 1 <replaceable>przykÅad.mkv</replaceable>
-</screen>
-Aby zobaczyÄ jakie sÄ
dostÄpne:
-<screen>
-mplayer -vo null -ao null -frames 0 -v <replaceable>nazwa_pliku</replaceable> | grep sid
-mplayer -vo null -ao null -frames 0 -v <replaceable>nazwa_pliku</replaceable> | grep aid
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-PróbujÄ odtworzyÄ jakiÅ strumieÅ z internetu, ale nie udaje mi siÄ.
-</para></question>
-<answer><para>
-Spróbuj otworzyÄ strumieÅ korzystajÄ
c z opcji <option>-playlist</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÅciÄ
gnÄ
Åem film z sieci P2P i nie chce siÄ odtworzyÄ!
-</para></question>
-<answer><para>
-Prawdopodobnie plik jest uszkodzony lub jest to faÅszywka.
-Jeżeli dostaÅeÅ go od znajomego i on mówi, że u niego dziaÅa, to spróbuj
-porównaÄ skróty <application>md5sum</application> (md5sum hashes).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mam problem z wyÅwietlaniem napisów. Pomocy!
-</para></question>
-<answer><para>
-Upewnij siÄ, że poprawnie zainstalowaÅeÅ czcionki. Wykonaj jeszcze raz
-krok po kroku instrukcje z czÄÅci
-<link linkend="fonts-osd">czcionki i OSD</link> z rozdziaÅu o instalacji.
-Jeżeli używasz czcionek TrueType, upewnij siÄ, że masz zainstalowanÄ
-bibliotekÄ <systemitem class="library">FreeType</systemitem>.
-Sprawdź także napisy w edytorze tekstu, bÄ
dź z innymi odtwarzaczami. Spróbuj
-tekże przekonwertowaÄ je na inny format.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Dlaczego <application>MPlayer</application> nie dziaÅa w Fedora Core?
-</para></question>
-<answer><para>
-Prelink, exec-shield i aplikacje używajÄ
ca windowsowych DLLi
-(takie jak <application>MPlayer</application>) nie
-wspóÅdziaÅajÄ
ze sobÄ
dobrze w Fedorze.
-</para>
-<para>
-Problem powoduje exec-shield, który ustawia losowy adres, pod który bÄdÄ
-Åadowane biblioteki systemowe. Dzieje siÄ to podczas prelinkowania (raz
-na dwa tygodnie)
-</para>
-<para>
-<application>MPlayer</application> próbuje zaÅadowaÄ windowsowy DLL pod
-okreÅlony adres (0x400000). Jeżeli znajduje siÄ tam już ważna biblioteka
-systemowa, <application>MPlayer</application> siÄ wykrzaczy. (Typowym objawem
-jest bÅÄ
d naruszenia ochrony pamiÄci (segfault) przy próbie odtwarzania plików
-Windows Media 9.)
-</para>
-<para>
-Jeżeli napotkasz taki problem, masz dwa wyjÅcia:
-<itemizedlist>
-<listitem><para>
- PoczekaÄ dwa tygodnie... ByÄ może znów zacznie dziaÅaÄ.
-</para></listitem>
-<listitem><para>
- ZlinkowaÄ wszystkie biblioteki systemowe z innymi opcjami
- prelink. Oto instrukcje krok po korku:
- </para>
- <procedure>
- <step><para>Otwórz <filename>/etc/syconfig/prelink</filename> i zmieÅ
- <programlisting>PRELINK_OPTS=-mR</programlisting> na
- <programlisting>PRELINK_OPTS="-mR --no-exec-shield"</programlisting>
- </para></step>
- <step><para>
- <command>touch /var/lib/misc/prelink.force</command>
- </para></step>
- <step><para>
- <command>/etc/cron.daily/prelink</command>
- (To ponownie linkuje wszystkie aplikacje i zajmuje sporo czasu.)
- </para></step>
- <step><para>
- <command>execstack -s <replaceable>/Åcieżka/do/</replaceable>mplayer</command>
- (To wyÅÄ
cza exec-shield dla binarki <application>MPlayera</application>.)
- </para></step>
- </procedure>
-</listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> przerywa dziaÅanie z komunikatem
-<screen>MPlayer interrupted by signal 4 in module: decode_video</screen>
-(MPlayer przerwany przez sygnaÅ 4 w module: decode_video).
-</para></question>
-<answer><para>
-Nie używaj <application>MPlayera</application> na CPU innym niż ten,
-na któym byÅ skompilowany lub przekompiluj go z detekcjÄ
CPU podczas
-uruchamiania (<command>./configure --enable-runtime-cpudetection</command>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Gry próbujÄ przechwyciÄ obraz z mojego tunera kolory sÄ
dziwne. DziaÅa OK
-pod innymi aplikacjami.
-</para></question>
-<answer><para>
-Twoja karta prawdopodobni zgÅasza obsÅugÄ penych przestrzeni kolorów,
-w rzeczywistoÅci ich nie obsÅugujÄ
c. Spróbuj z YUV2 zamiast domyÅlnego YV12
-(spójrz do sekcji <link linkend="tv-input">TV</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-OtrzymujÄ bardzo dziwne wartoÅci procentowe (dużo za duże) podczas odtwarzania
-plików na moim notebooku.
-</para></question>
-<answer><para>
-Jest to efekt dziaÅania systemu zarzÄ
dzania / oszczÄdzania energii w Twoim
-notebooku (BIOS, a nie kernel). PodÅÄ
cz wtyczkÄ od zasilacza
-<emphasis role="bold">przed</emphasis> wÅÄ
czeniem notebooka. Możesz także
-zobaczyÄ czy pomoże
-<ulink url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html">cpufreq</ulink>
-(interfejs SpeedStep dla Linuksa).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Audio/video caÅowicie wychodzi z synchronizacji gdy uruchamiam
-<application>MPlayera</application> jako root na moim notebooku. DziaÅa OK
-gdy robiÄ to jako zwykÅy użytkownik.
-</para></question>
-<answer><para>
-To także jest efekt zarzÄ
dzania energiÄ
(patrz wyżej). PodÅÄ
cz wtyczkÄ od
-zasilacza <emphasis role="bold">przed</emphasis> wÅÄ
czeniem notebooka lub
-użyj opcji <option>nortc</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Podczas odtwarzania filmu nagle siÄ tnie i wyÅwietlany jest nastÄpujÄ
cy
-komunikat:
-<screen>Badly interleaved AVI file detected - switching to -ni mode...</screen>
-(Plik AVI ze zÅym przeplotem - przeÅÄ
czam siÄ w tryb -ni)
-</para></question>
-<answer><para>
-Pliki ze zÅym przeplotem i <option>-cache</option> nie wspóÅdziaÅajÄ
-dobrze. Spróbuj <option>-nocache</option>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-driver">
-<title>Problemy ze sterownikiem video/audio (vo/ao)</title>
-
-<qandaentry>
-<question><para>
-Gdy przechodzÄ w tryb peÅnoekranowy wyÅwietlana jest czarna ramka
-okalajÄ
ca obraz. Obraz nie jest w ogóle skalowany.
-</para></question>
-<answer><para>
-Twój sterownik wyjÅcia video nie obsÅuguje sprzÄtowego skalowania,
-a ponieważ programowe skalowanie może byÄ niewiarygodnie powolne,
-<application>MPlayer</application> nie wÅÄ
cza go automatycznie.
-Prawdopodobnie używasz sterownika wyjÅca <systemitem>x11</systemitem>
-zamiast <systemitem>xv</systemitem>. Spróbuj dodaÄ do wywoÅania programu
-<option>-vo xv</option> lub przeczytaj
-<link linkend="video">sekcjÄ video</link>, w której znajdziesz wiÄcej
-informacji dotyczÄ
cych alternatywnych sterowników wyjÅcia video.
-Opcja <option>-zoom</option> jawnie wymusza skalowanie programowe.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-WÅaÅnie zainstalowaÅem <application>MPlayera</application>. W momencie gdy chcÄ
-otworzyÄ plik video wyskakuje bÅÄ
d:
-<screen>Error opening/initializing the selected video_out (-vo) device.</screen>
-(BÅÄ
d przy otwarciu/inicjalizacji wybranego urzÄ
dzenia video_out (-vo).)
-Jak mogÄ rozwiÄ
zaÄ mój problem?
-</para></question>
-<answer><para>
-Po prostu zmieÅ urzÄ
dzenie wyjÅcia video. Aby uzyskaÄ listÄ dostÄpnych
-sterowników wyjÅcia video wydaj nastÄpujÄ
ce polecenie:
-<screen>mplayer -vo help</screen>
-Gdy juz wybierzesz odpowiedni sterownik wyjÅcia video, dodaj go do swojego
-pliku konfiguracyjnego. Dodaj
-<programlisting>
-vo = <replaceable>wybrany_vo</replaceable>
-</programlisting>
-do <filename>~/.mplayer/config</filename> i/lub
-<programlisting>
-vo_driver = <replaceable>wybrany_vo</replaceable>
-</programlisting>
-do <filename>~/.mplayer/gui.conf</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mam problemy z [Twój manager okien] i peÅnoekranowymi trybami xv/xmga/sdl/x11...
-</para></question>
-<answer><para>
-Przeczytaj <link linkend="bugreports">wskazówki do zgÅaszania bÅÄdów</link> i
-wyÅlij nam poprawne zgÅoszenie bÅÄdu.
-Popróbuj też poeksperymentowaÄ z opcjÄ
<option>-fstype</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-DźwiÄk gubi synchronizacjÄ przy odtwarzaniu pliku AVI.
-</para></question>
-<answer><para>
-Wypróbuj opcje <option>-bps</option> oraz <option>-nobps</option>.
-Jeżeli nic siÄ nie poprawiÅo, przeczytaj
-<link linkend="bugreports">wskazówki do zgÅaszania bÅÄdów</link>
-i wgraj plik na FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mój komputer odtwarza zbyt wolno pliki AVI MS DivX w rozdzielczoÅci ~ 640x300 i
-z dźwiÄkiem mp3 stereo. Gdy użyjÄ opcji <option>-nosound</option>, wszystko jest
-OK (lecz bez dźwiÄku).
-</para></question>
-<answer><para>
-Twój komputer jest zbyt wolny lub sterownik karty dźwiÄkowej jest zepsuty.
-Skonsultuj siÄ z dokumentacjÄ
, aby zobaczyÄ, czy możesz poprawiÄ wydajnoÅÄ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak użyÄ <application>dmix</application> z
-<application>MPlayerem</application>?
-</para></question>
-<answer><para>
-Po ustawieniu
-<ulink url="http://alsa.opensrc.org/index.php?page=DmixPlugin">asoundrc</ulink>
-użyj <option>-ao alsa:device=dmix</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Podczas odtwarzania filmu nie ma dźwiÄku i dostajÄ komunikat podobny do tego:
-<screen>
-AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
-audio_setup: Can't open audio device /dev/dsp: Device or resource busy
-couldn't open/init audio device -> NOSOUND
-Audio: no sound!!!
-Start playing...
-</screen>
-</para></question>
-<answer><para>
-Czy masz uruchomione KDE lub GNOME z demonem dźwiÄku aRts lub ESD? Spróbuj
-wyÅÄ
czyÄ demona dźwiÄku lub użyj opcji
-<option>-ao arts</option> lub <option>-ao esd</option>,
-aby <application>MPlayer</application> używaŠaRts lub ESD.
-Możliwe jest też że masz uruchomione ALSA bez emulacji OSD, spróbuj zaÅadowaÄ
-moduÅy jÄ
dra ALSA OSS lub dodaj <option>-ao alsa</option> do wiersza poleceÅ
-żeby bezpoÅrednio używaÄ sterownika wyjÅcia dźwiÄku ALSA.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Gdy uruchamiam <application>MPlayera</application> pod KDE, pojawia siÄ
-czarny ekran i nic siÄ nie dzieje. Po okoÅo minucie zaczyna siÄ odtwarzanie
-filmu.
-</para></question>
-<answer><para>
-aRts - demon dźwiÄku KDE - blokuje urzÄ
dzenie dźwiÄkowe. Albo czekaj aż
-rozpocznie siÄ odtwarzanie lub wyÅÄ
cz demona arts w centrum sterowania. Jeżeli
-chcesz używaÄ dźwiÄku aRts, okreÅl wyjÅcie audio przez nasz natywny sterownik
-dźwiÄku aRts (<option>-ao arts</option>). Jeżeli próba siÄ nie powiedzie lub
-sterownik nie jest wkompilowany, spróbuj użyÄ SDL (<option>-ao sdl</option>)
-i upewnij siÄ, że Twoje SDL poradzi sobie z dźwiÄkiem aRts. InnÄ
możliwoÅciÄ
-jest uruchomienie <application>MPlayera</application> z artsdsp.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Mam problemy z synchronizacjÄ
A/V. Niektóre moje AVI sÄ
odtwarzane dobrze, a
-niektóre z podwójnÄ
szybkoÅciÄ
.
-</para></question>
-<answer><para>
-Masz wadliwÄ
kartÄ/sterownik dźwiÄku. Najwyraźniej jest ustawiona na staÅe na
-44100Hz i próbujesz odtwarzaÄ plik z dźwiÄkiem 22050Hz. Wypróbuj filtr zmiany
-czÄstotliwoÅci próbkowania audio (filtr <systemitem>resample</systemitem>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Podczas odtwarzania filmu pojawia siÄ brak synchronizacji video-audio i/lub
-<application>MPlayer</application> wywala siÄ z nastÄpujÄ
cym komunikatem:
-<screen>
-DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
-</screen>
-(DEMUXER: Za dużo (945 w 8390980 bajtach) pakietów video w buforze!)
-</para></question>
-<answer><para>
-Może istnieÄ kilka powodów.
-<itemizedlist>
-<listitem><para>
- Twój CPU <emphasis role="bold">i/lub</emphasis> karta graficzna
- <emphasis role="bold">i/lub</emphasis> magistrala jest zbyt wolna.
- <application>MPlayer</application> w tym wypadku wyÅwietli komunikat
- (i licznik porzuconych ramek szybko bÄdzie wzrastaÅ).
-</para></listitem>
-<listitem><para>
- Jeżeli to plik AVI, to może ma zÅy przeplot. Wypróbuj opcjÄ
- <option>-ni</option>.
- Może też mieÄ zÅy nagÅówek. W takim przypadku może pomóc opcja
- <option>-nobps</option> i/lub opcja <option>-mc 0</option>.
-</para></listitem>
-<listitem><para>
- Twój sterownik dźwiÄku jest wadliwy.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak pozbyÄ siÄ braku synchronizacji audio/video przy przewijaniu strumieni
-RealMedia?
-</para></question>
-<answer><para>
-Może pomóc <option>-mc 0.1</option>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-dvd">
-<title>Odtwarzanie DVD</title>
-
-<qandaentry>
-<question><para>
-Co z nawigacjÄ
/menu DVD?
-</para></question>
-<answer><para>
-<application>MPlayer</application> nie obsÅuguje menu DVD ze wzglÄdu na poważne
-ograniczenia konstrukcyjne, które uniemożliwiajÄ
poprawnÄ
obsÅugÄ staÅych
-obrazów i treÅci interaktywnej. Jeżeli chcesz mieÄ fajne menu, bÄdziesz musiaÅ
-użyÄ innego odtwarzacza, takiego jak <application>xine</application>,
-<application>vlc</application> lub <application>Ogle</application>.
-Jeżeli chcesz nawigacji DVD w <application>MPlayerze</application>, to bÄdziesz
-musiaÅ sam jÄ
zaimplementowaÄ. Bierz jednak pod uwagÄ, że jest to poważne
-przedsiÄwziÄcie.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nie mogÄ obejrzeÄ Å¼adnego nowego DVD od Sony Pictures/BMG.
-</para></question>
-<answer><para>
-Jest to normalne; zostaÅeÅ oszukany i przedano Ci Åwiadomie wadliwÄ
pÅytÄ.
-JedynÄ
metodÄ
odtworzenia tych DVD jest ominiÄcie wadliwych bloków na dysku
-przy użyciu DVDnav zamiast mpdvdkit2.
-Możesz to zrobiÄ kompilujÄ
c <application>MPlayera</application> z obsÅugÄ
-DVDnav a potem zamieniajÄ
c dvd:// na dvdnav:// w wierszu poleceÅ.
-Jak na razie DVDnav i mpdvdkit2 wzajemnie siÄ wykluczajÄ
, wiÄc musisz podaÄ
-opcjÄ <option>--disable-mpdvdkit2</option> skryptowi konfiguracyjnemu.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Co z napisami? Czy <application>MPlayer</application> może je wyÅwietlaÄ?
-</para></question>
-<answer><para>
-Tak. Spójrz do rozdziaÅu <link linkend="dvd">DVD</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ ustawiÄ kod regionu w moim napÄdzie DVD? Nie mam Windowsów!
-</para></question>
-<answer><para>
-Użyj <ulink url="http://linvdr.org/projects/regionset/">narzÄdzia regionset</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nie mogÄ odtworzyÄ DVD, <application>MPlayer</application>
-siÄ zawiesza bÄ
dź wyrzuca bÅÄdy "Encrypted VOB file!"
-(Zaszyfrowany plik VOB!).
-</para></question>
-<answer><para>
-Kod deszyfrowania CSS nie dziaÅa z niektórymi odtwarzaczami DVD
-dopóki nie ustawisz odpowiednio kodu regionu. Przeczytaj odpowiedź na
-poprzednie pytanie.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Czy muszÄ mieÄ uprawnienia (lub setuid) użytkownika root, aby móc odtwarzaÄ DVD?
-</para></question>
-<answer><para>
-Nie. Jednakże musisz mieÄ poprawne prawa ustawione dla wpisu urzÄ
dzenia DVD
-(w <filename class="directory">/dev/</filename>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Czy jest możliwe odtwarzanie/kodowanie tylko wybranych rozdziaÅów?
-</para></question>
-<answer><para>
-Tak, spróbuj użyÄ opcji <option>-chapter</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Odtwarzanie DVD jest bardzo wolne!
-</para></question>
-<answer><para>
-Użyj opcji <option>-cache</option> (opisana na stronie man) i spróbuj wÅÄ
czyÄ
-DMA dla napÄdu DVD, używajÄ
c narzÄdzia <command>hdparm</command> (opisane
-w rozdziale <link linkend="drives">CD</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-SkopiowaÅem DVD używajÄ
c vobcopy.
-Jak mogÄ je odtworzyÄ/zakodowaÄ z dysku twardego?
-</para></question>
-<answer><para>
-Użyj opcji <option>-dvd-device</option> aby odwoÅaÄ siÄ do katalogu
-zawierajÄ
cego pliki:
-<screen>
-mplayer dvd://1 -dvd-device <replaceable>/Åcieżka/do/katalogu</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-features">
-<title>ProÅby o wprowadzenie nowych możliwoÅci</title>
-
-<qandaentry>
-<question><para>
-Jeżeli <application>MPlayer</application> jest zatrzymany i próbujÄ przewijaÄ lub
-nacisnÄ jakikolwiek klawisz, <application>MPlayer</application> z powrotem wraca
-do odtwarzania. ChciaÅbym móc przwijaÄ zatrzymany film.
-</para></question>
-<answer><para>
-Zaimplementowanie tego bez utraty synchronizacji A/V jest bardzo podchwytliwe.
-Wszelkie próby do tej pory zakoÅczyÅy siÄ porażkÄ
. Åatki mile widziane.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ChciaÅbym przewijaÄ o +/- 1 klatkÄ zamiast 10 sekund.
-</para></question>
-<answer><para>
-Możesz przejÅÄ w przód o jednÄ
klatkÄ przez naciÅniÄcie <keycap>.</keycap>.
-Film zostanie zatrzymany (po szczegóÅy zajrzyj do strony man).
-WÄ
tpliwe jest, żeby przechodzenie w tyÅ zostaÅo
-zaimplementowane w najbliższym czasie.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-encoding">
-<title>Kodowanie</title>
-
-<qandaentry>
-<question><para>
-Jak mogÄ kodowaÄ?
-</para></question>
-<answer><para>
-Przeczytaj sekcjÄ
-<link linkend="mencoder"><application>MEncoder</application></link>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak zrzuciÄ caÅÄ
pozycjÄ DVD do pliku?
-</para></question>
-<answer><para>
-Gdy już wybierzesz pozycjÄ i upewnisz siÄ, że jest poprawnie odtwarzana przez
-<application>MPlayera</application>, użyj opcji <option>-dumpstream</option>.
-Na przykÅad:
-<screen>
-mplayer dvd://5 -dumpstream -dumpfile <replaceable>zrzut_dvd.vob</replaceable>
-</screen>
-zrzuci piÄ
tÄ
pozycjÄ DVD do pliku <replaceable>zrzut_dvd.vob</replaceable>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ tworzyÄ automatycznie (S)VCD?
-</para></question>
-<answer><para>
-Wypróbuj skrypt <filename>mencvcd.sh</filename> z podkatalogu
-<filename class="directory">TOOLS</filename>.
-KorzystajÄ
c z niego, możesz kodowaÄ DVD lub inne filmy do formatu VCD lub SVCD,
-a nawet wypalaÄ bezpoÅrednio na CD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ stworzyÄ (S)VCD?
-</para></question>
-<answer><para>
-Nowsze wersje <application>MEncodera</application> potrafiÄ
bezpoÅrednio
-generowaÄ pliki MPEG-2, które mogÄ
byÄ użyte jako podstawa do stworzenia VCD
-lub SVCD i prawdopodobnie sÄ
od rÄki odtwarzalne na wszelkich platformach (na
-przykÅad aby podzieliÄ siÄ nagraniem z kamery cyfrowej z Twoimi nieobytymi
-z komputerem przyjacióÅmi).
-Aby zdobyÄ wiÄcej informacji przeczytaj sekcjÄ
-<link linkend="menc-feat-vcd-dvd">Używanie MEncodera do tworzenia plików zgodnych z VCD/SVCD/DVD</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ poÅÄ
czyÄ dwa pliki video?
-</para></question>
-<answer><para>
-Przy odrobinie szczÄÅcia zbiory MPEG można poÅÄ
czyÄ (zkonkatenowaÄ).
-Do zbiorów AVI możesz używaÄ obsÅugi wielu zbiorów
-<application>MEncodera</application> w nastÄpujÄ
cy sposób:
-<screen>
-mencoder -ovc copy -oac copy -o <replaceable>wyjÅcie.avi</replaceable> <replaceable>plik1.avi</replaceable> <replaceable>plik2.avi</replaceable>
-</screen>
-ZadziaÅa to tylko jeÅli zbiory majÄ
tÄ samÄ
rozdzielczoÅÄ i używajÄ
tego samego kodeka.
-Możesz też spróbowaÄ
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> i
-<application>avimerge</application> (czÄÅÄ zestawu narzÄdzi
-<ulink url="http://www.transcoding.org/">transcode</ulink>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ naprawiÄ pliki AVI z popsutym indeksem lub zÅym przeplotem?
-</para></question>
-<answer><para>
-Aby unknÄ
Ä używania <option>-idx</option> aby móc przewijaÄ w plikach AVI
-z zepsutym indeksem lub <option>-ni</option> do odtwarzania plików AVI ze zÅym
-przeplotem, użyj polecenia
-<screen>
-mencoder -idx <replaceable>wejÅcie.avi</replaceable> -ovc copy -oac copy -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-aby skopiowaÄ strumienie audio i video do nowego pliku, równoczeÅnie
-odtwarzajÄ
c indeks i poprawnie przeplatajÄ
c dane.
-OczywiÅcie to nie może naprawiÄ ewentualnych bÅÄdów w strumieniach audio i/lub
-video.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ naprawiÄ proporcje pliku AVI?
-</para></question>
-<answer><para>
-Możesz to zrobiÄ dziÄki opcji <application>MEncodera</application>
-<option>-force-avi-aspect</option>, która nadpisuje proporcje zachowane w opcji
-nagÅówka AVI vprp OpenDML. Na przykÅad:
-<screen>
-mencoder <replaceable>wejÅcie.avi</replaceable> -ovc copy -oac copy -o <replaceable>wyjÅcie.avi</replaceable> -force-avi-acpect 4/3
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ zapisaÄ i kodowaÄ plik VOB z popsutym poczÄ
tkiem?
-</para></question>
-<answer><para>
-GÅównym problemem gdy chcesz kodowaÄ popsuty
-<footnote id='fn-corrupted-files-or-copy-protection'><para>
-W pewnym stopniu, niektóre formy zabezpieczenia przed kopiowaniem używane na
-DVD mogÄ
zostaÄ uznane za uszkodzenie zawartoÅci.
-</para></footnote>
-plik VOB jest to, że bÄdzie bardzo ciÄżko uzyskaÄ wynik z doskonaÅÄ
-synchronizacjÄ
A/V. Jednym sposobem ominiÄcia tego jest obciÄcie uszkodzonej
-czÄÅci i kodowanie tylko tej dobrej.
-Najpierw musisz siÄ zorientowaÄ gdzie zaczyna siÄ poprawna czÄÅÄ:
-<screen>
-mplayer <replaceable>wejÅcie.vob</replaceable> -sb <replaceable>iloÅÄ_bajtów_do_pominiÄcia</replaceable>
-</screen>
-Potem możesz stworzyÄ nowy plik, zawierajÄ
cy tylko poprawnÄ
czÄÅÄ:
-<screen>
-dd if=<replaceable>wejÅcie.vob</replaceable> of=<replaceable>obciÄte_wyjÅcie.vob</replaceable> skip=1 ibs=<replaceable>iloÅÄ_bajtów_do_pominiÄcia</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nie mogÄ zakodowaÄ napisów z DVD do AVI!
-</para></question>
-<answer><para>
-Musisz poprawnie okreÅliÄ opcjÄ <option>-sid</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ zakodowaÄ tylko wybrane rozdziaÅy z DVD?
-</para></question>
-<answer><para>
-Użyj poprawnie opcji <option>-chapter</option>,
-na przykÅad: <option>-chapter 5-7</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-PróbujÄ pracowaÄ z plikami 2GB+ na systemie plików VFAT. Czy to dziaÅa?
-</para></question>
-<answer><para>
-Nie, VFAT nie obsÅuguje plików 2GB+.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Co oznaczajÄ
te liczby w wierszu stanu w czasie procesu kodowania?
-</para></question>
-<answer><para>
-PrzykÅad:
-<screen>
-Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2126:192]
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>aktualny czas w kodowanym strumieniu</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>6612f</systemitem></term>
- <listitem><para>liczba zakodowanych klatek video</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>( 2%)</systemitem></term>
- <listitem><para>
- jaki procent strumienia wejÅciowego zostaÅ zakodowany
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>7.12fps</systemitem></term>
- <listitem><para>szybkoÅÄ kodowania</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>szacowany pozostaÅy czas kodowania</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2856mb</systemitem></term>
- <listitem><para>
- szacowana wielkoÅÄ wyniku ostatecznego kodowania
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>
- aktualne opóźnienie miÄdzy strumieniami audio i video
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>[2126:192]</systemitem></term>
- <listitem><para>
- Åredni bitrate video (w kb/s) i Åredni bitrate audio (w kb/s)
- </para></listitem>
-</varlistentry>
-</variablelist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Dlaczego zalecany bitrate wypisywany przez <application>MEncodera</application>
-jest ujemny?
-</para></question>
-<answer><para>
-Ponieważ bitrate (iloÅÄ bitów na sekundÄ) z którym zakodowaÅeÅ audio jest za
-duże, aby film siÄ zmieÅciÅ na jakimkolwiek CD. Sprawdź czy libmp3lame jest
-zainstalowana poprawnie.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Nie mogÄ zakodowaÄ pliku ASF do AVI/DivX, ponieważ ma on 1000 fps.
-</para></question>
-<answer><para>
-Ponieważ ASF używa zmiennego framerate (iloÅÄ ramek na sekundÄ),
-a AVI używa ustalonej wartoÅci,
-musisz ustawiÄ jÄ
rÄcznie używajÄ
c opcji <option>-ofps</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ wstawiÄ napisy do pliku wynikowego?
-</para></question>
-<answer><para>
-Po prostu przekaż opcjÄ <option>-sub <nazwa_pliku></option>
-(lub odpowiednio <option>-sid</option>) do <application>MEncodera</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak zakodowaÄ wyÅÄ
cznie dźwiÄk z teledysku?
-</para></question>
-<answer><para>
-Nie jest to możliwe bezpoÅrednio lecz możesz sprówowaÄ nastÄpujÄ
cego
-sposobu (zwrÃ³Ä uwagÄ na znak
-<emphasis role="bold">&</emphasis> na koÅcu polecenia
-<command>mplayer</command>):
-<screen>
-mkfifo <replaceable>encode</replaceable>
-mplayer -ao pcm -aofile <replaceable>encode</replaceable> dvd://1 &
-lame <replaceable>Twoje_opcje</replaceable> <replaceable>encode</replaceable> <replaceable>music.mp3</replaceable>
-rm <replaceable>encode</replaceable>
-</screen>
-Ten sposób pozwala na użycie dowolnego kodera, nie tylko
-<application>LAME</application>.
-Po prostu zamieŠ<command>lame</command> w powyższym poleceniu
-na swój ulubiony koder audio.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Dlaczego zewnÄtrzne odtwarzacze nieodtwarzajÄ
filmów MPEG-4 zakodowanych
-<application>MEncoderem</application> w wersji nowszej niż 1.0pre7?
-</para></question>
-<answer><para>
-<systemitem class="library">libavcodec</systemitem>, natywna biblioteka
-kodowania MPEG-4 zwykle dostarczana z <application>MEncoderem</application>
-ustawiaÅa FourCC na 'DIVX' podczas kodowania video MPEG-4 (FourCC to
-etykieta AVI identyfikujÄ
ca oprogramowanie użyte do kodowania
-i przewidziane do dekodowania video).
-To powodowaÅo przekonanie u wielu ludzi, że
-<systemitem class="library">libavcodec</systemitem> jest bibliotekÄ
kodowania
-DivX, gdy w rzeczywistoÅci jest zupeÅnie innÄ
bibliotekÄ
kodowania MPEG-4,
-która dużo lepiej niż DivX implementuje standard MPEG-4.
-Dlatego też nowym domyÅlnym kodem FourCC używanym przez
-<systemitem class="library">libavcodec</systemitem> jest 'FMP4', lecz możesz
-obejÅÄ to zachowanie używajÄ
c opcji <application>MEncodera</application>
-<option>-ffourcc</option>.
-Tak samo możesz zmieniÄ FourCC istniejÄ
cego pliku:
-<screen>
-mencoder <replaceable>wejÅcie.avi</replaceable> -o <replaceable>wyjÅcie.avi</replaceable> -ffourcc XVID
-</screen>
-Zauważ, że to ustawi FourCC na XVID, a nie na DIVX. Jest to zalecane, ze
-wzglÄdu na to, że kod FourCC DIVX oznacza DivX4, który jest bardzo prostym
-kodekiem MPEG-4, a DX50 i XVID oba oznaczajÄ
peÅne MPEG-4 (ASP). Dlatego
-gdy ustawisz FourCC na DIVX, pewne programy lub sprzÄtowe odtwarzacze mogÄ
-siÄ dÅawiÄ na niektórych zaawansowanych funkcjach, które obsÅuguje
-<systemitem class="library">libavcodec</systemitem>, a DivX nie; z drugiej
-strony <systemitem class="library">Xvid</systemitem> jest bliższy
-funkjonalnoÅciÄ
<systemitem class="library">libavacodec</systemitem>,
-a jest obsÅugiwany przez wszystkie sensowne odtwarzacze.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ kodowaÄ plik zawierajÄ
cy tylko dźwiÄk?
-</para></question>
-<answer><para>
-Użyj <filename>aconvert.sh</filename> z podkatalogu
-<filename class="directory">TOOLS</filename> w drzewie źródeÅ
-<application>MPlayera</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Jak mogÄ odtwarzaÄ napisy wbudowane w AVI?
-</para></question>
-<answer><para>
-Użyj <filename>avisubdump.c</filename> z podkatalogu
-<filename class="directory">TOOLS</filename> lub przeczytaj
-<ulink url="http://xlife.zuavra.net/curse/0012/">ten dokument o wydobywaniu/demultipleksowaniu napisów wbudowanych w pliki AVI OpenDML</ulink>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> nie...
-</para></question>
-<answer><para>
-Przejrzyj podkatalog <filename class="directory">TOOLS</filename>.
-Znajduje siÄ tam kolekcja losowych skryptów i hacków.
-DokumentacjÄ znajdziesz w <filename>TOOLS/README</filename>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-</qandaset>
-
-</chapter>
diff --git a/DOCS/xml/pl/install.xml b/DOCS/xml/pl/install.xml
deleted file mode 100644
index c611284..0000000
--- a/DOCS/xml/pl/install.xml
+++ /dev/null
@@ -1,547 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21741 -->
-<!-- Opiekun: brak (poprzednio Paszczi) -->
-<chapter id="install">
-<title>Instalacja</title>
-
-<para>
-Przewodnik szybkiej instalacji znajdziesz w pliku <filename>README</filename>.
-ProszÄ, najpierw go przeczytaj, a później wrÃ³Ä do tego dokumentu
-po mrożÄ
ce krew w żyÅach szczegóÅy.
-</para>
-
-<para>
-W tym rozdziale zostaniesz przeprowadzony przez proces kompilacji
-i konfiguracji <application>MPlayera</application>. Nie bÄdzie to Åatwe,
-ale niekoniecznie też musi byÄ trudne. Jeżeli zauważysz zachowanie inne niż
-tutaj opisane, proszÄ poszukaj w dokumentacji, a na pewno znajdziesz
-odpowiedzi.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="softreq">
-<title>Wymagane oprogramowanie</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - zalecana jest wersja
- <emphasis role="bold">2.11.x</emphasis>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">gcc</emphasis> - zalecanymi wersjami sÄ
2.95 i 3.4+.
- Wiadomo, że 2.96 i 3.0.x generujÄ
wadliwy kod, 3.1 i 3.2 również miaÅy problemy,
- 3.3 niewielkie.
- Na PowerPC używaj 4.x+.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">XFree86</emphasis> - sugerowanÄ
wersjÄ
jest
- 4.3 lub nowsza.
- Upewnij siÄ, że sÄ
zainstalowane również <emphasis role="bold">pakiety rozwojowe</emphasis>,
- w przeciwnym wypadku nie zadziaÅa.
- X'y nie sÄ
absolutnie niezbÄdne,
- niektóre sterowniki wyjÅcia video dziaÅajÄ
bez nich.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">make</emphasis> - sugerowanÄ
wersjÄ
jest 3.79.x lub
- nowsza. Å»eby zbudowaÄ dokumentacjÄ XML potrzebujesz przynajmniej 3.80.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> - opcjonalna, wymagana by mieÄ
- czcionkÄ do OSD i napisów. Wymagana jest przynajmniej wersja 2.0.9.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> - opcjonalny koder/dekoder JPEG,
- wymagany przez wyjÅcie video JPEG i do dekodowania filmów MJPEG
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> - domyÅlny i zalecany koder/dekoder (M)PNG,
- wymagany przez GUI i wyjÅcie video PNG
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - zalecana jest wersja 3.90 lub
- późniejsza, wymagana do zakodowania dźwiÄku MP3 przez
- <application>MEncodera</application>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> - zalecana, wymagana dla skompresowanych
- nagÅówków MOV i obsÅugi PNG.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- - opcjonalna, wymagana do odtwarzania niektórych strumieni RTSP/RTP.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - opcjonalna, używaj 0.9.13 lub
- nowszej.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - opcjonalna, do obsÅugi CDDA.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - opcjonalna, do obsÅugi wtyczek wejÅciowych
- XMMS. Wymagana jest przynajmniej wersja 1.2.7.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - opcjonalna, do obsÅugi sieci przez smb.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> - opcjonalna, do obsÅugi wyjÅcia dźwiÄku
- przez ALSA. Wymagana jest przynajmniej wersja 0.9.0rc4.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="features">
-<title>MożliwoÅci</title>
-
-<itemizedlist>
-<listitem><para>
- Zdecyduj czy potrzebujesz GUI. JeÅli tak, przeczytaj rozdziaÅ
- <link linkend="gui">GUI</link> przed kompilacjÄ
.
-</para></listitem>
-<listitem><para>
- Jeżeli chcesz zainstalowaÄ <application>MEncodera</application>
- (naszego wspaniaÅego enkodera do wszelkich celów), przeczytaj sekcjÄ
- <link linkend="mencoder"><application>MEncoder</application></link>.
-</para></listitem>
-<listitem><para>
- Jeżeli masz <emphasis role="bold">tuner TV</emphasis> kompatybilny z V4L
- i chcesz oglÄ
daÄ/przechwytywaÄ i kodowaÄ filmy przy pomocy
- <application>MPlayera</application>,
- przeczytaj rozdziaÅ <link linkend="tv-input">wejÅcie TV</link>.
-</para></listitem>
-<listitem><para>
- Jeżeli masz <emphasis role="bold">tuner radiowy</emphasis> kompatybilny z V4L
- i chcesz sÅuchaÄ i zapisywaÄ dźwiÄk przy pomocy
- <application>MPlayera</application>,
- przeczytaj rozdziaÅ <link linkend="radio">radio</link>.
-</para></listitem>
-<listitem><para>
- DostÄpne jest miÅe, gotowe do użycia
- <emphasis role="bold">Menu OSD</emphasis>.
- Przeczytaj rozdziaÅ <link linkend="subosd">menu OSD</link>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Potem skompiluj <application>MPlayera</application>:
-<screen>
-./configure
-make
-make install
-</screen>
-</para>
-
-<para>
-W tym momencie <application>MPlayer</application> jest już gotowy do użycia.
-Katalog <filename class="directory">$PREFIX/share/mplayer</filename>
-zawiera plik <filename>codecs.conf</filename>, który informuje program o
-wszystkich, dostÄpnych kodekach i ich możliwoÅciach. Plik ten potrzebny Ci
-bÄdzie tylko wtedy, jeżeli bÄdziesz chciaÅ zmodyfikowaÄ jego ustawienia, jako że
-plik wykonywalny zawiera go już w sobie. Sprawdź czy masz
-<filename>codecs.conf</filename> ze starych wersji
-<application>MPlayera</application> w swoim katalogu domowym
-(<filename>~/.mplayer/codecs.conf</filename>) i usuÅ go.
-</para>
-
-<para>
-Zauważ, że jeżeli masz <filename>codecs.conf</filename> w
-<filename>~/.mplayer/</filename>, wbudowany i systemowy
-<filename>codecs.conf</filename> bÄdÄ
caÅkowicie zignorowane.
-Nie rób tak, chyba że chcesz pobawiÄ siÄ z ustawieniami wewnÄtrznymi
-<application>MPlayera</application>, ponieważ może to spowodowaÄ wiele
-problemów. Jeżeli chcesz zmieniÄ kolejnoÅÄ szukania kodeków, skorzystaj
-z opcji <option>-vc</option>, <option>-ac</option>, <option>-vfm</option>
-lub <option>-afm</option> w wierszu poleceÅ, lub w Twoim pliku konfiguracyjnym
-(sprawdź stronÄ man).
-</para>
-
-<para>
-Użytkownicy Debiana mogÄ
sobie zbudowaÄ paczkÄ .deb, jest
-to bardzo proste. Wykonaj
-<screen>fakeroot debian/rules binary</screen>
-w gÅównym katalogu <application>MPlayera</application>. Przeczytaj rozdziaÅ
-<link linkend="debian">paczki Debiana</link>, aby uzyskaÄ wiÄcej informacji.
-</para>
-
-<para>
-<emphasis role="bold">Zawsze przejrzyj wyniki</emphasis>
-<filename>./configure</filename> i plik
-<filename>config.log</filename>, zawierajÄ
one informacje o tym, co bÄdzie zbudowane,
-a co nie. Możesz również obejrzeÄ pliki
-<filename>config.h</filename> i <filename>config.mak</filename>.
-Jeżeli masz zainstalowane jakieÅ biblioteki, ale nie sÄ
one wykrywane przez
-<filename>./configure</filename>, sprawdź czy masz również odpowiednie
-pliki nagÅówkowe (przeważnie pakiety -dev) i ich wersje siÄ zgadzajÄ
. Plik
-<filename>config.log</filename> zazwyczaj powie Ci, czego brakuje.
-</para>
-
-<para>
-Chociaż nie jest to konieczne, czcionki powinny byÄ zainstalowane, żebyÅ mógÅ
-korzystaÄ z OSD i napisów. Zalecana jest instalacja czcionki TTF i ustawienie
-<application>MPlayera</application> tak, żeby z niej korzystaÅ. Przeczytaj
-rozdziaÅ <link linkend="subosd">Napisy i OSD</link> dla uzyskania bardziej
-szczegóÅowych informacji.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="gui">
-<title>A co z GUI?</title>
-
-<para>
-GUI wymaga biblioteki GTK 1.2.x lub GTK 2.0 (nie jest w peÅni w GTK, ale jego
-panele sÄ
). Skórki przechowywane sÄ
w formacie PNG, tak wiÄc musi byÄ
-zainstalowane GTK, <systemitem class="library">libpng</systemitem>
-(i ich pakiety rozwojowe, zazwyczaj nazwane
-<systemitem class="library">gtk-dev</systemitem> i
-<systemitem class="library">libpng-dev</systemitem>).
-Możesz go zbudowaÄ podajÄ
c opcjÄ <option>--enable-gui</option> skryptowi
-<filename>./configure</filename>. Aby skorzystaÄ z trybu GUI, musisz wywoÅaÄ
-polecenie <command>gmplayer</command>.
-</para>
-
-<para>
-Jako że <application>MPlayer</application> nie zawiera żadnej skórki, musisz
-je ÅciÄ
gnÄ
Ä, jeżeli chcesz używaÄ GUI. Sprawdź
-<ulink url="http://www.mplayerhq.hu/dload.html">stronÄ z zasobami do pobrania</ulink>.
-Skórki powinny byÄ rozpakowane do katalogu dostÄpnego dla wszystkich
-(<filename class="directory">$PREFIX/share/mplayer/skins</filename>) lub do
-<filename class="directory">$HOME/.mplayer/skins</filename>.
-<application>MPlayer</application> sprawdza je w poszukiwaniu
-folderu nazwanego <filename class="directory">default</filename>, ale
-możesz użyÄ opcji <option>-skin <replaceable>nowaskórka</replaceable></option>
-lub wpisaÄ do pliku konfiguracyjnego <literal>skin=nowaskórka</literal>, aby
-program korzystaŠze skórki w katalogu
-<filename class="directory">*/skins/nowaskórka</filename>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="fonts-osd">
-<title>Czcionki i OSD</title>
-
-<para>
-Musisz powiedzieÄ <application>MPlayerowi</application> której czcionki ma
-używaÄ, by móc cieszyÄ siÄ OSD i napisami. DziaÅa dowolna czcionka TrueType
-lub specjalne czcionki bitmapowe. Jednakże zalecane sÄ
czcionki TrueType,
-ponieważ wyglÄ
dajÄ
o wiele lepiej, mogÄ
byÄ prawidÅowo przeskalowane do
-wielkoÅci filmu i lepiej sobie radzÄ
z różnymi sposobami kodowania.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="truetype-fonts">
-<title>Czcionki TrueType</title>
-
-<para>
-SÄ
dwa sposoby na skÅonienie czcionek TrueType do dziaÅania. Pierwszy to
-podanie w wierszu poleceÅ pliku z czcionkÄ
TrueType przy pomocy opcji
-<option>-font</option>.
-Ta opcja jest też dobrym kandydatem do wÅożenie w plik konfiguracyjny
-(szczegóÅy na stronie man).
-Drugi to stworzenie dowiÄ
zania symbolicznego (symlink) o nazwie
-<filename>subfont.ttf</filename> wskazujÄ
cego na wybranÄ
czcionkÄ.
-Albo
-<screen>
-ln -s <replaceable>/Åcieżka/do/przykÅadowej_czcionki.ttf</replaceable> ~/.mplayer/subfont.ttf
-</screen>
-dla każdego użytkownika osobno, albo ogólnosystemowe:
-<screen>
-ln -s <replaceable>/Åcieżka/do/przykÅadowej_czcionki.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
-</screen>
-</para>
-
-<para>
-JeÅli <application>MPlayer</application> byÅ skompilowany z obsÅugÄ
-<systemitem class="library">fontconfig</systemitem>, te metody nie zadziaÅajÄ
,
-zamiast tego <option>-font</option> oczekuje nazwy czcionki wedÅug
-<systemitem class="library">fontconfig</systemitem> i domyÅlnie bierze
-czcionkÄ sans-serif.
-PrzykÅad:
-<screen>
-mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable>
-</screen>
-</para>
-
-<para>
-Å»eby zobaczyÄ jakie czcionki zna
-<systemitem class="library">fontconfig</systemitem>, użyj
-<command>fc-list</command>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bitmap-fonts">
-<title>Czcionki bitmapowe</title>
-
-<para>
-JeÅli z jakiegoÅ powodu chcesz lub musisz użyÄ czcionek bitmapowych, ÅciÄ
gnij
-zestaw z naszej strony domowej. Możesz wybieraÄ spoÅród rozmaitych
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">czcionek ISO</ulink>
-oraz zestawów czcionek
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">stworzonych przez użytkowników</ulink>
-w rozmaitych kodowaniach.
-</para>
-
-<para>
-Rozpakuj ÅciÄ
gniÄty plik do katalogu
-<filename class="directory">~/.mplayer</filename> lub
-<filename class="directory">$PREFIX/share/mplayer</filename>.
-Potem przemianuj lub stwórz dowiÄ
zanie symboliczne jednego z rozpakowanych
-katalogów na nazwÄ
-<filename class="directory">font</filename>, na przykÅad:
-<screen>
-ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
-</screen>
-<screen>
-ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font
-</screen>
-</para>
-
-<para>
-Czcionki powinny mieÄ odpowiedni plik <filename>font.desc</filename>, który
-przypisuje pozycje czcionek unicode na wÅaÅciwÄ
stronÄ kodowÄ
napisów.
-Innym rozwiÄ
zaniem jest mieÄ napisy zakodowane w UTF-8 i używaÄ opcji
-<option>-utf8</option> albo nazwaÄ plik z napisami tak samo jak film, ale z
-rozszerzeniem <filename>.utf</filename>
-i mieÄ go w tym samym katalogu co film.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="osdmenu">
-<title>Menu OSD</title>
-
-<para>
-<application>MPlayer</application>
-ma caÅkowicie definiowalny Interfejs Menu OSD.
-</para>
-
-<note><para>
-Menu Ustawienia nie jest jeszcze ZAIMPLEMENTOWANE!
-</para></note>
-
-<orderedlist>
-<title>Instalacja</title>
-<listitem><para>
- skompiluj <application>MPlayera</application> z opcjÄ
- <option>--enable-menu</option> dla skryptu <filename>./configure</filename>
-</para></listitem>
-<listitem><para>
- upewnij siÄ, że masz zainstalowanÄ
czcionkÄ OSD
-</para></listitem>
-<listitem><para>
- skopiuj plik <filename>etc/menu.conf</filename> do Twojego katalogu
- <filename class="directory">.mplayer</filename>
-</para></listitem>
-<listitem><para>
- skopiuj plik <filename>etc/input.conf</filename> do Twojego katalogu
- <filename class="directory">.mplayer</filename> lub do ogólnosystemowego
- katalogu z konfiguracjÄ
<application>MPlayera</application> (domyÅlnie:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
-</para></listitem>
-<listitem><para>
- sprawdź i ewentualnie przerób plik <filename>input.conf</filename>,
- aby okreÅliÄ funkcje klawiszy (wszystko jest tam opisane).
-</para></listitem>
-<listitem><para>
- uruchom <application>MPlayera</application> przykÅadowÄ
komendÄ
:
- <screen>mplayer -menu <replaceable>plik.avi</replaceable></screen>
-</para></listitem>
-<listitem><para>
- wciÅnij dowolny klawisz, który wczeÅniej zdefiniowaÅeÅ
-</para></listitem>
-</orderedlist>
-
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="codec-installation">
-<title>Codec installation</title>
-
-<!-- ********** -->
-
-<sect2 id="xvid">
-<title>Xvid</title>
-
-<para>
-<ulink url="http://www.xvid.org">Xvid</ulink> jest wolnym, kompatybilnym
-z MPEG-4 ASP, kodekiem video z możliwoÅciami kodowania dwuprzebiegowego
-i peÅnÄ
obsÅugÄ
MPEG-4 ASP.
-Zauważ, że Xvid nie jest konieczny do odtwarzania video zakodowanego przy
-pomocy Xvid. DomyÅlnie używana jest biblioteka
-<systemitem class="library">libavcodec</systemitem>, bo jest szybsza.
-</para>
-
-<procedure>
-<title>Instalacja <systemitem class="library">Xvid</systemitem></title>
-<para>
- Jak wiÄkszoÅÄ otwartego oporgramowania dostÄpny jest w dwóch wersjach:
- <ulink url="http://www.xvid.org/downloads.html">oficjalnych wydaÅ</ulink>
- i wersji CVS.
- Wersja CVS jest zazwyczaj wystarczajÄ
co stablina by jej używaÄ, jako że
- zazwyczaj ma poprawki do bÅÄdów wystÄpujÄ
cych w wydaniach.
- Tak należy nakÅoniÄ <systemitem class="library">Xvid</systemitem> CVS do
- pracy z <application>MEncoderem</application> (bÄdziesz potrzebowaÅ
- przenajmniej <application>autoconf</application> 2.50,
- <application>automake</application> i <application>libtool</application>):
-</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
-</para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
-</para></step>
-<step><para>
- <screen>./bootstrap.sh</screen>
-</para></step>
-<step><para>
- <screen>./configure</screen>
- Możesz potrzebowaÄ dodaÄ jakieÅ opcje (przejrzyj wyjÅcie
- polecenia <command>./configure --help</command>)
-</para></step>
-<step><para>
- <screen>make && make install</screen>
-</para></step>
-<step><para>
- Przekompiluj <application>MPlayera</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x264">
-<title><systemitem class="library">x264</systemitem></title>
-
-<para>
-<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
-is a library for creating H.264 video.
-<application>MPlayer</application> sources are updated whenever
-an <systemitem class="library">x264</systemitem> API change
-occurs, so it is always suggested to use
-<application>MPlayer</application> from Subversion.
-</para>
-
-<para>
-If you have a GIT client installed, the latest x264
-sources can be gotten with this command:
-<screen>git clone git://git.videolan.org/x264.git</screen>
-
-Then build and install in the standard way:
-<screen>./configure && make && make install</screen>
-
-Now rerun <filename>./configure</filename> for
-<application>MPlayer</application> to pick up
-<systemitem class="library">x264</systemitem> support.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="amr">
-<title>Kodeki AMR</title>
-
-<para>
-Kodeki mowy Adaptive Multi-Rate sÄ
używane w telefonii komórkowej
-trzeciej generacji (3G).
-Opis implementacji udostÄpniany jest przez
-<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
-(za darmo dla osób prywatnych).
-</para>
-
-<para>
-Å»eby uaktywniÄ obsÅugÄ kodeków, pobierz źródÅa kodeków
-<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink> i
-<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>,
-umieÅÄ je w katalogu do którego rozpakowaÅeŠźródÅa
-<application>MPlayera</application> i wpisz nastÄpujÄ
ce komendy:
-<screen>
-unzip 26104-610.zip
-unzip 26104-610_ANSI_C_source_code.zip
-mv c-code libavcodec/amr_float
-unzip 26204-600.zip
-unzip 26204-600_ANSI-C_source_code.zip
-mv c-code libavcodec/amrwb_float
-</screen>
-Gdy już to zrobisz, kontynuuj <link linkend="features">budowanie</link>
-<application>MPlayera</application> tak, jak zwykle.
-</para>
-</sect2>
-</sect1>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="rtc">
-<title>RTC</title>
-
-<para>
-IstniejÄ
trzy metody synchronizacji w <application>MPlayerze</application>.
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Å»eby skorzystaÄ ze starej metody</emphasis>, nie musisz
- robiÄ nic. Używa ona <systemitem>usleep()</systemitem>, aby poprawnie
- zsynchronizowaÄ A/V z dokÅadnoÅciÄ
+/- 10ms. Czasami jednak synchronizacja
- musi byÄ jeszcze dokÅadniejsza.
-</para></listitem>
-<listitem>
- <para>
- Kod <emphasis role="bold">nowego zegara</emphasis> korzysta do tego celu
- z RTC (RealTime Clock), ponieważ jest on dokÅadny co do 1ms.
- WÅÄ
cza siÄ go opcjÄ
- <option>-rtc</option>, ale wymaga odpowiednio skonfigurowanego jÄ
dra.
- Jeżeli korzystasz z jÄ
dra w wersji 2.4.19pre8 lub późniejszej, wystarczy, że
- ustawisz maksymalnÄ
czÄstotliwoÅÄ RTC dla zwykÅego użytkownika przez
- system plików <systemitem class="systemname">/proc</systemitem>.
- Użyj jednego z nastÄpujÄ
cych poleceÅ, aby pozwoliÄ na korzystanie z RTC
- zwykÅym użytkownikom:
- <screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
- <screen>sysctl dev/rtc/max-user-freq=1024</screen>
- Możesz uczyniÄ tÄ zmianÄ trwaÅÄ
dodajÄ
c ten drugi wiersz do
- <filename>/etc/sysctl.conf</filename>.
- </para>
- <para>
- Możesz zobaczyÄ wydajnoÅÄ nowego synchronizatora w wierszu stanu.
- ZarzÄ
dzanie energiÄ
w BIOSach niektórych notebooków z procesorami w technologii
- speedstep nie wspóÅgra z RTC. DźwiÄk i obraz mogÄ
byÄ niezsynchronizowane.
- PodÅÄ
czenie zewnÄtrznego źródÅa energii przed wÅÄ
czeniem notebooka
- wydaje siÄ pomagaÄ.
- W niektórych zestawieniach sprzÄtowych (sprawdzone przy używaniu DVD bez
- obsÅugi DMA na pÅycie ALi1541) korzystanie z RTC wywoÅuje skokowe odtwarzanie.
- Zaleca siÄ skorzystanie w tych przypadkach z trzeciej metody.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">Trzeci kod zegara</emphasis> wÅÄ
czany jest opcjÄ
- <option>-softsleep</option>. Ma dokÅadnoÅÄ RTC, ale z niego nie korzysta.
- Wymaga jednak wiÄkszej mocy obliczeniowej procesora.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/pl/mencoder.xml b/DOCS/xml/pl/mencoder.xml
deleted file mode 100644
index f14583b..0000000
--- a/DOCS/xml/pl/mencoder.xml
+++ /dev/null
@@ -1,765 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21748 -->
-<!-- Opiekun: Qba -->
-<chapter id="mencoder">
-<title>Podstawy używania <application>MEncodera</application></title>
-
-<para>
-PeÅna lista dostÄpnych opcji <application>MEncodera</application> oraz
-przykÅady znajdujÄ
siÄ na stronie man. W pliku
-<ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink>
-znajduje siÄ dużo przykÅadów i przewodników skompletowanych z wielu wÄ
tków
-listy dyskusyjnej MPlayer-users.
-W <ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archiwum</ulink>
-znajdziesz mnóstwo dyskusji o aspektach i problemach zwiÄ
zanych z kodowaniem
-przy pomocy <application>MEncodera</application>.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-codec">
-<title>Wybieranie kodeka i formatu</title>
-
-<para>
-Kodeki audio i video stosowane przy kodowaniu sÄ
wybierane odpowiednio
-opcjami <option>-oac</option> i <option>-ovc</option>.
-Napisz na przykÅad:
-<screen>mencoder -ovc help</screen>
-by uzyskaÄ listÄ wszystkich kodeków video obsÅugiwanych przez
-<application>MEncodera</application> na Twoim komputerze.
-DostÄpne sÄ
nastÄpujÄ
ce:
-</para>
-
-<para>
-Kodeki audio:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nazwa kodeka audio</entry><entry>Opis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mp3lame</entry>
- <entry>kodowanie na MP3 VBR, ABR lub przy użyciu LAME</entry>
-</row>
-<row>
- <entry>lavc</entry>
- <entry>używa jednego z <link linkend="menc-feat-enc-libavcodec-audio-codecs">kodeków audio z <systemitem class="library">libavcodec</systemitem></link></entry>
-</row>
-<row>
- <entry>faac</entry>
- <entry>koder audio FAAC AAC</entry>
-</row>
-<row>
- <entry>toolame</entry>
- <entry>koder MPEG Audio Layer 2</entry>
-</row>
-<row>
- <entry>twolame</entry>
- <entry>koder MPEG Audio Layer 2 encoder oparty na tooLAME</entry>
-</row>
-<row>
- <entry>pcm</entry>
- <entry>nieskompresowany dźwiÄk PCM</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Kodeki video:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nazwa kodeka video</entry><entry>Opis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavc</entry>
- <entry>używa jednego z <link linkend="menc-feat-enc-libavcodec-video-codecs">kodeków video z <systemitem class="library">libavcodec</systemitem></link></entry>
-</row>
-<row>
- <entry>xvid</entry>
- <entry>Xvid, kodek MPEG-4 Advanced Simple Profile (ASP)</entry>
-</row>
-<row>
- <entry>x264</entry>
- <entry>x264, MPEG-4 Advanced Video Coding (AVC), zwany kodekiem H.264</entry>
-</row>
-<row>
- <entry>nuv</entry>
- <entry>nuppel video, używany przez niektóre aplikacje czasu rzeczywistego</entry>
-</row>
-<row>
- <entry>raw</entry>
- <entry>nieskompresowane klatki video</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>nie przekodowywuj, tylko przekopiuj zakodowane ramki</entry>
-</row>
-<row>
- <entry>frameno</entry>
- <entry>używany do kodowania trójprzebiegowego (nie zalecane)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Format wyjÅciowy wybiera siÄ opcjÄ
<option>-of</option>.
-Napisz:
-<screen>mencoder -of help</screen>
-by otrzymaÄ listÄ wszystkich formatów obsÅugiwanych przez
-<application>MEncodera</application> na Twoim komputerze.
-</para>
-
-<para>
-Formaty przechowywania:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Nazwa formatu</entry><entry>Opis</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavf</entry>
- <entry>jeden z formatów obsÅugiwanych przez
- <systemitem class="library">libavformat</systemitem></entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved (Przeplecione Audio-Video)</entry>
-</row>
-<row>
- <entry>mpeg</entry>
- <entry>MPEG-1 i MPEG-2 PS</entry>
-</row>
-<row>
- <entry>rawvideo</entry>
- <entry>surowy strumieÅ video (bez muxowania - tylko jeden strumieÅ video)</entry>
-</row>
-<row>
- <entry>rawaudio</entry>
- <entry>surowy strumieÅ audio (bez muxowania - tylko jeden strumieÅ audio)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Format AVI jest podstawowym formatem <application>MEncodera</application>,
-co oznacza że jest najlepiej obsÅugiwany i że
-<application>MEncoder</application> byÅ projektowany z myÅlÄ
o nim.
-Jak napisano wczeÅniej, można używaÄ innych formatów, ale możesz napotkaÄ
-przy tym problemy.
-</para>
-
-<para>
-Formaty z <systemitem class="library">libavformat</systemitem>:
-</para>
-
-<para>
-JeÅli chcesz żeby <systemitem class="library">libavformat</systemitem>
-dokonywaÅ muksowania zbioru wyjÅciowego (przy użyciu opcji
-<option>-of lavf</option>), stosowny format zostanie ustalony na podstawie
-rozszerzenia pliku wyjÅciowego.
-Możesz wymusiÄ konkretny format opcjÄ
<option>format</option> biblioteki
-<systemitem class="library">libavformat</systemitem>.
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead><row>
- <entry>nazwa formatu <systemitem class="library">libavformat</systemitem></entry>
- <entry>Opis</entry>
-</row></thead>
-<tbody>
-<row>
- <entry>mpg</entry>
- <entry>MPEG-1 i MPEG-2 PS</entry>
-</row>
-<row>
- <entry>asf</entry>
- <entry>Advanced Streaming Format (Zaawansowany format strumieniowy)</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>wav</entry>
- <entry>Waveform Audio</entry>
-</row>
-<row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Macromedia Flash video</entry>
-</row>
-<row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
-</row>
-<row>
- <entry>au</entry>
- <entry>SUN AU</entry>
-</row>
-<row>
- <entry>nut</entry>
- <entry>otwarty format NUT (eksperymentalny i jeszcze bez specyfikacji)</entry>
-</row>
-<row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
-</row>
-<row>
- <entry>mp4</entry>
- <entry>MPEG-4 format</entry>
-</row>
-<row>
- <entry>dv</entry>
- <entry>format Sony Digital Video</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Jak widzisz, <systemitem class="library">libavformat</systemitem> pozwala
-<application>MEncoderowi</application> tworzyÄ sporÄ
iloÅÄ różnych formatów.
-Niestety, ponieważ <application>MEncoder</application> nie byŠtworzony
-z myÅlÄ
o innych formatach niż AVI, powinieneÅ mieÄ paranoidalne podejÅcie do
-wynikowych plików.
-DokÅadnie sprawdź czy jest prawidÅowa synchronizacja audio/video i czy plik
-może zostaÄ prawidÅowo odtworzony przez odtwarzacze inne niż
-<application>MPlayer</application>.
-</para>
-
-<example id="encode_to_macromedia_flash_format">
-<title>kodowanie do formatu Macromedia Flash</title>
-<para>
-Tworzenie zbioru Macromedia Flash video, nadajÄ
cego siÄ do odtwarzania
-w przeglÄ
darce sieciowej z wtyczkÄ
Macromedia Flash:
-<screen>
-mencoder <replaceable>wejÅcie.avi</replaceable> -o <replaceable>wyjÅcie.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-input">
-<title>Wybieranie źródÅowego zbioru lub urzÄ
dzenia</title>
-
-<para>
-<application>MEncoder</application> może kodoważ ze zbiorów lub bezpoÅrednio
-z dysku DVD lub VCD.
-Po prostu podaj nazwÄ zbioru w wierszu poleceŠżeby kodowaÄ ze zbioru, albo
-<option>dvd://</option><replaceable>numertytuÅu</replaceable> lub
-<option>vcd://</option><replaceable>numerÅcieżki</replaceable> by nagrywaÄ
-z tytuÅu DVD albo Åcieżki VCD.
-JeÅli już skopiowaÅeÅ DVD na twardy dysk (możesz na przykÅad użyÄ narzÄdzia
-takiego jak <application>dvdbackup</application>, dostÄpnego na wiÄkszoÅci
-systemów), wciÄ
ż powinieneÅ używaÄ skÅadni <option>dvd://</option>, razem
-z opcjÄ
<option>-dvd-device</option> po której nastÄpuje Åcieżka do
-skopiowanego DVD.
-
-Opcji <option>-dvd-device</option> i <option>-cdrom-device</option> możesz
-też używaÄ by podaÄ wÅasne Åcieżki do wÄzÅów urzÄ
dzeÅ, jeÅli domyÅlne
-<filename>/dev/dvd</filename> i <filename>/dev/cdrom</filename> nie sÄ
-wÅaÅciwe w Twoim systemie.
-</para>
-
-<para>
-Przy kodowaniu z DVD, czÄsto pożÄ
danym jest wybranie do kodowania rozdziaÅu
-lub zasiÄgu rozdziaÅów.
-Możesz w tym celu użyÄ opcji <option>-chapters</option>, na przykÅad
-<option>-chapters</option> <replaceable>1-4</replaceable> zakoduje z DVD
-tylko rozdziaÅy od 1 do 4.
-Jest to zwÅaszcza użyteczne gdy robisz kodowanie do wielkoÅci 1400 MB,
-przeznaczone na 2 CD, ponieważ możesz siÄ upewniÄ Å¼e przerwa nastÄ
pi
-dokÅadnie na granicy rozdziaÅów a nie w Årodku sceny.
-</para>
-
-<para>
-JeÅli masz obsÅugiwanÄ
kartÄ przechwytywania TV, możesz też kodowaÄ z jej
-urzÄ
dzenia wejÅciowego.
-Użyj opcji <option>tv://</option><replaceable>numerkanaÅu</replaceable> jako
-nazwy pliku, a opcjÄ
<option>-tv</option> skonfiguruj rozmaite ustawienia
-przechwytywania.
-Podobnie dziaÅa wejÅcie z DVB.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg4">
-<title>Kodowanie dwuprzebiegowe MPEG-4 ("DivX")</title>
-
-<para>
-Nazwa zwiÄ
zana jest z faktem, iż przy użyciu tej metody plik kodowany jest
-<emphasis>dwa razy</emphasis>.
-Pierwsze kodowanie (dubbed pass) tworzy pliki tymczasowe
-(<filename>*.log</filename>) o rozmiarze kilku megabajtów, nie kasuj ich od
-razu (możesz natomiast skasowaÄ plik AVI a jeszcze lepiej nie tworzyÄ go
-w ogóle poprzez zapisywanie w <filename>/dev/null</filename>).
-W drugim przebiegu przy pomocy danych o bitrate z plików tymczasowych tworzony
-jest plik wyjÅciowy drugiego przebiegu. Plik koÅcowy bÄdzie miaÅ o wiele lepszÄ
-jakoÅÄ w porównaniu ze standardowym 1-przebiegowym kodowaniem.
-Jeżeli pierwszy raz o tym sÅyszysz, powinieneÅ zajrzeÄ do któregoÅ z wielu
-przewodników dostÄpnych w sieci.
-</para>
-
-<example id="copy_audio_track">
-<title>kopiowanie Åcieżki dźwiÄkowej</title>
-<para>
-Dwuprzebiegowe kodowanie DVD do MPEG-4 ("DivX") AVI z kopiowaniem Åcieżki dźwiÄkowej.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>kodowanie Åcieżki dźwiÄkowej</title>
-<para>
-Dwuprzebiegowe kodowanie DVD do MPEG-4 ("DivX") AVI z kodowaniem Åcieżki dźwiÄkowej do MP3.
-Uważaj stosujÄ
c tÄ metodÄ, ponieważ w niektórych przypadkach może zaowocowaÄ
-desynchronizacjÄ
audio/video.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-handheld-psp">
-<title>Kodowanie do formatu video Sony PSP</title>
-
-<para>
-<application>MEncoder</application> obsÅuguje kodowanie do formatu video Sony
-PSP, ale, w zależnoÅci od wersji oprogramowania PSP, wymaga różnych
-ograniczeÅ.
-PowinieneÅ byÅ bezpieczny, jeÅli respektujesz poniższe ograniczenia:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Bitrate</emphasis>: nie powinno przekraczaÄ 1500kbps,
- jednakże poprzednie wersje obsÅugiwaÅy praktycznie dowolny bitrate jeÅli
- tylko nagÅówek twierdziŠże nie jest za wysokie.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Wymiary</emphasis>: wysokoÅÄ i szerokoÅÄ filmu PSP
- powinny byÄ wielokrotnoÅciami 16, a iloczyn szerokoÅÄ * wysokoÅÄ musi byÄ
- <= 64000.
- W niektórych okolicznoÅciach może byÄ możliwe że PSP odtworzy wyższe
- rozdzielczoÅci.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audio</emphasis>: powinno mieÄ czÄstotliwoÅÄ
- próbkowania 24kHz dla MPEG-4 i 48kHz dla H.264.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<example id="encode_for_psp">
-<title>kodowanie dla PSP</title>
-<para>
-<screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
- <replaceable>wejÅciowe.video</replaceable> -o <replaceable>wyjÅcie.psp</replaceable>
-</screen>
-Możesz też ustawiÄ tytuÅ filmu dziÄki
-<option>-info name=<replaceable>TytuÅFilmu</replaceable></option>.
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg">
-<title>Kodowanie do formatu MPEG</title>
-
-<para>
-<application>MEncoder</application> może tworzyÄ pliki formatu MPEG (MPEG-PS).
-Zazwyczaj, jeÅli używasz filmu MPEG-1 albo MPEG-2, to jest tak ponieważ
-kodujesz na ograniczony format, taki jak SVCD, VCD albo DVD.
-Specyficzne ograniczenia tych formatów sÄ
wyjaÅnione w
-<link linkend="menc-feat-vcd-dvd">przewodniku tworzenia VCD i DVD</link>.
-</para>
-
-<para>
-Aby zmieniÄ wyjÅciowy format plików <application>MEncodera</application>, użyj opcji <option>-of mpeg</option>.
-</para>
-
-<informalexample>
-<para>
-PrzykÅad:
-<screen>
-mencoder <replaceable>wejscie.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
- -oac copy <replaceable>inne_opcje</replaceable> -o <replaceable>wyjÅcie.mpg</replaceable>
-</screen>
-Tworzenie pliku MPEG-1, który można odtworzyÄ na systemach z minimalnÄ
obsÅugÄ
-multimedialnÄ
, takÄ
jak domyÅlne instalacje Windows:
-<screen>
-mencoder <replaceable>wejscie.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>wyjÅcie.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-To samo, ale używajÄ
c muxera MPEG z <systemitem class="library">libavformat</systemitem>:
-<screen>
-mencoder <replaceable>wejÅcie.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg:i_certify_that_my_video_stream_does_not_use_b_frames \
- -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>Wskazówka:</title>
-<para>
-Jeżeli z jakiegoÅ powodu nie satysfakcjonuje CiÄ jakoÅÄ video
-z drugiego przebiegu, możesz ponownie uruchomiÄ kodowanie
-swojego video z innÄ
docelowÄ
szybkoÅciÄ
transmisji (bitrate),
-zakÅadajÄ
c, że zapisaÅeÅ statystyki pliku z poprzedniego przebiegu.
-Jest to możliwe, ponieważ gÅównym celem pliku ze statystykami jest
-zapamiÄtanie zÅożonoÅci każdej z ramek, co nie zależy zbyt mocno
-od szybkoÅci transmisji. Weź jednak pod uwagÄ, że uzyskasz najlepsze
-wyniki, jeżeli wszystkie przebiegi bÄdÄ
uruchomione z nieróżniÄ
cymi
-siÄ za bardzo docelowymi szybkoÅciami transmisji.
-</para>
-</note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-rescale">
-<title>Przeskalowywanie filmów</title>
-
-<para>
-CzÄsto zachodzi potrzeba zmiany wielkoÅci obrazu. Powodów tego może byÄ wiele:
-zmniejszenie rozmiaru pliku, przepustowoÅÄ sieci, itd. WiÄkszoÅÄ ludzi stosuje
-przeskalowywanie nawet przy konwertowaniu pÅyt DVD, SVCD do DivX AVI. Jeżeli
-chcesz przeskalowywaÄ, przeczytaj sekcjÄ o <link linkend="aspect">zachowywaniu proporcji obrazu</link>.
-</para>
-
-<para>
-Proces skalowania obsÅugiwany jest przez filtr video <literal>scale</literal>:
-<option>-vf scale=<replaceable>szerokoÅÄ</replaceable>:<replaceable>wysokoÅÄ</replaceable></option>.
-Jego jakoÅÄ może byÄ ustawiona parametrem <option>-sws</option>.
-JeÅli nie jest on podany <application>MEncoder</application> użyje wartoÅci 2: bicubic.
-</para>
-
-<para>
-Sposób użycia:
-<screen>
-mencoder <replaceable>wejscie.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>Kopiowanie strumieni</title>
-
-<para>
-<application>MEncoder</application> obsÅuguje strumienie wejÅciowe na dwa
-sposoby: <emphasis role="bold">koduje</emphasis> lub
-<emphasis role="bold">kopiuje</emphasis> je.
-Ta sekcja jest o <emphasis role="bold">kopiowaniu</emphasis>.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">StrumieÅ video</emphasis> (opcja <option>-ovc copy</option>):
- Åadne rzeczy można wyczyniaÄ:) Jak wstawianie (nie konwertowanie) FLI, VIDO
- lub MPEG-1 video w plik AVI! OczywiÅcie tylko
- <application>MPlayer</application> potrafi odtwarzaÄ takie pliki :)
- I prawdopodobnie nie ma dla tego żadnego sensownego zastosowania.
- Poważniej: kopiowanie strumieni video może byÄ przydatne wtedy, gdy np. tylko
- strumieÅ audio ma byÄ zakodowany (np. nieskompresowane PCM do MP3).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">StrumieÅ audio</emphasis> (opcja <option>-oac copy</option>):
- prosto i przystÄpnie. Możliwe jest wmiksowanie zewnÄtrznego źródÅa (MP3, WAV)
- do strumienia wyjÅciowego. Użyj w tym celu opcji
- <option>-audiofile <replaceable>nazwa_pliku</replaceable></option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Używanie <option>-oac copy</option> do kopiowania z jednego formatu
-przechowywania do innego może wymagaÄ użycia <option>-fafmttag</option> żeby
-utrzymaÄ znacznik formatu audio z oryginalnego zbioru.
-Na przykÅad jeÅli konwertujesz zbiór NSV z audio zakodowanym AAC do formatu
-AVI, to znacznik formatu audio bÄdzie nieprawidÅowy i musi zostaÄ zmieniony.
-ListÄ znaczników formatów audio znajdziesz w pliku
-<filename>codecs.conf</filename>.
-</para>
-
-<para>
-PrzykÅad:
-<screen>
-mencoder <replaceable>wejÅcie.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-images">
-<title>Kodowanie z wielu wejÅciowych plików obrazkowych
- (JPEG, PNG, TGA itp.)</title>
-
-<para>
-<application>MEncoder</application> jest w stanie stworzyÄ film z jednego
-lub wielu plików JPEG, PNG, TGA albo innych obrazków.
-Poprzez proste kopiowanie ramek może stworzyÄ pliki MJPEG
-(Motion (ruchomy - przypis tÅumacza) JPEG), MPNG (Motion PNG) lub MTGA (Motion TGA).
-</para>
-
-<orderedlist>
-<title>Jak to dziaÅa:</title>
-<listitem><para>
- <application>MEncoder</application> <emphasis>dekoduje</emphasis> wejÅciowy
- obrazek/obrazki z pomocÄ
biblioteki
- <systemitem class="library">libjpeg</systemitem> (w przypadku dekodowania
- PNG, skorzysta z <systemitem class="library">libpng</systemitem>).
-</para></listitem>
-<listitem><para>
- Potem <application>MEncoder</application> kompresuje zdekodowane pliki
- podanym kompresorem (DivX4, Xvid, FFmpeg msmpeg4, itd.).
-</para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>PrzykÅady</title>
-<para>
-Opis i sposób dziaÅania funkcji <option>-mf</option> znajdujÄ
siÄ na stronie man.
-
-<informalexample>
-<para>
-Tworzenie pliku MPEG-4 ze wszystkich plików JPEG w aktualnym katalogu:
-<screen>
-mencoder mf://<replaceable>*.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg -ovc lavc\
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Tworzenie pliku MPEG-4 z niektórych plików JPEG w aktualnym katalogu:
-<screen>
-mencoder mf://<replaceable>ramka001.jpg,ramka002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Tworzenie plików MPEG-4 z jawnie podanej listy plików JPEG (list.txt w aktualnym
-katalogu, zawiera listÄ plików, które majÄ
zostaÄ użyte jako źródÅo, po jednym
-w każdym wierszu):
-<screen>
-mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-Możesz mieszaÄ rózne typy obrazków, niezależnie od używanej metody
-— wymieniane pliki, znaki globalne czy plik z listÄ
— o ile
-oczywiÅcie wszystkie majÄ
te same wymiary.
-Możesz wiÄc n.p. zrobiÄ klatkÄ tytuÅowÄ
z obrazka PNG a potem umieÅciÄ pokaz
-swoich zdjÄÄ JPEG.
-
-<informalexample>
-<para>
-Tworzenie pliku Motion JPEG (MJPEG) ze wszystkich plików JPEG w aktualnym katalogu:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -ovc copy -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Tworzenie nieskompresowanego pliku ze wszystkich plików PNG w aktualnym katalogu:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><title>Informacja:</title><para>
-SzerokoÅÄ musi byÄ liczbÄ
podzielnÄ
przez 4, takie sÄ
ograniczenia formatu RAW RGB AVI.
-</para></note>
-
-<informalexample>
-<para>
-Tworzenie pliku Motion PNG (MPNG) ze wszystkich plików PNG w aktualnym katalogu:
-<screen>mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>wyjÅcie.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Tworzenie pliku Motion TGA (MTGA) ze wszystkich plików TGA w aktualnym katalogu:
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>wyjÅcie.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-extractsub">
-<title>Wydobywanie napisów z DVD do pliku VOBsub</title>
-
-<para>
-<application>MEncoder</application> jest w stanie wyciÄ
gnÄ
Ä napisy z DVD do
-pliku w formacie VOBsub. Tworzy je para plików z rozszerzeniem
-<filename>.idx</filename> i <filename>.sub</filename>, które sÄ
zazwyczaj
-spakowane do pojedyÅczego archiwum <filename>.rar</filename>.
-<application>MPlayer</application> może je odtwarzaÄ z opcjami
-<option>-vobsub</option> i <option>-vobsubid</option>.
-</para>
-
-<para>
-Podajesz nazwÄ bazowÄ
(tzn. bez rozszerzenia <filename>.idx</filename> lub
-<filename>.sub</filename>) pliku wyjÅciowego opcjÄ
<option>-vobsubout</option>
-oraz indeks dla tego pliku opcjÄ
<option>-vobsuboutindex</option>.
-</para>
-
-<para>
-Jeżeli źródÅem nie jest DVD powinieneÅ użyÄ opcji <option>-ifo</option>, aby
-wskazaÄ plik <filename>.ifo</filename> potrzebny do stworzenia pliku wynikowego
-<filename>.idx</filename>.
-</para>
-
-<para>
-Jeżeli źródÅem nie jest DVD i nie masz pliku <filename>.ifo</filename>,
-bÄdziesz musiaÅ użyÄ opcji <option>-vobsubid</option>, aby podaÄ id jÄzyka,
-które bÄdzie umieszczone w pliku <filename>.idx</filename>.
-</para>
-
-<para>
-Każde uruchomienie doÅÄ
czy do istniejÄ
cych napisów, jeżeli pliki
-<filename>.idx</filename> i <filename>.sub</filename> istniejÄ
.
-PowinieneÅ wiÄc usunÄ
Ä je przed uruchomieniem.
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>Kopiowanie dwóch napisów z DVD podczas dwu-przebiegowego kodowania</title>
-<screen>
-rm <replaceable>napisy.idx</replaceable> <replaceable>napisy.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>napisy</replaceable> -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>napisy</replaceable> -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>Kopiowanie francuskich napisów z pliku MPEG</title>
-<screen>
-rm <replaceable>napisy.idx</replaceable> <replaceable>napisy.sub</replaceable>
-mencoder <replaceable>film.mpg</replaceable> -ifo <replaceable>film.ifo</replaceable> -vobsubout <replaceable>napisy</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy<!--
---></screen>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="aspect">
-<title>Utrzymywanie proporcji obrazu (aspect ratio)</title>
-
-<para>
-Pliki DVD i SVCD (tzn. MPEG-1/2) zawierajÄ
informacje o proporcji obrazu, która
-opisuje, jak odtwarzacz ma skalowaÄ strumieÅ video, żeby ludzie nie byli
-jajogÅowi (np.: 480x480 + 4:3 = 640x480).
-Jednak przy kodowaniu plików AVI (DivX) musisz byÄ Åwiadom, że nagÅówek AVI nie
-przechowuje tej wartoÅci.
-Przeskalowywanie jest obrzydliwe i czasochÅonne, musi byÄ jakiÅ lepszy sposób!
-</para>
-
-<para>Jest</para>
-
-<para>
-MPEG-4 posiada unikalnÄ
cechÄ: strumieÅ video może posiadaÄ swojÄ
wartoÅÄ
-proporcji obrazu. Tak, dokÅadnie jak pliki MPEG-1/2 (DVD, SVCD) i H.263.
-Niestety, istnieje tylko kilka odtwarzaczy video, pomijajÄ
c
-<application>MPlayera</application>, które obsÅugujÄ
tÄ cechÄ MPEG-4.
-</para>
-
-<para>
-MożliwoÅÄ ta może byÄ jedynie używana z kodekiem <systemitem>mpeg4</systemitem>
-z biblioteki
-<systemitem class="library">libavcodec</systemitem>.
-PamiÄtaj: chociaż <application>MPlayer</application> poprawnie odtworzy
-stworzone pliki, inne odtwarzacze mogÄ
użyÄ zÅych proporcji obrazu
-(aspect ratio).
-</para>
-
-<para>
-Z pewnoÅciÄ
powinieneÅ wyciÄ
Ä czarne pasy nad i pod obrazem.
-Zobacz jak używaÄ filtrów <systemitem>cropdetect</systemitem>
-i <systemitem>crop</systemitem> na stronie man.
-</para>
-
-<para>
-Sposób użycia:
-<screen>
-mencoder <replaceable>przykÅadowy-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>wyjÅcie.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/pl/ports.xml b/DOCS/xml/pl/ports.xml
deleted file mode 100644
index 48709fd..0000000
--- a/DOCS/xml/pl/ports.xml
+++ /dev/null
@@ -1,845 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r18923 -->
-<!-- Opiekun: brak (spadek po Paszczim); chwilowo boski -->
-<chapter id="ports" xreflabel="Ports">
-<title>Porty</title>
-
-<sect1 id="linux">
-<title>Linux</title>
-<para>
-GÅównÄ
platformÄ
rozwojowÄ
jest Linux x86, chociaż
-<application>MPlayer</application> pracuje również na wielu innych portach
-tego systemu. Pakiety binarne sÄ
dostÄpne z kilku źródeÅ, jednakże
-<emphasis role="bold">żaden z nich nie jest przez nas obsÅugiwany</emphasis>.
-ZgÅaszaj problemy do ich opiekunów, a nie do nas.
-</para>
-
-<sect2 id="debian">
-<title>Pakiety Debiana</title>
-<para>
-Aby zbudowaÄ pakiet dla Debiana, wywoÅaj poniższe polecenie w katalogu ze źródÅami
-<application>MPlayera</application>:
-
-<screen>fakeroot debian/rules binary</screen>
-
-JeÅli chcesz przekazaÄ wÅasne opcje do skryptu configure, możesz ustawiÄ zmiennÄ
-ÅrodowiskowÄ
<envar>DEB_BUILD_OPTIONS</envar>. Na przykÅad, jeÅli chcesz
-obsÅugi menu i GUI, wyglÄ
daÅo by to tak:
-
-<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
-Możesz przekazaÄ również niektóre zmienne do Makefile. Na przykÅad, jeÅli chcesz
-kompilowaÄ przy pomocy gcc 3.4, nawet jeÅli nie jest to domyÅlny kompilator:
-
-<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
-Aby wyczyÅciÅ katalog ze źródÅami wykonaj poniższa komendÄ:
-
-<screen>fakeroot debian/rules clean</screen>
-
-Jako superużytkownik możesz zainstalowaÄ pakiet <filename>.deb</filename> tak, jak zwykle:
-
-<screen>dpkg -i ../mplayer_<replaceable>wersja</replaceable>.deb</screen>
-</para>
-
-<para>
-Christian Marillat buduje dla Debiana nieoficjalne paczki
-<application>MPlayera</application>, <application>MEncodera</application>
-i naszych czcionek bitmapowych już od jakiegoÅ czasu, możesz je pobraÄ (apt-get)
-z <ulink url="http://www.debian-multimedia.org/">jego strony domowej</ulink>.
-</para>
-</sect2>
-
-<sect2 id="rpm">
-<title>Pakiety RPM</title>
-<para>
-Dominik Mierzejewski opiekuje siÄ oficjalnymi pakietami RPM
-<application>MPlayera</application> dla Fedora Core.
-SÄ
one dostÄpne w
-<ulink url="http://rpm.livna.org/">repozytorium Livna</ulink>.
-</para>
-
-<para>
-RPMy dla Mandrake/Mandriva sÄ
dostÄpne na <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
-SuSE zawieraÅ okrojonÄ
wersjÄ <application>MPlayera</application> w dystrybucji.
-UsunÄli jÄ
w swoich najnowszych wydaniach. W peÅni funkcjonalne
-pakiety możesz pobraÄ z
-<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
-</para>
-</sect2>
-
-<sect2 id="arm">
-<title>ARM</title>
-<para>
-<application>MPlayer</application> dziaÅa również na PDA z procesorami ARM
-dziaÅajÄ
cych pod kontrolÄ
Linuksa, np. Sharp Zaurus, Compaq iPAQ.
-Najprostszym sposobem, żeby uzyskaÄ <application>MPlayera</application>,
-jest pobranie go z odpowiedniego źródÅa pakietów (stable, testing, unstable)
-z witryny <ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. Jeżeli chcesz
-go skompilowaÄ samodzielnie, powinieneÅ przyjrzeÄ siÄ katalogom
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayera</ulink>
-i biblioteki
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
-w gÅównym katalogu źródÅowym OpenZaurusa. ZawierajÄ
one najÅwieższe Åatki
-i pliki Makefile, sÅużÄ
ce do samodzielnej kompilacji
-<application>MPlayera</application> z <systemitem class="library">libavcodec</systemitem>.
-Jeżeli potrzebujesz interfejsu GUI, możesz użyÄ xmms-embedded.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="bsd">
-<title>*BSD</title>
-<para>
-<application>MPlayer</application> dziaÅa na FreeBSD, OpenBSD, NetBSD,
-BSD/OS i Darwinie. DostÄpne sÄ
wersje portów/pkgsrc/fink/itp., które
-prawdopodobnie sÄ
Åatwiejsze w instalacji, niż kompilacja ze źródeÅ.
-</para>
-
-<para>
-Do zbudowania <application>MPlayera</application> bÄdziesz potrzebowaÅ
-GNU make (gmake - rdzenne make BSD nie zadziaÅa) i najnowszej wersji binutils.
-</para>
-
-<para>
-Jeżeli <application>MPlayer</application> nie może znaleźÄ
-<filename>/dev/cdrom</filename> lub <filename>/dev/dvd</filename>,
-stwórz odpowiednie dowiÄ
zanie symboliczne:
-<screen>ln -s /dev/<replaceable>twoje_urzÄ
dzenie_cdrom</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
-Aby używaÄ bibliotek Win32 z <application>MPlayerem</application>, bÄdziesz
-potrzebowaÅ przekompilowaÄ jÄ
dro z opcjÄ
"<envar>USER_LDT</envar>"
-(chyba, że używasz FreeBSD-CURRENT, tam jest domyÅlnie wÅÄ
czona).
-</para>
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-<para>
-Jeżeli Twój procesor ma rozszerzenie SSE, przekompiluj jÄ
dro z opcjÄ
-"<envar>CPU_ENABLE_SSE</envar>" (wymagany FreeBSD-STABLE lub Åaty na jÄ
dro).
-</para>
-</sect2>
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-<para>Ze wzglÄdu na ograniczenia w różnych wersjach gas (GNU assemblera - przyp. tÅumacza)
-(dotyczÄ
ce relokacji i MMX), bÄdziesz musiaÅ przeprowadziÄ kompilacjÄ w dwóch krokach:
-Po pierwsze, upewnij siÄ, że wersja nierdzenna wystÄpuje w zmiennej <envar>$PATH</envar>
-i wykonaj <command>gmake -k</command>, a nastÄpnie upewnij siÄ, że używana jest wersja rdzenna
-i wykonaj <command>gmake</command>.
-</para>
-<para>
-Powyższa metoda nie jest już potrzebna w OpenBSD 3.4.
-</para>
-</sect2>
-
-<sect2 id="darwin">
-<title>Darwin</title>
-<para>
-Zobacz rozdziaÅ <link linkend="macos">Mac OS</link>.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="unix">
-<title>Komercyjny Unix</title>
-
-<para>
-<application>MPlayer</application> zostaÅ przeportowany na wiele komercyjnych
-wariantów Uniksa. Jako, że Årodowiska programistyczne przeważnie różniÄ
siÄ od tych
-znajdowanych w wolnych Uniksach, byÄ może bÄdziesz musiaÅ wprowadziÄ rÄczne
-poprawki, aby program skompilowaÅ siÄ poprawnie.
-</para>
-<sect2 id="solaris">
-<title>Solaris</title>
-
-<para>
-<application>MPlayer</application> powinien dziaÅaÄ na Solarisie 2.6 lub nowszym.
-Możesz skorzystaÄ ze sterownika dźwiÄku SUN'a podajÄ
Ä opcjÄ <option>-ao sun</option>.
-</para>
-
-<para>
-Na <emphasis role="bold">UltraSPARCach</emphasis>,
-<application>MPlayer</application> korzysta z rozszerzenia
-<emphasis role="bold">VIS</emphasis> (odpowiednik MMX), obecnie tylko w
-<emphasis><systemitem class="library">libmpeg2</systemitem></emphasis>,
-<emphasis><systemitem class="library">libavo</systemitem></emphasis> i
-<emphasis><systemitem class="library">libavcodec</systemitem></emphasis>,
-ale nie w <systemitem class="library">mp3lib</systemitem>. Możesz oglÄ
daÄ plik VOB na
-procesorze z taktowaniem 400MHz. BÄdziesz potrzebowaÅ do tego biblioteki
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html">
-<systemitem class="library">mLib</systemitem></ulink>.
-</para>
-
-<para><emphasis role="bold">Caveat:</emphasis></para>
-<itemizedlist>
-<listitem><para><emphasis role="bold">mediaLib</emphasis> jest
-<emphasis role="bold">aktualnie wyÅÄ
czone</emphasis> w domyÅlnej
-konfiguracji <application>MPlayera</application>, z powodu bÅÄdów.
-Użytkownicy SPARC-ów, którzy budujÄ
MPlayera z obsÅugÄ
mediaLib
-informowali o delikatnym, zielonymi miganiu wideo kodowane i dekodowanego
-przez libavcodec. Możesz wÅÄ
czyÄ mediaLib, jeżeli chcesz używajÄ
c:
-<screen>
-$ ./configure --enable-mlib
-</screen>
-Robisz to na wÅasne ryzyko. Użytkownicy x86 powinni
-<emphasis role="bold">nigdy</emphasis> nie używaÄ mediaLib,
-ponieważ w efekcie otrzymajÄ
kiepskÄ
wydajnoÅÄ MPlayera.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Aby zbudowaÄ pakiet, bÄdziesz potrzebowaÅ GNU <application>make</application>
-(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), rdzenne make
-Solarisa nie zadziaÅa. Typowy bÅÄ
d jaki otrzymujesz, budujÄ
c tym drugim zamiast GNU
-make, to:
-<screen>
- % /usr/ccs/bin/make
- make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
-</screen>
-</para>
-
-<para>
-W Solarisie przeznaczonym dla SPARC, potrzebujesz kompilatora GNU C/C++; nie ma
-znaczenia, czy jest on skonfigurowany z, czy bez GNU assemblera.
-</para>
-
-<para>
-Na Solarisie x86, potrzebujesz GNU assemblera i kompilatora GNU C/C++,
-skonfigurowanego do używania GNU assemblera! Kod
-<application>MPlayera</application>, na platformie x86, w znaczÄ
cy sposób korzysta
-z instrukcji MMX, SSE i 3DNOW!, które nie mogÄ
byÄ skompilowane przy pomocy
-assemblera Sun <filename>/usr/ccs/bin/as</filename>.
-</para>
-
-<para>
-Skrypt <filename>configure</filename> stara siÄ okreÅliÄ, jaki assembler
-wywoÅywany jest przez komendÄ "gcc" (jeżeli próba zakoÅczy siÄ fiaskiem,
-użyj opcji <option>--as=<replaceable>/gdziekolwiek/zainstalowaÅeÅ/gnu-as</replaceable></option>,
-żeby okreÅliÄ gdzie skrypt <filename>configure</filename> może znaleÅºÄ GNU "as" w Twoim
-systemie).
-</para>
-
-<para>RozwiÄ
zania najczÄstszych problemów:</para>
-<itemizedlist>
-<listitem><para>
-BÅÄ
d jaki wyÅwietli <filename>configure</filename> na Solarisie x86,
-używajÄ
cym GCC bez GNU assemblera:
-<screen>
- % configure
- ...
- Checking assembler (/usr/ccs/bin/as) ... , failed
- Please upgrade(downgrade) binutils to 2.10.1...
-</screen>
-(RozwiÄ
zanie: Zainstaluj i używaj gcc skonfigurowanego z opcjÄ
<option>--with-as=gas</option>)
-</para>
-
-<para>
-Typowy bÅÄ
d, jaki otrzymasz przy próbie budowy kompilatorem GNU C, który nie używa GNU as:
-<screen>
- % gmake
- ...
- gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
- Assembler: mplayer.c
- "(stdin)", line 3567 : Illegal mnemonic
- "(stdin)", line 3567 : Syntax error
- ... more "Illegal mnemonic" and "Syntax error" errors ...
-</screen>
-</para>
-</listitem>
-
-<listitem><para><application>MPlayer</application> może siÄ wysypaÄ
-podczas dekodowania i kodowania wideo używajÄ
cych win32codecs:
-<screen>
-...
-Trying to force audio codec driver family acm...
-Opening audio decoder: [acm] Win32/ACM decoders
-sysi86(SI86DSCR): Invalid argument
-Couldn't install fs segment, expect segfault
-
-MPlayer interrupted by signal 11 in module: init_audio_codec
-...
-</screen>
-Dzieje siÄ tak z powodu zmian w sysi86() w Solaris 10 i wydaniach
-pre-Solaris Nevada b31. ZostaÅo to naprawione w Solaris Nevada b32;
-jednak Sun nie przeniósŠjeszcze poprawki do Solarisa 10. Projekt
-MPlayer poinformowaÅ o tym problemie Sun i Åatka jest aktualnie
-wprowadzana do Solarisa 10. WiÄcej informacji o tym bÅÄdzie może
-zostaÄ znaleziona na stronie:
-<ulink
- url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
-</para>
-</listitem>
-
-<listitem><para>
-Ze wzglÄdu na bÅÄdy wystÄpujÄ
ce w Solarisie 8, możesz nie byÄ w stanie odtwarzaÄ
-pÅyt DVD o pojemnoÅci wiÄkszej niż 4 GB:
-</para>
-
-<itemizedlist>
-<listitem><para>
-Sterownik sd(7D) dla Solarisa 8 x86 ma bÅÄ
d ujawniajÄ
cy siÄ przy próbie dostÄpu do
-bloku dyskowego >4GB urzÄ
dzenia korzystajÄ
cego z logicznego rozmiaru bloku !=DEV_BSIZE
-(np. noÅnik CD-ROM i DVD). Ze wzglÄdu na przepeÅnienie 32bitowych liczb caÅkowitych,
-odczytywany jest adres dysku modulo 4GB
-(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
-Ten problem nie wystÄpuje na Solarisie 8 przeznaczonym dla procesorów SPARC.
-</para></listitem>
-
-<listitem><para>
-Podobny bÅÄ
d wystÄpuje w kodzie systemu plików hsfs(7FS) (znanym jako ISO9660),
-hsfs może nie obsÅugiwaÄ partycji/dysków wiÄkszych niż 4GB, wszystkie dane sÄ
-odczytywane z bloku modulo 4GB
-(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
-Problem może byÄ rozwiÄ
zany przy pomocy Åatki 109764-04 (sparc) / 109765-04 (x86).
-</para></listitem>
-</itemizedlist>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="hp-ux">
-<title>HP-UX</title>
-<para>
-Joe Page umieÅciÅ na swojej stronie domowej
-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">dokument
-HOWTO</ulink> stworzony przez Martina Gansser'a dotyczÄ
cy <application>MPlayera</application>
-na HP-UX. KorzystajÄ
c z zawartych tam intrukcji program powinien siÄ skompilowaÄ bez
-najmniejszych problemów. Poniższe informacje sÄ
zaczerpniÄte z tego opracowania.
-</para>
-
-
-<para>
-Do budowy bÄdziesz potrzebowaÅ GCC 3.4.0, GNU make 3.80, i SDL 1.2.7 lub ich
-nowszych wersji. Kompilator HP cc nie wyprodukuje dziaÅajÄ
cego programu,
-a wczeÅniejsze wersje GCC sÄ
peÅne bÅÄdów.
-Aby moÄ skorzystaÄ z OpenGL, musisz zainstalowaÄ biblioteki Mesa, wtedy
-sterowniki wyjÅcia video gl i gl2 powinny dziaÅaÄ. Ich wydajnoÅÄ może byÄ
-tragiczna, jednak zależne jest to od mocy obliczeniowej procesora. Dobrym
-zamiennikiem, raczej kiepskiego, systemu dźwiÄkowego HP-UX jest GNU esound.
-</para>
-
-<para>
-Stwórz urzÄ
dzenie DVD, przeskanuj magistralÄ SCSI komendÄ
:
-</para>
-
-<screen>
-# ioscan -fn
-
-Class I H/W Path Driver S/W State H/W Type Description
-...
-ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
-target 3 8/16/5.2 tgt CLAIMED DEVICE
-disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
- /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
-target 4 8/16/5.7 tgt CLAIMED DEVICE
-ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-</screen>
-
-<para>
-Z rezultatów dziaÅania komendy możemy odczytaÄ, że na adresie 2 SCSI znajduje
-siÄ Pioneer DVD-ROM. Instancja karty dla Åcieżki sprzÄtowej 8/16 to 1.
-</para>
-
-<para>
-Stwórz dowiÄ
zanie surowego urzÄ
dzenia do urzÄ
dzenia DVD.
-</para>
-
-<screen>
-# ln -s /dev/rdsk/c<replaceable><instancja magistrali SCSI></replaceable>t<replaceable><ID docelowego SCSI></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><urzÄ
dzenie></replaceable>
-</screen>
-
-<para>
-PrzykÅad:
-</para>
-
-<screen>
-# ln -s /dev/rdsk/c1t2d0 /dev/dvd
-</screen>
-
-<para>
-Poniżej znajdujÄ
siÄ rozwiÄ
zania kilku najczÄstszych problemów:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-Wysypanie siÄ programu przy uruchamianiu z komunikatem bÅÄdu:
-<screen>
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
-</screen>
-</para>
-
-<para>
-Oznacza to, że funkcja <systemitem>.finite().</systemitem> jest niedostÄpna
-w standardowej bibliotece math HP-UX.
-Zamiast niej dostÄpna jest <systemitem>.isfinite().</systemitem>.
-RozwiÄ
zanie: Skorzystaj z najnowszego pliku skÅadowego Mesa.
-</para>
-</listitem>
-
-<listitem>
-<para>
-Wysypanie siÄ programu przy odtwarzaniu z komunikatem:
-<screen>
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
-</screen>
-</para>
-
-<para>
-RozwiÄ
zanie: Skorzystaj z opcji extralibdir skryptu configure
-<option>--extra-ldflags="/usr/lib -lrt"</option>
-</para>
-</listitem>
-
-<listitem>
-<para>
-MPlayer powoduje bÅÄ
d naruszenia ochrony pamiÄci (segfault) z komunikatem:
-<screen>
-Pid 10166 received a SIGSEGV for stack growth failure.
-Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault
-</screen>
-</para>
-
-<para>
-Rozwiazanie:
-JÄ
dro HP-UX ma domyÅlnie zdefiniowany rozmiar stosu przeznaczonego na każdy
-proces i jest to 8MB(?).(11.0 i nowsze Åatki 10.20 pozwalajÄ
Ci zwiÄkszyÄ
-parametr <systemitem>maxssiz</systemitem> do 350MB dla 32-bitowych programów).
-Musisz rozszerzyÄ <systemitem>maxssiz</systemitem> i przekompilowaÄ jÄ
dro
-(i uruchomiÄ ponownie komputer). Możesz wykorzystaÄ do tego celu SAM. (Kiedy
-w nim bÄdziesz, sprawdź wartoÅÄ <systemitem>maxdsiz</systemitem>. OkreÅla ona
-maksymalny rozmiar danych, jakÄ
program może użyÄ. To czy domyÅlne 64MB wystarczy
-czy nie, zależy wyÅÄ
cznie od wymagaÅ Twoich aplikacji.)
-</para>
-</listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="aix">
-<title>AIX</title>
-<para>
-<application>MPlayer</application> kompiluje siÄ z powodzenie na AIX 5.1,
-5.2 i 5.3, korzystajÄ
c z GCC 3.3 lub wyższego. Budowanie
-<application>MPlayer</application> na AIX 4.3.3 i niższych nie
-byÅo sprawdzane. Zaleca siÄ, abyÅ budowal <application>MPlayera</application>
-używajÄ
c GCC 3.4 lub wyższego lub jeżeli kompilujesz na POWER5 - GCC 4.0.
-</para>
-
-<para>
-Upenij siÄ, że używasz GNU make (<filename>/opt/freeware/bin/gmake</filename>), aby
-kompilowaÄ <application>MPlayera</application>, jako że możesz napotkaÄ na problemy
-przy korzystaniu z <filename>/usr/ccs/bin/make</filename>.
-</para>
-<para>
-Wykrywanie CPU jest ciÄ
gle dopracowywane.
-Poniższe architektury zostaÅy przetestowane:
-</para>
-
-<itemizedlist>
-<listitem><para>604e</para></listitem>
-<listitem><para>POWER3</para></listitem>
-<listitem><para>POWER4</para></listitem>
-</itemizedlist>
-
-<para>
-Poniższe architektury nie byÅy testowane, ale i tak powinny dziaÅaÄ:
-</para>
-<itemizedlist>
-<listitem><para>POWER</para></listitem>
-<listitem><para>POWER2</para></listitem>
-<listitem><para>POWER5</para></listitem>
-</itemizedlist>
-
-<para>
-DźwiÄk przez Ultimedia Services nie jest obsÅugiwany, jako że ta technologia
-zostaÅa porzucona w AIX 5.1; dlatego też, jedynym wyjÅciem jest korzystanie
-ze sterowników AIX Open Sound System (OSS) tworzonych przez 4Front Technologies,
-znajdziesz je na
-<ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html
-</ulink>.
-4Front Technologies udostÄpnia swoje sterowniki OSS za darmo do niekomercyjnego
-zastosowania; jednakże, nie ma aktualnie sterowników wyjÅcia audio dla AIX 5.2 lub 5.3.
-Oznacza to, że <emphasis role="bold">AIX 5.2 i 5.3 nie potrafiÄ
aktualnie używaÄ
-wyjÅcia audio MPlayera.</emphasis>
-</para>
-
-<para>RozwiÄ
zania czÄstych problemów:</para>
-
-<itemizedlist>
-<listitem>
-<para>
-Jeżeli otrzymujesz od <filename>configure</filename> taki komunikat bÅÄdu:
-<screen>
-$ ./configure
-...
-Checking for iconv program ... no
-No working iconv program found, use
---charset=US-ASCII to continue anyway.
-Messages in the GTK-2 interface will be broken then.
-</screen>
-To dzieje siÄ tak dlatego, że AIX używa nie standardowych
-zestawów nazw znaków; dlatego też, konwersja wyjÅcia MPlayera
-do innego zestawu znaków (kodowania) nie jest aktualnie obsÅugiwana.
-RozwiÄ
zaniem jest użycie:
-<screen>
-$ ./configure --charset=noconv
-</screen>
-</para>
-</listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="qnx">
-<title>QNX</title>
-<para>
-BÄdziesz musiaÅ ÅciÄ
gnÄ
Ä bibliotekÄ SDL dla QNX i zainstalowaÄ jÄ
. Wtedy
-uruchom <application>MPlayera</application> z opcjÄ
-<option>-vo sdl:driver=photon</option>
-i <option>-ao sdl:nto</option>, powinno dziaÅaÄ szybko.
-</para>
-
-<para>
-WyjÅcie <option>-vo x11</option> bÄdzie nawet wolniejsze niż na Linuksie,
-ponieważ QNX ma tylko <emphasis>emulacjÄ</emphasis> X'ów, która jest bardzo
-wolna.
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>Tak, <application>MPlayer</application> dziaÅa na Windowsie pod
- <ulink url="http://www.cygwin.com/"><application>Cygwinem</application></ulink> i
- <ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
- Nie ma jeszcze oficjalnego interfejsu GUI, ale wersja dla wiersza poleceÅ jest już w peÅni
- funkcjonalna. PowinieneÅ sprawdziÄ listÄ
- <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>,
- aby uzyskaÄ pomoc albo otrzymaÄ najnowsze informacje.
- Oficjalne paczki z binariami dla Windowsa znajdziesz na
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">stronie pobierania</ulink>.
- Pakiety zawierajÄ
ce instalatory i proste nakÅadki GUI dostÄpne sÄ
z zewnÄtrznych
- źródeÅ, informacje o nich zebraliÅmy w sekcji poÅwiÄconej Windowsowi na
- <ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">stronie projektów</ulink>.
-</para>
-
-<para>Jeżeli chcesz uniknÄ
Ä korzystania z wiersza poleceÅ, prostym sposobem
- na jego ominiÄcie jest umieszczenie skrótu na pulpicie, który bÄdzie
- zawieraÅ podobny wpis w czÄÅci odpowiedzialnej za wykonanie
- komendy:
- <screen><replaceable>c:\Åcieżka\do\</replaceable>mplayer.exe %1</screen>
- Spowoduje to, że <application>MPlayer</application> bÄdzie odtwarzaÅ
- film, który zostanie przeciÄ
gniÄty na jego skrót. Dodaj opcjÄ
- <option>-fs</option>, aby korzystaÄ z trybu peÅnoekranowego.
-</para>
-
-<para>Najlepsze wyniki sÄ
osiÄ
gane ze sterownikami wyjÅciowymi video DirectX
- (<option>-vo directx</option>). Możesz skorzystaÄ również z OpenGL lub SDL, jednak
- wydajnoÅÄ OpenGL w znacznym stopniu zależy od systemu, a SDL może powodowaÄ powstanie
- zakÅóceÅ w obrazie albo wywoÅaÄ bÅÄ
d, i zakoÅczyÄ dziaÅanie programu.
- Jeżeli wystÄpujÄ
zakÅócenia obrazu, spróbuj
- wyÅÄ
czyÄ sprzÄtowÄ
akceleracjÄ przez opcjÄ <option>-vo directx:noaccel</option>. ÅciÄ
gnij
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">pliki
- nagÅówkowe DirectX 7</ulink>, żeby skompilowaÄ sterownik do wyjÅcia video
- DirectX. Co wiÄcej, musisz mieÄ zainstalowany DirectX 7 lub nowszy,
- aby to wyjÅcie zadziaÅaÅo.</para>
-
-<para><link linkend="vidix">VIDIX</link> dziaÅa teraz również pod Windowsem jako
- <option>-vo winvidix</option>, chociaż jego obsÅuga jest eksperymentalna i wymaga
- trochÄ rÄcznego przygotowania. Pobierz
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink>
- lub
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys
- (z obsÅugÄ
MTRR)</ulink>
- i skopiuj go do
- <filename class="directory">libdha/dhahelperwin</filename> w drzewie źródÅowym
- <application>MPlayera</application>. Uruchom konsolÄ, nastÄpnie przejdź do tego katalogu i wykonaj
-
- <screen>gcc -o dhasetup.exe dhasetup.c</screen>
-
- i
-
- <screen>dhasetup.exe install</screen>
-
- jako Administrator. BÄdziesz musiaÅ ponownie uruchomiÄ komputer. Teraz, skopiuj wszystkie pliki
- z rozszerzeniem <systemitem class="library">.so</systemitem> z katalogu
- <filename class="directory">vidix/drivers</filename> do
- <filename class="directory">mplayer/vidix</filename>
- wzglÄdem poÅożnia pliku <filename>mplayer.exe</filename>.</para>
-
-<para>Å»eby osiÄ
gnÄ
Ä najlepsze wyniki <application>MPlayer</application> powinien
- korzystaÄ z przestrzeni kolorów, którÄ
Twoja karta wspomaga sprzÄtowo. Niestety
- wiele sterowników graficznych Windowsa źle informuje o obsÅugiwanych przez kartÄ
- przestrzeniach. Aby sprawdziÄ które sÄ
źle obsÅugiwane, wykonaj poniższÄ
komendÄ:
-
- <screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>przestrzeÅ</replaceable> <replaceable>film</replaceable></screen>
-
- gdzie <replaceable>przestrzeÅ</replaceable> może byÄ jakÄ
kolwiek
- wartoÅciÄ
spoÅród tych uzyskanych przez opcjÄ <option>-vf format=fmt=help</option>.
- JeÅli któraÅ z nich dziaÅa szczególnie źle, opcja
- <option>-vf noformat=<replaceable>przestrzeÅ</replaceable></option>
- zapobiegnie jej używaniu. Możesz to na staÅe dodaÄ do Twojego pliku konfiguracyjnego.</para>
-
-<para>DostÄpne sÄ
specjalne zbiory z kodekami przeznaczone dla systemu Windows, znajdziesz je na
- <ulink url="http://mplayerhq.hu/design7/codecs.html">stronie kodeków</ulink>.
- PozwolÄ
Ci one na odtwarzanie formatów, które nie sÄ
jeszcze bezpoÅrednio obsÅugiwane w
- <application>MPlayerze</application>. UmieÅÄ je, gdzieÅ w swojej Åcieżce (w katalogu podanym w
- zmiennej PATH - przyp. tÅumacza) lub przekaż opcjÄ
- <option>--codecsdir=<replaceable>c:/Åcieżka/do/Twoich/kodeków</replaceable></option>
- (lub, tylko w Årodowkisku Cygwin,
- <option>--codecsdir=<replaceable>/Åcieżka/do/Twoich/kodeków</replaceable></option>)
- do skryptu <filename>configure</filename>.
- MieliÅmy doniesienia, że biblioteki Real, muszÄ
byÄ zapisywalne dla użytkownika, który
- uruchamia <application>MPlayera</application>, ale tylko na niektórych systemach (NT4).
- Spróbuj nadaÄ im atrybut zapisywalnoÅci.</para>
-
-<para>Możesz odtwarzaÄ VCD, odtwarzajÄ
c pliki <filename>.DAT</filename> lub <filename>.MPG</filename>,
- które Windows pokazuje na VCD. To dziaÅa mniej wiÄcej tak (dopasuj literÄ dysku do Twojego
- CD-ROMu):</para>
-
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-
-<para>DVD również dziaÅa, podaj literÄ Twojego DVD-ROMu przez
- opcjÄ <option>-dvd-device</option>:</para>
-
-<screen>mplayer dvd://<replaceable><tytuÅ></replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
-
-<para>Konsola <application>Cygwin</application>/<application>MinGW</application>
- jest raczej wolna. ZgÅoszono, że przekierowywanie wyjÅcia albo używanie
- opcji <option>-quiet</option> poprawia wydajnoÅÄ na
- niektórych systemach. BezpoÅrednie renderowanie (<option>-dr</option>) również
- może pomóc. Jeżeli odtwarzanie jest nierówne, spróbuj użyÄ
- <option>-autosync 100</option>. Jeżeli którakolwiek z tych opcji Ci pomogÅa,
- może bÄdziesz chciaÅ umieÅciÄ jÄ
w swoim pliku konfiguracyjnym.</para>
-
-<note>
-
-<para>Na Windowsie automatyczne wykrywanie typu procesora
- wyÅÄ
cza rozszerzenie SSE z powodu okazjonalnych i ciÄżkich
- do wyÅledzenia bÅÄdów powodujÄ
cych zakoÅczenie aplikacji. Jeżeli
- nadal chesz mieÄ obsÅugÄ SSE pod Windowsem, bÄdziesz musiaÅ
- skompilowaÄ program bez wykrywania typu CPU w trakcie dziaÅania.
-</para>
-
-<para>Jeżeli masz Pentium 4 i program wysypuje Ci siÄ podczas używania
- kodeków RealPlayer'a, prawdopodobnie bÄdziesz musiaÅ wyÅÄ
czyÄ
- obsÅugÄ hyperthreading'u.
-</para>
-</note>
-
-
-
-<sect2 id="cygwin">
-<title><application>Cygwin</application></title>
-
-<para>Aby skompilowaÄ <application>MPlayera</application> wymagana jest wersja
- <application>Cygwina</application> 1.5.0 lub późniejsza.</para>
-
-<para>Pliki nagÅówkowe DirectX muszÄ
byÄ rozpakowane do
- <filename class="directory">/usr/include/</filename> lub
- <filename class="directory">/usr/local/include/</filename>.</para>
-
-<para>Instrukcje i pliki potrzebne do kompilacji SDLa dla <application>Cygwin</application>
- sÄ
dostÄpne na
- <ulink url="http://www.libsdl.org/extras/win32/cygwin/">stronie libsdl</ulink>.</para>
-
-</sect2>
-
-<sect2 id="mingw">
-<title><application>MinGW</application></title>
-
-<para>Zainstalowanie <application>MinGW</application>, który umożliwiÅby
- kompilacjÄ <application>MPlayera</application> byÅo zawiÅe,
- ale teraz skÅada siÄ tylko z trzech prostych kroków i niedÅugo powinno
- dziaÅaÄ "prosto z pudeÅka". Zainstaluj <application>MinGW</application>
- 3.0.0 lub nowszy. Zainstaluj MSYS 1.0.9 lub nowszy i wskaż systemowi poinstalacyjnemu
- MSYSa, że <application>MinGW</application> jest zainstalowane.</para>
-
-<para>Rozpakuj pliki nagÅówkowe DirectX do <filename class="directory">/mingw/include/</filename>.</para>
-
-<para>Do obsÅugi skompresowanych nagÅówków MOV wymagana jest biblioteka
- <ulink url="http://www.gzip.org/zlib/">zlib</ulink>, która nie jest
- domyÅlnie dostÄpna w <application>MinGW</application>.
- Skonfiguruj jÄ
z opcjÄ
<option>--prefix=/mingw</option> i zainstaluj
- przed kompilacjÄ
<application>MPlayera</application>.</para>
-
-<para>PeÅnÄ
instrukcjÄ jak zbudowaÄ <application>MPlayera</application>
- i wszystkie potrzebne biblioteki znajdziesz w
- <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>.</para>
-
-</sect2>
-
-</sect1>
-<sect1 id="macos">
-<title>Mac OS</title>
-
-<para>
-"Surowe" źródÅa <application>MPlayera</application> obsÅugujÄ
-tylko Mac OS X w wersjach 10.2 i wyższych. Możesz spróbowaÄ umożliwiÄ
-obsÅugÄ starszych wersji Mac OS oraz przysÅaÄ nam Åaty!
-<application>MPlayer</application> nie dziaÅa na Mac OS w wersjach niższych niż
-10, jednak powinien skompilowaÄ siÄ bez problemu na systemie Mac OS X 10.2 i
-wyższym. Zalecanym kompilatorem jest GCC 3.x w wersji Apple.
-Możesz otrzymaÄ podstawowe Årodowisko do kompilacji, instalujÄ
c
-<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink> od Apple.
-Jeżeli masz Mac OS X 10.3.9 lub późniejszy i QuickTime 7, możesz
-skorzystaÄ ze sterownika wyjÅcia video <option>corevideo</option>.
-</para>
-
-<para>
-Niestety, to podstawowe Årodowisko ni epozwoli ci na skorzystanie ze
-wszystkich fajnych możliwoÅci <application>MPlayera</application>.
-PrzykÅadowo, żeby uzyskaÄ wkompilowanÄ
obsÅugÄ OSD, bÄdziesz
-potrzebowaÅ bibliotek <systemitem class="library">fontconfig</systemitem>
-i <systemitem class="library">freetype</systemitem>
-zainstalowanych na swojej maszynie.
-W przeciwieÅstwie do innych Uniksów, takich jak wiÄkszoÅÄ odmian
-Linuksa i BSD, OS X nie ma systemu pakietów dostarczanego razem
-z systemem.
-</para>
-
-<para>
-Można wybieraÄ spoÅród co najmniej dwóch systemów pakietów:
-<ulink url="http://fink.sourceforge.net/">Fink</ulink> i
-<ulink url="http://darwinports.opendarwin.org/">DarwinPorts</ulink>.\
-Oba dostarczajÄ
takie same usÅugi (np. dużo pakietów do wyboru,
-rozwiÄ
zywanie zależnoÅci, możliwoÅÄ Åatwego dodania/aktualizacji/usuniÄcia
-pakietów itp.).
-Fink oferuje zarówno binarne pakiety, jak i możliwoÅÄ zbudowania wszystkiego
-ze źródeÅ. Natomiast DarwinPorts pozwala tylko na budowanie ze źródeÅ.
-Autorzy tego przewodnika wybrali DarwinPorts z powodu tej prostej przyczyny,
-że jego podstawowa wersja byÅa lżejsza.
-Podane przykÅady bÄdÄ
oparte na DarwinPorts.
-</para>
-
-<para>
-PrzykÅadowo, żeby skomilowaÄ <application>MPlayera</application> z obsÅugÄ
-OSD:
-<screen>sudo port install pkgconfig</screen>
-Zainstaluje to <application>pkg-config</application>, który jest systemem
-do zarzÄ
dzania flagami kompilacji/dowiÄ
zaÅ bibliotek.
-<application>MPlayerowy</application> skrypt
-<systemitem>configure</systemitem>używa go do prawidÅowego
-wykrywania bibliotek.
-NastÄpnie możesz zainstalowaÄ <application>fontconfig</application>
-w podobny sposób:
-<screen>sudo port install fontconfig</screen>
-NastÄpnie możesz uruchomiÄ <application>MPlayerowy</application> skrypt
-<systemitem>configure</systemitem> (zapisz zmienne systemowe
-<systemitem>PKG_CONFIG_PATH</systemitem>
-i <systemitem>PATH</systemitem>, żeby
-<systemitem>configure</systemitem> znalazÅ biblioteki zainstalowane
-przez DarwinPorts):
-<screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
-</para>
-
-<sect2 id="osx_gui">
-<title>MPlayer OS X GUI</title>
-<para>
-Możesz pobraÄ natywne GUI dla <application>MPlayera</application> razem
-z prekompilowanymi binariami <application>MPlayera</application> dla
-Mac OS X ze strony projektu
-<ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>, ale uwaga:
-projekt nie jest już aktywny.
-</para>
-<para>
-Na szczÄÅcie, <application>MPlayerOSX</application> zostaÅ przejÄty
-przez czÅonka zaÅogi <application>MPlayera</application>.
-Wersje testowe sÄ
dostÄpne na stronie z
-<ulink url="http://mplayerhq.hu/dload.html">materiaÅami do
-pobrania</ulink>, a oficjalne wydanie powinno pojawiÄ siÄ już
-niedÅugo.
-</para>
-<para>
-Aby zbudowaÄ <application>MPlayerOSX</application> bezpoÅrednio
-ze źródeÅ, potrzebujesz moduÅu <systemitem>mplayerosx</systemitem>,
-<systemitem>main</systemitem> i kopii moduÅu CVS
-<systemitem>main</systemitem> o nazwie
-<systemitem>main_noaltivec</systemitem>.
-<systemitem>mplayerosx</systemitem> to graficzna nakÅadka,
-<systemitem>main</systemitem> to MPlayer, a
-<systemitem>main_noaltivec</systemitem> to MPlayer zbudowany bez obsÅugi
-AltiVec.
-
-</para>
-<para>
-Aby pobraÄ moduÅ z repozytorium SVN wykonaj polecenia:
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-</screen>
-</para>
-<para>
-W celu zbudowania <application>MPlayerOSX</application> bÄdziesz musiaÅ
-utowrzyÄ podobnÄ
strukturÄ katalogów:
-<screen>
-katalog_źródÅowy_MPlayera
- |
- |--->main (źródÅa MPlayera z Subversion)
- |
- |--->main_noaltivec (źródÅa MPlayera z Subversion skonfigurowane z opcjÄ
--disable-altivec)
- |
- |--->mplayerosx (źródÅa MPlayer OS X z Subversion)
-</screen>
-
-Najpierw musisz zbudowaÄ main i main_noaltivec.
-</para>
-
-<para>
-NastÄpnie ustaw globalnÄ
zmiennÄ
:
-
-<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
-</para>
-
-<para>
-Potem skonfiguruj:
-</para>
-<para>
-Jeżeli konfigurujesz dla maszyny G4 lub lepszej z obsÅugÄ
AltiVec,
-postÄpuj jak poniżej:
-<screen>
-./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
-</screen>
-
-Jeżeli konfigurujesz dla maszyny z procesorem G3 bez AltiVec,
-postÄpuj jak ponieżej:
-<screen>
-./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
---disable-altivec
-</screen>
-ByÄ może bÄdziesz musiaÅ wyedytowaÄ plik <filename>config.mak</filename>
-i zmieniÄ wartoÅci <systemitem>-mcpu</systemitem>
-<systemitem>-mtune</systemitem> z <systemitem>-74XX</systemitem> na
-<systemitem>-G3</systemitem>.
-</para>
-<para>
-NastÄpnie wykonaj
-<screen>
-make
-</screen>
-przejdź do katalogu mplayerosx i wpisz
-
-<screen>
-make dist
-</screen>
-Zostanie utworzony skompresowany obraz <systemitem>.dmg</systemitem>
-zawierajÄ
cy gotowy do uruchomienia program.
-</para>
-<para>
-Możes również skorzystaÄ z projektu <application>Xcode</application> 2.1;
-stary projekt dla <application>Xcode</application> 1.x już nie dziaÅa.
-
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/pl/skin.xml b/DOCS/xml/pl/skin.xml
deleted file mode 100644
index b8aab64..0000000
--- a/DOCS/xml/pl/skin.xml
+++ /dev/null
@@ -1,1173 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r19081 -->
-<!-- Opiekun: Flex -->
-<appendix id="skin">
-<title>Format skórki <application>MPlayera</application></title>
-
-<sect1 id="skin-overview">
-<title>WstÄp</title>
-<para>
-W zasadzie nie ma to żadnego zwiÄ
zku z formatem skórki, ale powinieneÅ
-wiedzieÄ, że <application>MPlayer</application> <emphasis role="bold">nie</emphasis>
-ma wbudowanej skórki, w zwiÄ
zku z tym <emphasis role="bold"> co najmniej
-jedna skórka musi byÄ zainstalowana, abyÅ miaÅ możliwoÅÄ korzystania z GUI.</emphasis>
-</para>
-
-<sect2 id="skin-overview-directories">
-<title>Katalogi</title>
-<para>
-Skórki sÄ
szukane w nastÄpujÄ
cych katalogach (w kolejnoÅci):
-<orderedlist>
-<listitem><para>
-<filename class="directory">$(DATADIR)/skins/</filename>
-</para></listitem>
-<listitem><para>
-<filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
-</para></listitem>
-<listitem><para>
-<filename class="directory">~/.mplayer/skins/</filename>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Zauważ, że pierwsza Åcieżka może siÄ różniÄ, w zależnoÅci od sposobu w jaki
-<application>MPlayer</application> zostaÅ skonfigurowany
-(zobacz argumenty <option>--prefix</option> oraz <option>--datadir</option>
-w skrypcie <command>configure</command>).
-</para>
-
-<para>
-Każda skórka jest instalowana w swoim wÅasnym katalogu, w jednej z wyżej
-wymienionych lokacji, na przykÅad:
-<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
-</para>
-</sect2>
-
-<sect2 id="skin-overview-formats">
-<title>Formaty obrazków</title>
-<para>Obrazki muszÄ
byÄ zapisane w formacie PNG (paleta truecolor - 24 lub 32 bpp).</para>
-<para>
-W gÅównym oknie oraz na panelu odtwarzania (zobacz niżej) możesz użyÄ
-obrazków z 'przezroczystoÅciÄ
': obszary wypeÅnione kolorem #FF00FF (magenta) sÄ
-w peÅni przezroczyste dla <application>MPlayera</application>. Oznacza to, że
-możesz mieÄ okna o różnych ksztaÅtach jeÅli Twój X Server ma rozszerzenie
-XShape.
-</para>
-</sect2>
-
-<sect2 id="skin-overview-components">
-<title>SkÅadniki skórki</title>
-<para>
-Skórki sÄ
caÅkowicie konfigurowalne (w odróżnieniu od skórek np.
-<application>Winampa</application>/<application>XMMS</application>),
-a wiÄc zależy to wyÅÄ
cznie od Ciebie, czy stworzysz coÅ wspaniaÅego.
-</para>
-
-<para>
-W chwili obecnej mamy cztery okna, które można ozdobiÄ:
-<link linkend="skin-file-main">okno gÅówne (main window)</link>,
-<link linkend="skin-file-subwindow">okno ekranu (subwindow)</link>,
-<link linkend="skin-file-main">panel odtwarzania (playbar)</link>,
-<link linkend="skin-file-menu">menu skórki (skin menu)</link> (które może byÄ
-aktywowane prawym przyciskiem myszy).
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Okno gÅówne</emphasis> i/lub
- <emphasis role="bold">panel odtwarzania</emphasis> to miejsca, gdzie możesz
- sterowaÄ <application>MPlayerem</application>.
- TÅem tego okna jest obrazek. Różne elementy mogÄ
(i muszÄ
) byÄ umieszczone
- w tym oknie: <emphasis>przyciski</emphasis>, <emphasis>potencjometry</emphasis>
- (suwaki) i <emphasis>etykiety</emphasis>. Dla każdego elementu musisz okreÅliÄ
- ich pozycjÄ oraz rozmiar.
-</para><para>
- <emphasis role="bold">Przycisk</emphasis> ma trzy stany (wciÅniÄty,
- zwolniony, nieaktywny), zatem jego obrazki muszÄ
byÄ podzielone na trzy
- czÄÅci w pionie. Zobacz sekcjÄ <link linkend="skin-button">button</link>, by
- dowiedzieÄ siÄ wiÄcej.
-</para><para>
- <emphasis role="bold">Potencjometr (suwak)</emphasis> (wykorzystywany gÅównie
- jako pasek przewijania i kontrolka gÅoÅnoÅci/balansu) może skÅadaÄ siÄ z
- każdej liczby stanów poprzez podzielenie jego obrazka na wiele czÄÅci, z
- których jedna jest pod drugÄ
. Zobacz
- <link linkend="skin-hpotmeter">hpotmeter</link> oraz
- <link linkend="skin-potmeter">potmeter</link>, by dowiedzieÄ siÄ wiÄcej.
-</para><para>
- <emphasis role="bold">Etykiety</emphasis> sÄ
nieco specyficzne: Znaki
- potrzebne do ich narysowania sÄ
pobierane z pliku graficznego, a znaki
- umieszczone w pliku graficznym sÄ
opisane przez
- <link linkend="skin-fonts">plik opisu czcionek</link>. Jest to plik, który za
- pomocÄ
czystego tekstu okreÅla wspóÅrzÄdne x, y oraz wielkoÅÄ każdego znaku
- umieszczonego na obrazku (plik graficzny i jego plik opisu tworzÄ
- <emphasis>razem</emphasis> czcionkÄ).
- Zobacz <link linkend="skin-dlabel">dlabel</link>
- oraz <link linkend="skin-slabel">slabel</link>, by dowiedzieÄ siÄ wiÄcej.
-</para>
-<note><para>Wszystkie obrazki mogÄ
byÄ caÅkowicie przezroczyste - tak, jak to
-opisano w sekcji <link linkend="skin-overview-formats">formaty plików
-graficznych</link>. Jeżeli X Server nie obsÅuguje rozszerzenia XShape, to
-elementy oznaczone jako przezroczyste bÄdÄ
czarne. JeÅli chciaÅbyÅ wykorzystaÄ
-takÄ
możliwoÅÄ, szerokoÅÄ obrazka tÅa gÅównego okna musi byÄ podzielna przez 8.
-</para></note>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">Okno ekranu</emphasis> to miejsce, gdzie odtwarzany jest
- film. Może ono wyÅwietlaÄ okreÅlony obrazek, jeÅli żaden film nie jest uruchomiony
- (to doÅÄ nudne mieÄ puste okno :-)) <emphasis role="bold">Uwaga:</emphasis>
- przezroczystoÅÄ <emphasis role="bold">nie jest</emphasis> tutaj dostÄpna.
-</para></listitem>
-
-<listitem><para>
- <emphasis role="bold">Menu skórki</emphasis> to po prostu jeden ze sposobów na
- kontrolowanie <application>MPlayera</application> poprzez wpisy w menu. Dwa
- obrazki sÄ
do tego potrzebne: pierwszy z nich jest obrazkiem podstawowym,
- który pokazuje zwykÅy stan menu, drugi zaÅ sÅuży do wyÅwietlenia zaznaczonych
- obszarów. Gdy uaktywnisz menu, zostanie pokazany pierwszy obrazek. JeÅli
- przesuniesz mysz nad któryŠz jego wpisów, wówczas zaznaczony element jest
- kopiowany z drugiego obrazka w miejsce, na które wskazuje kursor myszy (drugi
- obrazek nigdy nie jest wyÅwietlany w caÅoÅci).
-</para><para>
- Wpis w menu jest okreÅlony przez jego pozycjÄ oraz rozmiar na obrazku (zobacz
- sekcjÄ <link linkend="skin-file-menu">menu skórki</link> by dowiedzieÄ siÄ
- wiÄcej).
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
- Jedna ważna sprawa, która nie zostaÅa jeszcze powiedziana:
- <application>MPlayer</application> musi wiedzieÄ co zrobiÄ w momencie
- klikniÄcia na przyciski, potencjometry i wpisy w menu, aby zadziaÅaÅy. ZostaÅo
- to zrobione za pomocÄ
<link linkend="skin-gui">sygnaÅów</link> (zdarzeÅ). Dla
- tych elementów musisz zdefiniowaÄ sygnaÅy, które majÄ
byÄ wysÅane podczas
- klikniÄcia na nie.
-</para>
-</sect2>
-
-<sect2 id="skin-files">
-<title>Pliki</title>
-<para>
-Potrzebujesz nastÄpujÄ
cych plików do stworzenia skórki:
-<itemizedlist>
-<listitem><para>
- Plik konfiguracyjny o nazwie <link linkend="skin-file">skin</link> mówi
- <application>MPlayerowi</application> jak poÅÄ
czyÄ różne czÄÅci skórki
- w jednÄ
caÅoÅÄ i co zrobiÄ, gdy kliknie siÄ gdzieÅ na obszarze okna.
-</para></listitem>
-<listitem><para>
- Plik graficzny tÅa w oknie gÅównym.
-</para></listitem>
-<listitem><para>
- Obrazki dla elementów w gÅównym oknie (zawierajÄ
ce jeden lub
- wiÄcej plików opisu czcionek potrzebnych do rysowania etykiet).
-</para></listitem>
-<listitem><para>
- Obrazek wyÅwietlany w oknie ekranu (opcjonalnie)
-</para></listitem>
-<listitem><para>
- Dwa obrazki dla menu skórki (potrzebne sÄ
tylko wtedy, gdy chcesz stworzyÄ
- takie menu).
-</para></listitem>
-</itemizedlist>
- Za wyjÄ
tkiem pliku konfiguracyjnego skórki, możesz nazwaÄ wszystkie pliki
- tak, jak tego chcesz (ale weź pod uwagÄ, że pliki opisu czcionek muszÄ
mieÄ
- rozszerzenie <filename>.fnt</filename> ).
-</para>
-</sect2>
-</sect1>
-
-<sect1 id="skin-file">
-<title>Plik skin</title>
-<para>
-Jak zostaÅo powiedziane wczeÅniej, plik ten jest plikiem konfigurujÄ
cym skórkÄ.
-ObsÅuguje różne rodzaje wierszy; komentarze zaczynajÄ
wiersz znakiem
-'<literal>;</literal>' (tylko spacje i znaki tabulacji sÄ
dopuszczone przed
-'<literal>;</literal>').
-</para>
-
-<para>
-Plik podzielony jest na sekcje. Każda sekcja opisuje skórkÄ dla każdej
-aplikacji i ma nastÄpujÄ
cÄ
formÄ:
-
-<programlisting>
-section = <replaceable>nazwa sekcji</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-Obecnie jest tylko jedna aplikacja, a wiÄc potrzebujesz tylko jednÄ
sekcjÄ
-'section' - jej nazwa to <emphasis role="bold">movieplayer</emphasis>.
-</para>
-
-<para>
-WewnÄ
trz tej sekcji każde z okien jest opisane przez blok nastÄpujÄ
cej postaci:
-<programlisting>
-window = <replaceable>nazwa okna</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-gdzie <replaceable>nazwa okna</replaceable> może byÄ jednym z poniższych ÅaÅcuchów:
-<itemizedlist>
-<listitem><para><emphasis role="bold">main</emphasis> - dla okna gÅównego</para></listitem>
-<listitem><para><emphasis role="bold">sub</emphasis> - dla okna ekranu</para></listitem>
-<listitem><para><emphasis role="bold">menu</emphasis> - dla menu skórki</para></listitem>
-<listitem><para><emphasis role="bold">playbar</emphasis> - dla panelu odtwarzania</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-(Bloki sub i menu sÄ
opcjonalne - nie musisz tworzyÄ menu czy elementów skórki
-dla okna ekranu)
-</para>
-
-<para>
-WewnÄ
trz bloku 'window' możesz definiowaÄ każdy element okna, wpisujÄ
c linijkÄ
-tej postaci: <programlisting>item = parametr</programlisting>
-Gdzie <literal>item</literal> jest ÅaÅcuchem, kóry identyfikuje typ elementu
-GUI, <literal>parametr</literal> jest wartoÅciÄ
numerycznÄ
lub tekstowÄ
(lub
-listÄ
takich wartoÅci oddzielonych od siebie znakiem przecinka).
-</para>
-
-<para>
-ZÅożenie powyższych elementów razem tworzy plik, który wyglÄ
da mniej wiÄcej tak:
-<programlisting>
-section = movieplayer
- window = main
- ; ... elementy okna gÅównego ...
- end
-
- window = sub
- ; ... elementy okna ekranu ...
- end
-
- window = menu
- ; ... elementy menu skórki ...
- end
-
- window = playbar
- ; ... elementy panelu odtwarzania ...
- end
-end
-</programlisting>
-</para>
-
-<para>
-Nazwa pliku graficznego musi zostaÄ podana bez żadnych nazw katalogów - obrazki
-sÄ
szukane w katalogu <filename class="directory">skins</filename>.
-Możesz (ale nie musisz) okreÅliÄ rozszerzenia tego pliku. JeÅli plik taki nie
-istnieje, <application>MPlayer</application>
-spróbuje wczytaÄ plik <filename><nazwa pliku>.<rozszerzenie></filename>,
-gdzie <literal>png</literal> oraz <literal>PNG</literal> sÄ
brane jako
-<filename><rozszerzenie></filename> (w tej wÅaÅnie kolejnoÅci). Pierwszy
-pasujÄ
cy plik bÄdzie użyty.
-</para>
-
-<para>
-Na koniec kilka sÅów na temat pozycjonowania. Okno gÅówne oraz okno ekranu możesz
-umieÅciÄ w różnych narożnikach ekranu poprzez ustawienie wspóÅrzÄdnych
-<literal>X</literal> i <literal>Y</literal>. <literal>0</literal> to góra lub
-lewa strona, <literal>-1</literal> to Årodek, <literal>-2</literal> to strona
-prawa, lub dóÅ, tak jak przedstawiono na poniższej ilustracji:
-</para>
-<informalfigure>
-<screen>
-(0, 0)----(-1, 0)----(-2, 0)
- | | |
- | | |
-(0,-1)----(-1,-1)----(-2,-1)
- | | |
- | | |
-(0,-2)----(-1,-2)----(-2,-2)
-</screen>
-</informalfigure>
-
-<para>
-Oto przykÅad wyjaÅniajÄ
cy to lepiej. PrzypuÅÄmy, że masz obrazek nazwany
-<filename>main.png</filename>, który zostaÅ użyty dla okna gÅównego:
-<programlisting>base = main, -1, -1</programlisting>
-<application>MPlayer</application> spróbuje wczytaÄ pliki
-<filename>main</filename>, <filename>main.png</filename>,
-<filename>main.PNG</filename>.
-</para>
-
-
-<sect2 id="skin-file-main">
-<title>Okno gÅówne i panel odtwarzania</title>
-<para>
-Poniżej znajduje siÄ lista wpisów, które mogÄ
byÄ użyte w blokach
-'<literal>window = main</literal>'...'<literal>end</literal>'
-oraz '<literal>window = playbar</literal>' ... '<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-main-base"/>base = obrazek, X, Y
- </literal></term>
- <listitem><para>
- Możesz okreÅliÄ obrazek tÅa, który bÄdzie używany w oknie gÅównym.
- Okno bÄdzie widoczne na ekranie na wspóÅrzÄdnych <literal>X, Y</literal>. Okno
- bÄdzie wielkoÅci tego obrazka.
- </para>
- <note><para>WspóÅrzÄdne te nie dziaÅajÄ
na razie dla okna ekranu.</para></note>
- <warning><para>Obszary przezroczystoÅci obrazka (kolor #FF00FF) bÄdÄ
- widoczne jako czarne pod X serwerami niemajÄ
cymi rozszerzenia
- XShape. SzerokoÅÄ obrazka musi byÄ podzielna przez 8.</para></warning>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-button"/>button = obrazek, X, Y, szerokoÅÄ, wysokoÅÄ, sygnaÅ
- </literal></term>
- <listitem><para>
-UmieÅci przycisk o rozmiarze <literal>szerokoÅÄ</literal> *
-<literal>wysokoÅÄ</literal> na pozycji <literal>X</literal>,
-<literal>Y</literal>. OkreÅlony <literal>sygnaÅ</literal> jest generowany
-podczas klikniÄcia na przycisk. Obrazek ten opisany przez
-<literal>obrazek</literal> musi skÅadaÄ siÄ z trzech czÄÅci jedna pod drugÄ
-(stosownie do możliwych stanów przycisku), w ten oto sposób:
-</para>
-<informalfigure>
-<screen>
-+---------------+
-| wciÅniÄty |
-+---------------+
-| zwolniony |
-+---------------+
-| nieaktywny |
-+---------------+
-</screen>
-</informalfigure>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-decoration"/>decoration = enable|disable (wÅÄ
czona|wyÅÄ
czona)
- </literal></term>
- <listitem><para>
-WÅÄ
cza lub wyÅÄ
cza dekoracjÄ menedżera okna w oknie gÅównym.
-DomyÅlnie jest <emphasis role="bold">wyÅÄ
czona</emphasis>.
- </para>
- <note><para>Nie dziaÅa to w oknie ekranu, gdyż nie ma takiej potrzeby.</para></note>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-hpotmeter"/>hpotmeter = przycisk, szer_przycisku, wys_przycisku, faza, liczba_faz, domyÅlny, X, Y, szerokoÅÄ, wysokoÅÄ, sygnaÅ
- </literal></term>
- <listitem><para>
-
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-vpotmeter"/>vpotmeter = przycisk, szer_przycisku, wys_przycisku, fazy, liczba_faz, domyÅlny, X, Y, szerokoÅÄ, wysokoÅÄ, sygnaÅ
- </literal></term>
- <listitem><para>
-Umieszcza poziomo (hpotmeter) lub pionowo (vpotmeter) suwak o rozmiarze
-<literal>szerokoÅÄ</literal> * <literal>wysokoÅÄ</literal> i pozycji
-<literal>X,Y</literal>. Obrazek może byÄ podzielony na różne czÄÅci dla różnych
-faz suwaka (np. możesz mieÄ suwak gÅoÅnoÅci, który w zależnoÅci od poÅożenia
-zmienia kolor z zielonego (minimum) na czerwony (maksimum)).
-<literal>hpotmeter</literal> może byÄ przyciskiem umieszczonym poziomo.
-Jego parametry to:
- </para>
- <itemizedlist>
- <listitem><para><literal>przycisk</literal> - obrazek użyty do przycisku
- (musi posiadaÄ trzy czÄÅci jedna pod drugÄ
tak, jak w przypadku
- <link linkend="skin-button">przycisku</link>)
- </para></listitem>
- <listitem><para><literal>szer_przycisku</literal>,<literal>wys_przycisku</literal> - wielkoÅÄ przycisku
- </para></listitem>
- <listitem><para><literal>fazy</literal> - obrazek używany do okreÅlenie faz
- dla hpotmeter. WartoÅÄ specjalna <literal>NULL</literal> może byÄ użyta,
- jeÅli nie chcesz żadnego obrazka. Obrazek musi byÄ podzielony w pionie
- na fragmenty <literal>poszczególnych faz</literal> tak, jak poniżej:
- </para>
-<informalfigure>
-<screen>
-+------------+
-| faza #1 |
-+------------+
-| faza #2 |
-+------------+
- ...
-+------------+
-| faza #n |
-+------------+
-</screen>
-
-</informalfigure>
- </listitem>
- <listitem><para><literal>liczba_faz</literal> - liczba faz znajdujÄ
ca siÄ na obrazku z <literal>fazami</literal>
- </para></listitem>
- <listitem><para><literal>domyÅlny</literal> - domyÅlne ustawienie dla hpotmeter
- (zakres od <literal>0</literal> do <literal>100</literal>)
- </para></listitem>
- <listitem><para><literal>X</literal>,<literal>Y</literal> - pozycja dla hpotmeter
- </para></listitem>
- <listitem><para><literal>szerokoÅÄ</literal>,<literal>wysokoÅÄ</literal> - szerokoÅÄ i wysokoÅÄ dla
- <literal>hpotmeter</literal>
- </para></listitem>
- <listitem><para><literal>sygnaÅ</literal> - sygnaÅ generowany podczas zmiany wartoÅci <literal>hpotmeter</literal>
- </para></listitem>
- </itemizedlist>
-
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-potmeter"/>potmeter = fazy, liczba_faz, domyÅlny, X, Y, szerokoÅÄ, wysokoÅÄ, sygnaÅ
- </literal></term>
- <listitem><para>
-<literal>hpotmeter</literal> bez przycisku. (domyÅlam siÄ, że chodzi o to, aby
-nim krÄciÄ, ale reaguje on tylko na poziome przesuwanie). Opis parametrów znajdziesz w czÄÅci o
-<link linkend="skin-hpotmeter">hpotmeter</link>.
-Parametr <literal>fazy</literal> może mieÄ wartoÅÄ <literal>NULL</literal>, ale
-jest to zupeÅnie bezużyteczne, gdyż nie widaÄ wtedy poÅożenia potencjometru.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-font"/>font = plik_czcionek, id_czcionki
- </literal></term>
- <listitem><para>
-Definiuje czcionkÄ. <literal>plik_czcionek</literal> jest nazwÄ
pliku opisu
-czcionki z rozszerzeniem <filename>.fnt</filename> (nie podawaj rozszerzenia w
-tym miejscu). <literal>id_czcionki</literal> jest używany do wskazywania
-konkretnej czcionki (zobacz <link linkend="skin-dlabel">dlabel</link>
-oraz <link linkend="skin-slabel">slabel</link>). Można zdefiniowaÄ do 25
-czcionek.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-slabel"/>slabel = X, Y, id_czcionki, "tekst"
- </literal></term>
- <listitem><para>
-Umieszcza statycznÄ
etykietÄ w pozycji <literal>X,Y</literal>.
-<literal>tekst</literal> jest wyÅwietlany za pomocÄ
czcionki wskazywanych przez
-<literal>id_czcionki</literal>. Tekst jest po prostu zwykÅym ÅaÅcuchem znaków
-(zmienne <literal>$x</literal> nie dziaÅajÄ
), któru musi byÄ umieszczony
-pomiÄdzy podwójnym cudzysÅowem (znak " nie może byÄ czÄÅciÄ
tekstu).
-Etykieta wyÅwietlana jest za pomocÄ
czcionki, na którÄ
wskazuje
-<literal>id_czcionki</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-dlabel"/>dlabel = X, Y, dÅugoÅÄ, wyrównanie, id_czcionki, "tekst"
- </literal></term>
- <listitem>
-<para>
-Umieszcza dynamicznÄ
etykietÄ w pozycji <literal>X,Y</literal>. Etykieta jest
-nazywana dynamicznÄ
, ponieważ jej tekst jest cyklicznie odÅwieżany. MaksymalnÄ
-dÅugoÅÄ etykiety okreÅla parametr <literal>dÅugoÅÄ</literal> (jej wysokoÅÄ
-okreÅla wysokoÅÄ czcionki). JeÅli tekst jest szerszy niż zdefiniowana dÅugoÅÄ,
-bÄdzie on przewijany, w przeciwnym wypadku bÄdzie wyrównany w miejscu okreÅlonym
-przez wartoÅÄ parametru <literal>wyrównanie</literal>: <literal>0</literal>
-oznacza do prawej, <literal>1</literal> to wyÅrodkowanie, <literal>2</literal>
-to wyrównanie do lewej.
-</para>
-<para>
-WyÅwietlany tekst jest okreÅlony przez zmiennÄ
<literal>tekst</literal>: musi
-byÄ zawarty pomiÄdzy podwójnymi cudzysÅowami (znak " nie może byÄ czÄÅciÄ
-tekstu). Etykieta wyÅwietlana jest za pomocÄ
czcionki, na którÄ
wskazuje
-parametr <literal>id_czcionki</literal>. Możesz użyÄ nastÄpujÄ
cych zmiennych w
-tekÅcie:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Zmienna</entry><entry>Znaczenie</entry></row>
-</thead>
-<tbody>
-<row>
-<entry>$1</entry>
-<entry>czas odtwarzania w formacie <emphasis>hh:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$2</entry>
-<entry>czas odtwarzania w formacie <emphasis>mmmm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$3</entry>
-<entry>czas odtwarzania w formacie (godziny) <emphasis>hh</emphasis></entry>
-</row>
-<row>
-<entry>$4</entry>
-<entry>czas odtwarzania w formacie (minuty) <emphasis>mm</emphasis></entry>
-</row>
-<row>
-<entry>$5</entry>
-<entry>czas odtwarzania w formacie (sekundy) <emphasis>ss</emphasis></entry>
-</row>
-<row>
-<entry>$6</entry>
-<entry>dÅugoÅÄ filmu w formacie <emphasis>hh:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$7</entry>
-<entry>dÅugoÅÄ filmu w formacie <emphasis>mmmm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$8</entry>
-<entry>dÅugoÅÄ filmu w formacie<emphasis>h:mm:ss</emphasis></entry>
-</row>
-<row>
-<entry>$v</entry>
-<entry>format gÅoÅnoÅci w %<emphasis>xxx.xx</emphasis></entry>
-</row>
-<row>
-<entry>$V</entry>
-<entry>format gÅoÅnoÅci <emphasis>xxx.xx</emphasis> format</entry>
-</row>
-<row>
-<entry>$b</entry>
-<entry>format balansu w %<emphasis>xxx.xx</emphasis></entry>
-</row>
-<row>
-<entry>$B</entry>
-<entry>format balansu <emphasis>xxx.xx</emphasis></entry>
-</row>
-<row>
-<entry>$$</entry>
-<entry>znak $</entry>
-</row>
-<row>
-<entry>$a</entry>
-<entry>oznaczenie zgodne z rodzajem typu pliku audio (nic: <literal>n</literal>,
-mono: <literal>m</literal>, stereo: <literal>t</literal>)</entry>
-</row>
-<row>
-<entry>$t</entry>
-<entry>numer Åcieżki (na liÅcie odtwarzania)</entry>
-</row>
-<row>
-<entry>$o</entry>
-<entry>nazwa pliku</entry>
-</row>
-<row>
-<entry>$f</entry>
-<entry>nazwa pliku pisana maÅymi literami</entry>
-</row>
-<row>
-<entry>$F</entry>
-<entry>nazwa pliku pisana wielkimi literami</entry>
-</row>
-<row>
-<entry>$T</entry>
-<entry>oznaczenie zgodne z rodzajem strumienia (plik: <literal>f</literal>,
-Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
-</row>
-<row>
-<entry>$p</entry>
-<entry>znak <keycap>p</keycap> (gdy film jest odtwarzany i czcionka ma znak <keycap>p</keycap>)</entry>
-</row>
-<row>
-<entry>$s</entry>
-<entry>znak <keycap>s</keycap> (gdy film jest zatrzymany i czcionka ma znak <keycap>s</keycap>)</entry>
-</row>
-<row>
-<entry>$e</entry>
-<entry>znak <keycap>e</keycap> (gdy film jest wstrzymany (pauza) i czcionka ma znak <keycap>e</keycap>)
-</entry>
-</row>
-<row>
-<entry>$x</entry>
-<entry>rozdzielczoÅÄ filmu (szerokoÅÄ)</entry>
-</row>
-<row>
-<entry>$y</entry>
-<entry>rozdzielczoÅÄ filmu (wysokoÅÄ)</entry>
-</row>
-<row>
-<entry>$C</entry>
-<entry>nazwa używanego kodeka</entry>
-</row>
-
-</tbody>
-</tgroup>
-</informaltable>
-</listitem>
-
-</varlistentry>
-</variablelist>
-
-<note><para>
-Zmienne <literal>$a, $T, $p, $s</literal> oraz <literal>$e</literal>
-zwracajÄ
znaki, które powinny byÄ wyÅwietlane jako znaki specjalne (na przykÅad
-<keycap>e</keycap> jest symbolem pauzy, która z reguÅy wyglÄ
da mniej wiÄcej tak
-||). PowinieneÅ mieÄ czcionkÄ dla zwykÅych znaków oraz osobnÄ
czcionkÄ dla symboli.
-Zobacz sekcjÄ na temat <link linkend="skin-fonts-symbols">symboli</link>,
-by dowiedzieÄ siÄ wiÄcej.
-</para></note>
-</sect2>
-
-<sect2 id="skin-file-subwindow">
-<title>Okno ekranu</title>
-<para>
-Poniższe wpisy mogÄ
byÄ użyte w bloku
-'<literal>window = sub</literal>' . . . '<literal>end</literal>' .
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-sub-base"/>base = obrazek, X, Y, szerokoÅÄ, wysokoÅÄ
- </literal></term>
- <listitem><para>
-WyÅwietla obrazek w oknie. Okno bÄdzie widoczne na ekranie w miejscu oznaczonym
-przez wspóÅrzÄdne <literal>X</literal>, <literal>Y</literal>
-(<literal>0,0</literal> to lewy górny narożnik). Możesz użyÄ
-<literal>-1</literal> dla Årodka, <literal>-2</literal> dla prawej strony
-(<literal>X</literal>) i doÅu (<literal>Y</literal>). Okno bÄdzie mieÄ wielkoÅÄ
-obrazka. <literal>szerokoÅÄ</literal> oraz <literal>wysokoÅÄ</literal> oznaczajÄ
-wielkoÅÄ okna; sÄ
one opcjonalne (jeÅli nie sÄ
okreÅlone, okno bÄdzie wielkoÅci
-takiej, jak obrazek).</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-background"/>background = R, G, B
- </literal></term>
- <listitem><para>
- Pozwala ustawiÄ kolor tÅa. Jest to użyteczne jeÅli obrazek jest mniejszy niż
- okno. <literal>R</literal>, <literal>G</literal> oraz <literal>B</literal>
- okreÅlajÄ
skÅadniki kolorów czerwonego, zielonego i niebieskiego (każdy z nich
- jest reprezentowany przez liczbÄ dziesiÄtnÄ
w zakresie od 0 do
- 255).</para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<sect2 id="skin-file-menu">
-<title>Menu skórki</title>
-<para>
-Jak wspomniano wczeÅniej, menu jest wyÅwietlane przy użyciu dwóch obrazków.
-ZwykÅe obszary menu sÄ
pobierane z obrazka okreÅlonego przez element
-<literal>base</literal>, podczas gdy obszary zaznaczone sÄ
pobierane z obrazka
-wskazywanego przez element <literal>selected</literal>. Musisz zdefiniowaÄ
-pozycjÄ i rozmiar każdego obszaru menu poprzez element menu.
-</para>
-
-<para>
-Poniższe wpisy mogÄ
byÄ użyte w bloku:
-'<literal>window = menu</literal>'. . .'<literal>end</literal>' .
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu-base"/>base = obrazek
- </literal></term>
- <listitem><para>
-Obrazek dla zwykÅych obszarów menu.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-selected"/>selected = obrazek
- </literal></term>
- <listitem><para>
-Obrazek pokazujÄ
cy w menu wszystkie zaznaczone obszary.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu"/>menu = X, Y, szerokoÅÄ, wysokoÅÄ, sygnaÅ
- </literal></term>
- <listitem><para>
-Definiuje pozycjÄ i rozmiar obszarów menu na obrazku przy pomocy
-<literal>X,Y</literal>. <literal>sygnaÅ</literal> to zdarzenie wygenerowane
-podczas zwolnienia przycisku myszy nad obszarem.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-<sect1 id="skin-fonts">
-<title>Czcionki</title>
-<para>
-Jak wspomniano w sekcji na temat fragmentów skórki, czcionka jest definiowana
-przez obrazek i plik opisujÄ
cy. Możesz umieÅciÄ znaki gdziekolwiek na obrazku,
-ale miej pewnoÅÄ, żeich pozycja i rozmiar jest dokÅadnie podana w pliku
-opisujÄ
cym.
-</para>
-
-<para>
-Plik opisujÄ
cy czcionkÄ (o rozszerzeniu <filename>.fnt</filename>) może posiadaÄ
-linie komentarzy zaczynajÄ
ce siÄ znakiem '<literal>;</literal>'. Plik musi
-zawieraÄ linie w postaci:
-<anchor id="skin-font-image"/>
-<programlisting>image = <replaceable>obrazek</replaceable></programlisting>
-Gdzie <literal><replaceable>obrazek</replaceable></literal> jest nazwÄ
pliku
-graficznego, który zawiera czcionkÄ (nie musisz dopisywaÄ jego rozszerzenia).
-<anchor id="skin-font-char"/>
-<programlisting>"char" = X, Y, szerokoÅÄ, wysokoÅÄ</programlisting>
-<literal>X</literal> oraz <literal>Y</literal> okreÅlajÄ
pozycjÄ znaku
-<literal>char</literal> na obrazku (<literal>0,0</literal> to górny lewy narożnik).
-<literal>szerokoÅÄ</literal> i <literal>wysokoÅÄ</literal> to rozmiar znaku
-w pikselach.
-</para>
-
-<para>
-PrzykÅad: definiujemy znaki A, B, C przy użyciu pliku <filename>font.png</filename>.
-<programlisting>
-; Może byÄ "font" zamiast "font.png".
-image = font.png
-
-; Trzy znaki wystarczÄ
do tej demonstracji :-)
-"A" = 0,0, 7,13
-"B" = 7,0, 7,13
-"C" = 14,0, 7,13
-</programlisting>
-</para>
-
-<sect2 id="skin-fonts-symbols">
-<title>Znaki specjalne (symbole)</title>
-<para>
-Niektóre znaki majÄ
specjalne znaczenie, gdy sÄ
zwracane przez pewne zmienne
-używane w <link linkend="skin-dlabel">dlabel</link>. Znaki te mogÄ
byÄ
-wyÅwietlane jako symbole w ten sposób, że np. podczas odtwarzania strumienia DVD
-widoczne jest Åadne logo zamiast znaku '<literal>d</literal>'.
-</para>
-<para>
-Poniższa tablica zawiera znaki używane do wyÅwietlania symboli (wymagajÄ
one
-oddzielnych czcionek).
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Znak</entry><entry>Symbol</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>p</keycap></entry><entry>odtwarzanie</entry></row>
-<row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
-<row><entry><keycap>e</keycap></entry><entry>pauza</entry></row>
-<row><entry><keycap>n</keycap></entry><entry>bez dźwiÄku</entry></row>
-<row><entry><keycap>m</keycap></entry><entry>dźwiÄk mono</entry></row>
-<row><entry><keycap>t</keycap></entry><entry>dźwiÄk stereo</entry></row>
-<row><entry><keycap>f</keycap></entry><entry>strumieÅ z pliku</entry></row>
-<row><entry><keycap>v</keycap></entry><entry>strumieÅ z Video CD</entry></row>
-<row><entry><keycap>d</keycap></entry><entry>strumieÅ z DVD</entry></row>
-<row><entry><keycap>u</keycap></entry><entry>strumieÅ z URL</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-<sect1 id="skin-gui">
-<title>SygnaÅy GUI</title>
-<para>
-Tutaj znajdujÄ
siÄ sygnaÅy, które mogÄ
byÄ generowane przez przyciski, suwaki
-i elementy menu.
-</para>
-
-<variablelist>
-<title>Kontrola odtwarzania :</title>
-<varlistentry>
- <term><emphasis role="bold">evNext</emphasis></term>
- <listitem><para>
-Przejdź do nastÄpnej pozycji na liÅcie odtwarzania.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPause</emphasis></term>
- <listitem><para>
- Tworzy przeÅÄ
cznik razem z <literal>evPlaySwitchToPause</literal>.
- MogÄ
byÄ użyte do utworzenia wspólnego przycisku odtwarzania/pauzy.
- Oba sygnaÅy powinny byÄ powiÄ
zane z przyciskami wyÅwietlonymi na tej samej
- pozycji w oknie. SygnaÅ ten wstrzymuje odtwarzanie i wyÅwietla obrazek dla
- przycisku <literal>evPlaySwitchToPause</literal> (aby zaznaczyÄ,
- że przycisk ten może byÄ użyty do kontynuowania odtwarzania).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlay</emphasis></term>
- <listitem><para>
-Rozpocznij odtwarzanie.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
- <listitem><para>
-PrzeciwieÅstwo <literal>evPauseSwitchToPlay</literal>. Ten sygnaÅ zaczyna
-odtwarzanie oraz wyÅwietla obrazek dla przycisku
-<literal>evPauseSwitchToPlay</literal> (aby zaznaczyÄ, że przycisk ten może byÄ
-użyty ponownie do wstrzymania odtwarzania).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPrev</emphasis></term>
- <listitem><para>
-Przejdź do poprzedniej pozycji na liÅcie odtwarzania.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evStop</emphasis></term>
- <listitem><para>
-Zatrzymaj odtwarzanie.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Przewijanie:</title>
-<varlistentry>
- <term><emphasis role="bold">evBackward10sec</emphasis></term>
- <listitem><para>
-PrzewiÅ do tyÅu o 10 sekund.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward1min</emphasis></term>
- <listitem><para>
-PrzewiÅ do tyÅu o 1 minutÄ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward10min</emphasis></term>
- <listitem><para>
-PrzewiÅ do tyÅu o 10 minut.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10sec</emphasis></term>
- <listitem><para>
-PrzewiÅ do przodu o 10 sekund.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward1min</emphasis></term>
- <listitem><para>
-PrzewiÅ do przodu o 1 minutÄ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10min</emphasis></term>
- <listitem><para>
-PrzewiÅ do przodu o 10 minut..
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
- <listitem><para>
-PrzewiÅ do pozycji (może byÄ wykorzystane przez suwak;
-użyte sÄ
wzglÄdne wartoÅci (0-100%) suwaka).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Kontrola video:</title>
-<varlistentry>
- <term><emphasis role="bold">evHalfSize</emphasis></term>
- <listitem><para>
-Ustawia okno filmu na poÅowÄ rozmiaru.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evDoubleSize</emphasis></term>
- <listitem><para>
-Ustaw podwójny rozmiar okna z filmem.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evFullScreen</emphasis></term>
- <listitem><para>
-WÅÄ
cz/wyÅÄ
cz tryb peÅnoekranowy.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evNormalSize</emphasis></term>
- <listitem><para>
-Ustaw typowy rozmiar okna z filmem.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Kontrola dźwiÄku:</title>
-<varlistentry>
- <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
- <listitem><para>
-Zmniejsz opóźnienie bufora dźwiÄku.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecBalance</emphasis></term>
- <listitem><para>
-Zmniejsz balans.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecVolume</emphasis></term>
- <listitem><para>
-Zmniejsz gÅoÅnoÅÄ
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
- <listitem><para>
-ZwiÄksz opóźnienie bufora dźwiÄku.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncBalance</emphasis></term>
- <listitem><para>
-ZwiÄksz balans.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncVolume</emphasis></term>
- <listitem><para>
-ZwiÄksz gÅoÅnoÅÄ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evMute</emphasis></term>
- <listitem><para>
-Wycisz/przywrÃ³Ä dźwiÄk.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetBalance</emphasis></term>
- <listitem><para>
-Ustawi balans (może byÄ używane przez suwak;
-używana jest wartoÅÄ wzglÄdna (0-100%)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetVolume</emphasis></term>
- <listitem><para>
-Ustaw gÅoÅnoÅÄ (może byÄ używane przez suwak;
-używana jest wartoÅÄ wzglÄdna (0-100%)).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Różne:</title>
-<varlistentry>
- <term><emphasis role="bold">evAbout</emphasis></term>
- <listitem><para>
-Otwórz okno "o programie".
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDropSubtitle</emphasis></term>
- <listitem><para>
-WyÅÄ
cz aktualnie używane napisy.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evEqualizer</emphasis></term>
- <listitem><para>
-WÅÄ
cz/wyÅÄ
cz korektor.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evExit</emphasis></term>
- <listitem><para>
-WyÅÄ
cz program.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIconify</emphasis></term>
- <listitem><para>
-Minimalizuj okno.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoad</emphasis></term>
- <listitem><para>
-Wczytaj plik (poprzez otwarcie okna przeglÄ
darki plików, gdzie możesz wybraÄ
-plik).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadPlay</emphasis></term>
- <listitem><para>
-Tto samo co <literal>evLoad</literal>, ale zacznij automatycznie odtwarzaÄ
-zaraz po wyborze pliku.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
- <listitem><para>
-Wczytaj plik z napisami (z przeglÄ
darki plików).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
- <listitem><para>
-Wczytaj plik dźwiÄkowy (z przeglÄ
darki plików).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evNone</emphasis></term>
- <listitem><para>
-SygnaÅ pusty - nic nie robi (może za wyjÄ
tkiem wersji z Subversion:-)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaylist</emphasis></term>
- <listitem><para>
-Otwórz/zamknij okno listy odtwarzania.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayDVD</emphasis></term>
- <listitem><para>
-Spróbuj odczytaÄ pÅytÄ ze wskazanego czytnika DVD.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayVCD</emphasis></term>
- <listitem><para>
-Spróbuj odczytaÄ pÅytÄ ze wskazanego czytnika CD.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPreferences</emphasis></term>
- <listitem><para>
-Otwórz okno z ustawieniami.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetAspect</emphasis></term>
- <listitem><para>
-Ustaw proporcje obrazu.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetURL</emphasis></term>
- <listitem><para>
-WyÅwietl okienko dialogowe URL.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSkinBrowser</emphasis></term>
- <listitem><para>
-Otwórz okno przeglÄ
darki skórek.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-</sect1>
-
-<sect1 id="skin-quality">
- <title>Tworzenie dobrych skórek</title>
-
- <para>
- WyglÄ
da na to, że przeczytaÅeÅ o tworzeniu skórek
- dla GUI <application>MPlayera</application>, daÅeÅ z siebie
- wszystko używajÄ
c <application>Gimpa</application>
- i chciaÅbyÅ umieÅciÄ u nas swojÄ
skórkÄ?
- Zapoznaj siÄ z kilkoma wytycznymi, żeby uniknÄ
Ä najczÄstszych pomyÅek
- i stworzyÄ skórkÄ wysokiej jakoÅci.
- </para>
-
- <para>
- Chcemy aby skórki, które dodajemy do naszego repozytorium,
- speÅniaÅy okreÅlone standardy jakoÅci. Istnieje również kilka rzeczy,
- które możesz zrobiÄ, żeby uÅatwiÄ sobie życie.
- </para>
-
- <para>
- Jako wzorzec możesz wziÄ
Ä skórkÄ <systemitem>Blue</systemitem>,
- od wersji 1.5 speÅnia one wszystkie wymienione niżej kryteria.
- </para>
-
- <itemizedlist>
- <listitem><para>Do każdej skórki powinien byÄ doÅÄ
czony plik
- <filename>README</filename> zawierajÄ
cy informacje
- o tobie, czyli autorze, prawach autorskich i licencji i wszystkie
- inne informacje, które zechcesz dodaÄ. Jeżeli chcesz prowadziÄ
- listÄ zmian, ten plik jest na to dobrym miejscem.</para></listitem>
-
- <listitem><para>Należy dodaÄ plik <filename>VERSION</filename>
- zawierajÄ
cy tylko i wyÅÄ
cznie wersjÄ skórki zapisanÄ
w jednej linii (np. 1.0)
- </para></listitem>
-
- <listitem><para>Poziome i pionowe kontrolki (suwaki do zmiany gÅoÅnoÅci
- albo pozycji) powinny mieÄ gaÅki prawidÅowo wycentrowane na Årodku
- suwaka. Powinno siÄ daÄ przesunÄ
Ä gaÅkÄ na oba koÅce suwaka, ale nie
- poza jego obszar.</para></listitem>
-
- <listitem><para>Elementy skórki powinny mieÄ prawidÅowo zadeklarowane
- rozmiary w pliku skórki. W przeciwnym wypadku możliwe bÄdzie
- klikniÄcie poza obszarem np. przycisku i jego naciÅniÄcia
- lub klikniÄcie wewnÄ
trz obszaru przycisku i nie naciÅniÄcie go.
- </para></listitem>
-
- <listitem><para>Plik <filename>skin</filename> powinien byÄ
- Åadnie sformatowany i nie powinien zawieraÄ tabulacji. Åadnie
- sformatowany, czyli taki w którym numery sÄ
Åadnie ustawione
- w kolumnach.</para></listitem>
- </itemizedlist>
-
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/pl/usage.xml b/DOCS/xml/pl/usage.xml
deleted file mode 100644
index cf7ba6b..0000000
--- a/DOCS/xml/pl/usage.xml
+++ /dev/null
@@ -1,1854 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21748 -->
-<!-- Opiekun: emdej -->
-<chapter id="usage">
-<title>Sposób użycia</title>
-
-<sect1 id="commandline">
-<title>Wiersz poleceÅ</title>
-
-<para>
-<application>MPlayer</application> używa skomplikowanego drzewa odtwarzania.
-SkÅada siÄ ono z opcji globalnych podanych na poczÄ
tku, na przykÅad:
-<screen>mplayer -vfm 5</screen>
-i opcji podanych po nazwach plików, które stosujÄ
siÄ jedynie do podanego
-pliku/URLa/czegokolwiek, na przykÅad:
-<screen>
-mplayer -vfm 5 <replaceable>film1.avi</replaceable> <replaceable>film2.avi</replaceable> -vfm 4
-</screen>
-</para>
-
-<para>
-Możesz pogrupowaÄ nazwy plików/URLe za pomocÄ
<literal>{</literal> oraz
-<literal>}</literal>. Przydaje siÄ to przy opcji <option>-loop</option>:
-<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
-Powyższe polecenie odtworzy pliki w kolejnoÅci: 1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-Odtwarzanie pliku:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opcje</replaceable>]<!--
---> [<replaceable>Åcieżka</replaceable>/]<replaceable>nazwa_pliku</replaceable>
-</synopsis>
-</para>
-
-<para>
-Kolejny sposób na odtworzenie pliku:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opcje</replaceable>]<!--
---> <replaceable>file:///zakodowana-Åcieżka-uri</replaceable>
-</synopsis>
-</para>
-
-<para>
-Odtwarzanie wiÄkszej iloÅci plików:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>opcje domyÅlne</replaceable>]<!--
---> [<replaceable>Åcieżka</replaceable>/]<replaceable>plik1</replaceable><!--
---> [<replaceable>opcje dla pliku1</replaceable>]<!--
---> <replaceable>plik2</replaceable><!--
---> [<replaceable>opcje dla pliku2</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-Odtwarzanie VCD:
-<synopsis>
-<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
---> vcd://<replaceable>numer_Åcieżki</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Odtwarzanie DVD:
-<synopsis>
-<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
---> dvd://<replaceable>numer_tytuÅu</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Odtwarzanie z WWW:
-<synopsis>
-<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
---> http://<replaceable>strona.com/plik.asf</replaceable>
-</synopsis>
-(można użyÄ również playlist)
-</para>
-
-<para>
-Odtwarzanie z RTSP:
-<synopsis>
-<command>mplayer</command> [<replaceable>opcje</replaceable>]<!--
---> rtsp://<replaceable>serwer.przyklad.com/nazwa_strumienia</replaceable>
-</synopsis>
-</para>
-
-<para>
-PrzykÅady:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="subosd">
-<title>Napisy i OSD</title>
-
-<para>
-<application>MPlayer</application> może wyÅwietlaÄ napisy podczas odtwarzania
-filmu. Obecnie obsÅugiwane sÄ
nastÄpujÄ
ce formaty:
-<itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption)</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para>
- <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink></para>
- </listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> może zrzuciÄ wyżej wymienione formaty napisów
-(<emphasis role="bold">poza pierwszymi trzema</emphasis>) do nastÄpujÄ
cych formatów,
-jeÅli podasz odpowiedniÄ
opcjÄ:
-<itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MEncoder</application> może zrzuciÄ napisy DVD do formatu
-<link linkend="menc-feat-extractsub">VOBsub</link>.
-</para>
-
-<para>
-Opcje wiersza poleceÅ różniÄ
siÄ nieco dla poszczególnych formatów:
-</para>
-
-<formalpara>
-<title>Format VOBsub</title>
-<para>
-Napisy VOBsub skÅadajÄ
siÄ z dużego (kilkumegabajtowego) pliku <filename>.SUB</filename>
-i opcjonalnych plików <filename>.IDX</filename> i/lub <filename>.IFO</filename>.
-Jeżeli masz takie pliki, jak
-<filename><replaceable>przykÅad.sub</replaceable></filename>,
-<filename><replaceable>przykÅad.ifo</replaceable></filename> (opcjonalne),
-<filename><replaceable>przykÅad.idx</replaceable></filename> -
-musisz przekazaÄ <application>MPlayerowi</application> opcje
-<option>-vobsub przykÅad [-vobsubid <replaceable>id</replaceable>]</option>
-(peÅna Åcieżka jest opcjonalna). Parametr <option>-vobsubid</option> jest, jak
-<option>-sid</option> dla DVD - przy jego pomocy możesz wybieraÄ pomiÄdzy Åcieżkami napisów
-(różne jÄzyki). Jeżeli opcja <option>-vobsubid</option> jest pominiÄta,
-<application>MPlayer</application> spróbuje użyÄ jÄzyka podanego przez parametr
-<option>-slang</option> i powróci do <systemitem>langidx</systemitem>
-zawartego w pliku<filename>.IDX</filename>, żeby ustawiÄ jÄzyk napisów. Jeżeli to
-zakoÅczy siÄ niepowodzeniem, napisy nie bÄdÄ
wyÅwietlane.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Inne formaty napisów</title>
-<para>
-Inne formaty skÅadajÄ
siÄ z pojedynczego pliku tekstowego zawierajÄ
cego przedziaÅ
-czasowy, rozmieszczenie i sam tekst. Sposób użycia: Jeżeli masz taki plik, jak
-<filename><replaceable>przykÅad.txt</replaceable></filename>,
-musisz przekazaÄ opcjÄ <option>-sub
-<replaceable>przykÅad.txt</replaceable></option> (peÅna Åcieżka jest opcjonalna).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Dopasowywanie czasu wyÅwietlania i poÅożenia napisów:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>sek</replaceable></option></term>
- <listitem><para>
- Opóźnia wyÅwietlanie napisów o <option><replaceable>sek</replaceable></option> sekund.
- Może byÄ liczbÄ
ujemnÄ
. WartoÅÄ jest dodawana do licznika czasu filmu.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>ILOÅÄ</replaceable></option></term>
- <listitem><para>
- OkreÅla iloÅÄ klatek na sekundÄ pliku z napisami (liczba rzeczywista).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- OkreÅla poÅożenie napisów.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Jeżeli podczas używania napisów w formacie MicroDVD zauważysz rosnÄ
ce opóźnienie
-miÄdzy nimi a filmem, to prawdopodobnie iloÅÄ klatek na sekundÄ filmu różni siÄ
-od wartoÅci, do której zostaÅy przystosowane napisy.
-Zauważ, że format ten korzysta z bezwzglÄdnych numerów klatek do wyÅwietlania
-napisów w odpowiednim momencie, ale nie zawiera w sobie informacji o wartoÅci fps,
-dlatego powinieneÅ skorzystaÄ z opcji <option>-subfps</option>.
-Jeżeli chciaÅbyÅ trwale rozwiÄ
zaÄ ten problem, musisz rÄcznie zmieniÄ
-wartoÅÄ framerate pliku z napisami.
-<application>MPlayer</application> może zrobiÄ to za ciebie:
-
-<screen>
-mplayer -dumpmicrodvdsub -fps <replaceable>fps_napisów</replaceable> -subfps <replaceable>fps_filmu</replaceable> \
- -sub <replaceable>zbiór_z_napisami</replaceable> <replaceable>atrapa.avi</replaceable>
-</screen>
-</para>
-
-<para>
-O napisach DVD przeczytasz w rozdziale <link linkend="dvd">DVD</link>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="control">
-<title>Sterowanie</title>
-
-<para>
-<application>MPlayer</application> posiada w peÅni konfigurowalnÄ
, opartÄ
na
-komendach warstwÄ sterowania, która pozwala na sterowanie
-<application>MPlayerem</application> za pomocÄ
klawiatury, myszki, joysticka lub
-zdalnego sterowania (za pomocÄ
LIRC). Zajrzyj na stronÄ man w celu przejrzenia
-peÅnej listy skrótów klawiszowych.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="ctrl-cfg">
-<title>Konfiguracja sterowania</title>
-
-<para>
-<application>MPlayer</application> pozwala Ci przypisaÄ dowolny klawisz/przycisk
-do dowolnego polecenia za pomocÄ
prostego pliku konfiguracyjnego. SkÅadnia tego
-pliku to nazwa klawisza, po której znajduje siÄ komenda. DomyÅlny plik
-konfiguracyjny znajduje siÄ w <filename>$HOME/.mplayer/input.conf</filename>, ale
-można podaÄ także inny za pomocÄ
opcji
-<option>-input <replaceable>plik</replaceable></option>
-(Åcieżki wzglÄdne sÄ
wzglÄdem <filename>$HOME/.mplayer</filename>).
-</para>
-
-<para>
-Możesz uzyskaÄ peÅnÄ
listÄ obsÅugiwanych klawiszy uruchamiajÄ
c
-<command>mplayer -input keylist</command>
-i peÅnÄ
listÄ dostÄpnych komend za pomocÄ
-<command>mplayer -input cmdlist</command>.
-</para>
-
-<example id="input_control_file">
-<title>PrzykÅadowy plik konfiguracji sterowania</title>
-<programlisting>
-##
-## Plik konfiguracji sterowania MPlayera
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="lirc">
-<title>Sterowanie poprzez LIRC</title>
-
-<para>
-Linux Infrared Remote Control - użyj Åatwego do wÅasnorÄcznego zbudowania
-odbiornika podczerwieni i (prawie) dowolnego pilota zdalnego sterowania i
-steruj nim swoim Linuksem!
-WiÄcej informacji na <ulink url="http://www.lirc.org">stronie domowej LIRC</ulink>.
-</para>
-
-<para>
-JeÅli zainstalowaÅeÅ pakiet LIRC, <filename>configure</filename> automatycznie go
-wykryje. JeÅli wszystko pójdzie dobrze, <application>MPlayer</application>
-wypisze przy starcie "<systemitem>Setting up LIRC support...</systemitem>".
-JeÅli wystÄ
pi bÅÄ
d, powiadomi CiÄ o tym. JeÅli nic nie powie Ci na
-temat LIRC, to znaczy, że jego obsÅuga nie zostaÅa wkompilowana. Proste :-)
-</para>
-
-<para>
-Nazwa aplikacji dla <application>MPlayer</application> to - niespodzianka -
-<filename>mplayer</filename>. Możesz używaÄ dowolnych komend
-<application>MPlayera</application>, a nawet podaÄ wiÄcej niż jednÄ
-komendÄ na raz oddzielajÄ
c je za pomocÄ
<literal>\n</literal>.
-Nie zapomnij o wÅÄ
czeniu flagi repeat w <filename>.lircrc</filename> jeÅli
-ma to sens (skoki, gÅoÅnoÅÄ itp). To jest fragment przykÅadowego
-<filename>.lircrc</filename>:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-JeÅli nie lubisz standardowej lokalizacji pliku lirc-config
-(<filename>~/.lircrc</filename>), użyj opcji <option>-lircconf
-<replaceable>nazwa_pliku</replaceable></option> by podaÄ inny plik.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="slave-mode">
-<title>Tryb sÅugi</title>
-
-<para>
-Tryb sÅugi pozwala Ci na utworzenie prostej nakÅadki na
-<application>MPlayera</application>. Po uruchomieniu z opcjÄ
-<option>-slave</option> <application>MPlayer</application> bÄdzie czytaÅ
-ze standardowego wejÅcia komendy oddzielone znakami nowego wiersza (\n).
-Komendy zostaÅy udokumentowane w pliku
-<ulink url="../../tech/slave.txt">slave.txt</ulink>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="streaming">
-<title>Strumieniowanie z sieci i potoków</title>
-
-<para>
-<application>MPlayer</application> potrafi odtwarzaÄ pliki z sieci, używajÄ
c
-protokoÅów HTTP, FTP, MMS lub RTSP/RTP.
-</para>
-
-<para>
-Odtwarzanie nastÄpuje przez proste podanie URLa w wierszu poleceÅ.
-<application>MPlayer</application> zwraca również uwagÄ na zmiennÄ
ÅrodowiskowÄ
-<envar>http_proxy</envar> i używa proxy jeÅli jest to możliwe. Korzystanie
-z proxy może byÄ również wymuszone za pomocÄ
:
-<screen>
-mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/strumien.asf</replaceable>
-</screen>
-</para>
-
-<para>
-<application>MPlayer</application> potrafi również czytaÄ ze standardowego wejÅcia
-(<emphasis>nie</emphasis> z nazwanych potoków). Może to byÄ wykorzystane np. do
-odtwarzania poprzez FTP:
-<screen>i
-wget <replaceable>ftp://micorsops.com/cokolwiek.avi</replaceable> -O - | mplayer -
-</screen>
-</para>
-
-<note><para>
-Zalecane jest również wÅÄ
czenie <option>-cache</option> przy odtwarzaniu
-z sieci:
-<screen>
-wget <replaceable>ftp://micorsops.com/cokolwiek.avi</replaceable> -O - | mplayer -cache 8192 -
-</screen>
-</para></note>
-
-<!-- ********** -->
-
-<sect2 id="streaming-save">
-<title>Zapisywanie strumieniowanej zawartoÅci</title>
-
-<para>
-Jak już uda Ci siÄ zmusiÄ <application>MPlayera</application> do odtwarzania
-Twojego ulubionego strumienia internetowego, możesz użyÄ opcji
-<option>-dumpstream</option> aby zapisaÄ strumieÅ do pliku.
-Na przykÅad:
-<screen>
-mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>strumien.asf</replaceable>
-</screen>
-zapisze zawartoÅÄ strumieniowanÄ
z
-<replaceable>http://217.71.208.37:8006</replaceable> do pliku
-<replaceable>stream.asf</replaceable>.
-DziaÅa to ze wszystkimi protokoÅami obsÅugiwanymi przez
-<application>MPlayera</application>, jak MMS, RSTP itd.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpst" xreflabel="Remote streams">
-<title>Strumienie zdalne</title>
-
-<para>
-Strumienie zdalne pozwalajÄ
na dostÄp do wiÄkszoÅci strumieni obsÅugiwanych
-przez <application>MPlayera</application> ze zdalnego hosta. GÅównym celem tej
-funkcji jest umożliwienie bezpoÅredniego korzystania z napÄdu CD lub DVD innego
-komputera w sieci (pod warunkiem posiadania odpowiedniej przepustowoÅci).
-Niestety niektóre typy strumieni (aktualnie TV oraz MF) nie sÄ
dostÄpne zdalnie,
-gdyż sÄ
zaimplementowane na poziomie demultipleksera. Jest to przykre w
-przypadku MF, gdyż TV i tak by wymagaÅo szalonej przepustowoÅci.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="compile_mpst_server">
-<title>Kompilacja serwera</title>
-
-<para>
-Po kompilacji <application>MPlayera</application> wejdź do katalogu
-<filename>TOOLS/netstream</filename> i wpisz <application>make</application>
-by zbudowaÄ program serwera. Możesz wtedy skopiowaÄ program
-<application>nestream</application> do odpowiedniego miejsca w Twoim
-systemie (przeważnie <filename class="directory">/usr/local/bin</filename>
-pod Linuksem).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="use_mpst">
-<title>Używanie strumieni zdalnych</title>
-
-<para>
-Najpierw musisz uruchomiÄ serwer na komputerze, do którego masz zamiar mieÄ
-dostÄp zdalny. Aktualnie serwer jest bardzo podstawowy i nie ma żadnych
-argumentów wiersza poleceÅ, wiÄc po prostu wpisz <filename>netstream</filename>.
-Teraz możesz np. odtworzyÄ drugÄ
ÅcieżkÄ VCD na serwerze za pomocÄ
:
-<screen>
-mplayer -cache 5000 <replaceable>mpst://nazwa_serwera/vcd://2</replaceable>
-</screen>
-Masz również dostÄp do plików na tym serwerze:
-<screen>
-mplayer -cache 5000 <replaceable>mpst://nazwa_serwera//usr/local/movies/lol.avi</replaceable>
-</screen>
-Zauważ, że Åcieżki, które nie zaczynajÄ
siÄ na "/" bÄdÄ
wzglÄdne do katalogu,
-w którym uruchomiono serwer. Opcja <option>-cache</option> nie jest wymagana,
-lecz bardzo zalecana.
-</para>
-
-<para>
-Miej na uwadze to, że aktualnie serwer nie ma żadnych zabezpieczeÅ. Nie narzekaj
-wiÄc na liczne nadużycia, które sÄ
przez to możliwe. Zamiast tego wyÅlij jakÄ
Å
-(dobrÄ
) ÅatkÄ, by staÅ siÄ lepszy lub napisz swój wÅasny serwer.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="drives">
-<title>NapÄdy CD/DVD</title>
-
-<para>
-Nowoczesne napÄdy CD-ROM osiÄ
gajÄ
bardzo duże prÄdkoÅci. Niektóre z nich sÄ
-dodatkowo zdolne do pracy przy zredukowanych prÄdkoÅciach. Oto kilka powodów,
-dla których powinniÅmy zastanowiÄ siÄ czy nie należy zredukowaÄ prÄdkoÅci
-naszego napÄdu:
-</para>
-
-<itemizedlist>
-<listitem><para>
- IstniejÄ
doniesienia o bÅÄdach odczytu przy dużych prÄdkoÅciach, szczególnie
- podczas używania uszkodzonych bÄ
dź wadliwie wytÅoczonych/nagranych pÅyt CD.
- Redukcja prÄdkoÅci odczytu może uchroniÄ nas przed utratÄ
danych w takich
- przypadkach.
-</para></listitem>
-
-<listitem><para>
- Wiele napÄdów CD jest dokuczliwie gÅoÅnych. Redukcja prÄdkoÅci może zmniejszyÄ
- natÄżenie haÅasu.
-</para></listitem>
-</itemizedlist>
-
-<!-- ********** -->
-
-<sect2 id="drives_linux">
-<title>Linux</title>
-
-<para>
-Możesz zredukowaÄ prÄdkoÅÄ napÄdu CD z interfejsem IDE korzystajÄ
c
-z <command>hdparm</command>, <command>setcd</command> lub
-<command>cdctl</command>.
-DziaÅajÄ
one w nastÄpujÄ
cy sposób:
-<screen>hdparm -E <replaceable>[prÄdkoÅÄ]</replaceable> <replaceable>[urzÄ
dzenie cdrom]</replaceable></screen>
-<screen>setcd -x <replaceable>[prÄdkoÅÄ]</replaceable> <replaceable>[urzÄ
dzenie cdrom]</replaceable></screen>
-<screen>cdctl -bS <replaceable>[speed]</replaceable></screen>
-</para>
-
-<para>
-JeÅli używasz emulacji SCSI, możesz musieÄ zastosowaÄ ustawienia do prawdziwego
-urzÄ
dzenia IDE a nie emulowanego SCSI.
-</para>
-
-<para>
-Jeżeli masz uprawnienia roota, to pomóc może także nastÄpujÄ
ca komenda:
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[urzÄ
dzenie cdrom]</replaceable>/settings</screen>
-</para>
-
-
-<para>
-Ustawiamy w ten sposób wielkoÅÄ bufora odczytu na 2MB, co pomaga przy odczycie
-porysowanych pÅyt. Jeżeli ustawimy zbyt dużÄ
wielkoÅÄ tego bufora, napÄd bÄdzie
-stale rozkrÄcaÅ siÄ i zwalniaÅ, co spowoduje bardzo znaczny spadek wydajnoÅci.
-Zaleca siÄ również dostrojenie napÄdu CD-ROM przy użyciu
-<command>hdparm</command>:
-<screen>hdparm -d1 -a8 -u1 <replaceable>[urzÄ
dzenie cdrom]</replaceable></screen>
-</para>
-
-<para>
-WÅÄ
czamy w ten sposób dostÄp DMA do dysku, czytanie z wyprzedzeniem i
-odmaskowanie IRQ (IRQ unmasking) (wiÄcej przeczytasz na stronach man do
-<command>hdparm</command>)
-</para>
-
-<para>
-ProszÄ sprawdziÄ
-"<filename>/proc/ide/<replaceable>[urzÄ
dzenie cdrom]</replaceable>/settings</filename>"
-by dostroiÄ swój napÄdu CD-ROM.
-</para>
-
-<para>
-Dla napÄdów SCSI nie istnieje jednolity sposób ustawiawiania tych parametrów
-(jeżeli znasz jakiÅ to napisz nam o nim). Istnieje narzÄdzie które dziaÅa z
-<ulink url="http://das.ist.org/~georg/">napÄdami SCSI Plextor</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="drives_freebsd">
-<title>FreeBSD</title>
-
-<para>PrÄdkoÅÄ:
-<screen>
-cdcontrol [-f <replaceable>urzÄ
dzenie</replaceable>] speed <replaceable>[prÄdkoÅÄ]</replaceable>
-</screen>
-</para>
-
-<para>DMA:
-<screen>
-sysctl hw.ata.atapi_dma=1
-</screen>
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="dvd">
-<title>Odtwarzanie DVD</title>
-
-<para>
-Aby poznaÄ peÅnÄ
listÄ dostÄpnych opcji, proszÄ przeczytaÄ odpowiednie strony
-man. SkÅadnia do odtwarzania standardowego DVD jest nastÄpujÄ
ca:
-<screen>
-mplayer dvd://<replaceable><Åcieżka></replaceable> [-dvd-device <replaceable><urzÄ
dzenie></replaceable>]
-</screen>
-</para>
-
-<para>
-PrzykÅad:
-<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-JeÅli skompilowaÅeÅ <application>MPlayera</application> z obsÅugÄ
dvdnav,
-skÅadnia jest taka sama, tylko musisz użyÄ dvdnav:// zamiast dvd://.
-</para>
-
-<para>
-DomyÅlnym urzÄ
dzeniem (device) DVD jest <filename>/dev/dvd</filename>. Jeżeli
-Twoje ustawienia sÄ
inne, stwórz odpowiedni symlink lub ustaw odpowiednie
-urzÄ
dzenie (device) w linii polecenia korzystajÄ
c z opcji
-<option>-dvd-device</option>.
-</para>
-
-<para>
-<application>MPlayer</application> używa <systemitem>libdvdread</systemitem>
-oraz <systemitem>libdvdcss</systemitem> do odtwarzania i dekodowania DVD.
-Te dwie biblioteki sÄ
zawarte
-w gÅównym drzewie źródÅowym <application>MPlayera</application>, nie trzeba
-instalowaÄ ich osobno.
-Możesz też użyÄ systemowych wersji tych bibliotek, ale nie jest to zalecane,
-ponieważ może spowodowaÄ bÅÄdy, niekompatybilnoÅci bibliotek oraz zmniejszenie
-prÄdkoÅci.
-</para>
-
-<note><para>
-JeÅli wystÄpujÄ
problemy z dekodowaniem DVD, spróbuj wyÅÄ
czyÄ supermount lub
-inne tego typu usÅugi. Niektóre napÄdy RPC-2 mogÄ
również wymagaÄ ustawienia
-kodu regionu DVD.
-</para></note>
-
-<formalpara>
-<title>Struktura dysku DVD</title>
-<para>
-Dyski DVD majÄ
po 2048 bajtów na sektor z ECC/CRC. Zwykle posiadajÄ
system
-plików UDF na pojedynczej Åcieżce zawierajÄ
cej różnorakie pliki (maÅe pliki .IFO
-i .BUK oraz duże (1GB) pliki .VOB).
-SÄ
one rzeczywistymi plikami i mogÄ
byÄ kopiowane/odtwarzane z podmontowanego
-systemu plików niezakodowanego DVD.
-</para>
-</formalpara>
-
-<para>
-Pliki .IFO zawierajÄ
informacje nawigacyjne filmu (mapa
-rozdziaÅów/tytuÅów/kÄ
tów kamery, tablica jÄzyków, itp) i sÄ
konieczne do
-odczytu i interpretacji zawartoÅci pliku .VOB (filmu).
-Pliki .BUK sÄ
kopiami zapasowymi plików .IFO.
-UżywajÄ
<emphasis role="bold">sektorów</emphasis> wszÄdzie, wiÄc aby
-zaimplementowaÄ nawigacjÄ na DVD lub rozszyfrowaÄ zawartoÅÄ, należy używaÄ
-adresowania sektorów dysku w trybie raw.
-</para>
-
-<para>
-Z tego powodu obsÅuga DVD wymaga
-dostÄpu do urzÄ
dzenia w trybie raw bazujÄ
cym na sektorach. Niestety wymagane
-jest (pod Linuksem) posiadanie uprawnieÅ roota aby móc korzystaÄ z sektorowego
-adresowania pliku.
-Dlatego też nie w ogóle używamy sterownika systemu plików pochodzÄ
cego
-z jÄ
dra, ale reimplementujemy to w przestrzeni użytkownika.
-Zajmuje siÄ tym biblioteka <systemitem>libdvdread</systemitem> 0.9.x.
-Sterownik
-systemu plików UDF zawarty w jÄ
drze nie jest wymagany ponieważ wspomniane
-biblioteki zawierajÄ
wÅasny, wbudowany sterownik systemu plików UDF. DVD nie
-musi byÄ podmontowany, bowiem używany jest jedynie dostÄp w trybie raw.
-</para>
-
-<para>
-Czasami <filename>/dev/dvd</filename> nie może byÄ czytany przez użytkowników,
-zatem autorzy <systemitem>libdvdread</systemitem> zaimplementowali warstwÄ
-emulacji, która tÅumaczy adresowanie sektorowe na nazwy plików i offsety, aby
-emulowaÄ dostÄp w trybie raw na podmontowanym systemie plików albo nawet na
-twardym dysku.
-</para>
-
-<para>
-<systemitem>libdvdread</systemitem> równie dobrze akceptuje miejsce
-podmontowania (mountpoint) jak i nazwÄ urzÄ
dzenia przy dostÄpie w trybie raw i
-sprawdza <filename>/proc/mounts</filename> w celu odnalezienia odpowiedniej
-nazwy urzÄ
dzenia (device). ZostaÅo to napisane z myÅlÄ
o systemie Solaris, gdzie
-nazwy urzÄ
dzeÅ sÄ
przydzielane automatycznie.
-</para>
-
-<formalpara>
-<title>Deszyfrowanie DVD</title>
-<para>
-Do deszyfrowania DVD jest używana biblioteka
-<systemitem>libdvdcss</systemitem>. Metoda jej dziaÅania może byÄ okreÅlona
-poprzez zmienna ÅrodowiskowÄ
<envar>DVDCSS_METHOD</envar>,
-co jest dokÅadniej opisane na stronie man.
-</para>
-</formalpara>
-
-<para>
-NapÄdy DVD RPC-1 zabezpieczajÄ
ustawienia regionu jedynie poprzez
-oprogramowanie. NapÄdy RPC-2 majÄ
sprzÄtowe zabezpieczenie, które pozwala na co
-najwyżej 5 zmian. Jeżeli posiadamy napÄd DVD RPC-2 wymagana/zalecana jest
-aktualizacja firmware'u do RPC-1.
-Nowe wersje firmware'ów można znaleÅºÄ w internecie.
-Poszukiwania radzimy rozpoczÄ
Ä od
-<ulink url="http://forum.rpc-1.com/dl_all.php">forum firmware'ów</ulink>.
-Jeżeli nie ma tam nowej wersji firmware'u dla naszego urzÄ
dzenia, użyj
-<ulink url="http://linvdr.org/projects/regionset/">regionset tool
-(narzÄdzia do zmiany regionów)</ulink> aby ustawiÄ kod regionu na swoim napÄdzie
-DVD (pod Linuksem). <emphasis role="bold">Ostrzeżenie</emphasis>: Możesz
-ustawiÄ region tylko 5 razy.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="vcd">
-<title>Odtwarzanie VCD</title>
-
-<para>
-PeÅna lista dostÄpnych opcji znajduje siÄ na stronie man. SkÅadnia dla
-standardowego Video CD (VCD) jest nastÄpujÄ
ca:
-<screen>mplayer vcd://<replaceable><Åcieżka></replaceable> [-cdrom-device <replaceable><urzÄ
dzenie></replaceable>]</screen>
-PrzykÅad:
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-DomyÅlnym urzÄ
dzeniem VCD jest <filename>/dev/cdrom</filename>. JeÅli
-Twoje ustawienia sÄ
inne, utwórz dowiÄ
zanie symboliczne
-lub podaj prawidÅowe urzÄ
dzenie w linii poleceÅ za pomocÄ
opcji
-<option>-cdrom-device</option>
-</para>
-
-<note><para>
-Przynajmniej napÄdy CD-ROM SCSI firmy Plextor i niektóre modele Toshiby
-majÄ
beznadziejnÄ
wydajnoÅÄ przy odczycie VCD. Jest to spowodowane
-niekompletnÄ
implementacjÄ
<systemitem>ioctl</systemitem>'a CDROMREADRAW dla
-tych urzÄ
dzeÅ. JeÅli masz jakieÅ pojÄcie o programowaniu SCSI,
-<ulink url="../../tech/patches.txt">pomóż nam</ulink> zaimplementowaÄ ogólnÄ
-obsÅugÄ SCSI dla VCD.
-</para></note>
-
-<para>
-W miÄdzyczasie możesz wyciÄ
gaÄ dane z VCD za pomocÄ
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-i odtwarzaÄ plik wynikowy za pomocÄ
<application>MPlayera</application>
-</para>
-
-<formalpara>
-<title>Struktura VCD</title>
-<para>
-Video CD (VCD) skÅada siÄ z sektorów CD-ROM XA, tzn. Åcieżek CD-ROM
-mode 2 form 1 i form 2:
-<itemizedlist>
-<listitem><para>
- Pierwsza Åcieżka jest w formacie mode 2 form 2, który oznacza użycie korekcji
- bÅÄdów L2. Åcieżka ta zawiera system plików ISO-9660 o gÄstoÅci 2048
- bajtów/sektor. Ten system plików z kolei zawiera metainformacje VCD, a także
- nieruchome klatki, czÄsto używane w menu. Segmenty MPEG dla menu mogÄ
także
- byÄ skÅadowane w tejże pierwszej Åcieżce, ale MPEGi muszÄ
byÄ podzielone na
- kawaÅki po 150 sektorów. System plików ISO-9660 może zawieraÄ inne pliki bÄ
dź
- programy, niekonieczne dla eksploatacji VCD.
-</para></listitem>
-
-<listitem><para>
- Druga i pozostaÅe Åcieżki sÄ
zwykle Åcieżkami video MPEG typu raw o gÄstoÅci
- 2324 bajtów/sektor, zawierajÄ
cymi jeden pakiet danych MGEG PS na sektor.
- Åcieżki te sÄ
w formacje mode 2 form 1, wiÄc przechowujÄ
one wiÄcej danych na
- sektor, w zamian za sÅabszÄ
korekcjÄ bÅÄdów. Możliwe sÄ
też Åcieżki CD-DA na
- VCD poza pierwszÄ
ÅcieżkÄ
. Niektóre systemy operacyjne używajÄ
pewnych
- trików aby Åcieżki nie zawierajÄ
ce systemu plików ISO-9660 byÅy widoczne
- w systemie plików. W pozostaÅych systemach, jak na przykÅad w systemie
- GNU/Linux, nie ma takiej możliwoÅci (jeszcze). W takim przypadku dane MPEG
- <emphasis role="bold">nie mogÄ
byÄ montowane</emphasis>.
- Jako że wiÄkszoÅÄ filmów znajduje siÄ na tego typu Åcieżce,
- powinieneÅ spróbowaÄ na poczÄ
tek opcji <option>vcd://2</option>.
-</para></listitem>
-
-<listitem><para>
- IstniejÄ
również pÅyty VCD bez pierwszej Åcieżki (pojedyncza Åcieżka i
- brak systemu plików w ogóle). Je również da siÄ odtwarzaÄ, ale nie da
- siÄ ich montowaÄ.
-</para></listitem>
-
-<listitem><para>
- Definicja standardu Video CD, nazywana "BiaÅÄ
KsiÄgÄ
" Phillipsa,
- generalnie nie jest dostÄpna online, musi byÄ zakupiona u Phillipsa.
- Bardziej szczegóÅowe informacje na temat Video CD można znaleÅºÄ na
- <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">stronie dokumentacji vcdimagera</ulink>.
-</para></listitem>
-</itemizedlist>
-</para>
-</formalpara>
-
-<formalpara>
-<title>O plikach .DAT</title>
-<para>
-Plik o rozmiarze ok. 600 MB widoczny na pierwszej Åcieżce zamontowanego VCD
-nie jest prawdziwym plikiem ! Jest on tzw. bramkÄ
ISO, utworzonÄ
by
-Windows mógÅ obsÅugiwaÄ takie Åcieżki (Windows w ogóle nie zezwala aplikacjom
-na dostÄp do urzÄ
dzeÅ w trybie raw). Pod Linuksem nie możesz kopiowaÄ ani
-odtwarzaÄ tych plików (zawierajÄ
"Åmieci"). Pod Windows jest to możliwe, gdyż
-jego sterownik iso9660 symuluje odczyt Åcieżek w trybie raw za pomocÄ
tego
-pliku. By móc odtwarzaÄ pliki .DAT, musisz mieÄ sterownik do jÄ
dra, który
-dostarczany jest z linuksowÄ
wersjÄ
PowerDVD. Posiada on zmodyfikowany sterownik
-systemu plików iso9660 (<filename>vcdfs/isofs-2.4.X.o</filename>), który jest w
-stanie symulowaÄ odczyt Åcieżek w trybie raw za pomocÄ
pliku .DAT. JeÅli
-podmontujesz pÅytÄ używajÄ
c ich sterownika, możesz kopiowaÄ, a nawet odtwarzaÄ
-pliki .DAT za pomocÄ
<application>MPlayera</application>. Ale nie bÄdzie to
-dziaÅaÅo za pomocÄ
standardowego sterownika iso9660 dostarczonego z jÄ
drem
-Linuksa! Zamiast tego użyj opcji <option>vcd://</option>. AlternatywÄ
dla
-kopiowania VCD jest nowy sterownik:
-<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (nie jest
-czÄÅciÄ
oficjalnego jÄ
dra), który wyÅwietla sesje CD jako pliki obrazów, oraz
-<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, program do zgrywania
-pÅyt CD bit po bicie.
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
-<title>Decyzyjne Listy Edycji (Edit Decision Lists - EDL)</title>
-
-<para>
-Decyzyjna lista edycji (EDL) pozwala na automatyczne omijanie, bÄ
dź wyciszanie
-fragmentów filmów podczas ich odtwarzania, na podstawie pliku konfiguracji EDL
-dla danego filmu.
-</para>
-
-<para>
-Funkcja ta jest użyteczna dla osób, które zechcÄ
obejrzeÄ film w "przyjaznym
-dla rodziny" trybie. Możesz usunÄ
Ä z filmu przemoc, przekleÅstwa, Jar-Jar
-Binksa, zgodnie z wÅasnymi preferencjami. Ponadto istniejÄ
także inne
-zastosowania, jak automatyczne pomijanie reklam w oglÄ
danych filmach.
-</para>
-
-<para>
-Format pliku EDL jest raczej "goÅy". Używana jest struktura z pojedynczym
-poleceniem w wierszu, w którym okreÅlone jest co należy zrobiÄ (skip/mute),
-oraz kiedy (używajÄ
c opóźnienia w sekundach).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="edl_using">
-<title>Używanie pliku EDL</title>
-
-<para>
-Użyj podczas uruchamiania <application>MPlayera</application> flagi
-<option>-edl <nazwa pliku></option> z nazwÄ
pliku EDL, który ma byÄ
-zastosowany do filmu.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="edl_making">
-<title>Tworzenie pliku EDL</title>
-
-<para>
-Aktualny format pliku EDL jest nastÄpujÄ
cy:
-<programlisting>[sekunda poczÄ
tkowa] [sekunda koÅcowa] [akcja]</programlisting>
-gdzie liczby odpowiadajÄ
ce sekundom nie muszÄ
byÄ caÅkowite, zaÅ akcja może
-przyjmowaÄ wartoÅÄ <literal>0</literal> dla pominiÄcia bÄ
dź
-<literal>1</literal> dla wyciszenia.
-Na przykÅad:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-Oznacza to pominiÄcie filmu miÄdzy 5,3 sekundÄ
, a 7,1 sekundÄ
filmu, nastÄpnie
-wyciszenie od 15-tej sekundy do 16,7 sekundy i wreszcie pominiÄcie filmu
-pomiÄdzy 420 a 422 sekundÄ
Akcje te sÄ
wykonywane, gdy licznik czasu filmu
-osiÄ
gnie zadeklarowanÄ
wartoÅÄ.
-</para>
-
-<para>
-Aby stworzyÄ plik EDL, bÄdÄ
cy punktem wyjÅcia do dalszej edycji, użyj flagi
-<option>-edlout <nazwa pliku></option>.
-NastÄpnie, podczas odtwarzania filmu, naciÅnij <keycap>i</keycap>, aby oznaczyÄ
-poczÄ
tek i koniec bloku do pominiÄcia.
-Odpowiedni wpis zostanie automatycznie utworzony w pliku.
-Wtedy możesz wróciÄ do edycji i "dostrajania" wygenerowanego pliku EDL,
-w którym możesz także zmieniÄ domyÅlne pomijanie bloku na wyciszanie.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="advaudio" xreflabel="Advanced Audio">
-<title>Zaawansowane audio</title>
-
-<sect2 id="advaudio-surround">
-<title>DźwiÄk przestrzenny/wielokanaÅowy</title>
-
-<sect3 id="advaudio-surround-DVD">
-<title>DVDs</title>
-
-<para>
-WiÄkszoÅÄ pÅyt DVD, a także wiele innych plików, zawiera dźwiÄk przestrzenny.
-<application>MPlayer</application> obsÅuguje dźwiÄk przestrzenny, ale opcja ta
-nie jest domyÅlnie wÅÄ
czona, ponieważ sprzÄt przeznaczony dla zwykÅego stereo
-jest znacznie bedziej popularny. Aby odtworzyÄ plik zawierajÄ
cy wiÄcej niż dwa
-kanaÅy audio, użyj opcji <option>-channels</option>.
-Na przykÅad, aby odtworzyÄ DVD z audio 5.1:
-<screen>mplayer dvd://1 -channels 6</screen>
-Zauważmy, że mimo nazwy "5.1", używanych jest 6 kanaÅów.
-Jeżeli posiadasz sprzÄt pozwalajÄ
cy na odtwarzanie dźwiÄku przestrzennego możesz
-bezpiecznie wpisaÄ <option>channels</option> do swojego pliku konfiguracyjnego
-<application>MPlayera</application> (<filename>~/.mplayer/config</filename>).
-PrzykÅadowo, aby domyÅlnie wÅÄ
czyÄ efekt kwadrofonii, należy dodaÄ wiersz:
-<programlisting>channels=4</programlisting>
-Od tego momentu, <application>MPlayer</application> bÄdzie odtwarzaÅ cztery
-kanaÅy audio, zawsze gdy bÄdÄ
one dostÄpne.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-stereoinfour">
-<title>Odtwarzanie plików stereo przy użyciu czterech gÅoÅników</title>
-
-<para>
-<application>MPlayer</application> standardowo nie duplikuje kanaÅów, ani nie
-robi tego wiÄkszoÅÄ sterowników audio. Jeżeli chcesz zrobiÄ to rÄcznie:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
-Zobacz sekcjÄ o
-<link linkend="advaudio-channels-copying">kopiowaniu kanaÅów</link>,
-jest tam wyjaÅnienie tego polecenia.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-passthrough">
-<title>Przekazywanie AC3/DTS</title>
-
-<para>
-DźwiÄk przestrzenny na pÅytach DVD zazwyczaj kodowany jest w formacie AC3
-(Dolby Digital) lub DTS (Digital Theater System). CzÄÅÄ wspóÅczesnego sprzÄtu
-audio jest w stanie dekodowaÄ te formaty.
-<application>MPlayer</application> może zostaÄ skonfigurowany, aby przekazywaÅ
-dane audio bez ich dekodowania. RozwiÄ
zanie takie bÄdzie dziaÅaÅo tylko, jeżeli
-posiadasz w swojej karcie muzycznej zÅÄ
cze S/PDIF (Sony/Philips Digital Interface).
-</para>
-
-<para>
-Jeżeli twój sprzÄt audio potrafi dekodowaÄ zarówno AC3 jak i DTS, możesz
-bezpiecznie wÅÄ
czyÄ przekazywanie dla obu formatów. W przeciwnym razie, tylko
-dla tego formatu, który jest obsÅugiwany przez Twój sprzÄt.
-</para>
-
-<itemizedlist>
-<title>Aby wÅÄ
czyÄ przekazywanie z wiersza poleceÅ:</title>
-<listitem><para>
- dla AC3 użyj <option>-ac hwac3</option>
-</para></listitem>
-<listitem><para>
- dla DTS użyj <option>-ac hwdts</option>
-</para></listitem>
-<listitem><para>
- dla AC3 i DTS użyj <option>-afm hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Aby wÅÄ
czyÄ przekazywanie w pliku konfiguracyjnym
- <application>MPlayera</application>: </title>
-<listitem><para>
- dla AC3 użyj <option>ac=hwac3,</option>
-</para></listitem>
-<listitem><para>
- dla DTS użyj <option>ac=hwdts,</option>
-</para></listitem>
-<listitem><para>
- dla AC3 i DTS użyj <option>afm=hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<para>
-Zauważ, że na koÅcu opcji <option>ac=hwac3,</option> oraz
-<option>ac=hwdts,</option> sÄ
przecinki. PowodujÄ
one, że
-<application>MPlayer</application> bÄdzie używaÅ standardowych kodeków, które
-sÄ
normalnie używane podczas odtwarzania plików, które nie posiadajÄ
dźwiÄku
-AC3 ani DTS.
-Opcja <option>afm=hwac3</option> nie wymaga przecinka,
-samo podanie rodziny kodeków powoduje że <application>MPlayer</application>
-wypróbuje inne gdy bÄdzie musiaÅ.
-</para>
-</sect3>
-
-
-<sect3 id="hwmpa-surround-passthrough">
-<title>Przekazywanie dźwiÄku MPEG</title>
-
-<para>
-Cyfrowe transmisje TV (takie jak DVB czy ATSC), także niektóre pÅyty DVDs
-zazwyczaj zawierajÄ
strumienie audio w formacie MPEG (zazwyczaj MP2).
-CzÄÅÄ sprzÄtowych dekoderów MPEG, takich jak peÅnofunkcjonalne karty DVB, oraz
-adaptery DXR2, potrafi natywnie dekodowaÄ ten format.
-<application>MPlayer</application> może zostaÄ tak skonfigurowany, aby przekazywaÄ
-dane audio bez ich dekodowania.
-</para>
-
-<para>
-Aby użyÄ tego sposobu dekodowania:
-<screen> mplayer -ac hwmpa </screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-matrix">
-<title>DźwiÄk zakodowany macierzowo</title>
-
-<para>
-<emphasis>***TODO***</emphasis>
-</para>
-
-<para>
-Ta sekcja musi dopiero zostaÄ napisana i nie może zostaÄ ukoÅczona zanim
-ktoÅ nie dostarczy przykÅadowych plików do testów. Jeżeli posiadasz jakieÅ
-pliki audio zakodowane macierzowo (matrix-encoded), wiesz kto je posiada lub
-wiesz cokolwiek co mogÅoby byÄ pomocne, wyÅlij proszÄ informacjÄ na listÄ
-mailingowÄ
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>
-W temacie podaj "[matrix-encoded audio]".
-</para>
-
-<para>
-Jeżeli nie nadejdÄ
żadne wiadomoÅci, ta sekcja zostanie usuniÄta.
-</para>
-
-<para>
-Przydatne linki:
-<itemizedlist>
-<listitem><para>
- <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-hrtf">
-<title>Emulacja przestrzeni w sÅuchawkach</title>
-
-<para>
-<application>MPlayer</application> posiada filtr HRTF (Head Related Transfer
-Function) bazujÄ
cy na <ulink url="http://sound.media.mit.edu/KEMAR.html">projekcie MIT</ulink>,
-w ramach którego wykonane zostaÅy pomiary z mikrofonów zamontowanych na gÅowie
-ludzkiego manekina.
-</para>
-
-<para>
-Chociaż nie jest możliwe dokÅadne zasymulowanie systemu dźwiÄku przestrzennego,
-filtr HRTF zawarty w <application>MPlayerze</application> powoduje bardziej
-przestrzenne zanurzenie w dźwiÄku przy użyciu 2-kanaÅowych sÅuchawek.
-Standardowy procedura po prostu ÅÄ
czy wszystkie kanaÅy w dwa. <option>hrtf</option>,
-obok ÅÄ
czenia kanaÅów, generuje także subtelne echa, nieznacznie zwiÄksza
-separacjÄ kanaÅów stereo, a także zmienia gÅoÅnoÅÄ niektórych czÄstotliwoÅci.
-To, czy dźwiÄk HRTF brzmi lepiej, może zależeÄ od źródÅa dźwiÄku oraz gustu
-sÅuchacza, ale z pewnoÅciÄ
jest on warty wypróbowania.
-</para>
-
-<para>
-Odtwarzanie DVD z HRTF:
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-</para>
-
-<para>
-<option>hrtf</option> dziaÅa poprawnie tylko przy 5 i 6 kanaÅach. Opcja ta wymaga
-także audio próbkowanego z czÄstotliwoÅciÄ
48kHz. Audio na pÅytach DVD jest już
-próbkowane 48kHz, lecz jeżeli chcesz odtworzyÄ plik z innym próbkowaniem i opcjÄ
-<option>hrtf</option>, musisz dokonaÄ jego przepróbkowania tego pliku:
-<screen>
-mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-troubleshooting">
-<title>RozwiÄ
zywanie problemów</title>
-
-<para>
-Jeżeli nie sÅyszysz żadnych dźwiÄków, sprawdź ustawienia miksera przy pomocy
-stosownego programu, takiego jak <application>alsamixer</application>;
-niejednokrotnie wyjÅcia audio sÄ
domyÅlnie wyciszone lub ich gÅoÅnoÅÄ jest ustawiona
-na zero.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-channels">
-<title>Manipulowanie kanaÅami</title>
-
-<sect3 id="advaudio-channels-general">
-<title>Ogólne informacje</title>
-
-<para>
-Niestety nie ma żadnego standardu opisujÄ
cego w jaki sposób kanaÅy sÄ
uporzÄ
dkowane.
-Poniższe porzÄ
dki przedstawiajÄ
te używane przez AC3, które sÄ
doÅÄ typowe. Spróbuj
-ich i sprawdź czy odpowiednie źródÅa dźwiÄku siÄ zgadzajÄ
. KanaÅy sÄ
numerowane od 0.
-
-<orderedlist spacing="compact">
-<title>mono</title>
- <listitem override="0"><para>Årodkowy</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>stereo</title>
- <listitem override="0"><para>lewy</para></listitem>
- <listitem><para>prawy</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>kwadrofonia</title>
- <listitem override="0"><para>lewy przedni</para></listitem>
- <listitem><para>prawy przedni</para></listitem>
- <listitem><para>lewy tylny</para></listitem>
- <listitem><para>prawy tylny</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 4.0</title>
- <listitem override="0"><para>lewy przedni</para></listitem>
- <listitem><para>prawy przedni</para></listitem>
- <listitem><para>Årodkowy tylny</para></listitem>
- <listitem><para>Årodkowy przedni</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.0</title>
- <listitem override="0"><para>lewy przedni</para></listitem>
- <listitem><para>prawy przedni</para></listitem>
- <listitem><para>lewy tylny</para></listitem>
- <listitem><para>prawy tylny</para></listitem>
- <listitem><para>Årodkowy przedni</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.1</title>
- <listitem override="0"><para>lewy przedni</para></listitem>
- <listitem><para>prawy przedni</para></listitem>
- <listitem><para>lewy tylny</para></listitem>
- <listitem><para>prawy tylny</para></listitem>
- <listitem><para>Årodkowy przedni</para></listitem>
- <listitem><para>subwoofer (gÅoÅnik niskotonowy)</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Opcja <option>-channels</option> jest używana w celu okreÅlenia liczby kanaÅów
-dekodowanego audio. Niektóre kodeki audio wykorzystujÄ
tÄ liczbÄ aby zdecydowaÄ
-czy konieczne jest zmniejszenie liczby kanaÅów poprzez miksowanie.
-Zauważ, że ustawienie tej opcji nie jest równoważne z ustawieniem liczby
-wyjÅciowych kanaÅów. PrzykÅadowo, używajÄ
c opcji <option>-channels 4</option>
-aby odtworzyÄ plik stereo MP3, otrzymamy 2 kanaÅy wyjÅciowe, bowiem kodek MP3
-nie potrafi spreparowaÄ dodatkowych kanaÅów.
-</para>
-
-<para>
-Filtr audio <option>channels</option> może byÄ użyty aby stworzyÄ lub usunÄ
Ä kanaÅy,
-co może byÄ przydatne przy okreÅlaniu liczy kanaÅów przesyÅanych do karty muzycznej.
-Aby dowiedzieÄ siÄ wiÄcej, zobacz kolejne sekcje.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mono">
-<title>Odtwarzanie dźwiÄku mono przy użyciu dwóch gÅoÅników</title>
-
-<para>
-DźwiÄk mono brzmi znacznie lepiej, gdy jest odtwarzany przy użyciu dwóch
-gÅoÅników - szczególnie gdy używamy sÅuchawek. Pliki audio, które posiadajÄ
-tylko jeden kanaÅ audio sÄ
automatycznie odtwarzane przy użyciu obu gÅoÅników;
-niestety wiÄkszoÅÄ plików mono jest zakodowana jako dźwiÄk stereo, gdzie jeden
-kanaÅ jest wyciszony. NajÅatwiejszÄ
i najbardziej niezawodnÄ
metodÄ
pozwalajÄ
cÄ
-na odtworzenie dźwiÄku przy użyciu obu gÅoÅników jest użycie filtru
-<option>extrastereo</option>:
-<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0</screen>
-</para>
-
-<para>
-Metoda ta uÅrednia oba kanaÅy, co skutkuje zmniejszeniu gÅoÅnoÅci każdego z kanaÅów
-o poÅowÄ wzglÄdem oryginaÅu. W nastÄpnej sekcji zawarto przykÅady innych metod rozwiÄ
zania
-tego problemu bez zmniejszania gÅoÅnoÅci; niestety sÄ
one bardziej skomplikowanego
-i wymagajÄ
różnych opcji w zależnoÅci od kanaÅu, który zawiera dane.
-Jeżeli na prawdÄ potrzebujesz utrzymaÄ gÅoÅnoÅÄ, możliwe że Åatwiej bÄdzie odpowiednio
-dopasowaÄ gÅoÅnoÅÄ przy użyciu filtru <option>volume</option>. Na przykÅad:
-<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0,volume=5</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-copying">
-<title>Kopiowanie i przesuwanie kanaÅów</title>
-
-<para>
-Filtr <option>channels</option> potrafi przesunÄ
Ä dowolny jeden lub wszystkie kanaÅy.
-Ustawienie wszystkich podopcji filtru <option>channels</option> może byÄ
-skomplikowane i wymaga nieco uwagi.
-
-<orderedlist spacing="compact">
-<listitem><para>
- Zdecyduj ile wyjÅciowych kanaÅów audio potrzebujesz. Oto pierwsza podopcja.
-</para></listitem>
-<listitem><para>
- Policz ile przesuniÄÄ kanaÅów zamierzasz wykonaÄ. To jest druga podopcja.
- Każdy kanaÅ może byÄ przesuniÄty do kilku różnych kanaÅów w tym samym czasie,
- ale pamiÄtaj, że gdy przesuniesz kanaÅ (również gdy tylko do jednego kanaÅu
- docelowego), źródÅo zostanie opróżnione, chyba że inny kanaÅ zostanie tam
- przesuniÄty. Aby skopiowaÄ kanaÅ, pozostawiajÄ
c źródÅo nietkniÄte, po prostu
- przesuÅ kanaÅ zarówno do miejsca kopiowania, jak i do źródÅa. Na przykÅad:
- <programlisting>
-kanaÅ 2 --> kanaÅ 3
-kanaÅ 2 --> kanaÅ 2<!--
- --></programlisting>
-</para></listitem>
-<listitem><para>
- Wypisz kopie kanaÅów jako pary subopcji. PamiÄtaj, że pierwszy kanaÅ ma numer
- 0, drugi 1 itd. KolejnoÅÄ subopcji nie jest istotna tak dÅugo, ale muszÄ
one
- byÄ pogrupowane w pary typu
- <replaceable>źródÅo:cel</replaceable>.
-</para></listitem>
-</orderedlist>
-</para>
-
-<bridgehead>PrzykÅad: jeden kanaÅ w dwóch gÅoÅnikach</bridgehead>
-<para>
-Oto przykÅad innej metody odtwarzania jednego kanaÅu w dwóch gÅoÅnikach.
-ZaÅóżmy, że lewy kanaÅ ma byÄ odtwarzany, a prawy ma zostaÄ pominiÄty.
-Zgodnie z krokami opisanymi powyżej:
-<orderedlist>
-<listitem><para>
- Aby dostarczyÄ dźwiÄk do każdego z dwóch gÅoÅników, pierwsza opcja musi mieÄ
- wartoÅÄ "2".
-</para></listitem>
-<listitem><para>
- Lewy kanaÅ musi zostaÄ przesuniÄty do prawego kanaÅu oraz lewego, aby nie
- zostaÅ on pusty. Sumaryczna liczba przesuniÄÄ to dwa, zatem druga opcja to
- również "2".
-</para></listitem>
-<listitem><para>
- Aby przesunÄ
Ä lewy kanaÅ (kanaÅ 0) do kanaÅu prawego (kanaÅ 1), para subopcji
- musi byc "0:1", "0:0" przesunie lewy kanaÅ do siebie.
-</para></listitem>
-</orderedlist>
-Po poÅÄ
czeniu wszystkiego razem otrzymamy:
-<screen>
-mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0
-</screen>
-</para>
-
-<para>
-Przewaga tego przykÅadu nad opcjÄ
<option>extrastereo</option> jest taka, że
-gÅoÅnoÅÄ każdego z kanaÅów wyjÅciowych pozostanie taka sama jak kanaÅu źródÅowego.
-WadÄ
jest, że podopcje muszÄ
zostaÄ zmienione na "2:2:1:0:1:1", gdy dźwiÄk zawiera
-kanaÅ prawy. Ponadto trudniej to zapamiÄtaÄ i wpisaÄ.
-</para>
-
-<bridgehead>PrzykÅad: lewy kanaÅ w obu gÅoÅnikach (skrót)</bridgehead>
-<para>
-Istnieje znacznie Åatwiejsza metoda na użycie filtru <option>channels</option> w
-celu odtworzenia lewego kanaÅu w dwóch gÅoÅnikach:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=1</screen>
-Drugi kanaÅ jest pomijany, a pierwszy jest pozostawiany, bez dodatkowych podopcji.
-Sterowniki kart muzycznych automatycznie odtwarzajÄ
jednokanaÅowy dźwiÄk wykorzystujÄ
c
-oba gÅoÅniki. OczywiÅcie zadziaÅa to tylko, gdy pożÄ
danym kanaÅem jest kanaÅ lewy.
-</para>
-
-<bridgehead>PrzykÅad: kopiowanie kanaÅów przednich do kanaÅów tylnych</bridgehead>
-<para>
-KolejnÄ
typowÄ
operacjÄ
jest kopiowanie kanaÅów przednich i odtwarzanie ich
-z tylnych gÅoÅników zestawu kwadrofonicznego.
-<orderedlist>
-<listitem><para>
- Potrzebujemy czterech kanaÅów wyjÅciowych, wiÄc pierwsza podopcja to "4".
-</para></listitem>
-<listitem><para>
- Każdy z przednich kanaÅów musi zostaÄ przesuniÄty do odpowiedniego kanaÅu
- tylnego oraz do siebie. W sumie użyte bÄdÄ
cztery przesuniÄcia, wiÄc druga
- opcja to "4".
-</para></listitem>
-<listitem><para>
- Lewy przedni kanaÅ (kanaÅ 0) musi zostaÄ przesuniÄty do lewego tylnego (kanaÅ
- 2): "0:2". Lewy przedni musi byÄ także przesuniÄty do siebie: "0:0". Prawy
- przedni (kanaÅ 1) musi zostaÄ przesuniÄty do prawego tylnego (kanaÅ 3): "1:3"
- oraz do siebie: "1:1".
-</para></listitem>
-</orderedlist>
-Po poÅÄ
czeniu wszystkich podopcji otrzymujemy:
-<screen>
-mplayer <replaceable>filename</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mixing">
-<title>Miksowanie kanaÅów</title>
-
-<para>
-Filtr <option>pan</option> potrafi zmiksowaÄ kanaÅy w okreÅlonych przez
-użytkownika proporcjach. Pozwala to na wykonanie wszystkiego tego co potrafi
-filtr <option>channels</option> i wiele wiÄcej. Niestety podopcje sÄ
tutaj
-znacznie bardziej skomplikowane.
-<orderedlist>
-<listitem><para>
- Zdecyduj z iloma kanaÅami chcesz pracowaÄ. Aby to okreÅliÄ możesz potrzebowaÄ
- użyÄ <option>-channels</option> i/lub <option>-af channels</option>.
- Późniejsze przykÅady pokażÄ
kiedy użyÄ którego.
-</para></listitem>
-<listitem><para>
- Zdecyduj ile kanaÅów ma zostaÄ wprowadzonych do <option>pan</option> (dalsze
- dekodowane kanaÅy zostanÄ
porzucone). To jest pierwsza podopcja. Kontroluje
- ona także liczbÄ kanaÅów używanych jako wyjÅcie.
-</para></listitem>
-<listitem>
- <para>
- PozostaÅe podopcje okreÅlajÄ
jak dużÄ
czÄÅÄ danego kanaÅu zmiksowaÄ do kanaÅu
- docelowego. To jest najbardziej skomplikowana czÄÅÄ. Aby sprostaÄ temu
- zadaniu, podzielmy podopcje na kilka grup, po jednej dla każdego kanaÅu
- wyjÅciowego. Każda podopcja w zbiorze odpowiada pojedynczemu kanaÅowi
- wejÅciowemu. Liczba, którÄ
podasz odpowiada czÄÅci kanaÅu wejÅciowego, która
- zostanie zmiksowana w kanale wyjÅciowym.
- </para>
- <para>
- <option>pan</option> akceptuje wartoÅci od 0 do 512, co odpowiada wartoÅciom
- od 0% do 51200% oryginalnej gÅoÅnoÅci. BÄ
dź ostrożny używajÄ
c wartoÅci
- wiÄkszych od 1. Może to spowodowaÄ nie tylko bardzo duże zwiÄkszenie
- gÅoÅnoÅci, ale także, jeżeli przekroczysz zakres swojej karty muzycznej,
- możesz usÅyszeÄ okropne trzaski. Jeżeli chcesz, możesz stosowaÄ po filtrze
- <option>pan</option> dopisaÄ <option>,volume</option>, co wÅÄ
czy obcinanie
- gÅoÅnoÅci, jednak najlepiej używaÄ na tyle maÅych wartoÅci parametrów
- <option>pan</option>, aby przycinanie nie byÅo potrzebne.
- </para>
-</listitem>
-</orderedlist>
-</para>
-
-<bridgehead>PrzykÅad: jeden kanaÅ w dwóch gÅoÅnikach</bridgehead>
-<para>
-Oto jeszcze jeden przykÅad, jak odtworzyÄ lewy kanaÅ w dwóch gÅoÅnikach.
-PostÄpujÄ
c zgodnie z krokami opisanymi powyżej:
-<orderedlist>
-<listitem><para>
- <option>pan</option> powinien używaÄ dwóch kanaÅów wyjÅciowych, wiÄc pierwsza
- podopcja to "2".
-</para></listitem>
-<listitem><para>
- Ponieważ mamy dwa kanaÅy wejÅciowe, bÄdziemy mieli dwie grupy podopcji.
- Ponieważ używane sÄ
również dwa kanaÅy wyjÅciowe, w każdej grupie bÄdÄ
po dwie
- podopcje. Lewy kanaÅ z pliku powinien zostaÄ skopiowany z peÅnÄ
gÅoÅnoÅciÄ
- do nowych kanaÅu: lewego i prawego. W zwiÄ
zku z tym, pierwsza grupa podopcji
- to "1:1". Prawy kanaÅ powinien zostaÄ pominiÄty, zatem druga grupa to "0:0".
- Wszelkie zera na koÅcu listy podopcji mogÄ
zostaÄ pominiÄte, ale dla
- przejrzystoÅci przykÅadu, pozostawimy je.
-</para></listitem>
-</orderedlist>
-Po zÅÄ
czeniu wszystkich podopcji otrzymamy:
-<screen>mplayer <replaceable>filename</replaceable> -af pan=2:1:1:0:0</screen>
-Jeżeli pożÄ
danym kanaÅem jest prawy, a nie lewy, podopcje zmieniÄ
siÄ na
-"2:0:0:1:1".
-</para>
-
-
-<bridgehead>PrzykÅad: lewy kanaÅ w dwóch gÅoÅnikach (skrót)</bridgehead>
-<para>
-Podobnie jak przy użyciu <option>channels</option>, istnieje skrót dziaÅajÄ
cy
-tylko z lewym kanaÅem:
-<screen>mplayer <replaceable>filename</replaceable> -af pan=1:1</screen>
-Jeżeli <option>pan</option> posiada tylko jeden kanaÅ wejÅciowy (pozostaÅe kanaÅy
-sÄ
pomijane), potrzebna jest tylko jedna grupa podopcji z jednÄ
podopcjÄ
, która
-oznacza, że jedyny kanaÅ bÄdzie zawieraÅ 100% siebie.
-</para>
-
-<bridgehead>PrzykÅad: zmniejszanie liczy kanaÅów w 6-kanaÅowym PCM</bridgehead>
-<para>
-Dekoder 6-kanaÅowego PCM zawarty w <application>MPlayerze</application> nie potrafi
-zmniejszaÄ liczby kanaÅów przez miksowanie. Oto metoda dokonania tego przy użyciu
-opcji <option>pan</option>:
-<orderedlist>
-<listitem><para>
- Liczba kanaÅów wyjÅciowych to 2, wiÄc pierwsza podopcja to "2".
-</para></listitem>
-<listitem><para>
- Jako, że mamy 6 kanaÅów wejÅciowych, musimy użyÄ szeÅciu grup opcji.
- Na szczÄÅcie, ponieważ interesujÄ
nas tylko dwa pierwsze kanaÅy, możemy
- użyÄ tylko dwóch grup opcji; pozostaÅe cztery grupy mogÄ
zostaÄ pominiÄte.
- PamiÄtaj, że nie wszystkie wielokanaÅowe pliki audio majÄ
tÄ samÄ
kolejnoÅÄ
- kanaÅów. Poniższy przykÅad pokazuje zmniejszanie liczby kanaÅów w pliku, w którym
- kolejnoÅÄ kanaÅów jest taka, jak w AC3 5.1:
- <programlisting>
-0 - lewy przedni
-1 - prawy przedni
-2 - lewy tylny
-3 - prawy tylny
-4 - Årodkowy przedni
-5 - subwoofer (gÅoÅnik niskotonowy)<!--
- --></programlisting>
- Pierwsza grupa podopcji zawiera kolejne wartoÅci oryginalnej gÅoÅnoÅci lewego
- przedniego kanaÅu, które powinny byÄ dostarczone do odpowiednich kanaÅów
- wyjÅciowych: "1:0". Prawy przedni kanaÅ powinien zostaÄ przeniesiony do
- prawego wyjÅciowego: "0:1". Analogicznie dla kanaÅów tylnych: "1:0" i "0:1".
- KanaÅ Årodkowy powinien zostaÄ przeniesiony do obu kanaÅów wyjÅciowych z poÅowÄ
- gÅoÅnoÅci: "0.5:0.5", zaÅ kanaÅ gÅoÅnika niskotonowego powinien byÄ sÅyszalny
- w obu kanaÅach wyjÅciowych z peÅnÄ
gÅoÅnoÅciÄ
: "1:1".
-</para></listitem>
-</orderedlist>
-PoÅÄ
cz wszystko razem, a otrzymasz:
-<screen>
-mplayer <replaceable>6-channel.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
-</screen>
-Przedstawione powyżej gÅoÅnoÅci sÄ
tylko przybliżonym przykÅadem. Nie czuj siÄ
-nimi skrÄpowany i zmieniaj je zgodnie ze swoim uznaniem.
-</para>
-
-<bridgehead>PrzykÅad: Odtwarzanie audio 5.1 przy pomocy dużych gÅoÅników, bez subwoofera</bridgehead>
-<para>
-Jeżeli posiadasz parÄ dużych przednich gÅoÅników, możesz nie mieÄ ochoty
-traciÄ pieniÄdzy na dodatkowy gÅoÅnik niskotonowy, tylko po to, aby mieÄ
-kompletny system 5.1. Jeżeli użyjesz opcji <option>-channels 5</option>,
-przekażesz do lib52 informacjÄ, że ma dekodowaÄ audio 5.1 dla systemu 5.0.
-Tym sposobem kanaÅ gÅoÅnika niskotonowego zostanie po prostu pominiÄty.
-Jeżeli chcesz rozdzieliÄ kanaÅ subwoofera samodzielnie, musisz dokonaÄ rÄcznego
-zmiksowania przy użyciu <option>pan</option>:
-<orderedlist>
-<listitem><para>
- Jako, że <option>pan</option> musi analizowaÄ wszystkie 6 kanaÅów,
- podaj opcjÄ <option>-channels 6</option>, aby liba52 zdekodowaÅ je wszystkie.
-</para></listitem>
-<listitem><para>
- Ponieważ <option>pan</option> bÄdzie używaÅ piÄciu kanaÅów wyjÅciowych,
- pierwsza podopcja to "5".
-</para></listitem>
-<listitem><para>
- SzeÅÄ kanaÅów wejÅciowych i piÄÄ wyjÅciowych oznacza 6 grup po 5 podopcji.
- <itemizedlist spacing="compact">
- <listitem><para>
- Lewy przedni kanaÅ replikuje samego siebie:
- "1:0:0:0:0"
- </para></listitem>
- <listitem><para>
- Identycznie dla prawego przedniego kanaÅu:
- "0:1:0:0:0"
- </para></listitem>
- <listitem><para>
- Tak samo dla lewego tylnego:
- "0:0:1:0:0"
- </para></listitem>
- <listitem><para>
- Oraz tak samo dla prawego tylnego:
- "0:0:0:1:0"
- </para></listitem>
- <listitem><para>
- Årodkowy też:
- "0:0:0:0:1"
- </para></listitem>
- <listitem><para>
- Teraz musimy zdecydowaÄ, co zrobiÄ z subwooferem. Na przykÅad możemy
- podzieliÄ go po poÅowie na lewy przedni i prawy przedni:
- "0.5:0.5:0:0:0"
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-</orderedlist>
-Po poÅÄ
czeniu wszystkich opcji otrzymasz:
-<screen>
-mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-volume">
-<title>Programowa regulacja gÅoÅnoÅci</title>
-
-<para>
-Niekóre Åcieżki audio sÄ
zbyt ciche aby można ich komfortowo sÅuchaÄ bez
-wzmocnienia. Staje siÄ to problemem, gdy Twój sprzÄt audio nie potrafi wzmacniaÄ
-sygnaÅu. Opcja <option>-softvol</option> instruuje <application>MPlayera</application>,
-aby ten używaÅ wewnÄtrznego miksera. Możesz wtedy używaÄ klawiszy strojenia
-gÅoÅnoÅci (domyÅlnie <keycap>9</keycap> i <keycap>0</keycap>), aby uzyskaÄ
-wiÄksze poziomy gÅoÅnoÅci. PamiÄtaj, że nie omija to miksera Twojej karty
-muzycznej; <application>MPlayer</application> zwiÄksza tylko gÅoÅnoÅÄ sygnaÅu
-przed przesÅaniem go do Twojej karty.
-Poniższy przykÅad może byÄ dobrym poczÄ
tkiem:
-<screen>
-mplayer <replaceable>cichy-plik</replaceable> -softvol -softvol-max 300
-</screen>
-Opcja <option>-softvol-max</option> okreÅla maksymalny dozwolony poziom gÅoÅnoÅci,
-jako procent gÅoÅnoÅci oryginalnej. PrzykÅadowo, <option>-softvol-max 200</option>
-pozwoli na maksymalne zwiÄkszenie gÅoÅnoÅci do 200% gÅoÅnoÅci oryginalnej.
-Można bezpiecznie używaÄ dużych parametrów <option>-softvol-max</option>;
-wiÄksza gÅoÅnoÅÄ nie zostanie użyta, jeżeli nie zwiÄkszysz jej przy pomocy
-klawiszy regulacji gÅoÅnoÅci. JedynÄ
wadÄ
stosowania wiÄkszych wartoÅci jest to,
-że, ponieważ <application>MPlayer</application> ustala gÅoÅnoÅÄ jako procent
-gÅoÅnoÅci maksymalnej, nie bÄdziesz w stanie precyzyjnie kontrolowaÄ gÅoÅnoÅci
-przy pomocy klawiszy regulacji gÅoÅnoÅci. Użyj mniejszych wartoÅci parametrów
-<option>-softvol-max</option> i/lub dodaj opcjÄ <option>-volstep 1</option>
-aby uzyskaÄ wiÄkszÄ
precyzjÄ.
-</para>
-
-<para>
-Opcja <option>-softvol</option> dziaÅa poprzez kontrolÄ filtru
-<option>volume</option>. Jeżeli chcesz odtwarzaÄ plik z okreÅlonÄ
gÅoÅnoÅciÄ
,
-możesz podaÄ opcjÄ dla <option>volume</option> rÄcznie:
-<screen>mplayer <replaceable>cichy-plik</replaceable> -af volume=10</screen>
-Pozwoli to na odtworzenie pliku z 10-decybelowym wzmocnieniem. BÄ
dź ostrożny
-używajÄ
c filtru <option>volume</option> - ustawiajÄ
c zbyt dużÄ
gÅoÅnoÅÄ możesz
-Åatwo uszkodziÄ swój sÅuch. Zaczynaj od maÅych wartoÅci i stopniowo zwiÄkszaj je
-aż do uzyskania pożÄ
danej gÅoÅnoÅci. Ponadto, jeżeli podasz zbyt dużÄ
wartoÅÄ,
-filtr <option>volume</option> może musieÄ przyciÄ
Ä gÅoÅnoÅÄ, aby nie przesÅaÄ
-do karty muzycznej danych spoza akceptowalnego przez niÄ
zakresu; bÄdzie to
-powodowaÄ znieksztaÅcenia dźwiÄku.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tv-input" xreflabel="TV input">
-<title>WejÅcie TV</title>
-
-<para>
-Sekcja ta opisuje jak <emphasis role="bold">oglÄ
daÄ/nagrywaÄ obraz
-za pomocÄ
tunera TV kompatybilnego z V4L</emphasis>. Zajrzyj do strony man
-by zobaczyÄ opis opcji TV i klawiszy sterujÄ
cych.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="tv-compilation">
-<title>Kompilacja</title>
-
-<procedure>
-<step><para>
- Najpierw musisz przekompilowaÄ. <filename>./configure</filename> wykryje
- automatycznie nagÅówki jÄ
dra zwiÄ
zane z V4L i obecnoÅÄ urzÄ
dzeÅ
- <filename>/dev/video*</filename>. JeÅli istniejÄ
, obsÅuga TV zostanie
- wbudowana (zobacz wynik dziaÅania <filename>./configure</filename>).
-</para></step>
-<step><para>
- Upewnij siÄ, że Twój tuner dziaÅa z innymi programami do obsÅugi TV pod
- Linuksem, na przykÅad <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-tips">
-<title>Wskazówki użytkowania</title>
-
-<para>
-Kompletna lista opcji dostÄpna jest na stronie man.
-Tu jest tylko kilka wskazówek:
-
-<itemizedlist>
-<listitem><para>
- Używaj opcji <option>channels</option>. PrzykÅad:
- <screen>-tv channels=26-MTV1,23-TV2</screen>
- WyjaÅnienie: JeÅli użyjesz tej opcji, dostÄpne bÄdÄ
tylko kanaÅy 23 i 26 oraz
- przy zmianie kanaÅu pojawi siÄ Åadny napis na OSD, wyÅwietlajÄ
cy jego nazwÄ.
- OdstÄpy w nazwie kanaÅu muszÄ
zostaÄ zastÄ
pione znakiem "_".
-</para></listitem>
-<listitem><para>
- Używaj rozsÄ
dnych rozmiarów obrazu. Rozmiary obrazu wynikowego powinny
- byÄ podzielne przez 16.
-</para></listitem>
-<listitem>
- <para>
- JeÅli nagrywasz obraz video o pionowej rozdzielczoÅci wiÄkszej niż poÅowa
- rozdzielczoÅci peÅnej (np. 288 dla PAL lub 240 dla NTSC), wtedy 'ramki'
- które otrzymasz bÄdÄ
tak naprawdÄ parami poprzeplatanych (interleaved) pól.
- W zależnoÅci od tego, co chcesz zrobiÄ ze strumieniem video, możesz go
- zostawiÄ w takiej formie, użyÄ destrukcyjnego usuwania przeplotu
- (deinterlacing), albo rozdzieliÄ pary na pojedyncze pola.
- </para>
- <para>
- W przeciwnym wypadku dostaniesz film, który jest znieksztaÅcony w trakcie
- scen o dużej dynamice, a wskazana szybkoÅÄ transmisji (bitrate)
- prawdopodobnie nie bÄdzie nawet mogÅa byÄ utrzymana przez kontroler szybkoÅci
- (bitrate controller), ponieważ artefakty przeplotu tworzÄ
duże iloÅci
- szczegóÅów, a co za tym idzie, potrzebujÄ
dużej przepustowoÅci. Możesz
- wÅÄ
czyÄ usuwanie przeplotu za pomocÄ
opcji <option>-vf pp=TYP_DEINT</option>.
- Zwykle <option>pp=lb</option> spisuje siÄ dobrze, ale to kwestia gustu.
- Poczytaj o innych algorytmach usuwania przeplotu na stronie man i zacznij
- eksperymentowaÄ.
- </para>
-</listitem>
-<listitem><para>
- Usuwaj "martwe miejsca". Kiedy nagrywasz video, sÄ
pewnie miejsca przy
- brzegach, które sÄ
zazwyczaj czarne lub zawierajÄ
szum.
- Jak siÄ Åatwo domyÅliÄ, niepotrzebnie zużywajÄ
sporo przepustowoÅci
- (dokÅadniej, to nie same czarne miejsca, lecz ostre przejÅcia pomiÄdzy
- czarnym kolorem i jaÅniejszym obrazem video, ale nie jest to akurat takie
- ważne). Zanim zaczniesz nagrywaÄ, ustaw argumenty opcji <option>crop</option>
- by wyciÄ
Ä wszystkie "Åmieci" na brzegach.
- OczywiÅcie nie zapomnij o utrzymaniu prawidÅowych wymiarów obrazu.
-</para></listitem>
-<listitem><para>
- Uważaj na obciÄ
żenie CPU. Przez wiÄkszoÅÄ czasu Nie powinno ono przekroczyÄ
- granicy 90%.
- JeÅli masz duży bufor nagrywania, <application>MEncoder</application> może
- przetrwaÄ przeciÄ
żenie przez najwyżej kilka sekund i nic wiÄcej.
- Lepiej wiÄc wyÅÄ
czyÄ wszystkie trójwymiarowe wygaszacze OpenGL i inne tego
- typu bajery.
-</para></listitem>
-<listitem><para>
- Nie mieszaj z zegarem systemowym. <application>MEncoder</application>
- korzysta z niego do synchronizacji A/V. JeÅli zmodyfikujesz zegar systemowy
- (zwÅaszcza wstecz), <application>MEncoder</application> siÄ pogubi i utraci
- klatki. Jest to bardzo ważna sprawa jeÅli jesteÅ podpiÄty do sieci i używasz
- do synchronizacji czasu różnych programów typu NTP. Musisz wyÅÄ
czyÄ NTP
- w trakcie nagrywania, jeÅli chcesz, by byÅo ono przeprowadzone niezawodnie.
-</para></listitem>
-<listitem><para>
- Nie zmieniaj opcji <option>outfmt</option>, chyba, że wiesz co robisz lub
- Twoja karta/sterownik naprawdÄ nie obsÅuguje ustawienia domyÅlnego
- (przestrzeŠkolorów YV12). W poprzednich wersjach
- <application>MPlayera</application>/<application>MEncodera</application>
- konieczne byÅo podanie formatu wyjÅcia.
- Ten problem powinien byÄ rozwiÄ
zany w aktualnych wydaniach i opcja
- <option>outfmt</option> nie jest już wymagana, a ustawienie domyÅlne powinno
- pasowaÄ każdemu. Na przykÅad, jeÅli nagrywasz do formatu DivX używajÄ
c
- <systemitem class="library">libavcodec</systemitem> i podasz opcjÄ
- <option>outfmt=RGB24</option> aby zwiÄkszyÄ jakoÅÄ nagrywanego obrazu,
- zostanie on i tak później z powrotem przekonwertowany do YV12, wiÄc jedyne,
- co osiÄ
gniesz, to ogromna strata mocy obliczeniowej.
-</para></listitem>
-<listitem><para>
- By użyÄ przestrzeni kolorów I420 (<option>outfmt=i420</option>), musisz dodaÄ
- opcjÄ <option>-vc rawi420</option> z powodu konfliktu fourcc z kodekiem Intel
- Indeo.
-</para></listitem>
-<listitem><para>
- Jest kilka sposobów na nagrywanie audio. Możesz nagrywaÄ dźwiÄk za pomocÄ
- Twojej karty dźwiÄkowej korzystajÄ
c z zewnÄtrznego kabla pomiÄdzy kartÄ
video
- i wejÅciem liniowym lub korzystajÄ
c z wbudowanego w ukÅad bt878 przetwornika
- ADC. W tym drugim przypadku musisz zaÅadowaÄ sterownik
- <emphasis role="bold">btaudio</emphasis>. Przeczytaj plik
- <filename>linux/Documentation/sound/btaudio</filename> (w drzewie jÄ
dra,
- a nie <application>MPlayera</application>) by dowiedzieÄ siÄ jak korzystaÄ
- z tego sterownika.
-</para></listitem>
-<listitem><para>
- JeÅli <application>MEncoder</application> nie może otworzyÄ urzÄ
dzenia
- dźwiÄkowego, upewnij siÄ, że jest ono rzeczywiÅcie dostÄpne. ZdarzajÄ
siÄ
- problemy z serwerami dźwiÄku typu aRts (KDE) lub ESD (GNOME). JeÅli masz
- kartÄ full-duplex (prawie wszystkie przyzwoite karty dostÄpne obecnie
- obsÅugujÄ
tÄ funkcjÄ) i korzystasz z KDE, spróbuj zaznaczyÄ opcjÄ "DziaÅanie
- w peÅni dupleksowe" ("full duplex") w konfiguracji serwera dźwiÄku.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-examples">
-<title>PrzykÅady</title>
-
-<informalexample><para>
-Puste wyjÅcie, do AAlib :)
-<screen>
-mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-WejÅcie ze standardowego V4L:
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Bardziej skomplikowany przykÅad. Każe on <application>MEncoderowi</application>
-nagraÄ peÅen obraz PAL, wykadrowaÄ go i usunÄ
Ä przeplot korzystajÄ
c z algorytmu
-liniowego zlewania (linear blend). Audio jest kompresowane ze staÅÄ
-szybkoÅciÄ
równÄ
64kbps, przy użyciu kodeka LAME. To ustawienie jest
-dobre do nagrywania filmów.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -vf crop=720:544:24:16,pp=lb -o <replaceable>wyjscie.avi</replaceable> tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Ten przykÅad dodatkowo przeskaluje obraz do 384x288 i skompresuje video
-z szybkoÅciÄ
350kbps w trybie wysokiej jakoÅci. Opcja <option>vqmax</option>
-uwalnia kwantyzator i pozwala kompresorowi video na osiÄ
gniÄcie tak
-niskiej szybkoÅci nawet kosztem jakoÅci obrazu. Może byÄ to używane do
-nagrywania dÅugich seriali TV, kiedy jakoÅÄ obrazu nie jest tak ważna.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>wyjscie.avi</replaceable> \
- -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
-</screen>
-Jest również możliwe podanie mniejszych wymiarów obrazu w opcji
-<option>-tv</option> i pominiÄcie programowego skalowania, ale to podejÅcie
-wykorzystuje maksymalnÄ
iloÅÄ dostÄpnych informacji i jest trochÄ bardziej
-odporne na szum.
-UkÅady bt878, ze wzglÄdu na ograniczenia sprzÄtowe, mogÄ
stosowaÄ
-uÅrednianie pikseli jedynie w kierunku poziomym.
-</para></informalexample>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="radio">
-<title>Radio</title>
-
-<sect2 id="radio-input" xreflabel="SÅuchanie radia">
-<title>SÅuchanie radia</title>
-
-<para>
-Ten rozdziaÅ opisuje jak wÅÄ
czyÄ możliwoÅÄ sÅuchania radia przy użyciu tunera
-radiowego kompatybilnego z V4L. Opis opcji i sterowania klawiaturÄ
znajduje siÄ
-na stronie man.
-</para>
-
-<!-- ********** -->
-
-<sect3 id="radio-compilation">
-<title>Kompilacja</title>
-
-<procedure>
-<step><para>
- Najpierw, musisz przekompilowaÄ <application>MPlayera</application> używajÄ
c
- <filename>./configure</filename> z opcjÄ
<option>--enable-radio</option>
- i (jeÅli chcesz móc przechwytywaÄ radio)
- <option>--enable-radio-capture</option>.
-</para></step>
-<step><para>
- Upewnij siÄ Å¼e Twój tuner dziaÅa z innym oprogramowaniem do radia w Linuksie,
- na przykÅad z <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-tips">
-<title>Rady przy stosowaniu</title>
-
-<para>
-PeÅna lista opcji jest dostÄpna na stronie man.
-Tu jest tylko kilka porad:
-
-<itemizedlist>
-<listitem><para>
- Używaj opcji <option>channels</option>. Na przykÅad:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- WyjaÅnienie: Przy użyciu tej opcji dostÄpne bÄdÄ
tylko stacje na
- czÄstotliwoÅciach 104.4 i 103.9. Przy przeÅÄ
czaniu kanaÅu OSD bÄdzie
- wyÅwietlaÄ nazwÄ kanaÅu. Spacje w nazwie kanaÅu muszÄ
zostaÄ zastÄ
pione przez
- znak "_".
-</para></listitem>
-<listitem><para>
- Jest kilka metod przechwytywania audio. Możesz przechwytywaÄ dźwiÄk albo
- korzystajÄ
c ze swojej karty dźwiÄkowej i zewnÄtrznego kabelka ÅÄ
czÄ
cego kartÄ
- video z wejÅciem dźwiÄku, albo używajÄ
c wbudowanego w chip saa7134 konwertera
- ADC. W tym drugim przypadku, musisz zaÅadowaÄ sterownik
- <systemitem>saa7134-alsa</systemitem> lub <systemitem>saa7134-oss</systemitem>.
-</para></listitem>
-<listitem><para>
- Do przechwytywania dźwiÄku nie można użyÄ
- <application>MEncodera</application>, ponieważ wymaga on do dziaÅania
- strumienia video. Możesz wiÄc albo użyÄ <application>arecord</application>
- z projektu ALSA albo opcji <option>-ao pcm:file=file.wav</option>.
- W tym drugim przypadku nie bÄdziesz sÅyszaÅ dźwiÄku
- (chyba że masz kabelek do line-in i wyÅÄ
czyÅeÅ jego wyciszenie).
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-examples">
-<title>PrzykÅady</title>
-
-<informalexample><para>
-WejÅcie ze standardowego V4L (przy użyciu kabelka line-in, bez przechwytywania):
-<screen>
-mplayer radio://104.4
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-WejÅcie ze standardowego V4L (przy użyciu kabelka line-in, bez przechwytywania,
-interface V4Lv1):
-<screen>
-mplayer -radio driver=v4l radio://104.4
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Odtwarzanie drugiego kanaÅu z listy:
-<screen>
-mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-PrzesyÅanie dźwiÄku szynÄ
PCI z wewnÄtrznego konwertera ADC na karcie radiowej.
-W tym przykÅadzie tuner jest używany jako druga karta dźwiÄkowa (urzÄ
dzenia
-alsa hw:1,0). Dla kart opartych na saa7134 musi byÄ zaÅadowany moduÅ
-<systemitem>saa7134-alsa</systemitem> lub <systemitem>saa7134-oss</systemitem>.
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
- -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note><para>
-JeÅli używasz nazw urzÄ
dzeÅ ALSA dwukropki muszÄ
byÄ zastÄ
pione
-znakami równoÅci a przecinki kropkami.
-</para></note>
-</para>
-</informalexample>
-</sect3>
-</sect2>
-
-</sect1>
-</chapter>
diff --git a/DOCS/xml/pl/video.xml b/DOCS/xml/pl/video.xml
deleted file mode 100644
index 37cf6c8..0000000
--- a/DOCS/xml/pl/video.xml
+++ /dev/null
@@ -1,2634 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r20879 -->
-<!-- Opiekun: Frogu -->
-<chapter id="video">
-<title>UrzÄ
dzenia wyjÅcia video</title>
-
-<sect1 id="mtrr">
-<title>Ustawianie MTRR</title>
-
-<para>
-Jest WYSOCE wskazane sprawdzenie, czy rejestry MTRR sÄ
ustawione prawidÅowo,
-ponieważ mogÄ
daÄ duży wzrost wydajnoÅci.
-</para>
-
-<para>
-Wykonaj <command>cat /proc/mtrr</command>:
-<screen>
-<prompt>--($:~)--</prompt> cat /proc/mtrr
-reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
-reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
---></screen>
-</para>
-
-<para>
-WidaÄ mojego Matroksa G400 z 16MB pamiÄci. WydaÅem tÄ komendÄ z XFree 4.x.x,
-które ustawiajÄ
MTRR automatycznie.
-</para>
-
-<para>
-Jeżeli nie zadziaÅaÅo, trzeba to ustawiÄ rÄcznie.
-Przede wszystkim musisz znaleÅºÄ adres bazowy. Możesz to zrobiÄ na 3 sposoby:
-
-<orderedlist>
-<listitem><para>
- z komunikatów startowych X11, na przykÅad:
- <screen>
-(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
-(--) SVGA: Linear framebuffer at 0xD8000000<!--
---></screen>
-</para></listitem>
-<listitem><para>
- z <filename>/proc/pci</filename> (użyj polecenia <command>lspci -v</command>):
- <screen>
-01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
-Memory at d8000000 (32-bit, prefetchable)<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- z komunikatów sterownika mga_vid w jÄ
drze (użyj <command>dmesg</command>):
- <screen>mga_mem_base = d8000000</screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Znajdźmy teraz rozmiar pamiÄci. Jest to bardzo Åatwe, po prostu zamieÅ
-rozmiar RAMu na karcie graficznej na system szesnastkowy lub użyj
-tej tabelki:
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
-<row><entry>1 MB</entry><entry>0x100000</entry></row>
-<row><entry>2 MB</entry><entry>0x200000</entry></row>
-<row><entry>4 MB</entry><entry>0x400000</entry></row>
-<row><entry>8 MB</entry><entry>0x800000</entry></row>
-<row><entry>16 MB</entry><entry>0x1000000</entry></row>
-<row><entry>32 MB</entry><entry>0x2000000</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Znasz już adres bazowy i rozmiar pamiÄci. Ustawmy wiÄc rejestry MTRR!
-Na przykÅad dla powyższej karty Matrox (<literal>base=0xd8000000</literal>)
-z 32MB RAMu (<literal>size=0x2000000</literal>) po prostu wykonaj:
-<screen>
-echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr</screen>
-</para>
-
-<para>
-Nie wszystkie procesory obsÅugujÄ
MTRR. Na przykÅad starsze K6-2
-(jakieÅ 266MHz, stepping 0) nie obsÅugujÄ
MTRR, ale stepping 12 już tak
-(wykonaj <command>cat /proc/cpuinfo</command> aby sprawdziÄ).
-</para>
-</sect1>
-
-<sect1 id="output-trad">
-<title>WyjÅcia video dla tradycyjnych kart graficznych</title>
-
-<sect2 id="xv">
-<title>Xv</title>
-
-<para>
-W XFree86 4.0.2 lub nowszym możesz używaÄ sprzÄtowego YUV poprzez
-rozszerzenie XVideo. To tego używa opcja <option>-vo xv</option>.
-Ten sterownik obsÅuguje także regulacjÄ jasnoÅci/kontrastu/nasycenia/itp.
-(chyba, że używasz starego, powolnego kodeka DirectShow DivX,
-który to obsÅuguje wszÄdzie). Spójrz na stronÄ man.
-</para>
-
-<para>
-Aby to zadziaÅaÅo upewnij siÄ, że:
-
-<orderedlist>
-<listitem><para>
- Masz XFree86 4.0.2 lub nowsze (starsze nie majÄ
XVideo)
-</para></listitem>
-<listitem><para>
- Twoja karta obsÅuguje przyÅpieszanie sprzÄtowe (wspóÅczesne karty to robiÄ
)
-</para></listitem>
-<listitem><para>
- X Åaduje rozszerzenie XVideo, zwykle wyglÄ
da to tak:
- <programlisting>(II) Loading extension XVideo</programlisting>
- w <filename>/var/log/XFree86.0.log</filename>
- <note><para>
- To Åaduje tylko rozszerzenie XFree86. W dobrej instalacji
- jest to zawsze wÅÄ
czone i nie oznacza to że obsÅuga XVideo w
- <emphasis role="bold">karcie</emphasis> jest zaÅadowana.
- </para></note>
-</para></listitem>
-<listitem><para>
- Twoja karta obsÅuguje Xv pod Linuksem. Aby sprawdziÄ, spróbuj
- <command>xvinfo</command>, wchodzÄ
ce w skÅad dystrybucji XFree86.
- Powinno wyÅwietliÄ dÅugi tekst podobny do tego:
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...etc...)<!--
---></screen>
- Karta musi obsÅugiwaÄ formaty "YUY2 packed" i "YV12 planar",
- aby mogÅa byÄ używana z <application>MPlayerem</application>.
-</para></listitem>
-<listitem><para>
- I na koniec sprawdź, czy <application>MPlayer</application>
- zostaÅ skompilowany z obsÅugÄ
Xv.
- Wykonaj <command>mplayer -vo help | grep xv </command>.
- Jeżeli zostaÅa wbudowana obsÅuga Xv to powinien siÄ pojawiÄ podobny wiersz:
- <screen>
- xv X11/Xv<!--
- --></screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-
-<sect3 id="tdfx">
-<title>Karty 3dfx</title>
-
-<para>
-Starsze sterowniki 3dfx znane byÅy z tego, że miaÅy problemy z akceleracjÄ
-XVideo.
-Nie obsÅugiwaÅy ani przestrzeni kolorów YUY2, ani YV12. Sprawdź czy masz
-XFree86 w wersji 4.2.0 lub nowszej, dziaÅajÄ
one dobrze z YV12 i YUY2.
-Poprzednie wersje, z 4.1.0 wÅÄ
cznie,
-<emphasis role="bold">wywalaÅy siÄ na YV12</emphasis>.
-Jeżeli napotkasz na dziwne dziaÅanie używajÄ
c <option>-vo xv</option>,
-spróbuj SDL (także ma XVideo) i zobacz, czy to pomaga.
-DokÅadniejsze instrukcje sÄ
w sekcji <link linkend="sdl">SDL</link>.
-</para>
-
-<para>
-<emphasis role="bold">LUB</emphasis>, spróbuj NOWEGO sterownika
-<option>-vo tdfxfb</option>!
-Zajrzyj do sekcji <link linkend="tdfxfb">tdfxfb</link>
-</para>
-</sect3>
-
-
-<sect3 id="s3">
-<title>Karty S3</title>
-
-<para>
-S3 Savage3D powinny dziaÅaÄ. Jeżeli masz Savage4 używaj XFree86 4.0.3 lub
-nowszego (gdyby wystÄpowaÅy problemy z obrazem, spróbuj ustawiÄ gÅÄbiÄ kolorów
-na 16bpp).
-Jeżeli chodzi o S3 Virge: obsÅuguje ona Xv, ale jest bardzo wolna,
-wiÄc najlepiej jÄ
sprzedaj.
-</para>
-
-<para>
-Teraz dostÄpny jest natywny sterownik bufora ramek (framebuffer) dla
-kart S3 Virge, podobny do tdfxfb. Ustaw swój bufor ramek (np. dodaj
-"<option>vga=792 video=vesa:mtrr</option>" do parametrów swojego kernela)
-i używaj <option>-vo s3fb</option> (<option>-vf yuy2</option>
-i <option>-dr</option> także mogÄ
okazaÄ siÄ przydatne).
-</para>
-
-<note>
-<para>
-Obecnie niejasne jest, które modele kart Savage nie majÄ
sprzÄtowej obsÅugi
-YV12 i robiÄ
to programowo (co jest wolne). Jeżeli podejrzewasz o to swojÄ
-kartÄ, zdobÄ
dź nowsze sterowniki, lub grzecznie poproÅ o sterownik z obsÅugÄ
-MMX/3DNow! na liÅcie dyskusyjnej MPlayer-users.
-</para>
-</note>
-</sect3>
-
-
-<sect3 id="nvidia">
-<title>Karty nVidia</title>
-
-<para>
-nVidia nie zawsze jest dobrym wyborem dla Linuksa ...
-Sterownik XFree86 o otwartych źródÅach obsÅuguje wiÄkszoÅÄ tych kart, lecz
-w niektórych wypadkach bÄdziesz zmuszony używaÄ binarnych sterowników
-o zamkniÄtych źródÅach (do pobrania ze
-<ulink url="http://www.nvidia.com/object/linux.html">strony nVidii</ulink>).
-Jeżeli chcesz uzyskaÄ przyspieszenie 3D to zawsze bÄdziesz potrzebowaÄ tych
-sterowników.
-</para>
-
-<para>
-karty Riva 128 nie obsÅugujÄ
XVideo nawet ze sterownikami nVidii :(
-Zażalenia skÅadaj do nVidii.
-</para>
-
-<para>
-Jednakże <application>MPlayer</application> zawiera sterownik
-<link linkend="vidix">VIDIX</link> obsÅugujÄ
cy wiÄkszoÅÄ kart nVidia.
-Obecnie znajduje siÄ w stadium beta i ma pewne ograniczenia.
-WiÄcej informacji znajdziesz w sekcji <link linkend="vidix-nvidia">nVidia VIDIX</link>.
-</para>
-</sect3>
-
-
-<sect3 id="ati">
-<title>Karty ATI</title>
-
-<para>
-<ulink url="http://gatos.sf.net">Sterowniki GATOS</ulink>
-(których powinieneÅ używaÄ, chyba że masz Rage128 lub Radeon)
-majÄ
standardowo wÅÄ
czone VSYNC. Znaczy to, że szybkoÅÄ dekodowania (!)
-jest zsynchronizowana z czÄstotliwoÅciÄ
odÅwieżania obrazu.
-Jeżeli odtwarzanie wydaje Ci siÄ powolne,
-spróbuj w jakiÅ sposób wyÅÄ
czyÄ VSYNC,
-lub ustaw czÄstotliwoÅÄ odÅwieżania na n*(fps filmu) Hz.
-</para>
-
-<para>
-Radeon VE - jeżeli potrzebujesz X, używaj XFree86 4.2.0 lub nowszego.
-Brak obsÅugi wyjÅcia TV.
-OczywiÅcie w <application>MPlayerze</application> możesz uzyskaÄ
-<emphasis role="bold">przyÅpieszane</emphasis> wyÅwietlanie,
-z lub bez <emphasis role="bold">wyjÅcia TV</emphasis>.
-Å»adne biblioteki czy X nie sÄ
do tego potrzebne.
-Poczytaj sekcjÄ o <link linkend="vidix">VIDIX</link>.
-</para>
-</sect3>
-
-
-<sect3 id="neomagic">
-<title>Karty NeoMagic</title>
-
-<para>
-Te karty można znaleÅºÄ w wielu laptopach.
-Musisz używaÄ XFree86 4.3.0 lub nowszych, lub sterowników Stefana Seyfried'a
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">
-obsÅugujÄ
cych Xv</ulink>.
-Po prostu wybierz ten, który pasuje do Twojej wersji XFree86.
-</para>
-
-<para>
-XFree86 4.3.0 zawierajÄ
obsÅugÄ Xv, lecz Bohdan Horst wysÅaÅ maÅÄ
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">ÅatkÄ</ulink>
-na źródÅa XFree86, która przyÅpiesza operacje na buforze ramki (framebuffer)
-nawet czterokrotnie. Ta Åatka zostaÅa uwzglÄdniona w XFree86 CVS
-i powinna znaleÅºÄ siÄ w nastÄpnej wersji po 4.3.0
-</para>
-
-<para>
-Aby umożliwiÄ odtwarzanie zawartoÅci o rozmiarach DVD zmodyfikuj
-swój XF86Config w nastÄpujÄ
cy sposób:
-<programlisting>
-Section "Device"
- [...]
- Driver "neomagic"
- <emphasis>Option "OverlayMem" "829440"</emphasis>
- [...]
-EndSection<!--
---></programlisting>
-</para>
-</sect3>
-
-
-<sect3 id="trident">
-<title>Karty Trident</title>
-
-<para>
-Jeżeli chcesz używaÄ Xv z kartÄ
Trident, to jeÅli nie dziaÅa z 4.1.0,
-zainstaluj XFree 4.2.0. 4.2.0 obsÅuguje peÅnoekranowe Xv
-w karcie Cyberblade XP.
-</para>
-
-<para>
-AlternatywÄ
jest sterownik <link linkend="vidix">VIDIX</link> dla
-karty Cyberblade/i1.
-</para>
-</sect3>
-
-
-<sect3 id="kyro">
-<title>Karty Kyro/PowerVR</title>
-
-<para>
-Jeżeli chcesz używaÄ Xv z kartÄ
opartÄ
na Kyro
-(na przykÅad Hercules Prophet 4000XT), powinieneÅ ÅciÄ
gnÄ
Ä sterowniki ze
-<ulink url="http://www.powervr.com/">strony PowerVR</ulink>.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>WSTÄP</title>
-<para>
-Celem tego dokumentu jest wyjaÅnienie w kilku sÅowach, czym ogólnie jest DGA
-i co może zrobiÄ sterownik do <application>MPlayera</application>
-(i czego nie może).
-</para>
-</formalpara>
-
-<formalpara>
-<title>CO TO JEST DGA</title>
-<para>
-<acronym>DGA</acronym> to skrót od <emphasis>Direct Graphics Access
-(BezpoÅredni DostÄp do Grafiki)</emphasis> i jest dla programu sposobem
-ominiÄcia serwera X i bezpoÅredniÄ
modyfikacjÄ pamiÄci bufora ramki
-(framebuffer). Technicznie mówiÄ
c, dziaÅa to w ten sposób,
-że pamiÄÄ bufora ramki mapowana jest na zakres pamiÄci Twojego procesu.
-JÄ
dro pozwala na to tylko gdy masz prawa administratora (superuser).
-Możesz je uzyskaÄ logujÄ
c siÄ jako
-<systemitem class="username">root</systemitem> lub ustawiajÄ
c bit SUID
-na pliku wykonywalnym <application>MPlayera</application>
-(<emphasis role="bold">nie zalecane</emphasis>).
-</para>
-</formalpara>
-<para>
-IstniejÄ
dwie wersje DGA: DGA1 używane przez XFree 3.x.x i DGA2,
-które pojawiÅo siÄ w XFree 4.0.1.
-</para>
-
-<para>
-DGA1 zapewnia jedynie bezpoÅredni dostÄp do bufora ramki,
-w sposób opisany powyżej.
-Aby zmieniÄ rozdzielczoÅÄ sygnaÅu video bÄdziesz musiaÅ polegaÄ na
-rozszerzeniu XVidMode.
-</para>
-
-<para>
-DGA2 ÅÄ
czy cechy rozszerzenia XVidMode z możliwoÅciÄ
zmiany gÅÄbi wyÅwietlania,
-wiÄc możesz majÄ
c uruchomiony serwer X w 32 bitowej gÅÄbi przeÅÄ
czaÄ siÄ na
-15 bitów i vice versa.
-</para>
-
-<para>
-Jednakże DGA ma pewne wady. Jest poniekÄ
d zależne od ukÅadu graficznego
-jakiego używasz, a także od implementacji sterownika video (w serwerze X)
-sterujÄ
cego ukÅadem. Nie dziaÅa to wiÄc na każdym systemie...
-</para>
-
-<formalpara>
-<title>INSTALOWANIE OBSÅUGI DGA W MPLAYERZE</title>
-
-<para>
-Przede wszystkim upewnij siÄ, że X Åaduje rozszerzenie DGA. Spójrz na
-<filename>/var/log/XFree86.0.log</filename>:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-XFree86 4.0.x lub nowsze jest <emphasis role="bold">wysoce wskazane</emphasis>!
-Sterownik DGA <application>MPlayera</application> jest wykrywany automatycznie
-przez <filename>./configure</filename>. Możesz także wymusiÄ jego obsÅugÄ
-poprzez <option>--enable-dga</option>.
-</para>
-</formalpara>
-
-<para>
-Jeżeli sterownik nie mógÅ przeÅÄ
czyÄ siÄ na niższÄ
rozdzielczoÅÄ,
-poeksperymentuj z opcjami <option>-vm</option> (tylko w X 3.3.x),
-<option>-fs</option>, <option>-bpp</option>, <option>-zoom</option>
-aby znaleÅºÄ tryb wyÅwietlania, który odpowiada filmowi.
-Na razie nie ma żadnego konwertera :(
-</para>
-
-<para>
-StaÅ siÄ użytkownikiem <systemitem class="username">root</systemitem>.
-DGA wymaga praw superużytkownika, aby móc zapisywaÄ bezpoÅrednio do pamiÄci video.
-Jeżeli chcesz posÅugiwaÄ siÄ DGA jako zwykÅy użytkownik, zainstaluj
-<application>MPlayera</application> w trybie SUID root:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-Teraz DGA dziaÅa także dla zwykÅego użytkownika.
-</para>
-
-<caution>
-<title>Zagrożenie bezpieczeÅstwa</title>
-<para>
-To jest <emphasis role="bold">poważne</emphasis> zagrożenie bezpieczeÅstwa!
-<emphasis role="bold">Nigdy</emphasis>
-nie rób tego na serwerze, ani na komputerze dostÄpnym dla innych osób,
-ponieważ mogÄ
one zdobyÄ prawa roota poprzez
-<application>MPlayera</application> z ustawionym SUID root.
-</para>
-</caution>
-
-<para>
-Teraz użyj opcji <option>-vo dga</option> i już! (mam nadziejÄ:)
-PowinieneÅ także spróbowaÄ czy dziaÅa u Ciebie opcja
-<option>-vo sdl:driver=dga</option>! Jest wiele szybsza!
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>ZMIANA ROZDZIELCZOÅCI</title>
-
-<para>
-Sterownik DGA zezwala na zmianÄ rozdzielczoÅci sygnaÅu wyjÅciowego.
-Eliminuje to potrzebÄ (wolnego) programowego skalowania i
-równoczeÅnie zapewnia wyÅwietlanie peÅnoekranowe.
-W warunkach idealnych rozdzielczoÅÄ zostaÅaby zmieniona na dokÅadnie takÄ
samÄ
-(z zachowaniem formatu obrazu) jak dane video,
-ale serwer X pozwala stosowaÄ tylko tryby predefiniowane w
-<filename>/etc/X11/XF86Config</filename>
-(<filename>/etc/X11/XF86Config-4</filename> dla XFree 4.X.X).
-SÄ
one definiowane przez tak zwane "modelines" (wiersze trybów) i zależÄ
od
-możliwoÅci Twojego sprzÄtu.
-serwer X skanuje przy starcie ten plik konfiguracyjny
-i wyÅÄ
cza tryby nie pasujÄ
ce do Twojego sprzÄtu. Aby siÄ dowiedzieÄ,
-które tryby przetrwaÅy ten proces sprawdź plik
-<filename>/var/log/XFree86.0.log</filename>.
-</para>
-</formalpara>
-
-<para>
-Te wpisy dziaÅajÄ
z ukÅadem Riva128, przy użyciu moduÅu sterownika nv.o
-(moduÅ serwera X):
-</para>
-
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA i MPLAYER</title>
-<para>
-DGA jest używane w dwóch miejscach w <application>MPlayerze</application>:
-można go używaÄ przez sterownik SDL (<option>-vo sdl:driver=dga</option>)
-oraz bezpoÅrednio przez sterownik DGA (<option>-vo dga</option>).
-To, co zostaÅo napisane powyżej, jest prawdziwe dla obu;
-w nastÄpnych sekcjach wyjaÅniÄ, jak dziaÅa sterownik DGA dla
-<application>MPlayera</application>.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>WÅASNOÅCI</title>
-
-<para>
-Sterownik DGA wywoÅywany jest poprzez podanie <option>-vo dga</option>
-w wierszu poleceÅ.
-Standardowym zachowaniem jest zmiana rozdzielczoÅci na jak najbardziej
-pasujÄ
cÄ
do obrazu.
-Åwiadomie ignorowane sÄ
opcje <option>-vm</option> i <option>-fs</option>
-(zmiana trybu wyÅwietlania oraz wyÅwietlanie peÅnoekranowe) - sterownik zawsze
-próbuje pokryÄ jak najwiÄkszÄ
powierzchniÄ ekranu poprzez zmianÄ trybu
-wyÅwietlania, dziÄki temu nie marnuje mocy procesora na skalowanie obrazu.
-Jeżeli nie podoba Ci siÄ dobrany tryb, możesz sam go okreÅliÄ,
-korzystajÄ
c z opcji <option>-x</option> oraz <option>-y</option>.
-Jeżeli podasz opcjÄ <option>-v</option>,
-sterownik DGA wyÅwietli miÄdzy innymi listÄ wszystkich obsÅugiwanych
-w tej chwili trybów, dostÄpnych w Twoim pliku konfiguracyjnym
-<filename>XF86Config</filename>.
-MajÄ
c DGA2 możesz zmusiÄ je także do wyÅwietlania obrazu w okreÅlonej gÅÄbi,
-używajÄ
c opcji <option>-bpp</option>.
-PrawidÅowymi gÅÄbiami sÄ
15, 16, 34 i 32.
-Od Twojego sprzÄtu zależy, czy sÄ
one obsÅugiwane natywnie, czy też dokonywana
-jest konwersja (możliwe, że powolna).
-</para>
-</formalpara>
-
-<para>
-Jeżeli jesteÅ takim szczÄÅliwcem, że masz wystarczajÄ
co dużo pamiÄci
-pozaekranowej (offscreen memory) aby zmieÅciÅ siÄ tam caÅy obraz,
-sterownik DGA użyje podwójnego buforowania.
-Efektem bÄdzie pÅynniejsze odtwarzanie filmu.
-Sterownik poinformuje CiÄ czy podwójne buforowanie jest wÅÄ
czone czy nie.
-</para>
-
-<para>
-Podwójne buforowanie oznacza, że nastÄpna ramka Twojego filmu jest rysowana
-w pamiÄci pozaekranowej w czasie gdy obecna ramka jest wyÅwietlana.
-Gdy nastÄpna ramka bÄdzie gotowa, ukÅad graficzny zostanie poinformowany
-o lokalizacji nowej ramki w pamiÄci i po prostu siÄgnie tam po dane
-aby je wyÅwietliÄ.
-W miÄdzyczasie poprzedni bufor w pamiÄci zostanie ponownie wypeÅniony
-kolejnymi danymi video.
-</para>
-
-<para>
-Podwójne buforowanie może byÄ wÅÄ
czane opcjÄ
-<option>-double</option> oraz może byÄ wyÅÄ
czane opcjÄ
-<option>-nodouble</option>.
-Obecnie standardowym zachowaniem jest wyÅÄ
czone podwójne buforowanie.
-JeÅli używasz sterownika DGA wyÅwietlanie OSD
-(On Screen Display - wyÅwietlanie na ekranie)
-dziaÅa wyÅÄ
cznie z wÅÄ
czonym podwójnym buforowaniem.
-Jednakże wÅÄ
czenie podwójnego buforowania może zaowocowaÄ dużym spadkiem
-szybkoÅci (na moim K6-II+ 525 używaÅo dodatkowe 20% czasu procesora!)
-w zależnoÅci od implementacji DGA dla Twojego sprzÄtu.
-</para>
-
-
-<formalpara>
-<title>KWESTIA SZYBKOÅCI</title>
-
-<para>
-Ogólnie rzecz biorÄ
c, dostÄp do bufora ramki poprzez DGA powinien byÄ
-przynajmniej tak szybki, jak podczas używania sterownika X11,
-z dodatkowÄ
korzyÅciÄ
uzyskania peÅnoekranowego obrazu.
-Procentowe wartoÅci szybkoÅci wyÅwietlane przez
-<application>MPlayera</application> należy interpretowaÄ ostrożnie.
-Na przykÅad przy korzystaniu ze sterownika X11 nie jest uwzglÄdniany czas
-potrzebny serwerowi X na rysowanie.
-PodÅÄ
cz terminal do portu szeregowego swojego komputera i uruchom
-<command>top</command> aby zobaczyÄ co siÄ na prawdÄ dzieje w Twoim komputerze.
-</para>
-</formalpara>
-
-<para>
-Generalnie przyÅpieszenie przy używaniu DGA w stosunku do
-"normalnego"
-używania X11 bardzo zależy od Twojej karty graficznej i od tego, jak dobrze
-zoptymalizowany jest moduÅ do serwera X.
-</para>
-
-<para>
-Jeżeli masz wolny system, lepiej używaj 15 lub 16 bitowej
-gÅÄbi kolorówi, ponieważ wymaga ona tylko poÅowy przepustowoÅci pamiÄci
-w porównaniu do gÅÄbi 32 bitowej.
-</para>
-
-<para>
-Używanie 24 bitowej gÅÄbi jest dobrym pomysÅem, nawet jeÅli
-Twoja karta natywnie obsÅuguje tylko 32 bitowÄ
gÅÄbiÄ, ponieważ 24 bitowa
-gÅÄbia przesyÅa 25% mniej danych w porównaniu do w peÅni 32 bitowego trybu.
-</para>
-
-<para>
-WidziaÅem pewne pliki AVI odtwarzane na Pentium MMX 266.
-Na AMD K6-2 powinno dziaÅaÄ od 400MHz.
-</para>
-
-
-<formalpara>
-<title>ZNANE BÅÄDY</title>
-
-<para>
-WedÅug niektórych deweloperów XFree DGA jest niezÅÄ
bestiÄ
.
-MówiÄ
oni, że lepiej go nie używaÄ, ponieważ jego implementacja nie zawsze
-jest bezbÅÄdna dla każdego sterownika XFree.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- Istnieje bÅÄ
d zwiÄ
zany z XFree 4.0.3 i sterownikiem <filename>nv.o</filename>
- objawiajÄ
cy siÄ dziwnymi kolorami.
-</para></listitem>
-<listitem><para>
- Sterowniki ATI wymagajÄ
wielokrotnego przeÅÄ
czania trybu po użyciu DGA.
-</para></listitem>
-<listitem><para>
- Niektóre sterowniki po prostu nie wracajÄ
do normalnej rozdzielczoÅci (użyj
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad +</keycap> oraz
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad -</keycap>
- aby przeÅÄ
czaÄ siÄ rÄcznie).
-</para></listitem>
-<listitem><para>
- Niektóre sterowniki wyÅwietlajÄ
dziwne kolory.
-</para></listitem>
-<listitem><para>
- Niektóre sterowniki kÅamiÄ
na temat rozmiaru pamiÄci,
- którÄ
mapujÄ
na przestrzeÅ adresowÄ
procesu.
- Przez to vo_dga nie bÄdzie używaÄ podwójnego buforowania (SIS?).
-</para></listitem>
-<listitem><para>
- Niektóre sterowniki nie zwracajÄ
żadnego poprawnego trybu.
- W tym wypadku sterownik DGA siÄ wywali mówiÄ
c Ci o bezsensownym
- trybie 100000x100000 (lub podobnym).
-</para></listitem>
-<listitem><para>
- OSD dziaÅa tylko z wÅÄ
czonym podwójnym buforowaniem (w przeciwnym razie
- migocze).
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-<!--</sect1>-->
-
-<!-- ********** -->
-
-<sect2 id="sdl">
-<title>SDL</title>
-
-<para>
-<acronym>SDL</acronym> (Simple Directmedia Layer) jest w gruncie rzeczy
-zunifikowanym interfejsem video/audio.
-Programy, które go używajÄ
, wiedzÄ
tylko o SDL,
-a nie o sterownikach audio lub video, których używa SDL.
-Na przykÅad port Dooma używajÄ
cy SDL może dziaÅaÄ korzystajÄ
c z
-svgalib, aalib, X, fbdev i innych, musisz tylko okreÅliÄ (na przykÅad)
-sterownik video, którego chcesz użyÄ.
-Wybór nastÄpuje poprzez zmiennÄ
ÅrodowiskowÄ
<envar>SDL_VIDEODRIVER</envar>.
-No, teoretycznie.
-</para>
-
-<para>
-W <application>MPlayerze</application> używaliÅmy programowego skalowania
-sterownika SDL dla X11, dla kart/sterowników, które nie obsÅugujÄ
XVideo,
-dopóki nie zrobiliÅmy wÅasnego (szybszego, lepszego) programowego skalowania.
-UżywaliÅmy także jego wyjÅcia aalib, ale teraz mamy wÅasny sterownik,
-który jest wygodniejszy. Jego tryb DGA byŠlepszy od naszego... aż do niedawna.
-Rozumiesz już? :)
-</para>
-
-<para>
-Pomaga także z niektórymi wadliwymi sterownikami/kartami w przypadku, gdy
-odtwarzanie kuleje (nie z powodu wolnego systemu) lub gdy dźwiÄk jest opóźniony.
-</para>
-
-<para>
-WyjÅcie video SDL obsÅuguje wyÅwietlanie napisów pod filmem, na czarnym pasku
-(jeżeli obecny).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>INSTALACJA</title>
-<para>
-BÄdziesz musiaÅ zainstalowaÄ svgalib i jej pakiet rozwojowy, aby
-<application>MPlayer</application> zbudowaÅ swój wÅasny sterownik
-SVGAlib (automatycznie wykrywane, lecz można wymusiÄ).
-Nie zapomnij przerobiÄ <filename>/etc/vga/libvga.config</filename>, tak aby
-svgalib wspóÅdziaÅaÅo z TwojÄ
kartÄ
i monitorem.
-</para>
-</formalpara>
-
-<note>
-<para>
-Nie używaj opcji <option>-fs</option> ponieważ wÅÄ
cza ona
-skalowanie programowe, które jest powolne. Jeżeli naprawdÄ tego potrzebujesz,
-używaj opcji <option>-sws 4</option>,
-która produkuje obraz zÅej jakoÅci, ale jest nieco szybsza.
-</para>
-</note>
-
-<formalpara>
-<title>OBSÅUGA EGA (4BPP)</title>
-<para>
-SVGAlib zawiera EGAlib i <application>MPlayer</application>
-może wyÅwietlaÄ każdy film w 16 kolorach.
-Użyteczne jest to w nastÄpujÄ
cych zestawieniach:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- karta EGA z monitorem EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
-</para></listitem>
-<listitem><para>
- karta EGA z monitorem CGA: 320x200x4bpp, 640x200x4bpp
-</para></listitem>
-</itemizedlist>
-
-<para>
-bpp (bity na piksel) musi byÄ rÄcznie ustawione na 4: <option>-bpp 4</option>
-</para>
-
-<para>
-Film prawdopodobnie musi byÄ przeskalowany tak, aby pasowaÅ do trybu EGA:
-<screen>-vf scale=640:350</screen>
-lub
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-Aby to osiÄ
gnÄ
Ä, musimy siÄgnÄ
Ä po metodÄ skalowania szybkÄ
, lecz zÅej jakoÅci:
-<screen>-sws 4</screen>
-</para>
-
-<para>
-Możliwe, że trzeba wyÅÄ
czyÄ automatycznÄ
korekcjÄ proporcji obrazu:
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-Z praktyki wiem, że najlepszÄ
jakoÅÄ obrazu na ekranach EGA można
-osiÄ
gnÄ
Ä poprzez lekkie zmniejszenie jasnoÅci:
-<option>-vf eq=-20:0</option>. MusiaÅem także zmniejszyÄ czÄstotliwoÅÄ
-próbkowania, ponieważ dźwiÄk 44kHz byÅ popsuty: <option>-srate 22050</option>.
-</para></note>
-
-<para>
-OSD i napisy możesz wÅÄ
czyÄ tylko przy pomocy filtru
-<option>expand</option>. DokÅadne parametry znajdziesz na stronie man.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="fbdev">
-<title>WyjÅcie bufora ramki (FBdev)</title>
-
-<para>
-<filename>./configure</filename> automatycznie wykrywa, czy zbudowaÄ
-wyjÅcie FBdev. WiÄcej informacji znajdziesz w dokumentacji bufora
-ramki w źródÅach jÄ
dra (<filename>Documentation/fb/*</filename>).
-</para>
-
-<para>
-Jeżeli Twoja karta nie obsÅuguje standardu VBE 2.0 (starsze karty ISA/PCI,
-takie jak S3 Trio64), lecz VBE 1.2 (lub starsze?): cóż, pozostaje VESAfb,
-ale bÄdziesz musiaÅ zaÅadowaÄ SciTech Display Doctor
-(dawniej UniVBE) przed zabootowaniem Linuksa.
-Użyj dyskietki startowej DOS lub czegoŠinnego.
-Nie zapomnij zarejestrowaÄ swojej kopii UniVBE ;))
-</para>
-
-<para>
-WyjÅcie FBdev przyjmuje kilka dodatkowych parametrów:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- OkreÅla urzÄ
dzanie bufora ramki, którego użyÄ (domyÅlnie: <filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- Nazwa trybu do użycia (zgodnie z <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- Plik konfiguracyjny trybów (domyÅlnie: <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- <emphasis role="bold">ważne</emphasis> wartoÅci, patrz
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Jeżeli chcesz siÄ przeÅÄ
czyÄ na okreÅlony tryb, użyj
-<screen>
-mplayer -vm -fbmode <replaceable>nazwa_trybu</replaceable> <replaceable>nazwa_pliku</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- Samo <option>-vm</option> wybierze najbardziej odpowiedni tryb z
- <filename>/etc/fb.modes</filename>. Można użyÄ także wraz z opcjami
- <option>-x</option> oraz <option>-y</option>. Opcja
- <option>-flip</option> jest obsÅugiwana wyÅÄ
cznie gdy format
- (pixel format) filmu pasuje do formatu (pixel format) obrazu.
- ZwrÃ³Ä uwagÄ na wartoÅÄ bpp. Sterownik fbdev próbuje użyÄ bieżÄ
cej wartoÅci,
- chyba że użyjesz opcji <option>-bpp</option>.
-</para></listitem>
-<listitem><para>
- Opcja <option>-zoom</option> nie jest obsÅugiwana
- (użyj <option>-vf scale</option>). Nie możesz używaÄ trybów 8bpp (lub mniej).
-</para></listitem>
-<listitem><para>
- Możesz chcieÄ wyÅÄ
czyÄ kursor:
- <screen>echo -e '\033[?25l'</screen>
- lub
- <screen>setterm -cursor off</screen>
- oraz wygaszacz ekranu:
- <screen>setterm -blank 0</screen>
- Aby z powrotem wÅÄ
czyÄ kursor:
- <screen>echo -e '\033[?25h'</screen>
- lub
- <screen>setterm -cursor on</screen>
-</para></listitem>
-</itemizedlist>
-
-<note>
-<para>
-Zmiana trybów FBdev <emphasis>nie dziaÅa</emphasis> z buforem ramki VESA,
-i nie proŠo to, ponieważ nie jest to ograniczenie
-<application>MPlayera</application>.
-</para>
-</note>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="mga_vid">
-<title>Bufor ramki Matrox (mga_vid)</title>
-
-<para>
-Ta sekcja traktuje o obsÅudze ukÅadu BES (Back-End Scaler) na kartach
-Matrox G200/G400/G450/G550 przez sterownik
-<systemitem>mga_vid</systemitem> z jÄ
dra.
-Ma on sprzÄtowy VSYNC z potrójnym buforowaniem.
-DziaÅa na konsoli framebuffer oraz w X.
-</para>
-
-<warning>
-<para>
-Tylko dla Linuksa! Na systemach nie-Linuksowych (testowane na FreeBSD) używaj
-zamiast tego <link linkend="vidix">VIDIX</link>!
-</para>
-</warning>
-
-<procedure>
-<title>Instalacja</title>
-<step><para>
- Przed użyciem musisz skompilowaÄ <filename>mga_vid.o</filename>:
- <screen>
-cd drivers
-make<!--
---></screen>
-</para></step>
-<step><para>
- NastÄpnie stwórz urzÄ
dzenie (device) <filename>/dev/mga_vid</filename>:
- <screen>mknod /dev/mga_vid c 178 0</screen>
- oraz zaÅaduj sterownik poprzez:
- <screen>insmod mga_vid.o</screen>
-</para></step>
-<step><para>
- PowinieneÅ sprawdziÄ rozmiar wykrywanej pamiÄci używajÄ
c polecenia
- <command>dmesg</command>.
- Jeżeli zwracana wartoÅÄ jest zÅa użyj opcji:
- <option>mga_ram_size</option>
- (najpierw <command>rmmod mga_vid</command>),
- podaj rozmiar pamiÄci na karcie (w MB):
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
-</para></step>
-<step><para>
- Aby moduÅ byÅ Åadowany/usuwany automatycznie w razie potrzeby:
- najpierw wstaw nastÄpujÄ
cy wiersz na koÅcu
- <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-
- NastÄpnie skopiuj moduÅ <filename>mga_vid.o</filename>
- we wÅaÅciwe miejsce w <filename>/lib/modules/<replaceable>wersja jÄ
dra</replaceable>/<replaceable>gdzieÅ</replaceable></filename>.
- </para><para>
- Po czym uruchom
- <screen>depmod -a</screen>
-</para></step>
-<step><para>
- Teraz musisz (ponownie) skompilowaÄ <application>MPlayera</application>,
- <filename>./configure</filename> wykryje
- <filename>/dev/mga_vid</filename> i zbuduje sterownik "mga".
- Używanie go w <application>MPlayerze</application> uzyskuje siÄ poprzez
- <option>-vo mga</option> jeżeli masz konsolÄ matroxfb, lub
- <option>-vo xmga</option> pod XFree86 3.x.x lub 4.x.x.
-</para></step>
-</procedure>
-
-<para>
-Sterownik mga_vid wspóÅpracuje z Xv.
-</para>
-
-<para>
-Plik urzÄ
dzenia (device file) <filename>/dev/mga_vid</filename>
-może byÄ odczytywany aby uzyskaÄ pewne informacje,
-na przykÅad poprzez <screen>cat /dev/mga_vid</screen>
-i można do niego pisaÄ, by zmieniÄ jasnoÅÄ:
-<screen>echo "brightness=120" > /dev/mga_vid</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>ObsÅuga 3dfx YUV</title>
-<para>
-Ten sterownik używa bufora ramki tdfx w jÄ
drze aby odtwarzaÄ filmy
-z przyÅpieszeniem YUV. BÄdziesz potrzebowaÅ jÄ
dra z obsÅugÄ
tdfxfb. BÄdziesz
-także musiaÅ odpowiednio skompilowaÄ <application>MPlayera</application>.
-<screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="opengl">
-<title>WyjÅcie OpenGL</title>
-
-<para>
-<application>MPlayer</application> obsÅuguje wyÅwietlanie filmów używajÄ
c
-OpenGL, lecz jeÅli Twoja platforma/sterownik obsÅuguje Xv,
-jak powinno byÄ w przypadku PeCetów z Linuksem, używaj Xv.
-WydajnoÅÄ OpenGL jest znaczÄ
co mniejsza.
-Jeżeli masz implementacjÄ X11 bez obsÅugi Xv, OpenGL jest sensownÄ
alternatywÄ
.
-</para>
-
-<para>
-Niestety nie wszystkie sterowniki to obsÅugujÄ
.
-Sterowniki Utah-GLX (dla XFree86 3.3.6) obsÅugujÄ
to w każdej karcie.
-SzczegóÅy ich instalacji dostÄpne sÄ
na stronie
-<ulink url="http://utah-glx.sf.net"/>.
-</para>
-
-<para>
-XFree86(DRI) 4.0.3 i nowsze obsÅugujÄ
OpenGL w kartach Matrox i Radeon,
-4.2.0 i nowsze obsÅugujÄ
Rage128. Na <ulink url="http://dri.sf.net"/>
-znajdziesz instrukcjÄ ÅciÄ
gania i instalacji.
-</para>
-
-<para>
-Podpowiedź od jednego z naszych użytkowników: wyjÅcie video GL może
-byÄ użyte aby uzyskaÄ wyjÅcie TV z vsync. BÄdziesz musiaÅ ustawiÄ
-zmiennÄ
ÅrodowiskowÄ
(przynajmniej dla nVidia):
-</para>
-
-<para>
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="aalib">
-<title>AAlib - wyÅwietlanie w trybie tekstowym</title>
-
-<para>
-AAlib jest bibliotekÄ
do wyÅwietlania grafiki w trybie tekstowym,
-używajÄ
c potÄżnego silnika renderujÄ
cego ASCII. Istnieje
-<emphasis>wiele</emphasis> programów już jÄ
obsÅugujÄ
cych, takich jak Doom,
-Quake, etc. <application>MPlayer</application> zawiera Åwietnie dziaÅajÄ
cy
-sterownik. Jeżeli <filename>./configure</filename> wykryje zainstalowane
-aalib, zostanie zbudowany sterownik aalib libvo.
-</para>
-
-<para>
-Możesz używaÄ nastÄpujÄ
cych klawiszy w oknie AA, aby zmieniÄ opcje renderowania:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Klawisz</entry><entry>Akcja</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- zmniejsz kontrast
-</entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- zwiÄksz kontrast
-</entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- zmniejsz jasnoÅÄ
-</entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- zwiÄksz jasnoÅÄ
-</entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- wÅÄ
cz/wyÅÄ
cz szybkie renderowanie
-</entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- ustaw tryb ditheringu (brak, error distribution, Floyd Steinberg)
-</entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- odwrÃ³Ä obraz
-</entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- przeÅÄ
czanie kontroli miÄdzy aa i <application>MPlayerem</application>
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>NastÄpujÄ
ce opcje mogÄ
byÄ użyte w wierszu poleceÅ:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- zmiana koloru OSD
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- Zmiana koloru napisów
- </para><para>
- gdzie <replaceable>V</replaceable> jest jednym z:
- <literal>0</literal> (normalny),
- <literal>1</literal> (ciemny),
- <literal>2</literal> (pogrubiony),
- <literal>3</literal> (pogrubiona czcionka),
- <literal>4</literal> (odwrócony),
- <literal>5</literal> (specjalny).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>AAlib samo w sobie ma wiele opcji. Poniżej znajduje siÄ
-kilka ważniejszych:</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- Ustawia sugerowany sterownik aa (X11, curses, Linux)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- Używa wszystkich 256 znaków.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- Używa 8-bitowego ASCII
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- WyÅwietla wszystkie opcje aalib
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note>
-<para>
-Renderowanie bardzo obciÄ
ża CPU, zwÅaszcza przy użyciu AA-on-X (aalib w X),
-a zajmuje mniej CPU na standardowej, nie-framebufferowej konsoli.
-Użyj SVGATextMode, aby ustawiÄ duży tryb tekstowy i baw siÄ dobrze!
-(drugi monitor z kartÄ
Hercules wymiata:))
-(ale moim skromnym zdaniem możesz użyÄ opcji
-<option>-vf 1bpp</option> aby uzyskaÄ grafikÄ na hgafb:)
-</para>
-</note>
-
-<para>
-Użyj opcji <option>-framedrop</option>, jeżeli Twój komputer nie jest na tyle
-szybki, aby wyrenderowaÄ wszystkie ramki!
-</para>
-
-<para>
-OdtwarzajÄ
c w terminalu osiÄ
gniesz lepszÄ
szybkoÅÄ i jakoÅÄ używajÄ
c sterownika
-Linux, a nie curses (<option>-aadriver linux</option>).
-Jednakże bÄdziesz potrzebowaÅ praw zapisu na
-<filename>/dev/vcsa<replaceable><terminal></replaceable></filename>!
-Nie jest to wykrywane automatycznie przez aalib, ale vo_aa próbuje
-znaleÅºÄ najlepszy tryb. Spójrz na
-<ulink url="http://aa-project.sf.net/tune"/>,
-jest tam wiÄcej informacji o dostrajaniu.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="caca">
-<title><systemitem class="library">libcaca</systemitem> - Color ASCII Art library (biblioteka kolorowego ASCII-Art)</title>
-
-<para>
-Biblioteka <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
-jest bibilotekÄ
produkujÄ
cÄ
tekst zamiast pikseli, może wiÄc pracowaÄ na
-starszych kartach graficznych oraz terminalach tekstowych. Jest podobna do
-sÅynnej biblioteki <systemitem class="library">AAlib</systemitem>.
-<systemitem class="library">libcaca</systemitem> potrzebuje do pracy terminalu,
-powinna wiÄc dziaÅaÄ na wszystkich systemach Uniksowych (wÅÄ
cznie z Mac OS X),
-używajÄ
c biblioteki
-<systemitem class="library">slang</systemitem> lub biblioteki
-<systemitem class="library">ncurses</systemitem>, w DOSie używajÄ
c biblioteki
-<systemitem class="library">conio.h</systemitem> i w systemach Windowsowych
-używajÄ
c <systemitem class="library">slang</systemitem> lub
-<systemitem class="library">ncurses</systemitem> (poprzez emulacjÄ Cygwin) bÄ
dź
-<systemitem class="library">conio.h</systemitem>. Jeżeli
-<filename>./configure</filename>
-wykryje <systemitem class="library">libcaca</systemitem>, to zostanie zbudowany
-sterownik caca libvo.
-</para>
-
-<itemizedlist>
-<title>Różnice miÄdzy <systemitem class="library">AAlib</systemitem> sÄ
- nastÄpujÄ
ce:</title>
-<listitem><para>
- 16 dostÄpnych kolorów na wyjÅciu znakowym (256 par kolorów)
-</para></listitem>
-<listitem><para>
- dirthering obrazu kolorowego
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Lecz <systemitem class="library">libcaca</systemitem> ma także
- nastÄpujÄ
ce ograniczenia:</title>
-<listitem><para>
- brak obsÅugi jasnoÅci, kontrastu, gammy
-</para></listitem>
-</itemizedlist>
-
-<para>
-Aby zmieniÄ opcje renderowania, możesz użyÄ nastÄpujÄ
cych klawiszy w oknie caca:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Klawisz</entry><entry>Akcja</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- PrzeÅÄ
czanie metod ditheringu <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- PrzeÅÄ
czanie anyaliasingu (wygÅadzania)
- <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- PrzeÅÄ
czanie tÅa <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> bÄdzie także szukaÄ
- nastÄpujÄ
cych zmiennych Årodowiskowych:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- Ustawia zalecany sterownik caca, np. ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (tylko X11)</option></term>
- <listitem><para>
- OkreÅla liczbÄ wierszy i kolumn, np. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (tylko X11)</option></term>
- <listitem><para>
- OkreÅla jakiej użyÄ czcionki, np. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Jeżeli Twój komputer nie jest wystarczajÄ
co szybki, aby renderowaÄ
-wszystkie ramki, użyj opcji <option>-framedrop</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="vesa">
-<title>VESA - wyjÅcie na VESA BIOS</title>
-
-<para>
-Ten sterownik zostaÅ zaprojektowany i napisany jako
-<emphasis role="bold">ogólny sterownik</emphasis> dla dowolnej karty,
-która ma BIOS zgodny z VESA VBE 2.0. InnÄ
zaletÄ
tego sterownika jest to,
-że próbuje on wymusiÄ wÅÄ
czenie wyjÅcia TV.
-<citetitle>VESA BIOS EXTENSION (VBE) Version 3.0, z dnia 16 wrzeÅnia 1998</citetitle>
-(Strona 70) mówi:
-</para>
-
-<blockquote>
-<formalpara>
-<title>Podwójne kontrolery (Dual-Controller Designs)</title>
-<para>
-VBE 3.0 obsÅuguje podwójne kontrolery zakÅadajÄ
c, że zwykle obydwa kontrolery
-sÄ
dostarczane przez tego samego OEM, pod kontrolÄ
pojedynczego ROM BIOSu
-na karcie graficznej. Jest możliwe ukrycie przed aplikacjÄ
,
-że obecne sÄ
dwa kontrolery. Ograniczeniem tego jest brak możliwoÅci
-równoczesnego używania niezależnych kontrolerów, ale pozwala aplikacjom
-wypuszczonym przed VBE 3.0 na normalne dziaÅanie.
-Funkcja VBE 00h (zwrÃ³Ä informacjÄ o kontrolerze) zwraca poÅÄ
czone
-informacje o obydwóch kontrolerach, wÅÄ
cznie z poÅÄ
czonÄ
listÄ
-dostÄpnych trybów.
-Gdy aplikacja wybiera tryb, wÅÄ
czany jest odpowiedni kontroler.
-Każda z pozostaÅych funkcji VBE operuje później na aktywnym kontrolerze.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-SÄ
wiÄc szanse, że używajÄ
c tego sterownika uzyskasz dziaÅajÄ
ce wyjÅcie TV.
-(ZgadujÄ, że czÄsto wyjÅcie TV jest samodzielnym ukÅadem (standalone head),
-lub przynajmniej samodzielnym wyjÅciem.)
-</para>
-
-<itemizedlist spacing="compact">
-<title>ZALETY</title>
-<listitem><para>
- Jest szansa, że bÄdziesz mógÅ oglÄ
daÄ filmy
- <emphasis role="bold">nawet, gdy Linux nie wie</emphasis>, jakiego sprzÄtu używasz.
-</para></listitem>
-<listitem><para>
- Nie ma potrzeby instalowania jakichkolwiek rzeczy zwiÄ
zanych z grafikÄ
- (takich jak X11 (AKA XFree86), fbdev i tak dalej) na Twoim Linuksie.
- Ten sterownik można uruchamiaÄ z <emphasis role="bold">trybu tekstowego</emphasis>.
-</para></listitem>
-<listitem><para>
- Jest szansa że uzyskasz <emphasis role="bold">dziaÅajÄ
ce wyjÅcie TV</emphasis>.
- (Jest tak przynajmniej w przypadku kart ATI).
-</para></listitem>
-<listitem><para>
- Ten sterownik wywoÅuje procedurÄ obsÅugi przerwania 10h
- (<function>int 10h</function> handler), nie jest wiÄc emulatorem -
- odwoÅuje siÄ do <emphasis role="bold">rzeczywistych</emphasis> rzeczy
- <emphasis>rzeczywistego</emphasis> BIOSu w
- <emphasis>trybie rzeczywistym (real-mode)</emphasis>. (tak naprawdÄ,
- to w trybie vm86, ale dziaÅa równie szybko).
-</para></listitem>
-<listitem><para>
- Możesz używaÄ VIDIX, uzyskujÄ
c przez to przyÅpieszone wyÅwietlanie video
- <emphasis role="bold">oraz</emphasis> wyjÅcie TV w tym samym czasie!
- (Zalecane dla kart ATI.)
-</para></listitem>
-<listitem><para>
- Jeżeli masz VESA VBE 3.0+ i okreÅliÅeÅ gdzieÅ
- <option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option>
- (w pliku konfiguracyjnym lub w wierszu poleceÅ), uzyskasz najwyższÄ
możliwÄ
- czÄstotliwoÅÄ odÅwieżania (UżywajÄ
c General Timing Formula
- (Ogólnej FormuÅy Taktowania)). Aby to wÅÄ
czyÄ, musisz okreÅliÄ
- <emphasis role="bold">wszystkie</emphasis> opcje monitora.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>WADY</title>
-<listitem><para>
- DziaÅa tylko na <emphasis role="bold">systemach x86</emphasis>.
-</para></listitem>
-<listitem><para>
- Może byÄ używane tylko przez użytkownika
- <systemitem class="username">root</systemitem>.
-</para></listitem>
-<listitem><para>
- Obecnie jest dostÄpne tylko dla <emphasis role="bold">Linuksa</emphasis>.
-</para></listitem>
-</itemizedlist>
-
-<important>
-<para>
-Nie używaj tego sterownika wraz z <emphasis role="bold">GCC 2.96</emphasis>!
-Nie bÄdzie dziaÅaÄ!
-</para>
-</important>
-
-<variablelist>
-<title>OPCJE WIERSZA POLECEÅ DLA VESA</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
- <listitem><para>
- obecnie rozpoznawane: <literal>dga</literal>, aby wymusiÄ tryb dga oraz
- <literal>nodga</literal>, aby wyÅÄ
czyÄ tryb dga. W trybie dga możesz
- wÅÄ
czyÄ podwójne buforowanie
- opcjÄ
<option>-double</option>. Informacja: możesz pominÄ
Ä
- te parametry, aby wÅÄ
czyÄ <emphasis role="bold">automatyczne wykrywanie
- </emphasis> trybu dga.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>ZNANE PROBLEMY I ICH OBEJÅCIA</title>
-<listitem><para>
- Jeżeli zainstalowaÅeÅ czcionkÄ <emphasis role="bold">NLS
- (Native Language Support - ObsÅuga JÄzyka Rodzimego)</emphasis>
- w swoim Linuksie i używasz sterownika VESA z trybu tekstowego to po
- zakoÅczeniu <application>MPlayera</application> bÄdziesz miaÅ zaÅadowanÄ
- <emphasis role="bold">czcionkÄ ROM</emphasis> zamiast narodowej.
- Możesz z powrotem zaÅadowaÄ czcionkÄ narodowÄ
używajÄ
c na przykÅad narzÄdzia
- <command>setsysfont</command> z dystrybucji Mandrake/Mandriva.
- (<emphasis role="bold">Podpowiedź</emphasis>:
- To samo narzÄdzie jest używane do lokalizacji fbdev).
-</para></listitem>
-<listitem><para>
- Niektóre <emphasis role="bold">Linuksowe sterowniki grafiki</emphasis>
- nie aktualizujÄ
aktywnego <emphasis role="bold">trybu BIOS</emphasis>
- w pamiÄci DOS. WiÄc jeżeli masz taki problem - zawsze używaj trybu VESA
- tylko z <emphasis role="bold">trybu tekstowego</emphasis>.
- W przeciwnym wypadku tryb tekstowy (#03) i tak bÄdzie wÅÄ
czany
- i bÄdziesz musiaÅ restartowaÄ komputer.
-</para></listitem>
-<listitem><para>
- CzÄsto po zakoÅczeniu pracy sterownika VESA dostajesz
- <emphasis role="bold">czarny</emphasis> ekran.
- Aby przywróciÄ ekran do stanu oryginalnego po prostu przeÅÄ
cz siÄ na
- innÄ
konsolÄ (wciskajÄ
c <keycap>Alt</keycap>+<keycap>F<x></keycap>)
- po czym przeÅÄ
cz siÄ z powrotem na poprzedniÄ
konsolÄ w ten sam sposób.
-</para></listitem>
-<listitem><para>
- Aby uzyskaÄ <emphasis role="bold">dziaÅajÄ
ce wyjÅcie TV</emphasis>
- musisz mieÄ podÅÄ
czony odbiornik TV przed wÅÄ
czeniem swojego PC,
- ponieważ video BIOS inicjalizuje siÄ tylko podczas procedury POST
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x11">
-<title>X11</title>
-
-<para>
-Unikaj, jeÅli to możliwe. WyjÅcie na X11 (używa rozszerzenia wspóÅdzielonej
-pamiÄci) nie używa żadnego przyÅpieszania sprzÄtowego.
-ObsÅuguje (przyÅpieszane przez MMX/3DNow/SSE, lecz ciÄ
gle wolne) skalowanie
-programowe. Użyj opcji <option>-fs -zoom</option>.
-WiÄkszoÅÄ kart ma obsÅugÄ sprzÄtowego skalowania, warto wiÄc użyÄ dla nich
-opcji <option>-vo xv</option> lub
-<option>-vo xmga</option> dla kart Matrox.
-</para>
-
-<para>
-Problemem jest to, że sterowniki do wiÄkszoÅci kart nie obsÅugujÄ
sprzÄtowego
-przyÅpieszenia na wyjÅciu na drugi monitor (second head)/TV.
-W takim przypadku widaÄ zielone/niebieskie okno zamiast filmu.
-To tutaj przydaje siÄ ten sterownik, lecz potrzebujesz potÄżnego
-CPU aby używaÄ programowego skalowania. Nie używaj programowego
-wyjÅcia SDL + skalowania, jakoÅÄ obrazu jest o wiele gorsza!
-</para>
-
-<para>
-Skalowanie programowe jest bardzo wolne, lepiej spróbuj zmieniÄ tryb video.
-Jest to bardzo proste. Spójrz na
-<link linkend="dga-modelines">wiersze trybów sekcji DGA</link>
-i wstaw je do swojego <filename>XF86Config</filename>.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- Jeżeli masz 4.x.x: użyj opcji <option>-vm</option>.
- Zmieni ona rozdzielczoÅÄ na takÄ
jakÄ
ma twój film. Jeżeli nie:
-</para></listitem>
-<listitem><para>
- W XFree86 3.x.x: musisz poruszaÄ siÄ po dostÄpnych rozdzielczoÅciach
- poprzez kombinacje klawiszy
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad +</keycap>
- oraz
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad -</keycap>.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Jeżeli nie możesz znaleÅºÄ trybów, które wstawiÅeÅ, przeszukaj komunikaty
-XFree86. Niektóre sterowniki nie mogÄ
używaÄ niskich pixelclock
-(czÄstotliwoÅci taktowania ukÅadu RAMDAC), które sÄ
wymagane dla trybów
-o niskiej rozdzielczoÅci.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="vidix">
-<title>VIDIX</title>
-
-<formalpara>
-<title>WSTÄP</title>
-<para>
-<acronym>VIDIX</acronym> jest skrótem od
-<emphasis role="bold">VID</emphasis>eo
-<emphasis role="bold">I</emphasis>nterface
-for *ni<emphasis role="bold">X</emphasis>
-(Interfejs VIDeo dla *niXów).
-VIDIX zostaÅ zaprojektowany i napisany jako interfejs dla szybkich
-sterowników dziaÅajÄ
cych w przestrzeni
-użytkownika (user-space), zapewniajÄ
cych takÄ
samÄ
wydajnoÅÄ, jak mga_vid
-dla kart Matrox. Jest także wysoce przenoÅny (portable).
-</para>
-</formalpara>
-<para>
-Ten interfejs zostaÅ zaprojektowany jako próba dopasowania istniejÄ
cych
-interfejsów przyÅpieszanego video
-(znanych jako mga_vid, rage128_vidm radeon_vid, pm3_vid) do ustalonego
-schematu. Zapewnia wysokopoziomowy interfejs dla ukÅadów znanych jako BES
-(BackEnd Scalers)
-lub OV (Video Overlay - nakÅadka video).
-Nie zapewnia on niskopoziomowego interfejsu do tworów znanych jako serwery
-grafiki. (nie chcÄ wspóÅzawodniczyÄ z zespoÅem X11 w przeÅÄ
czaniu trybów
-graficznych). Innymi sÅowy,
-gÅównym celem tego interfejsu jest maksymalizacja szybkoÅci odtwarzania video.
-</para>
-
-<itemizedlist spacing="compact">
-<title>ZASTOSOWANIE</title>
-<listitem><para>
- Możesz używaÄ samodzielnego sterownika wyjÅcia video:
- <option>-vo xvidix</option>. Ten sterownik zostaÅ stworzony jako
- interfejs X11
- dla technologii VIDIX. Wymaga serwera X i może pracowaÄ tylko pod nim.
- ZwrÃ³Ä uwagÄ na to, że stosowany jest bezpoÅredni dostÄp do sprzÄtu
- i omijany jest sterownik X, pixmapy przechowywane (cached) w pamiÄci karty
- mogÄ
zostaÄ uszkodzone. Możesz temu zapobiec ograniczajÄ
c iloÅÄ używanej przez
- X pamiÄci poprzez opcjÄ "VideoRam" w sekcji "device".
- PowinieneÅ ustawiÄ to na rozmiar pamiÄci na karcie minus 4MB.
- Jeżeli masz mniej niż 8MB pamiÄci video (video RAM),
- możesz użyÄ zamiast tego opcji "XaaNoPixmapCache" w sekcji "screen".
-</para></listitem>
-<listitem><para>
- Istnieje konsolowy sterownik VIDIX: <option>-vo cvidix</option>.
- Wymaga on dla wiÄkszoÅci kart dziaÅajÄ
cego i zainicjalizowanego bufora ramki
- (albo po prostu zapaskudzisz sobie ekran). Otrzymasz podobny efekt jak przy
- <option>-vo mga</option> lub <option>-vo fbdev</option>. Jednakże karty nVidia
- sÄ
zdolne do wyÅwietlania w peÅni graficznego obrazu w konsoli caÅkowicie
- tekstowej. WiÄcej informacji znajdziesz w sekcji
- <link linkend="vidix-nvidia">nvidia_vid</link>.
- Å»eby pozbyÄ siÄ tekstu na ramkach i mrugajÄ
cego kursora, wypróbuj coŠw rodzaju
- </para>
-
- <screen>setterm -cursor off > /dev/tty9</screen>
-
- <para>
- (zakÅadajÄ
c, że do tej pory nie używaÅeÅ <systemitem>tty9</systemitem>)
- a potem przeÅÄ
cz siÄ na <systemitem>tty9</systemitem>.
- Z drugiej strony, <option>-colorkey 0</option> powinno daÄ video odtwarzajÄ
ce
- siÄ "w tle", chociaż dziaÅanie tego zależy od prawidÅowego funkcjonowania
- koloru kluczowego.
-</para></listitem>
-<listitem><para>
- Możesz użyÄ podurzÄ
dzenia (subdevice) VIDIX, które zostaÅo dodane
- do rozmaitych sterowników wyjÅcia video, takich jak:
- <option>-vo vesa:vidix</option>
- (<emphasis role="bold">tylko Linux</emphasis>)
- oraz <option>-vo fbdev:vidix</option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-W rzeczywistoÅci nie ma znaczenia, który sterownik wyjÅcia video jest używany z
-<emphasis role="bold">VIDIX</emphasis>.
-</para>
-
-<itemizedlist spacing="compact">
-<title>WYMAGANIA</title>
-<listitem><para>
- Karta graficzna powinna pracowaÄ w trybie graficznym (z wyjÄ
tkiem kart nVidia
- z w/w sterownikiem wyjÅcia <option>-vo cvidix</option>).
-</para></listitem>
-<listitem><para>
- Sterownik wyjÅcia video <application>MPlayera</application> powinien znaÄ
- aktywny tryb video, a także powinien byÄ w stanie przekazaÄ podurzÄ
dzeniu
- VIDIX niektóre cechy serwera.
-</para></listitem>
-</itemizedlist>
-
-<formalpara>
-<title>METODY UŻYWANIA</title>
-<para>
-Gdy VIDIX używany jest jako <emphasis role="bold">podurzÄ
dzenie</emphasis>
-(<option>-vo vesa:vidix</option>) konfiguracja trybu video jest dokonywana
-przez urzÄ
dzenie wyjÅcia video (w skrócie
-<emphasis role="bold">vo_server</emphasis>).
-Możesz wiÄc przekazaÄ <application>MPlayerowi</application>
-takie same ustawienia jak dla vo_server.
-Dodatkowo rozumie on ustawienie <option>-double</option>
-jako globalnie widoczny parametr.
-(Zalecam używanie tego ustawienia z VIDIX przynajmniej dla kart ATI).
-Jeżeli chodzi o <option>-vo xvidix</option>, to obecnie rozpoznaje nastÄpujÄ
ce
-opcje <option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-<para>
-Możesz także okreÅliÄ sterownik VIDIX jako trzeci podargument w wierszu poleceÅ:
-
-<screen>mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>plik.avi</replaceable></screen>
-lub
-<screen>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>plik.avi</replaceable></screen>
-
-Ale jest to niebezpieczne i nie powinieneÅ tego robiÄ.
-W tym przypadku podany sterownik zostanie wymuszony i rezultat może byÄ
-nieprzewidywalny (może <emphasis role="bold">zawiesiÄ</emphasis> Twój komputer).
-PowinieneÅ to robiÄ TYLKO, jeÅli jesteÅ caÅkowicie pewien, że zadziaÅa,
-a <application>MPlayer</application> nie robi tego automatycznie.
-ProszÄ, powiadom o tym deweloperów. PrawidÅowym sposobem jest używanie VIDIX
-bez żadnych argumentów, aby umożliwiÄ automatyczne wykrywanie sterownika.
-</para>
-
-<para>
-Ponieważ VIDIX wymaga bezpoÅredniego dostÄpu do sprzÄtu, musisz uruchamiaÄ
-<application>MPlayera</application> jako root lub ustawiÄ bit SUID na binarce
-<application>MPlayera</application>
-(<emphasis role="bold">Ostrzeżenie: Jest to zagrożenie bezpieczeÅstwa!</emphasis>).
-Alternatywnie możesz używaÄ specjalnego moduÅu jÄ
dra, takiego jak ten:
-</para>
-
-<procedure>
-<step><para>
- ÅciÄ
gnij <ulink url="http://www.arava.co.il/matan/svgalib/">rozwojowÄ
wersjÄ</ulink>
- svgalib (na przykÅad 1.9.17) <emphasis role="bold">LUB</emphasis> ÅciÄ
gnij
- <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">stÄ
d</ulink>
- wersjÄ stworzonÄ
przez Alexa specjalnie do użytku z <application>MPlayerem</application>
- (nie potrzebuje ona do kompilacji źródeŠsvgalib)
-</para></step>
-<step><para>
- Skompiluj moduÅ w katalogu <filename class="directory">svgalib_helper</filename>
- (jeżeli ÅciÄ
gnÄ
ÅeŠźródÅa ze strony svgalib to można go znaleÅºÄ wewnÄ
trz katalogu
- <filename class="directory">svgalib-1.9.17/kernel/</filename>) i zaÅaduj go (insmod).
-</para></step>
-<step><para>
- Aby utworzyÄ odpowiednie urzÄ
dzenia (devices) w katalogu <filename class="directory">/dev</filename>,
- wykonaj jako root <screen>make device</screen> w katalogu <filename class="directory">svgalib_helper</filename>.
-</para></step>
-<step><para>
- PrzenieÅ katalog <filename class="directory">svgalib_helper</filename> do
- <filename class="directory">mplayer/main/libdha/svgalib_helper</filename>.
-</para></step>
-<step><para>
- Wymagane jeżeli ÅciÄ
gnÄ
ÅeŠźródÅa ze strony svgalib: usuÅ komentarz przed
- wierszem CFLAGS zawierajÄ
cy ciÄ
g "svgalib_helper" z
- <filename class="directory">libdha/Makefile</filename>.
-</para></step>
-<step><para>
- Przekompiluj i zainstaluj libdha
-</para></step>
-</procedure>
-
-
-<sect3 id="vidix-ati">
-<title>Karty ATI</title>
-
-<para>
-Obecnie wiÄkszoÅÄ kart ATI jest obsÅugiwana natywnie,
-od Mach64 do najnowszych Radeonów.
-</para>
-
-<para>
-SÄ
dwie skompilowanie binarki: <filename>radeon_vid</filename> dla Radeonów
-oraz <filename>rage128_vid</filename> dla kart Rage 128.
-Możesz wymusiÄ jednÄ
z nich lub pozwoliÄ systemowi VIDIX na autodetekcjÄ
-dostÄpnych sterowników.
-</para>
-</sect3>
-
-
-<sect3 id="vidix-mga">
-<title>Karty Matrox</title>
-
-<para>
-Matrox G200, G400, G450 i G550 zgÅoszono jako dziaÅajÄ
ce.
-</para>
-
-<para>
-Sterownik obsÅuguje korektory (equalizery) video i powinien byÄ prawie tak
-szybki jak <link linkend="mga_vid">bufor ramki Matrox</link>
-</para>
-</sect3>
-
-
-<sect3 id="vidix-trident">
-<title>Karty Trident</title>
-
-<para>
-Jest dostÄpny sterownik dla ukÅadu Trident Cyberblade/i1, który można znaleźÄ
-na pÅytach gÅównych VIA Epia.
-</para>
-
-<para>
-Sterownik ten zostaÅ napisany przez (i jest pod opiekÄ
)
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastaira M. Robinsona</ulink>.
-</para>
-</sect3>
-
-
-<sect3 id="vidix-3dlabs">
-<title>Karty 3DLabs</title>
-
-<para>
-Chociaż istnieje sterownik dla ukÅadów 3DLabs GLINT R3 oraz Permedia3,
-to nikt go nie testowaÅ (sprawozdania sÄ
mile widziane).
-</para>
-</sect3>
-
-
-<sect3 id="vidix-nvidia">
-<title>Karty nVidia</title>
-
-<para>
-UnikalnÄ
cechÄ
sterownika nvidia_vid jest jego zdolnoÅÄ do wyÅwietlania obrazu
-na <emphasis role="bold">zwykÅej, czysto tekstowej konsoli</emphasis> - bez
-magicznych X, bufora ramki, czy czegokolwiek.
-W tym celu bÄdziemy musieli użyÄ wyjÅcia video <option>cvidix</option>, jak
-w pokazuje poniższy przykÅad:
- <screen>mplayer -vo cvidix <replaceable>przyklad.avi</replaceable></screen>
-</para>
-</sect3>
-
-
-<sect3 id="vidix-sis">
-<title>Karty SiS</title>
-
-<para>
-Jest to kod wysoce eksperymentalny, tak jak nvidia_vid.
-</para>
-
-<para>
-Przetestowano go na SiS 650/651/740 (najczÄÅciej używane ukÅady w
-minimalistycznych pecetach "Shuttle XPC" z pÅytami
-SiS).
-</para>
-
-<para>
-Czekamy na raporty!
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="directfb">
-<title>DirectFB</title>
-
-<blockquote><para>
-"DirectFB jest bibliotekÄ
graficznÄ
, która byÅa tworzona z myÅlÄ
o
-systemach typu embedded.
-Oferuje ona maksymalnÄ
przyÅpieszanÄ
sprzÄtowo wydajnoÅÄ przy minimalnym
-zużyciu zasobów i minimalnym narzucie biblioteki.
-" - cytat z <ulink url="http://www.directfb.org"/>
-</para></blockquote>
-
-<para>Nie bÄdÄ tu podawaÅ cech DirectFB.</para>
-
-<para>
-Chociaż <application>MPlayer</application> nie jest obsÅugiwany jako
-"dostawca video" dla DirectFB,
-ten sterownik wyjÅcia umożliwi odtwarzanie video poprzez DirectFB.
-BÄdzie ono - oczywiÅcie - przyÅpieszane.
-Na moim Matroksie G400 szybkoÅÄ DirectFB byÅa taka sama jak XVideo.
-</para>
-
-<para>
-Zawsze próbuj używaÄ najnowszej wersji DirectFB.
-Możesz używaÄ opcji DirectFB w wierszu poleceÅ, używajÄ
c opcji
-<option>-dfbopts</option>. Wyboru warstwy można dokonaÄ metodÄ
podurzÄ
dzenia.
-PrzykÅad: <option>-vo directfb:2</option> (standardowÄ
jest warstwa -1 : autodetekcja)
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-
-<para>
-Przeczytaj proszÄ <link linkend="directfb">gÅównÄ
sekcjÄ DirectFB</link>,
-znajdziesz tam ogólne informacje.
-</para>
-
-<para>
-Ten sterownik wyjÅcia video wÅÄ
czy CRTC2
-(na drugim wyjÅciu z karty) w kartach Matrox G400/G450/G550,
-wyÅwietlajÄ
c obraz <emphasis role="bold">niezależnie</emphasis>
-od pierwszego wyjÅcia z karty.
-</para>
-
-<para>
-Ville Syrjala ma na swojej stronie domowej
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
-oraz
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
-wyjaÅniajÄ
ce, jak uruchomiÄ wyjÅcie TV DirectFB w kartach Matrox.
-</para>
-
-<note><para>
-PierwszÄ
wersjÄ
DirectFB, jakÄ
udaÅo nam siÄ uruchomiÄ byÅa 0.9.17
-(wadliwa, potrzebuje Åatki <systemitem>surfacemanager</systemitem>
-z powyższego URL).
-Port kodu CRTC2 do
-<link linkend="mga_vid">mga_vid</link> jest od lat w planach.
-Mile widziane sÄ
-<ulink url="../../tech/patches.txt">Åatki</ulink>.
-</para></note>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpeg_decoders">
-<title>Dekodery MPEG</title>
-
-<sect2 id="dvb">
-<title>WejÅcie i wyjÅcie DVB</title>
-
-<para>
-<application>MPlayer</application> obsÅuguje karty z ukÅadem Siemens DVB,
-od producentów takich, jak: Siemens, Technotrend, Galaxis czy Hauppauge.
-Najnowsze sterowniki DVB sÄ
dostÄpne na
-<ulink url="http://www.linuxtv.org">stronie Linux TV</ulink>.
-Jeżeli chcesz programowego transkodowania, powinieneÅ dysponowaÄ procesorem
-z zegarem co najmniej 1GHz.
-</para>
-
-<para>
-Configure powinien wykryÄ TwojÄ
kartÄ DVB. Jeżeli tak siÄ nie staÅo,
-możesz wymusiÄ obsÅugÄ DVB używajÄ
c
-</para>
-
-<para><screen>./configure --enable-dvb</screen></para>
-
-<para>Jeżeli Twoje nagÅówki 'ost' znajdujÄ
siÄ w niestandardowym miejscu,
-ustaw ÅcieżkÄ przy pomocy</para>
-
-<para><screen>./configure --extra-cflags=<replaceable>katalog ze źródÅami DVB</replaceable>/ost/include</screen></para>
-
-<para>Po czym skompiluj i zainstaluj jak zwykle.</para>
-
-<formalpara>
-<title>ZASTOSOWANIE</title>
-<para>
-SprzÄtowego dekodowania (odtwarzanie standardowych plików MPEG-1/2)
-można dokonaÄ tÄ
komendÄ
:
-</para>
-</formalpara>
-
-<para><screen>mplayer -ao mpegpes -vo mpegpes <replaceable>plik.mpg|vob</replaceable></screen></para>
-
-<para>
-Programowe dekodowanie oraz transkodowanie różnych formatów do MPEG-1
-można uzyskaÄ używajÄ
c polecenia podobnego do:
-</para>
-<para><screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>twójplik.roz</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>twójplik.roz</replaceable>
-</screen></para>
-
-<para>
-Zauważ, że karty DVB obsÅugujÄ
tylko rozdzielczoÅÄ pionowÄ
równÄ
288 i 576 dla
-PAL oraz 240 i 480 dla NTSC.
-<emphasis role="bold">Musisz</emphasis> przeskalowaÄ obraz, dodajÄ
c
-<option>scale=szerokoÅÄ:wysokoÅÄ</option>,
-z wybranÄ
wysokoÅciÄ
i szerokoÅciÄ
do opcji <option>-vf</option>.
-Karty DVB akceptujÄ
różne szerokoÅci, takie jak 720, 704, 640, 512, 480, 352
-itp. i dokonujÄ
sprzÄtowego skalowania w kierunku horyzontalnym,
-wiÄc w wiÄkszoÅci przypadków nie musisz skalowaÄ horyzontalnie.
-Dla MPEG-4 (DivX) 512x384 (proporcje 4:3) wypróbuj:
-</para>
-
-<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen></para>
-
-<para>Jeżeli masz film w formacie panoramicznym i nie chcesz go skalowaÄ
-do peÅnej wysokoÅci, możesz użyÄ filtru <option>expand=szer:wys</option>
-aby dodaÄ czarne paski. Aby wyÅwietliÄ MPEG-4 (DivX) 640x384, wypróbuj:
-</para>
-
-<para><screen>mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>plik.avi</replaceable>
-</screen></para>
-
-<para>Jeżeli twój CPU jest za wolny na peÅnowymiarowy MPEG-4 (DivX) 720x576,
-spróbuj przeskalowaÄ w dóÅ:</para>
-
-<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>plik.avi</replaceable>
-</screen></para>
-
-<para>Jeżeli to nie poprawiÅo szybkoÅci, spróbuj także pionowego
-skalowania w dóÅ:</para>
-
-<para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>plik.avi</replaceable>
-</screen></para>
-
-<para>
-Dla OSD i napisów użyj cechy OSD filtru expand. Zamiast
-<option>expand=wys:szer</option> lub
-<option>expand=wys:szer:x:y</option>, użyj wiÄc
-<option>expand=wys:szer:x:y:1</option> (piÄ
ty parametr <option>:1</option>
-na koÅcu umożliwi renderowanie (wyÅwietlanie) OSD).
-Możesz chcieÄ przesunÄ
Ä obraz trochÄ w górÄ, aby zyskaÄ wiÄcej miejsca na
-napisy. Możesz także chcieÄ przesunÄ
Ä napisy w górÄ, jeżeli znajdujÄ
siÄ poza
-ekranem TV, użyj opcji <option>-subpos <0-100></option>, aby to dopasowaÄ
-(<option>-subpos 80</option> jest dobrym wyborem).
-</para>
-
-<para>
-Aby odtwarzaÄ filmy z liczbÄ
klatek na sekundÄ innÄ
niż 25 na telewizorze PAL
-lub na wolnym CPU, dodaj opcjÄ <option>-framedrop</option>.
-</para>
-
-<para>
-Zachowanie proporcji plików MPEG-4 (DivX) oraz optymalne parametry skalowania
-(sprzÄtowe poziome i programowe pionowe z zachowaniem odpowiednich proporcji),
-można uzyskaÄ przy użyciu nowego filtru dvbscale:
-</para>
-
-<para><screen>
-dla TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-dla TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen></para>
-
-<formalpara>
-<title>Cyfrowa telewizja (moduÅ wejÅcia DVB)</title>
-<para>Możesz użyÄ swojej karty DVB do oglÄ
dania cyfrowej telewizji.</para>
-</formalpara>
-
-<para>
- PowinieneÅ mieÄ zainstalowane programy <command>scan</command> oraz
- <command>szap/tzap/czap/azap</command>; wszystkie sÄ
w paczce ze sterownikami.
-</para>
-
-<para>
- Sprawdź czy Twoje sterowniki dziaÅajÄ
prawidÅowo używajÄ
c programu takiego jak
- <ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
- (jest on podstawÄ
moduÅu wejÅcia DVB).
-</para>
-
-<para>
- Teraz powinieneÅ uÅożyÄ plik <filename>~/.mplayer/channels.conf</filename>
- zgodnie ze skÅadniÄ
akceptowanÄ
przez <command>szap/tzap/czap/azap</command>
- lub kazaÄ <command>scan</command> zrobiÄ to za Ciebie.
-</para>
-
-<para>
- Jeżeli masz kartÄ wiÄcej niż jednego typu (np. ATSC, satelita, kablówka,
- z nadajnika naziemnego), to możesz zapisaÄ swoje pliki kanaÅów jako:
- <filename>~/.mplayer/channels.conf.sat</filename> (satelita),
- <filename>~/.mplayer/channels.conf.ter</filename> (naziemna),
- <filename>~/.mplayer/channels.conf.cbl</filename> (kablówka),
- oraz <filename>~/.mplayer/channels.conf.atsc</filename>
- dajÄ
c w ten sposób <application>MPlayerowi</application> wskazówkÄ aby
- używaŠtych plików zamiast <filename>~/.mplayer/channels.conf</filename>,
- a Ty musisz tylko okreÅliÄ, której karty użyÄ.
-</para>
-
-<para>
- Upewnij siÄ, że w <filename>channels.conf</filename> masz
- <emphasis>tylko</emphasis> kanaÅy niekodowane (Free to Air). W przeciwnym
- razie <application>MPlayer</application> bÄdzie próbowaÅ przeskoczyÄ do
- nastÄpnego widzialnego kanaÅu, lecz może to zajÄ
Ä trochÄ czasu jeżeli
- wystÄ
puje po sobie wiele kanaÅów kodowanych.
-</para>
-
-<para>
- W polach audio i video możesz użyÄ rozszerzonej skÅadni:
- <option>...:pid[+pid]:...</option> (każdy maksymalnie dla 6 pidów);
- W tym przypadku <application>MPlayer</application> uwzglÄdni w strumieniu
- wszystkie podane pidy, plus pid 0 (zawierajÄ
cy PAT). ZachÄcamy do
- uwzglÄdnienia w każdym wierszu pidu PMT (jeżeli go znasz) dla okreÅlanego
- kanaÅu. Inne możliwe zastosowania: pid televideo, druga Åcieżka dźwiÄkowa,
- itp.
-</para>
-
-<para>
- JeÅli <application>MPlayer</application> czÄsto uskarża siÄ na
- <screen>Too many video/audio packets in the buffer</screen>
- (za dużo pakietów video/audio w buforze) albo jeÅli zauważysz rosnÄ
cy brak
- synchronizacji miÄdzy audio a video spróbuj użyÄ demuksera MPEG-TS
- z libavformat, dodajÄ
c
- <option>-demuxer lavf -lavfdopts probesize=128</option>
- do wiersza poleceÅ.
-</para>
-
-<para>
- Aby wyÅwietliÄ pierwszy z kanaÅów obecnych na Twojej liÅcie, uruchom
-</para>
-
-<screen>
- mplayer dvb://
-</screen>
-
-<para>
- Jeżeli chcesz oglÄ
daÄ okreÅlony kanaÅ, na przykÅad R1, uruchom
-</para>
-
-<screen>
- mplayer dvb://R1
-</screen>
-
-<para>
- Jeżeli masz wiÄcej niż jednÄ
kartÄ, bÄdziesz musiaÅ okreÅliÄ numer
- karty, na której jest widoczny kanaÅ (np. 2), korzystajÄ
c z nastÄpujÄ
cej
- skÅadni:
-</para>
-
-<screen>
- mplayer dvb://2@R1
-</screen>
-
-<para>
- Aby przeÅÄ
czaÄ kanaÅy używaj klawiszy <keycap>h</keycap> (nastÄpny) oraz
- <keycap>k</keycap> (poprzedni) lub skorzystaj z
- <link linkend="osdmenu">menu OSD</link>).
-</para>
-
-<para>
- Jeżeli Twój <filename>~/.mplayer/menu.conf</filename> zawiera wpis
- <literal><dvbsel></literal>, taki jak ten w przykÅadowym pliku
- <filename>etc/dvb-menu.conf</filename> (którym możesz nadpisaÄ
- <filename>~/.mplayer/menu.conf</filename>), w menu gÅównym pokaże siÄ
- podmenu, które zezwoli Ci na wybór jednego kanaÅu z obecnych w Twoim
- <filename>channels.conf</filename>, możliwe, że poprzedzone menu z listÄ
- dostÄpnych kart, jeżeli wiÄcej niż jedna nadaje siÄ do użytku
- <application>MPlayerem</application>.
-</para>
-
-<para>
- Jeżeli chcesz zapisaÄ program (audycjÄ) na dysku, użyj
-</para>
-
-<screen>
- mplayer -dumpfile r1.ts -dumpstream dvb://R1
-</screen>
-
-<para>
- Jeżeli chcesz nagraÄ go w innym formacie (przekodowujÄ
c go), możesz zamiast
- tego użyÄ polecenia podobnego do
-</para>
-
-<screen>
- mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
-</screen>
-
-<para>
- Na stronie man znajdziesz listÄ opcji, które możesz przekazaÄ moduÅowi wejÅcia
- DVB.
-</para>
-
-
-<formalpara>
-<title>PRZYSZÅOÅÄ</title>
-<para>
-Jeżeli masz pytania lub chcesz otrzymywaÄ przyszÅe ogÅoszenia,
-a także wziÄ
Ä udziaÅ w dyskusjach na ten temat, przyÅÄ
cz siÄ do naszej
-listy dyskusyjnej
-<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>.
-ProszÄ pamiÄtaj, że jÄzykiem listy jest angielski.
-</para>
-</formalpara>
-
-<para>
-W przyszÅoÅci możesz siÄ spodziewaÄ zdolnoÅci wyÅwietlania OSD i napisów
-przy użyciu wbudowanej obsÅugi OSD przez karty DVB, a także bardziej pÅynnego
-odtwarzania filmów innych niż 25fps oraz transkodowania w czasie
-rzeczywistym MPEG-2 i MPEG-4
-(czÄÅciowa dekompresja).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-
-<para><application>MPlayer</application> obsÅuguje sprzÄtowo przyÅpieszane
-odtwarzanie przy użyciu karty DXR2.</para>
-<para>
-Przede wszystkim bÄdziesz potrzebowaÅ poprawnie zainstalowanych sterowników
-DXR2. Sterowniki i instrukcjÄ instalacji możesz znaleÅºÄ na stronie
-<ulink url="http://dxr2.sf.net/">Centrum zasobów DXR2 (DXR2 Resource Center)</ulink>.
-</para>
-
-<variablelist>
-<title>ZASTOSOWANIE</title>
-<varlistentry>
-<term><option>-vo dxr2</option></term>
-<listitem><para>WÅÄ
cz wyjÅcie TV.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vo dxr2:x11</option> lub <option>-vo dxr2:xv</option></term>
-<listitem><para>WÅÄ
cz wyjÅcie nakÅadki w X11.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-dxr2 <opcja1:opcja2:...></option></term>
-<listitem><para>Ta opcja używana jest do sterowania sterownikiem DXR2.</para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-UkÅad nakÅadki (overlay chipset) używany w DXR2 jest doÅÄ kiepskiej jakoÅci,
-ale standardowe ustawienia powinny dziaÅaÄ u wszystkich.
-OSD może byÄ użyte z nakÅadkÄ
(nie na TV) poprzez rysowanie go kolorem
-kluczowym (colorkey).
-Ze standardowymi ustawieniami koloru kluczowego możesz uzyskaÄ różne rezultaty,
-zwykle bÄdziesz widziaÅ kolor kluczowy dookoÅa znaków lub inny Åmieszny efekt.
-Jeżeli dobrze dostosujesz ustawienia koloru kluczowego, powinieneÅ uzyskaÄ
-akceptowalne wyniki.
-</para>
-
-<para>ListÄ dostÄpnych opcji znajdziesz na stronie man.</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-
-<para>
-<application>MPlayer</application> obsÅuguje sprzÄtowo przyÅpieszane
-odtwarzanie na kartach Creative DXR3 oraz Sigma Designs Hollywood Plus.
-Obie te karty używajÄ
ukÅadu dekodujÄ
cego em8300 firmy Sigma Designs.
-</para>
-
-<para>
-Przede wszystkim bÄdziesz potrzebowaÅ poprawnie zainstalowanych sterowników
-DXR3/H+ w wersji 0.12.0 lub nowszej.
-Sterowniki i instrukcjÄ ich instalacji możesz znaleÅºÄ na stronie
-<ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus dla Linuksa</ulink>.
-<filename>configure</filename> powinno wykryÄ TwojÄ
kartÄ automatycznie,
-kompilacja powinna przebiec bez problemu.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>ZASTOSOWANIE</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>device</replaceable></option></term>
-<listitem><para>
-<option>overlay</option> wÅÄ
cza nakÅadkÄ zamiast wyjÅcia TV.
-Do dziaÅania wymaga poprawnie skonfigurowanych ustawieÅ nakÅadki.
-NajÅatwiejszym sposobem konfiguracji nakÅadki jest odpalenie autocal.
-NastÄpnie uruchom <application>MPlayera</application> z wyjÅciem dxr3 oraz z
-wyÅÄ
czonÄ
nakÅadkÄ
; uruchom dxr3view.
-W dxr3view możesz dostrajaÄ ustawienia nakÅadki i oglÄ
daÄ efekty na bieżÄ
co,
-byÄ może bÄdzie to w przyszÅoÅci obsÅugiwane przez GUI <application>MPlayera</application>.
-Po poprawnym ustawieniu nakÅadki nie bÄdziesz już musiaÅ używaÄ dxr3view.
-<option>prebuf</option> wÅÄ
cza buforowanie z wyprzedzeniem (prebuffering).
-Prebuffering jest możliwoÅciÄ
ukÅadu em8300, która umożliwia przetrzymywanie
-w pamiÄci wiÄcej niż jednej ramki video na raz. Oznacza to, że
-<application>MPlayer</application>
-uruchomiony z wÅÄ
czonym prebufferingiem bÄdzie próbowaÅ caÅy czas utrzymywaÄ
-wypeÅniony bufor. Jeżeli masz wolnÄ
maszynÄ, <application>MPlayer</application>
-bÄdzie używaÅ prawie lub dokÅadnie 100% CPU. Jest to szczególnie powszechne
-przy odtwarzaniu czystych strumieni MPEG (takich jak DVD, SVCD itd.).
-<application>MPlayer</application> wypeÅni bufor bardzo szybko, ponieważ nie
-bÄdzie musiaÅ przekodowywaÄ strumienia do MPEG.
-Z prebufferingiem odtwarzanie video jest <emphasis role="bold">dużo</emphasis>
-mniej wrażliwe na inne programy wykorzystujÄ
ce CPU. Nie bÄdzie gubiÅ ramek,
-chyba że inne aplikacje bÄdÄ
wykorzystywaÅy CPU przez dÅuższy czas.
-Uruchamiany bez prebufferingu, em8300 jest o wiele bardziej wrażliwy na
-obciÄ
żenie CPU, wÅÄ
czenie opcji <option>-framedrop</option> jest wiÄc wysoce
-wskazane aby uniknÄ
Ä dalszej utraty synchronizacji.
-<option>sync</option> wÅÄ
czy nowy mechanizm synchronizacji (sync-engine). Jest
-to na razie funkcja eksperymentalna. Z wÅÄ
czonym sync wewnÄtrzny zegar em8300
-bÄdzie caÅy czas monitorowany. Gdy zacznie siÄ różniÄ od zegara
-<application>MPlayera</application> zostanie zresetowany, czego skutkiem bÄdzie
-opuszczenie przez em8300 wszystkich opóźnionych
-ramek. <option>norm=x</option> ustawi standard TV dla DXR3 bez potrzeby
-używania zewnÄtrznych narzÄdzi, takich jak em8300setup. Poprawnymi
-standardami sÄ
: 5 = NTSC, 4 = PAL-60, 3 = PAL. Specjalne standardy to
-2 (automatyczne dostrojenie
-używajÄ
ce PAL/PAL-60) oraz 1 (automatyczne dostrojenie używajÄ
ce PAL/NTSC);
-decydujÄ
one, którego standardu użyÄ patrzÄ
c na iloÅÄ klatek na sekundÄ filmu.
-norm = 0 (standardowe) nie zmienia bieżÄ
cego standardu.
-<option><replaceable>device</replaceable></option> = numer urzÄ
dzenia, którego
-możesz użyÄ, jeżeli masz wiÄcej niż jednÄ
kartÄ em8300.
-Każda z tych opcji może byÄ pominiÄta.
-<option>:prebuf:sync</option> spisuje siÄ doskonale przy odtwarzaniu filmów
-MPEG-4 (DivX). Niektórzy miewajÄ
problemy podczas odtwarzania plików
-MPEG-1/2 korzystajÄ
c
-z opcji prebuf. Spróbuj najpierw bez żadnych opcji. Jeżeli bÄdziesz miaÅ
-problemy z synchronizacjÄ
lub z napisami DVD, wypróbuj <option>:sync</option>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
-<listitem><para>
-Ustawia wyjÅcie audio, gdzie <replaceable>X</replaceable> jest numerem
-urzÄ
dzenia (0 jeżeli pojedyncza karta).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
-<listitem><para>
-em8300 nie potrafi odgrywaÄ dźwiÄku o czÄstotliwoÅci próbkowania niższej niż
-44100Hz. Jeżeli czÄstotliwoÅÄ próbkowania jest niższa niż 44100Hz wybierz
-44100HZ lub 48000Hz w zależnoÅci, która bardziej pasuje. Na przykÅad jeżeli film
-używa 22050Hz - wybierz 44100Hz (44100 / 2 = 22050), jeżeli używa 24000Hz -
-wybierz 48000Hz (48000 / 2 = 24000) i tak dalej. Nie dziaÅa to z cyfrowym
-wyjÅciem audio (<option>-ac hwac3</option>).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf lavc</option></term>
-<listitem><para>
-Aby oglÄ
daÄ zawartoÅÄ nie-MPEG na em8300 (np. MPEG-4 (DivX) lub RealVideo)
-bÄdziesz musiaÅ okreÅliÄ filtr video MPEG-1 taki jak
-<systemitem class="library">libavcodec</systemitem> (lavc).
-Spójrz na stronÄ man, aby uzyskaÄ wiÄcej informacji o <option>-vf lavc</option>.
-Obecnie nie istnieje sposób ustawienia wspóÅczynnika fps dla
-em8300, co oznacza, że jest on zablokowany na 30000/1001fps. Z tego powodu jest
-bardzo wskazane abyÅ używaÅ
-<option>-vf lavc=<replaceable>quality</replaceable>:25</option>, szczególnie
-jeżeli używasz buforowania z wyprzedzeniem. Dlaczego 25 a nie 30000/1001? Cóż,
-przy 30000/1001 odtwarzanie staje siÄ nieco skokowe. Powód tego nie jest nam znany.
-Jeżeli ustawisz fps pomiÄdzy 25 a 27 obraz stanie siÄ stabilny. W chwili obecnej
-nie możemy zrobiÄ nic poza zaakceptowaniem tego faktu.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-vf expand=-1:-1:-1:-1:1</option></term>
-<listitem><para>
-Chociaż sterownik DXR3 może wstawiÄ jakieÅ OSD w obraz MPEG-1/2/4, ma ono
-o wiele niższÄ
jakoÅÄ niż tradycyjne OSD <application>MPlayera</application>,
-ma także liczne problemy z odÅwieżaniem. Powyższy wiersz najpierw zamieni
-wejÅciowe video na MPEG-4 (jest to konieczne, przepraszamy),
-nastÄpnie naÅoży filtr expand (rozszerzenie), który
-nic nie rozszerzy (-1: domyÅlne), ale doda normalne OSD do obrazu (robi to ta
-jedynka na koÅcu).
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><option>-ac hwac3</option></term>
-<listitem><para>
-em8300 obsÅuguje odtwarzanie AC3 audio (dźwiÄk przestrzenny) poprzez cyfrowe
-wyjÅcie karty. Spójrz na opcjÄ <option>-ao oss</option> powyżej. Musi ona byÄ
-użyta aby okreÅliÄ wyjÅcie DXR3 zamiast tego z karty dźwiÄkowej.
-</para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="other">
-<title>Inny sprzÄt do wizualizacji</title>
-
-<sect2 id="zr">
-<title>Zr</title>
-
-<para>
-Jest to sterownik wyÅwietlania (<option>-vo zr</option>) dla wielu kart
-sÅużÄ
cych do przechwytywania/odtwarzania MJPEG (testowane z DC10+ i Buz,
-powinien także dziaÅaÄ dla LML33 oraz DC10). Sterownik koduje ramkÄ na JPEG i
-wysyÅa jÄ
do karty. Do konwersji na JPEG używany i wymagany jest
-<systemitem class="library">libavcodec</systemitem>. KorzystajÄ
c ze specjalnego
-trybu <emphasis>cinerama</emphasis>
-możesz oglÄ
daÄ filmy w formacie panoramicznym (wide screen), zakÅadajÄ
c że masz
-dwa ekrany i dwie karty MJPEG. W zależnoÅci od rozdzielczoÅci i ustawieÅ
-jakoÅci, sterownik ten może wymagaÄ sporo mocy CPU. PamiÄtaj, aby użyÄ
-<option>-framedrop</option>, jeżeli Twoja maszyna jest zbyt wolna. Info: Mój AMD
-K6-2 350MHz jest (z <option>-framedrop</option>) caÅkiem wystarczajÄ
cy do
-oglÄ
dania materiaÅów o rozmiarach VCD, oraz przeskalowanych w dóŠfilmów.
-</para>
-
-<para>
-Sterownik ten "rozmawia" ze sterownikiem jÄ
dra dostÄpnym na
-<ulink url="http://mjpeg.sf.net"/>, musisz wiÄc go najpierw uruchomiÄ.
-ObecnoÅÄ karty MJPEG jest wykrywana automatycznie przez skrypt
-<filename>configure</filename>. Jeżeli autodetekcja zawiedzie, wymuŠwykrywanie
-używajÄ
c <screen>./configure --enable-zr</screen>
-</para>
-<para>
-WyjÅcie można kontrolowaÄ licznymi opcjami. Obszerny opis opcji można znaleÅºÄ na
-stronie man, krótki poprzez wywoÅanie
-<screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
-Rzeczy takie, jak skalowanie i OSD (wyÅwietlanie na ekranie) nie sÄ
obsÅugiwane
-przez ten sterownik, ale można je uzyskaÄ poprzez filtry video. ZaÅóżmy, że
-masz film w rozdzielczoÅci 512x272 i chciaÅbyÅ go wyÅwietliÄ na peÅnym
-ekranie, używajÄ
c swojego DC10+. IstniejÄ
trzy gÅówne możliwoÅci - możesz
-przeskalowaÄ film do szerokoÅci 768, 384 lub 192. Ze wzglÄdu na wydajnoÅÄ i
-jakoÅÄ, wybraÅbym przeskalowanie filmu do 384x204 używajÄ
c szybkiego
-programowego skalowania w trybie bilinear. Polecenie wyglÄ
da w ten sposób:
-<screen>
-mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>film.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Kadrowania można dokonaÄ filtrem <option>crop</option> albo tym
-sterownikiem. ZaÅóżmy, że Twój film jest zbyt szeroki, aby go wyÅwietliÄ na
-Twoim Buz i chcesz użyÄ <option>-zrcrop</option>, aby uczyniÄ film mniej
-szerokim.
-PowinieneÅ użyÄ takiego polecenia:
-<screen>
-mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Jeżeli chcesz użyÄ filtru <option>crop</option>, wykonaj:
-<screen>
-mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Dodatkowe wystÄ
pienia <option>-zrcrop</option> wywoÅujÄ
tryb
-<emphasis>cinerama</emphasis>. Możesz na przykÅad rozdzieliÄ obraz na kilka TV
-lub projektorów, uzyskujÄ
c w ten sposób wiÄkszy ekran. Powiedzmy, że masz dwa
-projektory, lewy podÅÄ
czony do karty Buz na <filename>/dev/video1</filename>
-a prawy do DC10+ na <filename>/dev/video0</filename>. Film jest w
-rozdzielczoÅci 704x288. ZaÅóżmy także, że chcesz, aby obraz z prawego projektora
-byÅ czarno-biaÅy oraz aby ramki jpeg wyÅwietlane z lewego projektora byÅy
-jakoÅci 10. Aby uzyskaÄ taki efekt powinieneÅ wydaÄ nastÄpujÄ
ce polecenie:
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>film.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Jak pewnie zauważyÅeÅ, opcje przed drugim <option>-zrcrop</option> odnoszÄ
siÄ
-tylko do DC10+, a opcje po drugim <option>-zrcrop</option> odnoszÄ
siÄ do Buz.
-IloÅÄ kart uczestniczÄ
cych w <emphasis>cinerama</emphasis> ograniczona jest do
-czterech, wiÄc możesz zbudowaÄ ekran (ÅcianÄ video:) 2x2.
-</para>
-
-<para>
-Na koniec - ważna uwaga: Nie wÅÄ
czaj ani nie wyÅÄ
czaj XawTV na urzÄ
dzeniu
-odtwarzajÄ
cym w trakcie odtwarzania - zawiesisz swój komputer. Można natomiast
-<emphasis role="bold">NAJPIERW</emphasis> wÅÄ
czyÄ XawTV,
-<emphasis role="bold">NASTÄPNIE</emphasis> wÅÄ
czyÄ <application>MPlayera</application>,
-poczekaÄ, aż <application>MPlayer</application> zakoÅczy dziaÅanie i
-<emphasis role="bold">POTEM</emphasis> wyÅÄ
czyÄ XawTV.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="blinkenlights">
-<title>Blinkenlights</title>
-
-<para>
-Ten sterownik zdolny jest do odtwarzanie używajÄ
c protokoÅu UDP Blinkenlights
-(mrugajÄ
ce ÅwiatÅa - przyp. tÅum.). Jeżeli nie wiesz, czym jest
-<ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>
-lub jego nastÄpca - <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>,
-dowiedz siÄ. Pomimo, że prawdopodobnie jest to najrzadziej używane wyjÅcie
-video, z pewnoÅciÄ
jest najfajniejszym jakie <application>MPlayer</application>
-ma do zaoferowania. Po prostu pooglÄ
daj kilka
-<ulink url="http://www.blinkenlights.de/video.en.html">dokumentacyjnych filmów
-Blinkenlights</ulink>. Na filmie Arcade możesz zobaczyÄ sterownik wyjÅciowy
-Blinkenlights w akcji w 00:07:50.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tvout">
-<title>ObsÅuga wyjÅcia TV</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Karty Matrox G400</title>
-
-<para>
-Pod Linuksem istniejÄ
dwa sposoby uruchomienia wyjÅcia TV na karcie Matrox G400:
-</para>
-
-<important>
-<para>
-instrukcje dla Matrox G450/G550 znajdujÄ
siÄ w nastÄpnej sekcji!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem><para>
- UżywajÄ
c sterownika oraz moduÅu HAL, dostÄpnego na
- <ulink url="http://www.matrox.com">stronie Matroksa</ulink>. BÄdziesz miaÅ X
- na TV.
- </para><para>
- <emphasis role="bold">Ten sposób nie daje Ci przyÅpieszanego
- odtwarzania</emphasis> jak pod Windowsami! Drugie wyjÅcie ma tylko bufor
- ramki YUV, <emphasis>BES</emphasis> (Back End Scaler, ukÅad skalujÄ
cy YUV na
- kartach G200/G400/G450/G550) tam nie dziaÅa. Windowsowy sterownik jakoÅ to
- obchodzi, prawdopodobnie używajÄ
c silnika (engine) 3D do powiÄkszania, a
- bufora ramki YUV do wyÅwietlania obrazu. Jeżeli na prawdÄ musisz używaÄ X,
- użyj opcji <option>-vo x11 -fs -zoom</option>. Ostrzegam, że bÄdzie to
- <emphasis role="bold">WOLNE</emphasis> i bÄdzie miaÅo wÅÄ
czone
- zabezpieczenie przed kopiowaniem <emphasis
- role="bold">Macrovision</emphasis> (Macrovision copy protection).
- (możesz "obejÅÄ" Macrovision używajÄ
c tego
- <ulink url="http://avifile.sf.net/mgamacro.pl">skryptu perla</ulink>).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term>Bufor ramki (framebuffer)</term>
- <listitem><para>
- UżywajÄ
c <emphasis role="bold">moduÅów matroxfb</emphasis> w jÄ
drach 2.4.
- 2.2 nie obsÅugujÄ
wyjÅcia TV, wiÄc sÄ
do tego celu bezużyteczne. Musisz
- wÅÄ
czyÄ WSZYSTKIE specyficzne dla matroxfb podczas kompilacji (poza
- MultiHead) i skompilowaÄ je w <emphasis role="bold">moduÅy</emphasis>!
- BÄdziesz także potrzebowaÅ wÅÄ
czonego I2C.
- </para>
-
- <procedure>
- <step><para>
- Wejdź do <filename class="directory">TVout</filename> i wpisz
- <command>./compile.sh</command>. Zainstaluj
- <filename>TVout/matroxset/matroxset</filename> w jakimÅ katalogu
- znajdujÄ
cym siÄ w zmiennej <envar>PATH</envar>.
- </para></step>
- <step><para>
- Jeżeli nie masz zainstalowanego <command>fbset</command>, umieÅÄ
- <filename>TVout/fbset/fbset</filename> gdzieÅ w
- swojej zmiennej <envar>PATH</envar>.
- </para></step>
- <step><para>
- Jeżeli nie masz zainstalowanego <command>con2fb</command>, umieÅÄ
- <filename>TVout/con2fb/con2fb</filename> gdzieÅ w
- swojej zmiennej <envar>PATH</envar>.
- </para></step>
- <step><para>
- NastÄpnie wejdź do katalogu <filename class="directory">TVout/</filename>
- w źródÅach <application>MPlayera</application> i uruchom
- <filename>./modules</filename> jako root. Twoja konsola tekstowa wejdzie w
- tryb framebuffer (nie ma odwrotu!).
- </para></step>
- <step><para>
- NastÄpnie, WYEDYTUJ i uruchom skrypt <filename>./matroxtv</filename>.
- Ukaże Ci siÄ bardzo proste menu. NaciÅnij <keycap>2</keycap> i
- <keycap>Enter</keycap>. Teraz powinieneÅ mieÄ ten sam obraz na monitorze i
- TV. Jeżeli na obrazie TV (standardowo PAL) sÄ
jakieŠpaski, znaczy to, że
- skrypt nie byÅ w stanie poprawnie ustawiÄ rozdzielczoÅci (standardowo na
- 640x512). Wypróbuj inne rozdzielczoÅci z menu i/lub poeksperymentuj z
- fbset.
- </para></step>
- <step><para>
- Tiaa. NastÄpnym zadaniem bÄdzie sprawienie aby kursor na tty1 (lub innym)
- zniknÄ
Å oraz aby wyÅÄ
czyÄ wygaszanie ekranu. Wykonaj nastÄpujÄ
ce
- polecenia:
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- lub
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- Możliwe, że chcesz umieÅciÄ to w skrypcie, a także wyczyÅciÄ ekran. Aby
- z powrotem wÅÄ
czyÄ kursor:
- <screen>echo -e '\033[?25h'</screen> lub
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- Tiaa git. Rozpocznij odtwarzanie filmu przez:
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>nazwa_pliku</replaceable><!--
- --></screen>
-
- (Jeżeli używasz X, przeÅÄ
cz siÄ teraz na matroxfb używajÄ
c np.
- <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>F1</keycap>.)
- ZmieŠ<literal>640</literal> oraz <literal>512</literal>, jeżeli chcesz
- ustawiÄ innÄ
rozdzielczoÅÄ...
- </para></step>
- <step><para>
- <emphasis role="bold">Ciesz siÄ ultra-szybkim ultra-bajernym wyjÅciem TV
- Matroksa (lepsze niż Xv)!</emphasis>
- <!-- ultra-fast ultra-featured -->
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-
-<formalpara>
-<title>Konstruowanie kabla TV-out do Matroksów</title>
-<para>
-Nikt nie bierze na siebie żadnej odpowiedzialnoÅci za zniszczenia spowodowane tÄ
-dokumentacjÄ
.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Kabel dla G400</title>
-<para>
-W zÅÄ
czu CRTC2 na czwartej nóżce (pin) jest sygnaŠcomposite video.
-Uziemienie jest na szóstej, siódmej i ósmej nóżce. (info dostarczone przez
-Balázs Rácz)
-</para>
-</formalpara>
-
-<formalpara>
-<title>Kabel dla G450</title>
-<para>
-W zÅÄ
czu CTRC2 na pierwszej nóżce jest sygnaŠcomposite video. Ziemia jest na
-piÄ
tej, szóstej, siódmej i pietnastej (5, 6, 7, 15) nóżce. (info dostarczone
-przez Balázs Kerekes)
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_g450">
-<title>Karty Matrox G450/G550</title>
-
-<para>
-ObsÅuga wyjÅcia TV dla tych kart zostaÅa dodana dopiero niedawno i nie
-należy jeszcze do gÅównego drzewa jÄ
dra. <!--mainstream kernel-->. Z tego, co
-wiem, moduÅ <emphasis role="bold">mga_vid</emphasis> nie może byÄ obecnie użyty
-ponieważ sterownik G450/G550 pracuje tylko w jednej konfiguracji: pierwszy ukÅad
-CRTC (z wieloma możliwoÅciami) na pierwszym ekranie (monitor) i drugi CRTC (bez
-<emphasis role="bold">BES</emphasis> - po objaÅnienia do BES siÄgnij do sekcji
-G400 wyżej) na TV. W chwili obecnej możesz wiÄc używaÄ tylko sterownika wyjÅcia
-<emphasis>fbdev</emphasis> <application>MPlayera</application>.
-</para>
-
-<para>
-Obecnie pierwszy CRTC nie może byÄ przekierowany na drugie wyjÅcie. Autor
-sterownika jÄ
dra matroxfb - Petr Vandrovec - byÄ może zrobi obsÅugÄ tego poprzez
-wyÅwietlanie wyjÅcia z pierwszego CRTC na obydwa zÅÄ
cza jednoczeÅnie, jak to
-jest w tej chwili zalecane dla G400, patrz sekcja wyżej.
-</para>
-
-<para>
-PotrzebnÄ
ÅatkÄ na jÄ
dro i dokÅadne HOWTO można ÅciÄ
gnÄ
Ä z
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-ati">
-<title>karty ATI</title>
-
-<formalpara>
-<title>WSTÄP</title>
-<para>
-Obecnie ATI nie chce obsÅugiwaÄ pod Linuksem żadnego z ukÅadów TV-out, z powodu
-ich licencjonowanej technologii Macrovision.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>STAN KART ATI Z TV-OUT POD LINUKSEM</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- obsÅugiwane przez <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- obsÅugiwane przez <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> oraz <emphasis role="bold">Rage128</emphasis>:
- obsÅugiwane przez <application>MPlayera</application>!
- Sprawdź sekcje <link linkend="vesa">sterownik VESA</link> oraz
- <link linkend="vidix">VIDIX</link>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- obsÅugiwane przez <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Na innych kartach używaj sterownika <link linkend="vesa">VESA</link>, bez VIDIX.
-Potrzebny jest jednak potÄżny CPU.
-</para>
-
-<para>
-Jedyna rzecz, którÄ
musisz zrobiÄ to:
-<emphasis role="bold">MieÄ podÅÄ
czony odbiornik TV przez uruchomieniem swojego
-PC</emphasis>, ponieważ video BIOS inicjalizuje siÄ tylko podczas procedury
-POST.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-
-<para>
-Najpierw MUSISZ ÅciÄ
gnÄ
Ä sterowniki o zamkniÄtych źródÅach z
-<ulink url="http://nvidia.com"/>. Nie bÄdÄ tutaj opisywaÅ procesu instalacji i
-konfiguracji ponieważ nie jest to celem tej dokumentacji.
-</para>
-
-<para>
-Jeżeli XFree86, XVideo i przyÅpieszanie 3D już dziaÅa prawidÅowo, przerób
-sekcjÄ Device swojej karty w pliku <filename>XF86Config</filename> zgodnie z
-poniższym wzorcem (dostosuj do swojej karty/TV):
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-EndSection
-</programlisting>
-</para>
-
-<para>
-OczywiÅcie najważniejsza jest czÄÅÄ TwinView.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-neomagic">
-<title>NeoMagic</title>
-
-<para>
-UkÅad NeoMagic można znaleÅºÄ w rożnych laptopach, niektóre wyposażone sÄ
w
-prosty analogowy koder TV, inne majÄ
bardziej zaawansowanÄ
wersjÄ.
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">UkÅad analogowy</emphasis>:
- Doniesiono nam, że dobre wyjÅcie TV można uzyskaÄ używajÄ
c
- <option>-vo fbdev</option> lub <option>-vo fbdev2</option>. Potrzebujesz
- wkompilowanego w jÄ
dro vesafb i przekazane do poleceÅ jÄ
dra:
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- PowinieneÅ uruchomiÄ <application>X</application>, nastÄpnie przeÅÄ
czyÄ siÄ do
- konsoli używajÄ
c np.
- <keycap>CTRL</keycap>+<keycap>ALT</keycap>+<keycap>F1</keycap>.
- Jeżeli nie wystartujesz <application>X</application> przed uruchomieniem
- <application>MPlayera</application> z konsoli obraz bÄdzie powolny i bÄdzie
- siÄ ciÄ
Å (mile widziane wytÅumaczenie).
- Zaloguj siÄ na konsoli, a nastÄpnie wykonaj nastÄpujÄ
ce polecenie:
-
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
-
- PowinieneÅ ujrzeÄ odtwarzany w konsoli film zajmujÄ
cy okoÅo poÅowÄ ekranu
- LCD Twojego laptopa.
- Aby przeÅÄ
czyÄ siÄ na TV naciÅnij <keycap>Fn</keycap>+<keycap>F5</keycap>
- trzy razy.
- Przetestowane na Tecra 800, jÄ
dro 2.6.15 z vesafb, ALSA v1.0.10.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">UkÅad kodujÄ
cy Chrontel 70xx</emphasis>:
- Obecny w IBM thinkpad 390E, a możliwe, że także w innych Thinkpadach lub notebookach.
- </para><para>
- Dla trybu PAL musisz użyÄ <option>-vo vesa:neotv_pal</option>.
- Dla trybu NTSC - <option>-vo vesa:neotv_ntsc</option>.
- Zapewni to funkcjonowanie wyjÅcia TV w nastÄpujÄ
cych trybach 16 bpp i 8 bpp:
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480, byÄ może także 800x600.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
- </itemizedlist>
- <para>Tryb 512x384 nie jest obsÅugiwany przez BIOS. Musisz przeskalowaÄ
- obraz do innej rozdzielczoÅci aby aktywowaÄ wyjÅcie TV. Jeżeli widzisz obraz
- na ekranie w rozdzielczoÅci 640x480 lub 800x600, lecz nie w 320x240, lub
- w innych mniejszych rozdzielczoÅciach, to musisz zamieniÄ dwie tabele
- w <filename>vbelib.c</filename>.
- WiÄcej szczegóÅów znajdziesz w kodzie funkcji vbeSetTV. W tym przypadku
- skontaktuj siÄ z autorem.
- </para>
- <para>
- Znane problemy: Tylko VESA, nie sÄ
zaimplementowane ustawienia obrazu takie
- jak jasnoÅÄ, kontrast, poziom czerni (blacklevel) i filtr migotania
- (flickfilter).
- </para>
-</listitem>
-</itemizedlist>
-
-</para>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/ru/bugreports.xml b/DOCS/xml/ru/bugreports.xml
deleted file mode 100644
index 32e4967..0000000
--- a/DOCS/xml/ru/bugreports.xml
+++ /dev/null
@@ -1,494 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r28615 -->
-<appendix id="bugreports">
-<title>Ðак ÑообÑаÑÑ Ð¾Ð± оÑибкаÑ
</title>
-
-<para>
-ХоÑоÑие ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибкаÑ
вноÑÑÑ Ð·Ð½Ð°ÑиÑелÑнÑй вклад в ÑазÑабоÑÐºÑ Ð»Ñбого
-пÑогÑаммного пÑодÑкÑа. Ðо, как и напиÑание Ñ
оÑоÑей пÑогÑаммÑ, Ñ
оÑоÑее ÑообÑение
-об оÑибке вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ Ð½ÐµÐºÑÑ Ð´Ð¾Ð»Ñ ÑабоÑÑ. ÐожалÑйÑÑа, оÑознайÑе, ÑÑо
-болÑÑинÑÑво ÑазÑабоÑÑиков — занÑÑÑе лÑди, полÑÑаÑÑие огÑомное колиÑеÑÑво
-пиÑем. ÐоÑÑомÑ, Ñ
оÑÑ ÐаÑи оÑзÑÐ²Ñ Ð½ÐµÐ¾Ð±Ñ
Ð¾Ð´Ð¸Ð¼Ñ Ð´Ð»Ñ ÑлÑÑÑÐµÐ½Ð¸Ñ <application>MPlayer</application>'а, Ñ
оÑÑ
-они оÑÐµÐ½Ñ Ð¿ÑивеÑÑÑвÑÑÑÑÑ, пожалÑйÑÑа поймиÑе, ÑÑо ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑедоÑÑавиÑÑ
-<emphasis role="bold">вÑÑ</emphasis> ÑÑебÑемÑÑ Ð½Ð°Ð¼Ð¸ инÑоÑмаÑиÑ, поÑÑÐ¾Ð¼Ñ ÑоÑно
-ÑледÑйÑе инÑÑÑÑкÑиÑм в ÑÑом докÑменÑе.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_security">
-<title>ÐÑÑеÑÑ Ð¾Ð± оÑибкаÑ
безопаÑноÑÑи</title>
-
-<para>
-Ð ÑлÑÑае, еÑли ÐÑ Ð½Ð°Ñли ÑÑзвимоÑÑÑ Ð¸ Ñ
оÑиÑе позволиÑÑ Ð½Ð°Ð¼ иÑпÑавиÑÑ ÐµÐµ до Ñого, как она бÑдеÑ
-обнаÑодована, Ð¼Ñ Ð±Ñдем ÑÐ°Ð´Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÐаÑе Ñведомление по адÑеÑÑ
-<ulink url="mailto:security@mplayerhq.hu">security@mplayerhq.hu</ulink>.
-ÐожалÑйÑÑа добавÑÑе [SECURITY] или [ADVISORY] к Ñеме пиÑÑма.
-УбедиÑеÑÑ, ÑÑо ÐÐ°Ñ Ð¾ÑÑÐµÑ ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾Ð»Ð½Ñй и подÑобнÑй анализ оÑибки.
-ÐелаÑелÑно Ñакже пÑиÑлаÑÑ Ð¸ иÑпÑавление ÑÑзвимоÑÑи.
-ÐожалÑйÑÑа, не оÑкладÑвайÑе оÑÑÐµÑ Ð´Ð»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑвеÑждаÑÑего оÑÐ¸Ð±ÐºÑ ÑкÑплойÑа.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе оÑоÑлаÑÑ ÐµÐ³Ð¾ позже дÑÑгим пиÑÑмом.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_fix">
-<title>Ðак иÑпÑавиÑÑ Ð¾ÑибкÑ</title>
-<para>
-ÐÑли ÐÑ Ð¾ÑÑÑаеÑе в Ñебе доÑÑаÑоÑно Ñил и ÑÐ¼ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑамоÑÑоÑÑелÑного ÑеÑениÑ
-пÑоблемÑ, пожалÑйÑÑа, ÑделайÑе ÑÑо. Ðли Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÐÑ Ñже ÑÑо Ñделали?
-ÐожалÑйÑÑа, пÑоÑиÑайÑе <ulink url="../../tech/patches.txt">ÑÑÐ¾Ñ ÐºÐ¾ÑоÑкий
-докÑменÑ</ulink>, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ, как ÑделаÑÑ Ñак, ÑÑÐ¾Ð±Ñ ÐÐ°Ñ ÐºÐ¾Ð´ вклÑÑили
-в <application>MPlayer</application>. ÐÑди из ÑаÑÑÑлки
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</ulink>
-помогÑÑ Ðам, еÑли Ñ ÐÐ°Ñ ÐµÑÑÑ Ð²Ð¾Ð¿ÑоÑÑ.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_regression_test">
-<title>Ðак пÑовеÑÑи пÑовеÑÐºÑ Ð½Ð° дегÑадаÑиÑ, иÑполÑзÑÑ Subversion</title>
-
-<para>
-Ðногда Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð¿Ñоблема 'ÑанÑÑе ÑÑо ÑабоÑало, а ÑепеÑÑ - неÑ'. ÐдеÑÑ Ð¿ÑедÑÑавлена
-поÑÐ°Ð³Ð¾Ð²Ð°Ñ Ð¿ÑоÑедÑÑа опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¾Ñибки.
-Ðо она <emphasis role="bold">не длÑ</emphasis> ÑÑдовÑÑ
полÑзоваÑелей.
-</para>
-
-<para>
-Ðо-пеÑвÑÑ
, Ðам нÑжно полÑÑиÑÑ Ð¸ÑÑ
однÑй код MPlayer из Subversion.
-ÐнÑÑÑÑкÑии могÑÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð²
-<ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">Ñазделе Subversion
-ÑÑÑаниÑÑ Ð·Ð°ÐºÐ°Ñки</ulink>.
-</para>
-
-<para>
-ÐоÑле ÑÑого в каÑалоге mplayer/ ÐÑ Ð±ÑдеÑе имеÑÑ Ð¾Ð±Ñаз деÑева Subversion.
-ТепеÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñе ÑÑÐ¾Ñ Ð¾Ð±Ñаз на желаемÑÑ Ð´Ð°ÑÑ:
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-ФоÑÐ¼Ð°Ñ Ð´Ð°ÑÑ: YYYY-MM-DD HH:MM:SS.
-ÐÑполÑзование ÑÑого ÑоÑмаÑа, гаÑанÑиÑÑеÑ, ÑÑо ÐÑ ÑможеÑе извлеÑÑ Ð¿Ð°ÑÑи по даÑе иÑ
-внеÑениÑ, коÑоÑÑе ÑÐºÐ°Ð·Ð°Ð½Ñ Ð²
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">аÑÑ
иве MPlayer-cvslog</ulink>.
-</para>
-
-<para>
-Ðалее вÑполнÑйÑе как пÑи обÑÑном обновлении:
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-ÐÐ»Ñ Ð½ÐµÐ¿ÑогÑаммиÑÑов, ÑиÑаÑÑиÑ
ÑÑÑ ÑÑÑаниÑÑ, ÑообÑим, Ñо ÑамÑй бÑÑÑÑÑй ÑпоÑоб найÑи меÑÑо
-Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¾Ñибки — иÑполÑзование бинаÑного поиÑка, Ñ.е. поиÑк даÑÑ,
-Ð´ÐµÐ»Ñ Ð¸Ð½ÑеÑвал поиÑка пополам Ñаз за Ñазом.
-ÐапÑимеÑ, еÑли пÑоблема возникла в 2003 годÑ, наÑниÑе Ñ ÑеÑÐµÐ´Ð¸Ð½Ñ Ð³Ð¾Ð´Ð° и
-вÑÑÑниÑе пÑиÑÑÑÑÑвÑÐµÑ Ð»Ð¸ пÑоблема. ÐÑли да, Ñо пеÑеÑ
одиÑе к пÑовеÑке
-наÑала ÐпÑелÑ, инаÑе — к наÑÐ°Ð»Ñ ÐкÑÑбÑÑ. ÐовÑоÑÑйÑе ÑÑÐ¾Ñ Ð¿ÑоÑеÑÑ, ÑменÑÑÐ°Ñ Ð¸Ð½ÑеÑвал
-поиÑка вдвое, пока не вÑÑÑниÑе иÑкомÑÑ Ð´Ð°ÑÑ.
-</para>
-
-<para>
-ÐÑли Ñ ÐÐ°Ñ Ð¸Ð¼ÐµÐµÑÑÑ Ð´Ð¾ÑÑаÑоÑно Ñвободного меÑÑа на жеÑÑком диÑке (полнаÑ
-компилÑÑÐ¸Ñ ÑÑебÑÐµÑ Ð¾ÐºÐ¾Ð»Ð¾ 100Ðб, или 300-350 еÑли вклÑÑена оÑладоÑнаÑ
-инÑоÑмаÑиÑ), ÑкопиÑÑйÑе поÑледнÑÑ ÑабоÑаÑÑÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¿ÐµÑед обновлением,
-ÑÑо ÑÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð²ÑÐµÐ¼Ñ Ð¿Ñи необÑ
одимоÑÑи веÑнÑÑÑÑÑ Ð½Ð°Ð·Ð°Ð´.
-(Ðак пÑавило необÑ
одимо вÑполнÑÑÑ 'make distclean' до пеÑекомпилÑÑии
-более Ñанней веÑÑии, поÑÑÐ¾Ð¼Ñ Ð¿Ñи оÑÑÑÑÑÑвии ÑоÑ
Ñаненной копии
-Ðам пÑидеÑÑÑ Ð¿ÐµÑекомпилиÑоваÑÑ Ð²ÐµÑÑ Ð¿ÑоекÑ.)
-Также ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ <ulink url="http://ccache.samba.org/">ccache</ulink>
-Ð´Ð»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии.
-</para>
-
-<para>
-Ðак ÑолÑко ÐÑ Ð½Ð°Ñли даÑÑ, пÑодолжайÑе поиÑк, иÑполÑзÑÑ Ð°ÑÑ
ив mplayer-cvslog
-(оÑÑоÑÑиÑованнÑй по даÑе) до полÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ ÑоÑного вÑемени, вклÑÑаÑ
-ÑаÑ, минÑÑÑ, ÑекÑндÑ:
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð»ÐµÐ³ÐºÐ¾ вÑделиÑÑ Ð¿Ð°ÑÑ, ÑвивÑийÑÑ Ð¸ÑÑоÑником пÑоблемÑ.
-</para>
-
-<para>
-ÐÑли ÐÑ Ð½Ð°Ñли нÑжнÑй паÑÑ, Ñо ÐÑ Ð¿ÑакÑиÑеÑки победили; ÑообÑиÑе о нем в
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink> или
-подпиÑиÑеÑÑ Ð½Ð°
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-и оÑпÑавÑе ÑообÑение ÑÑда.
-ÐÑÑÑ ÑанÑ, ÑÑо авÑÐ¾Ñ Ð¸ÑпÑÐ°Ð²Ð¸Ñ Ð¾ÑибкÑ.
-ÐÑ Ñакже можеÑе долго и пÑиÑÑалÑно вглÑдÑваÑÑÑÑ Ð² паÑÑ, пока Ñами не ÑвидиÑе оÑÐ¸Ð±ÐºÑ :).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_report">
-<title>Ðак ÑообÑиÑÑ Ð¾Ð± оÑибке</title>
-<para>
-ÐÑежде вÑего, пожалÑйÑÑа, попÑобÑйÑе иÑполÑзоваÑÑ Ð½Ð¾Ð²ÐµÐ¹ÑÑÑ Subversion веÑÑиÑ
-<application>MPlayer</application>'а, поÑколÑÐºÑ ÐаÑа оÑибка Ñже Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑпÑавлена.
-РазÑабоÑка пÑодвигаеÑÑÑ Ð¾ÑÐµÐ½Ñ Ð±ÑÑÑÑо, болÑÑинÑÑво пÑоблем в оÑиÑиалÑнÑÑ
ÑелизаÑ
-ÑообÑаеÑÑÑ Ð² ÑеÑение дней, и даже ÑаÑов, поÑле Ñелиза, поÑÑомÑ, пожалÑйÑÑа, длÑ
-ÑообÑений об оÑибкаÑ
иÑполÑзÑйÑе <emphasis role="bold">ÑолÑко Subversion</emphasis>.
-ÐÑо вклÑÑÐ°ÐµÑ Ð¸ бинаÑнÑе пакеÑÑ <application>MPlayer</application>'а. ÐÑ Ð½Ð°Ð¹Ð´ÑÑе
-инÑÑÑÑкÑии по Subversion внизÑ
-<ulink url="http://www.mplayerhq.hu/dload.html">ÑÑой ÑÑÑаниÑÑ</ulink>
-или в README. ÐÑли ÑÑо не помогло, пожалÑйÑÑа, обÑаÑиÑеÑÑ Ðº оÑÑалÑной докÑменÑаÑии. ÐÑли
-ÐаÑа пÑоблема не извеÑÑна или не ÑеÑаеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð½Ð°ÑиÑ
инÑÑÑÑкÑий,
-пожалÑйÑÑа, ÑообÑиÑе об оÑибке.
-</para>
-
-<para>
-ÐожалÑйÑÑа, не пÑиÑÑлайÑе ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибкаÑ
лиÑно какомÑ-нибÑÐ´Ñ ÑазÑабоÑÑикÑ.
-ÐÑо ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ ÑабоÑа, и, поÑÑомÑ, ÐаÑим ÑообÑением могÑÑ Ð·Ð°Ð¸Ð½ÑеÑеÑоваÑÑÑÑ
-неÑколÑко Ñеловек. ÐоволÑно ÑаÑÑо бÑваеÑ, ÑÑо полÑзоваÑели Ñже ÑÑалкивалиÑÑ
-Ñ ÐаÑей пÑоблемой и знаÑÑ, как обойÑи пÑоблемÑ, даже еÑли ÑÑо оÑибка в коде
-<application>MPlayer</application>'а.
-</para>
-
-<para>
-ÐожалÑйÑÑа, опиÑиÑе ÐаÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð½Ð°ÑÑолÑко подÑобно, наÑколÑко возможно.
-ÐÑоведиÑе маленÑкое ÑаÑÑледование, ÑÑÐ¾Ð±Ñ Ð²ÑÑÑниÑÑ ÑÑловиÑ, пÑи коÑоÑÑÑ
возникаеÑ
-пÑоблема. ÐÑоÑвлÑеÑÑÑ Ð»Ð¸ оÑибка ÑолÑко в какиÑ
-Ñо конкÑеÑнÑÑ
ÑиÑÑаÑиÑÑ
?
-Ðна ÑпеÑиÑиÑна ÑолÑко Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ
-Ñо Ñайлов или Ñипов Ñайлов? ÐÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð»Ð¸ ÑÑо
-Ñ ÐºÐ°ÐºÐ¸Ð¼-Ñо одним кодеком, или ÑÑо не завиÑÐ¸Ñ Ð¾Ñ ÐºÐ¾Ð´ÐµÐºÐ°? ÐожеÑе ли ÐÑ
-воÑпÑоизвеÑÑи ÑÑо Ñо вÑеми дÑайвеÑами вÑвода? Чем болÑÑе ÐÑ Ð¿ÑедоÑÑавиÑе
-инÑоÑмаÑии, Ñем вÑÑе веÑоÑÑноÑÑÑ Ñого, ÑÑо Ð¼Ñ Ñможем иÑпÑавиÑÑ Ð¾ÑибкÑ.
-ÐожалÑйÑÑа, не забÑдÑÑе вклÑÑиÑÑ Ð²Ð°Ð¶Ð½ÑÑ Ð¸Ð½ÑоÑмаÑиÑ, коÑоÑÑÑ Ð¼Ñ Ð¿ÑоÑим ниже,
-инаÑе Ð¼Ñ Ð½Ðµ Ñможем должнÑм обÑазом диагноÑÑиÑоваÑÑ ÐаÑÑ Ð¿ÑоблемÑ.
-</para>
-
-<para>
-Ðеликолепное, оÑлиÑно напиÑанное ÑÑководÑÑво по Ð·Ð°Ð´Ð°Ð²Ð°Ð½Ð¸Ñ Ð²Ð¾Ð¿ÑоÑов
-на обÑедоÑÑÑпнÑÑ
ÑоÑÑмаÑ
— ÑÑо
-<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask
-Questions The Smart Way[Ðак ÐадаваÑÑ ÐопÑоÑÑ. ÐÑавилÑнÑй ÐÑÑÑ.]</ulink>,
-напиÑанное <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
-ÐÑÑÑ Ð¸ дÑÑгое —
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report
-Bugs Effectively[Ðак ÐÑÑекÑивно СообÑиÑÑ Ð¾Ð± ÐÑибке]</ulink>, напиÑанное <ulink
-url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>.
-ÐÑли ÐÑ Ð±ÑдеÑе ÑледоваÑÑ ÑÑим ÑказаниÑм, ÐÑ ÑможеÑе полÑÑиÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ. Ðо,
-пожалÑйÑÑа, ÑÑÑиÑе, ÑÑо Ð¼Ñ Ð´Ð¾Ð±ÑоволÑно оÑÑлеживаем ÑаÑÑÑлки в Ñвободное вÑемÑ.
-ÐÑ Ð¾ÑÐµÐ½Ñ Ð·Ð°Ð½ÑÑÑ Ð¸ не можем гаÑанÑиÑоваÑÑ, ÑÑо ÐÑ Ð¿Ð¾Ð»ÑÑиÑе ÑеÑение Ð´Ð»Ñ ÐаÑей
-пÑÐ¾Ð±Ð»ÐµÐ¼Ñ (или Ñ
оÑÑ Ð±Ñ Ð¾ÑвеÑ).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_where">
-<title>ÐÑда ÑообÑаÑÑ Ð¾Ð± оÑибкаÑ
</title>
-
-<para>
-ÐодпиÑиÑеÑÑ Ð½Ð° ÑаÑÑÑÐ»ÐºÑ mplayer-users:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-и оÑоÑлиÑе ÐаÑе ÑообÑение на:
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/>,
-где ÐÑ ÑможеÑе его обÑÑдиÑÑ.
-</para>
-
-<para>
-Ðли, еÑли Ñ
оÑиÑе, ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð½Ð°ÑÑ Ð½Ð¾Ð²ÑÑ
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink>.
-</para>
-
-<para>
-ЯзÑк ÑÑой ÑаÑÑÑлки — <emphasis role="bold">английÑкий</emphasis>.
-ÐожалÑйÑÑа, ÑледÑйÑе ÑÑандаÑÑÑ <ulink url="http://www.ietf.org/rfc/rfc1855.txt">
-Netiquette Guidelines[Ð ÑководÑÑво по СеÑÐµÐ²Ð¾Ð¼Ñ ÐÑикеÑÑ]</ulink> и
-<emphasis role="bold">не пÑиÑÑлайÑе HTML поÑÑÑ</emphasis> ни на какÑÑ Ð¸Ð· наÑиÑ
-ÑаÑÑÑлок. ÐÐ°Ñ Ð¿ÑоÑÑо пÑоигноÑиÑÑÑÑ Ð¸Ð»Ð¸ забанÑÑ. ÐÑли ÐÑ Ñ
оÑиÑе ÑзнаÑÑ, ÑÑо Ñакое
-HTML поÑÑа и поÑÐµÐ¼Ñ ÑÑо — зло, пÑоÑÑиÑе
-<ulink url="http://efn.no/html-bad.html">ÑÑÐ¾Ñ Ð´Ð¾ÐºÑменÑ</ulink>. Ðн обÑÑÑниÑ
-Ðам вÑе деÑали и ÑодеÑÐ¶Ð¸Ñ Ð¸Ð½ÑÑÑÑкÑии по оÑклÑÑÐµÐ½Ð¸Ñ HTML. Также обÑаÑиÑе
-внимание, ÑÑо Ð¼Ñ Ð½Ðµ бÑдем индивидÑалÑно CC (оÑÑÑлаÑÑ ÐºÐ¾Ð¿Ð¸Ð¸) лÑдÑм, а поÑÑомÑ
-подпиÑаÑÑÑÑ — Ñ
оÑоÑÐ°Ñ Ð¸Ð´ÐµÑ, еÑли ÐÑ Ñ
оÑиÑе полÑÑиÑÑ Ð¾ÑвеÑ.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_what">
-<title>ЧÑо ÑообÑаÑÑ</title>
-
-<para>
-Ðам необÑ
одимо вклÑÑиÑÑ Ð»Ð¾Ð³, конÑигÑÑаÑÐ¸Ñ Ð¸Ð»Ð¸ пÑимеÑÑ Ñайлов в ÑообÑение
-об оÑибке. ÐÑли ÑÑо-Ñо из ÑÑого болÑÑое, Ñо лÑÑÑе загÑÑзиÑÑ ÑÑо на наÑ
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP ÑеÑвеÑ</ulink>
-в ÑжаÑом виде (пÑедпоÑÑиÑелÑно gzip или bzip2) и вклÑÑиÑÑ Ð² ÑообÑение
-об оÑибке ÑолÑко пÑÑÑ Ð¸ Ð¸Ð¼Ñ Ñайла. Ðа наÑиÑ
ÑаÑÑÑлкаÑ
ÑÑÐ¾Ð¸Ñ Ð¾Ð³ÑаниÑение ÑазмеÑа
-ÑообÑÐµÐ½Ð¸Ñ Ð² 80ÐÐ. ÐÑли Ñ ÐÐ°Ñ ÑÑо-Ñо болÑÑее, Ñо ÑожмиÑе или загÑÑзиÑе ÑÑо.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_system">
-<title>СиÑÑÐµÐ¼Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ</title>
-<para>
-<itemizedlist>
-<listitem><para>
- ÐÐ°Ñ Ð´Ð¸ÑÑÑибÑÑив Linux или опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема и веÑÑиÑ, напÑимеÑ:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + пакеÑÑ ÑазÑабоÑки из 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- веÑÑÐ¸Ñ ÑдÑа:
- <screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
- веÑÑÐ¸Ñ libc:
- <screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
- веÑÑии gcc и ld:
- <screen>
-gcc -v
-ld -v<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- веÑÑÐ¸Ñ binutils:
- <screen>as --version</screen>
-</para></listitem>
-<listitem><para>
- ÐÑли Ñ ÐÐ°Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑкÑаннÑм Ñежимом:
- <itemizedlist>
- <listitem><para>Тип оконного менеджеÑа и веÑÑиÑ</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- ÐÑли Ñ ÐÐ°Ñ Ð¿Ñоблема Ñ XVIDIX:
- <itemizedlist>
- <listitem><para>глÑбина ÑвеÑа X'ов:
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- ÐÑли глÑÑÐ¸Ñ ÑолÑко GUI:
- <itemizedlist>
- <listitem><para>веÑÑÐ¸Ñ GTK</para></listitem>
- <listitem><para>веÑÑÐ¸Ñ GLIB</para></listitem>
- <listitem><para>ÑиÑÑаÑÐ¸Ñ Ñ GUI, в коÑоÑÑÑ
пÑоÑвлÑеÑÑÑ Ð¿Ñоблема</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_hardware">
-<title>ÐппаÑаÑÑÑа и дÑайвеÑÑ</title>
-<para>
-<itemizedlist>
-<listitem><para>
- ÐнÑоÑмаÑÐ¸Ñ Ð¾ CPU (ÑÑо ÑÑабоÑÐ°ÐµÑ ÑолÑко под Linux):
- <screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
- ÐÑоизводиÑÐµÐ»Ñ Ð¸ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð²Ð¸Ð´ÐµÐ¾ каÑÑÑ, напÑимеÑ:
- <itemizedlist>
- <listitem><para>ASUS V3800U Ñип: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-Тип дÑайвеÑа и веÑÑиÑ, напÑимеÑ:
- <itemizedlist>
- <listitem><para>ÐÑÑÑоеннÑй в X'Ñ</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI из X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Тип и дÑÐ°Ð¹Ð²ÐµÑ Ð·Ð²Ñковой каÑÑÑ, напÑимеÑ:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold Ñ OSS дÑайвеÑами Ð¾Ñ oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 Ñ OSS дÑайвеÑами из ÑдÑа</para></listitem>
- <listitem><para>GUS PnP Ñ ALSA OSS ÑмÑлÑÑией</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- ÐÑли ÐÑ ÑомневаеÑеÑÑ, на Linux ÑиÑÑемаÑ
вклÑÑиÑе вÑвод
-<command>lspci -vv</command>.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_configure">
-<title>ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ ÐºÐ¾Ð½ÑигÑÑаÑии</title>
-<para>
-ÐÑли ÐÑ Ð¿Ð¾Ð»ÑÑаеÑе оÑÐ¸Ð±ÐºÑ Ð¿Ñи вÑполнении <command>./configure</command>, или еÑли
-авÑоопÑеделение Ñего-Ñо не ÑÑабаÑÑваеÑ, пÑоÑиÑайÑе <filename>config.log
-</filename>. Там ÐÑ Ð¼Ð¾Ð¶ÐµÑе обнаÑÑжиÑÑ Ð¾ÑвеÑ, напÑÐ¸Ð¼ÐµÑ ÐµÑли Ñ ÐÐ°Ñ ÑÑоÑÑ Ð½ÐµÑколÑко
-веÑÑий одной библиоÑеки, или еÑли ÐÑ Ð·Ð°Ð±Ñли ÑÑÑановиÑÑ Ð¿Ð°ÐºÐµÑ ÑазÑабоÑки (ÑоÑ
-ÑамÑй, Ñ ÑÑÑÑикÑом -dev). ÐÑли ÐÑ Ð´ÑмаеÑе, ÑÑо ÑÑо оÑибка, вклÑÑиÑе в ÑообÑение
-Ñайл <filename>config.log</filename>.
-</para>
-</sect2>
-
-<sect2 id="bugreports_compilation">
-<title>ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии</title>
-<para>
-ÐожалÑйÑÑа, вклÑÑиÑе ÑÑи ÑайлÑ:
-<itemizedlist>
- <listitem><para>config.h</para></listitem>
- <listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_playback">
-<title>ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¿Ñи воÑпÑоизведении</title>
-<para>
-ÐожалÑйÑÑа, вклÑÑиÑе вÑвод <application>MPlayer</application>'а Ñ ÑÑовнем
-"избÑÑоÑноÑÑи" [verbose] 1, но запомниÑе: <emphasis role="bold">не
-ÑокÑаÑайÑе вÑвод</emphasis>, когда ÐÑ ÐµÐ³Ð¾ вÑÑавлÑеÑе в поÑÑÑ. РазÑабоÑÑикам
-понадобÑÑÑÑ Ð²Ñе ÑообÑениÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑавилÑно диагноÑÑиÑоваÑÑ Ð¿ÑоблемÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе
-напÑавиÑÑ Ð²Ñвод в Ñайл, напÑÐ¸Ð¼ÐµÑ Ñак:
-<screen>
-mplayer -v <replaceable>опÑии</replaceable> <replaceable>имÑ-Ñайла</replaceable> > mplayer.log 2>&1
-</screen>
-</para>
-
-<para>
-ÐÑли пÑоблема ÑпеÑиÑиÑна Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ или неÑколÑкиÑ
Ñайлов,
-пожалÑйÑÑа, загÑÑзиÑе пÑоблемнÑе ÑÐ°Ð¹Ð»Ñ Ð½Ð°:
-<ulink url="ftp://mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-Также загÑÑзиÑе маленÑкий ÑекÑÑовÑй Ñайл Ñ Ð±Ð°Ð·Ð¾Ð²Ñм именем как Ñ ÐаÑего Ñайла и
-ÑаÑÑиÑением <filename>.txt</filename>. ÐпиÑиÑе пÑоблемÑ, возникаÑÑÑÑ Ñ ÐаÑ
-Ñ ÑооÑвеÑÑÑвÑÑÑим Ñайлом и вклÑÑиÑе ÐÐ°Ñ ÑлекÑÑоннÑй адÑÐµÑ Ð¸ вÑвод
-<application>MPlayer</application>'а
-Ñ ÑÑовнем "избÑÑоÑноÑÑи" 1. ÐбÑÑно пеÑвÑÑ
1-5 ÐÐ Ñайла
-бÑÐ²Ð°ÐµÑ Ð´Ð¾ÑÑаÑоÑно, ÑÑÐ¾Ð±Ñ Ð²Ð¾ÑпÑоизвеÑÑи пÑоблемÑ, но ÑÑÐ¾Ð±Ñ Ð±ÑÑÑ ÑвеÑеннÑми,
-Ð¼Ñ Ð¿ÑоÑим ÐÐ°Ñ ÑделаÑÑ:
-<screen>
-dd if=<replaceable>ÐаÑ-Ñайл</replaceable> of=<replaceable>малÑй-Ñайл</replaceable> bs=1024k count=5
-</screen>
-ÐÑо запиÑÐµÑ Ð¿ÐµÑвÑе 5 ÐÐ '<emphasis role="bold">ÐаÑего-Ñайла</emphasis>'
-в Ñайл '<emphasis role="bold">малÑй-Ñайл</emphasis>'. ТепеÑÑ Ñнова
-попÑÑайÑеÑÑ Ñ ÑÑи маленÑким Ñайлом, и еÑли пÑоблема вÑе еÑÑ Ð¿ÑоÑвлÑеÑÑÑ,
-Ñогда ÑÑого пÑимеÑа бÑÐ´ÐµÑ Ð´Ð¾ÑÑаÑоÑно Ð´Ð»Ñ Ð½Ð°Ñ. ÐожалÑйÑÑа,
-<emphasis role="bold">никогда</emphasis> не оÑÑÑлайÑе ÑÑи ÑÐ°Ð¹Ð»Ñ Ð¿Ð¾ поÑÑе!
-ÐагÑÑзиÑе его и оÑоÑлиÑе ÑолÑко пÑÑÑ/Ð¸Ð¼Ñ Ñайла на FTP-ÑеÑвеÑе. ÐÑли Ñайл
-доÑÑÑпен по ÑеÑи, Ñогда пÑоÑÑо пÑиÑлиÑе <emphasis role="bold">ÑоÑнÑй</emphasis>
-URL, и ÑÑого бÑÐ´ÐµÑ Ð´Ð¾ÑÑаÑоÑно.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_crash">
-<title>ÐадениÑ</title>
-<para>
-ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð¿ÑÑÑиÑÑ <application>MPlayer</application> внÑÑÑи <command>gdb</command>
-и пÑиÑлаÑÑ Ð½Ð°Ð¼ полнÑй вÑвод, или , еÑли Ñ ÐÐ°Ñ ÐµÑÑÑ Ð´Ð°Ð¼Ð¿ поломки
-<filename>core</filename>, ÐÑ Ð¼Ð¾Ð¶ÐµÑе извлеÑÑ Ð½ÐµÐ¾Ð±Ñ
одимÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¸Ð· Ñайла
-core. ÐÐ¾Ñ ÐºÐ°Ðº:
-</para>
-
-
-<sect3 id="bugreports_debug">
-<title>Ðак ÑоÑ
ÑаниÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ воÑпÑоизводимом падении</title>
-
-<para>
-ÐеÑекомпилиÑÑйÑе <application>MPlayer</application> Ñ Ð²ÐºÐ»ÑÑÑннÑм кодом оÑладки:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-и запÑÑÑиÑе <application>MPlayer</application> внÑÑÑи gdb:
-<screen>gdb ./mplayer</screen>
-ТепеÑÑ ÐÑ Ð² gdb. ÐабеÑиÑе:
-<screen>
-run -v <replaceable>опÑии-длÑ-mplayer</replaceable> <replaceable>имÑ-Ñайла</replaceable>
-</screen>
-и воÑпÑоизведиÑе кÑаÑ
пÑогÑаммÑ. Ðак ÑолÑко ÐÑ ÑÑо ÑделаеÑе, gdb веÑнÑÑ ÐÐ°Ñ Ðº пÑиглаÑениÑ
-командной ÑÑÑоки, где ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð½Ð°Ð±ÑаÑÑ
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="bugreports_core">
-<title>Ðак извлеÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¸Ð· дампа core</title>
-
-<para>
-СоздайÑе ÑледÑÑÑий команднÑй Ñайл:
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-ТепеÑÑ Ð¿ÑоÑÑо вÑполниÑе ÑакÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
-<screen>
-gdb mplayer --core=core -batch --command=команднÑй-Ñайл > mplayer.bug
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>Я знаÑ, ÑÑо Ñ Ð´ÐµÐ»Ð°Ñ...</title>
-<para>
-ÐÑли ÐÑ Ñоздали пÑавилÑное ÑообÑение об оÑибке Ñак, как ÑаÑÑказано вÑÑе, и ÐÑ
-ÑвеÑенÑ, ÑÑо ÑÑо оÑибка в <application>MPlayer</application>'е, а не оÑибка компилÑÑоÑа или плоÑ
ой Ñайл,
-ÐÑ Ñже пÑоÑли вÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ Ð¸ не можеÑе найÑи ÑеÑение, ÐаÑи звÑковÑе дÑайвеÑа
-в поÑÑдке, Ñогда ÐÑ Ð¼Ð¾Ð¶ÐµÑе подпиÑаÑÑÑÑ Ð½Ð° ÑаÑÑÑÐ»ÐºÑ mplayer-advusers и пÑиÑлаÑÑ
-ÑообÑение об оÑибке ÑÑда, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð±Ð¾Ð»ÐµÐµ ÑоÑнÑй и бÑÑÑÑÑй оÑвеÑ.
-</para>
-
-<para>
-ÐбÑаÑиÑе внимание, ÑÑо еÑли ÐÑ Ð±ÑдеÑе оÑÑÑлаÑÑ ÑÑда вопÑоÑÑ Ð½Ð¾Ð²Ð¸Ñков или
-вопÑоÑÑ, на коÑоÑÑе оÑвеÑÑ Ð¿ÑиÑÑÑÑÑвÑÑÑ Ð² докÑменÑаÑии, Ñо ÐÐ°Ñ Ð¿ÑоигноÑиÑÑÑÑ
-или обÑÑгаÑÑ Ð²Ð¼ÐµÑÑо Ñого, ÑÑÐ¾Ð±Ñ Ð¾ÑвеÑиÑÑ. ÐоÑÑÐ¾Ð¼Ñ Ð½Ðµ заваливайÑе Ð½Ð°Ñ Ð¼ÐµÐ»Ð¾Ñами
-и подпиÑÑвайÑеÑÑ Ð½Ð° -advusers ÑолÑко, еÑли ÐÑ Ð´ÐµÐ¹ÑÑвиÑелÑно знаеÑе, ÑÑо ÐÑ
-делаеÑе, и оÑÑÑаеÑе ÑÐµÐ±Ñ Ð¿ÑодвинÑÑÑм полÑзоваÑелем или ÑазÑабоÑÑиком <application>MPlayer</application>'а.
-ÐÑли подÑ
одиÑе под ÑÑÐ¾Ñ ÐºÑиÑеÑий, Ðам не ÑоÑÑÐ°Ð²Ð¸Ñ ÑÑÑда понÑÑÑ, как надо
-подпиÑаÑÑÑÑ...
-</para>
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/ru/documentation.xml b/DOCS/xml/ru/documentation.xml
deleted file mode 100644
index 31203af..0000000
--- a/DOCS/xml/ru/documentation.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r28266 -->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - Ðедиа ÐÑоигÑÑваÑелÑ</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>24 ÐаÑÑа, 2003</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayer team</holder>
-</copyright>
-<legalnotice>
- <title>License</title>
- <para>MPlayer is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>MPlayer is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with MPlayer; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>Ðак ÑиÑаÑÑ ÑÑÑ Ð´Ð¾ÐºÑменÑаÑиÑ</title>
-
-<para>
-ÐÑли ÐÑ Ð¸Ð½ÑÑаллиÑÑеÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð² пеÑвÑй Ñаз, пÑоÑиÑайÑе вÑе Ð¾Ñ Ð½Ð°Ñала до конÑа
-ÑекÑии "УÑÑановка", и пÑоÑмаÑÑивайÑе ÑÑÑлки, коÑоÑÑе ÐÑ Ð¾Ð±Ð½Ð°ÑÑжиÑе.
-ÐÑли Ñ ÐÐ°Ñ Ð²Ñе еÑÑ Ð¾ÑÑалиÑÑ
-вопÑоÑÑ, веÑниÑеÑÑ Ðº <link linkend="toc">ÐглавлениÑ</link> и поиÑиÑе Ñам,
-пÑоÑÑиÑе <xref linkend="faq"/>, или попÑÑайÑеÑÑ Ð¿Ñо'grep'пиÑÑ ÑайлÑ.
-Ðа болÑÑÑÑ ÑаÑÑÑ Ð²Ð¾Ð¿ÑоÑов ÐÑ Ð½Ð°Ð¹Ð´ÑÑе оÑвеÑÑ Ð·Ð´ÐµÑÑ, а оÑÑалÑнÑе, навеÑное, Ñже
-ÑпÑаÑивалиÑÑ Ð² наÑиÑ
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">ÑаÑÑÑлкаÑ
</ulink>.
-ÐÑовеÑÑÑе
-<ulink url="https://lists.mplayerhq.hu/mailman/listinfo">по аÑÑ
ивам</ulink>, в
-коÑоÑÑÑ
можно найÑи много Ñенной инÑоÑмаÑии.
-</para>
-</preface>
-
-
-<chapter id="intro">
-<title>Ðведение</title>
-
-<para>
-<application>MPlayer</application> — ÑÑо пÑоигÑÑваÑÐµÐ»Ñ ÑилÑмов Ð´Ð»Ñ LINUX'а
-(ÑабоÑÐ°ÐµÑ Ð½Ð° многиÑ
дÑÑгиÑ
UNIX'аÑ
и не-x86
-CPU, Ñм. <xref linkend="ports"/>). Ðн пÑоигÑÑÐ²Ð°ÐµÑ Ð±Ð¾Ð»ÑÑинÑÑво MPEG, VOB, AVI,
-Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM,
-RoQ, PVA, Matroska Ñайлов, опиÑаÑÑÑ Ð½Ð° множеÑÑво "ÑоднÑÑ
", XAnim'овÑкиÑ
,
-RealPlayer'овÑкиÑ
и Win32 DLL кодеков. ÐÑ Ñакже можеÑе ÑмоÑÑеÑÑ VideoCD, SVCD,
-DVD, 3ivx, RealMedia, Sorenson, Theora, и MPEG-4 (DivX) ÑилÑмÑ.
-ÐÑÑгой важной оÑобенноÑÑÑÑ
-<application>MPlayer</application>'а ÑвлÑеÑÑÑ ÑиÑокий ÑпекÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаемÑÑ
-ÑÑÑÑойÑÑв вÑвода. Ðн ÑабоÑÐ°ÐµÑ Ñ X11, Xv, DGA, OpenGL, SVGAlib,
-fbdev, AAlib, libcaca, DirectFB, и кÑоме Ñого ÐÑ Ð¼Ð¾Ð¶ÐµÑе
-иÑполÑзоваÑÑ GGI and SDL (и Ñаким обÑазом вÑе иÑ
дÑайвеÑÑ) и Ñакже неÑколÑко
-низкоÑÑовневÑÑ
дÑайвеÑов Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑеÑнÑÑ
каÑÑ (Ð´Ð»Ñ Matrox, 3Dfx и Radeon,
-Mach64, Permedia3)! ÐолÑÑинÑÑво из ниÑ
поддеÑживаÑÑ Ð¿ÑогÑаммное или аппаÑаÑное
-маÑÑÑабиÑование, поÑÑÐ¾Ð¼Ñ ÐÑ Ð¼Ð¾Ð¶ÐµÑе наÑладиÑÑÑÑ Ð¿ÑоÑмоÑÑом ÑилÑма на полном
-ÑкÑане.<application>MPlayer</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе аппаÑаÑнÑе
-MPEG декодеÑÑ, Ñакие как <link linkend="dvb">DVB</link> и
-<link linkend="dxr3">DXR3/Hollywood+</link>. Ркак наÑÑÑÑ ÑлавнÑÑ
болÑÑиÑ
-ÑглаженнÑÑ
заÑенÑннÑÑ
ÑÑбÑиÑÑов (14 поддеÑживаемÑÑ
-Ñипов) Ñ ÐвÑопейÑкими/ISO 8859-1,2 (венгеÑÑкий, английÑкий, ÑеÑÑкий,
-и Ñ.п.), киÑиллиÑеÑкими, коÑейÑкими ÑÑиÑÑами и вÑвода инÑоÑмаÑии на ÑкÑан
-[On Screen Display (OSD)]?
-</para>
-
-<para>
-ÐÐ»ÐµÐµÑ Ð±ÐµÐ· пÑоблем пÑоигÑÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð²ÑеждÑннÑе MPEG ÑÐ°Ð¹Ð»Ñ (полезно Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
VCD),
-плоÑ
ие AVI ÑайлÑ, коÑоÑÑе не пÑоигÑÑваÑÑÑÑ Ð¸Ð·Ð²ÐµÑÑнÑм
-<application>Windows Media Player</application>.
-Ðаже AVI ÑÐ°Ð¹Ð»Ñ Ð±ÐµÐ· индекÑа ÑвлÑÑÑÑÑ Ð¿ÑоигÑÑваемÑми.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе вÑеменно ÑделаÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ»ÑÑа <option>-idx</option> или
-пеÑманенÑно Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ <application>MEncoder</application>'а,
-Ñаким обÑазом полÑÑив возможноÑÑÑ Ð¿ÐµÑемеÑаÑÑÑÑ
-по ÑилÑмÑ! Ðак видиÑе ÑÑабилÑноÑÑÑ Ð¸ каÑеÑÑво — наиболее важнÑе веÑи,
-но ÑкоÑоÑÑÑ Ñакже изÑмиÑелÑна. ÐÑоме Ñого имееÑÑÑ Ð¼Ð¾ÑнаÑ
-ÑиÑÑема ÑилÑÑÑов Ð´Ð»Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑлÑÑии Ñ Ð²Ð¸Ð´ÐµÐ¾ и аÑдио.
-</para>
-
-<para>
-<application>MEncoder</application> (ÐодиÑовÑик ÑилÑмов <application>MPlayer
-</application>'a) — ÑÑо пÑоÑÑой
-кодиÑовÑик ÑилÑмов пÑедназнаÑеннÑй Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑилÑмов, пÑоигÑÑваемÑÑ
MPlayer'ом
-AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA в дÑÑгие
-пÑоигÑÑваемÑе <application>MPlayer</application>'ом ÑоÑмаÑÑ (Ñм. ниже).
-Ðн Ð¼Ð¾Ð¶ÐµÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ Ñакими ÑазнÑми кодеками, как
-MPEG-4 (DivX4) (1 или 2 пÑоÑ
ода),
-<systemitem class="library">libavcodec</systemitem>,
-PCM/MP3/VBR MP3 звÑк.
-</para>
-
-<itemizedlist>
-<title>ÐозможноÑÑи <application>MEncoder</application>'а</title>
-<listitem><para>
- ÐодиÑование из ÑиÑокого ÑпекÑÑа ÑоÑмаÑов Ñайлов и декодеÑов
- <application>MPlayer'а</application>
-</para></listitem>
-<listitem><para>
- ÐодиÑование во вÑе кодеки FFmpeg'овÑкой библиоÑеки
- <systemitem class="library">libavcodec</systemitem>
-</para></listitem>
-<listitem><para>
- ÐодиÑование видео Ñ V4L ÑовмеÑÑимÑÑ
TV ÑÑнеÑов
-</para></listitem>
-<listitem><para>
- ÐодиÑование/мÑлÑÑиплекÑиÑование в "ÑлоÑнÑе"[interleaved] AVI ÑайлÑ
- Ñ ÑооÑвеÑÑÑвÑÑÑим индекÑом
-</para></listitem>
-<listitem><para>
- Создание Ñайлов Ñ Ð°Ñдио поÑоком из внеÑнего Ñайла
-</para></listitem>
-<listitem><para>
- ÐодиÑование в 1, 2 или 3 пÑоÑ
ода
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">VBR</emphasis> MP3 аÑдио
-</para></listitem>
-<listitem><para>
- PCM аÑдио
-</para></listitem>
-<listitem><para>
- ÐопиÑование поÑоков
-</para></listitem>
-<listitem><para>
- ÐÑ
Ð¾Ð´Ð½Ð°Ñ A/V ÑинÑ
ÑонизаÑÐ¸Ñ (оÑнована на PTS, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑклÑÑена Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
- клÑÑа <option>-mc 0</option> )
-</para></listitem>
-<listitem><para>
- ÐоÑÑекÑÐ¸Ñ FPS[кадÑов/Ñек] клÑÑом <option>-ofps</option> (полезно пÑи кодиÑовании
- 30000/1001 fps VOB в 24000/1001 fps AVI)
-</para></listitem>
-<listitem><para>
- ÐÑполÑзование наÑей оÑÐµÐ½Ñ Ð¼Ð¾Ñной ÑиÑÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð² (обÑезание[crop],
- ÑаÑÑиÑение[expand], оÑÑажение[flip], поÑÑ-обÑабоÑка[postprocess],
- повоÑоÑ[rotate], маÑÑÑабиÑование[scale], RGB/YUV пÑеобÑазованиÑ)
-</para></listitem>
-<listitem><para>
- ÐÐ¾Ð¶ÐµÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ DVD/VOBsub и ÑекÑÑовÑе ÑÑбÑиÑÑÑ
- в один вÑÑ
одной Ñайл
-</para></listitem>
-<listitem><para>
- ÐÐ¾Ð¶ÐµÑ Ð¸Ð·Ð²Ð»ÐµÐºÐ°ÑÑ DVD ÑÑбÑиÑÑÑ Ð² VOBsub ÑоÑмаÑ
-</para></listitem>
-
-</itemizedlist>
-
-<!-- FIXME: the license should be in bookinfo -->
-<para>
-<application>MPlayer</application> и <application>MEncoder</application> могÑÑ ÑаÑпÑоÑÑÑанÑÑÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ GNU General
-Public License Version 2.
-</para>
-
-</chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/ru/encoding-guide.xml b/DOCS/xml/ru/encoding-guide.xml
deleted file mode 100644
index e7200d6..0000000
--- a/DOCS/xml/ru/encoding-guide.xml
+++ /dev/null
@@ -1,5705 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r26711 -->
-<chapter id="encoding-guide">
-<title>ÐодиÑование Ñ <application>MEncoder</application></title>
-
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Создание вÑÑококаÑеÑÑвенного MPEG-4 ("DivX") Ñипа из DVD ÑилÑма</title>
-
-<para>
-Ðдним ÑаÑÑо задаваемÑм вопÑоÑом ÑвлÑеÑÑÑ "Ðак мне ÑделаÑÑ Ñип Ñамого вÑÑокого
-каÑеÑÑва Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑазмеÑа?". ÐÑÑгой вопÑÐ¾Ñ "Ðак мне ÑоздаÑÑ DVD Ñип Ñ ÑамÑм
-вÑÑоким возможнÑм каÑеÑÑвом? Я не беÑпокоÑÑÑ Ð¾ ÑазмеÑе Ñайла, мне нÑжно лиÑÑ
-наилÑÑÑее каÑеÑÑво.".
-</para>
-
-<para>
-ÐоÑледний вопÑоÑ, поÑ
оже, оÑÑаÑÑи невеÑно ÑÑоÑмÑлиÑован. РконÑе конÑов, еÑли
-ÐÑ Ð½Ðµ беÑпокоиÑеÑÑ Ð¾ ÑазмеÑе Ñайла, поÑÐµÐ¼Ñ Ð±Ñ Ð¿ÑоÑÑо не ÑкопиÑоваÑÑ Ð²ÐµÑÑ MPEG-2
-видео поÑок Ñ DVD? ÐонеÑно, ÐÐ°Ñ AVI Ñайл бÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð¾ÐºÐ¾Ð»Ð¾ 5GB,
-но еÑли ÐÑ Ð¶ÐµÐ»Ð°ÐµÑе наилÑÑÑее каÑеÑÑво и не волнÑеÑеÑÑ Ð¾ ÑазмеÑе, Ñо ÑÑо,
-неÑомненно, лÑÑÑее ÑеÑение.
-</para>
-
-<para>
-РдейÑÑвиÑелÑноÑÑи, пÑиÑиной, по коÑоÑой ÐÑ Ñ
оÑиÑе пеÑекодиÑоваÑÑ DVD в MPEG-4,
-ÑвлÑеÑÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ ÐаÑе <emphasis role="bold">беÑпокойÑÑво</emphasis>
-о ÑазмеÑе Ñайла.
-</para>
-
-<para>
-Сложно даÑÑ ÑнивеÑÑалÑнÑй ÑеÑÐµÐ¿Ñ Ð¾ Ñоздании DVD Ñипа оÑÐµÐ½Ñ Ð²ÑÑокого
-каÑеÑÑва. ÐеобÑ
одимо ÑаÑÑмоÑÑеÑÑ Ð½ÐµÑколÑко ÑакÑоÑов, и ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ
-понимаÑÑ ÑÑи деÑали, инаÑе ÐÑ, ÑкоÑее вÑего, ÑазоÑаÑÑеÑеÑÑ Ñвоими
-ÑезÑлÑÑаÑами. Ðиже Ð¼Ñ Ð¸ÑÑледÑем некоÑоÑÑе из ÑÑиÑ
вопÑоÑов, а заÑем
-ÑаÑÑмоÑÑим пÑимеÑ. ÐÑ Ð¿Ñедполагаем, ÑÑо ÐÑ Ð¸ÑполÑзÑеÑе
-<systemitem class="library">libavcodec</systemitem> Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾,
-Ñ
оÑÑ ÑеоÑÐ¸Ñ Ñакже пÑименима и к дÑÑгим кодекам.
-</para>
-
-<para>
-ÐÑли ÑÑо кажеÑÑÑ Ð´Ð»Ñ ÐÐ°Ñ ÑлиÑком ÑложнÑм, Ñо Ðам, пожалÑй, ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ
-один из многоÑиÑленнÑÑ
неплоÑ
иÑ
ÑÑонÑендов, ÑказаннÑÑ
в
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">Ñазделе MEncoder</ulink>
-наÑей ÑÑÑаниÑÑ ÑодÑÑвеннÑÑ
пÑоекÑов.
-Так ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð²ÑÑококаÑеÑÑвеннÑе ÑÐ¸Ð¿Ñ Ð±ÐµÐ· оÑобÑÑ
ÑазмÑÑлений,
-поÑколÑÐºÑ Ð±Ð¾Ð»ÑÑинÑÑво ÑÑиÑ
ÑÑÐ¸Ð»Ð¸Ñ ÑазÑабоÑÐ°Ð½Ñ Ð´Ð»Ñ Ð¿ÑинÑÑÐ¸Ñ ÑмнÑÑ
ÑеÑений за ÐаÑ.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>ÐодгоÑовка к кодиÑованиÑ: ÐденÑиÑикаÑÐ¸Ñ Ð¸ÑÑ
одного маÑеÑиала и кадÑовой
- ÑаÑÑоÑÑ</title>
-<para>
-ÐÑежде, Ñем даже задÑмÑваÑÑÑÑ Ð¾ кодиÑовании ÑилÑма, Ðам необÑ
одимо вÑполниÑÑ
-некоÑоÑÑе пÑедваÑиÑелÑнÑе дейÑÑвиÑ.
-</para>
-
-<para>
-ÐеÑвÑм и наиболее важнÑм Ñагом пеÑед кодиÑованием должно бÑÑÑ Ð¾Ð¿Ñеделение
-Ñипа ÑодеÑжимого, Ñ ÐºÐ¾ÑоÑÑм ÐÑ ÑабоÑаеÑе.
-ÐÑли иÑÑоÑником ÐаÑиÑ
иÑÑ
однÑÑ
маÑеÑиалов ÑвлÑеÑÑÑ DVD или
-ÑиÑоковеÑаÑелÑное/кабелÑное/ÑпÑÑниковое TV, оно бÑÐ´ÐµÑ ÑодеÑжаÑÑÑÑ Ð² одном из
-двÑÑ
ÑоÑмаÑов: NTSC Ð´Ð»Ñ Ð¡ÐµÐ²ÐµÑной ÐмеÑики и Японии, PAL Ð´Ð»Ñ ÐвÑÐ¾Ð¿Ñ Ð¸ Ñ.д..
-Ðднако, важно понимаÑÑ, ÑÑо ÑÑо ÑолÑко ÑоÑмаÑиÑование Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° на
-Ñелевидении, и оно ÑаÑÑо
-<emphasis role="bold">не</emphasis> ÑооÑвеÑÑÑвÑеÑ
-иÑÑ
Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑоÑмаÑÑ ÑилÑма.
-ÐпÑÑ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑ, ÑÑо NTSC маÑеÑиал ÑÑÑеÑÑвенно более Ñложен Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ,
-Ñ.к. в нÑм ÑодеÑжиÑÑÑ Ð±Ð¾Ð»ÑÑе ÑлеменÑов, коÑоÑÑе нÑжно иденÑиÑиÑиÑоваÑÑ.
-ÐÐ»Ñ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑдаÑного кодиÑованиÑ, Ðам необÑ
одимо знаÑÑ Ð¸ÑÑ
однÑй ÑоÑмаÑ.
-ÐÑказ Ð¾Ñ Ð¿ÑинÑÑÐ¸Ñ ÑÑого во внимание пÑиведÑÑ Ðº ÑазлиÑнÑм деÑекÑам в ÐаÑем
-кодиÑовании, вклÑÑÐ°Ñ Ð±ÐµÐ·Ð¾Ð±ÑазнÑе гÑебеÑки (аÑÑеÑакÑÑ ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑки)
-и повÑоÑÑÑÑиеÑÑ Ð¸Ð»Ð¸ даже поÑеÑÑннÑе кадÑÑ.
-ÐÑоме ÑÑ
ÑдÑÐµÐ½Ð¸Ñ ÐºÐ°ÑÑинки, аÑÑеÑакÑÑ Ñак же ÑменÑÑаÑÑ ÑÑÑекÑивноÑÑÑ ÐºÐ¾Ð´Ð¸ÑованиÑ:
-ÐÑ Ð¿Ð¾Ð»ÑÑиÑе Ñ
ÑдÑее каÑеÑÑво на единиÑÑ Ð±Ð¸ÑпоÑока.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
-<title>ÐпÑеделение кадÑовой ÑаÑÑоÑÑ Ð¸ÑÑоÑника</title>
-<para>
-ÐÐ¾Ñ ÑпиÑок, ÑодеÑжаÑий обÑие ÑÐ¸Ð¿Ñ Ð¸ÑÑ
однÑÑ
маÑеÑиалов, где они,
-пÑеимÑÑеÑÑвенно, вÑÑÑеÑаÑÑÑÑ Ð¸ иÑ
ÑвойÑÑва:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">СÑандаÑÑнÑй ÑилÑм</emphasis>: ÐÑоизводÑÑÑÑ
- Ð´Ð»Ñ ÑеаÑÑалÑнÑÑ
показов на 24 fps [кадÑ/Ñек].
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL видео</emphasis>: ÐапиÑÑваеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
- PAL видеокамеÑÑ Ð¿Ñи 50 полÑÑ
в ÑекÑндÑ.
- Ðоле ÑоÑÑÐ¾Ð¸Ñ ÑолÑко из ÑÑÑнÑÑ
или неÑÑÑнÑÑ
линий кадÑа.
- Телевидение бÑло ÑазÑабоÑано Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑиÑ
полей попеÑеменно,
- ÑÑо иÑполÑзÑеÑÑÑ ÐºÐ°Ðº вид деÑÑвого аналогового ÑжаÑиÑ.
- ЧеловеÑеÑкий глаз, пÑедположиÑелÑно, компенÑиÑÑÐµÑ ÑÑо, но однаждÑ
- понÑв ÑеÑеÑÑÑÑоÑнÑÑ ÑазвÑÑÑкÑ, ÐÑ Ð½Ð°ÑÑиÑеÑÑ Ð²Ð¸Ð´ÐµÑÑ ÐµÑ Ð¸ на TV и
- Ðам болÑÑе никогда не понÑавиÑÑÑ Ñелевидение.
- Ðва Ð¿Ð¾Ð»Ñ <emphasis role="bold">не</emphasis> ÑоÑÑавлÑÑÑ
- ÑелÑй кадÑ, поÑколÑÐºÑ Ð¾Ð½Ð¸ ÑнимаÑÑÑÑ Ñ Ð·Ð°Ð´ÐµÑжкой в 1/50 ÑекÑндÑ
- и, ÑледоваÑелÑно, не ÑоÑмиÑÑÑÑ Ð¾Ð´Ð½Ð¾ изобÑажение, за иÑклÑÑением ÑлÑÑаÑ
- полного оÑÑÑÑÑÑÐ²Ð¸Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC видео</emphasis>: ÐапиÑÑваеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
- NTSC видеокамеÑÑ Ð¿Ñи 60000/1001 полÑÑ
в ÑекÑндÑ, или 60 полÑÑ
в ÑекÑндÑ
- в ÑпоÑ
Ñ ÑÑÑно-белого TV.
- РдÑÑгиÑ
оÑноÑениÑÑ
аналогиÑно PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ÐнимаÑиÑ</emphasis>: ÐбÑÑно ÑиÑÑеÑÑÑ Ð½Ð° 24 fps,
- но Ñакже ÑÑÑеÑÑвÑÑÑ ÑазновидноÑÑи Ñо ÑмеÑанной кадÑовой ÑаÑÑоÑой.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ÐомпÑÑÑеÑÐ½Ð°Ñ Ð³ÑаÑика (CG)</emphasis>: ÐожеÑ
- бÑÑÑ Ñ Ð»Ñбой ÑаÑÑоÑой кадÑов, но некоÑоÑÑе вÑÑÑеÑаÑÑÑÑ ÑаÑе оÑÑалÑнÑÑ
;
- 24 и 30 кадÑов в ÑекÑÐ½Ð´Ñ ÑипиÑÐ½Ñ Ð´Ð»Ñ NTSC, и 25 fps ÑипиÑно Ð´Ð»Ñ PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">СÑаÑÑй ÑилÑм</emphasis>: РазлиÑнÑе низкие
- кадÑовÑе ÑаÑÑоÑÑ.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
-<title>ÐденÑиÑикаÑÐ¸Ñ Ð¸ÑÑ
одного маÑеÑиала</title>
-
-<para>
-ФилÑмÑ, ÑоÑÑоÑÑие из кадÑов, назÑваÑÑÑÑ ÑилÑмами Ñ Ð¿Ð¾ÑÑÑоÑной (или пÑогÑеÑÑивной)
-ÑазвÑÑÑкой, а ÑоÑÑоÑÑие из незавиÑимÑÑ
полей — ÑилÑмами Ñ ÑеÑеÑÑÑÑоÑной
-ÑазвÑÑÑкой или пÑоÑÑо видео; однако, поÑледний ÑеÑмин двÑÑмÑÑленнÑй.
-</para>
-
-<para>
-Ðз-за далÑнейÑиÑ
ÑÑложнений, некоÑоÑÑе ÑилÑÐ¼Ñ Ð±ÑдÑÑ ÑмеÑÑÑ
-неÑколÑкиÑ
, ÑказаннÑÑ
вÑÑе.
-</para>
-
-<para>
-Ðаиболее важнÑм ÑазлиÑием Ð¼ÐµÐ¶Ð´Ñ Ð²Ñеми ÑÑими ÑоÑмаÑами ÑвлÑеÑÑÑ
-Ñо, ÑÑо одни из ниÑ
оÑÐ½Ð¾Ð²Ð°Ð½Ñ Ð½Ð° кадÑаÑ
, а дÑÑгие — на полÑÑ
.
-<emphasis role="bold">ÐÑбой</emphasis> ÑилÑм, подгоÑовленнÑй длÑ
-пÑоÑмоÑÑа на Ñелевидении (вклÑÑÐ°Ñ DVD), пÑеобÑазÑеÑÑÑ Ð² ÑоÑмаÑ,
-оÑнованнÑй на полÑÑ
.
-<!-- FIXME: СÑÑеÑÑвÑÐµÑ Ð»Ð¸ лÑÑÑий *кÑаÑкий* (1-2 Ñлова) пеÑевод длÑ
- ÑеÑминов pulldown и telecine? РлиÑеÑаÑÑÑе, коÑоÑÑÑ Ñ Ð½Ð°ÑÑл,
- иÑполÑзÑÑÑ Ð¸Ð»Ð¸ ÑказаннÑе мной, по ÑÑÑи дела, ÑÑанÑлиÑеÑаÑии,
- или Ñак и оÑÑавлÑÑÑ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкие названиÑ.
- Ð ÑоÑнÑй пеÑевод можно вÑполниÑÑ ÑолÑко ÑелÑм пÑедложением
- (Ñ.е. опÑеделением), ÑÑо ÑовеÑÑенно неÑмеÑÑно в конÑекÑÑе
- данного докÑменÑа, где ÑÑи ÑеÑÐ¼Ð¸Ð½Ñ ÑаÑÑо вÑÑÑеÑаÑÑÑÑ. -->
-РазлиÑнÑе меÑодÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑоÑÑÑ
ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñделано, ÑовокÑпно
-назÑваÑÑÑÑ "ÑелеÑин" (англ. telecine), одним из ваÑианÑов коÑоÑого
-ÑвлÑеÑÑÑ Ð¾ÑвÑаÑиÑелÑнÑй NTSC "3:2 пÑлдаÑн" (англ. pulldown).
-Ðа иÑклÑÑением ÑлÑÑаев, когда ÑоÑÐ¼Ð°Ñ Ð¸ÑÑ
одного маÑеÑиала бÑл
-Ñакже оÑнован на полÑÑ
(и Ñ Ñакой же ÑаÑÑоÑой полей), ÐÑ Ð¿Ð¾Ð»ÑÑиÑе
-ÑилÑм в ÑоÑмаÑе оÑлиÑном Ð¾Ñ Ð¸ÑÑ
одного.
-</para>
-
-<itemizedlist>
-<title>СÑÑеÑÑвÑÐµÑ Ð½ÐµÑколÑко обÑиÑ
Ñипов пÑлдаÑна:</title>
-<listitem><para>
- <emphasis role="bold">PAL 2:2 пÑлдаÑн</emphasis>: ÐаилÑÑÑий из вÑеÑ
.
- ÐаждÑй ÐºÐ°Ð´Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑÑÑ Ð·Ð° вÑÐµÐ¼Ñ Ð´Ð»Ð¸ÑелÑноÑÑи двÑÑ
полей пÑÑем
- извлеÑÐµÐ½Ð¸Ñ ÑÑÑнÑÑ
и неÑÑÑнÑÑ
ÑÑÑок и иÑ
попеÑеменного показа.
- ÐÑли в иÑÑ
одном маÑеÑиале 24 fps, Ñо ÑÑо ÑÑкоÑÑÐµÑ Ð²Ð¾ÑпÑоизведение ÑилÑма
- на 4%.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 пÑлдаÑн</emphasis>:
- ÐаждÑй 12-й ÐºÐ°Ð´Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑÑÑ Ð·Ð° вÑÐµÐ¼Ñ Ð´Ð»Ð¸ÑелÑноÑÑи ÑÑÑÑ
полей,
- вмеÑÑо двÑÑ
.
- ÐÑо Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ 4%-го ÑÑкоÑениÑ, но Ð´ÐµÐ»Ð°ÐµÑ Ð¾Ð±ÑаÑение
- пÑоÑеÑÑа ÑÑÑеÑÑвенно более ÑложнÑм.
- Такие веÑи обÑÑно наблÑдаÑÑÑÑ Ð² мÑзÑкалÑнÑÑ
пÑоизведениÑÑ
, где
- изменение ÑкоÑоÑÑи на 4% ÑÑÑеÑÑвенно повÑÐµÐ´Ð¸Ñ Ð¼ÑзÑкалÑнÑÑ Ð¿Ð°ÑÑиÑÑÑÑ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 3:2 ÑелеÑин</emphasis>: ÐадÑÑ Ð¿Ð¾ÐºÐ°Ð·ÑваÑÑÑÑ
- попеÑеменно за вÑÐµÐ¼Ñ Ð´Ð»Ð¸ÑелÑноÑÑи 3-Ñ
полей или 2-Ñ
полей.
- ÐÑо даÑÑ ÑаÑÑоÑÑ Ð¿Ð¾Ð»ÐµÐ¹ в 2.5 Ñаза болÑÑе иÑÑ
одной ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов.
- РезÑлÑÑÐ°Ñ Ñакже оÑÐµÐ½Ñ Ð½ÐµÐ·Ð½Ð°ÑиÑелÑно замедлÑеÑÑÑ Ð¾Ñ 60 до 60000/1001
- полей в ÑекÑÐ½Ð´Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ ÑаÑÑоÑÑ Ð¿Ð¾Ð»ÐµÐ¹ NTSC.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 2:2 пÑлдаÑн</emphasis>: ÐÑполÑзÑеÑÑÑ
- Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð°ÑеÑиала Ñ 30 fps на NTSC.
- Так же мил, как и 2:2 PAL пÑлдаÑн.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Так же ÑÑÑеÑÑвÑÑÑ Ð¼ÐµÑÐ¾Ð´Ñ Ð´Ð»Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ NTSC и PAL видео,
-но подобнÑе ÑÐµÐ¼Ñ Ð²ÑÑ
одÑÑ Ð·Ð° Ñамки данного ÑÑководÑÑва.
-ÐÑли Ðам попалÑÑ Ñакой ÑилÑм, и ÐÑ Ñ
оÑиÑе кодиÑоваÑÑ ÐµÐ³Ð¾,
-лÑÑÑим ÑеÑением бÑÐ´ÐµÑ Ð½Ð°Ð¹Ñи ÐºÐ¾Ð¿Ð¸Ñ Ð² иÑÑ
одном ÑоÑмаÑе.
-ÐÑеобÑазование Ð¼ÐµÐ¶Ð´Ñ ÑÑими двÑÐ¼Ñ ÑоÑмаÑами вноÑÐ¸Ñ Ð±Ð¾Ð»ÑÑие поÑеÑи
-и не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑоÑно обÑаÑено, Ñак ÑÑо ÐаÑе кодиÑование
-ÑÑÑеÑÑвенно поÑÑÑадаеÑ, еÑли оно делаеÑÑÑ Ð¸Ð· пÑеобÑазованного
-иÑÑоÑника.
-</para>
-
-<para>
-Ðогда видео наÑ
одиÑÑÑ Ð½Ð° DVD, поÑледоваÑелÑнÑе паÑÑ Ð¿Ð¾Ð»ÐµÐ¹
-гÑÑппиÑÑÑÑÑÑ ÐºÐ°Ðº кадÑ, даже еÑли они не пÑедназнаÑÐµÐ½Ñ Ð´Ð»Ñ
-одновÑеменного оÑобÑажениÑ.
-СÑандаÑÑ MPEG-2, иÑполÑзÑемÑй на DVD и ÑиÑÑовом TV пÑедоÑÑавлÑеÑ
-возможноÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно кодиÑоваÑÑ Ð¸ÑÑ
однÑе кадÑÑ Ñ Ð¿Ð¾ÑÑÑоÑной
-ÑазвÑÑÑкой и ÑоÑ
ÑанÑÑÑ ÑиÑло полей, в ÑеÑении коÑоÑÑÑ
кадÑ
-должен бÑÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½, в его заголовке.
-ÐÑли бÑл иÑполÑзован Ñакой меÑод, ÑилÑм ÑаÑÑо бÑÐ´ÐµÑ Ð½Ð°Ð·ÑваÑÑÑÑ
-как "мÑгкий ÑелеÑин", Ñ.к. пÑоÑеÑÑ ÑолÑко ÑказÑÐ²Ð°ÐµÑ DVD-плееÑÑ
-о необÑ
одимоÑÑи пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÑлдаÑна к ÑилÑмÑ, не изменÑÑ Ð¿Ñи ÑÑом
-Ñам ÑилÑм.
-ÐÑÐ¾Ñ ÑлÑÑай ÑÑÑеÑÑвенно пÑедпоÑÑиÑелен, Ñ.к. он Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»ÐµÐ³ÐºÐ¾ обÑаÑÑн
-(в дейÑÑвиÑелÑноÑÑи, пÑоигноÑиÑован) кодеÑом и Ñ.к. он ÑоÑ
ÑанÑеÑ
-макÑималÑное каÑеÑÑво.
-Ðднако, многие ÑиÑоковеÑаÑелÑнÑе и DVD ÑÑÑдии не иÑполÑзÑÑÑ
-надлежаÑÑÑ ÑеÑ
Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вмеÑÑо ÑÑого пÑоизводÑÑ
-ÑилÑÐ¼Ñ Ñ "жÑÑÑким ÑелеÑином", где Ð¿Ð¾Ð»Ñ Ð² дейÑÑвиÑелÑноÑÑи
-повÑоÑÑÑÑÑÑ Ð² кодиÑованном MPEG-2.
-</para>
-
-<para>
-ÐоÑÑдок дейÑÑÐ²Ð¸Ñ Ð² ÑакиÑ
ÑлÑÑаÑÑ
бÑÐ´ÐµÑ Ð¾Ð¿Ð¸Ñан
-<link linkend="menc-feat-telecine">позже в данном ÑÑководÑÑве</link>.
-СейÑÐ°Ñ Ð¼Ñ Ð´Ð°Ð´Ð¸Ð¼ Ðам неÑколÑко ÑовеÑов по иденÑиÑикаÑии Ñипа
-маÑеÑиала, Ñ ÐºÐ¾ÑоÑÑм ÐÑ ÑабоÑаеÑе:
-</para>
-
-<itemizedlist>
-<title>Ð ÐµÐ³Ð¸Ð¾Ð½Ñ NTSC:</title>
-<listitem><para>
- ÐÑли пÑи пÑоÑмоÑÑе ÐаÑего ÑилÑма <application>MPlayer</application>
- вÑводиÑ, ÑÑо ÑаÑÑоÑа кадÑов бÑла изменена до 24000/1001 и она
- никогда не менÑеÑÑÑ Ð¾Ð±ÑаÑно, Ñо ÑÑо поÑÑи навеÑнÑка ÑодеÑжимое
- Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой, коÑоÑое бÑло подвеÑгнÑÑо
- "мÑÐ³ÐºÐ¾Ð¼Ñ ÑелеÑинÑ".
-</para></listitem>
-<listitem><para>
- ÐÑли <application>MPlayer</application> оÑобÑÐ°Ð¶Ð°ÐµÑ Ð¿Ð¾Ð¿ÐµÑеменнÑе
- пеÑеклÑÑÐµÐ½Ð¸Ñ ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов Ð¼ÐµÐ¶Ð´Ñ 24000/1001 и 30000/1001, и ÐÑ
- иногда видиÑе "гÑебеÑки", еÑÑÑ Ð½ÐµÑколÑко возможноÑÑей.
- СегменÑÑ Ñ 24000/1001 fps поÑÑи навеÑнÑка ÑвлÑÑÑÑÑ "мÑгко
- ÑелеÑиненнÑм" ÑодеÑжимÑм Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой, но ÑаÑÑи Ñ
- 30000/1001 fps могÑÑ Ð±ÑÑÑ ÐºÐ°Ðº "жÑÑÑко ÑелеÑиненÑм" ÑодеÑжимÑм
- Ñ 24000/1001 fps, Ñак и NTSC видео Ñ 60000/1001 полÑми в ÑекÑндÑ.
- ÐÑполÑзÑйÑе два нижеÑледÑÑÑиÑ
ÑÑководÑÑва Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñого,
- Ñ ÐºÐ°ÐºÐ¸Ð¼ ÑлÑÑаем ÐÑ Ð¸Ð¼ÐµÐµÑе дело.
-</para></listitem>
-<listitem><para>
- ÐÑли <application>MPlayer</application> никогда не показÑваеÑ
- Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ð´Ñовой ÑаÑÑоÑÑ Ð¸ каждÑй оÑделÑнÑй кадÑ, где еÑÑÑ
- движение, оказÑваеÑÑÑ Ð³ÑебÑнкой, ÐÐ°Ñ ÑилÑм еÑÑÑ NTSC видео Ñ
- 60000/1001 полÑми в ÑекÑндÑ.
-</para></listitem>
-<listitem><para>
- ÐÑли <application>MPlayer</application> никогда не показÑваеÑ
- Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ°Ð´Ñовой ÑаÑÑоÑÑ Ð¸ два кадÑа из каждÑÑ
пÑÑи оказÑваÑÑÑÑ
- гÑебÑнкой, ÐÐ°Ñ ÑилÑм пÑедÑÑавлÑÐµÑ Ñобой "жÑÑÑко ÑелеÑиненное"
- ÑодеÑжимое Ñ 24000/1001 fps.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Ð ÐµÐ³Ð¸Ð¾Ð½Ñ PAL:</title>
-<listitem><para>
- ÐÑли ÐÑ Ð½Ðµ видиÑе никакой гÑебÑнки, ÐÐ°Ñ ÑилÑм еÑÑÑ 2:2 пÑлдаÑн.
-</para></listitem>
-<listitem><para>
- ÐÑли ÐÑ Ð²Ð¸Ð´Ð¸Ñе попеÑеменнÑÑ Ð³ÑебÑÐ½ÐºÑ ÐºÐ°Ð¶Ð´Ñе полÑекÑндÑ,
- ÐÐ°Ñ ÑилÑм пÑедÑÑавлÑÐµÑ Ñобой 2:2:2:2:2:2:2:2:2:2:2:3 пÑлдаÑн.
-</para></listitem>
-<listitem><para>
- ÐÑли ÐÑ Ð²Ñегда видиÑе гÑебÑнки во вÑÐµÐ¼Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ, знаÑÐ¸Ñ ÐаÑ
- ÑилÑм ÑвлÑеÑÑÑ PAL видео Ñ 50 полÑми в ÑекÑндÑ.
-</para></listitem>
-</itemizedlist>
-
-<note><title>ÐодÑказка:</title>
-<para>
- <application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¼ÐµÐ´Ð»Ð¸ÑÑ Ð²Ð¾ÑпÑоизведение
- ÑилÑма Ñ Ð¾Ð¿Ñией -speed или воÑпÑоизводиÑÑ ÐµÐ³Ð¾ покадÑово.
- ÐопÑобÑйÑе иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-speed 0.2</option> длÑ
- оÑÐµÐ½Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ пÑоÑмоÑÑа ÑилÑма или нажимайÑе
- клавиÑÑ "<keycap>.</keycap>" Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ кадÑа
- за Ñаз и идеÑниÑиÑиÑÑйÑе обÑазеÑ, еÑли не можеÑе его ÑвидеÑÑ Ð½Ð°
- полной ÑкоÑоÑÑи.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>ÐоÑÑоÑннÑй кванÑоваÑÐµÐ»Ñ Ð² ÑÑавнении Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿ÑоÑ
одноÑÑÑÑ</title>
-
-<para>
-Ðозможно кодиÑоваÑÑ ÐÐ°Ñ ÑилÑм, ÑиÑоко ваÑÑиÑÑÑ ÐºÐ°ÑеÑÑво.
-С ÑовÑеменнÑми видеокодеÑами и неболÑÑим ÑжаÑием пеÑед кодиÑованием
-(ÑменÑÑением ÑазмеÑа и ÑÑмов) возможно доÑÑиÑÑ Ð¾ÑÐµÐ½Ñ Ñ
оÑоÑего
-каÑеÑÑва пÑи ÑазмеÑе 700 ÐÐ Ð´Ð»Ñ 90-110-минÑÑного ÑиÑокоÑкÑанного ÑилÑма.
-Ðолее Ñого, вÑÑ, кÑоме ÑамÑÑ
длиннÑÑ
ÑилÑмов, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÐºÐ¾Ð´Ð¸Ñовано
-Ñ Ð¿Ð¾ÑÑи безÑпÑеÑнÑм каÑеÑÑвом на 1400 ÐÐ.
-</para>
-
-<para>
-ÐÑÑÑ ÑÑи подÑ
ода пÑи кодиÑовании видео: поÑÑоÑннÑй биÑпоÑок (CBR),
-поÑÑоÑннÑй кванÑоваÑÐµÐ»Ñ Ð¸ многопÑоÑ
одноÑÑÑ (ABR или ÑÑÑеднÑннÑй биÑпоÑок).
-</para>
-
-<para>
-СложноÑÑÑ ÐºÐ°Ð´Ñов ÑилÑма и, Ñаким обÑазом, ÑиÑло биÑов, нÑжнÑÑ
Ð´Ð»Ñ Ð¸Ñ
-ÑжаÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ ÑÑÑеÑÑвенно оÑлиÑаÑÑÑÑ Ð¾Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÐµÐ½Ñ Ðº дÑÑгой.
-СовÑеменнÑе видеокодеÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð´ÑÑÑаиваÑÑÑÑ Ð¿Ð¾Ð´ ÑÑо в пÑоÑеÑÑе
-ÑабоÑÑ Ð¸ ваÑÑиÑоваÑÑ Ð±Ð¸ÑпоÑок.
-Ðднако, в ÑакиÑ
пÑоÑÑÑÑ
ÑежимаÑ
как CBR кодеÑÑ Ð½Ðµ знаÑÑ Ð·Ð°Ð³ÑÑженноÑÑÑ
-биÑпоÑока в поÑледÑÑÑиÑ
ÑÑенаÑ
и Ñ.о. не могÑÑ Ð¿ÑевÑÑиÑÑ Ð·Ð°ÑÑебованнÑй
-биÑпоÑок Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑиÑ
пÑомежÑÑков вÑемени.
-Ðолее ÑовеÑÑеннÑе ÑежимÑ, Ñакие как многопÑоÑ
однÑй Ñежим, могÑÑ
-ÑÑиÑÑваÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿ÑедÑдÑÑиÑ
пÑоÑ
одов; ÑÑо ÑеÑÐ°ÐµÑ Ð¿ÑоблемÑ,
-ÑпомÑнÑÑÑÑ Ð²ÑÑе.
-</para>
-
-<note><title>ÐамеÑание:</title>
-<para>
-ÐолÑÑинÑÑво кодеков, поддеÑживаÑÑиÑ
ABR кодиÑование, поддеÑживаÑÑ
-ÑолÑко двÑпÑоÑ
однÑй Ñежим, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº некоÑоÑÑе дÑÑгие, Ñакие
-как <systemitem class="library">x264</systemitem>,
-<systemitem class="library">Xvid</systemitem>
-и <systemitem class="library">libavcodec</systemitem> поддеÑживаÑÑ
-многопÑоÑ
одноÑÑÑ, неÑколÑко ÑлÑÑÑаÑÑÑÑ ÐºÐ°ÑеÑÑво на каждом пÑоÑ
оде,
-однако, ÑÑо ÑлÑÑÑение не измеÑимо и не замеÑно поÑле 4-го пÑоÑ
ода
-или около Ñого.
-ÐоÑÑомÑ, в данном Ñазделе двÑ- и многопÑоÑ
одноÑÑÑ Ð±ÑдÑÑ
-иÑполÑзоваÑÑÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð·Ð°Ð¼ÐµÐ½Ñемо.
-</para>
-</note>
-
-<para>
-Ркаждом из ÑÑиÑ
Ñежимов видеокодек (Ñакой как
-<systemitem class="library">libavcodec</systemitem>)
-ÑÐ°Ð·Ð±Ð¸Ð²Ð°ÐµÑ Ð²Ð¸Ð´ÐµÐ¾ÐºÐ°Ð´Ñ Ð½Ð° макÑоблоки ÑазмеÑом 16Ñ
16 пикÑелей и поÑом
-пÑименÑÐµÑ ÐºÐ²Ð°Ð½ÑоваÑÐµÐ»Ñ Ðº ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð¼Ð°ÐºÑоблокÑ. Чем менÑÑе кванÑовалÑ,
-Ñем лÑÑÑе каÑеÑÑво и вÑÑе биÑпоÑок.
-ÐеÑод, иÑполÑзÑемÑй видео кодеÑом Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñого, какой
-кванÑоваÑÐµÐ»Ñ Ð¸ÑполÑзоваÑÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ макÑоблока, ваÑÑиÑÑеÑÑÑ Ð¸
-Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð¸Ñ Ñонкой наÑÑÑойке. (ÐÑо кÑайнее ÑпÑоÑение ÑеалÑного
-пÑоÑеÑÑа, но оÑÐ½Ð¾Ð²Ð½Ð°Ñ ÐºÐ¾Ð½ÑепÑÐ¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ð´Ð»Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ.)
-</para>
-
-<para>
-Ðогда ÐÑ ÑказÑваеÑе поÑÑоÑннÑй биÑпоÑок, видеокодек бÑÐ´ÐµÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ
-видео, оÑбÑаÑÑÐ²Ð°Ñ Ð´ÐµÑали ÑÑолÑко, ÑколÑко необÑ
одимо и наÑÑолÑко мало,
-наÑколÑко ÑÑо возможно Ñ ÑелÑÑ Ð¾ÑÑаваÑÑÑÑ Ð½Ð¸Ð¶Ðµ заданного биÑпоÑока.
-ÐÑли ÐÐ°Ñ Ð´ÐµÐ¹ÑÑвиÑелÑно не волнÑÐµÑ ÑÐ°Ð·Ð¼ÐµÑ Ñайла, ÐÑ Ð¼Ð¾Ð¶ÐµÑе Ñакже
-иÑполÑзоваÑÑ CBR и ÑказаÑÑ Ð±ÐµÑконеÑнÑй биÑпоÑок. (Ðа пÑакÑике ÑÑо
-ознаÑÐ°ÐµÑ Ð·Ð½Ð°Ñение, доÑÑаÑоÑно болÑÑое Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¾ÑÑÑÑÑÑвиÑ
-пÑедела, напÑимеÑ, 10000 ÐбиÑ.) Ð ÑезÑлÑÑаÑе, без ÑеалÑного огÑаниÑениÑ
-биÑпоÑока, кодек иÑполÑзÑÐµÑ Ð½Ð°Ð¸Ð¼ÐµÐ½ÑÑий возможнÑй кванÑоваÑÐµÐ»Ñ Ð´Ð»Ñ
-каждого макÑоблока (как Ñказано опÑией
-<option>vqmin</option> длÑ
-<systemitem class="library">libavcodec</systemitem>, Ñавной 2 по ÑмолÑаниÑ).
-Ðак ÑолÑко ÐÑ ÑкажиÑе наÑÑолÑко низкий биÑпоÑок, ÑÑо кодек бÑдеÑ
-вÑнÑжден иÑполÑзоваÑÑ Ð±Ð¾Ð»ÐµÐµ вÑÑокий кванÑоваÑелÑ, ÐÑ Ð¿Ð¾ÑÑи навеÑнÑка
-иÑпоÑÑиÑе каÑеÑÑво ÐаÑего видео.
-ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑÑого, Ðам, веÑоÑÑно, пÑидÑÑÑÑ ÑменÑÑиÑÑ ÑазмеÑÑ
-ÐаÑего видео, ÑоглаÑно меÑодÑ, опиÑÐ°Ð½Ð½Ð¾Ð¼Ñ Ð´Ð°Ð»ÐµÐµ в ÑÑом ÑÑководÑÑве.
-РобÑем, Ðам ÑледÑÐµÑ Ð¸Ð·Ð±ÐµÐ³Ð°ÑÑ CBR ÑовÑем, еÑли ÐÑ Ð·Ð°Ð±Ð¾ÑиÑеÑÑ Ð¾ каÑеÑÑве.
-</para>
-
-<para>
-С поÑÑоÑннÑм кванÑоваÑелем кодек иÑполÑзÑÐµÑ Ð´Ð»Ñ Ð²ÑеÑ
макÑоблоков
-один и ÑÐ¾Ñ Ð¶Ðµ кванÑоваÑелÑ, ÑказаннÑй в опÑии
-<option>vqscale</option> (длÑ
-<systemitem class="library">libavcodec</systemitem>).
-ÐÑли ÐÑ Ñ
оÑиÑе Ñип наивÑÑÑего возможного каÑеÑÑва, Ñнова не взиÑаÑ
-на биÑпоÑок, ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ
-<option>vqscale=2</option>.
-ÐÑо пÑиведÑÑ Ðº ÑÐ¾Ð¼Ñ Ð¶Ðµ биÑпоÑÐ¾ÐºÑ Ð¸ PSNR (Ð¿Ð¸ÐºÑ Ð¾ÑноÑÐµÐ½Ð¸Ñ Ñигнала к ÑÑмÑ),
-ÑÑо и CBR Ñ
-<option>vbitrate</option>=беÑконеÑноÑÑи и знаÑением по ÑмолÑаниÑ
-<option>vqmin</option>, ÑавнÑм 2.
-</para>
-
-<para>
-ÐÑоблема Ñ Ð¿Ð¾ÑÑоÑннÑм кванÑованием заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо кодек иÑполÑзÑеÑ
-заданнÑй кванÑоваÑÐµÐ»Ñ Ð²Ð½Ðµ завиÑимоÑÑи Ð¾Ñ Ñого, ÑÑебÑеÑÑÑ ÑÑо длÑ
-макÑоблока или неÑ. То еÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзование болÑÑего кванÑоваÑелÑ
-Ð´Ð»Ñ Ð¼Ð°ÐºÑоблока без ÑÑ
ÑдÑÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð³Ð¾ каÑеÑÑва. ÐаÑем ÑÑаÑиÑÑ Ð±Ð¸ÑÑ Ð½Ð°
-излиÑне низкий кванÑоваÑелÑ? У ÐаÑего пÑоÑеÑÑоÑа еÑÑÑ ÑÑолÑко ÑакÑов,
-ÑколÑко еÑÑÑ Ð²Ñемени, но имееÑÑÑ Ð»Ð¸ÑÑ Ð¾Ð³ÑаниÑенное ÑиÑло биÑов на
-жÑÑÑком диÑке.
-</para>
-
-<para>
-ÐÑи двÑпÑоÑ
одном кодиÑовании пеÑвÑй пÑоÑ
од ÑоздаÑÑ Ñип ÑилÑма Ñак,
-как бÑдÑо ÑÑо бÑл CBR, но ÑоÑ
ÑÐ°Ð½Ð¸Ñ Ð»Ð¾Ð³ ÑвойÑÑв Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ кадÑа.
-ÐÑа инÑоÑмаÑÐ¸Ñ Ð·Ð°Ñем бÑÐ´ÐµÑ Ð¸ÑполÑзована во вÑÐµÐ¼Ñ Ð²ÑоÑого пÑоÑ
ода
-Ð´Ð»Ñ Ð¿ÑинÑÑÐ¸Ñ Ð¸Ð½ÑеллекÑÑалÑнÑÑ
ÑеÑений о Ñом, какой кванÑоваÑелÑ
-ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ. Ðо вÑÐµÐ¼Ñ Ð±ÑÑÑÑого Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ÑÑен Ñ
-вÑÑокой деÑализаÑией Ñ Ð±Ð¾Ð»ÑÑой веÑоÑÑноÑÑÑÑ Ð±ÑдÑÑ Ð¸ÑполÑзованÑ
-б<emphasis>о</emphasis>лÑÑие кванÑоваÑели, а во вÑÐµÐ¼Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ÑÑен
-Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ деÑализаÑией — менÑÑие.
-ÐбÑÑно колиÑеÑÑво Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð³ÑÐ°ÐµÑ ÑÑÑеÑÑвенно более важнÑÑ ÑолÑ,
-Ñем колиÑеÑÑво деÑалей.
-</para>
-
-<para>
-ÐÑли ÐÑ Ð¸ÑполÑзÑеÑе <option>vqscale=2</option>, Ñо ÐÑ ÑеÑÑеÑе биÑÑ.
-ÐÑли ÐÑ Ð¸ÑполÑзÑеÑе <option>vqscale=3</option>, Ñо ÐÑ Ð½Ðµ полÑÑаеÑе
-Ñип наивÑÑÑего каÑеÑÑва. ÐÑедположим, ÐÑ Ð´ÐµÐ»Ð°ÐµÑе Ñип DVD, иÑполÑзÑÑ
-<option>vqscale=3</option>, ÑезÑлÑÑÐ°Ñ Ð¿Ð¾Ð»ÑÑаеÑÑÑ 1800 ÐбиÑ.
-ÐÑли ÐÑ ÑделаеÑе двÑпÑоÑ
одное кодиÑование Ñ
-<option>vbitrate=1800</option>, полÑÑивÑееÑÑ Ð²Ð¸Ð´ÐµÐ¾ бÑÐ´ÐµÑ Ð¾Ð±Ð»Ð°Ð´Ð°ÑÑ
-<emphasis role="bold">лÑÑÑим каÑеÑÑвом</emphasis> длÑ
-<emphasis role="bold">Ñого же биÑпоÑока</emphasis>.
-</para>
-
-<para>
-ÐоÑле Ñого, как ÐÑ ÑейÑÐ°Ñ ÑбедилиÑÑ, ÑÑо два пÑоÑ
ода — ÑÑо пÑÑÑ
-к дейÑÑвиÑ, Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¾ Ñом, какой биÑпоÑок иÑполÑзоваÑÑ?
-ÐÑÐ²ÐµÑ Ñаков, ÑÑо Ð½ÐµÑ ÐµÐ´Ð¸Ð½Ð¾Ð³Ð¾ оÑвеÑа. Ридеале, ÐÑ Ñ
оÑиÑе вÑбÑаÑÑ
-биÑпоÑок, пÑи коÑоÑом доÑÑигаеÑÑÑ Ð½Ð°Ð¸Ð»ÑÑÑий Ð±Ð°Ð»Ð°Ð½Ñ Ð¼ÐµÐ¶Ð´Ñ ÐºÐ°ÑеÑÑвом
-и ÑазмеÑом Ñайла. ÐдеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð²Ð°ÑиаÑии в завиÑимоÑÑи оÑ
-иÑÑ
одного видеомаÑеÑиала.
-</para>
-
-<para>
-ÐÑли ÑÐ°Ð·Ð¼ÐµÑ Ð½Ðµ важен, Ñ
оÑоÑей оÑпÑавной ÑоÑкой Ð´Ð»Ñ Ñипа оÑÐµÐ½Ñ Ð²ÑÑокого
-каÑеÑÑва бÑÐ´ÐµÑ 2000 ÐÐ±Ð¸Ñ +/- 200 ÐбиÑ.
-ÐÐ»Ñ Ð²Ð¸Ð´ÐµÐ¾Ð¼Ð°ÑеÑиала Ñ Ð±ÑÑÑÑÑм движением или вÑÑокой деÑализаÑией
-или пÑоÑÑо еÑли Ñ ÐÐ°Ñ Ð¾ÑÐµÐ½Ñ ÑазбоÑÑивÑй глаз, ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ
-2400 или 2600.
-ÐÐ»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
DVD ÐÑ Ð½Ðµ замеÑиÑе ÑазниÑÑ Ð½Ð° 1400 ÐбиÑ. ХоÑоÑей идеей
-ÑвлÑеÑÑÑ ÑкÑпеÑименÑиÑование Ñо ÑÑенами на ÑазнÑÑ
биÑпоÑокаÑ
, ÑÑобÑ
-поÑÑвÑÑвоваÑÑ ÑазниÑÑ.
-</para>
-
-<para>
-ÐÑли ÐаÑей ÑелÑÑ ÑвлÑеÑÑÑ Ð¾Ð¿ÑеделÑннÑй ÑазмеÑ, Ðам нÑжно как-нибÑдÑ
-вÑÑиÑлиÑÑ Ð±Ð¸ÑпоÑок. Ðо пеÑед ÑÑим, Ðам нÑжно знаÑÑ, ÑколÑко меÑÑа
-нÑжно заÑезеÑвиÑоваÑÑ Ð¿Ð¾ аÑдио доÑожкÑ(и), Ñак ÑÑо Ðам необÑ
одимо
-ÑпеÑва <link linkend="menc-feat-dvd-mpeg4-audio">извлеÑÑ Ð¸Ñ
</link>.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑаÑÑÑиÑаÑÑ Ð±Ð¸ÑпоÑок Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑледÑÑÑей ÑоÑмÑлÑ:
-<systemitem>биÑпоÑок = (конеÑнÑй_ÑазмеÑ_в_ÐÐÐ°Ð¹Ñ - ÑазмеÑ_звÑка_в_ÐÐайÑ) *
-1024 * 1024 / длиÑелÑноÑÑÑ_в_ÑекÑндаÑ
* 8 / 1000</systemitem>.
-ÐапÑимеÑ, Ð´Ð»Ñ ÑжаÑÐ¸Ñ Ð´Ð²ÑÑ
ÑаÑового ÑилÑма в 702 ÐÐ CD, Ñ 60 ÐÐ
-аÑдио доÑожкой, биÑпоÑок видео должен ÑоÑÑавлÑÑÑ:
-<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
-= 740 кбиÑ/Ñек</systemitem>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-constraints">
-<title>ÐгÑаниÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑÑÑекÑивного кодиÑованиÑ</title>
-
-<para>
-Ðз-за оÑобенноÑÑей MPEG-подобного ÑжаÑиÑ, ÑÑÑеÑÑвÑÑÑ ÑазлиÑнÑе
-огÑаниÑениÑ, коÑоÑÑм ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑледоваÑÑ Ð´Ð»Ñ Ð´Ð¾ÑÑижениÑ
-макÑималÑного каÑеÑÑва.
-MPEG ÑÐ°Ð·Ð±Ð¸Ð²Ð°ÐµÑ Ð²Ð¸Ð´ÐµÐ¾ на квадÑаÑÑ 16Ñ
16, назÑваемÑе макÑоблоками.
-ÐаждÑй макÑоблок ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· 4 блоков 8Ñ
8 Ñ Ð¸Ð½ÑоÑмаÑией о лÑме
-(инÑенÑивноÑÑи) и двÑÑ
блоков 8Ñ
8 Ñ Ð¸Ð½ÑоÑмаÑией о Ñ
Ñоме (ÑвеÑе)
-половинного ÑазÑеÑÐµÐ½Ð¸Ñ (один Ð´Ð»Ñ ÐºÑаÑно-биÑÑзовой оÑи и дÑÑгой
-Ð´Ð»Ñ Ð¶ÑлÑо-голÑбой оÑи).
-Ðаже еÑли ÑиÑина и вÑÑоÑа ÐаÑего ÑилÑма не кÑаÑÐ½Ñ 16, кодеÑ
-вÑÑ Ñавно иÑполÑзÑÐµÑ Ð½Ñжное колиÑеÑÑво макÑоблоков 16Ñ
16 Ð´Ð»Ñ Ð¿Ð¾ÐºÑÑÑиÑ
-вÑей облаÑÑи каÑÑинки, дополниÑелÑÐ½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ Ð±ÑÐ´ÐµÑ Ð²Ð¿ÑÑÑÑÑ Ð¿Ð¾ÑÑаÑена.
-Так ÑÑо в инÑеÑеÑаÑ
макÑимизаÑии каÑеÑÑва пÑи ÑикÑиÑованном ÑазмеÑе
-Ñайла, не ÑÑÐ¾Ð¸Ñ Ð¸ÑполÑзоваÑÑ ÑазмеÑÑ, не кÑаÑнÑе 16.
-</para>
-
-<para>
-У болÑÑинÑÑва DVD Ñакже еÑÑÑ Ð¾Ð¿ÑеделÑнное подобие ÑÑÑнÑÑ
Ð¿Ð¾Ð»Ð¾Ñ Ð½Ð°
-кÑаÑÑ
. ÐÑли ÐÑ Ð¸Ñ
оÑÑавиÑе, ÑÑо можеÑ
-<emphasis role="bold">ÑилÑно</emphasis> повÑедиÑÑ ÐºÐ°ÑеÑÑво
-неÑколÑкими пÑÑÑми.
-</para>
-
-<orderedlist>
-<listitem>
- <para>
- MPEG-подобное ÑжаÑие оÑÐµÐ½Ñ ÑÑвÑÑвиÑелÑно к пÑеобÑазованиÑм
- ÑаÑÑоÑнÑÑ
инÑеÑвалов, в ÑаÑÑноÑÑи, к диÑкÑеÑÐ½Ð¾Ð¼Ñ ÐºÐ¾ÑинÑÑномÑ
- пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ (DCT), коÑоÑое аналогиÑно пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¤ÑÑÑе.
- ÐÑÐ¾Ñ Ð²Ð¸Ð´ ÑжаÑÐ¸Ñ ÑÑÑекÑивен Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ñазов и ÑглаженнÑÑ
- пеÑеÑ
одов, но Ñ Ð½ÐµÐ³Ð¾ возникаÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð¾ÑÑÑÑми кÑаÑми.
- ÐÐ»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑледниÑ
Ðам нÑжно гоÑаздо болÑÑе биÑов, а инаÑе
- Ñ ÐÐ°Ñ Ð¿Ð¾ÑвиÑÑÑ Ð°ÑÑеÑакÑ, извеÑÑнÑй как оÑеолÑ.
- </para>
-
- <para>
- ЧаÑÑоÑнÑе пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ (DCT) вÑполнÑÑÑÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾
- макÑоблока (на Ñамом деле, Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ блока), Ñак ÑÑо ÑÑа пÑоблема
- Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ ÑолÑко в ÑлÑÑае Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ Ð¾ÑÑÑого кÑÐ°Ñ Ð²Ð½ÑÑÑÑ Ð±Ð»Ð¾ÐºÐ°.
- ÐÑли ÐаÑи ÑÑÑнÑе Ð¿Ð¾Ð»Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑÑ ÑоÑно на гÑаниÑаÑ
, кÑаÑнÑÑ
16
- пикÑелÑм, ÑÑо не пÑоблема.
- Ðднако, ÑÑÑнÑе полоÑÑ Ð½Ð° DVD Ñедко Ñ
оÑоÑо ÑаÑположенÑ, Ñак ÑÑо
- на пÑакÑике Ðам вÑегда пÑидÑÑÑÑ ÑÑекаÑÑ ÑÑоÑÐ¾Ð½Ñ Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ
- ÑÑиÑ
пÑоблем.
- </para>
-</listitem>
-</orderedlist>
-
-<para>
-Рдополнение к пÑеобÑазованиÑм ÑаÑÑоÑнÑÑ
инÑеÑвалов, MPEG-подобное
-ÑжаÑие иÑполÑзÑÐµÑ Ð²ÐµÐºÑоÑÑ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ оÑ
-одного кадÑа к дÑÑгомÑ. ÐекÑоÑÑ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ, еÑÑеÑÑвенно, ÑабоÑаÑÑ
-ÑÑÑеÑÑвенно менее ÑÑÑекÑивно Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ
обÑекÑов, идÑÑиÑ
оÑ
-кÑаÑв каÑÑинки, поÑколÑÐºÑ Ð¾Ð½Ð¸ оÑÑÑÑÑÑвÑÑÑ Ð² пÑедÑдÑÑиÑ
кадÑаÑ
.
-Ðока каÑÑинка пÑоÑÑиÑаеÑÑÑ Ð²Ð¿Ð»Ð¾ÑÑ Ð´Ð¾ кÑÐ°Ñ ÐºÐ¾Ð´Ð¸ÑÑемой облаÑÑи,
-Ñ Ð²ÐµÐºÑоÑов Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð¿Ñоблем Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸ÐµÐ¼ обÑекÑов
-за пÑÐµÐ´ÐµÐ»Ñ ÐºÐ°ÑÑинки. Ðднако, пÑи налиÑии ÑеÑнÑÑ
полей
-могÑÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑÑ Ð¿ÑоблемÑ:
-</para>
-
-<orderedlist continuation="continues">
-<listitem>
- <para>
- ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ макÑоблока MPEG-подобное ÑжаÑие ÑоÑ
ÑанÑÐµÑ Ð²ÐµÐºÑоÑ,
- опÑеделÑÑÑий ÐºÐ°ÐºÐ°Ñ ÑаÑÑÑ Ð¿ÑедÑдÑÑего кадÑа должна бÑÑÑ ÑкопиÑована
- в ÑÑÐ¾Ñ Ð¼Ð°ÐºÑоблок как оÑнова Ð´Ð»Ñ Ð¿ÑедÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑледÑÑÑего кадÑа.
- ÐодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð¸Ñ ÑолÑко оÑÑавÑаÑÑÑ ÑазноÑÑÑ. ÐÑли макÑоблок
- пÑоÑÑиÑаеÑÑÑ Ð´Ð¾ кÑÐ°Ñ ÐºÐ°ÑÑинки и ÑодеÑÐ¶Ð¸Ñ ÑаÑÑÑ ÑÑÑной полоÑÑ,
- Ñо векÑоÑÑ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð´ÑÑгиÑ
ÑаÑÑей каÑÑинки пеÑепиÑÑÑ ÑÑÑнÑÑ Ð¿Ð¾Ð»Ð¾ÑÑ.
- ÐÑо ознаÑаеÑ, ÑÑо много биÑов нÑжно поÑÑаÑиÑÑ Ð»Ð¸Ð±Ð¾ на повÑоÑное
- ÑеÑнение пеÑепиÑанной полоÑÑ, либо (ÑÑо более веÑоÑÑно) векÑоÑ
- Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ бÑÐ´ÐµÑ Ð¸ÑполÑзован вовÑе и вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑÑого
- макÑоблока бÑдÑÑ Ñвно кодиÑованÑ. Так или инаÑе, ÑÑÑекÑивноÑÑÑ
- кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑÑеÑÑвенно ÑменÑÑаеÑÑÑ.
- </para>
-
- <para>
- ÐÑÑ Ñаз, ÑÑа пÑоблема Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ ÑолÑко в ÑлÑÑае, еÑли ÑÑÑнÑе полоÑÑ
- не ÑкладÑваÑÑÑÑ Ð² гÑаниÑÑ, кÑаÑнÑе 16.
- </para>
-</listitem>
-
-<listitem>
- <para>
- ÐаконеÑ, пÑедположим, ÑÑо Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð½Ð°Ñ
одÑÑийÑÑ Ð²Ð½ÑÑÑи каÑÑинки
- макÑоблок и обÑÐµÐºÑ Ð´Ð²Ð¸Ð¶ÐµÑÑÑ Ð² ÑÑÐ¾Ñ Ð±Ð»Ð¾Ðº Ð¾Ñ ÐºÑÐ°Ñ Ð¸Ð·Ð¾Ð±ÑажениÑ.
- MPEG-подобное кодиÑование не Ð¼Ð¾Ð¶ÐµÑ ÑказаÑÑ "ÑкопиÑÑй ÑÑ ÑаÑÑÑ,
- ÑÑо внÑÑÑи каÑÑинки, но не ÑÑÑнÑÑ Ð¿Ð¾Ð»Ð¾ÑÑ". Так ÑÑо ÑÑÑÐ½Ð°Ñ Ð¿Ð¾Ð»Ð¾Ñа
- Ñакже бÑÐ´ÐµÑ ÑкопиÑована внÑÑÑÑ, в ÑезÑлÑÑаÑе Ñего маÑÑа биÑов
- бÑÐ´ÐµÑ Ð¿Ð¾ÑÑаÑена на кодиÑование ÑаÑÑи изобÑажениÑ, коÑоÑое должно
- бÑÑÑ Ð½Ð° меÑÑе полоÑÑ.
- </para>
-
- <para>
- ÐÐ»Ñ ÑлÑÑаев, когда вÑÑ Ð¸Ð·Ð¾Ð±Ñажение движеÑÑÑ Ðº кÑÐ°Ñ ÐºÐ¾Ð´Ð¸ÑÑемой
- облаÑÑи, Ñ MPEG еÑÑÑ ÑпеÑиалÑнÑе опÑимизаÑии Ð´Ð»Ñ Ð¿Ð¾Ð²ÑоÑÑÑÑегоÑÑ
- копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¸ÐºÑелей к кÑÐ°Ñ ÐºÐ°ÑÑинки, когда векÑÐ¾Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ
- идÑÑ Ð¸Ð·Ð²Ð½Ðµ облаÑÑи кодиÑованиÑ. ÐÑа возможноÑÑÑ ÑÑановиÑÑÑ
- беÑполезной, еÑли Ñ ÑилÑма еÑÑÑ ÑÑÑнÑе полоÑÑ. РоÑлиÑии оÑ
- ÑлÑÑаев 1 и 2, вÑÑавнивание гÑÐ°Ð½Ð¸Ñ Ð´Ð¾ кÑаÑноÑÑи 16 здеÑÑ
- не поможеÑ.
- </para>
-</listitem>
-
-<listitem><para>
- ÐеÑмоÑÑÑ Ð½Ð° Ñо, ÑÑо гÑаниÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ ÑÑÑнÑе и никогда не изменÑÑÑÑÑ,
- ÑÑÑеÑÑвÑÑÑ, как минимÑм, опÑеделÑннÑе накладнÑе ÑаÑÑ
одÑ, ÑвÑзаннÑе
- Ñ Ð½Ð°Ð»Ð¸Ñием болÑÑего ÑиÑла макÑоблоков.
-</para></listitem>
-</orderedlist>
-
-<para>
-ÐлагодаÑÑ Ð²Ñем ÑÑим пÑиÑинам, ÑекомендÑеÑÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ ÑÑезаÑÑ
-ÑÑÑнÑе полоÑÑ. Ðолее Ñого, еÑли еÑÑÑ Ð¾Ð±Ð»Ð°ÑÑи ÑÑмов/иÑкажений
-на кÑаÑÑ
каÑÑинки, Ñо иÑ
ÑÑезание Ñакже поÑпоÑобÑÑвÑÐµÑ ÑлÑÑÑениÑ
-каÑеÑÑва кодиÑованиÑ. ÐидеоÑилÑ, желаÑÑие ÑоÑ
ÑаниÑÑ Ð¾Ñигинал как
-можно более ÑоÑно, могÑÑ Ð²Ð¾Ð·ÑажаÑÑ Ð¿ÑоÑив Ñакого ÑÑеÑениÑ; но
-еÑли ÐÑ Ð½Ðµ планиÑÑеÑе кодиÑоваÑÑ Ð¿Ñи поÑÑоÑнном кванÑоваÑеле,
-каÑеÑÑво, полÑÑенное пÑи ÑÑеÑении, ÑÑÑеÑÑвенно пÑевÑÑÐ¸Ñ Ð¿Ð¾ÑеÑи
-инÑоÑмаÑии на кÑаÑÑ
.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>УÑеÑение и маÑÑÑабиÑование</title>
-
-<para>
-ÐÑпомниÑе из пÑедÑдÑÑего Ñаздела, ÑÑо конеÑнÑй ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°ÑÑинки,
-подлежаÑей кодиÑованиÑ, должен бÑÑÑ ÐºÑаÑен 16 (как вÑÑоÑа, Ñак
-и ÑиÑина). ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð¾ÑÑигнÑÑо ÑÑеÑением, маÑÑÑабиÑованием
-или комбинаÑией Ñого и дÑÑгого.
-</para>
-
-<para>
-ÐÑÑÑ Ð½ÐµÑколÑко ÑекомендаÑий Ð´Ð»Ñ ÑÑеÑениÑ, коÑоÑÑм необÑ
одимо ÑледоваÑÑ
-Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð²ÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÑилÑма.
-ÐбÑÑнÑй ÑоÑÐ¼Ð°Ñ YUV, 4:2:0, ÑоÑ
ÑанÑÐµÑ ÑвеÑноÑÑÑ (инÑоÑмаÑÐ¸Ñ Ð¾ ÑвеÑе)
-половинной диÑкÑеÑизаÑии, Ñ.е. ÑвеÑноÑÑÑ ÑоÑ
ÑанÑеÑÑÑ Ð² два Ñаза Ñеже
-в каждом напÑавлении, Ñем ÑÑкоÑÑноÑÑÑ (инÑоÑмаÑÐ¸Ñ Ð¾Ð± инÑенÑивноÑÑи).
-РаÑÑмоÑÑиÑе ÑледÑÑÑÑÑ Ð´Ð¸Ð°Ð³ÑаммÑ, где L обознаÑÐ°ÐµÑ ÑоÑки диÑкÑеÑизаÑии
-ÑÑкоÑÑноÑÑи и C — ÑвеÑноÑÑи.
-</para>
-
-<informaltable>
-<?dbhtml table-width="40%" ?>
-<?dbfo table-width="40%" ?>
-<tgroup cols="8" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Ðак ÐÑ Ð²Ð¸Ð´Ð¸Ñе, ÑÑÑоки и ÑÑолбÑÑ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÐµÑÑеÑÑвеннÑм обÑазом
-идÑÑ Ð² паÑаÑ
. ÐоÑÑÐ¾Ð¼Ñ ÑмеÑÐµÐ½Ð¸Ñ Ð¸ ÑазмеÑÑ ÑÑеÑениÑ
-<emphasis>должнÑ</emphasis> бÑÑÑ ÑÑÑнÑми ÑиÑлами.
-ÐнаÑе ÑвеÑноÑÑÑ Ð¿ÐµÑеÑÑÐ°Ð½ÐµÑ Ð¿ÑавилÑно ÑооÑвеÑÑÑвоваÑÑ ÑÑкоÑÑноÑÑи.
-ТеоÑеÑиÑеÑки возможно ÑÑеÑение Ñ Ð½ÐµÑÑÑнÑми ÑмеÑениÑми, но оно
-поÑÑебÑÐµÑ Ð¿ÐµÑекванÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑвеÑноÑÑи, ÑÑо поÑенÑиалÑно ÑвлÑеÑÑÑ
-опеÑаÑией Ñ Ð¿Ð¾ÑеÑей каÑеÑÑва и не поддеÑживаеÑÑÑ ÑилÑÑÑом
-ÑÑеÑÐµÐ½Ð¸Ñ ÑÑоÑон crop.
-</para>
-
-<para>
-Ðолее Ñого, видео Ñ ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой диÑкÑеÑизиÑÑеÑÑÑ
-ÑледÑÑÑим обÑазом:
-</para>
-
-<informaltable>
-<?dbhtml table-width="80%" ?>
-<?dbfo table-width="80%" ?>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
-<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
-<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
-<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
-<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">ÐеÑÑ
нее поле</entry>
- <entry namest="col9" nameend="col16">Ðижнее поле</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-Ðак ÐÑ Ð²Ð¸Ð´Ð¸Ñе, ÑÑÑÑкÑÑÑа повÑоÑÑеÑÑÑ ÑолÑко поÑле 4 ÑÑÑок.
-Так ÑÑо Ð´Ð»Ñ ÑеÑеÑÑÑÑоÑного видео ÐаÑе y-ÑмеÑение и вÑÑоÑа
-ÑÑеÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÐºÑаÑÐ½Ñ 4.
-</para>
-
-<para>
-ÐÑÑеÑÑвеннÑе ÑазÑеÑÐµÐ½Ð¸Ñ DVD ÑоÑÑавлÑÑÑ 720x480 Ð´Ð»Ñ NTSC и 720x576
-Ð´Ð»Ñ PAL, но ÑÑÑеÑÑвÑÐµÑ Ñлаг ÑооÑноÑÐµÐ½Ð¸Ñ ÑÑоÑон, коÑоÑÑй ÑказÑваеÑ
-ÑвлÑеÑÑÑ Ð»Ð¸ видео полноÑкÑаннÑм (4:3) или ÑиÑокоÑкÑаннÑм (16:9).
-Ðногие (еÑли не болÑÑинÑÑво) ÑиÑокоÑкÑаннÑÑ
DVD не ÑоÑно ÑооÑвеÑÑÑвÑÑÑ
-ÑоÑмаÑÑ 16:9 и могÑÑ Ð±ÑÑÑ ÐºÐ°Ðº 1.85:1, Ñак и 2.35:1 (кинемаÑогÑаÑиÑеÑкий ÑоÑмаÑ).
-ÐÑо ознаÑаеÑ, ÑÑо в видео бÑдÑÑ ÑÑÑнÑе полоÑÑ, коÑоÑÑе нÑжно ÑÑеÑÑ.
-</para>
-
-<para>
-<application>MPlayer</application> пÑедоÑÑавлÑÐµÑ ÑилÑÑÑ Ð¾Ð±Ð½Ð°ÑÑжениÑ
-ÑÑеÑениÑ, коÑоÑÑй опÑеделÑÐµÑ Ð¿ÑÑмоÑголÑник, до коÑоÑго нÑжно ÑÑеÑÑ
-(<option>-vf cropdetect</option>).
-ÐапÑÑÑиÑе <application>MPlayer</application> Ñ
-<option>-vf cropdetect</option> и он вÑдаÑÑ Ð½Ð°ÑÑÑойки
-ÑÑеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹.
-С ÑелÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑоÑнÑÑ
паÑамеÑÑов ÑÑеÑениÑ, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑоигÑÑваÑÑ
-ÑилÑм доÑÑаÑоÑно долго Ð´Ð»Ñ Ñого, ÑÑоб бÑла иÑполÑзована вÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ
-изобÑажениÑ.
-</para>
-
-<para>
-ÐаÑем пÑовеÑÑÑе знаÑениÑ, полÑÑеннÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<application>MPlayer</application>, иÑполÑзÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑÑ ÑÑÑокÑ,
-вÑведеннÑÑ <option>cropdetect</option>, и подÑÑÑойÑе пÑÑмоÑголÑник
-пÑи необÑ
одимоÑÑи.
-ФилÑÑÑ <option>rectangle</option> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½, позволив
-Ðам инÑеÑакÑивно менÑÑÑ Ð¿ÑÑмоÑголÑник ÑÑеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐаÑего ÑилÑма.
-Ðе забÑвайÑе ÑледоваÑÑ ÑказаннÑм вÑÑе ÑÑководÑÑвам по делимоÑÑи,
-ÑÑÐ¾Ð±Ñ Ð½Ðµ иÑпоÑÑиÑÑ Ð²ÑÑавнивание ÑвеÑноÑÑи.
-</para>
-
-<para>
-Ð ÑÑде ÑлÑÑаев маÑÑÑабиÑование Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ¶ÐµÐ»Ð°ÑелÑнÑм.
-ÐаÑÑÑабиÑование по веÑÑикалÑÐ½Ð¾Ð¼Ñ Ð½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°ÑÑÑднено длÑ
-ÑеÑеÑÑÑÑоÑного видео, и еÑли ÐÑ Ñ
оÑиÑе ÑоÑ
ÑаниÑÑ ÑеÑеÑÑÑÑоÑноÑÑÑ,
-Ðам, как пÑавило, бÑÐ´ÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимо воздеÑживаÑÑÑÑ Ð¾Ñ Ð¼Ð°ÑÑÑабиÑованиÑ.
-ÐÑли ÐÑ Ð½Ðµ бÑдеÑе маÑÑÑабиÑоваÑÑ, но вÑÑ ÐµÑÑ Ð¶ÐµÐ»Ð°ÐµÑе ÑазмеÑÑ,
-кÑаÑнÑе 16, Ñо Ðам пÑидÑÑÑÑ Ð¿ÑоводиÑÑ Ð¸Ð·Ð»Ð¸Ñнее ÑÑеÑение.
-Ðе пÑоводиÑе неполное ÑÑеÑение, поÑколÑÐºÑ ÑÑÑнÑе полоÑÑ Ð¾ÑенÑ
-плоÑ
и Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ!
-</para>
-
-<para>
-ÐоÑколÑÐºÑ MPEG-4 иÑполÑзÑÐµÑ Ð¼Ð°ÐºÑоблоки 16Ñ
16, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑбедиÑÑÑÑ,
-ÑÑо каждое измеÑение кодиÑÑемого видео кÑаÑно 16; инаÑе ÐÑ ÑÑ
ÑдÑиÑе
-каÑеÑÑво, оÑобенно на малÑÑ
биÑпоÑокаÑ
. ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑделаÑÑ ÑÑо,
-окÑÑглив ÑиÑÐ¸Ð½Ñ Ð¸ вÑÑоÑÑ Ð¿ÑÑмоÑголÑника ÑÑеÑÐµÐ½Ð¸Ñ Ð´Ð¾ ближайÑего
-менÑÑего Ñелого, кÑаÑного 16.
-Ðак Ñказано вÑÑе, пÑи ÑÑеÑении Ðам необÑ
одимо ÑвелиÑиÑÑ ÑмеÑение по
-Y на Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ ÑазноÑÑи ÑÑаÑой и новой вÑÑоÑÑ, Ñак ÑÑо полÑÑенное
-видео бÑÐ´ÐµÑ Ð±ÑаÑÑÑÑ Ð¸Ð· ÑенÑÑа кадÑа.
-Риз-за ÑпоÑоба диÑкÑеÑизаÑии DVD видео, ÑбедиÑеÑÑ, ÑÑо ÑмеÑение
-еÑÑÑ ÑÑÑное ÑиÑло. (ФакÑиÑеÑки, возÑмиÑе за пÑавило никогда не
-иÑполÑзоваÑÑ Ð½ÐµÑÑÑнÑе велиÑÐ¸Ð½Ñ Ð´Ð»Ñ Ð»ÑбÑÑ
паÑамеÑÑов ÑÑеÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸
-маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾.) ÐÑли ÐÑ Ð±ÐµÑпокоиÑеÑÑ Ð¸Ð·-за неÑколÑкиÑ
-излиÑне оÑбÑоÑеннÑÑ
биÑов, возможно, ÐÑ Ð¿ÑедпоÑÑÑÑе взамен
-маÑÑÑабиÑоваÑÑ Ð²Ð¸Ð´ÐµÐ¾. ÐÑ ÑаÑÑмоÑÑим ÑÑо ниже в наÑем пÑимеÑе.
-РдейÑÑвиÑелÑноÑÑи, ÐÑ Ð¼Ð¾Ð¶ÐµÑе довеÑиÑÑ ÑилÑÑÑÑ
-<option>cropdetect</option> ÑделаÑÑ Ð´Ð»Ñ ÐÐ°Ñ Ð²ÑÑ Ð²ÑÑеÑпомÑнÑÑое,
-Ñ.к. Ñ Ð½ÐµÐ³Ð¾ еÑÑÑ Ð½ÐµÐ¾Ð±ÑзаÑелÑнÑй паÑамеÑÑ Ð¾ÐºÑÑглениÑ
-<option>round</option>, ÑавнÑй 16 по ÑмолÑаниÑ.
-</para>
-
-<para>
-Также бÑдÑÑе оÑÑоÑÐ¾Ð¶Ð½Ñ Ñ "полÑÑÑмнÑми" пикÑелÑми на кÑаÑÑ
. УбедиÑеÑÑ,
-ÑÑо они Ñоже оÑÑезаÑÑÑÑ, инаÑе ÐÑ Ð±ÑдеÑе ÑÑаÑиÑÑ Ð±Ð¸ÑÑ, коÑоÑÑм еÑÑÑ
-лÑÑÑее пÑименение.
-</para>
-
-<para>
-ÐоÑле вÑего вÑÑе Ñказанного и Ñделанного, ÐÑ, веÑоÑÑно, полÑÑиÑе
-видео не ÑоÑно ÑоÑмаÑа 1:85.1 или 2.35:1, а Ñ Ñем-Ñо близким
-к ÑÑомÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе вÑÑиÑлиÑÑ Ð½Ð¾Ð²Ñй коÑÑÑиÑÐ¸ÐµÐ½Ñ ÑооÑноÑениÑ
-ÑÑоÑон вÑÑÑнÑÑ, но <application>MEncoder</application>
-пÑедоÑÑавлÑÐµÑ Ð¾Ð¿ÑÐ¸Ñ Ð´Ð»Ñ <systemitem class="library">libavcodec</systemitem>,
-назÑваемÑÑ <option>autoaspect</option>, коÑоÑÐ°Ñ ÑÐ´ÐµÐ»Ð°ÐµÑ ÑÑо длÑ
-ÐаÑ. Ðи в коем ÑлÑÑае не ÑвелиÑивайÑе ÑÐ°Ð·Ð¼ÐµÑ ÑÑого видео Ñ ÑелÑÑ
-квадÑаÑизаÑии пикÑелей, еÑли ÐÑ Ð½Ðµ желаеÑе впÑÑÑÑÑ Ð¿Ð¾ÑÑаÑиÑÑ
-меÑÑо на жÑÑÑком диÑке.
-ÐаÑÑÑабиÑование должно вÑполнÑÑÑÑÑ Ð¿Ñи воÑпÑоизведении, и плееÑ
-иÑполÑзÑÐµÑ ÐºÐ¾ÑÑÑиÑÐ¸ÐµÐ½Ñ ÑооÑноÑÐµÐ½Ð¸Ñ ÑÑоÑон, ÑоÑ
ÑанÑннÑй в AVI, длÑ
-опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑавилÑного ÑазÑеÑениÑ.
-Ð ÑожалениÑ, не вÑе плееÑÑ Ð¸ÑполÑзÑÑÑ ÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð°Ð²ÑомаÑÑÑабиÑованиÑ,
-поÑÑÐ¾Ð¼Ñ Ðам вÑÑ ÐµÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ¾Ð±Ñ
одимо пеÑемаÑÑÑабиÑование.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>ÐÑÐ±Ð¾Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸ биÑпоÑока</title>
-
-<para>
-ÐÑли ÐÑ Ð½Ðµ ÑобиÑаеÑеÑÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ Ð² Ñежиме поÑÑоÑнного кванÑоваÑелÑ,
-Ðам нÑжно вÑбÑаÑÑ Ð±Ð¸ÑпоÑок.
-ÐонÑÑие биÑпоÑока оÑÐµÐ½Ñ Ð¿ÑоÑÑо: ÑÑо ÑÑеднее ÑиÑло биÑов, коÑоÑÑе
-бÑдÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐаÑего ÑилÑма, в ÑекÑндÑ.
-ÐбÑÑно биÑпоÑок измеÑÑеÑÑÑ Ð² килобиÑаÑ
(1000 биÑ) в ÑекÑндÑ.
-Ð Ð°Ð·Ð¼ÐµÑ ÐаÑего ÑилÑма на диÑке еÑÑÑ Ð±Ð¸ÑпоÑок, ÑмноженнÑй на
-длиÑелÑноÑÑÑ ÑилÑма, плÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑие накладнÑе ÑаÑÑ
одÑ
-(Ñм. Ñаздел
-<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">конÑÐµÐ¹Ð½ÐµÑ AVI</link>
-Ð´Ð»Ñ Ð¿ÑимеÑа).
-ÐÑÑалÑнÑе паÑамеÑÑÑ, Ñакие как маÑÑÑабиÑование, ÑÑеÑение и Ñ.п.
-<emphasis role="bold">не</emphasis> изменÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ñайла, пока
-ÐÑ Ñакже не измениÑе биÑпоÑок!
-</para>
-
-<para>
-ÐиÑпоÑок изменÑеÑÑÑ <emphasis role="bold">не</emphasis>
-пÑопоÑÑионалÑно ÑазÑеÑениÑ.
-То еÑÑÑ Ñайл ÑазÑеÑением 320Ñ
240 Ñ 200 кбиÑ/Ñек не бÑдеÑ
-Ñого же каÑеÑÑва, ÑÑо ÑÑÐ¾Ñ Ð¶Ðµ ÑилÑм ÑазÑеÑением 640Ñ
480
-и 800 кбиÑ/Ñек!
-ÐÐ»Ñ ÑÑого еÑÑÑ Ð´Ð²Ðµ пÑиÑинÑ:
-<orderedlist>
-<listitem><para>
- <emphasis role="bold">ÐоÑпÑиÑÑие</emphasis>: ÐÑ ÑилÑнее
- замеÑаеÑе MPEG аÑÑеÑакÑÑ, еÑли они болÑÑе!
- ÐÑÑеÑакÑÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑÑ Ð½Ð° маÑÑÑабе блоков (8Ñ
8).
- ÐÐ°Ñ Ð³Ð»Ð°Ð· не ÑÐ²Ð¸Ð´Ð¸Ñ Ð¾Ñибки в 4800 маленÑкиÑ
блоков Ñак же
- легко, как и в 1200 болÑÑиÑ
блоков (пÑедполагаÑ
- маÑÑÑабиÑование обоиÑ
ÑилÑмов на полнÑй ÑкÑан).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ТеоÑеÑиÑеÑкаÑ</emphasis>: Ðогда ÐÑ
- ÑменÑÑаеÑе ÑÐ°Ð·Ð¼ÐµÑ Ð¸Ð·Ð¾Ð±ÑажениÑ, но пÑодолжаеÑе иÑполÑзоваÑÑ
- блоки Ñого же ÑазмеÑа (8Ñ
8) Ð´Ð»Ñ Ð¿ÑоÑÑÑанÑÑвеннÑÑ
ÑаÑÑоÑнÑÑ
- пÑеобÑазований, ÐÑ Ð¿ÐµÑемеÑаеÑе болÑÑе даннÑÑ
в вÑÑокоÑаÑÑоÑнÑе
- полоÑÑ. ÐÑÑбо говоÑÑ, каждÑй пикÑÐµÐ»Ñ ÑодеÑÐ¶Ð¸Ñ Ð±Ð¾Ð»ÑÑе деÑалей,
- Ñем ÑанÑÑе.
- Так ÑÑо неÑмоÑÑÑ Ð½Ð° Ñо, ÑÑо ÐаÑа каÑÑинка Ñ ÑменÑÑеннÑм
- маÑÑÑабом ÑодеÑÐ¶Ð¸Ñ 1/4 инÑоÑмаÑии в пÑоÑÑÑанÑÑвеннÑÑ
напÑавлениÑÑ
,
- она вÑÑ ÐµÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð±Ð¾Ð»ÑÑÐ£Ñ ÑаÑÑÑ Ð¸Ð½ÑоÑмаÑии в
- ÑаÑÑоÑнÑÑ
инÑеÑвалаÑ
(пÑедполагаÑ, ÑÑо вÑÑокие ÑаÑÑоÑÑ Ð±Ñли
- не иÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð² оÑигиналÑном 640Ñ
480 изобÑажении).
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-ÐоÑледние ÑÑководÑÑва Ñекомендовали вÑÐ±Ð¾Ñ Ð±Ð¸ÑпоÑока и ÑазÑеÑениÑ,
-оÑновÑваÑÑÑ Ð½Ð° пÑиближении "Ð±Ð¸Ñ Ð½Ð° пикÑелÑ", но ÑÑо обÑÑно не
-веÑно из-за ÑпомÑнÑÑÑÑ
вÑÑе пÑиÑин.
-ÐоÑ
оже, лÑÑÑей оÑенкой ÑвлÑеÑÑÑ ÑоÑÑ Ð±Ð¸ÑпоÑока пÑопоÑÑионалÑно
-квадÑаÑÐ½Ð¾Ð¼Ñ ÐºÐ¾ÑÐ½Ñ ÑазÑеÑениÑ, Ñак ÑÑо 320Ñ
240 и 400 кбиÑ/Ñек
-должно бÑÑÑ ÑÑавнимо Ñ 640Ñ
480 и 800 кбиÑ/Ñек.
-Ðднако, ÑÑо не бÑло ÑÑÑого пÑовеÑено ÑеоÑеÑиÑеÑки или ÑмпиÑиÑеÑки.
-ÐÑоме Ñого, из-за ÑÑÑеÑÑвенного оÑлиÑÐ¸Ñ ÑилÑмов по ÑÑÐ¾Ð²Ð½Ñ ÑÑма,
-деÑалей, колиÑеÑÑва Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸ Ñ.п., ÑÑеÑно даваÑÑ Ð¾Ð±Ñие ÑекомендаÑии
-Ð´Ð»Ñ "биÑов на Ð´Ð»Ð¸Ð½Ñ Ð´Ð¸Ð°Ð³Ð¾Ð½Ð°Ð»Ð¸" (аналог биÑов на пикÑелÑ, иÑполÑзÑÑ
-квадÑаÑнÑй коÑенÑ).
-</para>
-
-<para>
-Таким обÑазом, Ð¼Ñ Ð¾Ð±ÑÑдили ÑложноÑÑÑ Ð²ÑбоÑа биÑпоÑока и ÑазÑеÑениÑ.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-<title>РаÑÑÑÑ ÑазÑеÑениÑ</title>
-
-<para>
-СледÑÑÑие Ñаги помогÑÑ Ðам ÑаÑÑÑиÑаÑÑ ÑазÑеÑение Ð´Ð»Ñ ÐаÑего
-кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±ÐµÐ· ÑлиÑком ÑилÑного иÑÐºÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾, ÑÑиÑÑваÑ
-неÑколÑко видов инÑоÑмаÑии об иÑÑ
одном видео.
-ÐÑежде вÑего, Ðам необÑ
одимо ÑаÑÑÑиÑаÑÑ ÐºÐ¾ÑÑÑиÑÐ¸ÐµÐ½Ñ ÑооÑноÑениÑ
-ÑÑоÑон Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸Ñованного видео:
-<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
-
-<itemizedlist>
-<title>где:</title>
-<listitem><para>
- Wc и Hc — ÑиÑина и вÑÑоÑа ÑÑеÑÑнного видео,
-</para></listitem>
-<listitem><para>
- ARa — коÑÑÑиÑÐ¸ÐµÐ½Ñ ÑооÑноÑÐµÐ½Ð¸Ñ ÑÑоÑон изобÑажениÑ, обÑÑно 4/3 или 16/9,
-</para></listitem>
-<listitem><para>
- PRdvd — оÑноÑение пикÑелей DVD, ÑÑо Ñавно 1.25=(720/576) Ð´Ð»Ñ PAL
- DVD и 1.5=(720/480) Ð´Ð»Ñ NTSC DVD.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-ÐаÑем ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑаÑÑÑиÑаÑÑ ÑазÑеÑение по X и Y, ÑоглаÑно опÑеделÑнномÑ
-ÑакÑоÑÑ ÐºÐ°ÑеÑÑва ÑжаÑÐ¸Ñ (CQ):
-<systemitem>ResY = INT(SQRT( 1000*ÐиÑпоÑок/25/ARc/CQ )/16) * 16</systemitem>
-и <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>.
-</para>
-
-<para>
-ХоÑоÑо, но ÑÑо Ñакое CQ?
-CQ ÑооÑвеÑÑÑвÑÐµÑ ÑиÑÐ»Ñ Ð±Ð¸Ñов на пикÑÐµÐ»Ñ Ð¸ на ÐºÐ°Ð´Ñ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ.
-ÐÑÑбо говоÑÑ, Ñем болÑÑе CQ, Ñем менÑÑе веÑоÑÑноÑÑÑ ÑвидеÑÑ
-аÑÑеÑакÑÑ ÐºÐ¾Ð´Ð¸ÑованиÑ.
-Ðднако, еÑли Ñ ÐÐ°Ñ ÐµÑÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñй ÑÐ°Ð·Ð¼ÐµÑ Ð´Ð»Ñ ÐаÑего ÑилÑма
-(напÑимеÑ, 1 или 2 CD), еÑÑÑ Ð¾Ð³ÑаниÑенное обÑее ÑиÑло биÑов,
-коÑоÑÑе ÐÑ Ð¼Ð¾Ð¶ÐµÑе поÑÑаÑиÑÑ; поÑÑÐ¾Ð¼Ñ Ð²Ð°Ð¶Ð½Ð¾ найÑи Ñ
оÑоÑий
-компÑомиÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑжимаемоÑÑÑÑ Ð¸ каÑеÑÑвом.
-</para>
-
-<para>
-CQ завиÑÐ¸Ñ Ð¾Ñ Ð±Ð¸ÑпоÑока, ÑÑÑекÑивноÑÑи видеокодека и ÑазÑеÑÐµÐ½Ð¸Ñ ÑилÑма.
-ÐбÑÑно, в ÑелÑÑ
ÑвелиÑÐµÐ½Ð¸Ñ CQ, Ðам нÑжно бÑÐ´ÐµÑ ÑменÑÑиÑÑ ÑазмеÑ
-ÑилÑма, пÑи ÑÑловии, ÑÑо биÑпоÑок, вÑÑиÑленнÑй как ÑÑнкÑÐ¸Ñ ÐºÐ¾Ð½ÐµÑного
-ÑазмеÑа, и длина ÑилÑма поÑÑоÑннÑ.
-С MPEG-4 ASP кодеками, Ñакими как <systemitem class="library">Xvid</systemitem>
-и <systemitem class="library">libavcodec</systemitem>, CQ
-менÑÑе 0.18 обÑÑно пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð±Ð¾Ð»ÑÑим ÑиÑлом
-ÑегменÑов "квадÑаÑиками", из-за недоÑÑаÑоÑного ÑиÑла биÑов длÑ
-кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии в каждом макÑоблоке.
-(MPEG4, как и многие дÑÑгие кодеки, гÑÑппиÑÑÐµÑ Ð¿Ð¸ÐºÑели в блоки по
-неÑколÑко пикÑелей Ð´Ð»Ñ ÑжаÑÐ¸Ñ Ð¸Ð·Ð¾Ð±ÑажениÑ; еÑли биÑов не Ñ
ваÑаеÑ,
-гÑаниÑÑ ÑÑиÑ
блоков замеÑнÑ.)
-СледоваÑелÑно, благоÑазÑмно вÑбÑаÑÑ CQ в диапазоне Ð¾Ñ 0.20 до 0.22
-Ð´Ð»Ñ Ñипа на 1 CD и 0.26-0.28 Ð´Ð»Ñ Ñипа на 2 CD пÑи иÑполÑзовании
-ÑÑандаÑÑнÑÑ
опÑий кодиÑованиÑ.
-Ðолее пÑодвинÑÑÑе опÑии кодиÑованиÑ, Ñакие как ÑказаннÑе длÑ
-<link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
- и
-<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
-Ð´Ð¾Ð»Ð¶Ð½Ñ ÑделаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм полÑÑение Ñого же каÑеÑÑва Ñ CQ в диапазоне
-Ð¾Ñ 0.18 до 0.20 Ð´Ð»Ñ Ñипа на 1 CD и 0.24-0.26 Ð´Ð»Ñ Ñипа на 2 CD.
-ÐÑполÑзÑÑ MPEG-4 AVC кодеки, Ñакие как
-<systemitem class="library">x264</systemitem>, ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ
-CQ в диапазоне Ð¾Ñ 0.14 до 0.16 Ñо ÑÑандаÑÑнÑми опÑиÑми кодиÑованиÑ
-и Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÑмеÑÑ Ð´Ð¾ÑÑиÑÑ ÑакиÑ
низкиÑ
знаÑений, как 0.10 — 0.12
-Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<link linkend="menc-feat-x264-example-settings">пÑодвинÑÑÑÑ
опÑий кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ <systemitem class="library">x264</systemitem></link>.
-</para>
-
-<para>
-ÐожалÑйÑÑа, обÑаÑиÑе внимание, ÑÑо CQ — лиÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑелÑÐ½Ð°Ñ Ð²ÐµÐ»Ð¸Ñина,
-Ñ.к. она завиÑÐ¸Ñ Ð¾Ñ ÐºÐ¾Ð´Ð¸ÑÑемого ÑодеÑжимого; CQ 0.18 Ð¼Ð¾Ð¶ÐµÑ Ñ
оÑоÑо
-ÑмоÑÑеÑÑÑÑ Ð´Ð»Ñ ÐеÑгмана (Bergman), в оÑлиÑии Ð¾Ñ Ñакого ÑилÑма как
-ÐаÑÑиÑа (The Matrix), ÑодеÑжаÑего много ÑÑен Ñ Ð±ÑÑÑÑÑм движением.
-С дÑÑгой ÑÑоÑонÑ, беÑполезно ÑвелиÑиваÑÑ CQ вÑÑе 0.30, Ñ.к. ÐÑ
-бÑдеÑе ÑÑаÑиÑÑ Ð±Ð¸ÑÑ Ð±ÐµÐ· замеÑного ÑвелиÑÐµÐ½Ð¸Ñ ÐºÐ°ÑеÑÑва.
-Так же обÑаÑиÑе внимание, ÑÑо, как бÑло Ñказано вÑÑе в данном
-ÑÑководÑÑве, ÑилÑмам Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¼ ÑазÑеÑением (напÑимеÑ, по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ DVD)
-необÑ
одим более вÑÑокий CQ Ð´Ð»Ñ Ñого, ÑÑоб они вÑглÑдели Ñ
оÑоÑо.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>ФилÑÑÑаÑиÑ</title>
-
-<para>
-ÐзÑÑение иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ ÑилÑÑÑов <application>MEncoder</application>
-важно Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ñ
оÑоÑиÑ
ÑезÑлÑÑаÑов кодиÑованиÑ.
-ÐÑÑ Ð¾Ð±ÑабоÑка видео вÑполнÑеÑÑÑ Ð¿Ð¾ÑÑедÑÑвом ÑилÑÑÑов: ÑÑеÑение,
-маÑÑÑабиÑование, подÑÑÑойка ÑвеÑа, Ñдаление ÑÑма, ÑвелиÑение
-ÑÑÑкоÑÑи, деинÑеÑÐ»ÐµÐ¹Ñ (пÑеобÑазование видео из ÑеÑеÑÑÑÑоÑной
-ÑазвÑÑÑки в поÑÑÑоÑнÑÑ), ÑелеÑин, обÑаÑнÑй ÑелеÑин и Ñдаление
-блоÑной ÑегменÑаÑии — и ÑÑо лиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе из ниÑ
.
-ÐмеÑÑе Ñ Ð¾Ð³ÑомнÑм колиÑеÑÑвом поддеÑживаемÑÑ
вÑ
однÑÑ
ÑоÑмаÑов,
-ÑазнообÑазие ÑилÑÑÑов, доÑÑÑпнÑÑ
в <application>MEncoder</application>,
-ÑвлÑеÑÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из его оÑновнÑÑ
доÑÑоинÑÑв над дÑÑгими аналогиÑнÑми
-пÑогÑаммами.
-</para>
-
-<para>
-ФилÑÑÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð² ÑепоÑÐºÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿Ñии -vf:
-
-<screen>-vf ÑилÑÑÑ1=опÑии,ÑилÑÑÑ2=опÑии,...</screen>
-
-ÐолÑÑинÑÑво ÑилÑÑÑов иÑполÑзÑÑÑ ÑиÑленнÑе знаÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ñий,
-ÑазделÑннÑе двоеÑоÑиÑми, но ÑинÑакÑÐ¸Ñ ÑÑиÑ
паÑамеÑÑов ÑазлиÑаеÑÑÑ
-Ñ ÑазнÑÑ
ÑилÑÑÑов, Ñак ÑÑо ÑиÑайÑе манÑал Ð´Ð»Ñ Ð´ÐµÑалÑной
-инÑоÑмаÑии о ÑилÑÑÑаÑ
, коÑоÑÑе ÐÑ Ð¶ÐµÐ»Ð°ÐµÑе иÑполÑзоваÑÑ.
-</para>
-
-<para>
-ФилÑÑÑÑ Ð´ÐµÐ¹ÑÑвÑÑÑ Ð½Ð° видео в поÑÑдке иÑ
загÑÑзки.
-ÐапÑимеÑ, ÑледÑÑÑÐ°Ñ ÑепоÑка:
-
-<screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
-ÑпеÑва ÑÑеÑÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾ 688Ñ
464 Ñ Ð²ÐµÑÑ
ним левÑм
-Ñглом (12,4), а заÑем маÑÑÑабиÑÑÐµÑ ÑезÑлÑÑÐ°Ñ Ð´Ð¾ 640Ñ
464.
-</para>
-
-<para>
-ÐекоÑоÑÑе ÑилÑÑÑÑ Ð½Ñжно загÑÑжаÑÑ Ð² наÑале ÑепоÑки ÑилÑÑÑов (или
-ÑÑдом Ñ Ð½Ð¸Ð¼) Ñ ÑелÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿ÑеимÑÑеÑÑва Ð¾Ñ Ð¸ÑполÑзованиÑ
-инÑоÑмаÑии поÑле видеодекодеÑа, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾ÑеÑÑна или
-иÑкажена дÑÑгими ÑилÑÑÑами.
-ÐажнейÑими пÑимеÑами ÑвлÑÑÑÑÑ: <option>pp</option> (поÑÑобÑабоÑка,
-ÑолÑко пÑи вÑполнении опеÑаÑий ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾Ñной ÑегменÑаÑии
-(deblocking) или ÑвелиÑÐµÐ½Ð¸Ñ ÑÑÑкоÑÑи кÑаÑв (deringing)),
-<option>spp</option> (дÑÑгой ÑилÑÑÑ Ð¿Ð¾ÑÑобÑабоÑки, ÑлÑжаÑий длÑ
-ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð°ÑÑеÑакÑов MPEG), <option>pullup</option> (обÑаÑнÑй
-ÑелеÑин), и <option>softpulldown</option> (Ð´Ð»Ñ Ð¿ÑеобÑазованиÑ
-мÑгкого ÑелеÑина в жÑÑÑкий).
-</para>
-
-<para>
-РобÑем ÑлÑÑае, Ðам ÑледÑÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð½Ð°ÑÑолÑко мало ÑилÑÑÑаÑии,
-наÑколÑко ÑÑо возможно, Ð´Ð»Ñ Ñого ÑÑоб оÑÑаÑÑÑÑ Ð±Ð»Ð¸Ð·ÐºÐ¾ к оÑигиналÑномÑ
-DVD иÑÑоÑникÑ. УÑеÑение ÑаÑÑо необÑ
одимо (как опиÑано вÑÑе), но
-избегайÑе маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾. ÐеÑмоÑÑÑ Ð½Ð° Ñо, ÑÑо ÑменÑÑение
-ÑазмеÑа иногда пÑедпоÑÑиÑелÑно иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±ÐлÑÑиÑ
-кванÑоваÑелей, нÑжно избегаÑÑ Ð¸ Ñого, и дÑÑгого: помниÑе,
-ÑÑо Ð¼Ñ Ñ Ñамого наÑала ÑеÑили обменÑÑÑ Ð±Ð¸ÑÑ Ð½Ð° каÑеÑÑво.
-</para>
-
-<para>
-Также не коÑÑекÑиÑÑйÑе гаммÑ, конÑÑаÑÑноÑÑÑ, ÑÑкоÑÑÑ Ð¸ Ñ.п.. То,
-ÑÑо Ñ
оÑоÑо вÑглÑÐ´Ð¸Ñ Ð½Ð° ÐаÑем мониÑоÑе, Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð»Ð¾Ñ
о вÑглÑдеÑÑ
-на дÑÑгиÑ
. ÐÑи коÑÑекÑии Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑполнÑÑÑÑÑ ÑолÑко пÑи
-воÑпÑоизведении.
-</para>
-
-<para>
-Ðднако, еÑÑÑ Ð¾Ð´Ð½Ð° веÑÑ, коÑоÑÑÑ ÐÑ, бÑÑÑ Ð¼Ð¾Ð¶ÐµÑ, заÑ
оÑиÑе ÑделаÑÑ —
-ÑÑо пÑопÑÑÑиÑÑ Ð²Ð¸Ð´ÐµÐ¾ ÑеÑез оÑÐµÐ½Ñ ÑлабÑй ÑилÑÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑÑмов,
-Ñакой как <option>-vf hqdn3d=2:1:2</option>.
-ÐÑÑ Ñаз, пÑиÑиной ÑÑÐ¾Ð¼Ñ ÑвлÑеÑÑÑ Ñо, ÑÑо ÑÑим биÑам можно найÑи
-лÑÑÑее пÑименение: заÑем ÑÑаÑиÑÑ Ð¸Ñ
, кодиÑÑÑ ÑÑм, еÑли ÐÑ Ð¿ÑоÑÑо
-можеÑе веÑнÑÑÑ ÑÑÐ¾Ñ ÑÑм в пÑоÑеÑÑе воÑпÑоизведениÑ?
-УвелиÑение паÑамеÑÑов Ð´Ð»Ñ <option>hqdn3d</option> дополниÑелÑно
-ÑлÑÑÑÐ¸Ñ ÑжимаемоÑÑÑ, но ÑвелиÑив знаÑÐµÐ½Ð¸Ñ ÑлиÑком ÑилÑно, ÐÑ ÑиÑкÑеÑе
-ÑÑ
ÑдÑиÑÑ ÑазлиÑимоÑÑÑ Ð¸Ð·Ð¾Ð±ÑажениÑ.
-РекомендованнÑе вÑÑе знаÑÐµÐ½Ð¸Ñ (<option>2:1:2</option>) Ñлегка
-конÑеÑваÑивнÑ; не бойÑеÑÑ ÑкÑпеÑименÑиÑоваÑÑ Ñ Ð±Ð¾Ð»ÐµÐµ вÑÑокими
-знаÑениÑми и ÑамоÑÑоÑÑелÑно оÑениваÑÑ ÑезÑлÑÑаÑÑ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>ЧеÑеÑÑÑÑоÑÐ½Ð°Ñ ÑазвÑÑÑка и ÑелеÑин</title>
-
-<para>
-ÐоÑÑи вÑе ÑилÑÐ¼Ñ ÑнимаÑÑÑÑ Ð¿Ñи 24 fps [кадÑ/Ñек]. ÐоÑколÑкÑ
-в NTSC иÑполÑзÑеÑÑÑ 30000/1001 fps, нÑжно вÑполниÑÑ Ð½ÐµÐºÐ¾ÑоÑÑÑ
-обÑабоÑÐºÑ Ð´Ð»Ñ Ñакого 24 fps видео, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¾ коÑÑекÑно
-воÑпÑоизводилоÑÑ Ð¿Ñи кадÑовой ÑаÑÑоÑе NTSC. ÐÑÐ¾Ñ Ð¿ÑоÑеÑÑ Ð½Ð°Ð·ÑваеÑÑÑ
-3:2 пÑлдаÑн, обÑÑно назÑваемÑй ÑелеÑин (поÑколÑÐºÑ Ð¿ÑлдаÑн ÑаÑÑо
-пÑименÑеÑÑÑ Ð² пÑоÑеÑÑе показа Ñелевизионного ÑилÑма, англ. telecine);
-и в ÑпÑоÑенном опиÑании ÑÑо ÑабоÑÐ°ÐµÑ Ð¿ÑÑÑм Ð·Ð°Ð¼ÐµÐ´Ð»ÐµÐ½Ð¸Ñ ÑилÑма до
-24000/1001 fps и повÑоÑа каждого ÑеÑвÑÑÑого кадÑа.
-</para>
-
-<para>
-Ðднако, никакой ÑпеÑиалÑной обÑабоÑки не вÑполнÑеÑÑÑ Ð´Ð»Ñ Ð²Ð¸Ð´ÐµÐ¾
-на PAL DVD, коÑоÑое воÑпÑоизводиÑÑÑ Ð¿Ñи 25 fps. (ТеÑ
ниÑеÑки PAL
-Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð´Ð²ÐµÑженнÑм ÑелеÑинÑ, назÑÐ²Ð°ÐµÐ¼Ð¾Ð¼Ñ 2:2 пÑлдаÑн, но на
-пÑакÑике ÑÑо не пÑименÑеÑÑÑ).
-24 fps ÑилÑм пÑоÑÑо пÑоигÑÑваеÑÑÑ Ð½Ð° 25 fps. Ð ÑезÑлÑÑаÑе ÑилÑм
-воÑпÑоизводиÑÑÑ Ñлегка бÑÑÑÑее, но еÑли ÐÑ Ð½Ðµ пÑиÑелеÑ, Ñо,
-веÑоÑÑно, не замеÑиÑе ÑазниÑÑ.
-У болÑÑинÑÑва PAL DVD аÑдио ÑкоÑÑекÑиÑовано по вÑÑоÑе звÑка Ñак,
-ÑÑо, воÑпÑоизводÑÑÑ Ð¿Ñи 25 fps, оно звÑÑÐ¸Ñ Ð½Ð¾ÑмалÑно, неÑмоÑÑÑ Ð½Ð°
-Ñо, ÑÑо аÑдиодоÑожка (и, ÑледоваÑелÑно, веÑÑ ÑилÑм) пÑоигÑÑваÑÑÑÑ
-на 4% бÑÑÑÑее, Ñем NTSC DVD.
-</para>
-
-<para>
-ÐоÑколÑÐºÑ Ð²Ð¸Ð´ÐµÐ¾ на PAL DVD не пеÑеделÑваеÑÑÑ, Ðам не ÑÑоиÑ
-беÑпокоиÑÑÑ Ð¾ ÑаÑÑоÑе кадÑов. У иÑÑоÑника 25 fps и Ñ ÐаÑего
-Ñипа бÑÐ´ÐµÑ 25 fps. Ðднако, еÑли ÐÑ Ð´ÐµÐ»Ð°ÐµÑе Ñип NTSC DVD ÑилÑма,
-Ðам, бÑÑÑ Ð¼Ð¾Ð¶ÐµÑ, пÑидÑÑÑÑ Ð²ÑполниÑÑ Ð¾Ð±ÑаÑнÑй ÑелеÑин.
-</para>
-
-<para>
-ÐÐ»Ñ ÑилÑмов, ÑнÑÑÑÑ
на 24 fps, видео на NTSC DVD идÑÑ Ð»Ð¸Ð±Ð¾ Ñ ÑелеÑином
-30000/1001, либо Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой 24000/1001 fps и
-пÑедназнаÑаеÑÑÑ Ð´Ð»Ñ ÑелеÑина на леÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ DVD плееÑа.
-С дÑÑгой ÑÑоÑонÑ, TV ÑеÑÐ¸Ð°Ð»Ñ Ð¸Ð´ÑÑ Ð¾Ð±ÑÑно ÑолÑко Ñ ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой,
-но без ÑелеÑина. ÐÑо не ÑÑÑогое пÑавило: еÑÑÑ ÑеÑÐ¸Ð°Ð»Ñ Ñ
-ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой (напÑимеÑ, ÐаÑÑи, УбийÑа ÐампиÑов
-[Buffy the Vampire Slayer]), в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº дÑÑгие пÑедÑÑавлÑÑÑ
-Ñобой ÑмеÑÑ Ð¿Ð¾ÑÑÑоÑной и ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑки (Ñакие как
-Ðнгел [Angel] или 24).
-</para>
-
-<para>
-ÐаÑÑоÑÑелÑно ÑекомендÑеÑÑÑ Ð¿ÑоÑиÑаÑÑ Ñаздел о
-<link linkend="menc-feat-telecine">ÑабоÑе Ñ ÑелеÑином и ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой в NTSC DVD</link>
-Ð´Ð»Ñ Ð¸Ð·ÑÑÐµÐ½Ð¸Ñ ÑпоÑобов обÑабоÑки в ÑазнÑÑ
ÑиÑÑаÑиÑÑ
.
-</para>
-
-<para>
-Ðднако, еÑли ÐÑ Ð¿ÑеимÑÑеÑÑвенно делаеÑе ÑÐ¸Ð¿Ñ ÑилÑмов, ÐÑ, ÑкоÑее
-вÑего, имееÑе дело Ñ 24 fps видео либо Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой,
-либо Ñ Ð¿Ð¾Ð´Ð²ÐµÑгнÑÑÑм ÑелеÑинÑ; в поÑледнем ÑлÑÑае ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ
-<option>pullup</option> ÑилÑÑÑ: <option>-vf
-pullup,softskip</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>ÐодиÑование ÑеÑеÑÑÑÑоÑного видео</title>
-
-<para>
-ÐÑли ÐÑ Ð¶ÐµÐ»Ð°ÐµÑе кодиÑоваÑÑ ÑилÑм Ñ ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой
-(NTSC или PAL видео), Ðам нÑжно ÑеÑиÑÑ, бÑдеÑе ли ÐÑ ÐµÐ³Ð¾
-пÑеобÑазовÑваÑÑ Ð² поÑÑÑоÑнÑÑ ÑазвÑÑÑÐºÑ Ð¸Ð»Ð¸ неÑ.
-ХоÑÑ Ñакое пÑеобÑазование (деинÑеÑлейÑ) ÑÐ´ÐµÐ»Ð°ÐµÑ ÐÐ°Ñ ÑилÑм
-пÑигоднÑм Ð´Ð»Ñ Ð´Ð¸Ñплеев Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой, ÑакиÑ
как
-компÑÑÑеÑнÑе мониÑоÑÑ Ð¸ пÑоекÑоÑÑ, ÑÑо бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ ÑÐ²Ð¾Ñ ÑенÑ:
-ÑаÑÑоÑа полей ÑменÑÑиÑÑÑ Ð²Ð´Ð²Ð¾Ðµ Ð¾Ñ 50 или 60000/1001 до 25 или
-30000/1001 Ð¿Ð¾Ð»Ñ Ð² ÑекÑндÑ, и пÑимеÑно половина инÑоÑмаÑии в
-ÐаÑем ÑилÑме бÑÐ´ÐµÑ Ð¿Ð¾ÑеÑÑна в ÑÑенаÑ
Ñо знаÑиÑелÑнÑм движением.
-</para>
-
-<para>
-ÐоÑÑомÑ, еÑли ÐÑ ÐºÐ¾Ð´Ð¸ÑÑеÑе Ð´Ð»Ñ Ð²ÑÑококаÑеÑÑвеннÑÑ
аÑÑ
ивнÑÑ
Ñелей,
-не ÑекомендÑеÑÑÑ Ð´ÐµÐ»Ð°ÑÑ Ð´ÐµÐ¸Ð½ÑеÑлейÑ. ÐÑ Ð²Ñегда можеÑе пÑеобÑазоваÑÑ
-ÑазвÑÑÑÐºÑ ÑилÑма в пÑоÑеÑÑе воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ (пÑи воÑпÑоизведении
-на ÑÑÑÑойÑÑваÑ
Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой).
-ÐоÑноÑÑÑ ÑовÑеменнÑÑ
компÑÑÑеÑов вÑнÑÐ¶Ð´Ð°ÐµÑ Ð¿Ð»ÐµÐµÑÑ Ð¸ÑполÑзоваÑÑ
-ÑилÑÑÑ Ð´ÐµÐ¸Ð½ÑеÑлейÑа, ÑÑо Ñлегка ÑÑ
ÑдÑÐ°ÐµÑ ÐºÐ°ÑеÑÑво изобÑажениÑ.
-Ðо плееÑÑ Ð±ÑдÑÑего бÑдÑÑ ÑпоÑÐ¾Ð±Ð½Ñ Ð¸Ð¼Ð¸ÑиÑоваÑÑ Ð´Ð¸Ñплей TV Ñ
-ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой, вÑполнÑÑ Ð´ÐµÐ¸Ð½ÑеÑÐ»ÐµÐ¹Ñ Ð½Ð° полной ÑаÑÑоÑе
-полей и инÑеÑполиÑÑÑ 50 или 60000/1001 кадÑов в ÑекÑÐ½Ð´Ñ Ð´Ð»Ñ
-ÑеÑеÑÑÑÑоÑного видео.
-</para>
-
-<para>
-С ÑеÑеÑÑÑÑоÑнÑм видео нÑжно ÑабоÑаÑÑ Ð¾ÑобÑм обÑазом:
-</para>
-
-<orderedlist>
-<listitem><para>
- ÐÑÑоÑа ÑÑеÑÐµÐ½Ð¸Ñ Ð¸ ÑмеÑение по оÑи y Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÐºÑаÑÐ½Ñ 4.
-</para></listitem>
-<listitem><para>
- ÐÑбое веÑÑикалÑное маÑÑÑабиÑование должно вÑполнÑÑÑÑÑ Ð² Ñежиме
- ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑки.
-</para></listitem>
-<listitem><para>
- ФилÑÑÑÑ Ð¿Ð¾ÑÑобÑабоÑки и ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑÑма могÑÑ Ð½Ðµ ÑабоÑаÑÑ ÐºÐ°Ðº
- ожидаеÑÑÑ, ÑолÑко еÑли ÐÑ Ð¾Ñобо не позабоÑиÑеÑÑ Ð¾Ð± иÑ
- пÑименении к Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¿Ð¾Ð»Ñ Ð·Ð° Ñаз, инаÑе они могÑÑ
- повÑедиÑÑ Ð²Ð¸Ð´ÐµÐ¾ пÑи невеÑном иÑполÑзовании.
-</para></listitem>
-</orderedlist>
-
-<para>
- УÑиÑÑÐ²Ð°Ñ Ð²ÑÑеÑказанное, Ð²Ð¾Ñ Ð½Ð°Ñ Ð¿ÐµÑвÑй пÑимеÑ:
-<screen>
-mencoder <replaceable>заÑ
ваÑ.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
-vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-ÐбÑаÑиÑе внимание на опÑии <option>ilme</option> и <option>ildct</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>ÐамеÑÐ°Ð½Ð¸Ñ Ð¾Ð± аÑдио/видео ÑинÑ
ÑонизаÑии</title>
-
-<para>
-ÐлгоÑиÑÐ¼Ñ Ð°Ñдио/видео (A/V) ÑинÑ
ÑонизаÑии <application>MEncoder</application>
-бÑли ÑазÑабоÑÐ°Ð½Ñ Ñ ÑелÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñайлов Ñ Ð¿Ð¾Ð²ÑеждÑнной
-ÑинÑ
ÑонизаÑией.
-Ðднако, в ÑÑде ÑлÑÑаев они могÑÑ Ð¿ÑивеÑÑи к ненÑÐ¶Ð½Ð¾Ð¼Ñ Ð¿ÑопÑÑкÑ
-или повÑоÑÐµÐ½Ð¸Ñ ÐºÐ°Ð´Ñов и, возможно, к лÑгкой A/V ÑаÑÑинÑ
ÑонизаÑии
-коÑÑекÑнÑÑ
вÑ
однÑÑ
даннÑÑ
(конеÑно, пÑÐ¾Ð±Ð»ÐµÐ¼Ñ A/V ÑинÑ
ÑонизаÑии
-возникаÑÑ ÑолÑко пÑи обÑабоÑке или копиÑовании аÑдиоÑÑека пÑи
-кодиÑовании видео, ÑÑо наÑÑоÑÑелÑно ÑекомендÑеÑÑÑ).
-ÐоÑÑÐ¾Ð¼Ñ ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑеклÑÑиÑÑÑÑ Ð½Ð° базовÑÑ A/V ÑинÑ
ÑонизаÑиÑ
-Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿Ñии <option>-mc 0</option> или ÑазмеÑÑиÑÑ ÑÑо в
-конÑигÑÑаÑионном Ñайле <systemitem>~/.mplayer/mencoder</systemitem>,
-еÑли ÐÑ ÑабоÑаеÑе ÑолÑко Ñ Ñ
оÑоÑими иÑÑоÑниками (DVD, TV-заÑ
ваÑ,
-вÑÑококаÑеÑÑвеннÑе MPEG-4 ÑÐ¸Ð¿Ñ Ð¸ Ñ.п.), а не Ñ Ð¿Ð¾Ð²ÑеждÑннÑми
-Ñайлами ASF/RM/MOV.
-</para>
-
-<para>
-ÐÑли ÐÑ Ñ
оÑиÑе дополниÑелÑно заÑиÑиÑÑÑÑ Ð¾Ñ ÑÑÑаннÑÑ
пÑопÑÑков
-и повÑоÑений кадÑов, ÐÑ Ð¼Ð¾Ð¶ÐµÑе одновÑеменно иÑполÑзоваÑÑ Ð¾Ð¿Ñии
-<option>-mc 0</option> и <option>-noskip</option>.
-ÐÑо пÑедоÑвÑаÑÐ¸Ñ <emphasis>лÑбÑÑ</emphasis> A/V коÑÑекÑиÑ, и
-бÑÐ´ÐµÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑ ÐºÐ°Ð´ÑÑ Ð¾Ð´Ð¸Ð½ в один, Ñак ÑÑо ÐÑ Ð½Ðµ ÑможеÑе ÑÑо
-иÑполÑзоваÑÑ, еÑли бÑдеÑе пÑименÑÑÑ ÐºÐ°ÐºÐ¸Ðµ-либо ÑилÑÑÑÑ, коÑоÑÑе
-непÑедÑказÑемо добавлÑÑÑ Ð¸Ð»Ð¸ оÑбÑаÑÑваÑÑ ÐºÐ°Ð´ÑÑ, либо еÑли Ñ
-ÐаÑего вÑ
одного Ñайла пеÑеменнÑй биÑопоÑок!
-ÐоÑÑÐ¾Ð¼Ñ Ð¸ÑполÑзование <option>-noskip</option> в обÑем ÑлÑÑае не
-ÑекомендÑеÑÑÑ.
-</para>
-
-<para>
-СообÑалоÑÑ Ð¾ Ñом, ÑÑо Ñак назÑваемое ÑÑÑÑ
пÑоÑ
одное аÑдиокодиÑование,
-поддеÑживаемое <application>MEncoder</application>, вÑзÑвало
-A/V ÑаÑÑинÑ
ÑонизаÑиÑ.
-ÐÑо навеÑнÑка пÑоизойдÑÑ Ð¿Ñи иÑполÑзовании ÑовмеÑÑно Ñ Ð½ÐµÐºÐ¾ÑоÑÑми
-ÑилÑÑÑами, поÑÑÐ¾Ð¼Ñ ÑейÑÐ°Ñ <emphasis>не</emphasis> ÑекомендÑеÑÑÑ
-иÑполÑзоваÑÑ ÑÑÑÑ
пÑоÑ
однÑй аÑдио Ñежим.
-ÐÑа возможноÑÑÑ Ð¾ÑÑавлена ÑолÑко Ð´Ð»Ñ ÑовмеÑÑимоÑÑи и Ð´Ð»Ñ Ð¾Ð¿ÑÑнÑÑ
-полÑзоваÑелей, понимаÑÑиÑ
когда ÑÑо безопаÑно, а когда неÑ.
-ÐÑли ÐÑ Ñанее никогда не ÑлÑÑали о ÑÑÑÑ
пÑоÑ
одном Ñежиме, забÑдÑÑе
-даже о Ñом, ÑÑо Ð¼Ñ ÐµÐ³Ð¾ Ñпоминали!
-</para>
-
-<para>
-Также бÑли ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± A/V ÑаÑÑинÑ
ÑонизаÑии пÑи кодиÑовании
-Ñо ÑÑандаÑÑного ввода (stdin) Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ <application>MEncoder</application>.
-Ðе делайÑе ÑÑого! ÐÑегда взамен иÑполÑзÑйÑе Ñайл или CD/DVD и Ñ.п.
-ÑÑÑÑойÑÑво.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>ÐÑÐ±Ð¾Ñ Ð²Ð¸Ð´ÐµÐ¾ÐºÐ¾Ð´ÐµÐºÐ°</title>
-
-<para>
-То, какой видеокодек лÑÑÑе вÑбÑаÑÑ, завиÑÐ¸Ñ Ð¾Ñ Ð½ÐµÑколÑкиÑ
-ÑакÑоÑов, ÑакиÑ
как ÑазмеÑ, каÑеÑÑво, ÑÑÑойÑивоÑÑÑ Ðº оÑибкам,
-пÑакÑиÑноÑÑÑ Ð¸ ÑаÑпÑоÑÑÑанÑнноÑÑÑ, многие из коÑоÑÑÑ
ÑилÑно
-завиÑÑÑ Ð¾Ñ Ð»Ð¸ÑнÑÑ
пÑедпоÑÑений и ÑеÑ
ниÑеÑкиÑ
огÑаниÑений.
-</para>
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">ÐÑÑекÑивноÑÑÑ ÑжаÑиÑ</emphasis>:
- ÐоÑÑаÑоÑно оÑевидно, ÑÑо болÑÑинÑÑво кодеков нового поколениÑ
- ÑазÑабоÑÐ°Ð½Ñ Ð´Ð»Ñ ÑвелиÑÐµÐ½Ð¸Ñ ÐºÐ°ÑеÑÑва и ÑÑепени ÑжаÑиÑ.
- ÐоÑÑомÑ, авÑоÑÑ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÑководÑÑва и многие дÑÑгие лÑди полагаÑÑ,
- ÑÑо ÐÑ Ð½Ðµ можеÑе оÑибиÑÑÑÑ
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
- ÐеÑмоÑÑÑ Ð½Ð° ÑÑо, бÑдÑÑе оÑÑоÑожнÑ: Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ MPEG-4 AVC
- видео Ñ DVD ÑазÑеÑением необÑ
одима бÑÑÑÑÐ°Ñ Ð¼Ð°Ñина (напÑимеÑ,
- Pentium 4 ÑвÑÑе 1.5 ÐÐÑ Ð¸Ð»Ð¸ Pentium M ÑвÑÑе 1 ÐÐÑ).
- </para></footnote>,
- вÑбиÑÐ°Ñ MPEG-4 AVC кодеки (напÑимеÑ,
- <systemitem class="library">x264</systemitem>)
- вмеÑÑо ÑакиÑ
MPEG-4 ASP кодеков, как
- <systemitem class="library">libavcodec</systemitem> MPEG-4 или
- <systemitem class="library">Xvid</systemitem>.
- (ÐпÑÑнÑе ÑазÑабоÑÑики кодеков могÑÑ Ð±ÑÑÑ Ð·Ð°Ð¸Ð½ÑеÑеÑÐ¾Ð²Ð°Ð½Ñ Ð²
- ознакомлении Ñ ÑоÑкой зÑÐµÐ½Ð¸Ñ ÐиÑ
аÑÐ»Ñ ÐидеÑмайеÑа (Michael
- Niedermayer)
- "<ulink url="http://guru.multimedia.cx/?p=10">поÑÐµÐ¼Ñ MPEG4-ASP оÑÑÑой</ulink>".)
- ÐналогиÑно, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð»ÑÑÑее каÑеÑÑво Ñ MPEG-4 ASP, по
- ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ MPEG-2 кодеками.
- </para>
-
- <para>
- Ðднако, новÑе кодеки, наÑ
одÑÑиеÑÑ Ð² инÑенÑивной ÑазÑабоÑке,
- могÑÑ ÑÑÑадаÑÑ Ð¾Ñ ÐµÑÑ Ð½Ðµ замеÑеннÑÑ
оÑибок, коÑоÑÑе могÑÑ
- иÑпоÑÑиÑÑ ÐºÐ¾Ð´Ð¸Ñование. ÐÑоÑÑо ÑÑо плаÑа за иÑполÑзование
- пеÑедовÑÑ
ÑеÑ
нологий.
- </para>
-
- <para>
- Ðолее ÑÑÑеÑÑвенно Ñо, ÑÑо Ð´Ð»Ñ Ð½Ð°Ñала иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кодека
- необÑ
одимо поÑÑаÑиÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° изÑÑение его опÑий Ñак, ÑÑÐ¾Ð±Ñ ÐÑ
- знали, ÑÑо нÑжно подÑÑÑаиваÑÑ Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ каÑеÑÑва
- изобÑажениÑ.
- </para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">ÐппаÑаÑÐ½Ð°Ñ ÑовмеÑÑимоÑÑÑ</emphasis>:
- ÐбÑÑно необÑ
одимо длиÑелÑное вÑÐµÐ¼Ñ Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки
- поÑледниÑ
видеокодеков в авÑономнÑе видеоплееÑÑ.
- РиÑоге, болÑÑинÑÑво поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко MPEG-1 (наподобие
- VCD, XVCD и KVCD), MPEG-2 (напÑимеÑ, DVD, SVCD и KVCD) и MPEG-4
- ASP (напÑимеÑ, DivX,
- <systemitem class="library">libavcodec</systemitem> LMP4 и
- <systemitem class="library">Xvid</systemitem>)
- (ÐÑÑоÑожно: обÑÑно поддеÑживаÑÑÑÑ Ð½Ðµ вÑе возможноÑÑи MPEG-4 ASP).
- ÐожалÑйÑÑа, обÑаÑиÑеÑÑ Ðº ÑеÑ
ниÑеÑкой ÑпеÑиÑикаÑии ÐаÑего плееÑа
- (еÑли она доÑÑÑпна) или к гÑгл (google) Ð´Ð»Ñ Ð´ÐµÑалÑной инÑоÑмаÑии.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">ÐÑÑÑее ÑооÑноÑение каÑеÑÑва и вÑемени кодиÑованиÑ</emphasis>:
- Ðодеки, Ñже иÑполÑзÑÑÑиеÑÑ Ð¾Ð¿ÑеделÑнное вÑÐµÐ¼Ñ (напÑимеÑ,
- <systemitem class="library">libavcodec</systemitem> MPEG-4 и
- <systemitem class="library">Xvid</systemitem>) обÑÑно ÑилÑно
- опÑимизиÑÐ¾Ð²Ð°Ð½Ñ Ð²ÑевозможнÑми оÑÑÑоÑмнÑми алгоÑиÑмами и
- аÑÑемблеÑнÑм SIMD кодом. ÐоÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¸ обладаÑÑ ÑенденÑией
- доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð»ÑÑÑего ÑооÑноÑÐµÐ½Ð¸Ñ ÐºÐ°ÑеÑÑва к вÑемени кодиÑованиÑ.
- Ðднако, Ñ Ð½Ð¸Ñ
могÑÑ Ð±ÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе оÑÐµÐ½Ñ Ð¿ÑодвинÑÑÑе опÑии,
- коÑоÑÑе, бÑдÑÑи вклÑÑеннÑми, ÑделаÑÑ ÐºÐ¾Ð´Ð¸Ñование оÑÐµÐ½Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñм
- Ñади неÑÑÑеÑÑвенного вÑигÑÑÑа.
- </para>
-
- <para>
- ÐÑли Ðам нÑжна вÑÑÐ¾ÐºÐ°Ñ ÑкоÑоÑÑÑ, пÑимеÑно пÑидеÑживайÑеÑÑ Ð½Ð°ÑÑÑоек
- видеокодека по ÑмолÑÐ°Ð½Ð¸Ñ (Ñ
оÑÑ Ðам ÑÑÐ¾Ð¸Ñ Ð¿Ð¾Ð¿ÑобоваÑÑ Ð´ÑÑгие опÑии,
- ÑпоминаемÑе в инÑÑ
ÑазделаÑ
данного ÑÑководÑÑва).
- </para>
-
- <para>
- ÐÑ Ñак же можеÑе ÑаÑÑмоÑÑеÑÑ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾ÑоÑного
- кодека, Ñ
оÑÑ ÑÑо полезно ÑолÑко Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей маÑин Ñ
- неÑколÑкими пÑоÑеÑÑоÑами.
- <systemitem class="library">libavcodec</systemitem> MPEG-4 позволÑеÑ
- ÑÑо, но вÑигÑÑÑ Ð² ÑкоÑоÑÑи огÑаниÑен и еÑÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑой оÑÑиÑаÑелÑнÑй
- ÑÑÑÐµÐºÑ Ð´Ð»Ñ ÐºÐ°ÑеÑÑва каÑÑинки.
- ÐногопоÑоÑное кодиÑование <systemitem class="library">Xvid</systemitem>,
- вклÑÑаемое опÑией <option>threads</option>, Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ
- ÑÑкоÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ (на пÑимеÑно 40-60% в ÑипиÑнÑÑ
ÑлÑÑаÑÑ
)
- Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑим ÑÑ
ÑдÑением каÑÑинки или вообÑе без него.
- <systemitem class="library">x264</systemitem> Ñакже позволÑеÑ
- многопоÑоÑное кодиÑование, ÑÑо обÑÑно ÑÑкоÑÑÐµÑ Ð¿ÑоÑеÑÑ Ð½Ð° 94%
- Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ CPU ÑдÑа Ñ ÑменÑÑением PSNR Ð¾Ñ 0.005 дРдо 0.01 дРпÑи ÑипиÑнÑÑ
- наÑÑÑойкаÑ
.
- </para>
-</listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">ÐиÑнÑе пÑедпоÑÑениÑ</emphasis>:
- ÐдеÑÑ Ð²ÑÑ ÑÑановиÑÑÑ Ð¿Ð¾ÑÑи неÑазÑмнÑм: из-за ÑеÑ
же пÑиÑин, по
- коÑоÑÑм одни пÑидеÑживаÑÑÑÑ DivX 3 в ÑеÑении леÑ, в Ñо вÑемÑ
- как новÑе кодеки Ñже ÑвоÑÑÑ ÑÑдеÑа, дÑÑгие лÑди пÑедпоÑиÑаÑÑ
- <systemitem class="library">Xvid</systemitem> или
- <systemitem class="library">libavcodec</systemitem> MPEG-4
- иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ <systemitem class="library">x264</systemitem>.
- </para>
-
- <para>
- Ðам нÑжно пÑинимаÑÑ ÑеÑение ÑамоÑÑоÑÑелÑно; не ÑлÑÑайÑе ÑовеÑов
- лÑдей, пÑизнаÑÑиÑ
ÑолÑко один кодек.
- СделайÑе неÑколÑко обÑазÑов клипов из иÑкомÑÑ
иÑÑоÑников и
- ÑÑавниÑе ÑазнÑе опÑии кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ кодеки, Ñ ÑелÑÑ Ð²ÑбоÑа
- Ñого, ÑÑо Ðам наиболее подÑ
одиÑ.
- ÐÑÑÑий кодек — ÑÑо ÑоÑ, коÑоÑÑм ÐÑ Ñами овладели, и
- коÑоÑÑй вÑглÑÐ´Ð¸Ñ Ð»ÑÑÑе вÑего Ð´Ð»Ñ ÐаÑиÑ
глаз на ÐаÑем диÑплее
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para>
- Ðдин и ÑÐ¾Ñ Ð¶Ðµ ÑезÑлÑÑÐ°Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ вÑглÑдеÑÑ Ñаким же
- на ÑÑÑм-либо дÑÑгом мониÑоÑе или пÑи воÑпÑоизведении Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
- дÑÑгого декодеÑа, Ñак ÑÑо пÑовеÑÑйÑе ÐаÑи ÑезÑлÑÑаÑÑ ÐºÐ¾Ð´Ð¸ÑованиÑ
- на жизнеÑпоÑобноÑÑÑ, воÑпÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ñ Ð¸Ñ
в ÑазнÑÑ
наÑалÑнÑÑ
ÑÑловиÑÑ
.
- </para></footnote>!
- </para>
-</listitem>
-</itemizedlist>
-
-<para>
-ÐожалÑйÑÑа, обÑаÑиÑеÑÑ Ðº ÑазделÑ
-<link linkend="menc-feat-selecting-codec">вÑÐ±Ð¾Ñ ÐºÐ¾Ð´ÐµÐºÐ¾Ð² и ÑоÑмаÑов конÑейнеÑа</link>
-Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑпиÑка поддеÑживаемÑÑ
кодеков.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>ÐÑдио</title>
-
-<para>
-ÐÑдио — ÑÑо гоÑаздо более пÑоÑÑÐ°Ñ Ð¿Ñоблема: еÑли ÐÑ
-беÑпокоиÑеÑÑ Ð¾ каÑеÑÑве, пÑоÑÑо оÑÑавÑÑе вÑÑ ÐºÐ°Ðº еÑÑÑ.
-Ðаже поÑоки AC-3 5.1 не более Ñем 448 ÐбиÑ/Ñ Ð¸ они ÑÑоÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾
-биÑа. ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑоблазниÑÑÑÑ Ð¿ÐµÑекодиÑованием аÑдио в
-вÑÑококаÑеÑÑвеннÑй Vorbis (он же ogg ÑоÑмаÑ), но лиÑÑ Ñо, ÑÑо
-Ñ ÐÐ°Ñ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð½ÐµÑ A/V пÑиÑмника Ð´Ð»Ñ Ð¿ÑопÑÑÐºÐ°Ð½Ð¸Ñ AC-3, не ознаÑаеÑ,
-ÑÑо Ñ ÐÐ°Ñ Ð½Ðµ бÑÐ´ÐµÑ ÐµÐ³Ð¾ завÑÑа. ÐÐ»Ñ Ð¶Ð¸Ð·Ð½ÐµÑпоÑобноÑÑи ÐаÑиÑ
DVD
-Ñипов в бÑдÑÑем, ÑоÑ
ÑанÑйÑе поÑок AC-3.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑоÑ
ÑаниÑÑ Ð¿Ð¾Ñок AC-3, копиÑÑÑ ÐµÐ³Ð¾ непоÑÑедÑÑвенно в
-видеопоÑок <link linkend="menc-feat-mpeg4">в пÑоÑеÑÑе кодиÑованиÑ</link>.
-ÐÑ Ñакже можеÑе извлеÑÑ AC-3 поÑок Ñ ÑелÑÑ Ð¼ÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐµÐ³Ð¾
-в конÑейнеÑÑ Ð½Ð°Ð¿Ð¾Ð´Ð¾Ð±Ð¸Ðµ NUT или Matroska (ÐаÑÑÑÑка).
-<screen>
-mplayer <replaceable>Ñайл_иÑÑоÑника.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>звÑк.ac3</replaceable></screen>
-ÑоÑ
ÑÐ°Ð½Ð¸Ñ Ð² Ñайл <replaceable>звÑк.ac3</replaceable> аÑдиодоÑожкÑ
-Ñ Ð½Ð¾Ð¼ÐµÑом 129 из Ñайла
-<replaceable>Ñайл_иÑÑоÑника.vob</replaceable> (ÐбÑаÑиÑе внимание:
-DVD VOB ÑÐ°Ð¹Ð»Ñ Ð¾Ð±ÑÑно иÑполÑзÑÑÑ Ð½ÑмеÑаÑÐ¸Ñ Ð°Ñдио, оÑлиÑнÑÑ Ð¾Ñ
-ÑÑандаÑÑной, ÑÑо ознаÑаеÑ, ÑÑо аÑдиодоÑожка VOB 129 — ÑÑо вÑоÑаÑ
-аÑдиодоÑожка Ñайла).
-</para>
-
-<para>
-Ðо иногда Ñ ÐÐ°Ñ Ð´ÐµÐ¹ÑÑвиÑелÑно Ð½ÐµÑ Ð¸Ð½Ð¾Ð³Ð¾ вÑбоÑа, Ñем далее ÑжимаÑÑ
-звÑк Ð´Ð»Ñ Ñого, ÑÑоб болÑÑе биÑов могло бÑÑÑ Ð¿Ð¾ÑÑаÑено на видео.
-ÐолÑÑинÑÑво лÑдей пÑедпоÑиÑаÑÑ ÑжимаÑÑ Ð·Ð²Ñк Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ MP3 или
-Vorbis аÑдиокодеков.
-ÐоÑледний ÑвлÑеÑÑÑ Ð¾ÑÐµÐ½Ñ ÑÑÑекÑивнÑм, но MP3 лÑÑÑе поддеÑживаеÑÑÑ
-аппаÑаÑнÑми плееÑами, Ñ
оÑÑ ÑÑа ÑенденÑÐ¸Ñ Ð¼ÐµÐ½ÑеÑÑÑ.
-</para>
-
-<para>
-<emphasis>Ðе</emphasis> иÑполÑзÑйÑе <option>-nosound</option> пÑи
-кодиÑовании Ñайла Ñ Ð°Ñдио, даже еÑли позже ÐÑ Ð±ÑдеÑе оÑделÑно
-кодиÑоваÑÑ Ð¸ мÑлÑÑеплекÑиÑоваÑÑ Ð°Ñдио.
-ХоÑÑ ÑÑо Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ð² идеалÑнÑÑ
ÑлÑÑаÑÑ
, иÑполÑзование
-<option>-nosound</option> обÑÑно ÑкÑÑÐ²Ð°ÐµÑ ÑÑд пÑоблем в ÐаÑиÑ
-наÑÑÑойкаÑ
кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² командной ÑÑÑоке.
-ÐÑÑгими Ñловами, налиÑие звÑковой доÑожки в пÑоÑеÑÑе кодиÑованиÑ
-гаÑанÑиÑÑÐµÑ Ðам, ÑÑо в ÑлÑÑае оÑÑÑÑÑÑÐ²Ð¸Ñ ÑообÑений, подобнÑÑ
-<quote>СлиÑком много аÑдиопакеÑов в бÑÑеÑе</quote>, Ñ ÐÐ°Ñ Ð±ÑдеÑ
-полÑÑена пÑавилÑÐ½Ð°Ñ ÑинÑ
ÑонизаÑиÑ.
-</para>
-
-<para>
-Ðам необÑ
одимо обÑабоÑаÑÑ Ð·Ð²Ñк Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<application>MEncoder</application>.
-ÐапÑимеÑ, ÐÑ Ð¼Ð¾Ð¶ÐµÑе копиÑоваÑÑ Ð¸ÑÑ
однÑÑ Ð·Ð²ÑковÑÑ Ð´Ð¾ÑÐ¾Ð¶ÐºÑ Ð²
-пÑоÑеÑÑе кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ <option>-oac copy</option> или
-пÑеобÑазоваÑÑ ÐµÑ Ð² "лÑгкий" 4 кÐÑ Ð¼Ð¾Ð½Ð¾ WAV PCM Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<option>-oac pcm -channels 1 -srate 4000</option>.
-ÐнаÑе, в ÑÑде ÑлÑÑаев, бÑÐ´ÐµÑ ÑоздаваÑÑÑÑ Ð²Ð¸Ð´ÐµÐ¾ Ñайл,
-ÑаÑÑинÑ
ÑонизиÑованнÑй Ñ Ð°Ñдио.
-Такие ÑлÑÑаи пÑоиÑÑ
одÑÑ, когда ÑиÑло кадÑов видео иÑÑ
одного Ñайла
-не ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ длиной кадÑов аÑдио, или когда бÑли
-ÑазÑÑвÑ/ÑÑÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñока, где поÑвилиÑÑ Ð¿ÑопÑÑеннÑе или излиÑние
-аÑдиокадÑÑ.
-ÐÑавилÑнÑм ÑеÑением подобнÑÑ
пÑоблем ÑвлÑеÑÑÑ Ð²ÑÑавка ÑиÑÐ¸Ð½Ñ Ð¸Ð»Ð¸
-ÑÑеÑение аÑдио в ÑакиÑ
ÑоÑкаÑ
.
-Ðднако, <application>MPlayer</application> не Ð¼Ð¾Ð¶ÐµÑ ÑÑо ÑделаÑÑ
-и еÑли ÐÑ Ð´ÐµÐ¼ÑлÑÑиплекÑиÑÑеÑе AC-3 аÑдио и кодиÑÑеÑе его оÑделÑнÑм
-пÑиложением (или ÑоздаÑÑе дамп в PCM Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<application>MPlayer</application>), ÑÑÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑÑанÑÑÑÑ
-неÑкоÑÑекÑиÑованнÑми и единÑÑвеннÑй иÑпоÑоб иÑ
иÑпÑавиÑÑ —
-пÑопÑÑкаÑÑ/дÑблиÑоваÑÑ Ð²Ð¸Ð´ÐµÐ¾ÐºÐ°Ð´ÑÑ Ð² меÑÑаÑ
ÑÑивки.
-Ðока <application>MEncoder</application> Ð²Ð¸Ð´Ð¸Ñ Ð°Ñдио пÑи
-кодиÑовании видео, он Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑ ÑÑÐ¾Ñ Ð¿ÑопÑÑк/дÑблиÑование
-(ÑÑо обÑÑно не вÑзÑвÑÐµÑ Ð¿Ñоблем, Ñ.к. пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ñи полноÑÑÑÑ
-ÑÑÑнÑÑ
кадÑаÑ
или пÑи Ñмене ÑÑен), но еÑли
-<application>MEncoder</application> не доÑÑÑпно аÑдио, он пÑоÑÑо
-бÑÐ´ÐµÑ Ð¾Ð±ÑабаÑÑваÑÑ Ð²Ñе кадÑÑ "как еÑÑÑ" и они не бÑдÑÑ ÑовпадаÑÑ
-Ñ Ð¾ÐºÐ¾Ð½ÑаÑелÑнÑм аÑдиопоÑоком, когда ÐÑ, напÑимеÑ, обÑединиÑе
-аÑдио и видео доÑожки в Matroska Ñайл.
-</para>
-
-<para>
-ÐÑежде вÑего, Ðам необÑ
одимо пÑеобÑазоваÑÑ DVD звÑк в WAV Ñайл,
-коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð°Ñдиокодеком в каÑеÑÑве вÑ
однÑÑ
-даннÑÑ
. ÐапÑимеÑ:
-<screen>
-mplayer <replaceable>иÑÑ
однÑй_Ñайл.vob</replaceable> -ao pcm:file=<replaceable>звÑк.wav</replaceable>
- -vc dummy -aid 1 -vo null
-</screen>
-ÑоÑ
ÑÐ°Ð½Ð¸Ñ Ð²ÑоÑÑÑ Ð°ÑдиодоÑÐ¾Ð¶ÐºÑ Ð¸Ð· Ñайла
-<replaceable>иÑÑ
однÑй_Ñайл.vob</replaceable> в Ñайл
-<replaceable>звÑк.wav</replaceable>.
-Ðозможно, ÐÑ Ð·Ð°Ñ
оÑиÑе ноÑмализоваÑÑ Ð·Ð²Ñк пеÑед кодиÑованием,
-поÑколÑÐºÑ Ð°ÑдиодоÑожки DVD обÑÑно запиÑÑваÑÑÑÑ Ñ Ð¼Ð°Ð»ÐµÐ½Ñкой
-гÑомкоÑÑÑÑ.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ, напÑимеÑ, ÑÑилиÑÑ <application>normalize</application>,
-доÑÑÑпнÑÑ Ð² болÑÑинÑÑве диÑÑÑибÑÑивов.
-ÐÑли ÐÑ Ð¿Ð¾Ð»ÑзÑеÑеÑÑ Window$, ÑÑилиÑа <application>BeSweet</application>
-Ð´ÐµÐ»Ð°ÐµÑ Ñо же Ñамое.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑжаÑÑ Ð² Vorbis или MP3. ÐапÑимеÑ:
-<screen>oggenc -q1 <replaceable>звÑк.wav</replaceable></screen>
-кодиÑÑÐµÑ <replaceable>звÑк.wav</replaceable> Ñ ÐºÐ°ÑеÑÑвом 1,
-ÑÑо пÑимеÑно ÑквиваленÑно 80 Ðб/Ñ Ð¸ ÑвлÑеÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑм каÑеÑÑвом,
-пÑи коÑоÑом Ðам нÑжно кодиÑоваÑÑ, еÑли ÐÑ Ð·Ð°Ð±Ð¾ÑиÑеÑÑ Ð¾ каÑеÑÑве.
-ÐожалÑйÑÑа, обÑаÑиÑе внимание, ÑÑо <application>MEncoder</application>
-на даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¼ÑлÑÑиплекÑиÑование аÑдиопоÑоков
-Vorbis в вÑÑ
одной Ñайл, поÑколÑÐºÑ Ð¾Ð½ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко AVI и
-MPEG конÑейнеÑÑ Ð´Ð»Ñ Ð²ÑÑ
однÑÑ
Ñайлов, иÑполÑзование каждого из
-коÑоÑÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к пÑоблемам A/V ÑинÑ
ÑонизаÑии Ñ
-некоÑоÑÑми плееÑами, в ÑлÑÑае когда AVI Ñайл ÑодеÑÐ¶Ð¸Ñ VBR
-аÑдиопоÑоки наподобие Vorbis.
-Ðе беÑпокойÑеÑÑ, в данном докÑменÑе бÑÐ´ÐµÑ ÑаÑÑказано как ÐÑ
-можеÑе ÑÑо ÑделаÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑоÑонниÑ
пÑогÑамм.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>ÐÑлÑÑиплекÑиÑование</title>
-
-<para>
-ТепеÑÑ, поÑле Ñого как ÐÑ ÐºÐ¾Ð´Ð¸Ñовали видео, ÑкоÑее вÑего, ÐÑ
-заÑ
оÑиÑе мÑлÑÑиплекÑиÑоваÑÑ ÐµÐ³Ð¾ Ñ Ð¾Ð´Ð½Ð¸Ð¼ или неÑколÑкими
-аÑдиопоÑоками в Ñакие видео конÑейнеÑÑ ÐºÐ°Ðº AVI, MPEG,
-Matroska или NUT.
-Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²ÑÑÑÐ¾ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка вÑвода аÑдио и видео в
-<application>MEncoder</application> еÑÑÑ ÑолÑко Ð´Ð»Ñ ÑоÑмаÑов
-конÑейнеÑов MPEG и AVI.
-ÐапÑимеÑ:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>вÑÑ
одной_ÑилÑм.avi</replaceable> \
- -audiofile <replaceable>иÑÑ
однÑй_звÑк.mp2</replaceable> <replaceable>иÑÑ
одное_видео.avi</replaceable>
-</screen>
-ÐÑо обÑÐµÐ´Ð¸Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾Ñайл <replaceable>иÑÑ
одное_видео.avi</replaceable>
-и аÑдиоÑайл <replaceable>иÑÑ
однÑй_звÑк.mp2</replaceable>
-в AVI Ñайл <replaceable>вÑÑ
одной_ÑилÑм.avi</replaceable>.
-ÐÑа команда ÑабоÑÐ°ÐµÑ Ñ MPEG-1 Ñлой I, II и III (более
-извеÑÑнÑй как MP3) аÑдио, WAV, а Ñакже Ñ Ð½ÐµÐºÐ¾ÑоÑÑми инÑми
-ÑоÑмаÑами аÑдио.
-</para>
-
-<para>
-<application>MEncoder</application>
-Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ ÑкÑпеÑименÑалÑной поддеÑжкой
-<systemitem class="library">libavformat</systemitem> —
-библиоÑеки из пÑоекÑа FFmpeg, поддеÑживаÑÑей мÑлÑÑиплекÑиÑование
-и демÑлÑÑиплекÑиÑование множеÑÑва конÑейнеÑов.
-ÐапÑимеÑ:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>вÑÑ
одной_ÑилÑм.asf</replaceable> \
- -audiofile <replaceable>иÑÑ
однÑй_звÑк.mp2</replaceable> <replaceable>иÑÑ
одное_видео.avi</replaceable> \
- -of lavf -lavfopts format=asf
-</screen>
-ÐÑо ÑÐ´ÐµÐ»Ð°ÐµÑ Ñо же Ñамое, ÑÑо и пÑедÑдÑÑий пÑимеÑ, но вÑÑ
однÑм
-конÑейнеÑом бÑÐ´ÐµÑ ASF.
-ÐожалÑйÑÑа, обÑаÑиÑе внимание, ÑÑо ÑÑа поддеÑжка веÑÑма
-ÑкÑпеÑименÑалÑна (но ÑÑановиÑÑÑ Ð»ÑÑÑе c каждÑм днÑм), и бÑдеÑ
-ÑабоÑаÑÑ ÑолÑко в ÑлÑÑае компилÑÑии <application>MPlayer</application>
-Ñ Ð²ÐºÐ»ÑÑенной поддеÑжкой
-<systemitem class="library">libavformat</systemitem> (ÑÑо ознаÑаеÑ,
-ÑÑо в болÑÑинÑÑве ÑлÑÑаев бинаÑÐ½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð¸Ð· пакеÑов не бÑдеÑ
-ÑабоÑаÑÑ).
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>УлÑÑÑение мÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ надÑжноÑÑи A/V ÑинÑ
ÑонизаÑии</title>
-
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑÑолкнÑÑÑÑÑ Ñ Ð½ÐµÐºÐ¾ÑоÑÑми ÑеÑÑÑзнÑми пÑоблемами A/V
-ÑинÑ
ÑонизаÑии пÑи попÑÑке мÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐаÑего видео
-Ñ Ð½ÐµÐºÐ¾ÑоÑÑми аÑдиодоÑожками, где, как Ð±Ñ ÐÑ Ð½Ðµ подбиÑали задеÑжкÑ
-аÑдио, никогда не полÑÑаеÑÑÑ Ð¿ÑавилÑÐ½Ð°Ñ ÑинÑ
ÑонизаÑиÑ.
-ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоиÑÑ
одиÑÑ Ð¿Ñи иÑполÑзовании некоÑоÑÑÑ
видеоÑилÑÑÑов,
-пÑопÑÑкаÑÑиÑ
или дÑблиÑÑÑÑиÑ
некоÑоÑÑе кадÑÑ, напÑÐ¸Ð¼ÐµÑ ÑилÑÑÑов
-обÑаÑного ÑелеÑина.
-ÐаÑÑоÑÑелÑно ÑекомендÑеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð²Ð¸Ð´ÐµÐ¾ÑилÑÑÑ
-<option>harddup</option> в конÑе ÑепоÑки ÑилÑÑÑов Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ
-подобнÑÑ
пÑоблем.
-</para>
-
-<para>
-Ðез опÑии <option>harddup</option>, в ÑлÑÑае когда
-<application>MEncoder</application> Ñ
оÑÐµÑ Ð´ÑблиÑоваÑÑ ÐºÐ°Ð´Ñ, он
-полагаеÑÑÑ Ð½Ð° Ñо, ÑÑо мÑлÑÑиплекÑÐ¾Ñ ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ Ð¾ÑмеÑÐºÑ Ð²
-конÑейнеÑе Ñаким обÑазом, ÑÑо поÑледний ÐºÐ°Ð´Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð²ÑоÑен длÑ
-доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ ÑинÑ
ÑонизаÑии без ÑеалÑной запиÑи кадÑа.
-С опÑией <option>harddup</option>, <application>MEncoder</application>
-вмеÑÑо ÑÑого пÑоÑÑо еÑÑ Ñаз помеÑÑÐ¸Ñ Ð¿Ð¾Ñледний ÐºÐ°Ð´Ñ Ð² ÑепоÑкÑ
-ÑилÑÑÑов.
-ÐÑо ознаÑаеÑ, ÑÑо ÐºÐ¾Ð´ÐµÑ Ð¿Ð¾Ð»ÑÑÐ¸Ñ <emphasis>ÑоÑно</emphasis>
-Ñакой же ÐºÐ°Ð´Ñ Ð´Ð²Ð°Ð¶Ð´Ñ Ð¸ ÑожмÑÑ ÐµÐ³Ð¾.
-ÐÑо пÑиведÑÑ Ñ Ð½ÐµÑколÑко болÑÑÐµÐ¼Ñ ÑайлÑ, но Ð¸Ð·Ð±Ð°Ð²Ð¸Ñ Ð¾Ñ Ð¿Ñоблем
-пÑи демÑлÑÑиплекÑиÑовании или ÑемÑлÑÑиплекÑиÑовании Ñ Ð´ÑÑгими
-ÑоÑмаÑами конÑейнеÑов.
-</para>
-
-<para>
-Также Ñ ÐÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ бÑÑÑ Ð¸Ð½Ð¾Ð³Ð¾ вÑбоÑа, как иÑполÑзоваÑÑ
-<option>harddup</option> Ñ ÑоÑмаÑами конÑейнеÑов, коÑоÑÑе
-не ÑлиÑком плоÑно ÑвÑÐ·Ð°Ð½Ñ Ñ
-<application>MEncoder</application>, напÑимеÑ, Ñ ÑоÑмаÑами,
-поддеÑживаемÑми Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<systemitem class="library">libavformat</systemitem>,
-коÑоÑÑе могÑÑ Ð½Ðµ поддеÑживаÑÑ Ð´ÑблиÑование кадÑов на ÑÑовне
-конÑейнеÑа.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>ÐгÑаниÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑейнеÑа AVI</title>
-
-<para>
-ХоÑÑ ÑÑо ÑамÑй ÑиÑоко ÑаÑпÑоÑÑÑанÑннÑй ÑоÑÐ¼Ð°Ñ ÐºÐ¾Ð½ÑейнеÑа поÑле
-MPEG-1, он Ñакже Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑми ÑÑÑеÑÑвеннÑми недоÑÑаÑками.
-ÐожалÑй, они наиболее оÑÐµÐ²Ð¸Ð´Ð½Ñ Ð² его избÑÑоÑноÑÑи.
-ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑепоÑки AVI Ñайла ÑеÑÑеÑÑÑ 24 байÑа на заголовки и
-индекÑ.
-ÐÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ 5 ÐÐ/ÑÐ°Ñ Ð¸Ð»Ð¸ 1.0-2.5% избÑÑоÑноÑÑи
-Ð´Ð»Ñ 700 ÐÐ ÑилÑма. ÐÑо не кажеÑÑÑ Ð±Ð¾Ð»ÑÑим, но Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð·Ð½Ð°ÑаÑÑ
-ÑазниÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ 700 кбиÑ/Ñек или
-714 кбиÑ/Ñек в ÑлÑÑаÑÑ
, когда каждÑй Ð±Ð¸Ñ Ð½Ð° ÑÑеÑÑ.
-</para>
-
-<para>
-Рдополнение к малой ÑÑÑекÑивноÑÑи, AVI Ñакже Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ ÑледÑÑÑими
-ÑеÑÑÑзнÑми огÑаниÑениÑми:
-</para>
-
-<orderedlist>
-<listitem><para>
- ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ ÑоÑ
Ñанено ÑолÑко ÑодеÑжимое Ñ ÑикÑиÑованной ÑаÑÑоÑой
- кадÑов. Ð ÑаÑÑноÑÑи, ÑÑо оÑобенно огÑаниÑиваеÑ, когда ÐаÑ
- иÑÑ
однÑй маÑеÑиал ÑмеÑанного ÑодеÑжимого: напÑимеÑ, ÑвлÑеÑÑÑ
- ÑмеÑÑÑ NTSC видео и киномаÑеÑиала.
- РдейÑÑвиÑелÑноÑÑи, еÑÑÑ Ñ
аки, позволÑÑÑие ÑоÑ
ÑанÑÑÑ ÑодеÑжимое
- Ñ Ð¿ÐµÑеменнÑм fps в AVI, но они ÑвелиÑиваÑÑ (и без Ñого болÑÑÑÑ)
- избÑÑоÑноÑÑÑ Ð²Ð¿ÑÑеÑо или более Ñого и поÑÑÐ¾Ð¼Ñ Ð½ÐµÐ¿ÑакÑиÑнÑ.
-</para></listitem>
-<listitem><para>
- ÐÑдио в AVI ÑайлаÑ
должно бÑÑÑ Ð¸Ð»Ð¸ Ñ Ð¿Ð¾ÑÑоÑннÑм биÑпоÑоком (CBR)
- или Ñ Ð¿Ð¾ÑÑоÑннÑм ÑазмеÑом кадÑа (Ñ.е. вÑе кадÑÑ Ð´ÐµÐºÐ¾Ð´Ð¸ÑÑÑÑÑÑ
- в одно и Ñо же ÑиÑло вÑбоÑок).
- Ð ÑожалениÑ, ÑамÑй ÑÑÑекÑивнÑй кодек, Vorbis, не ÑдовлеÑвоÑÑеÑ
- ни Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¸Ð· даннÑÑ
ÑÑебований.
- ÐоÑÑомÑ, еÑли ÐÑ Ð¿Ð»Ð°Ð½Ð¸ÑÑеÑе ÑоÑ
ÑанÑÑÑ ÐÐ°Ñ ÑилÑм в AVI, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ
- иÑполÑзоваÑÑ Ð¼ÐµÐ½ÐµÐµ ÑÑÑекÑивнÑй кодек, Ñакой как MP3 или AC-3.
-</para></listitem>
-</orderedlist>
-
-<para>
-Сказав вÑÑ ÑÑо, оÑмеÑим, ÑÑо <application>MEncoder</application>
-на даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ñвод Ñ Ð¿ÐµÑеменнÑм fps или
-Vorbis кодиÑование.
-ÐоÑÑÐ¾Ð¼Ñ ÐÑ Ð¼Ð¾Ð¶ÐµÑе не ÑаÑÑмаÑÑиваÑÑ Ð²ÑÑ ÑÑо как огÑаниÑениÑ, еÑли
-<application>MEncoder</application> — ÑÑо единÑÑвеннÑй
-инÑÑÑÑменÑ, коÑоÑÑй ÐÑ Ð¸ÑполÑзÑеÑе Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ.
-Ðднако, возможно иÑполÑзоваÑÑ <application>MEncoder</application>
-ÑолÑко Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ и заÑем иÑполÑзоваÑÑ Ð²Ð½ÐµÑние
-ÑÑилиÑÑ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñдио и мÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐµÐ³Ð¾ в
-конÑÐµÐ¹Ð½ÐµÑ Ð´ÑÑгого ÑоÑмаÑа.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>ÐÑлÑÑиплекÑиÑование в конÑÐµÐ¹Ð½ÐµÑ Matroska (ÐаÑÑÑÑка)</title>
-
-<para>
-Matroska — ÑÑо ÑвободнÑй, оÑкÑÑÑÑй ÑÑандаÑÑ ÑоÑмаÑа
-конÑейнеÑа, наÑеленнÑй на пÑедоÑÑавление болÑÑого колиÑеÑÑва
-пÑодвинÑÑÑÑ
возможноÑÑей, коÑоÑÑе ÑÑаÑÑе конÑейнеÑÑ (наподобие
-AVI) не поддеÑживаÑÑ.
-ÐапÑимеÑ, Matroska поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð°ÑдиоÑодеÑжимое Ñ Ð¿ÐµÑеменнÑм
-биÑпоÑоком (VBR), пеÑеменнÑе ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов (VFR), ÑазделÑ,
-ÑайловÑе вложениÑ, код обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¾Ñибок (EDC) и ÑовÑеменнÑе
-A/V кодеки, Ñакие как "ÐÑодвинÑÑое ÐÑдио ÐодиÑование" ("Advanced
-Audio Coding", AAC), "Vorbis" или "MPEG-4 AVC" (H.264), Ñакже
-не поддеÑживаемÑе AVI.
-</para>
-
-<para>
-УÑилиÑÑ, необÑ
одимÑе Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Matroska Ñайлов, ÑообÑа
-назÑваÑÑÑÑ <application>mkvtoolnix</application>, и доÑÑÑпнÑ
-Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑинÑÑва Unix плаÑÑоÑм, Ñак же как и Ð´Ð»Ñ Window$.
-ÐоÑколÑÐºÑ Matroska — оÑкÑÑÑÑй ÑоÑмаÑ, ÐÑ Ð¼Ð¾Ð¶ÐµÑе найÑи
-инÑе ÑÑилиÑÑ, коÑоÑÑе лÑÑÑе Ðам подÑ
одÑÑ, но поÑколÑкÑ
-<application>mkvtoolnix</application> — наиболее обÑие
-и поддеÑживаÑÑÑÑ Ñамой командой ÑазÑабоÑÑиков Matroska, мÑ
-бÑдем обÑÑждаÑÑ ÑолÑко иÑ
иÑполÑзование.
-</para>
-
-<para>
-Ðозможно, ÑамÑм пÑоÑÑÑм ÑпоÑобом наÑаÑÑ Ð¸ÑполÑзоваÑÑ Matroska
-ÑвлÑеÑÑÑ Ð¸ÑполÑзование <application>MMG</application>,
-гÑаÑиÑеÑкой оболоÑки, поÑÑавлÑемой Ñ
-<application>mkvtoolnix</application>. СледÑйÑе
-<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">ÑÑководÑÑÐ²Ñ Ðº mkvmerge GUI (mmg)</ulink>.
-</para>
-
-<para>
-Также ÐÑ Ð¼Ð¾Ð¶ÐµÑе мÑлÑÑиплекÑиÑоваÑÑ Ð°Ñдио и видео ÑÐ°Ð¹Ð»Ñ Ð¸ÑполÑзÑÑ
-команднÑÑ ÑÑÑокÑ:
-<screen>
-mkvmerge -o <replaceable>вÑÑ
одной_Ñайл.mkv</replaceable> <replaceable>вÑ
одное_видео.avi</replaceable> <replaceable>вÑ
одное_аÑдио1.mp3</replaceable> <replaceable>вÑ
одное_аÑдио2.ac3</replaceable>
-</screen>
-ÐÑо обÑÐµÐ´Ð¸Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾Ñайл <replaceable>вÑ
одное_видео.avi</replaceable>
-и два аÑдиоÑайла <replaceable>вÑ
одное_аÑдио1.mp3</replaceable>
-и <replaceable>вÑ
одное_аÑдио2.ac3</replaceable> в Matroska
-Ñайл <replaceable>вÑÑ
одной_Ñайл.mkv</replaceable>.
-Ðак бÑло оÑмеÑено Ñанее, Matroska ÑпоÑобна ÑеализоваÑÑ Ð³Ð¾Ñаздо
-болÑÑее, напÑимеÑ, множеÑÑвеннÑе аÑдиодоÑожки (вклÑÑÐ°Ñ ÑонкÑÑ
-наÑÑÑÐ¾Ð¹ÐºÑ Ð°Ñдио/видео ÑинÑ
ÑонизаÑии), ÑазделÑ, ÑÑбÑиÑÑÑ,
-Ñазбиение и Ñ.д..
-ÐожалÑйÑÑа, обÑаÑиÑеÑÑ Ðº докÑменÑаÑии на ÑÑи пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ
-деÑалей.
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-telecine">
-<title>Ðак ÑабоÑаÑÑ Ñ ÑелеÑином и ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой на NTSC DVD</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>Ðведение</title>
-<formalpara>
-<title>ЧÑо Ñакое ÑелеÑин?</title>
-<para>
-ÐÑли ÐÑ Ð½Ðµ понимаеÑе многое из Ñого, ÑÑо здеÑÑ Ð½Ð°Ð¿Ð¸Ñано,
-пÑоÑÑиÑе
-<ulink url="http://en.wikipedia.org/wiki/Telecine">ÑÑаÑÑÑ Ðикипедии о ÑелеÑине</ulink>.
-ÐÑо понÑÑное и ÑазÑмно обÑиÑное опиÑание Ñого, ÑÑо Ñакое
-ÑелеÑин.
-</para></formalpara>
-
-<formalpara>
-<title>ÐамеÑание о ÑиÑлаÑ
.</title>
-<para>
-Ðногие докÑменÑÑ, вклÑÑÐ°Ñ ÑказаннÑÑ Ð²ÑÑе ÑÑаÑÑÑ, ÑÑÑлаÑÑÑÑ
-на колиÑеÑÑво полей в ÑекÑÐ½Ð´Ñ 59.94 Ð´Ð»Ñ NTSC видео и
-ÑооÑвеÑÑÑвÑÑÑие кадÑовÑе ÑаÑÑоÑÑ 29.97 (Ð´Ð»Ñ Ð¿Ð¾Ð´Ð²ÐµÑженного
-ÑелеÑÐ¸Ð½Ñ Ð¸ ÑеÑеÑÑÑÑоÑного видео) и 23.976 (Ð´Ð»Ñ Ð¿Ð¾ÑÑÑоÑного).
-ÐÐ»Ñ Ð¿ÑоÑÑоÑÑ Ð² ÑÑде ÑÑаÑей ÑÑи ÑиÑла даже окÑÑглÑÑÑÑÑ Ð´Ð¾ 60, 30
-и 24 ÑооÑвеÑÑÑвенно.
-</para></formalpara>
-
-<para>
-СÑÑого говоÑÑ, вÑе ÑÑи ÑиÑла ÑвлÑÑÑÑÑ Ð°Ð¿Ð¿ÑокÑимаÑиÑми.
-ЧÑÑно-белое NTSC видео бÑло ÑоÑно Ñ 60 полÑми в ÑекÑндÑ, но
-позже бÑла вÑбÑана ÑаÑÑоÑа 60000/1001 Ð´Ð»Ñ Ð°Ð´Ð°Ð¿ÑаÑии ÑвеÑовой
-инÑоÑмаÑии Ñ Ð¾Ð´Ð½Ð¾Ð²ÑеменнÑм ÑоÑ
Ñанением ÑовмеÑÑимоÑÑи Ñ ÑÑÑно-белÑм
-Ñелевидением.
-ЦиÑÑовое NTSC видео (Ñакое как на DVD) Ñакже Ñ 60000/1001
-полÑми в ÑекÑндÑ. ÐÑÑÑда возникла кадÑÐ¾Ð²Ð°Ñ ÑаÑÑоÑа 30000/1001
-кадÑ/Ñек Ð´Ð»Ñ ÑеÑеÑÑÑÑоÑного и ÑелеÑиненного видео; поÑÑÑоÑное
-видео идÑÑ Ñ 24000/1001 кадÑ/Ñек.
-</para>
-
-<para>
-СÑаÑÑе веÑÑии докÑменÑаÑии <application>MEncoder</application>
-и много аÑÑ
ивнÑÑ
ÑообÑений из ÑпиÑков ÑаÑÑÑлки ÑÑÑлаÑÑÑÑ Ð½Ð°
-59.94, 29.97 и 23.976. ÐÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ <application>MEncoder</application>
-бÑла обновлена Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´ÑобнÑÑ
знаÑений, и Ðам Ñак же
-ÑледÑÐµÑ Ð¸Ñ
иÑполÑзоваÑÑ.
-</para>
-
-<para>
-<option>-ofps 23.976</option> — непÑавилÑно.
-Ðзамен нÑжно иÑполÑзоваÑÑ <option>-ofps 24000/1001</option>.
-</para>
-
-<formalpara>
-<title>Ðак иÑполÑзÑеÑÑÑ ÑелеÑин.</title>
-<para>
-ÐÑÑ Ð²Ð¸Ð´ÐµÐ¾, пÑедназнаÑенное Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа на NTSC Ñелевидении
-должно бÑÑÑ Ñ 60000/1001 полÑми в ÑекÑндÑ. ФилÑмÑ, ÑделаннÑе
-Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° на TV ÑаÑÑо ÑнимаÑÑÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно пÑи 60000/1001
-полей в ÑекÑндÑ, но болÑÑинÑÑво кино ÑнимаеÑÑÑ Ð½Ð° 24 или
-24000/1001 кадÑаÑ
в ÑекÑндÑ. РпÑоÑеÑÑе ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ DVD Ñ
-киноÑилÑмом, видео пÑеобÑазÑеÑÑÑ Ð´Ð»Ñ ÑÐµÐ»ÐµÐ²Ð¸Ð´ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-пÑоÑеÑÑа, назÑваемого ÑелеÑин.
-</para></formalpara>
-
-<para>
-РдейÑÑвиÑелÑноÑÑи, видео никогда не Ñ
ÑаниÑÑÑ Ð½Ð° DVD Ñ
-60000/1001 полÑми в ÑекÑндÑ. ÐÐ»Ñ Ð²Ð¸Ð´ÐµÐ¾, оÑигиналÑно ÑвлÑÑÑегоÑÑ
-60000/1001, ÐºÐ°Ð¶Ð´Ð°Ñ Ð¿Ð°Ñа полей обÑединÑеÑÑÑ Ð´Ð»Ñ ÑоÑмиÑованиÑ
-кадÑа, пÑÐ¸Ð²Ð¾Ð´Ñ Ðº 30000/1001 кадÑам в ÑекÑндÑ. ÐаÑем аппаÑаÑнÑе
-DVD плееÑÑ ÑиÑаÑÑ Ñлаг, вклÑÑеннÑй в видеопоÑок, Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ
-Ñого какие, ÑÑÑнÑе или неÑÑÑнÑе ÑÑÑоки Ð´Ð¾Ð»Ð¶Ð½Ñ ÑоÑмиÑоваÑÑ Ð¿ÐµÑвÑй
-кадÑ.
-</para>
-
-<para>
-ÐбÑÑно, ÑодеÑжимое Ñ ÑаÑÑоÑой кадÑов 24000/1001 оÑÑаÑÑÑÑ
-неизменнÑм пÑи кодиÑовании на DVD и DVD Ð¿Ð»ÐµÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ вÑполниÑÑ
-ÑелеÑин на леÑÑ. Ðднако, иногда видео подвеÑгаеÑÑÑ ÑелеÑинÑ
-<emphasis>до</emphasis> запиÑи на DVD; и Ñ
оÑÑ Ð¾Ð½Ð¾ изнаÑалÑно
-бÑло Ñ 24000/1001 кадÑ/Ñек, видео ÑÑановиÑÑÑ Ñ 60000/1001 полÑми
-в ÑекÑндÑ. Ðогда оно ÑоÑ
ÑанÑеÑÑÑ Ð½Ð° DVD, паÑÑ Ð¿Ð¾Ð»ÐµÐ¹ обÑединÑÑÑÑÑ
-Ð´Ð»Ñ ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ 30000/1001 кадÑов в ÑекÑндÑ.
-</para>
-
-<para>
-ÐÑи ÑаÑÑмоÑÑении оÑделÑнÑÑ
кадÑов, полÑÑеннÑÑ
из 60000/1001
-полей в ÑекÑндÑ, ÑелеÑиненнÑÑ
или наобоÑоÑ, ÑеÑеÑÑÑÑоÑнаÑ
-ÑазвÑÑÑка ÑÑÑко видна в ÑлÑÑае, еÑли еÑÑÑ ÐºÐ°ÐºÐ¾Ðµ-либо движение,
-поÑколÑÐºÑ Ð¾Ð´Ð½Ð¾ поле (Ñкажем, Ñ ÑÑÑнÑми номеÑами ÑÑÑок)
-оÑобÑÐ°Ð¶Ð°ÐµÑ Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени на 1/(60000/1001) ÑекÑÐ½Ð´Ñ Ð¿Ð¾Ð·Ð¶Ðµ, Ñем
-дÑÑгое поле. ÐоÑпÑоизведение ÑеÑеÑÑÑÑоÑного видео на компÑÑÑеÑе
-вÑглÑÐ´Ð¸Ñ ÑквеÑно по двÑм пÑиÑинам: мониÑÐ¾Ñ Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð±Ð¾Ð»ÐµÐµ вÑÑоким
-ÑазÑеÑением и видео показÑваеÑÑÑ Ð¿Ð¾ÐºÐ°Ð´Ñово, вмеÑÑо оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾
-полÑм.
-</para>
-
-<itemizedlist>
-<title>ÐамеÑаниÑ:</title>
-<listitem><para>
-ÐÑÐ¾Ñ Ñаздел пÑименим ÑолÑко к NTSC DVD, а не к PAL.
-</para></listitem>
-<listitem><para>
-ÐÑимеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑÑ
ÑÑÑок <application>MEncoder</application>
-в данном Ñазделе <emphasis role="bold">не</emphasis>
-пÑедназнаÑÐµÐ½Ñ Ð´Ð»Ñ ÑеалÑного иÑполÑзованиÑ. Ðни пÑоÑÑо ÑвлÑÑÑÑÑ
-минималÑно необÑ
одимÑм ÑÑебованием Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ
-ÑооÑвеÑÑÑвÑÑÑей каÑегоÑии видео. То, как ÑделаÑÑ Ñ
оÑоÑие DVD
-ÑÐ¸Ð¿Ñ Ð¸Ð»Ð¸ Ñонко наÑÑÑоиÑÑ
-<systemitem class="library">libavcodec</systemitem> длÑ
-доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑималÑного каÑеÑÑва, не вÑ
Ð¾Ð´Ð¸Ñ Ð² Ñамки данного
-Ñаздела; обÑаÑиÑеÑÑ Ðº дÑÑгим Ñазделам
-<link linkend="encoding-guide">Ð ÑководÑÑва по кодиÑованиÑ
-Ñ MEncoder</link>.
-</para></listitem>
-<listitem><para>
-ÐÑÑÑ Ð½ÐµÑколÑко ÑноÑок, ÑпеÑиÑиÑнÑÑ
Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÑководÑÑва,
-обознаÑеннÑÑ
ÑледÑÑÑим обÑазом:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-telecine-ident">
-<title>Ðак ÑаÑпознаÑÑ Ñип ÐаÑего видео</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>ÐоÑÑÑоÑÐ½Ð°Ñ ÑазвÑÑÑка</title>
-<para>
-Ðидео Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой изнаÑалÑно запиÑÑваеÑÑÑ Ð½Ð°
-24000/1001 fps и ÑоÑ
ÑанÑеÑÑÑ Ð½Ð° DVD без ÑеÑедованиÑ.
-</para>
-
-<para>
-ÐÑи воÑпÑоизведении DVD Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой в
-<application>MPlayer</application>, <application>MPlayer</application>
-вÑÐ²ÐµÐ´ÐµÑ ÑледÑÑÑÑÑ ÑÑÑÐ¾ÐºÑ Ð¿Ñи наÑале воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑилÑма:
-
-<screen>demux_mpg: обнаÑÑжено 24000/1001 кадÑа/Ñек NTSC ÑодеÑжимое Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой,
-пеÑеклÑÑÐ°Ñ ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов.</screen>
-
-ÐаÑÐ¸Ð½Ð°Ñ Ñ ÑÑого моменÑа, demux_mpg никогда не должен
-ÑообÑаÑÑ Ð¾ Ñом, ÑÑо найдено
-"30000/1001 кадÑов/Ñек NTSC ÑодеÑжимое".
-</para>
-
-<para>
-ÐÑи пÑоÑмоÑÑе видео Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой ÐÑ Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð°
-наблÑдаÑÑ ÑеÑеÑÑÑÑоÑноÑÑÑ. Ðднако, бÑдÑÑе оÑÑоÑожнÑ, поÑколÑкÑ
-иногда еÑÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ°Ñ Ð¿ÑимеÑÑ ÑелеÑина Ñам, где ÐÑ ÑÑого не
-ожидаеÑе. Ðной наблÑдалиÑÑ DVD Ñ TV-ÑоÑ, Ñ ÐºÐ¾ÑоÑÑÑ
бÑла одна
-ÑекÑнда ÑелеÑина пÑи каждой Ñмене ÑÑен или в ÑлÑÑайнÑÑ
на вид
-меÑÑаÑ
. ÐÐ´Ð½Ð°Ð¶Ð´Ñ Ñ Ð²Ð¸Ð´ÐµÐ» DVD, Ñ ÐºÐ¾ÑоÑого одна половина бÑла Ñ
-поÑÑÑоÑной ÑазвÑÑÑкой, а вÑоÑÐ°Ñ — ÑелеÑиненной. ÐÑли ÐÑ
-желаеÑе бÑÑÑ <emphasis>дейÑÑвиÑелÑно</emphasis> ÑвеÑеннÑми,
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑоÑканиÑоваÑÑ Ð²ÐµÑÑ ÑилÑм:
-
-<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-
-ÐÑполÑзование <option>-benchmark</option> позволÑеÑ
-<application>MPlayer</application> воÑпÑоизводиÑÑ ÑилÑм ÑÑолÑ
-бÑÑÑÑо, ÑÐºÐ¾Ð»Ñ ÑÑо возможно; Ñем не менее, в завиÑимоÑÑи оÑ
-ÐаÑего железа, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð½ÑÑÑ Ð½ÐµÐºÐ¾ÑоÑое вÑемÑ. ÐÑÑкий Ñаз,
-когда demux_mpg бÑÐ´ÐµÑ ÑообÑаÑÑ Ð¾Ð± изменении ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов,
-ÑÑÑока пÑÑмо над ÑообÑением Ð¿Ð¾ÐºÐ°Ð¶ÐµÑ Ðам вÑемÑ, пÑи коÑоÑом
-пÑоизоÑло изменение.
-</para>
-
-<para>
-Ðногда видео на DVD Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой назÑваÑÑ
-"мÑгким ÑелеÑином", поÑколÑÐºÑ Ð¿ÑедполагаеÑÑÑ, ÑÑо
-ÑелеÑин бÑÐ´ÐµÑ Ð²Ñполнен DVD плееÑом.
-</para>
-</sect3>
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>ТелеÑин</title>
-<para>
-ТелеÑиненное видео изнаÑалÑно ÑнимаеÑÑÑ Ð½Ð° 24000/1001 кадÑ/Ñек,
-но подвеÑгаеÑÑÑ ÑелеÑÐ¸Ð½Ñ <emphasis>до</emphasis> запиÑи на DVD.
-</para>
-
-<para>
-<application>MPlayer</application> не (вÑегда) ÑообÑÐ°ÐµÑ Ð¾Ð±
-изменении ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов пÑи воÑпÑоизведении ÑелеÑиненного
-видео.
-</para>
-
-<para>
-ÐÑи пÑоÑмоÑÑе ÑелеÑиненного видео, ÐÑ Ð±ÑдеÑе видеÑÑ "меÑÑаÑÑие"
-аÑÑеÑакÑÑ ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑки: они бÑдÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑаÑно
-повÑоÑÑÑÑÑÑ Ð¸ иÑÑезаÑÑ.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе деÑалÑно ÑÑо ÑаÑÑмоÑÑеÑÑ ÑледÑÑÑим обÑазом:
-<orderedlist>
-<listitem>
- <screen>mplayer dvd://1</screen>
- </listitem>
-<listitem><para>
- ÐеÑемеÑÑиÑеÑÑ Ð² ÑаÑÑÑ ÑилÑма Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸ÐµÐ¼.
- </para></listitem>
-<listitem><para>
- ÐÑполÑзÑйÑе клавиÑÑ <keycap>.</keycap> Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð´Ñовой пеÑемоÑки
- впеÑÑд.
- </para></listitem>
-<listitem><para>
- ÐаблÑдайÑе за поÑледоваÑелÑноÑÑÑÑ ÐºÐ°Ð´Ñов Ñ ÑеÑеÑÑÑÑоÑной и
- поÑÑÑоÑной ÑазвÑÑÑкой. ÐÑли ÐÑ Ð²Ð¸Ð´Ð¸Ñе ÑледÑÑÑÑÑ ÑÑÑÑкÑÑÑÑ:
- ЧЧЧÐÐ,ЧЧЧÐÐ,ЧЧЧÐÐ,... (где Ч — ÑеÑеÑÑÑÑоÑнÑе, а Ð —
- поÑÑÑоÑнÑе кадÑÑ), знаÑÐ¸Ñ Ð²Ð¸Ð´ÐµÐ¾ ÑелеÑиненное. ÐÑли ÐÑ
- наблÑдаеÑе инÑÑ ÑÑÑÑкÑÑÑÑ, видео Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑелеÑиненнÑм,
- иÑполÑзÑÑ ÐºÐ°ÐºÐ¾Ð¹-либо неÑÑандаÑÑнÑй меÑод;
- <application>MEncoder</application> не Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑеобÑазоваÑÑ
- без поÑеÑÑ Ð½ÐµÑÑандаÑÑнÑй ÑелеÑин в поÑÑÑоÑнÑÑ ÑазвÑÑÑкÑ.
- ÐÑли ÐÑ Ð½Ðµ видиÑе вообÑе никакой ÑÑÑÑкÑÑÑÑ, знаÑÐ¸Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ
- веÑоÑÑно, ÑÑо видео Ñ ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой.
- </para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Ðногда подвеÑженное ÑелеÑÐ¸Ð½Ñ Ð²Ð¸Ð´ÐµÐ¾ на DVD назÑваÑÑ "жеÑÑким ÑелеÑином".
-ÐоÑколÑÐºÑ Ð¶ÐµÑÑкий ÑелеÑин Ñже Ð¸Ð¼ÐµÐµÑ 60000/1001 полей в ÑекÑндÑ, DVD
-пÑоигÑÑваÑелÑ, воÑпÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ñ ÐµÐ³Ð¾, не Ð´ÐµÐ»Ð°ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
пÑеобÑазований.
-</para>
-
-<para>
-ÐÑÑгой ÑпоÑоб вÑÑÑниÑÑ, бÑл ÐÐ°Ñ Ð¸ÑÑоÑник подвеÑжен ÑелеÑÐ¸Ð½Ñ Ð¸Ð»Ð¸ неÑ, заклÑÑаеÑÑÑ
-в воÑпÑоизведении иÑÑ
одного маÑеÑиала Ñ Ð¾Ð¿ÑиÑми командной ÑÑÑоки
-<option>-vf pullup</option> и <option>-v</option>, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ, как
-<option>pullup</option> ÑопоÑÑавлÑÐµÑ ÐºÐ°Ð´ÑÑ.
-ÐÑли иÑÑоÑник бÑл ÑелеÑиненнÑм, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвидеÑÑ Ð² конÑоли 3:2 ÑÑÑÑкÑÑÑÑ Ñ
-ÑеÑедÑÑÑимиÑÑ <systemitem>0+.1.+2</systemitem> и <systemitem>0++1</systemitem>.
-ÐÑеимÑÑеÑÑво ÑÑой ÑеÑ
ники ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑо не ÑÑебÑеÑÑÑ Ð¿ÑоÑмаÑÑиваÑÑ Ð¸ÑÑ
однÑй
-маÑеÑиал Ð´Ð»Ñ ÐµÐ³Ð¾ иденÑиÑикаÑии, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ Ð°Ð²ÑомаÑизаÑии
-пÑоÑедÑÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²ÑÑеÑказанной пÑоÑедÑÑÑ Ñдаленно ÑеÑез
-медленное Ñоединение.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>ЧеÑеÑÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑка</title>
-
-<para>
-ЧеÑеÑÑÑÑоÑное видео изнаÑалÑно ÑнималоÑÑ Ð½Ð° 60000/1001 полÑми в ÑекÑндÑ,
-и ÑоÑ
ÑанÑлоÑÑ Ð½Ð° DVD Ñ 30000/1001 кадÑами в ÑекÑндÑ. ÐÑÑÐµÐºÑ ÑеÑеÑÑÑÑоÑноÑÑи
-(ÑаÑÑо назÑваемÑй "гÑебÑнкой") — ÑезÑлÑÑÐ°Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°ÑÑ Ð¿Ð¾Ð»ÐµÐ¹ в кадÑÑ.
-ÐÐ¾Ð»Ñ ÑдвинÑÑÑ Ð´ÑÑг оÑноÑиÑелÑно дÑÑга на 1/(60000/1001) ÑекÑндÑ,
-и, когда оÑобÑажаÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно, ÑазниÑа замеÑна.
-</para>
-
-<para>
-Ðак и Ñ Ð¿Ð¾Ð´Ð²ÐµÑженнÑм ÑелеÑÐ¸Ð½Ñ Ð²Ð¸Ð´ÐµÐ¾, <application>MPlayer</application> не должен
-ÑообÑаÑÑ Ð¾ какиÑ
-либо изменениÑÑ
ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов пÑи воÑпÑоизведении
-ÑеÑеÑÑÑÑоÑного ÑодеÑжимого.
-</para>
-
-<para>
-ÐнимаÑелÑно, ÐºÐ°Ð´Ñ Ð·Ð° кадÑом (пÑи помоÑи клавиÑи <keycap>.</keycap>) ÑаÑÑмаÑÑиваÑ
-ÑеÑеÑÑÑÑоÑное видео, ÐÑ ÑвидиÑе, ÑÑо каждÑй оÑделÑнÑй ÐºÐ°Ð´Ñ — ÑеÑеÑÑÑÑоÑнÑй.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>СмеÑаннÑе поÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑка и ÑелеÑин</title>
-
-<para>
-ÐÑе видео Ñо "ÑмеÑаннÑми поÑÑÑоÑной ÑазвеÑÑкой и ÑелеÑином" изнаÑалÑно бÑло Ñ
-24000/1001 кадÑами в ÑекÑндÑ, но некоÑоÑÑе его ÑаÑÑи оказалиÑÑ Ð¿Ð¾Ð´Ð²ÐµÑженÑ
-ÑелеÑинÑ.
-</para>
-
-<para>
-Ðогда <application>MPlayer</application> воÑпÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ ÑÑÑ ÐºÐ°ÑегоÑиÑ, он бÑдеÑ
-(как пÑавило, пеÑиодиÑеÑки) пеÑеклÑÑаÑÑÑÑ Ð¼ÐµÐ¶Ð´Ñ "30000/1001 кадÑов/Ñек NTSC
-ÑодеÑжимÑм" и "24000/1001 кадÑа/Ñек NTSC ÑодеÑжимÑм Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой".
-СмоÑÑиÑе ÐºÐ¾Ð½ÐµÑ Ð²Ñвода <application>MPlayer</application>, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ
-ÑÑи ÑообÑениÑ.
-</para>
-
-<para>
-Ðам ÑледÑÐµÑ Ð¿ÑовеÑиÑÑ ÑÐ°Ð·Ð´ÐµÐ»Ñ Ñ "30000/1001 кадÑов/Ñек NTSC ÑодеÑжимÑм",
-ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо видео дейÑÑвиÑелÑно ÑелеÑиненное, а не пÑоÑÑо
-ÑеÑеÑÑÑÑоÑное.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>СмеÑаннÑе поÑÑÑоÑÐ½Ð°Ñ Ð¸ ÑеÑеÑÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑки</title>
-
-<para>
-Ð ÑодеÑжимом Ñо "ÑмеÑаннÑми поÑÑÑоÑной и ÑеÑеÑÑÑÑоÑной ÑазвеÑÑками",
-поÑÑÑоÑное и ÑеÑеÑÑÑÑоÑное видео пеÑеплеÑаÑÑÑÑ Ð´ÑÑг Ñ Ð´ÑÑгом.
-</para>
-
-<para>
-ÐÑа каÑегоÑÐ¸Ñ Ð²ÑглÑÐ´Ð¸Ñ Ñакже, как и "ÑмеÑаннÑе поÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑка и ÑелеÑин",
-до ÑеÑ
поÑ, пока не пÑовеÑиÑе ÑÐ°Ð·Ð´ÐµÐ»Ñ 30000/1001 кадÑ/Ñек и не ÑвидиÑе,
-ÑÑо ÑÑÑÑкÑÑÑа ÑелеÑина оÑÑÑÑÑÑвÑеÑ.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-encode">
-<title>Ðак кодиÑоваÑÑ ÐºÐ°Ð¶Ð´ÑÑ ÐºÐ°ÑегоÑиÑ</title>
-
-<para>
-Ðак Ñже бÑло Ñказано вÑÑе, поÑледÑÑÑие пÑимеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑÑ
ÑÑÑок
-<application>MEncoder</application> <emphasis role="bold">не</emphasis> ознаÑаÑÑ,
-ÑÑо надо иÑполÑзоваÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ иÑ
; они вÑего лиÑÑ Ð¿ÑимеÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñного набоÑа паÑамеÑÑов
-Ð´Ð»Ñ Ð¿ÑавилÑного кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ каÑегоÑии.
-</para>
-
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>ÐоÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑка</title>
-
-<para>
-Ðидео Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвеÑÑкой не ÑÑебÑÐµÑ ÑпеÑиалÑной обÑабоÑки Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ.
-ÐдинÑÑвеннÑй нÑжнÑй Ðам Ð´Ð»Ñ ÑвеÑенноÑÑи паÑамеÑÑ — ÑÑо
-<option>-ofps 24000/1001</option>.
-РпÑоÑивном ÑлÑÑае <application>MEncoder</application> бÑÐ´ÐµÑ Ð¿ÑÑаÑÑÑÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ
-Ñ 30000/1001 кадÑами в ÑекÑÐ½Ð´Ñ Ð¸ ÑоздаÑÑ Ð´ÑблиÑÑÑÑиеÑÑ ÐºÐ°Ð´ÑÑ.
-</para>
-
-<para>
-<screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
-ЧаÑÑÑй ÑлÑÑай, однако, когда видео, вÑглÑдÑÑее поÑÑÑоÑнÑм, на Ñамом деле
-ÑодеÑÐ¶Ð¸Ñ Ð¾ÑÐµÐ½Ñ ÐºÐ¾ÑоÑкие подвеÑженнÑе ÑелеÑÐ¸Ð½Ñ ÑаÑÑи. ÐÑли ÐÑ Ð½Ðµ ÑвеÑенÑ,
-безопаÑнее бÑÐ´ÐµÑ ÑÑиÑаÑÑ ÐµÐ³Ð¾ как видео Ñо
-<link linkend="menc-feat-telecine-encode-mixedpt">ÑмеÑаннÑми поÑÑÑоÑной
-ÑазвеÑÑкой ÑелеÑином</link>.
-ÐоÑеÑÑ ÑкоÑоÑÑи невелика<link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>ТелеÑин</title>
-
-<para>
-ТелеÑин Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð±ÑаÑÑн Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾ÑигиналÑного 24000/1001 ÑодеÑжимого
-пÑи помоÑи пÑоÑеÑÑа, назÑваемого обÑаÑнÑй ÑелеÑин.
-<application>MPlayer</application> ÑодеÑÐ¶Ð¸Ñ Ð½ÐµÑколÑко ÑилÑÑÑов Ð´Ð»Ñ Ð²ÑполнениÑ
-ÑÑого; лÑÑÑий из ниÑ
, <option>pullup</option> опиÑан в Ñазделе
-<link linkend="menc-feat-telecine-encode-mixedpt">ÑмеÑаннÑе поÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑка
-и ÑелеÑин</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>ЧеÑеÑÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑка</title>
-
-<para>
-Ðа пÑакÑике в болÑÑинÑÑве ÑлÑÑаев невозможно полÑÑиÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿Ð¾ÑÑÑоÑное
-видео из ÑеÑеÑÑÑÑоÑного ÑодеÑжимого.
-ÐдинÑÑвеннÑй ÑпоÑоб ÑделаÑÑ ÑÑо без поÑеÑи Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ Ð²ÐµÑÑикалÑного ÑазÑеÑениÑ
-- ÑÑо ÑдвоиÑÑ ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов и попÑÑаÑÑÑÑ "ÑгадаÑÑ", ÑÑо должно ÑоÑÑавиÑÑ
-ÑооÑвеÑÑÑвÑÑÑие линии каждого Ð¿Ð¾Ð»Ñ (ÑÑÐ¾Ñ ÑпоÑоб Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐ´Ð¾ÑÑаÑки, ÑмоÑÑиÑе меÑод
-3).
-</para>
-
-<orderedlist>
-<listitem><para>
- ÐодиÑÑйÑе видео в ÑеÑеÑÑÑÑоÑной ÑоÑме. ÐбÑÑно ÑÑо наноÑÐ¸Ñ Ð²Ñед ÑпоÑобноÑÑи
- кодиÑовÑика Ñ
оÑоÑо ÑжимаÑÑ, но <systemitem class="library">libavcodec</systemitem>
- Ð¸Ð¼ÐµÐµÑ Ð´Ð²Ð° паÑамеÑÑа ÑпеÑиалÑно Ð´Ð»Ñ ÑÑÑÑ Ð»ÑÑÑего ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑеÑеÑÑÑÑоÑного
- видео: <option>ildct</option> и <option>ilme</option>. Ð ÑÐ¾Ð¼Ñ Ð¶Ðµ, наÑÑоÑÑелÑно
- ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ
- <option>mbd=2</option><link linkend="menc-feat-telecine-footnotes">[2]</link>,
- поÑÐ¾Ð¼Ñ ÑÑо пÑи ÑÑом макÑоблоки в меÑÑаÑ
без Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð±ÑдÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ñ ÐºÐ°Ðº
- неÑеÑеÑÑÑÑоÑнÑе. ÐмейÑе в видÑ, ÑÑо <option>-ofps</option> здеÑÑ ÐРнÑжна.
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
-</para></listitem>
-<listitem><para>
- ÐÑполÑзÑйÑе ÑилÑÑÑ Ð´ÐµÐ¸Ð½ÑеÑлейÑинга пеÑед кодиÑованием. СÑÑеÑÑвÑÐµÑ Ð½ÐµÑколÑко
- ÑакиÑ
ÑилÑÑÑов на вÑбоÑ, каждÑй Ð¸Ð¼ÐµÐµÑ Ñвои пÑеимÑÑеÑÑва и недоÑÑаÑки.
- ÐбÑаÑиÑеÑÑ Ðº <option>mplayer -pphelp</option> и <option>mplayer -vf help</option>
- Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпнÑÑ
(grep по "deint"), пÑоÑÑиÑе
- <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">СÑавнение
- ÑилÑÑÑов деинÑеÑлейÑинга</ulink> Ðайкла ÐидеÑмайеÑа (Michael Niedermayer),
- и поиÑиÑе в <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
- ÑпиÑкаÑ
ÑаÑÑÑлки MPlayer</ulink>, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи множеÑÑво обÑÑждений ÑазлиÑнÑÑ
- ÑилÑÑÑов.
- РопÑÑÑ, ÑаÑÑоÑа кадÑов не менÑеÑÑÑ, поÑÑÐ¾Ð¼Ñ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
<option>-ofps</option>.
- к ÑÐ¾Ð¼Ñ Ð¶Ðµ деинÑеÑлейÑинг ÑледÑÐµÑ Ð¿ÑоизводиÑÑ Ð¿Ð¾Ñле обÑезаниÑ
- <link linkend="menc-feat-telecine-footnotes">[1]</link> и до маÑÑÑабиÑованиÑ.
- <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
-</para></listitem>
-<listitem><para>
- Ð ÑожалениÑ, ÑÑа опÑÐ¸Ñ ÑÐ±Ð¾Ð¸Ñ Ñ <application>MEncoder</application>; она должна
- Ñ
оÑоÑо ÑабоÑаÑÑ Ñ <application>MEncoder G2</application>, но его пока неÑ. ÐÑ
- можеÑе ÑÑолкнÑÑÑÑÑ Ñ ÐºÑаÑ
ами. Ðак Ð±Ñ Ñо ни бÑло, назнаÑение опÑии
- <option> -vf tfields</option> — ÑоздаÑÑ Ð¿Ð¾Ð»Ð½Ñй ÐºÐ°Ð´Ñ Ð¸Ð· каждого полÑ, ÑÑо
- Ð´ÐµÐ»Ð°ÐµÑ ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов Ñавной 60000/1001. ÐÑеимÑÑеÑÑво ÑÑого подÑ
ода в Ñом, ÑÑо
- никакие даннÑе не ÑеÑÑÑÑÑÑ; однако, Ñ.к. каждÑй ÐºÐ°Ð´Ñ Ð¿Ð¾Ð»ÑÑаеÑÑÑ ÑолÑко из одного
- полÑ, недоÑÑаÑÑие ÑÑÑоки Ð´Ð¾Ð»Ð¶Ð½Ñ ÐºÐ°Ðº-Ñо инÑеÑполиÑоваÑÑÑÑ.
-
- Ðе ÑÑÑеÑÑвÑÐµÑ Ð¾ÑÐµÐ½Ñ Ñ
оÑоÑиÑ
меÑодов
- генеÑаÑии недоÑÑаÑÑиÑ
даннÑÑ
, поÑÑÐ¾Ð¼Ñ ÑезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ Ð½ÐµÑколÑко поÑ
ожим
- на пÑименение некоÑоÑÑÑ
ÑилÑÑÑов деинÑеÑлейÑинга. ÐенеÑаÑÐ¸Ñ Ð½ÐµÐ´Ð¾ÑÑаÑÑиÑ
ÑÑÑок Ñакже ÑоздаеÑ
- дÑÑгие пÑоблемÑ, пÑоÑÑо поÑÐ¾Ð¼Ñ ÑÑо колиÑеÑÑво даннÑÑ
ÑдваиваеÑÑÑ.
- Таким обÑазом, Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐºÐ°ÑеÑÑва ÑÑебÑÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ вÑÑокие знаÑениÑ
- биÑпоÑока, и болÑÑе ÑеÑÑÑÑов пÑоÑеÑÑоÑа иÑполÑзÑеÑÑÑ ÐºÐ°Ðº длÑ
- кодиÑованиÑ, Ñак и Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸ÑованиÑ. <option>tfields</option> имееÑ
- неÑколÑко ÑазлиÑнÑÑ
опÑий, опÑеделÑÑÑиÑ
ÑпоÑоб ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÐ´Ð¾ÑÑаÑÑиÑ
ÑÑÑок
- каждого кадÑа. ÐÑли вÑбÑали ÑÑÐ¾Ñ ÑпоÑоб, обÑаÑиÑеÑÑ Ðº ÑÑководÑÑÐ²Ñ Ð¸ вÑбеÑиÑе
- ÑÑ Ð¾Ð¿ÑиÑ, коÑоÑÐ°Ñ Ð»ÑÑÑе подÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ ÐаÑего маÑеÑиала. ÐмейÑе в видÑ, ÑÑо пÑи
- иÑполÑзовании <option>tfields</option> ÐÑ
- <emphasis role="bold">должнÑ</emphasis> ÑказаÑÑ ÐºÐ°Ðº <option>-fps</option>, Ñак
- и <option>-ofps</option>, ÑÑÑановив им знаÑение, Ñавное Ñдвоенной ÑаÑÑоÑе
- иÑÑ
одного маÑеÑиала.
- <screen>
-mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
- -fps 60000/1001 -ofps 60000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- ÐÑли планиÑÑеÑе ÑилÑно ÑменÑÑаÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¸Ð·Ð¾Ð±ÑажениÑ, можно извлекаÑÑ Ð¸
- декодиÑоваÑÑ ÑолÑко одно поле из двÑÑ
. ÐонеÑно, ÐÑ Ð¿Ð¾ÑеÑÑеÑе половинÑ
- веÑÑикалÑного ÑазÑеÑениÑ, но еÑли планиÑÑеÑÑÑ ÑменÑÑаÑÑ ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°Ðº минимÑм
- вдвое, поÑеÑÑ Ð±ÑÐ´ÐµÑ Ð½Ðµ ÑилÑно замеÑна. Ð ÑезÑлÑÑаÑе полÑÑиÑÑÑ Ð¿Ð¾ÑÑÑоÑной
- ÑазвÑÑÑки Ñайл Ñ 30000/1001 кадÑами в ÑекÑндÑ. ÐÑоÑедÑÑа ÑледÑÑÑаÑ:
- <option>-vf field</option>, заÑем обÑезание
- <link linkend="menc-feat-telecine-footnotes">[1]</link> и маÑÑÑабиÑование
- ÑооÑвеÑÑÑвÑÑÑим обÑазом. ÐомниÑе, ÑÑо поÑÑебÑеÑÑÑ ÑкоÑÑекÑиÑоваÑÑ Ð¼Ð°ÑÑÑабиÑование
- Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿ÐµÐ½ÑаÑии ÑменÑÑенного вдвое веÑÑикалÑного ÑазÑеÑениÑ.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
-</para></listitem>
-</orderedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>СмеÑаннÑе поÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑка и ÑелеÑин</title>
-
-<para>
-ÐÐ»Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ Ñо ÑмеÑаннÑми поÑÑÑоÑной ÑазвеÑÑкой и ÑелеÑином в
-полноÑÑÑÑ Ð¿Ð¾ÑÑÑоÑное необÑ
одимо к подвеÑженнÑм ÑелеÑÐ¸Ð½Ñ ÑаÑÑÑм пÑимениÑÑ
-обÑаÑнÑй ÑелеÑин. ÐÑÑÑ ÑÑи опиÑаннÑÑ
ниже ÑпоÑоба добиÑÑÑÑ ÑÑого.
-ÐамеÑÑÑе, ÑÑо ÑледÑÐµÑ <emphasis role="bold">вÑегда</emphasis> пÑименÑÑÑ Ð¾Ð±ÑаÑнÑй
-ÑелеÑин до какого-либо маÑÑÑабиÑованиÑ; за иÑклÑÑением ÑлÑÑаÑ, когда ÐÑ ÑоÑно
-знаеÑе, ÑÑо делаеÑе, вÑполнÑйÑе обÑаÑнÑй ÑелеÑин Ñакже до обÑезаниÑ
-<link linkend="menc-feat-telecine-footnotes">[1]</link>.
-<option>-ofps 24000/1001</option> здеÑÑ Ð½ÐµÐ¾Ð±Ñ
одима, поÑколÑÐºÑ Ð²Ð¸Ð´ÐµÐ¾ на вÑÑ
оде
-бÑÐ´ÐµÑ Ñ 24000/1001 кадÑами в ÑекÑндÑ.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vf pullup</option> ÑазÑабоÑана Ð´Ð»Ñ Ð¾Ð±ÑаÑного ÑелеÑина маÑеÑиала,
- ÑелеÑÐ¸Ð½Ñ Ð¿Ð¾Ð´Ð²ÐµÑженного, оÑÑавлÑÑ Ð¿Ð¾ÑÑÑоÑнÑе даннÑе как еÑÑÑ. ÐÐ»Ñ Ð¿ÑавилÑной
- ÑабоÑÑ Ð¿Ð¾Ñле <option>pullup</option> <emphasis role="bold">должен</emphasis>
- ÑледоваÑÑ ÑилÑÑÑ <option>softskip</option>, инаÑе пÑÐ¾Ð¸Ð·Ð¾Ð¹Ð´ÐµÑ ÐºÑаÑ
- <application>MEncoder</application>.
- <option>pullup</option> ÑвлÑеÑÑÑ, однако, ÑамÑм ÑиÑÑÑм и ÑоÑнÑм меÑодом,
- доÑÑÑпнÑм Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑелеÑина, и "ÑмеÑанного поÑÑÑоÑного Ñ ÑелеÑином".
- <screen>
-mencoder dvd://1 -oac copy -vf pullup,softskip \
- -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- <option>-vf filmdint</option> поÑ
ожа на
- <option>-vf pullup</option>: оба ÑилÑÑÑа пÑÑаÑÑÑÑ ÑопоÑÑавиÑÑ Ð¿Ð°ÑÑ Ð¿Ð¾Ð»ÐµÐ¹
- Ð´Ð»Ñ ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ кадÑа. Ðднако <option>filmdint</option> бÑдеÑ
- пÑоизводиÑÑ Ð´ÐµÐ¸Ð½ÑеÑлейÑинг одиноÑнÑÑ
полей, коÑоÑÑм не Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð¹Ñи паÑÑ,
- в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº <option>pullup</option> попÑоÑÑÑ Ð¸Ñ
оÑбÑоÑиÑ.
- Ðдобавок ÑилÑÑÑÑ Ð¸Ð¼ÐµÑÑ ÑазлиÑнÑе алгоÑиÑÐ¼Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°, и filmdint
- Ð¸Ð¼ÐµÐµÑ ÑенденÑÐ¸Ñ Ðº более ÑаÑÑÐ¾Ð¼Ñ Ð½Ð°Ñ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÑооÑвеÑÑÑвий.
- Ðакой ÑилÑÑÑ Ð±ÑÐ´ÐµÑ Ð»ÑÑÑе ÑабоÑаÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ Ð¸ÑÑ
одного видео и
- лиÑного вкÑÑа; не бойÑеÑÑ ÑкÑпеÑименÑиÑоваÑÑ Ñ Ñонкой наÑÑÑойкой
- опÑий ÑилÑÑÑов, еÑли Ñ ÐÐ°Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ»Ð¸ пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð»ÑбÑм из ниÑ
(подÑобноÑÑи
- ÑмоÑÑиÑе на ÑÑÑаниÑе ÑÑководÑÑва man). ÐÐ»Ñ Ð±Ð¾Ð»ÑÑинÑÑва каÑеÑÑвенного
- иÑÑ
одного видео, однако, оба ÑилÑÑÑа ÑабоÑаÑÑ Ð´Ð¾ÑÑаÑоÑно Ñ
оÑоÑо,
- Ñак ÑÑо наÑинаÑÑ ÑабоÑаÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ Ñ Ð»ÑбÑм из ниÑ
.
- <screen>
-mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- Ðолее ÑÑаÑÑй меÑод заклÑÑаеÑÑÑ Ð½Ðµ в пÑименении обÑаÑного ÑелеÑина к
- ÑелеÑиненнÑм ÑаÑÑÑм, а, наобоÑоÑ, в ÑелеÑине не подвеÑженнÑÑ
ÑелеÑÐ¸Ð½Ñ ÑаÑÑей и
- поÑледÑÑÑем пÑименении обÑаÑного ÑелеÑина ко вÑÐµÐ¼Ñ Ð²Ð¸Ð´ÐµÐ¾. ÐвÑÑÐ¸Ñ Ð·Ð°Ð¿ÑÑанно?
- softpulldown — ÑÑо ÑилÑÑÑ, пÑоÑ
одÑÑий по видео и делаÑÑий ÑелеÑиненнÑм веÑÑ
- Ñайл. ÐÑли Ñледом за softpulldown ÑказаÑÑ Ð»Ð¸Ð±Ð¾ <option>detc</option>, либо
- <option>ivtc</option>, ÑиналÑнÑй ÑезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿Ð¾ÑÑÑоÑнÑм.
- <option>-ofps 24000/1001</option> необÑ
одима.
- <screen>
-mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
- </screen>
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>СмеÑаннÑе поÑÑÑоÑÐ½Ð°Ñ Ð¸ ÑеÑеÑÑÑÑоÑÐ½Ð°Ñ ÑазвеÑÑки</title>
-
-<para>
-СÑÑеÑÑвÑÐµÑ Ð´Ð²Ðµ опÑии Ð´Ð»Ñ ÑÑой каÑегоÑии, ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· коÑоÑÑÑ
— ÑÑо компÑомиÑÑ. ÐÑ
-Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑбÑаÑÑ, иÑÑ
Ð¾Ð´Ñ Ð¸Ð· пÑодолжиÑелÑноÑÑи/Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñипа.
-</para>
-
-<itemizedlist>
-<listitem>
- <para>
- РаÑÑмаÑÑивайÑе видео как поÑÑÑоÑное. ЧеÑеÑÑÑÑоÑнÑе ÑаÑÑи бÑдÑÑ Ð²ÑглÑдеÑÑ
- ÑеÑеÑÑÑÑоÑнÑми, и поÑÑебÑеÑÑÑ Ñдаление некоÑоÑÑÑ
из ÑеÑеÑÑÑÑоÑнÑÑ
полей, ÑÑо
- даÑÑ Ð² ÑезÑлÑÑаÑе некоÑоÑое ÑкаÑкообÑазное дÑожание. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ
- ÑилÑÑÑ Ð¿Ð¾ÑÑобÑабоÑки, еÑли Ñ
оÑиÑе, но ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð½ÐµÑколÑко ÑÑ
ÑдÑиÑÑ
- поÑÑÑоÑнÑе ÑаÑÑи.
- </para>
-
- <para>
- ÐÑа опÑÐ¸Ñ Ð¾Ð¿Ñеделенно не должна иÑполÑзоваÑÑÑÑ, еÑли ÐÑ Ñ
оÑиÑе Ñо
- вÑеменем оÑобÑажаÑÑ Ð²Ð¸Ð´ÐµÐ¾ на ÑеÑеÑÑÑÑоÑном ÑÑÑÑойÑÑве (Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ TV каÑÑÑ,
- напÑимеÑ). ÐÑли Ñ ÐÐ°Ñ ÐµÑÑÑ ÑеÑеÑÑÑÑоÑнÑе кадÑÑ Ð² видео Ñ 24000/1001 кадÑами в
- ÑекÑндÑ, к ним, как и к пÑогÑеÑÑивнÑм, бÑÐ´ÐµÑ Ð¿Ñименен ÑелеÑин. Ðоловина иÑ
- ÑеÑеÑÑÑÑоÑнÑÑ
"кадÑов" бÑдÑÑ Ð¾ÑобÑажаÑÑÑÑ Ñ Ð´Ð»Ð¸ÑелÑноÑÑÑÑ ÑÑеÑ
полей
- (3/(60000/1001) ÑекÑнд), Ð´Ð°Ð²Ð°Ñ Ð² ÑезÑлÑÑаÑе непÑиÑÑно вÑглÑдÑÑий ÑÑÑекÑ
- <!-- FIXME is translation correct? -->
- "пÑÑжка назад во вÑемени". Ðаже еÑли ÐÑ Ð¿ÑобÑеÑе ÑÑо, ÐÑ
- <emphasis role="bold">должнÑ</emphasis> иÑполÑзоваÑÑ ÑилÑÑÑ Ð´ÐµÐ¸Ð½ÑеÑлейÑинга,
- Ñакой как <option>lb</option> или <option>l5</option>.
- </para>
-
- <para>
- ÐÐ»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° поÑÑÑоÑном диÑплее ÑÑо Ñоже Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð»Ð¾Ñ
ой идеей.
- ÐÑдÑÑ Ð¾ÑбÑаÑÑваÑÑÑÑ Ð¿Ð°ÑÑ Ð¿Ð¾ÑледоваÑелÑнÑÑ
ÑеÑеÑÑÑÑоÑнÑÑ
полей, пÑÐ¸Ð²Ð¾Ð´Ñ Ðº
- ÑазÑÑвам, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð·Ð°Ð¼ÐµÑнее, Ñем пÑи иÑполÑзовании вÑоÑого меÑода,
- оÑобÑажаÑÑего некоÑоÑÑе поÑÑÑоÑнÑе кадÑÑ Ð´Ð²Ð°Ð¶Ð´Ñ. ЧеÑеÑÑÑÑоÑное видео Ñ
- 30000/1001 кадÑами в ÑекÑÐ½Ð´Ñ Ñже неÑколÑко пÑеÑÑвиÑÑо, поÑÐ¾Ð¼Ñ ÑÑо в ÑеалÑноÑÑи
- оно должно оÑобÑажаÑÑÑÑ Ñ 60000/1001 полÑми в ÑекÑндÑ, Ñак ÑÑо дÑблиÑÑÑÑиеÑÑ
- кадÑÑ Ð½Ðµ Ñак ÑилÑно вÑделÑÑÑÑÑ.
- </para>
-
- <para>
- Так или инаÑе, лÑÑÑе вÑего пÑоанализиÑоваÑÑ ÐаÑе ÑодеÑжимое и как ÐÑ ÐµÐ³Ð¾
- ÑобиÑаеÑеÑÑ Ð¿Ð¾ÐºÐ°Ð·ÑваÑÑ. ÐÑли видео на 90% поÑÑÑоÑное и ÐÑ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° не бÑдеÑе
- показÑваÑÑ ÐµÐ³Ð¾ на TV, Ðам ÑледÑÐµÑ Ð¾ÑдаÑÑ Ð¿ÑедпоÑÑение поÑÑÑоÑÐ½Ð¾Ð¼Ñ Ð²Ð°ÑианÑÑ.
- ÐÑли оно ÑолÑко Ð½Ð°Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ Ð¿Ð¾ÑÑÑоÑное, ÐÑ, возможно, заÑ
оÑиÑе кодиÑоваÑÑ
- его, как еÑли Ð±Ñ Ð¾Ð½Ð¾ бÑло ÑеÑеÑÑÑÑоÑнÑм.
- </para>
-</listitem>
-
-<listitem><para>
- СÑиÑайÑе его ÑеÑеÑÑÑÑоÑнÑм. ÐекоÑоÑÑе кадÑÑ Ð¿Ð¾ÑÑÑоÑной ÑаÑÑи поÑÑебÑÑÑ
- дÑблиÑованиÑ, ÑÑо даÑÑ Ð² ÑезÑлÑÑаÑе некоÑоÑое ÑкаÑкообÑазное дÑожание. Ð
- Ñнова, ÑилÑÑÑÑ Ð´ÐµÐ¸Ð½ÑеÑлейÑинга могÑÑ Ð½ÐµÑколÑко ÑÑ
ÑдÑиÑÑ Ð¿Ð¾ÑÑÑоÑнÑе ÑаÑÑи.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>ÐÑимеÑаниÑ</title>
-
-<orderedlist>
-<listitem>
- <formalpara>
- <title>Ðб ÑÑеÑении ÑÑоÑон:</title>
- <para>
- ÐидеоданнÑе на DVD Ñ
ÑанÑÑÑÑ Ð² ÑоÑмаÑе, назÑваемом YUV 4:2:0. Ð YUV
- видео, лÑма ("ÑÑкоÑÑÑ") и Ñ
Ñома ("ÑвеÑ") Ñ
ÑанÑÑÑÑ Ð¾ÑделÑно.
- ÐоÑколÑÐºÑ ÑеловеÑеÑкий глаз оÑÑаÑÑи менее ÑÑвÑÑвиÑелен к ÑвеÑÑ, Ñем к ÑÑкоÑÑи,
- в YUV 4:2:0 изобÑажении пÑиÑÑÑÑÑвÑÐµÑ ÑолÑко один ÑвеÑноÑÑнÑй пикÑел на ÑеÑÑÑе
- ÑÑкоÑÑнÑÑ
. РизобÑажении Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой каждÑй квадÑÐ°Ñ Ð¸Ð· ÑеÑÑÑÑÑ
ÑÑкоÑÑнÑÑ
- пикÑелов (два на два) имеÑÑ Ð¾Ð´Ð¸Ð½ обÑий ÑвеÑноÑÑнÑй пикÑел. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð±ÑезаÑÑ
- поÑÑÑоÑнÑй YUV 4:2:0 до ÑÑÑнÑÑ
ÑазмеÑов и иÑполÑзоваÑÑ ÑÑÑнÑе ÑмеÑениÑ.
- ÐапÑимеÑ,
- <option>crop=716:380:2:26</option> — пÑавилÑно, а
- <option>crop=716:380:3:26 </option> — неÑ.
- </para>
- </formalpara>
-
- <para>
- Ðогда имееÑе дело Ñ ÑеÑеÑÑÑÑоÑнÑм YUV 4:2:0, ÑиÑÑаÑÐ¸Ñ ÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑложнаÑ.
- ÐмеÑÑо ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑвеÑноÑÑного пикÑела ÑеÑÑÑÑÐ¼Ñ ÑÑкоÑÑнÑми пикÑелами в
- <emphasis>кадÑе</emphasis>, каждÑе ÑеÑÑÑе ÑÑкоÑÑнÑÑ
пикÑела каждого
- <emphasis>полÑ</emphasis> ÑазделÑÑÑ ÑвеÑноÑÑнÑй пикÑел. Ðогда Ð¿Ð¾Ð»Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ð²
- кадÑ, ÐºÐ°Ð¶Ð´Ð°Ñ ÑÑÑока Ð¸Ð¼ÐµÐµÑ Ð²ÑÑоÑÑ Ð² один пикÑел. ТепеÑÑ, вмеÑÑо квадÑаÑа из
- ÑеÑÑÑеÑ
ÑÑкоÑÑнÑÑ
пикÑелов Ð¼Ñ Ð¸Ð¼ÐµÐµÐ¼ два ÑоÑедниÑ
пикÑела, а два дÑÑгиÑ
ÑаÑположенÑ
- на две ÑÑÑоки ниже. Ðва ÑÑкоÑÑнÑÑ
пикÑела ÑледÑÑÑей ÑÑÑоки пÑинадлежаÑ
- дÑÑÐ³Ð¾Ð¼Ñ Ð¿Ð¾Ð»Ñ, и, поÑÑомÑ, ÑазделÑÑÑ Ð´ÑÑгой пикÑел ÑвеÑноÑÑи Ñ Ð´Ð²ÑÐ¼Ñ Ð¿Ð¸ÐºÑелами
- на две ÑÑÑоки далÑÑе. ÐÑÑ ÑÑа неÑазбеÑиÑ
а ÑÑебÑеÑ, ÑÑÐ¾Ð±Ñ Ð²ÐµÑÑикалÑнÑе ÑазмеÑÑ
- и ÑмеÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÐµÐ·Ð°Ð½Ð¸Ñ Ð±Ñли кÑаÑÐ½Ñ ÑеÑÑÑем. ÐоÑизонÑалÑнÑе могÑÑ Ð¾ÑÑаваÑÑÑÑ
- ÑеÑнÑми.
- </para>
-
- <para>
- ÐÐ»Ñ ÑелеÑиненного видео Ñ ÑекомендÑÑ Ð¿ÑоизводиÑÑ Ð¾Ð±Ñезание поÑле обÑаÑного
- ÑелеÑина. Так как видео поÑÑÑоÑное, доÑÑаÑоÑно обÑезаÑÑ ÑолÑко по ÑеÑнÑм
- ÑазмеÑам. ÐÑли же дейÑÑвиÑелÑно Ñ
оÑиÑе полÑÑиÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑÑÑ Ð¿ÑÐ¸Ð±Ð°Ð²ÐºÑ Ðº ÑкоÑоÑÑи,
- коÑоÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð°ÑÑ Ð¾Ð±Ñезка, Ðам пÑидеÑÑÑ Ð¿ÑоизводиÑÑ ÑÑеÑение Ñ Ð²ÐµÑÑикалÑнÑми
- ÑазмеÑноÑÑÑми, кÑаÑнÑми ÑеÑÑÑем. РпÑоÑивном ÑлÑÑае ÑилÑÑÑ Ð¾Ð±ÑаÑного ÑелеÑина
- не бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð¿ÑавилÑнÑÑ
даннÑÑ
.
- </para>
-
- <para>
- ÐÐ»Ñ ÑеÑеÑÑÑÑоÑного (не подвеÑженного ÑелеÑинÑ) видео, ÐÑ Ð²Ñегда должнÑ
- пÑоизводиÑÑ ÑÑеÑение Ñ Ð²ÐµÑÑикалÑнÑми ÑазмеÑноÑÑÑми, кÑаÑнÑми ÑеÑÑÑем, еÑли
- ÑолÑко не иÑполÑзÑеÑе <option>-vf field</option> пеÑед ÑÑеÑением.
- </para>
-</listitem>
-
-<listitem><formalpara>
- <title>РпаÑамеÑÑаÑ
кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ каÑеÑÑве:</title>
- <para>
- ÐÑли Ñ Ð·Ð´ÐµÑÑ ÑекомендÑÑ <option>mbd=2</option>, ÑÑо еÑе не знаÑиÑ, ÑÑо ÑÑÑ
- опÑÐ¸Ñ Ð½Ðµ ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð³Ð´Ðµ-либо еÑе. СовмеÑÑно Ñ <option>trell</option>,
- <option>mbd=2</option> ÑвлÑеÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ из двÑÑ
опÑий
- <systemitem class="library">libavcodec</systemitem>, коÑоÑÑе знаÑиÑелÑно
- ÑвелиÑиваÑÑ ÐºÐ°ÑеÑÑво. Ðам вÑегда ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ ÐºÐ°Ðº минимÑм ÑÑи две,
- за иÑклÑÑением ÑлÑÑаÑ, когда поÑеÑÑ ÑкоÑоÑÑи кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ´Ð¾Ð¿ÑÑÑима
- (напÑимеÑ, кодиÑование в ÑеалÑном вÑемени). ÐÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво дÑÑгиÑ
- <systemitem class="library">libavcodec</systemitem> опÑий, ÑлÑÑÑаÑÑиÑ
каÑеÑÑво
- (и замедлÑÑÑиÑ
кодиÑование), но иÑ
опиÑание вÑÑ
Ð¾Ð´Ð¸Ñ Ð·Ð° Ñамки ÑÑого
- докÑменÑа.
- </para>
-</formalpara></listitem>
-
-<listitem><formalpara>
- <title>РпÑоизводиÑелÑноÑÑи pullup:</title>
- <para>
- ÐÑполÑзование <option>pullup</option> (ÑовмеÑÑно Ñ <option>softskip</option>)
- Ð´Ð»Ñ Ð²Ð¸Ð´ÐµÐ¾ Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой вполне безопаÑно и обÑÑно ÑвлÑеÑÑÑ Ñ
оÑоÑей
- идеей, еÑли ÑолÑко пÑо иÑÑоÑник не извеÑÑно доÑÑовеÑно, ÑÑо он полноÑÑÑÑ
- поÑÑÑоÑнÑй. ÐоÑеÑÑ ÑкоÑоÑÑи мала в болÑÑинÑÑве ÑлÑÑаев.
- РминималÑном ваÑианÑе кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ <option>pullup</option> замедлÑеÑ
- <application>MEncoder</application> на 50%. Ðобавление обÑабоÑки звÑка и
- пÑодвинÑÑÑÑ
<option>lavcopts</option> опÑий заÑÐ¼ÐµÐ²Ð°ÐµÑ ÑÑÑ ÑазниÑÑ, ÑменÑÑаÑ
- падение пÑоизводиÑелÑноÑÑи Ð¾Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ <option>pullup</option> до 2%.
- </para>
-</formalpara></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>ÐодиÑование ÑемейÑÑвом кодеков <systemitem class="library">libavcodec</systemitem>
-</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem>
-пÑедоÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿ÑоÑÑого кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² множеÑÑво инÑеÑеÑнÑÑ
видео и
-аÑдио ÑоÑмаÑов. ÐÑ Ð¼Ð¾Ð¶ÐµÑе кодиÑоваÑÑ ÑледÑÑÑими кодеками (более или менее
-Ñвежий ÑпиÑок):
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title>Ðидео кодеки <systemitem class="library">libavcodec</systemitem></title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
- <row><entry>Ðазвание видео кодека</entry><entry>ÐпиÑание</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mjpeg</entry>
- <entry>Motion JPEG</entry>
-</row>
-<row>
- <entry>ljpeg</entry>
- <entry>JPEG без поÑеÑи каÑеÑÑва</entry>
-</row>
-<row>
- <entry>jpegls</entry>
- <entry>JPEG LS</entry>
-</row>
-<row>
- <entry>targa</entry>
- <entry>Targa ÑиÑÑнок</entry>
-</row>
-<row>
- <entry>gif</entry>
- <entry>GIF ÑиÑÑнок</entry>
-</row>
-<row>
- <entry>bmp</entry>
- <entry>BMP ÑиÑÑнок</entry>
-</row>
-<row>
- <entry>png</entry>
- <entry>PNG ÑиÑÑнок</entry>
-</row>
-<row>
- <entry>h261</entry>
- <entry>H.261</entry>
-</row>
-<row>
- <entry>h263</entry>
- <entry>H.263</entry>
-</row>
-<row>
- <entry>h263p</entry>
- <entry>H.263+</entry>
-</row>
-<row>
- <entry>mpeg4</entry>
- <entry>ISO ÑÑандаÑÑ MPEG-4 (DivX, Xvid ÑовмеÑÑимÑй)</entry>
-</row>
-<row>
- <entry>msmpeg4</entry>
- <entry>ваÑÐ¸Ð°Ð½Ñ Ð¿Ñе-ÑÑандаÑÑа MPEG-4 Ð¾Ñ MS, v3 (он же DivX3)</entry>
-</row>
-<row>
- <entry>msmpeg4v2</entry>
- <entry>ваÑÐ¸Ð°Ð½Ñ Ð¿Ñе-ÑÑандаÑÑа MPEG-4 Ð¾Ñ MS, v2 (иÑполÑзÑемÑй в ÑÑаÑÑÑ
ASF
- ÑайлаÑ
)</entry>
-</row>
-<row>
- <entry>wmv1</entry>
- <entry>Windows Media Video, веÑÑÐ¸Ñ 1 (он же WMV7)</entry>
-</row>
-<row>
- <entry>wmv2</entry>
- <entry>Windows Media Video, веÑÑÐ¸Ñ 2 (он же WMV8)</entry>
-</row>
-<row>
- <entry>rv10</entry>
- <entry>RealVideo 1.0</entry>
-</row>
-<row>
- <entry>rv20</entry>
- <entry>RealVideo 2.0</entry>
-</row>
-<row>
- <entry>mpeg1video</entry>
- <entry>MPEG-1 видео</entry>
-</row>
-<row>
- <entry>mpeg2video</entry>
- <entry>MPEG-2 видео</entry>
-</row>
-<row>
- <entry>huffyuv</entry>
- <entry>ÑжаÑие без поÑеÑÑ</entry>
-</row>
-<row>
- <entry>ffvhuff</entry>
- <entry>huffyuv без поÑеÑÑ, модиÑиÑиÑованнÑй FFmpeg</entry>
-</row>
-<row>
- <entry>asv1</entry>
- <entry>ASUS Ðидео v1</entry>
-</row>
-<row>
- <entry>asv2</entry>
- <entry>ASUS Ðидео v2</entry>
-</row>
-<row>
- <entry>ffv1</entry>
- <entry>видео кодек без поÑеÑÑ Ð¸Ð· FFmpeg</entry>
-</row>
-<row>
- <entry>svq1</entry>
- <entry>Sorenson видео 1</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Sorenson H.263 иÑполÑзÑемÑй в Flash Ðидео</entry>
-</row>
-<row>
- <entry>flashsv</entry>
- <entry>Flash Screen Video</entry>
-</row>
-<row>
- <entry>dvvideo</entry>
- <entry>Sony Digital Video</entry>
-</row>
-<row>
- <entry>snow</entry>
- <entry>ÑкÑпеÑименÑалÑнÑй кодек FFmpeg, оÑнованнÑй на вейвлеÑаÑ
</entry>
-</row>
-<row>
- <entry>zmbv</entry>
- <entry>Zip Motion Blocks Video</entry>
-</row>
-<row>
- <entry>dnxhd</entry>
- <entry>AVID DNxHD</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-ÐеÑвÑй ÑÑÐ¾Ð»Ð±ÐµÑ ÑодеÑÐ¶Ð¸Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´ÐµÐºÐ¾Ð², коÑоÑÑе ÑледÑÐµÑ ÑказÑваÑÑ Ð¿Ð¾Ñле
-<literal>vcodec</literal> опÑии, напÑимеÑ:
-<option>-lavcopts vcodec=msmpeg4</option>
-</para>
-
-<informalexample><para>
-ÐÑÐ¸Ð¼ÐµÑ Ñ MJPEG ÑжаÑием:
-<screen>
-mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy
-</screen>
-</para></informalexample>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title>ÐÑдио кодеки <systemitem class="library">libavcodec</systemitem></title>
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Ðазвание аÑдио кодека</entry><entry>ÐпиÑание</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>ac3</entry>
- <entry>Dolby Digital (AC-3)</entry>
-</row>
-<row>
- <entry>adpcm_*</entry>
- <entry>ФоÑмаÑÑ Adaptive PCM, ÑмоÑÑиÑе дополниÑелÑнÑÑ ÑаблиÑÑ</entry>
-</row>
-<row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
-</row>
-<row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
-</row>
-<row>
- <entry>libamr_nb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) ÑзкополоÑнÑй</entry>
-</row>
-<row>
- <entry>libamr_wb</entry>
- <entry>3GPP Adaptive Multi-Rate (AMR) ÑиÑокополоÑнÑй</entry>
-</row>
-<row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) - иÑполÑзÑÑ FAAC</entry>
-</row>
-<row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 full rate</entry>
-</row>
-<row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
-</row>
-<row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) - иÑполÑзÑÑ LAME</entry>
-</row>
-<row>
- <entry>mp2</entry>
- <entry>MPEG-1 audio layer 2 (MP2)</entry>
-</row>
-<row>
- <entry>pcm_*</entry>
- <entry>PCM ÑоÑмаÑÑ, ÑмоÑÑиÑе дополниÑелÑнÑÑ ÑаблиÑÑ</entry>
-</row>
-<row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
-</row>
-<row>
- <entry>sonic</entry>
- <entry>ÑкÑпеÑименÑалÑнÑй кодек Ð¾Ñ FFmpeg Ñ Ð¿Ð¾ÑеÑÑми (lossy)</entry>
-</row>
-<row>
- <entry>sonicls</entry>
- <entry>ÑкÑпеÑименÑалÑнÑй кодек Ð¾Ñ FFmpeg без поÑеÑÑ (lossless)</entry>
-</row>
-<row>
- <entry>vorbis</entry>
- <entry>Vorbis</entry>
-</row>
-<row>
- <entry>wmav1</entry>
- <entry>Windows Media Audio v1</entry>
-</row>
-<row>
- <entry>wmav2</entry>
- <entry>Windows Media Audio v2</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-ÐеÑвÑй ÑÑÐ¾Ð»Ð±ÐµÑ ÑодеÑÐ¶Ð¸Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´ÐµÐºÐ¾Ð², коÑоÑÑе ÑледÑÐµÑ ÑказÑваÑÑ Ð¿Ð¾Ñле
-<literal>acodec</literal> опÑии, напÑимеÑ: <option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample><para>
-ÐÑÐ¸Ð¼ÐµÑ Ñ AC-3 ÑжаÑием:
-<screen>
-mencoder dvd://2 -o title2.avi -oac lavc -lavcopts acodec=ac3 -ovc copy
-</screen>
-</para></informalexample>
-
-<para>
-РоÑлиÑие Ð¾Ñ Ð²Ð¸Ð´ÐµÐ¾ кодеков <systemitem class="library">libavcodec</systemitem>,
-ее аÑдио кодеки не оÑÐµÐ½Ñ ÑазÑмно иÑполÑзÑÑÑ Ð¾ÑданнÑе им биÑÑ, в ÑилÑ
-неÑдаÑной ÑеализаÑии некоÑоÑой минималÑной пÑиÑ
оакÑÑÑиÑеÑкой модели (еÑли она
-вообÑе еÑÑÑ), коÑоÑÐ°Ñ ÑвлÑеÑÑÑ Ñ
аÑакÑеÑной ÑеÑÑой болÑÑинÑÑва оÑÑалÑнÑÑ
ÑеализаÑий кодеков.
-Ðднако замеÑÑÑе, ÑÑо вÑе ÑÑи аÑдио кодеки оÑÐµÐ½Ñ Ð±ÑÑÑÑÑ Ð¸ ÑабоÑаÑÑ Ð¿ÑÑмо из
-коÑобки везде, где <application>MEncoder</application> ÑкомпилиÑован Ñ
-<systemitem class="library">libavcodec</systemitem> (а поÑÑи вÑегда Ñак оно и
-еÑÑÑ), и не завиÑÑÑ Ð¾Ñ Ð²Ð½ÐµÑниÑ
библиоÑек.
-</para>
-
-<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
-<title>ÐополниÑелÑÐ½Ð°Ñ ÑаблиÑа PCM/ADPCM ÑоÑмаÑов</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Ðазвание PCM/ADPCM кодека</entry><entry>ÐпиÑание</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>pcm_s32le</entry>
- <entry>signed 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s32be</entry>
- <entry>signed 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u32le</entry>
- <entry>unsigned 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u32be</entry>
- <entry>unsigned 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s24le</entry>
- <entry>signed 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s24be</entry>
- <entry>signed 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u24le</entry>
- <entry>unsigned 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u24be</entry>
- <entry>unsigned 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s16le</entry>
- <entry>signed 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s16be</entry>
- <entry>signed 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u16le</entry>
- <entry>unsigned 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u16be</entry>
- <entry>unsigned 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s8</entry>
- <entry>signed 8-bit</entry>
-</row>
-<row>
- <entry>pcm_u8</entry>
- <entry>unsigned 8-bit</entry>
-</row>
-<row>
- <entry>pcm_alaw</entry>
- <entry>G.711 A-LAW </entry>
-</row>
-<row>
- <entry>pcm_mulaw</entry>
- <entry>G.711 μ-LAW</entry>
-</row>
-<row>
- <entry>pcm_s24daud</entry>
- <entry>signed 24-bit D-Cinema Audio ÑоÑмаÑ</entry>
-</row>
-<row>
- <entry>pcm_zork</entry>
- <entry>Activision Zork Nemesis</entry>
-</row>
-<row>
- <entry>adpcm_ima_qt</entry>
- <entry>Apple QuickTime</entry>
-</row>
-<row>
- <entry>adpcm_ima_wav</entry>
- <entry>Microsoft/IBM WAVE</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk3</entry>
- <entry>Duck DK3</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk4</entry>
- <entry>Duck DK4</entry>
-</row>
-<row>
- <entry>adpcm_ima_ws</entry>
- <entry>Westwood Studios</entry>
-</row>
-<row>
- <entry>adpcm_ima_smjpeg</entry>
- <entry>SDL Motion JPEG</entry>
-</row>
-<row>
- <entry>adpcm_ms</entry>
- <entry>Microsoft</entry>
-</row>
-<row>
- <entry>adpcm_4xm</entry>
- <entry>4X Technologies</entry>
-</row>
-<row>
- <entry>adpcm_xa</entry>
- <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
-</row>
-<row>
- <entry>adpcm_ea</entry>
- <entry>Electronic Arts</entry>
-</row>
-<row>
- <entry>adpcm_ct</entry>
- <entry>Creative 16->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_swf</entry>
- <entry>Adobe Shockwave Flash</entry>
-</row>
-<row>
- <entry>adpcm_yamaha</entry>
- <entry>Yamaha</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_4</entry>
- <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_3</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_2</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
-</row>
-<row>
- <entry>adpcm_thp</entry>
- <entry>Nintendo GameCube FMV THP</entry>
-</row>
-<row>
- <entry>adpcm_adx</entry>
- <entry>Sega/CRI ADX</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect3>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>ÐпÑии кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ libavcodec</title>
-
-<para>
-Ридеале, ÐÑ, навеÑное, Ñ
оÑели Ð±Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿ÑоÑÑо ÑказаÑÑ ÐºÐ¾Ð´Ð¸ÑовÑикÑ
-пеÑеклÑÑиÑÑÑÑ Ð½Ð° "вÑÑокое каÑеÑÑво" и наÑаÑÑ ÐºÐ¾Ð´Ð¸Ñование.
-ÐÑо бÑло Ð±Ñ Ð·Ð°Ð¼ÐµÑаÑелÑно, но, к ÑожалениÑ, ÑÑÑдно ÑеализÑемо, поÑколÑкÑ
-ÑазлиÑнÑе опÑии кодиÑованиÑ, в завиÑимоÑÑи Ð¾Ñ Ð¸ÑÑ
одного маÑеÑиала, даÑÑ Ð² ÑезÑлÑÑаÑе
-ÑазлиÑное каÑеÑÑво.
-Так пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ð¾ÑомÑ, ÑÑо ÑжаÑие завиÑÐ¸Ñ Ð¾Ñ Ð²Ð¸Ð·ÑалÑнÑÑ
ÑвойÑÑв видео.
-ÐапÑимеÑ, аниме и Ð¶Ð¸Ð²Ð°Ñ ÑÑемка имеÑÑ ÑилÑно оÑлиÑаÑÑиеÑÑ ÑвойÑÑва и,
-поÑÑомÑ, ÑÑебÑÑÑ ÑазнÑе опÑии Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÑималÑного ÑезÑлÑÑаÑа.
-ХоÑоÑÐ°Ñ Ð½Ð¾Ð²Ð¾ÑÑÑ ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑо некоÑоÑÑе опÑии, Ñакие как
-<option>mbd=2</option>, <option>trell</option> и <option>v4mv</option>,
-никогда не ÑледÑÐµÑ Ð¾Ð¿ÑÑкаÑÑ.
-ÐеÑалÑное опиÑание оÑновнÑÑ
опÑий кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑмоÑÑиÑе ниже.
-</para>
-
-<itemizedlist>
-<title>ÐпÑии Ð´Ð»Ñ Ð½Ð°ÑÑÑойки:</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis>: Ñ
оÑоÑи 1 или 2, в завиÑимоÑÑи
- Ð¾Ñ ÑилÑма.
- ÐамеÑÑÑе, еÑли Ñ
оÑиÑе, ÑÑÐ¾Ð±Ñ ÐÐ°Ñ ÑилÑм декодиÑовалÑÑ DivX5, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ
- акÑивиÑоваÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð·Ð°ÐºÑÑÑÑÑ
GOP, иÑполÑзÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>cgop</option>
- <systemitem class="library">libavcodec</systemitem>, но Ñакже Ð´Ð¾Ð»Ð¶Ð½Ñ Ð´ÐµÐ°ÐºÑивиÑоваÑÑ
- опÑеделение ÑÑен, ÑÑо не ÑвлÑеÑÑÑ Ñ
оÑоÑей идеей, поÑколÑÐºÑ Ð½ÐµÑколÑко вÑедиÑ
- ÑÑÑекÑивноÑÑи.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis>: Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð² вÑÑокодинамиÑнÑÑ
- ÑÑенаÑ
.
- ÐÐ»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
видео Ñайлов vmax_b_frames Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð²ÑедиÑÑ ÐºÐ°ÑеÑÑвÑ, но vmax_b_frames=2
- вмеÑÑе Ñ vb_strategy=1 Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð² ÑÑом ÑлÑÑае.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">dia</emphasis>: диапазон поиÑка движениÑ. ÐолÑÑие
- знаÑÐµÐ½Ð¸Ñ Ð»ÑÑÑе и медленнее.
- ÐÑÑиÑаÑелÑнÑе знаÑÐµÐ½Ð¸Ñ — ÑÑо ÑовеÑÑенно дÑÑÐ³Ð°Ñ Ñкала.
- ХоÑоÑими знаÑениÑми ÑвлÑÑÑÑÑ -1 Ð´Ð»Ñ Ð±ÑÑÑÑого кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ 2-4 — длÑ
- медленного.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">predia</emphasis>: пÑедпÑоÑ
од поиÑка движениÑ.
- Ðе Ñак важен, как dia. ХоÑоÑими ÑвлÑÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¾Ñ 1 (по ÑмолÑаниÑ) до 4.
- ТÑебÑÐµÑ preme=2, ÑÑÐ¾Ð±Ñ Ð±ÑÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑно полезнÑм.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: ФÑнкÑÐ¸Ñ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ
- поиÑка движениÑ.
- ÐоÑкÑпеÑименÑиÑÑйÑе Ñо знаÑениÑми 0 (по ÑмолÑаниÑ), 2 (hadamard), 3 (dct), и 6
- (ÑооÑноÑение Ñигнал-ÑÑм).
- 0 — ÑамÑй бÑÑÑÑÑй и доÑÑаÑоÑен Ð´Ð»Ñ precmp.
- Ð ÑлÑÑае cmp и subcmp, 2 ÑвлÑеÑÑÑ Ñ
оÑоÑим Ð´Ð»Ñ Ð°Ð½Ð¸Ð¼Ðµ, а 3 Ð´Ð»Ñ Ð¶Ð¸Ð²Ð¾Ð¹ ÑÑемки.
- 6 Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð»ÑÑÑе, а Ð¼Ð¾Ð¶ÐµÑ Ð¸ неÑ, но он медленнее.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis>: ÐолиÑеÑÑво пÑедÑказаÑелей
- движениÑ, беÑÑÑиÑ
ÑÑ Ð¸Ð· пÑедÑдÑÑего кадÑа.
- 1-3 или около Ñого помогÑÑ Ðам Ñеной неболÑÑой поÑеÑи в ÑкоÑоÑÑи.
- ÐолÑÑие знаÑÐµÐ½Ð¸Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñ Ð¸ не даÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑного ÑлÑÑÑениÑ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis>: ÐонÑÑолиÑÑÐµÑ Ð²ÑÐ±Ð¾Ñ Ð¼Ð°ÐºÑоблоков.
- ÐезнаÑиÑелÑное Ñнижение ÑкоÑоÑÑи Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑим пÑиÑоÑÑом в каÑеÑÑве.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qprd</emphasis>: адапÑивное кванÑование, оÑнованное на
- ÑложноÑÑи макÑоблока.
- ÐÐ¾Ð¶ÐµÑ ÑделаÑÑ Ð»ÑÑÑе или Ñ
Ñже в завиÑимоÑÑи Ð¾Ñ Ð²Ð¸Ð´ÐµÐ¾ и дÑÑгиÑ
опÑий.
- Ðна Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð°ÑÑеÑакÑов, еÑли ÐÑ Ð½Ðµ ÑÑÑановиÑе vqmax в
- некоÑоÑое ÑазÑмно малое знаÑение
- (Ñ
оÑоÑо — 6, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð°Ð¶Ðµ 4); vqmin=1 Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð¼Ð¾ÑÑ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qns</emphasis>: оÑÐµÐ½Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾, оÑобенно в комбинаÑии Ñ qprd.
- ÐÑа опÑÐ¸Ñ ÑÐºÐ°Ð¶ÐµÑ ÐºÐ¾Ð´Ð¸ÑовÑÐ¸ÐºÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð¸ÑоваÑÑ ÑÑм Ð¾Ñ Ð°ÑÑеÑакÑов ÑжаÑÐ¸Ñ Ð²Ð¼ÐµÑÑо
- ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð·Ð°ÐºÐ¾Ð´Ð¸Ñованного видео, полноÑÑÑÑ ÑооÑвеÑÑÑвÑÑÑего иÑÑ
одномÑ.
- Ðе иÑполÑзÑйÑе ее, еÑли ÑолÑко не пеÑепÑобовали наÑÑÑоиÑÑ Ð²Ñе, ÑÑо бÑло
- возможно, а ÑезÑлÑÑÐ°Ñ Ð²Ñе Ñаки недоÑÑаÑоÑно Ñ
оÑоÑ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis>: ÐаÑÑÑÐ°Ð¸Ð²Ð°ÐµÑ ÑпÑавление биÑпоÑоком.
- Ðакие знаÑÐµÐ½Ð¸Ñ ÑвлÑÑÑÑÑ Ñ
оÑоÑими, завиÑÐ¸Ñ Ð¾Ñ ÑилÑма.
- ÐÑли Ñ
оÑиÑе, можеÑе без опаÑки оÑÑавиÑÑ Ð·Ð½Ð°Ñение по ÑмолÑаниÑ.
- УменÑÑение vqcomp оÑÐ´Ð°ÐµÑ Ð±Ð¾Ð»ÑÑе Ð±Ð¸Ñ Ð² ÑÑÐµÐ½Ñ Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ ÑложноÑÑÑÑ, ÑвелиÑение
- его пеÑÐµÐ´Ð°ÐµÑ Ð±Ð¸ÑÑ Ð² оÑÐµÐ½Ñ ÑложнÑе ÑÑÐµÐ½Ñ (по ÑмолÑаниÑ: 0.5, диапазон: 0-1.
- ÑекомендÑемÑй диапазон: 0.5-0.7).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ñог
- оÑбÑаÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ð´Ð¸Ð½Ð¾Ñного коÑÑÑиÑиенÑа Ð´Ð»Ñ ÑÑкоÑÑной и ÑвеÑноÑÑной плоÑкоÑÑей.
- Ðни кодиÑÑÑÑÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо во вÑеÑ
MPEG-поÑ
ожиÑ
алгоÑиÑмаÑ
.
- ÐÐ´ÐµÑ ÑÑиÑ
опÑий заклÑÑаеÑÑÑ Ð² иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐºÐ¾ÑоÑой Ñ
оÑоÑей ÑвÑиÑÑики длÑ
- опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа, когда Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² блоке ниже Ñказанного Ðами поÑога, и ÑÑо его
- ÑÑÐ¾Ð¸Ñ ÐºÐ¾Ð´Ð¸ÑоваÑÑ ÐºÐ°Ðº "блок без изменений".
- ÐÑо ÑоÑ
ÑанÑÐµÑ Ð±Ð¸ÑÑ Ð¸, возможно, ÑÑкоÑÑÐµÑ ÐºÐ¾Ð´Ð¸Ñование.
- vlelim=-4 и vcelim=9 вÑглÑдÑÑ Ð½ÐµÐ¿Ð»Ð¾Ñ
ими Ð´Ð»Ñ Ð¶Ð¸Ð²Ð¾Ð¹ ÑÑемки, но, ÑкоÑее вÑего, не
- помогÑÑ Ð´Ð»Ñ Ð°Ð½Ð¸Ð¼Ðµ; пÑи кодиÑовании анимаÑии Ðам, возможно, ÑледÑÐµÑ Ð¾ÑÑавиÑÑ
- ÑÑÑ Ð¾Ð¿ÑÐ¸Ñ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½Ð½Ð¾Ð¹.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>: ЧеÑвеÑÑÑпикÑелÑÐ½Ð°Ñ Ð¾Ñенка движениÑ.
- Ðо-ÑмолÑаниÑ, MPEG-4 иÑполÑзÑÐµÑ Ð¿Ð¾Ð»ÑпикÑелÑнÑÑ ÑоÑноÑÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка движениÑ,
- ÑледоваÑелÑно, ÑÑа опÑÐ¸Ñ Ð²Ð½Ð¾ÑÐ¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе накладнÑе ÑаÑÑ
одÑ, поÑколÑкÑ
- ÑоÑ
ÑанÑÐµÑ Ð±Ð¾Ð»ÑÑе инÑоÑмаÑии в закодиÑованном Ñайле.
- УлÑÑÑение/ÑÑ
ÑдÑение ÑÑепени ÑжаÑÐ¸Ñ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ ÑилÑма, но обÑÑно ÑÑа опÑÐ¸Ñ Ð½Ðµ
- оÑÐµÐ½Ñ ÑÑÑекÑивна Ð´Ð»Ñ Ð°Ð½Ð¸Ð¼Ðµ.
- qpel вÑегда вноÑÐ¸Ñ Ð·Ð½Ð°ÑиÑелÑнÑй вклад в CPU вÑÐµÐ¼Ñ Ð´ÐµÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ (+25% на
- пÑакÑике).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">psnr</emphasis>: не влиÑÐµÑ Ð½Ð° Ñам пÑоÑеÑÑ ÐºÐ¾Ð´Ð¸ÑованиÑ,
- но вÑÐ²Ð¾Ð´Ð¸Ñ Ð² Ñайл Ñип/ÑазмеÑ/каÑеÑÑво каждого кадÑа, а Ñакже иÑоговÑй
- PSNR (Peak Signal to Noise Ratio, пиковое оÑноÑÐµÐ½Ð¸Ñ Ñигнала к ÑÑмÑ) в конÑе
- пÑоÑеÑÑа.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>ÐпÑии, Ñ ÐºÐ¾ÑоÑÑми игÑаÑÑ Ð½Ðµ ÑÑоиÑ:</title>
-<listitem><para>
- <emphasis role="bold">vme</emphasis>: ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ ÑвлÑеÑÑÑ Ð»ÑÑÑим.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: ÐÑиÑ
овизÑалÑное
- адапÑивное кванÑование.
- Ðе ÑÑÐ¾Ð¸Ñ Ð¸Ð³ÑаÑÑ Ñ ÑÑими опÑиÑми, еÑли забоÑиÑеÑÑ Ð¾ каÑеÑÑве.
- РазÑмнÑе знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ ÑÑÑекÑивнÑми в ÐаÑем ÑлÑÑае, но имейÑе в видÑ,
- ÑÑо ÑÑо веÑÑма ÑÑбÑекÑивно.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis>: ÐÑÑаеÑÑÑ Ð¿ÑедоÑвÑаÑиÑÑ Ð¿Ð¾Ñвление
- квадÑаÑиков, но лÑÑÑе вÑполниÑÑ Ð¿Ð¾ÑÑобÑабоÑкÑ.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>ÐÑимеÑÑ Ð½Ð°ÑÑÑоек кодиÑованиÑ</title>
-
-<para>
-СледÑÑÑие наÑÑÑойки — ÑÑо пÑимеÑÑ ÑазлиÑнÑÑ
комбинаÑий опÑий кодиÑованиÑ,
-коÑоÑÑе влиÑÑÑ Ð½Ð° ÑооÑноÑение ÑкоÑоÑÑÑ-каÑеÑÑво пÑи Ñой же велиÑине Ñелевого
-бипÑоÑока.
-</para>
-
-<para>
-ÐÑе наÑÑÑойки кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑовеÑÑлиÑÑ Ð½Ð° ÑеÑÑовом видео 720x448 @30000/1001 fps
-Ñ ÑелевÑм биÑпоÑоком 900кбиÑ/Ñек, на маÑине AMD-64 3400+ Ñ 2400 ÐÐÑ Ð¸ 64 биÑном Ñежиме.
-ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ наÑÑÑойки кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐºÐ°Ð·Ð°Ð½Ñ Ð¸Ð·Ð¼ÐµÑÐµÐ½Ð½Ð°Ñ ÑкоÑоÑÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ (в
-кадÑаÑ
в ÑекÑндÑ) и поÑеÑÑ PSNR (в дÐ) по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð½Ð°ÑÑÑойкой "оÑÐµÐ½Ñ Ð²ÑÑокое
-каÑеÑÑво". ÐоймиÑе, пожалÑйÑÑа, ÑÑо в завиÑимоÑÑи Ð¾Ñ ÐаÑего маÑеÑиала, Ñипа
-маÑинÑ, пÑогÑеÑÑа ÑазÑабоÑки ÐÑ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ ÑилÑно оÑлиÑаÑÑиеÑÑ ÑезÑлÑÑаÑÑ.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>ÐпиÑание</entry>
- <entry>ÐпÑии кодиÑованиÑ</entry>
- <entry>ÑкоÑоÑÑÑ (в fps)</entry>
- <entry>ÐÑноÑиÑелÑÐ½Ð°Ñ Ð¿Ð¾ÑеÑÑ PSNR (в дÐ)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>ÐÑÐµÐ½Ñ Ð²ÑÑокое каÑеÑÑво</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6fps</entry>
- <entry>0дÐ</entry>
-</row>
-<row>
- <entry>ÐÑÑокое каÑеÑÑво</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15fps</entry>
- <entry>-0.5дÐ</entry>
-</row>
-<row>
- <entry>ÐÑÑÑÑое</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42fps</entry>
- <entry>-0.74дÐ</entry>
-</row>
-<row>
- <entry>РеалÑного вÑемени</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54fps</entry>
- <entry>-1.21дÐ</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="custommatrices">
-<title>ÐеÑÑандаÑÑнÑе inter/intra маÑÑиÑÑ</title>
-
-<para>
-С ÑÑой возможноÑÑÑÑ
-<systemitem class="library">libavcodec</systemitem>,
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ Ð½ÐµÑÑандаÑÑнÑе inter (I-кадÑÑ/клÑÑевÑе) и intra
-(P-кадÑÑ/пÑедÑказаннÑе) маÑÑиÑÑ. ÐÑо поддеÑживаеÑÑÑ Ð¼Ð½Ð¾Ð³Ð¸Ð¼Ð¸ кодеками:
-Р<systemitem>mpeg1video</systemitem> и <systemitem>mpeg2video</systemitem>
-Ñакже заÑвлена поддеÑжка.
-</para>
-
-<para>
-ÐбÑÑное иÑполÑзовании ÑÑой опÑии — ÑÑÑановиÑÑ Ð¼Ð°ÑÑиÑÑ, пÑедпоÑиÑаемÑе
-ÑпеÑиÑикаÑиÑми <ulink url="http://www.kvcd.net/">KVCD</ulink>.
-</para>
-
-<para>
-<emphasis role="bold">KVCD ÐаÑÑиÑа ÐванÑÐ¾Ð²Ð°Ð½Ð¸Ñ "Notch":</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-ÐÑполÑзование:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \
- -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>ÐÑимеÑ</title>
-
-<para>
-ÐÑак, ÐÑ ÑолÑко ÑÑо кÑпили новенÑкÑÑ, блеÑÑÑÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑилÑма "ÐаÑÑи ÐоÑÑÐµÑ Ð¸ ТайнаÑ
-ÐомнаÑа" (в ÑиÑокоÑкÑанном ÑоÑмаÑе, конеÑно) и Ñ
оÑиÑе ÑделаÑÑ Ñип ÑÑого DVD Ñак,
-ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÐµÐ³Ð¾ к ÐомаÑÐ½ÐµÐ¼Ñ ÐºÐ¸Ð½Ð¾ÑеаÑÑÑ Ð½Ð° PC. ÐÑо DVD пеÑвого Ñегиона,
-поÑÑÐ¾Ð¼Ñ NTSC. ÐÑÐ¸Ð¼ÐµÑ Ð½Ð¸Ð¶Ðµ Ñакже пÑименим и Ð´Ð»Ñ PAL, за иÑклÑÑением Ñого, ÑÑо
-надо бÑÐ´ÐµÑ Ð¾Ð¿ÑÑÑиÑÑ <option>-ofps 24000/1001</option> (поÑколÑÐºÑ ÑаÑÑоÑа кадÑов
-на вÑÑ
оде ÑÐ°ÐºÐ°Ñ Ð¶Ðµ, как и на вÑ
оде), и, конеÑно, гÑаниÑÑ Ð¾Ð±ÑÐµÐ·Ð°Ð½Ð¸Ñ Ð±ÑдÑÑ
-дÑÑгими.
-</para>
-
-<para>
-ÐоÑле запÑÑка <option>mplayer dvd://1</option> Ð¼Ñ ÑледÑем пÑоÑеÑÑÑ, деÑалÑно
-опиÑÐ°Ð½Ð½Ð¾Ð¼Ñ Ð² Ñазделе <link linkend="menc-feat-telecine">Ðак ÑабоÑаÑÑ Ñ ÑелеÑином
-и ÑеÑеÑÑÑÑоÑноÑÑÑÑ Ð² NTSC DVD</link>, и вÑÑÑнÑем, ÑÑо ÑÑо 24000/1001 fps
-поÑÑÑоÑное видео, а знаÑиÑ, иÑполÑзоваÑÑ ÑилÑÑÑÑ Ð¾Ð±ÑаÑного ÑелеÑина,
-Ñакие как <option>pullup</option> или <option>filmdint</option> не нÑжно.
-</para>
-
-<para id="menc-feat-dvd-mpeg4-example-crop">
-Ðалее, Ð¼Ñ Ñ
оÑим опÑеделиÑÑ Ð²ÐµÑнÑе гÑаниÑÑ Ð¾Ð±ÑезаниÑ, поÑÑÐ¾Ð¼Ñ Ð¸ÑполÑзÑем ÑилÑÑÑ
-cropdetect:
-<screen>mplayer dvd://1 -vf cropdetect</screen>
-УбедиÑеÑÑ, ÑÑо пеÑемеÑÑилиÑÑ Ðº полноÑÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ð¾Ð¼Ñ ÐºÐ°Ð´ÑÑ (напÑимеÑ,
-к ÑвеÑлой ÑÑене поÑле пÑопÑÑеннÑÑ
наÑалÑнÑÑ
ÑиÑÑов и логоÑипов),
-ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвидеÑÑ Ð² конÑоли <application>MPlayer</application>:
-<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-ÐаÑем Ñнова воÑпÑоизводим ÑилÑм Ñ ÑÑим ÑилÑÑÑом Ð´Ð»Ñ Ð¿ÑовеÑки его коÑÑекÑноÑÑи:
-<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-Ð ÑбеждаемÑÑ, ÑÑо вÑе вÑглÑÐ´Ð¸Ñ Ð¿ÑекÑаÑно. Ðалее, пÑовеÑÑем, ÑÑо ÑиÑина и вÑÑоÑа
-делÑÑÑÑ Ð½Ð° 16. С ÑиÑиной вÑе в поÑÑдке, а Ñ Ð²ÑÑоÑой — неÑ.
-ÐоÑколÑÐºÑ Ð¼Ñ Ð½Ðµ заваливали маÑемаÑÐ¸ÐºÑ Ð² 7-ом клаÑÑе, Ñо знаем, ÑÑо ближайÑее
-Ñелое, менÑÑее 362 и кÑаÑное 16, Ñавно 352.
-</para>
-
-<para>
-ÐÑ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ Ð¿ÑоÑÑо иÑполÑзоваÑÑ <option>crop=720:352:0:58</option>, но бÑдеÑ
-лÑÑÑе оÑÑезаÑÑ Ð¿Ð¾Ð½ÐµÐ¼Ð½Ð¾Ð³Ñ Ð¾Ñ Ð²ÐµÑÑ
а и низа, ÑÑÐ¾Ð±Ñ ÑенÑÑ Ð¾ÑÑалÑÑ Ð½Ð° меÑÑе.
-ÐÑ ÑменÑÑили вÑÑоÑÑ Ð½Ð° 10 пикÑелов, но не Ñ
оÑим ÑвелиÑиваÑÑ ÑмеÑение по y на 5,
-поÑколÑÐºÑ ÑÑо неÑеÑное ÑиÑло и оÑÑиÑаÑелÑно ÑкажеÑÑÑ Ð½Ð° каÑеÑÑве.
-ÐмеÑÑо ÑÑого, Ð¼Ñ ÑвелиÑим y на 4:
-<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-ÐÑÑÐ³Ð°Ñ Ð¿ÑиÑина, по коÑоÑой Ð¼Ñ ÑÑезаем пикÑÐµÐ»Ñ ÑвеÑÑ
Ñ Ð¸ ÑнизÑ, заклÑÑаемÑÑ Ð² Ñом,
-ÑÑо Ð¼Ñ Ñ
оÑим ÑбедиÑÑÑÑ, ÑÑо ÑÐ´Ð°Ð»ÐµÐ½Ñ Ð²Ñе Ð½Ð°Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ ÑеÑнÑе пикÑелÑ, еÑли они еÑÑÑ.
-ÐÑли ÐаÑе видео подвеÑжено ÑелеÑинÑ, ÑбедиÑеÑÑ, ÑÑо ÑилÑÑÑ <option>pullup</option> (или
-лÑбой дÑÑгой ÑилÑÑÑ Ð¾Ð±ÑаÑного ÑелеÑина, коÑоÑÑй ÐÑ ÑеÑили иÑполÑзоваÑÑ)
-наÑ
одиÑÑÑ Ð² ÑепоÑке до ÑилÑÑÑа crop.
-ÐÑли оно ÑеÑеÑÑÑÑоÑное, Ñо пеÑед обÑезкой пÑоведиÑе деинÑеÑлейÑинг.
-(ÐÑли ÑеÑили ÑоÑ
ÑаниÑÑ ÑеÑеÑÑÑÑоÑноÑÑÑ Ð²Ð¸Ð´ÐµÐ¾, ÑбедиÑеÑÑ, ÑÑо веÑÑикалÑнÑй Ñдвиг
-обÑÐµÐ·Ð°Ð½Ð¸Ñ ÐºÑаÑен 4.)
-</para>
-
-<para>
-ÐÑли ÐÐ°Ñ Ð´ÐµÐ¹ÑÑвиÑелÑно забоÑÐ¸Ñ Ð¿Ð¾ÑеÑÑ ÑÑиÑ
10 пикÑелов, ÐÑ Ð¼Ð¾Ð¶ÐµÑе
-вмеÑÑо ÑÑого оÑмаÑÑÑабиÑоваÑÑ ÑилÑм, ÑменÑÑив ÑазмеÑноÑÑи до ближайÑиÑ
-кÑаÑнÑÑ
16 знаÑений.
-ЦепоÑка ÑилÑÑÑов бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ Ð¿ÑимеÑно Ñак:
-<screen>-vf crop=720:362:0:58,scale=720:352</screen>
-Ðодобное ÑменÑÑение изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð±ÑÐ´ÐµÑ Ð¾Ð·Ð½Ð°ÑаÑÑ Ð¿Ð¾ÑеÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑого колиÑеÑÑва
-деÑалей, Ñ
оÑÑ ÑÑо, возможно, окажеÑÑÑ Ð½ÐµÐ·Ð°Ð¼ÐµÑнÑм. ÐаÑÑÑабиÑование изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²
-ÑÑоÑÐ¾Ð½Ñ ÑвелиÑÐµÐ½Ð¸Ñ Ð´Ð°ÑÑ Ñ
ÑдÑее каÑеÑÑво (еÑли ÐÑ Ð½Ðµ ÑвелиÑиваеÑе биÑпоÑок).
-ÐбÑезка же полноÑÑÑÑ Ð²ÑбÑоÑÐ¸Ñ Ñе пикÑелÑ. ÐÑо компÑомиÑÑ, идÑи на коÑоÑÑй или неÑ,
-пÑидеÑÑÑ ÑеÑаÑÑ Ð² каждом ÑаÑÑном ÑлÑÑае. ÐапÑимеÑ, еÑли DVD видео бÑло Ñоздано
-Ð´Ð»Ñ ÑелевидениÑ, ÐÑ Ð¼Ð¾Ð¶ÐµÑе заÑ
оÑеÑÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð²ÐµÑÑикалÑного маÑÑÑабиÑованиÑ,
-поÑколÑÐºÑ Ð´Ð¸ÑкÑеÑизаÑÐ¸Ñ ÑÑÑок ÑооÑвеÑÑÑвÑÐµÑ ÑомÑ, как ÑодеÑжимое
-изнаÑалÑно запиÑÑвалоÑÑ.
-</para>
-
-<para>
-ÐÑи пÑовеÑке видим, ÑÑо Ð½Ð°Ñ ÑилÑм Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸ болÑÑое колиÑеÑÑво
-деÑалей, Ñак ÑÑо вÑбиÑаем Ð´Ð»Ñ Ð±Ð¸ÑпоÑока знаÑение 2400ÐбиÑ/Ñек.
-</para>
-
-<para>
-ТепеÑÑ Ð¼Ñ Ð³Ð¾ÑÐ¾Ð²Ñ Ð¿ÑоизвеÑÑи двÑÑ
пÑоÑ
одное кодиÑование. ÐÑоÑ
од пеÑвÑй:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-РвÑоÑой пÑоÑ
од Ñ Ñеми же паÑамеÑÑами, за иÑклÑÑением <option>vpass=2</option>:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-</para>
-
-<para>
-ÐпÑии <option>v4mv:mbd=2:trell</option> знаÑиÑелÑно ÑлÑÑÑÐ°Ñ ÐºÐ°ÑеÑÑво Ñеной
-вÑемени кодиÑованиÑ. ÐÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
оÑнований оÑклÑÑаÑÑ ÑÑи
-опÑии, когда главнÑм кÑиÑеÑием ÑвлÑеÑÑÑ ÐºÐ°ÑеÑÑво. ÐпÑии
-<option>cmp=3:subcmp=3</option> вÑбиÑаÑÑ ÑÑнкÑÐ¸Ñ ÑÑавнениÑ, даÑÑÑÑ
-лÑÑÑее каÑеÑÑво, Ñем ÑÑандаÑÑнаÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе поÑкÑпеÑименÑиÑоваÑÑ Ñ ÑÑим паÑамеÑÑом
-(возможнÑе знаÑÐµÐ½Ð¸Ñ ÑмоÑÑиÑе на man ÑÑÑаниÑе), поÑколÑÐºÑ ÑазнÑе ÑÑнкÑии могÑÑ
-даваÑÑ ÑазнÑй пÑиÑоÑÑ Ð² каÑеÑÑве в завиÑимоÑÑи Ð¾Ñ Ð¸ÑÑ
одного маÑеÑиала.
-ÐапÑимеÑ, еÑли ÐÑ Ð·Ð°Ð¼ÐµÑаеÑе, ÑÑо <systemitem class="library">libavcodec</systemitem>
-пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ ÑлиÑком много блоÑнÑÑ
аÑÑеÑакÑов (квадÑаÑиков), Ñо можеÑе попÑÑаÑÑÑÑ
-вÑбÑаÑÑ ÑкÑпеÑименÑалÑнÑй NSSE в каÑеÑÑве ÑÑнкÑии ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ñи помоÑи опÑии
-<option>*cmp=10</option>.
-</para>
-
-<para>
-ÐÐ»Ñ ÑÑого ÑилÑма полÑÑеннÑй AVI бÑÐ´ÐµÑ 138 минÑÑ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð¹ и ÑазмеÑом около 3Ðб.
-Ð, поÑколÑÐºÑ ÐÑ Ñказали, ÑÑо ÑÐ°Ð·Ð¼ÐµÑ Ñайла знаÑÐµÐ½Ð¸Ñ Ð½Ðµ имееÑ, ÑÑо вполне
-пÑиемлемÑй ÑезÑлÑÑаÑ. Ðднако, еÑли вÑе-Ñаки Ñ
оÑиÑе полÑÑиÑÑ Ð¼ÐµÐ½ÑÑий ÑÐ°Ð·Ð¼ÐµÑ Ñайла,
-можеÑе попÑобоваÑÑ ÑменÑÑиÑÑ Ð±Ð¸ÑпоÑок. УвелиÑение биÑпоÑока Ð¸Ð¼ÐµÐµÑ ÑнижаÑÑийÑÑ ÑÑÑекÑ,
-поÑÑомÑ, Ñ
оÑÑ Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ ÑÑно видеÑÑ ÑлÑÑÑение Ð¾Ñ 1800ÐбиÑ/Ñек до 2000ÐбиÑ/Ñек, оно
-Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ðµ ÑÑÐ¾Ð»Ñ Ð·Ð°Ð¼ÐµÑно вÑÑе 2000ÐбиÑ/Ñек.
-</para>
-
-<para>
-Так как Ð¼Ñ Ð¿ÑопÑÑÑили иÑÑ
одное видео ÑеÑез ÑилÑÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑÑма, Ñо, возможно,
-заÑ
оÑеÑÑÑ Ð²ÐµÑнÑÑÑ ÐºÐ°ÐºÑÑ-Ñо его ÑаÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑоизведениÑ.
-ÐÑо, ÑовмеÑÑно Ñ ÑилÑÑÑом поÑÑобÑабоÑки <option>spp</option>, ÑÑÑеÑÑвенно
-ÑлÑÑÑÐ¸Ñ Ð²Ð¾ÑпÑинимаемое каÑеÑÑво и Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð±Ð»Ð¾ÑнÑÑ
аÑÑеÑакÑов в видео.
-ÐпÑией <option>autoq</option> <application>MPlayer</application>'а ÐÑ Ð¼Ð¾Ð¶ÐµÑе
-изменÑÑÑ Ð²ÐµÐ»Ð¸ÑÐ¸Ð½Ñ Ð¿Ñоизводимой ÑилÑÑÑом spp поÑÑобÑабоÑки в завиÑимоÑÑи оÑ
-доÑÑÑпнÑÑ
ÑеÑÑÑÑов CPU. Ðдобавок, на ÑÑом ÑÑапе ÐÑ Ð¼Ð¾Ð¶ÐµÑе заÑ
оÑеÑÑ Ð¿ÑимениÑÑ
-коÑÑекÑÐ¸Ñ Ð³Ð°Ð¼Ð¼Ñ Ð¸/или ÑвеÑа Ð´Ð»Ñ Ð»ÑÑÑего ÑооÑвеÑÑÑÐ²Ð¸Ñ ÐаÑÐµÐ¼Ñ Ð¼Ð¾Ð½Ð¸ÑоÑÑ. ÐапÑимеÑ:
-<screen>
-mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
-</screen>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-xvid">
-<title>ÐодиÑование кодеком <systemitem class="library">Xvid</systemitem></title>
-
-<para>
-<systemitem class="library">Xvid</systemitem> — ÑÑо ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека длÑ
-кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ MPEG-4 ASP видео поÑоков.
-ÐеÑед Ñем, как наÑаÑÑ ÐºÐ¾Ð´Ð¸Ñование, Ðам поÑÑебÑеÑÑÑ <link linkend="xvid">
-наÑÑÑоиÑÑ <application>MEncoder</application> Ð´Ð»Ñ ÐµÐ³Ð¾ поддеÑжки</link>.
-</para>
-
-<para>
-ÐÑо ÑÑководÑÑво в оÑновном наÑелено на оÑобенноÑÑи пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑеÑ
же меÑодов,
-ÑÑо опиÑÐ°Ð½Ñ Ð² ÑÑководÑÑве по кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ x264.
-ÐоÑÑомÑ, ÑнаÑала пÑоÑÑиÑе, пожалÑйÑÑа,
-<link linkend="menc-feat-x264-encoding-options-intro">пеÑвÑÑ ÑаÑÑÑ</link>
-Ñого ÑÑководÑÑва.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-intro">
-<title>Ðакие опÑии ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð»ÑÑÑиÑ
ÑезÑлÑÑаÑов?</title>
-
-<para>
-ÐожалÑйÑÑа, наÑниÑе Ñ Ð¿ÑоÑмоÑÑа Ñаздела
-<systemitem class="library">Xvid</systemitem> man ÑÑÑаниÑÑ
-<application>MPlayer</application>.
-ÐÑÐ¾Ñ Ñаздел пÑедполагаеÑÑÑ ÐºÐ°Ðº дополнение к man ÑÑÑаниÑе.
-</para>
-
-<para>
-ÐаÑÑÑойки по ÑмолÑÐ°Ð½Ð¸Ñ Xvid Ñже ÑвлÑÑÑÑÑ Ñ
оÑоÑим вÑбоÑом Ð¼ÐµÐ¶Ð´Ñ ÑкоÑоÑÑÑÑ Ð¸
-каÑеÑÑвом, поÑÑÐ¾Ð¼Ñ ÐÑ Ð¼Ð¾Ð¶ÐµÑе без опаÑений пÑидеÑживаÑÑÑÑ Ð¸Ñ
, еÑли ÑледÑÑÑий
-Ñаздел ÐÐ°Ñ Ð¾Ð·Ð°Ð´Ð°ÑиваеÑ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>ÐпÑии кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ <systemitem class="library">Xvid</systemitem></title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- ÐÑа опÑÐ¸Ñ Ð²Ð»Ð¸ÑÐµÑ Ð½Ð° алгоÑиÑм пÑинÑÑÐ¸Ñ ÑеÑений о макÑоблоке, Ñем вÑÑе знаÑение, Ñем
- мÑдÑее бÑдÑÑ ÑеÑениÑ.
- ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ без опаÑки иÑполÑзоваÑÑ Ð´Ð»Ñ Ð»Ñбого кодиÑованиÑ, в
- Ñо вÑемÑ, как более вÑÑокие знаÑÐµÐ½Ð¸Ñ Ð²Ñегда ÑлÑÑÑÐ°Ñ PSNR, но бÑдÑÑ ÑабоÑаÑÑ Ð·Ð½Ð°ÑиÑелÑно
- медленнее.
- ÐамеÑÑÑе, пожалÑйÑÑа, ÑÑо лÑÑÑий PSNR не обÑзаÑелÑно ознаÑÐ°ÐµÑ Ð»ÑÑÑе вÑглÑдÑÑÑÑ
- каÑÑинкÑ, но говоÑиÑ, ÑÑо она ближе к оÑигиналÑ.
- ÐÑклÑÑение ÑÑой опÑии замеÑно ÑÑкоÑÑÐµÑ ÐºÐ¾Ð´Ð¸Ñование; ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð¾ÑÑойнÑм
- компÑомиÑÑом, еÑли ÑкоÑоÑÑÑ Ðам кÑиÑиÑна.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- То же, ÑÑо и vhq, но Ð´Ð»Ñ B-кадÑов.
- ÐÐ¼ÐµÐµÑ Ð½ÐµÐ·Ð½Ð°ÑиÑелÑное влиÑние на ÑкоÑоÑÑÑ Ð¸ Ñлегка ÑлÑÑÑÐ°ÐµÑ ÐºÐ°ÑеÑÑво (около
- +0.1дÐ).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- ÐолÑÑее ÑиÑло допÑÑÑимÑÑ
поÑледоваÑелÑнÑÑ
B-кадÑов обÑÑно ÑлÑÑÑаеÑ
- ÑжимаемоÑÑÑ, Ñ
оÑÑ Ð¾Ð½Ð¾ Ð¼Ð¾Ð¶ÐµÑ Ñакже пÑивеÑÑи к болÑÑÐµÐ¼Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑÐ²Ñ Ð±Ð»Ð¾ÑнÑÑ
- аÑÑеÑакÑов (квадÑаÑиков).
- ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ — Ñ
оÑоÑий вÑÐ±Ð¾Ñ Ð¼ÐµÐ¶Ð´Ñ ÑжимаемоÑÑÑÑ Ð¸ каÑеÑÑвом, но ÐÑ
- можеÑе ÑвелиÑиÑÑ ÐµÐ³Ð¾ до 3, еÑли ÑÑеÑÐ½ÐµÐ½Ñ Ð²ÐµÐ»Ð¸Ñиной биÑпоÑока.
- ÐÑ Ñакже можеÑе ÑменÑÑиÑÑ ÑÑо знаÑение до 1 или 0, еÑли пеÑеÑеÑÑ Ð¾Ð± оÑлиÑном каÑеÑÑве,
- впÑоÑем в ÑÑом ÑлÑÑае ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑбедиÑÑÑÑ, ÑÑо Ñелевой биÑпоÑок доÑÑаÑоÑно вÑÑок,
- Ð´Ð°Ð±Ñ ÐºÐ¾Ð´Ð¸ÑовÑик не ÑвелиÑивал знаÑение кванÑоваÑелÑ, ÑоÑ
ÑанÑÑ Ð½ÑжнÑÑ Ð²ÐµÐ»Ð¸ÑинÑ
- биÑпоÑока.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- УпÑавлÑÐµÑ ÑÑвÑÑвиÑелÑноÑÑÑÑ ÐºÐ¾Ð´Ð¸ÑовÑика к B-кадÑам, где болÑÑие знаÑениÑ
- пÑиводÑÑ Ðº иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¾Ð»ÑÑего колиÑеÑÑва B-кадÑов (и наобоÑоÑ).
- ÐпÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° иÑполÑзоваÑÑÑÑ ÑовмеÑÑно Ñ <option>max_bframes</option>;
- еÑли ÐÑ ÑÑеÑÐ½ÐµÐ½Ñ Ð²ÐµÐ»Ð¸Ñиной биÑпоÑока, Ñо Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвелиÑиÑÑ Ð¸
- <option>max_bframes</option>, и <option>bf_threshold</option>,
- в Ñом вÑÐµÐ¼Ñ ÐºÐ°Ðº ÑвелиÑение <option>max_bframes</option> и ÑменÑÑение
- <option>bf_threshold</option> позволÑÑ ÐºÐ¾Ð´Ð¸ÑовÑÐ¸ÐºÑ Ð¸ÑполÑзоваÑÑ Ð±Ð¾Ð»ÑÑе
- B-кадÑов в меÑÑаÑ
, где ÑÑо <emphasis role="bold">дейÑÑвиÑелÑно</emphasis>
- необÑ
одимо.
- Ðизкое колиÑеÑÑво <option>max_bframes</option> и вÑÑокое знаÑение
- <option>bf_threshold</option> — ÑÑо, возможно, не Ñамое мÑдÑое ÑеÑение,
- поÑколÑÐºÑ Ð¾Ð½Ð¾ пÑинÑÐ´Ð¸Ñ ÐºÐ¾Ð´Ð¸ÑовÑик ÑазмеÑаÑÑ B-кадÑÑ Ð² меÑÑаÑ
, коÑоÑÑе никак не
- вÑигÑаÑÑ Ð¾Ñ ÑÑого, Ñем ÑамÑм ÑÑ
ÑдÑÐ°Ñ Ð²Ð¸Ð·ÑалÑное каÑеÑÑво.
- Ðднако, еÑли Ðам ÑÑебÑеÑÑÑ ÑовмеÑÑимоÑÑÑ Ñ Ð°Ð¿Ð¿Ð°ÑаÑнÑми
- пÑоигÑÑваÑелÑми, поддеÑживаÑÑими ÑолÑко ÑÑаÑÑе DivX пÑоÑили (коÑоÑÑе
- поддеÑживаÑÑ ÑолÑко 1 поÑледоваÑелÑнÑй B-кадÑ), ÑÑо единÑÑвеннÑй ÑпоÑоб
- ÑвелиÑиÑÑ ÑжимаемоÑÑÑ Ð¿Ñи помоÑи B-кадÑов.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- ÐпÑимизиÑÑÐµÑ Ð¿ÑоÑеÑÑ ÐºÐ²Ð°Ð½ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÑималÑного
- ÑооÑноÑÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ PSNR и биÑпоÑоком, ÑÑо позволÑÐµÑ ÑÑÑеÑÑвенно ÑкономиÑÑ Ð±Ð¸ÑÑ.
- ÐÑи биÑÑ Ð²Ð¿Ð¾ÑледÑÑвии бÑдÑÑ Ð¿Ð¾ÑÑаÑÐµÐ½Ñ Ð½Ð° дÑÑгие ÑаÑÑи видео, ÑÑо пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº
- ÑвелиÑÐµÐ½Ð¸Ñ Ð¾Ð±Ñего каÑеÑÑва.
- СледÑÐµÑ Ð²Ñегда оÑÑавлÑÑÑ ÑÑÑ Ð¾Ð¿ÑÐ¸Ñ Ð²ÐºÐ»ÑÑенной, поÑколÑÐºÑ ÐµÐµ влиÑние на
- каÑеÑÑво огÑомно. Ðаже еÑли ÐÑ Ð·Ð°Ð±Ð¾ÑиÑеÑÑ Ð¾ ÑкоÑоÑÑи, не оÑклÑÑайÑе ее до ÑеÑ
- поÑ, пока не вÑÑÑавили <option>vhq</option> и оÑÑалÑнÑе более CPU-пÑожоÑливÑе
- опÑии на минимÑм.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- ÐкÑивиÑÑÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑоÑнÑй меÑод оÑенки ÑÑоимоÑÑи коÑÑÑиÑиенÑов, ÑÑо
- ÑменÑÑÐ°ÐµÑ ÑÐ°Ð·Ð¼ÐµÑ Ñайла пÑимеÑно на 0.15 - 0.19% (ÑооÑвеÑÑÑвÑÐµÑ ÑвелиÑениÑ
- PSNR менÑÑе, Ñем на 0.01дÐ), Ð¸Ð¼ÐµÑ Ð½ÐµÑÑÑеÑÑвенное влиÑние на ÑкоÑоÑÑÑ.
- ÐоÑÑомÑ, ÑекомендÑеÑÑÑ Ð²Ñегда деÑжаÑÑ ÑÑÑ Ð¾Ð¿ÑÐ¸Ñ Ð²ÐºÐ»ÑÑенной.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- РазÑабоÑана Ð´Ð»Ñ Ð»ÑÑÑего кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÑлÑÑÑилÑмов и не влиÑÐµÑ Ð½Ð° ÑкоÑоÑÑÑ,
- поÑколÑÐºÑ Ð²Ñего-лиÑÑ Ð½Ð°ÑÑÑÐ°Ð¸Ð²Ð°ÐµÑ ÑвÑиÑÑики пÑинÑÑÐ¸Ñ ÑеÑений о ÑежимаÑ
длÑ
- ÑÑого Ñипа ÑодеÑжимого.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">me_quality</emphasis>
- ÐÑо опÑÐ¸Ñ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ÑоÑноÑÑи оÑенки движениÑ.
- Чем вÑÑе <option>me_quality</option>, Ñем ÑоÑнее бÑÐ´ÐµÑ Ð¾Ñенка оÑигиналÑного
- Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸ Ñем лÑÑÑе полÑÑаÑÑийÑÑ Ð¾ÑÑÑвок бÑÐ´ÐµÑ ÑикÑиÑоваÑÑ Ð¾ÑигиналÑное движение.
- </para>
-
- <para>
- ÐаÑÑÑойка по ÑмолÑÐ°Ð½Ð¸Ñ Ð»ÑÑÑе во вÑеÑ
ÑлÑÑаÑÑ
, поÑÑÐ¾Ð¼Ñ Ð½Ðµ ÑекомендÑеÑÑÑ ÐµÐµ
- вÑклÑÑаÑÑ, еÑли ÑолÑко ÐÑ Ð´ÐµÐ¹ÑÑвиÑелÑно не гониÑеÑÑ Ð·Ð° ÑкоÑоÑÑÑÑ, поÑколÑкÑ
- биÑÑ, ÑÑкономленнÑе Ñ
оÑоÑей оÑенкой движениÑ, могÑÑ Ð±ÑÑÑ Ð¸ÑполÑзованÑ
- где-нибÑÐ´Ñ ÐµÑе, ÑвелиÑÐ¸Ð²Ð°Ñ Ð¾Ð±Ñее каÑеÑÑво.
- Таким обÑазом, не иÑполÑзÑйÑе знаÑÐµÐ½Ð¸Ñ Ð½Ð¸Ð¶Ðµ 5, да и его — ÑолÑко в кÑайнем
- ÑлÑÑае.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- УлÑÑÑÐ°ÐµÑ Ð¾ÑÐµÐ½ÐºÑ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ, дополниÑелÑно пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ Ð²Ð¾ внимание инÑоÑмаÑÐ¸Ñ Ð¾
- ÑвеÑе, Ñогда как одна <option>me_quality</option> иÑполÑзÑÐµÑ ÑолÑко ÑÑкоÑÑÑ.
- ÐÑо замедлÑÐµÑ ÐºÐ¾Ð´Ð¸Ñование на 5-10%, но неÑколÑко ÑлÑÑÑÐ°ÐµÑ Ð²Ð¸Ð·ÑалÑное каÑеÑÑво,
- ÑменÑÑÐ°Ñ ÑÑÑÐµÐºÑ Ð±Ð»Ð¾ÑноÑÑи и ÑокÑаÑÐ°Ñ ÑÐ°Ð·Ð¼ÐµÑ Ñайла пÑимеÑно на 1.3%.
- ÐÑли ÐÐ°Ñ Ð¸Ð½ÑеÑеÑÑÐµÑ ÑкоÑоÑÑÑ, ÑледÑÐµÑ Ð¿Ð¾Ð¿ÑобоваÑÑ Ð¾ÑклÑÑиÑÑ ÑÑÑ Ð¾Ð¿ÑиÑ, пÑежде
- Ñем ÑеÑиÑе ÑменÑÑаÑÑ Ð·Ð½Ð°Ñение <option>me_quality</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- ÐÑа опÑÐ¸Ñ ÑлÑÐ¶Ð¸Ñ Ð´Ð»Ñ ÑвелиÑÐµÐ½Ð¸Ñ ÐºÐ°ÑеÑÑва ÑвеÑного изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¾ÐºÑÑг ÑиÑÑо ÑеÑнÑÑ
/белÑÑ
- гÑÐ°Ð½Ð¸Ñ Ð²Ð¼ÐµÑÑо ÑлÑÑÑÐµÐ½Ð¸Ñ ÑжаÑиÑ. Ðна Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð¼Ð¾ÑÑ Ð¿ÑоÑив
- ÑÑÑекÑа "кÑаÑнÑÑ
ÑÑÑпенек".
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- ÐÑÑаеÑÑÑ Ð¾ÑдаÑÑ Ð¼ÐµÐ½ÑÑий биÑпоÑок облаÑÑÑм изобÑажениÑ, коÑоÑÑе
- ÑеловеÑеÑкий глаз не в ÑоÑÑоÑнии ÑвидеÑÑ Ð´Ð¾ÑÑаÑоÑно Ñ
оÑоÑо, ÑÑо
- Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÐºÐ¾Ð´Ð¸ÑовÑÐ¸ÐºÑ Ð¿Ð¾ÑÑаÑиÑÑ ÑÑкономленнÑе биÑÑ Ð½Ð° более важнÑе
- ÑаÑÑи каÑÑинки. ÐаÑеÑÑво закодиÑованного маÑеÑиала, пÑивнеÑенное ÑÑой
- опÑией, ÑилÑно завиÑÐ¸Ñ Ð¾Ñ Ð»Ð¸ÑнÑÑ
пÑедпоÑÑений и Ð¾Ñ Ñипа и наÑÑÑоек мониÑоÑа,
- иÑполÑзовавÑегоÑÑ Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа (обÑÑно ÑезÑлÑÑÐ°Ñ Ð²ÑглÑÐ´Ð¸Ñ Ð½Ðµ оÑÐµÐ½Ñ Ñ
оÑоÑо,
- еÑли он ÑÑкий, или ÑвлÑеÑÑÑ TFT мониÑоÑом).
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>
- УвелиÑÐ¸Ð²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво пÑедполагаемÑÑ
векÑоÑов движениÑ, пÑÑÑм повÑÑениÑ
- ÑоÑноÑÑи оÑенки Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð»ÑпикÑелÑной до ÑеÑвеÑÑÑпикÑелÑной.
- ÐÐ´ÐµÑ ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи лÑÑÑие векÑоÑÑ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ, коÑоÑÑе взамен
- ÑменÑÑÐ°Ñ Ð±Ð¸ÑпоÑок (Ñем ÑамÑм ÑвелиÑÐ¸Ð²Ð°Ñ ÐºÐ°ÑеÑÑво).
- Ðднако, векÑоÑÑ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ ÑеÑвеÑÑÑпикÑелÑной ÑоÑноÑÑÑÑ ÑÑебÑÑÑ Ð±Ð¾Ð»ÑÑего
- колиÑеÑÑва дополниÑелÑнÑÑ
Ð±Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ, а векÑоÑÑ-кандидаÑÑ Ð½Ðµ вÑегда
- даÑÑ (знаÑиÑелÑно) лÑÑÑие ÑезÑлÑÑаÑÑ.
- ÐоÑÑаÑоÑно ÑаÑÑо кодек ÑÑаÑÐ¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе биÑÑ Ð½Ð° повÑÑеннÑÑ ÑоÑноÑÑÑ
- впÑÑÑÑÑ, а взамен полÑÑÐ°ÐµÑ Ð¸Ð»Ð¸ вообÑе ниÑего, или неболÑÑое ÑвелиÑение каÑеÑÑва.
- Ð ÑожалениÑ, Ð½ÐµÑ ÑпоÑоба пÑедÑказаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñе ÑлÑÑÑÐµÐ½Ð¸Ñ Ð¾Ñ <option>qpel</option>,
- Ñак ÑÑо Ðам пÑидеÑÑÑ ÑделаÑÑ ÐºÐ¾Ð´Ð¸Ñование Ñ Ð½ÐµÐ¹ и без нее, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°ÑÑ
- навеÑнÑка.
- </para>
-
- <para>
- <option>qpel</option> Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑи ÑдвоиÑÑ Ð²ÑÐµÐ¼Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸
- ÑÑебÑеÑ, как минимÑм, на 25% болÑÑей моÑноÑÑи пÑи декодиÑовании.
- Ðна поддеÑживаеÑÑÑ Ð½Ðµ вÑеми аппаÑаÑнÑми пÑоигÑÑваÑелÑми.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- ÐÑÑаеÑÑÑ ÑÑкономиÑÑ Ð±Ð¸ÑÑ Ð² паноÑамнÑÑ
ÑÑенаÑ
, иÑполÑзÑÑ Ð¾Ð´Ð¸Ð½ векÑоÑ
- Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñего кадÑа. ÐÑо поÑÑи вÑегда ÑвелиÑÐ¸Ð²Ð°ÐµÑ PSNR, но замеÑно
- замедлÑÐµÑ ÐºÐ¾Ð´Ð¸Ñование (Ñак же как и декодиÑование).
- ÐоÑÑÐ¾Ð¼Ñ ÐÐ°Ñ ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ ÐµÐµ, ÑолÑко когда ÐÑ Ð²ÐºÐ»ÑÑили
- <option>vhq</option> на макÑимÑм.
- GMC <systemitem class="library">Xvid</systemitem>'а ÑвлÑеÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑложнÑм,
- Ñем Ñ DivX'а, но поддеÑживаеÑÑÑ ÑолÑко некоÑоÑÑми аппаÑаÑнÑми пÑоигÑÑваÑелÑми.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>ÐÑоÑили кодиÑованиÑ</title>
-
-<para>
-Xvid поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÑоÑили кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑеÑез опÑÐ¸Ñ <option>profile</option>,
-коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð½Ð°ÐºÐ»Ð°Ð´ÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ð³ÑаниÑений на знаÑÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ поÑока Xvid Ñаким
-обÑазом, ÑÑо он бÑÐ´ÐµÑ Ð²Ð¾ÑпÑоизводиÑÑÑÑ Ð½Ð° вÑем, ÑÑо поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²ÑбÑаннÑй
-пÑоÑилÑ.
-ÐгÑаниÑÐµÐ½Ð¸Ñ Ð¾ÑноÑÑÑÑÑ Ðº ÑазÑеÑениÑ, биÑпоÑÐ¾ÐºÑ Ð¸ некоÑоÑÑм возможноÑÑÑм MPEG-4.
-СледÑÑÑÐ°Ñ ÑаблиÑа показÑваеÑ, ÑÑо поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÐ¾Ñ Ð¸Ð»Ð¸ иной пÑоÑилÑ.
-</para>
-
-<informaltable>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
-<tbody>
-<row>
- <entry></entry>
- <entry spanname="spa2-5">ÐÑоÑÑой</entry>
- <entry spanname="spa6-11">РаÑÑиÑеннÑй пÑоÑÑой</entry>
- <entry spanname="spa12-17">DivX</entry>
-</row>
-<row>
- <entry>Ðазвание пÑоÑилÑ</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>ÐаÑманнÑй</entry>
- <entry>ÐоÑÑаÑивнÑй NTSC</entry>
- <entry>ÐоÑÑаÑивнÑй PAL</entry>
- <entry>ÐомаÑний киноÑеаÑÑ NTSC</entry>
- <entry>ÐомаÑний киноÑеаÑÑ PAL</entry>
- <entry>HDTV</entry>
-</row>
-<row>
- <entry>ШиÑина [пикÑелов]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
-</row>
-<row>
- <entry>ÐÑÑоÑа [пикÑелов]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
-</row>
-<row>
- <entry>ЧаÑÑоÑа кадÑов [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
-</row>
-<row>
- <entry>ÐакÑималÑнÑй ÑÑедний биÑпоÑок [кбиÑ/Ñек]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
-</row>
-<row>
- <entry>Ðиковое знаÑение ÑÑедней велиÑÐ¸Ð½Ñ Ð±Ð¸ÑпоÑока за 3 ÑекÑÐ½Ð´Ñ [кбиÑ/Ñек]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
-</row>
-<row>
- <entry>ÐакÑ. B-кадÑов</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
-</row>
-<row>
- <entry>MPEG кванÑование</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>ÐдапÑивное кванÑование</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>ЧеÑеÑÑÑÑоÑное кодиÑование</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>ЧеÑвеÑÑÑпикÑелÑÐ½Ð°Ñ ÑоÑноÑÑÑ</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>ÐлобалÑÐ½Ð°Ñ ÐºÐ¾Ð¼Ð¿ÐµÐ½ÑаÑÐ¸Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>ÐÑимеÑÑ Ð½Ð°ÑÑÑоек кодиÑованиÑ</title>
-
-<para>
-ÐоÑледÑÑÑие наÑÑÑойки — ÑÑо пÑимеÑÑ ÑазлиÑнÑÑ
комбинаÑий опÑий кодиÑованиÑ,
-коÑоÑÑе влиÑÑÑ Ð½Ð° ÑооÑноÑÐµÐ½Ð¸Ñ ÑкоÑоÑÑÑ-каÑеÑÑво пÑи Ñой же велиÑине Ñелевого
-биÑпоÑока.
-</para>
-
-<para>
-ÐÑе наÑÑÑойки кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑовеÑÑлиÑÑ Ð½Ð° ÑеÑÑовом видео 720x448 @30000/1001 fps
-Ñ ÑелевÑм биÑпоÑоком 900кбиÑ/Ñек, на маÑине AMD-64 3400+ Ñ 2400 ÐÐÑ Ð¸ 64 биÑном Ñежиме.
-ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ наÑÑÑойки кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐºÐ°Ð·Ð°Ð½Ñ Ð¸Ð·Ð¼ÐµÑÐµÐ½Ð½Ð°Ñ ÑкоÑоÑÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ (в
-кадÑаÑ
в ÑекÑндÑ) и поÑеÑÑ PSNR (в дÐ) по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð½Ð°ÑÑÑойкой "оÑÐµÐ½Ñ Ð²ÑÑокое
-каÑеÑÑво". ÐоймиÑе, пожалÑйÑÑа, ÑÑо в завиÑимоÑÑи Ð¾Ñ ÐаÑего маÑеÑиала, Ñипа
-маÑинÑ, пÑогÑеÑÑа ÑазÑабоÑки, ÐÑ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ ÑилÑно оÑлиÑаÑÑиеÑÑ ÑезÑлÑÑаÑÑ.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>ÐпиÑание</entry><entry>ÐпÑии кодиÑованиÑ</entry><entry>ÑкоÑоÑÑÑ
-(в fps)</entry><entry>ÐÑноÑиÑелÑÐ½Ð°Ñ Ð¿Ð¾ÑеÑÑ PSNR (в дÐ)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>ÐÑÐµÐ½Ñ Ð²ÑÑокое каÑеÑÑво</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16fps</entry>
- <entry>0дÐ</entry>
-</row>
-<row>
- <entry>ÐÑÑокое каÑеÑÑво</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18fps</entry>
- <entry>-0.1дÐ</entry>
-</row>
-<row>
- <entry>ÐÑÑÑÑое</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28fps</entry>
- <entry>-0.69дÐ</entry>
-</row>
-<row>
- <entry>РеалÑного вÑемени</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38fps</entry>
- <entry>-1.48дÐ</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-x264">
-<title>ÐодиÑование кодеком <systemitem class="library">x264</systemitem></title>
-<para>
-<systemitem class="library">x264</systemitem> — ÑÑо ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека длÑ
-кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ H.264/AVC видео поÑоков.
-ÐеÑед наÑалом кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ <link linkend="x264">
-наÑÑÑоиÑÑ <application>MEncoder</application> Ð´Ð»Ñ ÐµÐ³Ð¾ поддеÑжки</link>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>ÐпÑии кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ x264</title>
-
-<para>
-ÐаÑниÑе, пожалÑйÑÑа Ñ Ð¿ÑоÑмоÑÑа Ñаздела
-<systemitem class="library">x264</systemitem>
-man ÑÑÑаниÑÑ <application>MPlayer</application>'а.
-ÐÑÐ¾Ñ Ñаздел пÑедполагаеÑÑÑ Ð±ÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÐµÐ¼ к ÑÑÑаниÑе man.
-ÐдеÑÑ ÐÑ Ð½Ð°Ð¹Ð´ÐµÑе бÑÑÑÑÑе подÑказки о Ñом, какие опÑии ÑаÑе вÑего инÑеÑеÑÑÑÑ
-болÑÑинÑÑво лÑдей. СÑÑаниÑа man более лакониÑна, но Ñакже более полна и поÑой
-намного лÑÑÑе пÑеподноÑÐ¸Ñ ÑеÑ
ниÑеÑкие деÑали.
-</para>
-
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Ðведение</title>
-
-<para>
-ÐÑо ÑÑководÑÑво ÑаÑÑмаÑÑÐ¸Ð²Ð°ÐµÑ Ð´Ð²Ðµ главнÑе каÑегоÑии опÑий кодиÑованиÑ:
-</para>
-
-<orderedlist>
-<listitem><para>
- ÐпÑии, в оÑновном влиÑÑÑие на ÑооÑноÑение ÑкоÑоÑÑÑ-каÑеÑÑво.
-</para></listitem>
-<listitem><para>
- ÐпÑии, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ Ð´Ð»Ñ ÑдовлеÑвоÑÐµÐ½Ð¸Ñ ÑазлиÑнÑÑ
- полÑзоваÑелÑÑкий пÑедпоÑÑений и ÑпеÑиалÑнÑÑ
ÑÑебований.
-</para></listitem>
-</orderedlist>
-
-<para>
-РконÑе конÑов, ÑолÑко ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑеÑаÑÑ ÐºÐ°ÐºÐ¸Ðµ опÑии ÑвлÑÑÑÑÑ Ð»ÑÑÑими Ð´Ð»Ñ ÐаÑиÑ
-Ñелей. РеÑение Ð´Ð»Ñ Ð¿ÐµÑвого клаÑÑа опÑий оÑÐµÐ½Ñ Ð¿ÑоÑÑое:
-надо ÑолÑко опÑеделиÑÑ, ÑÑиÑаеÑе ли ÐÑ, ÑÑо ÑазниÑа в каÑеÑÑве опÑавдÑÐ²Ð°ÐµÑ ÑазниÑÑ Ð²
-ÑкоÑоÑÑи. ÐÐ»Ñ Ð²ÑоÑого клаÑÑа опÑий пÑедпоÑÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð·Ð½Ð°ÑиÑелÑно более
-ÑÑбÑекÑивнÑми и завиÑеÑÑ Ð¾Ñ Ð±Ð¾Ð»ÑÑего ÑиÑла ÑакÑоÑов.
-ÐмейÑе в видÑ, ÑÑо некоÑоÑÑе из опÑий каÑегоÑии "полÑзоваÑелÑÑкиÑ
пÑедпоÑÑений и ÑпеÑиалÑнÑÑ
-ÑÑебований" могÑÑ Ð²Ñе же имеÑÑ Ð±Ð¾Ð»ÑÑое влиÑние на ÑкоÑоÑÑÑ Ð¸Ð»Ð¸ каÑеÑÑво,
-но ÑÑо не оÑновное иÑ
пÑедназнаÑение.
-ЧаÑÑÑ Ð¾Ð¿Ñий из "полÑзоваÑелÑÑкиÑ
пÑедпоÑÑений" могÑÑ Ð´Ð°Ð¶Ðµ пÑивеÑÑи к изменениÑм,
-коÑоÑÑе вÑглÑдÑÑ Ð»ÑÑÑе Ð´Ð»Ñ Ð¾Ð´Ð½Ð¸Ñ
лÑдей и Ñ
Ñже — Ð´Ð»Ñ Ð´ÑÑгиÑ
.
-</para>
-
-<para>
-ÐеÑед Ñем как пÑодолжиÑÑ, Ðам пÑидеÑÑÑ Ð¿Ð¾Ð½ÑÑÑ, ÑÑо ÑÑо ÑÑководÑÑво иÑполÑзÑеÑ
-ÑолÑко Ð¾Ð´Ð½Ñ Ð¼ÐµÑÑÐ¸ÐºÑ ÐºÐ°ÑеÑÑва: глобалÑнÑй PSNR.
-ÐÑаÑкое опиÑание Ñого, ÑÑо Ñакое PSNR, ÑмоÑÑиÑе в
-<ulink url="http://en.wikipedia.org/wiki/PSNR">ÑÑаÑÑе Ðикипедии о PSNR</ulink>.
-ÐлобалÑнÑй PSNR — ÑÑо поÑледнее знаÑение PSNR, вÑводимое на конÑолÑ, когда в
-<option>x264encopts</option> вклÑÑена опÑÐ¸Ñ <option>psnr</option>.
-ÐаждÑй Ñаз, когда ÐÑ ÑиÑаеÑе ÑÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾ PSNR, за ними ÑкÑÑваеÑÑÑ
-пÑедположение, ÑÑо иÑполÑзÑÑÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñе знаÑÐµÐ½Ð¸Ñ Ð±Ð¸ÑпоÑока.
-</para>
-
-<para>
-ÐоÑÑи вÑе комменÑаÑии ÑÑого ÑÑководÑÑва пÑедполагаÑÑ, ÑÑо ÐÑ Ð¸ÑполÑзÑеÑе два
-пÑоÑ
ода.
-ÐÑÑÑ Ð´Ð²Ðµ оÑновнÑе пÑиÑÐ¸Ð½Ñ Ð¸ÑполÑзоваÑÑ Ð´Ð²ÑÑ
пÑоÑ
одное кодиÑование пÑи ÑÑавнении
-опÑий.
-Ðо-пеÑвÑÑ
, иÑполÑзование двÑÑ
пÑоÑ
одов ÑвелиÑÐ¸Ð²Ð°ÐµÑ PSNR пÑимеÑно на 1дÐ,
-ÑÑо ÑвлÑеÑÑÑ Ð¾ÑÐµÐ½Ñ Ñ
оÑоÑим знаÑением.
-Ðо-вÑоÑÑÑ
, ÑеÑÑиÑование опÑий пÑÑмÑм ÑÑавнением каÑеÑÑва пÑи однопÑоÑ
одном
-кодиÑовании Ð²Ð²Ð¾Ð´Ð¸Ñ Ð¾Ñновной ÑбиваÑÑий ÑакÑоÑ: заÑаÑÑÑÑ Ð±Ð¸ÑпоÑок знаÑиÑелÑно
-менÑеÑÑÑ Ð¿Ñи каждом кодиÑовании.
-Ðе вÑегда можно Ñ Ð»ÐµÐ³ÐºÐ¾ÑÑÑÑ ÑказаÑÑ, изменилоÑÑ Ð»Ð¸ каÑеÑÑво в оÑновном за ÑÑеÑ
-Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñий, или оно по болÑÑей ÑаÑÑи оÑÑÐ°Ð¶Ð°ÐµÑ ÑлÑÑайнÑе изменениÑ
-в полÑÑенном биÑпоÑоке.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>ÐпÑии, заÑÑагиваÑÑие, в оÑновном, ÑкоÑоÑÑÑ Ð¸ каÑеÑÑво</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">subq</emphasis>:
- Ðз вÑеÑ
опÑий, позволÑÑÑиÑ
вÑбиÑаÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑкоÑоÑÑÑÑ Ð¸ каÑеÑÑвом,
- <option>subq</option> и <option>frameref</option> (ÑмоÑÑиÑе ниже), пожалÑй,
- ÑамÑе важнÑе.
- ÐÑли ÐÑ Ð·Ð°Ð¸Ð½ÑеÑеÑÐ¾Ð²Ð°Ð½Ñ Ð² Ñонкой наÑÑÑойке либо ÑкоÑоÑÑи, либо каÑеÑÑва,
- ÑÑи две — пеÑвое, Ñ Ñего Ðам ÑÑÐ¾Ð¸Ñ Ð½Ð°ÑаÑÑ.
- С ÑоÑки зÑÐµÐ½Ð¸Ñ ÑкоÑоÑÑи, опÑии <option>frameref</option> и
- <option>subq</option> оÑÐµÐ½Ñ Ð¶ÐµÑÑко взаимодейÑÑвÑÑÑ Ð´ÑÑг Ñ Ð´ÑÑгом.
- ÐпÑÑ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑ, ÑÑо Ñ Ð¾Ð´Ð½Ð¸Ð¼ ÑÑÑлоÑнÑм кадÑом
- <option>subq=5</option> (наÑÑÑойка по ÑмолÑаниÑ) ÑаÑÑ
одÑÐµÑ Ð½Ð° 35% болÑÑе
- вÑемени, Ñем <option>subq=1</option>.
- С 6 ÑÑÑлоÑнÑми кадÑами ÑÑа велиÑина доÑÑÐ¸Ð³Ð°ÐµÑ 60%.
- ÐÑÑÐµÐºÑ <option>subq</option> на PSNR вÑглÑÐ´Ð¸Ñ Ð´Ð¾Ð²Ð¾Ð»Ñно поÑÑоÑннÑм, в оÑлиÑие
- Ð¾Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва ÑÑÑлоÑнÑÑ
кадÑов.
- Ðак пÑавило, <option>subq=5</option> доÑÑÐ¸Ð³Ð°ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð³Ð»Ð¾Ð±Ð°Ð»Ñного PSNR
- на 0.2-0.5 дРболÑÑего, Ñем пÑи <option>subq=1</option>.
- ÐбÑÑно ÑÑого доÑÑаÑоÑно, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¼ÐµÑиÑÑ.
- </para>
-
- <para>
- <option>subq=6</option> — медленнее и Ð´Ð°ÐµÑ Ð»ÑÑÑее каÑеÑÑво пÑи ÑазÑмной
- Ñене.
- ÐÑли ÑÑавниваÑÑ Ñ <option>subq=5</option>, он обÑÑно Ð´Ð°ÐµÑ Ð½Ð° 0.1-0.4 дÐ
- болÑÑий глобалÑнÑй PSNR Ñеной поÑеÑи 25%-100% ÑкоÑоÑÑи.
- РоÑлиÑие Ð¾Ñ Ð¾ÑÑалÑнÑÑ
ÑÑовней <option>subq</option>, поведение
- <option>subq=6</option> не Ñак ÑилÑно завиÑÐ¸Ñ Ð¾Ñ <option>frameref</option>
- и <option>me</option>. ÐмеÑÑо ÑÑого, ÑÑÑекÑивноÑÑÑ <option>subq=6</option>
- по болÑÑей ÑаÑÑи завиÑÐ¸Ñ Ð¾Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва иÑполÑзÑемÑÑ
B-кадÑов. ÐÑи
- обÑÑном иÑполÑзовании ÑÑо ознаÑаеÑ, ÑÑо <option>subq=6</option> в ÑложнÑÑ
,
- вÑÑокодинамиÑнÑÑ
ÑÑенаÑ
Ð¸Ð¼ÐµÐµÑ Ð±Ð¾Ð»ÑÑое влиÑние как на ÑкоÑоÑÑÑ, Ñак и на
- каÑеÑÑво, но в ÑÑенаÑ
Ñ Ð¼Ð°Ð»Ñм колиÑеÑÑваÑ
Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð½Ð° не Ð¸Ð¼ÐµÐµÑ Ñакого
- ÑÑÑекÑа. ÐмейÑе в видÑ, ÑÑо по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ ÑекомендÑеÑÑÑ Ð²Ñегда ÑÑÑанавливаÑÑ
- <option>bframes</option> в знаÑение, оÑлиÑное Ð¾Ñ Ð½ÑÐ»Ñ (ÑмоÑÑиÑе далее).
- </para>
- <para>
- <option>subq=7</option> — ÑамÑй медленнÑй Ñежим Ñ Ð½Ð°Ð¸Ð»ÑÑÑим каÑеÑÑвом.
- Ðо ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ <option>subq=6</option> он, обÑÑно, ÑлÑÑÑÐ°ÐµÑ Ð¾Ð±Ñий PSNR на
- 0.01-0.05 дРÑеной поÑеÑи 15%-30% ÑкоÑоÑÑи.
- ÐоÑколÑÐºÑ ÑооÑноÑение каÑеÑÑва и вÑемени кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑÐµÐ½Ñ Ð½ÐµÐ²ÐµÐ»Ð¸ÐºÐ¾, Ðам
- ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ Ñежим, ÑолÑко еÑли боÑеÑеÑÑ Ð·Ð° каждÑй биÑ, и вÑемÑ
- кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐÐ°Ñ Ð½Ðµ волнÑеÑ.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">frameref</emphasis>:
- <option>frameref</option> по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑановлена в 1, но ÑÑо не знаÑиÑ, ÑÑо
- ее ÑÑÐ¾Ð¸Ñ ÑÑÑанавливаÑÑ Ð² 1.
- ТолÑко ÑвелиÑение <option>frameref</option> до 2 Ð´Ð°ÐµÑ Ð¿ÑиÑоÑÑ PSNR пÑимеÑно
- на 0.15дРза ÑÑÐµÑ ÑменÑÑÐµÐ½Ð¸Ñ ÑкоÑоÑÑи на 5-10%; поÑ
оже, ÑÑо ÑÑо неплоÑ
Ð°Ñ Ñена.
- <option>frameref=3</option> Ð´Ð°ÐµÑ Ð¿ÑимеÑно 0.25дРPSNR ÑвеÑÑ
- <option>frameref=1</option>, ÑÑо должно бÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð¹ ÑазниÑей.
- <option>frameref=3</option> медленнее пÑимеÑно на 15%, Ñем
- <option>frameref=1</option>.
- Ð ÑожалениÑ, ÑлÑÑÑение оÑÐµÐ½Ñ Ð±ÑÑÑÑо ÑÑ
Ð¾Ð´Ð¸Ñ Ð½Ð° неÑ.
- ÐÑ <option>frameref=6</option> можно ожидаÑÑ Ð¿ÑиÑоÑÑа PSNR лиÑÑ Ð½Ð°
- 0.05-0.1 дРпо ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ <option>frameref=3</option> Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной
- поÑеÑей 15% ÑкоÑоÑÑи.
- ÐÑÑе <option>frameref=6</option> каÑеÑÑво обÑÑно ÑвелиÑиваеÑÑÑ Ð¾ÑÐµÐ½Ñ Ð½ÐµÐ·Ð½Ð°ÑиÑелÑно
- (Ñ
оÑÑ Ð½Ð° вÑем пÑоÑÑжении ÑÑой диÑкÑÑÑии Ðам ÑледÑÐµÑ Ð¸Ð¼ÐµÑÑ Ð² видÑ, оно можеÑ
- знаÑиÑелÑно изменÑÑÑÑÑ Ð² завиÑимоÑÑи Ð¾Ñ Ð¸ÑÑ
одного маÑеÑиала).
- РдоволÑно ÑипиÑном ÑлÑÑае <option>frameref=12</option> ÑлÑÑÑÐ¸Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑй
- PSNR вÑего на 0.02дРпо ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ <option>frameref=6</option>,
- Ñеной 15%-20% ÑкоÑоÑÑи.
- ÐÑи ÑакиÑ
вÑÑокиÑ
знаÑениÑÑ
<option>frameref</option>, единÑÑвеннаÑ
- дейÑÑвиÑелÑно Ñ
оÑоÑÐ°Ñ Ð²ÐµÑÑ, о коÑоÑой Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñказано, ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑо
- далÑнейÑее ее ÑвелиÑение поÑÑи никогда не бÑÐ´ÐµÑ <emphasis
- role="bold">вÑедиÑÑ</emphasis> PSNR, но ÑвелиÑение каÑеÑÑва бÑÐ´ÐµÑ ÑÑÑдно даже
- измеÑиÑÑ, не говоÑÑ Ñже о его замеÑноÑÑи.
- </para>
- <note><title>ÐамеÑание:</title>
- <para>
- УвелиÑение <option>frameref</option> до ÑÑезмеÑно вÑÑокиÑ
знаÑений
- <emphasis role="bold">можеÑ</emphasis> и
- <emphasis role="bold">обÑÑно наноÑиÑ</emphasis>
- вÑед ÑÑÑекÑивноÑÑи кодиÑованиÑ, еÑли CABAC оÑклÑÑен.
- С задейÑÑвованнÑм CABAC (наÑÑÑойка по ÑмолÑаниÑ), возможноÑÑÑ ÑÑÑановки
- <option>frameref</option> "ÑлиÑком вÑÑоким" на даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²ÑглÑÐ´Ð¸Ñ ÑлиÑком
- далекой, ÑÑÐ¾Ð±Ñ Ð¾Ð± ÑÑом беÑпокоиÑÑÑÑ, а в бÑдÑÑем опÑимизаÑии могÑÑ Ð²Ð¾Ð¾Ð±Ñе
- ÑбÑаÑÑ ÑакÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ.
- </para></note>
- <para>
- ÐÑли ÐÐ°Ñ Ð·Ð°Ð±Ð¾ÑÐ¸Ñ ÑкоÑоÑÑÑ, ÑазÑмнÑм компÑомиÑÑом бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ Ð½Ð¸Ð·ÐºÐ¸Ðµ
- знаÑÐµÐ½Ð¸Ñ <option>subq</option> и <option>frameref</option> в пеÑвом пÑоÑ
оде, а
- заÑем ÑвелиÑиÑÑ Ð¸Ñ
во вÑоÑом. ÐбÑÑно, ÑÑо Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð½Ð¸ÑÑожнÑм оÑÑиÑаÑелÑнÑм
- ÑÑÑекÑом на конеÑное каÑеÑÑво: ÐÑ, возможно, поÑеÑÑеÑе вплоÑÑ Ð´Ð¾ 0.1дРPSNR,
- ÑÑо должно бÑÑÑ ÑлиÑком малой ÑазниÑей, ÑÑÐ¾Ð±Ñ ÐµÑ Ð·Ð°Ð¼ÐµÑиÑÑ.
- Ðднако, ÑазлиÑнÑе знаÑÐµÐ½Ð¸Ñ <option>frameref</option> могÑÑ
- иногда повлиÑÑÑ Ð½Ð° ÑеÑение о вÑбоÑе Ñипа кадÑа.
- СкоÑее вÑего, ÑÑо доволÑно Ñедкие кÑайние ÑлÑÑаи, но еÑли ÐÑ Ñ
оÑиÑе бÑÑÑ ÑоÑно
- ÑвеÑеннÑми, поÑмоÑÑиÑе, ÑодеÑÐ¶Ð¸Ñ Ð»Ð¸ ÐаÑе видео полноÑкÑаннÑе
- <!-- FIXME is translation correct? -->
- пеÑиодиÑеÑки вÑпÑÑ
иваÑÑие изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ оÑÐµÐ½Ñ Ð±Ð¾Ð»ÑÑие паÑзÑ, коÑоÑÑе могÑÑ ÑÑаÑÑ
- пÑиÑиной пÑинÑдиÑелÑной вÑÑавки I-кадÑа.
- ÐаÑÑÑойÑе <option>frameref</option> в пеÑвом пÑоÑ
оде Ñак, ÑÑобÑ
- она бÑла доÑÑаÑоÑно болÑÑой Ð´Ð»Ñ ÑодеÑÐ¶Ð°Ð½Ð¸Ñ Ð´Ð»Ð¸ÑелÑноÑÑи Ñикла вÑпÑÑ
иваниÑ
- (или паÑзÑ).
- ÐапÑимеÑ, еÑли ÑÑÐµÐ½Ñ Ð²ÑпÑÑ
иваÑÑ Ð¸ гаÑнÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ Ð¸Ð·Ð¾Ð±ÑажениÑми в ÑеÑении
- ÑÑÑÑ
кадÑов, ÑÑÑановиÑе <option>frameref</option> ÑавнÑм 3 или вÑÑе.
- ÐÑа пÑоблема, возможно, оÑÐµÐ½Ñ Ñедко поÑвлÑеÑÑÑ Ð´Ð»Ñ Ð¶Ð¸Ð²Ð¾Ð¹ ÑÑемки, но она иногда
- Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð¿Ñи запиÑи видео игÑ.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">me</emphasis>:
- ÐÑа опÑÐ¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð²ÑбоÑа меÑода оÑенки движениÑ.
- Ðзменение ÑÑой опÑии оказÑÐ²Ð°ÐµÑ Ð¿ÑÑмое влиÑние на ÑооÑноÑение
- ÑкоÑоÑÑÑ-каÑеÑÑво. <option>me=dia</option> лиÑÑ Ð½Ð° неÑколÑко пÑоÑенÑов
- бÑÑÑÑее, Ñем поиÑк по ÑмолÑаниÑ, Ñеной не болÑÑе 0.1дРглобалÑного PSNR.
- ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ (<option>me=hex</option>) — ÑазÑмнÑй вÑÐ±Ð¾Ñ Ð¼ÐµÐ¶Ð´Ñ ÑкоÑоÑÑÑÑ
- и каÑеÑÑвом. <option>me=umh</option> немного, вплоÑÑ Ð´Ð¾ 0.1дÐ, ÑлÑÑÑаеÑ
- глобалÑнÑй PSNR, ÑооÑвеÑÑÑвÑÑÑее падение ÑкоÑоÑÑи менÑеÑÑÑ Ð²
- завиÑимоÑÑи Ð¾Ñ <option>frameref</option>. С вÑÑокими знаÑениÑми
- <option>frameref</option> (напÑимеÑ, 12 или около Ñого), <option>me=umh</option>
- пÑимеÑно на 40% медленнее, Ñем наÑÑÑойка по ÑмолÑÐ°Ð½Ð¸Ñ <option>me=hex</option>.
- С <option>frameref=3</option>, падение ÑкоÑоÑÑи ÑменÑÑаеÑÑÑ Ð´Ð¾ 25%-30%.
- </para>
- <para>
- <option>me=esa</option> иÑполÑзÑÐµÑ Ð¸ÑÑеÑпÑваÑÑий поиÑк, коÑоÑÑй ÑабоÑаеÑ
- ÑлиÑком медленно Ð´Ð»Ñ Ð¿ÑакÑиÑеÑкого пÑименениÑ.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">partitions=all</emphasis>:
- ÐÑа опÑÐ¸Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑвÑÐµÑ Ð¸ÑполÑзование ÑегменÑов 8x4, 4x8 и 4x4 в пÑедÑказаннÑÑ
- макÑоблокаÑ
(в дополнение к ÑÑандаÑÑнÑм).
- Ðе вклÑÑение пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº доволÑно поÑÑоÑнной 10%-15% поÑеÑе в ÑкоÑоÑÑи.
- ÐÑа опÑÐ¸Ñ Ð¿ÑакÑиÑеÑки беÑполезна Ð´Ð»Ñ Ð¸ÑÑ
одного маÑеÑиала, ÑодеÑжаÑего ÑолÑко
- неболÑÑое движение, Ñем не менее, Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑого вÑÑокодинамиÑного маÑеÑиала,
- оÑобенно Ñ Ð±Ð¾Ð»ÑÑим колиÑеÑÑвом мелкиÑ
движÑÑиÑ
ÑÑ Ð¾Ð±ÑекÑов, ÑледÑÐµÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑ
- пÑиÑоÑÑа около 0.1дÐ.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">bframes</emphasis>:
- ÐÑли ÐÑ Ð·Ð°Ð½Ð¸Ð¼Ð°Ð»Ð¸ÑÑ ÐºÐ¾Ð´Ð¸Ñованием Ñ Ð´ÑÑгими кодеками, Ñо могли замеÑиÑÑ, ÑÑо
- B-кадÑÑ Ð½Ðµ вÑегда полезнÑ.
- Ð H.264 ÑÑо изменилоÑÑ: еÑÑÑ Ð½Ð¾Ð²Ñе ÑеÑ
ники и ÑÐ¸Ð¿Ñ Ð±Ð»Ð¾ÐºÐ¾Ð², возможнÑе в B-кадÑаÑ
.
- ÐбÑÑно, даже пÑимиÑивнÑй алгоÑиÑм вÑбоÑа B-кадÑов Ð¼Ð¾Ð¶ÐµÑ Ð´Ð°ÑÑ Ð·Ð½Ð°ÑимÑÑ
- вÑÐ³Ð¾Ð´Ñ Ð´Ð»Ñ PSNR.
- ÐнÑеÑеÑно замеÑиÑÑ, ÑÑо иÑполÑзование B-кадÑов обÑÑно оÑÑаÑÑи ÑÑкоÑÑÐµÑ Ð²ÑоÑой
- пÑоÑ
од, а Ñакже Ð¼Ð¾Ð¶ÐµÑ ÑÑкоÑиÑÑ Ð¾Ð´Ð½Ð¾Ð¿ÑоÑ
одное кодиÑование, еÑли оÑклÑÑено
- адапÑивное пÑинÑÑие ÑеÑÐµÐ½Ð¸Ñ Ð¾ B-кадÑаÑ
.
- </para>
- <para>
- С оÑклÑÑеннÑм адапÑивнÑм пÑинÑÑием ÑеÑÐµÐ½Ð¸Ñ Ð¾ B-кадÑаÑ
- (<option>nob_adapt</option> в <option>x264encopts</option>),
- опÑималÑное знаÑение ÑÑой опÑии обÑÑно не пÑевÑÑаеÑ
- <option>bframes=1</option>, инаÑе могÑÑ Ð¿Ð¾ÑÑÑадаÑÑ Ð²ÑÑокодинамиÑнÑе ÑÑенÑ.
- С вклÑÑеннÑм адапÑивнÑм пÑинÑÑием ÑеÑÐµÐ½Ð¸Ñ Ð¾ B-кадÑаÑ
(поведение по ÑмолÑаниÑ),
- можно безопаÑно иÑполÑзоваÑÑ Ð±Ð¾Ð»ÐµÐµ вÑÑокие знаÑениÑ; кодиÑовÑик ÑменÑÑиÑ
- колиÑеÑÑво B-кадÑов в ÑÑенаÑ
, где они повÑедÑÑ ÑжаÑиÑ.
- ÐодиÑовÑик Ñедко ÑеÑÐ°ÐµÑ Ð¸ÑполÑзоваÑÑ Ð±Ð¾Ð»ÑÑе, Ñем 3 или 4 B-кадÑа;
- ÑÑÑановка ÑÑой опÑии в лÑбое более вÑÑокое знаÑение не бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð±Ð¾Ð»ÑÑого
- ÑÑÑекÑа.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">b_adapt</emphasis>:
- ÐамеÑÑÑе: она вклÑÑена по ÑмолÑаниÑ.
- </para>
- <para>
- Ðогда ÑÑа опÑÐ¸Ñ Ð²ÐºÐ»ÑÑена, кодиÑовÑик бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÑазÑмно
- бÑÑÑÑÑй пÑоÑеÑÑ Ð¿ÑинÑÑÐ¸Ñ ÑеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑменÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва B-кадÑов,
- иÑполÑзÑемÑÑ
в ÑÑенаÑ
, коÑоÑÑе Ð¾Ñ ÑÑого не ÑилÑно вÑигÑаÑÑ.
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ <option>b_bias</option> Ð´Ð»Ñ Ñонкой наÑÑÑойки Ñого,
- наÑколÑко "ÑÑаÑÑлив" бÑÐ´ÐµÑ ÐºÐ¾Ð´Ð¸ÑовÑик иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ B-кадÑов.
- ÐоÑеÑÑ Ð² ÑкоÑоÑÑи пÑи иÑполÑзовании адапÑивнÑÑ
B-кадÑов на даннÑй моменÑ
- веÑÑма невелика, но Ñаково же и поÑенÑиалÑное ÑлÑÑÑение каÑеÑÑва.
- Тем не менее, Ñ
Ñже Ð¾Ñ ÑÑого обÑÑно не ÑÑановиÑÑÑ.
- ÐамеÑÑÑе, ÑÑо ÑÑа опÑÐ¸Ñ Ð²Ð»Ð¸ÑÐµÑ Ð½Ð° ÑкоÑоÑÑÑ Ð¸ ÑеÑение о Ñипе кадÑа ÑолÑко в пеÑвом
- пÑоÑ
оде.
- <option>b_adapt</option> и <option>b_bias</option> не имеÑÑ ÑÑÑекÑа в
- поÑледÑÑÑиÑ
пÑоÑ
одаÑ
.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- С Ñем же ÑÑпеÑ
ом ÐÑ Ð¼Ð¾Ð¶ÐµÑе вклÑÑиÑÑ ÑÑÑ Ð¾Ð¿ÑиÑ, еÑли иÑполÑзÑеÑе >=2 B-кадÑов;
- ÐÑ Ð¿Ð¾Ð»ÑÑиÑе неболÑÑое ÑлÑÑÑение каÑеÑÑва без поÑеÑи в ÑкоÑоÑÑи, как и говоÑиÑ
- man ÑÑководÑÑво.
- ÐмейÑе в видÑ, ÑÑо Ñакое видео не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑоÑиÑано оÑнованнÑми на
- libavcodec декодеÑами, ÑозданнÑми Ñанее, Ñем пÑимеÑно 5 ÐаÑÑа 2005.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">weight_b</emphasis>:
- РобÑÑнÑÑ
ÑлÑÑаÑÑ
ÑÑа опÑÐ¸Ñ Ð½Ðµ Ð´Ð°ÐµÑ Ð±Ð¾Ð»ÑÑого ÑлÑÑÑениÑ.
- Ðднако, в пÑоÑвлÑÑÑиÑ
ÑÑ Ð¸Ð»Ð¸ заÑÑÑ
аÑÑиÑ
ÑÑенаÑ
взвеÑенное пÑедÑказание даеÑ
- доволÑно болÑÑÑÑ ÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð±Ð¸ÑпоÑока.
- Ð MPEG-4 ASP заÑÑÑ
ание обÑÑно лÑÑÑе кодиÑÑеÑÑÑ Ð¿Ð¾ÑледоваÑелÑноÑÑÑÑ Ð´Ð¾ÑогиÑ
- I-кадÑов; иÑполÑзование взвеÑенного пÑедÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð² B-кадÑаÑ
Ð´ÐµÐ»Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм
- пÑеобÑазоваÑÑ Ñ
оÑÑ Ð±Ñ ÑаÑÑÑ Ð¸Ð· ниÑ
в знаÑиÑелÑно более менÑÑие B-кадÑÑ.
- ÐоÑеÑи в ÑкоÑоÑÑи кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑ, поÑколÑÐºÑ Ð½Ðµ ÑÑебÑеÑÑÑ Ð´ÐµÐ»Ð°ÑÑ
- дополниÑелÑнÑе пÑинÑÑÐ¸Ñ ÑеÑений.
- Ðдобавок, вопÑеки ÑаÑÑ
Ð¾Ð¶ÐµÐ¼Ñ Ð¼Ð½ÐµÐ½Ð¸Ñ, взвеÑенное пÑедÑказание не
- ÑилÑно влиÑÐµÑ Ð½Ð° ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´ÐµÐºÐ¾Ð´ÐµÑа к CPU пÑи пÑоÑиÑ
ÑавнÑÑ
ÑÑловиÑÑ
.
- </para>
- <para>
- Ð ÑожалениÑ, ÑекÑÑий алгоÑиÑм адапÑивного пÑинÑÑÐ¸Ñ ÑеÑений о B-кадÑаÑ
имееÑ
- ÑвеÑдÑÑ ÑклонноÑÑÑ Ðº Ð¸Ð·Ð±ÐµÐ³Ð°Ð½Ð¸Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ B-кадÑов пÑи заÑÑÑ
аниÑÑ
.
- Ðо ÑеÑ
поÑ, пока ÑÑо не измениÑÑÑ, Ñ
оÑоÑей идеей, возможно, бÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ
- <option>nob_adapt</option> к x264encopts, еÑли пÑедполагаеÑе, ÑÑо заÑÑÑ
аниÑ
- бÑдÑÑ Ð´Ð°Ð²Ð°ÑÑ ÑÑÑеÑÑвеннÑй вклад в ÐаÑем конкÑеÑном видеоклипе.
- </para>
-</listitem>
-<listitem id="menc-feat-x264-encoding-options-speedquality-threads">
- <para>
- <emphasis role="bold">threads</emphasis>
- ÐÑа опÑÐ¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿Ð¾ÑодиÑÑ Ð¿Ð¾Ñоки Ð´Ð»Ñ Ð¿Ð°ÑаллелÑного кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°
- неÑколÑкиÑ
CPU. ÐÑ Ð¼Ð¾Ð¶ÐµÑе вÑÑÑнÑÑ Ð²ÑбÑаÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑоздаваемÑÑ
поÑоков или,
- ÑÑо лÑÑÑе, ÑÑÑановиÑÑ <option>threads=auto</option> и позволиÑÑ
- <systemitem class="library">x264</systemitem> опÑеделиÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво доÑÑÑпнÑÑ
- CPU и вÑбÑаÑÑ ÑооÑвеÑÑÑвÑÑÑее колиÑеÑÑво поÑоков.
- ÐÑли Ñ ÐÐ°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿ÑоÑеÑÑоÑÐ½Ð°Ñ Ð¼Ð°Ñина, Ðам ÑледÑÐµÑ Ð²ÑеÑÑез задÑмаÑÑÑÑ Ð¾Ð±
- иÑполÑзовании ÑÑой опÑии, Ñак как она Ð¼Ð¾Ð¶ÐµÑ ÑвелиÑиÑÑ ÑкоÑоÑÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾
- в завиÑимоÑÑи Ð¾Ñ ÑиÑла CPU ÑÐ´ÐµÑ (около 94% на ÑдÑо), незнаÑиÑелÑно ÑменÑÑÐ°Ñ PSNR
- (пÑимеÑно 0.005 Ð´Ð Ð´Ð»Ñ Ð´Ð²ÑÑ
пÑоÑеÑÑоÑной, 0.01 дР— длÑ
- ÑеÑÑÑеÑ
пÑоÑеÑÑоÑной маÑинÑ).
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>ÐпÑии, оÑноÑÑÑиеÑÑ Ðº ÑазлиÑнÑм пÑедпоÑÑениÑм</title>
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">ÐвÑÑ
пÑоÑ
одное кодиÑование</emphasis>:
- ÐÑÑе ÑовеÑовалоÑÑ Ð²Ñегда иÑполÑзоваÑÑ ÐºÐ¾Ð´Ð¸Ñование в два пÑоÑ
ода, но вÑе же
- ÑÑÑеÑÑвÑÑÑ Ð¿ÑиÑÐ¸Ð½Ñ ÑÑого не делаÑÑ. ÐапÑимеÑ, еÑли ÐÑ Ð·Ð°Ñ
ваÑÑваеÑе TV
- ÑÑанÑлÑÑÐ¸Ñ Ð¸ кодиÑÑеÑе в ÑеалÑном вÑемени, пÑидеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð¾Ð´Ð½Ð¾Ð¿ÑоÑ
однÑй
- Ñежим. Ð ÑÐ¾Ð¼Ñ Ð¶Ðµ один пÑоÑ
од оÑевидно бÑÑÑÑее, Ñем два; еÑли ÐÑ Ð¸ÑполÑзÑеÑе
- ÑоÑно Ñакой же Ð½Ð°Ð±Ð¾Ñ Ð¾Ð¿Ñий в обоиÑ
ÑлÑÑаÑÑ
, двÑÑ
пÑоÑ
одной Ñежим медленнее
- поÑÑи вдвое.
- </para>
- <para>
- ÐÑе же ÑÑÑеÑÑвÑÐµÑ Ð¾ÑÐµÐ½Ñ Ñ
оÑоÑие пÑиÑÐ¸Ð½Ñ Ð¸ÑполÑзоваÑÑ ÐºÐ¾Ð´Ð¸Ñование в два
- пÑоÑ
ода. Ðо-пеÑвÑÑ
, ÑпÑавление биÑпоÑоком однопÑоÑ
одного Ñежима не
- ÑвлÑеÑÑÑ ÑелепаÑом и ÑаÑÑо Ð´ÐµÐ»Ð°ÐµÑ Ð½ÐµÐ¾Ð±Ð¾ÑнованнÑй вÑбоÑ, поÑÐ¾Ð¼Ñ ÑÑо не можеÑ
- видеÑÑ Ð¾Ð±ÑÑÑ ÐºÐ°ÑÑинÑ. ÐапÑимеÑ, пÑедположим, ÑÑо ÐÑ Ð¸Ð¼ÐµÐµÑе двÑÑ
минÑÑное видео,
- ÑоÑÑоÑÑее из двÑÑ
незавиÑимÑÑ
ÑаÑÑей. ÐеÑÐ²Ð°Ñ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ð° — оÑÐµÐ½Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑнаÑ
- ÑÑена, пÑодолжаÑÑаÑÑÑ 60 ÑекÑнд и ÑÑебÑÑÑÐ°Ñ Ñама по Ñебе биÑпоÑок пÑимеÑно
- 2500 кбиÑ/Ñек, ÑÑÐ¾Ð±Ñ Ð¿ÑилиÑно вÑглÑдеÑÑ. СÑÐ°Ð·Ñ Ð·Ð° ней ÑледÑÐµÑ Ð³Ð¾Ñаздо менее
- ÑÑебоваÑелÑÐ½Ð°Ñ 60-ÑекÑÐ½Ð´Ð½Ð°Ñ ÑÑена, коÑоÑÐ°Ñ Ñ
оÑоÑо вÑглÑÐ´Ð¸Ñ Ð¿Ñи 300 кбиÑ/Ñек.
- ÐÑедположим, ÐÑ Ð·Ð°Ð¿ÑоÑили биÑпоÑок 1400 кбиÑ/Ñек; в ÑеоÑии ÑÑого доÑÑаÑоÑно
- Ð´Ð»Ñ ÑдовлеÑвоÑÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑебноÑÑей обеиÑ
ÑÑен.
- Ð ÑÑом ÑлÑÑае ÑпÑавление биÑпоÑоком в однопÑоÑ
одном Ñежиме ÑÐ´ÐµÐ»Ð°ÐµÑ Ð¿Ð°ÑÑ "оÑибок".
- Ðо-пеÑвÑÑ
, оно ÑÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ Ð±Ð¸ÑпоÑок в 1400 кбиÑ/Ñек Ð´Ð»Ñ Ð¾Ð±ÐµÐ¸Ñ
ÑаÑÑей. ÐеÑваÑ
- ÑаÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ ÑÑезмеÑно кванÑованной, ÑÑо пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº
- недопÑÑÑимо вÑглÑдÑÑÐµÐ¼Ñ Ð¸ неопÑавданно блоÑÐ½Ð¾Ð¼Ñ Ð¸Ð·Ð¾Ð±ÑажениÑ. ÐÑоÑÐ°Ñ ÑаÑÑÑ Ð±ÑдеÑ
- ÑÑÑеÑÑвенно недоÑÑаÑоÑно кванÑованной; она Ð¼Ð¾Ð¶ÐµÑ Ð²ÑглÑдеÑÑ Ð¾ÑлиÑно, но Ñена
- биÑпоÑока Ð´Ð»Ñ ÑÑого каÑеÑÑва бÑÐ´ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð½ÐµÐ¾Ð¿Ñавданной.
- Чего намного ÑÑÑднее избежаÑÑ, Ñак ÑÑо пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¿ÐµÑеÑ
ода Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑмÑ
- ÑÑенами. РпеÑвÑÑ
ÑекÑндаÑ
малодинамиÑной ÑаÑÑи кванÑоваÑÐµÐ»Ñ Ð±ÑÐ´ÐµÑ ÑÑезвÑÑайно
- пÑевÑÑен, поÑÐ¾Ð¼Ñ ÑÑо ÑпÑавление биÑпоÑоком вÑе еÑе Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ Ð²ÑÑÑеÑиÑÑ Ñакие же
- ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº биÑпоÑÐ¾ÐºÑ ÐºÐ°Ðº и в пеÑвой ÑаÑÑи. ÐÑÐ¾Ñ "оÑибоÑнÑй пеÑиод" Ñ
- ÑÑезвÑÑайно пÑевÑÑеннÑм кванÑованием бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ ÑаздÑажаÑÑе непÑиÑÑно и
- иÑполÑзоваÑÑ Ð½Ð° Ñамом деле менÑÑе, Ñем 300 кбиÑ/Ñек, ÑÑебÑемÑÑ
ÐµÐ¼Ñ Ð´Ð»Ñ Ñого,
- ÑÑÐ¾Ð±Ñ Ð¿ÑилиÑно вÑглÑдеÑÑ. СÑÑеÑÑвÑÑÑ ÑпоÑÐ¾Ð±Ñ ÑмÑгÑиÑÑ ÑÑÑÐµÐºÑ Ð¾Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½ÑÑ
- подводнÑÑ
камней однопÑоÑ
одного Ñежима, но они могÑÑ Ð¸Ð¼ÐµÑÑ ÑклонноÑÑÑ Ðº
- ÑÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐ²ÐµÑного пÑедÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð±Ð¸ÑпоÑока.
- </para>
- <para>
- ÐногопÑоÑ
одное кодиÑование Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑедложиÑÑ Ð¾Ð³ÑомнÑе пÑеимÑÑеÑÑва по ÑÑавнениÑ
- Ñ Ð¾Ð´Ð½Ð¾Ð¿ÑоÑ
однÑм. ÐÑполÑзÑÑ ÑÑаÑиÑÑикÑ, ÑобÑаннÑÑ Ð¿Ñи пеÑвом пÑоÑ
оде,
- кодиÑовÑик Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑениÑÑ, Ñ ÑазÑмной ÑоÑноÑÑÑÑ, "ÑÑоимоÑÑÑ" (в биÑаÑ
)
- кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð»Ñбого заданного кадÑа пÑи лÑбом заданном кванÑоваÑеле.
- ÐÑо Ð´ÐµÐ»Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм намного более ÑаÑионалÑное, лÑÑÑе ÑпланиÑованное
- ÑаÑпÑеделение биÑов Ð¼ÐµÐ¶Ð´Ñ Ð´Ð¾Ñогими (вÑÑокодинамиÑнÑми) и деÑевÑми
- (малодинамиÑнÑми) ÑÑенами. СмоÑÑиÑе <option>qcomp</option> ниже, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ
- некоÑоÑÑе идеи о Ñом, как можно ÑÑо ÑаÑпÑеделение наÑÑÑоиÑÑ Ð¿Ð¾ ÐаÑÐµÐ¼Ñ Ð²ÐºÑÑÑ.
- </para>
- <para>
- Ðолее Ñого, два пÑоÑ
ода занимаÑÑ Ð½Ðµ двойное вÑÐµÐ¼Ñ Ð¿Ð¾ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð¾Ð´Ð½Ð¸Ð¼.
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе наÑÑÑоиÑÑ Ð¾Ð¿Ñии пеÑвого пÑоÑ
ода на более бÑÑÑÑÑÑ ÑкоÑоÑÑÑ Ð¸ низкое
- каÑеÑÑво. ÐÑли Ñ
оÑоÑо вÑбеÑеÑе опÑии, ÐÑ Ð¿Ð¾Ð»ÑÑиÑе оÑÐµÐ½Ñ Ð±ÑÑÑÑÑй пеÑвÑй пÑоÑ
од.
- ÐолÑÑенное каÑеÑÑво во вÑоÑом пÑоÑ
оде бÑÐ´ÐµÑ Ð½ÐµÑколÑко ниже, поÑÐ¾Ð¼Ñ ÑÑо
- пÑедÑказание ÑазмеÑа менее ÑоÑно, но ÑазниÑа в каÑеÑÑве обÑÑно ÑлиÑком мала,
- ÑÑÐ¾Ð±Ñ Ð±ÑÑÑ Ð·Ð°Ð¼ÐµÑной. ÐопÑобÑйÑе, напÑимеÑ, добавиÑÑ
- <option>subq=1:frameref=1</option> в <option>x264encopts</option> пеÑвого
- пÑоÑ
ода. ÐаÑем, пÑи вÑоÑом пÑоÑ
оде, иÑполÑзÑйÑе более медленнÑе, Ñ Ð»ÑÑÑим
- каÑеÑÑвом опÑии:
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">ÐодиÑование в ÑÑи пÑоÑ
ода</emphasis>?
- x264 пÑедоÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð´ÐµÐ»Ð°ÑÑ Ð¶ÐµÐ»Ð°ÐµÐ¼Ð¾Ðµ колиÑеÑÑво поÑледоваÑелÑнÑÑ
- пÑоÑ
одов. ÐÑли ÐÑ Ñказали <option>pass=1</option> пÑи пеÑвом пÑоÑ
оде,
- иÑполÑзÑйÑе заÑем <option>pass=3</option> в поÑледÑÑÑем пÑоÑ
оде, ÑÑÐ¾Ñ Ð¿ÑоÑ
од
- бÑÐ´ÐµÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно ÑиÑаÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿ÑедÑдÑÑего пÑоÑ
ода и запиÑÑваÑÑ ÑвоÑ
- ÑобÑÑвеннÑÑ. ÐополниÑелÑнÑй пÑоÑ
од, ÑледÑÑÑий за ÑÑим, бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð¾ÑенÑ
- Ñ
оÑоÑÑÑ Ð¾ÑÐ½Ð¾Ð²Ñ Ð´Ð»Ñ Ð¾ÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑÐµÐ½Ñ ÑоÑнÑÑ
пÑедÑказаний ÑазмеÑов кадÑов пÑи
- вÑбÑанном кванÑоваÑеле. Ðа пÑакÑике, обÑее ÑлÑÑÑение каÑеÑÑва Ð¾Ñ Ð¸ÑполÑзованиÑ
- ÑÑого Ñежима близко к нÑÐ»Ñ Ð¸, вполне возможно, ÑÑеÑий пÑоÑ
од пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº
- немного Ñ
ÑдÑÐµÐ¼Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑÐ½Ð¾Ð¼Ñ PSNR, Ñем Ñ Ð¿ÑедÑдÑÑего пÑоÑ
ода.
- ÐÑи обÑÑном иÑполÑзовании ÑÑи пÑоÑ
ода помогаÑÑ, еÑли ÐÑ Ð¿Ñи двÑÑ
пÑоÑ
одаÑ
- полÑÑаеÑе либо плоÑ
ое пÑедÑказание биÑпоÑока, либо плоÑ
о вÑглÑдÑÑие пеÑеÑ
одÑ
- Ð¼ÐµÐ¶Ð´Ñ ÑÑенами. ÐÑо оÑÑаÑÑи Ñо, ÑÑо навеÑнÑка бÑÐ´ÐµÑ Ð¿ÑоиÑÑ
одиÑÑ Ð½Ð° оÑенÑ
- коÑоÑкиÑ
клипаÑ
. СÑÑеÑÑвÑÑÑ Ñакже оÑобÑе ÑлÑÑаи, когда ÑÑи (или более)
- пÑоÑ
одом ÑÐ´Ð¾Ð±Ð½Ñ Ð´Ð»Ñ Ð¿ÑодвинÑÑÑÑ
полÑзоваÑелей, но, Ð´Ð»Ñ ÐºÑаÑкоÑÑи, ÑÑо
- ÑÑководÑÑво не вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ Ð¾Ð¿Ð¸Ñание ÑÑиÑ
оÑобÑÑ
ÑлÑÑаев.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis>:
- <option>qcomp</option> ÑпÑавлÑÐµÑ ÑооÑноÑением колиÑеÑÑва биÑ, оÑданнÑÑ
- "доÑогим" вÑÑокодинамиÑнÑм и "деÑевÑм" малодинамиÑнÑм кадÑам. Ðдин кÑайний
- ÑлÑÑай: <option>qcomp=0</option>, пÑедназнаÑен Ð´Ð»Ñ Ð¸ÑÑинно поÑÑоÑнного
- биÑпоÑока. ÐбÑÑно ÑÑо ÑÐ´ÐµÐ»Ð°ÐµÑ Ð²ÑÑокодинамиÑнÑе ÑÑÐµÐ½Ñ Ð²ÑглÑдÑÑими пÑоÑÑо
- ÑжаÑно, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº малодинамиÑнÑе ÑÑÐµÐ½Ñ Ð±ÑдÑÑ, возможно, вÑглÑдеÑÑ
- абÑолÑÑно великолепно, но пÑи ÑÑом бÑдÑÑ Ð¸ÑполÑзоваÑÑ Ð²Ð¾ много Ñаз болÑÑий
- биÑпоÑок, Ñем им необÑ
одимо, ÑÑÐ¾Ð±Ñ Ð²ÑглÑдеÑÑ Ð»Ð¸ÑÑ Ð¿ÑевоÑÑ
одно.
- ÐÑÑÐ³Ð°Ñ ÐºÑайноÑÑÑ: <option>qcomp=1</option>, добиваеÑÑÑ Ð¿ÑимеÑно одинакового
- паÑамеÑÑа кванÑÐ¾Ð²Ð°Ð½Ð¸Ñ (QP). ÐоÑÑоÑннÑй QP не вÑглÑÐ´Ð¸Ñ Ð¿Ð»Ð¾Ñ
о, но болÑÑинÑÑво
- лÑдей дÑмаÑÑ, ÑÑо более ÑазÑмно ÑаÑÑиÑно ÑнизиÑÑ Ð±Ð¸ÑпоÑок в ÑилÑно
- доÑогиÑ
ÑÑенаÑ
(где поÑеÑÑ ÐºÐ°ÑеÑÑва не оÑÐµÐ½Ñ Ð·Ð°Ð¼ÐµÑна) и пеÑеÑаÑпÑеделиÑÑ Ð¸Ñ
в
- ÑÑенÑ, коÑоÑÑе легÑе закодиÑоваÑÑ Ñ Ð¾ÑлиÑнÑм каÑеÑÑвом.
- <option>qcomp</option> по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑановлена в 0.6, ÑÑо по Ð¼Ð½ÐµÐ½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ
- лÑдей Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑколÑко мало (Ñакже ÑаÑÑо иÑполÑзÑеÑÑÑ 0.7-0.8).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- <option>keyint</option> — единÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð²ÑбоÑа Ð¼ÐµÐ¶Ð´Ñ ÑдобÑÑвом
- пеÑемеÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑÐ°Ð¹Ð»Ñ Ð¸ ÑÑÑекÑивноÑÑÑÑ ÐºÐ¾Ð´Ð¸ÑованиÑ. Ðо-ÑмолÑаниÑ
- <option>keyint</option> ÑÑÑановлена в 250. РмаÑеÑиале Ñ 25fps ÑÑо гаÑанÑиÑÑеÑ
- возможноÑÑÑ Ð¿ÐµÑемеÑÐµÐ½Ð¸Ñ Ñ ÑоÑноÑÑÑÑ Ð´Ð¾ 10 ÑекÑнд. ÐÑли ÐÑ ÑÑиÑаеÑе, ÑÑо более
- важнÑм и полезнÑм бÑÐ´ÐµÑ Ð¿ÐµÑемеÑение Ñ ÑоÑноÑÑÑÑ Ð´Ð¾ 5 ÑекÑнд, ÑÑÑановиÑе
- <option>keyint=125</option>; ÑÑо немного ÑÑ
ÑдÑÐ¸Ñ ÐºÐ°ÑеÑÑво/биÑпоÑок. ÐÑли ÐÑ
- забоÑиÑеÑÑ ÑолÑко о каÑеÑÑве, но не о пеÑемеÑаемоÑÑи, ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ
- знаÑение ÑÑой опÑии в более вÑÑокое знаÑение (понимаÑ, ÑÑо ÑлÑÑÑение бÑдеÑ
- ÑбÑваÑÑим, вплоÑÑ Ð´Ð¾ иÑÑезаÑÑе малого или даже нÑлевого). Ðидео поÑок
- по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð±ÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ ÑоÑки пеÑемеÑениÑ, пока в нем еÑÑÑ ÐºÐ°ÐºÐ¸Ðµ-Ñо изменениÑ
- ÑÑен.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">deblock</emphasis>:
- ÐÑÐ¾Ñ Ñаздел Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑколÑко ÑпоÑнÑм.
- </para>
- <para>
- H.264 опÑеделÑÐµÑ Ð¿ÑоÑÑÑÑ Ð¿ÑоÑедÑÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÑноÑÑи в I-блокаÑ
, коÑоÑаÑ
- иÑполÑзÑÐµÑ Ð¿ÑедÑÑÑановленнÑе ÑÑепени обÑабоÑки и поÑоговÑе знаÑÐµÐ½Ð¸Ñ Ð²
- завиÑимоÑÑи Ð¾Ñ QP ÑаÑÑмаÑÑиваемого блока.
- Ðо-ÑмолÑаниÑ, блоки Ñ Ð²ÑÑоким QP обÑабаÑÑваÑÑÑÑ ÑилÑнее, а в блокаÑ
Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¼
- QP Ñдаление блоÑноÑÑи вообÑе не пÑоизводиÑÑÑ.
- ÐÑедÑÑÑановленÑе ÑÑепени обÑабоÑки, опÑеделеннÑе ÑÑандаÑÑом, ÑÑаÑелÑно подобÑанÑ
- и имеÑÑ Ñ
оÑоÑие ÑанÑÑ Ð±ÑÑÑ PSNR-опÑималÑнÑми Ð´Ð»Ñ Ð»Ñбого видео, коÑоÑое ÐÑ
- пÑÑаеÑеÑÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ.
- ÐпÑÐ¸Ñ <option>deblock</option> позволÑÐµÑ ÑказаÑÑ ÑмеÑÐµÐ½Ð¸Ñ Ð¿ÑедÑÑÑановленнÑÑ
- поÑоговÑÑ
знаÑений деблокинга.
- </para>
- <para>
- ÐоÑ
оже, многие дÑмаÑÑ, ÑÑо Ñ
оÑоÑей идеей ÑвлÑеÑÑÑ Ð·Ð½Ð°ÑиÑелÑное ÑменÑÑение ÑилÑ
- воздейÑÑÐ²Ð¸Ñ ÑилÑÑÑа деблокинга (ÑиÑай, -3).
- ÐÑо, однако, поÑÑи никогда не ÑвлÑеÑÑÑ Ñ
оÑоÑей идеей, и, лÑди, ÑÑо делаÑÑие, в болÑÑинÑÑве
- ÑлÑÑаев не ÑовÑем Ñ
оÑоÑо понимаÑÑ, как ÑабоÑÐ°ÐµÑ Ñдаление
- блоÑноÑÑи по ÑмолÑаниÑ.
- </para>
- <para>
- <!-- FIXME: Ðожно ли как-Ñо пеÑевеÑÑи in-loop? -->
- ÐеÑÐ²Ð°Ñ Ð¸ ÑÐ°Ð¼Ð°Ñ Ð²Ð°Ð¶Ð½Ð°Ñ Ð²ÐµÑÑ, коÑоÑÑÑ Ð½Ñжно знаÑÑ Ð¾ in-loop ÑилÑÑÑе ÑдалениÑ
- блоÑноÑÑи ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑо поÑоговÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑакÑиÑеÑки
- вÑегда PSNR-опÑималÑнÑ.
- Ð ÑедкиÑ
ÑлÑÑаÑÑ
, где они неопÑималÑнÑ, идеалÑное ÑмеÑение бÑÐ´ÐµÑ Ð¿Ð»ÑÑ Ð¼Ð¸Ð½ÑÑ 1.
- Ðзменение паÑамеÑÑов деблокинга на болÑÑие знаÑÐµÐ½Ð¸Ñ ÑакÑиÑеÑки гаÑанÑиÑÑеÑ
- ÑÑ
ÑдÑение PSNR.
- УÑиление ÑилÑÑÑа ÑÐ°Ð·Ð¼Ð°Ð¶ÐµÑ Ð±Ð¾Ð»ÑÑе деÑалей; оÑлабление — оÑÑÐ°Ð²Ð¸Ñ Ð±Ð¾Ð»ÑÑе квадÑаÑиков.
- </para>
- <para>
- Ðо опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð»Ð¾Ñ
Ð°Ñ Ð¸Ð´ÐµÑ ÑменÑÑаÑÑ Ð¿Ð¾Ñоги деблокинга, еÑли ÐÐ°Ñ Ð¸ÑÑ
однÑй
- маÑеÑиал в оÑновном Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐ±Ð¾Ð»ÑÑÑÑ Ð¿ÑоÑÑÑанÑÑвеннÑÑ ÑложноÑÑÑ (Ñ.е. не имееÑ
- множеÑÑва деÑалей или ÑÑма).
- In-loop ÑилÑÑÑ Ð´ÐµÐ»Ð°ÐµÑ Ð²ÐµÑÑма неплоÑ
ÑÑ ÑабоÑÑ Ð¿Ð¾ ÑокÑÑÑÐ¸Ñ Ð¿Ð¾ÑвлÑÑÑиÑ
ÑÑ
- аÑÑеÑакÑов. Ðднако, еÑли иÑÑ
однÑй маÑеÑиал Ð¸Ð¼ÐµÐµÑ Ð²ÑÑокÑÑ Ð¿ÑоÑÑÑанÑÑвеннÑÑ
- ÑложноÑÑÑ, аÑÑеÑакÑÑ Ð±ÑдÑÑ Ð¿ÑакÑиÑеÑки незамеÑнÑ.
- ÐÑо пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ð¾ÑомÑ, ÑÑо оÑÐµÐ¾Ð»Ñ Ð¸Ð¼ÐµÑÑ ÑклонноÑÑÑ Ð²ÑглÑдеÑÑ ÐºÐ°Ðº деÑали или
- ÑÑм. ÐÑиÑелÑное воÑпÑиÑÑие легко замеÑÐ°ÐµÑ Ð¾ÑÑÑÑÑÑвие деÑалей, но ÐµÐ¼Ñ Ð½Ðµ Ñак
- легко обÑаÑиÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ на невеÑно изобÑаженнÑй ÑÑм.
- Ðогда ÑеÑÑ Ð¸Ð´ÐµÑ Ð¾ ÑÑбÑекÑивном каÑеÑÑве, ÑÑм и деÑали в некоÑоÑой ÑÑепени
- взаимозаменÑемÑ.
- УменÑÑÐ°Ñ ÑÐ¸Ð»Ñ ÑилÑÑÑа ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÑноÑÑи, ÐÑ, ÑкоÑее вÑего, ÑвелиÑиваеÑе оÑибкÑ,
- добавлÑÑ Ð¾ÑеолÑ, но глаз ÑÑого не замеÑаеÑ, поÑколÑÐºÑ Ð¾Ð½ пÑÑÐ°ÐµÑ Ð°ÑÑеÑакÑÑ Ñ
- деÑалÑми.
- </para>
- <para>
- Ðднако, ÑÑо <emphasis role="bold">по-пÑежнемÑ</emphasis> не опÑавдÑваеÑ
- ÑменÑÑение ÑÐ¸Ð»Ñ ÑилÑÑÑа. ÐÑ Ð² болÑÑинÑÑве ÑлÑÑаев можеÑе полÑÑиÑÑ Ð±Ð¾Ð»ÐµÐµ
- каÑеÑÑвеннÑй ÑÑм пÑи помоÑи поÑÑобÑабоÑки.
- ÐÑли ÑезÑлÑÑÐ°Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи помоÑи H.264 вÑглÑÐ´Ð¸Ñ ÑлиÑком ÑмазаннÑм или
- ÑазмÑÑÑм, попÑобÑйÑе поигÑаÑÑ Ñ <option>-vf noise</option>, пÑи
- воÑпÑоизведении закодиÑованного ÑилÑма.
- <option>-vf noise=8a:4a</option> должна ÑкÑÑÑÑ Ð±Ð¾Ð»ÑÑинÑÑво мелкиÑ
аÑÑеÑакÑов.
- Ðе ÑезÑлÑÑÐ°Ñ Ð¿Ð¾ÑÑи навеÑнÑка бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ Ð»ÑÑÑе, Ñем полÑÑеннÑй пÑи помоÑи
- маÑ
инаÑий Ñ ÑилÑÑÑом ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÑноÑÑи.
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>ÐÑимеÑÑ Ð½Ð°ÑÑÑоек кодиÑованиÑ</title>
-
-<para>
-ÐоÑледÑÑÑие наÑÑÑойки — ÑÑо пÑимеÑÑ ÑазлиÑнÑÑ
комбинаÑий опÑий кодиÑованиÑ,
-коÑоÑÑе влиÑÑÑ Ð½Ð° ÑооÑноÑÐµÐ½Ð¸Ñ ÑкоÑоÑÑÑ-каÑеÑÑво пÑи Ñой же велиÑине Ñелевого
-биÑпоÑока.
-</para>
-
-<para>
-ÐÑе наÑÑÑойки кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑовеÑÑлиÑÑ Ð½Ð° ÑеÑÑовом видео 720x448 @30000/1001 fps
-Ñ ÑелевÑм биÑпоÑоком 900кбиÑ/Ñек, на маÑине AMD-64 3400+ Ñ 2400 ÐÐÑ Ð¸ 64-Ñ
биÑном Ñежиме.
-ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ наÑÑÑойки кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐºÐ°Ð·Ð°Ð½Ñ Ð¸Ð·Ð¼ÐµÑÐµÐ½Ð½Ð°Ñ ÑкоÑоÑÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ (в
-кадÑаÑ
в ÑекÑндÑ) и поÑеÑÑ PSNR (в дÐ) по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð½Ð°ÑÑÑойкой "оÑÐµÐ½Ñ Ð²ÑÑокое
-каÑеÑÑво". ÐоймиÑе, пожалÑйÑÑа, ÑÑо в завиÑимоÑÑи Ð¾Ñ ÐаÑего маÑеÑиала, Ñипа
-маÑинÑ, пÑогÑеÑÑа ÑазÑабоÑки ÐÑ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ ÑилÑно оÑлиÑаÑÑиеÑÑ ÑезÑлÑÑаÑÑ.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>ÐпиÑание</entry>
- <entry>ÐпÑии кодиÑованиÑ</entry>
- <entry>ÑкоÑоÑÑÑ (в fps)</entry>
- <entry>ÐÑноÑиÑелÑÐ½Ð°Ñ Ð¿Ð¾ÑеÑÑ PSNR (в дÐ)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>ÐÑÐµÐ½Ñ Ð²ÑÑокое каÑеÑÑво</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6fps</entry>
- <entry>0дÐ</entry>
-</row>
-<row>
- <entry>ÐÑÑокое каÑеÑÑво</entry>
- <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13fps</entry>
- <entry>-0.89дÐ</entry>
-</row>
-<row>
- <entry>ÐÑÑÑÑо</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17fps</entry>
- <entry>-1.48дÐ</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-video-for-windows">
-<title>
- ÐодиÑование ÑемейÑÑвом кодеков <systemitem class="library">Video For Windows</systemitem>
-</title>
-
-<para>
-Video for Windows пÑедоÑÑавлÑÐµÑ Ð¿ÑоÑÑое кодиÑование пÑи помоÑи бинаÑнÑÑ
видео
-кодеков. ÐÑ Ð¼Ð¾Ð¶ÐµÑе кодиÑоваÑÑ ÑледÑÑÑими кодеками (еÑли Ñ ÐÐ°Ñ ÐµÑÑÑ Ð´ÑÑгие,
-ÑообÑиÑе нам!)
-</para>
-
-<para>
-ÐмейÑе в видÑ, ÑÑо поддеÑжка ÑÑой возможноÑÑи оÑÐµÐ½Ñ ÑкÑпеÑименÑалÑÐ½Ð°Ñ Ð¸
-некоÑоÑÑе кодеки могÑÑ Ð½Ðµ ÑабоÑаÑÑ ÐºÐ¾ÑÑекÑно. ÐекоÑоÑÑе кодеки могÑÑ ÑабоÑаÑÑ
-ÑолÑко в опÑеделеннÑÑ
пÑоÑÑÑанÑÑваÑ
ÑвеÑов, попÑобÑйÑе
-<option>-vf format=bgr24</option> и <option>-vf format=yuy2</option>,
-еÑли кодек вÑÐ´Ð°ÐµÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð¸Ð»Ð¸ кодиÑÑÐµÑ Ð½ÐµÐ²ÐµÑно.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>ÐоддеÑживаемÑе кодеки Video for Windows</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>ÐÐ¼Ñ Ñайла Ñ Ð²Ð¸Ð´ÐµÐ¾ кодеком</entry>
- <entry>ÐпиÑание (FourCC)</entry>
- <entry>md5sum</entry>
- <entry>ÐомменÑаÑий</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft vfw кодек без поÑеÑÑ (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>необÑ
одим <option>-vf format</option></entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV (без поÑеÑÑ) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry>оÑибка shareware в windows</entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry><option>-ffourcc VP70</option></entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 VfW кодек (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>msulvc06.DLL</entry>
- <entry>MSU кодек без поÑеÑÑ (MSUD)</entry>
- <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
- <entry>
- ÐÐ¾Ð¶ÐµÑ Ð´ÐµÐºÐ¾Ð´Ð¸ÑоваÑÑÑÑ <application>Window Media Player</application>,
- но не <application>MPlayer</application> (пока).
- </entry>
-</row>
-<row>
- <entry>camcodec.dll</entry>
- <entry>CamStudio lossless video codec (CSCD)</entry>
- <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
- <entry>sf.net/projects/camstudio</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-ÐеÑвÑй ÑÑÐ¾Ð»Ð±ÐµÑ ÑодеÑÐ¶Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð° кодеков, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказÑваÑÑÑÑ Ð¿Ð¾Ñле
-паÑамеÑÑа <literal>codec</literal>,
-напÑимеÑ: <option>-xvfwopts codec=divx.dll</option>
-FourCC код, иÑполÑзÑемÑй каждÑм кодеком, Ñказан в ÑкобкаÑ
.
-</para>
-<informalexample>
-<para>
-ÐÑÐ¸Ð¼ÐµÑ ÐºÐ¾Ð½Ð²ÐµÑÑаÑии ISO DVD Ñолика в VP6 flash видео Ñайл Ñ Ð¸ÑполÑзованием
-compdata наÑÑÑоек биÑпоÑока:
-<screen>
-mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf
-</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-video-for-windows-bitrate-settings">
-<title>ÐÑполÑзование vfw2menc Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайла наÑÑÑоек кодека.</title>
-
-<para>
-ÐÐ»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´ÐµÐºÐ°Ð¼Ð¸ Video for Windows, Ðам поÑÑебÑеÑÑÑ ÑÑÑановиÑÑ
-велиÑÐ¸Ð½Ñ Ð±Ð¸ÑпоÑока и дÑÑгие опÑии. ÐзвеÑÑно, ÑÑо ÑÑо ÑабоÑÐ°ÐµÑ Ð½Ð° x86 и длÑ
-*NIX, и Ð´Ð»Ñ Windows.
-</para>
-<para>
-Ðо-пеÑвÑÑ
, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑобÑаÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ <application>vfw2menc</application>.
-Ðна наÑ
одиÑÑÑ Ð² подкаÑалоге <filename class="directory">TOOLS</filename>
-деÑева иÑÑ
одников MPlayer.
-ÐÐ»Ñ ÑбоÑки под Linux, ÑÑо можно ÑделаÑÑ, воÑполÑзовавÑиÑÑ <application>Wine</application>:
-<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
-ÐÐ»Ñ ÑбоÑки под Windows в <application>MinGW</application> или
-<application>Cygwin</application> иÑполÑзÑйÑе:
-<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
-ÐÐ»Ñ ÑбоÑки в <application>MSVC</application> Ðам поÑÑебÑеÑÑÑ getopt.
-Getopt можно найÑи в иÑÑ
одном аÑÑ
иве <application>vfw2menc</application>,
-доÑÑÑпном в:
-ÐÑÐ¾ÐµÐºÑ <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer на win32</ulink>.
-</para>
-<informalexample>
-<para>
-Ðалее ÑледÑÐµÑ Ð¿ÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ VP6 кодеком.
-<screen>
-vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf
-</screen>
-ÐÑо оÑкÑÐ¾ÐµÑ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ðµ окно кодека VP6. ÐовÑоÑиÑе ÑÑÐ¾Ñ Ñаг Ð´Ð»Ñ Ð²ÑоÑого пÑоÑ
ода,
-Ñказав <option>-s <replaceable>secondpass.mcf</replaceable></option>.
-</para>
-</informalexample>
-<para>
-ÐолÑзоваÑели Windows могÑÑ Ð¸ÑполÑзоваÑÑ
-<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option>,
-Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° окна наÑÑÑоек кодека пеÑед наÑалом кодиÑованиÑ.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-quicktime-7">
-<title>ÐÑполÑзование <application>MEncoder</application>
-Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑовмеÑÑимÑÑ
Ñ <application>QuickTime</application>
-Ñайлов</title>
-
-
-<sect2 id="menc-feat-quicktime-7-why-use-it">
-<title>ÐаÑем необÑ
одимо ÑоздаваÑÑ ÑовмеÑÑимÑе Ñ <application>QuickTime</application>
-ÑайлÑ?</title>
-
-<para>
- ÐÑÑÑ Ð½ÐµÑколÑко пÑиÑин, по коÑоÑÑм Ñоздание
- <application>QuickTime</application>-ÑовмеÑÑимÑÑ
Ñайлов Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ
- желаÑелÑно.
-</para>
-<itemizedlist>
-<listitem><para>
- ÐÑ Ñ
оÑиÑе, ÑÑÐ¾Ð±Ñ Ð»Ñбой компÑÑÑеÑно негÑамоÑнÑй Ñеловек мог ÑмоÑÑеÑÑ
- ÑезÑлÑÑÐ°Ñ ÐаÑего кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° болÑÑинÑÑве плаÑÑоÑм (Windows, Mac OS X, Unices …).
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application>
- позволÑÐµÑ Ð²Ð¾ÑполÑзоваÑÑÑÑ Ð¿ÑеимÑÑеÑÑвами болÑÑего ÑиÑла возможноÑÑей
- аппаÑаÑного и пÑогÑаммного ÑÑкоÑÐµÐ½Ð¸Ñ Ð½Ð° Mac OS X, Ñем плаÑÑоÑмо-незавиÑимÑе
- плееÑÑ Ð½Ð°Ð¿Ð¾Ð´Ð¾Ð±Ð¸Ðµ <application>MPlayer</application> или
- <application>VLC</application>.
- ÐÑо ознаÑаеÑ, ÑÑо ÐаÑе кодиÑование Ð¸Ð¼ÐµÐµÑ ÑанÑÑ Ð¿Ð»Ð°Ð²Ð½Ð¾ воÑпÑоизводиÑÑÑÑ
- на ÑÑаÑÑÑ
маÑинаÑ
, оÑнаÑÑннÑÑ
G4.
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> 7 поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð´ÐµÐº нового поколениÑ
- H.264, коÑоÑÑй даÑÑ ÑÑÑеÑÑвенно лÑÑÑее каÑеÑÑво изобÑажениÑ, Ñем
- пÑедÑдÑÑие Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´ÐµÐºÐ¾Ð² (MPEG-2, MPEG-4 …).
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-constraints">
-<title>ÐгÑаниÑÐµÐ½Ð¸Ñ <application>QuickTime</application> 7</title>
-
-<para>
- <application>QuickTime</application> 7 поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ H.264 видео и
- AAC аÑдио, но не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¸Ñ
мÑлÑÑиплекÑиÑование в ÑоÑмаÑ
- конÑейнеÑа AVI.
- Ðднако, ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ <application>MEncoder</application>
- Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ и аÑдио, а поÑом иÑполÑзоваÑÑ Ð²Ð½ÐµÑнÑÑ
- пÑогÑаммÑ, ÑакÑÑ ÐºÐ°Ðº <application>mp4creator</application> (ÑаÑÑÑ
- <ulink url="http://mpeg4ip.sourceforge.net/">пакеÑа MPEG4I</ulink>)
- Ð´Ð»Ñ ÑемÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ и аÑдио доÑожек в конÑÐµÐ¹Ð½ÐµÑ MP4.
-</para>
-
-<para>
- ÐоддеÑжка H.264 в <application>QuickTime</application> огÑаниÑена,
- Ñак ÑÑо Ðам пÑидÑÑÑÑ Ð¾ÑказаÑÑÑÑ Ð¾Ñ Ð½ÐµÑколÑкиÑ
пÑодвинÑÑÑÑ
возможноÑÑей.
- ÐÑли ÐÑ ÐºÐ¾Ð´Ð¸ÑÑеÑе видео Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑми, не поддеÑживаемÑми
- <application>QuickTime</application> 7,
- плееÑÑ, оÑнованнÑе на <application>QuickTime</application>,
- покажÑÑ Ðам милÑй белÑй ÑкÑан вмеÑÑо ожидаемого Ðами видео.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">B-кадÑÑ</emphasis>:
- <application>QuickTime</application> 7 поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¼Ð°ÐºÑимÑм 1 B-кадÑ,
- Ñ.е. <option>-x264encopts bframes=1</option>. ÐÑо ознаÑаеÑ, ÑÑо
- <option>b_pyramid</option> и <option>weight_b</option> не дадÑÑ
- ÑÑÑекÑа, поÑколÑÐºÑ Ð¸Ð¼ необÑ
одимо, ÑÑÐ¾Ð±Ñ <option>bframes</option>
- бÑло болÑÑе 1.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ÐакÑоблоки</emphasis>:
- <application>QuickTime</application> 7 не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ 8x8 DCT макÑоблоки.
- ÐÑа опÑÐ¸Ñ (<option>8x8dct</option>) вÑклÑÑена по ÑмолÑаниÑ, Ñак ÑÑо
- пÑоÑÑо ÑдоÑÑовеÑÑÑеÑÑ, ÑÑо Ñвно ÐµÑ Ð½Ðµ задали.
- ÐÑо Ñакже ознаÑаеÑ, ÑÑо опÑÐ¸Ñ <option>i8x8</option> бÑÐ´ÐµÑ Ð±ÐµÑполезна,
- Ñ.к. ей необÑ
одима <option>8x8dct</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ÐоÑÑÑиÑÐ¸ÐµÐ½Ñ ÑооÑноÑÐµÐ½Ð¸Ñ ÑÑоÑон</emphasis>:
- <application>QuickTime</application> 7 не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¸Ð½ÑоÑмаÑиÑ
- SAR (коÑÑÑиÑÐ¸ÐµÐ½Ñ Ð¿ÑопоÑÑий пикÑела, sample aspect ratio)
- в MPEG-4 ÑайлаÑ
; он пÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ SAR=1. ÐÑоÑÑиÑе
- <link linkend="menc-feat-quicktime-7-scale">Ñаздел о маÑÑÑабиÑовании</link>
- Ð´Ð»Ñ Ð¾Ð±Ñ
ода пÑоблемÑ.
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-crop">
-<title>ÐбÑезание</title>
-<para>
- ÐÑедположим, ÑÑо ÐÑ Ñ
оÑиÑе ÑделаÑÑ Ñип ÑвежекÑпленной копии "Ð¥Ñоник
- ÐаÑнии" и ÐÐ°Ñ Ñегион DVD 1, ÑÑо ознаÑаеÑ, ÑÑо ÑÑо NTSC.
- ÐÑÐ¸Ð¼ÐµÑ Ð½Ð¸Ð¶Ðµ бÑÐ´ÐµÑ Ñакже пÑименим к PAL, за иÑклÑÑением Ñого, ÑÑо Ðам
- нÑжно бÑÐ´ÐµÑ Ð¾Ð¿ÑÑÑиÑÑ <option>-ofps 24000/1001</option> и иÑполÑзоваÑÑ
- Ñлегка оÑлиÑаÑÑиеÑÑ ÑазмеÑÑ Ð´Ð»Ñ <option>crop</option> и <option>scale</option>.
-</para>
-
-<para>
- ÐоÑле запÑÑка <option>mplayer dvd://1</option>, ÐÑ ÑледÑеÑе пÑоÑеÑÑÑ,
- опиÑÐ°Ð½Ð½Ð¾Ð¼Ñ Ð² Ñазделе <link linkend="menc-feat-telecine">Ðак ÑабоÑаÑÑ
- Ñ ÑелеÑином и ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑкой на NTSC DVD</link> и обнаÑÑживаеÑе,
- ÑÑо ÑÑо 24000/1001 fps видео Ñ Ð¿Ð¾ÑÑÑоÑной ÑазвÑÑÑкой. ÐÑо неÑколÑко
- ÑпÑоÑÐ°ÐµÑ Ð¾Ð±ÑабоÑкÑ, поÑколÑÐºÑ Ðам не нÑжно иÑполÑзоваÑÑ ÑилÑÑÑ
- обÑаÑного ÑелеÑина, Ñакой как <option>pullup</option>, или ÑилÑÑÑ
- деинÑеÑлейÑа, Ñакой как <option>yadif</option>.
-</para>
-
-<para>
- ÐаÑем Ðам необÑ
одимо ÑÑеÑÑ ÑÑÑнÑе полоÑÑ ÑвеÑÑ
Ñ Ð¸ ÑÐ½Ð¸Ð·Ñ Ð²Ð¸Ð´ÐµÐ¾, как
- опиÑано в <link linkend="menc-feat-dvd-mpeg4-example-crop">ÑÑом</link>
- Ñазделе.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-scale">
-<title>ÐаÑÑÑабиÑование</title>
-
-<para>
- СледÑÑÑий Ñаг дейÑÑвиÑелÑно дÑÑеÑаздиÑаÑÑий.
- <application>QuickTime</application> 7 не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ MPEG-4 видео
- Ñ ÐºÐ¾ÑÑÑиÑиенÑом ÑооÑноÑÐµÐ½Ð¸Ñ ÑÑоÑон пикÑела, оÑлиÑнÑм Ð¾Ñ 1. Так ÑÑо Ðам
- пÑидÑÑÑÑ Ð¼Ð°ÑÑÑабиÑоваÑÑ Ð²Ð¸Ð´ÐµÐ¾ либо в ÑÑоÑÐ¾Ð½Ñ ÑвелиÑÐµÐ½Ð¸Ñ (ÑÑо впÑÑÑÑÑ
- поÑÑаÑÐ¸Ñ Ð¼Ð½Ð¾Ð³Ð¾ меÑÑа на диÑке), либо в ÑÑÑÐ¾Ð½Ñ ÑменÑÑÐµÐ½Ð¸Ñ (ÑÑо пÑиведÑÑ
- к поÑеÑе некоÑоÑÑÑ
деÑалей иÑÑоÑника) Ð´Ð»Ñ ÐºÐ²Ð°Ð´ÑаÑизаÑии пикÑелов.
- Ðакой Ð±Ñ ÑпоÑоб ÐÑ Ð½Ðµ вÑбÑали, ÑÑо бÑÐ´ÐµÑ ÐºÑайне неÑÑÑекÑивнÑм, но
- не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿ÑÑено, еÑли ÐÑ Ñ
оÑиÑе, ÑÑоб ÐаÑе видео воÑпÑоизводилоÑÑ
- Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ <application>QuickTime</application> 7.
- <application>MEncoder</application> Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑимениÑÑ Ð½ÐµÐ¾Ð±Ñ
одимое
- ÑвелиÑиваÑÑее или ÑменÑÑаÑÑее маÑÑÑабиÑование, еÑли ÐµÐ¼Ñ ÑказаÑÑ
- <option>-vf scale=-10:-1</option> или <option>-vf scale=-1:-10</option>
- ÑооÑвеÑÑÑвенно.
- ÐÑо оÑмаÑÑÑабиÑÑÐµÑ ÐаÑе видео до коÑÑекÑной ÑиÑÐ¸Ð½Ñ Ð´Ð»Ñ ÑÑеÑÑнной
- вÑÑоÑÑ, окÑÑглÑнной до ближайÑего множиÑÐµÐ»Ñ 16 Ð´Ð»Ñ Ð¾Ð¿ÑималÑного
- ÑжаÑиÑ.
- ÐомниÑе, ÑÑо еÑли пÑоизводиÑе обÑезание, Ñо нÑжно ÑпеÑва обÑезаÑÑ, а лиÑÑ Ð·Ð°Ñем
- маÑÑÑабиÑоваÑÑ:
-
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-avsync">
-<title>A/V ÑинÑ
ÑонизаÑиÑ</title>
-
-<para>
- ÐоÑколÑÐºÑ ÐÑ Ð±ÑдеÑе мÑлÑÑиплекÑиÑоваÑÑ Ð² дÑÑгой конÑейнеÑ, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ
- вÑегда иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>harddup</option>, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ,
- ÑÑо дÑблиÑÑÑÑиеÑÑ ÐºÐ°Ð´ÑÑ Ð±ÑдÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑно дÑблиÑоваÑÑÑÑ Ð² полÑÑенном
- видео. Ðез ÑÑой опÑии <application>MEncoder</application> бÑÐ´ÐµÑ Ð¿ÑоÑÑо
- ÑаÑполагаÑÑ Ð¼Ð°ÑÐºÐµÑ Ð² видеопоÑоке о Ñом, ÑÑо ÐºÐ°Ð´Ñ Ð±Ñл повÑоÑен, и бÑдеÑ
- полагаÑÑÑÑ Ð½Ð° Ñо, ÑÑо клиенÑÑкое пÑогÑаммное обеÑпеÑение Ð¿Ð¾ÐºÐ°Ð¶ÐµÑ ÐºÐ°Ð´Ñ
- дваждÑ. Ð ÑожалениÑ, ÑÑо "мÑгкое дÑблиÑование" не пеÑеживаеÑ
- ÑемÑлÑÑиплекÑиÑование, в ÑезÑлÑÑаÑе Ñего аÑдио бÑÐ´ÐµÑ Ð¿Ð¾ÑÑепенно ÑеÑÑÑÑ
- ÑинÑ
ÑонизаÑÐ¸Ñ Ñ Ð²Ð¸Ð´ÐµÐ¾.
-</para>
-
-<para>
- РиÑоге, ÑепоÑка ÑилÑÑÑов вÑглÑÐ´Ð¸Ñ ÑледÑÑÑим обÑазом:
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-bitrate">
-<title>ÐиÑпоÑок</title>
-
-<para>
- Ðак обÑÑно, вÑÐ±Ð¾Ñ Ð±Ð¸ÑпоÑока завиÑÐ¸Ñ Ð¾Ñ ÑеÑ
ниÑеÑкиÑ
ÑвойÑÑв иÑÑ
одного
- маÑеÑиала, как обÑÑÑнÑеÑÑÑ
- <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">здеÑÑ</link>,
- как, впÑоÑем, и Ð¾Ñ Ð»Ð¸Ñного вкÑÑа.
- ÐÑÐ¾Ñ ÑилÑм Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð½ÐµÐ±Ð¾Ð»ÑÑим колиÑеÑÑвом Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸ болÑÑим
- колиÑеÑÑвом деÑалей, но H.264 видео Ñ
оÑоÑо вÑглÑÐ´Ð¸Ñ Ð½Ð° ÑÑÑеÑÑвенно
- менÑÑиÑ
биÑпоÑокаÑ
, Ñем XviD или дÑÑгие MPEG-4 кодеки.
- ÐоÑле длиÑелÑного ÑкÑпеÑименÑиÑованиÑ, авÑÐ¾Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÑководÑÑва
- ÑеÑил кодиÑоваÑÑ ÑилÑм на 900 кбиÑ/Ñек, и ÑÑиÑаеÑ, ÑÑо он вÑглÑдиÑ
- оÑÐµÐ½Ñ Ñ
оÑоÑо. ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑменÑÑиÑÑ Ð±Ð¸ÑпоÑок, еÑли Ðам нÑжно ÑоÑ
ÑаниÑÑ
- болÑÑе меÑÑа, или ÑвелиÑиÑÑ, еÑли Ðам нÑжно ÑлÑÑÑиÑÑ ÐºÐ°ÑеÑÑво.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-example">
-<title>ÐÑÐ¸Ð¼ÐµÑ ÐºÐ¾Ð´Ð¸ÑованиÑ</title>
-
-<para>
- ТепеÑÑ ÐÑ Ð³Ð¾ÑÐ¾Ð²Ñ Ðº кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾. ÐоÑколÑÐºÑ ÐÑ Ð·Ð°Ð±Ð¾ÑиÑеÑÑ
- о каÑеÑÑве, ÐÑ , ÑазÑмееÑÑÑ, бÑдеÑе делаÑÑ Ð´Ð²ÑпÑоÑ
одное кодиÑование.
- ÐÐ»Ñ Ð½ÐµÐºÐ¾ÑоÑого ÑокÑаÑÐµÐ½Ð¸Ñ Ð²Ñемени кодиÑованиÑ, ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑказаÑÑ
- опÑÐ¸Ñ <option>turbo</option> пÑи пеÑвом пÑоÑ
оде; ÑÑо ÑменÑÑиÑ
- <option>subq</option> и <option>frameref</option> до 1.
- ЧÑÐ¾Ð±Ñ ÑоÑ
ÑаниÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ меÑÑа на диÑке, ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ
- паÑамеÑÑ <option>ss</option> Ð´Ð»Ñ Ð¾ÑÑÐµÐ·Ð°Ð½Ð¸Ñ Ð¿ÐµÑвÑÑ
неÑколÑкиÑ
- ÑекÑнд видео. (Я обнаÑÑжил, ÑÑо, в ÑаÑÑноÑÑи, Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑилÑма
- еÑÑÑ 32 ÑекÑÐ½Ð´Ñ ÑиÑÑов и логоÑипов.)
- <option>bframes</option> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ 0 или 1.
- оÑÑалÑнÑе опÑии опиÑÐ°Ð½Ñ Ð² Ñазделе <link
- linkend="menc-feat-x264-encoding-options-speedvquality">ÐодиÑование
- кодеком <systemitem class="library">x264</systemitem></link> и на
- man ÑÑÑаниÑе.
-
- <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- ÐÑли Ñ ÐÐ°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿ÑоÑеÑÑоÑÐ½Ð°Ñ Ð¼Ð°Ñина, не ÑпÑÑÑиÑе ÑÐ°Ð½Ñ Ð·Ð½Ð°ÑиÑелÑно
- ÑÑкоÑиÑÑ ÐºÐ¾Ð´Ð¸Ñование задейÑÑвованием
- <link linkend="menc-feat-x264-encoding-options-speedquality-threads">
- многопоÑоÑного Ñежима <systemitem class="library">x264</systemitem></link>,
- добавив <option>threads=auto</option> в <option>x264encopts</option> в
- командной ÑÑÑоке.
-</para>
-
-<para>
- ÐÑоÑой пÑоÑ
од вÑполнÑеÑÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñно, за иÑклÑÑением Ñого, ÑÑо Ðам
- нÑжно ÑказаÑÑ Ð²ÑÑ
одной Ñайл и ÑÑÑановиÑÑ <option>pass=2</option>.
-
- <screen>mencoder dvd://1 <emphasis role="bold">-o наÑниÑ.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-</para>
-
-<para>
- ÐолÑÑивÑееÑÑ AVI должно Ñ
оÑоÑо воÑпÑоизводиÑÑÑÑ Ð²
- <application>MPlayer</application>, но, конеÑно же,
- <application>QuickTime</application> не ÑÐ¼Ð¾Ð¶ÐµÑ ÐµÐ³Ð¾ воÑпÑоизвеÑÑи,
- Ñ.к. не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ H.264, мÑлÑÑиплекÑиÑованнÑй в AVI.
- Так ÑÑо ÑледÑÑÑий Ñаг — ÑемÑлÑÑиплекÑиÑование видео в конÑÐµÐ¹Ð½ÐµÑ MP4.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-remux">
-<title>РемÑлÑÑиплекÑиÑование в MP4</title>
-
-<para>
- СÑÑеÑÑвÑÐµÑ Ð½ÐµÑколÑко ÑпоÑобов ÑемÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ AVI Ñайлов
- в MP4. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ <application>mp4creator</application>,
- ÑвлÑÑÑийÑÑ ÑаÑÑÑÑ
- <ulink url="http://mpeg4ip.sourceforge.net/">пакеÑа MPEG4IP</ulink>.
-</para>
-
-<para>
- СпеÑва демÑлÑÑиплекÑиÑÑйÑе AVI в оÑделÑнÑе аÑдио и видео поÑоки
- Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ <application>MPlayer</application>.
-
- <screen>mplayer наÑниÑ.avi -dumpaudio -dumpfile наÑниÑ.aac
-mplayer наÑниÑ.avi -dumpvideo -dumpfile наÑниÑ.h264</screen>
-
- Ðмена Ñайлов важнÑ; Ð´Ð»Ñ <application>mp4creator</application>
- необÑ
одимо, ÑÑÐ¾Ð±Ñ AAC аÑдио поÑоки назÑвалиÑÑ <systemitem>.aac</systemitem>
- и H.264 видео поÑоки назÑвалиÑÑ <systemitem>.h264</systemitem>.
-</para>
-
-<para>
- ТепеÑÑ Ð¸ÑполÑзÑйÑе <application>mp4creator</application> Ð´Ð»Ñ ÑозданиÑ
- нового MP4 Ñайла из аÑдио и видео поÑоков.
-
- <screen>mp4creator -create=наÑниÑ.aac наÑниÑ.mp4
-mp4creator -create=наÑниÑ.h264 -rate=23.976 наÑниÑ.mp4</screen>
-
- РоÑлиÑии Ð¾Ñ ÑÑапа кодиÑованиÑ, Ðам нÑжно ÑказаÑÑ ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов
- как деÑÑÑиÑнÑÑ (напÑимеÑ, 23.976), а не ÑелÑÑ (напÑимеÑ, 24000/1001)
- дÑобÑ.
-</para>
-
-<para>
- ТепеÑÑ Ñайл <systemitem>наÑниÑ.mp4</systemitem> должен пÑоигÑÑваÑÑÑÑ
- Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð»Ñбого <application>QuickTime</application> 7 пÑиложениÑ,
- напÑимеÑ, <application>QuickTime Player</application> или
- <application>iTunes</application>.
- ÐÑли ÐÑ Ð¿Ð»Ð°Ð½Ð¸ÑÑеÑе пÑоÑмоÑÑ Ð²Ð¸Ð´ÐµÐ¾ в вÑб-бÑаÑзеÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°
- <application>QuickTime</application>, Ðам Ñакже необÑ
одимо
- модиÑиÑиÑоваÑÑ ÑилÑм Ñаким обÑазом, ÑÑÐ¾Ð±Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½
- <application>QuickTime</application> мог наÑаÑÑ ÐµÐ³Ð¾ воÑпÑоизведение
- еÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð·Ð°Ð³ÑÑзки. <application>mp4creator</application>
- Ð¼Ð¾Ð¶ÐµÑ ÑоздаÑÑ ÑÑи вÑпомогаÑелÑнÑе доÑожки (Ñ.н. hint tracks):
-
- <screen>mp4creator -hint=1 наÑниÑ.mp4
-mp4creator -hint=2 наÑниÑ.mp4
-mp4creator -optimize наÑниÑ.mp4</screen>
-
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ Ð¿Ð¾Ð»ÑÑеннÑй ÑезÑлÑÑаÑ, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо
- вÑпомогаÑелÑнÑе доÑожки бÑли ÑÑпеÑно ÑозданÑ.
-
- <screen>mp4creator -list наÑниÑ.mp4</screen>
-
- ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвидеÑÑ ÑпиÑок доÑожек: 1 аÑдио, 1 видео и 2 вÑпомогаÑелÑнÑÑ
.
-
-<screen>Track Type Info
-1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
-2 video H264 Main at 5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
-3 hint Payload mpeg4-generic for track 1
-4 hint Payload H264 for track 2
-</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-metadata">
-<title>Ðобавление Ñегов меÑаданнÑÑ
</title>
-
-<para>
- ÐÑли ÐÑ Ñ
оÑиÑе добавиÑÑ Ð² видео Ñеги, коÑоÑÑе оÑобÑажаÑÑÑÑ Ð² iTunes, ÐÑ
- можеÑе иÑполÑзоваÑÑ
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
-
- <screen>AtomicParsley наÑниÑ.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- ÐпÑÐ¸Ñ <option>--metaEnema</option> ÑдалÑÐµÑ Ð»ÑбÑе ÑÑÑеÑÑвÑÑÑие меÑаданнÑе
- (<application>mp4creator</application> вÑÑавлÑÐµÑ ÑÐ²Ð¾Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ в Ñег
- "ÑÑилиÑа кодиÑованиÑ") и <option>--freefree</option> вÑÑÐ²Ð¾Ð±Ð¾Ð¶Ð´Ð°ÐµÑ Ð¼ÐµÑÑо,
- оÑÑавÑееÑÑ Ð¾Ñ ÑдалÑннÑÑ
меÑаданнÑÑ
.
- ÐпÑÐ¸Ñ <option>--stik</option> ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ñип видео (напÑимеÑ,
- Movie или TV Show), коÑоÑÑй иÑполÑзÑеÑÑÑ iTunes Ð´Ð»Ñ Ð³ÑÑппиÑовки
- ÑодÑÑвеннÑÑ
видеоÑайлов.
- ÐпÑÐ¸Ñ <option>--overWrite</option> пеÑезапиÑÑÐ²Ð°ÐµÑ Ð¸ÑÑ
однÑй Ñайл; без неÑ
- <application>AtomicParsley</application> ÑоздаÑÑ Ð½Ð¾Ð²Ñй Ñайл Ñ Ð°Ð²ÑомаÑиÑеÑким
- именем в Ñом же каÑалоге и оÑÑÐ°Ð²Ð¸Ñ Ð¸ÑÑ
однÑй Ñайл неÑÑонÑÑÑм.
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>ÐÑполÑзование <application>MEncoder</application>
- Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ VCD/SVCD/DVD-ÑовмеÑÑимÑÑ
Ñайлов.</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>ÐгÑаниÑÐµÐ½Ð¸Ñ ÑоÑмаÑа</title>
-
-<para>
-<application>MEncoder</application> ÑпоÑобен ÑоздаваÑÑ MPEG ÑÐ°Ð¹Ð»Ñ VCD, SCVD
-и DVD ÑоÑмаÑа, иÑполÑзÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÑ <systemitem class="library">libavcodec</systemitem>.
-ÐÑи ÑÐ°Ð¹Ð»Ñ Ð·Ð°Ñем могÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ ÑовмеÑÑно Ñ
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
-или
-<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
-Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð´Ð¸Ñков, коÑоÑÑе бÑдÑÑ Ð²Ð¾ÑпÑоизводиÑÑÑÑ Ð½Ð° ÑÑандаÑÑном видео
-пÑоигÑÑваÑеле.
-</para>
-
-<para>
-DVD, SVCD, и VCD ÑоÑмаÑÑ Ð¾Ð±Ð»Ð°Ð´Ð°ÑÑ Ð¶ÐµÑÑкими огÑаниÑениÑми. ÐоÑÑÑпен ÑолÑко неболÑÑой вÑбоÑ
-ÑазмеÑов и пÑопоÑÑий кодиÑÑемого изобÑажениÑ.
-ÐÑли ÐÐ°Ñ ÑилÑм пока не ÑдовлеÑвоÑÑÐµÑ ÑÑим огÑаниÑениÑм, пÑидеÑÑÑ Ð¸Ð·Ð¾Ð±Ñажение
-маÑÑÑабиÑоваÑÑ, обÑезаÑÑ Ð¸Ð»Ð¸ добавлÑÑÑ Ðº Ð½ÐµÐ¼Ñ ÑеÑнÑе полоÑÑ, ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð¸ÑÑÑÑ
-ÑовмеÑÑимоÑÑи.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>ÐгÑаниÑÐµÐ½Ð¸Ñ ÑоÑмаÑов</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
-<row>
- <entry>ФоÑмаÑ</entry>
- <entry>РазÑеÑение</entry>
- <entry>Ðид. Ðодек</entry>
- <entry>Ðид. ÐиÑпоÑок</entry>
- <entry>ÐиÑкÑеÑизаÑиÑ</entry>
- <entry>ÐÑд. Ðодек</entry>
- <entry>ÐÑд. ÐиÑпоÑок</entry>
- <entry>FPS</entry>
- <entry>ÐÑопоÑÑии</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 кбиÑ/Ñ</entry>
- <entry>48000 ÐÑ</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 кбиÑ/Ñ (макÑ.)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (ÑолÑко Ð´Ð»Ñ 720x480)</entry>
-</row>
-<row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- ÐÑи ÑазÑеÑÐµÐ½Ð¸Ñ Ñедко иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ DVD, поÑколÑÐºÑ Ð¸Ð¼ÐµÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно низкое
- каÑеÑÑво.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 кбиÑ/Ñ</entry>
- <entry>48000 ÐÑ</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 кбиÑ/Ñ (макÑ.)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 кбиÑ/Ñ</entry>
- <entry>44100 ÐÑ</entry>
- <entry>MP2</entry>
- <entry>384 кбиÑ/Ñ (макÑ.)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 кбиÑ/Ñ</entry>
- <entry>44100 ÐÑ</entry>
- <entry>MP2</entry>
- <entry>224 кбиÑ/Ñ</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 кбиÑ/Ñ</entry>
- <entry>48000 ÐÑ</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 кбиÑ/Ñ (макÑ.)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (ÑолÑко Ð´Ð»Ñ 720x576)</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 кбиÑ/Ñ</entry>
- <entry>48000 ÐÑ</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 кбиÑ/Ñ (макÑ.)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 кбиÑ/Ñ</entry>
- <entry>44100 ÐÑ</entry>
- <entry>MP2</entry>
- <entry>384 кбиÑ/Ñ (макÑ.)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 кбиÑ/Ñ</entry>
- <entry>44100 ÐÑ</entry>
- <entry>MP2</entry>
- <entry>224 кбиÑ/Ñ</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
-ÐÑли ÐÐ°Ñ ÑилÑм Ð¸Ð¼ÐµÐµÑ Ð¿ÑопоÑÑии 2.35:1 (болÑÑинÑÑво ÑовÑеменнÑÑ
ÑилÑмов Ñ Ð¾Ð±Ð¸Ð»Ð¸ÐµÐ¼ движениÑ),
-Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ DVD или VCD пÑидеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑеÑнÑе полоÑÑ Ð¸Ð»Ð¸ обÑезаÑÑ ÑилÑм до
-16:9. ÐобавлÑÑ ÑеÑнÑе полоÑÑ, пÑÑайÑеÑÑ Ð²ÑÑовнÑÑÑ Ð¸Ñ
ÑазмеÑÑ Ð½Ð° гÑаниÑÑ Ð² 16 пикÑелов,
-ÑÑÐ¾Ð±Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð¸ÑоваÑÑ Ð²Ð»Ð¸Ñние на пÑоизводиÑелÑноÑÑÑ ÐºÐ¾Ð´Ð¸ÑованиÑ.
-Ð ÑÑаÑÑÑÑ, DVD Ð¸Ð¼ÐµÐµÑ Ð´Ð¾ÑÑаÑоÑно избÑÑоÑнÑй биÑпоÑок, ÑÑÐ¾Ð±Ñ Ð½Ðµ ÑилÑно
-беÑпокоиÑÑÑÑ Ð¾Ð± ÑÑÑекÑивноÑÑи кодиÑованиÑ, но SVCD и VCD веÑÑма огÑаниÑÐµÐ½Ñ Ð²
-биÑпоÑоке и ÑÑебÑÑÑ Ð¾Ð¿ÑеделеннÑÑ
ÑÑилий Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñиемлемого каÑеÑÑва.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>ÐгÑаниÑÐµÐ½Ð¸Ñ Ð½Ð° ÑÐ°Ð·Ð¼ÐµÑ GOP</title>
-
-<para>
-DVD, VCD, и SVCD Ñакже огÑаниÑиваÑÑ ÐÐ°Ñ Ð¾ÑноÑиÑелÑно низкими ÑазмеÑами
-GOP (Group of Pictures, ÐÑÑппа ÐзобÑажений).
-ÐÐ»Ñ Ð¼Ð°ÑеÑиала Ñ 30 fps макÑималÑнÑй допÑÑÑимÑй ÑÐ°Ð·Ð¼ÐµÑ GOP Ñавен 18.
-ÐÐ»Ñ 25 или 24 fps, макÑимÑм Ñавен 15.
-Ð Ð°Ð·Ð¼ÐµÑ GOP ÑÑÑанавливаеÑÑÑ Ð¾Ð¿Ñией <option>keyint</option>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>ÐгÑаниÑÐµÐ½Ð¸Ñ Ð½Ð° биÑпоÑок</title>
-
-<para>
-VCD видео должно бÑÑÑ CBR Ñ 1152 кбиÑ/Ñ.
-ÐÑо ÑилÑное огÑаниÑение ÑÑÑгÑблÑеÑÑÑ, к ÑÐ¾Ð¼Ñ Ð¶Ðµ, ÑÑезвÑÑайно низким ÑазмеÑом vbv
-бÑÑеÑа, ÑавнÑм 327 килобиÑ.
-SVCD допÑÑÐºÐ°ÐµÑ ÑазлиÑнÑе знаÑÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ биÑпоÑока вплоÑÑ Ð´Ð¾ 2500 кбиÑ/Ñ Ð¸ не
-Ñак ÑилÑно ÑÑеÑнÑÑÑий ÑÐ°Ð·Ð¼ÐµÑ vbv бÑÑеÑа, ÑавнÑй 917 килобиÑ.
-У DVD видео биÑпоÑок Ð¼Ð¾Ð¶ÐµÑ Ñвободно менÑÑÑÑÑ Ð²Ð¿Ð»Ð¾ÑÑ Ð´Ð¾ 9800 kbps (Ñ
оÑÑ Ð¾Ð±ÑÑнÑй
-поÑок Ñавен пÑимеÑно половине ÑÑого знаÑениÑ), а ÑÐ°Ð·Ð¼ÐµÑ vbv бÑÑеÑа Ñавен 1835
-килобиÑ.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>ÐпÑии вÑвода</title>
-
-<para>
-У <application>MEncoder</application> еÑÑÑ Ð¾Ð¿Ñии, ÑпÑавлÑÑÑие вÑÑ
однÑм ÑоÑмаÑом.
-ÐÑполÑзÑÑ Ð¸Ñ
, можно даÑÑ Ñказание ÑоздаÑÑ Ñайл коÑÑекÑного Ñипа.
-</para>
-
-<para>
-ÐÐ»Ñ VCD и SVCD опÑии назÑваÑÑÑÑ xvcd и xsvcd, поÑÐ¾Ð¼Ñ ÑÑо они ÑвлÑÑÑÑÑ
-ÑаÑÑиÑеннÑми ÑоÑмаÑами. Ðни не полноÑÑÑÑ ÑовмеÑÑимÑ, в оÑновном, поÑÐ¾Ð¼Ñ ÑÑо не
-ÑодеÑÐ¶Ð°Ñ ÑмеÑений ÑазвÑÑÑки. ÐÑли нÑжно ÑоздаÑÑ Ð¾Ð±Ñаз SVCD, ÑледÑÐµÑ Ð¿ÐµÑедаÑÑ
-вÑÑ
одной Ñайл пÑогÑамме
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
-</para>
-
-<para>
-VCD:
-<screen>-of mpeg -mpegopts format=xvcd</screen>
-</para>
-
-<para>
-SVCD:
-<screen>-of mpeg -mpegopts format=xsvcd</screen>
-</para>
-
-<para>
-DVD (Ñ Ð²ÑеменнÑми меÑками на каждом кадÑе, еÑли возможно):
-<screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
-</para>
-
-<para>
-DVD Ñ NTSC Pullup:
-<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
-ÐÑо Ð´ÐµÐ»Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм кодиÑование 24000/1001 fps поÑÑÑоÑного ÑодеÑжимого Ñ
-ÑаÑÑоÑой 30000/1001 fps, Ñ Ð¾Ð´Ð½Ð¾Ð²ÑеменнÑм ÑоÑ
Ñанением ÑовмеÑÑимоÑÑи Ñ DVD.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>ÐÑопоÑÑии</title>
-<para>
-ÐÑгÑÐ¼ÐµÐ½Ñ aspect в <option>-lavcopts</option> иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ
-коÑÑÑиÑиенÑа пÑопоÑÑий Ñайла.
-ÐоÑÑÑиÑÐ¸ÐµÐ½Ñ Ð¿ÑопоÑÑий иÑполÑзÑеÑÑÑ Ð² пÑоÑеÑÑе воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð¾ÑÑÑановлениÑ
-пÑавилÑного ÑазмеÑа видео.
-</para>
-
-<para>
-16:9 or "ШиÑокоÑкÑаннÑй"
-<screen>-lavcopts aspect=16/9</screen>
-</para>
-
-<para>
-4:3 or "ÐолноÑкÑаннÑй"
-<screen>-lavcopts aspect=4/3</screen>
-</para>
-
-<para>
-2.35:1 or "ÐинемаÑогÑаÑиÑеÑкий" NTSC
-<screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
-ÐÐ»Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¿ÑавилÑного ÑазмеÑа маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ÑполÑзÑйÑе ÑаÑÑиÑеннÑÑ
-ÑиÑÐ¸Ð½Ñ NTSC 854/2.35 = 368
-</para>
-
-<para>
-2.35:1 or "ÐинемаÑогÑаÑиÑеÑкий" PAL
-<screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
-ÐÐ»Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¿ÑавилÑного ÑазмеÑа маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ÑполÑзÑйÑе ÑаÑÑиÑиннÑÑ
-ÑиÑÐ¸Ð½Ñ PAL 1024/2.35 = 432
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>СоÑ
Ñанение A/V ÑинÑ
ÑонизаÑии</title>
-
-<para>
-ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑоÑ
ÑанÑÑÑ Ð°Ñдио/видео ÑинÑ
ÑонизаÑÐ¸Ñ Ð½Ð° пÑоÑÑжении вÑего
-кодиÑованиÑ, <application>MEncoder</application> должен вÑбÑаÑÑваÑÑ Ð¸Ð»Ð¸
-дÑблиÑоваÑÑ ÐºÐ°Ð´ÑÑ. ÐÑо доволÑно неплоÑ
о ÑабоÑÐ°ÐµÑ Ð¿Ñи мÑлÑÑиплекÑиÑовании в AVI
-Ñайл, но Ñ Ð´ÑÑгими мÑлÑÑиплекÑоÑами, Ñакими как MPEG, поÑÑи гаÑанÑиÑовано
-пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº наÑÑÑÐµÐ½Ð¸Ñ A/V ÑинÑ
ÑонизаÑии. ÐÐ»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½ÑÑ
пÑоблем,
-необÑ
одимо добавиÑÑ Ð²Ð¸Ð´ÐµÐ¾ ÑилÑÑÑ <option>harddup</option> в ÐºÐ¾Ð½ÐµÑ ÑепоÑки
-ÑилÑÑÑов. ÐополниÑелÑнÑÑ ÑеÑ
ниÑеÑкÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ <option>harddup</option> можно
-найÑи в Ñазделе
-<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">УлÑÑÑение
-мÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ надежноÑÑи A/V ÑинÑ
ÑонизаÑии</link> или в man ÑÑководÑÑве.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>ÐÑеобÑазование ÑаÑÑоÑÑ Ð´Ð¸ÑкÑеÑизаÑии</title>
-
-<para>
-ÐÑли ÑаÑÑоÑа диÑкÑеÑизаÑии в оÑигиналÑном Ñайле не ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ ÑÑебÑемой в
-Ñелевом ÑоÑмаÑе, необÑ
одимо пÑеобÑазование. Ðго можно оÑÑÑеÑÑвиÑÑ, ÑовмеÑÑно
-иÑполÑзÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-srate</option> и аÑдио ÑилÑÑÑ<option>-af lavcresample</option>.
-</para>
-
-<para>
-DVD:
-<screen>-srate 48000 -af lavcresample=48000</screen>
-</para>
-
-<para>
-VCD и SVCD:
-<screen>-srate 44100 -af lavcresample=44100</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>ÐÑполÑзование libavcodec Ð´Ð»Ñ VCD/SVCD/DVD кодиÑованиÑ</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Ðведение</title>
-
-<para>
- ÐÑполÑзÑÑ ÑооÑвеÑÑÑвÑÑÑие опÑии, можно пÑименÑÑÑ
- <systemitem class="library">libavcodec</systemitem> Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ VCD/SVCD/DVD
- ÑовмеÑÑимого видео.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-
-<para>
-ÐÑо ÑпиÑок полей в <option>-lavcopts</option>, коÑоÑÑе Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ
-измениÑÑ, ÑÑÐ¾Ð±Ñ ÑоздаÑÑ ÑовмеÑÑимÑй ÑилÑм Ð´Ð»Ñ VCD, SVCD или DVD:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> Ð´Ð»Ñ VCD, SVCD, или PAL DVD;
- <option>ac3</option> наиболее ÑаÑÑо иÑполÑзÑеÑÑÑ Ð´Ð»Ñ DVD.
- ÐÐ»Ñ DVD Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ PCM, но ÑÑо, по болÑÑей ÑаÑÑи, беÑполезнаÑ
- ÑÑаÑа Ñвободного меÑÑа. ÐмейÑе в видÑ, ÑÑо MP3 аÑдио не ÑовмеÑÑимо ни Ñ Ð¾Ð´Ð½Ð¸Ð¼
- из ÑÑиÑ
ÑоÑмаÑов, но, как Ð±Ñ Ñо ни бÑло, ÑаÑÑо пÑоигÑÑваÑели не иÑпÑÑÑваÑÑ
- никакиÑ
пÑоблем Ñ ÐµÐ³Ð¾ воÑпÑоизведением.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 Ð´Ð»Ñ VCD; вплоÑÑ Ð´Ð¾ 384 Ð´Ð»Ñ SVCD; вплоÑÑ Ð´Ð¾ 1536 Ð´Ð»Ñ DVD, но
- ÑаÑпÑоÑÑÑаненнÑм ÑвлÑеÑÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ знаÑений Ð¾Ñ 192 кбиÑ/Ñ Ð´Ð»Ñ ÑÑеÑео до 384
- кбиÑ/Ñ Ð´Ð»Ñ 5.1 звÑка.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> Ð´Ð»Ñ VCD;
- <option>mpeg2video</option> Ð´Ð»Ñ SVCD;
- <option>mpeg2video</option> обÑÑно иÑполÑзÑеÑÑÑ Ð´Ð»Ñ DVD, но ÐÑ Ñакже можеÑе
- иÑполÑзоваÑÑ
- <option>mpeg1video</option> Ð´Ð»Ñ CIF ÑазÑеÑений.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- ÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑÑÑановки ÑазмеÑа GOP.
- 18 Ð´Ð»Ñ 30fps маÑеÑиала или 15 Ð´Ð»Ñ 25/24 fps маÑеÑиала.
- ÐоммеÑÑеÑкие изгоÑовиÑели, поÑ
оже, пÑедпоÑиÑаÑÑ Ð·Ð½Ð°Ñение инÑеÑвала клÑÑевÑÑ
- кадÑов, Ñавное 12. Ðожно знаÑиÑелÑно ÑвелиÑиÑÑ ÑÑо знаÑение и вÑе еÑе
- ÑоÑ
ÑанÑÑÑ ÑовмеÑÑимоÑÑÑ Ñ Ð±Ð¾Ð»ÑÑинÑÑвом пÑоигÑÑваÑелей.
- <option>keyint</option> Ñавное 25 не должно вÑзÑваÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
пÑоблем.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 Ð´Ð»Ñ VCD, 917 Ð´Ð»Ñ SVCD и 1835 Ð´Ð´Ñ DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152 Ð´Ð»Ñ VCD. ÐÐ¾Ð¶ÐµÑ Ð½Ðµ ÑказÑваÑÑÑÑ Ð´Ð»Ñ SVCD и DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 Ð´Ð»Ñ VCD; 2500 Ð´Ð»Ñ SVCD; 9800 Ð´Ð»Ñ DVD.
- ÐÐ»Ñ SVCD и DVD ÐÑ, возможно, пожелаеÑе иÑполÑзоваÑÑ Ð¼ÐµÐ½ÑÑие знаÑÐµÐ½Ð¸Ñ Ð²
- завиÑимоÑÑи Ð¾Ñ ÐаÑиÑ
лиÑнÑÑ
ÑÑебований и пÑедпоÑÑений.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 Ð´Ð»Ñ VCD;
- вплоÑÑ Ð´Ð¾ 2500 Ð´Ð»Ñ SVCD;
- вплоÑÑ Ð´Ð¾ 9800 Ð´Ð»Ñ DVD.
- ÐÐ»Ñ Ð´Ð²ÑÑ
поÑледний ÑоÑмаÑов, vbitrate ÑледÑÐµÑ ÑÑÑановиÑÑ Ð½Ð° оÑновании лиÑнÑÑ
- пÑедпоÑÑений.
- ÐапÑимеÑ, еÑли ÐÑ Ð½Ð°ÑÑаиваеÑе на ÑазмеÑении 20 или около Ñого ÑаÑов видео на
- DVD, можеÑе иÑполÑзоваÑÑ vbitrate=400.
- ÐаÑеÑÑво полÑÑивÑегоÑÑ Ð²Ð¸Ð´ÐµÐ¾, возможно, бÑÐ´ÐµÑ Ð´Ð¾Ð²Ð¾Ð»Ñно плоÑ
им.
- ÐÑли ÐÑ Ð¿ÑÑаеÑеÑÑ Ð²ÑжаÑÑ Ð¼Ð°ÐºÑималÑно возможное каÑеÑÑво на DVD, иÑполÑзÑйÑе
- vbitrate=9800, но имейÑе в видÑ, ÑÑо ÑÑо огÑаниÑÐ¸Ñ ÐÐ°Ñ Ð¼ÐµÐ½ÐµÐµ Ñем одним ÑаÑом
- видео на одноÑлойном DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vstrict</emphasis>:
- <option>vstrict</option>=0 ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ DVD.
- Ðез ÑÑой опÑии <application>MEncoder</application> ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð¿Ð¾Ñок, коÑоÑÑй не
- Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÐºÐ¾ÑÑекÑно декодиÑован некоÑоÑÑми аппаÑаÑнÑми DVD пÑоигÑÑваÑелÑми.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>ÐÑимеÑÑ</title>
-
-<para>
- ÐÑо обÑÑнÑй минималÑнÑй Ð½Ð°Ð±Ð¾Ñ <option>-lavcopts</option> Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾:
-</para>
-<para>
-VCD:
-<screen>
--lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
-vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-SVCD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
-keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-DVD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>РаÑÑиÑеннÑе опÑии</title>
-
-<para>
-ÐÐ»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ вÑÑокого каÑеÑÑва кодиÑованиÑ, ÐÑ Ñакже можеÑе
-добавиÑÑ Ð¾Ð¿Ñии lavcopts, ÑлÑÑÑаÑÑие каÑеÑÑво, Ñакие как
-<option>trell</option>, <option>mbd=2</option> и дÑÑгие.
-ÐбÑаÑиÑе внимание, ÑÑо <option>qpel</option> и <option>v4mv</option>,
-ÑаÑÑо полезнÑе Ñ MPEG-4, не пÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ñ Ðº MPEG-1 или MPEG-2.
-Также, еÑли ÐÑ Ñ
оÑиÑе вÑполниÑÑ Ð¾ÑÐµÐ½Ñ Ð²ÑÑококаÑеÑÑвенное кодиÑование
-DVD, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм добавление <option>dc=10</option> в lavcopts.
-ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð¼Ð¾ÑÑ Ð¿Ð¾Ð´Ð°Ð²Ð¸ÑÑ Ð¿Ð¾Ñвление блоков в одноÑодно окÑаÑеннÑÑ
-облаÑÑÑÑ
. ÐÐ¾Ð´Ð²Ð¾Ð´Ñ Ð¸Ñог, Ð²Ð¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð½Ð°ÑÑÑоек lavcopts длÑ
-вÑÑококаÑеÑÑвенного DVD:
-</para>
-
-<para>
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
-keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
-vqmin=1:lmin=1:dc=10:vstrict=0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>ÐодиÑование звÑка</title>
-
-<para>
-VCD и SVCD поддеÑживаÑÑ Ð·Ð²Ñк MPEG-1 layer II, иÑполÑзÑÑ Ð¾Ð´Ð½Ñ Ð¸Ð·
-<systemitem class="library">toolame</systemitem>,
-<systemitem class="library">twolame</systemitem>,
-или MP2 <systemitem class="library">libavcodec</systemitem> кодиÑовÑик.
-libavcodec MP2 не Ñак Ñ
оÑоÑ, как оÑÑалÑнÑе две библиоÑеки, однако, он должен
-бÑÑÑ Ð²Ñегда доÑÑÑпен Ð´Ð»Ñ Ð¸ÑполÑзованиÑ.
-VCD поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко звÑк Ñ Ð¿Ð¾ÑÑоÑннÑм биÑпоÑоком (CBR), в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº SVCD
-Ñакже поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¸ пеÑеменнÑй (VBR). ÐÑдÑÑе оÑÑоÑожнÑ, иÑполÑзÑÑ VBR,
-поÑколÑÐºÑ Ð½ÐµÐºÐ¾ÑоÑÑе плоÑ
ие аппаÑаÑнÑе пÑоигÑÑваÑели могÑÑ Ð½Ðµ оÑÐµÐ½Ñ Ñ
оÑоÑо его
-поддеÑживаÑÑ.
-</para>
-
-<para>
-ÐÐ»Ñ DVD звÑка иÑполÑзÑеÑÑÑ AC-3 кодек из <systemitem class="library">libavcodec</systemitem>.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-
-<para>
-ÐÐ»Ñ VCD и SVCD:
-<screen>-oac toolame -toolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-
-<para>
-ÐÐ»Ñ VCD и SVCD:
-<screen>-oac twolame -twolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-
-<para>
-ÐÐ»Ñ 2 каналÑного DVD звÑка:
-<screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
-</para>
-
-<para>
-ÐÐ»Ñ DVD Ñ 5.1 звÑком:
-<screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
-</para>
-
-<para>
-ÐÐ»Ñ VCD и SVCD:
-<screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>СобиÑÐ°Ñ Ð²Ñе вмеÑÑе</title>
-
-<para>
-ÐÑÐ¾Ñ Ñаздел демонÑÑÑиÑÑÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе полнÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ VCD/SVCD/DVD
-ÑовмеÑÑимого видео.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>PAL DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>NTSC DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>PAL AVI, ÑодеÑжаÑий AC-3 звÑк, в DVD</title>
-
-<para>
-ÐÑли иÑÑ
однÑй маÑеÑиал Ñже ÑодеÑÐ¶Ð¸Ñ AC-3 звÑк, иÑполÑзÑйÑе -oac copy вмеÑÑо
-пеÑекодиÑованиÑ.
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -ofps 25 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:aspect=16/9 -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>NTSC AVI, ÑодеÑжаÑий AC-3 звÑк, в DVD</title>
-
-<para>
-ÐÑли иÑÑ
однÑй маÑеÑиал Ñже ÑодеÑÐ¶Ð¸Ñ AC-3 звÑк и ÑвлÑеÑÑÑ NTSC @ 24000/1001 fps:
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>PAL SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>NTSC SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>PAL VCD</title>
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>NTSC VCD</title>
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>ÑилÑм.mpg</replaceable> <replaceable>ÑилÑм.avi</replaceable>
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/ru/faq.xml b/DOCS/xml/ru/faq.xml
deleted file mode 100644
index 204a4cc..0000000
--- a/DOCS/xml/ru/faq.xml
+++ /dev/null
@@ -1,1229 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r28707 -->
-<chapter id="faq" xreflabel="FAQ">
-<title>ЧаÑÑо ÐадаваемÑе вопÑоÑÑ</title>
-
-<qandaset defaultlabel="qanda">
-
-<qandadiv id="faq-development">
-<title>РазÑабоÑка</title>
-
-<qandaentry>
-<question><para>
-Ðак ÑоздаÑÑ Ð¿ÑавилÑнÑй паÑÑ Ð´Ð»Ñ <application>MPlayer</application>?
-</para></question>
-<answer><para>
-ÐÑ Ñоздали <ulink url="../../tech/patches.txt">кÑаÑкий докÑменÑ</ulink> (англ.),
-опиÑÑваÑÑий вÑе необÑ
одимÑе деÑали. ÐожалÑйÑÑа, ÑледÑйÑе инÑÑÑÑкÑиÑм.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак пеÑевеÑÑи <application>MPlayer</application> на новÑй ÑзÑк?
-</para></question>
-<answer><para>
-ÐÑоÑиÑайÑе <ulink url="../../tech/translations.txt">HOWTO по пеÑеводÑ</ulink> (англ.),
-Ñам вÑе опиÑано. Ðа дополниÑелÑной помоÑÑÑ ÐÑ Ð¼Ð¾Ð¶ÐµÑе обÑаÑиÑÑÑÑ Ð² ÑаÑÑÑлкÑ
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer-translations</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак можно помоÑÑ ÑазвиÑÐ¸Ñ <application>MPlayer</application>?
-</para></question>
-<answer><para>
-ÐÑ Ð±Ñдем более Ñем ÑÑаÑÑÐ»Ð¸Ð²Ñ Ð¿ÑинÑÑÑ
-<ulink url="http://www.mplayerhq.hu/donations.html">пожеÑÑвованиÑ</ulink> обоÑÑдованием
-и пÑогÑаммнÑм обеÑпеÑением. Ðни позволÑÑÑ Ð½Ð°Ð¼ поÑÑоÑнно ÑлÑÑÑаÑÑ
-<application>MPlayer</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑÑаÑÑ ÑазÑабоÑÑиком <application>MPlayer</application>?
-</para></question>
-<answer><para>
-ÐÑ Ð²Ñегда ÑÐ°Ð´Ñ Ð¿ÑивеÑÑÑвоваÑÑ Ð»Ñдей, занимаÑÑиÑ
ÑÑ Ð½Ð°Ð¿Ð¸Ñанием кода и докÑменÑаÑии.
-ÐÐ»Ñ Ð½Ð°Ñала пÑоÑÑиÑе <ulink url="../../tech/">ÑеÑ
ниÑеÑкÑÑ Ð´Ð¾ÐºÑменÑаÑиÑ</ulink> (англ.).
-ÐаÑем Ðам ÑледÑÐµÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑаÑÑÑÑ Ð½Ð° ÑпиÑок ÑаÑÑÑлки
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-и наÑаÑÑ Ð½Ð°Ð¿Ð¸Ñание кода. ÐÑли ÐÑ Ñ
оÑиÑе помоÑÑ Ñ Ð´Ð¾ÐºÑменÑаÑией, Ñо подпиÑиÑеÑÑ Ð½Ð°
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐоÑÐµÐ¼Ñ ÐÑ Ð½Ðµ иÑполÑзÑеÑе autoconf/automake?
-</para></question>
-<answer><para>
-У Ð½Ð°Ñ ÐµÑÑÑ Ð¼Ð¾Ð´ÑлÑнаÑ, напиÑÐ°Ð½Ð½Ð°Ñ Ð²ÑÑÑнÑÑ ÑиÑÑема ÑбоÑки. Ðна Ñ
оÑоÑо ÑпÑавлÑеÑÑÑ
-Ñо Ñвоей ÑабоÑой, заÑем же ее менÑÑÑ? ÐÑоме Ñого, нам, как и
-<ulink url="http://freshmeat.net/articles/view/889/">некоÑоÑÑм дÑÑгим</ulink>, не нÑавÑÑÑÑ
-auto* ÑÑилиÑÑ.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-compilation-installation">
-<title>ÐомпилÑÑÐ¸Ñ Ð¸ ÑÑÑановка</title>
-<qandaentry>
-<question><para>
-ÐомпилÑÑÐ¸Ñ Ð·Ð°Ð²ÐµÑÑаеÑÑÑ Ñ Ð¾Ñибкой и <application>gcc</application> вÑваливаеÑÑÑ
-Ñ Ð·Ð°Ð³Ð°Ð´Ð¾ÑнÑм ÑообÑением, ÑодеÑжаÑим ÑÑазÑ
-<systemitem>internal compiler error</systemitem> или
-<systemitem>unable to find a register to spill</systemitem> или
-<systemitem>can't find a register in class 'GENERAL_REGS'
-while reloading 'asm'</systemitem>.
-</para></question>
-<answer><para>
-ÐÑ ÑÑолкнÑлиÑÑ Ñ Ð¾Ñибкой в <application>gcc</application>. ÐожалÑйÑÑа,
-<ulink url="http://gcc.gnu.org/bugs.html">ÑообÑиÑе об ÑÑом ÑазÑабоÑÑикам gcc</ulink>
-но не нам. Ð ÑÐ¸Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
пÑиÑин <application>MPlayer</application>, поÑ
оже,
-ÑаÑÑо вÑзÑÐ²Ð°ÐµÑ Ð¾Ñибки компилÑÑоÑа. Тем не менее, Ð¼Ñ Ð½Ðµ можем иÑ
иÑпÑавиÑÑ, но и
-добавлÑÑÑ ÑпеÑиалÑнÑй код Ð´Ð»Ñ Ð¾Ð±Ñ
ода оÑибок компилÑÑоÑа не бÑдем.
-ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑÑой пÑоблемÑ, либо иÑполÑзÑйÑе надежнÑÑ Ð¸ ÑÑабилÑнÑÑ Ð²ÐµÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑа, либо
-ÑаÑÑо обновлÑйÑеÑÑ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-СÑÑеÑÑвÑÑÑ Ð»Ð¸ бинаÑнÑе (RPM/Debian) пакеÑÑ <application>MPlayer</application>?
-</para></question>
-<answer><para>
-СмоÑÑиÑе ÑÐ°Ð·Ð´ÐµÐ»Ñ <link linkend="debian">Debian</link> и <link linkend="rpm">RPM</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑобÑаÑÑ 32-Ñ
биÑнÑÑ Ð²ÐµÑÑÐ¸Ñ <application>MPlayer</application> на 64-Ñ
биÑном Athlon?
-</para></question>
-<answer><para>
-ÐопÑобÑйÑе ÑледÑÑÑие опÑии configure:
-<screen>
-./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Configure завеÑÑаеÑÑÑ Ñ ÑказаннÑм ÑообÑением, и <application>MPlayer</application>
-не компилиÑÑеÑÑÑ!
-<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
-</para></question>
-<answer><para>
-ÐÐ°Ñ gcc некоÑÑекÑно ÑÑÑановлен, пÑовеÑÑÑе <filename>config.log</filename>
-Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ подÑобной инÑоÑмаÑии.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Я Ð¸Ð¼ÐµÑ Matrox G200/G400/G450/G550, как мне ÑкомпилиÑоваÑÑ/иÑполÑзоваÑÑ
-<systemitem>mga_vid</systemitem> дÑайвеÑ?
-</para></question>
-<answer><para>
-ÐÑоÑиÑайÑе Ñаздел <link linkend="mga_vid">mga_vid</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðа ÑÑапе 'make', <application>MPlayer</application> жалÑеÑÑÑ Ð½Ð° оÑÑÑÑÑÑвÑÑÑие
-библиоÑеки X11. Я не понимаÑ, Ð²ÐµÐ´Ñ X11 Ñ Ð¼ÐµÐ½Ñ <emphasis>ÑÑÑановлен</emphasis>!?
-</para></question>
-<answer><para>
-... но ÐÑ Ð½Ðµ имееÑе ÑÑÑановленнÑÑ
пакеÑов ÑазÑабоÑки X11. Ðибо они ÑÑÑановленÑ
-некоÑÑекÑно. Ðни назÑваÑÑÑÑ <filename>XFree86-devel*</filename> в Red Hat,
-<filename>xlibs-dev</filename> в Debian Woody и
-<filename>libx11-dev</filename> в Debian Sarge. Также пÑовеÑÑÑе ÑÑÑеÑÑвÑÑÑ Ð»Ð¸
-ÑимволиÑеÑкие ÑÑÑлки <filename class="directory">/usr/X11</filename> и
-<filename class="directory">/usr/include/X11</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-СбоÑка в Mac OS 10.3 пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº неÑколÑким оÑибкам линковки.
-</para></question>
-<answer>
-<para>
-Ðак пÑавило, оÑибка линковки вÑглÑÐ´Ð¸Ñ Ñак:
-<screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
-</screen>
-ÐÑа пÑоблема — ÑезÑлÑÑÐ°Ñ ÑазÑабоÑÑиков Apple, иÑполÑзÑÑÑиÑ
10.4 Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии иÑ
пÑогÑамм и
-ÑаÑпÑоÑÑÑанÑÑÑиÑ
бинаÑники полÑзоваÑелÑм 10.3 ÑеÑез Software Update.
-ÐеопÑеделÑннÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¿ÑиÑÑÑÑÑвÑÑÑ Ð² 10.4, но иÑ
Ð½ÐµÑ Ð² 10.3.
-Ðдно из ÑеÑений — оÑÐºÐ°Ñ QuickTime до веÑÑии 7.0.1, но еÑÑÑ Ð¸ лÑÑÑее.
-</para>
-<para>
-ÐагÑÑзиÑе
-<ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">более ÑÑаÑÑÑ Ð²ÐµÑÑÐ¸Ñ ÑÑеймвоÑка</ulink>.
-ÐÑ Ð¿Ð¾Ð»ÑÑиÑе аÑÑ
ив, ÑодеÑжаÑий ÑÑеймвоÑк QuickTime 7.0.1 и QuartzCore 10.3.9.
-</para>
-<para>
-РаÑпакÑйÑе Ñайл кÑда-нибÑдÑ, кÑоме папки System (Ñ.е. не ÑÑÑанавливайÑе ÑÑи пÑогÑаммÑ
-в. <filename class="directory">/System/Library/Frameworks</filename>!
-ÐÑа ÑÑаÑÐ°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð½Ñжна ÑолÑко Ð´Ð»Ñ ÑеÑÐµÐ½Ð¸Ñ Ð¿Ñоблем Ñ Ð»Ð¸Ð½ÐºÐ¾Ð²ÐºÐ¾Ð¹!)
-<screen>gunzip < CompatFrameworks.tgz | tar xvf -</screen>
-Ð config.mak ÑледÑÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ
-<systemitem>-F/path/to/where/you/extracted</systemitem>
-к пеÑеменной <systemitem>OPTFLAGS</systemitem>.
-ÐÑи иÑполÑзовании <application>X-Code</application> ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑоÑÑо вÑбÑаÑÑ ÑÑи ÑÑеймвоÑки
-вмеÑÑо ÑиÑÑемнÑÑ
.
-</para>
-<para>
-ÐолÑÑивÑийÑÑ Ð±Ð¸Ð½Ð°ÑнÑй <application>MPlayer</application> бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÑÑеймвоÑк,
-ÑÑÑановленнÑй в ÐаÑей ÑиÑÑеме, иÑполÑзÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑкие ÑÑÑлки вÑемени иÑполнениÑ.
-(ÐÑо можно пÑовеÑиÑÑ, запÑÑÑив <systemitem>otool -l</systemitem>).
-</para>
-</answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-general">
-<title>ÐбÑие вопÑоÑÑ</title>
-
-<qandaentry>
-<question><para>
-ÐÑÑÑ Ð»Ð¸ ÑпиÑки ÑаÑÑÑлки, поÑвÑÑеннÑе <application>MPlayer</application>?
-</para></question>
-<answer><para>
-Ðа. СмоÑÑиÑе Ñаздел <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">ÑпиÑки ÑаÑÑÑлки</ulink>
-наÑего ÑайÑа.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Я обнаÑÑжил непÑиÑÑнÑÑ Ð¾ÑибкÑ, поÑвлÑÑÑÑÑÑÑ Ð¿Ñи пÑоÑмоÑÑе моего лÑбимого ÑилÑма!
-ÐÐ¾Ð¼Ñ Ð¼Ð½Ðµ ÑледÑÐµÑ ÑообÑиÑÑ Ð¾Ð± ÑÑом?
-</para></question>
-<answer><para>
-ÐÑоÑÑиÑе
-<link linkend="bugreports">ÑÑководÑÑво по ÑоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑÑеÑов об оÑибкаÑ
</link>
-и ÑледÑйÑе инÑÑÑÑкÑиÑм.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-У Ð¼ÐµÐ½Ñ Ð¿ÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð´Ð°Ð¼Ð¿ ÑдÑа пÑи попÑÑке ÑоздаÑÑ Ð´Ð°Ð¼Ð¿ поÑоков, ÑÑо
-не Ñак?
-</para></question>
-<answer><para>
-Ðе паникÑйÑе. УбедиÑеÑÑ, ÑÑо знаеÑе где ÐаÑе полоÑенÑе.</para>
-<para>
-СеÑÑÑзно, обÑаÑиÑе внимание на Ñмайлик и иÑиÑе ÑайлÑ,
-оканÑиваÑÑиеÑÑ Ð½Ð°
-<filename>.dump</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-РнаÑале воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑвлÑеÑÑÑ ÑледÑÑÑее ÑообÑение, Ñ
оÑÑ Ð²Ñе
-вÑоде Ð±Ñ ÑабоÑÐ°ÐµÑ Ð¿ÑекÑаÑно:
-<screen>ÐÑибка иниÑиализаÑии Linux RTC в ioctl (rtc_pie_on): Permission denied</screen>
-</para></question>
-<answer><para>
-ЧÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ RTC Ñайминг, Ðам необÑ
одимо ÑпеÑиалÑно наÑÑÑоенное ÑдÑо.
-ÐодÑобноÑÑи иÑиÑе в Ñазделе <link linkend="rtc">RTC</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑделаÑÑ ÑкÑинÑоÑ??
-</para></question>
-<answer><para>
-ЧÑÐ¾Ð±Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑделаÑÑ ÑкÑинÑоÑ, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑ Ð´ÑайвеÑ
-вÑвода видео, коÑоÑÑй не иÑполÑзÑÐµÑ Ð¾Ð²ÐµÑлей.
-Ð X11 ÑÑо <option>-vo x11</option>, в Windows иÑполÑзÑйÑе
-<option>-vo directx:noaccel</option>.
-</para>
-<para>
-ÐÑÑÑ Ð¸ дÑÑгой ÑпоÑоб. ÐапÑÑÑиÑе <application>MPlayer</application> Ñ Ð²Ð¸Ð´ÐµÐ¾ ÑилÑÑÑом
-<systemitem>screenshot</systemitem>
-(<option>-vf screenshot</option>), и нажмиÑе клавиÑÑ <keycap>s</keycap> длÑ
-ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑкÑинÑоÑа.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðаков ÑмÑÑл ÑиÑел в ÑÑаÑÑÑной ÑÑÑоке?
-</para></question>
-<answer><para>
-ÐÑимеÑ:
-<screen>
-A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>A: 2.1</systemitem></term>
- <listitem><para>позиÑÐ¸Ñ Ð°Ñдио в ÑекÑндаÑ
</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>V: 2.2</systemitem></term>
- <listitem><para>позиÑÐ¸Ñ Ð²Ð¸Ð´ÐµÐ¾ в ÑекÑндаÑ
</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V: -0.167</systemitem></term>
- <listitem><para>Ñдвиг аÑдио-видео в ÑекÑндаÑ
(задеÑжка)</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>ct: 0.042</systemitem></term>
- <listitem><para>иÑÐ¾Ð³Ð¾Ð²Ð°Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð½Ð°Ñ ÐºÐ¾ÑÑекÑÐ¸Ñ A-V ÑинÑ
ÑонизаÑии</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>57/57</systemitem></term>
- <listitem><para>
- кадÑов пÑоигÑано/декодиÑовано (ÑÑиÑÐ°Ñ Ð¾Ñ Ð¼ÐµÑÑа поÑледней пеÑемоÑки)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>41%</systemitem></term>
- <listitem><para>
- вÑÐµÐ¼Ñ CPU в пÑоÑенÑаÑ
, иÑполÑзÑемое видео кодеком
- (Ð´Ð»Ñ Ð¿Ð¾Ð±Ð»Ð¾Ñного и пÑÑмого ÑендеÑинга ÑÑда вклÑÑаеÑÑÑ Ð¸ video_out)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0%</systemitem></term>
- <listitem><para>вÑÐµÐ¼Ñ CPU, иÑполÑзÑемое video_out</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2.6%</systemitem></term>
- <listitem><para>вÑÐµÐ¼Ñ CPU в пÑоÑенÑаÑ
, иÑполÑзÑемое аÑдио кодеком</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>0</systemitem></term>
- <listitem><para>вÑбÑоÑено кадÑов Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑинÑ
ÑонизаÑии A-V</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>4</systemitem></term>
- <listitem><para>
- ÑекÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿Ð¾ÑÑобÑабоÑки (пÑи иÑполÑзовании
- <option>-autoq</option>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>49%</systemitem></term>
- <listitem><para>
- ÑекÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа. (ноÑмалÑное знаÑение — около 50%)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>1.00x</systemitem></term>
- <listitem><para>
- ÑкоÑоÑÑÑ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ (множиÑÐµÐ»Ñ Ð¾Ñ Ð½Ð¾ÑмалÑной ÑкоÑоÑÑи)
- </para></listitem>
-</varlistentry>
-</variablelist>
-ÐолÑÑинÑÑво из ниÑ
иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ Ð¾Ñладки, иÑполÑзÑйÑе опÑÐ¸Ñ <option>-quiet</option>
-ÑÑÐ¾Ð±Ñ Ð¸Ñ
ÑкÑÑÑÑ. ÐмейÑе ввидÑ, ÑÑо Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
Ñайлов иÑполÑзование CPU модÑлем video_out
-Ñавно нÑÐ»Ñ (0%). Ðело в Ñом, ÑÑо иногда он вÑзÑваеÑÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно из кодека и не можеÑ
-бÑÑÑ Ð¸Ð·Ð¼ÐµÑен оÑделÑно. ÐÑли ÐÑ Ñ
оÑиÑе ÑзнаÑÑ ÑкоÑоÑÑÑ video_out в ÑÑом ÑлÑÑае, ÑÑавниÑе
-ÑазниÑÑ Ð¿Ñи воÑпÑоизведении Ñ <option>-vo null</option> и ÐаÑим дÑайвеÑом вÑвода видео.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐоÑвлÑеÑÑÑ ÑообÑение, ÑÑо не найден Ñайл
-<filename>/usr/local/lib/codecs/</filename> ...
-</para></question>
-<answer><para>
-ÐагÑÑзиÑе и ÑÑÑановиÑе бинаÑнÑе кодеки Ñ Ð½Ð°Ñей
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">ÑÑÑаниÑÑ Ð·Ð°Ð³ÑÑзки</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑделаÑÑ, ÑÑÐ¾Ð±Ñ <application>MPlayer</application> запомнил мои оÑобÑе опÑии
-Ð´Ð»Ñ Ð¾Ð¿Ñеделенного Ñайла, напÑÐ¸Ð¼ÐµÑ <filename>movie.avi</filename>?
-</para></question>
-<answer><para>
-СоздайÑе Ñайл Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ <filename>movie.avi.conf</filename> и ÐаÑими опÑиÑми в нем,
-ÑоÑ
ÑаниÑе его в каÑалог <filename class="directory">~/.mplayer</filename>
-или в один каÑалог Ñ Ð¼ÐµÐ´Ð¸Ð°-Ñайлом.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-СÑбÑиÑÑÑ Ð²ÐµÐ»Ð¸ÐºÐ¾Ð»ÐµÐ¿Ð½Ñе, лÑÑÑие из виденнÑÑ
когда-либо, но они замедлÑÑÑ
-воÑпÑоизведение! Я знаÑ, ÑÑо необÑÑно...
-</para></question>
-<answer><para>
-ÐоÑле запÑÑка <filename>./configure</filename>,
-оÑÑедакÑиÑÑйÑе <filename>config.h</filename>
-и замениÑе <systemitem>#undef FAST_OSD</systemitem> на
-<systemitem>#define FAST_OSD</systemitem>. ÐеÑекомпилиÑÑйÑе.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак запÑÑÑиÑÑ <application>MPlayer</application> в Ñоновом Ñежиме?
-</para></question>
-<answer><para>
-ÐÑполÑзÑйÑе:
-<screen>
-mplayer <replaceable>опÑии</replaceable> <replaceable>имÑ_Ñайла</replaceable> < /dev/null &
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-playback">
-<title>ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð²Ð¾ÑпÑоизведениÑ</title>
-
-<qandaentry>
-<question><para>
-Ðе Ð¼Ð¾Ð³Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°ÑÑ Ð¿ÑиÑÐ¸Ð½Ñ Ð½ÐµÐºÐ¾ÑоÑой ÑÑÑанной пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¿ÑоизведениÑ.
-</para></question>
-<answer><para>
-ÐавалÑлÑÑ Ñайл <filename>codecs.conf</filename> в
-<filename>~/.mplayer/</filename>, <filename>/etc/</filename>,
-<filename>/usr/local/etc/</filename> или в аналогиÑном меÑÑе? УдалиÑе его,
-УÑÑаÑевÑий <filename>codecs.conf</filename> Ð¼Ð¾Ð¶ÐµÑ ÑÑаÑÑ Ð¿ÑиÑиной непонÑÑнÑÑ
-пÑоблем и пÑедназнаÑаеÑÑÑ ÑолÑко Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑазÑабоÑÑиками,
-занимаÑÑимиÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжкой кодеков. Ðн пеÑеопÑеделÑÐµÑ Ð²Ð½ÑÑÑенние наÑÑÑойки кодеков
-<application>MPlayer</application>'а, ÑÑо не ÑÑÐ»Ð¸Ñ Ð½Ð¸Ñего Ñ
оÑоÑего, еÑли
-в новÑÑ
веÑÑиÑÑ
пÑогÑÐ°Ð¼Ð¼Ñ Ð²Ð½ÐµÑÐµÐ½Ñ Ð½ÐµÑовмеÑÑимÑе изменениÑ.
-ÐÑи иÑполÑзовании неÑкÑпеÑÑами, ÑÑо веÑнÑй пÑÑÑ Ðº, на пеÑвÑй взглÑд, ÑлÑÑайнÑм и
-неподдаÑÑимÑÑ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñии кÑаÑ
ам и пÑоблемам воÑпÑоизведениÑ.
-ÐÑли ÑÑÐ¾Ñ Ñайл пÑиÑÑÑÑÑвÑÐµÑ Ð³Ð´Ðµ-либо в ÐаÑей ÑиÑÑеме, ÑдалиÑе его.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак наÑÑÑоиÑÑ ÑÑбÑиÑÑÑ Ð´Ð»Ñ Ð²Ñвода на ÑеÑнÑÑ
полÑÑ
вокÑÑг изобÑажениÑ?
-</para></question>
-<answer><para>
-ÐоÑполÑзÑйÑеÑÑ Ð²Ð¸Ð´ÐµÐ¾ ÑилÑÑÑом <systemitem>expand</systemitem> Ð´Ð»Ñ ÑвелиÑÐµÐ½Ð¸Ñ Ð¾Ð±Ð»Ð°ÑÑи
-ÑендеÑинга по веÑÑикали и ÑазмеÑÑиÑе изобÑажение Ñ Ð²ÐµÑÑ
ней кÑомки:
-<screen>mplayer -vf expand=0:-100:0:0 -slang de dvd://1</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак вÑбÑаÑÑ Ð´Ð¾Ñожки звÑка/ÑÑбÑиÑÑов в DVD, OGM, Matroska или NUT Ñайле?
-</para></question>
-<answer><para>
-ÐÑжно иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-aid</option> (аÑдио ID) или <option>-alang</option>
-(ÑзÑк аÑдио), <option>-sid</option> (ID ÑÑбÑиÑÑов) или <option>-slang</option>
-(ÑзÑк ÑÑбÑиÑÑов), напÑимеÑ:
-<screen>
-mplayer -alang eng -slang eng <replaceable>example.mkv</replaceable>
-mplayer -aid 1 -sid 1 <replaceable>example.mkv</replaceable>
-</screen>
-ÐоÑмоÑÑеÑÑ ÑпиÑок доÑÑÑпнÑÑ
:
-<screen>
-mplayer -vo null -ao null -frames 0 -v <replaceable>имÑ_Ñайла</replaceable> | grep sid
-mplayer -vo null -ao null -frames 0 -v <replaceable>имÑ_Ñайла</replaceable> | grep aid
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑÑаÑÑÑ Ð²Ð¾ÑпÑоизвеÑÑи поÑок ÑеÑез инÑеÑнеÑ, но ниÑего не полÑÑаеÑÑÑ.
-</para></question>
-<answer><para>
-ÐопÑобÑйÑе воÑпÑоизвеÑÑи поÑок Ñ Ð¾Ð¿Ñией <option>-playlist</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Я загÑÑзил ÑилÑм из P2P ÑеÑи, но он не ÑабоÑаеÑ!
-</para></question>
-<answer><para>
-У ÐÐ°Ñ Ð¸ÑпоÑÑеннÑй или подделÑнÑй Ñайл. ÐÑли ÐÑ Ð¿Ð¾Ð»ÑÑили его Ð¾Ñ Ð´ÑÑзей, коÑоÑÑе
-ÑÑвеÑждаÑÑ, ÑÑо он ÑабоÑаеÑ, пÑовеÑÑÑе конÑÑолÑнÑÑ ÑÑÐ¼Ð¼Ñ <application>md5sum</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-У Ð¼ÐµÐ½Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð¾ÑобÑажением ÑÑбÑиÑÑов, помогиÑе!
-</para></question>
-<answer><para>
-УбедиÑеÑÑ, ÑÑо ÑÑиÑÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð¿ÑавилÑно. Снова пÑойдиÑе вÑе Ñаги ÑаÑÑи
-<link linkend="fonts-osd">ШÑиÑÑÑ Ð¸ OSD</link> Ñаздела, поÑвÑÑенного ÑÑÑановке.
-ÐÑли иÑполÑзÑеÑе TrueType ÑÑиÑÑÑ, пÑовеÑÑÑе, ÑÑо ÑÑÑановлена
-библиоÑека <systemitem class="library">FreeType</systemitem>.
-СÑÐ¾Ð¸Ñ Ñакже пÑовеÑиÑÑ ÐаÑи ÑÑбÑиÑÑÑ Ð¿Ñи помоÑи ÑекÑÑового ÑедакÑоÑа или
-ÑÑоÑоннего пÑоигÑÑваÑелÑ. ÐопÑобÑйÑе пÑеобÑазоваÑÑ Ð¸Ñ
в дÑÑгой ÑоÑмаÑ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐоÑÐµÐ¼Ñ <application>MPlayer</application> не ÑабоÑÐ°ÐµÑ Ð² Fedora Core?
-</para></question>
-<answer><para>
-Ðз-за плоÑ
ого взаимодейÑÑÐ²Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ exec-shield, prelink и лÑбÑм пÑиложением, иÑполÑзÑÑÑим
-Windows DLLs (Ñаким как <application>MPlayer</application>).
-</para>
-<para>
-ÐÑоблема в Ñом, ÑÑо exec-shield Ð´ÐµÐ»Ð°ÐµÑ ÑлÑÑайнÑми адÑеÑа загÑÑзки вÑеÑ
ÑиÑÑемнÑÑ
-библиоÑек. Смена адÑеÑов пÑоизводиÑÑÑ Ð½Ð° ÑÑадии prelink (один Ñаз каждÑе две недели).
-</para>
-<para>
-Ðогда <application>MPlayer</application> пÑÑаеÑÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Windows DLL, он Ñ
оÑеÑ
-помеÑÑиÑÑ ÐµÐµ по опÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ (0x400000). ÐÑли Ñам Ñже наÑ
одиÑÑÑ Ð²Ð°Ð¶Ð½Ð°Ñ
-ÑиÑÑÐµÐ¼Ð½Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека, <application>MPlayer</application> ÑÑÑ
неÑ.
-(ТипиÑнÑе ÑимпÑÐ¾Ð¼Ñ — segmentation fault пÑи попÑÑке воÑпÑоизвеÑÑи ÑайлÑ
-Windows Media 9.)
-</para>
-<para>
-ÐÑли ÑÑолкнÑлиÑÑ Ñ ÑÑой пÑоблемой, Ñо Ñ ÐÐ°Ñ ÐµÑÑÑ Ð´Ð²Ð° ваÑианÑа:
-<itemizedlist>
-<listitem><para>
- ÐодождаÑÑ Ð¿Ð°ÑÑ Ð½ÐµÐ´ÐµÐ»Ñ. ÐÑе Ð¼Ð¾Ð¶ÐµÑ Ñнова заÑабоÑаÑÑ.
-</para></listitem>
-<listitem>
- <para>
- СлинковаÑÑ Ð²Ñе бинаÑники в ÑиÑÑеме Ñ ÑазлиÑнÑми prelink опÑиÑми.
- ÐÐ¾Ñ Ð¿Ð¾ÑÐ°Ð³Ð¾Ð²Ð°Ñ Ð¸Ð½ÑÑÑÑкÑиÑ:
- </para>
- <procedure>
- <step><para>
- ÐÑÑедакÑиÑÑйÑе <filename>/etc/syconfig/prelink</filename> и измениÑе
- <programlisting>PRELINK_OPTS=-mR</programlisting> на
- <programlisting>PRELINK_OPTS="-mR --no-exec-shield"</programlisting>
- </para></step>
- <step><para>
- <command>touch /var/lib/misc/prelink.force</command>
- </para></step>
- <step><para>
- <command>/etc/cron.daily/prelink</command>
- (ÐÑо пеÑелинкÑÐµÑ Ð²Ñе пÑиложениÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð½ÑÑÑ Ð´Ð»Ð¸ÑелÑное вÑемÑ.)
- </para></step>
- <step><para>
- <command>execstack -s <replaceable>/path/to/</replaceable>mplayer</command>
- (ÐÑо оÑклÑÑÐ¸Ñ exec-shield Ð´Ð»Ñ Ð¸ÑполнÑемого Ñайла <application>MPlayer</application>.)
- </para></step>
- </procedure>
-</listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-<application>MPlayer</application> ÑмиÑÐ°ÐµÑ Ñ ÑообÑением:
-<screen>MPlayer пÑеÑван Ñигналом 4 в модÑле: decode_video</screen>
-</para></question>
-<answer><para>
-Ðе иÑполÑзÑйÑе <application>MPlayer</application> на пÑоÑеÑÑоÑе, оÑлиÑном Ð¾Ñ Ñого,
-на коÑоÑом он компилиÑовалÑÑ, либо пеÑекомпилиÑÑйÑе Ñ Ð¾Ð¿Ñеделением CPU "на леÑÑ"
-(<command>./configure --enable-runtime-cpudetection</command>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑи попÑÑке заÑ
ваÑа Ñ ÑÑнеÑа, вÑе ÑабоÑаеÑ, но ÑвеÑа — непÑавилÑнÑе. С дÑÑгими пÑиложениÑми
-вÑе в поÑÑдке.
-</para></question>
-<answer><para>
-ÐаÑа каÑÑа, веÑоÑÑно, ÑообÑÐ°ÐµÑ Ð¾ некоÑоÑом пÑоÑÑÑанÑÑве ÑвеÑов как поддеÑживаемом, Ñ
оÑÑ Ð½Ð° Ñамом
-деле его не поддеÑживаеÑ. ÐопÑобÑйÑе Ñ YUY2 вмеÑÑо YV12 по ÑмолÑÐ°Ð½Ð¸Ñ (ÑмоÑÑиÑе
-ÑекÑÐ¸Ñ <link linkend="tv-input">TV</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐолÑÑÐ°Ñ ÑÑÑаннÑе пÑоÑенÑнÑе знаÑÐµÐ½Ð¸Ñ (ÑлиÑком болÑÑие) пÑи пÑоигÑÑвании Ñайлов на ноÑÑбÑке.
-</para></question>
-<answer><para>
-ÐÑо ÑÑÑÐµÐºÑ ÑиÑÑÐµÐ¼Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑнеÑгопоÑÑеблением ноÑÑбÑка (BIOS, не ÑдÑа).
-ÐодÑоединиÑе ÑазÑем внеÑнего пиÑÐ°Ð½Ð¸Ñ <emphasis role="bold">до</emphasis>
-вклÑÑÐµÐ½Ð¸Ñ Ð½Ð¾ÑÑбÑка. Также можно попÑобоваÑÑ
-<ulink url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html">cpufreq</ulink> (SpeedStep инÑеÑÑÐµÐ¹Ñ Ð´Ð»Ñ Linux),
-возможно ÑÑо поможеÑ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑдио/видео ÑеÑÑÑÑ ÑинÑ
ÑонизаÑиÑ, пÑи запÑÑке <application>MPlayer</application>
-Ñ Ð¿Ñавами root на ноÑÑбÑке. ÐÑи запÑÑке Ñ Ð¿Ñавами обÑÑного полÑзоваÑÐµÐ»Ñ Ð²Ñе ÑабоÑаеÑ
-ноÑмалÑно.
-</para></question>
-<answer><para>
-ÐÑо Ñоже ÑÑÑÐµÐºÑ ÑиÑÑÐµÐ¼Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑнеÑгопоÑÑеблением (ÑмоÑÑиÑе вÑÑе).
-ÐодÑоединиÑе ÑазÑем внеÑнего пиÑÐ°Ð½Ð¸Ñ <emphasis role="bold">до</emphasis>
-вклÑÑÐµÐ½Ð¸Ñ Ð½Ð¾ÑÑбÑка либо ÑбедиÑеÑÑ, ÑÑо не иÑполÑзÑеÑÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-rtc</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑи воÑпÑоизведении ÑилÑма изобÑажение вдÑÑг наÑÐ¸Ð½Ð°ÐµÑ Ð´ÐµÑгаÑÑÑÑ Ð¸ поÑвлÑеÑÑÑ
-ÑледÑÑÑее ÑообÑение:
-<screen>ÐбнаÑÑжен плоÑ
о 'ÑлоÑнÑй' AVI Ñайл - пеÑеклÑÑаÑÑÑ Ð² -ni Ñежим...</screen>
-</para></question>
-<answer><para>
-Ð¤Ð°Ð¹Ð»Ñ Ñ Ð½ÐµÐºÐ¾ÑÑекÑнÑм ÑеÑедованием и опÑиÑ
-<option>-cache</option> вмеÑÑе ÑабоÑаÑÑ Ð½Ðµ оÑÐµÐ½Ñ Ñ
оÑоÑо.
-ÐопÑобÑйÑе <option>-nocache</option>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-driver">
-<title>ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð´ÑайвеÑов вÑвода видео/аÑдио (vo/ao)</title>
-
-<qandaentry>
-<question><para>
-ÐÑи запÑÑке в полноÑкÑанном Ñежиме, наблÑдаÑÑÑÑ ÑеÑнÑе полоÑÑ Ð²Ð¾ÐºÑÑг изобÑажениÑ
-вмеÑÑо полноÑкÑанного маÑÑÑабиÑованиÑ.
-</para></question>
-<answer><para>
-ÐÐ°Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода видео аппаÑаÑно не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¼Ð°ÑÑÑабиÑование, и, поÑколÑкÑ
-пÑогÑаммное маÑÑÑабиÑование Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑжаÑно медленнÑм,
-<application>MPlayer</application> не задейÑÑвÑÐµÑ ÐµÐ³Ð¾ авÑомаÑиÑеÑки.
-СкоÑее вÑего ÐÑ Ð¸ÑполÑзÑеÑе дÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода <systemitem>x11</systemitem> вмеÑÑо
-<systemitem>xv</systemitem>.
-ÐопÑобÑйÑе ÑказаÑÑ <option>-vo xv</option> в командной ÑÑÑоке или
-пÑоÑÑиÑе <link linkend="video">Ñаздел видео</link>, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ Ð¾ дÑÑгиÑ
-дÑайвеÑаÑ
вÑвода видео. ÐпÑÐ¸Ñ <option>-zoom</option> Ñвно задейÑÑвÑеÑ
-пÑогÑаммное маÑÑÑабиÑование.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Я ÑолÑко ÑÑо ÑÑÑановил <application>MPlayer</application>. ÐопÑÑка оÑкÑÑÑÑ Ñайл
-пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑаÑалÑной оÑибке:
-<screen>ÐÑибка пÑи оÑкÑÑÑии/иниÑиализаÑии вÑбÑанного ÑÑÑÑойÑÑва видеовÑвода (-vo).</screen>
-Ðак ÑеÑиÑÑ Ð¿ÑоблемÑ?
-</para></question>
-<answer><para>
-ÐÑоÑÑо ÑмениÑе дÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода видео. ÐведиÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑпиÑка
-доÑÑÑпнÑÑ
дÑайвеÑов:
-<screen>mplayer -vo help</screen>
-Ðак ÑолÑко вÑбеÑиÑе пÑавилÑнÑй дÑайвеÑ, добавÑÑе его в Ñайл конÑигÑÑаÑии. ÐобавÑÑе
-<programlisting>
-vo = <replaceable>вÑбÑаннÑй_дÑайвеÑ</replaceable>
-</programlisting>
-в <filename>~/.mplayer/config</filename> и/или
-<programlisting>
-vo_driver = <replaceable>вÑбÑаннÑй_дÑайвеÑ</replaceable>
-</programlisting>
-в <filename>~/.mplayer/gui.conf</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-У Ð¼ÐµÐ½Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ <replaceable>[ÐÐ°Ñ Ð¾ÐºÐ¾Ð½Ð½Ñй менеджеÑ]</replaceable> и
-полноÑкÑаннÑм Ñежимом xv/xmga/sdl/x11 ...
-</para></question>
-<answer><para>
-ÐÑоÑÑиÑе <link linkend="bugreports">ÑÑководÑÑво по ÑоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑÑеÑов об оÑибкаÑ
</link>
-и оÑоÑлиÑе ÑооÑвеÑÑÑвÑÑÑий оÑÑÐµÑ Ð½Ð°Ð¼.
-ÐопÑобÑйÑе Ñакже поÑкÑпеÑименÑиÑоваÑÑ Ð² опÑией <option>-fstype</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ТеÑÑеÑÑÑ ÑинÑ
ÑонизаÑÐ¸Ñ Ð·Ð²Ñка пÑи воÑпÑоизведении AVI Ñайла.
-</para></question>
-<answer><para>
-ÐопÑобÑйÑе опÑÐ¸Ñ <option>-bps</option> или <option>-nobps</option>. ÐÑли ÑÑо не помогаеÑ
-пÑоÑÑиÑе <link linkend="bugreports">ÑÑководÑÑво по ÑоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑÑеÑов об оÑибкаÑ
</link>
-и загÑÑзиÑе ÑÑÐ¾Ñ Ñайл на Ð½Ð°Ñ FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак иÑполÑзоваÑÑ <application>dmix</application> Ñ
-<application>MPlayer</application>?
-</para></question>
-<answer><para>
-ÐоÑле наÑÑÑойки
-<ulink url="http://alsa.opensrc.org/index.php?page=DmixPlugin">asoundrc</ulink>
-иÑполÑзÑйÑе <option>-ao alsa:device=dmix</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÐµÑ Ð·Ð²Ñка пÑи воÑпÑоизведении видео и поÑвлÑеÑÑÑ Ð¾Ñибка Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð°Ñ ÑÑой:
-<screen>
-AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
-[AO OSS] иниÑиализаÑÐ¸Ñ Ð°Ñдио: Ðе Ð¼Ð¾Ð³Ñ Ð¾ÑкÑÑÑÑ Ð°ÑдиоÑÑÑÑойÑÑво /dev/dsp: Device or resource busy
-Ðе Ð¼Ð¾Ð³Ñ Ð¾ÑкÑÑÑÑ/иниÑиализиÑоваÑÑ Ð°ÑдиоÑÑÑÑойÑÑво -> без звÑка.
-ÐÑдио: без звÑка
-ÐаÑало воÑпÑоизведениÑ...
-</screen>
-</para></question>
-<answer><para>
-ÐÑполÑзÑеÑе KDE или GNOME Ñо звÑковÑми ÑлÑжбами aRts или ESD?
-ÐопÑобÑйÑе оÑклÑÑиÑÑ ÑлÑÐ¶Ð±Ñ Ð·Ð²Ñка или иÑполÑзÑйÑе <option>-ao arts</option> или
-<option>-ao esd</option> опÑии, Ð´Ð»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ <application>MPlayer</application>
-иÑполÑзоваÑÑ aRts или ESD.
-Также возможно, ÑÑо ÐÑ Ð¸ÑполÑзÑеÑе ALSA без ÑмÑлÑÑии OSS,
-попÑобÑйÑе загÑÑзиÑÑ ALSA OSS модÑли ÑдÑа или добавÑÑе опÑиÑ
-<option>-ao alsa</option> в команднÑÑ ÑÑÑокÑ, Ð´Ð»Ñ Ð¸ÑполÑзованиÑ
-ALSA напÑÑмÑÑ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑи запÑÑке <application>MPlayer</application> в KDE наблÑдаеÑÑÑ ÑеÑнÑй ÑкÑан
-и ниÑего более. ÐÑимеÑно ÑеÑез минÑÑÑ Ð½Ð°ÑинаеÑÑÑ Ð²Ð¾ÑпÑоизведение.
-</para></question>
-<answer><para>
-aRts блокиÑÑÐµÑ Ð·Ð²Ñковое ÑÑÑÑойÑÑво. Ðибо подождиÑе ÑÑаÑÑа видео, либо
-оÑклÑÑиÑе ÑлÑÐ¶Ð±Ñ aRts в ÑенÑÑе ÑпÑавлениÑ. ÐÑли ÐÑ Ñ
оÑиÑе иÑполÑзоваÑÑ Ð·Ð²Ñк
-ÑеÑез aRts, ÑкажиÑе вÑвод звÑка ÑеÑез вÑÑÑоеннÑй звÑковой дÑÐ°Ð¹Ð²ÐµÑ aRts
-(<option>-ao arts</option>). ÐÑли он не ÑабоÑаеÑ, либо
-<application>MPlayer</application> ÑобÑан без него, попÑобÑйÑе SDL
-(<option>-ao sdl</option>) и ÑбедиÑеÑÑ, ÑÑо SDL Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ñо
-звÑком aRts. ÐÑÑ Ð¾Ð´Ð¸Ð½ ваÑÐ¸Ð°Ð½Ñ — запÑÑк <application>MPlayer</application>
-Ñ artsdsp.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑоблема Ñ ÑинÑ
ÑонизаÑией A/V. ÐекоÑоÑÑе из моиÑ
AVI Ñайлов пÑоигÑÑваÑÑÑÑ Ð½Ð¾ÑмалÑно, но
-некоÑоÑÑе — Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ ÑкоÑоÑÑÑÑ!
-</para></question>
-<answer><para>
-У ÐÐ°Ñ Ð½ÐµÐ²ÐµÑно ÑабоÑаÑÑÐ°Ñ Ð·Ð²ÑÐºÐ¾Ð²Ð°Ñ ÐºÐ°ÑÑа/дÑайвеÑ. СкоÑее вÑего, поддеÑживаеÑÑÑ ÑабоÑа
-ÑолÑко Ñ 44100ÐÑ, а ÐÑ Ð¿ÑÑаеÑеÑÑ Ð¿ÑоигÑаÑÑ Ñайл Ñ 22050ÐÑ Ð·Ð²Ñком. ÐопÑобÑйÑе
-звÑковой ÑилÑÑÑ <systemitem>resample</systemitem>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑи пÑоигÑÑвании ÑилÑма пÑоиÑÑ
Ð¾Ð´Ð¸Ñ ÑаÑÑинÑ
ÑонизаÑÐ¸Ñ Ð·Ð²Ñка и видео или
-<application>MPlayer</application> ÑÑÑиÑÑÑ Ñ Ð¾Ñибкой:
-<screen>СлиÑком много (945 в 8390980 байÑаÑ
) видеопакеÑов в бÑÑеÑе!</screen>
-</para></question>
-<answer><para>
-ÐÑиÑин Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑколÑко.
-<itemizedlist>
-<listitem><para>
- ÐÐ°Ñ CPU <emphasis>и/или</emphasis> видеокаÑÑа <emphasis>и/или</emphasis>
- Ñина ÑлиÑком медленнÑе. Ð ÑÑом ÑлÑÑае <application>MPlayer</application>
- вÑÐ²Ð¾Ð´Ð¸Ñ ÑооÑвеÑÑÑвÑÑÑее ÑообÑение (и колиÑеÑÑво вÑбÑоÑеннÑÑ
кадÑов бÑÑÑÑо
- ÑвелиÑиваеÑÑÑ).
-</para></listitem>
-<listitem><para>
- ÐÑли ÑÑо AVI, возможно, Ñ Ð½ÐµÐ³Ð¾ пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ ÑеÑедованием звÑка/видео,
- попÑобÑйÑе опÑÐ¸Ñ <option>-ni</option> Ð´Ð»Ñ Ð¾Ð±Ñ
ода пÑоблемÑ. Ðли Ñайл имееÑ
- невеÑнÑй заголовок. Ð ÑÑом ÑлÑÑае могÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ Ð¾Ð¿Ñии <option>-nobps</option>
- и/или <option>-mc 0</option>.
-</para></listitem>
-<listitem><para>
- Ðногие FLV ÑÐ°Ð¹Ð»Ñ Ð±ÑдÑÑ Ð¿ÑавилÑно воÑпÑоизводиÑÑÑÑ ÑолÑко Ñ <option>-correct-pts</option>.
- Ð ÑожалениÑ, <application>MEncoder</application> Ñакой опÑии не имееÑ,
- но ÐÑ Ð¼Ð¾Ð¶ÐµÑе попÑобоваÑÑ Ð²ÑÑÑнÑÑ ÑказаÑÑ Ð¿ÑавилÑное знаÑение <option>-fps</option>,
- еÑли оно Ðам извеÑÑно.
-</para></listitem>
-<listitem><para>
- У ÐÐ°Ñ Ð½ÐµÐ²ÐµÑно ÑабоÑÐ°ÐµÑ Ð·Ð²Ñковой дÑайвеÑ.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак избавиÑÑÑÑ Ð¾Ñ ÑаÑÑинÑ
ÑонизаÑии пÑи пеÑемоÑке поÑоков RealMedia?
-</para></question>
-<answer><para>
-ÐÐ¾Ð¶ÐµÑ Ð¿Ð¾Ð¼Ð¾ÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-mc 0.1</option>.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-dvd">
-<title>ÐоÑпÑоизведение DVD</title>
-
-<qandaentry>
-<question><para>
-Ðак наÑÑÐµÑ DVD навигаÑии/ÐенÑ?
-</para></question>
-<answer><para>
-<application>MPlayer</application> не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ DVD Ð¼ÐµÐ½Ñ Ð² ÑÐ¸Ð»Ñ ÑеÑÑезнÑÑ
-аÑÑ
иÑекÑÑÑнÑÑ
огÑаниÑений, коÑоÑÑе меÑаÑÑ Ð¿ÑавилÑной обÑабоÑке неподвижнÑÑ
-изобÑажений и инÑеÑакÑивного ÑодеÑжимого. ÐÑли Ñ
оÑиÑе моднÑе менÑ, Ðам
-пÑидеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð´ÑÑгой пÑоигÑÑваÑелÑ, напÑÐ¸Ð¼ÐµÑ <application>xine</application>,
-<application>vlc</application> или <application>Ogle</application>.
-ÐÑли ÐÑ Ñ
оÑиÑе полÑÑиÑÑ DVD навигаÑÐ¸Ñ Ð² <application>MPlayer</application>,
-ÑеализÑйÑе ее ÑамоÑÑоÑÑелÑно, но имейÑе ввидÑ, ÑÑо ÑÑо нелегкое и оÑвеÑÑÑвенное дело.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак наÑÑÐµÑ ÑÑбÑиÑÑов? <application>MPlayer</application> ÑÐ¼ÐµÐµÑ Ð¸Ñ
оÑобÑажаÑÑ?
-</para></question>
-<answer><para>
-Ðа. СмоÑÑиÑе <link linkend="dvd">DVD Ñаздел</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑÑÑановиÑÑ Ñегион Ð´Ð»Ñ DVD-пÑивода? У Ð¼ÐµÐ½Ñ Ð½ÐµÑ Windows!
-</para></question>
-<answer><para>
-ÐоÑполÑзÑйÑеÑÑ
-<ulink url="http://linvdr.org/projects/regionset/">ÑÑилиÑой regionset</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-DVD не пÑоигÑÑваÑÑÑÑ, MPlayer завиÑÐ°ÐµÑ Ð¸Ð»Ð¸ вÑÐ²Ð¾Ð´Ð¸Ñ Ð¾ÑÐ¸Ð±ÐºÑ "Encrypted VOB file!".
-</para></question>
-<answer><para>
-Ðод ÑаÑÑиÑÑовки CSS не ÑабоÑÐ°ÐµÑ Ñ Ð½ÐµÐºÐ¾ÑоÑÑми пÑиводами, еÑли Ñегион невеÑно ÑÑÑановлен.
-СмоÑÑиÑе оÑÐ²ÐµÑ Ð½Ð° пÑедÑдÑÑий вопÑоÑ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐÑÐ¶Ð½Ñ Ð»Ð¸ пÑава root (setuid) Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ DVD?
-</para></question>
-<answer><para>
-ÐеÑ. ÐонеÑно, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð½ÐµÐ¾Ð±Ñ
одимÑе пÑава на Ñайл DVD ÑÑÑÑойÑÑва
-(в <filename class="directory">/dev/</filename>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðозможно ли пÑоигÑÑваÑÑ/кодиÑоваÑÑ ÑолÑко вÑбÑаннÑе ÑазделÑ?
-</para></question>
-<answer><para>
-Ðа, попÑобÑйÑе опÑÐ¸Ñ <option>-chapter</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐоÑпÑоизведение DVD медленное!
-</para></question>
-<answer><para>
-ÐÑполÑзÑйÑе опÑÐ¸Ñ <option>-cache</option> (опиÑаннÑÑ Ð½Ð° ÑÑÑаниÑе man) и попÑобÑйÑе
-вклÑÑиÑÑ DMA Ð´Ð»Ñ DVD пÑивода ÑÑилиÑой <command>hdparm</command>
-(опиÑанной в <link linkend="drives">Ñазделе CD</link>).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Я ÑкопиÑовал DVD иÑполÑзÑÑ vobcopy. Ðак его пÑоигÑÑваÑÑ/кодиÑоваÑÑ Ñ Ð¶ÐµÑÑкого
-диÑка?
-</para></question>
-<answer><para>
-ÐÑполÑзÑйÑе опÑÐ¸Ñ <option>-dvd-device</option>, ÑÑÐ¾Ð±Ñ ÑказаÑÑ ÐºÐ°Ñалог, ÑодеÑжаÑий ÑайлÑ:
-<screen>
-mplayer dvd://1 -dvd-device <replaceable>/пÑÑÑ/к/каÑалогÑ</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-features">
-<title>ÐÑоÑÑÐ±Ñ Ð¾ новÑÑ
возможноÑÑÑÑ
</title>
-<qandaentry>
-<question><para>
-ÐÑли <application>MPlayer</application> пÑиоÑÑановлен, и Ñ Ð¿ÑÑаÑÑÑ Ð¿ÐµÑемоÑаÑÑ ÑилÑм или нажимаÑ
-лÑбÑÑ ÐºÐ»Ð°Ð²Ð¸ÑÑ, воÑпÑоизведение пÑодолжаеÑÑÑ. ХоÑелоÑÑ Ð±Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿ÐµÑемоÑки во
-вÑÐµÐ¼Ñ Ð¿Ð°ÑзÑ.
-</para></question>
-<answer><para>
-ÐÑо нелегко ÑеализоваÑÑ Ð±ÐµÐ· поÑеÑи ÑинÑ
ÑонизаÑии A/V. Ðока ни одна попÑÑка не
-ÑвенÑалаÑÑ ÑÑпеÑ
ом, но паÑÑи пÑивеÑÑÑвÑÑÑÑÑ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ХоÑеÑÑÑ Ð¿ÐµÑемаÑÑваÑÑ Ð½Ð° +/- 1 ÐºÐ°Ð´Ñ Ð²Ð¼ÐµÑÑо 10 ÑекÑнд.
-</para></question>
-<answer><para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑемеÑаÑÑÑÑ Ð½Ð° 1 ÐºÐ°Ð´Ñ Ð²Ð¿ÐµÑед, Ð½Ð°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑÑ
-<keycap>.</keycap>. ÐоÑле ÑÑого воÑпÑоизведение бÑÐ´ÐµÑ Ð¿ÑиоÑÑановлено
-(ÑмоÑÑиÑе ÑÑÑаниÑÑ ÑÑководÑÑва man Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей).
-ÐеÑемеÑение назад вÑÑд ли бÑÐ´ÐµÑ Ñеализовано в ближайÑем бÑдÑÑем.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-<!-- ********** -->
-
-<qandadiv id="faq-encoding">
-<title>ÐодиÑование</title>
-<qandaentry>
-<question><para>
-Ðак пÑоизводиÑÑ ÐºÐ¾Ð´Ð¸Ñование?
-
-</para></question>
-<answer><para>
-ÐÑоÑÑиÑе Ñаздел <link linkend="mencoder"><application>MEncoder</application></link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑоÑ
ÑаниÑÑ Ð²ÐµÑÑ Ñолик DVD в Ñайл?
-</para></question>
-<answer><para>
-Ðак ÑолÑко опÑеделиÑеÑÑ Ñ Ð²ÑбоÑом Ñолика и пÑовеÑиÑе, ÑÑо он пÑоигÑÑваеÑÑÑ Ð²
-<application>MPlayer</application>, воÑполÑзÑйÑеÑÑ Ð¾Ð¿Ñией
-<option>-dumpstream</option>.
-ÐапÑимеÑ:
-<screen>
-mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable>
-</screen>
-ÑоÑ
ÑÐ°Ð½Ð¸Ñ 5-й Ñолик в Ñайл
-<replaceable>dvd_dump.vob</replaceable>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак авÑомаÑиÑеÑки ÑоздаваÑÑ (S)VCD?
-</para></question>
-<answer><para>
-ÐопÑобÑйÑе ÑкÑÐ¸Ð¿Ñ <filename>mencvcd.sh</filename> из каÑалога
-<filename class="directory">TOOLS</filename>. С его помоÑÑÑ ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑекодиÑоваÑÑ
-DVD или дÑÑгие ÑилÑÐ¼Ñ Ð² VCD или SVCD ÑоÑÐ¼Ð°Ñ Ð¸ даже запиÑÑваÑÑ Ð¸Ñ
на CD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑоздаÑÑ (S)VCD?
-</para></question>
-<answer><para>
-ÐовÑе веÑÑии <application>MEncoder</application> могÑÑ ÑамоÑÑоÑÑелÑно ÑоздаваÑÑ
-MPEG-2 ÑайлÑ, коÑоÑÑе можно иÑполÑзоваÑÑ Ð² каÑеÑÑве оÑÐ½Ð¾Ð²Ñ Ð´Ð»Ñ VCD или SVCD,
-воÑпÑоизводÑÑиеÑÑ "из коÑобки" на вÑеÑ
плаÑÑоÑмаÑ
(напÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÐµÐ»Ð¸ÑÑÑÑ
-ÑилÑмом, ÑнÑÑÑм на видеокамеÑÑ, Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑно-негÑамоÑнÑми дÑÑзÑÑми).
-ÐÑоÑÑиÑе
-<link linkend="menc-feat-vcd-dvd">ÐÑполÑзование MEncoder Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ VCD/SVCD/DVD-ÑовмеÑÑимÑÑ
Ñайлов</link>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑклеиÑÑ Ð´Ð²Ð° Ñайла?
-</para></question>
-<answer><para>
-MPEG ÑÐ°Ð¹Ð»Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ð² один, еÑли ÑилÑно повезеÑ.
-ÐÐ»Ñ Ñайлов AVI, можеÑе воÑполÑзоваÑÑÑÑ Ð²ÑÑÑоенной возможноÑÑÑÑ
-<application>MEncoder</application>'а
-ÑабоÑаÑÑ Ñ Ð½ÐµÑколÑкими Ñайлами ÑÑазÑ:
-<screen>
-mencoder -ovc copy -oac copy -o <replaceable>out.avi</replaceable> <replaceable>Ñайл1.avi</replaceable> <replaceable>Ñайл2.avi</replaceable>
-</screen>
-ÐÑо бÑÐ´ÐµÑ ÑабоÑаÑÑ ÑолÑко еÑли ÑÐ°Ð¹Ð»Ñ Ð¸Ð¼ÐµÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ðµ ÑазÑеÑение и ÑжаÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñм
-кодеком. Также попÑобÑйÑе
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> и
-<application>avimerge</application> (ÑаÑÑÑ Ð½Ð°Ð±Ð¾Ñа ÑÑилиÑ
-<ulink url="http://www.transcoding.org/">transcode</ulink>
-).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак иÑпÑавиÑÑ AVI ÑÐ°Ð¹Ð»Ñ Ñ Ð¸ÑпоÑÑеннÑм индекÑом или невеÑнÑм ÑеÑедованием?
-</para></question>
-<answer><para>
-ÐзбежаÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ <option>-idx</option> и имеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿ÐµÑемоÑки в
-AVI ÑайлаÑ
Ñ Ð¸ÑпоÑÑеннÑм индекÑом, либо избежаÑÑ <option>-ni</option> Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñайлов
-Ñ Ð½ÐµÐ²ÐµÑнÑм ÑеÑедованием Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°
-<screen>
-mencoder <replaceable>input.avi</replaceable> -idx -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-Ðна ÑкопиÑÑÐµÑ Ð²Ð¸Ð´ÐµÐ¾ и аÑдио в новÑй Ñайл, генеÑиÑÑÑ Ð½Ð¾Ð²Ñй Ð¸Ð½Ð´ÐµÐºÑ Ð¸ иÑпÑавлÑÑ ÑеÑедование.
-ÐонеÑно, ÑÑо не Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑпÑавиÑÑ Ð¾Ñибки в видео и/или аÑдио поÑоке.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак иÑпÑавиÑÑ Ð¿ÑопоÑÑии в AVI Ñайле?
-</para></question>
-<answer><para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑÑо ÑделаÑÑ Ð¿Ñи помоÑи опÑии <application>MEncoder</application>'а
-<option>-force-avi-aspect</option>, коÑоÑÐ°Ñ Ð¿ÐµÑеопÑеделÑÐµÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ пÑопоÑÑиÑÑ
, Ñ
ÑанÑÑÑÑÑÑ
-в опÑии vprp AVI OpenDML заголовка. ÐапÑимеÑ:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc copy -oac copy -o <replaceable>output.avi</replaceable> -force-avi-aspect 4/3
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак ÑделаÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¸ закодиÑоваÑÑ VOB Ñайл Ñ Ð¸ÑпоÑÑеннÑм наÑалом?
-</para></question>
-<answer><para>
-ÐÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¿Ñоблема пÑи попÑÑке кодиÑоваÑÑ Ð¸ÑпоÑÑеннÑй VOB Ñайл
-<footnote id='fn-corrupted-files-or-copy-protection'><para>
-Ркакой-Ñо меÑе некоÑоÑÑе ÑоÑÐ¼Ñ Ð·Ð°ÑиÑÑ Ð¾Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð²Ð¾ÑпÑинÑÑÑ ÐºÐ°Ðº
-иÑпоÑÑенное ÑодеÑжимое.
-</para></footnote>
-ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑо бÑÐ´ÐµÑ ÑÑÑдно закодиÑоваÑÑ Ñайл Ñ Ñ
оÑоÑей
-A/V ÑинÑ
ÑонизаÑией.
-Ðдин из ÑпоÑобов заклÑÑаеÑÑÑ Ð² оÑбÑаÑÑвании иÑпоÑÑеннÑÑ
даннÑÑ
-и кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑолÑко коÑÑеÑной ÑаÑÑи. СнаÑала иÑиÑе наÑало коÑÑекÑнÑÑ
даннÑÑ
(менÑÑ
-паÑамеÑÑ "колво_байÑов_длÑ_пÑопÑÑка"):
-<screen>
-mplayer <replaceable>input.vob</replaceable> -sb <replaceable>колво_байÑов_длÑ_пÑопÑÑка</replaceable>
-</screen>
-ÐаÑем ÑоздаеÑе новÑй Ñайл, ÑодеÑжаÑий коÑÑекÑнÑÑ ÑаÑÑÑ:
-<screen>
-dd if=<replaceable>input.vob</replaceable> of=<replaceable>output_cut.vob</replaceable> skip=1 ibs=<replaceable>колво_байÑов_длÑ_пÑопÑÑка</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðе Ð¼Ð¾Ð³Ñ Ð·Ð°ÐºÐ¾Ð´Ð¸ÑоваÑÑ DVD ÑÑбÑиÑÑÑ Ð² AVI!
-</para></question>
-<answer><para>
-ÐеобÑ
одимо пÑавилÑно ÑказаÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-sid</option>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак кодиÑоваÑÑ ÑолÑко вÑбÑаннÑе ÑÐ¿Ð¸Ð·Ð¾Ð´Ñ Ð¸Ð· DVD?
-</para></question>
-<answer><para>
-ÐÑполÑзÑйÑе опÑÐ¸Ñ <option>-chapter</option>, напÑÐ¸Ð¼ÐµÑ <option>-chapter 5-7</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Я Ñ
оÑÑ ÑабоÑаÑÑ Ñ Ñайлами более 2Ðб в Ñайловой ÑиÑÑеме VFAT. ÐÑо возможно?
-</para></question>
-<answer><para>
-ÐеÑ. VFAT не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÐ°Ð¹Ð»Ñ Ð±Ð¾Ð»ÐµÐµ 2Ðб.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ЧÑо ознаÑаÑÑ ÑиÑла в ÑÑаÑÑÑной ÑÑÑоке в пÑоÑеÑÑе кодиÑовании?
-</para></question>
-<answer><para>
-ÐÑимеÑ:
-<screen>
-Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2156:192]
-</screen>
-<variablelist>
-<varlistentry>
- <term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>вÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ Ð² кодиÑÑемом поÑоке</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>6612f</systemitem></term>
- <listitem><para>колиÑеÑÑво закодиÑованнÑÑ
кадÑов</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2%</systemitem></term>
- <listitem><para>ÑÐ°Ð·Ð¼ÐµÑ Ð·Ð°ÐºÐ¾Ð´Ð¸Ñованной ÑаÑÑи вÑ
одного поÑока</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>7.12fps</systemitem></term>
- <listitem><para>ÑкоÑоÑÑÑ ÐºÐ¾Ð´Ð¸ÑованиÑ</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>оÑенка вÑемени, оÑÑавÑегоÑÑ Ð´Ð¾ конÑа кодиÑованиÑ</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2856mb</systemitem></term>
- <listitem><para>оÑенка оконÑаÑелÑного ÑазмеÑа пеÑекодиÑованного Ñайла</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>ÑекÑÑÐ°Ñ Ð·Ð°Ð´ÐµÑжка Ð¼ÐµÐ¶Ð´Ñ Ð°Ñдио и видео поÑоками</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>[2156:192]</systemitem></term>
- <listitem><para>
- ÑÑедний видео биÑпоÑок (в кбиÑ/Ñ) и ÑÑедний аÑдио биÑпоÑок (в кбиÑ/Ñ)
- </para></listitem>
-</varlistentry>
-</variablelist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐоÑÐµÐ¼Ñ ÑекомендÑемÑй <application>MEncoder</application>'ом биÑÑÐµÐ¹Ñ Ð¾ÑÑиÑаÑелен?
-</para></question>
-<answer><para>
-ÐоÑÐ¾Ð¼Ñ ÑÑо аÑдио биÑÑÐµÐ¹Ñ Ð² пÑоÑеÑÑе кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑановиÑÑÑ ÑлиÑком велик, ÑÑобÑ
-ÑмеÑÑиÑÑ ÑилÑм на CD. ÐÑовеÑÑÑе, пÑавилÑно ли ÑÑÑановлена libmp3lame.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðе Ð¼Ð¾Ð³Ñ Ð¿ÐµÑекодиÑоваÑÑ ASF Ñайл в AVI/MPEG-4, поÑÐ¾Ð¼Ñ ÑÑо иÑполÑзÑеÑÑÑ 1000fps.
-</para></question>
-<answer><para>
-ÐоÑколÑÐºÑ ASF иÑполÑзÑÐµÑ Ð¿ÐµÑеменнÑÑ ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов, а AVI — ÑикÑиÑованнÑÑ,
-необÑ
одимо ÐµÑ ÑÑÑановиÑÑ Ð²ÑÑÑнÑÑ Ð¾Ð¿Ñией <option>-ofps</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак помеÑÑиÑÑ ÑÑбÑиÑÑÑ Ð² вÑÑ
одной Ñайл?
-</para></question>
-<answer><para>
-ÐÑоÑÑо ÑкажиÑе <application>MEncoder</application> опÑÐ¸Ñ <option>-sub <имÑ_Ñайла></option>
-(или <option>-sid</option>, ÑооÑвеÑÑÑвенно).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак закодиÑоваÑÑ ÑолÑко звÑк из видеоклипа?
-</para></question>
-<answer><para>
-ÐапÑÑмÑÑ ÑÑо невозможно, но можеÑе попÑобоваÑÑ Ñакой ÑпоÑоб
-(обÑаÑиÑе внимание на
-<emphasis role="bold">&</emphasis> в конÑе командÑ
-<command>mplayer</command>):
-<screen>
-mkfifo encode
-mplayer -ao pcm -aofile <replaceable>encode</replaceable> dvd://1 &
-lame <replaceable>ÐаÑи_опÑии</replaceable> <replaceable>encode</replaceable> <replaceable>music.mp3</replaceable>
-rm <replaceable>encode</replaceable>
-</screen>
-ÐÑо позволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð»Ñбой кодеÑ, не ÑолÑко
-<application>LAME</application>,
-пÑоÑÑо замениÑе <command>lame</command> на ÐÐ°Ñ Ð¿ÑедпоÑиÑаемÑй кодеÑ.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-ÐоÑÐµÐ¼Ñ ÑÑоÑонние пÑоигÑÑваÑели не могÑÑ Ð²Ð¾ÑпÑоизвеÑÑи MPEG-4 ÑайлÑ,
-ÑжаÑÑе <application>MEncoder</application>'ом веÑÑий ÑÑаÑÑе 1.0pre7?
-</para></question>
-<answer><para>
-<systemitem class="library">libavcodec</systemitem>, ÑÐ¾Ð´Ð½Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека
-кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ MPEG-4, обÑÑно поÑÑавлÑÐµÐ¼Ð°Ñ Ñ <application>MEncoder</application>,
-ÑÑÑанавливала FourCC в 'DIVX' пÑи ÑжаÑии MPEG-4 видео (FourCC —
-ÑÑо ÑÑг AVI, ÑказÑваÑÑий нÑжнÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ ÑжаÑÐ¸Ñ Ð¸ декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾,
-Ñ.е. кодек). ÐоÑÑÐ¾Ð¼Ñ Ð¼Ð½Ð¾Ð³Ð¸Ðµ лÑди ÑÑиÑаÑÑ, ÑÑо
-<systemitem class="library">libavcodec</systemitem> бÑла библиоÑекой
-кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ DivX, когда на Ñамом деле ÑÑо ÑовеÑÑенно дÑÑÐ³Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека
-кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ MPEG-4, ÑеализÑÑÑÐ°Ñ ÑÑандаÑÑ MPEG-4 знаÑиÑелÑно лÑÑÑе, Ñем DivX.
-ÐоÑÑÐ¾Ð¼Ñ Ð½Ð¾Ð²Ñй FourCC, по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑемÑй
-<systemitem class="library">libavcodec</systemitem> — ÑÑо 'FMP4', но ÐÑ
-можеÑе пеÑеопÑеделиÑÑ ÑÑо поведение, иÑполÑзÑÑ Ð¾Ð¿ÑиÑ
-<application>MEncoder</application>'а
-<option>-ffourcc</option>.
-ÐÑ Ñакже можеÑе ÑмениÑÑ FourCC Ñ ÑÑÑеÑÑвÑÑÑего Ñайла Ñем же ÑпоÑобом:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -ffourcc XVID
-</screen>
-ÐмейÑе ввидÑ, ÑÑо ÑÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ FourCC в XVID, а не DIVX.
-ÐÑо ÑекомендÑеÑÑÑ, Ñ.к. DIVX FourCC ознаÑÐ°ÐµÑ DivX4, оÑÐµÐ½Ñ Ð¿ÑоÑÑой MPEG-4
-кодек, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº DX50 и XVID оба — полнÑе MPEG-4 (ASP).
-Таким обÑазом, еÑли ÐÑ ÑÑÑановиÑе FourCC в DIVX, некоÑоÑÑе плоÑ
ие
-пÑогÑаммнÑе или аппаÑаÑнÑе пÑоигÑÑваÑели могÑÑ Ð±ÑÑÑ Ð² Ñоке Ð¾Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ
-возможноÑÑей, коÑоÑÑе
-<systemitem class="library">libavcodec</systemitem> поддеÑживаеÑ,
-а DivX — неÑ;
-Ñ Ð´ÑÑгой ÑÑоÑÐ¾Ð½Ñ <systemitem class="library">Xvid</systemitem>
-по ÑÑнкÑионалÑноÑÑи ближе к <systemitem class="library">libavcodec</systemitem>
-и поддеÑживаеÑÑÑ Ð»ÑбÑми пÑилиÑнÑми пÑоигÑÑваÑелÑми.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак пеÑекодиÑоваÑÑ Ð·Ð²Ñковой Ñайл (без видео)?
-</para></question>
-<answer><para>
-ÐÑполÑзÑйÑе <filename>aconvert.sh</filename> из подкаÑалога
-<filename class="directory">TOOLS</filename>
-деÑева иÑÑ
одников MPlayer.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Ðак воÑпÑоизвеÑÑи ÑÑбÑиÑÑÑ Ð²Ð½ÐµÐ´ÑеннÑе в AVI?
-</para></question>
-<answer><para>
-ÐÑполÑзÑйÑе <filename>avisubdump.c</filename> из подкаÑалога
-<filename class="directory">TOOLS</filename> или пÑоÑÑиÑе
-<ulink url="http://xlife.zuavra.net/curse/0012/">ÑÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð¾ извлеÑении/мÑлÑÑиплекÑиÑовании ÑÑбÑиÑÑов внедÑеннÑÑ
в OpenDML AVI ÑайлÑ</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-MPlayer не Ñ
оÑеÑ...
-</para></question>
-<answer><para>
-ÐоÑмоÑÑиÑе коллекÑÐ¸Ñ Ð²ÑевозможнÑÑ
ÑкÑипÑов и Ñ
аков в подкаÑалоге
-<filename class="directory">TOOLS</filename>.
-<filename>TOOLS/README</filename> ÑодеÑÐ¶Ð¸Ñ Ð´Ð¾ÐºÑменÑаÑиÑ.
-</para></answer>
-</qandaentry>
-</qandadiv>
-
-</qandaset>
-
-</chapter>
diff --git a/DOCS/xml/ru/install.xml b/DOCS/xml/ru/install.xml
deleted file mode 100644
index 1c5fe3e..0000000
--- a/DOCS/xml/ru/install.xml
+++ /dev/null
@@ -1,505 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r24087 -->
-<chapter id="install">
-<title>УÑÑановка</title>
-
-<para>
-Ð Ñайле <filename>README</filename> Ð²Ñ ÑможеÑе найÑи коÑоÑкое ÑÑководÑÑво
-по ÑÑÑановке. ÐожалÑйÑÑа, ÑнаÑала пÑоÑÑиÑе его, а заÑем веÑниÑеÑÑ Ðº оÑÑавÑимÑÑ
-неÑÑнÑми деÑалÑм.
-</para>
-
-<para>
-Ð ÑÑой главе Ñ Ð¿Ð¾ÑÑаÑаÑÑÑ Ð¿ÑовеÑÑи ÐÐ°Ñ ÑеÑез пÑоÑеÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии и конÑигÑÑаÑии
-<application>MPlayer</application>'а. ÐÑо не пÑоÑÑо, но ÑÑо не обÑзаÑелÑно бÑÐ´ÐµÑ Ñложно. ÐÑли ÐÑ Ð·Ð°Ð¼ÐµÑиÑе
-какие-Ñо оÑклонениÑ, Ð¾Ñ Ñого, ÑÑо Ñ Ð¾Ð±ÑÑÑнÑÑ, пожалÑйÑÑа, поиÑиÑе в ÑÑой
-докÑменÑаÑии и ÐÑ Ð½Ð°Ð¹Ð´ÑÑе оÑвеÑ. ÐÑли ÐÑ ÑвидиÑе ÑÑÑлкÑ, пожалÑйÑÑа, пÑоÑледÑйÑе
-по ней и внимаÑелÑно пÑоÑиÑайÑе ÐµÑ ÑодеÑжимое. ÐÑо займÑÑ Ð½ÐµÐºÐ¾ÑоÑое вÑемÑ,
-но ÑÑо ÐÐÐСТÐÐТÐÐЬÐÐ Ñого ÑÑоиÑ
-</para>
-
-<para>
-Ðам нÑжна ÑовÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑиÑÑема. Ðод Linux'ом ÑекомендÑÑÑÑÑ ÑдÑа 2.4.x.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="softreq">
-<title>ТÑебÑемÑе пÑогÑаммÑ:</title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - ÑекомендÑÐµÐ¼Ð°Ñ Ð²ÐµÑÑÐ¸Ñ - ÑÑо
- <emphasis role="bold">2.11.x</emphasis>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">gcc</emphasis> - ÑекомендÑемÑе веÑÑии:
- 2.95 и 3.4+. ÐзвеÑÑно, ÑÑо 2.96 и 3.0.x генеÑиÑÑÑÑ Ð¸ÑпоÑÑеннÑй код.
- С 3.1 и 3.2 бÑли пÑоблемÑ, Ñ 3.3. Ñоже бÑли неболÑÑие пÑоблемÑ. Ðа PowerPC иÑполÑзÑйÑе 4.x+.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">XOrg/XFree86</emphasis> - ÑекомендÑÐµÐ¼Ð°Ñ Ð²ÐµÑÑÐ¸Ñ -
- 4.3 или более позднÑÑ. УбедиÑеÑÑ, ÑÑо Ñакже ÑÑÑановлен
- <emphasis role="bold">Ð¿Ð°ÐºÐµÑ ÑазÑабоÑки</emphasis>, инаÑе ÑÑо не бÑÐ´ÐµÑ ÑабоÑаÑÑ.
- Ðам необÑзаÑелÑно имеÑÑ X, некоÑоÑÑе дÑайвеÑÑ Ð²Ñвода видео ÑабоÑаÑÑ Ð¸ без него.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">make</emphasis> - ÑекомендÑÐµÐ¼Ð°Ñ Ð²ÐµÑÑÐ¸Ñ - 3.79.x или
- более позднÑÑ. ÐÐ»Ñ ÑбоÑки XML докÑменÑаÑии ÑÑебÑеÑÑÑ 3.80.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> - веÑÑÐ¸Ñ 2.0.9 или более позднÑÑ
- ÑÑебÑеÑÑÑ Ð´Ð»Ñ OSD и ÑÑбÑиÑÑов.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> - необÑзаÑелÑно, Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки вÑвода звÑка ÑеÑез ALSA
- ТÑебÑеÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм 0.9.0rc4.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> - необÑ
одима Ð´Ð»Ñ Ð¾Ð¿ÑионалÑного
- дÑайвеÑа вÑвода видео JPEG.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> - необÑ
одима Ð´Ð»Ñ Ð¾Ð¿ÑионалÑного
- дÑайвеÑа вÑвода видео PNG.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - необÑзаÑелÑно, веÑÑÐ¸Ñ 0.9.13 или
- более позднÑÑ ÑÑебÑеÑÑÑ Ð´Ð»Ñ Ð´ÑайвеÑа вÑвода видео directfb.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - ÑекомендÑеÑÑÑ 3.90 или новее,
- необÑ
одимо Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ MP3 аÑдио c <application>MEncoder</application>,
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> - ÑекомендÑеÑÑÑ, необÑ
одима Ð´Ð»Ñ ÑжаÑÑÑ
- MOV заголовков и поддеÑжки PNG.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
-- необÑзаÑелÑно, необÑ
одимо Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
RTSP/RTP поÑоков.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - необÑзаÑелÑно, Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки CDDA
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - необÑзаÑелÑно, Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки вÑ
однÑÑ
плагинов XMMS.
-ТÑебÑеÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм 1.2.7.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - необÑзаÑелÑно, Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки
- ÑеÑевого пÑоÑокола SMB.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="features">
-<title>ÐозможноÑÑи:</title>
-
-<itemizedlist>
-<listitem><para>
- РеÑиÑе, нÑжен ли Ðам GUI. ÐÑли да, пÑоÑиÑайÑе до компилÑÑии
- ÑекÑÐ¸Ñ <link linkend="gui">GUI</link>.
-</para></listitem>
-<listitem><para>
- ÐÑли ÐÑ Ñ
оÑиÑе ÑÑÑановиÑÑ <application>MEncoder</application> (Ð½Ð°Ñ Ð²ÐµÐ»Ð¸ÐºÐ¾Ð»ÐµÐ¿Ð½Ñй многоÑелевой кодиÑовÑик),
-ÑиÑайÑе <link linkend="mencoder">ÑекÑÐ¸Ñ <application>MEncoder</application></link>.
-</para></listitem>
-<listitem><para>
- ÐÑли Ñ ÐÐ°Ñ ÐµÑÑÑ V4L ÑовмеÑÑимÑй <emphasis role="bold">TV ÑÑнеÑ</emphasis>, и ÐÑ Ñ
оÑиÑе
- ÑмоÑÑеÑÑ/заÑ
ваÑÑваÑÑ Ð¸ кодиÑоваÑÑ MPlayer'ом ÑилÑмÑ, ÑиÑайÑе ÑекÑиÑ
- <link linkend="tv-input">TV вÑ
од</link>.
-</para></listitem>
-<listitem><para>
- ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ V4L ÑовмеÑÑимÑй <emphasis role="bold">Radio ÑÑнеÑ</emphasis>,
- и Ð²Ñ Ñ
оÑиÑе ÑлÑÑаÑÑ/запиÑÑваÑÑ MPlayer'ом ÑадиопеÑедаÑи, ÑиÑайÑе ÑекÑиÑ
- <link linkend="radio">Радио</link>.
-</para></listitem>
-<listitem><para>
- СÑÑеÑÑвÑÐµÑ Ð¸Ð·ÑÑное <emphasis role="bold">OSD ÐенÑ</emphasis> гоÑовое Ð´Ð»Ñ Ð¸ÑполÑзованиÑ.
- ÐÑовеÑÑÑе ÑекÑÐ¸Ñ <link linkend="subosd">OSD ÐенÑ</link>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-ТепеÑÑ ÑобеÑиÑе <application>MPlayer</application>:
-<screen>
-./configure
-make
-make install
-</screen>
-</para>
-
-<para>
-Ð ÑÑÐ¾Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ, <application>MPlayer</application> гоÑов к иÑполÑзованиÑ.
-ÐÑовеÑÑÑе, не ÑодеÑжиÑÑÑ Ð»Ð¸ Ñайл <filename>codecs.conf</filename> в ÐаÑем домаÑнем каÑалоге
-(<filename>~/.mplayer/codecs.conf</filename>) оÑÑавленнÑй Ð¾Ñ Ð¿ÑедÑдÑÑиÑ
веÑÑий MPlayer'а,
-и ÑдалиÑе его.
-</para>
-
-<para>
-ÐбÑаÑиÑе внимание на Ñо, ÑÑо еÑли Ñ ÐÐ°Ñ Ð² <filename>~/.mplayer/</filename> еÑÑÑ
-Ñайл <filename>codecs.conf</filename>, Ñо вÑÑÑоеннÑй и ÑиÑÑемнÑй ÑайлÑ
-<filename>codecs.conf</filename> бÑдÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¸Ð³Ð½Ð¾ÑиÑованÑ. Ðе делайÑе
-ÑÑого, еÑли ÑолÑко ÐÑ Ð½Ðµ ÑобиÑаеÑеÑÑ ÑазвлекаÑÑÑÑ Ñо внÑÑÑенноÑÑÑми <application>MPlayer</application>'а,
-поÑколÑÐºÑ ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð²ÑзваÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво пÑоблем. ÐÑли ÐÑ Ñ
оÑиÑе поменÑÑÑ Ð¿Ð¾ÑÑдок
-подбоÑа кодеков, иÑполÑзÑйÑе опÑии <option>-vc</option>, <option>-ac</option>,
-<option>-vfm</option>, и <option>-afm</option> либо в командной ÑÑÑоке, либо
-в ÐаÑем конÑигÑÑаÑионном Ñайле (Ñм. ÑÑÑаниÑÑ ÑÑководÑÑва).
-</para>
-
-
-<para>
-ÐолÑзоваÑели Debian могÑÑ Ñами ÑоздаÑÑ .deb пакеÑÑ, ÑÑо оÑенÑ
-пÑоÑÑо. ÐÑоÑÑо запÑÑÑиÑе <screen>fakeroot debian/rules binary</screen> в коÑневом
-каÑалоге <application>MPlayer'а</application>. Ðолее подÑобнÑе инÑÑÑÑкÑии Ñм.
-в Ñазделе <link linkend="debian">Создание Debian пакеÑов</link>.
-</para>
-
-
-<para>
-<emphasis role="bold">ÐÑегда пÑоÑмаÑÑивайÑе вÑвод</emphasis> <filename>./configure</filename>, и Ñайл
-<filename>config.log</filename>, они ÑодеÑÐ¶Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ Ñом, ÑÑо бÑÐ´ÐµÑ ÑобÑано,
-а ÑÑо неÑ. Ðозможно ÐÑ Ð·Ð°Ñ
оÑиÑе пÑоÑмоÑÑеÑÑ ÑÐ°Ð¹Ð»Ñ <filename>config.h</filename> и
-<filename>config.mak</filename>.
-ÐÑли Ñ ÐÐ°Ñ ÑÑоÑÑ ÐºÐ°ÐºÐ¸Ðµ-Ñо библиоÑеки, коÑоÑÑе не опÑеделÑÑÑÑÑ
-<filename>./configure</filename>, пÑовеÑÑÑе, ÑÑо Ñ ÐÐ°Ñ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑооÑвеÑÑÑвÑÑÑие
-заголовки[header files] (обÑÑно ÑÑо -dev пакеÑÑ) и иÑ
веÑÑии ÑовпадаÑÑ. Файл
-<filename>config.log</filename> ÐбÑÑно ÑообÑÐ¸Ñ Ðам, Ñего не Ñ
ваÑÐ°ÐµÑ Ð´Ð»Ñ ÑбоÑки.
-</para>
-
-
-<para>
-ХоÑÑ ÑÑо не обÑзаÑелÑно, но ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑÑнкÑиониÑÑÑÑие OSD и ÑÑбÑиÑÑÑ,
-Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑÑиÑÑÑ. РекомендÑемÑй меÑод - ÑÑÑановка TTF ÑÑиÑÑа и
-Ñказание <application>MPlyer</application>'Ñ Ð¸ÑполÑзоваÑÑ ÐµÐ³Ð¾. ÐодÑобноÑÑи, Ñм. в ÑекÑии
-<link linkend="subosd">СÑбÑиÑÑÑ Ð¸ OSD</link>.
-</para>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="gui">
-<title>Ðак наÑÑÑÑ GUI?</title>
-
-<para>
-ÐÐ»Ñ GUI ÑÑебÑеÑÑÑ GTK 1.2.x или GTK 2.0 (он не Ñеликом GTK'ÑнÑй, но панелÑки - да). ШкÑÑÑ
-Ñ
ÑанÑÑÑÑ Ð² PNG ÑоÑмаÑе, поÑÑÐ¾Ð¼Ñ GTK, <systemitem class="library">libpng</systemitem>
-(и иÑ
ÑаÑÑи Ð´Ð»Ñ ÑазÑабоÑÑиков, обÑÑно они назÑваÑÑÑÑ
-<systemitem class="library">gtk-dev</systemitem> и
-<systemitem class="library">libpng-dev</systemitem>) Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑановленÑ.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑобÑаÑÑ GUI, Ñказав <option>--enable-gui</option> в <option>./configure</option>.
-ÐаÑем, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ GUI, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð¿ÑÑкаÑÑ <command>gmplayer</command>.
-</para>
-
-<para>
-ÐоÑколÑÐºÑ <application>MPlayer</application> не ÑодеÑÐ¶Ð¸Ñ Ð½Ð¸ одной ÑкÑÑÑ, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑкаÑаÑÑ
-иÑ
, еÑли ÐÑ Ñ
оÑиÑе иÑполÑзоваÑÑ GUI. См.
-<ulink url="http://www.mplayerhq.hu/dload.html">download page[ÑÑÑаниÑÑ
-закаÑек]</ulink>. Ðни Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¸Ð·Ð²Ð»ÐµÑÐµÐ½Ñ Ð² ÑиÑÑемнÑй каÑалог
-(<filename class="directory">$PREFIX/share/mplayer/skins</filename>), или в
-<filename class="directory">$HOME/.mplayer/skins</filename>. Ðо ÑмолÑаниÑ, MPlayer иÑеÑ
-каÑалог <filename class="directory">default</filename>
-в ÑÑиÑ
каÑалогаÑ
, но Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-skin <replaceable>newskin</replaceable></option>,
-или диÑекÑÐ¸Ð²Ñ ÐºÐ¾Ð½ÑигÑÑаÑионного Ñайла <option>skin=newskin</option>, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ
-ÑкÑÑÑ Ð¸Ð· каÑалога <filename class="directory">*/skins/newskin</filename>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="fonts-osd">
-<title>ШÑиÑÑÑ Ð¸ OSD</title>
-
-<para>
-ЧÑÐ¾Ð±Ñ Ð½Ð°ÑладиÑÑÑÑ OSD и ÑÑбÑиÑÑами, надо ÑказаÑÑ <application>MPlayer</application> какой
-ÑÑиÑÑ Ð¸ÑполÑзоваÑÑ. ÐÐ¾Ð´Ð¾Ð¹Ð´ÐµÑ Ð»Ñбой TrueType или ÑпеÑиалÑнÑй ÑаÑÑÑовÑй ÑÑиÑÑ. Тем не менее,
-ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ TrueType ÑÑиÑÑÑ, поÑколÑÐºÑ Ð¾Ð½Ð¸ лÑÑÑе вÑглÑдÑÑ, коÑÑекÑно
-маÑÑÑабиÑÑÑÑÑÑ Ð´Ð¾ ÑазмеÑа ÑилÑма, Ñ Ð»ÑÑÑе ÑпÑавлÑÑÑÑÑ Ñ ÑазлиÑнÑми кодиÑовками.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="truetype-fonts">
-<title>TrueType ÑÑиÑÑÑ</title>
-
-<para>
-ÐÑÑÑ Ð´Ð²Ð° ÑпоÑоба заÑÑавиÑÑ ÑабоÑаÑÑ TrueType ÑÑиÑÑÑ. ÐеÑвÑй - ÑказаÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-font</option>,
-ÑÑÐ¾Ð±Ñ ÑказаÑÑ Ð¿ÑÑÑ Ðº TrueType ÑÑиÑÑÑ Ð¸Ð· команднов ÑÑÑоки. ÐÑа опÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ñ
оÑоÑим кандидаÑом на
-помеÑение в Ñайл конÑигÑÑаÑии (Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей ÑмоÑÑиÑе ÑÑÑаниÑÑ man ÑÑководÑÑва).
-ÐÑоÑой - Ñоздание ÑимволиÑеÑкой ÑÑÑлки Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ <filename>subfont.ttf</filename> на вÑбÑаннÑй
-Ñайл ÑÑиÑÑа. Ðибо
-<screen>
-ln -s <replaceable>/path/to/sample_font.ttf</replaceable> ~/.mplayer/subfont.ttf
-</screen>
-индивидÑалÑно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ полÑзоваÑелÑ, либо Ð¾Ð´Ð½Ñ Ð¾Ð±ÑеÑиÑÑемнÑÑ
-<screen>
-ln -s <replaceable>/path/to/sample_font.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
-</screen>
-</para>
-
-<para>
-ÐÑли <application>MPlayer</application> бÑл ÑкомпилиÑован Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой
-<systemitem class="library">fontconfig</systemitem>, ÑÑи меÑÐ¾Ð´Ñ Ð½Ðµ бÑдÑÑ ÑабоÑаÑÑ,
-вмеÑÑо ÑÑого, опÑÐ¸Ñ <option>-font</option> ожидаеÑ
-<systemitem class="library">fontconfig</systemitem> название ÑÑиÑÑа,
- и по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑо ÑÑиÑÑ sans-serif. ÐÑимеÑ:
-<screen>
-mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable>
-</screen>
-</para>
-<para>
-ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑпиÑок ÑÑиÑÑов, извеÑÑнÑÑ
-<systemitem class="library">fontconfig</systemitem>,
-иÑполÑзÑйÑе <command>fc-list</command>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bitmap-fonts">
-<title>РаÑÑÑовÑе ÑÑиÑÑÑ</title>
-<para>
-ÐÑли по каким-Ñо пÑиÑинам вам необÑ
одимо иÑполÑзоваÑÑ ÑаÑÑÑовÑй ÑÑиÑÑ, ÑкаÑайÑе Ð½Ð°Ð±Ð¾Ñ ÑаковÑÑ
Ñ
-наÑего ÑайÑа. ÐÑ Ð¼Ð¾Ð¶ÐµÑе вÑбиÑаÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑазлиÑнÑми
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO ÑÑиÑÑами</ulink> и
-набоÑом ÑÑиÑÑов
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">ÑозданнÑÑ
полÑзоваÑелÑми</ulink>
-в ÑазлиÑнÑÑ
кодиÑовкаÑ
.
-</para>
-
-<para>
-РаÑпакÑйÑе ÑкаÑаннÑй Ñайл в <filename class="directory">~/.mplayer</filename> или
-<filename class="directory">$PREFIX/share/mplayer</filename>.
-ÐоÑле ÑÑого пеÑеименÑйÑе каÑалог или ÑоздайÑе ÑимволиÑеÑкÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° него Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼
-<filename class="directory">font</filename>, напÑимеÑ:
-<screen>
-ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
-</screen>
-<screen>
-ln -s <replaceable>$PREFIX/mplayer/arial-24</replaceable> $PREFIX/mplayer/font
-</screen>
-</para>
-
-<para>
-ШÑиÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ ÑооÑвеÑÑÑвÑÑÑий им <filename>font.desc</filename> Ñайл, оÑобÑажаÑÑий
-позиÑии Ñникод ÑÑиÑÑа в кодовÑÑ ÑÑÑаниÑÑ ÑекÑÑа ÑÑбÑиÑÑов. ÐÑÑгое ÑеÑение - имеÑÑ ÑÑбÑиÑÑÑ,
-кодиÑованнÑе в UTF-8 и иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-utf8</option> или пÑоÑÑо даÑÑ ÑайлÑ
-Ñ ÑÑбÑиÑÑами Ñакое же, как Ñ Ð²Ð¸Ð´ÐµÐ¾ Ñайла, Ð¸Ð¼Ñ Ñ ÑаÑÑиÑением <filename>.utf</filename>,
-положив его в один каÑалог Ñ ÑилÑмом.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="osdmenu">
-<title>OSD менÑ</title>
-
-<para>
-У <application>MPlayer</application>'а ÑÑÑеÑÑвÑÐµÑ Ñеликом опÑеделÑемÑй полÑзоваÑелем инÑеÑÑÐµÐ¹Ñ OSD менÑ.
-</para>
-
-<note><para>
-Ð¼ÐµÐ½Ñ Preferences[ÐаÑÑÑойки] в наÑÑоÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ ÐÐ ÐÐÐÐСÐÐÐ!
-</para></note>
-
-<orderedlist>
-<title>УÑÑановка</title>
-<listitem><para>
- ÑкомпилиÑÑйÑе <application>MPlayer</application>, Ñказав
- <filename>./configure</filename> паÑамеÑÑ <option>--enable-menu</option>
-</para></listitem>
-<listitem><para>
- ÑбедиÑеÑÑ, ÑÑо Ñ ÐÐ°Ñ ÑÑÑановлен OSD ÑÑиÑÑ
-</para></listitem>
-<listitem><para>
- ÑкопиÑÑйÑе <filename>etc/menu.conf</filename> в ÐÐ°Ñ ÐºÐ°Ñалог <filename
- class="directory">.mplayer</filename>
-</para></listitem>
-<listitem><para>
- ÑкопиÑÑйÑе <filename>etc/input.conf</filename> в ÐÐ°Ñ ÐºÐ°Ñалог
- <filename class="directory">.mplayer</filename>, или в ÑиÑÑемнÑй конÑигÑÑаÑионнÑй
- каÑалог <application>MPlayer</application>'а (по ÑмолÑаниÑ:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
-</para></listitem>
-<listitem><para>
- пÑовеÑÑÑе и оÑÑедакÑиÑÑйÑе <filename>input.conf</filename>, ÑÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ
- кнопки пеÑемеÑÐµÐ½Ð¸Ñ Ð¿Ð¾ Ð¼ÐµÐ½Ñ (ÑÑо здеÑÑ Ð¾Ð¿Ð¸Ñано).
-</para></listitem>
-<listitem><para>
- запÑÑÑиÑе <application>MPlayer</application> как в ÑледÑÑÑем пÑимеÑе:
- <screen>mplayer -menu <replaceable>file.avi</replaceable></screen>
-</para></listitem>
-<listitem><para>
- нажмиÑе лÑбÑÑ Ð¼ÐµÐ½Ñ-кнопкÑ, коÑоÑÑÑ ÐÑ Ð¾Ð¿Ñеделили
-</para></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<sect1 id="codec-installation">
-<title>Codec installation</title>
-
-<!-- ********** -->
-
-<sect2 id="xvid">
-<title>Xvid</title>
-
-<para>
-<ulink url="http://www.xvid.org">Xvid</ulink> ÑвободнÑй, MPEG-4 ASP ÑовмеÑÑимÑй
-видео кодек, оÑобенноÑÑÑми коÑоÑого ÑвлÑÑÑÑÑ Ð´Ð²ÑÑ
пÑоÑ
одное кодиÑование и
-Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка MPEG-4 ASP.
-ÐмейÑе в видÑ, ÑÑо Xvid не нÑжен Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Xvid-кодиÑованного видео.
-<systemitem class="library">libavcodec</systemitem> иÑполÑзÑеÑÑÑ Ð¿Ð¾-ÑмолÑаниÑ,
-Ñ.к. обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð±Ð¾Ð»ÐµÐµ вÑÑокÑÑ ÑкоÑоÑÑÑ.
-</para>
-
-<procedure>
-<title>УÑÑановка <systemitem class="library">Xvid</systemitem></title>
-
-<para>
- Ðак и болÑÑинÑÑво ÐÐ Ñ Ð¾ÑкÑÑÑÑм иÑÑ
однÑм кодом, он доÑÑÑпен как в виде
- <ulink url="http://www.xvid.org/downloads.html">оÑиÑиалÑнÑÑ
Ñелизов</ulink>,
- Ñак и в виде CVS веÑÑии.
- Ðак пÑавило, CVS веÑÑÐ¸Ñ Ð´Ð¾ÑÑаÑоÑно ÑÑабилÑна Ð´Ð»Ñ Ð¸ÑполÑзованиÑ, Ñ.к. в болÑÑинÑÑве
- ÑлÑÑаев ее оÑобенноÑÑÑÑ ÑвлÑеÑÑÑ Ð¾ÑÑÑÑÑÑвие оÑибок, пÑиÑÑÑÑÑвÑÑÑиÑ
в ÑелизаÑ
.
- Ðалее опиÑÑваеÑÑÑ ÐºÐ°Ðº заÑÑавиÑÑ ÑабоÑаÑÑ
- <systemitem class="library">Xvid</systemitem> CVS Ñ <application>MEncoder</application>:
-</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid login</screen>
-</para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous at cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
-</para></step>
-<step><para>
- <screen>./bootstrap.sh</screen>
-</para></step>
-<step><para>
- <screen>./configure</screen>
- Ðам Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе опÑии (поÑмоÑÑиÑе вÑвод
- <command>./configure --help</command>).
-</para></step>
-<step><para>
- <screen>make && make install</screen>
-</para></step>
-<step><para>
- ÐеÑекомпилиÑÑйÑе <application>MPlayer</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x264">
-<title><systemitem class="library">x264</systemitem></title>
-
-<para>
-<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
-is a library for creating H.264 video.
-<application>MPlayer</application> sources are updated whenever
-an <systemitem class="library">x264</systemitem> API change
-occurs, so it is always suggested to use
-<application>MPlayer</application> from Subversion.
-</para>
-
-<para>
-If you have a GIT client installed, the latest x264
-sources can be gotten with this command:
-<screen>git clone git://git.videolan.org/x264.git</screen>
-
-Then build and install in the standard way:
-<screen>./configure && make && make install</screen>
-
-Now rerun <filename>./configure</filename> for
-<application>MPlayer</application> to pick up
-<systemitem class="library">x264</systemitem> support.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="amr">
-<title>AMR кодеки</title>
-<para>
-РеÑевой кодек Adaptive Multi-Rate иÑполÑзÑеÑÑÑ Ð² мобилÑнÑÑ
ÑелеÑонаÑ
ÑÑеÑÑего Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ñ (3G).
-
-ÐÑÑ
Ð¾Ð´Ð½Ð°Ñ ÑеализаÑÐ¸Ñ Ð´Ð¾ÑÑÑпна Ñ
-<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
-(беÑплаÑна Ð´Ð»Ñ Ð»Ð¸Ñного иÑполÑзованиÑ).
-ЧÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжкÑ, ÑкаÑайÑе и ÑÑÑановиÑе библиоÑеки поддеÑжки длÑ
-<ulink url="http://www.penguin.cz/~utx/amr">AMR-NB и AMR-WB</ulink>, ÑледÑÑ
-инÑÑÑÑкÑиÑм на Ñказанной ÑÑÑаниÑе.
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-<sect1 id="rtc">
-<title>RTC</title>
-<para>
-У <application>MPlayer</application>'а еÑÑÑ ÑÑи меÑода ÑинÑ
ÑонизаÑии.
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">ЧÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ ÑÑаÑÑй меÑод ÑинÑ
ÑонизаÑии</emphasis>,
- Ðам ниÑего не надо делаÑÑ. Ðн иÑполÑзÑÐµÑ <systemitem>usleep()</systemitem>,
- ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÑÑÑоиÑÑ A/V ÑинÑ
ÑонизаÑиÑ, Ñ ÑоÑноÑÑÑÑ +/- 10ms. Ðднако, иногда
- ÑÑебÑеÑÑÑ Ð´Ð°Ð¶Ðµ болÑÑÐ°Ñ ÑоÑноÑÑÑ ÑинÑ
ÑонизаÑии.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">ÐовÑй ÑаймеÑ</emphasis> иÑполÑзÑÐµÑ RTC (Real Time
- Clock[ÑаÑÑ Ð¸ÑÑинного вÑемени]) Ð´Ð»Ñ ÑÑой задаÑи поÑомÑ, ÑÑо ÑÑо ÑаймеÑ
- ÑоÑноÑÑÑÑ 1ms. Ðн вклÑÑаеÑÑÑ Ð¾Ð¿Ñией <option>-rtc</option>, но ÑÑебÑеÑ
- пÑавилÑно наÑÑÑоенного ÑдÑа.
- ÐÑли ÐÑ ÑабоÑаеÑе Ñ ÑдÑом 2.4.19pre8 или более поздним, ÐÑ Ð¼Ð¾Ð¶ÐµÑе наÑÑÑоиÑÑ
- макÑималÑнÑÑ ÑаÑÑоÑÑ RTC Ð´Ð»Ñ Ð¾Ð±ÑÑнÑÑ
полÑзоваÑелей ÑеÑез ÑайловÑÑ ÑиÑÑемÑ
- <systemitem class="systemname">/proc</systemitem>.
- ÐÑполÑзÑйÑе Ð¾Ð´Ð½Ñ Ð¸Ð· ÑÑиÑ
двÑÑ
команд, ÑÑÐ¾Ð±Ñ ÑделаÑÑ RTC доÑÑÑпнÑм Ð´Ð»Ñ Ð¾Ð±ÑÑнÑÑ
- полÑзоваÑелей:
- <screen>echo 1024 > /proc/sys/dev/rtc/max-user-freq</screen>
- <screen>sysctl dev/rtc/max-user-freq=1024</screen>
- Ðожно ÑделаÑÑ ÑÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑоÑннÑми, добавив поÑледнÑÑ Ð²
- <filename>/etc/sysctl.conf</filename>.
- </para>
- <para>
- ÐÑ ÑвидиÑе ÑÑÑекÑивноÑÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кода ÑаймеÑа по ÑÑÑоке ÑоÑÑоÑниÑ.
- ФÑнкÑии ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑеблÑемой моÑноÑÑÑÑ[power management] Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
- ноÑÑбÑковÑкиÑ
BIOS'ов Ñо speedstep-CPU плоÑ
о взаимодейÑÑвÑÑÑ Ñ RTC. ÐÑдио и
- видео могÑÑ Ð´ÐµÑинÑ
ÑонизиÑоваÑÑÑÑ. ÐеÑоÑÑно, еÑли ÐÑ Ð²ÑÑавиÑе ÑÑÐµÐºÐµÑ Ð²Ð½ÐµÑнего
- пиÑÐ°Ð½Ð¸Ñ Ð´Ð¾ вклÑÑÐµÐ½Ð¸Ñ Ð½Ð¾ÑÑбÑка, Ñо ÑÑо поможеÑ. РнекоÑоÑÑÑ
аппаÑаÑнÑÑ
- комбинаÑиÑÑ
(подÑвеÑждено пÑи иÑполÑзовании не-DMA DVD дÑайва Ñ Ð¼Ð°ÑеÑинÑкой
- плаÑой ALi1541) иÑполÑзование RTC ÑаймеÑа пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº "пÑÑгаÑÑемÑ"[skippy]
- пÑоигÑÑваниÑ. Ð ÑÑом ÑлÑÑае ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÑеÑий меÑод.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">ТÑеÑий код ÑаймеÑа</emphasis> вклÑÑаеÑÑÑ Ð¾Ð¿Ñией
- <option>-softsleep</option>. У него ÑÑÑекÑивноÑÑÑ RTC, но он не иÑполÑзÑеÑ
- RTC. С дÑÑгой ÑÑоÑонÑ, он ÑилÑнее иÑполÑзÑÐµÑ CPU.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/ru/mencoder.xml b/DOCS/xml/ru/mencoder.xml
deleted file mode 100644
index e45ee50..0000000
--- a/DOCS/xml/ru/mencoder.xml
+++ /dev/null
@@ -1,760 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r26258 -->
-<chapter id="mencoder">
-<title>ÐÑÐ½Ð¾Ð²Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ <application>MEncoder</application></title>
-
-<para>
-ÐолнÑй ÑпиÑок доÑÑÑпнÑÑ
опÑий <application>MEncoder</application> и пÑимеÑÑ
-ÑмоÑÑиÑе на ÑÑÑаниÑе ÑÑководÑÑва man.
-
-Ð Ñд наглÑднÑÑ
пÑимеÑов и подÑобнÑе ÑÑководÑÑва по иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑделÑнÑÑ
-паÑамеÑÑов кодиÑованиÑ, можно ÑзнаÑÑ Ð¿ÑоÑÑÑ
-<ulink url="../../tech/encoding-tips.txt">ÑовеÑÑ Ð¿Ð¾ кодиÑованиÑ</ulink>, коÑоÑÑе мÑ
-ÑобÑали из оÑделÑнÑÑ
ниÑей[threads] ÑаÑÑÑлки MPlayer-users. РаÑÑ
иваÑ
-<ulink url="http://lists.mplayerhq.hu/pipermail/mencoder-users/">здеÑÑ</ulink>
-и, оÑобенно по Ð¿Ð¾Ð²Ð¾Ð´Ñ ÑÑаÑÑÑ
веÑей,
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">здеÑÑ</ulink>
-найдеÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво диÑкÑÑÑий, поÑвÑÑеннÑÑ
вÑеÑ
аÑпекÑам и пÑоблемам кодиÑованиÑ
-пÑи помоÑи <application>MEncoder</application>.
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-codec">
-<title>ÐÑÐ±Ð¾Ñ ÐºÐ¾Ð´ÐµÐºÐ¾Ð² и ÑоÑмаÑа Ñайлов</title>
-
-<para>
-ÐÑдио и видео кодеки Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑбиÑаÑÑÑÑ Ð¾Ð¿ÑиÑми
-<option>-oac</option> и <option>-ovc</option>, ÑооÑвеÑÑÑвенно.
-ÐабеÑиÑе Ð´Ð»Ñ Ð¿ÑимеÑа:
-<screen>mencoder -ovc help</screen>
-ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑпиÑок вÑеÑ
видео кодеков поддеÑживаемÑÑ
-веÑÑией <application>MEncoder</application>, ÑÑÑановленной на ваÑей маÑине.
-ÐоÑÑÑÐ¿Ð½Ñ ÑледÑÑÑие ваÑианÑÑ:
-</para>
-
-<para>
-ÐÑдио кодеки:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row>
- <entry>Ðазвание кодека</entry>
- <entry>ÐпиÑание</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mp3lame</entry>
- <entry>ÐодиÑÑйÑе в VBR, ABR или CBR MP3 Ñ LAME</entry>
-</row>
-<row>
- <entry>lavc</entry>
- <entry>ÐÑполÑзÑйÑе один из кодеков библиоÑеки <link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem></link></entry>
-</row>
-<row>
- <entry>faac</entry>
- <entry>FAAC AAC аÑдио кодеÑ</entry>
-</row>
-<row>
- <entry>toolame</entry>
- <entry>MPEG Audio Layer 2 кодеÑ</entry>
-</row>
-<row>
- <entry>twolame</entry>
- <entry>MPEG Audio Layer 2 кодеÑ, оÑнованнÑй на tooLAME</entry>
-</row>
-<row>
- <entry>pcm</entry>
- <entry>ÐеÑжаÑÑй PCM звÑк</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>Ðе пеÑекодиÑоваÑÑ, пÑоÑÑо копиÑоваÑÑ ÑжаÑÑе кадÑÑ</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Ðидео кодеки:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Ðазвание кодека</entry><entry>ÐпиÑание</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavc</entry>
- <entry>ÐÑполÑзÑйÑе один из кодеков библиоÑеки <link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem></link></entry>
-</row>
-<row>
- <entry>xvid</entry>
- <entry>Xvid, MPEG-4 Advanced Simple Profile (ASP) кодек</entry>
-</row>
-<row>
- <entry>x264</entry>
- <entry>x264, MPEG-4 Advanced Video Coding (AVC), AKA[он же] H.264 кодек</entry>
-</row>
-<row>
- <entry>nuv</entry>
- <entry>nuppel видео, иÑполÑзÑемое некоÑоÑÑми пÑиложениÑми ÑеалÑного вÑемени</entry>
-</row>
-<row>
- <entry>raw</entry>
- <entry>ÐеÑжаÑÑе видео кадÑÑ</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>Ðе пеÑекодиÑоваÑÑ, пÑоÑÑо ÑкопиÑоваÑÑ ÑжаÑÑе кадÑÑ</entry>
-</row>
-<row>
- <entry>frameno</entry>
- <entry>ÐÑполÑзовалÑÑ Ð´Ð»Ñ 3-Ñ
пÑоÑ
одного кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (не ÑекомендÑеÑÑÑ)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-ФоÑÐ¼Ð°Ñ Ð²ÑÑ
однÑÑ
Ñайлов вÑбиÑаеÑÑÑ Ð¾Ð¿Ñией <option>-of</option>.
-ÐабеÑиÑе:
-<screen>mencoder -of help</screen>
-ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑпиÑок вÑеÑ
ÑоÑмаÑов, поддеÑживаемÑÑ
веÑÑией
-<application>MEncoder</application>, ÑÑÑановленного на ваÑей маÑине.
-ÐоÑÑÑÐ¿Ð½Ñ ÑледÑÑÑие ваÑианÑÑ:
-</para>
-
-<para>
-ФоÑмаÑÑ Ñайлов:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Ðазвание ÑоÑмаÑа</entry><entry>ÐпиÑание</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavf</entry>
- <entry>Ðдин из ÑоÑмаÑов, поддеÑживаемÑÑ
библиоÑекой
- <systemitem class="library">libavformat</systemitem></entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>'Слоеное' ÐÑдио-Ðидео</entry>
-</row>
-<row>
- <entry>mpeg</entry>
- <entry>MPEG-1 и MPEG-2 PS</entry>
-</row>
-<row>
- <entry>rawvideo</entry>
- <entry>ÑÑÑой видео поÑок (без мÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ - ÑолÑко видео поÑок)</entry>
-</row>
-<row>
- <entry>rawaudio</entry>
- <entry>ÑÑÑой аÑдио поÑок (без мÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ - ÑолÑко аÑдио поÑок)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-AVI ÑвлÑеÑÑÑ ÑоднÑм ÑоÑмаÑом Ð´Ð»Ñ <application>MEncoder</application>,
-ÑÑо ознаÑÐ°ÐµÑ Ð½Ð°Ð¸Ð»ÑÑÑÑÑ ÐµÐ³Ð¾ поддеÑжкÑ,
-<application>MEncoder</application> изнаÑалÑно ÑазÑабаÑÑвалÑÑ Ð´Ð»Ñ ÑÑого ÑоÑмаÑа.
-Ðак замеÑено вÑÑе, дÑÑгие ÑоÑмаÑÑ Ñоже пÑигоднÑ, но
-Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑÑолкнÑÑÑÑÑ Ñ Ð¿Ñоблемами пÑи иÑ
иÑполÑзовании.
-</para>
-
-<para>
-ÑоÑмаÑÑ Ñайлов библиоÑеки <systemitem class="library">libavformat</systemitem>:
-</para>
-
-<para>
-ÐÑли Ð²Ñ Ð²ÑбÑали <systemitem class="library">libavformat</systemitem> длÑ
-мÑлÑÑиплекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑÑ
одного Ñайла (иÑполÑзÑÑ <option>-of lavf</option>),
-подÑ
одÑÑий ÑоÑÐ¼Ð°Ñ Ñайла бÑÐ´ÐµÑ Ð¾Ð¿Ñеделен по ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð²ÑÑ
одного Ñайла.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе заÑÑавиÑÑ Ð¸ÑполÑзоваÑÑ ÐºÐ¾Ð½ÐºÑеÑнÑй ÑоÑÐ¼Ð°Ñ Ð¾Ð¿Ñией
-<option>format</option> библиоÑеки
-<systemitem class="library">libavformat</systemitem>.
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead><row>
-<entry>название ÑоÑмаÑа <systemitem class="library">libavformat</systemitem></entry><entry>ÐпиÑание</entry>
-</row></thead>
-<tbody>
-<row>
- <entry>mpg</entry>
- <entry>MPEG-1 и MPEG-2 PS</entry>
-</row>
-<row>
- <entry>asf</entry>
- <entry>Advanced Streaming Format</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>'Слоеное' ÐÑдио-Ðидео</entry>
-</row>
-<row>
- <entry>wav</entry>
- <entry>Waveform ÐÑдио</entry>
-</row>
-<row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Macromedia Flash видео</entry>
-</row>
-<row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
-</row>
-<row>
- <entry>au</entry>
- <entry>SUN AU</entry>
-</row>
-<row>
- <entry>nut</entry>
- <entry>
- оÑкÑÑÑÑй ÑоÑÐ¼Ð°Ñ NUT (ÑкÑпеÑименÑалÑнÑй и пока не полноÑÑÑÑ ÑооÑвеÑÑÑвÑÑÑий ÑпеÑиÑикаÑии)
- </entry>
-</row>
-<row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
-</row>
-<row>
- <entry>mp4</entry>
- <entry>MPEG-4 ÑоÑмаÑ</entry>
-</row>
-<row>
- <entry>dv</entry>
- <entry>Sony Digital Ðидео ÑоÑмаÑ</entry>
-</row>
-<row>
- <entry>mkv</entry>
- <entry>ÐÑкÑÑÑÑй аÑдио/видео конÑÐµÐ¹Ð½ÐµÑ Matroska</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-Ðак видиÑе, <systemitem class="library">libavformat</systemitem>
-позволÑÐµÑ <application>MEncoder</application> мÑлÑÑиплекÑиÑоваÑÑ Ð²Ð¾
-множеÑÑво ÑоÑмаÑов.
-Ð ÑожалениÑ, поÑколÑÐºÑ <application>MEncoder</application> изнаÑалÑно не ÑазÑабаÑÑвалÑÑ
-Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки ÑоÑмаÑов, оÑлиÑнÑÑ
Ð¾Ñ AVI, вам ÑледÑÐµÑ Ð¾ÑноÑиÑÑÑÑ Ðº ÑезÑлÑÑиÑÑÑÑемÑ
-ÑÐ°Ð¹Ð»Ñ Ñ Ð¾Ð¿Ñеделенной долей паÑанойи. УбедиÑеÑÑ, ÑÑо в поÑÑдке ÐÑдио/видео ÑинÑ
ÑонизаÑиÑ, и
-Ñайл воÑпÑоизводиÑÑÑ Ð½Ðµ ÑолÑко в <application>MPlayer</application>.
-</para>
-
-<example id="encode_to_macromedia_flash_format">
-<title>ÐодиÑование в ÑоÑÐ¼Ð°Ñ Macromedia Flash</title>
-<para>
-Создание видео Macromedia Flash, подÑ
одÑÑего Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð² веб бÑаÑзеÑе плагином
-Macromedia Flash:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
-</screen>
-</para>
-</example>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-input">
-<title>ÐÑÐ±Ð¾Ñ Ð²Ñ
одного Ñайла или ÑÑÑÑойÑÑва</title>
-
-<para>
-<application>MEncoder</application> Ð¼Ð¾Ð¶ÐµÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ Ð¸Ð· Ñайлов или непоÑÑедÑÑвенно
-Ñ DVD или VCD диÑка.
-ÐÑоÑÑо ÑкажиÑе Ð¸Ð¼Ñ Ñайла в командной ÑÑÑоке Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· Ñайла,
-или <option>dvd://</option><replaceable>номеÑ_Ñолика</replaceable> или
-<option>vcd://</option><replaceable>номеÑ_доÑожки</replaceable> Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ
-DVD Ñолика или VCD доÑожки.
-ÐÑли Ð²Ñ Ñже ÑкопиÑовали DVD на жеÑÑкий диÑк (може воÑполÑзоваÑÑÑÑ ÑÑилиÑой вÑоде
-<application>dvdbackup</application>, доÑÑÑпной на многиÑ
ÑиÑÑемаÑ
),
-и желаеÑе кодиÑоваÑÑ Ð¸Ð· копии, вледÑÐµÑ Ð¿Ð¾-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð¸ÑполÑзоваÑÑ
-<option>dvd://</option> ÑинÑакÑиÑ, вмеÑÑе Ñ <option>-dvd-device</option>
-Ñ Ð¿Ð¾ÑледÑÑÑим пÑÑек к коÑÐ½Ñ ÐºÐ¾Ð¿Ð¸Ð¸ DVD.
-
-ÐпÑии <option>-dvd-device</option> и <option>-cdrom-device</option> Ñакже могÑÑ
-бÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ Ð¿ÐµÑеопÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑÑей к Ñайлам ÑÑÑÑойÑÑв длÑ
-ÑÑÐµÐ½Ð¸Ñ Ð¿ÑÑмо Ñ Ð´Ð¸Ñка, еÑли знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾-ÑмолÑаниÑ
-<filename>/dev/dvd</filename> и <filename>/dev/cdrom</filename> не подÑ
одÑÑ Ð´Ð»Ñ
-ваÑей ÑиÑÑемÑ.
-</para>
-
-<para>
-ÐÑи кодиÑовании Ñ DVD, ÑаÑÑо бÑÐ²Ð°ÐµÑ Ð¶ÐµÐ»Ð°ÑелÑно вÑбÑаÑÑ Ñаздел или диапазон
-Ñазделов Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑованиÑ. Ð´Ð»Ñ ÑÑой Ñели можно иÑполÑзоваÑÑ Ð¾Ð¿ÑиÑ
-<option>-chapter</option>.
-ÐапÑимеÑ, <option>-chapter</option> <replaceable>1-4</replaceable>
-бÑÐ´ÐµÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑ ÑолÑко ÑÐ°Ð·Ð´ÐµÐ»Ñ DVD Ñ 1-го по 4-й.
-ÐÑо оÑобенно полезно пÑи кодиÑовании 1400Ðб Ñ ÑелÑÑ ÑмеÑÑиÑÑ Ð¸Ñ
на 2 CD,
-Ñак как Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑазбиÑÑ ÑилÑм ÑоÑно на гÑаниÑе Ñаздела, вмеÑÑо
-ÑеÑÐµÐ´Ð¸Ð½Ñ Ð½ÐµÐºÐ¾ÑоÑой ÑÑенÑ.
-</para>
-
-<para>
- ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ°ÑÑа TV заÑ
ваÑа, Ð²Ñ Ñакже можеÑе
- кодиÑоваÑÑ Ñ TV вÑ
ода.
- ÐÑполÑзÑйÑе <option>tv://</option><replaceable>номеÑ_канала</replaceable> в каÑеÑÑве
- имени Ñайла, и опÑÐ¸Ñ <option>-tv</option> Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ÑазлиÑнÑй паÑамеÑÑов заÑ
ваÑа.
- DVB вÑ
од ÑабоÑÐ°ÐµÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñно.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg4">
-<title>ÐвÑÑ
пÑоÑ
одное кодиÑование MPEG-4 ("DivX")</title>
-<para>
-Ðазвание пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¸Ð· Ñого ÑакÑа, ÑÑо кодиÑование Ñайла пÑоизводиÑÑÑ
-<emphasis>дваждÑ</emphasis>.
-ÐеÑвое кодиÑование (дÑблиÑÑÑÑий пÑоÑ
од) ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð½ÐµÑколÑко вÑеменнÑÑ
Ñайлов
-(<filename>*.log</filename>) ÑазмеÑом в неÑколÑко мегабайÑ, не ÑдалÑйÑе иÑ
пока
-(Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑдалиÑÑ AVI или вообÑе не ÑоздаваÑÑ Ð²Ð¸Ð´ÐµÐ¾Ñайл, пеÑенапÑавив его
-в <filename>/dev/null</filename>). Ðа вÑоÑом пÑоÑ
оде, Ñ Ð¸ÑполÑзованием даннÑÑ
о
-биÑпоÑоке из вÑеменнÑÑ
Ñайлов, ÑоÑмиÑÑеÑÑÑ Ð³Ð¾ÑовÑй вÑÑ
одной. ÐолÑÑивÑийÑÑ Ñайл
-бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ лÑÑÑее каÑеÑÑво каÑÑинки. ÐÑли ÑлÑÑиÑе об ÑÑом в пеÑвÑй Ñаз,
-обÑаÑиÑеÑÑ Ðº ÑÑководÑÑвам, коÑоÑÑе можно найÑи в инÑеÑнеÑ.
-</para>
-
-<example id="copy_audio_track">
-<title>копиÑование звÑковой доÑожки</title>
-<para>
-ÐодиÑование (двÑÑ
пÑоÑ
одное) вÑоÑой доÑожки DVD в MPEG-4 ("DivX") AVI Ñ
-копиÑованием звÑковой доÑожки.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>кодиÑование звÑковой доÑожки</title>
-<para>
-ÐодиÑование (в два пÑоÑ
ода) DVD в MPEG-4 ("DivX") AVI Ñ ÐºÐ¾Ð´Ð¸Ñованием
-звÑковой доÑожки в MP3. ÐÑдÑÑе аккÑÑаÑнÑ, иÑполÑзÑÑ ÑÑÐ¾Ñ Ð¼ÐµÑод, Ñак как в некоÑоÑÑÑ
ÑлÑÑаÑÑ
-ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к ÑаÑÑинÑ
ÑонизаÑии аÑдио/видео.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-handheld-psp">
-<title>ÐодиÑование в Sony PSP видео ÑоÑмаÑ</title>
-
-<para>
-<application>MEncoder</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð´Ð¸Ñование в видео ÑоÑмаÑ
-Sony PSP, но, в завиÑимоÑÑи Ð¾Ñ Ñевизии пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ PSP,
-Ñ ÑазлиÑнÑми огÑаниÑениÑми. ÐожеÑе не беÑпокоиÑÑÑÑ, еÑли не бÑдеÑе
-наÑÑÑаÑÑ ÑледÑÑÑие огÑаниÑениÑ:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">ÐиÑовÑй поÑок</emphasis>: не должен пÑевÑÑаÑÑ 1500кбиÑ/Ñ,
- Ñем не менее, поÑледние веÑÑии оÑÐµÐ½Ñ Ñ
оÑоÑо поддеÑживали лÑбой биÑÑейÑ, пока
- заголовок не ÑÑебовал ÑеÑезÑÑÑ Ð±Ð¾Ð»ÑÑого знаÑениÑ.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">РазмеÑÑ</emphasis>: ÑиÑина и вÑÑоÑа PSP видео должна бÑÑÑ
- кÑаÑна 16, а пÑоизведение ÑиÑина * вÑÑоÑа не должно пÑевÑÑаÑÑ 64000.
- РнекоÑоÑÑÑ
ÑлÑÑаÑÑ
возможно воÑпÑоизведение видео болÑÑего ÑазмеÑа.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ÐвÑк</emphasis>: ÑаÑÑоÑа диÑкÑеÑизаÑии должна бÑÑÑ
- 24кÐÑ Ð´Ð»Ñ MPEG-4, и 48кÐÑ Ð´Ð»Ñ H.264.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<example id="encode_for_psp">
-<title>ÐодиÑование Ð´Ð»Ñ PSP</title>
-<para>
-<screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
-<replaceable>input.video</replaceable> -o <replaceable>output.psp</replaceable>
-</screen>
-ÐамеÑÑÑе, ÑÑо можно задаÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº видео опÑией
-<option>-info name=<replaceable>Ðаголовок_ФилÑма</replaceable></option>.
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg">
-<title>ÐодиÑование в MPEG ÑоÑмаÑ</title>
-<para>
-<application>MEncoder</application> Ð¼Ð¾Ð¶ÐµÑ ÑоздаваÑÑ ÑÐ°Ð¹Ð»Ñ ÑоÑмаÑа MPEG (MPEG-PS).
-MPEG-1 или MPEG-2 обÑÑно иÑполÑзÑÑÑ Ð¿Ð¾ пÑиÑине кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² более
-огÑаниÑеннÑе ÑоÑмаÑÑ, Ñакие как SVCD, VCD или DVD.
-ÐÑобÑе ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑÑиÑ
ÑоÑмаÑов опиÑÐ°Ð½Ñ Ð²
-<link linkend="menc-feat-vcd-dvd"> ÑÑководÑÑве по ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ VCD и DVD</link>
-section.
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ ÑмениÑÑ ÑоÑÐ¼Ð°Ñ Ð²ÑÑ
одного Ñайла <application>MEncoder</application>, иÑполÑзÑйÑе
-опÑÐ¸Ñ <option>-of mpeg</option>.
-</para>
-
-<informalexample>
-<para>
-ÐÑимеÑ:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -ovc lavc -lavcopts
-vcodec=mpeg1video \
- -oac copy <replaceable>other_options</replaceable> -o <replaceable>output.mpg</replaceable>
-</screen>
-СоздаеÑÑÑ Ñайл MPEG-1 пÑигоднÑй Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð° ÑиÑÑемаÑ
Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñной поддеÑжкой
-мÑлÑÑимедиа, ÑакиÑ
как ÑолÑко ÑÑо ÑÑÑановленнÑе Windows:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>output.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-То же, но иÑполÑзÑÑ <systemitem class="library">libavformat</systemitem> MPEG
-мÑлÑÑиплекÑоÑ:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>ÐодÑказка:</title>
-<para>
-ÐÑли по каким-Ñо пÑиÑинам видео поÑле вÑоÑого пÑоÑ
ода Ð²Ð°Ñ Ð½Ðµ ÑÑÑÑаиваеÑ,
-можно Ñнова запÑÑÑиÑÑ ÐºÐ¾Ð´Ð¸Ñование Ñ Ð´ÑÑгими знаÑениÑми биÑпоÑока, пÑи
-ÑÑловии, ÑÑо Ð²Ñ ÑоÑ
Ñанили ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿ÑедÑдÑÑего пÑоÑ
ода.
-ÐÑо возможно, поÑÐ¾Ð¼Ñ ÑÑо оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð·Ð°Ð´Ð°Ñа Ñайла Ñо ÑÑаÑиÑÑикой - запиÑÑваÑÑ
-ÑложноÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ кадÑа, коÑоÑÐ°Ñ Ð¶ÐµÑÑко Ñ Ð±Ð¸ÑпоÑоком не ÑвÑзана.
-СледÑÐµÑ Ð¸Ð¼ÐµÑÑ Ð² видÑ, ÑÑо, неÑмоÑÑÑ Ð½Ð° ÑÑо, лÑÑÑее каÑеÑÑво полÑÑаеÑÑÑ ÐµÑли
-знаÑÐµÐ½Ð¸Ñ ÑезÑлÑÑиÑÑÑÑего биÑпоÑока вÑеÑ
пÑоÑ
одов не ÑилÑно оÑлиÑаÑÑÑÑ.
-</para>
-</note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-rescale">
-<title>ÐаÑÑÑабиÑование ÑилÑмов</title>
-
-<para>
-ЧаÑÑо Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð¿Ð¾ÑÑебноÑÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ ÑилÑма.
-ÐÑиÑин Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾: ÑменÑÑение ÑазмеÑа Ñайла, пÑопÑÑÐºÐ½Ð°Ñ ÑпоÑобноÑÑÑ ÑеÑи,
-и Ñ.д. ÐолÑÑинÑÑво пÑоизводÑÑ Ð¼Ð°ÑÑÑабиÑование даже пÑи конвеÑÑаÑии DVD или SVCD в AVI.
-ÐÑли еÑÑÑ Ð¶ÐµÐ»Ð°Ð½Ð¸Ðµ пÑовеÑÑи маÑÑÑабиÑование, пÑоÑÑиÑе Ñаздел
-<link linkend="aspect">СоÑ
Ñанение пÑопоÑÑий</link>.
-</para>
-
-<para>
-ÐÑоÑеÑÑ Ð¼Ð°ÑÑÑабиÑование оÑÑÑеÑÑвлÑеÑÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð¼ <literal>scale</literal>:
-<option>-vf scale=<replaceable>ÑиÑина</replaceable>:<replaceable>вÑÑоÑа</replaceable></option>.
-ÐаÑеÑÑво Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÑановлено опÑией <option>-sws</option>.
-ÐÑли не Ñказано, <application>MEncoder</application> бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ 2: бикÑбиÑеÑкое.
-</para>
-
-<para>
-ÐÑполÑзование:
-<screen>
-mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>копиÑование поÑока</title>
-
-<para>
-<application>MEncoder</application> Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð±ÑабаÑÑваÑÑ Ð²Ñ
однÑе поÑоки двÑÐ¼Ñ ÑпоÑобами:
-<emphasis role="bold">кодиÑоваÑÑ</emphasis> или <emphasis role="bold">копиÑоваÑÑ</emphasis>
-иÑ
. ÐÑÐ¾Ñ Ñаздел о <emphasis role="bold">копиÑовании</emphasis>.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Ðидео поÑок</emphasis> (опÑÐ¸Ñ <option>-ovc copy</option>):
- можно делаÑÑ ÐºÐ»Ð°ÑÑнÑе веÑи :) ÐÑоде помеÑÐµÐ½Ð¸Ñ (не пÑеобÑазованиÑ!) FLI или VIVO или
- MPEG-1 видео в AVI Ñайл! ÐонеÑно, пÑоигÑаÑÑ Ñакие ÑÐ°Ð¹Ð»Ñ ÑÐ¼Ð¾Ð¶ÐµÑ ÑолÑко
- <application>MPlayer</application> :) Ð, возможно, никакого ÑеалÑной полÑÐ·Ñ Ð²
- ÑÑом неÑ. РеалÑно: копиÑование видеопоÑока Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾, еÑли надо кодиÑоваÑÑ ÑолÑко
- аÑдио поÑок (напÑимеÑ, неÑжаÑÑй PCM в MP3).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ÐÑдио поÑок</emphasis> (опÑÐ¸Ñ <option>-oac copy</option>):
- straightforward. Ðозможно взÑÑÑ Ð²Ð½ÐµÑний Ñайл (MP3, WAV) и ÑплоÑниÑÑ[mux] его в вÑÑ
одной
- поÑок. ÐоÑполÑзÑйÑеÑÑ Ð¾Ð¿Ñией <option>-audiofile <replaceable>имÑ_Ñайла</replaceable></option>,
- ÑÑÐ¾Ð±Ñ ÑделаÑÑ ÑÑо.
-</para></listitem>
-</itemizedlist>
-
-<para>
-ÐÑполÑзование <option>-oac copy</option> Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· одного ÑоÑмаÑа в дÑÑгой
-Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ <option>-fafmttag</option> Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑÑга аÑдио ÑоÑмаÑа
-из оÑигиналÑного Ñайла. ÐапÑимеÑ, еÑли Ð²Ñ Ð¿ÑеобÑазовÑваеÑе NSV Ñайл Ñо звÑком AAC
-в ÑоÑÐ¼Ð°Ñ AVI, аÑдио ÑоÑÐ¼Ð°Ñ Ð±ÑÐ´ÐµÑ Ð½ÐµÐ²ÐµÑен и должен бÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑпиÑок
-ÑÑгов аÑдио ÑоÑмаÑа пÑовеÑÑÑе <filename>codecs.conf</filename>.
-</para>
-
-<para>
-ÐÑимеÑ:
-<screen>
-mencoder <replaceable>input.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-images">
-<title>ÐодиÑование из неÑколÑкиÑ
вÑ
однÑÑ
Ñайлов изобÑажений (JPEG, PNG, TGA, SGI)</title>
-
-<para>
-<application>MEncoder</application> Ð¼Ð¾Ð¶ÐµÑ ÑоздаваÑÑ ÑилÑÐ¼Ñ Ð¸Ð· одного или более
-JPEG, PNG, TGA или дÑÑгиÑ
Ñайлов изобÑажений. ÐÑоÑÑÑм копиÑованием кадÑов он Ð¼Ð¾Ð¶ÐµÑ ÑоздаваÑÑ MJPEG
-(Motion JPEG), MPNG (Motion PNG) или MTGA (Motion TGA) ÑайлÑ.
-</para>
-
-<orderedlist>
-<title>РазÑÑÑнение пÑоÑеÑÑа:</title>
-<listitem><para>
- <application>MEncoder</application> <emphasis>декодиÑÑеÑ</emphasis> изобÑажение(Ñ) Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
- <systemitem class="library">libjpeg</systemitem> (пÑи декодиÑовании PNG, он бÑдеÑ
- иÑполÑзоваÑÑ <systemitem class="library">libpng</systemitem>).
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application> заÑем ÑкаÑÐ¼Ð»Ð¸Ð²Ð°ÐµÑ Ð´ÐµÐºÐ¾Ð´Ð¸Ñованное изобÑажение вÑбÑанномÑ
- видео компÑеÑÑоÑÑ (DivX4, Xvid, FFmpeg msmpeg4, и .Ñ.д).
-</para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>пÑимеÑÑ</title>
-<para>
-The explanation of the <option>-mf</option> option is in the man page.
-
-<informalexample>
-<para>
-Создание Ñайла MPEG-4 из вÑеÑ
JPEG Ñайлов ÑекÑÑего каÑалога:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Создание Ñайла MPEG-4 из некоÑоÑÑÑ
JPEG Ñайлов ÑекÑÑего каÑалога:
-<screen>
-mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Создание Ñайла MPEG-4 из Ñвного ÑпиÑка JPEG Ñайлов (list.txt в ÑекÑÑем каÑалоге ÑодеÑжиÑ
-ÑпиÑок Ñайлов, иÑполÑзÑемÑÑ
в каÑеÑÑве иÑÑоÑника, по Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð² ÑÑÑоке):
-<screen>
-mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑмеÑиваÑÑ ÑазлиÑнÑе ÑÐ¸Ð¿Ñ Ð¸Ð·Ð¾Ð±Ñажений незавиÑимо Ð¾Ñ Ð¸ÑполÑзÑемого
-меÑода — оÑделÑнÑе ÑайлÑ, маÑка или Ñайл Ñо ÑпиÑком — пÑи ÑÑловии,
-конеÑно, ÑÑо они имеÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ðµ ÑазÑеÑение.
-Так ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе, напÑимеÑ, взÑÑÑ ÑиÑÑлÑнÑй ÐºÐ°Ð´Ñ Ð¸Ð· PNG Ñайла, а заÑем
-помеÑÑиÑÑ ÑлайдÑÐ¾Ñ Ð¸Ð· JPEG ÑоÑогÑаÑий.
-
-<informalexample>
-<para>
-Создание Ñайла Motion JPEG (MJPEG) из вÑеÑ
JPEG Ñайлов ÑекÑÑего каÑалога:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Создание неÑжаÑого Ñайла из вÑеÑ
PNG Ñайлов ÑекÑÑего каÑалога:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><para>
-ШиÑина должна бÑÑÑ ÑелÑм ÑиÑлом, кÑаÑнÑм 4, ÑÑо огÑаниÑение ÑоÑмаÑа RAW RGB AVI.
-</para></note>
-
-<informalexample>
-<para>
-Создание Ñайла Motion PNG (MPNG) из вÑеÑ
PNG Ñайлов ÑекÑÑего каÑалога:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Создание Ñайла Motion TGA (MTGA) из вÑеÑ
TGA Ñайлов ÑекÑÑего каÑалога:
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-extractsub">
-<title>ÐзвлеÑение DVD ÑÑбÑиÑÑов в Ñайл VOBsub</title>
-
-<para>
-<application>MEncoder</application> ÑпоÑобен извлекаÑÑ ÑÑбÑиÑÑÑ Ð¸Ð· DVD в ÑÐ°Ð¹Ð»Ñ ÑоÑмаÑа
-VOBsub. Ðни ÑоÑÑоÑÑ Ð¸Ð· паÑÑ Ñайлов, оканÑиваÑÑиÑ
ÑÑ Ð½Ð°
-<filename>.idx</filename> и <filename>.sub</filename> и обÑÑно
-ÑÐ¿Ð°ÐºÐ¾Ð²Ð°Ð½Ñ Ð² один <filename>.rar</filename> аÑÑ
ив.
-<application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾ÑпÑоизводиÑÑ Ð¸Ð· пÑи помоÑи опÑий
-<option>-vobsub</option> и <option>-vobsubid</option>.
-</para>
-
-<para>
-ÐÑ ÑказÑваеÑе базовое Ð¸Ð¼Ñ (Ñ.е. без ÑаÑÑиÑÐµÐ½Ð¸Ñ <filename>.idx</filename> или
-<filename>.sub</filename>) вÑÑ
однÑÑ
Ñайлов Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<option>-vobsubout</option> и Ð¸Ð½Ð´ÐµÐºÑ ÑÑиÑ
ÑÑбÑиÑÑов в ÑезÑлÑÑиÑÑÑÑем Ñайле
-пÑи помоÑи <option>-vobsuboutindex</option>.
-</para>
-
-<para>
-ÐÑли иÑÑоÑником ÑвлÑеÑÑÑ Ð½Ðµ DVD ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ <option>-ifo</option> длÑ
-ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñайла <filename>.ifo</filename>, необÑ
одимого Ð´Ð»Ñ ÑозданиÑ
-ÑезÑлÑÑиÑÑÑÑего <filename>.idx</filename> Ñайла.
-</para>
-
-<para>
-ÐÑли иÑÑоÑником ÑвлÑеÑÑÑ Ð½Ðµ DVD и Ñ Ð²Ð°Ñ Ð½ÐµÑ <filename>.ifo</filename> Ñайла,
-иÑполÑзÑйÑе опÑÐ¸Ñ <option>-vobsubid</option> Ð´Ð»Ñ ÑказаниÑ, какой ид ÑзÑка
-ÑледÑÐµÑ Ð·Ð°Ð¿Ð¸ÑаÑÑ Ð² <filename>.idx</filename> Ñайл.
-</para>
-
-<para>
-ÐÑи каждом запÑÑке ÑÑбÑиÑÑÑ Ð±ÑдÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ Ð² ÐºÐ¾Ð½ÐµÑ Ñайлов, еÑли
-<filename>.idx</filename> и <filename>.sub</filename> Ñже ÑÑÑеÑÑвÑÑÑ.
-Так ÑÑо вам ÑледÑÐµÑ ÑдалÑÑÑ Ð¸Ñ
пеÑед наÑалом.
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>копиÑование двÑÑ
ÑÑбÑиÑÑов из DVD пÑи вÑполнении двÑÑ
пÑоÑ
одного кодиÑованиÑ</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout subtitles -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout subtitles -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>ÐопиÑование ÑÑанÑÑзÑкиÑ
ÑÑбÑиÑÑов из MPEG Ñайла</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
-</screen>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="aspect">
-<title>СоÑ
Ñанение пÑопоÑÑий</title>
-<para>
-DVD и SVCD (Ñ.е. MPEG-1/2) ÑÐ°Ð¹Ð»Ñ ÑодеÑÐ¶Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ пÑопоÑÑии, коÑоÑÐ°Ñ Ð¾Ð¿Ð¸ÑÑваеÑ
-как пÑоигÑÑваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ маÑÑÑабиÑоваÑÑ Ð²Ð¸Ð´ÐµÐ¾ поÑок, ÑÑÐ¾Ð±Ñ Ð»Ñди не ÑÑановилиÑÑ ÑйÑеголовÑми.
-(напÑ.: 480x480 + 4:3 = 640x480). ХоÑÑ Ð¿Ñи кодиÑовании в AVI (DivX) ÑÐ°Ð¹Ð»Ñ Ð²Ñ Ð¸Ð·Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð¾Ñ ÑÑой
-пÑоблемÑ, Ñ.к. заголовки AVI не ÑодеÑÐ¶Ð°Ñ ÑÑо знаÑение.
-ÐаÑÑÑабиÑование изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¾ÑвÑаÑиÑелÑно и ÑаÑÑоÑиÑелÑно, еÑÑÑ Ð»ÑÑÑий пÑÑÑ!
-</para>
-
-<para>There is</para>
-
-<para>
-MPEG-4 Ð¸Ð¼ÐµÐµÑ ÑникалÑнÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ: видео поÑок Ð¼Ð¾Ð¶ÐµÑ Ñ
ÑаниÑÑ ÑÑебÑемÑе ÐµÐ¼Ñ Ð¿ÑопоÑÑии.
-Ðа, в ÑоÑноÑÑи как MPEG-1/2 (DVD, SVCD) и H.263 ÑайлÑ. Ð ÑожалениÑ, немного пÑоигÑÑваÑелей
-кÑоме <application>MPlayer</application> поддеÑживаÑÑ ÑÑÐ¾Ñ MPEG-4 аÑÑибÑÑ.
-</para>
-
-<para>
-ÐÑа возможноÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑолÑко Ñ
-<systemitem class="library">libavcodec</systemitem>'овÑким
-<systemitem>mpeg4</systemitem> кодеком. ÐмейÑе в видÑ: Ñ
оÑÑ
-<application>MPlayer</application> коÑÑекÑно воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÑ Ñайл, дÑÑгие
-пÑоигÑÑваÑели могÑÑ Ð¸ÑполÑзоваÑÑ Ð½ÐµÐ²ÐµÑнÑе пÑопоÑÑии.
-</para>
-
-<para>
-ÐÑ ÑеÑÑезно Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð±ÑезаÑÑ ÑеÑнÑе полоÑÑ Ð²ÑÑе и ниже изобÑажениÑ.
-СмоÑÑиÑе ÑÑÑаниÑÑ ÑÑководÑÑва man по иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ <systemitem>cropdetect</systemitem> и
-<systemitem>crop</systemitem> плагинов.
-</para>
-
-<para>
-ÐÑполÑзование:
-<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>output.avi</replaceable></screen>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/ru/ports.xml b/DOCS/xml/ru/ports.xml
deleted file mode 100644
index dc6eba0..0000000
--- a/DOCS/xml/ru/ports.xml
+++ /dev/null
@@ -1,870 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r25771 -->
-<chapter id="ports" xreflabel="ÐоÑÑинг">
-<title>ÐоÑÑинг</title>
-
-<sect1 id="linux">
-<title>Linux</title>
-<para>
-ÐÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¿Ð»Ð°ÑÑоÑма ÑазÑабоÑки — ÑÑо Linux на x86, Ñ
оÑÑ
-<application>MPlayer</application> ÑабоÑÐ°ÐµÑ Ð¿Ð¾Ð´ многими дÑÑгими поÑÑами Linux.
-ÐинаÑнÑе пакеÑÑ <application>MPlayer</application>'а доÑÑÑÐ¿Ð½Ñ Ð¸Ð· неÑколÑкиÑ
иÑÑоÑников.
-Тем не менее,
-<emphasis role="bold">ни один из ÑÑиÑ
пакеÑов не поддеÑживаеÑÑÑ</emphasis>.
-СообÑайÑе о пÑоблемаÑ
иÑ
авÑоÑам, а не нам.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="debian">
-<title>Debian пакеÑÑ</title>
-<para>
-ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Debian пакеÑ, вÑполниÑе ÑледÑÑÑие ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð² каÑалоге Ñ Ð¸ÑÑ
однÑм
-кодом <application>MPlayer</application>'а:
-<screen>fakeroot debian/rules binary</screen>
-
-ÐÑли Ð²Ñ Ñ
оÑиÑе пеÑедаÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе опÑии configure, ÑÑÑановиÑе
-ÑооÑвеÑÑÑвÑÑÑее знаÑение пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ <envar>DEB_BUILD_OPTIONS</envar>.
-Ð ÑаÑÑноÑÑи, еÑли Ñ
оÑиÑе поддеÑÐ¶ÐºÑ GUI и OSD, ÑкажиÑе:
-
-<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
-ÐÑ Ñакже можеÑе пеÑедаÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе пеÑеменнÑе в Makefile. ÐапÑимеÑ, еÑли
-желаеÑе компилиÑоваÑÑ gcc 3.4 даже еÑли ÑÑо не оÑновной компилÑÑоÑ:
-
-<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
-ÐÐ»Ñ Ð¾ÑиÑÑки деÑева иÑÑ
однÑÑ
ÑекÑÑов воÑполÑзÑйÑеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹:
-
-<screen>fakeroot debian/rules clean</screen>
-
-РкаÑеÑÑве root'а ÐÑ Ð·Ð°Ñем можеÑе ÑÑÑановиÑÑ <filename>.deb
-</filename> пакеÑ:
-<screen>dpkg -i ../mplayer_<replaceable>веÑÑиÑ</replaceable>.deb</screen>
-</para>
-
-<para>
-Ðакое-Ñо вÑÐµÐ¼Ñ Christian Marillat ÑобиÑал неоÑиÑиалÑнÑе Debian пакеÑÑ Ñ
-<application>MPlayer</application>, <application>MEncoder</application>
-и бинаÑнÑми кодеками, Ñак ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑ
ÑкаÑаÑÑ (вÑполниÑÑ apt-get)
-Ñ ÐµÐ³Ð¾ <ulink url="http://www.debian-multimedia.org/">ÑайÑа</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="rpm">
-<title>RPM пакеÑÑ</title>
-<para>
-Dominik Mierzejewski поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¾ÑиÑиалÑнÑе Fedora Core RPM пакеÑÑ
-<application>MPlayer</application>'а. Ðни доÑÑÑÐ¿Ð½Ñ Ð²
-<ulink url="http://rpm.livan.org/">ÑепозиÑоÑии Livna</ulink>.
-</para>
-
-<para>
-Mandrake/Mandriva RPM пакеÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ñ <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
-SuSE вклÑÑала иÑкалеÑеннÑÑ Ð²ÐµÑÑÐ¸Ñ <application>MPlayer</application>'а в диÑÑÑибÑÑив.
-Ðз поÑледниÑ
Ñелизов они ÑбÑали ÑÑи пакеÑÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе взÑÑÑ
-ÑабоÑаÑÑие RPM Ñ
-<ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="arm">
-<title>ARM</title>
-<para>
-<application>MPlayer</application> ÑабоÑÐ°ÐµÑ Ð½Ð° Linux PDA Ñ ARM пÑоÑеÑÑоÑом,
-напÑÐ¸Ð¼ÐµÑ Sharp Zaurus, Compaq Ipaq. ÐÑоÑÑейÑий ÑпоÑоб полÑÑиÑÑ <application>
-MPlayer</application> — ÑÑо ÑкаÑаÑÑ ÐµÐ³Ð¾ Ñ
-пакеÑнÑÑ
ÑепозиÑоÑиев
-<ulink url="http://www.openzaurus.org">OpenZaurus</ulink>. ÐÑли ÐÑ Ñ
оÑиÑе
-ÑкомпилиÑоваÑÑ ÐµÐ³Ð¾ ÑамоÑÑоÑÑелÑно, обÑаÑиÑе внимание на каÑалоги
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
-и
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
-в коÑне ÑбоÑки диÑÑÑибÑÑива OpenZaurus. Там вÑегда найдÑÑÑÑ
-Ñвежий Makefile и паÑÑи, иÑполÑзÑемÑе Ð´Ð»Ñ ÑбоÑки SVN <application>MPlayer</application>'а вмеÑÑе Ñ
-<systemitem class="library">libavcodec</systemitem>.
-ÐÑли Ðам нÑжен GUI, иÑполÑзÑйÑе вÑÑÑоеннÑй в xmms
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bsd">
-<title>*BSD</title>
-<para>
-<application>MPlayer</application> ÑабоÑÐ°ÐµÑ Ð½Ð° вÑеÑ
извеÑÑнÑÑ
ÑемейÑÑваÑ
BSD.
-СÑÑеÑÑвÑÑÑ Ð¿Ð¾ÑÑиÑованнÑе[ports]/пакеÑÑ ÑоÑÑов[pkgsrcs]/fink/
-и Ñ.п. веÑÑии <application>MPlayer</application>, коÑоÑÑе, навеÑное, пÑоÑе иÑполÑзоваÑÑ,
-Ñем пÑоÑÑо иÑÑ
однÑй код.
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ ÑобÑаÑÑ <application>MPlayer</application>, Ðам понадобиÑÑÑ GNU make (gmake —
-Ñодной BSD make не бÑÐ´ÐµÑ ÑабоÑаÑÑ) и ÑÐ²ÐµÐ¶Ð°Ñ Ð²ÐµÑÑÐ¸Ñ binutils.
-</para>
-
-<para>
-ÐÑли <application>MPlayer</application> ÑÑгаеÑÑÑ, ÑÑо он не Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð¹Ñи
-<filename>/dev/cdrom</filename> или
-<filename>/dev/dvd</filename>, ÑоздайÑе ÑооÑвеÑÑÑвÑÑÑÑÑ ÑÑÑлкÑ:
-<screen>ln -s /dev/<replaceable>ÐаÑе_cdrom_ÑÑÑÑойÑÑво</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ Win32 DLL'и Ñ <application>MPlayer</application>'ом, Ðам необÑ
одимо
-пеÑекомпилиÑоваÑÑ
-ÑдÑо Ñ "<envar>option USER_LDT</envar>" (еÑли ÑолÑко Ñ ÐÐ°Ñ Ð½Ðµ FreeBSD-CURRENT,
-где ÑÑо вклÑÑено по ÑмолÑаниÑ).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-<para>
-ÐÑли ÐÐ°Ñ CPU поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ SSE, пеÑекомпилиÑÑйÑе ÑдÑо Ñ
-"<envar>options CPU_ENABLE_SSE</envar>" (необÑ
одимо FreeBSD-STABLE
-или паÑÑи к ÑдÑÑ).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-<para>
-Ð ÑвÑзи Ñ Ð¾Ð³ÑаниÑениÑми в ÑазлиÑнÑÑ
веÑÑиÑÑ
gas (конÑÐ»Ð¸ÐºÑ Ð½Ð°ÑÑÑойки адÑеÑов и MMX),
-ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑдеÑе компилиÑоваÑÑ Ð² два Ñага: ÑнаÑала ÑбедиÑеÑÑ, ÑÑо не Ñодной as
-— пеÑвÑй в ÐаÑем <envar>$PATH</envar> и вÑполниÑе <command>gmake -k
-</command>, заÑем ÑбедиÑеÑÑ, ÑÑо бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑÐ¾Ð´Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð¸ запÑÑÑиÑе
-<command>gmake</command>.
-</para>
-<para>
-ÐаÑÐ¸Ð½Ð°Ñ Ñ OpenBSD 3.4 подобнÑй Ñ
ак болÑÑе не нÑжен.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="darwin">
-<title>Darwin</title>
-<para>
-См. ÑекÑÐ¸Ñ <link linkend="macos">Mac OS</link>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="unix">
-<title>ÐоммеÑÑеÑкие Unix</title>
-
-<para>
-<application>MPlayer</application> бÑл поÑÑиÑован на некоÑоÑÑе коммеÑÑеÑкие ваÑианÑÑ Unix.
-ÐоÑколÑÐºÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ ÑазÑабоÑки ÑÑиÑ
ÑиÑÑем оÑлиÑаÑÑÑÑ Ð¾Ñ ÑвободнÑÑ
Unix'ов,
-вам пÑидеÑÑÑ ÑамоÑÑоÑÑелÑно пÑоизвеÑÑи некоÑоÑÑе дейÑÑвиÑ, ÑÑÐ¾Ð±Ñ ÑбоÑка заÑабоÑала.
-</para>
-
-<sect2 id="solaris">
-<title>Solaris</title>
-
-<para>
-<application>MPlayer</application> должен ÑабоÑаÑÑ Ð¿Ð¾Ð´ Solaris 2.6 и более
-новÑми веÑÑиÑми. ÐÐ»Ñ Ð·Ð²Ñка иÑполÑзÑйÑе звÑковой дÑÐ°Ð¹Ð²ÐµÑ SUN Ñ
-опÑией <option>-ao sun</option>.
-</para>
-
-<para>
-Ðа <emphasis role="bold">UltraSPARC</emphasis>'аÑ
, <application>MPlayer</application>
-иÑполÑзÑÐµÑ Ð¿ÑеимÑÑеÑÑво иÑ
ÑаÑÑиÑÐµÐ½Ð¸Ñ <emphasis role="bold">VIS</emphasis>
-(ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ MMX), но (в наÑÑоÑÑий моменÑ) ÑолÑко в
-<systemitem class="library">libmpeg2</systemitem>,
-<systemitem class="library">libvo</systemitem>
-and <systemitem class="library">libavcodec</systemitem>, но не в
-<systemitem class="library">mp3lib</systemitem>. ÐÑ ÑможеÑе пÑоÑмаÑÑиваÑÑ VOB'Ñ
-на 400MHz CPU. Ðам поÑÑебÑеÑÑÑ ÑÑÑановленнаÑ
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>.
-</para>
-
-<para><emphasis role="bold">ÐÑедоÑÑеÑежение:</emphasis></para>
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">mediaLib</emphasis> в даннÑй
- Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¾ÑклÑÑена по ÑмолÑÐ°Ð½Ð¸Ñ Ð²
- <application>MPlayer</application> из-за поломанноÑÑи.
- ÐолÑзоваÑели SPARC, компилиÑовавÑие MPlayer Ñ mediaLib
- ÑообÑали об изобилии зелÑного оÑÑенка в видео, кодиÑÑемом и
- декодиÑÑемом libavcodec.
- ÐÑли Ñ
оÑиÑе, можеÑе вклÑÑиÑÑ ÐµÐµ:
- <screen>$ ./configure --enable-mlib</screen>
- ÐÑ Ð´ÐµÐ»Ð°ÐµÑе ÑÑо на Ñвой ÑÑÑаÑ
и ÑиÑк, полÑзоваÑели x86 не жолжнÑ
- <emphasis role="bold">никогда</emphasis> иÑполÑзоваÑÑ mediaLib, поÑколÑкÑ
- ÑÑо оÑÐµÐ½Ñ ÑилÑно ÑкажеÑÑÑ Ð½Ð° пÑоизводиÑелÑноÑÑи MPlayer.
-</para></listitem>
-</itemizedlist>
-
-<para>
-ЧÑÐ¾Ð±Ñ ÑобÑаÑÑ Ð¿ÑогÑаммÑ, Ðам поÑÑебÑеÑÑÑ GNU <application>make</application>
-(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), Ñодной
-Solaris make не бÑÐ´ÐµÑ ÑабоÑаÑÑ. ТипиÑÐ½Ð°Ñ Ð¾Ñибка коÑоÑÑÑ ÐÑ Ð±ÑдеÑе
-полÑÑаÑÑ Ð¿Ñи иÑполÑзовании Solaris make, вмеÑÑо GNU make:
-<screen>
-% /usr/ccs/bin/make
-make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
-</screen>
-</para>
-
-<para>
-Ðа Solaris SPARC, Ðам поÑÑебÑеÑÑÑ GNU C/C++ Compiler; пÑи ÑÑом не имееÑ
-знаÑениÑ, бÑл ли GNU C/C++ компилÑÑÐ¾Ñ ÑконÑигÑÑиÑован Ñ Ð¸Ð»Ð¸ без GNU аÑÑемблеÑа.
-</para>
-
-<para>
-Ðа Solaris x86, Ðам поÑÑебÑÑÑÑÑ GNU аÑÑÐµÐ¼Ð±Ð»ÐµÑ Ð¸ GNU C/C++ компилÑÑоÑ,
-ÑконÑигÑÑиÑованнÑй, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ GNU аÑÑемблеÑ! Ðа x86 плаÑÑоÑмаÑ
-код <application>MPlayer</application>'а иÑполÑзÑÐµÑ Ð¼Ð½Ð¾Ð³Ð¾ MMX, SSE и 3DNOW!
-инÑÑÑÑкÑий, коÑоÑÑе Sun'овÑкий аÑÑÐµÐ¼Ð±Ð»ÐµÑ <filename>/usr/ccs/bin/as</filename>
-не Ð¼Ð¾Ð¶ÐµÑ ÑкомпилиÑоваÑÑ.
-</para>
-
-<para>
-СкÑÐ¸Ð¿Ñ <filename>configure</filename> пÑÑаеÑÑÑ Ð¾Ð±Ð½Ð°ÑÑжиÑÑ, какой аÑÑемблеÑ
-иÑполÑзÑеÑÑÑ ÐаÑей командой "gcc" (в Ñом ÑлÑÑае, еÑли авÑоопÑеделение
-не ÑÑабоÑаеÑ, иÑполÑзÑйÑе опÑиÑ
-<option>--as=<replaceable>/Ñам/где/Ñ/ÐаÑ/ÑÑÑановлен/gnu-as</replaceable></option>,
-ÑÑÐ¾Ð±Ñ ÑообÑиÑÑ ÑкÑипÑÑ <filename>configure</filename>, где можно обнаÑÑжиÑÑ
-GNU "as" на ÐаÑей ÑиÑÑеме).
-</para>
-
-<para>РеÑение обÑиÑ
пÑоблем:</para>
-<itemizedlist>
-<listitem><para>
- СообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибкаÑ
<filename>configure</filename> на Solaris x86 ÑиÑÑемаÑ
пÑи
- иÑполÑзовании GCC без GNU аÑÑемблеÑа:
- <screen>
-% configure
-...
-Checking assembler (/usr/ccs/bin/as) ... , failed
-Please upgrade(downgrade) binutils to 2.10.1...<!--
- --></screen>
- (РеÑение: УÑÑановиÑе и иÑполÑзÑйÑе gcc, ÑконÑигÑÑиÑованнÑй Ñ
- <option>--with-as=gas</option>)
-</para>
-
-<para>
-ТипиÑÐ½Ð°Ñ Ð¾Ñибка пÑи ÑбоÑке GNU C компилÑÑоÑом, коÑоÑÑй не иÑполÑзÑÐµÑ GNU as:
-<screen>
-% gmake
-...
-gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
-Assembler: mplayer.c
-"(stdin)", line 3567 : Illegal mnemonic
-"(stdin)", line 3567 : Syntax error
-... more "Illegal mnemonic" and "Syntax error" errors ...
-</screen>
-</para>
-</listitem>
-
-<listitem><para>
- <application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ ÑообÑиÑÑ Ð¾ наÑÑÑении ÑегменÑаÑии пÑи
- кодиÑовании и декодиÑовании видео, иÑполÑзÑÑÑего win32codecs:
- <screen>
-...
-Trying to force audio codec driver family acm...
-Opening audio decoder: [acm] Win32/ACM decoders
-sysi86(SI86DSCR): Invalid argument
-Couldn't install fs segment, expect segfault
-
-
-MPlayer interrupted by signal 11 in module: init_audio_codec
-...<!--
- --></screen>
- ÐÑо из-за изменений в sysi86() в Solaris 10 и пÑе-Solaris
- Nevada b31 ÑелизаÑ
. ÐÑпÑавлено в Solaris Nevada b32; Ñем не менее
- Sun еÑе ÑледÑÐµÑ Ð¿Ð¾ÑÑиÑоваÑÑ Ð¸ÑпÑавление обÑаÑно на Solaris 10. ÐÑÐ¾ÐµÐºÑ MPlayer
- оÑведомил Sun об ÑÑой пÑоблеме и паÑÑ Ð² даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð³Ð¾ÑовиÑÑÑ Ð´Ð»Ñ
- Solaris 10. ÐолÑÑе инÑоÑмаÑии об ÑÑой оÑибке иÑиÑе
- на:
- <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
-</para></listitem>
-
-<listitem><para>
-Ð ÑвÑзи Ñ Ð¾Ñибками в Solaris 8, ÐÑ Ð½Ðµ ÑможеÑе пÑоигÑÑваÑÑ DVD диÑки, ÑазмеÑом
-болÑÑе 4 Ðб:
-</para>
-
-<itemizedlist>
-<listitem><para>
- Ðод Solaris 8 x86 дÑÐ°Ð¹Ð²ÐµÑ sd(7D) ÑодеÑÐ¶Ð¸Ñ Ð¾ÑибкÑ, пÑоÑвлÑÑÑÑÑÑÑ Ð¿Ñи доÑÑÑпе
- к диÑкам, ÑазмеÑом > 4 Ðб на ÑÑÑÑойÑÑваÑ
Ñ Ð»Ð¾Ð³Ð¸ÑеÑким ÑазмеÑом блока !=
- DEV_BSIZE (напÑÐ¸Ð¼ÐµÑ CD-ROM и DVD диÑки).
- Ðз-за ÑелоÑиÑленного 32-Ñ
биÑного пеÑеполнениÑ, пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð´Ð¾ÑÑÑп к диÑÐºÐ¾Ð²Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ
- по модÑÐ»Ñ 4 Ðб
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
- ÐÑоблема оÑÑÑÑÑÑвÑÐµÑ Ð² SPARC веÑÑиÑÑ
Solaris 8.
-</para></listitem>
-
-<listitem><para>
- ÐоÑ
Ð¾Ð¶Ð°Ñ Ð¾Ñибка ÑÑÑеÑÑвÑÐµÑ Ð² коде Ñайловой ÑиÑÑÐµÐ¼Ñ hsfs(7FS) (ISO9660),
- hsfs Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ поддеÑживаÑÑ ÑазделÑ/диÑки болÑÑе 4 Ðб, доÑÑÑп к даннÑм
- пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ð¾ модÑÐ»Ñ 4 Ðб
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
- ÐÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ hsfs могÑÑ Ð±ÑÑÑ Ð¸ÑпÑÐ°Ð²Ð»ÐµÐ½Ñ ÑÑÑановкой паÑÑа 109764-04 (sparc) /
- 109765-04 (x86).
-</para></listitem>
-</itemizedlist>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="hp-ux">
-<title>HP-UX</title>
-
-<para>
-Joe Page на Ñвоей домаÑней ÑÑÑаниÑе деÑÐ¶Ð¸Ñ Ð¿Ð¾Ð´Ñобное
-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
-по <application>MPlayer</application> на HP-UX, напиÑанное Martin Gansser.
-С ÑÑими инÑÑÑÑкÑиÑми ÑбоÑка должна ÑабоÑаÑÑ "пÑÑмо из коÑобки".
-СледÑÑÑÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð²Ð·ÑÑа оÑÑÑда.
-</para>
-
-<para>
-Ðам поÑÑебÑеÑÑÑ GCC 3.4.0 или полее поздней веÑÑии, GNU make веÑÑии 3.80
-или новее и SDL 1.2.7 или более новÑй. HP cc не Ð¼Ð¾Ð¶ÐµÑ ÑоздаÑÑ ÑабоÑоÑпоÑобнÑÑ
-пÑогÑаммÑ, пÑедÑдÑÑие веÑÑии GCC глÑÑаÑ. ÐÐ»Ñ ÑÑнкÑиониÑÐ¾Ð²Ð°Ð½Ð¸Ñ OpenGL
-необÑ
одимо ÑÑÑановиÑÑ Mesa, поÑле Ñего Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°ÑабоÑаÑÑ Ð´ÑайвеÑа вÑвода видео
-gl и gl2, Ñ
оÑÑ, в завиÑимоÑÑи Ð¾Ñ Ð±ÑÑÑÑодейÑÑÐ²Ð¸Ñ CPU, ÑкоÑоÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑжаÑной.
-GNU esound ÑвлÑеÑÑÑ Ñ
оÑоÑей заменой доволÑно бедной звÑковой ÑиÑÑеме HP-UX.
-</para>
-
-<para>
-ÐÑоизведиÑе ÑканиÑование ÑÐ¸Ð½Ñ SCSI
-на пÑÐµÐ´Ð¼ÐµÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ñ DVD ÑÑÑÑойÑÑва:
-
-<screen>
-# ioscan -fn
-
-Class I H/W Path Driver S/W State H/W Type Description
-...
-ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
-target 3 8/16/5.2 tgt CLAIMED DEVICE
-disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
- /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
-target 4 8/16/5.7 tgt CLAIMED DEVICE
-ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-</screen>
-
-ÐÑвод показÑваеÑ, ÑÑо по адÑеÑÑ 2 ÑÐ¸Ð½Ñ SCSI наÑ
одиÑÑÑ Pioneer DVD-ROM.
-ÐкземплÑÑ ÐºÐ°ÑÑÑ Ð´Ð»Ñ Ð°Ð¿Ð¿Ð°ÑаÑного пÑÑи 8/16 Ñавен 1.
-</para>
-
-<para>
-СоздайÑе ÑÑÑÐ»ÐºÑ Ð¾Ñ ÑÑÑого ÑÑÑÑойÑÑва к DVD ÑÑÑÑойÑÑвÑ.
-
-<screen>
-ln -s /dev/rdsk/c<replaceable><SCSI bus instance></replaceable>t<replaceable><SCSI target ID></replaceable>d<replaceable><LUN></replaceable> /dev/<replaceable><device></replaceable>
-</screen>
-ÐÑимеÑ:
-<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
-</para>
-
-<para>
-Ðалее ÑледÑÑÑ ÑеÑÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
обÑиÑ
пÑоблем:
-
-<itemizedlist>
-<listitem>
- <para>
- ÐÑаÑ
пÑи запÑÑке Ñ Ñаким ÑообÑением об оÑибке:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl<!--
- --></screen>
- </para>
- <para>
- ÐÑо знаÑиÑ, ÑÑо ÑÑнкÑÐ¸Ñ <systemitem>.finite().</systemitem> недоÑÑÑпна в ÑÑандаÑÑной
- маÑемаÑиÑеÑкой библиоÑеке HP-UX.
- ÐмеÑÑо ÑÑого иÑполÑзÑйÑе <systemitem>.isfinite().</systemitem>.
- РеÑение: ÐÑполÑзÑйÑе поÑледнÑÑ Ð²ÐµÑÑÐ¸Ñ Mesa из ÑепозиÑоÑиÑ.
- </para>
-</listitem>
-
-<listitem>
- <para>
- ÐÑаÑ
пÑи воÑпÑоизведении Ñо ÑледÑÑÑей оÑибкой:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0<!--
- --></screen>
- </para>
- <para>
- РеÑение: ÐÑполÑзÑйÑе опÑÐ¸Ñ extralibdir пÑогÑÐ°Ð¼Ð¼Ñ configure
- <option>--extra-ldflags="/usr/lib -lrt"</option>
- </para>
-</listitem>
-
-<listitem>
- <para>
- MPlayer вÑлеÑÐ°ÐµÑ Ñ Ð½Ð°ÑÑÑением ÑегменÑаÑии и ÑообÑением вÑоде ÑÑого:
- <screen>
-Pid 10166 received a SIGSEGV for stack growth failure.
-Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault<!--
- --></screen>
- </para>
- <para>
- РеÑение:
- ЯдÑо HP-UX по-ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пÑоÑеÑÑа Ð¸Ð¼ÐµÐµÑ ÑÐ°Ð·Ð¼ÐµÑ ÑÑека ÑавнÑй 8MB(?).
- (11.0 и новÑе паÑÑи Ð´Ð»Ñ 10.20 позволÑÑÑ Ð²Ð°Ð¼ ÑвелиÑиÑÑ <systemitem>maxssiz</systemitem>
- вплоÑÑ Ð´Ð¾ 350MB Ð´Ð»Ñ 32-Ñ
биÑнÑÑ
пÑогÑамм). ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑаÑÑиÑиÑÑ
- <systemitem>maxssiz</systemitem>
- и пеÑекомпилиÑоваÑÑ ÑдÑо (и пеÑезагÑÑзиÑÑÑÑ). ЧÑÐ¾Ð±Ñ ÑделаÑÑ ÑÑо, можно иÑполÑзоваÑÑ SAM.
- (ÐаÑ
одÑÑÑ Ð² нем, пÑовеÑÑÑе паÑамеÑÑ <systemitem>maxdsiz</systemitem> на пÑедмеÑ
- макÑималÑного колиÑеÑÑва даннÑÑ
, коÑоÑÑе могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿ÑогÑаммами.
- 64 Ðб по ÑмолÑÐ°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ñ
ваÑиÑÑ Ð¸Ð»Ð¸ не Ñ
ваÑиÑÑ Ð² завиÑимоÑÑи Ð¾Ñ ÐаÑиÑ
пÑиложений.)
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="aix">
-<title>AIX</title>
-<para>
-<application>MPlayer</application> ÑÑпеÑно ÑобиÑаеÑÑÑ Ð½Ð° AIX 5.1,
-5.2, и 5.3, иÑполÑзÑÑ GCC 3.3 или новее. СбоÑка
-<application>MPlayer</application> не пÑовеÑена на AIX 4.3.3 и более ÑанниÑ
.
-ÐÑайне ÑекомендÑеÑÑÑ ÑобиÑаÑÑ
-<application>MPlayer</application> иÑполÑзÑÑ GCC 3.4 или ÑÑаÑÑе, и, как минимÑм,
-GCC 4.0, еÑли ÑобиÑаеÑе на POWER5.
-</para>
-
-<para>
-УбедиÑеÑÑ, ÑÑо иÑполÑзÑеÑе GNU make
-(<filename>/opt/freeware/bin/gmake</filename>) Ð´Ð»Ñ ÑбоÑки
-<application>MPlayer</application>, поÑколÑÐºÑ ÑÑолкнеÑеÑÑ Ñ Ð¿Ñоблемами пÑи
-иÑполÑзовании <filename>/usr/ccs/bin/make</filename>.
-</para>
-
-<para>
-
-Ðо-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð²ÐµÐ´ÐµÑÑÑ ÑабоÑа над кодом опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ CPU.
-ÐÑовеÑÐµÐ½Ñ ÑледÑÑÑие аÑÑ
иÑекÑÑÑÑ:
-</para>
-
-<itemizedlist>
- <listitem><para>604e</para></listitem>
- <listitem><para>POWER3</para></listitem>
- <listitem><para>POWER4</para></listitem>
-</itemizedlist>
-
-<para>
-Ðа ÑледÑÑÑиÑ
аÑÑ
иÑекÑÑÑаÑ
не пÑовеÑÑлоÑÑ, но должно ÑабоÑаÑÑ:
-<itemizedlist>
- <listitem><para>POWER</para></listitem>
- <listitem><para>POWER2</para></listitem>
- <listitem><para>POWER5</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-ÐÑвод звÑка ÑеÑез Ultimedia Services не поддеÑживаеÑÑÑ, Ñ.к.
-Ultimedia бÑла ÑбÑана из AIX 5.1; Ñаким обÑазом, оÑÑаеÑÑÑ ÐµÐ´Ð¸Ð½ÑÑвеннÑй
-ваÑианÑ: иÑполÑзоваÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ AIX Open Sound system (OSS) оÑ
-4Front Technologies Ñ
-<ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html</ulink>.
-ÐÐ»Ñ Ð½ÐµÐºÐ¾Ð¼Ð¼ÐµÑÑеÑкого иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ 4Front Technologies
-ÑаÑпÑоÑÑÑанÑÐµÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ OSS под AIX 5.1 беÑплаÑно; неÑмоÑÑÑ Ð½Ð° ÑÑо,
-на ÑекÑÑий Ð´ÐµÐ½Ñ Ð½ÐµÑ Ð´ÑайвеÑов вÑвода звÑка Ð´Ð»Ñ AIX 5.2 или 5.3.
-drivers for AIX 5.2 or 5.3. ÐÑо ознаÑаеÑ, ÑÑо ÑейÑаÑ
-<emphasis role="bold">AIX 5.2 и 5.3 неÑовмеÑÑÐ¸Ð¼Ñ Ñ Ð²Ñводом звÑка MPlayer.</emphasis>
-</para>
-
-<para>РеÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±ÑиÑ
пÑоблем:</para>
-
-<itemizedlist>
-<listitem>
-<para>
- ÐÑли Ð²Ñ ÑÑолкнÑлиÑÑ Ñ Ñакой оÑибкой <filename>configure</filename>:
- <screen>
-$ ./configure
-...
-Checking for iconv program ... no
-No working iconv program found, use
---charset=US-ASCII to continue anyway.
-Messages in the GTK-2 interface will be broken then.<!--
- --></screen>
- ÐÑо из-за Ñого, ÑÑо AIX иÑполÑзÑÐµÑ Ð½ÐµÑÑандаÑÑнÑе имена кодиÑовок;
- поÑÑÐ¾Ð¼Ñ Ð¿ÐµÑекодиÑовка ÑообÑений в даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ðµ ÑабоÑаеÑ.
- РеÑение - иÑполÑзоваÑÑ:
- <screen>$ ./configure --charset=noconv</screen>
- </para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-
-<!-- ********** -->
-
-<sect2 id="qnx">
-<title>QNX</title>
-<para>
-Ðам нÑжно ÑкаÑаÑÑ Ð¸ ÑÑÑановиÑÑ SDL Ð´Ð»Ñ QNX. ÐаÑем запÑÑÑиÑе
-<application>MPlayer</application> Ñ Ð¾Ð¿ÑиÑми <option>-vo sdl:photon</option>
-и <option>-ao sdl:nto</option>, и вÑе бÑÐ´ÐµÑ ÑабоÑаÑÑ Ð±ÑÑÑÑо.
-</para>
-
-<para>
-ÐÑвод <option>-vo x11</option> бÑÐ´ÐµÑ ÐµÑÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½ÐµÐµ, Ñем под Linux, поÑколÑÐºÑ Ð¿Ð¾Ð´
-QNX X'Ñ <emphasis>ÑмÑлиÑÑÑÑÑÑ</emphasis>, ÑÑо ÐЧÐÐЬ медленно.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>
-Ðа, <application>MPlayer</application> ÑабоÑÐ°ÐµÑ Ð¿Ð¾Ð´ Windows под
-<ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> и
-<ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
-Ðока еÑÑ Ð½ÐµÑ Ð¾ÑиÑиалÑного GUI, но веÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки полноÑÑÑÑ ÑÑнкÑионалÑна.
-ÐбÑаÑиÑеÑÑ Ðº ÑпиÑÐºÑ ÑаÑÑÑлки
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
-за помоÑÑÑ Ð¸ дополниÑелÑной инÑоÑмаÑией.
-ÐÑиÑиалÑнÑе бинаÑники под Windows могÑÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð½Ð°
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">ÑÑÑаниÑе загÑÑзки</ulink>.
-ÐакеÑÑ ÑÑÑановки и пÑоÑÑÑе GUI ÑÑонÑÐµÐ½Ð´Ñ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð¸Ð· внеÑниÑ
-иÑÑоÑников, Ð¼Ñ ÑобÑали иÑ
в Ñазделе Windows на
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">наÑей
-ÑÑÑаниÑе пÑоекÑов</ulink>.
-</para>
-
-<para>
-ÐÑи нежелании иÑполÑзоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑÑ ÑÑÑÐ¾ÐºÑ Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоÑÑой ÑÑÑк:
-помеÑÑиÑе на ÑабоÑий ÑÑол ÑÑÑлкÑ, Ñо ÑледÑÑÑим ÑодеÑжимÑм в ÑекÑии execute:
-<screen><replaceable>c:\пÑÑÑ\к\</replaceable>mplayer.exe %1</screen>
-ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ <application>MPlayer</application> воÑпÑоизводиÑÑ Ð»Ñбой ÑилÑм,
-коÑоÑÑй Ð²Ñ Ð¿ÐµÑеÑаÑиÑе на ÑозданнÑй ÑÑлÑк. ÐобавÑÑе <option>-fs</option>
-Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑкÑанного Ñежима.
-</para>
-
-<para>
-ÐÑÑÑие ÑезÑлÑÑаÑÑ Ð¿Ð¾Ð»ÑÑаÑÑÑÑ Ð¿Ñи иÑполÑзовании Ñодного DirectX видео
-вÑвода (<option>-vo directx</option>). ÐлÑÑеÑнаÑивой ÑвлÑеÑÑÑ Ð¸ÑполÑзование OpenGL или
-SDL, но пÑоизводиÑелÑноÑÑÑ OpenGL ÑилÑно завиÑÐ¸Ñ Ð¾Ñ Ð¼Ð°ÑинÑ, а SDL на некоÑоÑÑÑ
-ÑиÑÑемаÑ
иÑÐºÐ°Ð¶Ð°ÐµÑ Ð²Ð¸Ð´ÐµÐ¾ или вÑлеÑаеÑ.
-ÐÑли изобÑажение иÑкажено, попÑобÑйÑе оÑклÑÑиÑÑ Ð°Ð¿Ð¿Ð°ÑаÑное ÑÑкоÑение, Ñказав
-<option>-vo directx:noaccel</option>. СкаÑайÑе
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/dx7headers.tgz">ÑÐ°Ð¹Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð²
-DirectX 7</ulink>, ÑÑÐ¾Ð±Ñ ÑкомпилиÑоваÑÑ Ð²Ð¸Ð´ÐµÐ¾ дÑÐ°Ð¹Ð²ÐµÑ DirectX. ÐÑоме Ñого,
-вам поÑÑебÑеÑÑÑ ÑÑÑановленнÑй DirectX 7, ÑÑÐ¾Ð±Ñ ÑабоÑал DirectX видеодÑайвеÑ.
-</para>
-
-<para>
-<link linkend="vidix">VIDIX</link> ÑепеÑÑ Ð´Ð¾ÑÑÑпен и под Windows, как
-<option>-vo winvidix</option>, Ñ
оÑÑ ÑÑо еÑÑ ÑкÑпеÑименÑалÑно и ÑÑебÑÐµÑ Ð½ÐµÐ±Ð¾Ð»ÑÑой
-ÑÑÑной ÑÑÑановки. СкаÑайÑе
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> или
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой MTRR)</ulink>
-и ÑкопиÑÑйÑе его в каÑалог
-<filename class="directory">vidix/dhahelperwin</filename> в ÐаÑем деÑеве
-иÑÑ
одного кода <application>MPlayer</application>'а.
-ÐÑкÑойÑе конÑÐ¾Ð»Ñ Ð¸ пеÑейдиÑе в ÑÑÐ¾Ñ ÐºÐ°Ñалог. ТепеÑÑ Ð½Ð°Ð±ÐµÑиÑе
-<screen>gcc -o dhasetup.exe dhasetup.c</screen>
-и запÑÑÑиÑе
-<screen>dhasetup.exe install</screen>
-под ÐдминиÑÑÑаÑоÑом. ТепеÑÑ Ðам нÑжно пеÑезагÑÑзиÑÑ Ð¼Ð°ÑинÑ.
-</para>
-
-<para>
-ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð½Ð°Ð¸Ð»ÑÑÑиÑ
ÑезÑлÑÑаÑов, <application>MPlayer</application>
-должен иÑполÑзоваÑÑ Ð¿ÑоÑÑÑанÑÑво ÑвеÑов, аппаÑаÑно поддеÑживаемое ÐаÑей
-видеокаÑÑой. Ð ÑожалениÑ, многие гÑаÑиÑеÑкие дÑайвеÑÑ Ð¿Ð¾Ð´ Windows оÑибоÑно
-ÑообÑаÑÑ, ÑÑо некоÑоÑÑе пÑоÑÑÑанÑÑва ÑвеÑов поддеÑживаÑÑÑÑ Ð°Ð¿Ð¿Ð°ÑаÑно.
-ЧÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи какие именно, попÑобÑйÑе
-<screen>
-mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>colorspace</replaceable> <replaceable>movie</replaceable>
-</screen>,
-где <replaceable>colorspace</replaceable> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»ÑбÑм пÑоÑÑÑанÑÑвом
-ÑвеÑов из вÑвода опÑии <option>-vf format=fmt=help</option>. ÐÑли ÐÑ Ð½Ð°Ð¹Ð´ÑÑе
-пÑоÑÑÑанÑÑво ÑвеÑов, коÑоÑое ÐаÑа каÑÑа оÑобенно плоÑ
о поддеÑживаеÑ,
-опÑÐ¸Ñ <option>-vf noformat=<replaceable>colorspace</replaceable></option>
-помеÑÐ°ÐµÑ ÐµÐ³Ð¾ иÑполÑзованиÑ. ÐобавÑÑе ÑÑо в Ð²Ð°Ñ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй Ñайл, ÑÑобÑ
-ÑÑо пÑоÑÑÑанÑÑво ÑвеÑов болÑÑе никогда не иÑполÑзовалоÑÑ.
-</para>
-
-<para>СÑÑеÑÑвÑÑÑ ÑпеÑиалÑнÑе пакеÑÑ ÐºÐ¾Ð´ÐµÐºÐ¾Ð² Ð´Ð»Ñ Windows, доÑÑÑпнÑе на наÑей
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">ÑÑÑаниÑе загÑÑзки</ulink>,
- позволÑÑÑие воÑпÑоизводиÑÑ ÑоÑмаÑÑ, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ
пока Ð½ÐµÑ Ñодной поддеÑжки.
- ÐомеÑÑиÑе иÑ
кÑда-нибÑÐ´Ñ Ð² пÑÑи или ÑкажиÑе
- <filename>configure</filename> опÑиÑ
- <option>--codecsdir=<replaceable>c:/path/to/your/codecs</replaceable></option>
- (или <option>--codecsdir=<replaceable>/path/to/your/codecs</replaceable></option>, но
- ÑолÑко под <application>Cygwin</application>).
- У Ð½Ð°Ñ Ð±Ñли ÑообÑÐµÐ½Ð¸Ñ Ð¾ Ñом,
- ÑÑо Real DLL Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, запÑÑкаÑÑемÑ
- <application>MPlayer</application>, Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи, но ÑолÑко на
- некоÑоÑÑÑ
ÑиÑÑемаÑ
(NT4). ÐÑли Ñ ÐÐ°Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð½Ð¸Ð¼Ð¸, попÑобÑйÑе ÑделаÑÑ Ð¸Ñ
- доÑÑÑпнÑми на запиÑÑ.
-</para>
-
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе воÑпÑоизводиÑÑ VCD, пÑоигÑÑÐ²Ð°Ñ <filename>.DAT</filename>
-или <filename>.MPG</filename> ÑайлÑ, коÑоÑÑе Windows показÑÐ²Ð°ÐµÑ Ð½Ð° VCD.
-ÐÐ¾Ñ ÐºÐ°Ðº ÑÑо ÑабоÑÐ°ÐµÑ (ÑказÑвайÑе бÑÐºÐ²Ñ Ð´Ð¸Ñка ÐаÑего CD-ROM):
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-РкаÑеÑÑве алÑÑеÑнаÑÐ¸Ð²Ñ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе напÑÑмÑÑ Ð²Ð¾ÑпÑоизводиÑÑ VCD доÑожки, Ñказав:
-<screen>mplayer vcd://<replaceable><доÑожка></replaceable> -cdrom-device <replaceable>d:</replaceable>
-</screen>
-DVDs Ñакже ÑабоÑаÑÑ, ÑкажиÑе <option>-dvd-device</option> Ñ Ð±Ñквой ÐаÑего DVD-ROM:
-<screen>
-mplayer dvd://<replaceable><title></replaceable> -dvd-device <replaceable>d:</replaceable>:
-</screen>
-ÐонÑÐ¾Ð»Ñ <application>Cygwin</application>/<application>MinGW</application>
-веÑÑма медленнаÑ. ÐеÑенапÑавление вÑвода или
-иÑполÑзование опÑии <option>-quiet</option> ÑлÑÑÑÐ°ÐµÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð½Ð°
-некоÑоÑÑÑ
ÑиÑÑемаÑ
. ÐÑÑмой ÑендеÑинг (<option>-dr</option>)
-Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð¼Ð¾ÑÑ. ÐÑли воÑпÑоизведение
-пÑеÑÑвиÑÑо, попÑобÑйÑе <option>-autosync 100</option>. ÐÑли какие-Ñо из ÑÑиÑ
-опÑий Ðам помогÑÑ, ÑÑÐ¾Ð¸Ñ Ð¿Ð¾Ð¼ÐµÑÑиÑÑ Ð¸Ñ
в конÑигÑÑаÑионнÑй Ñайл.
-</para>
-
-<note>
-
-<para>ÐÑли Ñ ÐÐ°Ñ Pentium 4 и ÐÑ Ð·Ð°Ð¼ÐµÑили кÑаÑ
и пÑи иÑполÑзовании кодеков RealPlayer,
- попÑобÑйÑе оÑклÑÑиÑÑ hyperthreading.
-</para>
-</note>
-
-<!-- ********** -->
-
-<sect2 id="cygwin">
-<title><application>Cygwin</application></title>
-
-<para>
-ÐÐ»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии <application>MPlayer</application> ÑÑебÑеÑÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ
-<application>Cygwin</application> веÑÑии 1.5.0 или ÑÑаÑÑе.
-</para>
-
-<para>
-Ð¤Ð°Ð¹Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² DirectX надо ÑаÑпаковаÑÑ Ð²
-<filename class="directory">/usr/include/</filename> или
-<filename class="directory">/usr/local/include/</filename>.
-</para>
-
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе найÑи инÑÑÑÑкÑии и ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка SDL под
-<application>Cygwin</application> на
-<ulink url="http://www.libsdl.org/extras/win32/cygwin/">ÑайÑе libsdl</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="mingw">
-<title><application>MinGW</application></title>
-
-<para>
-ÐÑежде, ÑÑÑановка веÑÑии <application>MinGW</application>,
-ÑпоÑобной ÑкомпилиÑоваÑÑ <application>MPlayer</application>, бÑла
-ÑложноваÑа, но ÑейÑÐ°Ñ Ð²Ñе ÑабоÑÐ°ÐµÑ Ñ Ñамого наÑала. ÐÑоÑÑо ÑÑÑановиÑе
-<application>MinGW</application> 3.1.0 или более новÑй и MSYS 1.0.9 или ÑÑаÑÑе и
-ÑкажиÑе поÑÑÑÑÑановÑÐ¸ÐºÑ MSYS, ÑÑо <application>MinGW</application>
-ÑÑÑановлен.
-</para>
-
-<para>
-РаÑпакÑйÑе ÑÐ°Ð¹Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² DirectX в
-<filename class="directory">/mingw/include/</filename>.
-</para>
-
-<para>
-ÐÐ»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки ÑжаÑÑÑ
заголовкоав MOV необÑ
одима
-<ulink url="http://www.gzip.org/zlib/">zlib</ulink>, коÑоÑÑÑ
-<application>MinGW</application> по ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ðµ пÑедоÑÑавлÑеÑ.
-СконÑигÑÑиÑÑйÑе еÑ, Ñказав <option>--prefix=/mingw</option> и ÑÑÑановиÑе
-ÐµÑ Ð´Ð¾ компилÑÑии <application>MPlayer</application>'а.
-</para>
-
-<para>
-ÐолнÑе инÑÑÑÑкÑии по ÑбоÑке <application>MPlayer</application> и необÑ
одимÑÑ
-библиоÑек могÑÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð½Ð° ÑÑÑаниÑе
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="macos">
-<title>Mac OS</title>
-
-<para>
-<application>MPlayer</application> не ÑабоÑÐ°ÐµÑ Ð½Ð° Mac OS веÑÑий менÑÑе 10,
-но компилиÑÑеÑÑÑ "из коÑобки" на Mac OS X 10.2 и ÑÑаÑÑе. ÐÑедпоÑиÑаемÑм компилÑÑоÑом
-ÑвлÑеÑÑÑ Ð²ÐµÑÑÐ¸Ñ Apple GCC 3.x или более позднего. ÐÑ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ Ð½Ð°ÑалÑное окÑÑжение
-Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии, ÑÑÑановив Apple'овÑкий
-<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>.
-ÐÑли Ñ Ð²Ð°Ñ Mac OS X 10.3.9 или вÑÑе и QuickTime 7, можеÑе иÑполÑзоваÑÑ
-дÑÐ°Ð¹Ð²ÐµÑ Ð²Ð¸Ð´ÐµÐ¾ вÑвода <option>corevideo</option>.
-</para>
-
-<para>
-Ð ÑожалениÑ, оÑновное окÑÑжение не позволÑÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¿ÑеимÑÑеÑÑво Ð¾Ñ Ð²ÑеÑ
-пÑиÑÑнÑÑ
возможноÑÑей <application>MPlayer</application>. Ð ÑаÑÑноÑÑи,
-ÑÑÐ¾Ð±Ñ Ð¸Ð¼ÐµÑÑ Ð²ÐºÐ»ÑÑеннÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ OSD, поÑÑебÑÑÑÑÑ ÑÑÑановленнÑе в ÑиÑÑеме
-библиоÑеки <systemitem class="library">fontconfig</systemitem>
-и <systemitem class="library">freetype</systemitem>.
-РоÑлиÑие Ð¾Ñ Ð¾ÑÑалÑнÑÑ
Unix'ов, ÑакиÑ
как Linux и ÐºÐ»Ð¾Ð½Ñ BSD, OS X
-не Ð¸Ð¼ÐµÐµÑ Ð¿Ð¾ÑÑавлÑÑÑейÑÑ Ñ ÐС ÑиÑÑÐµÐ¼Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÐºÐµÑами.
-</para>
-
-<para>
-ÐÑÑÑ ÐºÐ°Ðº минимÑм два на вÑбоÑ:
-<ulink url="http://fink.sourceforge.net/">Fink</ulink> и
-<ulink url="http://www.macports.org/">MacPorts</ulink>.
-Ðни оба пÑедоÑÑавлÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñй ÑеÑÐ²Ð¸Ñ (Ñ.е. огÑомное колиÑеÑÑво пакеÑов
-Ð´Ð»Ñ ÑÑÑановки, ÑазÑеÑение завиÑимоÑÑей, возможноÑÑÑ Ð¿ÑоÑÑой
-ÑÑÑановки/обновлениÑ/ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÐºÐµÑов и Ñ.д.).
-Fink пÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ ÐºÐ°Ðº пÑедкомпилиÑованнÑе бинаÑнÑе пакеÑÑ, Ñак и ÑбоÑкÑ
-вÑего из иÑÑ
одников, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº MacPorts пÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ ÑолÑко ÑобиÑаÑÑ Ð¸Ð·
-иÑÑ
однÑÑ
ÑекÑÑов.
-ÐвÑÐ¾Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÑководÑÑва вÑбÑал MacPorts иÑÑ
Ð¾Ð´Ñ Ð¸Ð· Ñого пÑоÑÑого ÑообÑажениÑ,
-ÑÑо его Ð±Ð°Ð·Ð¾Ð²Ð°Ñ ÑÑÑановка легÑе.
-ÐоÑледÑÑÑие пÑимеÑÑ Ð±ÑдÑÑ Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ñ Ð½Ð° MacPorts.
-</para>
-
-<para>
-Ð ÑаÑÑноÑÑи Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии <application>MPlayer</application> Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой OSD:
-<screen>sudo port install pkgconfig</screen>
-ÐÑо ÑÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ <application>pkg-config</application>, коÑоÑÑй ÑвлÑеÑÑÑ ÑиÑÑемой
-ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñлагами компилÑÑии/ÑбоÑки библиоÑек.
-СкÑÐ¸Ð¿Ñ <systemitem>configure</systemitem> пÑогÑÐ°Ð¼Ð¼Ñ <application>MPlayer</application>
-иÑполÑзÑÐµÑ ÐµÐ³Ð¾ Ð´Ð»Ñ Ð¿ÑавилÑного обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек.
-Тем же ÑпоÑобом можно ÑÑÑановиÑÑ <application>fontconfig</application>:
-<screen>sudo port install fontconfig</screen>
-ÐаÑем можно пÑодолжиÑÑ, запÑÑÑив <application>MPlayer</application>'овÑкий
-<systemitem>configure</systemitem> ÑкÑÐ¸Ð¿Ñ (задайÑе пеÑеменнÑе окÑÑжениÑ
-<systemitem>PKG_CONFIG_PATH</systemitem> и <systemitem>PATH</systemitem> Ñак,
-ÑÑÐ¾Ð±Ñ <systemitem>configure</systemitem> мог найÑи библиоÑеки, ÑÑÑановленнÑе
-пÑи помоÑи MacPorts):
-<screen>
-PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
-</screen>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="osx_gui">
-<title>MPlayer OS X GUI</title>
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ Ñодной GUI Ð´Ð»Ñ <application>MPlayer</application> вмеÑÑе Ñ
-пÑедкомпилиÑованнÑми бинаÑниками <application>MPlayer</application> Ð´Ð»Ñ Mac OS X
-из пÑоекÑа
-<ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>, но пÑедÑпÑеждаем:
-ÑÑÐ¾Ñ Ð¿ÑÐ¾ÐµÐºÑ Ð´Ð°Ð²Ð½Ð¾ не ÑазвиваеÑÑÑ.
-</para>
-
-<para>
-Ð ÑÑаÑÑÑÑ, <application>MPlayerOSX</application> бÑл подÑ
ваÑен Ñленом командÑ
-<application>MPlayer</application>. ÐÑедваÑиÑелÑнÑе ÑÐµÐ»Ð¸Ð·Ñ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ñ Ð½Ð°Ñей
-<ulink url="http://mplayerhq.hu/dload.html">ÑÑÑаниÑÑ Ð·Ð°Ð³ÑÑзки</ulink>
-и ÑкоÑо ожидаеÑÑÑ Ð¾ÑиÑиалÑнÑй Ñелиз.
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ ÑамоÑÑоÑÑелÑно ÑобÑаÑÑ <application>MPlayerOSX</application> из
-иÑÑ
однÑй ÑекÑÑов, вам поÑÑебÑеÑÑÑ
-<systemitem>mplayerosx</systemitem>,
-<systemitem>main</systemitem> и копиÑ
-<systemitem>main</systemitem> SVN модÑлÑ, назÑваÑÑегоÑÑ
-<systemitem>main_noaltivec</systemitem>.
-<systemitem>mplayerosx</systemitem> - ÑÑо GUI frontend,
-<systemitem>main</systemitem> - ÑÑо MPlayer, а
-<systemitem>main_noaltivec</systemitem> - ÑÑо MPlayer ÑобÑаннÑй без поддеÑжки AltiVec.
-</para>
-
-<para>
-ÐÐ»Ñ Ð¸Ð·Ð²Ð»ÐµÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´Ñлей из SVN:
-
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-</screen>
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ ÑобÑаÑÑ <application>MPlayerOSX</application> поÑÑебÑеÑÑÑ Ð½Ð°ÑÑÑоиÑÑ ÑÑо-Ñо вÑоде ÑÑого:
-<screen>
-MPlayer_source_directory
- |
- |--->main (MPlayer Subversion иÑÑ
одники)
- |
- |--->main_noaltivec (MPlayer Subversion иÑÑ
одники, ÑконÑигÑÑиÑованнÑе Ñ --disable-altivec)
- |
- \--->mplayerosx (MPlayer OS X Subversion иÑÑ
одники)
-</screen>
-СнаÑала надо ÑобÑаÑÑ main и main_noaltivec.
-</para>
-
-<para>
-ÐÐ»Ñ Ð½Ð°Ñала, ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð¸ÑÑÑÑ Ð¼Ð°ÐºÑималÑной обÑаÑной ÑовмеÑÑимоÑÑи, ÑÑÑановиÑе
-пеÑеменнÑÑ Ð¾ÐºÑÑжениÑ:
-<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
-</para>
-
-<para>
-ÐаÑем ÑконÑигÑÑиÑÑйÑе:
-</para>
-
-<para>
-ÐÑли конÑигÑÑиÑÑеÑе Ð´Ð»Ñ G4 или более позднего CPU Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой AltiVec,
-делайÑе Ñак:
-<screen>
-./configure --disable-gl --disable-x11
-</screen>
-ÐÑли конÑигÑÑиÑÑеÑе Ð´Ð»Ñ Ð¼Ð°ÑÐ¸Ð½Ñ c G3 без AltiVec, иÑполÑзÑйÑе:
-<screen>
-./configure --disable-gl --disable-x11 --disable-altivec
-</screen>
-Ðам Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð¾ÑÑедакÑиÑоваÑÑ <filename>config.mak</filename> и измениÑÑ
-<systemitem>-mcpu</systemitem> и <systemitem>-mtune</systemitem>
-Ñ <systemitem>74XX</systemitem> на <systemitem>G3</systemitem>.
-</para>
-
-<para>
-ÐÑодолжайÑе Ñ
-<screen>make</screen>
-поÑле Ñего идиÑе в каÑалог mplayerosx и Ñам набеÑиÑе:
-<screen>make dist</screen>
-ÐÑо ÑоздаÑÑ ÑжаÑÑй аÑÑ
ив <systemitem>.dmg</systemitem> Ñ ÐºÐ¾ÑовÑм к иÑполÑзованиÑ
-бинаÑником.
-</para>
-
-<para>
-Также можно иÑполÑзоваÑÑ Ð¿ÑÐ¾ÐµÐºÑ <application>Xcode</application> 2.1;
-более ÑÑаÑÑй <application>Xcode</application> 1.x болÑÑе не ÑабоÑаеÑ.
-</para>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/ru/skin.xml b/DOCS/xml/ru/skin.xml
deleted file mode 100644
index e8dd148..0000000
--- a/DOCS/xml/ru/skin.xml
+++ /dev/null
@@ -1,1231 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21612 -->
-<appendix id="skin">
-<title>ФоÑÐ¼Ð°Ñ Ñкинов <application>MPlayer</application></title>
-
-<sect1 id="skin-overview">
-<title>ÐбзоÑ</title>
-
-<para>
-Ðа Ñамом деле Ñ ÑоÑмаÑом Ñкинов Ñже Ð½ÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимоÑÑи ÑÑо-либо делаÑÑ, но вам
-ÑледÑÐµÑ Ð·Ð½Ð°ÑÑ, ÑÑо <application>MPlayer</application>
-<emphasis role="bold">не имееÑ</emphasis> вÑÑÑоенного Ñкина, Ñак ÑÑо
-<emphasis role="bold">как минимÑм один Ñкин должен бÑÑÑ ÑÑÑановлен, длÑ
-возможноÑÑи иÑполÑзоваÑÑ GUI.</emphasis>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-overview-directories">
-<title>ÐаÑалоги</title>
-<para>
-Ð¡ÐºÐ¸Ð½Ñ Ð¸ÑÑÑÑÑ Ð² ÑледÑÑÑиÑ
каÑалогаÑ
(по поÑÑдкÑ):
-<orderedlist>
-<listitem><para>
- <filename class="directory">$(DATADIR)/skins/</filename>
-</para></listitem>
-<listitem><para>
- <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
-</para></listitem>
-<listitem><para>
- <filename class="directory">~/.mplayer/skins/</filename>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-ÐмейÑе в видÑ, ÑÑо пеÑвÑй пÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¼ÐµÐ½ÑÑÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ ÐºÐ¾Ð½ÑигÑÑаÑией
-<application>MPlayer</application> (ÑмоÑÑиÑе аÑгÑменÑÑ ÑкÑипÑа
-<command>configure</command> <option>--prefix</option> и <option>--datadir</option>).
-</para>
-
-<para>
-ÐаждÑй Ñкин ÑÑÑанавливаеÑÑÑ Ð² его ÑобÑÑвеннÑй подкаÑалог, в одном из ÑказаннÑÑ
вÑÑе
-каÑалогов, напÑимеÑ:
-<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-overview-formats">
-<title>ФоÑмаÑÑ Ð¸Ð·Ð¾Ð±Ñажений</title>
-<para>ÐзобÑажениÑми Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ truecolor (24 или 32 биÑ/пикÑел) PNG.</para>
-<para>
-Рглавном окне и полоÑе воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ (ÑмоÑÑиÑе ниже) можно иÑполÑзоваÑÑ
-изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ 'пÑозÑаÑноÑÑÑÑ': ÐблаÑÑи, заполненнÑе ÑвеÑом #FF00FF (magenta) полноÑÑÑÑ
-пÑозÑаÑÐ½Ñ Ð¿Ñи пÑоÑмоÑÑе пÑогÑаммой <application>MPlayer</application>. ÐÑо знаÑиÑ, ÑÑо
-еÑли Ð²Ð°Ñ X ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑаÑÑиÑение XShape, Ð²Ñ ÑможеÑе полÑÑиÑÑ Ð´Ð°Ð¶Ðµ
-окна пÑоизволÑной ÑоÑмÑ.
-</para>
-</sect2>
-
-<sect2 id="skin-overview-components">
-<title>ÐомпоненÑÑ Ñкина</title>
-<para>
-Ð¡ÐºÐ¸Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð´Ð¾ÑÑаÑоÑно ÑвободнÑй ÑоÑÐ¼Ð°Ñ (в оÑлиÑие,напÑимеÑ, Ð¾Ñ Ñкинов
-<application>Winamp</application>/<application>XMMS</application>,
-имеÑÑиÑ
ÑоÑÐ¼Ð°Ñ ÑикÑиÑованнÑй), Ñак ÑÑо завиÑÐ¸Ñ Ð¸ÑклÑÑиÑелÑно Ð¾Ñ Ð²Ð°Ñ, вÑÐ¹Ð´ÐµÑ Ð»Ð¸
-Ñ Ð²Ð°Ñ ÑÑо-Ñо гÑандиозное.
-</para>
-
-<para>
-РданнÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑоÑÐ¼Ð»ÐµÐ½Ñ ÑеÑÑÑе окна:
-<link linkend="skin-file-main">главное окно</link>,
-<link linkend="skin-file-subwindow">вÑпомогаÑелÑное окно</link>,
-<link linkend="skin-file-main">полоÑа воÑпÑоизведениÑ</link>, and the
-<link linkend="skin-file-menu">Ð¼ÐµÐ½Ñ Ñо Ñкинами</link> (акÑивиÑÑÑÑееÑÑ Ð¿ÑавÑм ÑелÑком
-мÑÑи).
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Ðлавное окно</emphasis> и/или
- <emphasis role="bold">полоÑа воÑпÑоизведениÑ</emphasis> - Ñе, ÑеÑез коÑоÑÑе вÑ
- ÑпÑавлÑеÑе <application>MPlayer</application>. Фон окна - ÑÑо изобÑажение.
- РазлиÑнÑе ÑлеменÑÑ Ð¼Ð¾Ð³ÑÑ (и должнÑ) ÑазмеÑаÑÑÑÑ Ð² окне:
- <emphasis>кнопки</emphasis>, <emphasis>ползÑнки</emphasis> и
- <emphasis>надпиÑи</emphasis>.
- ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа должен бÑÑÑ Ð·Ð°Ð´Ð°Ð½ ÑÐ°Ð·Ð¼ÐµÑ Ð¸ положение.
- </para>
-
- <para>
- <emphasis role="bold">Ðнопка</emphasis> Ð¸Ð¼ÐµÐµÑ ÑÑи ÑоÑÑоÑÐ½Ð¸Ñ (нажаÑа, оÑпÑÑена,
- оÑклÑÑена), Ñаким обÑазом, ее изобÑажение должно бÑÑÑ Ñазделено веÑÑикалÑно на ÑÑи ÑаÑÑи.
- СмоÑÑиÑе ÑÐ»ÐµÐ¼ÐµÐ½Ñ <link linkend="skin-button">кнопка</link> Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей.
- </para>
-
- <para>
- <emphasis role="bold">ÐолзÑнок</emphasis> (в оÑновном иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»Ð¾ÑÑ Ð¿ÐµÑемеÑениÑ
- и ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð³ÑомкоÑÑÑÑ/баланÑом) Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ Ð»Ñбое колиÑеÑÑво положений, задаваемÑÑ
делением
- его изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° ÑазлиÑнÑе ÑаÑÑи одна под дÑÑгой. СмоÑÑиÑе
- <link linkend="skin-hpotmeter">hpotmeter</link> и
- <link linkend="skin-potmeter">potmeter</link> Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей.
- </para>
-
- <para>
- <emphasis role="bold">ÐадпиÑи</emphasis> ÑÑÑÑ Ð¾Ñобеннее: СимволÑ, необÑ
одимÑе Ð´Ð»Ñ Ð¸Ñ
- оÑÑиÑовки, беÑÑÑÑÑ Ð¸Ð· гÑаÑиÑеÑкого Ñайла, и задаÑÑÑÑ
- <link linkend="skin-fonts">Ñайлом опиÑÐ°Ð½Ð¸Ñ ÑÑиÑÑа</link>.
- ÐоÑледний - ÑÑо ÑекÑÑовÑй Ñайл, ÑказÑваÑÑий x,y Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñимвола
- в Ñайле Ñ Ð¸Ð·Ð¾Ð±Ñажением (Ñайл изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸ Ñайл опиÑÐ°Ð½Ð¸Ñ ÑÑиÑÑа
- <emphasis>вмеÑÑе</emphasis> ÑоÑмиÑÑÑÑ ÑÑиÑÑ). СмоÑÑиÑе
- <link linkend="skin-dlabel">dlabel</link>
- и <link linkend="skin-slabel">slabel</link> Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей.
- </para>
-
- <note><para>ÐÑе изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿ÑозÑаÑнÑми, как опиÑано в Ñазделе,
- поÑвÑÑенном <link linkend="skin-overview-formats">ÑоÑмаÑам изобÑажений</link>. ÐÑли X
- ÑеÑÐ²ÐµÑ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑаÑÑиÑение XShape, ÑаÑÑи, помеÑеннÑе как пÑозÑаÑнÑе, бÑдÑÑ ÑеÑнÑми.
- ÐÑли вам нÑавиÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ, ÑиÑина Ñона главного окна должна
- делиÑÑÑÑ Ð½Ð° 8.
- </para></note>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">ÐÑпомогаÑелÑное окно</emphasis> - ÑÑо Ñо, где поÑвлÑеÑÑÑ ÑилÑм.
- Ðно Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑобÑажаÑÑ ÑказаннÑÑ ÐºÐ°ÑÑинкÑ, еÑли никакого ÑилÑма не загÑÑжено (пÑÑÑое окно
- немного Ð½Ð°Ð´Ð¾ÐµÐ´Ð°ÐµÑ :-)) <emphasis role="bold">ÐамеÑание:</emphasis> пÑозÑаÑноÑÑÑ Ð·Ð´ÐµÑÑ
- <emphasis role="bold">не допÑÑкаеÑÑÑ</emphasis>.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">ÐÐµÐ½Ñ Ñо Ñкинами</emphasis> - вÑего лиÑÑ ÑпоÑоб ÑпÑавлÑÑÑ
- <application>MPlayer</application> в понÑÑиÑÑ
ÑлеменÑов менÑ. ÐÐ»Ñ Ð¼ÐµÐ½Ñ ÑÑебÑÑÑÑÑ
- два изобÑажениÑ: одно из ниÑ
- оÑновное, показÑÐ²Ð°ÐµÑ Ð¼ÐµÐ½Ñ Ð² обÑÑном Ñежиме,
- дÑÑгое иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÑбÑаннÑÑ
ÑлеменÑов. Ðогда поÑвлÑеÑÑÑ Ð¼ÐµÐ½Ñ,
- оÑобÑажаеÑÑÑ Ð¿ÐµÑвое. ÐÑли Ð²Ñ Ð¿ÐµÑемеÑаеÑе мÑÑÑ Ð½Ð°Ð´ ÑлеменÑами менÑ,
- вÑбÑаннÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÐºÐ¾Ð¿Ð¸ÑÑеÑÑÑ Ð¸Ð· вÑоÑого изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÐµÑÑ
ÑлеменÑа Ð¼ÐµÐ½Ñ Ð¿Ð¾Ð´ ÑказаÑелем мÑÑи
- (вÑоÑое изобÑажение никогда не оÑобÑажаеÑÑÑ Ñеликом).
- </para>
- <para>
- ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼ÐµÐ½Ñ Ð¾Ð¿ÑеделÑеÑÑÑ ÐµÐ³Ð¾ позиÑией и ÑазмеÑом изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ (ÑмоÑÑиÑе Ñаздел,
- поÑвÑÑеннÑй <link linkend="skin-file-menu">Ð¼ÐµÐ½Ñ Ñо Ñкинами</link> Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей).
- </para>
-</listitem>
-</itemizedlist>
-</para>
-
-<para>
-ÐÐ°Ð¶Ð½Ð°Ñ Ð²ÐµÑÑ, не ÑпомÑнÑÑÐ°Ñ Ð²ÑÑе: ЧÑÐ¾Ð±Ñ ÑабоÑали кнопки, ползÑнки и ÑлеменÑÑ Ð¼ÐµÐ½Ñ,
-<application>MPlayer</application> должен знаÑÑ, ÑÑо делаÑÑ, еÑли на ниÑ
-ÑелкнÑли мÑÑÑÑ. ÐÑо делаеÑÑÑ Ð¿Ñи помоÑи <link linkend="skin-gui">ÑообÑений</link>
-(ÑобÑÑий). ÐÐ»Ñ ÑÑиÑ
ÑлеменÑов Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð¿ÑеделиÑÑ ÑообÑениÑ, генеÑиÑÑемÑе, когда
-на ниÑ
ÑелкаÑÑ Ð¼ÑÑÑÑ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-files">
-<title>ФайлÑ</title>
-<para>
-Ðам нÑÐ¶Ð½Ñ ÑледÑÑÑие ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñкина:
-<itemizedlist>
-<listitem><para>
- Файл конÑигÑÑаÑии, назÑваÑÑийÑÑ <link linkend="skin-file">skin</link> говоÑиÑ
- <application>MPlayer</application> как ÑовмеÑÑиÑÑ ÑазнÑе ÑаÑÑи Ñкина воедино,
- и ÑÑо делаÑÑ, еÑли пÑоизводиÑÑÑ ÑелÑок где-нибÑÐ´Ñ Ð² окне.
-</para></listitem>
-<listitem><para>
- Фоновое изобÑажение главного окна.
-</para></listitem>
-<listitem><para>
- ÐзобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑлеменÑов главного окна (вклÑÑÐ°Ñ Ð¾Ð´Ð¸Ð½ или более Ñайлов опиÑÐ°Ð½Ð¸Ñ ÑÑиÑÑов,
- необÑ
одимÑÑ
Ð´Ð»Ñ Ð¾ÑÑиÑовки надпиÑей.
-</para></listitem>
-<listitem><para>
- ÐзобÑажение, показÑваемое во вÑпомогаÑелÑном окне (необÑзаÑелÑно).
-</para></listitem>
-<listitem><para>
- Ðва изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼ÐµÐ½Ñ Ñо Ñкинами (нÑжнÑ, ÑолÑко еÑли Ð²Ñ Ñ
оÑиÑе ÑоздаваÑÑ Ð¼ÐµÐ½Ñ).
-</para></listitem>
-</itemizedlist>
- ÐÑе ÑайлÑ, за иÑклÑÑением skin, могÑÑ Ð±ÑÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ñ Ñак, как вам заÑ
оÑеÑÑÑ
- (но замеÑÑÑе, ÑÑо ÑÐ°Ð¹Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑÑиÑÑов Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ ÑаÑÑиÑение
- a <filename>.fnt</filename>).
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-file">
-<title>Файл skin</title>
-<para>
-Ðак опиÑано вÑÑе, ÑÑо Ñайл конÑигÑÑаÑии Ñкина. он ÑÑÑоÑно-оÑенÑиÑован:
-ÑÑÑоки комменÑаÑиев наÑинаÑÑÑÑ Ñ Ñимвола '<literal>;</literal>' в наÑале
-ÑÑÑоки (ÑолÑко пÑÐ¾Ð±ÐµÐ»Ñ Ð¸ ÑабÑлÑÑÐ¸Ñ Ð´Ð¾Ð¿ÑÑкаеÑÑÑ Ð¿ÐµÑед Ñимволом '<literal>;</literal>').
-</para>
-
-<para>
-Файл ÑоздаеÑÑÑ Ð¸Ð· Ñазделов. ÐаждÑй опиÑÑÐ²Ð°ÐµÑ Ñкин Ð´Ð»Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸
-Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑÑÑ ÑоÑмÑ:
-<programlisting>
-section = <replaceable>название Ñаздела</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-РданнÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¿Ñиложение одно, Ñак ÑÑо вам поÑÑебÑеÑÑÑ ÑолÑко один Ñаздел: его название
-<emphasis role="bold">movieplayer</emphasis>.
-</para>
-
-<para>
-РпÑеделаÑ
Ñаздела каждое окно опиÑÑваеÑÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð¼ ÑледÑÑÑей ÑÑÑÑкÑÑÑÑ:
-<programlisting>
-window = <replaceable>название окна</replaceable>
-.
-.
-.
-end
-</programlisting>
-</para>
-
-<para>
-где <replaceable>название окна</replaceable> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ из ÑÑиÑ
ÑÑÑок:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">main</emphasis> - главное окно
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">sub</emphasis> - вÑпомогаÑелÑное окно
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">menu</emphasis> - Ð¼ÐµÐ½Ñ Ñо Ñкинами
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">playbar</emphasis> - полоÑа воÑпÑоизведениÑ
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-(Ðлоки sub и menu опÑионалÑнÑе - необÑзаÑелÑно ÑоздаваÑÑ Ð¼ÐµÐ½Ñ Ð¸Ð»Ð¸ оÑоÑмлÑÑÑ Ð²ÑпомогаÑелÑное
-окно.)
-</para>
-
-<para>
-РпÑеделаÑ
блока window Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе опиÑаÑÑ ÐºÐ°Ð¶Ð´Ñй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¾ÐºÐ½Ð° ÑÑÑокой в ÑледÑÑÑем ÑоÑмаÑе:
-<programlisting>item = parameter</programlisting>
-Ðде <literal>item</literal> - ÑÑо ÑÑÑока, опÑеделÑÑÑÐ°Ñ Ñип ÑлеменÑа GUI,
-<literal>parameter</literal> - ÑиÑловое или ÑекÑÑовое знаÑение (или ÑпиÑок знаÑений, ÑазделеннÑÑ
-запÑÑой).
-</para>
-
-<para>
-ÐÑли ÑобÑаÑÑ Ð²Ñе вмеÑÑе, Ñайл Ñеликом бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ Ð¿ÑимеÑно Ñак:
-<programlisting>
-section = movieplayer
- window = main
- ; ... items for main window ...
- end
-
- window = sub
- ; ... items for subwindow ...
- end
-
- window = menu
- ; ... items for menu ...
- end
-
- window = playbar
- ; ... items for playbar ...
- end
-end
-</programlisting>
-</para>
-
-<para>
-Ðазвание Ñайла Ñ Ð¸Ð·Ð¾Ð±Ñажением должно ÑказÑваÑÑÑÑ Ð±ÐµÐ· лидиÑÑÑÑиÑ
каÑалогов -
-изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸ÑÑÑÑÑ Ð² каÑалоге <filename class="directory">skins</filename>.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе (но не обÑзанÑ) ÑказаÑÑ ÑаÑÑиÑение Ñайла. ÐÑли Ñайл не ÑÑÑеÑÑвÑеÑ,
-<application>MPlayer</application> пÑÑаеÑÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ñайл
-<filename><filename>.<ext></filename>, где <literal>png</literal>
-и <literal>PNG</literal> пÑобÑÑÑÑÑ Ð²Ð¼ÐµÑÑо <filename><ext></filename>
-(в ÑÑом поÑÑдке). ÐÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿ÐµÑвÑй найденнÑй Ñайл.
-</para>
-
-<para>
-ÐÐ¾Ñ Ð¿ÑимеÑ, ÑÑÐ¾Ð±Ñ Ð±Ñло понÑÑнее. ÐÑедположим Ð²Ñ Ð¸Ð¼ÐµÐµÑе изобÑажение, назÑваÑÑееÑÑ
-<filename>main.png</filename>, коÑоÑое иÑполÑзÑеÑе Ð´Ð»Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ окна:
-<programlisting>base = main, -1, -1</programlisting>
-<application>MPlayer</application> пÑÑаеÑÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑÐ°Ð¹Ð»Ñ <filename>main</filename>,
-<filename>main.png</filename>, <filename>main.PNG</filename>.
-</para>
-
-<para>
-Ð Ð½Ð°ÐºÐ¾Ð½ÐµÑ Ð½ÐµÑколÑко Ñлов о позиÑиониÑовании. Ðлавное и вÑпомогаÑелÑное окна могÑÑ
-бÑÑÑ ÑазмеÑÐµÐ½Ñ Ð² ÑазнÑÑ
ÑглаÑ
ÑкÑана Ñказанием <literal>X</literal> и
-<literal>Y</literal> кооÑдинаÑ. <literal>0</literal> - ÑÑо веÑÑ
ний и левÑй кÑай,
-<literal>-1</literal> - ÑенÑÑ Ð¸ <literal>-2</literal> - пÑавÑй или нижний, как
-Ñказано на иллÑÑÑÑаÑии:
-<informalfigure>
-<screen>
-(0, 0)----(-1, 0)----(-2, 0)
- | | |
- | | |
-(0,-1)----(-1,-1)----(-2,-1)
- | | |
- | | |
-(0,-2)----(-1,-2)----(-2,-2)
-</screen>
-</informalfigure>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-main">
-<title>Ðлавное окно и полоÑа воÑпÑоизведениÑ</title>
-<para>
-Ðиже - ÑпиÑок ÑлеменÑов, коÑоÑÑе можно ÑказÑваÑÑ Ð²
-'<literal>window = main</literal>' ... '<literal>end</literal>',
-и '<literal>window = playbar</literal>' ... '<literal>end</literal>'
-блокаÑ
.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-main-base"/>base = image, X, Y
- </literal></term>
- <listitem>
- <para>
- ÐозволÑÐµÑ Ð²Ð°Ð¼ ÑказаÑÑ Ñоновое изобÑажение, иÑполÑзÑемое в главном окне.
- Ðкно бÑÐ´ÐµÑ Ð¿Ð¾ÑвлÑÑÑÑÑ Ð² Ñказанной <literal>X,Y</literal> позиÑии на ÑкÑане и
- имеÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¸Ð·Ð¾Ð±ÑажениÑ.
- </para>
- <note><para>
- ÐÑи кооÑдинаÑÑ Ð¿Ð¾ÐºÐ° не ÑабоÑаÑÑ Ð´Ð»Ñ Ð¾ÐºÐ½Ð° оÑобÑажениÑ.
- </para></note>
- <warning><para>ÐÑозÑаÑнÑе ÑÐµÐ³Ð¸Ð¾Ð½Ñ Ð² изобÑажении (ÑÐ²ÐµÑ #FF00FF) ÑÑанÑÑ ÑеÑнÑми
- на X ÑеÑвеÑе без ÑаÑÑиÑÐµÐ½Ð¸Ñ XShape. ШиÑина каÑÑинки должна делиÑÑÑÑ
- на 8.</para></warning>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-button"/>button = image, X, Y, width, height, message
- </literal></term>
- <listitem>
- <para>
- РазмеÑÐ°ÐµÑ ÐºÐ½Ð¾Ð¿ÐºÑ ÑазмеÑа <literal>width</literal> * <literal>height</literal> на
- позиÑии <literal>X,Y</literal>. Указанное ÑообÑение <literal>message</literal>
- генеÑиÑÑеÑÑÑ Ð¿Ñи ÑелÑке на кнопкÑ. ÐзобÑажение <literal>image</literal>,
- должно имеÑÑ ÑÑи ÑаÑÑи одна ниже дÑÑгой (в ÑооÑвеÑÑÑвии Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñми ÑоÑÑоÑниÑми
- кнопки), как здеÑÑ:
- </para>
- <informalfigure>
- <screen>
-+------------+
-| нажаÑа |
-+------------+
-| оÑпÑÑена |
-+------------+
-| оÑклÑÑена |
-+------------+<!--
- --></screen>
- </informalfigure>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-decoration"/>decoration = enable|disable
- </literal></term>
- <listitem>
- <para>
- ÐклÑÑÐ°ÐµÑ Ð¸Ð»Ð¸ вÑклÑÑÐ°ÐµÑ Ð´ÐµÐºÐ¾ÑаÑии главного окна, оÑÑÑеÑÑвлÑемÑе window manager . Ðо-ÑмолÑаниÑ
- <emphasis role="bold">disable</emphasis>.
- </para>
- <note><para>
- ÐÑо не ÑабоÑÐ°ÐµÑ Ð´Ð»Ñ Ð¾ÐºÐ½Ð° оÑобÑажениÑ, в ÑÑом Ð½ÐµÑ Ð½Ð°Ð´Ð¾Ð±Ð½Ð¾ÑÑи.
- </para></note>
- </listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-hpotmeter"/>hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
- </literal></term>
- <listitem><para>
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-vpotmeter"/>vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
- </literal></term>
- <listitem><para>
- РазмеÑÐ°ÐµÑ Ð³Ð¾ÑизонÑалÑнÑй (hpotmeter) или веÑÑикалÑнÑй (vpotmeter) ползÑнок ÑазмеÑа
- <literal>width</literal> * <literal>height</literal> на позиÑии
- <literal>X,Y</literal>. ÐзобÑажение Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñазделено на ÑазнÑе ÑаÑÑи длÑ
- ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑазлиÑнÑÑ
положений ползÑнка (напÑимеÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе имеÑÑ ÑегÑлÑÑÐ¾Ñ Ð´Ð»Ñ
- ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð³ÑомкоÑÑÑÑ Ð·Ð²Ñка, изменÑÑÑийÑÑ Ñ ÐºÑаÑного на зеленÑй пÑи изменении его
- ÑÑÐ¾Ð²Ð½Ñ Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñного на макÑималÑнÑй.). <literal>hpotmeter</literal> Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ
- кнопкÑ, коÑоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑаÑкаÑÑ Ð³Ð¾ÑизонÑалÑно. ÐаÑамеÑÑÑ:
- <itemizedlist>
- <listitem><para>
- <literal>button</literal> - изобÑажение, иÑполÑзÑемое длÑ
- кнопки (должно имеÑÑ ÑÑи ÑаÑÑи одна под дÑÑгой, как в ÑлÑÑае
- <link linkend="skin-button">кнопки</link>)
- </para></listitem>
- <listitem><para>
- <literal>bwidth</literal>, <literal>bheight</literal> - ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸
- </para></listitem>
- <listitem><para>
- <literal>phases</literal> - изобÑажение, иÑполÑзÑемое длÑ
- ÑазлиÑнÑÑ
положений hpotmeter. СпеÑиалÑное знаÑение <literal>NULL</literal>
- Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ, еÑли подобное изобÑажение вам не нÑжно. ÐзобÑажение
- должно бÑÑÑ Ñазделено веÑÑикалÑно на
- <literal>numphases</literal> ÑаÑÑей, как Ñказано ниже:
- <informalfigure><screen>
-+--------------+
-| положение #1 |
-+--------------+
-| положение #2 |
-+--------------+
- ...
-+--------------+
-| положение #n |
-+--------------+<!--
- --></screen></informalfigure>
- </para></listitem>
- <listitem><para>
- <literal>numphases</literal> - колиÑеÑÑво положений в изобÑажении
- <literal>phases</literal>
- </para></listitem>
- <listitem><para>
- <literal>default</literal> - положение hpotmeter по-ÑмолÑаниÑ
- (в диапазоне Ð¾Ñ <literal>0</literal> до <literal>100</literal>)
- </para></listitem>
- <listitem><para>
- <literal>X</literal>, <literal>Y</literal> - позиÑÐ¸Ñ hpotmeter
- </para></listitem>
- <listitem><para>
- <literal>width</literal>, <literal>height</literal> - ÑиÑина и вÑÑоÑа
- <literal>hpotmeter</literal>
- </para></listitem>
- <listitem><para>
- <literal>message</literal> - ÑообÑение, генеÑиÑÑемое пÑи изменении знаÑениÑ
- <literal>hpotmeter</literal>
- </para></listitem>
- </itemizedlist>
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, width, height, message
- </literal></term>
- <listitem><para>
- <literal>hpotmeter</literal> без кнопки.
- (Я пÑедполагаÑ, ÑÑо ÑÑо ознаÑÐ°ÐµÑ Ð¿Ð¾Ð²ÐµÑнÑÑÑй вокÑÑг,
- но он ÑеагиÑÑÐµÑ ÑолÑко на пеÑеÑаÑкивание по гоÑизонÑали.) ÐÐ»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑов ÑмоÑÑиÑе
- <link linkend="skin-hpotmeter">hpotmeter</link>.
- <literal>phases</literal> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñавен <literal>NULL</literal>, но ÑÑо ÑовеÑÑенно
- беÑполезно, поÑколÑÐºÑ Ð²Ñ Ð½Ðµ ÑможеÑе опÑеделиÑÑ Ð² каком положении
- наÑ
одиÑÑÑ <literal>potmeter</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-font"/>font = fontfile, fontid
- </literal></term>
- <listitem><para>
- ÐпÑеделÑÐµÑ ÑÑиÑÑ. <literal>fontfile</literal> - ÑÑо название Ñайла опиÑÐ°Ð½Ð¸Ñ ÑÑиÑÑа
- Ñ ÑаÑÑиÑением <filename>.fnt</filename> (не ÑказÑвайÑе ÑаÑÑиÑение здеÑÑ).
- <literal>fontid</literal> иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑÑÑлки на ÑÑиÑÑ
- (ÑмоÑÑиÑе <link linkend="skin-dlabel">dlabel</link> и
- <link linkend="skin-slabel">slabel</link>). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿Ñеделено до 25 ÑÑиÑÑов.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-slabel"/>slabel = X, Y, fontid, "text"
- </literal></term>
- <listitem><para>
- РазмеÑÐ°ÐµÑ ÑÑаÑиÑеÑкÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° позиÑии <literal>X,Y</literal>. <literal>text</literal>
- оÑобÑажаеÑÑÑ, иÑполÑзÑÑ ÑÑиÑÑ, опÑеделеннÑй по <literal>fontid</literal>.
- ТекÑÑ - пÑоÑÑо обÑÑÐ½Ð°Ñ ÑÑÑока (<literal>$x</literal> пеÑеменнÑе не ÑабоÑаÑÑ), коÑоÑÐ°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð°
- бÑÑÑ Ð·Ð°ÐºÐ»ÑÑена в двойнÑе кавÑÑки (но Ñимвол " не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑаÑÑÑÑ ÑекÑÑа).
- ÐеÑка оÑобÑажаеÑÑÑ, иÑполÑзÑÑ ÑÑиÑÑ Ð¾Ð¿ÑеделеннÑй по <literal>fontid</literal>.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, "text"
- </literal></term>
- <listitem>
- <para>
- РазмеÑÐ°ÐµÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑкÑÑ Ð¼ÐµÑÐºÑ Ð½Ð° позиÑии <literal>X,Y</literal>. ÐеÑка зовеÑÑÑ
- динамиÑеÑкой, поÑÐ¾Ð¼Ñ ÑÑо ее ÑекÑÑ Ð¿ÐµÑиодиÑеÑки обновлÑеÑÑÑ. ÐакÑималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð°
- меÑки задаеÑÑÑ Ð¿Ð°ÑамеÑÑом <literal>length</literal> (ее вÑÑоÑа Ñавна вÑÑоÑе Ñимвола).
- ÐÑли оÑобÑажаемÑй ÑекÑÑ ÑиÑе ÑÑого знаÑениÑ, он бÑÐ´ÐµÑ ÑкÑоллиÑоваÑÑÑÑ,
- инаÑе он вÑÑавниваеÑÑÑ Ð² пÑеделаÑ
Ñказанного пÑоÑÑÑанÑÑва в ÑооÑвеÑÑÑвии Ñо
- знаÑением паÑамеÑÑа
- <literal>align</literal>: <literal>0</literal> - впÑаво,
- <literal>1</literal> - по ÑенÑÑÑ, <literal>2</literal> - влево.
- </para>
- <para>
- ÐÑобÑажаемÑй ÑекÑÑ Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð¿Ð°ÑамеÑÑом <literal>text</literal>: Ðн должен бÑÑÑ
- заклÑÑен в двойнÑе кавÑÑки (но Ñимвол " не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑаÑÑÑÑ ÑекÑÑа).
- ÐеÑка оÑобÑажаеÑÑÑ, иÑполÑзÑÑ ÑÑиÑÑ, опÑеделÑемÑй по <literal>fontid</literal>.
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑледÑÑÑие пеÑеменнÑе в ÑекÑÑе:
- </para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row><entry>ÐеÑеменнаÑ</entry><entry>ÐнаÑение</entry></row>
- </thead>
- <tbody>
- <row>
- <entry>$1</entry>
- <entry>вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð² ÑоÑмаÑе <emphasis>ÑÑ:мм:ÑÑ</emphasis></entry>
- </row>
- <row>
- <entry>$2</entry>
- <entry>вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð² ÑоÑмаÑе <emphasis>мммм:ÑÑ</emphasis></entry>
- </row>
- <row>
- <entry>$3</entry>
- <entry>вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑоÑмаÑе <emphasis>ÑÑ</emphasis>(ÑаÑÑ)</entry>
- </row>
- <row>
- <entry>$4</entry>
- <entry>вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð² ÑоÑмаÑе <emphasis>мм</emphasis>(минÑÑÑ)</entry>
- </row>
- <row>
- <entry>$5</entry>
- <entry>вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð² ÑоÑмаÑе <emphasis>ÑÑ</emphasis>(ÑекÑндÑ)</entry>
- </row>
- <row>
- <entry>$6</entry>
- <entry>длиÑелÑноÑÑÑ ÑилÑма в ÑоÑмаÑе <emphasis>ÑÑ:мм:ÑÑ</emphasis></entry>
- </row>
- <row>
- <entry>$7</entry>
- <entry>длиÑелÑноÑÑÑ ÑилÑма в ÑоÑмаÑе <emphasis>мммм:ÑÑ</emphasis></entry>
- </row>
- <row>
- <entry>$8</entry>
- <entry>вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑоÑмаÑе <emphasis>Ñ:мм:ÑÑ</emphasis></entry>
- </row>
- <row>
- <entry>$v</entry>
- <entry>кÑомкоÑÑÑ Ð² ÑоÑмаÑе <emphasis>xxx.xx</emphasis>%</entry>
- </row>
- <row>
- <entry>$V</entry>
- <entry>кÑомкоÑÑÑ Ð² ÑоÑмаÑе <emphasis>xxx.xx</emphasis></entry>
- </row>
- <row>
- <entry>$b</entry>
- <entry>Ð±Ð°Ð»Ð°Ð½Ñ Ð² ÑоÑмаÑе <emphasis>xxx.xx</emphasis>%</entry>
- </row>
- <row>
- <entry>$B</entry>
- <entry>Ð±Ð°Ð»Ð°Ð½Ñ Ð² ÑоÑмаÑе <emphasis>xxx.xx</emphasis></entry>
- </row>
- <row>
- <entry>$$</entry>
- <entry>Ñимвол $</entry>
- </row>
- <row>
- <entry>$a</entry>
- <entry>Ñимвол ,ÑооÑвеÑÑÑвÑÑÑий ÑÐ¸Ð¿Ñ Ð·Ð²Ñка (неÑ: <literal>n</literal>,
- моно: <literal>m</literal>, ÑÑеÑео: <literal>t</literal>)</entry>
- </row>
- <row>
- <entry>$t</entry>
- <entry>Ð½Ð¾Ð¼ÐµÑ Ð´Ð¾Ñожки (в плейлиÑÑе)</entry>
- </row>
- <row>
- <entry>$o</entry>
- <entry>Ð¸Ð¼Ñ Ñайла</entry>
- </row>
- <row>
- <entry>$f</entry>
- <entry>Ð¸Ð¼Ñ Ñайла в нижнем ÑегиÑÑÑе</entry>
- </row>
- <row>
- <entry>$F</entry>
- <entry>Ð¸Ð¼Ñ Ñайла в веÑÑ
нем ÑегиÑÑÑе</entry>
- </row>
- <row>
- <entry>$T</entry>
- <entry>
- Ñимвол, ÑооÑвеÑÑÑвÑÑÑий ÑÐ¸Ð¿Ñ Ð¿Ð¾Ñока (Ñайл: <literal>f</literal>,
- Video CD: <literal>v</literal>, DVD: <literal>d</literal>,
- URL: <literal>u</literal>)
- </entry>
- </row>
- <row>
- <entry>$p</entry>
- <entry>
- Ñимвол <keycap>p</keycap> (еÑли ÑилÑм воÑпÑоизводиÑÑÑ Ð¸ ÑÑиÑÑ Ð¸Ð¼ÐµÐµÑ
- Ñимвол <keycap>p</keycap>)
- </entry>
- </row>
- <row>
- <entry>$s</entry>
- <entry>
- Ñимвол <keycap>s</keycap> (еÑли ÑилÑм оÑÑановлен и ÑÑиÑÑ Ð¸Ð¼ÐµÐµÑ
- Ñимвол <keycap>s</keycap>)
- </entry>
- </row>
- <row>
- <entry>$e</entry>
- <entry>
- Ñимвол <keycap>e</keycap> (еÑли ÑилÑм на паÑзе и ÑÑиÑÑ Ð¸Ð¼ÐµÐµÑ
- Ñимвол <keycap>e</keycap>)
- </entry>
- </row>
- <row>
- <entry>$x</entry>
- <entry>ÑиÑина ÑилÑма</entry>
- </row>
- <row>
- <entry>$y</entry>
- <entry>вÑÑоÑа ÑилÑма</entry>
- </row>
- <row>
- <entry>$C</entry>
- <entry>название иÑполÑзÑемого кодека</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <note><para>
- ÐеÑеменнÑе <literal>$a, $T, $p, $s</literal> и <literal>$e</literal> вÑе
- возвÑаÑаÑÑ ÑимволÑ, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ñ Ð² каÑеÑÑве ÑпеÑиалÑнÑÑ
знаÑков
- (напÑимеÑ, <keycap>e</keycap> - Ð´Ð»Ñ Ð·Ð½Ð°Ñка паÑзÑ, коÑоÑÑй обÑÑно вÑглÑÐ´Ð¸Ñ ÐºÐ°Ðº ||).
- ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ ÑÑиÑÑ Ð´Ð»Ñ Ð¾Ð±ÑÑнÑÑ
Ñимволов и оÑлиÑаÑÑийÑÑ ÑÑиÑÑ Ð´Ð»Ñ Ð·Ð½Ð°Ñков.
- СмоÑÑиÑе Ñаздел о <link linkend="skin-fonts-symbols">знаÑкаÑ
</link>
- Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной инÑоÑмаÑии.
- </para></note>
- </listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-subwindow">
-<title>ÐÑпомогаÑелÑное окно</title>
-<para>
-СледÑÑÑие ÑлеменÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð² блоке
-'<literal>window = sub</literal>' . . . '<literal>end</literal>' .
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-sub-base"/>base = image, X, Y, width, height
- </literal></term>
- <listitem><para>
- ÐзобÑажение, оÑобÑажаемое в окне. Ðкно бÑÐ´ÐµÑ Ð¿Ð¾ÑвлÑÑÑÑÑ Ð² Ñказанной позиÑии
- <literal>X,Y</literal> ÑкÑана (<literal>0,0</literal> - веÑÑ
ний левÑй Ñгол).
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑказаÑÑ <literal>-1</literal> Ð´Ð»Ñ ÑенÑÑа и <literal>-2</literal>
- Ð´Ð»Ñ Ð¿Ñавого (<literal>X</literal>) и нижнего (<literal>Y</literal>) кÑаÑ.
- Ðкно бÑÐ´ÐµÑ Ñого же ÑазмеÑа, ÑÑо и изобÑажение. <literal>width</literal> и
- <literal>height</literal> ознаÑаÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÐºÐ½Ð°; они необÑзаÑелÑнÑ
- (еÑли оÑÑÑÑÑÑвÑÑÑ, окно бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ñе же ÑазмеÑÑ, ÑÑо и изобÑажение).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-background"/>background = R, G, B
- </literal></term>
- <listitem><para>
- ÐозволÑÐµÑ ÑказаÑÑ ÑÐ²ÐµÑ Ñона. ÐÑо полезно, еÑли изобÑажение менÑÑе окна.
- <literal>R</literal>, <literal>G</literal> и <literal>B</literal>
- ÑказÑваÑÑ ÐºÑаÑнÑÑ, зеленÑÑ Ð¸ ÑинÑÑ ÑоÑÑавлÑÑÑие ÑвеÑа (каждое из ниÑ
-
- деÑÑÑиÑное ÑиÑло Ð¾Ñ 0 до 255).
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="skin-file-menu">
-<title>ÐÐµÐ½Ñ Ñо Ñкинами</title>
-<para>
-Ðак бÑло опиÑано вÑÑе, Ð¼ÐµÐ½Ñ Ð¾ÑобÑажаеÑÑÑ Ð¿Ñи помоÑи двÑÑ
каÑÑинок. ÐоÑмалÑнÑе
-ÑлеменÑÑ Ð¼ÐµÐ½Ñ Ð±ÐµÑÑÑÑÑ Ð¸Ð· изобÑажениÑ, Ñказанного ÑлеменÑом <literal>base</literal>,
-в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº вÑделеннÑй в даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð±ÐµÑеÑÑÑ Ð¸Ð· изобÑажениÑ,
-Ñказанного ÑлеменÑом <literal>selected</literal>. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð¿ÑеделиÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ Ð¸
-ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа менÑ.
-</para>
-
-<para>
-СледÑÑÑие ÑлеменÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ Ð² блоке
-'<literal>window = menu</literal>'. . .'<literal>end</literal>'.
-</para>
-
-<variablelist>
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu-base"/>base = image
- </literal></term>
- <listitem><para>
- ÐзобÑажение Ð´Ð»Ñ Ð½Ð¾ÑмалÑнÑÑ
ÑлеменÑов менÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-selected"/>selected = image
- </literal></term>
- <listitem><para>
- ÐзобÑажение, показÑваÑÑее Ð¼ÐµÐ½Ñ Ñо вÑеми вÑделеннÑми ÑлеменÑами.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><literal>
- <anchor id="skin-menu"/>menu = X, Y, width, height, message
- </literal></term>
- <listitem><para>
- ÐпÑеделÑÐµÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ <literal>X,Y</literal> и ÑÐ°Ð·Ð¼ÐµÑ ÑлеменÑа Ð¼ÐµÐ½Ñ Ð² изобÑажении.
- <literal>message</literal> - ÑÑо ÑообÑение, генеÑиÑÑемое, когда кнопка мÑÑи бÑÐ´ÐµÑ Ð¾ÑпÑÑена
- над ÑлеменÑом менÑ.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-fonts">
-<title>ШÑиÑÑÑ</title>
-<para>
-Ðак опиÑано в Ñазделе, поÑвÑÑÐµÐ½Ð½Ð¾Ð¼Ñ ÑаÑÑÑм Ñкина, ÑÑиÑÑ Ð¾Ð¿ÑеделÑеÑÑÑ
-изобÑажением и Ñайлом опиÑаниÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе помеÑÑиÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² лÑбое меÑÑо изобÑажениÑ,
-но бÑдÑÑе ÑвеÑенÑ, ÑÑо иÑ
позиÑÐ¸Ñ Ð¸ ÑÐ°Ð·Ð¼ÐµÑ ÑоÑно ÑÐºÐ°Ð·Ð°Ð½Ñ Ð² Ñайле опиÑаниÑ.
-</para>
-
-<para>
-Файл опиÑÐ°Ð½Ð¸Ñ ÑÑиÑÑа (Ñ ÑаÑÑиÑением <filename>.fnt</filename>) Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑии,
-наÑинаÑÑиеÑÑ Ñ '<literal>;</literal>'. Файл должен имеÑÑ ÑÑÑÐ¾ÐºÑ Ð²Ð¸Ð´Ð°
-<anchor id="skin-font-image"/>
-<programlisting>image = <replaceable>image</replaceable></programlisting>,
-где <literal><replaceable>image</replaceable></literal> - ÑÑо название
-Ñайла Ñ Ð¸Ð·Ð¾Ð±Ñажением, иÑполÑзÑемÑм Ð´Ð»Ñ ÑÑиÑÑа (ÑаÑÑиÑение ÑказÑваÑÑ Ð½ÐµÐ¾Ð±ÑзаÑелÑно).
-<anchor id="skin-font-char"/>
-<programlisting>"char" = X, Y, width, height</programlisting>
-ÐдеÑÑ <literal>X</literal> и <literal>Y</literal> ÑказÑваÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ Ñимвола
-<literal>char</literal> в изобÑажении (<literal>0,0</literal> - веÑÑ
ний левÑй Ñгол),
-<literal>width</literal> и <literal>height</literal> - ÑазмеÑÑ Ñимвола в пикÑелаÑ
.
-</para>
-
-<para>
-ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð¾Ð¿ÑеделÑÐµÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ A, B, C, иÑполÑзÑÑ <filename>font.png</filename>.
-<programlisting>
-; Can be "font" instead of "font.png".
-image = font.png
-
-; Three characters are enough for demonstration purposes :-)
-"A" = 0,0, 7,13
-"B" = 7,0, 7,13
-"C" = 14,0, 7,13
-</programlisting>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="skin-fonts-symbols">
-<title>ÐнаÑки</title>
-
-<para>
-ÐекоÑоÑÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¸Ð¼ÐµÑÑ ÑпеÑиалÑное знаÑение, когда возвÑаÑаÑÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑми пеÑеменнÑми,
-иÑполÑзÑемÑми в <link linkend="skin-dlabel">dlabel</link>. ÐодÑазÑмеваеÑÑÑ, ÑÑо ÑÑи ÑимволÑ
-Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾ÑобÑажаÑÑÑÑ Ð² виде знаÑков, Ñак Ð´Ð»Ñ DVD поÑока можно оÑобÑажаÑÑ Ð·Ð½Ð°Ñок
-кÑаÑивого логоÑипа DVD вмеÑÑо Ñимвола '<literal>d</literal>'.
-</para>
-<para>
-СледÑÑÑÐ°Ñ ÑаблиÑа ÑодеÑÐ¶Ð¸Ñ ÑпиÑок вÑеÑ
Ñимволов, коÑоÑÑе могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ
-оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñков (и поÑÑÐ¾Ð¼Ñ ÑÑебÑÑÑ Ð´ÑÑгой ÑÑиÑÑ).
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Символ</entry><entry>ÐнаÑок</entry></row>
-</thead>
-<tbody>
- <row><entry><keycap>p</keycap></entry><entry>воÑпÑоизведение</entry></row>
- <row><entry><keycap>s</keycap></entry><entry>ÑÑоп</entry></row>
- <row><entry><keycap>e</keycap></entry><entry>паÑза</entry></row>
- <row><entry><keycap>n</keycap></entry><entry>без звÑка</entry></row>
- <row><entry><keycap>m</keycap></entry><entry>звÑк моно</entry></row>
- <row><entry><keycap>t</keycap></entry><entry>звÑк ÑÑеÑео</entry></row>
- <row><entry><keycap>f</keycap></entry><entry>Ñайл</entry></row>
- <row><entry><keycap>v</keycap></entry><entry>Video CD</entry></row>
- <row><entry><keycap>d</keycap></entry><entry>DVD</entry></row>
- <row><entry><keycap>u</keycap></entry><entry>URL</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-gui">
-<title>GUI ÑообÑениÑ</title>
-<para>
-ÐÑо ÑообÑениÑ, коÑоÑÑе могÑÑ Ð³ÐµÐ½ÐµÑиÑоваÑÑÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸, ползÑнками и ÑлеменÑами менÑ.
-</para>
-
-<variablelist>
-<title>УпÑавление воÑпÑоизведением:</title>
-<varlistentry>
- <term><emphasis role="bold">evNext</emphasis></term>
- <listitem><para>
- ÐеÑеÑ
од к ÑледÑÑÑÐµÐ¼Ñ ÑлеменÑÑ ÑпиÑка воÑпÑоизведениÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPause</emphasis></term>
- <listitem><para>
- ÐмеÑÑе Ñ <literal>evPlaySwitchToPause</literal> ÑоÑмиÑÑÐµÑ Ð¿ÐµÑеклÑÑаÑÐµÐ»Ñ Ð¿Ð°ÑзÑ.
- ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзовано Ð´Ð»Ñ Ð¾Ð±Ñей кнопки воÑпÑоизведение/паÑза. Ðба ÑообÑениÑ
- Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼, наÑ
одÑÑимÑÑ Ð¿ÑакÑиÑеÑки в одной ÑоÑке окна.
- ÐÑо ÑообÑение ÑÑÐ°Ð²Ð¸Ñ Ð²Ð¾ÑпÑоизведение на паÑÐ·Ñ Ð¸ показÑÐ²Ð°ÐµÑ Ð¸Ð·Ð¾Ð±Ñажение кнопки Ñ
- назнаÑеннÑм ÑообÑением <literal>evPlaySwitchToPause</literal>
- (ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑ, ÑÑо кнопка Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð¶Ð°Ñа Ð´Ð»Ñ Ð¿ÑÐ¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¾ÑпÑоизведениÑ).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlay</emphasis></term>
- <listitem><para>
- СÑаÑÑ Ð²Ð¾ÑпÑоизведениÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
- <listitem><para>
- ÐÑоÑивоположноÑÑÑ <literal>evPauseSwitchToPlay</literal>. ÐÑо ÑообÑение
- запÑÑÐºÐ°ÐµÑ Ð²Ð¾ÑпÑоизведение и показÑÐ²Ð°ÐµÑ Ð¸Ð·Ð¾Ð±Ñажение кнопки Ñ
- назнаÑеннÑм ÑообÑением <literal>evPauseSwitchToPlay</literal>
- (ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑ, ÑÑо кнопка Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð¶Ð°Ñа Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑзÑ).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPrev</emphasis></term>
- <listitem><para>
- ÐеÑеÑ
од к пÑедÑдÑÑÐµÐ¼Ñ ÑлеменÑÑ ÑпиÑка воÑпÑоизведениÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evStop</emphasis></term>
- <listitem><para>
- ÐÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð²Ð¾ÑпÑоизведение.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>ÐеÑемеÑение:</title>
-<varlistentry>
- <term><emphasis role="bold">evBackward10sec</emphasis></term>
- <listitem><para>
- ÐеÑемеÑение назад на 10 ÑекÑнд.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward1min</emphasis></term>
- <listitem><para>
- ÐеÑемеÑение назад на 1 минÑÑÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evBackward10min</emphasis></term>
- <listitem><para>
- ÐеÑемеÑение назад на 10 минÑÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10sec</emphasis></term>
- <listitem><para>
- ÐеÑемеÑение впеÑед на 10 ÑекÑнд.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward1min</emphasis></term>
- <listitem><para>
- ÐеÑемеÑение впеÑед на 1 минÑÑÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evForward10min</emphasis></term>
- <listitem><para>
- ÐеÑемеÑение впеÑед на 10 минÑÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
- <listitem><para>
- ÐеÑемеÑаеÑÑÑ Ðº позиÑии (Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ð¾Ð»Ð·Ñнком;
- иÑполÑзÑеÑÑÑ Ð¾ÑноÑиÑелÑное (0-100%) положение ползÑнка).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>УпÑавление видео:</title>
-<varlistentry>
- <term><emphasis role="bold">evHalfSize</emphasis></term>
- <listitem><para>
- УÑÑановиÑÑ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ð½Ñй ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÐºÐ½Ð°.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evDoubleSize</emphasis></term>
- <listitem><para>
- УÑÑановиÑÑ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÐºÐ½Ð°.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evFullScreen</emphasis></term>
- <listitem><para>
- ÐклÑÑиÑÑ/вÑклÑÑиÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑкÑаннÑй Ñежим.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><emphasis role="bold">evNormalSize</emphasis></term>
- <listitem><para>
- УÑÑановиÑÑ Ð½Ð¾ÑмалÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÐºÐ½Ð°.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>УпÑавление звÑком:</title>
-<varlistentry>
- <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
- <listitem><para>
- УменÑÑиÑÑ Ð·Ð°Ð´ÐµÑÐ¶ÐºÑ Ð±ÑÑеÑа звÑка.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecBalance</emphasis></term>
- <listitem><para>
- УменÑÑиÑÑ Ð±Ð°Ð»Ð°Ð½Ñ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDecVolume</emphasis></term>
- <listitem><para>
- УменÑÑиÑÑ Ð³ÑомкоÑÑÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
- <listitem><para>
- УвелиÑиÑÑ Ð·Ð°Ð´ÐµÑÐ¶ÐºÑ Ð±ÑÑеÑа звÑка.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncBalance</emphasis></term>
- <listitem><para>
- УвелиÑиÑÑ Ð±Ð°Ð»Ð°Ð½Ñ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIncVolume</emphasis></term>
- <listitem><para>
- УвелиÑиÑÑ Ð³ÑомкоÑÑÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evMute</emphasis></term>
- <listitem><para>
- ÐÑклÑÑиÑÑ/вклÑÑиÑÑ Ð·Ð²Ñк.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetBalance</emphasis></term>
- <listitem><para>
- УÑÑановиÑÑ Ð±Ð°Ð»Ð°Ð½Ñ (Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ð¾Ð»Ð·Ñнком;
- иÑполÑзÑеÑÑÑ Ð¾ÑноÑиÑелÑное (0-100%) знаÑение ползÑнка),
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetVolume</emphasis></term>
- <listitem><para>
- УÑÑановиÑÑ Ð³ÑомкоÑÑÑ (Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ð¾Ð»Ð·Ñнком;
- иÑполÑзÑеÑÑÑ Ð¾ÑноÑиÑелÑное (0-100%) знаÑение ползÑнка),
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>Разное:</title>
-<varlistentry>
- <term><emphasis role="bold">evAbout</emphasis></term>
- <listitem><para>
- ÐÑкÑÑÑÑ Ð¾ÐºÐ½Ð¾ 'РпÑогÑамме'.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evDropSubtitle</emphasis></term>
- <listitem><para>
- ÐÑклÑÑÐ°ÐµÑ ÑÑбÑиÑÑÑ, иÑполÑзÑÑÑиеÑÑ Ð² даннÑй моменÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evEqualizer</emphasis></term>
- <listitem><para>
- ÐклÑÑаеÑ/вÑклÑÑÐ°ÐµÑ ÑквалайзеÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evExit</emphasis></term>
- <listitem><para>
- ÐÑÑ
од из пÑогÑаммÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evIconify</emphasis></term>
- <listitem><para>
- СвоÑаÑÐ¸Ð²Ð°ÐµÑ Ð¾ÐºÐ½Ð¾ в иконкÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoad</emphasis></term>
- <listitem><para>
- ÐÑкÑÑÐ²Ð°ÐµÑ Ñайл (оÑкÑÑÐ²Ð°Ñ Ð¾ÐºÐ½Ð¾ навигаÑии, в коÑоÑом Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑбÑаÑÑ Ñайл).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadPlay</emphasis></term>
- <listitem><para>
- ÐÐµÐ»Ð°ÐµÑ Ñо же, ÑÑо и <literal>evLoad</literal>, но запÑÑÐºÐ°ÐµÑ Ð²Ð¾Ð¿Ñоизведение Ñайла
- авÑомаÑиÑеÑки поÑле его загÑÑзки.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
- <listitem><para>
- ÐагÑÑÐ¶Ð°ÐµÑ Ñайл Ñ ÑÑбÑиÑÑами (Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð¼ вÑбоÑа Ñайла).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
- <listitem><para>
- ÐагÑÑÐ¶Ð°ÐµÑ Ð·Ð²Ñковой Ñайл (Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð¼ вÑбоÑа Ñайла).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evNone</emphasis></term>
- <listitem><para>
- ÐÑÑÑое ÑообÑение, не Ð¸Ð¼ÐµÐµÑ Ð´ÐµÐ¹ÑÑвий (за иÑклÑÑением, возможно, Subversion веÑÑий :-)).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlaylist</emphasis></term>
- <listitem><para>
- ÐÑкÑÑвае/закÑÑÐ²Ð°ÐµÑ Ð¾ÐºÐ½Ð¾ Ñо ÑпиÑком воÑпÑоизведениÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayDVD</emphasis></term>
- <listitem><para>
- ÐÑÑаеÑÑÑ Ð¾ÑкÑÑÑÑ Ð´Ð¸Ñк в Ñказанном ÑÑÑÑойÑÑве DVD-ROM.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPlayVCD</emphasis></term>
- <listitem><para>
- ÐÑÑаеÑÑÑ Ð¾ÑкÑÑÑÑ Ð´Ð¸Ñк в Ñказанном ÑÑÑÑойÑÑве CD-ROM.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evPreferences</emphasis></term>
- <listitem><para>
- ÐÑкÑÑÐ²Ð°ÐµÑ Ð¾ÐºÐ½Ð¾ Ñ Ð½Ð°ÑÑÑойками.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetAspect</emphasis></term>
- <listitem><para>
- ÐклÑÑÐ°ÐµÑ Ð¿Ð¾ÐºÐ°Ð· пÑопоÑÑий изобÑажениÑ.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSetURL</emphasis></term>
- <listitem><para>
- ÐÑобÑÐ°Ð¶Ð°ÐµÑ Ð´Ð¸Ð°Ð»Ð¾Ð³ ввода URL.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><emphasis role="bold">evSkinBrowser</emphasis></term>
- <listitem><para>
- ÐÑкÑÑÐ²Ð°ÐµÑ Ð¾ÐºÐ½Ð¾ навигаÑии по Ñкинам.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="skin-quality">
-<title>Создание каÑеÑÑвенного Ñкина</title>
-
-<para>
-ÐÑак, Ð²Ñ Ð¿ÑоÑиÑали о Ñоздании Ñкина длÑ
-<application>MPlayer</application> GUI, пÑекÑаÑно наÑиÑовали вÑе в
-<application>Gimp</application> и желаеÑе оÑпÑавиÑÑ Ñкин нам?
-ÐÑоÑÑиÑе некоÑоÑÑе ÑÑководÑÑва Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ð¾ÑновнÑÑ
оÑибок и
-ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²ÑÑококаÑеÑÑвенного Ñкина.
-</para>
-
-<para>
-ÐÑ Ñ
оÑим, ÑÑÐ¾Ð±Ñ ÑкинÑ, добавлÑемÑе нами в ÑепозиÑоÑий, ÑдовлеÑвоÑÑли
-некоÑоÑÑм ÑÑандаÑÑам каÑеÑÑва. ÐÑÑÑ Ñакже неÑколÑко веÑей,
-ÑделаÑÑиÑ
ваÑÑ Ð¶Ð¸Ð·Ð½Ñ Ð¿ÑоÑе.
-</para>
-
-<para>
-РкаÑеÑÑве пÑимеÑа можеÑе поÑмоÑÑеÑÑ Ð½Ð° Ñкин <systemitem>Blue</systemitem>,
-наÑÐ¸Ð½Ð°Ñ Ñ Ð²ÐµÑÑии 1.5, он ÑдовлеÑвоÑÑÐµÑ Ð²Ñем кÑиÑеÑиÑм, ÑказаннÑм ниже.
-</para>
-
-<itemizedlist>
- <listitem><para>
- ÐаждÑй Ñкин должна идÑи Ñ Ñайлом
- <filename>README</filename>, ÑодеÑжаÑим инÑоÑмаÑÐ¸Ñ Ð¾ ваÑ, авÑоÑе,
- пÑаваÑ
на копиÑование, лиÑензионнÑм Ñведомлением и вÑем дÑÑгим,
- ÑÑо вам заÑ
оÑеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ. ÐÑли Ñ
оÑиÑе имеÑÑ Ð¸ÑÑоÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹, Ñо
- ÑÑÐ¾Ñ Ñайл - Ñ
оÑоÑее меÑÑо Ð´Ð»Ñ Ð½ÐµÐµ.
- </para></listitem>
-
- <listitem><para>
- Ðолжен бÑÑÑ Ñайл <filename>VERSION</filename>,
- ÑодеÑжаÑий ÑолÑко Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии Ñкина в одной ÑÑÑоке
- (напÑÐ¸Ð¼ÐµÑ 1.0).
- </para></listitem>
-
- <listitem><para>
- ÐоÑизонÑалÑнÑе и веÑÑикалÑнÑе ÑлеменÑÑ ÑпÑавлениÑ
- (Ñакие как ползÑнки гÑомкоÑÑи или положениÑ) Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ
- кнопкÑ-ползÑнок ÑоÑно оÑÑенÑÑиÑованнÑÑ Ð¿Ð¾ ÑенÑÑÑ Ñамого ползÑнка.
- Ðолжно бÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ двигаÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ Ðº обоим конÑам ползÑнка,
- но не вÑÑ
одиÑÑ Ð·Ð° ниÑ
.
- </para></listitem>
-
- <listitem><para>
- ÐлеменÑÑ Ñкина Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð¿ÑавилÑнÑе ÑазмеÑÑ,
- ÑказаннÑе в Ñайле skin. ÐÑли ÑÑо не Ñак, Ð²Ñ ÑможеÑе ÑелкнÑÑÑ, напÑимеÑ,
- мимо кнопки и вÑе Ñавно она ÑÑабоÑаеÑ, или наобоÑÐ¾Ñ ÐºÐ»Ð¸ÐºÐ½ÑÑÑ Ð½Ð° нее,
- не вÑзвав никакого дейÑÑвиÑ.
- </para></listitem>
-
- <listitem><para>
- Файл <filename>skin</filename> должен бÑÑÑ Ð½Ð°Ð±Ñан аккÑÑаÑно
- и не должен ÑодеÑжаÑÑ Ñимволов ÑабÑлÑÑии. ÐккÑÑаÑно набÑан ознаÑаеÑ,
- ÑÑо ÑиÑла Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑÑавниваÑÑÑÑ ÑÑÑойно в ÑÑолбÑÑ.
- </para></listitem>
-</itemizedlist>
-
-</sect1>
-</appendix>
diff --git a/DOCS/xml/ru/usage.xml b/DOCS/xml/ru/usage.xml
deleted file mode 100644
index 580f33c..0000000
--- a/DOCS/xml/ru/usage.xml
+++ /dev/null
@@ -1,1760 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r25146 -->
-<chapter id="usage">
-<title>ÐÑполÑзование</title>
-
-<sect1 id="commandline">
-<title>ÐÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ ÑÑÑока</title>
-
-<para>
-<application>MPlayer</application> иÑполÑзÑÐµÑ ÑоÑÑавное деÑево воÑпÑоизведениÑ.
-ÐпÑии, ÑказаннÑе в командной ÑÑÑоке, могÑÑ Ð¿ÑименÑÑÑÑÑ ÐºÐ¾ вÑем Ñайлам/URL или
-ÑолÑко к некоÑоÑÑм, в завиÑимоÑÑи Ð¾Ñ Ð¼ÐµÑÑоположениÑ. ÐапÑимеÑ
-<screen>mplayer -vfm ffmpeg movie1.avi movie2.avi</screen>,
-бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ FFmpeg декодеÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из двÑÑ
Ñайлов, а
-<screen>
-mplayer -vfm ffmpeg <replaceable>movie1.avi</replaceable> <replaceable>movie2.avi</replaceable> -vfm dmo
-</screen>
-бÑÐ´ÐµÑ Ð²Ð¾ÑпÑоизводиÑÑ Ð²ÑоÑой Ñайл, иÑполÑзÑÑ DMO декодеÑ.
-</para>
-
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе гÑÑппиÑоваÑÑ ÑайлÑ/URL'Ñ Ð²Ð¼ÐµÑÑе, иÑполÑзÑÑ <literal>{</literal> и
-<literal>}</literal>. ÐÑо полезно, напÑимеÑ, Ñ Ð¾Ð¿Ñией <option>-loop</option>:
-<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
-ÐÑа команда пÑоигÑÐ°ÐµÑ ÑÐ°Ð¹Ð»Ñ Ð² Ñаком поÑÑдке: 1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-ÐоÑпÑоизведение Ñайла:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>опÑии</replaceable>]<!--
---> [<replaceable>пÑÑÑ</replaceable>/]<replaceable>имÑ_Ñайла</replaceable>
-</synopsis>
-</para>
-
-<para>
-ÐÑÑгой ÑпоÑоб:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>опÑии</replaceable>]<!--
---> <replaceable>file:///uri-escaped-path</replaceable>
-</synopsis>
-</para>
-
-<para>
-ÐоÑпÑоизведение множеÑÑва Ñайлов:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>обÑие опÑии</replaceable>]<!--
---> [<replaceable>пÑÑÑ</replaceable>/]<replaceable>имÑ_Ñайла1</replaceable><!--
---> [<replaceable>опÑии Ð´Ð»Ñ Ð¸Ð¼Ñ_Ñайла1</replaceable>]<!--
---> <replaceable>имÑ_Ñайла2</replaceable><!--
---> [<replaceable>опÑии Ð´Ð»Ñ Ð¸Ð¼Ñ_Ñайла2</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-ÐоÑпÑоизведение VCD:
-<synopsis>
-<command>mplayer</command> [<replaceable>опÑии</replaceable>]<!--
---> vcd://<replaceable>номеÑ_доÑожки</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-ÐоÑпÑоизведение DVD:
-<synopsis>
-<command>mplayer</command> [<replaceable>опÑии</replaceable>]<!--
---> dvd://<replaceable>номеÑ_Ñолика</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-ÐоÑпÑоизведение из WWW:
-<synopsis>
-<command>mplayer</command> [<replaceable>опÑии</replaceable>]<!--
---> http://<replaceable>site.com/file.asf</replaceable>
-</synopsis>
-(Ñак же можно иÑполÑзоваÑÑ Ð¸ ÑпиÑки пÑоигÑÑÐ²Ð°Ð½Ð¸Ñ (плейлиÑÑ[playlist]) )
-</para>
-
-<para>
-ÐоÑпÑоизведение по RTSP:
-<synopsis>
-<command>mplayer</command> [<replaceable>опÑии</replaceable>]<!--
---> rtsp://<replaceable>server.example.com/streamName</replaceable>
-</synopsis>
-</para>
-
-<para>
-ÐÑимеÑÑ:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="subosd">
-<title>СÑбÑиÑÑÑ Ð¸ OSD</title>
-
-<para>
-ÐмеÑÑе Ñ ÑилÑмом <application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÐºÐ°Ð·ÑваÑÑ Ð¸ ÑÑбÑиÑÑÑ. РнаÑÑоÑÑий моменÑ
-поддеÑживаÑÑÑÑ ÑледÑÑÑие ÑоÑмаÑÑ:
-<itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption[ÑкÑÑÑÑе ÑиÑÑÑ])</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para><ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ ÐºÐ¾Ð½Ð²ÐµÑÑиÑоваÑÑ Ð²ÑÑепеÑеÑиÑленнÑе ÑоÑмаÑÑ
-ÑÑбÑиÑÑов (<emphasis role="bold">кÑоме пеÑвÑÑ
ÑÑÑÑ
</emphasis>) в ÑледÑÑÑие ÑоÑмаÑÑ
-Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑооÑвеÑÑÑвÑÑÑиÑ
опÑий:
-<itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MEncoder</application> Ð¼Ð¾Ð¶ÐµÑ Ð²ÑдаваÑÑ DVD ÑÑбÑиÑÑÑ
-в <link linkend="menc-feat-extractsub">VOBsub</link> ÑоÑмаÑе.
-</para>
-
-<para>
-ÐпÑии знаÑиÑелÑно ÑазлиÑаÑÑÑÑ Ð´Ð»Ñ ÑазлиÑнÑÑ
ÑоÑмаÑов:
-</para>
-
-<formalpara>
-<title>VOBsub ÑÑбÑиÑÑÑ</title>
-<para>
-VOBsub ÑÑбÑиÑÑÑ ÑоÑÑоÑÑ Ð¸Ð· болÑÑого (неÑколÑко мегабайÑ) <filename>.SUB</filename> Ñайла,
-и необÑзаÑелÑнÑÑ
-<filename>.IDX</filename> и/или <filename>.IFO</filename> Ñайлов.
-ÐÑполÑзование: еÑли Ñ ÐаÑ, напÑимеÑ, еÑÑÑ ÑайлÑ
-<filename><replaceable>sample.sub</replaceable></filename>,
-<filename><replaceable>sample.ifo</replaceable></filename> (необÑзаÑелÑно),
-<filename><replaceable>sample.idx</replaceable></filename> - ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ
-<application>MPlayer</application>'Ñ Ð¾Ð¿Ñии <option>-vobsub sample [-vobsubid <replaceable>id</replaceable>]</option> (можно ÑказаÑÑ Ð¿Ð¾Ð»Ð½Ñй пÑÑÑ).
-ÐпÑÐ¸Ñ <option>-vobsubid</option> поÑ
ожа на <option>-sid</option>
-Ð´Ð»Ñ DVD, Ñ ÐµÑ Ð¿Ð¾Ð¼Ð¾ÑÑÑ, ÐÑ Ð¼Ð¾Ð¶ÐµÑе вÑбиÑаÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð´Ð¾Ñожками ÑÑбÑиÑÑов (ÑзÑками).
-Ð ÑлÑÑае, еÑли <option>-vobsubid</option> пÑопÑÑена, MPlayer попÑÑаеÑÑÑ Ð¸ÑполÑзоваÑÑ
-ÑзÑки, полÑÑеннÑе ÑеÑез опÑÐ¸Ñ <option>-slang</option> и пеÑейÑи к пÑнкÑÑ
-<systemitem>langidx</systemitem> в <filename>.IDX</filename> Ñайле, ÑÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ ÑзÑк ÑÑбÑиÑÑов. ÐÑли и ÑÑо
-не ÑдаÑÑÑÑ, Ñо ÑÑбÑиÑÑов не бÑдеÑ.
-</para>
-</formalpara>
-
-<formalpara>
-<title>ÐÑÑгие ÑÑбÑиÑÑÑ</title>
-<para>
-ÐÑоÑие ÑоÑмаÑÑ ÑÑбÑиÑÑов ÑоÑÑоÑÑ Ð¸Ð· единого ÑекÑÑового Ñайла, ÑодеÑжаÑего инÑоÑмаÑиÑ
-о ÑинÑ
ÑонизаÑии, меÑÑоположении и ÑекÑÑе ÑÑбÑиÑÑа.
-ÐÑполÑзование: ÐÑли Ñ ÐÐ°Ñ ÐµÑÑÑ, напÑимеÑ, Ñайл
-<filename><replaceable>sample.txt</replaceable></filename>,
-ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-sub <replaceable>sample.txt</replaceable></option>
-(можно ÑказаÑÑ Ð¿Ð¾Ð»Ð½Ñй пÑÑÑ).
-</para>
-</formalpara>
-
-<variablelist>
-<title>РегÑлиÑовка ÑинÑ
ÑонизаÑии и меÑÑÐ¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÑбÑиÑÑов:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>sec</replaceable></option></term>
- <listitem><para>
- ÐадеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑбÑиÑÑÑ Ð½Ð° <option><replaceable>sec</replaceable></option>
- ÑекÑнд. ÐÑо знаÑение Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑнÑм.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>RATE</replaceable></option></term>
- <listitem><para>
- УказÑÐ²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво кадÑов/Ñек Ð´Ð»Ñ Ñайла ÑÑбÑиÑÑов (веÑеÑÑвенное ÑиÑло)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- УказÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÑÑбÑиÑÑов.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-ÐÑли ÐÑ Ð½Ð°Ð±Ð»ÑдаеÑе ÑвелиÑиваÑÑÑÑÑÑ Ð·Ð°Ð´ÐµÑÐ¶ÐºÑ Ð¼ÐµÐ¶Ð´Ñ ÑилÑмом и ÑÑбÑиÑÑами, иÑполÑзÑÑ
-Ñайл ÑÑбÑиÑÑов в ÑоÑмаÑе MicroDVD, наиболее веÑоÑÑно, ÑÑо ÑаÑÑоÑа кадÑов Ñ ÑилÑма и Ñайла
-ÑÑбÑиÑÑов не ÑовпадаÑÑ. ÐожалÑйÑÑа, обÑаÑиÑе внимание, ÑÑо ÑоÑÐ¼Ð°Ñ MicroDVD
-иÑполÑзÑÐµÑ Ð°Ð±ÑолÑÑнÑе номеÑа кадÑов Ð´Ð»Ñ ÑинÑ
ÑонизаÑии, но в нем Ð½ÐµÑ Ð¸Ð½ÑоÑмаÑиио ÑаÑÑоÑе кадÑов
-и поÑÑÐ¾Ð¼Ñ Ð¾Ð¿ÑиÑ
-<option>-subfps</option> не Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ ÑÑим ÑоÑмаÑом.
-ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ, еÑли Ñ
оÑиÑе навÑегда ÑеÑиÑÑ ÑÑÑ Ð¿ÑоблемÑ, вÑÑÑнÑÑ ÐºÐ¾Ð½Ð²ÐµÑÑиÑоваÑÑ
-ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов Ñайла ÑÑбÑиÑÑов.
-<application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ ÑделаÑÑ Ð´Ð»Ñ Ð²Ð°Ñ ÑÑо пÑеобÑазование:
-<screen>
-mplayer -dumpmicrodvdsub -fps <replaceable>subtitles_fps</replaceable> -subfps <replaceable>avi_fps</replaceable> \
- -sub <replaceable>subtitle_filename</replaceable> <replaceable>dummy.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Ð DVD ÑÑбÑиÑÑаÑ
, ÑиÑайÑе в ÑекÑии <link linkend="dvd">DVD</link>.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="control">
-<title>УпÑавление</title>
-
-<para>
-<application>MPlayer</application> иÑполÑзÑÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ ÐºÐ¾Ð½ÑигÑÑиÑÑемÑй,
-оÑнованнÑй на понÑÑии командÑ, ÑÑÐ¾Ð²ÐµÐ½Ñ ÑпÑавлениÑ, позволÑÑÑий манипÑлиÑоваÑÑ
-<application>MPlayer</application>'ом Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, мÑÑÑÑ, джойÑÑиком или
-Ñ Ð¿ÑлÑÑа диÑÑанÑионного ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ (иÑполÑзÑÑ LIRC). ÐолнÑй ÑпиÑок кнопок
-Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ñм. на man-ÑÑÑаниÑе.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="ctrl-cfg">
-<title>ÐонÑигÑÑаÑÐ¸Ñ ÑпÑавлениÑ</title>
-
-<para>
-<application>MPlayer</application> позволÑÐµÑ Ð¿Ð¾Ð²ÐµÑиÑÑ Ð»ÑбÑÑ MPlayer'овÑкÑÑ
-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½Ð° лÑбÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ, иÑполÑзÑÑ Ð¿ÑоÑÑой конÑигÑÑаÑионнÑй Ñайл. СинÑакÑиÑ
-Ñайла ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· имени кнопки, ÑопÑовождаÑÑегоÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹. Ðо ÑмолÑаниÑ
-конÑигÑÑаÑионнÑй Ñайл наÑ
одиÑÑÑ Ð² <filename>$HOME/.mplayer/input.conf</filename>,
-но ÑÑо можно измениÑÑ, Ñказав опÑиÑ
-<option>-input <replaceable>conf</replaceable></option>
-(оÑноÑиÑелÑнÑй пÑÑÑ ÑказÑваеÑÑÑ Ð¾ÑноÑиÑелÑно <filename>$HOME/.mplayer</filename>).
-</para>
-
-<example id="input_control_file">
-<title>ÐÑоÑÑой Ñайл конÑигÑÑаÑии ввода</title>
-<programlisting>
-##
-## MPlayer input control file
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="lirc">
-<title>УпÑавление ÑеÑез LIRC</title>
-
-<para>
-Linux Infrared Remote Control[ÐнÑÑакÑаÑное УдалÑнное УпÑавление Linux'ом]
-— иÑполÑзÑйÑе легко ÑобиÑаемÑй в домаÑниÑ
ÑÑловиÑÑ
IR-пÑиÑмник, (поÑÑи)
-лÑбой пÑлÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ ÑпÑавлÑйÑе Ñ Ð¸Ñ
помоÑÑÑ ÐаÑей Linux маÑиной.
-ÐодÑобноÑÑи на <ulink url="http://www.lirc.org">www.lirc.org</ulink>.
-</para>
-
-<para>
-ÐÑли Ñ ÐÐ°Ñ ÑÑÑановлен ÑÐ°ÐºÐµÑ lirc, configure Ñамо его обнаÑÑжиÑ. ÐÑли ÐÑÑ Ð¿ÑоÑло
-Ñ
оÑоÑо, <application>MPlayer</application> пÑи ÑÑаÑÑе напеÑаÑÐ°ÐµÑ ÑообÑение,
-поÑ
ожее на "<computeroutput>Setting up lirc support...</computeroutput>".
-ÐÑли пÑоизоÑла оÑибка, он Ðам ÑообÑиÑ. ÐÑли он не говоÑÐ¸Ñ Ð½Ð¸Ñего пÑо LIRC,
-Ñо поддеÑжка LIRC не бÑла ÑкомпилиÑована. ÐÐ¾Ñ Ñак :-)
-</para>
-
-<para>
-ÐÐ¼Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ <application>MPlayer</application> — ÑгадайÑе —
-<filename>mplayer</filename>. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð²Ñе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ mplayer'а и
-даже можеÑе иÑполÑзоваÑÑ Ð±Ð¾Ð»ÐµÐµ одной командÑ, Ñазделив иÑ
Ñимволами
-<literal>\n</literal>. Ðе забÑдÑÑе вклÑÑиÑÑ Ñлаг repeat[повÑоÑ] в
-<filename>.lircrc</filename>, когда ÑÑо Ð¸Ð¼ÐµÐµÑ ÑмÑÑл (пеÑемеÑение, гÑомкоÑÑÑ
-и Ñ.п.). ÐÐ¾Ñ Ð²ÑдеÑжка из моего <filename>.lircrc</filename>:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-ÐÑли Ðам не нÑавиÑÑÑ ÑÑандаÑÑное меÑÑо ÐаÑего конÑигÑÑаÑионного Ñайла lirc
-(<filename>~/.lircrc</filename>), иÑполÑзÑйÑе опÑÐ¸Ñ <option>-lircconf
-<replaceable>filename</replaceable></option>, ÑÑÐ¾Ð±Ñ ÑказаÑÑ Ð´ÑÑгой Ñайл.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="slave-mode">
-<title>ÐодÑинÑннÑй ("ÑабÑкий") Ñежим</title>
-<para>
-ÐалиÑие подÑинÑнного Ñежима позволÑÐµÑ Ðам ÑоздаваÑÑ Ð¿ÑоÑÑÑе пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ðº
-<application>MPlayer</application>'Ñ. Ðогда Ñежим вклÑÑÑн (опÑией
-<option>-slave</option>), <application>MPlayer</application> ÑиÑÐ°ÐµÑ Ñо
-ÑÑандаÑÑного вÑ
ода командÑ, ÑазделÑемÑе Ñимволом конÑа ÑÑÑоки (\n).
-ÐÐ¾Ð¼Ð°Ð½Ð´Ñ Ð´Ð¾ÐºÑменÑиÑÐ¾Ð²Ð°Ð½Ñ Ð² Ñайле
-<ulink url="../../tech/slave.txt">slave.txt</ulink>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="streaming">
-<title>СеÑевÑе поÑоки и каналÑ</title>
-
-<para>
-<application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоигÑÑваÑÑ ÑÐ°Ð¹Ð»Ñ Ð¿Ð¾ ÑеÑи, иÑполÑзÑÑ
-HTTP, FTP, MMS или RTSP/RTP пÑоÑокол.
-</para>
-
-<para>
-ÐÑоигÑÑвание вклÑÑаеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ URL'а в команднÑÑ ÑÑÑокÑ.
-Также, <application>MPlayer</application> ÑÑиÑÑÐ²Ð°ÐµÑ Ð¿ÐµÑеменнÑÑ ÑÑедÑ
-<envar>http_proxy</envar> и иÑполÑзÑÐµÑ Ð¿ÑокÑи[proxy], еÑли ÑÑо возможно.
-Также можно заÑÑавиÑÑ Ð¸ÑполÑзоваÑÑ Ð¿ÑокÑи:
-<screen>
-mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable>
-</screen>
-</para>
-
-<para>
-<application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ ÑÑиÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе Ñо ÑÑандаÑÑного вÑ
ода
-(а <emphasis>не</emphasis> из поименованнÑÑ
каналов). ÐÑо можеÑ, напÑимеÑ,
-иÑполÑзоваÑÑÑÑ Ð¿Ñи пÑоигÑÑвании Ñайлов по FTP:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -
-</screen>
-</para>
-
-<note><para>
-ÐÑ ÑекомендÑем вклÑÑаÑÑ <option>-cache</option> пÑи пÑоигÑÑвании из ÑеÑи:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -cache 8192 -
-</screen>
-</para></note>
-
-<!-- ********** -->
-
-<sect2 id="streaming-save">
-<title>СоÑ
Ñанение поÑоковÑÑ
даннÑÑ
</title>
-<para>
-Ðак ÑолÑко вам ÑдалоÑÑ Ð²Ð¾ÑпÑоизвеÑÑи лÑбимÑй инÑеÑнеÑ-поÑок, вÑ
-можеÑе воÑполÑзоваÑÑÑÑ Ð¾Ð¿Ñией <option>-dumpstream</option>, ÑÑобÑ
-ÑоÑ
ÑаниÑÑ ÐµÐ³Ð¾ в Ñайл.
-ÐапÑимеÑ:
-<screen>
-mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable>
-</screen>
-ÑоÑ
ÑÐ°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñе из поÑока
-<replaceable>http://217.71.208.37:8006</replaceable> в
-<replaceable>stream.asf</replaceable>.
-ÐÑо ÑабоÑÐ°ÐµÑ Ð´Ð»Ñ Ð²ÑеÑ
пÑоÑоколов, поддеÑживаемÑÑ
-<application>MPlayer</application>, ÑакиÑ
как MMS, RSTP, и дÑÑгиÑ
.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="drives">
-<title>ÐÑÐ¸Ð²Ð¾Ð´Ñ CD/DVD</title>
-
-<para>
-СовÑеменнÑе пÑÐ¸Ð²Ð¾Ð´Ñ CD-ROM могÑÑ ÑабоÑаÑÑ Ð½Ð° оÑÐµÐ½Ñ Ð²ÑÑокиÑ
ÑкоÑоÑÑÑÑ
, некоÑоÑÑе
-из ниÑ
ÑпоÑÐ¾Ð±Ð½Ñ ÑегÑлиÑоваÑÑ ÑкоÑоÑÑÑ ÑÑениÑ. ÐеÑколÑко аÑгÑменÑов за
-иÑполÑзование ÑÑой возможноÑÑи:
-</para>
-
-<itemizedlist>
-<listitem><para>
- Ðа вÑÑокиÑ
обоÑоÑаÑ
возÑаÑÑÐ°ÐµÑ Ð²ÐµÑоÑÑноÑÑÑ Ð¾Ñибки пÑи ÑÑении, оÑобенно Ñ
- плоÑ
о ÑÑампованнÑÑ
диÑков. УменÑÑение ÑкоÑоÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑедоÑвÑаÑиÑÑ Ð¿Ð¾ÑеÑÑ
- даннÑÑ
в ÑÑом ÑлÑÑае.
-</para></listitem>
-
-<listitem><para>
- Ðногие CD-ROM пÑÐ¸Ð²Ð¾Ð´Ñ ÑжаÑно ÑÑмÑÑ, а Ñнижение ÑкоÑоÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи
- к ÑменÑÑÐµÐ½Ð¸Ñ ÑÑма.
-</para></listitem>
-</itemizedlist>
-
-<!-- ********** -->
-
-<sect2 id="drives_linux">
-<title>Linux</title>
-
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑменÑÑиÑÑ ÑкоÑоÑÑÑ Ð²ÑаÑÐµÐ½Ð¸Ñ IDE CD-ROM пÑиводов пÑогÑаммами
-<command>hdparm</command>,<command>setcd</command> или <command>cdctl</command>. ÐÑо ÑабоÑÐ°ÐµÑ Ñак:
-<screen>hdparm -E <replaceable>[ÑкоÑоÑÑÑ]</replaceable> <replaceable>[ÑÑÑÑойÑÑво cdrom]</replaceable></screen>
-<screen>setcd -x <replaceable>[ÑкоÑоÑÑÑ]</replaceable> <replaceable>[ÑÑÑÑойÑÑво cdrom]</replaceable></screen>
-<screen>cdctl -bS <replaceable>[ÑкоÑоÑÑÑ]</replaceable></screen>
-</para>
-
-<para>
-ÐÑли иÑполÑзÑеÑÑÑ ÑмÑлÑÑÐ¸Ñ SCSI, Ðам ÑледÑÐµÑ Ð¿ÑименÑÑÑ Ð½Ð°ÑÑÑойки к ÑеалÑÐ½Ð¾Ð¼Ñ IDE
-ÑÑÑÑойÑÑвÑ, а не ÑÑмÑлиÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼Ñ SCSI.
-</para>
-
-<para>
-ÐÑли Ñ ÐÐ°Ñ ÐµÑÑÑ Ð¿Ñивилегии админиÑÑÑаÑоÑа, ÑледÑÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°
-Ñоже Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾Ð¹:
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[ÑÑÑÑойÑÑво cdrom]</replaceable>/settings</screen>
-</para>
-
-<para>
-Таким обÑазом, пÑедваÑиÑелÑно ÑÑиÑÑваеÑÑÑ 2 мегабайÑа (полезно пÑи
-диÑкаÑ
Ñ ÑаÑапинами). ÐÑли поÑÑавиÑÑ ÑлиÑком болÑÑое знаÑение, Ñо поÑÑоÑннÑй
-запÑÑк и оÑÑановка вÑаÑÐµÐ½Ð¸Ñ Ð´Ð¸Ñка ÑжаÑно ÑнизÑÑ ÑÑÑекÑивноÑÑÑ.
-РекомендÑеÑÑÑ Ñакже подÑÑÑоиÑÑ Ð¿Ñивод, иÑполÑзÑÑ <command>hdparm</command>:
-<screen>hdparm -d1 -a256 -u1 <replaceable>[ÑÑÑÑойÑÑво cdrom]</replaceable></screen>
-</para>
-
-<para>
-ÐÑой командой вклÑÑаеÑÑÑ Ð¿ÑÑмой доÑÑÑп к памÑÑи[DMA], пÑедваÑиÑелÑное
-ÑÑение и ÑазмаÑкиÑовка IRQ (пÑоÑÑиÑе man-ÑÑÑаниÑÑ <command>hdparm</command>,
-Ñ Ð±Ð¾Ð»ÐµÐµ подÑобнÑм опиÑанием).
-</para>
-
-<para>
-ÐбÑаÑиÑеÑÑ Ðº
-"<filename>/proc/ide/<replaceable>[ÑÑÑÑойÑÑво cdrom]</replaceable>/settings</filename>"
-Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑÑойки ÐаÑего CD-ROM пÑивода.
-</para>
-
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе наÑÑÑоиÑÑ ÑкоÑоÑÑÑ SCSI CD-ROM пÑиводов Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<command>sdparm</command>, необÑ
одима веÑÑÐ¸Ñ 1.03 или вÑÑе:
-<screen>sdparm --command=speed=<replaceable>[ÑкоÑоÑÑÑ Ð² кÐ/Ñ]</replaceable> <replaceable>[ÑÑÑÑойÑÑво cdrom]</replaceable></screen>
-СкоÑоÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ñказана в килобайÑаÑ
в ÑекÑндÑ, пÑивод
-окÑÑÐ³Ð»Ð¸Ñ ÐµÑ Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñим обÑазом. ÐожалÑйÑÑа, обÑаÑиÑеÑÑ Ñ ÑÑÑаниÑе
-ÑÑководÑÑва sdparm Ð´Ð»Ñ Ð´ÐµÑалей.
-</para>
-
-<para>
-There is also a dedicated tool that works for
-<ulink url="http://das.ist.org/~georg/">Plextor SCSI drives</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="drives_freebsd">
-<title>FreeBSD</title>
-<para>СкоÑоÑÑÑ:
-<screen>cdcontrol [-f <replaceable>ÑÑÑÑойÑÑво</replaceable>] speed <replaceable>[ÑкоÑоÑÑÑ]</replaceable></screen></para>
-<para>DMA: <screen>sysctl hw.ata.atapi_dma=1</screen></para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="dvd">
-<title>ÐоÑпÑоизведение DVD</title>
-
-<para>
-ÐолнÑй ÑпиÑок возможнÑÑ
опÑий можно пÑоÑиÑаÑÑ Ð² man ÑÑÑаниÑе.
-СинÑакÑÐ¸Ñ Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÑандаÑÑного DVD Ñаков:
-<screen>mplayer dvd://<replaceable><Ñолик></replaceable> [-dvd-device <replaceable>ÑÑÑÑойÑÑво</replaceable>]</screen>
-</para>
-
-<para>
-ÐÑимеÑ:
-<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-ÐÑли Ð²Ñ ÑобÑали <application>MPlayer</application> Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой dvdnav, ÑинÑакÑÐ¸Ñ ÑÐ¾Ñ Ð¶Ðµ,
-пÑоÑÑо ÑкажиÑе dvdnav:// вмеÑÑо dvd://.
-</para>
-
-<para>
-УÑÑÑойÑÑво DVD по ÑмолÑÐ°Ð½Ð¸Ñ — ÑÑо <filename>/dev/dvd</filename>. ÐÑли ÐаÑи
-наÑÑÑойки оÑлиÑаÑÑÑÑ, ÑоздайÑе ÑимволиÑеÑкÑÑ ÑÑÑÐ»ÐºÑ Ð¸Ð»Ð¸ ÑкажиÑе пÑавилÑное
-ÑÑÑÑойÑÑво в командной ÑÑÑоке, иÑполÑзÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-dvd-device</option>.
-</para>
-
-<para>
-<application>MPlayer</application> иÑполÑзÑÐµÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки <systemitem>libdvdread
-</systemitem> и <systemitem>libdvdcss</systemitem> Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¸ ÑаÑÑиÑÑовки DVD.
-ÐÑи две библиоÑеки ÑодеÑжаÑÑÑ Ð² деÑеве иÑÑ
одного кода
-<application>MPlayer</application>'а, Ñак ÑÑо оÑделÑно ÑÑÑанавливаÑÑ Ð¸Ñ
не нÑжно.
-ÐÑ Ñакже можеÑе иÑполÑзоваÑÑ Ñже ÑÑÑановленнÑе в ÑиÑÑеме веÑÑии библиоÑек, но ÑÑо
-<emphasis role="bold">не ÑекомендÑеÑÑÑ</emphasis>, Ñак как Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑиводиÑÑ Ðº
-оÑибкам, неÑовмеÑÑимоÑÑи и поÑеÑе ÑкоÑоÑÑи.
-</para>
-
-<note><para>
-Ð ÑлÑÑае пÑоблем Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñованием DVD, попÑобÑйÑе оÑклÑÑиÑÑ supermount или
-дÑÑгие подобнÑе ÑдобÑÑва. ÐекоÑоÑÑе RPC-2 ÑÑÑÑойÑÑва могÑÑ ÑÑебоваÑÑ
-ÑcÑÐ°Ð½Ð¾Ð²ÐºÑ ÐºÐ¾Ð´Ð° Ñегиона.
-</para></note>
-
-<formalpara>
-<title>РаÑÑиÑÑовка DVD</title>
-<para>
-РаÑÑиÑÑовка DVD оÑÑÑеÑÑвлÑеÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñекой <systemitem>libdvdcss</systemitem>.
-ÐеÑод Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñказан пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ <envar>DVDCSS_METHOD</envar>,
-подÑобнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ ÑмоÑÑиÑе на ÑÑÑаниÑе ÑÑководÑÑва man.
-</para>
-</formalpara>
-
-<!-- ********** -->
-
-<sect2 id="region_code">
-<title>РегионалÑнÑй код</title>
-
-<para>
-СовÑеменнÑе DVD пÑÐ¸Ð²Ð¾Ð´Ñ Ð¸Ð¼ÐµÑÑ Ð´ÑÑаÑкое огÑаниÑение, назÑваемое
-<ulink url="http://ru.wikipedia.org/wiki/Ðод_зонÑ_DVD">ÑегионалÑнÑм кодом</ulink>.
-ÐÑо — ÑпоÑоб заÑÑавиÑÑ DVD пÑÐ¸Ð²Ð¾Ð´Ñ Ð²Ð¾ÑпÑоизводиÑÑ DVD диÑки, ÑозданнÑе Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из
-ÑеÑÑи ÑазлиÑнÑÑ
Ñегионов, на коÑоÑÑе Ñазделен миÑ.
-Ðак Ð¼Ð¾Ð¶ÐµÑ Ð³ÑÑппа лÑдей ÑеÑÑÑ Ð·Ð° ÑÑол, пÑидÑмаÑÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð¾Ðµ и
-пÑи ÑÑом ожидаÑÑ, ÑÑо Ð¼Ð¸Ñ 21-го века поклониÑÑÑ Ð¸Ñ
воле — ÑÑо
-за пÑеделами ÑеловеÑеÑкого пониманиÑ.
-</para>
-
-<para>
-ÐÑиводÑ, ÑеализÑÑÑие ÑегионалÑнÑÑ Ð·Ð°ÑиÑÑ Ð¸ÑклÑÑиÑелÑно пÑи помоÑи
-пÑогÑаммного обеÑпеÑениÑ, извеÑÑÐ½Ñ ÐºÐ°Ðº RPC-1 пÑиводÑ, ÑеализÑÑÑие ее
-аппаÑаÑно — RPC-2. RPC-2 пÑÐ¸Ð²Ð¾Ð´Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ Ð¿ÑÑÑ Ñаз измениÑÑ ÐºÐ¾Ð´ Ñегиона,
-поÑле Ñего он ÑикÑиÑÑеÑÑÑ Ð½Ð°Ð²Ñегда. Ð Linux ÐÑ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ
-ÑÑилиÑой <ulink url="http://linvdr.org/projects/regionset/">regionset</ulink>
-Ð´Ð»Ñ ÑÑÑановки ÑегионалÑного кода ÐаÑего DVD пÑивода.
-</para>
-
-<para>
-Ð ÑÑаÑÑÑÑ, возможна пеÑеделка RPC-2 пÑиводов в RPC-1, ÑеÑез
-обновление пÑоÑивки. УкажиÑе Ð¼Ð¾Ð´ÐµÐ»Ñ ÐаÑего DVD пÑивода в ÐаÑем лÑбимом
-поиÑковике или поÑмоÑÑиÑе на ÑоÑÑме и ÑазделаÑ
загÑÑзок на
-<ulink url="http://www.rpc1.org/">"СÑÑаниÑе пÑоÑивок"</ulink>.
-ХоÑÑ Ð¾Ð±ÑÑнÑе пÑедоÑÑеÑежениÑ, каÑаÑÑиеÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑоÑивки, оÑÑаÑÑÑÑ Ð² Ñиле,
-опÑÑ Ð¸Ð·Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ ÑегионалÑной заÑиÑÑ Ð² оÑновном положиÑелен.
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="vcd">
-<title>ÐоÑпÑоизведение VCD</title>
-<para>
-ÐолнÑй ÑпиÑок возможнÑÑ
опÑий можно пÑоÑиÑаÑÑ Ð² man. СинÑакÑÐ¸Ñ Ð´Ð»Ñ Ð¾Ð±ÑÑного
-Ðидео-CD (VCD):
-<screen>mplayer vcd://<replaceable><доÑожка></replaceable> [-cdrom-device <replaceable><ÑÑÑÑойÑÑво></replaceable>]</screen>
-ÐÑимеÑ:
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-УÑÑÑойÑÑво VCD по ÑмолÑÐ°Ð½Ð¸Ñ — <filename>/dev/cdrom</filename>. ÐÑли ÐаÑи
-наÑÑÑойки оÑлиÑаÑÑÑÑ, ÑоздайÑе ÑимволиÑеÑкÑÑ ÑÑÑÐ»ÐºÑ Ð´Ð¾Ð±Ð°Ð²ÑÑе пÑавилÑное название
-в командной ÑÑÑоке поÑле опÑии <option>-cdrom-device</option>.
-</para>
-
-<note><para>
-Ðо кÑайней меÑе Plextor'Ñ Ð¸ некоÑоÑÑе Toshiba SCSI CD-ROM пÑÐ¸Ð²Ð¾Ð´Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваÑÑ
-ÑжаÑнÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð¿Ñи ÑÑении VCD'ов. ÐÑо обÑÑÑнÑеÑÑÑ Ñем, ÑÑо
-CDROMREADRAW <systemitem>ioctl</systemitem> на ÑÑиÑ
пÑиводаÑ
Ñеализован не полноÑÑÑÑ.
-ÐÑли ÐÑ Ð¸Ð¼ÐµÐµÑе некоÑоÑÑе Ð¿Ð¾Ð·Ð½Ð°Ð½Ð¸Ñ Ð² ÑÑеÑе пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ SCSI, пожалÑйÑÑа
-<ulink url="../../tech/patches.txt">помогиÑе нам</ulink> в напиÑании поддеÑжки
-SCSI generic Ð´Ð»Ñ VCD.
-</para></note>
-
-<para>
-РнаÑÑоÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ ÐÑ Ð¼Ð¾Ð¶ÐµÑе извлеÑÑ Ð´Ð°Ð½Ð½Ñе Ñ VCD, иÑполÑзÑÑ
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">
-readvcd</ulink>, и воÑпÑоизвеÑÑи полÑÑивÑийÑÑ Ñайл <application>MPlayer
-</application>'ом.
-</para>
-
-<formalpara>
-<title>СÑÑÑкÑÑÑа VCD</title>
-<para>
-VCD ÑоÑÑавлен из ÑекÑоÑов CD-ROM XA, Ñ.е. доÑожек CD-ROM mode 2 form 1 и form 2:
-<itemizedlist>
-<listitem><para>
- ÐеÑÐ²Ð°Ñ Ð´Ð¾Ñожка запиÑана в mode 2 form 2 ÑоÑмаÑе, ÑÑо, в ÑаÑÑноÑÑи, ознаÑаеÑ
- иÑполÑзование коÑÑекÑии оÑибок L2. ÐоÑожка ÑодеÑÐ¶Ð¸Ñ ÑайловÑÑ ÑиÑÑÐµÐ¼Ñ ISO-9660 Ñ
- ÑекÑоÑами по 2048 байÑ. Там ÑодеÑжаÑÑÑ Ð¼ÐµÑаданнÑе VCD,
- и каÑÑинки, ÑаÑÑо иÑполÑзÑÑÑиеÑÑ Ð² менÑ. ÐдеÑÑ Ñакже могÑÑ Ñ
ÑаниÑÑÑÑ
- ÑÑагменÑÑ MPEG Ð´Ð»Ñ Ð¼ÐµÐ½Ñ, но каждÑй из ниÑ
должен бÑÑÑ ÑÐ°Ð·Ð±Ð¸Ñ Ð½Ð° кÑÑоÑки по
- 150 ÑекÑоÑов. ÐÑе ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема Ð¼Ð¾Ð¶ÐµÑ Ñ
ÑаниÑÑ ÑÐ°Ð¹Ð»Ñ Ð¸Ð»Ð¸ пÑогÑаммÑ,
- не имеÑÑие оÑноÑÐµÐ½Ð¸Ñ Ðº ÑабоÑе Ñ VCD.
-</para></listitem>
-
-<listitem><para>
- ÐÑоÑÐ°Ñ Ð¸ оÑÑалÑнÑе доÑожки ÑодеÑÐ¶Ð°Ñ MPEG-поÑок ÑекÑоÑами по 2324 байÑа, по
- Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¿Ð°ÐºÐµÑÑ MPEG PS на ÑекÑÐ¾Ñ Ð²Ð¼ÐµÑÑо Ñайловой ÑиÑÑемÑ. ÐÑо доÑожки в ÑоÑмаÑе
- mode 2 form 1 и Ñ
ÑанÑÑ Ð±Ð¾Ð»ÑÑе инÑоÑмаÑии на один ÑекÑÐ¾Ñ Ð·Ð° ÑÑÐµÑ Ð¿Ð¾ÑеÑи возможноÑÑи
- некоÑоÑой коÑÑекÑии оÑибок. ÐоÑле пеÑвой доÑожки Ñакже допÑÑÑимо пÑиÑÑÑÑÑвие
- доÑожки CD-DA. РнекоÑоÑÑÑ
ÐС иÑполÑзÑÑÑÑÑ ÑазлиÑнÑе ÑÑÑки, ÑÑÐ¾Ð±Ñ ÑделаÑÑ ÑÑи
- не-ISO-9660 доÑожки видимÑми в Ñайловой ÑиÑÑеме. Ðо Linux
- — ÑÑо не ÑÐ¾Ñ ÑлÑÑай (пока).
- ÐдеÑÑ MPEG даннÑе <emphasis role="bold">не могÑÑ Ð±ÑÑÑ ÑмонÑиÑованÑ</emphasis>.
- (ÐÑ ÐºÐ¾Ð³Ð´Ð°-нибÑÐ´Ñ Ð¼Ð¾Ð½ÑиÑовали аÑдио диÑк
- Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÐµÐ³Ð¾ воÑпÑоизвеÑÑи?) Так как болÑÑинÑÑво ÑилÑмов наÑ
одиÑÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ на
- ÑакиÑ
доÑожкаÑ
, попÑобÑйÑе ÑнаÑала <option>vcd://2</option>.
-</para></listitem>
-
-<listitem><para>
- СÑÑеÑÑвÑÑÑ VCD диÑки без пеÑвой доÑожки (единÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð´Ð¾Ñожка без Ñайловой
- ÑиÑÑемÑ). Ðни пÑоигÑÑваÑÑÑÑ, но не монÑиÑÑÑÑÑÑ.
-</para></listitem>
-
-<listitem><para>
- ÐпиÑание ÑÑандаÑÑа Video CD назÑваеÑÑÑ
- Philips "White Book" и, как пÑавило, недоÑÑÑпна в онлайн, Ñ.к. должна пÑиобÑеÑаÑÑÑÑ
- Ñ Philips. Ðолее подÑÐ¾Ð±Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ Video CD Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ð° в
- <ulink
- url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">докÑменÑаÑии vcdimager</ulink>.
-</para></listitem>
-</itemizedlist>
-</para>
-</formalpara>
-
-<formalpara>
-<title>ÐÑо ÑÐ°Ð¹Ð»Ñ .DAT</title>
-<para>
-Файл пÑимеÑно в 600 Ð¼ÐµÐ³Ð°Ð±Ð°Ð¹Ñ Ð½Ð° пеÑвой доÑожке не наÑÑоÑÑий! ÐÑо Ñак
-назÑваемÑй ISO-пеÑеÑ
од, ÑозданнÑй, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸ÑÑ Windows обÑабаÑÑваÑÑ ÑÑи
-доÑожки (Windows вообÑе запÑеÑÐ°ÐµÑ Ð¿ÑиложениÑм иÑполÑзоваÑÑ Ð¿ÑÑмой доÑÑÑп
-к ÑÑÑÑойÑÑвам). Ðод Linux ÐÑ Ð½Ðµ можеÑе копиÑоваÑÑ ÑÑи ÑÐ°Ð¹Ð»Ñ (они вÑглÑдÑÑ, как
-мÑÑоÑ). Ðод Windows ÑÑо возможно, поÑколÑÐºÑ Ñам iso9660 ÑмÑлиÑÑÐµÑ Ð¿ÑÑмой доÑÑÑп
-к доÑожкам ÑеÑез ÑÑÐ¾Ñ Ñайл. ЧÑÐ¾Ð±Ñ Ð¿ÑоигÑÑваÑÑ .DAT Ñайл Ðам нÑжен дÑайвеÑ,
-из Linux веÑÑии PowerDVD. ÐÑо модиÑиÑиÑованнÑй дÑайвеÑ
-iso9660 Ñайловой ÑиÑÑÐµÐ¼Ñ (<filename>vcdfs/isofs-2.4.X.o</filename>), коÑоÑÑй
-ÑпоÑобен ÑмÑлиÑоваÑÑ Ð¿ÑÑмой доÑÑÑп к доÑожкам ÑеÑез ÑÑÐ¾Ñ Ñайл. ÐÑли ÐÑ
-замонÑиÑÑеÑе диÑк, иÑполÑзÑÑ Ð¸Ñ
дÑайвеÑ, ÐÑ Ð¼Ð¾Ð¶ÐµÑе копиÑоваÑÑ Ð¸ даже пÑоигÑÑваÑÑ
-.DAT ÑÐ°Ð¹Ð»Ñ <application>MPlayer</application>'ом. Ðо ÑÑо не бÑÐ´ÐµÑ ÑабоÑаÑÑ Ñо
-ÑÑандаÑÑнÑм дÑайвеÑом iso9660 из ÑдÑа Linux! ÐÑполÑзÑйÑе вмеÑÑо ÑÑого
-<option>vcd://</option>. ÐлÑÑеÑнаÑивами Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ VCD Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑлÑжиÑÑ Ð½Ð¾Ð²Ñй
-дÑÐ°Ð¹Ð²ÐµÑ <ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (не
-вÑ
Ð¾Ð´Ð¸Ñ Ð² оÑиÑиалÑное ÑдÑо) коÑоÑÑй показÑÐ²Ð°ÐµÑ Ð´Ð¾Ñожки[ÑеÑÑии] на диÑке как ÑайлÑ
-обÑазов и <ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, пÑиложение длÑ
-побиÑового ÑÑениÑ/копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ CD.
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="edl" xreflabel="РедакÑиÑÑемÑе ÑпиÑки ÑеÑений [Edit Decision Lists] (EDL)">
-<title>РедакÑиÑÑемÑе ÑпиÑки ÑеÑений [Edit Decision Lists] (EDL)</title>
-
-<para>
-СиÑÑема ÑедакÑиÑÑемÑÑ
ÑпиÑков ÑеÑений [edit decision list] (EDL) позволÑÐµÑ Ðам
-авÑомаÑиÑеÑки пÑопÑÑкаÑÑ Ð¸Ð»Ð¸ заглÑÑаÑÑ ÑаÑÑи пÑи воÑпÑоизведении, оÑновÑваÑÑÑ
-на ÑпеÑиÑиÑном Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑилÑма конÑигÑÑаÑионном Ñайле.
-</para>
-
-<para>
-ÐÑо полезно Ð´Ð»Ñ ÑеÑ
, кÑо Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ñ
оÑеÑÑ Ð¿Ð¾ÑмоÑÑеÑÑ ÑилÑм в "Ñемейном" Ñежиме.
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑклÑÑиÑÑ Ð»ÑбÑе пÑоÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð½Ð°ÑилиÑ, неноÑмаÑивной лекÑики,
-Jar-Jar Binks, и Ñ. п. из ÑилÑмов, ÑообÑазÑÑÑÑ Ñ ÐаÑими лиÑнÑми пÑедпоÑÑениÑми.
-Ðомимо ÑÑого, ÑÑÑеÑÑвÑÑÑ Ð´ÑÑгие пÑименениÑ, напÑÐ¸Ð¼ÐµÑ Ð°Ð²ÑомаÑиÑеÑкий пÑопÑÑк ÑекламÑ
-пÑи пÑоÑмоÑÑе ÑилÑмов.
-</para>
-
-<para>
-ФоÑÐ¼Ð°Ñ EDL Ñайлов пока ÑлеменÑаÑен. в каждой ÑÑÑоке наÑ
одиÑÑÑ Ð¾Ð´Ð½Ð° команда, коÑоÑаÑ
-ÑказÑваеÑ, ÑÑо делаÑÑ (пÑопÑÑÑиÑÑ/вÑклÑÑиÑÑ Ð·Ð²Ñк) и когда (иÑполÑзÑÑ pts в ÑекÑндаÑ
).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="edl_using">
-<title>ÐÑполÑзование EDL Ñайлов</title>
-
-<para>
-ÐклÑÑиÑе опÑÐ¸Ñ <option>-edl <имÑ_Ñайла></option>, когда ÐÑ Ð·Ð°Ð¿ÑÑкаеÑе
-<application>MPlayer</application>, Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ EDL Ñайла, коÑоÑÑй ÐÑ Ñ
оÑиÑе
-иÑполÑзоваÑÑ Ñ Ð²Ð¸Ð´ÐµÐ¾.
-</para>
-</sect2>
-
-<sect2 id="edl_making">
-<title>Создание EDL Ñайлов</title>
-<para>
-ТекÑÑий ÑоÑÐ¼Ð°Ñ Ñайлов EDL:
-<programlisting>[наÑалÑÐ½Ð°Ñ ÑекÑнда] [конеÑÐ½Ð°Ñ ÑекÑнда] [дейÑÑвие]</programlisting>
-Ðде ÑекÑÐ½Ð´Ñ - ÑÑо ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой (веÑеÑÑвеннÑе ÑиÑла), а дейÑÑвие -
-ÑÑо или <literal>0</literal> Ð´Ð»Ñ Ð¿ÑопÑÑка или <literal>1</literal> длÑ
-заглÑÑÐµÐ½Ð¸Ñ Ð·Ð²Ñка. ÐÑимеÑ:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-ÐÑо вÑÐ·Ð¾Ð²ÐµÑ Ð¿ÑопÑÑк видео Ñ 5.3 ÑекÑÐ½Ð´Ñ Ð´Ð¾ 7.1 ÑекÑндÑ, заÑем заглÑÑÐ¸Ñ Ð·Ð²Ñк
-на 15 ÑекÑнде, вклÑÑÐ¸Ñ Ð¾Ð±ÑаÑно в 16.7 ÑекÑнд и пÑопÑÑÑÐ¸Ñ Ð²Ð¸Ð´ÐµÐ¾ Ñ 420 по 422
-ÑекÑндÑ. ÐÑи дейÑÑÐ²Ð¸Ñ Ð±ÑдÑÑ Ð¿ÑоиÑÑ
одиÑÑ, когда ÑÐ°Ð¹Ð¼ÐµÑ Ð¿ÑоигÑÑÐ²Ð°Ð½Ð¸Ñ Ð´Ð¾ÑÑигнеÑ
-ÑказаннÑÑ
в Ñайле знаÑений.
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ Ð½Ð°ÑаÑÑ ÑоздаÑÑ EDL Ñайл, иÑполÑзÑйÑе опÑÐ¸Ñ <option>-edlout
-<filename></option>. ÐÑи пÑоигÑÑвании, когда ÐÑ Ñ
оÑиÑе оÑмеÑиÑÑ
-пÑедÑдÑÑие две ÑекÑÐ½Ð´Ñ Ð´Ð»Ñ Ð¿ÑопÑÑка, нажмиÑе <keycap>i</keycap>.
-СооÑвеÑÑÑвÑÑÑÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð´Ð»Ñ ÑÑого вÑемени бÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð° в Ñайл. ÐаÑем ÐÑ
-можеÑе веÑнÑÑÑÑÑ Ð¸ подÑÑÑоиÑÑ ÑгенеÑиÑованнÑй EDL Ñайл Ñакже как и
-попÑавиÑÑ Ð´ÐµÐ¹ÑÑвие по-ÑмолÑÐ°Ð½Ð¸Ñ (пÑопÑÑк блока, Ñказанного в ÑÑÑоке).
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="advaudio" xreflabel="Advanced Audio">
-<title>РаÑÑиÑеннÑе возможноÑÑи аÑдио</title>
-
-<sect2 id="advaudio-surround">
-<title>ÐкÑÑжаÑÑее/ÐногоканалÑное[Surround/Multichannel] воÑпÑоизведение</title>
-
-<sect3 id="advaudio-surround-DVD">
-<title>DVD'Ñники</title>
-
-<para>
-ÐолÑÑинÑÑво DVD и многие дÑÑгие ÑÐ°Ð¹Ð»Ñ ÑодеÑÐ¶Ð°Ñ Ð¾ÐºÑÑжаÑÑий звÑк.
-<application>MPlayer</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ð¾ÑпÑоизведение Ñакого звÑка, но
-не задейÑÑвÑÐµÑ ÐµÐ³Ð¾ по-ÑмолÑаниÑ, поÑколÑÐºÑ ÑÑеÑео обоÑÑдование более ÑаÑпÑоÑÑÑанено.
-ÐÐ»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñайла Ñ Ð±Ð¾Ð»ÐµÐµ Ñем двÑÐ¼Ñ ÐºÐ°Ð½Ð°Ð»Ð°Ð¼Ð¸ звÑка, иÑполÑзÑйÑе опÑиÑ
- <option>-channels</option>. ÐапÑимеÑ, Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ DVD Ñо звÑком 5.1:
-<screen>mplayer dvd://1 -channels 6</screen>
-ÐмейÑе ввидÑ, ÑÑо неÑмоÑÑÑ Ð½Ð° название "5.1" на Ñамом деле пÑиÑÑÑÑÑвÑеÑ
-ÑеÑÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸ÑимÑÑ
каналов. ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑооÑвеÑÑÑвÑÑÑее обоÑÑдование, вÑ
-Ñпокойно можеÑе добавиÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>channels</option> в конÑигÑÑаÑионнÑй
-Ñайл <filename>~/.mplayer/config</filename> <application>MPlayer</application>'а.
-ÐапÑимеÑ, Ð´Ð»Ñ ÑÑÑановки по ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ²Ð°Ð´ÑоÑониÑеÑкого[quadraphonic] воÑпÑоизведениÑ, добавÑÑе
-ÑакÑÑ ÑÑÑокÑ:
-<programlisting>channels=4</programlisting>
-<application>MPlayer</application> бÑÐ´ÐµÑ Ð²ÑводиÑÑ ÑеÑÑÑеÑ
каналÑнÑй звÑк, еÑли вÑе ÑеÑÑÑе
-еÑÑÑ Ð² пÑоигÑÑваемом Ñайле.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-stereoinfour">
-<title>ÐоÑпÑоизведение ÑÑеÑео звÑка на ÑеÑÑÑеÑ
колонкаÑ
</title>
-
-<para>
-Ðо-ÑмолÑаниÑ, <application>MPlayer</application> не дÑблиÑÑÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ðµ каналÑ, как и
-болÑÑинÑÑво звÑковÑÑ
дÑайвеÑов. ÐÑли Ð²Ñ Ñ
оÑиÑе, ÑделайÑе ÑÑо ÑамоÑÑоÑÑелÑно:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
-ÐбÑÑÑÐ½ÐµÐ½Ð¸Ñ Ð¸ÑиÑе в Ñазделе
-<link linkend="advaudio-channels-copying">копиÑование каналов</link>.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-passthrough">
-<title>ÐеÑедаÑа AC-3/DTS</title>
-
-<para>
-DVD, как пÑавило, имеÑÑ Ð¾ÐºÑÑжаÑÑий звÑк, кодиÑованнÑй в AC-3 (Dolby Digital) или DTS
-(Digital Theater System[ÑиÑÑема ÑиÑÑового киноÑеаÑÑа]) ÑоÑмаÑе. ÐекоÑоÑое
-ÑовÑеменное аÑдио обоÑÑдование ÑпоÑобно ÑамоÑÑоÑÑелÑно декодиÑоваÑÑ ÑÑи ÑоÑмаÑÑ.
-<application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑконÑигÑÑиÑован, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑедаваÑÑ
-даннÑе без иÑ
декодиÑованиÑ. ÐÑо ÑабоÑÐ°ÐµÑ ÑолÑко Ð´Ð»Ñ Ð½Ð°Ð»Ð¸Ñие в ваÑей звÑковой каÑÑе
-ÑазÑема S/PDIF (Sony/Philips Digital Interface[ÑиÑÑовой инÑеÑÑÐµÐ¹Ñ Sony/Philips]).
-</para>
-
-<para>
-ÐÑли ваÑе обоÑÑдование Ð¼Ð¾Ð¶ÐµÑ Ð´ÐµÐºÐ¾Ð´Ð¸ÑоваÑÑ Ð¸ AC-3, и DTS, вÑможеÑе Ñпокойно
-задейÑÑвоваÑÑ Ð¿ÐµÑедаÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¾Ð¸Ñ
ÑоÑмаÑов. РпÑоÑивном ÑлÑÑае вклÑÑайÑе
-пеÑедаÑÑ ÑолÑко Ñого ÑоÑмаÑа, коÑоÑÑй поддеÑживаеÑÑÑ Ð¾Ð±Ð¾ÑÑдованием.
-</para>
-
-<itemizedlist>
-<title>ЧÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Ð¿ÐµÑедаÑÑ Ð¸Ð· командной ÑÑÑоки:</title>
-<listitem><para>
- ÑолÑко Ð´Ð»Ñ AC-3, иÑполÑзÑйÑе <option>-ac hwac3</option>
-</para></listitem>
-<listitem><para>
- ÑолÑко Ð´Ð»Ñ DTS, иÑполÑзÑйÑе <option>-ac hwdts</option>
-</para></listitem>
-<listitem><para>
- Ð´Ð»Ñ AC-3 и DTS, иÑполÑзÑйÑе <option>-afm hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>ЧÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Ð¿ÐµÑедаÑÑ Ð² Ñайле наÑÑÑоек <application>MPlayer</application>:
-</title>
-<listitem><para>
- ÑолÑко Ð´Ð»Ñ AC-3: <option>ac=hwac3,</option>
-</para></listitem>
-<listitem><para>
- ÑолÑко Ð´Ð»Ñ DTS: <option>ac=hwdts,</option>
-</para></listitem>
-<listitem><para>
- Ð´Ð»Ñ AC-3 и DTS: <option>afm=hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<para>
-ÐамеÑÑÑе, ÑÑо в конÑе <option>ac=hwac3,</option> и <option>ac=hwdts,</option>
-пÑиÑÑÑÑÑвÑÐµÑ Ð·Ð°Ð¿ÑÑÐ°Ñ (","). Ð ÑÑом ÑлÑÑае
-<application>MPlayer</application> веÑнеÑÑÑ Ðº кодекÑ, коÑоÑÑй он обÑÑно иÑполÑзÑеÑ,
-пÑи воÑпÑоизведении Ñайла, не ÑодеÑжаÑего звÑка AC-3 или DTS.
-<option>afm=hwac3</option> запÑÑой не ÑÑебÑеÑ;
-Ðогда Ñказано ÑемейÑÑво аÑдио, <application>MPlayer</application> веÑнеÑÑÑ Ðº нÑÐ¶Ð½Ð¾Ð¼Ñ ÐºÐ¾Ð´ÐµÐºÑ Ñак
-или инаÑе.
-</para>
-</sect3>
-
-
-<sect3 id="hwmpa-surround-passthrough">
-<title>ÐеÑедаÑа MPEG аÑдио</title>
-
-<para>
-ÐеÑедаÑÑики ÑиÑÑового ТР(Ñакие как DVB и ATSC) и некоÑоÑÑе DVD, обÑÑно имеÑÑ
-аÑдио поÑоки MPEG (в ÑаÑÑноÑÑи MP2). ÐекоÑоÑÑе аппаÑаÑнÑе MPEG декодеÑÑ, Ñакие как
-полноÑÑнкÑионалÑнÑе DVB каÑÑÑ Ð¸ DXR2 адапÑеÑÑ Ð¸Ð¼ÐµÑÑ Ð²ÑÑÑоеннÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ
-декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑого ÑоÑмаÑа.
-<application>MPlayer</application> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°ÑÑÑоен Ð´Ð»Ñ Ð¿ÐµÑедаÑи аÑдио даннÑÑ
-без из декодиÑованиÑ.
-</para>
-
-<para>
-ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑого кодека:
-<screen> mplayer -ac hwmpa </screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-matrix">
-<title>Matrix-кодиÑованное[matrix-encoded] аÑдио</title>
-
-<para>
-<emphasis>***TODO***</emphasis>
-</para>
-<para>
-ÐÑÐ¾Ñ Ñаздел пока не напиÑан, и не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð²ÐµÑÑен, пока кÑо-нибÑÐ´Ñ Ð½Ðµ
-пÑедоÑÑавиÑÑ Ð½Ð°Ð¼ обÑазÑÑ Ñайлов Ð´Ð»Ñ ÑеÑÑиÑованиÑ. ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ
-matrix-кодиÑованнÑе ÑайлÑ, знаеÑе где иÑ
можно доÑÑаÑÑ Ð¸Ð»Ð¸ имееÑе инÑоÑмаÑиÑ,
-коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°, оÑоÑлиÑе ÑообÑение в ÑаÑÑÑлкÑ
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>.
-УкажиÑе в Ñеме пиÑÑма [matrix-encoded audio].
-</para>
-<para>
-ÐÑли не поÑвÑÑÑÑ ÑÐ°Ð¹Ð»Ñ Ð¸Ð»Ð¸ какаÑ-нибÑÐ´Ñ Ð¸Ð½ÑоÑмаÑиÑ, ÑÑÐ¾Ñ Ñаздел бÑÐ´ÐµÑ Ñдален.
-</para>
-
-<para>
-ÐолезнÑе ÑÑÑлки:
-<itemizedlist>
-<listitem><para>
- <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-hrtf">
-<title>ÐмÑлÑÑÐ¸Ñ Ð¾ÐºÑÑжаÑÑего звÑка в наÑÑникаÑ
</title>
-
-<para>
-<application>MPlayer</application> ÑодеÑÐ¶Ð¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½ HRTF (Head Related Transfer
-Function), оÑнованнÑй на
-<ulink url="http://sound.media.mit.edu/KEMAR.html">пÑоекÑе MIT</ulink>
-оÑкÑда взÑÑÑ Ð¸Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ Ð¾Ñ Ð¼Ð¸ÐºÑоÑонов, вмонÑиÑованнÑÑ
в Ð¼Ð°ÐºÐµÑ ÑеловеÑеÑкой головÑ.
-</para>
-
-<para>
-ХоÑÑ ÑоÑÐ½Ð°Ñ Ð¸Ð¼Ð¸ÑаÑÐ¸Ñ ÑиÑÑÐµÐ¼Ñ Ð¾ÐºÑÑжаÑÑего звÑка[surround system] невозможна,
-<application>MPlayer</application>'овÑкий плагин HRTF
-<!-- FIXME need bette rtranslation
- does provide more spatially immersive audio in 2-channel headphones
- -->
-пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ пÑоÑÑÑанÑÑвеннÑй окÑÑжаÑÑий звÑк
-на 2-Ñ
каналÑнÑÑ
наÑÑникаÑ
. ÐбÑÑное Ñведение, пÑоÑÑо обÑединÑÐµÑ ÐºÐ°Ð½Ð°Ð»Ð¸ в два;
-кÑоме обÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð², <option>hrtf</option> ÑÐ¾Ð·Ð´Ð°ÐµÑ Ñ
иÑÑое ÑÑ
о, Ñлегка
-ÑвелиÑÐ¸Ð²Ð°ÐµÑ Ñазделение ÑÑеÑео, и менÑÐµÑ Ð³ÑомкоÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑÑ
ÑаÑÑоÑ.
-ÐÑÑÑе ли звÑÑÐ¸Ñ HRTF, завиÑеÑÑ Ð¾Ñ Ð¸ÑÑ
одного звÑка, и ÑвлÑеÑÑÑ Ð´ÐµÐ»Ð¾Ð¼
-лиÑного вкÑÑа, но его опÑеделенного ÑÑÐ¾Ð¸Ñ Ð¿Ð¾Ð¿ÑобоваÑÑ.
-</para>
-
-<para>
-ÐÐ»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ DVD Ñ HRTF:
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-</para>
-
-<para>
-<option>hrtf</option> ÑабоÑÐ°ÐµÑ Ñ
оÑоÑо ÑоÑко Ñ 5-Ñ Ð¸Ð»Ð¸ 6-Ñ ÐºÐ°Ð½Ð°Ð»Ð°Ð¼Ð¸. Также,
-<option>hrtf</option> ÑеÑбÑеÑÑÑ 48 kHz звÑк. DVD аÑдио Ñже kHz, но еÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ
-Ñайл, коÑоÑÑй Ð²Ñ Ñ
оÑиÑе воÑпÑоизвеÑÑи пÑи помоÑи <option>hrtf</option> , Ñ Ð´ÑÑгой
-ÑаÑÑоÑой ÑÑмплиÑованиÑ, необÑ
одимо его ÑеÑÑмплиÑоваÑÑ[resample]:
-<screen>
-mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-surround-troubleshooting">
-<title>РеÑение пÑоблем</title>
-
-<para>
-ÐÑли Ð²Ñ Ð½Ð¸Ñего не ÑлÑÑиÑе пÑи иÑполÑзовании окÑÑжаÑÑего звÑка, пÑовеÑÑÑе
-наÑÑÑойки ваÑего микÑеÑа пÑи помоÑи Ñакой как <application>alsamixer</application>
-пÑогÑаммÑ; оÑÐµÐ½Ñ ÑаÑÑо по-ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑÑ
одной звÑк вÑклÑÑен или его ÑÑовенÑ
-ÑÑÑановлен в нолÑ.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-channels">
-<title>ÐанипÑлÑÑии Ñ ÐºÐ°Ð½Ð°Ð»Ð°Ð¼Ð¸</title>
-
-<sect3 id="advaudio-channels-general">
-<title>ÐбÑÐ°Ñ Ð¸Ð½ÑоÑмаÑиÑ</title>
-
-<para>
-Ð ÑожалениÑ, Ð½ÐµÑ ÑÑандаÑÑа, опиÑÑваÑÑего поÑÑдок ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð². ÐоÑÑдки, ÑказаннÑе ниже,
-ÑаковÑе из AC-3 и доволÑно ÑипиÑнÑ; попÑобÑйÑе иÑ
и ÑвидиÑе ÑовпадаÑÑ Ð»Ð¸ они Ñ Ð²Ð°Ñим иÑÑоÑником.
-ÐÐ°Ð½Ð°Ð»Ñ Ð½ÑмеÑÑÑÑÑÑ Ñ Ð½ÑлÑ.
-
-<orderedlist spacing="compact">
-<title>mono[моно]</title>
- <listitem override="0"><para>center[ÑенÑÑалÑнÑй]</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>stereo[ÑÑеÑео]</title>
- <listitem override="0"><para>left[левÑй]</para></listitem>
- <listitem><para>right[пÑавÑй]</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>quadraphonic[квадÑоÑониÑеÑкий]</title>
-<listitem override="0"><para>left front[левÑй пеÑедний]</para></listitem>
- <listitem><para>right front[пÑавÑй пеÑедний]</para></listitem>
- <listitem><para>left rear[левÑй задний]</para></listitem>
- <listitem><para>right rear[пÑавÑй задний]</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 4.0[окÑÑжение 4.0]</title>
- <listitem override="0"><para>left front[левÑй пеÑедний]</para></listitem>
- <listitem><para>right front[пÑавÑй пеÑедний]</para></listitem>
- <listitem><para>center rear[ÑенÑÑалÑнÑй задний]</para></listitem>
- <listitem><para>center front[ÑенÑÑалÑнÑй пеÑедний]</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.0[]окÑÑжение 5.0</title>
- <listitem override="0"><para>left front[левÑй пеÑедний]</para></listitem>
- <listitem><para>right front[пÑавÑй пеÑедний]</para></listitem>
- <listitem><para>left rear[левÑй задний]</para></listitem>
- <listitem><para>right rear[пÑавÑй задний]</para></listitem>
- <listitem><para>center front[ÑенÑÑалÑнÑй пеÑедний]</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.1[окÑÑжение 5.1]</title>
- <listitem override="0"><para>left front[левÑй пеÑедний]</para></listitem>
- <listitem><para>right front[пÑавÑй пеÑедний]</para></listitem>
- <listitem><para>left rear[левÑй задний]</para></listitem>
- <listitem><para>right rear[пÑавÑй задний]</para></listitem>
- <listitem><para>center front[ÑенÑÑалÑнÑй пеÑедний]</para></listitem>
- <listitem><para>subwoofer[ÑабвÑÑеÑ]</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-ÐпÑÐ¸Ñ <option>-channels</option> иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа колиÑеÑÑва каналов Ñ
-аÑдио декодеÑа. ÐекоÑоÑÑе аÑдио кодеки иÑполÑзÑÑÑ Ñказанное колиÑеÑÑво каналов
-Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ
одимо ли Ñведение каналов. ÐамеÑÑÑе, ÑÑо ÑÑо не вÑегда
-оÑÑажаеÑÑÑ Ð½Ð° колиÑеÑÑве вÑÑ
однÑÑ
каналов. ÐапÑимеÑ, иÑполÑзÑÑ
-<option>-channels 4</option> Ð´Ð»Ñ Ð¿ÑоигÑÑÐ²Ð°Ð½Ð¸Ñ ÑÑеÑео MP3 Ñайла бÑÐ´ÐµÑ Ð¿Ð¾-пÑежнемÑ
-вÑводиÑÑ Ð·Ð²Ñк на два канала, поÑколÑÐºÑ MP3 кодек не ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ
каналов.
-</para>
-
-<para>
-ÐÑдио плагин <option>channels</option> Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸
-ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð², и полезен Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑвом каналов, оÑÑÑлаемÑÑ
на
-звÑковÑÑ ÐºÐ°ÑÑÑ. СмоÑÑиÑе ÑледÑÑÑие ÑÐ°Ð·Ð´ÐµÐ»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о манипÑлÑÑии
-каналами.
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mono">
-<title>ÐоÑпÑоизведение моно на двÑÑ
колонкаÑ
</title>
-
-<para>
-Ðоно звÑк намного лÑÑÑе звÑÑиÑ, пÑи воÑпÑоизведении на двÑÑ
колонкаÑ
- оÑобенно
-пÑи иÑполÑзовании наÑÑников. ÐÑдиоÑайлÑ, ÑеалÑно имеÑÑие один канал, авÑомаÑиÑеÑки
-пÑоигÑÑваÑÑÑÑ ÑеÑез две колонки; к ÑожалениÑ, множеÑÑво Ñайлов Ñ Ð¼Ð¾Ð½Ð¾ звÑком
-кодиÑÐ¾Ð²Ð°Ð½Ñ ÐºÐ°Ðº ÑÑеÑео Ñ ÑиÑиной в одном из каналов. ÐÑоÑÑейÑий и безопаÑнÑй
-ÑпоÑоб воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ð³Ð¾ звÑка на обеиÑ
колонкаÑ
ÑоÑÑÐ¾Ð¸Ñ Ð² иÑполÑзовании
-плагина <option>extrastereo</option>:
-<screen>
-mplayer <replaceable>filename</replaceable> -af extrastereo=0
-</screen>
-</para>
-
-<para>
-Ðн ÑÑÑеднÑÐµÑ Ð¾Ð±Ð° канала, Ð´ÐµÐ»Ð°Ñ ÐºÐ°Ð¶Ð´Ñй в два Ñаза ÑиÑе изнаÑалÑного.
-Ð ÑледÑÑÑиÑ
ÑазделаÑ
пÑиводÑÑÑÑ Ð´ÑÑгие ÑпоÑÐ¾Ð±Ñ ÑделаÑÑ Ñо же Ñамое
-без ÑменÑÑÐµÐ½Ð¸Ñ Ð³ÑомкоÑÑи, но они Ñложнее и ÑÑебÑÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑазлиÑнÑÑ
опÑий
-в завиÑимоÑÑи Ð¾Ñ Ñого, какой канал оÑÑаеÑÑÑ. ÐÑли вам дейÑÑвиÑелÑно ÑÑебÑеÑÑÑ
-ÑпÑавлÑÑÑ Ð³ÑомкоÑÑÑÑ, бÑÑÐµÑ Ð¿ÑоÑе поÑкÑпеÑименÑиÑоваÑÑ Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð¼
-<option>volume</option> и опÑеделиÑÑ Ð²ÐµÑное знаÑение. ÐапÑимеÑ:
-
-<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0,volume=5</screen>
-
-</para>
-
-</sect3>
-
-
-<sect3 id="advaudio-channels-copying">
-<title>ÐопиÑование/пеÑемеÑение каналов</title>
-
-<para>
-Ðлагин <option>channels</option> Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑемеÑÑиÑÑ Ð»Ñбой или вÑе каналÑ.
-УÑÑановка вÑеÑ
подопÑий плагина <option>channels</option>
-не Ñак пÑоÑÑа и ÑÑебÑÐµÑ Ð¾Ð¿Ñеделенной аккÑÑаÑноÑÑи.
-
-<orderedlist spacing="compact">
-<listitem><para>
- ÐпÑеделиÑеÑÑ, ÑколÑко вÑÑ
однÑÑ
каналов вам необÑ
одимо. ÐÑо пеÑÐ²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑиÑ.
-</para></listitem>
-<listitem><para>
- ÐоÑÑиÑайÑе колиÑеÑÑво пеÑемеÑаемÑÑ
каналов. ÐÑо вÑоÑÐ°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑиÑ.ÐаждÑй канал Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ
- пеÑемеÑен в неÑколÑко оÑлиÑнÑÑ
каналов одновÑеменно, но ÑÑÑиÑе, ÑÑо иÑÑ
однÑй канал
- (даже пÑи пеÑемеÑении в одно меÑÑо) бÑÐ´ÐµÑ Ð¿ÑÑÑ, пока в него не пеÑемеÑÑиÑÑÑ
- какой-либо дÑÑгой. ÐÐ»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð°, оÑÑавлÑÑ Ð¸ÑÑ
однÑй неизменнÑм, пÑоÑÑо
- пеÑемеÑÑиÑе канал одновÑеменно в ÑÑебÑемÑй и иÑÑ
однÑй. ÐапÑимеÑ:
- <programlisting>
-канал 2 --> канал 3
-канал 2 --> канал 2<!--
- --></programlisting>
-</para></listitem>
-<listitem><para>
- ÐапиÑиÑе копии каналов в виде паÑÑ Ð¿Ð¾Ð´Ð¾Ð¿Ñий. ÐамеÑÑÑе, ÑÑо пеÑвÑй канал - ÑÑо 0,
- вÑоÑой - 1 и Ñ.д. ÐоÑÑдок ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ñений не имееÑ, пока они пÑавилÑно ÑгÑÑппиÑованÑ
- в паÑÑ <replaceable>иÑÑ
однÑй:ÑезÑлÑÑиÑÑÑÑий</replaceable>.
-</para></listitem>
-</orderedlist>
-</para>
-
-<bridgehead>ÐÑимеÑ: один канал на две колонки</bridgehead>
-<para>
-ÐÑо пÑÐ¸Ð¼ÐµÑ Ð´ÑÑгого ÑпоÑоба воÑпÑоизвеÑÑи один канал на обе колонки.
-Рнем пÑедполагаеÑÑÑ, ÑÑо левÑй канал должен воÑпÑоизводиÑÑÑÑ, а пÑавÑй надо оÑбÑоÑиÑÑ.
-ÐÑполнÑем Ñаги, опиÑаннÑе вÑÑе:
-<orderedlist>
-<listitem><para>
- ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÐºÐ°Ð½Ð°Ð»Ñ Ð½Ð° каждÑÑ Ð¸Ð· колонок, пеÑÐ²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ 2.
-</para></listitem>
-<listitem><para>
- ÐевÑй канал надо пеÑемеÑÑиÑÑ Ð½Ð° пÑавÑй и на ÑебÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð½ не оÑÑавалÑÑ Ð¿ÑÑÑ.
- ÐÑего два пеÑемеÑениÑ, делаем вÑоÑÑÑ Ð¿Ð¾Ð´Ð¾Ð¿ÑÐ¸Ñ Ñоже Ñавной "2".
-</para></listitem>
-<listitem><para>
- ÐÐ»Ñ Ð¿ÐµÑемеÑÐµÐ½Ð¸Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ канала (канал 0) в пÑавÑй (канал 1) паÑа подопÑий Ð¸Ð¼ÐµÐµÑ Ð²Ð¸Ð´ "0:1",
- "0:0" пеÑемеÑÐ°ÐµÑ Ð»ÐµÐ²Ñй канал на ÑебÑ.
-</para></listitem>
-</orderedlist>
-СобиÑаем вÑе вмеÑÑе:
-<screen>
-mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0
-</screen>
-</para>
-
-<para>
-ÐÑеимÑÑеÑÑво ÑÑого пÑимеÑе пеÑед <option>extrastereo</option> ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом,
-ÑÑо гÑомкоÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ канала ÑÐ°ÐºÐ°Ñ Ð¶Ðµ как Ñ Ð¸ÑÑ
одного. ÐедоÑÑаÑок заклÑÑаеÑÑÑ Ð²
-необÑ
одимоÑÑи измениÑÑ Ð¿Ð¾Ð´Ð¾Ð¿Ñии на "2:2:1:0:1:1", еÑли желаемÑй
-канал - пÑавÑй. Ð ÑÐ¾Ð¼Ñ Ð¶Ðµ его ÑÑÑднее запомниÑÑ Ð¸ набÑаÑÑ.
-</para>
-
-<bridgehead>ÐÑимеÑ: левÑй канал на две колонки (ÑокÑаÑение)</bridgehead>
-<para>
-Ðа Ñамом деле еÑÑÑ Ð±Ð¾Ð»ÐµÐµ пÑоÑÑой ÑпоÑоб иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°
-<option>channels</option> Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ канала на обеиÑ
колонкаÑ
:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=1</screen>
-ÐÑоÑой канал оÑбÑаÑÑваеÑÑÑ Ð¸, пÑи оÑÑÑÑÑÑвии дÑÑгиÑ
подопÑий, оÑÑаеÑÑÑ
-единÑÑвеннÑм. ÐÑÐ°Ð¹Ð²ÐµÑ Ð·Ð²Ñковой каÑÑÑ Ð°Ð²ÑомаÑиÑеÑки воÑпÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð¾Ð´Ð½Ð¾ÐºÐ°Ð½Ð°Ð»ÑнÑй
-звÑк на обеиÑ
колонкаÑ
. Ðо ÑÑо ÑÑабоÑÐ°ÐµÑ ÑолÑко еÑли желаемÑй канал - левÑй.
-</para>
-
-<bridgehead>ÐÑимеÑ: дÑблиÑование пеÑедниÑ
каналов на задние</bridgehead>
-<para>
-ÐÑÑÐ³Ð°Ñ Ð¾Ð±ÑÑÐ½Ð°Ñ Ð¾Ð¿ÐµÑаÑÐ¸Ñ - ÑÑо дÑблиÑование пеÑедниÑ
каналов и воÑпÑоизведение
-иÑ
на задниÑ
колонкаÑ
пÑи квадÑоÑониÑеÑкой наÑÑÑойке.
-<orderedlist>
-<listitem><para>
- ÐÑÑ
однÑÑ
каналов должно бÑÑÑ ÑеÑÑÑе. ÐеÑÐ²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑÐ¸Ñ Ñавна "4".
-</para></listitem>
-<listitem><para>
- ÐаждÑй из пеÑедниÑ
каналов надо пеÑемеÑÑиÑÑ Ð½Ð° ÑооÑвеÑÑÑвÑÑÑий задний и на ÑебÑ.
- ÐÑо ÑеÑÑÑе пеÑемеÑениÑ, Ñак ÑÑо вÑоÑÐ°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑÐ¸Ñ Ñавна "4".
-</para></listitem>
-<listitem><para>
- ÐевÑй пеÑедний (канал 0) надо пеÑемеÑÑиÑÑ Ð½Ð° левÑй задний (канал 2): "0:2".
- ÐевÑй пеÑедний Ñакже надо пеÑемеÑÑиÑÑ Ð½Ð° ÑебÑ: "0:0". пÑавÑй пеÑедний (канал 1)
- пеÑемеÑаеÑÑÑ Ð½Ð° пÑавÑй задний (канал 3): "1:3", и на ÑебÑ: "1:1".
-</para></listitem>
-</orderedlist>
-СобиÑаем вÑе и полÑÑаем:
-<screen>
-mplayer <replaceable>filename</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="advaudio-channels-mixing">
-<title>ÐикÑиÑование каналов</title>
-
-<para>
-Ðлагин <option>pan</option> Ð¿Ð¾Ð¶ÐµÑ Ð¼Ð¸ÐºÑиÑоваÑÑ ÐºÐ°Ð½Ð°Ð»Ñ Ð² ÑказаннÑÑ
полÑзоваÑелем
-пÑопоÑÑиÑÑ
. Ðн Ð¼Ð¾Ð¶ÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð²Ñе, ÑÑо <option>channels</option>, и даже болÑÑе.
-Ð ÑожалениÑ, подопÑии намного Ñложнее.
-<orderedlist>
-<listitem><para>
- ÐпÑеделиÑе Ñо ÑколÑки каналами бÑдеÑе ÑабоÑаÑÑ. Ðам необÑ
одимо ÑказаÑÑ ÑÑо
- пÑи помоÑи <option>-channels</option> и/или <option>-af channels</option>.
- ÐалÑнейÑие пÑимеÑÑ Ð¿Ð¾ÐºÐ°Ð¶ÑÑ ÐºÐ¾Ð³Ð´Ð° какÑÑ Ð¸ÑполÑзоваÑÑ.
-</para></listitem>
-<listitem><para>
- РеÑиÑе, ÑколÑко каналов ÑкоÑмиÑÑ <option>pan</option> (дополниÑелÑнÑе декодиÑованнÑе
- ÐºÐ°Ð½Ð°Ð»Ñ Ð¾ÑбÑаÑÑваÑÑÑÑ). ÐÑо пеÑÐ²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑиÑ, она Ñакже опÑеделÑÐµÑ ÑколÑко каналов
- гоÑовиÑÑÑ Ðº вÑводÑ).
-</para></listitem>
-<listitem>
- <para>
- ÐÑÑавÑиеÑÑ Ð¿Ð¾Ð´Ð¾Ð¿Ñии ÑказÑваÑÑ ÐºÐ°ÐºÐ°Ñ ÑаÑÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ вÑ
одного канала микÑиÑÑеÑÑÑ Ð²
- в каждÑй вÑÑ
одной. ÐÑо ÑÐ°Ð¼Ð°Ñ ÑÐ»Ð¾Ð¶Ð½Ð°Ñ ÑаÑÑÑ. ÐÐ»Ñ ÑеÑÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи, ÑазделиÑе
- подопÑии на неÑколÑко набоÑов, по Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð½Ð° каждÑй вÑÑ
одной канал. ÐаждаÑ
- подопÑÐ¸Ñ Ð² набоÑе оÑноÑиÑÑÑ Ðº вÑ
Ð¾Ð´Ð½Ð¾Ð¼Ñ ÐºÐ°Ð½Ð°Ð»Ñ.
- </para>
- <para>
- <option>pan</option> пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¾Ñ 0 до 512, Ð´Ð°Ð²Ð°Ñ Ð¾Ñ 0% до 51200%
- гÑомкоÑÑи иÑÑ
одного канала. ÐÑдÑÑе оÑÑоÑожнÑ, иÑполÑзÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑÑе 1,
- еÑли Ð²Ñ Ð¿ÑевÑÑиÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ ÑÑмплинга ваÑей звÑковой каÑÑÑ, Ð²Ñ ÑÑлÑÑиÑе
- пÑоÑивнÑй ÑÑеÑк и ÑкÑежеÑ. ÐÑли Ñ
оÑиÑе, можеÑе вÑлед за
- <option>pan</option> ÑказаÑÑ <option>,volume</option> Ð´Ð»Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±Ñезки,
- но лÑÑÑе деÑжаÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ <option>pan</option> доÑÑаÑоÑно низкими, ÑÑÐ¾Ð±Ñ Ð½Ðµ
- ÑÑебовалоÑÑ Ð¾Ð±Ñезание.
- </para>
-</listitem>
-</orderedlist>
-</para>
-
-<bridgehead>ÐÑимеÑ: один канал на две колонки</bridgehead>
-<para>
-ÐÑо еÑе один пÑÐ¸Ð¼ÐµÑ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ канала на двÑÑ
колонкаÑ
.
-СледÑÑ Ð¸Ð½ÑÑÑÑкÑиÑм вÑÑе:
-<orderedlist>
-<listitem><para>
-<option>pan</option> должен вÑдаÑÑ Ð´Ð²Ð° канала, Ñ.о. пеÑÐ²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑÐ¸Ñ Ñавна "2".
-</para></listitem>
-<listitem><para>
- ÐоÑколÑÐºÑ Ð²Ñ
однÑÑ
каналов два, бÑÐ´ÐµÑ Ð´Ð²Ð° набоÑа подопÑий.
- Так как вÑÑ
однÑÑ
каналов Ñоже два, Ñо бÑÐ´ÐµÑ Ð¿Ð¾ две подопÑии в каждом набоÑе.
- ÐевÑй канал из Ñайла должен пеÑейÑи Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ гÑомкоÑÑÑÑ Ð² новÑе левÑй и пÑавÑй.
- Таким обÑазом, пеÑвÑй Ð½Ð°Ð±Ð¾Ñ Ð¿Ð¾Ð´Ð¾Ð¿Ñий бÑÐ´ÐµÑ "1:1".
- пÑавÑй канал должен бÑÑÑ Ð¾ÑбÑоÑен, поÑÑÐ¾Ð¼Ñ Ð²ÑоÑой Ð½Ð°Ð±Ð¾Ñ Ñавен "0:0".
- ÐÑбÑе знаÑÐµÐ½Ð¸Ñ 0 в конÑе могÑÑ Ð±ÑÑÑ Ð¾Ð¿ÑÑенÑ, но Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ легкого Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð¼Ñ Ð¸Ñ
оÑÑавим.
-</para></listitem>
-</orderedlist>
-Соединение опÑий даеÑ:
-<screen>mplayer <replaceable>filename</replaceable> -af pan=2:1:1:0:0</screen>
-ÐÑли вмеÑÑо пÑавого канала нÑжен левÑй, подопÑии Ð´Ð»Ñ <option>pan</option>
-бÑдÑÑ "2:0:0:1:1".
-</para>
-
-
-<bridgehead>ÐÑимеÑ: левÑй канал на две колонки (ÑокÑаÑение)</bridgehead>
-<para>
-Ðак и Ñ <option>channels</option>, ÑÑÑеÑÑвÑÐµÑ ÑокÑаÑеннÑй ваÑианÑ, коÑоÑÑй ÑабоÑÐ°ÐµÑ ÑолÑко
-Ð´Ð»Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ канала:
-<screen>mplayer <replaceable>filename</replaceable> -af pan=1:1</screen>
-ÐоÑколÑÐºÑ <option>pan</option> Ð¸Ð¼ÐµÐµÑ ÑолÑко один вÑ
одной канал (оÑÑалÑнÑе оÑбÑаÑÑваÑÑÑÑ),
-бÑÐ´ÐµÑ ÑолÑко одна подопÑиÑ, ÑказÑваÑÑаÑ, ÑÑо единÑÑвеннÑй канал полÑÑÐ°ÐµÑ 100% ÑобÑÑвенной
-гÑомкоÑÑи.
-</para>
-
-<bridgehead>ÐÑимеÑ: Ñведение 6-каналÑного PCM</bridgehead>
-<para>
-ÐÐµÐºÐ¾Ð´ÐµÑ <application>MPlayer</application>'а Ð´Ð»Ñ 6-каналÑного PCM не ÑпоÑобен ÑводиÑÑ ÐºÐ°Ð½Ð°Ð»Ñ.
-ÐдеÑÑ Ð¾Ð¿Ð¸Ñан ÑпоÑоб ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ PCM, иÑполÑзÑÑ <option>pan</option>:
-<orderedlist>
-<listitem><para>
- ÐолиÑеÑÑво вÑÑ
однÑÑ
каналов Ñавно 2, знаÑÐ¸Ñ Ð¿ÐµÑÐ²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑÐ¸Ñ Ñавна "2".
-</para></listitem>
-<listitem><para>
- С ÑеÑÑÑÑ Ð²Ñ
однÑми каналами бÑдем имеÑÑ ÑеÑÑÑ Ð½Ð°Ð±Ð¾Ñов подопÑий. Ð ÑÑаÑÑÑÑ, поÑколÑкÑ
- Ð¼Ñ Ð±ÐµÑпокоимÑÑ Ð¾ вÑводе ÑолÑко пеÑвÑÑ
двÑÑ
, доÑÑаÑоÑно ÑоздаÑÑ Ð´Ð²Ð° набоÑа;
- оÑÑавÑиеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ опÑÑÑиÑÑ. ÐмейÑе ввидÑ, ÑÑо не вÑе многоканалÑнÑе имеÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñй
- поÑÑдок каналов. пÑÐ¸Ð¼ÐµÑ Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÐºÐ°Ðº ÑвеÑÑи Ñайл Ñ Ð¿Ð¾ÑÑдком как Ñ AC-3 5.1:
-<programlisting>
-0 - пеÑедний левÑй
-1 - пеÑедний пÑавÑй
-2 - задний левÑй
-3 - задний пÑавÑй
-4 - ÑенÑÑалÑнÑй пеÑедний
-5 - ÑабвÑÑеÑ<!--
- --></programlisting>
- РпеÑвом набоÑе ÑÐºÐ°Ð·Ð°Ð½Ñ Ð¿ÑоÑенÑÑ Ð¾Ñ Ð¸ÑÑ
одной гÑомкоÑÑи, в ÑооÑвеÑÑÑвÑÑÑем поÑÑдке,
- коÑоÑÑÑ ÐºÐ°Ð¶Ð´Ñй вÑÑ
одной канал полÑÑÐ¸Ñ Ð¾Ñ Ð¿ÐµÑеднего левого канала: "1:0".
- ÐÑавÑй пеÑедний должен пеÑейÑи в пÑавÑй: "0:1".
- То же Ð´Ð»Ñ Ð·Ð°Ð´Ð½Ð¸Ñ
: "1:0" и "0:1"
- ЦенÑÑалÑнÑй должен попаÑÑÑ Ð² оба Ñ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ð½Ð¾Ð¹ гÑомкоÑÑÑÑ: "0.5:0.5", и
- ÑабвÑÑÐµÑ Ð¿ÐµÑеÑ
Ð¾Ð´Ð¸Ñ Ð² оба канала Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ гÑомкоÑÑÑÑ: "1:1".
-</para></listitem>
-</orderedlist>
-ÐÑе вмеÑÑе:
-<screen>
-mplayer <replaceable>6-channel.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
-</screen>
-ÐÑоÑенÑÑ, ÑказаннÑе вÑÑе вÑего лиÑÑ Ð¿ÑимеÑ. подÑÑÑаивайÑе иÑ
как вам Ñдобно.
-</para>
-
-<bridgehead>ÐÑимеÑ: ÐоÑпÑоизведение звÑка 5.1 на болÑÑиÑ
колонкаÑ
без ÑабвÑÑеÑа</bridgehead>
-<para>
-ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¿Ð°Ñа огÑомнÑÑ
пеÑедниÑ
колонок, Ð½ÐµÑ Ð½Ð°Ð´Ð¾Ð±Ð½Ð¾ÑÑи ÑÑаÑиÑÑÑÑ Ð½Ð°
-ÑабвÑÑÐµÑ Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ñенной ÑиÑÑÐµÐ¼Ñ 5.1. ÐÑли иÑполÑзоваÑÑ <option>-channels 5</option>
-Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа к liba52 на декодиÑование 5.1 аÑдио в 5.0, канал ÑабвÑÑеÑа пÑоÑÑо
-оÑбÑаÑÑваеÑÑÑ. ÐÑли Ð²Ñ ÑоÑиÑе ÑамоÑÑоÑÑелÑно ÑаÑпÑеделиÑÑ ÐºÐ°Ð½Ð°Ð»
-ÑабвÑÑеÑа, Ñо поÑÑебÑеÑÑÑ ÑÑÑное Ñведение пÑи помоÑи <option>pan</option>:
-
-<orderedlist>
-<listitem><para>
- ÐоÑколÑÐºÑ <option>pan</option> надо анализиÑоваÑÑ Ð²Ñе ÑеÑÑÑ ÐºÐ°Ð½Ð°Ð»Ð¾Ð², ÑкажиÑе
-<option>-channels 6</option>, ÑÑÐ¾Ð±Ñ liba52 декодиÑовал иÑ
вÑе.
-</para></listitem>
-<listitem><para>
- <option>pan</option> вÑÐ²Ð¾Ð´Ð¸Ñ ÑолÑко пÑÑÑ ÐºÐ°Ð½Ð°Ð»Ð¾Ð², пеÑÐ²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð¿ÑÐ¸Ñ Ñавна 5.
-</para></listitem>
-<listitem><para>
- ШеÑÑÑ Ð²Ñ
однÑÑ
каналов ознаÑÐ°ÐµÑ ÑеÑÑÑ Ð½Ð°Ð±Ð¾Ñов по пÑÑÑ Ð¿Ð¾Ð´Ð¾Ð¿Ñий в каждом.
- <itemizedlist spacing="compact">
- <listitem><para>
- ÐевÑй пеÑедний дÑблиÑÑеÑÑÑ ÑолÑко на ÑебÑ:
- "1:0:0:0:0"
- </para></listitem>
- <listitem><para>
- То же Ð´Ð»Ñ Ð¿Ñавого пеÑеднего:
- "0:1:0:0:0"
- </para></listitem>
- <listitem><para>
- То же Ð´Ð»Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ заднего:
- "0:0:1:0:0"
- </para></listitem>
- <listitem><para>
- Ð Ñо же Ð´Ð»Ñ Ð¿Ñавого заднего:
- "0:0:0:1:0"
- </para></listitem>
- <listitem><para>
- ЦенÑÑалÑнÑй пеÑедний, Ñоже:
- "0:0:0:0:1"
- </para></listitem>
- <listitem><para>
- Ð, наконеÑ, Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑеÑиÑÑ ÑÑо же делаÑÑ Ñ ÑабвÑÑеÑом,
- напÑимеÑ, половина на пеÑедний пÑавÑй и половина на пеÑедний левÑй:
- "0.5:0.5:0:0:0"
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-</orderedlist>
-СобиÑÐ°Ñ Ð²Ñе подопÑии меÑÑе, полÑÑаем:
-<screen>
-mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="advaudio-volume">
-<title>ÐÑогÑÐ°Ð¼Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑÑÑойка звÑка</title>
-
-<para>
-ÐекоÑоÑÑе звÑковÑе доÑожки без ÑÑÐ¸Ð»ÐµÐ½Ð¸Ñ ÑлиÑком ÑиÑ
ие Ð´Ð»Ñ ÐºÐ¾Ð¼ÑоÑÑного пÑоÑлÑÑиваниÑ.
-ÐÑо ÑÑановиÑÑÑ Ð¿Ñоблемой, еÑли звÑковое обоÑÑдование не ÑпоÑобно ÑÑиливаÑÑ Ñигнал.
-ÐпÑÐ¸Ñ <option>-softvol</option> ÑказÑÐ²Ð°ÐµÑ <application>MPlayer</application>'Ñ
-иÑполÑзоваÑÑ Ð²ÑÑÑоеннÑй микÑеÑ. ÐоÑле ÑÑого Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÐºÐ»Ð°Ð²Ð¸Ñи
-подÑÑÑойки гÑомкоÑÑи (по-ÑмолÑÐ°Ð½Ð¸Ñ <keycap>9</keycap> и <keycap>0</keycap>)
-ÑÑÐ¾Ð±Ñ Ð´Ð¾ÑÑиÑÑ Ð·Ð½Ð°ÑиÑелÑно более гÑомкого звÑÑаниÑ. ÐамеÑÑÑе, ÑÑо ÑÑо
-не иÑклÑÑÐ°ÐµÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¸ÐºÑеÑа ваÑей каÑÑÑ; <application>MPlayer</application>
-вÑего лиÑÑ ÑÑÐ¸Ð»Ð¸Ð²Ð°ÐµÑ Ñигнал пеÑед оÑпÑавкой его на звÑковÑÑ ÐºÐ°ÑÑÑ.
-СледÑÑÑим пÑÐ¸Ð¼ÐµÑ Ð¼Ð¾Ð¶ÐµÑ ÑвлÑÑÑÑÑ Ð½ÐµÐ¿Ð»Ð¾Ñ
им наÑалом:
-<screen>
-mplayer <replaceable>quiet-file</replaceable> -softvol -softvol-max 300
-</screen>
-ÐпÑÐ¸Ñ <option>-softvol-max</option> ÑказÑÐ²Ð°ÐµÑ Ð¼Ð°ÐºÑималÑно допÑÑÑимÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð²Ñка в
-пÑоÑенÑаÑ
Ð¾Ñ Ð¸ÑÑ
одного. ÐапÑимеÑ, <option>-softvol-max 200</option> позволиÑ
-ÑвелиÑиваÑÑ Ð³ÑомкоÑÑÑ Ð²Ð´Ð²Ð¾Ðµ по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð¾ÑигиналÑнÑм звÑком.
-ÐÑполÑзование болÑÑиÑ
знаÑений Ñ<option>-softvol-max</option>; вÑÑокий ÑÑовенÑ
-гÑомкоÑÑи не бÑÐ´ÐµÑ Ð´Ð¾ÑÑигнÑÑÑ Ð±ÐµÐ· иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñ ÑегÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð³ÑомкоÑÑи.
-ÐдинÑÑвеннÑй минÑÑ Ð±Ð¾Ð»ÑÑиÑ
знаÑений заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо, поÑколÑкÑ
-<application>MPlayer</application> ÑегÑлиÑÑÐµÑ Ð³ÑомкоÑÑÑ Ð² пÑоÑенÑаÑ
оÑ
-макÑимÑма, Ð²Ñ Ð½Ðµ бÑдеÑе имеÑÑ Ñой же ÑоÑноÑÑи пÑи иÑполÑзовании клавиÑ
-ÑегÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð³ÑомкоÑÑи.
-ÐÑполÑзÑйÑе менÑÑее знаÑение <option>-softvol-max</option> и/или ÑкажиÑе
-<option>-volstep 1</option> еÑли нÑжна повÑÑÐµÐ½Ð½Ð°Ñ ÑоÑноÑÑÑ.
-</para>
-
-<para>
-ÐпÑÐ¸Ñ <option>-softvol</option> ÑабоÑаеÑ, ÑпÑавлÑÑ Ð°Ñдио плагином
-<option>volume</option>. ÐÑли вам надо воÑпÑоизвеÑÑи Ñайл Ñ Ð¾Ð¿Ñеделенной
-гÑомкоÑÑÑÑ Ð¾Ñ Ð½Ð°ÑалÑной, можеÑе ÑказаÑÑ <option>volume</option> вÑÑÑнÑÑ:
-<screen>mplayer <replaceable>quiet-file</replaceable> -af volume=10</screen>
-ÐÑÐ´ÐµÑ Ð²Ð¾ÑпÑоизведен Ñайл в ÑÑилением в 10 деÑибел. ÐÑдÑÑе оÑÑоÑожнÑ,
-иÑполÑзÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½ <option>volume</option> - Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе легко повÑедиÑÑ
-ваÑи ÑÑи ÑлиÑком гÑомким звÑком. ÐаÑниÑе Ñ Ð¼Ð°Ð»ÐµÐ½ÑкиÑ
знаÑений и поÑÑепенно
-ÑвелиÑивайÑе, пока не поÑÑвÑÑвÑеÑе, ÑÑо доÑÑаÑоÑно. Также, еÑли
-ÑказаÑÑ ÑеÑезÑÑÑ Ð²ÑÑокие знаÑениÑ, <option>volume</option> Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ
-обÑезаÑÑ Ð·Ð²Ñк, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¾ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° каÑÑÑ Ð´Ð°Ð½Ð½ÑÑ
, пÑевÑÑаÑÑиÑ
-допÑÑÑимÑе знаÑение; ÑÑо пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº иÑÐºÐ°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð²Ñка.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tv-input" xreflabel="TV вÑ
од">
-<title>TV вÑ
од</title>
-
-<para>
-Ð ÑÑой ÑекÑии опиÑÑваеÑÑÑ, как вклÑÑиÑÑ <emphasis role="bold">пÑоÑмоÑÑ/заÑ
ваÑ
-Ñ V4L-ÑовмеÑÑимого TV ÑÑнеÑа</emphasis>. См. man ÑÑÑаниÑÑ, Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ TV опÑий
-и кнопок ÑпÑавлениÑ.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="tv-compilation">
-<title>ÐомпилÑÑиÑ</title>
-
-<procedure>
-<step><para>
- Ðо-пеÑвÑÑ
, Ðам нÑжно пеÑекомпилиÑоваÑÑ <application>MPlayer</application>,
- <filename>./configure</filename> авÑомаÑиÑеÑки обнаÑÑÐ¶Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ ÑдÑа,
- оÑноÑÑÑиеÑÑ Ðº v4l, и налиÑие <filename>/dev/video*</filename> ÑÑÑÑойÑÑв.
- ÐÑли они ÑÑÑеÑÑвÑÑÑ, бÑÐ´ÐµÑ ÑобÑана поддеÑжка TV (Ñм. вÑвод
- <filename>./configure</filename>).
-</para></step>
-<step><para>
- УбедиÑеÑÑ, ÑÑо ÐÐ°Ñ ÑÑÐ½ÐµÑ ÑабоÑÐ°ÐµÑ Ñ Ð´ÑÑгими TV пÑиложениÑми под Linux,
- напÑÐ¸Ð¼ÐµÑ <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-tips">
-<title>СовеÑÑ Ð¿Ð¾ иÑполÑзованиÑ</title>
-<para>
-ÐолнÑй ÑпиÑок опÑий доÑÑÑпен на ÑÑÑаниÑаÑ
ÑÑководÑÑва (man).
-ÐÐ¾Ñ Ð²Ñего неÑколÑко ÑовеÑов:
-
-<itemizedlist>
-<listitem><para>
- ÐÑполÑзÑйÑе опÑÐ¸Ñ <option>channels</option>. ÐÑимеÑ:
- <screen>-tv channels=26-MTV1,23-TV2</screen>
- ÐбÑÑÑнение: ÐÑи иÑполÑзовании Ñакой опÑии, бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ ÑолÑко ÐºÐ°Ð½Ð°Ð»Ñ 26
- и 23, и, кÑоме Ñого, бÑÐ´ÐµÑ Ð¿ÑиÑÑнÑй OSD ÑекÑÑ Ð¿Ñи пеÑеклÑÑении Ð¼ÐµÐ¶Ð´Ñ ÐºÐ°Ð½Ð°Ð»Ð°Ð¼Ð¸,
- оÑобÑажаÑÑий название канала. ÐÑÐ¾Ð±ÐµÐ»Ñ Ð² названиÑÑ
каналов Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ñ
- Ñимволом "_".
-</para></listitem>
-<listitem><para>
- ÐÑбеÑиÑе ÑазÑмнÑе ÑазмеÑÑ Ð¸Ð·Ð¾Ð±ÑажениÑ. РазмеÑÑ Ð¿Ð¾Ð»ÑÑенного
- изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð´ÐµÐ»Ð¸ÑÑÑÑ Ð½Ð° 16.
-</para></listitem>
-<listitem>
- <para>
- ÐÑли ÐÑ Ð·Ð°Ñ
ваÑÑваеÑе видео Ñ Ð²ÐµÑÑикалÑнÑм ÑазÑеÑением вÑÑе Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾
- ÑазÑеÑÐµÐ½Ð¸Ñ (Ñ.е. 288 Ð´Ð»Ñ PAL или 240 Ð´Ð»Ñ NTSC), Ñо полÑÑаемÑе вами 'кадÑÑ'
- на Ñамом деле бÑдÑÑ ÑеÑедÑÑÑимиÑÑ[interleaved] паÑами полей. РзавиÑимоÑÑи Ð¾Ñ Ñого,
- ÑÑо Ð²Ñ ÑобиÑаеÑеÑÑ Ð´ÐµÐ»Ð°ÑÑ Ñ Ð²Ð¸Ð´ÐµÐ¾, можно оÑÑавиÑÑ Ð¸Ñ
в Ñаком виде,
- пÑоизвеÑÑи ÑазÑÑÑаÑÑÑÑ (Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ð¹ поÑеÑей каÑеÑÑва) поÑÑÑоÑнÑÑ ÑазвÑÑÑкÑ,
- либо ÑазделиÑÑ Ð¿Ð°ÑÑ Ð¾Ð±ÑаÑно в оÑделÑнÑе полÑ.
- </para>
-
- <para>
- ÐнаÑе ÐÑ Ð¿Ð¾Ð»ÑÑиÑе ÑилÑм Ñ ÑилÑнÑми иÑкажениÑми в
- ÑÑенаÑ
Ñ Ð±ÑÑÑÑÑми движениÑми, и ÑпÑавление биÑпоÑоком, ÑкоÑее вÑего, бÑÐ´ÐµÑ Ð´Ð°Ð¶Ðµ не
- в ÑоÑÑоÑнии поддеÑживаÑÑ Ð½ÐµÐ¾Ð±Ñ
одимÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð±Ð¸ÑпоÑока, поÑколÑÐºÑ Ð°ÑÑеÑакÑÑ
- ÑеÑеÑÑÑÑоÑной ÑазвÑÑÑки ÑоздаÑÑ Ð¾Ð³Ñомное колиÑеÑÑво мелкиÑ
деÑалей и поÑÑомÑ
- оÑнимаÑÑ Ð±Ð¾Ð»ÑÑÑÑ ÑаÑÑÑ Ð¿Ð¾Ð»Ð¾ÑÑ Ð¿ÑопÑÑканиÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе вклÑÑиÑÑ Ð¿ÑеобÑазование в
- поÑÑÑоÑнÑÑ ÑазвÑÑÑкÑ,
- иÑполÑзÑÑ <option>-vf pp=DEINT_TYPE</option>. ÐбÑÑно <option>pp=lb</option>
- ÑабоÑÐ°ÐµÑ Ñ
оÑоÑо, но ÑÑо Ñже ÑÑбÑекÑивное мнение. ÐÑÑгие алгоÑиÑмÑ
- пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² поÑÑÑоÑнÑÑ ÑазвÑÑÑÐºÑ Ñм. на man-ÑÑÑаниÑе и попÑобÑйÑе иÑ
.
- </para>
-</listitem>
-<listitem><para>
- ÐбÑежÑÑе пÑÑÑое пÑоÑÑÑанÑÑво. Ðогда Ð²Ñ Ð·Ð°Ñ
ваÑÑваеÑе видео, Ð·Ð¾Ð½Ñ Ð¿Ð¾ кÑаÑм, как пÑавило,
- ÑеÑÐ½Ñ Ð¸Ð»Ð¸ ÑодеÑÐ¶Ð°Ñ Ð¿ÑоÑÑо ÑÑм. ÐÑо опÑÑÑ ÑÑÐµÐ´Ð°ÐµÑ ÑаÑÑÑ Ð±Ð¸ÑпоÑока.
- ТоÑнее, ÑÑо не Ñами ÑÑÑнÑе зонÑ, а конÑÑаÑÑнÑй пеÑеÑ
од Ð¾Ñ ÑÑÑного к более
- ÑвеÑÐ»Ð¾Ð¼Ñ Ð²Ð¸Ð´ÐµÐ¾, но ÑÑо ÑейÑÐ°Ñ Ð½Ðµ важно. ÐÑежде Ñем ÐÑ Ð½Ð°ÑнÑÑе заÑ
ваÑÑваÑÑ,
- подÑÑÑойÑе аÑгÑменÑÑ Ð¾Ð¿Ñии <option>crop</option>, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÑезаÑÑ Ð²ÐµÑÑ Ð¼ÑÑÐ¾Ñ Ð¿Ð¾
- кÑаÑм. ÐÑÑ Ñаз, не забÑдÑÑе ÑоÑ
ÑаниÑÑ Ð¿Ð¾Ð»ÑÑивÑиеÑÑ ÑазмеÑÑ Ð¸Ð·Ð¾Ð±ÑажениÑ
- ÑазÑмнÑми.
-</para></listitem>
-<listitem><para>
- ÐÑÑлеживайÑе загÑÑÐ·ÐºÑ CPU. Ðна не должна пеÑеÑекаÑÑ 90% гÑаниÑÑ Ð±Ð¾Ð»ÑÑÑÑ ÑаÑÑÑ
- вÑемени. ÐÑли Ñ ÐÐ°Ñ Ð±Ð¾Ð»ÑÑой ÑÐ°Ð·Ð¼ÐµÑ Ð±ÑÑеÑа заÑ
ваÑа,
- <application>MEncoder</application> пеÑеживÑÑ
- пеÑегÑÑÐ·ÐºÑ Ð² ÑеÑение неÑколÑкиÑ
ÑекÑнд, но не более Ñого. ÐÑÑÑе оÑклÑÑиÑÑ 3D
- OpenGL, Ñ
ÑаниÑели ÑкÑана и дÑÑгÑÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½ÑÑ Ð³Ð°Ð´Ð¾ÑÑÑ.
-</para></listitem>
-<listitem><para>
- Ðе менÑйÑе ÑиÑÑемнÑе ÑаÑÑ. <application>MEncoder</application> иÑполÑзÑеÑ
- ÑиÑÑемнÑе ÑаÑÑ Ð´Ð»Ñ A/V ÑинÑ
ÑонизаÑии. ÐÑли ÐÑ Ð¿ÐµÑеведÑÑе ÑиÑÑемнÑе ÑаÑÑ
- (оÑобенно назад), <application>MEncoder</application> запÑÑаеÑÑÑ,
- и ÐÑ Ð½Ð°ÑнÑÑе ÑеÑÑÑÑ ÐºÐ°Ð´ÑÑ. ÐÑо оÑобенно
- важнÑй вопÑоÑ, еÑли ÐÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ñ Ðº ÑеÑи и иÑполÑзÑеÑе какие-нибÑÐ´Ñ Ð¿ÑогÑаммÑ
- ÑинÑ
ÑонизаÑии вÑемени, в дÑÑ
е NTP. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾ÑклÑÑиÑÑ NTP во вÑÐµÐ¼Ñ Ð·Ð°Ñ
ваÑа,
- еÑли ÐÑ Ð´ÐµÐ¹ÑÑвиÑелÑно Ñ
оÑиÑе ÑделаÑÑ Ñ
оÑоÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ.
-</para></listitem>
-<listitem><para>
- ÐзменÑйÑе знаÑение <option>outfmt</option> ÑолÑко еÑли ÐÑ Ð·Ð½Ð°ÐµÑе, ÑÑо ÐÑ
- делаеÑе, или ÐаÑи каÑÑа/дÑÐ°Ð¹Ð²ÐµÑ Ð½Ðµ поддеÑживаÑÑ Ð·Ð½Ð°Ñение по ÑмолÑаниÑ
- (пÑоÑÑÑанÑÑво ÑвеÑов YV12). Ð ÑÑаÑÑÑ
веÑÑиÑÑ
<application>MPlayer</application>/
- <application>MEncoder</application> бÑло необÑ
одимо вÑÑÑавлÑÑÑ Ð½Ñжное знаÑение
- ÑоÑмаÑа вÑвода.
- ÐÑа пÑоблема должна бÑÑÑ ÑеÑена в ÑекÑÑиÑ
веÑÑиÑÑ
и опÑÐ¸Ñ <option>outfmt</option>
- болÑÑе не ÑÑебÑеÑÑÑ, поÑколÑÐºÑ Ð·Ð½Ð°Ñение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ñ
Ð¾Ð´Ð¸Ñ Ð²
- болÑÑинÑÑве ÑлÑÑаев. ÐапÑÐ¸Ð¼ÐµÑ ÐµÑли ÐÑ Ð±ÑдеÑе заÑ
ваÑÑваÑÑ Ð² DivX, иÑполÑзÑÑ
- <systemitem class="library">libavcodec</systemitem> и ÑкажеÑе
- <option>outfmt=RGB24</option> Ð´Ð»Ñ ÑлÑÑÑÐµÐ½Ð¸Ñ ÐºÐ°ÑеÑÑва
- полÑÑенного изобÑажениÑ, Ñо ÐÑ ÑвидиÑе, ÑÑо в дейÑÑвиÑелÑноÑÑи, изобÑажение вÑе
- Ñавно бÑÐ´ÐµÑ Ð¿ÐµÑекодиÑовано в YV12, поÑÑÐ¾Ð¼Ñ Ð²Ñе ÑÑо ÐÑ Ð¿Ð¾Ð»ÑÑиÑе, ÑÑо огÑомнаÑ
- загÑÑзка CPU.
-</para></listitem>
-<listitem><para>
- ЧÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ Ð¿ÑоÑÑÑанÑÑво ÑвеÑов I420 (<option>outfmt=i420</option>), ÐÑ
- Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-vc rawi420</option> в ÑвÑзи Ñ ÐºÐ¾Ð½ÑликÑом fourcc Ñ
- видео кодеком Intel Indeo.
-</para></listitem>
-<listitem><para>
- ÐÑÑÑ Ð½ÐµÑколÑко пÑÑей заÑ
ваÑа аÑдио. ÐÑ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ Ð·Ð²Ñк, либо иÑполÑзÑÑ ÐаÑÑ
- звÑковÑÑ ÐºÐ°ÑÑÑ Ð¸ внеÑний кабелÑ, ÑоединÑÑÑий видео каÑÑÑ Ð¸ линейнÑй вÑ
од[line-in],
- либо иÑполÑзÑÑ Ð²ÑÑÑоеннÑй ÐЦРна Ñипе bt878. Ð ÑÑом ÑлÑÑае, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ
- загÑÑзиÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ <emphasis role="bold">btaudio</emphasis>. ЧиÑайÑе Ñайл
- <filename>linux/Documentation/sound/btaudio</filename> (в деÑеве ÑдÑа, не
- <application>MPlayer</application>'а) Ñ Ð½ÐµÐºÐ¾ÑоÑÑми инÑÑÑÑкÑиÑми по
- иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑого дÑайвеÑа.
-</para></listitem>
-<listitem><para>
- ÐÑли <application>MEncoder</application> не Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑкÑÑÑÑ Ð°Ñдио ÑÑÑÑойÑÑво,
- ÑбедиÑеÑÑ, ÑÑо оно дейÑÑвиÑелÑно доÑÑÑпно. ÐÐ¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð½ÐµÐºÐ¾ÑоÑÑе ÑÑÑдноÑÑи Ñо
- звÑковÑми ÑеÑвеÑами, напÑÐ¸Ð¼ÐµÑ arts (KDE) и esd (GNOME). ÐÑли Ñ ÐаÑ
- полнодÑплекÑÐ½Ð°Ñ Ð·Ð²ÑÐºÐ¾Ð²Ð°Ñ ÐºÐ°ÑÑа (поÑÑи вÑе ÑовÑеменнÑе каÑÑÑ ÑÑо поддеÑживаÑÑ),
- и ÐÑ Ð¸ÑполÑзÑеÑе KDE, попÑобÑйÑе оÑмеÑиÑÑ Ð³Ð°Ð»Ð¾ÑÐºÑ "full duplex" в Ð¼ÐµÐ½Ñ Ð½Ð°ÑÑÑоек
- звÑкового ÑеÑвеÑа.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-examples">
-<title>ÐÑимеÑÑ</title>
-
-<informalexample><para>
-ФикÑивнÑй вÑвод, AAlib :)
-<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aatv://</screen>
-</para></informalexample>
-
-<informalexample><para>
-Ðвод Ñо ÑÑандаÑÑного V4L:
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-Ðолее изоÑÑÑннÑй пÑимеÑ. ÐÑо заÑÑавлÑÐµÑ <application>MEncoder</application> заÑ
ваÑÑваÑÑ
-полное PAL изобÑажение, обÑезаÑÑ ÐºÑÐ°Ñ Ð¸ измениÑÑ ÑазвÑÑÑÐºÑ ÐºÐ°ÑÑинки на поÑÑÑоÑнÑÑ,
-иÑполÑзÑÑ Ð°Ð»Ð³Ð¾ÑиÑм линейного ÑмеÑиваниÑ. ÐÑдио ÑжимаеÑÑÑ Ð´Ð¾ поÑÑоÑнного
-биÑпоÑока 64 кÐ/Ñ, иÑполÑзÑÑ LAME кодек. ÐÑи ÑÑÑановки подÑ
одÑÑ Ð´Ð»Ñ Ð·Ð°Ñ
ваÑа ÑилÑмов.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-ÐдеÑÑ, изобÑажение бÑÐ´ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно маÑÑÑабиÑовано до 384x288 и ÑжаÑо Ñ
-биÑпоÑоком 350 кÐ/Ñ Ð² Ñежиме вÑÑокого каÑеÑÑва. ÐпÑÐ¸Ñ vqmax даÑÑ Ð²Ð¾Ð»Ñ
-кванÑайзеÑÑ Ð¸ позволÑÐµÑ ÐºÐ¾Ð¼Ð¿ÑеÑÑоÑÑ Ð²Ð¸Ð´ÐµÐ¾ дейÑÑвиÑелÑно доÑÑиÑÑ ÑÑолÑ
-низкого биÑпоÑока, пÑавда Ñеной каÑеÑÑва. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ Ð·Ð°Ñ
ваÑа
-длиннÑÑ
TV ÑеÑий, где каÑеÑÑво не оÑобенно важно.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>output.avi</replaceable> \
- -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
-</screen>
-Также возможно ÑказаÑÑ Ð¼ÐµÐ½ÑÑие ÑазмеÑÑ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð² опÑии <option>-tv</option>
-и пÑопÑÑÑиÑÑ Ð¿ÑогÑаммное маÑÑÑабиÑование, но пÑиведÑннÑй подÑ
од иÑполÑзÑеÑ
-макÑималÑное доÑÑÑпное колиÑеÑÑво инÑоÑмаÑии и ÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑÑÑойÑив к ÑÑмÑ.
-Ð§Ð¸Ð¿Ñ bt8x8 из-за аппаÑаÑнÑÑ
огÑаниÑений могÑÑ ÑÑÑеднÑÑÑ Ð¿Ð¸ÐºÑели ÑолÑко по
-гоÑизонÑали.
-</para></informalexample>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tv-teletext">
-<title>ТелеÑекÑÑ</title>
-
-<para>
-Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑелеÑекÑÑ Ð´Ð¾ÑÑÑпен ÑолÑко в MPlayer Ð´Ð»Ñ v4l и v4l2 дÑайвеÑов.
-</para>
-
-<sect2 id="tv-teletext-implementation-notes">
-<title>ÐамеÑÐ°Ð½Ð¸Ñ ÑеализаÑии</title>
-
-<para>
-<application>MPlayer</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¾Ð±ÑÑнÑй ÑекÑÑ, пÑевдогÑаÑÐ¸ÐºÑ Ð¸
-навигаÑионнÑе ÑÑÑлки.
-Ð ÑожалениÑ, ÑвеÑнÑе ÑÑÑаниÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ Ð¿Ð¾ÐºÐ° не полноÑÑÑÑ - вÑе ÑÑÑаниÑÑ
-оÑобÑажаÑÑÑÑ Ð¾ÑÑенками ÑеÑого.
-СÑÑаниÑÑ Ñ ÑÑбÑиÑÑами (еÑе извеÑÑнÑе как Closed Captions) Ñоже поддеÑживаÑÑÑÑ.
-</para>
-
-<para>
-<application>MPlayer</application> наÑÐ¸Ð½Ð°ÐµÑ ÐºÐµÑиÑоваÑÑ Ð²Ñе ÑÑÑаниÑÑ ÑелеÑекÑÑа
-Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа наÑала пÑоÑмоÑÑа TV, Ñак ÑÑо вам не поÑÑебÑеÑÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑ Ð·Ð°Ð³ÑÑзки
-инÑеÑеÑÑÑÑий ÑÑÑаниÑÑ.
-</para>
-
-<para>
-ÐамеÑание: ÐÑполÑзование ÑелеÑекÑÑа Ñ <option>-vo xv</option> пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº поÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑÑÑаннÑÑ
ÑвеÑов.
-</para>
-</sect2>
-
-<sect2 id="tv-teletext-usage">
-<title>ÐÑполÑзование ÑелеÑекÑÑа</title>
-
-<para>
-ЧÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Ð´ÐµÐºÐ¾Ð´Ð¸Ñование ÑелеÑекÑÑа, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ VBI ÑÑÑÑойÑÑво, из коÑоÑого
-ÑледÑÐµÑ ÑиÑаÑÑ Ð´Ð°Ð½Ð½Ñе (обÑÑно <filename>/dev/vbi0</filename> в Linux).
-ÐÑо можно ÑделаÑÑ, Ñказав <option>tdevice</option> в ваÑем Ñайле конÑигÑÑаÑии:
-<screen>tv=tdevice=/dev/vbi0</screen>
-</para>
-
-<para>
-Ðам Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ ÑказаÑÑ ÐºÐ¾Ð´ ÑзÑка ÑелеÑекÑÑа Ð´Ð»Ñ Ð²Ð°Ñей ÑÑÑанÑ.
-ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑпиÑок вÑеÑ
доÑÑÑпнÑÑ
ÑзÑковÑÑ
кодов, иÑполÑзÑйÑе
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
-ÐÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð´Ð»Ñ Ð ÑÑÑкого:
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="radio">
-<title>Радио</title>
-
-
-<sect2 id="radio-input" xreflabel="Radio input">
-<title>Радио вÑ
од</title>
-
-<para>
-Ð ÑÑой ÑекÑии опиÑÑваеÑÑÑ ÐºÐ°Ðº вклÑÑиÑÑ Ð¿ÑоÑлÑÑивание
-Ñадио пÑи помоÑи V4L ÑовмеÑÑимого Радио ÑÑнеÑа. СмоÑÑиÑе man ÑÑÑаниÑÑ Ð´Ð»Ñ
-опиÑÐ°Ð½Ð¸Ñ Ð¾Ð¿Ñий и кнопок ÑпÑавлениÑ.
-</para>
-
-
-<sect3 id="radio-compilation">
-<title>ÐомпилÑÑиÑ</title>
-
-<procedure>
-<step><para>
- Ðо-пеÑвÑÑ
, вам необÑ
одимо пеÑекомпилиÑоваÑÑ <application>MPlayer</application>
- пÑи помоÑи <filename>./configure</filename> Ñ Ñказанием опÑий
- <option>--enable-radio</option> и (еÑли Ñ
оÑиÑе вклÑÑиÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð·Ð°Ð¿Ð¸Ñи)
- <option>--enable-radio-capture</option>.
-</para></step>
-<step><para>
- УбедиÑеÑÑ, ÑÑо Ð²Ð°Ñ ÑÑÐ½ÐµÑ ÑабоÑÐ°ÐµÑ Ñ Ð´ÑÑгими пÑиложениÑми в Linux, напÑимеÑ
- <application>XawTV</application>.
-</para></step>
-</procedure>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-tips">
-<title>СовеÑÑ Ð¿Ð¾ иÑполÑзованиÑ</title>
-<para>
-ÐолнÑй ÑпиÑок опÑий доÑÑÑпен на ÑÑÑаниÑаÑ
ÑÑководÑÑва (man).
-ÐÐ¾Ñ Ð²Ñего неÑколÑко ÑовеÑов:
-
-<itemizedlist>
-<listitem><para>
- ÐÑполÑзование <option>channels</option> опÑии. ÐÑимеÑ:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- ÐбÑÑÑнение: пÑи Ñказании ÑÑой опÑии, бÑдÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ ÑолÑко ÑадиоÑÑанÑии
- 104.4 и 103.9. ÐÑоме Ñого, бÑÐ´ÐµÑ Ð¿ÑиÑÑнÑй OSD ÑекÑÑ Ð¿Ñи пеÑеклÑÑении Ð¼ÐµÐ¶Ð´Ñ ÐºÐ°Ð½Ð°Ð»Ð°Ð¼Ð¸,
- оÑобÑажаÑÑий название канала. ÐÑÐ¾Ð±ÐµÐ»Ñ Ð² названиÑÑ
каналов Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ñ
- Ñимволом "_"
-</para></listitem>
-<listitem><para>
- ÐÑÑÑ Ð½ÐµÑколÑко пÑÑей заÑ
ваÑа аÑдио. ÐÑ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ Ð·Ð²Ñк, либо иÑполÑзÑÑ ÐаÑÑ
- звÑковÑÑ ÐºÐ°ÑÑÑ Ð¸ внеÑний кабелÑ, ÑоединÑÑÑий видео каÑÑÑ Ð¸ линейнÑй вÑ
од[line-in],
- либо иÑполÑзÑÑ Ð²ÑÑÑоеннÑй ADC на в Ñипе saa7134. Ð ÑÑом ÑлÑÑае, ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ
- загÑÑзиÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ <systemitem>saa7134-alsa</systemitem> или
- <systemitem>saa7134-oss</systemitem>.
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application> не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован Ð´Ð»Ñ Ð·Ð°Ñ
ваÑа звÑка,
- поÑколÑÐºÑ Ð¾Ð½ ÑÑебÑÐµÑ Ð¾Ð±ÑзаÑелÑного налиÑÐ¸Ñ Ð²Ð¸Ð´ÐµÐ¾-поÑока.Таким обÑазом, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе
- пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð·Ð°Ñ
Ð²Ð°Ñ Ð»Ð¸Ð±Ð¾ иÑполÑзÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ <application>arecord</application>
- из пÑоекÑа ALSA, либо иÑполÑзÑÑ
- <option>-ao pcm:file=file.wav</option>. Ðо вÑоÑом ÑлÑÑае Ð²Ñ Ð½Ðµ бÑдеÑе ÑлÑÑаÑÑ Ð½Ð¸Ñего во
- вÑÐµÐ¼Ñ Ð·Ð°Ñ
ваÑа (за иÑклÑÑение ÑлÑÑаÑ, когда Ð²Ñ Ð¸ÑполÑзÑеÑе line-in кабелÑ, и ÑлÑÑаеÑе
- звÑк непоÑÑедÑÑвенно Ñ Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾Ð³Ð¾ вÑ
ода).
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-examples">
-<title>ÐÑимеÑÑ</title>
-
-
-<informalexample><para>
-ÐÑ
од Ñо ÑÑандаÑÑного V4L (иÑполÑзÑÑ line-in кабелÑ, запиÑÑ Ð¾ÑклÑÑена.):
-<screen>mplayer radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-ÐÑ
од Ñо ÑÑандаÑÑного V4L (иÑполÑзÑÑ line-in кабелÑ, запиÑÑ Ð¾ÑклÑÑена. ÐÑполÑзÑеÑÑÑ Ð¸Ð½ÑеÑÑейÑ
-V4Lv1):
-<screen>mplayer -radio driver=v4l radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-пÑоÑлÑÑивание вÑоÑой ÑадиоÑÑанÑии из ÑпиÑка:
-<screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
-</para></informalexample>
-
-<informalexample>
-<para>
-ÐолÑÑение звÑка ÑеÑез ÑÐ¸Ð½Ñ pci Ñ Ð²Ð½ÑÑÑеннего ADC Ñадио ÑÑнеÑа. Ð ÑÑом пÑимеÑе
-ÑÑÐ½ÐµÑ Ð¸ÑполÑзÑеÑÑÑ ÐºÐ°Ðº вÑоÑÐ°Ñ Ð·Ð²ÑÐºÐ¾Ð²Ð°Ñ ÐºÐ°ÑÑа (ALSA ÑÑÑÑойÑÑво hw:1,0).
-ÐÐ»Ñ ÐºÐ°ÑÑ, оÑнованнÑÑ
на saa7134, либо
-<systemitem>saa7134-alsa</systemitem>, либо <systemitem>saa7134-oss</systemitem>
-модÑÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð·Ð°Ð³ÑÑжен.
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
- -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note><para>
-ÐÑи иÑполÑзовании имен ÑÑÑÑойÑÑв ALSA, двоеÑоÑÐ¸Ñ Ð½ÐµÐ¾Ð±Ñ
одимо замениÑÑ Ð½Ð°
-ÑавенÑÑва, запÑÑÑе - на ÑоÑки.
-</para></note>
-</para>
-</informalexample>
-</sect3>
-</sect2>
-</sect1>
-</chapter>
diff --git a/DOCS/xml/ru/video.xml b/DOCS/xml/ru/video.xml
deleted file mode 100644
index 409308a..0000000
--- a/DOCS/xml/ru/video.xml
+++ /dev/null
@@ -1,2622 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r26073 -->
-<chapter id="video">
-<title>УÑÑÑойÑÑва вÑвода видео</title>
-
-<sect1 id="mtrr">
-<title>ÐаÑÑÑойка MTRR</title>
-
-<para>
-ÐЧÐÐЬ важно пÑовеÑиÑÑ, пÑавилÑно ли ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ MTRR ÑегиÑÑÑÑ,
-поÑколÑÐºÑ Ð¾Ð½Ð¸ могÑÑ Ð´Ð°ÑÑ Ð±Ð¾Ð»ÑÑой пÑиÑоÑÑ Ð¿ÑоизводиÑелÑноÑÑи.
-</para>
-
-<para>
-ÐÑполниÑе <command>cat /proc/mtrr</command>:
-<screen>
-<prompt>--($:~)--</prompt> cat /proc/mtrr
-reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
-reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
---></screen>
-</para>
-
-<para>
-ÐдеÑÑ Ð²Ñе веÑно, показана Ð¼Ð¾Ñ Matrox G400 Ñ 16Ðб памÑÑи. Я вÑполнил ÑÑо из-под
-XFree 4.x.x, коÑоÑÑй авÑомаÑиÑеÑки ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑегиÑÑÑÑ MTRR.
-</para>
-
-<para>
-ÐÑли ниÑего не ÑÑабоÑало, вам пÑидеÑÑÑ ÑделаÑÑ ÑÑо вÑÑÑнÑÑ. Ðо-пеÑвÑÑ
,
-Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð¿ÑеделиÑÑ Ð±Ð°Ð·Ð¾Ð²Ñй адÑеÑ. СÑÑеÑÑвÑÐµÑ ÑÑи ÑпоÑоба вÑÑÑниÑÑ ÐµÐ³Ð¾:
-
-<orderedlist>
-<listitem><para>
- из ÑообÑений запÑÑка X11, напÑимеÑ:
- <screen>
-(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
-(--) SVGA: Linear framebuffer at 0xD8000000<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- из <filename>/proc/pci</filename> (иÑполÑзÑйÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ <command>lspci -v</command>):
- <screen>
-01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
-Memory at d8000000 (32-bit, prefetchable)<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- из ÑообÑений дÑайвеÑа ÑдÑа mga_vid (иÑполÑзÑйÑе <command>dmesg</command>):
- <screen>mga_mem_base = d8000000</screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-ТепеÑÑ Ð´Ð°Ð²Ð°Ð¹Ñе найдем обÑем памÑÑи. ÐÑо оÑÐµÐ½Ñ Ð¿ÑоÑÑо, пÑоÑÑо пÑеобÑазÑйÑе
-ÑÐ°Ð·Ð¼ÐµÑ Ð²Ð¸Ð´ÐµÐ¾ памÑÑи в ÑеÑÑнадÑаÑеÑиÑнÑй ÑоÑмаÑ, или иÑполÑзÑйÑе ÑаблиÑÑ:
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
- <row><entry>1 MB</entry><entry>0x100000</entry></row>
- <row><entry>2 MB</entry><entry>0x200000</entry></row>
- <row><entry>4 MB</entry><entry>0x400000</entry></row>
- <row><entry>8 MB</entry><entry>0x800000</entry></row>
- <row><entry>16 MB</entry><entry>0x1000000</entry></row>
- <row><entry>32 MB</entry><entry>0x2000000</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-ÐÑ Ð·Ð½Ð°ÐµÑе базовÑй адÑÐµÑ Ð¸ ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð°Ð¼ÑÑи, Ñак давайÑе наÑÑÑоим ÑегиÑÑÑÑ MTRR!
-ÐапÑимеÑ, Ð´Ð»Ñ Ð²ÑÑеÑказанной каÑÑÑ Matrox (<literal>base=0xd8000000</literal>)
-Ñ 32Ðб памÑÑи (<literal>size=0x2000000</literal>) пÑоÑÑо вÑполниÑе:
-<screen>
-echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr
-</screen>
-</para>
-
-<para>
-Ðе вÑе CPU имеÑÑ MTRR. ÐапÑимеÑ, ÑÑаÑÑй K6-2 (около 266MHz,
-ÑÑеппинг 0) не Ð¸Ð¼ÐµÐµÑ MTRR, но Ñ ÑÑеппинга 12 они Ñже еÑÑÑ
-(запÑÑÑиÑе <command>cat /proc/cpuinfo</command> ÑÑÐ¾Ð±Ñ ÑÑо пÑовеÑиÑÑ).
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="xv">
-<title>Xv</title>
-
-<para>
-Ðод XFree86 4.0.2 или новее, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑÑнкÑии ÑабоÑÑ Ñ YUV[YUV routines]
-ваÑей видеокаÑÑÑ, иÑполÑзÑÑ ÑаÑÑиÑение XVideo, Ñо, коÑоÑое иÑполÑзÑеÑÑÑ Ð¿Ñи Ñказании опÑиии
-<option>-vo xv</option>.
-<!-- FIXME
-Also, this driver supports adjusting
-brightness/contrast/hue/etc (unless you use the old, slow DirectShow DivX
-codec, which supports it everywhere), see the man page.
--->
-Ð ÑÐ¾Ð¼Ñ Ð¶Ðµ ÑÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑпÑавление
-ÑÑкоÑÑÑÑ/конÑÑаÑÑноÑÑÑÑ/ÑвеÑноÑÑÑÑ/и Ñ.д. (кÑоме ÑлÑÑÐ°Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑаÑого ,медленного
-DivX кодека DirectShow, коÑоÑÑй везде ÑÑо поддеÑживаеÑ), ÑмоÑÑиÑе ÑÑÑаниÑÑ man.
-
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ Ð·Ð°ÑÑавиÑÑ ÐµÐ³Ð¾ ÑабоÑаÑÑ, ÑбедиÑеÑÑ, ÑÑо вÑполнÑеÑÑÑ ÑледÑÑÑее:
-
-<orderedlist>
-<listitem><para>
- ТÑебÑеÑÑÑ Ð¸ÑполÑзоваÑÑ XFree86 4.0.2 или новее (пÑедÑдÑÑие веÑÑии не меÑÑ XVideo)
-</para></listitem>
-<listitem><para>
- ÐаÑа каÑÑа дейÑÑвиÑелÑно поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð°Ð¿Ð¿Ð°ÑаÑное ÑÑкоÑение (ÑовÑеменнÑе - да)
-</para></listitem>
-<listitem><para>
- X загÑÑжаÑÑ ÑаÑÑиÑение XVideo, ÑÑо поÑ
оже на:
- <programlisting>(II) Loading extension XVideo</programlisting>
- в <filename>/var/log/XFree86.0.log</filename>
- <note><para>
- ÐÑо вÑего лиÑÑ Ð·Ð°Ð³ÑÑжаеÑÑÑ ÑаÑÑиÑение XVideo. ÐÑи ноÑмалÑной ÑÑÑановке оно гÑÑзиÑÑÑ
- вÑегда, ÑÑо не ознаÑаеÑ, ÑÑо загÑÑжена <emphasis role="bold">аппаÑаÑнаÑ</emphasis>
- поддеÑжка XVideo.
- </para></note>
-</para></listitem>
-<listitem><para>
- ÐаÑа каÑÑа Ð¸Ð¼ÐµÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Xv Ð´Ð»Ñ Linux. ЧÑÐ¾Ð±Ñ ÑÑо пÑовеÑиÑÑ, запÑÑÑиÑе
- <command>xvinfo</command>, ÑвлÑÑÑÑÑÑÑ ÑаÑÑÑÑ Ð´Ð¸ÑÑÑибÑÑива XFree86. Ðна должна
- вÑдаÑÑ Ð½Ð° ÑкÑан длиннÑй ÑекÑÑ, поÑ
ожий на ÑÑоÑ:
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...и Ñ.д....)<!--
---></screen>
- ÐаÑÑа должна поддеÑживаÑÑ YUY2 пакованнÑе и YUV12 планаÑнÑе[planar] ÑоÑмаÑÑ
- пикÑелов, ÑÑÐ¾Ð±Ñ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾Ð¹ в <application>MPlayer</application>.
-</para></listitem>
-<listitem><para>
- Ð, наконеÑ, пÑовеÑÑÑе, ÑÑо <application>MPlayer</application> ÑобÑан Ñ
- поддеÑжкой 'xv'. ÐÑполниÑе <command>mplayer -vo help | grep xv </command>.
- ÐÑли поддеÑжка 'xv' вклÑÑена, Ñо ÑвидиÑе поÑ
ожÑÑ ÑÑÑокÑ:
- <screen> xv X11/Xv</screen>
-</para></listitem>
-</orderedlist>
-</para>
-
-
-<sect2 id="tdfx">
-<title>3dfx каÑÑÑ</title>
-
-<para>
-ХоÑоÑо извеÑÑно, ÑÑо ÑÑаÑÑе 3dfx дÑайвеÑа имеÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ ÑÑкоÑением XVideo, они не
-поддеÑживаÑÑ Ð½Ð¸ YUY2 ни YV12, ни Ñ.п. ÐÑовеÑÑÑе, ÑÑо Ñ Ð²Ð°Ñ XFree86 веÑÑии
-4.2.0 или новее, он Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ñ YV12 и YUY2, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº пÑедÑдÑÑие веÑÑии,
-вклÑÑÐ°Ñ 4.1.0, <emphasis role="bold">Ñ YV12 пÑиводÑÑ Ðº кÑаÑ
Ñ</emphasis>.
-
-ÐÑли Ð²Ñ ÑÑолкнÑлиÑÑ Ñо ÑÑÑаннÑми ÑÑÑекÑами пÑи иÑполÑзовании <option>-vo xv</option>,
-попÑобÑйÑе SDL (он Ñоже Ð¸Ð¼ÐµÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ XVideo), и поÑмоÑÑиÑе Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð»Ð¸ ÑÑо. ÐбÑаÑиÑеÑÑ Ðº
-ÑÐ°Ð·Ð´ÐµÐ»Ñ <link linkend="sdl">SDL</link> за подÑобноÑÑÑми.
-</para>
-
-<para>
-<emphasis role="bold">ÐÐÐ</emphasis>, попÑобÑйÑе ÐÐÐЫÐ
-<option>-vo tdfxfb</option> дÑайвеÑ! СмоÑÑиÑе Ñаздел <link linkend="tdfxfb">tdfxfb</link>.
-</para>
-</sect2>
-
-
-<sect2 id="s3">
-<title>S3 каÑÑÑ</title>
-
-<para>
-S3 Savage3D, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑекÑаÑно ÑабоÑаÑÑ, но Ð´Ð»Ñ Savage4 иÑполÑзÑйÑе XFree86 веÑÑии 4.0.3 или
-вÑÑе (в ÑлÑÑае пÑоблем Ñ Ð¸Ð·Ð¾Ð±Ñажением попÑобÑйÑе 16bpp). Ðо Ð¿Ð¾Ð²Ð¾Ð´Ñ S3 Virge:
-она поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ xv, но каÑÑа Ñама по Ñебе ÑлиÑком медленнаÑ, Ñак ÑÑо лÑÑÑе бÑÐ´ÐµÑ ÐµÐµ
-пÑодаÑÑ.
-</para>
-
-<para>
-СÑÑеÑÑвÑÐµÑ Ñодной дÑÐ°Ð¹Ð²ÐµÑ ÑÑеймбÑÑеÑа Ð´Ð»Ñ ÐºÐ°ÑÑ S3 Virge, аналогиÑнÑй
-tdfxfb. ÐаÑÑÑойÑе Ð²Ð°Ñ ÑÑеймбÑÑÐµÑ (напÑимеÑ, ÑкажиÑе ÑдÑÑ
-"<option>vga=792 video=vesa:mtrr</option>") и воÑполÑзÑйÑеÑÑ
-<option>-vo s3fb</option> (<option>-vf yuy2</option> и <option>-dr</option>
-Ñоже помогÑÑ).
-</para>
-
-<note><para>
-Ðока не ÑÑно в какиÑ
моделÑÑ
Savage оÑÑÑÑÑÑвÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑжка YV12, и пÑеобÑазование
-оÑÑÑеÑÑвлÑеÑÑÑ Ð´ÑайвеÑом (медленно). ÐÑли Ð²Ñ Ð³ÑеÑиÑе на ÑÐ²Ð¾Ñ ÐºÐ°ÑÑÑ, возÑмиÑе
-Ñвежий дÑÐ°Ð¹Ð²ÐµÑ Ð¸Ð´Ð¸ вежливо ÑпÑоÑиÑе в ÑпиÑке ÑаÑÑÑлки MPlayer-users
-о дÑайвеÑе Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой MMX/3DNow!.
-</para></note>
-</sect2>
-
-
-<sect2 id="nvidia">
-<title>nVidia каÑÑÑ</title>
-
-<para>
-nVidia под Linux - не вÑегда Ñ
оÑоÑий вÑÐ±Ð¾Ñ ... ÐÑкÑÑÑÑе дÑайвеÑа XFree86
-поддеÑживаÑÑ Ð±Ð¾Ð»ÑÑинÑÑво ÑÑиÑ
каÑÑ, но в некоÑоÑÑÑ
ÑлÑÑаÑÑ
пÑидеÑÑÑ
-иÑполÑзоваÑÑ Ð·Ð°ÐºÑÑÑÑй бинаÑнÑй дÑÐ°Ð¹Ð²ÐµÑ Ð¾Ñ nVidia, доÑÑÑпнÑй на
-<ulink url="http://www.nvidia.com/object/linux.html">ÑайÑе nVidia</ulink>.
-ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ñакже вÑегда необÑ
одим Ð´Ð»Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ 3D ÑÑкоÑениÑ.
-</para>
-
-<para>
-
-ÐаÑÑÑ Riva128 не имеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжки XVideo Ñ Ð´ÑайвеÑом nVidia Ð¾Ñ XFree86 :(
-ÐодайÑе Ð¶Ð°Ð»Ð¾Ð±Ñ nVidia.
-</para>
-
-<para>
-Тем не менее, <application>MPlayer</application> имееÑ
-<link linkend="vidix">VIDIX</link> дÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑинÑÑва каÑÑ nVidia. СейÑÐ°Ñ Ð¾Ð½
-в ÑÑадии беÑÑ Ð¸ Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе недоÑÑаÑки. Ðа подÑобоÑÑÑми обÑаÑайÑеÑÑ
-к ÑÐ°Ð·Ð´ÐµÐ»Ñ <link linkend="vidix-nvidia">nVidia VIDIX</link>.
-</para>
-</sect2>
-
-
-<sect2 id="ati">
-<title>ATI каÑÑÑ</title>
-
-<para>
-<ulink url="http://gatos.sf.net">ÐÑÐ°Ð¹Ð²ÐµÑ GATOS</ulink>
-(коÑоÑÑй ÑÑÐ¾Ð¸Ñ Ð¸ÑполÑзоваÑÑ, еÑли Ñ Ð²Ð°Ñ Ð½Ðµ Rage128 или Radeon) по-ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ Ð²ÐºÐ»ÑÑеннÑÑ
-опÑÐ¸Ñ VSYNC. ÐÑо знаÑиÑ, ÑÑо ÑкоÑоÑÑÑ Ð´ÐµÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ (!) ÑинÑ
ÑонизиÑована Ñ ÑаÑÑоÑой обновлениÑ
-мониÑоÑа. ÐÑли воÑпÑоизведение кажеÑÑÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñм, попÑобÑйÑе как-нибÑÐ´Ñ Ð¾ÑклÑÑиÑÑ VSYNC или
-ÑÑÑановиÑе ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð² n*(fps[кадÑов/Ñ] ÑилÑма) ÐÑ.
-</para>
-
-<para>
-Radeon VE - еÑли нÑжен X, иÑполÑзÑйÑе XFree86 4.2.0 или новее.
-ÐÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑжки TV-вÑÑ
ода. ÐонеÑно, Ñ <application>MPlayer</application> Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑÑпеÑно
-полÑÑиÑÑ <emphasis role="bold">ÑÑкоÑенное</emphasis> оÑобÑажение, Ñ Ð¸Ð»Ð¸ без
-<emphasis role="bold">TV-вÑÑ
ода</emphasis>, без какиÑ
-либо библиоÑек X.
-ЧиÑайÑе Ñаздел <link linkend="vidix">VIDIX</link>.
-</para>
-</sect2>
-
-
-<sect2 id="neomagic">
-<title>NeoMagic каÑÑÑ</title>
-
-<para>
-ÐÑи каÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи во многиÑ
ноÑÑбÑкаÑ
. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑ XFree86 4.3.0 или
-более новÑй, или иÑполÑзоваÑÑ
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-ÑовмеÑÑимÑе дÑайвеÑа</ulink>.
-Ð¾Ñ Stefan Seyfried. ÐÑоÑÑо вÑбеÑиÑе подÑ
одÑÑий Ð´Ð»Ñ Ð²Ð°Ñей веÑÑии XFree86.
-</para>
-
-<para>
-XFree86 4.3.0 вклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Xv, недавно Bohdan Horst оÑоÑлал неболÑÑой
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">паÑÑ</ulink>
-Ð´Ð»Ñ Ð¸ÑÑ
одников XFree86, ÑÑкоÑÑÑÑий опеÑаÑии Ñ ÑÑеймбÑÑеÑом (и XVideo) в ÑеÑÑÑе Ñаза.
-ÐаÑÑ Ð±Ñл вклÑÑен в XFree86 CVS и должен бÑÑÑ Ð² ÑледÑÑÑем Ñелизе поÑле 4.3.0.
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ ÑделаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм воÑпÑоизведение ÑилÑмов DVD ÑазÑеÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿ÑавÑÑе Ð²Ð°Ñ XF86Config как
-Ñказано здеÑÑ:
-<programlisting>
-Section "Device"
- [...]
- Driver "neomagic"
- <emphasis>Option "OverlayMem" "829440"</emphasis>
- [...]
-EndSection<!--
---></programlisting>
-</para>
-</sect2>
-
-
-<sect2 id="trident">
-<title>Trident каÑÑÑ</title>
-
-<para>
-ÐÑли Ñ
оÑиÑе иÑполÑзоваÑÑ Xv Ñ ÐºÐ°ÑÑой Trident, ÑÑиÑÑваÑ, ÑÑо они не ÑабоÑаÑÑ Ñ
-4.1.0, ÑÑÑановиÑе XFree 4.2.0.
-4.2.0 добавлÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð¿Ð¾Ð»Ð½Ð¾ÑкÑанного Xv Ñ ÐºÐ°ÑÑой Cyberblade XP.
-</para>
-
-<para>
-ÐÑÑгой ваÑианÑ: <application>MPlayer</application> имееÑ
-<link linkend="vidix">VIDIX</link> дÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ ÐºÐ°ÑÑ Cyberblade/i1.
-</para>
-</sect2>
-
-
-<sect2 id="kyro">
-<title>Kyro/PowerVR каÑÑÑ</title>
-
-<para>
-ÐÑли Ñ
оÑиÑе иÑполÑзоваÑÑ Xv Ñ ÐºÐ°ÑÑами на базе Kyro (напÑимеÑ,
-Hercules Prophet 4000XT), ÑледÑÐµÑ ÑкаÑаÑÑ Ð´ÑайвеÑÑ Ñ
-<ulink url="http://www.powervr.com/">ÑайÑа PowerVR</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="intel">
-<title>ÐаÑÑÑ Intel</title>
-
-<para>
-ÐÑи каÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ обнаÑÑжиÑÑ Ð²Ð¾ многиÑ
ноÑÑбÑкаÑ
. РекомендÑеÑÑÑ Xorg поÑледней веÑÑии.
-</para>
-
-<para>
-ÐÐ»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑенÑа ÑазмеÑа DVD (и более) попÑавÑÑе
-Ð²Ð°Ñ XF86Config/xorg.conf как Ñказано здеÑÑ:
-<programlisting>
-Section "Device"
- [...]
- Driver "intel"
- <emphasis>Option "LinearAlloc" "6144"</emphasis>
- [...]
-EndSection
-</programlisting>
-ÐÑÑÑÑÑÑвие ÑÑой опÑии ÑкоÑее вÑего пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñибки
-<screen>X11 error: BadAlloc (insufficient resources for operation)</screen>
-пÑи попÑÑке иÑполÑзоваÑÑ <option>-vo xv</option>.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>ÐÐ ÐÐÐÐУÐÐ</title>
-<para>
-ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð¿ÑÑаеÑÑÑ ÑказаÑÑ Ð½ÐµÑколÑко Ñлов о Ñом, ÑÑо Ñакое DGA в Ñелом и
-ÑÑо Ð¼Ð¾Ð¶Ñ ÑделаÑÑ DGA дÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ <application>MPlayer</application>
-(а ÑÑо неÑ).
-</para>
-</formalpara>
-
-<formalpara>
-<title>ЧТРТÐÐÐÐ DGA</title>
-<para>
-<acronym>DGA</acronym> ÑÑо ÑокÑаÑение Ð¾Ñ <emphasis>Direct Graphics
-Access[ÐÑÑмой ÐоÑÑÑп к ÐÑаÑике]</emphasis> и ознаÑÐ°ÐµÑ Ð¾Ð±Ñ
од
-пÑогÑаммами X ÑеÑвеÑа и пÑÑмое изменение ими памÑÑи ÑÑеймбÑÑеÑа.
-ÐовоÑÑ ÑеÑ
ниÑеÑким ÑзÑком, ÑÑо пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ñи помоÑи оÑобÑажениÑ[mapping]
-памÑÑи ÑÑеймбÑÑеÑа в адÑеÑное пÑоÑÑÑанÑÑво ваÑего пÑоÑеÑÑа. ÐÑо позволÑеÑÑÑ
-ÑдÑом, ÑолÑко еÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¿Ñивилегии ÑÑпеÑполÑзоваÑелÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе
-полÑÑиÑÑ Ð¸Ñ
либо Ð²Ð¾Ð¹Ð´Ñ Ð² ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ð´ именем
-<systemitem class="username">root</systemitem>, либо ÑÑÑановив SUID Ð±Ð¸Ñ Ð½Ð°
-иÑполнÑемÑй Ñайл <application>MPlayer</application> (<emphasis role="bold">не
-ÑекомендÑеÑÑÑ</emphasis>).
-</para>
-</formalpara>
-<para>
-ÐÑÑÑ Ð´Ð²Ðµ веÑÑии DGA: DGA1 иÑполÑзÑеÑÑÑ XFree 3.x.x и DGA2, поÑвивÑийÑÑ Ð² XFree 4.0.1.
-</para>
-
-<para>
-DGA1 пÑедоÑÑавлÑÐµÑ ÑолÑко пÑÑмой доÑÑÑп в ÑÑеймбÑÑеÑÑ, как опиÑано вÑÑе.
-ÐÐ»Ñ Ð¿ÐµÑеклÑÑÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾Ñежимов пÑидеÑÑÑ Ð¾Ð±ÑаÑиÑÑÑÑ Ð² ÑаÑÑиÑÐµÐ½Ð¸Ñ XVidMode.
-</para>
-
-<para>
-DGA2 обÑединÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи ÑаÑÑиÑÐµÐ½Ð¸Ñ XVidMode и, к ÑÐ¾Ð¼Ñ Ð¶Ðµ, позволÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ
-глÑÐ±Ð¸Ð½Ñ ÑвеÑа оÑобÑажениÑ. Таким обÑазом, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе,ÑабоÑаÑ, в оÑновном,
-в X Ñ 32-Ñ
биÑной глÑбиной ÑвеÑа, пеÑеклÑÑиÑÑÑÑ Ð½Ð° глÑÐ±Ð¸Ð½Ñ 15 Ð±Ð¸Ñ Ð¸ наобоÑоÑ.
-</para>
-
-<para>
-Ðднако DGA Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе недоÑÑаÑки. ÐоÑ
оже, оно каким-Ñо обÑазом завиÑÐ¸Ñ Ð¾Ñ
-иÑполÑзÑемого гÑаÑиÑеÑкого Ñипа и ÑеализаÑии видеодÑайвеÑа ÑеÑвеÑа X,
-ÑпÑавлÑÑÑего ÑÑим Ñипом. Так ÑÑо он ÑабоÑÐ°ÐµÑ Ð½Ðµ на вÑеÑ
ÑиÑÑемаÑ
.
-</para>
-
-<formalpara>
-<title>УСТÐÐÐÐÐÐ ÐÐÐÐÐÐ ÐÐÐ DGA ÐÐЯ MPLAYER</title>
-
-<para>
-Ðо-пеÑвÑÑ
, ÑбедиÑеÑÑ, ÑÑо X загÑÑÐ¶Ð°ÐµÑ ÑаÑÑиÑение DGA, ÑмоÑÑиÑе в
-<filename>/var/log/XFree86.0.log</filename>:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-СмоÑÑиÑе, <emphasis role="bold">кÑайне ÑекомендÑеÑÑÑ</emphasis> XFree86 4.0.x или ÑÑаÑÑе!
-DGA дÑÐ°Ð¹Ð²ÐµÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ <application>MPlayer</application> опÑеделÑеÑÑÑ Ð°Ð²ÑомаÑиÑеÑки ÑкÑипÑом
-<filename>./configure</filename>, или можеÑе пÑинÑдиÑелÑно ÑказаÑÑ ÐµÐ³Ð¾ иÑполÑзование
-опÑией <option>--enable-dga</option>.
-</para>
-</formalpara>
-
-<para>
-ÐÑли дÑÐ°Ð¹Ð²ÐµÑ Ð½Ðµ Ñмог пеÑеклÑÑиÑÑÑÑ Ð½Ð° менÑÑее ÑазÑеÑение, поÑкÑпеÑименÑиÑÑйÑе Ñ
-опÑиÑми <option>-vm</option> (ÑолÑко Ð´Ð»Ñ X 3.3.x), <option>-fs</option>,
-<option>-bpp</option>, <option>-zoom</option> ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи видеоÑежим
-в коÑоÑÑй помеÑÑиÑÑÑÑ ÑилÑм. ÐонвеÑÑеÑа Ðока ÑÑо Ð½ÐµÑ :(
-</para>
-
-<para>
-ÐолÑÑиÑе пÑава <systemitem class="username">root</systemitem>. DGA ÑÑебÑеÑ
-пÑава root Ð´Ð»Ñ Ð¿ÑÑмой запиÑи в видеопамÑÑÑ. ÐÑли Ñ
оÑиÑе запÑÑкаÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ обÑÑного
-полÑзоваÑелÑ, ÑÑÑановиÑе Ð±Ð¸Ñ SUID на <application>MPlayer</application>:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
-ТепеÑÑ ÑÑо ÑабоÑÐ°ÐµÑ Ð¸ под обÑÑнÑм полÑзоваÑелем.
-</para>
-
-<caution>
-<title>РиÑк безопаÑноÑÑи</title>
-<para>
-Ð ÑÑом заклÑÑаеÑÑÑ <emphasis role="bold">болÑÑой</emphasis> ÑиÑк безопаÑноÑÑи!
-<emphasis role="bold">Ðикогда</emphasis> не делайÑе ÑÑого на ÑеÑвеÑе или комппÑÑÑеÑе,
-к коÑоÑÐ¾Ð¼Ñ Ð¸Ð¼ÐµÑÑ Ð´Ð¾ÑÑÑп дÑÑгие лÑди, Ñ.к. они могÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¿Ñава root ÑеÑез
-<application>MPlayer</application> Ñ Ð±Ð¸Ñом SUID.
-</para>
-</caution>
-
-<para>
-ТепеÑÑ Ð¸ÑполÑзÑйÑе опÑÐ¸Ñ <option>-vo dga</option>, и впеÑед! (Ð¼Ñ Ð½Ð°Ð´ÐµÐµÐ¼ÑÑ :)
-ÐожеÑе попÑобоваÑÑ, ÑабоÑÐ°ÐµÑ Ð»Ð¸ Ñ Ð²Ð°Ñ Ð¾Ð¿ÑÐ¸Ñ <option>-vo sdl:driver=dga</option>!
-ÐÑо намного бÑÑÑÑее!
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>ÐÐÐ ÐÐÐЮЧÐÐÐÐ Ð ÐÐÐÐÐÐ</title>
-
-<para>
-DGA дÑÐ°Ð¹Ð²ÐµÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿ÐµÑеклÑÑаÑÑ ÑÐµÐ¶Ð¸Ð¼Ñ (менÑÑÑ ÑазÑеÑение) вÑÑ
одного Ñигнала.
-ÐÑо позволÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ (медленного) пÑогÑаммного маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ в Ñо же
-вÑÐµÐ¼Ñ Ð¿ÑедоÑÑавиÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑкÑанное изобÑажение. Ридеале ÑледÑÐµÑ Ð¿ÐµÑеклÑÑаÑÑÑÑ Ð²
-Ñежим Ñ Ñаким же (необÑзаÑелÑно Ñ ÑоÑ
Ñанением пÑопоÑÑий) как Ñ Ð²Ð¸Ð´ÐµÐ¾Ð´Ð°Ð½Ð½ÑÑ
ÑазÑеÑением,
-но X ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿ÐµÑеклÑÑаÑÑÑÑ Ð² ÑежимÑ, пÑедопÑеделеннÑе в
-<filename>/etc/X11/XF86Config</filename>
-(<filename>/etc/X11/XF86Config-4</filename> Ð´Ð»Ñ XFree 4.X.X ÑооÑвеÑÑÑвенно).
-Ðни опÑеделÑÑÑÑÑ Ñак назÑваемÑми моделайнами[modelines] и завиÑÑÑ
-возможноÑÑей ваÑей видеокаÑÑÑ. X ÑеÑÐ²ÐµÑ ÑиÑÐ°ÐµÑ ÑÑÐ¾Ñ Ñайл пÑи ÑÑаÑÑе и
-оÑклÑÑÐ°ÐµÑ ÑежимÑ, недопÑÑÑимÑе Ð´Ð»Ñ Ð²Ð°Ñего обоÑÑдованиÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе опÑеделиÑÑ
-какие ÑÐµÐ¶Ð¸Ð¼Ñ Ð¾ÑÑалиÑÑ, поÑмоÑÑев лог Ñайл X11. Ðн Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½ в:
-<filename>/var/log/XFree86.0.log</filename>.
-</para>
-</formalpara>
-
-<para>
-ÐÐ¾Ñ Ð·Ð½Ð°ÑениÑ, пÑо коÑоÑÑе извеÑÑно, ÑÑо они ÑабоÑаÑÑ Ñ Ñипом Riva128 пÑи
-иÑполÑзовании X дÑайвеÑа nv.o.
-</para>
-
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA & MPLAYER</title>
-<para>
-DGA иÑполÑзÑеÑÑÑ Ð¿ÑогÑаммой <application>MPlayer</application> двÑÐ¼Ñ ÑпоÑобами:
-можно ÑказаÑÑ SDL иÑполÑзоваÑÑ ÐµÐ³Ð¾ (<option>-vo sdl:driver=dga</option>) и
-Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ DGA дÑайвеÑа (<option>-vo dga</option>). ÐÑе Ñказанное вÑÑе веÑно Ð´Ð»Ñ Ð¾Ð±Ð¾Ð¸Ñ
;
-в ÑледÑÑÑиÑ
ÑазделаÑ
бÑÐ´ÐµÑ ÑаÑÑказано как ÑабоÑÐ°ÐµÑ DGA дÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ
-<application>MPlayer</application>.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>ÐÐÐÐÐÐÐÐСТÐ</title>
-
-<para>
-DGA запÑÑкаеÑÑÑ Ñказанием <option>-vo dga</option> в командной ÑÑÑоке. Ðо-ÑмолÑаниÑ,
-он пÑÑаеÑÑÑ Ð¿ÐµÑеклÑÑиÑÑ Ñежим Ñ Ð±Ð»Ð¸Ð¶Ð°Ð¹Ñим к оÑигиналÑÐ½Ð¾Ð¼Ñ Ð²Ð¸Ð´ÐµÐ¾ ÑазÑеÑением.
-Ðн пÑеднамеÑенно игноÑиÑÑÐµÑ Ð¾Ð¿Ñии <option>-vm</option> и <option>-fs</option>
-(пеÑеклÑÑение видеоÑежимов и полноÑкÑаннÑй Ñежим) - он вÑегда ÑÑаÑаеÑÑÑ
-занÑÑÑ ÐºÐ°Ðº можно болÑÑÑÑ Ð¿Ð»Ð¾ÑÐ°Ð´Ñ ÑкÑана пеÑеклÑÑением видеоÑежима,
-Ð¸Ð·Ð±ÐµÐ³Ð°Ñ Ñаким обÑазом иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ
ÑакÑов CPU длÑ
-маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¾Ð±ÑажениÑ. ÐÑли вÑбÑаннÑй Ñежим вам не нÑавиÑÑÑ, можеÑе
-пÑинÑдиÑелÑно ÑказаÑÑ Ð¸ÑполÑзоваÑÑ ÑазÑеÑение ближайÑее к ÑÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñ Ð²Ð°Ð¼Ð¸ опÑиÑми
-<option>-x</option> и <option>-y</option>. ÐÑи Ñказании опÑии
-<option>-v</option>, DGA дÑÐ°Ð¹Ð²ÐµÑ Ð²ÑведеÑ, кÑоме множеÑÑва дÑÑгиÑ
веÑей, ÑпиÑок
-вÑеÑ
поддеÑживаемÑÑ
Ñежимов, ÑказаннÑÑ
в <filename>XF86Config</filename>.
-ÐÐ¼ÐµÑ DGA2 Ð²Ñ Ñакже можеÑе ÑказаÑÑ Ð¸ÑполÑзование опÑеделенной глÑÐ±Ð¸Ð½Ñ ÑвеÑа
-пÑи помоÑи опÑии <option>-bpp</option>. ÐопÑÑÑимÑми знаÑениÑми ÑвлÑÑÑÑÑ 15, 16, 24 и 32.
-ÐавиÑÐ¸Ñ Ð¾Ñ Ð¾Ð±Ð¾ÑÑдованиÑ, какие знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ Ð°Ð¿Ð¿Ð°ÑаÑно, а Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ
необÑ
одимо
-пÑоизводиÑÑ (возможно медленное) пÑеобÑазование.
-</para>
-</formalpara>
-<para>
-<!--FIXME offscreen memory -->
-ÐÑли вам повезло имеÑÑ Ð´Ð¾ÑÑаÑоÑно Ñвободной памÑÑи[offscreen memory], ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð¼ÐµÑÑиÑÑ
-ÑÑда изобÑажение Ñеликом, DGA дÑÐ°Ð¹Ð²ÐµÑ Ð±ÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ Ð´Ð²Ð¾Ð¹Ð½ÑÑ Ð±ÑÑеÑизаÑиÑ,
-ÑÑо пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº более Ð¿Ð»Ð°Ð²Ð½Ð¾Ð¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑилÑма. Ðн ÑообÑÐ¸Ñ Ð²Ð°Ð¼ вклÑÑена ли
-Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ Ð±ÑÑеÑизаÑÐ¸Ñ Ð¸Ð»Ð¸ неÑ.
-</para>
-
-<para>
-ÐÐ²Ð¾Ð¹Ð½Ð°Ñ Ð±ÑÑеÑизаÑÐ¸Ñ Ð¾Ð·Ð½Ð°ÑаеÑ, ÑÑо каждÑй ÑледÑÑÑий ÐºÐ°Ð´Ñ Ð²Ð°Ñего ÑилÑма ÑиÑÑеÑÑÑ
-в некоÑоÑÑÑ Ð¿Ð°Ð¼ÑÑÑ[offscreen memory], пока оÑобÑажаеÑÑÑ ÑекÑÑий кадÑ.
-Ðогда ÑледÑÑÑий ÐºÐ°Ð´Ñ Ð³Ð¾Ñов, гÑаÑиÑеÑÐºÐ¾Ð¼Ñ ÑÐ¸Ð¿Ñ ÑообÑаеÑÑÑ ÐµÐ³Ð¾ ÑаÑположение
-в памÑÑи, и Ñип пÑоÑÑо вÑбиÑÐ°ÐµÑ Ð¾ÑÑÑда даннÑе Ð´Ð»Ñ Ð¾ÑобÑажениÑ.
-Ð ÑÑо вÑÐµÐ¼Ñ Ð½Ð¾Ð²Ñми видео даннÑми заполнÑеÑÑÑ Ð´ÑÑгой ÑÑаÑÑок бÑÑеÑа.
-</para>
-
-<para>
-ÐÐ²Ð¾Ð¹Ð½Ð°Ñ Ð±ÑÑеÑизаÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвована опÑией
-<option>-double</option> и оÑклÑÑена пÑи помоÑи
-<option>-nodouble</option>. РданнÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ бÑÑÐµÑ Ð¿Ð¾-ÑмолÑÐ°Ð½Ð¸Ñ Ð¾ÑклÑÑен.
-ÐÑи иÑполÑзовании DGA дÑайвеÑа, ÑкÑанное оÑобÑажение (OSD) ÑабоÑÐ°ÐµÑ ÑолÑко
-Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ бÑÑеÑизаÑией. Ðднако, вклÑÑение двойной бÑÑеÑизаÑии Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи
-к ÑÑÑеÑÑÐ²ÐµÐ½Ð½Ð¾Ð¼Ñ ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ ÑкоÑоÑÑи (на моем K6-II+ 525 оно иÑполÑзÑÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе
-20% вÑемени CPU!) в завиÑимоÑÑи Ð¾Ñ ÑеализаÑии DGA Ð´Ð»Ñ Ð²Ð°Ñего обоÑÑдованиÑ.
-</para>
-
-
-<formalpara>
-<title>ÐÐ ÐÐÐÐÐЫ ÐЫСТРÐÐÐÐСТÐÐЯ</title>
-
-<para>
-<!-- FIXME как-Ñо кÑиво звÑÑÐ¸Ñ -->
-ÐÑоÑе говоÑÑ, DGA доÑÑÑп к ÑÑеймбÑÑеÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð½Ð°ÑÑолÑко бÑÑÑÑ, наÑколÑко
-бÑÑÑÑ Ð¸ÑполÑзÑемÑй X11 дÑÐ°Ð¹Ð²ÐµÑ c дополниÑелÑной вÑгодой[benefit] полÑÑениÑ
-полноÑкÑанного изобÑажениÑ. ÐÑоÑенÑнÑе знаÑÐµÐ½Ð¸Ñ ÑкоÑоÑÑи, вÑводимÑе
-<application>MPlayer</application>, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð½ÑеÑпÑеÑиÑоваÑÑÑÑ Ñ Ð½ÐµÐºÐ¾ÑоÑой
-оÑÑоÑожноÑÑÑÑ, напÑимеÑ, Ñ Ð´ÑайвеÑом X11 они не вклÑÑаÑÑ Ð²ÑемÑ, иÑполÑзÑемое
-ÑеÑвеÑом X11 непоÑÑедÑÑвенно Ð´Ð»Ñ Ð¿ÑоÑиÑовки. ÐодклÑÑиÑе ÑеÑминал к
-поÑледоваÑелÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾ÑÑÑ Ð¸ запÑÑÑиÑе <command>top</command>, ÑÑобÑ
-ÑвидеÑÑ, ÑÑо на Ñамом деле пÑоиÑÑ
одиÑ.
-</para>
-</formalpara>
-
-<para>
-ÐÑоÑе говоÑÑ, ÑÑкоÑение, полÑÑенное Ð¾Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ DGA оÑноÑиÑелÑно
-'обÑÑного' иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ X11, ÑилÑно завиÑÐ¸Ñ Ð¾Ñ Ð²Ð¸Ð´ÐµÐ¾ каÑÑÑ Ð¸ Ñого,
-наÑколÑко Ñ
оÑоÑо опÑимизиÑован модÑÐ»Ñ X11 Ð´Ð»Ñ Ð½ÐµÐ³Ð¾.
-</para>
-
-<para>
-ÐÑли Ñ Ð²Ð°Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ ÑиÑÑема, лÑÑÑе иÑполÑзоваÑÑ Ð³Ð»ÑÐ±Ð¸Ð½Ñ 15 или 16 биÑ,
-поÑколÑÐºÑ ÑÑо поÑÑебÑÐµÑ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ Ð¿ÑопÑÑкной ÑпоÑобноÑÑи памÑÑи 32-Ñ
-биÑного диÑплеÑ.
-</para>
-
-<para>
-ÐÑполÑзование глÑÐ±Ð¸Ð½Ñ 24 биÑа - Ñ
оÑоÑÐ°Ñ Ð¸Ð´ÐµÑ, даже еÑли ваÑа каÑÑа
-аппаÑаÑно поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко 32 биÑа, поÑколÑÐºÑ Ð¿ÐµÑедаеÑÑÑ Ð½Ð° 25%
-менÑÑе даннÑÑ
по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ñежимом 32/32.
-</para>
-
-<para>
-ÐÑиÑ
одилоÑÑ Ð²Ð¸Ð´ÐµÑÑ, как некоÑоÑÑе AVI ÑÐ°Ð¹Ð»Ñ Ð²Ð¾ÑпÑоизводилиÑÑ Ð½Ð° Pentium MMX 266.
-AMD K6-2 CPU Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ð½Ð°ÑÐ¸Ð½Ð°Ñ Ñ 400 ÐÐÑ Ð¸ вÑÑе.
-</para>
-
-
-<formalpara>
-<title>ÐÐÐÐСТÐЫРÐШÐÐÐÐ</title>
-
-<para>
-ÐÑ, по Ð¼Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
ÑазÑабоÑÑиков XFree, DGA - ÑÑо немного монÑÑÑ.
-Ðни говоÑÑÑ, ÑÑо лÑÑÑе его не иÑполÑзоваÑÑ. Ðго ÑеализаÑÐ¸Ñ Ð½Ðµ
-безÑпÑеÑна Ð´Ð»Ñ Ð»Ñбого ÑÑÑеÑÑвÑÑÑего дÑайвеÑа XFree.
-изÑÑнов.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- С XFree 4.0.3 и <filename>nv.o</filename> ÑÑÑеÑÑвÑÐµÑ Ð¾Ñибка пÑиводÑÑаÑ
- к ÑÑÑаннÑм ÑвеÑам.
-</para></listitem>
-<listitem><para>
- ATI дÑÐ°Ð¹Ð²ÐµÑ ÑÑебÑÐµÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑного пеÑеклÑÑÐµÐ½Ð¸Ñ Ñежима поÑле
- завеÑÑÐµÐ½Ð¸Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ DGA.
-</para></listitem>
-<listitem><para>
- ÐекоÑоÑÑе дÑайвеÑа пÑоÑÑо не в ÑоÑÑоÑнии пеÑеклÑÑиÑÑÑÑ Ð¾Ð±ÑаÑно в
- ноÑмалÑнÑй Ñежим (иÑполÑзÑйÑе
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- и
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
- Ð´Ð»Ñ Ð½Ð¾ÑмалÑного пеÑеклÑÑениÑ).
-</para></listitem>
-<listitem><para>
- ÐекоÑоÑÑе дÑайвеÑа пÑоÑÑо оÑобÑажаÑÑ ÑÑÑаннÑе ÑвеÑа.
-</para></listitem>
-<listitem><para>
- ÐекоÑоÑÑе дÑайвеÑа невеÑно ÑообÑаÑÑ Ð¾ колиÑеÑÑве памÑÑи, коÑоÑое они оÑобÑазили в
- адÑеÑное пÑоÑÑÑанÑÑво пÑоÑеÑÑа, Ñак ÑÑо vo_dga не бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ
- двойнÑÑ Ð±ÑÑеÑизаÑÐ¸Ñ (SIS?).
-</para></listitem>
-<listitem><para>
- ÐекоÑоÑÑе дÑайвеÑа, поÑ
оже, не могÑÑ ÑообÑиÑÑ Ð´Ð°Ð¶Ðµ об одном веÑном Ñежиме.
- Ð ÑÑом ÑлÑÑае DGA ÑÑÑ
неÑ, ÑообÑÐ°Ñ Ð¾ невеÑоÑÑном Ñежиме
- 100000x100000 или о Ñем-нибÑÐ´Ñ Ð¿Ð¾Ñ
ожем.
-</para></listitem>
-<listitem><para>
- OSD ÑабоÑÐ°ÐµÑ ÑолÑко Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑвованнÑм двойнÑм бÑÑеÑом (инаÑе он моÑгаеÑ).
-</para></listitem>
-</itemizedlist>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="sdl">
-<title>SDL</title>
-
-<para>
-<acronym>SDL</acronym> (Simple Directmedia Layer) - ÑÑо, в оÑновном, ÑниÑиÑиÑованнÑй
-видео/аÑдио инÑеÑÑейÑ. ÐÑогÑаммÑ, его иÑполÑзÑÑÑие, знаÑÑ ÑолÑко пÑо SDL, а не пÑо
-Ñо, какой видео или аÑдио дÑÐ°Ð¹Ð²ÐµÑ ÑеалÑно иÑполÑзÑеÑÑÑ. ÐапÑимеÑ, поÑÑ Ð¸Ð³ÑÑ Doom,
-иÑполÑзÑÑ SDL, Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑÑÑиÑÑÑÑ Ð½Ð° svgalib, aalib, X, fbdev и дÑÑгиÑ
, вам
-пÑидеÑÑÑ ÑолÑко ÑказаÑÑ (Ð´Ð»Ñ Ð¿ÑимеÑа) иÑполÑзÑемÑй видеодÑÐ°Ð¹Ð²ÐµÑ Ð¿Ñи помоÑи
-пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ <envar>SDL_VIDEODRIVER</envar>. ÐÑ, в ÑеоÑии.
-</para>
-
-<para>
-<!-- FIXME is translation correct ?
-With <application>MPlayer</application>, we used its X11 driver's software
-scaler ability for cards/drivers that doesn't support XVideo, until we made
-our own (faster, nicer) software scaler. Also we used its aalib output, but
-now we have ours which is more comfortable. Its DGA mode was better than
-ours, until recently. Get it now? :)
--->
-ÐÐ»Ñ ÐºÐ°ÑÑ/дÑайвеÑов, не поддеÑживаÑÑиÑ
XVideo, Ð¼Ñ Ð¸ÑполÑзовали в
-<application>MPlayer</application> ÑобÑÑвеннÑе возможноÑÑи пÑогÑаммного маÑÑÑабиÑованиÑ
-SDL'вÑкиÑ
X11 дÑайвеÑов, пока не напиÑали Ð½Ð°Ñ ÑобÑÑвеннÑй (более бÑÑÑÑÑй и изÑÑнÑй)
-пÑогÑаммнÑй модÑÐ»Ñ Ð¼Ð°ÑÑÑабиÑованиÑ. Также Ð¼Ñ Ð¸ÑполÑзовали его aalib вÑвод, но
-ÑепеÑÑ Ñ Ð½Ð°Ñ ÐµÑÑÑ Ñвой, более ÑдобнÑй. Ðо некоÑоÑÑÑ
Ð¿Ð¾Ñ ÐµÐ³Ð¾ DGA Ñежим бÑл
-лÑÑÑе наÑего. ХоÑиÑе полÑÑиÑÑ ÐµÐ³Ð¾ пÑÑмо ÑейÑÐ°Ñ ? :)
-</para>
-
-<para>
-Ðн Ñакже Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ñ Ð½ÐµÐºÐ¾ÑоÑÑми ÑбоÑÑими дÑайвеÑами/каÑÑами, еÑли видео
-пÑеÑÑваеÑÑÑ (еÑли ÑÑо не пÑоблема недоÑÑаÑоÑного бÑÑÑÑодейÑÑвиÑ), или заикаеÑÑÑ Ð·Ð²Ñк.
-</para>
-
-<para>
-SDL видео вÑвод поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑÑбÑиÑÑов внизÑ, на ÑеÑной полоÑе (еÑли она еÑÑÑ).
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>УСТÐÐÐÐÐÐ</title>
-<para>
-поÑÑебÑеÑÑÑ ÑÑÑановиÑÑ svgalib и ее Ð¿Ð°ÐºÐµÑ ÑазÑабоÑки, ÑÑобÑ
-<application>MPlayer</application> ÑобÑал Ñвой SVGAlib дÑÐ°Ð¹Ð²ÐµÑ (опÑеделÑеÑÑÑ
-авÑомаÑиÑеÑки, но можко вклÑÑиÑÑ Ð¿ÑинÑдиÑелÑно), и оÑÑедакÑиÑоваÑÑ
-<filename>/etc/vga/libvga.config</filename> в ÑооÑвеÑÑÑвии Ñ Ð²Ð°Ñией каÑÑой и мониÑоÑом.
-</para>
-</formalpara>
-
-<note><para>
-УбедиÑеÑÑ, ÑÑо не иÑполÑзÑеÑе опÑÐ¸Ñ <option>-fs</option>, поÑколÑÐºÑ Ð¾Ð½Ð° вклÑÑаеÑ
-иÑполÑзование пÑогÑаммного маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑабоÑÐ°ÐµÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾. ÐÑли вам дейÑÑвиÑелÑно
-ÑÑо необÑ
одимо, иÑполÑзÑйÑе опÑÐ¸Ñ <option>-sws 4</option>, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð´Ð°Ð²Ð°ÑÑ Ð¿Ð»Ð¾Ñ
ое
-каÑеÑÑво, но неÑколÑко бÑÑÑÑее.
-</para></note>
-
-<formalpara>
-<title>ÐÐÐÐÐÐ ÐÐÐ EGA (4BPP)</title>
-<para>
-SVGAlib вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ EGAlib, и <application>MPlayer</application> имееÑ
-возможноÑÑÑ Ð²ÑводиÑÑ Ð»Ñбой ÑилÑм в 16-Ñи ÑвеÑаÑ
. ÐÑполÑзÑеÑÑÑ Ð² ÑакиÑ
ваÑианÑаÑ
:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- EGA каÑÑа Ñ EGA мониÑоÑом: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
-</para></listitem>
-<listitem><para>
- EGA каÑÑа Ñ CGA мониÑоÑом: 320x200x4bpp, 640x200x4bpp
-</para></listitem>
-</itemizedlist>
-
-<para>
-ÐнаÑение bpp (Ð±Ð¸Ñ Ð½Ð° пикÑел) должно бÑÑÑ Ð²ÑÑÑнÑÑ ÑÑÑановлено в 4:
-<option>-bpp 4</option>
-</para>
-
-<para>
-Ðозможно поÑÑебÑеÑÑÑ Ð¾ÑмаÑÑÑабиÑоваÑÑ ÑилÑм, ÑÑÐ¾Ð±Ñ ÑмеÑÑиÑÑ Ð² ÑазмеÑÑ EGA Ñежима:
-<screen>-vf scale=640:350</screen>
-or
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-ÐÐ»Ñ Ð¼Ð°ÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑебÑеÑÑÑ Ð±ÑÑÑÑÑй алгоÑиÑм Ñ Ð¿Ð»Ð¾Ñ
им каÑеÑÑвом:
-<screen>-sws 4</screen>
-</para>
-
-<para>
-Ðозможно надо оÑклÑÑиÑÑ Ð°Ð²ÑомаÑиÑеÑкÑÑ ÐºÐ¾ÑÑекÑÐ¸Ñ Ð¿ÑопоÑÑий:
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-Ðак показÑÐ²Ð°ÐµÑ Ð¼Ð¾Ð¹ опÑÑ, лÑÑÑее каÑеÑÑво на EGA ÑкÑане полÑÑаеÑÑÑ
-пÑи неболÑÑом ÑменÑÑении ÑÑкоÑÑи:
-<option>-vf eq=-20:0</option>. Ðне Ñакже пÑиÑлоÑÑ ÑменÑÑиÑÑ ÑаÑÑоÑÑ Ð´Ð¸ÑкÑеÑизаÑии [samplerate]
-на моей маÑине, поÑколÑÐºÑ Ð·Ð²Ñк не ÑабоÑал на 44kÐÑ.
-<option>-srate 22050</option>.
-</para></note>
-
-<para>
-ÐЫ можеÑе вклÑÑиÑÑ OSD и ÑÑбÑиÑÑÑ ÑолÑко Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð¼ <option>expand</option>,
-ÑмоÑÑиÑе ÑÑÑаниÑÑ ÑÑководÑÑва man Ð´Ð»Ñ ÑоÑнÑÑ
паÑамеÑÑов.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="fbdev">
-<title>ÐÑвод во ÑÑеймбÑÑÐµÑ (FBdev)</title>
-
-<para>
-Ðадо ли ÑобиÑаÑÑ FBdev авÑомаÑиÑеÑки опÑеделÑеÑÑÑ ÑкÑипÑом
-<filename>./configure</filename>. ÐÑоÑÑиÑе докÑменÑаÑÐ¸Ñ Ð½Ð° ÑÑеймбÑÐ¹ÐµÑ Ð²
-иÑÑ
одникаÑ
ÑдÑа (<filename>Documentation/fb/*</filename>) Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ подÑобной
-инÑоÑмаÑии.
-</para>
-
-<para>
-ÐÑли ваÑа каÑÑа не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑандаÑÑ VBE 2.0 (ÑÑаÑÑе ISA/PCI каÑÑÑ, Ñакие
-как S3 Trio64), а ÑолÑко VBE 1.2 (или еÑе ÑÑаÑее?): нÑ, VESAfb вÑе же бÑÐ´ÐµÑ Ð´Ð¾ÑÑÑпна,
-но вам поÑÑебÑеÑÑÑ Ð·Ð°Ð³ÑÑзиÑÑ SciTech Display Doctor (она же UniVBE) до загÑÑзки Linux.
-ÐÑполÑзÑйÑе загÑÑзоÑнÑй диÑк DOS или ÑÑо либо дÑÑгое. Рне забÑдÑÑе заÑегиÑÑÑиÑоваÑÑ
-Ð²Ð°Ñ UniVBE ;))
-</para>
-
-<para>
-ÐÑÐ°Ð¹Ð²ÐµÑ FBdev вмеÑÑе Ñ Ð¿ÑоÑими пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð½ÐµÑколÑко дополниÑелÑнÑÑ
паÑамеÑÑов:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- ÑказÑÐ²Ð°ÐµÑ ÐºÐ°ÐºÐ¾Ð¹ ÑÑÑÑойÑÑво ÑÑеймбÑÑеÑа иÑполÑзоваÑÑ
- (по-ÑмолÑаниÑ: <filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- название иÑполÑзÑемого Ñежима (в ÑооÑвеÑÑÑвии Ñ <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- конÑигÑÑаÑионнÑй Ñайл Ñ Ñежимами (по-ÑмолÑаниÑ: <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- <emphasis role="bold">важнÑе</emphasis> знаÑÑениÑ, ÑмоÑÑиÑе
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-ÐÑи желании пеÑеклÑÑиÑÑÑÑ Ð² оÑобÑй Ñежим иÑполÑзÑйÑе:
-<screen>
-mplayer -vm -fbmode <replaceable>название_Ñежима</replaceable> <replaceable>имÑ_Ñайла</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vm</option> в одиноÑÐºÑ Ð²ÑбеÑÐµÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ подÑ
одÑÑий Ñежим из
- <filename>/etc/fb.modes</filename>. Также Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑовмеÑÑно Ñ
- <option>-x</option> и <option>-y</option>. ÐпÑиÑ
- <option>-flip</option> поддеÑживаеÑÑÑ, ÑолÑко еÑли ÑоÑÐ¼Ð°Ñ ÑоÑки ÑилÑма ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ
- ÑоÑмаÑом ÑоÑки видеоÑежима. ÐбÑаÑиÑе внимание на знаÑение bpp, fbdev пÑÑаеÑÑÑ
- иÑполÑзоваÑÑ ÑекÑÑий или ÑказаннÑй вами опÑией <option>-bpp</option>.
-</para></listitem>
-<listitem><para>
- ÐпÑÐ¸Ñ <option>-zoom</option> не поддеÑживаеÑÑÑ (иÑполÑзÑйÑе <option>-vf scale</option>).
- ÐÑ Ð½Ðµ можеÑе иÑполÑзоваÑÑ ÑÐµÐ¶Ð¸Ð¼Ñ Ñ 8bpp (или менÑÑе).
-</para></listitem>
-<listitem><para>
- ÐÑ, возможно, заÑ
оÑиÑе оÑклÑÑиÑÑ ÐºÑÑÑоÑ:
- <screen>echo -e '\033[?25l'</screen>
- или
- <screen>setterm -cursor off</screen>
- и Ñ
ÑаниÑÐµÐ»Ñ ÑкÑана:
- <screen>setterm -blank 0</screen>
- ЧÑÐ¾Ð±Ñ Ñнова вклÑÑиÑÑ ÐºÑÑÑоÑ:
- <screen>echo -e '\033[?25h'</screen>
- или
- <screen>setterm -cursor on</screen>
-</para></listitem>
-</itemizedlist>
-
-<note><para>
-Смена Ñежимов FBdev <emphasis>не ÑабоÑаеÑ</emphasis> Ñ VESA ÑÑеймбÑÑеÑом.
-Ðе пÑоÑиÑе об ÑÑом, Ñ.к. ÑÑо не огÑаниÑÐµÐ½Ð¸Ñ <application>MPlayer</application>.
-</para></note>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="mga_vid">
-<title>Matrox ÑÑеймбÑÑÐµÑ (mga_vid)</title>
-
-<para>
-<systemitem>mga_vid</systemitem> - ÑÑо комбинаÑÐ¸Ñ Ð´ÑайвеÑа вÑвода и модÑÐ»Ñ ÑдÑа
-Linux, иÑполÑзÑÑÑÐ°Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ð¸Ð´ÐµÐ¾ маÑÑÑабиÑованиÑ/овеÑлеÑ
-Matrox G200/G400/G450/G550 Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ YUV->RGB пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвеÑового
-пÑоÑÑÑанÑÑва и пÑоизволÑного маÑÑÑабиÑованиÑ.
-<systemitem>mga_vid</systemitem> Ð¸Ð¼ÐµÐµÑ Ð°Ð¿Ð¿Ð°ÑаÑнÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ VSYNC Ñ ÑÑойной
-бÑÑеÑизаÑией. РабоÑÐ°ÐµÑ ÐºÐ°Ðº во ÑÑеймбÑÑеÑ
-конÑоли, Ñак и под X, но ÑолÑко Ñ Linux 2.4.x.
-</para>
-
-<para>
-ÐеÑÑÐ¸Ñ ÑÑого дÑайвеÑÑ Ð´Ð»Ñ Linux 2.6.x иÑиÑе на
-<ulink url="http://attila.kinali.ch/mga/"/>.
-</para>
-
-<procedure>
-<title>УÑÑановка:</title>
-<step><para>
- ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ ÐµÐ³Ð¾, пÑидеÑÑÑ, во-пеÑвÑÑ
, ÑкомпилиÑоваÑÑ <filename>mga_vid.o</filename>:
- <screen>
-cd drivers
-make<!--
---></screen>
-</para></step>
-<step><para>
- ÐаÑем запÑÑÑиÑе (под <systemitem class="username">root</systemitem>)
- <screen>make install</screen>
- ÑÑо должно ÑÑÑановиÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¸ ÑоздаÑÑ Ð´Ð»Ñ ÐÐ°Ñ Ñайл ÑÑÑÑойÑÑва.
- ÐагÑÑзиÑе дÑайвеÑ:
- <screen>insmod mga_vid.o</screen>
-</para></step>
-<step><para>
- Ðам ÑледÑÐµÑ Ð¿ÑовеÑиÑÑ Ð¾Ð¿Ñеделение ÑазмеÑа памÑÑи, иÑполÑзÑÑ
- ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ <command>dmesg</command>. ÐÑли он невеÑен, ÑкажиÑе опÑиÑ
- <option>mga_ram_size</option>
- (но ÑнаÑала <command>rmmod mga_vid</command>),
- Ñказав ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð°Ð¼ÑÑи в Ðб:
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
-</para></step>
-<step><para>
- ÑÑÐ¾Ð±Ñ Ð² ÑлÑÑае необÑ
одимоÑÑи загÑÑжаÑÑ ÐµÐ³Ð¾ авÑомаÑиÑеÑкой, ÑнаÑала добавÑÑе
- ÑледÑÑÑÑÑ ÑÑÑÐ¾ÐºÑ Ð² ÐºÐ¾Ð½ÐµÑ Ñайла <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-</para></step>
-<step><para>
- ТепеÑÑ Ð½Ð°Ð´Ð¾ (пеÑе)ÑкомпилиÑоваÑÑ <application>MPlayer</application>,
- <command>./configure</command> опÑеделиÑ
- <filename>/dev/mga_vid</filename> и ÑобеÑÐµÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ 'mga'.
- ÐÑполÑзование его в <application>MPlayer</application> оÑÑÑеÑÑвлÑеÑÑÑ
- опÑией <option>-vo mga</option>, еÑли иÑполÑзÑеÑе конÑÐ¾Ð»Ñ matroxfb, или
- опÑией <option>-vo xmga</option> из-под XFree86 3.x.x или 4.x.x.
-</para></step>
-</procedure>
-
-<para>
-ÐÑÐ°Ð¹Ð²ÐµÑ mga_vid ÑабоÑÐ°ÐµÑ ÑовмеÑÑно Ñ Xv.
-</para>
-
-<para>
-Ðз Ñайла ÑÑÑÑойÑÑва <filename>/dev/mga_vid</filename> можно полÑÑаÑÑ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ,
-напÑимеÑ, командой
-<screen>cat /dev/mga_vid</screen>
-Рнего можно пиÑаÑÑ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑкоÑÑи:
-<screen>echo "brightness=120" > /dev/mga_vid</screen>
-</para>
-
-<para>
-Ð Ñом же каÑалоге еÑÑÑ ÑеÑÑÐ¾Ð²Ð°Ñ Ð¿ÑогÑамма, назÑваÑÑаÑÑÑ
-<command>mga_vid_test</command>. ÐÑли вÑе ÑабоÑÐ°ÐµÑ Ð½Ð¾ÑмалÑно, она должна
-ÑиÑоваÑÑ Ð½Ð° ÑкÑане изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ 256x256.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>ÐоддеÑжка 3Dfx YUV</title>
-<para>
-ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð¸ÑполÑзÑÐµÑ ÑдеÑнÑй дÑÐ°Ð¹Ð²ÐµÑ ÑÑеймбÑÑеÑа tdfx Ð´Ð»Ñ Ð²Ð¾ÑпÑоизведениÑ
-ÑилÑмой Ñ YUV ÑÑкоÑением. Ðам поÑÑебÑеÑÑÑ ÑдÑо Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой tdfxfb и пеÑекомпилÑÑÐ¸Ñ Ñ
-<screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfx_vid">
-<title>tdfx_vid</title>
-
-<para>
-ÐÑо комбинаÑÐ¸Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Linux ÑдÑа и дÑайвеÑа вÑвода видео, аналогиÑнÑй
-<link linkend="mga_vid">mga_vid</link>.
-Ðам поÑÑебÑеÑÑÑ 2.4.x ÑдÑо Ñ Ð´ÑайвеÑом <systemitem>agpgart</systemitem>,
-поÑколÑÐºÑ <systemitem>tdfx_vid</systemitem> иÑполÑзÑÐµÑ AGP.
-УкажиÑе <command>configure</command> опÑÐ¸Ñ <option>--enable-tdfxfb</option>
-Ð´Ð»Ñ ÑбоÑки дÑайвеÑа вÑвода видео и ÑобеÑиÑе модÑÐ»Ñ ÑдÑа, как Ñказано далее.
-</para>
-
-<procedure>
-<title>УÑÑановка tdfx_vid.o модÑÐ»Ñ ÑдÑа:</title>
-<step><para>
- СкомпилиÑÑйÑе <filename>tdfx_vid.o</filename>
- <screen>
-cd drivers
-make</screen>
-</para></step>
-<step><para>
- ÐапÑÑÑиÑе (Ð¾Ñ <systemitem class="username">root</systemitem>):
- <screen>make install</screen>
- ÑÑо должно ÑÑÑановиÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¸ ÑоздаÑÑ Ð´Ð»Ñ ÐÐ°Ñ Ñайл ÑÑÑÑойÑÑва.
- ÐагÑÑзиÑе дÑайвеÑ:
- <screen>insmod tdfx_vid.o</screen>
-</para></step>
-<step><para>
- ЧÑÐ¾Ð±Ñ ÑделаÑÑ ÐµÐ³Ð¾ загÑÑжаÑÑимÑÑ/вÑгÑÑжаÑÑимÑÑ Ð°Ð²ÑомаÑиÑеÑки, ÑнаÑала вÑÑавÑÑе
- ÑледÑÑÑÑÑ ÑÑÑÐ¾ÐºÑ Ð² ÐºÐ¾Ð½ÐµÑ <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 tdfx_vid</programlisting>
-</para></step>
-</procedure>
-
-<para>
-Ð Ñом же каÑалоге еÑÑÑ ÑеÑÑÐ¾Ð²Ð°Ñ Ð¿ÑогÑамма, назÑваÑÑаÑÑÑ
-<command>tdfx_vid_test</command>. Ðна должна вÑвеÑÑи некоÑоÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ
-инÑоÑмаÑиÑ, еÑли вÑе ÑабоÑÐ°ÐµÑ Ð½Ð¾ÑмалÑно.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="opengl">
-<title>OpenGL вÑвод</title>
-
-<para>
-<application>MPlayer</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ð¾ÑпÑоизведение ÑилÑмов ÑеÑез OpenGL,
-но еÑли ваÑа плаÑÑоÑма/дÑÐ°Ð¹Ð²ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ xv, как в ÑлÑÑае PC Ñ Linux,
-лÑÑÑе иÑполÑзÑйÑе xv, пÑоизводиÑелÑноÑÑÑ OpenGL знаÑиÑелÑно ниже. ÐÑли Ñ Ð²Ð°Ñ
-ÑеализаÑÐ¸Ñ X11 без поддеÑжки xv, OpenGL жизнеÑпоÑÐ¾Ð±Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÐ½Ð°.
-</para>
-
-<para>
-Ð ÑожалениÑ, не вÑе дÑайвеÑа поддеÑживаÑÑ ÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ. ÐÑайвеÑа
-Utah-GLX (Ð´Ð»Ñ XFree86 3.3.6) имеÑÑ ÐµÐµ Ð´Ð»Ñ Ð²ÑеÑ
каÑÑ.
-ÐодÑобноÑÑи ÑÑÑановки ÑмоÑÑиÑе <ulink url="http://utah-glx.sf.net"/>.
-</para>
-
-<para>
-XFree86(DRI) 4.0.3 или новее поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ OpenGL Ñ ÐºÐ°ÑÑами Matrox и Radeon,
-4.2.0 или более поздние поддеÑживаÑÑ Ð¸ Rage128.
-ÐнÑÑÑÑкÑии по закаÑÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑÑÑановке ÑмоÑÑиÑе на <ulink url="http://dri.sf.net"/> .
-</para>
-
-<para>
-ÐодÑказка Ð¾Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из наÑиÑ
полÑзоваÑелей: видео вÑвод GL Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ
-Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑинÑ
ÑонизиÑованного по веÑÑикали TV вÑвода. ÐеобÑ
одимо ÑÑÑановиÑÑ
-пеÑеменнÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ (как минимÑм Ð´Ð»Ñ nVidia):
-</para>
-
-<para>
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="aalib">
-<title>AAlib - оÑобÑажение в ÑекÑÑовом Ñежиме</title>
-
-<para>
-AAlib - ÑÑо библиоÑека Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð³ÑаÑики в ÑекÑÑовом Ñежиме, иÑполÑзÑÑ Ð¼Ð¾ÑнÑй
-ASCII ÑендеÑеÑ[renderer]. СÑÑеÑÑвÑÐµÑ <emphasis>множеÑÑво</emphasis> пÑогÑамм Ñже
-поддеÑживаÑÑиÑ
ее, Ñакие как Doom, Quake, и Ñ.д. <application>MPlayer</application>
-ÑодеÑÐ¶Ð¸Ñ Ð¾ÑÐµÐ½Ñ ÑдобнÑй дÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ Ð½ÐµÐµ. ÐÑли <filename>./configure</filename>
-обнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑÑановленнÑÑ aalib, бÑÐ´ÐµÑ ÑобÑан libvo дÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ aalib.
-</para>
-
-<para>
-Ð AA Window можно иÑполÑзоваÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе клавиÑи Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð°ÑÑÑоек ÑендеÑинга:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>ÐлавиÑа</entry><entry>ÐейÑÑвие</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- ÑменÑÑиÑÑ ÐºÐ¾Ð½ÑÑаÑÑноÑÑÑ
-</entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- ÑвелиÑиÑÑ ÐºÐ¾Ð½ÑÑаÑÑноÑÑÑ
-</entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- ÑменÑÑиÑÑ ÑÑкоÑÑÑ
-</entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- ÑвелиÑиÑÑ ÑÑкоÑÑÑ
-</entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- вклÑÑение/оÑклÑÑение бÑÑÑÑого ÑендеÑинга
-</entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- ÑÑÑановка Ñежима заÑÑмлениÑ[dithering] (оÑÑÑÑÑÑвие, ÑаÑпÑеделение оÑибки[error distribution], Floyd Steinberg)
-</entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- инвеÑÑиÑоваÑÑ Ð¸Ð·Ð¾Ð±Ñажение
-</entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- пеÑеклÑÑение Ð¼ÐµÐ¶Ð´Ñ ÑпÑавлением aa и <application>MPlayer</application>
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>ÐогÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ ÑледÑÑÑие опÑии командной ÑÑÑоки:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- Смена ÑвеÑа OSD
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- Смена ÑвеÑа ÑÑбÑиÑÑов
- </para><para>
- где <replaceable>V</replaceable> Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ:
- <literal>0</literal> (ноÑмалÑнÑй),
- <literal>1</literal> (ÑемнÑй),
- <literal>2</literal> (жиÑнÑй),
- <literal>3</literal> (жиÑнÑй ÑÑиÑÑ),
- <literal>4</literal> (ÑевеÑÑнÑй[reverse]),
- <literal>5</literal> (ÑпеÑиалÑнÑй).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>AAlib Ñама пÑедоÑÑавлÑÐµÑ Ð±Ð¾Ð»ÑÑое колиÑеÑÑво опÑий. ÐÐ¾Ñ Ð½ÐµÐºÐ¾ÑоÑÑе из важнÑÑ
::</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- УÑÑановиÑÑ ÑекомендÑемÑй aa дÑÐ°Ð¹Ð²ÐµÑ (X11, curses, Linux).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- ÐÑполÑзоваÑÑ Ð²Ñе 256 Ñимволов.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- ÐÑполÑзоваÑÑ Ð²Ð¾ÑÑмибиÑнÑÑ ASCII.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð²Ñе опÑии aalib.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note><para>
-РандеÑинг оÑÐµÐ½Ñ ÑилÑно загÑÑÐ¶Ð°ÐµÑ CPU, оÑобенно пÑи иÑполÑзовании AA-on-X
-(иÑполÑзование aalib под X), и менÑÑе пÑи иÑполÑзовании ÑÑандаÑÑной не-ÑÑеймбÑÑеÑ
-конÑоли. ÐÑполÑзÑйÑе SVGATextMode, ÑÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ Ð±Ð¾Ð»ÑÑой ÑекÑÑовÑй Ñежим и
-наÑлаждайÑеÑÑ! (вÑоÑой вÑÑ
од каÑÑ Hercules ÑÑлиÑ[secondary head Hercules cards
-rock] :) ), но, IMHO, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ <option>-vf 1bpp</option>, ÑÑобÑ
-полÑÑиÑÑ Ð³ÑаÑÐ¸ÐºÑ Ð½Ð° hgafb :)
-</para></note>
-
-<para>
-ÐÑполÑзÑйÑе опÑÐ¸Ñ <option>-framedrop</option>, еÑли Ð²Ð°Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑÐµÑ Ð½ÐµÐ´Ð¾ÑÑаÑоÑно бÑÑÑÑ
-Ð´Ð»Ñ Ð¾ÑÑиÑовки вÑеÑ
кадÑов!
-</para>
-
-<para>
-ÐÑи воÑпÑоизведении на ÑеÑминале, Ð²Ñ Ð¿Ð¾Ð»ÑÑиÑе лÑÑÑÑÑ ÑкоÑоÑÑÑ Ð¸ каÑеÑÑво пÑи
-иÑполÑзовании дÑайвеÑа Linux, а не curses(<option>-aadriver linux</option>).
-Ðо пÑи ÑÑом Ð²Ñ Ð´Ð¾Ð»Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð¿Ñаво запиÑи в
-<filename>/dev/vcsa<replaceable><ÑеÑминал></replaceable></filename>!
-ÐÑо не опÑеделÑеÑÑÑ aalib авÑомаÑиÑеÑки, но vo_aa вмеÑÑо нее пÑÑаеÑÑÑ Ð¾Ð¿ÑеделиÑÑ
-лÑÑÑий Ñежим. СмоÑÑиÑе <ulink url="http://aa-project.sf.net/tune"/> длÑ
-далÑнейÑиÑ
Ð·Ð°Ð´Ð°Ñ ÑÑнинга.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="caca">
-<title>
-<systemitem class="library">libcaca</systemitem> - ЦвеÑÐ½Ð°Ñ ASCII Art библиоÑека
-</title>
-
-<para>
-ÐиблиоÑека <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink> -
-ÑÑо гÑаÑиÑеÑÐºÐ°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека, вÑводÑÑÐ°Ñ ÑекÑÑ Ð²Ð¼ÐµÑÑо пикÑелов, Ñак ÑÑо она можеÑ
-ÑабоÑаÑÑ Ð½Ð° ÑÑаÑÑÑ
видео каÑÑаÑ
или ÑекÑÑовÑÑ
ÑеÑминалаÑ
. Ðна не ÑакаÑ, как
-знамениÑÐ°Ñ <systemitem class="library">AAlib</systemitem>.
-<systemitem class="library">libcaca</systemitem> ÑÑебÑÐµÑ ÑеÑминал Ð´Ð»Ñ Ñвоей ÑабоÑÑ,
-Ñак ÑÑо она бÑÐ´ÐµÑ ÑабоÑаÑÑ Ð½Ð° вÑеÑ
unix ÑиÑÑемаÑ
(вклÑÑÐ°Ñ Max OS X), иÑполÑзÑÑ
-библиоÑÐµÐºÑ <systemitem class="library">slang</systemitem> или
-<systemitem class="library">ncurses</systemitem>, под DOS иÑполÑзÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑекÑ
-<systemitem class="library">conio.h</systemitem>, и под windows, иÑполÑзÑÑ Ð»Ð¸Ð±Ð¾
-<systemitem class="library">slang</systemitem>, либо
-<systemitem class="library">ncurses</systemitem> (ÑеÑез Cygwin ÑмÑлÑÑиÑ), либо
-<systemitem class="library">conio.h</systemitem>. ÐÑли ÑкÑипÑ
-<filename>./configure</filename>
-опÑеделÑÐµÑ <systemitem class="library">libcaca</systemitem>, Ñо caca libvo дÑайвеÑ
-бÑÐ´ÐµÑ ÑобÑан.
-</para>
-
-<itemizedlist>
-<title>ÐÑлиÑÐ¸Ñ Ð¾Ñ <systemitem class="library">AAlib</systemitem> ÑледÑÑÑие:</title>
-<listitem><para>
- 16 доÑÑÑпнÑÑ
ÑвеÑов Ð´Ð»Ñ Ð²Ñвода Ñимволов (256 ÑвеÑовÑÑ
паÑ)
-</para></listitem>
-<listitem><para>
- заÑÑмление[dithering] ÑвеÑного изобÑажениÑ
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Ðо <systemitem class="library">libcaca</systemitem> Ñакже Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑие
-огÑаниÑениÑ:</title>
-<listitem><para>
- Ð½ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑжки ÑÑкоÑÑи, конÑÑаÑÑноÑÑи, гаммÑ
-</para></listitem>
-</itemizedlist>
-
-<para>
-ÐЫ можеÑе иÑполÑзоваÑÑ ÑледÑÑÑие клавиÑи в окне caca Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñий
-ÑендеÑинга:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>ÐлавиÑа</entry><entry>ÐейÑÑвие</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- ÐеÑклÑÑение меÑодов заÑÑмлениÑ[dithering] <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- ÐеÑекллÑÑение ÑглаживаниÑ[antialiasing] <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- ÐеÑеклÑÑение Ñона <systemitem class="library">libcaca</systemitem>.
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> Ñакже анализиÑÑÐµÑ ÑледÑÑÑие
-пеÑеменнÑе окÑÑжениÑ:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- УÑÑановиÑÑ ÑекомендÑемÑй caca дÑайвеÑ, напÑÐ¸Ð¼ÐµÑ ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (ÑолÑко X11)</option></term>
- <listitem><para>
- УказÑÐ²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑÑÑок и ÑÑолбÑов, напÑимеÑ, 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (ÑолÑко X11)</option></term>
- <listitem><para>
- УказÑÐ²Ð°ÐµÑ Ð¸ÑполÑзÑемÑй ÑÑиÑÑ, напÑимеÑ, fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-ÐÑполÑзÑйÑе опÑÐ¸Ñ <option>-framedrop</option>, еÑли Ð²Ð°Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑÐµÑ Ð½ÐµÐ´Ð¾ÑÑаÑоÑно бÑÑÑÑ Ð´Ð»Ñ
-ÑендеÑинга вÑеÑ
кадÑов.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vesa">
-<title>VESA - вÑвод в VESA BIOS</title>
-
-<para>
-ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð±Ñл ÑазÑабоÑаÑн и пÑедÑÑавлен как <emphasis role="bold">ÑнивеÑÑалÑнÑй
-дÑайвеÑ</emphasis> Ð´Ð»Ñ Ð»ÑбÑÑ
каÑÑ Ñ VESA VBE 2.0 ÑовмеÑÑимÑм BIOS.
-ÐÑÑгое пÑеимÑÑеÑÑво ÑÑого дÑайвеÑа заклÑÑаеÑÑÑ Ð² Ñом ,ÑÑо он пÑÑаеÑÑÑ Ð¿ÑинÑдиÑелÑно
-вклÑÑиÑÑ TV вÑвод.
-<citetitle>VESA BIOS EXTENSION (VBE) ÐеÑÑÐ¸Ñ 3.0 ÐаÑа: 16 ÑенÑÑбÑÑ, 1998</citetitle>
-(СÑÑаниÑа 70) глаÑиÑ:
-</para>
-
-<blockquote>
-<formalpara><title>Dual-Controller Designs</title>
-<para>
-VBE 3.0 поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð´Ð¸Ð·Ð°Ð¹Ð½ Ñ Ð´Ð²ÑÐ¼Ñ ÐºÐ¾Ð½ÑÑоллеÑами, пÑедполагаÑ, ÑÑо поÑколÑкÑ
-оба конÑÑоллеÑа обÑÑно имеÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ пÑоизводиÑелÑ, и ÑпÑавлÑÑÑÑÑ ÐµÐ´Ð¸Ð½ÑÑвенной
-BIOS ROM на Ñой же каÑÑе, Ñо возможно ÑкÑÑÑÑ Ð¾Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÐ°ÐºÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ñ Ð½Ð° Ñамом
-деле двÑÑ
конÑÑоллеÑов. ÐÑо огÑаниÑÐ¸Ð²Ð°ÐµÑ Ð¸Ñ
незавиÑимое одновÑеменное иÑполÑзование,
-но позволÑÐµÑ Ð¿ÑиложениÑм, вÑпÑÑеннÑм до VBE 3.0
-ноÑмалÑно ÑабоÑаÑÑ. VBE ÑÑнкÑÐ¸Ñ 00h (ÐеÑнÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ конÑÑоллеÑе) возвÑаÑаеÑ
-комбиниÑованнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð´Ð²ÑÑ
конÑÑоллеÑов, вклÑÑÐ°Ñ Ð¾Ð±ÑединеннÑй ÑпиÑок
-доÑÑÑпнÑÑ
Ñежимов. Ðогда пÑиложение вÑбиÑÐ°ÐµÑ Ñежим, акÑивиÑÑеÑÑÑ ÑооÑвеÑÑÑвÑÑÑий
-конÑÑоллеÑ. ÐÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· оÑÑалÑнÑÑ
VBE ÑÑнкÑий заÑем ÑабоÑÐ°ÐµÑ Ñ Ð°ÐºÑивнÑм
-конÑÑоллеÑом.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-Так ÑÑо Ñ Ð²Ð°Ñ ÐµÑÑ ÑÐ°Ð½Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑабоÑаÑÑий TV вÑÑ
од, иÑполÑзÑÑ ÑÑÐ¾Ñ Ð´ÑайвеÑ.
-(ÐÑедполагаеÑÑÑ, ÑÑо TV-вÑÑ
од - оÑделÑнÑй конÑÑоллеÑ[standalone head] или
-оÑделÑнÑй вÑÑ
од как минимÑм.)
-</para>
-
-<itemizedlist spacing="compact">
-<title>ÐÐ ÐÐÐУЩÐСТÐÐ</title>
-<listitem><para>
- У Ð²Ð°Ñ ÐµÑÑÑ ÑÐ°Ð½Ñ ÑмоÑÑеÑÑ ÑилÑмÑ, <emphasis role="bold">даже еÑли Linux
- не знаеÑ</emphasis> ваÑе видео обоÑÑдование.
-</para></listitem>
-<listitem><para>
- Ðам не ÑÑебÑеÑÑÑ ÑÑÑанавливаÑÑ Ð² Linux ниÑего, оÑноÑÑÑегоÑÑ Ðº гÑаÑике
- (вÑоде X11 (он же XFree86), fbdev и Ñ.п.). ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑÑкаÑÑÑÑ
- из <emphasis role="bold">ÑекÑÑового Ñежима</emphasis>.
-</para></listitem>
-<listitem><para>
- У Ð²Ð°Ñ ÐµÑÑÑ ÑÐ°Ð½Ñ Ð¿Ð¾Ð»ÑÑиÑÑ <emphasis role="bold">ÑабоÑаÑÑий TV-вÑÑ
од</emphasis>.
- (ÐÑо извеÑÑно как минимÑм Ð´Ð»Ñ ATI каÑÑ).
-</para></listitem>
-<listitem><para>
- ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð²ÑзÑÐ²Ð°ÐµÑ Ð¾Ð±ÑабоÑÑик <function>int 10h</function>, Ñак ÑÑо ÑÑо
- не ÑмÑлÑÑÐ¸Ñ - он вÑзÑÐ²Ð°ÐµÑ <emphasis role="bold">ÑеалÑнÑе</emphasis>
- веÑи <emphasis>ÑеалÑного</emphasis> BIOS в <emphasis>ÑеалÑном Ñежиме</emphasis>
- (на Ñамом деле vm86 Ñежим).
-</para></listitem>
-<listitem><para>
- С ним Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ VIDIX, полÑÑÐ°Ñ ÑÑкоÑенное оÑобÑажение видео,
- <emphasis role="bold">и</emphasis> TV вÑвод одновÑеменно!
- (РекомендÑеÑÑÑ Ð´Ð»Ñ ATI каÑÑ.)
-</para></listitem>
-<listitem><para>
- ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ VESA VBE 3.0+, и Ð²Ñ Ð³Ð´Ðµ-Ñо Ñказали
- <option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option>
- (в Ñайле конÑигÑÑаÑии или в командной ÑÑÑоке), Ñо полÑÑиÑе наиболÑÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÑ
- ÑаÑÑоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ. (ÐÑполÑзÑÑ General Timing Formula). ЧÑÐ¾Ð±Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ
- ÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ <emphasis role="bold">вÑе</emphasis> опÑии
- ваÑего мониÑоÑа.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>ÐÐÐÐСТÐТÐÐ</title>
-<listitem><para>
- ÐÑо ÑабоÑÐ°ÐµÑ ÑолÑко на <emphasis role="bold">x86 ÑиÑÑемаÑ
</emphasis>.
-</para></listitem>
-<listitem><para>
- ÐÐ¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑолÑко полÑзоваÑелем <systemitem class="username">root</systemitem>.
-</para></listitem>
-<listitem><para>
- РданнÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð´Ð¾ÑÑÑпно ÑолÑко Ð´Ð»Ñ <emphasis role="bold">Linux</emphasis>.
-</para></listitem>
-</itemizedlist>
-
-<important><para>
-Ðе иÑполÑзÑйÑе ÑÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ñ <emphasis role="bold">GCC 2.96</emphasis>!
-Ðн не бÑÐ´ÐµÑ ÑабоÑаÑÑ!
-</para></important>
-
-<variablelist>
-<title>ÐÐЦÐÐ ÐÐÐÐÐÐÐÐРСТРÐÐÐ, ÐÐСТУÐÐЫРÐÐЯ VESA</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>опÑии</replaceable></option></term>
- <listitem><para>
- даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑаÑпознаÑÑÑÑ: <literal>dga</literal> Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ñежима dga
- и <literal>nodga</literal> Ð´Ð»Ñ ÐµÐ³Ð¾ оÑклÑÑениÑ. Ð dga Ñежиме Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вклÑÑиÑÑ
- двойнÑÑ Ð±ÑÑеÑизаÑÐ¸Ñ Ð¾Ð¿Ñией <option>-double</option>. ÐамеÑание: Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе
- опÑÑÑиÑÑ ÑÑи паÑамеÑÑÑ Ð´Ð»Ñ <emphasis role="bold">авÑоопÑеделениÑ</emphasis>
- Ñежима dga.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>ÐÐÐÐСТÐЫРÐÐ ÐÐÐÐÐЫ РСÐÐСÐÐЫ ÐÐ¥ Ð ÐШÐÐÐЯ</title>
-<listitem><para>
- ÐÑли Ð²Ñ ÑÑÑановили <emphasis role="bold">NLS</emphasis> ÑÑиÑÑ Ð½Ð° ваÑем
- Linux и запÑÑкаеÑе VESA дÑÐ°Ð¹Ð²ÐµÑ Ð¸Ð· ÑекÑÑового Ñежима, Ñо поÑле завеÑÑениÑ
- <application>MPlayer</application> Ñ Ð²Ð°Ñ Ð¾ÐºÐ°Ð¶ÐµÑÑÑ Ð·Ð°Ð³ÑÑженнÑм
- <emphasis role="bold">ROM ÑÑиÑÑ</emphasis> вмеÑÑо наÑионалÑного.
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе загÑÑзиÑÑ Ð½Ð°ÑионалÑнÑй ÑÑиÑÑ Ñнова, воÑполÑзовавÑиÑÑ ÑÑилиÑой
- <command>setsysfont</command> из диÑÑÑибÑÑива Mandrake/Mandriva, напÑимеÑ.
- (<emphasis role="bold">ÐодÑказка</emphasis>: Та же ÑÑилиÑа иÑполÑзÑеÑÑÑ Ð´Ð»Ñ
- локализаÑии fbdev).
-</para></listitem>
-<listitem><para>
- ÐекоÑоÑÑе <emphasis role="bold">гÑаÑиÑеÑкие дÑайвеÑÑ Linux</emphasis> не обновлÑÑÑ
- акÑивнÑй <emphasis role="bold">BIOS Ñежим</emphasis> в DOS памÑÑи.
- Таким обÑазом, еÑли Ñ Ð²Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð°Ñ Ð¿Ñоблема - вÑегда иÑполÑзÑеÑе VESA дÑайвеÑ
- ÑолÑко из <emphasis role="bold">ÑекÑÑового Ñежима</emphasis>. ÐнаÑе в лÑбом ÑлÑÑае бÑдеÑ
- акÑивиÑован ÑекÑÑовÑй Ñежим (#03) и вам пÑидеÑÑÑ Ð¿ÐµÑезагÑÑжаÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑ..
-</para></listitem>
-<listitem><para>
- ЧаÑÑо поÑле завеÑÑÐµÐ½Ð¸Ñ ÑабоÑÑ VESA дÑайвеÑа Ð²Ñ Ð¿Ð¾Ð»ÑÑаеÑе
- <emphasis role="bold">ÑеÑнÑй</emphasis> ÑкÑан. ЧÑÐ¾Ð±Ñ Ð²ÐµÑнÑÑÑÑÑ Ð² обÑÑнÑй Ñежим
- пÑоÑÑо пеÑеклÑÑиÑеÑÑ Ð½Ð° дÑÑгÑÑ ÐºÐ¾Ð½ÑÐ¾Ð»Ñ (нажав
- <keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>)
- заÑем пеÑеклÑÑиÑеÑÑ Ð¾Ð±ÑаÑно Ñем же ÑпоÑобом.
-</para></listitem>
-<listitem><para>
- ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ <emphasis role="bold">ÑабоÑаÑÑего TV вÑÑ
ода</emphasis> необÑ
одимо,
- ÑÑÐ¾Ð±Ñ TV ÑазÑем бÑл подклÑÑен до вклÑÑÐµÐ½Ð¸Ñ Ð²Ð°Ñего PC, Ñ.к. видео BIOS
- иниÑиализиÑÑÐµÑ ÑÐµÐ±Ñ ÑолÑко один Ñаз во вÑÐµÐ¼Ñ POST пÑоÑедÑÑÑ.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="x11">
-<title>X11</title>
-
-<para>
-ÐзбегайÑе, еÑли возможно. ÐÑвод в X11 (иÑполÑзÑÑ ÑаÑÑиÑение ÑазделÑемой памÑÑи) -
-без какого-либо ÑÑкоÑениÑ.ÐоддеÑживаеÑÑÑ (MMX/3DNow/SSE ÑÑкоÑенное, но вÑе Ñавно
-медленное) пÑогÑаммное маÑÑÑабиÑование, иÑполÑзÑйÑе опÑии <option>-fs -zoom</option>.
-ÐолÑÑинÑÑво каÑÑ Ð¸Ð¼ÐµÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð¼Ð°ÑÑÑабиÑованиÑ, Ð´Ð»Ñ ÑÑого иÑполÑзÑйÑе вÑвод
-<option>-vo xv</option>, или <option>-vo xmga</option> Ð´Ð»Ñ ÐºÐ°ÑÑ Matrox.
-</para>
-
-<para>
-ÐÑоблема в Ñом, ÑÑо болÑÑинÑÑво дÑайвеÑов каÑÑ Ð½Ðµ поддеÑживаÑÑ Ð°Ð¿Ð¿Ð°ÑаÑное
-ÑÑкоÑение на вÑоÑом мониÑоÑе/TV. Ð ÑÑом ÑлÑÑае Ð²Ñ ÑвидиÑе окно зеленого/Ñинего
-ÑвеÑа вмеÑÑо изобÑажениÑ, и ÑÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм,
-но ÑÑебÑеÑÑÑ Ð¼Ð¾ÑнÑй CPU Ð´Ð»Ñ Ð¿ÑогÑаммного маÑÑÑабиÑованиÑ. Ðе иÑполÑзÑйÑе
-пÑогÑаммнÑй вÑвод+маÑÑÑабиÑование SDL дÑайвеÑа, он Ð¸Ð¼ÐµÐµÑ Ñ
ÑдÑее каÑеÑÑво
-каÑÑинки!
-</para>
-
-<para>
-ÐÑогÑаммное маÑÑÑабиÑование оÑÐµÐ½Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾Ðµ, лÑÑÑе попÑобÑйÑе вмеÑÑо ÑÑого
-измениÑÑ Ð²Ð¸Ð´ÐµÐ¾ Ñежим. ÐÑо оÑÐµÐ½Ñ Ð¿ÑоÑÑо. СмоÑÑиÑе <link linkend="dga-modelines">Ñаздел DGA
-ÑежимÑ</link> и вÑÑавÑÑе ÑооÑвеÑÑÑвÑÑÑие ÑÑÑоки в Ð²Ð°Ñ <filename>XF86Config</filename>.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- ÐÑли Ñ Ð²Ð°Ñ XFree86 4.x.x: иÑполÑзÑйÑе <option>-vm</option> опÑиÑ. Ðна
- пеÑеклÑÑиÑÑÑ Ð² Ñежим Ñ Ð¿Ð¾Ð´Ñ
одÑÑим ÑазÑеÑением. ÐÑли неÑ:
-</para></listitem>
-<listitem><para>
- C XFree86 3.x.x: ÑиклиÑеÑки пеÑеклÑÑайÑеÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑазнÑми ÑазÑеÑениÑми Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
- клавиÑ
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Ðоп. клавиÑа
- плÑÑ</keycap></keycombo>
- и
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Ðоп. клавиÑа
- минÑÑ</keycap></keycombo>.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-ÐÑли не наÑ
одиÑе вÑÑавленнÑе видео ÑежимамÑ, пÑоÑмоÑÑиÑе вÑвод Xfree86.
-ÐекоÑоÑÑе дÑайвеÑÑ Ð½Ðµ могÑÑ Ð¸ÑполÑзоваÑÑ Ð½Ð¸Ð·ÐºÐ¸Ðµ ÑаÑÑоÑÑ Ð¿Ð¸ÐºÑелизаÑии (колиÑеÑÑво
-оÑÑиÑовÑваемÑÑ
пикÑелей в ÑекÑндÑ), необÑ
одимÑе Ð´Ð»Ñ Ð²Ð¸Ð´ÐµÐ¾ Ñежимов Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¼ ÑазÑеÑением.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vidix">
-<title>VIDIX</title>
-
-<formalpara><title>ÐÐ ÐÐÐÐУÐÐ</title><para>
-<acronym>VIDIX</acronym> - ÑÑо аббÑевиаÑÑÑа длÑ
-<emphasis role="bold">VID</emphasis>eo
-<emphasis role="bold">I</emphasis>nterface
-for *ni<emphasis role="bold">X</emphasis>
-(Ðидео инÑеÑÑÐµÐ¹Ñ Ð´Ð»Ñ Unix).
-VIDIX ÑазÑабоÑан и введен как инÑеÑÑÐµÐ¹Ñ Ð´Ð»Ñ Ð±ÑÑÑÑÑÑ
дÑайвеÑов пÑоÑÑÑанÑÑва
-полÑзоваÑелÑ[user-space], обеÑпеÑиваÑÑиÑ
ÑакÑÑ Ð¶Ðµ пÑоизводиÑелÑноÑÑÑ, как mga_vid
-Ð´Ð»Ñ ÐºÐ°ÑÑ Matrox. Ðни к ÑÐ¾Ð¼Ñ Ð¶Ðµ Ñ
оÑоÑо пеÑеноÑимÑ.
-</para>
-</formalpara>
-<para>
-ÐÑÐ¾Ñ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð±Ñл ÑазÑабоÑан, ÑÑÐ¾Ð±Ñ ÑмеÑÑиÑÑ ÑÑÑеÑÑвÑÑÑие инÑеÑÑейÑÑ ÑÑкоÑÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾
-(извеÑÑнÑе как mga_vid, rage128_vid, radeon_vid, pm3_vid) в единÑÑ ÑÑ
емÑ.
-Ðн пÑедоÑÑавлÑÐµÑ Ð²ÑÑокоÑÑовневÑй инÑеÑÑÐµÐ¹Ñ Ðº Ñипам, извеÑÑнÑм как
-BES (BackEnd scalers) или OV (Video Overlays). Ðн не пÑедоÑÑавлÑÐµÑ Ð½Ð¸Ð·ÐºÐ¾ÑÑовневого инÑеÑÑейÑа
-к веÑам, извеÑÑнÑм как гÑаÑиÑеÑкие ÑеÑвеÑÑ (Я не Ñ
оÑÑ ÑоÑевноваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ X11
-в пеÑеклÑÑении Ñежимов.) Т.е. оÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑÐµÐ»Ñ Ð¸Ð½ÑеÑÑейÑа - ÑÑкоÑиÑÑ Ð´Ð¾ макÑимÑма
-ÑкоÑоÑÑÑ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾.
-</para>
-
-<itemizedlist spacing="compact">
-<title>ÐСÐÐÐЬÐÐÐÐÐÐÐ</title>
-<listitem><para>
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¾ÑделÑнÑй видеодÑайвеÑ: <option>-vo xvidix</option>.
- ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð±Ñл ÑазÑабоÑан как X11 ÑÑонÑенд к VIDIX ÑеÑ
нологии. Ðн
- ÑÑебÑÐµÑ X ÑеÑÐ²ÐµÑ Ð¸ Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ ÑолÑко под ним. ÐмейÑе ввидÑ, ÑÑо
- поÑколÑÐºÑ ÑÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð½Ð°Ð¿ÑÑмÑÑ Ð¾Ð±ÑаÑаеÑÑÑ Ðº обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² обÑ
од дÑайвеÑа X,
- Ñо могÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð²ÑÐµÐ¶Ð´ÐµÐ½Ñ ÑаÑÑÑовÑе изобÑажениÑ, кеÑиÑованнÑе в памÑÑи
- видеокаÑÑÑ.
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑедоÑвÑаÑиÑÑ ÑÑо, огÑаниÑив ÑÐ°Ð·Ð¼ÐµÑ Ð²Ð¸Ð´ÐµÐ¾Ð¿Ð°Ð¼ÑÑи, иÑполÑзÑемой X,
- XF86Config опÑией "VideoRam" в Ñазделе ÑÑÑÑойÑÑв. Ðам ÑледÑÐµÑ ÑÑÑановиÑÑ ÑÑоÑ
- паÑамеÑÑ Ð² колиÑеÑÑво ÑÑÑановленной видеопамÑÑи минÑÑ 4Ðб. ÐÑли Ñ Ð²Ð°Ñ Ð¼ÐµÐ½ÑÑе
- 8Ðб видеопамÑÑи, вмеÑÑо ÑÑого можно иÑполÑзоваÑÑ Ð¾Ð¿ÑÐ¸Ñ "XaaNoPixmapCache" в
- Ñазделе ÑкÑанов.
-</para></listitem>
-<listitem>
- <para>
- СÑÑеÑÑвÑÐµÑ ÐºÐ¾Ð½ÑолÑнÑй VIDIX дÑайвеÑ: <option>-vo cvidix</option>.
- ÐÐ»Ñ Ð±Ð¾Ð»ÑÑинÑÑва каÑÑ ÑÑебÑеÑÑÑ ÑабоÑаÑÑий и иниÑиализиÑованнÑй ÑÑеймбÑÑеÑ
- (в пÑоÑивном ÑлÑÑае пÑоÑÑо иÑпоÑÑиÑе изобÑажение на ÑкÑане),
- и Ð²Ñ Ð±ÑдеÑе имеÑÑ ÑÐ¾Ñ Ð¶Ðµ ÑÑÑекÑ, ÑÑо и Ñ <option>-vo mga</option> или
- <option>-vo fbdev</option>. ÐаÑÑÑ nVidia, Ñем не менее, ÑпоÑÐ¾Ð±Ð½Ñ Ð²ÑводиÑÑ
- полноÑÑÑÑ Ð³ÑаÑиÑеÑкое видео в наÑÑоÑÑей ÑекÑÑовой конÑоли. СмоÑÑиÑе Ñаздел
- <link linkend="vidix-nvidia">nvidia_vid</link> Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ подÑобной инÑоÑмаÑии.
- ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±Ð°Ð²Ð¸ÑÑÑÑ Ð¾Ñ ÑакÑÑа на полÑÑ
и меÑÑаÑÑего кÑÑÑоÑа попÑобÑйÑе неÑÑо подобное
- </para>
-
- <screen>setterm -cursor off > /dev/tty9</screen>
-
- <para>
- (пÑедполагаÑ, ÑÑо <systemitem>tty9</systemitem> Ñанее не иÑполÑзовалÑÑ) и заÑем пеÑеклÑÑиÑеÑÑ
- на <systemitem>tty9</systemitem>.
- С дÑÑгой ÑÑоÑонÑ, <option>-colorkey 0</option> должна даÑÑ Ð²Ð°Ð¼ видео, ÑабоÑаÑÑее "на Ñоне",
- однако пÑавилÑноÑÑÑ ÑабоÑÑ ÑÑого завиÑÐ¸Ñ Ð¾Ñ ÑÑнкÑиналÑноÑÑи colorkey.
- </para>
-</listitem>
-<listitem><para>
- ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¿Ð¾Ð´ÑÑÑÑойÑÑво VIDIX, пÑимененное к ÑазлиÑнÑм
- дÑайвеÑам видео вÑвода, напÑимеÑ: <option>-vo vesa:vidix</option>
- (<emphasis role="bold">ÑолÑко Linux</emphasis>) и
- <option>-vo fbdev:vidix</option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-ÐÑо дейÑÑвиÑелÑно неважно, какой дÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода видео иÑполÑзÑеÑÑÑ Ñ
-<emphasis role="bold">VIDIX</emphasis>.
-</para>
-
-<itemizedlist spacing="compact">
-<title>ТРÐÐÐÐÐÐÐЯ</title>
-<listitem><para>
- ÐидеокаÑÑа должна наÑ
одиÑÑÑÑ Ð² гÑаÑиÑеÑком Ñежиме (кÑоме каÑÑ nVidia Ñ
- дÑайвеÑом <option>-vo cvidix</option>).
-</para></listitem>
-<listitem><para>
- ÐÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода видео <application>MPlayer</application> должен знаÑÑ
- ÑекÑÑий видеоÑежим и бÑÑÑ ÑпоÑобнÑм ÑообÑиÑÑ VIDIX некоÑоÑÑе видео Ñ
аÑакÑеÑиÑÑики ÑеÑвеÑа.
-</para></listitem>
-</itemizedlist>
-
-<formalpara><title>СÐÐСÐÐЫ ÐСÐÐÐЬÐÐÐÐÐÐЯ</title><para>
-Ðогда VIDIX иÑполÑзÑеÑÑÑ Ð² каÑеÑÑве <emphasis role="bold">подÑÑÑÑойÑÑва</emphasis> (<option>-vo
-vesa:vidix</option>), наÑÑÑойка видеоÑежима пÑоизводиÑÑÑ Ð´ÑайвеÑом вÑвода видео
-(коÑоÑе говоÑÑ <emphasis role="bold">vo_server</emphasis>). СледоваÑелÑно, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе
-пеÑедаÑÑ Ð² команднÑÑ ÑÑÑÐ¾ÐºÑ <application>MPlayer</application> Ñе же клÑÑи, ÑÑо и длÑ
-vo_server. ÐополниÑелÑно он Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ ÐºÐ»ÑÑ <option>-double</option>
-как глобалÑно видимÑй паÑамеÑÑ. (Я ÑекомендÑÑ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ ÐºÐ»ÑÑ Ñ VIDIX как минимÑм
-Ð´Ð»Ñ ÐºÐ°ÑÑ ATI). <option>-vo xvidix</option> дополниÑелÑно Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÐµÑ ÑледÑÑÑие опÑии:
-<option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-
-<para>
-ÐÑ Ð¼Ð¾Ð¶ÐµÑе напÑÑмÑÑ ÑказаÑÑ VIDIX дÑÐ°Ð¹Ð²ÐµÑ ÑÑеÑÑим паÑамеÑÑом к командной ÑÑÑоке:
-<screen>
-mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>file.avi</replaceable>
-</screen>
-или
-<screen>
-mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>file.avi</replaceable>
-</screen>
-Ðо ÑÑо опаÑно, и вам не ÑледÑÐµÑ ÑÑого делаÑÑ. Ð ÑÑом ÑлÑÑае пÑинÑдиÑелÑно
-запÑÑкаеÑÑÑ ÑказаннÑй дÑÐ°Ð¹Ð²ÐµÑ Ð¸ ÑезÑлÑÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ¿ÑедÑказÑемÑм
-(он Ð¼Ð¾Ð¶ÐµÑ <emphasis role="bold">подвеÑиÑÑ</emphasis> Ð²Ð°Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑ).
-Ðам ÑледÑÐµÑ ÑÑо делаÑÑ Ð¢ÐÐЬÐРеÑли Ð²Ñ Ð°Ð±ÑолÑÑно ÑвеÑенÑ, ÑÑо он ÑабоÑÐ°ÐµÑ Ð¸
-<application>MPlayer</application> не иÑполÑзÑÐµÑ ÐµÐ³Ð¾ авÑомаÑиÑеÑки.
-ÐожалÑйÑÑа, ÑообÑиÑе об ÑÑом ÑазÑабоÑÑикам. ÐÑавилÑнÑй пÑÑÑ - иÑполÑзование
-VIDIX без аÑгÑменÑов Ð´Ð»Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð²ÑоопÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´ÑайвеÑа.
-</para>
-
-<para>
-ÐоÑколÑÐºÑ VIDIX ÑÑебÑÐµÑ Ð¿ÑÑмой доÑÑÑп к обоÑÑдованиÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе либо
-запÑÑкаÑÑ ÐµÐ³Ð¾ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ root, либо ÑÑÑановиÑÑ SUID Ð±Ð¸Ñ Ð½Ð° иÑполнÑемÑй Ñайл
-<application>MPlayer</application> ((<emphasis role="bold">Ðнимание:
-ÐÑо болÑÑой ÑиÑк безопаÑноÑÑи</emphasis>).
-Ðак ваÑианÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑпеÑиалÑнÑй модÑÐ»Ñ ÑдÑа, как ÑÑоÑ:
-</para>
-
-<procedure>
-<step><para>
-<!-- FIXME correct translation of 'development version' -->
- СкаÑайÑе <ulink url="http://www.arava.co.il/matan/svgalib/">ÑазÑабаÑÑваемÑÑ Ð²ÐµÑÑиÑ</ulink>
- svgalib (напÑÐ¸Ð¼ÐµÑ 1.9.17), <emphasis role="bold">ÐÐÐ</emphasis>
- веÑÑиÑ, ÑозданнÑÑ Alex ÑпеÑиалÑно Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ <application>MPlayer</application>
- (она не ÑÑебÑÐµÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ñ Ð¸ÑÑ
одников svgalib Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии)
- <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">оÑÑÑда</ulink>.
-</para></step>
-<step><para>
- СкомпилиÑÑйÑе модÑÐ»Ñ Ð² каÑалоге <filename class="directory">svgalib_helper</filename>
- (он Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½ внÑÑÑи каÑалога
- <filename class="directory">svgalib-1.9.17/kernel/</filename>, еÑли Ð²Ñ ÑкаÑали иÑÑ
одники
- Ñ ÑайÑа svgalib) и вÑполниÑе insmod Ð´Ð»Ñ Ð½ÐµÐ³Ð¾.
-</para></step>
-<step><para>
- ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ
одимÑÑ
ÑÑÑÑойÑÑв в каÑалоге <filename class="directory">/dev</filename>,
- вÑполниÑе Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ root ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ <screen>make device</screen> в
- <filename class="directory">svgalib_helper</filename>.
-</para></step>
-<step><para>
- ÐеÑемеÑÑиÑе каÑалог <filename class="directory">svgalib_helper</filename> в
- подкаÑалог <filename class="directory">vidix</filename> деÑева иÑÑ
однÑÑ
ÑекÑÑов
- <application>MPlayer</application>.
-</para></step>
-<step><para>
- УдалиÑе комменÑаÑий пеÑед ÑÑÑокой CFLAGS, ÑодеÑжаÑий ÑÑÑÐ¾ÐºÑ "svgalib_helper"
- в Ñайле <filename class="directory">vidix/Makefile</filename>.
-</para></step>
-<step><para>
- ÐеÑекомпилиÑÑйÑе.
- </para></step>
-</procedure>
-
-
-<sect2 id="vidix-ati">
-<title>ATI каÑÑÑ</title>
-
-<para>
-РданÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑинÑÑва каÑÑ ATI, наÑÐ¸Ð½Ð°Ñ Ð¾Ñ Mach64 и заканÑÐ¸Ð²Ð°Ñ Ð¿Ð¾Ñледними
-Radeon, имееÑÑÑ Ð²ÑÑÑÐ¾ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка.
-</para>
-
-<para>
-СÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° ÑкомпилÑованнÑÑ
бинаÑнÑÑ
Ñайла: <filename>radeon_vid</filename> длÑ
-Radeon и <filename>rage128_vid</filename> Ð´Ð»Ñ ÐºÐ°ÑÑ Rage 128. ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑинÑдиÑелÑно
-иÑполÑзоваÑÑ Ð¾Ð´Ð¸Ð½ из ниÑ
или позволиÑÑ VIDIX авÑомаÑиÑеÑки опÑобоваÑÑ Ð²Ñе доÑÑÑпнÑе
-дÑайвеÑÑ.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-mga">
-<title>Matrox каÑÑÑ</title>
-
-<para>
-СообÑалоÑÑ, ÑÑо ÑабоÑаÑÑ Matrox G200, G400, G450 и G550.
-</para>
-
-<para>
-<!-- FIXME what is 'video equalizers ' ? -->
-ÐÑÐ°Ð¹Ð²ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ð¸Ð´ÐµÐ¾ ÑквалайзеÑÑ Ð¸ должем бÑÑÑ ÑÑÐ¾Ð»Ñ Ð¶Ðµ бÑÑÑÑ, как и
-<link linkend="mga_vid">Matrox ÑÑеймбÑÑеÑ</link>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-trident">
-<title>Trident каÑÑÑ</title>
-
-<para>
-СÑÑеÑÑвÑÐµÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ ÑипÑеÑа Trident Cyberblade/i1, коÑоÑÑй можно найÑи
-на маÑеÑинÑкиÑ
плаÑаÑ
VIA Epia.
-</para>
-
-<para>
-ÐÑÐ°Ð¹Ð²ÐµÑ Ð½Ð°Ð¿Ð¸Ñан и поддеÑживаеÑÑÑ
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-3dlabs">
-<title>3DLabs каÑÑÑ</title>
-
-<para>
-ХоÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ Ñипов 3DLabs GLINT R3 и Permedia3 ÑÑÑеÑÑвÑеÑ, никÑо его не
-ÑеÑÑиÑовал, Ñак ÑÑо оÑÑеÑÑ Ð¿ÑивеÑÑÑвÑÑÑÑÑ.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-nvidia">
-<title>nVidia каÑÑÑ</title>
-
-<para>
-УникалÑÐ½Ð°Ñ Ð¾ÑобенноÑÑÑ Ð´ÑайвеÑа nvidia_vid заклÑÑаеÑÑÑ Ð² ÑпоÑобноÑÑи оÑобÑажаÑÑ
-видео в <emphasis role="bold">пÑоÑÑой, ÑиÑÑо ÑекÑÑовой конÑоли</emphasis> - без
-какого Ð±Ñ Ñо ни бÑло ÑÑеймбÑÑеÑа или магии Ñ X. ÐÐ»Ñ ÑÑой Ñели Ð¼Ñ Ð±Ñдем иÑполÑзоваÑÑ
-дÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода видео <option>cvidix</option>, как показÑÐ²ÐµÑ ÑледÑÑÑий пÑимеÑ:
-<screen>mplayer -vo cvidix <replaceable>example.avi</replaceable></screen>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-sis">
-<title>SiS каÑÑÑ</title>
-
-<para>
-ÐÑо, как и nvidia_vid, веÑÑма ÑкÑпеÑименÑалÑнÑй код.
-</para>
-
-<para>
-Ðн ÑеÑÑиÑовалÑÑ Ð½Ð° SiS 650/651/740 (наиболее ÑаÑпÑоÑÑÑаннÑй ÑипÑеÑ, иÑполÑзÑемÑй в
-SiS веÑÑиÑÑ
байÑбонов[barebones] "Shuttle XPC")
-</para>
-
-<para>
-ÐÑÑеÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑÑÑ!
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="directfb">
-<title>DirectFB</title>
-
-<blockquote><para>
-"DirectFB - ÑÑо гÑаÑиÑеÑÐºÐ°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека, коÑоÑÐ°Ñ Ð±Ñла ÑазÑабоÑана Ñ ÑÑеÑом
-оÑобенноÑÑей вÑÑÑоеннÑÑ
ÑиÑÑем. Ðна пÑедоÑÑавлÑÐµÑ Ð¼Ð°ÐºÑимÑм пÑоизводиÑелÑноÑÑи
-пÑи минимÑме иÑполÑзÑемÑÑ
ÑеÑÑÑÑов и накладнÑÑ
ÑаÑÑ
одов." -
-пÑоÑиÑиÑовано Ñ <ulink url="http://www.directfb.org"/>
-</para></blockquote>
-
-<para>Я иÑклÑÑÑ Ð¾Ð¿Ð¸Ñание возможноÑÑей DirectFB из ÑÑого Ñаздела.</para>
-
-<para>
-ÐеÑмоÑÑÑ Ð½Ð° Ñо, ÑÑо <application>MPlayer</application> не поддеÑживаеÑÑÑ Ð² DirectFB
-как "video пÑовайдеÑ", ÑÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода видео задейÑÑвÑÐµÑ Ð²Ð¾ÑпÑоизведение
-видео ÑеÑез DirectFB. Ðн бÑÐ´ÐµÑ - конеÑно - ÑабоÑаÑÑ Ñ ÑÑкоÑением, на моей Matrox G400
-ÑкоÑоÑÑÑ DirectFB ÑÐ°ÐºÐ°Ñ Ð¶Ðµ как Ñ XVideo.
-</para>
-
-<para>
-ÐÑегда ÑÑаÑайÑеÑÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð¾ÑледнÑÑ Ð²ÐµÑÑÐ¸Ñ DirectFB. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¾Ð¿Ñии
-DirectFB в командной ÑÑÑоке, пÑи помоÑи <option>-dfbopts</option>. ÐÑÐ±Ð¾Ñ ÑлоÑ
-пÑоизводиÑÑÑ Ð¼ÐµÑодом подÑÑÑÑойÑÑва, напÑимеÑ.: <option>-vo directfb:2</option>
-(по-ÑмолÑÐ°Ð½Ð¸Ñ -1: авÑоопÑеделение)
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-<para>
-ÐÑоÑÑиÑе <link linkend="directfb">оÑновной DirectFB</link> Ñаздел Ð´Ð»Ñ Ð¾Ð±Ñей инÑоÑмаÑии.
-</para>
-
-<para>
-ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода видео задейÑÑвÑÐµÑ CRTC2 (на вÑоÑом мониÑоÑе[second head]) на каÑÑаÑ
-Matrox G400/G450/G550, оÑобÑажаÑÑий видео
-<emphasis role="bold">незавиÑимо</emphasis> Ð¾Ñ Ð¿ÐµÑвого мониÑоÑа[first head].
-</para>
-
-<para>
-Ville Syrjala имееÑ
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
-и
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
-на Ñвоей ÑÑÑаниÑе, опиÑÑваÑÑие как задейÑÑвоваÑÑ Ð²Ñвод DirectFB TV на каÑÑаÑ
Matrox.
-</para>
-
-<note><para>
-ÐеÑÐ²Ð°Ñ Ð²ÐµÑÑÐ¸Ñ DirectFB, на коÑоÑой ÑдалоÑÑ ÑÑо ÑделаÑÑ, бÑла
-0.9.17 (имеÑÑÐ°Ñ Ð¾Ñибки, ÑÑебÑÐµÑ <systemitem>surfacemanager</systemitem>
-паÑÑ Ñ Ñказанного вÑÑе URL). ÐоÑÑиÑование кода CRTC2 в
-<link linkend="mga_vid">mga_vid</link> планиÑÑеÑÑÑ Ñже неÑколÑко леÑ,
-<ulink url="../../tech/patches.txt">паÑÑи</ulink> пÑивеÑÑÑвÑÑÑÑÑ.
-</para></note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpeg_decoders">
-<title>MPEG декодеÑÑ</title>
-
-<sect2 id="dvb">
-<title>DVB ввод и вÑвод</title>
-
-<para>
-<application>MPlayer</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ°ÑÑÑ Ñ ÑипÑеÑом Siemens DVB и
-ÑакиÑ
пÑоизводиÑелей, как Siemens, Technotrend, Galaxis или Hauppauge.
-ÐоÑледние DVB дÑайвеÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ñ <ulink url="http://www.linuxtv.org">ÑайÑа Linux TV</ulink>.
-ÐÑли Ð²Ñ ÑобиÑаеÑеÑÑ Ð´ÐµÐ»Ð°ÑÑ Ð¿ÑогÑаммное ÑÑанÑкодиÑование, Ñ Ð²Ð°Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ ÐºÐ°Ðº минимÑм 1ÐÐÑ CPU.
-</para>
-
-<para>
-СкÑÐ¸Ð¿Ñ configure должен опÑеделиÑÑ Ð²Ð°ÑÑ DVB каÑÑÑ. ÐÑли неÑ, пÑинÑдиÑелÑно ÑкажиÑе
-опÑеделение Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
-<screen>./configure --enable-dvb</screen>
-ÐÑли заголовоÑнÑе ÑÐ°Ð¹Ð»Ñ ost наÑ
одÑÑÑÑ Ð½Ðµ в ÑÑандаÑÑнÑÑ
каÑалогаÑ
, ÑкажиÑе пÑÑÑ Ñ
-<screen>
-./configure --extra-cflags=<replaceable>каÑалог иÑÑ
одников DVB</replaceable>/ost/include
-</screen>
-ÐаÑем компилиÑÑйÑе и ÑÑÑанавливайÑе как обÑÑно.
-</para>
-
-<formalpara>
-<title>ÐСÐÐÐЬÐÐÐÐÐÐÐ</title>
-<para>
-ÐппаÑаÑное декодиÑование поÑоков, ÑодеÑжаÑиÑ
MPEG-1/2 видео и/или MPEG аÑдио, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ
-вÑполнено ÑледÑÑÑей командой:
-<screen>mplayer -ao mpegpes -vo mpegpes <replaceable>file.mpg|vob</replaceable></screen>
-</para>
-</formalpara>
-
-<para>
-ÐекодиÑование лÑбÑÑ
дÑÑгиÑ
видео поÑоков ÑÑебÑÐµÑ ÑÑанÑкодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² MPEG-1,
-поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð¾ медленно и, возможно, не ÑÑÐ¾Ð¸Ñ Ð½ÐµÐ¿ÑиÑÑноÑÑей, оÑобенно еÑли ваÑ
-компÑÑÑÐµÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñй.
-Ðго можно добиÑÑÑÑ, иÑполÑзÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>yourfile.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>yourfile.ext</replaceable>
-</screen></para>
-
-<para>
-ÐмейÑе в видÑ, ÑÑо DVB каÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Ð²ÑÑоÑÑ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑолÑко 288 и 576 Ð´Ð»Ñ PAL и
-240 и 480 Ð´Ð»Ñ NTSC. ÐÐ»Ñ Ð´ÑÑгиÑ
знаÑений вÑÑоÑÑ Ð²Ñ <emphasis role="bold">должнÑ</emphasis>
-оÑмаÑÑÑабиÑоваÑÑ Ð¸Ð·Ð¾Ð±Ñажение, добавив <option>scale=ÑиÑина:вÑÑоÑа</option> к опÑии
-<option>-vf</option> Ñ Ð¶ÐµÐ»Ð°ÐµÐ¼Ñми знаÑениÑми ÑиÑÐ¸Ð½Ñ Ð¸ вÑÑоÑÑ.
-DVB каÑÑÑ Ð´Ð¾Ð¿ÑÑкаÑÑ ÑазлиÑнÑе знаÑÐµÐ½Ð¸Ñ ÑиÑинÑ: 720, 704, 640, 512, 480, 352 и Ñ.д. и
-пÑоизводÑÑ Ð°Ð¿Ð¿Ð°ÑаÑное маÑÑÑабиÑование по гоÑизонÑали, Ñак ÑÑо в болÑÑинÑÑве ÑлÑÑаев
-маÑÑÑабиÑоваÑÑ Ð¿Ð¾ гоÑизонÑали не нÑжно. ÐÐ»Ñ 512x384 (пÑопоÑÑии 4:3) MPEG-4 (DivX)
-попÑобÑйÑе:
-</para>
-
-<para>ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑиÑокоÑоÑмаÑнÑй ÑилÑм и Ð²Ñ Ð½Ðµ Ñ
оÑиÑе ÑаÑÑÑгиваÑÑ ÐµÐ³Ð¾ на
-полнÑÑ Ð²ÑÑоÑÑ, иÑполÑзÑйÑе плагин <option>expand=w:h</option> Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑеÑнÑÑ
-полоÑ. ЧÑÐ¾Ð±Ñ Ð¿Ð¾ÑмоÑÑеÑÑ 640x384 MPEG-4 (DivX), попÑобÑйÑе:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-ÐÑли Ð²Ð°Ñ CPU ÑлиÑком Ñлаб Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑазмеÑного 720x576 MPEG-4 (DivX), попÑобÑйÑе ÑменÑÑиÑÑ
-ÑазмеÑ:
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>ÐÑли ÑкоÑоÑÑÑ Ð½Ðµ ÑвелиÑилаÑÑ, попÑобÑйÑе ÑменÑÑиÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð¾ веÑÑикали Ñоже:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-ÐÐ»Ñ OSD и ÑÑбÑиÑÑов иÑполÑзÑйÑе возможноÑÑи OSD плагина expand. Так, вмеÑÑо
-<option>expand=w:h</option> или <option>expand=w:h:x:y</option>, иÑполÑзÑйÑе
-<option>expand=w:h:x:y:1</option> (5-й паÑамеÑÑ <option>:1</option> в конÑе длÑ
-вклÑÑÐµÐ½Ð¸Ñ OSD ÑендеÑинга). ÐÑ Ð¼Ð¾Ð¶ÐµÑе Ñлегка подвинÑÑÑ Ð¸Ð·Ð¾Ð±Ñажение ввеÑÑ
, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ
-болÑÑÑÑ ÑеÑнÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ Ð´Ð»Ñ ÑÑбÑиÑÑов. ÐÑ Ñакже можеÑе пеÑемеÑÑиÑÑ ÑÑбÑиÑÑÑ Ð²Ð²ÐµÑÑ
, еÑли
-они вÑÑ
одÑÑ Ð·Ð° пÑÐµÐ´ÐµÐ»Ñ TV ÑкÑана, иÑполÑзÑйÑе Ð´Ð»Ñ ÑÑого <option>-subpos <0-100></option>
-(<option>-subpos 80</option> - Ñ
оÑоÑий вÑбоÑ).
-</para>
-
-<para>
-ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑпÑоизвеÑÑи не-25fps ÑилÑÐ¼Ñ Ð½Ð° PAL TV или на маÑине Ñо ÑлабÑм CPU, добавÑÑе опÑиÑ
-
-<option>-framedrop</option>.
-</para>
-
-<para>
-ÐÐ»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¿ÑопоÑÑий MPEG-4 (DivX) Ñайлов и полÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÑималÑнÑÑ
паÑамеÑÑов
-маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (аппаÑаÑное гоÑизонÑалÑное и пÑогÑаммное веÑÑикалÑное маÑÑÑабиÑование Ñ
-ÑоÑ
Ñанением пÑопоÑÑий), иÑполÑзÑйÑе плагин dvbscale:
-<screen>
-for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen>
-</para>
-
-<formalpara><title>ЦиÑÑовое TV (DVB дÑÐ°Ð¹Ð²ÐµÑ Ð²Ð²Ð¾Ð´Ð° )</title>
-<para>ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ DVB каÑÑÑ Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа ЦиÑÑового TV.</para>
-</formalpara>
-
-<para>
-ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ ÑÑÑановленнÑе пÑогÑÐ°Ð¼Ð¼Ñ <command>scan</command> и
-<command>szap/tzap/czap/azap</command>; вÑе они вÑ
одÑÑ Ð² Ð¿Ð°ÐºÐµÑ Ð´ÑайвеÑов.
-</para>
-
-<para>
-ÐÑовеÑÑÑе, ÑÑо ваÑи дÑайвеÑÑ Ð¿ÑавилÑно ÑабоÑаÑÑ Ñ Ñакими пÑогÑаммами, как
-<ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
-(ÑÑо оÑнова DVB дÑайвеÑа ввода).
-</para>
-
-<para>
-ТепеÑÑ Ð²Ð°Ð¼ ÑледÑÐµÑ ÑоздаÑÑ Ñайл <filename>~/.mplayer/channels.conf</filename>,
-Ñ Ð¿Ð¾Ð½ÑÑнÑм <command>szap/tzap/czap/azap</command> ÑинÑакÑиÑом, или
-позволиÑÑ <command>scan</command> ÑделаÑÑ ÑÑо Ð´Ð»Ñ Ð²Ð°Ñ.
-</para>
-
-<para>
-ÐÑли Ñ Ð²Ð°Ñ Ð½ÐµÑколÑко ÑазноÑипнÑÑ
каÑÑ (напÑимеÑ, Ð´Ð»Ñ ÑпÑÑникового TV, наземного ,
-кабелÑного и ATSC), можеÑе ÑоÑ
ÑаниÑÑ ÑÐ°Ð¹Ð»Ñ ÐºÐ°Ðº
-<filename>~/.mplayer/channels.conf.sat</filename>,
-<filename>~/.mplayer/channels.conf.ter</filename>,
-<filename>~/.mplayer/channels.conf.cbl</filename>,
-и <filename>~/.mplayer/channels.conf.atsc</filename>,
-ÑооÑвеÑÑÑвенно, Ñ Ñем, ÑÑÐ¾Ð±Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло Ñвно ÑказаÑÑ <application>MPlayer</application>
-какой Ñайл иÑполÑзоваÑÑ Ð²Ð¼ÐµÑÑо ÑÑандаÑÑного <filename>~/.mplayer/channels.conf</filename>,
-и какÑÑ ÐºÐ°ÑÑÑ Ñ Ð½Ð¸Ð¼ иÑполÑзоваÑÑ.
-</para>
-
-<para>
-УбедиÑеÑÑ, ÑÑо в <filename>channels.conf</filename> наÑ
одÑÑÑÑ ÐºÐ°Ð½Ð°Ð»Ñ
-!-- FIXME Free to Air -->
-<emphasis>ÑолÑко</emphasis> Ð´Ð»Ñ Ð¾Ð±ÑÑного ÑелевидениÑ[Free to Air], инаÑе
-<application>MPlayer</application> бÑÐ´ÐµÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑ Ð¿ÐµÑедаÑи незаÑиÑÑованнÑÑ
даннÑÑ
.
-</para>
-
-<para>
-РполÑÑ
аÑдио и видео Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑаÑÑиÑеннÑй ÑинÑакÑиÑ:
-<option>...:pid[+pid]:...</option> (в каждом макÑимÑм 6 pid'ов);
-в ÑÑом ÑлÑÑае <application>MPlayer</application> вклÑÑÐ¸Ñ Ð² поÑок вÑе ÑказаннÑе
-pid плÑÑ pid 0 (ÑодеÑжаÑий PAT). РкаждÑÑ ÑÑÑÐ¾ÐºÑ Ð²Ñегда ÑледÑÐµÑ Ð²ÐºÐ»ÑÑаÑÑ
-PMT и PCR pid'Ñ Ð´Ð»Ñ ÑооÑвеÑÑÑвÑÑÑего канала (еÑли Ð²Ñ Ð¸Ñ
знаеÑе).
-Также можно ÑказаÑÑ 8192, пÑи ÑÑом бÑдÑÑ Ð²ÑбÑÐ°Ð½Ñ Ð²Ñе pid на ÑÑой ÑаÑÑоÑе, и ÐÑ ÑможеÑе
-поÑом пеÑеклÑÑаÑÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑогÑаммами пÑи помоÑи TAB.
-ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ Ð±Ð¾Ð»ÑÑей пÑопÑÑкной ÑпоÑобноÑÑи, однако деÑевÑе каÑÑÑ
-вÑегда пеÑеÑÑлаÑÑ Ð²Ñе ÐºÐ°Ð½Ð°Ð»Ñ ÐºÐ°Ðº минимÑм до ÑдÑа, Ñак ÑÑо в ÑÑом ÑлÑÑае ÑазниÑа
-бÑÐ´ÐµÑ Ð½ÐµÐ±Ð¾Ð»ÑÑой.
-ÐÑÑгие возможнÑе пÑименениÑ: ÑелеÑекÑÑ pid, вÑоÑÐ¾Ð°Ñ Ð°Ñдио доÑожка, и Ñ.д.
-</para>
-
-<para>
-ÐÑли <application>MPlayer</application> ÑаÑÑо жалÑеÑÑÑ Ð½Ð°
-<screen>Too many video/audio packets in the buffer</screen> или
-еÑли Ð²Ñ Ð·Ð°Ð¼ÐµÑили ÑаÑÑÑÑÑÑ ÑаÑÑинÑ
ÑонизаÑÐ¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð·Ð²Ñком и видео
-пÑовеÑÑÑе налиÑие PCR pid'а в ваÑем поÑоке (ÑÑебÑÑÑегоÑÑ Ð´Ð»Ñ
-ÑоблÑÐ´ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ бÑÑеÑизаÑии пеÑедаÑÑика) и/или
-попÑобÑйÑе воÑполÑзоваÑÑÑÑ libavformat MPEG-TS декодеÑом, добавив
-<option>-demuxer lavf -lavfdopts probesize=128</option> в
-команднÑÑ ÑÑÑокÑ.
-</para>
-
-<para>
-ÐÐ»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° пеÑвого из доÑÑÑпнÑÑ
каналов, запÑÑÑиÑе
-<screen>mplayer dvb://</screen>
-</para>
-
-<para>
-ÐÑли Ð²Ñ Ñ
оÑиÑе поÑмоÑÑеÑÑ Ð¾Ð¿ÑеделеннÑй канал, напÑÐ¸Ð¼ÐµÑ R1, запÑÑÑиÑе
-<screen>mplayer dvb://R1</screen>
-</para>
-
-<para>
-ÐÑли Ñ Ð²Ð°Ñ Ð±Ð¾Ð»ÑÑе одной каÑÑÑ, Ñакже надо ÑказаÑÑ Ð½Ð¾Ð¼ÐµÑ Ñой, Ñ ÐºÐ¾ÑоÑой доÑÑÑпен канал:
-<screen>mplayer dvb://2@R1</screen>
-</para>
-
-<para>
-ÐÐ»Ñ ÑÐ¼ÐµÐ½Ñ ÐºÐ°Ð½Ð°Ð»Ð°, нажимайÑе клавиÑи <keycap>h</keycap> (ÑледÑÑÑий) и
-<keycap>k</keycap> (пÑедÑдÑÑий), или иÑполÑзÑйÑе
-<link linkend="osdmenu">OSD менÑ</link>.
-</para>
-
-<para>
-ÐÐ»Ñ Ð²Ñеменного оÑклÑÑÐµÐ½Ð¸Ñ Ð°Ñдио или видео поÑока ÑкопиÑÑйÑе
-ÑледÑÑÑие ÑÑÑоки в <filename>~/.mplayer/input.conf</filename>:
-<screen>
-% set_property switch_video -2
-& step_property switch_video
-? set_property switch_audio -2
-^ step_property switch_audio
-</screen>
-(ÐаменÑÑ Ð³Ð¾ÑÑÑие клавиÑи по ÑÐ²Ð¾ÐµÐ¼Ñ ÑÑмоÑÑениÑ.) ÐÑи нажаÑии на клавиÑÑ,
-ÑооÑвеÑÑÑвÑÑÑÑÑ switch_x -2, поÑок бÑÐ´ÐµÑ Ð·Ð°ÐºÑÑÑ;
-пÑи нажаÑии на клавиÑÑ, ÑооÑвеÑÑÑвÑÑÑÑÑ step_x, поÑок бÑÐ´ÐµÑ Ð¾ÑкÑÑÑ Ñнова.
-ÐмейÑе в видÑ, ÑÑо ÑÑÐ¾Ñ Ð¼ÐµÑ
анизм пеÑеклÑÑÐµÐ½Ð¸Ñ Ð½Ðµ бÑÐ´ÐµÑ ÑабоÑаÑÑ ÐºÐ°Ðº ÑледÑеÑ,
-когда в мÑлÑÑиплекÑоÑе пÑиÑÑÑÑÑвÑÐµÑ Ð½ÐµÑколÑко аÑдио или видео поÑоков.
-</para>
-
-<para>
-Ðо вÑÐµÐ¼Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ (не во вÑÐµÐ¼Ñ Ð·Ð°Ð¿Ð¸Ñи) Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð·Ð°Ð¸ÐºÐ°Ð½Ð¸Ñ
-и ÑакиÑ
оÑибок, как 'Your system is too slow', Ð¸Ð¼ÐµÐµÑ ÑмÑÑл добавиÑÑ
-<screen>
--mc 10 -speed 0.97 -af scaletempo
-</screen>
-к опÑиÑм командной ÑÑÑоки, иÑпÑавив паÑамеÑÑÑ scaletempo по ÑÐ²Ð¾ÐµÐ¼Ñ ÑÑмоÑÑениÑ.
-</para>
-
-<para>
-ÐÑли Ð²Ð°Ñ <filename>~/.mplayer/menu.conf</filename> ÑодеÑÐ¶Ð¸Ñ Ð·Ð°Ð¿Ð¸ÑÑ
-<literal><dvbsel></literal>, как в Ñайле Ñ Ð¿ÑимеÑами
-<filename>etc/dvb-menu.conf</filename> (можеÑе иÑполÑзоваÑÑ ÐµÐ³Ð¾ ÑÑобÑ
-пеÑезапиÑаÑÑ <filename>~/.mplayer/menu.conf</filename>), главное менÑ
-бÑÐ´ÐµÑ Ð¾ÑобÑажаÑÑ Ð¿Ð¾Ð´Ð¼ÐµÐ½Ñ, позволÑÑÑее вам вÑбÑаÑÑ Ð¾Ð´Ð¸Ð½ из пÑиÑÑÑÑÑвÑÑÑиÑ
-в <filename>channels.conf</filename> каналов, возможно, Ñ Ð¿ÑедÑеÑÑвÑÑÑим
-ÐµÐ¼Ñ Ð¿Ð¾Ð´Ð¼ÐµÐ½Ñ Ñ DVB вÑбоÑом каÑÑ, доÑÑÑпнÑÑ
<application>MPlayer</application>.
-</para>
-
-<para>
-ÐÑли Ñ
оÑиÑе запиÑаÑÑ ÐºÐ°ÐºÑÑ-Ñо пÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° диÑк, иÑполÑзÑйÑе
-<screen>mplayer -dumpfile r1.ts -dumpstream dvb://R1</screen>
-</para>
-
-<para>
-ÐÑли Ñ
оÑиÑе вмеÑÑо ÑÑого запиÑаÑÑ ÐµÐµ в дÑÑгом ÑоÑмаÑе (пеÑекодиÑоваÑÑ), ÑледÑеÑ
-иÑполÑзоваÑÑ ÑакÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
-<screen>
-mencoder -o <replaceable>r1.avi</replaceable> -ovc xvid -xvidencopts bitrate=800 \
- -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
-</screen>
-</para>
-
-<para>
-ÐолнÑй ÑпиÑок опÑий Ð´Ð»Ñ DVB дÑайвеÑа ввода можно найÑи на ÑÑÑаниÑе ÑÑководÑÑва man.
-</para>
-
-<formalpara><title>ÐУÐУЩÐÐ</title>
-<para>
-ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð²Ð¾Ð¿ÑоÑÑ, или Ð²Ñ Ñ
оÑиÑе полÑÑаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾ новÑÑ
возможноÑÑÑÑ
и
-пÑинÑÑÑ ÑÑаÑÑие в диÑкÑÑÑиÑÑ
на ÑÑÑ ÑемÑ, подпиÑиÑеÑÑ Ð½Ð° ÑпиÑок ÑаÑÑÑлки
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>.
-ÐомниÑе, ÑÑо ÑзÑк ÑаÑÑÑлки - ÐнглийÑкий.
-</para>
-</formalpara>
-
-<para>
-РбÑдÑÑем Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑаÑÑÑиÑÑваÑÑ Ð½Ð° возможноÑÑÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ OSD и ÑÑбÑиÑÑов,
-иÑполÑзÑÑ Ð²ÑÑÑоеннÑе OSD возможноÑÑи DVB каÑÑ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-
-<para>
-<application>MPlayer</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð°Ð¿Ð¿Ð°ÑаÑное ÑÑкоÑение воÑпÑоизведениÑ
-Ñ ÐºÐ°ÑÑами Creative DXR2.
-</para>
-
-<para>
-ÐÑежде вÑего вам поÑÑебÑеÑÑÑ Ð¿ÑавилÑно ÑÑÑановленнÑе DXR2 дÑайвеÑÑ. ÐÑ
и ÑÑководÑÑво по
-ÑÑÑановке можно найÑи на ÑайÑе <ulink url="http://dxr2.sf.net/">РеÑÑÑÑного ЦенÑÑа DXR2</ulink>.
-</para>
-
-<variablelist>
-<title>ÐСÐÐÐЬÐÐÐÐÐÐÐ</title>
-<varlistentry>
- <term><option>-vo dxr2</option></term>
- <listitem><para>ÐклÑÑиÑÑ TV вÑÑ
од.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-vo dxr2:x11</option> or <option>-vo dxr2:xv</option></term>
- <listitem><para>ÐклÑÑиÑÑ Ð²Ñвод ÑеÑез овеÑлей в X11.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-dxr2 <option1:option2:...></option></term>
- <listitem><para>ÐÑа опÑÐ¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´ÑайвеÑом DXR2.</para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-ЧипÑÐµÑ Ð¾Ð²ÐµÑлеÑ, иÑполÑзовавÑийÑÑ Ð½Ð° DXR2 доволÑно плоÑ
ого каÑеÑÑва, но
-Ñ Ð½Ð°ÑÑÑойками по-ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÑÐ´ÐµÑ ÑабоÑаÑÑ Ñ Ð²ÑеÑ
. OSD Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ
-Ñ Ð¾Ð²ÐµÑлеем (не на TV), оÑÑиÑовÑÐ²Ð°Ñ ÑÐµÐ±Ñ Ð² клÑÑевом ÑвеÑе[colorkey].
-С наÑÑÑойками клÑÑевого ÑвеÑа[colorkey] по-ÑмолÑаниÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ
-ÑазнÑе ÑезÑлÑÑаÑÑ, ÑкоÑее вÑего ÑвидиÑе клÑÑевой ÑвеÑ[colorkey] вокÑÑг
-Ñимволов или дÑÑгие забавнÑе ÑÑÑекÑÑ. Ðо пÑи пÑавилÑнÑÑ
наÑÑÑойкаÑ
,
-можно полÑÑиÑÑ Ð²Ð¿Ð¾Ð»Ð½Ðµ пÑиемлемÑй ÑезÑлÑÑаÑ.
-</para>
-
-<para>СмоÑÑиÑе ÑÑÑаниÑÑ man ÑÑководÑÑва Ð´Ð»Ñ ÑпиÑка доÑÑÑпнÑÑ
опÑий.</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-<para>
-<application>MPlayer</application> поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð°Ð¿Ð¿Ð°ÑаÑно ÑÑкоÑенное воÑпÑоизведение
-каÑÑами Creative DXR3 и Sigma Designs Hollywood Plus. Ðбе ÑÑи каÑÑÑ Ð¸ÑполÑзÑÑÑ
-MPEG Ð´ÐµÐºÐ¾Ð´ÐµÑ Ð½Ð° Ñипе em8300 Ð¾Ñ Sigma Designs
-</para>
-
-<para>
-ÐÑежде вÑего вам поÑÑебÑÑÑÑÑ Ð¿ÑавилÑно ÑÑÑановленнÑе дÑайвеÑа DXR3/H+, веÑÑии
-0.12.0 или вÑÑе. ÐÑайвеÑÑ Ð¸ инÑÑÑÑкÑии по ÑÑÑановке могÑÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð½Ð°
-ÑайÑе <ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus Ð´Ð»Ñ Linux</ulink>
-<filename>configure</filename> должен авÑомаÑиÑеÑки опÑеделиÑÑ Ð²Ð°ÑÑ ÐºÐ°ÑÑÑ,
-компилÑÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° пÑойÑи без пÑоблем.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>ÐСÐÐÐЬÐÐÐÐÐÐÐ</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>device</replaceable></option></term>
-<listitem><para>
-ÐпÑÐ¸Ñ <option>overlay</option> акÑивиÑÑÐµÑ Ð¾Ð²ÐµÑлей вмеÑÑо TV-out. ÐÐ»Ñ ÐºÐ¾ÑÑекÑной ÑабоÑÑ
-она ÑÑебÑÐµÑ ÐµÐ³Ð¾ пÑавилÑной наÑÑÑойки. СамÑй пÑоÑÑой ÑпоÑоб пÑавилÑно его
-наÑÑÑоиÑÑ - ÑнаÑала запÑÑÑиÑÑ autocal, заÑем запÑÑÑиÑÑ mplayer Ñ Ð´ÑайвеÑом
-dxr3 и вÑклÑÑеннÑм овеÑлеем, поÑом запÑÑÑиÑÑ dxr3view. Ð dxr3view Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе
-менÑÑÑ Ð½Ð°ÑÑÑойки овеÑÐ»ÐµÑ Ð¸ видеÑÑ ÑезÑлÑÑÐ°Ñ Ð² ÑеалÑном вÑемени, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ,
-в бÑдÑÑем ÑÑа возможноÑÑÑ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ Ð² <application>MPlayer</application>
-GUI. ÐоÑле Ñого как овеÑлей пÑавилÑно наÑÑÑоен, надобноÑÑÑ Ð² dxr3view оÑпадаеÑ.
-ÐпÑÐ¸Ñ <option>prebuf</option> вклÑÑÐ°ÐµÑ Ð¿ÑебÑÑеÑинг. ÐÑебÑÑеÑинг - ÑÑо возможноÑÑÑ
-Ñипа em8300, позволÑÑÑÐ°Ñ ÐµÐ¼Ñ Ñ
ÑаниÑÑ Ð±Ð¾Ð»ÐµÐµ одного кадÑа видео в каждÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени.
-ÐÑо знаÑиÑ, ÑÑо пÑи вклÑÑенном пÑебÑÑеÑинге <application>MPlayer</application>
-бÑÐ´ÐµÑ Ð¿ÑÑаÑÑÑÑ Ð²Ñегда деÑжаÑÑ Ð±ÑÑÐµÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ñм даннÑми. ÐÑли Ñ Ð²Ð°Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ Ð¼Ð°Ñина,
-Ñо <application>MPlayer</application> бÑÐ´ÐµÑ Ð·Ð°Ð±Ð¸ÑаÑÑ Ð¿ÑакÑиÑеÑки 100% CPU.
-ÐÑо оÑобенно ÑаÑÑо ÑлÑÑаеÑÑÑ, еÑли Ð²Ñ Ð²Ð¾ÑпÑоизводиÑе ÑиÑÑÑе MPEG поÑоки
-(DVD, SVCD и Ñ.д.), Ñ.к., поÑколÑÐºÑ <application>MPlayer</application> не должен
-пеÑекодиÑоваÑÑ Ð¸Ñ
в MPEG, Ñо он заполнÑÐµÑ Ð±ÑÑÐµÑ Ð¾ÑÐµÐ½Ñ Ð±ÑÑÑÑо.
-С пÑебÑÑеÑингом воÑпÑоизведение видео <emphasis role="bold">знаÑиÑелÑно</emphasis>
-менÑÑе завиÑÐ¸Ñ Ð¾Ñ Ð¾ÑÑалÑнÑÑ
пÑогÑамм, пÑибиÑаÑÑиÑ
к ÑÑкам CPU, он не бÑдеÑ
-ÑеÑÑÑÑ ÐºÐ°Ð´ÑÑ, кÑоме ÑлÑÑаÑ, когда пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ñ
ваÑÐ¸Ñ CPU на доволÑно длиÑелÑное
-вÑемÑ. ÐÑи запÑÑке без пÑебÑÑеÑинга, em8300 намного более ÑÑвÑÑвиÑелен к
-загÑÑзке CPU, Ñак ÑÑо наÑÑоÑÑелÑно ÑекомендÑеÑÑÑ Ð²ÐºÐ»ÑÑиÑÑ <option>-framedrop</option>
-опÑÐ¸Ñ <application>MPlayer</application> Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑеÑи ÑинÑ
ÑонизаÑии.
-<option>sync</option> вклÑÑÐ¸Ñ Ð°Ð»Ð³Ð¾ÑиÑм ÑинÑ
ÑонизаÑии. Ðока ÑÑо ÑÑо еÑе
-ÑкÑпеÑименÑалÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ. С вклÑÑенной sync возможноÑÑÑÑ Ð±ÑдÑÑ Ð¿Ð¾ÑÑоÑнно
-пÑовеÑÑÑÑÑÑ Ð²ÑÑÑоеннÑе ÑаÑÑ em8300, и еÑли наÑинаеÑÑÑ Ð¾Ñклонение оÑ
-ÑаÑов <application>MPlayer</application> Ñип бÑÐ´ÐµÑ ÑбÑоÑен, ÑÑо пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº
-пÑопÑÑÐºÑ Ð²ÑеÑ
запаздÑваÑÑиÑ
кадÑов.
-</para><para>
-<option>norm=x</option> ÑÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ TV ÑÑандаÑÑ DXR3 каÑÑÑ Ð±ÐµÐ· необÑ
одимоÑÑи
-иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð½ÐµÑниÑ
ÑÑÐ¸Ð»Ð¸Ñ Ð²Ñоде em8300setup. ÐопÑÑÑимÑе ÑÑандаÑÑÑ: 5 = NTSC, 4 = PAL-60,
-3 = PAL. СпеÑиалÑнÑе ÑÑандаÑÑÑ 2 (авÑонаÑÑÑойка, иÑполÑзÑÑ PAL/PAL-60) и 1 (авÑонаÑÑÑойка
-иÑполÑзÑÑ PAL/NTSC) ÑеÑаÑÑ ÐºÐ°ÐºÐ¾Ð¹ ÑÑандаÑÑ Ð¸ÑполÑзоваÑÑ Ð½Ð° оÑнове ÑаÑÑоÑÑ ÐºÐ°Ð´Ñов.
-because they decide which norm to use by looking at the frame
-rate of the movie. norm = 0 (по-ÑмолÑаниÑ) не изменÑÐµÑ ÑекÑÑий ÑÑандаÑÑ.
-</para><para>
-<option><replaceable>device</replaceable></option> = Ð½Ð¾Ð¼ÐµÑ ÑÑÑÑойÑÑва, еÑли иÑ
Ñ Ð²Ð°Ñ Ð½ÐµÑколÑко
-em8300 каÑÑ.
-ÐÑбÑе из ÑÑиÑ
опÑий могÑÑ Ð±ÑÑÑ Ð¾Ð¿ÑÑенÑ.
-</para><para>
-<option>:prebuf:sync</option>, поÑ
оже, оÑлиÑно ÑабоÑÐ°ÐµÑ Ð¿Ñи воÑпÑоизведении ÑилÑмов MPEG-4 (DivX).
-ÐолÑзоваÑели ÑообÑали о пÑоблемаÑ
пÑи иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ prebuf опÑии пÑи воÑпÑоизведении
-Ñайлов MPEG-1/2. ÐÑ Ð¼Ð¾Ð¶ÐµÑе попÑобоваÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ ÑнаÑала вообÑе без ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð¿Ñий,
-еÑли же имееÑе пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ ÑинÑ
ÑонизаÑией или Ñ DVD ÑÑбÑиÑÑами, попÑÑайÑеÑÑ Ñ <option>:sync</option>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
- <listitem><para>
- ÐÐ»Ñ Ð²Ñвода звÑка, где <replaceable>X</replaceable> - Ð½Ð¾Ð¼ÐµÑ ÑÑÑÑойÑÑва (0, еÑли каÑÑа одна).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
- <listitem><para>
- em8300 не Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾ÑпÑоизводиÑÑ ÑаÑÑоÑÑ Ð´Ð¸ÑкÑеÑизаÑии ниже 44100Hz. ÐÑли ÑаÑÑоÑа
- ниже 44100Hz, вÑбеÑиÑе либо 44100Hz, либо 48000Hz в завиÑимоÑÑи оÑ
- Ñого, ÐºÐ°ÐºÐ°Ñ ÑаÑÑоÑа ближайÑаÑ. Т.е. еÑли ÑилÑм иÑполÑзÑÐµÑ 22050Hz ÑкажиÑе 44100Hz, Ñ.к.
- 44100 / 2 = 22050, еÑли 24000Hz, иÑполÑзÑйÑе 48000Hz, Ñ.к. 48000 / 2 = 24000 и Ñ.д.
- ÐÑо не ÑабоÑÐ°ÐµÑ Ñ ÑиÑÑовÑм вÑводом звÑка (<option>-ac hwac3</option>).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf lavc</option></term>
- <listitem><para>
- ÐÐ»Ñ Ð¿ÑоÑмоÑÑа не-MPEG конÑенÑа на em8300 (напÑÐ¼ÐµÑ MPEG-4 (DivX) или RealVideo)
- Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ MPEG-1 видеоплагин, Ñакой как
- <systemitem class="library">libavcodec</systemitem> (lavc).
- ÐополниÑелÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ <option>-vf lavc</option> ÑмоÑÑиÑе на ÑÑÑаниÑе
- ÑÑководÑÑва man. Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½ÐµÐ¸Ð·Ð²ÐµÑÑно ÑпоÑоба ÑÑÑановиÑÑ
- знаÑение fps Ð´Ð»Ñ em8300, ÑÑо ознаÑÐ°ÐµÑ ÑикÑиÑованнÑÑ Ð²ÐµÐ»Ð¸ÑинÑ, ÑавнÑÑ 30000/1001 fps,
- поÑÑÐ¾Ð¼Ñ ÐºÑайне ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ
- <option>-vf lavc=<replaceable>quality</replaceable>:25</option>, оÑобенно, еÑли
- иÑполÑзÑеÑе пÑебÑÑеÑинг. ÐоÑÐµÐ¼Ñ 25, а не 30000/1001? ÐÑ, пÑиÑина в Ñом, ÑÑо пÑи
- иÑполÑзовании 30000/1001 изобÑажение наÑÐ¸Ð½Ð°ÐµÑ Ñлегка дÑожаÑÑ. ÐÑиÑина нам неизвеÑÑна.
- ÐÑли Ð²Ñ ÑÑавиÑе ÑÑо знаÑение где-Ñо Ð¼ÐµÐ¶Ð´Ñ 25 и 27 каÑÑинка ÑÑабилизиÑÑеÑÑÑ.
- Ðока ÑÑо Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ ÑолÑко пÑинÑÑÑ ÑÑо как ÑакÑ
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf expand=-1:-1:-1:-1:1</option></term>
- <listitem><para>
- ХоÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ DXR3 Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð¼ÐµÑаÑÑ Ð½ÐµÐºÐ¾ÑоÑÑй OSD в MPEG-1/2/4 видео, он
- Ð¸Ð¼ÐµÐµÑ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ более плоÑ
ое каÑеÑÑво, Ñем ÑÑадиÑионнÑй OSD
- <application>MPlayer</application>, и Ð¸Ð¼ÐµÐµÑ Ð½ÐµÑколÑко пÑоблем пÑи обновлении к
- ÑÐ¾Ð¼Ñ Ð¶Ðµ. Ðоманда, ÑÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð²ÑÑе, ÑнаÑала оÑконвеÑÑиÑÑÐµÑ Ð²Ñ
одное видео в
- MPEG-4 (ÑÑо обÑзаÑелÑно, извиниÑе), заÑем пÑÐ¸Ð¼ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½ expand, коÑоÑÑй не бÑдеÑ
- ниÑего ÑаÑÑиÑÑÑÑ (-1: по-ÑмолÑаниÑ), но Ð½Ð°Ð»Ð¾Ð¶Ð¸Ñ Ð½Ð¾ÑмалÑное OSD на каÑÑинкÑ
- (ÑÑо вÑе, ÑÑо Ð´ÐµÐ»Ð°ÐµÑ "1" в конÑе ÑÑÑоки).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ac hwac3</option></term>
- <listitem><para>
- em8300 поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ð¾ÑпÑоизведение звÑка AC-3 (окÑÑжаÑÑий звÑк) ÑеÑез
- ÑиÑÑовой аÑдио вÑÑ
од каÑÑÑ.СмоÑÑиÑе опÑÐ¸Ñ <option>-ao oss</option> вÑÑе,
- она должна иÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²Ñвода ÑеÑез DXR3 вмеÑÑо звÑковой каÑÑÑ.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="other">
-<title>ÐÑÑгое обоÑÑдование вÑвода видео</title>
-
-<sect2 id="zr">
-<title>Zr</title>
-
-<para>
-ÐÑо видеодÑÐ°Ð¹Ð²ÐµÑ (<option>-vo zr</option>) Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑого колиÑеÑÑва MJPEG каÑÑ
-заÑ
ваÑа/воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ (ÑеÑÑиÑовалÑÑ Ð½Ð° DC10+ и Buz, но Ñакже должен ÑабоÑаÑÑ Ð´Ð»Ñ
-LML33, DC10). ÐÑÐ°Ð¹Ð²ÐµÑ ÑабоÑаеÑ, кодиÑÑÑ ÐºÐ°Ð´Ñ Ð² JPEG, и оÑпÑавлÑÑ ÐµÐ³Ð¾ каÑÑе.
-ÐÐ»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ JPEG иÑполÑзÑеÑÑÑ Ð¸ ÑÑебÑеÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека
-<systemitem class="library">libavcodec</systemitem>.
-Со ÑпеÑиалÑнÑм Ñежимом <emphasis>cinerama</emphasis>,
-Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑмоÑÑеÑÑ ÑилÑÐ¼Ñ Ð½Ð° дейÑÑвиÑелÑно ÑиÑоком ÑкÑане, коÑоÑÑй можно полÑÑиÑÑ,
-Ð¸ÐµÐ¼Ñ Ð´Ð²Ð° пÑоекÑоÑа и две MJPEG каÑÑÑ. РзавиÑимоÑÑи Ð¾Ñ ÑазÑеÑениÑ
-и наÑÑÑоек каÑеÑÑва, ÑÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ ÑÑÑеÑÑвенной моÑноÑÑи CPU,
-не забÑвайÑе ÑказÑваÑÑ <option>-framedrop</option>, еÑли маÑа маÑина
-ÑлиÑком медленнаÑ. ÐамеÑание: Ðой AMD K6-2 350ÐÐÑ ÑвлÑеÑÑÑ (Ñ
-<option>-framedrop</option>) вполне подÑ
одÑÑим Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа маÑеÑиала ÑазмеÑа VCD,
-и ÑилÑмов Ñ ÑменÑÑеннÑм ÑазÑеÑением.
-</para>
-
-<para>
-ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð¾Ð±ÑаеÑÑÑ Ñ Ð´ÑайвеÑом ÑдÑа, доÑÑÑпном на
-<ulink url="http://mjpeg.sf.net"/>, Ñак ÑÑо ÑнаÑала должен коÑÑекÑно заÑабоÑаÑÑ Ð²ÑоÑой.
-ÐалиÑие MJPEG каÑÑÑ Ð°Ð²ÑомаÑиÑеÑки опÑеделÑеÑÑÑ ÑкÑипÑом
-<filename>configure</filename>, еÑли ÑÑого не пÑоиÑÑ
одиÑ, вклÑÑиÑе пÑинÑдиÑелÑное опÑеделение
-пÑи помоÑи
-<screen>./configure --enable-zr</screen>
-</para>
-
-<para>
-ÐÑвод Ð¼Ð¾Ð¶ÐµÑ ÑпÑавлÑÑÑÑÑ Ð½ÐµÑколÑкими опÑиÑми, подÑобнÑе опиÑÐ°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи
-на ÑÑÑаниÑе ÑÑководÑÑва man, коÑоÑкий ÑпиÑок опÑий полÑÑиÑе, вÑполнив
-<screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
-Такие веÑи как маÑÑÑабиÑование и OSD не оÑÑÑеÑÑвлÑÑÑÑÑ ÑÑим
-дÑайвеÑом, но могÑÑ Ð±ÑÑÑ ÑделанÑ, иÑполÑзÑÑ Ð²Ð¸Ð´ÐµÐ¾Ð¿Ð»Ð°Ð³Ð¸Ð½Ñ. ÐапÑимеÑ, пÑедположим, ÑÑо
-Ð²Ñ Ð¸Ð¼ÐµÐµÑе ÑилÑм Ñ ÑазÑеÑением 512x272 и Ñ
оÑиÑе пÑоÑмоÑÑеÑÑ Ñго в полноÑкÑанном
-Ñежиме на DC10+. ÐÑÑÑ ÑÑи главнÑе возможноÑÑи: Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе оÑмаÑÑÑабиÑоваÑÑ ÑилÑм
-до ÑиÑÐ¸Ð½Ñ 768, 384 или 192. Ðо пÑиÑинам пÑоизводиÑелÑноÑÑи и каÑеÑÑва Ñ Ð±Ñ
-вÑбÑал маÑÑÑабиÑование до 384x204, иÑполÑзÑÑ Ð±ÑÑÑÑÑй билинейнÑй пÑогÑаммнÑй
-модÑлÑ. ÐÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ ÑÑÑока:
-<screen>
-mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-ÐбÑезка Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñполнена плагином <option>crop</option> и Ñамим дÑайвеÑом.
-ÐÑедполагаÑ, ÑÑо ÑилÑм ÑлиÑком ÑиÑок Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Buz, и Ð²Ñ Ñ
оÑиÑе
-иÑполÑзоваÑÑ <option>-zrcrop</option> Ð´Ð»Ñ ÑменÑÑÐµÐ½Ð¸Ñ ÑиÑинÑ, Ñо необÑ
одимо пÑимениÑÑ
-ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
-<screen>
-mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-ÐÑли Ð²Ñ Ñ
оÑиÑе иÑполÑзоваÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½ <option>crop</option>, вÑполниÑе
-<screen>
-mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-ÐополниÑелÑное Ñказание <option>-zrcrop</option> акÑивизиÑÑеÑ
-Ñежим <emphasis>cinerama</emphasis>, Ñ.е. Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑаÑпÑеделиÑÑ ÑилÑм на неÑколÑко
-TV или пÑоекÑоÑов Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¾Ð»ÑÑего ÑкÑана. ÐÑедположим Ñ Ð²Ð°Ñ Ð´Ð²Ð° пÑоекÑоÑа.
-ÐевÑй подклÑÑен к Buz на <filename>/dev/video1</filename>,а пÑавÑй подклÑÑен
-к DC10+ на <filename>/dev/video0</filename>. ФилÑм Ð¸Ð¼ÐµÐµÑ ÑазÑеÑение 704x288.
-Также пÑедположим, ÑÑо Ð²Ñ Ñ
оÑиÑе вÑводиÑÑ Ð½Ð° пÑавÑй пÑоекÑÐ¾Ñ Ð² ÑеÑно-белом ÑвеÑе, а
-левÑй должен имеÑÑ JPEG кадÑÑ ÐºÐ°ÑеÑÑва 10. в ÑÑом ÑлÑÑае Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказаÑÑ:
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Ðожно видеÑÑ, ÑÑо опÑии, вÑÑÑеÑаÑÑиеÑÑ Ð´Ð¾ вÑоÑого <option>-zrcrop</option>, пÑименÑÑÑÑÑ
-ÑолÑко к DC10+, а опÑии поÑле вÑоÑого пÑименÑÑÑÑÑ ÑолÑко к Buz.
-ÐакÑималÑное колиÑеÑÑво каÑÑ Ð´Ð»Ñ Ñежима <emphasis>cinerama</emphasis> Ñавно
-ÑеÑÑÑем, Ñак ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе поÑÑÑоиÑÑ 2x2 видеоÑÑенÑ.
-</para>
-
-<para>
-ÐÐ°ÐºÐ¾Ð½ÐµÑ Ð²Ð°Ð¶Ð½Ð¾Ðµ замеÑание: Ðе запÑÑкайÑе и не оÑÑанавливайÑе XawTV на ÑÑÑÑойÑÑве
-воÑпÑоизведениÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´Ð²ÐµÑиÑÑ Ð²Ð°Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑ. Тем не менее, можно пÑекÑаÑно
-<emphasis role="bold">СÐÐЧÐÐÐ</emphasis> запÑÑÑиÑÑ XawTV, <emphasis role="bold">ÐÐТÐÐ</emphasis>
-запÑÑÑиÑÑ <application>MPlayer</application>, подождаÑÑ, пока <application>MPlayer</application>
-завеÑÑÐ¸Ñ ÑабоÑÑ Ð¸ <emphasis role="bold">ÐÐТÐÐ</emphasis> оÑÑановиÑÑ XawTV.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="blinkenlights">
-<title>Blinkenlights[ÐеÑÑаÑÑие огни?]</title>
-<para>
-ÐÑÐ¾Ñ Ð´ÑÐ°Ð¹Ð²ÐµÑ ÑпоÑобен воÑпÑоизводиÑÑ, иÑполÑзÑÑ Blinkenlights UDP пÑоÑокол. ÐÑли не
-знаеÑе, ÑÑо Ñакое <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>
-или его пÑеемник <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>,
-вÑÑÑниÑе ÑÑо. ХоÑÑ ÑÑо, возможно, Ñеже вÑего иÑполÑзÑемÑй дÑайвеÑ, без ÑомнениÑ,
-ÑÑо ÑÐ°Ð¼Ð°Ñ ÐºÐ»ÐµÐ²Ð°Ñ Ð²ÐµÑÑ, пÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÐ¼Ð°Ñ <application>MPlayer</application>. ÐÑоÑÑо
-поÑмоÑÑиÑе некоÑоÑÑе из
-<ulink url="http://www.blinkenlights.de/video.en.html">видеоÑоликов докÑменÑаÑии Blinkenlights</ulink>.
-Ðа видео Arcade Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе видеÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð²Ð¸Ð´ÐµÐ¾Ð²Ñвода Blinkenlights в дейÑÑвии в 00:07:50.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tvout">
-<title>ÐоддеÑжка TV-вÑÑ
ода</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Matrox G400 каÑÑÑ</title>
-
-<para>
-Ðод Linux еÑÑÑ Ð´Ð²Ð° ÑпоÑоба полÑÑиÑÑ ÑабоÑаÑÑий TV вÑÑ
од на G400:
-</para>
-
-<important>
-<para>
-инÑÑÑÑкÑии по TV-вÑÑ
Ð¾Ð´Ñ Ð´Ð»Ñ Matrox G450/G550, ÑмоÑÑиÑе в ÑледÑÑÑем Ñазделе!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem>
- <para>
- ÐÑполÑзÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ Ð¸ HAL модÑлÑ, доÑÑÑпнÑй Ñ
- <ulink url="http://www.matrox.com">ÑайÑа Matrox</ulink>. ÐÑо даÑÑ Ð²Ð°Ð¼ X на TV.
- </para>
- <para>
- <emphasis role="bold">ÐÑÐ¾Ñ Ð¼ÐµÑод на Ð´Ð°ÐµÑ ÑÑкоÑенного воÑпÑоизведениÑ</emphasis>
- как под Windows! ÐÑоÑой вÑÑ
од Ð¸Ð¼ÐµÐµÑ ÑолÑко YUV ÑÑеймбÑÑеÑ, <emphasis>BES</emphasis>
- (Back End Scaler, модÑÐ»Ñ YUV маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° каÑÑаÑ
G200/G400/G450/G550) на
- нем не ÑабоÑаеÑ! ÐÑÐ°Ð¹Ð²ÐµÑ windows как-Ñо ÑÑо обÑ
одиÑ, возможно иÑполÑзÑÑ
- 3D движок Ð´Ð»Ñ Ð¼Ð°ÑÑÑабиÑованиÑ, а YUV ÑÑеймбÑÑÐµÑ - Ð´Ð»Ñ Ð²Ñвода оÑмаÑÑÑабиÑованного
- изобÑажениÑ. ÐÑли Ð²Ñ Ð´ÐµÐ¹ÑÑвиÑелÑно Ñ
оÑиÑе иÑполÑзоваÑÑ X, иÑполÑзÑйÑе опÑии
- <option>-vo x11 -fs -zoom</option>, но ÑÑо бÑÐ´ÐµÑ <emphasis role="bold">ÐÐÐÐÐÐÐÐ</emphasis>,
- и бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð²ÐºÐ»ÑÑеннÑÑ Ð·Ð°ÑиÑÑ Ð¾Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ <emphasis role="bold">Macrovision</emphasis>
- (можно "обойÑи" Macrovision иÑполÑзÑÑ ÑÑоÑ
- <ulink url="http://avifile.sf.net/mgamacro.pl">ÑкÑÐ¸Ð¿Ñ Ð½Ð° perl</ulink>).
- </para>
- </listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem>
- <para>
- ÐÑполÑзÑÑ <emphasis role="bold">модÑли matroxfb</emphasis> в 2.4 ÑдÑаÑ
.
- 2.2 ÑдÑа не имеÑÑ Ð² ÑÑиÑ
модÑлÑÑ
возможноÑÑи ÑабоÑÑ Ñ TV-out, Ñак ÑÑо Ð´Ð»Ñ Ð½Ð°Ñего
- дела непÑигоднÑ. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÐºÐ»ÑÑиÑÑ ÐСРmatroxfb-оÑноÑÑÑиеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи во вÑÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии
- (кÑоме MultiHead), и ÑкомпилиÑоваÑÑ Ð¸Ñ
в <emphasis role="bold">модÑли</emphasis>!
- Ðам Ñакже необÑ
одима задейÑÑÐ²Ð¾Ð²Ð°Ð½Ð½Ð°Ñ I2C.
- </para>
-
- <procedure>
- <step><para>
- ÐойдиÑе в <filename class="directory">TVout</filename> и набеÑиÑе
- <command>./compile.sh</command>. УÑÑановиÑе
- <filename>TVout/matroxset/matroxset</filename>
- кÑда-нидÑÐ´Ñ Ð² ваÑи <envar>PATH</envar>.
- </para></step>
- <step><para>
- ÐÑли Ð²Ñ ÐµÑе не имееÑе ÑÑÑановленного <command>fbset</command>, помеÑÑиÑе
- <filename>TVout/fbset/fbset</filename>
- кÑда-нибÑÑÑ Ð² ваÑи <envar>PATH</envar>.
- </para></step>
- <step><para>
- ÐÑÐ»Ñ <command>con2fb</command> Ñ Ð²Ð°Ñ ÐµÑе не ÑÑÑановлен, помеÑÑиÑе
- <filename>TVout/con2fb/con2fb</filename>
- кÑда-нибÑÑÑ Ð² ваÑи <envar>PATH</envar>.
- </para></step>
- <step><para>
- ÐаÑем войдиÑе в каÑалог <filename class="directory">TVout/</filename>
- в иÑÑ
одникаÑ
<application>MPlayer</application>, и запÑÑÑиÑе
- <filename>./modules</filename> Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ root. ÐаÑа конÑÐ¾Ð»Ñ Ð¸Ð· ÑекÑÑового Ñежима
- пеÑеклÑÑиÑÑÑ Ð² Ñежим ÑÑеймбÑÑеÑа (обÑаÑно не полÑÑиÑÑÑ!).
- </para></step>
- <step><para>
- ÐаÑем, ÐТРÐÐÐÐТÐРУÐТРи запÑÑÑиÑе ÑкÑÐ¸Ð¿Ñ <filename>./matroxtv</filename>.
- Ðн Ð¿Ð¾ÐºÐ°Ð¶ÐµÑ Ð²Ð°Ð¼ оÑÐµÐ½Ñ Ð¿ÑоÑÑое менÑ. ÐажмиÑе <keycap>2</keycap> и
- <keycap>Enter</keycap>. ТепеÑÑ Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²ÑÑ ÐºÐ°ÑÑÐ¸Ð½ÐºÑ Ð½Ð°
- мониÑоÑе и TV. ÐÑли каÑÑинка на TV (PAL по-ÑмолÑаниÑ) Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе
- ÑÑÑаннÑе полоÑÑ, знаÑÐ¸Ñ ÑкÑÐ¸Ð¿Ñ Ð½Ðµ Ñмог коÑÑекÑно ÑÑÑановиÑÑ ÑазÑеÑение
- (на 640x512 по-ÑмолÑаниÑ). ÐопÑобÑйÑе дÑÑгие ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸Ð· менÑ
- и/или поÑкÑпеÑименÑиÑÑйÑе Ñ fbset.
- </para></step>
- <step><para>
- ÐоÑ. СледÑÑÑÐ°Ñ Ð·Ð°Ð´Ð°Ñа - ÑбÑаÑÑ ÐºÑÑÑÐ¾Ñ Ñ tty1 (или где он еÑÑÑ), и вÑклÑÑиÑÑ
- гаÑение ÑкÑана. ÐапÑÑÑиÑе ÑледÑÑÑие командÑ:
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- or
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
- Ðозможно Ð²Ñ Ð·Ð°Ñ
оÑиÑе помеÑÑиÑÑ Ð²ÑÑеÑказанное в ÑкÑипÑ, добавив оÑиÑÑÐºÑ ÑкÑана.
- ЧÑÐ¾Ð±Ñ Ð²ÐµÑнÑÑÑ ÐºÑÑÑÐ¾Ñ Ð½Ð°Ð·Ð°Ð´
- <screen>echo -e '\033[?25h'</screen> или
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- ÐоÑово. ÐапÑÑкайÑе воÑпÑоизведение
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>filename</replaceable><!--
- --></screen>
-
- (ÐÑли иÑполÑзÑеÑе X, пеÑеклÑÑиÑеÑÑ ÑепеÑÑ Ð² matroxfb пÑи помоÑи, напÑимеÑ
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.)
- ÐамениÑе <literal>640</literal> и <literal>512</literal>, еÑли ÑÑÑановили дÑÑгое
- ÑазÑеÑение...
- </para></step>
- <step><para>
- <emphasis role="bold">ÐаÑлаждайÑеÑÑ ÑÑпеÑ-бÑÑÑÑÑм, ÑÑпеÑ-навоÑоÑеннÑм вÑводом Matrox TV
- (лÑÑÑе Ñем Xv)!</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-
-<formalpara><title>Создание ÐºÐ°Ð±ÐµÐ»Ñ Matrox TV-out</title>
-<para>
-ÐикÑо не Ð´Ð°ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
гаÑанÑий и не неÑÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹ оÑвеÑÑÑвенноÑÑи
-за возможное нанеÑение ÑÑеÑба, вÑзванное вÑполнением инÑÑÑÑкÑий, ÑказаннÑеÑ
в ÑÑой
-докÑменÑаÑии.
-</para>
-</formalpara>
-<!-- FIXME check for correct translation of cable pins assignments -->
-<formalpara>
-<title>ÐÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ñ G400</title>
-<para>
-ЧеÑвеÑÑÑй конÑÐ°ÐºÑ CRTC2 коннекÑоÑа - ÑÑо композиÑнÑй видео Ñигнал. ÐÐµÐ¼Ð»Ñ - ÑеÑÑой,
-ÑедÑмой и воÑÑмой конÑакÑÑ. (инÑоÑмаÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑена Ð¾Ñ Balázs Rácz)
-</para>
-</formalpara>
-
-<formalpara><title>ÐÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ñ G450</title>
-<para>
-ÐеÑвÑй конÑÐ°ÐºÑ CRTC2 коннекÑоÑа - ÑÑо композиÑнÑй видео Ñигнал. ÐÐµÐ¼Ð»Ñ - пÑÑÑй,
-ÑеÑÑой, ÑедÑмой и пÑÑнадÑаÑÑй (5, 6, 7, 15) конÑакÑÑ.
-(инÑоÑмаÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑена Ð¾Ñ Balázs Kerekes)
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_g450">
-<title>Matrox G450/G550 каÑÑÑ</title>
-<para>
-ÐоддеÑжка TV вÑÑ
ода Ð´Ð»Ñ ÑÑиÑ
каÑÑ Ð±Ñла добавлена недавно, и пока оÑÑÑÑÑÑвÑÐµÑ Ð² оÑновном
-ÑдÑе. РданнÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ <emphasis role="bold">mga_vid</emphasis> не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован
-AFAIK, поÑколÑÐºÑ Ð´ÑÐ¹Ð²ÐµÑ G450/G550 ÑабоÑÐ°ÐµÑ ÑолÑко в одной конÑигÑÑаÑии:
-пеÑвÑй Ñип CRTC (Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÑÑим колиÑеÑÑвом возможноÑÑей) на пеÑвом ÑкÑане
-(мониÑоÑе), и вÑоÑой Ñип CRTC (без <emphasis role="bold">BES</emphasis> - Ð´Ð»Ñ Ð¾Ð±ÑÑÑнениÑ,
-ÑÑо Ñакое BES, ÑмоÑÑиÑе Ñаздел о G400 вÑÑе) на TV. Так ÑÑо в наÑÑоÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñ
-можеÑе иÑполÑзоваÑÑ ÑолÑко дÑÐ°Ð¹Ð²ÐµÑ Ð²Ñвода <emphasis>fbdev</emphasis> пÑогÑаммÑ
-<application>MPlayer</application>.
-</para>
-
-<para>
-ÐеÑвÑй CRTC не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÐµÑенапÑавлен на вÑоÑой вÑÑ
од на ÑекÑÑий моменÑ.
-ÐвÑÐ¾Ñ Ð´ÑайвеÑа ÑдÑа matroxfb - Petr Vandrovec - возможно Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð´Ð»Ñ
-ÑÑого, оÑобÑÐ°Ð¶Ð°Ñ Ð²Ñвод пеÑвого CRTC одновÑеменно на два вÑÑ
ода, как в даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¸
-ÑекомендÑеÑÑÑ Ð´Ð»Ñ G400, ÑмоÑÑиÑе Ñаздел вÑÑе.
-</para>
-
-<para>
-ÐеобÑ
одимÑй паÑÑ Ð´Ð»Ñ ÑдÑа и деÑалÑное HOWTO можно ÑкаÑаÑÑ Ñ
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-ati">
-<title>ATI каÑÑÑ</title>
-
-<formalpara><title>ÐÐ ÐÐÐÐУÐÐ</title>
-<para>
-СейÑÐ°Ñ ATI не Ñ
оÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Ð½Ð¸ один из ее TV-out Ñипов под Linux, по пÑиÑине
-ÑеÑ
нологии лиÑензиÑованной ими Ñ Macrovision.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>СТÐТУС ÐÐÐÐÐÐ ÐÐÐ TV-OUT ÐÐЯ ÐÐРТ ATI ÐÐÐ LINUX</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- поддеÑживаеÑÑÑ <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- поддеÑживаеÑÑÑ <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> и <emphasis role="bold">Rage128</emphasis>:
- поддеÑживаеÑÑÑ <application>MPlayer</application>!
- СмоÑÑиÑе ÑÐ°Ð·Ð´ÐµÐ»Ñ <link linkend="vesa">VESA дÑайвеÑ</link> и
- <link linkend="vidix">VIDIX</link>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- поддеÑживаеÑÑÑ <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-ÐÐ»Ñ Ð´ÑÑгиÑ
каÑÑ Ð¿ÑоÑÑо иÑполÑзÑйÑе <link linkend="vesa">VESA</link> дÑайвеÑ, без
-VIDIX. ÐонеÑно, ÑÑебÑеÑÑÑ Ð¼Ð¾ÑнÑй CPU.
-</para>
-
-<para>
-ÐдинÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑÑ, коÑоÑÑÑ Ð½Ð°Ð´Ð¾ ÑделаÑÑ - <emphasis role="bold">ÐмеÑÑ TV коннекÑоÑ
-подклÑÑеннÑм до загÑÑзки ваÑего PC</emphasis>, поÑколÑÐºÑ Ð²Ð¸Ð´ÐµÐ¾ BIOS иниÑиализиÑÑеÑ
-ÑÐµÐ±Ñ ÑолÑко один Ñаз во вÑÐµÐ¼Ñ POST пÑоÑедÑÑÑ.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-<para>
-Ðо-пеÑвÑÑ
, Ð²Ñ ÐÐÐÐÐЫ ÑкаÑаÑÑ Ð·Ð°ÐºÑÑÑÑе дÑайвеÑÑ Ñ <ulink url="http://nvidia.com"/>.
-Я не бÑÐ´Ñ Ð¾Ð¿Ð¸ÑÑваÑÑ Ð¿ÑоÑеÑÑ ÑÑÑановки и наÑÑÑойки, поÑколÑÐºÑ ÑÑо вÑÑ
Ð¾Ð´Ð¸Ñ Ð·Ð° Ñамки данной
-докÑменÑаÑии.
-</para>
-
-<para>
-ÐоÑле Ñого, как XFree86, XVideo, и 3D ÑÑкоÑение заÑабоÑÐ°ÐµÑ Ð¿ÑавилÑно, оÑÑедакÑиÑÑйÑе Ñаздел
-Device Ð´Ð»Ñ Ð²Ð°Ñей каÑÑÑ Ð² Ñайле <filename>XF86Config</filename>, в ÑооÑвеÑÑÑвии Ñ
-ÑказаннÑм ниже пÑимеÑом (адапÑиÑÑйÑе к ваÑей каÑÑе/TV):
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-EndSection
-</programlisting>
-</para>
-
-<para>
-ÐонеÑно же Ð²Ð°Ð¶Ð½Ð°Ñ ÑаÑÑÑ - ÑÑо TwinView.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-neomagic">
-<title>NeoMagic</title>
-<para>
-Чип NeoMagic найден на ÑазлиÑнÑÑ
ноÑÑбÑкаÑ
, некоÑоÑÑе из коÑоÑÑÑ
оÑнаÑаÑÑÑÑ
-пÑоÑÑÑм аналоговÑм TV кодеÑом, некоÑоÑÑе имеÑÑ Ð±Ð¾Ð»ÐµÐµ пÑодвинÑÑÑй.
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Чип аналогового кодеÑа</emphasis>:
- СообÑалоÑÑ, ÑÑо надежнÑй TV вÑÑ
од можно полÑÑиÑÑ, иÑполÑзÑÑ
- <option>-vo fbdev</option> или <option>-vo fbdev2</option>.
- Ðам ÑÑебÑеÑÑÑ Ð¸Ð¼ÐµÑÑ vesafb ÑкомпилиÑованнÑй в ваÑем ÑдÑе и пеÑедаÑÑ
- ÑледÑÑÑие паÑамеÑÑÑ Ð² командной ÑÑÑоке ÑдÑа:
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- Ðам ÑледÑÐµÑ Ð·Ð°Ð¿ÑÑÑиÑÑ <application>X</application>, заÑем пеÑеклÑÑиÑеÑÑ Ð²
- конÑолÑнÑй Ñежим пÑи помоÑи, напÑимеÑ,
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.
- ÐÑли Ð²Ñ Ð½Ðµ запÑÑÑиÑе <application>X</application> до запÑÑка
- <application>MPlayer</application> в конÑоли, видео ÑÑÐ°Ð½ÐµÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñм и
- дÑожаÑим[choppy] (обÑÑÑÐ½ÐµÐ½Ð¸Ñ Ð¿ÑивеÑÑÑвÑÑÑÑÑ).
- ÐалогинÑÑеÑÑ Ð² конÑоли и запÑÑÑиÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
-
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
-
- ТепеÑÑ Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвидеÑÑ ÑилÑм, запÑÑеннÑй в конÑолÑном Ñежиме, заполнÑÑÑий
- пÑимеÑно Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ LCD ÑкÑана ваÑего ноÑÑбÑка.
- ÐÐ»Ñ Ð¿ÐµÑеклÑÑÐµÐ½Ð¸Ñ Ð² TV нажмиÑе
- <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo> ÑÑи Ñаза.
- ТеÑÑиÑовалÑÑ Ð½Ð° Tecra 8000, 2.6.15 ÑдÑе Ñ vesafb, ALSA v1.0.10.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">Chrontel 70xx Ñип кодиÑованиÑ</emphasis>:
- Ðайден на IBM Thinkpad 390E и, возможно, дÑÑгиÑ
Thinkpad или ноÑÑбÑкаÑ
.
- </para><para>
- ÐеобÑ
одимо иÑполÑзоваÑÑ <option>-vo vesa:neotv_pal</option> Ð´Ð»Ñ PAL или
- <option>-vo vesa:neotv_ntsc</option> Ð´Ð»Ñ NTSC.
- ÐÑо даÑÑ TV вÑÑ
од, ÑабоÑаÑÑий в ÑледÑÑÑиÑ
16 bpp и 8 bpp ÑежимаÑ
:
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480 and maybe 800x600 too.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
- </itemizedlist>
- <para>Режим 512x384 не поддеÑживаеÑÑÑ Ð² BIOS. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¼Ð°ÑÑÑабиÑоваÑÑ
- изобÑажение в дÑÑгое ÑазÑеÑение Ð´Ð»Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ TV вÑÑ
ода. ÐÑли Ð²Ñ Ð²Ð¸Ð´Ð¸Ñе
- изобÑажение на ÑкÑане в ÑазÑеÑении 640x480 или 800x600, но не 320x240 или дÑÑгом
- менÑÑем ÑазÑеÑении, вам ÑÑебÑеÑÑÑ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ð´Ð²Ðµ ÑаблиÑÑ Ð² <filename>vbelib.c</filename>.
- СмоÑÑиÑе ÑÑнкÑÐ¸Ñ vbeSetTV Ð´Ð»Ñ Ð¿Ð¾Ð´ÑобноÑÑей. ÐожалÑйÑÑа, ÑвÑжиÑеÑÑ Ð°Ð²ÑоÑом в ÑÑом
- ÑлÑÑае.
- </para>
- <para>
- ÐзвеÑÑнÑе пÑоблемÑ: ÑолÑко VESA, не ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ ÑазлиÑнÑе наÑÑÑойки, Ñакие как ÑÑкоÑÑÑ,
- конÑÑаÑÑноÑÑÑ, ÑÑÐ¾Ð²ÐµÐ½Ñ ÑеÑного, ÑилÑÑÑ Ð´ÑожаниÑ[flickfilter].
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/zh_CN/bugreports.xml b/DOCS/xml/zh_CN/bugreports.xml
deleted file mode 100644
index 01100d2..0000000
--- a/DOCS/xml/zh_CN/bugreports.xml
+++ /dev/null
@@ -1,459 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21612 -->
-<appendix id="bugreports">
-<title>å¦ä½æ¥åé误</title>
-
-<para>
-好çé误æ¥å对äºä»»ä½è½¯ä»¶é¡¹ç®é½æ¯é常æä»·å¼çè´¡ç®ãä½å¦ååå¥½è½¯ä»¶ä¸æ ·ï¼å¥½çé误
-æ¥åä¹çµæ¶ä¸äºå·¥ä½ã请æè¯å°å¤§å¤æ°å¼åè
é常å¿ç¢ï¼æ¯å¤©æ¶å°å¤§éé®ä»¶ãæä»¥å¦æä½
-çåé¦å¯¹æé«<application>MPlayer</application>å¾éè¦å¹¶è½å¾å°å¾å¤è®¤å¯ï¼è¯·çè§£ä½
-å¿
é¡»æä¾æä»¬æéç<emphasis role="bold">ææ</emphasis>ä¿¡æ¯ï¼å¹¶éµå®ä¸ææè¿°å®
-åã
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_security">
-<title>æ¥åå®å
¨ç¸å
³é误</title>
-
-<para>
-å¦æä½ åç°äºä¸ä¸ªå¯è¢«å©ç¨çé误并ä¸ä½ æ¿æåæ£ç¡®çäºèä¸å¨ä½ æé²åºé误ä¹
-å让æä»¬ä¿®æ£æ¤éè¯¯ï¼æä»¬å¾é«å
´å¨<ulink url="mailto:security at mplayerhq.hu">
-security at mplayerhq.hu</ulink>æ¶å°ä½ å
³äºå®å
¨æ³¨æççµåé®ä»¶ã
-è¯·å¨æ é¢ä¸å 注[SECURITY]æè
[ADVISORY]åæ ·ã
-请确å®ä½ çæ¥åå
å«äºå¯¹äºéè¯¯å®æ´èç»è´çåæã
-æ´æ¬¢è¿æäº¤ç¸å
³ä¿®æ£ã
-å¦åç°æ¦å¿µä¸å¯è¢«å©ç¨çé误请ä¸è¦åçï¼ä½ å¯ä»¥å¨å¦ä¸å°é®ä»¶ä¸æäº¤æ¤æ¥åã
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_fix">
-<title>å¦ä½ä¿®æ£é误</title>
-
-<para>
-å¦æä½ è§å¾ä½ æè¶³å¤è½åï¼ä½ ä¹ä¼è¢«é请èªè¡ä¿®æ¹æ¤é误ãæè
ä½ å·²ç»åäºï¼è¯·é
读
-<ulink url="../../tech/patches.txt">æ¤ææ¡£</ulink>以æ¾åºå¦ä½å°æ¨ç代ç å å
¥
-<application>MPlayer</application>ãå¦æä½ æé®é¢ï¼å¨
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-é®ä»¶å表éç人å°ä¼å¸®å©ä½ ã
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_regression_test">
-<title>å¦ä½ç¨Subversionè¿è¡åéæµè¯</title>
-
-<para>
-ä¸ä¸ªç»å¸¸åççé®é¢æ¯âå®ä»åå¯ä»¥å·¥ä½ï¼ä½ç°å¨ä¸è¡äºâã
-æ¤å¤å°æä¾ä¸æ¥æ¥çè¿ç¨ä»¥å¸®å©å®ä½é®é¢ä½æ¶äº§çãè¿
-<emphasis role="bold">ä¸</emphasis>æ¯ä¸ºæ®éç¨æ·è设ã
-</para>
-
-<para>
-é¦å
ï¼ä½ éè¦ä»Subversionå¤è·å¾MPlayerçä»£ç æ ã
-<ulink url="http://www.mplayerhq.hu/dload.html">æ¤é¡µé¢</ulink>
-åºé¨ä½ å°ä¼åç°ç¸åºæç¤ºã
-</para>
-
-<para>
-å¨å®¢æ·ç«¯ï¼ä½ ç°å¨å°å¨mplayer/ç®å½ä¸å¾å°ä¸ä»½Subversionçéåã
-ç°å¨ææ¤éåæ´æ°å°ä½ ææ³è¦çæ¥æï¼
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-æ¥ææ ¼å¼æ¯YYYY-MM-DD HH:MM:SSã
-ç¨æ¤æ¥ææ ¼å¼ä½ å°æ ¹æ®è¡¥ä¸æäº¤çæ¥æå°å
¶æååºæ¥ï¼å¦
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog archive</ulink>.
-æç¤º
-</para>
-
-<para>
-ç°å¨ç»§ç»å¯¹äºæ®éæ´æ°æéæ¥éª¤ï¼
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-妿æéç¨åºåé
è¯»è³æ¤ï¼æ¾å°é®é¢åçå¤çæå¿«æ¹æ³æ¯ä½¿ç¨äºåæ³æ¥æ¾—ï¼
-å³å¾ªç¯ä¸æå°å°æç´¢é´éæ¥æé¤äºã
-ä¾å¦ï¼å¦æé®é¢åçå¨2003å¹´ï¼ä»è¿ä¸å¹´çä¸é´æ¥èµ·ï¼ç¶åèªé®"é®é¢å·²ç»å¨è¿éäº
-ä¹ï¼"
-妿åçè¯å®ï¼å溯å°åæä¸å·ï¼å¦ä¸å¨ï¼åè¿å°åæä¸å·ï¼ä»¥æ¤ç±»æ¨ã
-</para>
-
-<para>
-å¦æä½ æå¾å¤ç©ºä½ç硬ç空é´ï¼å®å
¨ç¼è¯ç°å¨å°å ç¨100MBï¼å¦æè°è¯æ å¿è¢«æå®ï¼
-大æ¦å ç¨300-350MBï¼ï¼å¨æ´æ°åå¤å¶ä¸ä»½æè¿çæ£å¸¸çæ¬ï¼å¦æä½ è¦è¿åï¼è¿å°
-è约ä¸äºæ¶é´ã
-ï¼å¨éæ°ç¼è¯ä¸ä»½è¾æ©çæ¬åç»å¸¸éè¦æ§è¡'make distclean'ï¼æä»¥å¦æä½ æ²¡æ
-å¤ä»½ä½ åå§çä»£ç æ ï¼å½ä½ åå°å½åä»£ç æ¶ï¼ä½ å°ä¸å¾ä¸éæ°ç¼è¯å
¶ä¸çææä»£
-ç ãï¼
-</para>
-
-<para>
-å½ä½ åç°é®é¢åçç飿¥æï¼ä½¿ç¨mplayer-cvslogåç¼©ææ¡£ï¼ææ¥ææåºï¼ç»§ç»æ¥æ¾ï¼
-å¹¶ä¸ç¨æ´ç²¾ç¡®çå
å«å°æ¶ï¼åéï¼ç§çæ¥è¯¢ã
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-è¿å°ä½¿ä½ å¾å®¹æçåç°æ¯åªä¸ªè¡¥ä¸å¼èµ·çé®é¢ã
-</para>
-
-<para>
-å¦æä½ åç°äºå¼èµ·é®é¢çè¡¥ä¸ï¼ä½ å 乿åäºï¼æå®æ¥åå°ï¼
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink>æè
-注åå°
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-并䏿é误åéå°é£éã
-æå¯è½åå§ä½è
ç«åºæ¥æäº¤ä¸ä¸ªä¿®æ£ã
-ä½ ä¹å¯ä»¥ä»ç»é
读补ä¸ç´å°åç°é误产ççå°æ¹:-)ã
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_report">
-<title>å¦ä½æäº¤é误</title>
-
-<para>
-é¦å
请å°è¯<application>MPlayer</application>çææ°Subversionçæ¬ï¼å ä¸ºä½ ç
-é误å¯è½å·²ç»å¨é£éä¿®æ£äºãå¼åè¿å±çç¸å½å¿«ãæ£å¼åè¡çä¸çé误ç»å¸¸å¨å 天ç
-è³å å°æ¶å
被å
¬å¸ä¸æ¥ï¼æä»¥è¯·<emphasis role="bold">åªä½¿ç¨Subversion</emphasis>
-æ¥åé误ã
-è¿å
æ¬<application>MPlayer</application>çäºè¿å¶å
ã
-Subversionçæä»¤å¯å¨
-<ulink url="http://www.mplayerhq.hu/dload.html">æ¤é¡µ</ulink>åºé¨æ¥æ¾ï¼æå¨
-READMEæä»¶ä¸ãå¦æè¿æªè½æä¾å¸®å©ï¼è¯·æ¥è¯¢ å·²ç¥é误
-å表以åå
¶åææ¡£ã
-å¦æä½ çé®é¢æ¯æªç¥çæå¨æä»¬çæç¤ºä¸æªè½è§£å³ï¼è¯·æ¥åæ¤é误ã
-</para>
-
-<para>
-请ä¸è¦åç¬åå¼åè
ç§èªæäº¤é误æ¥åãè¿æ¯å¢éå·¥ä½ï¼æä»¥å¯è½æå¦å¤ä¸äºäººå¯¹æ¤
-æå
´è¶£ãææ¶å
¶ä»ç¨æ·å·²ç»ä½éªå°ä½ çé®é¢å¹¶ä¸ç¥éå¦ä½é¿å
ä¸ä¸ªé®é¢å³ä½¿ä»å¨
-<application>MPlayer</application>代ç 䏿¯ä¸ªé误ã
-</para>
-
-<para>
-请尽å¯è½è¯¦ç»çæè¿°ä½ çé®é¢ãç¨å¾®åäºæµè¯å·¥ä½ä»¥ä¾¿ç¼©å°äº§çæ
åµçèå´ãæ¤é误
-åªå¨æäºç¹å®æ
åµä¸åçåï¼å®åªé对ç¹å®æä»¶ææä»¶ç±»ååï¼å®åªä¼´éä¸ä¸ªç¼è§£ç
-å¨åºç°è¿æ¯åç¼è§£ç 卿 å
³ï¼ä½ è½å©ç¨ææçè¾åºé©±å¨é夿¤é误åï¼æ¨æä¾çä¿¡æ¯
-è¶å¤æä»¬è¶æå¯è½è§£å³ä½ çé®é¢ã请å«å¿è®°æä¾ä¸åæä»·å¼çä¿¡æ¯ï¼å¦åæä»¬å°ä¸è½
-å¾å¥½çæ¥åºä½ çé®é¢ã
-</para>
-
-<para>
-ä¸ç¯åçå¾å¥½çå
³äºå¨å
Œ
±è®ºå䏿é®çæå¯¼æ¯
-<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">å¦ä½èªæçé®é®é¢</ulink>
-ç±<ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>ç¼åã
-è¿æä¸ç¯
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">å¦ä½æææ¥åé误</ulink>
-ç±<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>ç¼åã
-å¦æä½ éµå¾ªè¿äºæå¯¼ä½ å°ä¼å¾å°å¸®å©ãä½è¯·æç½æä»¬é½æ¯èªæ¿å¨ç©ºä½æ¶é´æ¥è¯¢é®ä»¶å表ãæä»¬é常å¿
-å¹¶ä¸ä¸è½ä¿è¯ä½ çé®é¢ä¼å¾å°è§£å³çè³ä¸ä¸ªåçã
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_where">
-<title>å°åªéæ¥åé误</title>
-
-<para>
-å å
¥MPlayer-usersé®ä»¶å表:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-ç¶åæä½ çé误æ¥ååéå°
-<ulink url="mailto:mplayer-users at mplayerhq.hu"/>å¨é£éï¼ä½ ä¹å¯ä»¥è®¨è®ºå®ã
-</para>
-
-<para>
-å¦æä½ åæ¬¢ï¼ä½ ä¹å¯ä»¥ç¨æä»¬å¦å¤ä½¿ç¨æä»¬å
¨æ°ç
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink>ã
-</para>
-
-<para>
-æ¤å表çè¯è¨ä¸º<emphasis role="bold">è±æ</emphasis>ã
-请éµå¾ª
-<ulink url="http://www.ietf.org/rfc/rfc1855.txt">礼仪æå¯¼</ulink>æ å
-å¹¶ä¸<emphasis role="bold">ä¸è¦åéHTMLé®ä»¶</emphasis>尿们任ä½ä¸ä¸ªé®
-ä»¶å表ä¸ãä½ å°ä¼è¢«å¿½ç¥æç¦æ¢ãå¦æä½ ä¸ç¥éä»ä¹æ¯HTMLé®ä»¶æä¸ºä»ä¹ä»æ¯éª
-æ¶çï¼é
读è¿ç¯
-<ulink url="http://efn.no/html-bad.html">æç« </ulink>ã
-ä»è§£éäºææçç»èå¹¶æå
³éHTMLçæç¤ºãæ¤å¤è¯·æ³¨ææä»¬ä¸åç¬CC(æé)ç»ä¸ª
-äººï¼æä»¥æ³¨å䏿¥ä»¥ä¾¿å¾å°ä½ ççæ¡æ¯ä¸ªå¥½ä¸»æã
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_what">
-<title>æ¥åä»ä¹</title>
-
-<para>
-ä½ å¯è½è¦å¨ä½ çé误æ¥åä¸å
嫿¥å¿ï¼é
ç½®æä¾åæä»¶ã妿ä»ä»¬ä¸ä¸äºé常大ï¼
-æå¥½æå®å缩ï¼è¯·å°½é使ç¨gzipæbzip2ï¼å¹¶æäº¤å°æä»¬ç
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTPæå¡å¨</ulink>
-ä¸å¹¶ä¸å¨ä½ çé误æ¥åä¸åªå
å«è·¯å¾åæä»¶åç§°ãæä»¬çé®ä»¶å表æ80kçä¿¡æ¯éå¶ï¼
-å¦æä½ ææ´å¤§çéä»¶ï¼ä½ ä¸å¾ä¸å缩åæäº¤ã
-</para>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_system">
-<title>ç³»ç»ä¿¡æ¯</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
-ä½ çLinuxåè¡çæ¬ææä½ç³»ç»åçæ¬ï¼å¦ï¼
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + devel packs from 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-å
æ ¸çæ¬ï¼
- <screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
-libcçæ¬ï¼
- <screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
-gccåldçæ¬ï¼
- <screen>
-gcc -v
-ld -v<!--
- --></screen>
-</para></listitem>
-<listitem><para>
-binutilsçæ¬ï¼
- <screen>as --version</screen>
-</para></listitem>
-<listitem><para>
-å¦æä½ å¨å
¨å±æ¨¡å¼ä¸åºç°é®é¢ï¼
- <itemizedlist>
- <listitem><para>è§çªç®¡çå¨ç±»ååçæ¬</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-å¦æä½ æå
³äºXVIDIXçé®é¢ï¼
- <itemizedlist>
- <listitem><para>
- Xé¢è²æ·±åº¦ï¼
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-å¦æåªæ¯GUIæé误ï¼
- <itemizedlist>
- <listitem><para>GTKçæ¬</para></listitem>
- <listitem><para>GLIBçæ¬</para></listitem>
- <listitem><para>libpngçæ¬</para></listitem>
- <listitem><para>éè¯¯äº§çæ¶çGUIæ
åµ</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_hardware">
-<title>硬件å驱å¨</title>
-
-<para>
-<itemizedlist>
-<listitem><para>
-CPUä¿¡æ¯ï¼è¿åªå¨Linuxä¸å·¥ä½ï¼ï¼
- <screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
-æ¾å¡åå®¶ååå·ï¼ä¾å¦ï¼
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-æ¾å¡é©±å¨ & çæ¬ï¼ä¾å¦:
- <itemizedlist>
- <listitem><para>X built-in driver</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI from X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-声å¡åå· & 驱å¨ï¼ä¾å¦ï¼
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold with OSS driver from oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 with kernel OSS drivers</para></listitem>
- <listitem><para>GUS PnP with ALSA OSS emulation</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
-妿è¿åå¨çé®ï¼å
å«LInuxç³»ç»ä¸ç<command>lspci -vv</command>è¾åºä¿¡æ¯ã
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_configure">
-<title>Configureé®é¢</title>
-
-<para>
-å½ä½ 卿§è¡<command>./configure</command>,æä¸äºèªå¨æ£æµåçé误ï¼é
读
-<filename>config.log</filename>ãä½ å¯è½ä¼å¨é£éåç°çæ¡ãä¾å¦åä¸é¾æ¥åºçä¸å
-çæ¬å
±åäºä½ çç³»ç»ä¸ï¼æè
ä½ å¿è®°å®è£
å¼åå
ï¼å
嫿-devåç¼ï¼ãå¦æä½ è®¤ä¸ºæé误ï¼
-å¨ä½ çé误æ¥åä¸å
å«<filename>config.log</filename>ã
-</para>
-</sect2>
-
-<sect2 id="bugreports_compilation">
-<title>ç¼è¯é®é¢</title>
-
-<para>
-请å
å«è¿äºæä»¶ï¼
-<itemizedlist>
- <listitem><para>config.h</para></listitem>
- <listitem><para>config.mak</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_playback">
-<title>åæ¾é误</title>
-
-<para>
-请å
å«<application>MPlayer</application>å¨ä¸çº§verbose模å¼ä¸çè¾åºï¼å¦å¤è°¨è®°
-å½ä½ æå®ç²è´´å
¥é®ä»¶æ¶<emphasis role="bold">ä¸è¦æªæè¾åº</emphasis>
-å¼åè
éè¦ææä¿¡æ¯ä»¥ä¾¿æ£ç¡®è¯æä¸ä¸ªé®é¢ãä½ å¯ä»¥å¦ä¸æè¾åºå®åå°ä¸ä¸ªæä»¶ï¼
-<screen>
-mplayer -v <replaceable>options</replaceable> <replaceable>filename</replaceable> > mplayer.log 2>&1
-</screen>
-</para>
-
-<para>
-å¦æä½ çé®é¢åªé对ä¸ä¸ªææ´å¤æä»¶ï¼è¯·æä»ä»¬ä¸ä¼ å°ï¼
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
-</para>
-
-<para>
-å¦å¤ä¸ä¼ ä¸ä¸ªåä½ çåå§æä»¶æç¸åæ¬åå¹¶ç¨.txt为åç¼çå°ææ¬æä»¶ãæè¿°ä½ 卿¤æä»¶
-ä¸éå°çé®é¢ï¼å¹¶ä¸å
å«ä½ çemail以å<application>MPlayer</application>å¨verbose
-ä¸çº§æ¨¡å¼ä¸çè¾åºãéå¸¸ï¼æä»¶çå1-5 MBè¶³å¤ç¨äºéç°é®é¢ï¼å¯æ¯ç¡®å®æä»¬è¯·ä½ åï¼
-<screen>
-dd if=<replaceable>yourfile</replaceable> of=<replaceable>smallfile</replaceable> bs=1024k count=5
-</screen>
-å®å°æå'<emphasis role="bold">ä½ çæä»¶</emphasis>'çå5MBï¼å¹¶å°å®åå
¥
-'<emphasis role="bold">å°æä»¶</emphasis>'ãç¶å卿¤å°æä»¶ä¸éè¯ï¼å¦æ
-é误éç°ï¼ä½ çä¾å对æä»¬å·²ç»è¶³å¤äºã
-请<emphasis role="bold">åä¸ä¸è¦</emphasis>éè¿é®ä»¶ä¼ 鿤æä»¶ï¼
-ä¸ä¼ å¹¶ä¸åªåéæä»¶å¨FTPæå¡å¨ä¸çè·¯å¾/æä»¶åã妿æä»¶å¨ç½ç»ä¸è·å¾ï¼é£ä¹åé
-<emphasis role="bold">精确ç</emphasis>URL就足å¤äºã
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bugreports_crash">
-<title>å´©æº</title>
-
-<para>
-ä½ éè¦å¨<command>gdb</command>éè¿è¡<application>MPlayer</application>并䏿
-å®å
¨è¾åºåç»æä»¬ï¼æè
å¦æä½ ææ¤å´©æºç<filename>core</filename>è¾åºï¼ä½ è½ä»
-Coreæä»¶ä¸æåæç¨çä¿¡æ¯ãå¦ä¸ï¼
-</para>
-
-
-<sect3 id="bugreports_debug">
-<title>å¦ä½ä¿åä¸ä¸ªå¯éå¤å´©æºçä¿¡æ¯</title>
-
-<para>
-éæ°ç¼è¯<application>MPlayer</application>å¹¶æå¼debugé项:
-<screen>
-./configure --enable-debug=3
-make
-</screen>
-ç¶åå¨gdbä¸è¿è¡<application>MPlayer</application>:
-<screen>gdb ./mplayer</screen>
-ä½ å
å¨å¨gdbéé¢ãè¾å
¥ï¼
-<screen>
-run -v <replaceable>options-to-mplayer</replaceable> <replaceable>filename</replaceable>
-</screen>
-éå¤ä½ çå´©æºãä½ ä¸éç°æ¤ç°è±¡ï¼gdbå°ä½¿ä½ è¿åå½ä»¤è¡ï¼å¨æ¤ä½ è¾å
¥
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="bugreports_core">
-<title>å¦ä½ä»coreè¾åºæä»¶ä¸æåæç¨ä¿¡æ¯</title>
-
-<para>
-å建å¦ä¸å½ä»¤æä»¶ï¼
-<screen>
-bt
-disass $pc-32 $pc+32
-info all-registers
-</screen>
-ç¶ååªæ§è¡è¿ä¸ªå½ä»¤
-<screen>
-gdb mplayer --core=core -batch --command=command_file > mplayer.bug
-</screen>
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>æç¥éæå¨åä»ä¹...</title>
-
-<para>
-å¦æä½ ä¾ç
§å¦ä¸æ¥éª¤å建äºä¸ä¸ªæ£ç¡®çé误æ¥åï¼å¹¶ä¸ä½ ç¡®ä¿¡å®æ¯ä¸ª
-<application>MPlayer</application>ä¸çé误ï¼ä¸æ¯ç¼è¯å¨ææåæä»¶ï¼ä½ å·²ç»è¯»è¿
-ææ¡£å¹¶ä¸æ¾ä¸å°è§£å³æ¹æ¡ï¼ä½ ç声å¡é©±å¨æ£å¸¸ï¼é£ä¹ä½ å¯è½æ³æ³¨åå°MPlayer-advusers
-å表ä¸å¹¶åéä½ çé误æ¥åå°é£éï¼ä»¥ä¾¿å¾å°æ´å¥½æ´å¿«çåçã
-</para>
-
-<para>
-请注æå¦æä½ æäº¤æ°æé®é¢ææåä¸å·²ç»è§£ççé®é¢ï¼ä½ å¯è½ä¼è¢«å¿½ç¥çè³æ¹è¯è䏿¯
-å¾å°ç¸åºçæ¡ãæä»¥ä¸è¦éªæ°æä»¬å¹¶ä¸åªæä½ ç¥éä½ èªå·±å¨åä»ä¹å¹¶ä¸è§å¾èªå·±æ¯ä¸ªé«
-级<application>MPlayer</application>ç¨æ·æå¼åè
çæ¶åææ³¨åå°-advusersã妿
-ä½ ç¬¦åè¿äºæ åï¼æ¥åºå¦ä½æ³¨åå¹¶ä¸å°é¾...
-</para>
-</sect1>
-
-</appendix>
diff --git a/DOCS/xml/zh_CN/documentation.xml b/DOCS/xml/zh_CN/documentation.xml
deleted file mode 100644
index f13b45e..0000000
--- a/DOCS/xml/zh_CN/documentation.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21537 -->
-
-<bookinfo id="toc">
-<title><application>MPlayer</application> - çµå½±ææ¾å¨</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
-<date>2003å¹´3æ24æ¥</date>
-<copyright>
- <year>2000</year>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <year>2004</year>
- <year>2005</year>
- <year>2006</year>
- <year>2007</year>
- <year>2008</year>
- <year>2009</year>
- <year>2010</year>
- <holder>MPlayerå·¥ä½ç»</holder>
-</copyright>
-<!--
-<legalnotice>
- <title>License</title>
- <para>MPlayer is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.</para>
-
- <para>MPlayer is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.</para>
-
- <para>You should have received a copy of the GNU General Public License
- along with MPlayer; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</para>
-</legalnotice>
--->
-</bookinfo>
-
-
-<preface id="howtoread">
-<title>å¦ä½é
è¯»æ¤ææ¡£</title>
-
-<para>
-å¦æä½ æ¯ç¬¬ä¸æ¬¡å®è£
ï¼è¯·ç¡®å®ä½ é读äºä»è¿éå°å®è£
é¨åçææå
容ï¼å¹¶ä¸éµå¾ªä½ å°
-åç°ç龿¥ãå¦æä½ æå
¶ä»é®é¢ï¼åå°<link linkend="toc">ç®å½</link>å¹¶æç´¢ç¸åº
-æ é¢ï¼åè§<xref linkend="faq"/>ï¼æè
卿件ä¸ç¨grepå½ä»¤æç´¢ã大夿°çé®é¢åº
-该å¯ä»¥å¨æ¤æ¾å°çæ¡ï¼å
¶ä»é®é¢ä¹å¯è½å¨æä»¬ç
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">é®ä»¶å表</ulink>
-ä¸è¢«æåã
-<!-- FIXME: This refers to nonexistent links
-Check the
-<ulink url="http://lists.mplayerhq.hu/cgi-bin/s-arch.cgi">archives</ulink>, there
-is a lot of valuable information to be found there.
--->
-</para>
-</preface>
-
-
-<chapter id="intro">
-<title>ä»ç»</title>
-
-<para>
-<application>MPlayer</application>æ¯ä¸æ¬¾ä¸ºLinuxç¼åççµå½±ææ¾å¨(å¨å
¶ä»Unix
-ä¸ä¹å¯è¿è¡ï¼å¹¶ä¸å¾å¤<emphasis role="bold">éx86</emphasis>CPUãåè§
-<xref linkend="ports"/>ï¼ã
-å®è½ææ¾å¤§é¨åç±è®¸å¤æ¬å°ï¼XAnimï¼RealPlayeråWin32 DLLè§£ç 卿¯æçMPEG, VOB,
-AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg,
-FILM, RoQ, PVA, Matroskaæä»¶ãä½ ä¹å¯ä»¥è§ç
-<emphasis role="bold">VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora</emphasis>,
-å<emphasis role="bold">MPEG-4 (DivX)</emphasis>å½±çã<application>MPlayer</application>
-å¦å¤ä¸ä¸ªå¾å¤§çç¹ç¹æ¯æ¯æå¹¿æ³çè¾åºé©±å¨ãå®è½å·¥ä½å¨X11, Xv, DGA, OpenGL, SVGAlib,
-fbdev, AAlib, libcaca, DirectFBä¸ï¼ä½ä½ å¯ä»¥ä½¿ç¨GGIåSDL(æ¤ç§æ¹å¼ä¸çææé©±å¨)
-以åä¸äºä½ç«¯çç¹å®æ¾å¡é©±å¨(é对Matrox, 3DfxåRadeon, Mach64, Permedia3)ï¼
-ä»ä»¬å¤§å¤æ°æ¯æè½¯ä»¶æç¡¬ä»¶è§é¢ä¼¸ç¼©ï¼æä»¥ä½ è½ä»¥å
¨å±å¹æ¬£èµå½±çã
-<application>MPlayer</application>æ¯æä¸äºç¡¬ä»¶MPEGè§£ç å¨çæ¾ç¤ºï¼ä¾å¦
-<link linkend="dvb">DVB</link>å<link linkend="dxr3">DXR3/Hollywood+</link>ã
-å¹¶ä¸ä½ 认为é£äºåå¤§åæ¼äº®çä¸éåçæé´å½±ä¿®é¥°çå
æ¬æ¬§æ´²ISO 8859-1,2ï¼åçå©è¯ï¼
-è±è¯ï¼æ·å
è¯ççï¼ï¼è¥¿éå°è¯ï¼é©è¯åä½çåæ é¢
-(<emphasis role="bold">æ¯æ14ç§ç±»å</emphasis>)ï¼ä»¥åå±å¹æ¾ç¤º(OSD)å¦ä½å¢ï¼
-</para>
-
-<para>
-æ¤ææ¾å¨è½ç¨³å®çææ¾æåçMPEGæä»¶ï¼å¯¹äºä¸äºVCD徿ç¨ï¼ï¼å¹¶ä¸å®è½ææ¾èåç
-windows media playerä¸è½ææ¾çæåçAVIæä»¶ãçè³è½ææ¾æ²¡æç´¢å¼é¨åçAVIæä»¶ï¼
-å¹¶ä¸ä½ è¿å¯ä»¥ç¨<option>-idx</option>éé¡¹ææ¶é建索å¼ï¼æè
ç¨
-<application>MEncoder</application>æ°¸ä¹
æ§ç建ç«ç´¢å¼ï¼ä»¥æ¤æ¯æå®ä½æ¥æ¾ï¼
-å¦ä½ æè§ï¼ç¨³å®æ§åè´¨éæ¯æéè¦çï¼ä½é度ä¹è®©äººèµå¹ãè¿æä¸å¥å¼ºå¤§çæ¥æè§é³é¢
-å¤çåè½ç滤éç³»ç»ã
-</para>
-
-<para>
-<application>MEncoder</application>(<application>MPlayer</application>ççµå½±
-ç¼ç å¨)æ¯ä¸ä¸ªç®åçå½±çç¼ç å¨ï¼å®å¯ç¨äºå°<application>MPlayer</application>
-坿æ¾çå½±ç
-(<emphasis role="bold">AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</emphasis>)
-ç¼ç æå
¶ä»<application>MPlayer</application>坿æ¾çå½¢å¼(å¦åæè¿°).
-It can encode with various codecs, like
-<emphasis role="bold">MPEG-4 (DivX4)</emphasis>
-(åééæåéé), <systemitem class="library">libavcodec</systemitem>,
-<emphasis role="bold">PCM/MP3/VBR MP3</emphasis>
-é³é¢ã
-</para>
-
-<itemizedlist>
-<title><application>MEncoder</application>çç¹ç¹</title>
-<listitem><para>
- æ¯æä»å¤§éæä»¶æ ¼å¼ä¸ç¼ç çææä»¶ï¼å¹¶ä¸æ¯<application>MPlayer</application>
- çè§£ç å¨ã
-</para></listitem>
-<listitem><para>
- ç¼ç å°ææFFmpegç
- <systemitem class="library">libavcodec</systemitem>
- ææ¯æçç¼ç
-</para></listitem>
-<listitem><para>
- 对ä»ä¸<emphasis role="bold">V4Lå
¼å®¹çTVè°èå¨</emphasis>ä¸åºæ¥çè§é¢è¿è¡ç¼ç
-</para></listitem>
-<listitem><para>
- ç¼ç /åæå°ç¸äº¤ç»çAVIæä»¶å¹¶ææ£ç¡®çç´¢å¼
-</para></listitem>
-<listitem><para>
- ç±å¤é¨é³é¢æµå建æä»¶
-</para></listitem>
-<listitem><para>
- 1, 2 æ 3ééç¼ç
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">VBR</emphasis> MP3é³é¢
- <important><para>
- å¨windowsä¸çææ¾å¨ä¸ææ¾VBR MP3é³é¢å¹¶ä¸è½æ»æ¯å¾å°å¾å¥½çææï¼
- </para></important>
-</para></listitem>
-<listitem><para>
- PCMé³é¢
-</para></listitem>
-<listitem><para>
- åªä½æµå¤å¶
-</para></listitem>
-<listitem><para>
- è¾å
¥A/V忥(åºäºPTSï¼å¯ä»¥éè¿<option>-mc 0</option>éåç¦ç¨)
-</para></listitem>
-<listitem><para>
- éè¿<option>-ofps</option>é项对fpsè¿è¡çº æ£ï¼æ¤åè½å¨å°
- 30000/1001 fps VOB 转æ¢å° 24000/1001 fps AVIçæä»¶æ¶æä½ç¨ï¼
-</para></listitem>
-<listitem><para>
- ä½¿ç¨æä»¬éå¸¸å¼ºå¤§çæ»¤éç³»ç»ï¼åªåï¼å±å¼ï¼è¦çï¼åç»å¤çï¼æè½¬ï¼ç¼©æ¾ï¼
- rgb/yuvä¹é´ç转æ¢ï¼
-</para></listitem>
-<listitem><para>
- è½ç¼ç 为DVD/VOBsub<emphasis role="bold">å¹¶ä¸</emphasis>è½å°æååæ é¢
- æ¾å
¥æçææä»¶
-</para></listitem>
-<listitem><para>
- è½å°DVDåæ é¢å为VOBsubæ ¼å¼
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>计åä¸çç¹æ§</title>
-<listitem><para>
- æ´å¹¿æ³çç¼/è§£ç å·²ç¥çæä»¶æ ¼å¼/ç¼è§£ç å¨ï¼éè¿DivX4/Indeo5/VIVOæµçæVOB
- æä»¶:) ï¼ã
-</para></listitem>
-</itemizedlist>
-
-<!-- FIXME: the license should be in bookinfo -->
-<para>
-<application>MPlayer</application>å<application>MEncoder</application>
-å¯ä»¥å¨éµå¾ªGNUéç¨å
¬ç¨å议第2ççåæä¸è¢«åå¸ã
-</para>
-
-</chapter>
-
-&install.xml;
-
-&usage.xml;
-&video.xml;
-&ports.xml;
-&mencoder.xml;
-&encoding-guide.xml;
-&faq.xml;
-&bugreports.xml;
-&skin.xml;
diff --git a/DOCS/xml/zh_CN/encoding-guide.xml b/DOCS/xml/zh_CN/encoding-guide.xml
deleted file mode 120000
index 9c2c8fa..0000000
--- a/DOCS/xml/zh_CN/encoding-guide.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/encoding-guide.xml
\ No newline at end of file
diff --git a/DOCS/xml/zh_CN/faq.xml b/DOCS/xml/zh_CN/faq.xml
deleted file mode 120000
index db2ee41..0000000
--- a/DOCS/xml/zh_CN/faq.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/faq.xml
\ No newline at end of file
diff --git a/DOCS/xml/zh_CN/install.xml b/DOCS/xml/zh_CN/install.xml
deleted file mode 120000
index 64490ec..0000000
--- a/DOCS/xml/zh_CN/install.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/install.xml
\ No newline at end of file
diff --git a/DOCS/xml/zh_CN/mencoder.xml b/DOCS/xml/zh_CN/mencoder.xml
deleted file mode 100644
index 878e2f4..0000000
--- a/DOCS/xml/zh_CN/mencoder.xml
+++ /dev/null
@@ -1,709 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r21612 -->
-<chapter id="mencoder">
-<title><application>MEncoder</application>çåºç¡ç¨æ³</title>
-
-<para>
-å¦æä½ æ³å¾å°<application>MEncoder</application>çææé项å表ï¼è¯·åç
§man页ã
-对äºä¸ç³»åç®æçä¾å以åå 个ç¼ç åæ°ç详ç»è¯´æï¼åç
§ä»MPlayer-usersé®ä»¶å表
-çä¸äºé®ä»¶ä¸æéæ¥ç<ulink url="../../tech/encoding-tips.txt">ç¼ç å°çªé¨</ulink>ã
-ä»<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">å缩å
</ulink>
-ä¸è¿å¯ä»¥æ¾å°å¤§éçå
³äº<application>MEncoder</application>ç¼ç çå个æ¹é¢ç讨论
-以åç¨å
¶ç¼ç çç¸å
³é®é¢ã
-</para>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-codec">
-<title>éæ©ç¼è§£ç å¨å容卿 ¼å¼</title>
-
-<para>
-ç¼ç 使ç¨çé³é¢åè§é¢ç¼ç å¨åå«éè¿<option>-oac</option>å
-<option>-ovc</option>é项æå®
-ä¾å¦è¾å
¥å¦ä¸å½ä»¤
-<screen>mencoder -ovc help</screen>
-å¯ååºä½ æºå¨ä¸ç¸åºçæ¬ç<application>MEncoder</application>ææ¯æçææè§é¢ç¼ç ã
-ä¸å鿩乿¯å¯ç¨çï¼
-</para>
-
-<para>
-é³é¢ç¼ç å¨ï¼
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>é³é¢ç¼ç å¨åç§°</entry><entry>æè¿°</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mp3lame</entry>
- <entry>éè¿LAMEç¼ç 为VBRï¼ABRæCBRæ ¼å¼çMP3æä»¶</entry>
-</row>
-<row>
- <entry>lavc</entry>
- <entry>å©ç¨<link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem>ä¸çä¸ä¸ªç¼ç å¨</link>
- </entry>
-</row>
-<row>
- <entry>faac</entry>
- <entry>FAAC AACé³é¢ç¼ç å¨</entry>
-</row>
-<row>
- <entry>toolame</entry>
- <entry>MPEGé³é¢Layer 2ç¼ç å¨</entry>
-</row>
-<row>
- <entry>twolame</entry>
- <entry>åºäºtooLAMEçMPEGé³é¢Layer 2ç¼ç å¨</entry>
-</row>
-<row>
- <entry>pcm</entry>
- <entry>æªå缩çPCMé³é¢</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>ä¸è¦éæ°ç¼ç ï¼è¿æ¯å¤å¶å·²å缩çåæ¡¢</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-æ¯é¢ç¼ç å¨ï¼
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>æ¯é¢ç¼ç å¨åç§°</entry><entry>æè¿°</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavc</entry>
- <entry>使ç¨<link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem>ä¸çä¸ä¸ªæ¯é¢ç¼ç å¨</link>
- </entry>
-</row>
-<row>
- <entry>xvid</entry>
- <entry>Xvid, MPEG-4é«çº§ç®åæ ¼å¼(ASP)ç¼ç å¨</entry>
-</row>
-<row>
- <entry>x264</entry>
- <entry>x264, MPEG-4é«çº§è§é¢ç¼ç (AVC), AKA H.264ç¼ç å¨</entry>
-</row>
-<row>
- <entry>nuv</entry>
- <entry>nuppelè§é¢ï¼ä¸ºä¸äºå®æ¶ç¨åºæç¨</entry>
-</row>
-<row>
- <entry>raw</entry>
- <entry>æªå缩çè§é¢æ¡¢</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>ä¸è¦éæ°ç¼ç ï¼åªæ¯å¤å¶å·²å缩çåæ¡¢</entry>
-</row>
-<row>
- <entry>frameno</entry>
- <entry>ç¨äºä¸ééç¼ç ï¼ä¸æ¨èï¼</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-è¾åºå®¹å¨æ ¼å¼éè¿<option>-of</option>é项鿩ã
-è¾å
¥ï¼
-<screen>mencoder -of help</screen>
-以便ååºä½ æºå¨ä¸ç¸åºçæ¬ç<application>MEncoder</application>ææ¯æç
-ææå®¹å¨ã
-å¦ä¸é项乿¯å¯ç¨ç
-</para>
-
-<para>
-容卿 ¼å¼ï¼
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>容卿 ¼å¼åç§°</entry><entry>æè¿°</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavf</entry>
- <entry>ç±<systemitem class="library">libavformat</systemitem>
- æ¯æçä¸ç§å®¹å¨</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>é³-è§é¢æ··å</entry>
-</row>
-<row>
- <entry>mpeg</entry>
- <entry>MPEG-1åMPEG-2èç®æµ</entry>
-</row>
-<row>
- <entry>rawvideo</entry>
- <entry>åå§è§é¢æµï¼æªç»æ··å - åªå«ä¸è§é¢æµï¼</entry>
-</row>
-<row>
- <entry>rawaudio</entry>
- <entry>åå§é³é¢æµï¼æªç»æ··å - åªå«ä¸é³é¢æµï¼</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-AVI容卿¯<application>MEncoder</application>çåºæ¬å®¹å¨æ ¼å¼ï¼ä¹å°±æ¯è¯´å®è½å¤
-被æå¥½çå¤çï¼<application>MEncoder</application>乿¯ä¸ºä¹è设计ã
-å¦ä¸æè¿°ï¼å
¶ä»å®¹å¨æ ¼å¼ä¹å¯è¢«ä½¿ç¨ï¼ä½ä½ 使ç¨çæ¶åå¯è½éå°é®é¢ã
-</para>
-
-<para>
-<systemitem class="library">libavformat</systemitem>容å¨ï¼
-</para>
-
-<para>
-å¦æä½ éæ©äº<systemitem class="library">libavformat</systemitem>
-æ¥åè¾åºæä»¶çæ··ç¼ï¼éè¿ä½¿ç¨<option>-of lavf</option>é项ï¼ï¼
-éå½ç容å¨å°ç±æä»¶æ©å±åèå®ã
-ä½ ä¹å¯ä»¥éè¿<systemitem class="library">libavformat</systemitem>ç
-<option>format</option>é项强å¶ä¸ç§å®¹å¨æ ¼å¼ã
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead><row>
-<entry><systemitem class="library">libavformat</systemitem>容å¨åç§°</entry>
-<entry>æè¿°</entry>
-</row></thead>
-<tbody>
-<row>
- <entry>mpg</entry>
- <entry>MPEG-1åMPEG-2èç®æµ</entry>
-</row>
-<row>
- <entry>asf</entry>
- <entry>é«çº§æµæ ¼å¼</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>é³-è§é¢æ··å</entry>
-</row>
-<row>
- <entry>wav</entry>
- <entry>波形é³é¢</entry>
-</row>
-<row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Macromedia Flashè§é¢</entry>
-</row>
-<row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
-</row>
-<row>
- <entry>au</entry>
- <entry>SUN AU</entry>
-</row>
-<row>
- <entry>nut</entry>
- <entry>NUT弿¾å®¹å¨ï¼å®éªä¸ï¼ä¸å
¼å®¹æ åï¼</entry>
-</row>
-<row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
-</row>
-<row>
- <entry>mp4</entry>
- <entry>MPEG-4æ ¼å¼</entry>
-</row>
-<row>
- <entry>dv</entry>
- <entry>Sonyæ°åè§é¢å®¹å¨</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-å¦ä½ æè§ï¼<systemitem class="library">libavformat</systemitem>å
许
-<application>MEncoder</application>æåªä½æ··åå°åç§æ ¼å¼ç容å¨å
ã
-ä¸å·§çæ¯ï¼å 为<application>MEncoder</application>ä»å¼å§è®¾è®¡çæ¶å
-æ²¡ææ¯æAVIä¹å¤çå
¶ä»å®¹å¨ï¼ä½ è¦å°å¿æç»çæçæä»¶ã
-è¯·å¤æ¬¡æ£æ¥ä»¥ç¡®è®¤é³é¢/è§é¢åæ¥æ¯æ£ç¡®ç以åæä»¶è½å¨
-<application>MPlayer</application>ä¹å¤çææ¾å¨ä¸ææ¾ã
-</para>
-
-<example id="encode_to_macromedia_flash_format">
-<title>ç¼ç 为Macromedia Flashæ ¼å¼</title>
-<para>
-çæMacromedia Flashè§é¢ï¼ä»¥ä¾¿å¨å®è£
æMacromedia Flashæä»¶çç½é¡µæµè§å¨ä¸ææ¾ï¼
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
-</screen>
-</para>
-</example>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-input">
-<title>éæ©è¾å
¥æä»¶æè®¾å¤</title>
-
-<para>
-<application>MEncoder</application>å¯ä»¥ä»æä»¶æç´æ¥ä»DVDæVCDçççè¿è¡ç¼ç ã
-ç§©åºå¨å½ä»¤è¡ä¸å
嫿件åä»¥ä¾¿ä»æä»¶è¿è¡ç¼ç ï¼æ
-<option>dvd://</option><replaceable>æ 颿°</replaceable>æ
-<option>vcd://</option><replaceable>è½¨éæ°</replaceable>以便ä»DVDæ 颿VCD轨
-éè¿è¡ç¼ç ã
-å¦æä½ å·²ç»æDVDå¤å¶å°ä½ ç硬çä¸ï¼ä½ å¯ä»¥ä½¿ç¨å<application>dvdbackup</application>
-è¿æ ·çå·¥å
·ï¼å¤§å¤æ°ç³»ç»ä¸é½æï¼ï¼ç¶åæ³ä»å¯æ¬è¿è¡ç¼ç ï¼ä½ ä»é使ç¨
-<option>dvd://</option>è¯æ³ï¼å ä¸éå¸¦äºæåDVD坿¬çæ ¹ç®å½ç
-<option>-dvd-device</option>é项ã
-
-<option>-dvd-device</option>å<option>-cdrom-device</option>é项ä¹è½ç¨äº
-è¦çç¨æ¥ç´æ¥ä»å
çä¸ç´æ¥è¯»åæ°æ®ç设å¤çè·¯å¾ï¼å¦æç¼ºçç
-<filename>/dev/dvd</filename>å<filename>/dev/cdrom</filename>å¨ä½ çç³»ç»ä¸æ¥å·¥ä½
-çè¯ã
-</para>
-
-<para>
-å½ä»DVDè¿è¡ç¼ç æ¶ï¼æå¥½æ¯éå
¶ä¸çä¸ç« æå ç« è¿è¡ç¼ç ã
-为æ¤ä½ å¯ä»¥ä½¿ç¨<option>-chapter</option>é项ã
-ä¾å¦<option>-chapter</option> <replaceable>1-4</replaceable>å°åªç¼ç DVDä¸ç1è³4ç« ã
-å¦æä½ é对å
å«1400MBæ°æ®çä¸¤å¼ CDè¿è¡ç¼ç ï¼è¿å°é常æç¨ï¼å ä¸ºä½ å¯ä»¥ç¡®å®åªå¨ä¸ç« çè¾¹
-ç¼å¤åå²ï¼è䏿¯å¨ä¸ä¸ªåºæ¯ä¸é´ã
-</para>
-
-<para>
-å¦æä½ æå¼ è¢«æ¯æççµè§å¡ï¼ä½ ä¹å¯ä»¥éè¿ææ¾çµè§èç®ç设å¤è¿è¡ç¼ç ã
-使ç¨<option>tv://</option><replaceable>channelnumber</replaceable>为æä»¶åï¼
-å¹¶ç¨<option>-tv</option>é
ç½®åç§æªåé项ã
-DVBè¾å
¥å·¥ä½åç类似ã
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg4">
-<title>ç¼ç 为åééMPEG-4 ("DivX")</title>
-
-<para>
-ä¹æä»¥è¿æ ·å½åï¼æ¯å 为è¿ç§ç¼ç <emphasis>两次</emphasis>对æä»¶è¿è¡ç¼ç ã
-ç¬¬ä¸æ¬¡ç¼ç ï¼é
é³ééï¼çæä¸äºå å
大çä¸´æ¶æä»¶(<filename>*.log</filename>)ï¼
-å
ä¸è¦å é¤å®ä»¬ï¼ä½ å¯ä»¥å é¤AVIæè
éè¿éå®åå°<filename>/dev/null</filename>
-èä¸çæè§é¢ï¼ãç¬¬äºæ¬¡ç¼ç æ¶ï¼çæäºåééè¾åºæä»¶ï¼ä½¿ç¨ç峿¯ä»ä¸´æ¶æä»¶æä¾
-çæ¯ç¹å¾æ°æ®ãçææä»¶ä¼ææ´å¥½çå¾åè´¨éãå¦æè¿æ¯ä½ ç¬¬ä¸æ¬¡å¬è¯´ï¼ä½ å¯ä»¥å¨äºè
-ç½ä¸æ¾å°ç¸å
³åèã
-</para>
-
-<example id="copy_audio_track">
-<title>å¤å¶é³è½¨</title>
-<para>
-åééç¼ç å¨å¤å¶é³è½¨æ¶å°DVDç第äºä¸ªè½¨éè½¬æ¢æMPEG-4 ("DivX") AVIã
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>对é³è½¨ç¼ç </title>
-<para>
-å°ä¸ä¸ªDVDç¼ç æMPEG-4 ("DivX") AVIï¼é³è½¨éç¨MP3æ ¼å¼
-使ç¨è¿ä¸ªæ¹æ³çæ¶åè¦å½å¿ï¼å ä¸ºææ¶å®å¯è½é æé³/è§é¢ä¸åæ¥ã
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-handheld-psp">
-<title>ç¼ç 为Sony PSPè§é¢æ ¼å¼</title>
-
-<para>
-<application>MEncoder</application>æ¯æå°Sony PSPçè§é¢æ ¼å¼è½¬æ¢ï¼ä½æ¯ä¾èµäº
-PSP软件修æ¹ï¼å¯¹ä¸å软件éå¶ä¹è®¸ä¼æä¸åã
-å¦æä½ éµå®å¦ä¸å®åï¼ä½ å°ä¸ä¼éå°ä»ä¹é®é¢ï¼
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">æ¯ç¹å¾</emphasis>ï¼ä¸åºè¶
è¿æ¯ç§1500kbï¼ç¶èè¿å»ççæ¬
- å 乿¯æä»»ä½æ¯ç¹å¾åªè¦å¤´æä»¶å£°æå
¶ä¸æ¯å¤ªé«ã
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ç»´æ°</emphasis>ï¼PSPè§é¢çé¿å®½åºæ¯16çåæ°ï¼å¹¶ä¸é¿*宽ç
- 积åº<= 64000ã
- å¨ä¸äºæ
åµä¸ï¼PSPå¯è½ææ¾æ´é«å辨ççæä»¶ã
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">é³é¢</emphasis>ï¼å
¶éæ ·çé对MPEG-4åºä¸º24kHzï¼é对H.264
- 为48kHzã
-</para></listitem>
-</itemizedlist>
-</para>
-
-<example id="encode_for_psp">
-<title>ç¼ç å°PSP</title>
-<para>
-<screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
- <replaceable>input.video</replaceable> -o <replaceable>output.psp</replaceable>
-</screen>
-注æä½ å¯ä»¥éè¿
-<option>-info name=<replaceable>MovieTitle</replaceable></option>为è§é¢æè
æ é¢ã
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg">
-<title>ç¼ç 为MPEGæ ¼å¼</title>
-<para>
-<application>MEncoder</application>å¯çæMPEG (MPEG-èç®æµ)æ ¼å¼çæä»¶ã
-é常ï¼å½ä½ 使ç¨MPEG-1æMPEG-2è§é¢ï¼æ¯å ä¸ºä½ çç¼ç åéäºSVCD, VCD, æDVDã
-è¿äºæ ¼å¼æéçç¹å«è¦æ±å°å¨
-<link linkend="menc-feat-vcd-dvd"> VCDåDVDçææå </link>
-ä¸è¿è¡è§£é
-section.
-</para>
-
-<para>
-è¦æ¹å<application>MEncoder</application>çè¾åºæä»¶æ ¼å¼ï¼ä½¿ç¨
-<option>-of mpeg</option>é项ã
-</para>
-
-<informalexample>
-<para>
-ä¾å¦ï¼
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
- -oac copy <replaceable>other_options</replaceable> -o <replaceable>output.mpg</replaceable>
-</screen>
-å¯çæä¸ºåªææéå¤åªä½æ¯æçç³»ç»è¿è¡ææ¾çMPEG-1æä»¶ï¼ä¾å¦é»è®¤å®è£
çWindowsï¼
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>output.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-åä¸ï¼ä½ä½¿ç¨äº<systemitem class="library">libavformat</systemitem> MPEGæ··åå¨ï¼
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg:i_certify_that_my_video_stream_does_not_use_b_frames \
- -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>æç¤ºï¼</title>
-<para>
-妿ç±äºæç§åå ï¼ç¬¬äºæ¬¡ç¼ç çææä¸è½ä»¤ä½ 满æï¼ä½ å¯ä»¥ä½¿ç¨å¦å¤ä¸ç§æ¯ç¹å¾
-éæ°æ§è¡è§é¢ç¼ç ï¼åªè¦ä½ ä¿åäºå䏿¬¡ç¼ç ä¸çæçç»è®¡æä»¶ã
-è¿æ¯å¯è¡å 为çæç»è®¡æä»¶ç主è¦ç®çæ¯è®°å½æ¯æ¡¢çå¤æåº¦ï¼ä¸æ¯ç¹å«ä¾èµäºæ¯ç¹å¾ã
-ç¶èï¼ä½ è¦æ³¨æçæ¯å¦æææç¼ç æç
§ä¸æç»çææä»¶çæ¯ç¹å¾ç¸å·®ä¸å¤§çåæ°æ§è¡
-ç¨åºï¼ä½ å°å¾å°æä½³ææã
-</para>
-</note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-rescale">
-<title>æ¹åçµå½±å¤§å°</title>
-
-<para>
-ç»å¸¸åºç°è¦æ¹åçµå½±å¾ç大å°çéæ±ãåå å¯è½æ¯å¤æ ·çï¼å尿件大å°ï¼ç½ç»å¸¦å®½
-ççã大夿°äººçè³å¨å°DVDæSVCDè½¬æ¢æDivX AVIæ¶ä¹æ¹åå½±ç大å°ãå¦æä½ æ³æ¹å
-å½±ç大å°ï¼é
读<link linkend="aspect">ä¿æé¿å®½æ¯</link>ä¸è
-</para>
-
-<para>
-忢è¿ç¨ç±<literal>scale</literal>è§é¢æ»¤éå¤çï¼
-<option>-vf scale=<replaceable>宽</replaceable>:<replaceable>é«</replaceable></option>ã
-è¾åºè´¨éå¯ç±<option>-sws</option>é项è°èã
-å¦ææ²¡æè®¾ç½®ï¼<application>MEncoder</application>å°ä½¿ç¨2ï¼å䏿¬¡ã
-</para>
-
-<para>
-ç¨æ³ï¼
-<screen>
-mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>åªä½æµå¤å¶</title>
-
-<para>
-<application>MEncoder</application>è½ä»¥ä¸¤ç§æ¹å¼å¤çè¾å
¥åªä½æµï¼
-<emphasis role="bold">ç¼ç </emphasis>æ<emphasis role="bold">å¤å¶</emphasis>ã
-æ¬èæ¯å
³äº<emphasis role="bold">å¤å¶</emphasis>çã
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">è§é¢æµ</emphasis> (é项<option>-ovc copy</option>)ï¼
- ä¸ç³»åå·¥ä½å¯ä»¥å®æçå¾å¥½ :) 好åæFLIæVIVOæMPEG-1è§é¢æ¾å
¥ï¼ä¸æ¯è½¬æ¢ï¼å°
- ä¸ä¸ªAVIæä»¶ä¸ï¼å½ç¶ï¼åªæ<application>MPlayer</application>è½ææ¾è¿æ ·çæ
- ä»¶:)å¹¶ä¸ä¹è®¸å®å¹¶æ²¡æçæ´»ä¸çå®é
ä»·å¼ãå®é
æä¹ä¸ï¼å½åªæé³é¢æµè¦è¢«ç¼ç ï¼
- ä¾å¦ä»æ å缩çPCMå°MP3ï¼æ¶ï¼è§é¢æµæå¯è½æç¨ã
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">é³é¢æµ</emphasis> (é项<option>-oac copy</option>)ï¼
- ç´æ¥çãä½ å¯è½æåä¸ä¸ªå¤é¨é³é¢æä»¶ï¼MP3ï¼WAVï¼å¹¶å°å
¶åæå°ä¸ä¸ªè¾åºåªä½æµéã
- 为æ¤å¯ä½¿ç¨<option>-audiofile <replaceable>æä»¶å</replaceable></option>é项ã
-</para></listitem>
-</itemizedlist>
-
-<para>
-使ç¨<option>-oac copy</option>ä»ä¸ç§å®¹å¨æ ¼å¼å¤å¶å°å¦ä¸ç§å®¹å¨æ ¼å¼æ¶ï¼ä½ å¯è½éè¦
-使ç¨<option>-fafmttag</option>éé¡¹ä»¥ä¿æåå§æä»¶çé³é¢æ ¼å¼æ ç¾ãä¾å¦ï¼å¦æä½ å°
-ä¸ä¸ªä½¿ç¨AACé³é¢çNSVæä»¶è½¬æ¢å°AVI容å¨ä¸ï¼é³é¢æ ¼å¼æä»¶æ ç¾å¯è½æ¯é误çï¼éè¦è¢«
-转æ¢ã对äºè¯¦ç»çé³é¢æ ¼å¼æ ç¾ï¼æ¥ç<filename>codecs.conf</filename>ã
-</para>
-
-<para>
-ä¾åï¼
-<screen>
-mencoder <replaceable>input.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-images">
-<title>ä»å¤ä¸ªè¾å
¥å¾åæä»¶è¿è¡ç¼ç (JPEG, PNG, TGAç)</title>
-
-<para>
-<application>MEncoder</application>å¯ä»¥éè¿ä¸ä¸ªæå¤ä¸ªJPEG, PNG, TGA, æå
¶
-ä»å¾çæä»¶å¶ä½çµå½±ã使ç¨ç®åçæ¡¢å¤å¶ï¼å®è½çæMJPEG (ç§»å¨JPEG), MPNG
-(ç§»å¨PNG)æMTGA (ç§»å¨TGA) æä»¶ã
-</para>
-
-<orderedlist>
-<title>è¿ç¨æè¿°ï¼</title>
-<listitem><para>
- <application>MEncoder</application>使ç¨<systemitem class="library">libjpeg</systemitem>
- ï¼å½è§£ç PNGæ¶ï¼å®å°ä½¿ç¨<systemitem class="library">libpng</systemitem>ï¼å°è¾å
¥å¾çè¿è¡
- <emphasis>è§£ç </emphasis>ã
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application>ç¶åå°è§£ç 好çå¾çéå°è¢«éå®çè§é¢å缩å¨ä¸
- (DivX4, Xvid, FFmpeg msmpeg4ç)ã
-</para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>ä¾å</title>
-<para>
-å
³äº<option>-mf</option>é项çè§£éå¨man页ä¸ã
-
-<informalexample>
-<para>
-使ç¨å½åç®å½ä¸ææJPEGæä»¶çæMPEG-4æä»¶ã
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-使ç¨å½åç®å½ä¸çä¸äºJPEGæä»¶çæMPEG-4æä»¶ã
-<screen>
-mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-ä½¿ç¨æ¾ç¤ºæç¤ºçä¸ç³»åJPEGæä»¶çæMPEG-4æä»¶ï¼å½åç®å½ä¸çlist.txtå
å«è¢«ç¨åæºçæä»¶å表ï¼
-ä¸ä¸ªä¸è¡ï¼ï¼
-<screen>
-mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-使ç¨å½åç®å½ä¸ææJPEGæä»¶çæç§»å¨JPEGï¼MJPEGï¼æä»¶ï¼
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-使ç¨å½åç®å½ä¸ææPNGæä»¶çææªå缩çæä»¶ï¼
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><para>
-宽度å¿
é¡»æ¯4çåæ°ï¼è¿æ¯åå§RGB AVIæä»¶æ ¼å¼çéå¶ã
-</para></note>
-
-<informalexample>
-<para>
-使ç¨å½åç®å½ä¸ææPNGæä»¶çæç§»å¨PNG (MPNG)æä»¶ï¼
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-使ç¨å½åç®å½ä¸çææTGAæä»¶çæç§»å¨TGA (MTGA)æä»¶ï¼
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-extractsub">
-<title>å°DVDåæ é¢æåå°VOBsubæä»¶</title>
-
-<para>
-<application>MEncoder</application>è½å°DVDåæ é¢æåå°VOBsubæ ¼å¼çæä»¶ä¸ã
-å®ä»¬æ¯ä¸å¯¹ç±<filename>.idx</filename>å<filename>.sub</filename>ç»å°¾çæä»¶
-ç»æãå¹¶ä¸ç»å¸¸è¢«å缩æä¸ä¸ª<filename>.rar</filename>æä»¶ã
-<application>MPlayer</application>å¯éè¿
-<option>-vobsub</option>å<option>-vobsubid</option>éé¡¹ææ¾è¿äºæä»¶ã
-</para>
-
-<para>
-ä½ å¯ä»¥éè¿<option>-vobsubout</option>æå®è¾åºæä»¶çåºç¡åï¼ä¾å¦ä¸å
æ¬
-<filename>.idx</filename>æ<filename>.sub</filename>åç¼ï¼ï¼å¯¹äºçææä»¶
-åæ é¢çç´¢å¼ä½¿ç¨<option>-vobsuboutindex</option>ã
-</para>
-
-<para>
-妿䏿¯ä»DVDè¾å
¥ï¼ä½ åºè¯¥ä½¿ç¨<option>-ifo</option>æ¥è¡¨ææå»º
-çæç<filename>.idx</filename>æä»¶æéç<filename>.ifo</filename>æä»¶ã
-</para>
-
-<para>
-妿è¾å
¥ä¸æ¯DVDå¹¶ä¸ä½ 没æ<filename>.ifo</filename>æä»¶ï¼ä½ é使ç¨
-<option>-vobsubid</option>é项以使å
¶ç¥éæ¾å
¥<filename>.idx</filename>
-æä»¶çè¯è¨æ è¯ã
-</para>
-
-<para>
-妿<filename>.sub</filename>å<filename>.idx</filename>æä»¶åå¨ï¼æ¯æ¬¡
-æ§è¡é½åæ·»å åæ é¢ãæä»¥ä½ åå¼å§åéè¦æå¨æ¸
é¤è¿äºæä»¶ã
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>å¨ååééç¼ç æ¶ä»DVDå¤å¶åæ é¢</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>ä»ä¸ä¸ªMPEGæä»¶å¤å¶æ³æåæ é¢</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
-</screen>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="aspect">
-<title>ä¿æè§é¢ç»é¢æ¯ä¾</title>
-<para>
-DVDåSVCD(ä¾å¦MPEG-1/2)æä»¶å
å«ç»é¢æ¯ä¾ï¼æ¤ä¿¡æ¯å¯ç¨æ¥æç¤ºææ¾å¨åºå¦ä½æ¾ç¤ºè§é¢æµï¼
-æä»¥æ¾ç¤ºç人ä¸ä¼æä¸ªé¸¡è头ï¼ä¾å¦480x480 + 4:3 = 640x480ï¼ãç¶èå½ç¼ç 为AVI(DivX)
-æä»¶æ¶ï¼ä½ è¦å°å¿AVI头信æ¯é没æå
å«è¿äºå¼ãéæ°è®¾ç½®è¿äºæ¯ä¾æ¯é常讨åå¹¶ä¸å¾è±æ¶é´ï¼
-åºè¯¥ææ´å¥½çæ¹æ³ï¼
-</para>
-
-<para>è¿æ</para>
-
-<para>
-MPEG-4æä¸ªç¬ç¹çç¹ç¹ï¼è§é¢æµå¯ä»¥å
å«å®éè¦çç»é¢æ¯ä¾ãæ¯çï¼æ£åMPEG-1/2 (DVD,
-SVCD)åH.263æä»¶ä¸æ ·ãå¯æçæ¯ï¼é¤äº<application>MPlayer</application>å 乿²¡æææ¾å¨
-æ¯æè¿é¡¹MPEG-4屿§ã
-</para>
-
-<para>
-è¿ç§ç¹æ§ä¹å¯ä»¥ä¸
-<systemitem class="library">libavcodec</systemitem>ç
-<systemitem>mpeg4</systemitem>ç¼ç å¨ä¸å使ç¨ãè®°ä½ï¼è½ç¶
-<application>MPlayer</application>å¯ä»¥æ£å¸¸ææ¾æçæçæä»¶ï¼å
¶ä»ææ¾å¨å¯è½ä½¿ç¨é误
-çå¾è±¡æ¯ä¾ã
-</para>
-
-<para>
-ä½ åºåªåçµå½±å¾åä¸ä¸æ¹ç黿¡ãé对<systemitem>cropdetect</systemitem>å
-<systemitem>crop</systemitem>滤éçç¨æ³åèman页ã
-</para>
-
-<para>
-ç¨æ³
-<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>output.avi</replaceable></screen>
-</para>
-</sect1>
-
-</chapter>
diff --git a/DOCS/xml/zh_CN/ports.xml b/DOCS/xml/zh_CN/ports.xml
deleted file mode 120000
index 59b479c..0000000
--- a/DOCS/xml/zh_CN/ports.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/ports.xml
\ No newline at end of file
diff --git a/DOCS/xml/zh_CN/skin.xml b/DOCS/xml/zh_CN/skin.xml
deleted file mode 120000
index 3895b64..0000000
--- a/DOCS/xml/zh_CN/skin.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/skin.xml
\ No newline at end of file
diff --git a/DOCS/xml/zh_CN/usage.xml b/DOCS/xml/zh_CN/usage.xml
deleted file mode 100644
index 5fe0bdc..0000000
--- a/DOCS/xml/zh_CN/usage.xml
+++ /dev/null
@@ -1,1714 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with cd-dvd.xml r21612 -->
-<chapter id="usage">
-<title>Usage</title>
-
-<sect1 id="commandline">
-<title>Command line</title>
-
-<para>
-<application>MPlayer</application> utilizes a complex playtree. Options passed
-on the command line can apply to all files/URLs or just to specific ones
-depending on their position. For example
-<screen>mplayer -vfm ffmpeg movie1.avi movie2.avi</screen>
-will use FFmpeg decoders for both files, but
-<screen>
-mplayer -vfm ffmpeg <replaceable>movie1.avi</replaceable> <replaceable>movie2.avi</replaceable> -vfm dmo
-</screen>
-will play the second file with a DMO decoder.
-</para>
-
-<para>
-You can group filenames/URLs together using <literal>{</literal> and
-<literal>}</literal>. It is useful with option <option>-loop</option>:
-<screen>mplayer { 1.avi -loop 2 2.avi } -loop 3</screen>
-The above command will play files in this order: 1, 1, 2, 1, 1, 2, 1, 1, 2.
-</para>
-
-<para>
-Playing a file:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>options</replaceable>]<!--
---> [<replaceable>path</replaceable>/]<replaceable>filename</replaceable>
-</synopsis>
-</para>
-
-<para>
-Another way to play a file:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>options</replaceable>]<!--
---> <replaceable>file:///uri-escaped-path</replaceable>
-</synopsis>
-</para>
-
-<para>
-Playing more files:
-<synopsis>
-<command>mplayer</command><!--
---> [<replaceable>default options</replaceable>]<!--
---> [<replaceable>path</replaceable>/]<replaceable>filename1</replaceable><!--
---> [<replaceable>options for filename1</replaceable>]<!--
---> <replaceable>filename2</replaceable><!--
---> [<replaceable>options for filename2</replaceable>] ...
-</synopsis>
-</para>
-
-<para>
-Playing VCD:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> vcd://<replaceable>trackno</replaceable><!--
---> [-cdrom-device <replaceable>/dev/cdrom</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Playing DVD:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> dvd://<replaceable>titleno</replaceable><!--
---> [-dvd-device <replaceable>/dev/dvd</replaceable>]
-</synopsis>
-</para>
-
-<para>
-Playing from the WWW:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> http://<replaceable>site.com/file.asf</replaceable>
-</synopsis>
-(playlists can be used, too)
-</para>
-
-<para>
-Playing from RTSP:
-<synopsis>
-<command>mplayer</command> [<replaceable>options</replaceable>]<!--
---> rtsp://<replaceable>server.example.com/streamName</replaceable>
-</synopsis>
-</para>
-
-<para>
-Examples:
-<screen>
-mplayer -vo x11 <replaceable>/mnt/Films/Contact/contact2.mpg</replaceable>
-mplayer vcd://<replaceable>2</replaceable> -cdrom-device <replaceable>/dev/hdc</replaceable>
-mplayer -afm 3 <replaceable>/mnt/DVDtrailers/alien4.vob</replaceable>
-mplayer dvd://<replaceable>1</replaceable> -dvd-device <replaceable>/dev/hdc</replaceable>
-mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceable><!--
---></screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="subosd">
-<title>Subtitles and OSD</title>
-
-<para>
-<application>MPlayer</application> can display subtitles along with movie files.
-Currently the following formats are supported:
-<itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption)</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para>
- <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink>
- </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> can dump the previously listed subtitle
-formats (<emphasis role="bold">except the three first</emphasis>) into the
-following destination formats, with the given options:
-<itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MEncoder</application> can dump DVD subtitles into
-<link linkend="menc-feat-extractsub">VOBsub</link> format.
-</para>
-
-<para>
-The command line options differ slightly for the different formats:
-</para>
-
-<formalpara>
-<title>VOBsub subtitles</title>
-<para>
-VOBsub subtitles consist of a big (some megabytes) <filename>.SUB</filename>
-file, and optional <filename>.IDX</filename> and/or <filename>.IFO</filename>
-files. If you have files like
-<filename><replaceable>sample.sub</replaceable></filename>,
-<filename><replaceable>sample.ifo</replaceable></filename> (optional),
-<filename><replaceable>sample.idx</replaceable></filename> - you have to pass
-<application>MPlayer</application> the <option>-vobsub sample
-[-vobsubid <replaceable>id</replaceable>]</option> options
-(full path optional). The <option>-vobsubid</option> option is like
-<option>-sid</option> for DVDs, you can choose between subtitle tracks
-(languages) with it. In case that <option>-vobsubid</option> is omitted,
-<application>MPlayer</application> will try to use the languages given by the
-<option>-slang</option> option and fall back to the
-<systemitem>langidx</systemitem> in the <filename>.IDX</filename> file to set
-the subtitle language. If it fails, there will be no subtitles.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Other subtitles</title>
-<para>
-The other formats consist of a single text file containing timing,
-placement and text information. Usage: If you have a file like
-<filename><replaceable>sample.txt</replaceable></filename>,
-you have to pass the option <option>-sub
-<replaceable>sample.txt</replaceable></option> (full path optional).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Adjusting subtitle timing and placement:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>sec</replaceable></option></term>
- <listitem><para>
- Delays subtitles by <option><replaceable>sec</replaceable></option> seconds.
- Can be negative. The value is added to movie's time position counter.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>RATE</replaceable></option></term>
- <listitem><para>
- Specify frame/sec rate of subtitle file (float number).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- Specify the position of subtitles.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-If you experience a growing delay between the movie and the subtitles when
-using a MicroDVD subtitle file, most likely the framerate of the movie and
-the subtitle file are different. Please note that the MicroDVD subtitle
-format uses absolute frame numbers for its timing, but there is no fps
-information in it, and therefore the <option>-subfps</option> option should
-be used with this format. If you like to solve this problem permanently,
-you have to manually convert the subtitle file framerate.
-<application>MPlayer</application> can do this
-conversion for you:
-
-<screen>
-mplayer -dumpmicrodvdsub -fps <replaceable>subtitles_fps</replaceable> -subfps <replaceable>avi_fps</replaceable> \
- -sub <replaceable>subtitle_filename</replaceable> <replaceable>dummy.avi</replaceable>
-</screen>
-</para>
-
-<para>
-About DVD subtitles, read the <link linkend="dvd">DVD</link> section.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="control">
-<title>Control</title>
-
-<para>
-<application>MPlayer</application> has a fully configurable, command
-driven, control layer which lets you control
-<application>MPlayer</application> with keyboard, mouse, joystick or remote
-control (using LIRC). See the man page for the complete list of keyboard controls.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="ctrl-cfg">
-<title>Controls configuration</title>
-
-<para>
-<application>MPlayer</application> allows you bind any key/button to any
-<application>MPlayer</application> command using a simple config file.
-The syntax consist of a key name followed by a command. The default config file location is
-<filename>$HOME/.mplayer/input.conf</filename> but it can be overridden
-using the <option>-input <replaceable>conf</replaceable></option> option
-(relative path are relative to <filename>$HOME/.mplayer</filename>).
-</para>
-
-<para>
-You can get a full list of supported key names by running
-<command>mplayer -input keylist</command>
-and a full list of available commands by running
-<command>mplayer -input cmdlist</command>.
-</para>
-
-<example id="input_control_file">
-<title>A simple input control file</title>
-<programlisting>
-##
-## MPlayer input control file
-##
-
-RIGHT seek +10
-LEFT seek -10
-- audio_delay 0.100
-+ audio_delay -0.100
-q quit
-> pt_step 1
-< pt_step -1
-ENTER pt_step 1 1<!--
---></programlisting>
-</example>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="lirc">
-<title>Control from LIRC</title>
-
-<para>
-Linux Infrared Remote Control - use an easy to build home-brewed IR-receiver,
-an (almost) arbitrary remote control and control your Linux box with it!
-More about it on the <ulink url="http://www.lirc.org">LIRC homepage</ulink>.
-</para>
-
-<para>
-If you have the LIRC package installed, <filename>configure</filename> will
-autodetect it. If everything went fine, <application>MPlayer</application>
-will print "<systemitem>Setting up LIRC support...</systemitem>"
-on startup. If an error occurs it will tell you. If there is no message about
-LIRC there is no support compiled in. That's it :-)
-</para>
-
-<para>
-The application name for <application>MPlayer</application> is - surprise -
-<filename>mplayer</filename>. You can use any <application>MPlayer</application>
-commands and even pass more than one command by separating them with
-<literal>\n</literal>.
-Do not forget to enable the repeat flag in <filename>.lircrc</filename> when
-it makes sense (seek, volume, etc). Here is an excerpt from a sample
-<filename>.lircrc</filename>:
-</para>
-
-<programlisting>
-begin
- button = VOLUME_PLUS
- prog = mplayer
- config = volume 1
- repeat = 1
-end
-
-begin
- button = VOLUME_MINUS
- prog = mplayer
- config = volume -1
- repeat = 1
-end
-
-begin
- button = CD_PLAY
- prog = mplayer
- config = pause
-end
-
-begin
- button = CD_STOP
- prog = mplayer
- config = seek 0 1\npause
-end<!--
---></programlisting>
-
-<para>
-If you do not like the standard location for the lirc-config file
-(<filename>~/.lircrc</filename>) use the <option>-lircconf
-<replaceable>filename</replaceable></option> switch to specify another
-file.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="slave-mode">
-<title>Slave mode</title>
-
-<para>
-The slave mode allows you to build simple frontends to
-<application>MPlayer</application>. When run with the
-<option>-slave</option> option <application>MPlayer</application> will
-read commands separated by a newline (\n) from stdin.
-The commands are documented in the
-<ulink url="../../tech/slave.txt">slave.txt</ulink> file.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="streaming">
-<title>Streaming from network or pipes</title>
-
-<para>
-<application>MPlayer</application> can play files from the network, using the
-HTTP, FTP, MMS or RTSP/RTP protocol.
-</para>
-
-<para>
-Playing works simply by passing the URL on the command line.
-<application>MPlayer</application> honors the <envar>http_proxy</envar>
-environment variable, using a proxy if available. Proxies can also be forced:
-<screen>
-mplayer <replaceable>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</replaceable>
-</screen>
-</para>
-
-<para>
-<application>MPlayer</application> can read from stdin
-(<emphasis>not</emphasis> named pipes). This can for example be used to
-play from FTP:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -
-</screen>
-</para>
-
-<note><para>
-It is also recommended to enable <option>-cache</option> when playing
-from the network:
-<screen>
-wget <replaceable>ftp://micorsops.com/something.avi</replaceable> -O - | mplayer -cache 8192 -
-</screen>
-</para></note>
-
-<!-- ********** -->
-
-<sect2 id="streaming-save">
-<title>Saving streamed content</title>
-
-<para>
-Once you succeed in making <application>MPlayer</application> play
-your favorite internet stream, you can use the option
-<option>-dumpstream</option> to save the stream into a file.
-For example:
-<screen>
-mplayer <replaceable>http://217.71.208.37:8006</replaceable> -dumpstream -dumpfile <replaceable>stream.asf</replaceable>
-</screen>
-will save the content streamed from
-<replaceable>http://217.71.208.37:8006</replaceable> into
-<replaceable>stream.asf</replaceable>.
-This works with all protocols supported by
-<application>MPlayer</application>, like MMS, RTSP, and so forth.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="drives">
-<title>CD/DVD驱å¨å¨</title>
-
-<para>
-ç°ä»£çCD-ROM驱å¨å¨è½è¾¾å°å¾é«çé度ï¼ç¶èä¸äºCD-ROMä¹å¯ä»¥å¨éä½é度ä¸è¿è¡ã
-æå æ¡åå å¯è½ä½¿ä½ èèæ¹åCD-ROMç读çé度ï¼
-</para>
-
-<itemizedlist>
-<listitem><para>
- ææ¥åç§°åè¯è¯»åå¯äº§çé误ï¼å°¤å
¶æ¯å¶ä½æ¶å£çCD-ROMãéä½é度å¯ä»¥é²æ¢è¿äº
- æ
åµä¸çæ°æ®ä¸¢å¤±ã
-</para></listitem>
-
-<listitem><para>
- 许å¤CD-ROM驱å¨å¨æå¾è®¨åçåªé³ï¼ä½ä¿å¯ä»¥éä½è¿äºåªé³ã
-</para></listitem>
-</itemizedlist>
-
-<!-- ********** -->
-
-<sect2 id="drives_linux">
-<title>Linux</title>
-
-<para>
-ä½ å¯ä»¥ä½¿ç¨<command>hdparm</command>ï¼<command>setcd</command>æ
-<command>cdctl</command>以åæ
¢IDE CD-ROMç驱å¨å¨ãä½¿ç¨æ¹æ³å¦ä¸ï¼
-<screen>hdparm -E <replaceable>[speed]</replaceable> <replaceable>[cdrom device]</replaceable></screen>
-<screen>setcd -x <replaceable>[speed]</replaceable> <replaceable>[cdrom device]</replaceable></screen>
-<screen>cdctl -bS <replaceable>[speed]</replaceable></screen>
-</para>
-
-<para>
-å¦æä½ ä½¿ç¨SCSI模æï¼ä½ å¿
é¡»æè®¾ç½®åºç¨å°çæ£çIDE驱å¨å¨ï¼ä¸æ¯è¢«
-模æçSCSI设å¤ã
-</para>
-
-<para>
-å¦æä½ ærootæéï¼ä¸é¢çå½ä»¤ä¹å¯è½æå¸®å©ï¼
-<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[cdrom device]</replaceable>/settings</screen>
-</para>
-
-<para>
-è¿å°é¢è¯»åçæä»¶è®¾ç½®ä¸º2MBï¼è¿å¯¹æåççCD-ROMæå¸®å©ãå¦æä½ è®¾ç½®
-ç太大ï¼é©±å¨å¨ä¼ä¸ææ¥å转å¨ï¼æå¤§é使§è½ã
-æ¨èä½ ä½¿ç¨<command>hdparm</command>è°æ´ä½ çCD-ROMï¼
-<screen>hdparm -d1 -a8 -u1 <replaceable>[cdrom device]</replaceable></screen>
-</para>
-
-<para>
-è¿å¼å¯äºDMA读åï¼é¢è¯»ï¼ä»¥åIRQé®çï¼å¯¹äºè¯¦ç»è§£éé
读
-<command>hdparm</command>man页ï¼ã
-</para>
-
-<para>
-请é
读
-"<filename>/proc/ide/<replaceable>[cdrom device]</replaceable>/settings</filename>"
-以å¾å¥½è°æ´ä½ çCD-ROMã
-</para>
-
-<para>
-SCSI驱å¨å¨æ²¡æç»ä¸è®¾ç½®åæ°çæ¹æ³ï¼ä½ ç¥éï¼åè¯æä»¬ï¼ï¼ï¼æä¸ä¸ªå·¥å
·
-<ulink url="http://das.ist.org/~georg/">Plextor SCSI drives</ulink>å¯åç
§ã
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="drives_freebsd">
-<title>FreeBSD</title>
-
-<para>speed:
-<screen>
-cdcontrol [-f <replaceable>device</replaceable>] speed <replaceable>[speed]</replaceable>
-</screen>
-</para>
-
-<para>DMA:
-<screen>
-sysctl hw.ata.atapi_dma=1
-</screen>
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="dvd">
-<title>DVDåæ¾</title>
-
-<para>
-对äºå®æ´çå¯ç¨é项ï¼è¯·é
读man页ã
-ææ¾æ åDVDçè¯æ³å¦ä¸ï¼
-<screen>
-mplayer dvd://<replaceable><track></replaceable> [-dvd-device <replaceable><device></replaceable>]
-</screen>
-</para>
-
-<para>
-ä¾å¦ï¼
-<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
-</para>
-
-<para>
-å¦æä½ ä½¿ç¨dvdnavæ¯æç¼è¯<application>MPlayer</application>ï¼è¯æ³æ¯ä¸æ ·çï¼ä½ä½ è¦ç¨
-dvdnav://èä¸ç¨dvd://ã
-</para>
-
-<para>
-é»è®¤çDVDè®¾å¤æ¯<filename>/dev/dvd</filename>ãå¦æä½ ç设置ä¸åï¼å建
-ä¸ªè¿æ¥æè
å¨å½ä»¤è¡ä¸ç¨<option>-dvd-device</option>æå®æ£ç¡®ç设å¤ã
-</para>
-
-<para>
-对äºDVDåæ¾åè§£å¯ï¼<application>MPlayer</application>使ç¨
-<systemitem>libdvdread</systemitem>å<systemitem>libdvdcss</systemitem>
-è¿ä¸¤ä¸ªåºå¨
-<application>MPlayer</application>çæºç æ ä¸ï¼ä½ ä¸å¿
åç¬å®è£
ãä½ ä¹å¯ä»¥ä½¿ç¨
-å
¨ç³»ç»å¯ç¨ççæ¬ï¼ä½è¿ç§åæ³ä¸è¢«æ¨èï¼å 为å®è½å¯¼è´é误ï¼åºä¸å
¼å®¹ä»¥åæ´æ
¢ç
-é度ã
-</para>
-
-<note><para>
-对äºDVDè§£ç é®é¢ï¼å°è¯ç¦ç¨supermountï¼æè
å
¶å®ç¸åºç¹æ§ãä¸äºRPC-2驱å¨å¨
-å¯è½è¿éè¦è®¾ç½®åºå代ç ã
-</para></note>
-
-<formalpara>
-<title>DVDç»æ</title>
-<para>
-DVDç£ççæ¯ä¸ªç°æå¸¦æECC/CRCç2048åèãæ¯ä¸ªè½¨ä¸éç¨UDFæä»¶æ ¼å¼ï¼å
å«åç§æ
-ä»¶ï¼å°ç.IFOå.BUKæä»¶ä»¥æå¤§çï¼1GBï¼ç.VOBæä»¶ï¼ãå®ä»¬æ¯çæ£çæä»¶è½ä»è¢«æ
-è½½çæªå å¯çDVDä¸å¤å¶/ææ¾ã
-</para>
-</formalpara>
-
-<para>
-.IFOæä»¶å
å«çµå½±çæµè§ä¿¡æ¯ï¼ç« /æ é¢/è§è§å¾ï¼è¯è¨è¡¨çï¼ï¼å®ä»¬è¢«ç¨äºè¯»åè§£æ
-.VOBçå
容ï¼å½±çï¼ã.BUKæä»¶æ¯å®ä»¬çå¤ä»½ãä»ä»¬å°å¤ä½¿ç¨<emphasis role="bold">ç°</emphasis>ï¼
-æä»¥ä½ éè¦æå®å
çä¸çæ£çç°å°å以宿DVDæµè§æå¯¹å
容è¿è¡è§£å¯ã
-</para>
-
-<para>
-DVDæ¯æéè¿åå§ç对设å¤åºäºç°ç访é®ãä¸å¹¸çæ¯ï¼ï¼å¨Linuxä¸ï¼è¦å¾å°ä¸ä¸ªæä»¶
-çç°å°åï¼ä½ å¿
é¡»æ¯è¶
çº§ç¨æ·ãé£å°±æ¯æä»¬ä¸ä½¿ç¨å
æ ¸çæä»¶ç³»ç»çåå ï¼æä»¬å¨ç¨
-æ·å±å¯¹æ¤è¿è¡äºéæ°å®ç°ã<systemitem>libdvdread</systemitem> 0.9.xå®æäºæ¤é¡¹
-å·¥ä½ãæä»¬å¹¶ä¸éè¦å
æ ¸ä¸çUDFæä»¶ç³»ç»é©±å¨å 为å®ä»¬å·²ç»æäºèªå·±å
ç½®çUDFæä»¶
-</para>
-
-<para>
-ææ¶<filename>/dev/dvd</filename>å¯¹ç¨æ·ä¸å¯è¯»ï¼æä»¥
-<systemitem>libdvdread</systemitem>çä½è
å®ç°äºä¸ä¸ªæ¨¡æå±ï¼å
¶å®ç°äºå°ç°å°å
-æäº¤å°æä»¶å+åç§»éä¸ï¼ä»¥æ¨¡æå¨æè½½çæä»¶ç³»ç»çè³æ¯ç¡¬çä¸çç´æ¥è®¿é®ã
-</para>
-
-<para>
-<systemitem>libdvdread</systemitem>对äºç´æ¥è®¿é®çè³æ¯ææè½½ç¹è䏿¯è®¾å¤åå¹¶
-æ£æ¥<filename>/proc/mounts</filename>以å¾å°è®¾å¤åç§°ãå
¶è¢«å¼åå¨Solarisä¸ï¼
-å¨é£ç³»ç»ä¸è®¾å¤åæ¯å¨æåé
çã
-</para>
-
-<formalpara>
-<title>DVDè§£å¯</title>
-<para>
-DVDè§£å¯éè¿<systemitem>libdvdcss</systemitem>宿ãè¿ä¸ªæ¹æ³å¯ä»¥éè¿
-<envar>DVDCSS_METHOD</envar>ç¯å¢åé设置ï¼å
·ä½ç»èåèman页ã
-</para>
-</formalpara>
-
-<para>
-RPC-1 DVD驱å¨å¨åªä½¿ç¨è½¯ä»¶å¯¹åºå设置è¿è¡ä¿æ¤ãRPC-2驱å¨å¨æä¸ä¸ªç¡¬ä»¶ä¿æ¤ï¼åªå
-许å5æ¬¡æ´æ¹ãä½ å¯è½éè¦æè¢«æ¨èæfirmwareå级å°RPC-1ï¼å¦æä½ æä¸ªRPC-2 DVD驱å¨
-å¨ãä½ å¯ä»¥å¨å ç¹ç½ä¸å¯»æ¾firmwareçå级ï¼
-<ulink url="http://forum.rpc-1.com/dl_all.php">æ¤firmware论å</ulink>
-å¯¹ä½ çæç´¢å¯è½æ¯ä¸ªå¥½èµ·ç¹ãå¦ææ²¡æéå¯¹ä½ ç设å¤çfirmwareå级ï¼ä½¿ç¨
-<ulink url="http://linvdr.org/projects/regionset/">åºåå·¥å
·</ulink>
-æ¥è®¾ç½®ä½ DVDçåºåç ï¼å¨Linuxä¸ï¼ã
-<emphasis role="bold">è¦å</emphasis>ï¼ä½ åªå¯ä»¥è®¾ç½®5次åºåã
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="vcd">
-<title>VCDåæ¾</title>
-
-<para>
-对äºå¯ç¨é项ç详ç»å表ï¼è¯·é
读man页ãå¯¹äºæ åè§é¢CD (VCD)çè¯æ³å¦ä¸ï¼
-<screen>mplayer vcd://<replaceable><track></replaceable> [-cdrom-device <replaceable><device></replaceable>]</screen>
-ä¾å¦ï¼
-<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
-é»è®¤çVCDè®¾å¤æ¯<filename>/dev/cdrom</filename>ãå¦æä½ ç设置ä¸åï¼å»º
-ç«ä¸ªè¿æ¥æè
å¨å½ä»¤è¡éè¿<option>-cdrom-device</option>é项æå®æ£ç¡®è®¾å¤ã
-</para>
-
-<note><para>
-è³å°Plextoråä¸äºToshiba SCSI CD-ROM驱å¨å¨å¯¹è¯»åVCDæçææçæ§è½ãè¿æ¯å 为
-é对è¿äºè®¾å¤çCDROMREADRAW <systemitem>ioctl</systemitem>没æå®æãå¦æä½ æ
-SCSIç¼ç¨ç¥è¯ï¼è¯·<ulink url="../../tech/patches.txt">帮æä»¬</ulink>å®ç°å¯¹SCSI
-VCDçæ¯æã
-</para></note>
-
-<para>
-åæ¶ï¼ä½ å¯ä»¥éè¿
-In the meantime you can extract data from VCDs with
-<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
-ä»VCDæåæ°æ®å¹¶ç¨<application>MPlayer</application>ææ¾æç»æä»¶ã
-</para>
-
-<formalpara>
-<title>VCDç»æ</title>
-<para>
-è§é¢CD (VCD)ç±CD-ROM XAç°ç»æï¼ä¾å¦CD-ROM æ¨¡å¼ 2
-è¡¨æ ¼1å2轨ï¼
-<itemizedlist>
-<listitem><para>
- 第ä¸ä¸ªè½¨éå¤äºæ¨¡å¼2è¡¨æ ¼2æ ¼å¼ä¸ï¼è¿æå³çä»ä½¿ç¨L2é误æ¢å¤ãæ¤è½¨é嫿
- ISO-9660æä»¶ç³»ç»ï¼å
¶æ¥æ2048åè/ç°ãæ¤æä»¶ç³»ç»å«æVCD屿§æ°æ®ä¿¡æ¯ï¼
- 以åç»å¸¸ç¨äºèåä¸çéææ¡¢ã对èåçMPEGåä¹è½åäºè¿ç¬¬ä¸ä¸ªè½¨éä¸ï¼ä½
- MPEGä¸å¾ä¸è¢«åæ£æä¸ç³»åç150个ç°çåãISO-9660æä»¶ç³»ç»å¯ä»¥å
å«å
¶å®
- 对äºVCDæä½ä¸éè¦çæä»¶æç¨åºã
-</para></listitem>
-
-<listitem><para>
- 第äºåä½ä¸ç轨éé常æ¯åå§ç2324åè/ç°çMPEG(å½±ç)轨éï¼æ¯ä¸ªç°å
å«
- ä¸ä¸ªMPEG PSæ°æ®å
ãè¿äºå¤äºæ¨¡å¼2è¡¨æ ¼1æ ¼å¼ï¼æä»¥ä»ä»¬æ²¡ç°å卿´å¤æ°æ®ï¼
- æå¤±äºä¸äºçº éãå¨ä¸ä¸ªVCDç第ä¸ä¸ªè½¨éåä¹å
å«CD-DA轨é乿¯åæ³çãå¨
- ä¸äºæä½ç³»ç»ä¸ï¼æäºæå·§æ¯è¿äºéISO-9660轨éåºç°å¨æä»¶ç³»ç»ä¸ãå¨å¦å¤
- ä¸äºæä½ç³»ç»ä¸å¦GNU/Linuxï¼è¿è¿ï¼æªï¼è¢«å®ç°ã卿¤ï¼MPEGæ°æ®
- <emphasis role="bold">ä¸è½è¢«æè½½</emphasis>ãå 为大é¨åçµå½±å¨è¿ç§è½¨é
- å
ï¼ä½ åºå
è¯<option>vcd://2</option>ã
-</para></listitem>
-
-<listitem><para>
- è¿å卿²¡æç¬¬ä¸ä¸ªè½¨éçVCDï¼åä¸è½¨éæ ¹æ¬æ²¡ææä»¶ç³»ç»ï¼ãä»ä»¬ä»ç¶æ¯å¯
- ææ¾çï¼ä½ä¸è½è¢«æè½½ã
-</para></listitem>
-
-<listitem><para>
- è§é¢CDçå®ä¹è¢«ç§°ä¸ºPhilips"ç½ç®ä¹¦"ï¼å®é常并ä¸åºç°å¨ç½ä¸å 为å®è¦ä»
- Philipsè´ä¹°ã对äºè§é¢CDæ´è¯¦ç»çèµæå¯ä»
- <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimagerææ¡£</ulink>
- è·åã
-</para></listitem>
-</itemizedlist>
-</para>
-</formalpara>
-
-<formalpara>
-<title>å
³äº.DATæä»¶</title>
-<para>
-被æè½½çVCDä¸å¤äºç¬¬ä¸ä¸ªè½¨éä¸ç~600MBçæä»¶å¹¶ä¸æ¯çæ£çæä»¶ï¼å®æ¯æè°çISOç½
-å
³ï¼å
¶è¢«å建以便Windowså¤çè¿äºè½¨éï¼Windowsæ ¹æ¬ä¸å
许åºç¨ç¨åºç´æ¥è®¿é®åå§è®¾
-å¤ï¼ãå¨Linuxä¸ä½ ä¸è½å¤å¶æææ¾è¿äºæä»¶ï¼å®ä»¬å
å«åå¾ï¼ãå¨Windowsä¸ï¼è¿æ¯å¯
-è½çå 为ä»çiso9660驱卿¨¡æäºå¨æä»¶å
ç´æ¥è¯»å轨éãè¦ææ¾.DATæä»¶ï¼ä½ éè¦å
æ ¸
-驱å¨ï¼å²å¯åPowerDVDçLinuxçæ¬ä¸æ¾å°ãå
¶æä¸ä¸ªæ´æ¹çiso9660æä»¶ç³»ç»
-(<filename>vcdfs/isofs-2.4.X.o</filename>)驱å¨ï¼ä½ å¯ä»¥éè¿<application>MPlayer</application>
-å¤å¶çè³ææ¾.DATæä»¶ãä½å¨Linuxå
æ ¸çæ åçiso9660驱å¨ä¸å®ä¸è½å·¥ä½ï¼å¦å¤ä½¿ç¨
-使ç¨<option>vcd://</option>ã对äºVCDå¤å¶å¦å¤çæ¹æ³æ¯å
æ ¸æ°ç
-<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>驱å¨ï¼ä¸æ¯
-宿¹å
æ ¸çä¸é¨åï¼å
¶å°CDä¼è¯æ¾ç¤ºä¸ºéåæä»¶å<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>ï¼
-ä¸ä¸ªéä½çCDæè½¨ï¼å¤å¶ç¨åºã
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="edl" xreflabel="Edit Decision Lists (EDL)">
-<title>Edit Decision Lists (EDL)</title>
-
-<para>
-The edit decision list (EDL) system allows you to automatically skip
-or mute sections of videos during playback, based on a movie specific
-EDL configuration file.
-</para>
-
-<para>
-This is useful for those who may want to watch a film in "family-friendly"
-mode. You can cut out any violence, profanity, Jar-Jar Binks .. from a movie
-according to your own personal preferences. Aside from this, there are other
-uses, like automatically skipping over commercials in video files you watch.
-</para>
-
-<para>
-The EDL file format is pretty bare-bones. There is one command per line that
-indicates what to do (skip/mute) and when to do it (using pts in seconds).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="edl_using">
-<title>Using an EDL file</title>
-
-<para>
-Include the <option>-edl <filename></option> flag when you run
-<application>MPlayer</application>, with the name of the EDL file you
-want applied to the video.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="edl_making">
-<title>Making an EDL file</title>
-
-<para>
-The current EDL file format is:
-<programlisting>[begin second] [end second] [action]</programlisting>
-Where the seconds are floating-point numbers and the action is either
-<literal>0</literal> for skip or <literal>1</literal> for mute. Example:
-<programlisting>
-5.3 7.1 0
-15 16.7 1
-420 422 0
-</programlisting>
-This will skip from second 5.3 to second 7.1 of the video, then mute at
-15 seconds, unmute at 16.7 seconds and skip from second 420 to second 422
-of the video. These actions will be performed when the playback timer
-reaches the times given in the file.
-</para>
-
-<para>
-To create an EDL file to work from, use the <option>-edlout
-<filename></option> flag. During playback, just hit <keycap>i</keycap> to
-mark the beginning and end of a skip block.
-A corresponding entry will be written to the file for that time.
-You can then go back and fine-tune the generated EDL file as well as
-change the default operation which is to skip the block described by each line.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="advaudio-surround">
-<title>Surround/Multichannel playback</title>
-
-<sect2 id="advaudio-surround-DVD">
-<title>DVDs</title>
-
-<para>
-Most DVDs and many other files include surround sound.
-<application>MPlayer</application> supports surround playback but does not
-enable it by default because stereo equipment is by far more common. To play a
-file that has more than two channels of audio use <option>-channels</option>.
-For example, to play a DVD with 5.1 audio:
-<screen>mplayer dvd://1 -channels 6</screen>
-Note that despite the name "5.1" there are actually six discrete channels.
-If you have surround sound equipment it is safe to put the
-<option>channels</option> option in your <application>MPlayer</application>
-configuration file <filename>~/.mplayer/config</filename>. For example, to make
-quadraphonic playback the default, add this line:
-<programlisting>channels=4</programlisting>
-<application>MPlayer</application> will then output audio in four channels when
-all four channels are available.
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-stereoinfour">
-<title>Playing stereo files to four speakers</title>
-
-<para>
-<application>MPlayer</application> does not duplicate any channels by default,
-and neither do most audio drivers. If you want to do that manually:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0</screen>
-See the section on
-<link linkend="advaudio-channels-copying">channel copying</link> for an
-explanation.
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-passthrough">
-<title>AC-3/DTS Passthrough</title>
-
-<para>
-DVDs usually have surround audio encoded in AC-3 (Dolby Digital) or DTS
-(Digital Theater System) format. Some modern audio equipment is capable of
-decoding these formats internally. <application>MPlayer</application> can be
-configured to relay the audio data without decoding it. This will only work if
-you have a S/PDIF (Sony/Philips Digital Interface) jack in your sound card, or
-if you are passing audio over HDMI.
-</para>
-
-<para>
-If your audio equipment can decode both AC-3 and DTS, you can safely enable
-passthrough for both formats. Otherwise, enable passthrough for only the format
-your equipment supports.
-</para>
-
-<itemizedlist>
-<title>To enable passthrough on the command line:</title>
-<listitem><para>
- For AC-3 only, use <option>-ac hwac3</option>
-</para></listitem>
-<listitem><para>
- For DTS only, use <option>-ac hwdts</option>
-</para></listitem>
-<listitem><para>
- For both AC-3 and DTS, use <option>-afm hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>To enable passthrough in the <application>MPlayer</application>
- configuration file: </title>
-<listitem><para>
- For AC-3 only, use <option>ac=hwac3,</option>
-</para></listitem>
-<listitem><para>
- For DTS only, use <option>ac=hwdts,</option>
-</para></listitem>
-<listitem><para>
- For both AC-3 and DTS, use <option>afm=hwac3</option>
-</para></listitem>
-</itemizedlist>
-
-<para>
-Note that there is a comma (",") at the end of
-<option>ac=hwac3,</option> and <option>ac=hwdts,</option>. This will make
-<application>MPlayer</application> fall back on the codecs it normally uses when
-playing a file that does not have AC-3 or DTS audio.
-<option>afm=hwac3</option> does not need a comma;
-<application>MPlayer</application> will fall back anyway when an audio family
-is specified.
-</para>
-</sect2>
-
-
-<sect2 id="hwmpa-surround-passthrough">
-<title>MPEG audio Passthrough</title>
-
-<para>
-Digital TV transmissions (such as DVB and ATSC) and some DVDs usually have
-MPEG audio streams (in particular MP2).
-Some MPEG hardware decoders such as full-featured DVB cards and DXR2
-adapters can natively decode this format.
-<application>MPlayer</application> can be configured to relay the audio data
-without decoding it.
-</para>
-
-<para>
-To use this codec:
-<screen> mplayer -ac hwmpa </screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-matrix">
-<title>Matrix-encoded audio</title>
-
-<para>
-<emphasis>***TODO***</emphasis>
-</para>
-
-<para>
-This section has yet to be written and cannot be completed until somebody
-provides sample files for us to test. If you have any matrix-encoded audio
-files, know where to find some, or have any information that could be helpful,
-please send a message to the
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-DOCS</ulink>
-mailing list. Put "[matrix-encoded audio]" in the subject line.
-</para>
-
-<para>
-If no files or further information are forthcoming this section will be dropped.
-</para>
-
-<para>
-Good links:
-<itemizedlist>
-<listitem><para>
- <ulink url="http://electronics.howstuffworks.com/surround-sound5.htm">http://electronics.howstuffworks.com/surround-sound5.htm</ulink>
-</para></listitem>
-<listitem><para>
- <ulink url="http://www.extremetech.com/article2/0,1697,1016875,00.asp">http://www.extremetech.com/article2/0,1697,1016875,00.asp</ulink>
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-hrtf">
-<title>Surround emulation in headphones</title>
-
-<para>
-<application>MPlayer</application> includes an HRTF (Head Related Transfer
-Function) filter based on an
-<ulink url="http://sound.media.mit.edu/KEMAR.html">MIT project</ulink>
-wherein measurements were taken from microphones mounted on a dummy human head.
-</para>
-
-<para>
-Although it is not possible to exactly imitate a surround system,
-<application>MPlayer</application>'s HRTF filter does provide more spatially
-immersive audio in 2-channel headphones. Regular downmixing simply combines all
-the channels into two; besides combining the channels, <option>hrtf</option>
-generates subtle echoes, increases the stereo separation slightly, and alters
-the volume of some frequencies. Whether HRTF sounds better may be dependent on
-the source audio and a matter of personal taste, but it is definitely worth
-trying out.
-</para>
-
-<para>
-To play a DVD with HRTF:
-<screen>mplayer dvd://1 -channels 6 -af hrtf</screen>
-</para>
-
-<para>
-<option>hrtf</option> only works well with 5 or 6 channels. Also,
-<option>hrtf</option> requires 48 kHz audio. DVD audio is already 48 kHz, but if
-you have a file with a different sampling rate that you want to play using
-<option>hrtf</option> you must resample it:
-<screen>
-mplayer <replaceable>filename</replaceable> -channels 6 -af resample=48000,hrtf
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-surround-troubleshooting">
-<title>Troubleshooting</title>
-
-<para>
-If you do not hear any sound out of your surround channels, check your mixer
-settings with a mixer program such as <application>alsamixer</application>;
-audio outputs are often muted and set to zero volume by default.
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="advaudio-channels">
-<title>Channel manipulation</title>
-
-<sect2 id="advaudio-channels-general">
-<title>General information</title>
-
-<para>
-Unfortunately, there is no standard for how channels are ordered. The orders
-listed below are those of AC-3 and are fairly typical; try them and see if your
-source matches. Channels are numbered starting with 0.
-
-<orderedlist spacing="compact">
-<title>mono</title>
- <listitem override="0"><para>center</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>stereo</title>
- <listitem override="0"><para>left</para></listitem>
- <listitem><para>right</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>quadraphonic</title>
- <listitem override="0"><para>left front</para></listitem>
- <listitem><para>right front</para></listitem>
- <listitem><para>left rear</para></listitem>
- <listitem><para>right rear</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 4.0</title>
- <listitem override="0"><para>left front</para></listitem>
- <listitem><para>right front</para></listitem>
- <listitem><para>center rear</para></listitem>
- <listitem><para>center front</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.0</title>
- <listitem override="0"><para>left front</para></listitem>
- <listitem><para>right front</para></listitem>
- <listitem><para>left rear</para></listitem>
- <listitem><para>right rear</para></listitem>
- <listitem><para>center front</para></listitem>
-</orderedlist>
-
-<orderedlist spacing="compact">
-<title>surround 5.1</title>
- <listitem override="0"><para>left front</para></listitem>
- <listitem><para>right front</para></listitem>
- <listitem><para>left rear</para></listitem>
- <listitem><para>right rear</para></listitem>
- <listitem><para>center front</para></listitem>
- <listitem><para>subwoofer</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-The <option>-channels</option> option is used to request the number of
-channels from the audio decoder. Some audio codecs use the number of specified
-channels to decide if downmixing the source is necessary. Note that this does
-not always affect the number of output channels. For example, using
-<option>-channels 4</option> to play a stereo MP3 file will still result in
-2-channel output since the MP3 codec will not produce the extra channels.
-</para>
-
-<para>
-The <option>channels</option> audio filter can be used to create or remove
-channels and is useful for controlling the number of channels sent to the sound
-card. See the following sections for more information on channel manipulation.
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-channels-mono">
-<title>Playing mono with two speakers</title>
-
-<para>
-Mono sounds a lot better when played through two speakers - especially when
-using headphones. Audio files that truly have one channel are automatically
-played through two speakers; unfortunately, most files with mono sound are
-actually encoded as stereo with one channel silent. The easiest and most
-foolproof way to make both speakers output the same audio is the
-<option>extrastereo</option> filter:
-<screen>mplayer <replaceable>filename</replaceable> -af extrastereo=0</screen>
-</para>
-
-<para>
-This averages both channels, resulting in both channels being half as loud as
-the original. The next sections have examples of other ways to do this without a
-volume decrease, but they are more complex and require different options
-depending on which channel to keep. If you really need to maintain the volume,
-it may be easier to experiment with the <option>volume</option> filter and find
-the right value. For example:
-<screen>
-mplayer <replaceable>filename</replaceable> -af extrastereo=0,volume=5
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-channels-copying">
-<title>Channel copying/moving</title>
-
-<para>
-The <option>channels</option> filter can move any or all channels.
-Setting up all the suboptions for the <option>channels</option>
-filter can be complicated and takes a little care.
-
-<orderedlist spacing="compact">
-<listitem><para>
- Decide how many output channels you need. This is the first suboption.
-</para></listitem>
-<listitem><para>
- Count how many channel moves you will do. This is the second suboption. Each
- channel can be moved to several different channels at the same time, but keep
- in mind that when a channel is moved (even if to only one destination) the
- source channel will be empty unless another channel is moved into it. To copy
- a channel, keeping the source the same, simply move the channel into both the
- destination and the source. For example:
- <programlisting>
-channel 2 --> channel 3
-channel 2 --> channel 2<!--
- --></programlisting>
-</para></listitem>
-<listitem><para>
- Write out the channel copies as pairs of suboptions. Note that the first
- channel is 0, the second is 1, etc. The order of these suboptions does not
- matter as long as they are properly grouped into
- <replaceable>source:destination</replaceable> pairs.
-</para></listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Example: one channel in two speakers</bridgehead>
-<para>
-Here is an example of another way to play one channel in both speakers. Suppose
-for this example that the left channel should be played and the right channel
-discarded. Following the steps above:
-<orderedlist>
-<listitem><para>
- In order to provide an output channel for each of the two speakers, the first
- suboption must be "2".
-</para></listitem>
-<listitem><para>
- The left channel needs to be moved to the right channel, and also must be
- moved to itself so it won't be empty. This is a total of two moves, making
- the second suboption "2" as well.
-</para></listitem>
-<listitem><para>
- To move the left channel (channel 0) into the right channel (channel 1), the
- suboption pair is "0:1", "0:0" moves the left channel onto itself.
-</para></listitem>
-</orderedlist>
-Putting that all together gives:
-<screen>
-mplayer <replaceable>filename</replaceable> -af channels=2:2:0:1:0:0
-</screen>
-</para>
-
-<para>
-The advantage this example has over <option>extrastereo</option> is that the
-volume of each output channel is the same as the input channel. The disadvantage
-is that the suboptions must be changed to "2:2:1:0:1:1" when the desired audio
-is in the right channel. Also, it is more difficult to remember and type.
-</para>
-
-<bridgehead>Example: left channel in two speakers shortcut</bridgehead>
-<para>
-There is actually a much easier way to use the <option>channels</option> filter
-for playing the left channel in both speakers:
-<screen>mplayer <replaceable>filename</replaceable> -af channels=1</screen>
-The second channel is discarded and, with no further suboptions, the single
-remaining channel is left alone. Sound card drivers automatically play
-single-channel audio in both speakers. This only works when the desired channel
-is on the left.
-</para>
-
-<bridgehead>Example: duplicate front channels to the rear</bridgehead>
-<para>
-Another common operation is to duplicate the front channels and play them back
-on the rear speakers of a quadraphonic setup.
-<orderedlist>
-<listitem><para>
- There should be four output channels. The first suboption is "4".
-</para></listitem>
-<listitem><para>
- Each of the two front channels needs to be moved to the corresponding rear
- channel and also to itself. This is four moves, so the second suboption is "4".
-</para></listitem>
-<listitem><para>
- The left front (channel 0) needs to moved to the left rear (channel 2):
- "0:2". The left front also needs to be moved to itself: "0:0". The right
- front (channel 1) is moved to the right rear (channel 3): "1:3", and also to
- itself: "1:1".
-</para></listitem>
-</orderedlist>
-Combine all the suboptions to get:
-<screen>
-mplayer <replaceable>filename</replaceable> -af channels=4:4:0:2:0:0:1:3:1:1
-</screen>
-</para>
-</sect2>
-
-
-<sect2 id="advaudio-channels-mixing">
-<title>Channel mixing</title>
-
-<para>
-The <option>pan</option> filter can mix channels in user-specified proportions.
-This allows for everything the <option>channels</option> filter can do and
-more. Unfortunately, the suboptions are much more complicated.
-<orderedlist>
-<listitem><para>
- Decide how many channels to work with. You may need to specify this with
- <option>-channels</option> and/or <option>-af channels</option>.
- Later examples will show when to use which.
-</para></listitem>
-<listitem><para>
- Decide how many channels to feed into <option>pan</option> (further decoded
- channels are discarded). This is the first suboption, and it also controls how
- many channels to employ for output.
-</para></listitem>
-<listitem>
- <para>
- The remaining suboptions specify how much of each channel gets mixed into each
- other channel. This is the complicated part. To break the task down, split the
- suboptions into several sets, one set for each input channel. Each suboption
- within a set corresponds to an output channel. The number you specify will be
- the percentage of the input channel that gets mixed into the output channel.
- </para>
- <para>
- <option>pan</option> accepts values from 0 to 512, yielding 0% to 51200% of
- the original volume. Be careful when using values greater than 1. Not only
- can this give you very high volume, but if you exceed the sample range of
- your sound card you may hear painful pops and clicks. If you want you can
- follow <option>pan</option> with <option>,volume</option> to enable clipping,
- but it is best to keep the values of <option>pan</option> low enough that
- clipping is not necessary.
- </para>
-</listitem>
-</orderedlist>
-</para>
-
-<bridgehead>Example: one channel in two speakers</bridgehead>
-<para>
-Here is yet another example for playing the left channel in two speakers. Follow
-the steps above:
-<orderedlist>
-<listitem><para>
- <option>pan</option> should output two channels, so the first
- suboption is "2".
-</para></listitem>
-<listitem><para>
- Since we have two input channels, there will be two sets of suboptions.
- Since there are also two output channels,
- there will be two suboptions per set.
- The left channel from the file should go with full volume to
- the new left and the right channels.
- Thus the first set of suboptions is "1:1".
- The right channel should be discarded, so the second would be "0:0".
- Any 0 values at the end can be left out, but for ease of
- understanding we will keep them.
-</para></listitem>
-</orderedlist>
-Putting those options together gives:
-<screen>mplayer <replaceable>filename</replaceable> -af pan=2:1:1:0:0</screen>
-If the right channel is desired instead of the left, the suboptions to
-<option>pan</option> will be "2:0:0:1:1".
-</para>
-
-
-<bridgehead>Example: left channel in two speakers shortcut</bridgehead>
-<para>
-As with <option>channels</option>, there is a shortcut that only works with the
-left channel:
-<screen>mplayer <replaceable>filename</replaceable> -af pan=1:1</screen>
-Since <option>pan</option> has only one channel of input (the other channel is
-discarded), there is only one set with one suboption, which specifies that the
-only channel gets 100% of itself.
-</para>
-
-<bridgehead>Example: downmixing 6-channel PCM</bridgehead>
-<para>
-<application>MPlayer</application>'s decoder for 6-channel PCM is not capable of
-downmixing. Here is a way to downmix PCM using <option>pan</option>:
-<orderedlist>
-<listitem><para>
- The number of output channels is 2, so the first suboption is "2".
-</para></listitem>
-<listitem><para>
- With six input channels there will be six sets of options. Fortunately,
- since we only care about the output of the first two channels, we only need to
- make two sets; the remaining four sets can be omitted. Beware that not all
- multichannel audio files have the same channel order! This example
- demonstrates downmixing a file with the same channels as AC-3 5.1:
- <programlisting>
-0 - front left
-1 - front right
-2 - rear left
-3 - rear right
-4 - center front
-5 - subwoofer<!--
- --></programlisting>
- The first set of suboptions lists the percentages of the original volume, in
- order, which each output channel should receive from the
- front left channel: "1:0".
- The front right channel should go into the right output: "0:1".
- The same for the rear channels: "1:0" and "0:1".
- The center channel goes into both output channels with half volume:
- "0.5:0.5", and the subwoofer goes into both with full volume: "1:1".
-</para></listitem>
-</orderedlist>
-Put all that together, for:
-<screen>
-mplayer <replaceable>6-channel.wav</replaceable> -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
-</screen>
-The percentages listed above are only a rough example. Feel free to tweak them.
-</para>
-
-<bridgehead>Example: Playing 5.1 audio on big speakers without a subwoofer</bridgehead>
-<para>
-If you have a huge pair of front speakers you may not want to waste any money on
-buying a subwoofer for a complete 5.1 sound system. If you use
-<option>-channels 5</option> to request that liba52 decode 5.1 audio in 5.0,
-the subwoofer channel is simply discarded. If you want to distribute the
-subwoofer channel yourself you need to downmix manually with
-<option>pan</option>:
-<orderedlist>
-<listitem><para>
- Since <option>pan</option> needs to examine all six channels, specify
- <option>-channels 6</option> so liba52 decodes them all.
-</para></listitem>
-<listitem><para>
- <option>pan</option> outputs to only five channels, the first suboption is 5.
-</para></listitem>
-<listitem><para>
- Six input channels and five output channels means six sets of five suboptions.
- <itemizedlist spacing="compact">
- <listitem><para>
- The left front channel only replicates onto itself:
- "1:0:0:0:0"
- </para></listitem>
- <listitem><para>
- Same for the right front channel:
- "0:1:0:0:0"
- </para></listitem>
- <listitem><para>
- Same for the left rear channel:
- "0:0:1:0:0"
- </para></listitem>
- <listitem><para>
- And also the same for the right rear channel:
- "0:0:0:1:0"
- </para></listitem>
- <listitem><para>
- Center front, too:
- "0:0:0:0:1"
- </para></listitem>
- <listitem><para>
- And now we have to decide what to do with the subwoofer,
- e.g. half into front right and front left:
- "0.5:0.5:0:0:0"
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-</orderedlist>
-Combine all those options to get:
-<screen>
-mplayer <replaceable>dvd://1</replaceable> -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
-</screen>
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="advaudio-volume">
-<title>Software Volume adjustment</title>
-
-<para>
-Some audio tracks are too quiet to be heard comfortably without amplification.
-This becomes a problem when your audio equipment cannot amplify the signal for
-you. The <option>-softvol</option> option directs
-<application>MPlayer</application> to use an internal mixer. You can then use
-the volume adjustment keys (by default <keycap>9</keycap> and
-<keycap>0</keycap>) to reach much higher volume levels. Note that this does not
-bypass your sound card's mixer; <application>MPlayer</application> only
-amplifies the signal before sending it to your sound card.
-The following example is a good start:
-<screen>
-mplayer <replaceable>quiet-file</replaceable> -softvol -softvol-max 300
-</screen>
-The <option>-softvol-max</option> option specifies the maximum allowable output
-volume as a percentage of the
-original volume. For example, <option>-softvol-max 200</option> would allow the
-volume to be adjusted up to twice its original level.
-It is safe to specify a large value with
-<option>-softvol-max</option>; the higher volume will not be used until you
-use the volume adjustment keys. The only disadvantage of a large value is that,
-since <application>MPlayer</application> adjusts volume by a percentage of the
-maximum, you will not have as precise control when using the volume adjustment
-keys. Use a lower value with <option>-softvol-max</option> and/or specify
-<option>-volstep 1</option> if you need higher precision.
-</para>
-
-<para>
-The <option>-softvol</option> option works by controlling the
-<option>volume</option> audio filter. If you want to play a file at a certain
-volume from the beginning you can specify <option>volume</option> manually:
-<screen>mplayer <replaceable>quiet-file</replaceable> -af volume=10</screen>
-This will play the file with a ten decibel gain. Be careful when using the
-<option>volume</option> filter - you could easily hurt your ears if you use
-too high a value. Start low and work your way up gradually until you get a feel
-for how much adjustment is required. Also, if you specify excessively high
-values, <option>volume</option> may need to clip the signal to avoid sending
-your sound card data that is outside the allowable range; this will result in
-distorted audio.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tv-input" xreflabel="TV input">
-<title>TV input</title>
-
-<para>
-This section is about how to enable <emphasis role="bold">watching/grabbing
-from V4L compatible TV tuner</emphasis>. See the man page for a description
-of TV options and keyboard controls.
-</para>
-
-<sect2 id="tv-tips">
-<title>Usage tips</title>
-
-<para>
-The full listing of the options is available on the manual page.
-Here are just a few tips:
-
-<itemizedlist>
-<listitem><para>
- Make sure your tuner works with another TV software in Linux, for
- example <application>XawTV</application>.
-</para></listitem>
-<listitem><para>
- Use the <option>channels</option> option. An example:
- <screen>-tv channels=26-MTV1,23-TV2</screen>
- Explanation: Using this option, only the 26 and 23 channels will be usable,
- and there will be a nice OSD text upon channel switching, displaying the
- channel's name. Spaces in the channel name must be replaced by the
- "_" character.
-</para></listitem>
-<listitem><para>
- Choose some sane image dimensions. The dimensions of the resulting image
- should be divisible by 16.
-</para></listitem>
-<listitem>
- <para>
- If you capture the video with the vertical resolution higher than half
- of the full resolution (i.e. 288 for PAL or 240 for NTSC), then the
- 'frames' you get will really be interleaved pairs of fields.
- Depending on what you want to do with the video you may leave it in
- this form, destructively deinterlace, or break the pairs apart into
- individual fields.
- </para>
- <para>
- Otherwise you'll get a movie which is distorted during
- fast-motion scenes and the bitrate controller will be probably even unable
- to retain the specified bitrate as the interlacing artifacts produce high
- amount of detail and thus consume lot of bandwidth. You can enable
- deinterlacing with <option>-vf pp=DEINT_TYPE</option>.
- Usually <option>pp=lb</option> does a good job, but it can be matter of
- personal preference.
- See other deinterlacing algorithms in the manual and give it a try.
- </para>
-</listitem>
-<listitem><para>
- Crop out the dead space. When you capture the video, the areas at the edges
- are usually black or contain some noise. These again consume lots of
- unnecessary bandwidth. More precisely it's not the black areas themselves
- but the sharp transitions between the black and the brighter video image
- which do but that's not important for now. Before you start capturing,
- adjust the arguments of the <option>crop</option> option so that all the
- crap at the margins is cropped out. Again, don't forget to keep the resulting
- dimensions sane.
-</para></listitem>
-<listitem><para>
- Watch out for CPU load. It shouldn't cross the 90% boundary for most of the
- time. If you have a large capture buffer, <application>MEncoder</application>
- can survive an overload for few seconds but nothing more. It's better to
- turn off the 3D OpenGL screensavers and similar stuff.
-</para></listitem>
-<listitem><para>
- Don't mess with the system clock. <application>MEncoder</application> uses the
- system clock for doing A/V sync. If you adjust the system clock (especially
- backwards in time), <application>MEncoder</application> gets confused and you
- will lose frames. This is an important issue if you are hooked to a network
- and run some time synchronization software like NTP. You have to turn NTP
- off during the capture process if you want to capture reliably.
-</para></listitem>
-<listitem><para>
- Don't change the <option>outfmt</option> unless you know what you are doing
- or your card/driver really doesn't support the default (YV12 colorspace).
- In the older versions of <application>MPlayer</application>/
- <application>MEncoder</application> it was necessary to specify the output
- format. This issue should be fixed in the current releases and
- <option>outfmt</option> isn't required anymore, and the default suits the
- most purposes. For example, if you are capturing into DivX using
- <systemitem class="library">libavcodec</systemitem> and specify
- <option>outfmt=RGB24</option> in order to increase the quality of the captured
- images, the captured image will be actually later converted back into YV12 so
- the only thing you achieve is a massive waste of CPU power.
-</para></listitem>
-<listitem><para>
- There are several ways of capturing audio. You can grab the sound either using
- your sound card via an external cable connection between video card and
- line-in, or using the built-in ADC in the bt878 chip. In the latter case, you
- have to load the <emphasis role="bold">btaudio</emphasis> driver. Read the
- <filename>linux/Documentation/sound/btaudio</filename> file (in the kernel
- tree, not <application>MPlayer</application>'s) for some instructions on using
- this driver.
-</para></listitem>
-<listitem><para>
- If <application>MEncoder</application> cannot open the audio device, make
- sure that it is really available. There can be some trouble with the sound
- servers like aRts (KDE) or ESD (GNOME). If you have a full duplex sound card
- (almost any decent card supports it today), and you are using KDE, try to
- check the "full duplex" option in the sound server preference menu.
-</para></listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<sect2 id="tv-examples">
-<title>Examples</title>
-
-<informalexample><para>
-Dummy output, to AAlib :)
-<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
-</para></informalexample>
-
-<informalexample><para>
-Input from standard V4L:
-<screen>
-mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-A more sophisticated example. This makes <application>MEncoder</application>
-capture the full PAL image, crop the margins, and deinterlace the picture
-using a linear blend algorithm. Audio is compressed with a constant bitrate
-of 64kbps, using LAME codec. This setup is suitable for capturing movies.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
- -vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://
-</screen>
-</para></informalexample>
-
-<informalexample><para>
-This will additionally rescale the image to 384x288 and compresses the
-video with the bitrate of 350kbps in high quality mode. The vqmax option
-looses the quantizer and allows the video compressor to actually reach so
-low bitrate even at the expense of the quality. This can be used for
-capturing long TV series, where the video quality isn't so important.
-<screen>
-mencoder -tv driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 -sws 1 -o <replaceable>output.avi</replaceable>\
- -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://
-</screen>
-It's also possible to specify smaller image dimensions in the
-<option>-tv</option> option and omit the software scaling but this approach
-uses the maximum available information and is a little more resistant to noise.
-The bt8x8 chips can do the pixel averaging only in the horizontal direction due
-to a hardware limitation.
-</para></informalexample>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tv-teletext">
-<title>Teletext</title>
-
-<para>
- Teletext is currently available only in <application>MPlayer</application>
- for v4l and v4l2 drivers.
-</para>
-
-<sect2 id="tv-teletext-implementation-notes">
-<title>Implementation notes</title>
-
-<para>
-<application>MPlayer</application> supports regular text, graphics and navigation links.
-Unfortunately, colored pages are not fully supported yet - all pages are shown as grayscaled.
-Subtitle pages (also known as Closed Captions) are supported, too.
-</para>
-
-<para>
-<application>MPlayer</application> starts caching all teletext pages upon
-starting to receive TV input, so you do not need to wait until the requested page is loaded.
-</para>
-
-<para>
-Note: Using teletext with <option>-vo xv</option> causes strange colors.
-</para>
-</sect2>
-
-<sect2 id="tv-teletext-usage">
-<title>Using teletext</title>
-
-<para>
-To enable teletext decoding you must specify the VBI device to get teletext data
-from (usually <filename>/dev/vbi0</filename> for Linux). This can be done by specifying
-<option>tdevice</option> in your configuration file, like shown below:
-<screen>tv=tdevice=/dev/vbi0</screen>
-</para>
-
-<para>
-You might need to specify the teletext language code for your country.
-To list all available country codes use
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
-Here is an example for Russian:
-<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
-</para>
-
-<para>
-</para>
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="radio">
-<title>广æçµå°</title>
-
-<sect2 id="radio-input" xreflabel="Radio input">
-<title>çµå°è¾å
¥</title>
-
-<para>
-è¿ä¸é¨åå°è¯´æå¦ä½ä»V4Lå
¼å®¹ççµå°è°è°å¨æ¶å¬çµå°å¹¿æã
-请é
读æåä¸å
³äºçµå°çå¯é项åé®çæ§å¶çæè¿°ã
-</para>
-
-<!-- ********** -->
-
-<sect3 id="radio-compilation">
-<title>ç¼è¯</title>
-
-<procedure>
-<step><para>
- é¦å
, ä½ éè¦éæ°ç¼è¯MPlayer, 使ç¨<filename>./configure</filename>带ä¸é项
- <option>--enable-radio</option> å(å¦æä½ æ³è¦æ¯æææ)
- <option>--enable-radio-capture</option>
-</para></step>
-<step><para>
- ç¡®è®¤ä½ ççµå°è°è°å¨å¯ä»¥åLinuxçå
¶ä»æ¶é³è½¯ä»¶å·¥ä½ã æ¯å¦<application>XawTV</application>ã
-</para></step>
-</procedure>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-tips">
-<title>ä½¿ç¨æå·§</title>
-
-<para>
-å¯ç¨é项ç宿´åè¡¨å¨æå䏿ååºã
-è¿éåªç»åºä¸äºæå·§:
-
-<itemizedlist>
-<listitem><para>
- 使ç¨<option>channels</option>é项ã ä¾å:
- <screen>-radio channels=104.4-Sibir,103.9-Maximum</screen>
- è§£é: 使ç¨è¯¥é项, ååªå¯ä½¿ç¨104.4å103.9çµå°ã å¨é¢é忢æ¶, å°ä¼æä¸ªä¸éçOSDæå,
- æ¾ç¤ºé¢éçååã é¢éçååä¸çç©ºæ ¼å¿
é¡»æ¿æ¢æä¸å线("_")ã
-</para></listitem>
-<listitem><para>
- æå¥½å ç§æ¹æ³å¯ä»¥ææå£°é³ã 为ææé³é¢, ä½ å¯ä»¥éè¿è¿æ¥è§é¢å¡åé³é¢è¾å
¥ç夿¥çº¿ç¨ä½ ç声塿æ,
- ä¹å¯ä»¥ä½¿ç¨saa7134è¯çå
ç½®çADCã å¨åä¸ç§æ
åµä¸, ä½ è¦å è½½<systemitem>saa7134-alsa</systemitem>
- æ<systemitem>saa7134-oss</systemitem>驱å¨ã
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application>ä¸è½ç¨äºé³é¢ææ,
- å 为å®éè¦è§é¢æµæå·¥ä½ã å æ¤ä½ å¯ä»¥, æä½¿ç¨ALSA项ç®ç<application>arecord</application>,
- æè
使ç¨é项<option>-ao pcm:file=file.wav</option>ã å¨åä¸ç§æ
åµä¸,
- ä½ å°å¬ä¸å°ä»»ä½å£°é³ (é¤éä½ ç¨äºè¾å
¥çº¿, å¹¶ä¸å
³éäºè¾å
¥çº¿éé³)ã
-</para></listitem>
-</itemizedlist>
-</para>
-</sect3>
-
-<!-- ********** -->
-
-<sect3 id="radio-examples">
-<title>ä¾å</title>
-
-<informalexample><para>
-仿 åçV4Lè¾å
¥ (使ç¨è¾å
¥çº¿, ææå¼å
³å
³é):
-<screen>mplayer radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-仿 åçV4Lè¾å
¥ (使ç¨è¾å
¥çº¿, ææå¼å
³å
³é, V4Lv1æ¥å£):
-<screen>mplayer -radio driver=v4l radio://104.4</screen>
-</para></informalexample>
-
-<informalexample><para>
-ææ¾é¢éå表ä¸ç第äºä¸ªé¢é:
-<screen>mplayer -radio channels=104.4=Sibir,103.9=Maximm radio://2</screen>
-</para></informalexample>
-
-<informalexample>
-<para>
-æå£°é³ä»æ¶é³å¡çå
ç½®ADCä¼ å°PCIæ»çº¿ã
-å¨è¿ä¸ªä¾åä¸, è°è°å¨è¢«ç¨ææ¯ç¬¬äºå声å¡(ALSA device hw:1,0)ã
-对äºåºäºsaa7134çå¡, å¿
é¡»å è½½ saa7134-alsa æ saa7134-oss 模åã
-<screen>
-mplayer -rawaudio rate=32000 radio://2/capture \
- -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm
-</screen>
-<note><para>å½ä½¿ç¨ALSA设å¤åæ¶, åå·(:)å¿
é¡»æ¿æ¢æçå·(=),
-éå·(,)è¦æ¿æ¢æå¥ç¹(.)
-</para></note>
-</para>
-</informalexample>
-</sect3>
-</sect2>
-
-</sect1>
-</chapter>
diff --git a/DOCS/xml/zh_CN/video.xml b/DOCS/xml/zh_CN/video.xml
deleted file mode 120000
index 307779e..0000000
--- a/DOCS/xml/zh_CN/video.xml
+++ /dev/null
@@ -1 +0,0 @@
-../en/video.xml
\ No newline at end of file
diff --git a/Makefile b/Makefile
index eb81564..68e9f45 100644
--- a/Makefile
+++ b/Makefile
@@ -26,7 +26,6 @@ include config.mak
SRCS_AUDIO_INPUT-$(ALSA) += stream/ai_alsa1x.c
SRCS_AUDIO_INPUT-$(OSS) += stream/ai_oss.c
SRCS_COMMON-$(AUDIO_INPUT) += $(SRCS_AUDIO_INPUT-yes)
-SRCS_COMMON-$(BITMAP_FONT) += sub/font_load.c
SRCS_COMMON-$(CDDA) += stream/stream_cdda.c \
stream/cdinfo.c
SRCS_COMMON-$(CDDB) += stream/stream_cddb.c
@@ -63,7 +62,6 @@ SRCS_COMMON-$(FASTMEMCPY) += libvo/aclib.c
SRCS_COMMON-$(FFMPEG_INTERNALS) += libmpcodecs/vf_mcdeint.c \
libmpcodecs/vf_spp.c \
-SRCS_COMMON-$(FREETYPE) += sub/font_load_ft.c
SRCS_COMMON-$(FTP) += stream/stream_ftp.c
SRCS_COMMON-$(GIF) += libmpdemux/demux_gif.c
SRCS_COMMON-$(HAVE_POSIX_SELECT) += libmpcodecs/vf_bmovl.c
@@ -73,8 +71,12 @@ SRCS_COMMON-$(LADSPA) += libaf/af_ladspa.c
SRCS_COMMON-$(LIBA52) += libmpcodecs/ad_liba52.c
SRCS_COMMON-$(LIBASS) += libmpcodecs/vf_ass.c \
sub/ass_mp.c \
+ sub/osd_libass.c \
sub/sd_ass.c \
+# compiled if libass is NOT enabled
+SRCS_COMMON-NEGATED-$(LIBASS) += sub/osd_dummy.c
+
SRCS_COMMON-$(LIBBLURAY) += stream/stream_bluray.c
SRCS_COMMON-$(LIBBS2B) += libaf/af_bs2b.c
SRCS_COMMON-$(LIBDCA) += libmpcodecs/ad_libdca.c
@@ -89,16 +91,11 @@ SRCS_COMMON-$(LIBDVDCSS_INTERNAL) += libdvdcss/css.c \
SRCS_COMMON-$(LIBMAD) += libmpcodecs/ad_libmad.c
-SRCS_COMMON-$(LIBNEMESI) += libmpdemux/demux_nemesi.c \
- stream/stream_nemesi.c
SRCS_COMMON-$(LIBNUT) += libmpdemux/demux_nut.c
SRCS_COMMON-$(LIBPOSTPROC) += libmpcodecs/vf_pp.c
SRCS_COMMON-$(LIBSMBCLIENT) += stream/stream_smb.c
SRCS_COMMON-$(LIBTHEORA) += libmpcodecs/vd_theora.c
-SRCS_COMMON-$(LIVE555) += libmpdemux/demux_rtp.cpp \
- libmpdemux/demux_rtp_codec.cpp \
- stream/stream_live555.c
SRCS_COMMON-$(MACOSX_FINDER) += osdep/macosx_finder_args.m
SRCS_COMMON-$(COCOA) += libvo/osx_common.c \
libvo/cocoa_common.m \
@@ -108,13 +105,6 @@ SRCS_COMMON-$(MPG123) += libmpcodecs/ad_mpg123.c
SRCS_COMMON-$(MUSEPACK) += libmpcodecs/ad_mpc.c \
libmpdemux/demux_mpc.c
-SRCS_COMMON-$(NATIVE_RTSP) += stream/stream_rtsp.c \
- stream/freesdp/common.c \
- stream/freesdp/errorlist.c \
- stream/freesdp/parser.c \
- stream/librtsp/rtsp.c \
- stream/librtsp/rtsp_rtp.c \
- stream/librtsp/rtsp_session.c \
SRCS_COMMON-$(NEED_GETTIMEOFDAY) += osdep/gettimeofday.c
SRCS_COMMON-$(NEED_GLOB) += osdep/glob-win.c
@@ -135,12 +125,6 @@ SRCS_COMMON-$(NETWORKING) += stream/stream_netstream.c \
stream/tcp.c \
stream/stream_rtp.c \
stream/stream_udp.c \
- stream/librtsp/rtsp.c \
- stream/realrtsp/asmrp.c \
- stream/realrtsp/real.c \
- stream/realrtsp/rmff.c \
- stream/realrtsp/sdpplin.c \
- stream/realrtsp/xbuffer.c \
SRCS_COMMON-$(PNG) += libmpcodecs/vd_mpng.c
SRCS_COMMON-$(PRIORITY) += osdep/priority.c
@@ -213,6 +197,7 @@ SRCS_COMMON-$(WIN32DLL) += libmpcodecs/ad_acm.c \
SRCS_COMMON-$(XANIM_CODECS) += libmpcodecs/vd_xanim.c
SRCS_COMMON-$(XMMS_PLUGINS) += libmpdemux/demux_xmms.c
SRCS_COMMON-$(XVID4) += libmpcodecs/vd_xvid4.c
+
SRCS_COMMON = asxparser.c \
av_log.c \
av_opts.c \
@@ -403,6 +388,7 @@ SRCS_COMMON = asxparser.c \
libmpdemux/yuv4mpeg.c \
libmpdemux/yuv4mpeg_ratio.c \
libvo/osd.c \
+ libvo/bitmap_packer.c \
osdep/numcores.c \
osdep/io.c \
osdep/$(GETCH) \
@@ -415,10 +401,10 @@ SRCS_COMMON = asxparser.c \
stream/stream_mf.c \
stream/stream_null.c \
stream/url.c \
- sub/av_sub.c \
sub/dec_sub.c \
sub/find_sub.c \
sub/find_subfiles.c \
+ sub/sd_lavc.c \
sub/spudec.c \
sub/sub.c \
sub/sub_cc.c \
@@ -427,66 +413,46 @@ SRCS_COMMON = asxparser.c \
sub/vobsub.c \
timeline/tl_edl.c \
timeline/tl_matroska.c \
- $(SRCS_COMMON-yes)
+ $(SRCS_COMMON-yes) \
+ $(SRCS_COMMON-NEGATED-no)
-SRCS_MPLAYER-$(3DFX) += libvo/vo_3dfx.c
-SRCS_MPLAYER-$(AA) += libvo/vo_aa.c
SRCS_MPLAYER-$(ALSA) += libao2/ao_alsa.c
SRCS_MPLAYER-$(APPLE_IR) += input/appleir.c
SRCS_MPLAYER-$(APPLE_REMOTE) += input/ar.c
-SRCS_MPLAYER-$(BL) += libvo/vo_bl.c
SRCS_MPLAYER-$(CACA) += libvo/vo_caca.c
SRCS_MPLAYER-$(COREAUDIO) += libao2/ao_coreaudio.c
SRCS_MPLAYER-$(COREVIDEO) += libvo/vo_corevideo.m
SRCS_MPLAYER-$(SHAREDBUFFER) += libvo/vo_sharedbuffer.m
-SRCS_MPLAYER-$(DGA) += libvo/vo_dga.c
SRCS_MPLAYER-$(DIRECT3D) += libvo/vo_direct3d.c libvo/w32_common.c
-SRCS_MPLAYER-$(DIRECTFB) += libvo/vo_directfb2.c libvo/vo_dfbmga.c
+SRCS_MPLAYER-$(DIRECTFB) += libvo/vo_directfb2.c
SRCS_MPLAYER-$(DIRECTX) += libao2/ao_dsound.c libvo/vo_directx.c
-SRCS_MPLAYER-$(DXR3) += libvo/vo_dxr3.c
-SRCS_MPLAYER-$(FBDEV) += libvo/vo_fbdev.c libvo/vo_fbdev2.c
-SRCS_MPLAYER-$(GGI) += libvo/vo_ggi.c
SRCS_MPLAYER-$(GIF) += libvo/vo_gif89a.c
-SRCS_MPLAYER-$(GL) += libvo/gl_common.c libvo/vo_gl.c \
+SRCS_MPLAYER-$(GL) += libvo/gl_common.c libvo/vo_gl.c libvo/vo_gl3.c \
pnm_loader.c
SRCS_MPLAYER-$(GL_SDL) += libvo/sdl_common.c
SRCS_MPLAYER-$(GL_WIN32) += libvo/w32_common.c
SRCS_MPLAYER-$(GL_X11) += libvo/x11_common.c
-SRCS_MPLAYER-$(IVTV) += libao2/ao_ivtv.c libvo/vo_ivtv.c
SRCS_MPLAYER-$(JACK) += libao2/ao_jack.c
SRCS_MPLAYER-$(JOYSTICK) += input/joystick.c
SRCS_MPLAYER-$(JPEG) += libvo/vo_jpeg.c
SRCS_MPLAYER-$(LIRC) += input/lirc.c
SRCS_MPLAYER-$(MD5SUM) += libvo/vo_md5sum.c
-SRCS_MPLAYER-$(MGA) += libvo/vo_mga.c
-SRCS_MPLAYER-$(NAS) += libao2/ao_nas.c
SRCS_MPLAYER-$(OPENAL) += libao2/ao_openal.c
SRCS_MPLAYER-$(OSS) += libao2/ao_oss.c
SRCS_MPLAYER-$(PNM) += libvo/vo_pnm.c
SRCS_MPLAYER-$(PULSE) += libao2/ao_pulse.c
SRCS_MPLAYER-$(PORTAUDIO) += libao2/ao_portaudio.c
SRCS_MPLAYER-$(RSOUND) += libao2/ao_rsound.c
-SRCS_MPLAYER-$(S3FB) += libvo/vo_s3fb.c
SRCS_MPLAYER-$(SDL) += libao2/ao_sdl.c libvo/vo_sdl.c libvo/sdl_common.c
-SRCS_MPLAYER-$(SUNAUDIO) += libao2/ao_sun.c
-SRCS_MPLAYER-$(SVGA) += libvo/vo_svga.c
-SRCS_MPLAYER-$(TDFXFB) += libvo/vo_tdfxfb.c
-SRCS_MPLAYER-$(TDFXVID) += libvo/vo_tdfx_vid.c
SRCS_MPLAYER-$(TGA) += libvo/vo_tga.c
SRCS_MPLAYER-$(V4L2) += libvo/vo_v4l2.c
SRCS_MPLAYER-$(V4L2) += libao2/ao_v4l2.c
SRCS_MPLAYER-$(VDPAU) += libvo/vo_vdpau.c
-SRCS_MPLAYER-$(VESA) += libvo/gtf.c libvo/vo_vesa.c libvo/vesa_lvo.c
-SRCS_MPLAYER-$(WII) += libvo/vo_wii.c
-SRCS_MPLAYER-$(WIN32WAVEOUT) += libao2/ao_win32.c
-SRCS_MPLAYER-$(X11) += libvo/vo_x11.c libvo/vo_xover.c \
- libvo/x11_common.c
-SRCS_MPLAYER-$(XMGA) += libvo/vo_xmga.c
+SRCS_MPLAYER-$(X11) += libvo/vo_x11.c libvo/x11_common.c
SRCS_MPLAYER-$(XV) += libvo/vo_xv.c
-SRCS_MPLAYER-$(XVR100) += libvo/vo_xvr100.c
SRCS_MPLAYER-$(YUV4MPEG) += libvo/vo_yuv4mpeg.c
SRCS_MPLAYER = command.c \
@@ -497,17 +463,15 @@ SRCS_MPLAYER = command.c \
parser-mpcmd.c \
screenshot.c \
input/input.c \
- libao2/ao_mpegpes.c \
libao2/ao_null.c \
libao2/ao_pcm.c \
libao2/audio_out.c \
libvo/aspect.c \
libvo/csputils.c \
+ libvo/filter_kernels.c \
libvo/geometry.c \
libvo/old_vo_wrapper.c \
- libvo/spuenc.c \
libvo/video_out.c \
- libvo/vo_mpegpes.c \
libvo/vo_null.c \
libvo/vo_png.c \
$(SRCS_MPLAYER-yes)
@@ -520,14 +484,15 @@ OBJS_MPLAYER-$(PE_EXECUTABLE) += osdep/mplayer-rc.o
OBJS_MPLAYER += $(OBJS_MPLAYER-yes)
MPLAYER_DEPS = $(OBJS_MPLAYER) $(OBJS_COMMON) $(COMMON_LIBS)
-DEP_FILES = $(patsubst %.S,%.d,$(patsubst %.cpp,%.d,$(patsubst %.c,%.d,$(SRCS_COMMON:.m=.d) $(SRCS_MPLAYER:.m=.d))))
-
-ALL_PRG-$(MPLAYER) += mplayer$(EXESUF)
+DEP_FILES = $(patsubst %.S,%.d,$(patsubst %.c,%.d,$(SRCS_COMMON:.m=.d) $(SRCS_MPLAYER:.m=.d)))
-INSTALL_TARGETS-$(MPLAYER) += install-mplayer \
+INSTALL_TARGETS += install-mplayer \
install-mplayer-man \
install-mplayer-msg
+INSTALL_NO_MAN_TARGETS += install-mplayer \
+ install-mplayer-msg
+
DIRS = . \
input \
libaf \
@@ -546,9 +511,6 @@ DIRS = . \
loader/wine \
osdep \
stream \
- stream/freesdp \
- stream/librtsp \
- stream/realrtsp \
sub \
timeline \
TOOLS \
@@ -570,7 +532,11 @@ endif
###### generic rules #######
-all: $(ALL_PRG-yes) locales
+all: mplayer$(EXESUF) locales
+
+%.1: %.rst
+ @which rst2man >/dev/null 2>&1 || (printf "\n\trst2man not found. You need the Docutils system to generate the manpages (preferably version >= 0.9; 0.8 and older are known to corrupt the arguments shown in some option descriptions). Alternatively you can use 'install-no-man' rule.\n\n" && exit 1)
+ rst2man $< $@
%.o: %.S
$(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $<
@@ -578,9 +544,6 @@ all: $(ALL_PRG-yes) locales
%.o: %.c
$(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $<
-%.o: %.cpp
- $(CC) $(DEPFLAGS) $(CXXFLAGS) -c -o $@ $<
-
%.o: %.m
$(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $<
@@ -592,11 +555,26 @@ mplayer$(EXESUF): EXTRALIBS += $(EXTRALIBS_MPLAYER)
mplayer$(EXESUF):
$(CC) -o $@ $^ $(EXTRALIBS)
-codec-cfg$(EXESUF): codec-cfg.c codec-cfg.h
- $(HOST_CC) -O -DCODECS2HTML -I. -o $@ $<
+codecs.conf.h: TOOLS/file2string.py etc/codecs.conf
+ ./$^ >$@
+
+input/input.conf.h: TOOLS/file2string.py etc/input.conf
+ ./$^ >$@
+
+libvo/vdpau_template.c: TOOLS/vdpau_functions.py
+ ./$< > $@
+
+libvo/vo_gl3_shaders.h: TOOLS/file2string.py libvo/vo_gl3_shaders.glsl
+ ./$^ >$@
+
+libmpdemux/ebml_types.h: TOOLS/matroska.py
+ ./$< --generate-header > $@
+
+libmpdemux/ebml_defs.c: TOOLS/matroska.py
+ ./$< --generate-definitions > $@
-codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf
- ./$^ > $@
+sub/osd_font.h: TOOLS/file2string.py sub/osd_font.pfb
+ ./$^ >$@
# ./configure must be rerun if it changed
config.mak: configure
@@ -631,6 +609,12 @@ checkheaders: $(ALLHEADERS:.h=.ho)
# Make sure all generated header files are created.
codec-cfg.o: codecs.conf.h
mpcommon.o osdep/mplayer-rc.o: version.h
+input/input.o: input/input.conf.h
+libvo/vo_gl3.o: libvo/vo_gl3_shaders.h
+libvo/vo_vdpau.o: libvo/vdpau_template.c
+libmpdemux/ebml.o libmpdemux/demux_mkv.o: libmpdemux/ebml_types.h
+libmpdemux/ebml.o: libmpdemux/ebml_defs.c
+sub/osd_libass.o: sub/osd_font.h
# Files that depend on libavcodec internals
libmpcodecs/vf_fspp.o libmpcodecs/vf_mcdeint.o libmpcodecs/vf_spp.o: CFLAGS := -I$(FFMPEG_SOURCE_PATH) $(CFLAGS)
@@ -651,7 +635,9 @@ stream/stream_dvdnav%: CFLAGS := $(CFLAGS_LIBDVDNAV) $(CFLAGS)
###### installation / clean / generic rules #######
-install: $(INSTALL_TARGETS-yes)
+install: $(INSTALL_TARGETS)
+
+install-no-man: $(INSTALL_NO_MAN_TARGETS)
install-dirs:
if test ! -d $(BINDIR) ; then $(INSTALL) -d $(BINDIR) ; fi
@@ -664,12 +650,14 @@ install-%: %$(EXESUF) install-dirs
install-mplayer-man: $(foreach lang,$(MAN_LANGS),install-mplayer-man-$(lang))
install-mplayer-msg: $(foreach lang,$(MSG_LANGS),install-mplayer-msg-$(lang))
-install-mplayer-man-en:
+DOCS/man/en/mplayer.1: DOCS/man/en/*.rst
+install-mplayer-man-en: DOCS/man/en/mplayer.1
if test ! -d $(MANDIR)/man1 ; then $(INSTALL) -d $(MANDIR)/man1 ; fi
$(INSTALL) -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/
define MPLAYER_MAN_RULE
-install-mplayer-man-$(lang):
+DOCS/man/$(lang)/mplayer.1: DOCS/man/$(lang)/*.rst
+install-mplayer-man-$(lang): DOCS/man/$(lang)/mplayer.1
if test ! -d $(MANDIR)/$(lang)/man1 ; then $(INSTALL) -d $(MANDIR)/$(lang)/man1 ; fi
$(INSTALL) -m 644 DOCS/man/$(lang)/mplayer.1 $(MANDIR)/$(lang)/man1/
endef
@@ -693,16 +681,21 @@ uninstall:
$(RM) $(foreach lang,$(MSG_LANGS),$(LOCALEDIR)/$(lang)/LC_MESSAGES/mplayer.1)
clean:
- -$(RM) $(call ADD_ALL_DIRS,/*.o /*.a /*.ho /*~)
+ -$(RM) $(call ADD_ALL_DIRS,/*.o /*.d /*.a /*.ho /*~)
-$(RM) $(call ADD_ALL_EXESUFS,mplayer)
-$(RM) $(MOFILES)
-distclean: clean testsclean toolsclean driversclean
+distclean: clean testsclean toolsclean
-$(RM) -r DOCS/tech/doxygen
-$(RM) -r locale
- -$(RM) $(call ADD_ALL_DIRS,/*.d)
+ -$(RM) $(foreach lang,$(MAN_LANGS),$(foreach man,mplayer.1,DOCS/man/$(lang)/$(man)))
-$(RM) config.log config.mak config.h codecs.conf.h version.h TAGS tags
- -$(RM) $(call ADD_ALL_EXESUFS,codec-cfg cpuinfo)
+ -$(RM) input/input.conf.h
+ -$(RM) libvo/vdpau_template.c
+ -$(RM) libvo/vo_gl3_shaders.h
+ -$(RM) libmpdemux/ebml_types.h libmpdemux/ebml_defs.c
+ -$(RM) sub/osd_font.h
+ -$(RM) $(call ADD_ALL_EXESUFS,cpuinfo)
doxygen:
doxygen DOCS/tech/Doxyfile
@@ -713,26 +706,16 @@ TAGS:
tags:
$(RM) $@; find . -name '*.[chS]' -o -name '*.asm' | xargs ctags -a
-generated_ebml:
- TOOLS/matroska.py --generate-header >libmpdemux/ebml_types.h
- TOOLS/matroska.py --generate-definitions >libmpdemux/ebml_defs.c
-
###### tests / tools #######
TEST_OBJS = mp_msg.o mp_fifo.o osdep/$(GETCH) osdep/$(TIMER) -ltermcap -lm
-codec-cfg-test$(EXESUF): codec-cfg.c codecs.conf.h $(TEST_OBJS)
- $(CC) -I. -DTESTING -o $@ $^
-
-codecs2html$(EXESUF): codec-cfg.c $(TEST_OBJS)
- $(CC) -I. -DCODECS2HTML -o $@ $^
-
LOADER_TEST_OBJS = $(SRCS_WIN32_EMULATION:.c=.o) $(SRCS_QTX_EMULATION:.S=.o) libavutil/libavutil.a osdep/mmap_anon.o cpudetect.o path.o $(TEST_OBJS)
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): CFLAGS += -g
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): $(LOADER_TEST_OBJS)
-TESTS = codecs2html codec-cfg-test
+TESTS =
ifdef ARCH_X86
TESTS += loader/qtx/list loader/qtx/qtxload
@@ -784,42 +767,9 @@ realcodecs: CFLAGS += -g
-###### drivers #######
-
-KERNEL_INC = /lib/modules/`uname -r`/build/include
-KERNEL_VERSION = $(shell grep RELEASE $(KERNEL_INC)/linux/version.h | cut -d'"' -f2)
-KERNEL_CFLAGS = -O2 -D__KERNEL__ -DMODULE -Wall -I$(KERNEL_INC) -include $(KERNEL_INC)/linux/modversions.h
-KERNEL_OBJS = $(addprefix drivers/, mga_vid.o tdfx_vid.o radeon_vid.o rage128_vid.o)
-MODULES_DIR = /lib/modules/$(KERNEL_VERSION)/misc
-DRIVER_OBJS = $(KERNEL_OBJS) drivers/mga_vid_test drivers/tdfx_vid_test
-
-drivers: $(DRIVER_OBJS)
-
-$(DRIVER_OBJS): CFLAGS = $(KERNEL_CFLAGS)
-drivers/mga_vid.o: drivers/mga_vid.c drivers/mga_vid.h
-drivers/tdfx_vid.o: drivers/tdfx_vid.c drivers/3dfx.h
-drivers/radeon_vid.o drivers/rage128_vid.o: CFLAGS += -fomit-frame-pointer -fno-strict-aliasing -fno-common -ffast-math
-drivers/radeon_vid.o: drivers/radeon_vid.c drivers/radeon.h drivers/radeon_vid.h
-drivers/rage128_vid.o: drivers/radeon_vid.c drivers/radeon.h drivers/radeon_vid.h
- $(CC) $(CFLAGS) -DRAGE128 -c $< -o $@
-
-install-drivers: $(DRIVER_OBJS)
- -mkdir -p $(MODULES_DIR)
- install -m 644 $(KERNEL_OBJS) $(MODULES_DIR)
- depmod -a
- -mknod /dev/mga_vid c 178 0
- -mknod /dev/tdfx_vid c 178 0
- -mknod /dev/radeon_vid c 178 0
- -ln -s /dev/radeon_vid /dev/rage128_vid
-
-driversclean:
- -$(RM) $(DRIVER_OBJS) drivers/*~
-
-
-
-include $(DEP_FILES)
-.PHONY: all doxygen locales *install* *tools drivers
+.PHONY: all doxygen locales *install* *tools
.PHONY: checkheaders *clean tests .version
# Disable suffix rules. Most of the builtin rules are suffix rules,
diff --git a/README b/README
index c12bf52..a71687e 100644
--- a/README
+++ b/README
@@ -15,10 +15,8 @@ Libraries specific to particular video output methods
general:
- libasound (ALSA audio output)
- various general X development libraries
- - libfreetype
- - libfontconfig
- - libass
- - FFmpeg libraries (libavutil libavcodec libavformat libswscale libpostproc)
+ - libass (subtitle/OSD rendering)
+ - Libav libraries (libavutil libavcodec libavformat libswscale)
Most of the above libraries are available in suitable versions on normal
Linux distributions. However FFmpeg is an exception (distro versions may be
diff --git a/TOOLS/file2string.py b/TOOLS/file2string.py
new file mode 100755
index 0000000..cb121e4
--- /dev/null
+++ b/TOOLS/file2string.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+
+# Convert the contents of a file into a C string constant.
+# Note that the compiler will implicitly add an extra 0 byte at the end
+# of every string, so code using the string may need to remove that to get
+# the exact contents of the original file.
+
+import sys
+
+def main(infile):
+ conv = ['\\' + ("%03o" % c) for c in range(256)]
+ safe_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" \
+ "0123456789!#%&'()*+,-./:;<=>?[]^_{|}~ "
+ for c in safe_chars:
+ conv[ord(c)] = c
+ for c, esc in ("\nn", "\tt", r"\\", '""'):
+ conv[ord(c)] = '\\' + esc
+ for line in infile:
+ sys.stdout.write('"' + ''.join(conv[c] for c in line) + '"\n')
+
+with open(sys.argv[1], 'rb') as infile:
+ sys.stdout.write("// Generated from %s\n\n" % sys.argv[1])
+ main(infile)
diff --git a/TOOLS/matroska.py b/TOOLS/matroska.py
index 375fb8b..ffa388e 100755
--- a/TOOLS/matroska.py
+++ b/TOOLS/matroska.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
"""
Generate C definitions for parsing Matroska files.
Can also be used to directly parse Matroska files and display their contents.
diff --git a/TOOLS/vdpau_functions.py b/TOOLS/vdpau_functions.py
old mode 100644
new mode 100755
index 27d6ff4..39e38a8
--- a/TOOLS/vdpau_functions.py
+++ b/TOOLS/vdpau_functions.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+
# Generate vdpau_template.c
functions = """
diff --git a/bstr.c b/bstr.c
index 2ce5f67..fbd416a 100644
--- a/bstr.c
+++ b/bstr.c
@@ -17,11 +17,12 @@
*/
#include <string.h>
-#include <libavutil/avutil.h>
#include <assert.h>
#include <ctype.h>
#include <stdarg.h>
+#include <libavutil/common.h>
+
#include "talloc.h"
#include "bstr.h"
@@ -185,6 +186,16 @@ struct bstr *bstr_splitlines(void *talloc_ctx, struct bstr str)
return r;
}
+struct bstr bstr_getline(struct bstr str, struct bstr *rest)
+{
+ int pos = bstrchr(str, '\n');
+ if (pos < 0)
+ pos = str.len;
+ if (rest)
+ *rest = bstr_cut(str, pos + 1);
+ return bstr_splice(str, 0, pos + 1);
+}
+
bool bstr_eatstart(struct bstr *s, struct bstr prefix)
{
if (!bstr_startswith(*s, prefix))
diff --git a/bstr.h b/bstr.h
index b3f9425..4554df3 100644
--- a/bstr.h
+++ b/bstr.h
@@ -34,16 +34,18 @@ struct bstr {
size_t len;
};
-// demux_rtp.cpp (live555) C++ compilation workaround
-#ifndef __cplusplus
+// If str.start is NULL, return NULL.
static inline char *bstrdup0(void *talloc_ctx, struct bstr str)
{
return talloc_strndup(talloc_ctx, (char *)str.start, str.len);
}
+// Return start = NULL iff that is true for the original.
static inline struct bstr bstrdup(void *talloc_ctx, struct bstr str)
{
- struct bstr r = { talloc_strndup(talloc_ctx, str.start, str.len), str.len };
+ struct bstr r = { NULL, str.len };
+ if (str.start)
+ r.start = talloc_memdup(talloc_ctx, str.start, str.len);
return r;
}
@@ -60,6 +62,7 @@ int bstrcspn(struct bstr str, const char *reject);
int bstr_find(struct bstr haystack, struct bstr needle);
struct bstr *bstr_splitlines(void *talloc_ctx, struct bstr str);
+struct bstr bstr_getline(struct bstr str, struct bstr *rest);
struct bstr bstr_lstrip(struct bstr str);
struct bstr bstr_strip(struct bstr str);
struct bstr bstr_split(struct bstr str, const char *sep, struct bstr *rest);
@@ -131,7 +134,11 @@ static inline int bstr_find0(struct bstr haystack, const char *needle)
return bstr_find(haystack, bstr(needle));
}
-#endif
+static inline int bstr_eatstart0(struct bstr *s, char *prefix)
+{
+ return bstr_eatstart(s, bstr(prefix));
+}
+
// create a pair (not single value!) for "%.*s" printf syntax
#define BSTR_P(bstr) (int)((bstr).len), (bstr).start
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index 66b381a..8b07091 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -35,9 +35,6 @@
#include "stream/stream_radio.h"
#include "libvo/csputils.h"
-extern char *fb_mode_cfgfile;
-extern char *fb_mode_name;
-
extern char *lirc_configfile;
/* only used at startup (setting these values from configfile) */
@@ -198,13 +195,6 @@ const m_option_t pvropts_conf[]={
extern const m_option_t dvbin_opts_conf[];
extern const m_option_t lavfdopts_conf[];
-extern int rtsp_transport_tcp;
-extern int rtsp_transport_http;
-extern int rtsp_transport_sctp;
-extern int rtsp_port;
-extern char *rtsp_destination;
-
-
extern int sws_chr_vshift;
extern int sws_chr_hshift;
extern float sws_chr_gblur;
@@ -393,8 +383,9 @@ const m_option_t common_opts[] = {
// ------------------------- stream options --------------------
#ifdef CONFIG_STREAM_CACHE
- {"cache", &stream_cache_size, CONF_TYPE_INT, CONF_RANGE, 32, 1048576, NULL},
- {"nocache", &stream_cache_size, CONF_TYPE_FLAG, 0, 1, 0, NULL},
+ OPT_INTRANGE("cache", stream_cache_size, 0, 32, 1048576, OPTDEF_INT(-1)),
+ OPT_FLAG_CONSTANTS("nocache", stream_cache_size, 0, -1, 0),
+
OPT_FLOATRANGE("cache-min", stream_cache_min_percent, 0, 0, 99),
OPT_FLOATRANGE("cache-seek-min", stream_cache_seek_min_percent, 0, 0, 99),
#else
@@ -453,29 +444,6 @@ const m_option_t common_opts[] = {
{"user-agent", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
#endif /* CONFIG_NETWORKING */
-#ifdef CONFIG_LIVE555
- {"rtsp-stream-over-http", &rtsp_transport_http, CONF_TYPE_FLAG, 0, 0, 1, NULL},
-#else
- {"rtsp-stream-over-http", "-rtsp-stream-over-http requires the \"LIVE555 Streaming Media\" library.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
-#endif /* CONFIG_LIVE555 */
-#if defined(CONFIG_LIBNEMESI) || defined(CONFIG_LIVE555)
- // -rtsp-stream-over-tcp option, specifying TCP streaming of RTP/RTCP
- {"rtsp-stream-over-tcp", &rtsp_transport_tcp, CONF_TYPE_FLAG, 0, 0, 1, NULL},
-#else
- {"rtsp-stream-over-tcp", "-rtsp-stream-over-tcp requires the \"LIVE555 Streaming Media\" or \"libnemesi\" libraries.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
-#endif /* defined(CONFIG_LIBNEMESI) || defined(CONFIG_LIVE555) */
-#ifdef CONFIG_LIBNEMESI
- {"rtsp-stream-over-sctp", &rtsp_transport_sctp, CONF_TYPE_FLAG, 0, 0, 1, NULL},
-#else
- {"rtsp-stream-over-sctp", "-rtsp-stream-over-sctp requires the \"libnemesi\" library\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
-#endif /* CONFIG_LIBNEMESI */
-#ifdef CONFIG_NETWORKING
- {"rtsp-port", &rtsp_port, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL},
- {"rtsp-destination", &rtsp_destination, CONF_TYPE_STRING, CONF_MIN, 0, 0, NULL},
-#else
- {"rtsp-port", "MPlayer was compiled without networking support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- {"rtsp-destination", "MPlayer was compiled without networking support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
-#endif /* CONFIG_NETWORKING */
// ------------------------- demuxer options --------------------
@@ -517,6 +485,8 @@ const m_option_t common_opts[] = {
OPT_MAKE_FLAGS("hr-mp3-seek", hr_mp3_seek, 0),
+ OPT_STRING("quvi-format", quvi_format, 0, OPTDEF_STR("best")),
+
{ "rawaudio", (void *)&demux_rawaudio_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
{ "rawvideo", (void *)&demux_rawvideo_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
@@ -582,9 +552,7 @@ const m_option_t common_opts[] = {
// ------------------------- codec/vfilter options --------------------
// MP3-only: select stereo/left/right
-#ifdef CONFIG_FAKE_MONO
{"stereo", &fakemono, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
-#endif
{"af*", &af_cfg.list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
{"af-adv", (void *) audio_filter_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
@@ -631,19 +599,6 @@ const m_option_t common_opts[] = {
OPT_STRINGLIST("sub", sub_name, 0),
OPT_PATHLIST("sub-paths", sub_paths, 0),
-#ifdef CONFIG_FRIBIDI
- {"fribidi-charset", &fribidi_charset, CONF_TYPE_STRING, 0, 0, 0, NULL},
- {"flip-hebrew", &flip_hebrew, CONF_TYPE_FLAG, 0, 0, 1, NULL},
- {"noflip-hebrew", &flip_hebrew, CONF_TYPE_FLAG, 0, 1, 0, NULL},
- {"flip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 1, 0, NULL},
- {"noflip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 0, 1, NULL},
-#else
- {"fribidi-charset", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- {"flip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- {"noflip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- {"flip-hebrew-commas", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- {"noflip-hebrew-commas", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
-#endif /* CONFIG_FRIBIDI */
#ifdef CONFIG_ICONV
{"subcp", &sub_cp, CONF_TYPE_STRING, 0, 0, 0, NULL},
#endif
@@ -675,14 +630,12 @@ const m_option_t common_opts[] = {
{"spualign", &spu_alignment, CONF_TYPE_INT, CONF_RANGE, -1, 2, NULL},
{"spuaa", &spu_aamode, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL},
{"spugauss", &spu_gaussvar, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 3.0, NULL},
-#ifdef CONFIG_FREETYPE
{"subfont-encoding", &subtitle_font_encoding, CONF_TYPE_STRING, 0, 0, 0, NULL},
{"subfont-text-scale", &text_font_scale_factor, CONF_TYPE_FLOAT, CONF_RANGE, 0, 100, NULL},
{"subfont-osd-scale", &osd_font_scale_factor, CONF_TYPE_FLOAT, CONF_RANGE, 0, 100, NULL},
{"subfont-blur", &subtitle_font_radius, CONF_TYPE_FLOAT, CONF_RANGE, 0, 8, NULL},
{"subfont-outline", &subtitle_font_thickness, CONF_TYPE_FLOAT, CONF_RANGE, 0, 8, NULL},
{"subfont-autoscale", &subtitle_autoscale, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL},
-#endif
OPT_START_CONDITIONAL(CONFIG_ASS, "libass"),
OPT_MAKE_FLAGS("ass", ass_enabled, 0),
OPT_FLOATRANGE("ass-font-scale", ass_font_scale, 0, 0, 100),
@@ -698,13 +651,6 @@ const m_option_t common_opts[] = {
OPT_STRING("ass-styles", ass_styles_file, 0),
OPT_INTRANGE("ass-hinting", ass_hinting, 0, 0, 7),
OPT_START_CONDITIONAL(1, ""),
-#ifdef CONFIG_FONTCONFIG
- {"fontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, -1, 1, NULL},
- {"nofontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, 1, -1, NULL},
-#else
- {"fontconfig", "MPlayer was compiled without fontconfig support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- {"nofontconfig", "MPlayer was compiled without fontconfig support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
-#endif /* CONFIG_FONTCONFIG */
{NULL, NULL, 0, 0, 0, 0, NULL}
};
@@ -745,17 +691,6 @@ const m_option_t mplayer_opts[]={
{"display", &mDisplayName, CONF_TYPE_STRING, 0, 0, 0, NULL},
#endif
-#if defined(CONFIG_FBDEV) || defined(CONFIG_VESA)
- {"monitor-hfreq", &monitor_hfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
- {"monitor-vfreq", &monitor_vfreq_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
- {"monitor-dotclock", &monitor_dotclock_str, CONF_TYPE_STRING, 0, 0, 0, NULL},
-#endif
-
-#ifdef CONFIG_FBDEV
- {"fbmode", &fb_mode_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
- {"fbmodeconfig", &fb_mode_cfgfile, CONF_TYPE_STRING, 0, 0, 0, NULL},
-#endif
-
// force window width/height or resolution (with -vm)
OPT_INTRANGE("x", screen_size_x, 0, 0, 4096),
OPT_INTRANGE("y", screen_size_y, 0, 0, 4096),
@@ -863,7 +798,7 @@ const m_option_t mplayer_opts[]={
OPT_FLAG_ON("benchmark", benchmark, 0),
// dump some stream out instead of playing the file
- OPT_STRING("dumpfile", stream_dump_name, 0),
+ OPT_STRING("dumpfile", stream_dump_name, 0, OPTDEF_STR("stream.dump")),
{"dumpaudio", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"dumpvideo", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 2, NULL},
{"dumpsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 3, NULL},
@@ -912,7 +847,7 @@ const m_option_t mplayer_opts[]={
#endif
OPT_MAKE_FLAGS("term-osd", term_osd, 0),
- OPT_STRING("term-osd-esc", term_osd_esc, 0),
+ OPT_STRING("term-osd-esc", term_osd_esc, 0, OPTDEF_STR("\x1b[A\r\x1b[K")),
OPT_STRING("playing-msg", playing_msg, 0),
{"slave", &slave_mode, CONF_TYPE_FLAG,CONF_GLOBAL , 0, 1, NULL},
diff --git a/codec-cfg.c b/codec-cfg.c
index 98b3088..fb3accb 100644
--- a/codec-cfg.c
+++ b/codec-cfg.c
@@ -1,12 +1,5 @@
/*
- * codec.conf parser
- *
- * to compile test application:
- * cc -I. -DTESTING -o codec-cfg-test codec-cfg.c mp_msg.o osdep/getch2.o -ltermcap
- * to compile CODECS2HTML:
- * gcc -DCODECS2HTML -o codecs2html codec-cfg.c mp_msg.o
- *
- * TODO: implement informat in CODECS2HTML too
+ * codecs.conf parser
*
* Copyright (C) 2001 Szabolcs Berecz <szabi at inf.elte.hu>
*
@@ -27,11 +20,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#define DEBUG
-
-//disable asserts
-#define NDEBUG
-
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
@@ -44,24 +32,18 @@
#include "config.h"
#include "mp_msg.h"
-#ifdef CODECS2HTML
-#define mp_tmsg mp_msg
-#ifdef __GNUC__
-#define mp_msg(t, l, m, args...) fprintf(stderr, m, ##args)
-#else
-#define mp_msg(t, l, ...) fprintf(stderr, __VA_ARGS__)
-#endif
-#endif
-
-
#include "libmpcodecs/img_format.h"
#include "codec-cfg.h"
+#include "bstr.h"
+#include "stream/stream.h"
+#include "path.h"
-#ifdef CODECS2HTML
-#define CODEC_CFG_MIN 20100000
-#else
+static const char embedded_file[] =
#include "codecs.conf.h"
-#endif
+ ;
+static const struct bstr builtin_codecs_conf = {
+ .start = (char *)embedded_file, .len = sizeof(embedded_file) - 1
+};
#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \
( (uint32_t)(uint8_t)(ch0) | ( (uint32_t)(uint8_t)(ch1) << 8 ) | \
@@ -71,8 +53,6 @@
#define MAX_NR_TOKEN 16
-#define MAX_LINE_LEN 1000
-
#define RET_EOF -1
#define RET_EOL -2
@@ -96,6 +76,8 @@ static int add_to_fourcc(char *s, char *alias, unsigned int *fourcc,
goto err_out_too_many;
do {
+ if (strlen(s) < 4)
+ goto err_out_parse_error;
tmp = mmioFOURCC(s[0], s[1], s[2], s[3]);
for (j = 0; j < i; j++)
if (tmp == fourcc[j])
@@ -159,79 +141,6 @@ static int add_to_format(char *s, char *alias,unsigned int *fourcc, unsigned int
return 1;
}
-static const struct {
- const char *name;
- const unsigned int num;
-} fmt_table[] = {
- // note: due to parser deficiencies/simplicity, if one format
- // name matches the beginning of another, the longer one _must_
- // come first in this list.
- {"YV12", IMGFMT_YV12},
- {"I420", IMGFMT_I420},
- {"IYUV", IMGFMT_IYUV},
- {"NV12", IMGFMT_NV12},
- {"NV21", IMGFMT_NV21},
- {"YVU9", IMGFMT_YVU9},
- {"IF09", IMGFMT_IF09},
- {"444P16LE", IMGFMT_444P16_LE},
- {"444P16BE", IMGFMT_444P16_BE},
- {"422P16LE", IMGFMT_422P16_LE},
- {"422P16BE", IMGFMT_422P16_BE},
- {"420P16LE", IMGFMT_420P16_LE},
- {"420P16BE", IMGFMT_420P16_BE},
- {"444P16", IMGFMT_444P16},
- {"444P10", IMGFMT_444P10},
- {"444P9", IMGFMT_444P9},
- {"422P16", IMGFMT_422P16},
- {"422P10", IMGFMT_422P10},
- {"420P16", IMGFMT_420P16},
- {"420P10", IMGFMT_420P10},
- {"420P9", IMGFMT_420P9},
- {"420A", IMGFMT_420A},
- {"444P", IMGFMT_444P},
- {"422P", IMGFMT_422P},
- {"411P", IMGFMT_411P},
- {"440P", IMGFMT_440P},
- {"Y800", IMGFMT_Y800},
- {"Y8", IMGFMT_Y8},
-
- {"YUY2", IMGFMT_YUY2},
- {"UYVY", IMGFMT_UYVY},
- {"YVYU", IMGFMT_YVYU},
-
- {"RGB48LE", IMGFMT_RGB48LE},
- {"RGB48BE", IMGFMT_RGB48BE},
- {"RGB4", IMGFMT_RGB4},
- {"RGB8", IMGFMT_RGB8},
- {"RGB15", IMGFMT_RGB15},
- {"RGB16", IMGFMT_RGB16},
- {"RGB24", IMGFMT_RGB24},
- {"RGB32", IMGFMT_RGB32},
- {"BGR4", IMGFMT_BGR4},
- {"BGR8", IMGFMT_BGR8},
- {"BGR15", IMGFMT_BGR15},
- {"BGR16", IMGFMT_BGR16},
- {"BGR24", IMGFMT_BGR24},
- {"BGR32", IMGFMT_BGR32},
- {"RGB1", IMGFMT_RGB1},
- {"BGR1", IMGFMT_BGR1},
-
- {"MPES", IMGFMT_MPEGPES},
-
- {"IDCT_MPEG2",IMGFMT_XVMC_IDCT_MPEG2},
- {"MOCO_MPEG2",IMGFMT_XVMC_MOCO_MPEG2},
-
- {"VDPAU_MPEG1",IMGFMT_VDPAU_MPEG1},
- {"VDPAU_MPEG2",IMGFMT_VDPAU_MPEG2},
- {"VDPAU_H264",IMGFMT_VDPAU_H264},
- {"VDPAU_WMV3",IMGFMT_VDPAU_WMV3},
- {"VDPAU_VC1",IMGFMT_VDPAU_VC1},
- {"VDPAU_MPEG4",IMGFMT_VDPAU_MPEG4},
-
- {NULL, 0}
-};
-
-
static int add_to_inout(char *sfmt, char *sflags, unsigned int *outfmt,
unsigned char *outflags)
{
@@ -272,15 +181,14 @@ static int add_to_inout(char *sfmt, char *sflags, unsigned int *outfmt,
}
do {
- for (j = 0; fmt_table[j].name != NULL; j++)
- if (!strncmp(sfmt, fmt_table[j].name, strlen(fmt_table[j].name)))
- break;
- if (fmt_table[j].name == NULL)
+ for (j = 0; isalnum(sfmt[j]) || sfmt[j] == '_'; j++);
+ unsigned int fmt = imgfmt_parse((struct bstr){sfmt, j}, true);
+ if (!fmt)
goto err_out_parse_error;
- outfmt[i] = fmt_table[j].num;
+ outfmt[i] = fmt;
outflags[i] = flags;
++i;
- sfmt+=strlen(fmt_table[j].name);
+ sfmt += j;
} while ((*(sfmt++) == ',') && --freeslots);
if (!freeslots)
@@ -314,35 +222,11 @@ static int validate_codec(codecs_t *c, int type)
if (!c->info)
c->info = strdup(c->name);
-#if 0
- if (c->fourcc[0] == 0xffffffff) {
- mp_tmsg(MSGT_CODECCFG,MSGL_ERR,"\ncodec(%s) does not have FourCC/format!\n", c->name);
- return 0;
- }
-#endif
-
if (!c->drv) {
mp_tmsg(MSGT_CODECCFG,MSGL_ERR,"\ncodec(%s) does not have a driver!\n", c->name);
return 0;
}
-#if 0
-//FIXME: codec->driver == 4;... <- this should not be put in here...
-//FIXME: Where are they defined ????????????
- if (!c->dll && (c->driver == 4 ||
- (c->driver == 2 && type == TYPE_VIDEO))) {
- mp_tmsg(MSGT_CODECCFG,MSGL_ERR,"\ncodec(%s) needs a 'dll'!\n", c->name);
- return 0;
- }
-// FIXME: Can guid.f1 be 0? How does one know that it was not given?
-// if (!(codec->flags & CODECS_FLAG_AUDIO) && codec->driver == 4)
-
- if (type == TYPE_VIDEO)
- if (c->outfmt[0] == 0xffffffff) {
- mp_tmsg(MSGT_CODECCFG,MSGL_ERR,"\ncodec(%s) needs an 'outfmt'!\n", c->name);
- return 0;
- }
-#endif
return 1;
}
@@ -364,36 +248,7 @@ static int add_comment(char *s, char **d)
return 1;
}
-static short get_cpuflags(char *s)
-{
- static char *flagstr[] = {
- "mmx",
- "sse",
- "3dnow",
- NULL
- };
- int i;
- short flags = 0;
-
- do {
- for (i = 0; flagstr[i]; i++)
- if (!strncmp(s, flagstr[i], strlen(flagstr[i])))
- break;
- if (!flagstr[i])
- goto err_out_parse_error;
- flags |= 1<<i;
- s += strlen(flagstr[i]);
- } while (*(s++) == ',');
-
- if (*(--s) != '\0')
- goto err_out_parse_error;
-
- return flags;
-err_out_parse_error:
- return 0;
-}
-
-static FILE *fp;
+static struct bstr filetext;
static int line_num = 0;
static char *line;
static char *token[MAX_NR_TOKEN];
@@ -413,8 +268,11 @@ static int get_token(int min, int max)
memset(token, 0x00, sizeof(*token) * max);
if (read_nextline) {
- if (!fgets(line, MAX_LINE_LEN, fp))
+ if (!filetext.len)
goto out_eof;
+ struct bstr nextline = bstr_getline(filetext, &filetext);
+ line = nextline.start;
+ line[nextline.len - 1] = 0;
line_pos = 0;
++line_num;
read_nextline = 0;
@@ -471,6 +329,16 @@ int parse_codec_cfg(const char *cfgfile)
int *nr_codecsp;
int codec_type; /* TYPE_VIDEO/TYPE_AUDIO */
int tmp, i;
+ int codec_cfg_min;
+
+ for (struct bstr s = builtin_codecs_conf; ; bstr_getline(s, &s)) {
+ if (!s.len)
+ abort();
+ if (bstr_eatstart0(&s, "release ")) {
+ codec_cfg_min = atoi(s.start);
+ break;
+ }
+ }
// in case we call it a second time
codecs_uninit_free();
@@ -478,31 +346,27 @@ int parse_codec_cfg(const char *cfgfile)
nr_vcodecs = 0;
nr_acodecs = 0;
- if(cfgfile==NULL) {
-#ifdef CODECS2HTML
- return 0;
-#else
- /* following casts are harmless since {video,audio}_codecs will stay
- * untouched in this case */
- video_codecs = (codecs_t *)builtin_video_codecs;
- audio_codecs = (codecs_t *)builtin_audio_codecs;
- nr_vcodecs = sizeof(builtin_video_codecs)/sizeof(codecs_t);
- nr_acodecs = sizeof(builtin_audio_codecs)/sizeof(codecs_t);
- return 1;
-#endif
- }
-
- mp_tmsg(MSGT_CODECCFG,MSGL_V,"Reading %s: ", cfgfile);
-
- if ((fp = fopen(cfgfile, "r")) == NULL) {
- mp_tmsg(MSGT_CODECCFG,MSGL_V,"Can't open '%s': %s\n", cfgfile, strerror(errno));
- return 0;
- }
+ if (cfgfile) {
+ // Avoid printing errors from open_stream when trying optional files
+ if (!mp_path_exists(cfgfile)) {
+ mp_tmsg(MSGT_CODECCFG, MSGL_V,
+ "No optional codecs config file: %s\n", cfgfile);
+ return 0;
+ }
+ mp_msg(MSGT_CODECCFG, MSGL_V, "Reading codec config file: %s\n",
+ cfgfile);
+ struct stream *s = open_stream(cfgfile, NULL, NULL);
+ if (!s)
+ return 0;
+ filetext = stream_read_complete(s, NULL, 10000000, 1);
+ free_stream(s);
+ if (!filetext.start)
+ return 0;
+ } else
+ // Parsing modifies the data
+ filetext = bstrdup(NULL, builtin_codecs_conf);
+ void *tmpmem = filetext.start;
- if ((line = malloc(MAX_LINE_LEN + 1)) == NULL) {
- mp_tmsg(MSGT_CODECCFG,MSGL_FATAL,"Can't get memory for 'line': %s\n", strerror(errno));
- return 0;
- }
read_nextline = 1;
/*
@@ -517,7 +381,7 @@ int parse_codec_cfg(const char *cfgfile)
if (get_token(1, 2) < 0)
goto err_out_parse_error;
tmp = atoi(token[0]);
- if (tmp < CODEC_CFG_MIN)
+ if (tmp < codec_cfg_min)
goto err_out_release_num;
codecs_conf_release = tmp;
while ((tmp = get_token(1, 1)) == RET_EOL)
@@ -547,15 +411,11 @@ int parse_codec_cfg(const char *cfgfile)
codec_type = TYPE_VIDEO;
nr_codecsp = &nr_vcodecs;
codecsp = &video_codecs;
- } else if (*token[0] == 'a') {
+ } else {
+ assert(*token[0] == 'a');
codec_type = TYPE_AUDIO;
nr_codecsp = &nr_acodecs;
codecsp = &audio_codecs;
-#ifdef DEBUG
- } else {
- mp_msg(MSGT_CODECCFG,MSGL_ERR,"picsba\n");
- goto err_out;
-#endif
}
if (!(*codecsp = realloc(*codecsp,
sizeof(codecs_t) * (*nr_codecsp + 2)))) {
@@ -675,23 +535,20 @@ int parse_codec_cfg(const char *cfgfile)
codec->status = CODECS_STATUS_PROBLEMS;
else
goto err_out_parse_error;
- } else if (!strcmp(token[0], "cpuflags")) {
- if (get_token(1, 1) < 0)
- goto err_out_parse_error;
- if (!(codec->cpuflags = get_cpuflags(token[0])))
- goto err_out_parse_error;
+ } else if (!strcmp(token[0], "anyinput")) {
+ codec->anyinput = true;
} else
goto err_out_parse_error;
}
if (!validate_codec(codec, codec_type))
goto err_out_not_valid;
- mp_tmsg(MSGT_CODECCFG,MSGL_INFO,"%d audio & %d video codecs\n", nr_acodecs, nr_vcodecs);
+ mp_tmsg(MSGT_CODECCFG, MSGL_V, "%d audio & %d video codecs\n", nr_acodecs,
+ nr_vcodecs);
if(video_codecs) video_codecs[nr_vcodecs].name = NULL;
if(audio_codecs) audio_codecs[nr_acodecs].name = NULL;
out:
- free(line);
+ talloc_free(tmpmem);
line=NULL;
- fclose(fp);
return 1;
err_out_parse_error:
@@ -701,10 +558,9 @@ err_out_print_linenum:
err_out:
codecs_uninit_free();
- free(line);
+ talloc_free(tmpmem);
line=NULL;
line_num = 0;
- fclose(fp);
return 0;
err_out_not_valid:
mp_tmsg(MSGT_CODECCFG,MSGL_ERR,"Codec is not defined correctly.");
@@ -748,46 +604,32 @@ codecs_t *find_video_codec(unsigned int fourcc, unsigned int *fourccmap,
return find_codec(fourcc, fourccmap, start, 0, force);
}
-codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,
- codecs_t *start, int audioflag, int force)
+struct codecs *find_codec(unsigned int fourcc, unsigned int *fourccmap,
+ codecs_t *start, int audioflag, int force)
{
- int i, j;
- codecs_t *c;
+ struct codecs *c, *end;
-#if 0
- if (start) {
- for (/* NOTHING */; start->name; start++) {
- for (j = 0; j < CODECS_MAX_FOURCC; j++) {
- if (start->fourcc[j] == fourcc) {
- if (fourccmap)
- *fourccmap = start->fourccmap[j];
- return start;
- }
- }
- }
- } else
-#endif
- {
- if (audioflag) {
- i = nr_acodecs;
- c = audio_codecs;
- } else {
- i = nr_vcodecs;
- c = video_codecs;
- }
- if(!i) return NULL;
- for (/* NOTHING */; i--; c++) {
- if(start && c<=start) continue;
- for (j = 0; j < CODECS_MAX_FOURCC; j++) {
- // FIXME: do NOT hardwire 'null' name here:
- if (c->fourcc[j]==fourcc || !strcmp(c->drv,"null")) {
- if (fourccmap)
- *fourccmap = c->fourccmap[j];
- return c;
- }
+ if (audioflag) {
+ c = audio_codecs;
+ end = c + nr_acodecs;
+ } else {
+ c = video_codecs;
+ end = c + nr_vcodecs;
+ }
+ if (start)
+ c = start + 1; // actually starts from the next one after the given one
+ for (; c < end; c++) {
+ for (int j = 0; j < CODECS_MAX_FOURCC; j++) {
+ if (c->fourcc[j] == -1)
+ break;
+ if (c->fourcc[j] == fourcc) {
+ if (fourccmap)
+ *fourccmap = c->fourccmap[j];
+ return c;
}
- if (force) return c;
}
+ if (c->anyinput || force)
+ return c;
}
return NULL;
}
@@ -848,337 +690,3 @@ void list_codecs(int audioflag){
mp_msg(MSGT_CODECCFG,MSGL_INFO,"%-11s %-9s %s %s\n",c->name,c->drv,s,c->info);
}
}
-
-
-#ifdef CODECS2HTML
-static void wrapline(FILE *f2,char *s){
- int c;
- if(!s){
- fprintf(f2,"-");
- return;
- }
- while((c=*s++)){
- if(c==',') fprintf(f2,"<br>"); else fputc(c,f2);
- }
-}
-
-static void parsehtml(FILE *f1,FILE *f2,codecs_t *codec){
- int c,d;
- while((c=fgetc(f1))>=0){
- if(c!='%'){
- fputc(c,f2);
- continue;
- }
- d=fgetc(f1);
-
- switch(d){
- case '.':
- return; // end of section
- case 'n':
- wrapline(f2,codec->name); break;
- case 'i':
- wrapline(f2,codec->info); break;
- case 'c':
- wrapline(f2,codec->comment); break;
- case 'd':
- wrapline(f2,codec->dll); break;
- case 'D':
- fprintf(f2,"%c",!strcmp(codec->drv,"dshow")?'+':'-'); break;
- case 'F':
- for(d=0;d<CODECS_MAX_FOURCC;d++)
- if(!d || codec->fourcc[d]!=0xFFFFFFFF)
- fprintf(f2,"%s%.4s",d?"<br>":"",(codec->fourcc[d]==0xFFFFFFFF || codec->fourcc[d]<0x20202020)?!d?"-":"":(char*) &codec->fourcc[d]);
- break;
- case 'f':
- for(d=0;d<CODECS_MAX_FOURCC;d++)
- if(codec->fourcc[d]!=0xFFFFFFFF)
- fprintf(f2,"%s0x%X",d?"<br>":"",codec->fourcc[d]);
- break;
- case 'Y':
- for(d=0;d<CODECS_MAX_OUTFMT;d++)
- if(codec->outfmt[d]!=0xFFFFFFFF){
- for (c=0; fmt_table[c].name; c++)
- if(fmt_table[c].num==codec->outfmt[d]) break;
- if(fmt_table[c].name)
- fprintf(f2,"%s%s",d?"<br>":"",fmt_table[c].name);
- }
- break;
- default:
- fputc(c,f2);
- fputc(d,f2);
- }
- }
-}
-
-void skiphtml(FILE *f1){
- int c,d;
- while((c=fgetc(f1))>=0){
- if(c!='%'){
- continue;
- }
- d=fgetc(f1);
- if(d=='.') return; // end of section
- }
-}
-
-static void print_int_array(const unsigned int* a, int size)
-{
- printf("{ ");
- while (size--)
- if(abs(*a)<256)
- printf("%d%s", *a++, size?", ":"");
- else
- printf("0x%X%s", *a++, size?", ":"");
- printf(" }");
-}
-
-static void print_char_array(const unsigned char* a, int size)
-{
- printf("{ ");
- while (size--)
- if((*a)<10)
- printf("%d%s", *a++, size?", ":"");
- else
- printf("0x%02x%s", *a++, size?", ":"");
- printf(" }");
-}
-
-static void print_string(const char* s)
-{
- if (!s) printf("NULL");
- else printf("\"%s\"", s);
-}
-
-int main(int argc, char* argv[])
-{
- codecs_t *cl;
- FILE *f1;
- FILE *f2;
- int c,d,i;
- int pos;
- int section=-1;
- int nr_codecs;
- int win32=-1;
- int dshow=-1;
- int win32ex=-1;
-
- /*
- * Take path to codecs.conf from command line, or fall back on
- * etc/codecs.conf
- */
- if (!(nr_codecs = parse_codec_cfg((argc>1)?argv[1]:"etc/codecs.conf")))
- exit(1);
- if (codecs_conf_release < CODEC_CFG_MIN)
- exit(1);
-
- if (argc > 1) {
- int i, j;
- const char* nm[2];
- codecs_t* cod[2];
- int nr[2];
-
- nm[0] = "builtin_video_codecs";
- cod[0] = video_codecs;
- nr[0] = nr_vcodecs;
-
- nm[1] = "builtin_audio_codecs";
- cod[1] = audio_codecs;
- nr[1] = nr_acodecs;
-
- printf("/* GENERATED FROM %s, DO NOT EDIT! */\n\n",argv[1]);
- printf("#include <stddef.h>\n");
- printf("#include \"codec-cfg.h\"\n\n");
- printf("#define CODEC_CFG_MIN %i\n\n", codecs_conf_release);
-
- for (i=0; i<2; i++) {
- printf("const codecs_t %s[] = {\n", nm[i]);
- for (j = 0; j < nr[i]; j++) {
- printf("{");
-
- print_int_array(cod[i][j].fourcc, CODECS_MAX_FOURCC);
- printf(", /* fourcc */\n");
-
- print_int_array(cod[i][j].fourccmap, CODECS_MAX_FOURCC);
- printf(", /* fourccmap */\n");
-
- print_int_array(cod[i][j].outfmt, CODECS_MAX_OUTFMT);
- printf(", /* outfmt */\n");
-
- print_char_array(cod[i][j].outflags, CODECS_MAX_OUTFMT);
- printf(", /* outflags */\n");
-
- print_int_array(cod[i][j].infmt, CODECS_MAX_INFMT);
- printf(", /* infmt */\n");
-
- print_char_array(cod[i][j].inflags, CODECS_MAX_INFMT);
- printf(", /* inflags */\n");
-
- print_string(cod[i][j].name); printf(", /* name */\n");
- print_string(cod[i][j].info); printf(", /* info */\n");
- print_string(cod[i][j].comment); printf(", /* comment */\n");
- print_string(cod[i][j].dll); printf(", /* dll */\n");
- print_string(cod[i][j].drv); printf(", /* drv */\n");
-
- printf("{ 0x%08lx, %hu, %hu,",
- cod[i][j].guid.f1,
- cod[i][j].guid.f2,
- cod[i][j].guid.f3);
- print_char_array(cod[i][j].guid.f4, sizeof(cod[i][j].guid.f4));
- printf(" }, /* GUID */\n");
- printf("%hd /* flags */, %hd /* status */, %hd /* cpuflags */ }\n",
- cod[i][j].flags,
- cod[i][j].status,
- cod[i][j].cpuflags);
- if (j < nr[i]) printf(",\n");
- }
- printf("};\n\n");
- }
- exit(0);
- }
-
- f1=fopen("DOCS/tech/codecs-in.html","rb"); if(!f1) exit(1);
- f2=fopen("DOCS/codecs-status.html","wb"); if(!f2) exit(1);
-
- while((c=fgetc(f1))>=0){
- if(c!='%'){
- fputc(c,f2);
- continue;
- }
- d=fgetc(f1);
- if(d>='0' && d<='9'){
- // begin section
- section=d-'0';
- //printf("BEGIN %d\n",section);
- if(section>=5){
- // audio
- cl = audio_codecs;
- nr_codecs = nr_acodecs;
- dshow=7;win32=4;
- } else {
- // video
- cl = video_codecs;
- nr_codecs = nr_vcodecs;
- dshow=4;win32=2;win32ex=6;
- }
- pos=ftell(f1);
- for(i=0;i<nr_codecs;i++){
- fseek(f1,pos,SEEK_SET);
- switch(section){
- case 0:
- case 5:
- if(cl[i].status==CODECS_STATUS_WORKING)
-// if(!(!strcmp(cl[i].drv,"vfw") || !strcmp(cl[i].drv,"dshow") || !strcmp(cl[i].drv,"vfwex") || !strcmp(cl[i].drv,"acm")))
- parsehtml(f1,f2,&cl[i]);
- break;
-#if 0
- case 1:
- case 6:
- if(cl[i].status==CODECS_STATUS_WORKING)
- if((!strcmp(cl[i].drv,"vfw") || !strcmp(cl[i].drv,"dshow") || !strcmp(cl[i].drv,"vfwex") || !strcmp(cl[i].drv,"acm")))
- parsehtml(f1,f2,&cl[i]);
- break;
-#endif
- case 2:
- case 7:
- if(cl[i].status==CODECS_STATUS_PROBLEMS)
- parsehtml(f1,f2,&cl[i]);
- break;
- case 3:
- case 8:
- if(cl[i].status==CODECS_STATUS_NOT_WORKING)
- parsehtml(f1,f2,&cl[i]);
- break;
- case 4:
- case 9:
- if(cl[i].status==CODECS_STATUS_UNTESTED)
- parsehtml(f1,f2,&cl[i]);
- break;
- default:
- printf("Warning! unimplemented section: %d\n",section);
- }
- }
- fseek(f1,pos,SEEK_SET);
- skiphtml(f1);
-
- continue;
- }
- fputc(c,f2);
- fputc(d,f2);
- }
-
- fclose(f2);
- fclose(f1);
- return 0;
-}
-
-#endif
-
-#ifdef TESTING
-int main(void)
-{
- codecs_t *c;
- int i,j, nr_codecs, state;
-
- if (!(parse_codec_cfg("etc/codecs.conf")))
- return 0;
- if (!video_codecs)
- printf("no videoconfig.\n");
- if (!audio_codecs)
- printf("no audioconfig.\n");
-
- printf("videocodecs:\n");
- c = video_codecs;
- nr_codecs = nr_vcodecs;
- state = 0;
-next:
- if (c) {
- printf("number of %scodecs: %d\n", state==0?"video":"audio",
- nr_codecs);
- for(i=0;i<nr_codecs;i++, c++){
- printf("\n============== %scodec %02d ===============\n",
- state==0?"video":"audio",i);
- printf("name='%s'\n",c->name);
- printf("info='%s'\n",c->info);
- printf("comment='%s'\n",c->comment);
- printf("dll='%s'\n",c->dll);
- /* printf("flags=%X driver=%d status=%d cpuflags=%d\n",
- c->flags, c->driver, c->status, c->cpuflags); */
- printf("flags=%X status=%d cpuflags=%d\n",
- c->flags, c->status, c->cpuflags);
-
- for(j=0;j<CODECS_MAX_FOURCC;j++){
- if(c->fourcc[j]!=0xFFFFFFFF){
- printf("fourcc %02d: %08X (%.4s) ===> %08X (%.4s)\n",j,c->fourcc[j],(char *) &c->fourcc[j],c->fourccmap[j],(char *) &c->fourccmap[j]);
- }
- }
-
- for(j=0;j<CODECS_MAX_OUTFMT;j++){
- if(c->outfmt[j]!=0xFFFFFFFF){
- printf("outfmt %02d: %08X (%.4s) flags: %d\n",j,c->outfmt[j],(char *) &c->outfmt[j],c->outflags[j]);
- }
- }
-
- for(j=0;j<CODECS_MAX_INFMT;j++){
- if(c->infmt[j]!=0xFFFFFFFF){
- printf("infmt %02d: %08X (%.4s) flags: %d\n",j,c->infmt[j],(char *) &c->infmt[j],c->inflags[j]);
- }
- }
-
- printf("GUID: %08lX %04X %04X",c->guid.f1,c->guid.f2,c->guid.f3);
- for(j=0;j<8;j++) printf(" %02X",c->guid.f4[j]);
- printf("\n");
-
-
- }
- }
- if (!state) {
- printf("audiocodecs:\n");
- c = audio_codecs;
- nr_codecs = nr_acodecs;
- state = 1;
- goto next;
- }
- return 0;
-}
-
-#endif
diff --git a/codec-cfg.h b/codec-cfg.h
index 19fd47d..480f570 100644
--- a/codec-cfg.h
+++ b/codec-cfg.h
@@ -19,6 +19,8 @@
#ifndef MPLAYER_CODEC_CFG_H
#define MPLAYER_CODEC_CFG_H
+#include <stdbool.h>
+
#define CODECS_MAX_FOURCC 92
#define CODECS_MAX_OUTFMT 16
#define CODECS_MAX_INFMT 16
@@ -67,10 +69,9 @@ typedef struct codecs {
char *dll;
char* drv;
GUID guid;
-// short driver;
short flags;
short status;
- short cpuflags;
+ bool anyinput;
} codecs_t;
int parse_codec_cfg(const char *cfgfile);
diff --git a/command.c b/command.c
index d511e52..0f13ed6 100644
--- a/command.c
+++ b/command.c
@@ -42,7 +42,6 @@
#include "mp_osd.h"
#include "libvo/video_out.h"
#include "libvo/csputils.h"
-#include "sub/font_load.h"
#include "playtree.h"
#include "libao2/audio_out.h"
#include "mpcommon.h"
@@ -239,7 +238,7 @@ static int mp_property_generic_option(struct m_option *prop, int action,
case M_PROPERTY_SET:
m_option_copy(opt, valptr, arg);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
+ case M_PROPERTY_STEP:
if (opt->type == &m_option_type_choice) {
int v = *(int *) valptr;
int best = v;
@@ -294,14 +293,18 @@ static int mp_property_playback_speed(m_option_t *prop, int action,
return M_PROPERTY_ERROR;
opts->playback_speed = *(float *) arg;
goto set;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- opts->playback_speed += (arg ? *(float *) arg : 0.1) *
- (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
+ case M_PROPERTY_STEP:
+ opts->playback_speed += (arg ? *(float *) arg : 0.1);
set:
M_PROPERTY_CLAMP(prop, opts->playback_speed);
+ if (opts->playback_speed == orig_speed)
+ return M_PROPERTY_OK;
// Adjust time until next frame flip for nosound mode
mpctx->time_frame *= orig_speed / opts->playback_speed;
+ if (mpctx->sh_audio) {
+ double a = ao_get_delay(mpctx->ao);
+ mpctx->delay += (opts->playback_speed - orig_speed) * a;
+ }
reinit_audio_chain(mpctx);
return M_PROPERTY_OK;
}
@@ -441,11 +444,9 @@ static int mp_property_percent_pos(m_option_t *prop, int action,
M_PROPERTY_CLAMP(prop, *(int *)arg);
pos = *(int *)arg;
break;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
pos = get_percent_pos(mpctx);
- pos += (arg ? *(int *)arg : 10) *
- (action == M_PROPERTY_STEP_UP ? 1 : -1);
+ pos += (arg ? *(int *)arg : 10);
M_PROPERTY_CLAMP(prop, pos);
break;
default:
@@ -470,10 +471,8 @@ static int mp_property_time_pos(m_option_t *prop, int action,
M_PROPERTY_CLAMP(prop, *(double *)arg);
queue_seek(mpctx, MPSEEK_ABSOLUTE, *(double *)arg, 0);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- queue_seek(mpctx, MPSEEK_RELATIVE, (arg ? *(double *)arg : 10.0) *
- (action == M_PROPERTY_STEP_UP ? 1.0 : -1.0), 0);
+ case M_PROPERTY_STEP:
+ queue_seek(mpctx, MPSEEK_RELATIVE, (arg ? *(double *)arg : 10.0), 0);
return M_PROPERTY_OK;
}
return m_property_time_ro(prop, action, arg, get_current_time(mpctx));
@@ -515,10 +514,8 @@ static int mp_property_chapter(m_option_t *prop, int action, void *arg,
step_all = *(int *)arg - chapter;
chapter += step_all;
break;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN: {
- step_all = (arg && *(int *)arg != 0 ? *(int *)arg : 1)
- * (action == M_PROPERTY_STEP_UP ? 1 : -1);
+ case M_PROPERTY_STEP: {
+ step_all = (arg && *(int *)arg != 0 ? *(int *)arg : 1);
chapter += step_all;
if (chapter < 0)
chapter = 0;
@@ -590,14 +587,12 @@ static int mp_property_angle(m_option_t *prop, int action, void *arg,
angle = *(int *)arg;
M_PROPERTY_CLAMP(prop, angle);
break;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN: {
+ case M_PROPERTY_STEP: {
int step = 0;
if (arg)
step = *(int *)arg;
if (!step)
step = 1;
- step *= (action == M_PROPERTY_STEP_UP ? 1 : -1);
angle += step;
if (angle < 1) //cycle
angle = angles;
@@ -676,8 +671,7 @@ static int mp_property_pause(m_option_t *prop, int action, void *arg,
return M_PROPERTY_ERROR;
if (mpctx->paused == (bool) * (int *)arg)
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
if (mpctx->paused) {
unpause_player(mpctx);
} else {
@@ -711,35 +705,21 @@ static int mp_property_volume(m_option_t *prop, int action, void *arg,
mixer_getbothvolume(&mpctx->mixer, &vol);
return m_property_float_range(prop, action, arg, &vol);
}
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- case M_PROPERTY_SET:
- break;
- default:
- return M_PROPERTY_NOT_IMPLEMENTED;
- }
-
- switch (action) {
case M_PROPERTY_SET:
if (!arg)
return M_PROPERTY_ERROR;
M_PROPERTY_CLAMP(prop, *(float *) arg);
mixer_setvolume(&mpctx->mixer, *(float *) arg, *(float *) arg);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
+ case M_PROPERTY_STEP:
if (arg && *(float *) arg <= 0)
mixer_decvolume(&mpctx->mixer);
else
mixer_incvolume(&mpctx->mixer);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_DOWN:
- if (arg && *(float *) arg <= 0)
- mixer_incvolume(&mpctx->mixer);
- else
- mixer_decvolume(&mpctx->mixer);
- return M_PROPERTY_OK;
+ default:
+ return M_PROPERTY_NOT_IMPLEMENTED;
}
- return M_PROPERTY_NOT_IMPLEMENTED;
}
/// Mute (RW)
@@ -756,8 +736,7 @@ static int mp_property_mute(m_option_t *prop, int action, void *arg,
return M_PROPERTY_ERROR;
mixer_setmute(&mpctx->mixer, *(int *) arg);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
mixer_setmute(&mpctx->mixer, !mixer_getmute(&mpctx->mixer));
return M_PROPERTY_OK;
default:
@@ -774,8 +753,7 @@ static int mp_property_audio_delay(m_option_t *prop, int action,
return M_PROPERTY_UNAVAILABLE;
switch (action) {
case M_PROPERTY_SET:
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN: {
+ case M_PROPERTY_STEP: {
int ret;
float delay = audio_delay;
ret = m_property_delay(prop, action, arg, &audio_delay);
@@ -891,11 +869,9 @@ static int mp_property_balance(m_option_t *prop, int action, void *arg,
}
return M_PROPERTY_OK;
}
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
mixer_getbalance(&mpctx->mixer, &bal);
- bal += (arg ? *(float *)arg : .1f) *
- (action == M_PROPERTY_STEP_UP ? 1.f : -1.f);
+ bal += (arg ? *(float *)arg : .1f);
M_PROPERTY_CLAMP(prop, bal);
mixer_setbalance(&mpctx->mixer, bal);
return M_PROPERTY_OK;
@@ -962,7 +938,7 @@ static int mp_property_audio(m_option_t *prop, int action, void *arg,
}
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
+ case M_PROPERTY_STEP:
case M_PROPERTY_SET:
if (action == M_PROPERTY_SET && arg)
tmp = *((int *) arg);
@@ -1014,7 +990,7 @@ static int mp_property_video(m_option_t *prop, int action, void *arg,
}
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
+ case M_PROPERTY_STEP:
case M_PROPERTY_SET:
if (action == M_PROPERTY_SET && arg)
tmp = *((int *) arg);
@@ -1045,7 +1021,7 @@ static int mp_property_program(m_option_t *prop, int action, void *arg,
demux_program_t prog;
switch (action) {
- case M_PROPERTY_STEP_UP:
+ case M_PROPERTY_STEP:
case M_PROPERTY_SET:
if (action == M_PROPERTY_SET && arg)
prog.progid = *((int *) arg);
@@ -1085,8 +1061,7 @@ static int mp_property_fullscreen(m_option_t *prop, int action, void *arg,
M_PROPERTY_CLAMP(prop, *(int *) arg);
if (vo_fs == !!*(int *) arg)
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
if (mpctx->video_out->config_ok)
vo_control(mpctx->video_out, VOCTRL_FULLSCREEN, 0);
mpctx->opts.fullscreen = vo_fs;
@@ -1116,8 +1091,7 @@ static int mp_property_deinterlace(m_option_t *prop, int action,
M_PROPERTY_CLAMP(prop, *(int *) arg);
vf->control(vf, VFCTRL_SET_DEINTERLACE, arg);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
vf->control(vf, VFCTRL_GET_DEINTERLACE, &deinterlace);
deinterlace = !deinterlace;
vf->control(vf, VFCTRL_SET_DEINTERLACE, &deinterlace);
@@ -1135,8 +1109,7 @@ static int colormatrix_property_helper(m_option_t *prop, int action,
// testing for an actual change is too much effort
switch (action) {
case M_PROPERTY_SET:
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
if (mpctx->sh_video)
set_video_colorspace(mpctx->sh_video);
break;
@@ -1289,10 +1262,8 @@ static int mp_property_panscan(m_option_t *prop, int action, void *arg,
vo_panscan = *(float *) arg;
vo_control(mpctx->video_out, VOCTRL_SET_PANSCAN, NULL);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- vo_panscan += (arg ? *(float *) arg : 0.1) *
- (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
+ case M_PROPERTY_STEP:
+ vo_panscan += (arg ? *(float *) arg : 0.1);
if (vo_panscan > 1)
vo_panscan = 1;
else if (vo_panscan < 0)
@@ -1321,8 +1292,7 @@ static int mp_property_vo_flag(m_option_t *prop, int action, void *arg,
M_PROPERTY_CLAMP(prop, *(int *) arg);
if (*vo_var == !!*(int *) arg)
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
if (mpctx->video_out->config_ok)
vo_control(mpctx->video_out, vo_ctrl, 0);
return M_PROPERTY_OK;
@@ -1410,10 +1380,8 @@ static int mp_property_gamma(m_option_t *prop, int action, void *arg,
return M_PROPERTY_OK;
}
break;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- *gamma += (arg ? *(int *) arg : 1) *
- (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
+ case M_PROPERTY_STEP:
+ *gamma += (arg ? *(int *) arg : 1);
M_PROPERTY_CLAMP(prop, *gamma);
r = set_video_colors(mpctx->sh_video, prop->name, *gamma);
if (r <= 0)
@@ -1544,8 +1512,7 @@ static int mp_property_sub_pos(m_option_t *prop, int action, void *arg,
case M_PROPERTY_SET:
if (!arg)
return M_PROPERTY_ERROR;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
vo_osd_changed(OSDTYPE_SUBTITLE);
default:
return m_property_int_range(prop, action, arg, &sub_pos);
@@ -1579,10 +1546,8 @@ static int mp_property_sub(m_option_t *prop, int action, void *arg,
char *sub_name = NULL;
if (mpctx->subdata)
sub_name = mpctx->subdata->filename;
-#ifdef CONFIG_ASS
- if (mpctx->osd->ass_track)
- sub_name = mpctx->osd->ass_track->name;
-#endif
+ if (sub_source(mpctx) == SUB_SOURCE_SUBS && mpctx->osd->sh_sub)
+ sub_name = mpctx->osd->sh_sub->title;
if (!sub_name && mpctx->subdata)
sub_name = mpctx->subdata->filename;
if (sub_name) {
@@ -1661,15 +1626,16 @@ static int mp_property_sub(m_option_t *prop, int action, void *arg,
*(int *) arg = global_sub_size - 1;
mpctx->global_sub_pos = *(int *) arg;
break;
- case M_PROPERTY_STEP_UP:
- mpctx->global_sub_pos += 2;
- mpctx->global_sub_pos =
- (mpctx->global_sub_pos % (global_sub_size + 1)) - 1;
- break;
- case M_PROPERTY_STEP_DOWN:
- mpctx->global_sub_pos += global_sub_size + 1;
- mpctx->global_sub_pos =
- (mpctx->global_sub_pos % (global_sub_size + 1)) - 1;
+ case M_PROPERTY_STEP:
+ if (!arg || *(int *)arg >= 0) {
+ mpctx->global_sub_pos += 2;
+ mpctx->global_sub_pos =
+ (mpctx->global_sub_pos % (global_sub_size + 1)) - 1;
+ } else {
+ mpctx->global_sub_pos += global_sub_size + 1;
+ mpctx->global_sub_pos =
+ (mpctx->global_sub_pos % (global_sub_size + 1)) - 1;
+ }
break;
default:
return M_PROPERTY_NOT_IMPLEMENTED;
@@ -1698,27 +1664,20 @@ static int mp_property_sub(m_option_t *prop, int action, void *arg,
reset_spu = 1;
d_sub->id = -2;
}
- mpctx->osd->ass_track = NULL;
uninit_player(mpctx, INITIALIZED_SUB);
if (source == SUB_SOURCE_VOBSUB)
vobsub_id = vobsub_get_id_by_index(vo_vobsub, source_pos);
else if (source == SUB_SOURCE_SUBS) {
mpctx->set_of_sub_pos = source_pos;
-#ifdef CONFIG_ASS
if (opts->ass_enabled
- && mpctx->set_of_ass_tracks[mpctx->set_of_sub_pos]) {
- mpctx->osd->ass_track =
- mpctx->set_of_ass_tracks[mpctx->set_of_sub_pos];
- mpctx->osd->ass_track_changed = true;
- mpctx->osd->vsfilter_aspect =
- mpctx->track_was_native_ass[mpctx->set_of_sub_pos];
+ && mpctx->set_of_ass_tracks[mpctx->set_of_sub_pos]) {
+ sub_init(mpctx->set_of_ass_tracks[mpctx->set_of_sub_pos],
+ mpctx->osd);
+ mpctx->initialized_flags |= INITIALIZED_SUB;
} else
-#endif
- {
mpctx->subdata = mpctx->set_of_subtitles[mpctx->set_of_sub_pos];
- vo_osd_changed(OSDTYPE_SUBTITLE);
- }
+ vo_osd_changed(OSDTYPE_SUBTITLE);
} else if (source == SUB_SOURCE_DEMUX) {
opts->sub_id = source_pos;
if (d_sub && opts->sub_id < MAX_S_STREAMS) {
@@ -1811,10 +1770,8 @@ static int mp_property_sub_source(m_option_t *prop, int action, void *arg,
mpctx->global_sub_pos = new_pos;
}
break;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN: {
- int step_all = (arg && *(int *)arg != 0 ? *(int *)arg : 1)
- * (action == M_PROPERTY_STEP_UP ? 1 : -1);
+ case M_PROPERTY_STEP: {
+ int step_all = (arg && *(int *)arg != 0 ? *(int *)arg : 1);
int step = (step_all > 0) ? 1 : -1;
int cur_source = sub_source(mpctx);
source = cur_source;
@@ -1840,7 +1797,7 @@ static int mp_property_sub_source(m_option_t *prop, int action, void *arg,
return M_PROPERTY_NOT_IMPLEMENTED;
}
--mpctx->global_sub_pos;
- return mp_property_sub(prop, M_PROPERTY_STEP_UP, NULL, mpctx);
+ return mp_property_sub(prop, M_PROPERTY_STEP, NULL, mpctx);
}
/// Selected subtitles from specific source (RW)
@@ -1900,10 +1857,8 @@ static int mp_property_sub_by_type(m_option_t *prop, int action, void *arg,
} else
new_pos = -1;
break;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN: {
- int step_all = (arg && *(int *)arg != 0 ? *(int *)arg : 1)
- * (action == M_PROPERTY_STEP_UP ? 1 : -1);
+ case M_PROPERTY_STEP: {
+ int step_all = (arg && *(int *)arg != 0 ? *(int *)arg : 1);
int step = (step_all > 0) ? 1 : -1;
int max_sub_pos_for_source = -1;
if (!is_cur_source)
@@ -1967,8 +1922,7 @@ static int mp_property_sub_alignment(m_option_t *prop, int action,
case M_PROPERTY_SET:
if (!arg)
return M_PROPERTY_ERROR;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
vo_osd_changed(OSDTYPE_SUBTITLE);
default:
return m_property_choice(prop, action, arg, &sub_alignment);
@@ -1979,6 +1933,8 @@ static int mp_property_sub_alignment(m_option_t *prop, int action,
static int mp_property_sub_visibility(m_option_t *prop, int action,
void *arg, MPContext *mpctx)
{
+ struct MPOpts *opts = &mpctx->opts;
+
if (!mpctx->sh_video)
return M_PROPERTY_UNAVAILABLE;
@@ -1986,13 +1942,12 @@ static int mp_property_sub_visibility(m_option_t *prop, int action,
case M_PROPERTY_SET:
if (!arg)
return M_PROPERTY_ERROR;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
vo_osd_changed(OSDTYPE_SUBTITLE);
if (vo_spudec)
vo_osd_changed(OSDTYPE_SPU);
default:
- return m_property_flag(prop, action, arg, &sub_visibility);
+ return m_property_flag(prop, action, arg, &opts->sub_visibility);
}
}
@@ -2009,9 +1964,8 @@ static int mp_property_ass_use_margins(m_option_t *prop, int action,
case M_PROPERTY_SET:
if (!arg)
return M_PROPERTY_ERROR;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- mpctx->osd->ass_force_reload = true;
+ case M_PROPERTY_STEP:
+ vo_osd_changed(OSDTYPE_SUBTITLE);
default:
return m_property_flag(prop, action, arg, &opts->ass_use_margins);
}
@@ -2027,10 +1981,8 @@ static int mp_property_ass_vsfilter_aspect_compat(m_option_t *prop, int action,
case M_PROPERTY_SET:
if (!arg)
return M_PROPERTY_ERROR;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- //has to re-render subs with new aspect ratio
- mpctx->osd->ass_force_reload = 1;
+ case M_PROPERTY_STEP:
+ vo_osd_changed(OSDTYPE_SUBTITLE);
default:
return m_property_flag(prop, action, arg,
&mpctx->opts.ass_vsfilter_aspect_compat);
@@ -2050,8 +2002,7 @@ static int mp_property_sub_forced_only(m_option_t *prop, int action,
case M_PROPERTY_SET:
if (!arg)
return M_PROPERTY_ERROR;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
m_property_flag(prop, action, arg, &forced_subs_only);
spudec_set_forced_subs_only(vo_spudec, forced_subs_only);
return M_PROPERTY_OK;
@@ -2061,7 +2012,6 @@ static int mp_property_sub_forced_only(m_option_t *prop, int action,
}
-#ifdef CONFIG_FREETYPE
/// Subtitle scale (RW)
static int mp_property_sub_scale(m_option_t *prop, int action, void *arg,
MPContext *mpctx)
@@ -2073,42 +2023,27 @@ static int mp_property_sub_scale(m_option_t *prop, int action, void *arg,
if (!arg)
return M_PROPERTY_ERROR;
M_PROPERTY_CLAMP(prop, *(float *) arg);
-#ifdef CONFIG_ASS
- if (opts->ass_enabled) {
+ if (opts->ass_enabled)
opts->ass_font_scale = *(float *) arg;
- mpctx->osd->ass_force_reload = true;
- }
-#endif
text_font_scale_factor = *(float *) arg;
- force_load_font = 1;
vo_osd_changed(OSDTYPE_SUBTITLE);
return M_PROPERTY_OK;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
-#ifdef CONFIG_ASS
+ case M_PROPERTY_STEP:
if (opts->ass_enabled) {
- opts->ass_font_scale += (arg ? *(float *) arg : 0.1) *
- (action == M_PROPERTY_STEP_UP ? 1.0 : -1.0);
+ opts->ass_font_scale += (arg ? *(float *) arg : 0.1);
M_PROPERTY_CLAMP(prop, opts->ass_font_scale);
- mpctx->osd->ass_force_reload = true;
}
-#endif
- text_font_scale_factor += (arg ? *(float *) arg : 0.1) *
- (action == M_PROPERTY_STEP_UP ? 1.0 : -1.0);
+ text_font_scale_factor += (arg ? *(float *) arg : 0.1);
M_PROPERTY_CLAMP(prop, text_font_scale_factor);
- force_load_font = 1;
vo_osd_changed(OSDTYPE_SUBTITLE);
return M_PROPERTY_OK;
default:
-#ifdef CONFIG_ASS
if (opts->ass_enabled)
return m_property_float_ro(prop, action, arg, opts->ass_font_scale);
else
-#endif
- return m_property_float_ro(prop, action, arg, text_font_scale_factor);
+ return m_property_float_ro(prop, action, arg, text_font_scale_factor);
}
}
-#endif
#ifdef CONFIG_TV
@@ -2130,13 +2065,11 @@ static int mp_property_tv_color(m_option_t *prop, int action, void *arg,
return tv_set_color_options(tvh, prop->offset, *(int *) arg);
case M_PROPERTY_GET:
return tv_get_color_options(tvh, prop->offset, arg);
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
if ((r = tv_get_color_options(tvh, prop->offset, &val)) >= 0) {
if (!r)
return M_PROPERTY_ERROR;
- val += (arg ? *(int *) arg : 1) *
- (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
+ val += (arg ? *(int *) arg : 1);
M_PROPERTY_CLAMP(prop, val);
return tv_set_color_options(tvh, prop->offset, val);
}
@@ -2175,11 +2108,9 @@ static int mp_property_teletext_common(m_option_t *prop, int action, void *arg,
result = teletext_control(mpctx->demuxer->teletext, base_ioctl + 1,
arg);
break;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
result = teletext_control(mpctx->demuxer->teletext, base_ioctl, &val);
- val += (arg ? *(int *) arg : 1) * (action == M_PROPERTY_STEP_DOWN ?
- -1 : 1);
+ val += (arg ? *(int *) arg : 1);
result = teletext_control(mpctx->demuxer->teletext, base_ioctl + 1,
&val);
break;
@@ -2217,11 +2148,9 @@ static int mp_property_teletext_page(m_option_t *prop, int action, void *arg,
if (!mpctx->demuxer->teletext)
return M_PROPERTY_UNAVAILABLE;
switch (action) {
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
//This should be handled separately
- val = (arg ? *(int *) arg : 1) * (action == M_PROPERTY_STEP_DOWN ?
- -1 : 1);
+ val = (arg ? *(int *) arg : 1);
result = teletext_control(mpctx->demuxer->teletext,
TV_VBI_CONTROL_STEP_PAGE, &val);
break;
@@ -2377,10 +2306,8 @@ static const m_option_t mp_properties[] = {
M_OPT_RANGE, 0, 1, NULL },
{ "sub_forced_only", mp_property_sub_forced_only, CONF_TYPE_FLAG,
M_OPT_RANGE, 0, 1, NULL },
-#ifdef CONFIG_FREETYPE
{ "sub_scale", mp_property_sub_scale, CONF_TYPE_FLOAT,
M_OPT_RANGE, 0, 100, NULL },
-#endif
#ifdef CONFIG_ASS
{ "ass_use_margins", mp_property_ass_use_margins, CONF_TYPE_FLAG,
M_OPT_RANGE, 0, 1, NULL },
@@ -2496,9 +2423,7 @@ static struct property_osd_display {
{ "sub_delay", 0, OSD_MSG_SUB_DELAY, _("Sub delay: %s") },
{ "sub_visibility", 0, -1, _("Subtitles: %s") },
{ "sub_forced_only", 0, -1, _("Forced sub only: %s") },
-#ifdef CONFIG_FREETYPE
{ "sub_scale", 0, -1, _("Sub Scale: %s")},
-#endif
{ "ass_vsfilter_aspect_compat", 0, -1,
_("Subtitle VSFilter aspect compat: %s")},
#ifdef CONFIG_TV
@@ -2623,9 +2548,7 @@ static struct {
{ "sub_delay", MP_CMD_SUB_DELAY, 0},
{ "sub_visibility", MP_CMD_SUB_VISIBILITY, 1},
{ "sub_forced_only", MP_CMD_SUB_FORCED_ONLY, 1},
-#ifdef CONFIG_FREETYPE
{ "sub_scale", MP_CMD_SUB_SCALE, 0},
-#endif
#ifdef CONFIG_ASS
{ "ass_use_margins", MP_CMD_ASS_USE_MARGINS, 1},
#endif
@@ -2660,14 +2583,16 @@ static bool set_property_command(MPContext *mpctx, mp_cmd_t *cmd)
// set to value
if (cmd->nargs > 0 && cmd->args[0].v.i >= prop->min)
r = mp_property_do(pname, M_PROPERTY_SET, &cmd->args[0].v.i, mpctx);
- else if (cmd->nargs > 0)
- r = mp_property_do(pname, M_PROPERTY_STEP_DOWN, NULL, mpctx);
- else
- r = mp_property_do(pname, M_PROPERTY_STEP_UP, NULL, mpctx);
+ else {
+ int dir = 1;
+ if (cmd->nargs > 0)
+ dir = -1;
+ r = mp_property_do(pname, M_PROPERTY_STEP, &dir, mpctx);
+ }
} else if (cmd->args[1].v.i) //set
r = mp_property_do(pname, M_PROPERTY_SET, &cmd->args[0].v, mpctx);
else // adjust
- r = mp_property_do(pname, M_PROPERTY_STEP_UP, &cmd->args[0].v, mpctx);
+ r = mp_property_do(pname, M_PROPERTY_STEP, &cmd->args[0].v, mpctx);
if (r <= 0)
return 1;
@@ -2730,9 +2655,7 @@ static void remove_subtitle_range(MPContext *mpctx, int start, int count)
int end = start + count;
int after = mpctx->set_of_sub_size - end;
sub_data **subs = mpctx->set_of_subtitles;
-#ifdef CONFIG_ASS
- struct ass_track **ass_tracks = mpctx->set_of_ass_tracks;
-#endif
+ struct sh_sub **ass_tracks = mpctx->set_of_ass_tracks;
if (count < 0 || count > mpctx->set_of_sub_size ||
start < 0 || start > mpctx->set_of_sub_size - count) {
mp_msg(MSGT_CPLAYER, MSGL_ERR,
@@ -2744,20 +2667,19 @@ static void remove_subtitle_range(MPContext *mpctx, int start, int count)
char *filename = "";
if (subd)
filename = subd->filename;
-#ifdef CONFIG_ASS
if (!subd)
- filename = ass_tracks[idx]->name;
-#endif
+ filename = ass_tracks[idx]->title;
mp_msg(MSGT_CPLAYER, MSGL_STATUS,
"SUB: Removed subtitle file (%d): %s\n", idx + 1,
filename_recode(filename));
sub_free(subd);
subs[idx] = NULL;
-#ifdef CONFIG_ASS
- if (ass_tracks[idx])
- ass_free_track(ass_tracks[idx]);
+ if (ass_tracks[idx]) {
+ sub_switchoff(ass_tracks[idx], mpctx->osd);
+ sub_uninit(ass_tracks[idx]);
+ }
+ talloc_free(ass_tracks[idx]);
ass_tracks[idx] = NULL;
-#endif
}
mpctx->global_sub_size -= count;
@@ -2767,15 +2689,12 @@ static void remove_subtitle_range(MPContext *mpctx, int start, int count)
memmove(subs + start, subs + end, after * sizeof(*subs));
memset(subs + start + after, 0, count * sizeof(*subs));
-#ifdef CONFIG_ASS
memmove(ass_tracks + start, ass_tracks + end, after * sizeof(*ass_tracks));
memset(ass_tracks + start + after, 0, count * sizeof(*ass_tracks));
-#endif
if (mpctx->set_of_sub_pos >= start && mpctx->set_of_sub_pos < end) {
mpctx->global_sub_pos = -2;
mpctx->subdata = NULL;
- mpctx->osd->ass_track = NULL;
mp_input_queue_cmd(mpctx->input, mp_input_parse_cmd("sub_select"));
} else if (mpctx->set_of_sub_pos >= end) {
mpctx->set_of_sub_pos -= count;
@@ -2862,9 +2781,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
"Ignoring step size stepping property '%s'.\n",
cmd->args[0].v.s);
}
- r = mp_property_do(cmd->args[0].v.s,
- cmd->args[2].v.i < 0 ?
- M_PROPERTY_STEP_DOWN : M_PROPERTY_STEP_UP,
+ r = mp_property_do(cmd->args[0].v.s, M_PROPERTY_STEP,
arg, mpctx);
step_prop_err:
if (r == M_PROPERTY_UNKNOWN)
@@ -2933,7 +2850,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
case MP_CMD_SPEED_INCR: {
float v = cmd->args[0].v.f;
- mp_property_do("speed", M_PROPERTY_STEP_UP, &v, mpctx);
+ mp_property_do("speed", M_PROPERTY_STEP, &v, mpctx);
show_property_osd(mpctx, "speed");
break;
}
@@ -3010,7 +2927,8 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
if (sh_video) {
int movement = cmd->args[0].v.i;
step_sub(mpctx->subdata, mpctx->video_pts, movement);
-#ifdef CONFIG_ASS
+#if 0
+ // currently not implemented with libass
if (mpctx->osd->ass_track)
sub_delay +=
ass_step_sub(mpctx->osd->ass_track,
@@ -3121,13 +3039,8 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
break;
case MP_CMD_OSD_SHOW_PROGRESSION: {
- int len = get_time_length(mpctx);
- int pts = get_current_time(mpctx);
set_osd_bar(mpctx, 0, "Position", 0, 100, get_percent_pos(mpctx));
- set_osd_msg(OSD_MSG_TEXT, 1, osd_duration,
- "%c %02d:%02d:%02d / %02d:%02d:%02d",
- mpctx->osd_function, pts / 3600, (pts / 60) % 60, pts % 60,
- len / 3600, (len / 60) % 60, len % 60);
+ set_osd_progressmsg(OSD_MSG_TEXT, 1, osd_duration);
break;
}
@@ -3355,7 +3268,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
case MP_CMD_GET_SUB_VISIBILITY:
if (sh_video) {
mp_msg(MSGT_GLOBAL, MSGL_INFO,
- "ANS_SUB_VISIBILITY=%d\n", sub_visibility);
+ "ANS_SUB_VISIBILITY=%d\n", opts->sub_visibility);
}
break;
diff --git a/configure b/configure
index a334b30..0c17f68 100755
--- a/configure
+++ b/configure
@@ -62,10 +62,6 @@ cc_check() {
compile_check $TMPC $@
}
-cxx_check() {
- compile_check $TMPCPP $@ -lstdc++
-}
-
cflag_check() {
cat > $TMPC << EOF
int main(void) { return 0; }
@@ -190,7 +186,7 @@ die () {
echo
echo "Error: $@" >&2
echo >&2
- rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
+ rm -f "$TMPEXE" "$TMPC" "$TMPS"
echo "Check \"$TMPLOG\" if you do not understand why it failed."
exit 1
}
@@ -215,7 +211,6 @@ morphos() { issystem "MorphOS"; }
netbsd() { issystem "NetBSD"; }
openbsd() { issystem "OpenBSD"; }
qnx() { issystem "QNX"; }
-sunos() { issystem "SunOS"; }
win32() { cygwin || mingw32; }
# arch test boolean functions
@@ -286,7 +281,7 @@ esac
msg_lang_all=''
ls po/*.po >/dev/null 2>&1 && msg_lang_all=$(echo po/*.po | sed -e 's:po/\([^[:space:]]*\)\.po:\1:g')
-man_lang_all=$(echo DOCS/man/??/mplayer.1 DOCS/man/??_??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
+man_lang_all=$(echo DOCS/man/*/mplayer.rst | sed -e "s:DOCS/man/\(..\)/mplayer.rst:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.rst:\1:g")
doc_lang_all=$(echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
show_help(){
@@ -334,8 +329,8 @@ Optional features:
--disable-networking disable networking [enable]
--enable-winsock2_h enable winsock2_h [autodetect]
--enable-smb enable Samba (SMB) input [autodetect]
- --enable-live enable LIVE555 Streaming Media [disable]
- --enable-nemesi enable Nemesi Streaming Media [autodetect]
+ --enable-libquvi enable libquvi [autodetect]
+ --enable-lcms2 enable LCMS2 support [autodetect]
--disable-vcd disable VCD support [autodetect]
--disable-bluray disable Blu-ray support [autodetect]
--disable-dvdnav disable libdvdnav [autodetect]
@@ -343,12 +338,8 @@ Optional features:
--disable-dvdread-internal disable internal libdvdread [autodetect]
--disable-libdvdcss-internal disable internal libdvdcss [autodetect]
--disable-cddb disable cddb [autodetect]
- --disable-bitmap-font disable bitmap font support [enable]
- --disable-freetype disable FreeType 2 font rendering [autodetect]
- --disable-fontconfig disable fontconfig font lookup [autodetect]
--disable-unrarexec disable using of UnRAR executable [enabled]
--disable-sortsub disable subtitle sorting [enabled]
- --enable-fribidi enable the FriBiDi libs [autodetect]
--disable-enca disable ENCA charset oracle library [autodetect]
--enable-macosx-finder enable Mac OS X Finder invocation parameter
parsing [disabled]
@@ -362,6 +353,7 @@ Optional features:
--disable-libass disable subtitle rendering with libass [autodetect]
--enable-rpath enable runtime linker path for extra libs [disabled]
--disable-libpostproc disable postprocess filter (vf_pp) [autodetect]
+ --disable-libavresample disable libavresample (sample format conversion) [autodetect]
Codecs:
--enable-gif enable GIF support [autodetect]
@@ -394,23 +386,12 @@ Codecs:
Video output:
--enable-gl enable OpenGL video output [autodetect]
- --enable-dga2 enable DGA 2 support [autodetect]
- --enable-dga1 enable DGA 1 support [autodetect]
- --enable-vesa enable VESA video output [autodetect]
- --enable-svga enable SVGAlib video output [autodetect]
--enable-sdl enable SDL video output [autodetect]
- --enable-aa enable AAlib video output [autodetect]
--enable-caca enable CACA video output [autodetect]
- --enable-ggi enable GGI video output [autodetect]
- --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
--enable-direct3d enable Direct3D video output [autodetect]
--enable-directx enable DirectX video output [autodetect]
- --enable-dxr3 enable DXR3/H+ video output [autodetect]
- --enable-ivtv enable IVTV TV-Out video output [autodetect]
--enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
- --enable-dvb enable DVB video output [autodetect]
- --enable-mga enable mga_vid video output [autodetect]
- --enable-xmga enable mga_vid X11 video output [autodetect]
+ --enable-dvb enable DVB video input [autodetect]
--enable-xv enable Xv video output [autodetect]
--enable-vdpau enable VDPAU acceleration [autodetect]
--enable-vm enable XF86VidMode support [autodetect]
@@ -418,15 +399,7 @@ Video output:
--enable-x11 enable X11 video output [autodetect]
--enable-xshape enable XShape support [autodetect]
--disable-xss disable screensaver support via xss [autodetect]
- --enable-fbdev enable FBDev video output [autodetect]
- --enable-3dfx enable obsolete /dev/3dfx video output [disable]
- --enable-tdfxfb enable tdfxfb video output [disable]
- --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
- --enable-wii enable Nintendo Wii/GameCube video output [disable]
--enable-directfb enable DirectFB video output [autodetect]
- --enable-bl enable Blinkenlights video output [disable]
- --enable-tdfxvid enable tdfx_vid video output [disable]
- --enable-xvr100 enable SUN XVR-100 video output [autodetect]
--disable-tga disable Targa video output [enable]
--disable-pnm disable PNM video output [enable]
--disable-md5sum disable md5sum video output [enable]
@@ -443,9 +416,6 @@ Audio output:
--disable-portaudio disable PortAudio audio output [autodetect]
--disable-jack disable JACK audio output [autodetect]
--enable-openal enable OpenAL audio output [disable]
- --disable-nas disable NAS audio output [autodetect]
- --disable-sunaudio disable Sun audio output [autodetect]
- --disable-win32waveout disable Windows waveout audio output [autodetect]
--disable-coreaudio disable CoreAudio audio output [autodetect]
--disable-select disable using select() on the audio device [enable]
@@ -471,7 +441,6 @@ Miscellaneous options:
--enable-runtime-cpudetection enable runtime CPU detection [disable]
--enable-cross-compile enable cross-compilation [disable]
--cc=COMPILER C compiler to build MPlayer [gcc]
- --host-cc=COMPILER C compiler for tools needed while building [gcc]
--as=ASSEMBLER assembler to build MPlayer [as]
--nm=NM nm tool to build MPlayer [nm]
--yasm=YASM Yasm assembler to build MPlayer [yasm]
@@ -559,18 +528,14 @@ _cross_compile=no
_prefix="/usr/local"
ffmpeg=auto
ffmpeg_internals=no
-_mplayer=yes
_x11=auto
_xshape=auto
_xss=auto
-_dga1=auto
-_dga2=auto
_xv=auto
_vdpau=auto
_sdl=auto
_direct3d=auto
_directx=auto
-_win32waveout=auto
_nas=auto
_png=auto
_mng=auto
@@ -580,16 +545,9 @@ _md5sum=yes
_yuv4mpeg=yes
_gif=auto
_gl=auto
-_ggi=auto
-_ggiwmh=auto
_aa=auto
_caca=auto
-_svga=auto
-_vesa=auto
-_fbdev=auto
_dvb=auto
-_dxr3=auto
-_ivtv=auto
_v4l2=auto
_iconv=auto
_langinfo=auto
@@ -623,15 +581,10 @@ _dvdread_internal=auto
_libdvdcss_internal=auto
_xanim=auto
_real=auto
-_live=no
-_nemesi=auto
-_native_rtsp=yes
+_lcms2=auto
_xinerama=auto
-_mga=auto
-_xmga=auto
_vm=auto
_xf86keysym=auto
-_sunaudio=auto
_alsa=auto
_fastmemcpy=yes
_unrar_exec=auto
@@ -651,6 +604,7 @@ _pvr=auto
networking=yes
_winsock2_h=auto
_smb=auto
+_libquvi=auto
_joystick=no
_xvid=auto
_libnut=auto
@@ -660,15 +614,8 @@ _apple_remote=auto
_apple_ir=auto
_termcap=auto
_termios=auto
-_3dfx=no
-_s3fb=no
-_wii=no
-_tdfxfb=no
-_tdfxvid=no
-_xvr100=auto
_tga=yes
_directfb=auto
-_bl=no
#language=en
_shm=auto
_translation=no
@@ -679,9 +626,6 @@ _libdv=auto
_cdda=auto
_cddb=auto
_big_endian=auto
-_bitmap_font=yes
-_freetype=auto
-_fontconfig=auto
_qtx=auto
_coreaudio=auto
_corevideo=auto
@@ -691,7 +635,6 @@ quicktime=auto
_macosx_finder=no
_macosx_bundle=auto
_sortsub=yes
-_fribidi=auto
_enca=auto
_inet6=auto
_gethostbyname2=auto
@@ -703,6 +646,7 @@ _w32threads=auto
_ass=auto
_rpath=no
libpostproc=auto
+libavresample=auto
_asmalign_pot=auto
_stream_cache=yes
_priority=no
@@ -774,9 +718,6 @@ for ac_option do
--cc=*)
_cc=$(echo $ac_option | cut -d '=' -f 2)
;;
- --host-cc=*)
- _host_cc=$(echo $ac_option | cut -d '=' -f 2)
- ;;
--as=*)
_as=$(echo $ac_option | cut -d '=' -f 2)
;;
@@ -841,8 +782,6 @@ for ac_option do
--disable-runtime-cpudetection) _runtime_cpudetection=no ;;
--enable-cross-compile) _cross_compile=yes ;;
--disable-cross-compile) _cross_compile=no ;;
- --enable-mplayer) _mplayer=yes ;;
- --disable-mplayer) _mplayer=no ;;
--enable-x11) _x11=yes ;;
--disable-x11) _x11=no ;;
--enable-xshape) _xshape=yes ;;
@@ -859,10 +798,6 @@ for ac_option do
--disable-direct3d) _direct3d=no ;;
--enable-directx) _directx=yes ;;
--disable-directx) _directx=no ;;
- --enable-win32waveout) _win32waveout=yes ;;
- --disable-win32waveout) _win32waveout=no ;;
- --enable-nas) _nas=yes ;;
- --disable-nas) _nas=no ;;
--enable-png) _png=yes ;;
--disable-png) _png=no ;;
--enable-mng) _mng=yes ;;
@@ -879,26 +814,10 @@ for ac_option do
--disable-gif) _gif=no ;;
--enable-gl) _gl=yes ;;
--disable-gl) _gl=no ;;
- --enable-ggi) _ggi=yes ;;
- --disable-ggi) _ggi=no ;;
- --enable-ggiwmh) _ggiwmh=yes ;;
- --disable-ggiwmh) _ggiwmh=no ;;
- --enable-aa) _aa=yes ;;
- --disable-aa) _aa=no ;;
--enable-caca) _caca=yes ;;
--disable-caca) _caca=no ;;
- --enable-svga) _svga=yes ;;
- --disable-svga) _svga=no ;;
- --enable-vesa) _vesa=yes ;;
- --disable-vesa) _vesa=no ;;
- --enable-fbdev) _fbdev=yes ;;
- --disable-fbdev) _fbdev=no ;;
--enable-dvb) _dvb=yes ;;
--disable-dvb) _dvb=no ;;
- --enable-dxr3) _dxr3=yes ;;
- --disable-dxr3) _dxr3=no ;;
- --enable-ivtv) _ivtv=yes ;;
- --disable-ivtv) _ivtv=no ;;
--enable-v4l2) _v4l2=yes ;;
--disable-v4l2) _v4l2=no ;;
--enable-iconv) _iconv=yes ;;
@@ -965,22 +884,14 @@ for ac_option do
--disable-xanim) _xanim=no ;;
--enable-real) _real=yes ;;
--disable-real) _real=no ;;
- --enable-live) _live=yes ;;
- --disable-live) _live=no ;;
- --enable-nemesi) _nemesi=yes ;;
- --disable-nemesi) _nemesi=no ;;
+ --enable-lcms2) _lcms2=yes ;;
+ --disable-lcms2) _lcms2=no ;;
--enable-xinerama) _xinerama=yes ;;
--disable-xinerama) _xinerama=no ;;
- --enable-mga) _mga=yes ;;
- --disable-mga) _mga=no ;;
- --enable-xmga) _xmga=yes ;;
- --disable-xmga) _xmga=no ;;
--enable-vm) _vm=yes ;;
--disable-vm) _vm=no ;;
--enable-xf86keysym) _xf86keysym=yes ;;
--disable-xf86keysym) _xf86keysym=no ;;
- --enable-sunaudio) _sunaudio=yes ;;
- --disable-sunaudio) _sunaudio=no ;;
--enable-alsa) _alsa=yes ;;
--disable-alsa) _alsa=no ;;
--enable-tv) _tv=yes ;;
@@ -1013,6 +924,8 @@ for ac_option do
--disable-winsock2_h) _winsock2_h=no ;;
--enable-smb) _smb=yes ;;
--disable-smb) _smb=no ;;
+ --enable-libquvi) _libquvi=yes ;;
+ --disable-libquvi) _libquvi=no ;;
--enable-joystick) _joystick=yes ;;
--disable-joystick) _joystick=no ;;
--enable-xvid) _xvid=yes ;;
@@ -1035,24 +948,10 @@ for ac_option do
--disable-termcap) _termcap=no ;;
--enable-termios) _termios=yes ;;
--disable-termios) _termios=no ;;
- --enable-3dfx) _3dfx=yes ;;
- --disable-3dfx) _3dfx=no ;;
- --enable-s3fb) _s3fb=yes ;;
- --disable-s3fb) _s3fb=no ;;
- --enable-wii) _wii=yes ;;
- --disable-wii) _wii=no ;;
- --enable-tdfxfb) _tdfxfb=yes ;;
- --disable-tdfxfb) _tdfxfb=no ;;
- --disable-tdfxvid) _tdfxvid=no ;;
- --enable-tdfxvid) _tdfxvid=yes ;;
- --disable-xvr100) _xvr100=no ;;
- --enable-xvr100) _xvr100=yes ;;
--disable-tga) _tga=no ;;
--enable-tga) _tga=yes ;;
--enable-directfb) _directfb=yes ;;
--disable-directfb) _directfb=no ;;
- --enable-bl) _bl=yes ;;
- --disable-bl) _bl=no ;;
--enable-shm) _shm=yes ;;
--disable-shm) _shm=no ;;
--enable-select) _select=yes ;;
@@ -1061,12 +960,6 @@ for ac_option do
--disable-cddb) _cddb=no ;;
--enable-big-endian) _big_endian=yes ;;
--disable-big-endian) _big_endian=no ;;
- --enable-bitmap-font) _bitmap_font=yes ;;
- --disable-bitmap-font) _bitmap_font=no ;;
- --enable-freetype) _freetype=yes ;;
- --disable-freetype) _freetype=no ;;
- --enable-fontconfig) _fontconfig=yes ;;
- --disable-fontconfig) _fontconfig=no ;;
--enable-unrarexec) _unrar_exec=yes ;;
--disable-unrarexec) _unrar_exec=no ;;
--enable-ftp) _ftp=yes ;;
@@ -1083,9 +976,8 @@ for ac_option do
--disable-rpath) _rpath=no ;;
--enable-libpostproc) libpostproc=yes ;;
--disable-libpostproc) libpostproc=no ;;
-
- --enable-fribidi) _fribidi=yes ;;
- --disable-fribidi) _fribidi=no ;;
+ --enable-libavresample) libavresample=yes ;;
+ --disable-libavresample) libavresample=no ;;
--enable-enca) _enca=yes ;;
--disable-enca) _enca=no ;;
@@ -1096,11 +988,6 @@ for ac_option do
--enable-gethostbyname2) _gethostbyname2=yes ;;
--disable-gethostbyname2) _gethostbyname2=no ;;
- --enable-dga1) _dga1=yes ;;
- --disable-dga1) _dga1=no ;;
- --enable-dga2) _dga2=yes ;;
- --disable-dga2) _dga2=no ;;
-
--enable-qtx) _qtx=yes ;;
--disable-qtx) _qtx=no ;;
@@ -1207,7 +1094,6 @@ if test $_cross_compile = yes; then
tmp_run() {
return 0
}
- test "$_host_cc" || _host_cc=cc
fi
tool_prefix=""
@@ -1236,7 +1122,7 @@ if test -z "$_target" ; then
# OS name
system_name=$(uname -s 2>&1)
case "$system_name" in
- Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
+ Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
;;
Haiku)
system_name=BeOS
@@ -1308,7 +1194,6 @@ else # if test -z "$_target"
bsd/os) system_name=BSD/OS ;;
openbsd) system_name=OpenBSD ;;
dragonfly) system_name=DragonFly ;;
- sunos) system_name=SunOS ;;
qnx) system_name=QNX ;;
morphos) system_name=MorphOS ;;
amigaos) system_name=AmigaOS ;;
@@ -1381,7 +1266,6 @@ if qnx ; then
fi
TMPC="$mplayer_tmpdir/tmp.c"
-TMPCPP="$mplayer_tmpdir/tmp.cpp"
TMPEXE="$mplayer_tmpdir/tmp$_exesuf"
TMPH="$mplayer_tmpdir/tmp.h"
TMPS="$mplayer_tmpdir/tmp.S"
@@ -1445,14 +1329,6 @@ else
break
fi
cc_name_tmp=$($_cc -V 2>&1 | head -n 1 | cut -d ' ' -f 2,3)
- if test "$cc_name_tmp" = "Sun C"; then
- echocheck "$_cc version"
- cc_vendor=sun
- cc_version=$($_cc -V 2>&1 | head -n 1 | cut -d ' ' -f 4)
- res_comment="experimental support only"
- echores "Sun C $cc_version"
- break
- fi
done
fi # icc
test "$cc_fail" = yes && die "unsupported compiler version"
@@ -1471,10 +1347,6 @@ EOF
cc_check && host_arch=x86_64 || host_arch=i386
fi
-echocheck "host cc"
-test "$_host_cc" || _host_cc=$_cc
-echores $_host_cc
-
echo "Detected operating system: $system_name"
echo "Detected host architecture: $host_arch"
@@ -1950,19 +1822,6 @@ case "$host_arch" in
_vis='yes'
proc='ultrasparc'
def_fast_64bit='#define HAVE_FAST_64BIT 1'
- elif sunos ; then
- echocheck "CPU type"
- karch=$(uname -m)
- case "$(echo $karch)" in
- sun4) proc=v7 ;;
- sun4c) proc=v7 ;;
- sun4d) proc=v8 ;;
- sun4m) proc=v8 ;;
- sun4u) proc=ultrasparc _vis='yes' ;;
- sun4v) proc=v9 ;;
- *) proc=v8 ;;
- esac
- echores "$proc"
else
proc=v8
fi
@@ -2282,8 +2141,6 @@ if test -z "$CFLAGS" ; then
if test "$cc_vendor" = "intel" ; then
CFLAGS="-O2 $_debug $_profile $_march $_mcpu $_pipe -fomit-frame-pointer"
WARNFLAGS="-wd167 -wd556 -wd144"
- elif test "$cc_vendor" = "sun" ; then
- CFLAGS="-O2 $_debug $_profile $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
elif test "$cc_vendor" = "clang"; then
CFLAGS="-O2 $_debug $_profile $_march $_pipe"
WARNFLAGS="-Wall -Wno-switch-enum -Wno-logical-op-parentheses -Wpointer-arith -Wundef -Wno-pointer-sign -Wmissing-prototypes"
@@ -3301,21 +3158,6 @@ echores "$_hpux_scsi_h"
fi #if hpux
-if sunos; then
-echocheck "userspace SCSI headers (Solaris)"
-_sol_scsi_h=no
-header_check sys/scsi/scsi_types.h &&
- header_check_broken sys/types.h sys/scsi/impl/uscsi.h &&
- _sol_scsi_h=yes
-if test "$_sol_scsi_h" = yes ; then
- def_sol_scsi_h='#define SOLARIS_USCSI 1'
-else
- def_sol_scsi_h='#undef SOLARIS_USCSI'
-fi
-echores "$_sol_scsi_h"
-fi #if sunos
-
-
echocheck "termcap"
if test "$_termcap" = auto ; then
_termcap=no
@@ -3489,20 +3331,6 @@ statement_check io.h 'setmode(0, 0)' && _setmode=yes && def_setmode='#define HAV
echores "$_setmode"
-if sunos; then
-echocheck "sysi86()"
-_sysi86=no
-statement_check sys/sysi86.h 'sysi86(0)' && _sysi86=yes
-if test "$_sysi86" = yes ; then
- def_sysi86='#define HAVE_SYSI86 1'
- statement_check sys/sysi86.h 'int sysi86(int, void*); sysi86(0)' && def_sysi86_iv='#define HAVE_SYSI86_iv 1'
-else
- def_sysi86='#undef HAVE_SYSI86'
-fi
-echores "$_sysi86"
-fi #if sunos
-
-
echocheck "sys/sysinfo.h"
_sys_sysinfo=no
statement_check sys/sysinfo.h 'struct sysinfo s_info; s_info.mem_unit=0; sysinfo(&s_info)' && _sys_sysinfo=yes
@@ -3619,77 +3447,24 @@ else
fi
echores "$_smb"
-
-#########
-# VIDEO #
-#########
-
-
-echocheck "tdfxfb"
-if test "$_tdfxfb" = yes ; then
- def_tdfxfb='#define CONFIG_TDFXFB 1'
- vomodules="tdfxfb $vomodules"
-else
- def_tdfxfb='#undef CONFIG_TDFXFB'
- novomodules="tdfxfb $novomodules"
-fi
-echores "$_tdfxfb"
-
-echocheck "s3fb"
-if test "$_s3fb" = yes ; then
- def_s3fb='#define CONFIG_S3FB 1'
- vomodules="s3fb $vomodules"
-else
- def_s3fb='#undef CONFIG_S3FB'
- novomodules="s3fb $novomodules"
+echocheck "libquvi support"
+if test "$_libquvi" = auto ; then
+ _libquvi=no
+ if pkg_config_add 'libquvi >= 0.4.1' ; then
+ _libquvi=yes
+ fi
fi
-echores "$_s3fb"
-
-echocheck "wii"
-if test "$_wii" = yes ; then
- def_wii='#define CONFIG_WII 1'
- vomodules="wii $vomodules"
+if test "$_libquvi" = yes; then
+ def_libquvi="#define CONFIG_LIBQUVI 1"
else
- def_wii='#undef CONFIG_WII'
- novomodules="wii $novomodules"
+ def_libquvi="#undef CONFIG_LIBQUVI"
fi
-echores "$_wii"
+echores "$_libquvi"
-echocheck "tdfxvid"
-if test "$_tdfxvid" = yes ; then
- def_tdfxvid='#define CONFIG_TDFX_VID 1'
- vomodules="tdfx_vid $vomodules"
-else
- def_tdfxvid='#undef CONFIG_TDFX_VID'
- novomodules="tdfx_vid $novomodules"
-fi
-echores "$_tdfxvid"
+#########
+# VIDEO #
+#########
-echocheck "xvr100"
-if test "$_xvr100" = auto ; then
-cat > $TMPC << EOF
-#include <unistd.h>
-#include <sys/fbio.h>
-#include <sys/visual_io.h>
-int main(void) {
-struct vis_identifier ident;
-struct fbgattr attr;
-ioctl(0, VIS_GETIDENTIFIER, &ident);
-ioctl(0, FBIOGATTR, &attr);
-return 0;
-}
-EOF
- _xvr100=no
- cc_check && _xvr100=yes
-fi
-if test "$_xvr100" = yes ; then
- def_xvr100='#define CONFIG_XVR100 1'
- vomodules="xvr100 $vomodules"
-else
- def_tdfxvid='#undef CONFIG_XVR100'
- novomodules="xvr100 $novomodules"
-fi
-echores "$_xvr100"
echocheck "tga"
if test "$_tga" = yes ; then
@@ -3724,17 +3499,6 @@ fi
echores "$_yuv4mpeg"
-echocheck "bl"
-if test "$_bl" = yes ; then
- def_bl='#define CONFIG_BL 1'
- vomodules="bl $vomodules"
-else
- def_bl='#undef CONFIG_BL'
- novomodules="bl $novomodules"
-fi
-echores "$_bl"
-
-
echocheck "DirectFB"
if test "$_directfb" = auto ; then
_directfb=no
@@ -3753,11 +3517,11 @@ EOF
fi
if test "$_directfb" = yes ; then
def_directfb='#define CONFIG_DIRECTFB 1'
- vomodules="directfb dfbmga $vomodules"
+ vomodules="directfb $vomodules"
libs_mplayer="$libs_mplayer -ldirectfb"
else
def_directfb='#undef CONFIG_DIRECTFB'
- novomodules="directfb dfbmga $novomodules"
+ novomodules="directfb $novomodules"
fi
echores "$_directfb"
@@ -3896,7 +3660,7 @@ if test "$_x11" = auto && test "$_x11_headers" = yes ; then
fi
if test "$_x11" = yes ; then
def_x11='#define CONFIG_X11 1'
- vomodules="x11 xover $vomodules"
+ vomodules="x11 $vomodules"
else
_x11=no
def_x11='#undef CONFIG_X11'
@@ -4031,113 +3795,6 @@ else
fi
echores "$_xf86keysym"
-echocheck "DGA"
-if test "$_dga2" = auto && test "$_x11" = yes ; then
- _dga2=no
- statement_check_broken X11/Xlib.h X11/extensions/Xxf86dga.h 'XDGASetViewport(0, 0, 0, 0, 0)' -lXxf86dga && _dga2=yes
-fi
-if test "$_dga1" = auto && test "$_dga2" = no && test "$_vm" = yes ; then
- _dga1=no
- statement_check_broken X11/Xlib.h X11/extensions/Xxf86dga.h 'XF86DGASetViewPort(0, 0, 0, 0)' -lXxf86dga -lXxf86vm && _dga1=yes
-fi
-
-_dga=no
-def_dga='#undef CONFIG_DGA'
-def_dga1='#undef CONFIG_DGA1'
-def_dga2='#undef CONFIG_DGA2'
-if test "$_dga1" = yes ; then
- _dga=yes
- def_dga1='#define CONFIG_DGA1 1'
- res_comment="using DGA 1.0"
-elif test "$_dga2" = yes ; then
- _dga=yes
- def_dga2='#define CONFIG_DGA2 1'
- res_comment="using DGA 2.0"
-fi
-if test "$_dga" = yes ; then
- def_dga='#define CONFIG_DGA 1'
- libs_mplayer="$libs_mplayer -lXxf86dga"
- vomodules="dga $vomodules"
-else
- novomodules="dga $novomodules"
-fi
-echores "$_dga"
-
-
-echocheck "3dfx"
-if test "$_3dfx" = yes && test "$_dga" = yes ; then
- def_3dfx='#define CONFIG_3DFX 1'
- vomodules="3dfx $vomodules"
-else
- _3dfx=no
- def_3dfx='#undef CONFIG_3DFX'
- novomodules="3dfx $novomodules"
-fi
-echores "$_3dfx"
-
-
-echocheck "GGI"
-if test "$_ggi" = auto ; then
- _ggi=no
- statement_check ggi/ggi.h 'ggiInit()' -lggi && _ggi=yes
-fi
-if test "$_ggi" = yes ; then
- def_ggi='#define CONFIG_GGI 1'
- libs_mplayer="$libs_mplayer -lggi"
- vomodules="ggi $vomodules"
-else
- def_ggi='#undef CONFIG_GGI'
- novomodules="ggi $novomodules"
-fi
-echores "$_ggi"
-
-echocheck "GGI extension: libggiwmh"
-if test "$_ggiwmh" = auto ; then
- _ggiwmh=no
- statement_check ggi/wmh.h 'ggiWmhInit()' -lggi -lggiwmh && _ggiwmh=yes
-fi
-# needed to get right output on obscure combination
-# like --disable-ggi --enable-ggiwmh
-if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
- def_ggiwmh='#define CONFIG_GGIWMH 1'
- libs_mplayer="$libs_mplayer -lggiwmh"
-else
- _ggiwmh=no
- def_ggiwmh='#undef CONFIG_GGIWMH'
-fi
-echores "$_ggiwmh"
-
-
-echocheck "AA"
-if test "$_aa" = auto ; then
- cat > $TMPC << EOF
-#include <aalib.h>
-int main(void) {
-aa_context *c;
-aa_renderparams *p;
-aa_init(0, 0, 0);
-c = aa_autoinit(&aa_defparams);
-p = aa_getrenderparams();
-aa_autoinitkbd(c, 0);
-return 0; }
-EOF
- _aa=no
- for _ld_tmp in "-laa" ; do
- cc_check $_ld_tmp && libs_mplayer="$libs_mplayer $_ld_tmp" && _aa=yes && break
- done
-fi
-if test "$_aa" = yes ; then
- def_aa='#define CONFIG_AA 1'
- if cygwin ; then
- libs_mplayer="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
- fi
- vomodules="aa $vomodules"
-else
- def_aa='#undef CONFIG_AA'
- novomodules="aa $novomodules"
-fi
-echores "$_aa"
-
echocheck "CACA"
if test "$_caca" = auto ; then
@@ -4165,38 +3822,6 @@ fi
echores "$_caca"
-echocheck "SVGAlib"
-if test "$_svga" = auto ; then
- _svga=no
- header_check vga.h -lvga $_ld_lm && _svga=yes
-fi
-if test "$_svga" = yes ; then
- def_svga='#define CONFIG_SVGALIB 1'
- libs_mplayer="$libs_mplayer -lvga"
- vomodules="svga $vomodules"
-else
- def_svga='#undef CONFIG_SVGALIB'
- novomodules="svga $novomodules"
-fi
-echores "$_svga"
-
-
-echocheck "FBDev"
-if test "$_fbdev" = auto ; then
- _fbdev=no
- linux && _fbdev=yes
-fi
-if test "$_fbdev" = yes ; then
- def_fbdev='#define CONFIG_FBDEV 1'
- vomodules="fbdev $vomodules"
-else
- def_fbdev='#undef CONFIG_FBDEV'
- novomodules="fbdev $novomodules"
-fi
-echores "$_fbdev"
-
-
-
echocheck "DVB"
if test "$_dvb" = auto ; then
_dvb=no
@@ -4221,17 +3846,11 @@ echores "$_dvb"
if test "$_dvb" = yes ; then
_dvbin=yes
inputmodules="dvb $inputmodules"
- def_dvb='#define CONFIG_DVB 1'
def_dvbin='#define CONFIG_DVBIN 1'
- aomodules="mpegpes(dvb) $aomodules"
- vomodules="mpegpes(dvb) $vomodules"
else
_dvbin=no
noinputmodules="dvb $noinputmodules"
- def_dvb='#undef CONFIG_DVB'
def_dvbin='#undef CONFIG_DVBIN '
- aomodules="mpegpes(file) $aomodules"
- vomodules="mpegpes(file) $vomodules"
fi
@@ -4388,21 +4007,6 @@ EOF
esac
-echocheck "VESA support"
-if test "$_vesa" = auto ; then
- _vesa=no
- statement_check vbe.h 'vbeInit()' -lvbe -llrmi && _vesa=yes
-fi
-if test "$_vesa" = yes ; then
- def_vesa='#define CONFIG_VESA 1'
- libs_mplayer="$libs_mplayer -lvbe -llrmi"
- vomodules="vesa $vomodules"
-else
- def_vesa='#undef CONFIG_VESA'
- novomodules="vesa $novomodules"
-fi
-echores "$_vesa"
-
#################
# VIDEO + AUDIO #
#################
@@ -4587,21 +4191,6 @@ echores "$_gl"
if win32; then
-echocheck "Windows waveout"
-if test "$_win32waveout" = auto ; then
- _win32waveout=no
- header_check_broken windows.h mmsystem.h -lwinmm && _win32waveout=yes
-fi
-if test "$_win32waveout" = yes ; then
- def_win32waveout='#define CONFIG_WIN32WAVEOUT 1'
- libs_mplayer="$libs_mplayer -lwinmm"
- aomodules="win32 $aomodules"
-else
- def_win32waveout='#undef CONFIG_WIN32WAVEOUT'
- noaomodules="win32 $noaomodules"
-fi
-echores "$_win32waveout"
-
echocheck "Direct3D"
if test "$_direct3d" = auto ; then
_direct3d=no
@@ -4641,50 +4230,6 @@ echores "$_directx"
fi #if win32; then
-echocheck "DXR3/H+"
-if test "$_dxr3" = auto ; then
- _dxr3=no
- header_check linux/em8300.h && _dxr3=yes
-fi
-if test "$_dxr3" = yes ; then
- def_dxr3='#define CONFIG_DXR3 1'
- vomodules="dxr3 $vomodules"
-else
- def_dxr3='#undef CONFIG_DXR3'
- novomodules="dxr3 $novomodules"
-fi
-echores "$_dxr3"
-
-
-echocheck "IVTV TV-Out (pre linux-2.6.24)"
-if test "$_ivtv" = auto ; then
- cat > $TMPC << EOF
-#include <sys/time.h>
-#include <linux/videodev2.h>
-#include <linux/ivtv.h>
-#include <sys/ioctl.h>
-int main(void) {
-struct ivtv_cfg_stop_decode sd;
-struct ivtv_cfg_start_decode sd1;
-ioctl(0, IVTV_IOC_START_DECODE, &sd1);
-ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
-return 0; }
-EOF
- _ivtv=no
- cc_check && _ivtv=yes
-fi
-if test "$_ivtv" = yes ; then
- def_ivtv='#define CONFIG_IVTV 1'
- vomodules="ivtv $vomodules"
- aomodules="ivtv $aomodules"
-else
- def_ivtv='#undef CONFIG_IVTV'
- novomodules="ivtv $novomodules"
- noaomodules="ivtv $noaomodules"
-fi
-echores "$_ivtv"
-
-
echocheck "V4L2 MPEG Decoder"
if test "$_v4l2" = auto ; then
cat > $TMPC << EOF
@@ -4783,22 +4328,6 @@ else
fi
-echocheck "NAS"
-if test "$_nas" = auto ; then
- _nas=no
- header_check audio/audiolib.h $_ld_lm -laudio -lXt && _nas=yes
-fi
-if test "$_nas" = yes ; then
- def_nas='#define CONFIG_NAS 1'
- libs_mplayer="$libs_mplayer -laudio -lXt"
- aomodules="nas $aomodules"
-else
- noaomodules="nas $noaomodules"
- def_nas='#undef CONFIG_NAS'
-fi
-echores "$_nas"
-
-
echocheck "pulse"
if test "$_pulse" = auto ; then
_pulse=no
@@ -4905,26 +4434,6 @@ fi
echores "$_alsa"
-echocheck "Sun audio"
-if test "$_sunaudio" = auto ; then
- cat > $TMPC << EOF
-#include <sys/types.h>
-#include <sys/audioio.h>
-int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
-EOF
- _sunaudio=no
- cc_check && _sunaudio=yes
-fi
-if test "$_sunaudio" = yes ; then
- def_sunaudio='#define CONFIG_SUN_AUDIO 1'
- aomodules="sun $aomodules"
-else
- def_sunaudio='#undef CONFIG_SUN_AUDIO'
- noaomodules="sun $noaomodules"
-fi
-echores "$_sunaudio"
-
-
if darwin; then
echocheck "CoreAudio"
if test "$_coreaudio" = auto ; then
@@ -4960,18 +4469,13 @@ elif freebsd ; then
default_cdrom_device="/dev/acd0"
elif openbsd ; then
default_cdrom_device="/dev/rcd0c"
-elif sunos ; then
- default_cdrom_device="/vol/dev/aliases/cdrom0"
- # Modern Solaris versions use HAL instead of the vold daemon, the volfs
- # file system and the volfs service.
- test -r "/cdrom/cdrom0" && default_cdrom_device="/cdrom/cdrom0"
elif amigaos ; then
default_cdrom_device="a1ide.device:2"
else
default_cdrom_device="/dev/cdrom"
fi
-if win32 || dragonfly || freebsd || openbsd || sunos || amigaos ; then
+if win32 || dragonfly || freebsd || openbsd || amigaos ; then
default_dvd_device=$default_cdrom_device
elif darwin ; then
default_dvd_device="/dev/rdiskN"
@@ -4983,7 +4487,7 @@ fi
echocheck "VCD support"
if test "$_vcd" = auto; then
_vcd=no
- if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos; then
+ if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin ; then
_vcd=yes
elif mingw32; then
header_check ddk/ntddcdrm.h && _vcd=yes
@@ -5022,7 +4526,7 @@ fi
if test "$_dvdread_internal" = auto ; then
_dvdread_internal=no
_dvdread=no
- if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux) &&
+ if (linux || freebsd || netbsd || openbsd || dragonfly || hpux) &&
(test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes ||
test "$_dvdio" = yes || test "$_bsdi_dvd" = yes) ||
darwin || win32; then
@@ -5118,56 +4622,6 @@ else
noinputmodules="cddb $noinputmodules"
fi
-echocheck "bitmap font support"
-if test "$_bitmap_font" = yes ; then
- def_bitmap_font="#define CONFIG_BITMAP_FONT 1"
-else
- def_bitmap_font="#undef CONFIG_BITMAP_FONT"
-fi
-echores "$_bitmap_font"
-
-
-echocheck "freetype >= 2.0.9"
-
-# freetype depends on iconv
-if test "$_iconv" = no ; then
- _freetype=no
- res_comment="iconv support needed"
-fi
-
-if test "$_freetype" = auto ; then
- if pkg_config_add freetype2 ; then
- _freetype=yes
- else
- die "Unable to find development files for libfreetype. Aborting. If you really mean to compile without FreeType support use --disable-freetype."
- fi
-fi
-if test "$_freetype" = yes ; then
- def_freetype='#define CONFIG_FREETYPE 1'
-else
- def_freetype='#undef CONFIG_FREETYPE'
-fi
-echores "$_freetype"
-
-if test "$_freetype" = no ; then
- _fontconfig=no
- res_comment="FreeType support needed"
-fi
-echocheck "fontconfig"
-if test "$_fontconfig" = auto ; then
- if pkg_config_add 'fontconfig >= 2.4.2' ; then
- _fontconfig=yes
- else
- die "Unable to find development files for libfontconfig. Aborting. If you really mean to compile without fontconfig support use --disable-fontconfig."
- fi
-fi
-if test "$_fontconfig" = yes ; then
- def_fontconfig='#define CONFIG_FONTCONFIG 1'
-else
- def_fontconfig='#undef CONFIG_FONTCONFIG'
-fi
-echores "$_fontconfig"
-
echocheck "SSA/ASS support"
if test "$_ass" = auto ; then
@@ -5183,21 +4637,6 @@ fi
echores "$_ass"
-echocheck "fribidi with charsets"
-if test "$_fribidi" = auto ; then
- _fribidi=no
- if pkg_config_add fribidi ; then
- _fribidi=yes
- fi
-fi
-if test "$_fribidi" = yes ; then
- def_fribidi='#define CONFIG_FRIBIDI 1'
-else
- def_fribidi='#undef CONFIG_FRIBIDI'
-fi
-echores "$_fribidi"
-
-
echocheck "ENCA"
if test "$_enca" = auto ; then
_enca=no
@@ -5553,75 +4992,19 @@ else
fi
echores "$_qtx"
-echocheck "Nemesi Streaming Media libraries"
-if test "$_nemesi" = auto && test "$networking" = yes ; then
- _nemesi=no
- if pkg_config_add libnemesi ; then
- _nemesi=yes
+echocheck "LCMS2 support"
+if test "$_lcms2" = auto ; then
+ _lcms2=no
+ if pkg_config_add lcms2 ; then
+ _lcms2=yes
fi
fi
-if test "$_nemesi" = yes; then
- _native_rtsp=no
- def_nemesi='#define CONFIG_LIBNEMESI 1'
- inputmodules="nemesi $inputmodules"
-else
- _native_rtsp="$networking"
- _nemesi=no
- def_nemesi='#undef CONFIG_LIBNEMESI'
- noinputmodules="nemesi $noinputmodules"
-fi
-echores "$_nemesi"
-
-echocheck "LIVE555 Streaming Media libraries"
-if test "$_live" != no && test "$networking" = yes ; then
- cat > $TMPCPP << EOF
-#include <liveMedia.hh>
-#if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
-#error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
-#endif
-int main(void) { return 0; }
-EOF
-
- _live=no
- for I in $extra_cflags "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/lib64/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
- cxx_check $I/liveMedia/include $I/UsageEnvironment/include $I/groupsock/include &&
- _livelibdir=$(echo $I| sed s/-I//) &&
- extra_ldflags="$_livelibdir/liveMedia/libliveMedia.a \
- $_livelibdir/groupsock/libgroupsock.a \
- $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
- $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
- $extra_ldflags -lstdc++" \
- extra_cxxflags="-I$_livelibdir/liveMedia/include \
- -I$_livelibdir/UsageEnvironment/include \
- -I$_livelibdir/BasicUsageEnvironment/include \
- -I$_livelibdir/groupsock/include" &&
- _live=yes && break
- done
- if test "$_live" != yes ; then
- ld_tmp="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
- if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock $ld_tmp; then
- _live_dist=yes
- fi
- fi
-fi
-if test "$_live" = yes && test "$networking" = yes; then
- test $_livelibdir && res_comment="using $_livelibdir"
- def_live='#define CONFIG_LIVE555 1'
- inputmodules="live555 $inputmodules"
-elif test "$_live_dist" = yes && test "$networking" = yes; then
- res_comment="using distribution version"
- _live="yes"
- def_live='#define CONFIG_LIVE555 1'
- extra_ldflags="$extra_ldflags $ld_tmp"
- extra_cxxflags="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
- inputmodules="live555 $inputmodules"
+if test "$_lcms2" = yes; then
+ def_lcms2="#define CONFIG_LCMS2 1"
else
- _live=no
- def_live='#undef CONFIG_LIVE555'
- noinputmodules="live555 $noinputmodules"
+ def_lcms2="#undef CONFIG_LCMS2"
fi
-echores "$_live"
-
+echores "$_lcms2"
# Test with > against Libav 0.8 versions which will NOT work rather than
@@ -5655,6 +5038,19 @@ else
fi
echores "$libpostproc"
+echocheck "libavresample >= 1.0.0"
+if test "$libavresample" = auto ; then
+ libavresample=no
+ if pkg_config_add "libavresample >= 1.0.0" ; then
+ libavresample=yes
+ fi
+fi
+if test "$libavresample" = yes ; then
+ def_libavresample='#define CONFIG_LIBAVRESAMPLE 1'
+else
+ def_libavresample='#undef CONFIG_LIBAVRESAMPLE'
+fi
+echores "$libavresample"
echocheck "libdv-0.9.5+"
if test "$_libdv" = auto ; then
@@ -5705,36 +5101,6 @@ else
fi
echores "$_libnut"
-# These VO checks must be done after the FFmpeg one
-echocheck "/dev/mga_vid"
-if test "$_mga" = auto ; then
- _mga=no
- test -c /dev/mga_vid && _mga=yes
-fi
-if test "$_mga" = yes ; then
- def_mga='#define CONFIG_MGA 1'
- vomodules="mga $vomodules"
-else
- def_mga='#undef CONFIG_MGA'
- novomodules="mga $novomodules"
-fi
-echores "$_mga"
-
-
-echocheck "xmga"
-if test "$_xmga" = auto ; then
- _xmga=no
- test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
-fi
-if test "$_xmga" = yes ; then
- def_xmga='#define CONFIG_XMGA 1'
- vomodules="xmga $vomodules"
-else
- def_xmga='#undef CONFIG_XMGA'
- novomodules="xmga $novomodules"
-fi
-echores "$_xmga"
-
echocheck "UnRAR executable"
if test "$_unrar_exec" = auto ; then
@@ -6097,7 +5463,7 @@ fi
# (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
_ld_dl_dynamic=''
freebsd || netbsd || openbsd || dragonfly || bsdos && _ld_dl_dynamic='-rdynamic'
-if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin && ! sunos; then
+if test "$_real" = yes || test "$_xanim" = yes && ! win32 && ! qnx && ! darwin ; then
_ld_dl_dynamic='-rdynamic'
fi
@@ -6152,8 +5518,6 @@ echores "$_lircc"
CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
-CXXFLAGS=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS"
-
# This must be the last test to be performed. Any other tests following it
# could fail due to linker errors. libdvdnavmini is intentionally not linked
# against libdvdread (to permit MPlayer to use its own copy of the library).
@@ -6238,14 +5602,11 @@ LOCALEDIR = \$(DESTDIR)$_localedir
AR = $_ar
AS = $_cc
CC = $_cc
-CXX = $_cc
-HOST_CC = $_host_cc
INSTALL = $_install
INSTALLSTRIP = $_install_strip
WINDRES = $_windres
CFLAGS = $WARNFLAGS $ERRORFLAGS $WARN_CFLAGS $CFLAGS $extra_cflags
-CXXFLAGS = $WARNFLAGS $ERRORFLAGS $CXXFLAGS $extra_cflags $extra_cxxflags
DEPFLAGS = $DEPFLAGS
CFLAGS_LIBDVDCSS = $cflags_libdvdcss
@@ -6268,8 +5629,6 @@ $(mak_enable "$arch_all" "$arch" ARCH)
$(mak_enable "$subarch_all" "$subarch" ARCH)
$(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
-MPLAYER = $_mplayer
-
NEED_GETTIMEOFDAY = $need_gettimeofday
NEED_GLOB = $need_glob
NEED_SETENV = $need_setenv
@@ -6279,14 +5638,10 @@ NEED_SWAB = $need_swab
NEED_VSSCANF = $need_vsscanf
# features
-3DFX = $_3dfx
-AA = $_aa
ALSA = $_alsa
APPLE_IR = $_apple_ir
APPLE_REMOTE = $_apple_remote
AUDIO_INPUT = $_audio_input
-BITMAP_FONT = $_bitmap_font
-BL = $_bl
CACA = $_caca
CDDA = $_cdda
CDDB = $_cddb
@@ -6294,7 +5649,6 @@ COCOA = $_cocoa
COREAUDIO = $_coreaudio
COREVIDEO = $_corevideo
SHAREDBUFFER = $_sharedbuffer
-DGA = $_dga
DIRECT3D = $_direct3d
DIRECTFB = $_directfb
DIRECTX = $_directx
@@ -6306,11 +5660,8 @@ DVDREAD_INTERNAL = $_dvdread_internal
DXR3 = $_dxr3
FAAD = $_faad
FASTMEMCPY = $_fastmemcpy
-FBDEV = $_fbdev
-FREETYPE = $_freetype
FTP = $_ftp
GIF = $_gif
-GGI = $_ggi
GL = $_gl
GL_COCOA = $_gl_cocoa
GL_WIN32 = $_gl_win32
@@ -6318,7 +5669,6 @@ GL_X11 = $_gl_x11
GL_SDL = $_gl_sdl
HAVE_POSIX_SELECT = $_posix_select
HAVE_SYS_MMAN_H = $_mman
-IVTV = $_ivtv
JACK = $_jack
JOYSTICK = $_joystick
JPEG = $_jpeg
@@ -6331,21 +5681,19 @@ LIBDCA = $_libdca
LIBDV = $_libdv
LIBDVDCSS_INTERNAL = $_libdvdcss_internal
LIBMAD = $_mad
-LIBNEMESI = $_nemesi
+LCMS2 = $_lcms2
LIBNUT = $_libnut
LIBPOSTPROC = $libpostproc
+LIBAVRESAMPLE = $libavresample
LIBSMBCLIENT = $_smb
+LIBQUVI = $_libquvi
LIBTHEORA = $_theora
LIRC = $_lirc
-LIVE555 = $_live
MACOSX_FINDER = $_macosx_finder
MD5SUM = $_md5sum
-MGA = $_mga
MNG = $_mng
MPG123 = $_mpg123
MUSEPACK = $_musepack
-NAS = $_nas
-NATIVE_RTSP = $_native_rtsp
NETWORKING = $networking
OPENAL = $_openal
OSS = $_ossaudio
@@ -6363,14 +5711,9 @@ RADIO=$_radio
RADIO_CAPTURE=$_radio_capture
REAL_CODECS = $_real
RSOUND = $_rsound
-S3FB = $_s3fb
SDL = $_sdl
SPEEX = $_speex
STREAM_CACHE = $_stream_cache
-SUNAUDIO = $_sunaudio
-SVGA = $_svga
-TDFXFB = $_tdfxfb
-TDFXVID = $_tdfxvid
TGA = $_tga
TV = $_tv
TV_BSDBT848 = $_tv_bsdbt848
@@ -6382,20 +5725,15 @@ UNRAR_EXEC = $_unrar_exec
V4L2 = $_v4l2
VCD = $_vcd
VDPAU = $_vdpau
-VESA = $_vesa
VORBIS = $_vorbis
VSTREAM = $_vstream
-WII = $_wii
WIN32DLL = $_win32dll
-WIN32WAVEOUT = $_win32waveout
WIN32_EMULATION = $_win32_emulation
X11 = $_x11
XANIM_CODECS = $_xanim
-XMGA = $_xmga
XMMS_PLUGINS = $_xmms
XV = $_xv
XVID4 = $_xvid
-XVR100 = $_xvr100
YUV4MPEG = $_yuv4mpeg
# FFmpeg
@@ -6444,22 +5782,6 @@ cat > $TMPH << EOF
#ifndef MPLAYER_CONFIG_H
#define MPLAYER_CONFIG_H
-/* Undefine this if you do not want to select mono audio (left or right)
- with a stereo MPEG layer 2/3 audio stream. The command line option
- -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
- right-only), with 0 being the default.
- */
-#define CONFIG_FAKE_MONO 1
-
-/* set up audio OUTBURST. Do not change this! */
-#define OUTBURST 512
-
-/* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
-#undef FAST_OSD
-#undef FAST_OSD_TABLE
-
-
-
#define CONFIGURATION "$configuration"
#define MPLAYER_DATADIR "$_datadir"
@@ -6602,6 +5924,7 @@ $def_xvid
$def_zlib
$def_libpostproc
+$def_libavresample
$def_libnut
@@ -6630,8 +5953,6 @@ $def_ossaudio_devmixer
$def_pulse
$def_portaudio
$def_rsound
-$def_sunaudio
-$def_win32waveout
$def_ladspa
$def_libbs2b
@@ -6661,12 +5982,7 @@ $def_tv_v4l2
/* font stuff */
$def_ass
-$def_bitmap_font
$def_enca
-$def_fontconfig
-$def_freetype
-$def_fribidi
-
/* networking */
$def_closesocket
@@ -6674,34 +5990,24 @@ $def_ftp
$def_inet6
$def_inet_aton
$def_inet_pton
-$def_live
-$def_nemesi
$def_networking
$def_smb
+$def_libquvi
$def_socklen_t
$def_vstream
+$def_lcms2
+
/* libvo options */
-$def_3dfx
-$def_aa
-$def_bl
$def_caca
$def_corevideo
$def_cocoa
$def_sharedbuffer
-$def_dga
-$def_dga1
-$def_dga2
$def_direct3d
$def_directfb
$def_directx
-$def_dvb
$def_dvbin
-$def_dxr3
-$def_fbdev
-$def_ggi
-$def_ggiwmh
$def_gif
$def_gif_4
$def_gif_tvt_hack
@@ -6710,33 +6016,23 @@ $def_gl_cocoa
$def_gl_win32
$def_gl_x11
$def_gl_sdl
-$def_ivtv
$def_jpeg
$def_md5sum
-$def_mga
$def_mng
$def_png
$def_pnm
-$def_s3fb
$def_sdl
$def_sdl_sdl_h
-$def_svga
-$def_tdfxfb
-$def_tdfxvid
$def_tga
$def_v4l2
$def_vdpau
-$def_vesa
$def_vm
-$def_wii
$def_x11
$def_xdpms
$def_xf86keysym
$def_xinerama
-$def_xmga
$def_xss
$def_xv
-$def_xvr100
$def_yuv4mpeg
diff --git a/defaultopts.c b/defaultopts.c
index da55711..b4415de 100644
--- a/defaultopts.c
+++ b/defaultopts.c
@@ -22,7 +22,6 @@ void set_default_mplayer_options(struct MPOpts *opts)
.vo_gamma_hue = 1000,
.osd_level = 1,
.osd_duration = 1000,
- .stream_dump_name = "stream.dump",
.loop_times = -1,
.ordered_chapters = 1,
.chapter_merge_threshold = 100,
@@ -33,12 +32,12 @@ void set_default_mplayer_options(struct MPOpts *opts)
.user_correct_pts = -1,
.initial_audio_sync = 1,
.term_osd = 1,
- .term_osd_esc = "\x1b[A\r\x1b[K",
.consolecontrols = 1,
.doubleclick_time = 300,
.audio_id = -1,
.video_id = -1,
.sub_id = -1,
+ .sub_visibility = 1,
.extension_parsing = 1,
.audio_output_channels = 2,
.audio_output_format = -1, // AF_FORMAT_UNKNOWN
@@ -60,7 +59,6 @@ void set_default_mplayer_options(struct MPOpts *opts)
.error_concealment = 3,
},
.input = {
- .config_file = "input.conf",
.key_fifo_size = 7,
.ar_delay = 100,
.ar_rate = 8,
diff --git a/drivers/3dfx.h b/drivers/3dfx.h
deleted file mode 100644
index 159327d..0000000
--- a/drivers/3dfx.h
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * Copyright (C) Colin Cross Apr 2000
- * changed by zsteva Aug/Sep 2001, see vo_3dfx.c
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_3DFX_H
-#define MPLAYER_3DFX_H
-
-#define VOODOO_IO_REG_OFFSET ((unsigned long int)0x0000000)
-#define VOODOO_YUV_REG_OFFSET ((unsigned long int)0x0080100)
-#define VOODOO_AGP_REG_OFFSET ((unsigned long int)0x0080000)
-#define VOODOO_2D_REG_OFFSET ((unsigned long int)0x0100000)
-#define VOODOO_YUV_PLANE_OFFSET ((unsigned long int)0x0C00000)
-
-#define VOODOO_BLT_FORMAT_YUYV (8<<16)
-#define VOODOO_BLT_FORMAT_UYVY (9<<16)
-#define VOODOO_BLT_FORMAT_16 (3<<16)
-#define VOODOO_BLT_FORMAT_24 (4<<16)
-#define VOODOO_BLT_FORMAT_32 (5<<16)
-
-#define VOODOO_YUV_STRIDE (1024>>2)
-
-struct voodoo_yuv_fb_t {
- uint32_t Y[0x0040000];
- uint32_t U[0x0040000];
- uint32_t V[0x0040000];
-};
-
-struct voodoo_yuv_reg_t {
- uint32_t yuvBaseAddr;
- uint32_t yuvStride;
-};
-
-struct voodoo_2d_reg_t {
- uint32_t status;
- uint32_t intCtrl;
- uint32_t clip0Min;
- uint32_t clip0Max;
- uint32_t dstBaseAddr;
- uint32_t dstFormat;
- uint32_t srcColorkeyMin;
- uint32_t srcColorkeyMax;
- uint32_t dstColorkeyMin;
- uint32_t dstColorkeyMax;
- signed long bresError0;
- signed long bresError1;
- uint32_t rop;
- uint32_t srcBaseAddr;
- uint32_t commandExtra;
- uint32_t lineStipple;
- uint32_t lineStyle;
- uint32_t pattern0Alias;
- uint32_t pattern1Alias;
- uint32_t clip1Min;
- uint32_t clip1Max;
- uint32_t srcFormat;
- uint32_t srcSize;
- uint32_t srcXY;
- uint32_t colorBack;
- uint32_t colorFore;
- uint32_t dstSize;
- uint32_t dstXY;
- uint32_t command;
- uint32_t RESERVED1;
- uint32_t RESERVED2;
- uint32_t RESERVED3;
- uint8_t launchArea[128];
-};
-
-
-struct voodoo_io_reg_t {
- uint32_t status;
- uint32_t pciInit0;
- uint32_t sipMonitor;
- uint32_t lfbMemoryConfig;
- uint32_t miscInit0;
- uint32_t miscInit1;
- uint32_t dramInit0;
- uint32_t dramInit1;
- uint32_t agpInit;
- uint32_t tmuGbeInit;
- uint32_t vgaInit0;
- uint32_t vgaInit1;
- uint32_t dramCommand;
- uint32_t dramData;
- uint32_t RESERVED1;
- uint32_t RESERVED2;
-
- uint32_t pllCtrl0;
- uint32_t pllCtrl1;
- uint32_t pllCtrl2;
- uint32_t dacMode;
- uint32_t dacAddr;
- uint32_t dacData;
-
- uint32_t rgbMaxDelta;
- uint32_t vidProcCfg;
- uint32_t hwCurPatAddr;
- uint32_t hwCurLoc;
- uint32_t hwCurC0;
- uint32_t hwCurC1;
- uint32_t vidInFormat;
- uint32_t vidInStatus;
- uint32_t vidSerialParallelPort;
- uint32_t vidInXDecimDeltas;
- uint32_t vidInDecimInitErrs;
- uint32_t vidInYDecimDeltas;
- uint32_t vidPixelBufThold;
- uint32_t vidChromaMin;
- uint32_t vidChromaMax;
- uint32_t vidCurrentLine;
- uint32_t vidScreenSize;
- uint32_t vidOverlayStartCoords;
- uint32_t vidOverlayEndScreenCoord;
- uint32_t vidOverlayDudx;
- uint32_t vidOverlayDudxOffsetSrcWidth;
- uint32_t vidOverlayDvdy;
-
- uint32_t vga_registers_not_mem_mapped[12];
- uint32_t vidOverlayDvdyOffset;
- uint32_t vidDesktopStartAddr;
- uint32_t vidDesktopOverlayStride;
- uint32_t vidInAddr0;
- uint32_t vidInAddr1;
- uint32_t vidInAddr2;
- uint32_t vidInStride;
- uint32_t vidCurrOverlayStartAddr;
-};
-
-
-struct pioData_t {
- short port;
- short size;
- int device;
- void *value;
-};
-
-typedef struct pioData_t pioData;
-typedef struct voodoo_2d_reg_t voodoo_2d_reg;
-typedef struct voodoo_io_reg_t voodoo_io_reg;
-typedef struct voodoo_yuv_reg_t voodoo_yuv_reg;
-typedef struct voodoo_yuv_fb_t voodoo_yuv_fb;
-
-
-/* from linux/driver/video/tdfxfb.c, definition for 3dfx registers.
- *
- * author: Hannu Mallat <hmallat at cc.hut.fi>
- */
-
-#ifndef PCI_DEVICE_ID_3DFX_VOODOO5
-#define PCI_DEVICE_ID_3DFX_VOODOO5 0x0009
-#endif
-
-/* membase0 register offsets */
-#define STATUS 0x00
-#define PCIINIT0 0x04
-#define SIPMONITOR 0x08
-#define LFBMEMORYCONFIG 0x0c
-#define MISCINIT0 0x10
-#define MISCINIT1 0x14
-#define DRAMINIT0 0x18
-#define DRAMINIT1 0x1c
-#define AGPINIT 0x20
-#define TMUGBEINIT 0x24
-#define VGAINIT0 0x28
-#define VGAINIT1 0x2c
-#define DRAMCOMMAND 0x30
-#define DRAMDATA 0x34
-/* reserved 0x38 */
-/* reserved 0x3c */
-#define PLLCTRL0 0x40
-#define PLLCTRL1 0x44
-#define PLLCTRL2 0x48
-#define DACMODE 0x4c
-#define DACADDR 0x50
-#define DACDATA 0x54
-#define RGBMAXDELTA 0x58
-#define VIDPROCCFG 0x5c
-#define HWCURPATADDR 0x60
-#define HWCURLOC 0x64
-#define HWCURC0 0x68
-#define HWCURC1 0x6c
-#define VIDINFORMAT 0x70
-#define VIDINSTATUS 0x74
-#define VIDSERPARPORT 0x78
-#define VIDINXDELTA 0x7c
-#define VIDININITERR 0x80
-#define VIDINYDELTA 0x84
-#define VIDPIXBUFTHOLD 0x88
-#define VIDCHRMIN 0x8c
-#define VIDCHRMAX 0x90
-#define VIDCURLIN 0x94
-#define VIDSCREENSIZE 0x98
-#define VIDOVRSTARTCRD 0x9c
-#define VIDOVRENDCRD 0xa0
-#define VIDOVRDUDX 0xa4
-#define VIDOVRDUDXOFF 0xa8
-#define VIDOVRDVDY 0xac
-/* ... */
-#define VIDOVRDVDYOFF 0xe0
-#define VIDDESKSTART 0xe4
-#define VIDDESKSTRIDE 0xe8
-#define VIDINADDR0 0xec
-#define VIDINADDR1 0xf0
-#define VIDINADDR2 0xf4
-#define VIDINSTRIDE 0xf8
-#define VIDCUROVRSTART 0xfc
-
-#define INTCTRL (0x00100000 + 0x04)
-#define CLIP0MIN (0x00100000 + 0x08)
-#define CLIP0MAX (0x00100000 + 0x0c)
-#define DSTBASE (0x00100000 + 0x10)
-#define DSTFORMAT (0x00100000 + 0x14)
-#define SRCCOLORKEYMIN (0x00100000 + 0x18)
-#define SRCCOLORKEYMAX (0x00100000 + 0x1c)
-#define DSTCOLORKEYMIN (0x00100000 + 0x20)
-#define DSTCOLORKEYMAX (0x00100000 + 0x24)
-#define ROP123 (0x00100000 + 0x30)
-#define SRCBASE (0x00100000 + 0x34)
-#define COMMANDEXTRA_2D (0x00100000 + 0x38)
-#define CLIP1MIN (0x00100000 + 0x4c)
-#define CLIP1MAX (0x00100000 + 0x50)
-#define SRCFORMAT (0x00100000 + 0x54)
-#define SRCSIZE (0x00100000 + 0x58)
-#define SRCXY (0x00100000 + 0x5c)
-#define COLORBACK (0x00100000 + 0x60)
-#define COLORFORE (0x00100000 + 0x64)
-#define DSTSIZE (0x00100000 + 0x68)
-#define DSTXY (0x00100000 + 0x6c)
-#define COMMAND_2D (0x00100000 + 0x70)
-#define LAUNCH_2D (0x00100000 + 0x80)
-
-#define COMMAND_3D (0x00200000 + 0x120)
-
-#define SWAPBUFCMD (0x00200000 + 0x128)
-#define SWAPPENDING (0x00200000 + 0x24C)
-#define LEFTOVBUF (0x00200000 + 0x250)
-#define RIGHTOVBUF (0x00200000 + 0x254)
-#define FBISWAPBUFHIST (0x00200000 + 0x258)
-
-/* register bitfields (not all, only as needed) */
-
-#define BIT(x) (1UL << (x))
-
-/* COMMAND_2D reg. values */
-#define TDFXFB_ROP_COPY 0xcc // src
-#define TDFXFB_ROP_INVERT 0x55 // NOT dst
-#define TDFXFB_ROP_XOR 0x66 // src XOR dst
-#define TDFXFB_ROP_OR 0xee // src | dst
-
-#define AUTOINC_DSTX BIT(10)
-#define AUTOINC_DSTY BIT(11)
-
-
-#define COMMAND_2D_S2S_BITBLT 0x01 // screen to screen
-#define COMMAND_2D_S2S_STRECH_BLT 0x02 // BLT + Strech
-#define COMMAND_2D_H2S_BITBLT 0x03 // host to screen
-#define COMMAND_2D_FILLRECT 0x05
-
-#define COMMAND_2D_DO_IMMED BIT(8) // Do it immediatly
-
-
-
-#define COMMAND_3D_NOP 0x00
-#define STATUS_RETRACE BIT(6)
-#define STATUS_BUSY BIT(9)
-#define MISCINIT1_CLUT_INV BIT(0)
-#define MISCINIT1_2DBLOCK_DIS BIT(15)
-#define DRAMINIT0_SGRAM_NUM BIT(26)
-#define DRAMINIT0_SGRAM_TYPE BIT(27)
-#define DRAMINIT1_MEM_SDRAM BIT(30)
-#define VGAINIT0_VGA_DISABLE BIT(0)
-#define VGAINIT0_EXT_TIMING BIT(1)
-#define VGAINIT0_8BIT_DAC BIT(2)
-#define VGAINIT0_EXT_ENABLE BIT(6)
-#define VGAINIT0_WAKEUP_3C3 BIT(8)
-#define VGAINIT0_LEGACY_DISABLE BIT(9)
-#define VGAINIT0_ALT_READBACK BIT(10)
-#define VGAINIT0_FAST_BLINK BIT(11)
-#define VGAINIT0_EXTSHIFTOUT BIT(12)
-#define VGAINIT0_DECODE_3C6 BIT(13)
-#define VGAINIT0_SGRAM_HBLANK_DISABLE BIT(22)
-#define VGAINIT1_MASK 0x1fffff
-#define VIDCFG_VIDPROC_ENABLE BIT(0)
-#define VIDCFG_CURS_X11 BIT(1)
-#define VIDCFG_HALF_MODE BIT(4)
-#define VIDCFG_DESK_ENABLE BIT(7)
-#define VIDCFG_CLUT_BYPASS BIT(10)
-#define VIDCFG_2X BIT(26)
-#define VIDCFG_HWCURSOR_ENABLE BIT(27)
-#define VIDCFG_PIXFMT_SHIFT 18
-#define DACMODE_2X BIT(0)
-
-/* AGP registers */
-#define AGPREQSIZE (0x0080000 + 0x00)
-#define AGPHOSTADDRESSLOW (0x0080000 + 0x04)
-#define AGPHOSTADDRESSHIGH (0x0080000 + 0x08)
-#define AGPGRAPHICSADDRESS (0x0080000 + 0x0C)
-#define AGPGRAPHICSSTRIDE (0x0080000 + 0x10)
-#define AGPMOVECMD (0x0080000 + 0x14)
-
-/* FIFO registers */
-#define CMDBASEADDR0 (0x0080000 + 0x20)
-#define CMDBASESIZE0 (0x0080000 + 0x24)
-#define CMDBUMP0 (0x0080000 + 0x28)
-#define CMDRDPTRL0 (0x0080000 + 0x2C)
-#define CMDRDPTRH0 (0x0080000 + 0x30)
-#define CMDAMIN0 (0x0080000 + 0x34)
-#define CMDAMAX0 (0x0080000 + 0x38)
-#define CMDFIFODEPTH0 (0x0080000 + 0x44)
-#define CMDHOLECNT0 (0x0080000 + 0x48)
-
-
-/* YUV reisters */
-#define YUVBASEADDRESS (0x0080000 + 0x100)
-#define YUVSTRIDE (0x0080000 + 0x104)
-
-/* VGA rubbish, need to change this for multihead support */
-#define MISC_W 0x3c2
-#define MISC_R 0x3cc
-#define SEQ_I 0x3c4
-#define SEQ_D 0x3c5
-#define CRT_I 0x3d4
-#define CRT_D 0x3d5
-#define ATT_IW 0x3c0
-#define RAMDAC_R 0x3c7
-#define RAMDAC_W 0x3c8
-#define RAMDAC_D 0x3c9
-#define IS1_R 0x3da
-#define GRA_I 0x3ce
-#define GRA_D 0x3cf
-
-#ifndef FB_ACCEL_3DFX_BANSHEE
-#define FB_ACCEL_3DFX_BANSHEE 31
-#endif
-
-#define TDFXF_HSYNC_ACT_HIGH 0x01
-#define TDFXF_HSYNC_ACT_LOW 0x02
-#define TDFXF_VSYNC_ACT_HIGH 0x04
-#define TDFXF_VSYNC_ACT_LOW 0x08
-#define TDFXF_LINE_DOUBLE 0x10
-#define TDFXF_VIDEO_ENABLE 0x20
-
-#define TDFXF_HSYNC_MASK 0x03
-#define TDFXF_VSYNC_MASK 0x0c
-
-#define XYREG(x,y) (((((unsigned long)y) & 0x1FFF) << 16) | (((unsigned long)x) & 0x1FFF))
-
-//#define TDFXFB_DEBUG
-#ifdef TDFXFB_DEBUG
-#define DPRINTK(a,b...) printk(KERN_DEBUG "fb: %s: " a, __FUNCTION__ , ## b)
-#else
-#define DPRINTK(a,b...)
-#endif
-
-/* ------------------------------------------------------------------------- */
-
-#endif /* MPLAYER_3DFX_H */
diff --git a/drivers/README.Ati b/drivers/README.Ati
deleted file mode 100644
index 077b6ff..0000000
--- a/drivers/README.Ati
+++ /dev/null
@@ -1,121 +0,0 @@
- framebuffer driver for ATI Radeon chipset video boards
- ======================================================
-
-These files are replacement for linux-2.4.x-ac.y drivers.
-To use this driver you should have at least linux-2.4.5-ac.1
-then simply replace linux/drivers/video/radeon* with files
-from this directory.
-Note: since linux-2.4.10 this driver was moved from -ac to
-Linus distribution.
-
-Alternative way:
-~~~~~~~~~~~~~~~~
-Simply type two commands in this directory:
-make
-make install
-
-Anyway you should have 'framebuffer support' compiled into linux-kernel
-and at least '8bpp packed pixel support' compiled and installed as module.
-(But if you plan to use this module with MPlayer you also should have
-16bpp, 24bpp and 32bpp pixel support compiled as modules).
-
-
- Radeon video overlay
- ====================
-
-It was designed for MPlayer and currently can be used only by MPlayer.
-It's RGB-YUV BES for Radeon cards (althrough there is experimental
-support for Rage128 / Rage128pro chips).
-
-rage128_vid is contained within radeon_vid.c. As for a Rage128 framebuffer -
-use the one from your Linux distribution.
-
-Installation:
-~~~~~~~~~~~~~
-
-Simply type two commands in this directory:
-make
-make install
-
-Using with MPlayer:
-~~~~~~~~~~~~~~~~~~~
-
-Currently there is only one way to use ATI's drivers:
-mplayer -vo vesa:lvo:/dev/radeon_vid -<your vesa's options> filename
-or
-mplayer -vo vesa:lvo:/dev/rage128_vid -<your vesa's options> filename
-
-For YV12 formats you can use also:
-mplayer -vo mga:/dev/radeon_vid -<your mga's option> filename
-
-but in this case you should load at least radeonfb driver from
-this package.
-
-Configuring:
-~~~~~~~~~~~~
-
-You can tune some parameters with the following trick:
-echo "parameter=value" > /dev/radeon_vid
-Example (disables adaptive deinterlacing):
-echo "deinterlace=off" > /dev/radeon_vid
-
-To know more about these parameters - try reading the /dev/radeon_vid file ;)
-For example:
-cat /dev/radeon_vid
-
-List of parameters:
-~~~~~~~~~~~~~~~~~~~
-If you have Rage128 chip:
-brightness=decval (-64:+63) changes brightness
-saturation=decval (0:+31) changes saturation 0 == grayscale mode
-else - if you have Radeon:
-brightness=decval (-1000:+1000) -1000 == black screen
-saturation=decval (-1000:+1000) -1000 == grayscaled mode
-contrast=decval (-1000:+1000) -1000 == black screen
-hue=decval (-1000:+1000) -1000 == +1000 (full circle)
- all other values are within this range
-Note: 0 is the default value for every parameter on Radeons.
-WARNING: This driver violates the rule: "no float in the kernel".
-So if you have problems then don't use color correction.
-
-double_buff=on/off enables/disables double buffering
-deinterlace=on/off enables/disables adaptive deinterlacing
-deinterlace_pattern=hexval defines deinterlacing pattern
-
-Driver parameters:
-~~~~~~~~~~~~~~~~~~
-
-You can use some additional parameters during module loading:
-Example:
-modprobe radeon_vid swap_fourcc=1
-
-List of driver parameters:
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-mtrr=1/0 Configures MTRR (if available), default = 1.
-swap_fourcc=1/0 Performs byte swapping of passed fourcc.
- (It's required for compatibility with -vo mga.)
-
-To know more about driver parameters execute:
-modinfo radeon_vid
-or
-modinfo rage128_vid
-
-Note:
-~~~~~
-For command line of MPlayer:
-You can pass only options with can be recognized by vo_vesa driver.
-(Indeed radeon_vid and rage128_vid are stupid things and can only create
-video overlay. Mode switching and other adjustments are performed by the
-vo_vesa driver. This mean that they use the VESA BIOS as graphics server.)
-
-Conclusion:
-~~~~~~~~~~~
-This stuff (radeon(rage128)_vid) currently doesn't support any standards.
-
-Full example:
-~~~~~~~~~~~~~
-modprobe radeon_vid mtrr=1
-echo "deinterlace_pattern=F0055555" > /dev/radeon_vid
-mplayer -vo vesa:lvo:/dev/radeon_vid -fs -zoom -bpp 32 filename
-
-Enjoy!
diff --git a/drivers/README.Matrox b/drivers/README.Matrox
deleted file mode 100644
index 48a37ed..0000000
--- a/drivers/README.Matrox
+++ /dev/null
@@ -1,46 +0,0 @@
-The code in this directory is the old mga_vid driver for Linux kernels
-prior to 2.6. It does _not_ compile for version 2.6.x.
-
-For Linux kernel 2.6.x please get the newest version of the 2.6 port from
-http://attila.kinali.ch/mga/
-
-
-mga_vid - MGA G200/G400 YUV Overlay kernel module
-
- Author:
- Aaron Holtzman <aholtzma at ess.engr.uvic.ca>, Oct 1999
-
- Contributions by:
- Fredrik Vraalsen <vraalsen at cs.uiuc.edu>
- Alan Cox <alan at lxorguk.ukuu.org.uk>
-
- WARNING ----- WARNING
-
-This code messes with your video card and your X server. It will probably
-lock up your box, format your hard drive, and cause your brand new G400
-MAX to spout 6 inch flames. You have been warned.
-
- WARNING ----- WARNING
-
-What does this code do?
-
- mga_vid is a kernel module that utilitizes the Matrox G200/G400/G550
- video scaler/overlay unit to perform YUV->RGB colorspace conversion
- and arbitrary video scaling.
-
- mga_vid is also a monster hack.
-
-How does mga_vid work?
-
- This kernel module sets up the BES (backend scaler) with appropriate
- values based on parameters supplied via ioctl. It also maps a chunk of
- video memory into userspace via mmap. This memory is stolen from X
- (which may decide to write to it later). The application can then write
- image data directly to the framebuffer (if it knows the right padding,
- etc).
-
-
-How do I know if mga_vid works on my system?
-
- There is a test application called mga_vid_test. This test code should
- draw some nice 256x256 images for you if all is working well.
diff --git a/drivers/generic_math.h b/drivers/generic_math.h
deleted file mode 100644
index 00a0e97..0000000
--- a/drivers/generic_math.h
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * generic implementation of sin(x) and cos(x) functions specially for Linux
- * Copyright (C) 2002 Nick Kurshev
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_GENERIC_MATH_H
-#define MPLAYER_GENERIC_MATH_H
-
-typedef struct gen_sincos
-{
- double x;
- double sinx;
- double cosx;
-}gen_sincos_t;
-
-static gen_sincos_t g_sincos[201] = {
-{ -3.141600e+00, 7.346410e-06, -1.000000e-00 },
-{ -3.110184e+00, -3.140349e-02, -9.995068e-01 },
-{ -3.078768e+00, -6.278333e-02, -9.980272e-01 },
-{ -3.047352e+00, -9.410122e-02, -9.955626e-01 },
-{ -3.015936e+00, -1.253262e-01, -9.921156e-01 },
-{ -2.984520e+00, -1.564276e-01, -9.876894e-01 },
-{ -2.953104e+00, -1.873745e-01, -9.822885e-01 },
-{ -2.921688e+00, -2.181366e-01, -9.759183e-01 },
-{ -2.890272e+00, -2.486833e-01, -9.685848e-01 },
-{ -2.858856e+00, -2.789847e-01, -9.602956e-01 },
-{ -2.827440e+00, -3.090107e-01, -9.510586e-01 },
-{ -2.796024e+00, -3.387318e-01, -9.408830e-01 },
-{ -2.764608e+00, -3.681185e-01, -9.297789e-01 },
-{ -2.733192e+00, -3.971420e-01, -9.177572e-01 },
-{ -2.701776e+00, -4.257736e-01, -9.048297e-01 },
-{ -2.670360e+00, -4.539849e-01, -8.910094e-01 },
-{ -2.638944e+00, -4.817483e-01, -8.763097e-01 },
-{ -2.607528e+00, -5.090362e-01, -8.607451e-01 },
-{ -2.576112e+00, -5.358217e-01, -8.443312e-01 },
-{ -2.544696e+00, -5.620785e-01, -8.270839e-01 },
-{ -2.513280e+00, -5.877805e-01, -8.090204e-01 },
-{ -2.481864e+00, -6.129025e-01, -7.901586e-01 },
-{ -2.450448e+00, -6.374196e-01, -7.705169e-01 },
-{ -2.419032e+00, -6.613076e-01, -7.501148e-01 },
-{ -2.387616e+00, -6.845430e-01, -7.289724e-01 },
-{ -2.356200e+00, -7.071029e-01, -7.071107e-01 },
-{ -2.324784e+00, -7.289649e-01, -6.845511e-01 },
-{ -2.293368e+00, -7.501075e-01, -6.613159e-01 },
-{ -2.261952e+00, -7.705099e-01, -6.374281e-01 },
-{ -2.230536e+00, -7.901518e-01, -6.129112e-01 },
-{ -2.199120e+00, -8.090140e-01, -5.877894e-01 },
-{ -2.167704e+00, -8.270777e-01, -5.620876e-01 },
-{ -2.136288e+00, -8.443252e-01, -5.358310e-01 },
-{ -2.104872e+00, -8.607395e-01, -5.090457e-01 },
-{ -2.073456e+00, -8.763043e-01, -4.817579e-01 },
-{ -2.042040e+00, -8.910044e-01, -4.539948e-01 },
-{ -2.010624e+00, -9.048251e-01, -4.257835e-01 },
-{ -1.979208e+00, -9.177528e-01, -3.971521e-01 },
-{ -1.947792e+00, -9.297748e-01, -3.681288e-01 },
-{ -1.916376e+00, -9.408793e-01, -3.387421e-01 },
-{ -1.884960e+00, -9.510552e-01, -3.090212e-01 },
-{ -1.853544e+00, -9.602925e-01, -2.789953e-01 },
-{ -1.822128e+00, -9.685821e-01, -2.486940e-01 },
-{ -1.790712e+00, -9.759158e-01, -2.181473e-01 },
-{ -1.759296e+00, -9.822865e-01, -1.873854e-01 },
-{ -1.727880e+00, -9.876877e-01, -1.564385e-01 },
-{ -1.696464e+00, -9.921142e-01, -1.253372e-01 },
-{ -1.665048e+00, -9.955616e-01, -9.411219e-02 },
-{ -1.633632e+00, -9.980265e-01, -6.279433e-02 },
-{ -1.602216e+00, -9.995064e-01, -3.141450e-02 },
-{ -1.570800e+00, -1.000000e-00, -3.673205e-06 },
-{ -1.539384e+00, -9.995067e-01, 3.140716e-02 },
-{ -1.507968e+00, -9.980269e-01, 6.278700e-02 },
-{ -1.476552e+00, -9.955623e-01, 9.410488e-02 },
-{ -1.445136e+00, -9.921151e-01, 1.253299e-01 },
-{ -1.413720e+00, -9.876889e-01, 1.564312e-01 },
-{ -1.382304e+00, -9.822879e-01, 1.873781e-01 },
-{ -1.350888e+00, -9.759175e-01, 2.181402e-01 },
-{ -1.319472e+00, -9.685839e-01, 2.486869e-01 },
-{ -1.288056e+00, -9.602945e-01, 2.789882e-01 },
-{ -1.256640e+00, -9.510574e-01, 3.090142e-01 },
-{ -1.225224e+00, -9.408817e-01, 3.387352e-01 },
-{ -1.193808e+00, -9.297775e-01, 3.681220e-01 },
-{ -1.162392e+00, -9.177557e-01, 3.971454e-01 },
-{ -1.130976e+00, -9.048282e-01, 4.257769e-01 },
-{ -1.099560e+00, -8.910077e-01, 4.539882e-01 },
-{ -1.068144e+00, -8.763079e-01, 4.817515e-01 },
-{ -1.036728e+00, -8.607433e-01, 5.090393e-01 },
-{ -1.005312e+00, -8.443292e-01, 5.358248e-01 },
-{ -9.738960e-01, -8.270819e-01, 5.620815e-01 },
-{ -9.424800e-01, -8.090183e-01, 5.877835e-01 },
-{ -9.110640e-01, -7.901563e-01, 6.129054e-01 },
-{ -8.796480e-01, -7.705146e-01, 6.374224e-01 },
-{ -8.482320e-01, -7.501124e-01, 6.613104e-01 },
-{ -8.168160e-01, -7.289699e-01, 6.845457e-01 },
-{ -7.854000e-01, -7.071081e-01, 7.071055e-01 },
-{ -7.539840e-01, -6.845484e-01, 7.289674e-01 },
-{ -7.225680e-01, -6.613131e-01, 7.501100e-01 },
-{ -6.911520e-01, -6.374252e-01, 7.705122e-01 },
-{ -6.597360e-01, -6.129083e-01, 7.901541e-01 },
-{ -6.283200e-01, -5.877864e-01, 8.090161e-01 },
-{ -5.969040e-01, -5.620845e-01, 8.270798e-01 },
-{ -5.654880e-01, -5.358279e-01, 8.443272e-01 },
-{ -5.340720e-01, -5.090425e-01, 8.607414e-01 },
-{ -5.026560e-01, -4.817547e-01, 8.763061e-01 },
-{ -4.712400e-01, -4.539915e-01, 8.910060e-01 },
-{ -4.398240e-01, -4.257802e-01, 9.048266e-01 },
-{ -4.084080e-01, -3.971488e-01, 9.177542e-01 },
-{ -3.769920e-01, -3.681254e-01, 9.297762e-01 },
-{ -3.455760e-01, -3.387387e-01, 9.408805e-01 },
-{ -3.141600e-01, -3.090177e-01, 9.510563e-01 },
-{ -2.827440e-01, -2.789917e-01, 9.602935e-01 },
-{ -2.513280e-01, -2.486905e-01, 9.685830e-01 },
-{ -2.199120e-01, -2.181437e-01, 9.759166e-01 },
-{ -1.884960e-01, -1.873817e-01, 9.822872e-01 },
-{ -1.570800e-01, -1.564348e-01, 9.876883e-01 },
-{ -1.256640e-01, -1.253335e-01, 9.921147e-01 },
-{ -9.424800e-02, -9.410853e-02, 9.955619e-01 },
-{ -6.283200e-02, -6.279067e-02, 9.980267e-01 },
-{ -3.141600e-02, -3.141083e-02, 9.995066e-01 },
-{ 0.000000e+00, 0.000000e+00, 1.000000e+00 },
-{ 3.141600e-02, 3.141083e-02, 9.995066e-01 },
-{ 6.283200e-02, 6.279067e-02, 9.980267e-01 },
-{ 9.424800e-02, 9.410853e-02, 9.955619e-01 },
-{ 1.256640e-01, 1.253335e-01, 9.921147e-01 },
-{ 1.570800e-01, 1.564348e-01, 9.876883e-01 },
-{ 1.884960e-01, 1.873817e-01, 9.822872e-01 },
-{ 2.199120e-01, 2.181437e-01, 9.759166e-01 },
-{ 2.513280e-01, 2.486905e-01, 9.685830e-01 },
-{ 2.827440e-01, 2.789917e-01, 9.602935e-01 },
-{ 3.141600e-01, 3.090177e-01, 9.510563e-01 },
-{ 3.455760e-01, 3.387387e-01, 9.408805e-01 },
-{ 3.769920e-01, 3.681254e-01, 9.297762e-01 },
-{ 4.084080e-01, 3.971488e-01, 9.177542e-01 },
-{ 4.398240e-01, 4.257802e-01, 9.048266e-01 },
-{ 4.712400e-01, 4.539915e-01, 8.910060e-01 },
-{ 5.026560e-01, 4.817547e-01, 8.763061e-01 },
-{ 5.340720e-01, 5.090425e-01, 8.607414e-01 },
-{ 5.654880e-01, 5.358279e-01, 8.443272e-01 },
-{ 5.969040e-01, 5.620845e-01, 8.270798e-01 },
-{ 6.283200e-01, 5.877864e-01, 8.090161e-01 },
-{ 6.597360e-01, 6.129083e-01, 7.901541e-01 },
-{ 6.911520e-01, 6.374252e-01, 7.705122e-01 },
-{ 7.225680e-01, 6.613131e-01, 7.501100e-01 },
-{ 7.539840e-01, 6.845484e-01, 7.289674e-01 },
-{ 7.854000e-01, 7.071081e-01, 7.071055e-01 },
-{ 8.168160e-01, 7.289699e-01, 6.845457e-01 },
-{ 8.482320e-01, 7.501124e-01, 6.613104e-01 },
-{ 8.796480e-01, 7.705146e-01, 6.374224e-01 },
-{ 9.110640e-01, 7.901563e-01, 6.129054e-01 },
-{ 9.424800e-01, 8.090183e-01, 5.877835e-01 },
-{ 9.738960e-01, 8.270819e-01, 5.620815e-01 },
-{ 1.005312e+00, 8.443292e-01, 5.358248e-01 },
-{ 1.036728e+00, 8.607433e-01, 5.090393e-01 },
-{ 1.068144e+00, 8.763079e-01, 4.817515e-01 },
-{ 1.099560e+00, 8.910077e-01, 4.539882e-01 },
-{ 1.130976e+00, 9.048282e-01, 4.257769e-01 },
-{ 1.162392e+00, 9.177557e-01, 3.971454e-01 },
-{ 1.193808e+00, 9.297775e-01, 3.681220e-01 },
-{ 1.225224e+00, 9.408817e-01, 3.387352e-01 },
-{ 1.256640e+00, 9.510574e-01, 3.090142e-01 },
-{ 1.288056e+00, 9.602945e-01, 2.789882e-01 },
-{ 1.319472e+00, 9.685839e-01, 2.486869e-01 },
-{ 1.350888e+00, 9.759175e-01, 2.181402e-01 },
-{ 1.382304e+00, 9.822879e-01, 1.873781e-01 },
-{ 1.413720e+00, 9.876889e-01, 1.564312e-01 },
-{ 1.445136e+00, 9.921151e-01, 1.253299e-01 },
-{ 1.476552e+00, 9.955623e-01, 9.410488e-02 },
-{ 1.507968e+00, 9.980269e-01, 6.278700e-02 },
-{ 1.539384e+00, 9.995067e-01, 3.140716e-02 },
-{ 1.570800e+00, 1.000000e-00, -3.673205e-06 },
-{ 1.602216e+00, 9.995064e-01, -3.141450e-02 },
-{ 1.633632e+00, 9.980265e-01, -6.279433e-02 },
-{ 1.665048e+00, 9.955616e-01, -9.411219e-02 },
-{ 1.696464e+00, 9.921142e-01, -1.253372e-01 },
-{ 1.727880e+00, 9.876877e-01, -1.564385e-01 },
-{ 1.759296e+00, 9.822865e-01, -1.873854e-01 },
-{ 1.790712e+00, 9.759158e-01, -2.181473e-01 },
-{ 1.822128e+00, 9.685821e-01, -2.486940e-01 },
-{ 1.853544e+00, 9.602925e-01, -2.789953e-01 },
-{ 1.884960e+00, 9.510552e-01, -3.090212e-01 },
-{ 1.916376e+00, 9.408793e-01, -3.387421e-01 },
-{ 1.947792e+00, 9.297748e-01, -3.681288e-01 },
-{ 1.979208e+00, 9.177528e-01, -3.971521e-01 },
-{ 2.010624e+00, 9.048251e-01, -4.257835e-01 },
-{ 2.042040e+00, 8.910044e-01, -4.539948e-01 },
-{ 2.073456e+00, 8.763043e-01, -4.817579e-01 },
-{ 2.104872e+00, 8.607395e-01, -5.090457e-01 },
-{ 2.136288e+00, 8.443252e-01, -5.358310e-01 },
-{ 2.167704e+00, 8.270777e-01, -5.620876e-01 },
-{ 2.199120e+00, 8.090140e-01, -5.877894e-01 },
-{ 2.230536e+00, 7.901518e-01, -6.129112e-01 },
-{ 2.261952e+00, 7.705099e-01, -6.374281e-01 },
-{ 2.293368e+00, 7.501075e-01, -6.613159e-01 },
-{ 2.324784e+00, 7.289649e-01, -6.845511e-01 },
-{ 2.356200e+00, 7.071029e-01, -7.071107e-01 },
-{ 2.387616e+00, 6.845430e-01, -7.289724e-01 },
-{ 2.419032e+00, 6.613076e-01, -7.501148e-01 },
-{ 2.450448e+00, 6.374196e-01, -7.705169e-01 },
-{ 2.481864e+00, 6.129025e-01, -7.901586e-01 },
-{ 2.513280e+00, 5.877805e-01, -8.090204e-01 },
-{ 2.544696e+00, 5.620785e-01, -8.270839e-01 },
-{ 2.576112e+00, 5.358217e-01, -8.443312e-01 },
-{ 2.607528e+00, 5.090362e-01, -8.607451e-01 },
-{ 2.638944e+00, 4.817483e-01, -8.763097e-01 },
-{ 2.670360e+00, 4.539849e-01, -8.910094e-01 },
-{ 2.701776e+00, 4.257736e-01, -9.048297e-01 },
-{ 2.733192e+00, 3.971420e-01, -9.177572e-01 },
-{ 2.764608e+00, 3.681185e-01, -9.297789e-01 },
-{ 2.796024e+00, 3.387318e-01, -9.408830e-01 },
-{ 2.827440e+00, 3.090107e-01, -9.510586e-01 },
-{ 2.858856e+00, 2.789847e-01, -9.602956e-01 },
-{ 2.890272e+00, 2.486833e-01, -9.685848e-01 },
-{ 2.921688e+00, 2.181366e-01, -9.759183e-01 },
-{ 2.953104e+00, 1.873745e-01, -9.822885e-01 },
-{ 2.984520e+00, 1.564276e-01, -9.876894e-01 },
-{ 3.015936e+00, 1.253262e-01, -9.921156e-01 },
-{ 3.047352e+00, 9.410122e-02, -9.955626e-01 },
-{ 3.078768e+00, 6.278333e-02, -9.980272e-01 },
-{ 3.110184e+00, 3.140349e-02, -9.995068e-01 },
-{ 3.141600e+00, -7.346410e-06, -1.000000e-00 }
-};
-
-#define M_PI 3.14159265358979323846 /* pi */
-
-static double inline gen_sin(double x)
-{
- int i;
- if(x < 0) while(x < -M_PI) x+= M_PI;
- else while(x > M_PI) x-= M_PI;
- for(i=0;i<sizeof(g_sincos)/sizeof(gen_sincos_t)-1;i++)
- {
- if(x>=g_sincos[i].x && x <= g_sincos[i+1].x)
- {
- return (g_sincos[i+1].sinx-g_sincos[i].sinx)*(x-g_sincos[i].x)/(g_sincos[i+1].x-g_sincos[i].x)+g_sincos[i].sinx;
- }
- }
- return x<0?1:-1;
-}
-#undef sin
-#define sin(x) gen_sin(x)
-
-static double inline gen_cos(double x)
-{
- int i;
- if(x < 0) while(x < -M_PI) x+= M_PI;
- else while(x > M_PI) x-= M_PI;
- for(i=0;i<sizeof(g_sincos)/sizeof(gen_sincos_t)-1;i++)
- {
- if(x>=g_sincos[i].x && x <= g_sincos[i+1].x)
- {
- return (g_sincos[i+1].cosx-g_sincos[i].cosx)*(x-g_sincos[i].x)/(g_sincos[i+1].x-g_sincos[i].x)+g_sincos[i].cosx;
- }
- }
- return x<0?1:-1;
-}
-#undef cos
-#define cos(x) gen_cos(x)
-
-#endif /* MPLAYER_GENERIC_MATH_H */
diff --git a/drivers/hacking.ati b/drivers/hacking.ati
deleted file mode 100644
index 20c9bfa..0000000
--- a/drivers/hacking.ati
+++ /dev/null
@@ -1,313 +0,0 @@
- ATI chips hacking
- =================
- Dedicated to ATI's hackers.
-
-Preface
-~~~~~~~
-This document will compare ATI chips only from point of DAC and video overlay.
-There are lots of difference from 3D point, dual-head support, tv-out support
-and many other things but it's already perfectly different story.
-This document doesn't include information about ATI AIW (All In Wonder) chips.
-
-What are units on modern ATI chips:
-DAC - (Digital to Analog Convertor) controls CRTC, LCD, DFP monitor's output
- Consists from:
- PLL - (Programable line length) registers
- CRTC - CRT controller
- LCD/DFP scaler
- surface control
-DAC2 - controls CRTC, LCD, DFP monitor's output on second head
-TVDAC - controls Composite Video and Super Video output ports
- Consists from:
- TV_PLL
- TV scaler & sync unit
- TV format convertor (PAL/NTSC)
-TVCAP - controls Video-In port
-MPP - Miscellaneous peripheral port. (includes macrovision's filter - copy
- protection mechanism)
-OV - Video overlay (YUV BES) (include subpictures, gamma correction and
- adaptive deinterlacing)
-CAP0 - Video capturing
-CAP1 - Video capturing (second unit)
-RT - Rage theatre: video encoding and mixing
-MUX - video muxer
-MEM - PCI/AGP bus mastering
-2D - GUI engine
-3D - 3D-OpenGL engine (There are lots of stuff)
-I2C - I2C Bus control
-
-This document is mainly related only with OV unit ;)
-Video decoding diagram:
-
-RAM memory: [ App ] Copies YUV image to overlay memory
- | <-- (It's possible to program DMA here)
-overlay memory:[ OV ] performs scaling and YUVtoRGB convertion
- /\
-RGB memory: / \
- / [ macrovision ] performs copy protection filtering
- / \ (unneeded but presented by default thing;)
- [ CRTC/LCD/DFP DAC ] [ TV DAC ] convert RGB memory to CRTC and NTSC/PAL signals
- | |
- [CRTC/LCD/DFP Monitor] [TV-screen]
-
-History
-~~~~~~~
- What is history of ATI's chips? I can be wrong but below is my vision
-of this question:
-
-0. I don't know any earlied chips :(
-1. Mach8
-2. Mach16
-3. Mach32
-
-4. Mach64.
- It's first chip which has support from side of open
- source drivers. Set of mach64 chips is:
- mach64GX (ATI888GX00)
- mach64CX (ATI888CX00)
- mach64CT (ATI264CT)
- mach64ET (ATI264ET)
- mach64VTA3 (ATI264VT)
- mach64VTA4 (ATI264VT)
- mach64VTB (ATI264VTB)
- mach64VT4 (ATI264VT4)
-
-5. 3D rage chips.
- It seems that these chips have fully compatible by GPU with Mach64
- which is extended by 3D possibilities. Set of 3D rage chips is:
- 3D RAGE (GT)
- 3D RAGE II+ (GTB)
- 3D RAGE IIC (PCI)
- 3D RAGE IIC (AGP)
- 3D RAGE LT
- 3D RAGE LT-G
- 3D RAGE PRO (BGA, AGP)
- 3D RAGE PRO (BGA, AGP, 1x only)
- 3D RAGE PRO (BGA, PCI)
- 3D RAGE PRO (PQFP, PCI)
- 3D RAGE PRO (PQFP, PCI, limited 3D)
- 3D RAGE (XL)
- 3D RAGE LT PRO (AGP)
- 3D RAGE LT PRO (PCI)
- 3D RAGE Mobility (PCI)
- 3D RAGE Mobility (AGP)
-
-6. Rage128 chips.
- These chips have perfectly new GPU which supports memory mapped IO
- space for accelerating port access (It's main cause of incompatibility
- with mach64). Set of Rage128 chips is:
- Rage128 GL RE
- Rage128 GL RF
- Rage128 GL RG
- Rage128 GL RH
- Rage128 GL RI
- Rage128 VR RK
- Rage128 VR RL
- Rage128 VR RM
- Rage128 VR RN
- Rage128 VR RO
- Rage128 Mobility M3 LE
- Rage128 Mobility M3 LF
-7. Rage128Pro chips.
- These chips are successors of Rage128 ones.
- Rage128Pro GL PA
- Rage128Pro GL PB
- Rage128Pro GL PC
- Rage128Pro GL PD
- Rage128Pro GL PE
- Rage128Pro GL PF
- Rage128Pro VR PG
- Rage128Pro VR PH
- Rage128Pro VR PI
- Rage128Pro VR PJ
- Rage128Pro VR PK
- Rage128Pro VR PL
- Rage128Pro VR PM
- Rage128Pro VR PN
- Rage128Pro VR PO
- Rage128Pro VR PP
- Rage128Pro VR PQ
- Rage128Pro VR PR
- Rage128Pro VR TR
- Rage128Pro VR PS
- Rage128Pro VR PT
- Rage128Pro VR PU
- Rage128Pro VR PV
- Rage128Pro VR PW
- Rage128Pro VR PX
- Rage128Pro Ultra U1
- Rage128Pro Ultra U2
- Rage128Pro Ultra U3
-
-8. Radeon chips.
- Indeed they could be named Rage256 Pro. (With minor changes is fully
- compatible with Rage128 chips).
- Radeon QD
- Radeon QE
- Radeon QF
- Radeon QG
- Radeon VE QY
- Radeon VE QZ
- Radeon M6 LY
- Radeon M6 LZ
- Radeon M7 LW
-9. Radeon2 chips.
- Indeed they could be named Rage512 Pro.
- Radeon2 8500 QL
- Radeon2 7500 QW
-
-10. Radeon3 and newest are cooming soon, but I hope that they will be fully
- compatible with Radeon1 chips.
-
-In Radeon famility there were introduced also FX chips: Radeon FX and
-Radeon2 8700 FX. Probably they have the same possibility as other Radeon
-but currently it's unknown for me.
-
-What about video overlay and DAC?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Currently it's known that there is only difference between
-Mach64 and Rage128 compatible chips:
-- They have different logic of io ports programming!
-- They are incompatible by port numbers!
-But:
-- They use the same program logic from register's name point.
-(Indeed exists slight difference even between Radeon and Rage128
-chips. AFAIK only Radeon has OV0_SLICE_CNTL register which currently
-is not used by driver. But I know only its name ;). Also there
-is difference in slight adjust of BES position but it's configured
-by #ifdef blocks).
-
-Please compare:
-
-(The piece of Back-End Scaler programming)
-
- Sample for Mach64 compatible chips:
- ***********************************
-
-#define SPARSE_IO_BASE 0x03fcu
-#define SPARSE_IO_SELECT 0xfc00u
-
-#define BLOCK_IO_BASE 0xff00u
-#define BLOCK_IO_SELECT 0x00fcu
-
-#define MM_IO_SELECT 0x03fcu
-#define BLOCK_SELECT 0x0400u
-#define DWORD_SELECT (BLOCK_SELECT | MM_IO_SELECT)
-
-#define IO_BYTE_SELECT 0x0003u
-
-#define SPARSE_IO_PORT (SPARSE_IO_BASE | IO_BYTE_SELECT)
-#define BLOCK_IO_PORT (BLOCK_IO_BASE | IO_BYTE_SELECT)
-
-#define IOPortTag(_SparseIOSelect, _BlockIOSelect) \
- (SetBits(_SparseIOSelect, SPARSE_IO_SELECT) | \
- SetBits(_BlockIOSelect, BLOCK_SELECT | MM_IO_SELECT))
-#define SparseIOTag(_IOSelect) IOPortTag(_IOSelect, 0)
-#define BlockIOTag(_IOSelect) IOPortTag(0, _IOSelect)
-
-...
-
-#define OVERLAY_Y_X_START BlockIOTag(0x100u)
-#define OVERLAY_Y_X_END BlockIOTag(0x101u)
-
-...
-
-#define OUTREG(_Register, _Value) \
- MMIO_OUT32(pATI->pBlock[GetBits(_Register, BLOCK_SELECT)], \
- (_Register) & MM_IO_SELECT, _Value)
-
-...
-
-OUTREG(OVERLAY_Y_X_START,((drw_x)<<16)|(drw_y)|(1<<31));
-OUTREG(OVERLAY_Y_X_END,((drw_x+drw_w)<<16)|(drw_y+drw_h));
-
-
- Sample for Rage128 compatible chips:
- ************************************
-
-#define OV0_Y_X_START 0x0400
-#define OV0_Y_X_END 0x0404
-
-...
-
-#define INREG(addr) readl((rage_mmio_base)+addr)
-#define OUTREG(addr,val) writel(val, (rage_mmio_base)+addr)
-
-...
-
-rage_mmio_base = ioremap_nocache(pci_resource_start (dev, 2),RAGE_REGSIZE);
-
-...
-
-#ifdef RADEON
-#define X_ADJUST 8
-#else /* rage128 */
-#define X_ADJUST 0
-#endif
-
-OUTREG(OV0_Y_X_START,(drw_x+X_ADJUST)|(drw_y<<16));
-OUTREG(OV0_Y_X_END,(drw_x+drw_w+X_ADJUST)|(drw_y+drw_h)<<16));
-
-Thus - these chips have almost the same logic from register's name point.
-(except the fact that they have swapped 16-bit halfs).
-Yes - programming of Rage128 is much simpler of Mach64.
-
-
-What about other ATI's chips?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-I suggest you have latest copy of GATOS-CVS:
-http://www.linuxvideo.org
-GATOS was designed and introduced as General ATI TV and Overlay Sowfware.
-You will be able to find out there a lots of useful hacking utilities
-(at location gatos-ati/gatos):
-gfxdump - Program for dumping graphics chips registers on Linux and Windows 9X.
- (it's more useful for Win9x to hack their values).
-xatitv - For working with tv-in (currently is under hard development)
-atitvout- For working with tv-out
-and lot of other stuff.
-BUT: After studing of Gatos and X11 stuffs I've found that they are bad
-optimized for movie playback.
-Please compare:
- radeon_vid - configures video overlay only once and provides DGA to it.
- (doesn't require to be MMX optimized)
- gatos and X11 - configures video overlay at every slice of frame, then
- performs unoptimized copying of source stuff to video memory
- often with using CopyMungedData (it's C-analog of YV12_to_YUY2)
- since there are lacks in yv12 support.
- (is not MMX optimized that's gladly accepted, but probably
- will be never optimized due portability).
-
-hardware IDCT support diagram:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- |
-[ Video parser ] <---------- [ Transport demuxing ] --> [ Audio ]
- | | |
-[ Variable length decoder] |D |
- | |V |
-[ Inverse quantization ] |D |
- | | |
--------|---[ video card ]---------+ |s |
- | | |u |
-[ Run level decode & de-zigzag ] | |b |
- | | |p |
-[ IDCT ] | |i |
- | | |c |
-[ Motion compensation ] | |t |
- | | |u |
-[ Advanced deinterlacing ] | |r |
- | | |e |
-[ Filtered X-Y scaling ] [SUBPIC]-|-----+s [ OSD ]
- | | | | |
-[ 4-bit alpha blending ] <---+ | +-------+
- | |
-[ YUV to RGB conversion ] |
--------|--------------------------+
-TV-screen or CRT-display
-
-
-Conslusion:
-~~~~~~~~~~~
-
-That's all folk!
diff --git a/drivers/mga_vid.c b/drivers/mga_vid.c
deleted file mode 100644
index de96aa1..0000000
--- a/drivers/mga_vid.c
+++ /dev/null
@@ -1,1778 +0,0 @@
-/*
- * Matrox MGA G200/G400 YUV Video Interface module Version 0.1.0
- * BES == Back End Scaler
- *
- * Copyright (C) 1999 Aaron Holtzman
- *
- * Module skeleton based on gutted agpgart module by
- * Jeff Hartmann <slicer at ionet.net>
- * YUY2 support (see config.format) added by A'rpi/ESP-team
- * double buffering added by A'rpi/ESP-team
- * brightness/contrast introduced by eyck
- * multiple card support by Attila Kinali <attila at kinali.ch>
- *
- * This file is part of mga_vid.
- *
- * mga_vid is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mga_vid is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with mga_vid; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-//It's entirely possible this major conflicts with something else
-//use the 'major' parameter to override the default major number (178)
-/* mknod /dev/mga_vid c 178 0 */
-
-//#define CRTC2
-
-// Set this value, if autodetection fails! (video ram size in megabytes)
-// #define MGA_MEMORY_SIZE 16
-
-//#define MGA_ALLOW_IRQ
-
-#define MGA_VSYNC_POS 2
-
-#include <linux/config.h>
-#include <linux/version.h>
-#include <linux/module.h>
-#include <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/mm.h>
-#include <linux/string.h>
-#include <linux/errno.h>
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,10)
-#include <linux/malloc.h>
-#else
-#include <linux/slab.h>
-#endif
-
-#include <linux/pci.h>
-#include <linux/ioport.h>
-#include <linux/init.h>
-
-#include "mga_vid.h"
-
-#ifdef CONFIG_MTRR
-#include <asm/mtrr.h>
-#endif
-
-#ifdef CONFIG_DEVFS_FS
-#include <linux/devfs_fs_kernel.h>
-#endif
-
-#include <asm/uaccess.h>
-#include <asm/system.h>
-#include <asm/io.h>
-
-#define TRUE 1
-#define FALSE 0
-
-#define DEFAULT_MGA_VID_MAJOR 178
-
-#ifndef PCI_DEVICE_ID_MATROX_G200_PCI
-#define PCI_DEVICE_ID_MATROX_G200_PCI 0x0520
-#endif
-
-#ifndef PCI_DEVICE_ID_MATROX_G200_AGP
-#define PCI_DEVICE_ID_MATROX_G200_AGP 0x0521
-#endif
-
-#ifndef PCI_DEVICE_ID_MATROX_G400
-#define PCI_DEVICE_ID_MATROX_G400 0x0525
-#endif
-
-#ifndef PCI_DEVICE_ID_MATROX_G550
-#define PCI_DEVICE_ID_MATROX_G550 0x2527
-#endif
-
-#ifndef PCI_SUBSYSTEM_ID_MATROX_G400_DH_16MB
-#define PCI_SUBSYSTEM_ID_MATROX_G400_DH_16MB 0x2159
-#endif
-
-#ifndef PCI_SUBSYSTEM_ID_MATROX_G400_16MB_SGRAM
-#define PCI_SUBSYSTEM_ID_MATROX_G400_16MB_SGRAM 0x19d8
-#endif
-
-#ifndef PCI_SUBSYSTEM_ID_MATROX_G400_16MB_SDRAM
-#define PCI_SUBSYSTEM_ID_MATROX_G400_16MB_SDRAM 0x0328
-#endif
-
-MODULE_AUTHOR("Aaron Holtzman <aholtzma at engr.uvic.ca>");
-#ifdef MODULE_LICENSE
-MODULE_LICENSE("GPL");
-#endif
-
-#define PARAM_BRIGHTNESS "brightness="
-#define PARAM_CONTRAST "contrast="
-#define PARAM_BLACKIE "blackie="
-
-// set PARAM_BUFF_SIZE to just below 4k because some kernel versions
-// store additional information in the memory page which leads to
-// the allocation of an additional page if exactly 4k is used
-#define PARAM_BUFF_SIZE 4000
-
-#ifndef min
-#define min(x,y) (((x)<(y))?(x):(y))
-#endif
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
-#include <linux/ctype.h>
-
-static unsigned long simple_strtoul(const char *cp,char **endp,unsigned int base)
-{
- unsigned long result = 0,value;
-
- if (!base) {
- base = 10;
- if (*cp == '0') {
- base = 8;
- cp++;
- if ((*cp == 'x') && isxdigit(cp[1])) {
- cp++;
- base = 16;
- }
- }
- }
- while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp-'0' : (islower(*cp)
- ? toupper(*cp) : *cp)-'A'+10) < base) {
- result = result*base + value;
- cp++;
- }
- if (endp)
- *endp = (char *)cp;
- return result;
-}
-
-static long simple_strtol(const char *cp,char **endp,unsigned int base)
-{
- if(*cp=='-')
- return -simple_strtoul(cp+1,endp,base);
- return simple_strtoul(cp,endp,base);
-}
-#endif
-
-
-typedef struct bes_registers_s
-{
- //BES Control
- uint32_t besctl;
- //BES Global control
- uint32_t besglobctl;
- //Luma control (brightness and contrast)
- uint32_t beslumactl;
- //Line pitch
- uint32_t bespitch;
-
- //Buffer A-1 Chroma 3 plane org
- uint32_t besa1c3org;
- //Buffer A-1 Chroma org
- uint32_t besa1corg;
- //Buffer A-1 Luma org
- uint32_t besa1org;
-
- //Buffer A-2 Chroma 3 plane org
- uint32_t besa2c3org;
- //Buffer A-2 Chroma org
- uint32_t besa2corg;
- //Buffer A-2 Luma org
- uint32_t besa2org;
-
- //Buffer B-1 Chroma 3 plane org
- uint32_t besb1c3org;
- //Buffer B-1 Chroma org
- uint32_t besb1corg;
- //Buffer B-1 Luma org
- uint32_t besb1org;
-
- //Buffer B-2 Chroma 3 plane org
- uint32_t besb2c3org;
- //Buffer B-2 Chroma org
- uint32_t besb2corg;
- //Buffer B-2 Luma org
- uint32_t besb2org;
-
- //BES Horizontal coord
- uint32_t beshcoord;
- //BES Horizontal inverse scaling [5.14]
- uint32_t beshiscal;
- //BES Horizontal source start [10.14] (for scaling)
- uint32_t beshsrcst;
- //BES Horizontal source ending [10.14] (for scaling)
- uint32_t beshsrcend;
- //BES Horizontal source last
- uint32_t beshsrclst;
-
-
- //BES Vertical coord
- uint32_t besvcoord;
- //BES Vertical inverse scaling [5.14]
- uint32_t besviscal;
- //BES Field 1 vertical source last position
- uint32_t besv1srclst;
- //BES Field 1 weight start
- uint32_t besv1wght;
- //BES Field 2 vertical source last position
- uint32_t besv2srclst;
- //BES Field 2 weight start
- uint32_t besv2wght;
-
-
- //configurable stuff
- int blackie;
-
-} bes_registers_t;
-
-#ifdef CRTC2
-typedef struct crtc2_registers_s
-{
- uint32_t c2ctl;
- uint32_t c2datactl;
- uint32_t c2misc;
- uint32_t c2hparam;
- uint32_t c2hsync;
- uint32_t c2offset;
- uint32_t c2pl2startadd0;
- uint32_t c2pl2startadd1;
- uint32_t c2pl3startadd0;
- uint32_t c2pl3startadd1;
- uint32_t c2preload;
- uint32_t c2spicstartadd0;
- uint32_t c2spicstartadd1;
- uint32_t c2startadd0;
- uint32_t c2startadd1;
- uint32_t c2subpiclut;
- uint32_t c2vcount;
- uint32_t c2vparam;
- uint32_t c2vsync;
-} crtc2_registers_t;
-#endif
-
-
-
-
-
-//All register offsets are converted to word aligned offsets (32 bit)
-//because we want all our register accesses to be 32 bits
-#define VCOUNT 0x1e20
-
-#define PALWTADD 0x3c00 // Index register for X_DATAREG port
-#define X_DATAREG 0x3c0a
-
-#define XMULCTRL 0x19
-#define BPP_8 0x00
-#define BPP_15 0x01
-#define BPP_16 0x02
-#define BPP_24 0x03
-#define BPP_32_DIR 0x04
-#define BPP_32_PAL 0x07
-
-#define XCOLMSK 0x40
-#define X_COLKEY 0x42
-#define XKEYOPMODE 0x51
-#define XCOLMSK0RED 0x52
-#define XCOLMSK0GREEN 0x53
-#define XCOLMSK0BLUE 0x54
-#define XCOLKEY0RED 0x55
-#define XCOLKEY0GREEN 0x56
-#define XCOLKEY0BLUE 0x57
-
-#ifdef CRTC2
-
-/*CRTC2 registers*/
-#define XMISCCTRL 0x1e
-#define C2CTL 0x3c10
-#define C2DATACTL 0x3c4c
-#define C2MISC 0x3c44
-#define C2HPARAM 0x3c14
-#define C2HSYNC 0x3c18
-#define C2OFFSET 0x3c40
-#define C2PL2STARTADD0 0x3c30 // like BESA1CORG
-#define C2PL2STARTADD1 0x3c34 // like BESA2CORG
-#define C2PL3STARTADD0 0x3c38 // like BESA1C3ORG
-#define C2PL3STARTADD1 0x3c3c // like BESA2C3ORG
-#define C2PRELOAD 0x3c24
-#define C2SPICSTARTADD0 0x3c54
-#define C2SPICSTARTADD1 0x3c58
-#define C2STARTADD0 0x3c28 // like BESA1ORG
-#define C2STARTADD1 0x3c2c // like BESA2ORG
-#define C2SUBPICLUT 0x3c50
-#define C2VCOUNT 0x3c48
-#define C2VPARAM 0x3c1c
-#define C2VSYNC 0x3c20
-
-#endif
-
-// Backend Scaler registers
-#define BESCTL 0x3d20
-#define BESGLOBCTL 0x3dc0
-#define BESLUMACTL 0x3d40
-#define BESPITCH 0x3d24
-
-#define BESA1C3ORG 0x3d60
-#define BESA1CORG 0x3d10
-#define BESA1ORG 0x3d00
-
-#define BESA2C3ORG 0x3d64
-#define BESA2CORG 0x3d14
-#define BESA2ORG 0x3d04
-
-#define BESB1C3ORG 0x3d68
-#define BESB1CORG 0x3d18
-#define BESB1ORG 0x3d08
-
-#define BESB2C3ORG 0x3d6C
-#define BESB2CORG 0x3d1C
-#define BESB2ORG 0x3d0C
-
-#define BESHCOORD 0x3d28
-#define BESHISCAL 0x3d30
-#define BESHSRCEND 0x3d3C
-#define BESHSRCLST 0x3d50
-#define BESHSRCST 0x3d38
-#define BESV1WGHT 0x3d48
-#define BESV2WGHT 0x3d4c
-#define BESV1SRCLST 0x3d54
-#define BESV2SRCLST 0x3d58
-#define BESVISCAL 0x3d34
-#define BESVCOORD 0x3d2c
-#define BESSTATUS 0x3dc4
-
-#define CRTCX 0x1fd4
-#define CRTCD 0x1fd5
-#define IEN 0x1e1c
-#define ICLEAR 0x1e18
-#define STATUS 0x1e14
-
-
-// global devfs handle for /dev/mga_vid
-#ifdef CONFIG_DEVFS_FS
-static devfs_handle_t dev_handle = NULL;
-#endif
-
-// card local config
-typedef struct mga_card_s {
-
-// local devfs handle for /dev/mga_vidX
-#ifdef CONFIG_DEVFS_FS
- devfs_handle_t dev_handle;
-#endif
-
- uint8_t *param_buff; // buffer for read()
- uint32_t param_buff_size;
- uint32_t param_buff_len;
- bes_registers_t regs;
-#ifdef CRTC2
- crtc2_registers_t cregs;
-#endif
- uint32_t vid_in_use;
- uint32_t is_g400;
- uint32_t vid_src_ready;
- uint32_t vid_overlay_on;
-
- uint8_t *mmio_base;
- uint32_t mem_base;
- int src_base; // YUV buffer position in video memory
- uint32_t ram_size; // how much megabytes videoram we have
- uint32_t top_reserved; // reserved space for console font (matroxfb + fastfont)
-
- int brightness; // initial brightness
- int contrast; // initial contrast
-
- struct pci_dev *pci_dev;
-
- mga_vid_config_t config;
- int configured; // set to 1 when the card is configured over ioctl
-
- int colkey_saved;
- int colkey_on;
- unsigned char colkey_color[4];
- unsigned char colkey_mask[4];
-
- int irq; // = -1
- int next_frame;
-} mga_card_t;
-
-#define MGA_MAX_CARDS 16
-// this is used as init value for the parameter arrays
-// it should have exactly MGA_MAX_CARDS elements
-#define MGA_MAX_CARDS_INIT_ARRAY {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
-static unsigned int mga_cards_num=0;
-static mga_card_t * mga_cards[MGA_MAX_CARDS] = MGA_MAX_CARDS_INIT_ARRAY;
-
-// module parameters
-static int major = DEFAULT_MGA_VID_MAJOR;
-static int mga_ram_size[MGA_MAX_CARDS] = MGA_MAX_CARDS_INIT_ARRAY;
-static int mga_brightness[MGA_MAX_CARDS] = MGA_MAX_CARDS_INIT_ARRAY;
-static int mga_contrast[MGA_MAX_CARDS] = MGA_MAX_CARDS_INIT_ARRAY;
-static int mga_top_reserved[MGA_MAX_CARDS] = MGA_MAX_CARDS_INIT_ARRAY;
-
-MODULE_PARM(mga_ram_size, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
-MODULE_PARM(mga_top_reserved, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
-MODULE_PARM(mga_brightness, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
-MODULE_PARM(mga_contrast, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
-MODULE_PARM(major, "i");
-
-#ifdef CRTC2
-static void crtc2_frame_sel(mga_card_t * card, int frame)
-{
-switch(frame) {
-case 0:
- card->cregs.c2pl2startadd0=card->regs.besa1corg;
- card->cregs.c2pl3startadd0=card->regs.besa1c3org;
- card->cregs.c2startadd0=card->regs.besa1org;
- break;
-case 1:
- card->cregs.c2pl2startadd0=card->regs.besa2corg;
- card->cregs.c2pl3startadd0=card->regs.besa2c3org;
- card->cregs.c2startadd0=card->regs.besa2org;
- break;
-case 2:
- card->cregs.c2pl2startadd0=card->regs.besb1corg;
- card->cregs.c2pl3startadd0=card->regs.besb1c3org;
- card->cregs.c2startadd0=card->regs.besb1org;
- break;
-case 3:
- card->cregs.c2pl2startadd0=card->regs.besb2corg;
- card->cregs.c2pl3startadd0=card->regs.besb2c3org;
- card->cregs.c2startadd0=card->regs.besb2org;
- break;
-}
- writel(card->cregs.c2startadd0, card->mmio_base + C2STARTADD0);
- writel(card->cregs.c2pl2startadd0, card->mmio_base + C2PL2STARTADD0);
- writel(card->cregs.c2pl3startadd0, card->mmio_base + C2PL3STARTADD0);
-}
-#endif
-
-static void mga_vid_frame_sel(mga_card_t * card, int frame)
-{
- if ( card->irq != -1 ) {
- card->next_frame=frame;
- } else {
-
- //we don't need the vcount protection as we're only hitting
- //one register (and it doesn't seem to be double buffered)
- card->regs.besctl = (card->regs.besctl & ~0x07000000) + (frame << 25);
- writel( card->regs.besctl, card->mmio_base + BESCTL );
-
-// writel( card->regs.besglobctl + ((readl(card->mmio_base + VCOUNT)+2)<<16),
- writel( card->regs.besglobctl + (MGA_VSYNC_POS<<16),
- card->mmio_base + BESGLOBCTL);
-#ifdef CRTC2
- crtc2_frame_sel(card, frame);
-#endif
-
- }
-}
-
-
-static void mga_vid_write_regs(mga_card_t * card, int restore)
-{
- //Make sure internal registers don't get updated until we're done
- writel( (readl(card->mmio_base + VCOUNT)-1)<<16,
- card->mmio_base + BESGLOBCTL);
-
- // color or coordinate keying
-
- if(restore && card->colkey_saved){
- // restore it
- card->colkey_saved=0;
-
-#ifdef MP_DEBUG
- printk("mga_vid: Restoring colorkey (ON: %d %02X:%02X:%02X)\n",
- card->colkey_on,card->colkey_color[0],card->colkey_color[1],card->colkey_color[2]);
-#endif
-
- // Set color key registers:
- writeb( XKEYOPMODE, card->mmio_base + PALWTADD);
- writeb( card->colkey_on, card->mmio_base + X_DATAREG);
-
- writeb( XCOLKEY0RED, card->mmio_base + PALWTADD);
- writeb( card->colkey_color[0], card->mmio_base + X_DATAREG);
- writeb( XCOLKEY0GREEN, card->mmio_base + PALWTADD);
- writeb( card->colkey_color[1], card->mmio_base + X_DATAREG);
- writeb( XCOLKEY0BLUE, card->mmio_base + PALWTADD);
- writeb( card->colkey_color[2], card->mmio_base + X_DATAREG);
- writeb( X_COLKEY, card->mmio_base + PALWTADD);
- writeb( card->colkey_color[3], card->mmio_base + X_DATAREG);
-
- writeb( XCOLMSK0RED, card->mmio_base + PALWTADD);
- writeb( card->colkey_mask[0], card->mmio_base + X_DATAREG);
- writeb( XCOLMSK0GREEN, card->mmio_base + PALWTADD);
- writeb( card->colkey_mask[1], card->mmio_base + X_DATAREG);
- writeb( XCOLMSK0BLUE, card->mmio_base + PALWTADD);
- writeb( card->colkey_mask[2], card->mmio_base + X_DATAREG);
- writeb( XCOLMSK, card->mmio_base + PALWTADD);
- writeb( card->colkey_mask[3], card->mmio_base + X_DATAREG);
-
- } else if(!card->colkey_saved){
- // save it
- card->colkey_saved=1;
- // Get color key registers:
- writeb( XKEYOPMODE, card->mmio_base + PALWTADD);
- card->colkey_on=(unsigned char)readb(card->mmio_base + X_DATAREG) & 1;
-
- writeb( XCOLKEY0RED, card->mmio_base + PALWTADD);
- card->colkey_color[0]=(unsigned char)readb(card->mmio_base + X_DATAREG);
- writeb( XCOLKEY0GREEN, card->mmio_base + PALWTADD);
- card->colkey_color[1]=(unsigned char)readb(card->mmio_base + X_DATAREG);
- writeb( XCOLKEY0BLUE, card->mmio_base + PALWTADD);
- card->colkey_color[2]=(unsigned char)readb(card->mmio_base + X_DATAREG);
- writeb( X_COLKEY, card->mmio_base + PALWTADD);
- card->colkey_color[3]=(unsigned char)readb(card->mmio_base + X_DATAREG);
-
- writeb( XCOLMSK0RED, card->mmio_base + PALWTADD);
- card->colkey_mask[0]=(unsigned char)readb(card->mmio_base + X_DATAREG);
- writeb( XCOLMSK0GREEN, card->mmio_base + PALWTADD);
- card->colkey_mask[1]=(unsigned char)readb(card->mmio_base + X_DATAREG);
- writeb( XCOLMSK0BLUE, card->mmio_base + PALWTADD);
- card->colkey_mask[2]=(unsigned char)readb(card->mmio_base + X_DATAREG);
- writeb( XCOLMSK, card->mmio_base + PALWTADD);
- card->colkey_mask[3]=(unsigned char)readb(card->mmio_base + X_DATAREG);
-
-#ifdef MP_DEBUG
- printk("mga_vid: Saved colorkey (ON: %d %02X:%02X:%02X)\n",
- card->colkey_on, card->colkey_color[0], card->colkey_color[1], card->colkey_color[2]);
-#endif
-
- }
-
- if(!restore){
- writeb( XKEYOPMODE, card->mmio_base + PALWTADD);
- writeb( card->config.colkey_on, card->mmio_base + X_DATAREG);
- if ( card->config.colkey_on )
- {
- uint32_t r=0, g=0, b=0;
-
- writeb( XMULCTRL, card->mmio_base + PALWTADD);
- switch (readb (card->mmio_base + X_DATAREG))
- {
- case BPP_8:
- /* Need to look up the color index, just using color 0 for now. */
- break;
-
- case BPP_15:
- r = card->config.colkey_red >> 3;
- g = card->config.colkey_green >> 3;
- b = card->config.colkey_blue >> 3;
- break;
-
- case BPP_16:
- r = card->config.colkey_red >> 3;
- g = card->config.colkey_green >> 2;
- b = card->config.colkey_blue >> 3;
- break;
-
- case BPP_24:
- case BPP_32_DIR:
- case BPP_32_PAL:
- r = card->config.colkey_red;
- g = card->config.colkey_green;
- b = card->config.colkey_blue;
- break;
- }
-
- // Disable color keying on alpha channel
- writeb( XCOLMSK, card->mmio_base + PALWTADD);
- writeb( 0x00, card->mmio_base + X_DATAREG);
- writeb( X_COLKEY, card->mmio_base + PALWTADD);
- writeb( 0x00, card->mmio_base + X_DATAREG);
-
-
- // Set up color key registers
- writeb( XCOLKEY0RED, card->mmio_base + PALWTADD);
- writeb( r, card->mmio_base + X_DATAREG);
- writeb( XCOLKEY0GREEN, card->mmio_base + PALWTADD);
- writeb( g, card->mmio_base + X_DATAREG);
- writeb( XCOLKEY0BLUE, card->mmio_base + PALWTADD);
- writeb( b, card->mmio_base + X_DATAREG);
-
- // Set up color key mask registers
- writeb( XCOLMSK0RED, card->mmio_base + PALWTADD);
- writeb( 0xff, card->mmio_base + X_DATAREG);
- writeb( XCOLMSK0GREEN, card->mmio_base + PALWTADD);
- writeb( 0xff, card->mmio_base + X_DATAREG);
- writeb( XCOLMSK0BLUE, card->mmio_base + PALWTADD);
- writeb( 0xff, card->mmio_base + X_DATAREG);
- }
- }
-
- // Backend Scaler
- writel( card->regs.besctl, card->mmio_base + BESCTL);
- if(card->is_g400)
- writel( card->regs.beslumactl, card->mmio_base + BESLUMACTL);
- writel( card->regs.bespitch, card->mmio_base + BESPITCH);
-
- writel( card->regs.besa1org, card->mmio_base + BESA1ORG);
- writel( card->regs.besa1corg, card->mmio_base + BESA1CORG);
- writel( card->regs.besa2org, card->mmio_base + BESA2ORG);
- writel( card->regs.besa2corg, card->mmio_base + BESA2CORG);
- writel( card->regs.besb1org, card->mmio_base + BESB1ORG);
- writel( card->regs.besb1corg, card->mmio_base + BESB1CORG);
- writel( card->regs.besb2org, card->mmio_base + BESB2ORG);
- writel( card->regs.besb2corg, card->mmio_base + BESB2CORG);
- if(card->is_g400)
- {
- writel( card->regs.besa1c3org, card->mmio_base + BESA1C3ORG);
- writel( card->regs.besa2c3org, card->mmio_base + BESA2C3ORG);
- writel( card->regs.besb1c3org, card->mmio_base + BESB1C3ORG);
- writel( card->regs.besb2c3org, card->mmio_base + BESB2C3ORG);
- }
-
- writel( card->regs.beshcoord, card->mmio_base + BESHCOORD);
- writel( card->regs.beshiscal, card->mmio_base + BESHISCAL);
- writel( card->regs.beshsrcst, card->mmio_base + BESHSRCST);
- writel( card->regs.beshsrcend, card->mmio_base + BESHSRCEND);
- writel( card->regs.beshsrclst, card->mmio_base + BESHSRCLST);
-
- writel( card->regs.besvcoord, card->mmio_base + BESVCOORD);
- writel( card->regs.besviscal, card->mmio_base + BESVISCAL);
-
- writel( card->regs.besv1srclst, card->mmio_base + BESV1SRCLST);
- writel( card->regs.besv1wght, card->mmio_base + BESV1WGHT);
- writel( card->regs.besv2srclst, card->mmio_base + BESV2SRCLST);
- writel( card->regs.besv2wght, card->mmio_base + BESV2WGHT);
-
- //update the registers somewhere between 1 and 2 frames from now.
- writel( card->regs.besglobctl + ((readl(card->mmio_base + VCOUNT)+2)<<16),
- card->mmio_base + BESGLOBCTL);
-
-#if 0
- printk(KERN_DEBUG "mga_vid: wrote BES registers\n");
- printk(KERN_DEBUG "mga_vid: BESCTL = 0x%08x\n",
- readl(card->mmio_base + BESCTL));
- printk(KERN_DEBUG "mga_vid: BESGLOBCTL = 0x%08x\n",
- readl(card->mmio_base + BESGLOBCTL));
- printk(KERN_DEBUG "mga_vid: BESSTATUS= 0x%08x\n",
- readl(card->mmio_base + BESSTATUS));
-#endif
-#ifdef CRTC2
-// printk("c2ctl:0x%08x c2datactl:0x%08x\n", readl(card->mmio_base + C2CTL), readl(card->mmio_base + C2DATACTL));
-// printk("c2misc:0x%08x\n", readl(card->mmio_base + C2MISC));
-// printk("c2ctl:0x%08x c2datactl:0x%08x\n", card->cregs.c2ctl, card->cregs.c2datactl);
-
-// writel(card->cregs.c2ctl, card->mmio_base + C2CTL);
-
- writel(((readl(card->mmio_base + C2CTL) & ~0x03e00000) + (card->cregs.c2ctl & 0x03e00000)), card->mmio_base + C2CTL);
- writel(((readl(card->mmio_base + C2DATACTL) & ~0x000000ff) + (card->cregs.c2datactl & 0x000000ff)), card->mmio_base + C2DATACTL);
- // ctrc2
- // disable CRTC2 acording to specs
-// writel(card->cregs.c2ctl & 0xfffffff0, card->mmio_base + C2CTL);
- // je to treba ???
-// writeb((readb(card->mmio_base + XMISCCTRL) & 0x19) | 0xa2, card->mmio_base + XMISCCTRL); // MAFC - mfcsel & vdoutsel
-// writeb((readb(card->mmio_base + XMISCCTRL) & 0x19) | 0x92, card->mmio_base + XMISCCTRL);
-// writeb((readb(card->mmio_base + XMISCCTRL) & ~0xe9) + 0xa2, card->mmio_base + XMISCCTRL);
-// writel(card->cregs.c2datactl, card->mmio_base + C2DATACTL);
-// writel(card->cregs.c2hparam, card->mmio_base + C2HPARAM);
-// writel(card->cregs.c2hsync, card->mmio_base + C2HSYNC);
-// writel(card->cregs.c2vparam, card->mmio_base + C2VPARAM);
-// writel(card->cregs.c2vsync, card->mmio_base + C2VSYNC);
- writel(card->cregs.c2misc, card->mmio_base + C2MISC);
-
-#ifdef MP_DEBUG
- printk("c2offset = %d\n",card->cregs.c2offset);
-#endif
-
- writel(card->cregs.c2offset, card->mmio_base + C2OFFSET);
- writel(card->cregs.c2startadd0, card->mmio_base + C2STARTADD0);
-// writel(card->cregs.c2startadd1, card->mmio_base + C2STARTADD1);
- writel(card->cregs.c2pl2startadd0, card->mmio_base + C2PL2STARTADD0);
-// writel(card->cregs.c2pl2startadd1, card->mmio_base + C2PL2STARTADD1);
- writel(card->cregs.c2pl3startadd0, card->mmio_base + C2PL3STARTADD0);
-// writel(card->cregs.c2pl3startadd1, card->mmio_base + C2PL3STARTADD1);
- writel(card->cregs.c2spicstartadd0, card->mmio_base + C2SPICSTARTADD0);
-// writel(card->cregs.c2spicstartadd1, card->mmio_base + C2SPICSTARTADD1);
-// writel(card->cregs.c2subpiclut, card->mmio_base + C2SUBPICLUT);
-// writel(card->cregs.c2preload, card->mmio_base + C2PRELOAD);
- // finaly enable everything
-// writel(card->cregs.c2ctl, card->mmio_base + C2CTL);
-// printk("c2ctl:0x%08x c2datactl:0x%08x\n",readl(card->mmio_base + C2CTL),readl(card->mmio_base + C2DATACTL));
-// printk("c2misc:0x%08x\n", readl(card->mmio_base + C2MISC));
-#endif
-}
-
-static int mga_vid_set_config(mga_card_t * card)
-{
- int x, y, sw, sh, dw, dh;
- int besleft, bestop, ifactor, ofsleft, ofstop, baseadrofs, weight, weights;
- mga_vid_config_t *config = &card->config;
- int frame_size = card->config.frame_size;
-
-#ifdef CRTC2
-#define right_margin 0
-#define left_margin 18
-#define hsync_len 46
-#define lower_margin 10
-#define vsync_len 4
-#define upper_margin 39
-
- unsigned int hdispend = (config->src_width + 31) & ~31;
- unsigned int hsyncstart = hdispend + (right_margin & ~7);
- unsigned int hsyncend = hsyncstart + (hsync_len & ~7);
- unsigned int htotal = hsyncend + (left_margin & ~7);
- unsigned int vdispend = config->src_height;
- unsigned int vsyncstart = vdispend + lower_margin;
- unsigned int vsyncend = vsyncstart + vsync_len;
- unsigned int vtotal = vsyncend + upper_margin;
-#endif
- x = config->x_org;
- y = config->y_org;
- sw = config->src_width;
- sh = config->src_height;
- dw = config->dest_width;
- dh = config->dest_height;
-
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga_vid: Setting up a %dx%d+%d+%d video window (src %dx%d) format %X\n",
- dw, dh, x, y, sw, sh, config->format);
-#endif
-
- if(sw<4 || sh<4 || dw<4 || dh<4){
- printk(KERN_ERR "mga_vid: Invalid src/dest dimenstions\n");
- return -1;
- }
-
- //FIXME check that window is valid and inside desktop
-
- //Setup the BES registers for a three plane 4:2:0 video source
-
- card->regs.besglobctl = 0;
-
- switch(config->format){
- case MGA_VID_FORMAT_YV12:
- case MGA_VID_FORMAT_I420:
- case MGA_VID_FORMAT_IYUV:
- card->regs.besctl = 1 // BES enabled
- + (0<<6) // even start polarity
- + (1<<10) // x filtering enabled
- + (1<<11) // y filtering enabled
- + (1<<16) // chroma upsampling
- + (1<<17) // 4:2:0 mode
- + (1<<18); // dither enabled
-#if 0
- if(card->is_g400)
- {
- //zoom disabled, zoom filter disabled, 420 3 plane format, proc amp
- //disabled, rgb mode disabled
- card->regs.besglobctl = (1<<5);
- }
- else
- {
- //zoom disabled, zoom filter disabled, Cb samples in 0246, Cr
- //in 1357, BES register update on besvcnt
- card->regs.besglobctl = 0;
- }
-#endif
- break;
-
- case MGA_VID_FORMAT_YUY2:
- card->regs.besctl = 1 // BES enabled
- + (0<<6) // even start polarity
- + (1<<10) // x filtering enabled
- + (1<<11) // y filtering enabled
- + (1<<16) // chroma upsampling
- + (0<<17) // 4:2:2 mode
- + (1<<18); // dither enabled
-
- card->regs.besglobctl = 0; // YUY2 format selected
- break;
-
- case MGA_VID_FORMAT_UYVY:
- card->regs.besctl = 1 // BES enabled
- + (0<<6) // even start polarity
- + (1<<10) // x filtering enabled
- + (1<<11) // y filtering enabled
- + (1<<16) // chroma upsampling
- + (0<<17) // 4:2:2 mode
- + (1<<18); // dither enabled
-
- card->regs.besglobctl = 1<<6; // UYVY format selected
- break;
-
- default:
- printk(KERN_ERR "mga_vid: Unsupported pixel format: 0x%X\n",config->format);
- return -1;
-}
-
- // setting black&white mode
- card->regs.besctl|=(card->regs.blackie<<20);
-
- //Enable contrast and brightness control
- card->regs.besglobctl |= (1<<5) + (1<<7);
-
- // brightness (-128..127) && contrast (0..255)
- card->regs.beslumactl = (card->brightness << 16) | ((card->contrast+0x80)&0xFFFF);
-
- //Setup destination window boundaries
- besleft = x > 0 ? x : 0;
- bestop = y > 0 ? y : 0;
- card->regs.beshcoord = (besleft<<16) + (x + dw-1);
- card->regs.besvcoord = (bestop<<16) + (y + dh-1);
-
- //Setup source dimensions
- card->regs.beshsrclst = (sw - 1) << 16;
- card->regs.bespitch = (sw + 31) & ~31 ;
-
- //Setup horizontal scaling
- ifactor = ((sw-1)<<14)/(dw-1);
- ofsleft = besleft - x;
-
- card->regs.beshiscal = ifactor<<2;
- card->regs.beshsrcst = (ofsleft*ifactor)<<2;
- card->regs.beshsrcend = card->regs.beshsrcst + (((dw - ofsleft - 1) * ifactor) << 2);
-
- //Setup vertical scaling
- ifactor = ((sh-1)<<14)/(dh-1);
- ofstop = bestop - y;
-
- card->regs.besviscal = ifactor<<2;
-
- baseadrofs = ( (ofstop * card->regs.besviscal) >>16) * card->regs.bespitch;
- //frame_size = ((sw + 31) & ~31) * sh + (((sw + 31) & ~31) * sh) / 2;
- card->regs.besa1org = (uint32_t) card->src_base + baseadrofs;
- card->regs.besa2org = (uint32_t) card->src_base + baseadrofs + 1*frame_size;
- card->regs.besb1org = (uint32_t) card->src_base + baseadrofs + 2*frame_size;
- card->regs.besb2org = (uint32_t) card->src_base + baseadrofs + 3*frame_size;
-
- if(config->format==MGA_VID_FORMAT_YV12
- ||config->format==MGA_VID_FORMAT_IYUV
- ||config->format==MGA_VID_FORMAT_I420
- ){
- // planar YUV frames:
- if (card->is_g400)
- baseadrofs = ( ( (ofstop * card->regs.besviscal ) / 4 ) >> 16 ) * card->regs.bespitch;
- else
- baseadrofs = ( ( ( ofstop * card->regs.besviscal ) / 2 ) >> 16 ) * card->regs.bespitch;
-
- if(config->format==MGA_VID_FORMAT_YV12 || !card->is_g400){
- card->regs.besa1corg = (uint32_t) card->src_base + baseadrofs + card->regs.bespitch * sh ;
- card->regs.besa2corg = (uint32_t) card->src_base + baseadrofs + 1*frame_size + card->regs.bespitch * sh;
- card->regs.besb1corg = (uint32_t) card->src_base + baseadrofs + 2*frame_size + card->regs.bespitch * sh;
- card->regs.besb2corg = (uint32_t) card->src_base + baseadrofs + 3*frame_size + card->regs.bespitch * sh;
- card->regs.besa1c3org = card->regs.besa1corg + ( (card->regs.bespitch * sh) / 4);
- card->regs.besa2c3org = card->regs.besa2corg + ( (card->regs.bespitch * sh) / 4);
- card->regs.besb1c3org = card->regs.besb1corg + ( (card->regs.bespitch * sh) / 4);
- card->regs.besb2c3org = card->regs.besb2corg + ( (card->regs.bespitch * sh) / 4);
- } else {
- card->regs.besa1c3org = (uint32_t) card->src_base + baseadrofs + card->regs.bespitch * sh ;
- card->regs.besa2c3org = (uint32_t) card->src_base + baseadrofs + 1*frame_size + card->regs.bespitch * sh;
- card->regs.besb1c3org = (uint32_t) card->src_base + baseadrofs + 2*frame_size + card->regs.bespitch * sh;
- card->regs.besb2c3org = (uint32_t) card->src_base + baseadrofs + 3*frame_size + card->regs.bespitch * sh;
- card->regs.besa1corg = card->regs.besa1c3org + ((card->regs.bespitch * sh) / 4);
- card->regs.besa2corg = card->regs.besa2c3org + ((card->regs.bespitch * sh) / 4);
- card->regs.besb1corg = card->regs.besb1c3org + ((card->regs.bespitch * sh) / 4);
- card->regs.besb2corg = card->regs.besb2c3org + ((card->regs.bespitch * sh) / 4);
- }
- }
-
- weight = ofstop * (card->regs.besviscal >> 2);
- weights = weight < 0 ? 1 : 0;
- card->regs.besv2wght = card->regs.besv1wght = (weights << 16) + ((weight & 0x3FFF) << 2);
- card->regs.besv2srclst = card->regs.besv1srclst = sh - 1 - (((ofstop * card->regs.besviscal) >> 16) & 0x03FF);
-
-#ifdef CRTC2
- // pridat hlavni registry - tj. casovani ...
-
-
- switch(config->format){
- case MGA_VID_FORMAT_YV12:
- case MGA_VID_FORMAT_I420:
- case MGA_VID_FORMAT_IYUV:
- card->cregs.c2ctl = 1 // CRTC2 enabled
- + (1<<1) // external clock
- + (0<<2) // external clock
- + (1<<3) // pixel clock enable - not needed ???
- + (0<<4) // high prioryty req
- + (1<<5) // high prioryty req
- + (0<<6) // high prioryty req
- + (1<<8) // high prioryty req max
- + (0<<9) // high prioryty req max
- + (0<<10) // high prioryty req max
- + (0<<20) // CRTC1 to DAC
- + (1<<21) // 420 mode
- + (1<<22) // 420 mode
- + (1<<23) // 420 mode
- + (0<<24) // single chroma line for 420 mode - need to be corrected
- + (0<<25) /*/ interlace mode - need to be corrected*/
- + (0<<26) // field legth polariry
- + (0<<27) // field identification polariry
- + (1<<28) // VIDRST detection mode
- + (0<<29) // VIDRST detection mode
- + (1<<30) // Horizontal counter preload
- + (1<<31) // Vertical counter preload
- ;
- card->cregs.c2datactl = 1 // disable dither - propably not needed, we are already in YUV mode
- + (1<<1) // Y filter enable
- + (1<<2) // CbCr filter enable
- + (0<<3) // subpicture enable (disabled)
- + (0<<4) // NTSC enable (disabled - PAL)
- + (0<<5) // C2 static subpicture enable (disabled)
- + (0<<6) // C2 subpicture offset division (disabled)
- + (0<<7) // 422 subformat selection !
-/* + (0<<8) // 15 bpp high alpha
- + (0<<9) // 15 bpp high alpha
- + (0<<10) // 15 bpp high alpha
- + (0<<11) // 15 bpp high alpha
- + (0<<12) // 15 bpp high alpha
- + (0<<13) // 15 bpp high alpha
- + (0<<14) // 15 bpp high alpha
- + (0<<15) // 15 bpp high alpha
- + (0<<16) // 15 bpp low alpha
- + (0<<17) // 15 bpp low alpha
- + (0<<18) // 15 bpp low alpha
- + (0<<19) // 15 bpp low alpha
- + (0<<20) // 15 bpp low alpha
- + (0<<21) // 15 bpp low alpha
- + (0<<22) // 15 bpp low alpha
- + (0<<23) // 15 bpp low alpha
- + (0<<24) // static subpicture key
- + (0<<25) // static subpicture key
- + (0<<26) // static subpicture key
- + (0<<27) // static subpicture key
- + (0<<28) // static subpicture key
-*/ ;
- break;
-
- case MGA_VID_FORMAT_YUY2:
- card->cregs.c2ctl = 1 // CRTC2 enabled
- + (1<<1) // external clock
- + (0<<2) // external clock
- + (1<<3) // pixel clock enable - not needed ???
- + (0<<4) // high prioryty req - acc to spec
- + (1<<5) // high prioryty req
- + (0<<6) // high prioryty req
- // 7 reserved
- + (1<<8) // high prioryty req max
- + (0<<9) // high prioryty req max
- + (0<<10) // high prioryty req max
- // 11-19 reserved
- + (0<<20) // CRTC1 to DAC
- + (1<<21) // 422 mode
- + (0<<22) // 422 mode
- + (1<<23) // 422 mode
- + (0<<24) // single chroma line for 420 mode - need to be corrected
- + (0<<25) /*/ interlace mode - need to be corrected*/
- + (0<<26) // field legth polariry
- + (0<<27) // field identification polariry
- + (1<<28) // VIDRST detection mode
- + (0<<29) // VIDRST detection mode
- + (1<<30) // Horizontal counter preload
- + (1<<31) // Vertical counter preload
- ;
- card->cregs.c2datactl = 1 // disable dither - propably not needed, we are already in YUV mode
- + (1<<1) // Y filter enable
- + (1<<2) // CbCr filter enable
- + (0<<3) // subpicture enable (disabled)
- + (0<<4) // NTSC enable (disabled - PAL)
- + (0<<5) // C2 static subpicture enable (disabled)
- + (0<<6) // C2 subpicture offset division (disabled)
- + (0<<7) // 422 subformat selection !
-/* + (0<<8) // 15 bpp high alpha
- + (0<<9) // 15 bpp high alpha
- + (0<<10) // 15 bpp high alpha
- + (0<<11) // 15 bpp high alpha
- + (0<<12) // 15 bpp high alpha
- + (0<<13) // 15 bpp high alpha
- + (0<<14) // 15 bpp high alpha
- + (0<<15) // 15 bpp high alpha
- + (0<<16) // 15 bpp low alpha
- + (0<<17) // 15 bpp low alpha
- + (0<<18) // 15 bpp low alpha
- + (0<<19) // 15 bpp low alpha
- + (0<<20) // 15 bpp low alpha
- + (0<<21) // 15 bpp low alpha
- + (0<<22) // 15 bpp low alpha
- + (0<<23) // 15 bpp low alpha
- + (0<<24) // static subpicture key
- + (0<<25) // static subpicture key
- + (0<<26) // static subpicture key
- + (0<<27) // static subpicture key
- + (0<<28) // static subpicture key
-*/ ;
- break;
-
- case MGA_VID_FORMAT_UYVY:
- card->cregs.c2ctl = 1 // CRTC2 enabled
- + (1<<1) // external clock
- + (0<<2) // external clock
- + (1<<3) // pixel clock enable - not needed ???
- + (0<<4) // high prioryty req
- + (1<<5) // high prioryty req
- + (0<<6) // high prioryty req
- + (1<<8) // high prioryty req max
- + (0<<9) // high prioryty req max
- + (0<<10) // high prioryty req max
- + (0<<20) // CRTC1 to DAC
- + (1<<21) // 422 mode
- + (0<<22) // 422 mode
- + (1<<23) // 422 mode
- + (1<<24) // single chroma line for 420 mode - need to be corrected
- + (1<<25) /*/ interlace mode - need to be corrected*/
- + (0<<26) // field legth polariry
- + (0<<27) // field identification polariry
- + (1<<28) // VIDRST detection mode
- + (0<<29) // VIDRST detection mode
- + (1<<30) // Horizontal counter preload
- + (1<<31) // Vertical counter preload
- ;
- card->cregs.c2datactl = 0 // enable dither - propably not needed, we are already in YUV mode
- + (1<<1) // Y filter enable
- + (1<<2) // CbCr filter enable
- + (0<<3) // subpicture enable (disabled)
- + (0<<4) // NTSC enable (disabled - PAL)
- + (0<<5) // C2 static subpicture enable (disabled)
- + (0<<6) // C2 subpicture offset division (disabled)
- + (1<<7) // 422 subformat selection !
-/* + (0<<8) // 15 bpp high alpha
- + (0<<9) // 15 bpp high alpha
- + (0<<10) // 15 bpp high alpha
- + (0<<11) // 15 bpp high alpha
- + (0<<12) // 15 bpp high alpha
- + (0<<13) // 15 bpp high alpha
- + (0<<14) // 15 bpp high alpha
- + (0<<15) // 15 bpp high alpha
- + (0<<16) // 15 bpp low alpha
- + (0<<17) // 15 bpp low alpha
- + (0<<18) // 15 bpp low alpha
- + (0<<19) // 15 bpp low alpha
- + (0<<20) // 15 bpp low alpha
- + (0<<21) // 15 bpp low alpha
- + (0<<22) // 15 bpp low alpha
- + (0<<23) // 15 bpp low alpha
- + (0<<24) // static subpicture key
- + (0<<25) // static subpicture key
- + (0<<26) // static subpicture key
- + (0<<27) // static subpicture key
- + (0<<28) // static subpicture key
-*/ ;
- break;
-
- default:
- printk(KERN_ERR "mga_vid: Unsupported pixel format: 0x%X\n",config->format);
- return -1;
- }
-
- card->cregs.c2hparam = ( (hdispend - 8) << 16) | (htotal - 8);
- card->cregs.c2hsync = ( (hsyncend - 8) << 16) | (hsyncstart - 8);
-
- card->cregs.c2misc = 0 // CRTCV2 656 togg f0
- + (0<<1) // CRTCV2 656 togg f0
- + (0<<2) // CRTCV2 656 togg f0
- + (0<<4) // CRTCV2 656 togg f1
- + (0<<5) // CRTCV2 656 togg f1
- + (0<<6) // CRTCV2 656 togg f1
- + (0<<8) // Hsync active high
- + (0<<9) // Vsync active high
- // 16-27 c2vlinecomp - nevim co tam dat
- ;
- card->cregs.c2offset=(card->regs.bespitch << 1);
-
- card->cregs.c2pl2startadd0=card->regs.besa1corg;
-// card->cregs.c2pl2startadd1=card->regs.besa2corg;
- card->cregs.c2pl3startadd0=card->regs.besa1c3org;
-// card->cregs.c2pl3startadd1=card->regs.besa2c3org;
-
- card->cregs.c2preload=(vsyncstart << 16) | (hsyncstart); // from
-
- card->cregs.c2spicstartadd0=0; // not used
-// card->cregs.c2spicstartadd1=0; // not used
-
- card->cregs.c2startadd0=card->regs.besa1org;
-// card->cregs.c2startadd1=card->regs.besa2org;
-
- card->cregs.c2subpiclut=0; //not used
-
- card->cregs.c2vparam = ( (vdispend - 1) << 16) | (vtotal - 1);
- card->cregs.c2vsync = ( (vsyncend - 1) << 16) | (vsyncstart - 1);
-
-
-#endif
-
- mga_vid_write_regs(card, 0);
- return 0;
-}
-
-#ifdef MGA_ALLOW_IRQ
-
-static void enable_irq(mga_card_t * card){
- long int cc;
-
- cc = readl(card->mmio_base + IEN);
-// printk(KERN_ALERT "*** !!! IRQREG = %d\n", (int)(cc&0xff));
-
- writeb(0x11, card->mmio_base + CRTCX);
-
- writeb(0x20, card->mmio_base + CRTCD); /* clear 0, enable off */
- writeb(0x00, card->mmio_base + CRTCD); /* enable on */
- writeb(0x10, card->mmio_base + CRTCD); /* clear = 1 */
-
- writel(card->regs.besglobctl , card->mmio_base + BESGLOBCTL);
-}
-
-static void disable_irq(mga_card_t * card){
- writeb(0x11, card->mmio_base + CRTCX);
- writeb(0x20, card->mmio_base + CRTCD); /* clear 0, enable off */
-}
-
-static void mga_handle_irq(int irq, void *dev_id, struct pt_regs *pregs) {
-// static int frame=0;
-// static int counter=0;
- long int cc;
- mga_card_t * card = dev_id;
-
-// printk(KERN_DEBUG "vcount = %d\n",readl(mga_mmio_base + VCOUNT));
-
- //printk("mga_interrupt #%d\n", irq);
-
- // check whether the interrupt is really for us (irq sharing)
- if ( irq != -1 ) {
- cc = readl(card->mmio_base + STATUS);
- if ( ! (cc & 0x10) ) return; /* vsyncpen */
-// debug_irqcnt++;
- }
-
-// if ( debug_irqignore ) {
-// debug_irqignore = 0;
-
-// frame=(frame+1)&1;
- card->regs.besctl = (card->regs.besctl & ~0x07000000) + (card->next_frame << 25);
- writel( card->regs.besctl, card->mmio_base + BESCTL );
-
-#ifdef CRTC2
-// sem pridat vyber obrazku !!!!
-// i han echt kei ahnig was das obe heisse söll
- crtc2_frame_sel(card->next_frame);
-#endif
-
-#if 0
- ++counter;
- if(!(counter&63)){
- printk("mga irq counter = %d\n",counter);
- }
-#endif
-
-// } else {
-// debug_irqignore = 1;
-// }
-
- if ( irq != -1 ) {
- writeb( 0x11, card->mmio_base + CRTCX);
- writeb( 0, card->mmio_base + CRTCD );
- writeb( 0x10, card->mmio_base + CRTCD );
- }
-
-// writel( card->regs.besglobctl, card->mmio_base + BESGLOBCTL);
-
- return;
-}
-
-#endif
-
-static int mga_vid_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
-{
- int frame, result;
- uint32_t tmp;
- mga_card_t * card = (mga_card_t *) file->private_data;
-
- switch(cmd)
- {
- case MGA_VID_GET_VERSION:
- tmp = MGA_VID_VERSION;
- if (copy_to_user((uint32_t *) arg, &tmp, sizeof(uint32_t))) {
- printk(KERN_ERR "mga_vid: failed copy %p to userspace %p\n", &tmp, (uint32_t *) arg);
- return -EFAULT;
- }
- break;
-
- case MGA_VID_CONFIG:
- //FIXME remove
-// printk(KERN_DEBUG "mga_vid: vcount = %d\n",readl(card->mmio_base + VCOUNT));
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga_vid: mmio_base = %p\n",card->mmio_base);
- printk(KERN_DEBUG "mga_vid: mem_base = %08x\n",card->mem_base);
- //FIXME remove
-
- printk(KERN_DEBUG "mga_vid: Received configuration\n");
-#endif
-
- if(copy_from_user(&card->config,(mga_vid_config_t*) arg,sizeof(mga_vid_config_t)))
- {
- printk(KERN_ERR "mga_vid: failed copy from userspace\n");
- return -EFAULT;
- }
- if(card->config.version != MGA_VID_VERSION){
- printk(KERN_ERR "mga_vid: incompatible version! driver: %X requested: %X\n",MGA_VID_VERSION,card->config.version);
- return -EFAULT;
- }
-
- if(card->config.frame_size==0 || card->config.frame_size>1024*768*2){
- printk(KERN_ERR "mga_vid: illegal frame_size: %d\n",card->config.frame_size);
- return -EFAULT;
- }
-
- if(card->config.num_frames<1 || card->config.num_frames>4){
- printk(KERN_ERR "mga_vid: illegal num_frames: %d\n",card->config.num_frames);
- return -EFAULT;
- }
-
- card->src_base = (card->ram_size * 0x100000 - card->config.num_frames * card->config.frame_size - card->top_reserved);
- if(card->src_base<0){
- printk(KERN_ERR "mga_vid: not enough memory for frames!\n");
- return -EFAULT;
- }
- card->src_base &= (~0xFFFF); // 64k boundary
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga YUV buffer base: 0x%X\n", card->src_base);
-#endif
-
- if (card->is_g400)
- card->config.card_type = MGA_G400;
- else
- card->config.card_type = MGA_G200;
-
- card->config.ram_size = card->ram_size;
-
- if (copy_to_user((mga_vid_config_t *) arg, &card->config, sizeof(mga_vid_config_t)))
- {
- printk(KERN_ERR "mga_vid: failed copy to userspace\n");
- return -EFAULT;
- }
-
- result = mga_vid_set_config(card);
- if(!result) card->configured=1;
- return result;
- break;
-
- case MGA_VID_ON:
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga_vid: Video ON\n");
-#endif
- card->vid_src_ready = 1;
- if(card->vid_overlay_on)
- {
- card->regs.besctl |= 1;
- mga_vid_write_regs(card, 0);
- }
-#ifdef MGA_ALLOW_IRQ
- if ( card->irq != -1 ) enable_irq(card);
-#endif
- card->next_frame=0;
- break;
-
- case MGA_VID_OFF:
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga_vid: Video OFF (ioctl)\n");
-#endif
- card->vid_src_ready = 0;
-#ifdef MGA_ALLOW_IRQ
- if ( card->irq != -1 ) disable_irq(card);
-#endif
- card->regs.besctl &= ~1;
- card->regs.besglobctl &= ~(1<<6); // UYVY format selected
- mga_vid_write_regs(card, 0);
- break;
-
- case MGA_VID_FSEL:
- if(copy_from_user(&frame,(int *) arg,sizeof(int)))
- {
- printk(KERN_ERR "mga_vid: FSEL failed copy from userspace\n");
- return -EFAULT;
- }
-
- mga_vid_frame_sel(card, frame);
- break;
-
- case MGA_VID_GET_LUMA:
- //tmp = card->regs.beslumactl;
- //tmp = (tmp&0xFFFF0000) | (((tmp&0xFFFF) - 0x80)&0xFFFF);
- tmp = (card->brightness << 16) | (card->contrast&0xFFFF);
-
- if (copy_to_user((uint32_t *) arg, &tmp, sizeof(uint32_t)))
- {
- printk(KERN_ERR "mga_vid: failed copy %p to userspace %p\n",
- &tmp, (uint32_t *) arg);
- return -EFAULT;
- }
- break;
-
- case MGA_VID_SET_LUMA:
- tmp = arg;
- card->brightness=tmp>>16; card->contrast=tmp&0xFFFF;
- //card->regs.beslumactl = (tmp&0xFFFF0000) | ((tmp + 0x80)&0xFFFF);
- card->regs.beslumactl = (card->brightness << 16) | ((card->contrast+0x80)&0xFFFF);
- mga_vid_write_regs(card, 0);
- break;
-
- default:
- printk(KERN_ERR "mga_vid: Invalid ioctl\n");
- return -EINVAL;
- }
-
- return 0;
-}
-
-static void cards_init(mga_card_t * card, struct pci_dev * dev, int card_number, int is_g400);
-
-// returns the number of found cards
-static int mga_vid_find_card(void)
-{
- struct pci_dev *dev = NULL;
- char *mga_dev_name;
- mga_card_t * card;
-
- while((dev = pci_find_device(PCI_VENDOR_ID_MATROX, PCI_ANY_ID, dev)))
- {
- mga_dev_name = "";
- mga_cards_num++;
- if(mga_cards_num == MGA_MAX_CARDS)
- {
- printk(KERN_WARNING "mga_vid: Trying to initialize more than %d cards\n",MGA_MAX_CARDS);
- mga_cards_num--;
- break;
- }
-
- card = kmalloc(sizeof(mga_card_t), GFP_KERNEL);
- if(!card)
- {
- printk(KERN_ERR "mga_vid: memory allocation failed\n");
- mga_cards_num--;
- break;
- }
-
- mga_cards[mga_cards_num - 1] = card;
-
- switch(dev->device) {
- case PCI_DEVICE_ID_MATROX_G550:
- mga_dev_name = "MGA G550";
- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
- cards_init(card, dev, mga_cards_num - 1, 1);
- break;
- case PCI_DEVICE_ID_MATROX_G400:
- mga_dev_name = "MGA G400/G450";
- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
- cards_init(card, dev, mga_cards_num - 1, 1);
- break;
- case PCI_DEVICE_ID_MATROX_G200_AGP:
- mga_dev_name = "MGA G200 AGP";
- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
- cards_init(card, dev, mga_cards_num - 1, 0);
- break;
- case PCI_DEVICE_ID_MATROX_G200_PCI:
- mga_dev_name = "MGA G200";
- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
- cards_init(card, dev, mga_cards_num - 1, 0);
- break;
- default:
- mga_cards_num--;
- printk(KERN_INFO "mga_vid: ignoring matrox device (%d) at %s [%s]\n", dev->device, dev->slot_name, dev->name);
- break;
- }
- }
-
- if(!mga_cards_num)
- {
- printk(KERN_ERR "mga_vid: No supported cards found\n");
- } else {
- printk(KERN_INFO "mga_vid: %d supported cards found\n", mga_cards_num);
- }
-
- return mga_cards_num;
-}
-
-static void mga_param_buff_fill( mga_card_t * card )
-{
- unsigned len;
- unsigned size = card->param_buff_size;
- char * buf = card->param_buff;
- len = 0;
- len += snprintf(&buf[len],size-len,"Interface version: %04X\n",MGA_VID_VERSION);
- len += snprintf(&buf[len],size-len,"Memory: %x:%dM\n",card->mem_base,(unsigned int) card->ram_size);
- len += snprintf(&buf[len],size-len,"MMIO: %p\n",card->mmio_base);
- len += snprintf(&buf[len],size-len,"Configurable stuff:\n");
- len += snprintf(&buf[len],size-len,"~~~~~~~~~~~~~~~~~~~\n");
- len += snprintf(&buf[len],size-len,PARAM_BRIGHTNESS"%d\n",card->brightness);
- len += snprintf(&buf[len],size-len,PARAM_CONTRAST"%d\n",card->contrast);
- len += snprintf(&buf[len],size-len,PARAM_BLACKIE"%s\n",card->regs.blackie?"on":"off");
- card->param_buff_len = len;
- // check boundaries of mga_param_buff before writing to it!!!
-}
-
-
-static ssize_t mga_vid_read(struct file *file, char *buf, size_t count, loff_t *ppos)
-{
- uint32_t size;
- mga_card_t * card = (mga_card_t *) file->private_data;
-
- if(!card->param_buff) return -ESPIPE;
- if(!(*ppos)) mga_param_buff_fill(card);
- if(*ppos >= card->param_buff_len) return 0;
- size = min(count,card->param_buff_len-(uint32_t)(*ppos));
- memcpy(buf,card->param_buff,size);
- *ppos += size;
- return size;
-}
-
-static ssize_t mga_vid_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
-{
- mga_card_t * card = (mga_card_t *) file->private_data;
-
- if(memcmp(buf,PARAM_BRIGHTNESS,min(count,strlen(PARAM_BRIGHTNESS))) == 0)
- {
- short brightness;
- brightness=simple_strtol(&buf[strlen(PARAM_BRIGHTNESS)],NULL,10);
- if (brightness>127 || brightness<-128) { brightness=0;}
-// printk(KERN_DEBUG "mga_vid: brightness modified ( %d ) \n",brightness);
- card->brightness=brightness;
- } else
- if(memcmp(buf,PARAM_CONTRAST,min(count,strlen(PARAM_CONTRAST))) == 0)
- {
- short contrast;
- contrast=simple_strtol(&buf[strlen(PARAM_CONTRAST)],NULL,10);
- if (contrast>127 || contrast<-128) { contrast=0;}
-// printk(KERN_DEBUG "mga_vid: contrast modified ( %d ) \n",contrast);
- card->contrast=contrast;
- } else
-
- if(memcmp(buf,PARAM_BLACKIE,min(count,strlen(PARAM_BLACKIE))) == 0)
- {
- short blackie;
- blackie=simple_strtol(&buf[strlen(PARAM_BLACKIE)],NULL,10);
-// printk(KERN_DEBUG "mga_vid: shadow mode: ( %d ) \n",blackie);
- card->regs.blackie=(blackie>0)?1:0;
- } else count = -EIO;
- // TODO: reset settings
- return count;
-}
-
-static int mga_vid_mmap(struct file *file, struct vm_area_struct *vma)
-{
- mga_card_t * card = (mga_card_t *) file->private_data;
-
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga_vid: mapping video memory into userspace\n");
-#endif
-
- if(!card->configured)
- {
- printk(KERN_ERR "mga_vid: card is not configured, cannot mmap\n");
- return -EAGAIN;
- }
-
- if(remap_page_range(vma->vm_start, card->mem_base + card->src_base,
- vma->vm_end - vma->vm_start, vma->vm_page_prot))
- {
- printk(KERN_ERR "mga_vid: error mapping video memory\n");
- return -EAGAIN;
- }
-
- return 0;
-}
-
-static int mga_vid_release(struct inode *inode, struct file *file)
-{
- mga_card_t * card;
-
- //Close the window just in case
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga_vid: Video OFF (release)\n");
-#endif
-
- card = (mga_card_t *) file->private_data;
-
- card->vid_src_ready = 0;
- card->regs.besctl &= ~1;
- card->regs.besglobctl &= ~(1<<6); // UYVY format selected
-// card->config.colkey_on=0; //!!!
- mga_vid_write_regs(card, 1);
- card->vid_in_use = 0;
-
- MOD_DEC_USE_COUNT;
- return 0;
-}
-
-static long long mga_vid_lseek(struct file *file, long long offset, int origin)
-{
- return -ESPIPE;
-}
-
-static int mga_vid_open(struct inode *inode, struct file *file)
-{
- mga_card_t * card;
-
- int minor = MINOR(inode->i_rdev);
-
- if(!file->private_data)
- {
- // we are not using devfs, use the minor
- // number to specify the card we are using
-
- // we don't have that many cards
- if(minor >= mga_cards_num)
- return -ENXIO;
-
- file->private_data = mga_cards[minor];
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "mga_vid: Not using devfs\n");
-#endif
- }
-#ifdef MP_DEBUG
- else {
- printk(KERN_DEBUG "mga_vid: Using devfs\n");
- }
-#endif
-
- card = (mga_card_t *) file->private_data;
-
- if(card->vid_in_use == 1)
- return -EBUSY;
-
- card->vid_in_use = 1;
- MOD_INC_USE_COUNT;
- return 0;
-}
-
-#if LINUX_VERSION_CODE >= 0x020400
-static struct file_operations mga_vid_fops =
-{
- llseek: mga_vid_lseek,
- read: mga_vid_read,
- write: mga_vid_write,
- ioctl: mga_vid_ioctl,
- mmap: mga_vid_mmap,
- open: mga_vid_open,
- release: mga_vid_release
-};
-#else
-static struct file_operations mga_vid_fops =
-{
- mga_vid_lseek,
- mga_vid_read,
- mga_vid_write,
- NULL,
- NULL,
- mga_vid_ioctl,
- mga_vid_mmap,
- mga_vid_open,
- NULL,
- mga_vid_release
-};
-#endif
-
-static void cards_init(mga_card_t * card, struct pci_dev * dev, int card_number, int is_g400)
-{
- unsigned int card_option;
-// temp buffer for device filename creation used only by devfs
-#ifdef CONFIG_DEVFS_FS
- char buffer[16];
-#endif
-
- memset(card,0,sizeof(mga_card_t));
- card->irq = -1;
-
- card->pci_dev = dev;
- card->irq = dev->irq;
- card->is_g400 = is_g400;
-
- card->param_buff = kmalloc(PARAM_BUFF_SIZE,GFP_KERNEL);
- if(card->param_buff) card->param_buff_size = PARAM_BUFF_SIZE;
-
- card->brightness = mga_brightness[card_number];
- card->contrast = mga_contrast[card_number];
- card->top_reserved = mga_top_reserved[card_number];
-
-#if LINUX_VERSION_CODE >= 0x020300
- card->mmio_base = ioremap_nocache(dev->resource[1].start,0x4000);
- card->mem_base = dev->resource[0].start;
-#else
- card->mmio_base = ioremap_nocache(dev->base_address[1] & PCI_BASE_ADDRESS_MEM_MASK,0x4000);
- card->mem_base = dev->base_address[0] & PCI_BASE_ADDRESS_MEM_MASK;
-#endif
- printk(KERN_INFO "mga_vid: MMIO at 0x%p IRQ: %d framebuffer: 0x%08X\n", card->mmio_base, card->irq, card->mem_base);
-
- pci_read_config_dword(dev, 0x40, &card_option);
- printk(KERN_INFO "mga_vid: OPTION word: 0x%08X mem: 0x%02X %s\n", card_option,
- (card_option>>10)&0x17, ((card_option>>14)&1)?"SGRAM":"SDRAM");
-
- if (mga_ram_size[card_number]) {
- printk(KERN_INFO "mga_vid: RAMSIZE forced to %d MB\n", mga_ram_size[card_number]);
- card->ram_size=mga_ram_size[card_number];
- } else {
-
-#ifdef MGA_MEMORY_SIZE
- card->ram_size = MGA_MEMORY_SIZE;
- printk(KERN_INFO "mga_vid: hard-coded RAMSIZE is %d MB\n", (unsigned int) card->ram_size);
-#else
- if (card->is_g400){
- switch((card_option>>10)&0x17){
- // SDRAM:
- case 0x00:
- case 0x04: card->ram_size = 16; break;
- case 0x03:
- case 0x05: card->ram_size = 32; break;
- // SGRAM:
- case 0x10:
- case 0x14: card->ram_size = 32; break;
- case 0x11:
- case 0x12: card->ram_size = 16; break;
- default:
- card->ram_size = 16;
- printk(KERN_INFO "mga_vid: Couldn't detect RAMSIZE, assuming 16MB!");
- }
- /* Check for buggy 16MB cards reporting 32 MB */
- if(card->ram_size != 16 &&
- (dev->subsystem_device == PCI_SUBSYSTEM_ID_MATROX_G400_16MB_SDRAM ||
- dev->subsystem_device == PCI_SUBSYSTEM_ID_MATROX_G400_16MB_SGRAM ||
- dev->subsystem_device == PCI_SUBSYSTEM_ID_MATROX_G400_DH_16MB))
- {
- printk(KERN_INFO "mga_vid: Detected 16MB card reporting %d MB RAMSIZE, overriding\n", card->ram_size);
- card->ram_size = 16;
- }
- }else{
- switch((card_option>>10)&0x17){
-// case 0x10:
-// case 0x13: card->ram_size = 8; break;
- default: card->ram_size = 8;
- }
- }
-#if 0
-// printk("List resources -----------\n");
- for(temp=0;temp<DEVICE_COUNT_RESOURCE;temp++){
- struct resource *res=&dev->resource[temp];
- if(res->flags){
- int size=(1+res->end-res->start)>>20;
- printk(KERN_DEBUG "res %d: start: 0x%X end: 0x%X (%d MB) flags=0x%X\n",temp,res->start,res->end,size,res->flags);
- if(res->flags&(IORESOURCE_MEM|IORESOURCE_PREFETCH)){
- if(size>card->ram_size && size<=64) card->ram_size=size;
- }
- }
- }
-#endif
- printk(KERN_INFO "mga_vid: detected RAMSIZE is %d MB\n", (unsigned int) card->ram_size);
-#endif
- }
-
-
-#ifdef MGA_ALLOW_IRQ
- if ( card->irq != -1 ) {
- int tmp = request_irq(card->irq, mga_handle_irq, SA_INTERRUPT | SA_SHIRQ, "Syncfb Time Base", card);
- if ( tmp ) {
- printk(KERN_INFO "syncfb (mga): cannot register irq %d (Err: %d)\n", card->irq, tmp);
- card->irq=-1;
- } else {
- printk(KERN_DEBUG "syncfb (mga): registered irq %d\n", card->irq);
- }
- } else {
- printk(KERN_INFO "syncfb (mga): No valid irq was found\n");
- card->irq=-1;
- }
-#else
- printk(KERN_INFO "syncfb (mga): IRQ disabled in mga_vid.c\n");
- card->irq=-1;
-#endif
-
- // register devfs, let the kernel give us major and minor numbers
-#ifdef CONFIG_DEVFS_FS
- snprintf(buffer, 16, "mga_vid%d", card_number);
- card->dev_handle = devfs_register(NULL, buffer, DEVFS_FL_AUTO_DEVNUM,
- 0, 0,
- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IFCHR,
- &mga_vid_fops, card);
-#endif
-}
-
-/*
- * Main Initialization Function
- */
-
-static int mga_vid_initialize(void)
-{
- int i;
-
-// printk(KERN_INFO "Matrox MGA G200/G400 YUV Video interface v0.01 (c) Aaron Holtzman \n");
- printk(KERN_INFO "Matrox MGA G200/G400/G450/G550 YUV Video interface v2.01 (c) Aaron Holtzman & A'rpi\n");
-
- for(i = 0; i < MGA_MAX_CARDS; i++)
- {
- if (mga_ram_size[i]) {
- if (mga_ram_size[i]<4 || mga_ram_size[i]>64) {
- printk(KERN_ERR "mga_vid: invalid RAMSIZE: %d MB\n", mga_ram_size[i]);
- return -EINVAL;
- }
- }
- }
-
- if(register_chrdev(major, "mga_vid", &mga_vid_fops))
- {
- printk(KERN_ERR "mga_vid: unable to get major: %d\n", major);
- return -EIO;
- }
-
- if (!mga_vid_find_card())
- {
- printk(KERN_ERR "mga_vid: no supported devices found\n");
- unregister_chrdev(major, "mga_vid");
- return -EINVAL;
- }
-#ifdef CONFIG_DEVFS_FS
- else {
- // we assume that this always succeedes
- dev_handle = devfs_register(NULL, "mga_vid", DEVFS_FL_AUTO_DEVNUM,
- 0,0,
- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IFCHR,
- &mga_vid_fops, mga_cards[0]);
- }
-#endif
-
- return 0;
-}
-
-int init_module(void)
-{
- return mga_vid_initialize();
-}
-
-void cleanup_module(void)
-{
- int i;
- mga_card_t * card;
-
- for (i = 0; i < MGA_MAX_CARDS; i++)
- {
- card = mga_cards[i];
- if(card)
- {
-#ifdef MGA_ALLOW_IRQ
- if (card->irq != -1)
- free_irq(card->irq, &(card->irq));
-#endif
-
- if(card->mmio_base)
- iounmap(card->mmio_base);
- if(card->param_buff)
- kfree(card->param_buff);
-#ifdef CONFIG_DEVFS_FS
- if(card->dev_handle) devfs_unregister(card->dev_handle);
-#endif
-
- kfree(card);
- mga_cards[i]=NULL;
- }
- }
-
- //FIXME turn off BES
- printk(KERN_INFO "mga_vid: Cleaning up module\n");
-#ifdef CONFIG_DEVFS_FS
- if(dev_handle) devfs_unregister(dev_handle);
-#endif
- unregister_chrdev(major, "mga_vid");
-}
diff --git a/drivers/mga_vid.h b/drivers/mga_vid.h
deleted file mode 100644
index 0e9dcfc..0000000
--- a/drivers/mga_vid.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Matrox MGA G200/G400 YUV Video Interface module Version 0.1.0
- * BES == Back End Scaler
- *
- * Copyright (C) 1999 Aaron Holtzman
- *
- * This file is part of mga_vid.
- *
- * mga_vid is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mga_vid is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with mga_vid; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MGA_VID_H
-#define MGA_VID_H
-
-typedef struct mga_vid_config_s
-{
-uint16_t version;
-uint16_t card_type;
-uint32_t ram_size;
-uint32_t src_width;
-uint32_t src_height;
-uint32_t dest_width;
-uint32_t dest_height;
-uint32_t x_org;
-uint32_t y_org;
-uint8_t colkey_on;
-uint8_t colkey_red;
-uint8_t colkey_green;
-uint8_t colkey_blue;
-uint32_t format;
-uint32_t frame_size;
-uint32_t num_frames;
-uint32_t capabilities;
-} mga_vid_config_t;
-
-/* supported FOURCCs */
-#define MGA_VID_FORMAT_YV12 0x32315659
-#define MGA_VID_FORMAT_IYUV (('I'<<24)|('Y'<<16)|('U'<<8)|'V')
-#define MGA_VID_FORMAT_I420 (('I'<<24)|('4'<<16)|('2'<<8)|'0')
-#define MGA_VID_FORMAT_YUY2 (('Y'<<24)|('U'<<16)|('Y'<<8)|'2')
-#define MGA_VID_FORMAT_UYVY (('U'<<24)|('Y'<<16)|('V'<<8)|'Y')
-
-/* ioctl commands */
-#define MGA_VID_GET_VERSION _IOR ('J', 1, uint32_t)
-#define MGA_VID_CONFIG _IOWR('J', 2, mga_vid_config_t)
-#define MGA_VID_ON _IO ('J', 3)
-#define MGA_VID_OFF _IO ('J', 4)
-#define MGA_VID_FSEL _IOW ('J', 5, uint32_t)
-#define MGA_VID_GET_LUMA _IOR ('J', 6, uint32_t)
-#define MGA_VID_SET_LUMA _IOW ('J', 7, uint32_t)
-
-/* card identifiers */
-#define MGA_G200 0x1234
-#define MGA_G400 0x5678
-// currently unused, G450 are mapped to MGA_G400
-// #define MGA_G450 0x9ABC
-#define MGA_G550 0xDEF0
-
-/* version of the mga_vid_config struct */
-#define MGA_VID_VERSION 0x0202
-
-#endif /* MGA_VID_H */
diff --git a/drivers/mga_vid_test.c b/drivers/mga_vid_test.c
deleted file mode 100644
index 8555905..0000000
--- a/drivers/mga_vid_test.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (C) 1999 Aaron Holtzman <aholtzma at ess.engr.uvic.ca>
- *
- * This file is part of mga_vid.
- *
- * mga_vid is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mga_vid is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with mga_vid; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-//#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <inttypes.h>
-#include <string.h>
-#include "mga_vid.h"
-
-mga_vid_config_t config;
-uint8_t *mga_vid_base;
-uint32_t is_g400;
-
-#define SRC_IMAGE_WIDTH 256
-#define SRC_IMAGE_HEIGHT 256
-
-uint8_t y_image[SRC_IMAGE_WIDTH * SRC_IMAGE_HEIGHT];
-uint8_t cr_image[SRC_IMAGE_WIDTH * SRC_IMAGE_HEIGHT];
-uint8_t cb_image[SRC_IMAGE_WIDTH * SRC_IMAGE_HEIGHT];
-
-
-void
-write_frame_g200(uint8_t *y,uint8_t *cr, uint8_t *cb)
-{
- uint8_t *dest;
- uint32_t bespitch,h,w;
-
- dest = mga_vid_base;
- bespitch = (config.src_width + 31) & ~31;
-
- for(h=0; h < config.src_height; h++)
- {
- memcpy(dest, y, config.src_width);
- y += config.src_width;
- dest += bespitch;
- }
-
- for(h=0; h < config.src_height/2; h++)
- {
- for(w=0; w < config.src_width/2; w++)
- {
- *dest++ = *cb++;
- *dest++ = *cr++;
- }
- dest += bespitch - config.src_width;
- }
-}
-
-void
-write_frame_g400(uint8_t *y,uint8_t *cr, uint8_t *cb)
-{
- uint8_t *dest;
- uint32_t bespitch,h;
-
- dest = mga_vid_base;
- bespitch = (config.src_width + 31) & ~31;
-
- for(h=0; h < config.src_height; h++)
- {
- memcpy(dest, y, config.src_width);
- y += config.src_width;
- dest += bespitch;
- }
-
- for(h=0; h < config.src_height/2; h++)
- {
- memcpy(dest, cb, config.src_width/2);
- cb += config.src_width/2;
- dest += bespitch/2;
- }
-
- for(h=0; h < config.src_height/2; h++)
- {
- memcpy(dest, cr, config.src_width/2);
- cr += config.src_width/2;
- dest += bespitch/2;
- }
-}
-
-void write_frame(uint8_t *y,uint8_t *cr, uint8_t *cb)
-{
- if(is_g400)
- write_frame_g400(y,cr,cb);
- else
- write_frame_g200(y,cr,cb);
-}
-
-void
-draw_cool_pattern(void)
-{
- int i,x,y;
-
- i = 0;
- for (y=0; y<config.src_height; y++) {
- for (x=0; x<config.src_width; x++) {
- y_image[i++] = x*x/2 + y*y/2 - 128;
- }
- }
-
- i = 0;
- for (y=0; y<config.src_height/2; y++)
- for (x=0; x<config.src_width/2; x++)
- {
- cr_image[i++] = x - 128;
- }
-
- i = 0;
- for (y=0; y<config.src_height/2; y++)
- for (x=0; x<config.src_width/2; x++)
- {
- cb_image[i++] = y - 128;
- }
-}
-
-void
-draw_color_blend(void)
-{
- int i,x,y;
-
- i = 0;
- for (y=0; y<config.src_height; y++) {
- for (x=0; x<config.src_width; x++) {
- y_image[i++] = 0;
- }
- }
-
- i = 0;
- for (y=0; y<config.src_height/2; y++)
- for (x=0; x<config.src_width/2; x++)
- {
- cr_image[i++] = x - 128;
- }
-
- i = 0;
- for (y=0; y<config.src_height/2; y++)
- for (x=0; x<config.src_width/2; x++)
- {
- cb_image[i++] = y - 128;
- }
-}
-
-
-int
-main(void)
-{
- int f;
-
- f = open("/dev/mga_vid",O_RDWR);
-
- if(f == -1)
- {
- fprintf(stderr,"Couldn't open driver\n");
- exit(1);
- }
-
- config.version = MGA_VID_VERSION;
- config.src_width = SRC_IMAGE_WIDTH;
- config.src_height= SRC_IMAGE_HEIGHT;
- config.dest_width = SRC_IMAGE_WIDTH;
- config.dest_height = SRC_IMAGE_HEIGHT;
- config.x_org= 10;
- config.y_org= 10;
- config.colkey_on = 0;
- config.format = MGA_VID_FORMAT_YV12;
- config.frame_size=SRC_IMAGE_WIDTH*SRC_IMAGE_HEIGHT*2;
- config.num_frames=1;
-
- if (ioctl(f,MGA_VID_CONFIG,&config))
- {
- perror("Error in config ioctl");
- }
-
- if (config.card_type == MGA_G200)
- {
- printf("Testing MGA G200 Backend Scaler with %d MB of RAM\n", config.ram_size);
- is_g400 = 0;
- }
- else
- {
- printf("Testing MGA G400 Backend Scaler with %d MB of RAM\n", config.ram_size);
- is_g400 = 1;
- }
-
- ioctl(f,MGA_VID_ON,0);
- mga_vid_base = (uint8_t*)mmap(0,256 * 4096,PROT_WRITE,MAP_SHARED,f,0);
- printf("mga_vid_base = %8p\n",mga_vid_base);
-
-
- //memset(y_image,80,256 * 128);
- //memset(cr_image,80,256/2 * 20);
- //memset(cb_image,80,256/2 * 20);
- write_frame(y_image,cr_image,cb_image);
- printf("(1) There should be a green square, offset by 10 pixels from\n"
- " the upper left corner displayed\n");
- sleep(3);
-
-
- draw_cool_pattern();
- write_frame(y_image,cr_image,cb_image);
- printf("(2) There should be a cool mosaic like pattern now.\n");
- sleep(3);
-
- draw_color_blend();
- write_frame(y_image,cr_image,cb_image);
- printf("(3) There should be a color blend with black, red, purple, blue\n"
- " corners (starting top left going CW)\n");
- sleep(3);
-
- ioctl(f,MGA_VID_OFF,0);
-
- close(f);
- return 0;
-}
diff --git a/drivers/radeon.h b/drivers/radeon.h
deleted file mode 100644
index 1fb2fd2..0000000
--- a/drivers/radeon.h
+++ /dev/null
@@ -1,2058 +0,0 @@
-/*
- * This collection of definitions was written by Nick Kurshev.
- * It is based on radeonfb, X11 and GATOS sources and is partly
- * compatible with Rage128 set (in OV0, CAP0, CAP1 parts).
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_RADEON_H
-#define MPLAYER_RADEON_H
-
-
-/* radeon PCI ids */
-#define PCI_DEVICE_ID_RADEON_QD 0x5144
-#define PCI_DEVICE_ID_RADEON_QE 0x5145
-#define PCI_DEVICE_ID_RADEON_QF 0x5146
-#define PCI_DEVICE_ID_RADEON_QG 0x5147
-#define PCI_DEVICE_ID_RADEON_QY 0x5159
-#define PCI_DEVICE_ID_RADEON_QZ 0x515A
-#define PCI_DEVICE_ID_RADEON_LY 0x4C59
-#define PCI_DEVICE_ID_RADEON_LZ 0x4C5A
-#define PCI_DEVICE_ID_RADEON_LW 0x4C57
-#define PCI_DEVICE_ID_R200_QL 0x514C
-#define PCI_DEVICE_ID_RV200_QW 0x5157
-#define PCI_DEVICE_ID_R200_BB 0x4242
-
-#define RADEON_REGSIZE 0x4000
-
-
-#define MM_INDEX 0x0000
-/* MM_INDEX bit constants */
-# define MM_APER 0x80000000
-#define MM_DATA 0x0004
-#define BUS_CNTL 0x0030
-/* BUS_CNTL bit constants */
-# define BUS_DBL_RESYNC 0x00000001
-# define BUS_MSTR_RESET 0x00000002
-# define BUS_FLUSH_BUF 0x00000004
-# define BUS_STOP_REQ_DIS 0x00000008
-# define BUS_ROTATION_DIS 0x00000010
-# define BUS_MASTER_DIS 0x00000040
-# define BUS_ROM_WRT_EN 0x00000080
-# define BUS_DIS_ROM 0x00001000
-# define BUS_PCI_READ_RETRY_EN 0x00002000
-# define BUS_AGP_AD_STEPPING_EN 0x00004000
-# define BUS_PCI_WRT_RETRY_EN 0x00008000
-# define BUS_MSTR_RD_MULT 0x00100000
-# define BUS_MSTR_RD_LINE 0x00200000
-# define BUS_SUSPEND 0x00400000
-# define LAT_16X 0x00800000
-# define BUS_RD_DISCARD_EN 0x01000000
-# define BUS_RD_ABORT_EN 0x02000000
-# define BUS_MSTR_WS 0x04000000
-# define BUS_PARKING_DIS 0x08000000
-# define BUS_MSTR_DISCONNECT_EN 0x10000000
-# define BUS_WRT_BURST 0x20000000
-# define BUS_READ_BURST 0x40000000
-# define BUS_RDY_READ_DLY 0x80000000
-#define HI_STAT 0x004C
-#define BUS_CNTL1 0x0034
-# define BUS_WAIT_ON_LOCK_EN (1 << 4)
-#define I2C_CNTL_0 0x0090
-# define I2C_DONE (1<<0)
-# define I2C_NACK (1<<1)
-# define I2C_HALT (1<<2)
-# define I2C_SOFT_RST (1<<5)
-# define I2C_DRIVE_EN (1<<6)
-# define I2C_DRIVE_SEL (1<<7)
-# define I2C_START (1<<8)
-# define I2C_STOP (1<<9)
-# define I2C_RECEIVE (1<<10)
-# define I2C_ABORT (1<<11)
-# define I2C_GO (1<<12)
-# define I2C_SEL (1<<16)
-# define I2C_EN (1<<17)
-#define I2C_CNTL_1 0x0094
-#define I2C_DATA 0x0098
-#define CONFIG_CNTL 0x00E0
-/* CONFIG_CNTL bit constants */
-# define CFG_VGA_RAM_EN 0x00000100
-#define CONFIG_MEMSIZE 0x00F8
-#define CONFIG_APER_0_BASE 0x0100
-#define CONFIG_APER_1_BASE 0x0104
-#define CONFIG_APER_SIZE 0x0108
-#define CONFIG_REG_1_BASE 0x010C
-#define CONFIG_REG_APER_SIZE 0x0110
-#define PAD_AGPINPUT_DELAY 0x0164
-#define PAD_CTLR_STRENGTH 0x0168
-#define PAD_CTLR_UPDATE 0x016C
-#define AGP_CNTL 0x0174
-# define AGP_APER_SIZE_256MB (0x00 << 0)
-# define AGP_APER_SIZE_128MB (0x20 << 0)
-# define AGP_APER_SIZE_64MB (0x30 << 0)
-# define AGP_APER_SIZE_32MB (0x38 << 0)
-# define AGP_APER_SIZE_16MB (0x3c << 0)
-# define AGP_APER_SIZE_8MB (0x3e << 0)
-# define AGP_APER_SIZE_4MB (0x3f << 0)
-# define AGP_APER_SIZE_MASK (0x3f << 0)
-#define AMCGPIO_A_REG 0x01a0
-#define AMCGPIO_EN_REG 0x01a8
-#define AMCGPIO_MASK 0x0194
-#define AMCGPIO_Y_REG 0x01a4
-#define BM_STATUS 0x0160
-#define MPP_TB_CONFIG 0x01c0 /* ? */
-#define MPP_GP_CONFIG 0x01c8 /* ? */
-#define VENDOR_ID 0x0F00
-#define DEVICE_ID 0x0F02
-#define COMMAND 0x0F04
-#define STATUS 0x0F06
-#define REVISION_ID 0x0F08
-#define REGPROG_INF 0x0F09
-#define SUB_CLASS 0x0F0A
-#define CACHE_LINE 0x0F0C
-#define LATENCY 0x0F0D
-#define HEADER 0x0F0E
-#define BIST 0x0F0F
-#define REG_MEM_BASE 0x0F10
-#define REG_IO_BASE 0x0F14
-#define REG_REG_BASE 0x0F18
-#define ADAPTER_ID 0x0F2C
-#define BIOS_ROM 0x0F30
-#define CAPABILITIES_PTR 0x0F34
-#define INTERRUPT_LINE 0x0F3C
-#define INTERRUPT_PIN 0x0F3D
-#define MIN_GRANT 0x0F3E
-#define MAX_LATENCY 0x0F3F
-#define ADAPTER_ID_W 0x0F4C
-#define PMI_CAP_ID 0x0F50
-#define PMI_NXT_CAP_PTR 0x0F51
-#define PMI_PMC_REG 0x0F52
-#define PM_STATUS 0x0F54
-#define PMI_DATA 0x0F57
-#define AGP_CAP_ID 0x0F58
-#define AGP_STATUS 0x0F5C
-# define AGP_1X_MODE 0x01
-# define AGP_2X_MODE 0x02
-# define AGP_4X_MODE 0x04
-# define AGP_MODE_MASK 0x07
-#define AGP_COMMAND 0x0F60
-
-/* Video muxer unit */
-#define VIDEOMUX_CNTL 0x0190
-#define VIPPAD_MASK 0x0198
-#define VIPPAD1_A 0x01AC
-#define VIPPAD1_EN 0x01B0
-#define VIPPAD1_Y 0x01B4
-
-#define AIC_CTRL 0x01D0
-#define AIC_STAT 0x01D4
-#define AIC_PT_BASE 0x01D8
-#define AIC_LO_ADDR 0x01DC
-#define AIC_HI_ADDR 0x01E0
-#define AIC_TLB_ADDR 0x01E4
-#define AIC_TLB_DATA 0x01E8
-#define DAC_CNTL 0x0058
-/* DAC_CNTL bit constants */
-# define DAC_8BIT_EN 0x00000100
-# define DAC_4BPP_PIX_ORDER 0x00000200
-# define DAC_CRC_EN 0x00080000
-# define DAC_MASK_ALL (0xff << 24)
-# define DAC_VGA_ADR_EN (1 << 13)
-# define DAC_RANGE_CNTL (3 << 0)
-# define DAC_BLANKING (1 << 2)
-#define DAC_CNTL2 0x007c
-/* DAC_CNTL2 bit constants */
-# define DAC2_DAC_CLK_SEL (1 << 0)
-# define DAC2_DAC2_CLK_SEL (1 << 1)
-# define DAC2_PALETTE_ACC_CTL (1 << 5)
-#define TV_DAC_CNTL 0x088c
-/* TV_DAC_CNTL bit constants */
-# define TV_DAC_STD_MASK 0x0300
-# define TV_DAC_RDACPD (1 << 24)
-# define TV_DAC_GDACPD (1 << 25)
-# define TV_DAC_BDACPD (1 << 26)
-#define CRTC_GEN_CNTL 0x0050
-/* CRTC_GEN_CNTL bit constants */
-# define CRTC_DBL_SCAN_EN 0x00000001
-# define CRTC_INTERLACE_EN (1 << 1)
-# define CRTC_CSYNC_EN (1 << 4)
-# define CRTC_CUR_EN 0x00010000
-# define CRTC_CUR_MODE_MASK (7 << 17)
-# define CRTC_ICON_EN (1 << 20)
-# define CRTC_EXT_DISP_EN (1 << 24)
-# define CRTC_EN (1 << 25)
-# define CRTC_DISP_REQ_EN_B (1 << 26)
-#define CRTC2_GEN_CNTL 0x03f8
-/* CRTC2_GEN_CNTL bit constants */
-# define CRTC2_DBL_SCAN_EN (1 << 0)
-# define CRTC2_INTERLACE_EN (1 << 1)
-# define CRTC2_SYNC_TRISTAT (1 << 4)
-# define CRTC2_HSYNC_TRISTAT (1 << 5)
-# define CRTC2_VSYNC_TRISTAT (1 << 6)
-# define CRTC2_CRT2_ON (1 << 7)
-# define CRTC2_ICON_EN (1 << 15)
-# define CRTC2_CUR_EN (1 << 16)
-# define CRTC2_CUR_MODE_MASK (7 << 20)
-# define CRTC2_DISP_DIS (1 << 23)
-# define CRTC2_EN (1 << 25)
-# define CRTC2_DISP_REQ_EN_B (1 << 26)
-# define CRTC2_HSYNC_DIS (1 << 28)
-# define CRTC2_VSYNC_DIS (1 << 29)
-#define MEM_CNTL 0x0140
-/* MEM_CNTL bit constants */
-# define MEM_CTLR_STATUS_IDLE 0x00000000
-# define MEM_CTLR_STATUS_BUSY 0x00100000
-# define MEM_SEQNCR_STATUS_IDLE 0x00000000
-# define MEM_SEQNCR_STATUS_BUSY 0x00200000
-# define MEM_ARBITER_STATUS_IDLE 0x00000000
-# define MEM_ARBITER_STATUS_BUSY 0x00400000
-# define MEM_REQ_UNLOCK 0x00000000
-# define MEM_REQ_LOCK 0x00800000
-#define EXT_MEM_CNTL 0x0144
-#define MC_AGP_LOCATION 0x014C
-#define MEM_IO_CNTL_A0 0x0178
-#define MEM_INIT_LATENCY_TIMER 0x0154
-#define MEM_SDRAM_MODE_REG 0x0158
-#define AGP_BASE 0x0170
-#define MEM_IO_CNTL_A1 0x017C
-#define MEM_IO_CNTL_B0 0x0180
-#define MEM_IO_CNTL_B1 0x0184
-#define MC_DEBUG 0x0188
-#define MC_STATUS 0x0150
-#define MEM_IO_OE_CNTL 0x018C
-#define MC_FB_LOCATION 0x0148
-#define HOST_PATH_CNTL 0x0130
-#define MEM_VGA_WP_SEL 0x0038
-#define MEM_VGA_RP_SEL 0x003C
-#define HDP_DEBUG 0x0138
-#define SW_SEMAPHORE 0x013C
-#define SURFACE_CNTL 0x0B00
-/* SURFACE_CNTL bit constants */
-# define SURF_TRANSLATION_DIS (1 << 8)
-# define NONSURF_AP0_SWP_16BPP (1 << 20)
-# define NONSURF_AP0_SWP_32BPP (2 << 20)
-#define SURFACE0_LOWER_BOUND 0x0B04
-#define SURFACE1_LOWER_BOUND 0x0B14
-#define SURFACE2_LOWER_BOUND 0x0B24
-#define SURFACE3_LOWER_BOUND 0x0B34
-#define SURFACE4_LOWER_BOUND 0x0B44
-#define SURFACE5_LOWER_BOUND 0x0B54
-#define SURFACE6_LOWER_BOUND 0x0B64
-#define SURFACE7_LOWER_BOUND 0x0B74
-#define SURFACE0_UPPER_BOUND 0x0B08
-#define SURFACE1_UPPER_BOUND 0x0B18
-#define SURFACE2_UPPER_BOUND 0x0B28
-#define SURFACE3_UPPER_BOUND 0x0B38
-#define SURFACE4_UPPER_BOUND 0x0B48
-#define SURFACE5_UPPER_BOUND 0x0B58
-#define SURFACE6_UPPER_BOUND 0x0B68
-#define SURFACE7_UPPER_BOUND 0x0B78
-#define SURFACE0_INFO 0x0B0C
-#define SURFACE1_INFO 0x0B1C
-#define SURFACE2_INFO 0x0B2C
-#define SURFACE3_INFO 0x0B3C
-#define SURFACE4_INFO 0x0B4C
-#define SURFACE5_INFO 0x0B5C
-#define SURFACE6_INFO 0x0B6C
-#define SURFACE7_INFO 0x0B7C
-#define SURFACE_ACCESS_FLAGS 0x0BF8
-#define SURFACE_ACCESS_CLR 0x0BFC
-#define GEN_INT_CNTL 0x0040
-#define GEN_INT_STATUS 0x0044
-# define VSYNC_INT_AK (1 << 2)
-# define VSYNC_INT (1 << 2)
-#define CRTC_EXT_CNTL 0x0054
-/* CRTC_EXT_CNTL bit constants */
-# define CRTC_VGA_XOVERSCAN (1 << 0)
-# define VGA_ATI_LINEAR 0x00000008
-# define VGA_128KAP_PAGING 0x00000010
-# define XCRT_CNT_EN (1 << 6)
-# define CRTC_HSYNC_DIS (1 << 8)
-# define CRTC_VSYNC_DIS (1 << 9)
-# define CRTC_DISPLAY_DIS (1 << 10)
-# define CRTC_SYNC_TRISTAT (1 << 11)
-# define CRTC_CRT_ON (1 << 15)
-#define CRTC_EXT_CNTL_DPMS_BYTE 0x0055
-# define CRTC_HSYNC_DIS_BYTE (1 << 0)
-# define CRTC_VSYNC_DIS_BYTE (1 << 1)
-# define CRTC_DISPLAY_DIS_BYTE (1 << 2)
-#define RB3D_CNTL 0x1C3C
-#define WAIT_UNTIL 0x1720
-#define ISYNC_CNTL 0x1724
-#define RBBM_GUICNTL 0x172C
-#define RBBM_STATUS 0x0E40
-# define RBBM_FIFOCNT_MASK 0x007f
-# define RBBM_ACTIVE (1 << 31)
-#define RBBM_STATUS_alt_1 0x1740
-#define RBBM_CNTL 0x00EC
-#define RBBM_CNTL_alt_1 0x0E44
-#define RBBM_SOFT_RESET 0x00F0
-/* RBBM_SOFT_RESET bit constants */
-# define SOFT_RESET_CP (1 << 0)
-# define SOFT_RESET_HI (1 << 1)
-# define SOFT_RESET_SE (1 << 2)
-# define SOFT_RESET_RE (1 << 3)
-# define SOFT_RESET_PP (1 << 4)
-# define SOFT_RESET_E2 (1 << 5)
-# define SOFT_RESET_RB (1 << 6)
-# define SOFT_RESET_HDP (1 << 7)
-#define RBBM_SOFT_RESET_alt_1 0x0E48
-#define NQWAIT_UNTIL 0x0E50
-#define RBBM_DEBUG 0x0E6C
-#define RBBM_CMDFIFO_ADDR 0x0E70
-#define RBBM_CMDFIFO_DATAL 0x0E74
-#define RBBM_CMDFIFO_DATAH 0x0E78
-#define RBBM_CMDFIFO_STAT 0x0E7C
-#define CRTC_STATUS 0x005C
-/* CRTC_STATUS bit constants */
-# define CRTC_VBLANK 0x00000001
-# define CRTC_VBLANK_SAVE ( 1 << 1)
-#define GPIO_VGA_DDC 0x0060
-#define GPIO_DVI_DDC 0x0064
-#define GPIO_MONID 0x0068
-#define PALETTE_INDEX 0x00B0
-#define PALETTE_DATA 0x00B4
-#define PALETTE_30_DATA 0x00B8
-#define CRTC_H_TOTAL_DISP 0x0200
-# define CRTC_H_TOTAL (0x03ff << 0)
-# define CRTC_H_TOTAL_SHIFT 0
-# define CRTC_H_DISP (0x01ff << 16)
-# define CRTC_H_DISP_SHIFT 16
-#define CRTC2_H_TOTAL_DISP 0x0300
-# define CRTC2_H_TOTAL (0x03ff << 0)
-# define CRTC2_H_TOTAL_SHIFT 0
-# define CRTC2_H_DISP (0x01ff << 16)
-# define CRTC2_H_DISP_SHIFT 16
-#define CRTC_H_SYNC_STRT_WID 0x0204
-# define CRTC_H_SYNC_STRT_PIX (0x07 << 0)
-# define CRTC_H_SYNC_STRT_CHAR (0x3ff << 3)
-# define CRTC_H_SYNC_STRT_CHAR_SHIFT 3
-# define CRTC_H_SYNC_WID (0x3f << 16)
-# define CRTC_H_SYNC_WID_SHIFT 16
-# define CRTC_H_SYNC_POL (1 << 23)
-#define CRTC2_H_SYNC_STRT_WID 0x0304
-# define CRTC2_H_SYNC_STRT_PIX (0x07 << 0)
-# define CRTC2_H_SYNC_STRT_CHAR (0x3ff << 3)
-# define CRTC2_H_SYNC_STRT_CHAR_SHIFT 3
-# define CRTC2_H_SYNC_WID (0x3f << 16)
-# define CRTC2_H_SYNC_WID_SHIFT 16
-# define CRTC2_H_SYNC_POL (1 << 23)
-#define CRTC_V_TOTAL_DISP 0x0208
-# define CRTC_V_TOTAL (0x07ff << 0)
-# define CRTC_V_TOTAL_SHIFT 0
-# define CRTC_V_DISP (0x07ff << 16)
-# define CRTC_V_DISP_SHIFT 16
-#define CRTC2_V_TOTAL_DISP 0x0308
-# define CRTC2_V_TOTAL (0x07ff << 0)
-# define CRTC2_V_TOTAL_SHIFT 0
-# define CRTC2_V_DISP (0x07ff << 16)
-# define CRTC2_V_DISP_SHIFT 16
-#define CRTC_V_SYNC_STRT_WID 0x020C
-# define CRTC_V_SYNC_STRT (0x7ff << 0)
-# define CRTC_V_SYNC_STRT_SHIFT 0
-# define CRTC_V_SYNC_WID (0x1f << 16)
-# define CRTC_V_SYNC_WID_SHIFT 16
-# define CRTC_V_SYNC_POL (1 << 23)
-#define CRTC2_V_SYNC_STRT_WID 0x030C
-# define CRTC2_V_SYNC_STRT (0x7ff << 0)
-# define CRTC2_V_SYNC_STRT_SHIFT 0
-# define CRTC2_V_SYNC_WID (0x1f << 16)
-# define CRTC2_V_SYNC_WID_SHIFT 16
-# define CRTC2_V_SYNC_POL (1 << 23)
-#define CRTC_VLINE_CRNT_VLINE 0x0210
-# define CRTC_CRNT_VLINE_MASK (0x7ff << 16)
-#define CRTC2_VLINE_CRNT_VLINE 0x0310
-#define CRTC_CRNT_FRAME 0x0214
-#define CRTC2_CRNT_FRAME 0x0314
-#define CRTC_GUI_TRIG_VLINE 0x0218
-#define CRTC2_GUI_TRIG_VLINE 0x0318
-#define CRTC_DEBUG 0x021C
-#define CRTC2_DEBUG 0x031C
-#define CRTC_OFFSET_RIGHT 0x0220
-#define CRTC_OFFSET 0x0224
-#define CRTC2_OFFSET 0x0324
-#define CRTC_OFFSET_CNTL 0x0228
-# define CRTC_TILE_EN (1 << 15)
-#define CRTC2_OFFSET_CNTL 0x0328
-# define CRTC2_TILE_EN (1 << 15)
-#define CRTC_PITCH 0x022C
-#define CRTC2_PITCH 0x032C
-#define TMDS_CRC 0x02a0
-#define OVR_CLR 0x0230
-#define OVR_WID_LEFT_RIGHT 0x0234
-#define OVR_WID_TOP_BOTTOM 0x0238
-#define DISPLAY_BASE_ADDR 0x023C
-#define SNAPSHOT_VH_COUNTS 0x0240
-#define SNAPSHOT_F_COUNT 0x0244
-#define N_VIF_COUNT 0x0248
-#define SNAPSHOT_VIF_COUNT 0x024C
-#define FP_CRTC_H_TOTAL_DISP 0x0250
-#define FP_CRTC2_H_TOTAL_DISP 0x0350
-#define FP_CRTC_V_TOTAL_DISP 0x0254
-#define FP_CRTC2_V_TOTAL_DISP 0x0354
-# define FP_CRTC_H_TOTAL_MASK 0x000003ff
-# define FP_CRTC_H_DISP_MASK 0x01ff0000
-# define FP_CRTC_V_TOTAL_MASK 0x00000fff
-# define FP_CRTC_V_DISP_MASK 0x0fff0000
-# define FP_H_SYNC_STRT_CHAR_MASK 0x00001ff8
-# define FP_H_SYNC_WID_MASK 0x003f0000
-# define FP_V_SYNC_STRT_MASK 0x00000fff
-# define FP_V_SYNC_WID_MASK 0x001f0000
-# define FP_CRTC_H_TOTAL_SHIFT 0x00000000
-# define FP_CRTC_H_DISP_SHIFT 0x00000010
-# define FP_CRTC_V_TOTAL_SHIFT 0x00000000
-# define FP_CRTC_V_DISP_SHIFT 0x00000010
-# define FP_H_SYNC_STRT_CHAR_SHIFT 0x00000003
-# define FP_H_SYNC_WID_SHIFT 0x00000010
-# define FP_V_SYNC_STRT_SHIFT 0x00000000
-# define FP_V_SYNC_WID_SHIFT 0x00000010
-#define CRT_CRTC_H_SYNC_STRT_WID 0x0258
-#define CRT_CRTC_V_SYNC_STRT_WID 0x025C
-#define CUR_OFFSET 0x0260
-#define CUR_HORZ_VERT_POSN 0x0264
-#define CUR_HORZ_VERT_OFF 0x0268
-/* CUR_OFFSET, CUR_HORZ_VERT_POSN, CUR_HORZ_VERT_OFF bit constants */
-# define CUR_LOCK 0x80000000
-#define CUR_CLR0 0x026C
-#define CUR_CLR1 0x0270
-#define CUR2_OFFSET 0x0360
-#define CUR2_HORZ_VERT_POSN 0x0364
-#define CUR2_HORZ_VERT_OFF 0x0368
-# define CUR2_LOCK (1 << 31)
-#define CUR2_CLR0 0x036c
-#define CUR2_CLR1 0x0370
-#define FP_HORZ_VERT_ACTIVE 0x0278
-#define CRTC_MORE_CNTL 0x027C
-#define DAC_EXT_CNTL 0x0280
-#define FP_GEN_CNTL 0x0284
-/* FP_GEN_CNTL bit constants */
-# define FP_FPON (1 << 0)
-# define FP_TMDS_EN (1 << 2)
-# define FP_EN_TMDS (1 << 7)
-# define FP_DETECT_SENSE (1 << 8)
-# define FP_SEL_CRTC2 (1 << 13)
-# define FP_CRTC_DONT_SHADOW_HPAR (1 << 15)
-# define FP_CRTC_DONT_SHADOW_VPAR (1 << 16)
-# define FP_CRTC_DONT_SHADOW_HEND (1 << 17)
-# define FP_CRTC_USE_SHADOW_VEND (1 << 18)
-# define FP_RMX_HVSYNC_CONTROL_EN (1 << 20)
-# define FP_DFP_SYNC_SEL (1 << 21)
-# define FP_CRTC_LOCK_8DOT (1 << 22)
-# define FP_CRT_SYNC_SEL (1 << 23)
-# define FP_USE_SHADOW_EN (1 << 24)
-# define FP_CRT_SYNC_ALT (1 << 26)
-#define FP2_GEN_CNTL 0x0288
-/* FP2_GEN_CNTL bit constants */
-# define FP2_FPON (1 << 0)
-# define FP2_TMDS_EN (1 << 2)
-# define FP2_EN_TMDS (1 << 7)
-# define FP2_DETECT_SENSE (1 << 8)
-# define FP2_SEL_CRTC2 (1 << 13)
-# define FP2_FP_POL (1 << 16)
-# define FP2_LP_POL (1 << 17)
-# define FP2_SCK_POL (1 << 18)
-# define FP2_LCD_CNTL_MASK (7 << 19)
-# define FP2_PAD_FLOP_EN (1 << 22)
-# define FP2_CRC_EN (1 << 23)
-# define FP2_CRC_READ_EN (1 << 24)
-#define FP_HORZ_STRETCH 0x028C
-#define FP_HORZ2_STRETCH 0x038C
-# define HORZ_STRETCH_RATIO_MASK 0xffff
-# define HORZ_STRETCH_RATIO_MAX 4096
-# define HORZ_PANEL_SIZE (0x1ff << 16)
-# define HORZ_PANEL_SHIFT 16
-# define HORZ_STRETCH_PIXREP (0 << 25)
-# define HORZ_STRETCH_BLEND (1 << 26)
-# define HORZ_STRETCH_ENABLE (1 << 25)
-# define HORZ_AUTO_RATIO (1 << 27)
-# define HORZ_FP_LOOP_STRETCH (0x7 << 28)
-# define HORZ_AUTO_RATIO_INC (1 << 31)
-#define FP_VERT_STRETCH 0x0290
-#define FP_VERT2_STRETCH 0x0390
-# define VERT_PANEL_SIZE (0xfff << 12)
-# define VERT_PANEL_SHIFT 12
-# define VERT_STRETCH_RATIO_MASK 0xfff
-# define VERT_STRETCH_RATIO_SHIFT 0
-# define VERT_STRETCH_RATIO_MAX 4096
-# define VERT_STRETCH_ENABLE (1 << 25)
-# define VERT_STRETCH_LINEREP (0 << 26)
-# define VERT_STRETCH_BLEND (1 << 26)
-# define VERT_AUTO_RATIO_EN (1 << 27)
-# define VERT_STRETCH_RESERVED 0xf1000000
-#define FP_H_SYNC_STRT_WID 0x02C4
-#define FP_H2_SYNC_STRT_WID 0x03C4
-#define FP_V_SYNC_STRT_WID 0x02C8
-#define FP_V2_SYNC_STRT_WID 0x03C8
-#define LVDS_GEN_CNTL 0x02d0
-# define LVDS_ON (1 << 0)
-# define LVDS_DISPLAY_DIS (1 << 1)
-# define LVDS_PANEL_TYPE (1 << 2)
-# define LVDS_PANEL_FORMAT (1 << 3)
-# define LVDS_EN (1 << 7)
-# define LVDS_DIGON (1 << 18)
-# define LVDS_BLON (1 << 19)
-# define LVDS_SEL_CRTC2 (1 << 23)
-#define LVDS_PLL_CNTL 0x02d4
-# define HSYNC_DELAY_SHIFT 28
-# define HSYNC_DELAY_MASK (0xf << 28)
-#define AUX_WINDOW_HORZ_CNTL 0x02D8
-#define AUX_WINDOW_VERT_CNTL 0x02DC
-#define DDA_CONFIG 0x02e0
-#define DDA_ON_OFF 0x02e4
-
-#define GRPH_BUFFER_CNTL 0x02F0
-#define VGA_BUFFER_CNTL 0x02F4
-
-/* first overlay unit (there is only one) */
-
-#define OV0_Y_X_START 0x0400
-#define OV0_Y_X_END 0x0404
-#define OV0_PIPELINE_CNTL 0x0408
-#define OV0_EXCLUSIVE_HORZ 0x0408
-# define EXCL_HORZ_START_MASK 0x000000ff
-# define EXCL_HORZ_END_MASK 0x0000ff00
-# define EXCL_HORZ_BACK_PORCH_MASK 0x00ff0000
-# define EXCL_HORZ_EXCLUSIVE_EN 0x80000000
-#define OV0_EXCLUSIVE_VERT 0x040C
-# define EXCL_VERT_START_MASK 0x000003ff
-# define EXCL_VERT_END_MASK 0x03ff0000
-#define OV0_REG_LOAD_CNTL 0x0410
-# define REG_LD_CTL_LOCK 0x00000001L
-# define REG_LD_CTL_VBLANK_DURING_LOCK 0x00000002L
-# define REG_LD_CTL_STALL_GUI_UNTIL_FLIP 0x00000004L
-# define REG_LD_CTL_LOCK_READBACK 0x00000008L
-#define OV0_SCALE_CNTL 0x0420
-# define SCALER_PIX_EXPAND 0x00000001L
-# define SCALER_Y2R_TEMP 0x00000002L
-#ifdef RAGE128
-# define SCALER_HORZ_PICK_NEAREST 0x00000003L
-# define SCALER_VERT_PICK_NEAREST 0x00000004L
-#else
-# define SCALER_HORZ_PICK_NEAREST 0x00000004L
-# define SCALER_VERT_PICK_NEAREST 0x00000008L
-#endif
-# define SCALER_SIGNED_UV 0x00000010L
-# define SCALER_GAMMA_SEL_MASK 0x00000060L
-# define SCALER_GAMMA_SEL_BRIGHT 0x00000000L
-# define SCALER_GAMMA_SEL_G22 0x00000020L
-# define SCALER_GAMMA_SEL_G18 0x00000040L
-# define SCALER_GAMMA_SEL_G14 0x00000060L
-# define SCALER_COMCORE_SHIFT_UP_ONE 0x00000080L
-# define SCALER_SURFAC_FORMAT 0x00000f00L
-# define SCALER_SOURCE_UNK0 0x00000000L /* 2 bpp ??? */
-# define SCALER_SOURCE_UNK1 0x00000100L /* 4 bpp ??? */
-# define SCALER_SOURCE_UNK2 0x00000200L /* 8 bpp ??? */
-# define SCALER_SOURCE_15BPP 0x00000300L
-# define SCALER_SOURCE_16BPP 0x00000400L
-# define SCALER_SOURCE_24BPP 0x00000500L
-# define SCALER_SOURCE_32BPP 0x00000600L
-# define SCALER_SOURCE_UNK3 0x00000700L /* 8BPP_RGB332 ??? */
-# define SCALER_SOURCE_UNK4 0x00000800L /* 8BPP_Y8 ??? */
-# define SCALER_SOURCE_YUV9 0x00000900L /* 8BPP_RGB8 */
-# define SCALER_SOURCE_YUV12 0x00000A00L
-# define SCALER_SOURCE_VYUY422 0x00000B00L
-# define SCALER_SOURCE_YVYU422 0x00000C00L
-# define SCALER_SOURCE_UNK5 0x00000D00L /* ??? */
-# define SCALER_SOURCE_UNK6 0x00000E00L /* 32BPP_AYUV444 */
-# define SCALER_SOURCE_UNK7 0x00000F00L /* 16BPP_ARGB4444 */
-# define SCALER_ADAPTIVE_DEINT 0x00001000L
-# define R200_SCALER_TEMPORAL_DEINT 0x00002000L
-# define SCALER_UNKNOWN_FLAG1 0x00004000L /* ??? */
-# define SCALER_SMART_SWITCH 0x00008000L
-#ifdef RAGE128
-# define SCALER_BURST_PER_PLANE 0x00ff0000L
-#else
-# define SCALER_BURST_PER_PLANE 0x007f0000L
-#endif
-# define SCALER_DOUBLE_BUFFER 0x01000000L
-# define SCALER_UNKNOWN_FLAG3 0x02000000L /* ??? */
-# define SCALER_UNKNOWN_FLAG4 0x04000000L /* ??? */
-# define SCALER_DIS_LIMIT 0x08000000L
-# define SCALER_PRG_LOAD_START 0x10000000L
-# define SCALER_INT_EMU 0x20000000L
-# define SCALER_ENABLE 0x40000000L
-# define SCALER_SOFT_RESET 0x80000000L
-#define OV0_V_INC 0x0424
-#define OV0_P1_V_ACCUM_INIT 0x0428
-# define OV0_P1_MAX_LN_IN_PER_LN_OUT 0x00000003L
-# define OV0_P1_V_ACCUM_INIT_MASK 0x01ff8000L
-#define OV0_P23_V_ACCUM_INIT 0x042C
-# define OV0_P23_MAX_LN_IN_PER_LN_OUT 0x00000003L
-# define OV0_P23_V_ACCUM_INIT_MASK 0x01ff8000L
-#define OV0_P1_BLANK_LINES_AT_TOP 0x0430
-# define P1_BLNK_LN_AT_TOP_M1_MASK 0x00000fffL
-# define P1_ACTIVE_LINES_M1 0x0fff0000L
-#define OV0_P23_BLANK_LINES_AT_TOP 0x0434
-# define P23_BLNK_LN_AT_TOP_M1_MASK 0x000007ffL
-# define P23_ACTIVE_LINES_M1 0x07ff0000L
-#ifndef RAGE128
-#define OV0_BASE_ADDR 0x043C
-#endif
-#define OV0_VID_BUF0_BASE_ADRS 0x0440
-# define VIF_BUF0_PITCH_SEL 0x00000001L
-# define VIF_BUF0_TILE_ADRS 0x00000002L
-# define VIF_BUF0_BASE_ADRS_MASK 0x03fffff0L
-# define VIF_BUF0_1ST_LINE_LSBS_MASK 0x48000000L
-#define OV0_VID_BUF1_BASE_ADRS 0x0444
-# define VIF_BUF1_PITCH_SEL 0x00000001L
-# define VIF_BUF1_TILE_ADRS 0x00000002L
-# define VIF_BUF1_BASE_ADRS_MASK 0x03fffff0L
-# define VIF_BUF1_1ST_LINE_LSBS_MASK 0x48000000L
-#define OV0_VID_BUF2_BASE_ADRS 0x0448
-# define VIF_BUF2_PITCH_SEL 0x00000001L
-# define VIF_BUF2_TILE_ADRS 0x00000002L
-# define VIF_BUF2_BASE_ADRS_MASK 0x03fffff0L
-# define VIF_BUF2_1ST_LINE_LSBS_MASK 0x48000000L
-#define OV0_VID_BUF3_BASE_ADRS 0x044C
-# define VIF_BUF3_PITCH_SEL 0x00000001L
-# define VIF_BUF3_TILE_ADRS 0x00000002L
-# define VIF_BUF3_BASE_ADRS_MASK 0x03fffff0L
-# define VIF_BUF3_1ST_LINE_LSBS_MASK 0x48000000L
-#define OV0_VID_BUF4_BASE_ADRS 0x0450
-# define VIF_BUF4_PITCH_SEL 0x00000001L
-# define VIF_BUF4_TILE_ADRS 0x00000002L
-# define VIF_BUF4_BASE_ADRS_MASK 0x03fffff0L
-# define VIF_BUF4_1ST_LINE_LSBS_MASK 0x48000000L
-#define OV0_VID_BUF5_BASE_ADRS 0x0454
-# define VIF_BUF5_PITCH_SEL 0x00000001L
-# define VIF_BUF5_TILE_ADRS 0x00000002L
-# define VIF_BUF5_BASE_ADRS_MASK 0x03fffff0L
-# define VIF_BUF5_1ST_LINE_LSBS_MASK 0x48000000L
-#define OV0_VID_BUF_PITCH0_VALUE 0x0460
-#define OV0_VID_BUF_PITCH1_VALUE 0x0464
-#define OV0_AUTO_FLIP_CNTL 0x0470
-# define OV0_AUTO_FLIP_CNTL_SOFT_BUF_NUM 0x00000007
-# define OV0_AUTO_FLIP_CNTL_SOFT_REPEAT_FIELD 0x00000008
-# define OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD 0x00000010
-# define OV0_AUTO_FLIP_CNTL_IGNORE_REPEAT_FIELD 0x00000020
-# define OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE 0x00000040
-# define OV0_AUTO_FLIP_CNTL_VID_PORT_SELECT 0x00000300
-# define OV0_AUTO_FLIP_CNTL_P1_FIRST_LINE_EVEN 0x00010000
-# define OV0_AUTO_FLIP_CNTL_SHIFT_EVEN_DOWN 0x00040000
-# define OV0_AUTO_FLIP_CNTL_SHIFT_ODD_DOWN 0x00080000
-# define OV0_AUTO_FLIP_CNTL_FIELD_POL_SOURCE 0x00800000
-#define OV0_DEINTERLACE_PATTERN 0x0474
-#define OV0_SUBMIT_HISTORY 0x0478
-#define OV0_H_INC 0x0480
-#define OV0_STEP_BY 0x0484
-#define OV0_P1_H_ACCUM_INIT 0x0488
-#define OV0_P23_H_ACCUM_INIT 0x048C
-#define OV0_P1_X_START_END 0x0494
-#define OV0_P2_X_START_END 0x0498
-#define OV0_P3_X_START_END 0x049C
-#define OV0_FILTER_CNTL 0x04A0
-# define FILTER_PROGRAMMABLE_COEF 0x00000000
-# define FILTER_HARDCODED_COEF 0x0000000F
-# define FILTER_COEF_MASK 0x0000000F
-/* other values allow us use hardcoded coefs for Y and
- programmable for UV that's nosense. */
-/*
- Top quality 4x4-tap filtered vertical and horizontal scaler.
- It allows up to 64:1 upscaling and downscaling without
- performance or quality degradation.
-*/
-#define OV0_FOUR_TAP_COEF_0 0x04B0
-#define OV0_FOUR_TAP_COEF_1 0x04B4
-#define OV0_FOUR_TAP_COEF_2 0x04B8
-#define OV0_FOUR_TAP_COEF_3 0x04BC
-#define OV0_FOUR_TAP_COEF_4 0x04C0
-
-#define OV0_FLAG_CNTL 0x04DC
-#ifdef RAGE128
-#define OV0_COLOUR_CNTL 0x04E0
-# define COLOUR_CNTL_BRIGHTNESS 0x0000007F
-# define COLOUR_CNTL_SATURATION 0x001F1F00
-#else
-/* NB: radeons have no COLOUR_CNTL register */
-#define OV0_SLICE_CNTL 0x04E0
-# define SLICE_CNTL_DISABLE 0x40000000
-#endif
-/* Video and graphics keys allow alpha blending, color correction
- and many other video effects */
-#define OV0_VID_KEY_CLR 0x04E4
-#define OV0_VID_KEY_MSK 0x04E8
-#define OV0_GRAPHICS_KEY_CLR 0x04EC
-#define OV0_GRAPHICS_KEY_MSK 0x04F0
-#define OV0_KEY_CNTL 0x04F4
-# define VIDEO_KEY_FN_MASK 0x00000007L
-# define VIDEO_KEY_FN_FALSE 0x00000000L
-# define VIDEO_KEY_FN_TRUE 0x00000001L
-# define VIDEO_KEY_FN_EQ 0x00000004L
-# define VIDEO_KEY_FN_NE 0x00000005L
-# define GRAPHIC_KEY_FN_MASK 0x00000070L
-# define GRAPHIC_KEY_FN_FALSE 0x00000000L
-# define GRAPHIC_KEY_FN_TRUE 0x00000010L
-# define GRAPHIC_KEY_FN_EQ 0x00000040L
-# define GRAPHIC_KEY_FN_NE 0x00000050L
-# define CMP_MIX_MASK 0x00000100L
-# define CMP_MIX_OR 0x00000000L
-# define CMP_MIX_AND 0x00000100L
-#define OV0_TEST 0x04F8
-#define OV0_LIN_TRANS_A 0x0D20
-#define OV0_LIN_TRANS_B 0x0D24
-#define OV0_LIN_TRANS_C 0x0D28
-#define OV0_LIN_TRANS_D 0x0D2C
-#define OV0_LIN_TRANS_E 0x0D30
-#define OV0_LIN_TRANS_F 0x0D34
-#define OV0_GAMMA_0_F 0x0D40
-#define OV0_GAMMA_10_1F 0x0D44
-#define OV0_GAMMA_20_3F 0x0D48
-#define OV0_GAMMA_40_7F 0x0D4C
-/* These registers exist on R200 only */
-#define OV0_GAMMA_80_BF 0x0E00
-#define OV0_GAMMA_C0_FF 0x0E04
-#define OV0_GAMMA_100_13F 0x0E08
-#define OV0_GAMMA_140_17F 0x0E0C
-#define OV0_GAMMA_180_1BF 0x0E10
-#define OV0_GAMMA_1C0_1FF 0x0E14
-#define OV0_GAMMA_200_23F 0x0E18
-#define OV0_GAMMA_240_27F 0x0E1C
-#define OV0_GAMMA_280_2BF 0x0E20
-#define OV0_GAMMA_2C0_2FF 0x0E24
-#define OV0_GAMMA_300_33F 0x0E28
-#define OV0_GAMMA_340_37F 0x0E2C
-/* End of R200 specific definitions */
-#define OV0_GAMMA_380_3BF 0x0D50
-#define OV0_GAMMA_3C0_3FF 0x0D54
-
-/*
- IDCT ENGINE:
- It's MPEG-2 hardware decoder which incorporates run-level decode, de-zigzag
- and IDCT into an IDCT engine to complement the motion compensation engine.
-*/
-#define IDCT_RUNS 0x1F80
-#define IDCT_LEVELS 0x1F84
-#define IDCT_AUTH_CONTROL 0x1F88
-#define IDCT_AUTH 0x1F8C
-#define IDCT_CONTROL 0x1FBC
-
-#define SE_MC_SRC2_CNTL 0x19D4
-#define SE_MC_SRC1_CNTL 0x19D8
-#define SE_MC_DST_CNTL 0x19DC
-#define SE_MC_CNTL_START 0x19E0
-#ifndef RAGE128
-#define SE_MC_BUF_BASE 0x19E4
-#define PP_MC_CONTEXT 0x19E8
-#define PP_MISC 0x1C14
-#endif
-/*
- SUBPICTURE UNIT:
- Decompressing, scaling and alpha blending the compressed bitmap on the fly.
- Provide optimal DVD subpicture qualtity.
-*/
-#define SUBPIC_CNTL 0x0540
-#define SUBPIC_DEFCOLCON 0x0544
-#define SUBPIC_Y_X_START 0x054C
-#define SUBPIC_Y_X_END 0x0550
-#define SUBPIC_V_INC 0x0554
-#define SUBPIC_H_INC 0x0558
-#define SUBPIC_BUF0_OFFSET 0x055C
-#define SUBPIC_BUF1_OFFSET 0x0560
-#define SUBPIC_LC0_OFFSET 0x0564
-#define SUBPIC_LC1_OFFSET 0x0568
-#define SUBPIC_PITCH 0x056C
-#define SUBPIC_BTN_HLI_COLCON 0x0570
-#define SUBPIC_BTN_HLI_Y_X_START 0x0574
-#define SUBPIC_BTN_HLI_Y_X_END 0x0578
-#define SUBPIC_PALETTE_INDEX 0x057C
-#define SUBPIC_PALETTE_DATA 0x0580
-#define SUBPIC_H_ACCUM_INIT 0x0584
-#define SUBPIC_V_ACCUM_INIT 0x0588
-
-#define CP_RB_BASE 0x0700
-#define CP_RB_CNTL 0x0704
-#define CP_RB_RPTR_ADDR 0x070C
-#define CP_RB_RPTR 0x0710
-#define CP_RB_WPTR 0x0714
-#define CP_RB_WPTR_DELAY 0x0718
-#define CP_IB_BASE 0x0738
-#define CP_IB_BUFSZ 0x073C
-#define CP_CSQ_CNTL 0x0740
-#define SCRATCH_UMSK 0x0770
-#define SCRATCH_ADDR 0x0774
-#define DMA_GUI_TABLE_ADDR 0x0780
-#define DMA_GUI_SRC_ADDR 0x0784
-#define DMA_GUI_DST_ADDR 0x0788
-#define DMA_GUI_COMMAND 0x078C
-#define DMA_GUI_STATUS 0x0790
-#define DMA_GUI_ACT_DSCRPTR 0x0794
-#define DMA_VID_TABLE_ADDR 0x07A0
-#define DMA_VID_SRC_ADDR 0x07A4
-#define DMA_VID_DST_ADDR 0x07A8
-#define DMA_VID_COMMAND 0x07AC
-#define DMA_VID_STATUS 0x07B0
-#define DMA_VID_ACT_DSCRPTR 0x07B4
-#define CP_ME_CNTL 0x07D0
-#define CP_ME_RAM_ADDR 0x07D4
-#define CP_ME_RAM_RADDR 0x07D8
-#define CP_ME_RAM_DATAH 0x07DC
-#define CP_ME_RAM_DATAL 0x07E0
-#define CP_CSQ_ADDR 0x07F0
-#define CP_CSQ_DATA 0x07F4
-#define CP_CSQ_STAT 0x07F8
-
-#define DISP_MISC_CNTL 0x0D00
-# define SOFT_RESET_GRPH_PP (1 << 0)
-#define DAC_MACRO_CNTL 0x0D04
-#define DISP_PWR_MAN 0x0D08
-#define DISP_TEST_DEBUG_CNTL 0x0D10
-#define DISP_HW_DEBUG 0x0D14
-#define DAC_CRC_SIG1 0x0D18
-#define DAC_CRC_SIG2 0x0D1C
-
-/* first capture unit */
-
-#define VID_BUFFER_CONTROL 0x0900
-#define CAP_INT_CNTL 0x0908
-#define CAP_INT_STATUS 0x090C
-#define FCP_CNTL 0x0910
-#define CAP0_BUF0_OFFSET 0x0920
-#define CAP0_BUF1_OFFSET 0x0924
-#define CAP0_BUF0_EVEN_OFFSET 0x0928
-#define CAP0_BUF1_EVEN_OFFSET 0x092C
-#define CAP0_BUF_PITCH 0x0930
-#define CAP0_V_WINDOW 0x0934
-#define CAP0_H_WINDOW 0x0938
-#define CAP0_VBI0_OFFSET 0x093C
-#define CAP0_VBI1_OFFSET 0x0940
-#define CAP0_VBI_V_WINDOW 0x0944
-#define CAP0_VBI_H_WINDOW 0x0948
-#define CAP0_PORT_MODE_CNTL 0x094C
-#define CAP0_TRIG_CNTL 0x0950
-#define CAP0_DEBUG 0x0954
-#define CAP0_CONFIG 0x0958
-# define CAP0_CONFIG_CONTINUOS 0x00000001
-# define CAP0_CONFIG_START_FIELD_EVEN 0x00000002
-# define CAP0_CONFIG_START_BUF_GET 0x00000004
-# define CAP0_CONFIG_START_BUF_SET 0x00000008
-# define CAP0_CONFIG_BUF_TYPE_ALT 0x00000010
-# define CAP0_CONFIG_BUF_TYPE_FRAME 0x00000020
-# define CAP0_CONFIG_ONESHOT_MODE_FRAME 0x00000040
-# define CAP0_CONFIG_BUF_MODE_DOUBLE 0x00000080
-# define CAP0_CONFIG_BUF_MODE_TRIPLE 0x00000100
-# define CAP0_CONFIG_MIRROR_EN 0x00000200
-# define CAP0_CONFIG_ONESHOT_MIRROR_EN 0x00000400
-# define CAP0_CONFIG_VIDEO_SIGNED_UV 0x00000800
-# define CAP0_CONFIG_ANC_DECODE_EN 0x00001000
-# define CAP0_CONFIG_VBI_EN 0x00002000
-# define CAP0_CONFIG_SOFT_PULL_DOWN_EN 0x00004000
-# define CAP0_CONFIG_VIP_EXTEND_FLAG_EN 0x00008000
-# define CAP0_CONFIG_FAKE_FIELD_EN 0x00010000
-# define CAP0_CONFIG_ODD_ONE_MORE_LINE 0x00020000
-# define CAP0_CONFIG_EVEN_ONE_MORE_LINE 0x00040000
-# define CAP0_CONFIG_HORZ_DIVIDE_2 0x00080000
-# define CAP0_CONFIG_HORZ_DIVIDE_4 0x00100000
-# define CAP0_CONFIG_VERT_DIVIDE_2 0x00200000
-# define CAP0_CONFIG_VERT_DIVIDE_4 0x00400000
-# define CAP0_CONFIG_FORMAT_BROOKTREE 0x00000000
-# define CAP0_CONFIG_FORMAT_CCIR656 0x00800000
-# define CAP0_CONFIG_FORMAT_ZV 0x01000000
-# define CAP0_CONFIG_FORMAT_VIP 0x01800000
-# define CAP0_CONFIG_FORMAT_TRANSPORT 0x02000000
-# define CAP0_CONFIG_HORZ_DECIMATOR 0x04000000
-# define CAP0_CONFIG_VIDEO_IN_YVYU422 0x00000000
-# define CAP0_CONFIG_VIDEO_IN_VYUY422 0x20000000
-# define CAP0_CONFIG_VBI_DIVIDE_2 0x40000000
-# define CAP0_CONFIG_VBI_DIVIDE_4 0x80000000
-#define CAP0_ANC_ODD_OFFSET 0x095C
-#define CAP0_ANC_EVEN_OFFSET 0x0960
-#define CAP0_ANC_H_WINDOW 0x0964
-#define CAP0_VIDEO_SYNC_TEST 0x0968
-#define CAP0_ONESHOT_BUF_OFFSET 0x096C
-#define CAP0_BUF_STATUS 0x0970
-#ifdef RAGE128
-#define CAP0_DWNSC_XRATIO 0x0978
-#define CAP0_XSHARPNESS 0x097C
-#else
-/* #define CAP0_DWNSC_XRATIO 0x0978 */
-/* #define CAP0_XSHARPNESS 0x097C */
-#endif
-#define CAP0_VBI2_OFFSET 0x0980
-#define CAP0_VBI3_OFFSET 0x0984
-#define CAP0_ANC2_OFFSET 0x0988
-#define CAP0_ANC3_OFFSET 0x098C
-
-/* second capture unit */
-
-#define CAP1_BUF0_OFFSET 0x0990
-#define CAP1_BUF1_OFFSET 0x0994
-#define CAP1_BUF0_EVEN_OFFSET 0x0998
-#define CAP1_BUF1_EVEN_OFFSET 0x099C
-
-#define CAP1_BUF_PITCH 0x09A0
-#define CAP1_V_WINDOW 0x09A4
-#define CAP1_H_WINDOW 0x09A8
-#define CAP1_VBI_ODD_OFFSET 0x09AC
-#define CAP1_VBI_EVEN_OFFSET 0x09B0
-#define CAP1_VBI_V_WINDOW 0x09B4
-#define CAP1_VBI_H_WINDOW 0x09B8
-#define CAP1_PORT_MODE_CNTL 0x09BC
-#define CAP1_TRIG_CNTL 0x09C0
-#define CAP1_DEBUG 0x09C4
-#define CAP1_CONFIG 0x09C8
-#define CAP1_ANC_ODD_OFFSET 0x09CC
-#define CAP1_ANC_EVEN_OFFSET 0x09D0
-#define CAP1_ANC_H_WINDOW 0x09D4
-#define CAP1_VIDEO_SYNC_TEST 0x09D8
-#define CAP1_ONESHOT_BUF_OFFSET 0x09DC
-#define CAP1_BUF_STATUS 0x09E0
-#define CAP1_DWNSC_XRATIO 0x09E8
-#define CAP1_XSHARPNESS 0x09EC
-
-#define DISP_MERGE_CNTL 0x0D60
-#define DISP_OUTPUT_CNTL 0x0D64
-# define DISP_DAC_SOURCE_MASK 0x03
-# define DISP_DAC_SOURCE_CRTC2 0x01
-#define DISP_LIN_TRANS_GRPH_A 0x0D80
-#define DISP_LIN_TRANS_GRPH_B 0x0D84
-#define DISP_LIN_TRANS_GRPH_C 0x0D88
-#define DISP_LIN_TRANS_GRPH_D 0x0D8C
-#define DISP_LIN_TRANS_GRPH_E 0x0D90
-#define DISP_LIN_TRANS_GRPH_F 0x0D94
-#define DISP_LIN_TRANS_VID_A 0x0D98
-#define DISP_LIN_TRANS_VID_B 0x0D9C
-#define DISP_LIN_TRANS_VID_C 0x0DA0
-#define DISP_LIN_TRANS_VID_D 0x0DA4
-#define DISP_LIN_TRANS_VID_E 0x0DA8
-#define DISP_LIN_TRANS_VID_F 0x0DAC
-#define RMX_HORZ_FILTER_0TAP_COEF 0x0DB0
-#define RMX_HORZ_FILTER_1TAP_COEF 0x0DB4
-#define RMX_HORZ_FILTER_2TAP_COEF 0x0DB8
-#define RMX_HORZ_PHASE 0x0DBC
-#define DAC_EMBEDDED_SYNC_CNTL 0x0DC0
-#define DAC_BROAD_PULSE 0x0DC4
-#define DAC_SKEW_CLKS 0x0DC8
-#define DAC_INCR 0x0DCC
-#define DAC_NEG_SYNC_LEVEL 0x0DD0
-#define DAC_POS_SYNC_LEVEL 0x0DD4
-#define DAC_BLANK_LEVEL 0x0DD8
-#define CLOCK_CNTL_INDEX 0x0008
-/* CLOCK_CNTL_INDEX bit constants */
-# define PLL_WR_EN 0x00000080
-# define PLL_DIV_SEL (3 << 8)
-# define PLL2_DIV_SEL_MASK ~(3 << 8)
-#define CLOCK_CNTL_DATA 0x000C
-#define CP_RB_CNTL 0x0704
-#define CP_RB_BASE 0x0700
-#define CP_RB_RPTR_ADDR 0x070C
-#define CP_RB_RPTR 0x0710
-#define CP_RB_WPTR 0x0714
-#define CP_RB_WPTR_DELAY 0x0718
-#define CP_IB_BASE 0x0738
-#define CP_IB_BUFSZ 0x073C
-#define SCRATCH_REG0 0x15E0
-#define GUI_SCRATCH_REG0 0x15E0
-#define SCRATCH_REG1 0x15E4
-#define GUI_SCRATCH_REG1 0x15E4
-#define SCRATCH_REG2 0x15E8
-#define GUI_SCRATCH_REG2 0x15E8
-#define SCRATCH_REG3 0x15EC
-#define GUI_SCRATCH_REG3 0x15EC
-#define SCRATCH_REG4 0x15F0
-#define GUI_SCRATCH_REG4 0x15F0
-#define SCRATCH_REG5 0x15F4
-#define GUI_SCRATCH_REG5 0x15F4
-#define SCRATCH_UMSK 0x0770
-#define SCRATCH_ADDR 0x0774
-#define DP_BRUSH_FRGD_CLR 0x147C
-#define DP_BRUSH_BKGD_CLR 0x1478
-#define DST_LINE_START 0x1600
-#define DST_LINE_END 0x1604
-#define SRC_OFFSET 0x15AC
-#define SRC_PITCH 0x15B0
-#define SRC_TILE 0x1704
-#define SRC_PITCH_OFFSET 0x1428
-#define SRC_X 0x1414
-#define SRC_Y 0x1418
-#define DST_WIDTH_X 0x1588
-#define DST_HEIGHT_WIDTH_8 0x158C
-#define SRC_X_Y 0x1590
-#define SRC_Y_X 0x1434
-#define DST_Y_X 0x1438
-#define DST_WIDTH_HEIGHT 0x1598
-#define DST_HEIGHT_WIDTH 0x143c
-#define SRC_CLUT_ADDRESS 0x1780
-#define SRC_CLUT_DATA 0x1784
-#define SRC_CLUT_DATA_RD 0x1788
-#define HOST_DATA0 0x17C0
-#define HOST_DATA1 0x17C4
-#define HOST_DATA2 0x17C8
-#define HOST_DATA3 0x17CC
-#define HOST_DATA4 0x17D0
-#define HOST_DATA5 0x17D4
-#define HOST_DATA6 0x17D8
-#define HOST_DATA7 0x17DC
-#define HOST_DATA_LAST 0x17E0
-#define DP_SRC_ENDIAN 0x15D4
-#define DP_SRC_FRGD_CLR 0x15D8
-#define DP_SRC_BKGD_CLR 0x15DC
-#define DP_WRITE_MASK 0x16cc
-#define SC_LEFT 0x1640
-#define SC_RIGHT 0x1644
-#define SC_TOP 0x1648
-#define SC_BOTTOM 0x164C
-#define SRC_SC_RIGHT 0x1654
-#define SRC_SC_BOTTOM 0x165C
-#define DP_CNTL 0x16C0
-/* DP_CNTL bit constants */
-# define DST_X_RIGHT_TO_LEFT 0x00000000
-# define DST_X_LEFT_TO_RIGHT 0x00000001
-# define DST_Y_BOTTOM_TO_TOP 0x00000000
-# define DST_Y_TOP_TO_BOTTOM 0x00000002
-# define DST_X_MAJOR 0x00000000
-# define DST_Y_MAJOR 0x00000004
-# define DST_X_TILE 0x00000008
-# define DST_Y_TILE 0x00000010
-# define DST_LAST_PEL 0x00000020
-# define DST_TRAIL_X_RIGHT_TO_LEFT 0x00000000
-# define DST_TRAIL_X_LEFT_TO_RIGHT 0x00000040
-# define DST_TRAP_FILL_RIGHT_TO_LEFT 0x00000000
-# define DST_TRAP_FILL_LEFT_TO_RIGHT 0x00000080
-# define DST_BRES_SIGN 0x00000100
-# define DST_HOST_BIG_ENDIAN_EN 0x00000200
-# define DST_POLYLINE_NONLAST 0x00008000
-# define DST_RASTER_STALL 0x00010000
-# define DST_POLY_EDGE 0x00040000
-#define DP_CNTL_XDIR_YDIR_YMAJOR 0x16D0
-/* DP_CNTL_XDIR_YDIR_YMAJOR bit constants (short version of DP_CNTL) */
-# define DST_X_MAJOR_S 0x00000000
-# define DST_Y_MAJOR_S 0x00000001
-# define DST_Y_BOTTOM_TO_TOP_S 0x00000000
-# define DST_Y_TOP_TO_BOTTOM_S 0x00008000
-# define DST_X_RIGHT_TO_LEFT_S 0x00000000
-# define DST_X_LEFT_TO_RIGHT_S 0x80000000
-#define DP_DATATYPE 0x16C4
-/* DP_DATATYPE bit constants */
-# define DST_8BPP 0x00000002
-# define DST_15BPP 0x00000003
-# define DST_16BPP 0x00000004
-# define DST_24BPP 0x00000005
-# define DST_32BPP 0x00000006
-# define DST_8BPP_RGB332 0x00000007
-# define DST_8BPP_Y8 0x00000008
-# define DST_8BPP_RGB8 0x00000009
-# define DST_16BPP_VYUY422 0x0000000b
-# define DST_16BPP_YVYU422 0x0000000c
-# define DST_32BPP_AYUV444 0x0000000e
-# define DST_16BPP_ARGB4444 0x0000000f
-# define BRUSH_SOLIDCOLOR 0x00000d00
-# define SRC_MONO 0x00000000
-# define SRC_MONO_LBKGD 0x00010000
-# define SRC_DSTCOLOR 0x00030000
-# define BYTE_ORDER_MSB_TO_LSB 0x00000000
-# define BYTE_ORDER_LSB_TO_MSB 0x40000000
-# define DP_CONVERSION_TEMP 0x80000000
-# define HOST_BIG_ENDIAN_EN (1 << 29)
-#define DP_MIX 0x16C8
-/* DP_MIX bit constants */
-# define DP_SRC_RECT 0x00000200
-# define DP_SRC_HOST 0x00000300
-# define DP_SRC_HOST_BYTEALIGN 0x00000400
-#define DP_WRITE_MSK 0x16CC
-#define DP_XOP 0x17F8
-#define CLR_CMP_CLR_SRC 0x15C4
-#define CLR_CMP_CLR_DST 0x15C8
-#define CLR_CMP_CNTL 0x15C0
-/* CLR_CMP_CNTL bit constants */
-# define COMPARE_SRC_FALSE 0x00000000
-# define COMPARE_SRC_TRUE 0x00000001
-# define COMPARE_SRC_NOT_EQUAL 0x00000004
-# define COMPARE_SRC_EQUAL 0x00000005
-# define COMPARE_SRC_EQUAL_FLIP 0x00000007
-# define COMPARE_DST_FALSE 0x00000000
-# define COMPARE_DST_TRUE 0x00000100
-# define COMPARE_DST_NOT_EQUAL 0x00000400
-# define COMPARE_DST_EQUAL 0x00000500
-# define COMPARE_DESTINATION 0x00000000
-# define COMPARE_SOURCE 0x01000000
-# define COMPARE_SRC_AND_DST 0x02000000
-#define CLR_CMP_MSK 0x15CC
-#define DSTCACHE_MODE 0x1710
-#define DSTCACHE_CTLSTAT 0x1714
-/* DSTCACHE_CTLSTAT bit constants */
-# define RB2D_DC_FLUSH (3 << 0)
-# define RB2D_DC_FLUSH_ALL 0xf
-# define RB2D_DC_BUSY (1 << 31)
-#define DEFAULT_OFFSET 0x16e0
-#define DEFAULT_PITCH_OFFSET 0x16E0
-#define DEFAULT_SC_BOTTOM_RIGHT 0x16E8
-/* DEFAULT_SC_BOTTOM_RIGHT bit constants */
-# define DEFAULT_SC_RIGHT_MAX (0x1fff << 0)
-# define DEFAULT_SC_BOTTOM_MAX (0x1fff << 16)
-#define DP_GUI_MASTER_CNTL 0x146C
-/* DP_GUI_MASTER_CNTL bit constants */
-# define GMC_SRC_PITCH_OFFSET_DEFAULT 0x00000000
-# define GMC_SRC_PITCH_OFFSET_LEAVE 0x00000001
-# define GMC_DST_PITCH_OFFSET_DEFAULT 0x00000000
-# define GMC_DST_PITCH_OFFSET_LEAVE 0x00000002
-# define GMC_SRC_CLIP_DEFAULT 0x00000000
-# define GMC_SRC_CLIP_LEAVE 0x00000004
-# define GMC_DST_CLIP_DEFAULT 0x00000000
-# define GMC_DST_CLIP_LEAVE 0x00000008
-# define GMC_BRUSH_8x8MONO 0x00000000
-# define GMC_BRUSH_8x8MONO_LBKGD 0x00000010
-# define GMC_BRUSH_8x1MONO 0x00000020
-# define GMC_BRUSH_8x1MONO_LBKGD 0x00000030
-# define GMC_BRUSH_1x8MONO 0x00000040
-# define GMC_BRUSH_1x8MONO_LBKGD 0x00000050
-# define GMC_BRUSH_32x1MONO 0x00000060
-# define GMC_BRUSH_32x1MONO_LBKGD 0x00000070
-# define GMC_BRUSH_32x32MONO 0x00000080
-# define GMC_BRUSH_32x32MONO_LBKGD 0x00000090
-# define GMC_BRUSH_8x8COLOR 0x000000a0
-# define GMC_BRUSH_8x1COLOR 0x000000b0
-# define GMC_BRUSH_1x8COLOR 0x000000c0
-# define GMC_BRUSH_SOLID_COLOR 0x000000d0
-# define GMC_DST_8BPP 0x00000200
-# define GMC_DST_15BPP 0x00000300
-# define GMC_DST_16BPP 0x00000400
-# define GMC_DST_24BPP 0x00000500
-# define GMC_DST_32BPP 0x00000600
-# define GMC_DST_8BPP_RGB332 0x00000700
-# define GMC_DST_8BPP_Y8 0x00000800
-# define GMC_DST_8BPP_RGB8 0x00000900
-# define GMC_DST_16BPP_VYUY422 0x00000b00
-# define GMC_DST_16BPP_YVYU422 0x00000c00
-# define GMC_DST_32BPP_AYUV444 0x00000e00
-# define GMC_DST_16BPP_ARGB4444 0x00000f00
-# define GMC_SRC_MONO 0x00000000
-# define GMC_SRC_MONO_LBKGD 0x00001000
-# define GMC_SRC_DSTCOLOR 0x00003000
-# define GMC_BYTE_ORDER_MSB_TO_LSB 0x00000000
-# define GMC_BYTE_ORDER_LSB_TO_MSB 0x00004000
-# define GMC_DP_CONVERSION_TEMP_9300 0x00008000
-# define GMC_DP_CONVERSION_TEMP_6500 0x00000000
-# define GMC_DP_SRC_RECT 0x02000000
-# define GMC_DP_SRC_HOST 0x03000000
-# define GMC_DP_SRC_HOST_BYTEALIGN 0x04000000
-# define GMC_3D_FCN_EN_CLR 0x00000000
-# define GMC_3D_FCN_EN_SET 0x08000000
-# define GMC_DST_CLR_CMP_FCN_LEAVE 0x00000000
-# define GMC_DST_CLR_CMP_FCN_CLEAR 0x10000000
-# define GMC_AUX_CLIP_LEAVE 0x00000000
-# define GMC_AUX_CLIP_CLEAR 0x20000000
-# define GMC_WRITE_MASK_LEAVE 0x00000000
-# define GMC_WRITE_MASK_SET 0x40000000
-# define GMC_CLR_CMP_CNTL_DIS (1 << 28)
-# define GMC_SRC_DATATYPE_COLOR (3 << 12)
-# define ROP3_S 0x00cc0000
-# define ROP3_SRCCOPY 0x00cc0000
-# define ROP3_P 0x00f00000
-# define ROP3_PATCOPY 0x00f00000
-# define DP_SRC_SOURCE_MASK (7 << 24)
-# define GMC_BRUSH_NONE (15 << 4)
-# define DP_SRC_SOURCE_MEMORY (2 << 24)
-# define GMC_BRUSH_SOLIDCOLOR 0x000000d0
-#define SC_TOP_LEFT 0x16EC
-#define SC_BOTTOM_RIGHT 0x16F0
-#define SRC_SC_BOTTOM_RIGHT 0x16F4
-#define RB2D_DSTCACHE_CTLSTAT 0x342C
-#define RB2D_DSTCACHE_MODE 0x3428
-
-#define BASE_CODE 0x0f0b
-#define RADEON_BIOS_0_SCRATCH 0x0010
-#define RADEON_BIOS_1_SCRATCH 0x0014
-#define RADEON_BIOS_2_SCRATCH 0x0018
-#define RADEON_BIOS_3_SCRATCH 0x001c
-#define RADEON_BIOS_4_SCRATCH 0x0020
-#define RADEON_BIOS_5_SCRATCH 0x0024
-#define RADEON_BIOS_6_SCRATCH 0x0028
-#define RADEON_BIOS_7_SCRATCH 0x002c
-
-
-#define CLK_PIN_CNTL 0x0001
-#define PPLL_CNTL 0x0002
-# define PPLL_RESET (1 << 0)
-# define PPLL_SLEEP (1 << 1)
-# define PPLL_ATOMIC_UPDATE_EN (1 << 16)
-# define PPLL_VGA_ATOMIC_UPDATE_EN (1 << 17)
-# define PPLL_ATOMIC_UPDATE_VSYNC (1 << 18)
-#define PPLL_REF_DIV 0x0003
-# define PPLL_REF_DIV_MASK 0x03ff
-# define PPLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */
-# define PPLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */
-#define PPLL_DIV_0 0x0004
-#define PPLL_DIV_1 0x0005
-#define PPLL_DIV_2 0x0006
-#define PPLL_DIV_3 0x0007
-#define VCLK_ECP_CNTL 0x0008
-#define HTOTAL_CNTL 0x0009
-#define HTOTAL2_CNTL 0x002e /* PLL */
-#define M_SPLL_REF_FB_DIV 0x000a
-#define AGP_PLL_CNTL 0x000b
-#define SPLL_CNTL 0x000c
-#define SCLK_CNTL 0x000d
-#define MPLL_CNTL 0x000e
-#define MCLK_CNTL 0x0012
-/* MCLK_CNTL bit constants */
-# define FORCEON_MCLKA (1 << 16)
-# define FORCEON_MCLKB (1 << 17)
-# define FORCEON_YCLKA (1 << 18)
-# define FORCEON_YCLKB (1 << 19)
-# define FORCEON_MC (1 << 20)
-# define FORCEON_AIC (1 << 21)
-#define PLL_TEST_CNTL 0x0013
-#define P2PLL_CNTL 0x002a /* P2PLL */
-# define P2PLL_RESET (1 << 0)
-# define P2PLL_SLEEP (1 << 1)
-# define P2PLL_ATOMIC_UPDATE_EN (1 << 16)
-# define P2PLL_VGA_ATOMIC_UPDATE_EN (1 << 17)
-# define P2PLL_ATOMIC_UPDATE_VSYNC (1 << 18)
-#define P2PLL_DIV_0 0x002c
-# define P2PLL_FB0_DIV_MASK 0x07ff
-# define P2PLL_POST0_DIV_MASK 0x00070000
-#define P2PLL_REF_DIV 0x002B /* PLL */
-# define P2PLL_REF_DIV_MASK 0x03ff
-# define P2PLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */
-# define P2PLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */
-
-/* masks */
-
-#define CONFIG_MEMSIZE_MASK 0x1f000000
-#define MEM_CFG_TYPE 0x40000000
-#define DST_OFFSET_MASK 0x003fffff
-#define DST_PITCH_MASK 0x3fc00000
-#define DEFAULT_TILE_MASK 0xc0000000
-#define PPLL_DIV_SEL_MASK 0x00000300
-#define PPLL_FB3_DIV_MASK 0x000007ff
-#define PPLL_POST3_DIV_MASK 0x00070000
-
-#define GUI_ACTIVE 0x80000000
-
-/* GEN_RESET_CNTL bit constants */
-#define SOFT_RESET_GUI 0x00000001
-#define SOFT_RESET_VCLK 0x00000100
-#define SOFT_RESET_PCLK 0x00000200
-#define SOFT_RESET_ECP 0x00000400
-#define SOFT_RESET_DISPENG_XCLK 0x00000800
-
-/* RAGE THEATER REGISTERS */
-
-#define DMA_VIPH0_COMMAND 0x0A00
-#define DMA_VIPH1_COMMAND 0x0A04
-#define DMA_VIPH2_COMMAND 0x0A08
-#define DMA_VIPH3_COMMAND 0x0A0C
-#define DMA_VIPH_STATUS 0x0A10
-#define DMA_VIPH_CHUNK_0 0x0A18
-#define DMA_VIPH_CHUNK_1_VAL 0x0A1C
-#define DMA_VIP0_TABLE_ADDR 0x0A20
-#define DMA_VIPH0_ACTIVE 0x0A24
-#define DMA_VIP1_TABLE_ADDR 0x0A30
-#define DMA_VIPH1_ACTIVE 0x0A34
-#define DMA_VIP2_TABLE_ADDR 0x0A40
-#define DMA_VIPH2_ACTIVE 0x0A44
-#define DMA_VIP3_TABLE_ADDR 0x0A50
-#define DMA_VIPH3_ACTIVE 0x0A54
-#define DMA_VIPH_ABORT 0x0A88
-
-#define VIPH_CH0_DATA 0x0c00
-#define VIPH_CH1_DATA 0x0c04
-#define VIPH_CH2_DATA 0x0c08
-#define VIPH_CH3_DATA 0x0c0c
-#define VIPH_CH0_ADDR 0x0c10
-#define VIPH_CH1_ADDR 0x0c14
-#define VIPH_CH2_ADDR 0x0c18
-#define VIPH_CH3_ADDR 0x0c1c
-#define VIPH_CH0_SBCNT 0x0c20
-#define VIPH_CH1_SBCNT 0x0c24
-#define VIPH_CH2_SBCNT 0x0c28
-#define VIPH_CH3_SBCNT 0x0c2c
-#define VIPH_CH0_ABCNT 0x0c30
-#define VIPH_CH1_ABCNT 0x0c34
-#define VIPH_CH2_ABCNT 0x0c38
-#define VIPH_CH3_ABCNT 0x0c3c
-#define VIPH_CONTROL 0x0c40
-#define VIPH_DV_LAT 0x0c44
-#define VIPH_BM_CHUNK 0x0c48
-#define VIPH_DV_INT 0x0c4c
-#define VIPH_TIMEOUT_STAT 0x0c50
-
-#define VIPH_REG_DATA 0x0084
-#define VIPH_REG_ADDR 0x0080
-
-/* Address Space Rage Theatre Registers (VIP Access) */
-#define VIP_VIP_VENDOR_DEVICE_ID 0x0000
-#define VIP_VIP_SUB_VENDOR_DEVICE_ID 0x0004
-#define VIP_VIP_COMMAND_STATUS 0x0008
-#define VIP_VIP_REVISION_ID 0x000c
-#define VIP_HW_DEBUG 0x0010
-#define VIP_SW_SCRATCH 0x0014
-#define VIP_I2C_CNTL_0 0x0020
-#define VIP_I2C_CNTL_1 0x0024
-#define VIP_I2C_DATA 0x0028
-#define VIP_INT_CNTL 0x002c
-#define VIP_GPIO_INOUT 0x0030
-#define VIP_GPIO_CNTL 0x0034
-#define VIP_CLKOUT_GPIO_CNTL 0x0038
-#define VIP_RIPINTF_PORT_CNTL 0x003c
-#define VIP_ADC_CNTL 0x0400
-#define VIP_ADC_DEBUG 0x0404
-#define VIP_STANDARD_SELECT 0x0408
-#define VIP_THERMO2BIN_STATUS 0x040c
-#define VIP_COMB_CNTL0 0x0440
-#define VIP_COMB_CNTL1 0x0444
-#define VIP_COMB_CNTL2 0x0448
-#define VIP_COMB_LINE_LENGTH 0x044c
-#define VIP_NOISE_CNTL0 0x0450
-#define VIP_HS_PLINE 0x0480
-#define VIP_HS_DTOINC 0x0484
-#define VIP_HS_PLLGAIN 0x0488
-#define VIP_HS_MINMAXWIDTH 0x048c
-#define VIP_HS_GENLOCKDELAY 0x0490
-#define VIP_HS_WINDOW_LIMIT 0x0494
-#define VIP_HS_WINDOW_OC_SPEED 0x0498
-#define VIP_HS_PULSE_WIDTH 0x049c
-#define VIP_HS_PLL_ERROR 0x04a0
-#define VIP_HS_PLL_FS_PATH 0x04a4
-#define VIP_SG_BLACK_GATE 0x04c0
-#define VIP_SG_SYNCTIP_GATE 0x04c4
-#define VIP_SG_UVGATE_GATE 0x04c8
-#define VIP_LP_AGC_CLAMP_CNTL0 0x0500
-#define VIP_LP_AGC_CLAMP_CNTL1 0x0504
-#define VIP_LP_BRIGHTNESS 0x0508
-#define VIP_LP_CONTRAST 0x050c
-#define VIP_LP_SLICE_LIMIT 0x0510
-#define VIP_LP_WPA_CNTL0 0x0514
-#define VIP_LP_WPA_CNTL1 0x0518
-#define VIP_LP_BLACK_LEVEL 0x051c
-#define VIP_LP_SLICE_LEVEL 0x0520
-#define VIP_LP_SYNCTIP_LEVEL 0x0524
-#define VIP_LP_VERT_LOCKOUT 0x0528
-#define VIP_VS_DETECTOR_CNTL 0x0540
-#define VIP_VS_BLANKING_CNTL 0x0544
-#define VIP_VS_FIELD_ID_CNTL 0x0548
-#define VIP_VS_COUNTER_CNTL 0x054c
-#define VIP_VS_FRAME_TOTAL 0x0550
-#define VIP_VS_LINE_COUNT 0x0554
-#define VIP_CP_PLL_CNTL0 0x0580
-#define VIP_CP_PLL_CNTL1 0x0584
-#define VIP_CP_HUE_CNTL 0x0588
-#define VIP_CP_BURST_GAIN 0x058c
-#define VIP_CP_AGC_CNTL 0x0590
-#define VIP_CP_ACTIVE_GAIN 0x0594
-#define VIP_CP_PLL_STATUS0 0x0598
-#define VIP_CP_PLL_STATUS1 0x059c
-#define VIP_CP_PLL_STATUS2 0x05a0
-#define VIP_CP_PLL_STATUS3 0x05a4
-#define VIP_CP_PLL_STATUS4 0x05a8
-#define VIP_CP_PLL_STATUS5 0x05ac
-#define VIP_CP_PLL_STATUS6 0x05b0
-#define VIP_CP_PLL_STATUS7 0x05b4
-#define VIP_CP_DEBUG_FORCE 0x05b8
-#define VIP_CP_VERT_LOCKOUT 0x05bc
-#define VIP_H_ACTIVE_WINDOW 0x05c0
-#define VIP_V_ACTIVE_WINDOW 0x05c4
-#define VIP_H_VBI_WINDOW 0x05c8
-#define VIP_V_VBI_WINDOW 0x05cc
-#define VIP_VBI_CONTROL 0x05d0
-#define VIP_DECODER_DEBUG_CNTL 0x05d4
-#define VIP_SINGLE_STEP_DATA 0x05d8
-#define VIP_MASTER_CNTL 0x0040
-#define VIP_RGB_CNTL 0x0048
-#define VIP_CLKOUT_CNTL 0x004c
-#define VIP_SYNC_CNTL 0x0050
-#define VIP_I2C_CNTL 0x0054
-#define VIP_HTOTAL 0x0080
-#define VIP_HDISP 0x0084
-#define VIP_HSIZE 0x0088
-#define VIP_HSTART 0x008c
-#define VIP_HCOUNT 0x0090
-#define VIP_VTOTAL 0x0094
-#define VIP_VDISP 0x0098
-#define VIP_VCOUNT 0x009c
-#define VIP_VFTOTAL 0x00a0
-#define VIP_DFCOUNT 0x00a4
-#define VIP_DFRESTART 0x00a8
-#define VIP_DHRESTART 0x00ac
-#define VIP_DVRESTART 0x00b0
-#define VIP_SYNC_SIZE 0x00b4
-#define VIP_TV_PLL_FINE_CNTL 0x00b8
-#define VIP_CRT_PLL_FINE_CNTL 0x00bc
-#define VIP_TV_PLL_CNTL 0x00c0
-#define VIP_CRT_PLL_CNTL 0x00c4
-#define VIP_PLL_CNTL0 0x00c8
-#define VIP_PLL_TEST_CNTL 0x00cc
-#define VIP_CLOCK_SEL_CNTL 0x00d0
-#define VIP_VIN_PLL_CNTL 0x00d4
-#define VIP_VIN_PLL_FINE_CNTL 0x00d8
-#define VIP_AUD_PLL_CNTL 0x00e0
-#define VIP_AUD_PLL_FINE_CNTL 0x00e4
-#define VIP_AUD_CLK_DIVIDERS 0x00e8
-#define VIP_AUD_DTO_INCREMENTS 0x00ec
-#define VIP_L54_PLL_CNTL 0x00f0
-#define VIP_L54_PLL_FINE_CNTL 0x00f4
-#define VIP_L54_DTO_INCREMENTS 0x00f8
-#define VIP_PLL_CNTL1 0x00fc
-#define VIP_FRAME_LOCK_CNTL 0x0100
-#define VIP_SYNC_LOCK_CNTL 0x0104
-#define VIP_TVO_SYNC_PAT_ACCUM 0x0108
-#define VIP_TVO_SYNC_THRESHOLD 0x010c
-#define VIP_TVO_SYNC_PAT_EXPECT 0x0110
-#define VIP_DELAY_ONE_MAP_A 0x0114
-#define VIP_DELAY_ONE_MAP_B 0x0118
-#define VIP_DELAY_ZERO_MAP_A 0x011c
-#define VIP_DELAY_ZERO_MAP_B 0x0120
-#define VIP_TVO_DATA_DELAY_A 0x0140
-#define VIP_TVO_DATA_DELAY_B 0x0144
-#define VIP_HOST_READ_DATA 0x0180
-#define VIP_HOST_WRITE_DATA 0x0184
-#define VIP_HOST_RD_WT_CNTL 0x0188
-#define VIP_VSCALER_CNTL1 0x01c0
-#define VIP_TIMING_CNTL 0x01c4
-#define VIP_VSCALER_CNTL2 0x01c8
-#define VIP_Y_FALL_CNTL 0x01cc
-#define VIP_Y_RISE_CNTL 0x01d0
-#define VIP_Y_SAW_TOOTH_CNTL 0x01d4
-#define VIP_UPSAMP_AND_GAIN_CNTL 0x01e0
-#define VIP_GAIN_LIMIT_SETTINGS 0x01e4
-#define VIP_LINEAR_GAIN_SETTINGS 0x01e8
-#define VIP_MODULATOR_CNTL1 0x0200
-#define VIP_MODULATOR_CNTL2 0x0204
-#define VIP_MV_MODE_CNTL 0x0208
-#define VIP_MV_STRIPE_CNTL 0x020c
-#define VIP_MV_LEVEL_CNTL1 0x0210
-#define VIP_MV_LEVEL_CNTL2 0x0214
-#define VIP_PRE_DAC_MUX_CNTL 0x0240
-#define VIP_TV_DAC_CNTL 0x0280
-#define VIP_CRC_CNTL 0x02c0
-#define VIP_VIDEO_PORT_SIG 0x02c4
-#define VIP_VBI_CC_CNTL 0x02c8
-#define VIP_VBI_EDS_CNTL 0x02cc
-#define VIP_VBI_20BIT_CNTL 0x02d0
-#define VIP_VBI_DTO_CNTL 0x02d4
-#define VIP_VBI_LEVEL_CNTL 0x02d8
-#define VIP_UV_ADR 0x0300
-#define VIP_MV_STATUS 0x0330
-#define VIP_UPSAMP_COEFF0_0 0x0340
-#define VIP_UPSAMP_COEFF0_1 0x0344
-#define VIP_UPSAMP_COEFF0_2 0x0348
-#define VIP_UPSAMP_COEFF1_0 0x034c
-#define VIP_UPSAMP_COEFF1_1 0x0350
-#define VIP_UPSAMP_COEFF1_2 0x0354
-#define VIP_UPSAMP_COEFF2_0 0x0358
-#define VIP_UPSAMP_COEFF2_1 0x035c
-#define VIP_UPSAMP_COEFF2_2 0x0360
-#define VIP_UPSAMP_COEFF3_0 0x0364
-#define VIP_UPSAMP_COEFF3_1 0x0368
-#define VIP_UPSAMP_COEFF3_2 0x036c
-#define VIP_UPSAMP_COEFF4_0 0x0370
-#define VIP_UPSAMP_COEFF4_1 0x0374
-#define VIP_UPSAMP_COEFF4_2 0x0378
-#define VIP_TV_DTO_INCREMENTS 0x0390
-#define VIP_CRT_DTO_INCREMENTS 0x0394
-#define VIP_VSYNC_DIFF_CNTL 0x03a0
-#define VIP_VSYNC_DIFF_LIMITS 0x03a4
-#define VIP_VSYNC_DIFF_RD_DATA 0x03a8
-#define VIP_SCALER_IN_WINDOW 0x0618
-#define VIP_SCALER_OUT_WINDOW 0x061c
-#define VIP_H_SCALER_CONTROL 0x0600
-#define VIP_V_SCALER_CONTROL 0x0604
-#define VIP_V_DEINTERLACE_CONTROL 0x0608
-#define VIP_VBI_SCALER_CONTROL 0x060c
-#define VIP_DVS_PORT_CTRL 0x0610
-#define VIP_DVS_PORT_READBACK 0x0614
-#define VIP_FIFOA_CONFIG 0x0800
-#define VIP_FIFOB_CONFIG 0x0804
-#define VIP_FIFOC_CONFIG 0x0808
-#define VIP_SPDIF_PORT_CNTL 0x080c
-#define VIP_SPDIF_CHANNEL_STAT 0x0810
-#define VIP_SPDIF_AC3_PREAMBLE 0x0814
-#define VIP_I2S_TRANSMIT_CNTL 0x0818
-#define VIP_I2S_RECEIVE_CNTL 0x081c
-#define VIP_SPDIF_TX_CNT_REG 0x0820
-#define VIP_IIS_TX_CNT_REG 0x0824
-
-/* Status defines */
-#define VIP_BUSY 0
-#define VIP_IDLE 1
-#define VIP_RESET 2
-
-#define VIPH_TIMEOUT_STAT__VIPH_REG_STAT 0x00000010
-#define VIPH_TIMEOUT_STAT__VIPH_REG_AK 0x00000010
-#define VIPH_TIMEOUT_STAT__VIPH_REGR_DIS 0x01000000
-#define TEST_DEBUG_CNTL__TEST_DEBUG_OUT_EN 0x00000001
-
-#define RT_ATI_ID 0x4D541002
-
-/* Register/Field values: */
-#define RT_COMP0 0x0
-#define RT_COMP1 0x1
-#define RT_COMP2 0x2
-#define RT_YF_COMP3 0x3
-#define RT_YR_COMP3 0x4
-#define RT_YCF_COMP4 0x5
-#define RT_YCR_COMP4 0x6
-
-/* Video standard defines */
-#define RT_NTSC 0x0
-#define RT_PAL 0x1
-#define RT_SECAM 0x2
-#define extNONE 0x0000
-#define extNTSC 0x0100
-#define extRsvd 0x0200
-#define extPAL 0x0300
-#define extPAL_M 0x0400
-#define extPAL_N 0x0500
-#define extSECAM 0x0600
-#define extPAL_NCOMB 0x0700
-#define extNTSC_J 0x0800
-#define extNTSC_443 0x0900
-#define extPAL_BGHI 0x0A00
-#define extPAL_60 0x0B00
- /* these are used in MSP3430 */
-#define extPAL_DK1 0x0C00
-#define extPAL_AUTO 0x0D00
-
-#define RT_FREF_2700 6
-#define RT_FREF_2950 5
-
-#define RT_COMPOSITE 0x0
-#define RT_SVIDEO 0x1
-
-#define RT_NORM_SHARPNESS 0x03
-#define RT_HIGH_SHARPNESS 0x0F
-
-#define RT_HUE_PAL_DEF 0x00
-
-#define RT_DECINTERLACED 0x1
-#define RT_DECNONINTERLACED 0x0
-
-#define NTSC_LINES 525
-#define PAL_SECAM_LINES 625
-
-#define RT_ASYNC_ENABLE 0x0
-#define RT_ASYNC_DISABLE 0x1
-#define RT_ASYNC_RESET 0x1
-
-#define RT_VINRST_ACTIVE 0x0
-#define RT_VINRST_RESET 0x1
-#define RT_L54RST_RESET 0x1
-
-#define RT_REF_CLK 0x0
-#define RT_PLL_VIN_CLK 0x1
-
-#define RT_VIN_ASYNC_RST 0x20
-#define RT_DVS_ASYNC_RST 0x80
-
-#define RT_ADC_ENABLE 0x0
-#define RT_ADC_DISABLE 0x1
-
-#define RT_DVSDIR_IN 0x0
-#define RT_DVSDIR_OUT 0x1
-
-#define RT_DVSCLK_HIGH 0x0
-#define RT_DVSCLK_LOW 0x1
-
-#define RT_DVSCLK_SEL_8FS 0x0
-#define RT_DVSCLK_SEL_27MHZ 0x1
-
-#define RT_DVS_CONTSTREAM 0x1
-#define RT_DVS_NONCONTSTREAM 0x0
-
-#define RT_DVSDAT_HIGH 0x0
-#define RT_DVSDAT_LOW 0x1
-
-#define RT_ADC_CNTL_DEFAULT 0x03252338
-
-/* COMB_CNTL0 FILTER SETTINGS FOR DIFFERENT STANDARDS: */
-#define RT_NTSCM_COMB_CNTL0_COMPOSITE 0x09438090
-#define RT_NTSCM_COMB_CNTL0_SVIDEO 0x48540000
-
-#define RT_PAL_COMB_CNTL0_COMPOSITE 0x09438090
-#define RT_PAL_COMB_CNTL0_SVIDEO 0x40348090
-
-#define RT_SECAM_COMB_CNTL0_COMPOSITE 0xD0108090 /* instead of orig 0xD0088090 - eric*/
-#define RT_SECAM_COMB_CNTL0_SVIDEO 0x50148090
-
-#define RT_PALN_COMB_CNTL0_COMPOSITE 0x09438090
-#define RT_PALN_COMB_CNTL0_SVIDEO 0x40348090
-
-#define RT_PALM_COMB_CNTL0_COMPOSITE 0x09438090
-#define RT_PALM_COMB_CNTL0_SVIDEO 0x40348090
-/* End of filter settings. */
-
-/* COMB_CNTL1 FILTER SETTINGS FOR DIFFERENT STANDARDS: */
-#define RT_NTSCM_COMB_CNTL1_COMPOSITE 0x00000010
-#define RT_NTSCM_COMB_CNTL1_SVIDEO 0x00000081
-
-#define RT_PAL_COMB_CNTL1_COMPOSITE 0x00000010
-#define RT_PAL_COMB_CNTL1_SVIDEO 0x000000A1
-
-#define RT_SECAM_COMB_CNTL1_COMPOSITE 0x00000091
-#define RT_SECAM_COMB_CNTL1_SVIDEO 0x00000081
-
-#define RT_PALN_COMB_CNTL1_COMPOSITE 0x00000010
-#define RT_PALN_COMB_CNTL1_SVIDEO 0x000000A1
-
-#define RT_PALM_COMB_CNTL1_COMPOSITE 0x00000010
-#define RT_PALM_COMB_CNTL1_SVIDEO 0x000000A1
-/* End of filter settings. */
-
-/* COMB_CNTL2 FILTER SETTINGS FOR DIFFERENT STANDARDS: */
-#define RT_NTSCM_COMB_CNTL2_COMPOSITE 0x16161010
-#define RT_NTSCM_COMB_CNTL2_SVIDEO 0xFFFFFFFF
-
-#define RT_PAL_COMB_CNTL2_COMPOSITE 0x06080102 /* instead of 0x16161010 - Ivo */
-#define RT_PAL_COMB_CNTL2_SVIDEO 0x06080102
-
-#define RT_SECAM_COMB_CNTL2_COMPOSITE 0xffffffff /* instead of 0x06080102 - eric */
-#define RT_SECAM_COMB_CNTL2_SVIDEO 0x06080102
-
-#define RT_PALN_COMB_CNTL2_COMPOSITE 0x06080102
-#define RT_PALN_COMB_CNTL2_SVIDEO 0x06080102
-
-#define RT_PALM_COMB_CNTL2_COMPOSITE 0x06080102
-#define RT_PALM_COMB_CNTL2_SVIDEO 0x06080102
-/* End of filter settings. */
-
-/* COMB_LINE_LENGTH FILTER SETTINGS FOR DIFFERENT STANDARDS: */
-#define RT_NTSCM_COMB_LENGTH_COMPOSITE 0x0718038A
-#define RT_NTSCM_COMB_LENGTH_SVIDEO 0x0718038A
-
-#define RT_PAL_COMB_LENGTH_COMPOSITE 0x08DA046B
-#define RT_PAL_COMB_LENGTH_SVIDEO 0x08DA046B
-
-#define RT_SECAM_COMB_LENGTH_COMPOSITE 0x08DA046A
-#define RT_SECAM_COMB_LENGTH_SVIDEO 0x08DA046A
-
-#define RT_PALN_COMB_LENGTH_COMPOSITE 0x07260391
-#define RT_PALN_COMB_LENGTH_SVIDEO 0x07260391
-
-#define RT_PALM_COMB_LENGTH_COMPOSITE 0x07160389
-#define RT_PALM_COMB_LENGTH_SVIDEO 0x07160389
-/* End of filter settings. */
-
-/* LP_AGC_CLAMP_CNTL0 */
-#define RT_NTSCM_SYNCTIP_REF0 0x00000037
-#define RT_NTSCM_SYNCTIP_REF1 0x00000029
-#define RT_NTSCM_CLAMP_REF 0x0000003B
-#define RT_NTSCM_PEAKWHITE 0x000000FF
-#define RT_NTSCM_VBI_PEAKWHITE 0x000000C2
-
-#define RT_NTSCM_WPA_THRESHOLD 0x00000406
-#define RT_NTSCM_WPA_TRIGGER_LO 0x000000B3
-
-#define RT_NTSCM_WPA_TRIGGER_HIGH 0x0000021B
-
-#define RT_NTSCM_LP_LOCKOUT_START 0x00000206
-#define RT_NTSCM_LP_LOCKOUT_END 0x00000021
-#define RT_NTSCM_CH_DTO_INC 0x00400000
-#define RT_NTSCM_CH_PLL_SGAIN 0x00000001
-#define RT_NTSCM_CH_PLL_FGAIN 0x00000002
-
-#define RT_NTSCM_CR_BURST_GAIN 0x0000007A
-#define RT_NTSCM_CB_BURST_GAIN 0x000000AC
-
-#define RT_NTSCM_CH_HEIGHT 0x000000CD
-#define RT_NTSCM_CH_KILL_LEVEL 0x000000C0
-#define RT_NTSCM_CH_AGC_ERROR_LIM 0x00000002
-#define RT_NTSCM_CH_AGC_FILTER_EN 0x00000000
-#define RT_NTSCM_CH_AGC_LOOP_SPEED 0x00000000
-
-#define RT_NTSCM_CRDR_ACTIVE_GAIN 0x0000007A
-#define RT_NTSCM_CBDB_ACTIVE_GAIN 0x000000AC
-
-#define RT_NTSCM_VERT_LOCKOUT_START 0x00000207
-#define RT_NTSCM_VERT_LOCKOUT_END 0x0000000E
-
-#define RT_NTSCJ_SYNCTIP_REF0 0x00000004
-#define RT_NTSCJ_SYNCTIP_REF1 0x00000012
-#define RT_NTSCJ_CLAMP_REF 0x0000003B
-#define RT_NTSCJ_PEAKWHITE 0x000000CB
-#define RT_NTSCJ_VBI_PEAKWHITE 0x000000C2
-#define RT_NTSCJ_WPA_THRESHOLD 0x000004B0
-#define RT_NTSCJ_WPA_TRIGGER_LO 0x000000B4
-#define RT_NTSCJ_WPA_TRIGGER_HIGH 0x0000021C
-#define RT_NTSCJ_LP_LOCKOUT_START 0x00000206
-#define RT_NTSCJ_LP_LOCKOUT_END 0x00000021
-
-#define RT_NTSCJ_CR_BURST_GAIN 0x00000071
-#define RT_NTSCJ_CB_BURST_GAIN 0x0000009F
-#define RT_NTSCJ_CH_HEIGHT 0x000000CD
-#define RT_NTSCJ_CH_KILL_LEVEL 0x000000C0
-#define RT_NTSCJ_CH_AGC_ERROR_LIM 0x00000002
-#define RT_NTSCJ_CH_AGC_FILTER_EN 0x00000000
-#define RT_NTSCJ_CH_AGC_LOOP_SPEED 0x00000000
-
-#define RT_NTSCJ_CRDR_ACTIVE_GAIN 0x00000071
-#define RT_NTSCJ_CBDB_ACTIVE_GAIN 0x0000009F
-#define RT_NTSCJ_VERT_LOCKOUT_START 0x00000207
-#define RT_NTSCJ_VERT_LOCKOUT_END 0x0000000E
-
-#define RT_PAL_SYNCTIP_REF0 0x37 /* instead of 0x00000004 - Ivo */
-#define RT_PAL_SYNCTIP_REF1 0x26 /* instead of 0x0000000F - Ivo */
-#define RT_PAL_CLAMP_REF 0x0000003B
-#define RT_PAL_PEAKWHITE 0xFF /* instead of 0x000000C1 - Ivo */
-#define RT_PAL_VBI_PEAKWHITE 0xC6 /* instead of 0x000000C7 - Ivo */
-#define RT_PAL_WPA_THRESHOLD 0x59C /* instead of 0x000006A4 - Ivo */
-
-#define RT_PAL_WPA_TRIGGER_LO 0x00000096
-#define RT_PAL_WPA_TRIGGER_HIGH 0x000001C2
-#define RT_PAL_LP_LOCKOUT_START 0x00000263
-#define RT_PAL_LP_LOCKOUT_END 0x0000002C
-
-#define RT_PAL_CH_DTO_INC 0x00400000
-#define RT_PAL_CH_PLL_SGAIN 1 /* instead of 0x00000002 - Ivo */
-#define RT_PAL_CH_PLL_FGAIN 2 /* instead of 0x00000001 - Ivo */
-#define RT_PAL_CR_BURST_GAIN 0x0000007A
-#define RT_PAL_CB_BURST_GAIN 0x000000AB
-#define RT_PAL_CH_HEIGHT 0x0000009C
-#define RT_PAL_CH_KILL_LEVEL 4 /* instead of 0x00000090 - Ivo */
-#define RT_PAL_CH_AGC_ERROR_LIM 1 /* instead of 0x00000002 - Ivo */
-#define RT_PAL_CH_AGC_FILTER_EN 1 /* instead of 0x00000000 - Ivo */
-#define RT_PAL_CH_AGC_LOOP_SPEED 0x00000000
-
-#define RT_PAL_CRDR_ACTIVE_GAIN 0x9E /* instead of 0x0000007A - Ivo */
-#define RT_PAL_CBDB_ACTIVE_GAIN 0xDF /* instead of 0x000000AB - Ivo */
-#define RT_PAL_VERT_LOCKOUT_START 0x00000269
-#define RT_PAL_VERT_LOCKOUT_END 0x00000012
-
-#define RT_SECAM_SYNCTIP_REF0 0x37 /* instead of 0x00000004 - Ivo */
-#define RT_SECAM_SYNCTIP_REF1 0x26 /* instead of 0x0000000F - Ivo */
-#define RT_SECAM_CLAMP_REF 0x0000003B
-#define RT_SECAM_PEAKWHITE 0xFF /* instead of 0x000000C1 - Ivo */
-#define RT_SECAM_VBI_PEAKWHITE 0xC6 /* instead of 0x000000C7 - Ivo */
-#define RT_SECAM_WPA_THRESHOLD 0x57A /* instead of 0x6A4, instead of 0x0000059C is Ivo's value , -eric*/
-
-#define RT_SECAM_WPA_TRIGGER_LO 0x96 /* instead of 0x0000026B - eric */
-#define RT_SECAM_WPA_TRIGGER_HIGH 0x000001C2
-#define RT_SECAM_LP_LOCKOUT_START 0x263 /* instead of 0x0000026B - eric */
-#define RT_SECAM_LP_LOCKOUT_END 0x2b /* instead of 0x0000002C -eric */
-
-#define RT_SECAM_CH_DTO_INC 0x003E7A28
-#define RT_SECAM_CH_PLL_SGAIN 0x4 /* instead of 0x00000006 -Volodya */
-#define RT_SECAM_CH_PLL_FGAIN 0x7 /* instead of 0x00000006 -Volodya */
-
-#define RT_SECAM_CR_BURST_GAIN 0x1FF /* instead of 0x00000200 -Volodya */
-#define RT_SECAM_CB_BURST_GAIN 0x1FF /* instead of 0x00000200 -Volodya */
-#define RT_SECAM_CH_HEIGHT 0x00000066
-#define RT_SECAM_CH_KILL_LEVEL 0x00000060
-#define RT_SECAM_CH_AGC_ERROR_LIM 0x00000003
-#define RT_SECAM_CH_AGC_FILTER_EN 0x00000000
-#define RT_SECAM_CH_AGC_LOOP_SPEED 0x00000000
-
-#define RT_SECAM_CRDR_ACTIVE_GAIN 0x11B /* instead of 0x00000200 - eric */
-#define RT_SECAM_CBDB_ACTIVE_GAIN 0x15A /* instead of 0x00000200 - eric */
-#define RT_SECAM_VERT_LOCKOUT_START 0x00000269
-#define RT_SECAM_VERT_LOCKOUT_END 0x00000012
-
-#define RT_PAL_VS_FIELD_BLANK_END 0x2A /* instead of 0x0000002C - Ivo*/
-#define RT_NTSCM_VS_FIELD_BLANK_END 0x0000000A
-
-#define RT_NTSCM_FIELD_IDLOCATION 0x00000105
-#define RT_PAL_FIELD_IDLOCATION 0x00000137
-
-#define RT_NTSCM_H_ACTIVE_START 0x00000070
-#define RT_NTSCM_H_ACTIVE_END 0x00000363
-
-#define RT_PAL_H_ACTIVE_START 0x0000009A
-#define RT_PAL_H_ACTIVE_END 0x00000439
-
-#define RT_NTSCM_V_ACTIVE_START ((22-4)*2+1)
-#define RT_NTSCM_V_ACTIVE_END ((22+240-4)*2+1)
-
-#define RT_PAL_V_ACTIVE_START 0x2E /* instead of 0x00000023 (Same as SECAM) - Ivo */
-#define RT_PAL_V_ACTIVE_END 0x269 /* instead of 0x00000262 - Ivo */
-
-/* VBI */
-#define RT_NTSCM_H_VBI_WIND_START 0x00000049
-#define RT_NTSCM_H_VBI_WIND_END 0x00000366
-
-#define RT_PAL_H_VBI_WIND_START 0x00000084
-#define RT_PAL_H_VBI_WIND_END 0x0000041F
-
-#define RT_NTSCM_V_VBI_WIND_START fld_V_VBI_WIND_START_def
-#define RT_NTSCM_V_VBI_WIND_END fld_V_VBI_WIND_END_def
-
-#define RT_PAL_V_VBI_WIND_START 0x8 /* instead of 0x0000000B - Ivo */
-#define RT_PAL_V_VBI_WIND_END 0x2D /* instead of 0x00000022 - Ivo */
-
-#define RT_VBI_CAPTURE_EN 0x00000001 /* Enable */
-#define RT_VBI_CAPTURE_DIS 0x00000000 /* Disable */
-#define RT_RAW_CAPTURE 0x00000002 /* Use raw Video Capture. */
-
-#define RT_NTSCM_VSYNC_INT_TRIGGER 0x2AA
-#define RT_PALSEM_VSYNC_INT_TRIGGER 0x353
-
-#define RT_NTSCM_VSYNC_INT_HOLD 0x17
-#define RT_PALSEM_VSYNC_INT_HOLD 0x1C
-
-#define RT_NTSCM_VS_FIELD_BLANK_START 0x206
-#define RT_PALSEM_VS_FIELD_BLANK_START 0x26D /* instead of 0x26C - Ivo */
-
-#define RT_FIELD_FLIP_EN 0x4
-#define RT_V_FIELD_FLIP_INVERTED 0x2000
-
-#define RT_NTSCM_H_IN_START 0x70
-#define RT_PAL_H_IN_START 154 /* instead of 144 - Ivo */
-#define RT_SECAM_H_IN_START 0x91 /* instead of 0x9A, Ivo value is 154, instead of 144 - Volodya, - eric */
-#define RT_NTSC_H_ACTIVE_SIZE 744
-#define RT_PAL_H_ACTIVE_SIZE 928 /* instead of 927 - Ivo */
-#define RT_SECAM_H_ACTIVE_SIZE 932 /* instead of 928, instead of 927 - Ivo, - eric */
-#define RT_NTSCM_V_IN_START (0x23)
-#define RT_PAL_V_IN_START 44 /* instead of (45-6) - Ivo */
-#define RT_SECAM_V_IN_START 0x2C /* instead of (45-6) - Volodya */
-#define RT_NTSCM_V_ACTIVE_SIZE 480
-#define RT_PAL_V_ACTIVE_SIZE 572 /* instead of 575 - Ivo */
-#define RT_SECAM_V_ACTIVE_SIZE 570 /* instead of 572, instead of 575 - Ivo, - eric */
-
-#define RT_NTSCM_WIN_CLOSE_LIMIT 0x4D
-#define RT_NTSCJ_WIN_CLOSE_LIMIT 0x4D
-#define RT_NTSC443_WIN_CLOSE_LIMIT 0x5F
-#define RT_PALM_WIN_CLOSE_LIMIT 0x4D
-#define RT_PALN_WIN_CLOSE_LIMIT 0x5F
-#define RT_SECAM_WIN_CLOSE_LIMIT 0xC7 /* instead of 0x5F - eric */
-
-#define RT_NTSCM_VS_FIELD_BLANK_START 0x206
-
-#define RT_NTSCM_HS_PLL_SGAIN 0x5
-#define RT_NTSCM_HS_PLL_FGAIN 0x7
-
-#define RT_NTSCM_H_OUT_WIND_WIDTH 0x2F4
-#define RT_NTSCM_V_OUT_WIND_HEIGHT 0xF0
-
-#define TV 0x1
-#define LINEIN 0x2
-#define MUTE 0x3
-
-#define DEC_COMPOSITE 0
-#define DEC_SVIDEO 1
-#define DEC_TUNER 2
-
-#define DEC_NTSC 0
-#define DEC_PAL 1
-#define DEC_SECAM 2
-#define DEC_NTSC_J 8
-
-#define DEC_SMOOTH 0
-#define DEC_SHARP 1
-
-/* RT Register Field Defaults: */
-#define fld_tmpReg1_def 0x00000000
-#define fld_tmpReg2_def 0x00000001
-#define fld_tmpReg3_def 0x00000002
-
-#define fld_LP_CONTRAST_def 0x0000006e
-#define fld_LP_BRIGHTNESS_def 0x00003ff0
-#define fld_CP_HUE_CNTL_def 0x00000000
-#define fld_LUMA_FILTER_def 0x00000001
-#define fld_H_SCALE_RATIO_def 0x00010000
-#define fld_H_SHARPNESS_def 0x00000000
-
-#define fld_V_SCALE_RATIO_def 0x00000800
-#define fld_V_DEINTERLACE_ON_def 0x00000001
-#define fld_V_BYPSS_def 0x00000000
-#define fld_V_DITHER_ON_def 0x00000001
-#define fld_EVENF_OFFSET_def 0x00000000
-#define fld_ODDF_OFFSET_def 0x00000000
-
-#define fld_INTERLACE_DETECTED_def 0x00000000
-
-#define fld_VS_LINE_COUNT_def 0x00000000
-#define fld_VS_DETECTED_LINES_def 0x00000000
-#define fld_VS_ITU656_VB_def 0x00000000
-
-#define fld_VBI_CC_DATA_def 0x00000000
-#define fld_VBI_CC_WT_def 0x00000000
-#define fld_VBI_CC_WT_ACK_def 0x00000000
-#define fld_VBI_CC_HOLD_def 0x00000000
-#define fld_VBI_DECODE_EN_def 0x00000000
-
-#define fld_VBI_CC_DTO_P_def 0x00001802
-#define fld_VBI_20BIT_DTO_P_def 0x0000155c
-
-#define fld_VBI_CC_LEVEL_def 0x0000003f
-#define fld_VBI_20BIT_LEVEL_def 0x00000059
-#define fld_VBI_CLK_RUNIN_GAIN_def 0x0000010f
-
-#define fld_H_VBI_WIND_START_def 0x00000041
-#define fld_H_VBI_WIND_END_def 0x00000366
-
-#define fld_V_VBI_WIND_START_def 0x0D
-#define fld_V_VBI_WIND_END_def 0x24
-
-#define fld_VBI_20BIT_DATA0_def 0x00000000
-#define fld_VBI_20BIT_DATA1_def 0x00000000
-#define fld_VBI_20BIT_WT_def 0x00000000
-#define fld_VBI_20BIT_WT_ACK_def 0x00000000
-#define fld_VBI_20BIT_HOLD_def 0x00000000
-
-#define fld_VBI_CAPTURE_ENABLE_def 0x00000000
-
-#define fld_VBI_EDS_DATA_def 0x00000000
-#define fld_VBI_EDS_WT_def 0x00000000
-#define fld_VBI_EDS_WT_ACK_def 0x00000000
-#define fld_VBI_EDS_HOLD_def 0x00000000
-
-#define fld_VBI_SCALING_RATIO_def 0x00010000
-#define fld_VBI_ALIGNER_ENABLE_def 0x00000000
-
-#define fld_H_ACTIVE_START_def 0x00000070
-#define fld_H_ACTIVE_END_def 0x000002f0
-
-#define fld_V_ACTIVE_START_def ((22-4)*2+1)
-#define fld_V_ACTIVE_END_def ((22+240-4)*2+2)
-
-#define fld_CH_HEIGHT_def 0x000000CD
-#define fld_CH_KILL_LEVEL_def 0x000000C0
-#define fld_CH_AGC_ERROR_LIM_def 0x00000002
-#define fld_CH_AGC_FILTER_EN_def 0x00000000
-#define fld_CH_AGC_LOOP_SPEED_def 0x00000000
-
-#define fld_HUE_ADJ_def 0x00000000
-
-#define fld_STANDARD_SEL_def 0x00000000
-#define fld_STANDARD_YC_def 0x00000000
-
-#define fld_ADC_PDWN_def 0x00000001
-#define fld_INPUT_SELECT_def 0x00000000
-
-#define fld_ADC_PREFLO_def 0x00000003
-#define fld_H_SYNC_PULSE_WIDTH_def 0x00000000
-#define fld_HS_GENLOCKED_def 0x00000000
-#define fld_HS_SYNC_IN_WIN_def 0x00000000
-
-#define fld_VIN_ASYNC_RST_def 0x00000001
-#define fld_DVS_ASYNC_RST_def 0x00000001
-
-/* Vendor IDs: */
-#define fld_VIP_VENDOR_ID_def 0x00001002
-#define fld_VIP_DEVICE_ID_def 0x00004d54
-#define fld_VIP_REVISION_ID_def 0x00000001
-
-/* AGC Delay Register */
-#define fld_BLACK_INT_START_def 0x00000031
-#define fld_BLACK_INT_LENGTH_def 0x0000000f
-
-#define fld_UV_INT_START_def 0x0000003b
-#define fld_U_INT_LENGTH_def 0x0000000f
-#define fld_V_INT_LENGTH_def 0x0000000f
-#define fld_CRDR_ACTIVE_GAIN_def 0x0000007a
-#define fld_CBDB_ACTIVE_GAIN_def 0x000000ac
-
-#define fld_DVS_DIRECTION_def 0x00000000
-#define fld_DVS_VBI_CARD8_SWAP_def 0x00000000
-#define fld_DVS_CLK_SELECT_def 0x00000000
-#define fld_CONTINUOUS_STREAM_def 0x00000000
-#define fld_DVSOUT_CLK_DRV_def 0x00000001
-#define fld_DVSOUT_DATA_DRV_def 0x00000001
-
-#define fld_COMB_CNTL0_def 0x09438090
-#define fld_COMB_CNTL1_def 0x00000010
-
-#define fld_COMB_CNTL2_def 0x16161010
-#define fld_COMB_LENGTH_def 0x0718038A
-
-#define fld_SYNCTIP_REF0_def 0x00000037
-#define fld_SYNCTIP_REF1_def 0x00000029
-#define fld_CLAMP_REF_def 0x0000003B
-#define fld_AGC_PEAKWHITE_def 0x000000FF
-#define fld_VBI_PEAKWHITE_def 0x000000D2
-
-#define fld_WPA_THRESHOLD_def 0x000003B0
-
-#define fld_WPA_TRIGGER_LO_def 0x000000B4
-#define fld_WPA_TRIGGER_HIGH_def 0x0000021C
-
-#define fld_LOCKOUT_START_def 0x00000206
-#define fld_LOCKOUT_END_def 0x00000021
-
-#define fld_CH_DTO_INC_def 0x00400000
-#define fld_PLL_SGAIN_def 0x00000001
-#define fld_PLL_FGAIN_def 0x00000002
-
-#define fld_CR_BURST_GAIN_def 0x0000007a
-#define fld_CB_BURST_GAIN_def 0x000000ac
-
-#define fld_VERT_LOCKOUT_START_def 0x00000207
-#define fld_VERT_LOCKOUT_END_def 0x0000000E
-
-#define fld_H_IN_WIND_START_def 0x00000070
-#define fld_V_IN_WIND_START_def 0x00000027
-
-#define fld_H_OUT_WIND_WIDTH_def 0x000002f4
-
-#define fld_V_OUT_WIND_WIDTH_def 0x000000f0
-
-#define fld_HS_LINE_TOTAL_def 0x0000038E
-
-#define fld_MIN_PULSE_WIDTH_def 0x0000002F
-#define fld_MAX_PULSE_WIDTH_def 0x00000046
-
-#define fld_WIN_CLOSE_LIMIT_def 0x0000004D
-#define fld_WIN_OPEN_LIMIT_def 0x000001B7
-
-#define fld_VSYNC_INT_TRIGGER_def 0x000002AA
-
-#define fld_VSYNC_INT_HOLD_def 0x0000001D
-
-#define fld_VIN_M0_def 0x00000039
-#define fld_VIN_N0_def 0x0000014c
-#define fld_MNFLIP_EN_def 0x00000000
-#define fld_VIN_P_def 0x00000006
-#define fld_REG_CLK_SEL_def 0x00000000
-
-#define fld_VIN_M1_def 0x00000000
-#define fld_VIN_N1_def 0x00000000
-#define fld_VIN_DRIVER_SEL_def 0x00000000
-#define fld_VIN_MNFLIP_REQ_def 0x00000000
-#define fld_VIN_MNFLIP_DONE_def 0x00000000
-#define fld_TV_LOCK_TO_VIN_def 0x00000000
-#define fld_TV_P_FOR_WINCLK_def 0x00000004
-
-#define fld_VINRST_def 0x00000001
-#define fld_VIN_CLK_SEL_def 0x00000000
-
-#define fld_VS_FIELD_BLANK_START_def 0x00000206
-
-#define fld_VS_FIELD_BLANK_END_def 0x0000000A
-
-/*#define fld_VS_FIELD_IDLOCATION_def 0x00000105 */
-#define fld_VS_FIELD_IDLOCATION_def 0x00000001
-#define fld_VS_FRAME_TOTAL_def 0x00000217
-
-#define fld_SYNC_TIP_START_def 0x00000372
-#define fld_SYNC_TIP_LENGTH_def 0x0000000F
-
-#define fld_GAIN_FORCE_DATA_def 0x00000000
-#define fld_GAIN_FORCE_EN_def 0x00000000
-#define fld_I_CLAMP_SEL_def 0x00000003
-#define fld_I_AGC_SEL_def 0x00000001
-#define fld_EXT_CLAMP_CAP_def 0x00000001
-#define fld_EXT_AGC_CAP_def 0x00000001
-#define fld_DECI_DITHER_EN_def 0x00000001
-#define fld_ADC_PREFHI_def 0x00000000
-#define fld_ADC_CH_GAIN_SEL_def 0x00000001
-
-#define fld_HS_PLL_SGAIN_def 0x00000003
-
-#define fld_NREn_def 0x00000000
-#define fld_NRGainCntl_def 0x00000000
-#define fld_NRBWTresh_def 0x00000000
-#define fld_NRGCTresh_def 0x00000000
-#define fld_NRCoefDespeclMode_def 0x00000000
-
-#define fld_GPIO_5_OE_def 0x00000000
-#define fld_GPIO_6_OE_def 0x00000000
-
-#define fld_GPIO_5_OUT_def 0x00000000
-#define fld_GPIO_6_OUT_def 0x00000000
-
-/* End of field default values. */
-
-#endif /* MPLAYER_RADEON_H */
diff --git a/drivers/radeon_vid.c b/drivers/radeon_vid.c
deleted file mode 100644
index 9367d4b..0000000
--- a/drivers/radeon_vid.c
+++ /dev/null
@@ -1,1549 +0,0 @@
-/*
- * BES YUV video overlay driver for Radeon/Rage128Pro/Rage128 cards
- *
- * Copyright (C) 2001 Nick Kurshev
- *
- * This file is partly based on mga_vid and sis_vid from MPlayer.
- * Code from CVS of GATOS project and X11 trees was also used.
- *
- * SPECIAL THANKS TO: Hans-Peter Raschke for active testing and hacking
- * Rage128(pro) stuff of this driver.
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#define RADEON_VID_VERSION "1.2.1"
-
-/*
- It's entirely possible this major conflicts with something else
- mknod /dev/radeon_vid c 178 0
- or
- mknod /dev/rage128_vid c 178 0
- for Rage128/Rage128Pro chips (although it doesn't matter)
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- TESTED and WORKING formats: YUY2, UYVY, IYUV, I420, YV12
- -----------------------------------------------------------
- TODO:
- Highest priority: fbvid.h compatibility
- High priority: Fixing BUGS
- Middle priority: RGB/BGR 2-32, YVU9, IF09 support
- Low priority: CLPL, IYU1, IYU2, UYNV, CYUV, YUNV, YVYU, Y41P, Y211, Y41T,
- ^^^^
- Y42T, V422, V655, CLJR, YUVP, UYVP, Mpeg PES (mpeg-1,2) support
- ...........................................................
- BUGS and LACKS:
- Color and video keys don't work
-*/
-
-#include <linux/config.h>
-#include <linux/version.h>
-#include <linux/module.h>
-#include <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/mm.h>
-#include <linux/string.h>
-#include <linux/errno.h>
-#include <linux/slab.h>
-#include <linux/pci.h>
-#include <linux/ioport.h>
-#include <linux/init.h>
-#include <linux/byteorder/swab.h>
-
-#include "radeon_vid.h"
-#include "radeon.h"
-
-#ifdef CONFIG_MTRR
-#include <asm/mtrr.h>
-#endif
-
-#include <asm/uaccess.h>
-#include <asm/system.h>
-#include <asm/io.h>
-
-#define TRUE 1
-#define FALSE 0
-
-#define RADEON_VID_MAJOR 178
-
-
-MODULE_AUTHOR("Nick Kurshev <nickols_k at mail.ru>");
-#ifdef RAGE128
-MODULE_DESCRIPTION("Accelerated YUV BES driver for Rage128. Version: "RADEON_VID_VERSION);
-#else
-MODULE_DESCRIPTION("Accelerated YUV BES driver for Radeons. Version: "RADEON_VID_VERSION);
-#endif
-#ifdef MODULE_LICENSE
-MODULE_LICENSE("GPL");
-#endif
-#ifdef CONFIG_MTRR
-MODULE_PARM(mtrr, "i");
-MODULE_PARM_DESC(mtrr, "Tune MTRR (touch=1(default))");
-static int mtrr __initdata = 1;
-static struct { int vram; int vram_valid; } smtrr;
-#endif
-MODULE_PARM(swap_fourcc, "i");
-MODULE_PARM_DESC(swap_fourcc, "Swap fourcc (don't swap=0(default))");
-static int swap_fourcc __initdata = 0;
-
-#ifdef RAGE128
-#define RVID_MSG "rage128_vid: "
-#define X_ADJUST 0
-#else
-#define RVID_MSG "radeon_vid: "
-#define X_ADJUST 8
-#ifndef RADEON
-#define RADEON
-#endif
-#endif
-
-#undef DEBUG
-#if DEBUG
-#define RTRACE printk
-#else
-#define RTRACE(...) ((void)0)
-#endif
-
-#ifndef min
-#define min(a,b) (a < b ? a : b)
-#endif
-
-#ifndef RAGE128
-#if defined(__i386__)
-/* Ugly but only way */
-#undef AVOID_FPU
-static inline double FastSin(double x)
-{
- register double res;
- __asm__ volatile("fsin":"=t"(res):"0"(x));
- return res;
-}
-#undef sin
-#define sin(x) FastSin(x)
-
-static inline double FastCos(double x)
-{
- register double res;
- __asm__ volatile("fcos":"=t"(res):"0"(x));
- return res;
-}
-#undef cos
-#define cos(x) FastCos(x)
-#else
-#include "generic_math.h"
-#endif /*__386__*/
-#endif /*RAGE128*/
-
-#if !defined( RAGE128 ) && !defined( AVOID_FPU )
-#define RADEON_FPU 1
-#endif
-
-typedef struct bes_registers_s
-{
- /* base address of yuv framebuffer */
- uint32_t yuv_base;
- uint32_t fourcc;
- uint32_t dest_bpp;
- /* YUV BES registers */
- uint32_t reg_load_cntl;
- uint32_t h_inc;
- uint32_t step_by;
- uint32_t y_x_start;
- uint32_t y_x_end;
- uint32_t v_inc;
- uint32_t p1_blank_lines_at_top;
- uint32_t p23_blank_lines_at_top;
- uint32_t vid_buf_pitch0_value;
- uint32_t vid_buf_pitch1_value;
- uint32_t p1_x_start_end;
- uint32_t p2_x_start_end;
- uint32_t p3_x_start_end;
- uint32_t base_addr;
- uint32_t vid_buf0_base_adrs;
- /* These ones are for auto flip: maybe in the future */
- uint32_t vid_buf1_base_adrs;
- uint32_t vid_buf2_base_adrs;
- uint32_t vid_buf3_base_adrs;
- uint32_t vid_buf4_base_adrs;
- uint32_t vid_buf5_base_adrs;
-
- uint32_t p1_v_accum_init;
- uint32_t p1_h_accum_init;
- uint32_t p23_v_accum_init;
- uint32_t p23_h_accum_init;
- uint32_t scale_cntl;
- uint32_t exclusive_horz;
- uint32_t auto_flip_cntl;
- uint32_t filter_cntl;
- uint32_t key_cntl;
- uint32_t test;
- /* Configurable stuff */
- int double_buff;
-
- int brightness;
- int saturation;
-
- int ckey_on;
- uint32_t graphics_key_clr;
- uint32_t graphics_key_msk;
-
- int deinterlace_on;
- uint32_t deinterlace_pattern;
-
-} bes_registers_t;
-
-typedef struct video_registers_s
-{
-#ifdef DEBUG
- const char * sname;
-#endif
- uint32_t name;
- uint32_t value;
-}video_registers_t;
-
-static bes_registers_t besr;
-#ifndef RAGE128
-static int IsR200=0;
-#endif
-#ifdef DEBUG
-#define DECLARE_VREG(name) { #name, name, 0 }
-#else
-#define DECLARE_VREG(name) { name, 0 }
-#endif
-#ifdef DEBUG
-static video_registers_t vregs[] =
-{
- DECLARE_VREG(VIDEOMUX_CNTL),
- DECLARE_VREG(VIPPAD_MASK),
- DECLARE_VREG(VIPPAD1_A),
- DECLARE_VREG(VIPPAD1_EN),
- DECLARE_VREG(VIPPAD1_Y),
- DECLARE_VREG(OV0_Y_X_START),
- DECLARE_VREG(OV0_Y_X_END),
- DECLARE_VREG(OV0_PIPELINE_CNTL),
- DECLARE_VREG(OV0_EXCLUSIVE_HORZ),
- DECLARE_VREG(OV0_EXCLUSIVE_VERT),
- DECLARE_VREG(OV0_REG_LOAD_CNTL),
- DECLARE_VREG(OV0_SCALE_CNTL),
- DECLARE_VREG(OV0_V_INC),
- DECLARE_VREG(OV0_P1_V_ACCUM_INIT),
- DECLARE_VREG(OV0_P23_V_ACCUM_INIT),
- DECLARE_VREG(OV0_P1_BLANK_LINES_AT_TOP),
- DECLARE_VREG(OV0_P23_BLANK_LINES_AT_TOP),
-#ifdef RADEON
- DECLARE_VREG(OV0_BASE_ADDR),
-#endif
- DECLARE_VREG(OV0_VID_BUF0_BASE_ADRS),
- DECLARE_VREG(OV0_VID_BUF1_BASE_ADRS),
- DECLARE_VREG(OV0_VID_BUF2_BASE_ADRS),
- DECLARE_VREG(OV0_VID_BUF3_BASE_ADRS),
- DECLARE_VREG(OV0_VID_BUF4_BASE_ADRS),
- DECLARE_VREG(OV0_VID_BUF5_BASE_ADRS),
- DECLARE_VREG(OV0_VID_BUF_PITCH0_VALUE),
- DECLARE_VREG(OV0_VID_BUF_PITCH1_VALUE),
- DECLARE_VREG(OV0_AUTO_FLIP_CNTL),
- DECLARE_VREG(OV0_DEINTERLACE_PATTERN),
- DECLARE_VREG(OV0_SUBMIT_HISTORY),
- DECLARE_VREG(OV0_H_INC),
- DECLARE_VREG(OV0_STEP_BY),
- DECLARE_VREG(OV0_P1_H_ACCUM_INIT),
- DECLARE_VREG(OV0_P23_H_ACCUM_INIT),
- DECLARE_VREG(OV0_P1_X_START_END),
- DECLARE_VREG(OV0_P2_X_START_END),
- DECLARE_VREG(OV0_P3_X_START_END),
- DECLARE_VREG(OV0_FILTER_CNTL),
- DECLARE_VREG(OV0_FOUR_TAP_COEF_0),
- DECLARE_VREG(OV0_FOUR_TAP_COEF_1),
- DECLARE_VREG(OV0_FOUR_TAP_COEF_2),
- DECLARE_VREG(OV0_FOUR_TAP_COEF_3),
- DECLARE_VREG(OV0_FOUR_TAP_COEF_4),
- DECLARE_VREG(OV0_FLAG_CNTL),
-#ifdef RAGE128
- DECLARE_VREG(OV0_COLOUR_CNTL),
-#else
- DECLARE_VREG(OV0_SLICE_CNTL),
-#endif
- DECLARE_VREG(OV0_VID_KEY_CLR),
- DECLARE_VREG(OV0_VID_KEY_MSK),
- DECLARE_VREG(OV0_GRAPHICS_KEY_CLR),
- DECLARE_VREG(OV0_GRAPHICS_KEY_MSK),
- DECLARE_VREG(OV0_KEY_CNTL),
- DECLARE_VREG(OV0_TEST),
- DECLARE_VREG(OV0_LIN_TRANS_A),
- DECLARE_VREG(OV0_LIN_TRANS_B),
- DECLARE_VREG(OV0_LIN_TRANS_C),
- DECLARE_VREG(OV0_LIN_TRANS_D),
- DECLARE_VREG(OV0_LIN_TRANS_E),
- DECLARE_VREG(OV0_LIN_TRANS_F),
- DECLARE_VREG(OV0_GAMMA_0_F),
- DECLARE_VREG(OV0_GAMMA_10_1F),
- DECLARE_VREG(OV0_GAMMA_20_3F),
- DECLARE_VREG(OV0_GAMMA_40_7F),
- DECLARE_VREG(OV0_GAMMA_380_3BF),
- DECLARE_VREG(OV0_GAMMA_3C0_3FF),
- DECLARE_VREG(SUBPIC_CNTL),
- DECLARE_VREG(SUBPIC_DEFCOLCON),
- DECLARE_VREG(SUBPIC_Y_X_START),
- DECLARE_VREG(SUBPIC_Y_X_END),
- DECLARE_VREG(SUBPIC_V_INC),
- DECLARE_VREG(SUBPIC_H_INC),
- DECLARE_VREG(SUBPIC_BUF0_OFFSET),
- DECLARE_VREG(SUBPIC_BUF1_OFFSET),
- DECLARE_VREG(SUBPIC_LC0_OFFSET),
- DECLARE_VREG(SUBPIC_LC1_OFFSET),
- DECLARE_VREG(SUBPIC_PITCH),
- DECLARE_VREG(SUBPIC_BTN_HLI_COLCON),
- DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_START),
- DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_END),
- DECLARE_VREG(SUBPIC_PALETTE_INDEX),
- DECLARE_VREG(SUBPIC_PALETTE_DATA),
- DECLARE_VREG(SUBPIC_H_ACCUM_INIT),
- DECLARE_VREG(SUBPIC_V_ACCUM_INIT),
- DECLARE_VREG(IDCT_RUNS),
- DECLARE_VREG(IDCT_LEVELS),
- DECLARE_VREG(IDCT_AUTH_CONTROL),
- DECLARE_VREG(IDCT_AUTH),
- DECLARE_VREG(IDCT_CONTROL)
-};
-#endif
-static uint32_t radeon_vid_in_use = 0;
-
-static uint8_t *radeon_mmio_base = 0;
-static uint32_t radeon_mem_base = 0;
-static int32_t radeon_overlay_off = 0;
-static uint32_t radeon_ram_size = 0;
-#define PARAM_BUFF_SIZE 4096
-static uint8_t *radeon_param_buff = NULL;
-static uint32_t radeon_param_buff_size=0;
-static uint32_t radeon_param_buff_len=0; /* real length of buffer */
-static mga_vid_config_t radeon_config;
-
-static char *fourcc_format_name(int format)
-{
- switch(format)
- {
- case IMGFMT_RGB8: return "RGB 8-bit";
- case IMGFMT_RGB15: return "RGB 15-bit";
- case IMGFMT_RGB16: return "RGB 16-bit";
- case IMGFMT_RGB24: return "RGB 24-bit";
- case IMGFMT_RGB32: return "RGB 32-bit";
- case IMGFMT_BGR8: return "BGR 8-bit";
- case IMGFMT_BGR15: return "BGR 15-bit";
- case IMGFMT_BGR16: return "BGR 16-bit";
- case IMGFMT_BGR24: return "BGR 24-bit";
- case IMGFMT_BGR32: return "BGR 32-bit";
- case IMGFMT_YVU9: return "Planar YVU9";
- case IMGFMT_IF09: return "Planar IF09";
- case IMGFMT_YV12: return "Planar YV12";
- case IMGFMT_I420: return "Planar I420";
- case IMGFMT_IYUV: return "Planar IYUV";
- case IMGFMT_CLPL: return "Planar CLPL";
- case IMGFMT_Y800: return "Planar Y800";
- case IMGFMT_Y8: return "Planar Y8";
- case IMGFMT_IUYV: return "Packed IUYV";
- case IMGFMT_IY41: return "Packed IY41";
- case IMGFMT_IYU1: return "Packed IYU1";
- case IMGFMT_IYU2: return "Packed IYU2";
- case IMGFMT_UYNV: return "Packed UYNV";
- case IMGFMT_cyuv: return "Packed CYUV";
- case IMGFMT_Y422: return "Packed Y422";
- case IMGFMT_YUY2: return "Packed YUY2";
- case IMGFMT_YUNV: return "Packed YUNV";
- case IMGFMT_UYVY: return "Packed UYVY";
-// case IMGFMT_YVYU: return "Packed YVYU";
- case IMGFMT_Y41P: return "Packed Y41P";
- case IMGFMT_Y211: return "Packed Y211";
- case IMGFMT_Y41T: return "Packed Y41T";
- case IMGFMT_Y42T: return "Packed Y42T";
- case IMGFMT_V422: return "Packed V422";
- case IMGFMT_V655: return "Packed V655";
- case IMGFMT_CLJR: return "Packed CLJR";
- case IMGFMT_YUVP: return "Packed YUVP";
- case IMGFMT_UYVP: return "Packed UYVP";
- case IMGFMT_MPEGPES: return "Mpeg PES";
- }
- return "Unknown";
-}
-
-
-/*
- * IO macros
- */
-
-#define INREG8(addr) readb((radeon_mmio_base)+addr)
-#define OUTREG8(addr,val) writeb(val, (radeon_mmio_base)+addr)
-#define INREG(addr) readl((radeon_mmio_base)+addr)
-#define OUTREG(addr,val) writel(val, (radeon_mmio_base)+addr)
-#define OUTREGP(addr,val,mask) \
- do { \
- unsigned int tmp = INREG(addr); \
- tmp &= (mask); \
- tmp |= (val); \
- OUTREG(addr, tmp); \
- } while (0)
-
-static uint32_t radeon_vid_get_dbpp( void )
-{
- uint32_t dbpp,retval;
- dbpp = (INREG(CRTC_GEN_CNTL)>>8)& 0xF;
- switch(dbpp)
- {
- case DST_8BPP: retval = 8; break;
- case DST_15BPP: retval = 15; break;
- case DST_16BPP: retval = 16; break;
- case DST_24BPP: retval = 24; break;
- default: retval=32; break;
- }
- return retval;
-}
-
-static int radeon_is_dbl_scan( void )
-{
- return (INREG(CRTC_GEN_CNTL))&CRTC_DBL_SCAN_EN;
-}
-
-static int radeon_is_interlace( void )
-{
- return (INREG(CRTC_GEN_CNTL))&CRTC_INTERLACE_EN;
-}
-
-static __inline__ void radeon_engine_flush ( void )
-{
- int i;
-
- /* initiate flush */
- OUTREGP(RB2D_DSTCACHE_CTLSTAT, RB2D_DC_FLUSH_ALL,
- ~RB2D_DC_FLUSH_ALL);
-
- for (i=0; i < 2000000; i++) {
- if (!(INREG(RB2D_DSTCACHE_CTLSTAT) & RB2D_DC_BUSY))
- break;
- }
-}
-
-
-static __inline__ void radeon_fifo_wait (int entries)
-{
- int i;
-
- for (i=0; i<2000000; i++)
- if ((INREG(RBBM_STATUS) & 0x7f) >= entries)
- return;
-}
-
-
-static __inline__ void radeon_engine_idle ( void )
-{
- int i;
-
- /* ensure FIFO is empty before waiting for idle */
- radeon_fifo_wait (64);
-
- for (i=0; i<2000000; i++) {
- if (((INREG(RBBM_STATUS) & GUI_ACTIVE)) == 0) {
- radeon_engine_flush ();
- return;
- }
- }
-}
-
-#if 0
-static void __init radeon_vid_save_state( void )
-{
- size_t i;
- for(i=0;i<sizeof(vregs)/sizeof(video_registers_t);i++)
- vregs[i].value = INREG(vregs[i].name);
-}
-
-static void __exit radeon_vid_restore_state( void )
-{
- size_t i;
- radeon_fifo_wait(2);
- OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK);
- radeon_engine_idle();
- while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK));
- radeon_fifo_wait(15);
- for(i=0;i<sizeof(vregs)/sizeof(video_registers_t);i++)
- {
- radeon_fifo_wait(1);
- OUTREG(vregs[i].name,vregs[i].value);
- }
- OUTREG(OV0_REG_LOAD_CNTL, 0);
-}
-#endif
-#ifdef DEBUG
-static void radeon_vid_dump_regs( void )
-{
- size_t i;
- printk(RVID_MSG"*** Begin of OV0 registers dump ***\n");
- for(i=0;i<sizeof(vregs)/sizeof(video_registers_t);i++)
- printk(RVID_MSG"%s = %08X\n",vregs[i].sname,INREG(vregs[i].name));
- printk(RVID_MSG"*** End of OV0 registers dump ***\n");
-}
-#endif
-
-#ifdef RADEON_FPU
-/* Reference color space transform data */
-typedef struct tagREF_TRANSFORM
-{
- float RefLuma;
- float RefRCb;
- float RefRCr;
- float RefGCb;
- float RefGCr;
- float RefBCb;
- float RefBCr;
-} REF_TRANSFORM;
-
-/* Parameters for ITU-R BT.601 and ITU-R BT.709 colour spaces */
-REF_TRANSFORM trans[2] =
-{
- {1.1678, 0.0, 1.6007, -0.3929, -0.8154, 2.0232, 0.0}, /* BT.601 */
- {1.1678, 0.0, 1.7980, -0.2139, -0.5345, 2.1186, 0.0} /* BT.709 */
-};
-/****************************************************************************
- * SetTransform *
- * Function: Calculates and sets color space transform from supplied *
- * reference transform, gamma, brightness, contrast, hue and *
- * saturation. *
- * Inputs: bright - brightness *
- * cont - contrast *
- * sat - saturation *
- * hue - hue *
- * ref - index to the table of refernce transforms *
- * Outputs: NONE *
- ****************************************************************************/
-
-static void radeon_set_transform(float bright, float cont, float sat,
- float hue, unsigned ref)
-{
- float OvHueSin, OvHueCos;
- float CAdjLuma, CAdjOff;
- float CAdjRCb, CAdjRCr;
- float CAdjGCb, CAdjGCr;
- float CAdjBCb, CAdjBCr;
- float OvLuma, OvROff, OvGOff, OvBOff;
- float OvRCb, OvRCr;
- float OvGCb, OvGCr;
- float OvBCb, OvBCr;
- float Loff = 64.0;
- float Coff = 512.0f;
-
- u32 dwOvLuma, dwOvROff, dwOvGOff, dwOvBOff;
- u32 dwOvRCb, dwOvRCr;
- u32 dwOvGCb, dwOvGCr;
- u32 dwOvBCb, dwOvBCr;
-
- if (ref >= 2) return;
-
- OvHueSin = sin((double)hue);
- OvHueCos = cos((double)hue);
-
- CAdjLuma = cont * trans[ref].RefLuma;
- CAdjOff = cont * trans[ref].RefLuma * bright * 1023.0;
-
- CAdjRCb = sat * -OvHueSin * trans[ref].RefRCr;
- CAdjRCr = sat * OvHueCos * trans[ref].RefRCr;
- CAdjGCb = sat * (OvHueCos * trans[ref].RefGCb - OvHueSin * trans[ref].RefGCr);
- CAdjGCr = sat * (OvHueSin * trans[ref].RefGCb + OvHueCos * trans[ref].RefGCr);
- CAdjBCb = sat * OvHueCos * trans[ref].RefBCb;
- CAdjBCr = sat * OvHueSin * trans[ref].RefBCb;
-
-#if 0 /* default constants */
- CAdjLuma = 1.16455078125;
-
- CAdjRCb = 0.0;
- CAdjRCr = 1.59619140625;
- CAdjGCb = -0.39111328125;
- CAdjGCr = -0.8125;
- CAdjBCb = 2.01708984375;
- CAdjBCr = 0;
-#endif
- OvLuma = CAdjLuma;
- OvRCb = CAdjRCb;
- OvRCr = CAdjRCr;
- OvGCb = CAdjGCb;
- OvGCr = CAdjGCr;
- OvBCb = CAdjBCb;
- OvBCr = CAdjBCr;
- OvROff = CAdjOff -
- OvLuma * Loff - (OvRCb + OvRCr) * Coff;
- OvGOff = CAdjOff -
- OvLuma * Loff - (OvGCb + OvGCr) * Coff;
- OvBOff = CAdjOff -
- OvLuma * Loff - (OvBCb + OvBCr) * Coff;
-#if 0 /* default constants */
- OvROff = -888.5;
- OvGOff = 545;
- OvBOff = -1104;
-#endif
-
- dwOvROff = ((int)(OvROff * 2.0)) & 0x1fff;
- dwOvGOff = (int)(OvGOff * 2.0) & 0x1fff;
- dwOvBOff = (int)(OvBOff * 2.0) & 0x1fff;
- if(!IsR200)
- {
- dwOvLuma =(((int)(OvLuma * 2048.0))&0x7fff)<<17;
- dwOvRCb = (((int)(OvRCb * 2048.0))&0x7fff)<<1;
- dwOvRCr = (((int)(OvRCr * 2048.0))&0x7fff)<<17;
- dwOvGCb = (((int)(OvGCb * 2048.0))&0x7fff)<<1;
- dwOvGCr = (((int)(OvGCr * 2048.0))&0x7fff)<<17;
- dwOvBCb = (((int)(OvBCb * 2048.0))&0x7fff)<<1;
- dwOvBCr = (((int)(OvBCr * 2048.0))&0x7fff)<<17;
- }
- else
- {
- dwOvLuma = (((int)(OvLuma * 256.0))&0x7ff)<<20;
- dwOvRCb = (((int)(OvRCb * 256.0))&0x7ff)<<4;
- dwOvRCr = (((int)(OvRCr * 256.0))&0x7ff)<<20;
- dwOvGCb = (((int)(OvGCb * 256.0))&0x7ff)<<4;
- dwOvGCr = (((int)(OvGCr * 256.0))&0x7ff)<<20;
- dwOvBCb = (((int)(OvBCb * 256.0))&0x7ff)<<4;
- dwOvBCr = (((int)(OvBCr * 256.0))&0x7ff)<<20;
- }
-
- OUTREG(OV0_LIN_TRANS_A, dwOvRCb | dwOvLuma);
- OUTREG(OV0_LIN_TRANS_B, dwOvROff | dwOvRCr);
- OUTREG(OV0_LIN_TRANS_C, dwOvGCb | dwOvLuma);
- OUTREG(OV0_LIN_TRANS_D, dwOvGOff | dwOvGCr);
- OUTREG(OV0_LIN_TRANS_E, dwOvBCb | dwOvLuma);
- OUTREG(OV0_LIN_TRANS_F, dwOvBOff | dwOvBCr);
-}
-#endif
-
-#ifndef RAGE128
-/* Gamma curve definition */
-typedef struct
-{
- unsigned int gammaReg;
- unsigned int gammaSlope;
- unsigned int gammaOffset;
-}GAMMA_SETTINGS;
-
-/* Recommended gamma curve parameters */
-GAMMA_SETTINGS r200_def_gamma[18] =
-{
- {OV0_GAMMA_0_F, 0x100, 0x0000},
- {OV0_GAMMA_10_1F, 0x100, 0x0020},
- {OV0_GAMMA_20_3F, 0x100, 0x0040},
- {OV0_GAMMA_40_7F, 0x100, 0x0080},
- {OV0_GAMMA_80_BF, 0x100, 0x0100},
- {OV0_GAMMA_C0_FF, 0x100, 0x0100},
- {OV0_GAMMA_100_13F, 0x100, 0x0200},
- {OV0_GAMMA_140_17F, 0x100, 0x0200},
- {OV0_GAMMA_180_1BF, 0x100, 0x0300},
- {OV0_GAMMA_1C0_1FF, 0x100, 0x0300},
- {OV0_GAMMA_200_23F, 0x100, 0x0400},
- {OV0_GAMMA_240_27F, 0x100, 0x0400},
- {OV0_GAMMA_280_2BF, 0x100, 0x0500},
- {OV0_GAMMA_2C0_2FF, 0x100, 0x0500},
- {OV0_GAMMA_300_33F, 0x100, 0x0600},
- {OV0_GAMMA_340_37F, 0x100, 0x0600},
- {OV0_GAMMA_380_3BF, 0x100, 0x0700},
- {OV0_GAMMA_3C0_3FF, 0x100, 0x0700}
-};
-
-GAMMA_SETTINGS r100_def_gamma[6] =
-{
- {OV0_GAMMA_0_F, 0x100, 0x0000},
- {OV0_GAMMA_10_1F, 0x100, 0x0020},
- {OV0_GAMMA_20_3F, 0x100, 0x0040},
- {OV0_GAMMA_40_7F, 0x100, 0x0080},
- {OV0_GAMMA_380_3BF, 0x100, 0x0100},
- {OV0_GAMMA_3C0_3FF, 0x100, 0x0100}
-};
-
-static void make_default_gamma_correction( void )
-{
- size_t i;
- if(!IsR200){
- OUTREG(OV0_LIN_TRANS_A, 0x12A00000);
- OUTREG(OV0_LIN_TRANS_B, 0x199018FE);
- OUTREG(OV0_LIN_TRANS_C, 0x12A0F9B0);
- OUTREG(OV0_LIN_TRANS_D, 0xF2F0043B);
- OUTREG(OV0_LIN_TRANS_E, 0x12A02050);
- OUTREG(OV0_LIN_TRANS_F, 0x0000174E);
- for(i=0; i<6; i++){
- OUTREG(r100_def_gamma[i].gammaReg,
- (r100_def_gamma[i].gammaSlope<<16) |
- r100_def_gamma[i].gammaOffset);
- }
- }
- else{
- OUTREG(OV0_LIN_TRANS_A, 0x12a00000);
- OUTREG(OV0_LIN_TRANS_B, 0x1990190e);
- OUTREG(OV0_LIN_TRANS_C, 0x12a0f9c0);
- OUTREG(OV0_LIN_TRANS_D, 0xf3000442);
- OUTREG(OV0_LIN_TRANS_E, 0x12a02040);
- OUTREG(OV0_LIN_TRANS_F, 0x175f);
-
- /* Default Gamma,
- Of 18 segments for gamma cure, all segments in R200 are programmable,
- while only lower 4 and upper 2 segments are programmable in Radeon*/
- for(i=0; i<18; i++){
- OUTREG(r200_def_gamma[i].gammaReg,
- (r200_def_gamma[i].gammaSlope<<16) |
- r200_def_gamma[i].gammaOffset);
- }
- }
-}
-#endif
-
-static void radeon_vid_stop_video( void )
-{
- radeon_engine_idle();
- OUTREG(OV0_SCALE_CNTL, SCALER_SOFT_RESET);
- OUTREG(OV0_EXCLUSIVE_HORZ, 0);
- OUTREG(OV0_AUTO_FLIP_CNTL, 0); /* maybe */
- OUTREG(OV0_FILTER_CNTL, FILTER_HARDCODED_COEF);
- OUTREG(OV0_KEY_CNTL, GRAPHIC_KEY_FN_NE);
- OUTREG(OV0_TEST, 0);
-}
-
-static void radeon_vid_display_video( void )
-{
- int bes_flags;
- radeon_fifo_wait(2);
- OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK);
- radeon_engine_idle();
- while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK));
- radeon_fifo_wait(15);
- OUTREG(OV0_AUTO_FLIP_CNTL,OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD);
- OUTREG(OV0_AUTO_FLIP_CNTL,(INREG(OV0_AUTO_FLIP_CNTL)^OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE));
- OUTREG(OV0_AUTO_FLIP_CNTL,(INREG(OV0_AUTO_FLIP_CNTL)^OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE));
-
- OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern);
-#ifdef RAGE128
- OUTREG(OV0_COLOUR_CNTL, (besr.brightness & 0x7f) |
- (besr.saturation << 8) |
- (besr.saturation << 16));
-#endif
- radeon_fifo_wait(2);
- if(besr.ckey_on)
- {
- OUTREG(OV0_GRAPHICS_KEY_MSK, besr.graphics_key_msk);
- OUTREG(OV0_GRAPHICS_KEY_CLR, besr.graphics_key_clr);
- OUTREG(OV0_KEY_CNTL,GRAPHIC_KEY_FN_EQ|VIDEO_KEY_FN_FALSE|CMP_MIX_OR);
- }
- else
- {
- OUTREG(OV0_GRAPHICS_KEY_MSK, 0ULL);
- OUTREG(OV0_GRAPHICS_KEY_CLR, 0ULL);
- OUTREG(OV0_KEY_CNTL,GRAPHIC_KEY_FN_NE);
- }
-
- OUTREG(OV0_H_INC, besr.h_inc);
- OUTREG(OV0_STEP_BY, besr.step_by);
- OUTREG(OV0_Y_X_START, besr.y_x_start);
- OUTREG(OV0_Y_X_END, besr.y_x_end);
- OUTREG(OV0_V_INC, besr.v_inc);
- OUTREG(OV0_P1_BLANK_LINES_AT_TOP, besr.p1_blank_lines_at_top);
- OUTREG(OV0_P23_BLANK_LINES_AT_TOP, besr.p23_blank_lines_at_top);
- OUTREG(OV0_VID_BUF_PITCH0_VALUE, besr.vid_buf_pitch0_value);
- OUTREG(OV0_VID_BUF_PITCH1_VALUE, besr.vid_buf_pitch1_value);
- OUTREG(OV0_P1_X_START_END, besr.p1_x_start_end);
- OUTREG(OV0_P2_X_START_END, besr.p2_x_start_end);
- OUTREG(OV0_P3_X_START_END, besr.p3_x_start_end);
-#ifdef RADEON
- OUTREG(OV0_BASE_ADDR, besr.base_addr);
-#endif
- OUTREG(OV0_VID_BUF0_BASE_ADRS, besr.vid_buf0_base_adrs);
- OUTREG(OV0_VID_BUF1_BASE_ADRS, besr.vid_buf1_base_adrs);
- OUTREG(OV0_VID_BUF2_BASE_ADRS, besr.vid_buf2_base_adrs);
- radeon_fifo_wait(9);
- OUTREG(OV0_VID_BUF3_BASE_ADRS, besr.vid_buf3_base_adrs);
- OUTREG(OV0_VID_BUF4_BASE_ADRS, besr.vid_buf4_base_adrs);
- OUTREG(OV0_VID_BUF5_BASE_ADRS, besr.vid_buf5_base_adrs);
- OUTREG(OV0_P1_V_ACCUM_INIT, besr.p1_v_accum_init);
- OUTREG(OV0_P1_H_ACCUM_INIT, besr.p1_h_accum_init);
- OUTREG(OV0_P23_H_ACCUM_INIT, besr.p23_h_accum_init);
- OUTREG(OV0_P23_V_ACCUM_INIT, besr.p23_v_accum_init);
-
-#ifdef RADEON
- bes_flags = SCALER_ENABLE |
- SCALER_SMART_SWITCH;
-// SCALER_HORZ_PICK_NEAREST;
-#else
- bes_flags = SCALER_ENABLE |
- SCALER_SMART_SWITCH |
- SCALER_Y2R_TEMP |
- SCALER_PIX_EXPAND;
-#endif
- if(besr.double_buff) bes_flags |= SCALER_DOUBLE_BUFFER;
- if(besr.deinterlace_on) bes_flags |= SCALER_ADAPTIVE_DEINT;
-#ifdef RAGE128
- bes_flags |= SCALER_BURST_PER_PLANE;
-#endif
- switch(besr.fourcc)
- {
- case IMGFMT_RGB15:
- case IMGFMT_BGR15: bes_flags |= SCALER_SOURCE_15BPP; break;
- case IMGFMT_RGB16:
- case IMGFMT_BGR16: bes_flags |= SCALER_SOURCE_16BPP; break;
- case IMGFMT_RGB24:
- case IMGFMT_BGR24: bes_flags |= SCALER_SOURCE_24BPP; break;
- case IMGFMT_RGB32:
- case IMGFMT_BGR32: bes_flags |= SCALER_SOURCE_32BPP; break;
- /* 4:1:0*/
- case IMGFMT_IF09:
- case IMGFMT_YVU9: bes_flags |= SCALER_SOURCE_YUV9; break;
- /* 4:2:0 */
- case IMGFMT_IYUV:
- case IMGFMT_I420:
- case IMGFMT_YV12: bes_flags |= SCALER_SOURCE_YUV12;
- break;
- /* 4:2:2 */
- case IMGFMT_UYVY: bes_flags |= SCALER_SOURCE_YVYU422; break;
- case IMGFMT_YUY2:
- default: bes_flags |= SCALER_SOURCE_VYUY422; break;
- }
- OUTREG(OV0_SCALE_CNTL, bes_flags);
- OUTREG(OV0_REG_LOAD_CNTL, 0);
-#ifdef DEBUG
- radeon_vid_dump_regs();
-#endif
-}
-
-void radeon_vid_set_color_key(int ckey_on, uint8_t R, uint8_t G, uint8_t B)
-{
- besr.ckey_on = ckey_on;
- besr.graphics_key_msk=(1ULL<<radeon_vid_get_dbpp()) - 1;
- besr.graphics_key_clr=(R<<16)|(G<<8)|(B)|(0x00 << 24);
-}
-
-
-#define XXX_SRC_X 0
-#define XXX_SRC_Y 0
-
-static int radeon_vid_init_video( mga_vid_config_t *config )
-{
- uint32_t tmp,src_w,src_h,pitch,h_inc,step_by,left,leftUV,top;
- int is_420;
-RTRACE(RVID_MSG"usr_config: version = %x format=%x card=%x ram=%u src(%ux%u) dest(%u:%ux%u:%u) frame_size=%u num_frames=%u\n"
- ,(uint32_t)config->version
- ,(uint32_t)config->format
- ,(uint32_t)config->card_type
- ,(uint32_t)config->ram_size
- ,(uint32_t)config->src_width
- ,(uint32_t)config->src_height
- ,(uint32_t)config->x_org
- ,(uint32_t)config->y_org
- ,(uint32_t)config->dest_width
- ,(uint32_t)config->dest_height
- ,(uint32_t)config->frame_size
- ,(uint32_t)config->num_frames);
- radeon_vid_stop_video();
- left = XXX_SRC_X << 16;
- top = XXX_SRC_Y << 16;
- src_h = config->src_height;
- src_w = config->src_width;
- switch(config->format)
- {
- case IMGFMT_RGB15:
- case IMGFMT_BGR15:
- case IMGFMT_RGB16:
- case IMGFMT_BGR16:
- case IMGFMT_RGB24:
- case IMGFMT_BGR24:
- case IMGFMT_RGB32:
- case IMGFMT_BGR32:
- /* 4:1:0 */
- case IMGFMT_IF09:
- case IMGFMT_YVU9:
- /* 4:2:0 */
- case IMGFMT_IYUV:
- case IMGFMT_YV12:
- case IMGFMT_I420:
- /* 4:2:2 */
- case IMGFMT_UYVY:
- case IMGFMT_YUY2:
- break;
- default:
- printk(RVID_MSG"Unsupported pixel format: 0x%X\n",config->format);
- return -1;
- }
- is_420 = 0;
- if(config->format == IMGFMT_YV12 ||
- config->format == IMGFMT_I420 ||
- config->format == IMGFMT_IYUV) is_420 = 1;
- switch(config->format)
- {
- /* 4:1:0 */
- case IMGFMT_YVU9:
- case IMGFMT_IF09:
- /* 4:2:0 */
- case IMGFMT_IYUV:
- case IMGFMT_YV12:
- case IMGFMT_I420: pitch = (src_w + 31) & ~31; break;
- /* 4:2:2 */
- default:
- case IMGFMT_UYVY:
- case IMGFMT_YUY2:
- case IMGFMT_RGB15:
- case IMGFMT_BGR15:
- case IMGFMT_RGB16:
- case IMGFMT_BGR16: pitch = ((src_w*2) + 15) & ~15; break;
- case IMGFMT_RGB24:
- case IMGFMT_BGR24: pitch = ((src_w*3) + 15) & ~15; break;
- case IMGFMT_RGB32:
- case IMGFMT_BGR32: pitch = ((src_w*4) + 15) & ~15; break;
- }
- if(radeon_is_dbl_scan()) config->dest_height *= 2;
- else
- if(radeon_is_interlace()) config->dest_height /= 2;
- besr.dest_bpp = radeon_vid_get_dbpp();
- besr.fourcc = config->format;
- besr.v_inc = (src_h << 20) / config->dest_height;
- h_inc = (src_w << 12) / config->dest_width;
- step_by = 1;
-
- while(h_inc >= (2 << 12)) {
- step_by++;
- h_inc >>= 1;
- }
-
- /* keep everything in 16.16 */
- besr.base_addr = radeon_mem_base;
- if(is_420)
- {
- uint32_t d1line,d2line,d3line;
- d1line = top*pitch;
- d2line = src_h*pitch+(d1line>>1);
- d3line = d2line+((src_h*pitch)>>2);
- d1line += (left >> 16) & ~15;
- d2line += (left >> 17) & ~15;
- d3line += (left >> 17) & ~15;
- besr.vid_buf0_base_adrs=((radeon_overlay_off+d1line)&VIF_BUF0_BASE_ADRS_MASK);
- besr.vid_buf1_base_adrs=((radeon_overlay_off+d2line)&VIF_BUF1_BASE_ADRS_MASK)|VIF_BUF1_PITCH_SEL;
- besr.vid_buf2_base_adrs=((radeon_overlay_off+d3line)&VIF_BUF2_BASE_ADRS_MASK)|VIF_BUF2_PITCH_SEL;
- if(besr.fourcc == IMGFMT_I420 || besr.fourcc == IMGFMT_IYUV)
- {
- uint32_t tmp;
- tmp = besr.vid_buf1_base_adrs;
- besr.vid_buf1_base_adrs = besr.vid_buf2_base_adrs;
- besr.vid_buf2_base_adrs = tmp;
- }
- }
- else
- {
- besr.vid_buf0_base_adrs = radeon_overlay_off;
- besr.vid_buf0_base_adrs += ((left & ~7) << 1)&VIF_BUF0_BASE_ADRS_MASK;
- besr.vid_buf1_base_adrs = besr.vid_buf0_base_adrs;
- besr.vid_buf2_base_adrs = besr.vid_buf0_base_adrs;
- }
- besr.vid_buf3_base_adrs = besr.vid_buf0_base_adrs+config->frame_size;
- besr.vid_buf4_base_adrs = besr.vid_buf1_base_adrs+config->frame_size;
- besr.vid_buf5_base_adrs = besr.vid_buf2_base_adrs+config->frame_size;
-
- tmp = (left & 0x0003ffff) + 0x00028000 + (h_inc << 3);
- besr.p1_h_accum_init = ((tmp << 4) & 0x000f8000) |
- ((tmp << 12) & 0xf0000000);
-
- tmp = ((left >> 1) & 0x0001ffff) + 0x00028000 + (h_inc << 2);
- besr.p23_h_accum_init = ((tmp << 4) & 0x000f8000) |
- ((tmp << 12) & 0x70000000);
- tmp = (top & 0x0000ffff) + 0x00018000;
- besr.p1_v_accum_init = ((tmp << 4) & OV0_P1_V_ACCUM_INIT_MASK)
- |(OV0_P1_MAX_LN_IN_PER_LN_OUT & 1);
-
- tmp = ((top >> 1) & 0x0000ffff) + 0x00018000;
- besr.p23_v_accum_init = is_420 ? ((tmp << 4) & OV0_P23_V_ACCUM_INIT_MASK)
- |(OV0_P23_MAX_LN_IN_PER_LN_OUT & 1) : 0;
-
- leftUV = (left >> 17) & 15;
- left = (left >> 16) & 15;
- besr.h_inc = h_inc | ((h_inc >> 1) << 16);
- besr.step_by = step_by | (step_by << 8);
- besr.y_x_start = (config->x_org+X_ADJUST) | (config->y_org << 16);
- besr.y_x_end = (config->x_org + config->dest_width+X_ADJUST) | ((config->y_org + config->dest_height) << 16);
- besr.p1_blank_lines_at_top = P1_BLNK_LN_AT_TOP_M1_MASK|((src_h-1)<<16);
- if(is_420)
- {
- src_h = (src_h + 1) >> 1;
- besr.p23_blank_lines_at_top = P23_BLNK_LN_AT_TOP_M1_MASK|((src_h-1)<<16);
- }
- else besr.p23_blank_lines_at_top = 0;
- besr.vid_buf_pitch0_value = pitch;
- besr.vid_buf_pitch1_value = is_420 ? pitch>>1 : pitch;
- besr.p1_x_start_end = (src_w+left-1)|(left<<16);
- src_w>>=1;
- besr.p2_x_start_end = (src_w+left-1)|(leftUV<<16);
- besr.p3_x_start_end = besr.p2_x_start_end;
- return 0;
-}
-
-static void radeon_vid_frame_sel(int frame)
-{
- uint32_t off0,off1,off2;
- if(!besr.double_buff) return;
- if(frame%2)
- {
- off0 = besr.vid_buf3_base_adrs;
- off1 = besr.vid_buf4_base_adrs;
- off2 = besr.vid_buf5_base_adrs;
- }
- else
- {
- off0 = besr.vid_buf0_base_adrs;
- off1 = besr.vid_buf1_base_adrs;
- off2 = besr.vid_buf2_base_adrs;
- }
- OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK);
- while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK));
- OUTREG(OV0_VID_BUF0_BASE_ADRS, off0);
- OUTREG(OV0_VID_BUF1_BASE_ADRS, off1);
- OUTREG(OV0_VID_BUF2_BASE_ADRS, off2);
- OUTREG(OV0_REG_LOAD_CNTL, 0);
-}
-
-static void radeon_vid_make_default(void)
-{
-#ifdef RAGE128
- OUTREG(OV0_COLOUR_CNTL,0x00101000UL); /* Default brihgtness and saturation for Rage128 */
-#else
- make_default_gamma_correction();
-#endif
- besr.deinterlace_pattern = 0x900AAAAA;
- OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern);
- besr.deinterlace_on=1;
- besr.double_buff=1;
-}
-
-
-static void radeon_vid_preset(void)
-{
-#ifdef RAGE128
- unsigned tmp;
- tmp = INREG(OV0_COLOUR_CNTL);
- besr.saturation = (tmp>>8)&0x1f;
- besr.brightness = tmp & 0x7f;
-#endif
- besr.graphics_key_clr = INREG(OV0_GRAPHICS_KEY_CLR);
- besr.deinterlace_pattern = INREG(OV0_DEINTERLACE_PATTERN);
-}
-
-static int video_on = 0;
-
-static int radeon_vid_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
-{
- int frame;
-
- switch(cmd)
- {
- case MGA_VID_CONFIG:
- RTRACE(RVID_MSG"radeon_mmio_base = %p\n",radeon_mmio_base);
- RTRACE(RVID_MSG"radeon_mem_base = %08x\n",radeon_mem_base);
- RTRACE(RVID_MSG"Received configuration\n");
-
- if(copy_from_user(&radeon_config,(mga_vid_config_t*) arg,sizeof(mga_vid_config_t)))
- {
- printk(RVID_MSG"failed copy from userspace\n");
- return -EFAULT;
- }
- if(radeon_config.version != MGA_VID_VERSION){
- printk(RVID_MSG"incompatible version! driver: %X requested: %X\n",MGA_VID_VERSION,radeon_config.version);
- return -EFAULT;
- }
-
- if(radeon_config.frame_size==0 || radeon_config.frame_size>1024*768*2){
- printk(RVID_MSG"illegal frame_size: %d\n",radeon_config.frame_size);
- return -EFAULT;
- }
-
- if(radeon_config.num_frames<1){
- printk(RVID_MSG"illegal num_frames: %d\n",radeon_config.num_frames);
- return -EFAULT;
- }
- if(radeon_config.num_frames==1) besr.double_buff=0;
- if(!besr.double_buff) radeon_config.num_frames=1;
- else radeon_config.num_frames=2;
- radeon_config.card_type = 0;
- radeon_config.ram_size = radeon_ram_size;
- radeon_overlay_off = radeon_ram_size*0x100000 - radeon_config.frame_size*radeon_config.num_frames;
- radeon_overlay_off &= 0xffff0000;
- if(radeon_overlay_off < 0){
- printk(RVID_MSG"not enough video memory. Need: %u has: %u\n",radeon_config.frame_size*radeon_config.num_frames,radeon_ram_size*0x100000);
- return -EFAULT;
- }
- RTRACE(RVID_MSG"using video overlay at offset %08X\n",radeon_overlay_off);
- if (copy_to_user((mga_vid_config_t *) arg, &radeon_config, sizeof(mga_vid_config_t)))
- {
- printk(RVID_MSG"failed copy to userspace\n");
- return -EFAULT;
- }
- radeon_vid_set_color_key(radeon_config.colkey_on,
- radeon_config.colkey_red,
- radeon_config.colkey_green,
- radeon_config.colkey_blue);
- if(swap_fourcc) radeon_config.format = swab32(radeon_config.format);
- printk(RVID_MSG"configuring for '%s' fourcc\n",fourcc_format_name(radeon_config.format));
- return radeon_vid_init_video(&radeon_config);
- break;
-
- case MGA_VID_ON:
- RTRACE(RVID_MSG"Video ON (ioctl)\n");
- radeon_vid_display_video();
- video_on = 1;
- break;
-
- case MGA_VID_OFF:
- RTRACE(RVID_MSG"Video OFF (ioctl)\n");
- if(video_on) radeon_vid_stop_video();
- video_on = 0;
- break;
-
- case MGA_VID_FSEL:
- if(copy_from_user(&frame,(int *) arg,sizeof(int)))
- {
- printk(RVID_MSG"FSEL failed copy from userspace\n");
- return -EFAULT;
- }
- radeon_vid_frame_sel(frame);
- break;
-
- default:
- printk(RVID_MSG"Invalid ioctl\n");
- return -EINVAL;
- }
-
- return 0;
-}
-
-struct ati_card_id_s
-{
- const int id;
- const char name[17];
-};
-
-const struct ati_card_id_s ati_card_ids[]=
-{
-#ifdef RAGE128
- /*
- This driver should be compatible with Rage128 (pro) chips.
- (include adaptive deinterlacing!!!).
- Moreover: the same logic can be used with Mach64 chips.
- (I mean: mach64xx, 3d rage, 3d rage IIc, 3D rage pro, 3d rage mobility).
- but they are incompatible by i/o ports. So if enthusiasts will want
- then they can redefine OUTREG and INREG macros and redefine OV0_*
- constants. Also it seems that mach64 chips supports only: YUY2, YV12, UYVY
- fourccs (422 and 420 formats only).
- */
-/* Rage128 Pro GL */
- { PCI_DEVICE_ID_ATI_Rage128_PA, "R128Pro PA" },
- { PCI_DEVICE_ID_ATI_Rage128_PB, "R128Pro PB" },
- { PCI_DEVICE_ID_ATI_Rage128_PC, "R128Pro PC" },
- { PCI_DEVICE_ID_ATI_Rage128_PD, "R128Pro PD" },
- { PCI_DEVICE_ID_ATI_Rage128_PE, "R128Pro PE" },
- { PCI_DEVICE_ID_ATI_RAGE128_PF, "R128Pro PF" },
-/* Rage128 Pro VR */
- { PCI_DEVICE_ID_ATI_RAGE128_PG, "R128Pro PG" },
- { PCI_DEVICE_ID_ATI_RAGE128_PH, "R128Pro PH" },
- { PCI_DEVICE_ID_ATI_RAGE128_PI, "R128Pro PI" },
- { PCI_DEVICE_ID_ATI_RAGE128_PJ, "R128Pro PJ" },
- { PCI_DEVICE_ID_ATI_RAGE128_PK, "R128Pro PK" },
- { PCI_DEVICE_ID_ATI_RAGE128_PL, "R128Pro PL" },
- { PCI_DEVICE_ID_ATI_RAGE128_PM, "R128Pro PM" },
- { PCI_DEVICE_ID_ATI_RAGE128_PN, "R128Pro PN" },
- { PCI_DEVICE_ID_ATI_RAGE128_PO, "R128Pro PO" },
- { PCI_DEVICE_ID_ATI_RAGE128_PP, "R128Pro PP" },
- { PCI_DEVICE_ID_ATI_RAGE128_PQ, "R128Pro PQ" },
- { PCI_DEVICE_ID_ATI_RAGE128_PR, "R128Pro PR" },
- { PCI_DEVICE_ID_ATI_RAGE128_TR, "R128Pro TR" },
- { PCI_DEVICE_ID_ATI_RAGE128_PS, "R128Pro PS" },
- { PCI_DEVICE_ID_ATI_RAGE128_PT, "R128Pro PT" },
- { PCI_DEVICE_ID_ATI_RAGE128_PU, "R128Pro PU" },
- { PCI_DEVICE_ID_ATI_RAGE128_PV, "R128Pro PV" },
- { PCI_DEVICE_ID_ATI_RAGE128_PW, "R128Pro PW" },
- { PCI_DEVICE_ID_ATI_RAGE128_PX, "R128Pro PX" },
-/* Rage128 GL */
- { PCI_DEVICE_ID_ATI_RAGE128_RE, "R128 RE" },
- { PCI_DEVICE_ID_ATI_RAGE128_RF, "R128 RF" },
- { PCI_DEVICE_ID_ATI_RAGE128_RG, "R128 RG" },
- { PCI_DEVICE_ID_ATI_RAGE128_RH, "R128 RH" },
- { PCI_DEVICE_ID_ATI_RAGE128_RI, "R128 RI" },
-/* Rage128 VR */
- { PCI_DEVICE_ID_ATI_RAGE128_RK, "R128 RK" },
- { PCI_DEVICE_ID_ATI_RAGE128_RL, "R128 RL" },
- { PCI_DEVICE_ID_ATI_RAGE128_RM, "R128 RM" },
- { PCI_DEVICE_ID_ATI_RAGE128_RN, "R128 RN" },
- { PCI_DEVICE_ID_ATI_RAGE128_RO, "R128 RO" },
-/* Rage128 M3 */
- { PCI_DEVICE_ID_ATI_RAGE128_LE, "R128 M3 LE" },
- { PCI_DEVICE_ID_ATI_RAGE128_LF, "R128 M3 LF" },
-/* Rage128 Pro Ultra */
- { PCI_DEVICE_ID_ATI_RAGE128_U1, "R128Pro U1" },
- { PCI_DEVICE_ID_ATI_RAGE128_U2, "R128Pro U2" },
- { PCI_DEVICE_ID_ATI_RAGE128_U3, "R128Pro U3" }
-#else
-/* Radeons (indeed: Rage 256 Pro ;) */
- { PCI_DEVICE_ID_RADEON_QD, "Radeon QD " },
- { PCI_DEVICE_ID_RADEON_QE, "Radeon QE " },
- { PCI_DEVICE_ID_RADEON_QF, "Radeon QF " },
- { PCI_DEVICE_ID_RADEON_QG, "Radeon QG " },
- { PCI_DEVICE_ID_RADEON_QY, "Radeon VE QY " },
- { PCI_DEVICE_ID_RADEON_QZ, "Radeon VE QZ " },
- { PCI_DEVICE_ID_RADEON_LY, "Radeon M6 LY " },
- { PCI_DEVICE_ID_RADEON_LZ, "Radeon M6 LZ " },
- { PCI_DEVICE_ID_RADEON_LW, "Radeon M7 LW " },
- { PCI_DEVICE_ID_R200_QL, "Radeon2 8500 QL " },
- { PCI_DEVICE_ID_R200_BB, "Radeon2 8500 AIW" },
- { PCI_DEVICE_ID_RV200_QW, "Radeon2 7500 QW " }
-#endif
-};
-
-static int detected_chip;
-
-static int __init radeon_vid_config_card(void)
-{
- struct pci_dev *dev = NULL;
- size_t i;
-
- for(i=0;i<sizeof(ati_card_ids)/sizeof(struct ati_card_id_s);i++)
- if((dev=pci_find_device(PCI_VENDOR_ID_ATI, ati_card_ids[i].id, NULL)))
- break;
- if(!dev)
- {
- printk(RVID_MSG"No supported cards found\n");
- return FALSE;
- }
-
- radeon_mmio_base = ioremap_nocache(pci_resource_start (dev, 2),RADEON_REGSIZE);
- radeon_mem_base = dev->resource[0].start;
-
- RTRACE(RVID_MSG"MMIO at 0x%p\n", radeon_mmio_base);
- RTRACE(RVID_MSG"Frame Buffer at 0x%08x\n", radeon_mem_base);
-
- /* video memory size */
- radeon_ram_size = INREG(CONFIG_MEMSIZE);
-
- /* mem size is bits [28:0], mask off the rest. Range: from 1Mb up to 512 Mb */
- radeon_ram_size &= CONFIG_MEMSIZE_MASK;
- radeon_ram_size /= 0x100000;
- detected_chip = i;
- printk(RVID_MSG"Found %s (%uMb memory)\n",ati_card_ids[i].name,radeon_ram_size);
-#ifndef RAGE128
- if(ati_card_ids[i].id == PCI_DEVICE_ID_R200_QL ||
- ati_card_ids[i].id == PCI_DEVICE_ID_R200_BB ||
- ati_card_ids[i].id == PCI_DEVICE_ID_RV200_QW) IsR200 = 1;
-#endif
- return TRUE;
-}
-
-#define PARAM_BRIGHTNESS "brightness="
-#define PARAM_SATURATION "saturation="
-#define PARAM_CONTRAST "contrast="
-#define PARAM_HUE "hue="
-#define PARAM_DOUBLE_BUFF "double_buff="
-#define PARAM_DEINTERLACE "deinterlace="
-#define PARAM_DEINTERLACE_PATTERN "deinterlace_pattern="
-#ifdef RADEON_FPU
-static int ovBrightness=0, ovSaturation=0, ovContrast=0, ovHue=0, ov_trans_idx=0;
-#endif
-
-static void radeon_param_buff_fill( void )
-{
- unsigned len,saturation;
- int8_t brightness;
- brightness = besr.brightness & 0x7f;
- /* FIXME: It's probably x86 specific convertion. But it doesn't matter
- for general logic - only for printing value */
- if(brightness > 63) brightness = (((~besr.brightness) & 0x3f)+1) * (-1);
- saturation = besr.saturation;
- len = 0;
- len += sprintf(&radeon_param_buff[len],"Interface version: %04X\nDriver version: %s\n",MGA_VID_VERSION,RADEON_VID_VERSION);
- len += sprintf(&radeon_param_buff[len],"Chip: %s\n",ati_card_ids[detected_chip].name);
- len += sprintf(&radeon_param_buff[len],"Memory: %x:%x\n",radeon_mem_base,radeon_ram_size*0x100000);
- len += sprintf(&radeon_param_buff[len],"MMIO: %p\n",radeon_mmio_base);
- len += sprintf(&radeon_param_buff[len],"Overlay offset: %x\n",radeon_overlay_off);
-#ifdef CONFIG_MTRR
- len += sprintf(&radeon_param_buff[len],"Tune MTRR: %s\n",mtrr?"on":"off");
-#endif
- if(besr.ckey_on) len += sprintf(&radeon_param_buff[len],"Last used color_key=%X (mask=%X)\n",besr.graphics_key_clr,besr.graphics_key_msk);
- len += sprintf(&radeon_param_buff[len],"Swapped fourcc: %s\n",swap_fourcc?"on":"off");
- len += sprintf(&radeon_param_buff[len],"Last BPP: %u\n",besr.dest_bpp);
- len += sprintf(&radeon_param_buff[len],"Last fourcc: %s\n\n",fourcc_format_name(besr.fourcc));
- len += sprintf(&radeon_param_buff[len],"Configurable stuff:\n");
- len += sprintf(&radeon_param_buff[len],"~~~~~~~~~~~~~~~~~~~\n");
- len += sprintf(&radeon_param_buff[len],PARAM_DOUBLE_BUFF"%s\n",besr.double_buff?"on":"off");
-#ifdef RAGE128
- len += sprintf(&radeon_param_buff[len],PARAM_BRIGHTNESS"%i\n",(int)brightness);
- len += sprintf(&radeon_param_buff[len],PARAM_SATURATION"%u\n",saturation);
-#else
-#ifdef RADEON_FPU
- len += sprintf(&radeon_param_buff[len],PARAM_BRIGHTNESS"%i\n",ovBrightness);
- len += sprintf(&radeon_param_buff[len],PARAM_SATURATION"%i\n",ovSaturation);
- len += sprintf(&radeon_param_buff[len],PARAM_CONTRAST"%i\n",ovContrast);
- len += sprintf(&radeon_param_buff[len],PARAM_HUE"%i\n",ovHue);
-#endif
-#endif
- len += sprintf(&radeon_param_buff[len],PARAM_DEINTERLACE"%s\n",besr.deinterlace_on?"on":"off");
- len += sprintf(&radeon_param_buff[len],PARAM_DEINTERLACE_PATTERN"%X\n",besr.deinterlace_pattern);
- radeon_param_buff_len = len;
-}
-
-static ssize_t radeon_vid_read(struct file *file, char *buf, size_t count, loff_t *ppos)
-{
- uint32_t size;
- if(!radeon_param_buff) return -ESPIPE;
- if(!(*ppos)) radeon_param_buff_fill();
- if(*ppos >= radeon_param_buff_len) return 0;
- size = min(count,radeon_param_buff_len-(uint32_t)(*ppos));
- memcpy(buf,radeon_param_buff,size);
- *ppos += size;
- return size;
-}
-
-#define RTFSaturation(a) (1.0 + ((a)*1.0)/1000.0)
-#define RTFBrightness(a) (((a)*1.0)/2000.0)
-#define RTFContrast(a) (1.0 + ((a)*1.0)/1000.0)
-#define RTFHue(a) (((a)*3.1416)/1000.0)
-#define RadeonSetParm(a,b,c,d) if((b)>=(c)&&(b)<=(d)) { (a)=(b);\
- radeon_set_transform(RTFBrightness(ovBrightness),RTFContrast(ovContrast)\
- ,RTFSaturation(ovSaturation),RTFHue(ovHue),ov_trans_idx); }
-
-
-static ssize_t radeon_vid_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
-{
-#ifdef RAGE128
- if(memcmp(buf,PARAM_BRIGHTNESS,min(count,strlen(PARAM_BRIGHTNESS))) == 0)
- {
- long brightness;
- brightness=simple_strtol(&buf[strlen(PARAM_BRIGHTNESS)],NULL,10);
- if(brightness >= -64 && brightness <= 63)
- {
- besr.brightness = brightness;
- OUTREG(OV0_COLOUR_CNTL, (brightness & 0x7f) |
- (besr.saturation << 8) |
- (besr.saturation << 16));
- }
- }
- else
- if(memcmp(buf,PARAM_SATURATION,min(count,strlen(PARAM_SATURATION))) == 0)
- {
- long saturation;
- saturation=simple_strtol(&buf[strlen(PARAM_SATURATION)],NULL,10);
- if(saturation >= 0 && saturation <= 31)
- OUTREG(OV0_COLOUR_CNTL, (besr.brightness & 0x7f) |
- (saturation << 8) |
- (saturation << 16));
- }
- else
-#else
-#ifdef RADEON_FPU
- if(memcmp(buf,PARAM_BRIGHTNESS,min(count,strlen(PARAM_BRIGHTNESS))) == 0)
- {
- int tmp;
- tmp=simple_strtol(&buf[strlen(PARAM_BRIGHTNESS)],NULL,10);
- RadeonSetParm(ovBrightness,tmp,-1000,1000);
- }
- else
- if(memcmp(buf,PARAM_SATURATION,min(count,strlen(PARAM_SATURATION))) == 0)
- {
- int tmp;
- tmp=simple_strtol(&buf[strlen(PARAM_SATURATION)],NULL,10);
- RadeonSetParm(ovSaturation,tmp,-1000,1000);
- }
- else
- if(memcmp(buf,PARAM_CONTRAST,min(count,strlen(PARAM_CONTRAST))) == 0)
- {
- int tmp;
- tmp=simple_strtol(&buf[strlen(PARAM_CONTRAST)],NULL,10);
- RadeonSetParm(ovContrast,tmp,-1000,1000);
- }
- else
- if(memcmp(buf,PARAM_HUE,min(count,strlen(PARAM_HUE))) == 0)
- {
- int tmp;
- tmp=simple_strtol(&buf[strlen(PARAM_HUE)],NULL,10);
- RadeonSetParm(ovHue,tmp,-1000,1000);
- }
- else
-#endif
-#endif
- if(memcmp(buf,PARAM_DOUBLE_BUFF,min(count,strlen(PARAM_DOUBLE_BUFF))) == 0)
- {
- if(memcmp(&buf[strlen(PARAM_DOUBLE_BUFF)],"on",2) == 0) besr.double_buff = 1;
- else besr.double_buff = 0;
- }
- else
- if(memcmp(buf,PARAM_DEINTERLACE,min(count,strlen(PARAM_DEINTERLACE))) == 0)
- {
- if(memcmp(&buf[strlen(PARAM_DEINTERLACE)],"on",2) == 0) besr.deinterlace_on = 1;
- else besr.deinterlace_on = 0;
- }
- else
- if(memcmp(buf,PARAM_DEINTERLACE_PATTERN,min(count,strlen(PARAM_DEINTERLACE_PATTERN))) == 0)
- {
- long dpat;
- dpat=simple_strtol(&buf[strlen(PARAM_DEINTERLACE_PATTERN)],NULL,16);
- OUTREG(OV0_DEINTERLACE_PATTERN, dpat);
- }
- else count = -EIO;
- radeon_vid_preset();
- return count;
-}
-
-static int radeon_vid_mmap(struct file *file, struct vm_area_struct *vma)
-{
-
- RTRACE(RVID_MSG"mapping video memory into userspace\n");
- if(remap_page_range(vma->vm_start, radeon_mem_base + radeon_overlay_off,
- vma->vm_end - vma->vm_start, vma->vm_page_prot))
- {
- printk(RVID_MSG"error mapping video memory\n");
- return -EAGAIN;
- }
-
- return 0;
-}
-
-static int radeon_vid_release(struct inode *inode, struct file *file)
-{
- radeon_vid_in_use = 0;
- radeon_vid_stop_video();
-
- MOD_DEC_USE_COUNT;
- return 0;
-}
-
-static long long radeon_vid_lseek(struct file *file, long long offset, int origin)
-{
- return -ESPIPE;
-}
-
-static int radeon_vid_open(struct inode *inode, struct file *file)
-{
- int minor = MINOR(inode->i_rdev);
-
- if(minor != 0)
- return -ENXIO;
-
- if(radeon_vid_in_use == 1)
- return -EBUSY;
-
- radeon_vid_in_use = 1;
- MOD_INC_USE_COUNT;
- return 0;
-}
-
-#if LINUX_VERSION_CODE >= 0x020400
-static struct file_operations radeon_vid_fops =
-{
- llseek: radeon_vid_lseek,
- read: radeon_vid_read,
- write: radeon_vid_write,
-/*
- readdir:
- poll:
-*/
- ioctl: radeon_vid_ioctl,
- mmap: radeon_vid_mmap,
- open: radeon_vid_open,
-/*
- flush:
-*/
- release: radeon_vid_release
-/*
- fsync:
- fasync:
- lock:
- readv:
- writev:
- sendpage:
- get_unmapped_area:
-*/
-};
-#else
-static struct file_operations radeon_vid_fops =
-{
- radeon_vid_lseek,
- radeon_vid_read,
- radeon_vid_write,
- NULL,
- NULL,
- radeon_vid_ioctl,
- radeon_vid_mmap,
- radeon_vid_open,
- NULL,
- radeon_vid_release
-};
-#endif
-
-/*
- * Main Initialization Function
- */
-
-static int __init radeon_vid_initialize(void)
-{
- radeon_vid_in_use = 0;
-#ifdef RAGE128
- printk(RVID_MSG"Rage128/Rage128Pro video overlay driver v"RADEON_VID_VERSION" (C) Nick Kurshev\n");
-#else
- printk(RVID_MSG"Radeon video overlay driver v"RADEON_VID_VERSION" (C) Nick Kurshev\n");
-#endif
- if(register_chrdev(RADEON_VID_MAJOR, "radeon_vid", &radeon_vid_fops))
- {
- printk(RVID_MSG"unable to get major: %d\n", RADEON_VID_MAJOR);
- return -EIO;
- }
-
- if (!radeon_vid_config_card())
- {
- printk(RVID_MSG"can't configure this card\n");
- unregister_chrdev(RADEON_VID_MAJOR, "radeon_vid");
- return -EINVAL;
- }
- radeon_param_buff = kmalloc(PARAM_BUFF_SIZE,GFP_KERNEL);
- if(radeon_param_buff) radeon_param_buff_size = PARAM_BUFF_SIZE;
-#if 0
- radeon_vid_save_state();
-#endif
- radeon_vid_make_default();
- radeon_vid_preset();
-#ifdef CONFIG_MTRR
- if (mtrr) {
- smtrr.vram = mtrr_add(radeon_mem_base,
- radeon_ram_size*0x100000, MTRR_TYPE_WRCOMB, 1);
- smtrr.vram_valid = 1;
- /* let there be speed */
- printk(RVID_MSG"MTRR set to ON\n");
- }
-#endif /* CONFIG_MTRR */
- return 0;
-}
-
-int __init init_module(void)
-{
- return radeon_vid_initialize();
-}
-
-void __exit cleanup_module(void)
-{
-#if 0
- radeon_vid_restore_state();
-#endif
- if(radeon_mmio_base)
- iounmap(radeon_mmio_base);
- kfree(radeon_param_buff);
- RTRACE(RVID_MSG"Cleaning up module\n");
- unregister_chrdev(RADEON_VID_MAJOR, "radeon_vid");
-#ifdef CONFIG_MTRR
- if (smtrr.vram_valid)
- mtrr_del(smtrr.vram, radeon_mem_base,
- radeon_ram_size*0x100000);
-#endif /* CONFIG_MTRR */
-}
diff --git a/drivers/radeon_vid.h b/drivers/radeon_vid.h
deleted file mode 100644
index c397dc6..0000000
--- a/drivers/radeon_vid.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * BES YUV Framebuffer driver for Radeon cards
- *
- * Copyright (C) 2001 Nick Kurshev
- *
- * This file is partly based on mga_vid and sis_vid from MPlayer.
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_RADEON_VID_H
-#define MPLAYER_RADEON_VID_H
-
-typedef struct mga_vid_config_s
-{
-uint16_t version;
-uint16_t card_type;
-uint32_t ram_size;
-uint32_t src_width;
-uint32_t src_height;
-uint32_t dest_width;
-uint32_t dest_height;
-uint32_t x_org; /* dest x */
-uint32_t y_org; /* dest y */
-uint8_t colkey_on;
-uint8_t colkey_red;
-uint8_t colkey_green;
-uint8_t colkey_blue;
-uint32_t format;
-uint32_t frame_size;
-uint32_t num_frames;
-} mga_vid_config_t;
-
-#define IMGFMT_RGB_MASK 0xFFFFFF00
-#define IMGFMT_RGB (('R'<<24)|('G'<<16)|('B'<<8))
-#define IMGFMT_RGB8 (IMGFMT_RGB|8)
-#define IMGFMT_RGB15 (IMGFMT_RGB|15)
-#define IMGFMT_RGB16 (IMGFMT_RGB|16)
-#define IMGFMT_RGB24 (IMGFMT_RGB|24)
-#define IMGFMT_RGB32 (IMGFMT_RGB|32)
-
-#define IMGFMT_BGR_MASK 0xFFFFFF00
-#define IMGFMT_BGR (('B'<<24)|('G'<<16)|('R'<<8))
-#define IMGFMT_BGR8 (IMGFMT_BGR|8)
-#define IMGFMT_BGR15 (IMGFMT_BGR|15)
-#define IMGFMT_BGR16 (IMGFMT_BGR|16)
-#define IMGFMT_BGR24 (IMGFMT_BGR|24)
-#define IMGFMT_BGR32 (IMGFMT_BGR|32)
-
-#define IMGFMT_IS_RGB(fmt) (((fmt)&IMGFMT_RGB_MASK)==IMGFMT_RGB)
-#define IMGFMT_IS_BGR(fmt) (((fmt)&IMGFMT_BGR_MASK)==IMGFMT_BGR)
-
-#define IMGFMT_RGB_DEPTH(fmt) ((fmt)&~IMGFMT_RGB)
-#define IMGFMT_BGR_DEPTH(fmt) ((fmt)&~IMGFMT_BGR)
-
-
-/* Planar YUV Formats */
-
-#define IMGFMT_YVU9 0x39555659
-#define IMGFMT_IF09 0x39304649
-#define IMGFMT_YV12 0x32315659
-#if 0
-#define IMGFMT_I420 0x30323449
-#define IMGFMT_IYUV 0x56555949
-#else
-#define IMGFMT_I420 (('I'<<24)|('4'<<16)|('2'<<8)|'0')
-#define IMGFMT_IYUV (('I'<<24)|('Y'<<16)|('U'<<8)|'V')
-#endif
-#define IMGFMT_CLPL 0x4C504C43
-#define IMGFMT_Y800 0x30303859
-#define IMGFMT_Y8 0x20203859
-
-/* Packed YUV Formats */
-
-#define IMGFMT_IUYV 0x56595549
-#define IMGFMT_IY41 0x31435949
-#define IMGFMT_IYU1 0x31555949
-#define IMGFMT_IYU2 0x32555949
-#define IMGFMT_UYNV 0x564E5955
-#define IMGFMT_cyuv 0x76757963
-#define IMGFMT_Y422 0x32323459
-#if 0
-#define IMGFMT_YUY2 0x32595559
-#define IMGFMT_UYVY 0x59565955
-#else
-#define IMGFMT_YUY2 (('Y'<<24)|('U'<<16)|('Y'<<8)|'2')
-#define IMGFMT_UYVY (('U'<<24)|('Y'<<16)|('V'<<8)|'Y')
-#endif
-#define IMGFMT_YUNV 0x564E5559
-#define IMGFMT_YVYU 0x55595659
-#define IMGFMT_Y41P 0x50313459
-#define IMGFMT_Y211 0x31313259
-#define IMGFMT_Y41T 0x54313459
-#define IMGFMT_Y42T 0x54323459
-#define IMGFMT_V422 0x32323456
-#define IMGFMT_V655 0x35353656
-#define IMGFMT_CLJR 0x524A4C43
-#define IMGFMT_YUVP 0x50565559
-#define IMGFMT_UYVP 0x50565955
-
-/* Compressed Formats. MPlayer's extensions!!! */
-#define IMGFMT_MPEGPES (('M'<<24)|('P'<<16)|('E'<<8)|('S'))
-
-
-#define MGA_VID_CONFIG _IOR('J', 1, mga_vid_config_t)
-#define MGA_VID_ON _IO ('J', 2)
-#define MGA_VID_OFF _IO ('J', 3)
-#define MGA_VID_FSEL _IOR('J', 4, int)
-
-#define MGA_VID_VERSION 0x0201
-
-#endif /* MPLAYER_RADEON_VID_H */
diff --git a/drivers/tdfx_vid.c b/drivers/tdfx_vid.c
deleted file mode 100644
index 501f5fc..0000000
--- a/drivers/tdfx_vid.c
+++ /dev/null
@@ -1,1049 +0,0 @@
-/*
- * Copyright (C) 2003 Alban Bedel
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <linux/config.h>
-#include <linux/version.h>
-#include <linux/module.h>
-#include <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/sched.h>
-#include <linux/mm.h>
-#include <linux/string.h>
-#include <linux/errno.h>
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,10)
-#include <linux/malloc.h>
-#else
-#include <linux/slab.h>
-#endif
-
-#include <linux/pci.h>
-#include <linux/ioport.h>
-#include <linux/init.h>
-#include <linux/agp_backend.h>
-
-#include <asm/uaccess.h>
-#include <asm/system.h>
-#include <asm/io.h>
-
-#include "tdfx_vid.h"
-#include "3dfx.h"
-
-
-#define TDFX_VID_MAJOR 178
-
-MODULE_AUTHOR("Albeu");
-MODULE_DESCRIPTION("A driver for Banshee targeted for video app");
-
-#ifdef MODULE_LICENSE
-MODULE_LICENSE("GPL");
-#endif
-
-#ifndef min
-#define min(x,y) (((x)<(y))?(x):(y))
-#endif
-
-static struct pci_dev *pci_dev;
-
-static uint8_t *tdfx_mmio_base = 0;
-static uint32_t tdfx_mem_base = 0;
-static uint32_t tdfx_io_base = 0;
-
-static int tdfx_ram_size = 0;
-
-static int tdfx_vid_in_use = 0;
-
-static drm_agp_t *drm_agp = NULL;
-static agp_kern_info agp_info;
-static agp_memory *agp_mem = NULL;
-
-static __initdata int tdfx_map_io = 1;
-static __initdata unsigned long map_start = 0; //0x7300000;
-static __initdata unsigned long map_max = (10*1024*1024);
-
-MODULE_PARM(tdfx_map_io,"i");
-MODULE_PARM_DESC(tdfx_map_io, "Set to 0 to use the page fault handler (you need to patch agpgart_be.c to allow the mapping in user space)\n");
-MODULE_PARM(map_start,"l");
-MODULE_PARM_DESC(map_start,"Use a block of physical mem instead of the agp arerture.");
-MODULE_PARM(map_max,"l");
-MODULE_PARM_DESC(map_max, "Maximum amout of physical memory (in bytes) that can be used\n");
-
-static inline u32 tdfx_inl(unsigned int reg) {
- return readl(tdfx_mmio_base + reg);
-}
-
-static inline void tdfx_outl(unsigned int reg, u32 val) {
- writel(val,tdfx_mmio_base + reg);
-}
-
-static inline void banshee_make_room(int size) {
- while((tdfx_inl(STATUS) & 0x1f) < size);
-}
-
-static inline void banshee_wait_idle(void) {
- int i = 0;
-
- banshee_make_room(1);
- tdfx_outl(COMMAND_3D, COMMAND_3D_NOP);
-
- while(1) {
- i = (tdfx_inl(STATUS) & STATUS_BUSY) ? 0 : i + 1;
- if(i == 3) break;
- }
-}
-
-static unsigned long get_lfb_size(void) {
- u32 draminit0 = 0;
- u32 draminit1 = 0;
- // u32 miscinit1 = 0;
- u32 lfbsize = 0;
- int sgram_p = 0;
-
- draminit0 = tdfx_inl(DRAMINIT0);
- draminit1 = tdfx_inl(DRAMINIT1);
-
- if ((pci_dev->device == PCI_DEVICE_ID_3DFX_BANSHEE) ||
- (pci_dev->device == PCI_DEVICE_ID_3DFX_VOODOO3)) {
- sgram_p = (draminit1 & DRAMINIT1_MEM_SDRAM) ? 0 : 1;
-
- lfbsize = sgram_p ?
- (((draminit0 & DRAMINIT0_SGRAM_NUM) ? 2 : 1) *
- ((draminit0 & DRAMINIT0_SGRAM_TYPE) ? 8 : 4) * 1024 * 1024) :
- 16 * 1024 * 1024;
- } else {
- /* Voodoo4/5 */
- u32 chips, psize, banks;
-
- chips = ((draminit0 & (1 << 26)) == 0) ? 4 : 8;
- psize = 1 << ((draminit0 & 0x38000000) >> 28);
- banks = ((draminit0 & (1 << 30)) == 0) ? 2 : 4;
- lfbsize = chips * psize * banks;
- lfbsize <<= 20;
- }
-
-#if 0
- /* disable block writes for SDRAM (why?) */
- miscinit1 = tdfx_inl(MISCINIT1);
- miscinit1 |= sgram_p ? 0 : MISCINIT1_2DBLOCK_DIS;
- miscinit1 |= MISCINIT1_CLUT_INV;
-
- banshee_make_room(1);
- tdfx_outl(MISCINIT1, miscinit1);
-#endif
-
- return lfbsize;
-}
-
-static int tdfx_vid_find_card(void)
-{
- struct pci_dev *dev = NULL;
- // unsigned int card_option;
-
- if((dev = pci_find_device(PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_BANSHEE, NULL)))
- printk(KERN_INFO "tdfx_vid: Found VOODOO BANSHEE\n");
- else if((dev = pci_find_device(PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_VOODOO3, NULL)))
- printk(KERN_INFO "tdfx_vid: Found VOODOO 3 \n");
- else
- return 0;
-
-
- pci_dev = dev;
-
-#if LINUX_VERSION_CODE >= 0x020300
- tdfx_mmio_base = ioremap_nocache(dev->resource[0].start,1 << 24);
- tdfx_mem_base = dev->resource[1].start;
- tdfx_io_base = dev->resource[2].start;
-#else
- tdfx_mmio_base = ioremap_nocache(dev->base_address[1] & PCI_BASE_ADDRESS_MEM_MASK,0x4000);
- tdfx_mem_base = dev->base_address[1] & PCI_BASE_ADDRESS_MEM_MASK;
- tdfx_io_base = dev->base_address[2] & PCI_BASE_ADDRESS_MEM_MASK;
-#endif
- printk(KERN_INFO "tdfx_vid: MMIO at 0x%p\n", tdfx_mmio_base);
- tdfx_ram_size = get_lfb_size();
-
- printk(KERN_INFO "tdfx_vid: Found %d MB (%d bytes) of memory\n",
- tdfx_ram_size / 1024 / 1024,tdfx_ram_size);
-
-
-#if 0
- {
- int temp;
- printk("List resources -----------\n");
- for(temp=0;temp<DEVICE_COUNT_RESOURCE;temp++){
- struct resource *res=&pci_dev->resource[temp];
- if(res->flags){
- int size=(1+res->end-res->start)>>20;
- printk(KERN_DEBUG "res %d: start: 0x%X end: 0x%X (%d MB) flags=0x%X\n",temp,res->start,res->end,size,res->flags);
- if(res->flags&(IORESOURCE_MEM|IORESOURCE_PREFETCH)){
- if(size>tdfx_ram_size && size<=64) tdfx_ram_size=size;
- }
- }
- }
- }
-#endif
-
-
- return 1;
-}
-
-static int agp_init(void) {
-
- drm_agp = (drm_agp_t*)inter_module_get("drm_agp");
-
- if(!drm_agp) {
- printk(KERN_ERR "tdfx_vid: Unable to get drm_agp pointer\n");
- return 0;
- }
-
- if(drm_agp->acquire()) {
- printk(KERN_ERR "tdfx_vid: Unable to acquire the agp backend\n");
- drm_agp = NULL;
- return 0;
- }
-
- drm_agp->copy_info(&agp_info);
-#if 0
- printk(KERN_DEBUG "AGP Version : %d %d\n"
- "AGP Mode: %#X\nAperture Base: %p\nAperture Size: %d\n"
- "Max memory = %d\nCurrent mem = %d\nCan use perture : %s\n"
- "Page mask = %#X\n",
- agp_info.version.major,agp_info.version.minor,
- agp_info.mode,agp_info.aper_base,agp_info.aper_size,
- agp_info.max_memory,agp_info.current_memory,
- agp_info.cant_use_aperture ? "no" : "yes",
- agp_info.page_mask);
-#endif
- drm_agp->enable(agp_info.mode);
-
-
- printk(KERN_INFO "AGP Enabled\n");
-
- return 1;
-}
-
-static void agp_close(void) {
-
- if(!drm_agp) return;
-
- if(agp_mem) {
- drm_agp->unbind_memory(agp_mem);
- drm_agp->free_memory(agp_mem);
- agp_mem = NULL;
- }
-
-
- drm_agp->release();
- inter_module_put("drm_agp");
-}
-
-static int agp_move(tdfx_vid_agp_move_t* m) {
- u32 src = 0;
- u32 src_h,src_l;
-
- if(!(agp_mem||map_start))
- return -EAGAIN;
-
- if(m->move2 > 3) {
- printk(KERN_DEBUG "tdfx_vid: AGP move invalid destination %d\n",
- m->move2);
- return -EAGAIN;
- }
-
- if(map_start)
- src = map_start + m->src;
- else
- src = agp_info.aper_base + m->src;
-
- src_l = (u32)src;
- src_h = (m->width | (m->src_stride << 14)) & 0x0FFFFFFF;
-
- // banshee_wait_idle();
- banshee_make_room(6);
- tdfx_outl(AGPHOSTADDRESSHIGH,src_h);
- tdfx_outl(AGPHOSTADDRESSLOW,src_l);
-
- tdfx_outl(AGPGRAPHICSADDRESS, m->dst);
- tdfx_outl(AGPGRAPHICSSTRIDE, m->dst_stride);
- tdfx_outl(AGPREQSIZE,m->src_stride*m->height);
-
- tdfx_outl(AGPMOVECMD,m->move2 << 3);
- banshee_wait_idle();
-
- return 0;
-}
-
-#if 0
-static void setup_fifo(u32 offset,ssize_t pages) {
- long addr = agp_info.aper_base + offset;
- u32 size = pages | 0x700; // fifo on, in agp mem, disable hole cnt
-
- banshee_wait_idle();
-
- tdfx_outl(CMDBASEADDR0,addr >> 4);
- tdfx_outl(CMDRDPTRL0, addr << 4);
- tdfx_outl(CMDRDPTRH0, addr >> 28);
- tdfx_outl(CMDAMIN0, (addr - 4) & 0xFFFFFF);
- tdfx_outl(CMDAMAX0, (addr - 4) & 0xFFFFFF);
- tdfx_outl(CMDFIFODEPTH0, 0);
- tdfx_outl(CMDHOLECNT0, 0);
- tdfx_outl(CMDBASESIZE0,size);
-
- banshee_wait_idle();
-
-}
-#endif
-
-static int bump_fifo(u16 size) {
-
- banshee_wait_idle();
- tdfx_outl(CMDBUMP0 , size);
- banshee_wait_idle();
-
- return 0;
-}
-
-static void tdfx_vid_get_config(tdfx_vid_config_t* cfg) {
- u32 in;
-
- cfg->version = TDFX_VID_VERSION;
- cfg->ram_size = tdfx_ram_size;
-
- in = tdfx_inl(VIDSCREENSIZE);
- cfg->screen_width = in & 0xFFF;
- cfg->screen_height = (in >> 12) & 0xFFF;
- in = (tdfx_inl(VIDPROCCFG)>> 18)& 0x7;
- switch(in) {
- case 0:
- cfg->screen_format = TDFX_VID_FORMAT_BGR8;
- break;
- case 1:
- cfg->screen_format = TDFX_VID_FORMAT_BGR16;
- break;
- case 2:
- cfg->screen_format = TDFX_VID_FORMAT_BGR24;
- break;
- case 3:
- cfg->screen_format = TDFX_VID_FORMAT_BGR32;
- break;
- default:
- printk(KERN_INFO "tdfx_vid: unknown screen format %d\n",in);
- cfg->screen_format = 0;
- break;
- }
- cfg->screen_stride = tdfx_inl(VIDDESKSTRIDE) & 0x7FFF;
- cfg->screen_start = tdfx_inl(VIDDESKSTART);
-}
-
-inline static u32 tdfx_vid_make_format(int src,u16 stride,u32 fmt) {
- u32 r = stride & 0xFFF3;
- u32 tdfx_fmt = 0;
-
- // src and dest formats
- switch(fmt) {
- case TDFX_VID_FORMAT_BGR8:
- tdfx_fmt = 1;
- break;
- case TDFX_VID_FORMAT_BGR16:
- tdfx_fmt = 3;
- break;
- case TDFX_VID_FORMAT_BGR24:
- tdfx_fmt = 4;
- break;
- case TDFX_VID_FORMAT_BGR32:
- tdfx_fmt = 5;
- break;
- }
-
- if(!src && !tdfx_fmt) {
- printk(KERN_INFO "tdfx_vid: Invalid destination format %#X\n",fmt);
- return 0;
- }
-
- if(src && !tdfx_fmt) {
- // src only format
- switch(fmt){
- case TDFX_VID_FORMAT_BGR1:
- tdfx_fmt = 0;
- break;
- case TDFX_VID_FORMAT_BGR15: // To check
- tdfx_fmt = 2;
- break;
- case TDFX_VID_FORMAT_YUY2:
- tdfx_fmt = 8;
- break;
- case TDFX_VID_FORMAT_UYVY:
- tdfx_fmt = 9;
- break;
- default:
- printk(KERN_INFO "tdfx_vid: Invalid source format %#X\n",fmt);
- return 0;
- }
- }
-
- r |= tdfx_fmt << 16;
-
- return r;
-}
-
-static int tdfx_vid_blit(tdfx_vid_blit_t* blit) {
- u32 src_fmt,dst_fmt,cmd = 2;
- u32 cmin,cmax,srcbase,srcxy,srcfmt,srcsize;
- u32 dstbase,dstxy,dstfmt,dstsize = 0;
- u32 cmd_extra = 0,src_ck[2],dst_ck[2],rop123=0;
-
- //printk(KERN_INFO "tdfx_vid: Make src fmt 0x%x\n",blit->src_format);
- src_fmt = tdfx_vid_make_format(1,blit->src_stride,blit->src_format);
- if(!src_fmt)
- return 0;
- //printk(KERN_INFO "tdfx_vid: Make dst fmt 0x%x\n", blit->dst_format);
- dst_fmt = tdfx_vid_make_format(0,blit->dst_stride,blit->dst_format);
- if(!dst_fmt)
- return 0;
- blit->colorkey &= 0x3;
- // Be nice if user just want a simple blit
- if((!blit->colorkey) && (!blit->rop[0]))
- blit->rop[0] = TDFX_VID_ROP_COPY;
- // No stretch : fix me the cmd should be 1 but it
- // doesn't work. Maybe some other regs need to be set
- // as non-stretch blit have more options
- if(((!blit->dst_w) && (!blit->dst_h)) ||
- ((blit->dst_w == blit->src_w) && (blit->dst_h == blit->src_h)))
- cmd = 2;
-
- // Save the regs otherwise fb get crazy
- // we can perhaps avoid some ...
- banshee_wait_idle();
- cmin = tdfx_inl(CLIP0MIN);
- cmax = tdfx_inl(CLIP0MAX);
- srcbase = tdfx_inl(SRCBASE);
- srcxy = tdfx_inl(SRCXY);
- srcfmt = tdfx_inl(SRCFORMAT);
- srcsize = tdfx_inl(SRCSIZE);
- dstbase = tdfx_inl(DSTBASE);
- dstxy = tdfx_inl(DSTXY);
- dstfmt = tdfx_inl(DSTFORMAT);
- if(cmd == 2)
- dstsize = tdfx_inl(DSTSIZE);
- if(blit->colorkey & TDFX_VID_SRC_COLORKEY) {
- src_ck[0] = tdfx_inl(SRCCOLORKEYMIN);
- src_ck[1] = tdfx_inl(SRCCOLORKEYMAX);
- tdfx_outl(SRCCOLORKEYMIN,blit->src_colorkey[0]);
- tdfx_outl(SRCCOLORKEYMAX,blit->src_colorkey[1]);
- }
- if(blit->colorkey & TDFX_VID_DST_COLORKEY) {
- dst_ck[0] = tdfx_inl(DSTCOLORKEYMIN);
- dst_ck[1] = tdfx_inl(DSTCOLORKEYMAX);
- tdfx_outl(SRCCOLORKEYMIN,blit->dst_colorkey[0]);
- tdfx_outl(SRCCOLORKEYMAX,blit->dst_colorkey[1]);
- }
- if(blit->colorkey) {
- cmd_extra = tdfx_inl(COMMANDEXTRA_2D);
- rop123 = tdfx_inl(ROP123);
- tdfx_outl(COMMANDEXTRA_2D, blit->colorkey);
- tdfx_outl(ROP123,(blit->rop[1] | (blit->rop[2] << 8) | blit->rop[3] << 16));
-
- }
- // Get rid of the clipping at the moment
- tdfx_outl(CLIP0MIN,0);
- tdfx_outl(CLIP0MAX,0x0fff0fff);
-
- // Setup the src
- tdfx_outl(SRCBASE,blit->src & 0x00FFFFFF);
- tdfx_outl(SRCXY,XYREG(blit->src_x,blit->src_y));
- tdfx_outl(SRCFORMAT,src_fmt);
- tdfx_outl(SRCSIZE,XYREG(blit->src_w,blit->src_h));
-
- // Setup the dst
- tdfx_outl(DSTBASE,blit->dst & 0x00FFFFFF);
- tdfx_outl(DSTXY,XYREG(blit->dst_x,blit->dst_y));
- tdfx_outl(DSTFORMAT,dst_fmt);
- if(cmd == 2)
- tdfx_outl(DSTSIZE,XYREG(blit->dst_w,blit->dst_h));
-
- // Send the command
- tdfx_outl(COMMAND_2D,cmd | 0x100 | (blit->rop[0] << 24));
- banshee_wait_idle();
-
- // Now restore the regs to make fb happy
- tdfx_outl(CLIP0MIN, cmin);
- tdfx_outl(CLIP0MAX, cmax);
- tdfx_outl(SRCBASE, srcbase);
- tdfx_outl(SRCXY, srcxy);
- tdfx_outl(SRCFORMAT, srcfmt);
- tdfx_outl(SRCSIZE, srcsize);
- tdfx_outl(DSTBASE, dstbase);
- tdfx_outl(DSTXY, dstxy);
- tdfx_outl(DSTFORMAT, dstfmt);
- if(cmd == 2)
- tdfx_outl(DSTSIZE, dstsize);
- if(blit->colorkey & TDFX_VID_SRC_COLORKEY) {
- tdfx_outl(SRCCOLORKEYMIN,src_ck[0]);
- tdfx_outl(SRCCOLORKEYMAX,src_ck[1]);
- }
- if(blit->colorkey & TDFX_VID_DST_COLORKEY) {
- tdfx_outl(SRCCOLORKEYMIN,dst_ck[0]);
- tdfx_outl(SRCCOLORKEYMAX,dst_ck[1]);
- }
- if(blit->colorkey) {
- tdfx_outl(COMMANDEXTRA_2D,cmd_extra);
- tdfx_outl(ROP123,rop123);
- }
- return 1;
-}
-
-static int tdfx_vid_set_yuv(unsigned long arg) {
- tdfx_vid_yuv_t yuv;
-
- if(copy_from_user(&yuv,(tdfx_vid_yuv_t*)arg,sizeof(tdfx_vid_yuv_t))) {
- printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n");
- return -EFAULT;
- }
- banshee_make_room(2);
- tdfx_outl(YUVBASEADDRESS,yuv.base & 0x01FFFFFF);
- tdfx_outl(YUVSTRIDE, yuv.stride & 0x3FFF);
-
- banshee_wait_idle();
-
- return 0;
-}
-
-static int tdfx_vid_get_yuv(unsigned long arg) {
- tdfx_vid_yuv_t yuv;
-
- yuv.base = tdfx_inl(YUVBASEADDRESS) & 0x01FFFFFF;
- yuv.stride = tdfx_inl(YUVSTRIDE) & 0x3FFF;
-
- if(copy_to_user((tdfx_vid_yuv_t*)arg,&yuv,sizeof(tdfx_vid_yuv_t))) {
- printk(KERN_INFO "tdfx_vid:failed copy to userspace\n");
- return -EFAULT;
- }
-
- return 0;
-}
-
-static int tdfx_vid_set_overlay(unsigned long arg) {
- tdfx_vid_overlay_t ov;
- uint32_t screen_w,screen_h;
- uint32_t vidcfg,stride,vidbuf;
- int disp_w,disp_h;
-
- if(copy_from_user(&ov,(tdfx_vid_overlay_t*)arg,sizeof(tdfx_vid_overlay_t))) {
- printk(KERN_DEBUG "tdfx_vid:failed copy from userspace\n");
- return -EFAULT;
- }
-
- if(ov.dst_y < 0) {
- int shift;
- if(-ov.dst_y >= ov.src_height) {
- printk(KERN_DEBUG "tdfx_vid: Overlay outside of the screen ????\n");
- return -EFAULT;
- }
- shift = (-ov.dst_y)/(double)ov.dst_height*ov.src_height;
- ov.src[0] += shift*ov.src_stride;
- ov.src_height -= shift;
- ov.dst_height += ov.dst_y;
- ov.dst_y = 0;
- }
-
- if(ov.dst_x < 0) {
- int shift;
- if(-ov.dst_x >= ov.src_width) {
- printk(KERN_DEBUG "tdfx_vid: Overlay outside of the screen ????\n");
- return -EFAULT;
- }
- shift = (-ov.dst_x)/(double)ov.dst_width*ov.src_width;
- shift = ((shift+3)/2)*2;
- ov.src[0] += shift*2;
- ov.src_width -= shift;
- ov.dst_width += ov.dst_x;
- ov.dst_x = 0;
- }
-
- vidcfg = tdfx_inl(VIDPROCCFG);
- // clear the overlay fmt
- vidcfg &= ~(7 << 21);
- switch(ov.format) {
- case TDFX_VID_FORMAT_BGR15:
- vidcfg |= (1 << 21);
- break;
- case TDFX_VID_FORMAT_BGR16:
- vidcfg |= (7 << 21);
- break;
- case TDFX_VID_FORMAT_YUY2:
- vidcfg |= (5 << 21);
- break;
- case TDFX_VID_FORMAT_UYVY:
- vidcfg |= (6 << 21);
- break;
- default:
- printk(KERN_DEBUG "tdfx_vid: Invalid overlay fmt 0x%x\n",ov.format);
- return -EFAULT;
- }
-
- // YUV422 need 4 bytes aligned stride and address
- if((ov.format == TDFX_VID_FORMAT_YUY2 ||
- ov.format == TDFX_VID_FORMAT_UYVY)) {
- if((ov.src_stride & ~0x3) != ov.src_stride) {
- printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned stride %d\n",ov.src_stride);
- return -EFAULT;
- }
- if((ov.src[0] & ~0x3) != ov.src[0] || (ov.src[1] & ~0x3) != ov.src[1]){
- printk(KERN_DEBUG "tdfx_vid: YUV need a 4 bytes aligned address 0x%x 0x%x\n",ov.src[0],ov.src[1]);
- return -EFAULT;
- }
- }
-
- // Now we have a good input format
- // but first get the screen size to check a bit
- // if the size/position is valid
- screen_w = tdfx_inl(VIDSCREENSIZE);
- screen_h = (screen_w >> 12) & 0xFFF;
- screen_w &= 0xFFF;
- disp_w = ov.dst_x + ov.dst_width >= screen_w ?
- screen_w - ov.dst_x : ov.dst_width;
- disp_h = ov.dst_y + ov.dst_height >= screen_h ?
- screen_h - ov.dst_y : ov.dst_height;
-
- if(ov.dst_x >= screen_w || ov.dst_y >= screen_h ||
- disp_h <= 0 || disp_h > screen_h || disp_w <= 0 || disp_w > screen_w) {
- printk(KERN_DEBUG "tdfx_vid: Invalid overlay dimension and/or position\n");
- return -EFAULT;
- }
- // Setup the vidproc
- // H scaling
- if(ov.src_width < ov.dst_width)
- vidcfg |= (1<<14);
- else
- vidcfg &= ~(1<<14);
- // V scaling
- if(ov.src_height < ov.dst_height)
- vidcfg |= (1<<15);
- else
- vidcfg &= ~(1<<15);
- // Filtering can only be used in 1x mode
- if(!(vidcfg | (1<<26)))
- vidcfg |= (3<<16);
- else
- vidcfg &= ~(3<<16);
- // disable overlay stereo mode
- vidcfg &= ~(1<<2);
- // Colorkey on/off
- if(ov.use_colorkey) {
- // Colorkey inversion
- if(ov.invert_colorkey)
- vidcfg |= (1<<6);
- else
- vidcfg &= ~(1<<6);
- vidcfg |= (1<<5);
- } else
- vidcfg &= ~(1<<5);
- // Overlay isn't VidIn
- vidcfg &= ~(1<<9);
- // vidcfg |= (1<<8);
- tdfx_outl(VIDPROCCFG,vidcfg);
-
- // Start coord
- //printk(KERN_DEBUG "tdfx_vid: start %dx%d\n",ov.dst_x & 0xFFF,ov.dst_y & 0xFFF);
- tdfx_outl(VIDOVRSTARTCRD,(ov.dst_x & 0xFFF)|((ov.dst_y & 0xFFF)<<12));
- // End coord
- tdfx_outl(VIDOVRENDCRD, ((ov.dst_x + disp_w-1) & 0xFFF)|
- (((ov.dst_y + disp_h-1) & 0xFFF)<<12));
- // H Scaling
- tdfx_outl(VIDOVRDUDX,( ((u32)ov.src_width) << 20) / ov.dst_width);
- // Src offset and width (in bytes)
- tdfx_outl(VIDOVRDUDXOFF,((ov.src_width<<1) & 0xFFF) << 19);
- // V Scaling
- tdfx_outl(VIDOVRDVDY, ( ((u32)ov.src_height) << 20) / ov.dst_height);
- //else
- // tdfx_outl(VIDOVRDVDY,0);
- // V Offset
- tdfx_outl(VIDOVRDVDYOFF,0);
- // Overlay stride
- stride = tdfx_inl(VIDDESKSTRIDE) & 0xFFFF;
- tdfx_outl(VIDDESKSTRIDE,stride | (((u32)ov.src_stride) << 16));
- // Buffers address
- tdfx_outl(LEFTOVBUF, ov.src[0]);
- tdfx_outl(RIGHTOVBUF, ov.src[1]);
-
- // Send a swap buffer cmd if we are not on one of the 2 buffers
- vidbuf = tdfx_inl(VIDCUROVRSTART);
- if(vidbuf != ov.src[0] && vidbuf != ov.src[1]) {
- tdfx_outl(SWAPPENDING,0);
- tdfx_outl(SWAPBUFCMD, 1);
- }
- //printk(KERN_DEBUG "tdfx_vid: Buf0=0x%x Buf1=0x%x Current=0x%x\n",
- // ov.src[0],ov.src[1],tdfx_inl(VIDCUROVRSTART));
- // Colorkey
- if(ov.use_colorkey) {
- tdfx_outl(VIDCHRMIN,ov.colorkey[0]);
- tdfx_outl(VIDCHRMAX,ov.colorkey[1]);
- }
-
- return 0;
-}
-
-static int tdfx_vid_overlay_on(void) {
- uint32_t vidcfg = tdfx_inl(VIDPROCCFG);
- //return 0;
- if(vidcfg & (1<<8)) { // Overlay is already on
- //printk(KERN_DEBUG "tdfx_vid: Overlay is already on.\n");
- return -EFAULT;
- }
- vidcfg |= (1<<8);
- tdfx_outl(VIDPROCCFG,vidcfg);
- return 0;
-}
-
-static int tdfx_vid_overlay_off(void) {
- uint32_t vidcfg = tdfx_inl(VIDPROCCFG);
-
- if(vidcfg & (1<<8)) {
- vidcfg &= ~(1<<8);
- tdfx_outl(VIDPROCCFG,vidcfg);
- return 0;
- }
-
- printk(KERN_DEBUG "tdfx_vid: Overlay is already off.\n");
- return -EFAULT;
-}
-
-
-static int tdfx_vid_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
-{
- tdfx_vid_agp_move_t move;
- tdfx_vid_config_t cfg;
- tdfx_vid_blit_t blit;
- u16 int16;
-
- switch(cmd) {
- case TDFX_VID_AGP_MOVE:
- if(copy_from_user(&move,(tdfx_vid_agp_move_t*)arg,sizeof(tdfx_vid_agp_move_t))) {
- printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
- return -EFAULT;
- }
- return agp_move(&move);
- case TDFX_VID_BUMP0:
- if(copy_from_user(&int16,(u16*)arg,sizeof(u16))) {
- printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
- return -EFAULT;
- }
- return bump_fifo(int16);
- case TDFX_VID_BLIT:
- if(copy_from_user(&blit,(tdfx_vid_blit_t*)arg,sizeof(tdfx_vid_blit_t))) {
- printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
- return -EFAULT;
- }
- if(!tdfx_vid_blit(&blit)) {
- printk(KERN_INFO "tdfx_vid: Blit failed\n");
- return -EFAULT;
- }
- return 0;
- case TDFX_VID_GET_CONFIG:
- if(copy_from_user(&cfg,(tdfx_vid_config_t*)arg,sizeof(tdfx_vid_config_t))) {
- printk(KERN_INFO "tdfx_vid:failed copy from userspace\n");
- return -EFAULT;
- }
- tdfx_vid_get_config(&cfg);
- if(copy_to_user((tdfx_vid_config_t*)arg,&cfg,sizeof(tdfx_vid_config_t))) {
- printk(KERN_INFO "tdfx_vid:failed copy to userspace\n");
- return -EFAULT;
- }
- return 0;
- case TDFX_VID_SET_YUV:
- return tdfx_vid_set_yuv(arg);
- case TDFX_VID_GET_YUV:
- return tdfx_vid_get_yuv(arg);
- case TDFX_VID_SET_OVERLAY:
- return tdfx_vid_set_overlay(arg);
- case TDFX_VID_OVERLAY_ON:
- return tdfx_vid_overlay_on();
- case TDFX_VID_OVERLAY_OFF:
- return tdfx_vid_overlay_off();
- default:
- printk(KERN_ERR "tdfx_vid: Invalid ioctl %d\n",cmd);
- return -EINVAL;
- }
- return 0;
-}
-
-
-
-static ssize_t tdfx_vid_read(struct file *file, char *buf, size_t count, loff_t *ppos)
-{
- return 0;
-}
-
-static ssize_t tdfx_vid_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
-{
-
- return 0;
-}
-
-static void tdfx_vid_mopen(struct vm_area_struct *vma) {
- int i;
- struct page *page;
- unsigned long phys;
-
- printk(KERN_DEBUG "tdfx_vid: mopen\n");
-
- for(i = 0 ; i < agp_mem->page_count ; i++) {
- phys = agp_mem->memory[i] & ~(0x00000fff);
- page = virt_to_page(phys_to_virt(phys));
- if(!page) {
- printk(KERN_DEBUG "tdfx_vid: Can't get the page %d\%d\n",i,agp_mem->page_count);
- return;
- }
- get_page(page);
- }
- MOD_INC_USE_COUNT;
-}
-
-static void tdfx_vid_mclose(struct vm_area_struct *vma) {
- int i;
- struct page *page;
- unsigned long phys;
-
- printk(KERN_DEBUG "tdfx_vid: mclose\n");
-
- for(i = 0 ; i < agp_mem->page_count ; i++) {
- phys = agp_mem->memory[i] & ~(0x00000fff);
- page = virt_to_page(phys_to_virt(phys));
- if(!page) {
- printk(KERN_DEBUG "tdfx_vid: Can't get the page %d\%d\n",i,agp_mem->page_count);
- return;
- }
- put_page(page);
- }
-
- MOD_DEC_USE_COUNT;
-}
-
-static struct page *tdfx_vid_nopage(struct vm_area_struct *vma,
- unsigned long address,
- int write_access) {
- unsigned long off;
- uint32_t n;
- struct page *page;
- unsigned long phys;
-
- off = address - vma->vm_start + (vma->vm_pgoff<<PAGE_SHIFT);
- n = off / PAGE_SIZE;
-
- if(n >= agp_mem->page_count) {
- printk(KERN_DEBUG "tdfx_vid: Too far away\n");
- return (struct page *)0UL;
- }
- phys = agp_mem->memory[n] & ~(0x00000fff);
- page = virt_to_page(phys_to_virt(phys));
- if(!page) {
- printk(KERN_DEBUG "tdfx_vid: Can't get the page\n");
- return (struct page *)0UL;
- }
- return page;
-}
-
-/* memory handler functions */
-static struct vm_operations_struct tdfx_vid_vm_ops = {
- open: tdfx_vid_mopen, /* mmap-open */
- close: tdfx_vid_mclose,/* mmap-close */
- nopage: tdfx_vid_nopage, /* no-page fault handler */
-};
-
-
-static int tdfx_vid_mmap(struct file *file, struct vm_area_struct *vma)
-{
- size_t size;
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "tdfx_vid: mapping agp memory into userspace\n");
-#endif
-
- size = (vma->vm_end-vma->vm_start + PAGE_SIZE - 1) / PAGE_SIZE;
-
- if(map_start) { // Ok we map directly in the physcal ram
- if(size*PAGE_SIZE > map_max) {
- printk(KERN_ERR "tdfx_vid: Not enouth mem\n");
- return -EAGAIN;
- }
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
- if(remap_page_range(vma, vma->vm_start,map_start,
- vma->vm_end - vma->vm_start, vma->vm_page_prot))
-#else
- if(remap_page_range(vma->vm_start, (unsigned long)map_start,
- vma->vm_end - vma->vm_start, vma->vm_page_prot))
-#endif
- {
- printk(KERN_ERR "tdfx_vid: error mapping video memory\n");
- return -EAGAIN;
- }
- printk(KERN_INFO "Physical mem 0x%lx mapped in userspace\n",map_start);
- return 0;
- }
-
- if(agp_mem)
- return -EAGAIN;
-
- agp_mem = drm_agp->allocate_memory(size,AGP_NORMAL_MEMORY);
- if(!agp_mem) {
- printk(KERN_ERR "Failed to allocate AGP memory\n");
- return -ENOMEM;
- }
-
- if(drm_agp->bind_memory(agp_mem,0)) {
- printk(KERN_ERR "Failed to bind the AGP memory\n");
- drm_agp->free_memory(agp_mem);
- agp_mem = NULL;
- return -ENOMEM;
- }
-
- printk(KERN_INFO "%d pages of AGP mem allocated (%ld/%ld bytes) :)))\n",
- size,vma->vm_end-vma->vm_start,size*PAGE_SIZE);
-
-
- if(tdfx_map_io) {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
- if(remap_page_range(vma, vma->vm_start,agp_info.aper_base,
- vma->vm_end - vma->vm_start, vma->vm_page_prot))
-#else
- if(remap_page_range(vma->vm_start, (unsigned long)agp_info.aper_base,
- vma->vm_end - vma->vm_start, vma->vm_page_prot))
-#endif
- {
- printk(KERN_ERR "tdfx_vid: error mapping video memory\n");
- return -EAGAIN;
- }
- } else {
- // Never swap it out
- vma->vm_flags |= VM_LOCKED | VM_IO;
- vma->vm_ops = &tdfx_vid_vm_ops;
- vma->vm_ops->open(vma);
- printk(KERN_INFO "Page fault handler ready !!!!!\n");
- }
-
- return 0;
-}
-
-
-static int tdfx_vid_release(struct inode *inode, struct file *file)
-{
-#ifdef MP_DEBUG
- printk(KERN_DEBUG "tdfx_vid: Video OFF (release)\n");
-#endif
-
- // Release the agp mem
- if(agp_mem) {
- drm_agp->unbind_memory(agp_mem);
- drm_agp->free_memory(agp_mem);
- agp_mem = NULL;
- }
-
- tdfx_vid_in_use = 0;
-
- MOD_DEC_USE_COUNT;
- return 0;
-}
-
-static long long tdfx_vid_lseek(struct file *file, long long offset, int origin)
-{
- return -ESPIPE;
-}
-
-static int tdfx_vid_open(struct inode *inode, struct file *file)
-{
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,2)
- int minor = MINOR(inode->i_rdev.value);
-#else
- int minor = MINOR(inode->i_rdev);
-#endif
-
- if(minor != 0)
- return -ENXIO;
-
- if(tdfx_vid_in_use == 1)
- return -EBUSY;
-
- tdfx_vid_in_use = 1;
- MOD_INC_USE_COUNT;
- return 0;
-}
-
-#if LINUX_VERSION_CODE >= 0x020400
-static struct file_operations tdfx_vid_fops =
-{
- llseek: tdfx_vid_lseek,
- read: tdfx_vid_read,
- write: tdfx_vid_write,
- ioctl: tdfx_vid_ioctl,
- mmap: tdfx_vid_mmap,
- open: tdfx_vid_open,
- release: tdfx_vid_release
-};
-#else
-static struct file_operations tdfx_vid_fops =
-{
- tdfx_vid_lseek,
- tdfx_vid_read,
- tdfx_vid_write,
- NULL,
- NULL,
- tdfx_vid_ioctl,
- tdfx_vid_mmap,
- tdfx_vid_open,
- NULL,
- tdfx_vid_release
-};
-#endif
-
-
-int init_module(void)
-{
- tdfx_vid_in_use = 0;
-
- if(register_chrdev(TDFX_VID_MAJOR, "tdfx_vid", &tdfx_vid_fops)) {
- printk(KERN_ERR "tdfx_vid: unable to get major: %d\n", TDFX_VID_MAJOR);
- return -EIO;
- }
-
- if(!agp_init()) {
- printk(KERN_ERR "tdfx_vid: AGP init failed\n");
- unregister_chrdev(TDFX_VID_MAJOR, "tdfx_vid");
- return -EINVAL;
- }
-
- if (!tdfx_vid_find_card()) {
- printk(KERN_ERR "tdfx_vid: no supported devices found\n");
- agp_close();
- unregister_chrdev(TDFX_VID_MAJOR, "tdfx_vid");
- return -EINVAL;
- }
-
-
-
- return 0;
-
-}
-
-void cleanup_module(void)
-{
- if(tdfx_mmio_base)
- iounmap(tdfx_mmio_base);
- agp_close();
- printk(KERN_INFO "tdfx_vid: Cleaning up module\n");
- unregister_chrdev(TDFX_VID_MAJOR, "tdfx_vid");
-}
diff --git a/drivers/tdfx_vid.h b/drivers/tdfx_vid.h
deleted file mode 100644
index 434e734..0000000
--- a/drivers/tdfx_vid.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2003 Alban Bedel
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_TDFX_VID_H
-#define MPLAYER_TDFX_VID_H
-
-#define TDFX_VID_VERSION 1
-
-#define TDFX_VID_MOVE_2_PACKED 0
-#define TDFX_VID_MOVE_2_YUV 1
-#define TDFX_VID_MOVE_2_3D 2
-#define TDFX_VID_MOVE_2_TEXTURE 3
-
-#define TDFX_VID_SRC_COLORKEY 0x1
-#define TDFX_VID_DST_COLORKEY 0x2
-
-#define TDFX_VID_ROP_COPY 0xcc // src
-#define TDFX_VID_ROP_INVERT 0x55 // NOT dst
-#define TDFX_VID_ROP_XOR 0x66 // src XOR dst
-#define TDFX_VID_ROP_OR 0xee // src OR dst
-
-#define TDFX_VID_FORMAT_BGR1 (('B'<<24)|('G'<<16)|('R'<<8)|1)
-#define TDFX_VID_FORMAT_BGR8 (('B'<<24)|('G'<<16)|('R'<<8)|8)
-#define TDFX_VID_FORMAT_BGR15 (('B'<<24)|('G'<<16)|('R'<<8)|15)
-#define TDFX_VID_FORMAT_BGR16 (('B'<<24)|('G'<<16)|('R'<<8)|16)
-#define TDFX_VID_FORMAT_BGR24 (('B'<<24)|('G'<<16)|('R'<<8)|24)
-#define TDFX_VID_FORMAT_BGR32 (('B'<<24)|('G'<<16)|('R'<<8)|32)
-
-#define TDFX_VID_FORMAT_YUY2 (('2'<<24)|('Y'<<16)|('U'<<8)|'Y')
-#define TDFX_VID_FORMAT_UYVY (('Y'<<24)|('V'<<16)|('Y'<<8)|'U')
-
-#define TDFX_VID_FORMAT_YV12 0x32315659
-#define TDFX_VID_FORMAT_IYUV (('I'<<24)|('Y'<<16)|('U'<<8)|'V')
-#define TDFX_VID_FORMAT_I420 (('I'<<24)|('4'<<16)|('2'<<8)|'0')
-
-#define TDFX_VID_YUV_STRIDE (1024)
-#define TDFX_VID_YUV_PLANE_SIZE (0x0100000)
-
-
-typedef struct tdfx_vid_blit_s {
- uint32_t src;
- uint32_t src_stride;
- uint16_t src_x,src_y;
- uint16_t src_w,src_h;
- uint32_t src_format;
-
- uint32_t dst;
- uint32_t dst_stride;
- uint16_t dst_x,dst_y;
- uint16_t dst_w,dst_h;
- uint32_t dst_format;
-
- uint32_t src_colorkey[2];
- uint32_t dst_colorkey[2];
-
- uint8_t colorkey;
- uint8_t rop[4];
-} tdfx_vid_blit_t;
-
-typedef struct tdfx_vid_config_s {
- uint16_t version;
- uint16_t card_type;
- uint32_t ram_size;
- uint16_t screen_width;
- uint16_t screen_height;
- uint16_t screen_stride;
- uint32_t screen_format;
- uint32_t screen_start;
-} tdfx_vid_config_t;
-
-typedef struct tdfx_vid_agp_move_s {
- uint16_t move2;
- uint16_t width,height;
-
- uint32_t src;
- uint32_t src_stride;
-
- uint32_t dst;
- uint32_t dst_stride;
-} tdfx_vid_agp_move_t;
-
-typedef struct tdfx_vid_yuv_s {
- uint32_t base;
- uint16_t stride;
-} tdfx_vid_yuv_t;
-
-typedef struct tdfx_vid_overlay_s {
- uint32_t src[2]; // left and right buffer (2 buffer may be NULL)
- uint16_t src_width,src_height;
- uint16_t src_stride;
- uint32_t format;
-
- uint16_t dst_width,dst_height;
- int16_t dst_x,dst_y;
-
- uint8_t use_colorkey;
- uint32_t colorkey[2]; // min/max
- uint8_t invert_colorkey;
-} tdfx_vid_overlay_t;
-
-#define TDFX_VID_GET_CONFIG _IOR('J', 1, tdfx_vid_config_t)
-#define TDFX_VID_AGP_MOVE _IOW('J', 2, tdfx_vid_agp_move_t)
-#define TDFX_VID_BLIT _IOW('J', 3, tdfx_vid_blit_t)
-#define TDFX_VID_SET_YUV _IOW('J', 4, tdfx_vid_blit_t)
-#define TDFX_VID_GET_YUV _IOR('J', 5, tdfx_vid_blit_t)
-#define TDFX_VID_BUMP0 _IOW('J', 6, u16)
-#define TDFX_VID_SET_OVERLAY _IOW('J', 7, tdfx_vid_overlay_t)
-#define TDFX_VID_OVERLAY_ON _IO ('J', 8)
-#define TDFX_VID_OVERLAY_OFF _IO ('J', 9)
-
-#endif /* MPLAYER_TDFX_VID_H */
diff --git a/drivers/tdfx_vid_test.c b/drivers/tdfx_vid_test.c
deleted file mode 100644
index 39a14f5..0000000
--- a/drivers/tdfx_vid_test.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2003 Alban Bedel
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sys/ioctl.h>
-#include <inttypes.h>
-
-#include "tdfx_vid.h"
-
-
-static void print_tdfd_vid_cfg(tdfx_vid_config_t* cfg) {
- printf("tdfx_vid version %d\n"
- " Ram: %d\n"
- " Screen: %d x %d\n",
- cfg->version,
- cfg->ram_size,
- cfg->screen_width, cfg->screen_height);
-}
-
-
-int main(void) {
- int fd;
- unsigned char *mem;
- /* int i; */
- /* unsigned char *ptr; */
- tdfx_vid_agp_move_t move;
- tdfx_vid_config_t cfg;
- tdfx_vid_blit_t blit;
-
- fd = open("/dev/tdfx_vid", O_RDWR);
-
- if(fd <= 0) {
- printf("Can't open /dev/tdfx_vid\n");
- return 1;
- }
-
- if(ioctl(fd,TDFX_VID_GET_CONFIG,&cfg)) {
- printf("Ioctl GET_CONFIG error\n");
- close(fd);
- return 1;
- }
-
- print_tdfd_vid_cfg(&cfg);
-
- mem = mmap( NULL, 640*480*2, PROT_READ | PROT_WRITE, MAP_SHARED,
- fd, 0);
-
- if(mem == MAP_FAILED) {
- printf("Memmap failed !!!!!\n");
- return 1;
- }
-
-/* for(ptr = mem, i = 0 ; i < 640*480 ; i++) { */
-/* ptr[0] = i & 0xFF; */
-/* ptr[1] = (i & 0xFF); */
-/* ptr += 2; */
-/* } */
-
- memset(mem,0xFF,640*480*2);
-
- memset(&move, 0, sizeof(tdfx_vid_agp_move_t));
- move.width = 640;
- move.height = 240;
- move.src_stride = 640;
- move.dst_stride = 640*2;
-
- if(ioctl(fd,TDFX_VID_AGP_MOVE,&move)) {
- printf("AGP Move failed !!!!\n");
- return 0;
- }
-
- printf("AGP Move ????\n");
- sleep(1);
-
- blit.src = 0;
- blit.src_stride = 640*2;
- blit.src_x = blit.src_y = 0;
- blit.src_w = 320;
- blit.src_h = 240;
- blit.src_format = cfg.screen_format;
-
- blit.dst = 240*640*2+320;
- blit.dst_stride = 640*2;
- blit.dst_x = blit.dst_y = 0;
- blit.dst_w = 320;
- blit.dst_h = 240;
- blit.dst_format = cfg.screen_format;
-
- if(ioctl(fd,TDFX_VID_BLIT,&blit)) {
- printf("Blit failed !!!!\n");
- return 0;
- }
-
- close(fd);
- return 1;
-}
diff --git a/etc/codecs.conf b/etc/codecs.conf
index edec66e..8f0220f 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -3,12 +3,18 @@
; Before editing this file, please read DOCS/tech/codecs.conf.txt !
;=============================================================================
-release 20110311
+release 20120717
;=============================================================================
; VIDEO CODECS
;=============================================================================
+videocodec lavc
+ info "Generic libavcodec decoder"
+ status buggy
+ driver ffmpeg
+ anyinput
+
videocodec ffanm
info "FFmpeg Deluxe Paint Animation"
status working
@@ -777,7 +783,7 @@ videocodec ffindeo2
videocodec ffflv
info "FFmpeg Flash video"
status working
- fourcc FLV1,flv
+ fourcc FLV1
driver ffmpeg
dll flv
@@ -3485,6 +3491,7 @@ videocodec null
status crashing
comment "for unknown/unsupported codecs or testing"
driver null
+ anyinput
out YV12
out I420
out YUY2
@@ -3496,6 +3503,12 @@ videocodec null
; AUDIO CODECS
;=============================================================================
+audiocodec lavc
+ info "Generic libavcodec decoder"
+ status buggy
+ driver ffmpeg
+ anyinput
+
audiocodec wma9dmo
info "Windows Media Audio 9 DMO"
status working
diff --git a/etc/example.conf b/etc/example.conf
index 3544ee9..9e243d0 100644
--- a/etc/example.conf
+++ b/etc/example.conf
@@ -22,29 +22,8 @@
# Specify default video driver (see -vo help for a list).
#vo=xv
-# Use SDL video with the aalib subdriver by default.
-#vo = sdl:aalib
-
-# FBdev driver:
-#
-# mode to use (read from fb.modes)
-#fbmode = 640x480-120
-#
-# location of the fb.modes file
-#fbmodeconfig = /etc/fb.modes
-
-# Specify your monitor timings for the vesa and fbdev video output drivers.
-# See /etc/X11/XF86Config for timings. Be careful; if you specify settings
-# that exceed the capabilities of your monitor, you may damage it.
-#
-# horizontal frequency range (k stands for 1000)
-#monitor-hfreq = 31.5k-50k,70k
-#
-# vertical frequency range
-#monitor-vfreq = 50-90
-#
-# dotclock (or pixelclock) range (m stands for 1000000)
-#monitor-dotclock = 30M-300M
+# Use OpenGL video by default
+#vo=gl
# Start in fullscreen mode by default.
#fs=yes
@@ -74,10 +53,7 @@
##################
# Specify default audio driver (see -ao help for a list).
-#ao=oss
-
-# Use SDL audio driver with the esd subdriver by default.
-#ao = sdl:esd
+#ao=alsa
# Specify the mixer device.
#mixer = /dev/mixer
@@ -113,10 +89,6 @@
# Drop frames to preserve audio/video sync.
#framedrop = yes
-# Specify your preferred skin here (skins are searched for in
-# /usr/local/share/mplayer/skins/<name> and ~/.mplayer/skins/<name>).
-#skin = Abyss
-
# Resample the font alphamap.
# 0 plain white fonts
# 0.75 very narrow black outline (default)
@@ -154,9 +126,10 @@
#mouse-movements=yes
#nocache=yes
+
#[vo.vdpau]
#vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,
-# Most video filters do not work with vdpau.
+# Most video filters do not work with vdpau hardware decoding.
#vf-clr=yes
diff --git a/fmt-conversion.c b/fmt-conversion.c
index 6ab6a4b..5b6ac4b 100644
--- a/fmt-conversion.c
+++ b/fmt-conversion.c
@@ -55,6 +55,9 @@ static const struct {
{IMGFMT_RGB8, PIX_FMT_BGR8},
{IMGFMT_RGB4, PIX_FMT_BGR4},
{IMGFMT_BGR8, PIX_FMT_PAL8},
+ {IMGFMT_GBRP, PIX_FMT_GBRP},
+ {IMGFMT_GBRP9, PIX_FMT_GBRP9},
+ {IMGFMT_GBRP10, PIX_FMT_GBRP10},
{IMGFMT_YUY2, PIX_FMT_YUYV422},
{IMGFMT_UYVY, PIX_FMT_UYVY422},
{IMGFMT_NV12, PIX_FMT_NV12},
@@ -87,6 +90,8 @@ static const struct {
{IMGFMT_444P10_LE, PIX_FMT_YUV444P10LE},
{IMGFMT_422P16_LE, PIX_FMT_YUV422P16LE},
{IMGFMT_422P16_BE, PIX_FMT_YUV422P16BE},
+ {IMGFMT_422P9_LE, PIX_FMT_YUV422P9LE},
+ {IMGFMT_422P9_BE, PIX_FMT_YUV422P9BE},
{IMGFMT_444P16_LE, PIX_FMT_YUV444P16LE},
{IMGFMT_444P16_BE, PIX_FMT_YUV444P16BE},
@@ -98,8 +103,6 @@ static const struct {
{IMGFMT_444P, PIX_FMT_YUVJ444P},
{IMGFMT_440P, PIX_FMT_YUVJ440P},
- {IMGFMT_XVMC_MOCO_MPEG2, PIX_FMT_XVMC_MPEG2_MC},
- {IMGFMT_XVMC_IDCT_MPEG2, PIX_FMT_XVMC_MPEG2_IDCT},
{IMGFMT_VDPAU_MPEG1, PIX_FMT_VDPAU_MPEG1},
{IMGFMT_VDPAU_MPEG2, PIX_FMT_VDPAU_MPEG2},
{IMGFMT_VDPAU_H264, PIX_FMT_VDPAU_H264},
diff --git a/fmt-conversion.h b/fmt-conversion.h
index 9e133a8..f7114b0 100644
--- a/fmt-conversion.h
+++ b/fmt-conversion.h
@@ -19,8 +19,7 @@
#ifndef MPLAYER_FMT_CONVERSION_H
#define MPLAYER_FMT_CONVERSION_H
-#include "config.h"
-#include "libavutil/avutil.h"
+#include <libavutil/pixfmt.h>
enum PixelFormat imgfmt2pixfmt(int fmt);
int pixfmt2imgfmt(enum PixelFormat pix_fmt);
diff --git a/input/input.c b/input/input.c
index a6da6f3..01bed4f 100644
--- a/input/input.c
+++ b/input/input.c
@@ -46,6 +46,7 @@
#include "talloc.h"
#include "options.h"
#include "bstr.h"
+#include "stream/stream.h"
#include "joystick.h"
@@ -63,6 +64,13 @@
#include "osdep/cocoa_events.h"
#endif
+static const char embedded_file[] =
+#include "input.conf.h"
+ ;
+static const struct bstr builtin_input_conf = {
+ .start = (char *)embedded_file, .len = sizeof(embedded_file) - 1
+};
+
#define MP_MAX_KEY_DOWN 32
struct cmd_bind {
@@ -120,7 +128,6 @@ static const mp_cmd_t mp_cmds[] = {
{ MP_CMD_OSD_SHOW_PROGRESSION, "osd_show_progression", },
{ MP_CMD_VOLUME, "volume", { ARG_FLOAT, OARG_INT(0) } },
{ MP_CMD_BALANCE, "balance", { ARG_FLOAT, OARG_INT(0) } },
- { MP_CMD_MIXER_USEMASTER, "use_master", },
{ MP_CMD_MUTE, "mute", { OARG_INT(-1) } },
{ MP_CMD_CONTRAST, "contrast", { ARG_INT, OARG_INT(0) } },
{ MP_CMD_GAMMA, "gamma", { ARG_INT, OARG_INT(0) } },
@@ -209,8 +216,8 @@ static const mp_cmd_t mp_cmds[] = {
{ MP_CMD_SET_PROPERTY, "set_property", { ARG_STRING, ARG_STRING } },
{ MP_CMD_SET_PROPERTY_OSD, "set_property_osd", { ARG_STRING, ARG_STRING } },
{ MP_CMD_GET_PROPERTY, "get_property", { ARG_STRING } },
- { MP_CMD_STEP_PROPERTY, "step_property", { ARG_STRING, OARG_FLOAT(0), OARG_INT(0) } },
- { MP_CMD_STEP_PROPERTY_OSD, "step_property_osd", { ARG_STRING, OARG_FLOAT(0), OARG_INT(0) } },
+ { MP_CMD_STEP_PROPERTY, "step_property", { ARG_STRING, OARG_FLOAT(0) } },
+ { MP_CMD_STEP_PROPERTY_OSD, "step_property_osd", { ARG_STRING, OARG_FLOAT(0) } },
{ MP_CMD_SEEK_CHAPTER, "seek_chapter", { ARG_INT, OARG_INT(0) } },
{ MP_CMD_SET_MOUSE_POS, "set_mouse_pos", { ARG_INT, ARG_INT } },
@@ -393,162 +400,6 @@ struct key_name modifier_names[] = {
#define KEY_MODIFIER_MASK (KEY_MODIFIER_SHIFT | KEY_MODIFIER_CTRL | KEY_MODIFIER_ALT | KEY_MODIFIER_META)
-// This is the default binding. The content of input.conf overrides these.
-// The first arg is a null terminated array of key codes.
-// The second is the command
-
-static const struct cmd_bind def_cmd_binds[] = {
-
- { { MOUSE_BTN0_DBL, 0 }, "vo_fullscreen" },
- { { MOUSE_BTN2, 0 }, "pause" },
- { { MOUSE_BTN3, 0 }, "seek 10" },
- { { MOUSE_BTN4, 0 }, "seek -10" },
- { { MOUSE_BTN5, 0 }, "volume 1" },
- { { MOUSE_BTN6, 0 }, "volume -1" },
-
-#ifdef CONFIG_DVDNAV
- { { KEY_KP8, 0 }, "dvdnav up" }, // up
- { { KEY_KP2, 0 }, "dvdnav down" }, // down
- { { KEY_KP4, 0 }, "dvdnav left" }, // left
- { { KEY_KP6, 0 }, "dvdnav right" }, // right
- { { KEY_KP5, 0 }, "dvdnav menu" }, // menu
- { { KEY_KPENTER, 0 }, "dvdnav select" }, // select
- { { MOUSE_BTN0, 0 }, "dvdnav mouse" }, //select
- { { KEY_KP7, 0 }, "dvdnav prev" }, // previous menu
-#endif
-
- { { KEY_RIGHT, 0 }, "seek 10" },
- { { KEY_LEFT, 0 }, "seek -10" },
- { { KEY_MODIFIER_SHIFT + KEY_RIGHT, 0 }, "seek 1 0 1" },
- { { KEY_MODIFIER_SHIFT + KEY_LEFT, 0 }, "seek -1 0 1" },
- { { KEY_UP, 0 }, "seek 60" },
- { { KEY_DOWN, 0 }, "seek -60" },
- { { KEY_MODIFIER_SHIFT + KEY_UP, 0 }, "seek 5 0 1" },
- { { KEY_MODIFIER_SHIFT + KEY_DOWN, 0 }, "seek -5 0 1" },
- { { KEY_PAGE_UP, 0 }, "seek 600" },
- { { KEY_PAGE_DOWN, 0 }, "seek -600" },
- { { '+', 0 }, "audio_delay 0.100" },
- { { '-', 0 }, "audio_delay -0.100" },
- { { '[', 0 }, "speed_mult 0.9091" },
- { { ']', 0 }, "speed_mult 1.1" },
- { { '{', 0 }, "speed_mult 0.5" },
- { { '}', 0 }, "speed_mult 2.0" },
- { { KEY_BACKSPACE, 0 }, "speed_set 1.0" },
- { { 'q', 0 }, "quit" },
- { { KEY_ESC, 0 }, "quit" },
- { { 'p', 0 }, "pause" },
- { { ' ', 0 }, "pause" },
- { { '.', 0 }, "frame_step" },
- { { KEY_HOME, 0 }, "pt_up_step 1" },
- { { KEY_END, 0 }, "pt_up_step -1" },
- { { '>', 0 }, "pt_step 1" },
- { { KEY_ENTER, 0 }, "pt_step 1 1" },
- { { '<', 0 }, "pt_step -1" },
- { { KEY_INS, 0 }, "alt_src_step 1" },
- { { KEY_DEL, 0 }, "alt_src_step -1" },
- { { 'o', 0 }, "osd" },
- { { 'I', 0 }, "osd_show_property_text \"${filename}\"" },
- { { 'P', 0 }, "osd_show_progression" },
- { { 'z', 0 }, "sub_delay -0.1" },
- { { 'x', 0 }, "sub_delay +0.1" },
- { { 'g', 0 }, "sub_step -1" },
- { { 'y', 0 }, "sub_step +1" },
- { { '9', 0 }, "volume -1" },
- { { '/', 0 }, "volume -1" },
- { { '0', 0 }, "volume 1" },
- { { '*', 0 }, "volume 1" },
- { { '(', 0 }, "balance -0.1" },
- { { ')', 0 }, "balance 0.1" },
- { { 'm', 0 }, "mute" },
- { { '1', 0 }, "contrast -1" },
- { { '2', 0 }, "contrast 1" },
- { { '3', 0 }, "brightness -1" },
- { { '4', 0 }, "brightness 1" },
- { { '5', 0 }, "hue -1" },
- { { '6', 0 }, "hue 1" },
- { { '7', 0 }, "saturation -1" },
- { { '8', 0 }, "saturation 1" },
- { { 'd', 0 }, "frame_drop" },
- { { 'D', 0 }, "step_property_osd deinterlace" },
- { { 'c', 0 }, "step_property_osd colormatrix" },
- { { 'r', 0 }, "sub_pos -1" },
- { { 't', 0 }, "sub_pos +1" },
- { { 'a', 0 }, "sub_alignment" },
- { { 'v', 0 }, "sub_visibility" },
- { { 'V', 0 }, "step_property_osd ass_vsfilter_aspect_compat" },
- { { 'j', 0 }, "sub_select" },
- { { 'J', 0 }, "sub_select -3" },
- { { 'F', 0 }, "forced_subs_only" },
- { { '#', 0 }, "switch_audio" },
- { { '_', 0 }, "step_property switch_video" },
- { { KEY_TAB, 0 }, "step_property switch_program" },
- { { 'i', 0 }, "edl_mark" },
-#ifdef CONFIG_TV
- { { 'h', 0 }, "tv_step_channel 1" },
- { { 'k', 0 }, "tv_step_channel -1" },
- { { 'n', 0 }, "tv_step_norm" },
- { { 'u', 0 }, "tv_step_chanlist" },
-#endif
- { { 'X', 0 }, "step_property teletext_mode 1" },
- { { 'W', 0 }, "step_property teletext_page 1" },
- { { 'Q', 0 }, "step_property teletext_page -1" },
-#ifdef CONFIG_JOYSTICK
- { { JOY_AXIS0_PLUS, 0 }, "seek 10" },
- { { JOY_AXIS0_MINUS, 0 }, "seek -10" },
- { { JOY_AXIS1_MINUS, 0 }, "seek 60" },
- { { JOY_AXIS1_PLUS, 0 }, "seek -60" },
- { { JOY_BTN0, 0 }, "pause" },
- { { JOY_BTN1, 0 }, "osd" },
- { { JOY_BTN2, 0 }, "volume 1"},
- { { JOY_BTN3, 0 }, "volume -1"},
-#endif
-#ifdef CONFIG_APPLE_REMOTE
- { { AR_PLAY, 0}, "pause" },
- { { AR_PLAY_HOLD, 0}, "quit" },
- { { AR_NEXT, 0 }, "seek 30" },
- { { AR_NEXT_HOLD, 0 }, "seek 120" },
- { { AR_PREV, 0 }, "seek -10" },
- { { AR_PREV_HOLD, 0 }, "seek -120" },
- { { AR_MENU, 0 }, "osd" },
- { { AR_MENU_HOLD, 0 }, "mute" },
- { { AR_VUP, 0 }, "volume 1"},
- { { AR_VDOWN, 0 }, "volume -1"},
-#endif
- { { 'T', 0 }, "vo_ontop" },
- { { 'f', 0 }, "vo_fullscreen" },
- { { 'C', 0 }, "step_property_osd capturing" },
- { { 's', 0 }, "screenshot 0" },
- { { 'S', 0 }, "screenshot 1" },
- { { KEY_MODIFIER_ALT + 's', 0 }, "screenshot 0 1" },
- { { KEY_MODIFIER_ALT + 'S', 0 }, "screenshot 1 1" },
- { { 'w', 0 }, "panscan -0.1" },
- { { 'e', 0 }, "panscan +0.1" },
-
- { { KEY_POWER, 0 }, "quit" },
- { { KEY_MENU, 0 }, "osd" },
- { { KEY_PLAY, 0 }, "pause" },
- { { KEY_PAUSE, 0 }, "pause" },
- { { KEY_PLAYPAUSE, 0 }, "pause" },
- { { KEY_STOP, 0 }, "quit" },
- { { KEY_FORWARD, 0 }, "seek 60" },
- { { KEY_REWIND, 0 }, "seek -60" },
- { { KEY_NEXT, 0 }, "pt_step 1" },
- { { KEY_PREV, 0 }, "pt_step -1" },
- { { KEY_VOLUME_UP, 0 }, "volume 1" },
- { { KEY_VOLUME_DOWN, 0 }, "volume -1" },
- { { KEY_MUTE, 0 }, "mute" },
-
- { { KEY_CLOSE_WIN, 0 }, "quit" },
-
- { { '!', 0 }, "seek_chapter -1" },
- { { '@', 0 }, "seek_chapter 1" },
- { { 'A', 0 }, "switch_angle 1" },
- { { 'U', 0 }, "stop" },
-
- { { 0 }, NULL }
-};
-
-
#ifndef MP_MAX_KEY_FD
#define MP_MAX_KEY_FD 10
#endif
@@ -577,7 +428,7 @@ struct input_fd {
struct cmd_bind_section {
struct cmd_bind *cmd_binds;
- char *section;
+ struct bstr section;
struct cmd_bind_section *next;
};
@@ -605,14 +456,10 @@ struct input_ctx {
unsigned int num_key_down;
unsigned int last_key_down;
- bool default_bindings;
// List of command binding sections
struct cmd_bind_section *cmd_bind_sections;
// Name of currently used command section
- char *section;
- // The command binds of current section
- struct cmd_bind *cmd_binds;
- struct cmd_bind *cmd_binds_default;
+ struct bstr section;
// Used to track whether we managed to read something while checking
// events sources. If yes, the sources may have more queued.
@@ -638,7 +485,7 @@ static int print_cmd_list(m_option_t *cfg, char *optname, char *optparam);
// Our command line options
static const m_option_t input_conf[] = {
- OPT_STRING("conf", input.config_file, CONF_GLOBAL),
+ OPT_STRING("conf", input.config_file, CONF_GLOBAL, OPTDEF_STR("input.conf")),
OPT_INT("ar-delay", input.ar_delay, CONF_GLOBAL),
OPT_INT("ar-rate", input.ar_rate, CONF_GLOBAL),
{ "keylist", print_key_list, CONF_TYPE_PRINT_FUNC, CONF_NOCFG },
@@ -841,30 +688,6 @@ int mp_input_add_key_fd(struct input_ctx *ictx, int fd, int select,
return 1;
}
-int mp_input_parse_and_queue_cmds(struct input_ctx *ictx, const char *str)
-{
- int cmd_num = 0;
-
- while (*str == '\n' || *str == '\r' || *str == ' ')
- ++str;
- while (*str) {
- mp_cmd_t *cmd;
- size_t len = strcspn(str, "\r\n");
- char *cmdbuf = talloc_size(NULL, len + 1);
- av_strlcpy(cmdbuf, str, len + 1);
- cmd = mp_input_parse_cmd(cmdbuf);
- if (cmd) {
- mp_input_queue_cmd(ictx, cmd);
- ++cmd_num;
- }
- str += len;
- while (*str == '\n' || *str == '\r' || *str == ' ')
- ++str;
- talloc_free(cmdbuf);
- }
- return cmd_num;
-}
-
mp_cmd_t *mp_input_parse_cmd(char *str)
{
int i, l;
@@ -1118,35 +941,13 @@ static int read_wakeup(void *ctx, int fd)
}
-static char *find_bind_for_key(const struct cmd_bind *binds, int n, int *keys)
-{
- int j;
-
- if (n <= 0)
- return NULL;
- for (j = 0; binds[j].cmd != NULL; j++) {
- int found = 1, s;
- for (s = 0; s < n && binds[j].input[s] != 0; s++) {
- if (binds[j].input[s] != keys[s]) {
- found = 0;
- break;
- }
- }
- if (found && binds[j].input[s] == 0 && s == n)
- break;
- }
- return binds[j].cmd;
-}
-
static struct cmd_bind_section *get_bind_section(struct input_ctx *ictx,
- char *section)
+ struct bstr section)
{
struct cmd_bind_section *bind_section = ictx->cmd_bind_sections;
- if (section == NULL)
- section = "default";
while (bind_section) {
- if (strcmp(section, bind_section->section) == 0)
+ if (bstrcmp(section, bind_section->section) == 0)
return bind_section;
if (bind_section->next == NULL)
break;
@@ -1160,23 +961,40 @@ static struct cmd_bind_section *get_bind_section(struct input_ctx *ictx,
bind_section = ictx->cmd_bind_sections;
}
bind_section->cmd_binds = NULL;
- bind_section->section = talloc_strdup(bind_section, section);
+ bind_section->section = bstrdup(bind_section, section);
bind_section->next = NULL;
return bind_section;
}
-static mp_cmd_t *get_cmd_from_keys(struct input_ctx *ictx, int n, int *keys)
+static char *find_bind_for_key(struct input_ctx *ictx, struct bstr section,
+ int n, int *keys)
{
- char *cmd = NULL;
- mp_cmd_t *ret;
-
- if (ictx->cmd_binds)
- cmd = find_bind_for_key(ictx->cmd_binds, n, keys);
- if (ictx->cmd_binds_default && cmd == NULL)
- cmd = find_bind_for_key(ictx->cmd_binds_default, n, keys);
- if (ictx->default_bindings && cmd == NULL)
- cmd = find_bind_for_key(def_cmd_binds, n, keys);
+ if (n <= 0)
+ return NULL;
+ struct cmd_bind_section *s = get_bind_section(ictx, section);
+ struct cmd_bind *binds = s->cmd_binds;
+ if (!binds)
+ return NULL;
+ int j;
+ for (j = 0; binds[j].cmd != NULL; j++) {
+ int found = 1, s;
+ for (s = 0; s < n && binds[j].input[s] != 0; s++) {
+ if (binds[j].input[s] != keys[s]) {
+ found = 0;
+ break;
+ }
+ }
+ if (found && binds[j].input[s] == 0 && s == n)
+ break;
+ }
+ return binds[j].cmd;
+}
+static mp_cmd_t *get_cmd_from_keys(struct input_ctx *ictx, int n, int *keys)
+{
+ char *cmd = find_bind_for_key(ictx, ictx->section, n, keys);
+ if (cmd == NULL)
+ cmd = find_bind_for_key(ictx, bstr("default"), n, keys);
if (cmd == NULL) {
char *key_buf = get_key_combo_name(keys, n);
mp_tmsg(MSGT_INPUT, MSGL_WARN,
@@ -1186,7 +1004,7 @@ static mp_cmd_t *get_cmd_from_keys(struct input_ctx *ictx, int n, int *keys)
}
if (strcmp(cmd, "ignore") == 0)
return NULL;
- ret = mp_input_parse_cmd(cmd);
+ struct mp_cmd *ret = mp_input_parse_cmd(cmd);
if (!ret) {
char *key_buf = get_key_combo_name(keys, n);
mp_tmsg(MSGT_INPUT, MSGL_ERR,
@@ -1212,7 +1030,7 @@ static mp_cmd_t *interpret_key(struct input_ctx *ictx, int code)
code &= ~KEY_MODIFIER_SHIFT;
if (code & MP_KEY_DOWN) {
- if (ictx->num_key_down > MP_MAX_KEY_DOWN) {
+ if (ictx->num_key_down >= MP_MAX_KEY_DOWN) {
mp_tmsg(MSGT_INPUT, MSGL_ERR, "Too many key down events "
"at the same time\n");
return NULL;
@@ -1317,8 +1135,10 @@ void mp_input_feed_key(struct input_ctx *ictx, int code)
return;
struct cmd_queue *queue = &ictx->key_cmd_queue;
if (queue->num_cmds >= ictx->key_fifo_size &&
- (!is_abort_cmd(cmd->id) || queue->num_abort_cmds))
+ (!is_abort_cmd(cmd->id) || queue->num_abort_cmds)) {
+ talloc_free(cmd);
return;
+ }
queue_add(queue, cmd, false);
}
@@ -1580,22 +1400,18 @@ static int get_input_from_name(char *name, int *keys)
return 1;
}
-#define SPACE_CHAR " \n\r\t"
-
static void bind_keys(struct input_ctx *ictx,
- const int keys[MP_MAX_KEY_DOWN + 1], char *cmd)
+ const int keys[MP_MAX_KEY_DOWN + 1], struct bstr cmd)
{
int i = 0, j;
struct cmd_bind *bind = NULL;
struct cmd_bind_section *bind_section = NULL;
- char *section = NULL, *p;
+ struct bstr section = bstr("default");
+ int idx;
- if (*cmd == '{' && (p = strchr(cmd, '}'))) {
- *p = 0;
- section = ++cmd;
- cmd = ++p;
- // Jump beginning space
- cmd += strspn(cmd, SPACE_CHAR);
+ if (bstr_startswith0(cmd, "{") && (idx = bstrchr(cmd, '}')) > 0) {
+ section = bstr_strip(bstr_splice(cmd, 1, idx));
+ cmd = bstr_strip(bstr_cut(cmd, idx + 1));
}
bind_section = get_bind_section(ictx, section);
@@ -1618,87 +1434,21 @@ static void bind_keys(struct input_ctx *ictx,
bind = &bind_section->cmd_binds[i];
}
talloc_free(bind->cmd);
- bind->cmd = talloc_strdup(bind_section->cmd_binds, cmd);
+ bind->cmd = bstrdup0(bind_section->cmd_binds, cmd);
memcpy(bind->input, keys, (MP_MAX_KEY_DOWN + 1) * sizeof(int));
}
-static int parse_config(struct input_ctx *ictx, char *file)
+static int parse_config(struct input_ctx *ictx, struct bstr data)
{
- int fd = open(file, O_RDONLY);
-
- if (fd < 0) {
- mp_msg(MSGT_INPUT, MSGL_V, "Can't open input config file %s: %s\n",
- file, strerror(errno));
- return 0;
- }
-
- mp_msg(MSGT_INPUT, MSGL_V, "Parsing input config file %s\n", file);
-
-
- unsigned char buffer[512];
- struct bstr buf = { buffer, 0 };
- bool eof = false, comments = false;
int n_binds = 0, keys[MP_MAX_KEY_DOWN + 1];
- while (1) {
- if (buf.start != buffer) {
- memmove(buffer, buf.start, buf.len);
- buf.start = buffer;
- }
- if (!eof && buf.len < sizeof(buffer)) {
- int r = read(fd, buffer + buf.len, sizeof(buffer) - buf.len);
- if (r < 0) {
- if (errno == EINTR)
- continue;
- mp_tmsg(MSGT_INPUT, MSGL_ERR, "Error while reading "
- "input config file %s: %s\n", file, strerror(errno));
- close(fd);
- return 0;
- } else if (r == 0) {
- eof = true;
- } else {
- buf.len += r;
- continue;
- }
- }
- if (buf.len == 0) {
- mp_msg(MSGT_INPUT, MSGL_V, "Input config file %s parsed: "
- "%d binds\n", file, n_binds);
- close(fd);
- return 1;
- }
- if (comments) {
- int idx = bstrchr(buf, '\n');
- if (idx >= 0) {
- buf = bstr_cut(buf, idx + 1);
- comments = false;
- } else
- buf = bstr_cut(buf, buf.len);
- continue;
- }
- buf = bstr_lstrip(buf);
- if (buf.start != buffer)
- continue;
- if (buf.start[0] == '#') {
- comments = true;
+ while (data.len) {
+ struct bstr line = bstr_strip(bstr_getline(data, &data));
+ if (line.len == 0 || bstr_startswith0(line, "#"))
continue;
- }
- int eol = bstrchr(buf, '\n');
- if (eol < 0) {
- if (eof) {
- eol = buf.len;
- } else {
- mp_tmsg(MSGT_INPUT, MSGL_ERR,
- "Key binding is too long: %.*s\n", BSTR_P(buf));
- comments = true;
- continue;
- }
- }
- struct bstr line = bstr_splice(buf, 0, eol);
- buf = bstr_cut(buf, eol);
struct bstr command;
// Find the key name starting a line
- struct bstr keyname = bstr_split(line, SPACE_CHAR, &command);
+ struct bstr keyname = bstr_split(line, WHITESPACE, &command);
command = bstr_strip(command);
if (command.len == 0) {
mp_tmsg(MSGT_INPUT, MSGL_ERR,
@@ -1713,35 +1463,39 @@ static int parse_config(struct input_ctx *ictx, char *file)
continue;
}
talloc_free(name);
- char *cmd = bstrdup0(NULL, command);
- bind_keys(ictx, keys, cmd);
+ bind_keys(ictx, keys, command);
n_binds++;
- talloc_free(cmd);
}
+
+ return n_binds;
}
-void mp_input_set_section(struct input_ctx *ictx, char *name)
+static int parse_config_file(struct input_ctx *ictx, char *file)
{
- struct cmd_bind_section *bind_section = NULL;
-
- ictx->cmd_binds = NULL;
- ictx->cmd_binds_default = NULL;
- talloc_free(ictx->section);
- if (name)
- ictx->section = talloc_strdup(ictx, name);
- else
- ictx->section = talloc_strdup(ictx, "default");
- if ((bind_section = get_bind_section(ictx, ictx->section)))
- ictx->cmd_binds = bind_section->cmd_binds;
- if (strcmp(ictx->section, "default") == 0)
- return;
- if ((bind_section = get_bind_section(ictx, NULL)))
- ictx->cmd_binds_default = bind_section->cmd_binds;
+ stream_t *s = open_stream(file, NULL, NULL);
+ if (!s) {
+ mp_msg(MSGT_INPUT, MSGL_V, "Can't open input config file %s.\n", file);
+ return 0;
+ }
+ struct bstr res = stream_read_complete(s, NULL, 1000000, 0);
+ free_stream(s);
+ if (!res.start) {
+ mp_msg(MSGT_INPUT, MSGL_ERR, "Could not read input config file %s.\n",
+ file);
+ return 0;
+ }
+ mp_msg(MSGT_INPUT, MSGL_V, "Parsing input config file %s\n", file);
+ int n_binds = parse_config(ictx, res);
+ talloc_free(res.start);
+ mp_msg(MSGT_INPUT, MSGL_V, "Input config file %s parsed: %d binds\n",
+ file, n_binds);
+ return 1;
}
-char *mp_input_get_section(struct input_ctx *ictx)
+void mp_input_set_section(struct input_ctx *ictx, char *name)
{
- return ictx->section;
+ talloc_free(ictx->section.start);
+ ictx->section = bstrdup(ictx, name ? bstr(name) : bstr("default"));
}
struct input_ctx *mp_input_init(struct input_conf *input_conf)
@@ -1752,7 +1506,7 @@ struct input_ctx *mp_input_init(struct input_conf *input_conf)
.ar_state = -1,
.ar_delay = input_conf->ar_delay,
.ar_rate = input_conf->ar_rate,
- .default_bindings = input_conf->default_bindings,
+ .section = bstrdup(ictx, bstr("default")),
.wakeup_pipe = {-1, -1},
};
@@ -1776,20 +1530,21 @@ struct input_ctx *mp_input_init(struct input_conf *input_conf)
NULL, NULL);
#endif
+ if (input_conf->default_bindings)
+ parse_config(ictx, builtin_input_conf);
+
char *file;
char *config_file = input_conf->config_file;
file = config_file[0] != '/' ? get_path(config_file) : config_file;
- if (!file)
- return ictx;
- if (!parse_config(ictx, file)) {
+ if (file && !parse_config_file(ictx, file)) {
// free file if it was allocated by get_path(),
// before it gets overwritten
if (file != config_file)
free(file);
// Try global conf dir
file = MPLAYER_CONFDIR "/input.conf";
- if (!parse_config(ictx, file))
+ if (!parse_config_file(ictx, file))
mp_msg(MSGT_INPUT, MSGL_V, "Falling back on default (hardcoded) "
"input config\n");
} else {
diff --git a/input/input.h b/input/input.h
index c5f6940..fdfdc77 100644
--- a/input/input.h
+++ b/input/input.h
@@ -27,14 +27,12 @@ enum mp_command_type {
MP_CMD_AUDIO_DELAY,
MP_CMD_QUIT,
MP_CMD_PAUSE,
- MP_CMD_GRAB_FRAMES, // deprecated: was a no-op command for years
MP_CMD_PLAY_TREE_STEP,
MP_CMD_PLAY_TREE_UP_STEP,
MP_CMD_PLAY_ALT_SRC_STEP,
MP_CMD_SUB_DELAY,
MP_CMD_OSD,
MP_CMD_VOLUME,
- MP_CMD_MIXER_USEMASTER,
MP_CMD_CONTRAST,
MP_CMD_BRIGHTNESS,
MP_CMD_HUE,
@@ -55,7 +53,6 @@ enum mp_command_type {
MP_CMD_VF_CHANGE_RECTANGLE,
MP_CMD_GAMMA,
MP_CMD_SUB_VISIBILITY,
- MP_CMD_VOBSUB_LANG, // deprecated: combined with SUB_SELECT
MP_CMD_GET_TIME_LENGTH,
MP_CMD_GET_PERCENT_POS,
MP_CMD_SUB_STEP,
@@ -244,12 +241,6 @@ struct mp_cmd *mp_input_get_cmd(struct input_ctx *ictx, int time,
/* Parse text and return corresponding struct mp_cmd. */
struct mp_cmd *mp_input_parse_cmd(char *str);
-/**
- * Parse and queue commands separated by '\n'.
- * Return number of commands queued.
- */
-int mp_input_parse_and_queue_cmds(struct input_ctx *ictx, const char *str);
-
// After getting a command from mp_input_get_cmd you need to free it using this
// function
void mp_cmd_free(struct mp_cmd *cmd);
@@ -260,9 +251,6 @@ struct mp_cmd *mp_cmd_clone(struct mp_cmd *cmd);
// Set current input section
void mp_input_set_section(struct input_ctx *ictx, char *name);
-// Get current input section
-char *mp_input_get_section(struct input_ctx *ictx);
-
// Initialize the input system
struct input_conf;
struct input_ctx *mp_input_init(struct input_conf *input_conf);
diff --git a/input/lirc.c b/input/lirc.c
index 490abe2..23454d6 100644
--- a/input/lirc.c
+++ b/input/lirc.c
@@ -41,8 +41,8 @@ mp_input_lirc_init(void) {
int mode;
mp_tmsg(MSGT_LIRC,MSGL_V,"Setting up LIRC support...\n");
- if((lirc_sock=lirc_init("mplayer",1))==-1){
- mp_tmsg(MSGT_LIRC,MSGL_ERR,"Failed to open LIRC support. You will not be able to use your remote control.\n");
+ if((lirc_sock=lirc_init("mplayer",0))==-1){
+ mp_tmsg(MSGT_LIRC,MSGL_V,"Failed to open LIRC support. You will not be able to use your remote control.\n");
return -1;
}
diff --git a/libaf/af_lavcac3enc.c b/libaf/af_lavcac3enc.c
index 8cc9884..2aa69e6 100644
--- a/libaf/af_lavcac3enc.c
+++ b/libaf/af_lavcac3enc.c
@@ -27,12 +27,20 @@
#include <assert.h>
#include <libavcodec/avcodec.h>
+#include <libavutil/audioconvert.h>
+#include <libavutil/error.h>
#include <libavutil/intreadwrite.h>
+#include <libavutil/mem.h>
+#include <libavutil/opt.h>
+#include <libavutil/samplefmt.h>
#include "config.h"
#include "af.h"
#include "reorder_ch.h"
+#ifdef CONFIG_LIBAVRESAMPLE
+#include <libavresample/avresample.h>
+#endif
#define AC3_MAX_CHANNELS 6
#define AC3_MAX_CODED_FRAME_SIZE 3840
@@ -44,6 +52,12 @@ const uint16_t ac3_bitrate_tab[19] = {
// Data for specific instances of this filter
typedef struct af_ac3enc_s {
+#ifdef CONFIG_LIBAVRESAMPLE
+ AVAudioResampleContext *avr;
+ uint8_t *resample_buf[AC3_MAX_CHANNELS];
+ int linesize;
+#endif
+ AVFrame *frame;
struct AVCodec *lavc_acodec;
struct AVCodecContext *lavc_actx;
int add_iec61937_header;
@@ -101,6 +115,47 @@ static int control(struct af_instance_s *af, int cmd, void *arg)
avcodec_close(s->lavc_actx);
+#ifdef CONFIG_LIBAVRESAMPLE
+ if (s->avr) {
+ uint64_t ch_layout =
+ av_get_default_channel_layout(af->data->nch);
+ enum AVSampleFormat in_sample_fmt =
+ av_get_packed_sample_fmt(s->lavc_actx->sample_fmt);
+ int ret;
+
+ avresample_close(s->avr);
+
+ if (af->data->nch != s->lavc_actx->channels) {
+ av_freep(&s->resample_buf[0]);
+ ret = av_samples_alloc(s->resample_buf, &s->linesize,
+ af->data->nch, AC3_FRAME_SIZE,
+ s->lavc_actx->sample_fmt, 0);
+ if (ret < 0) {
+ uint8_t error[128];
+ av_strerror(ret, error, sizeof(error));
+ mp_msg(MSGT_AFILTER, MSGL_ERR, "Error allocating "
+ "resample buffer: %s\n", error);
+ return AF_ERROR;
+ }
+ }
+
+ av_opt_set_int(s->avr, "in_channel_layout", ch_layout, 0);
+ av_opt_set_int(s->avr, "out_channel_layout", ch_layout, 0);
+ av_opt_set_int(s->avr, "in_sample_rate", af->data->rate, 0);
+ av_opt_set_int(s->avr, "out_sample_rate", af->data->rate, 0);
+ av_opt_set_int(s->avr, "in_sample_fmt", in_sample_fmt, 0);
+ av_opt_set_int(s->avr, "out_sample_fmt", s->lavc_actx->sample_fmt, 0);
+
+ if ((ret = avresample_open(s->avr)) < 0) {
+ uint8_t error[128];
+ av_strerror(ret, error, sizeof(error));
+ mp_msg(MSGT_AFILTER, MSGL_ERR, "Error configuring "
+ "libavresample: %s\n", error);
+ return AF_ERROR;
+ }
+ }
+#endif
+
// Put sample parameters
s->lavc_actx->channels = af->data->nch;
s->lavc_actx->sample_rate = af->data->rate;
@@ -163,11 +218,71 @@ static void uninit(struct af_instance_s* af)
avcodec_close(s->lavc_actx);
av_free(s->lavc_actx);
}
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
+ avcodec_free_frame(&s->frame);
+#else
+ av_freep(&s->frame);
+#endif
+#ifdef CONFIG_LIBAVRESAMPLE
+ avresample_free(&s->avr);
+ av_freep(&s->resample_buf[0]);
+#endif
free(s->pending_data);
free(s);
}
}
+static int encode_data(af_ac3enc_t *s, uint8_t *src, uint8_t *dst, int dst_len)
+{
+ AVPacket pkt;
+ uint8_t error[128];
+ int total_samples = AC3_FRAME_SIZE * s->lavc_actx->channels;
+ int bps = av_get_bytes_per_sample(s->lavc_actx->sample_fmt);
+ int ret, got_frame;
+
+ if (s->lavc_actx->channels >= 5)
+ reorder_channel_nch(src, AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT,
+ AF_CHANNEL_LAYOUT_LAVC_DEFAULT,
+ s->lavc_actx->channels,
+ total_samples, bps);
+
+ s->frame->nb_samples = AC3_FRAME_SIZE;
+ s->frame->data[0] = src;
+ s->frame->linesize[0] = total_samples * bps;
+
+#ifdef CONFIG_LIBAVRESAMPLE
+ if (s->avr) {
+ ret = avresample_convert(s->avr, s->resample_buf, s->linesize,
+ AC3_FRAME_SIZE, &src, total_samples * bps,
+ AC3_FRAME_SIZE);
+ if (ret < 0) {
+ av_strerror(ret, error, sizeof(error));
+ mp_msg(MSGT_AFILTER, MSGL_ERR, "Error converting audio sample "
+ "format: %s\n", error);
+ return AF_ERROR;
+ } else if (ret != AC3_FRAME_SIZE) {
+ mp_msg(MSGT_AFILTER, MSGL_ERR, "Not enough converted data.\n");
+ return -1;
+ }
+
+ memcpy(s->frame->data, s->resample_buf, sizeof(s->resample_buf));
+ s->frame->linesize[0] = s->linesize;
+ }
+#endif
+
+ av_init_packet(&pkt);
+ pkt.data = dst;
+ pkt.size = dst_len;
+
+ ret = avcodec_encode_audio2(s->lavc_actx, &pkt, s->frame, &got_frame);
+ if (ret < 0) {
+ av_strerror(ret, error, sizeof(error));
+ mp_msg(MSGT_AFILTER, MSGL_ERR, "Error encoding audio: %s\n", error);
+ return ret;
+ }
+ return got_frame ? pkt.size : 0;
+}
+
// Filter data through filter
static af_data_t* play(struct af_instance_s* af, af_data_t* data)
{
@@ -178,7 +293,6 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data)
char *buf, *src, *dest;
int max_output_len;
int frame_num = (data->len + s->pending_len) / s->expect_len;
- int samplesize = af_fmt2bits(s->in_sampleformat) / 8;
if (s->add_iec61937_header)
max_output_len = AC3_FRAME_SIZE * 2 * 2 * frame_num;
@@ -224,28 +338,17 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data)
left -= needs;
}
- if (c->nch >= 5)
- reorder_channel_nch(s->pending_data,
- AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT,
- AF_CHANNEL_LAYOUT_LAVC_DEFAULT,
- c->nch,
- s->expect_len / samplesize, samplesize);
-
- len = avcodec_encode_audio(s->lavc_actx, dest, destsize,
- (void *)s->pending_data);
+ len = encode_data(s, s->pending_data, dest, destsize);
s->pending_len = 0;
}
else {
- if (c->nch >= 5)
- reorder_channel_nch(src,
- AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT,
- AF_CHANNEL_LAYOUT_LAVC_DEFAULT,
- c->nch,
- s->expect_len / samplesize, samplesize);
- len = avcodec_encode_audio(s->lavc_actx,dest,destsize,(void *)src);
+ len = encode_data(s, src, dest, destsize);
src += s->expect_len;
left -= s->expect_len;
}
+ if (len <= 0)
+ return NULL;
+
mp_msg(MSGT_AFILTER, MSGL_DBG2, "avcodec_encode_audio got %d, pending %d.\n",
len, s->pending_len);
@@ -295,22 +398,41 @@ static int af_open(af_instance_t* af){
mp_tmsg(MSGT_AFILTER, MSGL_ERR, "Audio LAVC, couldn't allocate context!\n");
return AF_ERROR;
}
+ s->frame = avcodec_alloc_frame();
+ if (!s->frame)
+ return AF_ERROR;
const enum AVSampleFormat *fmts = s->lavc_acodec->sample_fmts;
for (int i = 0; ; i++) {
if (fmts[i] == AV_SAMPLE_FMT_NONE) {
mp_msg(MSGT_AFILTER, MSGL_ERR, "Audio LAVC, encoder doesn't "
"support expected sample formats!\n");
return AF_ERROR;
- } else if (fmts[i] == AV_SAMPLE_FMT_S16) {
+ }
+ enum AVSampleFormat fmt_packed = fmts[i];
+#ifdef CONFIG_LIBAVRESAMPLE
+ fmt_packed = av_get_packed_sample_fmt(fmt_packed);
+#endif
+ if (fmt_packed == AV_SAMPLE_FMT_S16) {
s->in_sampleformat = AF_FORMAT_S16_NE;
s->lavc_actx->sample_fmt = fmts[i];
break;
- } else if (fmts[i] == AV_SAMPLE_FMT_FLT) {
+ } else if (fmt_packed == AV_SAMPLE_FMT_FLT) {
s->in_sampleformat = AF_FORMAT_FLOAT_NE;
s->lavc_actx->sample_fmt = fmts[i];
break;
}
}
+ if (av_sample_fmt_is_planar(s->lavc_actx->sample_fmt)) {
+#ifdef CONFIG_LIBAVRESAMPLE
+ s->avr = avresample_alloc_context();
+ if (!s->avr)
+ abort();
+#else
+ mp_msg(MSGT_AFILTER, MSGL_ERR, "Libavresample is required for this "
+ "filter to work with this libavcodec version.\n");
+ return AF_ERROR;
+#endif
+ }
char buf[100];
mp_msg(MSGT_AFILTER, MSGL_V, "[af_lavcac3enc]: in sample format: %s\n",
af_fmt2str(s->in_sampleformat, buf, 100));
diff --git a/libaf/af_scaletempo.c b/libaf/af_scaletempo.c
index 4ea25bf..c0197d5 100644
--- a/libaf/af_scaletempo.c
+++ b/libaf/af_scaletempo.c
@@ -34,6 +34,7 @@
#include <stdlib.h>
#include <string.h>
#include <limits.h>
+#include <assert.h>
#include "af.h"
#include "libavutil/common.h"
@@ -104,6 +105,7 @@ static int fill_queue(struct af_instance_s* af, af_data_t* data, int offset)
if (bytes_in > 0) {
int bytes_copy = FFMIN(s->bytes_queue - s->bytes_queued, bytes_in);
+ assert(bytes_copy >= 0);
memcpy(s->buf_queue + s->bytes_queued,
(int8_t*)data->audio + offset,
bytes_copy);
@@ -304,6 +306,8 @@ static int control(struct af_instance_s* af, int cmd, void* arg)
if (s->speed_tempo && s->speed_pitch)
return AF_DETACH;
memcpy(af->data, data, sizeof(af_data_t));
+ af->delay = 0;
+ af->mul = 1;
return af_test_output(af, data);
}
@@ -325,12 +329,14 @@ static int control(struct af_instance_s* af, int cmd, void* arg)
s->frames_stride_scaled = s->scale * frames_stride;
s->frames_stride_error = 0;
af->mul = (double)s->bytes_stride / s->bytes_stride_scaled;
+ af->delay = 0;
frames_overlap = frames_stride * s->percent_overlap;
if (frames_overlap <= 0) {
s->bytes_standing = s->bytes_stride;
s->samples_standing = s->bytes_standing / bps;
s->output_overlap = NULL;
+ s->bytes_overlap = 0;
} else {
s->samples_overlap = frames_overlap * nch;
s->bytes_overlap = frames_overlap * nch * bps;
@@ -419,6 +425,9 @@ static int control(struct af_instance_s* af, int cmd, void* arg)
return AF_ERROR;
}
+ s->bytes_queued = 0;
+ s->bytes_to_slide = 0;
+
mp_msg (MSGT_AFILTER, MSGL_DBG2, "[scaletempo] "
"%.2f stride_in, %i stride_out, %i standing, "
"%i overlap, %i search, %i queue, %s mode\n",
diff --git a/libao2/ao_ivtv.c b/libao2/ao_ivtv.c
deleted file mode 100644
index e05537c..0000000
--- a/libao2/ao_ivtv.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * audio output for WinTV PVR-150/250/350 (a.k.a IVTV) cards
- * through Connexant hardware MPEG decoder
- * See http://ivtvdriver.org/index.php/Main_Page for more details on the
- * cards supported by the ivtv driver.
- *
- * WARNING: You need to force -ac hwmpa for audio output to work.
- *
- * Copyright (C) 2006 Benjamin Zores
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <inttypes.h>
-
-#include "config.h"
-
-#include "mp_msg.h"
-
-#include "audio_out.h"
-#include "audio_out_internal.h"
-#include "libaf/af_format.h"
-#include "libmpdemux/mpeg_packetizer.h"
-#include "libvo/vo_ivtv.h"
-
-#define MPEG_AUDIO_ID 0x1C0
-
-static int freq = 0;
-
-static const ao_info_t info =
-{
- "IVTV MPEG Audio Decoder output",
- "ivtv",
- "Benjamin Zores",
- ""
-};
-
-LIBAO_EXTERN(ivtv)
-
-/* to set/get/query special features/parameters */
-static int
-control (int cmd,void *arg)
-{
- return CONTROL_UNKNOWN;
-}
-
-/* open & setup audio device */
-static int
-init (int rate, int channels, int format, int flags)
-{
- if (ivtv_fd < 0)
- return 0;
-
- if (format != AF_FORMAT_MPEG2)
- {
- mp_msg (MSGT_AO, MSGL_FATAL,
- "AO: [ivtv] can only handle MPEG audio streams.\n");
- return 0;
- }
-
- ao_data.outburst = 2048;
- ao_data.samplerate = rate;
- ao_data.channels = channels;
- ao_data.format = AF_FORMAT_MPEG2;
- ao_data.buffersize = 2048;
- ao_data.bps = rate * 2 * 2;
- ao_data.brokenpts = 0;
- freq = rate;
-
- /* check for supported audio rate */
- if (rate != 32000 || rate != 41000 || rate != 48000)
- {
- mp_tmsg (MSGT_AO, MSGL_ERR, "[AO MPEGPES] %d Hz not supported, try to resample.\n", rate);
- rate = 48000;
- }
-
- return 1;
-}
-
-/* close audio device */
-static void
-uninit (int immed)
-{
- /* nothing to do */
-}
-
-/* stop playing and empty buffers (for seeking/pause) */
-static void
-reset (void)
-{
- /* nothing to do */
-}
-
-/* stop playing, keep buffers (for pause) */
-static void
-audio_pause (void)
-{
- reset ();
-}
-
-/* resume playing, after audio_pause() */
-static void
-audio_resume (void)
-{
- /* nothing to do */
-}
-
-/* how many bytes can be played without blocking */
-static int
-get_space (void)
-{
- extern int vo_pts;
- float x;
- int y;
-
- x = (float) (vo_pts - ao_data.brokenpts) / 90000.0;
- if (x <= 0)
- return 0;
-
- y = freq * 4 * x;
- y /= ao_data.outburst;
- y *= ao_data.outburst;
-
- if (y > 32000)
- y = 32000;
-
- return y;
-}
-
-/* number of bytes played */
-static int
-play (void *data, int len, int flags)
-{
- if (ao_data.format != AF_FORMAT_MPEG2)
- return 0;
-
- send_mpeg_pes_packet (data, len, MPEG_AUDIO_ID, ao_data.brokenpts, 2, ivtv_write);
-
- return len;
-}
-
-/* delay in seconds between first and last sample in buffer */
-static float
-get_delay (void)
-{
- return 0.0;
-}
diff --git a/libao2/ao_mpegpes.c b/libao2/ao_mpegpes.c
deleted file mode 100644
index fe3f20f..0000000
--- a/libao2/ao_mpegpes.c
+++ /dev/null
@@ -1,336 +0,0 @@
-/*
- * MPEG-PES audio output driver
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <inttypes.h>
-#include <errno.h>
-
-#include "config.h"
-
-#include "audio_out.h"
-#include "audio_out_internal.h"
-
-#include "libaf/af_format.h"
-#include "libmpdemux/mpeg_packetizer.h"
-#include "subopt-helper.h"
-
-#include "mp_msg.h"
-
-#ifdef CONFIG_DVB
-#include <poll.h>
-#include <sys/ioctl.h>
-#include <linux/dvb/audio.h>
-audio_mixer_t dvb_mixer={255,255};
-#endif
-
-#define true 1
-#define false 0
-
-extern int vo_mpegpes_fd;
-int ao_mpegpes_fd = -1;
-
-#include <errno.h>
-
-static const ao_info_t info =
-{
-#ifdef CONFIG_DVB
- "DVB audio output",
-#else
- "MPEG-PES audio output",
-#endif
- "mpegpes",
- "A'rpi",
- ""
-};
-
-LIBAO_EXTERN(mpegpes)
-
-
-// to set/get/query special features/parameters
-static int control(int cmd,void *arg){
-#ifdef CONFIG_DVB
- switch(cmd){
- case AOCONTROL_GET_VOLUME:
- if(ao_mpegpes_fd >= 0){
- ((ao_control_vol_t*)(arg))->left=dvb_mixer.volume_left/2.56;
- ((ao_control_vol_t*)(arg))->right=dvb_mixer.volume_right/2.56;
- return CONTROL_OK;
- }
- return CONTROL_ERROR;
- case AOCONTROL_SET_VOLUME:
- if(ao_mpegpes_fd >= 0){
- dvb_mixer.volume_left=((ao_control_vol_t*)(arg))->left*2.56;
- dvb_mixer.volume_right=((ao_control_vol_t*)(arg))->right*2.56;
- if(dvb_mixer.volume_left>255) dvb_mixer.volume_left=255;
- if(dvb_mixer.volume_right>255) dvb_mixer.volume_right=255;
- // printf("Setting DVB volume: %d ; %d \n",dvb_mixer.volume_left,dvb_mixer.volume_right);
- if ( (ioctl(vo_mpegpes_fd,AUDIO_SET_MIXER, &dvb_mixer) < 0)){
- mp_tmsg(MSGT_AO, MSGL_ERR, "[AO MPEGPES] DVB audio set mixer failed: %s.\n",
- strerror(errno));
- return CONTROL_ERROR;
- }
- return CONTROL_OK;
- }
- return CONTROL_ERROR;
- }
-#endif
- return CONTROL_UNKNOWN;
-}
-
-static int freq=0;
-static int freq_id=0;
-
-#ifdef CONFIG_DVB
-static int init_device(int card)
-{
- char ao_file[30];
- sprintf(ao_file, "/dev/dvb/adapter%d/audio0", card);
- mp_msg(MSGT_VO,MSGL_INFO, "Opening %s\n", ao_file);
- if((ao_mpegpes_fd = open(ao_file,O_RDWR|O_NONBLOCK)) < 0)
- {
- mp_msg(MSGT_VO, MSGL_ERR, "DVB AUDIO DEVICE: %s\n", strerror(errno));
- return -1;
- }
- if( (ioctl(ao_mpegpes_fd, AUDIO_SELECT_SOURCE, AUDIO_SOURCE_MEMORY) < 0))
- {
- mp_msg(MSGT_VO, MSGL_ERR, "DVB AUDIO SELECT SOURCE: %s\n", strerror(errno));
- goto fail;
- }
- if((ioctl(ao_mpegpes_fd, AUDIO_PLAY) < 0))
- {
- mp_msg(MSGT_VO, MSGL_ERR, "DVB AUDIO PLAY: %s\n", strerror(errno));
- goto fail;
- }
- if((ioctl(ao_mpegpes_fd, AUDIO_SET_AV_SYNC, true) < 0))
- {
- mp_msg(MSGT_VO, MSGL_ERR, "DVB AUDIO SET AV SYNC: %s\n", strerror(errno));
- goto fail;
- }
- //FIXME: in vo_mpegpes audio was initialized as MUTEd
- if((ioctl(ao_mpegpes_fd, AUDIO_SET_MUTE, false) < 0))
- {
- mp_msg(MSGT_VO, MSGL_ERR, "DVB AUDIO SET MUTE: %s\n", strerror(errno));
- goto fail;
- }
- return ao_mpegpes_fd;
-fail:
- close(ao_mpegpes_fd);
- ao_mpegpes_fd = -1;
- return -1;
-}
-#endif
-
-static int preinit(const char *arg)
-{
- int card = -1;
- char *ao_file = NULL;
-
- const opt_t subopts[] = {
- {"card", OPT_ARG_INT, &card, NULL},
- {"file", OPT_ARG_MSTRZ, &ao_file, NULL},
- {NULL}
- };
-
- if(subopt_parse(ao_subdevice, subopts) != 0)
- {
- mp_msg(MSGT_VO, MSGL_ERR, "AO_MPEGPES, Unrecognized options\n");
- return -1;
- }
- if(card==-1)
- {
- //search the first usable card
- int n;
- char file[30];
- for(n=0; n<4; n++)
- {
- sprintf(file, "/dev/dvb/adapter%d/audio0", n);
- if(access(file, F_OK | W_OK)==0)
- {
- card = n+1;
- break;
- }
- }
- }
- if((card < 1) || (card > 4))
- {
- mp_msg(MSGT_VO, MSGL_ERR, "DVB card number must be between 1 and 4\n");
- return -1;
- }
- card--;
-
-#ifdef CONFIG_DVB
- if(!ao_file)
- return init_device(card);
-#else
- if(!ao_file)
- return vo_mpegpes_fd; //video fd
-#endif
-
- ao_mpegpes_fd = open(ao_file, O_WRONLY | O_CREAT, 0666);
- if(ao_mpegpes_fd < 0)
- {
- mp_msg(MSGT_VO, MSGL_ERR, "ao_mpegpes: %s\n", strerror(errno));
- return -1;
- }
- return ao_mpegpes_fd;
-}
-
-static int my_ao_write(const unsigned char* data,int len){
- int orig_len = len;
-#ifdef CONFIG_DVB
-#define NFD 1
- struct pollfd pfd[NFD];
-
- pfd[0].fd = ao_mpegpes_fd;
- pfd[0].events = POLLOUT;
-
- while(len>0){
- if(poll(pfd,NFD,1)){
- if(pfd[0].revents & POLLOUT){
- int ret = write(ao_mpegpes_fd, data, len);
- if(ret<=0){
- mp_msg(MSGT_VO, MSGL_ERR, "ao_mpegpes write: %s\n", strerror(errno));
- usleep(0);
- } else {
- len-=ret;
- data+=ret;
- }
- } else usleep(1000);
- }
- }
-
-#else
- if(ao_mpegpes_fd < 0) return 0; // no file
- write(ao_mpegpes_fd, data, len); // write to file
-#endif
- return orig_len;
-}
-
-
-// open & setup audio device
-// return: 1=success 0=fail
-static int init(int rate,int channels,int format,int flags){
- if(preinit(NULL)<0) return 0;
-
- ao_data.channels=2;
- ao_data.outburst=2000;
- switch(format){
- case AF_FORMAT_S16_BE:
- case AF_FORMAT_MPEG2:
- case AF_FORMAT_AC3_BE:
- ao_data.format=format;
- break;
- case AF_FORMAT_AC3_LE:
- ao_data.format=AF_FORMAT_AC3_BE;
- break;
- default:
- ao_data.format=AF_FORMAT_S16_BE;
- }
-
- switch(rate){
- case 48000: freq_id=0;break;
- case 96000: freq_id=1;break;
- case 44100: freq_id=2;break;
- case 32000: freq_id=3;break;
- default:
- mp_tmsg(MSGT_AO, MSGL_ERR, "[AO MPEGPES] %d Hz not supported, try to resample.\n", rate);
-#if 0
- if(rate>48000) rate=96000; else
- if(rate>44100) rate=48000; else
- if(rate>32000) rate=44100; else
- rate=32000;
- goto retry;
-#else
- rate=48000; freq_id=0;
-#endif
- }
-
- ao_data.bps=rate*2*2;
- freq=ao_data.samplerate=rate;
-
- return 1;
-}
-
-// close audio device
-static void uninit(int immed){
- if (ao_mpegpes_fd >= 0)
- close(ao_mpegpes_fd);
- ao_mpegpes_fd = -1;
-}
-
-// stop playing and empty buffers (for seeking/pause)
-static void reset(void){
-
-}
-
-// stop playing, keep buffers (for pause)
-static void audio_pause(void)
-{
- // for now, just call reset();
- reset();
-}
-
-// resume playing, after audio_pause()
-static void audio_resume(void)
-{
-}
-
-extern int vo_pts;
-
-// return: how many bytes can be played without blocking
-static int get_space(void){
- float x=(float)(vo_pts-ao_data.brokenpts)/90000.0;
- int y;
- //FIXME: is it correct?
- if(vo_mpegpes_fd < 0) return 32000; //not using -vo mpegpes
-// printf("vo_pts: %5.3f ao_pts: %5.3f\n",vo_pts/90000.0,ao_data.brokenpts/90000.0);
- if(x<=0) return 0;
- y=freq*4*x;y/=ao_data.outburst;y*=ao_data.outburst;
- if(y>32000) y=32000;
-// printf("diff: %5.3f -> %d \n",x,y);
- return y;
-}
-
-// plays 'len' bytes of 'data'
-// it should round it down to outburst*n
-// return: number of bytes played
-static int play(void* data,int len,int flags){
-// printf("\nao_mpegpes: play(%d) freq=%d\n",len,freq_id);
- if(ao_data.format==AF_FORMAT_MPEG2)
- send_mpeg_pes_packet (data, len, 0x1C0, ao_data.brokenpts, 1, my_ao_write);
- else {
-// if(len>2000) len=2000;
-// printf("ao_mpegpes: len=%d \n",len);
- send_mpeg_lpcm_packet(data, len, 0xA0, ao_data.brokenpts, freq_id, my_ao_write);
- }
- return len;
-}
-
-// return: delay in seconds between first and last sample in buffer
-static float get_delay(void){
-
- return 0.0;
-}
diff --git a/libao2/ao_nas.c b/libao2/ao_nas.c
deleted file mode 100644
index d3274df..0000000
--- a/libao2/ao_nas.c
+++ /dev/null
@@ -1,646 +0,0 @@
-/*
- * NAS audio output driver
- *
- * copyright (c) 2001 Tobias Diedrich <ranma at gmx.at>
- *
- * Based on the libaudiooss parts rewritten by me, which were
- * originally based on the NAS output plugin for XMMS.
- *
- * XMMS plugin by Willem Monsuwe
- * adapted for libaudiooss by Jon Trulson
- * further modified by Erik Inge Bolsø
- * largely rewritten and used for this ao driver by Tobias Diedrich
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/*
- * Theory of operation:
- *
- * The NAS consists of two parts, a server daemon and a client.
- * We setup the server to use a buffer of size bytes_per_second
- * with a low watermark of buffer_size - NAS_FRAG_SIZE.
- * Upon starting the flow the server will generate a buffer underrun
- * event and the event handler will fill the buffer for the first time.
- * Now the server will generate a lowwater event when the server buffer
- * falls below the low watermark value. The event handler gets called
- * again and refills the buffer by the number of bytes requested by the
- * server (usually a multiple of 4096). To prevent stuttering on
- * startup (start of playing, seeks, unpausing) the client buffer should
- * be bigger than the server buffer. (For debugging we also do some
- * accounting of what we think how much of the server buffer is filled)
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <pthread.h>
-#include <limits.h>
-#include <audio/audiolib.h>
-
-#include "config.h"
-#include "mp_msg.h"
-
-#include "audio_out.h"
-#include "audio_out_internal.h"
-#include "libaf/af_format.h"
-
-/* NAS_FRAG_SIZE must be a power-of-two value */
-#define NAS_FRAG_SIZE 4096
-
-static const char * const nas_event_types[] = {
- "Undefined",
- "Undefined",
- "ElementNotify",
- "GrabNotify",
- "MonitorNotify",
- "BucketNotify",
- "DeviceNotify"
-};
-
-static const char * const nas_elementnotify_kinds[] = {
- "LowWater",
- "HighWater",
- "State",
- "Unknown"
-};
-
-static const char * const nas_states[] = {
- "Stop",
- "Start",
- "Pause",
- "Any"
-};
-
-static const char * const nas_reasons[] = {
- "User",
- "Underrun",
- "Overrun",
- "EOF",
- "Watermark",
- "Hardware",
- "Any"
-};
-
-static const char* nas_reason(unsigned int reason)
-{
- if (reason > 6) reason = 6;
- return nas_reasons[reason];
-}
-
-static const char* nas_elementnotify_kind(unsigned int kind)
-{
- if (kind > 2) kind = 3;
- return nas_elementnotify_kinds[kind];
-}
-
-static const char* nas_event_type(unsigned int type) {
- if (type > 6) type = 0;
- return nas_event_types[type];
-}
-
-static const char* nas_state(unsigned int state) {
- if (state>3) state = 3;
- return nas_states[state];
-}
-
-static const ao_info_t info =
-{
- "NAS audio output",
- "nas",
- "Tobias Diedrich <ranma+mplayer at tdiedrich.de>",
- ""
-};
-
-struct ao_nas_data {
- AuServer *aud;
- AuFlowID flow;
- AuDeviceID dev;
- AuFixedPoint gain;
-
- unsigned int state;
- int expect_underrun;
-
- char *client_buffer;
- char *server_buffer;
- unsigned int client_buffer_size;
- unsigned int client_buffer_used;
- unsigned int server_buffer_size;
- unsigned int server_buffer_used;
- pthread_mutex_t buffer_mutex;
-
- pthread_t event_thread;
- int stop_thread;
-};
-
-static struct ao_nas_data *nas_data;
-
-LIBAO_EXTERN(nas)
-
-static void nas_print_error(AuServer *aud, const char *prefix, AuStatus as)
-{
- char s[100];
- AuGetErrorText(aud, as, s, 100);
- mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: %s: returned status %d (%s)\n", prefix, as, s);
-}
-
-static int nas_readBuffer(struct ao_nas_data *nas_data, unsigned int num)
-{
- AuStatus as;
-
- pthread_mutex_lock(&nas_data->buffer_mutex);
- mp_msg(MSGT_AO, MSGL_DBG2, "ao_nas: nas_readBuffer(): num=%d client=%d/%d server=%d/%d\n",
- num,
- nas_data->client_buffer_used, nas_data->client_buffer_size,
- nas_data->server_buffer_used, nas_data->server_buffer_size);
-
- if (nas_data->client_buffer_used == 0) {
- mp_msg(MSGT_AO, MSGL_DBG2, "ao_nas: buffer is empty, nothing read.\n");
- pthread_mutex_unlock(&nas_data->buffer_mutex);
- return 0;
- }
- if (num > nas_data->client_buffer_used)
- num = nas_data->client_buffer_used;
-
- /*
- * It is not appropriate to call AuWriteElement() here because the
- * buffer is locked and delays writing to the network will cause
- * other threads to block waiting for buffer_mutex. Instead the
- * data is copied to "server_buffer" and written to the network
- * outside of the locked section of code.
- *
- * (Note: Rather than these two buffers, a single circular buffer
- * could eliminate the memcpy/memmove steps.)
- */
- /* make sure we don't overflow the buffer */
- if (num > nas_data->server_buffer_size)
- num = nas_data->server_buffer_size;
- memcpy(nas_data->server_buffer, nas_data->client_buffer, num);
-
- nas_data->client_buffer_used -= num;
- nas_data->server_buffer_used += num;
- memmove(nas_data->client_buffer, nas_data->client_buffer + num, nas_data->client_buffer_used);
- pthread_mutex_unlock(&nas_data->buffer_mutex);
-
- /*
- * Now write the new buffer to the network.
- */
- AuWriteElement(nas_data->aud, nas_data->flow, 0, num, nas_data->server_buffer, AuFalse, &as);
- if (as != AuSuccess)
- nas_print_error(nas_data->aud, "nas_readBuffer(): AuWriteElement", as);
-
- return num;
-}
-
-static int nas_writeBuffer(struct ao_nas_data *nas_data, void *data, unsigned int len)
-{
- pthread_mutex_lock(&nas_data->buffer_mutex);
- mp_msg(MSGT_AO, MSGL_DBG2, "ao_nas: nas_writeBuffer(): len=%d client=%d/%d server=%d/%d\n",
- len, nas_data->client_buffer_used, nas_data->client_buffer_size,
- nas_data->server_buffer_used, nas_data->server_buffer_size);
-
- /* make sure we don't overflow the buffer */
- if (len > nas_data->client_buffer_size - nas_data->client_buffer_used)
- len = nas_data->client_buffer_size - nas_data->client_buffer_used;
- memcpy(nas_data->client_buffer + nas_data->client_buffer_used, data, len);
- nas_data->client_buffer_used += len;
-
- pthread_mutex_unlock(&nas_data->buffer_mutex);
-
- return len;
-}
-
-static int nas_empty_event_queue(struct ao_nas_data *nas_data)
-{
- AuEvent ev;
- int result = 0;
-
- while (AuScanForTypedEvent(nas_data->aud, AuEventsQueuedAfterFlush,
- AuTrue, AuEventTypeElementNotify, &ev)) {
- AuDispatchEvent(nas_data->aud, &ev);
- result = 1;
- }
- return result;
-}
-
-static void *nas_event_thread_start(void *data)
-{
- struct ao_nas_data *nas_data = data;
-
- do {
- mp_msg(MSGT_AO, MSGL_DBG2,
- "ao_nas: event thread heartbeat (state=%s)\n",
- nas_state(nas_data->state));
- nas_empty_event_queue(nas_data);
- usleep(1000);
- } while (!nas_data->stop_thread);
-
- return NULL;
-}
-
-static AuBool nas_error_handler(AuServer* aud, AuErrorEvent* ev)
-{
- char s[100];
- AuGetErrorText(aud, ev->error_code, s, 100);
- mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: error [%s]\n"
- "error_code: %d\n"
- "request_code: %d\n"
- "minor_code: %d\n",
- s,
- ev->error_code,
- ev->request_code,
- ev->minor_code);
-
- return AuTrue;
-}
-
-static AuBool nas_event_handler(AuServer *aud, AuEvent *ev, AuEventHandlerRec *hnd)
-{
- AuElementNotifyEvent *event = (AuElementNotifyEvent *) ev;
- struct ao_nas_data *nas_data = hnd->data;
-
- mp_msg(MSGT_AO, MSGL_DBG2, "ao_nas: event_handler(): type %s kind %s state %s->%s reason %s numbytes %d expect_underrun %d\n",
- nas_event_type(event->type),
- nas_elementnotify_kind(event->kind),
- nas_state(event->prev_state),
- nas_state(event->cur_state),
- nas_reason(event->reason),
- (int)event->num_bytes,
- nas_data->expect_underrun);
-
- if (event->num_bytes > INT_MAX) {
- mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: num_bytes > 2GB, server buggy?\n");
- }
-
- if (event->num_bytes > nas_data->server_buffer_used)
- event->num_bytes = nas_data->server_buffer_used;
- nas_data->server_buffer_used -= event->num_bytes;
-
- switch (event->reason) {
- case AuReasonWatermark:
- nas_readBuffer(nas_data, event->num_bytes);
- break;
- case AuReasonUnderrun:
- // buffer underrun -> refill buffer
- nas_data->server_buffer_used = 0;
- if (nas_data->expect_underrun) {
- nas_data->expect_underrun = 0;
- } else {
- static int hint = 1;
- mp_msg(MSGT_AO, MSGL_WARN,
- "ao_nas: Buffer underrun.\n");
- if (hint) {
- hint = 0;
- mp_msg(MSGT_AO, MSGL_HINT,
- "Possible reasons are:\n"
- "1) Network congestion.\n"
- "2) Your NAS server is too slow.\n"
- "Try renicing your nasd to e.g. -15.\n");
- }
- }
- if (nas_readBuffer(nas_data,
- nas_data->server_buffer_size -
- nas_data->server_buffer_used) != 0) {
- event->cur_state = AuStateStart;
- break;
- }
- mp_msg(MSGT_AO, MSGL_DBG2,
- "ao_nas: Can't refill buffer, stopping flow.\n");
- AuStopFlow(aud, nas_data->flow, NULL);
- break;
- default:
- break;
- }
- nas_data->state=event->cur_state;
- return AuTrue;
-}
-
-static AuDeviceID nas_find_device(AuServer *aud, int nch)
-{
- int i;
- for (i = 0; i < AuServerNumDevices(aud); i++) {
- AuDeviceAttributes *dev = AuServerDevice(aud, i);
- if ((AuDeviceKind(dev) == AuComponentKindPhysicalOutput) &&
- AuDeviceNumTracks(dev) == nch) {
- return AuDeviceIdentifier(dev);
- }
- }
- return AuNone;
-}
-
-static unsigned int nas_aformat_to_auformat(unsigned int *format)
-{
- switch (*format) {
- case AF_FORMAT_U8:
- return AuFormatLinearUnsigned8;
- case AF_FORMAT_S8:
- return AuFormatLinearSigned8;
- case AF_FORMAT_U16_LE:
- return AuFormatLinearUnsigned16LSB;
- case AF_FORMAT_U16_BE:
- return AuFormatLinearUnsigned16MSB;
- case AF_FORMAT_S16_LE:
- return AuFormatLinearSigned16LSB;
- case AF_FORMAT_S16_BE:
- return AuFormatLinearSigned16MSB;
- case AF_FORMAT_MU_LAW:
- return AuFormatULAW8;
- default:
- *format=AF_FORMAT_S16_NE;
- return nas_aformat_to_auformat(format);
- }
-}
-
-// to set/get/query special features/parameters
-static int control(int cmd, void *arg)
-{
- AuElementParameters aep;
- AuStatus as;
- int retval = CONTROL_UNKNOWN;
-
- ao_control_vol_t *vol = (ao_control_vol_t *)arg;
-
- switch (cmd) {
- case AOCONTROL_GET_VOLUME:
-
- vol->right = (float)nas_data->gain/AU_FIXED_POINT_SCALE*50;
- vol->left = vol->right;
-
- mp_msg(MSGT_AO, MSGL_DBG2, "ao_nas: AOCONTROL_GET_VOLUME: %.2f\n", vol->right);
- retval = CONTROL_OK;
- break;
-
- case AOCONTROL_SET_VOLUME:
- /*
- * kn: we should have vol->left == vol->right but i don't
- * know if something can change it outside of ao_nas
- * so i take the mean of both values.
- */
- nas_data->gain = AU_FIXED_POINT_SCALE*((vol->left+vol->right)/2)/50;
- mp_msg(MSGT_AO, MSGL_DBG2, "ao_nas: AOCONTROL_SET_VOLUME: %.2f\n", (vol->left+vol->right)/2);
-
- aep.parameters[AuParmsMultiplyConstantConstant]=nas_data->gain;
- aep.flow = nas_data->flow;
- aep.element_num = 1;
- aep.num_parameters = AuParmsMultiplyConstant;
-
- AuSetElementParameters(nas_data->aud, 1, &aep, &as);
- if (as != AuSuccess) {
- nas_print_error(nas_data->aud,
- "control(): AuSetElementParameters", as);
- retval = CONTROL_ERROR;
- } else retval = CONTROL_OK;
- break;
- };
-
- return retval;
-}
-
-// open & setup audio device
-// return: 1=success 0=fail
-static int init(int rate,int channels,int format,int flags)
-{
- AuElement elms[3];
- AuStatus as;
- unsigned char auformat = nas_aformat_to_auformat(&format);
- int bytes_per_sample = channels * AuSizeofFormat(auformat);
- int buffer_size;
- char *server;
-
- (void)flags; /* shut up 'unused parameter' warning */
-
- global_ao->no_persistent_volume = true;
-
- nas_data=malloc(sizeof(struct ao_nas_data));
- memset(nas_data, 0, sizeof(struct ao_nas_data));
-
- mp_msg(MSGT_AO, MSGL_V, "ao2: %d Hz %d chans %s\n",rate,channels,
- af_fmt2str_short(format));
-
- ao_data.format = format;
- ao_data.samplerate = rate;
- ao_data.channels = channels;
- ao_data.outburst = NAS_FRAG_SIZE;
- ao_data.bps = rate * bytes_per_sample;
- buffer_size = ao_data.bps; /* buffer 1 second */
- /*
- * round up to multiple of NAS_FRAG_SIZE
- * divide by 3 first because of 2:1 split
- */
- buffer_size = (buffer_size/3 + NAS_FRAG_SIZE-1) & ~(NAS_FRAG_SIZE-1);
- ao_data.buffersize = buffer_size*3;
-
- nas_data->client_buffer_size = buffer_size*2;
- nas_data->client_buffer = malloc(nas_data->client_buffer_size);
- nas_data->server_buffer_size = buffer_size;
- nas_data->server_buffer = malloc(nas_data->server_buffer_size);
-
- if (!bytes_per_sample) {
- mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: init(): Zero bytes per sample -> nosound\n");
- return 0;
- }
-
- if (!(server = getenv("AUDIOSERVER")) &&
- !(server = getenv("DISPLAY"))) {
- mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: init(): AUDIOSERVER environment variable not set -> nosound\n");
- return 0;
- }
-
- mp_msg(MSGT_AO, MSGL_V, "ao_nas: init(): Using audioserver %s\n", server);
-
- nas_data->aud = AuOpenServer(server, 0, NULL, 0, NULL, NULL);
- if (!nas_data->aud) {
- mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: init(): Can't open nas audio server -> nosound\n");
- return 0;
- }
-
- while (channels>0) {
- nas_data->dev = nas_find_device(nas_data->aud, channels);
- if (nas_data->dev != AuNone &&
- ((nas_data->flow = AuCreateFlow(nas_data->aud, NULL)) != 0))
- break;
- channels--;
- }
-
- if (nas_data->flow == 0) {
- mp_msg(MSGT_AO, MSGL_ERR, "ao_nas: init(): Can't find a suitable output device -> nosound\n");
- AuCloseServer(nas_data->aud);
- nas_data->aud = 0;
- return 0;
- }
-
- AuMakeElementImportClient(elms, rate, auformat, channels, AuTrue,
- buffer_size / bytes_per_sample,
- (buffer_size - NAS_FRAG_SIZE) /
- bytes_per_sample, 0, NULL);
- nas_data->gain = AuFixedPointFromFraction(1, 1);
- AuMakeElementMultiplyConstant(elms+1, 0, nas_data->gain);
- AuMakeElementExportDevice(elms+2, 1, nas_data->dev, rate,
- AuUnlimitedSamples, 0, NULL);
- AuSetElements(nas_data->aud, nas_data->flow, AuTrue, sizeof(elms)/sizeof(*elms), elms, &as);
- if (as != AuSuccess) {
- nas_print_error(nas_data->aud, "init(): AuSetElements", as);
- AuCloseServer(nas_data->aud);
- nas_data->aud = 0;
- return 0;
- }
- AuRegisterEventHandler(nas_data->aud, AuEventHandlerIDMask |
- AuEventHandlerTypeMask,
- AuEventTypeElementNotify, nas_data->flow,
- nas_event_handler, (AuPointer) nas_data);
- AuSetErrorHandler(nas_data->aud, nas_error_handler);
- nas_data->state=AuStateStop;
- nas_data->expect_underrun=0;
-
- pthread_mutex_init(&nas_data->buffer_mutex, NULL);
- pthread_create(&nas_data->event_thread, NULL, &nas_event_thread_start, nas_data);
-
- return 1;
-}
-
-// close audio device
-static void uninit(int immed){
-
- mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: uninit()\n");
-
- nas_data->expect_underrun = 1;
- if (!immed)
- while (nas_data->state != AuStateStop) usleep(1000);
- nas_data->stop_thread = 1;
- pthread_join(nas_data->event_thread, NULL);
- AuCloseServer(nas_data->aud);
- nas_data->aud = 0;
- free(nas_data->client_buffer);
- free(nas_data->server_buffer);
-}
-
-// stop playing and empty buffers (for seeking/pause)
-static void reset(void){
- AuStatus as;
-
- mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: reset()\n");
-
- pthread_mutex_lock(&nas_data->buffer_mutex);
- nas_data->client_buffer_used = 0;
- pthread_mutex_unlock(&nas_data->buffer_mutex);
- while (nas_data->state != AuStateStop) {
- AuStopFlow(nas_data->aud, nas_data->flow, &as);
- if (as != AuSuccess)
- nas_print_error(nas_data->aud, "reset(): AuStopFlow", as);
- usleep(1000);
- }
-}
-
-// stop playing, keep buffers (for pause)
-static void audio_pause(void)
-{
- AuStatus as;
- mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: audio_pause()\n");
-
- AuStopFlow(nas_data->aud, nas_data->flow, &as);
-}
-
-// resume playing, after audio_pause()
-static void audio_resume(void)
-{
- AuStatus as;
-
- mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: audio_resume()\n");
-
- AuStartFlow(nas_data->aud, nas_data->flow, &as);
- if (as != AuSuccess)
- nas_print_error(nas_data->aud,
- "play(): AuStartFlow", as);
-}
-
-
-// return: how many bytes can be played without blocking
-static int get_space(void)
-{
- int result;
-
- mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: get_space()\n");
-
- pthread_mutex_lock(&nas_data->buffer_mutex);
- result = nas_data->client_buffer_size - nas_data->client_buffer_used;
- pthread_mutex_unlock(&nas_data->buffer_mutex);
-
- return result;
-}
-
-// plays 'len' bytes of 'data'
-// it should round it down to outburst*n
-// return: number of bytes played
-static int play(void* data,int len,int flags)
-{
- int written, maxbursts = 0, playbursts = 0;
- AuStatus as;
-
- mp_msg(MSGT_AO, MSGL_DBG3,
- "ao_nas: play(%p, %d, %d)\n",
- data, len, flags);
-
- if (len == 0)
- return 0;
-
- if (!(flags & AOPLAY_FINAL_CHUNK)) {
- pthread_mutex_lock(&nas_data->buffer_mutex);
- maxbursts = (nas_data->client_buffer_size -
- nas_data->client_buffer_used) / ao_data.outburst;
- playbursts = len / ao_data.outburst;
- len = (playbursts > maxbursts ? maxbursts : playbursts) *
- ao_data.outburst;
- pthread_mutex_unlock(&nas_data->buffer_mutex);
- }
-
- /*
- * If AOPLAY_FINAL_CHUNK is set, we did not actually check len fits
- * into the available buffer space, but mplayer.c shouldn't give us
- * more to play than we report to it by get_space(), so this should be
- * fine.
- */
- written = nas_writeBuffer(nas_data, data, len);
-
- if (nas_data->state != AuStateStart &&
- (maxbursts == playbursts ||
- flags & AOPLAY_FINAL_CHUNK)) {
- mp_msg(MSGT_AO, MSGL_DBG2, "ao_nas: play(): Starting flow.\n");
- nas_data->expect_underrun = 1;
- AuStartFlow(nas_data->aud, nas_data->flow, &as);
- if (as != AuSuccess)
- nas_print_error(nas_data->aud, "play(): AuStartFlow", as);
- }
-
- return written;
-}
-
-// return: delay in seconds between first and last sample in buffer
-static float get_delay(void)
-{
- float result;
-
- mp_msg(MSGT_AO, MSGL_DBG3, "ao_nas: get_delay()\n");
-
- pthread_mutex_lock(&nas_data->buffer_mutex);
- result = ((float)(nas_data->client_buffer_used +
- nas_data->server_buffer_used)) /
- (float)ao_data.bps;
- pthread_mutex_unlock(&nas_data->buffer_mutex);
-
- return result;
-}
diff --git a/libao2/ao_portaudio.c b/libao2/ao_portaudio.c
index c8275f0..9fa1cdb 100644
--- a/libao2/ao_portaudio.c
+++ b/libao2/ao_portaudio.c
@@ -22,7 +22,7 @@
#include <assert.h>
#include <pthread.h>
-#include <libavutil/avutil.h>
+#include <libavutil/common.h>
#include <portaudio.h>
#include "config.h"
diff --git a/libao2/ao_pulse.c b/libao2/ao_pulse.c
index e48c402..b266d66 100644
--- a/libao2/ao_pulse.c
+++ b/libao2/ao_pulse.c
@@ -50,7 +50,6 @@ struct priv {
bool broken_pause;
int retval;
- bool did_reset;
};
#define GENERIC_ERR_MSG(ctx, str) \
@@ -275,9 +274,7 @@ static int init(struct ao *ao, char *params)
.fragsize = -1,
};
if (pa_stream_connect_playback(priv->stream, sink, &bufattr,
- PA_STREAM_INTERPOLATE_TIMING
- | PA_STREAM_AUTO_TIMING_UPDATE, NULL,
- NULL) < 0)
+ PA_STREAM_NOT_MONOTONIC, NULL, NULL) < 0)
goto unlock_and_fail;
/* Wait until the stream is ready */
@@ -318,25 +315,18 @@ static void cork(struct ao *ao, bool pause)
static int play(struct ao *ao, void *data, int len, int flags)
{
struct priv *priv = ao->priv;
- /* For some reason Pulseaudio behaves worse if this is done after
- * the write - rapidly repeated seeks result in bogus increasing
- * reported latency. */
- if (priv->did_reset)
- cork(ao, false);
pa_threaded_mainloop_lock(priv->mainloop);
if (pa_stream_write(priv->stream, data, len, NULL, 0,
PA_SEEK_RELATIVE) < 0) {
GENERIC_ERR_MSG(priv->context, "pa_stream_write() failed");
len = -1;
}
- if (priv->did_reset) {
- priv->did_reset = false;
- if (!waitop(priv, pa_stream_update_timing_info(priv->stream,
- success_cb, ao))
- || !priv->retval)
- GENERIC_ERR_MSG(priv->context, "pa_stream_UPP() failed");
- } else
- pa_threaded_mainloop_unlock(priv->mainloop);
+ if (flags & AOPLAY_FINAL_CHUNK) {
+ // Force start in case the stream was too short for prebuf
+ pa_operation *op = pa_stream_trigger(priv->stream, NULL, NULL);
+ pa_operation_unref(op);
+ }
+ pa_threaded_mainloop_unlock(priv->mainloop);
return len;
}
@@ -351,7 +341,7 @@ static void reset(struct ao *ao)
if (!waitop(priv, pa_stream_flush(priv->stream, success_cb, ao)) ||
!priv->retval)
GENERIC_ERR_MSG(priv->context, "pa_stream_flush() failed");
- priv->did_reset = true;
+ cork(ao, false);
}
// Pause the audio stream by corking it on the server
@@ -364,8 +354,6 @@ static void pause(struct ao *ao)
static void resume(struct ao *ao)
{
struct priv *priv = ao->priv;
- if (priv->did_reset)
- return;
/* Without this, certain versions will cause an infinite hang because
* pa_stream_writable_size returns 0 always.
* Note that this workaround causes A-V desync after pause. */
@@ -387,19 +375,57 @@ static int get_space(struct ao *ao)
// Return the current latency in seconds
static float get_delay(struct ao *ao)
{
+ /* This code basically does what pa_stream_get_latency() _should_
+ * do, but doesn't due to multiple known bugs in PulseAudio (at
+ * PulseAudio version 2.1). In particular, the timing interpolation
+ * mode (PA_STREAM_INTERPOLATE_TIMING) can return completely bogus
+ * values, and the non-interpolating code has a bug causing too
+ * large results at end of stream (so a stream never seems to finish).
+ * This code can still return wrong values in some cases due to known
+ * PulseAudio bugs that can not be worked around on the client side.
+ *
+ * We always query the server for latest timing info. This may take
+ * too long to work well with remote audio servers, but at least
+ * this should be enough to fix the normal local playback case.
+ */
struct priv *priv = ao->priv;
- pa_usec_t latency = (pa_usec_t) -1;
pa_threaded_mainloop_lock(priv->mainloop);
- while (pa_stream_get_latency(priv->stream, &latency, NULL) < 0) {
- if (pa_context_errno(priv->context) != PA_ERR_NODATA) {
- GENERIC_ERR_MSG(priv->context, "pa_stream_get_latency() failed");
- break;
- }
- /* Wait until latency data is available again */
- pa_threaded_mainloop_wait(priv->mainloop);
+ if (!waitop(priv, pa_stream_update_timing_info(priv->stream, NULL, NULL))) {
+ GENERIC_ERR_MSG(priv->context, "pa_stream_update_timing_info() failed");
+ return 0;
+ }
+ pa_threaded_mainloop_lock(priv->mainloop);
+ const pa_timing_info *ti = pa_stream_get_timing_info(priv->stream);
+ if (!ti) {
+ pa_threaded_mainloop_unlock(priv->mainloop);
+ GENERIC_ERR_MSG(priv->context, "pa_stream_get_timing_info() failed");
+ return 0;
+ }
+ const struct pa_sample_spec *ss = pa_stream_get_sample_spec(priv->stream);
+ if (!ss) {
+ pa_threaded_mainloop_unlock(priv->mainloop);
+ GENERIC_ERR_MSG(priv->context, "pa_stream_get_sample_spec() failed");
+ return 0;
}
+ // data left in PulseAudio's main buffers (not written to sink yet)
+ int64_t latency = pa_bytes_to_usec(ti->write_index - ti->read_index, ss);
+ // since this info may be from a while ago, playback has progressed since
+ latency -= ti->transport_usec;
+ // data already moved from buffers to sink, but not played yet
+ int64_t sink_latency = ti->sink_usec;
+ if (!ti->playing)
+ /* At the end of a stream, part of the data "left" in the sink may
+ * be padding silence after the end; that should be subtracted to
+ * get the amount of real audio from our stream. This adjustment
+ * is missing from Pulseaudio's own get_latency calculations
+ * (as of PulseAudio 2.1). */
+ sink_latency -= pa_bytes_to_usec(ti->since_underrun, ss);
+ if (sink_latency > 0)
+ latency += sink_latency;
+ if (latency < 0)
+ latency = 0;
pa_threaded_mainloop_unlock(priv->mainloop);
- return latency == (pa_usec_t) -1 ? 0 : latency / 1000000.0;
+ return latency / 1e6;
}
/* A callback function that is called when the
diff --git a/libao2/ao_sun.c b/libao2/ao_sun.c
deleted file mode 100644
index ecdb23d..0000000
--- a/libao2/ao_sun.c
+++ /dev/null
@@ -1,692 +0,0 @@
-/*
- * SUN audio output driver
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/audioio.h>
-#ifdef AUDIO_SWFEATURE_MIXER /* solaris8 or newer? */
-# define HAVE_SYS_MIXER_H 1
-#endif
-#if HAVE_SYS_MIXER_H
-# include <sys/mixer.h>
-#endif
-#ifdef __svr4__
-#include <stropts.h>
-#endif
-
-#include "config.h"
-#include "mixer.h"
-
-#include "audio_out.h"
-#include "audio_out_internal.h"
-#include "libaf/af_format.h"
-#include "mp_msg.h"
-
-static const ao_info_t info =
-{
- "Sun audio output",
- "sun",
- "Juergen Keil",
- ""
-};
-
-LIBAO_EXTERN(sun)
-
-
-/* These defines are missing on NetBSD */
-#ifndef AUDIO_PRECISION_8
-#define AUDIO_PRECISION_8 8
-#define AUDIO_PRECISION_16 16
-#endif
-#ifndef AUDIO_CHANNELS_MONO
-#define AUDIO_CHANNELS_MONO 1
-#define AUDIO_CHANNELS_STEREO 2
-#endif
-
-
-static char *sun_mixer_device = NULL;
-static char *audio_dev = NULL;
-static int queued_bursts = 0;
-static int queued_samples = 0;
-static int bytes_per_sample = 0;
-static int byte_per_sec = 0;
-static int audio_fd = -1;
-static enum {
- RTSC_UNKNOWN = 0,
- RTSC_ENABLED,
- RTSC_DISABLED
-} enable_sample_timing;
-
-
-static void flush_audio(int fd) {
-#ifdef AUDIO_FLUSH
- ioctl(fd, AUDIO_FLUSH, 0);
-#elif defined(__svr4__)
- ioctl(fd, I_FLUSH, FLUSHW);
-#endif
-}
-
-// convert an OSS audio format specification into a sun audio encoding
-static int af2sunfmt(int format)
-{
- switch (format){
- case AF_FORMAT_MU_LAW:
- return AUDIO_ENCODING_ULAW;
- case AF_FORMAT_A_LAW:
- return AUDIO_ENCODING_ALAW;
- case AF_FORMAT_S16_NE:
- return AUDIO_ENCODING_LINEAR;
-#ifdef AUDIO_ENCODING_LINEAR8 // Missing on SunOS 5.5.1...
- case AF_FORMAT_U8:
- return AUDIO_ENCODING_LINEAR8;
-#endif
- case AF_FORMAT_S8:
- return AUDIO_ENCODING_LINEAR;
-#ifdef AUDIO_ENCODING_DVI // Missing on NetBSD...
- case AF_FORMAT_IMA_ADPCM:
- return AUDIO_ENCODING_DVI;
-#endif
- default:
- return AUDIO_ENCODING_NONE;
- }
-}
-
-// try to figure out, if the soundcard driver provides usable (precise)
-// sample counter information
-static int realtime_samplecounter_available(char *dev)
-{
- int fd = -1;
- audio_info_t info;
- int rtsc_ok = RTSC_DISABLED;
- int len;
- void *silence = NULL;
- struct timeval start, end;
- struct timespec delay;
- int usec_delay;
- unsigned last_samplecnt;
- unsigned increment;
- unsigned min_increment;
-
- len = 44100 * 4 / 4; /* amount of data for 0.25sec of 44.1khz, stereo,
- * 16bit. 44kbyte can be sent to all supported
- * sun audio devices without blocking in the
- * "write" below.
- */
- silence = calloc(1, len);
- if (silence == NULL)
- goto error;
-
- if ((fd = open(dev, O_WRONLY)) < 0)
- goto error;
-
- AUDIO_INITINFO(&info);
- info.play.sample_rate = 44100;
- info.play.channels = AUDIO_CHANNELS_STEREO;
- info.play.precision = AUDIO_PRECISION_16;
- info.play.encoding = AUDIO_ENCODING_LINEAR;
- info.play.samples = 0;
- if (ioctl(fd, AUDIO_SETINFO, &info)) {
- if ( mp_msg_test(MSGT_AO,MSGL_V) )
- mp_tmsg(MSGT_AO, MSGL_ERR, "[AO SUN] rtsc: SETINFO failed.\n");
- goto error;
- }
-
- if (write(fd, silence, len) != len) {
- if ( mp_msg_test(MSGT_AO,MSGL_V) )
- mp_tmsg(MSGT_AO, MSGL_ERR, "[AO SUN] rtsc: write failed.\n");
- goto error;
- }
-
- if (ioctl(fd, AUDIO_GETINFO, &info)) {
- if ( mp_msg_test(MSGT_AO,MSGL_V) )
- perror("rtsc: GETINFO1");
- goto error;
- }
-
- last_samplecnt = info.play.samples;
- min_increment = ~0;
-
- gettimeofday(&start, NULL);
- for (;;) {
- delay.tv_sec = 0;
- delay.tv_nsec = 10000000;
- nanosleep(&delay, NULL);
- gettimeofday(&end, NULL);
- usec_delay = (end.tv_sec - start.tv_sec) * 1000000
- + end.tv_usec - start.tv_usec;
-
- // stop monitoring sample counter after 0.2 seconds
- if (usec_delay > 200000)
- break;
-
- if (ioctl(fd, AUDIO_GETINFO, &info)) {
- if ( mp_msg_test(MSGT_AO,MSGL_V) )
- perror("rtsc: GETINFO2 failed");
- goto error;
- }
- if (info.play.samples < last_samplecnt) {
- if ( mp_msg_test(MSGT_AO,MSGL_V) )
- mp_msg(MSGT_AO,MSGL_V,"rtsc: %d > %d?\n", last_samplecnt, info.play.samples);
- goto error;
- }
-
- if ((increment = info.play.samples - last_samplecnt) > 0) {
- if ( mp_msg_test(MSGT_AO,MSGL_V) )
- mp_msg(MSGT_AO,MSGL_V,"ao_sun: sample counter increment: %d\n", increment);
- if (increment < min_increment) {
- min_increment = increment;
- if (min_increment < 2000)
- break; // looks good
- }
- }
- last_samplecnt = info.play.samples;
- }
-
- /*
- * For 44.1kkz, stereo, 16-bit format we would send sound data in 16kbytes
- * chunks (== 4096 samples) to the audio device. If we see a minimum
- * sample counter increment from the soundcard driver of less than
- * 2000 samples, we assume that the driver provides a useable realtime
- * sample counter in the AUDIO_INFO play.samples field. Timing based
- * on sample counts should be much more accurate than counting whole
- * 16kbyte chunks.
- */
- if (min_increment < 2000)
- rtsc_ok = RTSC_ENABLED;
-
- if ( mp_msg_test(MSGT_AO,MSGL_V) )
- mp_msg(MSGT_AO,MSGL_V,"ao_sun: minimum sample counter increment per 10msec interval: %d\n"
- "\t%susing sample counter based timing code\n",
- min_increment, rtsc_ok == RTSC_ENABLED ? "" : "not ");
-
-
-error:
- free(silence);
- if (fd >= 0) {
- // remove the 0 bytes from the above measurement from the
- // audio driver's STREAMS queue
- flush_audio(fd);
- close(fd);
- }
-
- return rtsc_ok;
-}
-
-
-// match the requested sample rate |sample_rate| against the
-// sample rates supported by the audio device |dev|. Return
-// a supported sample rate, if that sample rate is close to
-// (< 1% difference) the requested rate; return 0 otherwise.
-
-#define MAX_RATE_ERR 1
-
-static unsigned
-find_close_samplerate_match(int dev, unsigned sample_rate)
-{
-#if HAVE_SYS_MIXER_H
- am_sample_rates_t *sr;
- unsigned i, num, err, best_err, best_rate;
-
- for (num = 16; num < 1024; num *= 2) {
- sr = malloc(AUDIO_MIXER_SAMP_RATES_STRUCT_SIZE(num));
- if (!sr)
- return 0;
- sr->type = AUDIO_PLAY;
- sr->flags = 0;
- sr->num_samp_rates = num;
- if (ioctl(dev, AUDIO_MIXER_GET_SAMPLE_RATES, sr)) {
- free(sr);
- return 0;
- }
- if (sr->num_samp_rates <= num)
- break;
- free(sr);
- }
-
- if (sr->flags & MIXER_SR_LIMITS) {
- /*
- * HW can playback any rate between
- * sr->samp_rates[0] .. sr->samp_rates[1]
- */
- free(sr);
- return 0;
- } else {
- /* HW supports fixed sample rates only */
-
- best_err = 65535;
- best_rate = 0;
-
- for (i = 0; i < sr->num_samp_rates; i++) {
- err = abs(sr->samp_rates[i] - sample_rate);
- if (err == 0) {
- /*
- * exact supported sample rate match, no need to
- * retry something else
- */
- best_rate = 0;
- break;
- }
- if (err < best_err) {
- best_err = err;
- best_rate = sr->samp_rates[i];
- }
- }
-
- free(sr);
-
- if (best_rate > 0 && (100/MAX_RATE_ERR)*best_err < sample_rate) {
- /* found a supported sample rate with <1% error? */
- return best_rate;
- }
- return 0;
- }
-#else /* old audioio driver, cannot return list of supported rates */
- /* XXX: hardcoded sample rates */
- unsigned i, err;
- unsigned audiocs_rates[] = {
- 5510, 6620, 8000, 9600, 11025, 16000, 18900, 22050,
- 27420, 32000, 33075, 37800, 44100, 48000, 0
- };
-
- for (i = 0; audiocs_rates[i]; i++) {
- err = abs(audiocs_rates[i] - sample_rate);
- if (err == 0) {
- /*
- * exact supported sample rate match, no need to
- * retry something elise
- */
- return 0;
- }
- if ((100/MAX_RATE_ERR)*err < audiocs_rates[i]) {
- /* <1% error? */
- return audiocs_rates[i];
- }
- }
-
- return 0;
-#endif
-}
-
-
-// return the highest sample rate supported by audio device |dev|.
-static unsigned
-find_highest_samplerate(int dev)
-{
-#if HAVE_SYS_MIXER_H
- am_sample_rates_t *sr;
- unsigned i, num, max_rate;
-
- for (num = 16; num < 1024; num *= 2) {
- sr = malloc(AUDIO_MIXER_SAMP_RATES_STRUCT_SIZE(num));
- if (!sr)
- return 0;
- sr->type = AUDIO_PLAY;
- sr->flags = 0;
- sr->num_samp_rates = num;
- if (ioctl(dev, AUDIO_MIXER_GET_SAMPLE_RATES, sr)) {
- free(sr);
- return 0;
- }
- if (sr->num_samp_rates <= num)
- break;
- free(sr);
- }
-
- if (sr->flags & MIXER_SR_LIMITS) {
- /*
- * HW can playback any rate between
- * sr->samp_rates[0] .. sr->samp_rates[1]
- */
- max_rate = sr->samp_rates[1];
- } else {
- /* HW supports fixed sample rates only */
- max_rate = 0;
- for (i = 0; i < sr->num_samp_rates; i++) {
- if (sr->samp_rates[i] > max_rate)
- max_rate = sr->samp_rates[i];
- }
- }
- free(sr);
- return max_rate;
-
-#else /* old audioio driver, cannot return list of supported rates */
- return 44100; /* should be supported even on old ISA SB cards */
-#endif
-}
-
-
-static void setup_device_paths(void)
-{
- if (audio_dev == NULL) {
- if ((audio_dev = getenv("AUDIODEV")) == NULL)
- audio_dev = "/dev/audio";
- }
-
- if (sun_mixer_device == NULL) {
- if ((sun_mixer_device = mixer_device) == NULL || !sun_mixer_device[0]) {
- sun_mixer_device = malloc(strlen(audio_dev) + 4);
- strcpy(sun_mixer_device, audio_dev);
- strcat(sun_mixer_device, "ctl");
- }
- }
-
- if (ao_subdevice) audio_dev = ao_subdevice;
-}
-
-// to set/get/query special features/parameters
-static int control(int cmd,void *arg){
- switch(cmd){
- case AOCONTROL_GET_VOLUME:
- {
- int fd;
-
- if ( !sun_mixer_device ) /* control function is used before init? */
- setup_device_paths();
-
- fd=open( sun_mixer_device,O_RDONLY );
- if ( fd != -1 )
- {
- ao_control_vol_t *vol = (ao_control_vol_t *)arg;
- float volume;
- struct audio_info info;
- ioctl( fd,AUDIO_GETINFO,&info);
- volume = info.play.gain * 100. / AUDIO_MAX_GAIN;
- if ( info.play.balance == AUDIO_MID_BALANCE ) {
- vol->right = vol->left = volume;
- } else if ( info.play.balance < AUDIO_MID_BALANCE ) {
- vol->left = volume;
- vol->right = volume * info.play.balance / AUDIO_MID_BALANCE;
- } else {
- vol->left = volume * (AUDIO_RIGHT_BALANCE-info.play.balance)
- / AUDIO_MID_BALANCE;
- vol->right = volume;
- }
- close( fd );
- return CONTROL_OK;
- }
- return CONTROL_ERROR;
- }
- case AOCONTROL_SET_VOLUME:
- {
- ao_control_vol_t *vol = (ao_control_vol_t *)arg;
- int fd;
-
- if ( !sun_mixer_device ) /* control function is used before init? */
- setup_device_paths();
-
- fd=open( sun_mixer_device,O_RDONLY );
- if ( fd != -1 )
- {
- struct audio_info info;
- float volume;
- AUDIO_INITINFO(&info);
- volume = vol->right > vol->left ? vol->right : vol->left;
- if ( volume != 0 ) {
- info.play.gain = volume * AUDIO_MAX_GAIN / 100;
- if ( vol->right == vol->left )
- info.play.balance = AUDIO_MID_BALANCE;
- else
- info.play.balance = (vol->right - vol->left + volume) * AUDIO_RIGHT_BALANCE / (2*volume);
- }
-#if !defined (__OpenBSD__) && !defined (__NetBSD__)
- info.output_muted = (volume == 0);
-#endif
- ioctl( fd,AUDIO_SETINFO,&info );
- close( fd );
- return CONTROL_OK;
- }
- return CONTROL_ERROR;
- }
- }
- return CONTROL_UNKNOWN;
-}
-
-// open & setup audio device
-// return: 1=success 0=fail
-static int init(int rate,int channels,int format,int flags){
-
- audio_info_t info;
- int pass;
- int ok;
- int convert_u8_s8;
-
- setup_device_paths();
-
- if (enable_sample_timing == RTSC_UNKNOWN
- && !getenv("AO_SUN_DISABLE_SAMPLE_TIMING")) {
- enable_sample_timing = realtime_samplecounter_available(audio_dev);
- }
-
- mp_msg(MSGT_AO,MSGL_STATUS,"ao2: %d Hz %d chans %s [0x%X]\n",
- rate,channels,af_fmt2str_short(format),format);
-
- audio_fd=open(audio_dev, O_WRONLY);
- if(audio_fd<0){
- mp_tmsg(MSGT_AO, MSGL_ERR, "[AO SUN] Can't open audio device %s, %s -> nosound.\n", audio_dev, strerror(errno));
- return 0;
- }
-
- if (af2sunfmt(format) == AUDIO_ENCODING_NONE)
- format = AF_FORMAT_S16_NE;
-
- for (ok = pass = 0; pass <= 5; pass++) { /* pass 6&7 not useful */
-
- AUDIO_INITINFO(&info);
- info.play.encoding = af2sunfmt(ao_data.format = format);
- info.play.precision =
- (format==AF_FORMAT_S16_NE
- ? AUDIO_PRECISION_16
- : AUDIO_PRECISION_8);
- info.play.channels = ao_data.channels = channels;
- info.play.sample_rate = ao_data.samplerate = rate;
-
- convert_u8_s8 = 0;
-
- if (pass & 1) {
- /*
- * on some sun audio drivers, 8-bit unsigned LINEAR8 encoding is
- * not supported, but 8-bit signed encoding is.
- *
- * Try S8, and if it works, use our own U8->S8 conversion before
- * sending the samples to the sound driver.
- */
-#ifdef AUDIO_ENCODING_LINEAR8
- if (info.play.encoding != AUDIO_ENCODING_LINEAR8)
-#endif
- continue;
- info.play.encoding = AUDIO_ENCODING_LINEAR;
- convert_u8_s8 = 1;
- }
-
- if (pass & 2) {
- /*
- * on some sun audio drivers, only certain fixed sample rates are
- * supported.
- *
- * In case the requested sample rate is very close to one of the
- * supported rates, use the fixed supported rate instead.
- */
- if (!(info.play.sample_rate =
- find_close_samplerate_match(audio_fd, rate)))
- continue;
-
- /*
- * I'm not returning the correct sample rate in
- * |ao_data.samplerate|, to avoid software resampling.
- *
- * ao_data.samplerate = info.play.sample_rate;
- */
- }
-
- if (pass & 4) {
- /* like "pass & 2", but use the highest supported sample rate */
- if (!(info.play.sample_rate
- = ao_data.samplerate
- = find_highest_samplerate(audio_fd)))
- continue;
- }
-
- ok = ioctl(audio_fd, AUDIO_SETINFO, &info) >= 0;
- if (ok) {
- /* audio format accepted by audio driver */
- break;
- }
-
- /*
- * format not supported?
- * retry with different encoding and/or sample rate
- */
- }
-
- if (!ok) {
- char buf[128];
- mp_tmsg(MSGT_AO, MSGL_ERR, "[AO SUN] audio_setup: your card doesn't support %d channel, %s, %d Hz samplerate.\n",
- channels, af_fmt2str(format, buf, 128), rate);
- return 0;
- }
-
- if (convert_u8_s8)
- ao_data.format = AF_FORMAT_S8;
-
- bytes_per_sample = channels * info.play.precision / 8;
- ao_data.bps = byte_per_sec = bytes_per_sample * ao_data.samplerate;
- ao_data.outburst = byte_per_sec > 100000 ? 16384 : 8192;
-
- reset();
-
- return 1;
-}
-
-// close audio device
-static void uninit(int immed){
- // throw away buffered data in the audio driver's STREAMS queue
- if (immed)
- flush_audio(audio_fd);
- else
- ioctl(audio_fd, AUDIO_DRAIN, 0);
- close(audio_fd);
-}
-
-// stop playing and empty buffers (for seeking/pause)
-static void reset(void){
- audio_info_t info;
- flush_audio(audio_fd);
-
- AUDIO_INITINFO(&info);
- info.play.samples = 0;
- info.play.eof = 0;
- info.play.error = 0;
- ioctl(audio_fd, AUDIO_SETINFO, &info);
-
- queued_bursts = 0;
- queued_samples = 0;
-}
-
-// stop playing, keep buffers (for pause)
-static void audio_pause(void)
-{
- struct audio_info info;
- AUDIO_INITINFO(&info);
- info.play.pause = 1;
- ioctl(audio_fd, AUDIO_SETINFO, &info);
-}
-
-// resume playing, after audio_pause()
-static void audio_resume(void)
-{
- struct audio_info info;
- AUDIO_INITINFO(&info);
- info.play.pause = 0;
- ioctl(audio_fd, AUDIO_SETINFO, &info);
-}
-
-
-// return: how many bytes can be played without blocking
-static int get_space(void){
- audio_info_t info;
-
- // check buffer
-#ifdef HAVE_AUDIO_SELECT
- {
- fd_set rfds;
- struct timeval tv;
- FD_ZERO(&rfds);
- FD_SET(audio_fd, &rfds);
- tv.tv_sec = 0;
- tv.tv_usec = 0;
- if(!select(audio_fd+1, NULL, &rfds, NULL, &tv)) return 0; // not block!
- }
-#endif
-
- ioctl(audio_fd, AUDIO_GETINFO, &info);
-#if !defined (__OpenBSD__) && !defined(__NetBSD__)
- if (queued_bursts - info.play.eof > 2)
- return 0;
- return ao_data.outburst;
-#else
- return info.hiwat * info.blocksize - info.play.seek;
-#endif
-
-}
-
-// plays 'len' bytes of 'data'
-// it should round it down to outburst*n
-// return: number of bytes played
-static int play(void* data,int len,int flags){
- if (!(flags & AOPLAY_FINAL_CHUNK)) {
- len /= ao_data.outburst;
- len *= ao_data.outburst;
- }
- if (len <= 0) return 0;
-
- len = write(audio_fd, data, len);
- if(len > 0) {
- queued_samples += len / bytes_per_sample;
- if (write(audio_fd,data,0) < 0)
- perror("ao_sun: send EOF audio record");
- else
- queued_bursts ++;
- }
- return len;
-}
-
-
-// return: delay in seconds between first and last sample in buffer
-static float get_delay(void){
- audio_info_t info;
- ioctl(audio_fd, AUDIO_GETINFO, &info);
-#if defined (__OpenBSD__) || defined(__NetBSD__)
- return (float) info.play.seek/ (float)byte_per_sec ;
-#else
- if (info.play.samples && enable_sample_timing == RTSC_ENABLED)
- return (float)(queued_samples - info.play.samples) / (float)ao_data.samplerate;
- else
- return (float)((queued_bursts - info.play.eof) * ao_data.outburst) / (float)byte_per_sec;
-#endif
-}
diff --git a/libao2/ao_win32.c b/libao2/ao_win32.c
deleted file mode 100644
index 55ed17b..0000000
--- a/libao2/ao_win32.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Windows waveOut interface
- *
- * Copyright (c) 2002 - 2004 Sascha Sommer <saschasommer at freenet.de>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <windows.h>
-#include <mmsystem.h>
-
-#include "config.h"
-#include "libaf/af_format.h"
-#include "audio_out.h"
-#include "audio_out_internal.h"
-#include "mp_msg.h"
-#include "libvo/fastmemcpy.h"
-#include "osdep/timer.h"
-
-#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
-#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
-
-static const GUID KSDATAFORMAT_SUBTYPE_PCM = {
- 0x1,0x0000,0x0010,{0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71}
-};
-
-typedef struct {
- WAVEFORMATEX Format;
- union {
- WORD wValidBitsPerSample;
- WORD wSamplesPerBlock;
- WORD wReserved;
- } Samples;
- DWORD dwChannelMask;
- GUID SubFormat;
-} WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
-
-#define SPEAKER_FRONT_LEFT 0x1
-#define SPEAKER_FRONT_RIGHT 0x2
-#define SPEAKER_FRONT_CENTER 0x4
-#define SPEAKER_LOW_FREQUENCY 0x8
-#define SPEAKER_BACK_LEFT 0x10
-#define SPEAKER_BACK_RIGHT 0x20
-#define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
-#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
-#define SPEAKER_BACK_CENTER 0x100
-#define SPEAKER_SIDE_LEFT 0x200
-#define SPEAKER_SIDE_RIGHT 0x400
-#define SPEAKER_TOP_CENTER 0x800
-#define SPEAKER_TOP_FRONT_LEFT 0x1000
-#define SPEAKER_TOP_FRONT_CENTER 0x2000
-#define SPEAKER_TOP_FRONT_RIGHT 0x4000
-#define SPEAKER_TOP_BACK_LEFT 0x8000
-#define SPEAKER_TOP_BACK_CENTER 0x10000
-#define SPEAKER_TOP_BACK_RIGHT 0x20000
-
-static const int channel_mask[] = {
- SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY,
- SPEAKER_FRONT_LEFT | SPEAKER_FRONT_CENTER | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY,
- SPEAKER_FRONT_LEFT | SPEAKER_FRONT_CENTER | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_CENTER | SPEAKER_LOW_FREQUENCY,
- SPEAKER_FRONT_LEFT | SPEAKER_FRONT_CENTER | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_LOW_FREQUENCY
-};
-
-
-
-#define SAMPLESIZE 1024
-#define BUFFER_SIZE 4096
-#define BUFFER_COUNT 16
-
-
-static WAVEHDR* waveBlocks; //pointer to our ringbuffer memory
-static HWAVEOUT hWaveOut; //handle to the waveout device
-static unsigned int buf_write=0;
-static volatile int buf_read=0;
-
-
-static const ao_info_t info =
-{
- "Windows waveOut audio output",
- "win32",
- "Sascha Sommer <saschasommer at freenet.de>",
- ""
-};
-
-LIBAO_EXTERN(win32)
-
-static void CALLBACK waveOutProc(HWAVEOUT hWaveOut,UINT uMsg,DWORD dwInstance,
- DWORD dwParam1,DWORD dwParam2)
-{
- if(uMsg != WOM_DONE)
- return;
- buf_read = (buf_read + 1) % BUFFER_COUNT;
-}
-
-// to set/get/query special features/parameters
-static int control(int cmd,void *arg)
-{
- DWORD volume;
- switch (cmd)
- {
- case AOCONTROL_GET_VOLUME:
- {
- ao_control_vol_t* vol = (ao_control_vol_t*)arg;
- waveOutGetVolume(hWaveOut,&volume);
- vol->left = (float)(LOWORD(volume)/655.35);
- vol->right = (float)(HIWORD(volume)/655.35);
- mp_msg(MSGT_AO, MSGL_DBG2,"ao_win32: volume left:%f volume right:%f\n",vol->left,vol->right);
- return CONTROL_OK;
- }
- case AOCONTROL_SET_VOLUME:
- {
- ao_control_vol_t* vol = (ao_control_vol_t*)arg;
- volume = MAKELONG(vol->left*655.35,vol->right*655.35);
- waveOutSetVolume(hWaveOut,volume);
- return CONTROL_OK;
- }
- }
- return -1;
-}
-
-// open & setup audio device
-// return: 1=success 0=fail
-static int init(int rate,int channels,int format,int flags)
-{
- WAVEFORMATEXTENSIBLE wformat;
- MMRESULT result;
- unsigned char* buffer;
- int i;
-
- if (AF_FORMAT_IS_AC3(format))
- format = AF_FORMAT_AC3_NE;
- switch(format){
- case AF_FORMAT_AC3_NE:
- case AF_FORMAT_S24_LE:
- case AF_FORMAT_S16_LE:
- case AF_FORMAT_U8:
- break;
- default:
- mp_msg(MSGT_AO, MSGL_V,"ao_win32: format %s not supported defaulting to Signed 16-bit Little-Endian\n",af_fmt2str_short(format));
- format=AF_FORMAT_S16_LE;
- }
-
- // FIXME multichannel mode is buggy
- if(channels > 2)
- channels = 2;
-
- //fill global ao_data
- ao_data.channels=channels;
- ao_data.samplerate=rate;
- ao_data.format=format;
- ao_data.bps=channels*rate;
- if(format != AF_FORMAT_U8 && format != AF_FORMAT_S8)
- ao_data.bps*=2;
- ao_data.outburst = BUFFER_SIZE;
- if(ao_data.buffersize==-1)
- {
- ao_data.buffersize=af_fmt2bits(format)/8;
- ao_data.buffersize*= channels;
- ao_data.buffersize*= SAMPLESIZE;
- }
- mp_msg(MSGT_AO, MSGL_V,"ao_win32: Samplerate:%iHz Channels:%i Format:%s\n",rate, channels, af_fmt2str_short(format));
- mp_msg(MSGT_AO, MSGL_V,"ao_win32: Buffersize:%d\n",ao_data.buffersize);
-
- //fill waveformatex
- ZeroMemory( &wformat, sizeof(WAVEFORMATEXTENSIBLE));
- wformat.Format.cbSize = (channels>2)?sizeof(WAVEFORMATEXTENSIBLE)-sizeof(WAVEFORMATEX):0;
- wformat.Format.nChannels = channels;
- wformat.Format.nSamplesPerSec = rate;
- if(AF_FORMAT_IS_AC3(format))
- {
- wformat.Format.wFormatTag = WAVE_FORMAT_DOLBY_AC3_SPDIF;
- wformat.Format.wBitsPerSample = 16;
- wformat.Format.nBlockAlign = 4;
- }
- else
- {
- wformat.Format.wFormatTag = (channels>2)?WAVE_FORMAT_EXTENSIBLE:WAVE_FORMAT_PCM;
- wformat.Format.wBitsPerSample = af_fmt2bits(format);
- wformat.Format.nBlockAlign = wformat.Format.nChannels * (wformat.Format.wBitsPerSample >> 3);
- }
- if(channels>2)
- {
- wformat.dwChannelMask = channel_mask[channels-3];
- wformat.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
- wformat.Samples.wValidBitsPerSample=af_fmt2bits(format);
- }
-
- wformat.Format.nAvgBytesPerSec = wformat.Format.nSamplesPerSec * wformat.Format.nBlockAlign;
-
- //open sound device
- //WAVE_MAPPER always points to the default wave device on the system
- result = waveOutOpen(&hWaveOut,WAVE_MAPPER,(WAVEFORMATEX*)&wformat,(DWORD_PTR)waveOutProc,0,CALLBACK_FUNCTION);
- if(result == WAVERR_BADFORMAT)
- {
- mp_msg(MSGT_AO, MSGL_ERR,"ao_win32: format not supported switching to default\n");
- ao_data.channels = wformat.Format.nChannels = 2;
- ao_data.samplerate = wformat.Format.nSamplesPerSec = 44100;
- ao_data.format = AF_FORMAT_S16_LE;
- ao_data.bps=ao_data.channels * ao_data.samplerate*2;
- wformat.Format.wBitsPerSample=16;
- wformat.Format.wFormatTag=WAVE_FORMAT_PCM;
- wformat.Format.nBlockAlign = wformat.Format.nChannels * (wformat.Format.wBitsPerSample >> 3);
- wformat.Format.nAvgBytesPerSec = wformat.Format.nSamplesPerSec * wformat.Format.nBlockAlign;
- ao_data.buffersize=(wformat.Format.wBitsPerSample>>3)*wformat.Format.nChannels*SAMPLESIZE;
- result = waveOutOpen(&hWaveOut,WAVE_MAPPER,(WAVEFORMATEX*)&wformat,(DWORD_PTR)waveOutProc,0,CALLBACK_FUNCTION);
- }
- if(result != MMSYSERR_NOERROR)
- {
- mp_msg(MSGT_AO, MSGL_ERR,"ao_win32: unable to open wave mapper device (result=%i)\n",result);
- return 0;
- }
- //allocate buffer memory as one big block
- buffer = calloc(BUFFER_COUNT, BUFFER_SIZE + sizeof(WAVEHDR));
- //and setup pointers to each buffer
- waveBlocks = (WAVEHDR*)buffer;
- buffer += sizeof(WAVEHDR) * BUFFER_COUNT;
- for(i = 0; i < BUFFER_COUNT; i++) {
- waveBlocks[i].lpData = buffer;
- buffer += BUFFER_SIZE;
- }
- buf_write=0;
- buf_read=0;
-
- return 1;
-}
-
-// close audio device
-static void uninit(int immed)
-{
- if(!immed)
- usec_sleep(get_delay() * 1000 * 1000);
- else
- waveOutReset(hWaveOut);
- while (waveOutClose(hWaveOut) == WAVERR_STILLPLAYING) usec_sleep(0);
- mp_msg(MSGT_AO, MSGL_V,"waveOut device closed\n");
- free(waveBlocks);
- mp_msg(MSGT_AO, MSGL_V,"buffer memory freed\n");
-}
-
-// stop playing and empty buffers (for seeking/pause)
-static void reset(void)
-{
- waveOutReset(hWaveOut);
- buf_write=0;
- buf_read=0;
-}
-
-// stop playing, keep buffers (for pause)
-static void audio_pause(void)
-{
- waveOutPause(hWaveOut);
-}
-
-// resume playing, after audio_pause()
-static void audio_resume(void)
-{
- waveOutRestart(hWaveOut);
-}
-
-// return: how many bytes can be played without blocking
-static int get_space(void)
-{
- int free = buf_read - buf_write - 1;
- if (free < 0) free += BUFFER_COUNT;
- return free * BUFFER_SIZE;
-}
-
-//writes data into buffer, based on ringbuffer code in ao_sdl.c
-static int write_waveOutBuffer(unsigned char* data,int len){
- WAVEHDR* current;
- int len2=0;
- int x;
- while(len>0){
- int buf_next = (buf_write + 1) % BUFFER_COUNT;
- current = &waveBlocks[buf_write];
- if(buf_next == buf_read) break;
- //unprepare the header if it is prepared
- if(current->dwFlags & WHDR_PREPARED)
- waveOutUnprepareHeader(hWaveOut, current, sizeof(WAVEHDR));
- x=BUFFER_SIZE;
- if(x>len) x=len;
- fast_memcpy(current->lpData,data+len2,x);
- len2+=x; len-=x;
- //prepare header and write data to device
- current->dwBufferLength = x;
- waveOutPrepareHeader(hWaveOut, current, sizeof(WAVEHDR));
- waveOutWrite(hWaveOut, current, sizeof(WAVEHDR));
-
- buf_write = buf_next;
- }
- return len2;
-}
-
-// plays 'len' bytes of 'data'
-// it should round it down to outburst*n
-// return: number of bytes played
-static int play(void* data,int len,int flags)
-{
- if (!(flags & AOPLAY_FINAL_CHUNK))
- len = (len/ao_data.outburst)*ao_data.outburst;
- return write_waveOutBuffer(data,len);
-}
-
-// return: delay in seconds between first and last sample in buffer
-static float get_delay(void)
-{
- int used = buf_write - buf_read;
- if (used < 0) used += BUFFER_COUNT;
- return (float)(used * BUFFER_SIZE + ao_data.buffersize)/(float)ao_data.bps;
-}
diff --git a/libao2/audio_out.c b/libao2/audio_out.c
index 36b3e2d..9eafc77 100644
--- a/libao2/audio_out.c
+++ b/libao2/audio_out.c
@@ -34,25 +34,15 @@ char *ao_subdevice = NULL;
extern const struct ao_driver audio_out_oss;
extern const struct ao_driver audio_out_coreaudio;
-extern const struct ao_driver audio_out_arts;
extern const struct ao_driver audio_out_rsound;
-extern const struct ao_driver audio_out_esd;
extern const struct ao_driver audio_out_pulse;
extern const struct ao_driver audio_out_jack;
extern const struct ao_driver audio_out_openal;
extern const struct ao_driver audio_out_null;
extern const struct ao_driver audio_out_alsa;
-extern const struct ao_driver audio_out_nas;
extern const struct ao_driver audio_out_sdl;
-extern const struct ao_driver audio_out_sun;
-extern const struct ao_driver audio_out_sgi;
-extern const struct ao_driver audio_out_win32;
extern const struct ao_driver audio_out_dsound;
-extern const struct ao_driver audio_out_kai;
-extern const struct ao_driver audio_out_dart;
-extern const struct ao_driver audio_out_ivtv;
extern const struct ao_driver audio_out_v4l2;
-extern const struct ao_driver audio_out_mpegpes;
extern const struct ao_driver audio_out_pcm;
extern const struct ao_driver audio_out_pss;
extern const struct ao_driver audio_out_portaudio;
@@ -62,15 +52,6 @@ static const struct ao_driver * const audio_out_drivers[] = {
#ifdef CONFIG_DIRECTX
&audio_out_dsound,
#endif
-#ifdef CONFIG_WIN32WAVEOUT
- &audio_out_win32,
-#endif
-#ifdef CONFIG_KAI
- &audio_out_kai,
-#endif
-#ifdef CONFIG_DART
- &audio_out_dart,
-#endif
#ifdef CONFIG_COREAUDIO
&audio_out_coreaudio,
#endif
@@ -86,26 +67,16 @@ static const struct ao_driver * const audio_out_drivers[] = {
#ifdef CONFIG_PORTAUDIO
&audio_out_portaudio,
#endif
-#ifdef CONFIG_SUN_AUDIO
- &audio_out_sun,
-#endif
// wrappers:
#ifdef CONFIG_JACK
&audio_out_jack,
#endif
-#ifdef CONFIG_NAS
- &audio_out_nas,
-#endif
#ifdef CONFIG_OPENAL
&audio_out_openal,
#endif
#ifdef CONFIG_SDL
&audio_out_sdl,
#endif
- &audio_out_mpegpes,
-#ifdef CONFIG_IVTV
- &audio_out_ivtv,
-#endif
#ifdef CONFIG_V4L2_DECODER
&audio_out_v4l2,
#endif
@@ -134,7 +105,7 @@ void list_audio_out(void)
struct ao *ao_create(struct MPOpts *opts, struct input_ctx *input)
{
struct ao *r = talloc(NULL, struct ao);
- *r = (struct ao){.outburst = OUTBURST, .buffersize = -1,
+ *r = (struct ao){.outburst = 512, .buffersize = -1,
.opts = opts, .input_ctx = input };
return r;
}
diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c
index 0bfc5e5..fb9ff43 100644
--- a/libmpcodecs/ad_ffmpeg.c
+++ b/libmpcodecs/ad_ffmpeg.c
@@ -23,7 +23,9 @@
#include <assert.h>
#include <libavcodec/avcodec.h>
+#include <libavutil/audioconvert.h>
#include <libavutil/opt.h>
+#include <libavutil/samplefmt.h>
#include "talloc.h"
@@ -36,13 +38,18 @@
#include "mpbswap.h"
+#ifdef CONFIG_LIBAVRESAMPLE
+#include <libavresample/avresample.h>
+#endif
+
static const ad_info_t info =
{
- "FFmpeg/libavcodec audio decoders",
+ "libavcodec audio decoders",
"ffmpeg",
- "Nick Kurshev",
- "ffmpeg.sf.net",
- ""
+ "",
+ "",
+ "",
+ .print_name = "libavcodec",
};
LIBAD_EXTERN(ffmpeg)
@@ -54,6 +61,15 @@ struct priv {
int output_left;
int unitsize;
int previous_data_left; // input demuxer packet data
+
+#ifdef CONFIG_LIBAVRESAMPLE
+ AVAudioResampleContext *avr;
+ enum AVSampleFormat resample_fmt;
+ enum AVSampleFormat out_fmt;
+ int resample_channels;
+ uint8_t *resample_buf;
+ uint64_t resample_buf_size;
+#endif
};
static int preinit(sh_audio_t *sh)
@@ -61,40 +77,107 @@ static int preinit(sh_audio_t *sh)
return 1;
}
+static const int sample_fmt_map[][2] = {
+ { AV_SAMPLE_FMT_U8, AF_FORMAT_U8 },
+ { AV_SAMPLE_FMT_S16, AF_FORMAT_S16_NE },
+ { AV_SAMPLE_FMT_S32, AF_FORMAT_S32_NE },
+ { AV_SAMPLE_FMT_FLT, AF_FORMAT_FLOAT_NE },
+};
+
+static int sample_fmt_lavc2native(enum AVSampleFormat sample_fmt)
+{
+ for (int i = 0; i < FF_ARRAY_ELEMS(sample_fmt_map); i++)
+ if (sample_fmt_map[i][0] == sample_fmt)
+ return sample_fmt_map[i][1];
+ return AF_FORMAT_UNKNOWN;
+}
+
/* Prefer playing audio with the samplerate given in container data
* if available, but take number the number of channels and sample format
* from the codec, since if the codec isn't using the correct values for
* those everything breaks anyway.
*/
-static int setup_format(sh_audio_t *sh_audio,
- const AVCodecContext *lavc_context)
+static int setup_format(sh_audio_t *sh_audio)
{
+ struct priv *priv = sh_audio->context;
+ AVCodecContext *codec = priv->avctx;
int sample_format = sh_audio->sample_format;
- switch (lavc_context->sample_fmt) {
- case AV_SAMPLE_FMT_U8: sample_format = AF_FORMAT_U8; break;
- case AV_SAMPLE_FMT_S16: sample_format = AF_FORMAT_S16_NE; break;
- case AV_SAMPLE_FMT_S32: sample_format = AF_FORMAT_S32_NE; break;
- case AV_SAMPLE_FMT_FLT: sample_format = AF_FORMAT_FLOAT_NE; break;
- default:
+
+ sample_format = sample_fmt_lavc2native(codec->sample_fmt);
+ if (sample_format == AF_FORMAT_UNKNOWN) {
+#ifndef CONFIG_LIBAVRESAMPLE
mp_msg(MSGT_DECAUDIO, MSGL_FATAL, "Unsupported sample format\n");
sample_format = AF_FORMAT_UNKNOWN;
+#else
+ if (priv->avr && (priv->resample_fmt != codec->sample_fmt ||
+ priv->resample_channels != codec->channels))
+ avresample_free(&priv->avr);
+
+ if (!priv->avr) {
+ int ret;
+ uint8_t error[128];
+ enum AVSampleFormat out_fmt =
+ av_get_packed_sample_fmt(codec->sample_fmt);
+ uint64_t ch_layout = codec->channel_layout;
+
+ mp_msg(MSGT_DECAUDIO, MSGL_V,
+ "(Re)initializing libavresample format conversion...\n");
+
+ if (!ch_layout)
+ ch_layout = av_get_default_channel_layout(codec->channels);
+
+ /* if lavc format is planar, try just getting packed equivalent */
+ sample_format = sample_fmt_lavc2native(out_fmt);
+ if (sample_format == AF_FORMAT_UNKNOWN) {
+ /* fallback to s16 */
+ out_fmt = AV_SAMPLE_FMT_S16;
+ sample_format = AF_FORMAT_S16_NE;
+ }
+
+ priv->avr = avresample_alloc_context();
+ if (!priv->avr) {
+ mp_msg(MSGT_DECAUDIO, MSGL_FATAL, "Out of memory.\n");
+ abort();
+ }
+ av_opt_set_int(priv->avr, "in_channel_layout", ch_layout, 0);
+ av_opt_set_int(priv->avr, "out_channel_layout", ch_layout, 0);
+ av_opt_set_int(priv->avr, "in_sample_rate", codec->sample_rate, 0);
+ av_opt_set_int(priv->avr, "out_sample_rate", codec->sample_rate, 0);
+ av_opt_set_int(priv->avr, "in_sample_fmt", codec->sample_fmt, 0);
+ av_opt_set_int(priv->avr, "out_sample_fmt", out_fmt, 0);
+
+ if ((ret = avresample_open(priv->avr)) < 0) {
+ av_strerror(ret, error, sizeof(error));
+ mp_msg(MSGT_DECAUDIO, MSGL_ERR,
+ "Error opening libavresample: %s.\n", error);
+ }
+ priv->resample_fmt = codec->sample_fmt;
+ priv->resample_channels = codec->channels;
+ priv->out_fmt = out_fmt;
+ priv->unitsize = av_get_bytes_per_sample(out_fmt) *
+ codec->channels;
+ } else
+ sample_format = sh_audio->sample_format;
+ } else if (priv->avr) {
+ avresample_free(&priv->avr);
+#endif
}
bool broken_srate = false;
- int samplerate = lavc_context->sample_rate;
+ int samplerate = codec->sample_rate;
int container_samplerate = sh_audio->container_out_samplerate;
if (!container_samplerate && sh_audio->wf)
container_samplerate = sh_audio->wf->nSamplesPerSec;
- if (lavc_context->codec_id == CODEC_ID_AAC
+ if (codec->codec_id == CODEC_ID_AAC
&& samplerate == 2 * container_samplerate)
broken_srate = true;
else if (container_samplerate)
samplerate = container_samplerate;
- if (lavc_context->channels != sh_audio->channels ||
+ if (codec->channels != sh_audio->channels ||
samplerate != sh_audio->samplerate ||
sample_format != sh_audio->sample_format) {
- sh_audio->channels = lavc_context->channels;
+ sh_audio->channels = codec->channels;
sh_audio->samplerate = samplerate;
sh_audio->sample_format = sample_format;
sh_audio->samplesize = af_fmt2bits(sh_audio->sample_format) / 8;
@@ -112,16 +195,31 @@ static int init(sh_audio_t *sh_audio)
AVCodecContext *lavc_context;
AVCodec *lavc_codec;
- mp_msg(MSGT_DECAUDIO, MSGL_V, "FFmpeg's libavcodec audio codec\n");
-
- lavc_codec = avcodec_find_decoder_by_name(sh_audio->codec->dll);
- if (!lavc_codec) {
- mp_tmsg(MSGT_DECAUDIO, MSGL_ERR,
- "Cannot find codec '%s' in libavcodec...\n",
- sh_audio->codec->dll);
+ if (sh_audio->codec->dll) {
+ lavc_codec = avcodec_find_decoder_by_name(sh_audio->codec->dll);
+ if (!lavc_codec) {
+ mp_tmsg(MSGT_DECAUDIO, MSGL_ERR,
+ "Cannot find codec '%s' in libavcodec...\n",
+ sh_audio->codec->dll);
+ return 0;
+ }
+ } else if (!sh_audio->libav_codec_id) {
+ mp_tmsg(MSGT_DECAUDIO, MSGL_INFO, "No Libav codec ID known. "
+ "Generic lavc decoder is not applicable.\n");
return 0;
+ } else {
+ lavc_codec = avcodec_find_decoder(sh_audio->libav_codec_id);
+ if (!lavc_codec) {
+ mp_tmsg(MSGT_DECAUDIO, MSGL_INFO, "Libavcodec has no decoder "
+ "for this codec\n");
+ return 0;
+ }
}
+ sh_audio->codecname = lavc_codec->long_name;
+ if (!sh_audio->codecname)
+ sh_audio->codecname = lavc_codec->name;
+
struct priv *ctx = talloc_zero(NULL, struct priv);
sh_audio->context = ctx;
lavc_context = avcodec_alloc_context3(lavc_codec);
@@ -141,6 +239,7 @@ static int init(sh_audio_t *sh_audio)
lavc_context->bits_per_coded_sample = sh_audio->wf->wBitsPerSample;
}
lavc_context->request_channels = opts->audio_output_channels;
+ lavc_context->request_sample_fmt = AV_SAMPLE_FMT_S16P;
lavc_context->codec_tag = sh_audio->format; //FOURCC
lavc_context->codec_type = AVMEDIA_TYPE_AUDIO;
lavc_context->codec_id = lavc_codec->id; // not sure if required, imho not --A'rpi
@@ -202,21 +301,12 @@ static int init(sh_audio_t *sh_audio)
if (sh_audio->wf && sh_audio->wf->nAvgBytesPerSec)
sh_audio->i_bps = sh_audio->wf->nAvgBytesPerSec;
- switch (lavc_context->sample_fmt) {
- case AV_SAMPLE_FMT_U8:
- case AV_SAMPLE_FMT_S16:
- case AV_SAMPLE_FMT_S32:
- case AV_SAMPLE_FMT_FLT:
- break;
- default:
- uninit(sh_audio);
- return 0;
- }
return 1;
}
static void uninit(sh_audio_t *sh)
{
+ sh->codecname = NULL;
struct priv *ctx = sh->context;
if (!ctx)
return;
@@ -228,7 +318,14 @@ static void uninit(sh_audio_t *sh)
av_freep(&lavc_context->extradata);
av_freep(&lavc_context);
}
+#ifdef CONFIG_LIBAVRESAMPLE
+ avresample_free(&ctx->avr);
+#endif
+#if LIBAVCODEC_VERSION_INT >= (54 << 16 | 28 << 8)
+ avcodec_free_frame(&ctx->avframe);
+#else
av_free(ctx->avframe);
+#endif
talloc_free(ctx);
sh->context = NULL;
}
@@ -274,6 +371,7 @@ static int decode_new_packet(struct sh_audio *sh)
start = mpkt->buffer + mpkt->len - priv->previous_data_left;
int consumed = ds_parse(sh->ds, &start, &insize, pts, 0);
priv->previous_data_left -= consumed;
+ priv->previous_data_left = FFMAX(priv->previous_data_left, 0);
}
AVPacket pkt;
@@ -297,24 +395,60 @@ static int decode_new_packet(struct sh_audio *sh)
mp_msg(MSGT_DECAUDIO, MSGL_V, "lavc_audio: error\n");
return -1;
}
- if (!sh->parser)
- priv->previous_data_left += insize - ret;
+ // The "insize >= ret" test is sanity check against decoder overreads
+ if (!sh->parser && insize >= ret)
+ priv->previous_data_left = insize - ret;
if (!got_frame)
return 0;
+
+ setup_format(sh);
+
+#ifdef CONFIG_LIBAVRESAMPLE
+ if (priv->avr) {
+ int ret;
+ uint64_t needed_size = av_samples_get_buffer_size(NULL, priv->resample_channels,
+ priv->avframe->nb_samples,
+ priv->resample_fmt, 0);
+ if (needed_size > priv->resample_buf_size) {
+ priv->resample_buf = talloc_realloc(priv, priv->resample_buf,
+ uint8_t, needed_size);
+ priv->resample_buf_size = needed_size;
+ }
+
+ ret = avresample_convert(priv->avr, &priv->resample_buf,
+ priv->resample_buf_size, priv->avframe->nb_samples,
+ priv->avframe->extended_data, priv->avframe->linesize[0],
+ priv->avframe->nb_samples);
+ if (ret < 0) {
+ uint8_t error[128];
+ av_strerror(ret, error, sizeof(error));
+ mp_msg(MSGT_DECAUDIO, MSGL_ERR, "Error during sample format conversion: %s.\n",
+ error);
+ return -1;
+ }
+
+ assert(ret == priv->avframe->nb_samples);
+
+ priv->output = priv->resample_buf;
+ priv->output_left = priv->unitsize * ret;
+ } else {
+#else
/* An error is reported later from output format checking, but make
* sure we don't crash by overreading first plane. */
- if (av_sample_fmt_is_planar(avctx->sample_fmt) && avctx->channels > 1)
- return 0;
- uint64_t unitsize = (uint64_t)av_get_bytes_per_sample(avctx->sample_fmt) *
- avctx->channels;
- if (unitsize > 100000)
- abort();
- priv->unitsize = unitsize;
- uint64_t output_left = unitsize * priv->avframe->nb_samples;
- if (output_left > 500000000)
- abort();
- priv->output_left = output_left;
- priv->output = priv->avframe->data[0];
+ if (!av_sample_fmt_is_planar(avctx->sample_fmt) || avctx->channels == 1) {
+#endif
+ uint64_t unitsize = (uint64_t)av_get_bytes_per_sample(avctx->sample_fmt) *
+ avctx->channels;
+ if (unitsize > 100000)
+ abort();
+ priv->unitsize = unitsize;
+ uint64_t output_left = unitsize * priv->avframe->nb_samples;
+ if (output_left > 500000000)
+ abort();
+ priv->output_left = output_left;
+ priv->output = priv->avframe->data[0];
+ }
+
mp_dbg(MSGT_DECAUDIO, MSGL_DBG2, "Decoded %d -> %d \n", insize,
priv->output_left);
return 0;
@@ -334,8 +468,6 @@ static int decode_audio(sh_audio_t *sh_audio, unsigned char *buf, int minlen,
break;
continue;
}
- if (setup_format(sh_audio, avctx))
- return len;
int size = (minlen - len + priv->unitsize - 1);
size -= size % priv->unitsize;
size = FFMIN(size, priv->output_left);
diff --git a/libmpcodecs/ad_mpg123.c b/libmpcodecs/ad_mpg123.c
index 21173a8..7450b55 100644
--- a/libmpcodecs/ad_mpg123.c
+++ b/libmpcodecs/ad_mpg123.c
@@ -93,14 +93,12 @@ static int preinit(sh_audio_t *sh)
if (!con->handle)
goto bad_end;
-#ifdef CONFIG_FAKE_MONO
/* Guessing here: Default value triggers forced upmix of mono to stereo. */
flag = fakemono == 0 ? MPG123_FORCE_STEREO :
fakemono == 1 ? MPG123_MONO_LEFT :
fakemono == 2 ? MPG123_MONO_RIGHT : 0;
if (mpg123_param(con->handle, MPG123_ADD_FLAGS, flag, 0.0) != MPG123_OK)
goto bad_end;
-#endif
/* Basic settings.
* Don't spill messages, enable better resync with non-seekable streams.
diff --git a/libmpcodecs/dec_audio.c b/libmpcodecs/dec_audio.c
index 2445649..5e7fe65 100644
--- a/libmpcodecs/dec_audio.c
+++ b/libmpcodecs/dec_audio.c
@@ -37,9 +37,7 @@
#include "libaf/af.h"
-#ifdef CONFIG_FAKE_MONO
int fakemono = 0;
-#endif
af_cfg_t af_cfg = { 1, NULL }; // Configuration for audio filters
@@ -96,14 +94,12 @@ static int init_audio_codec(sh_audio_t *sh_audio)
sh_audio->audio_out_minsize, base_size, sh_audio->a_buffer_size);
sh_audio->a_buffer = av_mallocz(sh_audio->a_buffer_size);
- if (!sh_audio->a_buffer) {
- mp_tmsg(MSGT_DECAUDIO, MSGL_ERR, "Cannot allocate audio out buffer.\n");
- return 0;
- }
+ if (!sh_audio->a_buffer)
+ abort();
sh_audio->a_buffer_len = 0;
if (!sh_audio->ad_driver->init(sh_audio)) {
- mp_tmsg(MSGT_DECAUDIO, MSGL_WARN, "ADecoder init failed :(\n");
+ mp_tmsg(MSGT_DECAUDIO, MSGL_V, "ADecoder init failed :(\n");
uninit_audio(sh_audio); // free buffers
return 0;
}
@@ -111,7 +107,8 @@ static int init_audio_codec(sh_audio_t *sh_audio)
sh_audio->initialized = 1;
if (!sh_audio->channels || !sh_audio->samplerate) {
- mp_tmsg(MSGT_DECAUDIO, MSGL_WARN, "Unknown/missing audio format -> no sound\n");
+ mp_tmsg(MSGT_DECAUDIO, MSGL_ERR, "Audio decoder did not specify "
+ "audio format!\n");
uninit_audio(sh_audio); // free buffers
return 0;
}
@@ -119,18 +116,6 @@ static int init_audio_codec(sh_audio_t *sh_audio)
if (!sh_audio->o_bps)
sh_audio->o_bps = sh_audio->channels * sh_audio->samplerate
* sh_audio->samplesize;
-
- mp_msg(MSGT_DECAUDIO, MSGL_INFO,
- "AUDIO: %d Hz, %d ch, %s, %3.1f kbit/%3.2f%% (ratio: %d->%d)\n",
- sh_audio->samplerate, sh_audio->channels,
- af_fmt2str_short(sh_audio->sample_format),
- sh_audio->i_bps * 8 * 0.001,
- ((float) sh_audio->i_bps / sh_audio->o_bps) * 100.0,
- sh_audio->i_bps, sh_audio->o_bps);
- mp_msg(MSGT_IDENTIFY, MSGL_INFO,
- "ID_AUDIO_BITRATE=%d\nID_AUDIO_RATE=%d\n" "ID_AUDIO_NCH=%d\n",
- sh_audio->i_bps * 8, sh_audio->samplerate, sh_audio->channels);
-
return 1;
}
@@ -181,13 +166,12 @@ static int init_audio(sh_audio_t *sh_audio, char *codecname, char *afm,
}
// it's available, let's try to init!
// init()
- mp_tmsg(MSGT_DECAUDIO, MSGL_INFO, "Opening audio decoder: [%s] %s\n",
+ mp_tmsg(MSGT_DECAUDIO, MSGL_V, "Opening audio decoder: [%s] %s\n",
mpadec->info->short_name, mpadec->info->name);
sh_audio->ad_driver = mpadec;
if (!init_audio_codec(sh_audio)) {
- mp_tmsg(MSGT_DECAUDIO, MSGL_WARN,
- "Could not open audio decoder %s.\n",
- mpadec->info->short_name);
+ mp_tmsg(MSGT_DECAUDIO, MSGL_WARN, "Audio decoder init failed for "
+ "codecs.conf entry \"%s\".\n", sh_audio->codec->name);
continue; // try next...
}
// Yeah! We got it!
@@ -251,8 +235,25 @@ int init_best_audio_codec(sh_audio_t *sh_audio, char **audio_codec_list,
return 0; // failed
}
- mp_tmsg(MSGT_DECAUDIO, MSGL_INFO, "Selected audio codec: [%s] afm: %s (%s)\n",
- sh_audio->codec->name, sh_audio->codec->drv, sh_audio->codec->info);
+ mp_tmsg(MSGT_DECAUDIO, MSGL_INFO, "Selected audio codec: %s [%s]\n",
+ sh_audio->codecname ? sh_audio->codecname : sh_audio->codec->info,
+ sh_audio->ad_driver->info->print_name ?
+ sh_audio->ad_driver->info->print_name :
+ sh_audio->ad_driver->info->short_name);
+ mp_tmsg(MSGT_DECAUDIO, MSGL_V,
+ "Audio codecs.conf entry: %s (%s) afm: %s\n",
+ sh_audio->codec->name, sh_audio->codec->info, sh_audio->codec->drv);
+ mp_msg(MSGT_DECAUDIO, MSGL_INFO,
+ "AUDIO: %d Hz, %d ch, %s, %3.1f kbit/%3.2f%% (ratio: %d->%d)\n",
+ sh_audio->samplerate, sh_audio->channels,
+ af_fmt2str_short(sh_audio->sample_format),
+ sh_audio->i_bps * 8 * 0.001,
+ ((float) sh_audio->i_bps / sh_audio->o_bps) * 100.0,
+ sh_audio->i_bps, sh_audio->o_bps);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO,
+ "ID_AUDIO_BITRATE=%d\nID_AUDIO_RATE=%d\n" "ID_AUDIO_NCH=%d\n",
+ sh_audio->i_bps * 8, sh_audio->samplerate, sh_audio->channels);
+
return 1; // success
}
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index 14cf029..e704a39 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -146,9 +146,15 @@ void get_detected_video_colorspace(struct sh_video *sh, struct mp_csp_details *c
csp->levels_out = opts->requested_output_range;
if (csp->format == MP_CSP_AUTO)
+ csp->format = sh->colorspace;
+ if (csp->format == MP_CSP_AUTO)
csp->format = mp_csp_guess_colorspace(vf->w, vf->h);
+
+ if (csp->levels_in == MP_CSP_LEVELS_AUTO)
+ csp->levels_in = sh->color_range;
if (csp->levels_in == MP_CSP_LEVELS_AUTO)
csp->levels_in = MP_CSP_LEVELS_TV;
+
if (csp->levels_out == MP_CSP_LEVELS_AUTO)
csp->levels_out = MP_CSP_LEVELS_PC;
}
@@ -310,13 +316,14 @@ static int init_video(sh_video_t *sh_video, char *codecname, char *vfm,
// init()
const struct vd_functions *vd = sh_video->vd_driver;
- mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "Opening video decoder: [%s] %s\n",
+ mp_tmsg(MSGT_DECVIDEO, MSGL_V, "Opening video decoder: [%s] %s\n",
vd->info->short_name, vd->info->name);
// clear vf init error, it is no longer relevant
if (sh_video->vf_initialized < 0)
sh_video->vf_initialized = 0;
if (!vd->init(sh_video)) {
- mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "VDecoder init failed :(\n");
+ mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "Video decoder init failed for "
+ "codecs.conf entry \"%s\".\n", sh_video->codec->name);
sh_video->disp_w = orig_w;
sh_video->disp_h = orig_h;
if (sh_video->bih) {
@@ -389,8 +396,14 @@ int init_best_video_codec(sh_video_t *sh_video, char **video_codec_list,
return 0; // failed
}
- mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "Selected video codec: [%s] vfm: %s (%s)\n",
- sh_video->codec->name, sh_video->codec->drv, sh_video->codec->info);
+ mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "Selected video codec: %s [%s]\n",
+ sh_video->codecname ? sh_video->codecname : sh_video->codec->info,
+ sh_video->vd_driver->info->print_name ?
+ sh_video->vd_driver->info->print_name :
+ sh_video->vd_driver->info->short_name);
+ mp_tmsg(MSGT_DECVIDEO, MSGL_V,
+ "Video codecs.conf entry: %s (%s) vfm: %s\n",
+ sh_video->codec->name, sh_video->codec->info, sh_video->codec->drv);
return 1; // success
}
diff --git a/libmpcodecs/img_format.c b/libmpcodecs/img_format.c
index c6d3e82..50d2fe3 100644
--- a/libmpcodecs/img_format.c
+++ b/libmpcodecs/img_format.c
@@ -21,101 +21,216 @@
#include "stdio.h"
#include "mpbswap.h"
+// Used by option parsing and codecs.conf parsing
+const struct imgfmt_name mp_imgfmt_list[] = {
+ {"444p16le", IMGFMT_444P16_LE},
+ {"444p16be", IMGFMT_444P16_BE},
+ {"444p10le", IMGFMT_444P10_LE},
+ {"444p10be", IMGFMT_444P10_BE},
+ {"444p9le", IMGFMT_444P9_LE},
+ {"444p9be", IMGFMT_444P9_BE},
+ {"422p16le", IMGFMT_422P16_LE},
+ {"422p16be", IMGFMT_422P16_BE},
+ {"422p10le", IMGFMT_422P10_LE},
+ {"422p10be", IMGFMT_422P10_BE},
+ {"422p9le", IMGFMT_422P9_LE},
+ {"422p9be", IMGFMT_422P9_BE},
+ {"420p16le", IMGFMT_420P16_LE},
+ {"420p16be", IMGFMT_420P16_BE},
+ {"420p10le", IMGFMT_420P10_LE},
+ {"420p10be", IMGFMT_420P10_BE},
+ {"420p9le", IMGFMT_420P9_LE},
+ {"420p9be", IMGFMT_420P9_BE},
+ {"444p16", IMGFMT_444P16},
+ {"444p10", IMGFMT_444P10},
+ {"444p9", IMGFMT_444P9},
+ {"422p16", IMGFMT_422P16},
+ {"422p10", IMGFMT_422P10},
+ {"422p9", IMGFMT_422P9},
+ {"420p10", IMGFMT_420P10},
+ {"420p9", IMGFMT_420P9},
+ {"420p16", IMGFMT_420P16},
+ {"420a", IMGFMT_420A},
+ {"444p", IMGFMT_444P},
+ {"422p", IMGFMT_422P},
+ {"411p", IMGFMT_411P},
+ {"440p", IMGFMT_440P},
+ {"yuy2", IMGFMT_YUY2},
+ {"yvyu", IMGFMT_YVYU},
+ {"uyvy", IMGFMT_UYVY},
+ {"yvu9", IMGFMT_YVU9},
+ {"if09", IMGFMT_IF09},
+ {"yv12", IMGFMT_YV12},
+ {"i420", IMGFMT_I420},
+ {"iyuv", IMGFMT_IYUV},
+ {"clpl", IMGFMT_CLPL},
+ {"hm12", IMGFMT_HM12},
+ {"y800", IMGFMT_Y800},
+ {"y8", IMGFMT_Y8},
+ {"nv12", IMGFMT_NV12},
+ {"nv21", IMGFMT_NV21},
+ {"bgr24", IMGFMT_BGR24},
+ {"bgr32", IMGFMT_BGR32},
+ {"bgr16", IMGFMT_BGR16},
+ {"Bgr15", IMGFMT_BGR15},
+ {"bgr12", IMGFMT_BGR12},
+ {"bgr8", IMGFMT_BGR8},
+ {"bgr4", IMGFMT_BGR4},
+ {"bg4b", IMGFMT_BG4B},
+ {"bgr1", IMGFMT_BGR1},
+ {"rgb48be", IMGFMT_RGB48BE},
+ {"rgb48le", IMGFMT_RGB48LE},
+ {"rgb48ne", IMGFMT_RGB48NE},
+ {"rgb24", IMGFMT_RGB24},
+ {"rgb32", IMGFMT_RGB32},
+ {"rgb16", IMGFMT_RGB16},
+ {"rgb15", IMGFMT_RGB15},
+ {"rgb12", IMGFMT_RGB12},
+ {"rgb8", IMGFMT_RGB8},
+ {"rgb4", IMGFMT_RGB4},
+ {"rg4b", IMGFMT_RG4B},
+ {"rgb1", IMGFMT_RGB1},
+ {"rgba", IMGFMT_RGBA},
+ {"argb", IMGFMT_ARGB},
+ {"bgra", IMGFMT_BGRA},
+ {"abgr", IMGFMT_ABGR},
+ {"gbrp", IMGFMT_GBRP},
+ {"gbrp9", IMGFMT_GBRP9},
+ {"gbrp9le", IMGFMT_GBRP9LE},
+ {"gbrp9be", IMGFMT_GBRP9BE},
+ {"gbrp10", IMGFMT_GBRP10},
+ {"gbrp10le", IMGFMT_GBRP10LE},
+ {"gbrp10be", IMGFMT_GBRP10BE},
+ {"mjpeg", IMGFMT_MJPEG},
+ {"mjpg", IMGFMT_MJPEG},
+ { NULL, 0 }
+};
+
+// used in codecs.conf only
+static const struct imgfmt_name special_imgfmts[] = {
+ {"mpes", IMGFMT_MPEGPES},
+ {"vdpau_h264", IMGFMT_VDPAU_H264},
+ {"vdpau_mpeg1", IMGFMT_VDPAU_MPEG1},
+ {"vdpau_mpeg2", IMGFMT_VDPAU_MPEG2},
+ {"vdpau_mpeg4", IMGFMT_VDPAU_MPEG4},
+ {"vdpau_wmv3", IMGFMT_VDPAU_WMV3},
+ {"vdpau_vc1", IMGFMT_VDPAU_VC1},
+ { NULL, 0 }
+};
+
+unsigned int imgfmt_parse(struct bstr name, bool special_fmts)
+{
+ for (int i = 0; mp_imgfmt_list[i].name; i++)
+ if (!bstrcasecmp0(name, mp_imgfmt_list[i].name))
+ return mp_imgfmt_list[i].fmt;
+ if (!special_fmts)
+ return 0;
+ for (int i = 0; special_imgfmts[i].name; i++)
+ if (!bstrcasecmp0(name, special_imgfmts[i].name))
+ return special_imgfmts[i].fmt;
+ return 0;
+}
+
const char *vo_format_name(int format)
{
static char unknown_format[20];
- switch(format)
- {
- case IMGFMT_RGB1: return "RGB 1-bit";
- case IMGFMT_RGB4: return "RGB 4-bit";
- case IMGFMT_RG4B: return "RGB 4-bit per byte";
- case IMGFMT_RGB8: return "RGB 8-bit";
- case IMGFMT_RGB12: return "RGB 12-bit";
- case IMGFMT_RGB15: return "RGB 15-bit";
- case IMGFMT_RGB16: return "RGB 16-bit";
- case IMGFMT_RGB24: return "RGB 24-bit";
-// case IMGFMT_RGB32: return "RGB 32-bit";
- case IMGFMT_RGB48LE: return "RGB 48-bit LE";
- case IMGFMT_RGB48BE: return "RGB 48-bit BE";
- case IMGFMT_BGR1: return "BGR 1-bit";
- case IMGFMT_BGR4: return "BGR 4-bit";
- case IMGFMT_BG4B: return "BGR 4-bit per byte";
- case IMGFMT_BGR8: return "BGR 8-bit";
- case IMGFMT_BGR12: return "BGR 12-bit";
- case IMGFMT_BGR15: return "BGR 15-bit";
- case IMGFMT_BGR16: return "BGR 16-bit";
- case IMGFMT_BGR24: return "BGR 24-bit";
-// case IMGFMT_BGR32: return "BGR 32-bit";
- case IMGFMT_ABGR: return "ABGR";
- case IMGFMT_BGRA: return "BGRA";
- case IMGFMT_ARGB: return "ARGB";
- case IMGFMT_RGBA: return "RGBA";
- case IMGFMT_YVU9: return "Planar YVU9";
- case IMGFMT_IF09: return "Planar IF09";
- case IMGFMT_YV12: return "Planar YV12";
- case IMGFMT_I420: return "Planar I420";
- case IMGFMT_IYUV: return "Planar IYUV";
- case IMGFMT_CLPL: return "Planar CLPL";
- case IMGFMT_Y800: return "Planar Y800";
- case IMGFMT_Y8: return "Planar Y8";
- case IMGFMT_420P16_LE: return "Planar 420P 16-bit little-endian";
- case IMGFMT_420P16_BE: return "Planar 420P 16-bit big-endian";
- case IMGFMT_420P10_LE: return "Planar 420P 10-bit little-endian";
- case IMGFMT_420P10_BE: return "Planar 420P 10-bit big-endian";
- case IMGFMT_420P9_LE: return "Planar 420P 9-bit little-endian";
- case IMGFMT_420P9_BE: return "Planar 420P 9-bit big-endian";
- case IMGFMT_422P16_LE: return "Planar 422P 16-bit little-endian";
- case IMGFMT_422P16_BE: return "Planar 422P 16-bit big-endian";
- case IMGFMT_422P10_LE: return "Planar 422P 10-bit little-endian";
- case IMGFMT_422P10_BE: return "Planar 422P 10-bit big-endian";
- case IMGFMT_444P16_LE: return "Planar 444P 16-bit little-endian";
- case IMGFMT_444P16_BE: return "Planar 444P 16-bit big-endian";
- case IMGFMT_444P10_LE: return "Planar 444P 10-bit little-endian";
- case IMGFMT_444P10_BE: return "Planar 444P 10-bit big-endian";
- case IMGFMT_444P9_LE: return "Planar 444P 9-bit little-endian";
- case IMGFMT_444P9_BE: return "Planar 444P 9-bit big-endian";
- case IMGFMT_420A: return "Planar 420P with alpha";
- case IMGFMT_444P: return "Planar 444P";
- case IMGFMT_422P: return "Planar 422P";
- case IMGFMT_411P: return "Planar 411P";
- case IMGFMT_NV12: return "Planar NV12";
- case IMGFMT_NV21: return "Planar NV21";
- case IMGFMT_HM12: return "Planar NV12 Macroblock";
- case IMGFMT_IUYV: return "Packed IUYV";
- case IMGFMT_IY41: return "Packed IY41";
- case IMGFMT_IYU1: return "Packed IYU1";
- case IMGFMT_IYU2: return "Packed IYU2";
- case IMGFMT_UYVY: return "Packed UYVY";
- case IMGFMT_UYNV: return "Packed UYNV";
- case IMGFMT_cyuv: return "Packed CYUV";
- case IMGFMT_Y422: return "Packed Y422";
- case IMGFMT_YUY2: return "Packed YUY2";
- case IMGFMT_YUNV: return "Packed YUNV";
- case IMGFMT_YVYU: return "Packed YVYU";
- case IMGFMT_Y41P: return "Packed Y41P";
- case IMGFMT_Y211: return "Packed Y211";
- case IMGFMT_Y41T: return "Packed Y41T";
- case IMGFMT_Y42T: return "Packed Y42T";
- case IMGFMT_V422: return "Packed V422";
- case IMGFMT_V655: return "Packed V655";
- case IMGFMT_CLJR: return "Packed CLJR";
- case IMGFMT_YUVP: return "Packed YUVP";
- case IMGFMT_UYVP: return "Packed UYVP";
- case IMGFMT_MPEGPES: return "Mpeg PES";
- case IMGFMT_XVMC_MOCO_MPEG2: return "MPEG1/2 Motion Compensation";
- case IMGFMT_XVMC_IDCT_MPEG2: return "MPEG1/2 Motion Compensation and IDCT";
- case IMGFMT_VDPAU_MPEG1: return "MPEG1 VDPAU acceleration";
- case IMGFMT_VDPAU_MPEG2: return "MPEG2 VDPAU acceleration";
- case IMGFMT_VDPAU_H264: return "H.264 VDPAU acceleration";
- case IMGFMT_VDPAU_MPEG4: return "MPEG-4 Part 2 VDPAU acceleration";
- case IMGFMT_VDPAU_WMV3: return "WMV3 VDPAU acceleration";
- case IMGFMT_VDPAU_VC1: return "VC1 VDPAU acceleration";
+ switch (format) {
+ case IMGFMT_RGB1: return "RGB 1-bit";
+ case IMGFMT_RGB4: return "RGB 4-bit";
+ case IMGFMT_RG4B: return "RGB 4-bit per byte";
+ case IMGFMT_RGB8: return "RGB 8-bit";
+ case IMGFMT_RGB12: return "RGB 12-bit";
+ case IMGFMT_RGB15: return "RGB 15-bit";
+ case IMGFMT_RGB16: return "RGB 16-bit";
+ case IMGFMT_RGB24: return "RGB 24-bit";
+// case IMGFMT_RGB32: return "RGB 32-bit"; // equals either RGBA or ABGR
+ case IMGFMT_RGB48LE: return "RGB 48-bit LE";
+ case IMGFMT_RGB48BE: return "RGB 48-bit BE";
+ case IMGFMT_BGR1: return "BGR 1-bit";
+ case IMGFMT_BGR4: return "BGR 4-bit";
+ case IMGFMT_BG4B: return "BGR 4-bit per byte";
+ case IMGFMT_BGR8: return "BGR 8-bit";
+ case IMGFMT_BGR12: return "BGR 12-bit";
+ case IMGFMT_BGR15: return "BGR 15-bit";
+ case IMGFMT_BGR16: return "BGR 16-bit";
+ case IMGFMT_BGR24: return "BGR 24-bit";
+// case IMGFMT_BGR32: return "BGR 32-bit"; // equals either BGRA or ARGB
+ case IMGFMT_ABGR: return "ABGR";
+ case IMGFMT_BGRA: return "BGRA";
+ case IMGFMT_ARGB: return "ARGB";
+ case IMGFMT_RGBA: return "RGBA";
+ case IMGFMT_GBRP: return "Planar GBR 24-bit";
+ case IMGFMT_GBRP9LE: return "Planar GBR 27-bit little-endian";
+ case IMGFMT_GBRP9BE: return "Planar GBR 27-bit big-endian";
+ case IMGFMT_GBRP10LE: return "Planar GBR 30-bit little-endian";
+ case IMGFMT_GBRP10BE: return "Planar GBR 30-bit big-endian";
+ case IMGFMT_YVU9: return "Planar YVU9";
+ case IMGFMT_IF09: return "Planar IF09";
+ case IMGFMT_YV12: return "Planar YV12";
+ case IMGFMT_I420: return "Planar I420";
+ case IMGFMT_IYUV: return "Planar IYUV";
+ case IMGFMT_CLPL: return "Planar CLPL";
+ case IMGFMT_Y800: return "Planar Y800";
+ case IMGFMT_Y8: return "Planar Y8";
+ case IMGFMT_420P16_LE: return "Planar 420P 16-bit little-endian";
+ case IMGFMT_420P16_BE: return "Planar 420P 16-bit big-endian";
+ case IMGFMT_420P10_LE: return "Planar 420P 10-bit little-endian";
+ case IMGFMT_420P10_BE: return "Planar 420P 10-bit big-endian";
+ case IMGFMT_420P9_LE: return "Planar 420P 9-bit little-endian";
+ case IMGFMT_420P9_BE: return "Planar 420P 9-bit big-endian";
+ case IMGFMT_422P16_LE: return "Planar 422P 16-bit little-endian";
+ case IMGFMT_422P16_BE: return "Planar 422P 16-bit big-endian";
+ case IMGFMT_422P10_LE: return "Planar 422P 10-bit little-endian";
+ case IMGFMT_422P10_BE: return "Planar 422P 10-bit big-endian";
+ case IMGFMT_422P9_LE: return "Planar 422P 9-bit little-endian";
+ case IMGFMT_422P9_BE: return "Planar 422P 9-bit big-endian";
+ case IMGFMT_444P16_LE: return "Planar 444P 16-bit little-endian";
+ case IMGFMT_444P16_BE: return "Planar 444P 16-bit big-endian";
+ case IMGFMT_444P10_LE: return "Planar 444P 10-bit little-endian";
+ case IMGFMT_444P10_BE: return "Planar 444P 10-bit big-endian";
+ case IMGFMT_444P9_LE: return "Planar 444P 9-bit little-endian";
+ case IMGFMT_444P9_BE: return "Planar 444P 9-bit big-endian";
+ case IMGFMT_420A: return "Planar 420P with alpha";
+ case IMGFMT_444P: return "Planar 444P";
+ case IMGFMT_422P: return "Planar 422P";
+ case IMGFMT_411P: return "Planar 411P";
+ case IMGFMT_NV12: return "Planar NV12";
+ case IMGFMT_NV21: return "Planar NV21";
+ case IMGFMT_HM12: return "Planar NV12 Macroblock";
+ case IMGFMT_IUYV: return "Packed IUYV";
+ case IMGFMT_IY41: return "Packed IY41";
+ case IMGFMT_IYU1: return "Packed IYU1";
+ case IMGFMT_IYU2: return "Packed IYU2";
+ case IMGFMT_UYVY: return "Packed UYVY";
+ case IMGFMT_UYNV: return "Packed UYNV";
+ case IMGFMT_cyuv: return "Packed CYUV";
+ case IMGFMT_Y422: return "Packed Y422";
+ case IMGFMT_YUY2: return "Packed YUY2";
+ case IMGFMT_YUNV: return "Packed YUNV";
+ case IMGFMT_YVYU: return "Packed YVYU";
+ case IMGFMT_Y41P: return "Packed Y41P";
+ case IMGFMT_Y211: return "Packed Y211";
+ case IMGFMT_Y41T: return "Packed Y41T";
+ case IMGFMT_Y42T: return "Packed Y42T";
+ case IMGFMT_V422: return "Packed V422";
+ case IMGFMT_V655: return "Packed V655";
+ case IMGFMT_CLJR: return "Packed CLJR";
+ case IMGFMT_YUVP: return "Packed YUVP";
+ case IMGFMT_UYVP: return "Packed UYVP";
+ case IMGFMT_MPEGPES: return "Mpeg PES";
+ case IMGFMT_VDPAU_MPEG1: return "MPEG1 VDPAU acceleration";
+ case IMGFMT_VDPAU_MPEG2: return "MPEG2 VDPAU acceleration";
+ case IMGFMT_VDPAU_H264: return "H.264 VDPAU acceleration";
+ case IMGFMT_VDPAU_MPEG4: return "MPEG-4 Part 2 VDPAU acceleration";
+ case IMGFMT_VDPAU_WMV3: return "WMV3 VDPAU acceleration";
+ case IMGFMT_VDPAU_VC1: return "VC1 VDPAU acceleration";
}
- snprintf(unknown_format,20,"Unknown 0x%04x",format);
+ snprintf(unknown_format, 20, "Unknown 0x%04x", format);
return unknown_format;
}
-int mp_get_chroma_shift(int format, int *x_shift, int *y_shift, int *component_bits)
+int mp_get_chroma_shift(int format, int *x_shift, int *y_shift,
+ int *component_bits)
{
int xs = 0, ys = 0;
int bpp;
@@ -165,31 +280,35 @@ int mp_get_chroma_shift(int format, int *x_shift, int *y_shift, int *component_b
err = 1;
break;
}
- } else switch (format) {
- case IMGFMT_420A:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- case IMGFMT_YV12:
- xs = 1;
- ys = 1;
- break;
- case IMGFMT_IF09:
- case IMGFMT_YVU9:
- xs = 2;
- ys = 2;
- break;
- case IMGFMT_Y8:
- case IMGFMT_Y800:
- xs = 31;
- ys = 31;
- break;
- default:
- err = 1;
- break;
- }
- if (x_shift) *x_shift = xs;
- if (y_shift) *y_shift = ys;
- if (component_bits) *component_bits = bits;
+ } else
+ switch (format) {
+ case IMGFMT_420A:
+ case IMGFMT_I420:
+ case IMGFMT_IYUV:
+ case IMGFMT_YV12:
+ xs = 1;
+ ys = 1;
+ break;
+ case IMGFMT_IF09:
+ case IMGFMT_YVU9:
+ xs = 2;
+ ys = 2;
+ break;
+ case IMGFMT_Y8:
+ case IMGFMT_Y800:
+ xs = 31;
+ ys = 31;
+ break;
+ default:
+ err = 1;
+ break;
+ }
+ if (x_shift)
+ *x_shift = xs;
+ if (y_shift)
+ *y_shift = ys;
+ if (component_bits)
+ *component_bits = bits;
bpp = 8 + ((16 >> xs) >> ys);
if (format == IMGFMT_420A)
bpp += 8;
diff --git a/libmpcodecs/img_format.h b/libmpcodecs/img_format.h
index d4443af..941afcf 100644
--- a/libmpcodecs/img_format.h
+++ b/libmpcodecs/img_format.h
@@ -19,7 +19,10 @@
#ifndef MPLAYER_IMG_FORMAT_H
#define MPLAYER_IMG_FORMAT_H
+#include <stdbool.h>
+
#include "config.h"
+#include "bstr.h"
/* RGB/BGR Formats */
@@ -49,6 +52,10 @@
#define IMGFMT_BGR24 (IMGFMT_BGR|24)
#define IMGFMT_BGR32 (IMGFMT_BGR|32)
+#define IMGFMT_GBRP (('G'<<24)|('B'<<16)|('R'<<8)|24)
+#define IMGFMT_GBRP9 (('G'<<24)|('B'<<16)|('R'<<8)|27)
+#define IMGFMT_GBRP10 (('G'<<24)|('B'<<16)|('R'<<8)|30)
+
#if HAVE_BIGENDIAN
#define IMGFMT_ABGR IMGFMT_RGB32
#define IMGFMT_BGRA (IMGFMT_RGB32|64)
@@ -67,6 +74,10 @@
#define IMGFMT_BGR15LE (IMGFMT_BGR15|64)
#define IMGFMT_BGR16BE IMGFMT_BGR16
#define IMGFMT_BGR16LE (IMGFMT_BGR16|64)
+#define IMGFMT_GBRP9BE IMGFMT_GBRP9
+#define IMGFMT_GBRP9LE (IMGFMT_GBRP9 | 64)
+#define IMGFMT_GBRP10BE IMGFMT_GBRP10
+#define IMGFMT_GBRP10LE (IMGFMT_GBRP10 | 64)
#else
#define IMGFMT_ABGR (IMGFMT_BGR32|64)
#define IMGFMT_BGRA IMGFMT_BGR32
@@ -85,6 +96,10 @@
#define IMGFMT_BGR15LE IMGFMT_BGR15
#define IMGFMT_BGR16BE (IMGFMT_BGR16|64)
#define IMGFMT_BGR16LE IMGFMT_BGR16
+#define IMGFMT_GBRP9BE (IMGFMT_GBRP9 | 64)
+#define IMGFMT_GBRP9LE IMGFMT_GBRP9
+#define IMGFMT_GBRP10BE (IMGFMT_GBRP10 | 64)
+#define IMGFMT_GBRP10LE IMGFMT_GBRP10
#endif
/* old names for compatibility */
@@ -93,6 +108,7 @@
#define IMGFMT_IS_RGB(fmt) (((fmt)&IMGFMT_RGB_MASK)==IMGFMT_RGB)
#define IMGFMT_IS_BGR(fmt) (((fmt)&IMGFMT_BGR_MASK)==IMGFMT_BGR)
+#define IMGFMT_IS_GBRP(fmt) (((fmt)&0xffffff00) == (IMGFMT_GBRP&0xffffff00))
#define IMGFMT_RGB_DEPTH(fmt) ((fmt)&0x3F)
#define IMGFMT_BGR_DEPTH(fmt) ((fmt)&0x3F)
@@ -131,6 +147,8 @@
#define IMGFMT_422P16_BE 0x34323251
#define IMGFMT_422P10_LE 0x52323234
#define IMGFMT_422P10_BE 0x34323252
+#define IMGFMT_422P9_LE 0x53323234
+#define IMGFMT_422P9_BE 0x34323253
#define IMGFMT_420P16_LE 0x51303234
#define IMGFMT_420P16_BE 0x34323051
#define IMGFMT_420P10_LE 0x52303234
@@ -143,6 +161,7 @@
#define IMGFMT_444P9 IMGFMT_444P9_BE
#define IMGFMT_422P16 IMGFMT_422P16_BE
#define IMGFMT_422P10 IMGFMT_422P10_BE
+#define IMGFMT_422P9 IMGFMT_422P9_BE
#define IMGFMT_420P16 IMGFMT_420P16_BE
#define IMGFMT_420P10 IMGFMT_420P10_BE
#define IMGFMT_420P9 IMGFMT_420P9_BE
@@ -153,6 +172,7 @@
#define IMGFMT_444P9 IMGFMT_444P9_LE
#define IMGFMT_422P16 IMGFMT_422P16_LE
#define IMGFMT_422P10 IMGFMT_422P10_LE
+#define IMGFMT_422P9 IMGFMT_422P9_LE
#define IMGFMT_420P16 IMGFMT_420P16_LE
#define IMGFMT_420P10 IMGFMT_420P10_LE
#define IMGFMT_420P9 IMGFMT_420P9_LE
@@ -191,14 +211,6 @@
#define IMGFMT_MPEGPES (('M'<<24)|('P'<<16)|('E'<<8)|('S'))
#define IMGFMT_MJPEG (('M')|('J'<<8)|('P'<<16)|('G'<<24))
-// I think that this code could not be used by any other codec/format
-#define IMGFMT_XVMC 0x1DC70000
-#define IMGFMT_XVMC_MASK 0xFFFF0000
-#define IMGFMT_IS_XVMC(fmt) (((fmt)&IMGFMT_XVMC_MASK)==IMGFMT_XVMC)
-//these are chroma420
-#define IMGFMT_XVMC_MOCO_MPEG2 (IMGFMT_XVMC|0x02)
-#define IMGFMT_XVMC_IDCT_MPEG2 (IMGFMT_XVMC|0x82)
-
// VDPAU specific format.
#define IMGFMT_VDPAU 0x1DC80000
#define IMGFMT_VDPAU_MASK 0xFFFF0000
@@ -210,7 +222,15 @@
#define IMGFMT_VDPAU_VC1 (IMGFMT_VDPAU|0x05)
#define IMGFMT_VDPAU_MPEG4 (IMGFMT_VDPAU|0x06)
-#define IMGFMT_IS_HWACCEL(fmt) (IMGFMT_IS_VDPAU(fmt) || IMGFMT_IS_XVMC(fmt))
+#define IMGFMT_IS_HWACCEL(fmt) IMGFMT_IS_VDPAU(fmt)
+
+struct imgfmt_name {
+ char *name;
+ unsigned int fmt;
+};
+
+extern const struct imgfmt_name mp_imgfmt_list[];
+unsigned int imgfmt_parse(struct bstr name, bool special_fmts);
typedef struct {
void* data;
diff --git a/libmpcodecs/mp_image.c b/libmpcodecs/mp_image.c
index 45426eb..2dd58a0 100644
--- a/libmpcodecs/mp_image.c
+++ b/libmpcodecs/mp_image.c
@@ -119,8 +119,13 @@ void mp_image_setfmt(mp_image_t* mpi,unsigned int out_fmt){
mpi->flags|=MP_IMGFLAG_SWAPPED;
return;
}
- mpi->flags|=MP_IMGFLAG_YUV;
mpi->num_planes=3;
+ if (IMGFMT_IS_GBRP(out_fmt)) {
+ mpi->bpp = IMGFMT_RGB_DEPTH(out_fmt);
+ mpi->flags |= MP_IMGFLAG_PLANAR;
+ return;
+ }
+ mpi->flags|=MP_IMGFLAG_YUV;
if (mp_get_chroma_shift(out_fmt, NULL, NULL, NULL)) {
mpi->flags|=MP_IMGFLAG_PLANAR;
mpi->bpp = mp_get_chroma_shift(out_fmt, &mpi->chroma_x_shift, &mpi->chroma_y_shift, NULL);
@@ -151,6 +156,8 @@ void mp_image_setfmt(mp_image_t* mpi,unsigned int out_fmt){
case IMGFMT_422P16_BE:
case IMGFMT_422P10_LE:
case IMGFMT_422P10_BE:
+ case IMGFMT_422P9_LE:
+ case IMGFMT_422P9_BE:
case IMGFMT_420P16_LE:
case IMGFMT_420P16_BE:
case IMGFMT_420P10_LE:
diff --git a/libmpcodecs/mp_image.h b/libmpcodecs/mp_image.h
index dd69788..6dbe3bf 100644
--- a/libmpcodecs/mp_image.h
+++ b/libmpcodecs/mp_image.h
@@ -103,7 +103,7 @@ typedef struct mp_image {
unsigned char bpp; // bits/pixel. NOT depth! for RGB it will be n*8
unsigned int imgfmt;
int width,height; // stored dimensions
- int x,y,w,h; // visible dimensions
+ int w,h; // visible dimensions
unsigned char* planes[MP_MAX_PLANES];
int stride[MP_MAX_PLANES];
char * qscale;
diff --git a/libmpcodecs/mpc_info.h b/libmpcodecs/mpc_info.h
index 4513994..de1631c 100644
--- a/libmpcodecs/mpc_info.h
+++ b/libmpcodecs/mpc_info.h
@@ -31,6 +31,7 @@ struct mp_codec_info
const char *author;
/* any additional comments */
const char *comment;
+ const char *print_name;
};
#define CONTROL_OK 1
diff --git a/libmpcodecs/vd.c b/libmpcodecs/vd.c
index 5a96e07..e756c2d 100644
--- a/libmpcodecs/vd.c
+++ b/libmpcodecs/vd.c
@@ -125,6 +125,11 @@ int mpcodecs_config_vo2(sh_video_t *sh, int w, int h,
if (h)
sh->disp_h = h;
+ mp_msg(MSGT_DECVIDEO, MSGL_INFO,
+ "VIDEO: %dx%d %5.3f fps %5.1f kbps (%4.1f kB/s)\n",
+ sh->disp_w, sh->disp_h, sh->fps, sh->i_bps * 0.008,
+ sh->i_bps / 1000.0);
+
if (!sh->disp_w || !sh->disp_h)
return 0;
@@ -293,22 +298,23 @@ int mpcodecs_config_vo2(sh_video_t *sh, int w, int h,
}
}
if (sh->aspect > 0.01) {
- int w;
- mp_tmsg(MSGT_CPLAYER, MSGL_INFO, "Movie-Aspect is %.2f:1 - prescaling to correct movie aspect.\n",
- sh->aspect);
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ASPECT=%1.4f\n",
sh->aspect);
- w = (int) ((float) screen_size_y * sh->aspect);
- w += w % 2; // round
+ int w = screen_size_y * sh->aspect;
+ int h = screen_size_y;
// we don't like horizontal downscale || user forced width:
if (w < screen_size_x || opts->screen_size_xy > 8) {
- screen_size_y =
- (int) ((float) screen_size_x * (1.0 / sh->aspect));
- screen_size_y += screen_size_y % 2; // round
- } else
- screen_size_x = w; // keep new width
+ w = screen_size_x;
+ h = screen_size_x / sh->aspect;
+ }
+ if (abs(screen_size_x - w) >= 4 || abs(screen_size_y - h) >= 4) {
+ screen_size_x = w;
+ screen_size_y = h;
+ mp_tmsg(MSGT_CPLAYER, MSGL_INFO, "Aspect ratio is %.2f:1 - "
+ "scaling to correct movie aspect.\n", sh->aspect);
+ }
} else {
- mp_tmsg(MSGT_CPLAYER, MSGL_INFO, "Movie-Aspect is undefined - no prescaling applied.\n");
+ mp_tmsg(MSGT_CPLAYER, MSGL_V, "Movie-Aspect is undefined - no prescaling applied.\n");
}
}
@@ -358,11 +364,7 @@ int mpcodecs_config_vo2(sh_video_t *sh, int w, int h,
mp_image_t *mpcodecs_get_image(sh_video_t *sh, int mp_imgtype, int mp_imgflag,
int w, int h)
{
- mp_image_t *mpi =
- vf_get_image(sh->vfilter, sh->outfmt, mp_imgtype, mp_imgflag, w, h);
- if (mpi)
- mpi->x = mpi->y = 0;
- return mpi;
+ return vf_get_image(sh->vfilter, sh->outfmt, mp_imgtype, mp_imgflag, w, h);
}
void mpcodecs_draw_slice(sh_video_t *sh, unsigned char **src, int *stride,
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index 5a45fef..0de4d41 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -41,13 +41,15 @@
#include "libmpdemux/demux_packet.h"
#include "codec-cfg.h"
#include "osdep/numcores.h"
+#include "libvo/csputils.h"
static const vd_info_t info = {
- "FFmpeg's libavcodec codec family",
+ "libavcodec video codecs",
"ffmpeg",
- "A'rpi",
- "A'rpi, Michael, Alex",
- "native codecs"
+ "",
+ "",
+ "native codecs",
+ .print_name = "libavcodec",
};
#include "libavcodec/avcodec.h"
@@ -129,14 +131,32 @@ static int init(sh_video_t *sh)
ctx = sh->context = talloc_zero(NULL, vd_ffmpeg_ctx);
- lavc_codec = avcodec_find_decoder_by_name(sh->codec->dll);
- if (!lavc_codec) {
- mp_tmsg(MSGT_DECVIDEO, MSGL_ERR,
- "Cannot find codec '%s' in libavcodec...\n", sh->codec->dll);
- uninit(sh);
+ if (sh->codec->dll) {
+ lavc_codec = avcodec_find_decoder_by_name(sh->codec->dll);
+ if (!lavc_codec) {
+ mp_tmsg(MSGT_DECVIDEO, MSGL_ERR,
+ "Cannot find codec '%s' in libavcodec...\n",
+ sh->codec->dll);
+ uninit(sh);
+ return 0;
+ }
+ } else if (!sh->libav_codec_id) {
+ mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "No Libav codec ID known. "
+ "Generic lavc decoder is not applicable.\n");
return 0;
+ } else {
+ lavc_codec = avcodec_find_decoder(sh->libav_codec_id);
+ if (!lavc_codec) {
+ mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "Libavcodec has no decoder "
+ "for this codec\n");
+ return 0;
+ }
}
+ sh->codecname = lavc_codec->long_name;
+ if (!sh->codecname)
+ sh->codecname = lavc_codec->name;
+
if (sh->opts->vd_use_slices
&& (lavc_codec->capabilities & CODEC_CAP_DRAW_HORIZ_BAND)
&& !do_vis_debug)
@@ -167,9 +187,6 @@ static int init(sh_video_t *sh)
avctx->release_buffer = release_buffer;
avctx->reget_buffer = get_buffer;
avctx->draw_horiz_band = draw_slice;
- if (lavc_codec->capabilities & CODEC_CAP_HWACCEL)
- mp_msg(MSGT_DECVIDEO, MSGL_V, "[VD_FFMPEG] XVMC-accelerated "
- "MPEG-2.\n");
if (lavc_codec->capabilities & CODEC_CAP_HWACCEL_VDPAU)
mp_msg(MSGT_DECVIDEO, MSGL_V, "[VD_FFMPEG] VDPAU hardware "
"decoding.\n");
@@ -191,7 +208,7 @@ static int init(sh_video_t *sh)
if (lavc_param->threads > 1) {
ctx->do_dr1 = false;
ctx->do_slices = false;
- mp_tmsg(MSGT_DECVIDEO, MSGL_INFO, "Asking decoder to use "
+ mp_tmsg(MSGT_DECVIDEO, MSGL_V, "Asking decoder to use "
"%d threads if supported.\n", lavc_param->threads);
}
@@ -320,8 +337,7 @@ static int init(sh_video_t *sh)
uninit(sh);
return 0;
}
- mp_msg(MSGT_DECVIDEO, MSGL_V, "INFO: libavcodec init OK!\n");
- return 1; //mpcodecs_config_vo(sh, sh->disp_w, sh->disp_h, IMGFMT_YV12);
+ return 1;
}
static void uninit(sh_video_t *sh)
@@ -329,6 +345,7 @@ static void uninit(sh_video_t *sh)
vd_ffmpeg_ctx *ctx = sh->context;
AVCodecContext *avctx = ctx->avctx;
+ sh->codecname = NULL;
if (sh->opts->lavc_param.vstats && avctx->coded_frame) {
for (int i = 1; i < 32; i++)
mp_msg(MSGT_DECVIDEO, MSGL_INFO,
@@ -348,7 +365,11 @@ static void uninit(sh_video_t *sh)
}
av_freep(&avctx);
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
+ avcodec_free_frame(&ctx->pic);
+#else
av_freep(&ctx->pic);
+#endif
talloc_free(ctx);
}
@@ -379,6 +400,37 @@ static void draw_slice(struct AVCodecContext *s,
}
}
+static enum mp_csp avcol_spc_to_mp_csp(enum AVColorSpace colorspace)
+{
+ switch (colorspace) {
+ case AVCOL_SPC_BT709:
+ return MP_CSP_BT_709;
+ break;
+ case AVCOL_SPC_BT470BG:
+ case AVCOL_SPC_SMPTE170M:
+ return MP_CSP_BT_601;
+ break;
+ case AVCOL_SPC_SMPTE240M:
+ return MP_CSP_SMPTE_240M;
+ break;
+ default:
+ return MP_CSP_AUTO;
+ }
+}
+
+static enum mp_csp_levels avcol_range_to_mp_csp_levels(enum AVColorRange range)
+{
+ switch (range) {
+ case AVCOL_RANGE_MPEG:
+ return MP_CSP_LEVELS_TV;
+ break;
+ case AVCOL_RANGE_JPEG:
+ return MP_CSP_LEVELS_PC;
+ break;
+ default:
+ return MP_CSP_LEVELS_AUTO;
+ }
+}
static int init_vo(sh_video_t *sh, enum PixelFormat pix_fmt)
{
@@ -433,6 +485,10 @@ static int init_vo(sh_video_t *sh, enum PixelFormat pix_fmt)
};
else
supported_fmts = (const unsigned int[]){ctx->best_csp, 0xffffffff};
+
+ sh->colorspace = avcol_spc_to_mp_csp(avctx->colorspace);
+ sh->color_range = avcol_range_to_mp_csp_levels(avctx->color_range);
+
if (!mpcodecs_config_vo2(sh, sh->disp_w, sh->disp_h, supported_fmts,
ctx->best_csp))
return -1;
@@ -623,8 +679,10 @@ static struct mp_image *decode(struct sh_video *sh, struct demux_packet *packet,
av_init_packet(&pkt);
pkt.data = data;
pkt.size = len;
- // HACK: make PNGs decode normally instead of as CorePNG delta frames
- pkt.flags = AV_PKT_FLAG_KEY;
+ /* Some codecs (ZeroCodec, some cases of PNG) may want keyframe info
+ * from demuxer. */
+ if (packet && packet->keyframe)
+ pkt.flags |= AV_PKT_FLAG_KEY;
if (packet && packet->avpacket) {
pkt.side_data = packet->avpacket->side_data;
pkt.side_data_elems = packet->avpacket->side_data_elems;
diff --git a/libmpcodecs/vd_vfw.c b/libmpcodecs/vd_vfw.c
index 331755a..707589c 100644
--- a/libmpcodecs/vd_vfw.c
+++ b/libmpcodecs/vd_vfw.c
@@ -330,8 +330,9 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
#else
ret = ICDecompress(priv->handle,
#endif
- ( (sh->ds->flags&1) ? 0 : ICDECOMPRESS_NOTKEYFRAME ) |
- ( ((flags&3)==2 && !(sh->ds->flags&1))?(ICDECOMPRESS_HURRYUP|ICDECOMPRESS_PREROL):0 ),
+ ( sh->ds->keyframe ? 0 : ICDECOMPRESS_NOTKEYFRAME ) |
+ ( (flags&3) == 2 && !sh->ds->keyframe ?
+ ICDECOMPRESS_HURRYUP|ICDECOMPRESS_PREROL : 0 ),
sh->bih, data, priv->o_bih, (flags&3) ? 0 : mpi->planes[0]);
if ((int)ret){
diff --git a/libmpcodecs/vf_ass.c b/libmpcodecs/vf_ass.c
index 8235150..c56469b 100644
--- a/libmpcodecs/vf_ass.c
+++ b/libmpcodecs/vf_ass.c
@@ -33,7 +33,7 @@
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
-#include "sub/sub.h"
+#include "sub/dec_sub.h"
#include "libvo/fastmemcpy.h"
@@ -61,8 +61,7 @@ static const struct vf_priv_s {
int auto_insert;
struct osd_state *osd;
- ASS_Renderer *renderer_realaspect;
- ASS_Renderer *renderer_vsfilter;
+ double aspect_correction;
unsigned char *planes[3];
struct line_limits {
@@ -71,8 +70,6 @@ static const struct vf_priv_s {
} *line_limits;
} vf_priv_dflt;
-extern float sub_delay;
-
static int config(struct vf_instance *vf,
int width, int height, int d_width, int d_height,
unsigned int flags, unsigned int outfmt)
@@ -93,15 +90,7 @@ static int config(struct vf_instance *vf,
vf->priv->planes[2] = malloc(vf->priv->outw * vf->priv->outh);
vf->priv->line_limits = malloc((vf->priv->outh + 1) / 2 * sizeof(*vf->priv->line_limits));
- if (vf->priv->renderer_realaspect) {
- mp_ass_configure(vf->priv->renderer_realaspect, opts,
- vf->priv->outw, vf->priv->outh, 0);
- mp_ass_configure(vf->priv->renderer_vsfilter, opts,
- vf->priv->outw, vf->priv->outh, 0);
- ass_set_aspect_ratio(vf->priv->renderer_realaspect,
- (double)width / height * d_height / d_width, 1);
- ass_set_aspect_ratio(vf->priv->renderer_vsfilter, 1, 1);
- }
+ vf->priv->aspect_correction = (double)width / height * d_height / d_width;
return vf_next_config(vf, vf->priv->outw, vf->priv->outh, d_width,
d_height, flags, outfmt);
@@ -361,25 +350,26 @@ static int render_frame(struct vf_instance *vf, mp_image_t *mpi,
static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts)
{
- struct osd_state *osd = vf->priv->osd;
+ struct vf_priv_s *priv = vf->priv;
+ struct MPOpts *opts = vf->opts;
+ struct osd_state *osd = priv->osd;
ASS_Image *images = 0;
- ASS_Renderer *renderer = osd->vsfilter_aspect
- && vf->opts->ass_vsfilter_aspect_compat
- ? vf->priv->renderer_vsfilter : vf->priv->renderer_realaspect;
- if (sub_visibility && renderer && osd->ass_track
- && (pts != MP_NOPTS_VALUE)) {
- if (osd->ass_force_reload) {
- mp_ass_reload_options(vf->priv->renderer_realaspect, vf->opts);
- mp_ass_reload_options(vf->priv->renderer_vsfilter, vf->opts);
- }
- osd->ass_force_reload = false;
- images = ass_render_frame(renderer, osd->ass_track,
- (pts - osd->sub_offset + sub_delay) * 1000 + .5, NULL);
+ if (pts != MP_NOPTS_VALUE) {
+ osd->dim = (struct mp_eosd_res){ .w = vf->priv->outw,
+ .h = vf->priv->outh,
+ .mt = opts->ass_top_margin,
+ .mb = opts->ass_bottom_margin };
+ osd->normal_scale = vf->priv->aspect_correction;
+ osd->vsfilter_scale = 1;
+ osd->sub_pts = pts - osd->sub_offset;
+ osd->support_rgba = false;
+ struct sub_bitmaps b;
+ sub_get_bitmaps(osd, &b);
+ images = b.imgs;
}
prepare_image(vf, mpi);
- if (images)
- render_frame(vf, mpi, images);
+ render_frame(vf, mpi, images);
return vf_next_put_image(vf, vf->dmpi, pts);
}
@@ -402,31 +392,15 @@ static int control(vf_instance_t *vf, int request, void *data)
vf->priv->osd = data;
break;
case VFCTRL_INIT_EOSD:
- vf->priv->renderer_realaspect = ass_renderer_init((ASS_Library *)data);
- if (!vf->priv->renderer_realaspect)
- return CONTROL_FALSE;
- vf->priv->renderer_vsfilter = ass_renderer_init((ASS_Library *)data);
- if (!vf->priv->renderer_vsfilter) {
- ass_renderer_done(vf->priv->renderer_realaspect);
- return CONTROL_FALSE;
- }
- mp_ass_configure_fonts(vf->priv->renderer_realaspect);
- mp_ass_configure_fonts(vf->priv->renderer_vsfilter);
return CONTROL_TRUE;
case VFCTRL_DRAW_EOSD:
- if (vf->priv->renderer_realaspect)
- return CONTROL_TRUE;
- break;
+ return CONTROL_TRUE;
}
return vf_next_control(vf, request, data);
}
static void uninit(struct vf_instance *vf)
{
- if (vf->priv->renderer_realaspect) {
- ass_renderer_done(vf->priv->renderer_realaspect);
- ass_renderer_done(vf->priv->renderer_vsfilter);
- }
free(vf->priv->planes[1]);
free(vf->priv->planes[2]);
free(vf->priv->line_limits);
diff --git a/libmpcodecs/vf_expand.c b/libmpcodecs/vf_expand.c
index 6cc7a81..db31c2c 100644
--- a/libmpcodecs/vf_expand.c
+++ b/libmpcodecs/vf_expand.c
@@ -23,6 +23,8 @@
#include <string.h>
#include <stdbool.h>
+#include <libavutil/common.h>
+
#include "config.h"
#include "mp_msg.h"
#include "options.h"
@@ -32,7 +34,6 @@
#include "vf.h"
#include "libvo/fastmemcpy.h"
-#include "libavutil/avutil.h"
#ifdef OSD_SUPPORT
#include "sub/sub.h"
diff --git a/libmpcodecs/vf_geq.c b/libmpcodecs/vf_geq.c
index 68a9cf7..5c2e6c3 100644
--- a/libmpcodecs/vf_geq.c
+++ b/libmpcodecs/vf_geq.c
@@ -24,6 +24,9 @@
#include <math.h>
#include <inttypes.h>
+#include <libavutil/eval.h>
+#include <libavutil/common.h>
+
#include "config.h"
#include "mp_msg.h"
@@ -33,9 +36,6 @@
#include "mp_image.h"
#include "vf.h"
-#include "libavcodec/avcodec.h"
-#include "libavutil/eval.h"
-
struct vf_priv_s {
AVExpr * e[3];
int framenum;
diff --git a/libmpcodecs/vf_gradfun.c b/libmpcodecs/vf_gradfun.c
index 813b9ec..f7251e1 100644
--- a/libmpcodecs/vf_gradfun.c
+++ b/libmpcodecs/vf_gradfun.c
@@ -32,13 +32,14 @@
#include <string.h>
#include <inttypes.h>
+#include <libavutil/common.h>
+
#include "config.h"
#include "cpudetect.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
#include "libvo/fastmemcpy.h"
-#include "libavutil/avutil.h"
#include "ffmpeg_files/x86_cpu.h"
struct vf_priv_s {
diff --git a/libmpcodecs/vf_lavc.c b/libmpcodecs/vf_lavc.c
index b2c1dd7..65e93a1 100644
--- a/libmpcodecs/vf_lavc.c
+++ b/libmpcodecs/vf_lavc.c
@@ -76,11 +76,6 @@ static int config(struct vf_instance *vf,
return 0;
}
- if (lavc_venc_context.codec->encode == NULL) {
- mp_msg(MSGT_VFILTER,MSGL_ERR,"avcodec init failed (ctx->codec->encode == NULL)!\n");
- return 0;
- }
-
return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_MPEGPES);
}
diff --git a/libmpcodecs/vf_qp.c b/libmpcodecs/vf_qp.c
index 5e418d2..64e6272 100644
--- a/libmpcodecs/vf_qp.c
+++ b/libmpcodecs/vf_qp.c
@@ -25,6 +25,7 @@
#include <inttypes.h>
#include <libavutil/eval.h>
+#include <libavutil/mem.h>
#include "mp_msg.h"
#include "cpudetect.h"
diff --git a/libmpcodecs/vf_sab.c b/libmpcodecs/vf_sab.c
index 2773ed3..1f2b17a 100644
--- a/libmpcodecs/vf_sab.c
+++ b/libmpcodecs/vf_sab.c
@@ -24,6 +24,9 @@
#include <inttypes.h>
#include <assert.h>
+#include <libavutil/mem.h>
+#include <libswscale/swscale.h>
+
#include "config.h"
#include "mp_msg.h"
@@ -31,11 +34,9 @@
#include <malloc.h>
#endif
-#include "libavutil/avutil.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
-#include "libswscale/swscale.h"
#include "vf_scale.h"
diff --git a/libmpcodecs/vf_scale.c b/libmpcodecs/vf_scale.c
index 585ef4d..a9663ab 100644
--- a/libmpcodecs/vf_scale.c
+++ b/libmpcodecs/vf_scale.c
@@ -84,6 +84,8 @@ static const unsigned int outfmt_list[]={
IMGFMT_422P16_BE,
IMGFMT_422P10_LE,
IMGFMT_422P10_BE,
+ IMGFMT_422P9_LE,
+ IMGFMT_422P9_BE,
IMGFMT_YV12,
IMGFMT_I420,
IMGFMT_420P16_LE,
@@ -107,6 +109,9 @@ static const unsigned int outfmt_list[]={
IMGFMT_RGB32,
IMGFMT_BGR24,
IMGFMT_RGB24,
+ IMGFMT_GBRP,
+ IMGFMT_GBRP10,
+ IMGFMT_GBRP9,
IMGFMT_RGB48LE,
IMGFMT_RGB48BE,
IMGFMT_BGR16,
@@ -141,6 +146,10 @@ static int preferred_conversions[][2] = {
{IMGFMT_UYVY, IMGFMT_422P},
{IMGFMT_422P, IMGFMT_YUY2},
{IMGFMT_422P, IMGFMT_UYVY},
+ {IMGFMT_GBRP, IMGFMT_BGR24},
+ {IMGFMT_GBRP, IMGFMT_RGB24},
+ {IMGFMT_GBRP, IMGFMT_BGR32},
+ {IMGFMT_GBRP, IMGFMT_RGB32},
{0, 0}
};
@@ -704,7 +713,7 @@ void sws_getFlagsAndFilterFromCmdLine(int *flags, SwsFilter **srcFilterParam, Sw
}
// will use sws_flags & src_filter (from cmd line)
-struct SwsContext *sws_getContextFromCmdLine(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat)
+static struct SwsContext *sws_getContextFromCmdLine2(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat, int extraflags)
{
int flags;
SwsFilter *dstFilterParam, *srcFilterParam;
@@ -715,7 +724,24 @@ struct SwsContext *sws_getContextFromCmdLine(int srcW, int srcH, int srcFormat,
if (srcFormat == IMGFMT_RGB8 || srcFormat == IMGFMT_BGR8) sfmt = PIX_FMT_PAL8;
sws_getFlagsAndFilterFromCmdLine(&flags, &srcFilterParam, &dstFilterParam);
- return sws_getContext(srcW, srcH, sfmt, dstW, dstH, dfmt, flags | get_sws_cpuflags(), srcFilterParam, dstFilterParam, NULL);
+ return sws_getContext(srcW, srcH, sfmt, dstW, dstH, dfmt, flags | extraflags | get_sws_cpuflags(), srcFilterParam, dstFilterParam, NULL);
+}
+
+struct SwsContext *sws_getContextFromCmdLine(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat)
+{
+ return sws_getContextFromCmdLine2(srcW, srcH, srcFormat, dstW, dstH, dstFormat, 0);
+}
+
+/* These extra flags improve the image visibly in some cases, but also
+ * make conversion a lot slower. For some reason SWS_FULL_CHR_H_INT
+ * also seems to make the overall image slightly brighter.
+ */
+struct SwsContext *sws_getContextFromCmdLine_hq(int srcW, int srcH,
+ int srcFormat, int dstW, int dstH, int dstFormat)
+{
+ return sws_getContextFromCmdLine2(srcW, srcH, srcFormat,
+ dstW, dstH, dstFormat,
+ SWS_FULL_CHR_H_INT | SWS_ACCURATE_RND);
}
/// An example of presets usage
diff --git a/libmpcodecs/vf_scale.h b/libmpcodecs/vf_scale.h
index a9b3b50..08d651c 100644
--- a/libmpcodecs/vf_scale.h
+++ b/libmpcodecs/vf_scale.h
@@ -21,6 +21,7 @@
int get_sws_cpuflags(void);
struct SwsContext *sws_getContextFromCmdLine(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat);
+struct SwsContext *sws_getContextFromCmdLine_hq(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat);
struct mp_csp_details;
int mp_sws_set_colorspace(struct SwsContext *sws, struct mp_csp_details *csp);
diff --git a/libmpcodecs/vf_uspp.c b/libmpcodecs/vf_uspp.c
index ae044b1..558a409 100644
--- a/libmpcodecs/vf_uspp.c
+++ b/libmpcodecs/vf_uspp.c
@@ -25,13 +25,14 @@
#include <math.h>
#include <assert.h>
+#include <libavcodec/avcodec.h>
+#include <libavutil/mem.h>
+
#include "config.h"
#include "mp_msg.h"
#include "cpudetect.h"
-#include "libavcodec/avcodec.h"
-
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c
index 0f89d73..1d838cf 100644
--- a/libmpcodecs/vf_vo.c
+++ b/libmpcodecs/vf_vo.c
@@ -30,19 +30,11 @@
#include "libvo/video_out.h"
-#include "sub/ass_mp.h"
-#include "sub/sub.h"
-
-extern float sub_delay;
+#include "sub/dec_sub.h"
struct vf_priv_s {
struct vo *vo;
-#ifdef CONFIG_ASS
- ASS_Renderer *renderer_realaspect;
- ASS_Renderer *renderer_vsfilter;
- bool prev_visibility;
double scale_ratio;
-#endif
};
#define video_out (vf->priv->vo)
@@ -82,20 +74,8 @@ static int config(struct vf_instance *vf,
if (vo_config(video_out, width, height, d_width, d_height, flags, outfmt))
return 0;
-#ifdef CONFIG_ASS
vf->priv->scale_ratio = (double) d_width / d_height * height / width;
- if (vf->priv->renderer_realaspect) {
- mp_ass_configure(vf->priv->renderer_realaspect, vf->opts, width, height,
- vf->default_caps & VFCAP_EOSD_UNSCALED);
- mp_ass_configure(vf->priv->renderer_vsfilter, vf->opts, width, height,
- vf->default_caps & VFCAP_EOSD_UNSCALED);
- }
-
- // force EOSD change detection reset
- vf->priv->prev_visibility = false;
-#endif
-
return 1;
}
@@ -137,62 +117,20 @@ static int control(struct vf_instance *vf, int request, void *data)
};
return vo_control(video_out, VOCTRL_GET_EQUALIZER, ¶m) == VO_TRUE;
}
-#ifdef CONFIG_ASS
- case VFCTRL_INIT_EOSD: {
- vf->priv->renderer_realaspect = ass_renderer_init(data);
- if (!vf->priv->renderer_realaspect)
- return CONTROL_FALSE;
- vf->priv->renderer_vsfilter = ass_renderer_init(data);
- if (!vf->priv->renderer_vsfilter) {
- ass_renderer_done(vf->priv->renderer_realaspect);
- return CONTROL_FALSE;
- }
- mp_ass_configure_fonts(vf->priv->renderer_realaspect);
- mp_ass_configure_fonts(vf->priv->renderer_vsfilter);
- vf->priv->prev_visibility = false;
- return CONTROL_TRUE;
- }
case VFCTRL_DRAW_EOSD: {
struct osd_state *osd = data;
- mp_eosd_images_t images = { NULL, 2 };
- ASS_Renderer *renderer;
- double scale;
- if (osd->vsfilter_aspect && vf->opts->ass_vsfilter_aspect_compat) {
- renderer = vf->priv->renderer_vsfilter;
- scale = vf->priv->scale_ratio;
- } else {
- renderer = vf->priv->renderer_realaspect;
- scale = 1;
- }
- if (!video_out->config_ok || !renderer)
+ osd->support_rgba = vf->default_caps & VFCAP_EOSD_RGBA;
+ osd->dim = (struct mp_eosd_res){0};
+ if (!video_out->config_ok ||
+ vo_control(video_out, VOCTRL_GET_EOSD_RES, &osd->dim) != true)
return CONTROL_FALSE;
- if (osd->ass_track_changed)
- vf->priv->prev_visibility = false;
- osd->ass_track_changed = false;
- if (sub_visibility && osd->ass_track && (osd->pts != MP_NOPTS_VALUE)) {
- struct mp_eosd_res res = { 0 };
- if (vo_control(video_out, VOCTRL_GET_EOSD_RES, &res) == VO_TRUE) {
- ass_set_frame_size(renderer, res.w, res.h);
- ass_set_margins(renderer, res.mt, res.mb, res.ml, res.mr);
- ass_set_aspect_ratio(renderer, scale, 1);
- }
-
- if (osd->ass_force_reload) {
- mp_ass_reload_options(vf->priv->renderer_realaspect, vf->opts);
- mp_ass_reload_options(vf->priv->renderer_vsfilter, vf->opts);
- }
- images.imgs = ass_render_frame(renderer, osd->ass_track,
- (osd->pts + sub_delay) * 1000 + .5,
- &images.changed);
- if (!vf->priv->prev_visibility || osd->ass_force_reload)
- images.changed = 2;
- osd->ass_force_reload = false;
- vf->priv->prev_visibility = true;
- } else
- vf->priv->prev_visibility = false;
+ osd->normal_scale = 1;
+ osd->vsfilter_scale = vf->priv->scale_ratio;
+ osd->unscaled = vf->default_caps & VFCAP_EOSD_UNSCALED;
+ struct sub_bitmaps images;
+ sub_get_bitmaps(osd, &images);
return vo_control(video_out, VOCTRL_DRAW_EOSD, &images) == VO_TRUE;
}
-#endif
}
return CONTROL_UNKNOWN;
}
@@ -229,7 +167,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts)
// blit frame:
if (vf->default_caps & VFCAP_ACCEPT_STRIDE)
vo_draw_slice(video_out, mpi->planes, mpi->stride, mpi->w, mpi->h,
- mpi->x, mpi->y);
+ 0, 0);
else
vo_draw_frame(video_out, mpi->planes);
}
@@ -257,12 +195,6 @@ static void uninit(struct vf_instance *vf)
/* Allow VO (which may live on to work with another instance of vf_vo)
* to get rid of numbered-mpi references that will now be invalid. */
vo_seek_reset(video_out);
-#ifdef CONFIG_ASS
- if (vf->priv->renderer_realaspect) {
- ass_renderer_done(vf->priv->renderer_realaspect);
- ass_renderer_done(vf->priv->renderer_vsfilter);
- }
-#endif
free(vf->priv);
}
}
diff --git a/libmpcodecs/vfcap.h b/libmpcodecs/vfcap.h
index c9b9431..22cc642 100644
--- a/libmpcodecs/vfcap.h
+++ b/libmpcodecs/vfcap.h
@@ -26,8 +26,6 @@
#define VFCAP_CSP_SUPPORTED_BY_HW 0x2
// set if the driver/filter can draw OSD
#define VFCAP_OSD 0x4
-// set if the driver/filter can handle compressed SPU stream
-#define VFCAP_SPU 0x8
// scaling up/down by hardware, or software:
#define VFCAP_HWSCALE_UP 0x10
#define VFCAP_HWSCALE_DOWN 0x20
@@ -54,5 +52,6 @@
#define VOCAP_NOSLICES 0x8000
#define VFCAP_OSD_FILTER 0x10000 // OSD is drawn in filter chain
#define VFCAP_EOSD_FILTER 0x20000 // EOSD is drawn in filter chain
+#define VFCAP_EOSD_RGBA 0x40000
#endif /* MPLAYER_VFCAP_H */
diff --git a/libmpdemux/demux_asf.c b/libmpdemux/demux_asf.c
index eb71d4e..68ccab0 100644
--- a/libmpdemux/demux_asf.c
+++ b/libmpdemux/demux_asf.c
@@ -177,7 +177,7 @@ static int demux_asf_read_packet(demuxer_t *demux,unsigned char *data,int len,in
dp->pts=time*0.0000001;
else
dp->pts=time*0.001;
- dp->flags=keyframe;
+ dp->keyframe = keyframe;
// if(ds==demux->video) printf("ASF time: %8d dur: %5d \n",time,dur);
dp->pos=demux->filepos;
ds->asf_packet=dp;
@@ -595,7 +595,8 @@ static void demux_seek_asf(demuxer_t *demuxer,float rel_seek_secs,float audio_de
continue;
}
}
- if(d_video->flags&1) break; // found a keyframe!
+ if (d_video->keyframe)
+ break;
if(!ds_fill_buffer(d_video)) break; // skip frame. EOF?
}
diff --git a/libmpdemux/demux_film.c b/libmpdemux/demux_film.c
index 8575d5f..713c9ea 100644
--- a/libmpdemux/demux_film.c
+++ b/libmpdemux/demux_film.c
@@ -130,7 +130,6 @@ static int demux_film_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
return 0;
dp->pts = film_chunk.pts;
dp->pos = film_chunk.chunk_offset;
- dp->flags = 0;
// adjust the data before queuing it:
// 8-bit: signed -> unsigned
@@ -197,7 +196,7 @@ static int demux_film_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
dp->pts = film_chunk.pts;
dp->pos = film_chunk.chunk_offset;
- dp->flags = (film_chunk.syncinfo1 & 0x80000000) ? 1 : 0;
+ dp->keyframe = film_chunk.syncinfo1 & 0x80000000;
// fix the CVID chunk size
cvid_size = film_chunk.chunk_size - length_fix_bytes;
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c
index 62cb0ba..1a30008 100644
--- a/libmpdemux/demux_lavf.c
+++ b/libmpdemux/demux_lavf.c
@@ -43,7 +43,6 @@
#include "demuxer.h"
#include "stheader.h"
#include "m_option.h"
-#include "sub/sub.h"
#include "mp_taglists.h"
@@ -198,7 +197,8 @@ static int lavf_check_file(demuxer_t *demuxer)
mp_msg(MSGT_DEMUX, MSGL_WARN, "Stream url is not set!\n");
avpd.filename = "";
}
- if (!strncmp(avpd.filename, "ffmpeg://", 9))
+ if (!strncmp(avpd.filename, "ffmpeg://", 9) ||
+ !strncmp(avpd.filename, "lavf://", 7))
avpd.filename += 9;
avpd.buf_size = probe_data_size;
@@ -245,8 +245,6 @@ static const char * const preferred_internal[] = {
/* lavf Matroska demuxer doesn't support ordered chapters and fails
* for more files */
"matroska",
- /* lavf gives neither pts nor dts for some video frames in .rm */
- "rm",
NULL
};
@@ -310,12 +308,15 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i)
break;
stream_type = "audio";
priv->astreams[priv->audio_streams] = i;
+ sh_audio->libav_codec_id = codec->codec_id;
wf = calloc(sizeof(*wf) + codec->extradata_size, 1);
// mp4a tag is used for all mp4 files no matter what they actually contain
if (codec->codec_tag == MKTAG('m', 'p', '4', 'a'))
codec->codec_tag = 0;
if (!codec->codec_tag)
codec->codec_tag = mp_taglist_audio(codec->codec_id);
+ if (!codec->codec_tag)
+ codec->codec_tag = -1;
wf->wFormatTag = codec->codec_tag;
wf->nChannels = codec->channels;
wf->nSamplesPerSec = codec->sample_rate;
@@ -387,6 +388,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i)
break;
stream_type = "video";
priv->vstreams[priv->video_streams] = i;
+ sh_video->libav_codec_id = codec->codec_id;
bih = calloc(sizeof(*bih) + codec->extradata_size, 1);
if (codec->codec_id == CODEC_ID_RAWVIDEO) {
@@ -398,9 +400,14 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i)
}
if (!codec->codec_tag)
codec->codec_tag = avcodec_pix_fmt_to_codec_tag(codec->pix_fmt);
- }
- if (!codec->codec_tag)
+ } else if (!codec->codec_tag) {
codec->codec_tag = mp_taglist_video(codec->codec_id);
+ /* 0 might mean either unset or rawvideo; if codec_id
+ * was not RAWVIDEO assume it's unset
+ */
+ if (!codec->codec_tag)
+ codec->codec_tag = -1;
+ }
bih->biSize = sizeof(*bih) + codec->extradata_size;
bih->biWidth = codec->width;
bih->biHeight = codec->height;
@@ -455,13 +462,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i)
memcpy(sh_video->bih + 1, codec->extradata, codec->extradata_size);
if ( mp_msg_test(MSGT_HEADER, MSGL_V))
print_video_header(sh_video->bih, MSGL_V);
- if (demuxer->video->id != priv->video_streams
- && demuxer->video->id != -1)
- st->discard = AVDISCARD_ALL;
- else {
- demuxer->video->id = i;
- demuxer->video->sh = demuxer->v_streams[i];
- }
+ st->discard = AVDISCARD_ALL;
stream_id = priv->video_streams++;
break;
}
@@ -492,6 +493,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i)
break;
stream_type = "subtitle";
priv->sstreams[priv->sub_streams] = i;
+ sh_sub->libav_codec_id = codec->codec_id;
sh_sub->type = type;
if (codec->extradata_size) {
sh_sub->extradata = malloc(codec->extradata_size);
@@ -594,10 +596,12 @@ static demuxer_t *demux_open_lavf(demuxer_t *demuxer)
}
if (demuxer->stream->url) {
- if (!strncmp(demuxer->stream->url, "ffmpeg://rtsp:", 14))
- av_strlcpy(mp_filename, demuxer->stream->url + 9,
- sizeof(mp_filename));
- else
+ if (demuxer->stream->lavf_type && !strcmp(demuxer->stream->lavf_type,
+ "rtsp")) {
+ // Remove possible leading ffmpeg:// or lavf://
+ char *name = strstr(demuxer->stream->url, "rtsp:");
+ av_strlcpy(mp_filename, name, sizeof(mp_filename));
+ } else
av_strlcat(mp_filename, demuxer->stream->url, sizeof(mp_filename));
} else
av_strlcat(mp_filename, "foobar.dummy", sizeof(mp_filename));
@@ -659,16 +663,17 @@ static demuxer_t *demux_open_lavf(demuxer_t *demuxer)
mp_msg(MSGT_HEADER, MSGL_V, "LAVF: %d audio and %d video streams found\n",
priv->audio_streams, priv->video_streams);
- mp_msg(MSGT_HEADER, MSGL_V, "LAVF: build %d\n", LIBAVFORMAT_BUILD);
demuxer->audio->id = -2; // wait for higher-level code to select track
- if (!priv->video_streams) {
- if (!priv->audio_streams) {
- mp_msg(MSGT_HEADER, MSGL_ERR,
- "LAVF: no audio or video headers found - broken file?\n");
- return NULL;
- }
- demuxer->video->id = -2; // audio-only
- }
+ /* There's still no global video track selection, so we have to pick
+ * the default video track in the demuxer.
+ * Note that the interface doesn't make sense: demuxer->video->id
+ * is initialized to --vid value, but after demuxer initialization
+ * it contains either -2 for disabled or v_streams[] index. */
+ int vid = demuxer->video->id;
+ demuxer->video->id = -2;
+ demuxer->desc->control(demuxer, DEMUXER_CTRL_SWITCH_VIDEO, &vid);
+ if (demuxer->video->id >= 0)
+ demuxer->video->sh = demuxer->v_streams[demuxer->video->id];
// disabled because unreliable per-stream bitrate values returned
// by libavformat trigger this heuristic incorrectly and break things
@@ -765,23 +770,12 @@ static int demux_lavf_fill_buffer(demuxer_t *demux, demux_stream_t *dsds)
if (id == demux->audio->id || priv->internet_radio_hack) {
// audio
ds = demux->audio;
- if (!ds->sh) {
- ds->sh = demux->a_streams[id];
- mp_msg(MSGT_DEMUX, MSGL_V, "Auto-selected LAVF audio ID = %d\n",
- ds->id);
- }
} else if (id == demux->video->id) {
// video
ds = demux->video;
- if (!ds->sh) {
- ds->sh = demux->v_streams[id];
- mp_msg(MSGT_DEMUX, MSGL_V, "Auto-selected LAVF video ID = %d\n",
- ds->id);
- }
} else if (id == demux->sub->id) {
// subtitle
ds = demux->sub;
- sub_utf8 = 1;
} else {
talloc_free(pkt);
return 1;
@@ -808,7 +802,7 @@ static int demux_lavf_fill_buffer(demuxer_t *demux, demux_stream_t *dsds)
av_q2d(priv->avfc->streams[id]->time_base);
}
dp->pos = demux->filepos;
- dp->flags = !!(pkt->flags & AV_PKT_FLAG_KEY);
+ dp->keyframe = pkt->flags & AV_PKT_FLAG_KEY;
// append packet to DS stream:
ds_add_packet(ds, dp);
return 1;
diff --git a/libmpdemux/demux_lmlm4.c b/libmpdemux/demux_lmlm4.c
index 05cec05..739343c 100644
--- a/libmpdemux/demux_lmlm4.c
+++ b/libmpdemux/demux_lmlm4.c
@@ -181,7 +181,6 @@ static int lmlm4_check_file(demuxer_t* demuxer)
mp_msg(MSGT_DEMUX, MSGL_V, "Checking for LMLM4 Stream Format\n");
if(getFrame(demuxer, &frameInfo)!=1){
- stream_skip(demuxer->stream,-8);
mp_msg(MSGT_DEMUX, MSGL_V, "LMLM4 Stream Format not found\n");
return 0;
}
diff --git a/libmpdemux/demux_mf.c b/libmpdemux/demux_mf.c
index 193b17b..7112fd4 100644
--- a/libmpdemux/demux_mf.c
+++ b/libmpdemux/demux_mf.c
@@ -66,7 +66,7 @@ static int demux_mf_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds){
if ( !fread( dp->buffer,file_size,1,f ) ) return 0;
dp->pts=mf->curr_frame / sh_video->fps;
dp->pos=mf->curr_frame;
- dp->flags=0;
+ dp->keyframe = true;
// append packet to DS stream:
ds_add_packet( demuxer->video,dp );
}
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 27bc45a..d04758c 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -50,8 +50,6 @@
#include "mp_msg.h"
-#include "sub/sub.h"
-
#ifdef CONFIG_QTX_CODECS
#include "loader/qtx/qtxsdk/components.h"
@@ -885,6 +883,7 @@ static int demux_mkv_read_tags(demuxer_t *demuxer)
demux_info_add_bstr(demuxer, tag.simple_tag[j].tag_name, tag.simple_tag[j].tag_string);
}
+ talloc_free(parse_ctx.talloc_ctx);
return 0;
}
@@ -1840,7 +1839,7 @@ static int demux_mkv_read_block_lacing(uint8_t *buffer, uint64_t *size,
}
static void handle_realvideo(demuxer_t *demuxer, mkv_track_t *track,
- uint8_t *buffer, uint32_t size, int64_t block_bref)
+ uint8_t *buffer, uint32_t size, bool keyframe)
{
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
demux_packet_t *dp;
@@ -1860,13 +1859,13 @@ static void handle_realvideo(demuxer_t *demuxer, mkv_track_t *track,
biCompression, &track->rv_kf_base,
&track->rv_kf_pts, NULL);
dp->pos = demuxer->filepos;
- dp->flags = block_bref ? 0 : 0x10;
+ dp->keyframe = keyframe;
ds_add_packet(demuxer->video, dp);
}
static void handle_realaudio(demuxer_t *demuxer, mkv_track_t *track,
- uint8_t *buffer, uint32_t size, int64_t block_bref)
+ uint8_t *buffer, uint32_t size, bool keyframe)
{
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
int sps = track->sub_packet_size;
@@ -1952,7 +1951,7 @@ static void handle_realaudio(demuxer_t *demuxer, mkv_track_t *track,
dp->pts = (x * apk_usize % w) ? 0 :
track->audio_timestamp[x * apk_usize / w];
dp->pos = track->audio_filepos; // all equal
- dp->flags = x ? 0 : 0x10; // Mark first packet as keyframe
+ dp->keyframe = !x; // Mark first packet as keyframe
ds_add_packet(demuxer->audio, dp);
}
}
@@ -1966,14 +1965,14 @@ static void handle_realaudio(demuxer_t *demuxer, mkv_track_t *track,
track->ra_pts = mkv_d->last_pts;
dp->pos = demuxer->filepos;
- dp->flags = block_bref ? 0 : 0x10;
+ dp->keyframe = keyframe;
ds_add_packet(demuxer->audio, dp);
}
}
static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
- uint64_t block_duration, int64_t block_bref,
- int64_t block_fref, uint8_t simpleblock)
+ uint64_t block_duration, bool keyframe,
+ bool simpleblock)
{
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
mkv_track_t *track = NULL;
@@ -1995,6 +1994,8 @@ static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
length -= tmp + 2;
old_length = length;
flags = block[0];
+ if (simpleblock)
+ keyframe = flags & 0x80;
if (demux_mkv_read_block_lacing(block, &length, &laces, &lace_size))
return 0;
block += old_length - length;
@@ -2015,13 +2016,8 @@ static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
&& track->id == demuxer->audio->id) {
ds = demuxer->audio;
- if (mkv_d->a_skip_to_keyframe) {
- if (simpleblock) {
- if (!(flags & 0x80)) /*current frame isn't a keyframe */
- use_this_block = 0;
- } else if (block_bref != 0)
- use_this_block = 0;
- }
+ if (mkv_d->a_skip_to_keyframe)
+ use_this_block = keyframe;
if (mkv_d->v_skip_to_keyframe)
use_this_block = 0;
@@ -2043,13 +2039,8 @@ static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
else if (track->type == MATROSKA_TRACK_VIDEO
&& track->id == demuxer->video->id) {
ds = demuxer->video;
- if (mkv_d->v_skip_to_keyframe) {
- if (simpleblock) {
- if (!(flags & 0x80)) /*current frame isn't a keyframe */
- use_this_block = 0;
- } else if (block_bref != 0 || block_fref != 0)
- use_this_block = 0;
- }
+ if (mkv_d->v_skip_to_keyframe)
+ use_this_block = keyframe;
} else if (track->type == MATROSKA_TRACK_SUBTITLE
&& track->id == demuxer->sub->id) {
ds = demuxer->sub;
@@ -2058,7 +2049,6 @@ static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
"lacing. This is abnormal and not supported.\n");
use_this_block = 0;
}
- sub_utf8 = 1; // XXX this variable should be eventually removed
} else
use_this_block = 0;
@@ -2069,10 +2059,10 @@ static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
for (i = 0; i < laces; i++) {
if (ds == demuxer->video && track->realmedia)
handle_realvideo(demuxer, track, block, lace_size[i],
- block_bref);
+ keyframe);
else if (ds == demuxer->audio && track->realmedia)
handle_realaudio(demuxer, track, block, lace_size[i],
- block_bref);
+ keyframe);
else {
int size = lace_size[i];
demux_packet_t *dp;
@@ -2083,8 +2073,7 @@ static int handle_block(demuxer_t *demuxer, uint8_t *block, uint64_t length,
memcpy(dp->buffer, buffer, size);
if (buffer != block)
talloc_free(buffer);
- dp->flags = (block_bref == 0
- && block_fref == 0) ? 0x10 : 0;
+ dp->keyframe = keyframe;
/* If default_duration is 0, assume no pts value is known
* for packets after the first one (rather than all pts
* values being the same) */
@@ -2122,7 +2111,7 @@ static int demux_mkv_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
while (1) {
while (mkv_d->cluster_size > 0) {
uint64_t block_duration = 0, block_length = 0;
- int64_t block_bref = 0, block_fref = 0;
+ bool keyframe = true;
uint8_t *block = NULL;
while (mkv_d->blockgroup_size > 0) {
@@ -2157,10 +2146,8 @@ static int demux_mkv_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
free(block);
return 0;
}
- if (num <= 0)
- block_bref = num;
- else
- block_fref = num;
+ if (num)
+ keyframe = false;
break;
case EBML_ID_INVALID:
@@ -2177,8 +2164,7 @@ static int demux_mkv_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
if (block) {
int res = handle_block(demuxer, block, block_length,
- block_duration, block_bref, block_fref,
- 0);
+ block_duration, keyframe, false);
free(block);
if (res < 0)
return 0;
@@ -2216,8 +2202,7 @@ static int demux_mkv_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
}
l = tmp + block_length;
res = handle_block(demuxer, block, block_length,
- block_duration, block_bref,
- block_fref, 1);
+ block_duration, false, true);
free(block);
mkv_d->cluster_size -= l + il;
if (res < 0)
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index bccf808..2d0bd1a 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -1354,7 +1354,6 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
init_vobsub(sh, trak);
else {
sh->type = 'm';
- sub_utf8 = 1;
}
} else
mp_msg(MSGT_DEMUX, MSGL_V, "Generic track - not completely understood! (id: %d)\n",
@@ -2195,7 +2194,6 @@ if(trak->pos==0 && trak->stream_header_len>0){
trak->stream_header = NULL;
trak->stream_header_len = 0;
dp->pts=pts;
- dp->flags=0;
dp->pos=pos; // FIXME?
ds_add_packet(ds,dp);
} else
diff --git a/libmpdemux/demux_nemesi.c b/libmpdemux/demux_nemesi.c
deleted file mode 100644
index b5c9cd4..0000000
--- a/libmpdemux/demux_nemesi.c
+++ /dev/null
@@ -1,500 +0,0 @@
-/*
- * Copyright (C) 2007 Alessandro Molina <amol.wrk at gmail.com>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include "stream/stream.h"
-#include "demuxer.h"
-#include "stheader.h"
-#define HAVE_STRUCT_SOCKADDR_STORAGE
-#include "nemesi/rtsp.h"
-#include "nemesi/rtp.h"
-#include <sched.h>
-
-int rtsp_transport_http = 0;
-int rtsp_transport_tcp = 0;
-int rtsp_transport_sctp = 0;
-int rtsp_port = 0;
-
-typedef struct {
- char * mime;
- unsigned int fourcc;
-} MIMEto4CC;
-
-#define NMS_MAX_FORMATS 16
-
-MIMEto4CC supported_audio[NMS_MAX_FORMATS] = {
- {"MPA", 0x55},
- {"vorbis", mmioFOURCC('v','r','b','s')},
- {"mpeg4-generic", mmioFOURCC('M','P','4','A')},
- {NULL, 0},
-};
-
-MIMEto4CC supported_video[NMS_MAX_FORMATS] = {
- {"MPV", mmioFOURCC('M','P','E','G')},
- {"theora",mmioFOURCC('t','h','e','o')},
- {"H264", mmioFOURCC('H','2','6','4')},
- {"H263-1998", mmioFOURCC('H','2','6','3')},
- {"MP4V-ES", mmioFOURCC('M','P','4','V')},
- {NULL, 0},
-};
-
-typedef enum { NEMESI_SESSION_VIDEO,
- NEMESI_SESSION_AUDIO } Nemesi_SessionType;
-
-typedef struct {
- rtsp_ctrl * rtsp;
- rtp_session * session[2];
- rtp_frame first_pkt[2];
- double time[2];
- double seek;
-} Nemesi_DemuxerStreamData;
-
-
-#define STYPE_TO_DS(demuxer, stype) \
- ((stype) == NEMESI_SESSION_VIDEO ? (demuxer)->video : (demuxer)->audio)
-
-#define DS_TO_STYPE(demuxer, ds) \
- ((ds) == (demuxer)->video ? NEMESI_SESSION_VIDEO : NEMESI_SESSION_AUDIO)
-
-#define INVERT_STYPE(stype) ((stype + 1) % 2)
-
-static unsigned int get4CC(MIMEto4CC * supported_formats, char const * format)
-{
- unsigned i;
-
- for(i = 0; i < NMS_MAX_FORMATS; ++i) {
- if (!supported_formats[i].mime)
- return 0;
- else if ( strcmp(supported_formats[i].mime, format) == 0 )
- return supported_formats[i].fourcc;
- }
-
- return 0;
-}
-
-static rtp_ssrc *wait_for_packets(Nemesi_DemuxerStreamData * ndsd, Nemesi_SessionType stype)
-{
- rtp_ssrc *ssrc = NULL;
-
- /* Wait for prebuffering (prebuffering must be enabled in nemesi) */
- int terminated = rtp_fill_buffers(rtsp_get_rtp_th(ndsd->rtsp));
-
- /* Wait for the ssrc to be registered, if prebuffering is on in nemesi
- this will just get immediatly the correct ssrc */
- if (!terminated) {
- while ( !(ssrc = rtp_session_get_ssrc(ndsd->session[stype], ndsd->rtsp)) )
- sched_yield();
- }
-
- return ssrc;
-}
-
-static void link_session_and_fetch_conf(Nemesi_DemuxerStreamData * ndsd,
- Nemesi_SessionType stype,
- rtp_session * sess,
- rtp_buff * buff, unsigned int * fps)
-{
- extern double force_fps;
- rtp_ssrc *ssrc = NULL;
- rtp_frame * fr = &ndsd->first_pkt[stype];
- rtp_buff trash_buff;
- int must_prefetch = ((fps != NULL) || (buff != NULL)) ? 1 : 0;
-
- ndsd->session[stype] = sess;
-
- ssrc = wait_for_packets(ndsd, stype);
-
- if ( ((ssrc) && (must_prefetch)) ) {
- if (buff == NULL)
- buff = &trash_buff;
-
- rtp_fill_buffer(ssrc, fr, buff); //Prefetch the first packet
-
- /* Packet prefecthing must be done anyway or we won't be
- able to get the metadata, but fps calculation happens
- only if the user didn't specify the FPS */
- if ( ((!force_fps) && (fps != NULL)) ) {
- while ( *fps <= 0 ) {
- //Wait more pkts to calculate FPS and try again
- sched_yield();
- *fps = rtp_get_fps(ssrc);
- }
- }
- }
-}
-
-static demuxer_t* demux_open_rtp(demuxer_t* demuxer)
-{
- nms_rtsp_hints hints;
- char * url = demuxer->stream->streaming_ctrl->url->url;
- rtsp_ctrl * ctl;
- RTSP_Error reply;
- rtsp_medium * media;
- Nemesi_DemuxerStreamData * ndsd = calloc(1, sizeof(Nemesi_DemuxerStreamData));
-
- memset(&hints,0,sizeof(hints));
- if (rtsp_port) hints.first_rtp_port = rtsp_port;
- if (rtsp_transport_tcp) {
- hints.pref_rtsp_proto = TCP;
- hints.pref_rtp_proto = TCP;
- }
- if (rtsp_transport_sctp) {
- hints.pref_rtsp_proto = SCTP;
- hints.pref_rtp_proto = SCTP;
- }
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Initializing libNemesi\n");
- if ((ctl = rtsp_init(&hints)) == NULL) {
- free(ndsd);
- return STREAM_ERROR;
- }
-
- ndsd->rtsp = ctl;
- demuxer->priv = ndsd;
- //nms_verbosity_set(1);
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Opening: %s\n", url);
- if (rtsp_open(ctl, url)) {
- mp_msg(MSGT_DEMUX, MSGL_ERR, "rtsp_open failed.\n");
- return demuxer;
- }
-
- reply = rtsp_wait(ctl);
- if (reply.got_error) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "OPEN Error from the server: %s\n",
- reply.message.reply_str);
- return demuxer;
- }
-
- rtsp_play(ctl, 0, 0);
- reply = rtsp_wait(ctl);
- if (reply.got_error) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "PLAY Error from the server: %s\n",
- reply.message.reply_str);
- return demuxer;
- }
-
- if (!ctl->rtsp_queue)
- return demuxer;
-
- media = ctl->rtsp_queue->media_queue;
- for (; media; media=media->next) {
- sdp_medium_info * info = media->medium_info;
- rtp_session * sess = media->rtp_sess;
- rtp_buff buff;
-
- int media_format = atoi(info->fmts);
- rtp_pt * ptinfo = rtp_get_pt_info(sess, media_format);
- char const * format_name = ptinfo ? ptinfo->name : NULL;
-
- memset(&buff, 0, sizeof(rtp_buff));
-
- if (sess->parsers[media_format] == NULL) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "libNemesi unsupported media format: %s\n",
- format_name ? format_name : info->fmts);
- continue;
- }
- else {
- mp_msg(MSGT_DEMUX, MSGL_INFO,
- "libNemesi supported media: %s\n",
- format_name);
- }
-
- if (ptinfo->type == AU) {
- if (ndsd->session[NEMESI_SESSION_AUDIO] == NULL) {
- sh_audio_t* sh_audio = new_sh_audio(demuxer,0);
- WAVEFORMATEX* wf;
- demux_stream_t* d_audio = demuxer->audio;
- demuxer->audio->id = 0;
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Detected as AUDIO stream...\n");
-
- link_session_and_fetch_conf(ndsd, NEMESI_SESSION_AUDIO,
- sess, &buff, NULL);
-
- wf = calloc(1,sizeof(*wf)+buff.len);
- wf->cbSize = buff.len;
- memcpy(wf+1, buff.data, buff.len);
-
- sh_audio->wf = wf;
- d_audio->sh = sh_audio;
- sh_audio->ds = d_audio;
- wf->nSamplesPerSec = 0;
-
- wf->wFormatTag =
- sh_audio->format = get4CC(supported_audio, format_name);
- if ( !(wf->wFormatTag) )
- mp_msg(MSGT_DEMUX, MSGL_WARN,
- "Unknown MPlayer format code for MIME"
- " type \"audio/%s\"\n", format_name);
- } else {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "There is already an audio session registered,"
- " ignoring...\n");
- }
- } else if (ptinfo->type == VI) {
- if (ndsd->session[NEMESI_SESSION_VIDEO] == NULL) {
- sh_video_t* sh_video;
- BITMAPINFOHEADER* bih;
- demux_stream_t* d_video;
- int fps = 0;
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Detected as VIDEO stream...\n");
-
- link_session_and_fetch_conf(ndsd, NEMESI_SESSION_VIDEO,
- sess, &buff, &fps);
-
- bih = calloc(1,sizeof(*bih)+buff.len);
- bih->biSize = sizeof(*bih)+buff.len;
- memcpy(bih+1, buff.data, buff.len);
-
- sh_video = new_sh_video(demuxer,0);
- sh_video->bih = bih;
- d_video = demuxer->video;
- d_video->sh = sh_video;
- sh_video->ds = d_video;
-
- if (fps) {
- sh_video->fps = fps;
- sh_video->frametime = 1.0/fps;
- }
-
- bih->biCompression =
- sh_video->format = get4CC(supported_video, format_name);
- if ( !(bih->biCompression) ) {
- mp_msg(MSGT_DEMUX, MSGL_WARN,
- "Unknown MPlayer format code for MIME"
- " type \"video/%s\"\n", format_name);
- }
- } else {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "There is already a video session registered,"
- " ignoring...\n");
- }
- } else {
- mp_msg(MSGT_DEMUX, MSGL_ERR, "Unsupported media type\n");
- }
- }
-
- demuxer->stream->eof = 0;
-
- return demuxer;
-}
-
-static int get_data_for_session(Nemesi_DemuxerStreamData * ndsd,
- Nemesi_SessionType stype, rtp_ssrc * ssrc,
- rtp_frame * fr)
-{
- if (ndsd->first_pkt[stype].len != 0) {
- fr->data = ndsd->first_pkt[stype].data;
- fr->time_sec = ndsd->first_pkt[stype].time_sec;
- fr->len = ndsd->first_pkt[stype].len;
- ndsd->first_pkt[stype].len = 0;
- return RTP_FILL_OK;
- } else {
- rtp_buff buff;
- return rtp_fill_buffer(ssrc, fr, &buff);
- }
-}
-
-static void stream_add_packet(Nemesi_DemuxerStreamData * ndsd,
- Nemesi_SessionType stype,
- demux_stream_t* ds, rtp_frame * fr)
-{
- demux_packet_t* dp = new_demux_packet(fr->len);
- memcpy(dp->buffer, fr->data, fr->len);
-
- fr->time_sec += ndsd->seek;
- ndsd->time[stype] = dp->pts = fr->time_sec;
-
- ds_add_packet(ds, dp);
-}
-
-static int demux_rtp_fill_buffer(demuxer_t* demuxer, demux_stream_t* ds)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- Nemesi_SessionType stype;
- rtp_ssrc * ssrc;
- rtp_frame fr;
-
- if ( (!ndsd->rtsp->rtsp_queue) || (demuxer->stream->eof) ) {
- mp_msg(MSGT_DEMUX, MSGL_INFO, "End of Stream...\n");
- demuxer->stream->eof = 1;
- return 0;
- }
-
- memset(&fr, 0, sizeof(fr));
-
- stype = DS_TO_STYPE(demuxer, ds);
- if ( (ssrc = wait_for_packets(ndsd, stype)) == NULL ) {
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Bye...\n");
- demuxer->stream->eof = 1;
- return 0;
- }
-
- if(!get_data_for_session(ndsd, stype, ssrc, &fr))
- stream_add_packet(ndsd, stype, ds, &fr);
- else {
- stype = INVERT_STYPE(stype);
-
- //Must check if we actually have a stream of the other type
- if (!ndsd->session[stype])
- return 1;
-
- ds = STYPE_TO_DS(demuxer, stype);
- ssrc = wait_for_packets(ndsd, stype);
-
- if(!get_data_for_session(ndsd, stype, ssrc, &fr))
- stream_add_packet(ndsd, stype, ds, &fr);
- }
-
- return 1;
-}
-
-
-static void demux_close_rtp(demuxer_t* demuxer)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- rtsp_ctrl * ctl = ndsd->rtsp;
- RTSP_Error err;
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Closing libNemesi RTSP Stream...\n");
-
- if (ndsd == NULL)
- return;
-
- free(ndsd);
-
- if (rtsp_close(ctl)) {
- err = rtsp_wait(ctl);
- if (err.got_error)
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "Error Closing Stream: %s\n",
- err.message.reply_str);
- }
-
- rtsp_uninit(ctl);
-}
-
-static void demux_seek_rtp(demuxer_t *demuxer, float rel_seek_secs,
- float audio_delay, int flags)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- rtsp_ctrl * ctl = ndsd->rtsp;
- sdp_attr * r_attr = NULL;
- sdp_range r = {0, 0};
- double time = ndsd->time[NEMESI_SESSION_VIDEO] ?
- ndsd->time[NEMESI_SESSION_VIDEO] :
- ndsd->time[NEMESI_SESSION_AUDIO];
-
- if (!ctl->rtsp_queue)
- return;
-
- r_attr = sdp_get_attr(ctl->rtsp_queue->info->attr_list, "range");
- if (r_attr)
- r = sdp_parse_range(r_attr->value);
-
- //flags & 1 -> absolute seek
- //flags & 2 -> percent seek
- if (flags == 0) {
- time += rel_seek_secs;
- if (time < r.begin)
- time = r.begin;
- else if (time > r.end)
- time = r.end;
- ndsd->seek = time;
-
- mp_msg(MSGT_DEMUX,MSGL_WARN,"libNemesi SEEK %f on %f - %f)\n",
- time, r.begin, r.end);
-
- if (!rtsp_seek(ctl, time, 0)) {
- RTSP_Error err = rtsp_wait(ctl);
- if (err.got_error) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "Error Performing Seek: %s\n",
- err.message.reply_str);
- demuxer->stream->eof = 1;
- }
- else
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Seek, performed\n");
- }
- else {
- mp_msg(MSGT_DEMUX, MSGL_ERR, "Unable to pause stream to perform seek\n");
- demuxer->stream->eof = 1;
- }
- }
- else
- mp_msg(MSGT_DEMUX, MSGL_ERR, "Unsupported seek type\n");
-}
-
-static int demux_rtp_control(struct demuxer *demuxer, int cmd, void *arg)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- rtsp_ctrl * ctl = ndsd->rtsp;
- sdp_attr * r_attr = NULL;
- sdp_range r = {0, 0};
- double time = ndsd->time[NEMESI_SESSION_VIDEO] ?
- ndsd->time[NEMESI_SESSION_VIDEO] :
- ndsd->time[NEMESI_SESSION_AUDIO];
-
- if (!ctl->rtsp_queue)
- return DEMUXER_CTRL_DONTKNOW;
-
- r_attr = sdp_get_attr(ctl->rtsp_queue->info->attr_list, "range");
- if (r_attr)
- r = sdp_parse_range(r_attr->value);
-
- switch (cmd) {
- case DEMUXER_CTRL_GET_TIME_LENGTH:
- if (r.end == 0)
- return DEMUXER_CTRL_DONTKNOW;
-
- *((double *)arg) = ((double)r.end) - ((double)r.begin);
- return DEMUXER_CTRL_OK;
-
- case DEMUXER_CTRL_GET_PERCENT_POS:
- if (r.end == 0)
- return DEMUXER_CTRL_DONTKNOW;
-
- *((int *)arg) = (int)( time * 100 / (r.end - r.begin) );
- return DEMUXER_CTRL_OK;
- default:
- return DEMUXER_CTRL_DONTKNOW;
- }
-}
-
-const demuxer_desc_t demuxer_desc_rtp_nemesi = {
- "libnemesi RTP demuxer",
- "nemesi",
- "",
- "Alessandro Molina",
- "requires libnemesi",
- DEMUXER_TYPE_RTP_NEMESI,
- 0, // no autodetect
- NULL,
- demux_rtp_fill_buffer,
- demux_open_rtp,
- demux_close_rtp,
- demux_seek_rtp,
- demux_rtp_control
-};
diff --git a/libmpdemux/demux_nut.c b/libmpdemux/demux_nut.c
index efa20e0..e6602ef 100644
--- a/libmpdemux/demux_nut.c
+++ b/libmpdemux/demux_nut.c
@@ -238,7 +238,7 @@ static int demux_nut_fill_buffer(demuxer_t * demuxer, demux_stream_t * dsds) {
dp->pts = pts;
dp->pos = demuxer->filepos;
- dp->flags= (pd.flags & NUT_FLAG_KEY) ? 0x10 : 0;
+ dp->keyframe = pd.flags & NUT_FLAG_KEY;
{int len = pd.len;
while ((ret = nut_read_frame(nut, &len, dp->buffer + pd.len-len)) == NUT_ERR_EAGAIN);
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c
index d38d68c..9eea061 100644
--- a/libmpdemux/demux_ogg.c
+++ b/libmpdemux/demux_ogg.c
@@ -258,13 +258,13 @@ static int demux_ogg_get_page_stream(ogg_demuxer_t *ogg_d,
}
static unsigned char *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack,
- float *pts, int *flags,
+ float *pts, bool *keyframe,
int samplesize)
{
unsigned char *data = pack->packet;
*pts = MP_NOPTS_VALUE;
- *flags = 0;
+ *keyframe = false;
if (os->vorbis) {
if (*pack->packet & PACKET_TYPE_HEADER) {
@@ -283,7 +283,7 @@ static unsigned char *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack,
if (os->lastsize > 0)
pack->granulepos += os->lastsize;
} else
- *flags = 1;
+ *keyframe = true;
if (vi)
*pts = pack->granulepos / (float)vi->rate;
os->lastsize = blocksize;
@@ -306,7 +306,7 @@ static unsigned char *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack,
if (pack->granulepos >= 0) {
os->lastpos = pack->granulepos >> keyframe_granule_shift;
os->lastpos += pack->granulepos & iframemask;
- *flags = (pack->granulepos & iframemask) == 0;
+ *keyframe = (pack->granulepos & iframemask) == 0;
} else {
os->lastpos++;
}
@@ -332,7 +332,7 @@ static unsigned char *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack,
pack->granulepos = os->lastpos + (os->lastsize ? os->lastsize : 1);
// If we already have a timestamp it can be a syncpoint
if (*pack->packet & PACKET_IS_SYNCPOINT)
- *flags = 1;
+ *keyframe = true;
*pts = pack->granulepos / os->samplerate;
// Save the packet length and timestamp
os->lastsize = 0;
@@ -474,10 +474,6 @@ static int demux_ogg_add_packet(demux_stream_t *ds, ogg_stream_t *os,
int id, ogg_packet *pack)
{
demuxer_t *d = ds->demuxer;
- demux_packet_t *dp;
- unsigned char *data;
- float pts = 0;
- int flags = 0;
int samplesize = 1;
// If packet is an comment header then we try to get comments at first
@@ -520,7 +516,10 @@ static int demux_ogg_add_packet(demux_stream_t *ds, ogg_stream_t *os,
if (ds == d->audio && ((sh_audio_t*)ds->sh)->format == FOURCC_VORBIS) {
samplesize = ((sh_audio_t *)ds->sh)->samplesize;
}
- data = demux_ogg_read_packet(os, pack, &pts, &flags, samplesize);
+ bool keyframe;
+ float pts;
+ unsigned char *data;
+ data = demux_ogg_read_packet(os, pack, &pts, &keyframe, samplesize);
if (!data)
return 0;
@@ -530,14 +529,15 @@ static int demux_ogg_add_packet(demux_stream_t *ds, ogg_stream_t *os,
vo_osd_changed(OSDTYPE_SUBTITLE);
}
/// Send the packet
+ struct demux_packet *dp;
dp = new_demux_packet(pack->bytes - (data - pack->packet));
memcpy(dp->buffer, data, pack->bytes - (data - pack->packet));
dp->pts = pts;
- dp->flags = flags;
+ dp->keyframe = keyframe;
ds_add_packet(ds, dp);
mp_msg(MSGT_DEMUX, MSGL_DBG2,
- "New dp: %p ds=%p pts=%5.3f len=%d flag=%d \n",
- dp, ds, pts, dp->len, flags);
+ "New dp: %p ds=%p pts=%5.3f len=%d keyframe=%d \n",
+ dp, ds, pts, dp->len, keyframe);
return 1;
}
@@ -606,12 +606,12 @@ static void demux_ogg_scan_stream(demuxer_t *demuxer)
p = 0;
while (ogg_stream_packetout(oss, &op) == 1) {
float pts;
- int flags;
+ bool keyframe;
- demux_ogg_read_packet(os, &op, &pts, &flags, samplesize);
+ demux_ogg_read_packet(os, &op, &pts, &keyframe, samplesize);
if (op.granulepos >= 0) {
ogg_d->final_granulepos = op.granulepos;
- if (ogg_d->initial_granulepos == MP_NOPTS_VALUE && (flags & 1)) {
+ if (ogg_d->initial_granulepos == MP_NOPTS_VALUE && keyframe) {
ogg_d->initial_granulepos = op.granulepos;
if (index_mode != 2 && ogg_d->pos < demuxer->movi_end - 2 * 270000) {
//the 270000 are just a wild guess
@@ -621,7 +621,7 @@ static void demux_ogg_scan_stream(demuxer_t *demuxer)
}
}
}
- if (index_mode == 2 && (flags || (os->vorbis && op.granulepos >= 0))) {
+ if (index_mode == 2 && (keyframe || (os->vorbis && op.granulepos >= 0))) {
if (ogg_d->num_syncpoint > SIZE_MAX / sizeof(ogg_syncpoint_t) - 1)
break;
ogg_d->syncpoints = realloc_struct(ogg_d->syncpoints, (ogg_d->num_syncpoint + 1), sizeof(ogg_syncpoint_t));
@@ -1415,7 +1415,7 @@ static void demux_ogg_seek(demuxer_t *demuxer, float rel_seek_secs,
int np;
int is_gp_valid;
float pts;
- int is_keyframe;
+ bool is_keyframe;
int samplesize = 1;
ogg_int64_t granulepos_orig;
diff --git a/libmpdemux/demux_packet.h b/libmpdemux/demux_packet.h
index 30cd001..d64291f 100644
--- a/libmpdemux/demux_packet.h
+++ b/libmpdemux/demux_packet.h
@@ -19,6 +19,7 @@
#ifndef MPLAYER_DEMUX_PACKET_H
#define MPLAYER_DEMUX_PACKET_H
+#include <stdbool.h>
#include <sys/types.h>
// Holds one packet/frame/whatever
@@ -29,7 +30,7 @@ typedef struct demux_packet {
double stream_pts;
off_t pos; // position in index (AVI) or file (MPG)
unsigned char *buffer;
- int flags; // keyframe, etc
+ bool keyframe;
int refcount; // counter for the master packet, if 0, buffer can be free()d
struct demux_packet *master; //in clones, pointer to the master packet
struct demux_packet *next;
diff --git a/libmpdemux/demux_rawdv.c b/libmpdemux/demux_rawdv.c
index f0b0813..1e0a27e 100644
--- a/libmpdemux/demux_rawdv.c
+++ b/libmpdemux/demux_rawdv.c
@@ -124,7 +124,6 @@ static int demux_rawdv_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
return 0;
dp_video->pts=frames->current_frame/sh_video->fps;
dp_video->pos=frames->current_filepos;
- dp_video->flags=0;
if (demuxer->audio && demuxer->audio->id>=-1)
{
diff --git a/libmpdemux/demux_real.c b/libmpdemux/demux_real.c
index 687441f..ea9c304 100644
--- a/libmpdemux/demux_real.c
+++ b/libmpdemux/demux_real.c
@@ -794,7 +794,7 @@ got_audio:
if (x * apk_usize % w == 0)
dp->pts = priv->audio_timestamp[x * apk_usize / w];
dp->pos = priv->audio_filepos; // all equal
- dp->flags = x ? 0 : 0x10; // Mark first packet as keyframe
+ dp->keyframe = !x; // Mark first packet as keyframe
ds_add_packet(ds, dp);
}
}
@@ -839,7 +839,7 @@ got_audio:
dp->pts = timestamp/1000.0;
priv->a_pts=timestamp;
dp->pos = demuxer->filepos;
- dp->flags = (flags & 0x2) ? 0x10 : 0;
+ dp->keyframe = flags & 0x2;
ds_add_packet(ds, dp);
} // codec_id check, codec default case
@@ -1003,7 +1003,7 @@ got_video:
dp = new_demux_packet(sizeof(dp_hdr_t)+vpkg_length+8*(1+2*(vpkg_header&0x3F)));
// the timestamp seems to be in milliseconds
dp->pos = demuxer->filepos;
- dp->flags = (flags & 0x2) ? 0x10 : 0;
+ dp->keyframe = flags & 0x2;
ds->asf_seq = vpkg_seqnum;
dp_hdr=(dp_hdr_t*)dp->buffer;
dp_hdr->chunks=0;
diff --git a/libmpdemux/demux_realaud.c b/libmpdemux/demux_realaud.c
index ece05ed..d42b98a 100644
--- a/libmpdemux/demux_realaud.c
+++ b/libmpdemux/demux_realaud.c
@@ -139,7 +139,7 @@ static int demux_ra_fill_buffer(demuxer_t *demuxer, demux_stream_t *dsds)
memcpy(dp->buffer, ra_priv->audio_buf + x * len, len);
dp->pts = x ? 0 : demuxer->filepos / ra_priv->data_size;
dp->pos = demuxer->filepos; // all equal
- dp->flags = x ? 0 : 0x10; // Mark first packet as keyframe
+ dp->keyframe = !x; // Mark first packet as keyframe
ds_add_packet(ds, dp);
}
} else {
@@ -148,7 +148,6 @@ static int demux_ra_fill_buffer(demuxer_t *demuxer, demux_stream_t *dsds)
dp->pts = demuxer->filepos / ra_priv->data_size;
dp->pos = demuxer->filepos;
- dp->flags = 0;
ds_add_packet(ds, dp);
}
diff --git a/libmpdemux/demux_rtp.cpp b/libmpdemux/demux_rtp.cpp
deleted file mode 100644
index 7b9ebbe..0000000
--- a/libmpdemux/demux_rtp.cpp
+++ /dev/null
@@ -1,731 +0,0 @@
-/*
- * routines (with C-linkage) that interface between MPlayer
- * and the "LIVE555 Streaming Media" libraries
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-extern "C" {
-// on MinGW, we must include windows.h before the things it conflicts
-#ifdef __MINGW32__ // with. they are each protected from
-#include <windows.h> // windows.h, but not the other way around.
-#endif
-#include "demux_rtp.h"
-#include "stream/stream.h"
-#include "stheader.h"
-#include "options.h"
-#include "config.h"
-}
-#include "demux_rtp_internal.h"
-
-#include "BasicUsageEnvironment.hh"
-#include "liveMedia.hh"
-#include "GroupsockHelper.hh"
-#include <unistd.h>
-
-// A data structure representing input data for each stream:
-class ReadBufferQueue {
-public:
- ReadBufferQueue(MediaSubsession* subsession, demuxer_t* demuxer,
- char const* tag);
- virtual ~ReadBufferQueue();
-
- FramedSource* readSource() const { return fReadSource; }
- RTPSource* rtpSource() const { return fRTPSource; }
- demuxer_t* ourDemuxer() const { return fOurDemuxer; }
- char const* tag() const { return fTag; }
-
- char blockingFlag; // used to implement synchronous reads
-
- // For A/V synchronization:
- Boolean prevPacketWasSynchronized;
- float prevPacketPTS;
- ReadBufferQueue** otherQueue;
-
- // The 'queue' actually consists of just a single "demux_packet_t"
- // (because the underlying OS does the actual queueing/buffering):
- demux_packet_t* dp;
-
- // However, we sometimes inspect buffers before delivering them.
- // For this, we maintain a queue of pending buffers:
- void savePendingBuffer(demux_packet_t* dp);
- demux_packet_t* getPendingBuffer();
-
- // For H264 over rtsp using AVParser, the next packet has to be saved
- demux_packet_t* nextpacket;
-
-private:
- demux_packet_t* pendingDPHead;
- demux_packet_t* pendingDPTail;
-
- FramedSource* fReadSource;
- RTPSource* fRTPSource;
- demuxer_t* fOurDemuxer;
- char const* fTag; // used for debugging
-};
-
-// A structure of RTP-specific state, kept so that we can cleanly
-// reclaim it:
-struct RTPState {
- char const* sdpDescription;
- RTSPClient* rtspClient;
- SIPClient* sipClient;
- MediaSession* mediaSession;
- ReadBufferQueue* audioBufferQueue;
- ReadBufferQueue* videoBufferQueue;
- unsigned flags;
- struct timeval firstSyncTime;
-};
-
-extern "C" char* network_username;
-extern "C" char* network_password;
-static char* openURL_rtsp(RTSPClient* client, char const* url) {
- // If we were given a user name (and optional password), then use them:
- if (network_username != NULL) {
- char const* password = network_password == NULL ? "" : network_password;
- return client->describeWithPassword(url, network_username, password);
- } else {
- return client->describeURL(url);
- }
-}
-
-static char* openURL_sip(SIPClient* client, char const* url) {
- // If we were given a user name (and optional password), then use them:
- if (network_username != NULL) {
- char const* password = network_password == NULL ? "" : network_password;
- return client->inviteWithPassword(url, network_username, password);
- } else {
- return client->invite(url);
- }
-}
-
-#ifdef CONFIG_LIBNEMESI
-extern int rtsp_transport_tcp;
-extern int rtsp_transport_http;
-#else
-int rtsp_transport_tcp = 0;
-int rtsp_transport_http = 0;
-#endif
-
-extern int rtsp_port;
-extern AVCodecContext *avcctx;
-
-extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) {
- struct MPOpts *opts = demuxer->opts;
- Boolean success = False;
- do {
- TaskScheduler* scheduler = BasicTaskScheduler::createNew();
- if (scheduler == NULL) break;
- UsageEnvironment* env = BasicUsageEnvironment::createNew(*scheduler);
- if (env == NULL) break;
-
- RTSPClient* rtspClient = NULL;
- SIPClient* sipClient = NULL;
-
- if (demuxer == NULL || demuxer->stream == NULL) break; // shouldn't happen
- demuxer->stream->eof = 0; // just in case
-
- // Look at the stream's 'priv' field to see if we were initiated
- // via a SDP description:
- char* sdpDescription = (char*)(demuxer->stream->priv);
- if (sdpDescription == NULL) {
- // We weren't given a SDP description directly, so assume that
- // we were given a RTSP or SIP URL:
- char const* protocol = demuxer->stream->streaming_ctrl->url->protocol;
- char const* url = demuxer->stream->streaming_ctrl->url->url;
- extern int verbose;
- if (strcmp(protocol, "rtsp") == 0) {
- if (rtsp_transport_http == 1) {
- rtsp_transport_http = demuxer->stream->streaming_ctrl->url->port;
- rtsp_transport_tcp = 1;
- }
- rtspClient = RTSPClient::createNew(*env, verbose, "MPlayer", rtsp_transport_http);
- if (rtspClient == NULL) {
- fprintf(stderr, "Failed to create RTSP client: %s\n",
- env->getResultMsg());
- break;
- }
- sdpDescription = openURL_rtsp(rtspClient, url);
- } else { // SIP
- unsigned char desiredAudioType = 0; // PCMU (use 3 for GSM)
- sipClient = SIPClient::createNew(*env, desiredAudioType, NULL,
- verbose, "MPlayer");
- if (sipClient == NULL) {
- fprintf(stderr, "Failed to create SIP client: %s\n",
- env->getResultMsg());
- break;
- }
- sipClient->setClientStartPortNum(8000);
- sdpDescription = openURL_sip(sipClient, url);
- }
-
- if (sdpDescription == NULL) {
- fprintf(stderr, "Failed to get a SDP description from URL \"%s\": %s\n",
- url, env->getResultMsg());
- break;
- }
- }
-
- // Now that we have a SDP description, create a MediaSession from it:
- MediaSession* mediaSession = MediaSession::createNew(*env, sdpDescription);
- if (mediaSession == NULL) break;
-
-
- // Create a 'RTPState' structure containing the state that we just created,
- // and store it in the demuxer's 'priv' field, for future reference:
- RTPState* rtpState = new RTPState;
- rtpState->sdpDescription = sdpDescription;
- rtpState->rtspClient = rtspClient;
- rtpState->sipClient = sipClient;
- rtpState->mediaSession = mediaSession;
- rtpState->audioBufferQueue = rtpState->videoBufferQueue = NULL;
- rtpState->flags = 0;
- rtpState->firstSyncTime.tv_sec = rtpState->firstSyncTime.tv_usec = 0;
- demuxer->priv = rtpState;
-
- int audiofound = 0, videofound = 0;
- // Create RTP receivers (sources) for each subsession:
- MediaSubsessionIterator iter(*mediaSession);
- MediaSubsession* subsession;
- unsigned desiredReceiveBufferSize;
- while ((subsession = iter.next()) != NULL) {
- // Ignore any subsession that's not audio or video:
- if (strcmp(subsession->mediumName(), "audio") == 0) {
- if (audiofound) {
- fprintf(stderr, "Additional subsession \"audio/%s\" skipped\n", subsession->codecName());
- continue;
- }
- desiredReceiveBufferSize = 100000;
- } else if (strcmp(subsession->mediumName(), "video") == 0) {
- if (videofound) {
- fprintf(stderr, "Additional subsession \"video/%s\" skipped\n", subsession->codecName());
- continue;
- }
- desiredReceiveBufferSize = 2000000;
- } else {
- continue;
- }
-
- if (rtsp_port)
- subsession->setClientPortNum (rtsp_port);
-
- if (!subsession->initiate()) {
- fprintf(stderr, "Failed to initiate \"%s/%s\" RTP subsession: %s\n", subsession->mediumName(), subsession->codecName(), env->getResultMsg());
- } else {
- fprintf(stderr, "Initiated \"%s/%s\" RTP subsession on port %d\n", subsession->mediumName(), subsession->codecName(), subsession->clientPortNum());
-
- // Set the OS's socket receive buffer sufficiently large to avoid
- // incoming packets getting dropped between successive reads from this
- // subsession's demuxer. Depending on the bitrate(s) that you expect,
- // you may wish to tweak the "desiredReceiveBufferSize" values above.
- int rtpSocketNum = subsession->rtpSource()->RTPgs()->socketNum();
- int receiveBufferSize
- = increaseReceiveBufferTo(*env, rtpSocketNum,
- desiredReceiveBufferSize);
- if (verbose > 0) {
- fprintf(stderr, "Increased %s socket receive buffer to %d bytes \n",
- subsession->mediumName(), receiveBufferSize);
- }
-
- if (rtspClient != NULL) {
- // Issue a RTSP "SETUP" command on the chosen subsession:
- if (!rtspClient->setupMediaSubsession(*subsession, False,
- rtsp_transport_tcp)) break;
- if (!strcmp(subsession->mediumName(), "audio"))
- audiofound = 1;
- if (!strcmp(subsession->mediumName(), "video"))
- videofound = 1;
- }
- }
- }
-
- if (rtspClient != NULL) {
- // Issue a RTSP aggregate "PLAY" command on the whole session:
- if (!rtspClient->playMediaSession(*mediaSession)) break;
- } else if (sipClient != NULL) {
- sipClient->sendACK(); // to start the stream flowing
- }
-
- // Now that the session is ready to be read, do additional
- // MPlayer codec-specific initialization on each subsession:
- iter.reset();
- while ((subsession = iter.next()) != NULL) {
- if (subsession->readSource() == NULL) continue; // not reading this
-
- unsigned flags = 0;
- if (strcmp(subsession->mediumName(), "audio") == 0) {
- rtpState->audioBufferQueue
- = new ReadBufferQueue(subsession, demuxer, "audio");
- rtpState->audioBufferQueue->otherQueue = &(rtpState->videoBufferQueue);
- rtpCodecInitialize_audio(demuxer, subsession, flags);
- } else if (strcmp(subsession->mediumName(), "video") == 0) {
- rtpState->videoBufferQueue
- = new ReadBufferQueue(subsession, demuxer, "video");
- rtpState->videoBufferQueue->otherQueue = &(rtpState->audioBufferQueue);
- rtpCodecInitialize_video(demuxer, subsession, flags);
- }
- rtpState->flags |= flags;
- }
- success = True;
- } while (0);
- if (!success) return NULL; // an error occurred
-
- // Hack: If audio and video are demuxed together on a single RTP stream,
- // then create a new "demuxer_t" structure to allow the higher-level
- // code to recognize this:
- if (demux_is_multiplexed_rtp_stream(demuxer)) {
- stream_t* s = new_ds_stream(demuxer->video);
- demuxer_t* od = demux_open(opts, s, DEMUXER_TYPE_UNKNOWN,
- opts->audio_id, opts->video_id, opts->sub_id,
- NULL);
- demuxer = new_demuxers_demuxer(od, od, od);
- }
-
- return demuxer;
-}
-
-extern "C" int demux_is_mpeg_rtp_stream(demuxer_t* demuxer) {
- // Get the RTP state that was stored in the demuxer's 'priv' field:
- RTPState* rtpState = (RTPState*)(demuxer->priv);
-
- return (rtpState->flags&RTPSTATE_IS_MPEG12_VIDEO) != 0;
-}
-
-extern "C" int demux_is_multiplexed_rtp_stream(demuxer_t* demuxer) {
- // Get the RTP state that was stored in the demuxer's 'priv' field:
- RTPState* rtpState = (RTPState*)(demuxer->priv);
-
- return (rtpState->flags&RTPSTATE_IS_MULTIPLEXED) != 0;
-}
-
-static demux_packet_t* getBuffer(demuxer_t* demuxer, demux_stream_t* ds,
- Boolean mustGetNewData,
- float& ptsBehind); // forward
-
-extern "C" int demux_rtp_fill_buffer(demuxer_t* demuxer, demux_stream_t* ds) {
- // Get a filled-in "demux_packet" from the RTP source, and deliver it.
- // Note that this is called as a synchronous read operation, so it needs
- // to block in the (hopefully infrequent) case where no packet is
- // immediately available.
-
- while (1) {
- float ptsBehind;
- demux_packet_t* dp = getBuffer(demuxer, ds, False, ptsBehind); // blocking
- if (dp == NULL) return 0;
-
- if (demuxer->stream->eof) return 0; // source stream has closed down
-
- // Before using this packet, check to make sure that its presentation
- // time is not far behind the other stream (if any). If it is,
- // then we discard this packet, and get another instead. (The rest of
- // MPlayer doesn't always do a good job of synchronizing when the
- // audio and video streams get this far apart.)
- // (We don't do this when streaming over TCP, because then the audio and
- // video streams are interleaved.)
- // (Also, if the stream is *excessively* far behind, then we allow
- // the packet, because in this case it probably means that there was
- // an error in the source's timestamp synchronization.)
- const float ptsBehindThreshold = 1.0; // seconds
- const float ptsBehindLimit = 60.0; // seconds
- if (ptsBehind < ptsBehindThreshold ||
- ptsBehind > ptsBehindLimit ||
- rtsp_transport_tcp) { // packet's OK
- ds_add_packet(ds, dp);
- break;
- }
-
-#ifdef DEBUG_PRINT_DISCARDED_PACKETS
- RTPState* rtpState = (RTPState*)(demuxer->priv);
- ReadBufferQueue* bufferQueue = ds == demuxer->video ? rtpState->videoBufferQueue : rtpState->audioBufferQueue;
- fprintf(stderr, "Discarding %s packet (%fs behind)\n", bufferQueue->tag(), ptsBehind);
-#endif
- free_demux_packet(dp); // give back this packet, and get another one
- }
-
- return 1;
-}
-
-Boolean awaitRTPPacket(demuxer_t* demuxer, demux_stream_t* ds,
- unsigned char*& packetData, unsigned& packetDataLen,
- float& pts) {
- // Similar to "demux_rtp_fill_buffer()", except that the "demux_packet"
- // is not delivered to the "demux_stream".
- float ptsBehind;
- demux_packet_t* dp = getBuffer(demuxer, ds, True, ptsBehind); // blocking
- if (dp == NULL) return False;
-
- packetData = dp->buffer;
- packetDataLen = dp->len;
- pts = dp->pts;
-
- return True;
-}
-
-static void teardownRTSPorSIPSession(RTPState* rtpState); // forward
-
-extern "C" void demux_close_rtp(demuxer_t* demuxer) {
- // Reclaim all RTP-related state:
-
- // Get the RTP state that was stored in the demuxer's 'priv' field:
- RTPState* rtpState = (RTPState*)(demuxer->priv);
- if (rtpState == NULL) return;
-
- teardownRTSPorSIPSession(rtpState);
-
- UsageEnvironment* env = NULL;
- TaskScheduler* scheduler = NULL;
- if (rtpState->mediaSession != NULL) {
- env = &(rtpState->mediaSession->envir());
- scheduler = &(env->taskScheduler());
- }
- Medium::close(rtpState->mediaSession);
- Medium::close(rtpState->rtspClient);
- Medium::close(rtpState->sipClient);
- delete rtpState->audioBufferQueue;
- delete rtpState->videoBufferQueue;
- delete[] rtpState->sdpDescription;
- delete rtpState;
- av_freep(&avcctx);
-
- env->reclaim(); delete scheduler;
-}
-
-////////// Extra routines that help implement the above interface functions:
-
-#define MAX_RTP_FRAME_SIZE 5000000
- // >= the largest conceivable frame composed from one or more RTP packets
-
-static void afterReading(void* clientData, unsigned frameSize,
- unsigned /*numTruncatedBytes*/,
- struct timeval presentationTime,
- unsigned /*durationInMicroseconds*/) {
- int headersize = 0;
- if (frameSize >= MAX_RTP_FRAME_SIZE) {
- fprintf(stderr, "Saw an input frame too large (>=%d). Increase MAX_RTP_FRAME_SIZE in \"demux_rtp.cpp\".\n",
- MAX_RTP_FRAME_SIZE);
- }
- ReadBufferQueue* bufferQueue = (ReadBufferQueue*)clientData;
- demuxer_t* demuxer = bufferQueue->ourDemuxer();
- RTPState* rtpState = (RTPState*)(demuxer->priv);
-
- if (frameSize > 0) demuxer->stream->eof = 0;
-
- demux_packet_t* dp = bufferQueue->dp;
-
- if (bufferQueue->readSource()->isAMRAudioSource())
- headersize = 1;
- else if (bufferQueue == rtpState->videoBufferQueue &&
- ((sh_video_t*)demuxer->video->sh)->format == mmioFOURCC('H','2','6','4')) {
- dp->buffer[0]=0x00;
- dp->buffer[1]=0x00;
- dp->buffer[2]=0x01;
- headersize = 3;
- }
-
- resize_demux_packet(dp, frameSize + headersize);
-
- // Set the packet's presentation time stamp, depending on whether or
- // not our RTP source's timestamps have been synchronized yet:
- Boolean hasBeenSynchronized
- = bufferQueue->rtpSource()->hasBeenSynchronizedUsingRTCP();
- if (hasBeenSynchronized) {
- if (verbose > 0 && !bufferQueue->prevPacketWasSynchronized) {
- fprintf(stderr, "%s stream has been synchronized using RTCP \n",
- bufferQueue->tag());
- }
-
- struct timeval* fst = &(rtpState->firstSyncTime); // abbrev
- if (fst->tv_sec == 0 && fst->tv_usec == 0) {
- *fst = presentationTime;
- }
-
- // For the "pts" field, use the time differential from the first
- // synchronized time, rather than absolute time, in order to avoid
- // round-off errors when converting to a float:
- dp->pts = presentationTime.tv_sec - fst->tv_sec
- + (presentationTime.tv_usec - fst->tv_usec)/1000000.0;
- bufferQueue->prevPacketPTS = dp->pts;
- } else {
- if (verbose > 0 && bufferQueue->prevPacketWasSynchronized) {
- fprintf(stderr, "%s stream is no longer RTCP-synchronized \n",
- bufferQueue->tag());
- }
-
- // use the previous packet's "pts" once again:
- dp->pts = bufferQueue->prevPacketPTS;
- }
- bufferQueue->prevPacketWasSynchronized = hasBeenSynchronized;
-
- dp->pos = demuxer->filepos;
- demuxer->filepos += frameSize + headersize;
-
- // Signal any pending 'doEventLoop()' call on this queue:
- bufferQueue->blockingFlag = ~0;
-}
-
-static void onSourceClosure(void* clientData) {
- ReadBufferQueue* bufferQueue = (ReadBufferQueue*)clientData;
- demuxer_t* demuxer = bufferQueue->ourDemuxer();
-
- demuxer->stream->eof = 1;
-
- // Signal any pending 'doEventLoop()' call on this queue:
- bufferQueue->blockingFlag = ~0;
-}
-
-static demux_packet_t* getBuffer(demuxer_t* demuxer, demux_stream_t* ds,
- Boolean mustGetNewData,
- float& ptsBehind) {
- // Begin by finding the buffer queue that we want to read from:
- // (Get this from the RTP state, which we stored in
- // the demuxer's 'priv' field)
- RTPState* rtpState = (RTPState*)(demuxer->priv);
- ReadBufferQueue* bufferQueue = NULL;
- int headersize = 0;
- int waitboth = 0;
- TaskToken task, task2;
-
- if (demuxer->stream->eof) return NULL;
-
- if (ds == demuxer->video) {
- bufferQueue = rtpState->audioBufferQueue;
- // HACK: for the latest versions we must also receive audio
- // when probing for video FPS, otherwise the stream just hangs
- // and times out
- if (mustGetNewData &&
- bufferQueue &&
- bufferQueue->readSource() &&
- !bufferQueue->nextpacket) {
- headersize = bufferQueue->readSource()->isAMRAudioSource() ? 1 : 0;
- demux_packet_t *dp = new_demux_packet(MAX_RTP_FRAME_SIZE);
- bufferQueue->dp = dp;
- bufferQueue->blockingFlag = 0;
- bufferQueue->readSource()->getNextFrame(
- &dp->buffer[headersize], MAX_RTP_FRAME_SIZE - headersize,
- afterReading, bufferQueue,
- onSourceClosure, bufferQueue);
- task2 = bufferQueue->readSource()->envir().taskScheduler().
- scheduleDelayedTask(10000000, onSourceClosure, bufferQueue);
- waitboth = 1;
- }
- bufferQueue = rtpState->videoBufferQueue;
- if (((sh_video_t*)ds->sh)->format == mmioFOURCC('H','2','6','4'))
- headersize = 3;
- } else if (ds == demuxer->audio) {
- bufferQueue = rtpState->audioBufferQueue;
- if (bufferQueue->readSource()->isAMRAudioSource())
- headersize = 1;
- } else {
- fprintf(stderr, "(demux_rtp)getBuffer: internal error: unknown stream\n");
- return NULL;
- }
-
- if (bufferQueue == NULL || bufferQueue->readSource() == NULL) {
- fprintf(stderr, "(demux_rtp)getBuffer failed: no appropriate RTP subsession has been set up\n");
- return NULL;
- }
-
- demux_packet_t* dp = NULL;
- if (!mustGetNewData) {
- // Check whether we have a previously-saved buffer that we can use:
- dp = bufferQueue->getPendingBuffer();
- if (dp != NULL) {
- ptsBehind = 0.0; // so that we always accept this data
- return dp;
- }
- }
-
- // Allocate a new packet buffer, and arrange to read into it:
- if (!bufferQueue->nextpacket) {
- dp = new_demux_packet(MAX_RTP_FRAME_SIZE);
- bufferQueue->dp = dp;
- if (dp == NULL) return NULL;
- }
-
- extern AVCodecParserContext * h264parserctx;
- int consumed, poutbuf_size = 1;
- const uint8_t *poutbuf = NULL;
- float lastpts = 0.0;
-
- do {
- if (!bufferQueue->nextpacket) {
- // Schedule the read operation:
- bufferQueue->blockingFlag = 0;
- bufferQueue->readSource()->getNextFrame(&dp->buffer[headersize], MAX_RTP_FRAME_SIZE - headersize,
- afterReading, bufferQueue,
- onSourceClosure, bufferQueue);
- // Block ourselves until data becomes available:
- TaskScheduler& scheduler
- = bufferQueue->readSource()->envir().taskScheduler();
- int delay = 10000000;
- if (bufferQueue->prevPacketPTS * 1.05 > rtpState->mediaSession->playEndTime())
- delay /= 10;
- task = scheduler.scheduleDelayedTask(delay, onSourceClosure, bufferQueue);
- scheduler.doEventLoop(&bufferQueue->blockingFlag);
- scheduler.unscheduleDelayedTask(task);
- if (waitboth) {
- scheduler.doEventLoop(&rtpState->audioBufferQueue->blockingFlag);
- scheduler.unscheduleDelayedTask(task2);
- }
- if (demuxer->stream->eof) {
- free_demux_packet(dp);
- return NULL;
- }
-
- if (headersize == 1) // amr
- dp->buffer[0] =
- ((AMRAudioSource*)bufferQueue->readSource())->lastFrameHeader();
- } else {
- bufferQueue->dp = dp = bufferQueue->nextpacket;
- bufferQueue->nextpacket = NULL;
- }
- if (headersize == 3 && h264parserctx) { // h264
- consumed = h264parserctx->parser->parser_parse(h264parserctx,
- avcctx,
- &poutbuf, &poutbuf_size,
- dp->buffer, dp->len);
-
- if (!consumed && !poutbuf_size)
- return NULL;
-
- if (!poutbuf_size) {
- lastpts=dp->pts;
- free_demux_packet(dp);
- bufferQueue->dp = dp = new_demux_packet(MAX_RTP_FRAME_SIZE);
- } else {
- bufferQueue->nextpacket = dp;
- bufferQueue->dp = dp = new_demux_packet(poutbuf_size);
- memcpy(dp->buffer, poutbuf, poutbuf_size);
- dp->pts=lastpts;
- }
- }
- } while (!poutbuf_size);
-
- // Set the "ptsBehind" result parameter:
- if (bufferQueue->prevPacketPTS != 0.0
- && bufferQueue->prevPacketWasSynchronized
- && *(bufferQueue->otherQueue) != NULL
- && (*(bufferQueue->otherQueue))->prevPacketPTS != 0.0
- && (*(bufferQueue->otherQueue))->prevPacketWasSynchronized) {
- ptsBehind = (*(bufferQueue->otherQueue))->prevPacketPTS
- - bufferQueue->prevPacketPTS;
- } else {
- ptsBehind = 0.0;
- }
-
- if (mustGetNewData) {
- // Save this buffer for future reads:
- bufferQueue->savePendingBuffer(dp);
- }
-
- return dp;
-}
-
-static void teardownRTSPorSIPSession(RTPState* rtpState) {
- MediaSession* mediaSession = rtpState->mediaSession;
- if (mediaSession == NULL) return;
- if (rtpState->rtspClient != NULL) {
- rtpState->rtspClient->teardownMediaSession(*mediaSession);
- } else if (rtpState->sipClient != NULL) {
- rtpState->sipClient->sendBYE();
- }
-}
-
-////////// "ReadBuffer" and "ReadBufferQueue" implementation:
-
-ReadBufferQueue::ReadBufferQueue(MediaSubsession* subsession,
- demuxer_t* demuxer, char const* tag)
- : prevPacketWasSynchronized(False), prevPacketPTS(0.0), otherQueue(NULL),
- dp(NULL), nextpacket(NULL),
- pendingDPHead(NULL), pendingDPTail(NULL),
- fReadSource(subsession == NULL ? NULL : subsession->readSource()),
- fRTPSource(subsession == NULL ? NULL : subsession->rtpSource()),
- fOurDemuxer(demuxer), fTag(strdup(tag)) {
-}
-
-ReadBufferQueue::~ReadBufferQueue() {
- free((void *)fTag);
-
- // Free any pending buffers (that never got delivered):
- demux_packet_t* dp = pendingDPHead;
- while (dp != NULL) {
- demux_packet_t* dpNext = dp->next;
- dp->next = NULL;
- free_demux_packet(dp);
- dp = dpNext;
- }
-}
-
-void ReadBufferQueue::savePendingBuffer(demux_packet_t* dp) {
- // Keep this buffer around, until MPlayer asks for it later:
- if (pendingDPTail == NULL) {
- pendingDPHead = pendingDPTail = dp;
- } else {
- pendingDPTail->next = dp;
- pendingDPTail = dp;
- }
- dp->next = NULL;
-}
-
-demux_packet_t* ReadBufferQueue::getPendingBuffer() {
- demux_packet_t* dp = pendingDPHead;
- if (dp != NULL) {
- pendingDPHead = dp->next;
- if (pendingDPHead == NULL) pendingDPTail = NULL;
-
- dp->next = NULL;
- }
-
- return dp;
-}
-
-static int demux_rtp_control(struct demuxer *demuxer, int cmd, void *arg) {
- double endpts = ((RTPState*)demuxer->priv)->mediaSession->playEndTime();
-
- switch(cmd) {
- case DEMUXER_CTRL_GET_TIME_LENGTH:
- if (endpts <= 0)
- return DEMUXER_CTRL_DONTKNOW;
- *((double *)arg) = endpts;
- return DEMUXER_CTRL_OK;
-
- case DEMUXER_CTRL_GET_PERCENT_POS:
- if (endpts <= 0)
- return DEMUXER_CTRL_DONTKNOW;
- *((int *)arg) = (int)(((RTPState*)demuxer->priv)->videoBufferQueue->prevPacketPTS*100/endpts);
- return DEMUXER_CTRL_OK;
-
- default:
- return DEMUXER_CTRL_NOTIMPL;
- }
-}
-
-demuxer_desc_t demuxer_desc_rtp = {
- "LIVE555 RTP demuxer",
- "live555",
- "",
- "Ross Finlayson",
- "requires LIVE555 Streaming Media library",
- DEMUXER_TYPE_RTP,
- 0, // no autodetect
- NULL,
- demux_rtp_fill_buffer,
- demux_open_rtp,
- demux_close_rtp,
- NULL,
- demux_rtp_control
-};
diff --git a/libmpdemux/demux_rtp.h b/libmpdemux/demux_rtp.h
deleted file mode 100644
index 6d3462d..0000000
--- a/libmpdemux/demux_rtp.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_DEMUX_RTP_H
-#define MPLAYER_DEMUX_RTP_H
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "demuxer.h"
-
-// Open a RTP demuxer (which was initiated either from a SDP file,
-// or from a RTSP URL):
-demuxer_t* demux_open_rtp(demuxer_t* demuxer);
-
-// Test whether a RTP demuxer is for a MPEG stream:
-int demux_is_mpeg_rtp_stream(demuxer_t* demuxer);
-
-// Test whether a RTP demuxer contains combined (multiplexed)
-// audio+video (and so needs to be demuxed by higher-level code):
-int demux_is_multiplexed_rtp_stream(demuxer_t* demuxer);
-
-// Read from a RTP demuxer:
-int demux_rtp_fill_buffer(demuxer_t *demux, demux_stream_t* ds);
-
-// Close a RTP demuxer
-void demux_close_rtp(demuxer_t* demuxer);
-
-#endif /* MPLAYER_DEMUX_RTP_H */
diff --git a/libmpdemux/demux_rtp_codec.cpp b/libmpdemux/demux_rtp_codec.cpp
deleted file mode 100644
index cb21e6b..0000000
--- a/libmpdemux/demux_rtp_codec.cpp
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * codec-specific routines used to interface between MPlayer
- * and the "LIVE555 Streaming Media" libraries
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "demux_rtp_internal.h"
-extern "C" {
-#include <limits.h>
-#include <math.h>
-#include "stheader.h"
-#include "libavutil/base64.h"
-}
-
-AVCodecParserContext * h264parserctx;
-AVCodecContext *avcctx;
-
-// Copied from vlc
-static unsigned char* parseH264ConfigStr( char const* configStr,
- unsigned int& configSize )
-{
-
- char *dup, *psz;
- int i, i_records = 1;
-
- if( configSize )
- configSize = 0;
- if( configStr == NULL || *configStr == '\0' )
- return NULL;
- psz = dup = strdup( configStr );
-
- /* Count the number of comma's */
- for( psz = dup; *psz != '\0'; ++psz )
- {
- if( *psz == ',')
- {
- ++i_records;
- *psz = '\0';
- }
- }
-
- unsigned char *cfg = new unsigned char[5 * strlen(dup)];
- psz = dup;
- for( i = 0; i < i_records; i++ )
- {
-
- cfg[configSize++] = 0x00;
- cfg[configSize++] = 0x00;
- cfg[configSize++] = 0x01;
- configSize += av_base64_decode( (uint8_t*)&cfg[configSize],
- psz,
- 5 * strlen(dup) - 3 );
-
- psz += strlen(psz)+1;
- }
- free( dup );
-
- return cfg;
-}
-
-static void
-needVideoFrameRate(demuxer_t* demuxer, MediaSubsession* subsession); // forward
-static Boolean
-parseQTState_video(QuickTimeGenericRTPSource::QTState const& qtState,
- unsigned& fourcc); // forward
-static Boolean
-parseQTState_audio(QuickTimeGenericRTPSource::QTState const& qtState,
- unsigned& fourcc, unsigned& numChannels); // forward
-
-static BITMAPINFOHEADER * insertVideoExtradata(BITMAPINFOHEADER *bih,
- unsigned char * extraData,
- unsigned size)
-{
- BITMAPINFOHEADER * original = bih;
- if (!size || size > INT_MAX - sizeof(BITMAPINFOHEADER))
- return bih;
- bih = (BITMAPINFOHEADER*)realloc(bih, sizeof(BITMAPINFOHEADER) + size);
- if (!bih)
- return original;
- bih->biSize = sizeof(BITMAPINFOHEADER) + size;
- memcpy(bih+1, extraData, size);
- return bih;
-}
-
-void rtpCodecInitialize_video(demuxer_t* demuxer,
- MediaSubsession* subsession,
- unsigned& flags) {
- flags = 0;
- // Create a dummy video stream header
- // to make the main MPlayer code happy:
- sh_video_t* sh_video = new_sh_video(demuxer,0);
- BITMAPINFOHEADER* bih
- = (BITMAPINFOHEADER*)calloc(1,sizeof(BITMAPINFOHEADER));
- bih->biSize = sizeof(BITMAPINFOHEADER);
- sh_video->bih = bih;
- demux_stream_t* d_video = demuxer->video;
- d_video->sh = sh_video; sh_video->ds = d_video;
-
- // Map known video MIME types to the BITMAPINFOHEADER parameters
- // that this program uses. (Note that not all types need all
- // of the parameters to be set.)
- if (strcmp(subsession->codecName(), "MPV") == 0) {
- flags |= RTPSTATE_IS_MPEG12_VIDEO;
- } else if (strcmp(subsession->codecName(), "MP1S") == 0 ||
- strcmp(subsession->codecName(), "MP2T") == 0) {
- flags |= RTPSTATE_IS_MPEG12_VIDEO|RTPSTATE_IS_MULTIPLEXED;
- } else if (strcmp(subsession->codecName(), "H263") == 0 ||
- strcmp(subsession->codecName(), "H263-2000") == 0 ||
- strcmp(subsession->codecName(), "H263-1998") == 0) {
- bih->biCompression = sh_video->format
- = mmioFOURCC('H','2','6','3');
- needVideoFrameRate(demuxer, subsession);
- } else if (strcmp(subsession->codecName(), "H264") == 0) {
- bih->biCompression = sh_video->format
- = mmioFOURCC('H','2','6','4');
- unsigned int configLen = 0;
- unsigned char* configData
- = parseH264ConfigStr(subsession->fmtp_spropparametersets(), configLen);
- sh_video->bih = bih = insertVideoExtradata(bih, configData, configLen);
- int fooLen;
- const uint8_t* fooData;
- h264parserctx = av_parser_init(CODEC_ID_H264);
- avcctx = avcodec_alloc_context3(NULL);
- // Pass the config to the parser
- h264parserctx->parser->parser_parse(h264parserctx, avcctx,
- &fooData, &fooLen, configData, configLen);
- delete[] configData;
- needVideoFrameRate(demuxer, subsession);
- } else if (strcmp(subsession->codecName(), "H261") == 0) {
- bih->biCompression = sh_video->format
- = mmioFOURCC('H','2','6','1');
- needVideoFrameRate(demuxer, subsession);
- } else if (strcmp(subsession->codecName(), "JPEG") == 0) {
- bih->biCompression = sh_video->format
- = mmioFOURCC('M','J','P','G');
- needVideoFrameRate(demuxer, subsession);
- } else if (strcmp(subsession->codecName(), "MP4V-ES") == 0) {
- bih->biCompression = sh_video->format
- = mmioFOURCC('m','p','4','v');
- // For the codec to work correctly, it may need a 'VOL Header' to be
- // inserted at the front of the data stream. Construct this from the
- // "config" MIME parameter, which was present (hopefully) in the
- // session's SDP description:
- unsigned configLen;
- unsigned char* configData
- = parseGeneralConfigStr(subsession->fmtp_config(), configLen);
- sh_video->bih = bih = insertVideoExtradata(bih, configData, configLen);
- needVideoFrameRate(demuxer, subsession);
- } else if (strcmp(subsession->codecName(), "X-QT") == 0 ||
- strcmp(subsession->codecName(), "X-QUICKTIME") == 0) {
- // QuickTime generic RTP format, as described in
- // http://developer.apple.com/quicktime/icefloe/dispatch026.html
-
- // We can't initialize this stream until we've received the first packet
- // that has QuickTime "sdAtom" information in the header. So, keep
- // reading packets until we get one:
- unsigned char* packetData; unsigned packetDataLen; float pts;
- QuickTimeGenericRTPSource* qtRTPSource
- = (QuickTimeGenericRTPSource*)(subsession->rtpSource());
- unsigned fourcc;
- do {
- if (!awaitRTPPacket(demuxer, demuxer->video,
- packetData, packetDataLen, pts)) {
- return;
- }
- } while (!parseQTState_video(qtRTPSource->qtState, fourcc));
-
- bih->biCompression = sh_video->format = fourcc;
- bih->biWidth = qtRTPSource->qtState.width;
- bih->biHeight = qtRTPSource->qtState.height;
- if (qtRTPSource->qtState.sdAtomSize > 83)
- bih->biBitCount = qtRTPSource->qtState.sdAtom[83];
- uint8_t *pos = (uint8_t*)qtRTPSource->qtState.sdAtom + 86;
- uint8_t *endpos = (uint8_t*)qtRTPSource->qtState.sdAtom
- + qtRTPSource->qtState.sdAtomSize;
- while (pos+8 < endpos) {
- unsigned atomLength = pos[0]<<24 | pos[1]<<16 | pos[2]<<8 | pos[3];
- if (atomLength == 0 || atomLength > endpos-pos) break;
- if (((!memcmp(pos+4, "avcC", 4) && fourcc==mmioFOURCC('a','v','c','1')) ||
- !memcmp(pos+4, "esds", 4) ||
- (!memcmp(pos+4, "SMI ", 4) && fourcc==mmioFOURCC('S','V','Q','3'))) &&
- atomLength > 8) {
- sh_video->bih = bih =
- insertVideoExtradata(bih, pos+8, atomLength-8);
- break;
- }
- pos += atomLength;
- }
- needVideoFrameRate(demuxer, subsession);
- } else {
- fprintf(stderr,
- "Unknown MPlayer format code for MIME type \"video/%s\"\n",
- subsession->codecName());
- }
-}
-
-void rtpCodecInitialize_audio(demuxer_t* demuxer,
- MediaSubsession* subsession,
- unsigned& flags) {
- flags = 0;
- // Create a dummy audio stream header
- // to make the main MPlayer code happy:
- sh_audio_t* sh_audio = new_sh_audio(demuxer,0);
- WAVEFORMATEX* wf = (WAVEFORMATEX*)calloc(1,sizeof(WAVEFORMATEX));
- sh_audio->wf = wf;
- demux_stream_t* d_audio = demuxer->audio;
- d_audio->sh = sh_audio; sh_audio->ds = d_audio;
- d_audio->id = sh_audio->aid;
-
- wf->nChannels = subsession->numChannels();
-
- // Map known audio MIME types to the WAVEFORMATEX parameters
- // that this program uses. (Note that not all types need all
- // of the parameters to be set.)
- wf->nSamplesPerSec
- = subsession->rtpSource()->timestampFrequency(); // by default
- if (strcmp(subsession->codecName(), "MPA") == 0 ||
- strcmp(subsession->codecName(), "MPA-ROBUST") == 0 ||
- strcmp(subsession->codecName(), "X-MP3-DRAFT-00") == 0) {
- wf->wFormatTag = sh_audio->format = 0x55;
- // Note: 0x55 is for layer III, but should work for I,II also
- wf->nSamplesPerSec = 0; // sample rate is deduced from the data
- } else if (strcmp(subsession->codecName(), "AC3") == 0) {
- wf->wFormatTag = sh_audio->format = 0x2000;
- wf->nSamplesPerSec = 0; // sample rate is deduced from the data
- } else if (strcmp(subsession->codecName(), "L16") == 0) {
- wf->wFormatTag = sh_audio->format = 0x736f7774; // "twos"
- wf->nBlockAlign = 1;
- wf->wBitsPerSample = 16;
- wf->cbSize = 0;
- } else if (strcmp(subsession->codecName(), "L8") == 0) {
- wf->wFormatTag = sh_audio->format = 0x20776172; // "raw "
- wf->nBlockAlign = 1;
- wf->wBitsPerSample = 8;
- wf->cbSize = 0;
- } else if (strcmp(subsession->codecName(), "PCMU") == 0) {
- wf->wFormatTag = sh_audio->format = 0x7;
- wf->nAvgBytesPerSec = 8000;
- wf->nBlockAlign = 1;
- wf->wBitsPerSample = 8;
- wf->cbSize = 0;
- } else if (strcmp(subsession->codecName(), "PCMA") == 0) {
- wf->wFormatTag = sh_audio->format = 0x6;
- wf->nAvgBytesPerSec = 8000;
- wf->nBlockAlign = 1;
- wf->wBitsPerSample = 8;
- wf->cbSize = 0;
- } else if (strcmp(subsession->codecName(), "AMR") == 0) {
- wf->wFormatTag = sh_audio->format = mmioFOURCC('s','a','m','r');
- } else if (strcmp(subsession->codecName(), "AMR-WB") == 0) {
- wf->wFormatTag = sh_audio->format = mmioFOURCC('s','a','w','b');
- } else if (strcmp(subsession->codecName(), "GSM") == 0) {
- wf->wFormatTag = sh_audio->format = mmioFOURCC('a','g','s','m');
- wf->nAvgBytesPerSec = 1650;
- wf->nBlockAlign = 33;
- wf->wBitsPerSample = 16;
- wf->cbSize = 0;
- } else if (strcmp(subsession->codecName(), "QCELP") == 0) {
- wf->wFormatTag = sh_audio->format = mmioFOURCC('Q','c','l','p');
- wf->nAvgBytesPerSec = 1750;
- wf->nBlockAlign = 35;
- wf->wBitsPerSample = 16;
- wf->cbSize = 0;
- } else if (strcmp(subsession->codecName(), "MP4A-LATM") == 0) {
- wf->wFormatTag = sh_audio->format = mmioFOURCC('m','p','4','a');
- // For the codec to work correctly, it needs "AudioSpecificConfig"
- // data, which is parsed from the "StreamMuxConfig" string that
- // was present (hopefully) in the SDP description:
- unsigned codecdata_len;
- sh_audio->codecdata
- = parseStreamMuxConfigStr(subsession->fmtp_config(),
- codecdata_len);
- sh_audio->codecdata_len = codecdata_len;
- //faad doesn't understand LATM's data length field, so omit it
- ((MPEG4LATMAudioRTPSource*)subsession->rtpSource())->omitLATMDataLengthField();
- } else if (strcmp(subsession->codecName(), "MPEG4-GENERIC") == 0) {
- wf->wFormatTag = sh_audio->format = mmioFOURCC('m','p','4','a');
- // For the codec to work correctly, it needs "AudioSpecificConfig"
- // data, which was present (hopefully) in the SDP description:
- unsigned codecdata_len;
- sh_audio->codecdata
- = parseGeneralConfigStr(subsession->fmtp_config(),
- codecdata_len);
- sh_audio->codecdata_len = codecdata_len;
- } else if (strcmp(subsession->codecName(), "X-QT") == 0 ||
- strcmp(subsession->codecName(), "X-QUICKTIME") == 0) {
- // QuickTime generic RTP format, as described in
- // http://developer.apple.com/quicktime/icefloe/dispatch026.html
-
- // We can't initialize this stream until we've received the first packet
- // that has QuickTime "sdAtom" information in the header. So, keep
- // reading packets until we get one:
- unsigned char* packetData; unsigned packetDataLen; float pts;
- QuickTimeGenericRTPSource* qtRTPSource
- = (QuickTimeGenericRTPSource*)(subsession->rtpSource());
- unsigned fourcc, numChannels;
- do {
- if (!awaitRTPPacket(demuxer, demuxer->audio,
- packetData, packetDataLen, pts)) {
- return;
- }
- } while (!parseQTState_audio(qtRTPSource->qtState, fourcc, numChannels));
-
- wf->wFormatTag = sh_audio->format = fourcc;
- wf->nChannels = numChannels;
-
- if (qtRTPSource->qtState.sdAtomSize > 33) {
- wf->wBitsPerSample = qtRTPSource->qtState.sdAtom[27];
- wf->nSamplesPerSec = qtRTPSource->qtState.sdAtom[32]<<8|qtRTPSource->qtState.sdAtom[33];
- }
- uint8_t *pos = (uint8_t*)qtRTPSource->qtState.sdAtom + 52;
- uint8_t *endpos = (uint8_t*)qtRTPSource->qtState.sdAtom
- + qtRTPSource->qtState.sdAtomSize;
- while (pos+8 < endpos) {
- unsigned atomLength = pos[0]<<24 | pos[1]<<16 | pos[2]<<8 | pos[3];
- if (atomLength == 0 || atomLength > endpos-pos) break;
- if (!memcmp(pos+4, "wave", 4) && fourcc==mmioFOURCC('Q','D','M','2') &&
- atomLength > 8 &&
- atomLength <= INT_MAX) {
- sh_audio->codecdata = (unsigned char*) malloc(atomLength-8);
- if (sh_audio->codecdata) {
- memcpy(sh_audio->codecdata, pos+8, atomLength-8);
- sh_audio->codecdata_len = atomLength-8;
- }
- break;
- }
- pos += atomLength;
- }
- } else {
- fprintf(stderr,
- "Unknown MPlayer format code for MIME type \"audio/%s\"\n",
- subsession->codecName());
- }
-}
-
-static void needVideoFrameRate(demuxer_t* demuxer,
- MediaSubsession* subsession) {
- // For some codecs, MPlayer's decoding software can't (or refuses to :-)
- // figure out the frame rate by itself, so (unless the user specifies
- // it manually, using "-fps") we figure it out ourselves here, using the
- // presentation timestamps in successive packets,
- extern double force_fps; if (force_fps != 0.0) return; // user used "-fps"
-
- demux_stream_t* d_video = demuxer->video;
- sh_video_t* sh_video = (sh_video_t*)(d_video->sh);
-
- // If we already know the subsession's video frame rate, use it:
- int fps = (int)(subsession->videoFPS());
- if (fps != 0) {
- sh_video->fps = fps;
- sh_video->frametime = 1.0f/fps;
- return;
- }
-
- // Keep looking at incoming frames until we see two with different,
- // non-zero "pts" timestamps:
- unsigned char* packetData; unsigned packetDataLen;
- float lastPTS = 0.0, curPTS;
- unsigned const maxNumFramesToWaitFor = 300;
- int lastfps = 0;
- for (unsigned i = 0; i < maxNumFramesToWaitFor; ++i) {
- if (!awaitRTPPacket(demuxer, d_video, packetData, packetDataLen, curPTS)) {
- break;
- }
-
- if (curPTS != lastPTS && lastPTS != 0.0) {
- // Use the difference between these two "pts"s to guess the frame rate.
- // (should really check that there were no missing frames inbetween)#####
- // Guess the frame rate as an integer. If it's not, use "-fps" instead.
- fps = (int)(1/fabs(curPTS-lastPTS) + 0.5); // rounding
- if (fps == lastfps) {
- fprintf(stderr, "demux_rtp: Guessed the video frame rate as %d frames-per-second.\n\t(If this is wrong, use the \"-fps <frame-rate>\" option instead.)\n", fps);
- sh_video->fps = fps;
- sh_video->frametime=1.0f/fps;
- return;
- }
- if (fps>lastfps) lastfps = fps;
- }
- lastPTS = curPTS;
- }
- fprintf(stderr, "demux_rtp: Failed to guess the video frame rate\n");
-}
-
-static Boolean
-parseQTState_video(QuickTimeGenericRTPSource::QTState const& qtState,
- unsigned& fourcc) {
- // qtState's "sdAtom" field is supposed to contain a QuickTime video
- // 'sample description' atom. This atom's name is the 'fourcc' that we want:
- char const* sdAtom = qtState.sdAtom;
- if (sdAtom == NULL || qtState.sdAtomSize < 2*4) return False;
-
- fourcc = *(unsigned*)(&sdAtom[4]); // put in host order
- return True;
-}
-
-static Boolean
-parseQTState_audio(QuickTimeGenericRTPSource::QTState const& qtState,
- unsigned& fourcc, unsigned& numChannels) {
- // qtState's "sdAtom" field is supposed to contain a QuickTime audio
- // 'sample description' atom. This atom's name is the 'fourcc' that we want.
- // Also, the top half of the 5th word following the atom name should
- // contain the number of channels ("numChannels") that we want:
- char const* sdAtom = qtState.sdAtom;
- if (sdAtom == NULL || qtState.sdAtomSize < 7*4) return False;
-
- fourcc = *(unsigned*)(&sdAtom[4]); // put in host order
-
- char const* word7Ptr = &sdAtom[6*4];
- numChannels = (word7Ptr[0]<<8)|(word7Ptr[1]);
- return True;
-}
diff --git a/libmpdemux/demux_rtp_internal.h b/libmpdemux/demux_rtp_internal.h
deleted file mode 100644
index 4671fef..0000000
--- a/libmpdemux/demux_rtp_internal.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_DEMUX_RTP_INTERNAL_H
-#define MPLAYER_DEMUX_RTP_INTERNAL_H
-
-#include <stdlib.h>
-
-extern "C" {
-#include "demuxer.h"
-#include "config.h"
-#include "libavcodec/avcodec.h"
-}
-
-#ifndef _LIVEMEDIA_HH
-#undef STREAM_SEEK
-#include <liveMedia.hh>
-#endif
-
-// Codec-specific initialization routines:
-void rtpCodecInitialize_video(demuxer_t* demuxer,
- MediaSubsession* subsession, unsigned& flags);
-void rtpCodecInitialize_audio(demuxer_t* demuxer,
- MediaSubsession* subsession, unsigned& flags);
-
-// Flags that may be set by the above routines:
-#define RTPSTATE_IS_MPEG12_VIDEO 0x1 // is a MPEG-1 or 2 video stream
-#define RTPSTATE_IS_MULTIPLEXED 0x2 // is a combined audio+video stream
-
-// A routine to wait for the first packet of a RTP stream to arrive.
-// (For some RTP payload formats, codecs cannot be fully initialized until
-// we've started receiving data.)
-Boolean awaitRTPPacket(demuxer_t* demuxer, demux_stream_t* ds,
- unsigned char*& packetData, unsigned& packetDataLen,
- float& pts);
- // "streamType": 0 => video; 1 => audio
- // This routine returns False if the input stream has closed
-
-#endif /* MPLAYER_DEMUX_RTP_INTERNAL_H */
diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c
index 15c2613..dbf12b7 100644
--- a/libmpdemux/demux_ts.c
+++ b/libmpdemux/demux_ts.c
@@ -3132,7 +3132,7 @@ static int ts_parse(demuxer_t *demuxer , ES_stream_t *es, unsigned char *packet,
}
memmove(p, es->start, es->size);
*dp_offset += es->size;
- (*dp)->flags = 0;
+ (*dp)->keyframe = 0;
(*dp)->pos = stream_tell(demuxer->stream);
(*dp)->pts = es->pts;
// subtitle packets must be returned immediately if possible
diff --git a/libmpdemux/demux_ty.c b/libmpdemux/demux_ty.c
index 7664edd..527d350 100644
--- a/libmpdemux/demux_ty.c
+++ b/libmpdemux/demux_ty.c
@@ -50,8 +50,7 @@
#include "parse_es.h"
#include "stheader.h"
#include "sub/sub_cc.h"
-
-extern int sub_justify;
+#include "sub/sub.h"
// 2/c0: audio data
// 3/c0: audio packet header (PES header)
@@ -294,7 +293,6 @@ static void demux_ty_CopyToDemuxPacket( demux_stream_t *ds,
if (pts != MP_NOPTS_VALUE)
dp->pts = pts / 90000.0;
dp->pos = pos;
- dp->flags = 0;
ds_add_packet( ds, dp );
}
diff --git a/libmpdemux/demux_y4m.c b/libmpdemux/demux_y4m.c
index d1b6749..cf0f7cf 100644
--- a/libmpdemux/demux_y4m.c
+++ b/libmpdemux/demux_y4m.c
@@ -141,7 +141,6 @@ static int demux_y4m_fill_buffer(demuxer_t *demux, demux_stream_t *dsds) {
dp->pts=(float)priv->framenum/((sh_video_t*)ds->sh)->fps;
priv->framenum++;
dp->pos=demux->filepos;
- dp->flags=0;
ds_add_packet(ds, dp);
return 1;
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index 0ff734b..f6d8186 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -87,8 +87,6 @@ extern const demuxer_desc_t demuxer_desc_mpc;
extern const demuxer_desc_t demuxer_desc_audio;
extern const demuxer_desc_t demuxer_desc_xmms;
extern const demuxer_desc_t demuxer_desc_mpeg_ty;
-extern const demuxer_desc_t demuxer_desc_rtp;
-extern const demuxer_desc_t demuxer_desc_rtp_nemesi;
extern const demuxer_desc_t demuxer_desc_lavf;
extern const demuxer_desc_t demuxer_desc_lavf_preferred;
extern const demuxer_desc_t demuxer_desc_aac;
@@ -142,12 +140,6 @@ const demuxer_desc_t *const demuxer_list[] = {
&demuxer_desc_h264_es,
&demuxer_desc_audio,
&demuxer_desc_mpeg_ty,
-#ifdef CONFIG_LIVE555
- &demuxer_desc_rtp,
-#endif
-#ifdef CONFIG_LIBNEMESI
- &demuxer_desc_rtp_nemesi,
-#endif
&demuxer_desc_lavf,
#ifdef CONFIG_MUSEPACK
&demuxer_desc_mpc,
@@ -185,7 +177,7 @@ static struct demux_packet *create_packet(size_t len)
dp->duration = -1;
dp->stream_pts = MP_NOPTS_VALUE;
dp->pos = 0;
- dp->flags = 0;
+ dp->keyframe = false;
dp->refcount = 1;
dp->master = NULL;
dp->buffer = NULL;
@@ -599,14 +591,14 @@ void ds_clear_parser(demux_stream_t *ds)
}
void ds_read_packet(demux_stream_t *ds, stream_t *stream, int len,
- double pts, off_t pos, int flags)
+ double pts, off_t pos, bool keyframe)
{
demux_packet_t *dp = new_demux_packet(len);
len = stream_read(stream, dp->buffer, len);
resize_demux_packet(dp, len);
dp->pts = pts;
dp->pos = pos;
- dp->flags = flags;
+ dp->keyframe = keyframe;
// append packet to DS stream:
ds_add_packet(ds, dp);
}
@@ -650,7 +642,7 @@ int ds_fill_buffer(demux_stream_t *ds)
ds->pts_bytes += p->len; // !!!
if (p->stream_pts != MP_NOPTS_VALUE)
demux->stream_pts = p->stream_pts;
- ds->flags = p->flags;
+ ds->keyframe = p->keyframe;
// unlink packet:
ds->bytes -= p->len;
ds->current = p;
@@ -998,11 +990,8 @@ static struct demuxer *demux_open_stream(struct MPOpts *opts,
if (!desc)
// should only happen with obsolete -demuxer 99 numeric format
return NULL;
- demuxer = open_given_type(opts, desc, stream, force, audio_id,
- video_id, sub_id, filename, params);
- if (demuxer)
- goto dmx_open;
- return NULL;
+ return open_given_type(opts, desc, stream, force, audio_id,
+ video_id, sub_id, filename, params);
}
// Test demuxers with safe file checks
@@ -1011,7 +1000,7 @@ static struct demuxer *demux_open_stream(struct MPOpts *opts,
demuxer = open_given_type(opts, desc, stream, false, audio_id,
video_id, sub_id, filename, params);
if (demuxer)
- goto dmx_open;
+ return demuxer;
}
}
@@ -1024,7 +1013,7 @@ static struct demuxer *demux_open_stream(struct MPOpts *opts,
demuxer = open_given_type(opts, desc, stream, false, audio_id,
video_id, sub_id, filename, params);
if (demuxer)
- goto dmx_open;
+ return demuxer;
}
// Finally try detection for demuxers with unsafe checks
@@ -1033,28 +1022,11 @@ static struct demuxer *demux_open_stream(struct MPOpts *opts,
demuxer = open_given_type(opts, desc, stream, false, audio_id,
video_id, sub_id, filename, params);
if (demuxer)
- goto dmx_open;
+ return demuxer;
}
}
return NULL;
-
- dmx_open:
-
- if (demuxer->type == DEMUXER_TYPE_PLAYLIST)
- return demuxer;
-
- struct sh_video *sh_video = demuxer->video->sh;
- if (sh_video && sh_video->bih) {
- int biComp = le2me_32(sh_video->bih->biCompression);
- mp_msg(MSGT_DEMUX, MSGL_INFO,
- "VIDEO: [%.4s] %dx%d %dbpp %5.3f fps %5.1f kbps (%4.1f kbyte/s)\n",
- (char *) &biComp, sh_video->bih->biWidth,
- sh_video->bih->biHeight, sh_video->bih->biBitCount,
- sh_video->fps, sh_video->i_bps * 0.008f,
- sh_video->i_bps / 1024.0f);
- }
- return demuxer;
}
struct demuxer *demux_open(struct MPOpts *opts, stream_t *vs, int file_format,
diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h
index cdea5ba..71f6e44 100644
--- a/libmpdemux/demuxer.h
+++ b/libmpdemux/demuxer.h
@@ -62,7 +62,6 @@ enum demuxer_type {
DEMUXER_TYPE_AUDIO,
DEMUXER_TYPE_OGG,
DEMUXER_TYPE_RAWAUDIO,
- DEMUXER_TYPE_RTP,
DEMUXER_TYPE_RAWDV,
DEMUXER_TYPE_PVA,
DEMUXER_TYPE_SMJPEG,
@@ -86,7 +85,6 @@ enum demuxer_type {
DEMUXER_TYPE_MPEG_GXF,
DEMUXER_TYPE_NUT,
DEMUXER_TYPE_LAVF_PREFERRED,
- DEMUXER_TYPE_RTP_NEMESI,
DEMUXER_TYPE_MNG,
DEMUXER_TYPE_EDL,
@@ -135,7 +133,7 @@ typedef struct demux_stream {
off_t pos; // position in the input stream (file)
off_t dpos; // position in the demuxed stream
int pack_no; // serial number of packet
- int flags; // flags of current packet (keyframe etc)
+ bool keyframe; // keyframe flag of current packet
int non_interleaved; // 1 if this stream is not properly interleaved,
// so e.g. subtitle handling must do explicit reads.
//---------------
@@ -315,7 +313,7 @@ void free_demuxer(struct demuxer *demuxer);
void ds_add_packet(struct demux_stream *ds, struct demux_packet *dp);
void ds_read_packet(struct demux_stream *ds, struct stream *stream, int len,
- double pts, off_t pos, int flags);
+ double pts, off_t pos, bool keyframe);
int demux_fill_buffer(struct demuxer *demux, struct demux_stream *ds);
int ds_fill_buffer(struct demux_stream *ds);
diff --git a/libmpdemux/ebml.c b/libmpdemux/ebml.c
index 9bce3b5..fba8177 100644
--- a/libmpdemux/ebml.c
+++ b/libmpdemux/ebml.c
@@ -130,6 +130,8 @@ uint64_t ebml_read_length(stream_t *s, int *length)
}
if (j == num_ffs)
return EBML_UINT_INVALID;
+ if (len >= 1ULL<<63) // Can happen if stream_read_char returns EOF
+ return EBML_UINT_INVALID;
return len;
}
diff --git a/libmpdemux/ebml_defs.c b/libmpdemux/ebml_defs.c
deleted file mode 100644
index b683312..0000000
--- a/libmpdemux/ebml_defs.c
+++ /dev/null
@@ -1,424 +0,0 @@
-// Generated by TOOLS/matroska.py, do not edit manually
-
-
-E("TagString", tag_string, EBML_TYPE_STR)
-
-E("TagLanguage", tag_language, EBML_TYPE_STR)
-
-E("TagName", tag_name, EBML_TYPE_STR)
-
-#define N simple_tag
-E_S("SimpleTag", 3)
-F(MATROSKA_ID_TAGNAME, tag_name, 0)
-F(MATROSKA_ID_TAGLANGUAGE, tag_language, 0)
-F(MATROSKA_ID_TAGSTRING, tag_string, 0)
-}};
-#undef N
-
-E("TargetAttachmentUID", target_attachment_uid, EBML_TYPE_UINT)
-
-E("TargetChapterUID", target_chapter_uid, EBML_TYPE_UINT)
-
-E("TargetEditionUID", target_edition_uid, EBML_TYPE_UINT)
-
-E("TargetTrackUID", target_track_uid, EBML_TYPE_UINT)
-
-E("TargetTypeValue", target_type_value, EBML_TYPE_UINT)
-
-#define N targets
-E_S("Targets", 5)
-F(MATROSKA_ID_TARGETTYPEVALUE, target_type_value, 0)
-F(MATROSKA_ID_TARGETTRACKUID, target_track_uid, 0)
-F(MATROSKA_ID_TARGETEDITIONUID, target_edition_uid, 0)
-F(MATROSKA_ID_TARGETCHAPTERUID, target_chapter_uid, 0)
-F(MATROSKA_ID_TARGETATTACHMENTUID, target_attachment_uid, 0)
-}};
-#undef N
-
-#define N tag
-E_S("Tag", 2)
-F(MATROSKA_ID_TARGETS, targets, 0)
-F(MATROSKA_ID_SIMPLETAG, simple_tag, 1)
-}};
-#undef N
-
-#define N tags
-E_S("Tags", 1)
-F(MATROSKA_ID_TAG, tag, 1)
-}};
-#undef N
-
-E("ChapCountry", chap_country, EBML_TYPE_STR)
-
-E("ChapLanguage", chap_language, EBML_TYPE_STR)
-
-E("ChapString", chap_string, EBML_TYPE_STR)
-
-#define N chapter_display
-E_S("ChapterDisplay", 3)
-F(MATROSKA_ID_CHAPSTRING, chap_string, 0)
-F(MATROSKA_ID_CHAPLANGUAGE, chap_language, 1)
-F(MATROSKA_ID_CHAPCOUNTRY, chap_country, 1)
-}};
-#undef N
-
-E("ChapterSegmentEditionUID", chapter_segment_edition_uid, EBML_TYPE_UINT)
-
-E("ChapterSegmentUID", chapter_segment_uid, EBML_TYPE_BINARY)
-
-E("ChapterFlagEnabled", chapter_flag_enabled, EBML_TYPE_UINT)
-
-E("ChapterFlagHidden", chapter_flag_hidden, EBML_TYPE_UINT)
-
-E("ChapterTimeEnd", chapter_time_end, EBML_TYPE_UINT)
-
-E("ChapterTimeStart", chapter_time_start, EBML_TYPE_UINT)
-
-E("ChapterUID", chapter_uid, EBML_TYPE_UINT)
-
-#define N chapter_atom
-E_S("ChapterAtom", 8)
-F(MATROSKA_ID_CHAPTERUID, chapter_uid, 0)
-F(MATROSKA_ID_CHAPTERTIMESTART, chapter_time_start, 0)
-F(MATROSKA_ID_CHAPTERTIMEEND, chapter_time_end, 0)
-F(MATROSKA_ID_CHAPTERFLAGHIDDEN, chapter_flag_hidden, 0)
-F(MATROSKA_ID_CHAPTERFLAGENABLED, chapter_flag_enabled, 0)
-F(MATROSKA_ID_CHAPTERSEGMENTUID, chapter_segment_uid, 0)
-F(MATROSKA_ID_CHAPTERSEGMENTEDITIONUID, chapter_segment_edition_uid, 0)
-F(MATROSKA_ID_CHAPTERDISPLAY, chapter_display, 1)
-}};
-#undef N
-
-E("EditionFlagOrdered", edition_flag_ordered, EBML_TYPE_UINT)
-
-E("EditionFlagDefault", edition_flag_default, EBML_TYPE_UINT)
-
-E("EditionFlagHidden", edition_flag_hidden, EBML_TYPE_UINT)
-
-E("EditionUID", edition_uid, EBML_TYPE_UINT)
-
-#define N edition_entry
-E_S("EditionEntry", 5)
-F(MATROSKA_ID_EDITIONUID, edition_uid, 0)
-F(MATROSKA_ID_EDITIONFLAGHIDDEN, edition_flag_hidden, 0)
-F(MATROSKA_ID_EDITIONFLAGDEFAULT, edition_flag_default, 0)
-F(MATROSKA_ID_EDITIONFLAGORDERED, edition_flag_ordered, 0)
-F(MATROSKA_ID_CHAPTERATOM, chapter_atom, 1)
-}};
-#undef N
-
-#define N chapters
-E_S("Chapters", 1)
-F(MATROSKA_ID_EDITIONENTRY, edition_entry, 1)
-}};
-#undef N
-
-E("FileUID", file_uid, EBML_TYPE_UINT)
-
-E("FileData", file_data, EBML_TYPE_BINARY)
-
-E("FileMimeType", file_mime_type, EBML_TYPE_STR)
-
-E("FileName", file_name, EBML_TYPE_STR)
-
-E("FileDescription", file_description, EBML_TYPE_STR)
-
-#define N attached_file
-E_S("AttachedFile", 5)
-F(MATROSKA_ID_FILEDESCRIPTION, file_description, 0)
-F(MATROSKA_ID_FILENAME, file_name, 0)
-F(MATROSKA_ID_FILEMIMETYPE, file_mime_type, 0)
-F(MATROSKA_ID_FILEDATA, file_data, 0)
-F(MATROSKA_ID_FILEUID, file_uid, 0)
-}};
-#undef N
-
-#define N attachments
-E_S("Attachments", 1)
-F(MATROSKA_ID_ATTACHEDFILE, attached_file, 1)
-}};
-#undef N
-
-E("CueClusterPosition", cue_cluster_position, EBML_TYPE_UINT)
-
-E("CueTrack", cue_track, EBML_TYPE_UINT)
-
-#define N cue_track_positions
-E_S("CueTrackPositions", 2)
-F(MATROSKA_ID_CUETRACK, cue_track, 0)
-F(MATROSKA_ID_CUECLUSTERPOSITION, cue_cluster_position, 0)
-}};
-#undef N
-
-E("CueTime", cue_time, EBML_TYPE_UINT)
-
-#define N cue_point
-E_S("CuePoint", 2)
-F(MATROSKA_ID_CUETIME, cue_time, 0)
-F(MATROSKA_ID_CUETRACKPOSITIONS, cue_track_positions, 1)
-}};
-#undef N
-
-#define N cues
-E_S("Cues", 1)
-F(MATROSKA_ID_CUEPOINT, cue_point, 1)
-}};
-#undef N
-
-E("ContentCompSettings", content_comp_settings, EBML_TYPE_BINARY)
-
-E("ContentCompAlgo", content_comp_algo, EBML_TYPE_UINT)
-
-#define N content_compression
-E_S("ContentCompression", 2)
-F(MATROSKA_ID_CONTENTCOMPALGO, content_comp_algo, 0)
-F(MATROSKA_ID_CONTENTCOMPSETTINGS, content_comp_settings, 0)
-}};
-#undef N
-
-E("ContentEncodingType", content_encoding_type, EBML_TYPE_UINT)
-
-E("ContentEncodingScope", content_encoding_scope, EBML_TYPE_UINT)
-
-E("ContentEncodingOrder", content_encoding_order, EBML_TYPE_UINT)
-
-#define N content_encoding
-E_S("ContentEncoding", 4)
-F(MATROSKA_ID_CONTENTENCODINGORDER, content_encoding_order, 0)
-F(MATROSKA_ID_CONTENTENCODINGSCOPE, content_encoding_scope, 0)
-F(MATROSKA_ID_CONTENTENCODINGTYPE, content_encoding_type, 0)
-F(MATROSKA_ID_CONTENTCOMPRESSION, content_compression, 0)
-}};
-#undef N
-
-#define N content_encodings
-E_S("ContentEncodings", 1)
-F(MATROSKA_ID_CONTENTENCODING, content_encoding, 1)
-}};
-#undef N
-
-E("BitDepth", bit_depth, EBML_TYPE_UINT)
-
-E("Channels", channels, EBML_TYPE_UINT)
-
-E("OutputSamplingFrequency", output_sampling_frequency, EBML_TYPE_FLOAT)
-
-E("SamplingFrequency", sampling_frequency, EBML_TYPE_FLOAT)
-
-#define N audio
-E_S("Audio", 4)
-F(MATROSKA_ID_SAMPLINGFREQUENCY, sampling_frequency, 0)
-F(MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY, output_sampling_frequency, 0)
-F(MATROSKA_ID_CHANNELS, channels, 0)
-F(MATROSKA_ID_BITDEPTH, bit_depth, 0)
-}};
-#undef N
-
-E("FrameRate", frame_rate, EBML_TYPE_FLOAT)
-
-E("DisplayUnit", display_unit, EBML_TYPE_UINT)
-
-E("DisplayHeight", display_height, EBML_TYPE_UINT)
-
-E("DisplayWidth", display_width, EBML_TYPE_UINT)
-
-E("PixelHeight", pixel_height, EBML_TYPE_UINT)
-
-E("PixelWidth", pixel_width, EBML_TYPE_UINT)
-
-E("FlagInterlaced", flag_interlaced, EBML_TYPE_UINT)
-
-#define N video
-E_S("Video", 7)
-F(MATROSKA_ID_FLAGINTERLACED, flag_interlaced, 0)
-F(MATROSKA_ID_PIXELWIDTH, pixel_width, 0)
-F(MATROSKA_ID_PIXELHEIGHT, pixel_height, 0)
-F(MATROSKA_ID_DISPLAYWIDTH, display_width, 0)
-F(MATROSKA_ID_DISPLAYHEIGHT, display_height, 0)
-F(MATROSKA_ID_DISPLAYUNIT, display_unit, 0)
-F(MATROSKA_ID_FRAMERATE, frame_rate, 0)
-}};
-#undef N
-
-E("CodecDecodeAll", codec_decode_all, EBML_TYPE_UINT)
-
-E("CodecPrivate", codec_private, EBML_TYPE_BINARY)
-
-E("CodecID", codec_id, EBML_TYPE_STR)
-
-E("Language", language, EBML_TYPE_STR)
-
-E("Name", name, EBML_TYPE_STR)
-
-E("MaxBlockAdditionID", max_block_addition_id, EBML_TYPE_UINT)
-
-E("TrackTimecodeScale", track_timecode_scale, EBML_TYPE_FLOAT)
-
-E("DefaultDuration", default_duration, EBML_TYPE_UINT)
-
-E("MaxCache", max_cache, EBML_TYPE_UINT)
-
-E("MinCache", min_cache, EBML_TYPE_UINT)
-
-E("FlagLacing", flag_lacing, EBML_TYPE_UINT)
-
-E("FlagForced", flag_forced, EBML_TYPE_UINT)
-
-E("FlagDefault", flag_default, EBML_TYPE_UINT)
-
-E("FlagEnabled", flag_enabled, EBML_TYPE_UINT)
-
-E("TrackType", track_type, EBML_TYPE_UINT)
-
-E("TrackUID", track_uid, EBML_TYPE_UINT)
-
-E("TrackNumber", track_number, EBML_TYPE_UINT)
-
-#define N track_entry
-E_S("TrackEntry", 20)
-F(MATROSKA_ID_TRACKNUMBER, track_number, 0)
-F(MATROSKA_ID_TRACKUID, track_uid, 0)
-F(MATROSKA_ID_TRACKTYPE, track_type, 0)
-F(MATROSKA_ID_FLAGENABLED, flag_enabled, 0)
-F(MATROSKA_ID_FLAGDEFAULT, flag_default, 0)
-F(MATROSKA_ID_FLAGFORCED, flag_forced, 0)
-F(MATROSKA_ID_FLAGLACING, flag_lacing, 0)
-F(MATROSKA_ID_MINCACHE, min_cache, 0)
-F(MATROSKA_ID_MAXCACHE, max_cache, 0)
-F(MATROSKA_ID_DEFAULTDURATION, default_duration, 0)
-F(MATROSKA_ID_TRACKTIMECODESCALE, track_timecode_scale, 0)
-F(MATROSKA_ID_MAXBLOCKADDITIONID, max_block_addition_id, 0)
-F(MATROSKA_ID_NAME, name, 0)
-F(MATROSKA_ID_LANGUAGE, language, 0)
-F(MATROSKA_ID_CODECID, codec_id, 0)
-F(MATROSKA_ID_CODECPRIVATE, codec_private, 0)
-F(MATROSKA_ID_CODECDECODEALL, codec_decode_all, 0)
-F(MATROSKA_ID_VIDEO, video, 0)
-F(MATROSKA_ID_AUDIO, audio, 0)
-F(MATROSKA_ID_CONTENTENCODINGS, content_encodings, 0)
-}};
-#undef N
-
-#define N tracks
-E_S("Tracks", 1)
-F(MATROSKA_ID_TRACKENTRY, track_entry, 1)
-}};
-#undef N
-
-E("SimpleBlock", simple_block, EBML_TYPE_BINARY)
-
-E("ReferenceBlock", reference_block, EBML_TYPE_SINT)
-
-E("BlockDuration", block_duration, EBML_TYPE_UINT)
-
-E("Block", block, EBML_TYPE_BINARY)
-
-#define N block_group
-E_S("BlockGroup", 3)
-F(MATROSKA_ID_BLOCK, block, 0)
-F(MATROSKA_ID_BLOCKDURATION, block_duration, 0)
-F(MATROSKA_ID_REFERENCEBLOCK, reference_block, 1)
-}};
-#undef N
-
-E("Timecode", timecode, EBML_TYPE_UINT)
-
-#define N cluster
-E_S("Cluster", 3)
-F(MATROSKA_ID_TIMECODE, timecode, 0)
-F(MATROSKA_ID_BLOCKGROUP, block_group, 1)
-F(MATROSKA_ID_SIMPLEBLOCK, simple_block, 1)
-}};
-#undef N
-
-E("Duration", duration, EBML_TYPE_FLOAT)
-
-E("WritingApp", writing_app, EBML_TYPE_STR)
-
-E("MuxingApp", muxing_app, EBML_TYPE_STR)
-
-E("Title", title, EBML_TYPE_STR)
-
-E("DateUTC", date_utc, EBML_TYPE_SINT)
-
-E("TimecodeScale", timecode_scale, EBML_TYPE_UINT)
-
-E("NextUID", next_uid, EBML_TYPE_BINARY)
-
-E("PrevUID", prev_uid, EBML_TYPE_BINARY)
-
-E("SegmentUID", segment_uid, EBML_TYPE_BINARY)
-
-#define N info
-E_S("Info", 9)
-F(MATROSKA_ID_SEGMENTUID, segment_uid, 0)
-F(MATROSKA_ID_PREVUID, prev_uid, 0)
-F(MATROSKA_ID_NEXTUID, next_uid, 0)
-F(MATROSKA_ID_TIMECODESCALE, timecode_scale, 0)
-F(MATROSKA_ID_DATEUTC, date_utc, 0)
-F(MATROSKA_ID_TITLE, title, 0)
-F(MATROSKA_ID_MUXINGAPP, muxing_app, 0)
-F(MATROSKA_ID_WRITINGAPP, writing_app, 0)
-F(MATROSKA_ID_DURATION, duration, 0)
-}};
-#undef N
-
-E("SeekPosition", seek_position, EBML_TYPE_UINT)
-
-E("SeekID", seek_id, EBML_TYPE_EBML_ID)
-
-#define N seek
-E_S("Seek", 2)
-F(MATROSKA_ID_SEEKID, seek_id, 0)
-F(MATROSKA_ID_SEEKPOSITION, seek_position, 0)
-}};
-#undef N
-
-#define N seek_head
-E_S("SeekHead", 1)
-F(MATROSKA_ID_SEEK, seek, 1)
-}};
-#undef N
-
-#define N segment
-E_S("Segment", 8)
-F(MATROSKA_ID_SEEKHEAD, seek_head, 1)
-F(MATROSKA_ID_INFO, info, 1)
-F(MATROSKA_ID_CLUSTER, cluster, 1)
-F(MATROSKA_ID_TRACKS, tracks, 1)
-F(MATROSKA_ID_CUES, cues, 0)
-F(MATROSKA_ID_ATTACHMENTS, attachments, 0)
-F(MATROSKA_ID_CHAPTERS, chapters, 0)
-F(MATROSKA_ID_TAGS, tags, 1)
-}};
-#undef N
-
-E("Void", void, EBML_TYPE_BINARY)
-
-E("CRC32", crc32, EBML_TYPE_BINARY)
-
-E("DocTypeReadVersion", doc_type_read_version, EBML_TYPE_UINT)
-
-E("DocTypeVersion", doc_type_version, EBML_TYPE_UINT)
-
-E("DocType", doc_type, EBML_TYPE_STR)
-
-E("EBMLMaxSizeLength", ebml_max_size_length, EBML_TYPE_UINT)
-
-E("EBMLMaxIDLength", ebml_max_id_length, EBML_TYPE_UINT)
-
-E("EBMLReadVersion", ebml_read_version, EBML_TYPE_UINT)
-
-E("EBMLVersion", ebml_version, EBML_TYPE_UINT)
-
-#define N ebml
-E_S("EBML", 7)
-F(EBML_ID_EBMLVERSION, ebml_version, 0)
-F(EBML_ID_EBMLREADVERSION, ebml_read_version, 0)
-F(EBML_ID_EBMLMAXIDLENGTH, ebml_max_id_length, 0)
-F(EBML_ID_EBMLMAXSIZELENGTH, ebml_max_size_length, 0)
-F(EBML_ID_DOCTYPE, doc_type, 0)
-F(EBML_ID_DOCTYPEVERSION, doc_type_version, 0)
-F(EBML_ID_DOCTYPEREADVERSION, doc_type_read_version, 0)
-}};
-#undef N
diff --git a/libmpdemux/ebml_types.h b/libmpdemux/ebml_types.h
deleted file mode 100644
index 252515f..0000000
--- a/libmpdemux/ebml_types.h
+++ /dev/null
@@ -1,477 +0,0 @@
-// Generated by TOOLS/matroska.py, do not edit manually
-
-#define EBML_ID_EBML 0x1a45dfa3
-#define EBML_ID_EBMLVERSION 0x4286
-#define EBML_ID_EBMLREADVERSION 0x42f7
-#define EBML_ID_EBMLMAXIDLENGTH 0x42f2
-#define EBML_ID_EBMLMAXSIZELENGTH 0x42f3
-#define EBML_ID_DOCTYPE 0x4282
-#define EBML_ID_DOCTYPEVERSION 0x4287
-#define EBML_ID_DOCTYPEREADVERSION 0x4285
-#define EBML_ID_CRC32 0xbf
-#define EBML_ID_VOID 0xec
-#define MATROSKA_ID_SEGMENT 0x18538067
-#define MATROSKA_ID_SEEKHEAD 0x114d9b74
-#define MATROSKA_ID_SEEK 0x4dbb
-#define MATROSKA_ID_SEEKID 0x53ab
-#define MATROSKA_ID_SEEKPOSITION 0x53ac
-#define MATROSKA_ID_INFO 0x1549a966
-#define MATROSKA_ID_SEGMENTUID 0x73a4
-#define MATROSKA_ID_PREVUID 0x3cb923
-#define MATROSKA_ID_NEXTUID 0x3eb923
-#define MATROSKA_ID_TIMECODESCALE 0x2ad7b1
-#define MATROSKA_ID_DATEUTC 0x4461
-#define MATROSKA_ID_TITLE 0x7ba9
-#define MATROSKA_ID_MUXINGAPP 0x4d80
-#define MATROSKA_ID_WRITINGAPP 0x5741
-#define MATROSKA_ID_DURATION 0x4489
-#define MATROSKA_ID_CLUSTER 0x1f43b675
-#define MATROSKA_ID_TIMECODE 0xe7
-#define MATROSKA_ID_BLOCKGROUP 0xa0
-#define MATROSKA_ID_BLOCK 0xa1
-#define MATROSKA_ID_BLOCKDURATION 0x9b
-#define MATROSKA_ID_REFERENCEBLOCK 0xfb
-#define MATROSKA_ID_SIMPLEBLOCK 0xa3
-#define MATROSKA_ID_TRACKS 0x1654ae6b
-#define MATROSKA_ID_TRACKENTRY 0xae
-#define MATROSKA_ID_TRACKNUMBER 0xd7
-#define MATROSKA_ID_TRACKUID 0x73c5
-#define MATROSKA_ID_TRACKTYPE 0x83
-#define MATROSKA_ID_FLAGENABLED 0xb9
-#define MATROSKA_ID_FLAGDEFAULT 0x88
-#define MATROSKA_ID_FLAGFORCED 0x55aa
-#define MATROSKA_ID_FLAGLACING 0x9c
-#define MATROSKA_ID_MINCACHE 0x6de7
-#define MATROSKA_ID_MAXCACHE 0x6df8
-#define MATROSKA_ID_DEFAULTDURATION 0x23e383
-#define MATROSKA_ID_TRACKTIMECODESCALE 0x23314f
-#define MATROSKA_ID_MAXBLOCKADDITIONID 0x55ee
-#define MATROSKA_ID_NAME 0x536e
-#define MATROSKA_ID_LANGUAGE 0x22b59c
-#define MATROSKA_ID_CODECID 0x86
-#define MATROSKA_ID_CODECPRIVATE 0x63a2
-#define MATROSKA_ID_CODECDECODEALL 0xaa
-#define MATROSKA_ID_VIDEO 0xe0
-#define MATROSKA_ID_FLAGINTERLACED 0x9a
-#define MATROSKA_ID_PIXELWIDTH 0xb0
-#define MATROSKA_ID_PIXELHEIGHT 0xba
-#define MATROSKA_ID_DISPLAYWIDTH 0x54b0
-#define MATROSKA_ID_DISPLAYHEIGHT 0x54ba
-#define MATROSKA_ID_DISPLAYUNIT 0x54b2
-#define MATROSKA_ID_FRAMERATE 0x2383e3
-#define MATROSKA_ID_AUDIO 0xe1
-#define MATROSKA_ID_SAMPLINGFREQUENCY 0xb5
-#define MATROSKA_ID_OUTPUTSAMPLINGFREQUENCY 0x78b5
-#define MATROSKA_ID_CHANNELS 0x9f
-#define MATROSKA_ID_BITDEPTH 0x6264
-#define MATROSKA_ID_CONTENTENCODINGS 0x6d80
-#define MATROSKA_ID_CONTENTENCODING 0x6240
-#define MATROSKA_ID_CONTENTENCODINGORDER 0x5031
-#define MATROSKA_ID_CONTENTENCODINGSCOPE 0x5032
-#define MATROSKA_ID_CONTENTENCODINGTYPE 0x5033
-#define MATROSKA_ID_CONTENTCOMPRESSION 0x5034
-#define MATROSKA_ID_CONTENTCOMPALGO 0x4254
-#define MATROSKA_ID_CONTENTCOMPSETTINGS 0x4255
-#define MATROSKA_ID_CUES 0x1c53bb6b
-#define MATROSKA_ID_CUEPOINT 0xbb
-#define MATROSKA_ID_CUETIME 0xb3
-#define MATROSKA_ID_CUETRACKPOSITIONS 0xb7
-#define MATROSKA_ID_CUETRACK 0xf7
-#define MATROSKA_ID_CUECLUSTERPOSITION 0xf1
-#define MATROSKA_ID_ATTACHMENTS 0x1941a469
-#define MATROSKA_ID_ATTACHEDFILE 0x61a7
-#define MATROSKA_ID_FILEDESCRIPTION 0x467e
-#define MATROSKA_ID_FILENAME 0x466e
-#define MATROSKA_ID_FILEMIMETYPE 0x4660
-#define MATROSKA_ID_FILEDATA 0x465c
-#define MATROSKA_ID_FILEUID 0x46ae
-#define MATROSKA_ID_CHAPTERS 0x1043a770
-#define MATROSKA_ID_EDITIONENTRY 0x45b9
-#define MATROSKA_ID_EDITIONUID 0x45bc
-#define MATROSKA_ID_EDITIONFLAGHIDDEN 0x45bd
-#define MATROSKA_ID_EDITIONFLAGDEFAULT 0x45db
-#define MATROSKA_ID_EDITIONFLAGORDERED 0x45dd
-#define MATROSKA_ID_CHAPTERATOM 0xb6
-#define MATROSKA_ID_CHAPTERUID 0x73c4
-#define MATROSKA_ID_CHAPTERTIMESTART 0x91
-#define MATROSKA_ID_CHAPTERTIMEEND 0x92
-#define MATROSKA_ID_CHAPTERFLAGHIDDEN 0x98
-#define MATROSKA_ID_CHAPTERFLAGENABLED 0x4598
-#define MATROSKA_ID_CHAPTERSEGMENTUID 0x6e67
-#define MATROSKA_ID_CHAPTERSEGMENTEDITIONUID 0x6ebc
-#define MATROSKA_ID_CHAPTERDISPLAY 0x80
-#define MATROSKA_ID_CHAPSTRING 0x85
-#define MATROSKA_ID_CHAPLANGUAGE 0x437c
-#define MATROSKA_ID_CHAPCOUNTRY 0x437e
-#define MATROSKA_ID_TAGS 0x1254c367
-#define MATROSKA_ID_TAG 0x7373
-#define MATROSKA_ID_TARGETS 0x63c0
-#define MATROSKA_ID_TARGETTYPEVALUE 0x68ca
-#define MATROSKA_ID_TARGETTRACKUID 0x63c5
-#define MATROSKA_ID_TARGETEDITIONUID 0x63c9
-#define MATROSKA_ID_TARGETCHAPTERUID 0x63c4
-#define MATROSKA_ID_TARGETATTACHMENTUID 0x63c6
-#define MATROSKA_ID_SIMPLETAG 0x67c8
-#define MATROSKA_ID_TAGNAME 0x45a3
-#define MATROSKA_ID_TAGLANGUAGE 0x447a
-#define MATROSKA_ID_TAGSTRING 0x4487
-
-
-struct ebml_simple_tag {
- struct bstr tag_name;
- struct bstr tag_language;
- struct bstr tag_string;
-
- int n_tag_name;
- int n_tag_language;
- int n_tag_string;
-};
-
-struct ebml_targets {
- uint64_t target_type_value;
- uint64_t target_track_uid;
- uint64_t target_edition_uid;
- uint64_t target_chapter_uid;
- uint64_t target_attachment_uid;
-
- int n_target_type_value;
- int n_target_track_uid;
- int n_target_edition_uid;
- int n_target_chapter_uid;
- int n_target_attachment_uid;
-};
-
-struct ebml_tag {
- struct ebml_targets targets;
- struct ebml_simple_tag *simple_tag;
-
- int n_targets;
- int n_simple_tag;
-};
-
-struct ebml_tags {
- struct ebml_tag *tag;
-
- int n_tag;
-};
-
-struct ebml_chapter_display {
- struct bstr chap_string;
- struct bstr *chap_language;
- struct bstr *chap_country;
-
- int n_chap_string;
- int n_chap_language;
- int n_chap_country;
-};
-
-struct ebml_chapter_atom {
- uint64_t chapter_uid;
- uint64_t chapter_time_start;
- uint64_t chapter_time_end;
- uint64_t chapter_flag_hidden;
- uint64_t chapter_flag_enabled;
- struct bstr chapter_segment_uid;
- uint64_t chapter_segment_edition_uid;
- struct ebml_chapter_display *chapter_display;
-
- int n_chapter_uid;
- int n_chapter_time_start;
- int n_chapter_time_end;
- int n_chapter_flag_hidden;
- int n_chapter_flag_enabled;
- int n_chapter_segment_uid;
- int n_chapter_segment_edition_uid;
- int n_chapter_display;
-};
-
-struct ebml_edition_entry {
- uint64_t edition_uid;
- uint64_t edition_flag_hidden;
- uint64_t edition_flag_default;
- uint64_t edition_flag_ordered;
- struct ebml_chapter_atom *chapter_atom;
-
- int n_edition_uid;
- int n_edition_flag_hidden;
- int n_edition_flag_default;
- int n_edition_flag_ordered;
- int n_chapter_atom;
-};
-
-struct ebml_chapters {
- struct ebml_edition_entry *edition_entry;
-
- int n_edition_entry;
-};
-
-struct ebml_attached_file {
- struct bstr file_description;
- struct bstr file_name;
- struct bstr file_mime_type;
- struct bstr file_data;
- uint64_t file_uid;
-
- int n_file_description;
- int n_file_name;
- int n_file_mime_type;
- int n_file_data;
- int n_file_uid;
-};
-
-struct ebml_attachments {
- struct ebml_attached_file *attached_file;
-
- int n_attached_file;
-};
-
-struct ebml_cue_track_positions {
- uint64_t cue_track;
- uint64_t cue_cluster_position;
-
- int n_cue_track;
- int n_cue_cluster_position;
-};
-
-struct ebml_cue_point {
- uint64_t cue_time;
- struct ebml_cue_track_positions *cue_track_positions;
-
- int n_cue_time;
- int n_cue_track_positions;
-};
-
-struct ebml_cues {
- struct ebml_cue_point *cue_point;
-
- int n_cue_point;
-};
-
-struct ebml_content_compression {
- uint64_t content_comp_algo;
- struct bstr content_comp_settings;
-
- int n_content_comp_algo;
- int n_content_comp_settings;
-};
-
-struct ebml_content_encoding {
- uint64_t content_encoding_order;
- uint64_t content_encoding_scope;
- uint64_t content_encoding_type;
- struct ebml_content_compression content_compression;
-
- int n_content_encoding_order;
- int n_content_encoding_scope;
- int n_content_encoding_type;
- int n_content_compression;
-};
-
-struct ebml_content_encodings {
- struct ebml_content_encoding *content_encoding;
-
- int n_content_encoding;
-};
-
-struct ebml_audio {
- double sampling_frequency;
- double output_sampling_frequency;
- uint64_t channels;
- uint64_t bit_depth;
-
- int n_sampling_frequency;
- int n_output_sampling_frequency;
- int n_channels;
- int n_bit_depth;
-};
-
-struct ebml_video {
- uint64_t flag_interlaced;
- uint64_t pixel_width;
- uint64_t pixel_height;
- uint64_t display_width;
- uint64_t display_height;
- uint64_t display_unit;
- double frame_rate;
-
- int n_flag_interlaced;
- int n_pixel_width;
- int n_pixel_height;
- int n_display_width;
- int n_display_height;
- int n_display_unit;
- int n_frame_rate;
-};
-
-struct ebml_track_entry {
- uint64_t track_number;
- uint64_t track_uid;
- uint64_t track_type;
- uint64_t flag_enabled;
- uint64_t flag_default;
- uint64_t flag_forced;
- uint64_t flag_lacing;
- uint64_t min_cache;
- uint64_t max_cache;
- uint64_t default_duration;
- double track_timecode_scale;
- uint64_t max_block_addition_id;
- struct bstr name;
- struct bstr language;
- struct bstr codec_id;
- struct bstr codec_private;
- uint64_t codec_decode_all;
- struct ebml_video video;
- struct ebml_audio audio;
- struct ebml_content_encodings content_encodings;
-
- int n_track_number;
- int n_track_uid;
- int n_track_type;
- int n_flag_enabled;
- int n_flag_default;
- int n_flag_forced;
- int n_flag_lacing;
- int n_min_cache;
- int n_max_cache;
- int n_default_duration;
- int n_track_timecode_scale;
- int n_max_block_addition_id;
- int n_name;
- int n_language;
- int n_codec_id;
- int n_codec_private;
- int n_codec_decode_all;
- int n_video;
- int n_audio;
- int n_content_encodings;
-};
-
-struct ebml_tracks {
- struct ebml_track_entry *track_entry;
-
- int n_track_entry;
-};
-
-struct ebml_block_group {
- struct bstr block;
- uint64_t block_duration;
- int64_t *reference_block;
-
- int n_block;
- int n_block_duration;
- int n_reference_block;
-};
-
-struct ebml_cluster {
- uint64_t timecode;
- struct ebml_block_group *block_group;
- struct bstr *simple_block;
-
- int n_timecode;
- int n_block_group;
- int n_simple_block;
-};
-
-struct ebml_info {
- struct bstr segment_uid;
- struct bstr prev_uid;
- struct bstr next_uid;
- uint64_t timecode_scale;
- int64_t date_utc;
- struct bstr title;
- struct bstr muxing_app;
- struct bstr writing_app;
- double duration;
-
- int n_segment_uid;
- int n_prev_uid;
- int n_next_uid;
- int n_timecode_scale;
- int n_date_utc;
- int n_title;
- int n_muxing_app;
- int n_writing_app;
- int n_duration;
-};
-
-struct ebml_seek {
- uint32_t seek_id;
- uint64_t seek_position;
-
- int n_seek_id;
- int n_seek_position;
-};
-
-struct ebml_seek_head {
- struct ebml_seek *seek;
-
- int n_seek;
-};
-
-struct ebml_segment {
- struct ebml_seek_head *seek_head;
- struct ebml_info *info;
- struct ebml_cluster *cluster;
- struct ebml_tracks *tracks;
- struct ebml_cues cues;
- struct ebml_attachments attachments;
- struct ebml_chapters chapters;
- struct ebml_tags *tags;
-
- int n_seek_head;
- int n_info;
- int n_cluster;
- int n_tracks;
- int n_cues;
- int n_attachments;
- int n_chapters;
- int n_tags;
-};
-
-struct ebml_ebml {
- uint64_t ebml_version;
- uint64_t ebml_read_version;
- uint64_t ebml_max_id_length;
- uint64_t ebml_max_size_length;
- struct bstr doc_type;
- uint64_t doc_type_version;
- uint64_t doc_type_read_version;
-
- int n_ebml_version;
- int n_ebml_read_version;
- int n_ebml_max_id_length;
- int n_ebml_max_size_length;
- int n_doc_type;
- int n_doc_type_version;
- int n_doc_type_read_version;
-};
-extern const struct ebml_elem_desc ebml_ebml_desc;
-extern const struct ebml_elem_desc ebml_segment_desc;
-extern const struct ebml_elem_desc ebml_seek_head_desc;
-extern const struct ebml_elem_desc ebml_seek_desc;
-extern const struct ebml_elem_desc ebml_info_desc;
-extern const struct ebml_elem_desc ebml_cluster_desc;
-extern const struct ebml_elem_desc ebml_block_group_desc;
-extern const struct ebml_elem_desc ebml_tracks_desc;
-extern const struct ebml_elem_desc ebml_track_entry_desc;
-extern const struct ebml_elem_desc ebml_video_desc;
-extern const struct ebml_elem_desc ebml_audio_desc;
-extern const struct ebml_elem_desc ebml_content_encodings_desc;
-extern const struct ebml_elem_desc ebml_content_encoding_desc;
-extern const struct ebml_elem_desc ebml_content_compression_desc;
-extern const struct ebml_elem_desc ebml_cues_desc;
-extern const struct ebml_elem_desc ebml_cue_point_desc;
-extern const struct ebml_elem_desc ebml_cue_track_positions_desc;
-extern const struct ebml_elem_desc ebml_attachments_desc;
-extern const struct ebml_elem_desc ebml_attached_file_desc;
-extern const struct ebml_elem_desc ebml_chapters_desc;
-extern const struct ebml_elem_desc ebml_edition_entry_desc;
-extern const struct ebml_elem_desc ebml_chapter_atom_desc;
-extern const struct ebml_elem_desc ebml_chapter_display_desc;
-extern const struct ebml_elem_desc ebml_tags_desc;
-extern const struct ebml_elem_desc ebml_tag_desc;
-extern const struct ebml_elem_desc ebml_targets_desc;
-extern const struct ebml_elem_desc ebml_simple_tag_desc;
-
-#define MAX_EBML_SUBELEMENTS 20
diff --git a/libmpdemux/stheader.h b/libmpdemux/stheader.h
index 06f5232..bbcaed0 100644
--- a/libmpdemux/stheader.h
+++ b/libmpdemux/stheader.h
@@ -33,6 +33,7 @@ struct demuxer;
struct demux_stream *ds; \
struct codecs *codec; \
unsigned int format; \
+ int libav_codec_id; \
int initialized; \
/* number of seconds stream should be delayed \
* (according to dwStart or similar) */ \
@@ -46,6 +47,7 @@ struct demuxer;
double pts; \
/* decoder context */ \
void *context; \
+ const char *codecname; \
char *lang; /* track language */ \
char *title; /* track title */ \
bool default_track; \
@@ -112,6 +114,8 @@ typedef struct sh_video {
float stream_aspect; // aspect ratio in media headers (DVD IFO files)
int i_bps; // == bitrate (compressed bytes/sec)
int disp_w, disp_h; // display size (filled by demuxer)
+ int colorspace; // enum mp_csp
+ int color_range; // enum mp_csp_levels
// output driver/filters: (set by libmpcodecs core)
unsigned int outfmt;
unsigned int outfmtidx;
diff --git a/libmpdemux/video.c b/libmpdemux/video.c
index 2e41cf0..def9cac 100644
--- a/libmpdemux/video.c
+++ b/libmpdemux/video.c
@@ -45,10 +45,6 @@
/* biCompression constant */
#define BI_RGB 0L
-#ifdef CONFIG_LIVE555
-#include "demux_rtp.h"
-#endif
-
static mp_mpeg_header_t picture;
static int telecine=0;
@@ -77,9 +73,6 @@ static video_codec_t find_video_codec(sh_video_t *sh_video)
((! sh_video->format) || (sh_video->format==0x10000001) || (sh_video->format==0x10000002))
) ||
(fmt == DEMUXER_TYPE_MPEG_TY)
-#ifdef CONFIG_LIVE555
- || ((fmt == DEMUXER_TYPE_RTP) && demux_is_mpeg_rtp_stream(d_video->demuxer))
-#endif
)
return VIDEO_MPEG12;
else if((fmt == DEMUXER_TYPE_MPEG4_ES) ||
@@ -636,7 +629,7 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char**
if(video_codec == VIDEO_MPEG12){
sh_video->pts+=frame_time;
if(picture_coding_type==1)
- d_video->flags |= 1;
+ d_video->keyframe = true;
if(picture_coding_type<=2 && sh_video->i_pts){
sh_video->pts=sh_video->i_pts;
sh_video->i_pts=pts;
diff --git a/libvo/aspect.c b/libvo/aspect.c
index 8dcd8b6..8a26a5a 100644
--- a/libvo/aspect.c
+++ b/libvo/aspect.c
@@ -143,11 +143,6 @@ static void panscan_calc_internal(struct vo *vo, int zoom)
vo->panscan_y = vo_panscan_area * vo->panscan_amount;
}
-void panscan_calc(struct vo *vo)
-{
- panscan_calc_internal(vo, A_ZOOM);
-}
-
/**
* vos that set vo_dwidth and v_dheight correctly should call this to update
* vo_panscan_x and vo_panscan_y
diff --git a/libvo/aspect.h b/libvo/aspect.h
index 07f928a..b867916 100644
--- a/libvo/aspect.h
+++ b/libvo/aspect.h
@@ -22,7 +22,6 @@
struct vo;
void panscan_init(struct vo *vo);
-void panscan_calc(struct vo *vo);
void panscan_calc_windowed(struct vo *vo);
void aspect_save_orig(struct vo *vo, int orgw, int orgh);
@@ -46,7 +45,6 @@ void aspect_fit(struct vo *vo, int *srcw, int *srch, int fitw, int fith);
#define monitor_aspect global_vo->monitor_aspect
#define panscan_init() panscan_init(global_vo)
-#define panscan_calc() panscan_calc(global_vo)
#define panscan_calc_windowed() panscan_calc_windowed(global_vo)
#define aspect_save_orig(...) aspect_save_orig(global_vo, __VA_ARGS__)
#define aspect_save_prescale(...) aspect_save_prescale(global_vo, __VA_ARGS__)
diff --git a/libvo/bitmap_packer.c b/libvo/bitmap_packer.c
new file mode 100644
index 0000000..eedc2e2
--- /dev/null
+++ b/libvo/bitmap_packer.c
@@ -0,0 +1,206 @@
+/*
+ * Calculate how to pack bitmap rectangles into a larger surface
+ *
+ * Copyright 2009, 2012 Uoti Urpala
+ *
+ * This file is part of mplayer2.
+ *
+ * mplayer2 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mplayer2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mplayer2. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdlib.h>
+
+#include <libavutil/common.h>
+
+#include "talloc.h"
+#include "bitmap_packer.h"
+#include "mp_msg.h"
+#include "mpcommon.h"
+#include "sub/ass_mp.h"
+#include "sub/dec_sub.h"
+
+
+#define HEIGHT_SORT_BITS 4
+static int size_index(int s)
+{
+ int n = av_log2_16bit(s);
+ return (n << HEIGHT_SORT_BITS)
+ + (- 1 - (s << HEIGHT_SORT_BITS >> n) & (1 << HEIGHT_SORT_BITS) - 1);
+}
+
+/* Pack the given rectangles into an area of size w * h.
+ * The size of each rectangle is read from in[i].x / in[i].y.
+ * The height of each rectangle must be less than 65536.
+ * 'scratch' must point to work memory for num_rects+16 ints.
+ * The packed position for rectangle number i is set in out[i].
+ * Return 0 on success, -1 if the rectangles did not fit in w*h.
+ *
+ * The rectangles are placed in rows in order approximately sorted by
+ * height (the approximate sorting is simpler than a full one would be,
+ * and allows the algorithm to work in linear time). Additionally, to
+ * reduce wasted space when there are a few tall rectangles, empty
+ * lower-right parts of rows are filled recursively when the size of
+ * rectangles in the row drops past a power-of-two threshold. So if a
+ * row starts with rectangles of size 3x50, 10x40 and 5x20 then the
+ * free rectangle with corners (13, 20)-(w, 50) is filled recursively.
+ */
+static int pack_rectangles(struct pos *in, struct pos *out, int num_rects,
+ int w, int h, int *scratch, int *used_width)
+{
+ int bins[16 << HEIGHT_SORT_BITS];
+ int sizes[16 << HEIGHT_SORT_BITS] = { 0 };
+ for (int i = 0; i < num_rects; i++)
+ sizes[size_index(in[i].y)]++;
+ int idx = 0;
+ for (int i = 0; i < 16 << HEIGHT_SORT_BITS; i += 1 << HEIGHT_SORT_BITS) {
+ for (int j = 0; j < 1 << HEIGHT_SORT_BITS; j++) {
+ bins[i + j] = idx;
+ idx += sizes[i + j];
+ }
+ scratch[idx++] = -1;
+ }
+ for (int i = 0; i < num_rects; i++)
+ scratch[bins[size_index(in[i].y)]++] = i;
+ for (int i = 0; i < 16; i++)
+ bins[i] = bins[i << HEIGHT_SORT_BITS] - sizes[i << HEIGHT_SORT_BITS];
+ struct {
+ int size, x, bottom;
+ } stack[16] = {{15, 0, h}}, s = {};
+ int stackpos = 1;
+ int y;
+ while (stackpos) {
+ y = s.bottom;
+ s = stack[--stackpos];
+ s.size++;
+ while (s.size--) {
+ int maxy = -1;
+ int obj;
+ while ((obj = scratch[bins[s.size]]) >= 0) {
+ int bottom = y + in[obj].y;
+ if (bottom > s.bottom)
+ break;
+ int right = s.x + in[obj].x;
+ if (right > w)
+ break;
+ bins[s.size]++;
+ out[obj] = (struct pos){s.x, y};
+ num_rects--;
+ if (maxy < 0)
+ stack[stackpos++] = s;
+ s.x = right;
+ maxy = FFMAX(maxy, bottom);
+ }
+ *used_width = FFMAX(*used_width, s.x);
+ if (maxy > 0)
+ s.bottom = maxy;
+ }
+ }
+ return num_rects ? -1 : y;
+}
+
+int packer_pack(struct bitmap_packer *packer)
+{
+ if (packer->count == 0)
+ return 0;
+ int w_orig = packer->w, h_orig = packer->h;
+ struct pos *in = packer->in;
+ int xmax = 0, ymax = 0;
+ for (int i = 0; i < packer->count; i++) {
+ if (in[i].x <= packer->padding || in[i].y <= packer->padding)
+ in[i] = (struct pos){0, 0};
+ if (in[i].x < 0 || in [i].x > 65535 || in[i].y < 0 || in[i].y > 65535) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "Invalid OSD / subtitle bitmap size\n");
+ abort();
+ }
+ xmax = FFMAX(xmax, in[i].x);
+ ymax = FFMAX(ymax, in[i].y);
+ }
+ xmax = FFMAX(0, xmax - packer->padding);
+ ymax = FFMAX(0, ymax - packer->padding);
+ if (xmax > packer->w)
+ packer->w = 1 << av_log2(xmax - 1) + 1;
+ if (ymax > packer->h)
+ packer->h = 1 << av_log2(ymax - 1) + 1;
+ while (1) {
+ int used_width = 0;
+ int y = pack_rectangles(in, packer->result, packer->count,
+ packer->w + packer->padding,
+ packer->h + packer->padding,
+ packer->scratch, &used_width);
+ if (y >= 0) {
+ // No padding at edges
+ packer->used_width = FFMIN(used_width, packer->w);
+ packer->used_height = FFMIN(y, packer->h);
+ return packer->w != w_orig || packer->h != h_orig;
+ }
+ if (packer->w <= packer->h && packer->w != packer->w_max)
+ packer->w = FFMIN(packer->w * 2, packer->w_max);
+ else if (packer->h != packer->h_max)
+ packer->h = FFMIN(packer->h * 2, packer->h_max);
+ else {
+ packer->w = w_orig;
+ packer->h = h_orig;
+ return -1;
+ }
+ }
+}
+
+void packer_set_size(struct bitmap_packer *packer, int size)
+{
+ packer->count = size;
+ if (size <= packer->asize)
+ return;
+ packer->asize = FFMAX(packer->asize * 2, size);
+ talloc_free(packer->result);
+ talloc_free(packer->scratch);
+ packer->in = talloc_realloc(packer, packer->in, struct pos, packer->asize);
+ packer->result = talloc_array_ptrtype(packer, packer->result,
+ packer->asize);
+ packer->scratch = talloc_array_ptrtype(packer, packer->scratch,
+ packer->asize + 16);
+}
+
+static int packer_pack_from_assimg(struct bitmap_packer *packer,
+ struct ass_image *imglist)
+{
+ int count = 0;
+ struct ass_image *img = imglist;
+ while (img) {
+ if (count >= packer->asize)
+ packer_set_size(packer, FFMAX(packer->asize * 2, 32));
+ packer->in[count].x = img->w;
+ packer->in[count].y = img->h;
+ img = img->next;
+ count++;
+ }
+ packer->count = count;
+ return packer_pack(packer);
+}
+
+int packer_pack_from_subbitmaps(struct bitmap_packer *packer,
+ struct sub_bitmaps *b, int padding_pixels)
+{
+ packer->padding = 0;
+ packer->count = 0;
+ if (b->type == SUBBITMAP_EMPTY)
+ return 0;
+ if (b->type == SUBBITMAP_LIBASS)
+ return packer_pack_from_assimg(packer, b->imgs);
+ packer->padding = padding_pixels;
+ packer_set_size(packer, b->part_count);
+ int a = packer->padding;
+ for (int i = 0; i < b->part_count; i++)
+ packer->in[i] = (struct pos){b->parts[i].w + a, b->parts[i].h + a};
+ return packer_pack(packer);
+}
diff --git a/libvo/bitmap_packer.h b/libvo/bitmap_packer.h
new file mode 100644
index 0000000..c7c377c
--- /dev/null
+++ b/libvo/bitmap_packer.h
@@ -0,0 +1,51 @@
+#ifndef MPLAYER_PACK_RECTANGLES_H
+#define MPLAYER_PACK_RECTANGLES_H
+
+struct pos {
+ int x;
+ int y;
+};
+
+struct bitmap_packer {
+ int w;
+ int h;
+ int w_max;
+ int h_max;
+ int padding;
+ int count;
+ struct pos *in;
+ struct pos *result;
+ int used_width;
+ int used_height;
+
+ // internal
+ int *scratch;
+ int asize;
+};
+
+struct ass_image;
+struct sub_bitmaps;
+
+/* Reallocate packer->in for at least to desired number of items.
+ * Also sets packer->count to the same value.
+ */
+void packer_set_size(struct bitmap_packer *packer, int size);
+
+/* To use this, set packer->count to number of rectangles, w_max and h_max
+ * to maximum output rectangle size, and w and h to start size (may be 0).
+ * Write input sizes in packer->in.
+ * Resulting packing will be written in packer->result.
+ * w and h will be increased if necessary for successful packing.
+ * Return value is -1 if packing failed because w and h were set to max
+ * values but that wasn't enough, 1 if w or h was increased, and 0 otherwise.
+ */
+int packer_pack(struct bitmap_packer *packer);
+
+/* Like above, but packer->count will be automatically set and
+ * packer->in will be reallocated if needed and filled from the
+ * given image list.
+ */
+int packer_pack_from_subbitmaps(struct bitmap_packer *packer,
+ struct sub_bitmaps *b, int padding_pixels);
+
+#endif
diff --git a/libvo/cocoa_common.h b/libvo/cocoa_common.h
index e8cd7d9..943a5fb 100644
--- a/libvo/cocoa_common.h
+++ b/libvo/cocoa_common.h
@@ -32,7 +32,8 @@ void vo_cocoa_update_xinerama_info(struct vo *vo);
int vo_cocoa_change_attributes(struct vo *vo);
int vo_cocoa_create_window(struct vo *vo, uint32_t d_width,
- uint32_t d_height, uint32_t flags);
+ uint32_t d_height, uint32_t flags,
+ int gl3profile);
void vo_cocoa_swap_buffers(void);
int vo_cocoa_check_events(struct vo *vo);
@@ -45,4 +46,6 @@ int vo_cocoa_swap_interval(int enabled);
void *vo_cocoa_cgl_context(void);
void *vo_cocoa_cgl_pixel_format(void);
+int vo_cocoa_cgl_color_size(void);
+
#endif /* MPLAYER_COCOA_COMMON_H */
diff --git a/libvo/cocoa_common.m b/libvo/cocoa_common.m
index c3578d2..c6ed567 100644
--- a/libvo/cocoa_common.m
+++ b/libvo/cocoa_common.m
@@ -20,11 +20,13 @@
#import <Cocoa/Cocoa.h>
#import <OpenGL/OpenGL.h>
#import <QuartzCore/QuartzCore.h>
-#import <CoreServices/CoreServices.h> // for CGDisplayHideCursor
+#import <CoreServices/CoreServices.h> // for CGDisplayHideCursor and Gestalt
#include <dlfcn.h>
#include "cocoa_common.h"
+#include "config.h"
+
#include "options.h"
#include "video_out.h"
#include "aspect.h"
@@ -37,9 +39,29 @@
#include "osx_common.h"
#include "mp_msg.h"
+#ifndef NSOpenGLPFAOpenGLProfile
+#define NSOpenGLPFAOpenGLProfile 99
+#endif
+
+#ifndef NSOpenGLProfileVersionLegacy
+#define NSOpenGLProfileVersionLegacy 0x1000
+#endif
+
+#ifndef NSOpenGLProfileVersion3_2Core
+#define NSOpenGLProfileVersion3_2Core 0x3200
+#endif
+
#define NSLeftAlternateKeyMask (0x000020 | NSAlternateKeyMask)
#define NSRightAlternateKeyMask (0x000040 | NSAlternateKeyMask)
+// add methods not available on OSX versions prior to 10.7
+#ifndef MAC_OS_X_VERSION_10_7
+ at interface NSView (IntroducedInLion)
+- (NSRect)convertRectToBacking:(NSRect)aRect;
+- (void)setWantsBestResolutionOpenGLSurface:(BOOL)aBool;
+ at end
+#endif
+
@interface GLMPlayerWindow : NSWindow <NSWindowDelegate>
- (BOOL) canBecomeKeyWindow;
- (BOOL) canBecomeMainWindow;
@@ -114,6 +136,13 @@ struct vo_cocoa_state *vo_cocoa_init_state(void)
return s;
}
+static bool supports_hidpi(NSView *view)
+{
+ SEL hdpi_selector = @selector(setWantsBestResolutionOpenGLSurface:);
+ return is_osx_version_at_least(10, 7, 0) && view &&
+ [view respondsToSelector:hdpi_selector];
+}
+
bool vo_cocoa_gui_running(void)
{
return !!s;
@@ -160,6 +189,13 @@ void vo_cocoa_uninit(struct vo *vo)
s = nil;
}
+static int current_screen_has_dock_or_menubar(void)
+{
+ NSRect f = s->screen_frame;
+ NSRect vf = [s->screen_handle visibleFrame];
+ return f.size.height > vf.size.height || f.size.width > vf.size.width;
+}
+
void update_screen_info(void)
{
s->screen_array = [NSScreen screens];
@@ -191,8 +227,17 @@ int vo_cocoa_change_attributes(struct vo *vo)
void resize_window(struct vo *vo)
{
- vo->dwidth = [[s->window contentView] frame].size.width;
- vo->dheight = [[s->window contentView] frame].size.height;
+ NSView *view = [s->window contentView];
+ NSRect frame;
+
+ if (supports_hidpi(view)) {
+ frame = [view convertRectToBacking: [view frame]];
+ } else {
+ frame = [view frame];
+ }
+
+ vo->dwidth = frame.size.width;
+ vo->dheight = frame.size.height;
[s->glContext update];
}
@@ -216,7 +261,8 @@ void vo_cocoa_ontop(struct vo *vo)
}
int vo_cocoa_create_window(struct vo *vo, uint32_t d_width,
- uint32_t d_height, uint32_t flags)
+ uint32_t d_height, uint32_t flags,
+ int gl3profile)
{
struct MPOpts *opts = vo->opts;
if (s->current_video_size.width > 0 || s->current_video_size.height > 0)
@@ -230,13 +276,31 @@ int vo_cocoa_create_window(struct vo *vo, uint32_t d_width,
GLMPlayerOpenGLView *glView = [[GLMPlayerOpenGLView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)];
- NSOpenGLPixelFormatAttribute attrs[] = {
- NSOpenGLPFADoubleBuffer, // double buffered
- NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute)16, // 16 bit depth buffer
- (NSOpenGLPixelFormatAttribute)0
- };
-
- s->pixelFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attrs] autorelease];
+ // check for HiDPI support and enable it (available on 10.7 +)
+ if (supports_hidpi(glView))
+ [glView setWantsBestResolutionOpenGLSurface:YES];
+
+ int i = 0;
+ NSOpenGLPixelFormatAttribute attr[32];
+ if (is_osx_version_at_least(10, 7, 0)) {
+ attr[i++] = NSOpenGLPFAOpenGLProfile;
+ attr[i++] = (gl3profile ? NSOpenGLProfileVersion3_2Core : NSOpenGLProfileVersionLegacy);
+ } else if(gl3profile) {
+ mp_msg(MSGT_VO, MSGL_ERR,
+ "[cocoa] Invalid pixel format attribute "
+ "(GL3 is not supported on OSX versions prior to 10.7)\n");
+ return -1;
+ }
+ attr[i++] = NSOpenGLPFADoubleBuffer; // double buffered
+ attr[i] = (NSOpenGLPixelFormatAttribute)0;
+
+ s->pixelFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attr] autorelease];
+ if (!s->pixelFormat) {
+ mp_msg(MSGT_VO, MSGL_ERR,
+ "[cocoa] Invalid pixel format attribute "
+ "(GL3 not supported?)\n");
+ return -1;
+ }
s->glContext = [[NSOpenGLContext alloc] initWithFormat:s->pixelFormat shareContext:nil];
create_menu();
@@ -337,7 +401,6 @@ int vo_cocoa_check_events(struct vo *vo)
return 0;
l_vo = vo;
[NSApp sendEvent:event];
- l_vo = nil;
if (s->did_resize) {
s->did_resize = NO;
@@ -376,30 +439,72 @@ void *vo_cocoa_cgl_context(void)
void *vo_cocoa_cgl_pixel_format(void)
{
- return [s->pixelFormat CGLPixelFormatObj];
+ return CGLGetPixelFormat(vo_cocoa_cgl_context());
+}
+
+int vo_cocoa_cgl_color_size(void)
+{
+ GLint value;
+ CGLDescribePixelFormat(vo_cocoa_cgl_pixel_format(), 0,
+ kCGLPFAColorSize, &value);
+ switch (value) {
+ case 32:
+ case 24:
+ return 8;
+ case 16:
+ return 5;
+ }
+
+ return 8;
+}
+
+static NSMenuItem *new_menu_item(NSMenu *parent_menu, NSString *title,
+ SEL action, NSString *key_equivalent)
+{
+ NSMenuItem *new_item = [[NSMenuItem alloc]
+ initWithTitle:title
+ action:action
+ keyEquivalent:key_equivalent];
+ [parent_menu addItem:new_item];
+ return [new_item autorelease];
+}
+
+static NSMenuItem *new_main_menu_item(NSMenu *parent_menu, NSMenu *child_menu,
+ NSString *title)
+{
+ NSMenuItem *new_item = [[NSMenuItem alloc]
+ initWithTitle:title
+ action:nil
+ keyEquivalent:@""];
+ [new_item setSubmenu:child_menu];
+ [parent_menu addItem:new_item];
+ return [new_item autorelease];
}
void create_menu()
{
- NSMenu *menu;
- NSMenuItem *menuItem;
+ NSAutoreleasePool *pool = [NSAutoreleasePool new];
+ NSMenu *main_menu, *m_menu, *w_menu;
+ NSMenuItem *app_menu_item;
+
+ main_menu = [[NSMenu new] autorelease];
+ app_menu_item = [[NSMenuItem new] autorelease];
+ [main_menu addItem:app_menu_item];
+ [NSApp setMainMenu: main_menu];
- menu = [[NSMenu new] autorelease];
- menuItem = [[NSMenuItem new] autorelease];
- [menu addItem: menuItem];
- [NSApp setMainMenu: menu];
+ m_menu = [[[NSMenu alloc] initWithTitle:@"Movie"] autorelease];
+ new_menu_item(m_menu, @"Half Size", @selector(halfSize), @"0");
+ new_menu_item(m_menu, @"Normal Size", @selector(normalSize), @"1");
+ new_menu_item(m_menu, @"Double Size", @selector(doubleSize), @"2");
- menu = [[NSMenu alloc] initWithTitle:@"Movie"];
- menuItem = [[NSMenuItem alloc] initWithTitle:@"Half Size" action:@selector(halfSize) keyEquivalent:@"0"]; [menu addItem:menuItem];
- menuItem = [[NSMenuItem alloc] initWithTitle:@"Normal Size" action:@selector(normalSize) keyEquivalent:@"1"]; [menu addItem:menuItem];
- menuItem = [[NSMenuItem alloc] initWithTitle:@"Double Size" action:@selector(doubleSize) keyEquivalent:@"2"]; [menu addItem:menuItem];
+ new_main_menu_item(main_menu, m_menu, @"Movie");
- menuItem = [[NSMenuItem alloc] initWithTitle:@"Movie" action:nil keyEquivalent:@""];
- [menuItem setSubmenu:menu];
- [[NSApp mainMenu] addItem:menuItem];
+ w_menu = [[[NSMenu alloc] initWithTitle:@"Window"] autorelease];
+ new_menu_item(w_menu, @"Minimize", @selector(performMiniaturize:), @"m");
+ new_menu_item(w_menu, @"Zoom", @selector(performZoom:), @"z");
- [menu release];
- [menuItem release];
+ new_main_menu_item(main_menu, w_menu, @"Window");
+ [pool release];
}
@implementation GLMPlayerWindow
@@ -414,7 +519,8 @@ void create_menu()
{
if (!vo_fs) {
update_screen_info();
- [NSApp setPresentationOptions:NSApplicationPresentationHideDock|NSApplicationPresentationHideMenuBar];
+ if (current_screen_has_dock_or_menubar())
+ [NSApp setPresentationOptions:NSApplicationPresentationHideDock|NSApplicationPresentationHideMenuBar];
s->windowed_frame = [self frame];
[self setHasShadow:NO];
[self setStyleMask:s->fullscreen_mask];
@@ -570,8 +676,9 @@ void create_menu()
if (vo_fs) {
[s->window makeKeyAndOrderFront:s->window];
[s->window setLevel:s->fullscreen_window_level];
- [NSApp setPresentationOptions:NSApplicationPresentationHideDock|
- NSApplicationPresentationHideMenuBar];
+ if (current_screen_has_dock_or_menubar())
+ [NSApp setPresentationOptions:NSApplicationPresentationHideDock|
+ NSApplicationPresentationHideMenuBar];
}
}
diff --git a/libvo/filter_kernels.c b/libvo/filter_kernels.c
new file mode 100644
index 0000000..2c2f56e
--- /dev/null
+++ b/libvo/filter_kernels.c
@@ -0,0 +1,279 @@
+/*
+ * This file is part of mplayer2.
+ *
+ * Most code for computing the weights is taken from Anti-Grain Geometry (AGG)
+ * (licensed under GPL 2 or later), with modifications.
+ * Copyright (C) 2002-2006 Maxim Shemanarev
+ * http://vector-agg.cvs.sourceforge.net/viewvc/vector-agg/agg-2.5/include/agg_image_filters.h?view=markup
+ *
+ * Also see glumpy (BSD licensed), contains the same code in Python:
+ * http://code.google.com/p/glumpy/source/browse/glumpy/image/filter.py
+ *
+ * Also see: Paul Heckbert's "zoom"
+ *
+ * Also see XBMC: ConvolutionKernels.cpp etc.
+ *
+ * mplayer2 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mplayer2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mplayer2; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <stddef.h>
+#include <string.h>
+#include <math.h>
+#include <assert.h>
+
+#include "filter_kernels.h"
+
+// NOTE: all filters are separable, symmetric, and are intended for use with
+// a lookup table/texture.
+
+const struct filter_kernel *mp_find_filter_kernel(const char *name)
+{
+ for (const struct filter_kernel *k = mp_filter_kernels; k->name; k++) {
+ if (strcmp(k->name, name) == 0)
+ return k;
+ }
+ return NULL;
+}
+
+// sizes = sorted list of available filter sizes, terminated with size 0
+// inv_scale = source_size / dest_size
+bool mp_init_filter(struct filter_kernel *filter, const int *sizes,
+ double inv_scale)
+{
+ // only downscaling requires widening the filter
+ filter->inv_scale = inv_scale >= 1.0 ? inv_scale : 1.0;
+ double support = filter->radius * filter->inv_scale;
+ int size = ceil(2.0 * support);
+ // round up to smallest available size that's still large enough
+ if (size < sizes[0])
+ size = sizes[0];
+ const int *cursize = sizes;
+ while (size > *cursize && *cursize)
+ cursize++;
+ if (*cursize) {
+ filter->size = *cursize;
+ return true;
+ } else {
+ // The filter doesn't fit - instead of failing completely, use the
+ // largest filter available. This is incorrect, but better than refusing
+ // to do anything.
+ filter->size = cursize[-1];
+ filter->inv_scale = filter->size / 2.0 / filter->radius;
+ return false;
+ }
+}
+
+// Calculate the 1D filtering kernel for N sample points.
+// N = number of samples, which is filter->size
+// The weights will be stored in out_w[0] to out_w[N - 1]
+// f = x0 - abs(x0), subpixel position in the range [0,1) or [0,1].
+void mp_compute_weights(struct filter_kernel *filter, double f, float *out_w)
+{
+ assert(filter->size > 0);
+ double sum = 0;
+ for (int n = 0; n < filter->size; n++) {
+ double x = f - (n - filter->size / 2 + 1);
+ double w = filter->weight(filter, fabs(x) / filter->inv_scale);
+ out_w[n] = w;
+ sum += w;
+ }
+ //normalize
+ for (int n = 0; n < filter->size; n++)
+ out_w[n] /= sum;
+}
+
+// Fill the given array with weights for the range [0.0, 1.0]. The array is
+// interpreted as rectangular array of count * filter->size items.
+void mp_compute_lut(struct filter_kernel *filter, int count, float *out_array)
+{
+ for (int n = 0; n < count; n++) {
+ mp_compute_weights(filter, n / (double)(count - 1),
+ out_array + filter->size * n);
+ }
+}
+
+typedef struct filter_kernel kernel;
+
+static double bilinear(kernel *k, double x)
+{
+ return 1.0 - x;
+}
+
+static double hanning(kernel *k, double x)
+{
+ return 0.5 + 0.5 * cos(M_PI * x);
+}
+
+static double hamming(kernel *k, double x)
+{
+ return 0.54 + 0.46 * cos(M_PI * x);
+}
+
+static double hermite(kernel *k, double x)
+{
+ return (2.0 * x - 3.0) * x * x + 1.0;
+}
+
+static double quadric(kernel *k, double x)
+{
+ // NOTE: glumpy uses 0.75, AGG uses 0.5
+ if (x < 0.5)
+ return 0.75 - x * x;
+ if (x < 1.5)
+ return 0.5 * (x - 1.5) * (x - 1.5);
+ return 0;
+}
+
+static double bc_pow3(double x)
+{
+ return (x <= 0) ? 0 : x * x * x;
+}
+
+static double bicubic(kernel *k, double x)
+{
+ return (1.0/6.0) * ( bc_pow3(x + 2)
+ - 4 * bc_pow3(x + 1)
+ + 6 * bc_pow3(x)
+ - 4 * bc_pow3(x - 1));
+}
+
+static double bessel_i0(double epsilon, double x)
+{
+ double sum = 1;
+ double y = x * x / 4;
+ double t = y;
+ for (int i = 2; t > epsilon; i++) {
+ sum += t;
+ t *= y / (i * i);
+ }
+ return sum;
+}
+
+static double kaiser(kernel *k, double x)
+{
+ double a = k->params[0];
+ double b = k->params[1];
+ double epsilon = 1e-12;
+ double i0a = 1 / bessel_i0(epsilon, b);
+ return bessel_i0(epsilon, a * sqrt(1 - x * x)) * i0a;
+}
+
+static double catmull_rom(kernel *k, double x)
+{
+ if (x < 1.0)
+ return 0.5 * (2.0 + x * x * (-5.0 + x * 3.0));
+ if (x < 2.0)
+ return 0.5 * (4.0 + x * (-8.0 + x * (5.0 - x)));
+ return 0;
+}
+
+// Mitchell-Netravali
+static double mitchell(kernel *k, double x)
+{
+ double b = k->params[0];
+ double c = k->params[1];
+ double
+ p0 = (6.0 - 2.0 * b) / 6.0,
+ p2 = (-18.0 + 12.0 * b + 6.0 * c) / 6.0,
+ p3 = (12.0 - 9.0 * b - 6.0 * c) / 6.0,
+ q0 = (8.0 * b + 24.0 * c) / 6.0,
+ q1 = (-12.0 * b - 48.0 * c) / 6.0,
+ q2 = (6.0 * b + 30.0 * c) / 6.0,
+ q3 = (-b - 6.0 * c) / 6.0;
+ if (x < 1.0)
+ return p0 + x * x * (p2 + x * p3);
+ if (x < 2.0)
+ return q0 + x * (q1 + x * (q2 + x * q3));
+ return 0;
+}
+
+static double spline16(kernel *k, double x)
+{
+ if (x < 1.0)
+ return ((x - 9.0/5.0 ) * x - 1.0/5.0 ) * x + 1.0;
+ return ((-1.0/3.0 * (x-1) + 4.0/5.0) * (x-1) - 7.0/15.0 ) * (x-1);
+}
+
+static double spline36(kernel *k, double x)
+{
+ if(x < 1.0)
+ return ((13.0/11.0 * x - 453.0/209.0) * x - 3.0/209.0) * x + 1.0;
+ if(x < 2.0)
+ return ((-6.0/11.0 * (x - 1) + 270.0/209.0) * (x - 1) - 156.0/209.0)
+ * (x - 1);
+ return ((1.0/11.0 * (x - 2) - 45.0/209.0) * (x - 2) + 26.0/209.0)
+ * (x - 2);
+}
+
+static double gaussian(kernel *k, double x)
+{
+ return exp(-2.0 * x * x) * sqrt(2.0 / M_PI);
+}
+
+static double sinc(kernel *k, double x)
+{
+ if (x == 0.0)
+ return 1.0;
+ double pix = M_PI * x;
+ return sin(pix) / pix;
+}
+
+static double lanczos(kernel *k, double x)
+{
+ double radius = k->size / 2;
+ if (x < -radius || x > radius)
+ return 0;
+ if (x == 0)
+ return 1;
+ double pix = M_PI * x;
+ return radius * sin(pix) * sin(pix / radius) / (pix * pix);
+}
+
+static double blackman(kernel *k, double x)
+{
+ double radius = k->size / 2;
+ if (x == 0.0)
+ return 1.0;
+ if (x > radius)
+ return 0.0;
+ x *= M_PI;
+ double xr = x / radius;
+ return (sin(x) / x) * (0.42 + 0.5 * cos(xr) + 0.08 * cos(2 * xr));
+}
+
+const struct filter_kernel mp_filter_kernels[] = {
+ {"bilinear_slow", 1, bilinear},
+ {"hanning", 1, hanning},
+ {"hamming", 1, hamming},
+ {"hermite", 1, hermite},
+ {"quadric", 1.5, quadric},
+ {"bicubic", 2, bicubic},
+ {"kaiser", 1, kaiser, .params = {6.33, 6.33} },
+ {"catmull_rom", 2, catmull_rom},
+ {"mitchell", 2, mitchell, .params = {1.0/3.0, 1.0/3.0} },
+ {"spline16", 2, spline16},
+ {"spline36", 3, spline36},
+ {"gaussian", 2, gaussian},
+ {"sinc2", 2, sinc},
+ {"sinc3", 3, sinc},
+ {"sinc4", 4, sinc},
+ {"lanczos2", 2, lanczos},
+ {"lanczos3", 3, lanczos},
+ {"lanczos4", 4, lanczos},
+ {"blackman2", 2, blackman},
+ {"blackman3", 3, blackman},
+ {"blackman4", 4, blackman},
+ {0}
+};
diff --git a/libvo/filter_kernels.h b/libvo/filter_kernels.h
new file mode 100644
index 0000000..46a392c
--- /dev/null
+++ b/libvo/filter_kernels.h
@@ -0,0 +1,45 @@
+/*
+ * This file is part of mplayer2.
+ *
+ * mplayer2 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mplayer2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mplayer2; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef MPLAYER_FILTER_KERNELS_H
+#define MPLAYER_FILTER_KERNELS_H
+
+#include <stdbool.h>
+
+struct filter_kernel {
+ const char *name;
+ double radius;
+ double (*weight)(struct filter_kernel *kernel, double x);
+
+ // The filter params can be changed at runtime. Only used by some filters.
+ float params[2];
+ // The following values are set by mp_init_filter() at runtime.
+ // Number of coefficients; equals the rounded up radius multiplied with 2.
+ int size;
+ double inv_scale;
+};
+
+extern const struct filter_kernel mp_filter_kernels[];
+
+const struct filter_kernel *mp_find_filter_kernel(const char *name);
+bool mp_init_filter(struct filter_kernel *filter, const int *sizes,
+ double scale);
+void mp_compute_weights(struct filter_kernel *filter, double f, float *out_w);
+void mp_compute_lut(struct filter_kernel *filter, int count, float *out_array);
+
+#endif /* MPLAYER_FILTER_KERNELS_H */
diff --git a/libvo/gl_common.c b/libvo/gl_common.c
index 3b72349..152b377 100644
--- a/libvo/gl_common.c
+++ b/libvo/gl_common.c
@@ -37,6 +37,7 @@
#include <stdio.h>
#include <string.h>
#include <ctype.h>
+#include <stdbool.h>
#include <math.h>
#include "talloc.h"
#include "gl_common.h"
@@ -48,6 +49,31 @@
//! \defgroup glgeneral OpenGL general helper functions
+// GLU has this as gluErrorString (we don't use GLU, as it is legacy-OpenGL)
+static const char *gl_error_to_string(GLenum error)
+{
+ switch (error) {
+ case GL_INVALID_ENUM: return "INVALID_ENUM";
+ case GL_INVALID_VALUE: return "INVALID_VALUE";
+ case GL_INVALID_OPERATION: return "INVALID_OPERATION";
+ case GL_INVALID_FRAMEBUFFER_OPERATION:
+ return "INVALID_FRAMEBUFFER_OPERATION";
+ case GL_OUT_OF_MEMORY: return "OUT_OF_MEMORY";
+ default: return "unknown";
+ }
+}
+
+void glCheckError(GL *gl, const char *info)
+{
+ for (;;) {
+ GLenum error = gl->GetError();
+ if (error == GL_NO_ERROR)
+ break;
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] %s: OpenGL error %s.\n", info,
+ gl_error_to_string(error));
+ }
+}
+
//! \defgroup glcontext OpenGL context management helper functions
//! \defgroup gltexture OpenGL texture handling helper functions
@@ -74,62 +100,6 @@ void glAdjustAlignment(GL *gl, int stride)
gl->PixelStorei(GL_PACK_ALIGNMENT, gl_alignment);
}
-struct gl_name_map_struct {
- GLint value;
- const char *name;
-};
-
-#undef MAP
-#define MAP(a) {a, # a}
-//! mapping table for the glValName function
-static const struct gl_name_map_struct gl_name_map[] = {
- // internal format
- MAP(GL_R3_G3_B2), MAP(GL_RGB4), MAP(GL_RGB5), MAP(GL_RGB8),
- MAP(GL_RGB10), MAP(GL_RGB12), MAP(GL_RGB16), MAP(GL_RGBA2),
- MAP(GL_RGBA4), MAP(GL_RGB5_A1), MAP(GL_RGBA8), MAP(GL_RGB10_A2),
- MAP(GL_RGBA12), MAP(GL_RGBA16), MAP(GL_LUMINANCE8), MAP(GL_LUMINANCE16),
- MAP(GL_R16),
-
- // format
- MAP(GL_RGB), MAP(GL_RGBA), MAP(GL_RED), MAP(GL_GREEN), MAP(GL_BLUE),
- MAP(GL_ALPHA), MAP(GL_LUMINANCE), MAP(GL_LUMINANCE_ALPHA),
- MAP(GL_COLOR_INDEX),
- // rest 1.2 only
- MAP(GL_BGR), MAP(GL_BGRA),
-
- //type
- MAP(GL_BYTE), MAP(GL_UNSIGNED_BYTE), MAP(GL_SHORT), MAP(GL_UNSIGNED_SHORT),
- MAP(GL_INT), MAP(GL_UNSIGNED_INT), MAP(GL_FLOAT), MAP(GL_DOUBLE),
- MAP(GL_2_BYTES), MAP(GL_3_BYTES), MAP(GL_4_BYTES),
- // rest 1.2 only
- MAP(GL_UNSIGNED_BYTE_3_3_2), MAP(GL_UNSIGNED_BYTE_2_3_3_REV),
- MAP(GL_UNSIGNED_SHORT_5_6_5), MAP(GL_UNSIGNED_SHORT_5_6_5_REV),
- MAP(GL_UNSIGNED_SHORT_4_4_4_4), MAP(GL_UNSIGNED_SHORT_4_4_4_4_REV),
- MAP(GL_UNSIGNED_SHORT_5_5_5_1), MAP(GL_UNSIGNED_SHORT_1_5_5_5_REV),
- MAP(GL_UNSIGNED_INT_8_8_8_8), MAP(GL_UNSIGNED_INT_8_8_8_8_REV),
- MAP(GL_UNSIGNED_INT_10_10_10_2), MAP(GL_UNSIGNED_INT_2_10_10_10_REV),
- {0, 0}
-};
-#undef MAP
-
-/**
- * \brief return the name of an OpenGL constant
- * \param value the constant
- * \return name of the constant or "Unknown format!"
- * \ingroup glgeneral
- */
-const char *glValName(GLint value)
-{
- int i = 0;
-
- while (gl_name_map[i].name) {
- if (gl_name_map[i].value == value)
- return gl_name_map[i].name;
- i++;
- }
- return "Unknown format!";
-}
-
//! always return this format as internal texture format in glFindFormat
#define TEXTUREFORMAT_ALWAYS GL_RGB8
#undef TEXTUREFORMAT_ALWAYS
@@ -218,8 +188,8 @@ int glFindFormat(uint32_t fmt, int have_texture_rg, int *bpp, GLint *gl_texfmt,
// we do not support palettized formats, although the format the
// swscale produces works
case IMGFMT_RGB8:
- gl_format = GL_RGB;
- gl_type = GL_UNSIGNED_BYTE_2_3_3_REV;
+ *gl_format = GL_RGB;
+ *gl_type = GL_UNSIGNED_BYTE_2_3_3_REV;
break;
#endif
case IMGFMT_RGB15:
@@ -232,12 +202,12 @@ int glFindFormat(uint32_t fmt, int have_texture_rg, int *bpp, GLint *gl_texfmt,
break;
#if 0
case IMGFMT_BGR8:
- // special case as red and blue have a differen number of bits.
+ // special case as red and blue have a different number of bits.
// GL_BGR and GL_UNSIGNED_BYTE_3_3_2 isn't supported at least
// by nVidia drivers, and in addition would give more bits to
// blue than to red, which isn't wanted
- gl_format = GL_RGB;
- gl_type = GL_UNSIGNED_BYTE_3_3_2;
+ *gl_format = GL_RGB;
+ *gl_type = GL_UNSIGNED_BYTE_3_3_2;
break;
#endif
case IMGFMT_BGR15:
@@ -295,45 +265,28 @@ typedef struct {
const char *extstr;
const char *funcnames[7];
void *fallback;
+ bool is_gl3;
} extfunc_desc_t;
#define DEF_FUNC_DESC(name) \
- {offsetof(GL, name), NULL, {"gl" # name, NULL}, gl ## name}
+ {offsetof(GL, name), NULL, {"gl" # name}, gl ## name}
#define DEF_EXT_FUNCS(...) __VA_ARGS__
#define DEF_EXT_DESC(name, ext, funcnames) \
{offsetof(GL, name), ext, {DEF_EXT_FUNCS funcnames}}
+// These are mostly handled the same, but needed because at least the MESA
+// headers don't define any function prototypes for these.
+#define DEF_GL3_DESC(name) \
+ {offsetof(GL, name), NULL, {"gl" # name}, NULL, .is_gl3 = true}
static const extfunc_desc_t extfuncs[] = {
// these aren't extension functions but we query them anyway to allow
// different "backends" with one binary
- DEF_FUNC_DESC(Begin),
- DEF_FUNC_DESC(End),
DEF_FUNC_DESC(Viewport),
- DEF_FUNC_DESC(MatrixMode),
- DEF_FUNC_DESC(LoadIdentity),
- DEF_FUNC_DESC(Translated),
- DEF_FUNC_DESC(Scaled),
- DEF_FUNC_DESC(Ortho),
- DEF_FUNC_DESC(Frustum),
- DEF_FUNC_DESC(PushMatrix),
- DEF_FUNC_DESC(PopMatrix),
DEF_FUNC_DESC(Clear),
- DEF_FUNC_DESC(GenLists),
- DEF_FUNC_DESC(DeleteLists),
- DEF_FUNC_DESC(NewList),
- DEF_FUNC_DESC(EndList),
- DEF_FUNC_DESC(CallList),
- DEF_FUNC_DESC(CallLists),
DEF_FUNC_DESC(GenTextures),
DEF_FUNC_DESC(DeleteTextures),
- DEF_FUNC_DESC(TexEnvf),
DEF_FUNC_DESC(TexEnvi),
- DEF_FUNC_DESC(Color4ub),
- DEF_FUNC_DESC(Color3f),
- DEF_FUNC_DESC(Color4f),
DEF_FUNC_DESC(ClearColor),
- DEF_FUNC_DESC(ClearDepth),
- DEF_FUNC_DESC(DepthFunc),
DEF_FUNC_DESC(Enable),
DEF_FUNC_DESC(Disable),
DEF_FUNC_DESC(DrawBuffer),
@@ -349,19 +302,43 @@ static const extfunc_desc_t extfuncs[] = {
DEF_FUNC_DESC(TexParameteri),
DEF_FUNC_DESC(TexParameterf),
DEF_FUNC_DESC(TexParameterfv),
- DEF_FUNC_DESC(TexCoord2f),
- DEF_FUNC_DESC(TexCoord2fv),
- DEF_FUNC_DESC(Vertex2f),
- DEF_FUNC_DESC(Vertex3f),
- DEF_FUNC_DESC(Normal3f),
- DEF_FUNC_DESC(Lightfv),
- DEF_FUNC_DESC(ColorMaterial),
- DEF_FUNC_DESC(ShadeModel),
DEF_FUNC_DESC(GetIntegerv),
+ DEF_FUNC_DESC(GetBooleanv),
DEF_FUNC_DESC(ColorMask),
DEF_FUNC_DESC(ReadPixels),
DEF_FUNC_DESC(ReadBuffer),
+ DEF_FUNC_DESC(DrawArrays),
+ DEF_FUNC_DESC(GetString),
+ DEF_FUNC_DESC(GetError),
+ // legacy GL functions (1.x - 2.x)
+ DEF_FUNC_DESC(Begin),
+ DEF_FUNC_DESC(End),
+ DEF_FUNC_DESC(MatrixMode),
+ DEF_FUNC_DESC(LoadIdentity),
+ DEF_FUNC_DESC(Translated),
+ DEF_FUNC_DESC(Scaled),
+ DEF_FUNC_DESC(Ortho),
+ DEF_FUNC_DESC(PushMatrix),
+ DEF_FUNC_DESC(PopMatrix),
+ DEF_FUNC_DESC(GenLists),
+ DEF_FUNC_DESC(DeleteLists),
+ DEF_FUNC_DESC(NewList),
+ DEF_FUNC_DESC(EndList),
+ DEF_FUNC_DESC(CallList),
+ DEF_FUNC_DESC(CallLists),
+ DEF_FUNC_DESC(Color4ub),
+ DEF_FUNC_DESC(Color4f),
+ DEF_FUNC_DESC(TexCoord2f),
+ DEF_FUNC_DESC(TexCoord2fv),
+ DEF_FUNC_DESC(Vertex2f),
+ DEF_FUNC_DESC(VertexPointer),
+ DEF_FUNC_DESC(ColorPointer),
+ DEF_FUNC_DESC(TexCoordPointer),
+ DEF_FUNC_DESC(EnableClientState),
+ DEF_FUNC_DESC(DisableClientState),
+
+ // OpenGL extension functions
DEF_EXT_DESC(GenBuffers, NULL,
("glGenBuffers", "glGenBuffersARB")),
DEF_EXT_DESC(DeleteBuffers, NULL,
@@ -374,18 +351,6 @@ static const extfunc_desc_t extfuncs[] = {
("glUnmapBuffer", "glUnmapBufferARB")),
DEF_EXT_DESC(BufferData, NULL,
("glBufferData", "glBufferDataARB")),
- DEF_EXT_DESC(BeginFragmentShader, "ATI_fragment_shader",
- ("glBeginFragmentShaderATI")),
- DEF_EXT_DESC(EndFragmentShader, "ATI_fragment_shader",
- ("glEndFragmentShaderATI")),
- DEF_EXT_DESC(SampleMap, "ATI_fragment_shader",
- ("glSampleMapATI")),
- DEF_EXT_DESC(ColorFragmentOp2, "ATI_fragment_shader",
- ("glColorFragmentOp2ATI")),
- DEF_EXT_DESC(ColorFragmentOp3, "ATI_fragment_shader",
- ("glColorFragmentOp3ATI")),
- DEF_EXT_DESC(SetFragmentShaderConstant, "ATI_fragment_shader",
- ("glSetFragmentShaderConstantATI")),
DEF_EXT_DESC(ActiveTexture, NULL,
("glActiveTexture", "glActiveTextureARB")),
DEF_EXT_DESC(BindTexture, NULL,
@@ -400,7 +365,7 @@ static const extfunc_desc_t extfuncs[] = {
("glBindProgramARB")),
DEF_EXT_DESC(ProgramString, "_program",
("glProgramStringARB")),
- DEF_EXT_DESC(GetProgramiv, "_program",
+ DEF_EXT_DESC(GetProgramivARB, "_program",
("glGetProgramivARB")),
DEF_EXT_DESC(ProgramEnvParameter4f, "_program",
("glProgramEnvParameter4fARB")),
@@ -409,6 +374,64 @@ static const extfunc_desc_t extfuncs[] = {
"wglSwapInterval", "wglSwapIntervalEXT")),
DEF_EXT_DESC(TexImage3D, NULL,
("glTexImage3D")),
+
+ // ancient ATI extensions
+ DEF_EXT_DESC(BeginFragmentShader, "ATI_fragment_shader",
+ ("glBeginFragmentShaderATI")),
+ DEF_EXT_DESC(EndFragmentShader, "ATI_fragment_shader",
+ ("glEndFragmentShaderATI")),
+ DEF_EXT_DESC(SampleMap, "ATI_fragment_shader",
+ ("glSampleMapATI")),
+ DEF_EXT_DESC(ColorFragmentOp2, "ATI_fragment_shader",
+ ("glColorFragmentOp2ATI")),
+ DEF_EXT_DESC(ColorFragmentOp3, "ATI_fragment_shader",
+ ("glColorFragmentOp3ATI")),
+ DEF_EXT_DESC(SetFragmentShaderConstant, "ATI_fragment_shader",
+ ("glSetFragmentShaderConstantATI")),
+
+ // GL 3, possibly in GL 2.x as well in form of extensions
+ DEF_GL3_DESC(GenBuffers),
+ DEF_GL3_DESC(DeleteBuffers),
+ DEF_GL3_DESC(BindBuffer),
+ DEF_GL3_DESC(MapBuffer),
+ DEF_GL3_DESC(UnmapBuffer),
+ DEF_GL3_DESC(BufferData),
+ DEF_GL3_DESC(ActiveTexture),
+ DEF_GL3_DESC(BindTexture),
+ DEF_GL3_DESC(GenVertexArrays),
+ DEF_GL3_DESC(BindVertexArray),
+ DEF_GL3_DESC(GetAttribLocation),
+ DEF_GL3_DESC(EnableVertexAttribArray),
+ DEF_GL3_DESC(DisableVertexAttribArray),
+ DEF_GL3_DESC(VertexAttribPointer),
+ DEF_GL3_DESC(DeleteVertexArrays),
+ DEF_GL3_DESC(UseProgram),
+ DEF_GL3_DESC(GetUniformLocation),
+ DEF_GL3_DESC(CompileShader),
+ DEF_GL3_DESC(CreateProgram),
+ DEF_GL3_DESC(CreateShader),
+ DEF_GL3_DESC(ShaderSource),
+ DEF_GL3_DESC(LinkProgram),
+ DEF_GL3_DESC(AttachShader),
+ DEF_GL3_DESC(DeleteShader),
+ DEF_GL3_DESC(DeleteProgram),
+ DEF_GL3_DESC(GetShaderInfoLog),
+ DEF_GL3_DESC(GetShaderiv),
+ DEF_GL3_DESC(GetProgramInfoLog),
+ DEF_GL3_DESC(GetProgramiv),
+ DEF_GL3_DESC(GetStringi),
+ DEF_GL3_DESC(BindAttribLocation),
+ DEF_GL3_DESC(BindFramebuffer),
+ DEF_GL3_DESC(GenFramebuffers),
+ DEF_GL3_DESC(DeleteFramebuffers),
+ DEF_GL3_DESC(CheckFramebufferStatus),
+ DEF_GL3_DESC(FramebufferTexture2D),
+ DEF_GL3_DESC(Uniform1f),
+ DEF_GL3_DESC(Uniform3f),
+ DEF_GL3_DESC(Uniform1i),
+ DEF_GL3_DESC(UniformMatrix3fv),
+ DEF_GL3_DESC(UniformMatrix4x3fv),
+
{-1}
};
@@ -418,43 +441,53 @@ static const extfunc_desc_t extfuncs[] = {
* \param ext2 an extra extension string
*/
static void getFunctions(GL *gl, void *(*getProcAddress)(const GLubyte *),
- const char *ext2)
+ const char *ext2, bool is_gl3)
{
const extfunc_desc_t *dsc;
- const char *extensions;
- char *allexts;
+ char *allexts = talloc_strdup(NULL, ext2 ? ext2 : "");
+
+ *gl = (GL) {0};
if (!getProcAddress)
getProcAddress = (void *)getdladdr;
- // special case, we need glGetString before starting to find the other functions
- gl->GetString = getProcAddress("glGetString");
- if (!gl->GetString)
- gl->GetString = glGetString;
-
- extensions = (const char *)gl->GetString(GL_EXTENSIONS);
- if (!extensions)
- extensions = "";
- if (!ext2)
- ext2 = "";
- allexts = malloc(strlen(extensions) + strlen(ext2) + 2);
- strcpy(allexts, extensions);
- strcat(allexts, " ");
- strcat(allexts, ext2);
+ if (is_gl3) {
+ gl->GetStringi = getProcAddress("glGetStringi");
+ gl->GetIntegerv = getProcAddress("glGetIntegerv");
+
+ if (!(gl->GetStringi && gl->GetIntegerv))
+ return;
+
+ GLint exts;
+ gl->GetIntegerv(GL_NUM_EXTENSIONS, &exts);
+ for (int n = 0; n < exts; n++) {
+ allexts = talloc_asprintf_append(allexts, " %s",
+ gl->GetStringi(GL_EXTENSIONS, n));
+ }
+ } else {
+ gl->GetString = getProcAddress("glGetString");
+ if (!gl->GetString)
+ gl->GetString = glGetString;
+ const char *ext = (char*)gl->GetString(GL_EXTENSIONS);
+ allexts = talloc_asprintf_append(allexts, " %s", ext);
+ }
+
mp_msg(MSGT_VO, MSGL_DBG2, "OpenGL extensions string:\n%s\n", allexts);
for (dsc = extfuncs; dsc->offset >= 0; dsc++) {
void *ptr = NULL;
- int i;
if (!dsc->extstr || strstr(allexts, dsc->extstr)) {
- for (i = 0; !ptr && dsc->funcnames[i]; i++)
+ for (int i = 0; !ptr && dsc->funcnames[i]; i++)
ptr = getProcAddress((const GLubyte *)dsc->funcnames[i]);
}
if (!ptr)
ptr = dsc->fallback;
+ if (!ptr && !dsc->extstr && (!dsc->is_gl3 || is_gl3))
+ mp_msg(MSGT_VO, MSGL_WARN, "[gl] OpenGL function not found: %s\n",
+ dsc->funcnames[0]);
void **funcptr = (void**)(((char*)gl) + dsc->offset);
*funcptr = ptr;
}
- free(allexts);
+ talloc_free(allexts);
}
/**
@@ -859,11 +892,41 @@ static void gen_spline_lookup_tex(GL *gl, GLenum unit)
free(tex);
}
+#define NOISE_RES 2048
+
+/**
+ * \brief creates the 1D lookup texture needed to generate pseudo-random numbers.
+ * \param unit texture unit to attach texture to
+ */
+static void gen_noise_lookup_tex(GL *gl, GLenum unit) {
+ GLfloat *tex = calloc(NOISE_RES, sizeof(*tex));
+ uint32_t lcg = 0x79381c11;
+ int i;
+ for (i = 0; i < NOISE_RES; i++)
+ tex[i] = (double)i / (NOISE_RES - 1);
+ for (i = 0; i < NOISE_RES - 1; i++) {
+ int remain = NOISE_RES - i;
+ int idx = i + (lcg >> 16) % remain;
+ GLfloat tmp = tex[i];
+ tex[i] = tex[idx];
+ tex[idx] = tmp;
+ lcg = lcg * 1664525 + 1013904223;
+ }
+ gl->ActiveTexture(unit);
+ gl->TexImage1D(GL_TEXTURE_1D, 0, 1, NOISE_RES, 0, GL_RED, GL_FLOAT, tex);
+ gl->TexParameterf(GL_TEXTURE_1D, GL_TEXTURE_PRIORITY, 1.0);
+ gl->TexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ gl->TexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ gl->TexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ gl->ActiveTexture(GL_TEXTURE0);
+ free(tex);
+}
+
#define SAMPLE(dest, coord, texture) \
"TEX textemp, " coord ", " texture ", $tex_type;\n" \
"MOV " dest ", textemp.r;\n"
-static const char *bilin_filt_template =
+static const char bilin_filt_template[] =
SAMPLE("yuv.$out_comp","fragment.texcoord[$in_tex]","texture[$in_tex]");
#define BICUB_FILT_MAIN \
@@ -880,7 +943,7 @@ static const char *bilin_filt_template =
/* x-interpolation */ \
"LRP yuv.$out_comp, parmx.b, a.bbbb, a.aaaa;\n"
-static const char *bicub_filt_template_2D =
+static const char bicub_filt_template_2D[] =
"MAD coord.xy, fragment.texcoord[$in_tex], {$texw, $texh}, {0.5, 0.5};\n"
"TEX parmx, coord.x, texture[$texs], 1D;\n"
"MUL cdelta.xz, parmx.rrgg, {-$ptw, 0, $ptw, 0};\n"
@@ -888,7 +951,7 @@ static const char *bicub_filt_template_2D =
"MUL cdelta.yw, parmy.rrgg, {0, -$pth, 0, $pth};\n"
BICUB_FILT_MAIN;
-static const char *bicub_filt_template_RECT =
+static const char bicub_filt_template_RECT[] =
"ADD coord, fragment.texcoord[$in_tex], {0.5, 0.5};\n"
"TEX parmx, coord.x, texture[$texs], 1D;\n"
"MUL cdelta.xz, parmx.rrgg, {-1, 0, 1, 0};\n"
@@ -906,7 +969,7 @@ static const char *bicub_filt_template_RECT =
"ADD "t ".x, "t ".xxxx, "s ";\n" \
"SUB "t ".y, "t ".yyyy, "s ";\n"
-static const char *bicub_notex_filt_template_2D =
+static const char bicub_notex_filt_template_2D[] =
"MAD coord.xy, fragment.texcoord[$in_tex], {$texw, $texh}, {0.5, 0.5};\n"
"FRC coord.xy, coord.xyxy;\n"
CALCWEIGHTS("parmx", "coord.xxxx")
@@ -915,7 +978,7 @@ static const char *bicub_notex_filt_template_2D =
"MUL cdelta.yw, parmy.rrgg, {0, -$pth, 0, $pth};\n"
BICUB_FILT_MAIN;
-static const char *bicub_notex_filt_template_RECT =
+static const char bicub_notex_filt_template_RECT[] =
"ADD coord, fragment.texcoord[$in_tex], {0.5, 0.5};\n"
"FRC coord.xy, coord.xyxy;\n"
CALCWEIGHTS("parmx", "coord.xxxx")
@@ -932,19 +995,19 @@ static const char *bicub_notex_filt_template_RECT =
/* x-interpolation */ \
"LRP yuv.$out_comp, parmx.b, a.rrrr, b.rrrr;\n"
-static const char *bicub_x_filt_template_2D =
+static const char bicub_x_filt_template_2D[] =
"MAD coord.x, fragment.texcoord[$in_tex], {$texw}, {0.5};\n"
"TEX parmx, coord, texture[$texs], 1D;\n"
"MUL cdelta.xyz, parmx.rrgg, {-$ptw, 0, $ptw};\n"
BICUB_X_FILT_MAIN;
-static const char *bicub_x_filt_template_RECT =
+static const char bicub_x_filt_template_RECT[] =
"ADD coord.x, fragment.texcoord[$in_tex], {0.5};\n"
"TEX parmx, coord, texture[$texs], 1D;\n"
"MUL cdelta.xyz, parmx.rrgg, {-1, 0, 1};\n"
BICUB_X_FILT_MAIN;
-static const char *unsharp_filt_template =
+static const char unsharp_filt_template[] =
"PARAM dcoord$out_comp = {$ptw_05, $pth_05, $ptw_05, -$pth_05};\n"
"ADD coord, fragment.texcoord[$in_tex].xyxy, dcoord$out_comp;\n"
"SUB coord2, fragment.texcoord[$in_tex].xyxy, dcoord$out_comp;\n"
@@ -959,7 +1022,7 @@ static const char *unsharp_filt_template =
"MAD textemp.r, b.r, {$strength}, a.r;\n"
"MOV yuv.$out_comp, textemp.r;\n";
-static const char *unsharp_filt_template2 =
+static const char unsharp_filt_template2[] =
"PARAM dcoord$out_comp = {$ptw_12, $pth_12, $ptw_12, -$pth_12};\n"
"PARAM dcoord2$out_comp = {$ptw_15, 0, 0, $pth_15};\n"
"ADD coord, fragment.texcoord[$in_tex].xyxy, dcoord$out_comp;\n"
@@ -984,7 +1047,7 @@ static const char *unsharp_filt_template2 =
"MAD textemp.r, b.r, {$strength}, a.r;\n"
"MOV yuv.$out_comp, textemp.r;\n";
-static const char *yuv_prog_template =
+static const char yuv_prog_template[] =
"PARAM ycoef = {$cm11, $cm21, $cm31};\n"
"PARAM ucoef = {$cm12, $cm22, $cm32};\n"
"PARAM vcoef = {$cm13, $cm23, $cm33};\n"
@@ -992,10 +1055,9 @@ static const char *yuv_prog_template =
"TEMP res;\n"
"MAD res.rgb, yuv.rrrr, ycoef, offsets;\n"
"MAD res.rgb, yuv.gggg, ucoef, res;\n"
- "MAD result.color.rgb, yuv.bbbb, vcoef, res;\n"
- "END";
+ "MAD res.rgb, yuv.bbbb, vcoef, res;\n";
-static const char *yuv_pow_prog_template =
+static const char yuv_pow_prog_template[] =
"PARAM ycoef = {$cm11, $cm21, $cm31};\n"
"PARAM ucoef = {$cm12, $cm22, $cm32};\n"
"PARAM vcoef = {$cm13, $cm23, $cm33};\n"
@@ -1005,12 +1067,11 @@ static const char *yuv_pow_prog_template =
"MAD res.rgb, yuv.rrrr, ycoef, offsets;\n"
"MAD res.rgb, yuv.gggg, ucoef, res;\n"
"MAD_SAT res.rgb, yuv.bbbb, vcoef, res;\n"
- "POW result.color.r, res.r, gamma.r;\n"
- "POW result.color.g, res.g, gamma.g;\n"
- "POW result.color.b, res.b, gamma.b;\n"
- "END";
+ "POW res.r, res.r, gamma.r;\n"
+ "POW res.g, res.g, gamma.g;\n"
+ "POW res.b, res.b, gamma.b;\n";
-static const char *yuv_lookup_prog_template =
+static const char yuv_lookup_prog_template[] =
"PARAM ycoef = {$cm11, $cm21, $cm31, 0};\n"
"PARAM ucoef = {$cm12, $cm22, $cm32, 0};\n"
"PARAM vcoef = {$cm13, $cm23, $cm33, 0};\n"
@@ -1019,16 +1080,23 @@ static const char *yuv_lookup_prog_template =
"MAD res, yuv.rrrr, ycoef, offsets;\n"
"MAD res.rgb, yuv.gggg, ucoef, res;\n"
"MAD res.rgb, yuv.bbbb, vcoef, res;\n"
- "TEX result.color.r, res.raaa, texture[$conv_tex0], 2D;\n"
+ "TEX res.r, res.raaa, texture[$conv_tex0], 2D;\n"
"ADD res.a, res.a, 0.25;\n"
- "TEX result.color.g, res.gaaa, texture[$conv_tex0], 2D;\n"
+ "TEX res.g, res.gaaa, texture[$conv_tex0], 2D;\n"
"ADD res.a, res.a, 0.25;\n"
- "TEX result.color.b, res.baaa, texture[$conv_tex0], 2D;\n"
- "END";
+ "TEX res.b, res.baaa, texture[$conv_tex0], 2D;\n";
-static const char *yuv_lookup3d_prog_template =
- "TEX result.color, yuv, texture[$conv_tex0], 3D;\n"
- "END";
+static const char yuv_lookup3d_prog_template[] =
+ "TEMP res;\n"
+ "TEX res, yuv, texture[$conv_tex0], 3D;\n";
+
+static const char noise_filt_template[] =
+ "MUL coord.xy, fragment.texcoord[0], {$noise_sx, $noise_sy};\n"
+ "TEMP rand;\n"
+ "TEX rand.r, coord.x, texture[$noise_filt_tex], 1D;\n"
+ "ADD rand.r, rand.r, coord.y;\n"
+ "TEX rand.r, rand.r, texture[$noise_filt_tex], 1D;\n"
+ "MAD res.rgb, rand.rrrr, {$noise_str, $noise_str, $noise_str}, res;\n";
/**
* \brief creates and initializes helper textures needed for scaling texture read
@@ -1236,12 +1304,12 @@ int loadGPUProgram(GL *gl, GLenum target, char *prog)
gl->GetString(GL_PROGRAM_ERROR_STRING), &prog[err]);
return 0;
}
- if (!gl->GetProgramiv || !mp_msg_test(MSGT_VO, MSGL_DBG2))
+ if (!gl->GetProgramivARB || !mp_msg_test(MSGT_VO, MSGL_DBG2))
return 1;
mp_msg(MSGT_VO, MSGL_V, "[gl] Program statistics:\n");
for (i = 0; progstats[i].name; i++) {
- gl->GetProgramiv(target, progstats[i].cur, &cur);
- gl->GetProgramiv(target, progstats[i].max, &max);
+ gl->GetProgramivARB(target, progstats[i].cur, &cur);
+ gl->GetProgramivARB(target, progstats[i].max, &max);
mp_msg(MSGT_VO, MSGL_V, "[gl] %s: %i/%i\n", progstats[i].name, cur,
max);
}
@@ -1273,10 +1341,12 @@ static void glSetupYUVFragprog(GL *gl, gl_conversion_params_t *params)
char lum_scale_texs[1];
char chrom_scale_texs[1];
char conv_texs[1];
+ char filt_texs[1] = {0};
GLint i;
// this is the conversion matrix, with y, u, v factors
// for red, green, blue and the constant offsets
float yuv2rgb[3][4];
+ int noise = params->noise_strength != 0;
create_conv_textures(gl, params, &cur_texu, conv_texs);
create_scaler_textures(gl, YUV_LUM_SCALER(type), &cur_texu, lum_scale_texs);
if (YUV_CHROM_SCALER(type) == YUV_LUM_SCALER(type))
@@ -1284,6 +1354,12 @@ static void glSetupYUVFragprog(GL *gl, gl_conversion_params_t *params)
else
create_scaler_textures(gl, YUV_CHROM_SCALER(type), &cur_texu,
chrom_scale_texs);
+
+ if (noise) {
+ gen_noise_lookup_tex(gl, cur_texu);
+ filt_texs[0] = '0' + cur_texu++;
+ }
+
gl->GetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &i);
if (i < cur_texu)
mp_msg(MSGT_VO, MSGL_ERR,
@@ -1332,6 +1408,25 @@ static void glSetupYUVFragprog(GL *gl, gl_conversion_params_t *params)
replace_var_float(prog, "gamma_g", (float)1.0 / params->csp_params.ggamma);
replace_var_float(prog, "gamma_b", (float)1.0 / params->csp_params.bgamma);
replace_var_char(prog, "conv_tex0", conv_texs[0]);
+
+ if (noise) {
+ // 1.0 strength is suitable for dithering 8 to 6 bit
+ double str = params->noise_strength * (1.0 / 64);
+ double scale_x = (double)NOISE_RES / texw;
+ double scale_y = (double)NOISE_RES / texh;
+ if (rect) {
+ scale_x /= texw;
+ scale_y /= texh;
+ }
+ append_template(prog, noise_filt_template);
+ replace_var_float(prog, "noise_sx", scale_x);
+ replace_var_float(prog, "noise_sy", scale_y);
+ replace_var_char(prog, "noise_filt_tex", filt_texs[0]);
+ replace_var_float(prog, "noise_str", str);
+ }
+
+ append_template(prog, "MOV result.color.rgb, res;\nEND");
+
mp_msg(MSGT_VO, MSGL_DBG2, "[gl] generated fragment program:\n%s\n",
yuv_prog);
loadGPUProgram(gl, GL_FRAGMENT_PROGRAM, yuv_prog);
@@ -1619,16 +1714,29 @@ void glDrawTex(GL *gl, GLfloat x, GLfloat y, GLfloat w, GLfloat h,
static int create_window_cocoa(struct MPGLContext *ctx, uint32_t d_width,
uint32_t d_height, uint32_t flags)
{
- if (vo_cocoa_create_window(ctx->vo, d_width, d_height, flags) == 0) {
+ if (vo_cocoa_create_window(ctx->vo, d_width, d_height, flags, 0) == 0) {
return SET_WINDOW_OK;
} else {
return SET_WINDOW_FAILED;
}
}
+
+static int create_window_cocoa_gl3(struct MPGLContext *ctx, int gl_flags,
+ int gl_version, uint32_t d_width,
+ uint32_t d_height, uint32_t flags)
+{
+ int rv = vo_cocoa_create_window(ctx->vo, d_width, d_height, flags, 1);
+ getFunctions(ctx->gl, (void *)vo_cocoa_glgetaddr, NULL, true);
+ ctx->depth_r = vo_cocoa_cgl_color_size();
+ ctx->depth_g = vo_cocoa_cgl_color_size();
+ ctx->depth_b = vo_cocoa_cgl_color_size();
+ return rv;
+}
+
static int setGlWindow_cocoa(MPGLContext *ctx)
{
vo_cocoa_change_attributes(ctx->vo);
- getFunctions(ctx->gl, (void *)vo_cocoa_glgetaddr, NULL);
+ getFunctions(ctx->gl, (void *)vo_cocoa_glgetaddr, NULL, false);
if (!ctx->gl->SwapInterval)
ctx->gl->SwapInterval = vo_cocoa_swap_interval;
return SET_WINDOW_OK;
@@ -1660,8 +1768,14 @@ static void cocoa_fullscreen(struct vo *vo)
#endif
#ifdef CONFIG_GL_WIN32
+#include <windows.h>
#include "w32_common.h"
+struct w32_context {
+ int vinfo;
+ HGLRC context;
+};
+
static int create_window_w32(struct MPGLContext *ctx, uint32_t d_width,
uint32_t d_height, uint32_t flags)
{
@@ -1686,11 +1800,110 @@ static void *w32gpa(const GLubyte *procName)
return GetProcAddress(oglmod, procName);
}
+static int create_window_w32_gl3(struct MPGLContext *ctx, int gl_flags,
+ int gl_version, uint32_t d_width,
+ uint32_t d_height, uint32_t flags) {
+ if (!vo_w32_config(d_width, d_height, flags))
+ return -1;
+
+ struct w32_context *w32_ctx = ctx->priv;
+ HGLRC *context = &w32_ctx->context;
+
+ if (*context) // reuse existing context
+ return 0; // not reusing it breaks gl3!
+
+ HWND win = vo_w32_window;
+ HDC windc = vo_w32_get_dc(win);
+ HGLRC new_context = 0;
+
+ new_context = wglCreateContext(windc);
+ if (!new_context) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Could not create GL context!\n");
+ return -1;
+ }
+
+ // set context
+ if (!wglMakeCurrent(windc, new_context)) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Could not set GL context!\n");
+ goto out;
+ }
+
+ const char *(GLAPIENTRY *wglGetExtensionsStringARB)(HDC hdc)
+ = w32gpa((const GLubyte*)"wglGetExtensionsStringARB");
+
+ if (!wglGetExtensionsStringARB)
+ goto unsupported;
+
+ const char *wgl_exts = wglGetExtensionsStringARB(windc);
+ if (!strstr(wgl_exts, "WGL_ARB_create_context"))
+ goto unsupported;
+
+ HGLRC (GLAPIENTRY *wglCreateContextAttribsARB)(HDC hDC, HGLRC hShareContext,
+ const int *attribList)
+ = w32gpa((const GLubyte*)"wglCreateContextAttribsARB");
+
+ if (!wglCreateContextAttribsARB)
+ goto unsupported;
+
+ int attribs[] = {
+ WGL_CONTEXT_MAJOR_VERSION_ARB, MPGL_VER_GET_MAJOR(gl_version),
+ WGL_CONTEXT_MINOR_VERSION_ARB, MPGL_VER_GET_MINOR(gl_version),
+ WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,
+ WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB,
+ 0
+ };
+
+ *context = wglCreateContextAttribsARB(windc, 0, attribs);
+ if (! *context) {
+ // NVidia, instead of ignoring WGL_CONTEXT_FLAGS_ARB, will error out if
+ // it's present on pre-3.2 contexts.
+ // Remove it from attribs and retry the context creation.
+ attribs[6] = attribs[7] = 0;
+ *context = wglCreateContextAttribsARB(windc, 0, attribs);
+ }
+ if (! *context) {
+ int err = GetLastError();
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Could not create an OpenGL 3.x"
+ " context: error 0x%x\n", err);
+ goto out;
+ }
+
+ wglMakeCurrent(NULL, NULL);
+ wglDeleteContext(new_context);
+
+ if (!wglMakeCurrent(windc, *context)) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Could not set GL3 context!\n");
+ wglDeleteContext(*context);
+ return -1;
+ }
+
+ /* update function pointers */
+ getFunctions(ctx->gl, w32gpa, NULL, true);
+
+ int pfmt = GetPixelFormat(windc);
+ PIXELFORMATDESCRIPTOR pfd;
+ if (DescribePixelFormat(windc, pfmt, sizeof(PIXELFORMATDESCRIPTOR), &pfd)) {
+ ctx->depth_r = pfd.cRedBits;
+ ctx->depth_g = pfd.cGreenBits;
+ ctx->depth_b = pfd.cBlueBits;
+ }
+
+ return 0;
+
+unsupported:
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] The current OpenGL implementation does"
+ " not support OpenGL 3.x \n");
+out:
+ wglDeleteContext(new_context);
+ return -1;
+}
+
static int setGlWindow_w32(MPGLContext *ctx)
{
HWND win = vo_w32_window;
- int *vinfo = &ctx->vinfo.w32;
- HGLRC *context = &ctx->context.w32;
+ struct w32_context *w32_ctx = ctx->priv;
+ int *vinfo = &w32_ctx->vinfo;
+ HGLRC *context = &w32_ctx->context;
int new_vinfo;
HDC windc = vo_w32_get_dc(win);
HGLRC new_context = 0;
@@ -1737,7 +1950,8 @@ static int setGlWindow_w32(MPGLContext *ctx)
wglDeleteContext(*context);
*context = new_context;
*vinfo = new_vinfo;
- getFunctions(gl, w32gpa, NULL);
+
+ getFunctions(ctx->gl, w32gpa, NULL, false);
// and inform that reinit is neccessary
res = SET_WINDOW_REINIT;
@@ -1751,8 +1965,9 @@ out:
static void releaseGlContext_w32(MPGLContext *ctx)
{
- int *vinfo = &ctx->vinfo.w32;
- HGLRC *context = &ctx->context.w32;
+ struct w32_context *w32_ctx = ctx->priv;
+ int *vinfo = &w32_ctx->vinfo;
+ HGLRC *context = &w32_ctx->context;
*vinfo = 0;
if (*context) {
wglMakeCurrent(0, 0);
@@ -1774,10 +1989,19 @@ static void new_vo_w32_border(struct vo *vo) { vo_w32_border(); }
static void new_vo_w32_fullscreen(struct vo *vo) { vo_w32_fullscreen(); }
static int new_vo_w32_check_events(struct vo *vo) { return vo_w32_check_events(); }
static void new_w32_update_xinerama_info(struct vo *vo) { w32_update_xinerama_info(); }
+static void new_vo_w32_uninit(struct vo *vo) { vo_w32_uninit(); }
#endif
+
#ifdef CONFIG_GL_X11
+#include <X11/Xlib.h>
+#include <GL/glx.h>
#include "x11_common.h"
+struct glx_context {
+ XVisualInfo *vinfo;
+ GLXContext context;
+};
+
static int create_window_x11(struct MPGLContext *ctx, uint32_t d_width,
uint32_t d_height, uint32_t flags)
{
@@ -1832,21 +2056,6 @@ static XVisualInfo *getWindowVisualInfo(MPGLContext *ctx, Window win)
return XGetVisualInfo(ctx->vo->x11->display, VisualIDMask, &vinfo_template, &tmp);
}
-static void appendstr(char **dst, const char *str)
-{
- int newsize;
- char *newstr;
- if (!str)
- return;
- newsize = strlen(*dst) + 1 + strlen(str) + 1;
- newstr = realloc(*dst, newsize);
- if (!newstr)
- return;
- *dst = newstr;
- strcat(*dst, " ");
- strcat(*dst, str);
-}
-
/**
* \brief Changes the window in which video is displayed.
* If possible only transfers the context to the new window, otherwise
@@ -1861,8 +2070,9 @@ static void appendstr(char **dst, const char *str)
*/
static int setGlWindow_x11(MPGLContext *ctx)
{
- XVisualInfo **vinfo = &ctx->vinfo.x11;
- GLXContext *context = &ctx->context.x11;
+ struct glx_context *glx_context = ctx->priv;
+ XVisualInfo **vinfo = &glx_context->vinfo;
+ GLXContext *context = &glx_context->context;
Display *display = ctx->vo->x11->display;
Window win = ctx->vo->x11->window;
XVisualInfo *new_vinfo;
@@ -1907,8 +2117,6 @@ static int setGlWindow_x11(MPGLContext *ctx)
vo_x11_update_geometry(ctx->vo, 1);
if (!keep_context) {
void *(*getProcAddress)(const GLubyte *);
- const char *(*glXExtStr)(Display *, int);
- char *glxstr = strdup("");
if (*context)
glXDestroyContext(display, *context);
*context = new_context;
@@ -1918,25 +2126,21 @@ static int setGlWindow_x11(MPGLContext *ctx)
getProcAddress = getdladdr("glXGetProcAddress");
if (!getProcAddress)
getProcAddress = getdladdr("glXGetProcAddressARB");
- glXExtStr = getdladdr("glXQueryExtensionsString");
- if (glXExtStr)
- appendstr(&glxstr, glXExtStr(display, DefaultScreen(display)));
- glXExtStr = getdladdr("glXGetClientString");
- if (glXExtStr)
- appendstr(&glxstr, glXExtStr(display, GLX_EXTENSIONS));
- glXExtStr = getdladdr("glXGetServerString");
+
+ const char *glxstr = "";
+ const char *(*glXExtStr)(Display *, int)
+ = getdladdr("glXQueryExtensionsString");
if (glXExtStr)
- appendstr(&glxstr, glXExtStr(display, GLX_EXTENSIONS));
+ glxstr = glXExtStr(display, ctx->vo->x11->screen);
- getFunctions(gl, getProcAddress, glxstr);
+ getFunctions(gl, getProcAddress, glxstr, false);
if (!gl->GenPrograms && gl->GetString &&
getProcAddress &&
strstr(gl->GetString(GL_EXTENSIONS), "GL_ARB_vertex_program")) {
mp_msg(MSGT_VO, MSGL_WARN,
"Broken glXGetProcAddress detected, trying workaround\n");
- getFunctions(gl, NULL, glxstr);
+ getFunctions(gl, NULL, glxstr, false);
}
- free(glxstr);
// and inform that reinit is neccessary
return SET_WINDOW_REINIT;
@@ -1944,14 +2148,154 @@ static int setGlWindow_x11(MPGLContext *ctx)
return SET_WINDOW_OK;
}
+// The GL3 initialization code roughly follows/copies from:
+// http://www.opengl.org/wiki/Tutorial:_OpenGL_3.0_Context_Creation_(GLX)
+// but also uses some of the old code.
+
+static GLXFBConfig select_fb_config(struct vo *vo, const int *attribs)
+{
+ int fbcount;
+ GLXFBConfig *fbc = glXChooseFBConfig(vo->x11->display, vo->x11->screen,
+ attribs, &fbcount);
+ if (!fbc)
+ return NULL;
+
+ // The list in fbc is sorted (so that the first element is the best).
+ GLXFBConfig fbconfig = fbc[0];
+
+ XFree(fbc);
+
+ return fbconfig;
+}
+
+typedef GLXContext (*glXCreateContextAttribsARBProc)
+ (Display*, GLXFBConfig, GLXContext, Bool, const int*);
+
+static int create_window_x11_gl3(struct MPGLContext *ctx, int gl_flags,
+ int gl_version, uint32_t d_width,
+ uint32_t d_height, uint32_t flags)
+{
+ struct vo *vo = ctx->vo;
+ struct glx_context *glx_ctx = ctx->priv;
+
+ if (glx_ctx->context) {
+ // GL context and window already exist.
+ // Only update window geometry etc.
+ Colormap colormap = XCreateColormap(vo->x11->display, vo->x11->rootwin,
+ glx_ctx->vinfo->visual, AllocNone);
+ vo_x11_create_vo_window(vo, glx_ctx->vinfo, vo->dx, vo->dy, d_width,
+ d_height, flags, colormap, "gl");
+ XFreeColormap(vo->x11->display, colormap);
+ return SET_WINDOW_OK;
+ }
+
+ int glx_major, glx_minor;
+
+ // FBConfigs were added in GLX version 1.3.
+ if (!glXQueryVersion(vo->x11->display, &glx_major, &glx_minor) ||
+ (MPGL_VER(glx_major, glx_minor) < MPGL_VER(1, 3)))
+ {
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] GLX version older than 1.3.\n");
+ return SET_WINDOW_FAILED;
+ }
+
+ const int glx_attribs_stereo_value_idx = 1; // index of GLX_STEREO + 1
+ int glx_attribs[] = {
+ GLX_STEREO, False,
+ GLX_X_RENDERABLE, True,
+ GLX_RED_SIZE, 1,
+ GLX_GREEN_SIZE, 1,
+ GLX_BLUE_SIZE, 1,
+ GLX_DOUBLEBUFFER, True,
+ None
+ };
+ GLXFBConfig fbc = NULL;
+ if (flags & VOFLAG_STEREO) {
+ glx_attribs[glx_attribs_stereo_value_idx] = True;
+ fbc = select_fb_config(vo, glx_attribs);
+ if (!fbc) {
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] Could not find a stereo visual,"
+ " 3D will probably not work!\n");
+ glx_attribs[glx_attribs_stereo_value_idx] = False;
+ }
+ }
+ if (!fbc)
+ fbc = select_fb_config(vo, glx_attribs);
+ if (!fbc) {
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] no GLX support present\n");
+ return SET_WINDOW_FAILED;
+ }
+
+ glXGetFBConfigAttrib(vo->x11->display, fbc, GLX_RED_SIZE, &ctx->depth_r);
+ glXGetFBConfigAttrib(vo->x11->display, fbc, GLX_GREEN_SIZE, &ctx->depth_g);
+ glXGetFBConfigAttrib(vo->x11->display, fbc, GLX_BLUE_SIZE, &ctx->depth_b);
+
+ XVisualInfo *vinfo = glXGetVisualFromFBConfig(vo->x11->display, fbc);
+ mp_msg(MSGT_VO, MSGL_V, "[gl] GLX chose visual with ID 0x%x\n",
+ (int)vinfo->visualid);
+ Colormap colormap = XCreateColormap(vo->x11->display, vo->x11->rootwin,
+ vinfo->visual, AllocNone);
+ vo_x11_create_vo_window(vo, vinfo, vo->dx, vo->dy, d_width, d_height,
+ flags, colormap, "gl");
+ XFreeColormap(vo->x11->display, colormap);
+
+ glXCreateContextAttribsARBProc glXCreateContextAttribsARB =
+ (glXCreateContextAttribsARBProc)
+ glXGetProcAddressARB((const GLubyte *)"glXCreateContextAttribsARB");
+
+ const char *glxstr = "";
+ const char *(*glXExtStr)(Display *, int)
+ = getdladdr("glXQueryExtensionsString");
+ if (glXExtStr)
+ glxstr = glXExtStr(vo->x11->display, vo->x11->screen);
+ bool have_ctx_ext = glxstr && !!strstr(glxstr, "GLX_ARB_create_context");
+
+ if (!(have_ctx_ext && glXCreateContextAttribsARB)) {
+ XFree(vinfo);
+ return SET_WINDOW_FAILED;
+ }
+
+ int context_attribs[] = {
+ GLX_CONTEXT_MAJOR_VERSION_ARB, MPGL_VER_GET_MAJOR(gl_version),
+ GLX_CONTEXT_MINOR_VERSION_ARB, MPGL_VER_GET_MINOR(gl_version),
+ GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_CORE_PROFILE_BIT_ARB,
+ GLX_CONTEXT_FLAGS_ARB, GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
+ | (gl_flags & MPGLFLAG_DEBUG ? GLX_CONTEXT_DEBUG_BIT_ARB : 0),
+ None
+ };
+ GLXContext context = glXCreateContextAttribsARB(vo->x11->display, fbc, 0,
+ True, context_attribs);
+ if (!context) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Could not create GLX context!\n");
+ XFree(vinfo);
+ return SET_WINDOW_FAILED;
+ }
+
+ // set context
+ if (!glXMakeCurrent(vo->x11->display, vo->x11->window, context)) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Could not set GLX context!\n");
+ glXDestroyContext(vo->x11->display, context);
+ XFree(vinfo);
+ return SET_WINDOW_FAILED;
+ }
+
+ glx_ctx->vinfo = vinfo;
+ glx_ctx->context = context;
+
+ getFunctions(ctx->gl, (void *)glXGetProcAddress, glxstr, true);
+
+ return SET_WINDOW_REINIT;
+}
+
/**
* \brief free the VisualInfo and GLXContext of an OpenGL context.
* \ingroup glcontext
*/
static void releaseGlContext_x11(MPGLContext *ctx)
{
- XVisualInfo **vinfo = &ctx->vinfo.x11;
- GLXContext *context = &ctx->context.x11;
+ struct glx_context *glx_ctx = ctx->priv;
+ XVisualInfo **vinfo = &glx_ctx->vinfo;
+ GLXContext *context = &glx_ctx->context;
Display *display = ctx->vo->x11->display;
GL *gl = ctx->gl;
if (*vinfo)
@@ -1998,7 +2342,7 @@ static int setGlWindow_sdl(MPGLContext *ctx)
if (sdl_set_mode(0, SDL_OPENGL | SDL_RESIZABLE) < 0)
return SET_WINDOW_FAILED;
SDL_GL_LoadLibrary(NULL);
- getFunctions(ctx->gl, sdlgpa, NULL);
+ getFunctions(ctx->gl, sdlgpa, NULL, false);
return SET_WINDOW_OK;
}
@@ -2021,9 +2365,40 @@ static int sdl_check_events(struct vo *vo)
static void new_sdl_update_xinerama_info(struct vo *vo) { sdl_update_xinerama_info(); }
static void new_vo_sdl_fullscreen(struct vo *vo) { vo_sdl_fullscreen(); }
+static void new_vo_sdl_uninit(struct vo *vo) { vo_sdl_uninit(); }
#endif
+struct backend {
+ const char *name;
+ enum MPGLType type;
+};
+
+static struct backend backends[] = {
+ {"auto", GLTYPE_AUTO},
+ {"cocoa", GLTYPE_COCOA},
+ {"win", GLTYPE_W32},
+ {"x11", GLTYPE_X11},
+ {"sdl", GLTYPE_SDL},
+ // mplayer-svn aliases (note that mplayer-svn couples these with the numeric
+ // values of the internal GLTYPE_* constants)
+ {"-1", GLTYPE_AUTO},
+ { "0", GLTYPE_W32},
+ { "1", GLTYPE_X11},
+ { "2", GLTYPE_SDL},
+
+ {0}
+};
+
+int mpgl_find_backend(const char *name)
+{
+ for (const struct backend *entry = backends; entry->name; entry++) {
+ if (strcmp(entry->name, name) == 0)
+ return entry->type;
+ }
+ return -1;
+}
+
MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
{
MPGLContext *ctx;
@@ -2047,6 +2422,7 @@ MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
#ifdef CONFIG_GL_COCOA
case GLTYPE_COCOA:
ctx->create_window = create_window_cocoa;
+ ctx->create_window_gl3 = create_window_cocoa_gl3;
ctx->setGlWindow = setGlWindow_cocoa;
ctx->releaseGlContext = releaseGlContext_cocoa;
ctx->swapGlBuffers = swapGlBuffers_cocoa;
@@ -2054,13 +2430,16 @@ MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
ctx->update_xinerama_info = cocoa_update_xinerama_info;
ctx->fullscreen = cocoa_fullscreen;
ctx->ontop = vo_cocoa_ontop;
+ ctx->vo_uninit = vo_cocoa_uninit;
if (vo_cocoa_init(vo))
return ctx;
break;
#endif
#ifdef CONFIG_GL_WIN32
case GLTYPE_W32:
+ ctx->priv = talloc_zero(ctx, struct w32_context);
ctx->create_window = create_window_w32;
+ ctx->create_window_gl3 = create_window_w32_gl3;
ctx->setGlWindow = setGlWindow_w32;
ctx->releaseGlContext = releaseGlContext_w32;
ctx->swapGlBuffers = swapGlBuffers_w32;
@@ -2069,6 +2448,7 @@ MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
ctx->check_events = new_vo_w32_check_events;
ctx->fullscreen = new_vo_w32_fullscreen;
ctx->ontop = new_vo_w32_ontop;
+ ctx->vo_uninit = new_vo_w32_uninit;
//the win32 code is hardcoded to use the deprecated vo API
global_vo = vo;
if (vo_w32_init())
@@ -2077,8 +2457,10 @@ MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
#endif
#ifdef CONFIG_GL_X11
case GLTYPE_X11:
+ ctx->priv = talloc_zero(ctx, struct glx_context);
ctx->create_window = create_window_x11;
ctx->setGlWindow = setGlWindow_x11;
+ ctx->create_window_gl3 = create_window_x11_gl3;
ctx->releaseGlContext = releaseGlContext_x11;
ctx->swapGlBuffers = swapGlBuffers_x11;
ctx->update_xinerama_info = update_xinerama_info;
@@ -2086,6 +2468,7 @@ MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
ctx->check_events = vo_x11_check_events;
ctx->fullscreen = vo_x11_fullscreen;
ctx->ontop = vo_x11_ontop;
+ ctx->vo_uninit = vo_x11_uninit;
if (vo_init(vo))
return ctx;
break;
@@ -2099,6 +2482,7 @@ MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
ctx->update_xinerama_info = new_sdl_update_xinerama_info;
ctx->check_events = sdl_check_events;
ctx->fullscreen = new_vo_sdl_fullscreen;
+ ctx->vo_uninit = new_vo_sdl_uninit;
//the SDL code is hardcoded to use the deprecated vo API
global_vo = vo;
if (vo_sdl_init())
@@ -2110,32 +2494,45 @@ MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo)
return NULL;
}
+int create_mpglcontext(struct MPGLContext *ctx, int gl_flags, int gl_version,
+ uint32_t d_width, uint32_t d_height, uint32_t flags)
+{
+ if (gl_version < MPGL_VER(3, 0)) {
+ if (ctx->create_window(ctx, d_width, d_height, flags) < 0)
+ return SET_WINDOW_FAILED;
+ return ctx->setGlWindow(ctx);
+ } else {
+ if (!ctx->create_window_gl3) {
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] OpenGL 3.x context creation not "
+ "implemented.\n");
+ return SET_WINDOW_FAILED;
+ }
+ return ctx->create_window_gl3(ctx, gl_flags, gl_version, d_width,
+ d_height, flags);
+ }
+}
+
void uninit_mpglcontext(MPGLContext *ctx)
{
if (!ctx)
return;
ctx->releaseGlContext(ctx);
- switch (ctx->type) {
-#ifdef CONFIG_GL_COCOA
- case GLTYPE_COCOA:
- vo_cocoa_uninit(ctx->vo);
- break;
-#endif
-#ifdef CONFIG_GL_WIN32
- case GLTYPE_W32:
- vo_w32_uninit();
- break;
-#endif
-#ifdef CONFIG_GL_X11
- case GLTYPE_X11:
- vo_x11_uninit(ctx->vo);
- break;
-#endif
-#ifdef CONFIG_GL_SDL
- case GLTYPE_SDL:
- vo_sdl_uninit();
- break;
-#endif
- }
+ ctx->vo_uninit(ctx->vo);
talloc_free(ctx);
}
+
+void mp_log_source(int mod, int lev, const char *src)
+{
+ int line = 1;
+ if (!src)
+ return;
+ while (*src) {
+ const char *end = strchr(src, '\n');
+ const char *next = end + 1;
+ if (!end)
+ next = end = src + strlen(src);
+ mp_msg(mod, lev, "[%3d] %.*s\n", line, (int)(end - src), src);
+ line++;
+ src = next;
+ }
+}
diff --git a/libvo/gl_common.h b/libvo/gl_common.h
index b02e1d2..f3d2153 100644
--- a/libvo/gl_common.h
+++ b/libvo/gl_common.h
@@ -33,221 +33,25 @@
#include "video_out.h"
#include "csputils.h"
-#ifdef CONFIG_GL_WIN32
-#include <windows.h>
-#include "w32_common.h"
-#endif
-#ifdef CONFIG_GL_X11
-#include <X11/Xlib.h>
-#include <GL/glx.h>
-#include "x11_common.h"
-// This old-vo wrapper macro would conflict with the struct member
-#undef update_xinerama_info
-#endif
-#include <GL/gl.h>
-
-// workaround for some gl.h headers
-#ifndef GLAPIENTRY
-#ifdef APIENTRY
-#define GLAPIENTRY APIENTRY
-#elif defined(CONFIG_GL_WIN32)
-#define GLAPIENTRY __stdcall
+#if defined(CONFIG_GL_COCOA) && !defined(CONFIG_GL_X11)
+#ifdef GL_VERSION_3_0
+#include <OpenGL/gl3.h>
#else
-#define GLAPIENTRY
+#include <OpenGL/gl.h>
#endif
+#include <OpenGL/glext.h>
+#else
+#include <GL/gl.h>
+#include <GL/glext.h>
#endif
-/**
- * \defgroup glextdefines OpenGL extension defines
- *
- * conditionally define all extension defines used.
- * vendor specific extensions should be marked as such
- * (e.g. _NV), _ARB is not used to ease readability.
- * \{
- */
-#ifndef GL_TEXTURE_3D
-#define GL_TEXTURE_3D 0x806F
-#endif
-#ifndef GL_TEXTURE_WRAP_R
-#define GL_TEXTURE_WRAP_R 0x8072
-#endif
-#ifndef GL_CLAMP_TO_EDGE
-#define GL_CLAMP_TO_EDGE 0x812F
-#endif
-#ifndef GL_GENERATE_MIPMAP
-#define GL_GENERATE_MIPMAP 0x8191
-#endif
-#ifndef GL_TEXT_FRAGMENT_SHADER_ATI
-#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200
-#endif
-#ifndef GL_FRAGMENT_SHADER_ATI
-#define GL_FRAGMENT_SHADER_ATI 0x8920
-#endif
-#ifndef GL_NUM_FRAGMENT_REGISTERS_ATI
-#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
-#endif
-#ifndef GL_REG_0_ATI
-#define GL_REG_0_ATI 0x8921
-#endif
-#ifndef GL_REG_1_ATI
-#define GL_REG_1_ATI 0x8922
-#endif
-#ifndef GL_REG_2_ATI
-#define GL_REG_2_ATI 0x8923
-#endif
-#ifndef GL_CON_0_ATI
-#define GL_CON_0_ATI 0x8941
-#endif
-#ifndef GL_CON_1_ATI
-#define GL_CON_1_ATI 0x8942
-#endif
-#ifndef GL_CON_2_ATI
-#define GL_CON_2_ATI 0x8943
-#endif
-#ifndef GL_CON_3_ATI
-#define GL_CON_3_ATI 0x8944
-#endif
-#ifndef GL_ADD_ATI
-#define GL_ADD_ATI 0x8963
-#endif
-#ifndef GL_MUL_ATI
-#define GL_MUL_ATI 0x8964
-#endif
-#ifndef GL_MAD_ATI
-#define GL_MAD_ATI 0x8968
-#endif
-#ifndef GL_SWIZZLE_STR_ATI
-#define GL_SWIZZLE_STR_ATI 0x8976
-#endif
-#ifndef GL_4X_BIT_ATI
-#define GL_4X_BIT_ATI 2
-#endif
-#ifndef GL_8X_BIT_ATI
-#define GL_8X_BIT_ATI 4
-#endif
-#ifndef GL_BIAS_BIT_ATI
-#define GL_BIAS_BIT_ATI 8
-#endif
-#ifndef GL_MAX_TEXTURE_UNITS
-#define GL_MAX_TEXTURE_UNITS 0x84E2
-#endif
-#ifndef GL_TEXTURE0
-#define GL_TEXTURE0 0x84C0
-#endif
-#ifndef GL_TEXTURE1
-#define GL_TEXTURE1 0x84C1
-#endif
-#ifndef GL_TEXTURE2
-#define GL_TEXTURE2 0x84C2
-#endif
-#ifndef GL_TEXTURE3
-#define GL_TEXTURE3 0x84C3
-#endif
-#ifndef GL_TEXTURE_RECTANGLE
-#define GL_TEXTURE_RECTANGLE 0x84F5
-#endif
-#ifndef GL_PIXEL_UNPACK_BUFFER
-#define GL_PIXEL_UNPACK_BUFFER 0x88EC
-#endif
-#ifndef GL_STREAM_DRAW
-#define GL_STREAM_DRAW 0x88E0
-#endif
-#ifndef GL_DYNAMIC_DRAW
-#define GL_DYNAMIC_DRAW 0x88E8
-#endif
-#ifndef GL_WRITE_ONLY
-#define GL_WRITE_ONLY 0x88B9
-#endif
-#ifndef GL_BGR
-#define GL_BGR 0x80E0
-#endif
-#ifndef GL_BGRA
-#define GL_BGRA 0x80E1
-#endif
-#ifndef GL_UNSIGNED_BYTE_3_3_2
-#define GL_UNSIGNED_BYTE_3_3_2 0x8032
-#endif
-#ifndef GL_UNSIGNED_BYTE_2_3_3_REV
-#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
-#endif
-#ifndef GL_UNSIGNED_SHORT_4_4_4_4
-#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
-#endif
-#ifndef GL_UNSIGNED_SHORT_4_4_4_4_REV
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
-#endif
-#ifndef GL_UNSIGNED_SHORT_5_6_5
-#define GL_UNSIGNED_SHORT_5_6_5 0x8363
-#endif
-#ifndef GL_UNSIGNED_INT_8_8_8_8
-#define GL_UNSIGNED_INT_8_8_8_8 0x8035
-#endif
-#ifndef GL_UNSIGNED_INT_8_8_8_8_REV
-#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
-#endif
-#ifndef GL_UNSIGNED_SHORT_5_6_5_REV
-#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
-#endif
-#ifndef GL_UNSIGNED_INT_10_10_10_2
-#define GL_UNSIGNED_INT_10_10_10_2 0x8036
-#endif
-#ifndef GL_UNSIGNED_INT_2_10_10_10_REV
-#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-#endif
-#ifndef GL_UNSIGNED_SHORT_5_5_5_1
-#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
-#endif
-#ifndef GL_UNSIGNED_SHORT_1_5_5_5_REV
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
-#endif
-#ifndef GL_UNSIGNED_SHORT_8_8
-#define GL_UNSIGNED_SHORT_8_8 0x85BA
-#endif
-#ifndef GL_UNSIGNED_SHORT_8_8_REV
-#define GL_UNSIGNED_SHORT_8_8_REV 0x85BB
-#endif
-#ifndef GL_YCBCR_MESA
-#define GL_YCBCR_MESA 0x8757
-#endif
-#ifndef GL_RGB32F
-#define GL_RGB32F 0x8815
-#endif
-#ifndef GL_FLOAT_RGB32_NV
-#define GL_FLOAT_RGB32_NV 0x8889
-#endif
-#ifndef GL_LUMINANCE16
-#define GL_LUMINANCE16 0x8042
-#endif
-#ifndef GL_R16
-#define GL_R16 0x822A
-#endif
-#ifndef GL_UNPACK_CLIENT_STORAGE_APPLE
-#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
-#endif
-#ifndef GL_FRAGMENT_PROGRAM
-#define GL_FRAGMENT_PROGRAM 0x8804
-#endif
-#ifndef GL_PROGRAM_FORMAT_ASCII
-#define GL_PROGRAM_FORMAT_ASCII 0x8875
-#endif
-#ifndef GL_PROGRAM_ERROR_POSITION
-#define GL_PROGRAM_ERROR_POSITION 0x864B
-#endif
-#ifndef GL_MAX_TEXTURE_IMAGE_UNITS
-#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
-#endif
-#ifndef GL_PROGRAM_ERROR_STRING
-#define GL_PROGRAM_ERROR_STRING 0x8874
-#endif
-/** \} */ // end of glextdefines group
+#include "libvo/gl_header_fixes.h"
struct GL;
typedef struct GL GL;
void glAdjustAlignment(GL *gl, int stride);
-const char *glValName(GLint value);
-
int glFindFormat(uint32_t format, int have_texture_rg, int *bpp,
GLint *gl_texfmt, GLenum *gl_format, GLenum *gl_type);
int glFmt2bpp(GLenum format, GLenum type);
@@ -265,6 +69,7 @@ void glDrawTex(GL *gl, GLfloat x, GLfloat y, GLfloat w, GLfloat h,
GLfloat tx, GLfloat ty, GLfloat tw, GLfloat th,
int sx, int sy, int rect_tex, int is_yv12, int flip);
int loadGPUProgram(GL *gl, GLenum target, char *prog);
+void glCheckError(GL *gl, const char *info);
/** \addtogroup glconversion
* \{ */
@@ -335,6 +140,7 @@ typedef struct {
int chrom_texw;
int chrom_texh;
float filter_strength;
+ float noise_strength;
} gl_conversion_params_t;
int glAutodetectYUVConversion(GL *gl);
@@ -368,39 +174,55 @@ enum MPGLType {
GLTYPE_SDL,
};
+enum {
+ MPGLFLAG_DEBUG = 1,
+};
+
+#define MPGL_VER(major, minor) (((major) << 16) | (minor))
+#define MPGL_VER_GET_MAJOR(ver) ((ver) >> 16)
+#define MPGL_VER_GET_MINOR(ver) ((ver) & ((1 << 16) - 1))
+
typedef struct MPGLContext {
GL *gl;
enum MPGLType type;
struct vo *vo;
- union {
- int w32;
-#ifdef CONFIG_GL_X11
- XVisualInfo *x11;
-#endif
- } vinfo;
- union {
-#ifdef CONFIG_GL_WIN32
- HGLRC w32;
-#endif
-#ifdef CONFIG_GL_X11
- GLXContext x11;
-#endif
- } context;
+ void *priv;
+ // Bit size of each component in the created framebuffer. 0 if unknown.
+ int depth_r, depth_g, depth_b;
int (*create_window)(struct MPGLContext *ctx, uint32_t d_width,
uint32_t d_height, uint32_t flags);
int (*setGlWindow)(struct MPGLContext *);
void (*releaseGlContext)(struct MPGLContext *);
void (*swapGlBuffers)(struct MPGLContext *);
- void (*update_xinerama_info)(struct vo *vo);
- void (*border)(struct vo *vo);
int (*check_events)(struct vo *vo);
void (*fullscreen)(struct vo *vo);
+ void (*vo_uninit)(struct vo *vo);
+ // only available if GL3 context creation is supported
+ // gl_flags: bitfield of MPGLFLAG_* constants
+ // gl_version: requested OpenGL version number (use MPGL_VER())
+ // return value is one of the SET_WINDOW_* constants
+ int (*create_window_gl3)(struct MPGLContext *ctx, int gl_flags,
+ int gl_version, uint32_t d_width,
+ uint32_t d_height, uint32_t flags);
+ // optional
void (*ontop)(struct vo *vo);
+ void (*border)(struct vo *vo);
+ void (*update_xinerama_info)(struct vo *vo);
} MPGLContext;
+int mpgl_find_backend(const char *name);
+
MPGLContext *init_mpglcontext(enum MPGLType type, struct vo *vo);
void uninit_mpglcontext(MPGLContext *ctx);
+// calls create_window_gl3 or create_window+setGlWindow
+int create_mpglcontext(struct MPGLContext *ctx, int gl_flags, int gl_version,
+ uint32_t d_width, uint32_t d_height, uint32_t flags);
+
+// print a multi line string with line numbers (e.g. for shader sources)
+// mod, lev: module and log level, as in mp_msg()
+void mp_log_source(int mod, int lev, const char *src);
+
//function pointers loaded from the OpenGL library
struct GL {
void (GLAPIENTRY *Begin)(GLenum);
@@ -411,7 +233,6 @@ struct GL {
void (GLAPIENTRY *Translated)(double, double, double);
void (GLAPIENTRY *Scaled)(double, double, double);
void (GLAPIENTRY *Ortho)(double, double, double, double, double,double);
- void (GLAPIENTRY *Frustum)(double, double, double, double, double, double);
void (GLAPIENTRY *PushMatrix)(void);
void (GLAPIENTRY *PopMatrix)(void);
void (GLAPIENTRY *Clear)(GLbitfield);
@@ -423,14 +244,10 @@ struct GL {
void (GLAPIENTRY *CallLists)(GLsizei, GLenum, const GLvoid *);
void (GLAPIENTRY *GenTextures)(GLsizei, GLuint *);
void (GLAPIENTRY *DeleteTextures)(GLsizei, const GLuint *);
- void (GLAPIENTRY *TexEnvf)(GLenum, GLenum, GLfloat);
void (GLAPIENTRY *TexEnvi)(GLenum, GLenum, GLint);
void (GLAPIENTRY *Color4ub)(GLubyte, GLubyte, GLubyte, GLubyte);
- void (GLAPIENTRY *Color3f)(GLfloat, GLfloat, GLfloat);
void (GLAPIENTRY *Color4f)(GLfloat, GLfloat, GLfloat, GLfloat);
void (GLAPIENTRY *ClearColor)(GLclampf, GLclampf, GLclampf, GLclampf);
- void (GLAPIENTRY *ClearDepth)(GLclampd);
- void (GLAPIENTRY *DepthFunc)(GLenum);
void (GLAPIENTRY *Enable)(GLenum);
void (GLAPIENTRY *Disable)(GLenum);
const GLubyte *(GLAPIENTRY * GetString)(GLenum);
@@ -454,16 +271,20 @@ struct GL {
void (GLAPIENTRY *TexCoord2f)(GLfloat, GLfloat);
void (GLAPIENTRY *TexCoord2fv)(const GLfloat *);
void (GLAPIENTRY *Vertex2f)(GLfloat, GLfloat);
- void (GLAPIENTRY *Vertex3f)(GLfloat, GLfloat, GLfloat);
- void (GLAPIENTRY *Normal3f)(GLfloat, GLfloat, GLfloat);
- void (GLAPIENTRY *Lightfv)(GLenum, GLenum, const GLfloat *);
- void (GLAPIENTRY *ColorMaterial)(GLenum, GLenum);
- void (GLAPIENTRY *ShadeModel)(GLenum);
void (GLAPIENTRY *GetIntegerv)(GLenum, GLint *);
+ void (GLAPIENTRY *GetBooleanv)(GLenum, GLboolean *);
void (GLAPIENTRY *ColorMask)(GLboolean, GLboolean, GLboolean, GLboolean);
void (GLAPIENTRY *ReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum,
GLenum, GLvoid *);
void (GLAPIENTRY *ReadBuffer)(GLenum);
+ void (GLAPIENTRY *VertexPointer)(GLint, GLenum, GLsizei, const GLvoid *);
+ void (GLAPIENTRY *ColorPointer)(GLint, GLenum, GLsizei, const GLvoid *);
+ void (GLAPIENTRY *TexCoordPointer)(GLint, GLenum, GLsizei, const GLvoid *);
+ void (GLAPIENTRY *DrawArrays)(GLenum, GLint, GLsizei);
+ void (GLAPIENTRY *EnableClientState)(GLenum);
+ void (GLAPIENTRY *DisableClientState)(GLenum);
+ GLenum (GLAPIENTRY *GetError)(void);
+
// OpenGL extension functions
void (GLAPIENTRY *GenBuffers)(GLsizei, GLuint *);
@@ -472,15 +293,6 @@ struct GL {
GLvoid * (GLAPIENTRY * MapBuffer)(GLenum, GLenum);
GLboolean (GLAPIENTRY *UnmapBuffer)(GLenum);
void (GLAPIENTRY *BufferData)(GLenum, intptr_t, const GLvoid *, GLenum);
- void (GLAPIENTRY *BeginFragmentShader)(void);
- void (GLAPIENTRY *EndFragmentShader)(void);
- void (GLAPIENTRY *SampleMap)(GLuint, GLuint, GLenum);
- void (GLAPIENTRY *ColorFragmentOp2)(GLenum, GLuint, GLuint, GLuint, GLuint,
- GLuint, GLuint, GLuint, GLuint, GLuint);
- void (GLAPIENTRY *ColorFragmentOp3)(GLenum, GLuint, GLuint, GLuint, GLuint,
- GLuint, GLuint, GLuint, GLuint, GLuint,
- GLuint, GLuint, GLuint);
- void (GLAPIENTRY *SetFragmentShaderConstant)(GLuint, const GLfloat *);
void (GLAPIENTRY *ActiveTexture)(GLenum);
void (GLAPIENTRY *BindTexture)(GLenum, GLuint);
void (GLAPIENTRY *MultiTexCoord2f)(GLenum, GLfloat, GLfloat);
@@ -488,13 +300,66 @@ struct GL {
void (GLAPIENTRY *DeletePrograms)(GLsizei, const GLuint *);
void (GLAPIENTRY *BindProgram)(GLenum, GLuint);
void (GLAPIENTRY *ProgramString)(GLenum, GLenum, GLsizei, const GLvoid *);
- void (GLAPIENTRY *GetProgramiv)(GLenum, GLenum, GLint *);
+ void (GLAPIENTRY *GetProgramivARB)(GLenum, GLenum, GLint *);
void (GLAPIENTRY *ProgramEnvParameter4f)(GLenum, GLuint, GLfloat, GLfloat,
GLfloat, GLfloat);
int (GLAPIENTRY *SwapInterval)(int);
void (GLAPIENTRY *TexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei,
GLsizei, GLint, GLenum, GLenum,
const GLvoid *);
+
+ // ancient ATI extensions
+ void (GLAPIENTRY *BeginFragmentShader)(void);
+ void (GLAPIENTRY *EndFragmentShader)(void);
+ void (GLAPIENTRY *SampleMap)(GLuint, GLuint, GLenum);
+ void (GLAPIENTRY *ColorFragmentOp2)(GLenum, GLuint, GLuint, GLuint, GLuint,
+ GLuint, GLuint, GLuint, GLuint, GLuint);
+ void (GLAPIENTRY *ColorFragmentOp3)(GLenum, GLuint, GLuint, GLuint, GLuint,
+ GLuint, GLuint, GLuint, GLuint, GLuint,
+ GLuint, GLuint, GLuint);
+ void (GLAPIENTRY *SetFragmentShaderConstant)(GLuint, const GLfloat *);
+
+
+ // GL 3, possibly in GL 2.x as well in form of extensions
+ void (GLAPIENTRY *GenVertexArrays)(GLsizei, GLuint *);
+ void (GLAPIENTRY *BindVertexArray)(GLuint);
+ GLint (GLAPIENTRY *GetAttribLocation)(GLuint, const GLchar *);
+ void (GLAPIENTRY *EnableVertexAttribArray)(GLuint);
+ void (GLAPIENTRY *DisableVertexAttribArray)(GLuint);
+ void (GLAPIENTRY *VertexAttribPointer)(GLuint, GLint, GLenum, GLboolean,
+ GLsizei, const GLvoid *);
+ void (GLAPIENTRY *DeleteVertexArrays)(GLsizei, const GLuint *);
+ void (GLAPIENTRY *UseProgram)(GLuint);
+ GLint (GLAPIENTRY *GetUniformLocation)(GLuint, const GLchar *);
+ void (GLAPIENTRY *CompileShader)(GLuint);
+ GLuint (GLAPIENTRY *CreateProgram)(void);
+ GLuint (GLAPIENTRY *CreateShader)(GLenum);
+ void (GLAPIENTRY *ShaderSource)(GLuint, GLsizei, const GLchar **,
+ const GLint *);
+ void (GLAPIENTRY *LinkProgram)(GLuint);
+ void (GLAPIENTRY *AttachShader)(GLuint, GLuint);
+ void (GLAPIENTRY *DeleteShader)(GLuint);
+ void (GLAPIENTRY *DeleteProgram)(GLuint);
+ void (GLAPIENTRY *GetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
+ void (GLAPIENTRY *GetShaderiv)(GLuint, GLenum, GLint *);
+ void (GLAPIENTRY *GetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
+ void (GLAPIENTRY *GetProgramiv)(GLenum, GLenum, GLint *);
+ const GLubyte* (GLAPIENTRY *GetStringi)(GLenum, GLuint);
+ void (GLAPIENTRY *BindAttribLocation)(GLuint, GLuint, const GLchar *);
+ void (GLAPIENTRY *BindFramebuffer)(GLenum, GLuint);
+ void (GLAPIENTRY *GenFramebuffers)(GLsizei, GLuint *);
+ void (GLAPIENTRY *DeleteFramebuffers)(GLsizei, const GLuint *);
+ GLenum (GLAPIENTRY *CheckFramebufferStatus)(GLenum);
+ void (GLAPIENTRY *FramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint,
+ GLint);
+
+ void (GLAPIENTRY *Uniform1f)(GLint, GLfloat);
+ void (GLAPIENTRY *Uniform3f)(GLint, GLfloat, GLfloat, GLfloat);
+ void (GLAPIENTRY *Uniform1i)(GLint, GLint);
+ void (GLAPIENTRY *UniformMatrix3fv)(GLint, GLsizei, GLboolean,
+ const GLfloat *);
+ void (GLAPIENTRY *UniformMatrix4x3fv)(GLint, GLsizei, GLboolean,
+ const GLfloat *);
};
#endif /* MPLAYER_GL_COMMON_H */
diff --git a/libvo/gl_header_fixes.h b/libvo/gl_header_fixes.h
new file mode 100644
index 0000000..ebdbbb3
--- /dev/null
+++ b/libvo/gl_header_fixes.h
@@ -0,0 +1,245 @@
+/*
+ * This file is part of MPlayer.
+ *
+ * MPlayer is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * MPlayer is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with MPlayer; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * You can alternatively redistribute this file and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ */
+
+// workaround for some gl.h headers
+#ifndef GLAPIENTRY
+#ifdef APIENTRY
+#define GLAPIENTRY APIENTRY
+#elif defined(CONFIG_GL_WIN32)
+#define GLAPIENTRY __stdcall
+#else
+#define GLAPIENTRY
+#endif
+#endif
+
+/**
+ * \defgroup glextdefines OpenGL extension defines
+ *
+ * conditionally define all extension defines used.
+ * vendor specific extensions should be marked as such
+ * (e.g. _NV), _ARB is not used to ease readability.
+ * \{
+ */
+#ifndef GL_TEXTURE_3D
+#define GL_TEXTURE_3D 0x806F
+#endif
+#ifndef GL_TEXTURE_WRAP_R
+#define GL_TEXTURE_WRAP_R 0x8072
+#endif
+#ifndef GL_CLAMP_TO_EDGE
+#define GL_CLAMP_TO_EDGE 0x812F
+#endif
+#ifndef GL_GENERATE_MIPMAP
+#define GL_GENERATE_MIPMAP 0x8191
+#endif
+#ifndef GL_TEXT_FRAGMENT_SHADER_ATI
+#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200
+#endif
+#ifndef GL_FRAGMENT_SHADER_ATI
+#define GL_FRAGMENT_SHADER_ATI 0x8920
+#endif
+#ifndef GL_NUM_FRAGMENT_REGISTERS_ATI
+#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
+#endif
+#ifndef GL_REG_0_ATI
+#define GL_REG_0_ATI 0x8921
+#endif
+#ifndef GL_REG_1_ATI
+#define GL_REG_1_ATI 0x8922
+#endif
+#ifndef GL_REG_2_ATI
+#define GL_REG_2_ATI 0x8923
+#endif
+#ifndef GL_CON_0_ATI
+#define GL_CON_0_ATI 0x8941
+#endif
+#ifndef GL_CON_1_ATI
+#define GL_CON_1_ATI 0x8942
+#endif
+#ifndef GL_CON_2_ATI
+#define GL_CON_2_ATI 0x8943
+#endif
+#ifndef GL_CON_3_ATI
+#define GL_CON_3_ATI 0x8944
+#endif
+#ifndef GL_ADD_ATI
+#define GL_ADD_ATI 0x8963
+#endif
+#ifndef GL_MUL_ATI
+#define GL_MUL_ATI 0x8964
+#endif
+#ifndef GL_MAD_ATI
+#define GL_MAD_ATI 0x8968
+#endif
+#ifndef GL_SWIZZLE_STR_ATI
+#define GL_SWIZZLE_STR_ATI 0x8976
+#endif
+#ifndef GL_4X_BIT_ATI
+#define GL_4X_BIT_ATI 2
+#endif
+#ifndef GL_8X_BIT_ATI
+#define GL_8X_BIT_ATI 4
+#endif
+#ifndef GL_BIAS_BIT_ATI
+#define GL_BIAS_BIT_ATI 8
+#endif
+#ifndef GL_MAX_TEXTURE_UNITS
+#define GL_MAX_TEXTURE_UNITS 0x84E2
+#endif
+#ifndef GL_TEXTURE0
+#define GL_TEXTURE0 0x84C0
+#endif
+#ifndef GL_TEXTURE1
+#define GL_TEXTURE1 0x84C1
+#endif
+#ifndef GL_TEXTURE2
+#define GL_TEXTURE2 0x84C2
+#endif
+#ifndef GL_TEXTURE3
+#define GL_TEXTURE3 0x84C3
+#endif
+#ifndef GL_TEXTURE_RECTANGLE
+#define GL_TEXTURE_RECTANGLE 0x84F5
+#endif
+#ifndef GL_PIXEL_UNPACK_BUFFER
+#define GL_PIXEL_UNPACK_BUFFER 0x88EC
+#endif
+#ifndef GL_STREAM_DRAW
+#define GL_STREAM_DRAW 0x88E0
+#endif
+#ifndef GL_DYNAMIC_DRAW
+#define GL_DYNAMIC_DRAW 0x88E8
+#endif
+#ifndef GL_WRITE_ONLY
+#define GL_WRITE_ONLY 0x88B9
+#endif
+#ifndef GL_BGR
+#define GL_BGR 0x80E0
+#endif
+#ifndef GL_BGRA
+#define GL_BGRA 0x80E1
+#endif
+#ifndef GL_UNSIGNED_BYTE_3_3_2
+#define GL_UNSIGNED_BYTE_3_3_2 0x8032
+#endif
+#ifndef GL_UNSIGNED_BYTE_2_3_3_REV
+#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
+#endif
+#ifndef GL_UNSIGNED_SHORT_4_4_4_4
+#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
+#endif
+#ifndef GL_UNSIGNED_SHORT_4_4_4_4_REV
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
+#endif
+#ifndef GL_UNSIGNED_SHORT_5_6_5
+#define GL_UNSIGNED_SHORT_5_6_5 0x8363
+#endif
+#ifndef GL_UNSIGNED_INT_8_8_8_8
+#define GL_UNSIGNED_INT_8_8_8_8 0x8035
+#endif
+#ifndef GL_UNSIGNED_INT_8_8_8_8_REV
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#endif
+#ifndef GL_UNSIGNED_SHORT_5_6_5_REV
+#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
+#endif
+#ifndef GL_UNSIGNED_INT_10_10_10_2
+#define GL_UNSIGNED_INT_10_10_10_2 0x8036
+#endif
+#ifndef GL_UNSIGNED_INT_2_10_10_10_REV
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#endif
+#ifndef GL_UNSIGNED_SHORT_5_5_5_1
+#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
+#endif
+#ifndef GL_UNSIGNED_SHORT_1_5_5_5_REV
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
+#endif
+#ifndef GL_UNSIGNED_SHORT_8_8
+#define GL_UNSIGNED_SHORT_8_8 0x85BA
+#endif
+#ifndef GL_UNSIGNED_SHORT_8_8_REV
+#define GL_UNSIGNED_SHORT_8_8_REV 0x85BB
+#endif
+#ifndef GL_YCBCR_MESA
+#define GL_YCBCR_MESA 0x8757
+#endif
+#ifndef GL_RGB32F
+#define GL_RGB32F 0x8815
+#endif
+#ifndef GL_FLOAT_RGB32_NV
+#define GL_FLOAT_RGB32_NV 0x8889
+#endif
+#ifndef GL_LUMINANCE16
+#define GL_LUMINANCE16 0x8042
+#endif
+#ifndef GL_R16
+#define GL_R16 0x822A
+#endif
+#ifndef GL_UNPACK_CLIENT_STORAGE_APPLE
+#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
+#endif
+#ifndef GL_FRAGMENT_PROGRAM
+#define GL_FRAGMENT_PROGRAM 0x8804
+#endif
+#ifndef GL_PROGRAM_FORMAT_ASCII
+#define GL_PROGRAM_FORMAT_ASCII 0x8875
+#endif
+#ifndef GL_PROGRAM_ERROR_POSITION
+#define GL_PROGRAM_ERROR_POSITION 0x864B
+#endif
+#ifndef GL_MAX_TEXTURE_IMAGE_UNITS
+#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
+#endif
+#ifndef GL_PROGRAM_ERROR_STRING
+#define GL_PROGRAM_ERROR_STRING 0x8874
+#endif
+/** \} */ // end of glextdefines group
+
+
+#if defined(CONFIG_GL_WIN32) && !defined(WGL_CONTEXT_MAJOR_VERSION_ARB)
+/* these are supposed to be defined in wingdi.h but mingw's is too old */
+/* only the bits actually used by mplayer are defined */
+/* reference: http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt */
+
+#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define WGL_CONTEXT_FLAGS_ARB 0x2094
+#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
+#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
+#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#endif
+
+// Define just enough constants to make the OpenGL 3 code compile against
+// older SDKs. Values are taken straight from OpenGL/gl3.h
+#if defined __APPLE__ && !(defined GL_VERSION_3_0)
+#define GL_RGBA16F 0x881A
+#define GL_RGB16F 0x881B
+#define GL_MAJOR_VERSION 0x821B
+#define GL_MINOR_VERSION 0x821C
+#define GL_NUM_EXTENSIONS 0x821D
+
+#ifndef GL_ARB_framebuffer_sRGB
+#define GL_FRAMEBUFFER_SRGB 0x8DB9
+#endif
+#endif
diff --git a/libvo/gtf.c b/libvo/gtf.c
deleted file mode 100644
index 6dd64a5..0000000
--- a/libvo/gtf.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * GTF calculations formulas are taken from GTF_V1R1.xls
- * created by ANDY.MORRISH at NSC.COM
- *
- * copyright (C) 2002 Rudolf Marek <r.marek at assembler.cz>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-//Version 0.4
-#include "config.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include "gtf.h"
-
-#undef GTF_DEBUG
-
-#ifdef GTF_DEBUG
-#define DEBUG_PRINTF(a,b) printf(a,b);
-#else
-#define DEBUG_PRINTF(a,b)
-#endif
-
-static GTF_constants GTF_given_constants = { 3.0,550.0,1,8,1.8,8,40,20,128,600 };
-
-static void GetRoundedConstants(GTF_constants *c)
- {
- c->Vsync_need = round(GTF_given_constants.Vsync_need);
- c->min_Vsync_BP = GTF_given_constants.min_Vsync_BP;
- c->min_front_porch = round(GTF_given_constants.min_front_porch);
- c->char_cell_granularity = GTF_given_constants.char_cell_granularity;
- c->margin_width = GTF_given_constants.margin_width;
- c->sync_width = GTF_given_constants.sync_width;
- c->c = ((GTF_given_constants.c - GTF_given_constants.j)*(GTF_given_constants.k / 256)) + GTF_given_constants.j;
- c->j = GTF_given_constants.j;
- c->k = GTF_given_constants.k;
- c->m = (GTF_given_constants.k / 256) * GTF_given_constants.m;
- }
-
-void GTF_calcTimings(double X,double Y,double freq, int type,
- int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result )
-{
- GTF_constants c;
- double RR, margin_top, margin_bottom, margin_left, margin_right;
- double estimated_H_period,sync_plus_BP,BP,interlace,V_total_lines_field;
- double estimated_V_field_rate,actual_H_period,actual_V_field_freq;
- double total_active_pixels, ideal_duty_cycle, blanking_time, H_total_pixels;
- double H_freq, pixel_freq,actual_V_frame_freq;
- double H_sync_start, H_sync_end, H_back_porch, H_front_porch, H_sync_width;
- double V_back_porch, V_front_porch, V_sync_start, V_sync_end,V_sync_width;
- double ideal_H_period;
- GetRoundedConstants(&c);
-
-
- pixel_freq = RR = freq;
-
- /* DETERMINE IF 1/2 LINE INTERLACE IS PRESENT */
-
- interlace = 0;
-
- if (want_interlace) {
- RR = RR * 2;
- Y=Y/2;
- interlace = 0.5;
- }
-
- result->Flags = 0;
-
- if ((Y==300)||(Y==200)||(Y==240))
- {
- Y*=2;
- result->Flags = VESA_CRTC_DOUBLESCAN; /* TODO: check if mode support */
- }
-
- /* DETERMINE NUMBER OF LINES IN V MARGIN */
- /* DETERMINE NUMBER OF PIXELS IN H MARGIN [pixels] */
-
- margin_left = margin_right = 0;
- margin_top = margin_bottom = 0;
-
- if (want_margins) {
- margin_top = margin_bottom = (c.margin_width / 100) * Y;
- margin_left = round(( X* c.margin_width/100)/c.char_cell_granularity) \
- * c.char_cell_granularity;
- margin_right = margin_left;
- DEBUG_PRINTF("margin_left_right : %f\n",margin_right)
- DEBUG_PRINTF("margin_top_bottom : %f\n",margin_top)
- }
-
- /* FIND TOTAL NUMBER OF ACTIVE PIXELS (IMAGE + MARGIN) [pixels] */
-
- total_active_pixels = margin_left + margin_right + X;
- DEBUG_PRINTF("total_active_pixels: %f\n",total_active_pixels)
-
- if (type == GTF_PF)
- {
- ideal_H_period = ((c.c-100)+(sqrt(((100-c.c)*(100-c.c) )+(0.4*c.m*(total_active_pixels + margin_left + margin_right) / freq))))/2/c.m*1000;
-
- DEBUG_PRINTF("ideal_H_period: %f\n",ideal_H_period)
-
- /* FIND IDEAL BLANKING DUTY CYCLE FROM FORMULA [%] */
- ideal_duty_cycle = c.c - (c.m * ideal_H_period /1000);
- DEBUG_PRINTF("ideal_duty_cycle: %f\n",ideal_duty_cycle)
-
- /* FIND BLANKING TIME (TO NEAREST CHAR CELL) [pixels] */
-
- blanking_time = round(total_active_pixels * ideal_duty_cycle \
- / (100-ideal_duty_cycle) / (2*c.char_cell_granularity)) \
- * (2*c.char_cell_granularity);
- DEBUG_PRINTF("blanking_time : %f\n",blanking_time )
-
- /* FIND TOTAL NUMBER OF PIXELS IN A LINE [pixels] */
- H_total_pixels = total_active_pixels + blanking_time ;
- DEBUG_PRINTF("H_total_pixels: %f\n",H_total_pixels)
- H_freq = freq / H_total_pixels * 1000;
- DEBUG_PRINTF("H_freq: %f\n",H_freq)
- actual_H_period = 1000 / H_freq;
- DEBUG_PRINTF("actual_H_period: %f\n",actual_H_period)
- sync_plus_BP = round(H_freq * c.min_Vsync_BP/1000);
-// sync_plus_BP = round( freq / H_total_pixels * c.min_Vsync_BP);
-
- DEBUG_PRINTF("sync_plus_BP: %f\n",sync_plus_BP)
-
- } else if (type == GTF_VF)
- {
-
- /* ESTIMATE HORIZ. PERIOD [us] */
-
- estimated_H_period = (( 1/RR ) - c.min_Vsync_BP/1000000 ) / (Y + (2 * margin_top) + c.min_front_porch + interlace) * 1000000;
-
- DEBUG_PRINTF("estimated_H_period: %f\n",estimated_H_period)
-
- /* FIND NUMBER OF LINES IN (SYNC + BACK PORCH) [lines] */
-
- sync_plus_BP = round( c.min_Vsync_BP / estimated_H_period );
- DEBUG_PRINTF("sync_plus_BP: %f\n",sync_plus_BP)
-
- } else if (type == GTF_HF)
- {
- sync_plus_BP = round(freq * c.min_Vsync_BP/1000);
- DEBUG_PRINTF("sync_plus_BP: %f\n",sync_plus_BP)
- }
-
-
-
- /* FIND TOTAL NUMBER OF LINES IN VERTICAL FIELD */
-
- V_total_lines_field = sync_plus_BP+interlace+margin_bottom+margin_top+Y+c.min_front_porch;
- DEBUG_PRINTF("V_total_lines_field : %f\n",V_total_lines_field )
-
- if (type == GTF_VF)
- {
- /* ESTIMATE VERTICAL FIELD RATE [hz] */
-
- estimated_V_field_rate = 1 / estimated_H_period / V_total_lines_field * 1000000;
- DEBUG_PRINTF(" estimated_V_field_rate: %f\n", estimated_V_field_rate)
- /* FIND ACTUAL HORIZONTAL PERIOD [us] */
-
- actual_H_period = estimated_H_period / (RR / estimated_V_field_rate);
- DEBUG_PRINTF("actual_H_period: %f\n",actual_H_period)
- /* FIND ACTUAL VERTICAL FIELD FREQUENCY [Hz] */
-
- actual_V_field_freq = 1 / actual_H_period / V_total_lines_field * 1000000;
- DEBUG_PRINTF("actual_V_field_freq: %f\n",actual_V_field_freq)
-
- /* FIND IDEAL BLANKING DUTY CYCLE FROM FORMULA [%] */
- ideal_duty_cycle = c.c - (c.m * actual_H_period /1000);
- DEBUG_PRINTF("ideal_duty_cycle: %f\n",ideal_duty_cycle)
- //if (type == GTF_VF)
- //{
- //moved
- //}
- } else if (type == GTF_HF)
- {
- /* FIND IDEAL BLANKING DUTY CYCLE FROM FORMULA [%] */
- ideal_duty_cycle = c.c - (c.m / freq);
- DEBUG_PRINTF("ideal_duty_cycle: %f\n",ideal_duty_cycle)
- }
-
- /* FIND BLANKING TIME (TO NEAREST CHAR CELL) [pixels] */
-
- if (!(type == GTF_PF))
- {
- blanking_time = round(total_active_pixels * ideal_duty_cycle \
- / (100-ideal_duty_cycle) / (2*c.char_cell_granularity)) \
- * (2*c.char_cell_granularity);
- DEBUG_PRINTF("blanking_time : %f\n",blanking_time )
- }
- else
-// if (type == GTF_PF)
- {
- actual_V_field_freq = H_freq / V_total_lines_field * 1000;
- }
-
- if (type == GTF_HF)
- {
- /* Hz */
- actual_V_field_freq = freq / V_total_lines_field * 1000;
- DEBUG_PRINTF("actual_V_field_freq: %f\n",actual_V_field_freq)
- }
-
-
- actual_V_frame_freq = actual_V_field_freq;
-
- /* FIND ACTUAL VERTICAL FRAME FREQUENCY [Hz]*/
-
- if (want_interlace) actual_V_frame_freq = actual_V_field_freq / 2;
- DEBUG_PRINTF("actual_V_frame_freq: %f\n",actual_V_frame_freq)
-
-// V_freq = actual_V_frame_freq;
-// DEBUG_PRINTF("V_freq %f\n",V_freq)
-
-
- if (!(type == GTF_PF))
- {
- /* FIND TOTAL NUMBER OF PIXELS IN A LINE [pixels] */
- H_total_pixels = total_active_pixels + blanking_time ;
- DEBUG_PRINTF("H_total_pixels: %f\n",H_total_pixels)
- if (type == GTF_VF)
- {
- /* FIND PIXEL FREQUENCY [Mhz] */
- pixel_freq = H_total_pixels / actual_H_period ;
- DEBUG_PRINTF("pixel_freq: %f\n",pixel_freq)
- } else if (type == GTF_HF)
- {
- /* FIND PIXEL FREQUENCY [Mhz] */
- pixel_freq = H_total_pixels * freq / 1000 ;
- DEBUG_PRINTF("pixel_freq: %f\n",pixel_freq)
- actual_H_period = 1000/freq;
- }
-
- /* FIND ACTUAL HORIZONTAL FREQUENCY [KHz] */
-
- H_freq = 1000 / actual_H_period;
- DEBUG_PRINTF("H_freq %f\n",H_freq)
-
-
- }
-
- /* FIND NUMBER OF LINES IN BACK PORCH [lines] */
-
- BP = sync_plus_BP - c.Vsync_need;
- DEBUG_PRINTF("BP: %f\n",BP)
-
-/*------------------------------------------------------------------------------------------------*/
- /* FIND H SYNC WIDTH (TO NEAREST CHAR CELL) */
- H_sync_width = round(c.sync_width/100*H_total_pixels/c.char_cell_granularity)*c.char_cell_granularity;
- DEBUG_PRINTF("H_sync_width %f\n",H_sync_width)
-
- /* FIND FRONT H PORCH(TO NEAREST CHAR CELL) */
- H_front_porch = (blanking_time/2) - H_sync_width;
- DEBUG_PRINTF("H_front_porch %f\n",H_front_porch)
- /* FIND BACK H PORCH(TO NEAREST CHAR CELL) */
- H_back_porch = H_sync_width + H_front_porch;
- DEBUG_PRINTF("H_back_porch%f\n",H_back_porch)
-
- H_sync_start = H_total_pixels - (H_sync_width + H_back_porch);
- DEBUG_PRINTF("H_sync_start %f\n",H_sync_start)
- H_sync_end = H_total_pixels - H_back_porch;
- DEBUG_PRINTF("H_sync_end %f\n",H_sync_end)
-
- V_back_porch = interlace + BP;
- DEBUG_PRINTF("V_back_porch%f\n",V_back_porch)
- V_front_porch = interlace + c.min_front_porch;
- DEBUG_PRINTF("V_front_porch%f\n",V_front_porch)
-
- V_sync_width = c.Vsync_need;
- V_sync_start = V_total_lines_field - (V_sync_width + V_back_porch);
- DEBUG_PRINTF("V_sync_start %f\n",V_sync_start)
- V_sync_end = V_total_lines_field - V_back_porch;
- DEBUG_PRINTF("V_sync_end %f\n",V_sync_end)
-
- result->hTotal = H_total_pixels;
- result-> hSyncStart = H_sync_start; /* Horizontal sync start in pixels */
- result-> hSyncEnd = H_sync_end; /* Horizontal sync end in pixels */
- result-> vTotal= V_total_lines_field; /* Vertical total in lines */
- result-> vSyncStart = V_sync_start; /* Vertical sync start in lines */
- result-> vSyncEnd = V_sync_end; /* Vertical sync end in lines */
- result-> Flags = (result->Flags)|VESA_CRTC_HSYNC_NEG; /* Flags (Interlaced, Double Scan etc) */
-
- if (want_interlace)
- {
- result->Flags = (result->Flags) | VESA_CRTC_INTERLACED;
- }
-
- result-> PixelClock = pixel_freq*1000000; /* Pixel clock in units of Hz */
- result-> RefreshRate = actual_V_frame_freq*100;/* Refresh rate in units of 0.01 Hz*/
-
- }
diff --git a/libvo/gtf.h b/libvo/gtf.h
deleted file mode 100644
index 837fc24..0000000
--- a/libvo/gtf.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_GTF_H
-#define MPLAYER_GTF_H
-
-#include <vbe.h>
-
-#define GTF_VF 0
-#define GTF_HF 1
-#define GTF_PF 2
-
-
-typedef struct {
- double Vsync_need; /* Number of lines for vert sync (default 3) */
- double min_Vsync_BP; /* Minimum vertical sync + back porch (us) (default 550)*/
- double min_front_porch; /* Minimum front porch in lines (default 1) */
- double char_cell_granularity; /* Character cell granularity in pixels (default 8) */
- double margin_width; /* Top/ bottom MARGIN size as % of height (%) (default 1.8) */
- double sync_width; /* Sync width percent of line period ( default 8) */
- double c; /* Blanking formula offset (default 40)*/
- double j; /* Blanking formula scaling factor weight (default 20)*/
- double k; /* Blanking formula scaling factor (default 128)*/
- double m; /* Blanking formula gradient (default 600)*/
- } GTF_constants;
-
-//#ifndef __VESA_VBELIB_INCLUDED__
-// struct VesaCRTCInfoBlock {
-// unsigned short hTotal; /* Horizontal total in pixels */
-// unsigned short hSyncStart; /* Horizontal sync start in pixels */
-// unsigned short hSyncEnd; /* Horizontal sync end in pixels */
-// unsigned short vTotal; /* Vertical total in lines */
-// unsigned short vSyncStart; /* Vertical sync start in lines */
-// unsigned short vSyncEnd; /* Vertical sync end in lines */
-// unsigned char Flags; /* Flags (Interlaced, Double Scan etc) */
-// unsigned long PixelClock; /* Pixel clock in units of Hz */
-// unsigned short RefreshRate;/* Refresh rate in units of 0.01 Hz*/
-// unsigned char Reserved[40];/* remainder of CRTCInfoBlock*/
-//}__attribute__ ((packed));
-
-//#define VESA_CRTC_DOUBLESCAN 0x01
-//#define VESA_CRTC_INTERLACED 0x02
-//#define VESA_CRTC_HSYNC_NEG 0x04
-//#define VESA_CRTC_VSYNC_NEG 0x08
-
-//#endif
-
-void GTF_calcTimings(double X,double Y,double freq, int type,
- int want_margins, int want_interlace,struct VesaCRTCInfoBlock *result);
-
-#endif /* MPLAYER_GTF_H */
diff --git a/libvo/matrixview_font.h b/libvo/matrixview_font.h
deleted file mode 100644
index b12e8bb..0000000
--- a/libvo/matrixview_font.h
+++ /dev/null
@@ -1,606 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_MATRIXVIEW_FONT_H
-#define MPLAYER_MATRIXVIEW_FONT_H
-
-#include <stdint.h>
-
-#define FONT_TEXTURE_W 128
-#define FONT_TEXTURE_H 64
-static const uint8_t font_texture[FONT_TEXTURE_H][FONT_TEXTURE_W] = {
- {
- 2, 2, 2, 2, 5, 20, 52, 77, 13, 2, 2, 2, 2, 2, 2, 3,
- 13, 42, 67, 71, 66, 34, 7, 2, 2, 2, 2, 4, 36, 69, 71, 71,
- 71, 71, 70, 35, 4, 3, 2, 2, 2, 2, 2, 3, 2, 29, 70, 71,
- 39, 3, 2, 3, 3, 44, 71, 71, 71, 72, 71, 71, 71, 65, 13, 2,
- 3, 2, 3, 5, 30, 64, 72, 71, 45, 13, 3, 2, 2, 2, 29, 71,
- 71, 71, 71, 71, 71, 71, 71, 47, 2, 2, 2, 2, 2, 5, 26, 58,
- 63, 36, 7, 2, 2, 2, 2, 2, 2, 12, 58, 71, 71, 71, 71, 61,
- 15, 2, 2, 2, 2, 3, 2, 3, 2, 2, 2, 2, 3, 2, 3, 5
- }, {
- 2, 2, 2, 3, 30, 122, 127, 122, 20, 3, 2, 2, 2, 2, 3, 33,
- 110, 125, 85, 54, 64, 111, 80, 8, 3, 3, 3, 20, 92, 63, 50, 50,
- 83, 125, 127, 121, 29, 2, 2, 2, 2, 2, 3, 3, 14, 106, 118, 127,
- 74, 2, 3, 3, 3, 42, 67, 67, 67, 67, 67, 102, 127, 120, 22, 3,
- 2, 3, 8, 79, 125, 115, 73, 103, 127, 107, 28, 3, 2, 2, 21, 50,
- 50, 49, 50, 50, 56, 118, 127, 85, 2, 2, 2, 2, 6, 65, 124, 127,
- 123, 126, 89, 15, 2, 2, 2, 2, 3, 80, 127, 126, 65, 62, 124, 127,
- 86, 5, 3, 2, 3, 3, 4, 12, 13, 7, 7, 12, 12, 4, 3, 6
- }, {
- 2, 2, 2, 3, 12, 59, 125, 123, 20, 3, 2, 2, 2, 2, 7, 102,
- 127, 99, 5, 3, 3, 24, 90, 32, 3, 3, 3, 3, 2, 3, 3, 3,
- 5, 86, 127, 127, 51, 3, 2, 2, 2, 2, 3, 5, 78, 101, 70, 127,
- 74, 3, 3, 3, 2, 3, 3, 3, 3, 3, 2, 71, 127, 120, 23, 2,
- 3, 3, 50, 126, 126, 35, 2, 14, 113, 127, 78, 5, 3, 3, 3, 3,
- 2, 2, 3, 3, 21, 118, 127, 78, 2, 2, 2, 2, 36, 125, 127, 77,
- 35, 106, 127, 76, 2, 2, 2, 2, 2, 93, 127, 109, 12, 35, 123, 127,
- 100, 7, 3, 3, 3, 3, 16, 105, 110, 47, 54, 109, 98, 15, 3, 5
- }, {
- 2, 2, 2, 2, 3, 31, 124, 123, 21, 2, 2, 2, 2, 2, 9, 112,
- 127, 93, 4, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3,
- 2, 64, 127, 127, 51, 3, 2, 2, 2, 2, 3, 47, 116, 33, 62, 127,
- 73, 3, 3, 2, 3, 7, 48, 77, 77, 77, 78, 107, 127, 119, 22, 3,
- 2, 3, 90, 127, 114, 14, 3, 5, 94, 127, 95, 7, 3, 3, 3, 3,
- 3, 3, 3, 4, 64, 127, 123, 29, 2, 2, 2, 2, 45, 127, 126, 56,
- 15, 93, 127, 82, 2, 2, 2, 2, 3, 93, 127, 108, 15, 95, 127, 127,
- 99, 8, 3, 3, 3, 2, 29, 127, 127, 41, 78, 127, 110, 14, 3, 6
- }, {
- 2, 2, 2, 2, 2, 30, 124, 123, 20, 2, 2, 2, 2, 2, 5, 83,
- 127, 113, 11, 2, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3,
- 3, 68, 127, 127, 51, 3, 3, 3, 2, 3, 20, 111, 62, 3, 62, 127,
- 74, 2, 2, 3, 3, 50, 126, 127, 118, 66, 47, 47, 47, 43, 9, 2,
- 2, 3, 98, 127, 125, 23, 3, 11, 110, 127, 87, 5, 3, 2, 2, 2,
- 3, 3, 3, 26, 118, 127, 73, 4, 3, 2, 2, 2, 12, 100, 127, 122,
- 109, 127, 115, 31, 2, 2, 2, 2, 2, 94, 127, 109, 55, 125, 127, 127,
- 99, 7, 2, 3, 3, 3, 42, 127, 124, 32, 92, 127, 100, 7, 3, 5
- }, {
- 2, 2, 2, 2, 2, 30, 124, 122, 20, 2, 2, 2, 2, 2, 2, 14,
- 88, 126, 91, 18, 3, 3, 2, 2, 2, 2, 3, 3, 2, 9, 9, 10,
- 25, 108, 127, 127, 48, 3, 2, 3, 4, 7, 86, 99, 15, 10, 66, 127,
- 73, 2, 2, 2, 2, 65, 127, 127, 61, 4, 3, 3, 2, 2, 2, 2,
- 2, 3, 92, 127, 127, 94, 48, 82, 126, 124, 57, 3, 3, 2, 2, 2,
- 2, 4, 8, 91, 127, 106, 15, 3, 2, 2, 2, 2, 3, 53, 125, 127,
- 127, 127, 74, 6, 2, 2, 2, 2, 2, 93, 127, 115, 115, 98, 121, 127,
- 99, 7, 2, 2, 3, 3, 59, 127, 120, 26, 100, 127, 92, 3, 3, 5
- }, {
- 2, 2, 2, 2, 2, 30, 124, 123, 20, 2, 2, 2, 2, 2, 3, 3,
- 10, 66, 121, 110, 42, 5, 3, 2, 2, 2, 3, 2, 3, 87, 102, 103,
- 114, 119, 118, 91, 15, 3, 3, 3, 3, 54, 126, 114, 102, 102, 115, 127,
- 74, 3, 2, 2, 2, 66, 127, 127, 50, 3, 3, 3, 2, 2, 2, 2,
- 2, 3, 72, 127, 114, 84, 104, 105, 91, 46, 5, 3, 3, 2, 2, 2,
- 2, 3, 51, 126, 126, 47, 3, 3, 2, 2, 2, 2, 29, 120, 127, 107,
- 82, 122, 125, 49, 2, 2, 2, 2, 3, 93, 127, 127, 123, 36, 117, 127,
- 99, 7, 2, 2, 3, 3, 75, 127, 115, 24, 108, 127, 80, 3, 3, 5
- }, {
- 2, 2, 2, 2, 2, 30, 124, 123, 20, 2, 2, 2, 2, 2, 2, 3,
- 3, 4, 35, 107, 122, 66, 10, 3, 2, 2, 3, 3, 3, 34, 86, 120,
- 112, 63, 29, 5, 3, 2, 3, 3, 4, 44, 59, 59, 59, 59, 93, 127,
- 73, 3, 2, 2, 2, 65, 127, 127, 53, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 32, 122, 125, 40, 3, 3, 2, 3, 3, 3, 3, 2, 2, 2,
- 2, 7, 97, 127, 105, 10, 3, 3, 3, 2, 2, 2, 52, 127, 126, 45,
- 5, 88, 127, 78, 2, 2, 2, 2, 3, 93, 127, 127, 83, 9, 117, 127,
- 99, 7, 2, 2, 3, 3, 72, 111, 94, 20, 101, 111, 55, 2, 3, 5
- }, {
- 6, 5, 6, 6, 6, 60, 249, 246, 40, 6, 5, 5, 5, 5, 13, 21,
- 22, 22, 22, 47, 174, 254, 193, 49, 6, 5, 6, 16, 37, 36, 38, 83,
- 183, 249, 209, 116, 23, 5, 6, 6, 6, 6, 7, 6, 5, 5, 123, 255,
- 149, 5, 5, 5, 5, 129, 255, 255, 193, 42, 10, 8, 44, 61, 12, 5,
- 6, 6, 7, 124, 243, 225, 82, 17, 6, 7, 7, 6, 6, 6, 5, 5,
- 6, 20, 208, 255, 192, 6, 6, 5, 6, 5, 6, 5, 51, 237, 255, 199,
- 149, 236, 249, 87, 6, 5, 5, 5, 5, 184, 255, 254, 72, 38, 238, 255,
- 196, 14, 7, 6, 6, 5, 17, 24, 20, 8, 23, 24, 15, 5, 5, 5
- }, {
- 7, 6, 6, 6, 5, 55, 226, 221, 38, 6, 5, 5, 5, 5, 96, 192,
- 191, 192, 192, 191, 197, 234, 234, 151, 7, 6, 6, 74, 209, 209, 209, 210,
- 210, 230, 235, 231, 85, 6, 6, 5, 21, 152, 174, 174, 174, 175, 204, 235,
- 131, 5, 5, 5, 5, 53, 202, 233, 234, 210, 180, 176, 209, 151, 15, 5,
- 6, 6, 6, 7, 63, 169, 215, 184, 148, 128, 14, 6, 6, 6, 6, 6,
- 6, 18, 189, 235, 174, 6, 6, 6, 7, 6, 7, 6, 8, 82, 205, 242,
- 244, 215, 115, 11, 6, 7, 6, 6, 6, 90, 219, 234, 205, 204, 235, 218,
- 100, 7, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 6, 6, 6, 7, 5, 13, 39, 36, 10, 6, 6, 5, 5, 5, 23, 40,
- 40, 40, 39, 40, 40, 40, 39, 29, 6, 6, 6, 17, 38, 40, 40, 39,
- 40, 41, 39, 41, 17, 6, 6, 6, 11, 50, 58, 49, 39, 38, 39, 38,
- 25, 5, 5, 5, 5, 12, 37, 56, 58, 57, 58, 57, 51, 21, 6, 6,
- 6, 6, 6, 7, 5, 5, 27, 38, 39, 39, 10, 6, 6, 6, 7, 6,
- 5, 7, 33, 40, 30, 6, 6, 7, 6, 5, 6, 6, 18, 25, 36, 68,
- 71, 40, 24, 23, 23, 9, 5, 6, 6, 6, 26, 40, 40, 40, 38, 25,
- 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 137, 201, 200, 201, 201, 201, 200, 201, 168, 18, 5, 5, 5, 5, 5,
- 5, 6, 18, 25, 36, 44, 59, 51, 10, 7, 5, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 5, 15, 168, 217, 123, 5, 6, 6, 6,
- 6, 6, 5, 5, 5, 76, 192, 194, 195, 195, 194, 210, 217, 158, 6, 5,
- 6, 6, 5, 5, 5, 6, 6, 5, 6, 6, 6, 6, 6, 5, 5, 16,
- 78, 78, 78, 79, 78, 79, 62, 10, 5, 6, 6, 10, 125, 175, 176, 177,
- 175, 182, 216, 218, 183, 33, 6, 6, 6, 7, 6, 6, 6, 6, 5, 6,
- 6, 6, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 173, 247, 178, 168, 170, 169, 169, 169, 140, 15, 5, 5, 5, 61, 172,
- 187, 204, 213, 220, 230, 238, 247, 212, 23, 5, 5, 6, 6, 6, 6, 19,
- 121, 179, 147, 36, 7, 6, 5, 8, 45, 209, 255, 166, 44, 43, 43, 43,
- 42, 28, 5, 5, 5, 18, 36, 37, 37, 37, 74, 235, 255, 183, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 5, 6, 6, 45,
- 249, 248, 254, 255, 251, 248, 192, 16, 6, 6, 7, 7, 16, 22, 22, 22,
- 22, 45, 243, 255, 134, 8, 6, 5, 6, 24, 78, 83, 60, 10, 5, 6,
- 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 173, 228, 26, 7, 6, 5, 6, 6, 5, 5, 5, 5, 5, 111, 255,
- 251, 246, 232, 226, 210, 202, 190, 147, 17, 6, 6, 7, 6, 6, 62, 196,
- 252, 181, 49, 7, 6, 6, 6, 23, 200, 252, 255, 248, 237, 238, 238, 238,
- 238, 151, 5, 5, 5, 5, 6, 5, 6, 30, 201, 255, 245, 85, 5, 6,
- 6, 6, 6, 7, 6, 6, 6, 6, 7, 6, 6, 7, 6, 7, 5, 12,
- 51, 52, 184, 255, 105, 52, 40, 8, 6, 5, 6, 7, 33, 44, 44, 44,
- 44, 66, 244, 255, 144, 11, 6, 6, 6, 21, 123, 236, 244, 153, 32, 6,
- 6, 7, 5, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 173, 228, 27, 6, 6, 6, 5, 5, 6, 5, 5, 5, 5, 28, 70,
- 75, 85, 81, 93, 86, 97, 84, 5, 6, 6, 8, 6, 21, 132, 239, 230,
- 106, 19, 6, 6, 6, 7, 6, 13, 85, 215, 255, 191, 96, 96, 96, 96,
- 96, 62, 5, 5, 5, 6, 6, 6, 17, 175, 255, 249, 114, 8, 5, 7,
- 5, 5, 23, 28, 27, 27, 12, 22, 28, 28, 27, 11, 5, 6, 6, 6,
- 6, 6, 169, 255, 71, 5, 6, 7, 6, 6, 6, 12, 174, 240, 240, 240,
- 239, 241, 255, 255, 230, 43, 6, 6, 6, 7, 7, 53, 183, 253, 214, 83,
- 9, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 173, 228, 26, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 101,
- 226, 236, 240, 249, 251, 255, 213, 6, 6, 6, 5, 5, 47, 211, 255, 184,
- 36, 6, 6, 6, 5, 7, 6, 6, 6, 158, 255, 179, 7, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 6, 12, 146, 253, 253, 143, 11, 6, 6, 6,
- 6, 13, 193, 227, 227, 225, 47, 199, 226, 227, 216, 39, 5, 6, 6, 7,
- 6, 6, 168, 255, 70, 7, 6, 5, 6, 6, 6, 7, 44, 60, 60, 60,
- 60, 79, 246, 255, 152, 14, 6, 6, 6, 6, 5, 7, 17, 130, 253, 247,
- 132, 10, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 2, 86, 114, 13, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2, 2, 49,
- 107, 101, 97, 90, 83, 78, 54, 2, 3, 3, 3, 3, 3, 14, 75, 123,
- 110, 45, 5, 2, 3, 3, 2, 3, 4, 42, 127, 114, 16, 3, 3, 3,
- 2, 2, 2, 2, 2, 2, 4, 54, 124, 127, 89, 8, 2, 3, 3, 3,
- 2, 4, 24, 28, 28, 26, 6, 25, 28, 28, 26, 4, 2, 3, 3, 3,
- 3, 3, 83, 127, 35, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3,
- 2, 15, 120, 127, 64, 3, 2, 3, 2, 2, 3, 3, 40, 106, 126, 92,
- 27, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5
- }, {
- 3, 86, 114, 13, 3, 3, 3, 2, 2, 2, 3, 3, 2, 3, 11, 33,
- 47, 45, 52, 58, 67, 79, 83, 80, 9, 4, 3, 3, 3, 3, 5, 37,
- 103, 118, 73, 12, 3, 3, 3, 3, 3, 10, 98, 127, 67, 3, 3, 3,
- 3, 2, 2, 2, 2, 3, 38, 120, 127, 103, 17, 3, 3, 3, 3, 3,
- 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
- 3, 3, 83, 127, 35, 2, 3, 3, 2, 3, 3, 2, 3, 3, 3, 3,
- 3, 25, 126, 127, 63, 3, 3, 3, 3, 3, 15, 77, 123, 116, 55, 9,
- 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5
- }, {
- 3, 86, 121, 71, 65, 65, 65, 65, 64, 64, 64, 33, 2, 3, 51, 121,
- 125, 126, 127, 127, 127, 127, 127, 110, 12, 3, 3, 3, 22, 26, 27, 26,
- 34, 43, 42, 23, 3, 3, 3, 3, 3, 3, 29, 114, 122, 51, 5, 3,
- 3, 2, 2, 2, 2, 21, 113, 127, 113, 26, 3, 3, 3, 2, 3, 3,
- 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 5, 61,
- 81, 81, 112, 127, 94, 81, 81, 35, 3, 2, 3, 3, 2, 3, 3, 3,
- 10, 89, 127, 127, 53, 3, 3, 3, 3, 16, 77, 98, 84, 23, 3, 3,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5
- }, {
- 3, 82, 121, 121, 121, 121, 121, 121, 121, 121, 121, 61, 4, 3, 42, 89,
- 84, 76, 71, 57, 52, 40, 31, 19, 4, 3, 2, 3, 98, 115, 115, 115,
- 115, 114, 115, 82, 6, 3, 2, 3, 3, 3, 3, 25, 91, 122, 88, 46,
- 28, 13, 2, 2, 2, 40, 126, 127, 73, 40, 40, 39, 40, 33, 3, 3,
- 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 7, 90,
- 121, 121, 121, 121, 121, 121, 121, 53, 3, 3, 3, 5, 60, 82, 83, 83,
- 107, 127, 127, 109, 18, 3, 3, 3, 3, 4, 7, 8, 5, 3, 3, 3,
- 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5
- }, {
- 2, 12, 17, 17, 16, 17, 17, 16, 16, 17, 16, 9, 2, 2, 4, 5,
- 2, 3, 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 15, 17, 17, 16,
- 17, 17, 17, 12, 3, 3, 3, 3, 2, 3, 2, 3, 7, 32, 63, 69,
- 58, 20, 3, 3, 2, 26, 82, 83, 82, 81, 82, 82, 81, 67, 2, 3,
- 3, 2, 2, 3, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 13,
- 16, 17, 17, 17, 17, 17, 17, 9, 3, 3, 2, 5, 62, 83, 83, 83,
- 82, 83, 71, 22, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 3, 3,
- 3, 3, 3, 2, 3, 3, 2, 3, 3, 2, 3, 3, 2, 3, 2, 5
- }, {
- 2, 2, 2, 3, 3, 3, 14, 28, 29, 10, 3, 2, 2, 2, 3, 3,
- 3, 2, 2, 3, 3, 3, 3, 2, 2, 2, 3, 7, 27, 29, 6, 3,
- 2, 4, 23, 28, 11, 3, 3, 3, 11, 29, 28, 28, 29, 28, 29, 28,
- 29, 24, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3,
- 3, 3, 3, 3, 3, 2, 2, 2, 3, 23, 28, 26, 4, 3, 3, 3,
- 17, 29, 13, 3, 10, 28, 20, 3, 2, 3, 3, 2, 4, 27, 27, 4,
- 3, 19, 25, 5, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 12, 28,
- 17, 3, 3, 3, 3, 3, 3, 3, 5, 15, 16, 5, 3, 3, 3, 5
- }, {
- 2, 2, 2, 3, 3, 3, 36, 121, 122, 51, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 3, 2, 2, 2, 2, 3, 24, 114, 122, 18, 3,
- 2, 15, 113, 115, 19, 3, 3, 3, 38, 122, 122, 122, 122, 122, 122, 122,
- 122, 101, 9, 2, 8, 96, 103, 104, 103, 103, 104, 103, 103, 103, 59, 3,
- 3, 15, 43, 42, 43, 43, 43, 43, 45, 103, 122, 113, 7, 3, 3, 2,
- 73, 122, 55, 2, 38, 122, 85, 3, 2, 3, 3, 3, 10, 115, 114, 8,
- 3, 76, 112, 15, 2, 2, 2, 2, 11, 49, 53, 53, 53, 53, 79, 121,
- 84, 23, 3, 3, 3, 3, 14, 30, 44, 115, 115, 48, 30, 18, 3, 5
- }, {
- 2, 2, 2, 2, 3, 3, 18, 116, 127, 84, 4, 2, 2, 2, 2, 3,
- 3, 38, 104, 105, 78, 3, 2, 2, 2, 2, 2, 26, 121, 127, 18, 2,
- 2, 52, 127, 92, 6, 3, 2, 3, 34, 127, 127, 77, 35, 35, 36, 35,
- 35, 28, 4, 3, 10, 120, 127, 103, 80, 80, 80, 80, 80, 80, 47, 2,
- 3, 37, 118, 117, 118, 118, 118, 117, 119, 126, 127, 118, 7, 2, 3, 3,
- 79, 127, 59, 3, 41, 127, 89, 2, 3, 3, 3, 3, 48, 125, 124, 75,
- 73, 107, 123, 60, 2, 2, 2, 2, 22, 119, 112, 93, 93, 93, 114, 127,
- 104, 39, 3, 3, 3, 3, 53, 122, 124, 127, 127, 124, 122, 75, 2, 6
- }, {
- 6, 5, 7, 10, 13, 12, 9, 192, 255, 221, 24, 6, 7, 6, 6, 6,
- 6, 97, 255, 255, 198, 7, 6, 5, 5, 5, 6, 70, 249, 255, 38, 8,
- 11, 182, 253, 103, 6, 7, 6, 6, 48, 255, 255, 120, 58, 146, 70, 6,
- 6, 6, 6, 7, 17, 229, 255, 135, 6, 7, 7, 6, 6, 6, 7, 7,
- 7, 12, 28, 28, 28, 29, 29, 28, 35, 200, 255, 237, 15, 5, 6, 6,
- 174, 255, 99, 6, 83, 255, 177, 5, 6, 7, 7, 10, 104, 251, 250, 164,
- 160, 219, 247, 130, 5, 5, 5, 5, 24, 223, 173, 17, 12, 16, 176, 252,
- 62, 8, 7, 5, 8, 6, 56, 134, 155, 252, 253, 160, 134, 78, 6, 5
- }, {
- 5, 6, 24, 197, 233, 207, 31, 128, 255, 255, 62, 6, 6, 6, 6, 5,
- 6, 48, 130, 131, 97, 6, 5, 5, 5, 5, 5, 53, 242, 255, 39, 6,
- 16, 145, 151, 26, 7, 6, 7, 6, 36, 237, 255, 237, 246, 251, 80, 6,
- 6, 5, 6, 6, 15, 212, 255, 180, 11, 6, 6, 6, 7, 6, 7, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 12, 194, 255, 236, 15, 6, 6, 5,
- 172, 255, 86, 5, 56, 184, 126, 5, 5, 6, 6, 6, 22, 242, 240, 17,
- 5, 115, 166, 24, 5, 5, 5, 5, 6, 135, 232, 48, 8, 11, 203, 247,
- 29, 6, 7, 5, 5, 6, 30, 68, 74, 248, 248, 104, 50, 5, 6, 6
- }, {
- 6, 6, 73, 253, 255, 172, 7, 71, 249, 255, 134, 6, 6, 6, 5, 5,
- 5, 6, 6, 6, 5, 6, 5, 5, 5, 5, 6, 28, 231, 255, 54, 7,
- 6, 6, 7, 6, 6, 7, 6, 9, 126, 248, 255, 241, 145, 57, 12, 7,
- 6, 5, 7, 7, 9, 133, 254, 240, 49, 6, 6, 17, 71, 64, 16, 8,
- 6, 5, 5, 5, 5, 5, 5, 5, 12, 195, 255, 237, 14, 6, 6, 6,
- 144, 255, 103, 5, 8, 12, 12, 5, 6, 6, 6, 6, 17, 223, 240, 21,
- 6, 11, 12, 5, 5, 5, 5, 5, 6, 16, 110, 161, 70, 12, 229, 227,
- 20, 6, 6, 5, 5, 7, 122, 247, 133, 246, 249, 236, 180, 6, 7, 6
- }, {
- 6, 6, 154, 255, 254, 90, 6, 22, 224, 255, 189, 14, 6, 6, 6, 6,
- 7, 39, 100, 102, 75, 6, 5, 5, 5, 5, 6, 8, 191, 255, 117, 6,
- 6, 6, 6, 6, 5, 6, 5, 15, 184, 213, 255, 227, 34, 6, 6, 7,
- 6, 6, 6, 7, 6, 23, 195, 255, 198, 33, 6, 93, 248, 220, 26, 6,
- 5, 5, 5, 5, 5, 5, 5, 5, 16, 219, 255, 237, 15, 5, 5, 6,
- 81, 255, 156, 7, 6, 5, 6, 5, 5, 6, 6, 6, 11, 173, 249, 67,
- 6, 6, 6, 7, 6, 5, 5, 5, 6, 6, 6, 14, 14, 30, 238, 199,
- 15, 7, 6, 6, 6, 6, 156, 252, 115, 247, 248, 193, 199, 14, 5, 5
- }, {
- 7, 26, 217, 255, 246, 110, 43, 17, 176, 255, 239, 31, 6, 5, 6, 5,
- 6, 96, 254, 255, 195, 6, 5, 5, 5, 5, 6, 5, 84, 250, 210, 25,
- 6, 5, 6, 6, 6, 5, 5, 7, 28, 31, 204, 255, 132, 7, 6, 6,
- 6, 5, 5, 5, 5, 5, 33, 176, 252, 211, 79, 162, 255, 185, 6, 5,
- 5, 6, 6, 5, 5, 5, 5, 6, 84, 250, 255, 237, 16, 5, 5, 5,
- 25, 211, 225, 34, 6, 6, 6, 6, 6, 5, 5, 5, 5, 75, 250, 158,
- 9, 6, 6, 5, 5, 5, 5, 5, 5, 6, 5, 5, 6, 57, 246, 173,
- 11, 6, 6, 5, 6, 12, 179, 241, 91, 247, 248, 102, 227, 62, 6, 5
- }, {
- 6, 77, 254, 255, 255, 253, 244, 224, 227, 255, 255, 83, 6, 6, 6, 5,
- 6, 93, 247, 248, 191, 6, 5, 5, 5, 5, 6, 7, 10, 155, 253, 162,
- 25, 7, 6, 5, 6, 6, 6, 5, 5, 5, 60, 227, 245, 113, 18, 7,
- 6, 5, 5, 5, 5, 6, 5, 15, 79, 163, 214, 251, 255, 113, 6, 6,
- 6, 11, 20, 20, 20, 21, 36, 100, 230, 255, 255, 197, 11, 5, 5, 5,
- 5, 72, 236, 171, 24, 7, 6, 7, 5, 5, 5, 5, 6, 11, 147, 245,
- 101, 10, 7, 7, 5, 5, 5, 5, 5, 6, 6, 6, 7, 86, 253, 144,
- 6, 6, 5, 5, 5, 19, 203, 234, 81, 247, 249, 67, 101, 169, 21, 5
- }, {
- 6, 153, 255, 253, 217, 234, 250, 255, 255, 255, 255, 147, 6, 6, 6, 6,
- 5, 12, 26, 26, 20, 5, 5, 5, 5, 5, 6, 6, 6, 17, 120, 231,
- 210, 123, 76, 54, 8, 7, 5, 5, 5, 5, 6, 51, 177, 242, 198, 126,
- 83, 30, 5, 5, 5, 6, 6, 7, 6, 9, 60, 252, 242, 56, 6, 6,
- 5, 79, 241, 240, 240, 241, 244, 251, 255, 254, 225, 62, 5, 5, 5, 5,
- 5, 7, 62, 192, 188, 85, 30, 6, 6, 5, 5, 5, 5, 5, 17, 113,
- 212, 142, 76, 24, 5, 5, 5, 5, 21, 95, 105, 106, 105, 168, 255, 180,
- 104, 45, 7, 6, 7, 21, 206, 247, 226, 249, 249, 223, 218, 214, 35, 6
- }, {
- 8, 85, 114, 104, 31, 25, 58, 105, 114, 114, 114, 70, 6, 5, 5, 5,
- 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 6, 6, 6, 5, 8, 31,
- 102, 137, 122, 59, 6, 5, 5, 5, 9, 11, 11, 11, 19, 49, 96, 118,
- 97, 29, 6, 5, 5, 5, 7, 6, 6, 5, 29, 83, 77, 13, 6, 6,
- 5, 38, 117, 120, 120, 119, 119, 120, 120, 105, 34, 6, 6, 5, 5, 5,
- 5, 5, 6, 14, 61, 101, 58, 6, 6, 5, 5, 5, 5, 6, 6, 8,
- 21, 68, 86, 21, 5, 5, 5, 5, 21, 99, 110, 110, 110, 112, 115, 112,
- 109, 46, 6, 6, 6, 8, 40, 54, 56, 55, 54, 55, 56, 51, 12, 6
- }, {
- 3, 3, 20, 57, 57, 57, 57, 57, 57, 37, 2, 3, 3, 14, 66, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 38, 3, 2, 2, 2, 2, 3, 7,
- 8, 3, 2, 2, 2, 2, 3, 6, 62, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 23, 3, 3, 27, 53, 57, 57, 52, 52, 53, 53, 32, 3, 3,
- 3, 3, 50, 83, 84, 84, 84, 84, 84, 81, 26, 3, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 57, 69, 69, 69, 69,
- 69, 68, 69, 69, 67, 19, 3, 3, 2, 2, 2, 2, 3, 10, 6, 3,
- 2, 2, 2, 2, 3, 37, 69, 69, 26, 3, 3, 3, 3, 2, 3, 6
- }, {
- 3, 3, 45, 127, 115, 96, 96, 105, 127, 83, 3, 3, 3, 24, 123, 127,
- 118, 110, 110, 110, 110, 110, 117, 127, 72, 3, 3, 2, 2, 2, 3, 55,
- 79, 5, 2, 2, 2, 2, 3, 7, 96, 127, 127, 123, 120, 120, 120, 120,
- 120, 120, 32, 3, 3, 20, 56, 126, 113, 39, 37, 37, 37, 22, 3, 3,
- 3, 3, 49, 81, 81, 81, 87, 125, 119, 81, 24, 3, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 5, 90, 110, 110, 110, 110,
- 110, 111, 110, 110, 107, 29, 3, 3, 3, 2, 2, 2, 4, 99, 46, 3,
- 2, 2, 2, 2, 3, 65, 127, 127, 58, 3, 3, 4, 5, 3, 3, 6
- }, {
- 2, 2, 46, 127, 74, 6, 6, 38, 125, 83, 3, 3, 3, 24, 123, 127,
- 54, 7, 7, 7, 7, 7, 51, 127, 71, 2, 2, 2, 2, 2, 3, 58,
- 89, 5, 2, 2, 2, 2, 3, 4, 90, 127, 125, 39, 9, 9, 9, 9,
- 9, 9, 5, 3, 3, 16, 49, 126, 113, 31, 29, 29, 29, 18, 3, 3,
- 3, 3, 36, 62, 62, 62, 70, 124, 102, 9, 3, 3, 3, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 59, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 43, 3, 3, 2, 2, 2, 2, 4, 104, 48, 3,
- 2, 2, 2, 2, 3, 48, 127, 127, 73, 14, 42, 77, 34, 3, 3, 6
- }, {
- 3, 3, 46, 127, 72, 2, 3, 35, 125, 83, 3, 3, 3, 24, 123, 127,
- 52, 3, 2, 2, 2, 2, 43, 118, 66, 2, 2, 2, 2, 2, 2, 58,
- 90, 5, 2, 2, 2, 2, 3, 2, 72, 127, 125, 32, 3, 2, 2, 2,
- 2, 2, 3, 3, 3, 62, 125, 127, 127, 126, 124, 123, 123, 74, 3, 3,
- 3, 3, 73, 125, 127, 125, 121, 124, 119, 16, 3, 3, 3, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 7, 118, 127, 127, 125, 124,
- 125, 125, 125, 124, 125, 88, 3, 3, 2, 2, 2, 2, 4, 105, 49, 3,
- 2, 2, 2, 2, 3, 31, 127, 127, 120, 118, 126, 120, 39, 3, 3, 5
- }, {
- 2, 2, 46, 127, 93, 48, 47, 68, 126, 83, 3, 3, 2, 24, 123, 127,
- 52, 3, 3, 2, 2, 2, 4, 8, 5, 2, 2, 2, 2, 2, 4, 40,
- 69, 5, 2, 2, 2, 2, 3, 3, 38, 127, 127, 43, 3, 3, 2, 2,
- 2, 2, 2, 2, 2, 19, 54, 126, 127, 122, 49, 36, 36, 22, 3, 3,
- 3, 3, 14, 75, 127, 87, 22, 42, 118, 70, 10, 4, 3, 3, 3, 18,
- 32, 31, 31, 31, 31, 31, 27, 5, 2, 3, 7, 111, 127, 119, 41, 37,
- 36, 36, 36, 36, 36, 26, 3, 3, 2, 2, 2, 2, 3, 105, 48, 2,
- 2, 2, 2, 2, 22, 105, 127, 127, 126, 101, 57, 19, 4, 2, 2, 5
- }, {
- 2, 2, 46, 127, 113, 91, 91, 102, 127, 83, 3, 3, 3, 18, 121, 127,
- 62, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 28,
- 34, 3, 2, 2, 2, 2, 3, 3, 13, 107, 127, 74, 4, 3, 2, 2,
- 2, 2, 2, 2, 2, 3, 28, 125, 127, 124, 35, 3, 3, 4, 3, 3,
- 3, 3, 3, 53, 127, 86, 4, 3, 30, 86, 81, 16, 3, 3, 3, 56,
- 107, 107, 100, 80, 100, 107, 90, 11, 3, 3, 4, 84, 127, 124, 31, 3,
- 2, 2, 2, 2, 2, 3, 4, 3, 2, 2, 2, 2, 3, 105, 48, 2,
- 2, 2, 2, 2, 34, 123, 117, 127, 119, 24, 3, 2, 2, 2, 2, 5
- }, {
- 2, 2, 45, 127, 74, 4, 5, 37, 126, 83, 3, 3, 2, 6, 94, 127,
- 107, 12, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 57,
- 88, 5, 2, 2, 2, 2, 2, 3, 3, 64, 127, 116, 23, 3, 2, 2,
- 2, 2, 2, 2, 2, 2, 27, 125, 127, 127, 64, 3, 3, 3, 3, 2,
- 3, 3, 3, 16, 114, 112, 13, 3, 3, 4, 6, 3, 3, 3, 3, 5,
- 6, 6, 2, 0, 2, 6, 5, 3, 3, 2, 3, 38, 124, 127, 89, 8,
- 3, 2, 2, 2, 2, 3, 3, 3, 2, 2, 2, 2, 3, 105, 48, 2,
- 2, 2, 2, 2, 14, 31, 21, 115, 127, 76, 4, 2, 2, 2, 2, 5
- }, {
- 2, 2, 46, 127, 74, 3, 3, 35, 125, 83, 2, 3, 3, 2, 30, 115,
- 127, 76, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 58,
- 89, 5, 2, 2, 2, 2, 3, 3, 9, 92, 127, 127, 94, 16, 2, 2,
- 2, 2, 2, 2, 2, 2, 27, 125, 119, 114, 111, 15, 3, 3, 3, 3,
- 2, 3, 3, 4, 57, 126, 65, 5, 3, 3, 2, 3, 3, 3, 2, 2,
- 3, 2, 0, 0, 0, 3, 3, 3, 2, 3, 3, 5, 73, 126, 126, 70,
- 8, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 3, 105, 48, 2,
- 2, 2, 2, 2, 3, 3, 3, 52, 124, 122, 52, 5, 2, 2, 2, 5
- }, {
- 6, 6, 91, 255, 191, 104, 106, 146, 253, 166, 6, 5, 5, 5, 6, 53,
- 201, 250, 172, 48, 21, 14, 15, 9, 6, 6, 5, 5, 5, 5, 6, 115,
- 178, 11, 5, 5, 5, 5, 5, 10, 118, 255, 234, 175, 246, 212, 89, 29,
- 21, 27, 9, 6, 6, 6, 56, 251, 215, 66, 225, 178, 33, 6, 5, 5,
- 5, 6, 5, 6, 10, 138, 242, 126, 24, 13, 7, 6, 6, 5, 5, 5,
- 5, 7, 7, 4, 5, 5, 5, 5, 5, 6, 7, 6, 14, 116, 235, 254,
- 189, 67, 22, 15, 16, 14, 6, 5, 7, 6, 7, 6, 7, 164, 76, 6,
- 6, 6, 6, 6, 5, 5, 5, 9, 118, 244, 248, 151, 51, 24, 23, 11
- }, {
- 6, 6, 60, 174, 174, 174, 173, 173, 174, 113, 6, 5, 5, 5, 5, 6,
- 20, 100, 188, 224, 187, 169, 143, 29, 7, 6, 5, 5, 5, 5, 7, 44,
- 79, 8, 5, 5, 5, 5, 5, 41, 220, 235, 117, 9, 70, 165, 226, 208,
- 194, 179, 25, 6, 6, 6, 51, 232, 196, 10, 41, 157, 193, 41, 5, 5,
- 5, 6, 6, 6, 6, 7, 79, 172, 182, 150, 16, 5, 7, 5, 5, 5,
- 5, 7, 5, 6, 5, 5, 5, 5, 5, 6, 5, 6, 6, 7, 38, 118,
- 194, 230, 195, 169, 166, 92, 6, 6, 6, 6, 6, 6, 5, 7, 6, 6,
- 7, 6, 5, 6, 5, 5, 5, 5, 8, 64, 164, 226, 233, 200, 169, 48
- }, {
- 5, 6, 7, 11, 15, 11, 9, 15, 9, 6, 5, 5, 5, 5, 6, 6,
- 6, 6, 5, 12, 31, 27, 6, 6, 5, 6, 6, 5, 5, 5, 6, 7,
- 6, 7, 5, 5, 5, 5, 7, 16, 31, 29, 10, 7, 6, 7, 21, 40,
- 34, 16, 8, 6, 10, 14, 20, 40, 34, 16, 15, 15, 26, 13, 5, 5,
- 5, 7, 15, 15, 15, 16, 15, 14, 21, 16, 6, 6, 6, 5, 5, 5,
- 5, 6, 12, 14, 10, 5, 5, 5, 5, 6, 6, 11, 14, 14, 15, 15,
- 15, 25, 41, 41, 25, 6, 7, 6, 6, 12, 15, 10, 6, 15, 11, 13,
- 14, 6, 6, 6, 5, 5, 5, 5, 6, 10, 24, 25, 29, 25, 8, 5
- }, {
- 6, 6, 6, 120, 192, 118, 64, 192, 63, 6, 5, 5, 5, 5, 5, 5,
- 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 5, 5, 5, 5, 6, 6,
- 6, 6, 5, 5, 5, 5, 6, 7, 6, 6, 5, 6, 5, 34, 176, 192,
- 191, 192, 52, 6, 93, 193, 192, 192, 192, 191, 191, 191, 191, 68, 5, 5,
- 5, 50, 187, 192, 192, 191, 192, 193, 193, 182, 19, 6, 6, 6, 19, 24,
- 25, 25, 146, 192, 129, 24, 24, 24, 19, 6, 5, 77, 163, 163, 161, 163,
- 162, 164, 184, 192, 163, 18, 7, 5, 6, 119, 192, 83, 36, 181, 108, 153,
- 154, 14, 6, 5, 5, 15, 24, 24, 26, 70, 216, 168, 21, 9, 6, 5
- }, {
- 5, 5, 5, 180, 255, 134, 78, 254, 86, 6, 5, 5, 5, 5, 6, 6,
- 6, 6, 34, 61, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 6, 17, 15, 6, 5, 5, 5, 43, 234, 252,
- 253, 252, 67, 6, 126, 255, 214, 166, 167, 166, 166, 166, 166, 58, 5, 5,
- 5, 70, 252, 255, 219, 167, 167, 166, 212, 249, 56, 6, 6, 11, 153, 218,
- 218, 218, 247, 255, 244, 218, 219, 218, 162, 13, 7, 26, 35, 36, 37, 37,
- 36, 43, 199, 255, 170, 8, 6, 6, 6, 184, 255, 114, 98, 254, 109, 238,
- 159, 9, 6, 6, 6, 116, 219, 218, 219, 229, 255, 248, 192, 27, 6, 6
- }, {
- 5, 5, 14, 200, 255, 103, 64, 249, 85, 5, 6, 5, 5, 5, 6, 6,
- 89, 71, 116, 208, 44, 114, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 7, 90, 83, 6, 5, 5, 5, 16, 69, 76,
- 76, 76, 22, 5, 124, 255, 134, 6, 13, 40, 37, 7, 6, 5, 5, 5,
- 5, 64, 249, 255, 144, 5, 8, 7, 52, 233, 139, 8, 7, 7, 138, 255,
- 255, 201, 162, 162, 163, 162, 162, 162, 120, 11, 7, 145, 245, 245, 244, 244,
- 244, 243, 253, 255, 224, 25, 6, 6, 6, 174, 255, 110, 164, 243, 120, 252,
- 99, 6, 7, 6, 6, 139, 250, 154, 129, 175, 255, 226, 112, 19, 7, 5
- }, {
- 5, 5, 24, 215, 255, 79, 37, 234, 90, 6, 6, 5, 5, 5, 6, 6,
- 104, 236, 237, 247, 234, 172, 18, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 6, 70, 144, 6, 5, 5, 5, 32, 164, 177,
- 177, 176, 50, 6, 115, 255, 140, 8, 59, 243, 218, 8, 6, 5, 5, 5,
- 5, 47, 240, 255, 153, 46, 87, 143, 159, 86, 207, 49, 7, 6, 51, 244,
- 255, 180, 15, 6, 6, 5, 5, 5, 5, 6, 6, 131, 254, 144, 97, 97,
- 97, 102, 214, 255, 183, 13, 6, 6, 6, 153, 255, 91, 202, 175, 140, 222,
- 33, 5, 6, 6, 6, 140, 242, 54, 6, 98, 255, 193, 5, 5, 5, 6
- }, {
- 5, 5, 36, 233, 251, 62, 11, 208, 136, 7, 6, 5, 5, 5, 5, 6,
- 76, 219, 247, 253, 240, 134, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 7, 32, 218, 47, 5, 5, 5, 42, 232, 250,
- 250, 249, 67, 5, 101, 255, 183, 12, 64, 255, 228, 7, 7, 5, 5, 5,
- 5, 16, 219, 255, 245, 249, 255, 238, 185, 17, 37, 35, 7, 5, 9, 128,
- 255, 253, 146, 17, 5, 5, 5, 5, 5, 6, 6, 71, 249, 124, 8, 6,
- 7, 14, 190, 255, 159, 6, 6, 6, 5, 123, 255, 111, 25, 19, 21, 25,
- 8, 5, 6, 6, 6, 141, 242, 53, 6, 73, 255, 195, 8, 6, 7, 5
- }, {
- 2, 2, 25, 124, 120, 23, 3, 73, 93, 6, 3, 2, 2, 2, 3, 3,
- 55, 63, 65, 107, 44, 81, 11, 2, 2, 2, 2, 2, 3, 4, 2, 2,
- 2, 2, 3, 3, 2, 2, 3, 5, 85, 99, 20, 2, 3, 7, 32, 35,
- 35, 34, 10, 3, 28, 122, 121, 29, 32, 127, 117, 14, 3, 2, 2, 2,
- 2, 3, 75, 127, 126, 93, 52, 22, 3, 2, 2, 2, 2, 3, 29, 99,
- 127, 127, 126, 90, 28, 6, 3, 3, 3, 3, 3, 5, 77, 112, 29, 4,
- 3, 7, 96, 127, 80, 2, 2, 3, 3, 35, 125, 76, 3, 2, 3, 3,
- 2, 2, 2, 2, 2, 70, 121, 26, 3, 22, 120, 107, 11, 3, 2, 5
- }, {
- 3, 3, 29, 127, 113, 16, 2, 30, 116, 25, 3, 2, 2, 2, 3, 3,
- 2, 3, 36, 71, 3, 3, 2, 2, 2, 2, 2, 3, 40, 65, 65, 65,
- 65, 65, 65, 47, 4, 3, 3, 2, 32, 121, 110, 56, 22, 11, 10, 10,
- 10, 10, 4, 3, 5, 74, 125, 112, 82, 127, 125, 44, 3, 2, 2, 2,
- 2, 3, 25, 119, 125, 39, 4, 3, 2, 2, 2, 2, 2, 7, 92, 127,
- 122, 77, 106, 127, 120, 92, 62, 38, 9, 3, 3, 3, 8, 57, 83, 37,
- 3, 12, 109, 127, 79, 3, 3, 3, 3, 10, 106, 111, 15, 4, 3, 3,
- 2, 2, 2, 2, 3, 71, 121, 27, 3, 6, 91, 124, 32, 3, 3, 6
- }, {
- 3, 3, 42, 127, 107, 10, 3, 3, 63, 83, 10, 2, 2, 2, 2, 3,
- 3, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 3, 46, 76, 76, 76,
- 76, 76, 75, 54, 4, 2, 3, 3, 4, 58, 123, 127, 119, 106, 104, 104,
- 104, 104, 28, 3, 3, 7, 39, 58, 60, 99, 127, 101, 14, 2, 2, 2,
- 2, 2, 2, 60, 125, 112, 28, 3, 3, 2, 2, 2, 2, 7, 93, 103,
- 36, 3, 94, 127, 93, 36, 55, 58, 14, 3, 3, 3, 3, 3, 3, 3,
- 4, 56, 127, 127, 76, 3, 2, 3, 2, 3, 48, 124, 81, 10, 3, 2,
- 2, 2, 2, 2, 3, 70, 126, 78, 48, 14, 28, 115, 93, 10, 3, 5
- }, {
- 2, 2, 56, 127, 99, 4, 3, 2, 6, 34, 11, 2, 2, 3, 3, 3,
- 2, 3, 2, 3, 3, 3, 2, 2, 2, 2, 3, 3, 2, 3, 2, 2,
- 2, 2, 3, 3, 3, 3, 3, 3, 2, 4, 45, 103, 125, 127, 127, 127,
- 127, 127, 34, 3, 3, 3, 3, 3, 2, 22, 104, 127, 101, 39, 12, 2,
- 2, 2, 3, 5, 55, 117, 115, 58, 22, 11, 6, 2, 2, 6, 46, 28,
- 18, 19, 99, 127, 90, 19, 18, 18, 15, 4, 3, 33, 69, 69, 69, 69,
- 87, 123, 127, 122, 37, 3, 3, 3, 3, 2, 5, 64, 121, 92, 34, 10,
- 10, 4, 2, 3, 3, 47, 120, 124, 120, 31, 3, 35, 108, 89, 21, 7
- }, {
- 3, 3, 58, 108, 75, 2, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2,
- 2, 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 9, 36, 63, 81, 88,
- 89, 88, 24, 3, 3, 3, 2, 2, 2, 3, 15, 57, 91, 98, 56, 3,
- 2, 2, 2, 2, 2, 22, 66, 97, 91, 74, 26, 3, 2, 5, 70, 97,
- 96, 97, 106, 108, 105, 97, 97, 97, 70, 6, 3, 48, 100, 100, 100, 100,
- 100, 100, 95, 46, 3, 2, 2, 2, 2, 2, 2, 4, 30, 72, 91, 79,
- 68, 11, 3, 3, 3, 5, 24, 30, 28, 10, 3, 3, 16, 61, 57, 10
- }, {
- 2, 3, 7, 11, 8, 21, 38, 19, 3, 2, 3, 2, 3, 4, 18, 29,
- 28, 29, 29, 29, 29, 29, 29, 27, 8, 3, 14, 38, 38, 38, 37, 37,
- 37, 37, 38, 38, 37, 11, 2, 2, 2, 2, 3, 3, 3, 2, 3, 2,
- 3, 2, 2, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 2, 2, 2, 3, 3, 2, 2, 2, 3, 3, 3, 3, 9, 11,
- 11, 11, 12, 12, 11, 11, 11, 11, 8, 3, 2, 3, 3, 2, 2, 2,
- 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2,
- 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 5
- }, {
- 3, 3, 3, 3, 3, 84, 127, 59, 3, 3, 3, 3, 3, 3, 29, 46,
- 45, 47, 102, 120, 62, 46, 45, 43, 11, 3, 41, 123, 123, 123, 123, 123,
- 123, 123, 123, 123, 119, 31, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
- 3, 2, 2, 2, 2, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, 2, 2,
- 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5
- }, {
- 2, 12, 89, 103, 102, 121, 127, 112, 103, 102, 64, 3, 3, 4, 74, 118,
- 118, 119, 125, 127, 120, 118, 118, 113, 26, 2, 16, 45, 45, 45, 45, 46,
- 45, 46, 46, 46, 43, 13, 2, 2, 2, 13, 58, 59, 59, 59, 58, 54,
- 10, 2, 2, 3, 3, 2, 2, 2, 2, 35, 38, 3, 2, 3, 2, 2,
- 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 3, 3, 3,
- 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2,
- 2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
- 3, 3, 3, 2, 3, 2, 2, 3, 3, 3, 3, 3, 2, 3, 3, 5
- }, {
- 5, 20, 140, 164, 175, 246, 253, 183, 165, 165, 103, 5, 5, 9, 166, 255,
- 156, 65, 65, 65, 64, 74, 217, 249, 60, 5, 80, 238, 238, 239, 237, 240,
- 238, 238, 238, 238, 230, 60, 5, 5, 5, 29, 132, 132, 132, 132, 133, 122,
- 20, 5, 5, 5, 5, 5, 6, 6, 5, 159, 173, 6, 7, 6, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 6, 5, 7, 39, 234, 236, 41, 6, 7, 7, 5, 6, 9, 163, 255,
- 124, 6, 6, 6, 7, 17, 177, 217, 52, 6, 23, 62, 116, 252, 255, 120,
- 62, 61, 63, 62, 60, 18, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6,
- 5, 6, 5, 5, 5, 5, 6, 68, 123, 204, 213, 123, 76, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 6, 6, 6, 59, 250, 213, 25, 6, 6, 6, 5, 5, 9, 164, 255,
- 130, 6, 6, 7, 7, 8, 27, 30, 11, 6, 6, 6, 25, 229, 255, 137,
- 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5,
- 6, 6, 5, 5, 5, 5, 5, 126, 225, 244, 248, 225, 140, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 6, 14, 81, 96, 141, 255, 216, 99, 97, 97, 61, 5, 5, 8, 148, 255,
- 181, 10, 6, 6, 6, 5, 6, 6, 7, 6, 6, 6, 6, 143, 254, 216,
- 25, 6, 6, 6, 7, 6, 5, 6, 5, 5, 5, 5, 5, 6, 6, 6,
- 6, 5, 5, 5, 5, 5, 5, 19, 30, 168, 183, 31, 21, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 6, 25, 191, 220, 242, 255, 243, 222, 220, 221, 139, 5, 5, 5, 64, 246,
- 244, 63, 7, 7, 6, 7, 6, 6, 8, 6, 6, 7, 6, 26, 211, 255,
- 145, 13, 6, 6, 5, 6, 5, 6, 6, 154, 221, 221, 221, 221, 221, 221,
- 124, 7, 5, 5, 5, 5, 5, 5, 5, 122, 129, 6, 6, 6, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 9, 23, 27, 165, 255, 140, 26, 26, 26, 18, 5, 5, 5, 8, 111,
- 245, 219, 57, 6, 6, 6, 5, 7, 7, 6, 6, 6, 6, 6, 52, 211,
- 250, 140, 18, 6, 6, 6, 6, 6, 5, 35, 48, 49, 49, 49, 51, 50,
- 28, 6, 5, 5, 5, 5, 5, 5, 5, 12, 11, 6, 6, 6, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 6, 6, 6, 6, 186, 255, 95, 5, 5, 5, 5, 5, 5, 5, 5, 8,
- 73, 197, 236, 155, 88, 82, 44, 7, 6, 6, 7, 7, 6, 7, 6, 31,
- 136, 225, 207, 141, 104, 8, 6, 6, 5, 5, 5, 5, 5, 5, 6, 5,
- 5, 6, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 7, 6, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }, {
- 5, 6, 5, 8, 84, 107, 28, 5, 5, 5, 5, 5, 5, 5, 5, 6,
- 5, 17, 52, 99, 103, 90, 35, 6, 5, 5, 6, 5, 6, 6, 6, 5,
- 6, 28, 62, 101, 58, 7, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
- }
-};
-
-#endif /* MPLAYER_MATRIXVIEW_FONT_H */
diff --git a/libvo/mga_template.c b/libvo/mga_template.c
deleted file mode 100644
index 6886ecd..0000000
--- a/libvo/mga_template.c
+++ /dev/null
@@ -1,581 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "fastmemcpy.h"
-#include "cpudetect.h"
-#include "libswscale/swscale.h"
-#include <libavutil/imgutils.h>
-#include "libmpcodecs/vf_scale.h"
-#include "mp_msg.h"
-#include "old_vo_wrapper.h"
-
-// mga_vid drawing functions
-static void set_window( void ); /* forward declaration to kill warnings */
-#ifdef VO_XMGA
-static void mDrawColorKey( void ); /* forward declaration to kill warnings */
-#endif
-
-static int mga_next_frame=0;
-
-static mga_vid_config_t mga_vid_config;
-static uint8_t *vid_data, *frames[4];
-static int f = -1;
-
-static uint32_t drwX,drwY,drwWidth,drwHeight;
-static uint32_t drwcX,drwcY;
-
-static struct SwsContext *sws_ctx;
-
-static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride){
- uint32_t bespitch = FFALIGN(mga_vid_config.src_width, 32);
- x0+=mga_vid_config.src_width*(vo_panscan_x>>1)/(vo_dwidth+vo_panscan_x);
- switch(mga_vid_config.format){
- case MGA_VID_FORMAT_YV12:
- case MGA_VID_FORMAT_IYUV:
- case MGA_VID_FORMAT_I420:
- vo_draw_alpha_yv12(w,h,src,srca,stride,vid_data+bespitch*y0+x0,bespitch);
- break;
- case MGA_VID_FORMAT_YUY2:
- vo_draw_alpha_yuy2(w,h,src,srca,stride,vid_data+2*(bespitch*y0+x0),2*bespitch);
- break;
- case MGA_VID_FORMAT_UYVY:
- vo_draw_alpha_yuy2(w,h,src,srca,stride,vid_data+2*(bespitch*y0+x0)+1,2*bespitch);
- break;
- }
-}
-
-static void draw_osd(void)
-{
-// vo_draw_text(mga_vid_config.src_width,mga_vid_config.src_height,draw_alpha);
- vo_draw_text(mga_vid_config.src_width-mga_vid_config.src_width*vo_panscan_x/(vo_dwidth+vo_panscan_x),mga_vid_config.src_height,draw_alpha);
-}
-
-
-static void
-draw_slice_g200(uint8_t *image[], int stride[], int width,int height,int x,int y)
-{
- uint32_t bespitch = FFALIGN(mga_vid_config.src_width, 32);
- int dst_stride[4] = { bespitch, bespitch };
- uint8_t *dst[4];
-
- av_image_fill_pointers(dst, PIX_FMT_NV12, mga_vid_config.src_height,
- vid_data, dst_stride);
-
- sws_scale(sws_ctx, image, stride, y, height, dst, dst_stride);
-}
-
-static void
-draw_slice_g400(uint8_t *image[], int stride[], int w,int h,int x,int y)
-{
- uint8_t *dest;
- uint8_t *dest2;
- uint32_t bespitch,bespitch2;
-
- bespitch = FFALIGN(mga_vid_config.src_width, 32);
- bespitch2 = bespitch/2;
-
- dest = vid_data + bespitch * y + x;
- mem2agpcpy_pic(dest, image[0], w, h, bespitch, stride[0]);
-
- w/=2;h/=2;x/=2;y/=2;
-
- dest = vid_data + bespitch*mga_vid_config.src_height + bespitch2 * y + x;
- dest2= dest + bespitch2*mga_vid_config.src_height / 2;
-
- if(mga_vid_config.format==MGA_VID_FORMAT_YV12){
- // mga_vid's YV12 assumes Y,U,V order (instead of Y,V,U) :(
- mem2agpcpy_pic(dest, image[1], w, h, bespitch2, stride[1]);
- mem2agpcpy_pic(dest2,image[2], w, h, bespitch2, stride[2]);
- } else {
- mem2agpcpy_pic(dest, image[2], w, h, bespitch2, stride[2]);
- mem2agpcpy_pic(dest2,image[1], w, h, bespitch2, stride[1]);
- }
-
-}
-
-static int
-draw_slice(uint8_t *src[], int stride[], int w,int h,int x,int y)
-{
-
-#if 0
- printf("vo: %p/%d %p/%d %p/%d %dx%d/%d;%d \n",
- src[0],stride[0],
- src[1],stride[1],
- src[2],stride[2],
- w,h,x,y);
-#endif
-
- if (mga_vid_config.card_type == MGA_G200)
- draw_slice_g200(src,stride,w,h,x,y);
- else
- draw_slice_g400(src,stride,w,h,x,y);
- return 0;
-}
-
-static void
-vo_mga_flip_page(void)
-{
-
-// printf("-- flip to %d --\n",mga_next_frame);
-
- ioctl(f,MGA_VID_FSEL,&mga_next_frame);
- mga_next_frame=(mga_next_frame+1)%mga_vid_config.num_frames;
- vid_data=frames[mga_next_frame];
-
-}
-
-static int
-draw_frame(uint8_t *src[])
-{
- mp_msg(MSGT_VO,MSGL_WARN,"!!! mga::draw_frame() called !!!\n");
- return 0;
-}
-
-static uint32_t get_image(mp_image_t *mpi){
- uint32_t bespitch = FFALIGN(mga_vid_config.src_width, 32);
- uint32_t bespitch2 = bespitch/2;
-// printf("mga: get_image() called\n");
- if(mpi->type==MP_IMGTYPE_STATIC && mga_vid_config.num_frames>1) return VO_FALSE; // it is not static
- if(mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE; // slow video ram
- if(mga_vid_config.card_type == MGA_G200 && mpi->flags&MP_IMGFLAG_PLANAR) return VO_FALSE;
-// printf("width=%d vs. bespitch=%d, flags=0x%X \n",mpi->width,bespitch,mpi->flags);
- if((mpi->width==bespitch) ||
- (mpi->flags&(MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_ACCEPT_WIDTH))){
- // we're lucky or codec accepts stride => ok, let's go!
- if(mpi->flags&MP_IMGFLAG_PLANAR){
- mpi->planes[0]=vid_data;
- if(mpi->flags&MP_IMGFLAG_SWAPPED){
- mpi->planes[1]=vid_data + bespitch*mga_vid_config.src_height;
- mpi->planes[2]=mpi->planes[1] + bespitch2*mga_vid_config.src_height/2;
- } else {
- mpi->planes[2]=vid_data + bespitch*mga_vid_config.src_height;
- mpi->planes[1]=mpi->planes[2] + bespitch2*mga_vid_config.src_height/2;
- }
- mpi->width=mpi->stride[0]=bespitch;
- mpi->stride[1]=mpi->stride[2]=bespitch2;
- } else {
- mpi->planes[0]=vid_data;
- mpi->width=bespitch;
- mpi->stride[0]=mpi->width*(mpi->bpp/8);
- }
- mpi->flags|=MP_IMGFLAG_DIRECT;
-// printf("mga: get_image() SUCCESS -> Direct Rendering ENABLED\n");
- return VO_TRUE;
- }
- return VO_FALSE;
-}
-
-static uint32_t
-draw_image(mp_image_t *mpi){
- uint32_t bespitch = FFALIGN(mga_vid_config.src_width, 32);
-
- // if -dr or -slices then do nothing:
- if(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK)) return VO_TRUE;
-
- if(mpi->flags&MP_IMGFLAG_PLANAR){
- // copy planar:
- draw_slice(mpi->planes,mpi->stride,mpi->w,mpi->h,mpi->x,mpi->y);
- } else {
- // copy packed:
- mem2agpcpy_pic(vid_data, mpi->planes[0], // dst,src
- mpi->w*(mpi->bpp/8), mpi->h, // w,h
- bespitch*2, mpi->stride[0]); // dstride,sstride
- }
- return VO_TRUE;
-}
-
-static int
-query_format(uint32_t format)
-{
- switch(format){
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_OSD|VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN|VFCAP_ACCEPT_STRIDE;
- }
- return 0;
-}
-
-#ifndef VO_XMGA
-static void mga_fullscreen(void)
-{
- uint32_t w,h;
- if ( !vo_fs ) {
- vo_fs=VO_TRUE;
- w=vo_screenwidth; h=vo_screenheight;
- aspect(&w,&h,A_ZOOM);
- } else {
- vo_fs=VO_FALSE;
- w=vo_dwidth; h=vo_dheight;
- aspect(&w,&h,A_NOZOOM);
- }
- mga_vid_config.dest_width = w;
- mga_vid_config.dest_height= h;
- mga_vid_config.x_org=(vo_screenwidth-w)/2;
- mga_vid_config.y_org=(vo_screenheight-h)/2;
- if ( ioctl( f,MGA_VID_CONFIG,&mga_vid_config ) )
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] error in mga_vid_config ioctl (wrong mga_vid.o version?)" );
-}
-#endif
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- case VOCTRL_GET_IMAGE:
- return get_image(data);
- case VOCTRL_DRAW_IMAGE:
- return draw_image(data);
- case VOCTRL_SET_EQUALIZER:
- {
- short value;
- uint32_t luma,prev;
- struct voctrl_set_equalizer_args *args = data;
-
- if (strcmp(args->name, "brightness") && strcmp(args->name, "contrast"))
- return VO_FALSE;
-
- if (ioctl(f,MGA_VID_GET_LUMA,&prev)) {
- perror("Error in mga_vid_config ioctl()");
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] Could not get luma values from the kernel module!\n");
- return VO_FALSE;
- }
-
-// printf("GET: 0x%4X 0x%4X \n",(prev>>16),(prev&0xffff));
-
- value = args->value;
-
-// printf("value: %d -> ",value);
- value=((value+100)*255)/200-128; // maps -100=>-128 and +100=>127
-// printf("%d \n",value);
-
- if (!strcmp(args->name, "contrast"))
- luma = (prev&0xFFFF0000)|(value&0xFFFF);
- else
- luma = (prev&0xFFFF)|(value<<16);
-
- if (ioctl(f,MGA_VID_SET_LUMA,luma)) {
- perror("Error in mga_vid_config ioctl()");
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] Could not set luma values from the kernel module!\n");
- return VO_FALSE;
- }
-
- return VO_TRUE;
- }
-
- case VOCTRL_GET_EQUALIZER:
- {
- short val;
- uint32_t luma;
- struct voctrl_get_equalizer_args *args = data;
-
- if (strcmp(args->name, "brightness") && strcmp(args->name, "contrast"))
- return VO_FALSE;
-
- if (ioctl(f,MGA_VID_GET_LUMA,&luma)) {
- perror("Error in mga_vid_config ioctl()");
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] Could not get luma values from the kernel module!\n");
- return VO_FALSE;
- }
-
- if (!strcmp(args->name, "contrast"))
- val=(luma & 0xFFFF);
- else
- val=(luma >> 16);
-
- *args->valueptr = (val*200)/255;
-
- return VO_TRUE;
- }
-
-#ifndef VO_XMGA
- case VOCTRL_FULLSCREEN:
- if (vo_screenwidth && vo_screenheight)
- mga_fullscreen();
- else
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] Screen width/height unknown!\n");
- return VO_TRUE;
- case VOCTRL_GET_PANSCAN:
- if ( !vo_fs ) return VO_FALSE;
- return VO_TRUE;
-#endif
-
-#ifdef VO_XMGA
- case VOCTRL_ONTOP:
- vo_x11_ontop();
- return VO_TRUE;
- case VOCTRL_GET_PANSCAN:
- if ( !initialized || !vo_fs ) return VO_FALSE;
- return VO_TRUE;
- case VOCTRL_FULLSCREEN:
- vo_x11_fullscreen();
- vo_panscan_amount=0;
- /* intended, fallthrough to update panscan on fullscreen/windowed switch */
-#endif
- case VOCTRL_SET_PANSCAN:
- if ( vo_fs && ( vo_panscan != vo_panscan_amount ) ) // || ( !vo_fs && vo_panscan_amount ) )
- {
-// int old_y = vo_panscan_y;
- panscan_calc();
-// if ( old_y != vo_panscan_y )
- set_window();
- }
- return VO_TRUE;
- case VOCTRL_UPDATE_SCREENINFO:
-#ifdef VO_XMGA
- update_xinerama_info();
-#else
- aspect_save_screenres(vo_screenwidth, vo_screenheight);
-#endif
- return VO_TRUE;
- }
- return VO_NOTIMPL;
-}
-
-
-static int mga_init(int width,int height,unsigned int format){
-
- uint32_t bespitch = FFALIGN(width, 32);
- switch(format){
- case IMGFMT_YV12:
- width = FFALIGN(width, 2);
- height = FFALIGN(height, 2);
- mga_vid_config.frame_size = bespitch * height + (bespitch * height) / 2;
- mga_vid_config.format=MGA_VID_FORMAT_I420; break;
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- width = FFALIGN(width, 2);
- height = FFALIGN(height, 2);
- mga_vid_config.frame_size = bespitch * height + (bespitch * height) / 2;
- mga_vid_config.format=MGA_VID_FORMAT_YV12; break;
- case IMGFMT_YUY2:
- mga_vid_config.frame_size = bespitch * height * 2;
- mga_vid_config.format=MGA_VID_FORMAT_YUY2; break;
- case IMGFMT_UYVY:
- mga_vid_config.frame_size = bespitch * height * 2;
- mga_vid_config.format=MGA_VID_FORMAT_UYVY; break;
- default:
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] invalid output format %0X\n",format);
- return -1;
- }
-
- mga_vid_config.src_width = width;
- mga_vid_config.src_height= height;
- if(!mga_vid_config.dest_width)
- mga_vid_config.dest_width = width;
- if(!mga_vid_config.dest_height)
- mga_vid_config.dest_height= height;
-
- mga_vid_config.colkey_on=0;
-
- mga_vid_config.num_frames=(vo_directrendering && !vo_doublebuffering)?1:3;
- mga_vid_config.version=MGA_VID_VERSION;
-
- if(width > 1024 && height > 1024)
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[MGA] Source resolution exceeds 1023x1023 in at least one dimension.\n[MGA] Rescale in software or use -lavdopts lowres=1.\n");
- return -1;
- } else if(height <= 1024)
- {
- // try whether we have a G550
- int ret;
- if ((ret = ioctl(f,MGA_VID_CONFIG,&mga_vid_config)))
- {
- if(mga_vid_config.card_type != MGA_G550)
- {
- // we don't have a G550, so our resolution is too high
- mp_tmsg(MSGT_VO,MSGL_ERR, "[MGA] Source resolution exceeds 1023x1023 in at least one dimension.\n[MGA] Rescale in software or use -lavdopts lowres=1.\n");
- return -1;
- } else {
- // there is a deeper problem
- // we have a G550, but still couldn't configure mga_vid
- perror("Error in mga_vid_config ioctl()");
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] Your mga_vid driver version is incompatible with this MPlayer version!\n");
- return -1;
- }
- // if we arrived here, then we could successfully configure mga_vid
- // at this high resolution
- }
- } else {
- // configure mga_vid in case resolution is < 1024x1024 too
- if (ioctl(f,MGA_VID_CONFIG,&mga_vid_config))
- {
- perror("Error in mga_vid_config ioctl()");
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] Your mga_vid driver version is incompatible with this MPlayer version!\n");
- return -1;
- }
- }
- if (mga_vid_config.card_type == MGA_G200) {
- sws_ctx = sws_getContext(width, height, PIX_FMT_YUV420P,
- width, height, PIX_FMT_NV12,
- SWS_BILINEAR, NULL, NULL, NULL);
- if (!sws_ctx) {
- mp_msg(MSGT_VO, MSGL_FATAL,
- "Could not get swscale context to scale for G200.\n");
- return -1;
- }
- mp_msg(MSGT_VO, MSGL_WARN, "G200 cards support is untested. "
- "Please report whether it works.\n");
- }
-
- mp_msg(MSGT_VO,MSGL_V,"[MGA] Using %d buffers.\n",mga_vid_config.num_frames);
-
- frames[0] = mmap(0,mga_vid_config.frame_size*mga_vid_config.num_frames,PROT_WRITE,MAP_SHARED,f,0);
- frames[1] = frames[0] + 1*mga_vid_config.frame_size;
- frames[2] = frames[0] + 2*mga_vid_config.frame_size;
- frames[3] = frames[0] + 3*mga_vid_config.frame_size;
- mga_next_frame = 0;
- vid_data = frames[mga_next_frame];
-
- //clear the buffer
- memset(frames[0],0x80,mga_vid_config.frame_size*mga_vid_config.num_frames);
-
-#ifndef VO_XMGA
- ioctl(f,MGA_VID_ON,0);
-#endif
-
- return 0;
-}
-
-static int mga_uninit(void){
- if(f>=0){
- ioctl( f,MGA_VID_OFF,0 );
- munmap(frames[0],mga_vid_config.frame_size*mga_vid_config.num_frames);
- close(f);
- f = -1;
- }
- if (sws_ctx) {
- sws_freeContext(sws_ctx);
- }
- return 0;
-}
-
-static int preinit(const char *vo_subdevice)
-{
- uint32_t ver;
- const char *devname=vo_subdevice?vo_subdevice:"/dev/mga_vid";
-
- f = open(devname,O_RDWR);
- if(f == -1)
- {
- perror("open");
- mp_tmsg(MSGT_VO,MSGL_WARN, "[MGA] Couldn't open: %s\n",devname);
- return -1;
- }
-
- // check whether the mga_vid driver has the same
- // version as we expect
-
- ioctl(f,MGA_VID_GET_VERSION,&ver);
- if(MGA_VID_VERSION != ver)
- {
- mp_tmsg(MSGT_VO, MSGL_ERR, "[MGA] mismatch between kernel (%u) and MPlayer (%u) mga_vid driver versions\n", ver, MGA_VID_VERSION);
- return -1;
- }
-
-#ifdef VO_XMGA
- if (!vo_init()) {
- close(f);
- return -1;
- }
-#endif
-
- return 0;
-}
-
-static void set_window( void ){
-
- drwcX = vo_dx;
- drwcY = vo_dy;
- drwWidth = vo_dwidth;
- drwHeight = vo_dheight;
-
- aspect(&drwWidth, &drwHeight, A_WINZOOM);
- panscan_calc_windowed();
- drwWidth += vo_panscan_x;
- drwHeight += vo_panscan_y;
- drwWidth = FFMIN(drwWidth, vo_screenwidth);
- drwHeight = FFMIN(drwHeight, vo_screenheight);
- drwX = (vo_dwidth - drwWidth ) / 2;
- drwY = (vo_dheight - drwHeight) / 2;
- drwcX += drwX;
- drwcY += drwY;
-
-#ifdef VO_XMGA
-#ifdef CONFIG_XINERAMA
- if(XineramaIsActive(mDisplay))
- {
- XineramaScreenInfo *screens;
- int num_screens;
- int i;
-
- screens = XineramaQueryScreens(mDisplay,&num_screens);
-
- /* find the screen we are on */
- i = 0;
- while(i<num_screens &&
- ((screens[i].x_org < drwcX) ||
- (screens[i].y_org < drwcY) ||
- (screens[i].x_org + screens[i].width >= drwcX) ||
- (screens[i].y_org + screens[i].height >= drwcY)))
- {
- i++;
- }
-
- if(i<num_screens)
- {
- /* save the screen we are on */
- xinerama_screen = i;
- } else {
- /* oops.. couldnt find the screen we are on
- * because the upper left corner left the
- * visual range. assume we are still on the
- * same screen
- */
- i = xinerama_screen;
- }
-
- if(xinerama_screen == -1)
- {
- // The default value of the xinerama_screen is
- // still there. Which means we could never
- // figure out on which screen we are.
- // Choose the first screen as default
- xinerama_screen = i = 0;
- }
-
- /* set drwcX and drwcY to the right values */
- drwcX = drwcX - screens[i].x_org;
- drwcY = drwcY - screens[i].y_org;
- XFree(screens);
- }
-
-#endif
-
- mDrawColorKey();
-#endif
-
- mga_vid_config.x_org=drwcX;
- mga_vid_config.y_org=drwcY;
- mga_vid_config.dest_width=drwWidth;
- mga_vid_config.dest_height=drwHeight;
- if ( ioctl( f,MGA_VID_CONFIG,&mga_vid_config ) ) mp_msg(MSGT_VO,MSGL_WARN,"Error in mga_vid_config ioctl (wrong mga_vid.o version?)" );
-}
diff --git a/libvo/osd.c b/libvo/osd.c
index 992ffc0..f0df215 100644
--- a/libvo/osd.c
+++ b/libvo/osd.c
@@ -20,9 +20,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-//#define FAST_OSD
-//#define FAST_OSD_TABLE
-
#include "config.h"
#include "osd.h"
#include "mp_msg.h"
@@ -193,36 +190,6 @@ void vo_draw_alpha_yuy2(int w,int h, unsigned char* src, unsigned char *srca, in
#endif //!CONFIG_RUNTIME_CPUDETECT
}
-void vo_draw_alpha_uyvy(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
-#if CONFIG_RUNTIME_CPUDETECT
-#if ARCH_X86
- // ordered by speed / fastest first
- if(gCpuCaps.hasMMX2)
- vo_draw_alpha_uyvy_MMX2(w, h, src, srca, srcstride, dstbase, dststride);
- else if(gCpuCaps.has3DNow)
- vo_draw_alpha_uyvy_3DNow(w, h, src, srca, srcstride, dstbase, dststride);
- else if(gCpuCaps.hasMMX)
- vo_draw_alpha_uyvy_MMX(w, h, src, srca, srcstride, dstbase, dststride);
- else
- vo_draw_alpha_uyvy_X86(w, h, src, srca, srcstride, dstbase, dststride);
-#else
- vo_draw_alpha_uyvy_C(w, h, src, srca, srcstride, dstbase, dststride);
-#endif
-#else //CONFIG_RUNTIME_CPUDETECT
-#if HAVE_MMX2
- vo_draw_alpha_uyvy_MMX2(w, h, src, srca, srcstride, dstbase, dststride);
-#elif HAVE_AMD3DNOW
- vo_draw_alpha_uyvy_3DNow(w, h, src, srca, srcstride, dstbase, dststride);
-#elif HAVE_MMX
- vo_draw_alpha_uyvy_MMX(w, h, src, srca, srcstride, dstbase, dststride);
-#elif ARCH_X86
- vo_draw_alpha_uyvy_X86(w, h, src, srca, srcstride, dstbase, dststride);
-#else
- vo_draw_alpha_uyvy_C(w, h, src, srca, srcstride, dstbase, dststride);
-#endif
-#endif //!CONFIG_RUNTIME_CPUDETECT
-}
-
void vo_draw_alpha_rgb24(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
#if CONFIG_RUNTIME_CPUDETECT
#if ARCH_X86
@@ -283,21 +250,7 @@ void vo_draw_alpha_rgb32(int w,int h, unsigned char* src, unsigned char *srca, i
#endif //!CONFIG_RUNTIME_CPUDETECT
}
-#ifdef FAST_OSD_TABLE
-static unsigned short fast_osd_12bpp_table[256];
-static unsigned short fast_osd_15bpp_table[256];
-static unsigned short fast_osd_16bpp_table[256];
-#endif
-
void vo_draw_alpha_init(void){
-#ifdef FAST_OSD_TABLE
- int i;
- for(i=0;i<256;i++){
- fast_osd_12bpp_table[i]=((i>>4)<< 8)|((i>>4)<<4)|(i>>4);
- fast_osd_15bpp_table[i]=((i>>3)<<10)|((i>>3)<<5)|(i>>3);
- fast_osd_16bpp_table[i]=((i>>3)<<11)|((i>>2)<<5)|(i>>3);
- }
-#endif
//FIXME the optimized stuff is a lie for 15/16bpp as they aren't optimized yet
if( mp_msg_test(MSGT_OSD,MSGL_V) )
{
@@ -339,14 +292,6 @@ void vo_draw_alpha_rgb12(int w, int h, unsigned char* src, unsigned char *srca,
register int x;
for (x = 0; x < w; x++) {
if(srca[x]){
-#ifdef FAST_OSD
-#ifdef FAST_OSD_TABLE
- dst[x] = fast_osd_12bpp_table[src[x]];
-#else
- register unsigned int a = src[x] >> 4;
- dst[x] = (a << 8) | (a << 4) | a;
-#endif
-#else
unsigned char r = dst[x] & 0x0F;
unsigned char g = (dst[x] >> 4) & 0x0F;
unsigned char b = (dst[x] >> 8) & 0x0F;
@@ -354,7 +299,6 @@ void vo_draw_alpha_rgb12(int w, int h, unsigned char* src, unsigned char *srca,
g = (((g*srca[x]) >> 4) + src[x]) >> 4;
b = (((b*srca[x]) >> 4) + src[x]) >> 4;
dst[x] = (b << 8) | (g << 4) | r;
-#endif
}
}
src += srcstride;
@@ -371,14 +315,6 @@ void vo_draw_alpha_rgb15(int w,int h, unsigned char* src, unsigned char *srca, i
register int x;
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
-#ifdef FAST_OSD_TABLE
- dst[x]=fast_osd_15bpp_table[src[x]];
-#else
- register unsigned int a=src[x]>>3;
- dst[x]=(a<<10)|(a<<5)|a;
-#endif
-#else
unsigned char r=dst[x]&0x1F;
unsigned char g=(dst[x]>>5)&0x1F;
unsigned char b=(dst[x]>>10)&0x1F;
@@ -386,7 +322,6 @@ void vo_draw_alpha_rgb15(int w,int h, unsigned char* src, unsigned char *srca, i
g=(((g*srca[x])>>5)+src[x])>>3;
b=(((b*srca[x])>>5)+src[x])>>3;
dst[x]=(b<<10)|(g<<5)|r;
-#endif
}
}
src+=srcstride;
@@ -403,13 +338,6 @@ void vo_draw_alpha_rgb16(int w,int h, unsigned char* src, unsigned char *srca, i
register int x;
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
-#ifdef FAST_OSD_TABLE
- dst[x]=fast_osd_16bpp_table[src[x]];
-#else
- dst[x]=((src[x]>>3)<<11)|((src[x]>>2)<<5)|(src[x]>>3);
-#endif
-#else
unsigned char r=dst[x]&0x1F;
unsigned char g=(dst[x]>>5)&0x3F;
unsigned char b=(dst[x]>>11)&0x1F;
@@ -417,7 +345,6 @@ void vo_draw_alpha_rgb16(int w,int h, unsigned char* src, unsigned char *srca, i
g=(((g*srca[x])>>6)+src[x])>>2;
b=(((b*srca[x])>>5)+src[x])>>3;
dst[x]=(b<<11)|(g<<5)|r;
-#endif
}
}
src+=srcstride;
diff --git a/libvo/osd.h b/libvo/osd.h
index 4d79e85..8f57e6b 100644
--- a/libvo/osd.h
+++ b/libvo/osd.h
@@ -26,7 +26,6 @@ void vo_draw_alpha_init(void); // build tables
void vo_draw_alpha_yv12(int w, int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase, int dststride);
void vo_draw_alpha_yuy2(int w, int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase, int dststride);
-void vo_draw_alpha_uyvy(int w, int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase, int dststride);
void vo_draw_alpha_rgb24(int w, int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase, int dststride);
void vo_draw_alpha_rgb32(int w, int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase, int dststride);
void vo_draw_alpha_rgb12(int w, int h, unsigned char* src, unsigned char *srca,
diff --git a/libvo/osd_template.c b/libvo/osd_template.c
index 6d8305a..b53cb81 100644
--- a/libvo/osd_template.c
+++ b/libvo/osd_template.c
@@ -46,9 +46,6 @@
static inline void RENAME(vo_draw_alpha_yv12)(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
int y;
-#if defined(FAST_OSD) && !HAVE_MMX
- w=w>>1;
-#endif
#if HAVE_MMX
__asm__ volatile(
"pcmpeqb %%mm5, %%mm5\n\t" // F..F
@@ -96,12 +93,7 @@ static inline void RENAME(vo_draw_alpha_yv12)(int w,int h, unsigned char* src, u
}
#else
for(x=0;x<w;x++){
-#ifdef FAST_OSD
- if(srca[2*x+0]) dstbase[2*x+0]=src[2*x+0];
- if(srca[2*x+1]) dstbase[2*x+1]=src[2*x+1];
-#else
if(srca[x]) dstbase[x]=((dstbase[x]*srca[x])>>8)+src[x];
-#endif
}
#endif
src+=srcstride;
@@ -116,9 +108,6 @@ static inline void RENAME(vo_draw_alpha_yv12)(int w,int h, unsigned char* src, u
static inline void RENAME(vo_draw_alpha_yuy2)(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
int y;
-#if defined(FAST_OSD) && !HAVE_MMX
- w=w>>1;
-#endif
#if HAVE_MMX
__asm__ volatile(
"pxor %%mm7, %%mm7\n\t"
@@ -165,15 +154,10 @@ static inline void RENAME(vo_draw_alpha_yuy2)(int w,int h, unsigned char* src, u
}
#else
for(x=0;x<w;x++){
-#ifdef FAST_OSD
- if(srca[2*x+0]) dstbase[4*x+0]=src[2*x+0];
- if(srca[2*x+1]) dstbase[4*x+2]=src[2*x+1];
-#else
if(srca[x]) {
dstbase[2*x]=((dstbase[2*x]*srca[x])>>8)+src[x];
dstbase[2*x+1]=((((signed)dstbase[2*x+1]-128)*srca[x])>>8)+128;
}
-#endif
}
#endif
src+=srcstride;
@@ -186,30 +170,6 @@ static inline void RENAME(vo_draw_alpha_yuy2)(int w,int h, unsigned char* src, u
return;
}
-static inline void RENAME(vo_draw_alpha_uyvy)(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
- int y;
-#if defined(FAST_OSD)
- w=w>>1;
-#endif
- for(y=0;y<h;y++){
- register int x;
- for(x=0;x<w;x++){
-#ifdef FAST_OSD
- if(srca[2*x+0]) dstbase[4*x+2]=src[2*x+0];
- if(srca[2*x+1]) dstbase[4*x+0]=src[2*x+1];
-#else
- if(srca[x]) {
- dstbase[2*x+1]=((dstbase[2*x+1]*srca[x])>>8)+src[x];
- dstbase[2*x]=((((signed)dstbase[2*x]-128)*srca[x])>>8)+128;
- }
-#endif
- }
- src+=srcstride;
- srca+=srcstride;
- dstbase+=dststride;
- }
-}
-
static inline void RENAME(vo_draw_alpha_rgb24)(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
int y;
#if HAVE_MMX
@@ -297,13 +257,9 @@ static inline void RENAME(vo_draw_alpha_rgb24)(int w,int h, unsigned char* src,
#else /*non x86 arch or x86_64 with MMX disabled */
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
- dst[0]=dst[1]=dst[2]=src[x];
-#else
dst[0]=((dst[0]*srca[x])>>8)+src[x];
dst[1]=((dst[1]*srca[x])>>8)+src[x];
dst[2]=((dst[2]*srca[x])>>8)+src[x];
-#endif
}
dst+=3; // 24bpp
}
@@ -463,13 +419,9 @@ static inline void RENAME(vo_draw_alpha_rgb32)(int w,int h, unsigned char* src,
#else /*non x86 arch or x86_64 with MMX disabled */
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
- dstbase[4*x+0]=dstbase[4*x+1]=dstbase[4*x+2]=src[x];
-#else
dstbase[4*x+0]=((dstbase[4*x+0]*srca[x])>>8)+src[x];
dstbase[4*x+1]=((dstbase[4*x+1]*srca[x])>>8)+src[x];
dstbase[4*x+2]=((dstbase[4*x+2]*srca[x])>>8)+src[x];
-#endif
}
}
#endif /* arch_x86 */
diff --git a/libvo/osx_common.c b/libvo/osx_common.c
index 52b8d89..2aa0a28 100644
--- a/libvo/osx_common.c
+++ b/libvo/osx_common.c
@@ -19,12 +19,13 @@
// only to get keycode definitions from HIToolbox/Events.h
#include <Carbon/Carbon.h>
+#include <CoreServices/CoreServices.h>
#include "config.h"
#include "osx_common.h"
-#include "old_vo_defines.h"
#include "video_out.h"
#include "input/keycodes.h"
#include "input/input.h"
+#include "mp_msg.h"
/*
* Define keycodes only found in OSX >= 10.5 for older versions
@@ -115,52 +116,30 @@ int convert_key(unsigned key, unsigned charcode)
return charcode;
}
-static int our_aspect_change;
-static float old_movie_aspect;
-
-/**
- * Sends MPlayer a command to change aspect to the requested value.
- * @param new_aspect desired new aspect, < 0 means restore original.
- */
-void change_movie_aspect(float new_aspect)
-{
- char cmd_str[64];
- if (new_aspect < 0)
- new_aspect = old_movie_aspect;
- our_aspect_change = 1;
- snprintf(cmd_str, sizeof(cmd_str), "switch_ratio %f", new_aspect);
- mp_input_queue_cmd(global_vo->input_ctx, mp_input_parse_cmd(cmd_str));
-}
-
/**
- * Call in config to save the original movie aspect.
- * This will ignore config calls caused by change_movie_aspect.
- */
-void config_movie_aspect(float config_aspect)
-{
- if (!our_aspect_change)
- old_movie_aspect = config_aspect;
- our_aspect_change = 0;
-}
-
-/** This chunk of code is heavily based off SDL_macosx.m from SDL.
- * The CPSEnableForegroundOperation that was here before is private
- * and should not be used.
- * Replaced by a call to the 10.3+ TransformProcessType.
+ * Checks at runtime that OSX version is the same or newer than the one
+ * provided as input.
*/
-void osx_foreground_hack(void)
+int is_osx_version_at_least(int majorv, int minorv, int bugfixv)
{
-#if !defined (CONFIG_MACOSX_FINDER) || !defined (CONFIG_SDL)
- ProcessSerialNumber myProc, frProc;
- Boolean sameProc;
+ OSErr err;
+ SInt32 major, minor, bugfix;
+ if ((err = Gestalt(gestaltSystemVersionMajor, &major)) != noErr)
+ goto fail;
+ if ((err = Gestalt(gestaltSystemVersionMinor, &minor)) != noErr)
+ goto fail;
+ if ((err = Gestalt(gestaltSystemVersionBugFix, &bugfix)) != noErr)
+ goto fail;
- if (GetFrontProcess(&frProc) == noErr &&
- GetCurrentProcess(&myProc) == noErr) {
- if (SameProcess(&frProc, &myProc, &sameProc) == noErr && !sameProc) {
- TransformProcessType(&myProc,
- kProcessTransformToForegroundApplication);
- }
- SetFrontProcess(&myProc);
- }
-#endif
+ if(major > majorv ||
+ (major == majorv && (minor > minorv ||
+ (minor == minorv && bugfix >= bugfixv))))
+ return 1;
+ else
+ return 0;
+fail:
+ // There's no reason the Gestalt system call should fail on OSX.
+ mp_msg(MSGT_VO, MSGL_FATAL, "[osx] Failed to get system version number. "
+ "Please contact the developers. Error code: %ld\n", (long)err);
+ return 0;
}
diff --git a/libvo/osx_common.h b/libvo/osx_common.h
index 21bb3d8..6ab5bc6 100644
--- a/libvo/osx_common.h
+++ b/libvo/osx_common.h
@@ -20,8 +20,6 @@
#define MPLAYER_OSX_COMMON_H
int convert_key(unsigned key, unsigned charcode);
-void change_movie_aspect(float new_aspect);
-void config_movie_aspect(float config_aspect);
-void osx_foreground_hack(void);
+int is_osx_version_at_least(int majorv, int minorv, int bugfixv);
#endif /* MPLAYER_OSX_COMMON_H */
diff --git a/libvo/spuenc.c b/libvo/spuenc.c
deleted file mode 100644
index 10d93b0..0000000
--- a/libvo/spuenc.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * encode a pixmap with RLE
- *
- * Copyright (C) 2000 Alejandro J. Cura <alecu at protocultura.net>
- *
- * (modified a bit to work with the dxr3 driver...4/2/2002 cg)
- *
- * Based on the hard work of:
- *
- * Samuel Hocevar <sam at via.ecp.fr> and Michel Lespinasse <walken at via.ecp.fr>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "unistd.h"
-#include "spuenc.h"
-
-typedef struct {
- int x, y;
- unsigned int rgb[4];
- unsigned char* pixels;
-} pixbuf;
-
-static void
-encode_do_control(int x,int y, encodedata* ed, pixbuf* pb) {
- int controlstart= ed->count;
- int x1;
- int i;
- unsigned int top, left, bottom, right;
-
- top= 450 - pb->y/2;
- left=(720 / 2) - (pb->x / 2);
- top= 32;//this forces the first bit to be visible on a TV
- left= 32;//you could actually pass in x/y and do some nice
- //calculations for making it look right...
- bottom= top + pb->y - 1;
- right= left + pb->x - 1;
-
-/* the format of this is well described by a page:
- * http://members.aol.com/mpucoder/DVD/spu.html
- *
- * note I changed the layout of commands to turn off the subpic as the
- * first command, and then turn on the new subpic...this is so we can
- * leave the subpic on for an arbitrary ammount of time as controlled by
- * mplayer (ie when we turn on the subpic we don't know how long it should
- * stay on when using mplayer).
- * with this layout we turn off the last subpic as we are turning on the
- * new one.
- * The original hd it turn on the subpic, and delay the turn off command using
- * the durration/delay feature.
- * */
- /* start at x0+2*/
- i= controlstart;
- /* display duration... */
-// ed->data[i++]= 0x00;
-// ed->data[i++]= 0x00; //durration before turn off command occurs
- //in 90000/1024 units
-
- /* x1 */
-// x1=i+4;
-// ed->data[i++]= x1 >> 8;//location of next command block
-// ed->data[i++]= x1 & 0xff;
- /* finish it */
-// ed->data[i++]= 0x02;//turn off command
-// ed->data[i++]= 0xff;//end of command block
- x1= i; //marker for last command block address
-
- /* display duration... */
- ed->data[i++]= 0x00;
- ed->data[i++]= 0x00; //durration before turn on command occurs
- //in 90000/1024 units
- /* x1 */
- ed->data[i++]= x1 >> 8; //since this is the last command block, this
- ed->data[i++]= x1 & 0xff;//points back to itself
-
-
- /* 0x01: start displaying */
- ed->data[i++]= 0x01;
-
- /* 0x03: palette info */
- ed->data[i++]= 0x03;
- ed->data[i++]= 0x08;
- ed->data[i++]= 0x7f;
-/*
- * The palette is a coded index (one of 16) 0 is black, 0xf is white
- * (unless you screw with the default palette)
- * for what I am doing I only use white.
- * 7 is lt grey, and 8 is dk grey...
- * */
- /* 0x04: transparency info (reversed) */
- ed->data[i++]= 0x04;
- ed->data[i++]= 0xFF;//change the opacity values of the color entries
- ed->data[i++]= 0xF0;//say if you wanted white text on a black backround
- //note you will have to work harder, by finding the
- //bounding box of the text, and use a non transparent black palette
- // entry to fill the backround with, (say color 1 instead of 0)
-
- /* 0x05: coordinates */
- ed->data[i++]= 0x05;
- ed->data[i++]= left >> 4;
- ed->data[i++]= ((left&0xf)<<4)+(right>>8);
- ed->data[i++]= (right&0xff);
- ed->data[i++]= top >> 4;
- ed->data[i++]= ((top&0xf)<<4)+(bottom>>8);
- ed->data[i++]= (bottom&0xff);
-
- /* 0x06: both fields' offsets */
- ed->data[i++]= 0x06;
- ed->data[i++]= 0x00;
- ed->data[i++]= 0x04;
- ed->data[i++]= ed->oddstart >> 8;
- ed->data[i++]= ed->oddstart & 0xff;
-
- /* 0xFF: end sequence */
- ed->data[i++]= 0xFF;
- if(! i&1 ) {
- ed->data[i++]= 0xff;
- }
-
- /* x0 */
- ed->data[2]= (controlstart) >> 8;
- ed->data[3]= (controlstart) & 0xff;
-
- /* packet size */
- ed->data[0]= i >> 8;
- ed->data[1]= i & 0xff;
-
- ed->count= i;
-}
-
-static void
-encode_put_nibble( encodedata* ed, unsigned char nibble ) {
- if( ed->nibblewaiting ) {
- ed->data[ed->count++]|= nibble;
- ed->nibblewaiting= 0;
- } else {
- ed->data[ed->count]= nibble<<4;
- ed->nibblewaiting= 1;
- }
-}
-
-static void
-encode_pixels( encodedata* ed, int color, int number ) {
- if(number > 3) {
- if(number > 15) {
- encode_put_nibble( ed, 0 );
- if(number > 63) {
- encode_put_nibble( ed, (number & 0xC0)>>6 );
- }
- }
- encode_put_nibble( ed, (number & 0x3C)>>2 );
- }
- encode_put_nibble( ed, ((number & 0xF)<<2) | color);
-}
-
-static void
-encode_eol( encodedata* ed ) {
- if( ed->nibblewaiting ) {
- ed->count++;
- ed->nibblewaiting= 0;
- }
- ed->data[ed->count++]= 0x00;
- ed->data[ed->count++]= 0x00;
-}
-
-static void
-encode_do_row( encodedata* ed, pixbuf* pb, int row ) {
- int i= 0;
- unsigned char* pix= pb->pixels + row * pb->x;
- int color= *pix;
- int n= 0; /* the number of pixels of this color */
-
- while( i++ < pb->x ) {
- /* FIXME: watch this space for EOL */
- if( *pix != color || n == 255 ) {
- encode_pixels( ed, color, n );
- color= *pix;
- n= 1;
- } else {
- n++;
- }
- pix++;
- }
-
- /* this small optimization: (n>63) can save up to two bytes per line
- * I wonder if this is compatible with all the hardware... */
- if( color == 0 && n > 63 ) {
- encode_eol( ed );
- } else {
- encode_pixels( ed, color, n );
- }
-
- if( ed->nibblewaiting ) {
- ed->count++;
- ed->nibblewaiting= 0;
- }
-}
-
-
-void
-pixbuf_encode_rle(int x, int y, int w, int h, char *inbuf, int stride,encodedata *ed){
- pixbuf pb;
- int i, row;
- pb.x = w;
- pb.y = h;
-
- pb.pixels = inbuf;
- ed->count= 4;
- ed->nibblewaiting= 0;
-
- row= 0;
- for( i= 0; i < pb.y; i++ ) {
- encode_do_row(ed, &pb, row);
- row+= 2;
- if( row > pb.y ) {
- row= 1;
- ed->oddstart= ed->count;
- }
- }
- encode_do_control(x,y, ed, &pb);
-}
diff --git a/libvo/spuenc.h b/libvo/spuenc.h
deleted file mode 100644
index 39b999b..0000000
--- a/libvo/spuenc.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * encode a pixmap with RLE
- *
- * Copyright (C) 2000 Alejandro J. Cura <alecu at protocultura.net>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_SPUENC_H
-#define MPLAYER_SPUENC_H
-
-#include <stdlib.h>
-#define DATASIZE 53220
-
-typedef struct {
- unsigned char data[DATASIZE];
- int count; /* the count of bytes written */
- int oddstart;
- int nibblewaiting;
-} encodedata;
-
-void pixbuf_encode_rle(int x, int y, int w, int h, char *inbuf, int stride, encodedata *ed);
-
-#endif /* MPLAYER_SPUENC_H */
diff --git a/libvo/vdpau_template.c b/libvo/vdpau_template.c
deleted file mode 100644
index 14e5e7d..0000000
--- a/libvo/vdpau_template.c
+++ /dev/null
@@ -1,43 +0,0 @@
-
-/* List the VDPAU functions used by MPlayer.
- * Generated by vdpau_functions.py.
- * First argument on each line is the VDPAU function type name,
- * second macro name needed to get function address,
- * third name MPlayer uses for the function.
- */
-
-VDP_FUNCTION(VdpGetErrorString, VDP_FUNC_ID_GET_ERROR_STRING, get_error_string)
-VDP_FUNCTION(VdpBitmapSurfaceCreate, VDP_FUNC_ID_BITMAP_SURFACE_CREATE, bitmap_surface_create)
-VDP_FUNCTION(VdpBitmapSurfaceDestroy, VDP_FUNC_ID_BITMAP_SURFACE_DESTROY, bitmap_surface_destroy)
-VDP_FUNCTION(VdpBitmapSurfacePutBitsNative, VDP_FUNC_ID_BITMAP_SURFACE_PUT_BITS_NATIVE, bitmap_surface_put_bits_native)
-VDP_FUNCTION(VdpBitmapSurfaceQueryCapabilities, VDP_FUNC_ID_BITMAP_SURFACE_QUERY_CAPABILITIES, bitmap_surface_query_capabilities)
-VDP_FUNCTION(VdpDecoderCreate, VDP_FUNC_ID_DECODER_CREATE, decoder_create)
-VDP_FUNCTION(VdpDecoderDestroy, VDP_FUNC_ID_DECODER_DESTROY, decoder_destroy)
-VDP_FUNCTION(VdpDecoderRender, VDP_FUNC_ID_DECODER_RENDER, decoder_render)
-VDP_FUNCTION(VdpDeviceDestroy, VDP_FUNC_ID_DEVICE_DESTROY, device_destroy)
-VDP_FUNCTION(VdpGenerateCSCMatrix, VDP_FUNC_ID_GENERATE_CSC_MATRIX, generate_csc_matrix)
-VDP_FUNCTION(VdpOutputSurfaceCreate, VDP_FUNC_ID_OUTPUT_SURFACE_CREATE, output_surface_create)
-VDP_FUNCTION(VdpOutputSurfaceDestroy, VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY, output_surface_destroy)
-VDP_FUNCTION(VdpOutputSurfaceGetBitsNative, VDP_FUNC_ID_OUTPUT_SURFACE_GET_BITS_NATIVE, output_surface_get_bits_native)
-VDP_FUNCTION(VdpOutputSurfacePutBitsIndexed, VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_INDEXED, output_surface_put_bits_indexed)
-VDP_FUNCTION(VdpOutputSurfacePutBitsNative, VDP_FUNC_ID_OUTPUT_SURFACE_PUT_BITS_NATIVE, output_surface_put_bits_native)
-VDP_FUNCTION(VdpOutputSurfaceRenderBitmapSurface, VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_BITMAP_SURFACE, output_surface_render_bitmap_surface)
-VDP_FUNCTION(VdpOutputSurfaceRenderOutputSurface, VDP_FUNC_ID_OUTPUT_SURFACE_RENDER_OUTPUT_SURFACE, output_surface_render_output_surface)
-VDP_FUNCTION(VdpPreemptionCallbackRegister, VDP_FUNC_ID_PREEMPTION_CALLBACK_REGISTER, preemption_callback_register)
-VDP_FUNCTION(VdpPresentationQueueBlockUntilSurfaceIdle, VDP_FUNC_ID_PRESENTATION_QUEUE_BLOCK_UNTIL_SURFACE_IDLE, presentation_queue_block_until_surface_idle)
-VDP_FUNCTION(VdpPresentationQueueCreate, VDP_FUNC_ID_PRESENTATION_QUEUE_CREATE, presentation_queue_create)
-VDP_FUNCTION(VdpPresentationQueueDestroy, VDP_FUNC_ID_PRESENTATION_QUEUE_DESTROY, presentation_queue_destroy)
-VDP_FUNCTION(VdpPresentationQueueDisplay, VDP_FUNC_ID_PRESENTATION_QUEUE_DISPLAY, presentation_queue_display)
-VDP_FUNCTION(VdpPresentationQueueGetTime, VDP_FUNC_ID_PRESENTATION_QUEUE_GET_TIME, presentation_queue_get_time)
-VDP_FUNCTION(VdpPresentationQueueQuerySurfaceStatus, VDP_FUNC_ID_PRESENTATION_QUEUE_QUERY_SURFACE_STATUS, presentation_queue_query_surface_status)
-VDP_FUNCTION(VdpPresentationQueueTargetCreateX11, VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_CREATE_X11, presentation_queue_target_create_x11)
-VDP_FUNCTION(VdpPresentationQueueTargetDestroy, VDP_FUNC_ID_PRESENTATION_QUEUE_TARGET_DESTROY, presentation_queue_target_destroy)
-VDP_FUNCTION(VdpVideoMixerCreate, VDP_FUNC_ID_VIDEO_MIXER_CREATE, video_mixer_create)
-VDP_FUNCTION(VdpVideoMixerDestroy, VDP_FUNC_ID_VIDEO_MIXER_DESTROY, video_mixer_destroy)
-VDP_FUNCTION(VdpVideoMixerQueryFeatureSupport, VDP_FUNC_ID_VIDEO_MIXER_QUERY_FEATURE_SUPPORT, video_mixer_query_feature_support)
-VDP_FUNCTION(VdpVideoMixerRender, VDP_FUNC_ID_VIDEO_MIXER_RENDER, video_mixer_render)
-VDP_FUNCTION(VdpVideoMixerSetAttributeValues, VDP_FUNC_ID_VIDEO_MIXER_SET_ATTRIBUTE_VALUES, video_mixer_set_attribute_values)
-VDP_FUNCTION(VdpVideoMixerSetFeatureEnables, VDP_FUNC_ID_VIDEO_MIXER_SET_FEATURE_ENABLES, video_mixer_set_feature_enables)
-VDP_FUNCTION(VdpVideoSurfaceCreate, VDP_FUNC_ID_VIDEO_SURFACE_CREATE, video_surface_create)
-VDP_FUNCTION(VdpVideoSurfaceDestroy, VDP_FUNC_ID_VIDEO_SURFACE_DESTROY, video_surface_destroy)
-VDP_FUNCTION(VdpVideoSurfacePutBitsYCbCr, VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR, video_surface_put_bits_y_cb_cr)
diff --git a/libvo/vesa_lvo.c b/libvo/vesa_lvo.c
deleted file mode 100644
index f5cbab4..0000000
--- a/libvo/vesa_lvo.c
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * vo_vesa interface to Linux Video Overlay
- * (partly based on vo_mga.c)
- *
- * copyright (C) 2001 Nick Kurshev <nickols_k at mail.ru>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <inttypes.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "config.h"
-#include "mp_msg.h"
-
-#include "vesa_lvo.h"
-#include "libmpcodecs/img_format.h"
-#include "drivers/mga_vid.h" /* <- should be changed to "linux/'something'.h" */
-#include "fastmemcpy.h"
-#include "osd.h"
-#include "video_out.h"
-#include "sub/sub.h"
-#include "libmpcodecs/vfcap.h"
-
-#define WIDTH_ALIGN 32 /* should be 16 for rage:422 and 32 for rage:420 */
-#define NUM_FRAMES 10
-
-static uint8_t *frames[NUM_FRAMES];
-
-static int lvo_handler = -1;
-static uint8_t *lvo_mem = NULL;
-static uint8_t next_frame;
-static mga_vid_config_t mga_vid_config;
-static unsigned image_bpp,image_height,image_width,src_format;
-int vlvo_control(uint32_t request, void *data);
-
-#define PIXEL_SIZE() ((video_mode_info.BitsPerPixel+7)/8)
-#define SCREEN_LINE_SIZE(pixel_size) (video_mode_info.XResolution*(pixel_size) )
-#define IMAGE_LINE_SIZE(pixel_size) (image_width*(pixel_size))
-
-int vlvo_init(unsigned src_width,unsigned src_height,
- unsigned x_org,unsigned y_org,unsigned dst_width,
- unsigned dst_height,unsigned format,unsigned dest_bpp)
-{
- size_t i,awidth;
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VESA_LVO] This branch is no longer supported.\n[VESA_LVO] Please use -vo vesa:vidix instead.\n");
- return -1;
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2, "vesa_lvo: vlvo_init() was called\n");}
- image_width = src_width;
- image_height = src_height;
- mga_vid_config.version=MGA_VID_VERSION;
- src_format = mga_vid_config.format=format;
- awidth = (src_width + (WIDTH_ALIGN-1)) & ~(WIDTH_ALIGN-1);
- switch(format){
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- image_bpp=16;
- mga_vid_config.frame_size = awidth*src_height+(awidth*src_height)/2;
- break;
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- image_bpp=16;
- mga_vid_config.frame_size = awidth*src_height*2;
- break;
- case IMGFMT_RGB15:
- case IMGFMT_BGR15:
- case IMGFMT_RGB16:
- case IMGFMT_BGR16:
- image_bpp=16;
- mga_vid_config.frame_size = awidth*src_height*2;
- break;
- case IMGFMT_RGB24:
- case IMGFMT_BGR24:
- image_bpp=24;
- mga_vid_config.frame_size = awidth*src_height*3;
- break;
- case IMGFMT_RGB32:
- case IMGFMT_BGR32:
- image_bpp=32;
- mga_vid_config.frame_size = awidth*src_height*4;
- break;
- default:
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VESA_LVI] Invalid output format: %s(%0X)\n",vo_format_name(format),format);
- return -1;
- }
- mga_vid_config.colkey_on=0;
- mga_vid_config.src_width = src_width;
- mga_vid_config.src_height= src_height;
- mga_vid_config.dest_width = dst_width;
- mga_vid_config.dest_height= dst_height;
- mga_vid_config.x_org=x_org;
- mga_vid_config.y_org=y_org;
- mga_vid_config.num_frames=NUM_FRAMES;
- if (ioctl(lvo_handler,MGA_VID_CONFIG,&mga_vid_config))
- {
- perror("vesa_lvo: Error in mga_vid_config ioctl()");
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VESA_LVO] Your fb_vid driver version is incompatible with this MPlayer version!\n");
- return -1;
- }
- ioctl(lvo_handler,MGA_VID_ON,0);
-
- frames[0] = (char*)mmap(0,mga_vid_config.frame_size*mga_vid_config.num_frames,PROT_WRITE,MAP_SHARED,lvo_handler,0);
- for(i=1;i<NUM_FRAMES;i++)
- frames[i] = frames[i-1] + mga_vid_config.frame_size;
- next_frame = 0;
- lvo_mem = frames[next_frame];
-
- /*clear the buffer*/
- memset(frames[0],0x80,mga_vid_config.frame_size*mga_vid_config.num_frames);
- return 0;
-}
-
-void vlvo_term( void )
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2, "vesa_lvo: vlvo_term() was called\n");}
- ioctl( lvo_handler,MGA_VID_OFF,0 );
- munmap(frames[0],mga_vid_config.frame_size*mga_vid_config.num_frames);
- if(lvo_handler != -1) close(lvo_handler);
-}
-
-static int vlvo_draw_slice_420(uint8_t *image[], int stride[],
- int w, int h, int x, int y)
-{
- uint8_t *src;
- uint8_t *dest;
- uint32_t bespitch,bespitch2;
- int i;
-
- bespitch = (mga_vid_config.src_width + (WIDTH_ALIGN-1)) & ~(WIDTH_ALIGN-1);
- bespitch2 = bespitch/2;
-
- dest = lvo_mem + bespitch * y + x;
- src = image[0];
- for(i=0;i<h;i++){
- fast_memcpy(dest,src,w);
- src+=stride[0];
- dest += bespitch;
- }
-
- w/=2;h/=2;x/=2;y/=2;
-
- dest = lvo_mem + bespitch*mga_vid_config.src_height + bespitch2 * y + x;
- src = image[1];
- for(i=0;i<h;i++){
- fast_memcpy(dest,src,w);
- src+=stride[1];
- dest += bespitch2;
- }
-
- dest = lvo_mem + bespitch*mga_vid_config.src_height
- + bespitch*mga_vid_config.src_height / 4
- + bespitch2 * y + x;
- src = image[2];
- for(i=0;i<h;i++){
- fast_memcpy(dest,src,w);
- src+=stride[2];
- dest += bespitch2;
- }
- return 0;
-}
-
-static int vlvo_draw_slice(uint8_t *image[], int stride[],
- int w,int h,int x,int y)
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2, "vesa_lvo: vlvo_draw_slice() was called\n");}
- if(src_format == IMGFMT_YV12 || src_format == IMGFMT_I420 || src_format == IMGFMT_IYUV)
- vlvo_draw_slice_420(image,stride,w,h,x,y);
- else
- {
- uint8_t *dst;
- uint8_t bytpp;
- bytpp = (image_bpp+7)/8;
- dst = lvo_mem + (image_width * y + x)*bytpp;
- /* vlvo_draw_slice_422(image,stride,w,h,x,y); just for speed */
- fast_memcpy(dst,image[0],mga_vid_config.frame_size);
- }
- return 0;
-}
-
-static int vlvo_draw_frame(uint8_t *image[])
-{
-/* Note it's very strange but sometime for YUY2 draw_frame is called */
- fast_memcpy(lvo_mem,image[0],mga_vid_config.frame_size);
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2, "vesa_lvo: vlvo_flip_page() was called\n");}
- return 0;
-}
-
-static void vlvo_flip_page(void)
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2, "vesa_lvo: vlvo_draw_osd() was called\n");}
- if(vo_doublebuffering)
- {
- ioctl(lvo_handler,MGA_VID_FSEL,&next_frame);
- next_frame=(next_frame+1)%mga_vid_config.num_frames;
- lvo_mem=frames[next_frame];
- }
-}
-
-#if 0
-static void draw_alpha_null(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
-}
-
-static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
- uint32_t bespitch = /*(*/mga_vid_config.src_width;// + 15) & ~15;
- switch(mga_vid_config.format){
- case IMGFMT_BGR15:
- case IMGFMT_RGB15:
- vo_draw_alpha_rgb15(w,h,src,srca,stride,lvo_mem+2*(y0*bespitch+x0),2*bespitch);
- break;
- case IMGFMT_BGR16:
- case IMGFMT_RGB16:
- vo_draw_alpha_rgb16(w,h,src,srca,stride,lvo_mem+2*(y0*bespitch+x0),2*bespitch);
- break;
- case IMGFMT_BGR24:
- case IMGFMT_RGB24:
- vo_draw_alpha_rgb24(w,h,src,srca,stride,lvo_mem+3*(y0*bespitch+x0),3*bespitch);
- break;
- case IMGFMT_BGR32:
- case IMGFMT_RGB32:
- vo_draw_alpha_rgb32(w,h,src,srca,stride,lvo_mem+4*(y0*bespitch+x0),4*bespitch);
- break;
- case IMGFMT_YV12:
- case IMGFMT_IYUV:
- case IMGFMT_I420:
- vo_draw_alpha_yv12(w,h,src,srca,stride,lvo_mem+bespitch*y0+x0,bespitch);
- break;
- case IMGFMT_YUY2:
- vo_draw_alpha_yuy2(w,h,src,srca,stride,lvo_mem+2*(bespitch*y0+x0),bespitch);
- break;
- case IMGFMT_UYVY:
- vo_draw_alpha_yuy2(w,h,src,srca,stride,lvo_mem+2*(bespitch*y0+x0)+1,bespitch);
- break;
- default:
- draw_alpha_null(x0,y0,w,h,src,srca,stride);
- }
-}
-#endif
-
-static void vlvo_draw_osd(void)
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2,"vesa_lvo: vlvo_draw_osd() was called\n"); }
- /* TODO: hw support */
-#if 0
-/* disable this stuff until new fbvid.h interface will be implemented
- because in different fourcc radeon_vid and rage128_vid have different
- width alignment */
- vo_draw_text(mga_vid_config.src_width,mga_vid_config.src_height,draw_alpha);
-#endif
-}
-
-extern struct vo_old_functions video_out_vesa;
-
-int vlvo_preinit(const char *drvname)
-{
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VESA_LVO] This branch is no longer supported.\n[VESA_LVO] Please use -vo vesa:vidix instead.\n");
- return -1;
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2, "vesa_lvo: vlvo_preinit(%s) was called\n",drvname);}
- lvo_handler = open(drvname,O_RDWR);
- if(lvo_handler == -1)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VESA_LVO] Couldn't open: '%s'\n",drvname);
- return -1;
- }
- /* we are able to tune up this stuff depend on fourcc format */
- video_out_vesa.draw_slice=vlvo_draw_slice;
- video_out_vesa.draw_frame=vlvo_draw_frame;
- video_out_vesa.flip_page=vlvo_flip_page;
- video_out_vesa.draw_osd=vlvo_draw_osd;
- video_out_vesa.control=vlvo_control;
- return 0;
-}
-
-static uint32_t vlvo_query_info(uint32_t format)
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) {
- mp_msg(MSGT_VO,MSGL_DBG2, "vesa_lvo: query_format was called: %x (%s)\n",format,vo_format_name(format)); }
- return VFCAP_CSP_SUPPORTED;
-}
-
-int vlvo_control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return vlvo_query_info(*((uint32_t*)data));
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vesa_lvo.h b/libvo/vesa_lvo.h
deleted file mode 100644
index beacc0f..0000000
--- a/libvo/vesa_lvo.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * vo_vesa interface to Linux Video Overlay
- *
- * copyright (C) 2001 Nick Kurshev <nickols_k at mail.ru>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_VESA_LVO_H
-#define MPLAYER_VESA_LVO_H
-
-#include <stdint.h>
-
-int vlvo_preinit(const char *drvname);
-int vlvo_init(unsigned src_width,unsigned src_height,
- unsigned x_org,unsigned y_org,unsigned dst_width,
- unsigned dst_height,unsigned format,unsigned dest_bpp);
-void vlvo_term( void );
-
-#endif /* MPLAYER_VESA_LVO_H */
diff --git a/libvo/video_out.c b/libvo/video_out.c
index 96a5220..9c20948 100644
--- a/libvo/video_out.c
+++ b/libvo/video_out.c
@@ -36,8 +36,7 @@
#include "old_vo_wrapper.h"
#include "input/input.h"
#include "mp_fifo.h"
-
-
+#include "m_config.h"
#include "mp_msg.h"
#include "osdep/shmem.h"
@@ -66,7 +65,6 @@ int64_t WinID = -1;
int vo_pts=0; // for hw decoding
float vo_fps=0;
-char *vo_subdevice = NULL;
int vo_directrendering=0;
int vo_colorkey = 0x0000ff00; // default colorkey is green
@@ -76,45 +74,23 @@ int vo_colorkey = 0x0000ff00; // default colorkey is green
//
// Externally visible list of all vo drivers
//
-extern struct vo_driver video_out_mga;
-extern struct vo_driver video_out_xmga;
extern struct vo_driver video_out_x11;
-extern struct vo_driver video_out_xover;
extern struct vo_driver video_out_vdpau;
extern struct vo_driver video_out_xv;
extern struct vo_driver video_out_gl_nosw;
extern struct vo_driver video_out_gl;
-extern struct vo_driver video_out_gl_sdl;
-extern struct vo_driver video_out_dga;
+extern struct vo_driver video_out_gl3;
extern struct vo_driver video_out_sdl;
-extern struct vo_driver video_out_3dfx;
-extern struct vo_driver video_out_tdfxfb;
-extern struct vo_driver video_out_s3fb;
-extern struct vo_driver video_out_wii;
extern struct vo_driver video_out_null;
-extern struct vo_driver video_out_bl;
-extern struct vo_driver video_out_fbdev;
-extern struct vo_driver video_out_fbdev2;
-extern struct vo_driver video_out_svga;
extern struct vo_driver video_out_png;
-extern struct vo_driver video_out_ggi;
-extern struct vo_driver video_out_aa;
extern struct vo_driver video_out_caca;
-extern struct vo_driver video_out_mpegpes;
extern struct vo_driver video_out_yuv4mpeg;
extern struct vo_driver video_out_direct3d;
extern struct vo_driver video_out_directx;
-extern struct vo_driver video_out_kva;
-extern struct vo_driver video_out_dxr3;
-extern struct vo_driver video_out_ivtv;
extern struct vo_driver video_out_v4l2;
extern struct vo_driver video_out_jpeg;
extern struct vo_driver video_out_gif89a;
-extern struct vo_driver video_out_vesa;
extern struct vo_driver video_out_directfb;
-extern struct vo_driver video_out_dfbmga;
-extern struct vo_driver video_out_tdfx_vid;
-extern struct vo_driver video_out_xvr100;
extern struct vo_driver video_out_tga;
extern struct vo_driver video_out_corevideo;
extern struct vo_driver video_out_sharedbuffer;
@@ -123,114 +99,48 @@ extern struct vo_driver video_out_md5sum;
const struct vo_driver *video_out_drivers[] =
{
-#ifdef CONFIG_XVR100
- &video_out_xvr100,
-#endif
-#ifdef CONFIG_TDFX_VID
- &video_out_tdfx_vid,
-#endif
#ifdef CONFIG_DIRECTX
&video_out_directx,
#endif
#ifdef CONFIG_DIRECT3D
&video_out_direct3d,
#endif
-#ifdef CONFIG_KVA
- &video_out_kva,
-#endif
#ifdef CONFIG_GL_COCOA
&video_out_gl,
#endif
#ifdef CONFIG_COREVIDEO
&video_out_corevideo,
#endif
-#ifdef CONFIG_XMGA
- &video_out_xmga,
-#endif
-#ifdef CONFIG_MGA
- &video_out_mga,
-#endif
-#ifdef CONFIG_TDFXFB
- &video_out_tdfxfb,
-#endif
-#ifdef CONFIG_S3FB
- &video_out_s3fb,
-#endif
-#ifdef CONFIG_WII
- &video_out_wii,
-#endif
-#ifdef CONFIG_3DFX
- &video_out_3dfx,
-#endif
#if CONFIG_VDPAU
&video_out_vdpau,
#endif
#ifdef CONFIG_XV
&video_out_xv,
#endif
-#ifdef CONFIG_X11
#ifdef CONFIG_GL
- &video_out_gl_nosw,
+ &video_out_gl3,
+#ifndef CONFIG_GL_COCOA
+ &video_out_gl,
#endif
+#endif
+#ifdef CONFIG_X11
&video_out_x11,
- &video_out_xover,
#endif
#ifdef CONFIG_SDL
&video_out_sdl,
#endif
-#if (defined CONFIG_GL && !defined CONFIG_GL_COCOA)
- &video_out_gl,
-#endif
-#ifdef CONFIG_SHAREDBUFFER
- &video_out_sharedbuffer,
-#endif
-#ifdef CONFIG_GL_SDL
- &video_out_gl_sdl,
-#endif
-#ifdef CONFIG_DGA
- &video_out_dga,
-#endif
-#ifdef CONFIG_GGI
- &video_out_ggi,
-#endif
-#ifdef CONFIG_FBDEV
- &video_out_fbdev,
- &video_out_fbdev2,
-#endif
-#ifdef CONFIG_SVGALIB
- &video_out_svga,
-#endif
-#ifdef CONFIG_AA
- &video_out_aa,
-#endif
#ifdef CONFIG_CACA
&video_out_caca,
#endif
-#ifdef CONFIG_DXR3
- &video_out_dxr3,
-#endif
-#ifdef CONFIG_IVTV
- &video_out_ivtv,
-#endif
#ifdef CONFIG_V4L2_DECODER
&video_out_v4l2,
#endif
-#ifdef CONFIG_BL
- &video_out_bl,
-#endif
-#ifdef CONFIG_VESA
- &video_out_vesa,
-#endif
-#ifdef CONFIG_DIRECTFB
- &video_out_dfbmga,
-#endif
&video_out_null,
// should not be auto-selected
#ifdef CONFIG_DIRECTFB
// vo directfb can call exit() if initialization fails
&video_out_directfb,
#endif
- &video_out_mpegpes,
#ifdef CONFIG_YUV4MPEG
&video_out_yuv4mpeg,
#endif
@@ -250,12 +160,33 @@ const struct vo_driver *video_out_drivers[] =
#ifdef CONFIG_MD5SUM
&video_out_md5sum,
#endif
+#ifdef CONFIG_SHAREDBUFFER
+ &video_out_sharedbuffer,
+#endif
+#ifdef CONFIG_X11
+#ifdef CONFIG_GL
+ &video_out_gl_nosw,
+#endif
+#endif
NULL
};
-static int vo_preinit(struct vo *vo, const char *arg)
+static int vo_preinit(struct vo *vo, char *arg)
{
+ if (vo->driver->privsize)
+ vo->priv = talloc_zero_size(vo, vo->driver->privsize);
+ if (vo->driver->options) {
+ struct m_config *cfg = m_config_simple(vo->driver->options);
+ m_config_initialize(cfg, vo->priv);
+ char n[50];
+ int l = snprintf(n, sizeof(n), "vo/%s", vo->driver->info->short_name);
+ assert(l < sizeof(n));
+ int r = m_config_parse_suboptions(cfg, vo->priv, n, arg);
+ talloc_free(cfg);
+ if (r < 0)
+ return r;
+ }
return vo->driver->preinit(vo, arg);
}
@@ -402,8 +333,7 @@ void list_video_out(void)
mp_msg(MSGT_GLOBAL, MSGL_INFO,"\n");
}
-struct vo *init_best_video_out(struct MPOpts *opts, struct vo_x11_state *x11,
- struct mp_fifo *key_fifo,
+struct vo *init_best_video_out(struct MPOpts *opts, struct mp_fifo *key_fifo,
struct input_ctx *input_ctx)
{
char **vo_list = opts->video_driver_list;
@@ -411,7 +341,6 @@ struct vo *init_best_video_out(struct MPOpts *opts, struct vo_x11_state *x11,
struct vo *vo = talloc_ptrtype(NULL, vo);
struct vo initial_values = {
.opts = opts,
- .x11 = x11,
.key_fifo = key_fifo,
.input_ctx = input_ctx,
.event_fd = -1,
@@ -421,7 +350,7 @@ struct vo *init_best_video_out(struct MPOpts *opts, struct vo_x11_state *x11,
if (vo_list && vo_list[0])
while (vo_list[0][0]) {
char *name = strdup(vo_list[0]);
- vo_subdevice = strchr(name,':');
+ char *vo_subdevice = strchr(name,':');
if (!strcmp(name, "pgm"))
mp_tmsg(MSGT_CPLAYER, MSGL_ERR, "The pgm video output driver has been replaced by -vo pnm:pgmyuv.\n");
if (!strcmp(name, "md5"))
@@ -447,20 +376,21 @@ struct vo *init_best_video_out(struct MPOpts *opts, struct vo_x11_state *x11,
// continue...
free(name);
++vo_list;
- if (!(vo_list[0]))
+ if (!(vo_list[0])) {
+ talloc_free(vo);
return NULL; // do NOT fallback to others
+ }
}
// now try the rest...
- vo_subdevice = NULL;
for (i = 0; video_out_drivers[i]; i++) {
const struct vo_driver *video_driver = video_out_drivers[i];
*vo = initial_values;
vo->driver = video_driver;
- if (!vo_preinit(vo, vo_subdevice))
+ if (!vo_preinit(vo, NULL))
return vo; // success!
talloc_free_children(vo);
}
- free(vo);
+ talloc_free(vo);
return NULL;
}
@@ -619,84 +549,3 @@ void vo_mouse_movement(struct vo *vo, int posx, int posy)
snprintf(cmd_str, sizeof(cmd_str), "set_mouse_pos %i %i", posx, posy);
mp_input_queue_cmd(vo->input_ctx, mp_input_parse_cmd(cmd_str));
}
-
-#if defined(CONFIG_FBDEV) || defined(CONFIG_VESA)
-/* Borrowed from vo_fbdev.c
-Monitor ranges related functions*/
-
-char *monitor_hfreq_str = NULL;
-char *monitor_vfreq_str = NULL;
-char *monitor_dotclock_str = NULL;
-
-float range_max(range_t *r)
-{
-float max = 0;
-
- for (/* NOTHING */; (r->min != -1 && r->max != -1); r++)
- if (max < r->max) max = r->max;
- return max;
-}
-
-
-int in_range(range_t *r, float f)
-{
- for (/* NOTHING */; (r->min != -1 && r->max != -1); r++)
- if (f >= r->min && f <= r->max)
- return 1;
- return 0;
-}
-
-range_t *str2range(char *s)
-{
- float tmp_min, tmp_max;
- char *endptr = s; // to start the loop
- range_t *r = NULL;
- int i;
-
- if (!s)
- return NULL;
- for (i = 0; *endptr; i++) {
- if (*s == ',')
- goto out_err;
- if (!(r = realloc(r, sizeof(*r) * (i + 2)))) {
- mp_msg(MSGT_GLOBAL, MSGL_WARN,"can't realloc 'r'\n");
- return NULL;
- }
- tmp_min = strtod(s, &endptr);
- if (*endptr == 'k' || *endptr == 'K') {
- tmp_min *= 1000.0;
- endptr++;
- } else if (*endptr == 'm' || *endptr == 'M') {
- tmp_min *= 1000000.0;
- endptr++;
- }
- if (*endptr == '-') {
- tmp_max = strtod(endptr + 1, &endptr);
- if (*endptr == 'k' || *endptr == 'K') {
- tmp_max *= 1000.0;
- endptr++;
- } else if (*endptr == 'm' || *endptr == 'M') {
- tmp_max *= 1000000.0;
- endptr++;
- }
- if (*endptr != ',' && *endptr)
- goto out_err;
- } else if (*endptr == ',' || !*endptr) {
- tmp_max = tmp_min;
- } else
- goto out_err;
- r[i].min = tmp_min;
- r[i].max = tmp_max;
- if (r[i].min < 0 || r[i].max < 0)
- goto out_err;
- s = endptr + 1;
- }
- r[i].min = r[i].max = -1;
- return r;
-out_err:
- free(r);
- return NULL;
-}
-
-/* Borrowed from vo_fbdev.c END */
-#endif
diff --git a/libvo/video_out.h b/libvo/video_out.h
index 3dd3ca8..d07b36b 100644
--- a/libvo/video_out.h
+++ b/libvo/video_out.h
@@ -49,7 +49,6 @@ enum mp_voctrl {
/* libmpcodecs direct rendering */
VOCTRL_GET_IMAGE,
VOCTRL_DRAW_IMAGE,
- VOCTRL_SET_SPU_PALETTE,
VOCTRL_GET_PANSCAN,
VOCTRL_SET_PANSCAN,
VOCTRL_SET_EQUALIZER, // struct voctrl_set_equalizer_args
@@ -58,11 +57,6 @@ enum mp_voctrl {
VOCTRL_START_SLICE,
- // Vo can be used by xover
- VOCTRL_XOVERLAY_SUPPORT,
- VOCTRL_XOVERLAY_SET_COLORKEY, // mp_colorkey_t
- VOCTRL_XOVERLAY_SET_WIN,
-
VOCTRL_NEWFRAME,
VOCTRL_SKIPFRAME,
VOCTRL_REDRAW_FRAME,
@@ -96,18 +90,6 @@ struct voctrl_get_equalizer_args {
int *valueptr;
};
-// VOCTRL_XOVERLAY_SET_COLORKEY
-typedef struct {
- uint32_t x11; // The raw x11 color
- uint16_t r,g,b;
-} mp_colorkey_t;
-
-// VOCTRL_GET_EOSD_RES
-typedef struct mp_eosd_res {
- int w, h; // screen dimensions, including black borders
- int mt, mb, ml, mr; // borders (top, bottom, left, right)
-} mp_eosd_res_t;
-
// VOCTRL_SCREENSHOT
struct voctrl_screenshot_args {
// 0: Save image of the currently displayed video frame, in original
@@ -142,13 +124,12 @@ typedef struct {
#define VOFLAG_FLIPPING 0x08
#define VOFLAG_HIDDEN 0x10 //< Use to create a hidden window
#define VOFLAG_STEREO 0x20 //< Use to create a stereo-capable window
-#define VOFLAG_XOVERLAY_SUB_VO 0x10000
typedef struct vo_info_s
{
/* driver name ("Matrox Millennium G200/G400" */
const char *name;
- /* short name (for config strings) ("mga") */
+ /* short name (for config strings) ("vdpau") */
const char *short_name;
/* author ("Aaron Holtzman <aholtzma at ess.engr.uvic.ca>") */
const char *author;
@@ -239,6 +220,12 @@ struct vo_driver {
* Closes driver. Should restore the original state of the system.
*/
void (*uninit)(struct vo *vo);
+
+ // Size of private struct for automatic allocation
+ int privsize;
+
+ // List of options to parse into priv struct (requires privsize to be set)
+ const struct m_option *options;
};
struct vo_old_functions {
@@ -299,8 +286,7 @@ struct vo {
} aspdat;
};
-struct vo *init_best_video_out(struct MPOpts *opts, struct vo_x11_state *x11,
- struct mp_fifo *key_fifo,
+struct vo *init_best_video_out(struct MPOpts *opts, struct mp_fifo *key_fifo,
struct input_ctx *input_ctx);
int vo_config(struct vo *vo, uint32_t width, uint32_t height,
uint32_t d_width, uint32_t d_height, uint32_t flags,
@@ -349,24 +335,10 @@ extern int enable_mouse_movements;
extern int vo_pts;
extern float vo_fps;
-extern char *vo_subdevice;
-
extern int vo_colorkey;
extern int64_t WinID;
-typedef struct {
- float min;
- float max;
- } range_t;
-
-float range_max(range_t *r);
-int in_range(range_t *r, float f);
-range_t *str2range(char *s);
-extern char *monitor_hfreq_str;
-extern char *monitor_vfreq_str;
-extern char *monitor_dotclock_str;
-
struct mp_keymap {
int from;
int to;
diff --git a/libvo/vo_3dfx.c b/libvo/vo_3dfx.c
deleted file mode 100644
index 4f7e41e..0000000
--- a/libvo/vo_3dfx.c
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
- * video_out_3dfx.c
- * Heavily based on video_out_mga.c of Aaron Holtzman's mpeg2dec.
- *
- * Copyright (C) Colin Cross Apr 2000
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "config.h"
-#include "mp_msg.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "x11_common.h"
-
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <wchar.h>
-#include <signal.h>
-
-#include <X11/Xlib.h>
-#include <X11/extensions/Xxf86dga.h>
-#include <X11/Xutil.h>
-
-//#define LOG(x) syslog(LOG_USER | LOG_DEBUG,x)
-#define LOG(x)
-
-#include "drivers/3dfx.h"
-
-#include "fastmemcpy.h"
-
-static const vo_info_t info =
-{
- "3dfx (/dev/3dfx)",
- "3dfx",
- "Colin Cross <colin at MIT.EDU>",
- ""
-};
-
-const LIBVO_EXTERN(3dfx)
-
-static uint32_t is_fullscreen = 1;
-
-static uint32_t vidwidth;
-static uint32_t vidheight;
-
-static uint32_t screenwidth;
-static uint32_t screenheight;
-static uint32_t screendepth = 2; //Only 16bpp supported right now
-
-static uint32_t dispwidth = 1280; // You can change these to whatever you want
-static uint32_t dispheight = 720; // 16:9 screen ratio??
-static uint32_t dispx;
-static uint32_t dispy;
-
-static uint32_t *vidpage0;
-static uint32_t *vidpage1;
-static uint32_t *vidpage2;
-
-static uint32_t vidpage0offset;
-static uint32_t vidpage1offset;
-static uint32_t vidpage2offset;
-
-// Current pointer into framebuffer where display is located
-static uint32_t targetoffset;
-
-static uint32_t page_space;
-
-static voodoo_io_reg *reg_IO;
-static voodoo_2d_reg *reg_2d;
-static voodoo_yuv_reg *reg_YUV;
-static voodoo_yuv_fb *fb_YUV;
-
-static uint32_t *memBase0, *memBase1;
-static uint32_t baseAddr0, baseAddr1;
-
-
-/* X11 related variables */
-static Display *display;
-static Window mywindow;
-static int bpp;
-static XWindowAttributes attribs;
-
-static int fd=-1;
-
-
-static void
-restore(void)
-{
- //reg_IO->vidDesktopStartAddr = vidpage0offset;
- XF86DGADirectVideo(display,0,0);
-}
-
-static void
-sighup(int foo)
-{
- //reg_IO->vidDesktopStartAddr = vidpage0offset;
- XF86DGADirectVideo(display,0,0);
- exit(0);
-}
-
-static void
-restore_regs(voodoo_2d_reg *regs)
-{
- reg_2d->commandExtra = regs->commandExtra;
- reg_2d->clip0Min = regs->clip0Min;
- reg_2d->clip0Max = regs->clip0Max;
-
- reg_2d->srcBaseAddr = regs->srcBaseAddr;
- reg_2d->srcXY = regs->srcXY;
- reg_2d->srcFormat = regs->srcFormat;
- reg_2d->srcSize = regs->srcSize;
-
- reg_2d->dstBaseAddr = regs->dstBaseAddr;
- reg_2d->dstXY = regs->dstXY;
- reg_2d->dstFormat = regs->dstFormat;
-
- reg_2d->dstSize = regs->dstSize;
- reg_2d->command = 0;
-}
-
-static uint32_t
-create_window(Display *display, char *title)
-{
- int screen;
- unsigned int fg, bg;
- XSizeHints hint;
- XVisualInfo vinfo;
- XEvent xev;
-
- Colormap theCmap;
- XSetWindowAttributes xswa;
- unsigned long xswamask;
-
- screen = DefaultScreen(display);
-
- hint.x = 0;
- hint.y = 10;
- hint.width = dispwidth;
- hint.height = dispheight;
- hint.flags = PPosition | PSize;
-
- bg = WhitePixel(display, screen);
- fg = BlackPixel(display, screen);
-
- XGetWindowAttributes(display, DefaultRootWindow(display), &attribs);
- bpp = attribs.depth;
- if (bpp != 16)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_3DFX] Only 16bpp supported!");
- exit(-1);
- }
-
- XMatchVisualInfo(display,screen,bpp,TrueColor,&vinfo);
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_3DFX] Visual ID is %lx.\n",vinfo.visualid);
-
- theCmap = XCreateColormap(display, RootWindow(display,screen),
- vinfo.visual, AllocNone);
-
- xswa.background_pixel = 0;
- xswa.border_pixel = 1;
- xswa.colormap = theCmap;
- xswamask = CWBackPixel | CWBorderPixel |CWColormap;
-
-
- mywindow = XCreateWindow(display, RootWindow(display,screen),
- hint.x, hint.y, hint.width, hint.height, 4, bpp,CopyFromParent,vinfo.visual,xswamask,&xswa);
- vo_x11_classhint( display,mywindow,"3dfx" );
-
- XSelectInput(display, mywindow, StructureNotifyMask);
-
- /* Tell other applications about this window */
-
- XSetStandardProperties(display, mywindow, title, title, None, NULL, 0, &hint);
-
- /* Map window. */
-
- XMapWindow(display, mywindow);
-
- /* Wait for map. */
- do
- {
- XNextEvent(display, &xev);
- }
- while (xev.type != MapNotify || xev.xmap.event != mywindow);
-
- XSelectInput(display, mywindow, NoEventMask);
-
- XSync(display, False);
-
- return 0;
-}
-
-static void
-dump_yuv_planar(uint32_t *y, uint32_t *u, uint32_t *v, uint32_t to, uint32_t width, uint32_t height)
-{
- // YUV conversion works like this:
- //
- // We write the Y, U, and V planes separately into 3dfx YUV Planar memory
- // region. The nice chip then takes these and packs them into the YUYV
- // format in the regular frame buffer, starting at yuvBaseAddr, page 2 here.
- // Then we tell the 3dfx to do a Screen to Screen Stretch BLT to copy all
- // of the data on page 2 onto page 1, converting it to 16 bpp RGB as it goes.
- // The result is a nice image on page 1 ready for display.
-
- uint32_t j;
- uint32_t y_imax, uv_imax, jmax;
-
- reg_YUV->yuvBaseAddr = to;
- reg_YUV->yuvStride = screenwidth*2;
-
- LOG("video_out_3dfx: starting planar dump\n");
- jmax = height>>1; // vidheight/2, height of U and V planes
- y_imax = width; // Y plane is twice as wide as U and V planes
- uv_imax = width>>1; // vidwidth/2/4, width of U and V planes in 32-bit words
-
- for (j=0;j<jmax;j++)
- {
- //XXX this should be hand-rolled 32 bit memcpy for safeness.
- fast_memcpy(fb_YUV->U + (uint32_t) VOODOO_YUV_STRIDE* j ,((uint8_t*) u) + uv_imax* j , uv_imax);
- fast_memcpy(fb_YUV->V + (uint32_t) VOODOO_YUV_STRIDE* j ,((uint8_t*) v) + uv_imax* j , uv_imax);
- fast_memcpy(fb_YUV->Y + (uint32_t) VOODOO_YUV_STRIDE* (j<<1) ,((uint8_t*) y) + y_imax * (j<<1) , y_imax);
- fast_memcpy(fb_YUV->Y + (uint32_t) VOODOO_YUV_STRIDE*((j<<1)+1),((uint8_t*) y) + y_imax *((j<<1)+1), y_imax);
- }
- LOG("video_out_3dfx: done planar dump\n");
-}
-
-static void
-screen_to_screen_stretch_blt(uint32_t to, uint32_t from, uint32_t width, uint32_t height)
-{
- //FIXME - this function should be called by a show_frame function that
- // uses a series of blts to show only those areas not covered
- // by another window
- voodoo_2d_reg saved_regs;
-
- LOG("video_out_3dfx: saving registers\n");
- // Save VGA regs (so X kinda works when we're done)
- saved_regs = *reg_2d;
-
- /* The following lines set up the screen to screen stretch blt from page2 to
- page 1
- */
-
- LOG("video_out_3dfx: setting blt registers\n");
- reg_2d->commandExtra = 4; //disable colorkeying, enable wait for v-refresh (0100b)
- reg_2d->clip0Min = 0;
- reg_2d->clip0Max = 0xFFFFFFFF; //no clipping
-
- reg_2d->srcBaseAddr = from;
- reg_2d->srcXY = 0;
- reg_2d->srcFormat = screenwidth*2 | VOODOO_BLT_FORMAT_YUYV; // | 1<<21;
- reg_2d->srcSize = vidwidth | (vidheight << 16);
-
- reg_2d->dstBaseAddr = to;
- reg_2d->dstXY = 0;
- reg_2d->dstFormat = screenwidth*2 | VOODOO_BLT_FORMAT_16;
-
- reg_2d->dstSize = width | (height << 16);
-
- LOG("video_out_3dfx: starting blt\n");
- // Executes screen to screen stretch blt
- reg_2d->command = 2 | 1<<8 | 0xCC<<24;
-
- LOG("video_out_3dfx: restoring regs\n");
- restore_regs(&saved_regs);
-
- LOG("video_out_3dfx: done blt\n");
-}
-
-static void
-update_target(void)
-{
- uint32_t xp, yp, w, h, b, d;
- Window root;
-
- XGetGeometry(display,mywindow,&root,&xp,&yp,&w,&h,&b,&d);
- XTranslateCoordinates(display,mywindow,root,0,0,&xp,&yp,&root);
- dispx = (uint32_t) xp;
- dispy = (uint32_t) yp;
- dispwidth = (uint32_t) w;
- dispheight = (uint32_t) h;
-
- if (is_fullscreen)
- targetoffset = vidpage0offset + (screenheight - dispheight)/2*screenwidth*screendepth + (screenwidth-dispwidth)/2*screendepth;
- else
- targetoffset = vidpage0offset + (dispy*screenwidth + dispx)*screendepth;
-}
-
-static int
-config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
-{
- char *name = ":0.0";
- pioData data;
- uint32_t retval;
-
-//TODO use x11_common for X and window handling
-
- if(getenv("DISPLAY"))
- name = getenv("DISPLAY");
- display = XOpenDisplay(name);
-
- screenwidth = XDisplayWidth(display,0);
- screenheight = XDisplayHeight(display,0);
-
- page_space = screenwidth*screenheight*screendepth;
- vidpage0offset = 0;
- vidpage1offset = page_space; // Use third and fourth pages
- vidpage2offset = page_space*2;
-
- signal(SIGALRM,sighup);
- //alarm(120);
-
- // Open driver device
- if ( fd == -1 )
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_3DFX] Unable to open /dev/3dfx.\n");
- return -1;
- }
-
- // Store sizes for later
- vidwidth = width;
- vidheight = height;
-
- is_fullscreen = fullscreen = 0;
- if (!is_fullscreen)
- create_window(display, title);
-
- // Ask 3dfx driver for base memory address 0
- data.port = 0x10; // PCI_BASE_ADDRESS_0_LINUX;
- data.size = 4;
- data.value = &baseAddr0;
- data.device = 0;
- if ((retval = ioctl(fd,_IOC(_IOC_READ,'3',3,0),&data)) < 0)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_3DFX] Error: %d.\n",retval);
- return -1;
- }
-
- // Ask 3dfx driver for base memory address 1
- data.port = 0x14; // PCI_BASE_ADDRESS_1_LINUX;
- data.size = 4;
- data.value = &baseAddr1;
- data.device = 0;
- if ((retval = ioctl(fd,_IOC(_IOC_READ,'3',3,0),&data)) < 0)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_3DFX] Error: %d.\n",retval);
- return -1;
- }
-
- // Map all 3dfx memory areas
- memBase0 = mmap(0,0x1000000,PROT_READ | PROT_WRITE,MAP_SHARED,fd,baseAddr0);
- memBase1 = mmap(0,3*page_space,PROT_READ | PROT_WRITE,MAP_SHARED,fd,baseAddr1);
- if (memBase0 == (uint32_t *) 0xFFFFFFFF || memBase1 == (uint32_t *) 0xFFFFFFFF)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_3DFX] Couldn't map 3dfx memory areas: %p,%p,%d.\n",
- memBase0,memBase1,errno);
- }
-
- // Set up global pointers
- reg_IO = (void *)memBase0 + VOODOO_IO_REG_OFFSET;
- reg_2d = (void *)memBase0 + VOODOO_2D_REG_OFFSET;
- reg_YUV = (void *)memBase0 + VOODOO_YUV_REG_OFFSET;
- fb_YUV = (void *)memBase0 + VOODOO_YUV_PLANE_OFFSET;
-
- vidpage0 = (void *)memBase1 + (unsigned long int)vidpage0offset;
- vidpage1 = (void *)memBase1 + (unsigned long int)vidpage1offset;
- vidpage2 = (void *)memBase1 + (unsigned long int)vidpage2offset;
-
- // Clear pages 1,2,3
- // leave page 0, that belongs to X.
- // So does part of 1. Oops.
- memset(vidpage1,0x00,page_space);
- memset(vidpage2,0x00,page_space);
-
- if (is_fullscreen)
- memset(vidpage0,0x00,page_space);
-
-
-#ifndef VOODOO_DEBUG
- // Show page 0 (unblanked)
- reg_IO->vidDesktopStartAddr = vidpage0offset;
-
- /* Stop X from messing with my video registers!
- Find a better way to do this?
- Currently I use DGA to tell XF86 to not screw with registers, but I can't really use it
- to do FB stuff because I need to know the absolute FB position and offset FB position
- to feed to BLT command
- */
- //XF86DGADirectVideo(display,0,XF86DGADirectGraphics); //| XF86DGADirectMouse | XF86DGADirectKeyb);
-#endif
-
- atexit(restore);
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_3DFX] Initialized: %p.\n",memBase1);
- return 0;
-}
-
-static int
-draw_frame(uint8_t *src[])
-{
- LOG("video_out_3dfx: starting display_frame\n");
-
- // Put packed data onto page 2
- dump_yuv_planar((uint32_t *)src[0],(uint32_t *)src[1],(uint32_t *)src[2],
- vidpage2offset,vidwidth,vidheight);
-
- LOG("video_out_3dfx: done display_frame\n");
- return 0;
-}
-
-static int
-//draw_slice(uint8_t *src[], uint32_t slice_num)
-draw_slice(uint8_t *src[], int stride[], int w,int h,int x,int y)
-{
- uint32_t target;
-
- target = vidpage2offset + (screenwidth*2 * y);
- dump_yuv_planar((uint32_t *)src[0],(uint32_t *)src[1],(uint32_t *)src[2],target,vidwidth,h);
- return 0;
-}
-
-static void draw_osd(void)
-{
-}
-
-static void
-flip_page(void)
-{
- //FIXME - update_target() should be called by event handler when window
- // is resized or moved
- update_target();
- LOG("video_out_3dfx: calling blt function\n");
- screen_to_screen_stretch_blt(targetoffset, vidpage2offset, dispwidth, dispheight);
-}
-
-static int
-query_format(uint32_t format)
-{
- /* does this supports scaling? up & down? */
- switch(format){
- case IMGFMT_YV12:
-// case IMGFMT_YUY2:
-// case IMGFMT_RGB|24:
-// case IMGFMT_BGR|24:
- return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW;
- }
- return 0;
-}
-
-static void
-uninit(void)
-{
- if( fd != -1 )
- close(fd);
-}
-
-
-static void check_events(void)
-{
-}
-
-static int preinit(const char *arg)
-{
- if ( (fd = open("/dev/3dfx",O_RDWR) ) == -1)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_3DFX] Unable to open /dev/3dfx.\n");
- return -1;
- }
-
- if(arg)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_3DFX] Unknown subdevice: %s.\n",arg);
- return ENOSYS;
- }
- return 0;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_aa.c b/libvo/vo_aa.c
deleted file mode 100644
index 4908e3c..0000000
--- a/libvo/vo_aa.c
+++ /dev/null
@@ -1,755 +0,0 @@
-/*
- * video output driver for AAlib
- *
- * copyright (c) 2001 Folke Ashberg <folke at ashberg.de>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include <limits.h>
-#include <math.h>
-#include <stdarg.h>
-#include <time.h>
-#include <string.h>
-#include <errno.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "aspect.h"
-#include "libswscale/swscale.h"
-#include "libmpcodecs/vf_scale.h"
-#include "sub/font_load.h"
-#include "sub/sub.h"
-
-#include "input/keycodes.h"
-#include <aalib.h>
-#include "subopt-helper.h"
-#include "mp_msg.h"
-#include "mp_fifo.h"
-
-
-#define MESSAGE_DURATION 3
-#define MESSAGE_SIZE 512
-#define MESSAGE_DEKO " +++ %s +++ "
-
- static const vo_info_t info = {
- "AAlib",
- "aa",
- "Alban Bedel <albeu at free.fr> and Folke Ashberg <folke at ashberg.de>",
- ""
- };
-
-const LIBVO_EXTERN(aa)
-
-/* aa's main context we use */
-aa_context *c;
-aa_renderparams *p;
-static int fast =0;
-/* used for the sws */
-static uint8_t * image[MP_MAX_PLANES];
-static int image_stride[MP_MAX_PLANES];
-
-/* image infos */
-static int image_format;
-static int image_width;
-static int image_height;
-static int image_x, image_y;
-static int screen_x, screen_y;
-static int screen_w, screen_h;
-static int src_width;
-static int src_height;
-
-/* osd stuff */
-time_t stoposd = 0;
-static int showosdmessage = 0;
-char osdmessagetext[MESSAGE_SIZE];
-char posbar[MESSAGE_SIZE];
-static int osdx, osdy;
-static int osd_text_length = 0;
-int aaconfigmode=1;
-font_desc_t* vo_font_save = NULL;
-static struct SwsContext *sws=NULL;
-
-/* configuration */
-int aaopt_osdcolor = AA_SPECIAL;
-int aaopt_subcolor = AA_SPECIAL;
-
-static unsigned char vo_osd_text[64];
-
-static void
-resize(void){
- /*
- * this function is called by aa lib if windows resizes
- * further during init, because here we have to calculate
- * a little bit
- */
-
- aa_resize(c);
-
- aspect_save_screenres(aa_imgwidth(c),aa_imgheight(c));
- image_height = aa_imgheight(c); //src_height;
- image_width = aa_imgwidth(c); //src_width;
-
- aspect(&image_width,&image_height,A_ZOOM);
-
- image_x = (aa_imgwidth(c) - image_width) / 2;
- image_y = (aa_imgheight(c) - image_height) / 2;
- screen_w = image_width * aa_scrwidth(c) / aa_imgwidth(c);
- screen_h = image_height * aa_scrheight(c) / aa_imgheight(c);
- screen_x = (aa_scrwidth(c) - screen_w) / 2;
- screen_y = (aa_scrheight(c) - screen_h) / 2;
-
- if(sws) sws_freeContext(sws);
- sws = sws_getContextFromCmdLine(src_width,src_height,image_format,
- image_width,image_height,IMGFMT_Y8);
-
- memset(image, 0, sizeof(image));
- image[0] = aa_image(c) + image_y * aa_imgwidth(c) + image_x;
-
- memset(image_stride, 0, sizeof(image_stride));
- image_stride[0] = aa_imgwidth(c);
-
- showosdmessage=0;
-
-}
-
-static void
-osdmessage(int duration, int deko, const char *fmt, ...)
-{
- /*
- * for outputting a centered string at the bottom
- * of our window for a while
- */
- va_list ar;
- char m[MESSAGE_SIZE];
- unsigned int old_len = strlen(osdmessagetext);
-
- va_start(ar, fmt);
- vsprintf(m, fmt, ar);
- va_end(ar);
- if (deko==1) sprintf(osdmessagetext, MESSAGE_DEKO , m);
- else strcpy(osdmessagetext, m);
-
- if(old_len > strlen(osdmessagetext)) {
- memset(c->textbuffer + osdy * aa_scrwidth(c) + osdx,' ',old_len);
- memset(c->attrbuffer + osdy * aa_scrwidth(c) + osdx,0,old_len);
- }
- showosdmessage=1;
- stoposd = time(NULL) + duration;
- osdx=(aa_scrwidth(c) / 2) - (strlen(osdmessagetext) / 2 ) ;
- posbar[0]='\0';
-}
-
-static void
-osdpercent(int duration, int deko, int min, int max, int val, const char * desc, const char * unit)
-{
- /*
- * prints a bar for setting values
- */
- float step;
- int where;
- int i;
-
-
- step=(float)aa_scrwidth(c) /(float)(max-min);
- where=(val-min)*step;
- osdmessage(duration,deko,"%s: %i%s",desc, val, unit);
- posbar[0]='|';
- posbar[aa_scrwidth(c)-1]='|';
- for (i=0;i<aa_scrwidth(c);i++){
- if (i==where) posbar[i]='#';
- else posbar[i]='-';
- }
- if (where!=0) posbar[0]='|';
- if (where!=(aa_scrwidth(c)-1) ) posbar[aa_scrwidth(c)-1]='|';
-
- posbar[aa_scrwidth(c)]='\0';
-
-}
-
-static void
-printosdtext(void)
-{
- /*
- * places the mplayer status osd
- */
- if (vo_osd_text[0] != 0) {
- int len;
- if(vo_osd_text[0] < 32) {
- len = strlen(sub_osd_names_short[vo_osd_text[0]]) + strlen(vo_osd_text+1) + 2;
- aa_printf(c, 0, 0 , aaopt_osdcolor, "%s %s ", sub_osd_names_short[vo_osd_text[0]], vo_osd_text+1);
- } else {
- len = strlen(vo_osd_text) + 1;
- aa_printf(c, 0, 0 , aaopt_osdcolor, "%s ",vo_osd_text);
- }
-
- if(len < osd_text_length) {
- memset(c->textbuffer + len,' ',osd_text_length - len);
- memset(c->attrbuffer + len,0,osd_text_length - len);
- }
- osd_text_length = len;
-
- }
-}
-
-static void
-printosdprogbar(void){
- /* print mplayer osd-progbar */
- if (vo_osd_progbar_type!=-1){
- osdpercent(1,1,0,255,vo_osd_progbar_value, sub_osd_names[vo_osd_progbar_type], "");
- }
-}
-static int
-config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format) {
- /*
- * main init
- * called by mplayer
- */
-
- int i;
-
- aspect_save_orig(width,height);
- aspect_save_prescale(d_width,d_height);
-
- src_height = height;
- src_width = width;
- image_format = format;
-
- /* nothing will change its size, be we need some values initialized */
- resize();
-
- /* now init our own 'font' */
- if(!vo_font_save) vo_font_save = vo_font;
- if(vo_font == vo_font_save) {
- vo_font=malloc(sizeof(font_desc_t));//if(!desc) return NULL;
- memset(vo_font,0,sizeof(font_desc_t));
- vo_font->pic_a[0]=malloc(sizeof(raw_file));
- memset(vo_font->pic_a[0],0,sizeof(raw_file));
- vo_font->pic_b[0]=malloc(sizeof(raw_file));
- memset(vo_font->pic_b[0],0,sizeof(raw_file));
-
-#ifdef CONFIG_FREETYPE
- vo_font->dynamic = 0;
-#endif
-
- vo_font->spacewidth=1;
- vo_font->charspace=0;
- vo_font->height=1;
- vo_font->pic_a[0]->bmp=malloc(255);
- vo_font->pic_a[0]->pal=NULL;
- vo_font->pic_b[0]->bmp=malloc(255);
- vo_font->pic_b[0]->pal=NULL;
- vo_font->pic_a[0]->w=1;
- vo_font->pic_a[0]->h=1;
- for (i=0; i<255; i++){
- vo_font->width[i]=1;
- vo_font->font[i]=0;
- vo_font->start[i]=i;
- vo_font->pic_a[0]->bmp[i]=i;
- vo_font->pic_b[0]->bmp[i]=i;
- }
- }
-
- /* say hello */
- osdmessage(5, 1, "Welcome to ASCII ART MPlayer");
-
- mp_msg(MSGT_VO,MSGL_V,"VO: [aa] screendriver: %s\n", c->driver->name);
- mp_msg(MSGT_VO,MSGL_V,"VO: [aa] keyboarddriver: %s\n", c->kbddriver->name);
-
- mp_msg(MSGT_VO,MSGL_INFO,
- "\n"
- "Important suboptions\n"
- "\textended use use all 256 characters\n"
- "\teight use eight bit ascii\n"
- "\tdriver set recommended aalib driver (X11,curses,linux)\n"
- "\thelp to see all options provided by aalib\n"
- "\n"
- "AA-MPlayer Keys\n"
- "\t1 : contrast -\n"
- "\t2 : contrast +\n"
- "\t3 : brightness -\n"
- "\t4 : brightness +\n"
- "\t5 : fast rendering\n"
- "\t6 : dithering\n"
- "\t7 : invert image\n"
- "\ta : toggles between aa and mplayer control\n"
-
- "\n"
- "All other keys are MPlayer defaults.\n"
-
-
- );
-
- return 0;
-}
-
-static int
-query_format(uint32_t format) {
- /*
- * ...are we able to... ?
- * called by mplayer
- * All input format supported by the sws
- */
- switch(format){
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- case IMGFMT_IYU2:
- case IMGFMT_BGR32:
- case IMGFMT_BGR24:
- case IMGFMT_BGR16:
- case IMGFMT_BGR15:
- case IMGFMT_RGB32:
- case IMGFMT_RGB24:
- case IMGFMT_Y8:
- case IMGFMT_Y800:
- return VFCAP_CSP_SUPPORTED | VFCAP_SWSCALE | VFCAP_OSD;
- }
- return 0;
-}
-
-static int
-draw_frame(uint8_t *src[]) {
- int stride[MP_MAX_PLANES] = {0};
-
- switch(image_format) {
- case IMGFMT_BGR15:
- case IMGFMT_BGR16:
- stride[0] = src_width*2;
- break;
- case IMGFMT_IYU2:
- case IMGFMT_BGR24:
- stride[0] = src_width*3;
- break;
- case IMGFMT_BGR32:
- stride[0] = src_width*4;
- break;
- }
-
- sws_scale(sws,(const uint8_t **)src,stride,0,src_height,image,image_stride);
-
- /* Now 'ASCIInate' the image */
- if (fast)
- aa_fastrender(c, screen_x, screen_y, screen_w + screen_x, screen_h + screen_y );
- else
- aa_render(c, p,screen_x, screen_y, screen_w + screen_x, screen_h + screen_y );
-
- return 0;
-}
-
-static int
-draw_slice(uint8_t *src[], int stride[],
- int w, int h, int x, int y) {
-
- int dx1 = screen_x + (x * screen_w / src_width);
- int dy1 = screen_y + (y * screen_h / src_height);
- int dx2 = screen_x + ((x+w) * screen_w / src_width);
- int dy2 = screen_y + ((y+h) * screen_h / src_height);
-
- sws_scale(sws,(const uint8_t **)src,stride,y,h,image,image_stride);
-
- /* Now 'ASCIInate' the image */
- if (fast)
- aa_fastrender(c, dx1, dy1, dx2, dy2 );
- else
- aa_render(c, p,dx1, dy1, dx2, dy2 );
-
-
- return 0;
-}
-
-static void
-flip_page(void) {
-
- /* do we have to put *our* (messages, progbar) osd to aa's txtbuf ? */
- if (showosdmessage)
- {
- if (time(NULL)>=stoposd ) {
- showosdmessage=0;
- if(*osdmessagetext) {
- memset(c->textbuffer + osdy * aa_scrwidth(c) + osdx,' ',strlen(osdmessagetext));
- memset(c->attrbuffer + osdy * aa_scrwidth(c) + osdx ,0,strlen(osdmessagetext));
- osdmessagetext[0] = '\0';
- }
- if(*posbar) {
- memset(c->textbuffer + (osdy+1) * aa_scrwidth(c),' ',strlen(posbar));
- memset(c->attrbuffer + (osdy+1) * aa_scrwidth(c),0,strlen(posbar));
- }
- } else {
- /* update osd */
- aa_puts(c, osdx, osdy, AA_SPECIAL, osdmessagetext);
- /* posbar? */
- if (posbar[0]!='\0')
- aa_puts(c, 0, osdy + 1, AA_SPECIAL, posbar);
- }
- }
- /* OSD time & playmode , subtitles */
- printosdtext();
-
-
- /* print out */
- aa_flush(c);
-}
-
-static void
-check_events(void) {
- /*
- * any events?
- * called by show_image and mplayer
- */
- int key;
- while ((key=aa_getevent(c,0))!=AA_NONE ){
- if (key>255){
- /* some conversations */
- switch (key) {
- case AA_UP:
- mplayer_put_key(KEY_UP);
- break;
- case AA_DOWN:
- mplayer_put_key(KEY_DOWN);
- break;
- case AA_LEFT:
- mplayer_put_key(KEY_LEFT);
- break;
- case AA_RIGHT:
- mplayer_put_key(KEY_RIGHT);
- break;
- case AA_ESC:
- mplayer_put_key(KEY_ESC);
- break;
- case 65765:
- mplayer_put_key(KEY_PAGE_UP);
- break;
- case 65766:
- mplayer_put_key(KEY_PAGE_DOWN);
- break;
- default:
- continue; /* aa lib special key */
- break;
- }
- }
- if (key=='a' || key=='A'){
- aaconfigmode=!aaconfigmode;
- osdmessage(MESSAGE_DURATION, 1, "aa config mode is now %s",
- aaconfigmode==1 ? "on. use keys 5-7" : "off");
- }
- if (aaconfigmode==1) {
- switch (key) {
- /* AA image controls */
- case '5':
- fast=!fast;
- osdmessage(MESSAGE_DURATION, 1, "Fast mode is now %s", fast==1 ? "on" : "off");
- break;
- case '6':
- if (p->dither==AA_FLOYD_S){
- p->dither=AA_NONE;
- osdmessage(MESSAGE_DURATION, 1, "Dithering: Off");
- }else if (p->dither==AA_NONE){
- p->dither=AA_ERRORDISTRIB;
- osdmessage(MESSAGE_DURATION, 1, "Dithering: Error Distribution");
- }else if (p->dither==AA_ERRORDISTRIB){
- p->dither=AA_FLOYD_S;
- osdmessage(MESSAGE_DURATION, 1, "Dithering: Floyd Steinberg");
- }
- break;
- case '7':
- p->inversion=!p->inversion;
- osdmessage(MESSAGE_DURATION, 1, "Invert mode is now %s",
- p->inversion==1 ? "on" : "off");
- break;
-
- default :
- /* nothing if we're interested in?
- * the mplayer should handle it!
- */
- mplayer_put_key(key);
- break;
- }
- }// aaconfigmode
- else mplayer_put_key(key);
- }
-}
-
-static void
-uninit(void) {
- /*
- * THE END
- */
-
- if (strstr(c->driver->name,"Curses") || strstr(c->driver->name,"Linux")){
- freopen("/dev/tty", "w", stderr);
- }
- if(vo_font_save) {
- free(vo_font->pic_a[0]->bmp);
- free(vo_font->pic_a[0]);
- free(vo_font->pic_b[0]->bmp);
- free(vo_font->pic_b[0]);
- free(vo_font);
- vo_font = vo_font_save;
- vo_font_save = NULL;
- }
- aa_close(c);
-}
-
-static void draw_alpha(int x,int y, int w,int h, unsigned char* src, unsigned char *srca, int stride){
- int i,j;
- for (i = 0; i < h; i++) {
- for (j = 0; j < w; j++) {
- if (src[i*stride+j] > 0) {
- c->textbuffer[x + j + (y+i)*aa_scrwidth(c)] = src[i*stride+j];
- c->attrbuffer[x + j + (y+i)*aa_scrwidth(c)] = aaopt_subcolor;
- }
- }
- }
-}
-
-static void clear_alpha(int x0,int y0, int w,int h) {
- int l;
-
- for(l = 0 ; l < h ; l++) {
- memset(c->textbuffer + (y0 + l) * aa_scrwidth(c) + x0,' ',w);
- memset(c->attrbuffer + (y0 + l) * aa_scrwidth(c) + x0,0,w);
- }
-}
-
-
-static void
-draw_osd(void){
- char vo_osd_text_save;
- int vo_osd_progbar_type_save;
-
- printosdprogbar();
- /* let vo_draw_text only write subtitle */
- vo_osd_text_save = global_osd->osd_text[0];
- global_osd->osd_text[0] = 0;
- vo_osd_progbar_type_save=vo_osd_progbar_type;
- vo_osd_progbar_type=-1;
- vo_remove_text(aa_scrwidth(c), aa_scrheight(c),clear_alpha);
- vo_draw_text(aa_scrwidth(c), aa_scrheight(c), draw_alpha);
- global_osd->osd_text[0] = vo_osd_text_save;
- vo_osd_progbar_type=vo_osd_progbar_type_save;
-}
-
-static int
-getcolor(char * s){
- int i;
- char * rest;
- if (s==NULL) return -1;
- i=strtol(s, &rest, 10);
- if ((rest==NULL || strlen(rest)==0) && i>=0 && i<=5) return i;
- if (!strcasecmp(s, "normal")) return AA_NORMAL;
- else if (!strcasecmp(s, "dim")) return AA_DIM;
- else if (!strcasecmp(s, "bold")) return AA_BOLD;
- else if (!strcasecmp(s, "boldfont")) return AA_BOLDFONT;
- else if (!strcasecmp(s, "special")) return AA_SPECIAL;
- else return -1;
-}
-
-static int parse_suboptions(const char *arg) {
- char *pseudoargv[4], *osdcolor = NULL, *subcolor = NULL, **strings,
- *helpmsg = NULL;
- int pseudoargc, displayhelp = 0, *booleans;
- const opt_t extra_opts[] = {
- {"osdcolor", OPT_ARG_MSTRZ, &osdcolor, NULL},
- {"subcolor", OPT_ARG_MSTRZ, &subcolor, NULL},
- {"help", OPT_ARG_BOOL, &displayhelp, NULL} };
- opt_t *subopts = NULL, *p;
- char * const strings_list[] = {"-driver", "-kbddriver", "-mousedriver", "-font",
- "-width", "-height", "-minwidth", "-minheight", "-maxwidth",
- "-maxheight", "-recwidth", "-recheight", "-bright", "-contrast",
- "-gamma", "-dimmul", "-boldmul", "-random" };
- char * const booleans_list[] = {"-dim", "-bold", "-reverse", "-normal",
- "-boldfont", "-inverse", "-extended", "-eight", "-dither",
- "-floyd_steinberg", "-error_distribution"};
- char * const nobooleans_list[] = {"-nodim", "-nobold", "-noreverse", "-nonormal",
- "-noboldfont", "-noinverse", "-noextended", "-noeight", "-nodither",
- "-nofloyd_steinberg", "-noerror_distribution"};
- const int nstrings = sizeof(strings_list) / sizeof(char*);
- const int nbooleans = sizeof(booleans_list) / sizeof(char*);
- const int nextra_opts = sizeof(extra_opts) / sizeof(opt_t);
- const int nsubopts = nstrings + nbooleans + nextra_opts;
- int i, retval = 0;
-
- subopts = calloc(nsubopts + 1, sizeof(opt_t));
- strings = calloc(nstrings, sizeof(char*));
- booleans = calloc(nbooleans, sizeof(int));
-
- p = subopts;
- for (i=0; i<nstrings; i++, p++) {
- p->name = strings_list[i] + 1; // skip '-'
- p->type = OPT_ARG_MSTRZ;
- p->valp = &strings[i];
- }
- for (i=0; i<nbooleans; i++, p++) {
- p->name = booleans_list[i] + 1;
- p->type = OPT_ARG_BOOL;
- p->valp = &booleans[i];
- }
- memcpy(p, extra_opts, sizeof(extra_opts));
-
- retval = subopt_parse(arg, subopts);
-
- if (retval == 0 && displayhelp) {
- helpmsg = strdup(aa_help);
- for (i=0; i<(signed)strlen(helpmsg); i++)
- if (helpmsg[i] == '-') helpmsg[i] = ' ';
- mp_tmsg(MSGT_VO, MSGL_INFO, "\n\nHere are the aalib vo_aa suboptions:\n");
- mp_msg(MSGT_VO, MSGL_INFO, "%s\n\n", helpmsg);
-#define VO_AA_AdditionalOptions _("Additional options vo_aa provides:\n" \
-" help print this help message\n" \
-" osdcolor set OSD color\n subcolor set subtitle color\n" \
-" the color parameters are:\n 0 : normal\n" \
-" 1 : dim\n 2 : bold\n 3 : boldfont\n" \
-" 4 : reverse\n 5 : special\n\n\n")
-
- mp_tmsg(MSGT_VO, MSGL_INFO, VO_AA_AdditionalOptions);
- retval = -1;
- }
- if (retval == 0) {
- pseudoargv[3] = NULL;
- for (i=0; i<nstrings; i++) {
- pseudoargc = 3; // inside loop because aalib changes it
- if (strings[i] != NULL) {
- pseudoargv[1] = strings_list[i];
- pseudoargv[2] = strings[i];
- aa_parseoptions(&aa_defparams, &aa_defrenderparams,
- &pseudoargc, pseudoargv);
- }
- }
- pseudoargv[2] = NULL;
- for (i=0; i<nbooleans; i++) {
- pseudoargc = 2;
- if (booleans[i]) pseudoargv[1] = booleans_list[i];
- else pseudoargv[1] = nobooleans_list[i];
- aa_parseoptions(&aa_defparams, &aa_defrenderparams,
- &pseudoargc, pseudoargv);
- }
- if (osdcolor) aaopt_osdcolor = getcolor(osdcolor);
- if (subcolor) aaopt_subcolor = getcolor(subcolor);
- }
-
- free(subopts);
- free(booleans);
- if (strings) {
- for (i=0; i<nstrings; i++)
- free(strings[i]);
- free(strings);
- }
- free(osdcolor);
- free(subcolor);
- free(helpmsg);
- return retval;
-}
-
-static int preinit(const char *arg)
-{
- char * hidis = NULL;
- struct stat sbuf;
- int fd, vt;
- FILE * fp;
- char fname[12];
-
- if(arg)
- {
- if (parse_suboptions(arg) != 0)
- return ENOSYS;
- }
-
- /* initializing of aalib */
-
- hidis=aa_getfirst(&aa_displayrecommended);
- if ( hidis==NULL ){
- /* check /dev/vcsa<vt> */
- /* check only, if no driver is explicit set */
- fd = dup (fileno (stderr));
- fstat (fd, &sbuf);
- vt = sbuf.st_rdev & 0xff; // hi: major, low: minor
- close (fd);
- sprintf (fname, "/dev/vcsa%2.2i", vt);
- fp = fopen (fname, "w+");
- if (fp==NULL){
- fprintf(stderr,"VO: [aa] cannot open %s for writing,"
- "so we'll not use linux driver\n", fname);
- aa_recommendlowdisplay("linux");
- aa_recommendhidisplay("curses");
- aa_recommendhidisplay("X11");
- }else fclose(fp);
- } else aa_recommendhidisplay(hidis);
- c = aa_autoinit(&aa_defparams);
-
- if (c == NULL) {
- mp_msg(MSGT_VO,MSGL_ERR,"Cannot initialize aalib\n");
- return VO_ERROR;
- }
- if (!aa_autoinitkbd(c,0)) {
- mp_msg(MSGT_VO,MSGL_ERR,"Cannot initialize keyboard\n");
- aa_close(c);
- return VO_ERROR;
- }
-
- aa_resizehandler(c, (void *)resize);
- aa_hidecursor(c);
- p = aa_getrenderparams();
-
- if ((strstr(c->driver->name,"Curses")) || (strstr(c->driver->name,"Linux"))){
- freopen("/dev/null", "w", stderr);
- /* disable console blanking */
- printf("\033[9;0]");
- }
-
- memset(image,0,3*sizeof(uint8_t));
- osdmessagetext[0] = '\0';
- osdx = osdy = 0;
-
- return 0;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- case VOCTRL_SET_EQUALIZER: {
- struct voctrl_set_equalizer_args *args = data;
- if (strcmp(args->name, "contrast") == 0)
- p->contrast = (args->value + 100) * 64 / 100;
- else if (strcmp(args->name, "brightness") == 0)
- p->bright = (args->value + 100) * 128 / 100;
- return VO_TRUE;
- }
- case VOCTRL_GET_EQUALIZER: {
- struct voctrl_get_equalizer_args *args = data;
-
- if (strcmp(args->name, "contrast") == 0)
- *args->valueptr = (p->contrast - 64) * 100 / 64;
- else if (strcmp(args->name, "brightness") == 0)
- *args->valueptr = (p->bright - 128) * 100 / 128;
-
- return VO_TRUE;
- }
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_bl.c b/libvo/vo_bl.c
deleted file mode 100644
index 8a4c29e..0000000
--- a/libvo/vo_bl.c
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * playback using the Blinkenlights UDP protocol (and to files)
- *
- * UDP socket handling copied from bsender.c part of blib-0.6:
- * http://sven.gimp.org/blinkenlights/
- * copyright (c) 2001-2001 The Blinkenlights Crew:
- * Sven Neumann <sven at gimp.org>
- * Michael Natterer <mitch at gimp.org>
- * Daniel Mack <daniel at yoobay.net>
- * copyright (C) 2004 Stefan Schuermans <1stein at schuermans.info>
- * other stuff: copyright (C) 2002 Rik Snel
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-#endif
-#include <sys/ioctl.h>
-
-#include "config.h"
-
-#include <netdb.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "mp_msg.h"
-#include "m_option.h"
-#include "fastmemcpy.h"
-
-static const vo_info_t info =
-{
- "Blinkenlights driver: http://www.blinkenlights.de",
- "bl",
- "Rik Snel <snel at phys.uu.nl>",
- ""
-};
-
-const LIBVO_EXTERN (bl)
-
-/* General variables */
-
-static unsigned char *image = NULL;
-static unsigned char *tmp = NULL;
-static int framenum;
-static char *bl_subdevice = NULL;
-static int prevpts = -1;
-
-typedef struct {
- char *name; /* filename */
- FILE *fp;
- int header_written; /* if header was written already */
-} bl_file_t;
-
-typedef struct {
- char *name; /* hostname */
- int port;
- int fd; /* file descriptor */
-} bl_host_t;
-
-typedef struct {
- char *name;
- int img_format;
-
- int channels;
- int width;
- int height;
- int bpc; /* bits per component: bpc = 3, channels = 3 => bpp = 24*/
-
- /* file output functions */
- int (*init_file)(bl_file_t *file);
- void (*write_frame)(bl_file_t *file, unsigned char *i, int duration);
- void (*close_file)(bl_file_t *file);
-
- /* network output functions */
- int (*init_connection)(bl_host_t *host);
- void (*send_frame)(bl_host_t *host);
- void (*close_connection)(bl_host_t *host);
-} bl_properties_t;
-
-static bl_properties_t *bl = NULL;
-
-/* arbitrary limit because I am too lazy to do proper memory management */
-#define BL_MAX_FILES 16
-#define BL_MAX_HOSTS 16
-static bl_file_t bl_files[BL_MAX_FILES];
-static bl_host_t bl_hosts[BL_MAX_HOSTS];
-static int no_bl_files = 0;
-static int no_bl_hosts = 0;
-
-typedef struct {
- uint32_t magic;
- uint16_t height;
- uint16_t width;
- uint16_t channels;
- uint16_t maxval;
- unsigned char data[0];
-} bl_packet_t;
-
-static bl_packet_t *bl_packet = NULL;
-static int bl_size;
-
-/* bml output functions */
-static int bml_init(bl_file_t *f) {
- f->fp = fopen(f->name, "w");
- if (!f->fp) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: error opening %s\n", f->name);
- return 1;
- }
- f->header_written = 0;
- return 0;
-}
-
-static void bml_write_frame(bl_file_t *f, unsigned char *i, int duration) {
- int j, k;
- if( ! f->header_written )
- {
- fprintf(f->fp,
-"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
-"<blm width=\"%d\" height=\"%d\" bits=\"%d\" channels=\"%d\">\n"
-" <header>\n"
-" <title>Movie autogenerated by MPlayer</title>\n"
-" <url>http://www.mplayerhq.hu</url>\n"
-" </header>\n", bl->width, bl->height, bl->bpc, bl->channels);
- f->header_written = 1;
- }
- fprintf(f->fp, " <frame duration=\"%d\">\n", duration);
- for (j = 0; j < bl->height; j++) {
- fprintf(f->fp, " <row>");
- for (k = 0; k < bl->width; k++)
- fprintf(f->fp, "%02x", *(i + j * bl->width + k));
- fprintf(f->fp, "</row>\n");
- }
- fprintf(f->fp, " </frame>\n");
-}
-
-static void bml_close(bl_file_t *f) {
- fprintf(f->fp, "</blm>\n");
- fclose(f->fp);
-}
-
-/* Blinkenlights UDP protocol */
-static int udp_init(bl_host_t *h) {
- struct sockaddr_in addr;
- struct hostent *dest;
-
- dest = gethostbyname(h->name);
- if (!dest) {
- mp_msg(MSGT_VO, MSGL_ERR,
- "unable to resolve host %s\n", h->name);
- return 1;
- }
-
- h->fd = -1;
- memset(&addr, 0, sizeof(addr));
- addr.sin_family = AF_INET;
- addr.sin_port = htons(h->port);
-
- memcpy(&addr.sin_addr.s_addr, dest->h_addr_list[0], dest->h_length);
-
- h->fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
- if (h->fd < 0) {
- mp_msg(MSGT_VO, MSGL_ERR,
- "couldn't create socket for %s\n", h->name);
- return 1;
- }
- if (connect(h->fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "couldn't connect socket for %s\n",
- h->name);
- close(h->fd);
- return 1;
- }
- return 0;
-}
-
-static void udp_send(bl_host_t *h) {
- if (send(h->fd, bl_packet, bl_size, 0) != bl_size)
- mp_msg(MSGT_VO, MSGL_ERR, "unable to send to %s\n", h->name);
-}
-
-static void udp_close(bl_host_t *h) {
- close(h->fd);
-}
-
-#define NO_BLS 3
-
-static bl_properties_t bls[NO_BLS] = {
- { "hdl", IMGFMT_YV12, 1, 18, 8, 8,
- &bml_init, &bml_write_frame, &bml_close,
- &udp_init, &udp_send, &udp_close },
- { "arcade", IMGFMT_YV12, 1, 26, 20, 8,
- &bml_init, &bml_write_frame, &bml_close,
- &udp_init, &udp_send, &udp_close },
- { "grayscale", IMGFMT_YV12, 1, -1, -1, 8, /* use width and height of movie */
- &bml_init, &bml_write_frame, &bml_close,
- &udp_init, &udp_send, &udp_close } };
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title, uint32_t format)
-{
- void * ptr;
-
- /* adapt size of Blinkenlights UDP stream to size of movie */
- if (bl->width < 0 || bl->height < 0) {
- if (bl->width < 0) { /* use width of movie */
- bl->width = width;
- bl_packet->width = htons(bl->width);
- }
- if (bl->height < 0) { /* use height of movie */
- bl->height = height;
- bl_packet->height = htons(bl->height);
- }
- /* check for maximum size of UDP packet */
- if (12 + bl->width*bl->height*bl->channels > 65507) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: %dx%d-%d does not fit into an UDP packet\n",
- bl->width, bl->height, bl->channels);
- return 1;
- }
- /* resize frame and tmp buffers */
- bl_size = 12 + bl->width*bl->height*bl->channels;
- ptr = realloc(bl_packet, 12 + bl->width*bl->height*3); /* space for header and image data */
- if (ptr)
- bl_packet = (bl_packet_t*)ptr;
- else {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: out of memory error\n");
- return 1;
- }
- image = ((unsigned char*)bl_packet + 12); /* pointer to image data */
- ptr = realloc(tmp, bl->width*bl->height*3); /* space for image data only */
- if (ptr)
- tmp = (unsigned char*)ptr;
- else {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: out of memory error\n");
- return 1;
- }
- }
-
- framenum = 0;
- if (format != IMGFMT_YV12) {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_bl called with wrong format");
- return 1;
- }
- if (width > bl->width) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: width of movie too large %d > %d\n", width, bl->width);
- return 1;
- }
- if (height > bl->height) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: height of movie too large %d > %d\n", height, bl->height);
- return 1;
- }
- if (!image) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: image should be initialized, internal error\n");
- return 1;
- }
- memset(image, 0, bl->width*bl->height*3); /* blank the image */
- mp_msg(MSGT_VO, MSGL_V, "vo_config bl called\n");
- return 0;
-}
-
-static void draw_osd(void) {
-}
-
-static void flip_page (void) {
- int i;
-
- if (prevpts >= 0) for (i = 0; i < no_bl_files; i++)
- bl->write_frame(&bl_files[i], tmp, (vo_pts - prevpts)/90);
- fast_memcpy(tmp, image, bl->width*bl->height*bl->channels);
- prevpts = vo_pts;
-
- for (i = 0; i < no_bl_hosts; i++) bl->send_frame(&bl_hosts[i]);
-
-
- framenum++;
- return;
-}
-
-static int draw_frame(uint8_t * src[]) {
- return 0;
-}
-
-static int query_format(uint32_t format) {
- if (format == bl->img_format)
- return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW;
- return 0;
-}
-
-static void uninit(void) {
- int i;
- mp_msg(MSGT_VO, MSGL_V, "bl: uninit called\n");
- free(bl_packet);
- bl_packet = NULL;
- free(bl_subdevice);
- bl_subdevice = NULL;
- for (i = 0; i < no_bl_files; i++) bl->close_file(&bl_files[i]);
- for (i = 0; i < no_bl_hosts; i++) bl->close_connection(&bl_hosts[i]);
- no_bl_files = 0;
- no_bl_hosts = 0;
- bl = NULL;
-}
-
-static void check_events(void) {
-}
-
-static int draw_slice(uint8_t *srcimg[], int stride[],
- int wf, int hf, int xf, int yf) {
- int i, w, h, x, y;
- uint8_t *dst;
- uint8_t *src=srcimg[0];
- w = wf; h = hf; x = xf; y = yf;
- dst=image; /* + zr->off_y + zr->image_width*(y/zr->vdec)+x;*/
- // copy Y:
- for (i = 0; i < h; i++) {
- fast_memcpy(dst,src,w);
- dst+=bl->width;
- src+=stride[0];
-
- }
- return 0;
-}
-
-static int preinit(const char *arg) {
- char *p, *q;
- int end = 0, i;
- char txt[256];
- if (!arg || strlen(arg) == 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: subdevice must be given, example: -vo bl:arcade:host=localhost:2323\n");
- return 1;
- }
-
- bl_subdevice = malloc(strlen(arg) + 1);
- if (!bl_subdevice) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: out of memory error\n");
- return 1;
- }
- p = bl_subdevice;
- strcpy(p, arg);
- mp_msg(MSGT_VO, MSGL_V, "bl: preinit called with %s\n", arg);
- for (i = 0; i < NO_BLS; i++) {
- if (!strncmp(p, bls[i].name, strlen(bls[i].name)))
- break;
- }
- if (i >= NO_BLS) {
- txt[0] = 0;
- for (i = 0; i < NO_BLS; i++)
- if (strlen( txt ) + 4 + strlen( bls[i].name ) + 1 < sizeof(txt))
- sprintf( txt + strlen( txt ), "%s%s",
- txt[0] == 0 ? "" : i == NO_BLS - 1 ? " or " : ", ", bls[i].name );
- mp_msg(MSGT_VO, MSGL_ERR, "bl: subdevice must start with %s\nbl: i.e. -vo bl:arcade:host=localhost:2323\n", txt);
- return 1;
- }
- bl = &bls[i];
- p += strlen(bls[i].name);
- if (*p == '\0') {
- no_bl_hosts = 1;
- bl_hosts[0].name = "localhost";
- bl_hosts[0].port = 2323;
- mp_msg(MSGT_VO, MSGL_V, "bl: no hosts/files specified, using localhost:2323\n");
- end = 1;
- } else if (*p != ':') {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: syntax error in subdevice\n");
- return 1;
- }
- p++;
-
- while (!end) {
- q = p + 5;
- if (!strncmp(p, "file=", 5)) {
- if (no_bl_files == BL_MAX_FILES) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: maximum number of files reached (%d)\n", BL_MAX_FILES);
- return 1;
- }
- p += 5;
- while (*q != ',' && *q != '\0') q++;
- if (*q == '\0') end = 1;
- *q = '\0';
- bl_files[no_bl_files].name = p;
- mp_msg(MSGT_VO, MSGL_V, "blfile[%d]: %s\n",
- no_bl_files, p);
- no_bl_files++;
- } else if (!strncmp(p, "host=", 5)) {
- if (no_bl_hosts == BL_MAX_HOSTS) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: maximum number of hosts reached (%d)\n", BL_MAX_HOSTS);
- return 1;
- }
- p += 5;
- while (*q != ',' && *q != '\0' && *q != ':') q++;
- if (*q == ':') {
- *q++ = '\0';
- bl_hosts[no_bl_hosts].name = p;
- bl_hosts[no_bl_hosts].port = atoi(q);
- while (*q != ',' && *q != '\0') q++;
- if (*q == '\0') end = 1;
- } else {
- /* use default port */
- if (*q == '\0') end = 1;
- *q = '\0';
- bl_hosts[no_bl_hosts].name = p;
- bl_hosts[no_bl_hosts].port = 2323;
- }
- mp_msg(MSGT_VO, MSGL_V,
- "blhost[%d]: %s:%d\n",
- no_bl_hosts, p,
- bl_hosts[no_bl_hosts].port);
- no_bl_hosts++;
- } else {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: syntax error in entry %d in subdevice %s, should be a comma separated\nlist of host=name:port and file=foo.bml\n", no_bl_hosts + no_bl_files, arg);
- return 1;
- }
- p = ++q;
- }
-
- if (bl->width >= 0 && bl->height >= 0) { /* size already known */
- bl_size = 12 + bl->width*bl->height*bl->channels;
- bl_packet = malloc(12 + bl->width*bl->height*3); /* space for header and image data */
- image = ((unsigned char*)bl_packet + 12); /* pointer to image data */
- tmp = malloc(bl->width*bl->height*3); /* space for image data only */
- }
- else { /* size unknown yet */
- bl_size = 12;
- bl_packet = malloc(12 + 3); /* space for header and a pixel */
- image = ((unsigned char*)bl_packet + 12); /* pointer to image data */
- tmp = malloc(3); /* space for a pixel only */
- }
-
- if (!bl_packet || !tmp) {
- mp_msg(MSGT_VO, MSGL_ERR, "bl: out of memory error\n");
- return 1;
- }
- bl_packet->magic = htonl(0x23542666);
- bl_packet->width = htons(bl->width);
- bl_packet->height = htons(bl->height);
- bl_packet->channels = htons(bl->channels);
- bl_packet->maxval = htons((1 << bl->bpc) - 1);
-
- /* open all files */
- for (i = 0; i < no_bl_files; i++)
- if (bl->init_file(&bl_files[i])) return 1;
-
- /* open all sockets */
- for (i = 0; i < no_bl_hosts; i++)
- if (bl->init_connection(&bl_hosts[i])) return 1;
-
-
- return 0;
-}
-
-static int control(uint32_t request, void *data) {
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_corevideo.m b/libvo/vo_corevideo.m
index 57e93a9..5f5f3a0 100644
--- a/libvo/vo_corevideo.m
+++ b/libvo/vo_corevideo.m
@@ -26,7 +26,6 @@
#import "talloc.h"
#import "video_out.h"
#import "aspect.h"
-#import "sub/font_load.h"
#import "sub/sub.h"
#import "subopt-helper.h"
@@ -69,10 +68,9 @@ struct priv {
struct osd_p *osd;
};
-static struct priv *p;
-
static void resize(struct vo *vo, int width, int height)
{
+ struct priv *p = vo->priv;
GL *gl = p->mpglctx->gl;
p->image_width = width;
p->image_height = height;
@@ -101,7 +99,6 @@ static void resize(struct vo *vo, int width, int height)
gl->MatrixMode(GL_MODELVIEW);
gl->LoadIdentity();
- force_load_font = 1;
vo_osd_changed(OSDTYPE_OSD);
gl->Clear(GL_COLOR_BUFFER_BIT);
@@ -110,6 +107,7 @@ static void resize(struct vo *vo, int width, int height)
static int init_gl(struct vo *vo, uint32_t d_width, uint32_t d_height)
{
+ struct priv *p = vo->priv;
GL *gl = p->mpglctx->gl;
const char *vendor = gl->GetString(GL_VENDOR);
@@ -136,7 +134,8 @@ static int init_gl(struct vo *vo, uint32_t d_width, uint32_t d_height)
return 1;
}
-static void release_cv_entities(void) {
+static void release_cv_entities(struct vo *vo) {
+ struct priv *p = vo->priv;
CVPixelBufferRelease(p->pixelBuffer);
p->pixelBuffer = NULL;
CVOpenGLTextureRelease(p->texture);
@@ -150,7 +149,8 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
uint32_t d_width, uint32_t d_height, uint32_t flags,
uint32_t format)
{
- release_cv_entities();
+ struct priv *p = vo->priv;
+ release_cv_entities(vo);
p->image_width = width;
p->image_height = height;
@@ -166,6 +166,7 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
static void check_events(struct vo *vo)
{
+ struct priv *p = vo->priv;
int e = p->mpglctx->check_events(vo);
if (e & VO_EVENT_RESIZE)
resize(vo, vo->dwidth, vo->dheight);
@@ -175,6 +176,7 @@ static void create_osd_texture(void *ctx, int x0, int y0, int w, int h,
unsigned char *src, unsigned char *srca,
int stride)
{
+ struct priv *p = ((struct vo *) ctx)->priv;
struct osd_p *osd = p->osd;
GL *gl = p->mpglctx->gl;
@@ -214,6 +216,7 @@ static void create_osd_texture(void *ctx, int x0, int y0, int w, int h,
static void clearOSD(struct vo *vo)
{
+ struct priv *p = vo->priv;
struct osd_p *osd = p->osd;
GL *gl = p->mpglctx->gl;
@@ -225,6 +228,7 @@ static void clearOSD(struct vo *vo)
static void draw_osd(struct vo *vo, struct osd_state *osd_s)
{
+ struct priv *p = vo->priv;
struct osd_p *osd = p->osd;
GL *gl = p->mpglctx->gl;
@@ -252,10 +256,11 @@ static void draw_osd(struct vo *vo, struct osd_state *osd_s)
}
}
-static void prepare_texture(void)
+static void prepare_texture(struct vo *vo)
{
- CVReturn error;
+ struct priv *p = vo->priv;
struct quad *q = p->quad;
+ CVReturn error;
CVOpenGLTextureRelease(p->texture);
error = CVOpenGLTextureCacheCreateTextureFromImage(NULL,
@@ -270,9 +275,10 @@ static void prepare_texture(void)
static void do_render(struct vo *vo)
{
+ struct priv *p = vo->priv;
struct quad *q = p->quad;
GL *gl = p->mpglctx->gl;
- prepare_texture();
+ prepare_texture(vo);
float x0 = 0;
float y0 = 0;
@@ -303,12 +309,14 @@ static void do_render(struct vo *vo)
static void flip_page(struct vo *vo)
{
+ struct priv *p = vo->priv;
p->mpglctx->swapGlBuffers(p->mpglctx);
p->mpglctx->gl->Clear(GL_COLOR_BUFFER_BIT);
}
static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
{
+ struct priv *p = vo->priv;
CVReturn error;
if (!p->textureCache || !p->pixelBuffer) {
@@ -330,8 +338,9 @@ static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
return VO_TRUE;
}
-static int query_format(uint32_t format)
+static int query_format(struct vo *vo, uint32_t format)
{
+ struct priv *p = vo->priv;
const int flags = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW |
VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN |
VOCAP_NOSLICES;
@@ -357,27 +366,16 @@ static int query_format(uint32_t format)
static void uninit(struct vo *vo)
{
+ struct priv *p = vo->priv;
uninit_mpglcontext(p->mpglctx);
- release_cv_entities();
- talloc_free(p);
+ release_cv_entities(vo);
}
static int preinit(struct vo *vo, const char *arg)
{
- const opt_t subopts[] = {
- {NULL}
- };
-
- if (subopt_parse(arg, subopts) != 0) {
- mp_msg(MSGT_VO, MSGL_FATAL,
- "\n-vo corevideo command line help:\n"
- "Example: mplayer -vo corevideo\n"
- "\n" );
- return -1;
- }
+ struct priv *p = vo->priv;
- p = talloc_ptrtype(NULL, p);
*p = (struct priv) {
.mpglctx = init_mpglcontext(GLTYPE_COCOA, vo),
.colorspace = MP_CSP_DETAILS_DEFAULTS,
@@ -392,8 +390,9 @@ static int preinit(struct vo *vo, const char *arg)
return 0;
}
-static CFStringRef get_cv_csp_matrix(void)
+static CFStringRef get_cv_csp_matrix(struct vo *vo)
{
+ struct priv *p = vo->priv;
switch (p->colorspace.format) {
case MP_CSP_BT_601:
return kCVImageBufferYCbCrMatrix_ITU_R_601_4;
@@ -407,19 +406,21 @@ static CFStringRef get_cv_csp_matrix(void)
static void set_yuv_colorspace(struct vo *vo)
{
+ struct priv *p = vo->priv;
CVBufferSetAttachment(p->pixelBuffer,
- kCVImageBufferYCbCrMatrixKey, get_cv_csp_matrix(),
+ kCVImageBufferYCbCrMatrixKey, get_cv_csp_matrix(vo),
kCVAttachmentMode_ShouldPropagate);
vo->want_redraw = true;
}
static int control(struct vo *vo, uint32_t request, void *data)
{
+ struct priv *p = vo->priv;
switch (request) {
case VOCTRL_DRAW_IMAGE:
return draw_image(vo, data);
case VOCTRL_QUERY_FORMAT:
- return query_format(*(uint32_t*)data);
+ return query_format(vo, *(uint32_t*)data);
case VOCTRL_ONTOP:
p->mpglctx->ontop(vo);
return VO_TRUE;
@@ -464,4 +465,5 @@ const struct vo_driver video_out_corevideo = {
.flip_page = flip_page,
.check_events = check_events,
.uninit = uninit,
+ .privsize = sizeof(struct priv),
};
diff --git a/libvo/vo_dfbmga.c b/libvo/vo_dfbmga.c
deleted file mode 100644
index 57b7980..0000000
--- a/libvo/vo_dfbmga.c
+++ /dev/null
@@ -1,1536 +0,0 @@
-/*
- * MPlayer video driver for DirectFB / Matrox G200/G400/G450/G550
- *
- * copyright (C) 2002-2008 Ville Syrjala <syrjala at sci.fi>
- * Originally based on vo_directfb.c by Jiri Svoboda <Jiri.Svoboda at seznam.cz>.
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <directfb.h>
-#include <directfb_version.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "fastmemcpy.h"
-#include "sub/sub.h"
-#include "mp_msg.h"
-#include "aspect.h"
-#include "mp_fifo.h"
-#include "input/keycodes.h"
-
-static const vo_info_t info = {
- "DirectFB / Matrox G200/G400/G450/G550",
- "dfbmga",
- "Ville Syrjala <syrjala at sci.fi>",
- ""
-};
-
-const LIBVO_EXTERN(dfbmga)
-
-static IDirectFB *dfb;
-
-static IDirectFBDisplayLayer *crtc1;
-static IDirectFBDisplayLayer *bes;
-static IDirectFBDisplayLayer *crtc2;
-static IDirectFBDisplayLayer *spic;
-
-static int num_bufs;
-static int current_buf;
-static int current_ip_buf;
-static IDirectFBSurface *bufs[3];
-
-static IDirectFBSurface *frame;
-static IDirectFBSurface *subframe;
-
-static IDirectFBSurface *besframe;
-static IDirectFBSurface *c1frame;
-static IDirectFBSurface *c2frame;
-static IDirectFBSurface *spicframe;
-
-static DFBSurfacePixelFormat frame_format;
-static DFBSurfacePixelFormat subframe_format;
-
-static DFBRectangle besrect;
-static DFBRectangle c1rect;
-static DFBRectangle c2rect;
-static DFBRectangle *subrect;
-
-static IDirectFBInputDevice *keyboard;
-static IDirectFBInputDevice *remote;
-static IDirectFBEventBuffer *buffer;
-
-static int blit_done;
-static int c1stretch;
-static int c2stretch;
-
-static int use_bes;
-static int use_crtc1;
-static int use_crtc2;
-static int use_spic;
-static int use_input;
-static int use_remote;
-static int field_parity;
-static int flipping;
-static DFBDisplayLayerBufferMode buffermode;
-static int tvnorm;
-
-static int osd_changed;
-static int osd_dirty;
-static int osd_current;
-static int osd_max;
-
-static int is_g200;
-
-static uint32_t in_width;
-static uint32_t in_height;
-static uint32_t buf_height;
-static uint32_t screen_width;
-static uint32_t screen_height;
-static uint32_t sub_width;
-static uint32_t sub_height;
-
-static char *
-pixelformat_name( DFBSurfacePixelFormat format )
-{
- switch(format) {
- case DSPF_ARGB:
- return "ARGB";
- case DSPF_RGB32:
- return "RGB32";
- case DSPF_RGB16:
- return "RGB16";
- case DSPF_ARGB1555:
- return "ARGB1555";
- case DSPF_YUY2:
- return "YUY2";
- case DSPF_UYVY:
- return "UYVY";
- case DSPF_YV12:
- return "YV12";
- case DSPF_I420:
- return "I420";
- case DSPF_ALUT44:
- return "ALUT44";
- case DSPF_NV12:
- return "NV12";
- case DSPF_NV21:
- return "NV21";
- default:
- return "Unknown pixel format";
- }
-}
-
-static DFBSurfacePixelFormat
-imgfmt_to_pixelformat( uint32_t format )
-{
- switch (format) {
- case IMGFMT_BGR32:
- return DSPF_RGB32;
- case IMGFMT_BGR16:
- return DSPF_RGB16;
- case IMGFMT_BGR15:
- return DSPF_ARGB1555;
- case IMGFMT_YUY2:
- return DSPF_YUY2;
- case IMGFMT_UYVY:
- return DSPF_UYVY;
- case IMGFMT_YV12:
- return DSPF_YV12;
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- return DSPF_I420;
- case IMGFMT_NV12:
- return DSPF_NV12;
- case IMGFMT_NV21:
- return DSPF_NV21;
- default:
- return DSPF_UNKNOWN;
- }
-}
-
-struct layer_enum
-{
- const char *name;
- IDirectFBDisplayLayer **layer;
- DFBResult res;
-};
-
-static DFBEnumerationResult
-get_layer_by_name( DFBDisplayLayerID id,
- DFBDisplayLayerDescription desc,
- void *data )
-{
- struct layer_enum *l = (struct layer_enum *) data;
-
- if (!strcmp( l->name, desc.name ))
- if ((l->res = dfb->GetDisplayLayer( dfb, id, l->layer )) == DFB_OK)
- return DFENUM_CANCEL;
-
- return DFENUM_OK;
-}
-
-static int
-preinit( const char *arg )
-{
- DFBResult res;
- int force_input = -1;
-
- /* Some defaults */
- use_bes = 0;
- use_crtc1 = 0;
- use_crtc2 = 1;
- use_spic = 1;
- field_parity = -1;
- buffermode = DLBM_TRIPLE;
- osd_max = 4;
- flipping = 1;
- tvnorm = -1;
-
- use_input = !getenv( "DISPLAY" );
-
- if (vo_subdevice) {
- int show_help = 0;
- int opt_no = 0;
- while (*vo_subdevice != '\0') {
- if (!strncmp(vo_subdevice, "bes", 3)) {
- use_bes = !opt_no;
- vo_subdevice += 3;
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "crtc1", 5)) {
- use_crtc1 = !opt_no;
- vo_subdevice += 5;
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "crtc2", 5)) {
- use_crtc2 = !opt_no;
- vo_subdevice += 5;
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "spic", 4)) {
- use_spic = !opt_no;
- vo_subdevice += 4;
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "input", 5)) {
- force_input = !opt_no;
- vo_subdevice += 5;
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "remote", 6)) {
- use_remote = !opt_no;
- vo_subdevice += 6;
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "buffermode=", 11)) {
- if (opt_no) {
- show_help = 1;
- break;
- }
- vo_subdevice += 11;
- if (!strncmp(vo_subdevice, "single", 6)) {
- buffermode = DLBM_FRONTONLY;
- osd_max = 1;
- flipping = 0;
- vo_subdevice += 6;
- } else if (!strncmp(vo_subdevice, "double", 6)) {
- buffermode = DLBM_BACKVIDEO;
- osd_max = 2;
- flipping = 1;
- vo_subdevice += 6;
- } else if (!strncmp(vo_subdevice, "triple", 6)) {
- buffermode = DLBM_TRIPLE;
- osd_max = 4;
- flipping = 1;
- vo_subdevice += 6;
- } else {
- show_help = 1;
- break;
- }
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "fieldparity=", 12)) {
- if (opt_no) {
- show_help = 1;
- break;
- }
- vo_subdevice += 12;
- if (!strncmp(vo_subdevice, "top", 3)) {
- field_parity = 0;
- vo_subdevice += 3;
- } else if (!strncmp(vo_subdevice, "bottom", 6)) {
- field_parity = 1;
- vo_subdevice += 6;
- } else {
- show_help = 1;
- break;
- }
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "tvnorm=", 7)) {
- if (opt_no) {
- show_help = 1;
- break;
- }
- vo_subdevice += 7;
- if (!strncmp(vo_subdevice, "pal", 3)) {
- tvnorm = 0;
- vo_subdevice += 3;
- } else if (!strncmp(vo_subdevice, "ntsc" , 4)) {
- tvnorm = 1;
- vo_subdevice += 4;
- } else if (!strncmp(vo_subdevice, "auto" , 4)) {
- tvnorm = 2;
- vo_subdevice += 4;
- } else {
- show_help = 1;
- break;
- }
- opt_no = 0;
- } else if (!strncmp(vo_subdevice, "no", 2)) {
- if (opt_no) {
- show_help = 1;
- break;
- }
- vo_subdevice += 2;
- opt_no = 1;
- } else if (*vo_subdevice == ':') {
- if (opt_no) {
- show_help = 1;
- break;
- }
- vo_subdevice++;
- opt_no = 0;
- } else {
- show_help = 1;
- break;
- }
- }
- if (show_help) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "\nvo_dfbmga command line help:\n"
- "Example: mplayer -vo dfbmga:nocrtc2:bes:buffermode=single\n"
- "\nOptions (use 'no' prefix to disable):\n"
- " bes Use Backend Scaler\n"
- " crtc1 Use CRTC1\n"
- " crtc2 Use CRTC2\n"
- " spic Use hardware sub-picture for OSD\n"
- " input Use DirectFB for keyboard input\n"
- " remote Use DirectFB for remote control input\n"
- "\nOther options:\n"
- " buffermode=(single|double|triple)\n"
- " single Use single buffering\n"
- " double Use double buffering\n"
- " triple Use triple buffering\n"
- " fieldparity=(top|bottom)\n"
- " top Top field first\n"
- " bottom Bottom field first\n"
- " tvnorm=(pal|ntsc|auto)\n"
- " pal Force PAL\n"
- " ntsc Force NTSC\n"
- " auto Select according to FPS\n"
- "\n" );
- return -1;
- }
- }
- if (!use_bes && !use_crtc1 && !use_crtc2) {
- mp_msg( MSGT_VO, MSGL_ERR, "vo_dfbmga: No output selected\n" );
- return -1;
- }
- if (use_bes && use_crtc1) {
- mp_msg( MSGT_VO, MSGL_ERR, "vo_dfbmga: Both BES and CRTC1 outputs selected\n" );
- return -1;
- }
-
- if ((res = DirectFBInit( NULL, NULL )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: DirectFBInit() failed - %s\n",
- DirectFBErrorString( res ) );
- return -1;
- }
-
- switch (tvnorm) {
- case 0:
- DirectFBSetOption( "matrox-tv-standard", "pal" );
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: Forced TV standard to PAL\n" );
- break;
- case 1:
- DirectFBSetOption( "matrox-tv-standard", "ntsc" );
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: Forced TV standard to NTSC\n" );
- break;
- case 2:
- if (vo_fps > 27) {
- DirectFBSetOption( "matrox-tv-standard", "ntsc" );
- mp_msg( MSGT_VO, MSGL_INFO,
- "vo_dfbmga: Selected TV standard based upon FPS: NTSC\n" );
- } else {
- DirectFBSetOption( "matrox-tv-standard", "pal" );
- mp_msg( MSGT_VO, MSGL_INFO,
- "vo_dfbmga: Selected TV standard based upon FPS: PAL\n" );
- }
- break;
- }
-
- if ((res = DirectFBCreate( &dfb )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: DirectFBCreate() failed - %s\n",
- DirectFBErrorString( res ) );
- return -1;
- }
-
- if (use_crtc1 || use_bes) {
- struct layer_enum l = {
- "FBDev Primary Layer",
- &crtc1,
- DFB_UNSUPPORTED
- };
- dfb->EnumDisplayLayers( dfb, get_layer_by_name, &l );
- if (l.res != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "vo_dfbmga: Can't get CRTC1 layer - %s\n",
- DirectFBErrorString( l.res ) );
- uninit();
- return -1;
- }
- if ((res = crtc1->SetCooperativeLevel( crtc1, DLSCL_EXCLUSIVE )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "Can't get exclusive access to CRTC1 layer - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- use_input = 1;
- }
-
- if (force_input != -1)
- use_input = force_input;
-
- if (use_bes) {
- DFBDisplayLayerConfig dlc;
- DFBDisplayLayerConfigFlags failed;
- struct layer_enum l = {
- "Matrox Backend Scaler",
- &bes,
- DFB_UNSUPPORTED
- };
-
- dfb->EnumDisplayLayers( dfb, get_layer_by_name, &l );
- if (l.res != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "Can't get BES layer - %s\n",
- DirectFBErrorString( l.res ) );
- uninit();
- return -1;
- }
- if ((res = bes->SetCooperativeLevel( bes, DLSCL_EXCLUSIVE )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "Can't get exclusive access to BES - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- dlc.flags = DLCONF_PIXELFORMAT;
- dlc.pixelformat = DSPF_RGB16;
- if (bes->TestConfiguration( bes, &dlc, &failed ) != DFB_OK) {
- is_g200 = 1;
- use_crtc2 = 0;
- }
- }
-
- if (use_crtc2) {
- struct layer_enum l = {
- "Matrox CRTC2 Layer",
- &crtc2,
- DFB_UNSUPPORTED
- };
-
- dfb->EnumDisplayLayers( dfb, get_layer_by_name, &l );
- if (l.res != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "Can't get CRTC2 layer - %s\n",
- DirectFBErrorString( l.res ) );
- uninit();
- return -1;
- }
- if ((res = crtc2->SetCooperativeLevel( crtc2, DLSCL_EXCLUSIVE )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "Can't get exclusive access to CRTC2 - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- }
-
- if (use_input || use_remote) {
- if ((res = dfb->CreateEventBuffer( dfb, &buffer )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Can't create event buffer - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- }
-
- if (use_input) {
- if ((res = dfb->GetInputDevice( dfb, DIDID_KEYBOARD, &keyboard )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Can't get keyboard - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- if ((res = keyboard->AttachEventBuffer( keyboard, buffer )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Can't attach event buffer to keyboard - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- }
- if (use_remote) {
- if ((res = dfb->GetInputDevice( dfb, DIDID_REMOTE, &remote )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Can't get remote control - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- if ((res = remote->AttachEventBuffer( remote, buffer )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Can't attach event buffer to remote control - %s\n",
- DirectFBErrorString( res ) );
- uninit();
- return -1;
- }
- }
-
- return 0;
-}
-
-static void release_config( void )
-{
- if (spicframe)
- spicframe->Release( spicframe );
- if (spic)
- spic->Release( spic );
- if (c2frame)
- c2frame->Release( c2frame );
- if (c1frame)
- c1frame->Release( c1frame );
- if (besframe)
- besframe->Release( besframe );
- if (bufs[0])
- bufs[0]->Release( bufs[0] );
- if (bufs[1])
- bufs[1]->Release( bufs[1] );
- if (bufs[2])
- bufs[2]->Release( bufs[2] );
-
- spicframe = NULL;
- spic = NULL;
- c2frame = NULL;
- c1frame = NULL;
- besframe = NULL;
- bufs[0] = NULL;
- bufs[1] = NULL;
- bufs[2] = NULL;
-}
-
-static int
-config( uint32_t width, uint32_t height,
- uint32_t d_width, uint32_t d_height,
- uint32_t flags,
- char *title,
- uint32_t format )
-{
- DFBResult res;
-
- DFBDisplayLayerConfig dlc;
- DFBDisplayLayerConfigFlags failed;
-
- uint32_t out_width;
- uint32_t out_height;
-
- release_config();
-
- in_width = width;
- in_height = height;
-
- aspect_save_orig(width, height);
- aspect_save_prescale(d_width, d_height);
-
- dlc.pixelformat = imgfmt_to_pixelformat( format );
-
- {
- /* Draw to a temporary surface */
- DFBSurfaceDescription dsc;
-
- dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT |
- DSDESC_PIXELFORMAT;
- dsc.width = (in_width + 15) & ~15;
- dsc.height = (in_height + 15) & ~15;
- dsc.pixelformat = dlc.pixelformat;
-
- /* Don't waste video memory since we don't need direct stretchblit */
- if (use_bes) {
- dsc.flags |= DSDESC_CAPS;
- dsc.caps = DSCAPS_SYSTEMONLY;
- }
-
- for (num_bufs = 0; num_bufs < 3; num_bufs++) {
- if ((res = dfb->CreateSurface( dfb, &dsc, &bufs[num_bufs] )) != DFB_OK) {
- if (num_bufs == 0) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Can't create surfaces - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
- break;
- }
- }
- frame = bufs[0];
- current_buf = 0;
- current_ip_buf = 0;
- buf_height = dsc.height;
- }
- frame->GetPixelFormat( frame, &frame_format );
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: Video surface %dx%d %s\n",
- in_width, in_height,
- pixelformat_name( frame_format ) );
-
-
- /*
- * BES
- */
- if (use_bes) {
- aspect_save_screenres( 0x10000, 0x10000 );
- aspect( &out_width, &out_height, A_ZOOM );
- besrect.x = (0x10000 - out_width) * in_width / out_width / 2;
- besrect.y = (0x10000 - out_height) * in_height / out_height / 2;
- besrect.w = in_width;
- besrect.h = in_height;
-
- dlc.flags = DLCONF_WIDTH | DLCONF_HEIGHT | DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE;
- dlc.width = besrect.w + besrect.x * 2;
- dlc.height = besrect.h + besrect.y * 2;
- dlc.buffermode = buffermode;
-
- if ((res = bes->TestConfiguration( bes, &dlc, &failed )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Invalid BES configuration - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
- if ((res = bes->SetConfiguration( bes, &dlc )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: BES configuration failed - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
- bes->GetSurface( bes, &besframe );
- besframe->SetBlittingFlags( besframe, DSBLIT_NOFX );
-
- bes->SetScreenLocation( bes, 0.0, 0.0, 1.0, 1.0 );
-
- besframe->Clear( besframe, 0, 0, 0, 0xff );
- besframe->Flip( besframe, NULL, 0 );
- besframe->Clear( besframe, 0, 0, 0, 0xff );
- besframe->Flip( besframe, NULL, 0 );
- besframe->Clear( besframe, 0, 0, 0, 0xff );
-
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: BES using %s buffering\n",
- dlc.buffermode == DLBM_TRIPLE ? "triple" :
- dlc.buffermode == DLBM_BACKVIDEO ? "double" : "single" );
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: BES surface %dx%d %s\n", dlc.width, dlc.height, pixelformat_name( dlc.pixelformat ) );
- }
-
- /*
- * CRTC1
- */
- if (use_crtc1) {
- dlc.flags = DLCONF_BUFFERMODE;
- dlc.buffermode = buffermode;
-
- if ((res = crtc1->TestConfiguration( crtc1, &dlc, &failed )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Invalid CRTC1 configuration - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
- if ((res = crtc1->SetConfiguration( crtc1, &dlc )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: CRTC1 configuration failed - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
- if ((res = crtc1->GetConfiguration( crtc1, &dlc )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Getting CRTC1 configuration failed - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
-
- crtc1->GetSurface( crtc1, &c1frame );
- c1frame->SetBlittingFlags( c1frame, DSBLIT_NOFX );
- c1frame->SetColor( c1frame, 0, 0, 0, 0xff );
-
- c1frame->GetSize( c1frame, &screen_width, &screen_height );
-
- aspect_save_screenres( screen_width, screen_height );
- aspect( &out_width, &out_height, (flags & VOFLAG_FULLSCREEN) ? A_ZOOM : A_NOZOOM );
-
- if (in_width != out_width || in_height != out_height)
- c1stretch = 1;
- else
- c1stretch = 0;
-
- c1rect.x = (screen_width - out_width) / 2;
- c1rect.y = (screen_height - out_height) / 2;
- c1rect.w = out_width;
- c1rect.h = out_height;
-
- c1frame->Clear( c1frame, 0, 0, 0, 0xff );
- c1frame->Flip( c1frame, NULL, 0 );
- c1frame->Clear( c1frame, 0, 0, 0, 0xff );
- c1frame->Flip( c1frame, NULL, 0 );
- c1frame->Clear( c1frame, 0, 0, 0, 0xff );
-
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: CRTC1 using %s buffering\n",
- dlc.buffermode == DLBM_TRIPLE ? "triple" :
- dlc.buffermode == DLBM_BACKVIDEO ? "double" : "single" );
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: CRTC1 surface %dx%d %s\n", screen_width, screen_height, pixelformat_name( dlc.pixelformat ) );
- }
-
- /*
- * CRTC2
- */
- if (use_crtc2) {
- dlc.flags = DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE | DLCONF_OPTIONS;
- dlc.buffermode = buffermode;
- dlc.options = DLOP_NONE;
-
- if (field_parity != -1) {
- dlc.options |= DLOP_FIELD_PARITY;
- }
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: Field parity set to: ");
- switch (field_parity) {
- case -1:
- mp_msg( MSGT_VO, MSGL_INFO, "Don't care\n");
- break;
- case 0:
- mp_msg( MSGT_VO, MSGL_INFO, "Top field first\n");
- break;
- case 1:
- mp_msg( MSGT_VO, MSGL_INFO, "Bottom field first\n");
- break;
- }
-
- switch (dlc.pixelformat) {
- case DSPF_I420:
- case DSPF_YV12:
- /* sub-picture supported */
- break;
-
- case DSPF_YUY2:
- case DSPF_UYVY:
- /* Blit to YUY2/UYVY not supported */
- dlc.pixelformat = DSPF_ARGB;
-
- /* fall through */
- default:
- /* sub-picture not supported */
- use_spic = 0;
- }
-
- if ((res = crtc2->TestConfiguration( crtc2, &dlc, &failed )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Invalid CRTC2 configuration - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
- if ((res = crtc2->SetConfiguration( crtc2, &dlc )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: CRTC2 configuration failed - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
-
- if (field_parity != -1)
- crtc2->SetFieldParity( crtc2, field_parity );
-
- crtc2->GetSurface( crtc2, &c2frame );
- c2frame->SetBlittingFlags( c2frame, DSBLIT_NOFX );
- c2frame->SetColor( c2frame, 0, 0, 0, 0xff );
-
- c2frame->GetSize( c2frame, &screen_width, &screen_height );
-
- /* Don't stretch only slightly smaller videos */
- if ((in_width > (0.95 * screen_width)) &&
- (in_width < screen_width))
- out_width = in_width;
- else
- out_width = screen_width;
- if ((in_height > (0.95 * screen_height)) &&
- (in_height < screen_height))
- out_height = in_height;
- else
- out_height = screen_height;
-
- aspect_save_screenres( out_width, out_height );
- aspect( &out_width, &out_height, (flags & VOFLAG_FULLSCREEN) ? A_ZOOM : A_NOZOOM );
-
- if (in_width != out_width ||
- in_height != out_height)
- c2stretch = 1;
- else
- c2stretch = 0;
-
- c2rect.x = (screen_width - out_width) / 2;
- c2rect.y = (screen_height - out_height) / 2;
- c2rect.w = out_width;
- c2rect.h = out_height;
-
- c2frame->Clear( c2frame, 0, 0, 0, 0xff );
- c2frame->Flip( c2frame, NULL, 0 );
- c2frame->Clear( c2frame, 0, 0, 0, 0xff );
- c2frame->Flip( c2frame, NULL, 0 );
- c2frame->Clear( c2frame, 0, 0, 0, 0xff );
-
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: CRTC2 using %s buffering\n",
- dlc.buffermode == DLBM_TRIPLE ? "triple" :
- dlc.buffermode == DLBM_BACKVIDEO ? "double" : "single" );
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: CRTC2 surface %dx%d %s\n", screen_width, screen_height, pixelformat_name( dlc.pixelformat ) );
- } else {
- use_spic = 0;
- }
-
- /*
- * Sub-picture
- */
- if (use_spic) {
- /* Draw OSD to sub-picture surface */
- IDirectFBPalette *palette;
- DFBColor color;
- int i;
- struct layer_enum l = {
- "Matrox CRTC2 Sub-Picture",
- &spic,
- DFB_UNSUPPORTED
- };
- dfb->EnumDisplayLayers( dfb, get_layer_by_name, &l );
- if (l.res != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "vo_dfbmga: Can't get sub-picture layer - %s\n",
- DirectFBErrorString( l.res ) );
- return -1;
- }
- if ((res = spic->SetCooperativeLevel( spic, DLSCL_EXCLUSIVE )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR, "Can't get exclusive access to sub-picture - %s\n",
- DirectFBErrorString( res ) );
- return -1;
- }
-
- dlc.flags = DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE;
- dlc.pixelformat = DSPF_ALUT44;
- dlc.buffermode = buffermode;
- dlc.flags |= DLCONF_OPTIONS;
- dlc.options = DLOP_ALPHACHANNEL;
-
- if ((res = spic->TestConfiguration( spic, &dlc, &failed )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Invalid sub-picture configuration - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
- if ((res = spic->SetConfiguration( spic, &dlc )) != DFB_OK) {
- mp_msg( MSGT_VO, MSGL_ERR,
- "vo_dfbmga: Sub-picture configuration failed - %s!\n",
- DirectFBErrorString( res ) );
- return -1;
- }
-
- spic->GetSurface( spic, &spicframe );
-
- spicframe->GetPalette( spicframe, &palette );
- color.a = 0xff;
- for (i = 0; i < 16; i++) {
- color.r = i * 17;
- color.g = i * 17;
- color.b = i * 17;
- palette->SetEntries( palette, &color, 1, i );
- }
- palette->Release( palette );
-
- spicframe->Clear( spicframe, 0, 0, 0, 0 );
- spicframe->Flip( spicframe, NULL, 0 );
- spicframe->Clear( spicframe, 0, 0, 0, 0 );
- spicframe->Flip( spicframe, NULL, 0 );
- spicframe->Clear( spicframe, 0, 0, 0, 0 );
-
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: Sub-picture layer using %s buffering\n",
- dlc.buffermode == DLBM_TRIPLE ? "triple" :
- dlc.buffermode == DLBM_BACKVIDEO ? "double" : "single" );
-
- subframe = spicframe;
- subrect = NULL;
- } else if (use_crtc2) {
- /* Draw OSD to CRTC2 surface */
- subframe = c2frame;
- subrect = &c2rect;
- } else if (use_crtc1) {
- /* Draw OSD to CRTC1 surface */
- subframe = c1frame;
- subrect = &c1rect;
- } else {
- /* Draw OSD to BES surface */
- subframe = besframe;
- subrect = &besrect;
- }
-
- subframe->GetSize( subframe, &sub_width, &sub_height );
- subframe->GetPixelFormat( subframe, &subframe_format );
- mp_msg( MSGT_VO, MSGL_INFO, "vo_dfbmga: Sub-picture surface %dx%d %s (%s)\n",
- sub_width, sub_height,
- pixelformat_name( subframe_format ),
- use_crtc2 ? (use_spic ? "Sub-picture layer" : "CRTC2") :
- use_crtc1 ? "CRTC1" : "BES" );
-
- osd_dirty = 0;
- osd_current = 1;
- blit_done = 0;
-
- return 0;
-}
-
-static int
-query_format( uint32_t format )
-{
- switch (format) {
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- if (is_g200 || use_crtc1)
- return 0;
- break;
- case IMGFMT_BGR32:
- case IMGFMT_BGR16:
- case IMGFMT_BGR15:
- if (is_g200 && use_bes)
- return 0;
- break;
- case IMGFMT_UYVY:
- if (is_g200)
- return 0;
- break;
- case IMGFMT_YUY2:
- break;
- case IMGFMT_NV12:
- case IMGFMT_NV21:
- if (use_crtc1 || use_crtc2)
- return 0;
- break;
- default:
- return 0;
- }
-
- return VFCAP_HWSCALE_UP |
- VFCAP_HWSCALE_DOWN |
- VFCAP_CSP_SUPPORTED_BY_HW |
- VFCAP_CSP_SUPPORTED |
- VFCAP_OSD;
-}
-
-static void
-vo_draw_alpha_alut44( int w, int h,
- unsigned char* src,
- unsigned char *srca,
- int srcstride,
- unsigned char* dst,
- int dststride )
-{
- int x;
-
- while (h--) {
- for (x = 0; x < w; x++) {
- if (srca[x])
- dst[x] = ((255 - srca[x]) & 0xF0) | (src[x] >> 4);
- }
- src += srcstride;
- srca += srcstride;
- dst += dststride;
- }
-}
-
-static void
-clear_alpha( int x0, int y0,
- int w, int h )
-{
- if (use_spic && !flipping && vo_osd_changed_flag)
- subframe->FillRectangle( subframe, x0, y0, w, h );
-}
-
-static void
-draw_alpha( int x0, int y0,
- int w, int h,
- unsigned char *src,
- unsigned char *srca,
- int stride )
-{
- uint8_t *dst;
- void *ptr;
- int pitch;
-
- if (use_spic) {
- if (!osd_changed || (!flipping && !vo_osd_changed_flag))
- return;
- osd_dirty |= osd_current;
- } else {
- if (x0 < subrect->x ||
- y0 < subrect->y ||
- x0 + w > subrect->x + subrect->w ||
- y0 + h > subrect->y + subrect->h)
- osd_dirty |= osd_current;
- }
-
- if (subframe->Lock( subframe, DSLF_READ | DSLF_WRITE, &ptr, &pitch ) != DFB_OK)
- return;
- dst = ptr;
-
- switch (subframe_format) {
- case DSPF_ALUT44:
- vo_draw_alpha_alut44( w, h, src, srca, stride,
- dst + pitch * y0 + x0,
- pitch );
- break;
- case DSPF_RGB32:
- case DSPF_ARGB:
- vo_draw_alpha_rgb32( w, h, src, srca, stride,
- dst + pitch * y0 + 4 * x0,
- pitch );
- break;
- case DSPF_RGB16:
- vo_draw_alpha_rgb16( w, h, src, srca, stride,
- dst + pitch * y0 + 2 * x0,
- pitch );
- break;
- case DSPF_ARGB1555:
- vo_draw_alpha_rgb15( w, h, src, srca, stride,
- dst + pitch * y0 + 2 * x0,
- pitch );
- break;
- case DSPF_YUY2:
- vo_draw_alpha_yuy2( w, h, src, srca, stride,
- dst + pitch * y0 + 2 * x0,
- pitch );
- break;
- case DSPF_UYVY:
- vo_draw_alpha_yuy2( w, h, src, srca, stride,
- dst + pitch * y0 + 2 * x0 + 1,
- pitch );
- break;
- case DSPF_NV12:
- case DSPF_NV21:
- case DSPF_I420:
- case DSPF_YV12:
- vo_draw_alpha_yv12( w, h, src, srca, stride,
- dst + pitch * y0 + x0,
- pitch );
- break;
- }
-
- subframe->Unlock( subframe );
-}
-
-static int
-draw_frame( uint8_t * src[] )
-{
- return -1;
-}
-
-static int
-draw_slice( uint8_t * src[], int stride[], int w, int h, int x, int y )
-{
- uint8_t *dst;
- void *ptr;
- int pitch;
-
- if (frame->Lock( frame, DSLF_WRITE, &ptr, &pitch ) != DFB_OK)
- return VO_FALSE;
- dst = ptr;
-
- memcpy_pic( dst + pitch * y + x, src[0],
- w, h, pitch, stride[0] );
-
- dst += pitch * buf_height;
-
- y /= 2;
- h /= 2;
-
- if (frame_format == DSPF_NV12 || frame_format == DSPF_NV21) {
- memcpy_pic( dst + pitch * y + x, src[1],
- w, h, pitch, stride[1] );
- } else {
- x /= 2;
- w /= 2;
- pitch /= 2;
-
- if (frame_format == DSPF_I420 )
- memcpy_pic( dst + pitch * y + x, src[1],
- w, h, pitch, stride[1] );
- else
- memcpy_pic( dst + pitch * y + x, src[2],
- w, h, pitch, stride[2] );
-
- dst += pitch * buf_height / 2;
-
- if (frame_format == DSPF_I420 )
- memcpy_pic( dst + pitch * y + x, src[2],
- w, h, pitch, stride[2] );
- else
- memcpy_pic( dst + pitch * y + x, src[1],
- w, h, pitch, stride[1] );
- }
-
- frame->Unlock( frame );
-
- return VO_TRUE;
-}
-
-static void
-blit_to_screen( void )
-{
- IDirectFBSurface *blitsrc = frame;
- DFBRectangle *srect = NULL;
-
- if (use_bes) {
- if (vo_vsync && !flipping)
- bes->WaitForSync( bes );
-
- besframe->Blit( besframe, blitsrc, NULL, besrect.x, besrect.y );
- blitsrc = besframe;
- srect = &besrect;
- }
-
- if (use_crtc1) {
- if (vo_vsync && !flipping)
- crtc1->WaitForSync( crtc1 );
-
- if (c1stretch)
- c1frame->StretchBlit( c1frame, blitsrc, srect, &c1rect );
- else
- c1frame->Blit( c1frame, blitsrc, srect, c1rect.x, c1rect.y );
- }
-
- if (use_crtc2) {
- if (vo_vsync && !flipping)
- crtc2->WaitForSync( crtc2 );
-
- if (c2stretch)
- c2frame->StretchBlit( c2frame, blitsrc, srect, &c2rect );
- else
- c2frame->Blit( c2frame, blitsrc, srect, c2rect.x, c2rect.y );
- }
-}
-
-static void
-draw_osd( void )
-{
- frame = bufs[current_buf];
- frame->Unlock( frame );
-
- osd_changed = vo_osd_changed( 0 );
- if (osd_dirty & osd_current) {
- if (use_spic) {
- if (flipping)
- subframe->Clear( subframe, 0, 0, 0, 0 );
- } else {
- /* Clear black bars around the picture */
- subframe->FillRectangle( subframe,
- 0, 0,
- sub_width, subrect->y );
- subframe->FillRectangle( subframe,
- 0, subrect->y + subrect->h,
- sub_width, subrect->y );
- subframe->FillRectangle( subframe,
- 0, subrect->y,
- subrect->x, subrect->h );
- subframe->FillRectangle( subframe,
- subrect->x + subrect->w, subrect->y,
- subrect->x, subrect->h );
- }
- osd_dirty &= ~osd_current;
- }
-
- blit_to_screen();
- blit_done = 1;
-
- vo_remove_text( sub_width, sub_height, clear_alpha );
- vo_draw_text( sub_width, sub_height, draw_alpha );
-
- if (use_spic && flipping && osd_changed) {
- subframe->Flip( subframe, NULL, 0 );
- osd_current <<= 1;
- if (osd_current > osd_max)
- osd_current = 1;
- }
-}
-
-static void
-flip_page( void )
-{
- if (!blit_done)
- blit_to_screen();
-
- if (flipping) {
- if (use_crtc2)
- c2frame->Flip( c2frame, NULL, vo_vsync ? DSFLIP_WAITFORSYNC : DSFLIP_ONSYNC );
- if (use_crtc1)
- c1frame->Flip( c1frame, NULL, vo_vsync ? DSFLIP_WAITFORSYNC : DSFLIP_ONSYNC );
- if (use_bes)
- besframe->Flip( besframe, NULL, vo_vsync ? DSFLIP_WAITFORSYNC : DSFLIP_ONSYNC );
-
- if (!use_spic) {
- osd_current <<= 1;
- if (osd_current > osd_max)
- osd_current = 1;
- }
- }
-
- blit_done = 0;
- current_buf = 0;
-}
-
-static void
-uninit( void )
-{
- release_config();
-
- if (buffer)
- buffer->Release( buffer );
- if (remote)
- remote->Release( remote );
- if (keyboard)
- keyboard->Release( keyboard );
- if (crtc2)
- crtc2->Release( crtc2 );
- if (bes)
- bes->Release( bes );
- if (crtc1)
- crtc1->Release( crtc1 );
- if (dfb)
- dfb->Release( dfb );
-
- buffer = NULL;
- remote = NULL;
- keyboard = NULL;
- crtc2 = NULL;
- bes = NULL;
- crtc1 = NULL;
- dfb = NULL;
-}
-
-static uint32_t
-get_image( mp_image_t *mpi )
-{
- int buf = current_buf;
- uint8_t *dst;
- void *ptr;
- int pitch;
-
- if (mpi->flags & MP_IMGFLAG_READABLE &&
- (mpi->type == MP_IMGTYPE_IPB || mpi->type == MP_IMGTYPE_IP)) {
- if (num_bufs < 2)
- return VO_FALSE;
-
- current_ip_buf ^= 1;
-
- if (mpi->type == MP_IMGTYPE_IPB && num_bufs < 3 && current_ip_buf)
- return VO_FALSE;
-
- buf = current_ip_buf;
-
- if (mpi->type == MP_IMGTYPE_IPB)
- buf++;
- }
- frame = bufs[buf];
- frame->Unlock( frame );
-
- /* Always use DSLF_READ to preserve system memory copy */
- if (frame->Lock( frame, DSLF_WRITE | DSLF_READ,
- &ptr, &pitch ) != DFB_OK)
- return VO_FALSE;
- dst = ptr;
-
- if ((mpi->width == pitch) ||
- (mpi->flags & (MP_IMGFLAG_ACCEPT_STRIDE | MP_IMGFLAG_ACCEPT_WIDTH))) {
-
- mpi->planes[0] = dst;
- mpi->width = in_width;
- mpi->stride[0] = pitch;
-
- if (mpi->flags & MP_IMGFLAG_PLANAR) {
- if (mpi->num_planes > 2) {
- mpi->stride[1] = mpi->stride[2] = pitch / 2;
-
- if (mpi->flags & MP_IMGFLAG_SWAPPED) {
- /* I420 */
- mpi->planes[1] = dst + buf_height * pitch;
- mpi->planes[2] = mpi->planes[1] + buf_height * pitch / 4;
- } else {
- /* YV12 */
- mpi->planes[2] = dst + buf_height * pitch;
- mpi->planes[1] = mpi->planes[2] + buf_height * pitch / 4;
- }
- } else {
- /* NV12/NV21 */
- mpi->stride[1] = pitch;
- mpi->planes[1] = dst + buf_height * pitch;
- }
- }
-
- mpi->flags |= MP_IMGFLAG_DIRECT;
- mpi->priv = (void *) buf;
- current_buf = buf;
-
- return VO_TRUE;
- }
-
- frame->Unlock( frame );
-
- return VO_FALSE;
-}
-
-
-
-static uint32_t
-draw_image( mp_image_t *mpi )
-{
- if (mpi->flags & MP_IMGFLAG_DIRECT) {
- current_buf = (int) mpi->priv;
- return VO_TRUE;
- }
- if (mpi->flags & MP_IMGFLAG_DRAW_CALLBACK)
- return VO_TRUE;
-
- if (mpi->flags & MP_IMGFLAG_PLANAR)
- return draw_slice( mpi->planes, mpi->stride,
- mpi->w, mpi->h, 0, 0 );
- else {
- void *dst;
- int pitch;
-
- if (frame->Lock( frame, DSLF_WRITE, &dst, &pitch ) != DFB_OK)
- return VO_FALSE;
- memcpy_pic( dst, mpi->planes[0],
- mpi->w * (mpi->bpp / 8), mpi->h,
- pitch, mpi->stride[0] );
- frame->Unlock( frame );
-
- return VO_TRUE;
- }
-}
-
-static int
-set_equalizer( const char *data, int value )
-{
- DFBResult res;
- DFBColorAdjustment ca;
- float factor = (float) 0xffff / 200.0;
-
- ca.flags = DCAF_NONE;
-
- if (!strcasecmp( data, "brightness" )) {
- ca.flags |= DCAF_BRIGHTNESS;
- ca.brightness = value * factor + 0x8000;
- }
- if (!strcasecmp( data, "contrast" )) {
- ca.flags |= DCAF_CONTRAST;
- ca.contrast = value * factor + 0x8000;
- }
- if (!strcasecmp( data, "hue" )) {
- ca.flags |= DCAF_HUE;
- ca.hue = value * factor + 0x8000;
- }
- if (!strcasecmp( data, "saturation" )) {
- ca.flags |= DCAF_SATURATION;
- ca.saturation = value * factor + 0x8000;
- }
-
- /* Prefer CRTC2 over BES */
- if (use_crtc2)
- res = crtc2->SetColorAdjustment( crtc2, &ca );
- else if (use_crtc1)
- res = crtc1->SetColorAdjustment( crtc1, &ca );
- else
- res = bes->SetColorAdjustment( bes, &ca );
-
- if (res != DFB_OK)
- return VO_FALSE;
-
- return VO_TRUE;
-}
-
-static int
-get_equalizer( const char *data, int *value )
-{
- DFBResult res;
- DFBColorAdjustment ca;
- float factor = 200.0 / (float) 0xffff;
-
- /* Prefer CRTC2 over BES */
- if (use_crtc2)
- res = crtc2->GetColorAdjustment( crtc2, &ca );
- else if (use_crtc1)
- res = crtc1->GetColorAdjustment( crtc1, &ca );
- else
- res = bes->GetColorAdjustment( bes, &ca );
-
- if (res != DFB_OK)
- return VO_FALSE;
-
- if (!strcasecmp( data, "brightness" ) &&
- (ca.flags & DCAF_BRIGHTNESS))
- *value = (ca.brightness - 0x8000) * factor;
- if (!strcasecmp( data, "contrast" ) &&
- (ca.flags & DCAF_CONTRAST))
- *value = (ca.contrast - 0x8000) * factor;
- if (!strcasecmp( data, "hue" ) &&
- (ca.flags & DCAF_HUE))
- *value = (ca.hue - 0x8000) * factor;
- if (!strcasecmp( data, "saturation" ) &&
- (ca.flags & DCAF_SATURATION))
- *value = (ca.saturation - 0x8000) * factor;
-
- return VO_TRUE;
-}
-
-static int
-control( uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format( *((uint32_t *) data) );
-
- case VOCTRL_GET_IMAGE:
- return get_image( data );
-
- case VOCTRL_DRAW_IMAGE:
- return draw_image( data );
-
- case VOCTRL_SET_EQUALIZER:
- {
- struct voctrl_set_equalizer_args *args = data;
- return set_equalizer(args->name, args->value);
- }
- case VOCTRL_GET_EQUALIZER:
- {
- struct voctrl_get_equalizer_args *args = data;
- return get_equalizer(args->name, args->valueptr);
- }
- }
-
- return VO_NOTIMPL;
-}
-
-static void
-check_events( void )
-{
- DFBInputEvent event;
-
- if (!buffer)
- return;
-
- if (buffer->GetEvent( buffer, DFB_EVENT( &event )) == DFB_OK) {
- if (event.type == DIET_KEYPRESS) {
- switch (event.key_symbol) {
- case DIKS_ESCAPE:
- mplayer_put_key( KEY_ESC );
- break;
- case DIKS_PAGE_UP:
- mplayer_put_key( KEY_PAGE_UP );
- break;
- case DIKS_PAGE_DOWN:
- mplayer_put_key( KEY_PAGE_DOWN );
- break;
- case DIKS_CURSOR_UP:
- mplayer_put_key( KEY_UP );
- break;
- case DIKS_CURSOR_DOWN:
- mplayer_put_key( KEY_DOWN );
- break;
- case DIKS_CURSOR_LEFT:
- mplayer_put_key( KEY_LEFT );
- break;
- case DIKS_CURSOR_RIGHT:
- mplayer_put_key( KEY_RIGHT );
- break;
- case DIKS_INSERT:
- mplayer_put_key( KEY_INSERT );
- break;
- case DIKS_DELETE:
- mplayer_put_key( KEY_DELETE );
- break;
- case DIKS_HOME:
- mplayer_put_key( KEY_HOME );
- break;
- case DIKS_END:
- mplayer_put_key( KEY_END );
- break;
-
- case DIKS_POWER:
- mplayer_put_key( KEY_POWER );
- break;
- case DIKS_MENU:
- mplayer_put_key( KEY_MENU );
- break;
- case DIKS_PLAY:
- mplayer_put_key( KEY_PLAY );
- break;
- case DIKS_STOP:
- mplayer_put_key( KEY_STOP );
- break;
- case DIKS_PAUSE:
- mplayer_put_key( KEY_PAUSE );
- break;
- case DIKS_PLAYPAUSE:
- mplayer_put_key( KEY_PLAYPAUSE );
- break;
- case DIKS_FORWARD:
- mplayer_put_key( KEY_FORWARD );
- break;
- case DIKS_NEXT:
- mplayer_put_key( KEY_NEXT );
- break;
- case DIKS_REWIND:
- mplayer_put_key( KEY_REWIND );
- break;
- case DIKS_PREVIOUS:
- mplayer_put_key( KEY_PREV );
- break;
- case DIKS_VOLUME_UP:
- mplayer_put_key( KEY_VOLUME_UP );
- break;
- case DIKS_VOLUME_DOWN:
- mplayer_put_key( KEY_VOLUME_DOWN );
- break;
- case DIKS_MUTE:
- mplayer_put_key( KEY_MUTE );
- break;
-
- default:
- mplayer_put_key( event.key_symbol );
- }
- }
- }
-
- /*
- * empty buffer, because of repeating
- * keyboard repeat is faster than key handling and this causes problems during seek
- * temporary workabout. should be solved in the future
- */
- buffer->Reset( buffer );
-}
diff --git a/libvo/vo_dga.c b/libvo/vo_dga.c
deleted file mode 100644
index 001d112..0000000
--- a/libvo/vo_dga.c
+++ /dev/null
@@ -1,999 +0,0 @@
-/*
- * X11 DGA Interface
- *
- * Copyright (C) 2001 Andreas Ackermann <acki at acki-netz.de>
- * Sourceforge username: acki2
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "aspect.h"
-#include "x11_common.h"
-#include "fastmemcpy.h"
-#include "mp_msg.h"
-
-#include <X11/Xlib.h>
-#include <X11/extensions/Xxf86dga.h>
-
-#ifdef CONFIG_XF86VM
-#include <X11/extensions/xf86vmode.h>
-#endif
-
-static const vo_info_t info = {
-#ifdef CONFIG_DGA2
- "DGA ( Direct Graphic Access V2.0 )",
-#else
-#ifdef CONFIG_XF86VM
- "DGA ( Direct Graphic Access V1.0+XF86VidModeExt. )",
-#else
- "DGA ( Direct Graphic Access V1.0 )",
-#endif
-#endif
- "dga",
- "Andreas Ackermann <acki at acki-netz.de>",
- ""
-};
-
-const LIBVO_EXTERN(dga)
-//------------------------------------------------------------------
-//#define BITSPP (vo_dga_modes[vo_dga_active_mode].vdm_bitspp)
-//#define BYTESPP (vo_dga_modes[vo_dga_active_mode].vdm_bytespp)
-#define VO_DGA_INVALID_RES 100000
-#define HW_MODE (vo_dga_modes[vo_dga_hw_mode])
-#define SRC_MODE (vo_dga_modes[vo_dga_src_mode])
-struct vd_modes
-{
- int vdm_mplayer_depth;
- int vdm_supported;
- int vdm_depth;
- int vdm_bitspp;
- int vdm_bytespp;
- int vdm_rmask;
- int vdm_gmask;
- int vdm_bmask;
- int vdm_hw_mode;
-};
-
-//------------------------------------------------------------------
-
-static struct vd_modes vo_dga_modes[] = {
- // these entries describe HW modes
- // however, we use the same entries to tell mplayer what we support
- // so the last two values describe, which HW mode to use and which conversion
- // function to use for a mode that is not supported by HW
-
- {0, 0, 0, 0, 0, 0, 0, 0, 0,},
- {15, 0, 15, 16, 2, 0x7c00, 0x03e0, 0x001f, 2,},
- {16, 0, 16, 16, 2, 0xf800, 0x07e0, 0x001f, 2,},
- {24, 0, 24, 24, 3, 0xff0000, 0x00ff00, 0x0000ff, 4},
- {32, 0, 24, 32, 4, 0x00ff0000, 0x0000ff00, 0x000000ff, 4}
-};
-
-static int vo_dga_mode_num =
- sizeof(vo_dga_modes) / sizeof(struct vd_modes);
-
-// enable a HW mode (by description)
-static int vd_EnableMode(int depth, int bitspp,
- int rmask, int gmask, int bmask)
-{
- int i;
-
- for (i = 1; i < vo_dga_mode_num; i++)
- {
- if (vo_dga_modes[i].vdm_depth == depth &&
- vo_dga_modes[i].vdm_bitspp == bitspp &&
- vo_dga_modes[i].vdm_rmask == rmask &&
- vo_dga_modes[i].vdm_gmask == gmask &&
- vo_dga_modes[i].vdm_bmask == bmask)
- {
- vo_dga_modes[i].vdm_supported = 1;
- vo_dga_modes[i].vdm_hw_mode = i;
- return i;
- }
- }
- return 0;
-}
-
-static int vd_ModeEqual(int depth, int bitspp,
- int rmask, int gmask, int bmask, int index)
-{
- return (vo_dga_modes[index].vdm_depth == depth &&
- vo_dga_modes[index].vdm_bitspp == bitspp &&
- vo_dga_modes[index].vdm_rmask == rmask &&
- vo_dga_modes[index].vdm_gmask == gmask &&
- vo_dga_modes[index].vdm_bmask == bmask) ? 1 : 0;
-}
-
-
-// enable a HW mode (mplayer_depth decides which)
-static int vd_ValidateMode(int mplayer_depth)
-{
- int i;
-
- if (mplayer_depth == 0)
- return 0;
- for (i = 1; i < vo_dga_mode_num; i++)
- {
- if (vo_dga_modes[i].vdm_mplayer_depth == mplayer_depth)
- {
- vo_dga_modes[i].vdm_supported = 1;
- vo_dga_modes[i].vdm_hw_mode = i;
- return i;
- }
- }
- return 0;
-}
-
-// do we support this mode? (not important whether native or conversion)
-static int vd_ModeValid(int mplayer_depth)
-{
- int i;
-
- if (mplayer_depth == 0)
- return 0;
- for (i = 1; i < vo_dga_mode_num; i++)
- {
- if (vo_dga_modes[i].vdm_mplayer_depth == mplayer_depth &&
- vo_dga_modes[i].vdm_supported != 0)
- {
- return i;
- }
- }
- return 0;
-}
-
-static char *vd_GetModeString(int index)
-{
-
-#define VO_DGA_MAX_STRING_LEN 100
- static char stringbuf[VO_DGA_MAX_STRING_LEN];
-
- stringbuf[VO_DGA_MAX_STRING_LEN - 1] = 0;
- snprintf(stringbuf, VO_DGA_MAX_STRING_LEN - 2,
- "depth=%d, bpp=%d, r=%06x, g=%06x, b=%06x, %s (-bpp %d)",
- vo_dga_modes[index].vdm_depth,
- vo_dga_modes[index].vdm_bitspp,
- vo_dga_modes[index].vdm_rmask,
- vo_dga_modes[index].vdm_gmask,
- vo_dga_modes[index].vdm_bmask,
- vo_dga_modes[index].
- vdm_supported ? "native" : "not supported",
- vo_dga_modes[index].vdm_mplayer_depth);
- return stringbuf;
-}
-
-//-----------------------------------------------------------------
-
-#if defined(CONFIG_XF86VM) && !defined(CONFIG_DGA2)
-static XF86VidModeModeInfo **vo_dga_vidmodes = NULL;
-#endif
-
-
-static int vo_dga_src_format;
-static int vo_dga_width; // bytes per line in framebuffer
-static int vo_dga_vp_width; // visible pixels per line in
-
- // framebuffer
-static int vo_dga_vp_height; // visible lines in framebuffer
-static int vo_dga_is_running = 0;
-static int vo_dga_src_width; // width of video in pixels
-static int vo_dga_src_height; // height of video in pixels
-static int vo_dga_src_offset = 0; // offset in src
-static int vo_dga_vp_offset = 0; // offset in dest
-static int vo_dga_bytes_per_line; // bytes per line to copy
-static int vo_dga_vp_skip; // dto. for dest
-static int vo_dga_lines; // num of lines to copy
-static int vo_dga_hw_mode = 0; // index in mode list that is actually
-
- // used by framebuffer
-static int vo_dga_src_mode = 0; // index in mode list that is used by
-
- // codec
-static int vo_dga_XServer_mode = 0; // index in mode list for resolution
-
-#ifdef CONFIG_DGA2
-static XDGAMode *vo_modelines;
-static int vo_modecount;
-#endif
-
-#define MAX_NR_VIDEO_BUFFERS 3
-
-#define CURRENT_VIDEO_BUFFER \
- (vo_dga_video_buffer[vo_dga_current_video_buffer])
-
-static int vo_dga_nr_video_buffers; // Total number of frame buffers.
-static int vo_dga_current_video_buffer; // Buffer available for rendering.
-
-static struct video_buffer
-{
- int y;
- uint8_t *data;
-} vo_dga_video_buffer[MAX_NR_VIDEO_BUFFERS];
-
-/* saved src and dst dimensions for SwScaler */
-static unsigned int scale_srcW = 0,
- scale_dstW = 0, scale_srcH = 0, scale_dstH = 0;
-
-//---------------------------------------------------------
-
-static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src,
- unsigned char *srca, int stride)
-{
-
- char *d;
- unsigned int offset;
- int buffer_stride;
-
- offset = vo_dga_width * y0 + x0;
- buffer_stride = vo_dga_width;
- d = CURRENT_VIDEO_BUFFER.data + vo_dga_vp_offset;
-
- switch (HW_MODE.vdm_mplayer_depth)
- {
-
- case 32:
- vo_draw_alpha_rgb32(w, h, src, srca, stride, d + 4 * offset,
- 4 * buffer_stride);
- break;
- case 24:
- vo_draw_alpha_rgb24(w, h, src, srca, stride, d + 3 * offset,
- 3 * buffer_stride);
- break;
- case 15:
- vo_draw_alpha_rgb15(w, h, src, srca, stride, d + 2 * offset,
- 2 * buffer_stride);
- break;
- case 16:
- vo_draw_alpha_rgb16(w, h, src, srca, stride, d + 2 * offset,
- 2 * buffer_stride);
- break;
- }
-}
-
-
-//---------------------------------------------------------
-
-
-
-
-// quick & dirty - for debugging only
-#if 0
-static void fillblock(char *strt, int yoff, int lines, int val)
-{
- char *i;
-
- for (i = strt + yoff * vo_dga_width * HW_MODE.vdm_bytespp;
- i < strt + (lines + yoff) * vo_dga_width * HW_MODE.vdm_bytespp;)
- {
- *i++ = val;
- }
-}
-#endif
-
-//---------------------------------------------------------
-
-static int draw_frame(uint8_t * src[])
-{
-
- int numlines = vo_dga_lines;
-
- char *s, *d;
-
- s = *src;
- d = CURRENT_VIDEO_BUFFER.data + vo_dga_vp_offset;
-
- mem2agpcpy_pic(d, s,
- vo_dga_bytes_per_line,
- numlines,
- vo_dga_bytes_per_line + vo_dga_vp_skip,
- vo_dga_bytes_per_line);
-
- // DBG-COde
-
-#if 0
- d = CURRENT_VIDEO_BUFFER.data + vo_dga_vp_offset;
- fillblock(d, 0, 10, 0x800000ff);
- fillblock(d, 10, 10, 0x8000ff00);
- fillblock(d, 20, 10, 0x80ff0000);
- fillblock(d, 30, 10, 0xff0000ff);
- fillblock(d, 40, 10, 0x800000ff);
- fillblock(d, 50, 10, 0x0f0000ff);
-#endif
- return 0;
-}
-
-//---------------------------------------------------------
-
-static void check_events(void)
-{
- vo_x11_check_events(mDisplay);
-}
-
-//---------------------------------------------------------
-
-#include "sub/sub.h"
-
-static void draw_osd(void)
-{
- vo_draw_text(vo_dga_src_width, vo_dga_src_height, draw_alpha);
-}
-
-static void switch_video_buffers(void)
-{
- vo_dga_current_video_buffer =
- (vo_dga_current_video_buffer + 1) % vo_dga_nr_video_buffers;
-}
-
-static void flip_page(void)
-{
- if (1 < vo_dga_nr_video_buffers)
- {
-#ifdef CONFIG_DGA2
- XDGASetViewport(mDisplay, mScreen,
- 0, CURRENT_VIDEO_BUFFER.y, XDGAFlipRetrace);
-#else
- XF86DGASetViewPort(mDisplay, mScreen, 0, CURRENT_VIDEO_BUFFER.y);
-#endif
- switch_video_buffers();
- }
-}
-
-//---------------------------------------------------------
-
-static int draw_slice(uint8_t * src[], int stride[],
- int w, int h, int x, int y)
-{
- return 0;
-};
-
-//---------------------------------------------------------
-
-static int query_format(uint32_t format)
-{
-
- if ((format & IMGFMT_BGR_MASK) == IMGFMT_BGR &&
- vd_ModeValid(format & 0xff))
- {
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_OSD;
- }
-
- return 0;
-}
-
-//---------------------------------------------------------
-
-static void uninit(void)
-{
-
-#ifdef CONFIG_DGA2
- XDGADevice *dgadevice;
-#endif
-
- if (!vo_config_count)
- return;
-
- if (vo_dga_is_running)
- {
- vo_dga_is_running = 0;
- mp_msg(MSGT_VO, MSGL_V, "vo_dga: in uninit\n");
- if (vo_grabpointer)
- XUngrabPointer(mDisplay, CurrentTime);
- XUngrabKeyboard(mDisplay, CurrentTime);
-#ifdef CONFIG_DGA2
- XDGACloseFramebuffer(mDisplay, mScreen);
- dgadevice = XDGASetMode(mDisplay, mScreen, 0);
- if (dgadevice != NULL)
- {
- XFree(dgadevice);
- }
-#else
- XF86DGADirectVideo(mDisplay, mScreen, 0);
- // first disable DirectVideo and then switch mode back!
-#ifdef CONFIG_XF86VM
- if (vo_dga_vidmodes != NULL)
- {
- int screen;
-
- screen = XDefaultScreen(mDisplay);
- mp_msg(MSGT_VO, MSGL_V,
- "vo_dga: VidModeExt: Switching back..\n");
- // seems some graphics adaptors need this more than once ...
- XF86VidModeSwitchToMode(mDisplay, screen, vo_dga_vidmodes[0]);
- XF86VidModeSwitchToMode(mDisplay, screen, vo_dga_vidmodes[0]);
- XF86VidModeSwitchToMode(mDisplay, screen, vo_dga_vidmodes[0]);
- XF86VidModeSwitchToMode(mDisplay, screen, vo_dga_vidmodes[0]);
- XFree(vo_dga_vidmodes);
- }
-#endif
-#endif
- }
- vo_x11_uninit();
-}
-
-
-//----------------------------------------------------------
-// TODO: check for larger maxy value
-// (useful for double buffering!!!)
-
-static int check_res(int num, int x, int y, int bpp,
- int new_x, int new_y, int new_vbi, int new_maxy,
- int *old_x, int *old_y, int *old_vbi, int *old_maxy)
-{
-
- mp_msg(MSGT_VO, MSGL_V,
- "vo_dga: (%3d) Trying %4d x %4d @ %3d Hz @ depth %2d ..", num,
- new_x, new_y, new_vbi, bpp);
- mp_msg(MSGT_VO, MSGL_V, "(old: %dx%d@%d).", *old_x, *old_y, *old_vbi);
- if ((new_x >= x) && (new_y >= y) && (
- // prefer a better resolution either in X or in Y
- // as long as the other dimension is at least the same
- //
- // hmm ... MAYBE it would be more clever to focus on the
- // x-resolution; I had 712x400 and 640x480 and the movie
- // was 640x360; 640x480 would be the 'right thing' here
- // but since 712x400 was queried first I got this one.
- // I think there should be a cmd-line switch to let the
- // user choose the mode he likes ... (acki2)
- (((new_x < *old_x) &&
- !(new_y > *old_y)) ||
- ((new_y < *old_y) &&
- !(new_x > *old_x)))
- // but if we get an identical resolution choose
- // the one with the lower refreshrate (saves bandwidth !!!)
- // as long as it's above 50 Hz (acki2 on 30/3/2001)
- ||
- (((new_x == *old_x) &&
- (new_y == *old_y) &&
- ((new_vbi >= *old_vbi
- && *old_vbi < 50)
- || (*old_vbi >= 50
- && new_vbi < *old_vbi
- && new_vbi >= 50))) ||
- // if everything is equal, then use the mode with the lower
- // stride
- ((new_x == *old_x) &&
- (new_y == *old_y) &&
- (new_vbi == *old_vbi) &&
- (new_maxy > *old_maxy)))))
- {
- *old_x = new_x;
- *old_y = new_y;
- *old_maxy = new_maxy;
- *old_vbi = new_vbi;
- mp_msg(MSGT_VO, MSGL_V, ".ok!!\n");
- return 1;
- } else
- {
- mp_msg(MSGT_VO, MSGL_V, ".no\n");
- return 0;
- }
-}
-
-
-
-//---------------------------------------------------------
-
-static void init_video_buffers(uint8_t * buffer_base,
- int view_port_height,
- int bytes_per_scanline,
- int max_view_port_y,
- int use_multiple_buffers)
-{
- int bytes_per_buffer = view_port_height * bytes_per_scanline;
- int i;
-
- if (use_multiple_buffers)
- vo_dga_nr_video_buffers = max_view_port_y / view_port_height;
- else
- vo_dga_nr_video_buffers = 1;
-
- if (vo_dga_nr_video_buffers > MAX_NR_VIDEO_BUFFERS)
- vo_dga_nr_video_buffers = MAX_NR_VIDEO_BUFFERS;
- if (vo_dga_nr_video_buffers <= 0)
- vo_dga_nr_video_buffers = 1;
-
- vo_dga_current_video_buffer = 0;
-
- for (i = 0; i < vo_dga_nr_video_buffers; i++)
- {
- vo_dga_video_buffer[i].y = i * view_port_height;
- vo_dga_video_buffer[i].data = buffer_base + i * bytes_per_buffer;
-
- // Clear video buffer.
- memset(vo_dga_video_buffer[i].data, 0, bytes_per_buffer);
- }
-}
-
-static int config(uint32_t width, uint32_t height,
- uint32_t d_width, uint32_t d_height,
- uint32_t flags, char *title, uint32_t format)
-{
-
- int x_off, y_off;
- int wanted_width, wanted_height;
-
- static unsigned char *vo_dga_base;
- static int prev_width, prev_height;
-
-#ifdef CONFIG_DGA2
- // needed to change DGA video mode
- int mX = VO_DGA_INVALID_RES, mY = VO_DGA_INVALID_RES, mVBI =
- 100000, mMaxY = 0, i, j = 0;
- int dga_modenum;
- XDGAMode *modeline;
- XDGADevice *dgadevice;
-#else
-#ifdef CONFIG_XF86VM
- unsigned int vm_event, vm_error;
- unsigned int vm_ver, vm_rev;
- int i, j = 0, have_vm = 0;
- int mX = VO_DGA_INVALID_RES, mY = VO_DGA_INVALID_RES, mVBI =
- 100000, mMaxY = 0, dga_modenum;
-#endif
- int bank, ram;
-#endif
-
- vo_dga_src_format = format;
-
- wanted_width = d_width;
- wanted_height = d_height;
-
- if (!wanted_height)
- wanted_height = height;
- if (!wanted_width)
- wanted_width = width;
-
- if (!vo_dbpp)
- {
- if ((format & IMGFMT_BGR_MASK) == IMGFMT_BGR)
- {
- vo_dga_src_mode = vd_ModeValid(format & 0xff);
- }
- } else
- {
- vo_dga_src_mode = vd_ModeValid(vo_dbpp);
- }
- vo_dga_hw_mode = SRC_MODE.vdm_hw_mode;
-
- if (!vo_dga_src_mode)
- {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: unsupported video format!\n");
- return 1;
- }
-
- vo_dga_vp_width = vo_screenwidth;
- vo_dga_vp_height = vo_screenheight;
-
- mp_msg(MSGT_VO, MSGL_V, "vo_dga: XServer res: %dx%d\n",
- vo_dga_vp_width, vo_dga_vp_height);
-
-// choose a suitable mode ...
-
-#ifdef CONFIG_DGA2
-// Code to change the video mode added by Michael Graffam
-// mgraffam at idsi.net
-
- mp_msg(MSGT_VO, MSGL_V, "vo_dga: vo_modelines=%p, vo_modecount=%d\n",
- vo_modelines, vo_modecount);
-
- if (vo_modelines == NULL)
- {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_dga: can't get modelines\n");
- return 1;
- }
-
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: DGA 2.0 available :-) Can switch resolution AND depth!\n");
- for (i = 0; i < vo_modecount; i++)
- {
- if (vd_ModeEqual(vo_modelines[i].depth,
- vo_modelines[i].bitsPerPixel,
- vo_modelines[i].redMask,
- vo_modelines[i].greenMask,
- vo_modelines[i].blueMask, vo_dga_hw_mode))
- {
-
- mp_msg(MSGT_VO, MSGL_V, "maxy: %4d, depth: %2d, %4dx%4d, ",
- vo_modelines[i].maxViewportY, vo_modelines[i].depth,
- vo_modelines[i].imageWidth,
- vo_modelines[i].imageHeight);
- if (check_res
- (i, wanted_width, wanted_height, vo_modelines[i].depth,
- vo_modelines[i].viewportWidth,
- vo_modelines[i].viewportHeight,
- (unsigned) vo_modelines[i].verticalRefresh,
- vo_modelines[i].maxViewportY, &mX, &mY, &mVBI, &mMaxY))
- j = i;
- }
- }
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: Selected hardware mode %4d x %4d @ %3d Hz @ depth %2d, bitspp %2d.\n",
- mX, mY, mVBI, HW_MODE.vdm_depth, HW_MODE.vdm_bitspp);
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: Video parameters by codec: %3d x %3d, depth %2d, bitspp %2d.\n",
- width, height, SRC_MODE.vdm_depth, SRC_MODE.vdm_bitspp);
- vo_dga_vp_width = mX;
- vo_dga_vp_height = mY;
-
- if ((flags & VOFLAG_SWSCALE) || (flags & VOFLAG_FULLSCREEN))
- { /* -zoom or -fs */
- scale_dstW = (d_width + 7) & ~7;
- scale_dstH = d_height;
- scale_srcW = width;
- scale_srcH = height;
- aspect_save_screenres(mX, mY);
- aspect_save_orig(scale_srcW, scale_srcH);
- aspect_save_prescale(scale_dstW, scale_dstH);
- if (flags & VOFLAG_FULLSCREEN) /* -fs */
- aspect(&scale_dstW, &scale_dstH, A_ZOOM);
- else if (flags & VOFLAG_SWSCALE) /* -fs */
- aspect(&scale_dstW, &scale_dstH, A_NOZOOM);
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: Aspect corrected size for SwScaler: %4d x %4d.\n",
- scale_dstW, scale_dstH);
- /* XXX this is a hack, but I'm lazy ;-) :: atmos */
- width = scale_dstW;
- height = scale_dstH;
- }
-
- vo_dga_width = vo_modelines[j].bytesPerScanline / HW_MODE.vdm_bytespp;
- dga_modenum = vo_modelines[j].num;
- modeline = vo_modelines + j;
-
-#else
-
-#ifdef CONFIG_XF86VM
-
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: DGA 1.0 compatibility code: Using XF86VidMode for mode switching!\n");
-
- if (XF86VidModeQueryExtension(mDisplay, &vm_event, &vm_error))
- {
- XF86VidModeQueryVersion(mDisplay, &vm_ver, &vm_rev);
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: XF86VidMode Extension v%i.%i\n", vm_ver, vm_rev);
- have_vm = 1;
- } else
- {
- mp_msg(MSGT_VO, MSGL_ERR,
- "vo_dga: XF86VidMode Extension not available.\n");
- }
-
-#define GET_VREFRESH(dotclk, x, y)( (((dotclk)/(x))*1000)/(y) )
-
- if (have_vm)
- {
- int modecount;
-
- XF86VidModeGetAllModeLines(mDisplay, mScreen, &modecount,
- &vo_dga_vidmodes);
-
- if (vo_dga_vidmodes != NULL)
- {
- for (i = 0; i < modecount; i++)
- {
- if (check_res(i, wanted_width, wanted_height,
- vo_dga_modes[vo_dga_hw_mode].vdm_depth,
- vo_dga_vidmodes[i]->hdisplay,
- vo_dga_vidmodes[i]->vdisplay,
- GET_VREFRESH(vo_dga_vidmodes[i]->dotclock,
- vo_dga_vidmodes[i]->htotal,
- vo_dga_vidmodes[i]->vtotal),
- 0, &mX, &mY, &mVBI, &mMaxY))
- j = i;
- }
-
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: Selected video mode %4d x %4d @ %3d Hz @ depth %2d, bitspp %2d, video %3d x %3d.\n",
- mX, mY, mVBI,
- vo_dga_modes[vo_dga_hw_mode].vdm_depth,
- vo_dga_modes[vo_dga_hw_mode].vdm_bitspp, width, height);
- } else
- {
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: XF86VidMode returned no screens - using current resolution.\n");
- }
- dga_modenum = j;
- vo_dga_vp_width = mX;
- vo_dga_vp_height = mY;
- }
-
-#else
- mp_msg(MSGT_VO, MSGL_INFO,
- "vo_dga: Only have DGA 1.0 extension and no XF86VidMode :-(\n");
- mp_msg(MSGT_VO, MSGL_INFO,
- " Thus, resolution switching is NOT possible.\n");
-
-#endif
-#endif
-
- vo_dga_src_width = width;
- vo_dga_src_height = height;
-
- if (vo_dga_src_width > vo_dga_vp_width ||
- vo_dga_src_height > vo_dga_vp_height)
- {
- mp_msg(MSGT_VO, MSGL_ERR,
- "vo_dga: Sorry, video larger than viewport is not yet supported!\n");
- // ugly, do something nicer in the future ...
-#ifndef CONFIG_DGA2
-#ifdef CONFIG_XF86VM
- if (vo_dga_vidmodes)
- {
- XFree(vo_dga_vidmodes);
- vo_dga_vidmodes = NULL;
- }
-#endif
-#endif
- return 1;
- }
-
- if (vo_dga_vp_width == VO_DGA_INVALID_RES)
- {
- mp_msg(MSGT_VO, MSGL_ERR,
- "vo_dga: Something is wrong with your DGA. There doesn't seem to be a\n"
- " single suitable mode!\n"
- " Please file a bug report (see DOCS/HTML/en/bugreports.html)\n");
-#ifndef CONFIG_DGA2
-#ifdef CONFIG_XF86VM
- if (vo_dga_vidmodes)
- {
- XFree(vo_dga_vidmodes);
- vo_dga_vidmodes = NULL;
- }
-#endif
-#endif
- return 1;
- }
-// now let's start the DGA thing
-
- if (!vo_config_count || width != prev_width || height != prev_height)
- {
-#ifdef CONFIG_DGA2
-
- if (!XDGAOpenFramebuffer(mDisplay, mScreen))
- {
- mp_msg(MSGT_VO, MSGL_ERR,
- "vo_dga: Framebuffer mapping failed!!!\n");
- return 1;
- }
-
- dgadevice = XDGASetMode(mDisplay, mScreen, dga_modenum);
- XDGASync(mDisplay, mScreen);
-
- vo_dga_base = dgadevice->data;
- XFree(dgadevice);
-
- XDGASetViewport(mDisplay, mScreen, 0, 0, XDGAFlipRetrace);
-
-#else
-
-#ifdef CONFIG_XF86VM
- if (have_vm)
- {
- XF86VidModeLockModeSwitch(mDisplay, mScreen, 0);
- // Two calls are needed to switch modes on my ATI Rage 128. Why?
- // for riva128 one call is enough!
- XF86VidModeSwitchToMode(mDisplay, mScreen,
- vo_dga_vidmodes[dga_modenum]);
- XF86VidModeSwitchToMode(mDisplay, mScreen,
- vo_dga_vidmodes[dga_modenum]);
- }
-#endif
-
- XF86DGAGetViewPortSize(mDisplay, mScreen,
- &vo_dga_vp_width, &vo_dga_vp_height);
-
- XF86DGAGetVideo(mDisplay, mScreen,
- (char **) &vo_dga_base, &vo_dga_width, &bank,
- &ram);
-
- XF86DGADirectVideo(mDisplay, mScreen,
- XF86DGADirectGraphics | XF86DGADirectMouse |
- XF86DGADirectKeyb);
-
- XF86DGASetViewPort(mDisplay, mScreen, 0, 0);
-
-#endif
- }
- // do some more checkings here ...
-
- mp_msg(MSGT_VO, MSGL_V,
- "vo_dga: bytes/line: %d, screen res: %dx%d, depth: %d, base: %p, bpp: %d\n",
- vo_dga_width, vo_dga_vp_width, vo_dga_vp_height,
- HW_MODE.vdm_bytespp, vo_dga_base, HW_MODE.vdm_bitspp);
-
- x_off = (vo_dga_vp_width - vo_dga_src_width) >> 1;
- y_off = (vo_dga_vp_height - vo_dga_src_height) >> 1;
-
- vo_dga_bytes_per_line = vo_dga_src_width * HW_MODE.vdm_bytespp;
- vo_dga_lines = vo_dga_src_height;
-
- vo_dga_src_offset = 0;
- vo_dga_vp_offset =
- (y_off * vo_dga_width + x_off) * HW_MODE.vdm_bytespp;
-
- vo_dga_vp_skip = (vo_dga_width - vo_dga_src_width) * HW_MODE.vdm_bytespp; // todo
-
- mp_msg(MSGT_VO, MSGL_V, "vo_dga: vp_off=%d, vp_skip=%d, bpl=%d\n",
- vo_dga_vp_offset, vo_dga_vp_skip, vo_dga_bytes_per_line);
-
-
- XGrabKeyboard(mDisplay, DefaultRootWindow(mDisplay), True,
- GrabModeAsync, GrabModeAsync, CurrentTime);
- if (vo_grabpointer)
- XGrabPointer(mDisplay, DefaultRootWindow(mDisplay), True,
- ButtonPressMask, GrabModeAsync, GrabModeAsync,
- None, None, CurrentTime);
-
- if (!vo_config_count || width != prev_width || height != prev_height)
- {
- init_video_buffers(vo_dga_base,
- vo_dga_vp_height,
- vo_dga_width * HW_MODE.vdm_bytespp,
-#ifdef CONFIG_DGA2
- modeline->maxViewportY,
-#else
- vo_dga_vp_height,
-#endif
- vo_doublebuffering);
- prev_width = width;
- prev_height = height;
- }
-
- mp_msg(MSGT_VO, MSGL_V, "vo_dga: Using %d frame buffer%s.\n",
- vo_dga_nr_video_buffers,
- vo_dga_nr_video_buffers == 1 ? "" : "s");
-
- vo_dga_is_running = 1;
- return 0;
-}
-
-static int dga_depths_init = 0;
-
-static int preinit(const char *arg)
-{
- if (arg)
- {
- mp_msg(MSGT_VO, MSGL_INFO, "vo_dga: Unknown subdevice: %s\n", arg);
- return ENOSYS;
- }
-
- if (!vo_init())
- return -1; // Can't open X11
-
- if (dga_depths_init == 0)
- { // FIXME!?
- int i;
-
- vo_dga_XServer_mode = vd_ValidateMode(vo_depthonscreen);
-
- if (vo_dga_XServer_mode == 0)
- {
-#ifndef CONFIG_DGA2
- mp_msg(MSGT_VO, MSGL_ERR,
- "vo_dga: Your X-Server is not running in a ");
- mp_msg(MSGT_VO, MSGL_ERR,
- "resolution supported by DGA driver!\n");
-#endif
- } //else{
- // mp_msg(MSGT_VO, MSGL_V, "vo_dga: X running at: %s\n",
- // vd_GetModeString(vo_dga_XServer_mode));
- //}
-
-#ifdef CONFIG_DGA2
- vo_modelines = XDGAQueryModes(mDisplay, mScreen, &vo_modecount);
- if (vo_modelines)
- {
- for (i = 0; i < vo_modecount; i++)
- {
- mp_msg(MSGT_VO, MSGL_V,
- "vo_dga: (%03d) depth=%d, bpp=%d, r=%08lx, g=%08lx, b=%08lx, %d x %d\n",
- i, vo_modelines[i].depth,
- vo_modelines[i].bitsPerPixel,
- vo_modelines[i].redMask, vo_modelines[i].greenMask,
- vo_modelines[i].blueMask,
- vo_modelines[i].viewportWidth,
- vo_modelines[i].viewportHeight);
- vd_EnableMode(vo_modelines[i].depth,
- vo_modelines[i].bitsPerPixel,
- vo_modelines[i].redMask,
- vo_modelines[i].greenMask,
- vo_modelines[i].blueMask);
- }
- }
-#endif
- dga_depths_init = 1;
-
- if (!vo_dga_modes[1].vdm_supported
- && vo_dga_modes[2].vdm_supported)
- {
- vo_dga_modes[1].vdm_supported = 1;
- }
-
- if (!vo_dga_modes[3].vdm_supported
- && vo_dga_modes[4].vdm_supported)
- {
- vo_dga_modes[3].vdm_supported = 1;
- }
-
- for (i = 1; i < vo_dga_mode_num; i++)
- {
- mp_msg(MSGT_VO, MSGL_INFO, "vo_dga: Mode: %s",
- vd_GetModeString(i));
- if (vo_dbpp && vo_dbpp != vo_dga_modes[i].vdm_mplayer_depth)
- {
- vo_dga_modes[i].vdm_supported = 0;
- mp_msg(MSGT_VO, MSGL_INFO, " ...disabled by -bpp %d",
- vo_dbpp);
- }
- mp_msg(MSGT_VO, MSGL_INFO, "\n");
- }
- }
-
- return 0;
-}
-
-static uint32_t get_image(mp_image_t * mpi)
-{
- if (!IMGFMT_IS_BGR(mpi->imgfmt) ||
- (IMGFMT_BGR_DEPTH(mpi->imgfmt) !=
- vo_dga_modes[vo_dga_hw_mode].vdm_mplayer_depth)
- || (mpi->type == MP_IMGTYPE_STATIC && vo_dga_nr_video_buffers > 1)
- || (mpi->type == MP_IMGTYPE_IP && vo_dga_nr_video_buffers < 2)
- || (mpi->type == MP_IMGTYPE_IPB))
- return VO_FALSE;
-
- if ((mpi->flags & MP_IMGFLAG_ACCEPT_STRIDE) ||
- (mpi->flags & MP_IMGFLAG_ACCEPT_WIDTH &&
- ((vo_dga_bytes_per_line + vo_dga_vp_skip) % (mpi->bpp / 8)) == 0)
- || (mpi->width * (mpi->bpp / 8) ==
- (vo_dga_bytes_per_line + vo_dga_vp_skip)))
- {
-
- mpi->planes[0] = CURRENT_VIDEO_BUFFER.data + vo_dga_vp_offset;
- mpi->stride[0] = vo_dga_bytes_per_line + vo_dga_vp_skip;
- mpi->width =
- (vo_dga_bytes_per_line + vo_dga_vp_skip) / (mpi->bpp / 8);
- mpi->flags |= MP_IMGFLAG_DIRECT;
- return VO_TRUE;
- }
-
- return VO_FALSE;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request)
- {
- case VOCTRL_GET_IMAGE:
- return get_image(data);
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t *) data));
- }
- return VO_NOTIMPL;
-}
-
-//---------------------------------------------------------
diff --git a/libvo/vo_direct3d.c b/libvo/vo_direct3d.c
index 2fb40d0..869cfe7 100644
--- a/libvo/vo_direct3d.c
+++ b/libvo/vo_direct3d.c
@@ -30,7 +30,6 @@
#include "aspect.h"
#include "w32_common.h"
#include "libavutil/common.h"
-#include "sub/font_load.h"
#include "sub/sub.h"
static const vo_info_t info =
@@ -505,10 +504,6 @@ static int resize_d3d(void)
calc_fs_rect();
-#ifdef CONFIG_FREETYPE
- // font needs to be adjusted
- force_load_font = 1;
-#endif
// OSD needs to be drawn fresh for new size
vo_osd_changed(OSDTYPE_OSD);
diff --git a/libvo/vo_directfb2.c b/libvo/vo_directfb2.c
index d21c9e3..b50adba 100644
--- a/libvo/vo_directfb2.c
+++ b/libvo/vo_directfb2.c
@@ -1279,7 +1279,7 @@ static uint32_t put_image(mp_image_t *mpi){
p = FFMIN(mpi->w, pitch);
- src = mpi->planes[0]+mpi->y*mpi->stride[0]+mpi->x;
+ src = mpi->planes[0];
for (i=0;i<mpi->h;i++) {
fast_memcpy(dst+i*pitch,src+i*mpi->stride[0],p);
@@ -1290,14 +1290,14 @@ static uint32_t put_image(mp_image_t *mpi){
dst += pitch*height;
p = p/2;
- src = mpi->planes[2]+mpi->y*mpi->stride[2]+mpi->x/2;
+ src = mpi->planes[2];
for (i=0;i<mpi->h/2;i++) {
fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[2],p);
}
dst += pitch*height/4;
- src = mpi->planes[1]+mpi->y*mpi->stride[1]+mpi->x/2;
+ src = mpi->planes[1];
for (i=0;i<mpi->h/2;i++) {
fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[1],p);
@@ -1307,14 +1307,14 @@ static uint32_t put_image(mp_image_t *mpi){
dst += pitch*height;
p = p/2;
- src = mpi->planes[1]+mpi->y*mpi->stride[1]+mpi->x/2;
+ src = mpi->planes[1];
for (i=0;i<mpi->h/2;i++) {
fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[1],p);
}
dst += pitch*height/4;
- src = mpi->planes[2]+mpi->y*mpi->stride[2]+mpi->x/2;
+ src = mpi->planes[2];
for (i=0;i<mpi->h/2;i++) {
fast_memcpy(dst+i*pitch/2,src+i*mpi->stride[2],p);
@@ -1356,11 +1356,11 @@ static uint32_t put_image(mp_image_t *mpi){
if (frame) {
DFBCHECK (frame->Lock(frame,DSLF_WRITE,(void *)&dst,&pitch));
framelocked = 1;
- mem2agpcpy_pic(dst,mpi->planes[0] + mpi->y * mpi->stride[0] + mpi->x * (mpi->bpp >> 3) ,mpi->w * (mpi->bpp >> 3),mpi->h,pitch,mpi->stride[0]);
+ mem2agpcpy_pic(dst,mpi->planes[0] ,mpi->w * (mpi->bpp >> 3),mpi->h,pitch,mpi->stride[0]);
} else {
DFBCHECK (primary->Lock(primary,DSLF_WRITE,(void *)&dst,&pitch));
primarylocked = 1;
- mem2agpcpy_pic(dst + yoffset * pitch + xoffset * (mpi->bpp >> 3),mpi->planes[0] + mpi->y * mpi->stride[0] + mpi->x * (mpi->bpp >> 3) ,mpi->w * (mpi->bpp >> 3),mpi->h,pitch,mpi->stride[0]);
+ mem2agpcpy_pic(dst + yoffset * pitch + xoffset * (mpi->bpp >> 3),mpi->planes[0] ,mpi->w * (mpi->bpp >> 3),mpi->h,pitch,mpi->stride[0]);
};
unlock();
diff --git a/libvo/vo_directx.c b/libvo/vo_directx.c
index d504e23..c937e13 100644
--- a/libvo/vo_directx.c
+++ b/libvo/vo_directx.c
@@ -930,8 +930,8 @@ static uint32_t put_image(mp_image_t *mpi){
uint8_t *d;
uint8_t *s;
- uint32_t x = mpi->x;
- uint32_t y = mpi->y;
+ uint32_t x = 0;
+ uint32_t y = 0;
uint32_t w = mpi->w;
uint32_t h = mpi->h;
diff --git a/libvo/vo_dxr3.c b/libvo/vo_dxr3.c
deleted file mode 100644
index 8f7b471..0000000
--- a/libvo/vo_dxr3.c
+++ /dev/null
@@ -1,1321 +0,0 @@
-/*
- * DXR3/H+ video output
- *
- * Copyright (C) 2002-2003 David Holm <david at realityrift.com>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <linux/em8300.h>
-#include <sys/ioctl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/select.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <time.h>
-#include <math.h>
-
-#include "config.h"
-#include "mp_msg.h"
-#include "fastmemcpy.h"
-
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "aspect.h"
-#include "spuenc.h"
-#include "sub/sub.h"
-#ifdef CONFIG_X11
-#include "x11_common.h"
-#endif
-#include "libavutil/avstring.h"
-
-#define SPU_SUPPORT
-
-static const vo_info_t info =
-{
- "DXR3/H+ video out",
- "dxr3",
- "David Holm <dholm at iname.com>",
- ""
-};
-const LIBVO_EXTERN (dxr3)
-
-/* Resolutions and positions */
-static int v_width, v_height;
-static int s_width, s_height;
-static int osd_w, osd_h;
-static int img_format;
-
-/* Configuration values
- * Don't declare these static, they
- * should be accessible from the gui.
- */
-int dxr3_prebuf = 0;
-int dxr3_newsync = 0;
-int dxr3_overlay = 0;
-int dxr3_device_num = 0;
-int dxr3_norm = 0;
-
-#define MAX_STR_SIZE 80 /* length for the static strings */
-
-/* File descriptors */
-static int fd_control = -1;
-static int fd_video = -1;
-static int fd_spu = -1;
-static char fdv_name[MAX_STR_SIZE];
-static char fds_name[MAX_STR_SIZE];
-
-#ifdef SPU_SUPPORT
-/* on screen display/subpics */
-static char *osdpicbuf;
-static int osdpicbuf_w;
-static int osdpicbuf_h;
-static int disposd;
-static encodedata *spued;
-static encodedata *spubuf;
-#endif
-
-
-/* Static variable used in ioctl's */
-static int ioval;
-static int prev_pts;
-static int pts_offset;
-static int old_vmode = -1;
-
-
-/* Begin overlay.h */
-/*
- Simple analog overlay API for DXR3/H+ linux driver.
-
- Henrik Johansson
-*/
-
-
-/* Pattern drawing callback used by the calibration functions.
- The function is expected to:
- Clear the entire screen.
- Fill the screen with color bgcol (0xRRGGBB)
- Draw a rectangle at (xpos,ypos) of size (width,height) in fgcol (0xRRGGBB)
-*/
-
-typedef int (*pattern_drawer_cb)(int fgcol, int bgcol,
- int xpos, int ypos, int width, int height, void *arg);
-
-struct coeff {
- float k,m;
-};
-
-typedef struct {
- int dev;
-
- int xres, yres,depth;
- int xoffset,yoffset,xcorr;
- int jitter;
- int stability;
- int keycolor;
- struct coeff colcal_upper[3];
- struct coeff colcal_lower[3];
- float color_interval;
-
- pattern_drawer_cb draw_pattern;
- void *dp_arg;
-} overlay_t;
-
-
-static overlay_t *overlay_init(int dev);
-static int overlay_release(overlay_t *);
-
-static int overlay_read_state(overlay_t *o, char *path);
-static int overlay_write_state(overlay_t *o, char *path);
-
-static int overlay_set_screen(overlay_t *o, int xres, int yres, int depth);
-static int overlay_set_mode(overlay_t *o, int mode);
-static int overlay_set_attribute(overlay_t *o, int attribute, int val);
-static int overlay_set_keycolor(overlay_t *o, int color);
-static int overlay_set_window(overlay_t *o, int xpos,int ypos,int width,int height);
-static int overlay_set_bcs(overlay_t *o, int brightness, int contrast, int saturation);
-
-static int overlay_autocalibrate(overlay_t *o, pattern_drawer_cb pd, void *arg);
-static void overlay_update_params(overlay_t *o);
-static int overlay_signalmode(overlay_t *o, int mode);
-/* End overlay.h */
-
-
-#ifdef CONFIG_X11
-#define KEY_COLOR 0x80a040
-static XWindowAttributes xwin_attribs;
-static overlay_t *overlay_data;
-#endif
-
-
-/* Functions for working with the em8300's internal clock */
-/* End of internal clock functions */
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_SET_SPU_PALETTE:
- if (ioctl(fd_spu, EM8300_IOCTL_SPU_SETPALETTE, data) < 0) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Unable to load new SPU palette!\n");
- return VO_ERROR;
- }
- return VO_TRUE;
-#ifdef CONFIG_X11
- case VOCTRL_ONTOP:
- vo_x11_ontop();
- return VO_TRUE;
- case VOCTRL_FULLSCREEN:
- if (dxr3_overlay) {
- vo_x11_fullscreen();
- overlay_signalmode(overlay_data,
- vo_fs ? EM8300_OVERLAY_SIGNAL_ONLY :
- EM8300_OVERLAY_SIGNAL_WITH_VGA);
- return VO_TRUE;
- }
- return VO_FALSE;
-#endif
- case VOCTRL_RESUME:
- if (dxr3_newsync) {
- ioctl(fd_control, EM8300_IOCTL_SCR_GET, &ioval);
- pts_offset = vo_pts - (ioval << 1);
- if (pts_offset < 0) {
- pts_offset = 0;
- }
- }
-
- if (dxr3_prebuf) {
- ioval = EM8300_PLAYMODE_PLAY;
- if (ioctl(fd_control, EM8300_IOCTL_SET_PLAYMODE, &ioval) < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Unable to set playmode!\n");
- }
- }
- return VO_TRUE;
- case VOCTRL_PAUSE:
- if (dxr3_prebuf) {
- ioval = EM8300_PLAYMODE_PAUSED;
- if (ioctl(fd_control, EM8300_IOCTL_SET_PLAYMODE, &ioval) < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Unable to set playmode!\n");
- }
- }
- return VO_TRUE;
- case VOCTRL_RESET:
- if (dxr3_prebuf) {
- close(fd_video);
- fd_video = open(fdv_name, O_WRONLY);
- close(fd_spu);
- fd_spu = open(fds_name, O_WRONLY);
- fsync(fd_video);
- fsync(fd_spu);
- }
- return VO_TRUE;
- case VOCTRL_QUERY_FORMAT:
- {
- uint32_t flag = 0;
-
- if (*((uint32_t*)data) != IMGFMT_MPEGPES)
- return 0;
-
- flag = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_SPU;
- if (dxr3_prebuf)
- flag |= VFCAP_TIMER;
- return flag;
- }
- case VOCTRL_SET_EQUALIZER:
- {
- em8300_bcs_t bcs;
- struct voctrl_set_equalizer_args *args = data;
-
- if (ioctl(fd_control, EM8300_IOCTL_GETBCS, &bcs) < 0)
- return VO_FALSE;
- if (!strcasecmp(args->name, "brightness"))
- bcs.brightness = (args->value+100)*5;
- else if (!strcasecmp(args->name, "contrast"))
- bcs.contrast = (args->value+100)*5;
- else if (!strcasecmp(args->name, "saturation"))
- bcs.saturation = (args->value+100)*5;
- else return VO_FALSE;
-
- if (ioctl(fd_control, EM8300_IOCTL_SETBCS, &bcs) < 0)
- return VO_FALSE;
- return VO_TRUE;
- }
- case VOCTRL_GET_EQUALIZER:
- {
- em8300_bcs_t bcs;
- struct voctrl_get_equalizer_args *args = data;
-
- if (ioctl(fd_control, EM8300_IOCTL_GETBCS, &bcs) < 0)
- return VO_FALSE;
-
- if (!strcasecmp(args->name, "brightness"))
- *args->valueptr = (bcs.brightness/5)-100;
- else if (!strcasecmp(args->name, "contrast"))
- *args->valueptr = (bcs.contrast/5)-100;
- else if (!strcasecmp(args->name, "saturation"))
- *args->valueptr = (bcs.saturation/5)-100;
- else return VO_FALSE;
-
- return VO_TRUE;
- }
- }
- return VO_NOTIMPL;
-}
-
-void calculate_cvals(unsigned long mask, int *shift, int *prec)
-{
- /* Calculate shift and precision */
- (*shift) = 0;
- (*prec) = 0;
-
- while (!(mask & 0x1)) {
- (*shift)++;
- mask >>= 1;
- }
-
- while (mask & 0x1) {
- (*prec)++;
- mask >>= 1;
- }
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
-{
- int tmp1, tmp2, size;
- em8300_register_t reg;
-
- /* Softzoom turned on, downscale */
- /* This activates the subpicture processor, you can safely disable this and still send */
- /* broken subpics to the em8300, if it's enabled and you send broken subpics you will end */
- /* up in a lockup */
- ioval = EM8300_SPUMODE_ON;
- if (ioctl(fd_control, EM8300_IOCTL_SET_SPUMODE, &ioval) < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Unable to set subpicture mode!\n");
- uninit();
- return -1;
- }
-
- /* Set the playmode to play (just in case another app has set it to something else) */
- ioval = EM8300_PLAYMODE_PLAY;
- if (ioctl(fd_control, EM8300_IOCTL_SET_PLAYMODE, &ioval) < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Unable to set playmode!\n");
- }
-
- /* Start em8300 prebuffering and sync engine */
- reg.microcode_register = 1;
- reg.reg = 0;
- reg.val = MVCOMMAND_SYNC;
- ioctl(fd_control, EM8300_IOCTL_WRITEREG, ®);
-
- /* Clean buffer by syncing it */
- ioval = EM8300_SUBDEVICE_VIDEO;
- ioctl(fd_control, EM8300_IOCTL_FLUSH, &ioval);
- ioval = EM8300_SUBDEVICE_AUDIO;
- ioctl(fd_control, EM8300_IOCTL_FLUSH, &ioval);
-
- /* Sync the video device to make sure the buffers are empty
- * and set the playback speed to normal. Also reset the
- * em8300 internal clock.
- */
- fsync(fd_video);
- ioval = 0x900;
- ioctl(fd_control, EM8300_IOCTL_SCR_SETSPEED, &ioval);
-
- /* Store some variables statically that we need later in another scope */
- img_format = format;
- v_width = width;
- v_height = height;
-
- /* Set monitor_aspect to avoid jitter */
- monitor_aspect = (float) width / (float) height;
-
- if (ioctl(fd_control, EM8300_IOCTL_GET_VIDEOMODE, &old_vmode) < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Unable to get TV norm!\n");
- old_vmode = -1;
- }
-
- /* adjust TV norm */
- if (dxr3_norm != 0) {
- if (dxr3_norm == 5) {
- ioval = EM8300_VIDEOMODE_NTSC;
- } else if (dxr3_norm == 4) {
- ioval = EM8300_VIDEOMODE_PAL60;
- } else if (dxr3_norm == 3) {
- ioval = EM8300_VIDEOMODE_PAL;
- } else if (dxr3_norm == 2) {
- if (vo_fps > 28) {
- ioval = EM8300_VIDEOMODE_PAL60;
- } else {
- ioval = EM8300_VIDEOMODE_PAL;
- }
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Auto-selected TV norm by framerate: ");
- ioval == EM8300_VIDEOMODE_PAL60 ? mp_msg(MSGT_VO,MSGL_INFO, "PAL-60") : mp_msg(MSGT_VO,MSGL_INFO, "PAL");
- printf(".\n");
- } else {
- if (vo_fps > 28) {
- ioval = EM8300_VIDEOMODE_NTSC;
- } else {
- ioval = EM8300_VIDEOMODE_PAL;
- }
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Auto-selected TV norm by framerate: ");
- ioval == EM8300_VIDEOMODE_NTSC ? mp_msg(MSGT_VO,MSGL_INFO, "NTSC") : mp_msg(MSGT_VO,MSGL_INFO, "PAL");
- printf(".\n");
- }
-
- if (old_vmode != ioval) {
- if (ioctl(fd_control, EM8300_IOCTL_SET_VIDEOMODE, &ioval) < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Unable to set TV norm!\n");
- }
- }
- }
-
-
- /* libavcodec requires a width and height that is x|16 */
- aspect_save_orig(width, height);
- aspect_save_prescale(d_width, d_height);
- ioctl(fd_control, EM8300_IOCTL_GET_VIDEOMODE, &ioval);
- if (ioval == EM8300_VIDEOMODE_NTSC) {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Setting up for NTSC.\n");
- aspect_save_screenres(352, 240);
- } else {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Setting up for PAL/SECAM.\n");
- aspect_save_screenres(352, 288);
- }
- aspect(&s_width, &s_height, A_ZOOM);
- s_width -= s_width % 16;
- s_height -= s_height % 16;
-
- /* Try to figure out whether to use widescreen output or not */
- /* Anamorphic widescreen modes makes this a pain in the ass */
- tmp1 = abs(d_height - ((d_width / 4) * 3));
- tmp2 = abs(d_height - (int) (d_width / 2.35));
- if (tmp1 < tmp2) {
- ioval = EM8300_ASPECTRATIO_4_3;
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Setting aspect ratio to 4:3.\n");
- } else {
- ioval = EM8300_ASPECTRATIO_16_9;
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Setting aspect ratio to 16:9.\n");
- }
- ioctl(fd_control, EM8300_IOCTL_SET_ASPECTRATIO, &ioval);
-
-#ifdef SPU_SUPPORT
-#ifdef CONFIG_FREETYPE
- if (ioval == EM8300_ASPECTRATIO_16_9) {
- s_width *= d_height*1.78/s_height*(d_width*1.0/d_height)/2.35;
- } else {
- s_width *= 0.84;
- }
- //printf("VO: [dxr3] sw/sh:dw/dh ->%i,%i,%i,%i\n",s_width,s_height,d_width,d_height);
-#else
- s_width*=2;
- s_height*=2;
-#endif
-
- osdpicbuf = calloc( 1,s_width * s_height);
- if (osdpicbuf == NULL) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] out of memory\n");
- return -1;
- }
- spued = malloc(sizeof(encodedata));
- if (spued == NULL) {
- free( osdpicbuf );
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] out of memory\n");
- return -1;
- }
- spubuf = malloc(sizeof(encodedata));
- if (spubuf == NULL) {
- free( osdpicbuf );
- free( spued );
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] out of memory\n");
- return -1;
- }
- osd_w = s_width;
- osd_h = s_height;
- osdpicbuf_w = s_width;
- osdpicbuf_h = s_height;
-
- spubuf->count=0;
- pixbuf_encode_rle( 0,0,osdpicbuf_w,osdpicbuf_h - 1,osdpicbuf,osdpicbuf_w,spubuf );
-
-#endif
-
-#ifdef CONFIG_X11
- if (dxr3_overlay) {
- XVisualInfo vinfo;
- XSetWindowAttributes xswa;
- XSizeHints hint;
- unsigned long xswamask;
- Colormap cmap;
- XColor key_color;
- Window junkwindow;
- Screen *scr;
- int depth, red_shift, red_prec, green_shift, green_prec, blue_shift, blue_prec, acq_color;
- em8300_overlay_screen_t ovlscr;
- em8300_attribute_t ovlattr;
-
- vo_dx = (vo_screenwidth - d_width) / 2;
- vo_dy = (vo_screenheight - d_height) / 2;
- vo_dwidth = d_width;
- vo_dheight = d_height;
- XGetWindowAttributes(mDisplay, DefaultRootWindow(mDisplay), &xwin_attribs);
- depth = xwin_attribs.depth;
- if (depth != 15 && depth != 16 && depth != 24 && depth != 32) {
- depth = 24;
- }
- XMatchVisualInfo(mDisplay, mScreen, depth, TrueColor, &vinfo);
- vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy,
- d_width, d_height, flags,
- CopyFromParent, "Viewing Window", title);
- xswa.background_pixel = KEY_COLOR;
- xswa.border_pixel = 0;
- xswamask = CWBackPixel | CWBorderPixel;
- XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa);
-
- /* Start setting up overlay */
- XGetWindowAttributes(mDisplay, mRootWin, &xwin_attribs);
- overlay_set_screen(overlay_data, xwin_attribs.width, xwin_attribs.height, xwin_attribs.depth);
- overlay_read_state(overlay_data, NULL);
-
- /* Allocate keycolor */
- cmap = vo_x11_create_colormap(&vinfo);
- calculate_cvals(vinfo.red_mask, &red_shift, &red_prec);
- calculate_cvals(vinfo.green_mask, &green_shift, &green_prec);
- calculate_cvals(vinfo.blue_mask, &blue_shift, &blue_prec);
-
- key_color.red = ((KEY_COLOR >> 16) & 0xff) * 256;
- key_color.green = ((KEY_COLOR >> 8) & 0xff) * 256;
- key_color.blue = (KEY_COLOR & 0xff) * 256;
- key_color.pixel = (((key_color.red >> (16 - red_prec)) << red_shift) +
- ((key_color.green >> (16 - green_prec)) << green_shift) +
- ((key_color.blue >> (16 - blue_prec)) << blue_shift));
- key_color.flags = DoRed | DoGreen | DoBlue;
- if (!XAllocColor(mDisplay, cmap, &key_color)) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Unable to allocate keycolor!\n");
- return -1;
- }
-
- acq_color = ((key_color.red / 256) << 16) | ((key_color.green / 256) << 8) | key_color.blue;
- if (key_color.pixel != KEY_COLOR) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Unable to allocate exact keycolor, using closest match (0x%lx).\n", key_color.pixel);
- }
-
- /* Set keycolor and activate overlay */
- XSetWindowBackground(mDisplay, vo_window, key_color.pixel);
- XClearWindow(mDisplay, vo_window);
- overlay_set_keycolor(overlay_data, key_color.pixel);
- overlay_set_mode(overlay_data, EM8300_OVERLAY_MODE_OVERLAY);
- overlay_set_mode(overlay_data, EM8300_OVERLAY_MODE_RECTANGLE);
- }
-#endif
-
- return 0;
-}
-
-static void draw_alpha(int x, int y, int w, int h, unsigned char* src, unsigned char *srca, int srcstride)
-{
-#ifdef SPU_SUPPORT
- unsigned char *buf = &osdpicbuf[(y * osdpicbuf_w) + x];
- int by = 0;
- register int lx, ly;
- register int stride = 0;
-
- for (ly = 0; ly < h - 1; ly++)
- {
- for(lx = 0; lx < w; lx++ )
- if ( ( srca[stride + lx] )&&( src[stride + lx] >= 128 ) ) buf[by + lx] = 3;
- by+=osdpicbuf_w;
- stride+=srcstride;
- }
- pixbuf_encode_rle(x, y, osdpicbuf_w, osdpicbuf_h - 1, osdpicbuf, osdpicbuf_w, spued);
-#endif
-}
-
-extern mp_osd_obj_t* vo_osd_list;
-
-static void draw_osd(void)
-{
-#ifdef SPU_SUPPORT
- static int cleared = 0;
- int changed = 0;
-
- if ((disposd % 15) == 0)
- {
- {
- mp_osd_obj_t* obj = vo_osd_list;
- vo_update_osd( osd_w,osd_h );
- while( obj )
- {
- if ( obj->flags & OSDFLAG_VISIBLE ) { changed=1; break; }
- obj=obj->next;
- }
- }
- if ( changed )
- {
- vo_draw_text(osd_w, osd_h, draw_alpha);
- memset(osdpicbuf, 0, s_width * s_height);
- cleared=0;
- }
- else
- {
- if ( !cleared )
- {
- spued->count=spubuf->count;
- fast_memcpy( spued->data,spubuf->data,DATASIZE );
- cleared=1;
- }
- }
-
-
- /* could stand some check here to see if the subpic hasn't changed
- * as if it hasn't and we re-send it it will "blink" as the last one
- * is turned off, and the new one (same one) is turned on
- */
-/* Subpics are not stable yet =(
- expect lockups if you enable */
- write(fd_spu, spued->data, spued->count);
- }
- disposd++;
-#endif
-}
-
-
-static int draw_frame(uint8_t * src[])
-{
- vo_mpegpes_t *p = (vo_mpegpes_t *) src[0];
-
-#ifdef SPU_SUPPORT
- if (p->id == 0x20) {
- write(fd_spu, p->data, p->size);
- } else
-#endif
- write(fd_video, p->data, p->size);
- return 0;
-}
-
-static void flip_page(void)
-{
-#ifdef CONFIG_X11
- if (dxr3_overlay) {
- int event = vo_x11_check_events(mDisplay);
- if (event & VO_EVENT_RESIZE) {
- Window junkwindow;
- XGetWindowAttributes(mDisplay, vo_window, &xwin_attribs);
- XTranslateCoordinates(mDisplay, vo_window, mRootWin, -xwin_attribs.border_width, -xwin_attribs.border_width, &xwin_attribs.x, &xwin_attribs.y, &junkwindow);
- overlay_set_window(overlay_data, xwin_attribs.x, xwin_attribs.y, xwin_attribs.width, xwin_attribs.height);
- }
- if (event & VO_EVENT_EXPOSE) {
- Window junkwindow;
- XSetWindowBackground(mDisplay, vo_window, KEY_COLOR);
- XClearWindow(mDisplay, vo_window);
- XGetWindowAttributes(mDisplay, vo_window, &xwin_attribs);
- XTranslateCoordinates(mDisplay, vo_window, mRootWin, -xwin_attribs.border_width, -xwin_attribs.border_width, &xwin_attribs.x, &xwin_attribs.y, &junkwindow);
- overlay_set_window(overlay_data, xwin_attribs.x, xwin_attribs.y, xwin_attribs.width, xwin_attribs.height);
- }
- }
-#endif
-
- if (dxr3_newsync) {
- ioctl(fd_control, EM8300_IOCTL_SCR_GET, &ioval);
- ioval <<= 1;
- if (vo_pts == 0) {
- ioval = 0;
- ioctl(fd_control, EM8300_IOCTL_SCR_SET, &ioval);
- pts_offset = 0;
- } else if ((vo_pts - pts_offset) < (ioval - 7200) || (vo_pts - pts_offset) > (ioval + 7200)) {
- ioval = (vo_pts + pts_offset) >> 1;
- ioctl(fd_control, EM8300_IOCTL_SCR_SET, &ioval);
- ioctl(fd_control, EM8300_IOCTL_SCR_GET, &ioval);
- pts_offset = vo_pts - (ioval << 1);
- if (pts_offset < 0) {
- pts_offset = 0;
- }
- }
- ioval = vo_pts + pts_offset;
- ioctl(fd_video, EM8300_IOCTL_SPU_SETPTS, &ioval);
- ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &ioval);
- prev_pts = vo_pts;
- } else if (dxr3_prebuf) {
- ioctl(fd_spu, EM8300_IOCTL_SPU_SETPTS, &vo_pts);
- ioctl(fd_video, EM8300_IOCTL_VIDEO_SETPTS, &vo_pts);
- }
-}
-
-static int draw_slice(uint8_t *srcimg[], int stride[], int w, int h, int x0, int y0)
-{
- return -1;
-}
-
-static void uninit(void)
-{
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Uninitializing.\n");
-#ifdef CONFIG_X11
- if (dxr3_overlay) {
- overlay_set_mode(overlay_data, EM8300_OVERLAY_MODE_OFF);
- overlay_release(overlay_data);
-
- vo_x11_uninit();
- }
-#endif
- if (old_vmode != -1) {
- if (ioctl(fd_control, EM8300_IOCTL_SET_VIDEOMODE, &old_vmode) < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed restoring TV norm!\n");
- }
- }
-
- if (fd_video != -1) {
- close(fd_video);
- }
- if (fd_spu != -1) {
- close(fd_spu);
- }
- if (fd_control != -1) {
- close(fd_control);
- }
-#ifdef SPU_SUPPORT
- free(osdpicbuf);
- free(spued);
-#endif
-}
-
-static void check_events(void)
-{
-}
-
-static int preinit(const char *arg)
-{
- char devname[MAX_STR_SIZE];
- int fdflags = O_WRONLY;
-
- /* Parse commandline */
- while (arg) {
- if (!strncmp("prebuf", arg, 6) && !dxr3_prebuf) {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Enabling prebuffering.\n");
- dxr3_prebuf = 1;
- } else if (!strncmp("sync", arg, 4) && !dxr3_newsync) {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Using new sync engine.\n");
- dxr3_newsync = 1;
- } else if (!strncmp("overlay", arg, 7) && !dxr3_overlay) {
-#ifdef CONFIG_X11
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Using overlay.\n");
- dxr3_overlay = 1;
-#else
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Error: Overlay requires compiling with X11 libs/headers installed.\n");
-#endif
- } else if (!strncmp("norm=", arg, 5)) {
- arg += 5;
- // dxr3_norm is 0 (-> don't change norm) by default
- // but maybe someone changes this in the future
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Will set TV norm to: ");
-
- if (*arg == '5') {
- dxr3_norm = 5;
- mp_msg(MSGT_VO,MSGL_INFO, "NTSC");
- } else if (*arg == '4') {
- dxr3_norm = 4;
- mp_msg(MSGT_VO,MSGL_INFO, "PAL-60");
- } else if (*arg == '3') {
- dxr3_norm = 3;
- mp_msg(MSGT_VO,MSGL_INFO, "PAL");
- } else if (*arg == '2') {
- dxr3_norm = 2;
- mp_tmsg(MSGT_VO,MSGL_INFO, "auto-adjust to movie framerate (PAL/PAL-60)");
- } else if (*arg == '1') {
- dxr3_norm = 1;
- mp_tmsg(MSGT_VO,MSGL_INFO, "auto-adjust to movie framerate (PAL/NTSC)");
- } else if (*arg == '0') {
- dxr3_norm = 0;
- mp_tmsg(MSGT_VO,MSGL_INFO, "Use current norm.");
- } else {
- dxr3_norm = 0;
- mp_tmsg(MSGT_VO,MSGL_INFO, "Unknown norm supplied. Use current norm.");
- }
-
- mp_msg(MSGT_VO,MSGL_INFO, ".\n");
- } else if (arg[0] == '0' || arg[0] == '1' || arg[0] == '2' || arg[0] == '3') {
- dxr3_device_num = arg[0];
- }
-
- arg = strchr(arg, ':');
- if (arg) {
- arg++;
- }
- }
-
-
- /* Open the control interface */
- sprintf(devname, "/dev/em8300-%d", dxr3_device_num);
- fd_control = open(devname, fdflags);
- if (fd_control < 1) {
- /* Fall back to old naming scheme */
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Error opening %s for writing, trying /dev/em8300 instead.\n", devname);
- sprintf(devname, "/dev/em8300");
- fd_control = open(devname, fdflags);
- if (fd_control < 1) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Error opening /dev/em8300 for writing as well!\nBailing out.\n");
- return -1;
- }
- } else {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Opened: %s.\n", devname);
- }
-
- /* Open the video interface */
- sprintf(devname, "/dev/em8300_mv-%d", dxr3_device_num);
- fd_video = open(devname, fdflags);
- if (fd_video < 0) {
- /* Fall back to old naming scheme */
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Error opening %s for writing, trying /dev/em8300_mv instead.\n", devname);
- sprintf(devname, "/dev/em8300_mv");
- fd_video = open(devname, fdflags);
- if (fd_video < 0) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Error opening /dev/em8300_mv for writing as well!\nBailing out.\n");
- uninit();
- return -1;
- }
- } else {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Opened: %s.\n", devname);
- }
- strcpy(fdv_name, devname);
-
- /* Open the subpicture interface */
- sprintf(devname, "/dev/em8300_sp-%d", dxr3_device_num);
- fd_spu = open(devname, fdflags);
- if (fd_spu < 0) {
- /* Fall back to old naming scheme */
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Error opening %s for writing, trying /dev/em8300_sp instead.\n", devname);
- sprintf(devname, "/dev/em8300_sp");
- fd_spu = open(devname, fdflags);
- if (fd_spu < 0) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Error opening /dev/em8300_sp for writing as well!\nBailing out.\n");
- uninit();
- return -1;
- }
- } else {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Opened: %s.\n", devname);
- }
- strcpy(fds_name, devname);
-
-#ifdef CONFIG_X11
- if (dxr3_overlay) {
-
- /* Fucked up hack needed to enable overlay.
- * Will be removed as soon as I figure out
- * how to make it work like it should
- */
- Display *dpy;
- overlay_t *ov;
- XWindowAttributes attribs;
-
- dpy = XOpenDisplay(NULL);
- if (!dpy) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Unable to open display during overlay hack setup!\n");
- return -1;
- }
- XGetWindowAttributes(dpy, RootWindow(dpy, DefaultScreen(dpy)), &attribs);
- ov = overlay_init(fd_control);
- overlay_set_screen(ov, attribs.width, attribs.height, PlanesOfScreen(ScreenOfDisplay(dpy, 0)));
- overlay_read_state(ov, NULL);
- overlay_set_keycolor(ov, KEY_COLOR);
- overlay_set_mode(ov, EM8300_OVERLAY_MODE_OVERLAY);
- overlay_set_mode(ov, EM8300_OVERLAY_MODE_RECTANGLE);
- overlay_release(ov);
- XCloseDisplay(dpy);
- /* End of fucked up hack */
-
- /* Initialize overlay and X11 */
- overlay_data = overlay_init(fd_control);
- if (!vo_init()) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Unable to init X11!\n");
- return -1;
- }
- }
-#endif
-
- if (dxr3_newsync) {
- ioctl(fd_control, EM8300_IOCTL_SCR_GET, &ioval);
- pts_offset = vo_pts - (ioval << 1);
- if (pts_offset < 0) {
- pts_offset = 0;
- }
- }
-
- return 0;
-}
-
-/* Begin overlay.c */
-static int update_parameters(overlay_t *o)
-{
- overlay_set_attribute(o, EM9010_ATTRIBUTE_XOFFSET, o->xoffset);
- overlay_set_attribute(o, EM9010_ATTRIBUTE_YOFFSET, o->yoffset);
- overlay_set_attribute(o, EM9010_ATTRIBUTE_XCORR, o->xcorr);
- overlay_set_attribute(o, EM9010_ATTRIBUTE_STABILITY, o->stability);
- overlay_set_attribute(o, EM9010_ATTRIBUTE_JITTER, o->jitter);
- return 0;
-}
-
-static int overlay_set_attribute(overlay_t *o, int attribute, int value)
-{
- em8300_attribute_t attr;
-
- attr.attribute = attribute;
- attr.value = value;
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_SET_ATTRIBUTE, &attr)==-1)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed setting overlay attribute.\n");
- return -1;
- }
-
- return 0;
-}
-
-static overlay_t *overlay_init(int dev)
-{
- overlay_t *o;
-
- o = malloc(sizeof(overlay_t));
-
- if(!o)
- return NULL;
-
- memset(o,0,sizeof(overlay_t));
-
- o->dev = dev;
- o->xres = 1280; o->yres=1024; o->xcorr=1000;
- o->color_interval=10;
-
- return o;
-}
-
-static int overlay_release(overlay_t *o)
-{
- free(o);
- return 0;
-}
-#define TYPE_INT 1
-#define TYPE_XINT 2
-#define TYPE_COEFF 3
-#define TYPE_FLOAT 4
-
-struct lut_entry {
- char *name;
- int type;
- void *ptr;
-};
-
-static struct lut_entry *new_lookuptable(overlay_t *o)
-{
- struct lut_entry m[] = {
- {"xoffset", TYPE_INT, &o->xoffset},
- {"yoffset", TYPE_INT, &o->yoffset},
- {"xcorr", TYPE_INT, &o->xcorr},
- {"jitter", TYPE_INT, &o->jitter},
- {"stability", TYPE_INT, &o->stability},
- {"keycolor", TYPE_XINT, &o->keycolor},
- {"colcal_upper", TYPE_COEFF, &o->colcal_upper[0]},
- {"colcal_lower", TYPE_COEFF, &o->colcal_lower[0]},
- {"color_interval", TYPE_FLOAT, &o->color_interval},
- {0,0,0}
- },*p;
-
- p = malloc(sizeof(m));
- memcpy(p,m,sizeof(m));
- return p;
-}
-
-static int lookup_parameter(overlay_t *o, struct lut_entry *lut, char *name, void **ptr, int *type) {
- int i;
-
- for(i=0; lut[i].name; i++) {
- if(!strcmp(name,lut[i].name)) {
- *ptr = lut[i].ptr;
- *type = lut[i].type;
- return 1;
- }
- }
- return 0;
-}
-
-static int overlay_read_state(overlay_t *o, char *p)
-{
- char *a,*tok;
- char path[128],fname[128],tmp[128],line[256];
- FILE *fp;
- struct lut_entry *lut;
- void *ptr;
- int type;
- int j;
-
- if(!p) {
- av_strlcpy(fname, getenv("HOME"), sizeof( fname ));
- av_strlcat(fname,"/.overlay", sizeof( fname ));
- } else
- av_strlcpy(fname, p, sizeof( fname ));
-
- sprintf(tmp,"/res_%dx%dx%d",o->xres,o->yres,o->depth);
- av_strlcat(fname, tmp, sizeof( fname ));
-
- if(!(fp=fopen(fname,"r")))
- return -1;
-
- lut = new_lookuptable(o);
-
- while(!feof(fp)) {
- if(!fgets(line,256,fp))
- break;
- tok=strtok(line," ");
- if(lookup_parameter(o,lut,tok,&ptr,&type)) {
- tok=strtok(NULL," ");
- switch(type) {
- case TYPE_INT:
- sscanf(tok,"%d",(int *)ptr);
- break;
- case TYPE_XINT:
- sscanf(tok,"%x",(int *)ptr);
- break;
- case TYPE_FLOAT:
- sscanf(tok,"%f",(float *)ptr);
- break;
- case TYPE_COEFF:
- for(j=0;j<3;j++) {
- sscanf(tok,"%f",&((struct coeff *)ptr)[j].k);
- tok=strtok(NULL," ");
- sscanf(tok,"%f",&((struct coeff *)ptr)[j].m);
- tok=strtok(NULL," ");
- }
- break;
- }
-
- }
- }
-
- update_parameters(o);
-
- free(lut);
- fclose(fp);
- return 0;
-}
-
-static void overlay_update_params(overlay_t *o) {
- update_parameters(o);
-}
-
-static int overlay_write_state(overlay_t *o, char *p)
-{
- char *a;
- char path[128],fname[128],tmp[128];
- FILE *fp;
- char line[256],*tok;
- struct lut_entry *lut;
- int i,j;
-
- if(!p) {
- av_strlcpy(fname, getenv("HOME"), sizeof( fname ));
- av_strlcat(fname,"/.overlay", sizeof( fname ));
- } else
- av_strlcpy(fname, p, sizeof( fname ));
-
- if(access(fname, W_OK|X_OK|R_OK)) {
- if(mkdir(fname,0766))
- return -1;
- }
-
- sprintf(tmp,"/res_%dx%dx%d",o->xres,o->yres,o->depth);
- av_strlcat(fname, tmp, sizeof( fname ));
-
- if(!(fp=fopen(fname,"w")))
- return -1;
-
- lut = new_lookuptable(o);
-
- for(i=0; lut[i].name; i++) {
- fprintf(fp,"%s ",lut[i].name);
- switch(lut[i].type) {
- case TYPE_INT:
- fprintf(fp,"%d\n",*(int *)lut[i].ptr);
- break;
- case TYPE_XINT:
- fprintf(fp,"%06x\n",*(int *)lut[i].ptr);
- break;
- case TYPE_FLOAT:
- fprintf(fp,"%f\n",*(float *)lut[i].ptr);
- break;
- case TYPE_COEFF:
- for(j=0;j<3;j++)
- fprintf(fp,"%f %f ",((struct coeff *)lut[i].ptr)[j].k,
- ((struct coeff *)lut[i].ptr)[j].m);
- fprintf(fp,"\n");
- break;
- }
- }
-
- fclose(fp);
- return 0;
-}
-
-static int overlay_set_screen(overlay_t *o, int xres, int yres, int depth)
-{
- em8300_overlay_screen_t scr;
-
- o->xres = xres;
- o->yres = yres;
- o->depth = depth;
-
- scr.xsize = xres;
- scr.ysize = yres;
-
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_SETSCREEN, &scr)==-1)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed setting overlay screen!\nExiting.\n");
- return -1;
- }
- return 0;
-}
-
-static int overlay_set_mode(overlay_t *o, int mode)
-{
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_SETMODE, &mode)==-1) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed enabling overlay!\nExiting.\n");
- return -1;
- }
- return 0;
-}
-
-static int overlay_set_window(overlay_t *o, int xpos,int ypos,int width,int height)
-{
- em8300_overlay_window_t win;
- win.xpos = xpos;
- win.ypos = ypos;
- win.width = width;
- win.height = height;
-
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_SETWINDOW, &win)==-1)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed resizing overlay window!\n");
- return -1;
- }
- return 0;
-}
-
-static int overlay_set_bcs(overlay_t *o, int brightness, int contrast, int saturation)
-{
- em8300_bcs_t bcs;
- bcs.brightness = brightness;
- bcs.contrast = contrast;
- bcs.saturation = saturation;
-
- if (ioctl(o->dev, EM8300_IOCTL_GETBCS, &bcs)==-1)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed setting overlay bcs!\n");
- return -1;
- }
- return 0;
-}
-
-static int col_interp(float x, struct coeff c)
-{
- float y;
- y = x*c.k + c.m;
- if(y > 255)
- y = 255;
- if(y < 0)
- y = 0;
- return rint(y);
-}
-
-static int overlay_set_keycolor(overlay_t *o, int color) {
- int r = (color & 0xff0000) >> 16;
- int g = (color & 0x00ff00) >> 8;
- int b = (color & 0x0000ff);
- float ru,gu,bu;
- float rl,gl,bl;
- int upper,lower;
-
- ru = r+o->color_interval;
- gu = g+o->color_interval;
- bu = b+o->color_interval;
-
- rl = r-o->color_interval;
- gl = g-o->color_interval;
- bl = b-o->color_interval;
-
- upper = (col_interp(ru, o->colcal_upper[0]) << 16) |
- (col_interp(gu, o->colcal_upper[1]) << 8) |
- (col_interp(bu, o->colcal_upper[2]));
-
- lower = (col_interp(rl, o->colcal_lower[0]) << 16) |
- (col_interp(gl, o->colcal_lower[1]) << 8) |
- (col_interp(bl, o->colcal_lower[2]));
-
- //printf("0x%06x 0x%06x\n",upper,lower);
- overlay_set_attribute(o,EM9010_ATTRIBUTE_KEYCOLOR_UPPER,upper);
- overlay_set_attribute(o,EM9010_ATTRIBUTE_KEYCOLOR_LOWER,lower);
- return 0;
-}
-
-static void least_sq_fit(int *x, int *y, int n, float *k, float *m)
-{
- float sx=0,sy=0,sxx=0,sxy=0;
- float delta,b;
- int i;
-
- for(i=0; i < n; i++) {
- sx=sx+x[i];
- sy=sy+y[i];
- sxx=sxx+x[i]*x[i];
- sxy=sxy+x[i]*y[i];
- }
-
- delta=sxx*n-sx*sx;
-
- *m=(sxx*sy-sx*sxy)/delta;
- *k=(sxy*n-sx*sy)/delta;
-}
-
-static int overlay_autocalibrate(overlay_t *o, pattern_drawer_cb pd, void *arg)
-{
- em8300_overlay_calibrate_t cal;
- em8300_overlay_window_t win;
- int x[256],r[256],g[256],b[256],n;
- float k,m;
-
- int i;
-
- o->draw_pattern=pd;
- o->dp_arg = arg;
-
- overlay_set_mode(o, EM8300_OVERLAY_MODE_OVERLAY);
- overlay_set_screen(o, o->xres, o->yres, o->depth);
-
- /* Calibrate Y-offset */
-
- o->draw_pattern(0x0000ff, 0, 0, 0, 355, 1, o->dp_arg);
-
- cal.cal_mode = EM8300_OVERLAY_CALMODE_YOFFSET;
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_CALIBRATE, &cal))
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed getting overlay Y-offset values!\nExiting.\n");
- return -1;
- }
- o->yoffset = cal.result;
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Yoffset: %d.\n",cal.result);
-
- /* Calibrate X-offset */
-
- o->draw_pattern(0x0000ff, 0, 0, 0, 2, 288, o->dp_arg);
-
- cal.cal_mode = EM8300_OVERLAY_CALMODE_XOFFSET;
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_CALIBRATE, &cal))
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed getting overlay X-offset values!\nExiting.\n");
- return -1;
- }
- o->xoffset = cal.result;
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Xoffset: %d.\n",cal.result);
-
- /* Calibrate X scale correction */
-
- o->draw_pattern(0x0000ff, 0, 355, 0, 2, 288, o->dp_arg);
-
- cal.cal_mode = EM8300_OVERLAY_CALMODE_XCORRECTION;
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_CALIBRATE, &cal))
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed getting overlay X scale correction!\nExiting.\n");
- return -1;
- }
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_DXR3] Xcorrection: %d.\n",cal.result);
- o->xcorr = cal.result;
-
- win.xpos = 10;
- win.ypos = 10;
- win.width = o->xres-20;
- win.height = o->yres-20;
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_SETWINDOW, &win)==-1) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_DXR3] Failed resizing overlay window!\n");
- exit(1);
- }
-
- /* Calibrate key color upper limit */
-
- for(i=128,n=0; i <= 0xff; i+=4) {
- o->draw_pattern(i | (i << 8) | (i << 16), 0,
- (o->xres-200)/2,0,200,o->yres,o->dp_arg);
-
- cal.arg = i;
- cal.arg2 = 1;
- cal.cal_mode = EM8300_OVERLAY_CALMODE_COLOR;
-
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_CALIBRATE, &cal))
- {
- return -1 ;
- }
-
- x[n] = i;
- r[n] = (cal.result>>16)&0xff;
- g[n] = (cal.result>>8)&0xff;
- b[n] = (cal.result)&0xff;
- n++;
- }
-
- least_sq_fit(x,r,n,&o->colcal_upper[0].k,&o->colcal_upper[0].m);
- least_sq_fit(x,g,n,&o->colcal_upper[1].k,&o->colcal_upper[1].m);
- least_sq_fit(x,b,n,&o->colcal_upper[2].k,&o->colcal_upper[2].m);
-
- /* Calibrate key color lower limit */
-
- for(i=128,n=0; i <= 0xff; i+=4) {
- o->draw_pattern(i | (i << 8) | (i << 16), 0xffffff,
- (o->xres-200)/2,0,200,o->yres, o->dp_arg);
-
- cal.arg = i;
- cal.arg2 = 2;
- cal.cal_mode = EM8300_OVERLAY_CALMODE_COLOR;
-
- if (ioctl(o->dev, EM8300_IOCTL_OVERLAY_CALIBRATE, &cal))
- {
- return -1 ;
- }
- x[n] = i;
- r[n] = (cal.result>>16)&0xff;
- g[n] = (cal.result>>8)&0xff;
- b[n] = (cal.result)&0xff;
- n++;
- }
-
- least_sq_fit(x,r,n,&o->colcal_lower[0].k,&o->colcal_lower[0].m);
- least_sq_fit(x,g,n,&o->colcal_lower[1].k,&o->colcal_lower[1].m);
- least_sq_fit(x,b,n,&o->colcal_lower[2].k,&o->colcal_lower[2].m);
-
- overlay_set_mode(o, EM8300_OVERLAY_MODE_OFF);
-
- return 0;
-}
-
-
-static int overlay_signalmode(overlay_t *o, int mode) {
- if(ioctl(o->dev, EM8300_IOCTL_OVERLAY_SIGNALMODE, &mode) ==-1) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_DXR3] Failed to set signal mix!\n");
- return -1;
- }
- return 0;
-}
-/* End overlay.c */
diff --git a/libvo/vo_fbdev.c b/libvo/vo_fbdev.c
deleted file mode 100644
index 6d70cca..0000000
--- a/libvo/vo_fbdev.c
+++ /dev/null
@@ -1,1091 +0,0 @@
-/*
- * video driver for framebuffer device
- * copyright (C) 2001 Szabolcs Berecz <szabi at inf.elte.hu>
- *
- * Some idea and code borrowed from Chris Lawrence's ppmtofb-0.27
- * Some fixes and small improvements by Joey Parrish <joey at nicewarrior.org>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <ctype.h>
-
-#include <sys/mman.h>
-#include <sys/ioctl.h>
-#include <sys/kd.h>
-#include <linux/fb.h>
-#include <libavutil/common.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "fastmemcpy.h"
-#include "sub/sub.h"
-#include "geometry.h"
-#include "aspect.h"
-#include "mp_msg.h"
-
-static const vo_info_t info = {
- "Framebuffer Device",
- "fbdev",
- "Szabolcs Berecz <szabi at inf.elte.hu>",
- ""
-};
-
-LIBVO_EXTERN(fbdev)
-
-static signed int pre_init_err = -2;
-/******************************
- * fb.modes support *
- ******************************/
-
-static range_t *monitor_hfreq = NULL;
-static range_t *monitor_vfreq = NULL;
-static range_t *monitor_dotclock = NULL;
-
-typedef struct {
- char *name;
- uint32_t xres, yres, vxres, vyres, depth;
- uint32_t pixclock, left, right, upper, lower, hslen, vslen;
- uint32_t sync;
- uint32_t vmode;
-} fb_mode_t;
-
-#define MAX_NR_TOKEN 16
-
-#define MAX_LINE_LEN 1000
-
-#define RET_EOF -1
-#define RET_EOL -2
-
-static int validate_mode(fb_mode_t *m)
-{
- if (!m->xres) {
- mp_msg(MSGT_VO, MSGL_V, "needs geometry ");
- return 0;
- }
- if (!m->pixclock) {
- mp_msg(MSGT_VO, MSGL_V, "needs timings ");
- return 0;
- }
- return 1;
-}
-
-static FILE *fp;
-static int line_num = 0;
-static char *line;
-static char *token[MAX_NR_TOKEN];
-
-static int get_token(int num)
-{
- static int read_nextline = 1;
- static int line_pos;
- int i;
- char c;
-
- if (num >= MAX_NR_TOKEN) {
- mp_msg(MSGT_VO, MSGL_V, "get_token(): max >= MAX_NR_TOKEN!\n");
- goto out_eof;
- }
-
- if (read_nextline) {
- if (!fgets(line, MAX_LINE_LEN, fp))
- goto out_eof;
- line_pos = 0;
- ++line_num;
- read_nextline = 0;
- }
- for (i = 0; i < num; i++) {
- while (isspace(line[line_pos]))
- ++line_pos;
- if (line[line_pos] == '\0' || line[line_pos] == '#') {
- read_nextline = 1;
- goto out_eol;
- }
- token[i] = line + line_pos;
- c = line[line_pos];
- if (c == '"' || c == '\'') {
- token[i]++;
- while (line[++line_pos] != c && line[line_pos])
- /* NOTHING */;
- if (!line[line_pos])
- goto out_eol;
- line[line_pos] = ' ';
- } else {
- for (/* NOTHING */; !isspace(line[line_pos]) &&
- line[line_pos]; line_pos++)
- /* NOTHING */;
- }
- if (!line[line_pos]) {
- read_nextline = 1;
- if (i == num - 1)
- goto out_ok;
- goto out_eol;
- }
- line[line_pos++] = '\0';
- }
-out_ok:
- return i;
-out_eof:
- return RET_EOF;
-out_eol:
- return RET_EOL;
-}
-
-static fb_mode_t *fb_modes = NULL;
-static int nr_modes = 0;
-
-static int parse_fbmode_cfg(char *cfgfile)
-{
-#define CHECK_IN_MODE_DEF\
- if (!in_mode_def) {\
- mp_msg(MSGT_VO, MSGL_V, "'needs 'mode' first");\
- goto err_out_print_linenum;\
- }
- fb_mode_t *mode = NULL;
- char *endptr; // strtoul()...
- int in_mode_def = 0;
- int tmp, i;
-
- /* If called more than once, reuse parsed data */
- if (nr_modes)
- return nr_modes;
-
- mp_msg(MSGT_VO, MSGL_V, "Reading %s: ", cfgfile);
-
- if ((fp = fopen(cfgfile, "r")) == NULL) {
- mp_msg(MSGT_VO, MSGL_V, "can't open '%s': %s\n", cfgfile, strerror(errno));
- return -1;
- }
-
- if ((line = malloc(MAX_LINE_LEN + 1)) == NULL) {
- mp_msg(MSGT_VO, MSGL_V, "can't get memory for 'line': %s\n", strerror(errno));
- return -2;
- }
-
- /*
- * check if the cfgfile starts with 'mode'
- */
- while ((tmp = get_token(1)) == RET_EOL)
- /* NOTHING */;
- if (tmp == RET_EOF)
- goto out;
- if (!strcmp(token[0], "mode"))
- goto loop_enter;
- goto err_out_parse_error;
-
- while ((tmp = get_token(1)) != RET_EOF) {
- if (tmp == RET_EOL)
- continue;
- if (!strcmp(token[0], "mode")) {
- if (in_mode_def) {
- mp_msg(MSGT_VO, MSGL_V, "'endmode' required");
- goto err_out_print_linenum;
- }
- if (!validate_mode(mode))
- goto err_out_not_valid;
- loop_enter:
- if (!(fb_modes =
- realloc(fb_modes, sizeof(fb_mode_t) * (nr_modes + 1)))) {
- mp_msg(MSGT_VO, MSGL_V, "can't realloc 'fb_modes' (nr_modes = %d):"
- " %s\n", nr_modes, strerror(errno));
- goto err_out;
- }
- mode = fb_modes + nr_modes;
- ++nr_modes;
- memset(mode, 0, sizeof(fb_mode_t));
-
- if (get_token(1) < 0)
- goto err_out_parse_error;
- for (i = 0; i < nr_modes - 1; i++) {
- if (!strcmp(token[0], fb_modes[i].name)) {
- mp_msg(MSGT_VO, MSGL_V, "mode name '%s' isn't unique", token[0]);
- goto err_out_print_linenum;
- }
- }
- if (!(mode->name = strdup(token[0]))) {
- mp_msg(MSGT_VO, MSGL_V, "can't strdup -> 'name': %s\n", strerror(errno));
- goto err_out;
- }
- in_mode_def = 1;
- } else if (!strcmp(token[0], "geometry")) {
- CHECK_IN_MODE_DEF;
- if (get_token(5) < 0)
- goto err_out_parse_error;
- mode->xres = strtoul(token[0], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->yres = strtoul(token[1], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->vxres = strtoul(token[2], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->vyres = strtoul(token[3], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->depth = strtoul(token[4], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- } else if (!strcmp(token[0], "timings")) {
- CHECK_IN_MODE_DEF;
- if (get_token(7) < 0)
- goto err_out_parse_error;
- mode->pixclock = strtoul(token[0], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->left = strtoul(token[1], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->right = strtoul(token[2], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->upper = strtoul(token[3], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->lower = strtoul(token[4], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->hslen = strtoul(token[5], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- mode->vslen = strtoul(token[6], &endptr, 0);
- if (*endptr)
- goto err_out_parse_error;
- } else if (!strcmp(token[0], "endmode")) {
- CHECK_IN_MODE_DEF;
- in_mode_def = 0;
- } else if (!strcmp(token[0], "accel")) {
- CHECK_IN_MODE_DEF;
- if (get_token(1) < 0)
- goto err_out_parse_error;
- /*
- * it's only used for text acceleration
- * so we just ignore it.
- */
- } else if (!strcmp(token[0], "hsync")) {
- CHECK_IN_MODE_DEF;
- if (get_token(1) < 0)
- goto err_out_parse_error;
- if (!strcmp(token[0], "low"))
- mode->sync &= ~FB_SYNC_HOR_HIGH_ACT;
- else if (!strcmp(token[0], "high"))
- mode->sync |= FB_SYNC_HOR_HIGH_ACT;
- else
- goto err_out_parse_error;
- } else if (!strcmp(token[0], "vsync")) {
- CHECK_IN_MODE_DEF;
- if (get_token(1) < 0)
- goto err_out_parse_error;
- if (!strcmp(token[0], "low"))
- mode->sync &= ~FB_SYNC_VERT_HIGH_ACT;
- else if (!strcmp(token[0], "high"))
- mode->sync |= FB_SYNC_VERT_HIGH_ACT;
- else
- goto err_out_parse_error;
- } else if (!strcmp(token[0], "csync")) {
- CHECK_IN_MODE_DEF;
- if (get_token(1) < 0)
- goto err_out_parse_error;
- if (!strcmp(token[0], "low"))
- mode->sync &= ~FB_SYNC_COMP_HIGH_ACT;
- else if (!strcmp(token[0], "high"))
- mode->sync |= FB_SYNC_COMP_HIGH_ACT;
- else
- goto err_out_parse_error;
- } else if (!strcmp(token[0], "extsync")) {
- CHECK_IN_MODE_DEF;
- if (get_token(1) < 0)
- goto err_out_parse_error;
- if (!strcmp(token[0], "false"))
- mode->sync &= ~FB_SYNC_EXT;
- else if (!strcmp(token[0], "true"))
- mode->sync |= FB_SYNC_EXT;
- else
- goto err_out_parse_error;
- } else if (!strcmp(token[0], "laced")) {
- CHECK_IN_MODE_DEF;
- if (get_token(1) < 0)
- goto err_out_parse_error;
- if (!strcmp(token[0], "false"))
- mode->vmode = FB_VMODE_NONINTERLACED;
- else if (!strcmp(token[0], "true"))
- mode->vmode = FB_VMODE_INTERLACED;
- else
- goto err_out_parse_error;
- } else if (!strcmp(token[0], "double")) {
- CHECK_IN_MODE_DEF;
- if (get_token(1) < 0)
- goto err_out_parse_error;
- if (!strcmp(token[0], "false"))
- ;
- else if (!strcmp(token[0], "true"))
- mode->vmode = FB_VMODE_DOUBLE;
- else
- goto err_out_parse_error;
- } else
- goto err_out_parse_error;
- }
- if (!validate_mode(mode))
- goto err_out_not_valid;
-out:
- mp_msg(MSGT_VO, MSGL_V, "%d modes\n", nr_modes);
- free(line);
- fclose(fp);
- return nr_modes;
-err_out_parse_error:
- mp_msg(MSGT_VO, MSGL_V, "parse error");
-err_out_print_linenum:
- mp_msg(MSGT_VO, MSGL_V, " at line %d\n", line_num);
-err_out:
- free(fb_modes);
- fb_modes = NULL;
- nr_modes = 0;
- free(line);
- free(fp);
- return -2;
-err_out_not_valid:
- mp_msg(MSGT_VO, MSGL_V, "previous mode is not correct");
- goto err_out_print_linenum;
-}
-
-static fb_mode_t *find_mode_by_name(char *name)
-{
- int i;
-
- for (i = 0; i < nr_modes; i++)
- if (!strcmp(name, fb_modes[i].name))
- return fb_modes + i;
- return NULL;
-}
-
-static float dcf(fb_mode_t *m) //driving clock frequency
-{
- return 1e12f / m->pixclock;
-}
-
-static float hsf(fb_mode_t *m) //horizontal scan frequency
-{
- int htotal = m->left + m->xres + m->right + m->hslen;
- return dcf(m) / htotal;
-}
-
-static float vsf(fb_mode_t *m) //vertical scan frequency
-{
- int vtotal = m->upper + m->yres + m->lower + m->vslen;
- return hsf(m) / vtotal;
-}
-
-
-static int mode_works(fb_mode_t *m, range_t *hfreq, range_t *vfreq,
- range_t *dotclock)
-{
- float h = hsf(m);
- float v = vsf(m);
- float d = dcf(m);
- int ret = 1;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "mode %dx%d:", m->xres, m->yres);
- if (!in_range(hfreq, h)) {
- ret = 0;
- mp_msg(MSGT_VO, MSGL_DBG2, " hsync out of range.");
- }
- if (!in_range(vfreq, v)) {
- ret = 0;
- mp_msg(MSGT_VO, MSGL_DBG2, " vsync out of range.");
- }
- if (!in_range(dotclock, d)) {
- ret = 0;
- mp_msg(MSGT_VO, MSGL_DBG2, " dotclock out of range.");
- }
- if (ret)
- mp_msg(MSGT_VO, MSGL_DBG2, " hsync, vsync, dotclock ok.\n");
- else
- mp_msg(MSGT_VO, MSGL_DBG2, "\n");
-
- return ret;
-}
-
-static fb_mode_t *find_best_mode(int xres, int yres, range_t *hfreq,
- range_t *vfreq, range_t *dotclock)
-{
- int i;
- fb_mode_t *best = fb_modes;
- fb_mode_t *curr;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "Searching for first working mode\n");
-
- for (i = 0; i < nr_modes; i++, best++)
- if (mode_works(best, hfreq, vfreq, dotclock))
- break;
-
- if (i == nr_modes)
- return NULL;
- if (i == nr_modes - 1)
- return best;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "First working mode: %dx%d\n", best->xres, best->yres);
- mp_msg(MSGT_VO, MSGL_DBG2, "Searching for better modes\n");
-
- for (curr = best + 1; i < nr_modes - 1; i++, curr++) {
- if (!mode_works(curr, hfreq, vfreq, dotclock))
- continue;
-
- if (best->xres < xres || best->yres < yres) {
- if (curr->xres > best->xres || curr->yres > best->yres) {
- mp_msg(MSGT_VO, MSGL_DBG2, "better than %dx%d, which is too small.\n",
- best->xres, best->yres);
- best = curr;
- } else
- mp_msg(MSGT_VO, MSGL_DBG2, "too small.\n");
- } else if (curr->xres == best->xres && curr->yres == best->yres &&
- vsf(curr) > vsf(best)) {
- mp_msg(MSGT_VO, MSGL_DBG2, "faster screen refresh.\n");
- best = curr;
- } else if ((curr->xres <= best->xres && curr->yres <= best->yres) &&
- (curr->xres >= xres && curr->yres >= yres)) {
- mp_msg(MSGT_VO, MSGL_DBG2, "better than %dx%d, which is too large.\n",
- best->xres, best->yres);
- best = curr;
- } else {
- if (curr->xres < xres || curr->yres < yres)
- mp_msg(MSGT_VO, MSGL_DBG2, "too small.\n");
- else if (curr->xres > best->xres || curr->yres > best->yres)
- mp_msg(MSGT_VO, MSGL_DBG2, "too large.\n");
- else
- mp_msg(MSGT_VO, MSGL_DBG2, "it's worse, don't know why.\n");
- }
- }
-
- return best;
-}
-
-static void set_bpp(struct fb_var_screeninfo *p, int bpp, int rgb)
-{
- p->bits_per_pixel = FFALIGN(bpp, 2);
- p->red.msb_right = p->green.msb_right = p->blue.msb_right = p->transp.msb_right = 0;
- p->transp.offset = p->transp.length = 0;
- p->blue.offset = 0;
- switch (bpp) {
- case 32:
- p->transp.offset = 24;
- p->transp.length = 8;
- case 24:
- p->red.offset = 16;
- p->red.length = 8;
- p->green.offset = 8;
- p->green.length = 8;
- p->blue.length = 8;
- break;
- case 16:
- p->red.offset = 11;
- p->green.length = 6;
- p->red.length = 5;
- p->green.offset = 5;
- p->blue.length = 5;
- break;
- case 15:
- p->red.offset = 10;
- p->green.length = 5;
- p->red.length = 5;
- p->green.offset = 5;
- p->blue.length = 5;
- break;
- case 12:
- p->red.offset = 8;
- p->green.length = 4;
- p->red.length = 4;
- p->green.offset = 4;
- p->blue.length = 4;
- break;
- }
- if (rgb) {
- p->blue.offset = p->red.offset;
- p->red.offset = 0;
- }
-}
-
-static void fb_mode2fb_vinfo(fb_mode_t *m, struct fb_var_screeninfo *v, int rgb)
-{
- v->xres = m->xres;
- v->yres = m->yres;
- v->xres_virtual = m->vxres;
- v->yres_virtual = m->vyres;
- set_bpp(v, m->depth, rgb);
- v->pixclock = m->pixclock;
- v->left_margin = m->left;
- v->right_margin = m->right;
- v->upper_margin = m->upper;
- v->lower_margin = m->lower;
- v->hsync_len = m->hslen;
- v->vsync_len = m->vslen;
- v->sync = m->sync;
- v->vmode = m->vmode;
-}
-
-
-/******************************
-* vo_fbdev *
-******************************/
-
-/* command line/config file options */
-static char *fb_dev_name = NULL;
-char *fb_mode_cfgfile = NULL;
-char *fb_mode_name = NULL;
-
-static fb_mode_t *fb_mode = NULL;
-
-/* vo_fbdev related variables */
-static int fb_dev_fd;
-static int fb_tty_fd = -1;
-static size_t fb_size;
-static uint8_t *frame_buffer;
-static uint8_t *center;
-static struct fb_fix_screeninfo fb_finfo;
-static struct fb_var_screeninfo fb_orig_vinfo;
-static struct fb_var_screeninfo fb_vinfo;
-static unsigned short fb_ored[256], fb_ogreen[256], fb_oblue[256];
-static struct fb_cmap fb_oldcmap = { 0, 256, fb_ored, fb_ogreen, fb_oblue };
-static int fb_cmap_changed = 0;
-static int fb_rgb;
-static int fb_pixel_size; // 32: 4 24: 3 16: 2 15: 2
-static int fb_bpp; // 32: 32 24: 24 16: 16 15: 15
-static int fb_bpp_we_want; // 32: 32 24: 24 16: 16 15: 15
-static int fb_line_len;
-static int fb_xres;
-static int fb_yres;
-static int fb_page;
-static void (*draw_alpha_p)(int w, int h, unsigned char *src,
- unsigned char *srca, int stride,
- unsigned char *dst, int dstride);
-
-static int in_width;
-static int in_height;
-static int out_width;
-static int out_height;
-static int first_row;
-static int last_row;
-static uint32_t pixel_format;
-static int fs;
-
-/*
- * Note: this function is completely cut'n'pasted from
- * Chris Lawrence's code.
- * (modified a bit to fit in my code...)
- */
-static struct fb_cmap *make_directcolor_cmap(struct fb_var_screeninfo *var)
-{
- /* Hopefully any DIRECTCOLOR device will have a big enough palette
- * to handle mapping the full color depth.
- * e.g. 8 bpp -> 256 entry palette
- *
- * We could handle some sort of gamma here
- */
- int i, cols, rcols, gcols, bcols;
- uint16_t *red, *green, *blue;
- struct fb_cmap *cmap;
-
- rcols = 1 << var->red.length;
- gcols = 1 << var->green.length;
- bcols = 1 << var->blue.length;
-
- /* Make our palette the length of the deepest color */
- cols = FFMAX3(rcols, gcols, bcols);
-
- red = malloc(cols * sizeof(red[0]));
- if (!red) {
- mp_msg(MSGT_VO, MSGL_V, "Can't allocate red palette with %d entries.\n", cols);
- return NULL;
- }
- for (i = 0; i < rcols; i++)
- red[i] = (65535 / (rcols - 1)) * i;
-
- green = malloc(cols * sizeof(green[0]));
- if (!green) {
- mp_msg(MSGT_VO, MSGL_V, "Can't allocate green palette with %d entries.\n", cols);
- free(red);
- return NULL;
- }
- for (i = 0; i < gcols; i++)
- green[i] = (65535 / (gcols - 1)) * i;
-
- blue = malloc(cols * sizeof(blue[0]));
- if (!blue) {
- mp_msg(MSGT_VO, MSGL_V, "Can't allocate blue palette with %d entries.\n", cols);
- free(red);
- free(green);
- return NULL;
- }
- for (i = 0; i < bcols; i++)
- blue[i] = (65535 / (bcols - 1)) * i;
-
- cmap = malloc(sizeof(struct fb_cmap));
- if (!cmap) {
- mp_msg(MSGT_VO, MSGL_V, "Can't allocate color map\n");
- free(red);
- free(green);
- free(blue);
- return NULL;
- }
- cmap->start = 0;
- cmap->transp = 0;
- cmap->len = cols;
- cmap->red = red;
- cmap->blue = blue;
- cmap->green = green;
- cmap->transp = NULL;
-
- return cmap;
-}
-
-
-static int fb_preinit(int reset)
-{
- static int fb_preinit_done = 0;
- static int fb_works = 0;
-
- if (reset) {
- fb_preinit_done = 0;
- return 0;
- }
-
- if (fb_preinit_done)
- return fb_works;
-
- fb_dev_fd = fb_tty_fd = -1;
-
- if (!fb_dev_name && !(fb_dev_name = getenv("FRAMEBUFFER")))
- fb_dev_name = strdup("/dev/fb0");
- mp_msg(MSGT_VO, MSGL_V, "using %s\n", fb_dev_name);
-
- if ((fb_dev_fd = open(fb_dev_name, O_RDWR)) == -1) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't open %s: %s\n", fb_dev_name, strerror(errno));
- goto err_out;
- }
- if (ioctl(fb_dev_fd, FBIOGET_VSCREENINFO, &fb_vinfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't get VSCREENINFO: %s\n", strerror(errno));
- goto err_out;
- }
- fb_orig_vinfo = fb_vinfo;
-
- if ((fb_tty_fd = open("/dev/tty", O_RDWR)) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "notice: Can't open /dev/tty: %s\n", strerror(errno));
- }
-
- fb_rgb = !fb_vinfo.red.offset;
- fb_bpp = fb_vinfo.bits_per_pixel;
- if (fb_bpp == 16)
- fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length + fb_vinfo.blue.length;
-
- if (fb_bpp == 8 && !vo_dbpp) {
- mp_msg(MSGT_VO, MSGL_ERR, "8 bpp output is not supported.\n");
- goto err_out;
- }
-
- if (vo_dbpp) {
- if (vo_dbpp != 12 && vo_dbpp != 15 && vo_dbpp != 16
- && vo_dbpp != 24 && vo_dbpp != 32) {
- mp_msg(MSGT_VO, MSGL_ERR, "can't switch to %d bpp\n", vo_dbpp);
- goto err_out;
- }
- fb_bpp = vo_dbpp;
- }
-
- if (!fb_mode_cfgfile)
- fb_mode_cfgfile = strdup("/etc/fb.modes");
-
- fb_preinit_done = 1;
- fb_works = 1;
- return 1;
-err_out:
- if (fb_tty_fd != -1)
- close(fb_tty_fd);
- fb_tty_fd = -1;
- if (fb_dev_fd != -1)
- close(fb_dev_fd);
- fb_dev_fd = -1;
- fb_preinit_done = 1;
- fb_works = 0;
- return 0;
-}
-
-static void vt_set_textarea(int u, int l)
-{
- /* how can I determine the font height?
- * just use 16 for now
- */
- int urow = ((u + 15) / 16) + 1;
- int lrow = l / 16;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "vt_set_textarea(%d,%d): %d,%d\n", u, l, urow, lrow);
- if (fb_tty_fd >= 0) {
- char modestring[100];
- snprintf(modestring, sizeof(modestring), "\33[%d;%dr\33[%d;%dH", urow, lrow, lrow, 0);
- write(fb_tty_fd, modestring, strlen(modestring));
- fsync(fb_tty_fd);
- }
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format)
-{
- struct fb_cmap *cmap;
- int vm = flags & VOFLAG_MODESWITCHING;
-
- fs = flags & VOFLAG_FULLSCREEN;
-
- if (pre_init_err == -2) {
- mp_msg(MSGT_VO, MSGL_ERR, "Internal fatal error: config() was called before preinit()\n");
- return -1;
- }
-
- if (pre_init_err)
- return 1;
-
- if (fb_mode_name && !vm) {
- mp_msg(MSGT_VO, MSGL_ERR, "-fbmode can only be used with -vm\n");
- return 1;
- }
- if (vm && parse_fbmode_cfg(fb_mode_cfgfile) < 0)
- return 1;
- if (d_width && (fs || vm)) {
- out_width = d_width;
- out_height = d_height;
- } else {
- out_width = width;
- out_height = height;
- }
- in_width = width;
- in_height = height;
- pixel_format = format;
-
- if (fb_mode_name) {
- if (!(fb_mode = find_mode_by_name(fb_mode_name))) {
- mp_msg(MSGT_VO, MSGL_ERR, "can't find requested video mode\n");
- return 1;
- }
- fb_mode2fb_vinfo(fb_mode, &fb_vinfo, fb_rgb);
- } else if (vm) {
- monitor_hfreq = str2range(monitor_hfreq_str);
- monitor_vfreq = str2range(monitor_vfreq_str);
- monitor_dotclock = str2range(monitor_dotclock_str);
- if (!monitor_hfreq || !monitor_vfreq || !monitor_dotclock) {
- mp_msg(MSGT_VO, MSGL_ERR, "you have to specify the capabilities of"
- " the monitor.\n");
- return 1;
- }
- if (!(fb_mode = find_best_mode(out_width, out_height, monitor_hfreq,
- monitor_vfreq, monitor_dotclock))) {
- mp_msg(MSGT_VO, MSGL_ERR, "can't find best video mode\n");
- return 1;
- }
- mp_msg(MSGT_VO, MSGL_V, "using mode %dx%d @ %.1fHz\n", fb_mode->xres,
- fb_mode->yres, vsf(fb_mode));
- fb_mode2fb_vinfo(fb_mode, &fb_vinfo, fb_rgb);
- }
- fb_bpp_we_want = fb_bpp;
- set_bpp(&fb_vinfo, fb_bpp, fb_rgb);
- fb_vinfo.xres_virtual = fb_vinfo.xres;
- fb_vinfo.yres_virtual = fb_vinfo.yres;
- fb_page = 0;
- if (vo_doublebuffering) {
- fb_vinfo.yres_virtual <<= 1;
- fb_vinfo.yoffset = 0;
- fb_page = 1; // start writing into the page we don't display
- }
-
- if (fb_tty_fd >= 0 && ioctl(fb_tty_fd, KDSETMODE, KD_GRAPHICS) < 0) {
- mp_msg(MSGT_VO, MSGL_V, "Can't set graphics mode: %s\n", strerror(errno));
- close(fb_tty_fd);
- fb_tty_fd = -1;
- }
-
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo))
- // Intel drivers fail if we request a transparency channel
- fb_vinfo.transp.length = fb_vinfo.transp.offset = 0;
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't put VSCREENINFO: %s\n", strerror(errno));
- if (fb_tty_fd >= 0 && ioctl(fb_tty_fd, KDSETMODE, KD_TEXT) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't restore text mode: %s\n", strerror(errno));
- }
- return 1;
- }
-
- fb_pixel_size = fb_vinfo.bits_per_pixel / 8;
- fb_bpp = fb_vinfo.bits_per_pixel;
- if (fb_bpp == 16)
- fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length + fb_vinfo.blue.length;
- if (fb_bpp_we_want != fb_bpp)
- mp_msg(MSGT_VO, MSGL_WARN, "requested %d bpp, got %d bpp!!!\n",
- fb_bpp_we_want, fb_bpp);
-
- switch (fb_bpp) {
- case 32:
- draw_alpha_p = vo_draw_alpha_rgb32;
- break;
- case 24:
- draw_alpha_p = vo_draw_alpha_rgb24;
- break;
- case 16:
- draw_alpha_p = vo_draw_alpha_rgb16;
- break;
- case 15:
- draw_alpha_p = vo_draw_alpha_rgb15;
- break;
- case 12:
- draw_alpha_p = vo_draw_alpha_rgb12;
- break;
- default:
- return 1;
- }
-
- fb_xres = fb_vinfo.xres;
- fb_yres = fb_vinfo.yres;
-
- if (vm || fs) {
- out_width = fb_xres;
- out_height = fb_yres;
- }
- if (out_width < in_width || out_height < in_height) {
- mp_msg(MSGT_VO, MSGL_ERR, "screensize is smaller than video size\n");
- return 1;
- }
-
- first_row = (out_height - in_height) / 2;
- last_row = (out_height + in_height) / 2;
-
- if (ioctl(fb_dev_fd, FBIOGET_FSCREENINFO, &fb_finfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't get FSCREENINFO: %s\n", strerror(errno));
- return 1;
- }
-
- if (fb_finfo.type != FB_TYPE_PACKED_PIXELS) {
- mp_msg(MSGT_VO, MSGL_ERR, "type %d not supported\n", fb_finfo.type);
- return 1;
- }
-
- switch (fb_finfo.visual) {
- case FB_VISUAL_TRUECOLOR:
- break;
- case FB_VISUAL_DIRECTCOLOR:
- mp_msg(MSGT_VO, MSGL_V, "creating cmap for directcolor\n");
- if (ioctl(fb_dev_fd, FBIOGETCMAP, &fb_oldcmap)) {
- mp_msg(MSGT_VO, MSGL_ERR, "can't get cmap: %s\n",
- strerror(errno));
- return 1;
- }
- if (!(cmap = make_directcolor_cmap(&fb_vinfo)))
- return 1;
- if (ioctl(fb_dev_fd, FBIOPUTCMAP, cmap)) {
- mp_msg(MSGT_VO, MSGL_ERR, "can't put cmap: %s\n",
- strerror(errno));
- return 1;
- }
- fb_cmap_changed = 1;
- free(cmap->red);
- free(cmap->green);
- free(cmap->blue);
- free(cmap);
- break;
- default:
- mp_msg(MSGT_VO, MSGL_ERR, "visual: %d not yet supported\n",
- fb_finfo.visual);
- return 1;
- }
-
- fb_line_len = fb_finfo.line_length;
- fb_size = fb_finfo.smem_len;
- if (vo_doublebuffering && fb_size < 2 * fb_yres * fb_line_len)
- {
- mp_msg(MSGT_VO, MSGL_WARN, "framebuffer too small for double-buffering, disabling\n");
- vo_doublebuffering = 0;
- fb_page = 0;
- }
-
- {
- int x_offset = 0, y_offset = 0;
- geometry(&x_offset, &y_offset, &out_width, &out_height, fb_xres, fb_yres);
-
- frame_buffer = mmap(0, fb_size, PROT_READ | PROT_WRITE,
- MAP_SHARED, fb_dev_fd, 0);
- if (frame_buffer == (uint8_t *) -1) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't mmap %s: %s\n", fb_dev_name, strerror(errno));
- return 1;
- }
-
- center = frame_buffer +
- ( (out_width - in_width) / 2 ) * fb_pixel_size +
- ( (out_height - in_height) / 2 ) * fb_line_len +
- x_offset * fb_pixel_size + y_offset * fb_line_len +
- fb_page * fb_yres * fb_line_len;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "frame_buffer @ %p\n", frame_buffer);
- mp_msg(MSGT_VO, MSGL_DBG2, "center @ %p\n", center);
- mp_msg(MSGT_VO, MSGL_V, "pixel per line: %d\n", fb_line_len / fb_pixel_size);
-
- if (fs || vm) {
- int clear_size = fb_line_len * fb_yres;
- if (vo_doublebuffering)
- clear_size <<= 1;
- memset(frame_buffer, 0, clear_size);
- }
- }
-
- vt_set_textarea(last_row, fb_yres);
-
- return 0;
-}
-
-static int query_format(uint32_t format)
-{
- if (!fb_preinit(0))
- return 0;
- if ((format & IMGFMT_BGR_MASK) == (fb_rgb ? IMGFMT_RGB : IMGFMT_BGR)) {
- int bpp = format & 0xff;
-
- if (bpp == fb_bpp)
- return VFCAP_ACCEPT_STRIDE | VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW;
- }
- return 0;
-}
-
-static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src,
- unsigned char *srca, int stride)
-{
- unsigned char *dst;
-
- dst = center + fb_line_len * y0 + fb_pixel_size * x0;
-
- (*draw_alpha_p)(w, h, src, srca, stride, dst, fb_line_len);
-}
-
-static int draw_frame(uint8_t *src[])
-{
- return 1;
-}
-
-static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)
-{
- uint8_t *d;
-
- d = center + fb_line_len * y + fb_pixel_size * x;
-
- memcpy_pic2(d, src[0], w * fb_pixel_size, h, fb_line_len, stride[0], 1);
-
- return 0;
-}
-
-static void check_events(void)
-{
-}
-
-static void flip_page(void)
-{
- int next_page = !fb_page;
- int page_delta = next_page - fb_page;
- if (!vo_doublebuffering)
- return;
-
- fb_vinfo.yoffset = fb_page * fb_yres;
- ioctl(fb_dev_fd, FBIOPAN_DISPLAY, &fb_vinfo);
-
- center += page_delta * fb_yres * fb_line_len;
- fb_page = next_page;
-}
-
-static void draw_osd(void)
-{
- vo_draw_text(in_width, in_height, draw_alpha);
-}
-
-static void uninit(void)
-{
- if (fb_cmap_changed) {
- if (ioctl(fb_dev_fd, FBIOPUTCMAP, &fb_oldcmap))
- mp_msg(MSGT_VO, MSGL_WARN, "Can't restore original cmap\n");
- fb_cmap_changed = 0;
- }
- if (ioctl(fb_dev_fd, FBIOGET_VSCREENINFO, &fb_vinfo))
- mp_msg(MSGT_VO, MSGL_WARN, "ioctl FBIOGET_VSCREENINFO: %s\n", strerror(errno));
- fb_orig_vinfo.xoffset = fb_vinfo.xoffset;
- fb_orig_vinfo.yoffset = fb_vinfo.yoffset;
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_orig_vinfo))
- mp_msg(MSGT_VO, MSGL_WARN, "Can't reset original fb_var_screeninfo: %s\n", strerror(errno));
- if (fb_tty_fd >= 0) {
- if (ioctl(fb_tty_fd, KDSETMODE, KD_TEXT) < 0)
- mp_msg(MSGT_VO, MSGL_WARN, "Can't restore text mode: %s\n", strerror(errno));
- }
- vt_set_textarea(0, fb_orig_vinfo.yres);
- close(fb_tty_fd);
- close(fb_dev_fd);
- if (frame_buffer)
- munmap(frame_buffer, fb_size);
- frame_buffer = NULL;
- fb_preinit(1);
-}
-
-static int preinit(const char *vo_subdevice)
-{
- pre_init_err = 0;
-
- if (vo_subdevice) {
- {
- free(fb_dev_name);
- fb_dev_name = strdup(vo_subdevice);
- }
- }
- if (!pre_init_err)
- return pre_init_err = fb_preinit(0) ? 0 : -1;
- return -1;
-}
-
-static uint32_t get_image(mp_image_t *mpi)
-{
- if (!IMGFMT_IS_BGR(mpi->imgfmt) ||
- IMGFMT_BGR_DEPTH(mpi->imgfmt) != fb_bpp ||
- (mpi->type != MP_IMGTYPE_STATIC && mpi->type != MP_IMGTYPE_TEMP) ||
- (mpi->flags & MP_IMGFLAG_PLANAR) ||
- (mpi->flags & MP_IMGFLAG_YUV) ||
- mpi->width != in_width ||
- mpi->height != in_height
- )
- return VO_FALSE;
-
- mpi->planes[0] = center;
- mpi->stride[0] = fb_line_len;
- mpi->flags |= MP_IMGFLAG_DIRECT;
- return VO_TRUE;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_GET_IMAGE:
- return get_image(data);
- case VOCTRL_QUERY_FORMAT:
- return query_format(*(uint32_t*)data);
- }
-
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_fbdev2.c b/libvo/vo_fbdev2.c
deleted file mode 100644
index bec9fea..0000000
--- a/libvo/vo_fbdev2.c
+++ /dev/null
@@ -1,412 +0,0 @@
-/*
- * video driver for framebuffer device
- * copyright (C) 2003 Joey Parrish <joey at nicewarrior.org>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <sys/mman.h>
-#include <sys/ioctl.h>
-#include <linux/fb.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "fastmemcpy.h"
-#include "sub/sub.h"
-#include "mp_msg.h"
-#include "aspect.h"
-#include "libavutil/common.h"
-
-static const vo_info_t info = {
- "Framebuffer Device",
- "fbdev2",
- "Joey Parrish <joey at nicewarrior.org>",
- ""
-};
-
-const LIBVO_EXTERN(fbdev2)
-
-static void set_bpp(struct fb_var_screeninfo *p, int bpp)
-{
- p->bits_per_pixel = (bpp + 1) & ~1;
- p->red.msb_right = p->green.msb_right = p->blue.msb_right = p->transp.msb_right = 0;
- p->transp.offset = p->transp.length = 0;
- p->blue.offset = 0;
- switch (bpp) {
- case 32:
- p->transp.offset = 24;
- p->transp.length = 8;
- case 24:
- p->red.offset = 16;
- p->red.length = 8;
- p->green.offset = 8;
- p->green.length = 8;
- p->blue.length = 8;
- break;
- case 16:
- p->red.offset = 11;
- p->green.length = 6;
- p->red.length = 5;
- p->green.offset = 5;
- p->blue.length = 5;
- break;
- case 15:
- p->red.offset = 10;
- p->green.length = 5;
- p->red.length = 5;
- p->green.offset = 5;
- p->blue.length = 5;
- break;
- case 12:
- p->red.offset = 8;
- p->green.length = 4;
- p->red.length = 4;
- p->green.offset = 4;
- p->blue.length = 4;
- break;
- }
-}
-
-static char *fb_dev_name = NULL; // such as /dev/fb0
-static int fb_dev_fd; // handle for fb_dev_name
-static uint8_t *frame_buffer = NULL; // mmap'd access to fbdev
-static uint8_t *center = NULL; // where to begin writing our image (centered?)
-static struct fb_fix_screeninfo fb_finfo; // fixed info
-static struct fb_var_screeninfo fb_vinfo; // variable info
-static struct fb_var_screeninfo fb_orig_vinfo; // variable info to restore later
-static unsigned short fb_ored[256], fb_ogreen[256], fb_oblue[256];
-static struct fb_cmap fb_oldcmap = { 0, 256, fb_ored, fb_ogreen, fb_oblue };
-static int fb_cmap_changed = 0; // to restore map
-static int fb_pixel_size; // 32: 4 24: 3 16: 2 15: 2
-static int fb_bpp; // 32: 32 24: 24 16: 16 15: 15
-static size_t fb_size; // size of frame_buffer
-static int fb_line_len; // length of one line in bytes
-static void (*draw_alpha_p)(int w, int h, unsigned char *src,
- unsigned char *srca, int stride, unsigned char *dst,
- int dstride);
-
-static uint8_t *next_frame = NULL; // for double buffering
-static int in_width;
-static int in_height;
-
-static struct fb_cmap *make_directcolor_cmap(struct fb_var_screeninfo *var)
-{
- int i, cols, rcols, gcols, bcols;
- uint16_t *red, *green, *blue;
- struct fb_cmap *cmap;
-
- rcols = 1 << var->red.length;
- gcols = 1 << var->green.length;
- bcols = 1 << var->blue.length;
-
- /* Make our palette the length of the deepest color */
- cols = FFMAX3(rcols, gcols, bcols);
-
- red = malloc(3 * cols * sizeof(red[0]));
- if(!red) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't allocate red palette with %d entries.\n", cols);
- return NULL;
- }
- green = red + cols;
- blue = green + cols;
- for (i = 0; i < cols; i++) {
- red[i] = (65535/(rcols-1)) * i;
- green[i] = (65535/(gcols-1)) * i;
- blue[i] = (65535/(bcols-1)) * i;
- }
-
- cmap = malloc(sizeof(struct fb_cmap));
- if(!cmap) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't allocate color map\n");
- free(red);
- return NULL;
- }
- cmap->start = 0;
- cmap->transp = 0;
- cmap->len = cols;
- cmap->red = red;
- cmap->blue = blue;
- cmap->green = green;
- cmap->transp = NULL;
-
- return cmap;
-}
-
-static int fb_preinit(int reset)
-{
- static int fb_preinit_done = 0;
- static int fb_err = -1;
-
- if (reset) {
- fb_preinit_done = 0;
- return 0;
- }
-
- if (fb_preinit_done)
- return fb_err;
- fb_preinit_done = 1;
-
- if (!fb_dev_name && !(fb_dev_name = getenv("FRAMEBUFFER")))
- fb_dev_name = strdup("/dev/fb0");
-
- mp_msg(MSGT_VO, MSGL_V, "[fbdev2] Using device %s\n", fb_dev_name);
-
- if ((fb_dev_fd = open(fb_dev_name, O_RDWR)) == -1) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't open %s: %s\n", fb_dev_name, strerror(errno));
- goto err_out;
- }
- if (ioctl(fb_dev_fd, FBIOGET_VSCREENINFO, &fb_vinfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't get VSCREENINFO: %s\n", strerror(errno));
- goto err_out;
- }
- fb_orig_vinfo = fb_vinfo;
-
- fb_bpp = fb_vinfo.bits_per_pixel;
-
- /* 16 and 15 bpp is reported as 16 bpp */
- if (fb_bpp == 16)
- fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length +
- fb_vinfo.blue.length;
-
- fb_err = 0;
- return 0;
-err_out:
- if (fb_dev_fd >= 0) close(fb_dev_fd);
- fb_dev_fd = -1;
- fb_err = -1;
- return -1;
-}
-
-static int preinit(const char *subdevice)
-{
- if (subdevice)
- {
- free(fb_dev_name);
- fb_dev_name = strdup(subdevice);
- }
- return fb_preinit(0);
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format)
-{
- struct fb_cmap *cmap;
- int fs = flags & VOFLAG_FULLSCREEN;
- int x_offset = vo_dx + (d_width - width ) / 2;
- int y_offset = vo_dy + (d_height - height) / 2;
- x_offset = av_clip(x_offset, 0, fb_vinfo.xres - width);
- y_offset = av_clip(y_offset, 0, fb_vinfo.yres - height);
-
- in_width = width;
- in_height = height;
-
- if (fb_vinfo.xres < in_width || fb_vinfo.yres < in_height) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Screensize is smaller than video size (%dx%d < %dx%d)\n",
- fb_vinfo.xres, fb_vinfo.yres, in_width, in_height);
- return 1;
- }
-
- switch (fb_bpp) {
- case 32: draw_alpha_p = vo_draw_alpha_rgb32; break;
- case 24: draw_alpha_p = vo_draw_alpha_rgb24; break;
- case 16: draw_alpha_p = vo_draw_alpha_rgb16; break;
- case 15: draw_alpha_p = vo_draw_alpha_rgb15; break;
- case 12: draw_alpha_p = vo_draw_alpha_rgb12; break;
- default: return 1;
- }
-
- if (vo_config_count == 0) {
- if (ioctl(fb_dev_fd, FBIOGET_FSCREENINFO, &fb_finfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't get FSCREENINFO: %s\n", strerror(errno));
- return 1;
- }
-
- if (fb_finfo.type != FB_TYPE_PACKED_PIXELS) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] type %d not supported\n", fb_finfo.type);
- return 1;
- }
-
- switch (fb_finfo.visual) {
- case FB_VISUAL_TRUECOLOR:
- break;
- case FB_VISUAL_DIRECTCOLOR:
- mp_msg(MSGT_VO, MSGL_V, "[fbdev2] creating cmap for directcolor\n");
- if (ioctl(fb_dev_fd, FBIOGETCMAP, &fb_oldcmap)) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] can't get cmap: %s\n", strerror(errno));
- return 1;
- }
- if (!(cmap = make_directcolor_cmap(&fb_vinfo)))
- return 1;
- if (ioctl(fb_dev_fd, FBIOPUTCMAP, cmap)) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] can't put cmap: %s\n", strerror(errno));
- free(cmap->red);
- free(cmap);
- return 1;
- }
- fb_cmap_changed = 1;
- free(cmap->red);
- free(cmap);
- break;
- default:
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] visual: %d not yet supported\n", fb_finfo.visual);
- return 1;
- }
-
- fb_size = fb_finfo.smem_len;
- fb_line_len = fb_finfo.line_length;
- if ((frame_buffer = (uint8_t *) mmap(0, fb_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_dev_fd, 0)) == (uint8_t *) -1) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't mmap %s: %s\n", fb_dev_name, strerror(errno));
- return 1;
- }
- }
-
- center = frame_buffer +
- x_offset * fb_pixel_size +
- y_offset * fb_line_len;
-
-#ifndef USE_CONVERT2FB
- if (!(next_frame = realloc(next_frame, in_width * in_height * fb_pixel_size))) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't malloc next_frame: %s\n", strerror(errno));
- return 1;
- }
-#endif
- if (fs) memset(frame_buffer, '\0', fb_line_len * fb_vinfo.yres);
-
- return 0;
-}
-
-static int query_format(uint32_t format)
-{
- // open the device, etc.
- if (fb_preinit(0)) return 0;
- if ((format & IMGFMT_BGR_MASK) == IMGFMT_BGR) {
- int fb_target_bpp = format & 0xff;
- set_bpp(&fb_vinfo, fb_target_bpp);
- fb_vinfo.xres_virtual = fb_vinfo.xres;
- fb_vinfo.yres_virtual = fb_vinfo.yres;
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo))
- // Needed for Intel framebuffer with 32 bpp
- fb_vinfo.transp.length = fb_vinfo.transp.offset = 0;
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't put VSCREENINFO: %s\n", strerror(errno));
- return 0;
- }
- fb_pixel_size = fb_vinfo.bits_per_pixel / 8;
- fb_bpp = fb_vinfo.bits_per_pixel;
- if (fb_bpp == 16)
- fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length + fb_vinfo.blue.length;
- if (fb_bpp == fb_target_bpp)
- return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW|VFCAP_ACCEPT_STRIDE;
- }
- return 0;
-}
-
-static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src,
- unsigned char *srca, int stride)
-{
- unsigned char *dst;
- int dstride;
-
-#ifdef USE_CONVERT2FB
- dst = center + (fb_line_len * y0) + (x0 * fb_pixel_size);
- dstride = fb_line_len;
-#else
- dst = next_frame + (in_width * y0 + x0) * fb_pixel_size;
- dstride = in_width * fb_pixel_size;
-#endif
- (*draw_alpha_p)(w, h, src, srca, stride, dst, dstride);
-}
-
-static void draw_osd(void)
-{
- vo_draw_text(in_width, in_height, draw_alpha);
-}
-
-// all csp support stride
-static int draw_frame(uint8_t *src[]) { return 1; }
-
-static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)
-{
- uint8_t *in = src[0];
-#ifdef USE_CONVERT2FB
- uint8_t *dest = center + (fb_line_len * y) + (x * fb_pixel_size);
- int next = fb_line_len;
-#else
- uint8_t *dest = next_frame + (in_width * y + x) * fb_pixel_size;
- int next = in_width * fb_pixel_size;
-#endif
-
- memcpy_pic(dest, in, w * fb_pixel_size, h, next, stride[0]);
- return 0;
-}
-
-static void check_events(void)
-{
-}
-
-static void flip_page(void)
-{
-#ifndef USE_CONVERT2FB
- int out_offset = 0, in_offset = 0;
-
- memcpy_pic(center + out_offset, next_frame + in_offset,
- in_width * fb_pixel_size, in_height,
- fb_line_len, in_width * fb_pixel_size);
-#endif
-}
-
-static void uninit(void)
-{
- if (fb_cmap_changed) {
- if (ioctl(fb_dev_fd, FBIOPUTCMAP, &fb_oldcmap))
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't restore original cmap\n");
- fb_cmap_changed = 0;
- }
- free(next_frame);
- if (fb_dev_fd >= 0) {
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_orig_vinfo))
- mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't reset original fb_var_screeninfo: %s\n", strerror(errno));
- close(fb_dev_fd);
- fb_dev_fd = -1;
- }
- if(frame_buffer) munmap(frame_buffer, fb_size);
- next_frame = frame_buffer = NULL;
- fb_preinit(1); // so that later calls to preinit don't fail
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- case VOCTRL_UPDATE_SCREENINFO:
- vo_screenwidth = fb_vinfo.xres;
- vo_screenheight = fb_vinfo.yres;
- aspect_save_screenres(vo_screenwidth, vo_screenheight);
- return VO_TRUE;
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_ggi.c b/libvo/vo_ggi.c
deleted file mode 100644
index b994dce..0000000
--- a/libvo/vo_ggi.c
+++ /dev/null
@@ -1,591 +0,0 @@
-/*
- * General Graphics Interface (GGI) vo driver
- *
- * copyright (C) 2001 Alex Beregszaszi
- *
- * Uses libGGI - http://www.ggi-project.org/
- *
- * TODO:
- * * implement gamma handling (VAA isn't obsoleted?)
- *
- * Thanks to Andreas Beck for his patches.
- *
- * Many thanks to Atmosfear, he hacked this driver to work with planar
- * formats, and he fixed the RGB handling.
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include "mp_msg.h"
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-
-#include "mp_fifo.h"
-#include "input/keycodes.h"
-
-#include <ggi/ggi.h>
-
-#ifdef CONFIG_GGIWMH
-#include <ggi/wmh.h>
-#endif
-
-/* maximum buffers */
-#undef GGI_FLIP
-
-static const vo_info_t info =
-{
- "General Graphics Interface (GGI) output",
- "ggi",
- "Alex Beregszaszi",
- "major"
-};
-
-const LIBVO_EXTERN(ggi)
-
-
-static struct ggi_conf_s {
- char *driver;
-
- ggi_visual_t vis;
- ggi_visual_t drawvis;
-
- /* source image format */
- int srcwidth;
- int srcheight;
- int srcformat;
- int srcdepth;
- int srcbpp;
-
- /* dirty region */
- struct {
- int x1, y1;
- int x2, y2;
- } flushregion;
-
- int voflags;
-
- int depthonscreen;
-} ggi_conf;
-
-
-#ifdef CONFIG_GGIWMH
-static void window_ontop(void)
-{
- mp_msg(MSGT_VO, MSGL_V, "[ggi] debug: window_ontop() called\n");
- ggiWmhZOrder(ggi_conf.vis, ZO_TOP);
- return;
-}
-#endif
-
-
-static void set_graphtype(uint32_t format, ggi_mode *mode)
-{
- switch (format) {
- case IMGFMT_RGB4:
- mode->graphtype = GT_4BIT;
- break;
- case IMGFMT_BGR4:
- mode->graphtype = GT_4BIT;
- GT_SETSUBSCHEME(mode->graphtype, GT_SUB_HIGHBIT_RIGHT);
- break;
- case IMGFMT_RGB8:
- case IMGFMT_BGR8:
- mode->graphtype = GT_8BIT;
- break;
- case IMGFMT_RGB15:
- case IMGFMT_BGR15:
- mode->graphtype = GT_15BIT;
- break;
- case IMGFMT_RGB16:
- case IMGFMT_BGR16:
- mode->graphtype = GT_16BIT;
- break;
- case IMGFMT_RGB24:
- case IMGFMT_BGR24:
- mode->graphtype = GT_24BIT;
- break;
- case IMGFMT_RGB32:
- case IMGFMT_BGR32:
- mode->graphtype = GT_32BIT;
- break;
- }
-
- return;
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format)
-{
- ggi_mode mode = {
- 1, /* frames */
- {width, height}, /* visible */
- {GGI_AUTO, GGI_AUTO}, /* virt */
- {GGI_AUTO, GGI_AUTO}, /* size */
- GT_AUTO, /* graphtype */
- {GGI_AUTO, GGI_AUTO} /* dots per pixel */
- };
-
-
- set_graphtype(format, &mode);
-
-#if 0
- printf("[ggi] mode: ");
- ggiPrintMode(&mode);
- printf("\n");
-#endif
-
- ggiCheckMode(ggi_conf.vis, &mode);
-
- if (ggiSetMode(ggi_conf.vis, &mode) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "[ggi] unable to set display mode\n");
- return -1;
- }
- if (ggiGetMode(ggi_conf.vis, &mode) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "[ggi] unable to get display mode\n");
- return -1;
- }
- if ((mode.graphtype == GT_INVALID)
- || (mode.graphtype == GT_AUTO))
- {
- mp_msg(MSGT_VO, MSGL_ERR, "[ggi] not supported depth/bpp\n");
- return -1;
- }
-
-#if 0
- printf("[ggi] mode: ");
- ggiPrintMode(&mode);
- printf("\n");
-#endif
-
-
-#ifdef CONFIG_GGIWMH
- ggiWmhSetTitle(ggi_conf.vis, title);
- if (vo_ontop) window_ontop();
-#endif
-
- ggiSetFlags(ggi_conf.vis, GGIFLAG_ASYNC);
-
- if (GT_SCHEME(mode.graphtype) == GT_PALETTE)
- ggiSetColorfulPalette(ggi_conf.vis);
-
- if (GT_SCHEME(mode.graphtype) != GT_TRUECOLOR) {
- ggi_mode drawmode;
-
- ggi_conf.drawvis = ggiOpen("display-memory", NULL);
- if (ggi_conf.drawvis == NULL) {
- mp_msg(MSGT_VO, MSGL_ERR,
- "[ggi] unable to get backbuffer for conversion\n");
- return -1;
- }
- memcpy(&drawmode, &mode, sizeof(ggi_mode));
- drawmode.graphtype = GT_32BIT;
- drawmode.size.x = GGI_AUTO;
- drawmode.size.y = GGI_AUTO;
- ggiCheckMode(ggi_conf.drawvis, &drawmode);
- if (ggiSetMode(ggi_conf.drawvis, &drawmode) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR,
- "[ggi] unable to set backbuffer mode\n");
- return -1;
- }
- mode.graphtype = drawmode.graphtype;
-
- ggiSetFlags(ggi_conf.drawvis, GGIFLAG_ASYNC);
- }
- ggi_conf.depthonscreen = GT_DEPTH(mode.graphtype);
- vo_screenwidth = mode.virt.x;
- vo_screenheight = mode.virt.y;
-
- vo_dwidth = width;
- vo_dheight = height;
- vo_dbpp = GT_SIZE(mode.graphtype);
-
-
- /* calculate top, left corner */
- vo_dx = (vo_screenwidth - vo_dwidth) / 2;
- vo_dy = (vo_screenheight - vo_dheight) / 2;
-
-
- ggi_conf.srcwidth = width;
- ggi_conf.srcheight = height;
- ggi_conf.srcformat = format;
-
- ggi_conf.voflags = flags;
-
- if (IMGFMT_IS_RGB(ggi_conf.srcformat)) {
- ggi_conf.srcdepth = IMGFMT_RGB_DEPTH(ggi_conf.srcformat);
- } else if (IMGFMT_IS_BGR(ggi_conf.srcformat)) {
- ggi_conf.srcdepth = IMGFMT_BGR_DEPTH(ggi_conf.srcformat);
- } else {
- mp_msg(MSGT_VO, MSGL_FATAL, "[ggi] Unknown image format: %s\n",
- vo_format_name(ggi_conf.srcformat));
- return -1;
- }
-
- mp_msg(MSGT_VO, MSGL_INFO, "[ggi] input: %dx%dx%d, output: %dx%dx%d\n",
- ggi_conf.srcwidth, ggi_conf.srcheight, ggi_conf.srcdepth,
- mode.virt.x, mode.virt.y, vo_dbpp);
-
- ggi_conf.srcbpp = (ggi_conf.srcdepth + 7) / 8;
-
- ggi_conf.flushregion.x1 = vo_dx;
- ggi_conf.flushregion.y1 = vo_dy;
- ggi_conf.flushregion.x2 = vo_dwidth;
- ggi_conf.flushregion.y2 = vo_dheight;
-
- return 0;
-}
-
-static uint32_t get_image(mp_image_t *mpi)
-{
- /* GGI DirectRendering supports (yet) only BGR/RGB modes */
- if (!((IMGFMT_IS_BGR(mpi->imgfmt)) &&
- (IMGFMT_BGR_DEPTH(mpi->imgfmt) == vo_dbpp)))
- {
- return VO_FALSE;
- }
-
- if (!((IMGFMT_IS_RGB(mpi->imgfmt)) &&
- (IMGFMT_RGB_DEPTH(mpi->imgfmt) == vo_dbpp)))
- {
- return VO_FALSE;
- }
-
- if (!((mpi->width == ggi_conf.srcwidth) &&
- (mpi->height == ggi_conf.srcheight)))
- {
- return VO_FALSE;
- }
-
- mpi->planes[1] = mpi->planes[2] = NULL;
- mpi->stride[1] = mpi->stride[2] = 0;
-
- mpi->planes[0] = NULL;
- mpi->stride[0] = ggi_conf.srcwidth * ggi_conf.srcbpp;
- mpi->flags |= MP_IMGFLAG_DIRECT;
-
-#ifdef GGI_FLIP
- if (ggi_conf.voflags & VOFLAG_FLIPPING) {
- mpi->stride[0] = -mpi->stride[0];
- }
-#endif
-
- return VO_TRUE;
-}
-
-
-static int draw_frame(uint8_t *src[])
-{
- ggiPutBox(ggi_conf.drawvis, vo_dx, vo_dy,
- vo_dwidth, vo_dheight, src[0]);
-
- ggi_conf.flushregion.x1 = vo_dx;
- ggi_conf.flushregion.y1 = vo_dy;
- ggi_conf.flushregion.x2 = vo_dwidth;
- ggi_conf.flushregion.y2 = vo_dheight;
-
- return 0;
-}
-
-static void draw_osd(void)
-{
- return;
-}
-
-static void flip_page(void)
-{
- if (ggi_conf.drawvis != ggi_conf.vis) {
-#if 0
- ggiFlushRegion(ggi_conf.drawvis,
- ggi_conf.flushregion.x1, ggi_conf.flushregion.y1,
- ggi_conf.flushregion.x2 - ggi_conf.flushregion.x1,
- ggi_conf.flushregion.y2 - ggi_conf.flushregion.y1);
-#endif
- ggiCrossBlit(ggi_conf.drawvis,
- ggi_conf.flushregion.x1, ggi_conf.flushregion.y1,
- ggi_conf.flushregion.x2 - ggi_conf.flushregion.x1,
- ggi_conf.flushregion.y2 - ggi_conf.flushregion.y1,
- ggi_conf.vis,
- ggi_conf.flushregion.x1, ggi_conf.flushregion.y1);
-
- }
- ggiFlushRegion(ggi_conf.vis,
- ggi_conf.flushregion.x1, ggi_conf.flushregion.y1,
- ggi_conf.flushregion.x2 - ggi_conf.flushregion.x1,
- ggi_conf.flushregion.y2 - ggi_conf.flushregion.y1);
-
- ggi_conf.flushregion.x1 = ggi_conf.flushregion.x2 = -1;
- ggi_conf.flushregion.y1 = ggi_conf.flushregion.y2 = -1;
-}
-
-static int draw_slice(uint8_t *src[], int stride[],
- int w, int h, int x, int y)
-{
- ggiPutBox(ggi_conf.drawvis, vo_dx + x, vo_dy + y, w, h, src[0]);
-
- if ((ggi_conf.flushregion.x1 == -1) ||
- ((vo_dx + x) < ggi_conf.flushregion.x1))
- {
- ggi_conf.flushregion.x1 = vo_dx + x;
- }
- if ((ggi_conf.flushregion.y1 == -1) ||
- ((vo_dy + y) < ggi_conf.flushregion.y1))
- {
- ggi_conf.flushregion.y1 = vo_dy + y;
- }
- if ((ggi_conf.flushregion.x2 == -1) ||
- ((vo_dx + x + w) > ggi_conf.flushregion.x2))
- {
- ggi_conf.flushregion.x2 = vo_dx + x + w;
- }
- if ((ggi_conf.flushregion.y2 == -1) ||
- ((vo_dy + y + h) > ggi_conf.flushregion.y2))
- {
- ggi_conf.flushregion.y2 = vo_dy + y + h;
- }
-
- return 1;
-}
-
-static int query_format(uint32_t format)
-{
- ggi_mode mode;
- uint32_t vfcap;
-
- vfcap = VFCAP_CSP_SUPPORTED
- | VFCAP_CSP_SUPPORTED_BY_HW
- | VFCAP_ACCEPT_STRIDE;
-
- if ((!ggi_conf.depthonscreen || !vo_dbpp) && ggi_conf.vis) {
- if (ggiGetMode(ggi_conf.vis, &mode) == 0) {
- ggi_conf.depthonscreen = GT_DEPTH(mode.graphtype);
- vo_dbpp = GT_SIZE(mode.graphtype);
- }
- if (GT_SCHEME(mode.graphtype) == GT_AUTO) {
- ggiCheckMode(ggi_conf.vis, &mode);
- }
- if (GT_SCHEME(mode.graphtype) != GT_TRUECOLOR) {
- mode.graphtype = GT_32BIT;
- ggi_conf.depthonscreen = GT_DEPTH(mode.graphtype);
- vo_dbpp = GT_SIZE(mode.graphtype);
- }
- }
- if ((IMGFMT_IS_BGR(format) && (IMGFMT_BGR_DEPTH(format) == vo_dbpp)) ||
- (IMGFMT_IS_RGB(format) && (IMGFMT_RGB_DEPTH(format) == vo_dbpp)))
- {
- return vfcap;
- }
- if (IMGFMT_IS_BGR(format) || IMGFMT_IS_RGB(format)) {
- set_graphtype(format, &mode);
-
- if (ggiCheckMode(ggi_conf.drawvis, &mode) < 0) {
- return 0;
- } else {
- return vfcap;
- }
- }
- return 0;
-}
-
-static int preinit(const char *arg)
-{
- if (ggiInit() != 0) {
- mp_msg(MSGT_VO, MSGL_FATAL, "[ggi] unable to initialize GGI\n");
- return -1;
- }
-#ifdef CONFIG_GGIWMH
- if (ggiWmhInit() < 0) {
- mp_msg(MSGT_VO, MSGL_FATAL, "[ggi] unable to initialize libggiwmh\n");
- return -1;
- }
-#endif
-
- if (arg) {
- int i = 0;
- ggi_conf.driver = strdup(arg);
- while (ggi_conf.driver[i] != '\0') {
- if (ggi_conf.driver[i] == '.')
- ggi_conf.driver[i] = ',';
- i++;
- }
- } else {
- ggi_conf.driver = NULL;
- }
-
- ggi_conf.vis = ggiOpen(ggi_conf.driver);
- if (ggi_conf.vis == NULL) {
- mp_msg(MSGT_VO, MSGL_FATAL, "[ggi] unable to open '%s' output\n",
- (ggi_conf.driver == NULL) ? "default" : ggi_conf.driver);
- ggiExit();
- return -1;
- }
- ggi_conf.drawvis = ggi_conf.vis;
-
-
-#ifdef CONFIG_GGIWMH
- ggiWmhAttach(ggi_conf.vis);
-#endif
-
-
- mp_msg(MSGT_VO, MSGL_V, "[ggi] using '%s' output\n",
- (ggi_conf.driver == NULL) ? "default" : ggi_conf.driver);
-
- return 0;
-}
-
-static void uninit(void)
-{
- free(ggi_conf.driver);
-
-#ifdef CONFIG_GGIWMH
- ggiWmhDetach(ggi_conf.vis);
- ggiWmhExit();
-#endif
-
- if (ggi_conf.drawvis != NULL && ggi_conf.drawvis != ggi_conf.vis)
- ggiClose(ggi_conf.drawvis);
-
- ggiClose(ggi_conf.vis);
- ggiExit();
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t *) data));
- case VOCTRL_GET_IMAGE:
- return get_image(data);
-#ifdef CONFIG_GGIWMH
- case VOCTRL_ONTOP:
- vo_ontop = (!(vo_ontop));
- window_ontop();
- return VO_TRUE;
-#endif
- }
- return VO_NOTIMPL;
-}
-
-static void check_events(void)
-{
- struct timeval tv = {0, 0};
- ggi_event event;
- ggi_event_mask mask;
-
- if ((mask = ggiEventPoll(ggi_conf.vis, emAll, &tv))) {
- if (ggiEventRead(ggi_conf.vis, &event, emAll) != 0) {
- mp_dbg(MSGT_VO, MSGL_DBG3,
- "type: %4x, origin: %4x, "
- "sym: %4x, label: %4x, button=%4x\n",
- event.any.origin, event.any.type, event.key.sym,
- event.key.label, event.key.button);
-
- switch (event.any.type) {
- case evKeyPress:
- switch (event.key.sym) {
- case GIIK_PAsterisk: /* PStar */
- case GIIUC_Asterisk:
- mplayer_put_key('*');
- break;
- case GIIK_PSlash:
- case GIIUC_Slash:
- mplayer_put_key('/');
- break;
- case GIIK_PPlus:
- case GIIUC_Plus:
- mplayer_put_key('+');
- break;
- case GIIK_PMinus:
- case GIIUC_Minus:
- mplayer_put_key('-');
- break;
- case GIIUC_o:
- case GIIUC_O:
- mplayer_put_key('o');
- break;
- case GIIUC_g:
- case GIIUC_G:
- mplayer_put_key('g');
- break;
- case GIIUC_z:
- case GIIUC_Z:
- mplayer_put_key('z');
- break;
- case GIIUC_x:
- case GIIUC_X:
- mplayer_put_key('x');
- break;
- case GIIUC_m:
- case GIIUC_M:
- mplayer_put_key('m');
- break;
- case GIIUC_d:
- case GIIUC_D:
- mplayer_put_key('d');
- break;
- case GIIUC_q:
- case GIIUC_Q:
- mplayer_put_key('q');
- break;
- case GIIUC_h:
- case GIIUC_H:
- mplayer_put_key('h');
- break;
- case GIIUC_l:
- case GIIUC_L:
- mplayer_put_key('l');
- break;
- case GIIUC_Space:
- case GIIUC_p:
- case GIIUC_P:
- mplayer_put_key('p');
- break;
- case GIIK_Up:
- mplayer_put_key(KEY_UP);
- break;
- case GIIK_Down:
- mplayer_put_key(KEY_DOWN);
- break;
- case GIIK_Left:
- mplayer_put_key(KEY_LEFT);
- break;
- case GIIK_Right:
- mplayer_put_key(KEY_RIGHT);
- break;
- case GIIK_PageUp:
- mplayer_put_key(KEY_PAGE_UP);
- break;
- case GIIK_PageDown:
- mplayer_put_key(KEY_PAGE_DOWN);
- break;
- default:
- break;
- } /* switch */
-
- break;
- } /* switch */
- } /* if */
- } /* if */
- return;
-}
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c
index 1274942..8f20632 100644
--- a/libvo/vo_gl.c
+++ b/libvo/vo_gl.c
@@ -36,32 +36,28 @@
#include "libmpcodecs/mp_image.h"
#include "geometry.h"
#include "osd.h"
-#include "sub/font_load.h"
#include "sub/sub.h"
+#include "bitmap_packer.h"
#include "gl_common.h"
#include "aspect.h"
#include "fastmemcpy.h"
#include "sub/ass_mp.h"
-static int preinit_nosw(struct vo *vo, const char *arg);
-
//! How many parts the OSD may consist of at most
#define MAX_OSD_PARTS 20
-#define LARGE_EOSD_TEX_SIZE 512
-#define TINYTEX_SIZE 16
-#define TINYTEX_COLS (LARGE_EOSD_TEX_SIZE / TINYTEX_SIZE)
-#define TINYTEX_MAX (TINYTEX_COLS * TINYTEX_COLS)
-#define SMALLTEX_SIZE 32
-#define SMALLTEX_COLS (LARGE_EOSD_TEX_SIZE / SMALLTEX_SIZE)
-#define SMALLTEX_MAX (SMALLTEX_COLS * SMALLTEX_COLS)
-
//for gl_priv.use_yuv
#define MASK_ALL_YUV (~(1 << YUV_CONVERSION_NONE))
#define MASK_NOT_COMBINERS (~((1 << YUV_CONVERSION_NONE) | (1 << YUV_CONVERSION_COMBINERS)))
#define MASK_GAMMA_SUPPORT (MASK_NOT_COMBINERS & ~(1 << YUV_CONVERSION_FRAGMENT))
+struct vertex_eosd {
+ float x, y;
+ uint8_t color[4];
+ float u, v;
+};
+
struct gl_priv {
MPGLContext *glctx;
GL *gl;
@@ -70,21 +66,20 @@ struct gl_priv {
int scaled_osd;
//! Textures for OSD
GLuint osdtex[MAX_OSD_PARTS];
-#ifndef FAST_OSD
//! Alpha textures for OSD
GLuint osdatex[MAX_OSD_PARTS];
-#endif
- GLuint *eosdtex;
- GLuint largeeosdtex[2];
+ GLuint eosd_texture;
+ int eosd_texture_width, eosd_texture_height;
+ struct bitmap_packer *eosd;
+ struct vertex_eosd *eosd_va;
+ int eosd_render_count;
+ unsigned int bitmap_id;
+ unsigned int bitmap_pos_id;
//! Display lists that draw the OSD parts
GLuint osdDispList[MAX_OSD_PARTS];
-#ifndef FAST_OSD
GLuint osdaDispList[MAX_OSD_PARTS];
-#endif
- GLuint eosdDispList;
//! How many parts the OSD currently consists of
int osdtexCnt;
- int eosdtexCnt;
int osd_color;
int use_ycbcr;
@@ -94,6 +89,7 @@ struct gl_priv {
int lscale;
int cscale;
float filter_strength;
+ float noise_strength;
int yuvconvtype;
int use_rectangle;
int err_shown;
@@ -173,13 +169,9 @@ static void resize(struct vo *vo, int x, int y)
gl->MatrixMode(GL_MODELVIEW);
gl->LoadIdentity();
- if (!p->scaled_osd) {
-#ifdef CONFIG_FREETYPE
- // adjust font size to display size
- force_load_font = 1;
-#endif
+ if (!p->scaled_osd)
vo_osd_changed(OSDTYPE_OSD);
- }
+
gl->Clear(GL_COLOR_BUFFER_BIT);
vo->want_redraw = true;
}
@@ -215,7 +207,8 @@ static void update_yuvconv(struct vo *vo)
mp_csp_copy_equalizer_values(&cparams, &p->video_eq);
gl_conversion_params_t params = {
p->target, p->yuvconvtype, cparams,
- p->texture_width, p->texture_height, 0, 0, p->filter_strength
+ p->texture_width, p->texture_height, 0, 0, p->filter_strength,
+ p->noise_strength
};
mp_get_chroma_shift(p->image_format, &xs, &ys, &depth);
params.chrom_texw = params.texw >> xs;
@@ -275,161 +268,134 @@ static void clearOSD(struct vo *vo)
if (!p->osdtexCnt)
return;
gl->DeleteTextures(p->osdtexCnt, p->osdtex);
-#ifndef FAST_OSD
gl->DeleteTextures(p->osdtexCnt, p->osdatex);
for (i = 0; i < p->osdtexCnt; i++)
gl->DeleteLists(p->osdaDispList[i], 1);
-#endif
for (i = 0; i < p->osdtexCnt; i++)
gl->DeleteLists(p->osdDispList[i], 1);
p->osdtexCnt = 0;
}
/**
- * \brief remove textures, display list and free memory used by EOSD
+ * \brief construct display list from ass image list
+ * \param img image list to create OSD from.
*/
-static void clearEOSD(struct vo *vo)
+static void genEOSD(struct vo *vo, mp_eosd_images_t *imgs)
{
struct gl_priv *p = vo->priv;
GL *gl = p->gl;
- if (p->eosdDispList)
- gl->DeleteLists(p->eosdDispList, 1);
- p->eosdDispList = 0;
- if (p->eosdtexCnt)
- gl->DeleteTextures(p->eosdtexCnt, p->eosdtex);
- p->eosdtexCnt = 0;
- free(p->eosdtex);
- p->eosdtex = NULL;
-}
+ if (imgs->bitmap_pos_id == p->bitmap_pos_id)
+ return;
-static inline int is_tinytex(ASS_Image *i, int tinytexcur)
-{
- return i->w < TINYTEX_SIZE && i->h < TINYTEX_SIZE
- && tinytexcur < TINYTEX_MAX;
-}
+ if (!p->eosd_texture)
+ gl->GenTextures(1, &p->eosd_texture);
-static inline int is_smalltex(ASS_Image *i, int smalltexcur)
-{
- return i->w < SMALLTEX_SIZE && i->h < SMALLTEX_SIZE
- && smalltexcur < SMALLTEX_MAX;
-}
+ gl->BindTexture(p->target, p->eosd_texture);
-static inline void tinytex_pos(int tinytexcur, int *x, int *y)
-{
- *x = (tinytexcur % TINYTEX_COLS) * TINYTEX_SIZE;
- *y = (tinytexcur / TINYTEX_COLS) * TINYTEX_SIZE;
-}
+ p->eosd_render_count = 0;
+ bool need_upload = false;
-static inline void smalltex_pos(int smalltexcur, int *x, int *y)
-{
- *x = (smalltexcur % SMALLTEX_COLS) * SMALLTEX_SIZE;
- *y = (smalltexcur / SMALLTEX_COLS) * SMALLTEX_SIZE;
+ if (imgs->bitmap_id != p->bitmap_id) {
+ need_upload = true;
+ int res = packer_pack_from_subbitmaps(p->eosd, imgs, 0);
+ if (res < 0) {
+ mp_msg(MSGT_VO, MSGL_ERR,
+ "[gl] subtitle bitmaps do not fit in maximum texture\n");
+ return;
+ }
+ if (res == 1) {
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Allocating a %dx%d texture for "
+ "subtitle bitmaps.\n", p->eosd->w, p->eosd->h);
+ texSize(vo, p->eosd->w, p->eosd->h,
+ &p->eosd_texture_width, &p->eosd_texture_height);
+ // xxx it doesn't need to be cleared, that's a waste of time
+ glCreateClearTex(gl, p->target, GL_ALPHA, GL_ALPHA,
+ GL_UNSIGNED_BYTE, GL_NEAREST,
+ p->eosd_texture_width,
+ p->eosd_texture_height, 0);
+ }
+ }
+
+ // 2 triangles primitives per quad = 6 vertices per quad
+ // not using GL_QUADS, as it is deprecated in OpenGL 3.x and later
+ p->eosd_va = talloc_realloc_size(p->eosd, p->eosd_va,
+ p->eosd->count *
+ sizeof(struct vertex_eosd) * 6);
+
+ float eosd_w = p->eosd_texture_width;
+ float eosd_h = p->eosd_texture_height;
+
+ if (p->use_rectangle == 1)
+ eosd_w = eosd_h = 1.0f;
+
+ ASS_Image *i = imgs->imgs;
+ struct pos *spos = p->eosd->result;
+ for (int n = 0; n < p->eosd->count; n++, i = i->next) {
+ if (i->w == 0 || i->h == 0)
+ continue;
+
+ if (need_upload)
+ glUploadTex(gl, p->target, GL_ALPHA, GL_UNSIGNED_BYTE, i->bitmap,
+ i->stride, spos[n].x, spos[n].y, i->w, i->h, 0);
+
+ uint8_t color[4] = { i->color >> 24, (i->color >> 16) & 0xff,
+ (i->color >> 8) & 0xff, 255 - (i->color & 0xff) };
+
+ float x0 = i->dst_x;
+ float y0 = i->dst_y;
+ float x1 = i->dst_x + i->w;
+ float y1 = i->dst_y + i->h;
+ float tx0 = spos[n].x / eosd_w;
+ float ty0 = spos[n].y / eosd_h;
+ float tx1 = (spos[n].x + i->w) / eosd_w;
+ float ty1 = (spos[n].y + i->h) / eosd_h;
+
+#define COLOR_INIT {color[0], color[1], color[2], color[3]}
+ struct vertex_eosd *va = &p->eosd_va[p->eosd_render_count * 6];
+ va[0] = (struct vertex_eosd) { x0, y0, COLOR_INIT, tx0, ty0 };
+ va[1] = (struct vertex_eosd) { x0, y1, COLOR_INIT, tx0, ty1 };
+ va[2] = (struct vertex_eosd) { x1, y0, COLOR_INIT, tx1, ty0 };
+ va[3] = (struct vertex_eosd) { x1, y1, COLOR_INIT, tx1, ty1 };
+ va[4] = va[2];
+ va[5] = va[1];
+#undef COLOR_INIT
+ p->eosd_render_count++;
+ }
+
+ gl->BindTexture(p->target, 0);
+ p->bitmap_id = imgs->bitmap_id;
+ p->bitmap_pos_id = imgs->bitmap_pos_id;
}
-/**
- * \brief construct display list from ass image list
- * \param img image list to create OSD from.
- * A value of NULL has the same effect as clearEOSD()
- */
-static void genEOSD(struct vo *vo, mp_eosd_images_t *imgs)
+// Note: relies on state being setup, like projection matrix and blending
+static void drawEOSD(struct vo *vo)
{
struct gl_priv *p = vo->priv;
GL *gl = p->gl;
- int sx, sy;
- int tinytexcur = 0;
- int smalltexcur = 0;
- GLuint *curtex;
- GLint scale_type = p->scaled_osd ? GL_LINEAR : GL_NEAREST;
- ASS_Image *img = imgs->imgs;
- ASS_Image *i;
-
- if (imgs->changed == 0) // there are elements, but they are unchanged
+ if (p->eosd_render_count == 0)
return;
- if (img && imgs->changed == 1) // there are elements, but they just moved
- goto skip_upload;
- clearEOSD(vo);
- if (!img)
- return;
- if (!p->largeeosdtex[0]) {
- gl->GenTextures(2, p->largeeosdtex);
- for (int n = 0; n < 2; n++) {
- gl->BindTexture(p->target, p->largeeosdtex[n]);
- glCreateClearTex(gl, p->target, GL_ALPHA, GL_ALPHA,
- GL_UNSIGNED_BYTE, scale_type,
- LARGE_EOSD_TEX_SIZE, LARGE_EOSD_TEX_SIZE, 0);
- }
- }
- for (i = img; i; i = i->next) {
- if (i->w <= 0 || i->h <= 0 || i->stride < i->w)
- continue;
- if (is_tinytex(i, tinytexcur))
- tinytexcur++;
- else if (is_smalltex(i, smalltexcur))
- smalltexcur++;
- else
- p->eosdtexCnt++;
- }
- mp_msg(MSGT_VO, MSGL_DBG2, "EOSD counts (tiny, small, all): %i, %i, %i\n",
- tinytexcur, smalltexcur, p->eosdtexCnt);
- if (p->eosdtexCnt) {
- p->eosdtex = calloc(p->eosdtexCnt, sizeof(GLuint));
- gl->GenTextures(p->eosdtexCnt, p->eosdtex);
- }
- tinytexcur = smalltexcur = 0;
- for (i = img, curtex = p->eosdtex; i; i = i->next) {
- int x = 0, y = 0;
- if (i->w <= 0 || i->h <= 0 || i->stride < i->w) {
- mp_msg(MSGT_VO, MSGL_V, "Invalid dimensions OSD for part!\n");
- continue;
- }
- if (is_tinytex(i, tinytexcur)) {
- tinytex_pos(tinytexcur, &x, &y);
- gl->BindTexture(p->target, p->largeeosdtex[0]);
- tinytexcur++;
- } else if (is_smalltex(i, smalltexcur)) {
- smalltex_pos(smalltexcur, &x, &y);
- gl->BindTexture(p->target, p->largeeosdtex[1]);
- smalltexcur++;
- } else {
- texSize(vo, i->w, i->h, &sx, &sy);
- gl->BindTexture(p->target, *curtex++);
- glCreateClearTex(gl, p->target, GL_ALPHA, GL_ALPHA,
- GL_UNSIGNED_BYTE, scale_type, sx, sy, 0);
- }
- glUploadTex(gl, p->target, GL_ALPHA, GL_UNSIGNED_BYTE, i->bitmap,
- i->stride, x, y, i->w, i->h, 0);
- }
- p->eosdDispList = gl->GenLists(1);
-skip_upload:
- gl->NewList(p->eosdDispList, GL_COMPILE);
- tinytexcur = smalltexcur = 0;
- for (i = img, curtex = p->eosdtex; i; i = i->next) {
- int x = 0, y = 0;
- if (i->w <= 0 || i->h <= 0 || i->stride < i->w)
- continue;
- gl->Color4ub(i->color >> 24, (i->color >> 16) & 0xff,
- (i->color >> 8) & 0xff, 255 - (i->color & 0xff));
- if (is_tinytex(i, tinytexcur)) {
- tinytex_pos(tinytexcur, &x, &y);
- sx = sy = LARGE_EOSD_TEX_SIZE;
- gl->BindTexture(p->target, p->largeeosdtex[0]);
- tinytexcur++;
- } else if (is_smalltex(i, smalltexcur)) {
- smalltex_pos(smalltexcur, &x, &y);
- sx = sy = LARGE_EOSD_TEX_SIZE;
- gl->BindTexture(p->target, p->largeeosdtex[1]);
- smalltexcur++;
- } else {
- texSize(vo, i->w, i->h, &sx, &sy);
- gl->BindTexture(p->target, *curtex++);
- }
- glDrawTex(gl, i->dst_x, i->dst_y, i->w, i->h, x, y, i->w, i->h, sx, sy,
- p->use_rectangle == 1, 0, 0);
- }
- gl->EndList();
+ gl->BindTexture(p->target, p->eosd_texture);
+
+ struct vertex_eosd *va = p->eosd_va;
+ size_t stride = sizeof(struct vertex_eosd);
+
+ gl->VertexPointer(2, GL_FLOAT, stride, &va[0].x);
+ gl->ColorPointer(4, GL_UNSIGNED_BYTE, stride, &va[0].color[0]);
+ gl->TexCoordPointer(2, GL_FLOAT, stride, &va[0].u);
+
+ gl->EnableClientState(GL_VERTEX_ARRAY);
+ gl->EnableClientState(GL_TEXTURE_COORD_ARRAY);
+ gl->EnableClientState(GL_COLOR_ARRAY);
+
+ gl->DrawArrays(GL_TRIANGLES, 0, p->eosd_render_count * 6);
+
+ gl->DisableClientState(GL_VERTEX_ARRAY);
+ gl->DisableClientState(GL_TEXTURE_COORD_ARRAY);
+ gl->DisableClientState(GL_COLOR_ARRAY);
+
gl->BindTexture(p->target, 0);
}
@@ -451,10 +417,11 @@ static void uninitGl(struct vo *vo)
gl->DeleteTextures(i, p->default_texs);
p->default_texs[0] = 0;
clearOSD(vo);
- clearEOSD(vo);
- if (p->largeeosdtex[0])
- gl->DeleteTextures(2, p->largeeosdtex);
- p->largeeosdtex[0] = 0;
+ if (p->eosd_texture)
+ gl->DeleteTextures(1, &p->eosd_texture);
+ p->bitmap_id = p->bitmap_pos_id = 0;
+ p->eosd->w = p->eosd->h = 0;
+ p->eosd_texture = 0;
if (gl->DeleteBuffers && p->buffer)
gl->DeleteBuffers(1, &p->buffer);
p->buffer = 0;
@@ -472,8 +439,10 @@ static int isSoftwareGl(struct vo *vo)
{
struct gl_priv *p = vo->priv;
const char *renderer = p->gl->GetString(GL_RENDERER);
+ const char *vendor = p->gl->GetString(GL_VENDOR);
return !renderer || strcmp(renderer, "Software Rasterizer") == 0 ||
- strstr(renderer, "llvmpipe");
+ strstr(renderer, "llvmpipe") ||
+ strcmp(vendor, "Microsoft Corporation") == 0;
}
static void autodetectGlExtensions(struct vo *vo)
@@ -634,6 +603,10 @@ static int initGl(struct vo *vo, uint32_t d_width, uint32_t d_height)
update_yuvconv(vo);
}
+ GLint max_texture_size;
+ gl->GetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size);
+ p->eosd->w_max = p->eosd->h_max = max_texture_size;
+
resize(vo, d_width, d_height);
gl->ClearColor(0.0f, 0.0f, 0.0f, 0.0f);
@@ -736,7 +709,6 @@ static void create_osd_texture(void *ctx, int x0, int y0, int w, int h,
glUploadTex(gl, p->target, GL_LUMINANCE, GL_UNSIGNED_BYTE, src, stride,
0, 0, w, h, 0);
-#ifndef FAST_OSD
gl->GenTextures(1, &p->osdatex[p->osdtexCnt]);
gl->BindTexture(p->target, p->osdatex[p->osdtexCnt]);
glCreateClearTex(gl, p->target, GL_ALPHA, GL_ALPHA, GL_UNSIGNED_BYTE,
@@ -752,19 +724,16 @@ static void create_osd_texture(void *ctx, int x0, int y0, int w, int h,
0, 0, w, h, 0);
free(tmp);
}
-#endif
gl->BindTexture(p->target, 0);
// Create a list for rendering this OSD part
-#ifndef FAST_OSD
p->osdaDispList[p->osdtexCnt] = gl->GenLists(1);
gl->NewList(p->osdaDispList[p->osdtexCnt], GL_COMPILE);
// render alpha
gl->BindTexture(p->target, p->osdatex[p->osdtexCnt]);
glDrawTex(gl, x0, y0, w, h, 0, 0, w, h, sx, sy, p->use_rectangle == 1, 0, 0);
gl->EndList();
-#endif
p->osdDispList[p->osdtexCnt] = gl->GenLists(1);
gl->NewList(p->osdDispList[p->osdtexCnt], GL_COMPILE);
// render OSD
@@ -787,7 +756,7 @@ static void do_render_osd(struct vo *vo, int type)
GL *gl = p->gl;
int draw_osd = (type & RENDER_OSD) && p->osdtexCnt > 0;
- int draw_eosd = (type & RENDER_EOSD) && p->eosdDispList;
+ int draw_eosd = (type & RENDER_EOSD);
if (!draw_osd && !draw_eosd)
return;
// set special rendering parameters
@@ -800,16 +769,14 @@ static void do_render_osd(struct vo *vo, int type)
gl->Enable(GL_BLEND);
if (draw_eosd) {
gl->BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->CallList(p->eosdDispList);
+ drawEOSD(vo);
}
if (draw_osd) {
gl->Color4ub((p->osd_color >> 16) & 0xff, (p->osd_color >> 8) & 0xff,
p->osd_color & 0xff, 0xff - (p->osd_color >> 24));
// draw OSD
-#ifndef FAST_OSD
gl->BlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
gl->CallLists(p->osdtexCnt, GL_UNSIGNED_INT, p->osdaDispList);
-#endif
gl->BlendFunc(GL_SRC_ALPHA, GL_ONE);
gl->CallLists(p->osdtexCnt, GL_UNSIGNED_INT, p->osdDispList);
}
@@ -848,7 +815,7 @@ static void do_render(struct vo *vo)
// Enable(GL_TEXTURE_2D);
// BindTexture(GL_TEXTURE_2D, texture_id);
- gl->Color3f(1, 1, 1);
+ gl->Color4f(1, 1, 1, 1);
if (p->is_yuv || p->custom_prog)
glEnableYUVConversion(gl, p->target, p->yuvconvtype);
if (p->stereo_mode) {
@@ -1092,7 +1059,7 @@ static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
slice = 0; // always "upload" full texture
}
glUploadTex(gl, p->target, p->gl_format, p->gl_type, planes[0],
- stride[0], mpi->x, mpi->y, w, h, slice);
+ stride[0], 0, 0, w, h, slice);
if (p->is_yuv) {
int xs, ys;
mp_get_chroma_shift(p->image_format, &xs, &ys, NULL);
@@ -1103,8 +1070,7 @@ static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
}
gl->ActiveTexture(GL_TEXTURE1);
glUploadTex(gl, p->target, p->gl_format, p->gl_type, planes[1],
- stride[1], mpi->x >> xs, mpi->y >> ys, w >> xs, h >> ys,
- slice);
+ stride[1], 0, 0, w >> xs, h >> ys, slice);
if ((mpi->flags & MP_IMGFLAG_DIRECT) && !(mpi->flags & MP_IMGFLAG_COMMON_PLANE)) {
gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, p->buffer_uv[1]);
gl->UnmapBuffer(GL_PIXEL_UNPACK_BUFFER);
@@ -1112,8 +1078,7 @@ static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
}
gl->ActiveTexture(GL_TEXTURE2);
glUploadTex(gl, p->target, p->gl_format, p->gl_type, planes[2],
- stride[2], mpi->x >> xs, mpi->y >> ys, w >> xs, h >> ys,
- slice);
+ stride[2], 0, 0, w >> xs, h >> ys, slice);
gl->ActiveTexture(GL_TEXTURE0);
}
if (mpi->flags & MP_IMGFLAG_DIRECT) {
@@ -1218,8 +1183,12 @@ static void uninit(struct vo *vo)
p->gl = NULL;
}
-static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
- enum MPGLType gltype)
+static int backend_valid(void *arg)
+{
+ return mpgl_find_backend(*(const char **)arg) >= 0;
+}
+
+static int preinit(struct vo *vo, const char *arg)
{
struct gl_priv *p = talloc_zero(vo, struct gl_priv);
vo->priv = p;
@@ -1240,6 +1209,11 @@ static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
.osd_color = 0xffffff,
};
+ p->eosd = talloc_zero(vo, struct bitmap_packer);
+
+ int allow_sw = 0;
+ char *backend_arg = NULL;
+
//essentially unused; for legacy warnings only
int user_colorspace = 0;
int levelconv = -1;
@@ -1256,6 +1230,7 @@ static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
{"lscale", OPT_ARG_INT, &p->lscale, int_non_neg},
{"cscale", OPT_ARG_INT, &p->cscale, int_non_neg},
{"filter-strength", OPT_ARG_FLOAT, &p->filter_strength, NULL},
+ {"noise-strength", OPT_ARG_FLOAT, &p->noise_strength, NULL},
{"ati-hack", OPT_ARG_BOOL, &p->ati_hack, NULL},
{"force-pbo", OPT_ARG_BOOL, &p->force_pbo, NULL},
{"glfinish", OPT_ARG_BOOL, &p->use_glFinish, NULL},
@@ -1267,6 +1242,8 @@ static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
{"mipmapgen", OPT_ARG_BOOL, &p->mipmap_gen, NULL},
{"osdcolor", OPT_ARG_INT, &p->osd_color, NULL},
{"stereo", OPT_ARG_INT, &p->stereo_mode, NULL},
+ {"sw", OPT_ARG_BOOL, &allow_sw, NULL},
+ {"backend", OPT_ARG_MSTRZ,&backend_arg, backend_valid},
// Removed options.
// They are only parsed to notify the user about the replacements.
{"aspect", OPT_ARG_BOOL, &aspect, NULL},
@@ -1323,6 +1300,8 @@ static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
" as lscale but for chroma (2x slower with little visible effect).\n"
" filter-strength=<value>\n"
" set the effect strength for some lscale/cscale filters\n"
+ " noise-strength=<value>\n"
+ " set how much noise to add. 1.0 is suitable for dithering to 6 bit.\n"
" customprog=<filename>\n"
" use a custom YUV conversion program\n"
" customtex=<filename>\n"
@@ -1340,6 +1319,14 @@ static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
" 1: side-by-side to red-cyan stereo\n"
" 2: side-by-side to green-magenta stereo\n"
" 3: side-by-side to quadbuffer stereo\n"
+ " sw\n"
+ " allow using a software renderer, if such is detected\n"
+ " backend=<sys>\n"
+ " auto: auto-select (default)\n"
+ " cocoa: Cocoa/OSX\n"
+ " win: Win32/WGL\n"
+ " x11: X11/GLX\n"
+ " sdl: SDL\n"
"\n");
return -1;
}
@@ -1359,7 +1346,11 @@ static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
" been removed, using yuv=2 instead.\n");
p->use_yuv = 2;
}
- p->glctx = init_mpglcontext(gltype, vo);
+
+ int backend = backend_arg ? mpgl_find_backend(backend_arg) : GLTYPE_AUTO;
+ free(backend_arg);
+
+ p->glctx = init_mpglcontext(backend, vo);
if (!p->glctx)
goto err_out;
p->gl = p->glctx->gl;
@@ -1383,7 +1374,7 @@ static int preinit_internal(struct vo *vo, const char *arg, int allow_sw,
// acceleration and so on. Destroy that window to make sure all state
// associated with it is lost.
uninit(vo);
- p->glctx = init_mpglcontext(gltype, vo);
+ p->glctx = init_mpglcontext(backend, vo);
if (!p->glctx)
goto err_out;
p->gl = p->glctx->gl;
@@ -1401,11 +1392,6 @@ err_out:
return -1;
}
-static int preinit(struct vo *vo, const char *arg)
-{
- return preinit_internal(vo, arg, 1, GLTYPE_AUTO);
-}
-
static int control(struct vo *vo, uint32_t request, void *data)
{
struct gl_priv *p = vo->priv;
@@ -1526,11 +1512,9 @@ const struct vo_driver video_out_gl = {
.uninit = uninit,
};
-static int preinit_nosw(struct vo *vo, const char *arg)
-{
- return preinit_internal(vo, arg, 0, GLTYPE_AUTO);
-}
-
+// "-vo gl" used to accept software renderers by default. This is not the case
+// anymore: you have to use "-vo gl:sw" to get this. This means gl and gl_nosw
+// are exactly the same thing now. Keep gl_nosw to not break user configs.
const struct vo_driver video_out_gl_nosw =
{
.is_new = true,
@@ -1540,31 +1524,7 @@ const struct vo_driver video_out_gl_nosw =
"Reimar Doeffinger <Reimar.Doeffinger at gmx.de>",
""
},
- .preinit = preinit_nosw,
- .config = config,
- .control = control,
- .draw_slice = draw_slice,
- .draw_osd = draw_osd,
- .flip_page = flip_page,
- .check_events = check_events,
- .uninit = uninit,
-};
-
-#ifdef CONFIG_GL_SDL
-static int preinit_sdl(struct vo *vo, const char *arg)
-{
- return preinit_internal(vo, arg, 1, GLTYPE_SDL);
-}
-
-const struct vo_driver video_out_gl_sdl = {
- .is_new = true,
- .info = &(const vo_info_t) {
- "OpenGL with SDL",
- "gl_sdl",
- "Reimar Doeffinger <Reimar.Doeffinger at gmx.de>",
- ""
- },
- .preinit = preinit_sdl,
+ .preinit = preinit,
.config = config,
.control = control,
.draw_slice = draw_slice,
@@ -1573,4 +1533,3 @@ const struct vo_driver video_out_gl_sdl = {
.check_events = check_events,
.uninit = uninit,
};
-#endif
diff --git a/libvo/vo_gl3.c b/libvo/vo_gl3.c
new file mode 100644
index 0000000..b361735
--- /dev/null
+++ b/libvo/vo_gl3.c
@@ -0,0 +1,2428 @@
+/*
+ * This file is part of MPlayer.
+ *
+ * MPlayer is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * MPlayer is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with MPlayer; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * You can alternatively redistribute this file and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <stdbool.h>
+#include <assert.h>
+#include "config.h"
+
+#include <libavutil/common.h>
+
+#ifdef CONFIG_LCMS2
+#include <lcms2.h>
+#include "stream/stream.h"
+#endif
+
+#include "talloc.h"
+#include "bstr.h"
+#include "mp_msg.h"
+#include "subopt-helper.h"
+#include "video_out.h"
+#include "libmpcodecs/vfcap.h"
+#include "libmpcodecs/mp_image.h"
+#include "geometry.h"
+#include "osd.h"
+#include "sub/sub.h"
+#include "bitmap_packer.h"
+
+#include "gl_common.h"
+#include "filter_kernels.h"
+#include "aspect.h"
+#include "fastmemcpy.h"
+#include "sub/ass_mp.h"
+
+static const char vo_gl3_shaders[] =
+// Generated from libvo/vo_gl3_shaders.glsl
+#include "libvo/vo_gl3_shaders.h"
+;
+
+// How many parts the OSD may consist of at most.
+#define MAX_OSD_PARTS 20
+
+// Pixel width of 1D lookup textures.
+#define LOOKUP_TEXTURE_SIZE 256
+
+// Texture units 0-2 are used by the video, with unit 0 for free use.
+// Units 3-4 are used for scaler LUTs.
+#define TEXUNIT_SCALERS 3
+#define TEXUNIT_3DLUT 5
+#define TEXUNIT_DITHER 6
+
+// lscale/cscale arguments that map directly to shader filter routines.
+// Note that the convolution filters are not included in this list.
+static const char *fixed_scale_filters[] = {
+ "bilinear",
+ "bicubic_fast",
+ "sharpen3",
+ "sharpen5",
+ NULL
+};
+
+struct lut_tex_format {
+ int pixels;
+ GLint internal_format;
+ GLenum format;
+};
+
+// Indexed with filter_kernel->size.
+// This must match the weightsN functions in the shader.
+// Each entry uses (size+3)/4 pixels per LUT entry, and size/pixels components
+// per pixel.
+struct lut_tex_format lut_tex_formats[] = {
+ [2] = {1, GL_RG16F, GL_RG},
+ [4] = {1, GL_RGBA16F, GL_RGBA},
+ [6] = {2, GL_RGB16F, GL_RGB},
+ [8] = {2, GL_RGBA16F, GL_RGBA},
+ [12] = {3, GL_RGBA16F, GL_RGBA},
+ [16] = {4, GL_RGBA16F, GL_RGBA},
+};
+
+// must be sorted, and terminated with 0
+static const int filter_sizes[] = {2, 4, 6, 8, 12, 16, 0};
+
+struct vertex {
+ float position[2];
+ uint8_t color[4];
+ float texcoord[2];
+};
+
+#define VERTEX_ATTRIB_POSITION 0
+#define VERTEX_ATTRIB_COLOR 1
+#define VERTEX_ATTRIB_TEXCOORD 2
+
+// 2 triangles primitives per quad = 6 vertices per quad
+// (GL_QUAD is deprecated, strips can't be used with EOSD image lists)
+#define VERTICES_PER_QUAD 6
+
+struct texplane {
+ int shift_x, shift_y;
+ GLuint gl_texture;
+ int gl_buffer;
+ int buffer_size;
+ void *buffer_ptr;
+};
+
+struct scaler {
+ int index;
+ const char *name;
+ float params[2];
+ struct filter_kernel *kernel;
+ GLuint gl_lut;
+ const char *lut_name;
+
+ // kernel points here
+ struct filter_kernel kernel_storage;
+};
+
+struct fbotex {
+ GLuint fbo;
+ GLuint texture;
+ int tex_w, tex_h; // size of .texture
+ int vp_w, vp_h; // viewport of fbo / used part of the texture
+};
+
+struct gl_priv {
+ struct vo *vo;
+ MPGLContext *glctx;
+ GL *gl;
+ const char *shader_version;
+
+ int use_indirect;
+ int use_gamma;
+ int use_srgb;
+ int use_scale_sep;
+ int use_fancy_downscaling;
+ int use_lut_3d;
+ int use_npot;
+ int use_pbo;
+ int use_glFinish;
+ int use_gl_debug;
+ int use_gl2;
+
+ int dither_depth;
+ int swap_interval;
+ GLint fbo_format;
+ int stereo_mode;
+
+ GLuint vertex_buffer;
+ GLuint vao;
+
+ GLuint osd_program, eosd_program;
+ GLuint indirect_program, scale_sep_program, final_program;
+
+ GLuint osd_textures[MAX_OSD_PARTS];
+ int osd_textures_count;
+ struct vertex osd_va[MAX_OSD_PARTS * VERTICES_PER_QUAD];
+
+ GLuint eosd_texture;
+ int eosd_texture_width, eosd_texture_height;
+ GLuint eosd_buffer;
+ struct vertex *eosd_va;
+ struct bitmap_packer *eosd;
+ int eosd_render_count;
+ unsigned int bitmap_id;
+ unsigned int bitmap_pos_id;
+
+ GLuint lut_3d_texture;
+ int lut_3d_w, lut_3d_h, lut_3d_d;
+ void *lut_3d_data;
+
+ GLuint dither_texture;
+ float dither_quantization;
+ float dither_multiply;
+
+ uint32_t image_width;
+ uint32_t image_height;
+ uint32_t image_format;
+ int texture_width;
+ int texture_height;
+
+ bool is_yuv;
+ bool is_linear_rgb;
+
+ // per pixel (full pixel when packed, each component when planar)
+ int plane_bytes;
+ int plane_bits;
+ int component_bits;
+
+ GLint gl_internal_format;
+ GLenum gl_format;
+ GLenum gl_type;
+
+ int plane_count;
+ struct texplane planes[3];
+
+ struct fbotex indirect_fbo; // RGB target
+ struct fbotex scale_sep_fbo; // first pass when doing 2 pass scaling
+
+ // state for luma (0) and chroma (1) scalers
+ struct scaler scalers[2];
+ // luma scaler parameters (the same are used for chroma)
+ float scaler_params[2];
+
+ struct mp_csp_details colorspace;
+ struct mp_csp_equalizer video_eq;
+
+ int mpi_flipped;
+ int vo_flipped;
+
+ struct vo_rect src_rect; // displayed part of the source video
+ struct vo_rect dst_rect; // video rectangle on output window
+ int border_x, border_y; // OSD borders
+ int vp_x, vp_y, vp_w, vp_h; // GL viewport
+};
+
+struct fmt_entry {
+ int mp_format;
+ GLint internal_format;
+ GLenum format;
+ int component_bits;
+ GLenum type;
+};
+
+static const struct fmt_entry mp_to_gl_formats[] = {
+ {IMGFMT_RGB48NE, GL_RGB16, GL_RGB, 16, GL_UNSIGNED_SHORT},
+ {IMGFMT_RGB24, GL_RGB, GL_RGB, 8, GL_UNSIGNED_BYTE},
+ {IMGFMT_RGBA, GL_RGBA, GL_RGBA, 8, GL_UNSIGNED_BYTE},
+ {IMGFMT_RGB15, GL_RGBA, GL_RGBA, 5, GL_UNSIGNED_SHORT_1_5_5_5_REV},
+ {IMGFMT_RGB16, GL_RGB, GL_RGB, 6, GL_UNSIGNED_SHORT_5_6_5_REV},
+ {IMGFMT_BGR15, GL_RGBA, GL_BGRA, 5, GL_UNSIGNED_SHORT_1_5_5_5_REV},
+ {IMGFMT_BGR16, GL_RGB, GL_RGB, 6, GL_UNSIGNED_SHORT_5_6_5},
+ {IMGFMT_BGR24, GL_RGB, GL_BGR, 8, GL_UNSIGNED_BYTE},
+ {IMGFMT_BGRA, GL_RGBA, GL_BGRA, 8, GL_UNSIGNED_BYTE},
+ {0},
+};
+
+
+static const char help_text[];
+
+static void uninit_rendering(struct gl_priv *p);
+static void delete_shaders(struct gl_priv *p);
+
+
+static void default_tex_params(struct GL *gl, GLenum target, GLint filter)
+{
+ gl->TexParameteri(target, GL_TEXTURE_MIN_FILTER, filter);
+ gl->TexParameteri(target, GL_TEXTURE_MAG_FILTER, filter);
+ gl->TexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ gl->TexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+}
+
+static void debug_check_gl(struct gl_priv *p, const char *msg)
+{
+ if (p->use_gl_debug)
+ glCheckError(p->gl, msg);
+}
+
+static void tex_size(struct gl_priv *p, int w, int h, int *texw, int *texh)
+{
+ if (p->use_npot) {
+ *texw = w;
+ *texh = h;
+ } else {
+ *texw = 32;
+ while (*texw < w)
+ *texw *= 2;
+ *texh = 32;
+ while (*texh < h)
+ *texh *= 2;
+ }
+}
+
+static void draw_triangles(struct gl_priv *p, struct vertex *vb, int vert_count)
+{
+ GL *gl = p->gl;
+
+ assert(vert_count % 3 == 0);
+
+ gl->BindBuffer(GL_ARRAY_BUFFER, p->vertex_buffer);
+ gl->BufferData(GL_ARRAY_BUFFER, vert_count * sizeof(struct vertex), vb,
+ GL_DYNAMIC_DRAW);
+ gl->BindBuffer(GL_ARRAY_BUFFER, 0);
+
+ gl->BindVertexArray(p->vao);
+ gl->DrawArrays(GL_TRIANGLES, 0, vert_count);
+ gl->BindVertexArray(0);
+
+ debug_check_gl(p, "after rendering");
+}
+
+// Write a textured quad to a vertex array.
+// va = destination vertex array, VERTICES_PER_QUAD entries will be overwritten
+// x0, y0, x1, y1 = destination coordinates of the quad
+// tx0, ty0, tx1, ty1 = source texture coordinates (usually in pixels)
+// texture_w, texture_h = size of the texture, or an inverse factor
+// color = optional color for all vertices, NULL for opaque white
+// flip = flip vertically
+static void write_quad(struct vertex *va,
+ float x0, float y0, float x1, float y1,
+ float tx0, float ty0, float tx1, float ty1,
+ float texture_w, float texture_h,
+ const uint8_t color[4], bool flip)
+{
+ static const uint8_t white[4] = { 255, 255, 255, 255 };
+
+ if (!color)
+ color = white;
+
+ tx0 /= texture_w;
+ ty0 /= texture_h;
+ tx1 /= texture_w;
+ ty1 /= texture_h;
+
+ if (flip) {
+ float tmp = ty0;
+ ty0 = ty1;
+ ty1 = tmp;
+ }
+
+#define COLOR_INIT {color[0], color[1], color[2], color[3]}
+ va[0] = (struct vertex) { {x0, y0}, COLOR_INIT, {tx0, ty0} };
+ va[1] = (struct vertex) { {x0, y1}, COLOR_INIT, {tx0, ty1} };
+ va[2] = (struct vertex) { {x1, y0}, COLOR_INIT, {tx1, ty0} };
+ va[3] = (struct vertex) { {x1, y1}, COLOR_INIT, {tx1, ty1} };
+ va[4] = va[2];
+ va[5] = va[1];
+#undef COLOR_INIT
+}
+
+static void fbotex_init(struct gl_priv *p, struct fbotex *fbo, int w, int h)
+{
+ GL *gl = p->gl;
+
+ assert(!fbo->fbo);
+ assert(!fbo->texture);
+
+ tex_size(p, w, h, &fbo->tex_w, &fbo->tex_h);
+
+ fbo->vp_w = w;
+ fbo->vp_h = h;
+
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Create FBO: %dx%d\n", fbo->tex_w, fbo->tex_h);
+
+ gl->GenFramebuffers(1, &fbo->fbo);
+ gl->GenTextures(1, &fbo->texture);
+ gl->BindTexture(GL_TEXTURE_2D, fbo->texture);
+ gl->TexImage2D(GL_TEXTURE_2D, 0, p->fbo_format, fbo->tex_w, fbo->tex_h, 0,
+ GL_RGB, GL_UNSIGNED_BYTE, NULL);
+ default_tex_params(gl, GL_TEXTURE_2D, GL_LINEAR);
+ gl->BindFramebuffer(GL_FRAMEBUFFER, fbo->fbo);
+ gl->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
+ GL_TEXTURE_2D, fbo->texture, 0);
+
+ if (gl->CheckFramebufferStatus(GL_FRAMEBUFFER)
+ != GL_FRAMEBUFFER_COMPLETE)
+ {
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] Error: framebuffer completeness "
+ "check failed!\n");
+ }
+
+ gl->BindFramebuffer(GL_FRAMEBUFFER, 0);
+
+ debug_check_gl(p, "after creating framebuffer & associated texture");
+}
+
+static void fbotex_uninit(struct gl_priv *p, struct fbotex *fbo)
+{
+ GL *gl = p->gl;
+
+ gl->DeleteFramebuffers(1, &fbo->fbo);
+ gl->DeleteTextures(1, &fbo->texture);
+ *fbo = (struct fbotex) {0};
+}
+
+static void matrix_ortho2d(float m[3][3], float x0, float x1,
+ float y0, float y1)
+{
+ memset(m, 0, 9 * sizeof(float));
+ m[0][0] = 2.0f / (x1 - x0);
+ m[1][1] = 2.0f / (y1 - y0);
+ m[2][0] = -(x1 + x0) / (x1 - x0);
+ m[2][1] = -(y1 + y0) / (y1 - y0);
+ m[2][2] = 1.0f;
+}
+
+static void update_uniforms(struct gl_priv *p, GLuint program)
+{
+ GL *gl = p->gl;
+ GLint loc;
+
+ if (program == 0)
+ return;
+
+ gl->UseProgram(program);
+
+ struct mp_csp_params cparams = {
+ .colorspace = p->colorspace,
+ .input_bits = p->plane_bits,
+ .texture_bits = (p->plane_bits + 7) & ~7,
+ };
+ mp_csp_copy_equalizer_values(&cparams, &p->video_eq);
+
+ loc = gl->GetUniformLocation(program, "transform");
+ if (loc >= 0) {
+ float matrix[3][3];
+ matrix_ortho2d(matrix, 0, p->vp_w, p->vp_h, 0);
+ gl->UniformMatrix3fv(loc, 1, GL_FALSE, &matrix[0][0]);
+ }
+
+ loc = gl->GetUniformLocation(program, "colormatrix");
+ if (loc >= 0) {
+ float yuv2rgb[3][4] = {{0}};
+ if (p->is_yuv)
+ mp_get_yuv2rgb_coeffs(&cparams, yuv2rgb);
+ gl->UniformMatrix4x3fv(loc, 1, GL_TRUE, &yuv2rgb[0][0]);
+ }
+
+ gl->Uniform3f(gl->GetUniformLocation(program, "inv_gamma"),
+ 1.0 / cparams.rgamma,
+ 1.0 / cparams.ggamma,
+ 1.0 / cparams.bgamma);
+
+ gl->Uniform1i(gl->GetUniformLocation(program, "texture1"), 0);
+ gl->Uniform1i(gl->GetUniformLocation(program, "texture2"), 1);
+ gl->Uniform1i(gl->GetUniformLocation(program, "texture3"), 2);
+
+ gl->Uniform1i(gl->GetUniformLocation(program, "lut_3d"), TEXUNIT_3DLUT);
+
+ for (int n = 0; n < 2; n++) {
+ const char *lut = p->scalers[n].lut_name;
+ if (lut)
+ gl->Uniform1i(gl->GetUniformLocation(program, lut),
+ TEXUNIT_SCALERS + n);
+ }
+
+ gl->Uniform1i(gl->GetUniformLocation(program, "dither"), TEXUNIT_DITHER);
+ gl->Uniform1f(gl->GetUniformLocation(program, "dither_quantization"),
+ p->dither_quantization);
+ gl->Uniform1f(gl->GetUniformLocation(program, "dither_multiply"),
+ p->dither_multiply);
+
+ float sparam1 = p->scaler_params[0];
+ gl->Uniform1f(gl->GetUniformLocation(program, "filter_param1"),
+ isnan(sparam1) ? 0.5f : sparam1);
+
+ gl->UseProgram(0);
+
+ debug_check_gl(p, "update_uniforms()");
+}
+
+static void update_all_uniforms(struct gl_priv *p)
+{
+ update_uniforms(p, p->osd_program);
+ update_uniforms(p, p->eosd_program);
+ update_uniforms(p, p->indirect_program);
+ update_uniforms(p, p->scale_sep_program);
+ update_uniforms(p, p->final_program);
+}
+
+#define SECTION_HEADER "#!section "
+
+static char *get_section(void *talloc_ctx, struct bstr source,
+ const char *section)
+{
+ char *res = talloc_strdup(talloc_ctx, "");
+ bool copy = false;
+ while (source.len) {
+ struct bstr line = bstr_getline(source, &source);
+ if (bstr_eatstart(&line, bstr(SECTION_HEADER))) {
+ copy = bstrcmp0(bstr_strip(line), section) == 0;
+ } else if (copy) {
+ res = talloc_asprintf_append_buffer(res, "%.*s", BSTR_P(line));
+ }
+ }
+ return res;
+}
+
+static char *t_concat(void *talloc_ctx, const char *s1, const char *s2)
+{
+ return talloc_asprintf(talloc_ctx, "%s%s", s1, s2);
+}
+
+static GLuint create_shader(GL *gl, GLenum type, const char *header,
+ const char *source)
+{
+ void *tmp = talloc_new(NULL);
+ const char *full_source = t_concat(tmp, header, source);
+
+ GLuint shader = gl->CreateShader(type);
+ gl->ShaderSource(shader, 1, &full_source, NULL);
+ gl->CompileShader(shader);
+ GLint status;
+ gl->GetShaderiv(shader, GL_COMPILE_STATUS, &status);
+ GLint log_length;
+ gl->GetShaderiv(shader, GL_INFO_LOG_LENGTH, &log_length);
+
+ int pri = status ? (log_length > 1 ? MSGL_V : MSGL_DBG2) : MSGL_ERR;
+ const char *typestr = type == GL_VERTEX_SHADER ? "vertex" : "fragment";
+ if (mp_msg_test(MSGT_VO, pri)) {
+ mp_msg(MSGT_VO, pri, "[gl] %s shader source:\n", typestr);
+ mp_log_source(MSGT_VO, pri, full_source);
+ }
+ if (log_length > 1) {
+ GLchar *log = talloc_zero_size(tmp, log_length + 1);
+ gl->GetShaderInfoLog(shader, log_length, NULL, log);
+ mp_msg(MSGT_VO, pri, "[gl] %s shader compile log (status=%d):\n%s\n",
+ typestr, status, log);
+ }
+
+ talloc_free(tmp);
+
+ return shader;
+}
+
+static void prog_create_shader(GL *gl, GLuint program, GLenum type,
+ const char *header, const char *source)
+{
+ GLuint shader = create_shader(gl, type, header, source);
+ gl->AttachShader(program, shader);
+ gl->DeleteShader(shader);
+}
+
+static void link_shader(GL *gl, GLuint program)
+{
+ gl->LinkProgram(program);
+ GLint status;
+ gl->GetProgramiv(program, GL_LINK_STATUS, &status);
+ GLint log_length;
+ gl->GetProgramiv(program, GL_INFO_LOG_LENGTH, &log_length);
+
+ int pri = status ? (log_length > 1 ? MSGL_V : MSGL_DBG2) : MSGL_ERR;
+ if (mp_msg_test(MSGT_VO, pri)) {
+ GLchar *log = talloc_zero_size(NULL, log_length + 1);
+ gl->GetProgramInfoLog(program, log_length, NULL, log);
+ mp_msg(MSGT_VO, pri, "[gl] shader link log (status=%d): %s\n",
+ status, log);
+ talloc_free(log);
+ }
+}
+
+static void bind_attrib_locs(GL *gl, GLuint program)
+{
+ gl->BindAttribLocation(program, VERTEX_ATTRIB_POSITION, "vertex_position");
+ gl->BindAttribLocation(program, VERTEX_ATTRIB_COLOR, "vertex_color");
+ gl->BindAttribLocation(program, VERTEX_ATTRIB_TEXCOORD, "vertex_texcoord");
+}
+
+static GLuint create_program(GL *gl, const char *name, const char *header,
+ const char *vertex, const char *frag)
+{
+ mp_msg(MSGT_VO, MSGL_V, "[gl] compiling shader program '%s'\n", name);
+ mp_msg(MSGT_VO, MSGL_V, "[gl] header:\n");
+ mp_log_source(MSGT_VO, MSGL_V, header);
+ GLuint prog = gl->CreateProgram();
+ prog_create_shader(gl, prog, GL_VERTEX_SHADER, header, vertex);
+ prog_create_shader(gl, prog, GL_FRAGMENT_SHADER, header, frag);
+ bind_attrib_locs(gl, prog);
+ link_shader(gl, prog);
+ return prog;
+}
+
+static void shader_def(char **shader, const char *name,
+ const char *value)
+{
+ *shader = talloc_asprintf_append(*shader, "#define %s %s\n", name, value);
+}
+
+static void shader_def_opt(char **shader, const char *name, bool b)
+{
+ if (b)
+ shader_def(shader, name, "1");
+}
+
+static void shader_setup_scaler(char **shader, struct scaler *scaler, int pass)
+{
+ const char *target = scaler->index == 0 ? "SAMPLE_L" : "SAMPLE_C";
+ if (!scaler->kernel) {
+ *shader = talloc_asprintf_append(*shader, "#define %s sample_%s\n",
+ target, scaler->name);
+ } else {
+ int size = scaler->kernel->size;
+ if (pass != -1) {
+ // The direction/pass assignment is rather arbitrary, but fixed in
+ // other parts of the code (like FBO setup).
+ const char *direction = pass == 0 ? "0, 1" : "1, 0";
+ *shader = talloc_asprintf_append(*shader, "#define %s(p0, p1) "
+ "sample_convolution_sep%d(vec2(%s), %s, p0, p1)\n",
+ target, size, direction, scaler->lut_name);
+ } else {
+ *shader = talloc_asprintf_append(*shader, "#define %s(p0, p1) "
+ "sample_convolution%d(%s, p0, p1)\n",
+ target, size, scaler->lut_name);
+ }
+ }
+}
+
+// return false if RGB or 4:4:4 YUV
+static bool input_is_subsampled(struct gl_priv *p)
+{
+ for (int i = 0; i < p->plane_count; i++)
+ if (p->planes[i].shift_x || p->planes[i].shift_y)
+ return true;
+ return false;
+}
+
+static void compile_shaders(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ delete_shaders(p);
+
+ void *tmp = talloc_new(NULL);
+
+ struct bstr src = bstr(vo_gl3_shaders);
+ char *vertex_shader = get_section(tmp, src, "vertex_all");
+ char *shader_prelude = get_section(tmp, src, "prelude");
+ char *s_video = get_section(tmp, src, "frag_video");
+ char *s_eosd = get_section(tmp, src, "frag_eosd");
+ char *s_osd = get_section(tmp, src, "frag_osd");
+
+ char *header = talloc_asprintf(tmp, "#version %s\n%s", p->shader_version,
+ shader_prelude);
+
+ char *header_eosd = talloc_strdup(tmp, header);
+ shader_def_opt(&header_eosd, "USE_3DLUT", p->use_lut_3d);
+
+ p->eosd_program =
+ create_program(gl, "eosd", header_eosd, vertex_shader, s_eosd);
+
+ p->osd_program =
+ create_program(gl, "osd", header, vertex_shader, s_osd);
+
+ char *header_conv = talloc_strdup(tmp, "");
+ char *header_final = talloc_strdup(tmp, "");
+ char *header_sep = NULL;
+
+ bool convert_input_to_linear = !p->is_linear_rgb
+ && (p->use_srgb || p->use_lut_3d);
+
+ shader_def_opt(&header_conv, "USE_PLANAR", p->plane_count > 1);
+ shader_def_opt(&header_conv, "USE_GBRP", p->image_format == IMGFMT_GBRP);
+ shader_def_opt(&header_conv, "USE_YGRAY", p->is_yuv && p->plane_count == 1);
+ shader_def_opt(&header_conv, "USE_COLORMATRIX", p->is_yuv);
+ shader_def_opt(&header_conv, "USE_LINEAR_CONV", convert_input_to_linear);
+
+ shader_def_opt(&header_final, "USE_LINEAR_CONV_INV", p->use_lut_3d);
+ shader_def_opt(&header_final, "USE_GAMMA_POW", p->use_gamma);
+ shader_def_opt(&header_final, "USE_3DLUT", p->use_lut_3d);
+ shader_def_opt(&header_final, "USE_DITHER", p->dither_texture != 0);
+
+ if (p->use_scale_sep && p->scalers[0].kernel) {
+ header_sep = talloc_strdup(tmp, "");
+ shader_def_opt(&header_sep, "FIXED_SCALE", true);
+ shader_setup_scaler(&header_sep, &p->scalers[0], 0);
+ shader_setup_scaler(&header_final, &p->scalers[0], 1);
+ } else {
+ shader_setup_scaler(&header_final, &p->scalers[0], -1);
+ }
+
+ // We want to do scaling in linear light. Scaling is closely connected to
+ // texture sampling due to how the shader is structured (or if GL bilinear
+ // scaling is used). The purpose of the "indirect" pass is to convert the
+ // input video to linear RGB.
+ // Another purpose is reducing input to a single texture for scaling.
+ bool use_indirect = p->use_indirect;
+
+ // Don't sample from input video textures before converting the input to
+ // linear light. (Unneeded when sRGB textures are used.)
+ if (convert_input_to_linear)
+ use_indirect = true;
+
+ // It doesn't make sense to scale the chroma with cscale in the 1. scale
+ // step and with lscale in the 2. step. If the chroma is subsampled, a
+ // convolution filter wouldn't even work entirely correctly, because the
+ // luma scaler would sample two texels instead of one per tap for chroma.
+ // Also, even with 4:4:4 YUV or planar RGB, the indirection might be faster,
+ // because the shader can't use one scaler for sampling from 3 textures. It
+ // has to fetch the coefficients for each texture separately, even though
+ // they're the same (this is not an inherent restriction, but would require
+ // to restructure the shader).
+ if (header_sep && p->plane_count > 1)
+ use_indirect = true;
+
+ if (input_is_subsampled(p)) {
+ shader_setup_scaler(&header_conv, &p->scalers[1], -1);
+ } else {
+ // Force using the luma scaler on chroma. If the "indirect" stage is
+ // used, the actual scaling will happen in the next stage.
+ shader_def(&header_conv, "SAMPLE_C",
+ use_indirect ? "sample_bilinear" : "SAMPLE_L");
+ }
+
+ if (use_indirect) {
+ // We don't use filtering for the Y-plane (luma), because it's never
+ // scaled in this scenario.
+ shader_def(&header_conv, "SAMPLE_L", "sample_bilinear");
+ shader_def_opt(&header_conv, "FIXED_SCALE", true);
+ header_conv = t_concat(tmp, header, header_conv);
+ p->indirect_program =
+ create_program(gl, "indirect", header_conv, vertex_shader, s_video);
+ } else if (header_sep) {
+ header_sep = t_concat(tmp, header_sep, header_conv);
+ } else {
+ header_final = t_concat(tmp, header_final, header_conv);
+ }
+
+ if (header_sep) {
+ header_sep = t_concat(tmp, header, header_sep);
+ p->scale_sep_program =
+ create_program(gl, "scale_sep", header_sep, vertex_shader, s_video);
+ }
+
+ header_final = t_concat(tmp, header, header_final);
+ p->final_program =
+ create_program(gl, "final", header_final, vertex_shader, s_video);
+
+ debug_check_gl(p, "shader compilation");
+
+ talloc_free(tmp);
+}
+
+static void delete_program(GL *gl, GLuint *prog)
+{
+ gl->DeleteProgram(*prog);
+ *prog = 0;
+}
+
+static void delete_shaders(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ delete_program(gl, &p->osd_program);
+ delete_program(gl, &p->eosd_program);
+ delete_program(gl, &p->indirect_program);
+ delete_program(gl, &p->scale_sep_program);
+ delete_program(gl, &p->final_program);
+}
+
+static double get_scale_factor(struct gl_priv *p)
+{
+ double sx = p->dst_rect.width / (double)p->src_rect.width;
+ double sy = p->dst_rect.height / (double)p->src_rect.height;
+ // xxx: actually we should use different scalers in X/Y directions if the
+ // scale factors are different due to anamorphic content
+ return FFMIN(sx, sy);
+}
+
+static bool update_scale_factor(struct gl_priv *p, struct filter_kernel *kernel)
+{
+ double scale = get_scale_factor(p);
+ if (!p->use_fancy_downscaling && scale < 1.0)
+ scale = 1.0;
+ return mp_init_filter(kernel, filter_sizes, FFMAX(1.0, 1.0 / scale));
+}
+
+static void init_scaler(struct gl_priv *p, struct scaler *scaler)
+{
+ GL *gl = p->gl;
+
+ assert(scaler->name);
+
+ scaler->kernel = NULL;
+
+ const struct filter_kernel *t_kernel = mp_find_filter_kernel(scaler->name);
+ if (!t_kernel)
+ return;
+
+ scaler->kernel_storage = *t_kernel;
+ scaler->kernel = &scaler->kernel_storage;
+
+ for (int n = 0; n < 2; n++) {
+ if (!isnan(p->scaler_params[n]))
+ scaler->kernel->params[n] = p->scaler_params[n];
+ }
+
+ update_scale_factor(p, scaler->kernel);
+
+ int size = scaler->kernel->size;
+ assert(size < FF_ARRAY_ELEMS(lut_tex_formats));
+ struct lut_tex_format *fmt = &lut_tex_formats[size];
+ bool use_2d = fmt->pixels > 1;
+ bool is_luma = scaler->index == 0;
+ scaler->lut_name = use_2d
+ ? (is_luma ? "lut_l_2d" : "lut_c_2d")
+ : (is_luma ? "lut_l_1d" : "lut_c_1d");
+
+ gl->ActiveTexture(GL_TEXTURE0 + TEXUNIT_SCALERS + scaler->index);
+ GLenum target = use_2d ? GL_TEXTURE_2D : GL_TEXTURE_1D;
+
+ if (!scaler->gl_lut)
+ gl->GenTextures(1, &scaler->gl_lut);
+
+ gl->BindTexture(target, scaler->gl_lut);
+ gl->PixelStorei(GL_UNPACK_ALIGNMENT, 4);
+ gl->PixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+
+ float *weights = talloc_array(NULL, float, LOOKUP_TEXTURE_SIZE * size);
+ mp_compute_lut(scaler->kernel, LOOKUP_TEXTURE_SIZE, weights);
+ if (use_2d) {
+ gl->TexImage2D(GL_TEXTURE_2D, 0, fmt->internal_format, fmt->pixels,
+ LOOKUP_TEXTURE_SIZE, 0, fmt->format, GL_FLOAT,
+ weights);
+ } else {
+ gl->TexImage1D(GL_TEXTURE_1D, 0, fmt->internal_format,
+ LOOKUP_TEXTURE_SIZE, 0, fmt->format, GL_FLOAT,
+ weights);
+ }
+ talloc_free(weights);
+
+ gl->TexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ gl->TexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ gl->TexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ gl->TexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+
+ gl->ActiveTexture(GL_TEXTURE0);
+
+ debug_check_gl(p, "after initializing scaler");
+}
+
+static void make_dither_matrix(unsigned char *m, int size)
+{
+ m[0] = 0;
+ for (int sz = 1; sz < size; sz *= 2) {
+ int offset[] = {sz*size, sz, sz * (size+1), 0};
+ for (int i = 0; i < 4; i++)
+ for (int y = 0; y < sz * size; y += size)
+ for (int x = 0; x < sz; x++)
+ m[x+y+offset[i]] = m[x+y] * 4 + (3-i) * 256/size/size;
+ }
+}
+
+static void init_dither(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ // Assume 8 bits per component if unknown.
+ int dst_depth = p->glctx->depth_g ? p->glctx->depth_g : 8;
+ if (p->dither_depth > 0)
+ dst_depth = p->dither_depth;
+
+ int src_depth = p->component_bits;
+ if (p->use_lut_3d)
+ src_depth = 16;
+
+ if (dst_depth >= src_depth || p->dither_depth < 0 || src_depth < 0)
+ return;
+
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Dither %d->%d.\n", src_depth, dst_depth);
+
+ // This defines how many bits are considered significant for output on
+ // screen. The superfluous bits will be used for rounded according to the
+ // dither matrix. The precision of the source implicitly decides how many
+ // dither patterns can be visible.
+ p->dither_quantization = (1 << dst_depth) - 1;
+ int size = 8;
+ p->dither_multiply = p->dither_quantization + 1.0 / (size*size);
+ unsigned char dither[256];
+ make_dither_matrix(dither, size);
+
+ gl->ActiveTexture(GL_TEXTURE0 + TEXUNIT_DITHER);
+ gl->GenTextures(1, &p->dither_texture);
+ gl->BindTexture(GL_TEXTURE_2D, p->dither_texture);
+ gl->PixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ gl->PixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+ gl->TexImage2D(GL_TEXTURE_2D, 0, GL_RED, size, size, 0, GL_RED,
+ GL_UNSIGNED_BYTE, dither);
+ gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+ gl->ActiveTexture(GL_TEXTURE0);
+}
+
+static void reinit_rendering(struct gl_priv *p)
+{
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Reinit rendering.\n");
+
+ debug_check_gl(p, "before scaler initialization");
+
+ uninit_rendering(p);
+
+ init_dither(p);
+
+ init_scaler(p, &p->scalers[0]);
+ init_scaler(p, &p->scalers[1]);
+
+ compile_shaders(p);
+
+ if (p->indirect_program && !p->indirect_fbo.fbo)
+ fbotex_init(p, &p->indirect_fbo, p->texture_width, p->texture_height);
+}
+
+static void uninit_rendering(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ delete_shaders(p);
+
+ for (int n = 0; n < 2; n++) {
+ gl->DeleteTextures(1, &p->scalers->gl_lut);
+ p->scalers->gl_lut = 0;
+ p->scalers->lut_name = NULL;
+ p->scalers->kernel = NULL;
+ }
+
+ gl->DeleteTextures(1, &p->dither_texture);
+ p->dither_texture = 0;
+}
+
+static void init_lut_3d(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ gl->GenTextures(1, &p->lut_3d_texture);
+ gl->ActiveTexture(GL_TEXTURE0 + TEXUNIT_3DLUT);
+ gl->BindTexture(GL_TEXTURE_3D, p->lut_3d_texture);
+ gl->PixelStorei(GL_UNPACK_ALIGNMENT, 4);
+ gl->PixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+ gl->TexImage3D(GL_TEXTURE_3D, 0, GL_RGB16, p->lut_3d_w, p->lut_3d_h,
+ p->lut_3d_d, 0, GL_RGB, GL_UNSIGNED_SHORT, p->lut_3d_data);
+ gl->TexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ gl->TexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ gl->TexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ gl->TexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ gl->TexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
+ gl->ActiveTexture(GL_TEXTURE0);
+
+ debug_check_gl(p, "after 3d lut creation");
+}
+
+static void init_video(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ if (p->use_lut_3d && !p->lut_3d_texture)
+ init_lut_3d(p);
+
+ if (!p->is_yuv && (p->use_srgb || p->use_lut_3d)) {
+ p->is_linear_rgb = true;
+ p->gl_internal_format = GL_SRGB;
+ }
+
+ int eq_caps = MP_CSP_EQ_CAPS_GAMMA;
+ if (p->is_yuv)
+ eq_caps |= MP_CSP_EQ_CAPS_COLORMATRIX;
+ p->video_eq.capabilities = eq_caps;
+
+ debug_check_gl(p, "before video texture creation");
+
+ tex_size(p, p->image_width, p->image_height,
+ &p->texture_width, &p->texture_height);
+
+ for (int n = 0; n < p->plane_count; n++) {
+ struct texplane *plane = &p->planes[n];
+
+ int w = p->texture_width >> plane->shift_x;
+ int h = p->texture_height >> plane->shift_y;
+
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Texture for plane %d: %dx%d\n", n, w, h);
+
+ gl->ActiveTexture(GL_TEXTURE0 + n);
+ gl->GenTextures(1, &plane->gl_texture);
+ gl->BindTexture(GL_TEXTURE_2D, plane->gl_texture);
+
+ gl->TexImage2D(GL_TEXTURE_2D, 0, p->gl_internal_format, w, h, 0,
+ p->gl_format, p->gl_type, NULL);
+ default_tex_params(gl, GL_TEXTURE_2D, GL_LINEAR);
+ }
+ gl->ActiveTexture(GL_TEXTURE0);
+
+ debug_check_gl(p, "after video texture creation");
+
+ reinit_rendering(p);
+}
+
+static void uninit_video(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ uninit_rendering(p);
+
+ for (int n = 0; n < 3; n++) {
+ struct texplane *plane = &p->planes[n];
+
+ gl->DeleteTextures(1, &plane->gl_texture);
+ plane->gl_texture = 0;
+ gl->DeleteBuffers(1, &plane->gl_buffer);
+ plane->gl_buffer = 0;
+ plane->buffer_ptr = NULL;
+ plane->buffer_size = 0;
+ }
+
+ fbotex_uninit(p, &p->indirect_fbo);
+ fbotex_uninit(p, &p->scale_sep_fbo);
+}
+
+static void render_to_fbo(struct gl_priv *p, struct fbotex *fbo, int w, int h,
+ int tex_w, int tex_h)
+{
+ GL *gl = p->gl;
+
+ gl->Viewport(0, 0, fbo->vp_w, fbo->vp_h);
+ gl->BindFramebuffer(GL_FRAMEBUFFER, fbo->fbo);
+
+ struct vertex vb[VERTICES_PER_QUAD];
+ write_quad(vb, -1, -1, 1, 1,
+ 0, 0, w, h,
+ tex_w, tex_h,
+ NULL, false);
+ draw_triangles(p, vb, VERTICES_PER_QUAD);
+
+ gl->BindFramebuffer(GL_FRAMEBUFFER, 0);
+ gl->Viewport(p->vp_x, p->vp_y, p->vp_w, p->vp_h);
+
+}
+
+static void handle_pass(struct gl_priv *p, struct fbotex **source,
+ struct fbotex *fbo, GLuint program)
+{
+ GL *gl = p->gl;
+
+ if (!program)
+ return;
+
+ gl->BindTexture(GL_TEXTURE_2D, (*source)->texture);
+ gl->UseProgram(program);
+ render_to_fbo(p, fbo, (*source)->vp_w, (*source)->vp_h,
+ (*source)->tex_w, (*source)->tex_h);
+ *source = fbo;
+}
+
+static void do_render(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+ struct vertex vb[VERTICES_PER_QUAD];
+ bool is_flipped = p->mpi_flipped ^ p->vo_flipped;
+
+ // Order of processing:
+ // [indirect -> [scale_sep ->]] final
+
+ struct fbotex dummy = {
+ .vp_w = p->image_width, .vp_h = p->image_height,
+ .tex_w = p->texture_width, .tex_h = p->texture_height,
+ .texture = p->planes[0].gl_texture,
+ };
+ struct fbotex *source = &dummy;
+
+ handle_pass(p, &source, &p->indirect_fbo, p->indirect_program);
+ handle_pass(p, &source, &p->scale_sep_fbo, p->scale_sep_program);
+
+ gl->BindTexture(GL_TEXTURE_2D, source->texture);
+ gl->UseProgram(p->final_program);
+
+ float final_texw = p->image_width * source->tex_w / (float)source->vp_w;
+ float final_texh = p->image_height * source->tex_h / (float)source->vp_h;
+
+ if (p->use_srgb && !p->use_lut_3d)
+ gl->Enable(GL_FRAMEBUFFER_SRGB);
+
+ if (p->stereo_mode) {
+ int w = p->src_rect.width;
+ int imgw = p->image_width;
+
+ glEnable3DLeft(gl, p->stereo_mode);
+
+ write_quad(vb,
+ p->dst_rect.left, p->dst_rect.top,
+ p->dst_rect.right, p->dst_rect.bottom,
+ p->src_rect.left / 2, p->src_rect.top,
+ p->src_rect.left / 2 + w / 2, p->src_rect.bottom,
+ final_texw, final_texh,
+ NULL, is_flipped);
+ draw_triangles(p, vb, VERTICES_PER_QUAD);
+
+ glEnable3DRight(gl, p->stereo_mode);
+
+ write_quad(vb,
+ p->dst_rect.left, p->dst_rect.top,
+ p->dst_rect.right, p->dst_rect.bottom,
+ p->src_rect.left / 2 + imgw / 2, p->src_rect.top,
+ p->src_rect.left / 2 + imgw / 2 + w / 2, p->src_rect.bottom,
+ final_texw, final_texh,
+ NULL, is_flipped);
+ draw_triangles(p, vb, VERTICES_PER_QUAD);
+
+ glDisable3D(gl, p->stereo_mode);
+ } else {
+ write_quad(vb,
+ p->dst_rect.left, p->dst_rect.top,
+ p->dst_rect.right, p->dst_rect.bottom,
+ p->src_rect.left, p->src_rect.top,
+ p->src_rect.right, p->src_rect.bottom,
+ final_texw, final_texh,
+ NULL, is_flipped);
+ draw_triangles(p, vb, VERTICES_PER_QUAD);
+ }
+
+ gl->Disable(GL_FRAMEBUFFER_SRGB);
+
+ gl->UseProgram(0);
+
+ debug_check_gl(p, "after video rendering");
+}
+
+static void update_window_sized_objects(struct gl_priv *p)
+{
+ if (p->scale_sep_program) {
+ if (p->dst_rect.height > p->scale_sep_fbo.tex_h) {
+ fbotex_uninit(p, &p->scale_sep_fbo);
+ // Round up to an arbitrary alignment to make window resizing or
+ // panscan controls smoother (less texture reallocations).
+ int height = FFALIGN(p->dst_rect.height, 256);
+ fbotex_init(p, &p->scale_sep_fbo, p->image_width, height);
+ }
+ p->scale_sep_fbo.vp_w = p->image_width;
+ p->scale_sep_fbo.vp_h = p->dst_rect.height;
+ }
+}
+
+static void resize(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+ struct vo *vo = p->vo;
+
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Resize: %dx%d\n", vo->dwidth, vo->dheight);
+ p->vp_x = 0, p->vp_y = 0;
+ if (WinID >= 0) {
+ int w = vo->dwidth, h = vo->dheight;
+ int old_y = vo->dheight;
+ geometry(&p->vp_x, &p->vp_y, &w, &h, vo->dwidth, vo->dheight);
+ p->vp_y = old_y - h - p->vp_y;
+ }
+ p->vp_w = vo->dwidth, p->vp_h = vo->dheight;
+ gl->Viewport(p->vp_x, p->vp_y, p->vp_w, p->vp_h);
+
+ struct vo_rect borders;
+ calc_src_dst_rects(vo, p->image_width, p->image_height, &p->src_rect,
+ &p->dst_rect, &borders, NULL);
+ p->border_x = borders.left;
+ p->border_y = borders.top;
+
+ bool need_scaler_reinit = false; // filter size change needed
+ bool need_scaler_update = false; // filter LUT change needed
+ bool too_small = false;
+ for (int n = 0; n < 2; n++) {
+ if (p->scalers[n].kernel) {
+ struct filter_kernel tkernel = *p->scalers[n].kernel;
+ struct filter_kernel old = tkernel;
+ bool ok = update_scale_factor(p, &tkernel);
+ too_small |= !ok;
+ need_scaler_reinit |= (tkernel.size != old.size);
+ need_scaler_update |= (tkernel.inv_scale != old.inv_scale);
+ }
+ }
+ if (need_scaler_reinit) {
+ reinit_rendering(p);
+ } else if (need_scaler_update) {
+ init_scaler(p, &p->scalers[0]);
+ init_scaler(p, &p->scalers[1]);
+ }
+ if (too_small)
+ mp_msg(MSGT_VO, MSGL_WARN, "[gl] Can't downscale that much, window "
+ "output may look suboptimal.\n");
+
+ update_window_sized_objects(p);
+ update_all_uniforms(p);
+
+ vo_osd_changed(OSDTYPE_OSD);
+
+ gl->Clear(GL_COLOR_BUFFER_BIT);
+ vo->want_redraw = true;
+}
+
+static void flip_page(struct vo *vo)
+{
+ struct gl_priv *p = vo->priv;
+ GL *gl = p->gl;
+
+ if (p->use_glFinish)
+ gl->Finish();
+
+ p->glctx->swapGlBuffers(p->glctx);
+
+ if (p->dst_rect.left > p->vp_x || p->dst_rect.top > p->vp_y
+ || p->dst_rect.right < p->vp_x + p->vp_w
+ || p->dst_rect.bottom < p->vp_y + p->vp_h)
+ {
+ gl->Clear(GL_COLOR_BUFFER_BIT);
+ }
+}
+
+static int draw_slice(struct vo *vo, uint8_t *src[], int stride[], int w, int h,
+ int x, int y)
+{
+ struct gl_priv *p = vo->priv;
+ GL *gl = p->gl;
+
+ p->mpi_flipped = stride[0] < 0;
+
+ for (int n = 0; n < p->plane_count; n++) {
+ gl->ActiveTexture(GL_TEXTURE0 + n);
+ gl->BindTexture(GL_TEXTURE_2D, p->planes[n].gl_texture);
+ int xs = p->planes[n].shift_x, ys = p->planes[n].shift_y;
+ glUploadTex(gl, GL_TEXTURE_2D, p->gl_format, p->gl_type, src[n],
+ stride[n], x >> xs, y >> ys, w >> xs, h >> ys, 0);
+ }
+ gl->ActiveTexture(GL_TEXTURE0);
+
+ return 0;
+}
+
+static uint32_t get_image(struct vo *vo, mp_image_t *mpi)
+{
+ struct gl_priv *p = vo->priv;
+ GL *gl = p->gl;
+
+ if (!p->use_pbo)
+ return VO_FALSE;
+
+ // We don't support alpha planes. (Disabling PBOs with normal draw calls is
+ // an undesired, but harmless side-effect.)
+ if (mpi->num_planes != p->plane_count)
+ return VO_FALSE;
+
+ if (mpi->flags & MP_IMGFLAG_READABLE)
+ return VO_FALSE;
+ if (mpi->type != MP_IMGTYPE_STATIC && mpi->type != MP_IMGTYPE_TEMP &&
+ (mpi->type != MP_IMGTYPE_NUMBERED || mpi->number))
+ return VO_FALSE;
+ mpi->flags &= ~MP_IMGFLAG_COMMON_PLANE;
+ for (int n = 0; n < p->plane_count; n++) {
+ struct texplane *plane = &p->planes[n];
+ mpi->stride[n] = (mpi->width >> plane->shift_x) * p->plane_bytes;
+ int needed_size = (mpi->height >> plane->shift_y) * mpi->stride[n];
+ if (!plane->gl_buffer)
+ gl->GenBuffers(1, &plane->gl_buffer);
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, plane->gl_buffer);
+ if (needed_size > plane->buffer_size) {
+ plane->buffer_size = needed_size;
+ gl->BufferData(GL_PIXEL_UNPACK_BUFFER, plane->buffer_size,
+ NULL, GL_DYNAMIC_DRAW);
+ }
+ if (!plane->buffer_ptr)
+ plane->buffer_ptr = gl->MapBuffer(GL_PIXEL_UNPACK_BUFFER,
+ GL_WRITE_ONLY);
+ mpi->planes[n] = plane->buffer_ptr;
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
+ }
+ mpi->flags |= MP_IMGFLAG_DIRECT;
+ return VO_TRUE;
+}
+
+static uint32_t draw_image(struct gl_priv *p, mp_image_t *mpi)
+{
+ GL *gl = p->gl;
+ int n;
+
+ assert(mpi->num_planes >= p->plane_count);
+
+ mp_image_t mpi2 = *mpi;
+ int w = mpi->w, h = mpi->h;
+ if (mpi->flags & MP_IMGFLAG_DRAW_CALLBACK)
+ goto skip_upload;
+ mpi2.flags = 0;
+ mpi2.type = MP_IMGTYPE_TEMP;
+ mpi2.width = mpi2.w;
+ mpi2.height = mpi2.h;
+ if (!(mpi->flags & MP_IMGFLAG_DIRECT)
+ && !p->planes[0].buffer_ptr
+ && get_image(p->vo, &mpi2) == VO_TRUE)
+ {
+ for (n = 0; n < p->plane_count; n++) {
+ struct texplane *plane = &p->planes[n];
+ int xs = plane->shift_x, ys = plane->shift_y;
+ int line_bytes = (mpi->w >> xs) * p->plane_bytes;
+ memcpy_pic(mpi2.planes[n], mpi->planes[n], line_bytes, mpi->h >> ys,
+ mpi2.stride[n], mpi->stride[n]);
+ }
+ mpi = &mpi2;
+ }
+ p->mpi_flipped = mpi->stride[0] < 0;
+ for (n = 0; n < p->plane_count; n++) {
+ struct texplane *plane = &p->planes[n];
+ int xs = plane->shift_x, ys = plane->shift_y;
+ void *plane_ptr = mpi->planes[n];
+ if (mpi->flags & MP_IMGFLAG_DIRECT) {
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, plane->gl_buffer);
+ if (!gl->UnmapBuffer(GL_PIXEL_UNPACK_BUFFER))
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Video PBO upload failed. "
+ "Remove the 'pbo' suboption.\n");
+ plane->buffer_ptr = NULL;
+ plane_ptr = NULL; // PBO offset 0
+ }
+ gl->ActiveTexture(GL_TEXTURE0 + n);
+ gl->BindTexture(GL_TEXTURE_2D, plane->gl_texture);
+ glUploadTex(gl, GL_TEXTURE_2D, p->gl_format, p->gl_type, plane_ptr,
+ mpi->stride[n], 0, 0, w >> xs, h >> ys, 0);
+ }
+ gl->ActiveTexture(GL_TEXTURE0);
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
+skip_upload:
+ do_render(p);
+ return VO_TRUE;
+}
+
+static mp_image_t *get_screenshot(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ mp_image_t *image = alloc_mpi(p->texture_width, p->texture_height,
+ p->image_format);
+
+ // NOTE about image formats with alpha plane: we don't even have the alpha
+ // anymore. We never upload it to any texture, as it would be a waste of
+ // time. On the other hand, we can't find a "similar", non-alpha image
+ // format easily. So we just leave the alpha plane of the newly allocated
+ // image as-is, and hope that the alpha is ignored by the receiver of the
+ // screenshot. (If not, code should be added to make it fully opaque.)
+
+ for (int n = 0; n < p->plane_count; n++) {
+ gl->ActiveTexture(GL_TEXTURE0 + n);
+ gl->BindTexture(GL_TEXTURE_2D, p->planes[n].gl_texture);
+ glDownloadTex(gl, GL_TEXTURE_2D, p->gl_format, p->gl_type,
+ image->planes[n], image->stride[n]);
+ }
+ gl->ActiveTexture(GL_TEXTURE0);
+
+ image->width = p->image_width;
+ image->height = p->image_height;
+
+ image->w = p->vo->aspdat.prew;
+ image->h = p->vo->aspdat.preh;
+
+ return image;
+}
+
+static mp_image_t *get_window_screenshot(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ mp_image_t *image = alloc_mpi(p->vp_w, p->vp_h, IMGFMT_RGB24);
+ gl->PixelStorei(GL_PACK_ALIGNMENT, 4);
+ gl->PixelStorei(GL_PACK_ROW_LENGTH, 0);
+ gl->ReadBuffer(GL_FRONT);
+ // flip image while reading
+ for (int y = 0; y < p->vp_h; y++) {
+ gl->ReadPixels(p->vp_x, p->vp_y + p->vp_h - y - 1, p->vp_w, 1,
+ GL_RGB, GL_UNSIGNED_BYTE,
+ image->planes[0] + y * image->stride[0]);
+ }
+ return image;
+}
+
+static void clear_osd(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ if (!p->osd_textures_count)
+ return;
+ gl->DeleteTextures(p->osd_textures_count, p->osd_textures);
+ p->osd_textures_count = 0;
+}
+
+static void create_osd_texture(void *ctx, int x0, int y0, int w, int h,
+ unsigned char *src, unsigned char *srca,
+ int stride)
+{
+ struct gl_priv *p = ctx;
+ GL *gl = p->gl;
+
+ if (w <= 0 || h <= 0 || stride < w) {
+ mp_msg(MSGT_VO, MSGL_V, "Invalid dimensions OSD for part!\n");
+ return;
+ }
+
+ if (p->osd_textures_count >= MAX_OSD_PARTS) {
+ mp_msg(MSGT_VO, MSGL_ERR, "Too many OSD parts, contact the developers!\n");
+ return;
+ }
+
+ int sx, sy;
+ tex_size(p, w, h, &sx, &sy);
+
+ gl->GenTextures(1, &p->osd_textures[p->osd_textures_count]);
+ gl->BindTexture(GL_TEXTURE_2D, p->osd_textures[p->osd_textures_count]);
+ gl->TexImage2D(GL_TEXTURE_2D, 0, GL_RG, sx, sy, 0, GL_RG, GL_UNSIGNED_BYTE,
+ NULL);
+ default_tex_params(gl, GL_TEXTURE_2D, GL_NEAREST);
+ unsigned char *tmp = malloc(stride * h * 2);
+ // Convert alpha from weird MPlayer scale.
+ for (int i = 0; i < h * stride; i++) {
+ tmp[i*2+0] = src[i];
+ tmp[i*2+1] = -srca[i];
+ }
+ glUploadTex(gl, GL_TEXTURE_2D, GL_RG, GL_UNSIGNED_BYTE, tmp, stride * 2,
+ 0, 0, w, h, 0);
+ free(tmp);
+
+ gl->BindTexture(GL_TEXTURE_2D, 0);
+
+ unsigned int osd_color = 0xffffff;
+ uint8_t color[4] = {(osd_color >> 16) & 0xff, (osd_color >> 8) & 0xff,
+ osd_color & 0xff, 0xff - (osd_color >> 24)};
+
+ write_quad(&p->osd_va[p->osd_textures_count * VERTICES_PER_QUAD],
+ x0, y0, x0 + w, y0 + h, 0, 0, w, h,
+ sx, sy, color, false);
+
+ p->osd_textures_count++;
+}
+
+static void draw_osd(struct vo *vo, struct osd_state *osd)
+{
+ struct gl_priv *p = vo->priv;
+ GL *gl = p->gl;
+
+ if (vo_osd_changed(0)) {
+ clear_osd(p);
+ osd_draw_text_ext(osd, vo->dwidth, vo->dheight, p->border_x,
+ p->border_y, p->border_x,
+ p->border_y, p->image_width,
+ p->image_height, create_osd_texture, p);
+ }
+
+ if (p->osd_textures_count > 0) {
+ gl->Enable(GL_BLEND);
+ // OSD bitmaps use premultiplied alpha.
+ gl->BlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
+
+ gl->UseProgram(p->osd_program);
+
+ for (int n = 0; n < p->osd_textures_count; n++) {
+ gl->BindTexture(GL_TEXTURE_2D, p->osd_textures[n]);
+ draw_triangles(p, &p->osd_va[n * VERTICES_PER_QUAD],
+ VERTICES_PER_QUAD);
+ }
+
+ gl->UseProgram(0);
+
+ gl->Disable(GL_BLEND);
+ gl->BindTexture(GL_TEXTURE_2D, 0);
+ }
+}
+
+static void gen_eosd(struct gl_priv *p, mp_eosd_images_t *imgs)
+{
+ GL *gl = p->gl;
+
+ if (imgs->bitmap_pos_id == p->bitmap_pos_id)
+ return;
+
+ if (!p->eosd_texture) {
+ gl->GenTextures(1, &p->eosd_texture);
+ gl->GenBuffers(1, &p->eosd_buffer);
+ }
+
+ gl->BindTexture(GL_TEXTURE_2D, p->eosd_texture);
+
+ p->eosd_render_count = 0;
+ bool need_upload = false;
+
+ if (imgs->bitmap_id != p->bitmap_id) {
+ need_upload = true;
+ int res = packer_pack_from_subbitmaps(p->eosd, imgs, 0);
+ if (res < 0) {
+ mp_msg(MSGT_VO, MSGL_ERR,
+ "[gl] subtitle bitmaps do not fit in maximum texture\n");
+ return;
+ }
+ if (res == 1) {
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Allocating a %dx%d texture for "
+ "subtitle bitmaps.\n", p->eosd->w, p->eosd->h);
+ tex_size(p, p->eosd->w, p->eosd->h,
+ &p->eosd_texture_width, &p->eosd_texture_height);
+ gl->TexImage2D(GL_TEXTURE_2D, 0, GL_RED,
+ p->eosd_texture_width, p->eosd_texture_height, 0,
+ GL_RED, GL_UNSIGNED_BYTE, NULL);
+ default_tex_params(gl, GL_TEXTURE_2D, GL_NEAREST);
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, p->eosd_buffer);
+ gl->BufferData(GL_PIXEL_UNPACK_BUFFER,
+ p->eosd->w * p->eosd->h, NULL, GL_DYNAMIC_COPY);
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
+ }
+ }
+ p->bitmap_id = imgs->bitmap_id;
+ p->bitmap_pos_id = imgs->bitmap_pos_id;
+ if (p->eosd->used_width == 0)
+ return;
+
+ p->eosd_va = talloc_realloc_size(p->eosd, p->eosd_va,
+ p->eosd->count
+ * sizeof(struct vertex)
+ * VERTICES_PER_QUAD);
+
+ if (need_upload && p->use_pbo) {
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, p->eosd_buffer);
+ char *data = gl->MapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY);
+ if (!data) {
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Error: can't upload subtitles! "
+ "Subtitles will look corrupted.\n");
+ } else {
+ ASS_Image *i = imgs->imgs;
+ struct pos *spos = p->eosd->result;
+ for (int n = 0; n < p->eosd->count; n++, i = i->next) {
+ if (i->w == 0 || i->h == 0)
+ continue;
+
+ void *pdata = data + spos[n].y * p->eosd->w + spos[n].x;
+ memcpy_pic(pdata, i->bitmap, i->w, i->h,
+ p->eosd->w, i->stride);
+ }
+ if (!gl->UnmapBuffer(GL_PIXEL_UNPACK_BUFFER))
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] EOSD PBO upload failed. "
+ "Remove the 'pbo' suboption.\n");
+ glUploadTex(gl, GL_TEXTURE_2D, GL_RED, GL_UNSIGNED_BYTE, NULL,
+ p->eosd->w, 0, 0,
+ p->eosd->used_width, p->eosd->used_height, 0);
+ }
+ gl->BindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
+ } else if (need_upload) {
+ // non-PBO upload
+ ASS_Image *i = imgs->imgs;
+ struct pos *spos = p->eosd->result;
+ for (int n = 0; n < p->eosd->count; n++, i = i->next) {
+ if (i->w == 0 || i->h == 0)
+ continue;
+ glUploadTex(gl, GL_TEXTURE_2D, GL_RED, GL_UNSIGNED_BYTE, i->bitmap,
+ i->stride, spos[n].x, spos[n].y, i->w, i->h, 0);
+ }
+ }
+
+ gl->BindTexture(GL_TEXTURE_2D, 0);
+
+ debug_check_gl(p, "EOSD upload");
+
+ ASS_Image *i = imgs->imgs;
+ struct pos *spos = p->eosd->result;
+ for (int n = 0; n < p->eosd->count; n++, i = i->next) {
+ if (i->w == 0 || i->h == 0)
+ continue;
+ uint8_t color[4] = { i->color >> 24, (i->color >> 16) & 0xff,
+ (i->color >> 8) & 0xff, 255 - (i->color & 0xff) };
+
+ write_quad(&p->eosd_va[p->eosd_render_count * VERTICES_PER_QUAD],
+ i->dst_x, i->dst_y,
+ i->dst_x + i->w, i->dst_y + i->h,
+ spos[n].x, spos[n].y,
+ spos[n].x + i->w, spos[n].y + i->h,
+ p->eosd_texture_width, p->eosd_texture_height,
+ color, false);
+ p->eosd_render_count++;
+ }
+}
+
+static void draw_eosd(struct gl_priv *p, mp_eosd_images_t *imgs)
+{
+ GL *gl = p->gl;
+
+ gen_eosd(p, imgs);
+
+ if (p->eosd_render_count == 0)
+ return;
+
+ gl->Enable(GL_BLEND);
+ gl->BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ gl->BindTexture(GL_TEXTURE_2D, p->eosd_texture);
+ gl->UseProgram(p->eosd_program);
+ draw_triangles(p, p->eosd_va, p->eosd_render_count * VERTICES_PER_QUAD);
+ gl->UseProgram(0);
+ gl->BindTexture(GL_TEXTURE_2D, 0);
+ gl->Disable(GL_BLEND);
+}
+
+static void setup_vertex_array(GL *gl)
+{
+ size_t stride = sizeof(struct vertex);
+
+ gl->EnableVertexAttribArray(VERTEX_ATTRIB_POSITION);
+ gl->VertexAttribPointer(VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE,
+ stride, (void*)offsetof(struct vertex, position));
+
+ gl->EnableVertexAttribArray(VERTEX_ATTRIB_COLOR);
+ gl->VertexAttribPointer(VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE,
+ stride, (void*)offsetof(struct vertex, color));
+
+ gl->EnableVertexAttribArray(VERTEX_ATTRIB_TEXCOORD);
+ gl->VertexAttribPointer(VERTEX_ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE,
+ stride, (void*)offsetof(struct vertex, texcoord));
+}
+
+static int init_gl(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ debug_check_gl(p, "before init_gl");
+
+ const char *vendor = gl->GetString(GL_VENDOR);
+ const char *version = gl->GetString(GL_VERSION);
+ const char *renderer = gl->GetString(GL_RENDERER);
+ const char *glsl = gl->GetString(GL_SHADING_LANGUAGE_VERSION);
+ mp_msg(MSGT_VO, MSGL_V, "[gl] GL_RENDERER='%s', GL_VENDOR='%s', "
+ "GL_VERSION='%s', GL_SHADING_LANGUAGE_VERSION='%s'"
+ "\n", renderer, vendor, version, glsl);
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Display depth: R=%d, G=%d, B=%d\n",
+ p->glctx->depth_r, p->glctx->depth_g, p->glctx->depth_b);
+
+ GLint major, minor;
+ gl->GetIntegerv(GL_MAJOR_VERSION, &major);
+ gl->GetIntegerv(GL_MINOR_VERSION, &minor);
+
+ p->shader_version = "130";
+
+ // Hack for OSX: it only creates 3.2 contexts.
+ if (MPGL_VER(major, minor) >= MPGL_VER(3, 2))
+ p->shader_version = "150";
+
+ gl->Disable(GL_DITHER);
+ gl->Disable(GL_BLEND);
+ gl->Disable(GL_DEPTH_TEST);
+ gl->DepthMask(GL_FALSE);
+ gl->Disable(GL_CULL_FACE);
+ gl->DrawBuffer(GL_BACK);
+
+ gl->GenBuffers(1, &p->vertex_buffer);
+ gl->GenVertexArrays(1, &p->vao);
+
+ gl->BindBuffer(GL_ARRAY_BUFFER, p->vertex_buffer);
+ gl->BindVertexArray(p->vao);
+ setup_vertex_array(gl);
+ gl->BindBuffer(GL_ARRAY_BUFFER, 0);
+ gl->BindVertexArray(0);
+
+ GLint max_texture_size;
+ gl->GetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size);
+ p->eosd->w_max = p->eosd->h_max = max_texture_size;
+
+ gl->ClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ gl->Clear(GL_COLOR_BUFFER_BIT);
+ if (gl->SwapInterval && p->swap_interval >= 0)
+ gl->SwapInterval(p->swap_interval);
+
+ debug_check_gl(p, "after init_gl");
+
+ return 1;
+}
+
+static void uninit_gl(struct gl_priv *p)
+{
+ GL *gl = p->gl;
+
+ // NOTE: GL functions might not be loaded yet
+ if (!(p->glctx && p->gl->DeleteTextures))
+ return;
+
+ uninit_video(p);
+
+ gl->DeleteVertexArrays(1, &p->vao);
+ p->vao = 0;
+ gl->DeleteBuffers(1, &p->vertex_buffer);
+ p->vertex_buffer = 0;
+
+ clear_osd(p);
+ gl->DeleteTextures(1, &p->eosd_texture);
+ p->eosd_texture = 0;
+ gl->DeleteBuffers(1, &p->eosd_buffer);
+ p->eosd_buffer = 0;
+ p->bitmap_id = p->bitmap_pos_id = 0;
+ p->eosd->w = p->eosd->h = 0;
+
+ gl->DeleteTextures(1, &p->lut_3d_texture);
+ p->lut_3d_texture = 0;
+}
+
+static bool init_format(int fmt, struct gl_priv *init)
+{
+ bool supported = false;
+ struct gl_priv dummy;
+ if (!init)
+ init = &dummy;
+
+ mp_image_t dummy_img = {0};
+ mp_image_setfmt(&dummy_img, fmt);
+
+ init->image_format = fmt;
+ init->component_bits = -1;
+
+ // RGB/packed formats
+ for (const struct fmt_entry *e = mp_to_gl_formats; e->mp_format; e++) {
+ if (e->mp_format == fmt) {
+ supported = true;
+ init->plane_bits = dummy_img.bpp;
+ init->gl_format = e->format;
+ init->gl_internal_format = e->internal_format;
+ init->component_bits = e->component_bits;
+ init->gl_type = e->type;
+ break;
+ }
+ }
+
+ // YUV/planar formats
+ if (!supported && mp_get_chroma_shift(fmt, NULL, NULL, &init->plane_bits)) {
+ init->gl_format = GL_RED;
+ init->component_bits = init->plane_bits;
+ if (init->plane_bits == 8) {
+ supported = true;
+ init->gl_internal_format = GL_RED;
+ init->gl_type = GL_UNSIGNED_BYTE;
+ } else if (IMGFMT_IS_YUVP16_NE(fmt)) {
+ supported = true;
+ init->gl_internal_format = GL_R16;
+ init->gl_type = GL_UNSIGNED_SHORT;
+ }
+ }
+
+ // RGB/planar
+ if (!supported && fmt == IMGFMT_GBRP) {
+ supported = true;
+ init->plane_bits = init->component_bits = 8;
+ init->gl_format = GL_RED;
+ init->gl_internal_format = GL_RED;
+ init->gl_type = GL_UNSIGNED_BYTE;
+ }
+
+ if (!supported)
+ return false;
+
+ init->plane_bytes = (init->plane_bits + 7) / 8;
+ init->is_yuv = dummy_img.flags & MP_IMGFLAG_YUV;
+ init->is_linear_rgb = false;
+
+ // NOTE: we throw away the additional alpha plane, if one exists.
+ init->plane_count = dummy_img.num_planes > 2 ? 3 : 1;
+ assert(dummy_img.num_planes >= init->plane_count);
+ assert(dummy_img.num_planes <= init->plane_count + 1);
+
+ for (int n = 0; n < init->plane_count; n++) {
+ struct texplane *plane = &init->planes[n];
+
+ plane->shift_x = n > 0 ? dummy_img.chroma_x_shift : 0;
+ plane->shift_y = n > 0 ? dummy_img.chroma_y_shift : 0;
+ }
+
+ return true;
+}
+
+static int query_format(uint32_t format)
+{
+ int caps = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_FLIP |
+ VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_ACCEPT_STRIDE |
+ VFCAP_OSD | VFCAP_EOSD | VFCAP_EOSD_UNSCALED;
+ if (!init_format(format, NULL))
+ return 0;
+ return caps;
+}
+
+static bool config_window(struct gl_priv *p, uint32_t d_width,
+ uint32_t d_height, uint32_t flags)
+{
+ if (p->stereo_mode == GL_3D_QUADBUFFER)
+ flags |= VOFLAG_STEREO;
+
+ int mpgl_version = MPGL_VER(3, 0);
+ int mpgl_flags = p->use_gl_debug ? MPGLFLAG_DEBUG : 0;
+
+ if (p->use_gl2)
+ mpgl_version = MPGL_VER(2, 1);
+
+ if (create_mpglcontext(p->glctx, mpgl_flags, mpgl_version, d_width,
+ d_height, flags) == SET_WINDOW_FAILED)
+ return false;
+
+ if (!p->vertex_buffer)
+ init_gl(p);
+
+ return true;
+}
+
+static int config(struct vo *vo, uint32_t width, uint32_t height,
+ uint32_t d_width, uint32_t d_height, uint32_t flags,
+ uint32_t format)
+{
+ struct gl_priv *p = vo->priv;
+
+ if (!config_window(p, d_width, d_height, flags))
+ return -1;
+
+ p->vo_flipped = !!(flags & VOFLAG_FLIPPING);
+
+ if (p->image_format != format || p->image_width != width
+ || p->image_height != height)
+ {
+ uninit_video(p);
+ p->image_height = height;
+ p->image_width = width;
+ init_format(format, p);
+ init_video(p);
+ }
+
+ resize(p);
+
+ return 0;
+}
+
+static void check_events(struct vo *vo)
+{
+ struct gl_priv *p = vo->priv;
+
+ int e = p->glctx->check_events(vo);
+ if (e & VO_EVENT_REINIT) {
+ uninit_gl(p);
+ init_gl(p);
+ init_video(p);
+ resize(p);
+ }
+ if (e & VO_EVENT_RESIZE)
+ resize(p);
+ if (e & VO_EVENT_EXPOSE)
+ vo->want_redraw = true;
+}
+
+static int control(struct vo *vo, uint32_t request, void *data)
+{
+ struct gl_priv *p = vo->priv;
+
+ switch (request) {
+ case VOCTRL_QUERY_FORMAT:
+ return query_format(*(uint32_t *)data);
+ case VOCTRL_GET_IMAGE:
+ return get_image(vo, data);
+ case VOCTRL_DRAW_IMAGE:
+ return draw_image(p, data);
+ case VOCTRL_DRAW_EOSD:
+ if (!data)
+ return VO_FALSE;
+ draw_eosd(p, data);
+ return VO_TRUE;
+ case VOCTRL_GET_EOSD_RES: {
+ mp_eosd_res_t *r = data;
+ r->w = vo->dwidth;
+ r->h = vo->dheight;
+ r->ml = r->mr = p->border_x;
+ r->mt = r->mb = p->border_y;
+ return VO_TRUE;
+ }
+ case VOCTRL_ONTOP:
+ if (!p->glctx->ontop)
+ break;
+ p->glctx->ontop(vo);
+ return VO_TRUE;
+ case VOCTRL_FULLSCREEN:
+ p->glctx->fullscreen(vo);
+ resize(p);
+ return VO_TRUE;
+ case VOCTRL_BORDER:
+ if (!p->glctx->border)
+ break;
+ p->glctx->border(vo);
+ resize(p);
+ return VO_TRUE;
+ case VOCTRL_GET_PANSCAN:
+ return VO_TRUE;
+ case VOCTRL_SET_PANSCAN:
+ resize(p);
+ return VO_TRUE;
+ case VOCTRL_GET_EQUALIZER: {
+ struct voctrl_get_equalizer_args *args = data;
+ return mp_csp_equalizer_get(&p->video_eq, args->name, args->valueptr)
+ >= 0 ? VO_TRUE : VO_NOTIMPL;
+ }
+ case VOCTRL_SET_EQUALIZER: {
+ struct voctrl_set_equalizer_args *args = data;
+ if (mp_csp_equalizer_set(&p->video_eq, args->name, args->value) < 0)
+ return VO_NOTIMPL;
+ if (!p->use_gamma && p->video_eq.values[MP_CSP_EQ_GAMMA] != 0) {
+ mp_msg(MSGT_VO, MSGL_V, "[gl] Auto-enabling gamma.\n");
+ p->use_gamma = true;
+ compile_shaders(p);
+ }
+ update_all_uniforms(p);
+ vo->want_redraw = true;
+ return VO_TRUE;
+ }
+ case VOCTRL_SET_YUV_COLORSPACE: {
+ if (p->is_yuv) {
+ p->colorspace = *(struct mp_csp_details *)data;
+ update_all_uniforms(p);
+ vo->want_redraw = true;
+ }
+ return VO_TRUE;
+ }
+ case VOCTRL_GET_YUV_COLORSPACE:
+ *(struct mp_csp_details *)data = p->colorspace;
+ return VO_TRUE;
+ case VOCTRL_UPDATE_SCREENINFO:
+ if (!p->glctx->update_xinerama_info)
+ break;
+ p->glctx->update_xinerama_info(vo);
+ return VO_TRUE;
+ case VOCTRL_SCREENSHOT: {
+ struct voctrl_screenshot_args *args = data;
+ if (args->full_window)
+ args->out_image = get_window_screenshot(p);
+ else
+ args->out_image = get_screenshot(p);
+ return true;
+ }
+ case VOCTRL_REDRAW_FRAME:
+ do_render(p);
+ return true;
+ }
+ return VO_NOTIMPL;
+}
+
+static void uninit(struct vo *vo)
+{
+ struct gl_priv *p = vo->priv;
+
+ uninit_gl(p);
+ uninit_mpglcontext(p->glctx);
+ p->glctx = NULL;
+ p->gl = NULL;
+}
+
+#ifdef CONFIG_LCMS2
+
+static void lcms2_error_handler(cmsContext ctx, cmsUInt32Number code,
+ const char *msg)
+{
+ mp_msg(MSGT_VO, MSGL_ERR, "[gl] lcms2: %s\n", msg);
+}
+
+static struct bstr load_file(struct gl_priv *p, void *talloc_ctx,
+ const char *filename)
+{
+ struct bstr res = {0};
+ stream_t *s = open_stream(filename, p->vo->opts, NULL);
+ if (s) {
+ res = stream_read_complete(s, talloc_ctx, 1000000000, 0);
+ free_stream(s);
+ }
+ return res;
+}
+
+#define LUT3D_CACHE_HEADER "mplayer2 3dlut cache 1.0\n"
+
+static bool load_icc(struct gl_priv *p, const char *icc_file,
+ const char *icc_cache, int icc_intent,
+ int s_r, int s_g, int s_b)
+{
+ void *tmp = talloc_new(p);
+ uint16_t *output = talloc_array(tmp, uint16_t, s_r * s_g * s_b * 3);
+
+ if (icc_intent == -1)
+ icc_intent = INTENT_ABSOLUTE_COLORIMETRIC;
+
+ mp_msg(MSGT_VO, MSGL_INFO, "[gl] Opening ICC profile '%s'\n", icc_file);
+ struct bstr iccdata = load_file(p, tmp, icc_file);
+ if (!iccdata.len)
+ goto error_exit;
+
+ char *cache_info = talloc_asprintf(tmp, "intent=%d, size=%dx%dx%d\n",
+ icc_intent, s_r, s_g, s_b);
+
+ // check cache
+ if (icc_cache) {
+ mp_msg(MSGT_VO, MSGL_INFO, "[gl] Opening 3D LUT cache in file '%s'.\n",
+ icc_cache);
+ struct bstr cachedata = load_file(p, tmp, icc_cache);
+ if (bstr_eatstart(&cachedata, bstr(LUT3D_CACHE_HEADER))
+ && bstr_eatstart(&cachedata, bstr(cache_info))
+ && bstr_eatstart(&cachedata, iccdata)
+ && cachedata.len == talloc_get_size(output))
+ {
+ memcpy(output, cachedata.start, cachedata.len);
+ goto done;
+ } else {
+ mp_msg(MSGT_VO, MSGL_WARN, "[gl] 3D LUT cache invalid!\n");
+ }
+ }
+
+ cmsSetLogErrorHandler(lcms2_error_handler);
+
+ cmsHPROFILE profile = cmsOpenProfileFromMem(iccdata.start, iccdata.len);
+ if (!profile)
+ goto error_exit;
+
+ cmsCIExyY d65;
+ cmsWhitePointFromTemp(&d65, 6504);
+ static const cmsCIExyYTRIPLE bt709prim = {
+ .Red = {0.64, 0.33, 1.0},
+ .Green = {0.30, 0.60, 1.0},
+ .Blue = {0.15, 0.06, 1.0},
+ };
+ cmsToneCurve *tonecurve = cmsBuildGamma(NULL, 2.2);
+ cmsHPROFILE vid_profile = cmsCreateRGBProfile(&d65, &bt709prim,
+ (cmsToneCurve*[3]){tonecurve, tonecurve, tonecurve});
+ cmsFreeToneCurve(tonecurve);
+ cmsHTRANSFORM trafo = cmsCreateTransform(vid_profile, TYPE_RGB_16,
+ profile, TYPE_RGB_16,
+ icc_intent,
+ cmsFLAGS_HIGHRESPRECALC);
+ cmsCloseProfile(profile);
+ cmsCloseProfile(vid_profile);
+
+ if (!trafo)
+ goto error_exit;
+
+ // transform a (s_r)x(s_g)x(s_b) cube, with 3 components per channel
+ uint16_t *input = talloc_array(tmp, uint16_t, s_r * 3);
+ for (int b = 0; b < s_b; b++) {
+ for (int g = 0; g < s_g; g++) {
+ for (int r = 0; r < s_r; r++) {
+ input[r * 3 + 0] = r * 65535 / (s_r - 1);
+ input[r * 3 + 1] = g * 65535 / (s_g - 1);
+ input[r * 3 + 2] = b * 65535 / (s_b - 1);
+ }
+ size_t base = (b * s_r * s_g + g * s_r) * 3;
+ cmsDoTransform(trafo, input, output + base, s_r);
+ }
+ }
+
+ cmsDeleteTransform(trafo);
+
+ if (icc_cache) {
+ FILE *out = fopen(icc_cache, "wb");
+ if (out) {
+ fprintf(out, "%s%s", LUT3D_CACHE_HEADER, cache_info);
+ fwrite(iccdata.start, iccdata.len, 1, out);
+ fwrite(output, talloc_get_size(output), 1, out);
+ fclose(out);
+ }
+ }
+
+done:
+
+ p->lut_3d_data = talloc_steal(p, output);
+ p->lut_3d_w = s_r, p->lut_3d_h = s_g, p->lut_3d_d = s_b;
+ p->use_lut_3d = true;
+
+ talloc_free(tmp);
+ return true;
+
+error_exit:
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] Error loading ICC profile.\n");
+ talloc_free(tmp);
+ return false;
+}
+
+#else /* CONFIG_LCMS2 */
+
+static bool load_icc(struct gl_priv *p, ...)
+{
+ mp_msg(MSGT_VO, MSGL_FATAL, "[gl] LCMS2 support not compiled.\n");
+ return false;
+}
+
+#endif /* CONFIG_LCMS2 */
+
+static bool parse_3dlut_size(const char *s, int *p1, int *p2, int *p3)
+{
+ if (sscanf(s, "%dx%dx%d", p1, p2, p3) != 3)
+ return false;
+ for (int n = 0; n < 3; n++) {
+ int s = ((int[]) { *p1, *p2, *p3 })[n];
+ if (s < 2 || s > 256 || ((s - 1) & s))
+ return false;
+ }
+ return true;
+}
+
+static int lut3d_size_valid(void *arg)
+{
+ char *s = *(char **)arg;
+ int p1, p2, p3;
+ return parse_3dlut_size(s, &p1, &p2, &p3);
+}
+
+static int backend_valid(void *arg)
+{
+ return mpgl_find_backend(*(const char **)arg) >= 0;
+}
+
+struct fbo_format {
+ const char *name;
+ GLint format;
+};
+
+const struct fbo_format fbo_formats[] = {
+ {"rgb", GL_RGB},
+ {"rgba", GL_RGBA},
+ {"rgb8", GL_RGB8},
+ {"rgb16", GL_RGB16},
+ {"rgb16f", GL_RGB16F},
+ {"rgb32f", GL_RGB32F},
+ {0}
+};
+
+static GLint find_fbo_format(const char *name)
+{
+ for (const struct fbo_format *fmt = fbo_formats; fmt->name; fmt++) {
+ if (strcmp(fmt->name, name) == 0)
+ return fmt->format;
+ }
+ return -1;
+}
+
+static int fbo_format_valid(void *arg)
+{
+ return find_fbo_format(*(const char **)arg) >= 0;
+}
+
+static bool can_use_filter_kernel(const struct filter_kernel *kernel)
+{
+ if (!kernel)
+ return false;
+ struct filter_kernel k = *kernel;
+ return mp_init_filter(&k, filter_sizes, 1);
+}
+
+static const char* handle_scaler_opt(const char *name)
+{
+ const struct filter_kernel *kernel = mp_find_filter_kernel(name);
+ if (can_use_filter_kernel(kernel))
+ return kernel->name;
+
+ for (const char **filter = fixed_scale_filters; *filter; filter++) {
+ if (strcmp(*filter, name) == 0)
+ return *filter;
+ }
+
+ return NULL;
+}
+
+static int scaler_valid(void *arg)
+{
+ return handle_scaler_opt(*(const char **)arg) != NULL;
+}
+
+#if 0
+static void print_scalers(void)
+{
+ mp_msg(MSGT_VO, MSGL_INFO, "Available scalers:\n");
+ for (const char **e = fixed_scale_filters; *e; e++) {
+ mp_msg(MSGT_VO, MSGL_INFO, " %s\n", *e);
+ }
+ for (const struct filter_kernel *e = mp_filter_kernels; e->name; e++) {
+ if (can_use_filter_kernel(e))
+ mp_msg(MSGT_VO, MSGL_INFO, " %s\n", e->name);
+ }
+}
+#endif
+
+static int preinit(struct vo *vo, const char *arg)
+{
+ struct gl_priv *p = talloc_zero(vo, struct gl_priv);
+ vo->priv = p;
+
+ *p = (struct gl_priv) {
+ .vo = vo,
+ .colorspace = MP_CSP_DETAILS_DEFAULTS,
+ .use_npot = 1,
+ .use_pbo = 0,
+ .swap_interval = 1,
+ .fbo_format = GL_RGB16,
+ .use_scale_sep = 1,
+ .use_fancy_downscaling = 1,
+ .scalers = {
+ { .index = 0, .name = "lanczos2" },
+ { .index = 1, .name = "bilinear" },
+ },
+ .scaler_params = {NAN, NAN},
+ };
+
+
+ char *scalers[2] = {0};
+ char *backend_arg = NULL;
+ char *fbo_format = NULL;
+ char *icc_profile = NULL;
+ char *icc_cache = NULL;
+ int icc_intent = -1;
+ char *icc_size_str = NULL;
+
+ const opt_t subopts[] = {
+ {"gamma", OPT_ARG_BOOL, &p->use_gamma},
+ {"srgb", OPT_ARG_BOOL, &p->use_srgb},
+ {"npot", OPT_ARG_BOOL, &p->use_npot},
+ {"pbo", OPT_ARG_BOOL, &p->use_pbo},
+ {"glfinish", OPT_ARG_BOOL, &p->use_glFinish},
+ {"swapinterval", OPT_ARG_INT, &p->swap_interval},
+ {"stereo", OPT_ARG_INT, &p->stereo_mode},
+ {"lscale", OPT_ARG_MSTRZ, &scalers[0], scaler_valid},
+ {"cscale", OPT_ARG_MSTRZ, &scalers[1], scaler_valid},
+ {"lparam1", OPT_ARG_FLOAT, &p->scaler_params[0]},
+ {"lparam2", OPT_ARG_FLOAT, &p->scaler_params[1]},
+ {"fancy-downscaling", OPT_ARG_BOOL, &p->use_fancy_downscaling},
+ {"debug", OPT_ARG_BOOL, &p->use_gl_debug},
+ {"force-gl2", OPT_ARG_BOOL, &p->use_gl2},
+ {"indirect", OPT_ARG_BOOL, &p->use_indirect},
+ {"scale-sep", OPT_ARG_BOOL, &p->use_scale_sep},
+ {"fbo-format", OPT_ARG_MSTRZ, &fbo_format, fbo_format_valid},
+ {"backend", OPT_ARG_MSTRZ, &backend_arg, backend_valid},
+ {"icc-profile", OPT_ARG_MSTRZ, &icc_profile},
+ {"icc-cache", OPT_ARG_MSTRZ, &icc_cache},
+ {"icc-intent", OPT_ARG_INT, &icc_intent},
+ {"3dlut-size", OPT_ARG_MSTRZ, &icc_size_str,
+ lut3d_size_valid},
+ {"dither-depth", OPT_ARG_INT, &p->dither_depth},
+ {NULL}
+ };
+
+ if (subopt_parse(arg, subopts) != 0) {
+ mp_msg(MSGT_VO, MSGL_FATAL, help_text);
+ goto err_out;
+ }
+
+ int backend = backend_arg ? mpgl_find_backend(backend_arg) : GLTYPE_AUTO;
+ free(backend_arg);
+
+ if (fbo_format)
+ p->fbo_format = find_fbo_format(fbo_format);
+ free(fbo_format);
+
+ for (int n = 0; n < 2; n++) {
+ if (scalers[n])
+ p->scalers[n].name = handle_scaler_opt(scalers[n]);
+ free(scalers[n]);
+ }
+
+ int s_r = 128, s_g = 256, s_b = 64;
+ if (icc_size_str)
+ parse_3dlut_size(icc_size_str, &s_r, &s_g, &s_b);
+ free(icc_size_str);
+
+ bool success = true;
+ if (icc_profile) {
+ success = load_icc(p, icc_profile, icc_cache, icc_intent,
+ s_r, s_g, s_b);
+ }
+ free(icc_profile);
+ free(icc_cache);
+
+ if (!success)
+ goto err_out;
+
+ p->eosd = talloc_zero(vo, struct bitmap_packer);
+
+ p->glctx = init_mpglcontext(backend, vo);
+ if (!p->glctx)
+ goto err_out;
+ p->gl = p->glctx->gl;
+
+ if (true) {
+ if (!config_window(p, 320, 200, VOFLAG_HIDDEN))
+ goto err_out;
+ // We created a window to test whether the GL context could be
+ // created and so on. Destroy that window to make sure all state
+ // associated with it is lost.
+ uninit(vo);
+ p->glctx = init_mpglcontext(backend, vo);
+ if (!p->glctx)
+ goto err_out;
+ p->gl = p->glctx->gl;
+ }
+
+ return 0;
+
+err_out:
+ uninit(vo);
+ return -1;
+}
+
+const struct vo_driver video_out_gl3 = {
+ .is_new = true,
+ .info = &(const vo_info_t) {
+ "OpenGL 3.x",
+ "gl3",
+ "Based on vo_gl.c by Reimar Doeffinger",
+ ""
+ },
+ .preinit = preinit,
+ .config = config,
+ .control = control,
+ .draw_slice = draw_slice,
+ .draw_osd = draw_osd,
+ .flip_page = flip_page,
+ .check_events = check_events,
+ .uninit = uninit,
+};
+
+static const char help_text[] =
+"\n--vo=gl3 command line help:\n"
+"Example: mplayer --vo=gl3:scale-sep:lscale=lanczos2\n"
+"\nOptions:\n"
+" lscale=<filter>\n"
+" Set the scaling filter. Possible choices:\n"
+" bilinear: bilinear texture filtering (fastest).\n"
+" bicubic_fast: bicubic filter (without lookup texture).\n"
+" sharpen3: unsharp masking (sharpening) with radius=3.\n"
+" sharpen5: unsharp masking (sharpening) with radius=5.\n"
+" lanczos2: Lanczos with radius=2 (default, recommended).\n"
+" lanczos3: Lanczos with radius=3 (not recommended).\n"
+" mitchell: Mitchell-Netravali.\n"
+" Default: lanczos2\n"
+" lparam1=<value> / lparam2=<value>\n"
+" Set parameters for configurable filters. Affects chroma scaler\n"
+" as well.\n"
+" Filters which use this:\n"
+" mitchell: b and c params (defaults: b=1/3 c=1/3)\n"
+" kaiser: (defaults: 6.33 6.33)\n"
+" sharpen3: lparam1 sets sharpening strength (default: 0.5)\n"
+" sharpen5: as with sharpen3\n"
+" stereo=<n>\n"
+" 0: normal display\n"
+" 1: side-by-side to red-cyan stereo\n"
+" 2: side-by-side to green-magenta stereo\n"
+" 3: side-by-side to quadbuffer stereo\n"
+" srgb\n"
+" Enable gamma-correct scaling by working in linear light. This\n"
+" makes use of sRGB textures and framebuffers.\n"
+" This option forces the options 'indirect' and 'gamma'.\n"
+" NOTE: for BT.709 colorspaces, a gamma of 2.35 is assumed. For\n"
+" other YUV colorspaces, 2.2 is assumed. RGB input is always\n"
+" assumed to be in sRGB.\n"
+" pbo\n"
+" Enable use of PBOs. This is faster, but can sometimes lead to\n"
+" sporadic and temporary image corruption.\n"
+" dither-depth=<n>\n"
+" Positive non-zero values select the target bit depth.\n"
+" -1: Disable any dithering done by mplayer.\n"
+" 0: Automatic selection. If output bit depth can't be detected,\n"
+" 8 bits per component are assumed.\n"
+" 8: Dither to 8 bit output.\n"
+" Default: 0.\n"
+" Note that dithering will always be disabled if the bit depth\n"
+" of the video is lower or qual to the detected dither-depth.\n"
+" If color management is enabled, input depth is assumed to be\n"
+" 16 bits, because the 3D LUT output is 16 bit wide.\n"
+" debug\n"
+" Check for OpenGL errors, i.e. call glGetError(). Also request a\n"
+" debug OpenGL context.\n"
+"Less useful options:\n"
+" swapinterval=<n>\n"
+" Interval in displayed frames between to buffer swaps.\n"
+" 1 is equivalent to enable VSYNC, 0 to disable VSYNC.\n"
+" no-scale-sep\n"
+" When using a separable scale filter for luma, usually two filter\n"
+" passes are done. This is often faster. However, it forces\n"
+" conversion to RGB in an extra pass, so it can actually be slower\n"
+" if used with fast filters on small screen resolutions. Using\n"
+" this options will make rendering a single operation.\n"
+" Note that chroma scalers are always done as 1-pass filters.\n"
+" cscale=<n>\n"
+" As lscale but for chroma (2x slower with little visible effect).\n"
+" Note that with some scaling filters, upscaling is always done in\n"
+" RGB. If chroma is not subsampled, this option is ignored, and the\n"
+" luma scaler is used instead. Setting this option is often useless.\n"
+" no-fancy-downscaling\n"
+" When using convolution based filters, don't extend the filter\n"
+" size when downscaling. Trades downscaling performance for\n"
+" reduced quality.\n"
+" no-npot\n"
+" Force use of power-of-2 texture sizes. For debugging only.\n"
+" Borders will look discolored due to filtering.\n"
+" glfinish\n"
+" Call glFinish() before swapping buffers\n"
+" backend=<sys>\n"
+" auto: auto-select (default)\n"
+" cocoa: Cocoa/OSX\n"
+" win: Win32/WGL\n"
+" x11: X11/GLX\n"
+" indirect\n"
+" Do YUV conversion and scaling as separate passes. This will\n"
+" first render the video into a video-sized RGB texture, and\n"
+" draw the result on screen. The luma scaler is used to scale\n"
+" the RGB image when rendering to screen. The chroma scaler\n"
+" is used only on YUV conversion, and only if the video uses\n"
+" chroma-subsampling.\n"
+" This mechanism is disabled on RGB input.\n"
+" fbo-format=<fmt>\n"
+" Selects the internal format of any FBO textures used.\n"
+" fmt can be one of: rgb, rgba, rgb8, rgb16, rgb16f, rgb32f\n"
+" Default: rgb16.\n"
+" gamma\n"
+" Always enable gamma control. (Disables delayed enabling.)\n"
+" force-gl2\n"
+" Create a legacy GL context. This will randomly malfunction\n"
+" if the proper extensions are not supported.\n"
+"Color management:\n"
+" icc-profile=<file>\n"
+" Load an ICC profile and use it to transform linear RGB to\n"
+" screen output. Needs LittleCMS2 support compiled in.\n"
+" icc-cache=<file>\n"
+" Store and load the 3D LUT created from the ICC profile in\n"
+" this file. This can be used to speed up loading, since\n"
+" LittleCMS2 can take a while to create the 3D LUT.\n"
+" Note that this file will be at most about 100 MB big.\n"
+" icc-intent=<value>\n"
+" 0: perceptual\n"
+" 1: relative colorimetric\n"
+" 2: saturation\n"
+" 3: absolute colorimetric (default)\n"
+" 3dlut-size=<r>x<g>x<b>\n"
+" Size of the 3D LUT generated from the ICC profile in each\n"
+" dimension. Default is 128x256x64.\n"
+" Sizes must be a power of two, and 256 at most.\n"
+"\n";
diff --git a/libvo/vo_gl3_shaders.glsl b/libvo/vo_gl3_shaders.glsl
new file mode 100644
index 0000000..f67e55e
--- /dev/null
+++ b/libvo/vo_gl3_shaders.glsl
@@ -0,0 +1,316 @@
+/*
+ * This file is part of mplayer2.
+ *
+ * mplayer2 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mplayer2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mplayer2; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+// Note that this file is not directly passed as shader, but run through some
+// text processing functions, and in fact contains multiple vertex and fragment
+// shaders.
+
+// inserted at the beginning of all shaders
+#!section prelude
+#!section vertex_all
+uniform mat3 transform;
+uniform sampler3D lut_3d;
+
+in vec2 vertex_position;
+in vec4 vertex_color;
+out vec4 color;
+in vec2 vertex_texcoord;
+out vec2 texcoord;
+
+void main() {
+ vec3 position = vec3(vertex_position, 1);
+#ifndef FIXED_SCALE
+ position = transform * position;
+#endif
+ gl_Position = vec4(position, 1);
+ color = vertex_color;
+#ifdef USE_3DLUT
+ color = vec4(texture(lut_3d, color.rgb).rgb, color.a);
+#endif
+ texcoord = vertex_texcoord;
+}
+
+#!section frag_eosd
+uniform sampler2D texture1;
+
+in vec2 texcoord;
+in vec4 color;
+out vec4 out_color;
+
+void main() {
+ out_color = vec4(color.rgb, color.a * texture(texture1, texcoord).r);
+}
+
+#!section frag_osd
+uniform sampler2D texture1;
+
+in vec2 texcoord;
+in vec4 color;
+out vec4 out_color;
+
+void main() {
+ out_color = texture(texture1, texcoord).rrrg * color;
+}
+
+#!section frag_video
+uniform sampler2D texture1;
+uniform sampler2D texture2;
+uniform sampler2D texture3;
+uniform sampler1D lut_c_1d;
+uniform sampler1D lut_l_1d;
+uniform sampler2D lut_c_2d;
+uniform sampler2D lut_l_2d;
+uniform sampler3D lut_3d;
+uniform sampler2D dither;
+uniform mat4x3 colormatrix;
+uniform vec3 inv_gamma;
+uniform float conv_gamma;
+uniform float dither_quantization;
+uniform float dither_multiply;
+uniform float filter_param1;
+
+in vec2 texcoord;
+out vec4 out_color;
+
+vec4 sample_bilinear(sampler2D tex, vec2 texcoord) {
+ return texture(tex, texcoord);
+}
+
+// Explanation how bicubic scaling with only 4 texel fetches is done:
+// http://www.mate.tue.nl/mate/pdfs/10318.pdf
+// 'Efficient GPU-Based Texture Interpolation using Uniform B-Splines'
+// Explanation why this algorithm normally always blurs, even with unit scaling:
+// http://bigwww.epfl.ch/preprints/ruijters1001p.pdf
+// 'GPU Prefilter for Accurate Cubic B-spline Interpolation'
+vec4 calcweights(float s) {
+ vec4 t = vec4(-0.5, 0.1666, 0.3333, -0.3333) * s + vec4(1, 0, -0.5, 0.5);
+ t = t * s + vec4(0, 0, -0.5, 0.5);
+ t = t * s + vec4(-0.6666, 0, 0.8333, 0.1666);
+ vec2 a = vec2(1 / t.z, 1 / t.w);
+ t.xy = t.xy * a + vec2(1, 1);
+ t.x = t.x + s;
+ t.y = t.y - s;
+ return t;
+}
+
+vec4 sample_bicubic_fast(sampler2D tex, vec2 texcoord) {
+ vec2 texsize = textureSize(tex, 0);
+ vec2 pt = 1 / texsize;
+ vec2 fcoord = fract(texcoord * texsize + vec2(0.5, 0.5));
+ vec4 parmx = calcweights(fcoord.x);
+ vec4 parmy = calcweights(fcoord.y);
+ vec4 cdelta;
+ cdelta.xz = parmx.rg * vec2(-pt.x, pt.x);
+ cdelta.yw = parmy.rg * vec2(-pt.y, pt.y);
+ // first y-interpolation
+ vec4 ar = texture(tex, texcoord + cdelta.xy);
+ vec4 ag = texture(tex, texcoord + cdelta.xw);
+ vec4 ab = mix(ag, ar, parmy.b);
+ // second y-interpolation
+ vec4 br = texture(tex, texcoord + cdelta.zy);
+ vec4 bg = texture(tex, texcoord + cdelta.zw);
+ vec4 aa = mix(bg, br, parmy.b);
+ // x-interpolation
+ return mix(aa, ab, parmx.b);
+}
+
+float[2] weights2(sampler1D lookup, float f) {
+ vec4 c = texture(lookup, f);
+ return float[2](c.r, c.g);
+}
+
+float[4] weights4(sampler1D lookup, float f) {
+ vec4 c = texture(lookup, f);
+ return float[4](c.r, c.g, c.b, c.a);
+}
+
+float[6] weights6(sampler2D lookup, float f) {
+ vec4 c1 = texture(lookup, vec2(0.25, f));
+ vec4 c2 = texture(lookup, vec2(0.75, f));
+ return float[6](c1.r, c1.g, c1.b, c2.r, c2.g, c2.b);
+}
+
+float[8] weights8(sampler2D lookup, float f) {
+ vec4 c1 = texture(lookup, vec2(0.25, f));
+ vec4 c2 = texture(lookup, vec2(0.75, f));
+ return float[8](c1.r, c1.g, c1.b, c1.a, c2.r, c2.g, c2.b, c2.a);
+}
+
+float[12] weights12(sampler2D lookup, float f) {
+ vec4 c1 = texture(lookup, vec2(1.0/6.0, f));
+ vec4 c2 = texture(lookup, vec2(0.5, f));
+ vec4 c3 = texture(lookup, vec2(5.0/6.0, f));
+ return float[12](c1.r, c1.g, c1.b, c1.a,
+ c2.r, c2.g, c2.b, c2.a,
+ c3.r, c3.g, c3.b, c3.a);
+}
+
+float[16] weights16(sampler2D lookup, float f) {
+ vec4 c1 = texture(lookup, vec2(0.125, f));
+ vec4 c2 = texture(lookup, vec2(0.375, f));
+ vec4 c3 = texture(lookup, vec2(0.625, f));
+ vec4 c4 = texture(lookup, vec2(0.875, f));
+ return float[16](c1.r, c1.g, c1.b, c1.a, c2.r, c2.g, c2.b, c2.a,
+ c3.r, c3.g, c3.b, c3.a, c4.r, c4.g, c4.b, c4.a);
+}
+
+#define CONVOLUTION_SEP_N(NAME, N) \
+ vec4 NAME(sampler2D tex, vec2 texcoord, vec2 pt, float weights[N]) { \
+ vec4 res = vec4(0); \
+ for (int n = 0; n < N; n++) { \
+ res += weights[n] * texture(tex, texcoord + pt * n); \
+ } \
+ return res; \
+ }
+
+CONVOLUTION_SEP_N(convolution_sep2, 2)
+CONVOLUTION_SEP_N(convolution_sep4, 4)
+CONVOLUTION_SEP_N(convolution_sep6, 6)
+CONVOLUTION_SEP_N(convolution_sep8, 8)
+CONVOLUTION_SEP_N(convolution_sep12, 12)
+CONVOLUTION_SEP_N(convolution_sep16, 16)
+
+// The dir parameter is (0, 1) or (1, 0), and we expect the shader compiler to
+// remove all the redundant multiplications and additions.
+#define SAMPLE_CONVOLUTION_SEP_N(NAME, N, SAMPLERT, CONV_FUNC, WEIGHTS_FUNC)\
+ vec4 NAME(vec2 dir, SAMPLERT lookup, sampler2D tex, vec2 texcoord) { \
+ vec2 texsize = textureSize(tex, 0); \
+ vec2 pt = (1 / texsize) * dir; \
+ float fcoord = dot(fract(texcoord * texsize - 0.5), dir); \
+ vec2 base = texcoord - fcoord * pt; \
+ return CONV_FUNC(tex, base - pt * (N / 2 - 1), pt, \
+ WEIGHTS_FUNC(lookup, fcoord)); \
+ }
+
+SAMPLE_CONVOLUTION_SEP_N(sample_convolution_sep2, 2, sampler1D, convolution_sep2, weights2)
+SAMPLE_CONVOLUTION_SEP_N(sample_convolution_sep4, 4, sampler1D, convolution_sep4, weights4)
+SAMPLE_CONVOLUTION_SEP_N(sample_convolution_sep6, 6, sampler2D, convolution_sep6, weights6)
+SAMPLE_CONVOLUTION_SEP_N(sample_convolution_sep8, 8, sampler2D, convolution_sep8, weights8)
+SAMPLE_CONVOLUTION_SEP_N(sample_convolution_sep12, 12, sampler2D, convolution_sep12, weights12)
+SAMPLE_CONVOLUTION_SEP_N(sample_convolution_sep16, 16, sampler2D, convolution_sep16, weights16)
+
+
+#define CONVOLUTION_N(NAME, N) \
+ vec4 NAME(sampler2D tex, vec2 texcoord, vec2 pt, float taps_x[N], \
+ float taps_y[N]) { \
+ vec4 res = vec4(0); \
+ for (int y = 0; y < N; y++) { \
+ vec4 line = vec4(0); \
+ for (int x = 0; x < N; x++) \
+ line += taps_x[x] * texture(tex, texcoord + pt * vec2(x, y));\
+ res += taps_y[y] * line; \
+ } \
+ return res; \
+ }
+
+CONVOLUTION_N(convolution2, 2)
+CONVOLUTION_N(convolution4, 4)
+CONVOLUTION_N(convolution6, 6)
+CONVOLUTION_N(convolution8, 8)
+CONVOLUTION_N(convolution12, 12)
+CONVOLUTION_N(convolution16, 16)
+
+#define SAMPLE_CONVOLUTION_N(NAME, N, SAMPLERT, CONV_FUNC, WEIGHTS_FUNC) \
+ vec4 NAME(SAMPLERT lookup, sampler2D tex, vec2 texcoord) { \
+ vec2 texsize = textureSize(tex, 0); \
+ vec2 pt = 1 / texsize; \
+ vec2 fcoord = fract(texcoord * texsize - 0.5); \
+ vec2 base = texcoord - fcoord * pt; \
+ return CONV_FUNC(tex, base - pt * (N / 2 - 1), pt, \
+ WEIGHTS_FUNC(lookup, fcoord.x), \
+ WEIGHTS_FUNC(lookup, fcoord.y)); \
+ }
+
+SAMPLE_CONVOLUTION_N(sample_convolution2, 2, sampler1D, convolution2, weights2)
+SAMPLE_CONVOLUTION_N(sample_convolution4, 4, sampler1D, convolution4, weights4)
+SAMPLE_CONVOLUTION_N(sample_convolution6, 6, sampler2D, convolution6, weights6)
+SAMPLE_CONVOLUTION_N(sample_convolution8, 8, sampler2D, convolution8, weights8)
+SAMPLE_CONVOLUTION_N(sample_convolution12, 12, sampler2D, convolution12, weights12)
+SAMPLE_CONVOLUTION_N(sample_convolution16, 16, sampler2D, convolution16, weights16)
+
+
+// Unsharp masking
+vec4 sample_sharpen3(sampler2D tex, vec2 texcoord) {
+ vec2 texsize = textureSize(tex, 0);
+ vec2 pt = 1 / texsize;
+ vec2 st = pt * 0.5;
+ vec4 p = texture(tex, texcoord);
+ vec4 sum = texture(tex, texcoord + st * vec2(+1, +1))
+ + texture(tex, texcoord + st * vec2(+1, -1))
+ + texture(tex, texcoord + st * vec2(-1, +1))
+ + texture(tex, texcoord + st * vec2(-1, -1));
+ return p + (p - 0.25 * sum) * filter_param1;
+}
+
+vec4 sample_sharpen5(sampler2D tex, vec2 texcoord) {
+ vec2 texsize = textureSize(tex, 0);
+ vec2 pt = 1 / texsize;
+ vec2 st1 = pt * 1.2;
+ vec4 p = texture(tex, texcoord);
+ vec4 sum1 = texture(tex, texcoord + st1 * vec2(+1, +1))
+ + texture(tex, texcoord + st1 * vec2(+1, -1))
+ + texture(tex, texcoord + st1 * vec2(-1, +1))
+ + texture(tex, texcoord + st1 * vec2(-1, -1));
+ vec2 st2 = pt * 1.5;
+ vec4 sum2 = texture(tex, texcoord + st2 * vec2(+1, 0))
+ + texture(tex, texcoord + st2 * vec2( 0, +1))
+ + texture(tex, texcoord + st2 * vec2(-1, 0))
+ + texture(tex, texcoord + st2 * vec2( 0, -1));
+ vec4 t = p * 0.859375 + sum2 * -0.1171875 + sum1 * -0.09765625;
+ return p + t * filter_param1;
+}
+
+void main() {
+#ifdef USE_PLANAR
+ vec3 color = vec3(SAMPLE_L(texture1, texcoord).r,
+ SAMPLE_C(texture2, texcoord).r,
+ SAMPLE_C(texture3, texcoord).r);
+#else
+ vec3 color = SAMPLE_L(texture1, texcoord).rgb;
+#endif
+#ifdef USE_GBRP
+ color.gbr = color;
+#endif
+#ifdef USE_YGRAY
+ // NOTE: actually slightly wrong for 16 bit input video, and completely
+ // wrong for 9/10 bit input
+ color.gb = vec2(128.0/255.0);
+#endif
+#ifdef USE_COLORMATRIX
+ color = mat3(colormatrix) * color + colormatrix[3];
+#endif
+#ifdef USE_LINEAR_CONV
+ color = pow(color, vec3(2.2));
+#endif
+#ifdef USE_LINEAR_CONV_INV
+ // Convert from linear RGB to gamma RGB before putting it through the 3D-LUT
+ // in the final stage.
+ color = pow(color, vec3(1.0/2.2));
+#endif
+#ifdef USE_GAMMA_POW
+ color = pow(color, inv_gamma);
+#endif
+#ifdef USE_3DLUT
+ color = texture(lut_3d, color).rgb;
+#endif
+#ifdef USE_DITHER
+ float dither = texture(dither, gl_FragCoord.xy / textureSize(dither, 0)).r;
+ color = floor(color * dither_multiply + dither ) / dither_quantization;
+#endif
+ out_color = vec4(color, 1);
+}
diff --git a/libvo/vo_ivtv.c b/libvo/vo_ivtv.c
deleted file mode 100644
index d745701..0000000
--- a/libvo/vo_ivtv.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * video output for WinTV PVR-150/250/350 (a.k.a IVTV) cards
- * TV-Out through hardware MPEG decoder
- * Based on some old code from ivtv driver authors.
- * See http://ivtvdriver.org/index.php/Main_Page for more details on the
- * cards supported by the ivtv driver.
- *
- * Copyright (C) 2006 Benjamin Zores
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <inttypes.h>
-#include <linux/types.h>
-#include <linux/videodev2.h>
-#include <linux/ivtv.h>
-#include <linux/ioctl.h>
-
-#include "mp_msg.h"
-#include "subopt-helper.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "vo_ivtv.h"
-#include "libmpdemux/mpeg_packetizer.h"
-
-#define DEFAULT_MPEG_DECODER "/dev/video16"
-#define IVTV_VO_HDR "VO: [ivtv]"
-
-/* ivtv private */
-int ivtv_fd = -1;
-static vo_mpegpes_t *pes;
-
-/* suboptions */
-static int output = -1;
-static char *device = NULL;
-
-static const opt_t subopts[] = {
- {"output", OPT_ARG_INT, &output, int_non_neg},
- {"device", OPT_ARG_MSTRZ, &device, NULL},
- {NULL}
-};
-
-static const vo_info_t info =
-{
- "IVTV MPEG Video Decoder TV-Out",
- "ivtv",
- "Benjamin Zores",
- ""
-};
-const LIBVO_EXTERN (ivtv)
-
-/* ivtv internals */
-
-static uint32_t
-ivtv_reset (int blank_screen)
-{
- struct ivtv_cfg_stop_decode sd;
- struct ivtv_cfg_start_decode sd1;
- int flags = 0;
-
- if (blank_screen)
- flags |= IVTV_STOP_FL_HIDE_FRAME;
- sd.flags = flags;
-
- if (ioctl (ivtv_fd, IVTV_IOC_STOP_DECODE, &sd) < 0)
- {
- mp_msg (MSGT_VO, MSGL_ERR,
- "IVTV_IOC_STOP_DECODE: %s\n", strerror (errno));
- return 1;
- }
-
- sd1.gop_offset = 0;
- sd1.muted_audio_frames = 0;
-
- if (ioctl (ivtv_fd, IVTV_IOC_START_DECODE, &sd1) < 0)
- {
- mp_msg (MSGT_VO, MSGL_ERR,
- "IVTV_IOC_START_DECODE: %s\n", strerror (errno));
- return 1;
- }
-
- return 0;
-}
-
-int
-ivtv_write (const unsigned char *data, int len)
-{
- if (ivtv_fd < 0)
- return 0;
-
- return write (ivtv_fd, data, len);
-}
-
-/* video out functions */
-
-static int
-config (uint32_t width, uint32_t height,
- uint32_t d_width, uint32_t d_height,
- uint32_t fullscreen, char *title, uint32_t format)
-{
- return 0;
-}
-
-static int
-preinit (const char *arg)
-{
- struct v4l2_output vout;
- int err;
-
- if (subopt_parse (arg, subopts) != 0)
- {
- mp_msg (MSGT_VO, MSGL_FATAL,
- "\n-vo ivtv command line help:\n"
- "Example: mplayer -vo ivtv:device=/dev/video16:output=2\n"
- "\nOptions:\n"
- " device=/dev/videoX\n"
- " Name of the MPEG decoder device file.\n"
- " output=<0-...>\n"
- " V4L2 id of the TV output.\n"
- "\n" );
- return -1;
- }
-
- if (!device)
- device = strdup (DEFAULT_MPEG_DECODER);
-
- ivtv_fd = open (device, O_RDWR);
- if (ivtv_fd < 0)
- {
- free (device);
- mp_msg (MSGT_VO, MSGL_FATAL, "%s %s\n", IVTV_VO_HDR, strerror (errno));
- return -1;
- }
-
- /* list available outputs */
- vout.index = 0;
- err = 1;
- mp_msg (MSGT_VO, MSGL_INFO, "%s Available video outputs: ", IVTV_VO_HDR);
- while (ioctl (ivtv_fd, VIDIOC_ENUMOUTPUT, &vout) >= 0)
- {
- err = 0;
- mp_msg (MSGT_VO, MSGL_INFO, "'#%d, %s' ", vout.index, vout.name);
- vout.index++;
- }
- if (err)
- {
- mp_msg (MSGT_VO, MSGL_INFO, "none\n");
- free (device);
- return -1;
- }
- else
- mp_msg (MSGT_VO, MSGL_INFO, "\n");
-
- /* set user specified output */
- if (output != -1)
- {
- if (ioctl (ivtv_fd, VIDIOC_S_OUTPUT, &output) < 0)
- {
- mp_msg (MSGT_VO, MSGL_ERR,
- "%s can't set output (%s)\n", IVTV_VO_HDR, strerror (errno));
- free (device);
- return -1;
- }
- }
-
- /* display device name */
- mp_msg (MSGT_VO, MSGL_INFO, "%s using %s\n", IVTV_VO_HDR, device);
- free (device);
-
- /* display current video output */
- if (ioctl (ivtv_fd, VIDIOC_G_OUTPUT, &output) == 0)
- {
- vout.index = output;
- if (ioctl (ivtv_fd, VIDIOC_ENUMOUTPUT, &vout) < 0)
- {
- mp_msg (MSGT_VO, MSGL_ERR,
- "%s can't get output (%s).\n", IVTV_VO_HDR, strerror (errno));
- return -1;
- }
- else
- mp_msg (MSGT_VO, MSGL_INFO,
- "%s video output: %s\n", IVTV_VO_HDR, vout.name);
- }
- else
- {
- mp_msg (MSGT_VO, MSGL_ERR,
- "%s can't get output (%s).\n", IVTV_VO_HDR, strerror (errno));
- return -1;
- }
-
- /* clear output */
- ivtv_reset (1);
-
- return 0;
-}
-
-static void
-draw_osd (void)
-{
- /* do nothing */
-}
-
-static int
-draw_frame (uint8_t * src[])
-{
- pes = (vo_mpegpes_t *) src[0];
- return 0;
-}
-
-static void
-flip_page (void)
-{
- if (ivtv_fd < 0)
- return;
-
- if (!pes)
- return;
-
- send_mpeg_pes_packet (pes->data, pes->size, pes->id,
- pes->timestamp ? pes->timestamp : vo_pts, 2,
- ivtv_write);
-
- /* ensure flip_page() won't be called twice */
- pes = NULL;
-}
-
-static int
-draw_slice (uint8_t *image[], int stride[], int w, int h, int x, int y)
-{
- return 0;
-}
-
-static void
-uninit (void)
-{
- if (ivtv_fd < 0)
- return;
-
- /* clear output */
- ivtv_reset (1);
-
- /* close device */
- close (ivtv_fd);
- ivtv_fd = -1;
-}
-
-static void
-check_events (void)
-{
- /* do nothing */
-}
-
-static int
-query_format (uint32_t format)
-{
- if (format != IMGFMT_MPEGPES)
- return 0;
-
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_TIMER;
-}
-
-static int
-control (uint32_t request, void *data)
-{
- switch (request)
- {
- case VOCTRL_PAUSE:
- case VOCTRL_RESUME:
- return ivtv_reset (0);
-
- case VOCTRL_RESET:
- return ivtv_reset (1);
-
- case VOCTRL_QUERY_FORMAT:
- return query_format (*((uint32_t*) data));
- }
-
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_ivtv.h b/libvo/vo_ivtv.h
deleted file mode 100644
index da957b4..0000000
--- a/libvo/vo_ivtv.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * video output for WinTV PVR-150/250/350 (a.k.a IVTV) cards
- * TV-Out through hardware MPEG decoder
- * Based on some old code from ivtv driver authors.
- * See http://ivtvdriver.org/index.php/Main_Page for more details on the
- * cards supported by the ivtv driver.
- *
- * Copyright (C) 2006 Benjamin Zores
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_VO_IVTV_H
-#define MPLAYER_VO_IVTV_H
-
-extern int ivtv_fd;
-
-int ivtv_write(const unsigned char *data, int len);
-
-#endif /* MPLAYER_VO_IVTV_H */
diff --git a/libvo/vo_mga.c b/libvo/vo_mga.c
deleted file mode 100644
index df99251..0000000
--- a/libvo/vo_mga.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * video output through mga_vid kernel driver
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "config.h"
-#include "mp_msg.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <linux/fb.h>
-
-#include "drivers/mga_vid.h"
-#include "sub/sub.h"
-#include "aspect.h"
-
-static const vo_info_t info =
-{
- "Matrox G200/G4x0/G550 overlay (/dev/mga_vid)",
- "mga",
- "A'rpi",
- "Based on some code by Aaron Holtzman <aholtzma at ess.engr.uvic.ca>"
-};
-
-const LIBVO_EXTERN(mga)
-
-#include "mga_template.c"
-
-#define FBDEV "/dev/fb0"
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
-{
-
-// if (f >= 0) mga_uninit();
- if(!vo_screenwidth || !vo_screenheight) {
- int fd;
- struct fb_var_screeninfo fbinfo;
-
- if(-1 != (fd = open(FBDEV, O_RDONLY))) {
- if(0 == ioctl(fd, FBIOGET_VSCREENINFO, &fbinfo)) {
- if(!vo_screenwidth) vo_screenwidth = fbinfo.xres;
- if(!vo_screenheight) vo_screenheight = fbinfo.yres;
- } else {
- perror("FBIOGET_VSCREENINFO");
- }
- close(fd);
- } else {
- perror(FBDEV);
- }
- }
-
- if(vo_screenwidth && vo_screenheight){
- aspect_save_orig(width,height);
- aspect_save_prescale(d_width,d_height);
- aspect_save_screenres(vo_screenwidth,vo_screenheight);
-
- if(flags&VOFLAG_FULLSCREEN) { /* -fs */
- aspect(&d_width,&d_height,A_ZOOM);
- vo_fs = VO_TRUE;
- } else {
- aspect(&d_width,&d_height,A_NOZOOM);
- vo_fs = VO_FALSE;
- }
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_MGA] aspect(): resized to %dx%d.\n",d_width,d_height);
- }
-
- vo_dwidth=d_width; vo_dheight=d_height;
- mga_vid_config.dest_width = d_width;
- mga_vid_config.dest_height= d_height;
- mga_vid_config.x_org= 0; // (720-mga_vid_config.dest_width)/2;
- mga_vid_config.y_org= 0; // (576-mga_vid_config.dest_height)/2;
- if(vo_screenwidth && vo_screenheight){
- mga_vid_config.x_org=(vo_screenwidth-d_width)/2;
- mga_vid_config.y_org=(vo_screenheight-d_height)/2;
- }
-
- return mga_init(width,height,format);
-}
-
-static void uninit(void)
-{
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO] uninit!\n");
- mga_uninit();
-}
-
-static void flip_page(void)
-{
- vo_mga_flip_page();
-}
-
-
-static void check_events(void)
-{
-}
diff --git a/libvo/vo_mpegpes.c b/libvo/vo_mpegpes.c
deleted file mode 100644
index cae6278..0000000
--- a/libvo/vo_mpegpes.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * based on: test_av.c - test program for new API
- *
- * Copyright (C) 2000 Ralph Metzler <ralph at convergence.de>
- * & Marcus Metzler <marcus at convergence.de>
- * for convergence integrated media GmbH
- *
- * MPEG-PS multiplexer, part of FFmpeg
- * Copyright Gerard Lantau (see http://ffmpeg.org)
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "config.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include "mp_msg.h"
-
-#ifdef CONFIG_DVB
-#define true 1
-#define false 0
-#include <poll.h>
-
-#include <sys/ioctl.h>
-#include <stdio.h>
-#include <time.h>
-
-#include <linux/dvb/dmx.h>
-#include <linux/dvb/frontend.h>
-#include <linux/dvb/video.h>
-#include <linux/dvb/audio.h>
-#endif
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "libmpdemux/mpeg_packetizer.h"
-
-int vo_mpegpes_fd=-1;
-extern int ao_mpegpes_fd;
-
-static const vo_info_t info =
-{
-#ifdef CONFIG_DVB
- "MPEG-PES to DVB card",
-#else
- "MPEG-PES file",
-#endif
- "mpegpes",
- "A'rpi",
- ""
-};
-
-const LIBVO_EXTERN (mpegpes)
-
-static int
-config(uint32_t s_width, uint32_t s_height, uint32_t width, uint32_t height, uint32_t flags, char *title, uint32_t format)
-{
-#ifdef CONFIG_DVB
- switch(s_height){
- case 288:
- case 576:
- case 240:
- case 480:
- break;
- default:
- mp_msg(MSGT_VO,MSGL_ERR,"DVB: height=%d not supported (try 240/480 (ntsc) or 288/576 (pal)\n",s_height);
- return -1;
- }
-#endif
- return 0;
-}
-
-static int preinit(const char *arg){
-#ifdef CONFIG_DVB
- int card = -1;
- char vo_file[30], ao_file[30], *tmp;
-
- if(arg != NULL){
- if((tmp = strstr(arg, "card=")) != NULL) {
- card = atoi(&tmp[5]);
- if((card < 1) || (card > 4)) {
- mp_msg(MSGT_VO, MSGL_ERR, "DVB card number must be between 1 and 4\n");
- return -1;
- }
- card--;
- arg = NULL;
- }
- }
-
- if(!arg){
- //|O_NONBLOCK
- //search the first usable card
- if(card==-1) {
- int n;
- for(n=0; n<4; n++) {
- sprintf(vo_file, "/dev/dvb/adapter%d/video0", n);
- if(access(vo_file, F_OK | W_OK)==0) {
- card = n;
- break;
- }
- }
- }
- if(card==-1) {
- mp_msg(MSGT_VO,MSGL_INFO, "Couldn't find a usable dvb video device, exiting\n");
- return -1;
- }
- mp_msg(MSGT_VO,MSGL_INFO, "Opening /dev/dvb/adapter%d/video0+audio0\n", card);
- sprintf(vo_file, "/dev/dvb/adapter%d/video0", card);
- sprintf(ao_file, "/dev/dvb/adapter%d/audio0", card);
- if((vo_mpegpes_fd = open(vo_file,O_RDWR)) < 0){
- perror("DVB VIDEO DEVICE: ");
- return -1;
- }
- if ( (ioctl(vo_mpegpes_fd,VIDEO_SET_BLANK, false) < 0)){
- perror("DVB VIDEO SET BLANK: ");
- return -1;
- }
- if ( (ioctl(vo_mpegpes_fd,VIDEO_SELECT_SOURCE, VIDEO_SOURCE_MEMORY) < 0)){
- perror("DVB VIDEO SELECT SOURCE: ");
- return -1;
- }
- if ( (ioctl(vo_mpegpes_fd,VIDEO_PLAY) < 0)){
- perror("DVB VIDEO PLAY: ");
- return -1;
- }
- return 0;
- }
-#endif
- arg = (arg ? arg : "grab.mpg");
- mp_msg(MSGT_VO,MSGL_INFO, "Saving PES stream to %s\n", arg);
- vo_mpegpes_fd=open(arg,O_WRONLY|O_CREAT,0666);
- if(vo_mpegpes_fd<0){
- perror("vo_mpegpes");
- return -1;
- }
- return 0;
-}
-
-
-static void draw_osd(void)
-{
-}
-
-
-static int my_write(const unsigned char* data,int len){
- int orig_len = len;
-#ifdef CONFIG_DVB
-#define NFD 2
- struct pollfd pfd[NFD];
-
-// printf("write %d bytes \n",len);
-
- pfd[0].fd = vo_mpegpes_fd;
- pfd[0].events = POLLOUT;
-
- pfd[1].fd = ao_mpegpes_fd;
- pfd[1].events = POLLOUT;
-
- while(len>0){
- if (poll(pfd,NFD,1)){
- if (pfd[0].revents & POLLOUT){
- int ret=write(vo_mpegpes_fd,data,len);
-// printf("ret=%d \n",ret);
- if(ret<=0){
- perror("write");
- usleep(0);
- } else {
- len-=ret; data+=ret;
- }
- } else usleep(1000);
- }
- }
-
-#else
- write(vo_mpegpes_fd,data,len); // write to file
-#endif
- return orig_len;
-}
-
-static void send_pes_packet(unsigned char* data, int len, int id, int timestamp)
-{
- send_mpeg_pes_packet (data, len, id, timestamp, 1, my_write);
-}
-
-static int draw_frame(uint8_t * src[])
-{
- vo_mpegpes_t *p=(vo_mpegpes_t *)src[0];
- send_pes_packet(p->data,p->size,p->id,(p->timestamp>0)?p->timestamp:vo_pts); // video data
- return 0;
-}
-
-static void flip_page (void)
-{
-}
-
-static int draw_slice(uint8_t *srcimg[], int stride[], int w,int h,int x0,int y0)
-{
- return 0;
-}
-
-
-static int
-query_format(uint32_t format)
-{
- if(format==IMGFMT_MPEGPES) return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW|VFCAP_TIMER;
- return 0;
-}
-
-static void
-uninit(void)
-{
- if(ao_mpegpes_fd >= 0 && ao_mpegpes_fd != vo_mpegpes_fd) close(ao_mpegpes_fd);
- ao_mpegpes_fd = -1;
- if(vo_mpegpes_fd>=0){ close(vo_mpegpes_fd);vo_mpegpes_fd=-1;}
-}
-
-
-static void check_events(void)
-{
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_png.c b/libvo/vo_png.c
index 6e23baf..ea2b763 100644
--- a/libvo/vo_png.c
+++ b/libvo/vo_png.c
@@ -27,13 +27,15 @@
#include <string.h>
#include <errno.h>
+#include <libavcodec/avcodec.h>
+#include <libavutil/common.h>
+
#include "config.h"
#include "mp_msg.h"
#include "mp_msg.h"
#include "video_out.h"
#include "video_out_internal.h"
#include "subopt-helper.h"
-#include "libavcodec/avcodec.h"
#include "fmt-conversion.h"
static const vo_info_t info =
diff --git a/libvo/vo_s3fb.c b/libvo/vo_s3fb.c
deleted file mode 100644
index bd04ea2..0000000
--- a/libvo/vo_s3fb.c
+++ /dev/null
@@ -1,560 +0,0 @@
-/*
- * copyright (C) 2006 Mark Sanderson <mmp at kiora.ath.cx>
- *
- * 30-Mar-2006 Modified from tdfxfb.c by Mark Zealey
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/* Hints and tricks:
- * - Use -dr to get direct rendering
- * - Use -vf yuy2 to get yuy2 rendering, *MUCH* faster than yv12
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <linux/fb.h>
-#include <sys/io.h>
-
-#include "config.h"
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-#endif
-#include "mp_msg.h"
-#include "fastmemcpy.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "aspect.h"
-#include "sub/sub.h"
-
-static const vo_info_t info =
- {
- "S3 Virge over fbdev",
- "s3fb",
- "Mark Sanderson <mmp at kiora.ath.cx>",
- ""
- };
-
-const LIBVO_EXTERN(s3fb)
-
-typedef struct vga_type {
- int cr38, cr39, cr53;
- unsigned char *mmio;
-} vga_t;
-
-static vga_t *v = NULL;
-static int fd = -1;
-static struct fb_fix_screeninfo fb_finfo;
-static struct fb_var_screeninfo fb_vinfo;
-static uint32_t in_width, in_height, in_format, in_depth, in_s3_format,
- screenwidth, screenheight, screendepth, screenstride,
- vidwidth, vidheight, vidx, vidy, page, offset, sreg;
-static char *inpage, *inpage0, *smem = NULL;
-static void (*alpha_func)();
-
-static void clear_screen(void);
-
-/* streams registers */
-#define PSTREAM_CONTROL_REG 0x8180
-#define COL_CHROMA_KEY_CONTROL_REG 0x8184
-#define SSTREAM_CONTROL_REG 0x8190
-#define CHROMA_KEY_UPPER_BOUND_REG 0x8194
-#define SSTREAM_STRETCH_REG 0x8198
-#define BLEND_CONTROL_REG 0x81A0
-#define PSTREAM_FBADDR0_REG 0x81C0
-#define PSTREAM_FBADDR1_REG 0x81C4
-#define PSTREAM_STRIDE_REG 0x81C8
-#define DOUBLE_BUFFER_REG 0x81CC
-#define SSTREAM_FBADDR0_REG 0x81D0
-#define SSTREAM_FBADDR1_REG 0x81D4
-#define SSTREAM_STRIDE_REG 0x81D8
-#define OPAQUE_OVERLAY_CONTROL_REG 0x81DC
-#define K1_VSCALE_REG 0x81E0
-#define K2_VSCALE_REG 0x81E4
-#define DDA_VERT_REG 0x81E8
-#define STREAMS_FIFO_REG 0x81EC
-#define PSTREAM_START_REG 0x81F0
-#define PSTREAM_WINDOW_SIZE_REG 0x81F4
-#define SSTREAM_START_REG 0x81F8
-#define SSTREAM_WINDOW_SIZE_REG 0x81FC
-
-#define S3_MEMBASE sreg
-#define S3_NEWMMIO_REGBASE 0x1000000 /* 16MB */
-#define S3_NEWMMIO_REGSIZE 0x10000 /* 64KB */
-#define S3V_MMIO_REGSIZE 0x8000 /* 32KB */
-#define S3_NEWMMIO_VGABASE (S3_NEWMMIO_REGBASE + 0x8000)
-
-#define OUTREG(mmreg, value) *(unsigned int *)(&v->mmio[mmreg]) = value
-
-static int readcrtc(int reg)
-{
- outb(reg, 0x3d4);
- return inb(0x3d5);
-}
-
-static void writecrtc(int reg, int value)
-{
- outb(reg, 0x3d4);
- outb(value, 0x3d5);
-}
-
-// enable S3 registers
-static int enable(void)
-{
- int fd;
-
- if (v)
- return 1;
- errno = 0;
- v = malloc(sizeof(vga_t));
- if (v) {
- if (ioperm(0x3d4, 2, 1) == 0) {
- fd = open("/dev/mem", O_RDWR);
- if (fd != -1) {
- v->mmio = mmap(0, S3_NEWMMIO_REGSIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd,
- S3_MEMBASE + S3_NEWMMIO_REGBASE);
- close(fd);
- if (v->mmio != MAP_FAILED) {
- v->cr38 = readcrtc(0x38);
- v->cr39 = readcrtc(0x39);
- v->cr53 = readcrtc(0x53);
- writecrtc(0x38, 0x48);
- writecrtc(0x39, 0xa5);
- writecrtc(0x53, 0x08);
- return 1;
- }
- }
- iopl(0);
- }
- free(v);
- v = NULL;
- }
- return 0;
-}
-
-static void disable(void)
-{
- if (v) {
- writecrtc(0x53, v->cr53);
- writecrtc(0x39, v->cr39);
- writecrtc(0x38, v->cr38);
- ioperm(0x3d4, 2, 0);
- munmap(v->mmio, S3_NEWMMIO_REGSIZE);
- free(v);
- v = NULL;
- }
-}
-
-static int yuv_on(int format, int src_w, int src_h, int dst_x, int dst_y,
- int dst_w, int dst_h, int crop, int xres, int yres,
- int line_length, int offset)
-{
- int tmp, pitch, start, src_wc, src_hc, bpp;
-
- if (format == 0 || format == 7)
- bpp = 4;
- else if (format == 6)
- bpp = 3;
- else
- bpp = 2;
-
- src_wc = src_w - crop * 2;
- src_hc = src_h - crop * 2;
- pitch = src_w * bpp;
-
- // video card memory layout:
- // 0-n: visible screen memory, n = width * height * bytes per pixel
- // n-m: scaler source memory, n is aligned to a page boundary
- // m+: scaler source memory for multiple buffers
-
- // offset is the first aligned byte after the screen memory, where the scaler input buffer is
- tmp = (yres * line_length + 4095) & ~4095;
- offset += tmp;
-
- // start is the top left viewable scaler input pixel
- start = offset + crop * pitch + crop * bpp;
-
- OUTREG(COL_CHROMA_KEY_CONTROL_REG, 0x47000000);
- OUTREG(CHROMA_KEY_UPPER_BOUND_REG, 0x0);
- OUTREG(BLEND_CONTROL_REG, 0x00000020);
- OUTREG(DOUBLE_BUFFER_REG, 0x0); /* Choose fbaddr0 as stream source. */
- OUTREG(OPAQUE_OVERLAY_CONTROL_REG, 0x0);
-
- OUTREG(PSTREAM_CONTROL_REG, 0x06000000);
- OUTREG(PSTREAM_FBADDR0_REG, 0x0);
- OUTREG(PSTREAM_FBADDR1_REG, 0x0);
- OUTREG(PSTREAM_STRIDE_REG, line_length);
- OUTREG(PSTREAM_START_REG, 0x00010001);
- OUTREG(PSTREAM_WINDOW_SIZE_REG, 0x00010001);
- //OUTREG(SSTREAM_WINDOW_SIZE_REG, ( ((xres-1) << 16) | yres) & 0x7ff07ff);
-
- if (dst_w == src_w)
- tmp = 0;
- else
- tmp = 2;
- /* format 1=YCbCr-16 2=YUV-16 3=BGR15 4=YUV-16/32(mixed 2/4byte stride) 5=BGR16 6=BGR24 0,7=BGR32 */
- /* The YUV format pixel has a range of value from 0 to 255, while the YCbCr format pixel values are in the range of 16 to 240. */
- OUTREG(SSTREAM_CONTROL_REG, tmp << 28 | (format << 24) |
- ((((src_wc-1)<<1)-(dst_w-1)) & 0xfff));
- OUTREG(SSTREAM_STRETCH_REG,
- ((src_wc - 1) & 0x7ff) | (((src_wc - dst_w-1) & 0x7ff) << 16));
- OUTREG(SSTREAM_FBADDR0_REG, start & 0x3fffff );
- OUTREG(SSTREAM_STRIDE_REG, pitch & 0xfff );
- OUTREG(SSTREAM_START_REG, ((dst_x + 1) << 16) | (dst_y + 1));
- OUTREG(SSTREAM_WINDOW_SIZE_REG, ( ((dst_w-1) << 16) | (dst_h ) ) & 0x7ff07ff);
- OUTREG(K1_VSCALE_REG, src_hc - 1 );
- OUTREG(K2_VSCALE_REG, (src_hc - dst_h) & 0x7ff );
- /* 0xc000 = bw & vert interp */
- /* 0x8000 = no bw save */
- OUTREG(DDA_VERT_REG, (((~dst_h)-1) & 0xfff ) | 0xc000);
- writecrtc(0x92, (((pitch + 7) / 8) >> 8) | 0x80);
- writecrtc(0x93, (pitch + 7) / 8);
-
- writecrtc(0x67, readcrtc(0x67) | 0x4);
-
- return offset;
-}
-
-static void yuv_off(void)
-{
- writecrtc(0x67, readcrtc(0x67) & ~0xc);
- memset(v->mmio + 0x8180, 0, 0x80);
- OUTREG(0x81b8, 0x900);
- OUTREG(0x81bc, 0x900);
- OUTREG(0x81c8, 0x900);
- OUTREG(0x81cc, 0x900);
- OUTREG(0x81d8, 0x1);
- OUTREG(0x81f8, 0x07ff07ff);
- OUTREG(0x81fc, 0x00010001);
- writecrtc(0x92, 0);
- writecrtc(0x93, 0);
-}
-
-static int preinit(const char *arg)
-{
- char *name;
-
- if(arg)
- name = (char*)arg;
- else if(!(name = getenv("FRAMEBUFFER")))
- name = "/dev/fb0";
-
- if((fd = open(name, O_RDWR)) == -1) {
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: can't open %s: %s\n", name, strerror(errno));
- return -1;
- }
-
- if(ioctl(fd, FBIOGET_FSCREENINFO, &fb_finfo)) {
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: problem with FBITGET_FSCREENINFO ioctl: %s\n",
- strerror(errno));
- close(fd);
- fd = -1;
- return -1;
- }
-
- if(ioctl(fd, FBIOGET_VSCREENINFO, &fb_vinfo)) {
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: problem with FBITGET_VSCREENINFO ioctl: %s\n",
- strerror(errno));
- close(fd);
- fd = -1;
- return -1;
- }
-
- // Check the depth now as config() musn't fail
- switch(fb_vinfo.bits_per_pixel) {
- case 16:
- case 24:
- case 32:
- break; // Ok
- default:
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: %d bpp output is not supported\n", fb_vinfo.bits_per_pixel);
- close(fd);
- fd = -1;
- return -1;
- }
-
- /* Open up a window to the hardware */
- smem = mmap(0, fb_finfo.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- sreg = fb_finfo.smem_start;
-
- if(smem == (void *)-1) {
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: Couldn't map memory areas: %s\n", strerror(errno));
- smem = NULL;
- close(fd);
- fd = -1;
- return -1;
- }
-
- if (!enable()) {
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: Couldn't map S3 registers: %s\n", strerror(errno));
- close(fd);
- fd = -1;
- return -1;
- }
-
- return 0; // Success
-}
-
-/* And close our mess */
-static void uninit(void)
-{
- if (inpage0) {
- clear_screen();
- yuv_off();
- inpage0 = NULL;
- }
-
- if(smem) {
- munmap(smem, fb_finfo.smem_len);
- smem = NULL;
- }
-
- disable();
-
- if(fd != -1) {
- close(fd);
- fd = -1;
- }
-}
-
-static void clear_screen(void)
-{
- if (inpage0) {
- int n;
-
- memset(smem, 0, screenheight * screenstride);
-
- if (in_format == IMGFMT_YUY2) {
- unsigned short *ptr;
- int i;
-
- ptr = (unsigned short *)inpage0;
- n = in_width * in_height;
- if (vo_doublebuffering)
- n *= 2;
- for(i=0; i<n; i++)
- *ptr++ = 0x8000;
-
- } else {
- n = in_depth * in_width * in_height;
- if (vo_doublebuffering)
- n *= 2;
- memset(inpage0, 0, n);
- }
- }
-}
-
-/* Setup output screen dimensions etc */
-static void setup_screen(uint32_t full)
-{
- int inpageoffset;
-
- aspect(&vidwidth, &vidheight, full ? A_ZOOM : A_NOZOOM);
-
- // center picture
- vidx = (screenwidth - vidwidth) / 2;
- vidy = (screenheight - vidheight) / 2;
-
- geometry(&vidx, &vidy, &vidwidth, &vidheight, screenwidth, screenheight);
- vo_fs = full;
-
- inpageoffset = yuv_on(in_s3_format, in_width, in_height, vidx, vidy, vidwidth, vidheight, 0, screenwidth, screenheight, screenstride, 0);
- inpage0 = smem + inpageoffset;
- inpage = inpage0;
- mp_msg(MSGT_VO, MSGL_INFO, "s3fb: output is at %dx%d +%dx%d\n", vidx, vidy, vidwidth, vidheight);
-
- clear_screen();
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height,
- uint32_t flags, char *title, uint32_t format)
-{
- screenwidth = fb_vinfo.xres;
- screenheight = fb_vinfo.yres;
- screenstride = fb_finfo.line_length;
- aspect_save_screenres(fb_vinfo.xres,fb_vinfo.yres);
-
- in_width = width;
- in_height = height;
- in_format = format;
- aspect_save_orig(width,height);
-
- aspect_save_prescale(d_width,d_height);
-
- /* Setup the screen for rendering to */
- screendepth = fb_vinfo.bits_per_pixel / 8;
-
- switch(in_format) {
-
- case IMGFMT_YUY2:
- in_depth = 2;
- in_s3_format = 1;
- alpha_func = vo_draw_alpha_yuy2;
- break;
-
- case IMGFMT_BGR15:
- in_depth = 2;
- in_s3_format = 3;
- alpha_func = vo_draw_alpha_rgb16;
- break;
-
- case IMGFMT_BGR16:
- in_depth = 2;
- in_s3_format = 5;
- alpha_func = vo_draw_alpha_rgb16;
- break;
-
- case IMGFMT_BGR24:
- in_depth = 3;
- in_s3_format = 6;
- alpha_func = vo_draw_alpha_rgb24;
- break;
-
- case IMGFMT_BGR32:
- in_depth = 4;
- in_s3_format = 7;
- alpha_func = vo_draw_alpha_rgb32;
- break;
-
- default:
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: Eik! Something's wrong with control().\n");
- return -1;
- }
-
- offset = in_width * in_depth * in_height;
- if (vo_doublebuffering)
- page = offset;
- else
- page = 0;
-
- if(screenheight * screenstride + page + offset > fb_finfo.smem_len) {
- mp_msg(MSGT_VO, MSGL_FATAL, "s3fb: Not enough video memory to play this movie. Try at a lower resolution\n");
- return -1;
- }
-
- setup_screen(flags & VOFLAG_FULLSCREEN);
- if (vo_doublebuffering)
- inpage = inpage0 + page;
-
- mp_msg(MSGT_VO, MSGL_INFO, "s3fb: screen is %dx%d at %d bpp, in is %dx%d at %d bpp, norm is %dx%d\n",
- screenwidth, screenheight, screendepth * 8,
- in_width, in_height, in_depth * 8,
- d_width, d_height);
-
- return 0;
-}
-
-static void draw_alpha(int x, int y, int w, int h, unsigned char *src,
- unsigned char *srca, int stride)
-{
- char *dst = inpage + (y * in_width + x) * in_depth;
- alpha_func(w, h, src, srca, stride, dst, in_width * in_depth);
-}
-
-static void draw_osd(void)
-{
- if (!vo_doublebuffering)
- vo_draw_text(in_width, in_height, draw_alpha);
-}
-
-/* Render onto the screen */
-static void flip_page(void)
-{
- if(vo_doublebuffering) {
- vo_draw_text(in_width, in_height, draw_alpha);
- yuv_on(in_s3_format, in_width, in_height, vidx, vidy, vidwidth, vidheight, 0, screenwidth, screenheight, screenstride, page);
- page ^= offset;
- inpage = inpage0 + page;
- }
-}
-
-static int draw_frame(uint8_t *src[])
-{
- mem2agpcpy(inpage, src[0], in_width * in_depth * in_height);
- return 0;
-}
-
-static int draw_slice(uint8_t *i[], int s[], int w, int h, int x, int y)
-{
- return 1;
-}
-
-/* Attempt to start doing DR */
-static uint32_t get_image(mp_image_t *mpi)
-{
-
- if(mpi->flags & MP_IMGFLAG_READABLE)
- return VO_FALSE;
- if(mpi->type == MP_IMGTYPE_STATIC && vo_doublebuffering)
- return VO_FALSE;
- if(mpi->type > MP_IMGTYPE_TEMP)
- return VO_FALSE; // TODO ??
-
- switch(in_format) {
- case IMGFMT_BGR15:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- case IMGFMT_YUY2:
- mpi->planes[0] = inpage;
- mpi->stride[0] = in_width * in_depth;
- break;
-
- default:
- return VO_FALSE;
- }
-
- mpi->width = in_width;
- mpi->flags |= MP_IMGFLAG_DIRECT;
-
- return VO_TRUE;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch(request) {
- case VOCTRL_GET_IMAGE:
- return get_image(data);
-
- case VOCTRL_QUERY_FORMAT:
- switch(*((uint32_t*)data)) {
- case IMGFMT_BGR15:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- case IMGFMT_YUY2:
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW |
- VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN;
- }
-
- return 0; /* Not supported */
-
- case VOCTRL_FULLSCREEN:
- setup_screen(!vo_fs);
- return 0;
- }
-
- return VO_NOTIMPL;
-}
-
-/* Dummy funcs */
-static void check_events(void) {}
diff --git a/libvo/vo_sharedbuffer.m b/libvo/vo_sharedbuffer.m
index 0b811f1..40aa170 100644
--- a/libvo/vo_sharedbuffer.m
+++ b/libvo/vo_sharedbuffer.m
@@ -18,7 +18,7 @@
*/
/*
- * This video output was extracted from mplayer's corevideo. It's purpose it
+ * This video output was extracted from mplayer's corevideo. Its purpose is
* to copy mp_image data to a shared buffer using mmap and to do simple
* coordination with the GUIs using Distributed Objects.
*/
@@ -27,7 +27,7 @@
#include "vo_sharedbuffer.h"
#include "video_out.h"
-#include "subopt-helper.h"
+#include "m_option.h"
#include "talloc.h"
#include "libmpcodecs/vfcap.h"
@@ -53,52 +53,30 @@ struct priv {
id <MPlayerOSXVOProto> mposx_proto;
};
-struct priv *p;
-
// implementation
static void draw_alpha(void *ctx, int x0, int y0, int w, int h,
unsigned char *src, unsigned char *srca,
int stride)
{
+ struct priv *p = ((struct vo *) ctx)->priv;
p->vo_draw_alpha_fnc(w, h, src, srca, stride,
p->image_data + (x0 + y0 * p->image_width) * p->image_bytespp,
p->image_width * p->image_bytespp);
}
-static unsigned int image_bytes()
+static unsigned int image_bytes(struct priv *p)
{
return p->image_width * p->image_height * p->image_bytespp;
}
static int preinit(struct vo *vo, const char *arg)
{
- p = talloc_zero(NULL, struct priv);
-
- const opt_t subopts[] = {
- {"buffer_name", OPT_ARG_MSTRZ, &p->buffer_name, NULL},
- {NULL}
- };
-
- if (subopt_parse(arg, subopts) != 0) {
- mp_msg(MSGT_VO, MSGL_FATAL,
- "\n-vo sharedbuffer command line help:\n"
- "Example: mplayer -vo shared_buffer:buffer_name=mybuff\n"
- "\nOptions:\n"
- " buffer_name=<name>\n"
- " Name of the shared buffer created with shm_open() as well as\n"
- " the name of the NSConnection mplayer2 will try to open.\n"
- "Example: mplayer -vo sharedbuffer\n"
- "\n" );
- return -1;
- }
-
- if (!p->buffer_name) p->buffer_name = "mplayerosx";
-
return 0;
}
static void flip_page(struct vo *vo)
{
+ struct priv *p = vo->priv;
NSAutoreleasePool *pool = [NSAutoreleasePool new];
[p->mposx_proto render];
[pool release];
@@ -108,6 +86,7 @@ static void check_events(struct vo *vo) { }
static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
{
+ struct priv *p = vo->priv;
memcpy_pic(p->image_data, mpi->planes[0],
(p->image_width) * (p->image_bytespp), p->image_height,
(p->image_width) * (p->image_bytespp), mpi->stride[0]);
@@ -115,10 +94,11 @@ static uint32_t draw_image(struct vo *vo, mp_image_t *mpi)
}
static void draw_osd(struct vo *vo, struct osd_state *osd) {
+ struct priv *p = vo->priv;
osd_draw_text(osd, p->image_width, p->image_height, draw_alpha, vo);
}
-static void free_buffers(void)
+static void free_buffers(struct priv *p)
{
[p->mposx_proto stop];
p->mposx_proto = nil;
@@ -126,7 +106,7 @@ static void free_buffers(void)
p->mposx_proxy = nil;
if (p->image_data) {
- if (munmap(p->image_data, image_bytes()) == -1)
+ if (munmap(p->image_data, image_bytes(p)) == -1)
mp_msg(MSGT_VO, MSGL_FATAL, "[vo_sharedbuffer] uninit: munmap "
"failed. Error: %s\n", strerror(errno));
@@ -140,8 +120,9 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
uint32_t d_width, uint32_t d_height, uint32_t flags,
uint32_t format)
{
+ struct priv *p = vo->priv;
NSAutoreleasePool *pool = [NSAutoreleasePool new];
- free_buffers();
+ free_buffers(p);
p->image_width = width;
p->image_height = height;
@@ -158,7 +139,7 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
goto err_out;
}
- if (ftruncate(shm_fd, image_bytes()) == -1) {
+ if (ftruncate(shm_fd, image_bytes(p)) == -1) {
mp_msg(MSGT_VO, MSGL_FATAL,
"[vo_sharedbuffer] failed to size shared memory, possibly "
"already in use. Error: %s\n", strerror(errno));
@@ -167,7 +148,7 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
goto err_out;
}
- p->image_data = mmap(NULL, image_bytes(),
+ p->image_data = mmap(NULL, image_bytes(p),
PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0);
close(shm_fd);
@@ -207,28 +188,29 @@ err_out:
return 1;
}
-static int query_format(uint32_t format)
+static int query_format(struct vo *vo, uint32_t format)
{
- unsigned int image_depth = 0;
- switch (format) {
- case IMGFMT_YUY2:
- p->vo_draw_alpha_fnc = vo_draw_alpha_yuy2;
- image_depth = 16;
- goto supported;
- case IMGFMT_RGB24:
- p->vo_draw_alpha_fnc = vo_draw_alpha_rgb24;
- image_depth = 24;
- goto supported;
- case IMGFMT_ARGB:
- p->vo_draw_alpha_fnc = vo_draw_alpha_rgb32;
- image_depth = 32;
- goto supported;
- case IMGFMT_BGRA:
- p->vo_draw_alpha_fnc = vo_draw_alpha_rgb32;
- image_depth = 32;
- goto supported;
- }
- return 0;
+ struct priv *p = vo->priv;
+ unsigned int image_depth = 0;
+ switch (format) {
+ case IMGFMT_YUY2:
+ p->vo_draw_alpha_fnc = vo_draw_alpha_yuy2;
+ image_depth = 16;
+ goto supported;
+ case IMGFMT_RGB24:
+ p->vo_draw_alpha_fnc = vo_draw_alpha_rgb24;
+ image_depth = 24;
+ goto supported;
+ case IMGFMT_ARGB:
+ p->vo_draw_alpha_fnc = vo_draw_alpha_rgb32;
+ image_depth = 32;
+ goto supported;
+ case IMGFMT_BGRA:
+ p->vo_draw_alpha_fnc = vo_draw_alpha_rgb32;
+ image_depth = 32;
+ goto supported;
+ }
+ return 0;
supported:
p->image_bytespp = (image_depth + 7) / 8;
@@ -239,11 +221,13 @@ supported:
static void uninit(struct vo *vo)
{
- free_buffers();
+ struct priv *p = vo->priv;
+ free_buffers(p);
}
static int control(struct vo *vo, uint32_t request, void *data)
{
+ struct priv *p = vo->priv;
switch (request) {
case VOCTRL_DRAW_IMAGE:
return draw_image(vo, data);
@@ -251,7 +235,7 @@ static int control(struct vo *vo, uint32_t request, void *data)
[p->mposx_proto toggleFullscreen];
return VO_TRUE;
case VOCTRL_QUERY_FORMAT:
- return query_format(*(uint32_t*)data);
+ return query_format(vo, *(uint32_t*)data);
case VOCTRL_ONTOP:
[p->mposx_proto ontop];
return VO_TRUE;
@@ -259,6 +243,9 @@ static int control(struct vo *vo, uint32_t request, void *data)
return VO_NOTIMPL;
}
+#undef OPT_BASE_STRUCT
+#define OPT_BASE_STRUCT struct priv
+
const struct vo_driver video_out_sharedbuffer = {
.is_new = true,
.info = &(const vo_info_t) {
@@ -273,5 +260,10 @@ const struct vo_driver video_out_sharedbuffer = {
.flip_page = flip_page,
.check_events = check_events,
.uninit = uninit,
- .draw_osd = draw_osd
+ .draw_osd = draw_osd,
+ .privsize = sizeof(struct priv),
+ .options = (const struct m_option[]) {
+ OPT_STRING("buffer_name", buffer_name, 0, OPTDEF_STR("mplayerosx")),
+ {NULL},
+ },
};
diff --git a/libvo/vo_svga.c b/libvo/vo_svga.c
deleted file mode 100644
index 3b8a107..0000000
--- a/libvo/vo_svga.c
+++ /dev/null
@@ -1,670 +0,0 @@
-/*
- * video driver for SVGAlib
- * by Zoltan Mark Vician <se7en at sch.bme.hu>
- * Code started: Mon Apr 1 23:25:47 2001
- * Some changes by Matan Ziv-Av <matan at svgalib.org>
- * complete rewrite by Ivan Kalvachev 19 Mar 2003
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/*
-Wrangings:
- - 1bpp doesn't work right for me with '-double' and svgalib 1.4.3,
- but works OK with svgalib 1.9.17
- - The HW acceleration is not tested - svgalibs supports few chipsets,
- and i don't have any of them. If it works for you then let me know.
- I will remove this warning after confirm its status.
- - retrace sync works only in doublebuffer mode.
- - the retrace sync may slow down decoding a lot - mplayer is blocked while
- waiting for retrace
- - denoise3d fails to find common colorspace, use -vf denoise3d,scale
-
-TODO:
- - let choose_best_mode take aspect into account
- - set palette from mpi->palette or mpi->plane[1]
- - make faster OSD black bars clear - need some OSD changes
- - Make nicer CONFIG parsing
- - change video mode logical width to match img->stride[0] - for HW only
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <vga.h>
-
-#include <limits.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "fastmemcpy.h"
-#include "osdep/getch2.h"
-
-#include "sub/sub.h"
-
-#include "mp_msg.h"
-//#include "mp_image.h"
-
-#include <assert.h>
-
-static int query_format(uint32_t format);
-static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src,
- unsigned char *srca, int stride);
-static uint32_t get_image(mp_image_t *mpi);
-
-#define MAXPAGES 16
-#define PAGE_EMPTY 0
-#define PAGE_BUSY 1
-
-#define CAP_ACCEL_CLEAR 8
-#define CAP_ACCEL_PUTIMAGE 4
-#define CAP_ACCEL_BACKGR 2
-#define CAP_LINEAR 1
-
-static uint8_t zerobuf[8192];//used when clear screen with vga_draw
-
-static int squarepix;
-static int force_vm=0;
-static int force_native=0;
-static int sync_flip=0;
-static int blackbar_osd=0;
-static int cpage,max_pages,old_page;
-
-static vga_modeinfo * modeinfo;
-static int mode_stride; //keep it in case of vga_setlogicalwidth
-static int stride_granularity; //not yet used
-static int mode_bpp;
-static int mode_capabilities;
-
-static int image_width,image_height; // used by OSD
-static int x_pos, y_pos;
-
-static struct {
- int yoffset;//y position of the page
- int doffset;//display start of the page
- uint8_t * vbase;//memory start address of the page
- int locks;
-}PageStore[MAXPAGES];
-
-static const vo_info_t info = {
- "SVGAlib",
- "svga",
- "Ivan Kalvachev <iive at users.sf.net>",
- ""
-};
-
-LIBVO_EXTERN(svga)
-
-
-//return number of 1'st free page or -1 if no free one
-static inline int page_find_free(void){
- int i;
- for(i=0;i<max_pages;i++)
- if(PageStore[i].locks == PAGE_EMPTY) return i;
- return -1;
-}
-
-static int preinit(const char *arg)
-{
- int i,rez;
- char s[64];
-
- getch2_disable();
- memset(zerobuf,0,sizeof(zerobuf));
- force_vm=force_native=squarepix=0;
- sync_flip=vo_vsync;
- blackbar_osd=0;
-
- if(arg)while(*arg) {
- if(!strncmp(arg,"sq",2)) {
- squarepix=1;
- arg+=2;
- if( *arg == ':' ) arg++;
- }
-
- if(!strncmp(arg,"native",6)) {
- force_native=1;
- arg+=6;
- if( *arg == ':' ) arg++;
- }
-
- if(!strncmp(arg,"bbosd",5)) {
- blackbar_osd=1;
- arg+=5;
- if( *arg == ':' ) arg++;
- }
-
- if(!strncmp(arg,"retrace",7)) {
- sync_flip=1;
- arg+=7;
- if( *arg == ':' ) arg++;
- }
-
- if(*arg) {
- i=0;
- while(arg[i] && arg[i]!=':')i++;
- if(i<64){
- strncpy(s, arg, i);
- s[i]=0;
-
- force_vm=vga_getmodenumber(s);
- if(force_vm>0) {
- mp_msg(MSGT_VO,MSGL_V, "vo_svga: Forcing mode %i\n",force_vm);
- }else{
- force_vm = 0;
- }
- }
- arg+=i;
- if(*arg==':')arg++;
- }
- }
-
- rez = vga_init();
- if(rez != 0){
- mp_msg(MSGT_VO,MSGL_ERR, "vo_svga: vga_init() returned error=%d\n",rez);
- }
- return !!rez;
-}
-
-static void svga_clear_box(int x,int y,int w,int h){
- uint8_t * rgbplane;
- int i;
-
- if (mode_capabilities&CAP_ACCEL_CLEAR){
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: clearing box %d,%d - %d,%d with HW acceleration\n",
- x,y,w,h);
- if(mode_capabilities&CAP_ACCEL_BACKGR)
- vga_accel(ACCEL_SYNC);
- vga_accel(ACCEL_SETFGCOLOR,0);//black
- vga_accel(ACCEL_FILLBOX,x,y,w,h);
- return;
- }
- if (mode_capabilities & CAP_LINEAR){
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: clearing box %d,%d - %d,%d with memset\n",x,y,w,h);
- rgbplane=PageStore[0].vbase + (y*mode_stride) + (x*modeinfo->bytesperpixel);
- for(i=0;i<h;i++){
-//i'm afraid that memcpy is better optimized than memset;)
- fast_memcpy(rgbplane,zerobuf,w*modeinfo->bytesperpixel);
-// memset(rgbplane,0,w*modeinfo->bytesperpixel);
- rgbplane+=mode_stride;
- }
- return;
- }
- //native
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: clearing box %d,%d - %d,%d with native draw \n",x,y,w,h);
- if(modeinfo->bytesperpixel!=0) w*=modeinfo->bytesperpixel;
- for(i=0;i<h;i++){
- vga_drawscansegment(zerobuf,x,y+i,w);
- }
-};
-
-static uint32_t svga_draw_image(mp_image_t *mpi){
- int i,x,y,w,h;
- int stride;
- uint8_t *rgbplane, *base;
- int bytesperline;
- int page;
-
- if(mpi->flags & MP_IMGFLAG_DIRECT){
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: drawing direct rendered surface\n");
- cpage=(uint32_t)mpi->priv;
- assert((cpage>=0)&&(cpage<max_pages));
- return VO_TRUE; //it's already done
- }
-// if (mpi->flags&MP_IMGFLAGS_DRAWBACK)
-// return VO_TRUE;//direct render method 2
-
-//find a free page to draw into
-//if there is no one then use the current one
- page = page_find_free();
- if(page>=0) cpage=page;
- PageStore[cpage].locks=PAGE_BUSY;
-
-// these variables are used in loops
- x = mpi->x;
- y = mpi->y;
- w = mpi->w;
- h = mpi->h;
- stride = mpi->stride[0];
- rgbplane = mpi->planes[0] + y*stride + (x*mpi->bpp)/8;
- x+=x_pos;//center
- y+=y_pos;
-
- if(mpi->bpp >= 8){//for modes<8 use only native
- if( (mode_capabilities&CAP_ACCEL_PUTIMAGE) && (x==0) && (w==mpi->width) &&
- (stride == mode_stride) ){ //only monolite image can be accelerated
- w=(stride*8)/mpi->bpp;//we transfer pixels in the stride so the source
-//ACCELERATE
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: using HW PutImage (x=%d,y=%d,w=%d,h=%d)\n",x,y,w,h);
- if(mode_capabilities & CAP_ACCEL_BACKGR)
- vga_accel(ACCEL_SYNC);
-
- vga_accel(ACCEL_PUTIMAGE,x,y+PageStore[cpage].yoffset,w,h,rgbplane);
- return VO_TRUE;
- }
-
- if( mode_capabilities&CAP_LINEAR){
-//DIRECT
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: using Direct memcpy (x=%d,y=%d,w=%d,h=%d)\n",x,y,w,h);
- bytesperline=(w*mpi->bpp)/8;
- base=PageStore[cpage].vbase + (y*mode_stride) + (x*mpi->bpp)/8;
-
- for(i=0;i<h;i++){
- mem2agpcpy(base,rgbplane,bytesperline);
- base+=mode_stride;
- rgbplane+=stride;
- }
- return VO_TRUE;
- }
- }//(modebpp>=8
-
-
-//NATIVE
- {
- int length;
- length=(w*mpi->bpp)/8;
- //one byte per pixel! svgalib innovation
- if(mpi->imgfmt==IMGFMT_RG4B || mpi->imgfmt==IMGFMT_BG4B) length=w;
-
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: using Native vga_draw(x=%d,y=%d,w=%d,h=%d)\n",x,y,w,h);
- y+=PageStore[cpage].yoffset;//y position of the page beggining
- for(i=0;i<h;i++){
- vga_drawscansegment(rgbplane,x,y+i,length);
- rgbplane+=stride;
- }
- }
- return VO_TRUE;
-}
-
-static int bpp_from_vminfo(vga_modeinfo *vminfo){
- switch(vminfo->colors){
- case 2: return 1;
- case 16: return 4;
- case 256: return 8;
- case 32768: return 15;
- case 65536: return 16;
- case 1<<24: return 8*vminfo->bytesperpixel;
- }
- return 0;
-}
-
-static int find_best_svga_mode(int req_w,int req_h, int req_bpp){
- int badness,prev_badness;
- int bestmode,lastmode;
- int i;
- vga_modeinfo *vminfo;
-//int best aspect mode // best linear mode // best normal mode (no modeX)
-
- prev_badness = 0;//take care of special case below
- bestmode = 0; //0 is the TEXT mode
- lastmode = vga_lastmodenumber();
- for(i=1;i<=lastmode;i++){
- vminfo = vga_getmodeinfo(i);
- if( vminfo == NULL ) continue;
- mp_msg(MSGT_VO,MSGL_DBG4, "vo_svga: testing mode %d (%s)\n",i,vga_getmodename(i));
- if( vga_hasmode(i) == 0 ) continue;
- if( req_bpp != bpp_from_vminfo(vminfo) )continue;
- if( (vminfo->width < req_w) || (vminfo->height < req_h) ) continue;
- badness=(vminfo->width * vminfo->height) - (req_h * req_w);
- //put here aspect calculations
- if(squarepix)
- if( vminfo->width*3 != vminfo->height*4 ) continue;
-
- if( bestmode==0 || prev_badness >= badness ){//modeX etc...
- prev_badness=badness;
- bestmode=i;
- mp_msg(MSGT_VO,MSGL_DBG4, "vo_svga: found good mode %d with badness %d\n",i,badness);
- }
- }
- return bestmode;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- case VOCTRL_DRAW_IMAGE:
- return svga_draw_image( (mp_image_t *)data);
- case VOCTRL_GET_IMAGE:
- return get_image(data);
- }
-
- return VO_NOTIMPL;
-}
-
-//
-// This function is called to init the video driver for specific mode
-//
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format) {
- int32_t req_w = width;// (d_width > 0 ? d_width : width);
- int32_t req_h = height;// (d_height > 0 ? d_height : height);
- uint16_t vid_mode = 0;
- int32_t req_bpp;
-
- uint32_t accflags;
- mp_msg(MSGT_VO,MSGL_V, "vo_svga: config(%i, %i, %i, %i, %08x, %s, %08x)\n", width, height,
- d_width, d_height, flags, title, format);
-//Only RGB modes supported
- if (!IMGFMT_IS_RGB(format) && !IMGFMT_IS_BGR(format)) {assert(0);return -1;}
- req_bpp = IMGFMT_BGR_DEPTH(format);
-
- if( vo_dbpp!=0 && vo_dbpp!=req_bpp) {assert(0);return-1;}
-
- if(!force_vm) {
- mp_msg(MSGT_VO,MSGL_V, "vo_svga: Looking for the best resolution...\n");
- mp_msg(MSGT_VO,MSGL_V, "vo_svga: req_w: %d, req_h: %d, bpp: %d\n",req_w,req_h,req_bpp);
- vid_mode=find_best_svga_mode(req_w,req_h,req_bpp);
- if(vid_mode==0)
- return 1;
- modeinfo=vga_getmodeinfo(vid_mode);
- }else{//force_vm
- vid_mode=force_vm;
- if(vga_hasmode(vid_mode) == 0){
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_SVGA] Forced vid_mode %d (%s) not available.\n",
- vid_mode,vga_getmodename(vid_mode));
- return 1; //error;
- }
- modeinfo=vga_getmodeinfo(vid_mode);
- if( (modeinfo->width < req_w) || (modeinfo->height < req_h) ){
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_SVGA] Forced vid_mode %d (%s) too small.\n",
- vid_mode,vga_getmodename(vid_mode));
- return 1;
- }
- }
- mode_bpp=bpp_from_vminfo(modeinfo);
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_SVGA] Vid_mode: %d, %dx%d %dbpp.\n",
- vid_mode,modeinfo->width,modeinfo->height,mode_bpp);
-
- if (vga_setmode(vid_mode) == -1) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_SVGA] Vga_setmode(%d) failed.\n",vid_mode);
- uninit();
- return 1; // error
- }
- /* set 332 palette for 8 bpp */
- if(mode_bpp==8){
- int i;
- for(i=0; i<256; i++)
- vga_setpalette(i, ((i>>5)&7)*9, ((i>>2)&7)*9, (i&3)*21);
- }
- /* set 121 palette for 4 bpp */
- else if(mode_bpp==4){
- int i;
- for(i=0; i<16; i++)
- vga_setpalette(i, ((i>>3)&1)*63, ((i>>1)&3)*21, (i&1)*63);
- }
- //if we change the logical width, we should know the granularity
- stride_granularity=8;//according to man vga_logicalwidth
- if(modeinfo->flags & EXT_INFO_AVAILABLE){
- stride_granularity=modeinfo->linewidth_unit;
- }
- //look for hardware acceleration
- mode_capabilities=0;//NATIVE;
- if(!force_native){//if we want to use only native drawers
- if(modeinfo->flags & HAVE_EXT_SET){//support for hwaccel interface
- accflags=vga_ext_set(VGA_EXT_AVAILABLE,VGA_AVAIL_ACCEL);
- if(accflags & ACCELFLAG_FILLBOX) // clear screen
- mode_capabilities|=CAP_ACCEL_CLEAR;
- if(accflags & ACCELFLAG_PUTIMAGE)//support for mem->vid transfer
- mode_capabilities|=CAP_ACCEL_PUTIMAGE;
- if((accflags & ACCELFLAG_SETMODE) && (accflags & ACCELFLAG_SYNC)){
- vga_accel(ACCEL_SETMODE,BLITS_IN_BACKGROUND);
- mode_capabilities|=CAP_ACCEL_BACKGR;//can draw in backgraund
- }
- }
- if(modeinfo->flags & IS_LINEAR){
- mode_capabilities|=CAP_LINEAR; //don't use bank & vga_draw
- }
- else{
- if(modeinfo->flags & CAPABLE_LINEAR){
- int vid_mem_size;
- vid_mem_size = vga_setlinearaddressing();
- if(vid_mem_size != -1){
- modeinfo=vga_getmodeinfo(vid_mode);//sometimes they change parameters
- mode_capabilities|=CAP_LINEAR;
- }
- }
- }
- }//fi force native
- if(mode_capabilities&CAP_LINEAR){
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_SVGA] Video mode is linear and memcpy could be used for image transfer.\n");
- }
- if(mode_capabilities&CAP_ACCEL_PUTIMAGE){
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_SVGA] Video mode has hardware acceleration and put_image could be used.\n");
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_SVGA] If it works for you I would like to know.\n[VO_SVGA] (send log with `mplayer test.avi -v -v -v -v &> svga.log`). Thx!\n");
- }
-
-//here is the place to handle strides for accel_ modes;
- mode_stride=modeinfo->linewidth;
-//we may try to set a bigger stride for video mode that will match the mpi->stride,
-//this way we will transfer more data, but HW put_image can do it in backgraund!
-
-//now let's see how many pages we can use
- max_pages = modeinfo->maxpixels/(modeinfo->height * modeinfo->width);
- if(max_pages > MAXPAGES) max_pages = MAXPAGES;
- if(!vo_doublebuffering) max_pages=1;
-//fill PageStore structs
- {
- int i;
- uint8_t * GRAPH_MEM;
- int dof;
- GRAPH_MEM=vga_getgraphmem();
- for(i=0;i<max_pages;i++){
- //calculate display offset
- dof = i * modeinfo->height * modeinfo->width;
- if(modeinfo->bytesperpixel != 0) dof*=modeinfo->bytesperpixel;
- //check video chip limitations
- if( dof != (dof & modeinfo->startaddressrange) ){
- max_pages=i;//page 0 will never come here
- break;
- }
- PageStore[i].yoffset = i * modeinfo->height;//starting y offset
- PageStore[i].vbase = GRAPH_MEM + i*modeinfo->height*mode_stride; //memory base address
- PageStore[i].doffset = dof; //display offset
- PageStore[i].locks = PAGE_EMPTY;
- }
- }
- assert(max_pages>0);
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_SVGA] Video mode has %d page(s).\n",max_pages);
- //15bpp
- if(modeinfo->bytesperpixel!=0)
- vga_claimvideomemory(max_pages * modeinfo->height * modeinfo->width * modeinfo->bytesperpixel);
- else
- vga_claimvideomemory(max_pages * modeinfo->height * modeinfo->width * mode_bpp / 8);
-
- cpage=old_page=0;
- svga_clear_box(0,0,modeinfo->width,modeinfo->height * max_pages);
-
- image_height=req_h;
- image_width=req_w;
- x_pos = (modeinfo->width - req_w) / 2;
- y_pos = (modeinfo->height - req_h) / 2;
- x_pos &= ~(15); //align x offset position to 16 pixels
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_SVGA] Centering image. Starting at (%d,%d)\n",x_pos,y_pos);
-
- vga_setdisplaystart(0);
- return 0;
-}
-
-static int draw_slice(uint8_t *image[],int stride[],
- int w, int h, int x, int y) {
- assert(0);
- return VO_ERROR;//this is yv12 only -> vf_scale should do all transforms
-}
-
-static int draw_frame(uint8_t *src[]) {
- assert(0);
- return VO_ERROR;//this one should not be called
-}
-
-static void draw_osd(void)
-{
- mp_msg(MSGT_VO,MSGL_DBG4, "vo_svga: draw_osd()\n");
- //only modes with bytesperpixel>0 can draw OSD
- if(modeinfo->bytesperpixel==0) return;
- if(!(mode_capabilities&CAP_LINEAR)) return;//force_native will remove OSD
-
- if(blackbar_osd){
-//111
-//3 4
-//222
- svga_clear_box(0,0 + PageStore[cpage].yoffset,
- modeinfo->width, y_pos);
- svga_clear_box(0, image_height + y_pos + PageStore[cpage].yoffset,
- modeinfo->width, modeinfo->height-(image_height+ y_pos));
- svga_clear_box(0, y_pos + PageStore[cpage].yoffset,
- x_pos, image_height);
- svga_clear_box(image_width + x_pos, y_pos + PageStore[cpage].yoffset,
- modeinfo->width-(x_pos+image_width), image_height);
-// vo_remove_text(modeinfo->width, modeinfo->height, clear_alpha);
- vo_draw_text(modeinfo->width, modeinfo->height, draw_alpha);
- }else{
- vo_draw_text(image_width, image_height, draw_alpha);
- }
-}
-
-static void flip_page(void) {
- PageStore[old_page].locks=PAGE_EMPTY;
- PageStore[cpage].locks=PAGE_BUSY;
-
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: viewing page %d\n",cpage);
- if(sync_flip && old_page!=cpage){
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga:vga_waitretrace\n");
- vga_waitretrace();
- }
- vga_setdisplaystart(PageStore[cpage].doffset);
-
- old_page=cpage;//cpage will be overwriten on next draw_image
-}
-
-static void check_events(void) {
-}
-
-static void uninit(void) {
- vga_setmode(TEXT);
-}
-
-/* --------------------------------------------------------------------- */
-static int query_format(uint32_t format) {
- int32_t req_bpp,flags;
- int i,lastmode;
- vga_modeinfo * vminfo;
-
- mp_msg(MSGT_VO,MSGL_DBG4, "vo_svga: query_format=%X \n",format);
-//only RGB modes supported
- if( (!IMGFMT_IS_RGB(format)) && (!IMGFMT_IS_BGR(format)) ) return 0;
-
-// Reject different endian
-#if HAVE_BIGENDIAN
- if (IMGFMT_IS_BGR(format)) return 0;
-#else
- if (IMGFMT_IS_RGB(format)) return 0;
-#endif
-
- //svgalib supports only BG4B! if we want BGR4 we have to emulate it (sw)
- if( format==IMGFMT_BGR4 || format==IMGFMT_RGB4) return 0;
- req_bpp = IMGFMT_RGB_DEPTH(format);
- if( vo_dbpp>0 && vo_dbpp!=req_bpp ) return 0; //support -bpp options
-//scan all modes
- lastmode = vga_lastmodenumber();
- for(i=1;i<=lastmode;i++){
- vminfo = vga_getmodeinfo(i);
- if( vminfo == NULL ) continue;
- if( vga_hasmode(i) == 0 ) continue;
- if( req_bpp != bpp_from_vminfo(vminfo) ) continue;
- if( (force_vm > 0) && (force_vm != i) ) continue;//quick hack
- flags = VFCAP_CSP_SUPPORTED|
- VFCAP_CSP_SUPPORTED_BY_HW|
- VFCAP_ACCEPT_STRIDE|
- 0;
- if(req_bpp>8) flags|=VFCAP_OSD;
- return flags;
- }
- return 0;
-}
-
-static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src,
- unsigned char *srca, int stride) {
- char* base;
-
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: draw_alpha(x0=%d,y0=%d,w=%d,h=%d,src=%p,srca=%p,stride=%d\n",
- x0,y0,w,h,src,srca,stride);
- if(!blackbar_osd) {
- //drawing in the image, so place the stuff there
- x0+=x_pos;
- y0+=y_pos;
- }
-
- mp_msg(MSGT_VO,MSGL_DBG4, "vo_svga: OSD draw in page %d\n",cpage);
- base=PageStore[cpage].vbase + y0*mode_stride + x0*modeinfo->bytesperpixel;
- switch (mode_bpp) {
- case 32:
- vo_draw_alpha_rgb32(w, h, src, srca, stride, base, mode_stride);
- break;
- case 24:
- vo_draw_alpha_rgb24(w, h, src, srca, stride, base, mode_stride);
- break;
- case 16:
- vo_draw_alpha_rgb16(w, h, src, srca, stride, base, mode_stride);
- break;
- case 15:
- vo_draw_alpha_rgb15(w, h, src, srca, stride, base, mode_stride);
- break;
- }
-}
-
-static uint32_t get_image(mp_image_t *mpi){
- int page;
-
- if(!IMGFMT_IS_BGR(mpi->imgfmt) && !IMGFMT_IS_RGB(mpi->imgfmt) ){
- assert(0);//should never happen
- return VO_FALSE;
- }
-
- if (
- ( (mpi->type != MP_IMGTYPE_STATIC) && (mpi->type != MP_IMGTYPE_TEMP)) ||
- (mpi->flags & MP_IMGFLAG_PLANAR) ||
- (mpi->flags & MP_IMGFLAG_YUV)
- )
- return VO_FALSE;
-
-//reading from video memory is horribly slow
- if( !(mpi->flags & MP_IMGFLAG_READABLE) && vo_directrendering &&
- (mode_capabilities & CAP_LINEAR) ){
-
-//find free page and reserve it
- page=page_find_free();
- if(page >= 0){
- PageStore[page].locks=PAGE_BUSY;
-
- mpi->flags |= MP_IMGFLAG_DIRECT;
- mpi->stride[0] = mode_stride;
- mpi->planes[0] = PageStore[page].vbase +
- y_pos*mode_stride + (x_pos*mpi->bpp)/8;
- mpi->priv=(void *)page;
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_svga: direct render allocated! page=%d\n",page);
- return VO_TRUE;
- }
- }
-
- return VO_FALSE;
-}
diff --git a/libvo/vo_tdfx_vid.c b/libvo/vo_tdfx_vid.c
deleted file mode 100644
index b49c2a8..0000000
--- a/libvo/vo_tdfx_vid.c
+++ /dev/null
@@ -1,667 +0,0 @@
-/*
- * copyright (C) 2003 Alban Bedel
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <sys/mman.h>
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "aspect.h"
-#include "mp_msg.h"
-
-#include "fastmemcpy.h"
-#include "drivers/tdfx_vid.h"
-
-
-static const vo_info_t info =
-{
- "tdfx vid",
- "tdfx_vid",
- "Albeu",
- ""
-};
-
-//#define VERBOSE
-
-const LIBVO_EXTERN(tdfx_vid)
-
-static tdfx_vid_config_t tdfx_cfg;
-
-static unsigned char* agp_mem = NULL;
-static int tdfx_fd = -1;
-
-static uint32_t img_fmt; // The real input format
-static uint32_t src_width, src_height, src_fmt, src_bpp, src_stride;
-static uint32_t dst_width, dst_height, dst_fmt, dst_bpp, dst_stride;
-
-static uint32_t tdfx_page;
-static uint32_t front_buffer;
-static uint32_t back_buffer;
-static uint8_t num_buffer = 3;
-static uint32_t buffer_size; // Max size
-static uint8_t current_buffer = 0;
-static uint8_t current_ip_buf = 0;
-static uint32_t buffer_stride[3];
-
-static int use_overlay = 1;
-static tdfx_vid_overlay_t tdfx_ov;
-
-// FIXME
-#if 0
-static void clear_screen(void) {
- tdfx_vid_agp_move_t mov;
-
- memset(agp_mem,0,tdfx_cfg.screen_width*dst_bpp*tdfx_cfg.screen_height);
-
- mov.move2 = TDFX_VID_MOVE_2_PACKED;
- mov.width = tdfx_cfg.screen_width*dst_bpp;
- mov.height = tdfx_cfg.screen_height;
- mov.src = 0;
- mov.src_stride = tdfx_cfg.screen_width*dst_bpp;
- mov.dst = front_buffer;
- mov.dst_stride = tdfx_cfg.screen_stride;
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_TDXVID] Move %d(%d) x %d => %d.\n", mov.width,mov.src_stride,mov.height,mov.dst_stride);
-
- if(ioctl(tdfx_fd,TDFX_VID_AGP_MOVE,&mov))
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] AGP move failed to clear the screen.\n");
-
-}
-#endif
-
-static int draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y)
-{
- uint8_t* ptr[3];
-
-#ifdef VERBOSE
- printf("Draw slices %d\n",current_buffer);
-#endif
- switch(img_fmt) {
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- case IMGFMT_BGR8:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- // copy :( to agp_mem
- // still faster than tdfxfb wich directly copy to the video mem :)
- mem2agpcpy_pic(agp_mem + current_buffer * buffer_size +
- y*buffer_stride[0] + x * src_bpp,
- image[0],
- src_bpp*w,h,buffer_stride[0],stride[0]);
- return 0;
-
- case IMGFMT_YV12:
- case IMGFMT_I420:
- // Copy to agp mem
- ptr[0] = agp_mem + current_buffer * buffer_size;
- mem2agpcpy_pic(ptr[0] + y * buffer_stride[0] + x,image[0],w,h,
- buffer_stride[0],stride[0]);
- ptr[1] = ptr[0] + (src_height*src_width);
- mem2agpcpy_pic(ptr[1] + y/2 * buffer_stride[1] + x/2,image[1],w/2,h/2,
- buffer_stride[1],stride[1]);
- ptr[2] = ptr[1] + (src_height*src_width/4);
- mem2agpcpy_pic(ptr[2] + y/2 * buffer_stride[2] + x/2,image[2],w/2,h/2,
- buffer_stride[2],stride[2]);
- return 0;
- }
-
- return 1;
-}
-
-static void draw_osd(void)
-{
-}
-
-static void
-flip_page(void)
-{
- tdfx_vid_blit_t blit;
- //return;
- // Scale convert
-#ifdef VERBOSE
- printf("Flip\n");
-#endif
- if(use_overlay) {
- // TDFX_VID_OVERLAY_ON does nothing if the overlay is already on
- if(!ioctl(tdfx_fd,TDFX_VID_OVERLAY_ON)) { // X11 killed the overlay :(
- if(ioctl(tdfx_fd,TDFX_VID_SET_OVERLAY,&tdfx_ov))
- mp_msg(MSGT_VO, MSGL_ERR, "tdfx_vid: set_overlay failed\n");
- }
- // These formats need conversion
- switch(src_fmt) {
- case IMGFMT_BGR8:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- memset(&blit,0,sizeof(tdfx_vid_blit_t));
- blit.src = back_buffer;
- blit.src_stride = src_stride;
- blit.src_x = 0;
- blit.src_y = 0;
- blit.src_w = src_width;
- blit.src_h = src_height;
- blit.src_format = src_fmt;
-
- blit.dst = front_buffer;
- blit.dst_stride = dst_stride;
- blit.dst_x = 0;
- blit.dst_y = 0;
- blit.dst_w = src_width;
- blit.dst_h = src_height;
- blit.dst_format = IMGFMT_BGR16;
- if(ioctl(tdfx_fd,TDFX_VID_BLIT,&blit))
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Blit failed.\n");
- }
- return;
- }
- memset(&blit,0,sizeof(tdfx_vid_blit_t));
- blit.src = back_buffer;
- blit.src_stride = src_stride;
- blit.src_x = 0;
- blit.src_y = 0;
- blit.src_w = src_width;
- blit.src_h = src_height;
- blit.src_format = src_fmt;
-
- blit.dst = front_buffer;
- blit.dst_stride = dst_stride;
- blit.dst_x = 0;
- blit.dst_y = 0;
- blit.dst_w = dst_width;
- blit.dst_h = dst_height;
- blit.dst_format = dst_fmt;
-
- if(ioctl(tdfx_fd,TDFX_VID_BLIT,&blit))
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Blit failed.\n");
-}
-
-static int
-draw_frame(uint8_t *src[])
-{
- int stride[] = { src_stride, 0, 0};
- return draw_slice(src,stride,src_width, src_height,0,0);
-}
-
-static int
-query_format(uint32_t format)
-{
- switch(format) {
- case IMGFMT_BGR8:
- if(tdfx_cfg.screen_format == TDFX_VID_FORMAT_BGR8)
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_ACCEPT_STRIDE;
- return 0;
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- case IMGFMT_BGR15:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- case IMGFMT_YV12:
- case IMGFMT_I420:
- if(tdfx_cfg.screen_format == TDFX_VID_FORMAT_BGR8)
- return 0;
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_ACCEPT_STRIDE;
- }
- return 0;
-}
-
-static int
-config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
-{
-
- if(tdfx_fd < 0)
- return 1;
- // When we are run as sub vo we must follow the size gaven to us
- if(!(flags & VOFLAG_XOVERLAY_SUB_VO)) {
- if(!vo_screenwidth)
- vo_screenwidth = tdfx_cfg.screen_width;
- if(!vo_screenheight)
- vo_screenheight = tdfx_cfg.screen_height;
-
- aspect_save_orig(width,height);
- aspect_save_prescale(d_width,d_height);
- aspect_save_screenres(vo_screenwidth,vo_screenheight);
-
- if(flags&VOFLAG_FULLSCREEN) { /* -fs */
- aspect(&d_width,&d_height,A_ZOOM);
- vo_fs = VO_TRUE;
- } else {
- aspect(&d_width,&d_height,A_NOZOOM);
- vo_fs = VO_FALSE;
- }
- }
- src_width = width;
- src_height = height;
- buffer_size = 0;
- buffer_stride[0] = 0;
- src_fmt = 0;
- switch(format) {
- case IMGFMT_BGR8:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- if(use_overlay)
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_TDFXVID] Non-native overlay format needs conversion.\n");
- case IMGFMT_BGR15:
- case IMGFMT_BGR16:
- src_bpp = ((format & 0x3F)+7)/8;
- break;
- case IMGFMT_YV12:
- case IMGFMT_I420:
- buffer_size = src_width * src_height * 3 / 2;
- buffer_stride[0] = ((src_width+1)/2)*2;
- buffer_stride[1] = buffer_stride[2] = buffer_stride[0]/2;
- src_fmt = TDFX_VID_FORMAT_YUY2;
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- src_bpp = 2;
- break;
- default:
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Unsupported input format 0x%x.\n",format);
- return 1;
- }
-
- img_fmt = format;
- src_stride = src_width*src_bpp;
- // The overlay need a 4 bytes aligned stride
- if(use_overlay)
- src_stride = ((src_stride+3)/4)*4;
- if(!src_fmt)
- src_fmt = format;
- if(!buffer_size)
- buffer_size = src_stride*src_height;
- if(!buffer_stride[0])
- buffer_stride[0] = src_stride;
-
- dst_fmt = tdfx_cfg.screen_format;
- dst_bpp = ((dst_fmt & 0x3F)+7)/8;
- dst_width = d_width;
- dst_height = d_height;
- dst_stride = tdfx_cfg.screen_stride;
-
- tdfx_page = tdfx_cfg.screen_stride*tdfx_cfg.screen_height;
- front_buffer = tdfx_cfg.screen_start;
- back_buffer = front_buffer + tdfx_page;
-
- while(use_overlay) {
- tdfx_vid_overlay_t ov;
- uint32_t ov_fmt = src_fmt, ov_stride = src_stride;
- // Align the buffer
- back_buffer = (((back_buffer+3)/4)*4);
- // With the overlay the front buffer is not on the screen
- // so we take the back buffer
- front_buffer = back_buffer;
- switch(src_fmt) {
- case IMGFMT_BGR8:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- back_buffer = front_buffer + 2*(src_stride*src_height);
- ov_stride = dst_stride = src_width<<1;
- ov_fmt = IMGFMT_BGR16;
- break;
- }
- ov.src[0] = front_buffer;
- ov.src[1] = front_buffer + (src_stride*src_height);
- ov.src_width = src_width;
- ov.src_height = src_height;
- ov.src_stride = ov_stride;
- ov.format = ov_fmt;
- ov.dst_width = dst_width;
- ov.dst_height = dst_height;
- ov.dst_x = vo_dx;
- ov.dst_y = vo_dy;
- ov.use_colorkey = 0;
-
- if(ioctl(tdfx_fd,TDFX_VID_SET_OVERLAY,&ov)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Overlay setup failed.\n");
- use_overlay = 0;
- break;
- }
- tdfx_ov = ov;
- if(use_overlay == 1) {
- if(ioctl(tdfx_fd,TDFX_VID_OVERLAY_ON)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Overlay on failed.\n");
- use_overlay = 0;
- break;
- }
- use_overlay++;
- }
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_TDFXVID] Overlay ready: %d(%d) x %d @ %d => %d(%d) x %d @ %d.\n",
- src_width,src_stride,src_height,src_bpp,
- dst_width,dst_stride,dst_height,dst_bpp);
- break;
- }
-
- if(!use_overlay)
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_TDFXVID] Texture blit ready: %d(%d) x %d @ %d => %d(%d) x %d @ %d.\n",
- src_width,src_stride,src_height,src_bpp,
- dst_width,dst_stride,dst_height,dst_bpp);
-
- return 0;
-}
-
-static void
-uninit(void)
-{
- if(use_overlay == 2) {
- if(ioctl(tdfx_fd,TDFX_VID_OVERLAY_OFF))
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Overlay off failed\n");
- use_overlay--;
- }
- close(tdfx_fd);
- tdfx_fd = -1;
-}
-
-
-static void check_events(void)
-{
-}
-
-static int preinit(const char *arg)
-{
-
- tdfx_fd = open(arg ? arg : "/dev/tdfx_vid", O_RDWR);
- if(tdfx_fd < 0) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Can't open %s: %s.\n",arg ? arg : "/dev/tdfx_vid",
- strerror(errno));
- return 1;
- }
-
- if(ioctl(tdfx_fd,TDFX_VID_GET_CONFIG,&tdfx_cfg)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Can't get current configuration: %s.\n",strerror(errno));
- return 1;
- }
-
- mp_msg(MSGT_VO,MSGL_INFO, "tdfx_vid version %d\n"
- " Ram: %d\n"
- " Screen: %d x %d\n"
- " Format: %c%c%c%d\n",
- tdfx_cfg.version,
- tdfx_cfg.ram_size,
- tdfx_cfg.screen_width, tdfx_cfg.screen_height,
- tdfx_cfg.screen_format>>24,(tdfx_cfg.screen_format>>16)&0xFF,
- (tdfx_cfg.screen_format>>8)&0xFF,tdfx_cfg.screen_format&0xFF);
-
- // For now just allocate more than i ever need
- agp_mem = mmap( NULL, 1024*768*4, PROT_READ | PROT_WRITE, MAP_SHARED,
- tdfx_fd, 0);
-
- if(agp_mem == MAP_FAILED) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Memmap failed !!!!!\n");
- return 1;
- }
-
- memset(agp_mem,0,1024*768*4);
-
- return 0;
-}
-
-static uint32_t get_image(mp_image_t *mpi) {
- int buf = 0;
-
-#ifdef VERBOSE
- printf("Get image %d\n",buf);
-#endif
-
- // Currently read are too slow bcs we read from the
- // agp aperture and not the memory directly
- //if(mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE;
-
- if(mpi->flags&MP_IMGFLAG_READABLE &&
- (mpi->type==MP_IMGTYPE_IPB || mpi->type==MP_IMGTYPE_IP)){
- // reference (I/P) frame of IP or IPB:
- if(num_buffer<2) return VO_FALSE; // not enough
- current_ip_buf^=1;
- // for IPB with 2 buffers we can DR only one of the 2 P frames:
- if(mpi->type==MP_IMGTYPE_IPB && num_buffer<3 && current_ip_buf) return VO_FALSE;
- buf=current_ip_buf;
- if(mpi->type==MP_IMGTYPE_IPB) ++buf; // preserve space for B
- }
-
- switch(mpi->imgfmt) {
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- case IMGFMT_BGR8:
- case IMGFMT_BGR15:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- mpi->planes[0] = agp_mem + buf * buffer_size;
- mpi->stride[0] = src_stride;
- break;
- case IMGFMT_YV12:
- case IMGFMT_I420:
- mpi->planes[0] = agp_mem + buf * buffer_size;
- mpi->stride[0] = mpi->width;
- mpi->planes[1] = mpi->planes[0] + mpi->stride[0]*mpi->height;
- mpi->stride[1] = mpi->chroma_width;
- mpi->planes[2] = mpi->planes[1] + mpi->stride[1]*mpi->chroma_height;
- mpi->stride[2] = mpi->chroma_width;
- break;
- default:
- mp_tmsg(MSGT_VO,MSGL_WARN, "Get image todo.\n");
- return VO_FALSE;
- }
- mpi->flags |= MP_IMGFLAG_DIRECT;
- mpi->priv = (void*)buf;
-
- return VO_TRUE;
-}
-
-static uint32_t start_slice(mp_image_t *mpi){
- int buf = 0;
-
-#ifdef VERBOSE
- printf("Start slices %d\n",buf);
-#endif
-
- if(mpi->flags & MP_IMGFLAG_DIRECT)
- buf = (int)mpi->priv;
- current_buffer = buf;
-
- return VO_TRUE;
-}
-
-static uint32_t draw_image(mp_image_t *mpi){
- int buf = 0;
- tdfx_vid_agp_move_t mov;
- tdfx_vid_yuv_t yuv;
- int p;
- uint8_t* planes[3];
-
-#ifdef VERBOSE
- printf("Draw image %d\n",buf);
-#endif
-
- if(mpi->flags & MP_IMGFLAG_DIRECT)
- buf = (int)mpi->priv;
-
- switch(mpi->imgfmt) {
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- case IMGFMT_BGR8:
- case IMGFMT_BGR15:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- if(!(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK))) {
- // copy to agp_mem
-#ifdef VERBOSE
- printf("Memcpy\n");
-#endif
- planes[0] = agp_mem + buf * buffer_size;
- mem2agpcpy_pic(planes[0],mpi->planes[0],src_bpp*mpi->width,mpi->height,
- buffer_stride[0],mpi->stride[0]);
- } else
- planes[0] = agp_mem + buf * buffer_size;
-
- mov.move2 = TDFX_VID_MOVE_2_PACKED;
- mov.width = mpi->width*((mpi->bpp+7)/8);
- mov.height = mpi->height;
- mov.src = planes[0] - agp_mem;
- mov.src_stride = buffer_stride[0];
-
- mov.dst = back_buffer;
- mov.dst_stride = src_stride;
-
- if(ioctl(tdfx_fd,TDFX_VID_AGP_MOVE,&mov))
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] AGP move failed.\n");
- break;
-
- case IMGFMT_YV12:
- case IMGFMT_I420:
- if(!(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK))) {
- // Copy to agp mem
-#ifdef VERBOSE
- printf("Memcpy\n");
-#endif
- planes[0] = agp_mem + buf * buffer_size;
- memcpy_pic(planes[0],mpi->planes[0],mpi->width,mpi->height,
- buffer_stride[0],mpi->stride[0]);
- planes[1] = planes[0] + (mpi->height*mpi->stride[0]);
- memcpy_pic(planes[1],mpi->planes[1],mpi->chroma_width,mpi->chroma_height,
- buffer_stride[1],mpi->stride[1]);
- planes[2] = planes[1] + (mpi->chroma_height*mpi->stride[1]);
- memcpy_pic(planes[2],mpi->planes[2],mpi->chroma_width,mpi->chroma_height,
- buffer_stride[2],mpi->stride[2]);
- } else {
- planes[0] = agp_mem + buf * buffer_size;
- planes[1] = planes[0] + buffer_stride[0] * src_height;
- planes[2] = planes[1] + buffer_stride[1] * src_height/2;
- }
-
- // Setup the yuv thing
- yuv.base = back_buffer;
- yuv.stride = src_stride;
- if(ioctl(tdfx_fd,TDFX_VID_SET_YUV,&yuv)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] Set YUV failed.\n");
- break;
- }
-
-
- // Now agp move that
- // Y
- mov.move2 = TDFX_VID_MOVE_2_YUV;
- mov.width = mpi->width;
- mov.height = mpi->height;
- mov.src = planes[0] - agp_mem;
- mov.src_stride = buffer_stride[0];
- mov.dst = 0x0;
- mov.dst_stride = TDFX_VID_YUV_STRIDE;
-
- if(ioctl(tdfx_fd,TDFX_VID_AGP_MOVE,&mov)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] AGP move failed on Y plane.\n");
- break;
- }
- //return 0;
- // U
- p = mpi->imgfmt == IMGFMT_YV12 ? 1 : 2;
- mov.width = mpi->chroma_width;
- mov.height = mpi->chroma_height;
- mov.src = planes[p] - agp_mem;
- mov.src_stride = buffer_stride[p];
- mov.dst += TDFX_VID_YUV_PLANE_SIZE;
- if(ioctl(tdfx_fd,TDFX_VID_AGP_MOVE,&mov)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] AGP move failed on U plane.\n");
- break;
- }
- // V
- p = mpi->imgfmt == IMGFMT_YV12 ? 2 : 1;
- mov.src = planes[p] - agp_mem;
- mov.src_stride = buffer_stride[p];
- mov.dst += TDFX_VID_YUV_PLANE_SIZE;
- if(ioctl(tdfx_fd,TDFX_VID_AGP_MOVE,&mov)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] AGP move failed on V plane.\n");
- break;
- }
- break;
- default:
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_TDFXVID] unknown format: 0x%x.\n",mpi->imgfmt);
- return VO_TRUE;
- }
-
- return VO_TRUE;
-}
-
-static uint32_t fullscreen(void) {
- vo_fs ^= 1;
- aspect(&dst_width,&dst_height,vo_fs ? A_ZOOM : A_NOZOOM);
- // This does not work :((
- //clear_screen();
- return VO_TRUE;
-}
-
-static uint32_t set_window(mp_win_t* w) {
- if(!use_overlay) return VO_FALSE;
-
- tdfx_ov.dst_x = w->x;
- tdfx_ov.dst_y = w->y;
- tdfx_ov.dst_width = w->w;
- tdfx_ov.dst_height = w->h;
-
- if(ioctl(tdfx_fd,TDFX_VID_SET_OVERLAY,&tdfx_ov))
- mp_msg(MSGT_VO, MSGL_V, "tdfx_vid: set window failed\n");
-
- return VO_TRUE;
-}
-
-static uint32_t set_colorkey(mp_colorkey_t* colork) {
- if(!use_overlay) return VO_FALSE;
-
- tdfx_ov.colorkey[0] = tdfx_ov.colorkey[1] = colork->x11;
- tdfx_ov.use_colorkey = 1;
- tdfx_ov.invert_colorkey = 0;
-
- if(ioctl(tdfx_fd,TDFX_VID_SET_OVERLAY,&tdfx_ov))
- mp_msg(MSGT_VO, MSGL_V, "tdfx_vid: set colorkey failed\n");
-
- return VO_TRUE;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- case VOCTRL_GET_IMAGE:
- return get_image(data);
- case VOCTRL_DRAW_IMAGE:
- return draw_image(data);
- case VOCTRL_START_SLICE:
- return start_slice(data);
- case VOCTRL_FULLSCREEN:
- return fullscreen();
- case VOCTRL_XOVERLAY_SUPPORT:
- return VO_TRUE;
- case VOCTRL_XOVERLAY_SET_COLORKEY:
- return set_colorkey(data);
- case VOCTRL_XOVERLAY_SET_WIN:
- return set_window(data);
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_tdfxfb.c b/libvo/vo_tdfxfb.c
deleted file mode 100644
index 6e14f60..0000000
--- a/libvo/vo_tdfxfb.c
+++ /dev/null
@@ -1,529 +0,0 @@
-/*
- * copyright (C) 2002 Mark Zealey <mark at zealos.org>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/*
- * 30/03/02: An almost total rewrite, added DR support and support for modes
- * other than 16bpp. Fixed the crash when playing multiple files
- * 07/04/02: Fixed DR support, added YUY2 support, fixed OSD stuff.
- * 08/04/02: Fixed a wierd sound corruption problem caused by some optomizations
- * I made.
- * 09/04/02: Fixed a problem with changing the variables passed to draw_slice().
- * Fixed DR support for YV12 et al. Added BGR support. Removed lots of dud code.
- * 10/04/02: Changed the memcpy functions to mem2agpcpy.. should be a tad
- * faster.
- * 11/04/02: Added a compile option so you can watch the film with the console
- * as the background, or not.
- * 13/04/02: Fix rough OSD stuff by rendering it straight onto the output
- * buffer. Added double-buffering. Supports hardware zoom/reduce zoom modes.
- * 13/04/02: Misc cleanups of the code.
- * 22/10/02: Added geometry support to it
- *
- * Hints and tricks:
- * - Use -dr to get direct rendering
- * - Use -vf yuy2 to get yuy2 rendering, *MUCH* faster than yv12
- * - To get a black background and nice smooth OSD, use -double
- * - To get the console as a background, but with scaled OSD, use -nodouble
- * - The driver supports both scaling and shrinking the image using the -x and
- * -y options on the mplayer commandline. Also repositioning via the -geometry
- * option.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <linux/fb.h>
-
-#include "config.h"
-#include "mp_msg.h"
-#include "fastmemcpy.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "drivers/3dfx.h"
-#include "aspect.h"
-#include "sub/sub.h"
-
-static const vo_info_t info =
-{
- "3Dfx Banshee/Voodoo3/Voodoo5",
- "tdfxfb",
- "Mark Zealey <mark at zealos.org>",
- ""
-};
-
-const LIBVO_EXTERN(tdfxfb)
-
-/* Some registers on the card */
-#define S2S_STRECH_BLT 2 // BLT + Strech
-#define S2S_IMMED (1 << 8) // Do it immediatly
-#define S2S_ROP (0xCC << 24) // ???
-
-/* Stepping between the different YUV plane registers */
-#define YUV_STRIDE 1024
-struct YUV_plane {
- char Y[0x0100000];
- char U[0x0100000];
- char V[0x0100000];
-};
-
-static int fd = -1;
-static struct fb_fix_screeninfo fb_finfo;
-static struct fb_var_screeninfo fb_vinfo;
-static uint32_t in_width, in_height, in_format, in_depth, in_voodoo_format,
- screenwidth, screenheight, screendepth, vidwidth, vidheight, vidx, vidy,
- vid_voodoo_format, *vidpage, *hidpage, *inpage, vidpageoffset,
- hidpageoffset, inpageoffset, *memBase0 = NULL, *memBase1 = NULL, r_width, r_height;
-static volatile voodoo_io_reg *reg_IO;
-static volatile voodoo_2d_reg *reg_2d;
-static voodoo_yuv_reg *reg_YUV;
-static struct YUV_plane *YUV;
-static void (*alpha_func)(), (*alpha_func_double)();
-
-static int preinit(const char *arg)
-{
- char *name;
-
- if(arg)
- name = (char*)arg;
- else if(!(name = getenv("FRAMEBUFFER")))
- name = "/dev/fb0";
-
- if((fd = open(name, O_RDWR)) == -1) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] Can't open %s: %s.\n", name, strerror(errno));
- return -1;
- }
-
- if(ioctl(fd, FBIOGET_FSCREENINFO, &fb_finfo)) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] Problem with FBITGET_FSCREENINFO ioctl: %s.\n",
- strerror(errno));
- close(fd);
- fd = -1;
- return -1;
- }
-
- if(ioctl(fd, FBIOGET_VSCREENINFO, &fb_vinfo)) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] Problem with FBITGET_VSCREENINFO ioctl: %s.\n",
- strerror(errno));
- close(fd);
- fd = -1;
- return -1;
- }
-
- /* BANSHEE means any of the series aparently */
- if (fb_finfo.accel != FB_ACCEL_3DFX_BANSHEE) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.\n");
- close(fd);
- fd = -1;
- return -1;
- }
-
- // Check the depth now as config() musn't fail
- switch(fb_vinfo.bits_per_pixel) {
- case 16:
- case 24:
- case 32:
- break; // Ok
- default:
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] %d bpp output is not supported.\n", fb_vinfo.bits_per_pixel);
- close(fd);
- fd = -1;
- return -1;
- }
-
- /* Open up a window to the hardware */
- memBase1 = mmap(0, fb_finfo.smem_len, PROT_READ | PROT_WRITE,
- MAP_SHARED, fd, 0);
- memBase0 = mmap(0, fb_finfo.mmio_len, PROT_READ | PROT_WRITE,
- MAP_SHARED, fd, fb_finfo.smem_len);
-
- if((long)memBase0 == -1 || (long)memBase1 == -1) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] Couldn't map memory areas: %s.\n", strerror(errno));
- if((long)memBase0 != -1)
- munmap(memBase0, fb_finfo.smem_len);
- if((long)memBase1 != -1)
- munmap(memBase1, fb_finfo.smem_len);
- memBase0 = memBase1 = NULL;
- return -1;
- }
-
- /* Set up global pointers to the voodoo's regs */
- reg_IO = (void *)memBase0 + VOODOO_IO_REG_OFFSET;
- reg_2d = (void *)memBase0 + VOODOO_2D_REG_OFFSET;
- reg_YUV = (void *)memBase0 + VOODOO_YUV_REG_OFFSET;
- YUV = (void *)memBase0 + VOODOO_YUV_PLANE_OFFSET;
-
- return 0;
-}
-
-static void uninit(void)
-{
- if(reg_IO) {
- /* Restore the screen (Linux lives at 0) */
- reg_IO->vidDesktopStartAddr = 0;
- reg_IO = NULL;
- }
-
- /* And close our mess */
- if(memBase1) {
- munmap(memBase1, fb_finfo.smem_len);
- memBase1 = NULL;
- }
-
- if(memBase0) {
- munmap(memBase0, fb_finfo.mmio_len);
- memBase0 = NULL;
- }
-
- if(fd != -1) {
- close(fd);
- fd = -1;
- }
-}
-
-static void clear_screen(void)
-{
- /* There needs to be some sort of delay here or else things seriously
- * screw up. Causes the image to not be the right size on screen if
- * this isn't like this. A printf before the memset call also seems to
- * work, but this made more sense since it actually checks the status of
- * the card.
- */
- if(vo_doublebuffering) {
- /* first wait for the card to be ready, do not try to write
- * every time - alex */
- do {} while((reg_IO->status & 0x1f) < 1);
- memset(vidpage, 0, screenwidth * screenheight * screendepth);
- memset(hidpage, 0, screenwidth * screenheight * screendepth);
- }
-}
-
-/* Setup output screen dimensions etc */
-static void setup_screen(uint32_t full)
-{
- aspect(&vidwidth, &vidheight, full ? A_ZOOM : A_NOZOOM);
-
- geometry(&vidx, &vidy, &vidwidth, &vidheight, screenwidth, screenheight);
- vo_fs = full;
- clear_screen();
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height,
- uint32_t flags, char *title, uint32_t format)
-{
- screenwidth = fb_vinfo.xres;
- screenheight = fb_vinfo.yres;
- aspect_save_screenres(fb_vinfo.xres,fb_vinfo.yres);
-
- in_width = width;
- in_height = height;
- in_format = format;
- aspect_save_orig(width,height);
-
- r_width = d_width;
- r_height = d_height;
- aspect_save_prescale(d_width,d_height);
-
- /* Setup the screen for rendering to */
- switch(fb_vinfo.bits_per_pixel) {
- case 16:
- screendepth = 2;
- vid_voodoo_format = VOODOO_BLT_FORMAT_16;
- alpha_func_double = vo_draw_alpha_rgb16;
- break;
-
- case 24:
- screendepth = 3;
- vid_voodoo_format = VOODOO_BLT_FORMAT_24;
- alpha_func_double = vo_draw_alpha_rgb24;
- break;
-
- case 32:
- screendepth = 4;
- vid_voodoo_format = VOODOO_BLT_FORMAT_32;
- alpha_func_double = vo_draw_alpha_rgb32;
- break;
-
- default:
- mp_tmsg(MSGT_VO, MSGL_ERR, "[VO_TDFXFB] %d bpp output is not supported (This should never have happened).\n", fb_vinfo.bits_per_pixel);
- return -1;
- }
-
- vid_voodoo_format |= screenwidth * screendepth;
-
- /* Some defaults here */
- in_voodoo_format = VOODOO_BLT_FORMAT_YUYV;
- in_depth = 2;
- alpha_func = vo_draw_alpha_yuy2;
-
- switch(in_format) {
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- case IMGFMT_YUY2:
- break;
- case IMGFMT_UYVY:
- in_voodoo_format = VOODOO_BLT_FORMAT_UYVY;
- break;
- case IMGFMT_BGR16:
- in_voodoo_format = VOODOO_BLT_FORMAT_16;
- alpha_func = vo_draw_alpha_rgb16;
- break;
-
- case IMGFMT_BGR24:
- in_depth = 3;
- in_voodoo_format = VOODOO_BLT_FORMAT_24;
- alpha_func = vo_draw_alpha_rgb24;
- break;
-
- case IMGFMT_BGR32:
- in_depth = 4;
- in_voodoo_format = VOODOO_BLT_FORMAT_32;
- alpha_func = vo_draw_alpha_rgb32;
- break;
-
- default:
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] Eik! Something's wrong with control().\n");
- return -1;
- }
-
- in_voodoo_format |= in_width * in_depth;
-
- /* Linux lives in the first frame */
- if(vo_doublebuffering) {
- vidpageoffset = screenwidth * screenheight * screendepth;
- hidpageoffset = vidpageoffset + screenwidth * screenheight * screendepth;
- } else
- vidpageoffset = hidpageoffset = 0; /* Console background */
-
-
- inpageoffset = hidpageoffset + screenwidth * screenheight * screendepth;
-
- if(inpageoffset + in_width * in_depth * in_height > fb_finfo.smem_len) {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_TDFXFB] Not enough video memory to play this movie. Try at a lower resolution.\n");
- return -1;
- }
-
- vidpage = (void *)memBase1 + (unsigned long)vidpageoffset;
- hidpage = (void *)memBase1 + (unsigned long)hidpageoffset;
- inpage = (void *)memBase1 + (unsigned long)inpageoffset;
-
- setup_screen(flags & VOFLAG_FULLSCREEN);
-
- memset(inpage, 0, in_width * in_height * in_depth);
-
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_TDFXFB] Screen is %dx%d at %d bpp, in is %dx%d at %d bpp, norm is %dx%d.\n",
- screenwidth, screenheight, screendepth * 8,
- in_width, in_height, in_depth * 8,
- d_width, d_height);
-
- return 0;
-}
-
-/* Double-buffering draw_alpha */
-static void draw_alpha_double(int x, int y, int w, int h, unsigned char *src,
- unsigned char *srca, int stride)
-{
- char *dst = (char *)vidpage + ((y + vidy) * screenwidth + x + vidx) * screendepth;
- alpha_func_double(w, h, src, srca, stride, dst, screenwidth * screendepth);
-}
-
-/* Single-buffering draw_alpha */
-static void draw_alpha(int x, int y, int w, int h, unsigned char *src,
- unsigned char *srca, int stride)
-{
- char *dst = (char *)inpage + (y * in_width + x) * in_depth;
- alpha_func(w, h, src, srca, stride, dst, in_width * in_depth);
-}
-
-static void draw_osd(void)
-{
- if(!vo_doublebuffering)
- vo_draw_text(in_width, in_height, draw_alpha);
-}
-
-/* Render onto the screen */
-static void flip_page(void)
-{
- voodoo_2d_reg regs = *reg_2d; /* Copy the regs */
- int i = 0;
-
- if(vo_doublebuffering) {
- /* Flip to an offscreen buffer for rendering */
- uint32_t t = vidpageoffset;
- void *j = vidpage;
-
- vidpage = hidpage;
- hidpage = j;
- vidpageoffset = hidpageoffset;
- hidpageoffset = t;
- }
-
- reg_2d->commandExtra = 0;
- reg_2d->clip0Min = 0;
- reg_2d->clip0Max = 0xffffffff;
-
- reg_2d->srcBaseAddr = inpageoffset;
- reg_2d->srcXY = 0;
- reg_2d->srcFormat = in_voodoo_format;
- reg_2d->srcSize = XYREG(in_width, in_height);
-
- reg_2d->dstBaseAddr = vidpageoffset;
- reg_2d->dstXY = XYREG(vidx, vidy);
- reg_2d->dstFormat = vid_voodoo_format;
- reg_2d->dstSize = XYREG(vidwidth, vidheight);
- reg_2d->command = S2S_STRECH_BLT | S2S_IMMED | S2S_ROP;
-
- /* Wait for the command to finish (If we don't do this, we get wierd
- * sound corruption... */
- while((reg_IO->status & 0x1f) < 1)
- /* Wait */;
-
- *((volatile uint32_t *)((uint32_t *)reg_IO + COMMAND_3D)) = COMMAND_3D_NOP;
-
- while(i < 3)
- if(!(reg_IO->status & STATUS_BUSY))
- i++;
-
- /* Restore the old regs now */
- reg_2d->commandExtra = regs.commandExtra;
- reg_2d->clip0Min = regs.clip0Min;
- reg_2d->clip0Max = regs.clip0Max;
-
- reg_2d->srcBaseAddr = regs.srcBaseAddr;
- reg_2d->srcXY = regs.srcXY;
- reg_2d->srcFormat = regs.srcFormat;
- reg_2d->srcSize = regs.srcSize;
-
- reg_2d->dstBaseAddr = regs.dstBaseAddr;
- reg_2d->dstXY = regs.dstXY;
- reg_2d->dstFormat = regs.dstFormat;
- reg_2d->dstSize = regs.dstSize;
-
- reg_2d->command = 0;
-
- /* Render any text onto this buffer */
- if(vo_doublebuffering)
- vo_draw_text(vidwidth, vidheight, draw_alpha_double);
-
- /* And flip to the new buffer! */
- reg_IO->vidDesktopStartAddr = vidpageoffset;
-}
-
-static int draw_frame(uint8_t *src[])
-{
- mem2agpcpy(inpage, src[0], in_width * in_depth * in_height);
- return 0;
-}
-
-static int draw_slice(uint8_t *i[], int s[], int w, int h, int x, int y)
-{
- /* We want to render to the YUV to the input page + the location
- * of the stripes we're doing */
- reg_YUV->yuvBaseAddr = inpageoffset + in_width * in_depth * y + x;
- reg_YUV->yuvStride = in_width * in_depth;
-
- /* Put the YUV channels into the voodoos internal combiner unit
- * thingie */
- mem2agpcpy_pic(YUV->Y, i[0], s[0], h , YUV_STRIDE, s[0]);
- mem2agpcpy_pic(YUV->U, i[1], s[1], h / 2, YUV_STRIDE, s[1]);
- mem2agpcpy_pic(YUV->V, i[2], s[2], h / 2, YUV_STRIDE, s[2]);
- return 0;
-}
-
-/* Attempt to start doing DR */
-static uint32_t get_image(mp_image_t *mpi)
-{
-
- if(mpi->flags & MP_IMGFLAG_READABLE)
- return VO_FALSE;
- if(mpi->type == MP_IMGTYPE_STATIC && vo_doublebuffering)
- return VO_FALSE;
- if(mpi->type > MP_IMGTYPE_TEMP)
- return VO_FALSE; // TODO ??
-
- switch(in_format) {
- case IMGFMT_YUY2:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- case IMGFMT_UYVY:
- mpi->planes[0] = (char *)inpage;
- mpi->stride[0] = in_width * in_depth;
- break;
-
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- if(!(mpi->flags & MP_IMGFLAG_ACCEPT_STRIDE) && mpi->w != YUV_STRIDE)
- return VO_FALSE;
- mpi->planes[0] = YUV->Y;
- mpi->planes[1] = YUV->U;
- mpi->planes[2] = YUV->V;
- mpi->stride[0] = mpi->stride[1] = mpi->stride[2] = YUV_STRIDE;
- reg_YUV->yuvBaseAddr = inpageoffset;
- reg_YUV->yuvStride = in_width * in_depth;
- break;
-
- default:
- return VO_FALSE;
- }
-
- mpi->width = in_width;
- mpi->flags |= MP_IMGFLAG_DIRECT;
-
- return VO_TRUE;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch(request) {
- case VOCTRL_GET_IMAGE:
- return get_image(data);
-
- case VOCTRL_QUERY_FORMAT:
- switch(*((uint32_t*)data)) {
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- case IMGFMT_YUY2:
- case IMGFMT_UYVY:
- case IMGFMT_BGR16:
- case IMGFMT_BGR24:
- case IMGFMT_BGR32:
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW |
- VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN;
- }
-
- return 0; /* Not supported */
-
- case VOCTRL_FULLSCREEN:
- setup_screen(!vo_fs);
- return 0;
- }
-
- return VO_NOTIMPL;
-}
-
-/* Dummy funcs */
-static void check_events(void) {}
diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c
index 0971ae4..0c99f5d 100644
--- a/libvo/vo_vdpau.c
+++ b/libvo/vo_vdpau.c
@@ -33,6 +33,10 @@
#include <stdint.h>
#include <stdbool.h>
#include <limits.h>
+#include <assert.h>
+
+#include <libavutil/common.h>
+#include <libavcodec/vdpau.h>
#include "config.h"
#include "mp_msg.h"
@@ -43,19 +47,12 @@
#include "aspect.h"
#include "csputils.h"
#include "sub/sub.h"
-#include "subopt-helper.h"
+#include "m_option.h"
#include "libmpcodecs/vfcap.h"
#include "libmpcodecs/mp_image.h"
#include "osdep/timer.h"
-
-#include "libavcodec/vdpau.h"
-
-#include "sub/font_load.h"
-
-#include "libavutil/common.h"
-#include "libavutil/mathematics.h"
-
#include "sub/ass_mp.h"
+#include "bitmap_packer.h"
#define WRAP_ADD(x, a, m) ((a) < 0 \
? ((x)+(a)+(m) < (m) ? (x)+(a)+(m) : (x)+(a)) \
@@ -82,12 +79,6 @@
#define MAX_VIDEO_SURFACES 50
#define NUM_BUFFERED_VIDEO 5
-/* number of palette entries */
-#define PALETTE_SIZE 256
-
-/* Initial size of EOSD surface in pixels (x*x) */
-#define EOSD_SURFACE_INITIAL_SIZE 256
-
/* Pixelformat used for output surfaces */
#define OUTPUT_RGBA_FORMAT VDP_RGBA_FORMAT_B8G8R8A8
@@ -101,6 +92,8 @@ struct vdp_functions {
#undef VDP_FUNCTION
};
+#define MAX_OLD_OSD_BITMAPS 6
+
struct vdpctx {
struct vdp_functions *vdp;
@@ -116,8 +109,8 @@ struct vdpctx {
uint64_t last_vdp_time;
unsigned int last_sync_update;
- /* an extra last output surface is used for OSD and screenshots */
- VdpOutputSurface output_surfaces[MAX_OUTPUT_SURFACES + 1];
+ VdpOutputSurface output_surfaces[MAX_OUTPUT_SURFACES];
+ VdpOutputSurface screenshot_surface;
int num_output_surfaces;
struct buffered_video_surface {
VdpVideoSurface surface;
@@ -154,6 +147,7 @@ struct vdpctx {
int query_surface_num;
VdpTime recent_vsync_time;
float user_fps;
+ int composite_detect;
unsigned int vsync_interval;
uint64_t last_queue_time;
uint64_t queue_time[MAX_OUTPUT_SURFACES];
@@ -167,30 +161,34 @@ struct vdpctx {
VdpYCbCrFormat vdp_pixel_format;
/* draw_osd */
- unsigned char *index_data;
- int index_data_size;
- uint32_t palette[PALETTE_SIZE];
+ struct old_osd {
+ int x0, y0, w, h;
+ unsigned char *src, *srca;
+ int stride;
+ } old_osd_elements[MAX_OLD_OSD_BITMAPS];
+ int old_osd_count;
+ unsigned char *osd_data_temp;
+ int osd_data_size;
// EOSD
- // Pool of surfaces
struct eosd_bitmap_surface {
+ VdpRGBAFormat format;
VdpBitmapSurface surface;
- int w;
- int h;
uint32_t max_width;
uint32_t max_height;
- } eosd_surface;
+ struct bitmap_packer *packer;
+ } eosd_surface, osd_surface;
// List of surfaces to be rendered
struct eosd_target {
VdpRect source;
VdpRect dest;
VdpColor color;
- } *eosd_targets;
+ } *eosd_targets, osd_targets[MAX_OLD_OSD_BITMAPS][2];
int eosd_targets_size;
- int *eosd_scratch;
-
int eosd_render_count;
+ unsigned int bitmap_id;
+ unsigned int bitmap_pos_id;
// Video equalizer
struct mp_csp_equalizer video_eq;
@@ -385,7 +383,6 @@ static void resize(struct vo *vo)
struct vdpctx *vc = vo->priv;
struct vdp_functions *vdp = vc->vdp;
VdpStatus vdp_st;
- int i;
struct vo_rect src_rect;
struct vo_rect dst_rect;
struct vo_rect borders;
@@ -401,36 +398,29 @@ static void resize(struct vo *vo)
vc->src_rect_vid.y1 = vc->flip ? src_rect.top : src_rect.bottom;
vc->border_x = borders.left;
vc->border_y = borders.top;
-#ifdef CONFIG_FREETYPE
- // adjust font size to display size
- force_load_font = 1;
-#endif
- vo_osd_changed(OSDTYPE_OSD);
int flip_offset_ms = vo_fs ? vc->flip_offset_fs : vc->flip_offset_window;
vo->flip_queue_offset = flip_offset_ms / 1000.;
- int min_output_width = FFMAX(vo->dwidth, vc->vid_width);
- int min_output_height = FFMAX(vo->dheight, vc->vid_height);
-
- if (vc->output_surface_width < min_output_width
- || vc->output_surface_height < min_output_height) {
- if (vc->output_surface_width < min_output_width) {
+ if (vc->output_surface_width < vo->dwidth
+ || vc->output_surface_height < vo->dheight) {
+ if (vc->output_surface_width < vo->dwidth) {
vc->output_surface_width += vc->output_surface_width >> 1;
vc->output_surface_width = FFMAX(vc->output_surface_width,
- min_output_width);
+ vo->dwidth);
}
- if (vc->output_surface_height < min_output_height) {
+ if (vc->output_surface_height < vo->dheight) {
vc->output_surface_height += vc->output_surface_height >> 1;
vc->output_surface_height = FFMAX(vc->output_surface_height,
- min_output_height);
+ vo->dheight);
}
// Creation of output_surfaces
- for (i = 0; i <= vc->num_output_surfaces; i++) {
+ for (int i = 0; i < vc->num_output_surfaces; i++)
if (vc->output_surfaces[i] != VDP_INVALID_HANDLE) {
vdp_st = vdp->output_surface_destroy(vc->output_surfaces[i]);
CHECK_ST_WARNING("Error when calling "
"vdp_output_surface_destroy");
}
+ for (int i = 0; i < vc->num_output_surfaces; i++) {
vdp_st = vdp->output_surface_create(vc->vdp_device,
OUTPUT_RGBA_FORMAT,
vc->output_surface_width,
@@ -456,9 +446,11 @@ static int win_x11_init_vdpau_procs(struct vo *vo)
{
struct vo_x11_state *x11 = vo->x11;
struct vdpctx *vc = vo->priv;
- talloc_free(vc->vdp); // In case this is reinitialization after preemption
- struct vdp_functions *vdp = talloc_zero(vc, struct vdp_functions);
- vc->vdp = vdp;
+ if (vc->vdp) // reinitialization after preemption
+ memset(vc->vdp, 0, sizeof(*vc->vdp));
+ else
+ vc->vdp = talloc_zero(vc, struct vdp_functions);
+ struct vdp_functions *vdp = vc->vdp;
VdpStatus vdp_st;
struct vdp_function {
@@ -543,7 +535,10 @@ static int win_x11_init_vdpau_flip_queue(struct vo *vo)
vc->last_sync_update = GetTimer();
vc->vsync_interval = 1;
- if (vc->user_fps > 0) {
+ if (vc->composite_detect && vo_x11_screen_is_composited(vo)) {
+ mp_msg(MSGT_VO, MSGL_INFO, "[vdpau] Compositing window manager "
+ "detected. Assuming timing info is inaccurate.\n");
+ } else if (vc->user_fps > 0) {
vc->vsync_interval = 1e9 / vc->user_fps;
mp_msg(MSGT_VO, MSGL_INFO, "[vdpau] Assuming user-specified display "
"refresh rate of %.3f Hz.\n", vc->user_fps);
@@ -718,6 +713,12 @@ static void free_video_specific(struct vo *vo)
CHECK_ST_WARNING("Error when calling vdp_video_mixer_destroy");
}
vc->video_mixer = VDP_INVALID_HANDLE;
+
+ if (vc->screenshot_surface != VDP_INVALID_HANDLE) {
+ vdp_st = vdp->output_surface_destroy(vc->screenshot_surface);
+ CHECK_ST_WARNING("Error when calling vdp_output_surface_destroy");
+ }
+ vc->screenshot_surface = VDP_INVALID_HANDLE;
}
static int create_vdp_decoder(struct vo *vo, int max_refs)
@@ -770,8 +771,6 @@ static int create_vdp_decoder(struct vo *vo, int max_refs)
static int initialize_vdpau_objects(struct vo *vo)
{
struct vdpctx *vc = vo->priv;
- struct vdp_functions *vdp = vc->vdp;
- VdpStatus vdp_st;
vc->vdp_chroma_type = VDP_CHROMA_TYPE_420;
switch (vc->image_format) {
@@ -797,13 +796,6 @@ static int initialize_vdpau_objects(struct vo *vo)
if (create_vdp_mixer(vo, vc->vdp_chroma_type) < 0)
return -1;
- vdp_st = vdp->
- bitmap_surface_query_capabilities(vc->vdp_device,
- VDP_RGBA_FORMAT_A8,
- &(VdpBool){0},
- &vc->eosd_surface.max_width,
- &vc->eosd_surface.max_height);
- CHECK_ST_WARNING("Query to get max EOSD surface size failed");
forget_frames(vo);
resize(vo);
return 0;
@@ -820,10 +812,14 @@ static void mark_vdpau_objects_uninitialized(struct vo *vo)
vc->video_mixer = VDP_INVALID_HANDLE;
vc->flip_queue = VDP_INVALID_HANDLE;
vc->flip_target = VDP_INVALID_HANDLE;
- for (int i = 0; i <= MAX_OUTPUT_SURFACES; i++)
+ for (int i = 0; i < MAX_OUTPUT_SURFACES; i++)
vc->output_surfaces[i] = VDP_INVALID_HANDLE;
+ vc->screenshot_surface = VDP_INVALID_HANDLE;
vc->vdp_device = VDP_INVALID_HANDLE;
- vc->eosd_surface = (struct eosd_bitmap_surface){
+ talloc_free(vc->osd_surface.packer);
+ talloc_free(vc->eosd_surface.packer);
+ vc->bitmap_id = vc->bitmap_pos_id = 0;
+ vc->osd_surface = vc->eosd_surface = (struct eosd_bitmap_surface){
.surface = VDP_INVALID_HANDLE,
};
vc->output_surface_width = vc->output_surface_height = -1;
@@ -951,76 +947,20 @@ static void check_events(struct vo *vo)
}
}
-static void draw_osd_I8A8(void *ctx, int x0, int y0, int w, int h,
- unsigned char *src, unsigned char *srca, int stride)
+static struct bitmap_packer *make_packer(struct vo *vo, VdpRGBAFormat format)
{
- struct vo *vo = ctx;
struct vdpctx *vc = vo->priv;
struct vdp_functions *vdp = vc->vdp;
- VdpOutputSurface output_surface = vc->output_surfaces[vc->surface_num];
- VdpStatus vdp_st;
- int i;
- int pitch;
- int index_data_size_required;
- VdpRect output_indexed_rect_vid;
-
- if (!w || !h)
- return;
-
- index_data_size_required = 2*w*h;
- if (vc->index_data_size < index_data_size_required) {
- vc->index_data = talloc_realloc_size(vc, vc->index_data,
- index_data_size_required);
- vc->index_data_size = index_data_size_required;
- }
-
- // index_data creation, component order - I, A, I, A, .....
- for (i = 0; i < h; i++)
- for (int j = 0; j < w; j++) {
- vc->index_data[i*2*w + j*2] = src [i*stride+j];
- vc->index_data[i*2*w + j*2 + 1] = -srca[i*stride+j];
- }
-
- output_indexed_rect_vid.x0 = x0;
- output_indexed_rect_vid.y0 = y0;
- output_indexed_rect_vid.x1 = x0 + w;
- output_indexed_rect_vid.y1 = y0 + h;
-
- pitch = w*2;
- // write source_data to osd_surface.
- VdpOutputSurface osd_surface = vc->output_surfaces[vc->num_output_surfaces];
- vdp_st = vdp->
- output_surface_put_bits_indexed(osd_surface, VDP_INDEXED_FORMAT_I8A8,
- (const void *const*)&vc->index_data,
- &pitch, &output_indexed_rect_vid,
- VDP_COLOR_TABLE_FORMAT_B8G8R8X8,
- (void *)vc->palette);
- CHECK_ST_WARNING("Error when calling vdp_output_surface_put_bits_indexed");
-
- VdpOutputSurfaceRenderBlendState blend_state = {
- .struct_version = VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION,
- .blend_factor_source_color =
- VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE,
- .blend_factor_source_alpha =
- VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE,
- .blend_factor_destination_color =
- VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
- .blend_factor_destination_alpha =
- VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
- .blend_equation_color = VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD,
- .blend_equation_alpha = VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD,
- };
-
- vdp_st = vdp->
- output_surface_render_output_surface(output_surface,
- &output_indexed_rect_vid,
- osd_surface,
- &output_indexed_rect_vid,
- NULL, &blend_state,
- VDP_OUTPUT_SURFACE_RENDER_ROTATE_0);
- CHECK_ST_WARNING("Error when calling "
- "vdp_output_surface_render_output_surface");
+ struct bitmap_packer *packer = talloc_zero(vo, struct bitmap_packer);
+ uint32_t w_max = 0, h_max = 0;
+ VdpStatus vdp_st = vdp->
+ bitmap_surface_query_capabilities(vc->vdp_device, format,
+ &(VdpBool){0}, &w_max, &h_max);
+ CHECK_ST_WARNING("Query to get max EOSD surface size failed");
+ packer->w_max = w_max;
+ packer->h_max = h_max;
+ return packer;
}
static void draw_eosd(struct vo *vo)
@@ -1058,187 +998,272 @@ static void draw_eosd(struct vo *vo)
}
}
-#define HEIGHT_SORT_BITS 4
-static int size_index(struct eosd_target *r)
-{
- unsigned int h = r->source.y1;
- int n = av_log2_16bit(h);
- return (n << HEIGHT_SORT_BITS)
- + (- 1 - (h << HEIGHT_SORT_BITS >> n) & (1 << HEIGHT_SORT_BITS) - 1);
-}
-
-/* Pack the given rectangles into an area of size w * h.
- * The size of each rectangle is read from .source.x1/.source.y1.
- * The height of each rectangle must be at least 1 and less than 65536.
- * The .source rectangle is then set corresponding to the packed position.
- * 'scratch' must point to work memory for num_rects+16 ints.
- * Return 0 on success, -1 if the rectangles did not fit in w*h.
- *
- * The rectangles are placed in rows in order approximately sorted by
- * height (the approximate sorting is simpler than a full one would be,
- * and allows the algorithm to work in linear time). Additionally, to
- * reduce wasted space when there are a few tall rectangles, empty
- * lower-right parts of rows are filled recursively when the size of
- * rectangles in the row drops past a power-of-two threshold. So if a
- * row starts with rectangles of size 3x50, 10x40 and 5x20 then the
- * free rectangle with corners (13, 20)-(w, 50) is filled recursively.
- */
-static int pack_rectangles(struct eosd_target *rects, int num_rects,
- int w, int h, int *scratch)
-{
- int bins[16 << HEIGHT_SORT_BITS];
- int sizes[16 << HEIGHT_SORT_BITS] = {};
- for (int i = 0; i < num_rects; i++)
- sizes[size_index(rects + i)]++;
- int idx = 0;
- for (int i = 0; i < 16 << HEIGHT_SORT_BITS; i += 1 << HEIGHT_SORT_BITS) {
- for (int j = 0; j < 1 << HEIGHT_SORT_BITS; j++) {
- bins[i + j] = idx;
- idx += sizes[i + j];
- }
- scratch[idx++] = -1;
- }
- for (int i = 0; i < num_rects; i++)
- scratch[bins[size_index(rects + i)]++] = i;
- for (int i = 0; i < 16; i++)
- bins[i] = bins[i << HEIGHT_SORT_BITS] - sizes[i << HEIGHT_SORT_BITS];
- struct {
- int size, x, bottom;
- } stack[16] = {{15, 0, h}}, s = {};
- int stackpos = 1;
- int y;
- while (stackpos) {
- y = s.bottom;
- s = stack[--stackpos];
- s.size++;
- while (s.size--) {
- int maxy = -1;
- int obj;
- while ((obj = scratch[bins[s.size]]) >= 0) {
- int bottom = y + rects[obj].source.y1;
- if (bottom > s.bottom)
- break;
- int right = s.x + rects[obj].source.x1;
- if (right > w)
- break;
- bins[s.size]++;
- rects[obj].source.x0 = s.x;
- rects[obj].source.x1 += s.x;
- rects[obj].source.y0 = y;
- rects[obj].source.y1 += y;
- num_rects--;
- if (maxy <= 0)
- stack[stackpos++] = s;
- s.x = right;
- maxy = FFMAX(maxy, bottom);
- }
- if (maxy > 0)
- s.bottom = maxy;
- }
- }
- return num_rects ? -1 : 0;
-}
-
static void generate_eosd(struct vo *vo, mp_eosd_images_t *imgs)
{
struct vdpctx *vc = vo->priv;
struct vdp_functions *vdp = vc->vdp;
VdpStatus vdp_st;
- int i;
- ASS_Image *img = imgs->imgs;
- ASS_Image *p;
struct eosd_bitmap_surface *sfc = &vc->eosd_surface;
bool need_upload = false;
- if (imgs->changed == 0)
- return; // Nothing changed, no need to redraw
+ if (imgs->bitmap_pos_id == vc->bitmap_pos_id)
+ return; // Nothing changed and we still have the old data
vc->eosd_render_count = 0;
- if (!img)
- return; // There's nothing to render!
+ if (imgs->type == SUBBITMAP_EMPTY)
+ return;
- if (imgs->changed == 1)
+ if (imgs->bitmap_id == vc->bitmap_id)
goto eosd_skip_upload;
need_upload = true;
- bool reallocate = false;
- while (1) {
- for (p = img, i = 0; p; p = p->next) {
- if (p->w <= 0 || p->h <= 0)
+ VdpRGBAFormat format;
+ int format_size;
+ switch (imgs->type) {
+ case SUBBITMAP_LIBASS:
+ format = VDP_RGBA_FORMAT_A8;
+ format_size = 1;
+ break;
+ case SUBBITMAP_RGBA:
+ format = VDP_RGBA_FORMAT_B8G8R8A8;
+ format_size = 4;
+ break;
+ default:
+ abort();
+ };
+ if (sfc->format != format) {
+ talloc_free(sfc->packer);
+ sfc->packer = NULL;
+ };
+ sfc->format = format;
+ if (!sfc->packer)
+ sfc->packer = make_packer(vo, format);
+ int r = packer_pack_from_subbitmaps(sfc->packer, imgs, imgs->scaled);
+ if (r < 0) {
+ mp_msg(MSGT_VO, MSGL_ERR, "[vdpau] EOSD bitmaps do not fit on "
+ "a surface with the maximum supported size\n");
+ return;
+ } else if (r == 1) {
+ if (sfc->surface != VDP_INVALID_HANDLE) {
+ vdp_st = vdp->bitmap_surface_destroy(sfc->surface);
+ CHECK_ST_WARNING("Error when calling vdp_bitmap_surface_destroy");
+ }
+ mp_msg(MSGT_VO, MSGL_V, "[vdpau] Allocating a %dx%d surface for "
+ "EOSD bitmaps.\n", sfc->packer->w, sfc->packer->h);
+ vdp_st = vdp->bitmap_surface_create(vc->vdp_device, format,
+ sfc->packer->w, sfc->packer->h,
+ true, &sfc->surface);
+ if (vdp_st != VDP_STATUS_OK)
+ sfc->surface = VDP_INVALID_HANDLE;
+ CHECK_ST_WARNING("EOSD: error when creating surface");
+ }
+ if (imgs->scaled) {
+ char zeros[sfc->packer->used_width * format_size];
+ memset(zeros, 0, sizeof(zeros));
+ vdp_st = vdp->bitmap_surface_put_bits_native(sfc->surface,
+ &(const void *){zeros}, &(uint32_t){0},
+ &(VdpRect){0, 0, sfc->packer->used_width,
+ sfc->packer->used_height});
+ }
+
+eosd_skip_upload:
+ if (sfc->surface == VDP_INVALID_HANDLE)
+ return;
+ if (sfc->packer->count > vc->eosd_targets_size) {
+ talloc_free(vc->eosd_targets);
+ vc->eosd_targets_size = sfc->packer->count;
+ vc->eosd_targets = talloc_size(vc, vc->eosd_targets_size
+ * sizeof(*vc->eosd_targets));
+ }
+
+ if (imgs->type == SUBBITMAP_LIBASS) {
+ int i = 0;
+ for (ASS_Image *p = imgs->imgs; p; p = p->next, i++) {
+ if (p->w == 0 || p->h == 0)
continue;
- // Allocate new space for surface/target arrays
- if (i >= vc->eosd_targets_size) {
- vc->eosd_targets_size = FFMAX(vc->eosd_targets_size * 2, 512);
- vc->eosd_targets =
- talloc_realloc_size(vc, vc->eosd_targets,
- vc->eosd_targets_size
- * sizeof(*vc->eosd_targets));
- vc->eosd_scratch =
- talloc_realloc_size(vc, vc->eosd_scratch,
- (vc->eosd_targets_size + 16)
- * sizeof(*vc->eosd_scratch));
+ struct eosd_target *target = vc->eosd_targets +
+ vc->eosd_render_count;
+ int x = sfc->packer->result[i].x;
+ int y = sfc->packer->result[i].y;
+ target->source = (VdpRect){x, y, x + p->w, y + p->h};
+ if (need_upload) {
+ vdp_st = vdp->
+ bitmap_surface_put_bits_native(sfc->surface,
+ (const void *) &p->bitmap,
+ &p->stride, &target->source);
+ CHECK_ST_WARNING("EOSD: putbits failed");
}
- vc->eosd_targets[i].source.x1 = p->w;
- vc->eosd_targets[i].source.y1 = p->h;
- i++;
+ // Render dest, color, etc.
+ target->color.alpha = 1.0 - ((p->color >> 0) & 0xff) / 255.0;
+ target->color.blue = ((p->color >> 8) & 0xff) / 255.0;
+ target->color.green = ((p->color >> 16) & 0xff) / 255.0;
+ target->color.red = ((p->color >> 24) & 0xff) / 255.0;
+ target->dest.x0 = p->dst_x;
+ target->dest.y0 = p->dst_y;
+ target->dest.x1 = p->w + p->dst_x;
+ target->dest.y1 = p->h + p->dst_y;
+ vc->eosd_render_count++;
}
- if (pack_rectangles(vc->eosd_targets, i, sfc->w, sfc->h,
- vc->eosd_scratch) >= 0)
- break;
- int w = FFMIN(FFMAX(sfc->w * 2, EOSD_SURFACE_INITIAL_SIZE),
- sfc->max_width);
- int h = FFMIN(FFMAX(sfc->h * 2, EOSD_SURFACE_INITIAL_SIZE),
- sfc->max_height);
- if (w == sfc->w && h == sfc->h) {
- mp_msg(MSGT_VO, MSGL_ERR, "[vdpau] EOSD bitmaps do not fit on "
- "a surface with the maximum supported size\n");
- return;
- } else {
- sfc->w = w;
- sfc->h = h;
+ } else {
+ for (int i = 0 ;i < sfc->packer->count; i++) {
+ struct sub_bitmap *b = &imgs->parts[i];
+ struct eosd_target *target = vc->eosd_targets +
+ vc->eosd_render_count;
+ int x = sfc->packer->result[i].x;
+ int y = sfc->packer->result[i].y;
+ target->source = (VdpRect){x, y, x + b->w, y + b->h};
+ if (need_upload) {
+ vdp_st = vdp->
+ bitmap_surface_put_bits_native(sfc->surface,
+ &(const void *){b->bitmap},
+ &(uint32_t){b->w * 4},
+ &target->source);
+ CHECK_ST_WARNING("EOSD: putbits failed");
+ }
+ target->color = (VdpColor){1, 1, 1, 1};
+ target->dest = (VdpRect){b->x, b->y, b->x + b->dw, b->y + b->dh};
+ vc->eosd_render_count++;
}
- reallocate = true;
}
- if (reallocate) {
+ vc->bitmap_id = imgs->bitmap_id;
+ vc->bitmap_pos_id = imgs->bitmap_pos_id;
+}
+
+static void record_osd(void *ctx, int x0, int y0, int w, int h,
+ unsigned char *src, unsigned char *srca, int stride)
+{
+ struct vo *vo = ctx;
+ struct vdpctx *vc = vo->priv;
+
+ assert(vc->old_osd_count < MAX_OLD_OSD_BITMAPS);
+ if (!w || !h)
+ return;
+ vc->old_osd_elements[vc->old_osd_count++] = (struct old_osd){
+ x0, y0, w, h, src, srca, stride};
+}
+
+static void render_old_osd(struct vo *vo)
+{
+ struct vdpctx *vc = vo->priv;
+ struct vdp_functions *vdp = vc->vdp;
+ VdpOutputSurface output_surface = vc->output_surfaces[vc->surface_num];
+ VdpStatus vdp_st;
+ struct eosd_bitmap_surface *sfc = &vc->osd_surface;
+
+ if (!sfc->packer)
+ sfc->packer = make_packer(vo, VDP_RGBA_FORMAT_A8);
+
+ packer_set_size(sfc->packer, vc->old_osd_count * 2);
+ for (int i = 0; i < vc->old_osd_count; i++) {
+ struct old_osd *o = &vc->old_osd_elements[i];
+ sfc->packer->in[i*2] = sfc->packer->in[i*2 + 1] =
+ (struct pos){o->w, o->h};
+ };
+ int r = packer_pack(sfc->packer);
+ if (r < 0) {
+ mp_msg(MSGT_VO, MSGL_ERR, "[vdpau] OSD bitmaps do not fit on "
+ "a surface with the maximum supported size\n");
+ vc->old_osd_count = 0;
+ return;
+ } else if (r == 1) {
if (sfc->surface != VDP_INVALID_HANDLE) {
vdp_st = vdp->bitmap_surface_destroy(sfc->surface);
CHECK_ST_WARNING("Error when calling vdp_bitmap_surface_destroy");
}
mp_msg(MSGT_VO, MSGL_V, "[vdpau] Allocating a %dx%d surface for "
- "EOSD bitmaps.\n", sfc->w, sfc->h);
+ "OSD bitmaps.\n", sfc->packer->w, sfc->packer->h);
vdp_st = vdp->bitmap_surface_create(vc->vdp_device, VDP_RGBA_FORMAT_A8,
- sfc->w, sfc->h, true,
- &sfc->surface);
+ sfc->packer->w, sfc->packer->h,
+ true, &sfc->surface);
if (vdp_st != VDP_STATUS_OK)
sfc->surface = VDP_INVALID_HANDLE;
- CHECK_ST_WARNING("EOSD: error when creating surface");
+ CHECK_ST_WARNING("OSD: error when creating surface");
}
-eosd_skip_upload:
- if (sfc->surface == VDP_INVALID_HANDLE)
- return;
- for (p = img; p; p = p->next) {
- if (p->w <= 0 || p->h <= 0)
- continue;
- struct eosd_target *target = &vc->eosd_targets[vc->eosd_render_count];
- if (need_upload) {
- vdp_st = vdp->
- bitmap_surface_put_bits_native(sfc->surface,
- (const void *) &p->bitmap,
- &p->stride, &target->source);
- CHECK_ST_WARNING("EOSD: putbits failed");
+ for (int i = 0; i < vc->old_osd_count; i++) {
+ struct old_osd *o = &vc->old_osd_elements[i];
+ struct eosd_target *target1 = &vc->osd_targets[i][0];
+ struct eosd_target *target2 = &vc->osd_targets[i][1];
+ int w = o->w, h = o->h;
+ int sx = sfc->packer->result[i * 2].x;
+ int sy = sfc->packer->result[i * 2].y;
+ target1->source = (VdpRect){ sx, sy, sx + w, sy + h };
+ target1->dest = (VdpRect){ o->x0, o->y0, o->x0 + w, o->y0 + h };
+ sx = sfc->packer->result[i * 2 + 1].x;
+ sy = sfc->packer->result[i * 2 + 1].y;
+ target2->source = (VdpRect){ sx, sy, sx + w, sy + h };
+ target2->dest = target1->dest;
+ vdp_st = vdp->bitmap_surface_put_bits_native(sfc->surface,
+ &(const void *){o->src},
+ &(uint32_t){o->stride},
+ &target1->source);
+ CHECK_ST_WARNING("OSD: putbits failed");
+ int size_required = w * h;
+ if (vc->osd_data_size < size_required) {
+ talloc_free(vc->osd_data_temp);
+ vc->osd_data_temp = talloc_size(vc, size_required);
+ vc->osd_data_size = size_required;
}
- // Render dest, color, etc.
- target->color.alpha = 1.0 - ((p->color >> 0) & 0xff) / 255.0;
- target->color.blue = ((p->color >> 8) & 0xff) / 255.0;
- target->color.green = ((p->color >> 16) & 0xff) / 255.0;
- target->color.red = ((p->color >> 24) & 0xff) / 255.0;
- target->dest.x0 = p->dst_x;
- target->dest.y0 = p->dst_y;
- target->dest.x1 = p->w + p->dst_x;
- target->dest.y1 = p->h + p->dst_y;
- vc->eosd_render_count++;
+ for (int y = 0; y < h; y++)
+ for (int x = 0; x < w; x++)
+ vc->osd_data_temp[y * w + x] = -o->srca[y * o->stride + x];
+ vdp_st = vdp->bitmap_surface_put_bits_native(sfc->surface,
+ &(const void *){vc->osd_data_temp},
+ &(uint32_t){w},
+ &target2->source);
+ CHECK_ST_WARNING("OSD: putbits failed");
+ }
+
+ VdpOutputSurfaceRenderBlendState blend_state_alpha = {
+ .struct_version = VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION,
+ .blend_factor_source_color =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO,
+ .blend_factor_source_alpha =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ZERO,
+ .blend_factor_destination_color =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
+ .blend_factor_destination_alpha =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
+ .blend_equation_color = VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD,
+ .blend_equation_alpha = VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD,
+ };
+
+ VdpOutputSurfaceRenderBlendState blend_state_gray = {
+ .struct_version = VDP_OUTPUT_SURFACE_RENDER_BLEND_STATE_VERSION,
+ .blend_factor_source_color =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA,
+ .blend_factor_source_alpha =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_SRC_ALPHA,
+ .blend_factor_destination_color =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE,
+ .blend_factor_destination_alpha =
+ VDP_OUTPUT_SURFACE_RENDER_BLEND_FACTOR_ONE,
+ .blend_equation_color = VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD,
+ .blend_equation_alpha = VDP_OUTPUT_SURFACE_RENDER_BLEND_EQUATION_ADD,
+ };
+
+ for (int i = 0; i < vc->old_osd_count; i++) {
+ struct eosd_target *target1 = &vc->osd_targets[i][0];
+ struct eosd_target *target2 = &vc->osd_targets[i][1];
+ vdp_st = vdp->
+ output_surface_render_bitmap_surface(output_surface,
+ &target2->dest,
+ vc->osd_surface.surface,
+ &target2->source,
+ &(VdpColor){1, 1, 1, 1},
+ &blend_state_alpha,
+ VDP_OUTPUT_SURFACE_RENDER_ROTATE_0);
+ CHECK_ST_WARNING("OSD: Error when rendering");
+ vdp_st = vdp->
+ output_surface_render_bitmap_surface(output_surface,
+ &target1->dest,
+ vc->osd_surface.surface,
+ &target1->source,
+ &(VdpColor){1, 1, 1, 1},
+ &blend_state_gray,
+ VDP_OUTPUT_SURFACE_RENDER_ROTATE_0);
+ CHECK_ST_WARNING("OSD: Error when rendering");
}
}
@@ -1249,9 +1274,11 @@ static void draw_osd(struct vo *vo, struct osd_state *osd)
if (handle_preemption(vo) < 0)
return;
+ vc->old_osd_count = 0;
osd_draw_text_ext(osd, vo->dwidth, vo->dheight, vc->border_x, vc->border_y,
vc->border_x, vc->border_y, vc->vid_width,
- vc->vid_height, draw_osd_I8A8, vo);
+ vc->vid_height, record_osd, vo);
+ render_old_osd(vo);
}
static int update_presentation_queue_status(struct vo *vo)
@@ -1313,7 +1340,7 @@ static void flip_page_timed(struct vo *vo, unsigned int pts_us, int duration)
else
duration *= 1000;
- if (vc->user_fps < 0)
+ if (vc->vsync_interval == 1)
duration = -1; // Make sure drop logic is disabled
uint64_t now = sync_vdptime(vo);
@@ -1420,7 +1447,7 @@ static struct vdpau_render_state *get_surface(struct vo *vo, int number)
struct vdpctx *vc = vo->priv;
struct vdp_functions *vdp = vc->vdp;
- if (number > MAX_VIDEO_SURFACES)
+ if (number >= MAX_VIDEO_SURFACES)
return NULL;
if (vc->surface_render[number].surface == VDP_INVALID_HANDLE
&& !vc->is_preempted) {
@@ -1477,12 +1504,12 @@ static void draw_image(struct vo *vo, mp_image_t *mpi, double pts)
// warning: the size and pixel format of surface must match that of the
// surfaces in vc->output_surfaces
static struct mp_image *read_output_surface(struct vdpctx *vc,
- VdpOutputSurface surface)
+ VdpOutputSurface surface,
+ int width, int height)
{
VdpStatus vdp_st;
struct vdp_functions *vdp = vc->vdp;
- struct mp_image *image = alloc_mpi(vc->output_surface_width,
- vc->output_surface_height, IMGFMT_BGR32);
+ struct mp_image *image = alloc_mpi(width, height, IMGFMT_BGR32);
void *dst_planes[] = { image->planes[0] };
uint32_t dst_pitches[] = { image->stride[0] };
@@ -1496,14 +1523,22 @@ static struct mp_image *read_output_surface(struct vdpctx *vc,
static struct mp_image *get_screenshot(struct vo *vo)
{
struct vdpctx *vc = vo->priv;
+ VdpStatus vdp_st;
+ struct vdp_functions *vdp = vc->vdp;
- VdpOutputSurface screenshot_surface =
- vc->output_surfaces[vc->num_output_surfaces];
+ if (vc->screenshot_surface == VDP_INVALID_HANDLE) {
+ vdp_st = vdp->output_surface_create(vc->vdp_device,
+ OUTPUT_RGBA_FORMAT,
+ vc->vid_width, vc->vid_height,
+ &vc->screenshot_surface);
+ CHECK_ST_WARNING("Error when calling vdp_output_surface_create");
+ }
VdpRect rc = { .x1 = vc->vid_width, .y1 = vc->vid_height };
- render_video_to_output_surface(vo, screenshot_surface, &rc);
+ render_video_to_output_surface(vo, vc->screenshot_surface, &rc);
- struct mp_image *image = read_output_surface(vc, screenshot_surface);
+ struct mp_image *image = read_output_surface(vc, vc->screenshot_surface,
+ vc->vid_width, vc->vid_height);
image->width = vc->vid_width;
image->height = vc->vid_height;
@@ -1518,7 +1553,9 @@ static struct mp_image *get_window_screenshot(struct vo *vo)
struct vdpctx *vc = vo->priv;
int last_surface = WRAP_ADD(vc->surface_num, -1, vc->num_output_surfaces);
VdpOutputSurface screen = vc->output_surfaces[last_surface];
- struct mp_image *image = read_output_surface(vo->priv, screen);
+ struct mp_image *image = read_output_surface(vo->priv, screen,
+ vc->output_surface_width,
+ vc->output_surface_height);
image->width = image->w = vo->dwidth;
image->height = image->h = vo->dheight;
return image;
@@ -1556,7 +1593,7 @@ static int query_format(uint32_t format)
{
int default_flags = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW
| VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_OSD | VFCAP_EOSD
- | VFCAP_EOSD_UNSCALED | VFCAP_FLIP;
+ | VFCAP_EOSD_UNSCALED | VFCAP_EOSD_RGBA | VFCAP_FLIP;
switch (format) {
case IMGFMT_YV12:
case IMGFMT_I420:
@@ -1597,7 +1634,7 @@ static void destroy_vdpau_objects(struct vo *vo)
"vdp_presentation_queue_target_destroy");
}
- for (i = 0; i <= vc->num_output_surfaces; i++) {
+ for (i = 0; i < vc->num_output_surfaces; i++) {
if (vc->output_surfaces[i] == VDP_INVALID_HANDLE)
continue;
vdp_st = vdp->output_surface_destroy(vc->output_surfaces[i]);
@@ -1609,6 +1646,11 @@ static void destroy_vdpau_objects(struct vo *vo)
CHECK_ST_WARNING("Error when calling vdp_bitmap_surface_destroy");
}
+ if (vc->osd_surface.surface != VDP_INVALID_HANDLE) {
+ vdp_st = vdp->bitmap_surface_destroy(vc->osd_surface.surface);
+ CHECK_ST_WARNING("Error when calling vdp_bitmap_surface_destroy");
+ }
+
vdp_st = vdp->device_destroy(vc->vdp_device);
CHECK_ST_WARNING("Error when calling vdp_device_destroy");
}
@@ -1633,66 +1675,16 @@ static void uninit(struct vo *vo)
static int preinit(struct vo *vo, const char *arg)
{
- int i;
- int user_colorspace = 0;
- int studio_levels = 0;
-
- struct vdpctx *vc = talloc_zero(vo, struct vdpctx);
- vo->priv = vc;
+ struct vdpctx *vc = vo->priv;
// Mark everything as invalid first so uninit() can tell what has been
// allocated
mark_vdpau_objects_uninitialized(vo);
vc->colorspace = (struct mp_csp_details) MP_CSP_DETAILS_DEFAULTS;
- vc->deint_type = 3;
- vc->chroma_deint = 1;
- vc->flip_offset_window = 50;
- vc->flip_offset_fs = 50;
- vc->num_output_surfaces = 3;
vc->video_eq.capabilities = MP_CSP_EQ_CAPS_COLORMATRIX;
- const opt_t subopts[] = {
- {"deint", OPT_ARG_INT, &vc->deint, NULL},
- {"chroma-deint", OPT_ARG_BOOL, &vc->chroma_deint, NULL},
- {"pullup", OPT_ARG_BOOL, &vc->pullup, NULL},
- {"denoise", OPT_ARG_FLOAT, &vc->denoise, NULL},
- {"sharpen", OPT_ARG_FLOAT, &vc->sharpen, NULL},
- {"colorspace", OPT_ARG_INT, &user_colorspace, NULL},
- {"studio", OPT_ARG_BOOL, &studio_levels, NULL},
- {"hqscaling", OPT_ARG_INT, &vc->hqscaling, NULL},
- {"fps", OPT_ARG_FLOAT, &vc->user_fps, NULL},
- {"queuetime_windowed", OPT_ARG_INT, &vc->flip_offset_window, NULL},
- {"queuetime_fs", OPT_ARG_INT, &vc->flip_offset_fs, NULL},
- {"output_surfaces", OPT_ARG_INT, &vc->num_output_surfaces, NULL},
- {NULL}
- };
- if (subopt_parse(arg, subopts) != 0) {
- mp_msg(MSGT_VO, MSGL_FATAL, "[vdpau] Could not parse suboptions.\n");
- return -1;
- }
- if (vc->hqscaling < 0 || vc->hqscaling > 9) {
- mp_msg(MSGT_VO, MSGL_FATAL, "[vdpau] Invalid value for suboption "
- "hqscaling\n");
- return -1;
- }
- if (vc->num_output_surfaces < 2) {
- mp_msg(MSGT_VO, MSGL_FATAL, "[vdpau] Invalid suboption "
- "output_surfaces: can't use less than 2 surfaces\n");
- return -1;
- }
- if (user_colorspace != 0 || studio_levels != 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "[vdpau] \"colorspace\" and \"studio\""
- " suboptions have been removed. Use options --colormatrix and"
- " --colormatrix-output-range=limited instead.\n");
- return -1;
- }
- if (vc->num_output_surfaces > MAX_OUTPUT_SURFACES) {
- mp_msg(MSGT_VO, MSGL_WARN, "[vdpau] Number of output surfaces "
- "is limited to %d.\n", MAX_OUTPUT_SURFACES);
- vc->num_output_surfaces = MAX_OUTPUT_SURFACES;
- }
- if (vc->deint)
- vc->deint_type = FFABS(vc->deint);
+
+ vc->deint_type = vc->deint ? FFABS(vc->deint) : 3;
if (vc->deint < 0)
vc->deint = 0;
@@ -1708,10 +1700,6 @@ static int preinit(struct vo *vo, const char *arg)
return -1;
}
- // full grayscale palette.
- for (i = 0; i < PALETTE_SIZE; ++i)
- vc->palette[i] = (i << 16) | (i << 8) | i;
-
return 0;
}
@@ -1869,6 +1857,9 @@ static int control(struct vo *vo, uint32_t request, void *data)
return VO_NOTIMPL;
}
+#undef OPT_BASE_STRUCT
+#define OPT_BASE_STRUCT struct vdpctx
+
const struct vo_driver video_out_vdpau = {
.is_new = true,
.buffer_frames = true,
@@ -1888,4 +1879,26 @@ const struct vo_driver video_out_vdpau = {
.flip_page_timed = flip_page_timed,
.check_events = check_events,
.uninit = uninit,
+ .privsize = sizeof(struct vdpctx),
+ .options = (const struct m_option []){
+ OPT_INTRANGE("deint", deint, 0, -4, 4),
+ OPT_FLAG_ON("chroma-deint", chroma_deint, 0, OPTDEF_INT(1)),
+ OPT_FLAG_OFF("nochroma-deint", chroma_deint, 0),
+ OPT_MAKE_FLAGS("pullup", pullup, 0),
+ OPT_FLOATRANGE("denoise", denoise, 0, 0, 1),
+ OPT_FLOATRANGE("sharpen", sharpen, 0, -1, 1),
+ OPT_ERRORMESSAGE("colorspace", "vo_vdpau suboption \"colorspace\" has "
+ "been removed. Use --colormatrix instead.\n"),
+ OPT_ERRORMESSAGE("studio", "vo_vdpau suboption \"studio\" has been "
+ "removed. Use --colormatrix-output-range=limited "
+ "instead.\n"),
+ OPT_INTRANGE("hqscaling", hqscaling, 0, 0, 9),
+ OPT_FLOAT("fps", user_fps, 0),
+ OPT_FLAG_ON("composite-detect", composite_detect, 0, OPTDEF_INT(1)),
+ OPT_INT("queuetime_windowed", flip_offset_window, 0, OPTDEF_INT(50)),
+ OPT_INT("queuetime_fs", flip_offset_fs, 0, OPTDEF_INT(50)),
+ OPT_INTRANGE("output_surfaces", num_output_surfaces, 0,
+ 2, MAX_OUTPUT_SURFACES, OPTDEF_INT(3)),
+ {NULL},
+ }
};
diff --git a/libvo/vo_vesa.c b/libvo/vo_vesa.c
deleted file mode 100644
index b9cb60a..0000000
--- a/libvo/vo_vesa.c
+++ /dev/null
@@ -1,1029 +0,0 @@
-/*
- * copyright (C) 2001 Nick Kurshev <nickols_k at mail.ru>
- * This file is partly based on vbetest.c from lrmi distributive.
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/*
- TODO:
- - hw YUV support (need volunteers who have corresponding hardware)
- - triple buffering (if it will really speedup playback).
- note: triple buffering requires VBE 3.0 - need volunteers.
-*/
-#include "config.h"
-#include "mp_msg.h"
-#include "gtf.h"
-#include <stdio.h>
-#if HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <stddef.h>
-#include <limits.h>
-#include <unistd.h>
-#include <pwd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <libavutil/common.h>
-#include <vbe.h>
-
-#include "video_out.h"
-#include "video_out_internal.h"
-
-#include "fastmemcpy.h"
-#include "sub/sub.h"
-#include "libavutil/common.h"
-#include "mpbswap.h"
-#include "aspect.h"
-#include "vesa_lvo.h"
-#include "mp_msg.h"
-
-#include "libswscale/swscale.h"
-#include "libmpcodecs/vf_scale.h"
-
-
-#define MAX_BUFFERS 3
-
-static const vo_info_t info =
-{
- "VESA VBE 2.0 video output",
- "vesa",
- "Nick Kurshev <nickols_k at mail.ru>",
- "Requires ROOT privileges"
-};
-
-LIBVO_EXTERN(vesa)
-
-/* driver data */
-
-struct win_frame
-{
- uint8_t *ptr; /* pointer to window's frame memory */
- uint32_t low; /* lowest boundary of frame */
- uint32_t high; /* highest boundary of frame */
- char idx; /* indicates index of relocatable frame (A=0 or B=1)
- special case for DGA: idx=-1
- idx=-2 indicates invalid frame, exists only in init() */
-};
-
-static void (*cpy_blk_fnc)(unsigned long,uint8_t *,unsigned long) = NULL;
-
-static uint32_t srcW=0,srcH=0,srcBpp,srcFourcc; /* source image description */
-static uint32_t dstBpp,dstW, dstH,dstFourcc; /* destinition image description */
-
-static struct SwsContext * sws = NULL;
-
-static int32_t x_offset,y_offset; /* to center image on screen */
-static unsigned init_mode=0; /* mode before run of mplayer */
-static void *init_state = NULL; /* state before run of mplayer */
-static struct win_frame win; /* real-mode window to video memory */
-static uint8_t *dga_buffer = NULL; /* for yuv2rgb and sw_scaling */
-static unsigned video_mode; /* selected video mode for playback */
-static struct VesaModeInfoBlock video_mode_info;
-static int flip_trigger = 0;
-static void (*draw_alpha_fnc)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride);
-
-/* multibuffering */
-uint8_t* video_base; /* should be never changed */
-uint32_t multi_buff[MAX_BUFFERS]; /* contains offsets of buffers */
-uint8_t multi_size=0; /* total number of buffers */
-uint8_t multi_idx=0; /* active buffer */
-
-/* Linux Video Overlay */
-static const char *lvo_name = NULL;
-static int lvo_opened = 0;
-
-/* Neomagic TV out */
-static int neomagic_tvout = 0;
-static int neomagic_tvnorm = NEO_PAL;
-
-#define HAS_DGA() (win.idx == -1)
-#define MOVIE_MODE (MODE_ATTR_COLOR | MODE_ATTR_GRAPHICS)
-#define FRAME_MODE (MODE_WIN_RELOCATABLE | MODE_WIN_WRITEABLE)
-
-static char * vbeErrToStr(int err)
-{
- char *retval;
- static char sbuff[80];
- if((err & VBE_VESA_ERROR_MASK) == VBE_VESA_ERROR_MASK)
- {
- sprintf(sbuff,"VESA failed = 0x4f%02x",(err & VBE_VESA_ERRCODE_MASK)>>8);
- retval = sbuff;
- }
- else
- switch(err)
- {
- case VBE_OK: retval = "No error"; break;
- case VBE_VM86_FAIL: retval = "vm86() syscall failed"; break;
- case VBE_OUT_OF_DOS_MEM: retval = "Out of DOS memory"; break;
- case VBE_OUT_OF_MEM: retval = "Out of memory"; break;
- case VBE_BROKEN_BIOS: retval = "Broken BIOS or DOS TSR"; break;
- default: sprintf(sbuff,"Unknown or internal error: %i",err); retval=sbuff; break;
- }
- return retval;
-}
-
-#define PRINT_VBE_ERR(name,err) { mp_msg(MSGT_VO,MSGL_WARN, "vo_vesa: %s returns: %s\n",name,vbeErrToStr(err)); fflush(stdout); }
-
-static void vesa_term( void )
-{
- int err;
- if(lvo_opened) { vlvo_term(); lvo_opened = 0; }
- if(init_state) if((err=vbeRestoreState(init_state)) != VBE_OK) PRINT_VBE_ERR("vbeRestoreState",err);
- init_state=NULL;
- if(init_mode) if((err=vbeSetMode(init_mode,NULL)) != VBE_OK) PRINT_VBE_ERR("vbeSetMode",err);
- init_mode=0;
- if(HAS_DGA()) vbeUnmapVideoBuffer((unsigned long)win.ptr,win.high);
- if(dga_buffer && !HAS_DGA()) free(dga_buffer);
- vbeDestroy();
- if(sws) sws_freeContext(sws);
- sws=NULL;
-}
-
-#define VALID_WIN_FRAME(offset) (offset >= win.low && offset < win.high)
-#define VIDEO_PTR(offset) (win.ptr + offset - win.low)
-
-static inline void vbeSwitchBank(unsigned long offset)
-{
- unsigned long gran;
- unsigned new_offset;
- int err;
- gran = video_mode_info.WinGranularity*1024;
- new_offset = offset / gran;
- if(HAS_DGA()) { err = -1; goto show_err; }
- if((err=vbeSetWindow(win.idx,new_offset)) != VBE_OK)
- {
- show_err:
- vesa_term();
- PRINT_VBE_ERR("vbeSetWindow",err);
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] Fatal error occurred! Can't continue.\n");
- abort();
- }
- win.low = new_offset * gran;
- win.high = win.low + video_mode_info.WinSize*1024;
-}
-
-static void vbeSetPixel(int x, int y, int r, int g, int b)
-{
- int x_res = video_mode_info.XResolution;
- int y_res = video_mode_info.YResolution;
- int shift_r = video_mode_info.RedFieldPosition;
- int shift_g = video_mode_info.GreenFieldPosition;
- int shift_b = video_mode_info.BlueFieldPosition;
- int pixel_size = (dstBpp+7)/8;
- int bpl = video_mode_info.BytesPerScanLine;
- int color;
- unsigned offset;
-
- if (x < 0 || x >= x_res || y < 0 || y >= y_res) return;
- r >>= 8 - video_mode_info.RedMaskSize;
- g >>= 8 - video_mode_info.GreenMaskSize;
- b >>= 8 - video_mode_info.BlueMaskSize;
- color = (r << shift_r) | (g << shift_g) | (b << shift_b);
- offset = y * bpl + (x * pixel_size);
- if(!VALID_WIN_FRAME(offset)) vbeSwitchBank(offset);
- memcpy(VIDEO_PTR(offset), &color, pixel_size);
-}
-
-/*
- Copies part of frame to video memory. Data should be in the same format
- as video memory.
-*/
-static void vbeCopyBlockFast(unsigned long offset,uint8_t *image,unsigned long size)
-{
- fast_memcpy(&win.ptr[offset],image,size);
-}
-
-static void vbeCopyBlock(unsigned long offset,uint8_t *image,unsigned long size)
-{
- unsigned long delta,src_idx = 0;
- while(size)
- {
- if(!VALID_WIN_FRAME(offset)) vbeSwitchBank(offset);
- delta = FFMIN(size, win.high - offset);
- fast_memcpy(VIDEO_PTR(offset),&image[src_idx],delta);
- src_idx += delta;
- offset += delta;
- size -= delta;
- }
-}
-
-/*
- Copies frame to video memory. Data should be in the same format as video
- memory.
-*/
-
-#define PIXEL_SIZE() ((dstBpp+7)/8)
-#define SCREEN_LINE_SIZE(pixel_size) (video_mode_info.XResolution*(pixel_size) )
-#define IMAGE_LINE_SIZE(pixel_size) (dstW*(pixel_size))
-
-static void vbeCopyData(uint8_t *image)
-{
- unsigned long i,j,image_offset,offset;
- unsigned pixel_size,image_line_size,screen_line_size,x_shift;
- pixel_size = PIXEL_SIZE();
- screen_line_size = SCREEN_LINE_SIZE(pixel_size);
- image_line_size = IMAGE_LINE_SIZE(pixel_size);
- if(dstW == video_mode_info.XResolution)
- {
- /* Special case for zooming */
- (*cpy_blk_fnc)(y_offset*screen_line_size,image,image_line_size*dstH);
- }
- else
- {
- x_shift = x_offset*pixel_size;
- for(j=0,i=y_offset;j<dstH;i++,j++)
- {
- offset = i*screen_line_size+x_shift;
- image_offset = j*image_line_size;
- (*cpy_blk_fnc)(offset,&image[image_offset],image_line_size);
- }
- }
-}
-
-/* is called for yuv only */
-static int draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y)
-{
- int dstride=HAS_DGA()?video_mode_info.XResolution:dstW;
- uint8_t *dst[MP_MAX_PLANES]={dga_buffer};
- int dstStride[MP_MAX_PLANES]={0};
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: draw_slice was called: w=%u h=%u x=%u y=%u\n",w,h,x,y);
- dstStride[0]=dstride*((dstBpp+7)/8);
- dstStride[1]=
- dstStride[2]=dstStride[0]>>1;
- if(HAS_DGA()) dst[0] += y_offset*SCREEN_LINE_SIZE(PIXEL_SIZE())+x_offset*PIXEL_SIZE();
- sws_scale(sws,image,stride,y,h,dst,dstStride);
- flip_trigger = 1;
- return 0;
-}
-
-/* Please comment it out if you want have OSD within movie */
-/*#define OSD_OUTSIDE_MOVIE 1*/
-
-static void draw_alpha_32(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
- int dstride=HAS_DGA()?video_mode_info.XResolution:dstW;
-#ifndef OSD_OUTSIDE_MOVIE
- if(HAS_DGA())
- {
- x0 += x_offset;
- y0 += y_offset;
- }
-#endif
- vo_draw_alpha_rgb32(w,h,src,srca,stride,dga_buffer+4*(y0*dstride+x0),4*dstride);
-}
-
-static void draw_alpha_24(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
- int dstride=HAS_DGA()?video_mode_info.XResolution:dstW;
-#ifndef OSD_OUTSIDE_MOVIE
- if(HAS_DGA())
- {
- x0 += x_offset;
- y0 += y_offset;
- }
-#endif
- vo_draw_alpha_rgb24(w,h,src,srca,stride,dga_buffer+3*(y0*dstride+x0),3*dstride);
-}
-
-static void draw_alpha_16(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
- int dstride=HAS_DGA()?video_mode_info.XResolution:dstW;
-#ifndef OSD_OUTSIDE_MOVIE
- if(HAS_DGA())
- {
- x0 += x_offset;
- y0 += y_offset;
- }
-#endif
- vo_draw_alpha_rgb16(w,h,src,srca,stride,dga_buffer+2*(y0*dstride+x0),2*dstride);
-}
-
-static void draw_alpha_15(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
- int dstride=HAS_DGA()?video_mode_info.XResolution:dstW;
-#ifndef OSD_OUTSIDE_MOVIE
- if(HAS_DGA())
- {
- x0 += x_offset;
- y0 += y_offset;
- }
-#endif
- vo_draw_alpha_rgb15(w,h,src,srca,stride,dga_buffer+2*(y0*dstride+x0),2*dstride);
-}
-
-static void draw_alpha_null(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
-}
-
-
-static void draw_osd(void)
-{
- uint32_t w,h;
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: draw_osd was called\n");
- {
-#ifdef OSD_OUTSIDE_MOVIE
- w = HAS_DGA()?video_mode_info.XResolution:dstW;
- h = HAS_DGA()?video_mode_info.YResolution:dstH;
-#else
- w = dstW;
- h = dstH;
-#endif
- if(dga_buffer) vo_draw_text(w,h,draw_alpha_fnc);
- }
-}
-
-static void flip_page(void)
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: flip_page was called\n");
- if(flip_trigger)
- {
- if(!HAS_DGA()) vbeCopyData(dga_buffer);
- flip_trigger = 0;
- }
- if(vo_doublebuffering && multi_size > 1)
- {
- int err;
- if((err=vbeSetDisplayStart(multi_buff[multi_idx],vo_vsync)) != VBE_OK)
- {
- vesa_term();
- PRINT_VBE_ERR("vbeSetDisplayStart",err);
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] Fatal error occurred! Can't continue.\n");
- abort();
- }
- multi_idx = multi_idx ? 0 : 1;
- win.ptr = dga_buffer = video_base + multi_buff[multi_idx];
- }
-/*
- else
- if(tripple_buffering)
- {
- vbeSetScheduledDisplayStart(multi_buff[multi_idx],vo_vsync);
- multi_idx++;
- if(multi_idx > 2) multi_idx = 0;
- win.ptr = dga_buffer = video_base + multi_buff[multi_idx];
- }
-*/
-}
-
-/* is called for rgb only */
-static int draw_frame(uint8_t *src[])
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: draw_frame was called\n");
- if(sws)
- {
- int dstride=HAS_DGA()?video_mode_info.XResolution:dstW;
- int srcStride[1];
- uint8_t *dst[MP_MAX_PLANES]={dga_buffer};
- int dstStride[MP_MAX_PLANES]={0};
- dstStride[0]=dstride*((dstBpp+7)/8);
- dstStride[1]=
- dstStride[2]=dstStride[0]>>1;
- if(srcFourcc == IMGFMT_RGB32 || srcFourcc == IMGFMT_BGR32)
- srcStride[0] = srcW*4;
- else
- if(srcFourcc == IMGFMT_RGB24 || srcFourcc == IMGFMT_BGR24)
- srcStride[0] = srcW*3;
- else
- srcStride[0] = srcW*2;
- if(HAS_DGA()) dst[0] += y_offset*SCREEN_LINE_SIZE(PIXEL_SIZE())+x_offset*PIXEL_SIZE();
- sws_scale(sws,src,srcStride,0,srcH,dst,dstStride);
- flip_trigger=1;
- }
- return 0;
-}
-
-#define SUBDEV_NODGA 0x00000001UL
-#define SUBDEV_FORCEDGA 0x00000002UL
-static uint32_t subdev_flags = 0xFFFFFFFEUL;
-static uint32_t parseSubDevice(const char *sd)
-{
- uint32_t flags;
- flags = 0;
- if(strcmp(sd,"nodga") == 0) { flags |= SUBDEV_NODGA; flags &= ~(SUBDEV_FORCEDGA); }
- else
- if(strcmp(sd,"dga") == 0) { flags &= ~(SUBDEV_NODGA); flags |= SUBDEV_FORCEDGA; }
- else
- if(strcmp(sd,"neotv_pal") == 0) { neomagic_tvout = 1; neomagic_tvnorm = NEO_PAL; }
- else
- if(strcmp(sd,"neotv_ntsc") == 0) { neomagic_tvout = 1; neomagic_tvnorm = NEO_NTSC; }
- else
- if(memcmp(sd,"lvo:",4) == 0) lvo_name = &sd[4]; /* lvo_name will be valid within init() */
- else { mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] unknown subdevice: '%s'.\n", sd); return 0xFFFFFFFFUL; }
- return flags;
-}
-
-static int query_format(uint32_t format)
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: query_format was called: %x (%s)\n",format,vo_format_name(format));
- if (format == IMGFMT_MPEGPES)
- return 0;
- // FIXME: this is just broken...
- return VFCAP_CSP_SUPPORTED | VFCAP_OSD | VFCAP_SWSCALE | VFCAP_ACCEPT_STRIDE; /* due new SwScale code */
-}
-
-static void paintBkGnd( void )
-{
- int x_res = video_mode_info.XResolution;
- int y_res = video_mode_info.YResolution;
- int x, y;
-
- for (y = 0; y < y_res; ++y)
- {
- for (x = 0; x < x_res; ++x)
- {
- int r, g, b;
- if ((x & 16) ^ (y & 16))
- {
- r = x * 255 / x_res;
- g = y * 255 / y_res;
- b = 255 - x * 255 / x_res;
- }
- else
- {
- r = 255 - x * 255 / x_res;
- g = y * 255 / y_res;
- b = 255 - y * 255 / y_res;
- }
- vbeSetPixel(x, y, r, g, b);
- }
- }
-}
-
-static void clear_screen( void )
-{
- int x_res = video_mode_info.XResolution;
- int y_res = video_mode_info.YResolution;
- int x, y;
-
- for (y = 0; y < y_res; ++y)
- for (x = 0; x < x_res; ++x)
- vbeSetPixel(x, y, 0, 0, 0);
-}
-
-static char *model2str(unsigned char type)
-{
- char *retval;
- switch(type)
- {
- case memText: retval = "Text"; break;
- case memCGA: retval="CGA"; break;
- case memHercules: retval="Hercules"; break;
- case memPL: retval="Planar"; break;
- case memPK: retval="Packed pixel"; break;
- case mem256: retval="256"; break;
- case memRGB: retval="Direct color RGB"; break;
- case memYUV: retval="Direct color YUV"; break;
- default: retval="Unknown"; break;
- }
- return retval;
-}
-
-static unsigned fillMultiBuffer(unsigned long vsize, unsigned nbuffs)
-{
- unsigned long screen_size, offset;
- unsigned total,i;
- screen_size = video_mode_info.XResolution*video_mode_info.YResolution*((dstBpp+7)/8);
- if(screen_size%64) screen_size=((screen_size/64)*64)+64;
- total = vsize / screen_size;
- if( mp_msg_test(MSGT_VO,MSGL_V) )
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Can use up to %u video buffers\n",total);
- i = 0;
- offset = 0;
- total = FFMIN(total, nbuffs);
- while(i < total) { multi_buff[i++] = offset; offset += screen_size; }
- if(!i)
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] You have too little video memory for this mode:\n[VO_VESA] Required: %08lX present: %08lX.\n", screen_size, vsize);
- return i;
-}
-
-
-static int set_refresh(unsigned x, unsigned y, unsigned mode,struct VesaCRTCInfoBlock *crtc_pass)
-{
- unsigned pixclk;
- float H_freq;
-
- range_t *monitor_hfreq = NULL;
- range_t *monitor_vfreq = NULL;
- range_t *monitor_dotclock = NULL;
-
- monitor_hfreq = str2range(monitor_hfreq_str);
- monitor_vfreq = str2range(monitor_vfreq_str);
- monitor_dotclock = str2range(monitor_dotclock_str);
-
- if (!monitor_hfreq || !monitor_vfreq || !monitor_dotclock) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] You have to specify the capabilities of the monitor. Not changing refresh rate.\n");
- return 0;
- }
-
- H_freq = range_max(monitor_hfreq)/1000;
-
-// printf("H_freq MAX %f\n",H_freq);
-
- do
- {
- H_freq -= 0.01;
- GTF_calcTimings(x,y,H_freq,GTF_HF,0, 0,crtc_pass);
-// printf("PixelCLK %d\n",(unsigned)crtc_pass->PixelClock);
- }
- while ( (!in_range(monitor_vfreq,crtc_pass->RefreshRate/100)||
- !in_range(monitor_hfreq,H_freq*1000))&&(H_freq>0));
-
- pixclk = crtc_pass->PixelClock;
-// printf("PIXclk before %d\n",pixclk);
- vbeGetPixelClock(&mode,&pixclk);
-// printf("PIXclk after %d\n",pixclk);
- GTF_calcTimings(x,y,pixclk/1000000,GTF_PF,0,0,crtc_pass);
-// printf("Flags: %x\n",(unsigned) crtc_pass->Flags);
-/*
- printf("hTotal %d\n",crtc_pass->hTotal);
- printf("hSyncStart %d\n",crtc_pass->hSyncStart);
- printf("hSyncEnd %d\n",crtc_pass->hSyncEnd);
-
- printf("vTotal %d\n",crtc_pass->vTotal);
- printf("vSyncStart %d\n",crtc_pass->vSyncStart);
- printf("vSyncEnd %d\n",crtc_pass->vSyncEnd);
-
- printf("RR %d\n",crtc_pass->RefreshRate);
- printf("PixelCLK %d\n",(unsigned)crtc_pass->PixelClock);*/
-
- if (!in_range(monitor_vfreq,crtc_pass->RefreshRate/100)||
- !in_range(monitor_hfreq,H_freq*1000)) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] The mode does not fit the monitor limits. Not changing refresh rate.\n");
- return 0;
- }
-
- return 1;
-}
-
-/* fullscreen:
- * bit 0 (0x01) means fullscreen (-fs)
- * bit 1 (0x02) means mode switching (-vm)
- * bit 2 (0x04) enables software scaling (-zoom)
- * bit 3 (0x08) enables flipping (-flip) (NK: and for what?)
- */
-
-static int
-config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
-{
- static struct VbeInfoBlock vib;
- static int vib_set;
- struct VesaModeInfoBlock vmib;
- struct VesaCRTCInfoBlock crtc_pass;
- size_t i,num_modes;
- uint32_t w,h;
- unsigned short *mode_ptr,win_seg;
- unsigned bpp,best_x = UINT_MAX,best_y=UINT_MAX,best_mode_idx = UINT_MAX;
- int err,fs_mode,use_scaler=0;
- srcW = dstW = width;
- srcH = dstH = height;
- fs_mode = 0;
- if(subdev_flags == 0xFFFFFFFEUL)
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] Detected internal fatal error: init is called before preinit.\n");
- return -1;
- }
- if(subdev_flags == 0xFFFFFFFFUL) return -1;
- if(flags & VOFLAG_FLIPPING)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] The -flip option is not supported.\n");
- }
- if(flags & VOFLAG_SWSCALE) use_scaler = 1;
- if(flags & VOFLAG_FULLSCREEN)
- {
- if(use_scaler) use_scaler = 2;
- else fs_mode = 1;
- }
- if((err=vbeInit()) != VBE_OK) { PRINT_VBE_ERR("vbeInit",err); return -1; }
- memcpy(vib.VESASignature,"VBE2",4);
- if(!vib_set && (err=vbeGetControllerInfo(&vib)) != VBE_OK)
- {
- PRINT_VBE_ERR("vbeGetControllerInfo",err);
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] Possible reason: No VBE2 BIOS found.\n");
- return -1;
- }
- vib_set = 1;
- /* Print general info here */
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] Found VESA VBE BIOS Version %x.%x Revision: %x.\n",
- (int)(vib.VESAVersion >> 8) & 0xff,
- (int)(vib.VESAVersion & 0xff),
- (int)(vib.OemSoftwareRev & 0xffff));
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] Video memory: %u Kb.\n",vib.TotalMemory*64);
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] VESA Capabilities: %s %s %s %s %s.\n"
- ,vib.Capabilities & VBE_DAC_8BIT ? "8-bit DAC," : "6-bit DAC,"
- ,vib.Capabilities & VBE_NONVGA_CRTC ? "non-VGA CRTC,":"VGA CRTC,"
- ,vib.Capabilities & VBE_SNOWED_RAMDAC ? "snowed RAMDAC,":"normal RAMDAC,"
- ,vib.Capabilities & VBE_STEREOSCOPIC ? "stereoscopic,":"no stereoscopic,"
- ,vib.Capabilities & VBE_STEREO_EVC ? "Stereo EVC":"no stereo");
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] !!! OEM info will be printed below !!!\n");
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] You should see 5 OEM related lines below; If not, you've broken vm86.\n");
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] OEM info: %s.\n",vib.OemStringPtr);
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] OEM Revision: %x.\n",vib.OemSoftwareRev);
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] OEM vendor: %s.\n",vib.OemVendorNamePtr);
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] OEM Product Name: %s.\n",vib.OemProductNamePtr);
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] OEM Product Rev: %s.\n",vib.OemProductRevPtr);
- mp_tmsg(MSGT_VO,MSGL_INFO,
- "[VO_VESA] Hint: For working TV-Out you should have plugged in the TV connector\n"\
- "[VO_VESA] before booting since VESA BIOS initializes itself only during POST.\n");
- /* Find best mode here */
- num_modes = 0;
- mode_ptr = vib.VideoModePtr;
- while(*mode_ptr++ != 0xffff) num_modes++;
- switch(format)
- {
- case IMGFMT_BGR8:
- case IMGFMT_RGB8: bpp = 8; break;
- case IMGFMT_BGR15:
- case IMGFMT_RGB15: bpp = 15; break;
- case IMGFMT_BGR16:
- case IMGFMT_RGB16: bpp = 16; break;
- case IMGFMT_BGR24:
- case IMGFMT_RGB24: bpp = 24; break;
- case IMGFMT_BGR32:
- case IMGFMT_RGB32: bpp = 32; break;
- default: bpp = 16; break;
- }
- srcBpp = bpp;
- srcFourcc = format;
- if(vo_dbpp) bpp = vo_dbpp;
- switch(bpp)
- {
- case 15: draw_alpha_fnc = draw_alpha_15;
- dstFourcc = IMGFMT_BGR15;
- break;
- case 16: draw_alpha_fnc = draw_alpha_16;
- dstFourcc = IMGFMT_BGR16;
- break;
- case 24: draw_alpha_fnc = draw_alpha_24;
- dstFourcc = IMGFMT_BGR24;
- break;
- case 32: draw_alpha_fnc = draw_alpha_32;
- dstFourcc = IMGFMT_BGR32;
- break;
- default: draw_alpha_fnc = draw_alpha_null;
- dstFourcc = IMGFMT_BGR16;
- break;
- }
- if( mp_msg_test(MSGT_VO,MSGL_V) )
- {
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Requested mode: %ux%u@%u (%s)\n",width,height,bpp,vo_format_name(format));
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Total modes found: %u\n",num_modes);
- mode_ptr = vib.VideoModePtr;
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Mode list:");
- for(i = 0;i < num_modes;i++)
- {
- mp_msg(MSGT_VO,MSGL_V, " %04X",mode_ptr[i]);
- }
- mp_msg(MSGT_VO,MSGL_V, "\nvo_vesa: Modes in detail:\n");
- }
- mode_ptr = vib.VideoModePtr;
- if(use_scaler)
- {
- dstW = d_width;
- dstH = d_height;
- }
- if(vo_screenwidth) w = vo_screenwidth;
- else w = FFMAX(dstW, width);
- if(vo_screenheight) h = vo_screenheight;
- else h = FFMAX(dstH, height);
- for(i=0;i < num_modes;i++)
- {
- if((err=vbeGetModeInfo(mode_ptr[i],&vmib)) != VBE_OK)
- {
- PRINT_VBE_ERR("vbeGetModeInfo",err);
- continue;
- }
- if(vmib.XResolution >= w &&
- vmib.YResolution >= h &&
- (vmib.ModeAttributes & MOVIE_MODE) == MOVIE_MODE &&
- vmib.BitsPerPixel == bpp &&
- vmib.MemoryModel == memRGB)
- {
- if(vmib.XResolution <= best_x &&
- vmib.YResolution <= best_y)
- {
- best_x = vmib.XResolution;
- best_y = vmib.YResolution;
- best_mode_idx = i;
- }
- }
- if( mp_msg_test(MSGT_VO,MSGL_V) )
- {
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Mode (%03u): mode=%04X %ux%u@%u attr=%04X\n"
- "vo_vesa: #planes=%u model=%u(%s) #pages=%u\n"
- "vo_vesa: winA=%X(attr=%u) winB=%X(attr=%u) winSize=%u winGran=%u\n"
- "vo_vesa: direct_color=%u DGA_phys_addr=%08lX\n"
- ,i,mode_ptr[i],vmib.XResolution,vmib.YResolution,vmib.BitsPerPixel,vmib.ModeAttributes
- ,vmib.NumberOfPlanes,vmib.MemoryModel,model2str(vmib.MemoryModel),vmib.NumberOfImagePages
- ,vmib.WinASegment,vmib.WinAAttributes,vmib.WinBSegment,vmib.WinBAttributes,vmib.WinSize,vmib.WinGranularity
- ,vmib.DirectColorModeInfo,vmib.PhysBasePtr);
- if(vmib.MemoryModel == 6 || vmib.MemoryModel == 7)
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: direct_color_info = %u:%u:%u:%u\n"
- ,vmib.RedMaskSize,vmib.GreenMaskSize,vmib.BlueMaskSize,vmib.RsvdMaskSize);
- fflush(stdout);
- }
- }
- if(best_mode_idx != UINT_MAX)
- {
- video_mode = vib.VideoModePtr[best_mode_idx];
- fflush(stdout);
- if((err=vbeGetMode(&init_mode)) != VBE_OK)
- {
- PRINT_VBE_ERR("vbeGetMode",err);
- return -1;
- }
- if( mp_msg_test(MSGT_VO,MSGL_V) ) {
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Initial video mode: %x\n",init_mode); }
- if((err=vbeGetModeInfo(video_mode,&video_mode_info)) != VBE_OK)
- {
- PRINT_VBE_ERR("vbeGetModeInfo",err);
- return -1;
- }
- dstBpp = video_mode_info.BitsPerPixel;
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] Using VESA mode (%u) = %x [%ux%u@%u]\n"
- ,best_mode_idx,video_mode,video_mode_info.XResolution
- ,video_mode_info.YResolution,dstBpp);
- if(subdev_flags & SUBDEV_NODGA) video_mode_info.PhysBasePtr = 0;
- if(use_scaler || fs_mode)
- {
- /* software scale */
- if(use_scaler > 1
- )
- {
- aspect_save_orig(width,height);
- aspect_save_prescale(d_width,d_height);
- aspect_save_screenres(video_mode_info.XResolution,video_mode_info.YResolution);
- aspect(&dstW,&dstH,A_ZOOM);
- }
- else
- if(fs_mode)
- {
- dstW = video_mode_info.XResolution;
- dstH = video_mode_info.YResolution;
- }
- use_scaler = 1;
- }
- if(!lvo_name
- )
- {
- sws = sws_getContextFromCmdLine(srcW,srcH,srcFourcc,dstW,dstH,dstFourcc);
- if(!sws)
- {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] Can't initialize software scaler.\n");
- return -1;
- }
- else if( mp_msg_test(MSGT_VO,MSGL_V) ) {
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Using SW BES emulator\n"); }
- }
- if((video_mode_info.WinAAttributes & FRAME_MODE) == FRAME_MODE)
- win.idx = 0; /* frame A */
- else
- if((video_mode_info.WinBAttributes & FRAME_MODE) == FRAME_MODE)
- win.idx = 1; /* frame B */
- else win.idx = -2;
- /* Try use DGA instead */
- if(video_mode_info.PhysBasePtr && vib.TotalMemory && (video_mode_info.ModeAttributes & MODE_ATTR_LINEAR))
- {
- void *lfb;
- unsigned long vsize;
- vsize = vib.TotalMemory*64*1024;
- lfb = vbeMapVideoBuffer(video_mode_info.PhysBasePtr,vsize);
- if(lfb == NULL)
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] Can't use DGA. Force bank switching mode. :(\n");
- else
- {
- video_base = win.ptr = lfb;
- win.low = 0UL;
- win.high = vsize;
- win.idx = -1; /* HAS_DGA() is on */
- video_mode |= VESA_MODE_USE_LINEAR;
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] Using DGA (physical resources: %08lXh, %08lXh)"
- ,video_mode_info.PhysBasePtr
- ,vsize);
- if( mp_msg_test(MSGT_VO,MSGL_V) ) {
- printf(" at %08lXh",(unsigned long)lfb); }
- printf("\n");
- if(!(multi_size = fillMultiBuffer(vsize,2))) return -1;
- if(vo_doublebuffering && multi_size < 2)
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] Can't use double buffering: not enough video memory.\n");
- }
- }
- if(win.idx == -2)
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] Can find neither DGA nor relocatable window frame.\n");
- return -1;
- }
- if(!HAS_DGA())
- {
- if(subdev_flags & SUBDEV_FORCEDGA)
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] You've forced DGA. Exiting\n");
- return -1;
- }
- if(!(win_seg = win.idx == 0 ? video_mode_info.WinASegment:video_mode_info.WinBSegment))
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] Can't find valid window address.\n");
- return -1;
- }
- win.ptr = PhysToVirtSO(win_seg,0);
- win.low = 0L;
- win.high= video_mode_info.WinSize*1024;
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] Using bank switching mode (physical resources: %08lXh, %08lXh).\n"
- ,(unsigned long)win.ptr,(unsigned long)win.high);
- }
- if(video_mode_info.XResolution > dstW)
- x_offset = (video_mode_info.XResolution - dstW) / 2;
- else x_offset = 0;
- if(video_mode_info.YResolution > dstH)
- y_offset = (video_mode_info.YResolution - dstH) / 2;
- else y_offset = 0;
- if( mp_msg_test(MSGT_VO,MSGL_V) )
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: image: %ux%u screen = %ux%u x_offset = %u y_offset = %u\n"
- ,dstW,dstH
- ,video_mode_info.XResolution,video_mode_info.YResolution
- ,x_offset,y_offset);
- if(HAS_DGA())
- {
- dga_buffer = win.ptr; /* Trickly ;) */
- cpy_blk_fnc = vbeCopyBlockFast;
- }
- else
- {
- cpy_blk_fnc = vbeCopyBlock;
- if(!lvo_name
- )
- {
- if(!(dga_buffer = memalign(64,video_mode_info.XResolution*video_mode_info.YResolution*dstBpp)))
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] Can't allocate temporary buffer.\n");
- return -1;
- }
- if( mp_msg_test(MSGT_VO,MSGL_V) ) {
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: dga emulator was allocated = %p\n",dga_buffer); }
- }
- }
- if((err=vbeSaveState(&init_state)) != VBE_OK)
- {
- PRINT_VBE_ERR("vbeSaveState",err);
- }
-
- /* TODO:
- user might pass refresh value,
- GTF constants might be read from monitor
- for best results, I don't have a spec (RM)
- */
-
- if (((int)(vib.VESAVersion >> 8) & 0xff) > 2) {
-
- if (set_refresh(video_mode_info.XResolution,video_mode_info.YResolution,video_mode,&crtc_pass))
- video_mode = video_mode | 0x800;
-
- }
-
- ;
-
- if ((err=vbeSetMode(video_mode,&crtc_pass)) != VBE_OK)
- {
- PRINT_VBE_ERR("vbeSetMode",err);
- return -1;
- }
-
- if (neomagic_tvout) {
- err = vbeSetTV(video_mode,neomagic_tvnorm);
- if (err!=0x4f) {
- mp_tmsg(MSGT_VO,MSGL_WARN, "[VO_VESA] Sorry, unsupported mode -- try -x 640 -zoom.\n");
- }
- else {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] Oh you really have a picture on the TV!\n");
- }
- }
- /* Now we are in video mode!!!*/
- /* Below 'return -1' is impossible */
- if( mp_msg_test(MSGT_VO,MSGL_V) )
- {
- mp_msg(MSGT_VO,MSGL_V, "vo_vesa: Graphics mode was activated\n");
- fflush(stdout);
- }
- if(lvo_name)
- {
- if(vlvo_init(width,height,x_offset,y_offset,dstW,dstH,format,dstBpp) != 0)
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] Can't initialize Linux Video Overlay.\n");
- vesa_term();
- return -1;
- }
- else mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] Using video overlay: %s.\n",lvo_name);
- lvo_opened = 1;
- }
- }
- else
- {
- mp_tmsg(MSGT_VO,MSGL_ERR, "[VO_VESA] Can't find mode for: %ux%u@%u.\n",width,height,bpp);
- return -1;
- }
- if( mp_msg_test(MSGT_VO,MSGL_V) )
- {
- mp_tmsg(MSGT_VO,MSGL_INFO, "[VO_VESA] VESA initialization complete.\n");
- fflush(stdout);
- }
- if(HAS_DGA() && vo_doublebuffering)
- {
- if (VBE_OK != vbeSetDisplayStart(0, vo_vsync))
- {
- mp_msg(MSGT_VO,MSGL_WARN, "[VO_VESA] Can't use double buffering: changing displays failed.\n");
- multi_size = 1;
- }
- for(i=0;i<multi_size;i++)
- {
- win.ptr = dga_buffer = video_base + multi_buff[i];
- clear_screen(); /* Clear screen for stupid BIOSes */
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) ) paintBkGnd();
- }
- }
- else
- {
- clear_screen(); /* Clear screen for stupid BIOSes */
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) )
- {
- int x;
- x = (video_mode_info.XResolution/video_mode_info.XCharSize)/2-strlen(title)/2;
- if(x < 0) x = 0;
- paintBkGnd();
- vbeWriteString(x,0,7,title);
- }
- }
- return 0;
-}
-
-static void
-uninit(void)
-{
- // not initialized
- vesa_term();
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: uninit was called\n");
-}
-
-
-static void check_events(void)
-{
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: check_events was called\n");
-/* Nothing to do */
-}
-
-static int preinit(const char *arg)
-{
- int pre_init_err = 0;
- int fd;
- if( mp_msg_test(MSGT_VO,MSGL_DBG2) )
- mp_msg(MSGT_VO,MSGL_DBG2, "vo_vesa: preinit(%s) was called\n",arg);
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_vesa: subdevice %s is being initialized\n",arg);
- subdev_flags = 0;
- lvo_name = NULL;
- if(arg) subdev_flags = parseSubDevice(arg);
- if(lvo_name) pre_init_err = vlvo_preinit(lvo_name);
- // check if we can open /dev/mem (it will be opened later in config(), but if we
- // detect now that we can't we can exit cleanly)
- fd = open("/dev/mem", O_RDWR);
- if (fd < 0)
- return -1;
- else
- close(fd);
- if( mp_msg_test(MSGT_VO,MSGL_DBG3) )
- mp_msg(MSGT_VO,MSGL_DBG3, "vo_subdevice: initialization returns: %i\n",pre_init_err);
- return pre_init_err;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- }
-
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_wii.c b/libvo/vo_wii.c
deleted file mode 100644
index b7c07fc..0000000
--- a/libvo/vo_wii.c
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * Video driver for Nintendo Wii/GameCube Framebuffer device
- *
- * Copyright (C) 2008 Jing Liu <fatersh-1 at yahoo.com>
- *
- * Maintainer: Benjamin Zores <ben at geexbox.org>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/*
- * This driver handles dedicated ATI GPU, which can be found in:
- * - Nintendo GameCube (ATI LSI Flipper @ 162 MHz)
- * - Nintendo Wii (ATI Hollywood @ 243 MHz)
- *
- * Flipper and Hollywood chipsets are pretty similar, except from clock speed:
- * - Embedded framebuffer is 2MB.
- * - Texture cache is 1MB.
- * - Vertex cache is 0.1 MB.
- * - Framebuffer is YUY2, not RGB.
- * - Best resolution is 480p (854x480)
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <ctype.h>
-
-#include <sys/mman.h>
-#include <sys/ioctl.h>
-#include <sys/kd.h>
-#include <linux/fb.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "sub/sub.h"
-#include "mp_msg.h"
-
-static const vo_info_t info = {
- "Nintendo Wii/GameCube Framebuffer Device",
- "wii",
- "Jing Liu <fartersh-1 at yahoo.com>",
- ""
-};
-
-const LIBVO_EXTERN(wii)
-
-static signed int pre_init_err = -2;
-
-static char *fb_dev_name = NULL;
-
-static FILE *vt_fp = NULL;
-static int vt_doit = 1;
-
-static int fb_dev_fd;
-static int fb_tty_fd = -1;
-static size_t fb_size;
-static uint8_t *frame_buffer;
-static uint8_t *center;
-static struct fb_var_screeninfo fb_orig_vinfo;
-static struct fb_var_screeninfo fb_vinfo;
-static int fb_pixel_size; // 32: 4 24: 3 16: 2 15: 2
-static int fb_line_len;
-static int in_width;
-static int in_height;
-static int out_width;
-static int out_height;
-static int fs;
-
-static int fb_preinit(int reset)
-{
- static int fb_preinit_done = 0;
- static int fb_works = 0;
-
- if (reset) {
- fb_preinit_done = 0;
- return 0;
- }
-
- if (fb_preinit_done)
- return fb_works;
-
- if (!fb_dev_name && !(fb_dev_name = getenv("FRAMEBUFFER")))
- fb_dev_name = strdup("/dev/fb0");
- mp_msg(MSGT_VO, MSGL_V, "using %s\n", fb_dev_name);
-
- if ((fb_dev_fd = open(fb_dev_name, O_RDWR)) == -1) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't open %s: %s\n", fb_dev_name, strerror(errno));
- goto err_out;
- }
- if (ioctl(fb_dev_fd, FBIOGET_VSCREENINFO, &fb_vinfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't get VSCREENINFO: %s\n", strerror(errno));
- goto err_out_fd;
- }
- fb_orig_vinfo = fb_vinfo;
-
- if ((fb_tty_fd = open("/dev/tty", O_RDWR)) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "notice: Can't open /dev/tty: %s\n", strerror(errno));
- goto err_out_fd;
- }
-
- fb_preinit_done = 1;
- fb_works = 1;
- return 1;
-
- err_out_fd:
- close(fb_dev_fd);
- fb_dev_fd = -1;
- err_out:
- fb_preinit_done = 1;
- fb_works = 0;
-
- return 0;
-}
-
-static void vt_set_textarea(int u, int l)
-{
- /* how can I determine the font height?
- * just use 16 for now
- */
- int urow = ((u + 15) / 16) + 1;
- int lrow = l / 16;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "vt_set_textarea(%d, %d): %d,%d\n", u, l, urow, lrow);
-
- if (vt_fp) {
- fprintf(vt_fp, "\33[%d;%dr\33[%d;%dH", urow, lrow, lrow, 0);
- fflush(vt_fp);
- }
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format)
-{
- struct fb_fix_screeninfo fb_finfo;
- uint32_t black = 0x00800080;
- long temp;
- int vt_fd;
-
- fs = flags & VOFLAG_FULLSCREEN;
-
- if (pre_init_err == -2) {
- mp_msg(MSGT_VO, MSGL_ERR, "Internal fatal error: config() was called before preinit()\n");
- return -1;
- }
-
- if (pre_init_err)
- return 1;
-
- in_width = width;
- in_height = height;
-
- out_width = (d_width && fs) ? d_width : width;
- out_height = (d_width && fs) ? d_height : height;
-
- fb_vinfo.xres_virtual = fb_vinfo.xres;
- fb_vinfo.yres_virtual = fb_vinfo.yres;
-
- if (fb_tty_fd >= 0 && ioctl(fb_tty_fd, KDSETMODE, KD_GRAPHICS) < 0) {
- mp_msg(MSGT_VO, MSGL_V, "Can't set graphics mode: %s\n", strerror(errno));
- close(fb_tty_fd);
- fb_tty_fd = -1;
- }
-
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't put VSCREENINFO: %s\n", strerror(errno));
- if (fb_tty_fd >= 0 && ioctl(fb_tty_fd, KDSETMODE, KD_TEXT) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't restore text mode: %s\n", strerror(errno));
- }
- return 1;
- }
-
- fb_pixel_size = 2;
-
- if (fs) {
- out_width = fb_vinfo.xres;
- out_height = fb_vinfo.yres;
- }
- if (out_width < in_width || out_height < in_height) {
- mp_msg(MSGT_VO, MSGL_ERR, "screensize is smaller than video size\n");
- return 1;
- }
-
- if (ioctl(fb_dev_fd, FBIOGET_FSCREENINFO, &fb_finfo)) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't get FSCREENINFO: %s\n", strerror(errno));
- return 1;
- }
-
- if (fb_finfo.type != FB_TYPE_PACKED_PIXELS) {
- mp_msg(MSGT_VO, MSGL_ERR, "type %d not supported\n", fb_finfo.type);
- return 1;
- }
-
- fb_line_len = fb_finfo.line_length;
- fb_size = fb_finfo.smem_len;
-
- frame_buffer = (uint8_t *) mmap(0, fb_size, PROT_READ | PROT_WRITE,
- MAP_SHARED, fb_dev_fd, 0);
- if (frame_buffer == (uint8_t *) -1) {
- mp_msg(MSGT_VO, MSGL_ERR, "Can't mmap %s: %s\n", fb_dev_name, strerror(errno));
- return 1;
- }
-
- center = frame_buffer +
- ((out_width - in_width) / 2) * fb_pixel_size +
- ((out_height - in_height) / 2) * fb_line_len;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "frame_buffer @ %p\n", frame_buffer);
- mp_msg(MSGT_VO, MSGL_DBG2, "center @ %p\n", center);
- mp_msg(MSGT_VO, MSGL_V, "pixel per line: %d\n", fb_line_len / fb_pixel_size);
-
- /* blanking screen */
- for (temp = 0; temp < fb_size; temp += 4)
- memcpy(frame_buffer + temp, (void *) &black, 4);
-
- if (vt_doit && (vt_fd = open("/dev/tty", O_WRONLY)) == -1) {
- mp_msg(MSGT_VO, MSGL_ERR, "can't open /dev/tty: %s\n", strerror(errno));
- vt_doit = 0;
- }
- if (vt_doit && !(vt_fp = fdopen(vt_fd, "w"))) {
- mp_msg(MSGT_VO, MSGL_ERR, "can't fdopen /dev/tty: %s\n", strerror(errno));
- vt_doit = 0;
- }
-
- if (vt_doit)
- vt_set_textarea((out_height + in_height) / 2, fb_vinfo.yres);
-
- return 0;
-}
-
-static int query_format(uint32_t format)
-{
- if (!fb_preinit(0))
- return 0;
-
- if (format != IMGFMT_YUY2)
- return 0;
-
- return VFCAP_ACCEPT_STRIDE | VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW;
-}
-
-static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src,
- unsigned char *srca, int stride)
-{
- unsigned char *dst;
-
- dst = center + fb_line_len * y0 + fb_pixel_size * x0;
-
- vo_draw_alpha_yuy2(w, h, src, srca, stride, dst, fb_line_len);
-}
-
-static int draw_frame(uint8_t *src[])
-{
- return 1;
-}
-
-static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)
-{
- uint8_t *d, *s;
-
- d = center + fb_line_len * y + fb_pixel_size * x;
-
- s = src[0];
- while (h) {
- memcpy(d, s, w * fb_pixel_size);
- d += fb_line_len;
- s += stride[0];
- h--;
- }
-
- return 0;
-}
-
-static void check_events(void)
-{
-}
-
-static void flip_page(void)
-{
-}
-
-static void draw_osd(void)
-{
- vo_draw_text(in_width, in_height, draw_alpha);
-}
-
-static void uninit(void)
-{
- if (ioctl(fb_dev_fd, FBIOGET_VSCREENINFO, &fb_vinfo))
- mp_msg(MSGT_VO, MSGL_WARN, "ioctl FBIOGET_VSCREENINFO: %s\n", strerror(errno));
- fb_orig_vinfo.xoffset = fb_vinfo.xoffset;
- fb_orig_vinfo.yoffset = fb_vinfo.yoffset;
- if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_orig_vinfo))
- mp_msg(MSGT_VO, MSGL_WARN, "Can't reset original fb_var_screeninfo: %s\n", strerror(errno));
- if (fb_tty_fd >= 0) {
- if (ioctl(fb_tty_fd, KDSETMODE, KD_TEXT) < 0)
- mp_msg(MSGT_VO, MSGL_WARN, "Can't restore text mode: %s\n", strerror(errno));
- }
- if (vt_doit)
- vt_set_textarea(0, fb_orig_vinfo.yres);
- close(fb_tty_fd);
- close(fb_dev_fd);
- if (frame_buffer)
- munmap(frame_buffer, fb_size);
- frame_buffer = NULL;
- fb_preinit(1);
-}
-
-static int preinit(const char *vo_subdevice)
-{
- pre_init_err = 0;
-
- if (!pre_init_err)
- return pre_init_err = (fb_preinit(0) ? 0 : -1);
- return -1;
-}
-
-static uint32_t get_image(mp_image_t *mpi)
-{
- if (((mpi->type != MP_IMGTYPE_STATIC) && (mpi->type != MP_IMGTYPE_TEMP)) ||
- (mpi->flags & MP_IMGFLAG_PLANAR) ||
- (mpi->flags & MP_IMGFLAG_YUV) ||
- (mpi->width != in_width) ||
- (mpi->height != in_height)
- )
- return VO_FALSE;
-
- mpi->planes[0] = center;
- mpi->stride[0] = fb_line_len;
- mpi->flags |= MP_IMGFLAG_DIRECT;
-
- return VO_TRUE;
-}
-
-static int control(uint32_t request, void *data)
-{
- if (request == VOCTRL_GET_IMAGE)
- return get_image(data);
- else if (request == VOCTRL_QUERY_FORMAT)
- return query_format(*((uint32_t*) data));
-
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c
index 9be47c9..03f73de 100644
--- a/libvo/vo_x11.c
+++ b/libvo/vo_x11.c
@@ -611,10 +611,8 @@ static int query_format(uint32_t format)
static void uninit(void)
{
- if (!myximage)
- return;
-
- freeMyXImage();
+ if (myximage)
+ freeMyXImage();
#ifdef CONFIG_XF86VM
vo_vm_close();
diff --git a/libvo/vo_xmga.c b/libvo/vo_xmga.c
deleted file mode 100644
index cc6cd1c..0000000
--- a/libvo/vo_xmga.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * copyright (C) 2001 Zoltan Ponekker
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-//#define SHOW_TIME
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "config.h"
-
-#include "video_out.h"
-#include "video_out_internal.h"
-
-
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#include "drivers/mga_vid.h"
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <errno.h>
-
-#ifdef CONFIG_XINERAMA
-#include <X11/extensions/Xinerama.h>
-#endif
-
-#include "x11_common.h"
-#include "sub/sub.h"
-#include "aspect.h"
-
-#ifdef SHOW_TIME
-#include "osdep/timer.h"
-static unsigned int timer = 0;
-static unsigned int timerd = 0;
-#endif
-
-static const vo_info_t info = {
- "Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid)",
- "xmga",
- "Zoltan Ponekker <pontscho at makacs.poliod.hu>",
- ""
-};
-
-const LIBVO_EXTERN(xmga)
-
-static uint32_t mDepth;
-static XWindowAttributes attribs;
-static int colorkey;
-
-static uint32_t mvHeight;
-static uint32_t mvWidth;
-
-static XSetWindowAttributes xWAttribs;
-
-static int initialized = 0;
-
-#define VO_XMGA
-#include "mga_template.c"
-#undef VO_XMGA
-
-static void mDrawColorKey(void)
-{
- XSetBackground(mDisplay, vo_gc, 0);
- XClearWindow(mDisplay, vo_window);
- XSetForeground(mDisplay, vo_gc, colorkey);
- XFillRectangle(mDisplay, vo_window, vo_gc, drwX, drwY, drwWidth,
- (vo_fs ? drwHeight - 1 : drwHeight));
- XFlush(mDisplay);
-}
-
-static void check_events(void)
-{
- int e = vo_x11_check_events(mDisplay);
-
- if (e & (VO_EVENT_RESIZE | VO_EVENT_MOVE))
- set_window();
- if (e & (VO_EVENT_RESIZE | VO_EVENT_EXPOSE))
- mDrawColorKey();
-}
-
-static void flip_page(void)
-{
-#ifdef SHOW_TIME
- unsigned int t;
-
- t = GetTimer();
- mp_msg(MSGT_VO, MSGL_STATUS,
- " [timer: %08X diff: %6d dd: %6d ] \n", t, t - timer,
- (t - timer) - timerd);
- timerd = t - timer;
- timer = t;
-#endif
-
- vo_mga_flip_page();
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format)
-{
- XVisualInfo vinfo;
- unsigned long xswamask;
- int r, g, b;
-
- if (mga_init(width, height, format))
- return -1; // ioctl errors?
-
- mvWidth = width;
- mvHeight = height;
-
- r = (vo_colorkey & 0x00ff0000) >> 16;
- g = (vo_colorkey & 0x0000ff00) >> 8;
- b = vo_colorkey & 0x000000ff;
- switch (vo_depthonscreen)
- {
- case 32:
- colorkey = vo_colorkey;
- break;
- case 24:
- colorkey = vo_colorkey & 0x00ffffff;
- break;
- case 16:
- colorkey = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3);
- break;
- case 15:
- colorkey = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3);
- break;
- default:
- mp_msg(MSGT_VO, MSGL_ERR,
- "Sorry, this (%d) color depth not supported.\n",
- vo_depthonscreen);
- return -1;
- }
- mp_msg(MSGT_VO, MSGL_V, "Using colorkey: %x\n", colorkey);
-
- initialized = 1;
-
- XGetWindowAttributes(mDisplay, mRootWin, &attribs);
- mDepth = attribs.depth;
- if (mDepth != 15 && mDepth != 16 && mDepth != 24 && mDepth != 32)
- mDepth = 24;
- XMatchVisualInfo(mDisplay, mScreen, mDepth, TrueColor, &vinfo);
- xWAttribs.colormap =
- XCreateColormap(mDisplay, mRootWin, vinfo.visual, AllocNone);
- xWAttribs.background_pixel = 0;
- xWAttribs.border_pixel = 0;
- xswamask = CWBackPixel | CWBorderPixel | CWColormap;
-
- vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy, d_width, d_height,
- flags, xWAttribs.colormap, "xmga", title);
- XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xWAttribs);
-
- mga_vid_config.colkey_on = 1;
- mga_vid_config.colkey_red = r;
- mga_vid_config.colkey_green = g;
- mga_vid_config.colkey_blue = b;
-
- set_window(); // set up mga_vid_config.dest_width etc
-
- XSync(mDisplay, False);
-
- ioctl(f, MGA_VID_ON, 0);
-
- return 0;
-}
-
-static void uninit(void)
-{
- mp_msg(MSGT_VO, MSGL_V, "vo: uninit!\n");
- mga_uninit();
- if (!initialized)
- return; // no window?
- initialized = 0;
- vo_x11_uninit(); // destroy the window
-}
diff --git a/libvo/vo_xover.c b/libvo/vo_xover.c
deleted file mode 100644
index 644e999..0000000
--- a/libvo/vo_xover.c
+++ /dev/null
@@ -1,427 +0,0 @@
-/*
- * XOver a general x11 vo for MPlayer overlay drivers based on:
- * VIDIX-accelerated overlay in an X window
- *
- * copyright (C) Alex Beregszaszi & Zoltan Ponekker & Nick Kurshev
- *
- * WS window manager by Pontscho/Fresh!
- *
- * based on vo_gl.c and vo_vesa.c and vo_xmga.c (.so mastah! ;))
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <errno.h>
-#include <unistd.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-//#include <X11/keysym.h>
-
-#ifdef CONFIG_XINERAMA
-#include <X11/extensions/Xinerama.h>
-#endif
-
-#include "x11_common.h"
-#include "aspect.h"
-#include "mp_msg.h"
-
-
-static const vo_info_t info =
-{
- "General X11 driver for overlay capable video output drivers",
- "xover",
- "Albeu",
- ""
-};
-
-LIBVO_EXTERN(xover)
-
-/* X11 related variables */
-/* Colorkey handling */
-static int colorkey;
-
-/* Image parameters */
-static uint32_t image_width;
-static uint32_t image_height;
-static uint32_t image_format;
-
-/* Window parameters */
-static uint32_t window_x, window_y;
-static uint32_t window_width, window_height;
-
-/* used by XGetGeometry & XTranslateCoordinates for moving/resizing window */
-static uint32_t drwX, drwY, drwWidth, drwHeight, drwBorderWidth,
- drwDepth, drwcX, drwcY, dwidth, dheight;
-
-static const struct vo_old_functions *sub_vo = NULL;
-static const struct vo_info_s *sub_info;
-
-static void set_window(int force_update)
-{
- Window mRoot;
- if ( WinID )
- {
- XGetGeometry(mDisplay, vo_window, &mRoot, &drwX, &drwY, &drwWidth,
- &drwHeight, &drwBorderWidth, &drwDepth);
- drwX = drwY = 0;
-
- XTranslateCoordinates(mDisplay, vo_window, mRoot, 0, 0,
- &drwcX, &drwcY, &mRoot);
- aspect(&dwidth,&dheight,A_NOZOOM);
- if (!vo_fs)
- mp_msg(MSGT_VO, MSGL_V, "[xvidix] dcx: %d dcy: %d dx: %d dy: %d dw: %d dh: %d\n",
- drwcX, drwcY, drwX, drwY, drwWidth, drwHeight);
-
- /* following stuff copied from vo_xmga.c */
- }
- else
- {
- aspect(&dwidth,&dheight,A_NOZOOM);
- drwcX=drwX=vo_dx; drwcY=drwY=vo_dy; drwWidth=vo_dwidth; drwHeight=vo_dheight;
- }
-
-#if X11_FULLSCREEN
- if (vo_fs)
- {
- aspect(&dwidth,&dheight,A_ZOOM);
- drwX = (vo_screenwidth - ((int)dwidth > vo_screenwidth ? vo_screenwidth : dwidth)) / 2;
- drwcX = drwX;
- drwY = (vo_screenheight - ((int)dheight > vo_screenheight ? vo_screenheight : dheight)) / 2;
- drwcY = drwY;
- drwWidth = ((int)dwidth > vo_screenwidth ? vo_screenwidth : dwidth);
- drwHeight = ((int)dheight > vo_screenheight ? vo_screenheight : dheight);
- mp_msg(MSGT_VO, MSGL_V, "[xvidix-fs] dcx: %d dcy: %d dx: %d dy: %d dw: %d dh: %d\n",
- drwcX, drwcY, drwX, drwY, drwWidth, drwHeight);
- }
-#endif
-
- vo_dwidth=drwWidth; vo_dheight=drwHeight;
-
-#ifdef CONFIG_XINERAMA
- if (XineramaIsActive(mDisplay))
- {
- XineramaScreenInfo *screens;
- int num_screens;
- int i = 0;
-
- screens = XineramaQueryScreens(mDisplay, &num_screens);
-
- /* find the screen we are on */
- while (i<num_screens &&
- ((screens[i].x_org < (int)drwcX) ||
- (screens[i].y_org < (int)drwcY) ||
- (screens[i].x_org + screens[i].width >= (int)drwcX) ||
- (screens[i].y_org + screens[i].height >= (int)drwcY)))
- {
- i++;
- }
-
- if(i<num_screens)
- {
- /* save the screen we are on */
- xinerama_screen = i;
- } else {
- /* oops.. couldnt find the screen we are on
- * because the upper left corner left the
- * visual range. assume we are still on the
- * same screen
- */
- i = xinerama_screen;
- }
-
- /* set drwcX and drwcY to the right values */
- drwcX = drwcX - screens[i].x_org;
- drwcY = drwcY - screens[i].y_org;
- XFree(screens);
- }
-#endif
-
- if ( vo_panscan > 0.0f && vo_fs )
- {
- drwcX-=vo_panscan_x >> 1;
- drwcY-=vo_panscan_y >> 1;
- drwX-=vo_panscan_x >> 1;
- drwY-=vo_panscan_y >> 1;
- drwWidth+=vo_panscan_x;
- drwHeight+=vo_panscan_y;
- }
-
- /* set new values in VIDIX */
- if (force_update || (window_x != drwcX) || (window_y != drwcY) ||
- (window_width != drwWidth) || (window_height != drwHeight))
- {
- mp_win_t w;
- // do a backup of window coordinates
- w.x = window_x = drwcX;
- w.y = window_y = drwcY;
- vo_dx = drwcX;
- vo_dy = drwcY;
- w.w = window_width = drwWidth;
- w.h = window_height = drwHeight;
-
- if(sub_vo->control(VOCTRL_XOVERLAY_SET_WIN,&w) != VO_TRUE)
- mp_msg(MSGT_VO, MSGL_ERR, "xvidx: set_overlay failed\n");
-
- mp_msg(MSGT_VO, MSGL_V, "[xvidix] window properties: pos: %dx%d, size: %dx%d\n", vo_dx, vo_dy, window_width, window_height);
- }
-
- /* mDrawColorKey: */
-
- /* fill drawable with specified color */
- XSetBackground(mDisplay, vo_gc, 0L);
- XClearWindow( mDisplay,vo_window );
- XSetForeground(mDisplay, vo_gc, colorkey);
- XFillRectangle(mDisplay, vo_window, vo_gc, drwX, drwY, drwWidth,
- (vo_fs ? drwHeight - 1 : drwHeight));
-
- /* flush, update drawable */
- XFlush(mDisplay);
-
- return;
-}
-
-/* connect to server, create and map window,
- * allocate colors and (shared) memory
- */
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title, uint32_t format)
-{
- XVisualInfo vinfo;
- // XSizeHints hint;
- XSetWindowAttributes xswa;
- unsigned long xswamask;
- XWindowAttributes attribs;
- int window_depth, r, g, b;
- mp_colorkey_t colork;
- char _title[255];
-
- sprintf(_title,"MPlayer %s X11 Overlay", sub_info->name);
- title = _title;
-
- panscan_init();
-
- image_height = height;
- image_width = width;
- image_format = format;
-
- aspect_save_orig(width, height);
- aspect_save_prescale(d_width, d_height);
- update_xinerama_info();
-
- window_width = d_width;
- window_height = d_height;
-
- r = (vo_colorkey & 0x00ff0000) >> 16;
- g = (vo_colorkey & 0x0000ff00) >> 8;
- b = vo_colorkey & 0x000000ff;
- switch(vo_depthonscreen)
- {
- case 32:
- colorkey = vo_colorkey;
- break;
- case 24:
- colorkey = vo_colorkey & 0x00ffffff;
- break;
- case 16:
- colorkey = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3);
- break;
- case 15:
- colorkey = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3);
- break;
- default:
- mp_msg(MSGT_VO, MSGL_ERR, "Sorry, this (%d) color depth is not supported\n",
- vo_depthonscreen);
- }
- mp_msg(MSGT_VO, MSGL_V, "Using colorkey: %x\n", colorkey);
-
- aspect(&d_width, &d_height, A_NOZOOM);
-
- vo_dx=( vo_screenwidth - d_width ) / 2; vo_dy=( vo_screenheight - d_height ) / 2;
- vo_dx += xinerama_x;
- vo_dy += xinerama_y;
- vo_dwidth=d_width; vo_dheight=d_height;
-
-#ifdef X11_FULLSCREEN
- if ( ( flags&VOFLAG_FULLSCREEN )||(flags & VOFLAG_SWSCALE) ) aspect(&d_width, &d_height, A_ZOOM);
-#endif
- dwidth = d_width;
- dheight = d_height;
- /* Make the window */
- XGetWindowAttributes(mDisplay, DefaultRootWindow(mDisplay), &attribs);
-
- /* from vo_x11 */
- window_depth = attribs.depth;
- if ((window_depth != 15) && (window_depth != 16) && (window_depth != 24)
- && (window_depth != 32))
- window_depth = 24;
- XMatchVisualInfo(mDisplay, mScreen, window_depth, TrueColor, &vinfo);
-
- xswa.background_pixel = BlackPixel(mDisplay, mScreen);
- xswa.border_pixel = 0;
- xswa.colormap = XCreateColormap(mDisplay, RootWindow(mDisplay, mScreen),
- vinfo.visual, AllocNone);
- xswamask = CWBackPixel | CWBorderPixel | CWColormap;
-
- vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy,
- window_width, window_height, flags,
- xswa.colormap, "xvidix", title);
- XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa);
-
- if ( ( !WinID )&&( flags&VOFLAG_FULLSCREEN ) ) { vo_dx=0; vo_dy=0; vo_dwidth=vo_screenwidth; vo_dheight=vo_screenheight; vo_fs=1; }
-
- if(sub_vo->config(image_width,image_height,vo_dwidth,vo_dheight,
- flags | VOFLAG_XOVERLAY_SUB_VO,NULL,format)) {
- mp_msg(MSGT_VO, MSGL_ERR, "xover: sub vo config failed\n");
- return 1;
- }
- colork.x11 = colorkey;
- colork.r = r;
- colork.g = g;
- colork.b = b;
- if(sub_vo->control(VOCTRL_XOVERLAY_SET_COLORKEY,&colork) != VO_TRUE)
- mp_msg(MSGT_VO, MSGL_WARN, "xover: set_colorkey failed\n");
-
- set_window(1);
-
- XSync(mDisplay, False);
-
- panscan_calc();
-
- return 0;
-}
-
-static void check_events(void)
-{
- const int event = vo_x11_check_events(mDisplay);
-
- if ((event & VO_EVENT_RESIZE) || (event & VO_EVENT_EXPOSE))
- set_window(0);
- sub_vo->check_events();
- return;
-}
-
-/* draw_osd, flip_page, draw_slice, draw_frame should be
- overwritten with vidix functions (vosub_vidix.c) */
-static void draw_osd(void)
-{
- mp_msg(MSGT_VO, MSGL_FATAL, "xover error: didn't used sub vo draw_osd!\n");
-}
-
-static void flip_page(void)
-{
- mp_msg(MSGT_VO, MSGL_FATAL, "xover error: didn't used sub vo flip_page!\n");
-}
-
-static int draw_slice(uint8_t *src[], int stride[],
- int w, int h, int x, int y)
-{
- mp_msg(MSGT_VO, MSGL_FATAL, "xover error: didn't used sub vo draw_slice!\n");
- return 1;
-}
-
-static int draw_frame(uint8_t *src[])
-{
- mp_msg(MSGT_VO, MSGL_FATAL, "xover error: didn't used sub vo draw_frame!\n");
- return 1;
-}
-
-static void uninit(void)
-{
- if(!vo_config_count) return;
- if(sub_vo) sub_vo->uninit();
- sub_vo = NULL;
- vo_x11_uninit();
- // Restore our callbacks
- video_out_xover.old_functions->draw_frame = draw_frame;
- video_out_xover.old_functions->draw_slice = draw_slice;
- video_out_xover.old_functions->flip_page = flip_page;
- video_out_xover.old_functions->draw_osd = draw_osd;
-}
-
-static int preinit(const char *arg)
-{
- int i;
-
- if(!arg) {
- mp_msg(MSGT_VO, MSGL_ERR, "VO XOverlay need a subdriver\n");
- return 1;
- }
-
- const struct vo_driver *candidate;
- for(i = 0; (candidate = video_out_drivers[i]) != NULL; i++)
- if (!candidate->is_new && !strcmp(candidate->info->short_name,arg) &&
- strcmp(candidate->info->short_name,"xover"))
- break;
- if (!candidate) {
- mp_msg(MSGT_VO, MSGL_ERR, "VO XOverlay: Subdriver %s not found\n", arg);
- return 1;
- }
-
- const struct vo_old_functions *functions = candidate->old_functions;
- if (functions->control(VOCTRL_XOVERLAY_SUPPORT,NULL) != VO_TRUE) {
- mp_msg(MSGT_VO, MSGL_ERR, "VO XOverlay: %s doesn't support XOverlay\n", arg);
- return 1;
- }
- // X11 init
- if (!vo_init()) return VO_FALSE;
- if(functions->preinit(NULL)) {
- mp_msg(MSGT_VO, MSGL_ERR, "VO XOverlay: Subvo init failed\n");
- return 1;
- }
- sub_vo = functions;
- sub_info = candidate->info;
- // Setup the sub vo callbacks
- video_out_xover.old_functions->draw_frame = sub_vo->draw_frame;
- video_out_xover.old_functions->draw_slice = sub_vo->draw_slice;
- video_out_xover.old_functions->flip_page = sub_vo->flip_page;
- video_out_xover.old_functions->draw_osd = sub_vo->draw_osd;
- return 0;
-}
-
-static int control(uint32_t request, void *data)
-{
- if(!sub_vo) return VO_ERROR;
- switch (request) {
- case VOCTRL_GET_PANSCAN:
- if ( !vo_config_count || !vo_fs ) return VO_FALSE;
- return VO_TRUE;
- case VOCTRL_ONTOP:
- vo_x11_ontop();
- return VO_TRUE;
- case VOCTRL_FULLSCREEN:
- vo_x11_fullscreen();
- case VOCTRL_SET_PANSCAN:
- if ( vo_fs && ( vo_panscan != vo_panscan_amount ) )
- {
- panscan_calc();
- set_window(0);
- }
- return VO_TRUE;
- default:
- return sub_vo->control(request,data);
- }
- return VO_NOTIMPL;
-}
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c
index 5bbcfc4..e737754 100644
--- a/libvo/vo_xv.c
+++ b/libvo/vo_xv.c
@@ -595,9 +595,13 @@ static int preinit(struct vo *vo, const char *arg)
strarg_t ck_method_arg = { 0, NULL };
struct xvctx *ctx = talloc_zero(vo, struct xvctx);
vo->priv = ctx;
- struct vo_x11_state *x11 = vo->x11;
int xv_adaptor = -1;
+ if (!vo_init(vo))
+ return -1;
+
+ struct vo_x11_state *x11 = vo->x11;
+
const opt_t subopts[] =
{
/* name arg type arg var test */
@@ -611,16 +615,12 @@ static int preinit(struct vo *vo, const char *arg)
x11->xv_port = 0;
/* parse suboptions */
- if (subopt_parse(arg, subopts) != 0) {
- return -1;
- }
+ if (subopt_parse(arg, subopts) != 0)
+ goto error;
/* modify colorkey settings according to the given options */
xv_setup_colorkeyhandling(vo, ck_method_arg.str, ck_src_arg.str);
- if (!vo_init(vo))
- return -1;
-
/* check for Xvideo extension */
unsigned int ver, rel, req, ev, err;
if (Success != XvQueryExtension(x11->display, &ver, &rel, &req, &ev, &err)) {
diff --git a/libvo/vo_xvr100.c b/libvo/vo_xvr100.c
deleted file mode 100644
index fcd3b35..0000000
--- a/libvo/vo_xvr100.c
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
- * SUN XVR-100 (ATI Radeon 7000) VO driver for SPARC Solaris(at least)
- *
- * Copyright (C) 2000-2004 Robin Kay <komadori [at] gekkou [dot] co [dot] uk>
- * Copyright (C) 2004 Jake Goerzen
- * Copyright (C) 2007 Denes Balatoni
- *
- * written for xine by
- * Robin Kay <komadori [at] gekkou [dot] co [dot] uk>
- *
- * Sun XVR-100 framebuffer graciously donated by Jake Goerzen.
- *
- * Ported to mplayer by Denes Balatoni
- * Contains portions from the mga and tdfix_vid vo drivers
- *
- * no double-buffering, as it would slow down playback (waiting for vertical retraces)
- * FIXME: only YV12 supported for now
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/fbio.h>
-#include <sys/visual_io.h>
-#include <strings.h>
-#include <sys/mman.h>
-
-#include "config.h"
-#include "video_out.h"
-#include "video_out_internal.h"
-#include "aspect.h"
-#include "geometry.h"
-#include "fastmemcpy.h"
-#include "sub/sub.h"
-#include "mp_msg.h"
-
-
-static const vo_info_t info = {
- "sun xvr-100",
- "xvr100",
- "Denes Balatoni",
- ""
-};
-
-const LIBVO_EXTERN(xvr100)
-
-#define PFB_VRAM_MMAPBASE 0x08000000
-#define PFB_VRAM_MMAPLEN 0x04000000 /* depends on memory size */
-#define PFB_REGS_MMAPBASE 0x10000000
-#define PFB_REGS_MMAPLEN 0x00040000
-
-#define PFB_CLOCK_CNTL_INDEX 0x002
-#define PFB_CLOCK_CNTL_DATA 0x003
-
-#define PFB_MC_FB_LOCATION 0x052
-
-#define PFB_OV0_Y_X_START 0x100
-#define PFB_OV0_Y_X_END 0x101
-#define PFB_OV0_REG_LOAD_CNTL 0x104
-#define PFB_OV0_REG_LOAD_LOCK 0x00000001
-#define PFB_OV0_REG_LOAD_LOCK_READBACK 0x00000008
-#define PFB_OV0_SCALE_CNTL 0x108
-#define PFB_OV0_SCALE_EN 0x417f0000/*417f0000*/
-#define PFB_OV0_SCALE_YUV12 0x00000A00
-#define PFB_OV0_SCALE_VYUY422 0x00000B00
-#define PFB_OV0_V_INC 0x109
-#define PFB_OV0_P1_V_ACCUM_INIT 0x10A
-#define PFB_OV0_P23_V_ACCUM_INIT 0x10B
-#define PFB_OV0_P1_BLANK_LINES_AT_TOP 0x10C
-#define PFB_OV0_P23_BLANK_LINES_AT_TOP 0x10D
-#define PFB_OV0_BASE_ADDR 0x10F
-#define PFB_OV0_BUF0_BASE_ADRS 0x110
-#define PFB_OV0_BUF1_BASE_ADRS 0x111
-#define PFB_OV0_BUF2_BASE_ADRS 0x112
-#define PFB_OV0_BUF3_BASE_ADRS 0x113
-#define PFB_OV0_BUF4_BASE_ADRS 0x114
-#define PFB_OV0_BUF5_BASE_ADRS 0x115
-#define PFB_OV0_VID_BUF_PITCH0_VALUE 0x118
-#define PFB_OV0_VID_BUF_PITCH1_VALUE 0x119
-#define PFB_OV0_AUTO_FLIP_CNTL 0x11C
-#define PFB_OV0_AUTO_FLIP_BUF0 0x00000200
-#define PFB_OV0_AUTO_FLIP_BUF3 0x00000243
-#define PFB_OV0_DEINTERLACE_PATTERN 0x11D
-#define PFB_OV0_H_INC 0x120
-#define PFB_OV0_STEP_BY 0x121
-#define PFB_OV0_P1_H_ACCUM_INIT 0x122
-#define PFB_OV0_P23_H_ACCUM_INIT 0x123
-#define PFB_OV0_P1_X_START_END 0x125
-#define PFB_OV0_P2_X_START_END 0x126
-#define PFB_OV0_P3_X_START_END 0x127
-#define PFB_OV0_FILTER_CNTL 0x128
-#define PFB_OV0_FILTER_EN 0x0000000f
-#define PFB_OV0_GRPH_KEY_CLR_LOW 0x13B
-#define PFB_OV0_GRPH_KEY_CLR_HIGH 0x13C
-#define PFB_OV0_KEY_CNTL 0x13D
-#define PFB_OV0_KEY_EN 0x00000121
-
-#define PFB_DISP_MERGE_CNTL 0x358
-#define PFB_DISP_MERGE_EN 0xffff0000
-
-
-
-static char pfb_devname[]="/dev/fbs/pfb0";
-static int pfb_devfd;
-static uint8_t *pfb_vbase;
-static volatile uint32_t *pfb_vregs;
-static int pfb_buffer[3];
-static int pfb_stride[3];
-static int pfb_srcwidth, pfb_srcheight, pfb_dstwidth, pfb_dstheight;
-static int pfb_native_format=PFB_OV0_SCALE_YUV12;
-static int pfb_deinterlace_en=0;
-static short int pfb_wx0, pfb_wy0, pfb_wx1, pfb_wy1;
-static int pfb_xres,pfb_yres;
-static int pfb_free_top;
-static int pfb_fs;
-static int pfb_usecolorkey=0;
-static uint32_t pfb_colorkey;
-
-
-
-void pfb_overlay_on(void) {
- int h_inc, h_step, ecp_div;
-
- pfb_vregs[PFB_CLOCK_CNTL_INDEX] = (pfb_vregs[PFB_CLOCK_CNTL_INDEX] & ~0x0000003f) | 0x00000008;
- ecp_div = (pfb_vregs[PFB_CLOCK_CNTL_DATA] >> 8) & 0x3;
- h_inc = (pfb_srcwidth << (12 + ecp_div)) / pfb_dstwidth;
- h_step = 1;
-
- while (h_inc > 0x1fff) {
- h_inc >>= 1;
- h_step++;
- }
-
- pfb_vregs[PFB_OV0_REG_LOAD_CNTL] = PFB_OV0_REG_LOAD_LOCK;
- while (!(pfb_vregs[PFB_OV0_REG_LOAD_CNTL] & PFB_OV0_REG_LOAD_LOCK_READBACK))
- usleep(100);
-
- pfb_vregs[PFB_DISP_MERGE_CNTL] = PFB_DISP_MERGE_EN;
- pfb_vregs[PFB_OV0_Y_X_START] = (pfb_wy0 << 16) | pfb_wx0;
- pfb_vregs[PFB_OV0_Y_X_END] = ((pfb_wy1 - 1) << 16) | (pfb_wx1 - 1);
- pfb_vregs[PFB_OV0_V_INC] = ((pfb_deinterlace_en ? pfb_srcheight/2 : pfb_srcheight) << 20) / pfb_dstheight;
- pfb_vregs[PFB_OV0_P1_V_ACCUM_INIT] = 0x00180001;
- pfb_vregs[PFB_OV0_P23_V_ACCUM_INIT] = 0x00180001;
- pfb_vregs[PFB_OV0_P1_BLANK_LINES_AT_TOP] = (((pfb_deinterlace_en ? pfb_srcheight/2 : pfb_srcheight) - 1) << 16) | 0xfff;
- pfb_vregs[PFB_OV0_P23_BLANK_LINES_AT_TOP] = (((pfb_deinterlace_en ? pfb_srcheight/2 : pfb_srcheight) / 2 - 1) << 16) | 0x7ff;
- pfb_vregs[PFB_OV0_BASE_ADDR] = (pfb_vregs[PFB_MC_FB_LOCATION] & 0xffff) << 16;
- pfb_vregs[PFB_OV0_VID_BUF_PITCH0_VALUE] = pfb_deinterlace_en ? pfb_stride[0]*2 : pfb_stride[0];
- pfb_vregs[PFB_OV0_VID_BUF_PITCH1_VALUE] = pfb_deinterlace_en ? pfb_stride[1]*2 : pfb_stride[1];
- pfb_vregs[PFB_OV0_DEINTERLACE_PATTERN] = 0x000aaaaa;
- pfb_vregs[PFB_OV0_H_INC] = ((h_inc / 2) << 16) | h_inc;
- pfb_vregs[PFB_OV0_STEP_BY] = (h_step << 8) | h_step;
- pfb_vregs[PFB_OV0_P1_H_ACCUM_INIT] = (((0x00005000 + h_inc) << 7) & 0x000f8000) | (((0x00005000 + h_inc) << 15) & 0xf0000000);
- pfb_vregs[PFB_OV0_P23_H_ACCUM_INIT] = (((0x0000A000 + h_inc) << 6) & 0x000f8000) | (((0x0000A000 + h_inc) << 14) & 0x70000000);
- pfb_vregs[PFB_OV0_P1_X_START_END] = pfb_srcwidth - 1;
- pfb_vregs[PFB_OV0_P2_X_START_END] = (pfb_srcwidth / 2) - 1;
- pfb_vregs[PFB_OV0_P3_X_START_END] = (pfb_srcwidth / 2) - 1;
- pfb_vregs[PFB_OV0_FILTER_CNTL] = PFB_OV0_FILTER_EN;
-
- if (pfb_usecolorkey) {
- pfb_vregs[PFB_OV0_GRPH_KEY_CLR_LOW] = pfb_colorkey;
- pfb_vregs[PFB_OV0_GRPH_KEY_CLR_HIGH] = pfb_colorkey | 0xff000000;
- pfb_vregs[PFB_OV0_KEY_CNTL] = PFB_OV0_KEY_EN;
- } else {
- pfb_vregs[PFB_OV0_KEY_CNTL] = 0x010;
- }
-
- pfb_vregs[PFB_OV0_SCALE_CNTL] = PFB_OV0_SCALE_EN | pfb_native_format;
-
- pfb_vregs[PFB_OV0_REG_LOAD_CNTL] = 0;
-
- pfb_vregs[PFB_OV0_BUF0_BASE_ADRS] = pfb_buffer[0];
- pfb_vregs[PFB_OV0_BUF1_BASE_ADRS] = pfb_buffer[1] | 0x00000001;
- pfb_vregs[PFB_OV0_BUF2_BASE_ADRS] = pfb_buffer[2] | 0x00000001;
-
- pfb_vregs[PFB_OV0_AUTO_FLIP_CNTL] = PFB_OV0_AUTO_FLIP_BUF0;
-}
-
-void pfb_overlay_off(void) {
- pfb_vregs[PFB_OV0_SCALE_CNTL] = 0;
-}
-
-void center_overlay(void) {
- if (pfb_xres > pfb_dstwidth) {
- pfb_wx0 = (pfb_xres - pfb_dstwidth) / 2;
- pfb_wx1 = pfb_wx0 + pfb_dstwidth;
- }
- else {
- pfb_wx0 = 0;
- pfb_wx1 = pfb_xres;
- }
-
- if (pfb_yres > pfb_dstheight) {
- pfb_wy0 = (pfb_yres - pfb_dstheight) / 2;
- pfb_wy1 = pfb_wy0 + pfb_dstheight;
- }
- else {
- pfb_wy0 = 0;
- pfb_wy1 = pfb_yres;
- }
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format) {
- int memsize;
-
- pfb_srcwidth=width;
- pfb_srcheight=height;
-
- if (pfb_srcwidth>1536)
- mp_msg(MSGT_VO, MSGL_WARN, "vo_xvr100: XVR-100 can not handle width greater than 1536 pixels!\n");
-
- if (!(flags & VOFLAG_XOVERLAY_SUB_VO)) {
- aspect_save_orig(width,height);
- aspect_save_prescale(d_width,d_height);
- aspect_save_screenres(pfb_xres,pfb_yres);
- if( flags&VOFLAG_FULLSCREEN) { /* -fs */
- aspect(&pfb_dstwidth,&pfb_dstheight, A_ZOOM);
- pfb_fs = 1;
- } else {
- aspect(&pfb_dstwidth,&pfb_dstheight, A_NOZOOM);
- pfb_fs = 0;
- }
- } else {
- pfb_dstwidth=d_width;
- pfb_dstheight=d_height;
- }
-
- center_overlay();
-
- pfb_stride[0]=(pfb_srcwidth+15) & ~15;
- pfb_stride[1]=pfb_stride[2]=(((pfb_srcwidth+1)>>1)+15) & ~15;
- memsize = (pfb_stride[0]*pfb_srcheight+pfb_stride[1]*((pfb_srcheight+1) & ~1));
- if (memsize > pfb_free_top) {
- mp_msg(MSGT_VO, MSGL_FATAL, "vo_xvr100: out of VRAM! \n");
- return 1;
- }
- pfb_buffer[0] = pfb_free_top - memsize;
- pfb_buffer[1] = pfb_buffer[0] + pfb_stride[0]*pfb_srcheight;
- pfb_buffer[2] = pfb_buffer[1] + pfb_stride[1]*((pfb_srcheight+1)>>1);
-
- pfb_overlay_on();
-
- return 0;
-}
-
-static int preinit(const char *arg) {
- struct vis_identifier ident;
- struct fbgattr attr;
-
- if ((pfb_devfd = open(pfb_devname, O_RDWR)) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_xvr100: Error: can't open framebuffer device '%s'\n", pfb_devname);
- return 1;
- }
-
- if (ioctl(pfb_devfd, VIS_GETIDENTIFIER, &ident) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_xvr100: Error: ioctl failed (VIS_GETIDENTIFIER), bad device (%s)\n", pfb_devname);
- return 1;
- }
-
- if (strcmp("SUNWpfb", ident.name) == 0) {
- mp_msg(MSGT_VO, MSGL_INFO, "vo_xvr100: SUNWpfb (XVR-100/ATI Radeon 7000) detected \n");
- }
- else {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_xvr100: Error: '%s' is not a SUN XVR-100 framebuffer device\n", pfb_devname);
- return 1;
- }
-
- if (ioctl(pfb_devfd, FBIOGATTR, &attr) < 0) {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_xvr100: Error: ioctl failed (FBIOGATTR)\n");
- close(pfb_devfd);
- return 1;
- }
-
- pfb_free_top = attr.fbtype.fb_size - 0x2000;
- pfb_xres = attr.fbtype.fb_width;
- pfb_yres = attr.fbtype.fb_height;
-
- if ((pfb_vbase = mmap(NULL, PFB_VRAM_MMAPLEN, PROT_READ | PROT_WRITE,
- MAP_SHARED, pfb_devfd, PFB_VRAM_MMAPBASE)) == MAP_FAILED) {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_xvr100: Error: unable to memory map framebuffer\n");
- close(pfb_devfd);
- return 1;
- }
-
- if ((pfb_vregs = (uint32_t *)(void *)mmap(NULL, PFB_REGS_MMAPLEN, PROT_READ | PROT_WRITE,
- MAP_SHARED, pfb_devfd, PFB_REGS_MMAPBASE)) == MAP_FAILED) {
- mp_msg(MSGT_VO, MSGL_ERR, "vo_xvr100: Error: unable to memory map framebuffer\n");
- munmap(pfb_vbase, PFB_VRAM_MMAPLEN);
- close(pfb_devfd);
- return 1;
- }
-
- return 0;
-}
-
-static void uninit(void)
-{
- if (!vo_config_count)
- return;
-
- pfb_overlay_off();
- munmap(pfb_vbase, PFB_VRAM_MMAPLEN);
- munmap(pfb_vregs, PFB_REGS_MMAPLEN);
-}
-
-static uint32_t pfb_fullscreen(void) {
- if (!pfb_fs) {
- aspect(&pfb_dstwidth,&pfb_dstheight, A_ZOOM);
- pfb_fs = 1;
- } else {
- aspect(&pfb_dstwidth,&pfb_dstheight, A_NOZOOM);
- pfb_fs = 0;
- }
-
- center_overlay();
-
- pfb_overlay_on();
-
- return VO_TRUE;
-}
-
-static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride){
- vo_draw_alpha_yv12(w,h,src,srca,stride,pfb_vbase+pfb_buffer[0]+pfb_stride[0]*y0+x0,pfb_stride[0]);
-}
-
-static void draw_osd(void)
-{
- vo_draw_text(pfb_srcwidth, pfb_srcheight,draw_alpha);
-}
-
-static void check_events(void)
-{
-}
-
-static void flip_page(void)
-{
-}
-
-static uint32_t get_image(mp_image_t *mpi){
- if (mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE;
- if (!(mpi->flags&MP_IMGFLAG_PLANAR)) return VO_FALSE; // FIXME: impossible for YV12, right?
- if (!(mpi->flags&MP_IMGFLAG_ACCEPT_STRIDE)) return VO_FALSE;
-
- mpi->planes[0]=pfb_vbase + pfb_buffer[0];
- mpi->planes[1]=pfb_vbase + pfb_buffer[1];
- mpi->planes[2]=pfb_vbase + pfb_buffer[2];
- mpi->stride[0]=pfb_stride[0];
- mpi->stride[1]=mpi->stride[2]=pfb_stride[1];
- mpi->flags|=MP_IMGFLAG_DIRECT;
-
- return VO_TRUE;
-}
-
-static int draw_frame(uint8_t *src[])
-{
- mp_msg(MSGT_VO,MSGL_WARN,"!!! vo_xvr100::draw_frame() called !!!\n");
- return 0;
-}
-
-
-static int draw_slice(uint8_t *src[], int stride[], int w,int h,int x,int y)
-{
- mem2agpcpy_pic(pfb_vbase + pfb_buffer[0] + pfb_stride[0] * y + x, src[0], w, h, pfb_stride[0], stride[0]);
- w>>=1; h>>=1; x>>=1; y>>=1;
- mem2agpcpy_pic(pfb_vbase + pfb_buffer[1] + pfb_stride[1] * y + x, src[1], w, h, pfb_stride[1], stride[1]);
- mem2agpcpy_pic(pfb_vbase + pfb_buffer[2] + pfb_stride[1] * y + x, src[2], w, h, pfb_stride[1], stride[2]);
-
- return 0;
-}
-
-
-static uint32_t draw_image(mp_image_t *mpi){
- // if -dr or -slices then do nothing:
- if (mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK)) return VO_TRUE;
-
- draw_slice(mpi->planes,mpi->stride,mpi->w,mpi->h,0,0);
-
- return VO_TRUE;
-}
-
-static uint32_t pfb_set_colorkey(mp_colorkey_t* colork) {
- pfb_colorkey = colork->x11;
- pfb_usecolorkey = 1;
-
- pfb_overlay_on();
-
- return VO_TRUE;
-}
-
-static uint32_t pfb_set_window(mp_win_t* w) {
- pfb_dstwidth = w->w;
- pfb_dstheight = w->h;
- pfb_wx0 = w->x;
- pfb_wy0 = w->y;
- pfb_wx1 = w->x + pfb_dstwidth;
- pfb_wy1 = w->y + pfb_dstheight;
-
- pfb_overlay_on();
-
- return VO_TRUE;
-}
-
-static int query_format(uint32_t format)
-{
- switch(format){
- case IMGFMT_YV12:
- case IMGFMT_I420:
- return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW |VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN|VFCAP_ACCEPT_STRIDE;
- }
- return 0;
-}
-
-static int control(uint32_t request, void *data)
-{
- switch (request) {
- case VOCTRL_GET_IMAGE:
- return get_image(data);
- case VOCTRL_QUERY_FORMAT:
- return query_format(*((uint32_t*)data));
- case VOCTRL_DRAW_IMAGE:
- return draw_image(data);
- case VOCTRL_FULLSCREEN:
- return pfb_fullscreen();
- case VOCTRL_XOVERLAY_SUPPORT:
- return VO_TRUE;
- case VOCTRL_XOVERLAY_SET_COLORKEY:
- return pfb_set_colorkey(data);
- case VOCTRL_XOVERLAY_SET_WIN:
- return pfb_set_window(data);
- }
-
- return VO_NOTIMPL;
-}
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index ee50ba5..b41e30e 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -31,8 +31,6 @@
#include "x11_common.h"
#include "talloc.h"
-#ifdef X11_FULLSCREEN
-
#include <string.h>
#include <unistd.h>
#include <assert.h>
@@ -337,6 +335,9 @@ static void init_atoms(struct vo_x11_state *x11)
XA_INIT(WM_PROTOCOLS);
XA_INIT(WM_DELETE_WINDOW);
XA_INIT(UTF8_STRING);
+ char buf[50];
+ sprintf(buf, "_NET_WM_CM_S%d", x11->screen);
+ x11->XA_NET_WM_CM = XInternAtom(x11->display, buf, False);
}
void update_xinerama_info(struct vo *vo) {
@@ -380,7 +381,6 @@ void update_xinerama_info(struct vo *vo) {
int vo_init(struct vo *vo)
{
struct MPOpts *opts = vo->opts;
- struct vo_x11_state *x11 = vo->x11;
// int mScreen;
int depth, bpp;
unsigned int mask;
@@ -393,15 +393,14 @@ int vo_init(struct vo *vo)
XWindowAttributes attribs;
char *dispName;
+ assert(vo->x11 == NULL);
+
+ vo->x11 = vo_x11_init_state();
+ struct vo_x11_state *x11 = vo->x11;
+
if (vo_rootwin)
WinID = 0; // use root window
- if (x11->depthonscreen)
- {
- saver_off(x11->display);
- return 1; // already called
- }
-
XSetErrorHandler(x11_errorhandler);
#if 0
@@ -419,6 +418,8 @@ int vo_init(struct vo *vo)
{
mp_msg(MSGT_VO, MSGL_ERR,
"vo: couldn't open the X11 display (%s)!\n", dispName);
+ talloc_free(x11);
+ vo->x11 = NULL;
return 0;
}
x11->screen = DefaultScreen(x11->display); // screen ID
@@ -521,6 +522,8 @@ int vo_init(struct vo *vo)
void vo_uninit(struct vo_x11_state *x11)
{
+ if (!x11)
+ return;
if (!x11->display)
{
mp_msg(MSGT_VO, MSGL_V,
@@ -762,6 +765,8 @@ void vo_x11_uninit(struct vo *vo)
x11->last_video_height = 0;
x11->size_changed_during_fs = false;
}
+ vo_uninit(x11);
+ vo->x11 = NULL;
}
static int check_resize(struct vo *vo)
@@ -966,8 +971,7 @@ void vo_x11_sizehint(struct vo *vo, int x, int y, int width, int height, int max
x11->vo_hint.max_height = 0;
}
- // Set minimum height/width to 4 to avoid off-by-one errors
- // and because mga_vid requires a minimal size of 4 pixels.
+ // Set minimum height/width to 4 to avoid off-by-one errors.
x11->vo_hint.flags |= PMinSize;
x11->vo_hint.min_width = x11->vo_hint.min_height = 4;
@@ -1736,8 +1740,6 @@ double vo_vm_get_fps(struct vo *vo)
}
#endif
-#endif /* X11_FULLSCREEN */
-
/*
* Scan the available visuals on this Display/Screen. Try to find
@@ -1941,6 +1943,12 @@ uint32_t vo_x11_get_equalizer(const char *name, int *value)
return VO_TRUE;
}
+bool vo_x11_screen_is_composited(struct vo *vo)
+{
+ struct vo_x11_state *x11 = vo->x11;
+ return XGetSelectionOwner(x11->display, x11->XA_NET_WM_CM) != None;
+}
+
#ifdef CONFIG_XV
int vo_xv_set_eq(struct vo *vo, uint32_t xv_port, const char *name, int value)
{
diff --git a/libvo/x11_common.h b/libvo/x11_common.h
index 14c7e44..57353e4 100644
--- a/libvo/x11_common.h
+++ b/libvo/x11_common.h
@@ -95,14 +95,9 @@ struct vo_x11_state {
Atom XAWM_PROTOCOLS;
Atom XAWM_DELETE_WINDOW;
Atom XAUTF8_STRING;
+ Atom XA_NET_WM_CM;
};
-#if defined(CONFIG_GL) || defined(CONFIG_X11) || defined(CONFIG_XV)
-#define X11_FULLSCREEN 1
-#endif
-
-#ifdef X11_FULLSCREEN
-
#define vo_wm_LAYER 1
#define vo_wm_FULLSCREEN 2
#define vo_wm_STAYS_ON_TOP 4
@@ -137,6 +132,7 @@ void vo_x11_uninit(struct vo *vo);
Colormap vo_x11_create_colormap(struct vo *vo, XVisualInfo *vinfo);
uint32_t vo_x11_set_equalizer(struct vo *vo, const char *name, int value);
uint32_t vo_x11_get_equalizer(const char *name, int *value);
+bool vo_x11_screen_is_composited(struct vo *vo);
void fstype_help(void);
void vo_x11_create_vo_window(struct vo *vo, XVisualInfo *vis,
int x, int y, unsigned int width, unsigned int height, int flags,
@@ -148,7 +144,6 @@ void vo_x11_ontop(struct vo *vo);
void vo_x11_border(struct vo *vo);
void vo_x11_ewmh_fullscreen(struct vo_x11_state *x11, int action);
-#endif
int vo_xv_set_eq(struct vo *vo, uint32_t xv_port, const char *name, int value);
int vo_xv_get_eq(struct vo *vo, uint32_t xv_port, const char *name, int *value);
diff --git a/m_config.c b/m_config.c
index 3da7707..fb9e1b6 100644
--- a/m_config.c
+++ b/m_config.c
@@ -67,7 +67,8 @@ static int parse_profile(struct m_config *config, const struct m_option *opt,
}
char **list = NULL;
- int r = m_option_type_string_list.parse(opt, name, param, false, &list);
+ int r = m_option_type_string_list.parse(opt, name, param, false, &list,
+ NULL);
if (r < 0)
return r;
if (!list || !list[0])
@@ -144,16 +145,16 @@ static void m_option_save(const struct m_config *config,
{
if (opt->type->copy) {
const void *src = m_option_get_ptr(opt, config->optstruct);
- opt->type->copy(opt, dst, src);
+ opt->type->copy(opt, dst, src, NULL);
}
}
-static void m_option_set(const struct m_config *config,
+static void m_option_set(void *optstruct,
const struct m_option *opt, const void *src)
{
if (opt->type->copy) {
- void *dst = m_option_get_ptr(opt, config->optstruct);
- opt->type->copy(opt, dst, src);
+ void *dst = m_option_get_ptr(opt, optstruct);
+ opt->type->copy(opt, dst, src, optstruct);
}
}
@@ -176,6 +177,7 @@ struct m_config *m_config_new(void *optstruct,
};
config = talloc_zero(NULL, struct m_config);
+ config->full = true;
config->lvl = 1; // 0 Is the defaults
struct m_option *self_opts = talloc_memdup(config, ref_opts,
sizeof(ref_opts));
@@ -195,8 +197,16 @@ struct m_config *m_config_new(void *optstruct,
return config;
}
+struct m_config *m_config_simple(const struct m_option *options)
+{
+ struct m_config *config = talloc_zero(NULL, struct m_config);
+ m_config_register_options(config, options);
+ return config;
+}
+
void m_config_free(struct m_config *config)
{
+ assert(config->full); // use talloc_free() for simple
struct m_config_option *copt;
for (copt = config->opts; copt; copt = copt->next) {
if (copt->flags & M_CFG_OPT_ALIAS)
@@ -213,6 +223,17 @@ void m_config_free(struct m_config *config)
talloc_free(config);
}
+void m_config_initialize(struct m_config *config, void *optstruct)
+{
+ struct m_config_option *copt;
+ for (copt = config->opts; copt; copt = copt->next) {
+ const struct m_option *opt = copt->opt;
+ if (!opt->defval)
+ continue;
+ m_option_set(optstruct, opt, opt->defval);
+ }
+}
+
void m_config_push(struct m_config *config)
{
struct m_config_option *co;
@@ -278,7 +299,7 @@ void m_config_pop(struct m_config *config)
pop++;
}
if (pop) // We removed some ctx -> set the previous value
- m_option_set(config, co->opt, co->slots->data);
+ m_option_set(config->optstruct, co->opt, co->slots->data);
}
config->lvl--;
@@ -314,7 +335,7 @@ static void m_config_add_option(struct m_config *config,
struct m_config_save_slot *sl;
assert(config != NULL);
- assert(config->lvl > 0);
+ assert(config->lvl > 0 || !config->full);
assert(arg != NULL);
// Allocate a new entry for this option
@@ -346,18 +367,18 @@ static void m_config_add_option(struct m_config *config,
}
}
}
- if (!(co->flags & M_CFG_OPT_ALIAS)) {
+ if (config->full && !(co->flags & M_CFG_OPT_ALIAS)) {
// Allocate a slot for the defaults
sl = talloc_zero_size(co, sizeof(struct m_config_save_slot) +
arg->type->size);
m_option_save(config, arg, sl->data);
// Hack to avoid too much trouble with dynamically allocated data:
// We replace original default and always use a dynamic version
- if ((arg->type->flags & M_OPT_TYPE_DYNAMIC)) {
+ if (!arg->new && (arg->type->flags & M_OPT_TYPE_DYNAMIC)) {
char **hackptr = m_option_get_ptr(arg, config->optstruct);
if (hackptr && *hackptr) {
*hackptr = NULL;
- m_option_set(config, arg, sl->data);
+ m_option_set(config->optstruct, arg, sl->data);
}
}
sl->lvl = 0;
@@ -377,7 +398,7 @@ int m_config_register_options(struct m_config *config,
const struct m_option *args)
{
assert(config != NULL);
- assert(config->lvl > 0);
+ assert(config->lvl > 0 || !config->full);
assert(args != NULL);
add_options(config, args, NULL, NULL);
@@ -403,12 +424,15 @@ static struct m_config_option *m_config_get_co(const struct m_config *config,
return NULL;
}
-static int m_config_parse_option(struct m_config *config,
+static int parse_subopts(struct m_config *config, void *optstruct, char *name,
+ char *prefix, struct bstr param, bool set);
+
+static int m_config_parse_option(struct m_config *config, void *optstruct,
struct bstr name, struct bstr param,
bool ambiguous_param, bool set)
{
assert(config != NULL);
- assert(config->lvl > 0);
+ assert(config->lvl > 0 || !config->full);
assert(name.len != 0);
struct m_config_option *co = m_config_get_co(config, name);
@@ -453,44 +477,15 @@ static int m_config_parse_option(struct m_config *config,
// Option with children are a bit different to parse
if (co->opt->type->flags & M_OPT_TYPE_HAS_CHILD) {
- char **lst = NULL;
- // Parse the child options
- int r = m_option_parse(co->opt, name, param, false, &lst);
- // Set them now
- if (r >= 0)
- for (int i = 0; lst && lst[2 * i]; i++) {
- int l = strlen(co->name) + 1 + strlen(lst[2 * i]) + 1;
- if (r >= 0) {
- // Build the full name
- char n[l];
- sprintf(n, "%s:%s", co->name, lst[2 * i]);
- int sr = m_config_parse_option(config, bstr(n),
- bstr(lst[2 * i + 1]), false,
- set);
- if (sr < 0) {
- if (sr == M_OPT_UNKNOWN) {
- mp_tmsg(MSGT_CFGPARSER, MSGL_ERR,
- "Error: option '%s' has no suboption '%s'.\n",
- co->name, lst[2 * i]);
- r = M_OPT_INVALID;
- } else if (sr == M_OPT_MISSING_PARAM) {
- mp_tmsg(MSGT_CFGPARSER, MSGL_ERR,
- "Error: suboption '%s' of '%s' must have "
- "a parameter!\n", lst[2 * i], co->name);
- r = M_OPT_INVALID;
- } else
- r = sr;
- }
- }
- talloc_free(lst[2 * i]);
- talloc_free(lst[2 * i + 1]);
- }
- talloc_free(lst);
- return r;
+ char prefix[110];
+ assert(strlen(co->name) < 100);
+ sprintf(prefix, "%s:", co->name);
+ return parse_subopts(config, optstruct, co->name, prefix, param, set);
}
- void *dst = set ? m_option_get_ptr(co->opt, config->optstruct) : NULL;
- int r = m_option_parse(co->opt, name, param, ambiguous_param, dst);
+ void *dst = set ? m_option_get_ptr(co->opt, optstruct) : NULL;
+ int r = co->opt->type->parse(co->opt, name, param, ambiguous_param, dst,
+ optstruct);
// Parsing failed ?
if (r < 0)
return r;
@@ -500,12 +495,67 @@ static int m_config_parse_option(struct m_config *config,
return r;
}
+static int parse_subopts(struct m_config *config, void *optstruct, char *name,
+ char *prefix, struct bstr param, bool set)
+{
+ char **lst = NULL;
+ // Split the argument into child options
+ int r = m_option_type_subconfig.parse(NULL, bstr(""), param, false, &lst,
+ optstruct);
+ if (r < 0)
+ return r;
+ // Parse the child options
+ for (int i = 0; lst && lst[2 * i]; i++) {
+ // Build the full name
+ char n[110];
+ if (snprintf(n, 110, "%s%s", prefix, lst[2 * i]) > 100)
+ abort();
+ if (!m_config_get_option(config, bstr(n))) {
+ if (strncmp(lst[2 * i], "no-", 3))
+ goto nosubopt;
+ snprintf(n, 110, "%s%s", prefix, lst[2 * i] + 3);
+ const struct m_option *o = m_config_get_option(config, bstr(n));
+ if (!o || o->type != &m_option_type_flag) {
+ nosubopt:
+ mp_tmsg(MSGT_CFGPARSER, MSGL_ERR,
+ "Error: option '%s' has no suboption '%s'.\n",
+ name, lst[2 * i]);
+ r = M_OPT_INVALID;
+ break;
+ }
+ if (lst[2 * i + 1]) {
+ mp_tmsg(MSGT_CFGPARSER, MSGL_ERR,
+ "A --no-* option can't take parameters: "
+ "%s=%s\n", lst[2 * i], lst[2 * i + 1]);
+ r = M_OPT_INVALID;
+ break;
+ }
+ lst[2 * i + 1] = "no";
+ }
+ int sr = m_config_parse_option(config, optstruct, bstr(n),
+ bstr(lst[2 * i + 1]), false, set);
+ if (sr < 0) {
+ if (sr == M_OPT_MISSING_PARAM) {
+ mp_tmsg(MSGT_CFGPARSER, MSGL_ERR,
+ "Error: suboption '%s' of '%s' must have "
+ "a parameter!\n", lst[2 * i], name);
+ r = M_OPT_INVALID;
+ } else
+ r = sr;
+ break;
+ }
+ }
+ talloc_free(lst);
+ return r;
+}
+
int m_config_set_option(struct m_config *config, struct bstr name,
struct bstr param, bool ambiguous_param)
{
mp_msg(MSGT_CFGPARSER, MSGL_DBG2, "Setting %.*s=%.*s\n", BSTR_P(name),
BSTR_P(param));
- return m_config_parse_option(config, name, param, ambiguous_param, 1);
+ return m_config_parse_option(config, config->optstruct, name, param,
+ ambiguous_param, true);
}
int m_config_check_option(struct m_config *config, struct bstr name,
@@ -514,7 +564,7 @@ int m_config_check_option(struct m_config *config, struct bstr name,
int r;
mp_msg(MSGT_CFGPARSER, MSGL_DBG2, "Checking %.*s=%.*s\n", BSTR_P(name),
BSTR_P(param));
- r = m_config_parse_option(config, name, param, ambiguous_param, 0);
+ r = m_config_parse_option(config, NULL, name, param, ambiguous_param, 0);
if (r == M_OPT_MISSING_PARAM) {
mp_tmsg(MSGT_CFGPARSER, MSGL_ERR,
"Error: option '%.*s' must have a parameter!\n", BSTR_P(name));
@@ -523,6 +573,14 @@ int m_config_check_option(struct m_config *config, struct bstr name,
return r;
}
+int m_config_parse_suboptions(struct m_config *config, void *optstruct,
+ char *name, char *subopts)
+{
+ if (!subopts || !*subopts)
+ return 0;
+ return parse_subopts(config, optstruct, name, "", bstr(subopts), true);
+}
+
const struct m_option *m_config_get_option(const struct m_config *config,
struct bstr name)
@@ -530,7 +588,7 @@ const struct m_option *m_config_get_option(const struct m_config *config,
struct m_config_option *co;
assert(config != NULL);
- assert(config->lvl > 0);
+ assert(config->lvl > 0 || !config->full);
co = m_config_get_co(config, name);
if (co)
diff --git a/m_config.h b/m_config.h
index ff54aae..24e80eb 100644
--- a/m_config.h
+++ b/m_config.h
@@ -96,6 +96,7 @@ typedef struct m_config {
void *optstruct; // struct mpopts or other
int (*includefunc)(struct m_config *conf, char *filename);
+ bool full; // main config with save slot handling etc
} m_config_t;
@@ -110,6 +111,10 @@ struct m_config *
m_config_new(void *optstruct,
int includefunc(struct m_config *conf, char *filename));
+struct m_config *m_config_simple(const struct m_option *options);
+
+void m_config_initialize(struct m_config *conf, void *optstruct);
+
// Free a config object.
void m_config_free(struct m_config *config);
@@ -162,6 +167,9 @@ static inline int m_config_check_option0(struct m_config *config,
return m_config_check_option(config, bstr(name), bstr(param), ambiguous);
}
+int m_config_parse_suboptions(struct m_config *config, void *optstruct,
+ char *name, char *subopts);
+
/* Get the option matching the given name.
* \param config The config object.
diff --git a/m_option.c b/m_option.c
index 55a58fc..f6349da 100644
--- a/m_option.c
+++ b/m_option.c
@@ -34,7 +34,8 @@
#include "m_option.h"
#include "mp_msg.h"
#include "stream/url.h"
-#include "libavutil/avstring.h"
+#include "libmpcodecs/img_format.h"
+
char *m_option_strerror(int code)
{
@@ -77,7 +78,8 @@ const m_option_t *m_option_list_find(const m_option_t *list, const char *name)
// Default function that just does a memcpy
-static void copy_opt(const m_option_t *opt, void *dst, const void *src)
+static void copy_opt(const m_option_t *opt, void *dst, const void *src,
+ void *talloc_ctx)
{
if (dst && src)
memcpy(dst, src, opt->type->size);
@@ -88,7 +90,8 @@ static void copy_opt(const m_option_t *opt, void *dst, const void *src)
#define VAL(x) (*(int *)(x))
static int parse_flag(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
if (param.len && !ambiguous_param) {
char * const enable[] = { "yes", "on", "ja", "si", "igen", "y", "j",
@@ -177,7 +180,8 @@ static int parse_longlong(const m_option_t *opt, struct bstr name,
}
static int parse_int(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
long long tmp;
int r = parse_longlong(opt, name, param, false, &tmp);
@@ -187,7 +191,8 @@ static int parse_int(const m_option_t *opt, struct bstr name,
}
static int parse_int64(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
long long tmp;
int r = parse_longlong(opt, name, param, false, &tmp);
@@ -221,7 +226,8 @@ const m_option_type_t m_option_type_int64 = {
};
static int parse_intpair(const struct m_option *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
if (param.len == 0)
return M_OPT_MISSING_PARAM;
@@ -264,7 +270,8 @@ const struct m_option_type m_option_type_intpair = {
};
static int parse_choice(const struct m_option *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
if (param.len == 0)
return M_OPT_MISSING_PARAM;
@@ -313,7 +320,8 @@ const struct m_option_type m_option_type_choice = {
#define VAL(x) (*(double *)(x))
static int parse_double(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
if (param.len == 0)
return M_OPT_MISSING_PARAM;
@@ -387,10 +395,11 @@ const m_option_type_t m_option_type_double = {
#define VAL(x) (*(float *)(x))
static int parse_float(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
double tmp;
- int r = parse_double(opt, name, param, false, &tmp);
+ int r = parse_double(opt, name, param, false, &tmp, NULL);
if (r == 1 && dst)
VAL(dst) = tmp;
return r;
@@ -416,7 +425,8 @@ const m_option_type_t m_option_type_float = {
#define VAL(x) (*(off_t *)(x))
static int parse_position(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
long long tmp;
int r = parse_longlong(opt, name, param, false, &tmp);
@@ -446,8 +456,12 @@ const m_option_type_t m_option_type_position = {
#define VAL(x) (*(char **)(x))
static int parse_str(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
+ if (param.start == NULL)
+ return M_OPT_MISSING_PARAM;
+
if ((opt->flags & M_OPT_MIN) && (param.len < opt->min)) {
mp_msg(MSGT_CFGPARSER, MSGL_ERR,
"Parameter must be >= %d chars: %.*s\n",
@@ -464,7 +478,7 @@ static int parse_str(const m_option_t *opt, struct bstr name,
if (dst) {
talloc_free(VAL(dst));
- VAL(dst) = bstrdup0(NULL, param);
+ VAL(dst) = bstrdup0(talloc_ctx, param);
}
return 1;
@@ -476,11 +490,12 @@ static char *print_str(const m_option_t *opt, const void *val)
return (val && VAL(val)) ? talloc_strdup(NULL, VAL(val)) : NULL;
}
-static void copy_str(const m_option_t *opt, void *dst, const void *src)
+static void copy_str(const m_option_t *opt, void *dst, const void *src,
+ void *talloc_ctx)
{
if (dst && src) {
talloc_free(VAL(dst));
- VAL(dst) = talloc_strdup(NULL, VAL(src));
+ VAL(dst) = talloc_strdup(talloc_ctx, VAL(src));
}
}
@@ -528,7 +543,7 @@ static void free_str_list(void *dst)
VAL(dst) = NULL;
}
-static int str_list_add(char **add, int n, void *dst, int pre)
+static int str_list_add(char **add, int n, void *dst, int pre, void *talloc_ctx)
{
char **lst = VAL(dst);
int ln;
@@ -632,7 +647,8 @@ static struct bstr get_nextsep(struct bstr *ptr, char sep, bool modify)
}
static int parse_str_list(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
char **res;
int op = OP_NONE;
@@ -681,14 +697,14 @@ static int parse_str_list(const m_option_t *opt, struct bstr name,
if (!dst)
return 1;
- res = talloc_array(NULL, char *, n + 2);
+ res = talloc_array(talloc_ctx, char *, n + 2);
str = bstrdup(NULL, param);
char *ptr = str.start;
n = 0;
while (1) {
struct bstr el = get_nextsep(&str, separator, 1);
- res[n] = bstrdup0(NULL, el);
+ res[n] = bstrdup0(talloc_ctx, el);
n++;
if (!str.len)
break;
@@ -699,9 +715,9 @@ static int parse_str_list(const m_option_t *opt, struct bstr name,
switch (op) {
case OP_ADD:
- return str_list_add(res, n, dst, 0);
+ return str_list_add(res, n, dst, 0, talloc_ctx);
case OP_PRE:
- return str_list_add(res, n, dst, 1);
+ return str_list_add(res, n, dst, 1, talloc_ctx);
case OP_DEL:
return str_list_del(res, n, dst);
}
@@ -713,7 +729,8 @@ static int parse_str_list(const m_option_t *opt, struct bstr name,
return 1;
}
-static void copy_str_list(const m_option_t *opt, void *dst, const void *src)
+static void copy_str_list(const m_option_t *opt, void *dst, const void *src,
+ void *talloc_ctx)
{
int n;
char **d, **s;
@@ -732,9 +749,9 @@ static void copy_str_list(const m_option_t *opt, void *dst, const void *src)
for (n = 0; s[n] != NULL; n++)
/* NOTHING */;
- d = talloc_array(NULL, char *, n + 1);
+ d = talloc_array(talloc_ctx, char *, n + 1);
for (; n >= 0; n--)
- d[n] = talloc_strdup(NULL, s[n]);
+ d[n] = talloc_strdup(talloc_ctx, s[n]);
VAL(dst) = d;
}
@@ -778,7 +795,8 @@ const m_option_type_t m_option_type_string_list = {
/////////////////// Print
static int parse_print(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
if (opt->type == CONF_TYPE_PRINT_INDIRECT)
mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", *(char **) opt->p);
@@ -819,16 +837,16 @@ const m_option_type_t m_option_type_print_func = {
#define VAL(x) (*(char ***)(x))
static int parse_subconf(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
- int nr = 0, i;
+ int nr = 0;
char **lst = NULL;
if (param.len == 0)
return M_OPT_MISSING_PARAM;
struct bstr p = param;
- const struct m_option *subopts = opt->p;
while (p.len) {
int optlen = bstrcspn(p, ":=");
@@ -874,23 +892,10 @@ static int parse_subconf(const m_option_t *opt, struct bstr name,
return M_OPT_INVALID;
}
- for (i = 0; subopts[i].name; i++)
- if (!bstrcmp0(subopt, subopts[i].name))
- break;
- if (!subopts[i].name) {
- mp_msg(MSGT_CFGPARSER, MSGL_ERR,
- "Option %.*s: Unknown suboption %.*s\n",
- BSTR_P(name), BSTR_P(subopt));
- return M_OPT_UNKNOWN;
- }
- int r = m_option_parse(&subopts[i], subopt, subparam, false, NULL);
- if (r < 0)
- return r;
if (dst) {
lst = talloc_realloc(NULL, lst, char *, 2 * (nr + 2));
- lst[2 * nr] = bstrdup0(NULL, subopt);
- lst[2 * nr + 1] = subparam.len == 0 ? NULL :
- bstrdup0(NULL, subparam);
+ lst[2 * nr] = bstrdup0(lst, subopt);
+ lst[2 * nr + 1] = bstrdup0(lst, subparam);
memset(&lst[2 * (nr + 1)], 0, 2 * sizeof(char *));
nr++;
}
@@ -909,98 +914,18 @@ const m_option_type_t m_option_type_subconfig = {
.parse = parse_subconf,
};
-#include "libmpcodecs/img_format.h"
-
-/* FIXME: snyc with img_format.h */
-static struct {
- const char *name;
- unsigned int fmt;
-} mp_imgfmt_list[] = {
- {"444p16le", IMGFMT_444P16_LE},
- {"444p16be", IMGFMT_444P16_BE},
- {"444p10le", IMGFMT_444P10_LE},
- {"444p10be", IMGFMT_444P10_BE},
- {"444p9le", IMGFMT_444P9_LE},
- {"444p9be", IMGFMT_444P9_BE},
- {"422p16le", IMGFMT_422P16_LE},
- {"422p16be", IMGFMT_422P16_BE},
- {"422p10le", IMGFMT_422P10_LE},
- {"422p10be", IMGFMT_422P10_BE},
- {"420p16le", IMGFMT_420P16_LE},
- {"420p16be", IMGFMT_420P16_BE},
- {"420p10le", IMGFMT_420P10_LE},
- {"420p10be", IMGFMT_420P10_BE},
- {"420p9le", IMGFMT_420P9_LE},
- {"420p9be", IMGFMT_420P9_BE},
- {"444p16", IMGFMT_444P16},
- {"444p10", IMGFMT_444P10},
- {"444p9", IMGFMT_444P9},
- {"422p16", IMGFMT_422P16},
- {"422p10", IMGFMT_422P10},
- {"420p10", IMGFMT_420P10},
- {"420p9", IMGFMT_420P9},
- {"420p16", IMGFMT_420P16},
- {"420a", IMGFMT_420A},
- {"444p", IMGFMT_444P},
- {"422p", IMGFMT_422P},
- {"411p", IMGFMT_411P},
- {"440p", IMGFMT_440P},
- {"yuy2", IMGFMT_YUY2},
- {"yvyu", IMGFMT_YVYU},
- {"uyvy", IMGFMT_UYVY},
- {"yvu9", IMGFMT_YVU9},
- {"if09", IMGFMT_IF09},
- {"yv12", IMGFMT_YV12},
- {"i420", IMGFMT_I420},
- {"iyuv", IMGFMT_IYUV},
- {"clpl", IMGFMT_CLPL},
- {"hm12", IMGFMT_HM12},
- {"y800", IMGFMT_Y800},
- {"y8", IMGFMT_Y8},
- {"nv12", IMGFMT_NV12},
- {"nv21", IMGFMT_NV21},
- {"bgr24", IMGFMT_BGR24},
- {"bgr32", IMGFMT_BGR32},
- {"bgr16", IMGFMT_BGR16},
- {"bgr15", IMGFMT_BGR15},
- {"bgr12", IMGFMT_BGR12},
- {"bgr8", IMGFMT_BGR8},
- {"bgr4", IMGFMT_BGR4},
- {"bg4b", IMGFMT_BG4B},
- {"bgr1", IMGFMT_BGR1},
- {"rgb48be", IMGFMT_RGB48BE},
- {"rgb48le", IMGFMT_RGB48LE},
- {"rgb48ne", IMGFMT_RGB48NE},
- {"rgb24", IMGFMT_RGB24},
- {"rgb32", IMGFMT_RGB32},
- {"rgb16", IMGFMT_RGB16},
- {"rgb15", IMGFMT_RGB15},
- {"rgb12", IMGFMT_RGB12},
- {"rgb8", IMGFMT_RGB8},
- {"rgb4", IMGFMT_RGB4},
- {"rg4b", IMGFMT_RG4B},
- {"rgb1", IMGFMT_RGB1},
- {"rgba", IMGFMT_RGBA},
- {"argb", IMGFMT_ARGB},
- {"bgra", IMGFMT_BGRA},
- {"abgr", IMGFMT_ABGR},
- {"mjpeg", IMGFMT_MJPEG},
- {"mjpg", IMGFMT_MJPEG},
- { NULL, 0 }
-};
-
static int parse_imgfmt(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
uint32_t fmt = 0;
- int i;
if (param.len == 0)
return M_OPT_MISSING_PARAM;
if (!bstrcmp0(param, "help")) {
mp_msg(MSGT_CFGPARSER, MSGL_INFO, "Available formats:");
- for (i = 0; mp_imgfmt_list[i].name; i++)
+ for (int i = 0; mp_imgfmt_list[i].name; i++)
mp_msg(MSGT_CFGPARSER, MSGL_INFO, " %s", mp_imgfmt_list[i].name);
mp_msg(MSGT_CFGPARSER, MSGL_INFO, "\n");
return M_OPT_EXIT - 1;
@@ -1009,13 +934,8 @@ static int parse_imgfmt(const m_option_t *opt, struct bstr name,
if (bstr_startswith0(param, "0x"))
fmt = bstrtoll(param, NULL, 16);
else {
- for (i = 0; mp_imgfmt_list[i].name; i++) {
- if (!bstrcasecmp0(param, mp_imgfmt_list[i].name)) {
- fmt = mp_imgfmt_list[i].fmt;
- break;
- }
- }
- if (!mp_imgfmt_list[i].name) {
+ fmt = imgfmt_parse(param, false);
+ if (!fmt) {
mp_msg(MSGT_CFGPARSER, MSGL_ERR,
"Option %.*s: unknown format name: '%.*s'\n",
BSTR_P(name), BSTR_P(param));
@@ -1080,7 +1000,8 @@ static struct {
};
static int parse_afmt(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
uint32_t fmt = 0;
int i;
@@ -1148,7 +1069,8 @@ static int parse_timestring(struct bstr str, double *time, char endchar)
static int parse_time(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
double time;
@@ -1178,7 +1100,8 @@ const m_option_type_t m_option_type_time = {
// Time or size (-endpos)
static int parse_time_size(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
m_time_size_t ts;
char unit[4];
@@ -1410,7 +1333,8 @@ static int get_obj_params(struct bstr opt_name, struct bstr name,
}
static int parse_obj_params(const m_option_t *opt, struct bstr name,
- struct bstr param, bool ambiguous_param, void *dst)
+ struct bstr param, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
char **opts;
int r;
@@ -1608,7 +1532,7 @@ static void free_obj_settings_list(void *dst)
static int parse_obj_settings_list(const m_option_t *opt, struct bstr name,
struct bstr param, bool ambiguous_param,
- void *dst)
+ void *dst, void *talloc_ctx)
{
int len = strlen(opt->name);
m_obj_settings_t *res = NULL, *queue = NULL, *head = NULL;
@@ -1739,7 +1663,7 @@ static int parse_obj_settings_list(const m_option_t *opt, struct bstr name,
}
static void copy_obj_settings_list(const m_option_t *opt, void *dst,
- const void *src)
+ const void *src, void *talloc_ctx)
{
m_obj_settings_t *d, *s;
int n;
@@ -1762,7 +1686,7 @@ static void copy_obj_settings_list(const m_option_t *opt, void *dst,
for (n = 0; s[n].name; n++) {
d[n].name = talloc_strdup(NULL, s[n].name);
d[n].attribs = NULL;
- copy_str_list(NULL, &(d[n].attribs), &(s[n].attribs));
+ copy_str_list(NULL, &(d[n].attribs), &(s[n].attribs), NULL);
}
d[n].name = NULL;
d[n].attribs = NULL;
@@ -1782,7 +1706,7 @@ const m_option_type_t m_option_type_obj_settings_list = {
static int parse_obj_presets(const m_option_t *opt, struct bstr name,
struct bstr param, bool ambiguous_param,
- void *dst)
+ void *dst, void *talloc_ctx)
{
m_obj_presets_t *obj_p = (m_obj_presets_t *)opt->priv;
const m_struct_t *in_desc;
@@ -1857,7 +1781,8 @@ const m_option_type_t m_option_type_obj_presets = {
};
static int parse_custom_url(const m_option_t *opt, struct bstr name,
- struct bstr url, bool ambiguous_param, void *dst)
+ struct bstr url, bool ambiguous_param, void *dst,
+ void *talloc_ctx)
{
int r;
m_struct_t *desc = opt->priv;
@@ -1906,6 +1831,8 @@ static int parse_custom_url(const m_option_t *opt, struct bstr name,
struct bstr path = bstr_cut(ptr1, idx);
idx = bstrchr(hostpart, '@');
if (idx >= 0) {
+ struct bstr userpass = bstr_splice(hostpart, 0, idx);
+ hostpart = bstr_cut(hostpart, idx + 1);
// We got something, at least a username...
if (!m_option_list_find(desc->fields, "username")) {
mp_msg(MSGT_CFGPARSER, MSGL_WARN,
@@ -1913,7 +1840,6 @@ static int parse_custom_url(const m_option_t *opt, struct bstr name,
BSTR_P(name));
// skip
} else {
- struct bstr userpass = bstr_splice(hostpart, 0, idx);
idx = bstrchr(userpass, ':');
if (idx >= 0) {
// We also have a password
@@ -1953,7 +1879,6 @@ static int parse_custom_url(const m_option_t *opt, struct bstr name,
}
}
}
- hostpart = bstr_cut(hostpart, idx + 1);
}
// Before looking for a port number check if we have an IPv6 type
diff --git a/m_option.h b/m_option.h
index 879b9d6..648c560 100644
--- a/m_option.h
+++ b/m_option.h
@@ -192,11 +192,12 @@ struct m_option_type {
* may not be an argument meant for this option
* \param dst Pointer to the memory where the data should be written.
* If NULL the parameter validity should still be checked.
+ * talloc_ctx: talloc context if value type requires allocations
* \return On error a negative value is returned, on success the number
* of arguments consumed. For details see \ref OptionParserReturn.
*/
int (*parse)(const m_option_t *opt, struct bstr name, struct bstr param,
- bool ambiguous_param, void *dst);
+ bool ambiguous_param, void *dst, void *talloc_ctx);
// Print back a value in string form.
/** \param opt The option to print.
@@ -210,8 +211,10 @@ struct m_option_type {
/** \param opt The option to copy.
* \param dst Pointer to the destination memory.
* \param src Pointer to the source memory.
+ * talloc_ctx: talloc context to use in deep copy
*/
- void (*copy)(const m_option_t *opt, void *dst, const void *src);
+ void (*copy)(const m_option_t *opt, void *dst, const void *src,
+ void *talloc_ctx);
// Free the data allocated for a save slot.
/** This is only needed for dynamic types like strings.
@@ -256,6 +259,9 @@ struct m_option {
int new;
int offset;
+
+ // Initialize variable to given default before parsing options
+ void *defval;
};
@@ -382,7 +388,7 @@ static inline int m_option_parse(const m_option_t *opt, struct bstr name,
struct bstr param, bool ambiguous_param,
void *dst)
{
- return opt->type->parse(opt, name, param, ambiguous_param, dst);
+ return opt->type->parse(opt, name, param, ambiguous_param, dst, NULL);
}
// Helper to print options, see \ref m_option_type::print.
@@ -399,7 +405,7 @@ static inline void m_option_copy(const m_option_t *opt, void *dst,
const void *src)
{
if (opt->type->copy)
- opt->type->copy(opt, dst, src);
+ opt->type->copy(opt, dst, src, NULL);
}
// Helper around \ref m_option_type::free.
@@ -424,22 +430,39 @@ static inline void m_option_free(const m_option_t *opt, void *dst)
#define OPT_START_CONDITIONAL(enable, featurename) OPT_START_CONDITIONAL_AFTERMACROEVAL(enable, featurename)
#define OPT_START_CONDITIONAL_AFTERMACROEVAL(enable, featurename) {"conditional functionality: " #enable, .p = featurename}
-#define OPT_FLAG_ON(optname, varname, flags) {optname, NULL, &m_option_type_flag, flags, 0, 1, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_FLAG_OFF(optname, varname, flags) {optname, NULL, &m_option_type_flag, flags, 1, 0, NULL, 1, offsetof(struct MPOpts, varname)}
+#define OPTDEF_STR(s) .defval = (void *)&(char * const){s}
+#define OPTDEF_INT(i) .defval = (void *)&(const int){i}
+
+#define OPT_GENERAL(optname, varname, flagv, ...) {.name = optname, .flags = flagv, .new = 1, .offset = offsetof(OPT_BASE_STRUCT, varname), __VA_ARGS__}
+
+/* The OPT_FLAG_CONSTANTS->OPT_FLAG_CONSTANTS_ kind of redirection exists to
+ * make the code fully standard-conforming: the C standard requires that
+ * __VA_ARGS__ has at least one argument (though GCC for example would accept
+ * 0). Thus the first OPT_FLAG_CONSTANTS is a wrapper which just adds one
+ * argument to ensure __VA_ARGS__ is not empty when calling the next macro.
+ */
+#define OPT_FLAG_ON(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_flag, .max = 1)
+#define OPT_FLAG_OFF(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_flag, .min = 1)
#define OPT_MAKE_FLAGS(optname, varname, flags) OPT_FLAG_ON(optname, varname, flags), OPT_FLAG_OFF("no" optname, varname, flags)
-#define OPT_FLAG_CONSTANTS(optname, varname, flags, offvalue, value) {optname, NULL, &m_option_type_flag, flags, offvalue, value, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_STRINGLIST(optname, varname, flags) {optname, NULL, &m_option_type_string_list, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_PATHLIST(optname, varname, flags) {optname, NULL, &m_option_type_string_list, flags, 0, 0, (void *)&(const char){OPTION_PATH_SEPARATOR}, 1, offsetof(struct MPOpts, varname)}
-#define OPT_INT(optname, varname, flags) {optname, NULL, &m_option_type_int, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_INTRANGE(optname, varname, flags, min, max) {optname, NULL, &m_option_type_int, (flags) | CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_INTPAIR(optname, varname, flags) {optname, NULL, &m_option_type_intpair, (flags), 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_FLOATRANGE(optname, varname, flags, min, max) {optname, NULL, &m_option_type_float, (flags) | CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_STRING(optname, varname, flags) {optname, NULL, &m_option_type_string, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_SETTINGSLIST(optname, varname, flags, objlist) {optname, NULL, &m_option_type_obj_settings_list, flags, 0, 0, objlist, 1, offsetof(struct MPOpts, varname)}
-#define OPT_AUDIOFORMAT(optname, varname, flags) {optname, NULL, &m_option_type_afmt, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
+#define OPT_FLAG_CONSTANTS(...) OPT_FLAG_CONSTANTS_(__VA_ARGS__, .type = &m_option_type_flag)
+#define OPT_FLAG_CONSTANTS_(optname, varname, flags, offvalue, value, ...) OPT_GENERAL(optname, varname, flags, .min = offvalue, .max = value, __VA_ARGS__)
+#define OPT_STRINGLIST(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_string_list)
+#define OPT_PATHLIST(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_string_list, .priv = (void *)&(const char){OPTION_PATH_SEPARATOR})
+#define OPT_INT(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_int)
+#define OPT_INTRANGE(...) OPT_RANGE_(__VA_ARGS__, .type = &m_option_type_int)
+#define OPT_RANGE_(optname, varname, flags, minval, maxval, ...) OPT_GENERAL(optname, varname, (flags) | CONF_RANGE, .min = minval, .max = maxval, __VA_ARGS__)
+#define OPT_INTPAIR(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_intpair)
+#define OPT_FLOAT(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_float)
+#define OPT_FLOATRANGE(...) OPT_RANGE_(__VA_ARGS__, .type = &m_option_type_float)
+#define OPT_STRING(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_string)
+#define OPT_SETTINGSLIST(optname, varname, flags, objlist) OPT_GENERAL(optname, varname, flags, .type = &m_option_type_obj_settings_list, .priv = objlist)
+#define OPT_AUDIOFORMAT(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_afmt)
#define OPT_HELPER_REMOVEPAREN(...) __VA_ARGS__
-#define OPT_CHOICE(optname, varname, flags, choices) {optname, NULL, &m_option_type_choice, flags, 0, 0, (void *)&(const struct m_opt_choice_alternatives[]){OPT_HELPER_REMOVEPAREN choices, {NULL}}, 1, offsetof(struct MPOpts, varname)}
-#define OPT_TIME(optname, varname, flags) {optname, NULL, &m_option_type_time, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)}
-#define OPT_ERRORMESSAGE(optname, message) {optname, message, CONF_TYPE_PRINT}
+#define OPT_CHOICE(...) OPT_CHOICE_(__VA_ARGS__, .type = &m_option_type_choice)
+#define OPT_CHOICE_(optname, varname, flags, choices, ...) OPT_GENERAL(optname, varname, flags, .priv = (void *)&(const struct m_opt_choice_alternatives[]){OPT_HELPER_REMOVEPAREN choices, {NULL}}, __VA_ARGS__)
+#define OPT_TIME(...) OPT_GENERAL(__VA_ARGS__, .type = &m_option_type_time)
+#define OPT_ERRORMESSAGE(optname, message) {.name = optname, .p = message, .type = &m_option_type_print}
+
+#define OPT_BASE_STRUCT struct MPOpts
#endif /* MPLAYER_M_OPTION_H */
diff --git a/m_property.c b/m_property.c
index bbc11de..2c9f723 100644
--- a/m_property.c
+++ b/m_property.c
@@ -260,10 +260,8 @@ int m_property_int_range(const m_option_t *prop, int action,
M_PROPERTY_CLAMP(prop, *(int *)arg);
*var = *(int *)arg;
return 1;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- *var += (arg ? *(int *)arg : 1) *
- (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
+ case M_PROPERTY_STEP:
+ *var += (arg ? *(int *)arg : 1);
M_PROPERTY_CLAMP(prop, *var);
return 1;
}
@@ -274,9 +272,8 @@ int m_property_choice(const m_option_t *prop, int action,
void *arg, int *var)
{
switch (action) {
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- *var += action == M_PROPERTY_STEP_UP ? 1 : prop->max;
+ case M_PROPERTY_STEP:
+ *var += (!arg || *(int *)arg >= 0) ? 1 : prop->max;
*var %= (int)prop->max + 1;
return 1;
}
@@ -301,8 +298,7 @@ int m_property_flag(const m_option_t *prop, int action,
void *arg, int *var)
{
switch (action) {
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
+ case M_PROPERTY_STEP:
*var = *var == prop->min ? prop->max : prop->min;
return 1;
case M_PROPERTY_PRINT:
@@ -339,10 +335,8 @@ int m_property_float_range(const m_option_t *prop, int action,
M_PROPERTY_CLAMP(prop, *(float *)arg);
*var = *(float *)arg;
return 1;
- case M_PROPERTY_STEP_UP:
- case M_PROPERTY_STEP_DOWN:
- *var += (arg ? *(float *)arg : 0.1) *
- (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
+ case M_PROPERTY_STEP:
+ *var += (arg ? *(float *)arg : 0.1);
M_PROPERTY_CLAMP(prop, *var);
return 1;
}
@@ -381,6 +375,16 @@ int m_property_double_ro(const m_option_t *prop, int action,
return M_PROPERTY_NOT_IMPLEMENTED;
}
+static char *format_time(double time)
+{
+ int h, m, s = time;
+ h = s / 3600;
+ s -= h * 3600;
+ m = s / 60;
+ s -= m * 60;
+ return talloc_asprintf(NULL, "%02d:%02d:%02d", h, m, s);
+}
+
int m_property_time_ro(const m_option_t *prop, int action,
void *arg, double var)
{
@@ -389,17 +393,7 @@ int m_property_time_ro(const m_option_t *prop, int action,
if (!arg)
return M_PROPERTY_ERROR;
else {
- int h, m, s = var;
- h = s / 3600;
- s -= h * 3600;
- m = s / 60;
- s -= m * 60;
- if (h > 0)
- *(char **)arg = talloc_asprintf(NULL, "%d:%02d:%02d", h, m, s);
- else if (m > 0)
- *(char **)arg = talloc_asprintf(NULL, "%d:%02d", m, s);
- else
- *(char **)arg = talloc_asprintf(NULL, "%d", s);
+ *(char **)arg = format_time(var);
return M_PROPERTY_OK;
}
}
diff --git a/m_property.h b/m_property.h
index 0a94b26..1e377f8 100644
--- a/m_property.h
+++ b/m_property.h
@@ -58,17 +58,10 @@
*/
#define M_PROPERTY_PARSE 3
-/// Increment the current value.
-/** The sign of the argument is also taken into account if applicable.
- * \param arg Pointer to a variable of the right type or NULL.
- */
-#define M_PROPERTY_STEP_UP 4
-
-/// Decrement the current value.
-/** The sign of the argument is also taken into account if applicable.
+/*
* \param arg Pointer to a variable of the right type or NULL.
*/
-#define M_PROPERTY_STEP_DOWN 5
+#define M_PROPERTY_STEP 4
/// Get a string containg a parsable representation.
/** Set the variable to a newly allocated string or NULL.
diff --git a/m_struct.c b/m_struct.c
index 8b34cea..6e32bf3 100644
--- a/m_struct.c
+++ b/m_struct.c
@@ -71,7 +71,7 @@ int m_struct_set(const m_struct_t *st, void *obj, const char *field,
return 0;
}
- if(f->type->parse(f, bstr(field), param, false, M_ST_MB_P(obj,f->p)) < 0) {
+ if(f->type->parse(f, bstr(field), param, false, M_ST_MB_P(obj,f->p), NULL) < 0) {
mp_msg(MSGT_CFGPARSER, MSGL_ERR,"Struct %s, field %s parsing error: %.*s\n",
st->name, field, BSTR_P(param));
return 0;
diff --git a/mixer.c b/mixer.c
index 7be2179..8019942 100644
--- a/mixer.c
+++ b/mixer.c
@@ -120,7 +120,7 @@ void mixer_setvolume(mixer_t *mixer, float l, float r)
checkvolume(mixer); // to check mute status and AO support for volume
mixer->vol_l = av_clip(l, 0, 100);
mixer->vol_r = av_clip(r, 0, 100);
- if (!mixer->ao || mixer->muted)
+ if (!mixer->ao || mixer->muted_using_volume)
return;
setvolume_internal(mixer, mixer->vol_l, mixer->vol_r);
}
@@ -265,6 +265,9 @@ void mixer_reinit(struct mixer *mixer, struct ao *ao)
*/
void mixer_uninit(struct mixer *mixer)
{
+ if (!mixer->ao)
+ return;
+
checkvolume(mixer);
if (mixer->muted_by_us) {
/* Current audio output API combines playing the remaining buffered
diff --git a/mp_core.h b/mp_core.h
index 4481e61..655926a 100644
--- a/mp_core.h
+++ b/mp_core.h
@@ -86,7 +86,6 @@ struct chapter {
typedef struct MPContext {
struct MPOpts opts;
struct m_config *mconfig;
- struct vo_x11_state *x11_state;
struct mp_fifo *key_fifo;
struct input_ctx *input;
struct osd_state *osd;
@@ -195,9 +194,8 @@ typedef struct MPContext {
int sub_counts[SUB_SOURCES];
// set_of_ass_tracks[i] contains subtitles from set_of_subtitles[i]
// parsed by libass or NULL if format unsupported
- struct ass_track *set_of_ass_tracks[MAX_SUBTITLE_FILES];
+ struct sh_sub *set_of_ass_tracks[MAX_SUBTITLE_FILES];
sub_data* set_of_subtitles[MAX_SUBTITLE_FILES];
- bool track_was_native_ass[MAX_SUBTITLE_FILES];
struct ass_library *ass_library;
int file_format;
diff --git a/mp_osd.h b/mp_osd.h
index 6c80ea3..4725737 100644
--- a/mp_osd.h
+++ b/mp_osd.h
@@ -39,6 +39,7 @@ struct MPContext;
void set_osd_bar(struct MPContext *mpctx, int type,const char* name,double min,double max,double val);
void set_osd_msg(int id, int level, int time, const char* fmt, ...);
void set_osd_tmsg(int id, int level, int time, const char* fmt, ...);
+void set_osd_progressmsg(int id, int level, int time, ...);
void rm_osd_msg(int id);
#endif /* MPLAYER_MP_OSD_H */
diff --git a/mplayer.c b/mplayer.c
index 5aa6f4c..7e0ca02 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -80,14 +80,13 @@
#include "sub/subreader.h"
#include "sub/find_subfiles.h"
#include "sub/dec_sub.h"
+#include "sub/sub_cc.h"
#include "mp_osd.h"
#include "libvo/video_out.h"
#include "screenshot.h"
-#include "sub/font_load.h"
#include "sub/sub.h"
-#include "sub/av_sub.h"
#include "libmpcodecs/dec_teletext.h"
#include "cpudetect.h"
#include "version.h"
@@ -304,9 +303,6 @@ int vobsub_id = -1;
static char *spudec_ifo = NULL;
int forced_subs_only = 0;
-// cache2:
-int stream_cache_size = -1;
-
// dump:
int stream_dump_type = 0;
@@ -321,16 +317,6 @@ int frame_dropping = 0; // option 0=no drop 1= drop vo 2= drop decode
static int play_n_frames = -1;
static int play_n_frames_mf = -1;
-// sub:
-char *font_name = NULL;
-char *sub_font_name = NULL;
-extern int font_fontconfig;
-float font_factor = 0.75;
-float sub_delay = 0;
-float sub_fps = 0;
-int subcc_enabled = 0;
-int suboverlap_enabled = 1;
-
#include "sub/ass_mp.h"
char *current_module; // for debugging
@@ -598,8 +584,8 @@ void uninit_player(struct MPContext *mpctx, unsigned int mask)
if (mask & INITIALIZED_SUB) {
mpctx->initialized_flags &= ~INITIALIZED_SUB;
- if (mpctx->d_sub->sh)
- sub_switchoff(mpctx->d_sub->sh, mpctx->osd);
+ if (mpctx->osd->sh_sub)
+ sub_switchoff(mpctx->osd->sh_sub, mpctx->osd);
}
if (mask & INITIALIZED_VCODEC) {
@@ -685,10 +671,9 @@ void uninit_player(struct MPContext *mpctx, unsigned int mask)
if (mask & INITIALIZED_AO) {
mpctx->initialized_flags &= ~INITIALIZED_AO;
current_module = "uninit_ao";
- if (mpctx->ao) {
- mixer_uninit(&mpctx->mixer);
+ mixer_uninit(&mpctx->mixer);
+ if (mpctx->ao)
ao_uninit(mpctx->ao, mpctx->stop_play != AT_END_OF_FILE);
- }
mpctx->ao = NULL;
}
@@ -701,21 +686,10 @@ void exit_player_with_rc(struct MPContext *mpctx, enum exit_reason how, int rc)
#if defined(__MINGW32__) || defined(__CYGWIN__)
timeEndPeriod(1);
#endif
-#ifdef CONFIG_X11
- vo_uninit(mpctx->x11_state); // Close the X11 connection (if any is open).
-#endif
current_module = "uninit_input";
mp_input_uninit(mpctx->input);
-#ifdef CONFIG_FREETYPE
- current_module = "uninit_font";
- if (mpctx->osd && mpctx->osd->sub_font != vo_font)
- free_font_desc(mpctx->osd->sub_font);
- free_font_desc(vo_font);
- vo_font = NULL;
- done_freetype();
-#endif
osd_free(mpctx->osd);
#ifdef CONFIG_ASS
@@ -1065,20 +1039,20 @@ void add_subtitles(struct MPContext *mpctx, char *filename, float fps,
{
struct MPOpts *opts = &mpctx->opts;
sub_data *subd = NULL;
- struct ass_track *asst = NULL;
- bool is_native_ass = false;
+ struct sh_sub *sh = NULL;
if (filename == NULL || mpctx->set_of_sub_size >= MAX_SUBTITLE_FILES)
return;
-#ifdef CONFIG_ASS
if (opts->ass_enabled) {
+#ifdef CONFIG_ASS
+ struct ass_track *asst;
#ifdef CONFIG_ICONV
asst = mp_ass_read_stream(mpctx->ass_library, filename, sub_cp);
#else
asst = mp_ass_read_stream(mpctx->ass_library, filename, 0);
#endif
- is_native_ass = asst;
+ bool is_native_ass = asst;
if (!asst) {
subd = sub_read_file(filename, fps, &mpctx->opts);
if (subd) {
@@ -1087,20 +1061,21 @@ void add_subtitles(struct MPContext *mpctx, char *filename, float fps,
subd = NULL;
}
}
- } else
+ if (asst)
+ sh = sd_ass_create_from_track(asst, is_native_ass, opts);
#endif
- subd = sub_read_file(filename, fps, &mpctx->opts);
+ } else
+ subd = sub_read_file(filename, fps, &mpctx->opts);
- if (!asst && !subd) {
+ if (!sh && !subd) {
mp_tmsg(MSGT_CPLAYER, noerr ? MSGL_WARN : MSGL_ERR,
"Cannot load subtitles: %s\n", filename_recode(filename));
return;
}
- mpctx->set_of_ass_tracks[mpctx->set_of_sub_size] = asst;
+ mpctx->set_of_ass_tracks[mpctx->set_of_sub_size] = sh;
mpctx->set_of_subtitles[mpctx->set_of_sub_size] = subd;
- mpctx->track_was_native_ass[mpctx->set_of_sub_size] = is_native_ass;
mp_msg(MSGT_IDENTIFY, MSGL_INFO,
"ID_FILE_SUB_ID=%d\n", mpctx->set_of_sub_size);
mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_FILE_SUB_FILENAME=%s\n",
@@ -1321,7 +1296,7 @@ static void print_status(struct MPContext *mpctx, double a_pos, bool at_frame)
#ifdef CONFIG_STREAM_CACHE
// cache stats
- if (stream_cache_size > 0)
+ if (opts->stream_cache_size > 0)
saddf(line, &pos, width, "%d%% ", cache_fill_status(mpctx->stream));
#endif
@@ -1436,6 +1411,8 @@ struct mp_osd_msg {
int id, level, started;
/// Display duration in ms.
unsigned time;
+ // Show full OSD for duration of message instead of static text ('P' key)
+ bool show_position;
};
/// OSD message stack.
@@ -1448,8 +1425,8 @@ static mp_osd_msg_t *osd_msg_stack = NULL;
* it is pulled on top of the stack, otherwise a new message is created.
*
*/
-static void set_osd_msg_va(int id, int level, int time, const char *fmt,
- va_list ap)
+static void set_osd_msg_va(int id, int level, int time, bool show_position,
+ const char *fmt, va_list ap)
{
mp_osd_msg_t *msg, *last = NULL;
@@ -1473,14 +1450,14 @@ static void set_osd_msg_va(int id, int level, int time, const char *fmt,
msg->id = id;
msg->level = level;
msg->time = time;
-
+ msg->show_position = show_position;
}
void set_osd_msg(int id, int level, int time, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- set_osd_msg_va(id, level, time, fmt, ap);
+ set_osd_msg_va(id, level, time, false, fmt, ap);
va_end(ap);
}
@@ -1488,7 +1465,15 @@ void set_osd_tmsg(int id, int level, int time, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- set_osd_msg_va(id, level, time, mp_gtext(fmt), ap);
+ set_osd_msg_va(id, level, time, false, mp_gtext(fmt), ap);
+ va_end(ap);
+}
+
+void set_osd_progressmsg(int id, int level, int time, ...)
+{
+ va_list ap;
+ va_start(ap, time);
+ set_osd_msg_va(id, level, time, true, "", ap);
va_end(ap);
}
@@ -1665,7 +1650,6 @@ static void update_osd_msg(struct MPContext *mpctx)
struct MPOpts *opts = &mpctx->opts;
mp_osd_msg_t *msg;
struct osd_state *osd = mpctx->osd;
- char osd_text_timer[128];
if (mpctx->add_osd_seek_info) {
double percentage = get_percent_pos(mpctx);
@@ -1676,7 +1660,7 @@ static void update_osd_msg(struct MPContext *mpctx)
}
// Look if we have a msg
- if ((msg = get_osd_msg(mpctx))) {
+ if ((msg = get_osd_msg(mpctx)) && !msg->show_position) {
if (strcmp(osd->osd_text, msg->msg)) {
osd_set_text(osd, msg->msg);
if (mpctx->sh_video)
@@ -1688,9 +1672,14 @@ static void update_osd_msg(struct MPContext *mpctx)
return;
}
+ int osdlevel = opts->osd_level;
+ if (msg && msg->show_position)
+ osdlevel = 3;
+
if (mpctx->sh_video) {
// fallback on the timer
- if (opts->osd_level >= 2) {
+ char osd_text_timer[128] = {0};
+ if (osdlevel >= 2) {
int len = get_time_length(mpctx);
int percentage = -1;
char percentage_text[10];
@@ -1731,19 +1720,22 @@ static void update_osd_msg(struct MPContext *mpctx)
fractions_text[0] = 0;
}
- if (opts->osd_level == 3)
- snprintf(osd_text_timer, sizeof(osd_text_timer),
- "%c %02d:%02d:%02d%s / %02d:%02d:%02d%s",
- mpctx->osd_function, pts / 3600, (pts / 60) % 60, pts % 60,
- fractions_text, len / 3600, (len / 60) % 60, len % 60,
+ osd_get_function_sym(osd_text_timer, sizeof(osd_text_timer),
+ mpctx->osd_function);
+ size_t blen = strlen(osd_text_timer);
+
+ if (osdlevel == 3)
+ snprintf(osd_text_timer + blen, sizeof(osd_text_timer) - blen,
+ " %02d:%02d:%02d%s / %02d:%02d:%02d%s",
+ pts / 3600, (pts / 60) % 60, pts % 60, fractions_text,
+ len / 3600, (len / 60) % 60, len % 60,
percentage_text);
else
- snprintf(osd_text_timer, sizeof(osd_text_timer),
- "%c %02d:%02d:%02d%s%s",
- mpctx->osd_function, pts / 3600, (pts / 60) % 60,
- pts % 60, fractions_text, percentage_text);
- } else
- osd_text_timer[0] = 0;
+ snprintf(osd_text_timer + blen, sizeof(osd_text_timer) - blen,
+ " %02d:%02d:%02d%s%s",
+ pts / 3600, (pts / 60) % 60, pts % 60, fractions_text,
+ percentage_text);
+ }
if (strcmp(osd->osd_text, osd_text_timer)) {
osd_set_text(osd, osd_text_timer);
@@ -1770,14 +1762,11 @@ void reinit_audio_chain(struct MPContext *mpctx)
}
if (!(mpctx->initialized_flags & INITIALIZED_ACODEC)) {
current_module = "init_audio_codec";
- mp_msg(MSGT_CPLAYER, MSGL_INFO, "==========================================================================\n");
if (!init_best_audio_codec(mpctx->sh_audio, audio_codec_list, audio_fm_list))
goto init_error;
mpctx->initialized_flags |= INITIALIZED_ACODEC;
- mp_msg(MSGT_CPLAYER, MSGL_INFO, "==========================================================================\n");
}
-
current_module = "af_preinit";
if (!(mpctx->initialized_flags & INITIALIZED_AO)) {
mpctx->initialized_flags |= INITIALIZED_AO;
@@ -1846,6 +1835,8 @@ init_error:
static double written_audio_pts(struct MPContext *mpctx)
{
sh_audio_t *sh_audio = mpctx->sh_audio;
+ if (!sh_audio)
+ return MP_NOPTS_VALUE;
demux_stream_t *d_audio = mpctx->d_audio;
// first calculate the end pts of audio that has been output by decoder
double a_pts = sh_audio->pts;
@@ -1933,8 +1924,6 @@ void update_subtitles(struct MPContext *mpctx, double refpts_tl, bool reset)
spudec_reset(vo_spudec);
vo_osd_changed(OSDTYPE_SPU);
}
- if (is_av_sub(type))
- reset_avsub(sh_sub);
return;
}
// find sub
@@ -2019,13 +2008,6 @@ void update_subtitles(struct MPContext *mpctx, double refpts_tl, bool reset)
}
double duration = d_sub->first->duration;
len = ds_get_packet_sub(d_sub, &packet);
- if (is_av_sub(type)) {
- int ret = decode_avsub(sh_sub, packet, len, subpts_s, duration);
- if (ret < 0)
- mp_msg(MSGT_SPUDEC, MSGL_WARN, "lavc failed decoding "
- "subtitle\n");
- continue;
- }
if (type == 'm') {
if (len < 2)
continue;
@@ -2629,8 +2611,7 @@ int reinit_video_chain(struct MPContext *mpctx)
//shouldn't we set dvideo->id=-2 when we fail?
//if((mpctx->video_out->preinit(vo_subdevice))!=0){
- if (!(mpctx->video_out = init_best_video_out(opts, mpctx->x11_state,
- mpctx->key_fifo,
+ if (!(mpctx->video_out = init_best_video_out(opts, mpctx->key_fifo,
mpctx->input))) {
mp_tmsg(MSGT_CPLAYER, MSGL_FATAL, "Error opening/initializing "
"the selected video_out (-vo) device.\n");
@@ -2686,17 +2667,13 @@ int reinit_video_chain(struct MPContext *mpctx)
sh_video->vfilter = append_filters(sh_video->vfilter, opts->vf_settings);
-#ifdef CONFIG_ASS
if (opts->ass_enabled)
sh_video->vfilter->control(sh_video->vfilter, VFCTRL_INIT_EOSD,
mpctx->ass_library);
-#endif
current_module = "init_video_codec";
- mp_msg(MSGT_CPLAYER, MSGL_INFO, "==========================================================================\n");
init_best_video_codec(sh_video, video_codec_list, video_fm_list);
- mp_msg(MSGT_CPLAYER, MSGL_INFO, "==========================================================================\n");
if (!sh_video->initialized) {
if (!opts->fixed_vo)
@@ -2788,8 +2765,8 @@ static double update_video_nocorrect_pts(struct MPContext *mpctx)
decoded_frame = mp_dvdnav_restore_smpi(mpctx, &in_size, &packet, NULL);
if (in_size >= 0 && !decoded_frame)
#endif
- decoded_frame = decode_video(sh_video, NULL, packet, in_size,
- framedrop_type, sh_video->pts);
+ decoded_frame = decode_video(sh_video, sh_video->ds->current, packet,
+ in_size, framedrop_type, sh_video->pts);
#ifdef CONFIG_DVDNAV
// Save last still frame for future display
mp_dvdnav_save_smpi(mpctx, in_size, packet, decoded_frame);
@@ -2935,7 +2912,8 @@ static double update_video(struct MPContext *mpctx)
static int get_cache_fill(struct MPContext *mpctx)
{
#ifdef CONFIG_STREAM_CACHE
- if (stream_cache_size > 0)
+ struct MPOpts *opts = &mpctx->opts;
+ if (opts->stream_cache_size > 0)
return cache_fill_status(mpctx->stream);
#endif
return -1;
@@ -3021,7 +2999,10 @@ static int redraw_osd(struct MPContext *mpctx)
return -1;
if (vo_redraw_frame(mpctx->video_out) < 0)
return -1;
- mpctx->osd->pts = mpctx->video_pts - mpctx->osd->sub_offset;
+ mpctx->osd->sub_pts = mpctx->video_pts;
+ if (mpctx->osd->sub_pts != MP_NOPTS_VALUE)
+ mpctx->osd->sub_pts += sub_delay - mpctx->osd->sub_offset;
+
if (!(sh_video->output_flags & VFCAP_EOSD_FILTER))
vf->control(vf, VFCTRL_DRAW_EOSD, mpctx->osd);
vf->control(vf, VFCTRL_DRAW_OSD, mpctx->osd);
@@ -3490,10 +3471,8 @@ static void run_playloop(struct MPContext *mpctx)
vo_check_events(vo);
#ifdef CONFIG_X11
- if (stop_xscreensaver) {
- current_module = "stop_xscreensaver";
- xscreensaver_heartbeat(mpctx->x11_state);
- }
+ if (stop_xscreensaver && vo->x11)
+ xscreensaver_heartbeat(vo->x11);
#endif
if (heartbeat_cmd) {
static unsigned last_heartbeat;
@@ -3561,7 +3540,9 @@ static void run_playloop(struct MPContext *mpctx)
update_teletext(sh_video, mpctx->demuxer, 0);
update_osd_msg(mpctx);
struct vf_instance *vf = sh_video->vfilter;
- mpctx->osd->pts = mpctx->video_pts - mpctx->osd->sub_offset;
+ mpctx->osd->sub_pts = mpctx->video_pts;
+ if (mpctx->osd->sub_pts != MP_NOPTS_VALUE)
+ mpctx->osd->sub_pts += sub_delay - mpctx->osd->sub_offset;
vf->control(vf, VFCTRL_DRAW_EOSD, mpctx->osd);
vf->control(vf, VFCTRL_DRAW_OSD, mpctx->osd);
vo_osd_changed(0);
@@ -3932,9 +3913,6 @@ int main(int argc, char *argv[])
mp_msg_init();
init_libav();
-#ifdef CONFIG_X11
- mpctx->x11_state = vo_x11_init_state();
-#endif
struct MPOpts *opts = &mpctx->opts;
set_default_mplayer_options(opts);
// Create the config context and register the options
@@ -3942,6 +3920,7 @@ int main(int argc, char *argv[])
m_config_register_options(mpctx->mconfig, mplayer_opts);
m_config_register_options(mpctx->mconfig, common_opts);
mp_input_register_options(mpctx->mconfig);
+ m_config_initialize(mpctx->mconfig, opts);
// Preparse the command line
m_config_preparse_command_line(mpctx->mconfig, argc, argv, &verbose);
@@ -4097,45 +4076,12 @@ int main(int argc, char *argv[])
//------ load global data first ------
- mpctx->osd = osd_create();
-
- // check font
-#ifdef CONFIG_FREETYPE
- init_freetype();
-#endif
-#ifdef CONFIG_FONTCONFIG
- if (font_fontconfig <= 0) {
-#endif
-#ifdef CONFIG_BITMAP_FONT
- if (font_name) {
- vo_font = read_font_desc(font_name, font_factor, verbose > 1);
- if (!vo_font)
- mp_tmsg(MSGT_CPLAYER, MSGL_ERR, "Cannot load bitmap font: %s\n",
- filename_recode(font_name));
- } else {
- // try default:
- vo_font = read_font_desc(mem_ptr = get_path("font/font.desc"),
- font_factor, verbose > 1);
- free(mem_ptr); // release the buffer created by get_path()
- if (!vo_font)
- vo_font = read_font_desc(MPLAYER_DATADIR "/font/font.desc",
- font_factor, verbose > 1);
- }
- if (sub_font_name)
- mpctx->osd->sub_font = read_font_desc(sub_font_name, font_factor,
- verbose > 1);
- else
- mpctx->osd->sub_font = vo_font;
-#endif
-#ifdef CONFIG_FONTCONFIG
-}
-#endif
-
#ifdef CONFIG_ASS
mpctx->ass_library = mp_ass_init(opts);
- mpctx->osd->ass_library = mpctx->ass_library;
#endif
+ mpctx->osd = osd_create(opts, mpctx->ass_library);
+
#ifdef HAVE_RTC
if (opts->rtc) {
char *rtc_device = opts->rtc_device;
@@ -4479,14 +4425,13 @@ play_next_file:
// CACHE2: initial prefill: 20% later: 5% (should be set by -cacheopts)
goto_enable_cache:
- if (stream_cache_size > 0) {
+ if (opts->stream_cache_size > 0) {
int res;
- float stream_cache_min_percent = opts->stream_cache_min_percent;
- float stream_cache_seek_min_percent = opts->stream_cache_seek_min_percent;
current_module = "enable_cache";
- res = stream_enable_cache(mpctx->stream, stream_cache_size * 1024,
- stream_cache_size * 1024 * (stream_cache_min_percent / 100.0),
- stream_cache_size * 1024 * (stream_cache_seek_min_percent / 100.0));
+ res = stream_enable_cache_percent(mpctx->stream,
+ opts->stream_cache_size,
+ opts->stream_cache_min_percent,
+ opts->stream_cache_seek_min_percent);
if (res == 0)
if ((mpctx->stop_play = libmpdemux_was_interrupted(mpctx, PT_NEXT_ENTRY)))
goto goto_next_file;
@@ -4607,7 +4552,7 @@ goto_enable_cache:
mpctx->initialized_flags |= INITIALIZED_DEMUXER;
#ifdef CONFIG_ASS
- if (opts->ass_enabled && mpctx->ass_library) {
+ if (opts->ass_enabled) {
for (int j = 0; j < mpctx->num_sources; j++) {
struct demuxer *d = mpctx->sources[j].demuxer;
for (int i = 0; i < d->num_attachments; i++) {
@@ -4618,6 +4563,16 @@ goto_enable_cache:
}
}
}
+ /* libass seems to misbehave if fonts are changed while a renderer
+ * exists, so we (re)create the renderer after fonts are set.
+ */
+ assert(!mpctx->osd->ass_renderer);
+ mpctx->osd->ass_renderer = ass_renderer_init(mpctx->osd->ass_library);
+ if (!mpctx->osd->ass_renderer) {
+ mp_msg(MSGT_OSD, MSGL_FATAL, "Failed to create libass renderer\n");
+ exit_player(mpctx, EXIT_ERROR);
+ }
+ mp_ass_configure_fonts(mpctx->osd->ass_renderer);
#endif
current_module = "demux_open2";
@@ -4793,13 +4748,7 @@ goto_enable_cache:
print_file_properties(mpctx, mpctx->filename);
reinit_video_chain(mpctx);
- if (mpctx->sh_video) {
- if (mpctx->sh_video->output_flags & VFCAP_SPU && vo_spudec)
- spudec_set_hw_spu(vo_spudec, mpctx->video_out);
-#ifdef CONFIG_FREETYPE
- force_load_font = 1;
-#endif
- } else if (!mpctx->sh_audio)
+ if (!mpctx->sh_video && !mpctx->sh_audio)
goto goto_next_file;
//================== MAIN: ==========================
@@ -4816,10 +4765,8 @@ goto_enable_cache:
if (verbose)
opts->term_osd = 0;
- // Make sure old OSD does not stay around,
- // e.g. with -fixed-vo and same-resolution files
+ // Make sure old OSD does not stay around
clear_osd_msgs();
- update_osd_msg(mpctx);
//================ SETUP AUDIO ==========================
@@ -5006,19 +4953,17 @@ goto_next_file: // don't jump here after ao/vo/getch initialization!
current_module = "sub_free";
for (i = 0; i < mpctx->set_of_sub_size; ++i) {
sub_free(mpctx->set_of_subtitles[i]);
-#ifdef CONFIG_ASS
- if (mpctx->set_of_ass_tracks[i])
- ass_free_track(mpctx->set_of_ass_tracks[i]);
-#endif
+ talloc_free(mpctx->set_of_ass_tracks[i]);
}
mpctx->set_of_sub_size = 0;
}
mpctx->vo_sub_last = vo_sub = NULL;
mpctx->subdata = NULL;
#ifdef CONFIG_ASS
- mpctx->osd->ass_track = NULL;
- if (mpctx->ass_library)
- ass_clear_fonts(mpctx->ass_library);
+ if (mpctx->osd->ass_renderer)
+ ass_renderer_done(mpctx->osd->ass_renderer);
+ mpctx->osd->ass_renderer = NULL;
+ ass_clear_fonts(mpctx->ass_library);
#endif
if (!mpctx->stop_play) // In case some goto jumped here...
diff --git a/mplayer.h b/mplayer.h
index 267b650..6e1ea30 100644
--- a/mplayer.h
+++ b/mplayer.h
@@ -31,18 +31,8 @@ extern char ** video_driver_list;
extern char ** audio_driver_list;
extern float audio_delay;
-extern unsigned int osd_visible;
-
-extern char * font_name;
-extern char * sub_font_name;
-extern float font_factor;
extern double force_fps;
-extern float sub_delay;
-extern float sub_fps;
-
-extern int stream_cache_size;
-
extern int frame_dropping;
extern int auto_quality;
diff --git a/options.h b/options.h
index 48f5c53..a0aa677 100644
--- a/options.h
+++ b/options.h
@@ -50,6 +50,7 @@ typedef struct MPOpts {
int chapter_merge_threshold;
int quiet;
int noconfig;
+ int stream_cache_size;
float stream_cache_min_percent;
float stream_cache_seek_min_percent;
int chapterrange[2];
@@ -77,7 +78,9 @@ typedef struct MPOpts {
int sub_id;
char **audio_lang;
char **sub_lang;
+ int sub_visibility;
int hr_mp3_seek;
+ char *quvi_format;
char *audio_stream;
int audio_stream_cache;
diff --git a/osdep/macosx_finder_args.m b/osdep/macosx_finder_args.m
index b006f11..da8396b 100644
--- a/osdep/macosx_finder_args.m
+++ b/osdep/macosx_finder_args.m
@@ -19,13 +19,16 @@
#import <Cocoa/Cocoa.h>
#import <ApplicationServices/ApplicationServices.h>
#include <stdio.h>
+#include "config.h"
#include "macosx_finder_args.h"
static play_tree_t *files = NULL;
+play_tree_t *play_tree_from_filenames(NSArray *filenames);
void macosx_wait_fileopen_events(void);
void macosx_redirect_output_to_logfile(const char *filename);
-bool psn_matches_current_process(char *psn_arg_to_check);
+bool psn_matches_current_process(const char *psn_arg_to_check);
+NSArray *argv_to_filenames(int argc, char **argv);
@interface FileOpenDelegate : NSObject
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames;
@@ -34,43 +37,46 @@ bool psn_matches_current_process(char *psn_arg_to_check);
@implementation FileOpenDelegate
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames
{
- files = play_tree_new();
+ files = play_tree_from_filenames(filenames);
+ [NSApp stop:nil]; // stop the runloop (give back control to mplayer2 code)
+}
+ at end
+
+play_tree_t *play_tree_from_filenames(NSArray *filenames) {
+ NSArray *sorted_filenames = [filenames
+ sortedArrayUsingSelector:@selector(compare:)];
+ play_tree_t *new_tree = play_tree_new();
play_tree_t *last_entry = nil;
- for (NSString *filename in filenames) {
+ for (NSString *filename in sorted_filenames) {
play_tree_t *entry = play_tree_new();
play_tree_add_file(entry, [filename UTF8String]);
if (last_entry)
- play_tree_append_entry(files, entry);
+ play_tree_append_entry(new_tree, entry);
else
- play_tree_set_child(files, entry);
+ play_tree_set_child(new_tree, entry);
last_entry = entry;
}
- [NSApp stop:nil]; // stop the runloop (give back control to mplayer2 code)
+ return new_tree;
}
- at end
void macosx_wait_fileopen_events()
{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSApp = [NSApplication sharedApplication];
[NSApp setDelegate: [[[FileOpenDelegate alloc] init] autorelease]];
[NSApp run]; // block until we recive the fileopen events
- [pool release];
}
void macosx_redirect_output_to_logfile(const char *filename)
{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *log_path = [NSHomeDirectory() stringByAppendingPathComponent:
[@"Library/Logs/" stringByAppendingFormat:@"%s.log", filename]];
freopen([log_path fileSystemRepresentation], "a", stdout);
freopen([log_path fileSystemRepresentation], "a", stderr);
- [pool release];
}
-bool psn_matches_current_process(char *psn_arg_to_check)
+bool psn_matches_current_process(const char *psn_arg_to_check)
{
ProcessSerialNumber psn;
char psn_arg[5+10+1+10+1];
@@ -83,13 +89,46 @@ bool psn_matches_current_process(char *psn_arg_to_check)
return strcmp(psn_arg, psn_arg_to_check) == 0;
}
+NSArray *argv_to_filenames(int argc, char **argv)
+{
+ NSMutableArray *filenames = [NSMutableArray arrayWithCapacity:argc-1];
+ for (int i=1; i < argc; i++) {
+ NSString *filename = [NSString stringWithUTF8String: argv[i]];
+ [filenames addObject: filename];
+ }
+ return filenames;
+}
+
play_tree_t *macosx_finder_args(m_config_t *config, int argc, char **argv)
{
- if (argc==2 && psn_matches_current_process(argv[1])) {
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+#ifndef CONFIG_SDL
+ if (argc == 2 && psn_matches_current_process(argv[1])) {
macosx_redirect_output_to_logfile("mplayer2");
m_config_set_option0(config, "quiet", NULL, false);
macosx_wait_fileopen_events();
}
+ // SDL's bootstrap code (include SDL.h in mplayer.c) renames main() to
+ // SDL_main() with a macro and defines it's own main(). There it starts a
+ // minimal Cocoa Application to wait for file open events.
+ // After the events come in, SDL will call the original main() with argv
+ // set to the list of files to open.
+
+ // NSProcessInfo still holds the original arguments of the process, so we
+ // can use that to figure out if we got called from the Finder.
+#else
+ NSArray *args = [[NSProcessInfo processInfo] arguments];
+ if ([args count] == 2) {
+ const char *psn = [[args objectAtIndex:1] UTF8String];
+
+ if (psn_matches_current_process(psn)) {
+ macosx_redirect_output_to_logfile("mplayer2");
+ m_config_set_option0(config, "quiet", NULL, false);
+ files = play_tree_from_filenames(argv_to_filenames(argc, argv));
+ }
+ }
+#endif
+ [pool release];
return files;
}
diff --git a/screenshot.c b/screenshot.c
index 4a9a6c4..38043da 100644
--- a/screenshot.c
+++ b/screenshot.c
@@ -39,7 +39,7 @@
#include "fmt-conversion.h"
-//for sws_getContextFromCmdLine and mp_sws_set_colorspace
+//for sws_getContextFromCmdLine_hq and mp_sws_set_colorspace
#include "libmpcodecs/vf_scale.h"
#include "libvo/csputils.h"
@@ -56,7 +56,11 @@ typedef struct screenshot_ctx {
static int destroy_ctx(void *ptr)
{
struct screenshot_ctx *ctx = ptr;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
+ avcodec_free_frame(&ctx->pic);
+#else
av_free(ctx->pic);
+#endif
return 0;
}
@@ -163,12 +167,12 @@ void screenshot_save(struct MPContext *mpctx, struct mp_image *image)
screenshot_ctx *ctx = screenshot_get_ctx(mpctx);
struct mp_image *dst = alloc_mpi(image->w, image->h, IMGFMT_RGB24);
- struct SwsContext *sws = sws_getContextFromCmdLine(image->width,
- image->height,
- image->imgfmt,
- dst->width,
- dst->height,
- dst->imgfmt);
+ struct SwsContext *sws = sws_getContextFromCmdLine_hq(image->width,
+ image->height,
+ image->imgfmt,
+ dst->width,
+ dst->height,
+ dst->imgfmt);
struct mp_csp_details colorspace;
get_detected_video_colorspace(mpctx->sh_video, &colorspace);
diff --git a/stream/cache2.c b/stream/cache2.c
index 47bc76a..b0d0d71 100644
--- a/stream/cache2.c
+++ b/stream/cache2.c
@@ -16,8 +16,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "config.h"
-
// Initial draft of my new cache system...
// Note it runs in 2 processes (using fork()), but doesn't require locking!!
// TODO: seeking, data consistency checking
@@ -39,7 +37,10 @@
#include <unistd.h>
#include <errno.h>
-#include "libavutil/avutil.h"
+#include <libavutil/common.h>
+
+#include "config.h"
+
#include "osdep/shmem.h"
#include "osdep/timer.h"
#if defined(__MINGW32__)
@@ -405,6 +406,14 @@ static void cache_mainloop(cache_vars_t *s) {
} while (cache_execute_control(s));
}
+int stream_enable_cache_percent(stream_t *stream, int stream_cache_size,
+ float stream_cache_min_percent, float stream_cache_seek_min_percent)
+{
+ return stream_enable_cache(stream, stream_cache_size * 1024,
+ stream_cache_size * 1024 * (stream_cache_min_percent / 100.0),
+ stream_cache_size * 1024 * (stream_cache_seek_min_percent / 100.0));
+}
+
/**
* \return 1 on success, 0 if the function was interrupted and -1 on error
*/
@@ -413,11 +422,6 @@ int stream_enable_cache(stream_t *stream,int size,int min,int seek_limit){
int res = -1;
cache_vars_t* s;
- if (stream->flags & STREAM_NON_CACHEABLE) {
- mp_msg(MSGT_CACHE,MSGL_STATUS,"\rThis stream is non-cacheable\n");
- return 1;
- }
-
s=cache_init(size,ss);
if(s == NULL) return -1;
stream->cache_data=s;
diff --git a/stream/freesdp/common.c b/stream/freesdp/common.c
deleted file mode 100644
index 9382674..0000000
--- a/stream/freesdp/common.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- This file is part of FreeSDP
- Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp at suidzer0.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-/**
- * @file common.c
- *
- * @short Implementation of routines common to parse and formatting
- * modules .
- *
- * This file implements the routines that operate over data structures
- * that are used in both the parse and formatting modules.
- **/
-
-#include "priv.h"
-#include "common.h"
-
-static void
-safe_free (void *ptr)
-{
- if (ptr)
- free (ptr);
-}
-
-fsdp_description_t *
-fsdp_description_new (void)
-{
- fsdp_description_t *result = malloc (sizeof (fsdp_description_t));
-
- result->version = 0;
- result->o_username = result->o_session_id =
- result->o_announcement_version = NULL;
- result->o_network_type = FSDP_NETWORK_TYPE_UNDEFINED;
- result->o_address_type = FSDP_ADDRESS_TYPE_UNDEFINED;
- result->o_address = NULL;
- result->s_name = NULL;
- result->i_information = NULL;
- result->u_uri = NULL;
- result->emails = NULL;
- result->emails_count = 0;
- result->phones = NULL;
- result->phones_count = 0;
- /* At first, there is no session-level definition for these
- parameters */
- result->c_network_type = FSDP_NETWORK_TYPE_UNDEFINED;
- result->c_address_type = FSDP_ADDRESS_TYPE_UNDEFINED;
- result->c_address.address = NULL;
- /* there is no session-level definition for these parameters */
- result->bw_modifiers = NULL;
- result->bw_modifiers_count = 0;
- result->time_periods = NULL;
- result->time_periods_count = 0;
- result->timezone_adj = NULL;
- result->k_encryption_method = FSDP_ENCRYPTION_METHOD_UNDEFINED;
- result->k_encryption_content = NULL;
- /* Default/undefined values for attributes */
- result->a_category = result->a_keywords = result->a_tool = NULL;
- result->a_type = FSDP_SESSION_TYPE_UNDEFINED;
- result->a_sendrecv_mode = FSDP_SENDRECV_UNDEFINED;
- result->a_charset = NULL;
- result->a_sdplangs = result->a_langs = NULL;
- result->a_controls = NULL;
- result->a_range = NULL;
- result->a_rtpmaps = NULL;
- result->a_rtpmaps_count = 0;
- result->a_sdplangs_count = 0;
- result->a_langs_count = 0;
- result->a_controls_count = 0;
- result->unidentified_attributes = NULL;
- result->unidentified_attributes_count = 0;
- result->media_announcements = NULL;
- result->media_announcements_count = 0;
-
- return result;
-}
-
-void
-fsdp_description_delete (fsdp_description_t * dsc)
-{
- fsdp_description_recycle (dsc);
- safe_free (dsc);
-}
-
-void
-fsdp_description_recycle (fsdp_description_t * dsc)
-{
- /* Recursively free all strings and arrays */
- unsigned int i, j;
-
- if (!dsc)
- return;
-
- safe_free (dsc->o_username);
- safe_free (dsc->o_session_id);
- safe_free (dsc->o_announcement_version);
- safe_free (dsc->o_address);
- safe_free (dsc->s_name);
- safe_free (dsc->i_information);
- safe_free (dsc->u_uri);
-
- for (i = 0; i < dsc->emails_count; i++)
- safe_free ((char *) dsc->emails[i]);
- safe_free (dsc->emails);
-
- for (i = 0; i < dsc->phones_count; i++)
- safe_free ((char *) dsc->phones[i]);
- safe_free (dsc->phones);
-
- safe_free (dsc->c_address.address);
-
- for (i = 0; i < dsc->bw_modifiers_count; i++)
- safe_free (dsc->bw_modifiers[i].b_unknown_bw_modt);
- safe_free (dsc->bw_modifiers);
-
- for (i = 0; i < dsc->time_periods_count; i++)
- {
- for (j = 0; j < dsc->time_periods[i]->repeats_count; j++)
- {
- safe_free (dsc->time_periods[i]->repeats[j]->offsets);
- safe_free (dsc->time_periods[i]->repeats[j]);
- }
- safe_free (dsc->time_periods[i]->repeats);
- safe_free (dsc->time_periods[i]);
- }
- safe_free (dsc->time_periods);
-
- safe_free (dsc->timezone_adj);
- safe_free (dsc->a_category);
- safe_free (dsc->a_keywords);
- safe_free (dsc->a_tool);
-
- for (i = 0; i < dsc->a_rtpmaps_count; i++)
- safe_free (dsc->a_rtpmaps[i]);
- safe_free (dsc->a_rtpmaps);
-
- safe_free (dsc->a_charset);
-
- for (i = 0; i < dsc->a_sdplangs_count; i++)
- safe_free (dsc->a_sdplangs[i]);
- safe_free (dsc->a_sdplangs);
-
- for (i = 0; i < dsc->a_langs_count; i++)
- safe_free (dsc->a_langs[i]);
- safe_free (dsc->a_langs);
-
- for (i = 0; i < dsc->a_controls_count; i++)
- safe_free (dsc->a_controls[i]);
- safe_free (dsc->a_controls);
-
- safe_free (dsc->a_range);
-
- for (i = 0; i < dsc->media_announcements_count; i++)
- {
- if (!dsc->media_announcements[i]) continue;
- for (j = 0; j < dsc->media_announcements[i]->formats_count; j++)
- safe_free (dsc->media_announcements[i]->formats[j]);
- safe_free (dsc->media_announcements[i]->formats);
- safe_free (dsc->media_announcements[i]->i_title);
-
- for (j = 0; j < dsc->media_announcements[i]->bw_modifiers_count; j++)
- {
- if (FSDP_BW_MOD_TYPE_UNKNOWN ==
- dsc->media_announcements[i]->bw_modifiers[j].b_mod_type)
- safe_free (dsc->media_announcements[i]->bw_modifiers[j].
- b_unknown_bw_modt);
- }
- safe_free (dsc->media_announcements[i]->bw_modifiers);
-
- safe_free (dsc->media_announcements[i]->k_encryption_content);
-
- for (j = 0; j < dsc->media_announcements[i]->a_rtpmaps_count; j++)
- {
- safe_free (dsc->media_announcements[i]->a_rtpmaps[j]->pt);
- safe_free (dsc->media_announcements[i]->a_rtpmaps[j]->
- encoding_name);
- safe_free (dsc->media_announcements[i]->a_rtpmaps[j]->parameters);
- safe_free (dsc->media_announcements[i]->a_rtpmaps[j]);
- }
- safe_free (dsc->media_announcements[i]->a_rtpmaps);
-
- for (j = 0; j < dsc->media_announcements[i]->a_sdplangs_count; j++)
- safe_free (dsc->media_announcements[i]->a_sdplangs[j]);
- safe_free (dsc->media_announcements[i]->a_sdplangs);
-
- for (j = 0; j < dsc->media_announcements[i]->a_langs_count; j++)
- safe_free (dsc->media_announcements[i]->a_langs[j]);
- safe_free (dsc->media_announcements[i]->a_langs);
-
- for (j = 0; j < dsc->media_announcements[i]->a_controls_count; j++)
- safe_free (dsc->media_announcements[i]->a_controls[j]);
- safe_free (dsc->media_announcements[i]->a_controls);
-
- for (j = 0; j < dsc->media_announcements[i]->a_fmtps_count; j++)
- safe_free (dsc->media_announcements[i]->a_fmtps[j]);
- safe_free (dsc->media_announcements[i]->a_fmtps);
-
- for (j = 0;
- j < dsc->media_announcements[i]->unidentified_attributes_count; j++)
- safe_free (dsc->media_announcements[i]->unidentified_attributes[j]);
- safe_free (dsc->media_announcements[i]->unidentified_attributes);
- safe_free (dsc->media_announcements[i]);
- }
- safe_free (dsc->media_announcements);
-
- /* This prevents the user to make the library crash when incorrectly
- using recycled but not rebuilt descriptions */
- dsc->emails_count = 0;
- dsc->phones_count = 0;
- dsc->bw_modifiers_count = 0;
- dsc->time_periods_count = 0;
- dsc->media_announcements_count = 0;
-}
diff --git a/stream/freesdp/common.h b/stream/freesdp/common.h
deleted file mode 100644
index bd051a5..0000000
--- a/stream/freesdp/common.h
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- This file is part of FreeSDP.
- Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp at altern.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-/**
- * @file common.h
- * @ingroup common
- * @short Public header common for both parsing and formatting modules.
- **/
-
-#ifndef FSDP_COMMON_H
-#define FSDP_COMMON_H
-
-/* Macros to avoid name mangling when compiling with a C++ compiler */
-#ifdef __cplusplus
-# define BEGIN_C_DECLS extern "C" {
-# define END_C_DECLS }
-#else /* !__cplusplus */
-# define BEGIN_C_DECLS
-# define END_C_DECLS
-#endif /* __cplusplus */
-
-#include <sys/time.h>
-#include <time.h>
-
-BEGIN_C_DECLS
-/**
- * @defgroup common FreeSDP Common Facilities
- *
- * Data types and routines common for both parsing and formatting
- * modules.
- **/
-/** @addtogroup common */
-/*@{*/
-/**
- * @enum fsdp_error_t freesdp/common.h
- * @short Error codes in the FreeSDP library.
- *
- * There is a FSDPE_MISSING_XXXX for each mandatory line, as
- * FSDPE_MISSING_OWNER. This kind of error is reported when a
- * mandatory description line, such as the owner line, is not found
- * where it should be in the SDP description. There are also several
- * error codes like FSDPE_INVALID_XXXX. These are returned when there
- * is a recognized line in the parsed description that violates the
- * SDP syntax or gives wrong parameters, for instance "c=foo bar",
- * which would cause a FSDPE_INVALID_CONNECTION error code to be
- * returned.
- **/
-typedef enum
-{
- FSDPE_OK = 0,
- FSDPE_ILLEGAL_CHARACTER, /**< Misplaced '\r', '\n' or '\0' */
- FSDPE_MISSING_VERSION, /**< The first line is not like
- v=... */
- FSDPE_INVALID_VERSION, /**< Parse error in version line,
- perhaps, the version specified in
- v=... is not valid for FreeSDP */
- FSDPE_MISSING_OWNER, /**< No owner line found in its
- place */
- FSDPE_INVALID_OWNER, /**< Parse error in owner line */
- FSDPE_MISSING_NAME, /**< No session name found in its
- place */
- FSDPE_EMPTY_NAME, /**< Empty session name line */
-
- FSDPE_INVALID_CONNECTION, /**< Syntax error in connection
- line */
-
- FSDPE_INVALID_CONNECTION_ADDRTYPE, /**< Unrecognized address type in
- connection line */
- FSDPE_INVALID_CONNECTION_NETTYPE, /**< Unrecognized network type in
- connection line */
- FSDPE_INVALID_BANDWIDTH, /**< Parse error in bandwidth
- line */
- FSDPE_MISSING_TIME, /**< No time period has been given
- for the session */
- FSDPE_INVALID_TIME, /**< Parse error in time line */
- FSDPE_INVALID_REPEAT, /**< Parse error in repeat time
- line */
- FSDPE_INVALID_TIMEZONE, /**< Parse error in timezone line */
- FSDPE_INVALID_ENCRYPTION_METHOD, /**< Unknown encryption method */
- FSDPE_INVALID_ATTRIBUTE, /**< Syntax error in an attribute
- line */
-
- FSDPE_INVALID_ATTRIBUTE_RTPMAP,/**< Parse error in a=rtpmap:... line */
- FSDPE_INVALID_SESSION_TYPE, /**< An unknown session type has been
- specified in a `type:'
- session-level attribute */
-
- FSDPE_INVALID_MEDIA, /**< Parse error in media line */
- FSDPE_UNKNOWN_MEDIA_TYPE, /**< Unknown media type in media
- line */
-
- FSDPE_UNKNOWN_MEDIA_TRANSPORT, /**< A media transport has been
- specified that is unknown */
-
- FSDPE_OVERFILLED, /**< extra unknown lines are at the
- end of the description */
- FSDPE_INVALID_LINE, /**< a line unknown to FreeSDP has been
- found */
- FSDPE_MISSING_CONNECTION_INFO, /**< No connection information has
- been provided for the whole
- session nor one or more media */
- FSDPE_INVALID_INDEX,
- /* FSDPE_MAXSIZE, description does not fit requested maximun size */
- FSDPE_INTERNAL_ERROR,
-
- FSDPE_INVALID_PARAMETER, /**< Some parameter of the called
- FreeSDP routine has been given an
- invalid value. This includes
- cases such as NULL pointers. */
- FSDPE_BUFFER_OVERFLOW
-} fsdp_error_t;
-
-/**
- * @short Type of network
- *
- * Initially, SDP defines "Internet". New network types may be
- * registered with IANA. However, the number of types is expected to
- * be small and rarely extended. In addition, every new network type
- * requires at least one new address type.
- **/
-typedef enum
-{
- FSDP_NETWORK_TYPE_UNDEFINED, /**< Not provided */
- FSDP_NETWORK_TYPE_INET /**< Internet */
-} fsdp_network_type_t;
-
-/**
- * @short Type of address
- *
- * Initially, IPv4 and IPv6 are defined for the network type
- * Internet. New address types may be registered with IANA.
- **/
-typedef enum
-{
- FSDP_ADDRESS_TYPE_UNDEFINED, /**< Not provided */
- FSDP_ADDRESS_TYPE_IPV4, /**< IP version 4 */
- FSDP_ADDRESS_TYPE_IPV6 /**< IP version 6 */
-} fsdp_address_type_t;
-
-/**
- * @short Type of bandwith modifiers
- *
- * Bandwidth modifiers specify the meaning of the bandwidth
- * value. Initially "Conference Total" and "Application Specific" are
- * defined. Both use kilobits as bandwidth unit. "Conference Total"
- * specifies that the bandwidth value is a proposed upper limit to the
- * session bandwidth. "Application Specific" specifies thath the
- * bandwidth value is the application concept of maximum bandwidth.
- **/
-typedef enum
-{
- FSDP_BW_MOD_TYPE_UNDEFINED, /**< Not provided */
- FSDP_BW_MOD_TYPE_UNKNOWN, /**< Unknown bandwidth
- modifier (FreeSDP
- ignores it) */
- FSDP_BW_MOD_TYPE_CONFERENCE_TOTAL, /**< "CT - Conference Total" */
- FSDP_BW_MOD_TYPE_APPLICATION_SPECIFIC, /**< "AS - Application specific" */
- FSDP_BW_MOD_TYPE_RTCP_SENDERS, /**< "RS - RTCP bandwidth for
- senders */
- FSDP_BW_MOD_TYPE_RTCP_RECEIVERS, /**< "RR - RTCP bandwidth for
- receivers */
-} fsdp_bw_modifier_type_t;
-
-/**
- * @short encryption method
- *
- * The encryption method specifies the way to get the encryption key.
- **/
-typedef enum
-{
- FSDP_ENCRYPTION_METHOD_UNDEFINED, /**< Not provided */
- FSDP_ENCRYPTION_METHOD_CLEAR, /**< The key field is the
- untransformed key */
- FSDP_ENCRYPTION_METHOD_BASE64, /**< The key is base64
- encoded */
- FSDP_ENCRYPTION_METHOD_URI, /**< The key value provided is
- a URI pointing to the actual
- key */
- FSDP_ENCRYPTION_METHOD_PROMPT /**< The key is not provided
- but should be got prompting
- the user */
-} fsdp_encryption_method_t;
-
-/**
- * @short Advised reception/transmission mode
- *
- * Depending on wheter sendrecv, recvonly, sendonly or inactive
- * attribute is given, the tools used to participate in the session
- * should be started in the corresponding transmission
- * mode. FSDP_SENDRECV_SENDRECV is the default for sessions which are
- * not of the conference type broadcast or H332.
- **/
-typedef enum
-{
- FSDP_SENDRECV_UNDEFINED, /**< Not specified */
- FSDP_SENDRECV_SENDRECV, /**< Send and receive */
- FSDP_SENDRECV_RECVONLY, /**< Receive only */
- FSDP_SENDRECV_SENDONLY, /**< Send only */
- FSDP_SENDRECV_INACTIVE /**< Do not send nor receive */
-} fsdp_sendrecv_mode_t;
-
-/**
- * @short Values for `orient' media attribute.
- *
- * Normally used with whiteboard media, this attribute specifies the
- * orientation of the whiteboard.
- **/
-typedef enum
-{
- FSDP_ORIENT_UNDEFINED, /**< Not specified */
- FSDP_ORIENT_PORTRAIT, /**< Portrait */
- FSDP_ORIENT_LANDSCAPE, /**< Landscape */
- FSDP_ORIENT_SEASCAPE /**< Upside down landscape */
-} fsdp_orient_t;
-
-/**
- * @short Type of the conference
- *
- * The following types are initially defined: broadcast, meeting,
- * moderated, test and H332.
- **/
-typedef enum
-{
- FSDP_SESSION_TYPE_UNDEFINED, /**< Not specified */
- FSDP_SESSION_TYPE_BROADCAST, /**< Broadcast session */
- FSDP_SESSION_TYPE_MEETING, /**< Meeting session */
- FSDP_SESSION_TYPE_MODERATED, /**< Moderated session */
- FSDP_SESSION_TYPE_TEST, /**< Test (do not display) */
- FSDP_SESSION_TYPE_H332 /**< H332 session */
-} fsdp_session_type_t;
-
-/**
- * @short Media type
- *
- * The following types are defined initially: audio, video,
- * application, data and control.
- **/
-typedef enum
-{
- FSDP_MEDIA_UNDEFINED, /**< Not specified */
- FSDP_MEDIA_VIDEO, /**< Video */
- FSDP_MEDIA_AUDIO, /**< Audio */
- FSDP_MEDIA_APPLICATION, /**< Application, such as whiteboard */
- FSDP_MEDIA_DATA, /**< bulk data */
- FSDP_MEDIA_CONTROL /**< Control channel */
-} fsdp_media_t;
-
-/**
- * @short Transport protocol
- *
- * The transport protocol used depends on the address type. Initially,
- * RTP over UDP Audio/Video Profile, and UDP are defined.
- *
- **/
-typedef enum
-{
- FSDP_TP_UNDEFINED, /**< Not specified */
- FSDP_TP_RTP_AVP, /**< RTP Audio/Video Profile */
- FSDP_TP_UDP, /**< UDP */
- FSDP_TP_TCP, /**< TCP */
- FSDP_TP_UDPTL, /**< ITU-T T.38*/
- FSDP_TP_VAT, /**< old vat protocol (historic)*/
- FSDP_TP_OLD_RTP, /**< old rtp protocols (historic)*/
- FSDP_TP_H320 /**< TODO: add to the parser */
-} fsdp_transport_protocol_t;
-
-/**
- * Session-level attributes whose value is specified as a character
- * string in FreeSDP. These values are usually given to
- * fsdp_get_strn_att() in order to get the corresponding value.
- *
- **/
-typedef enum
-{
- FSDP_SESSION_STR_ATT_CATEGORY,
- FSDP_SESSION_STR_ATT_KEYWORDS,
- FSDP_SESSION_STR_ATT_TOOL,
- FSDP_SESSION_STR_ATT_CHARSET,
-} fsdp_session_str_att_t;
-
-/**
- * @short FreeSDP SDP description media object.
- *
- * Object for media specific information in SDP descriptions. Each SDP
- * description may include any number of media section. A
- * fsdp_media_description_t object encapsulates the information in a
- * media section, such as video, audio or whiteboard.
- **/
-typedef struct fsdp_media_description_t_s fsdp_media_description_t;
-
-/**
- * @short FreeSDP SDP session description object.
- *
- * Contains all the information extracted from a textual SDP
- * description, including all the media announcements.
- **/
-typedef struct fsdp_description_t_s fsdp_description_t;
-
-/**
- * Allocates memory and initializes values for a new
- * fsdp_description_t object. If you call this routine, do not forget
- * about <code>fsdp_description_delete()</code>
- *
- * @return new fsdp_description_t object
- **/
-fsdp_description_t *fsdp_description_new (void);
-
-/**
- * Destroys a fsdp_description_t object.
- *
- * @param dsc pointer to the fsdp_description_t object to delete.
- **/
-void fsdp_description_delete (fsdp_description_t * dsc);
-
-/**
- * Calling this function over a description is equivalent to calling
- * fsdp_description_delete and then fsdp_description_delete. This
- * function is however more suitable and efficient for description
- * processing loops.
- *
- * @param dsc pointer to the fsdp_description_t object to
- * renew/recycle.
- **/
-void fsdp_description_recycle (fsdp_description_t * dsc);
-
-/**
- * * Returns a string correspondent to the error number.
- * *
- * * @param err_no error number.
- * **/
-const char *fsdp_strerror (fsdp_error_t err_no);
-
- /*@}*//* closes addtogroup common */
-
-END_C_DECLS
-#endif /* FSDP_COMMON_H */
diff --git a/stream/freesdp/errorlist.c b/stream/freesdp/errorlist.c
deleted file mode 100644
index 1fb6e93..0000000
--- a/stream/freesdp/errorlist.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- This file is part of FreeSDP
- Copyright (C) 2001, 2002 Federico Montesino Pouzols <fedemp at suidzer0.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-/**
- * @file errorlist.c
- *
- * @short Translation table for error numbers
- *
- */
-
-#ifndef FSDP_ERRORLIST_C
-#define FSDP_ERRORLIST_C
-
-#include "common.h"
-
-const char *fsdp_error_t_s[] = {
- "No error",/** FSDPE_OK **/
- "Illegal character detected",/** FSDPE_ILLEGAL_CHARACTER **/
- "Missing version item", /** FSDPE_MISSING_VERSION **/
- "Invalid version item", /** FSDPE_INVALID_VERSION **/
- "Owner item not present", /** FSDPE_MISSING_OWNER **/
- "Parse error in owner item", /** FSDPE_INVALID_OWNER **/
- "Session name not present", /** FSDPE_MISSING_NAME **/
- "Empty session name item", /** FSDPE_EMPTY_NAME **/
- "Syntax error in connection item", /** FSDPE_INVALID_CONNECTION **/
- "Unrecognized address type in connection item", /** FSDPE_INVALID_CONNECTION_ADDRTYPE **/
- "Unrecognized network type in connection item", /** FSDPE_INVALID_CONNECTION_NETTYPE **/
- "Parse error in bandwith item", /** FSDPE_INVALID_BANDWIDTH **/
- "No time period for the session", /** FSDPE_MISSING_TIME **/
- "Parse error in time item", /** FSDPE_INVALID_TIME **/
- "Parse error in repeat time item", /** FSDPE_INVALID_REPEAT **/
- "Parse error in timezone item", /** FSDPE_INVALID_TIMEZONE **/
- "Unknown encryption method", /** FSDPE_INVALID_ENCRYPTION_METHOD **/
- "Syntax error in an attribute item", /** FSDPE_INVALID_ATTRIBUTE **/
- "Syntax error in an rtpmap attribute item", /** FSDPE_INVALID_ATTRIBUTE_RTPMAP **/
- "Unknown session type in a session-level attribute", /** FSDPE_INVALID_SESSION_TYPE **/
- "Parse error in media item", /** FSDPE_INVALID_MEDIA **/
- "Unknown media type in media item", /** FSDPE_UNKNOWN_MEDIA_TYPE **/
- "Unknown media transport", /** FSDPE_UNKNOWN_MEDIA_TRANSPORT **/
- "Unknown extra lines in description item", /** FSDPE_OVERFILLED **/
- "Unknown line found", /** FSDPE_INVALID_LINE **/
- "No connection information provided", /** FSDPE_MISSING_CONNECTION_INFO **/
- "Description item does not fit in MAXSIZE", /** FSDPE_INVALID_INDEX **/
- "Internal error", /** FSDPE_INTERNAL_ERROR **/
- "Invalid function parameters", /** FSDPE_INVALID_PARAMETER **/
- "Buffer overflow" /** FSDPE_BUFFER_OVERFLOW **/
-};
-
-
-const char *
-fsdp_strerror (fsdp_error_t err_no)
-{
- return (fsdp_error_t_s[err_no]);
-}
-
-#endif /* FSDP_ERRORLIST_C */
diff --git a/stream/freesdp/parser.c b/stream/freesdp/parser.c
deleted file mode 100644
index cb093c2..0000000
--- a/stream/freesdp/parser.c
+++ /dev/null
@@ -1,1890 +0,0 @@
-/*
- This file is part of FreeSDP
- Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp at altern.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- Benjamin Zores, (C) 2006
- added support in parser for the a=control: lines.
- added support in parser for the a=range: lines.
-*/
-
-/**
- * @file parser.c
- *
- * @short Parsing module implementation.
- *
- * This file implements the parsing routine <code>fsdp_parse</code>
- * and the <code>fsdp_get_xxxx</code> routines that allow to get the
- * session properties from a session description object build through
- * the application of <code>fsdp_parse</code> to a textual SDP session
- * description.
- **/
-
-#include "parserpriv.h"
-
-/**
- * \brief find the start of the next line
- * \param c pointer to current position in string
- * \return pointer to start of next line or NULL if illegal (i.e.
- * a '\r' is not followed by a '\n'
- */
-static const char *next_line(const char *c) {
- c += strcspn(c, "\n\r");
- if (*c == 0) return c;
- if (*c == '\r') c++;
- if (*c == '\n')
- return c + 1;
- return NULL;
-}
-
-/**
- * Moves the <code>c<code> pointer up to the beginning of the next
- * line.
- *
- * @param c char pointer to pointer
- * @retval FSDPE_ILLEGAL_CHARACTER, when an illegal '\r' character
- * (not followed by a '\n') is found, returns
- */
-#define NEXT_LINE(c) do { if (!(c = next_line(c))) return FSDPE_ILLEGAL_CHARACTER; } while (0);
-
-fsdp_error_t
-fsdp_parse (const char *text_description, fsdp_description_t * dsc)
-{
- fsdp_error_t result;
- const char *p = text_description, *p2;
- unsigned int j;
- /* temps for sscanf */
- const unsigned int TEMPCHARS = 6;
- char fsdp_buf[TEMPCHARS][MAXSHORTFIELDLEN];
- char longfsdp_buf[MAXLONGFIELDLEN];
- const unsigned int TEMPINTS = 2;
- unsigned long int wuint[TEMPINTS];
-
- if ((NULL == text_description) || (NULL == dsc))
- return FSDPE_INVALID_PARAMETER;
-
- /***************************************************************************/
- /* A) parse session-level description */
- /***************************************************************************/
-
- /* `v=' line (protocol version) */
- /* according to the RFC, only `v=0' is valid */
- if (sscanf (p, "v=%1lu", &wuint[0]))
- {
- if (wuint[0] != 0)
- return FSDPE_INVALID_VERSION;
- }
- else
- {
- return FSDPE_MISSING_VERSION;
- }
- NEXT_LINE (p);
-
- /* `o=' line (owner/creator and session identifier) */
- /* o=<username> <session id> <version> <network type> <address type>
- <address> */
- if (!strncmp (p, "o=", 2))
- {
- p += 2;
- /* note that the following max lengths may vary in the future and
- are quite arbitary */
- if (sscanf
- (p,
- "%" MSFLENS "[\x21-\xFF] %" MSFLENS "[0-9] %" MSFLENS
- "[0-9] %2s %3s %" MSFLENS "s", fsdp_buf[0], fsdp_buf[1],
- fsdp_buf[2], fsdp_buf[3], fsdp_buf[4], fsdp_buf[5]) != 6)
- return FSDPE_INVALID_OWNER;
- dsc->o_username = strdup (fsdp_buf[0]);
- dsc->o_session_id = strdup (fsdp_buf[1]);
- dsc->o_announcement_version = strdup (fsdp_buf[2]);
- if (!strncmp (fsdp_buf[3], "IN", 2))
- {
- dsc->o_network_type = FSDP_NETWORK_TYPE_INET;
- if (!strncmp (fsdp_buf[4], "IP4", 3))
- dsc->o_address_type = FSDP_ADDRESS_TYPE_IPV4;
- else if (!strncmp (fsdp_buf[4], "IP6", 3))
- dsc->o_address_type = FSDP_ADDRESS_TYPE_IPV6;
- else
- return FSDPE_INVALID_OWNER;
- }
- else
- {
- return FSDPE_INVALID_OWNER;
- }
- /* TODO? check valid unicast address/FQDN */
- dsc->o_address = strdup (fsdp_buf[5]);
- }
- else
- {
- return FSDPE_MISSING_OWNER;
- }
- NEXT_LINE (p);
-
- /* `s=' line (session name) -note that the name string cannot be empty */
- /* s=<session name> */
- if (!strncmp (p, "s=", 2))
- {
- if (sscanf (p, "s=%" MLFLENS "[^\r\n]", longfsdp_buf) < 1)
- return FSDPE_EMPTY_NAME;
- dsc->s_name = strdup (longfsdp_buf);
- }
- else
- {
- return FSDPE_MISSING_NAME;
- }
- NEXT_LINE (p);
-
- /* `i=' line (session information) [optional] */
- /* i=<session description> */
- if (!strncmp (p, "i=", 2)
- && sscanf (p, "i=%" MLFLENS "[^\r\n]", longfsdp_buf))
- {
- dsc->i_information = strdup (longfsdp_buf);
- NEXT_LINE (p);
- }
- else
- {
- /* (optional) information absent */
- }
-
- /* `u=' line (URI of description) [optional] */
- /* u=<URI> */
- if (!strncmp (p, "u=", 2)
- && sscanf (p, "u=%" MLFLENS "[^\r\n]", longfsdp_buf))
- {
- /* TODO? check valid uri */
- dsc->u_uri = strdup (longfsdp_buf);
- NEXT_LINE (p);
- }
- else
- {
- /* (optional) uri absent */
- }
-
- /* `e=' lines (email address) [zero or more] */
- /* e=<email address> */
- p2 = p;
- j = 0;
- while (!strncmp (p2, "e=", 2))
- {
- /* First, count how many emails are there */
- j++;
- NEXT_LINE (p2);
- }
- dsc->emails_count = j;
- if (dsc->emails_count > 0)
- {
- /* Then, build the array of emails */
- dsc->emails = calloc (j, sizeof (const char *));
- for (j = 0; j < dsc->emails_count; j++)
- {
- sscanf (p, "e=%" MLFLENS "[^\r\n]", longfsdp_buf);
- /* TODO? check valid email-address. */
- dsc->emails[j] = strdup (longfsdp_buf);
- NEXT_LINE (p);
- }
- }
-
- /* `p=' lines (phone number) [zero or more] */
- /* p=<phone number> */
- j = 0;
- /* assert ( p2 == p ); */
- while (!strncmp (p2, "p=", 2))
- {
- j++;
- NEXT_LINE (p2);
- }
- dsc->phones_count = j;
- if (dsc->phones_count > 0)
- {
- dsc->phones = calloc (j, sizeof (const char *));
- for (j = 0; j < dsc->phones_count; j++)
- {
- sscanf (p, "p=%" MLFLENS "[^\r\n]", longfsdp_buf);
- /* TODO? check valid phone-number. */
- dsc->phones[j] = strdup (longfsdp_buf);
- NEXT_LINE (p);
- }
- }
-
- /* `c=' line (connection information - not required if included in all media) [optional] */
- /* c=<network type> <address type> <connection address> */
- result = fsdp_parse_c (&p, &(dsc->c_network_type), &(dsc->c_address_type),
- &(dsc->c_address));
- if (FSDPE_OK != result)
- return result;
-
- /* `b=' lines (bandwidth information) [optional] */
- /* b=<modifier>:<bandwidth-value> */
- result =
- fsdp_parse_b (&p, &(dsc->bw_modifiers), &(dsc->bw_modifiers_count));
- if (FSDPE_OK != result)
- return result;
-
- /* A.1) Time descriptions: */
-
- /* `t=' lines (time the session is active) [1 or more] */
- /* t=<start time> <stop time> */
- j = 0;
- p2 = p;
- while (!strncmp (p2, "t=", 2))
- {
- j++;
- NEXT_LINE (p2);
- while (!strncmp (p2, "r=", 2))
- NEXT_LINE (p2);
- }
- dsc->time_periods_count = j;
- if (dsc->time_periods_count == 0)
- return FSDPE_MISSING_TIME;
- dsc->time_periods = calloc (dsc->time_periods_count,
- sizeof (fsdp_time_period_t *));
- for (j = 0; j < dsc->time_periods_count; j++)
- {
- unsigned int h = 0;
- if (sscanf (p, "t=%10lu %10lu", &wuint[0], &wuint[1]) != 2)
- {
- /* not all periods have been successfully parsed */
- dsc->time_periods_count = j;
- return FSDPE_INVALID_TIME;
- }
- dsc->time_periods[j] = calloc (1, sizeof (fsdp_time_period_t));
-
- /* convert from NTP to time_t time */
- if (wuint[0] != 0)
- wuint[0] -= NTP_EPOCH_OFFSET;
- if (wuint[1] != 0)
- wuint[1] -= NTP_EPOCH_OFFSET;
- dsc->time_periods[j]->start = wuint[0];
- dsc->time_periods[j]->stop = wuint[1];
- NEXT_LINE (p);
-
- /* `r' lines [zero or more repeat times for each t=] */
- /*r=<repeat interval> <active duration> <list of offsets from
- start-time> */
- p2 = p;
- while (!strncmp (p2, "r=", 2))
- {
- h++;
- NEXT_LINE (p2);
- }
- dsc->time_periods[j]->repeats_count = h;
- if (h > 0)
- {
- unsigned int index2 = 0;
- dsc->time_periods[j]->repeats =
- calloc (h, sizeof (fsdp_repeat_t *));
- for (h = 0; h < dsc->time_periods[j]->repeats_count; h++)
- {
- if (sscanf (p, "r=%10s %10s %" MLFLENS "[^\r\n]",
- fsdp_buf[0], fsdp_buf[1], longfsdp_buf) == 3)
- {
- fsdp_repeat_t *repeat;
- dsc->time_periods[j]->repeats[h] =
- calloc (1, sizeof (fsdp_repeat_t));
- repeat = dsc->time_periods[j]->repeats[h];
- /* get interval, duration and list of offsets */
- result =
- fsdp_repeat_time_to_uint (fsdp_buf[0],
- &(repeat->interval));
- if (result == FSDPE_OK)
- {
- result =
- fsdp_repeat_time_to_uint (fsdp_buf[1],
- &(repeat->duration));
- if (result == FSDPE_OK)
- {
- unsigned int k = 1;
- const char *i = longfsdp_buf;
- while (NULL != (i = strchr (i, ' ')))
- {
- k++;
- if (NULL != i)
- i++;
- }
- repeat->offsets_count = k;
- repeat->offsets = calloc (k, sizeof (time_t));
- i = longfsdp_buf;
- for (k = 0;
- (k < repeat->offsets_count)
- && (result == FSDPE_OK); k++)
- {
- result =
- fsdp_repeat_time_to_uint (i,
- &(repeat->
- offsets[k]));
- i = strchr (i, ' ');
- if (NULL != i)
- i++;
- }
- if (k < repeat->offsets_count)
- {
- /* there where invalid repeat offsets */
- dsc->time_periods[j]->repeats_count = k;
- return FSDPE_INVALID_REPEAT;
- }
- }
- }
- if (result != FSDPE_OK)
- {
- /* not all repeats have been succesfully parsed */
- dsc->time_periods[j]->repeats_count = h;
- return FSDPE_INVALID_REPEAT;
- }
- NEXT_LINE (p);
- }
- else
- {
- /* not all repeats have been succesfully parsed */
- dsc->time_periods[j]->repeats_count = h;
- return FSDPE_INVALID_REPEAT;
- }
- index2++;
- }
- }
- }
-
- /* `z=' line (time zone adjustments) [zero or more] */
- /* z=<adjustment time> <offset> <adjustment time> <offset> .... */
- if (!strncmp (p, "z=", 2))
- {
- if (sscanf (p, "z=%" MLFLENS "[^\r\n]", longfsdp_buf))
- {
- /* TODO: guess how many pairs are there and process them */
- dsc->timezone_adj = strdup (longfsdp_buf);
- NEXT_LINE (p);
- }
- else
- {
- return FSDPE_INVALID_TIMEZONE;
- }
- }
-
- /* `k=' line (encryption key) [optional] */
- /* k=<method>
- k=<method>:<encryption key> */
- result = fsdp_parse_k (&p, &(dsc->k_encryption_method),
- &(dsc->k_encryption_content));
- if (result != FSDPE_OK)
- return result;
-
- /* A.2) Attributes */
- /* `a=' lines (session attribute) [0 or more] */
- /* a=<attribute>
- a=<attribute>:<value> */
- while (!strncmp (p, "a=", 2))
- {
- /* The "9" length specifier of the first string is subject to
- changes */
- if (sscanf
- (p, "a=%9[^:\r\n]:%" MSFLENS "[^\r\n]", fsdp_buf[0],
- fsdp_buf[1]) == 2)
- {
- /* session-level value attributes */
- if (!strncmp (fsdp_buf[0], "cat", 3))
- dsc->a_category = strdup (fsdp_buf[1]);
- else if (!strncmp (fsdp_buf[0], "keywds", 6))
- dsc->a_keywords = strdup (fsdp_buf[1]);
- else if (!strncmp (fsdp_buf[0], "tool", 4))
- dsc->a_keywords = strdup (fsdp_buf[1]);
- else if (!strncmp (fsdp_buf[0], "rtpmap", 6))
- fsdp_parse_rtpmap (&(dsc->a_rtpmaps),
- &(dsc->a_rtpmaps_count), fsdp_buf[1]);
- else if (!strncmp (fsdp_buf[0], "type", 4))
- {
- if (!strncmp (fsdp_buf[1], "broadcast", 9))
- dsc->a_type = FSDP_SESSION_TYPE_BROADCAST;
- else if (!strncmp (fsdp_buf[1], "meeting", 7))
- dsc->a_type = FSDP_SESSION_TYPE_MEETING;
- else if (!strncmp (fsdp_buf[1], "moderated", 9))
- dsc->a_type = FSDP_SESSION_TYPE_MODERATED;
- else if (!strncmp (fsdp_buf[1], "test", 4))
- dsc->a_type = FSDP_SESSION_TYPE_TEST;
- else if (!strncmp (fsdp_buf[1], "H332", 4))
- dsc->a_type = FSDP_SESSION_TYPE_H332;
- else
- return FSDPE_INVALID_SESSION_TYPE;
- }
- else if (!strncmp (fsdp_buf[0], "charset", 7))
- dsc->a_charset = strdup (fsdp_buf[1]);
- else if (!strncmp (fsdp_buf[0], "sdplang", 7))
- {
- if (NULL == dsc->a_sdplangs)
- {
- dsc->a_sdplangs_count = 0;
- dsc->a_sdplangs =
- calloc (SDPLANGS_MAX_COUNT, sizeof (char *));
- }
- if (dsc->a_sdplangs_count < SDPLANGS_MAX_COUNT)
- {
- dsc->a_sdplangs[dsc->a_sdplangs_count] =
- strdup (fsdp_buf[1]);
- dsc->a_sdplangs_count++;
- }
- }
- else if (!strncmp (fsdp_buf[0], "lang", 4))
- {
- if (NULL == dsc->a_langs)
- {
- dsc->a_langs_count = 0;
- dsc->a_langs = calloc (SDPLANGS_MAX_COUNT, sizeof (char *));
- }
- if (dsc->a_langs_count < SDPLANGS_MAX_COUNT)
- {
- dsc->a_langs[dsc->a_langs_count] = strdup (fsdp_buf[1]);
- dsc->a_langs_count++;
- }
- }
- else if (!strncmp (fsdp_buf[0], "control", 7))
- {
- if (NULL == dsc->a_controls)
- {
- dsc->a_controls_count = 0;
- dsc->a_controls =
- calloc (SDPCONTROLS_MAX_COUNT, sizeof (char *));
- }
- if (dsc->a_controls_count < SDPCONTROLS_MAX_COUNT)
- {
- dsc->a_controls[dsc->a_controls_count] =
- strdup (fsdp_buf[1]);
- dsc->a_controls_count++;
- }
- }
- else if (!strncmp (fsdp_buf[0], "range", 5))
- {
- free (dsc->a_range);
- dsc->a_range = strdup (fsdp_buf[1]);
- }
- else
- {
- /* ignore unknown attributes, but provide access to them */
- *longfsdp_buf = '\0';
- strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN-1);
- strncat (longfsdp_buf, ":", MAXLONGFIELDLEN-strlen(longfsdp_buf)-1);
- strncat (longfsdp_buf, fsdp_buf[1], MAXLONGFIELDLEN-strlen(longfsdp_buf)-1);
- if (NULL == dsc->unidentified_attributes)
- {
- dsc->unidentified_attributes_count = 0;
- dsc->unidentified_attributes =
- calloc (UNIDENTIFIED_ATTRIBUTES_MAX_COUNT,
- sizeof (char *));
- }
- if (dsc->unidentified_attributes_count <
- UNIDENTIFIED_ATTRIBUTES_MAX_COUNT)
- {
- dsc->unidentified_attributes
- [dsc->unidentified_attributes_count] =
- strdup (longfsdp_buf);
- dsc->unidentified_attributes_count++;
- }
- }
- NEXT_LINE (p);
- }
- else if (sscanf (p, "a=%20s", fsdp_buf[0]) == 1)
- {
- /* session-level property attributes */
- if (!strncmp (fsdp_buf[0], "recvonly", 8))
- dsc->a_sendrecv_mode = FSDP_SENDRECV_RECVONLY;
- else if (!strncmp (fsdp_buf[0], "sendonly", 8))
- dsc->a_sendrecv_mode = FSDP_SENDRECV_SENDONLY;
- else if (!strncmp (fsdp_buf[0], "inactive", 8))
- dsc->a_sendrecv_mode = FSDP_SENDRECV_INACTIVE;
- else if (!strncmp (fsdp_buf[0], "sendrecv", 8))
- dsc->a_sendrecv_mode = FSDP_SENDRECV_SENDRECV;
- else
- {
- /* ignore unknown attributes, but provide access to them */
- *longfsdp_buf = '\0';
- strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN-1);
- if (NULL == dsc->unidentified_attributes)
- {
- dsc->unidentified_attributes_count = 0;
- dsc->unidentified_attributes =
- calloc (UNIDENTIFIED_ATTRIBUTES_MAX_COUNT,
- sizeof (char *));
- }
- if (dsc->unidentified_attributes_count <
- UNIDENTIFIED_ATTRIBUTES_MAX_COUNT)
- {
- dsc->unidentified_attributes
- [dsc->unidentified_attributes_count] =
- strdup (longfsdp_buf);
- dsc->unidentified_attributes_count++;
- }
- }
- NEXT_LINE (p);
- }
- else
- return FSDPE_INVALID_ATTRIBUTE;
- }
-
- /***************************************************************************/
- /* B) parse media-level descriptions */
- /***************************************************************************/
- p2 = p;
- j = 0;
- while ((*p2 != '\0') && !strncmp (p2, "m=", 2))
- {
- char c;
- j++;
- NEXT_LINE (p2);
- while (sscanf (p2, "%c=", &c) == 1)
- {
- if (c == 'i' || c == 'c' || c == 'b' || c == 'k' || c == 'a')
- {
- NEXT_LINE (p2);
- }
- else if (c == 'm')
- {
- break;
- }
- else
- {
- return FSDPE_INVALID_LINE;
- }
- }
- }
- dsc->media_announcements_count = j;
- if (dsc->media_announcements_count == 0)
- {
- ;
- /*return FSDPE_MISSING_MEDIA; */
- }
- else
- { /* dsc->media_announcements_count > 0 */
- dsc->media_announcements =
- calloc (j, sizeof (fsdp_media_announcement_t *));
- for (j = 0; j < dsc->media_announcements_count; j++)
- {
- fsdp_media_announcement_t *media = NULL;
- /* `m=' line (media name, transport address and format list) */
- /* m=<media> <port> <transport> <fmt list> */
- /* The max. string lengths are subject to change */
- if (sscanf (p, "m=%11s %8s %7s %" MLFLENS "[^\r\n]",
- fsdp_buf[0], fsdp_buf[1], fsdp_buf[2],
- longfsdp_buf) != 4)
- {
- return FSDPE_INVALID_MEDIA;
- }
- else
- {
- dsc->media_announcements[j] =
- calloc (1, sizeof (fsdp_media_announcement_t));
- media = dsc->media_announcements[j];
- if (!strncmp (fsdp_buf[0], "audio", 5))
- media->media_type = FSDP_MEDIA_AUDIO;
- else if (!strncmp (fsdp_buf[0], "video", 5))
- media->media_type = FSDP_MEDIA_VIDEO;
- else if (!strncmp (fsdp_buf[0], "application", 11))
- media->media_type = FSDP_MEDIA_APPLICATION;
- else if (!strncmp (fsdp_buf[0], "data", 4))
- media->media_type = FSDP_MEDIA_DATA;
- else if (!strncmp (fsdp_buf[0], "control", 7))
- media->media_type = FSDP_MEDIA_CONTROL;
- else
- return FSDPE_UNKNOWN_MEDIA_TYPE;
- { /* try to get port specification as port/number */
- char *slash;
- if ((slash = strchr (fsdp_buf[1], '/')))
- {
- *slash = '\0';
- slash++;
- media->port = strtol (fsdp_buf[1], NULL, 10);
- media->port_count = strtol (slash, NULL, 10);
- }
- else
- {
- media->port = strtol (fsdp_buf[1], NULL, 10);
- media->port_count = 0;
- }
- }
- if (!strncmp (fsdp_buf[2], "RTP/AVP", 7))
- media->transport = FSDP_TP_RTP_AVP;
- else if (!strncmp (fsdp_buf[2], "udp", 3))
- media->transport = FSDP_TP_UDP;
- else if (!strncmp (fsdp_buf[2], "TCP", 3))
- media->transport = FSDP_TP_TCP;
- else if (!strncmp (fsdp_buf[2], "UDPTL", 5))
- media->transport = FSDP_TP_UDPTL;
- else if (!strncmp (fsdp_buf[2], "vat", 3))
- media->transport = FSDP_TP_VAT;
- else if (!strncmp (fsdp_buf[2], "rtp", 3))
- media->transport = FSDP_TP_OLD_RTP;
- else
- return FSDPE_UNKNOWN_MEDIA_TRANSPORT;
- {
- unsigned int k = 0;
- char *s = longfsdp_buf;
- while (NULL != (s = strchr (s, ' ')))
- {
- k++;
- if (NULL != s)
- s++;
- }
- k++; /* when there is no space left, count the last format */
- media->formats_count = k;
- media->formats = calloc (k, sizeof (char *));
- s = longfsdp_buf;
- for (k = 0; k < media->formats_count; k++)
- {
- char *space = strchr (s, ' ');
- if (NULL != space)
- *space = '\0';
- media->formats[k] = strdup (s);
- s = space + 1;
- }
- }
- NEXT_LINE (p);
- }
-
- /* `i=' line (media title) [optional] */
- /* i=<media title> */
- if (!strncmp (p, "i=", 2)
- && sscanf (p, "i=%" MLFLENS "[^\r\n]", longfsdp_buf))
- {
- media->i_title = strdup (longfsdp_buf);
- NEXT_LINE (p);
- }
- else
- {
- /* (optional) information absent */
- }
-
- /* `c=' line (connection information - overrides session-level
- line) [optional if provided at session-level] */
- /* c=<network type> <address type> <connection address> */
- result = fsdp_parse_c (&p, &(media->c_network_type),
- &(media->c_address_type),
- &(media->c_address));
- if (result != FSDPE_OK)
- return result;
-
- /* `b=' lines (bandwidth information) [optional] */
- /* b=<modifier>:<bandwidth-value> */
- result = fsdp_parse_b (&p, &(media->bw_modifiers),
- &(media->bw_modifiers_count));
- if (FSDPE_OK != result)
- return result;
-
- /* `k=' line (encryption key) [optional] */
- /* k=<method>
- k=<method>:<encryption key> */
- result = fsdp_parse_k (&p, &(media->k_encryption_method),
- &(media->k_encryption_content));
- if (result != FSDPE_OK)
- return result;
-
- /* B.1) Attributes */
-
- /* `a=' lines (zero or more media attribute lines) [optional] */
- /* a=<attribute>
- a=<attribute>:<value> */
- while (!strncmp (p, "a=", 2))
- {
- if (sscanf
- (p, "a=%9[^:\r\n]:%" MLFLENS "[^\r\n]", fsdp_buf[0],
- longfsdp_buf) == 2)
- {
- /* media-level value attributes */
- if (!strncmp (fsdp_buf[0], "ptime", 5))
- media->a_ptime = strtoul (longfsdp_buf, NULL, 10);
- else if (!strncmp (fsdp_buf[0], "maxptime", 8))
- media->a_maxptime = strtoul (longfsdp_buf, NULL, 10);
- else if (!strncmp (fsdp_buf[0], "rtpmap", 6))
- fsdp_parse_rtpmap (&(media->a_rtpmaps),
- &(media->a_rtpmaps_count),
- longfsdp_buf);
- else if (!strncmp (fsdp_buf[0], "orient", 6))
- {
- if (!strncmp (longfsdp_buf, "portrait", 8))
- media->a_orient = FSDP_ORIENT_PORTRAIT;
- else if (!strncmp (longfsdp_buf, "landscape", 9))
- media->a_orient = FSDP_ORIENT_LANDSCAPE;
- else if (!strncmp (longfsdp_buf, "seascape", 9))
- media->a_orient = FSDP_ORIENT_SEASCAPE;
- }
- else if (!strncmp (fsdp_buf[0], "sdplang", 7))
- {
- if (NULL == dsc->a_sdplangs)
- {
- media->a_sdplangs_count = 0;
- media->a_sdplangs =
- calloc (SDPLANGS_MAX_COUNT, sizeof (char *));
- }
- if (media->a_sdplangs_count < SDPLANGS_MAX_COUNT)
- {
- media->a_sdplangs[dsc->a_sdplangs_count] =
- strdup (longfsdp_buf);
- media->a_sdplangs_count++;
- }
- }
- else if (!strncmp (fsdp_buf[0], "lang", 4))
- {
- if (NULL == dsc->a_langs)
- {
- media->a_langs_count = 0;
- media->a_langs =
- calloc (SDPLANGS_MAX_COUNT, sizeof (char *));
- }
- if (media->a_langs_count < SDPLANGS_MAX_COUNT)
- {
- media->a_langs[dsc->a_langs_count] =
- strdup (longfsdp_buf);
- media->a_langs_count++;
- }
- }
- else if (!strncmp (fsdp_buf[0], "control", 7))
- {
- if (NULL == media->a_controls)
- {
- media->a_controls_count = 0;
- media->a_controls =
- calloc (SDPCONTROLS_MAX_COUNT, sizeof (char *));
- }
- if (media->a_controls_count < SDPCONTROLS_MAX_COUNT)
- {
- media->a_controls[media->a_controls_count] =
- strdup (longfsdp_buf);
- media->a_controls_count++;
- }
- }
- else if (!strncmp (fsdp_buf[0], "range", 5))
- {
- free (media->a_range);
- media->a_range = strdup (fsdp_buf[1]);
- }
- else if (!strncmp (fsdp_buf[0], "framerate", 9))
- media->a_framerate = strtod (longfsdp_buf, NULL);
- else if (!strncmp (fsdp_buf[0], "fmtp", 4))
- {
- if (NULL == media->a_fmtps)
- {
- media->a_fmtps_count = 0;
- media->a_fmtps =
- calloc (SDPLANGS_MAX_COUNT, sizeof (char *));
- }
- if (media->a_fmtps_count < SDPLANGS_MAX_COUNT)
- {
- media->a_fmtps[media->a_fmtps_count] =
- strdup (longfsdp_buf);
- media->a_fmtps_count++;
- }
- }
- else if (!strncmp (fsdp_buf[0], "rtcp", 4))
- {
- int opts = 0;
- /* rtcp attribute: a=rtcp:<port> <nettype> <addrtype> <address> */
- opts =
- sscanf (longfsdp_buf, "%lu %2s %3s %" MSFLENS "s",
- &wuint[0], fsdp_buf[0], fsdp_buf[1],
- fsdp_buf[2]);
- if (opts >= 1)
- {
- media->a_rtcp_port = wuint[0];
- if (opts >= 2)
- {
- if (!strncmp (fsdp_buf[0], "IN", 2))
- {
- media->a_rtcp_network_type =
- FSDP_NETWORK_TYPE_INET;
- } /* else
- ; TODO: define error code? */
- if (opts >= 3)
- {
- if (!strncmp (fsdp_buf[1], "IP4", 3))
- media->a_rtcp_address_type =
- FSDP_ADDRESS_TYPE_IPV4;
- else if (!strncmp (fsdp_buf[1], "IP6", 3))
- media->a_rtcp_address_type =
- FSDP_ADDRESS_TYPE_IPV6;
- else
- return FSDPE_INVALID_CONNECTION_NETTYPE;
- /*add specific code? */
- if (opts >= 4)
- media->a_rtcp_address =
- strdup (fsdp_buf[2]);
- }
- }
- }
- }
- else
- {
- /* ignore unknown attributes, but provide access to them */
- *fsdp_buf[1] = '\0';
- strncat (fsdp_buf[1], fsdp_buf[0], MAXSHORTFIELDLEN-1);
- strncat (fsdp_buf[1], ":", MAXSHORTFIELDLEN-strlen(fsdp_buf[1])-1);
- strncat (fsdp_buf[1], longfsdp_buf, MAXSHORTFIELDLEN-strlen(fsdp_buf[1])-1);
- if (NULL == media->unidentified_attributes)
- {
- media->unidentified_attributes_count = 0;
- media->unidentified_attributes =
- calloc (UNIDENTIFIED_ATTRIBUTES_MAX_COUNT,
- sizeof (char *));
- }
- if (media->unidentified_attributes_count <
- UNIDENTIFIED_ATTRIBUTES_MAX_COUNT)
- {
- media->unidentified_attributes
- [media->unidentified_attributes_count] =
- strdup (fsdp_buf[1]);
- media->unidentified_attributes_count++;
- }
- }
- NEXT_LINE (p);
- }
- else if (sscanf (p, "a=%8s", fsdp_buf[0]) == 1)
- {
- /* media-level property attributes */
- if (!strncmp (fsdp_buf[0], "recvonly", 8))
- media->a_sendrecv_mode = FSDP_SENDRECV_RECVONLY;
- else if (!strncmp (fsdp_buf[0], "sendonly", 8))
- media->a_sendrecv_mode = FSDP_SENDRECV_SENDONLY;
- else if (!strncmp (fsdp_buf[0], "inactive", 8))
- media->a_sendrecv_mode = FSDP_SENDRECV_INACTIVE;
- else if (!strncmp (fsdp_buf[0], "sendrecv", 8))
- media->a_sendrecv_mode = FSDP_SENDRECV_SENDRECV;
- else
- {
- /* ignore unknown attributes, but provide access to them */
- *longfsdp_buf = '\0';
- strncat (longfsdp_buf, fsdp_buf[0], MAXLONGFIELDLEN-1);
- if (NULL == media->unidentified_attributes)
- {
- media->unidentified_attributes_count = 0;
- media->unidentified_attributes =
- calloc (UNIDENTIFIED_ATTRIBUTES_MAX_COUNT,
- sizeof (char *));
- }
- if (media->unidentified_attributes_count <
- UNIDENTIFIED_ATTRIBUTES_MAX_COUNT)
- {
- media->unidentified_attributes
- [media->unidentified_attributes_count] =
- strdup (longfsdp_buf);
- media->unidentified_attributes_count++;
- }
- }
- NEXT_LINE (p);
- }
- else
- return FSDPE_INVALID_ATTRIBUTE;
- }
- } /* end of for */
- }
-
- /* Check c= has been given at session level or at media level for
- all media */
- if (NULL == dsc->c_address.address)
- {
- unsigned int c;
- for (c = 0; c < dsc->media_announcements_count; c++)
- if (NULL == dsc->media_announcements[c]->c_address.address)
- return FSDPE_MISSING_CONNECTION_INFO;
- }
-
- /* finish */
- if (*p == '\0')
- return FSDPE_OK;
- else
- return FSDPE_OVERFILLED;
-}
-
-static fsdp_error_t
-fsdp_parse_c (const char **p, fsdp_network_type_t * ntype,
- fsdp_address_type_t * atype,
- fsdp_connection_address_t * address)
-{
- const unsigned int TEMPCHARS = 3;
- char fsdp_buf[TEMPCHARS][MAXSHORTFIELDLEN];
-
- if (!strncmp (*p, "c=", 2))
- {
- if (sscanf (*p, "c=%2s %3s %" MSFLENS "s",
- fsdp_buf[0], fsdp_buf[1], fsdp_buf[2]))
- {
- if (!strncmp (fsdp_buf[0], "IN", 2))
- {
- *ntype = FSDP_NETWORK_TYPE_INET;
- if (!strncmp (fsdp_buf[1], "IP4", 3))
- *atype = FSDP_ADDRESS_TYPE_IPV4;
- else if (!strncmp (fsdp_buf[1], "IP6", 3))
- *atype = FSDP_ADDRESS_TYPE_IPV6;
- else
- return FSDPE_INVALID_CONNECTION_NETTYPE;
- }
- else
- {
- return FSDPE_INVALID_CONNECTION_ADDRTYPE;
- }
- {
- char *slash = strchr (fsdp_buf[2], '/');
- if (NULL == slash)
- {
- address->address = strdup (fsdp_buf[2]);
- address->address_ttl = 0;
- address->address_count = 0;
- }
- else
- {
- /* address is IP4 multicast */
- char *slash2;
- *slash = '\0';
- slash++;
- address->address = strdup (fsdp_buf[2]);
- slash2 = strchr (slash + 1, '/');
- if (NULL == slash2)
- {
- address->address_ttl = strtol (slash, NULL, 10);
- address->address_count = 0;
- }
- else
- {
- *slash2 = '\0';
- slash2++;
- address->address_ttl = strtol (slash, NULL, 10);
- address->address_count = strtol (slash2, NULL, 10);
- }
- }
- }
- NEXT_LINE (*p);
- }
- else
- {
- return FSDPE_INVALID_CONNECTION;
- }
- }
- return FSDPE_OK;
-}
-
-static fsdp_error_t
-fsdp_parse_b (const char **p, fsdp_bw_modifier_t ** bw_modifiers,
- unsigned int *bw_modifiers_count)
-{
- char fsdp_buf[MAXSHORTFIELDLEN];
- unsigned long int wuint;
- unsigned int i = 0;
- const char *lp = *p;
-
- /* count b= lines */
- while (!strncmp (lp, "b=", 2))
- {
- NEXT_LINE (lp);
- i++;
- }
- *bw_modifiers = calloc (i, sizeof (fsdp_bw_modifier_t));
- *bw_modifiers_count = i;
-
- while (i > 0)
- {
- unsigned int index = *bw_modifiers_count - i;
- if (2 == sscanf (*p, "b=%20[^:\r\n]:%lu", fsdp_buf, &wuint))
- {
- if (!strncmp (fsdp_buf, "CT", 2))
- (*bw_modifiers)[index].b_mod_type =
- FSDP_BW_MOD_TYPE_CONFERENCE_TOTAL;
- else if (!strncmp (fsdp_buf, "AS", 2))
- (*bw_modifiers)[index].b_mod_type =
- FSDP_BW_MOD_TYPE_APPLICATION_SPECIFIC;
- else if (!strncmp (fsdp_buf, "RS", 2))
- (*bw_modifiers)[index].b_mod_type = FSDP_BW_MOD_TYPE_RTCP_SENDERS;
- else if (!strncmp (fsdp_buf, "RR", 2))
- (*bw_modifiers)[index].b_mod_type =
- FSDP_BW_MOD_TYPE_RTCP_RECEIVERS;
- else
- {
- (*bw_modifiers)[index].b_mod_type = FSDP_BW_MOD_TYPE_UNKNOWN;
- (*bw_modifiers)[index].b_unknown_bw_modt =
- (char *) strdup (fsdp_buf);
- }
- (*bw_modifiers)[index].b_value = wuint;
- NEXT_LINE (*p);
- }
- else
- {
- *bw_modifiers_count -= i;
- return FSDPE_INVALID_BANDWIDTH;
- }
- i--;
- }
- return FSDPE_OK;
-}
-
-static fsdp_error_t
-fsdp_parse_k (const char **p, fsdp_encryption_method_t * method,
- char **content)
-{
- char fsdp_buf[MAXSHORTFIELDLEN];
- char longfsdp_buf[MAXLONGFIELDLEN];
-
- if (!strncmp (*p, "k=", 2))
- {
- if (sscanf (*p, "k=prompt"))
- {
- *method = FSDP_ENCRYPTION_METHOD_PROMPT;
- *content = NULL;
- NEXT_LINE (*p);
- }
- else
- {
- if (sscanf
- (*p, "k=%6[^:\r\n]:%" MLFLENS "s", fsdp_buf, longfsdp_buf))
- {
- if (!strncmp (fsdp_buf, "clear", 5))
- *method = FSDP_ENCRYPTION_METHOD_CLEAR;
- else if (!strncmp (fsdp_buf, "base64", 6))
- *method = FSDP_ENCRYPTION_METHOD_BASE64;
- else if (!strncmp (fsdp_buf, "uri", 3))
- *method = FSDP_ENCRYPTION_METHOD_URI;
- else
- return FSDPE_INVALID_ENCRYPTION_METHOD;
- *content = strdup (longfsdp_buf);
- NEXT_LINE (*p);
- }
- }
- }
- return FSDPE_OK;
-}
-
-static fsdp_error_t
-fsdp_parse_rtpmap (fsdp_rtpmap_t *** rtpmap, unsigned int *counter,
- const char *value)
-{
- fsdp_error_t result = FSDPE_OK;
-
- if (0 == *counter)
- {
- *counter = 0;
- *rtpmap = calloc (MEDIA_RTPMAPS_MAX_COUNT, sizeof (fsdp_rtpmap_t *));
- }
- if (*counter < MEDIA_RTPMAPS_MAX_COUNT)
- {
- unsigned int c = *counter;
- fsdp_rtpmap_t **map = *rtpmap;
- char fsdp_buf[MAXSHORTFIELDLEN];
- char longfsdp_buf[MAXLONGFIELDLEN];
- map[c] = calloc (1, sizeof (fsdp_rtpmap_t));
-
- /* a=rtpmap:<payload type> <encoding name>/<clock rate>[/<encoding
- parameters]> */
- if (2 == sscanf (value, "%s %s", fsdp_buf, longfsdp_buf))
- {
- char *slash1;
- map[c]->pt = strdup (fsdp_buf);
- /* parse <encoding name>/<clock rate>[/<encoding parameters>] */
- slash1 = strchr (longfsdp_buf, '/');
- if (NULL == slash1)
- {
- result = FSDPE_INVALID_ATTRIBUTE_RTPMAP;
- }
- else
- {
- char *slash2;
- *slash1 = '\0';
- slash1++;
- map[c]->encoding_name = strdup (longfsdp_buf);
- slash2 = strchr (slash1, '/');
- if (NULL != slash2)
- {
- *slash2 = '\0';
- slash2++;
- map[c]->parameters = strdup (slash2);
- }
- map[c]->clock_rate = strtol (slash1, NULL, 10);
- }
- (*counter)++;
- }
- }
- return result;
-}
-
-static fsdp_error_t
-fsdp_repeat_time_to_uint (const char *time, unsigned long int *seconds)
-{
- const unsigned long SECONDS_PER_DAY = 86400;
- const unsigned long SECONDS_PER_HOUR = 3600;
- const unsigned long SECONDS_PER_MINUTE = 60;
- char c;
- unsigned long int wuint;
-
- if (sscanf (time, "%lu%c", &wuint, &c) == 2)
- {
- /* time with unit specification character */
- switch (c)
- {
- case 'd':
- *seconds = wuint * SECONDS_PER_DAY;
- break;
- case 'h':
- *seconds = wuint * SECONDS_PER_HOUR;
- break;
- case 'm':
- *seconds = wuint * SECONDS_PER_MINUTE;
- break;
- case 's':
- *seconds = wuint;
- break;
- default:
- return FSDPE_INVALID_REPEAT;
- break;
- }
- }
- else if (sscanf (time, "%lu", &wuint) == 1)
- {
- /* time without unit specification character */
- *seconds = wuint;
- }
- else
- {
- return FSDPE_INVALID_REPEAT;
- }
- return FSDPE_OK;
-}
-
-unsigned int
-fsdp_get_version (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->version;
-}
-
-const char *
-fsdp_get_owner_username (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->o_username;
-}
-
-const char *
-fsdp_get_session_id (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->o_session_id;
-}
-
-const char *
-fsdp_get_announcement_version (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->o_announcement_version;
-}
-
-fsdp_network_type_t
-fsdp_get_owner_network_type (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return FSDP_NETWORK_TYPE_UNDEFINED;
- return dsc->o_network_type;
-}
-
-fsdp_address_type_t
-fsdp_get_owner_address_type (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return FSDP_ADDRESS_TYPE_UNDEFINED;
- return dsc->o_address_type;
-}
-
-const char *
-fsdp_get_owner_address (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->o_address;
-}
-
-const char *
-fsdp_get_name (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->s_name;
-}
-
-const char *
-fsdp_get_information (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->i_information;
-}
-
-const char *
-fsdp_get_uri (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->u_uri;
-}
-
-unsigned int
-fsdp_get_emails_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->emails_count;
-}
-
-const char *
-fsdp_get_email (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->emails_count))
- return NULL;
- return dsc->emails[index];
-}
-
-unsigned int
-fsdp_get_phones_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->phones_count;
-}
-
-const char *
-fsdp_get_phone (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->phones_count))
- return NULL;
- return dsc->phones[index];
-}
-
-fsdp_network_type_t
-fsdp_get_global_conn_network_type (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return FSDP_NETWORK_TYPE_UNDEFINED;
- return dsc->c_network_type;
-}
-
-fsdp_address_type_t
-fsdp_get_global_conn_address_type (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return FSDP_ADDRESS_TYPE_UNDEFINED;
- return dsc->c_address_type;
-}
-
-const char *
-fsdp_get_global_conn_address (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->c_address.address;
-}
-
-unsigned int
-fsdp_get_global_conn_address_ttl (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->c_address.address_ttl;
-}
-
-unsigned int
-fsdp_get_global_conn_address_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->c_address.address_count;
-}
-
-unsigned int
-fsdp_get_bw_modifier_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->bw_modifiers_count;
-}
-
-fsdp_bw_modifier_type_t
-fsdp_get_bw_modifier_type (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->bw_modifiers_count))
- return FSDP_BW_MOD_TYPE_UNDEFINED;
- return dsc->bw_modifiers[index].b_mod_type;
-}
-
-const char *
-fsdp_get_bw_modifier_type_unknown (const fsdp_description_t * dsc,
- unsigned int index)
-{
- if ((!dsc) || (index >= dsc->bw_modifiers_count) ||
- (dsc->bw_modifiers[index].b_mod_type != FSDP_BW_MOD_TYPE_UNKNOWN))
- return NULL;
- return dsc->bw_modifiers[index].b_unknown_bw_modt;
-}
-
-unsigned long int
-fsdp_get_bw_value (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->bw_modifiers_count))
- return 0;
- return dsc->bw_modifiers[index].b_value;
-}
-
-time_t
-fsdp_get_period_start (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->time_periods_count))
- return 0;
- return dsc->time_periods[index]->start;
-}
-
-time_t
-fsdp_get_period_stop (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->time_periods_count))
- return 0;
- return dsc->time_periods[index]->stop;
-}
-
-unsigned int
-fsdp_get_period_repeats_count (const fsdp_description_t * dsc,
- unsigned int index)
-{
- if ((!dsc) || (index >= dsc->time_periods_count))
- return 0;
- return dsc->time_periods[index]->repeats_count;
-}
-
-unsigned long int
-fsdp_get_period_repeat_interval (const fsdp_description_t * dsc,
- unsigned int index, unsigned int rindex)
-{
- if ((!dsc) || (index >= dsc->time_periods_count))
- return 0;
- return dsc->time_periods[index]->repeats[rindex]->interval;
-}
-
-unsigned long int
-fsdp_get_period_repeat_duration (const fsdp_description_t * dsc,
- unsigned int index, unsigned int rindex)
-{
- if ((!dsc) || (index >= dsc->time_periods_count))
- return 0;
- return dsc->time_periods[index]->repeats[rindex]->duration;
-}
-
-const unsigned long int *
-fsdp_get_period_repeat_offsets (const fsdp_description_t * dsc,
- unsigned int index, unsigned int rindex)
-{
- if ((!dsc) || (index >= dsc->time_periods_count))
- return NULL;
- return dsc->time_periods[index]->repeats[rindex]->offsets;
-}
-
-const char *
-fsdp_get_timezone_adj (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->timezone_adj;
-}
-
-unsigned int
-fsdp_get_unidentified_attribute_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->unidentified_attributes_count;
-}
-
-const char *
-fsdp_get_unidentified_attribute (const fsdp_description_t * dsc,
- unsigned int index)
-{
- if (!dsc || (index < dsc->unidentified_attributes_count))
- return NULL;
- return dsc->unidentified_attributes[index];
-}
-
-fsdp_encryption_method_t
-fsdp_get_encryption_method (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return FSDP_ENCRYPTION_METHOD_UNDEFINED;
- return dsc->k_encryption_method;
-}
-
-const char *
-fsdp_get_encryption_content (const fsdp_description_t * dsc)
-{
- if (!dsc || (dsc->k_encryption_method == FSDP_ENCRYPTION_METHOD_UNDEFINED))
- return NULL;
- return dsc->k_encryption_content;
-}
-
-const char *
-fsdp_get_str_att (const fsdp_description_t * dsc, fsdp_session_str_att_t att)
-{
- /*TODO: change these individual attributes with a table, thus
- avoiding this slow switch */
- char *result;
-
- if (!dsc)
- return NULL;
-
- switch (att)
- {
- case FSDP_SESSION_STR_ATT_CATEGORY:
- result = dsc->a_category;
- break;
- case FSDP_SESSION_STR_ATT_KEYWORDS:
- result = dsc->a_keywords;
- break;
- case FSDP_SESSION_STR_ATT_TOOL:
- result = dsc->a_tool;
- break;
- case FSDP_SESSION_STR_ATT_CHARSET:
- result = dsc->a_charset;
- break;
- default:
- result = NULL;
- }
- return result;
-}
-
-unsigned int
-fsdp_get_sdplang_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->a_sdplangs_count;
-}
-
-const char *
-fsdp_get_sdplang (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->a_sdplangs_count))
- return NULL;
- return dsc->a_sdplangs[index];
-}
-
-unsigned int
-fsdp_get_control_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->a_controls_count;
-}
-
-const char *
-fsdp_get_control (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((!dsc) || (index >= dsc->a_controls_count))
- return NULL;
- return dsc->a_controls[index];
-}
-
-const char *
-fsdp_get_range (const fsdp_description_t * dsc)
-{
- return dsc->a_range;
-}
-
-fsdp_sendrecv_mode_t
-fsdp_get_sendrecv_mode (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return FSDP_SENDRECV_UNDEFINED;
- return dsc->a_sendrecv_mode;
-}
-
-fsdp_session_type_t
-fsdp_get_session_type (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return FSDP_SESSION_TYPE_UNDEFINED;
- return dsc->a_type;
-}
-
-unsigned int
-fsdp_get_media_count (const fsdp_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->media_announcements_count;
-}
-
-const fsdp_media_description_t *
-fsdp_get_media (const fsdp_description_t * dsc, unsigned int index)
-{
- if ((index >= dsc->media_announcements_count))
- return NULL;
- return dsc->media_announcements[index];
-}
-
-fsdp_media_t
-fsdp_get_media_type (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_MEDIA_UNDEFINED;
- return dsc->media_type;
-}
-
-unsigned int
-fsdp_get_media_port (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->port;
-}
-
-unsigned int
-fsdp_get_media_port_count (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->port_count;
-}
-
-fsdp_transport_protocol_t
-fsdp_get_media_transport_protocol (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_TP_UNDEFINED;
- return dsc->transport;
-}
-
-unsigned int
-fsdp_get_media_formats_count (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->formats_count;
-}
-
-const char *
-fsdp_get_media_format (const fsdp_media_description_t * dsc,
- unsigned int index)
-{
- if (!dsc || (index < dsc->formats_count - 1))
- return NULL;
- return dsc->formats[index];
-}
-
-const char *
-fsdp_get_media_title (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->i_title;
-}
-
-fsdp_network_type_t
-fsdp_get_media_network_type (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_NETWORK_TYPE_UNDEFINED;
- return dsc->c_network_type;
-}
-
-fsdp_address_type_t
-fsdp_get_media_address_type (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_ADDRESS_TYPE_UNDEFINED;
- return dsc->c_address_type;
-}
-
-const char *
-fsdp_get_media_address (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->c_address.address;
-}
-
-unsigned int
-fsdp_get_media_address_ttl (const fsdp_media_description_t * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->c_address.address_ttl;
-}
-
-unsigned int
-fsdp_get_media_address_count (const fsdp_media_description_t * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->c_address.address_count;
-}
-
-fsdp_bw_modifier_type_t
-fsdp_get_media_bw_modifier_type (const fsdp_media_description_t * dsc,
- unsigned int index)
-{
- if (!dsc || (index >= dsc->bw_modifiers_count))
- return FSDP_BW_MOD_TYPE_UNDEFINED;
- return dsc->bw_modifiers[index].b_mod_type;
-}
-
-const char *
-fsdp_get_media_bw_modifier_type_unknown (const fsdp_media_description_t * dsc,
- unsigned int index)
-{
- if (!dsc || (index >= dsc->bw_modifiers_count) ||
- (FSDP_BW_MOD_TYPE_UNKNOWN != dsc->bw_modifiers[index].b_mod_type))
- return NULL;
- return dsc->bw_modifiers[index].b_unknown_bw_modt;
-}
-
-unsigned long int
-fsdp_get_media_bw_value (const fsdp_media_description_t * dsc,
- unsigned int index)
-{
- if (!dsc || (index >= dsc->bw_modifiers_count))
- return 0;
- return dsc->bw_modifiers[index].b_value;
-}
-
-fsdp_encryption_method_t
-fsdp_get_media_encryption_method (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_ENCRYPTION_METHOD_UNDEFINED;
- return dsc->k_encryption_method;
-}
-
-const char *
-fsdp_get_media_encryption_content (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->k_encryption_content;
-}
-
-unsigned int
-fsdp_get_media_ptime (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->a_ptime;
-}
-
-unsigned int
-fsdp_get_media_maxptime (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->a_maxptime;
-}
-
-unsigned int
-fsdp_get_media_rtpmap_count (const fsdp_media_description_t * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->a_rtpmaps_count;
-}
-
-const char *
-fsdp_get_media_rtpmap_payload_type (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_rtpmaps_count))
- return NULL;
- return mdsc->a_rtpmaps[index]->pt;
-}
-
-const char *
-fsdp_get_media_rtpmap_encoding_name (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_rtpmaps_count))
- return NULL;
- return mdsc->a_rtpmaps[index]->encoding_name;
-}
-
-unsigned int
-fsdp_get_media_rtpmap_clock_rate (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_rtpmaps_count))
- return 0;
- return mdsc->a_rtpmaps[index]->clock_rate;
-}
-
-const char *
-fsdp_get_media_rtpmap_encoding_parameters (const fsdp_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_rtpmaps_count))
- return NULL;
- return mdsc->a_rtpmaps[index]->parameters;
-}
-
-unsigned int
-fsdp_get_media_sdplang_count (const fsdp_media_description_t * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->a_sdplangs_count;
-}
-
-const char *
-fsdp_get_media_sdplang (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_sdplangs_count))
- return NULL;
- return mdsc->a_sdplangs[index];
-}
-
-unsigned int
-fsdp_get_media_lang_count (const fsdp_media_description_t * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->a_langs_count;
-}
-
-const char *
-fsdp_get_media_lang (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_langs_count))
- return NULL;
- return mdsc->a_langs[index];
-}
-
-unsigned int
-fsdp_get_media_control_count (const fsdp_media_description_t * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->a_controls_count;
-}
-
-char *
-fsdp_get_media_control (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_controls_count))
- return NULL;
- return mdsc->a_controls[index];
-}
-
-char *
-fsdp_get_media_range (const fsdp_media_description_t * mdsc)
-{
- return mdsc->a_range;
-}
-
-unsigned int
-fsdp_get_media_fmtp_count (const fsdp_media_description_t * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->a_fmtps_count;
-}
-
-const char *
-fsdp_get_media_fmtp (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index >= mdsc->a_fmtps_count))
- return NULL;
- return mdsc->a_fmtps[index];
-}
-
-fsdp_orient_t
-fsdp_get_media_orient (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_ORIENT_UNDEFINED;
- return dsc->a_orient;
-}
-
-fsdp_sendrecv_mode_t
-fsdp_get_media_sendrecv (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_SENDRECV_UNDEFINED;
- return dsc->a_sendrecv_mode;
-}
-
-float
-fsdp_get_media_framerate (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->a_framerate;
-}
-
-unsigned int
-fsdp_get_media_quality (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->a_quality;
-}
-
-unsigned int
-fsdp_get_media_rtcp_port (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return 0;
- return dsc->a_rtcp_port;
-}
-
-fsdp_network_type_t
-fsdp_get_media_rtcp_network_type (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_NETWORK_TYPE_UNDEFINED;
- return dsc->a_rtcp_network_type;
-}
-
-fsdp_address_type_t
-fsdp_get_media_rtcp_address_type (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return FSDP_ADDRESS_TYPE_UNDEFINED;
- return dsc->a_rtcp_address_type;
-}
-
-const char *
-fsdp_get_media_rtcp_address (const fsdp_media_description_t * dsc)
-{
- if (!dsc)
- return NULL;
- return dsc->a_rtcp_address;
-}
-
-unsigned int
-fsdp_get_media_unidentified_attribute_count (const fsdp_media_description_t
- * mdsc)
-{
- if (!mdsc)
- return 0;
- return mdsc->unidentified_attributes_count;
-}
-
-const char *
-fsdp_get_media_unidentified_attribute (const fsdp_media_description_t * mdsc,
- unsigned int index)
-{
- if (!mdsc || (index < mdsc->unidentified_attributes_count))
- return NULL;
- return mdsc->unidentified_attributes[index];
-}
diff --git a/stream/freesdp/parser.h b/stream/freesdp/parser.h
deleted file mode 100644
index 76d10ad..0000000
--- a/stream/freesdp/parser.h
+++ /dev/null
@@ -1,728 +0,0 @@
-/*
- This file is part of FreeSDP
- Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp at altern.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- Benjamin Zores, (C) 2006
- added support in parser for the a=control: lines.
- added support in parser for the a=range: lines.
-*/
-
-/**
- * @file parser.h
- * @ingroup parser
- * @short Specific public header for parsing module.
- **/
-
-#ifndef FSDP_PARSER_H
-#define FSDP_PARSER_H
-
-#include "common.h"
-
-BEGIN_C_DECLS
-/**
- * @defgroup parser FreeSDP Parsing Module
- *
- * SDP descriptions parsing routines.
- * @{
- **/
-/**
- * Parse a SDP description in <code>description</code>, extracting the
- * session properties into <code>dsc</code>. These properties can be
- * obtained individually later using the <code>fsdp_get_xxxx<code>
- * functions.
- *
- * @param description a multimedia session description formatted in
- * SDP.
- * @param dsc pointer that is updated to point to a fsdp_description_t
- * object. This fsdp_description_t object should have been previously
- * allocated using <code>fsdp_description_new()</code>; to free it,
- * <code>fsdp_description_delete()</code> should be used.
- *
- * @return FSDPE_OK when parsing completes successfully. Otherwise,
- * another error code is returned.
- **/
-fsdp_error_t fsdp_parse (const char *description, fsdp_description_t * dsc);
-
-/**
- * Get the SDP protocol version of the description.
- *
- * @return SDP protocol version number.
- **/
-unsigned int fsdp_get_version (const fsdp_description_t * dsc);
-
-/**
- * Get the username provided by the originator of the session.
- *
- * @param dsc SDP description object.
- * @return username of the session owner
- **/
-const char *fsdp_get_owner_username (const fsdp_description_t * dsc);
-
-/**
- * Get the id for the session described in <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return id string for this session.
- **/
-const char *fsdp_get_session_id (const fsdp_description_t * dsc);
-
-/**
- * Get the announcement version for the session description in
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return announcement version string for this description.
- **/
-const char *fsdp_get_announcement_version (const fsdp_description_t * dsc);
-
-/**
- * Get the the type of network the owner of the session described in
- * <code>dsc</code> is based on.
- *
- * @param dsc SDP description object.
- * @return network type for the owner of this session.
- **/
-fsdp_network_type_t
-fsdp_get_owner_network_type (const fsdp_description_t * dsc);
-
-/**
- * Get the the type of address the owner of the session described in
- * <code>dsc</code> is based on.
- *
- * @param dsc SDP description object.
- * @return network address type for the owner of this session.
- **/
-fsdp_address_type_t
-fsdp_get_owner_address_type (const fsdp_description_t * dsc);
-
-/**
- * Get the network address of the owner of the session described in
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return network address for the owner this session.
- **/
-const char *fsdp_get_owner_address (const fsdp_description_t * dsc);
-
-/**
- * Get the name of the session described in <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return name of this session.
- **/
-const char *fsdp_get_name (const fsdp_description_t * dsc);
-
-/**
- * Get the information about the session provided in the description
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return information of this session.
- **/
-const char *fsdp_get_information (const fsdp_description_t * dsc);
-
-/**
- * Get an URI about the session provided in the description
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return string containing an URI about the session. NULL if the
- * session uri is missing.
- **/
-const char *fsdp_get_uri (const fsdp_description_t * dsc);
-
-/**
- * Get the number of emails specified for the session in the description
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return number of emails.
- **/
-unsigned int fsdp_get_emails_count (const fsdp_description_t * dsc);
-
-/**
- * Get the n-th email specified for the session in the description
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @param index number of URI. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_emails_count() - 1.
- * @return string containing an email about the session. NULL if there
- * is no such index.
- **/
-const char *fsdp_get_email (const fsdp_description_t * dsc,
- unsigned int index);
-
-/**
- * Get the number of phones specified for the session in the description
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @return number of emails.
- **/
-unsigned int fsdp_get_phones_count (const fsdp_description_t * dsc);
-
-/**
- * Get the n-th phone specified for the session in the description
- * <code>dsc</code>.
- *
- * @param dsc SDP description object.
- * @param index number of URI. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_phones_count() - 1.
- * @return string containing a phone about the session. NULL if there
- * is no such index.
- **/
-const char *fsdp_get_phone (const fsdp_description_t * dsc,
- unsigned int index);
-
-/**
- * Get the the global type of network of the multimedia session
- * connection.
- *
- * @param dsc SDP description object.
- * @return global network type for this
- * connection. FSDP_NETWORK_TYPE_UNDEFINED if no global network
- * address type is included in the description.
- **/
-fsdp_network_type_t
-fsdp_get_global_conn_network_type (const fsdp_description_t * dsc);
-
-/**
- * Get the the global type of network address of the multimedia
- * session connection.
- *
- * @param dsc SDP description object.
- * @return global network address type for this connection.
- * FSDP_ADDRESS_TYPE_UNDEFINED if no global network address type is
- * included in the description.
- **/
-fsdp_address_type_t
-fsdp_get_global_conn_address_type (const fsdp_description_t * dsc);
-
-/**
- * Get the the global address of the multimedia session connection.
- *
- * @param dsc SDP description object.
- * @return global address for this connection.
- **/
-const char *fsdp_get_global_conn_address (const fsdp_description_t * dsc);
-
-unsigned int
-fsdp_get_global_conn_address_ttl (const fsdp_description_t * dsc);
-
-unsigned int
-fsdp_get_global_conn_address_count (const fsdp_description_t * dsc);
-
-/**
- * Get the number of bandwidth modifiers specified for this session.
- *
- * @param dsc SDP description object.
- * @return number of bandwidth modifiers.
- **/
-unsigned int fsdp_get_bw_modifier_count (const fsdp_description_t * dsc);
-
-/**
- * Get the bandwidth modifier type for the session.
- *
- * @param dsc SDP description object.
- * @param index number of bandwidth modifier.
- *
- * @return global bandwidth modifier type.
- * @retval FSDP_BW_MOD_TYPE_UNDEFINED if no global bandwith modifier
- * type is defined or invalid index.
- * @retval FSDP_BW_MOD_TYPE_UNKNOWN if an unknown bandwith modifier is
- * specified or an invalid index is provided. In this case
- * fsdp_get_bw_modifer_type_unknown() can be called to get the
- * modifier as a character string.
- **/
-fsdp_bw_modifier_type_t
-fsdp_get_bw_modifier_type (const fsdp_description_t * dsc,
- unsigned int index);
-
-/**
- * Get the textual bandwidth modifier type when it is unknown.
- *
- * @param dsc SDP description object.
- * @param index number of bandwidth modifier.
- *
- * @return global bandwidth modifier type.
- * @retval empty string if the provided bandwidth type is not unknown,
- * the provided index is invalid or or there was a parse error.
- **/
-const char *fsdp_get_bw_modifier_type_unknown (const fsdp_description_t * dsc,
- unsigned int index);
-
-/**
- * Get the value for the bandwidth modifier.
- *
- * @param dsc SDP description object.
- * @param index number of bandwidth modifier.
- * @return global bandwidth value.
- * @retval 0 if no bandwidth is specified for this session or an
- * invalid index has been provided.
- **/
-unsigned long int
-fsdp_get_bw_value (const fsdp_description_t * dsc, unsigned int index);
-
-/**
- * Get the number of time periods specified for this session
- *
- * @param dsc SDP description object.
- * @return number of time periods
- **/
-unsigned long int fsdp_get_period_count (const fsdp_description_t * dsc);
-
-/**
- * Get the start time for the period selected by index.
- *
- * @param dsc SDP description object.
- * @param index number of time period. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_period_count() - 1.
- * @return start time
- * @retval 0 if an invalid index is provided.
- **/
-time_t
-fsdp_get_period_start (const fsdp_description_t * dsc, unsigned int index);
-
-/**
- * Get the stop time for the period selected by index.
- *
- * @param dsc SDP description object.
- * @param index number of time period. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_period_count() - 1.
- * @return stop time
- * @retval 0 if an invalid index is provided.
- **/
-time_t
-fsdp_get_period_stop (const fsdp_description_t * dsc, unsigned int index);
-
-/**
- * Get the number of repeats for the period selected by index.
- *
- * @param dsc SDP description object.
- * @param index number of the period. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_period_count() - 1.
- * @return number of repeats
- * @retval 0 if an invalid index is provided.
- **/
-unsigned int
-fsdp_get_period_repeats_count (const fsdp_description_t * dsc,
- unsigned int index);
-
-/**
- * Get the interval time of the repeat selected by rindex for the
- * period selected by index.
- *
- * @param dsc SDP description object.
- * @param index number of time period. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_period_count() - 1.
- * @param rindex number of repeat
- * @return interval time
- * @retval 0 if an invalid index is provided.
- **/
-unsigned long int
-fsdp_get_period_repeat_interval (const fsdp_description_t * dsc,
- unsigned int index, unsigned int rindex);
-
-/**
- * Get the duration of the repeat selected by rindex for the period
- * selected by index.
- *
- * @param dsc SDP description object.
- * @param index number of time period. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_period_count() - 1.
- * @param rindex number of repeat
- * @return duration
- * @retval 0 if an invalid index is provided.
- **/
-unsigned long int
-fsdp_get_period_repeat_duration (const fsdp_description_t * dsc,
- unsigned int index, unsigned int rindex);
-
-/**
- * Get the offsets of the repeat selected by rindex for the period
- * selected by index.
- *
- * @param dsc SDP description object.
- * @param index number of time period. Note that this index follows the
- * traditional C convention: from 0 to fsdp_get_period_count() - 1.
- * @param rindex number of repeat
- * @return array of offsets
- * @retval NULL if an invalid index is provided.
- **/
-const unsigned long int *fsdp_get_period_repeat_offsets (const
- fsdp_description_t *
- dsc,
- unsigned int index,
- unsigned int rindex);
-
-/**
- * Get the encryption method defined for this session.
- *
- * @param dsc SDP description object.
- * @return encryption method. FSDP_ENCRYPTION_METHOD_UNDEFINED if no
- * encryption method is specified.
- **/
-fsdp_encryption_method_t
-fsdp_get_encryption_method (const fsdp_description_t * dsc);
-
-/**
- * Get the encryption key or a URI pointing to the encryption key for
- * this session.
- *
- * @param dsc SDP description object.
- * @return encryption key unless FSDP_ENCRYPTION_METHOD_URI is
- * specified, in which case a URI pointing to the key is returned. If
- * the global encryption method is undefined, NULL is returned.
- **/
-const char *fsdp_get_encryption_content (const fsdp_description_t * dsc);
-
-/**
- * Get timezone adjustments.
- *
- * @param dsc SDP description object.
- * @return string with list of timezone adjustments
- * @retval NULL if no timezone adjustment list was specified or there
- * was a parse error.
- **/
-const char *fsdp_get_timezone_adj (const fsdp_description_t * dsc);
-
-/**
- *
- **/
-unsigned int
-fsdp_get_unidentified_attribute_count (const fsdp_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_unidentified_attribute (const fsdp_description_t * dsc,
- unsigned int index);
-
-/**
- *
- **/
-unsigned int
-fsdp_get_media_rtpmap_count (const fsdp_media_description_t * mdsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_rtpmap_payload_type (const fsdp_media_description_t
- * mdsc, unsigned int index);
-
-/**
- *
- **/
-const char *fsdp_get_media_rtpmap_encoding_name (const
- fsdp_media_description_t *
- mdsc, unsigned int index);
-
-/**
- *
- **/
-unsigned int
-fsdp_get_media_rtpmap_clock_rate (const fsdp_media_description_t * mdsc,
- unsigned int index);
-
-/**
- *
- **/
-const char *fsdp_get_media_rtpmap_encoding_parameters (const
- fsdp_description_t *
- mdsc,
- unsigned int index);
-
-/**
- * Get the value of the session attribute specified in
- * <code>att</code>. This function works for all the session
- * attributes whose value is a character string. These attributes are
- * defined in the session_string_attribute_t enumerated type.
- *
- * @param dsc SDP description object.
- * @param att attribute to get.
- *
- * @return value of the attribute <code>att</code>.
- * @retval NULL if the attribute was not specified or there was a
- * parse error or an invalid att is given.
- **/
-const char *fsdp_get_str_att (const fsdp_description_t * dsc,
- fsdp_session_str_att_t att);
-
-/**
- *
- **/
-unsigned int fsdp_get_sdplang_count (const fsdp_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_sdplang (const fsdp_description_t * dsc,
- unsigned int index);
-
-/**
- * Get the mode of the conference, specified with attributes sendrecv,
- * sendonly, recvonly and inactive.
- *
- * @param dsc SDP description object.
- * @return send/rec conference mode.
- * @retval FSDP_SENDRECV_UNDEFINED if conference mode not provided.
- **/
-fsdp_sendrecv_mode_t fsdp_get_sendrecv_mode (const fsdp_description_t * dsc);
-
-/**
- * Get the type of conference, such as broadcast, meeting, moderated,
- * test or H332.
- *
- * @param dsc SDP description object.
- * @return conference type.
- * @retval FSDP_SESSION_TYPE_UNDEFINED if conference type not provided.
- **/
-fsdp_session_type_t fsdp_get_session_type (const fsdp_description_t * dsc);
-
-/**
- *
- **/
-unsigned int fsdp_get_media_count (const fsdp_description_t * dsc);
-
-/**
- *
- **/
-const fsdp_media_description_t *fsdp_get_media (const fsdp_description_t *
- dsc, unsigned int index);
-
-/**
- *
- **/
-fsdp_media_t fsdp_get_media_type (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-unsigned int fsdp_get_media_port (const fsdp_media_description_t * dsc);
-
-unsigned int fsdp_get_media_port_count (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-fsdp_transport_protocol_t
-fsdp_get_media_transport_protocol (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_formats (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-unsigned int
-fsdp_get_media_formats_count (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_format (const fsdp_media_description_t * dsc,
- unsigned int index);
-
-/**
- *
- **/
-const char *fsdp_get_media_title (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-fsdp_network_type_t
-fsdp_get_media_network_type (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-fsdp_address_type_t
-fsdp_get_media_address_type (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_address (const fsdp_media_description_t * dsc);
-
-unsigned int
-fsdp_get_media_address_ttl (const fsdp_media_description_t * mdsc);
-
-unsigned int
-fsdp_get_media_address_count (const fsdp_media_description_t * mdsc);
-
-/**
- *
- **/
-fsdp_bw_modifier_type_t
-fsdp_get_media_bw_modifier_type (const fsdp_media_description_t * dsc,
- unsigned int index);
-
-/**
- *
- **/
-const char *fsdp_get_media_bw_modifier_type_unknown (const
- fsdp_media_description_t
- * dsc,
- unsigned int index);
-
-/**
- *
- **/
-unsigned long int
-fsdp_get_media_bw_value (const fsdp_media_description_t * dsc,
- unsigned int index);
-
-/**
- *
- **/
-fsdp_encryption_method_t
-fsdp_get_media_encryption_method (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_encryption_content (const fsdp_media_description_t
- * dsc);
-
-/**
- *
- **/
-unsigned int fsdp_get_media_ptime (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-unsigned int fsdp_get_media_maxptime (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-unsigned int
-fsdp_get_media_fmtp_count (const fsdp_media_description_t * mdsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_fmtp (const fsdp_media_description_t * mdsc,
- unsigned int index);
-
-/**
- *
- **/
-unsigned int
-fsdp_get_media_sdplang_count (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_sdplang (const fsdp_media_description_t * dsc,
- unsigned int index);
-
-/**
- *
- **/
-unsigned int fsdp_get_media_lang_count (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_lang (const fsdp_media_description_t * dsc,
- unsigned int index);
-
-
-unsigned int fsdp_get_control_count (const fsdp_description_t * dsc);
-
-const char *fsdp_get_control (const fsdp_description_t * dsc,
- unsigned int index);
-
-const char *fsdp_get_range (const fsdp_description_t * dsc);
-
-unsigned int
-fsdp_get_media_control_count (const fsdp_media_description_t * mdsc);
-
-char *fsdp_get_media_control (const fsdp_media_description_t * mdsc,
- unsigned int index);
-
-char *fsdp_get_media_range (const fsdp_media_description_t * mdsc);
-
-/**
- *
- **/
-fsdp_orient_t fsdp_get_media_orient (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-fsdp_sendrecv_mode_t
-fsdp_get_media_sendrecv (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-float fsdp_get_media_framerate (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-unsigned int fsdp_get_media_quality (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-unsigned int fsdp_get_media_rtcp_port (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-fsdp_network_type_t
-fsdp_get_media_rtcp_network_type (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-fsdp_address_type_t
-fsdp_get_media_rtcp_address_type (const fsdp_media_description_t * dsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_rtcp_address (const fsdp_media_description_t *
- dsc);
-
-/**
- *
- **/
-unsigned int
-fsdp_get_media_unidentified_attribute_count (const fsdp_media_description_t
- * mdsc);
-
-/**
- *
- **/
-const char *fsdp_get_media_unidentified_attribute (const
- fsdp_media_description_t *
- mdsc, unsigned int index);
-
-
- /** @} *//* closes parser group */
-
-END_C_DECLS
-#endif /* FSDP_PARSER_H */
diff --git a/stream/freesdp/parserpriv.h b/stream/freesdp/parserpriv.h
deleted file mode 100644
index b6762a4..0000000
--- a/stream/freesdp/parserpriv.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- This file is part of FreeSDP
- Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp at suidzer0.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-/**
- * @file parserpriv.h
- *
- * @short Private header for parser module.
- **/
-
-#ifndef FSDP_PARSERPRIV_H
-#define FSDP_PARSERPRIV_H
-
-#include "priv.h"
-#include "parser.h"
-
-/**
- * Parse a connection (c=<network type> <address type> <connection
- * address>) line. If the textual description in <code>p</code> begins
- * with a connection line, it is parsed. If not, nothing is done.
- *
- * @param p fraction of textual SDP description.
- * @param ntype where to store the network type.
- * @param atype where to store the address type.
- * @param address where to store the connection address as a string.
- *
- * @return parse error code.
- **/
-static fsdp_error_t
-fsdp_parse_c (const char **p, fsdp_network_type_t * ntype,
- fsdp_address_type_t * atype,
- fsdp_connection_address_t * address);
-
-/**
- * Parse b (b=<modifier>:<bandwidth-value>) consecutive lines. If the
- * textual description in <code>p</code> begins with a bandwidth line,
- * it is parsed as well as all b lines inmediately after it. If not,
- * nothing is done.
- *
- * @param p fraction of textual SDP description.
- * @param bw_modifiers pointer to empty array of bandwidth modifiers to fill.
- * @param bw_modifiers_count where to set the number of bandwidth
- * modifiers successfully parsed.
- *
- * @return parse error code.
- **/
-static fsdp_error_t
-fsdp_parse_b (const char **p, fsdp_bw_modifier_t ** bw_modifiers,
- unsigned int *bw_modifiers_count);
-
-/**
- * Parse a k (k=<method>) or (k=<method>:<encryption key>) line. If
- * the textual description in <code>p</code> begins with an encryption
- * line, it is parsed. If not, nothing is done.
- *
- * @param p fraction of textual SDP description.
- * @param method where to store the encryption method.
- * @param content where to store the encryption key if provided.
- *
- * @return parse error code.
- **/
-static fsdp_error_t
-fsdp_parse_k (const char **p, fsdp_encryption_method_t * method,
- char **content);
-
-
-/**
- * Parses a string whose first token (first characters before the
- * first space or end of string) is supposed to be a time in SDP
- * syntax. Some examples of SDP times are: 2d, 5h, 3444, 7778s,
- *
- * @param time time in SDP syntax as a string.
- * @param seconds where to store the value in seconds as an integer.
- *
- * @return parse error code.
- **/
-static fsdp_error_t
-fsdp_repeat_time_to_uint (const char *time, unsigned long int *seconds);
-
-static fsdp_error_t
-fsdp_parse_rtpmap (fsdp_rtpmap_t *** rtpmap, unsigned int *counter,
- const char *value);
-
-/**
- * Maximun default field len for "expected to be short" fields, like
- * username, session_id or inet addresses.
- *
- * MDFLENS value must be MAXSHORTFIELDLEN - 1
- **/
-#define MAXSHORTFIELDLEN 96
-#define MSFLENS "95"
-
-/**
- * Maximun default field len for "maybe very long" fields, like
- * information, attribute values. This can also be used for lines
- * where there is only a string field, like phone and email.
- *
- * MLFLENS value must be MAXLONGFIELDLEN - 1
- **/
-#define MAXLONGFIELDLEN 1024
-#define MLFLENS "1023"
-
-#endif /* FSDP_PARSERPRIV_H */
diff --git a/stream/freesdp/priv.h b/stream/freesdp/priv.h
deleted file mode 100644
index 07d6e3d..0000000
--- a/stream/freesdp/priv.h
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- This file is part of FreeSDP
- Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp at altern.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- Benjamin Zores, (C) 2006
- added support in parser for the a=control: lines.
- added support in parser for the a=range: lines.
-*/
-
-/**
- * @file priv.h
- *
- * @short Common private header for both formatting and parsing modules.
- **/
-
-#ifndef FSDP_PRIV_H
-#define FSDP_PRIV_H
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "common.h"
-
-#define NTP_EPOCH_OFFSET 2208988800UL
-
-#define FSDP_MAX_LENGTH 2000
-
-/* Tags for doxygen documentation */
-
-/**
- * @mainpage FreeSDP Library Reference Manual
- * @section overview Overview (README)
- * @verbinclude ../../README
- *
- **/
-
-/**
- * @example formatdemo.c
- *
- * A basic SDP descriptions formatter based on FreeSDP.
- **/
-
-/**
- * @example parsedemo.c
- *
- * A basic SDP descriptions parser based on FreeSDP.
- **/
-
-/* Private routines declarations */
-
-BEGIN_C_DECLS
-/**
- * @short bandwidth modifier
- *
- * Holds type of modifier and value. Also holds the literal bandwidth
- * modifier if unknown.
- **/
- typedef struct
-{
- fsdp_bw_modifier_type_t b_mod_type;
- unsigned long int b_value;
- char *b_unknown_bw_modt;
-} fsdp_bw_modifier_t;
-
-/**
- * @short a=rtpmap: attribute
- *
- * Holds payload type, enconding name, RTP clock rate, and encofing
- * parameters.
- **/
-typedef struct
-{
- char *pt;
- char *encoding_name;
- unsigned int clock_rate;
- char *parameters;
-} fsdp_rtpmap_t;
-
-/**
- * @short Connection address specification
- *
- * Holds address (unicast or multicast) as well as TTL and number of
- * ports, when it is an IP4 multicast address.
- **/
-typedef struct fsdp_connection_address_t_s
-{
- char *address;
- unsigned int address_ttl;
- unsigned int address_count;
-} fsdp_connection_address_t;
-
-/**
- * @short Struct for each media in a session description.
- **/
-struct fsdp_media_description_t_s
-{
- /* from `m=<media> <port> <transport> <fmt list>' line */
- fsdp_media_t media_type;
- unsigned int port;
- unsigned int port_count;
- fsdp_transport_protocol_t transport;
- char **formats;
- unsigned int formats_count;
- /* from i=<media title> */
- char *i_title;
- /* from `c=<network type> <address type> <connection address>' line
- (optional) */
- fsdp_network_type_t c_network_type;
- fsdp_address_type_t c_address_type;
- fsdp_connection_address_t c_address;
- /* from `b=<modifier>:<bandwidth-value>' lines (optional) */
- fsdp_bw_modifier_t *bw_modifiers;
- unsigned int bw_modifiers_count;
- /* from `k=<method>' or `k=<method>:<encryption key>' line
- (optional) */
- fsdp_encryption_method_t k_encryption_method;
- char *k_encryption_content;
- /* from `a=<attribute>' or `a=<attribute>:<value>' lines (opt) */
- unsigned long int a_ptime;
- unsigned long int a_maxptime;
- /* rtpmap */
- fsdp_rtpmap_t **a_rtpmaps;
- unsigned int a_rtpmaps_count;
- fsdp_orient_t a_orient;
- fsdp_sendrecv_mode_t a_sendrecv_mode;
-
- char **a_sdplangs;
- unsigned int a_sdplangs_count;
- char **a_langs;
- unsigned int a_langs_count;
-
- char **a_controls;
- unsigned int a_controls_count;
-
- char *a_range;
-
- float a_framerate;
- unsigned int a_quality;
- char **a_fmtps;
- unsigned int a_fmtps_count;
- /* rtcp attribute */
- unsigned int a_rtcp_port;
- fsdp_network_type_t a_rtcp_network_type;
- fsdp_address_type_t a_rtcp_address_type;
- char *a_rtcp_address;
- /* media attributes that are not directly supported */
- char **unidentified_attributes;
- unsigned int unidentified_attributes_count;
-};
-
-typedef struct fsdp_media_description_t_s fsdp_media_announcement_t;
-
-/**
- * @short Information for a repeat (struct for r= lines)
- **/
-typedef struct
-{
- /* times in seconds */
- unsigned long int interval;
- unsigned long int duration;
- unsigned long int *offsets;
- unsigned int offsets_count;
-} fsdp_repeat_t;
-
-/**
- * @short Information about a time period
- *
- * The start and stop times as well as the information from the r=
- * lines for a t= line are stored in this structures.
- **/
-typedef struct
-{
- time_t start;
- time_t stop;
- fsdp_repeat_t **repeats;
- unsigned int repeats_count;
-} fsdp_time_period_t;
-
-/**
- * @short Struct for session descriptions.
- **/
-struct fsdp_description_t_s
-{
- /* from v=... line */
- unsigned int version;
- /* from o=... line */
- char *o_username;
- char *o_session_id;
- char *o_announcement_version;
- fsdp_network_type_t o_network_type;
- fsdp_address_type_t o_address_type;
- char *o_address;
- /* from s=... line */
- char *s_name;
- /* from i=... line (opt) */
- char *i_information;
- /* from u=... line (opt) */
- char *u_uri;
- /* from e=... lines (0 or more) */
- const char **emails;
- unsigned int emails_count;
- /* from p=... lines (0 or more) */
- const char **phones;
- unsigned int phones_count;
- /* from `c=<network type> <address type> <connection address>' line */
- fsdp_network_type_t c_network_type;
- fsdp_address_type_t c_address_type;
- fsdp_connection_address_t c_address;
- /* from `b=<modifier>:<bandwidth-value>' lines (optional) */
- fsdp_bw_modifier_t *bw_modifiers;
- unsigned int bw_modifiers_count;
- /* from `t=<start time> <stop time>' lines (1 or more) */
- /* from `r=<repeat interval> <active duration> <list of offsets from
- start-time>' */
- fsdp_time_period_t **time_periods;
- unsigned int time_periods_count;
- /* from `z=<adjustment time> <offset> <adjustment time> <offset>
- ....' lines */
- char *timezone_adj;
- /* from `k=<method>' or `k=<method>:<encryption key>' line (opt) */
- fsdp_encryption_method_t k_encryption_method;
- char *k_encryption_content;
- /* from `a=<attribute>' or `a=<attribute>:<value>' lines (opt) */
- char *a_category;
- char *a_keywords;
- char *a_tool;
- char *a_range;
- /* rtpmap */
- fsdp_rtpmap_t **a_rtpmaps;
- unsigned int a_rtpmaps_count;
- fsdp_sendrecv_mode_t a_sendrecv_mode;
- fsdp_session_type_t a_type;
- char *a_charset;
-
- char **a_sdplangs;
- unsigned int a_sdplangs_count;
- char **a_langs;
- unsigned int a_langs_count;
-
- char **a_controls;
- unsigned int a_controls_count;
- /* from `m=<media> <port>/<number of ports> <transport> <fmt list>'
- lines [one or more] */
- fsdp_media_announcement_t **media_announcements;
- unsigned int media_announcements_count;
- /* session attributes that are not directly supported */
- char **unidentified_attributes;
- unsigned int unidentified_attributes_count;
-};
-
-#define MEDIA_RTPMAPS_MAX_COUNT 5
-#define SDPLANGS_MAX_COUNT 5
-#define SDPCONTROLS_MAX_COUNT 10
-#define UNIDENTIFIED_ATTRIBUTES_MAX_COUNT 5
-
-END_C_DECLS
-#endif /* FSDP_PRIV_H */
diff --git a/stream/http.c b/stream/http.c
index 349a6c4..134e5ad 100644
--- a/stream/http.c
+++ b/stream/http.c
@@ -45,7 +45,6 @@
#include <libavutil/avutil.h>
-extern int stream_cache_size;
extern int network_bandwidth;
typedef struct {
diff --git a/stream/librtsp/rtsp.c b/stream/librtsp/rtsp.c
deleted file mode 100644
index e02ae4c..0000000
--- a/stream/librtsp/rtsp.c
+++ /dev/null
@@ -1,729 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS rtsp.c,v 1.9 2003/04/10 02:30:48
- */
-
-/*
- * Copyright (C) 2000-2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * a minimalistic implementation of rtsp protocol,
- * *not* RFC 2326 compilant yet.
- *
- * 2006, Benjamin Zores and Vincent Mussard
- * fixed a lot of RFC compliance issues.
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <assert.h>
-#include "config.h"
-#include <string.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <time.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <inttypes.h>
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#else
-#include <sys/socket.h>
-#endif
-#include "mp_msg.h"
-#include "rtsp.h"
-#include "rtsp_session.h"
-#include "osdep/timer.h"
-#include "stream/network.h"
-
-/*
-#define LOG
-*/
-
-/*
- * network utilities
- */
-
-static int write_stream(int s, const char *buf, int len) {
- int total, timeout;
-
- total = 0; timeout = 30;
- while (total < len){
- int n;
-
- n = send (s, &buf[total], len - total, DEFAULT_SEND_FLAGS);
-
- if (n > 0)
- total += n;
- else if (n < 0) {
-#if !HAVE_WINSOCK2_H
- if ((timeout>0) && ((errno == EAGAIN) || (errno == EINPROGRESS))) {
-#else
- if ((timeout>0) && ((errno == EAGAIN) || (WSAGetLastError() == WSAEINPROGRESS))) {
-#endif
- usec_sleep (1000000); timeout--;
- } else
- return -1;
- }
- }
-
- return total;
-}
-
-static ssize_t read_stream(int fd, void *buf, size_t count) {
-
- ssize_t ret, total;
-
- total = 0;
-
- while (total < count) {
-
- ret=recv (fd, ((uint8_t*)buf)+total, count-total, 0);
-
- if (ret<0) {
- if(errno == EAGAIN) {
- fd_set rset;
- struct timeval timeout;
-
- FD_ZERO (&rset);
- FD_SET (fd, &rset);
-
- timeout.tv_sec = 30;
- timeout.tv_usec = 0;
-
- if (select (fd+1, &rset, NULL, NULL, &timeout) <= 0) {
- return -1;
- }
- continue;
- }
-
- mp_msg(MSGT_OPEN, MSGL_ERR, "rtsp: read error.\n");
- return ret;
- } else
- total += ret;
-
- /* end of stream */
- if (!ret) break;
- }
-
- return total;
-}
-
-/*
- * rtsp_get gets a line from stream
- * and returns a null terminated string.
- */
-
-static char *rtsp_get(rtsp_t *s) {
-
- int n=1;
- char *buffer = malloc(BUF_SIZE);
- char *string = NULL;
-
- read_stream(s->s, buffer, 1);
- while (n<BUF_SIZE) {
- read_stream(s->s, &(buffer[n]), 1);
- if ((buffer[n-1]==0x0d)&&(buffer[n]==0x0a)) break;
- n++;
- }
-
- if (n>=BUF_SIZE) {
- mp_msg(MSGT_OPEN, MSGL_FATAL, "librtsp: buffer overflow in rtsp_get\n");
- exit(1);
- }
- string=malloc(n);
- memcpy(string,buffer,n-1);
- string[n-1]=0;
-
-#ifdef LOG
- mp_msg(MSGT_OPEN, MSGL_INFO, "librtsp: << '%s'\n", string);
-#endif
-
-
- free(buffer);
- return string;
-}
-
-/*
- * rtsp_put puts a line on stream
- */
-
-static void rtsp_put(rtsp_t *s, const char *string) {
-
- int len=strlen(string);
- char *buf=malloc(len+2);
-
-#ifdef LOG
- mp_msg(MSGT_OPEN, MSGL_INFO, "librtsp: >> '%s'", string);
-#endif
-
- memcpy(buf,string,len);
- buf[len]=0x0d;
- buf[len+1]=0x0a;
-
- write_stream(s->s, buf, len+2);
-
-#ifdef LOG
- mp_msg(MSGT_OPEN, MSGL_INFO, " done.\n");
-#endif
-
- free(buf);
-}
-
-/*
- * extract server status code
- */
-
-static int rtsp_get_code(const char *string) {
-
- char buf[4];
- int code=0;
-
- if (!strncmp(string, RTSP_PROTOCOL_VERSION, strlen(RTSP_PROTOCOL_VERSION)))
- {
- memcpy(buf, string+strlen(RTSP_PROTOCOL_VERSION)+1, 3);
- buf[3]=0;
- code=atoi(buf);
- } else if (!strncmp(string, RTSP_METHOD_SET_PARAMETER,8))
- {
- return RTSP_STATUS_SET_PARAMETER;
- }
-
- if(code != RTSP_STATUS_OK) mp_msg(MSGT_OPEN, MSGL_INFO, "librtsp: server responds: '%s'\n",string);
-
- return code;
-}
-
-/*
- * send a request
- */
-
-static void rtsp_send_request(rtsp_t *s, const char *type, const char *what) {
-
- char **payload=s->scheduled;
- char *buf;
-
- buf = malloc(strlen(type)+strlen(what)+strlen(RTSP_PROTOCOL_VERSION)+3);
-
- sprintf(buf,"%s %s %s",type, what, RTSP_PROTOCOL_VERSION);
- rtsp_put(s,buf);
- free(buf);
- if (payload)
- while (*payload) {
- rtsp_put(s,*payload);
- payload++;
- }
- rtsp_put(s,"");
- rtsp_unschedule_all(s);
-}
-
-/*
- * schedule standard fields
- */
-
-static void rtsp_schedule_standard(rtsp_t *s) {
-
- char tmp[17];
-
- snprintf(tmp, 17, "CSeq: %u", s->cseq);
- rtsp_schedule_field(s, tmp);
-
- if (s->session) {
- char *buf;
- buf = malloc(strlen(s->session)+15);
- sprintf(buf, "Session: %s", s->session);
- rtsp_schedule_field(s, buf);
- free(buf);
- }
-}
-/*
- * get the answers, if server responses with something != 200, return NULL
- */
-
-static int rtsp_get_answers(rtsp_t *s) {
-
- char *answer=NULL;
- unsigned int answer_seq;
- char **answer_ptr=s->answers;
- int code;
- int ans_count = 0;
-
- answer=rtsp_get(s);
- if (!answer)
- return 0;
- code=rtsp_get_code(answer);
- free(answer);
-
- rtsp_free_answers(s);
-
- do { /* while we get answer lines */
-
- answer=rtsp_get(s);
- if (!answer)
- return 0;
-
- if (!strncasecmp(answer,"CSeq:",5)) {
- sscanf(answer,"%*s %u",&answer_seq);
- if (s->cseq != answer_seq) {
-#ifdef LOG
- mp_msg(MSGT_OPEN, MSGL_WARN, "librtsp: warning: CSeq mismatch. got %u, assumed %u", answer_seq, s->cseq);
-#endif
- s->cseq=answer_seq;
- }
- }
- if (!strncasecmp(answer,"Server:",7)) {
- char *buf = malloc(strlen(answer));
- sscanf(answer,"%*s %s",buf);
- free(s->server);
- s->server=strdup(buf);
- free(buf);
- }
- if (!strncasecmp(answer,"Session:",8)) {
- char *buf = calloc(1, strlen(answer));
- sscanf(answer,"%*s %s",buf);
- if (s->session) {
- if (strcmp(buf, s->session)) {
- mp_msg(MSGT_OPEN, MSGL_WARN, "rtsp: warning: setting NEW session: %s\n", buf);
- free(s->session);
- s->session=strdup(buf);
- }
- } else
- {
-#ifdef LOG
- mp_msg(MSGT_OPEN, MSGL_INFO, "rtsp: setting session id to: %s\n", buf);
-#endif
- s->session=strdup(buf);
- }
- free(buf);
- }
- *answer_ptr=answer;
- answer_ptr++;
- } while ((strlen(answer)!=0) && (++ans_count < MAX_FIELDS));
-
- s->cseq++;
-
- *answer_ptr=NULL;
- rtsp_schedule_standard(s);
-
- return code;
-}
-
-/*
- * send an ok message
- */
-
-int rtsp_send_ok(rtsp_t *s) {
- char cseq[16];
-
- rtsp_put(s, "RTSP/1.0 200 OK");
- sprintf(cseq,"CSeq: %u", s->cseq);
- rtsp_put(s, cseq);
- rtsp_put(s, "");
- return 0;
-}
-
-/*
- * implementation of must-have rtsp requests; functions return
- * server status code.
- */
-
-int rtsp_request_options(rtsp_t *s, const char *what) {
-
- char *buf;
-
- if (what) {
- buf=strdup(what);
- } else
- {
- buf=malloc(strlen(s->host)+16);
- sprintf(buf,"rtsp://%s:%i", s->host, s->port);
- }
- rtsp_send_request(s,RTSP_METHOD_OPTIONS,buf);
- free(buf);
-
- return rtsp_get_answers(s);
-}
-
-int rtsp_request_describe(rtsp_t *s, const char *what) {
-
- char *buf;
-
- if (what) {
- buf=strdup(what);
- } else
- {
- buf=malloc(strlen(s->host)+strlen(s->path)+16);
- sprintf(buf,"rtsp://%s:%i/%s", s->host, s->port, s->path);
- }
- rtsp_send_request(s,RTSP_METHOD_DESCRIBE,buf);
- free(buf);
-
- return rtsp_get_answers(s);
-}
-
-int rtsp_request_setup(rtsp_t *s, const char *what, char *control) {
-
- char *buf = NULL;
-
- if (what)
- buf = strdup (what);
- else
- {
- int len = strlen (s->host) + strlen (s->path) + 16;
- if (control)
- len += strlen (control) + 1;
-
- buf = malloc (len);
- sprintf (buf, "rtsp://%s:%i/%s%s%s", s->host, s->port, s->path,
- control ? "/" : "", control ? control : "");
- }
-
- rtsp_send_request (s, RTSP_METHOD_SETUP, buf);
- free (buf);
- return rtsp_get_answers (s);
-}
-
-int rtsp_request_setparameter(rtsp_t *s, const char *what) {
-
- char *buf;
-
- if (what) {
- buf=strdup(what);
- } else
- {
- buf=malloc(strlen(s->host)+strlen(s->path)+16);
- sprintf(buf,"rtsp://%s:%i/%s", s->host, s->port, s->path);
- }
- rtsp_send_request(s,RTSP_METHOD_SET_PARAMETER,buf);
- free(buf);
-
- return rtsp_get_answers(s);
-}
-
-int rtsp_request_play(rtsp_t *s, const char *what) {
-
- char *buf;
- int ret;
-
- if (what) {
- buf=strdup(what);
- } else
- {
- buf=malloc(strlen(s->host)+strlen(s->path)+16);
- sprintf(buf,"rtsp://%s:%i/%s", s->host, s->port, s->path);
- }
- rtsp_send_request(s,RTSP_METHOD_PLAY,buf);
- free(buf);
-
- ret = rtsp_get_answers (s);
- if (ret == RTSP_STATUS_OK)
- s->server_state = RTSP_PLAYING;
-
- return ret;
-}
-
-int rtsp_request_teardown(rtsp_t *s, const char *what) {
-
- char *buf;
-
- if (what)
- buf = strdup (what);
- else
- {
- buf =
- malloc (strlen (s->host) + strlen (s->path) + 16);
- sprintf (buf, "rtsp://%s:%i/%s", s->host, s->port, s->path);
- }
- rtsp_send_request (s, RTSP_METHOD_TEARDOWN, buf);
- free (buf);
-
- /* after teardown we're done with RTSP streaming, no need to get answer as
- reading more will only result to garbage and buffer overflow */
- return RTSP_STATUS_OK;
-}
-
-/*
- * read opaque data from stream
- */
-
-int rtsp_read_data(rtsp_t *s, char *buffer, unsigned int size) {
-
- int i,seq;
-
- if (size>=4) {
- i=read_stream(s->s, buffer, 4);
- if (i<4) return i;
- if (((buffer[0]=='S')&&(buffer[1]=='E')&&(buffer[2]=='T')&&(buffer[3]=='_')) ||
- ((buffer[0]=='O')&&(buffer[1]=='P')&&(buffer[2]=='T')&&(buffer[3]=='I'))) // OPTIONS
- {
- char *rest=rtsp_get(s);
- if (!rest)
- return -1;
-
- seq=-1;
- do {
- free(rest);
- rest=rtsp_get(s);
- if (!rest)
- return -1;
- if (!strncasecmp(rest,"CSeq:",5))
- sscanf(rest,"%*s %u",&seq);
- } while (strlen(rest)!=0);
- free(rest);
- if (seq<0) {
-#ifdef LOG
- mp_msg(MSGT_OPEN, MSGL_WARN, "rtsp: warning: CSeq not recognized!\n");
-#endif
- seq=1;
- }
- /* let's make the server happy */
- rtsp_put(s, "RTSP/1.0 451 Parameter Not Understood");
- rest=malloc(17);
- sprintf(rest,"CSeq: %u", seq);
- rtsp_put(s, rest);
- free(rest);
- rtsp_put(s, "");
- i=read_stream(s->s, buffer, size);
- } else
- {
- i=read_stream(s->s, buffer+4, size-4);
- i+=4;
- }
- } else
- i=read_stream(s->s, buffer, size);
-#ifdef LOG
- mp_msg(MSGT_OPEN, MSGL_INFO, "librtsp: << %d of %d bytes\n", i, size);
-#endif
-
- return i;
-}
-
-/*
- * connect to a rtsp server
- */
-
-//rtsp_t *rtsp_connect(const char *mrl, const char *user_agent) {
-rtsp_t *rtsp_connect(int fd, char* mrl, char *path, char *host, int port, char *user_agent) {
-
- rtsp_t *s;
- int i;
-
- if (fd < 0) {
- mp_msg(MSGT_OPEN, MSGL_ERR, "rtsp: failed to connect to '%s'\n", host);
- return NULL;
- }
-
- s = malloc(sizeof(rtsp_t));
-
- for (i=0; i<MAX_FIELDS; i++) {
- s->answers[i]=NULL;
- s->scheduled[i]=NULL;
- }
-
- s->s = fd;
- s->server=NULL;
- s->server_state=0;
- s->server_caps=0;
-
- s->cseq=0;
- s->session=NULL;
-
- if (user_agent)
- s->user_agent=strdup(user_agent);
- else
- s->user_agent=strdup("User-Agent: RealMedia Player Version 6.0.9.1235 (linux-2.0-libc6-i386-gcc2.95)");
-
- s->mrl = strdup(mrl);
- s->host = strdup(host);
- s->port = port;
- s->path = strdup(path);
- while (*path == '/')
- path++;
- if ((s->param = strchr(s->path, '?')) != NULL)
- s->param++;
- //mp_msg(MSGT_OPEN, MSGL_INFO, "path=%s\n", s->path);
- //mp_msg(MSGT_OPEN, MSGL_INFO, "param=%s\n", s->param ? s->param : "NULL");
-
- s->server_state=RTSP_CONNECTED;
-
- /* now let's send an options request. */
- rtsp_schedule_field(s, "CSeq: 1");
- rtsp_schedule_field(s, s->user_agent);
- rtsp_schedule_field(s, "ClientChallenge: 9e26d33f2984236010ef6253fb1887f7");
- rtsp_schedule_field(s, "PlayerStarttime: [28/03/2003:22:50:23 00:00]");
- rtsp_schedule_field(s, "CompanyID: KnKV4M4I/B2FjJ1TToLycw==");
- rtsp_schedule_field(s, "GUID: 00000000-0000-0000-0000-000000000000");
- rtsp_schedule_field(s, "RegionData: 0");
- rtsp_schedule_field(s, "ClientID: Linux_2.4_6.0.9.1235_play32_RN01_EN_586");
- /*rtsp_schedule_field(s, "Pragma: initiate-session");*/
- rtsp_request_options(s, NULL);
-
- return s;
-}
-
-
-/*
- * search in answers for tags. returns a pointer to the content
- * after the first matched tag. returns NULL if no match found.
- */
-
-char *rtsp_search_answers(rtsp_t *s, const char *tag) {
-
- char **answer;
- char *ptr;
-
- if (!s->answers) return NULL;
- answer=s->answers;
-
- while (*answer) {
- if (!strncasecmp(*answer,tag,strlen(tag))) {
- ptr=strchr(*answer,':');
- if (!ptr) return NULL;
- ptr++;
- while(*ptr==' ') ptr++;
- return ptr;
- }
- answer++;
- }
-
- return NULL;
-}
-
-/*
- * session id management
- */
-
-void rtsp_set_session(rtsp_t *s, const char *id) {
-
- free(s->session);
-
- s->session=strdup(id);
-
-}
-
-char *rtsp_get_session(rtsp_t *s) {
-
- return s->session;
-
-}
-
-char *rtsp_get_mrl(rtsp_t *s) {
-
- return s->mrl;
-
-}
-
-char *rtsp_get_param(rtsp_t *s, const char *p) {
- int len;
- char *param;
- if (!s->param)
- return NULL;
- if (!p)
- return strdup(s->param);
- len = strlen(p);
- param = s->param;
- while (param && *param) {
- char *nparam = strchr(param, '&');
- if (strncmp(param, p, len) == 0 && param[len] == '=') {
- param += len + 1;
- len = nparam ? nparam - param : strlen(param);
- nparam = malloc(len + 1);
- memcpy(nparam, param, len);
- nparam[len] = 0;
- return nparam;
- }
- param = nparam ? nparam + 1 : NULL;
- }
- return NULL;
-}
-
-/*
- * schedules a field for transmission
- */
-
-void rtsp_schedule_field(rtsp_t *s, const char *string) {
-
- int i=0;
-
- if (!string) return;
-
- while(s->scheduled[i]) {
- i++;
- }
- s->scheduled[i]=strdup(string);
-}
-
-/*
- * removes the first scheduled field which prefix matches string.
- */
-
-void rtsp_unschedule_field(rtsp_t *s, const char *string) {
-
- char **ptr=s->scheduled;
-
- if (!string) return;
-
- while(*ptr) {
- if (!strncmp(*ptr, string, strlen(string)))
- break;
- else
- ptr++;
- }
- free(*ptr);
- ptr++;
- do {
- *(ptr-1)=*ptr;
- } while(*ptr);
-}
-
-/*
- * unschedule all fields
- */
-
-void rtsp_unschedule_all(rtsp_t *s) {
-
- char **ptr;
-
- if (!s->scheduled) return;
- ptr=s->scheduled;
-
- while (*ptr) {
- free(*ptr);
- *ptr=NULL;
- ptr++;
- }
-}
-/*
- * free answers
- */
-
-void rtsp_free_answers(rtsp_t *s) {
-
- char **answer;
-
- if (!s->answers) return;
- answer=s->answers;
-
- while (*answer) {
- free(*answer);
- *answer=NULL;
- answer++;
- }
-}
diff --git a/stream/librtsp/rtsp.h b/stream/librtsp/rtsp.h
deleted file mode 100644
index f14a9a7..0000000
--- a/stream/librtsp/rtsp.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS rtsp.h,v 1.2 2002/12/16 21:50:55
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * a minimalistic implementation of rtsp protocol,
- * *not* RFC 2326 compilant yet.
- *
- * 2006, Benjamin Zores and Vincent Mussard
- * fixed a lot of RFC compliance issues.
- */
-
-#ifndef MPLAYER_RTSP_H
-#define MPLAYER_RTSP_H
-
-#include <inttypes.h>
-
-/* some codes returned by rtsp_request_* functions */
-
-#define RTSP_STATUS_SET_PARAMETER 10
-#define RTSP_STATUS_OK 200
-
-#define RTSP_METHOD_OPTIONS "OPTIONS"
-#define RTSP_METHOD_DESCRIBE "DESCRIBE"
-#define RTSP_METHOD_SETUP "SETUP"
-#define RTSP_METHOD_PLAY "PLAY"
-#define RTSP_METHOD_TEARDOWN "TEARDOWN"
-#define RTSP_METHOD_SET_PARAMETER "SET_PARAMETER"
-
-#define BUF_SIZE 4096
-#define RTSP_HEADER_SIZE 1024
-#define MAX_FIELDS 256
-
-
-struct rtsp_s {
-
- int s;
-
- char *host;
- int port;
- char *path;
- char *param;
- char *mrl;
- char *user_agent;
-
- char *server;
- unsigned int server_state;
- uint32_t server_caps;
-
- unsigned int cseq;
- char *session;
-
- char *answers[MAX_FIELDS]; /* data of last message */
- char *scheduled[MAX_FIELDS]; /* will be sent with next message */
-};
-
-/*
- * constants
- */
-
-#define RTSP_PROTOCOL_VERSION "RTSP/1.0"
-
-/* server states */
-#define RTSP_CONNECTED 1
-#define RTSP_INIT 2
-#define RTSP_READY 4
-#define RTSP_PLAYING 8
-#define RTSP_RECORDING 16
-
-/* server capabilities */
-#define RTSP_OPTIONS 0x001
-#define RTSP_DESCRIBE 0x002
-#define RTSP_ANNOUNCE 0x004
-#define RTSP_SETUP 0x008
-#define RTSP_GET_PARAMETER 0x010
-#define RTSP_SET_PARAMETER 0x020
-#define RTSP_TEARDOWN 0x040
-#define RTSP_PLAY 0x080
-#define RTSP_RECORD 0x100
-
-
-typedef struct rtsp_s rtsp_t;
-
-rtsp_t* rtsp_connect (int fd, char *mrl, char *path, char *host, int port, char *user_agent);
-
-int rtsp_request_options(rtsp_t *s, const char *what);
-int rtsp_request_describe(rtsp_t *s, const char *what);
-int rtsp_request_setup(rtsp_t *s, const char *what, char *control);
-int rtsp_request_setparameter(rtsp_t *s, const char *what);
-int rtsp_request_play(rtsp_t *s, const char *what);
-int rtsp_request_teardown(rtsp_t *s, const char *what);
-
-int rtsp_send_ok(rtsp_t *s);
-
-int rtsp_read_data(rtsp_t *s, char *buffer, unsigned int size);
-
-char* rtsp_search_answers(rtsp_t *s, const char *tag);
-void rtsp_add_to_payload(char **payload, const char *string);
-
-void rtsp_free_answers(rtsp_t *this);
-
-int rtsp_read (rtsp_t *this, char *data, int len);
-
-void rtsp_set_session(rtsp_t *s, const char *id);
-char *rtsp_get_session(rtsp_t *s);
-
-char *rtsp_get_mrl(rtsp_t *s);
-char *rtsp_get_param(rtsp_t *s, const char *param);
-
-/*int rtsp_peek_header (rtsp_t *this, char *data); */
-
-void rtsp_schedule_field(rtsp_t *s, const char *string);
-void rtsp_unschedule_field(rtsp_t *s, const char *string);
-void rtsp_unschedule_all(rtsp_t *s);
-
-#endif /* MPLAYER_RTSP_H */
diff --git a/stream/librtsp/rtsp_rtp.c b/stream/librtsp/rtsp_rtp.c
deleted file mode 100644
index ca82209..0000000
--- a/stream/librtsp/rtsp_rtp.c
+++ /dev/null
@@ -1,700 +0,0 @@
-/*
- * Copyright (C) 2006 Benjamin Zores
- * based on the Freebox patch for xine by Vincent Mussard
- * but with many enhancements for better RTSP RFC compliance.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <inttypes.h>
-
-#include "config.h"
-
-#if !HAVE_WINSOCK2_H
-#include <netdb.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#else
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#endif
-
-#include "mp_msg.h"
-#include "rtsp.h"
-#include "rtsp_rtp.h"
-#include "rtsp_session.h"
-#include "stream/network.h"
-#include "stream/freesdp/common.h"
-#include "stream/freesdp/parser.h"
-#include "libavutil/avstring.h"
-
-#define RTSP_DEFAULT_PORT 31336
-#define MAX_LENGTH 256
-
-#define RTSP_ACCEPT_SDP "Accept: application/sdp"
-#define RTSP_CONTENT_LENGTH "Content-length"
-#define RTSP_CONTENT_TYPE "Content-Type"
-#define RTSP_APPLICATION_SDP "application/sdp"
-#define RTSP_RANGE "Range: "
-#define RTSP_NPT_NOW "npt=now-"
-#define RTSP_MEDIA_CONTAINER_MPEG_TS "33"
-#define RTSP_TRANSPORT_REQUEST "Transport: RTP/AVP;%s;%s%i-%i;mode=\"PLAY\""
-
-#define RTSP_TRANSPORT_MULTICAST "multicast"
-#define RTSP_TRANSPORT_UNICAST "unicast"
-
-#define RTSP_MULTICAST_PORT "port="
-#define RTSP_UNICAST_CLIENT_PORT "client_port="
-#define RTSP_UNICAST_SERVER_PORT "server_port="
-#define RTSP_SETUP_DESTINATION "destination="
-
-#define RTSP_SESSION "Session"
-#define RTSP_TRANSPORT "Transport"
-
-/* hardcoded RTCP RR - this is _NOT_ RFC compliant */
-#define RTCP_RR_SIZE 32
-#define RTCP_RR "\201\311\0\7(.JD\31+\306\343\0\0\0\0\0\0/E\0\0\2&\0\0\0\0\0\0\0\0\201"
-#define RTCP_SEND_FREQUENCY 1024
-
-int rtsp_port = 0;
-char *rtsp_destination = NULL;
-
-void
-rtcp_send_rr (rtsp_t *s, struct rtp_rtsp_session_t *st)
-{
- if (st->rtcp_socket == -1)
- return;
-
- /* send RTCP RR every RTCP_SEND_FREQUENCY packets
- * FIXME : NOT CORRECT, HARDCODED, BUT MAKES SOME SERVERS HAPPY
- * not rfc compliant
- * http://www.faqs.org/rfcs/rfc1889.html chapter 6 for RTCP
- */
-
- if (st->count == RTCP_SEND_FREQUENCY)
- {
- char rtcp_content[RTCP_RR_SIZE];
- strcpy (rtcp_content, RTCP_RR);
- send (st->rtcp_socket, rtcp_content, RTCP_RR_SIZE, DEFAULT_SEND_FLAGS);
-
- /* ping RTSP server to keep connection alive.
- we use OPTIONS instead of PING as not all servers support it */
- rtsp_request_options (s, "*");
- st->count = 0;
- }
- else
- st->count++;
-}
-
-static struct rtp_rtsp_session_t *
-rtp_session_new (void)
-{
- struct rtp_rtsp_session_t *st = NULL;
-
- st = malloc (sizeof (struct rtp_rtsp_session_t));
-
- st->rtp_socket = -1;
- st->rtcp_socket = -1;
- st->control_url = NULL;
- st->count = 0;
-
- return st;
-}
-
-void
-rtp_session_free (struct rtp_rtsp_session_t *st)
-{
- if (!st)
- return;
-
- if (st->rtp_socket != -1)
- close (st->rtp_socket);
- if (st->rtcp_socket != -1)
- close (st->rtcp_socket);
-
- free (st->control_url);
- free (st);
-}
-
-static void
-rtp_session_set_fd (struct rtp_rtsp_session_t *st,
- int rtp_sock, int rtcp_sock)
-{
- if (!st)
- return;
-
- st->rtp_socket = rtp_sock;
- st->rtcp_socket = rtcp_sock;
-}
-
-static int
-parse_port (const char *line, const char *param,
- int *rtp_port, int *rtcp_port)
-{
- char *parse1;
- char *parse2;
- char *parse3;
-
- char *line_copy = strdup (line);
-
- parse1 = strstr (line_copy, param);
-
- if (parse1)
- {
- parse2 = strstr (parse1, "-");
-
- if (parse2)
- {
- parse3 = strstr (parse2, ";");
-
- if (parse3)
- parse3[0] = 0;
-
- parse2[0] = 0;
- }
- else
- {
- free (line_copy);
- return 0;
- }
- }
- else
- {
- free (line_copy);
- return 0;
- }
-
- *rtp_port = atoi (parse1 + strlen (param));
- *rtcp_port = atoi (parse2 + 1);
-
- free (line_copy);
-
- return 1;
-}
-
-static char *
-parse_destination (const char *line)
-{
- char *parse1;
- char *parse2;
-
- char *dest = NULL;
- char *line_copy = strdup (line);
- int len;
-
- parse1 = strstr (line_copy, RTSP_SETUP_DESTINATION);
- if (!parse1)
- {
- free (line_copy);
- return NULL;
- }
-
- parse2 = strstr (parse1, ";");
- if (!parse2)
- {
- free (line_copy);
- return NULL;
- }
-
- len = strlen (parse1) - strlen (parse2)
- - strlen (RTSP_SETUP_DESTINATION) + 1;
- dest = (char *) malloc (len + 1);
- av_strlcpy (dest, parse1 + strlen (RTSP_SETUP_DESTINATION), len);
- free (line_copy);
-
- return dest;
-}
-
-static int
-rtcp_connect (int client_port, int server_port, const char* server_hostname)
-{
- struct sockaddr_in sin;
- struct hostent *hp;
- int s;
-
- if (client_port <= 1023)
- return -1;
-
- s = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP);
- if (s == -1)
- return -1;
-
- hp = gethostbyname (server_hostname);
- if (!hp)
- {
- close (s);
- return -1;
- }
-
- memset(&sin, 0, sizeof(sin));
- sin.sin_family = AF_INET;
- sin.sin_addr.s_addr = INADDR_ANY;
- sin.sin_port = htons (client_port);
-
- if (bind (s, (struct sockaddr *) &sin, sizeof (sin)))
- {
-#if !HAVE_WINSOCK2_H
- if (errno != EINPROGRESS)
-#else
- if (WSAGetLastError() != WSAEINPROGRESS)
-#endif
- {
- close (s);
- return -1;
- }
- }
-
- sin.sin_family = AF_INET;
- memcpy (&(sin.sin_addr.s_addr), hp->h_addr, sizeof (hp->h_addr));
- sin.sin_port = htons (server_port);
-
- /* datagram socket */
- if (connect (s, (struct sockaddr *) &sin, sizeof (sin)) < 0)
- {
- close (s);
- return -1;
- }
-
- return s;
-}
-
-static int
-rtp_connect (char *hostname, int port)
-{
- struct sockaddr_in sin;
- struct timeval tv;
- int err, err_len;
- int rxsockbufsz;
- int s;
- fd_set set;
-
- if (port <= 1023)
- return -1;
-
- s = socket (PF_INET, SOCK_DGRAM, 0);
- if (s == -1)
- return -1;
-
- memset(&sin, 0, sizeof(sin));
- sin.sin_family = AF_INET;
- if (!hostname || !strcmp (hostname, "0.0.0.0"))
- sin.sin_addr.s_addr = htonl (INADDR_ANY);
- else
-#if HAVE_INET_PTON
- inet_pton (AF_INET, hostname, &sin.sin_addr);
-#elif HAVE_INET_ATON
- inet_aton (hostname, &sin.sin_addr);
-#elif HAVE_WINSOCK2_H
- sin.sin_addr.s_addr = htonl (INADDR_ANY);
-#endif
- sin.sin_port = htons (port);
-
- /* Increase the socket rx buffer size to maximum -- this is UDP */
- rxsockbufsz = 240 * 1024;
- if (setsockopt (s, SOL_SOCKET, SO_RCVBUF,
- &rxsockbufsz, sizeof (rxsockbufsz)))
- mp_msg (MSGT_OPEN, MSGL_ERR, "Couldn't set receive socket buffer size\n");
-
- /* if multicast address, add membership */
- if ((ntohl (sin.sin_addr.s_addr) >> 28) == 0xe)
- {
- struct ip_mreq mcast;
- mcast.imr_multiaddr.s_addr = sin.sin_addr.s_addr;
- mcast.imr_interface.s_addr = 0;
-
- if (setsockopt (s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mcast, sizeof (mcast)))
- {
- mp_msg (MSGT_OPEN, MSGL_ERR, "IP_ADD_MEMBERSHIP failed\n");
- close (s);
- return -1;
- }
- }
-
- /* datagram socket */
- if (bind (s, (struct sockaddr *) &sin, sizeof (sin)))
- {
-#if !HAVE_WINSOCK2_H
- if (errno != EINPROGRESS)
-#else
- if (WSAGetLastError() != WSAEINPROGRESS)
-#endif
- {
- mp_msg (MSGT_OPEN, MSGL_ERR, "bind: %s\n", strerror (errno));
- close (s);
- return -1;
- }
- }
-
- tv.tv_sec = 1; /* 1 second timeout */
- tv.tv_usec = 0;
-
- FD_ZERO (&set);
- FD_SET (s, &set);
-
- err = select (s + 1, &set, NULL, NULL, &tv);
- if (err < 0)
- {
- mp_msg (MSGT_OPEN, MSGL_ERR, "Select failed: %s\n", strerror (errno));
- close (s);
- return -1;
- }
- else if (err == 0)
- {
- mp_msg (MSGT_OPEN, MSGL_ERR, "Timeout! No data from host %s\n", hostname);
- close (s);
- return -1;
- }
-
- err_len = sizeof (err);
- getsockopt (s, SOL_SOCKET, SO_ERROR, &err, (socklen_t *) &err_len);
- if (err)
- {
- mp_msg (MSGT_OPEN, MSGL_ERR, "Socket error: %d\n", err);
- close (s);
- return -1;
- }
-
- return s;
-}
-
-static int
-is_multicast_address (char *addr)
-{
- struct sockaddr_in sin;
-
- if (!addr)
- return -1;
-
- sin.sin_family = AF_INET;
-
-#if HAVE_INET_PTON
- inet_pton (AF_INET, addr, &sin.sin_addr);
-#elif HAVE_INET_ATON
- inet_aton (addr, &sin.sin_addr);
-#elif HAVE_WINSOCK2_H
- sin.sin_addr.s_addr = htonl (INADDR_ANY);
-#endif
-
- if ((ntohl (sin.sin_addr.s_addr) >> 28) == 0xe)
- return 1;
-
- return 0;
-}
-
-struct rtp_rtsp_session_t *
-rtp_setup_and_play (rtsp_t *rtsp_session)
-{
- struct rtp_rtsp_session_t* rtp_session = NULL;
- const fsdp_media_description_t *med_dsc = NULL;
- char temp_buf[MAX_LENGTH + 1];
- char npt[256];
-
- char* answer;
- char* sdp;
- char *server_addr = NULL;
- char *destination = NULL;
-
- int statut;
- int content_length = 0;
- int is_multicast = 0;
-
- fsdp_description_t *dsc = NULL;
- fsdp_error_t result;
-
- int client_rtp_port = -1;
- int client_rtcp_port = -1;
- int server_rtp_port = -1;
- int server_rtcp_port = -1;
- int rtp_sock = -1;
- int rtcp_sock = -1;
-
- /* 1. send a RTSP DESCRIBE request to server */
- rtsp_schedule_field (rtsp_session, RTSP_ACCEPT_SDP);
- statut = rtsp_request_describe (rtsp_session, NULL);
- if (statut < 200 || statut > 299)
- return NULL;
-
- answer = rtsp_search_answers (rtsp_session, RTSP_CONTENT_LENGTH);
- if (answer)
- content_length = atoi (answer);
- else
- return NULL;
-
- answer = rtsp_search_answers (rtsp_session, RTSP_CONTENT_TYPE);
- if (!answer || !strstr (answer, RTSP_APPLICATION_SDP))
- return NULL;
-
- /* 2. read SDP message from server */
- sdp = (char *) malloc (content_length + 1);
- if (rtsp_read_data (rtsp_session, sdp, content_length) <= 0)
- {
- free (sdp);
- return NULL;
- }
- sdp[content_length] = 0;
-
- /* 3. parse SDP message */
- dsc = fsdp_description_new ();
- result = fsdp_parse (sdp, dsc);
- if (result != FSDPE_OK)
- {
- free (sdp);
- fsdp_description_delete (dsc);
- return NULL;
- }
- mp_msg (MSGT_OPEN, MSGL_V, "SDP:\n%s\n", sdp);
- free (sdp);
-
- /* 4. check for number of media streams: only one is supported */
- if (fsdp_get_media_count (dsc) != 1)
- {
- mp_msg (MSGT_OPEN, MSGL_ERR,
- "A single media stream only is supported atm.\n");
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* 5. set the Normal Play Time parameter
- * use range provided by server in SDP or start now if empty */
- sprintf (npt, RTSP_RANGE);
- if (fsdp_get_range (dsc))
- strcat (npt, fsdp_get_range (dsc));
- else
- strcat (npt, RTSP_NPT_NOW);
-
- /* 5. check for a valid media stream */
- med_dsc = fsdp_get_media (dsc, 0);
- if (!med_dsc)
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* 6. parse the `m=<media> <port> <transport> <fmt list>' line */
-
- /* check for an A/V media */
- if (fsdp_get_media_type (med_dsc) != FSDP_MEDIA_VIDEO &&
- fsdp_get_media_type (med_dsc) != FSDP_MEDIA_AUDIO)
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* only RTP/AVP transport method is supported right now */
- if (fsdp_get_media_transport_protocol (med_dsc) != FSDP_TP_RTP_AVP)
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* only MPEG-TS is supported at the moment */
- if (!fsdp_get_media_format (med_dsc, 0) ||
- !strstr (fsdp_get_media_format (med_dsc, 0),
- RTSP_MEDIA_CONTAINER_MPEG_TS))
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* get client port (if any) advised by server */
- client_rtp_port = fsdp_get_media_port (med_dsc);
- if (client_rtp_port == -1)
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* if client_rtp_port = 0 => let client randomly pick one */
- if (client_rtp_port == 0)
- {
- /* TODO: we should check if the port is in use first */
- if (rtsp_port)
- client_rtp_port = rtsp_port;
- else
- client_rtp_port = RTSP_DEFAULT_PORT;
- }
-
- /* RTCP port generally is RTP port + 1 */
- client_rtcp_port = client_rtp_port + 1;
-
- mp_msg (MSGT_OPEN, MSGL_V,
- "RTP Port from SDP appears to be: %d\n", client_rtp_port);
- mp_msg (MSGT_OPEN, MSGL_V,
- "RTCP Port from SDP appears to be: %d\n", client_rtcp_port);
-
- /* 7. parse the `c=<network type> <addr type> <connection address>' line */
-
- /* check for a valid media network type (inet) */
- if (fsdp_get_media_network_type (med_dsc) != FSDP_NETWORK_TYPE_INET)
- {
- /* no control for media: try global one instead */
- if (fsdp_get_global_conn_network_type (dsc) != FSDP_NETWORK_TYPE_INET)
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
- }
-
- /* only IPv4 is supported atm. */
- if (fsdp_get_media_address_type (med_dsc) != FSDP_ADDRESS_TYPE_IPV4)
- {
- /* no control for media: try global one instead */
- if (fsdp_get_global_conn_address_type (dsc) != FSDP_ADDRESS_TYPE_IPV4)
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
- }
-
- /* get the media server address to connect to */
- if (fsdp_get_media_address (med_dsc))
- server_addr = strdup (fsdp_get_media_address (med_dsc));
- else if (fsdp_get_global_conn_address (dsc))
- {
- /* no control for media: try global one instead */
- server_addr = strdup (fsdp_get_global_conn_address (dsc));
- }
-
- if (!server_addr)
- {
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* check for a UNICAST or MULTICAST address to connect to */
- is_multicast = is_multicast_address (server_addr);
-
- /* 8. initiate an RTP session */
- rtp_session = rtp_session_new ();
- if (!rtp_session)
- {
- free (server_addr);
- fsdp_description_delete (dsc);
- return NULL;
- }
-
- /* get the media control URL */
- if (fsdp_get_media_control (med_dsc, 0))
- rtp_session->control_url = strdup (fsdp_get_media_control (med_dsc, 0));
- fsdp_description_delete (dsc);
- if (!rtp_session->control_url)
- {
- free (server_addr);
- rtp_session_free (rtp_session);
- return NULL;
- }
-
- /* 9. create the payload for RTSP SETUP request */
- memset (temp_buf, '\0', MAX_LENGTH);
- snprintf (temp_buf, MAX_LENGTH,
- RTSP_TRANSPORT_REQUEST,
- is_multicast ? RTSP_TRANSPORT_MULTICAST : RTSP_TRANSPORT_UNICAST,
- is_multicast ? RTSP_MULTICAST_PORT : RTSP_UNICAST_CLIENT_PORT,
- client_rtp_port, client_rtcp_port);
- mp_msg (MSGT_OPEN, MSGL_V, "RTSP Transport: %s\n", temp_buf);
-
- rtsp_unschedule_field (rtsp_session, RTSP_SESSION);
- rtsp_schedule_field (rtsp_session, temp_buf);
-
- /* 10. check for the media control URL type and initiate RTSP SETUP */
- if (!strncmp (rtp_session->control_url, "rtsp://", 7)) /* absolute URL */
- statut = rtsp_request_setup (rtsp_session,
- rtp_session->control_url, NULL);
- else /* relative URL */
- statut = rtsp_request_setup (rtsp_session,
- NULL, rtp_session->control_url);
-
- if (statut < 200 || statut > 299)
- {
- free (server_addr);
- rtp_session_free (rtp_session);
- return NULL;
- }
-
- /* 11. parse RTSP SETUP response: we need it to actually determine
- * the real address and port to connect to */
- answer = rtsp_search_answers (rtsp_session, RTSP_TRANSPORT);
- if (!answer)
- {
- free (server_addr);
- rtp_session_free (rtp_session);
- return NULL;
- }
-
- /* check for RTP and RTCP ports to bind according to how request was done */
- is_multicast = 0;
- if (strstr (answer, RTSP_TRANSPORT_MULTICAST))
- is_multicast = 1;
-
- if (is_multicast)
- parse_port (answer, RTSP_MULTICAST_PORT,
- &client_rtp_port, &client_rtcp_port);
- else
- {
- parse_port (answer, RTSP_UNICAST_CLIENT_PORT,
- &client_rtp_port, &client_rtcp_port);
- parse_port (answer, RTSP_UNICAST_SERVER_PORT,
- &server_rtp_port, &server_rtcp_port);
- }
-
- /* now check network settings as determined by server */
- if (rtsp_destination)
- destination = strdup (rtsp_destination);
- else
- destination = parse_destination (answer);
- if (!destination)
- destination = strdup (server_addr);
- free (server_addr);
-
- mp_msg (MSGT_OPEN, MSGL_V, "RTSP Destination: %s\n", destination);
- mp_msg (MSGT_OPEN, MSGL_V, "Client RTP port : %d\n", client_rtp_port);
- mp_msg (MSGT_OPEN, MSGL_V, "Client RTCP port : %d\n", client_rtcp_port);
- mp_msg (MSGT_OPEN, MSGL_V, "Server RTP port : %d\n", server_rtp_port);
- mp_msg (MSGT_OPEN, MSGL_V, "Server RTCP port : %d\n", server_rtcp_port);
-
- /* 12. performs RTSP PLAY request */
- rtsp_schedule_field (rtsp_session, npt);
- statut = rtsp_request_play (rtsp_session, NULL);
- if (statut < 200 || statut > 299)
- {
- free (destination);
- rtp_session_free (rtp_session);
- return NULL;
- }
-
- /* 13. create RTP and RTCP connections */
- rtp_sock = rtp_connect (destination, client_rtp_port);
- rtcp_sock = rtcp_connect (client_rtcp_port, server_rtcp_port, destination);
- rtp_session_set_fd (rtp_session, rtp_sock, rtcp_sock);
- free (destination);
-
- mp_msg (MSGT_OPEN, MSGL_V, "RTP Sock : %d\nRTCP Sock : %d\n",
- rtp_session->rtp_socket, rtp_session->rtcp_socket);
-
- if (rtp_session->rtp_socket == -1)
- {
- rtp_session_free (rtp_session);
- return NULL;
- }
-
- return rtp_session;
-}
diff --git a/stream/librtsp/rtsp_rtp.h b/stream/librtsp/rtsp_rtp.h
deleted file mode 100644
index ea96150..0000000
--- a/stream/librtsp/rtsp_rtp.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2006 Benjamin Zores
- * heavily base on the Freebox patch for xine by Vincent Mussard
- * but with many enhancements for better RTSP RFC compliance.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef MPLAYER_RTSP_RTP_H
-#define MPLAYER_RTSP_RTP_H
-
-#include <sys/types.h>
-#include "rtsp.h"
-
-#define MAX_PREVIEW_SIZE 4096
-
-struct rtp_rtsp_session_t {
- int rtp_socket;
- int rtcp_socket;
- char *control_url;
- int count;
-};
-
-struct rtp_rtsp_session_t *rtp_setup_and_play (rtsp_t* rtsp_session);
-off_t rtp_read (struct rtp_rtsp_session_t* st, char *buf, off_t length);
-void rtp_session_free (struct rtp_rtsp_session_t *st);
-void rtcp_send_rr (rtsp_t *s, struct rtp_rtsp_session_t *st);
-
-#endif /* MPLAYER_RTSP_RTP_H */
-
diff --git a/stream/librtsp/rtsp_session.c b/stream/librtsp/rtsp_session.c
deleted file mode 100644
index 6257272..0000000
--- a/stream/librtsp/rtsp_session.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS rtsp_session.c,v 1.9 2003/02/11 16:20:40
- */
-
-/*
- * Copyright (C) 2000-2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * high level interface to rtsp servers.
- *
- * 2006, Benjamin Zores and Vincent Mussard
- * Support for MPEG-TS streaming through RFC compliant RTSP servers
- */
-
-#include <sys/types.h>
-#include "config.h"
-#if !HAVE_WINSOCK2_H
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#else
-#include <winsock2.h>
-#endif
-
-
-#include <unistd.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include "mp_msg.h"
-#include "rtsp.h"
-#include "rtsp_rtp.h"
-#include "rtsp_session.h"
-#include "stream/network.h"
-#include "stream/url.h"
-#include "stream/rtp.h"
-#include "stream/realrtsp/real.h"
-#include "stream/realrtsp/rmff.h"
-#include "stream/realrtsp/asmrp.h"
-#include "stream/realrtsp/xbuffer.h"
-
-/*
-#define LOG
-*/
-
-#define RTSP_OPTIONS_PUBLIC "Public"
-#define RTSP_OPTIONS_SERVER "Server"
-#define RTSP_OPTIONS_LOCATION "Location"
-#define RTSP_OPTIONS_REAL "RealChallenge1"
-#define RTSP_SERVER_TYPE_REAL "Real"
-#define RTSP_SERVER_TYPE_HELIX "Helix"
-#define RTSP_SERVER_TYPE_UNKNOWN "unknown"
-
-struct rtsp_session_s {
- rtsp_t *s;
- struct real_rtsp_session_t* real_session;
- struct rtp_rtsp_session_t* rtp_session;
-};
-
-/*
- * closes an rtsp connection
- */
-
-static void rtsp_close(rtsp_t *s) {
-
- if (s->server_state)
- {
- if (s->server_state == RTSP_PLAYING)
- rtsp_request_teardown (s, NULL);
- closesocket (s->s);
- }
-
- free(s->path);
- free(s->host);
- free(s->mrl);
- free(s->session);
- free(s->user_agent);
- free(s->server);
- rtsp_free_answers(s);
- rtsp_unschedule_all(s);
- free(s);
-}
-
-//rtsp_session_t *rtsp_session_start(char *mrl) {
-rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host,
- int port, int *redir, uint32_t bandwidth, char *user, char *pass) {
-
- rtsp_session_t *rtsp_session = NULL;
- char *server;
- char *mrl_line = NULL;
-
- rtsp_session = malloc (sizeof (rtsp_session_t));
- rtsp_session->s = NULL;
- rtsp_session->real_session = NULL;
- rtsp_session->rtp_session = NULL;
-
-//connect:
- *redir = 0;
-
- /* connect to server */
- rtsp_session->s=rtsp_connect(fd,*mrl,path,host,port,NULL);
- if (!rtsp_session->s)
- {
- mp_msg (MSGT_OPEN, MSGL_ERR,"rtsp_session: failed to connect to server %s\n", path);
- free(rtsp_session);
- return NULL;
- }
-
- /* looking for server type */
- if (rtsp_search_answers(rtsp_session->s,RTSP_OPTIONS_SERVER))
- server=strdup(rtsp_search_answers(rtsp_session->s,RTSP_OPTIONS_SERVER));
- else {
- if (rtsp_search_answers(rtsp_session->s,RTSP_OPTIONS_REAL))
- server=strdup(RTSP_SERVER_TYPE_REAL);
- else
- server=strdup(RTSP_SERVER_TYPE_UNKNOWN);
- }
- if (strstr(server,RTSP_SERVER_TYPE_REAL) || strstr(server,RTSP_SERVER_TYPE_HELIX))
- {
- /* we are talking to a real server ... */
-
- rmff_header_t *h=real_setup_and_get_header(rtsp_session->s, bandwidth, user, pass);
- if (!h || !h->streams[0]) {
- rmff_free_header(h);
- /* got an redirect? */
- if (rtsp_search_answers(rtsp_session->s, RTSP_OPTIONS_LOCATION))
- {
- free(mrl_line);
- mrl_line=strdup(rtsp_search_answers(rtsp_session->s, RTSP_OPTIONS_LOCATION));
- mp_msg (MSGT_OPEN, MSGL_INFO,"rtsp_session: redirected to %s\n", mrl_line);
- rtsp_close(rtsp_session->s);
- free(server);
- free(*mrl);
- free(rtsp_session);
- /* tell the caller to redirect, return url to redirect to in mrl */
- *mrl = mrl_line;
- *redir = 1;
- return NULL;
-// goto connect; /* *shudder* i made a design mistake somewhere */
- } else
- {
- mp_msg (MSGT_OPEN, MSGL_ERR,"rtsp_session: session can not be established.\n");
- rtsp_close(rtsp_session->s);
- free (server);
- free(rtsp_session);
- return NULL;
- }
- }
-
- rtsp_session->real_session = init_real_rtsp_session ();
- if(!strncmp(h->streams[0]->mime_type, "application/vnd.rn-rmadriver", h->streams[0]->mime_type_size) ||
- !strncmp(h->streams[0]->mime_type, "application/smil", h->streams[0]->mime_type_size)) {
- rtsp_session->real_session->header_len = 0;
- rtsp_session->real_session->recv_size = 0;
- rtsp_session->real_session->rdt_rawdata = 1;
- mp_msg(MSGT_OPEN, MSGL_V, "smil-over-realrtsp playlist, switching to raw rdt mode\n");
- } else {
- rtsp_session->real_session->header_len =
- rmff_dump_header (h, (char *) rtsp_session->real_session->header, RTSP_HEADER_SIZE);
-
- if (rtsp_session->real_session->header_len < 0) {
- mp_msg (MSGT_OPEN, MSGL_ERR,"rtsp_session: error while dumping RMFF headers, session can not be established.\n");
- free_real_rtsp_session(rtsp_session->real_session);
- rtsp_close(rtsp_session->s);
- free (server);
- free (mrl_line);
- free(rtsp_session);
- return NULL;
- }
-
- rtsp_session->real_session->recv =
- xbuffer_copyin (rtsp_session->real_session->recv, 0,
- rtsp_session->real_session->header,
- rtsp_session->real_session->header_len);
-
- rtsp_session->real_session->recv_size =
- rtsp_session->real_session->header_len;
- }
- rtsp_session->real_session->recv_read = 0;
- rmff_free_header(h);
- } else /* not a Real server : try RTP instead */
- {
- char *public = NULL;
-
- /* look for the Public: field in response to RTSP OPTIONS */
- if (!(public = rtsp_search_answers (rtsp_session->s, RTSP_OPTIONS_PUBLIC)))
- {
- rtsp_close (rtsp_session->s);
- free (server);
- free (mrl_line);
- free (rtsp_session);
- return NULL;
- }
-
- /* check for minimalistic RTSP RFC compliance */
- if (!strstr (public, RTSP_METHOD_DESCRIBE)
- || !strstr (public, RTSP_METHOD_SETUP)
- || !strstr (public, RTSP_METHOD_PLAY)
- || !strstr (public, RTSP_METHOD_TEARDOWN))
- {
- mp_msg (MSGT_OPEN, MSGL_ERR,
- "Remote server does not meet minimal RTSP 1.0 compliance.\n");
- rtsp_close (rtsp_session->s);
- free (server);
- free (mrl_line);
- free (rtsp_session);
- return NULL;
- }
-
- rtsp_session->rtp_session = rtp_setup_and_play (rtsp_session->s);
-
- /* neither a Real or an RTP server */
- if (!rtsp_session->rtp_session)
- {
- mp_msg (MSGT_OPEN, MSGL_ERR, "rtsp_session: unsupported RTSP server. ");
- mp_msg (MSGT_OPEN, MSGL_ERR, "Server type is '%s'.\n", server);
- rtsp_close (rtsp_session->s);
- free (server);
- free (mrl_line);
- free (rtsp_session);
- return NULL;
- }
- }
- free(server);
-
- return rtsp_session;
-}
-
-int rtsp_session_read (rtsp_session_t *this, char *data, int len) {
-
- if (this->real_session) {
- int to_copy=len;
- char *dest=data;
- char *source =
- (char *) (this->real_session->recv + this->real_session->recv_read);
- int fill = this->real_session->recv_size - this->real_session->recv_read;
-
- if(this->real_session->rdteof)
- return -1;
- if (len < 0) return 0;
- if (this->real_session->recv_size < 0) return -1;
- while (to_copy > fill) {
-
- memcpy(dest, source, fill);
- to_copy -= fill;
- dest += fill;
- this->real_session->recv_read = 0;
- this->real_session->recv_size =
- real_get_rdt_chunk (this->s, (char **)&(this->real_session->recv), this->real_session->rdt_rawdata);
- if (this->real_session->recv_size < 0) {
- this->real_session->rdteof = 1;
- this->real_session->recv_size = 0;
- }
- source = (char *) this->real_session->recv;
- fill = this->real_session->recv_size;
-
- if (this->real_session->recv_size == 0) {
-#ifdef LOG
- mp_msg (MSGT_OPEN, MSGL_INFO, "librtsp: %d of %d bytes provided\n", len-to_copy, len);
-#endif
- return len-to_copy;
- }
- }
-
- memcpy(dest, source, to_copy);
- this->real_session->recv_read += to_copy;
-
-#ifdef LOG
- mp_msg (MSGT_OPEN, MSGL_INFO, "librtsp: %d bytes provided\n", len);
-#endif
-
- return len;
- }
- else if (this->rtp_session)
- {
- int l = 0;
-
- l = read_rtp_from_server (this->rtp_session->rtp_socket, data, len);
- /* send RTSP and RTCP keepalive */
- rtcp_send_rr (this->s, this->rtp_session);
-
- if (l == 0)
- rtsp_session_end (this);
-
- return l;
- }
-
- return 0;
-}
-
-void rtsp_session_end(rtsp_session_t *session) {
-
- rtsp_close(session->s);
- if (session->real_session)
- free_real_rtsp_session (session->real_session);
- if (session->rtp_session)
- rtp_session_free (session->rtp_session);
- free(session);
-}
diff --git a/stream/librtsp/rtsp_session.h b/stream/librtsp/rtsp_session.h
deleted file mode 100644
index 15fef5b..0000000
--- a/stream/librtsp/rtsp_session.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS rtsp_session.h,v 1.4 2003/01/31 14:06:18
- */
-
-/*
- * Copyright (C) 2000-2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * high level interface to rtsp servers.
- *
- * 2006, Benjamin Zores and Vincent Mussard
- * Support for MPEG-TS streaming through RFC compliant RTSP servers
- */
-
-#ifndef MPLAYER_RTSP_SESSION_H
-#define MPLAYER_RTSP_SESSION_H
-
-#include <stdint.h>
-
-typedef struct rtsp_session_s rtsp_session_t;
-
-rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host,
- int port, int *redir, uint32_t bandwidth, char *user, char *pass);
-
-int rtsp_session_read(rtsp_session_t *session, char *data, int len);
-
-void rtsp_session_end(rtsp_session_t *session);
-
-#endif /* MPLAYER_RTSP_SESSION_H */
diff --git a/stream/network.c b/stream/network.c
index 0961c8d..d48ab81 100644
--- a/stream/network.c
+++ b/stream/network.c
@@ -29,6 +29,7 @@
#include <ctype.h>
#include "config.h"
+#include "options.h"
#include "mp_msg.h"
@@ -47,8 +48,6 @@
#include "cookies.h"
#include "url.h"
-extern int stream_cache_size;
-
/* Variables for the command line option -user, -passwd, -bandwidth,
-user-agent and -nocookies */
@@ -482,13 +481,14 @@ nop_streaming_seek( int fd, off_t pos, streaming_ctrl_t *stream_ctrl ) {
void fixup_network_stream_cache(stream_t *stream) {
+ struct MPOpts *opts = stream->opts;
if(stream->streaming_ctrl->buffering) {
- if(stream_cache_size<0) {
+ if(opts->stream_cache_size<0) {
// cache option not set, will use our computed value.
// buffer in KBytes, *5 because the prefill is 20% of the buffer.
- stream_cache_size = (stream->streaming_ctrl->prebuffer_size/1024)*5;
- if( stream_cache_size<64 ) stream_cache_size = 64; // 16KBytes min buffer
+ opts->stream_cache_size = (stream->streaming_ctrl->prebuffer_size/1024)*5;
+ if( opts->stream_cache_size<64 ) opts->stream_cache_size = 64; // 16KBytes min buffer
}
- mp_tmsg(MSGT_NETWORK,MSGL_INFO,"Cache size set to %d KBytes\n", stream_cache_size);
+ mp_tmsg(MSGT_NETWORK,MSGL_INFO,"Cache size set to %d KBytes\n", opts->stream_cache_size);
}
}
diff --git a/stream/open.c b/stream/open.c
index ce0a415..16d0dc3 100644
--- a/stream/open.c
+++ b/stream/open.c
@@ -26,12 +26,14 @@
#include "config.h"
#include "mp_msg.h"
+#include "talloc.h"
#ifdef __FreeBSD__
#include <sys/cdrio.h>
#endif
#include "m_option.h"
+#include "options.h"
#include "stream.h"
#include "libmpdemux/demuxer.h"
@@ -42,6 +44,61 @@ char* cdrom_device=NULL;
char* dvd_device=NULL;
int dvd_title=0;
+#ifdef CONFIG_LIBQUVI
+
+#include <quvi/quvi.h>
+
+static const char *resolve_quvi(const char *url, struct MPOpts *opts)
+{
+ char *media_title, *media_url;
+ quvi_media_t m;
+ QUVIcode rc;
+ quvi_t q;
+
+ rc = quvi_init(&q);
+ if (rc != QUVI_OK)
+ return NULL;
+
+ // Don't try to use quvi on an URL that's not directly supported, since
+ // quvi will do a network access anyway in order to check for HTTP
+ // redirections etc.
+ // The documentation says this will fail on "shortened" URLs.
+ if (quvi_supported(q, (char *)url) != QUVI_OK) {
+ quvi_close(&q);
+ return NULL;
+ }
+
+ mp_msg(MSGT_OPEN, MSGL_INFO, "[quvi] Checking URL...\n");
+
+ // Can use quvi_query_formats() to get a list of formats like this:
+ // "fmt05_240p|fmt18_360p|fmt34_360p|fmt35_480p|fmt43_360p|fmt44_480p"
+ // (This example is youtube specific.)
+ // That call requires an extra net access. quvi_next_media_url() doesn't
+ // seem to do anything useful. So we can't really do anything useful
+ // except pass through the user's format setting.
+ quvi_setopt(q, QUVIOPT_FORMAT, opts->quvi_format);
+
+ rc = quvi_parse(q, (char *)url, &m);
+ if (rc != QUVI_OK) {
+ mp_msg(MSGT_OPEN, MSGL_ERR, "[quvi] %s\n", quvi_strerror(q, rc));
+ quvi_close(&q);
+ return NULL;
+ }
+
+ quvi_getprop(m, QUVIPROP_PAGETITLE, &media_title);
+ quvi_getprop(m, QUVIPROP_MEDIAURL, &media_url);
+
+ mp_msg(MSGT_OPEN, MSGL_INFO, "[quvi] Site media title: '%s'\n",
+ media_title);
+ media_url = talloc_strdup(NULL, media_url);
+
+ quvi_parse_close(&m);
+ quvi_close(&q);
+
+ return media_url;
+}
+#endif
+
// Open a new stream (stdin/file/vcd/url)
stream_t* open_stream(const char *filename, struct MPOpts *options,
@@ -59,7 +116,16 @@ if(!filename) {
return NULL;
}
-//============ Open STDIN or plain FILE ============
+ const char *resolved = NULL;
+
+#ifdef CONFIG_LIBQUVI
+ resolved = resolve_quvi(filename, options);
+#endif
+
+ if (resolved)
+ filename = resolved;
- return open_stream_full(filename,STREAM_READ,options,file_format);
+ stream_t *res = open_stream_full(filename,STREAM_READ,options,file_format);
+ talloc_free((void *)resolved);
+ return res;
}
diff --git a/stream/realrtsp/asmrp.c b/stream/realrtsp/asmrp.c
deleted file mode 100644
index bcbe1c9..0000000
--- a/stream/realrtsp/asmrp.c
+++ /dev/null
@@ -1,690 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS asmrp.c,v 1.2 2002/12/17 16:49:48
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * a parser for real's asm rules
- *
- * grammar for these rules:
- *
-
- rule_book = { rule }
- rule = ( '#' condition { ',' assignment } | [ assignment {',' assignment} ]) ';'
- assignment = id '=' const
- const = ( number | string )
- condition = comp_expr { ( '&&' | '||' ) comp_expr }
- comp_expr = operand { ( '<' | '<=' | '==' | '>=' | '>' ) operand }
- operand = ( '$' id | num | '(' condition ')' )
-
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "mp_msg.h"
-#include "asmrp.h"
-
-/*
-#define LOG
-*/
-
-#define ASMRP_SYM_NONE 0
-#define ASMRP_SYM_EOF 1
-
-#define ASMRP_SYM_NUM 2
-#define ASMRP_SYM_ID 3
-#define ASMRP_SYM_STRING 4
-
-#define ASMRP_SYM_HASH 10
-#define ASMRP_SYM_SEMICOLON 11
-#define ASMRP_SYM_COMMA 12
-#define ASMRP_SYM_EQUALS 13
-#define ASMRP_SYM_AND 14
-#define ASMRP_SYM_OR 15
-#define ASMRP_SYM_LESS 16
-#define ASMRP_SYM_LEQ 17
-#define ASMRP_SYM_GEQ 18
-#define ASMRP_SYM_GREATER 19
-#define ASMRP_SYM_DOLLAR 20
-#define ASMRP_SYM_LPAREN 21
-#define ASMRP_SYM_RPAREN 22
-
-#define ASMRP_MAX_ID 1024
-
-#define ASMRP_MAX_SYMTAB 10
-
-typedef struct {
- char *id;
- int v;
-} asmrp_sym_t;
-
-typedef struct {
-
- /* public part */
-
- int sym;
- int num;
-
- char str[ASMRP_MAX_ID];
-
- /* private part */
-
- char *buf;
- int pos;
- char ch;
-
- asmrp_sym_t sym_tab[ASMRP_MAX_SYMTAB];
- int sym_tab_num;
-
-} asmrp_t;
-
-static asmrp_t *asmrp_new (void) {
-
- asmrp_t *p;
-
- p = malloc (sizeof (asmrp_t));
-
- p->sym_tab_num = 0;
- p->sym = ASMRP_SYM_NONE;
-
- return p;
-}
-
-static void asmrp_dispose (asmrp_t *p) {
-
- int i;
-
- for (i=0; i<p->sym_tab_num; i++)
- free (p->sym_tab[i].id);
-
- free(p->buf);
- free (p);
-}
-
-static void asmrp_getch (asmrp_t *p) {
- p->ch = p->buf[p->pos];
- p->pos++;
-
-#ifdef LOG
- printf ("%c\n", p->ch);
-#endif
-
-}
-
-static void asmrp_init (asmrp_t *p, const char *str) {
-
- p->buf = strdup (str);
- p->pos = 0;
-
- asmrp_getch (p);
-}
-
-static void asmrp_number (asmrp_t *p) {
-
- int num;
-
- num = 0;
- while ( (p->ch>='0') && (p->ch<='9') ) {
-
- num = num*10 + (p->ch - '0');
-
- asmrp_getch (p);
- }
-
- p->sym = ASMRP_SYM_NUM;
- p->num = num;
-}
-
-static void asmrp_string (asmrp_t *p) {
-
- int l;
-
- l = 0;
-
- while ( (p->ch!='"') && (p->ch>=32) ) {
-
- if(l < ASMRP_MAX_ID - 1)
- p->str[l++] = p->ch;
- else
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: string too long, ignoring char %c.\n", p->ch);
-
- asmrp_getch (p);
- }
- p->str[l]=0;
-
- if (p->ch=='"')
- asmrp_getch (p);
-
- p->sym = ASMRP_SYM_STRING;
-}
-
-static void asmrp_identifier (asmrp_t *p) {
-
- int l;
-
- l = 0;
-
- while ( ((p->ch>='A') && (p->ch<='z'))
- || ((p->ch>='0') && (p->ch<='9'))) {
-
- if(l < ASMRP_MAX_ID - 1)
- p->str[l++] = p->ch;
- else
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: identifier too long, ignoring char %c.\n", p->ch);
-
- asmrp_getch (p);
- }
- p->str[l]=0;
-
- p->sym = ASMRP_SYM_ID;
-}
-
-#ifdef LOG
-static void asmrp_print_sym (asmrp_t *p) {
-
- printf ("symbol: ");
-
- switch (p->sym) {
-
- case ASMRP_SYM_NONE:
- printf ("NONE\n");
- break;
-
- case ASMRP_SYM_EOF:
- printf ("EOF\n");
- break;
-
- case ASMRP_SYM_NUM:
- printf ("NUM %d\n", p->num);
- break;
-
- case ASMRP_SYM_ID:
- printf ("ID '%s'\n", p->str);
- break;
-
- case ASMRP_SYM_STRING:
- printf ("STRING \"%s\"\n", p->str);
- break;
-
- case ASMRP_SYM_HASH:
- printf ("#\n");
- break;
-
- case ASMRP_SYM_SEMICOLON:
- printf (";\n");
- break;
- case ASMRP_SYM_COMMA:
- printf (",\n");
- break;
- case ASMRP_SYM_EQUALS:
- printf ("==\n");
- break;
- case ASMRP_SYM_AND:
- printf ("&&\n");
- break;
- case ASMRP_SYM_OR:
- printf ("||\n");
- break;
- case ASMRP_SYM_LESS:
- printf ("<\n");
- break;
- case ASMRP_SYM_LEQ:
- printf ("<=\n");
- break;
- case ASMRP_SYM_GEQ:
- printf (">=\n");
- break;
- case ASMRP_SYM_GREATER:
- printf (">\n");
- break;
- case ASMRP_SYM_DOLLAR:
- printf ("$\n");
- break;
- case ASMRP_SYM_LPAREN:
- printf ("(\n");
- break;
- case ASMRP_SYM_RPAREN:
- printf (")\n");
- break;
-
- default:
- printf ("unknown symbol %d\n", p->sym);
- }
-}
-#endif
-
-static void asmrp_get_sym (asmrp_t *p) {
-
- while (p->ch <= 32) {
- if (p->ch == 0) {
- p->sym = ASMRP_SYM_EOF;
- return;
- }
-
- asmrp_getch (p);
- }
-
- if (p->ch == '\\')
- asmrp_getch (p);
-
- switch (p->ch) {
-
- case '#':
- p->sym = ASMRP_SYM_HASH;
- asmrp_getch (p);
- break;
- case ';':
- p->sym = ASMRP_SYM_SEMICOLON;
- asmrp_getch (p);
- break;
- case ',':
- p->sym = ASMRP_SYM_COMMA;
- asmrp_getch (p);
- break;
- case '=':
- p->sym = ASMRP_SYM_EQUALS;
- asmrp_getch (p);
- if (p->ch=='=')
- asmrp_getch (p);
- break;
- case '&':
- p->sym = ASMRP_SYM_AND;
- asmrp_getch (p);
- if (p->ch=='&')
- asmrp_getch (p);
- break;
- case '|':
- p->sym = ASMRP_SYM_OR;
- asmrp_getch (p);
- if (p->ch=='|')
- asmrp_getch (p);
- break;
- case '<':
- p->sym = ASMRP_SYM_LESS;
- asmrp_getch (p);
- if (p->ch=='=') {
- p->sym = ASMRP_SYM_LEQ;
- asmrp_getch (p);
- }
- break;
- case '>':
- p->sym = ASMRP_SYM_GREATER;
- asmrp_getch (p);
- if (p->ch=='=') {
- p->sym = ASMRP_SYM_GEQ;
- asmrp_getch (p);
- }
- break;
- case '$':
- p->sym = ASMRP_SYM_DOLLAR;
- asmrp_getch (p);
- break;
- case '(':
- p->sym = ASMRP_SYM_LPAREN;
- asmrp_getch (p);
- break;
- case ')':
- p->sym = ASMRP_SYM_RPAREN;
- asmrp_getch (p);
- break;
-
- case '"':
- asmrp_getch (p);
- asmrp_string (p);
- break;
-
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- asmrp_number (p);
- break;
-
- default:
- asmrp_identifier (p);
- }
-
-#ifdef LOG
- asmrp_print_sym (p);
-#endif
-
-}
-
-static int asmrp_find_id (asmrp_t *p, char *s) {
-
- int i;
-
- for (i=0; i<p->sym_tab_num; i++) {
- if (!strcmp (s, p->sym_tab[i].id))
- return i;
- }
-
- return -1;
-}
-
-static int asmrp_set_id (asmrp_t *p, char *s, int v) {
-
- int i;
-
- i = asmrp_find_id (p, s);
-
- if (i<0) {
- if (p->sym_tab_num == ASMRP_MAX_SYMTAB - 1) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "sym_tab overflow, ignoring identifier %s\n", s);
- return 0;
- }
- i = p->sym_tab_num;
- p->sym_tab_num++;
- p->sym_tab[i].id = strdup (s);
-
-#ifdef LOG
- printf ("new symbol '%s'\n", s);
-#endif
-
- }
-
- p->sym_tab[i].v = v;
-
-#ifdef LOG
- printf ("symbol '%s' assigned %d\n", s, v);
-#endif
-
- return i;
-}
-
-static int asmrp_condition (asmrp_t *p) ;
-
-static int asmrp_operand (asmrp_t *p) {
-
- int i, ret;
-
-#ifdef LOG
- printf ("operand\n");
-#endif
-
- ret = 0;
-
- switch (p->sym) {
-
- case ASMRP_SYM_DOLLAR:
-
- asmrp_get_sym (p);
-
- if (p->sym != ASMRP_SYM_ID) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: identifier expected.\n");
- break;
- }
-
- i = asmrp_find_id (p, p->str);
- if (i<0) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: unknown identifier %s\n", p->str);
- } else
- ret = p->sym_tab[i].v;
-
- asmrp_get_sym (p);
- break;
-
- case ASMRP_SYM_NUM:
- ret = p->num;
-
- asmrp_get_sym (p);
- break;
-
- case ASMRP_SYM_LPAREN:
- asmrp_get_sym (p);
-
- ret = asmrp_condition (p);
-
- if (p->sym != ASMRP_SYM_RPAREN) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: ) expected.\n");
- break;
- }
-
- asmrp_get_sym (p);
- break;
-
- default:
- mp_msg(MSGT_STREAM, MSGL_ERR, "syntax error, $ number or ( expected\n");
- }
-
-#ifdef LOG
- printf ("operand done, =%d\n", ret);
-#endif
-
- return ret;
-}
-
-
-static int asmrp_comp_expression (asmrp_t *p) {
-
- int a;
-
-#ifdef LOG
- printf ("comp_expression\n");
-#endif
-
- a = asmrp_operand (p);
-
- while ( (p->sym == ASMRP_SYM_LESS)
- || (p->sym == ASMRP_SYM_LEQ)
- || (p->sym == ASMRP_SYM_EQUALS)
- || (p->sym == ASMRP_SYM_GEQ)
- || (p->sym == ASMRP_SYM_GREATER) ) {
- int op = p->sym;
- int b;
-
- asmrp_get_sym (p);
-
- b = asmrp_operand (p);
-
- switch (op) {
- case ASMRP_SYM_LESS:
- a = a<b;
- break;
- case ASMRP_SYM_LEQ:
- a = a<=b;
- break;
- case ASMRP_SYM_EQUALS:
- a = a==b;
- break;
- case ASMRP_SYM_GEQ:
- a = a>=b;
- break;
- case ASMRP_SYM_GREATER:
- a = a>b;
- break;
- }
-
- }
-
-#ifdef LOG
- printf ("comp_expression done = %d\n", a);
-#endif
- return a;
-}
-
-static int asmrp_condition (asmrp_t *p) {
-
- int a;
-
-#ifdef LOG
- printf ("condition\n");
-#endif
-
- a = asmrp_comp_expression (p);
-
- while ( (p->sym == ASMRP_SYM_AND) || (p->sym == ASMRP_SYM_OR) ) {
- int op, b;
-
- op = p->sym;
-
- asmrp_get_sym (p);
-
- b = asmrp_comp_expression (p);
-
- switch (op) {
- case ASMRP_SYM_AND:
- a = a & b;
- break;
- case ASMRP_SYM_OR:
- a = a | b;
- break;
- }
- }
-
-#ifdef LOG
- printf ("condition done = %d\n", a);
-#endif
- return a;
-}
-
-static void asmrp_assignment (asmrp_t *p) {
-
-#ifdef LOG
- printf ("assignment\n");
-#endif
-
- if (p->sym == ASMRP_SYM_COMMA || p->sym == ASMRP_SYM_SEMICOLON) {
-#ifdef LOG
- printf ("empty assignment\n");
-#endif
- return;
- }
-
- if (p->sym != ASMRP_SYM_ID) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: identifier expected\n");
- return;
- }
- asmrp_get_sym (p);
-
- if (p->sym != ASMRP_SYM_EQUALS) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: = expected\n");
- return;
- }
- asmrp_get_sym (p);
-
- if ( (p->sym != ASMRP_SYM_NUM) && (p->sym != ASMRP_SYM_STRING)
- && (p->sym != ASMRP_SYM_ID)) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "error: number or string expected\n");
- return;
- }
- asmrp_get_sym (p);
-
-#ifdef LOG
- printf ("assignment done\n");
-#endif
-}
-
-static int asmrp_rule (asmrp_t *p) {
-
- int ret;
-
-#ifdef LOG
- printf ("rule\n");
-#endif
-
- ret = 1;
-
- if (p->sym == ASMRP_SYM_HASH) {
-
- asmrp_get_sym (p);
- ret = asmrp_condition (p);
-
- while (p->sym == ASMRP_SYM_COMMA) {
-
- asmrp_get_sym (p);
-
- asmrp_assignment (p);
- }
-
- } else if (p->sym != ASMRP_SYM_SEMICOLON) {
-
- asmrp_assignment (p);
-
- while (p->sym == ASMRP_SYM_COMMA) {
-
- asmrp_get_sym (p);
- asmrp_assignment (p);
- }
- }
-
-#ifdef LOG
- printf ("rule done = %d\n", ret);
-#endif
-
- if (p->sym != ASMRP_SYM_SEMICOLON) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "semicolon expected.\n");
- return ret;
- }
-
- asmrp_get_sym (p);
-
- return ret;
-}
-
-static int asmrp_eval (asmrp_t *p, int *matches) {
-
- int rule_num, num_matches;
-
-#ifdef LOG
- printf ("eval\n");
-#endif
-
- asmrp_get_sym (p);
-
- rule_num = 0; num_matches = 0;
- while (p->sym != ASMRP_SYM_EOF) {
-
- if (asmrp_rule (p)) {
-#ifdef LOG
- printf ("rule #%d is true\n", rule_num);
-#endif
- if(num_matches < MAX_RULEMATCHES - 1)
- matches[num_matches++] = rule_num;
- else
- mp_msg(MSGT_STREAM, MSGL_ERR,
- "Ignoring matched asm rule %d, too many matched rules.\n", rule_num);
- }
-
- rule_num++;
- }
-
- matches[num_matches] = -1;
- return num_matches;
-}
-
-int asmrp_match (const char *rules, int bandwidth, int *matches) {
-
- asmrp_t *p;
- int num_matches;
-
- p = asmrp_new ();
-
- asmrp_init (p, rules);
-
- asmrp_set_id (p, "Bandwidth", bandwidth);
- asmrp_set_id (p, "OldPNMPlayer", 0);
-
- num_matches = asmrp_eval (p, matches);
-
- asmrp_dispose (p);
-
- return num_matches;
-}
diff --git a/stream/realrtsp/asmrp.h b/stream/realrtsp/asmrp.h
deleted file mode 100644
index b5616db..0000000
--- a/stream/realrtsp/asmrp.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS asmrp.h,v 1.1 2002/12/12 22:14:54
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * a parser for real's asm rules
- *
- * grammar for these rules:
- *
-
- rule_book = { '#' rule ';'}
- rule = condition {',' assignment}
- assignment = id '=' const
- const = ( number | string )
- condition = comp_expr { ( '&&' | '||' ) comp_expr }
- comp_expr = operand { ( '<' | '<=' | '==' | '>=' | '>' ) operand }
- operand = ( '$' id | num | '(' condition ')' )
-
- */
-
-#ifndef MPLAYER_ASMRP_H
-#define MPLAYER_ASMRP_H
-
-#define MAX_RULEMATCHES 16
-
-int asmrp_match (const char *rules, int bandwidth, int *matches) ;
-
-#endif /* MPLAYER_ASMRP_H */
diff --git a/stream/realrtsp/real.c b/stream/realrtsp/real.c
deleted file mode 100644
index daee0cd..0000000
--- a/stream/realrtsp/real.c
+++ /dev/null
@@ -1,653 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS real.c,v 1.8 2003/03/30 17:11:50
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * special functions for real streams.
- * adopted from joschkas real tools.
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#include <libavutil/common.h>
-#include <libavutil/attributes.h>
-#include <libavutil/md5.h>
-#include <libavutil/intreadwrite.h>
-#include <libavutil/base64.h>
-#include <libavutil/avutil.h>
-
-#include "config.h"
-#include "real.h"
-#include "asmrp.h"
-#include "sdpplin.h"
-#include "xbuffer.h"
-
-#include "stream/http.h"
-#include "mp_msg.h"
-
-/*
-#define LOG
-*/
-
-#define XOR_TABLE_SIZE 37
-
-static const unsigned char xor_table[XOR_TABLE_SIZE] = {
- 0x05, 0x18, 0x74, 0xd0, 0x0d, 0x09, 0x02, 0x53,
- 0xc0, 0x01, 0x05, 0x05, 0x67, 0x03, 0x19, 0x70,
- 0x08, 0x27, 0x66, 0x10, 0x10, 0x72, 0x08, 0x09,
- 0x63, 0x11, 0x03, 0x71, 0x08, 0x08, 0x70, 0x02,
- 0x10, 0x57, 0x05, 0x18, 0x54 };
-
-
-#define BUF_SIZE 4096
-
-#ifdef LOG
-static void hexdump (const char *buf, int length) {
-
- int i;
-
- printf (" hexdump> ");
- for (i = 0; i < length; i++) {
- unsigned char c = buf[i];
-
- printf ("%02x", c);
-
- if ((i % 16) == 15)
- printf ("\n ");
-
- if ((i % 2) == 1)
- printf (" ");
-
- }
- printf ("\n");
-}
-#endif
-
-
-static void real_calc_response_and_checksum (char *response, char *chksum, char *challenge) {
-
- int ch_len;
- int i;
- unsigned char zres[16], buf[64];
-
- /* initialize buffer */
- AV_WB32(buf, 0xa1e9149d);
- AV_WB32(buf+4, 0x0e6b3b59);
-
- /* some (length) checks */
- if (challenge != NULL)
- {
- ch_len = strlen (challenge);
-
- if (ch_len == 40) /* what a hack... */
- ch_len=32;
- if ( ch_len > 56 ) ch_len=56;
-
- /* copy challenge to buf */
- memcpy(buf+8, challenge, ch_len);
- memset(buf+8+ch_len, 0, 56-ch_len);
- }
-
- /* xor challenge bytewise with xor_table */
- for (i=0; i<XOR_TABLE_SIZE; i++)
- buf[8+i] ^= xor_table[i];
-
- av_md5_sum(zres, buf, 64);
-
- /* convert zres to ascii string */
- for (i=0; i<16; i++ )
- sprintf(response+i*2, "%02x", zres[i]);
-
- /* add tail */
- strcpy (&response[32], "01d0a8e3");
-
- /* calculate checksum */
- for (i=0; i<8; i++)
- chksum[i] = response[i*4];
- chksum[8] = 0;
-}
-
-
-/*
- * takes a MLTI-Chunk and a rule number got from match_asm_rule,
- * returns a pointer to selected data and number of bytes in that.
- */
-
-static int select_mlti_data(const char *mlti_chunk, int mlti_size, int selection, char **out) {
-
- int numrules, codec, size;
- int i;
-
- /* MLTI chunk should begin with MLTI */
-
- if ((mlti_chunk[0] != 'M')
- ||(mlti_chunk[1] != 'L')
- ||(mlti_chunk[2] != 'T')
- ||(mlti_chunk[3] != 'I'))
- {
-#ifdef LOG
- printf("libreal: MLTI tag not detected, copying data\n");
-#endif
- *out = xbuffer_copyin(*out, 0, mlti_chunk, mlti_size);
- return mlti_size;
- }
-
- mlti_chunk+=4;
-
- /* next 16 bits are the number of rules */
- numrules=AV_RB16(mlti_chunk);
- if (selection >= numrules) return 0;
-
- /* now <numrules> indices of codecs follows */
- /* we skip to selection */
- mlti_chunk+=(selection+1)*2;
-
- /* get our index */
- codec=AV_RB16(mlti_chunk);
-
- /* skip to number of codecs */
- mlti_chunk+=(numrules-selection)*2;
-
- /* get number of codecs */
- numrules=AV_RB16(mlti_chunk);
-
- if (codec >= numrules) {
- mp_msg(MSGT_STREAM, MSGL_WARN, "realrtsp: codec index >= number of codecs. %i %i\n",
- codec, numrules);
- return 0;
- }
-
- mlti_chunk+=2;
-
- /* now seek to selected codec */
- for (i=0; i<codec; i++) {
- size=AV_RB32(mlti_chunk);
- mlti_chunk+=size+4;
- }
-
- size=AV_RB32(mlti_chunk);
-
-#ifdef LOG
- hexdump(mlti_chunk+4, size);
-#endif
- *out = xbuffer_copyin(*out, 0, mlti_chunk+4, size);
- return size;
-}
-
-/*
- * looking at stream description.
- */
-
-static rmff_header_t *real_parse_sdp(char *data, char **stream_rules, uint32_t bandwidth) {
-
- sdpplin_t *desc;
- rmff_header_t *header;
- char *buf;
- int len, i;
- int max_bit_rate=0;
- int avg_bit_rate=0;
- int max_packet_size=0;
- int avg_packet_size=0;
- int duration=0;
-
-
- if (!data) return NULL;
-
- desc=sdpplin_parse(data);
-
- if (!desc) return NULL;
-
- buf = xbuffer_init(2048);
- header=calloc(1,sizeof(rmff_header_t));
-
- header->fileheader=rmff_new_fileheader(4+desc->stream_count);
- header->cont=rmff_new_cont(
- desc->title,
- desc->author,
- desc->copyright,
- desc->abstract);
- header->data=rmff_new_dataheader(0,0);
- header->streams=calloc(1,sizeof(rmff_mdpr_t*)*(desc->stream_count+1));
-#ifdef LOG
- printf("number of streams: %u\n", desc->stream_count);
-#endif
-
- for (i=0; i<desc->stream_count; i++) {
-
- int j=0;
- int n;
- char b[64];
- int rulematches[MAX_RULEMATCHES];
-
- if (!desc->stream[i])
- continue;
-#ifdef LOG
- printf("calling asmrp_match with:\n%s\n%u\n", desc->stream[i]->asm_rule_book, bandwidth);
-#endif
- n=asmrp_match(desc->stream[i]->asm_rule_book, bandwidth, rulematches);
- for (j=0; j<n; j++) {
-#ifdef LOG
- printf("asmrp rule match: %u for stream %u\n", rulematches[j], desc->stream[i]->stream_id);
-#endif
- sprintf(b,"stream=%u;rule=%u,", desc->stream[i]->stream_id, rulematches[j]);
- *stream_rules = xbuffer_strcat(*stream_rules, b);
- }
-
- if (!desc->stream[i]->mlti_data) {
- len = 0;
- buf = xbuffer_free(buf);
- } else
- len=select_mlti_data(desc->stream[i]->mlti_data, desc->stream[i]->mlti_data_size, rulematches[0], &buf);
-
- header->streams[i]=rmff_new_mdpr(
- desc->stream[i]->stream_id,
- desc->stream[i]->max_bit_rate,
- desc->stream[i]->avg_bit_rate,
- desc->stream[i]->max_packet_size,
- desc->stream[i]->avg_packet_size,
- desc->stream[i]->start_time,
- desc->stream[i]->preroll,
- desc->stream[i]->duration,
- desc->stream[i]->stream_name,
- desc->stream[i]->mime_type,
- len,
- buf);
-
- duration=FFMAX(duration,desc->stream[i]->duration);
- max_bit_rate+=desc->stream[i]->max_bit_rate;
- avg_bit_rate+=desc->stream[i]->avg_bit_rate;
- max_packet_size=FFMAX(max_packet_size, desc->stream[i]->max_packet_size);
- if (avg_packet_size)
- avg_packet_size=(avg_packet_size + desc->stream[i]->avg_packet_size) / 2;
- else
- avg_packet_size=desc->stream[i]->avg_packet_size;
- }
-
- if (*stream_rules && strlen(*stream_rules) && (*stream_rules)[strlen(*stream_rules)-1] == ',')
- (*stream_rules)[strlen(*stream_rules)-1]=0; /* delete last ',' in stream_rules */
-
- header->prop=rmff_new_prop(
- max_bit_rate,
- avg_bit_rate,
- max_packet_size,
- avg_packet_size,
- 0,
- duration,
- 0,
- 0,
- 0,
- desc->stream_count,
- desc->flags);
-
- rmff_fix_header(header);
- buf = xbuffer_free(buf);
- sdpplin_free(desc);
-
- return header;
-}
-
-int real_get_rdt_chunk(rtsp_t *rtsp_session, char **buffer, int rdt_rawdata) {
-
- int n=1;
- uint8_t header[8];
- rmff_pheader_t ph;
- int size;
- int flags1, flags2;
- int unknown1 av_unused;
- uint32_t ts;
- static uint32_t prev_ts = -1;
- static int prev_stream_number = -1;
-
- n=rtsp_read_data(rtsp_session, header, 8);
- if (n<8) return 0;
- if (header[0] != 0x24)
- {
- mp_msg(MSGT_STREAM, MSGL_WARN, "realrtsp: rdt chunk not recognized: got 0x%02x\n",
- header[0]);
- return 0;
- }
- /* header[1] is channel, normally 0, ignored */
- size=(header[2]<<8)+header[3];
- flags1=header[4];
- if ((flags1 & 0xc0) != 0x40)
- {
-#ifdef LOG
- printf("got flags1: 0x%02x\n",flags1);
-#endif
- if(header[6] == 0x06) { // eof packet
- rtsp_read_data(rtsp_session, header, 7); // Skip the rest of the eof packet
- /* Some files have short auxiliary streams, we must ignore eof packets
- * for these streams to avoid premature eof.
- * Now the code declares eof only if the stream with id == 0 gets eof
- * (old code was: eof on the first eof packet received).
- */
- if(flags1 & 0x7c) // ignore eof for streams with id != 0
- return 0;
- mp_msg(MSGT_STREAM, MSGL_INFO, "realrtsp: Stream EOF detected\n");
- return -1;
- }
- header[0]=header[5];
- header[1]=header[6];
- header[2]=header[7];
- n=rtsp_read_data(rtsp_session, header+3, 5);
- if (n<5) return 0;
-#ifdef LOG
- printf("ignoring bytes:\n");
- hexdump(header, 8);
-#endif
- n=rtsp_read_data(rtsp_session, header+4, 4);
- if (n<4) return 0;
- flags1=header[4];
- size-=9;
- }
- flags2=header[7];
- // header[5..6] == frame number in stream
- unknown1=(header[5]<<16)+(header[6]<<8)+(header[7]);
- n=rtsp_read_data(rtsp_session, header, 6);
- if (n<6) return 0;
- ts=AV_RB32(header);
-
-#ifdef LOG
- printf("ts: %u, size: %u, flags: 0x%02x, unknown values: 0x%06x 0x%02x 0x%02x\n",
- ts, size, flags1, unknown1, header[4], header[5]);
-#endif
- size+=2;
-
- ph.object_version=0;
- ph.length=size;
- ph.stream_number=(flags1>>1)&0x1f;
- ph.timestamp=ts;
- ph.reserved=0;
- if ((flags2&1) == 0 && (prev_ts != ts || prev_stream_number != ph.stream_number))
- {
- prev_ts = ts;
- prev_stream_number = ph.stream_number;
- ph.flags=2;
- }
- else
- ph.flags=0;
- *buffer = xbuffer_ensure_size(*buffer, 12+size);
- if(rdt_rawdata) {
- if (size < 12)
- return 0;
- n=rtsp_read_data(rtsp_session, *buffer, size-12);
- return (n <= 0) ? 0 : n;
- }
- rmff_dump_pheader(&ph, *buffer);
- if (size < 12)
- return 0;
- size-=12;
- n=rtsp_read_data(rtsp_session, (*buffer)+12, size);
-
- return (n <= 0) ? 0 : n+12;
-}
-
-static int convert_timestamp(char *str, int *sec, int *msec) {
- int hh, mm, ss, ms = 0;
-
- // Timestamp may be optionally quoted with ", skip it
- // Since the url is escaped when we get here, we skip the string "%22"
- if (!strncmp(str, "%22", 3))
- str += 3;
- if (sscanf(str, "%d:%d:%d.%d", &hh, &mm, &ss, &ms) < 3) {
- hh = 0;
- if (sscanf(str, "%d:%d.%d", &mm, &ss, &ms) < 2) {
- mm = 0;
- if (sscanf(str, "%d.%d", &ss, &ms) < 1) {
- ss = 0;
- ms = 0;
- }
- }
- }
- if (sec)
- *sec = hh * 3600 + mm * 60 + ss;
- if (msec)
- *msec = ms;
- return 1;
-}
-
-//! maximum size of the rtsp description, must be < INT_MAX
-#define MAX_DESC_BUF (20 * 1024 * 1024)
-rmff_header_t *real_setup_and_get_header(rtsp_t *rtsp_session, uint32_t bandwidth,
- char *username, char *password) {
-
- char *description=NULL;
- char *session_id=NULL;
- rmff_header_t *h = NULL;
- char *challenge1 = NULL;
- char challenge2[41];
- char checksum[9];
- char *subscribe = NULL;
- char *buf = xbuffer_init(256);
- char *mrl=rtsp_get_mrl(rtsp_session);
- unsigned int size;
- int status;
- uint32_t maxbandwidth = bandwidth;
- char* authfield = NULL;
- int i;
-
- /* get challenge */
- challenge1=rtsp_search_answers(rtsp_session,"RealChallenge1");
- if (!challenge1)
- goto out;
- challenge1=strdup(challenge1);
-#ifdef LOG
- printf("real: Challenge1: %s\n", challenge1);
-#endif
-
- /* set a reasonable default to get the best stream, unless bandwidth given */
- if (!bandwidth)
- bandwidth = 10485800;
-
- /* request stream description */
-rtsp_send_describe:
- rtsp_schedule_field(rtsp_session, "Accept: application/sdp");
- sprintf(buf, "Bandwidth: %u", bandwidth);
- rtsp_schedule_field(rtsp_session, buf);
- rtsp_schedule_field(rtsp_session, "GUID: 00000000-0000-0000-0000-000000000000");
- rtsp_schedule_field(rtsp_session, "RegionData: 0");
- rtsp_schedule_field(rtsp_session, "ClientID: Linux_2.4_6.0.9.1235_play32_RN01_EN_586");
- rtsp_schedule_field(rtsp_session, "SupportsMaximumASMBandwidth: 1");
- rtsp_schedule_field(rtsp_session, "Language: en-US");
- rtsp_schedule_field(rtsp_session, "Require: com.real.retain-entity-for-setup");
- if(authfield)
- rtsp_schedule_field(rtsp_session, authfield);
- status=rtsp_request_describe(rtsp_session,NULL);
-
- if (status == 401) {
- int authlen, b64_authlen;
- char *authreq;
- char* authstr = NULL;
-
- if (authfield) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "realrtsp: authorization failed, check your credentials\n");
- goto autherr;
- }
- if (!(authreq = rtsp_search_answers(rtsp_session,"WWW-Authenticate"))) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "realrtsp: 401 but no auth request, aborting\n");
- goto autherr;
- }
- if (!username) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "realrtsp: auth required but no username supplied\n");
- goto autherr;
- }
- if (!strstr(authreq, "Basic")) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "realrtsp: authenticator not supported (%s)\n", authreq);
- goto autherr;
- }
- authlen = strlen(username) + 1 + (password ? strlen(password) : 0);
- authstr = malloc(authlen + 1);
- sprintf(authstr, "%s:%s", username, password ? password : "");
- b64_authlen = AV_BASE64_SIZE(authlen);
- authfield = malloc(21 + b64_authlen);
- strcpy(authfield, "Authorization: Basic ");
- av_base64_encode(authfield + 21, b64_authlen, authstr, authlen);
- free(authstr);
- goto rtsp_send_describe;
- }
-autherr:
-
- free(authfield);
-
- if ( status<200 || status>299 )
- {
- char *alert=rtsp_search_answers(rtsp_session,"Alert");
- if (alert) {
- mp_msg(MSGT_STREAM, MSGL_WARN, "realrtsp: got message from server:\n%s\n",
- alert);
- }
- rtsp_send_ok(rtsp_session);
- goto out;
- }
-
- /* receive description */
- size=0;
- if (!rtsp_search_answers(rtsp_session,"Content-length"))
- mp_msg(MSGT_STREAM, MSGL_WARN, "real: got no Content-length!\n");
- else
- size=atoi(rtsp_search_answers(rtsp_session,"Content-length"));
-
- // as size is unsigned this also catches the case (size < 0)
- if (size > MAX_DESC_BUF) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "realrtsp: Content-length for description too big (> %uMB)!\n",
- MAX_DESC_BUF/(1024*1024) );
- goto out;
- }
-
- if (!rtsp_search_answers(rtsp_session,"ETag"))
- mp_msg(MSGT_STREAM, MSGL_WARN, "realrtsp: got no ETag!\n");
- else
- session_id=strdup(rtsp_search_answers(rtsp_session,"ETag"));
-
-#ifdef LOG
- printf("real: Stream description size: %u\n", size);
-#endif
-
- description=malloc(size+1);
-
- if( rtsp_read_data(rtsp_session, description, size) <= 0) {
- goto out;
- }
- description[size]=0;
-
- /* parse sdp (sdpplin) and create a header and a subscribe string */
- subscribe = xbuffer_init(256);
- strcpy(subscribe, "Subscribe: ");
- h=real_parse_sdp(description, &subscribe, bandwidth);
- if (!h) {
- goto out;
- }
- rmff_fix_header(h);
-
-#ifdef LOG
- printf("Title: %s\nCopyright: %s\nAuthor: %s\nStreams: %i\n",
- h->cont->title, h->cont->copyright, h->cont->author, h->prop->num_streams);
-#endif
-
- /* setup our streams */
- real_calc_response_and_checksum (challenge2, checksum, challenge1);
- buf = xbuffer_ensure_size(buf, strlen(challenge2) + strlen(checksum) + 32);
- sprintf(buf, "RealChallenge2: %s, sd=%s", challenge2, checksum);
- rtsp_schedule_field(rtsp_session, buf);
- buf = xbuffer_ensure_size(buf, strlen(session_id) + 32);
- sprintf(buf, "If-Match: %s", session_id);
- rtsp_schedule_field(rtsp_session, buf);
- rtsp_schedule_field(rtsp_session, "Transport: x-pn-tng/tcp;mode=play,rtp/avp/tcp;unicast;mode=play");
- buf = xbuffer_ensure_size(buf, strlen(mrl) + 32);
- sprintf(buf, "%s/streamid=0", mrl);
- rtsp_request_setup(rtsp_session,buf,NULL);
-
- /* Do setup for all the other streams we subscribed to */
- for (i = 1; i < h->prop->num_streams; i++) {
- rtsp_schedule_field(rtsp_session, "Transport: x-pn-tng/tcp;mode=play,rtp/avp/tcp;unicast;mode=play");
- buf = xbuffer_ensure_size(buf, strlen(session_id) + 32);
- sprintf(buf, "If-Match: %s", session_id);
- rtsp_schedule_field(rtsp_session, buf);
-
- buf = xbuffer_ensure_size(buf, strlen(mrl) + 32);
- sprintf(buf, "%s/streamid=%d", mrl, i);
- rtsp_request_setup(rtsp_session,buf,NULL);
- }
- /* set stream parameter (bandwidth) with our subscribe string */
- rtsp_schedule_field(rtsp_session, subscribe);
- rtsp_request_setparameter(rtsp_session,NULL);
-
- /* set delivery bandwidth */
- if (maxbandwidth) {
- sprintf(buf, "SetDeliveryBandwidth: Bandwidth=%u;BackOff=0", maxbandwidth);
- rtsp_schedule_field(rtsp_session, buf);
- rtsp_request_setparameter(rtsp_session,NULL);
- }
-
- {
- int s_ss = 0, s_ms = 0, e_ss = 0, e_ms = 0;
- char *str;
- if ((str = rtsp_get_param(rtsp_session, "start"))) {
- convert_timestamp(str, &s_ss, &s_ms);
- free(str);
- }
- if ((str = rtsp_get_param(rtsp_session, "end"))) {
- convert_timestamp(str, &e_ss, &e_ms);
- free(str);
- }
- if (s_ms) str = buf + sprintf(buf, "%s%d.%d-", "Range: npt=", s_ss, s_ms);
- else str = buf + sprintf(buf, "%s%d-" , "Range: npt=", s_ss );
- if (e_ms) sprintf(str, "%d.%d", e_ss, e_ms);
- else if (e_ss) sprintf(str, "%d", e_ss );
- }
- rtsp_schedule_field(rtsp_session, buf);
- /* and finally send a play request */
- rtsp_request_play(rtsp_session,NULL);
-
-out:
- subscribe = xbuffer_free(subscribe);
- buf = xbuffer_free(buf);
- free(description);
- free(session_id);
- free(challenge1);
- return h;
-}
-
-struct real_rtsp_session_t *
-init_real_rtsp_session (void)
-{
- struct real_rtsp_session_t *real_rtsp_session = NULL;
-
- real_rtsp_session = malloc (sizeof (struct real_rtsp_session_t));
- real_rtsp_session->recv = xbuffer_init (BUF_SIZE);
- real_rtsp_session->rdteof = 0;
- real_rtsp_session->rdt_rawdata = 0;
-
- return real_rtsp_session;
-}
-
-void
-free_real_rtsp_session (struct real_rtsp_session_t* real_session)
-{
- if (!real_session)
- return;
-
- xbuffer_free (real_session->recv);
- free (real_session);
-}
diff --git a/stream/realrtsp/real.h b/stream/realrtsp/real.h
deleted file mode 100644
index 6cc771b..0000000
--- a/stream/realrtsp/real.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS real.h,v 1.2 2002/12/24 01:30:22
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * special functions for real streams.
- * adopted from joschkas real tools.
- *
- */
-
-#ifndef MPLAYER_REAL_H
-#define MPLAYER_REAL_H
-
-#include "rmff.h"
-#include "stream/librtsp/rtsp.h"
-
-#define REAL_HEADER_SIZE 4096
-
-struct real_rtsp_session_t {
- /* receive buffer */
- uint8_t *recv;
- int recv_size;
- int recv_read;
-
- /* header buffer */
- uint8_t header[REAL_HEADER_SIZE];
- int header_len;
- int header_read;
-
- int rdteof;
-
- int rdt_rawdata;
-};
-
-int real_get_rdt_chunk(rtsp_t *rtsp_session, char **buffer, int rdt_rawdata);
-rmff_header_t *real_setup_and_get_header(rtsp_t *rtsp_session, uint32_t bandwidth,
- char *username, char *password);
-struct real_rtsp_session_t *init_real_rtsp_session (void);
-void free_real_rtsp_session (struct real_rtsp_session_t* real_session);
-
-#endif /* MPLAYER_REAL_H */
diff --git a/stream/realrtsp/rmff.c b/stream/realrtsp/rmff.c
deleted file mode 100644
index d85e696..0000000
--- a/stream/realrtsp/rmff.c
+++ /dev/null
@@ -1,876 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS rmff.c,v 1.3 2002/12/24 01:30:22
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * functions for real media file format
- * adopted from joschkas real tools
- */
-
-#include <libavutil/intreadwrite.h>
-
-#include "rmff.h"
-#include "xbuffer.h"
-#include "mp_msg.h"
-
-/*
-#define LOG
-*/
-
-static void hexdump (const char *buf, int length) {
-
- int i;
-
- printf ("rmff: ascii>");
- for (i = 0; i < length; i++) {
- unsigned char c = buf[i];
-
- if ((c >= 32) && (c <= 128))
- printf ("%c", c);
- else
- printf (".");
- }
- printf ("\n");
-
- printf ("rmff: hexdump> ");
- for (i = 0; i < length; i++) {
- unsigned char c = buf[i];
-
- printf ("%02x", c);
-
- if ((i % 16) == 15)
- printf ("\nrmff: ");
-
- if ((i % 2) == 1)
- printf (" ");
-
- }
- printf ("\n");
-}
-
-/*
- * writes header data to a buffer
- */
-
-static int rmff_dump_fileheader(rmff_fileheader_t *fileheader, char *buffer, int bufsize) {
-
- if (!fileheader) return 0;
-
- if (bufsize < RMFF_FILEHEADER_SIZE)
- return -1;
-
- AV_WB32(buffer, fileheader->object_id);
- AV_WB32(buffer+4, fileheader->size);
- AV_WB16(buffer+8, fileheader->object_version);
- AV_WB32(buffer+10, fileheader->file_version);
- AV_WB32(buffer+14, fileheader->num_headers);
-
- return RMFF_FILEHEADER_SIZE;
-}
-
-static int rmff_dump_prop(rmff_prop_t *prop, char *buffer, int bufsize) {
-
- if (!prop) return 0;
-
- if (bufsize < RMFF_PROPHEADER_SIZE)
- return -1;
-
- AV_WB32(buffer, prop->object_id);
- AV_WB32(buffer+4, prop->size);
- AV_WB16(buffer+8, prop->object_version);
- AV_WB32(buffer+10, prop->max_bit_rate);
- AV_WB32(buffer+14, prop->avg_bit_rate);
- AV_WB32(buffer+18, prop->max_packet_size);
- AV_WB32(buffer+22, prop->avg_packet_size);
- AV_WB32(buffer+26, prop->num_packets);
- AV_WB32(buffer+30, prop->duration);
- AV_WB32(buffer+34, prop->preroll);
- AV_WB32(buffer+38, prop->index_offset);
- AV_WB32(buffer+42, prop->data_offset);
- AV_WB16(buffer+46, prop->num_streams);
- AV_WB16(buffer+48, prop->flags);
-
- return RMFF_PROPHEADER_SIZE;
-}
-
-static int rmff_dump_mdpr(rmff_mdpr_t *mdpr, char *buffer, int bufsize) {
-
- int s1, s2, s3;
-
- if (!mdpr) return 0;
-
- if (!(bufsize > RMFF_MDPRHEADER_SIZE + mdpr->stream_name_size + mdpr->mime_type_size &&
- (unsigned)bufsize - RMFF_MDPRHEADER_SIZE - mdpr->stream_name_size - mdpr->mime_type_size > mdpr->type_specific_len))
- return -1;
-
- AV_WB32(buffer, mdpr->object_id);
- AV_WB32(buffer+4, mdpr->size);
- AV_WB16(buffer+8, mdpr->object_version);
- AV_WB16(buffer+10, mdpr->stream_number);
- AV_WB32(buffer+12, mdpr->max_bit_rate);
- AV_WB32(buffer+16, mdpr->avg_bit_rate);
- AV_WB32(buffer+20, mdpr->max_packet_size);
- AV_WB32(buffer+24, mdpr->avg_packet_size);
- AV_WB32(buffer+28, mdpr->start_time);
- AV_WB32(buffer+32, mdpr->preroll);
- AV_WB32(buffer+36, mdpr->duration);
-
- buffer[40] = mdpr->stream_name_size;
- s1=mdpr->stream_name_size;
- memcpy(&buffer[41], mdpr->stream_name, s1);
-
- buffer[41+s1] = mdpr->mime_type_size;
- s2=mdpr->mime_type_size;
- memcpy(&buffer[42+s1], mdpr->mime_type, s2);
-
- AV_WB32(buffer+42+s1+s2, mdpr->type_specific_len);
- s3=mdpr->type_specific_len;
- memcpy(&buffer[46+s1+s2], mdpr->type_specific_data, s3);
-
- return RMFF_MDPRHEADER_SIZE + s1 + s2 + s3;
-}
-
-static int rmff_dump_cont(rmff_cont_t *cont, char *buffer, int bufsize) {
-
- int p;
-
- if (!cont) return 0;
-
- if (bufsize < RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len +
- cont->copyright_len + cont->comment_len)
- return -1;
-
- AV_WB32(buffer, cont->object_id);
- AV_WB32(buffer+4, cont->size);
- AV_WB16(buffer+8, cont->object_version);
-
- AV_WB16(buffer+10, cont->title_len);
- memcpy(&buffer[12], cont->title, cont->title_len);
- p=12+cont->title_len;
-
- AV_WB16(buffer+p, cont->author_len);
- memcpy(&buffer[p+2], cont->author, cont->author_len);
- p+=2+cont->author_len;
-
- AV_WB16(buffer+p, cont->copyright_len);
- memcpy(&buffer[p+2], cont->copyright, cont->copyright_len);
- p+=2+cont->copyright_len;
-
- AV_WB16(buffer+p, cont->comment_len);
- memcpy(&buffer[p+2], cont->comment, cont->comment_len);
-
- return RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len +
- cont->copyright_len + cont->comment_len;
-}
-
-static int rmff_dump_dataheader(rmff_data_t *data, char *buffer, int bufsize) {
-
- if (!data) return 0;
-
- if (bufsize < RMFF_DATAHEADER_SIZE)
- return -1;
-
- AV_WB32(buffer, data->object_id);
- AV_WB32(buffer+4, data->size);
- AV_WB16(buffer+8, data->object_version);
- AV_WB32(buffer+10, data->num_packets);
- AV_WB32(buffer+14, data->next_data_header);
-
- return RMFF_DATAHEADER_SIZE;
-}
-
-int rmff_dump_header(rmff_header_t *h, char *buffer, int max) {
-
- int written=0, size;
- rmff_mdpr_t **stream=h->streams;
-
- if ((size=rmff_dump_fileheader(h->fileheader, &buffer[written], max)) < 0)
- goto buftoosmall;
- written+=size;
- max -= size;
- if ((size=rmff_dump_prop(h->prop, &buffer[written], max)) < 0)
- goto buftoosmall;
- written+=size;
- max -= size;
- if ((size=rmff_dump_cont(h->cont, &buffer[written], max)) < 0)
- goto buftoosmall;
- written+=size;
- max -= size;
- if (stream)
- {
- while(*stream)
- {
- if ((size=rmff_dump_mdpr(*stream, &buffer[written], max)) < 0)
- goto buftoosmall;
- written+=size;
- max -= size;
- stream++;
- }
- }
-
- if ((size=rmff_dump_dataheader(h->data, &buffer[written], max)) < 0)
- goto buftoosmall;
- written+=size;
-
- return written;
-
-buftoosmall:
- mp_msg(MSGT_STREAM, MSGL_ERR, "rmff_dumpheader: buffer too small, aborting. Please report\n");
- return -1;
-}
-
-void rmff_dump_pheader(rmff_pheader_t *h, char *data) {
-
- data[0]=(h->object_version>>8) & 0xff;
- data[1]=h->object_version & 0xff;
- data[2]=(h->length>>8) & 0xff;
- data[3]=h->length & 0xff;
- data[4]=(h->stream_number>>8) & 0xff;
- data[5]=h->stream_number & 0xff;
- data[6]=(h->timestamp>>24) & 0xff;
- data[7]=(h->timestamp>>16) & 0xff;
- data[8]=(h->timestamp>>8) & 0xff;
- data[9]=h->timestamp & 0xff;
- data[10]=h->reserved;
- data[11]=h->flags;
-}
-
-static rmff_fileheader_t *rmff_scan_fileheader(const char *data) {
-
- rmff_fileheader_t *fileheader=malloc(sizeof(rmff_fileheader_t));
-
- fileheader->object_id=AV_RB32(data);
- fileheader->size=AV_RB32(&data[4]);
- fileheader->object_version=AV_RB16(&data[8]);
- if (fileheader->object_version != 0)
- {
- mp_msg(MSGT_STREAM, MSGL_WARN, "warning: unknown object version in .RMF: 0x%04x\n",
- fileheader->object_version);
- }
- fileheader->file_version=AV_RB32(&data[10]);
- fileheader->num_headers=AV_RB32(&data[14]);
-
- return fileheader;
-}
-
-static rmff_prop_t *rmff_scan_prop(const char *data) {
-
- rmff_prop_t *prop=malloc(sizeof(rmff_prop_t));
-
- prop->object_id=AV_RB32(data);
- prop->size=AV_RB32(&data[4]);
- prop->object_version=AV_RB16(&data[8]);
- if (prop->object_version != 0)
- {
- mp_msg(MSGT_STREAM, MSGL_WARN, "warning: unknown object version in PROP: 0x%04x\n",
- prop->object_version);
- }
- prop->max_bit_rate=AV_RB32(&data[10]);
- prop->avg_bit_rate=AV_RB32(&data[14]);
- prop->max_packet_size=AV_RB32(&data[18]);
- prop->avg_packet_size=AV_RB32(&data[22]);
- prop->num_packets=AV_RB32(&data[26]);
- prop->duration=AV_RB32(&data[30]);
- prop->preroll=AV_RB32(&data[34]);
- prop->index_offset=AV_RB32(&data[38]);
- prop->data_offset=AV_RB32(&data[42]);
- prop->num_streams=AV_RB16(&data[46]);
- prop->flags=AV_RB16(&data[48]);
-
- return prop;
-}
-
-static rmff_mdpr_t *rmff_scan_mdpr(const char *data) {
-
- rmff_mdpr_t *mdpr=malloc(sizeof(rmff_mdpr_t));
-
- mdpr->object_id=AV_RB32(data);
- mdpr->size=AV_RB32(&data[4]);
- mdpr->object_version=AV_RB16(&data[8]);
- if (mdpr->object_version != 0)
- {
- mp_msg(MSGT_STREAM, MSGL_WARN, "warning: unknown object version in MDPR: 0x%04x\n",
- mdpr->object_version);
- }
- mdpr->stream_number=AV_RB16(&data[10]);
- mdpr->max_bit_rate=AV_RB32(&data[12]);
- mdpr->avg_bit_rate=AV_RB32(&data[16]);
- mdpr->max_packet_size=AV_RB32(&data[20]);
- mdpr->avg_packet_size=AV_RB32(&data[24]);
- mdpr->start_time=AV_RB32(&data[28]);
- mdpr->preroll=AV_RB32(&data[32]);
- mdpr->duration=AV_RB32(&data[36]);
-
- mdpr->stream_name_size=data[40];
- mdpr->stream_name=malloc(mdpr->stream_name_size+1);
- memcpy(mdpr->stream_name, &data[41], mdpr->stream_name_size);
- mdpr->stream_name[mdpr->stream_name_size]=0;
-
- mdpr->mime_type_size=data[41+mdpr->stream_name_size];
- mdpr->mime_type=malloc(mdpr->mime_type_size+1);
- memcpy(mdpr->mime_type, &data[42+mdpr->stream_name_size], mdpr->mime_type_size);
- mdpr->mime_type[mdpr->mime_type_size]=0;
-
- mdpr->type_specific_len=AV_RB32(&data[42+mdpr->stream_name_size+mdpr->mime_type_size]);
- mdpr->type_specific_data=malloc(mdpr->type_specific_len);
- memcpy(mdpr->type_specific_data,
- &data[46+mdpr->stream_name_size+mdpr->mime_type_size], mdpr->type_specific_len);
-
- return mdpr;
-}
-
-static rmff_cont_t *rmff_scan_cont(const char *data) {
-
- rmff_cont_t *cont=malloc(sizeof(rmff_cont_t));
- int pos;
-
- cont->object_id=AV_RB32(data);
- cont->size=AV_RB32(&data[4]);
- cont->object_version=AV_RB16(&data[8]);
- if (cont->object_version != 0)
- {
- mp_msg(MSGT_STREAM, MSGL_WARN, "warning: unknown object version in CONT: 0x%04x\n",
- cont->object_version);
- }
- cont->title_len=AV_RB16(&data[10]);
- cont->title=malloc(cont->title_len+1);
- memcpy(cont->title, &data[12], cont->title_len);
- cont->title[cont->title_len]=0;
- pos=cont->title_len+12;
- cont->author_len=AV_RB16(&data[pos]);
- cont->author=malloc(cont->author_len+1);
- memcpy(cont->author, &data[pos+2], cont->author_len);
- cont->author[cont->author_len]=0;
- pos=pos+2+cont->author_len;
- cont->copyright_len=AV_RB16(&data[pos]);
- cont->copyright=malloc(cont->copyright_len+1);
- memcpy(cont->copyright, &data[pos+2], cont->copyright_len);
- cont->copyright[cont->copyright_len]=0;
- pos=pos+2+cont->copyright_len;
- cont->comment_len=AV_RB16(&data[pos]);
- cont->comment=malloc(cont->comment_len+1);
- memcpy(cont->comment, &data[pos+2], cont->comment_len);
- cont->comment[cont->comment_len]=0;
-
- return cont;
-}
-
-static rmff_data_t *rmff_scan_dataheader(const char *data) {
-
- rmff_data_t *dh=malloc(sizeof(rmff_data_t));
-
- dh->object_id=AV_RB32(data);
- dh->size=AV_RB32(&data[4]);
- dh->object_version=AV_RB16(&data[8]);
- if (dh->object_version != 0)
- {
- mp_msg(MSGT_STREAM, MSGL_WARN, "warning: unknown object version in DATA: 0x%04x\n",
- dh->object_version);
- }
- dh->num_packets=AV_RB32(&data[10]);
- dh->next_data_header=AV_RB32(&data[14]);
-
- return dh;
-}
-
-rmff_header_t *rmff_scan_header(const char *data) {
-
- rmff_header_t *header=malloc(sizeof(rmff_header_t));
- rmff_mdpr_t *mdpr=NULL;
- int chunk_size;
- uint32_t chunk_type;
- const char *ptr=data;
- int i;
-
- header->fileheader=NULL;
- header->prop=NULL;
- header->cont=NULL;
- header->data=NULL;
-
- chunk_type = AV_RB32(ptr);
- if (chunk_type != RMF_TAG)
- {
- mp_msg(MSGT_STREAM, MSGL_ERR, "rmff: not an real media file header (.RMF tag not found).\n");
- free(header);
- return NULL;
- }
- header->fileheader=rmff_scan_fileheader(ptr);
- ptr += header->fileheader->size;
-
- header->streams=malloc(sizeof(rmff_mdpr_t*)*(header->fileheader->num_headers));
- for (i=0; i<header->fileheader->num_headers; i++) {
- header->streams[i]=NULL;
- }
-
- for (i=1; i<header->fileheader->num_headers; i++) {
- chunk_type = AV_RB32(ptr);
-
- if (ptr[0] == 0)
- {
- mp_msg(MSGT_STREAM, MSGL_WARN, "rmff: warning: only %d of %d header found.\n", i, header->fileheader->num_headers);
- break;
- }
-
- chunk_size=1;
- switch (chunk_type) {
- case PROP_TAG:
- header->prop=rmff_scan_prop(ptr);
- chunk_size=header->prop->size;
- break;
- case MDPR_TAG:
- mdpr=rmff_scan_mdpr(ptr);
- chunk_size=mdpr->size;
- header->streams[mdpr->stream_number]=mdpr;
- break;
- case CONT_TAG:
- header->cont=rmff_scan_cont(ptr);
- chunk_size=header->cont->size;
- break;
- case DATA_TAG:
- header->data=rmff_scan_dataheader(ptr);
- chunk_size=34; /* hard coded header size */
- break;
- default:
- mp_msg(MSGT_STREAM, MSGL_WARN, "unknown chunk\n");
- hexdump(ptr,10);
- chunk_size=1;
- break;
- }
- ptr+=chunk_size;
- }
-
- return header;
-}
-
-rmff_header_t *rmff_scan_header_stream(int fd) {
-
- rmff_header_t *header;
- char *buf=xbuffer_init(1024);
- int index=0;
- uint32_t chunk_type;
- uint32_t chunk_size;
-
- do {
- buf = xbuffer_ensure_size(buf, index+8);
- recv(fd, buf+index, 8, 0);
- chunk_type=AV_RB32(buf+index); index+=4;
- chunk_size=AV_RB32(buf+index); index+=4;
-
- switch (chunk_type) {
- case DATA_TAG:
- chunk_size=18;
- case MDPR_TAG:
- case CONT_TAG:
- case RMF_TAG:
- case PROP_TAG:
- buf = xbuffer_ensure_size(buf, index+chunk_size-8);
- recv(fd, buf+index, (chunk_size-8), 0);
- index+=(chunk_size-8);
- break;
- default:
- mp_msg(MSGT_STREAM, MSGL_WARN, "rmff_scan_header_stream: unknown chunk");
- hexdump(buf+index-8, 8);
- chunk_type=DATA_TAG;
- }
- } while (chunk_type != DATA_TAG);
-
- header = rmff_scan_header(buf);
-
- xbuffer_free(buf);
-
- return header;
-}
-
-void rmff_scan_pheader(rmff_pheader_t *h, char *data) {
-
- h->object_version=AV_RB16(data);
- h->length=AV_RB16(data+2);
- h->stream_number=AV_RB16(data+4);
- h->timestamp=AV_RB32(data+6);
- h->reserved=(uint8_t)data[10];
- h->flags=(uint8_t)data[11];
-}
-
-rmff_fileheader_t *rmff_new_fileheader(uint32_t num_headers) {
-
- rmff_fileheader_t *fileheader=malloc(sizeof(rmff_fileheader_t));
-
- fileheader->object_id=RMF_TAG;
- fileheader->size=18;
- fileheader->object_version=0;
- fileheader->file_version=0;
- fileheader->num_headers=num_headers;
-
- return fileheader;
-}
-
-rmff_prop_t *rmff_new_prop (
- uint32_t max_bit_rate,
- uint32_t avg_bit_rate,
- uint32_t max_packet_size,
- uint32_t avg_packet_size,
- uint32_t num_packets,
- uint32_t duration,
- uint32_t preroll,
- uint32_t index_offset,
- uint32_t data_offset,
- uint16_t num_streams,
- uint16_t flags ) {
-
- rmff_prop_t *prop=malloc(sizeof(rmff_prop_t));
-
- prop->object_id=PROP_TAG;
- prop->size=50;
- prop->object_version=0;
-
- prop->max_bit_rate=max_bit_rate;
- prop->avg_bit_rate=avg_bit_rate;
- prop->max_packet_size=max_packet_size;
- prop->avg_packet_size=avg_packet_size;
- prop->num_packets=num_packets;
- prop->duration=duration;
- prop->preroll=preroll;
- prop->index_offset=index_offset;
- prop->data_offset=data_offset;
- prop->num_streams=num_streams;
- prop->flags=flags;
-
- return prop;
-}
-
-rmff_mdpr_t *rmff_new_mdpr(
- uint16_t stream_number,
- uint32_t max_bit_rate,
- uint32_t avg_bit_rate,
- uint32_t max_packet_size,
- uint32_t avg_packet_size,
- uint32_t start_time,
- uint32_t preroll,
- uint32_t duration,
- const char *stream_name,
- const char *mime_type,
- uint32_t type_specific_len,
- const char *type_specific_data ) {
-
- rmff_mdpr_t *mdpr=calloc(sizeof(rmff_mdpr_t),1);
-
- mdpr->object_id=MDPR_TAG;
- mdpr->object_version=0;
-
- mdpr->stream_number=stream_number;
- mdpr->max_bit_rate=max_bit_rate;
- mdpr->avg_bit_rate=avg_bit_rate;
- mdpr->max_packet_size=max_packet_size;
- mdpr->avg_packet_size=avg_packet_size;
- mdpr->start_time=start_time;
- mdpr->preroll=preroll;
- mdpr->duration=duration;
- mdpr->stream_name_size=0;
- if (stream_name) {
- mdpr->stream_name=strdup(stream_name);
- mdpr->stream_name_size=strlen(stream_name);
- }
- mdpr->mime_type_size=0;
- if (mime_type) {
- mdpr->mime_type=strdup(mime_type);
- mdpr->mime_type_size=strlen(mime_type);
- }
- mdpr->type_specific_len=type_specific_len;
- mdpr->type_specific_data=malloc(type_specific_len);
- memcpy(mdpr->type_specific_data,type_specific_data,type_specific_len);
- mdpr->mlti_data=NULL;
-
- mdpr->size=mdpr->stream_name_size+mdpr->mime_type_size+mdpr->type_specific_len+46;
-
- return mdpr;
-}
-
-rmff_cont_t *rmff_new_cont(const char *title, const char *author, const char *copyright, const char *comment) {
-
- rmff_cont_t *cont=malloc(sizeof(rmff_cont_t));
-
- cont->object_id=CONT_TAG;
- cont->object_version=0;
-
- cont->title=NULL;
- cont->author=NULL;
- cont->copyright=NULL;
- cont->comment=NULL;
-
- cont->title_len=0;
- cont->author_len=0;
- cont->copyright_len=0;
- cont->comment_len=0;
-
- if (title) {
- cont->title_len=strlen(title);
- cont->title=strdup(title);
- }
- if (author) {
- cont->author_len=strlen(author);
- cont->author=strdup(author);
- }
- if (copyright) {
- cont->copyright_len=strlen(copyright);
- cont->copyright=strdup(copyright);
- }
- if (comment) {
- cont->comment_len=strlen(comment);
- cont->comment=strdup(comment);
- }
- cont->size=cont->title_len+cont->author_len+cont->copyright_len+cont->comment_len+18;
-
- return cont;
-}
-
-rmff_data_t *rmff_new_dataheader(uint32_t num_packets, uint32_t next_data_header) {
-
- rmff_data_t *data=malloc(sizeof(rmff_data_t));
-
- data->object_id=DATA_TAG;
- data->size=18;
- data->object_version=0;
- data->num_packets=num_packets;
- data->next_data_header=next_data_header;
-
- return data;
-}
-
-void rmff_print_header(rmff_header_t *h) {
-
- rmff_mdpr_t **stream;
-
- if(!h) {
- printf("rmff_print_header: NULL given\n");
- return;
- }
- if(h->fileheader)
- {
- printf("\nFILE:\n");
- printf("file version : %d\n", h->fileheader->file_version);
- printf("number of headers : %d\n", h->fileheader->num_headers);
- }
- if(h->cont)
- {
- printf("\nCONTENT:\n");
- printf("title : %s\n", h->cont->title);
- printf("author : %s\n", h->cont->author);
- printf("copyright : %s\n", h->cont->copyright);
- printf("comment : %s\n", h->cont->comment);
- }
- if(h->prop)
- {
- printf("\nSTREAM PROPERTIES:\n");
- printf("bit rate (max/avg) : %i/%i\n", h->prop->max_bit_rate, h->prop->avg_bit_rate);
- printf("packet size (max/avg) : %i/%i bytes\n", h->prop->max_packet_size, h->prop->avg_packet_size);
- printf("packets : %i\n", h->prop->num_packets);
- printf("duration : %i ms\n", h->prop->duration);
- printf("pre-buffer : %i ms\n", h->prop->preroll);
- printf("index offset : %i bytes\n", h->prop->index_offset);
- printf("data offset : %i bytes\n", h->prop->data_offset);
- printf("media streams : %i\n", h->prop->num_streams);
- printf("flags : ");
- if (h->prop->flags & PN_SAVE_ENABLED) printf("save_enabled ");
- if (h->prop->flags & PN_PERFECT_PLAY_ENABLED) printf("perfect_play_enabled ");
- if (h->prop->flags & PN_LIVE_BROADCAST) printf("live_broadcast ");
- printf("\n");
- }
- stream=h->streams;
- if(stream)
- {
- while (*stream)
- {
- printf("\nSTREAM %i:\n", (*stream)->stream_number);
- printf("stream name [mime type] : %s [%s]\n", (*stream)->stream_name, (*stream)->mime_type);
- printf("bit rate (max/avg) : %i/%i\n", (*stream)->max_bit_rate, (*stream)->avg_bit_rate);
- printf("packet size (max/avg) : %i/%i bytes\n", (*stream)->max_packet_size, (*stream)->avg_packet_size);
- printf("start time : %i\n", (*stream)->start_time);
- printf("pre-buffer : %i ms\n", (*stream)->preroll);
- printf("duration : %i ms\n", (*stream)->duration);
- printf("type specific data:\n");
- hexdump((*stream)->type_specific_data, (*stream)->type_specific_len);
- stream++;
- }
- }
- if(h->data)
- {
- printf("\nDATA:\n");
- printf("size : %i\n", h->data->size);
- printf("packets : %i\n", h->data->num_packets);
- printf("next DATA : 0x%08x\n", h->data->next_data_header);
- }
-}
-
-void rmff_fix_header(rmff_header_t *h) {
-
- int num_headers=0;
- int header_size=0;
- rmff_mdpr_t **streams;
- int num_streams=0;
-
- if (!h) {
- mp_msg(MSGT_STREAM, MSGL_ERR, "rmff_fix_header: fatal: no header given.\n");
- return;
- }
-
- if (!h->streams) {
- mp_msg(MSGT_STREAM, MSGL_WARN, "rmff_fix_header: warning: no MDPR chunks\n");
- } else
- {
- streams=h->streams;
- while (*streams)
- {
- num_streams++;
- num_headers++;
- header_size+=(*streams)->size;
- streams++;
- }
- }
-
- if (h->prop) {
- if (h->prop->size != 50)
- {
-#ifdef LOG
- printf("rmff_fix_header: correcting prop.size from %i to %i\n", h->prop->size, 50);
-#endif
- h->prop->size=50;
- }
- if (h->prop->num_streams != num_streams)
- {
-#ifdef LOG
- printf("rmff_fix_header: correcting prop.num_streams from %i to %i\n", h->prop->num_streams, num_streams);
-#endif
- h->prop->num_streams=num_streams;
- }
- num_headers++;
- header_size+=50;
- } else
- mp_msg(MSGT_STREAM, MSGL_WARN, "rmff_fix_header: warning: no PROP chunk.\n");
-
- if (h->cont) {
- num_headers++;
- header_size+=h->cont->size;
- } else
- mp_msg(MSGT_STREAM, MSGL_WARN, "rmff_fix_header: warning: no CONT chunk.\n");
-
- if (!h->data) {
-#ifdef LOG
- printf("rmff_fix_header: no DATA chunk, creating one\n");
-#endif
- h->data=malloc(sizeof(rmff_data_t));
- h->data->object_id=DATA_TAG;
- h->data->object_version=0;
- h->data->size=34;
- h->data->num_packets=0;
- h->data->next_data_header=0;
- }
- num_headers++;
-
-
- if (!h->fileheader) {
-#ifdef LOG
- printf("rmff_fix_header: no fileheader, creating one");
-#endif
- h->fileheader=malloc(sizeof(rmff_fileheader_t));
- h->fileheader->object_id=RMF_TAG;
- h->fileheader->size=34;
- h->fileheader->object_version=0;
- h->fileheader->file_version=0;
- h->fileheader->num_headers=num_headers+1;
- }
- header_size+=h->fileheader->size;
- num_headers++;
-
- if(h->fileheader->num_headers != num_headers) {
-#ifdef LOG
- printf("rmff_fix_header: setting num_headers from %i to %i\n", h->fileheader->num_headers, num_headers);
-#endif
- h->fileheader->num_headers=num_headers;
- }
-
- if(h->prop) {
- if (h->prop->data_offset != header_size) {
-#ifdef LOG
- printf("rmff_fix_header: setting prop.data_offset from %i to %i\n", h->prop->data_offset, header_size);
-#endif
- h->prop->data_offset=header_size;
- }
- if (h->prop->num_packets == 0) {
- int p=(int)(h->prop->avg_bit_rate/8.0*(h->prop->duration/1000.0)/h->prop->avg_packet_size);
-#ifdef LOG
- printf("rmff_fix_header: assuming prop.num_packets=%i\n", p);
-#endif
- h->prop->num_packets=p;
- }
- if (h->data->num_packets == 0) {
-#ifdef LOG
- printf("rmff_fix_header: assuming data.num_packets=%i\n", h->prop->num_packets);
-#endif
- h->data->num_packets=h->prop->num_packets;
- }
-
-#ifdef LOG
- printf("rmff_fix_header: assuming data.size=%i\n", h->prop->num_packets*h->prop->avg_packet_size);
-#endif
- h->data->size=h->prop->num_packets*h->prop->avg_packet_size;
- }
-}
-
-int rmff_get_header_size(rmff_header_t *h) {
-
- if (!h) return 0;
- if (!h->prop) return -1;
-
- return h->prop->data_offset+18;
-
-}
-
-void rmff_free_header(rmff_header_t *h) {
-
- if (!h) return;
-
- free(h->fileheader);
- free(h->prop);
- free(h->data);
- if (h->cont)
- {
- free(h->cont->title);
- free(h->cont->author);
- free(h->cont->copyright);
- free(h->cont->comment);
- free(h->cont);
- }
- if (h->streams)
- {
- rmff_mdpr_t **s=h->streams;
-
- while(*s) {
- free((*s)->stream_name);
- free((*s)->mime_type);
- free((*s)->type_specific_data);
- free(*s);
- s++;
- }
- free(h->streams);
- }
- free(h);
-}
diff --git a/stream/realrtsp/rmff.h b/stream/realrtsp/rmff.h
deleted file mode 100644
index 00b6b58..0000000
--- a/stream/realrtsp/rmff.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS rmff.h,v 1.3 2003/02/10 22:11:10
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * some functions for real media file headers
- * adopted from joschkas real tools
- */
-
-#ifndef MPLAYER_RMFF_H
-#define MPLAYER_RMFF_H
-
-#include <sys/types.h>
-#include "config.h"
-#if !HAVE_WINSOCK2_H
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#else
-#include <winsock2.h>
-#endif
-#include <unistd.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-
-#define RMFF_HEADER_SIZE 0x12
-
-#define RMFF_FILEHEADER_SIZE 18
-#define RMFF_PROPHEADER_SIZE 50
-#define RMFF_MDPRHEADER_SIZE 46
-#define RMFF_CONTHEADER_SIZE 18
-#define RMFF_DATAHEADER_SIZE 18
-
-#define FOURCC_TAG( ch0, ch1, ch2, ch3 ) \
- (((long)(unsigned char)(ch3) ) | \
- ( (long)(unsigned char)(ch2) << 8 ) | \
- ( (long)(unsigned char)(ch1) << 16 ) | \
- ( (long)(unsigned char)(ch0) << 24 ) )
-
-
-#define RMF_TAG FOURCC_TAG('.', 'R', 'M', 'F')
-#define PROP_TAG FOURCC_TAG('P', 'R', 'O', 'P')
-#define MDPR_TAG FOURCC_TAG('M', 'D', 'P', 'R')
-#define CONT_TAG FOURCC_TAG('C', 'O', 'N', 'T')
-#define DATA_TAG FOURCC_TAG('D', 'A', 'T', 'A')
-#define INDX_TAG FOURCC_TAG('I', 'N', 'D', 'X')
-#define PNA_TAG FOURCC_TAG('P', 'N', 'A', 0 )
-
-#define MLTI_TAG FOURCC_TAG('M', 'L', 'T', 'I')
-
-/* prop flags */
-#define PN_SAVE_ENABLED 0x01
-#define PN_PERFECT_PLAY_ENABLED 0x02
-#define PN_LIVE_BROADCAST 0x04
-
-/*
- * rm header data structs
- */
-
-typedef struct {
-
- uint32_t object_id;
- uint32_t size;
- uint16_t object_version;
-
- uint32_t file_version;
- uint32_t num_headers;
-} rmff_fileheader_t;
-
-typedef struct {
-
- uint32_t object_id;
- uint32_t size;
- uint16_t object_version;
-
- uint32_t max_bit_rate;
- uint32_t avg_bit_rate;
- uint32_t max_packet_size;
- uint32_t avg_packet_size;
- uint32_t num_packets;
- uint32_t duration;
- uint32_t preroll;
- uint32_t index_offset;
- uint32_t data_offset;
- uint16_t num_streams;
- uint16_t flags;
-
-} rmff_prop_t;
-
-typedef struct {
-
- uint32_t object_id;
- uint32_t size;
- uint16_t object_version;
-
- uint16_t stream_number;
- uint32_t max_bit_rate;
- uint32_t avg_bit_rate;
- uint32_t max_packet_size;
- uint32_t avg_packet_size;
- uint32_t start_time;
- uint32_t preroll;
- uint32_t duration;
- uint8_t stream_name_size;
- char *stream_name;
- uint8_t mime_type_size;
- char *mime_type;
- uint32_t type_specific_len;
- char *type_specific_data;
-
- int mlti_data_size;
- char *mlti_data;
-
-} rmff_mdpr_t;
-
-typedef struct {
-
- uint32_t object_id;
- uint32_t size;
- uint16_t object_version;
-
- uint16_t title_len;
- char *title;
- uint16_t author_len;
- char *author;
- uint16_t copyright_len;
- char *copyright;
- uint16_t comment_len;
- char *comment;
-
-} rmff_cont_t;
-
-typedef struct {
-
- uint32_t object_id;
- uint32_t size;
- uint16_t object_version;
-
- uint32_t num_packets;
- uint32_t next_data_header; /* rarely used */
-} rmff_data_t;
-
-typedef struct {
-
- rmff_fileheader_t *fileheader;
- rmff_prop_t *prop;
- rmff_mdpr_t **streams;
- rmff_cont_t *cont;
- rmff_data_t *data;
-} rmff_header_t;
-
-typedef struct {
-
- uint16_t object_version;
-
- uint16_t length;
- uint16_t stream_number;
- uint32_t timestamp;
- uint8_t reserved;
- uint8_t flags;
-
-} rmff_pheader_t;
-
-/*
- * constructors for header structs
- */
-
-rmff_fileheader_t *rmff_new_fileheader(uint32_t num_headers);
-
-rmff_prop_t *rmff_new_prop (
- uint32_t max_bit_rate,
- uint32_t avg_bit_rate,
- uint32_t max_packet_size,
- uint32_t avg_packet_size,
- uint32_t num_packets,
- uint32_t duration,
- uint32_t preroll,
- uint32_t index_offset,
- uint32_t data_offset,
- uint16_t num_streams,
- uint16_t flags );
-
-rmff_mdpr_t *rmff_new_mdpr(
- uint16_t stream_number,
- uint32_t max_bit_rate,
- uint32_t avg_bit_rate,
- uint32_t max_packet_size,
- uint32_t avg_packet_size,
- uint32_t start_time,
- uint32_t preroll,
- uint32_t duration,
- const char *stream_name,
- const char *mime_type,
- uint32_t type_specific_len,
- const char *type_specific_data );
-
-rmff_cont_t *rmff_new_cont(
- const char *title,
- const char *author,
- const char *copyright,
- const char *comment);
-
-rmff_data_t *rmff_new_dataheader(
- uint32_t num_packets, uint32_t next_data_header);
-
-/*
- * reads header infos from data and returns a newly allocated header struct
- */
-rmff_header_t *rmff_scan_header(const char *data);
-
-/*
- * scans a data packet header. Notice, that this function does not allocate
- * the header struct itself.
- */
-void rmff_scan_pheader(rmff_pheader_t *h, char *data);
-
-/*
- * reads header infos from stream and returns a newly allocated header struct
- */
-rmff_header_t *rmff_scan_header_stream(int fd);
-
-/*
- * prints header information in human readible form to stdout
- */
-void rmff_print_header(rmff_header_t *h);
-
-/*
- * does some checks and fixes header if possible
- */
-void rmff_fix_header(rmff_header_t *h);
-
-/*
- * returns the size of the header (incl. first data-header)
- */
-int rmff_get_header_size(rmff_header_t *h);
-
-/*
- * dumps the header <h> to <buffer>. <max> is the size of <buffer>
- */
-int rmff_dump_header(rmff_header_t *h, char *buffer, int max);
-
-/*
- * dumps a packet header
- */
-void rmff_dump_pheader(rmff_pheader_t *h, char *data);
-
-/*
- * frees a header struct
- */
-void rmff_free_header(rmff_header_t *h);
-
-#endif /* MPLAYER_RMFF_H */
diff --git a/stream/realrtsp/sdpplin.c b/stream/realrtsp/sdpplin.c
deleted file mode 100644
index 41ef618..0000000
--- a/stream/realrtsp/sdpplin.c
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS sdpplin.c,v 1.1 2002/12/24 01:30:22
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * sdp/sdpplin parser.
- *
- */
-
-#include "config.h"
-#include "stream/librtsp/rtsp.h"
-#include "sdpplin.h"
-#include "xbuffer.h"
-#include "mp_msg.h"
-
-/*
-#define LOG
-*/
-
-/*
- * Decodes base64 strings (based upon b64 package)
- */
-
-static char *b64_decode(const char *in, char *out, int *size)
-{
- char dtable[256]; /* Encode / decode table */
- int i,j,k;
-
- for (i = 0; i < 255; i++) {
- dtable[i] = 0x80;
- }
- for (i = 'A'; i <= 'Z'; i++) {
- dtable[i] = 0 + (i - 'A');
- }
- for (i = 'a'; i <= 'z'; i++) {
- dtable[i] = 26 + (i - 'a');
- }
- for (i = '0'; i <= '9'; i++) {
- dtable[i] = 52 + (i - '0');
- }
- dtable['+'] = 62;
- dtable['/'] = 63;
- dtable['='] = 0;
-
- k=0;
-
- /*CONSTANTCONDITION*/
- for (j=0; j<strlen(in); j+=4)
- {
- char a[4], b[4];
-
- for (i = 0; i < 4; i++) {
- int c = in[i+j];
-
- if (dtable[c] & 0x80) {
- printf("Illegal character '%c' in input.\n", c);
-// exit(1);
- return NULL;
- }
- a[i] = (char) c;
- b[i] = (char) dtable[c];
- }
- out = xbuffer_ensure_size(out, k+4);
- out[k++] = (b[0] << 2) | (b[1] >> 4);
- out[k++] = (b[1] << 4) | (b[2] >> 2);
- out[k++] = (b[2] << 6) | b[3];
- i = a[2] == '=' ? 1 : (a[3] == '=' ? 2 : 3);
- if (i < 3) {
- out[k]=0;
- *size=k;
- return out;
- }
- }
- out[k]=0;
- *size=k;
- return out;
-}
-
-static char *nl(char *data) {
-
- char *nlptr = (data) ? strchr(data,'\n') : NULL;
- return (nlptr) ? nlptr + 1 : NULL;
-}
-
-static int filter(const char *in, const char *filter, char **out) {
-
- int flen=strlen(filter);
- int len;
-
- if (!in)
- return 0;
-
- len = (strchr(in,'\n')) ? strchr(in,'\n')-in : strlen(in);
-
- if (!strncmp(in,filter,flen))
- {
- if(in[flen]=='"') flen++;
- if(in[len-1]==13) len--;
- if(in[len-1]=='"') len--;
- *out = xbuffer_copyin(*out, 0, in+flen, len-flen+1);
- (*out)[len-flen]=0;
-
- return len-flen;
- }
-
- return 0;
-}
-static sdpplin_stream_t *sdpplin_parse_stream(char **data) {
-
- sdpplin_stream_t *desc=calloc(1,sizeof(sdpplin_stream_t));
- char *buf=xbuffer_init(32);
- char *decoded=xbuffer_init(32);
- int handled;
- int got_mimetype;
-
- if (filter(*data, "m=", &buf)) {
- desc->id = strdup(buf);
- } else
- {
- printf("sdpplin: no m= found.\n");
- free(desc);
- xbuffer_free(buf);
- return NULL;
- }
- *data=nl(*data);
-
- got_mimetype = 0;
-
- while (*data && **data && *data[0]!='m') {
-#ifdef LOG
- {
- int len=strchr(*data,'\n')-(*data);
- buf = xbuffer_copyin(buf, 0, *data, len+1);
- buf[len]=0;
- printf("libreal: sdpplin_stream: '%s'\n", buf);
- }
-#endif
-
- handled=0;
-
- if(filter(*data,"a=control:streamid=",&buf)) {
- desc->stream_id=atoi(buf);
- handled=1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=MaxBitRate:integer;",&buf)) {
- desc->max_bit_rate=atoi(buf);
- if (!desc->avg_bit_rate)
- desc->avg_bit_rate=desc->max_bit_rate;
- handled=1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=MaxPacketSize:integer;",&buf)) {
- desc->max_packet_size=atoi(buf);
- if (!desc->avg_packet_size)
- desc->avg_packet_size=desc->max_packet_size;
- handled=1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=StartTime:integer;",&buf)) {
- desc->start_time=atoi(buf);
- handled=1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=Preroll:integer;",&buf)) {
- desc->preroll=atoi(buf);
- handled=1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=length:npt=",&buf)) {
- desc->duration=(uint32_t)(atof(buf)*1000);
- handled=1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=StreamName:string;",&buf)) {
- desc->stream_name=strdup(buf);
- desc->stream_name_size=strlen(desc->stream_name);
- handled=1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=mimetype:string;",&buf)) {
- desc->mime_type=strdup(buf);
- desc->mime_type_size=strlen(desc->mime_type);
- handled=1;
- got_mimetype = 1;
- *data=nl(*data);
- }
-
- if(filter(*data,"a=OpaqueData:buffer;",&buf)) {
- decoded = b64_decode(buf, decoded, &(desc->mlti_data_size));
- desc->mlti_data=malloc(desc->mlti_data_size);
- memcpy(desc->mlti_data, decoded, desc->mlti_data_size);
- handled=1;
- *data=nl(*data);
-#ifdef LOG
- printf("mlti_data_size: %i\n", desc->mlti_data_size);
-#endif
- }
-
- if(filter(*data,"a=ASMRuleBook:string;",&buf)) {
- desc->asm_rule_book=strdup(buf);
- handled=1;
- *data=nl(*data);
- }
-
- if(!handled) {
-#ifdef LOG
- int len=strchr(*data,'\n')-(*data);
- buf = xbuffer_copyin(buf, 0, *data, len+1);
- buf[len]=0;
- printf("libreal: sdpplin_stream: not handled: '%s'\n", buf);
-#endif
- *data=nl(*data);
- }
- }
-
- if (!got_mimetype) {
- mp_msg(MSGT_OPEN, MSGL_V, "libreal: sdpplin_stream: no mimetype\n");
- desc->mime_type = strdup("audio/x-pn-realaudio");
- desc->mime_type_size = strlen(desc->mime_type);
- if (desc->stream_id)
- mp_msg(MSGT_OPEN, MSGL_WARN, "libreal: sdpplin_stream: implicit mimetype for stream_id != 0, weird.\n");
- }
-
- xbuffer_free(buf);
- xbuffer_free(decoded);
-
- return desc;
-}
-
-sdpplin_t *sdpplin_parse(char *data) {
-
- sdpplin_t *desc=calloc(1,sizeof(sdpplin_t));
- char *buf=xbuffer_init(32);
- char *decoded=xbuffer_init(32);
- int handled;
- int len;
-
- while (data && *data) {
-#ifdef LOG
- {
- int len=strchr(data,'\n')-(data);
- buf = xbuffer_copyin(buf, 0, data, len+1);
- buf[len]=0;
- printf("libreal: sdpplin: '%s'\n", buf);
- }
-#endif
-
- handled=0;
-
- if (filter(data, "m=", &buf)) {
- sdpplin_stream_t *stream=sdpplin_parse_stream(&data);
-#ifdef LOG
- printf("got data for stream id %u\n", stream->stream_id);
-#endif
- if (desc->stream && (stream->stream_id >= 0) && (stream->stream_id < desc->stream_count))
- desc->stream[stream->stream_id]=stream;
- else if (desc->stream)
- {
- mp_msg(MSGT_OPEN, MSGL_ERR, "sdpplin: bad stream_id %d (must be >= 0, < %d). Broken sdp?\n",
- stream->stream_id, desc->stream_count);
- free(stream);
- } else {
- mp_msg(MSGT_OPEN, MSGL_V, "sdpplin: got 'm=', but 'a=StreamCount' is still unknown.\n");
- if (stream->stream_id == 0) {
- desc->stream_count=1;
- desc->stream=malloc(sizeof(sdpplin_stream_t*));
- desc->stream[0]=stream;
- } else {
- mp_msg(MSGT_OPEN, MSGL_ERR, "sdpplin: got 'm=', but 'a=StreamCount' is still unknown and stream_id != 0. Broken sdp?\n");
- free(stream);
- }
- }
- continue;
- }
-
- if(filter(data,"a=Title:buffer;",&buf)) {
- decoded=b64_decode(buf, decoded, &len);
- desc->title=strdup(decoded);
- handled=1;
- data=nl(data);
- }
-
- if(filter(data,"a=Author:buffer;",&buf)) {
- decoded=b64_decode(buf, decoded, &len);
- desc->author=strdup(decoded);
- handled=1;
- data=nl(data);
- }
-
- if(filter(data,"a=Copyright:buffer;",&buf)) {
- decoded=b64_decode(buf, decoded, &len);
- desc->copyright=strdup(decoded);
- handled=1;
- data=nl(data);
- }
-
- if(filter(data,"a=Abstract:buffer;",&buf)) {
- decoded=b64_decode(buf, decoded, &len);
- desc->abstract=strdup(decoded);
- handled=1;
- data=nl(data);
- }
-
- if(filter(data,"a=StreamCount:integer;",&buf)) {
- desc->stream_count=(unsigned int)atoi(buf);
- desc->stream=calloc(desc->stream_count, sizeof(sdpplin_stream_t*));
- if (!desc->stream) desc->stream_count = 0;
- handled=1;
- data=nl(data);
- }
-
- if(filter(data,"a=Flags:integer;",&buf)) {
- desc->flags=atoi(buf);
- handled=1;
- data=nl(data);
- }
-
- if(!handled) {
-#ifdef LOG
- int len=strchr(data,'\n')-data;
- buf = xbuffer_copyin(buf, 0, data, len+1);
- buf[len]=0;
- printf("libreal: sdpplin: not handled: '%s'\n", buf);
-#endif
- data=nl(data);
- }
- }
-
- xbuffer_free(buf);
- xbuffer_free(decoded);
-
- return desc;
-}
-
-void sdpplin_free(sdpplin_t *description) {
-
- int i;
-
- if (!description)
- return;
-
- for (i = 0; i < description->stream_count; i++) {
- if (description->stream[i]) {
- free(description->stream[i]->stream_name);
- free(description->stream[i]->mime_type);
- free(description->stream[i]->mlti_data);
- free(description->stream[i]->asm_rule_book);
- free(description->stream[i]->id);
- free(description->stream[i]);
- }
- }
-
- if(description->stream_count)
- free(description->stream);
- free(description->title);
- free(description->author);
- free(description->copyright);
- free(description->abstract);
-
- free(description);
-}
diff --git a/stream/realrtsp/sdpplin.h b/stream/realrtsp/sdpplin.h
deleted file mode 100644
index 770a6cb..0000000
--- a/stream/realrtsp/sdpplin.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * This file was ported to MPlayer from xine CVS sdpplin.h,v 1.1 2002/12/24 01:30:22
- */
-
-/*
- * Copyright (C) 2002 the xine project
- *
- * This file is part of xine, a free video player.
- *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * xine is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- *
- * sdp/sdpplin parser.
- *
- */
-
-#ifndef MPLAYER_SDPPLIN_H
-#define MPLAYER_SDPPLIN_H
-
-#include "rmff.h"
-#include "stream/librtsp/rtsp.h"
-
-typedef struct {
-
- char *id;
- char *bandwidth;
-
- int stream_id;
- char *range;
- char *length;
- char *rtpmap;
- char *mimetype;
- int min_switch_overlap;
- int start_time;
- int end_one_rule_end_all;
- int avg_bit_rate;
- int max_bit_rate;
- int avg_packet_size;
- int max_packet_size;
- int end_time;
- int seek_greater_on_switch;
- int preroll;
-
- int duration;
- char *stream_name;
- int stream_name_size;
- char *mime_type;
- int mime_type_size;
- char *mlti_data;
- int mlti_data_size;
- int rmff_flags_length;
- char *rmff_flags;
- int asm_rule_book_length;
- char *asm_rule_book;
-
-} sdpplin_stream_t;
-
-typedef struct {
-
- int sdp_version, sdpplin_version;
- char *owner;
- char *session_name;
- char *session_info;
- char *uri;
- char *email;
- char *phone;
- char *connection;
- char *bandwidth;
-
- int flags;
- int is_real_data_type;
- int stream_count;
- char *title;
- char *author;
- char *copyright;
- char *keywords;
- int asm_rule_book_length;
- char *asm_rule_book;
- char *abstract;
- char *range;
- int avg_bit_rate;
- int max_bit_rate;
- int avg_packet_size;
- int max_packet_size;
- int preroll;
- int duration;
-
- sdpplin_stream_t **stream;
-
-} sdpplin_t;
-
-sdpplin_t *sdpplin_parse(char *data);
-
-void sdpplin_free(sdpplin_t *description);
-
-#endif /* MPLAYER_SDPPLIN_H */
diff --git a/stream/realrtsp/xbuffer.c b/stream/realrtsp/xbuffer.c
deleted file mode 100644
index 5db88b4..0000000
--- a/stream/realrtsp/xbuffer.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * xbuffer code
- *
- * Includes a minimalistic replacement for xine_buffer functions used in
- * Real streaming code. Only function needed by this code are implemented.
- *
- * Most code comes from xine_buffer.c Copyright (C) 2002 the xine project
- *
- * WARNING: do not mix original xine_buffer functions with this code!
- * xbuffers behave like xine_buffers, but are not byte-compatible with them.
- * You must take care of pointers returned by xbuffers functions (no macro to
- * do it automatically)
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-#include "xbuffer.h"
-
-
-typedef struct {
- uint32_t size;
- uint32_t chunk_size;
-} xbuffer_header_t;
-
-#define XBUFFER_HEADER_SIZE sizeof (xbuffer_header_t)
-
-
-
-void *xbuffer_init(int chunk_size) {
- uint8_t *data=calloc(1,chunk_size+XBUFFER_HEADER_SIZE);
-
- xbuffer_header_t *header=(xbuffer_header_t*)data;
-
- header->size=chunk_size;
- header->chunk_size=chunk_size;
-
- return data+XBUFFER_HEADER_SIZE;
-}
-
-
-
-void *xbuffer_free(void *buf) {
- if (!buf) {
- return NULL;
- }
-
- free(((uint8_t*)buf)-XBUFFER_HEADER_SIZE);
-
- return NULL;
-}
-
-
-
-void *xbuffer_copyin(void *buf, int index, const void *data, int len) {
- if (!buf || !data) {
- return NULL;
- }
-
- buf = xbuffer_ensure_size(buf, index+len);
- memcpy(((uint8_t*)buf)+index, data, len);
-
- return buf;
-}
-
-
-
-void *xbuffer_ensure_size(void *buf, int size) {
- xbuffer_header_t *xbuf;
- int new_size;
-
- if (!buf) {
- return 0;
- }
-
- xbuf = ((xbuffer_header_t*)(((uint8_t*)buf)-XBUFFER_HEADER_SIZE));
-
- if (xbuf->size < size) {
- new_size = size + xbuf->chunk_size - (size % xbuf->chunk_size);
- xbuf->size = new_size;
- buf = ((uint8_t*)realloc(((uint8_t*)buf)-XBUFFER_HEADER_SIZE,
- new_size+XBUFFER_HEADER_SIZE)) + XBUFFER_HEADER_SIZE;
- }
-
- return buf;
-}
-
-
-
-void *xbuffer_strcat(void *buf, char *data) {
-
- if (!buf || !data) {
- return NULL;
- }
-
- buf = xbuffer_ensure_size(buf, strlen(buf)+strlen(data)+1);
-
- strcat(buf, data);
-
- return buf;
-}
diff --git a/stream/realrtsp/xbuffer.h b/stream/realrtsp/xbuffer.h
deleted file mode 100644
index 9840542..0000000
--- a/stream/realrtsp/xbuffer.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * xbuffer code
- *
- * Includes a minimalistic replacement for xine_buffer functions used in
- * Real streaming code. Only function needed by this code are implemented.
- *
- * Most code comes from xine_buffer.c Copyright (C) 2002 the xine project
- *
- * WARNING: do not mix original xine_buffer functions with this code!
- * xbuffers behave like xine_buffers, but are not byte-compatible with them.
- * You must take care of pointers returned by xbuffers functions (no macro to
- * do it automatically)
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_XBUFFER_H
-#define MPLAYER_XBUFFER_H
-
-void *xbuffer_init(int chunk_size);
-void *xbuffer_free(void *buf);
-void *xbuffer_copyin(void *buf, int index, const void *data, int len);
-void *xbuffer_ensure_size(void *buf, int size);
-void *xbuffer_strcat(void *buf, char *data);
-
-#endif /* MPLAYER_XBUFFER_H */
diff --git a/stream/stream.c b/stream/stream.c
index 772c87d..fa63ec9 100644
--- a/stream/stream.c
+++ b/stream/stream.c
@@ -62,7 +62,6 @@ extern const stream_info_t stream_info_cdda;
extern const stream_info_t stream_info_netstream;
extern const stream_info_t stream_info_pnm;
extern const stream_info_t stream_info_asf;
-extern const stream_info_t stream_info_rtsp;
extern const stream_info_t stream_info_rtp;
extern const stream_info_t stream_info_udp;
extern const stream_info_t stream_info_http1;
@@ -75,8 +74,6 @@ extern const stream_info_t stream_info_ftp;
extern const stream_info_t stream_info_vstream;
extern const stream_info_t stream_info_dvdnav;
extern const stream_info_t stream_info_smb;
-extern const stream_info_t stream_info_sdp;
-extern const stream_info_t stream_info_rtsp_sip;
extern const stream_info_t stream_info_cue;
extern const stream_info_t stream_info_null;
@@ -94,16 +91,12 @@ static const stream_info_t* const auto_open_streams[] = {
#ifdef CONFIG_CDDA
&stream_info_cdda,
#endif
+ &stream_info_ffmpeg, // use for rstp:// before http fallback
#ifdef CONFIG_NETWORKING
&stream_info_netstream,
&stream_info_http1,
&stream_info_asf,
&stream_info_pnm,
- &stream_info_rtsp,
-#ifdef CONFIG_LIVE555
- &stream_info_sdp,
- &stream_info_rtsp_sip,
-#endif
&stream_info_rtp,
&stream_info_udp,
&stream_info_http2,
@@ -140,7 +133,6 @@ static const stream_info_t* const auto_open_streams[] = {
#ifdef CONFIG_LIBBLURAY
&stream_info_bluray,
#endif
- &stream_info_ffmpeg,
&stream_info_null,
&stream_info_mf,
diff --git a/stream/stream.h b/stream/stream.h
index 828c364..7d0ed77 100644
--- a/stream/stream.h
+++ b/stream/stream.h
@@ -71,10 +71,6 @@
#define MP_STREAM_SEEK_BW 2
#define MP_STREAM_SEEK_FW 4
#define MP_STREAM_SEEK (MP_STREAM_SEEK_BW|MP_STREAM_SEEK_FW)
-/** This is a HACK for live555 that does not respect the
- separation between stream an demuxer and thus is not
- actually a stream cache can not be used */
-#define STREAM_NON_CACHEABLE 8
//////////// Open return code
#define STREAM_REDIRECTED -2
@@ -184,6 +180,8 @@ int stream_seek_long(stream_t *s, off_t pos);
void stream_capture_do(stream_t *s);
#ifdef CONFIG_STREAM_CACHE
+int stream_enable_cache_percent(stream_t *stream, int stream_cache_size,
+ float stream_cache_min_percent, float stream_cache_seek_min_percent);
int stream_enable_cache(stream_t *stream,int size,int min,int prefill);
int cache_stream_fill_buffer(stream_t *s);
int cache_stream_seek_long(stream_t *s,off_t pos);
@@ -192,6 +190,7 @@ int cache_stream_seek_long(stream_t *s,off_t pos);
#define cache_stream_fill_buffer(x) stream_fill_buffer(x)
#define cache_stream_seek_long(x,y) stream_seek_long(x,y)
#define stream_enable_cache(x,y,z,w) 1
+#define stream_enable_cache_percent(x,y,z,w) 1
#endif
int stream_write_buffer(stream_t *s, unsigned char *buf, int len);
diff --git a/stream/stream_ffmpeg.c b/stream/stream_ffmpeg.c
index af71675..d62d9c9 100644
--- a/stream/stream_ffmpeg.c
+++ b/stream/stream_ffmpeg.c
@@ -89,7 +89,7 @@ static void close_f(stream_t *stream)
avio_close(avio);
}
-static const char prefix[] = "ffmpeg://";
+static const char * const prefix[] = { "lavf://", "ffmpeg://" };
static int open_f(stream_t *stream, int mode, void *opts, int *file_format)
{
@@ -97,8 +97,6 @@ static int open_f(stream_t *stream, int mode, void *opts, int *file_format)
const char *filename;
AVIOContext *avio = NULL;
int res = STREAM_ERROR;
- int64_t size;
- int dummy;
if (mode == STREAM_READ)
flags = AVIO_FLAG_READ;
@@ -116,12 +114,22 @@ static int open_f(stream_t *stream, int mode, void *opts, int *file_format)
mp_msg(MSGT_OPEN, MSGL_ERR, "[ffmpeg] No URL\n");
goto out;
}
- if (!strncmp(filename, prefix, strlen(prefix)))
- filename += strlen(prefix);
- dummy = !strncmp(filename, "rtsp:", 5);
+ for (int i = 0; i < sizeof(prefix) / sizeof(prefix[0]); i++)
+ if (!strncmp(filename, prefix[i], strlen(prefix[i])))
+ filename += strlen(prefix[i]);
+ if (!strncmp(filename, "rtsp:", 5)) {
+ /* This is handled as a special demuxer, without a separate
+ * stream layer. demux_lavf will do all the real work.
+ */
+ stream->type = STREAMTYPE_STREAM;
+ stream->seek = NULL;
+ *file_format = DEMUXER_TYPE_LAVF;
+ stream->lavf_type = "rtsp";
+ return STREAM_OK;
+ }
mp_msg(MSGT_OPEN, MSGL_V, "[ffmpeg] Opening %s\n", filename);
- if (!dummy && avio_open(&avio, filename, flags) < 0)
+ if (avio_open(&avio, filename, flags) < 0)
goto out;
char *rtmp[] = {"rtmp:", "rtmpt:", "rtmpe:", "rtmpte:", "rtmps:"};
@@ -131,21 +139,19 @@ static int open_f(stream_t *stream, int mode, void *opts, int *file_format)
stream->lavf_type = "flv";
}
stream->priv = avio;
- size = dummy ? 0 : avio_size(avio);
+ int64_t size = avio_size(avio);
if (size >= 0)
stream->end_pos = size;
stream->type = STREAMTYPE_FILE;
stream->seek = seek;
- if (dummy || !avio->seekable) {
+ if (!avio->seekable) {
stream->type = STREAMTYPE_STREAM;
stream->seek = NULL;
}
- if (!dummy) {
- stream->fill_buffer = fill_buffer;
- stream->write_buffer = write_buffer;
- stream->control = control;
- stream->close = close_f;
- }
+ stream->fill_buffer = fill_buffer;
+ stream->write_buffer = write_buffer;
+ stream->control = control;
+ stream->close = close_f;
res = STREAM_OK;
out:
@@ -158,7 +164,7 @@ const stream_info_t stream_info_ffmpeg = {
"",
"",
open_f,
- { "ffmpeg", "rtmp", NULL },
+ { "lavf", "ffmpeg", "rtmp", "rtsp", NULL },
NULL,
1 // Urls are an option string
};
diff --git a/stream/stream_file.c b/stream/stream_file.c
index e9bb3eb..dfafb77 100644
--- a/stream/stream_file.c
+++ b/stream/stream_file.c
@@ -23,6 +23,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
+#include <errno.h>
#include "osdep/io.h"
@@ -169,10 +170,20 @@ static int open_f(stream_t *stream,int mode, void* opts, int* file_format) {
#endif
f=open(filename,m, openmode);
if(f<0) {
- mp_tmsg(MSGT_OPEN,MSGL_ERR,"File not found: '%s'\n",filename);
+ mp_tmsg(MSGT_OPEN, MSGL_ERR, "Cannot open file '%s': %s\n", filename,
+ strerror(errno));
m_struct_free(&stream_opts,opts);
return STREAM_ERROR;
}
+#ifndef __MINGW32__
+ struct stat st;
+ if (fstat(f, &st) == 0 && S_ISDIR(st.st_mode)) {
+ mp_tmsg(MSGT_OPEN,MSGL_ERR,"File is a directory: '%s'\n",filename);
+ close(f);
+ m_struct_free(&stream_opts,opts);
+ return STREAM_ERROR;
+ }
+#endif
}
len=lseek(f,0,SEEK_END); lseek(f,0,SEEK_SET);
diff --git a/stream/stream_ftp.c b/stream/stream_ftp.c
index 00027d5..53b9e94 100644
--- a/stream/stream_ftp.c
+++ b/stream/stream_ftp.c
@@ -417,7 +417,6 @@ static int open_f(stream_t *stream,int mode, void* opts, int* file_format) {
if (readresp(p, NULL) == 0) {
close_f(stream);
- m_struct_free(&stream_opts,opts);
return STREAM_ERROR;
}
diff --git a/stream/stream_live555.c b/stream/stream_live555.c
deleted file mode 100644
index 0226eab..0000000
--- a/stream/stream_live555.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "config.h"
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "stream.h"
-#include "network.h"
-#include "libmpdemux/demuxer.h"
-
-extern int network_bandwidth;
-
-static int _rtsp_streaming_seek(int fd, off_t pos, streaming_ctrl_t* streaming_ctrl) {
- return -1; // For now, we don't handle RTSP stream seeking
-}
-
-static int rtsp_streaming_start(stream_t* stream) {
- stream->streaming_ctrl->streaming_seek = _rtsp_streaming_seek;
- return 0;
-}
-
-
-static int open_live_rtsp_sip(stream_t *stream,int mode, void* opts, int* file_format) {
- URL_t *url;
-
- stream->streaming_ctrl = streaming_ctrl_new();
- if( stream->streaming_ctrl==NULL ) {
- return STREAM_ERROR;
- }
- stream->streaming_ctrl->bandwidth = network_bandwidth;
- url = url_new(stream->url);
- stream->streaming_ctrl->url = check4proxies(url);
- //url_free(url);
-
- mp_msg(MSGT_OPEN, MSGL_INFO, "STREAM_LIVE555, URL: %s\n", stream->url);
-
- if(rtsp_streaming_start(stream) < 0) {
- mp_msg(MSGT_NETWORK,MSGL_ERR,"rtsp_streaming_start failed\n");
- goto fail;
- }
-
- *file_format = DEMUXER_TYPE_RTP;
- stream->type = STREAMTYPE_STREAM;
- stream->flags = STREAM_NON_CACHEABLE;
- return STREAM_OK;
-
-fail:
- streaming_ctrl_free( stream->streaming_ctrl );
- stream->streaming_ctrl = NULL;
- return STREAM_ERROR;
-}
-
-static int open_live_sdp(stream_t *stream,int mode, void* opts, int* file_format) {
- int f;
- char *filename = stream->url;
- off_t len;
- char* sdpDescription;
- ssize_t numBytesRead;
-
- if(strncmp("sdp://",filename,6) == 0) {
- filename += 6;
- f = open(filename,O_RDONLY|O_BINARY);
- if(f < 0) {
- mp_tmsg(MSGT_OPEN,MSGL_ERR,"File not found: '%s'\n",filename);
- return STREAM_ERROR;
- }
-
- len=lseek(f,0,SEEK_END);
- lseek(f,0,SEEK_SET);
- if(len == -1)
- return STREAM_ERROR;
- if(len > SIZE_MAX - 1)
- return STREAM_ERROR;
-
- sdpDescription = malloc(len+1);
- if(sdpDescription == NULL) return STREAM_ERROR;
- numBytesRead = read(f, sdpDescription, len);
- if(numBytesRead != len) {
- free(sdpDescription);
- return STREAM_ERROR;
- }
- sdpDescription[len] = '\0'; // to be safe
- stream->priv = sdpDescription;
-
- stream->type = STREAMTYPE_SDP;
- *file_format = DEMUXER_TYPE_RTP;
- return STREAM_OK;
- }
- return STREAM_UNSUPPORTED;
-}
-
-
-const stream_info_t stream_info_rtsp_sip = {
- "standard RTSP and SIP",
- "RTSP and SIP",
- "Ross Finlayson",
- "Uses LIVE555 Streaming Media library.",
- open_live_rtsp_sip,
- {"rtsp", "sip", NULL },
- NULL,
- 0 // Urls are an option string
-};
-
-const stream_info_t stream_info_sdp = {
- "SDP stream descriptor",
- "SDP",
- "Ross Finlayson",
- "Uses LIVE555 Streaming Media library.",
- open_live_sdp,
- {"sdp", NULL },
- NULL,
- 0 // Urls are an option string
-};
diff --git a/stream/stream_nemesi.c b/stream/stream_nemesi.c
deleted file mode 100644
index 7cc4cca..0000000
--- a/stream/stream_nemesi.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * based on previous RTSP support from Benjamin Zores.
- *
- * Copyright (C) 2007 Alessandro Molina <amol.wrk at gmail.com>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#define HAVE_STRUCT_SOCKADDR_STORAGE
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include "config.h"
-#include "nemesi/rtsp.h"
-
-#include <errno.h>
-
-#include "stream.h"
-#include "libmpdemux/demuxer.h"
-
-#include "tcp.h"
-
-extern int network_bandwidth;
-char *rtsp_destination = NULL;
-
-static int rtsp_streaming_seek(int fd, off_t pos,
- streaming_ctrl_t* streaming_ctrl) {
- return -1;
-}
-
-static int rtsp_streaming_open (stream_t *stream, int mode, void *opts,
- int *file_format)
-{
- rtsp_ctrl * ctl;
- URL_t *url;
- stream->fd = -1;
-
- mp_msg (MSGT_OPEN, MSGL_V, "STREAM_RTSP, URL: %s\n", stream->url);
- stream->streaming_ctrl = streaming_ctrl_new ();
- if (!stream->streaming_ctrl)
- return STREAM_ERROR;
-
- stream->streaming_ctrl->bandwidth = network_bandwidth;
- url = url_new(stream->url);
- stream->streaming_ctrl->url = check4proxies(url);
- stream->streaming_ctrl->streaming_seek = rtsp_streaming_seek;
-
- *file_format = DEMUXER_TYPE_RTP_NEMESI;
- stream->type = STREAMTYPE_STREAM;
- return STREAM_OK;
-}
-
-const stream_info_t stream_info_rtsp = {
- "RTSP streaming",
- "rtsp",
- "Alessandro Molina",
- "implemented over libnemesi",
- rtsp_streaming_open,
- {"rtsp", NULL},
- NULL,
- 0 /* Urls are an option string */
-};
diff --git a/stream/stream_rtsp.c b/stream/stream_rtsp.c
deleted file mode 100644
index e02255e..0000000
--- a/stream/stream_rtsp.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * based on previous Real RTSP support from Roberto Togni and xine team.
- *
- * Copyright (C) 2006 Benjamin Zores
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <ctype.h>
-#include "config.h"
-#if !HAVE_WINSOCK2_H
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#else
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#endif
-#include <errno.h>
-
-#include "network.h"
-#include "stream.h"
-#include "tcp.h"
-#include "librtsp/rtsp.h"
-#include "librtsp/rtsp_session.h"
-
-#define RTSP_DEFAULT_PORT 554
-
-extern int network_bandwidth;
-
-static int
-rtsp_streaming_read (int fd, char *buffer,
- int size, streaming_ctrl_t *stream_ctrl)
-{
- return rtsp_session_read (stream_ctrl->data, buffer, size);
-}
-
-static int
-rtsp_streaming_start (stream_t *stream)
-{
- int fd;
- rtsp_session_t *rtsp;
- char *mrl;
- char *file;
- int port;
- int redirected, temp;
-
- if (!stream)
- return -1;
-
- /* counter so we don't get caught in infinite redirections */
- temp = 5;
-
- do {
- redirected = 0;
-
- fd = connect2Server (stream->streaming_ctrl->url->hostname,
- port = (stream->streaming_ctrl->url->port ?
- stream->streaming_ctrl->url->port :
- RTSP_DEFAULT_PORT), 1);
-
- if (fd < 0 && !stream->streaming_ctrl->url->port)
- fd = connect2Server (stream->streaming_ctrl->url->hostname,
- port = 7070, 1);
-
- if (fd < 0)
- return -1;
-
- file = stream->streaming_ctrl->url->file;
- if (file[0] == '/')
- file++;
-
- mrl = malloc (strlen (stream->streaming_ctrl->url->hostname)
- + strlen (file) + 16);
-
- sprintf (mrl, "rtsp://%s:%i/%s",
- stream->streaming_ctrl->url->hostname, port, file);
-
- rtsp = rtsp_session_start (fd, &mrl, file,
- stream->streaming_ctrl->url->hostname,
- port, &redirected,
- stream->streaming_ctrl->bandwidth,
- stream->streaming_ctrl->url->username,
- stream->streaming_ctrl->url->password);
-
- if (redirected == 1)
- {
- url_free (stream->streaming_ctrl->url);
- stream->streaming_ctrl->url = url_new (mrl);
- closesocket (fd);
- }
-
- free (mrl);
- temp--;
- } while ((redirected != 0) && (temp > 0));
-
- if (!rtsp)
- return -1;
-
- stream->fd = fd;
- stream->streaming_ctrl->data = rtsp;
-
- stream->streaming_ctrl->streaming_read = rtsp_streaming_read;
- stream->streaming_ctrl->streaming_seek = NULL;
- stream->streaming_ctrl->prebuffer_size = 128*1024; // 640 KBytes
- stream->streaming_ctrl->buffering = 1;
- stream->streaming_ctrl->status = streaming_playing_e;
-
- return 0;
-}
-
-static void
-rtsp_streaming_close (struct stream *s)
-{
- rtsp_session_t *rtsp = NULL;
-
- rtsp = (rtsp_session_t *) s->streaming_ctrl->data;
- if (rtsp)
- rtsp_session_end (rtsp);
-}
-
-static int
-rtsp_streaming_open (stream_t *stream, int mode, void *opts, int *file_format)
-{
- URL_t *url;
- extern int index_mode;
-
- mp_msg (MSGT_OPEN, MSGL_V, "STREAM_RTSP, URL: %s\n", stream->url);
- stream->streaming_ctrl = streaming_ctrl_new ();
- if (!stream->streaming_ctrl)
- return STREAM_ERROR;
-
- stream->streaming_ctrl->bandwidth = network_bandwidth;
- url = url_new (stream->url);
- stream->streaming_ctrl->url = check4proxies (url);
-
- stream->fd = -1;
- index_mode = -1; /* prevent most RTSP streams from locking due to -idx */
- if (rtsp_streaming_start (stream) < 0)
- {
- streaming_ctrl_free (stream->streaming_ctrl);
- stream->streaming_ctrl = NULL;
- return STREAM_UNSUPPORTED;
- }
-
- fixup_network_stream_cache (stream);
- stream->type = STREAMTYPE_STREAM;
- stream->close = rtsp_streaming_close;
-
- return STREAM_OK;
-}
-
-const stream_info_t stream_info_rtsp = {
- "RTSP streaming",
- "rtsp",
- "Benjamin Zores, Roberto Togni",
- "ported from xine",
- rtsp_streaming_open,
- {"rtsp", NULL},
- NULL,
- 0 /* Urls are an option string */
-};
diff --git a/stream/tv.c b/stream/tv.c
index 64d7b44..07fb027 100644
--- a/stream/tv.c
+++ b/stream/tv.c
@@ -233,7 +233,7 @@ static int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds)
len = tvh->functions->get_audio_framesize(tvh->priv);
dp=new_demux_packet(len);
- dp->flags|=1; /* Keyframe */
+ dp->keyframe = true;
dp->pts=tvh->functions->grab_audio_frame(tvh->priv, dp->buffer,len);
ds_add_packet(demux->audio,dp);
}
@@ -245,7 +245,7 @@ static int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds)
{
len = tvh->functions->get_video_framesize(tvh->priv);
dp=new_demux_packet(len);
- dp->flags|=1; /* Keyframe */
+ dp->keyframe = true;
dp->pts=tvh->functions->grab_video_frame(tvh->priv, dp->buffer, len);
ds_add_packet(demux->video,dp);
}
diff --git a/sub/ass_mp.c b/sub/ass_mp.c
index 0713248..d550056 100644
--- a/sub/ass_mp.c
+++ b/sub/ass_mp.c
@@ -34,22 +34,11 @@
#include "path.h"
#include "ass_mp.h"
#include "subreader.h"
+#include "sub/sub.h"
#include "stream/stream.h"
#include "options.h"
-#ifdef CONFIG_FONTCONFIG
-extern int font_fontconfig;
-#else
-static int font_fontconfig = -1;
-#endif
-extern char *font_name;
-extern char *sub_font_name;
-extern float text_font_scale_factor;
-extern int subtitle_autoscale;
-
-#ifdef CONFIG_ICONV
-extern char *sub_cp;
-#else
+#ifndef CONFIG_ICONV
static char *sub_cp = 0;
#endif
@@ -71,10 +60,8 @@ ASS_Track *mp_ass_default_track(ASS_Library *library, struct MPOpts *opts)
track->default_style = sid;
ASS_Style *style = track->styles + sid;
style->Name = strdup("Default");
- style->FontName = (font_fontconfig >= 0
- && sub_font_name) ? strdup(sub_font_name)
- : (font_fontconfig >= 0
- && font_name) ? strdup(font_name) : strdup("Sans");
+ style->FontName = sub_font_name ? strdup(sub_font_name)
+ : font_name ? strdup(font_name) : strdup("Sans");
style->treat_fontname_as_pattern = 1;
double fs = track->PlayResY * text_font_scale_factor / 100.;
@@ -242,12 +229,12 @@ ASS_Track *mp_ass_read_stream(ASS_Library *library, const char *fname,
return track;
}
-void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts, int w, int h,
- bool unscaled)
+void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts,
+ struct mp_eosd_res *dim, bool unscaled)
{
int hinting;
- ass_set_frame_size(priv, w, h);
- ass_set_margins(priv, opts->ass_top_margin, opts->ass_bottom_margin, 0, 0);
+ ass_set_frame_size(priv, dim->w, dim->h);
+ ass_set_margins(priv, dim->mt, dim->mb, dim->ml, dim->mr);
ass_set_use_margins(priv, opts->ass_use_margins);
ass_set_font_scale(priv, opts->ass_font_scale);
if (!unscaled && (opts->ass_hinting & 4))
@@ -262,25 +249,19 @@ void mp_ass_configure_fonts(ASS_Renderer *priv)
{
char *dir, *path, *family;
dir = get_path("fonts");
- if (font_fontconfig < 0 && sub_font_name)
- path = strdup(sub_font_name);
- else if (font_fontconfig < 0 && font_name)
- path = strdup(font_name);
- else {
- path = get_path("subfont.ttf");
- if (!mp_path_exists(path)) {
- free(path);
- path = NULL;
- }
+ path = get_path("subfont.ttf");
+ if (!mp_path_exists(path)) {
+ free(path);
+ path = NULL;
}
- if (font_fontconfig >= 0 && sub_font_name)
+ if (sub_font_name)
family = strdup(sub_font_name);
- else if (font_fontconfig >= 0 && font_name)
+ else if (font_name)
family = strdup(font_name);
else
family = 0;
- ass_set_fonts(priv, path, family, font_fontconfig + 1, NULL, 1);
+ ass_set_fonts(priv, path, family, 1, NULL, 1);
free(dir);
free(path);
@@ -306,14 +287,3 @@ ASS_Library *mp_ass_init(struct MPOpts *opts)
free(path);
return priv;
}
-
-void mp_ass_reload_options(ASS_Renderer *priv, struct MPOpts *opts)
-{
- /* This could be needed for vf_ass case if the margins were actually
- * runtime configurable, but would be wrong with EOSD:
- * ass_set_margins(priv, opts->ass_top_margin, opts->ass_bottom_margin,
- * 0, 0);
- */
- ass_set_use_margins(priv, opts->ass_use_margins);
- ass_set_font_scale(priv, opts->ass_font_scale);
-}
diff --git a/sub/ass_mp.h b/sub/ass_mp.h
index a222d61..3cfbe14 100644
--- a/sub/ass_mp.h
+++ b/sub/ass_mp.h
@@ -31,6 +31,9 @@
#include <ass/ass.h>
#include <ass/ass_types.h>
+struct MPOpts;
+struct mp_eosd_res;
+
ASS_Track *mp_ass_default_track(ASS_Library *library, struct MPOpts *opts);
ASS_Track *mp_ass_read_subdata(ASS_Library *library, struct MPOpts *opts,
sub_data *subdata, double fps);
@@ -38,13 +41,11 @@ ASS_Track *mp_ass_read_stream(ASS_Library *library, const char *fname,
char *charset);
struct MPOpts;
-void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts, int w, int h,
- bool unscaled);
+void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts,
+ struct mp_eosd_res *dim, bool unscaled);
void mp_ass_configure_fonts(ASS_Renderer *priv);
ASS_Library *mp_ass_init(struct MPOpts *opts);
-void mp_ass_reload_options(ASS_Renderer *priv, struct MPOpts *opts);
-
#else /* CONFIG_ASS */
/* Needed for EOSD code using this type to compile */
@@ -60,10 +61,4 @@ typedef struct ass_image {
#endif
-typedef struct {
- ASS_Image *imgs;
- int changed;
-} mp_eosd_images_t;
-
-
#endif /* MPLAYER_ASS_MP_H */
diff --git a/sub/av_sub.c b/sub/av_sub.c
deleted file mode 100644
index 3a9e1b4..0000000
--- a/sub/av_sub.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <libavcodec/avcodec.h>
-
-#include "mp_msg.h"
-#include "libmpdemux/stheader.h"
-#include "sub.h"
-#include "spudec.h"
-#include "av_sub.h"
-
-void reset_avsub(struct sh_sub *sh)
-{
- if (sh->context) {
- avcodec_close(sh->context);
- av_freep(&sh->context);
- }
-}
-
-/**
- * Decode a subtitle packet via libavcodec.
- * \return < 0 on error, > 0 if further processing is needed
- */
-int decode_avsub(struct sh_sub *sh, uint8_t *data, int size,
- double pts, double duration)
-{
- AVCodecContext *ctx = sh->context;
- enum CodecID cid = CODEC_ID_NONE;
- int res;
- int got_sub;
- AVSubtitle sub;
- AVPacket pkt;
-
- switch (sh->type) {
- case 'b':
- cid = CODEC_ID_DVB_SUBTITLE; break;
- case 'p':
- cid = CODEC_ID_HDMV_PGS_SUBTITLE; break;
- case 'x':
- cid = CODEC_ID_XSUB; break;
- }
-
- av_init_packet(&pkt);
- pkt.data = data;
- pkt.size = size;
- pkt.pts = pts * 1000;
- if (duration >= 0)
- pkt.convergence_duration = duration * 1000;
- if (!ctx) {
- AVCodec *sub_codec;
- sub_codec = avcodec_find_decoder(cid);
- if (!sub_codec)
- goto error;
- ctx = avcodec_alloc_context3(sub_codec);
- if (!ctx)
- goto error;
- if (avcodec_open2(ctx, sub_codec, NULL) < 0) {
- error:
- mp_msg(MSGT_SUBREADER, MSGL_FATAL,
- "Could not open subtitle decoder\n");
- av_freep(&ctx);
- return -1;
- }
- sh->context = ctx;
- }
- res = avcodec_decode_subtitle2(ctx, &sub, &got_sub, &pkt);
- if (res < 0)
- return res;
- if (pts != MP_NOPTS_VALUE) {
- if (sub.end_display_time > sub.start_display_time)
- duration = (sub.end_display_time - sub.start_display_time) / 1000.0;
- pts += sub.start_display_time / 1000.0;
- }
- double endpts = MP_NOPTS_VALUE;
- if (pts != MP_NOPTS_VALUE && duration >= 0)
- endpts = pts + duration;
- if (got_sub && vo_spudec && sub.num_rects == 0)
- spudec_set_paletted(vo_spudec, NULL, 0, NULL, 0, 0, 0, 0, pts, endpts);
- if (got_sub && sub.num_rects > 0) {
- switch (sub.rects[0]->type) {
- case SUBTITLE_BITMAP:
- if (!vo_spudec)
- vo_spudec = spudec_new_scaled(NULL, ctx->width, ctx->height, NULL, 0);
- spudec_set_paletted(vo_spudec,
- sub.rects[0]->pict.data[0],
- sub.rects[0]->pict.linesize[0],
- sub.rects[0]->pict.data[1],
- sub.rects[0]->x,
- sub.rects[0]->y,
- sub.rects[0]->w,
- sub.rects[0]->h,
- pts,
- endpts);
- vo_osd_changed(OSDTYPE_SPU);
- break;
- default:
- mp_msg(MSGT_SUBREADER, MSGL_ERR, "sd_avsub: unsupported subtitle "
- "type from libavcodec\n");
- res = -1;
- break;
- }
- }
- if (got_sub)
- avsubtitle_free(&sub);
- return res;
-}
diff --git a/sub/av_sub.h b/sub/av_sub.h
deleted file mode 100644
index af3edc4..0000000
--- a/sub/av_sub.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_AV_SUB_H
-#define MPLAYER_AV_SUB_H
-
-#include <stdint.h>
-
-struct sh_sub;
-
-void reset_avsub(struct sh_sub *sh);
-int decode_avsub(struct sh_sub *sh, uint8_t *data, int size,
- double pts, double endpts);
-
-#endif /* MPLAYER_AV_SUB_H */
diff --git a/sub/dec_sub.c b/sub/dec_sub.c
index 6a6d1d7..5fb6c65 100644
--- a/sub/dec_sub.c
+++ b/sub/dec_sub.c
@@ -27,17 +27,24 @@
#include "options.h"
extern const struct sd_functions sd_ass;
+extern const struct sd_functions sd_lavc;
void sub_init(struct sh_sub *sh, struct osd_state *osd)
{
struct MPOpts *opts = sh->opts;
+ assert(!osd->sh_sub);
#ifdef CONFIG_ASS
if (opts->ass_enabled && is_text_sub(sh->type))
sh->sd_driver = &sd_ass;
#endif
+ if (strchr("bpx", sh->type))
+ sh->sd_driver = &sd_lavc;
if (sh->sd_driver) {
- sh->sd_driver->init(sh, osd);
+ if (sh->sd_driver->init(sh, osd) < 0)
+ return;
+ osd->sh_sub = sh;
+ osd->bitmap_id = ++osd->bitmap_pos_id;
sh->initialized = true;
sh->active = true;
}
@@ -50,6 +57,30 @@ void sub_decode(struct sh_sub *sh, struct osd_state *osd, void *data,
sh->sd_driver->decode(sh, osd, data, data_len, pts, duration);
}
+void sub_get_bitmaps(struct osd_state *osd, struct sub_bitmaps *res)
+{
+ struct MPOpts *opts = osd->opts;
+
+ *res = (struct sub_bitmaps){ .type = SUBBITMAP_EMPTY,
+ .bitmap_id = osd->bitmap_id,
+ .bitmap_pos_id = osd->bitmap_pos_id };
+ if (!opts->sub_visibility || !osd->sh_sub || !osd->sh_sub->active) {
+ /* Change ID in case we just switched from visible subtitles
+ * to current state. Hopefully, unnecessarily claiming that
+ * things may have changed is harmless for empty contents.
+ * Increase osd-> values ahead so that _next_ returned id
+ * is also guaranteed to differ from this one.
+ */
+ res->bitmap_id = ++res->bitmap_pos_id;
+ osd->bitmap_id = osd->bitmap_pos_id += 2;
+ return;
+ }
+ if (osd->sh_sub->sd_driver->get_bitmaps)
+ osd->sh_sub->sd_driver->get_bitmaps(osd->sh_sub, osd, res);
+ osd->bitmap_id = res->bitmap_id;
+ osd->bitmap_pos_id = res->bitmap_pos_id;
+}
+
void sub_reset(struct sh_sub *sh, struct osd_state *osd)
{
if (sh->active && sh->sd_driver->reset)
@@ -58,9 +89,12 @@ void sub_reset(struct sh_sub *sh, struct osd_state *osd)
void sub_switchoff(struct sh_sub *sh, struct osd_state *osd)
{
- if (sh->active && sh->sd_driver->switch_off)
+ if (sh->active && sh->sd_driver->switch_off) {
+ assert(osd->sh_sub == sh);
sh->sd_driver->switch_off(sh, osd);
+ }
sh->active = false;
+ osd->sh_sub = NULL;
}
void sub_uninit(struct sh_sub *sh)
diff --git a/sub/dec_sub.h b/sub/dec_sub.h
index d6fbef2..ac74f7a 100644
--- a/sub/dec_sub.h
+++ b/sub/dec_sub.h
@@ -1,5 +1,61 @@
+#ifndef MPLAYER_DEC_SUB_H
+#define MPLAYER_DEC_SUB_H
+
struct sh_sub;
struct osd_state;
+struct ass_track;
+
+enum sub_bitmap_type {
+ SUBBITMAP_EMPTY,
+ SUBBITMAP_LIBASS,
+ SUBBITMAP_RGBA,
+};
+
+typedef struct mp_eosd_res {
+ int w, h; // screen dimensions, including black borders
+ int mt, mb, ml, mr; // borders (top, bottom, left, right)
+} mp_eosd_res_t;
+
+struct osd_state {
+ struct ass_library *ass_library;
+ struct ass_renderer *ass_renderer;
+ struct sh_sub *sh_sub;
+ unsigned int bitmap_id;
+ unsigned int bitmap_pos_id;
+ double sub_pts;
+ double sub_offset;
+ struct mp_eosd_res dim;
+ double normal_scale;
+ double vsfilter_scale;
+ bool unscaled;
+ bool support_rgba;
+
+ struct ass_renderer *osd_render;
+ struct ass_library *osd_ass_library;
+ char *osd_text;
+ int w, h;
+
+ struct MPOpts *opts;
+};
+
+typedef struct sub_bitmaps {
+ enum sub_bitmap_type type;
+
+ struct ass_image *imgs;
+
+ struct sub_bitmap {
+ int w, h;
+ int x, y;
+ // Note: not clipped, going outside the screen area is allowed
+ int dw, dh;
+ void *bitmap;
+ } *parts;
+ int part_count;
+
+ bool scaled;
+ unsigned int bitmap_id;
+ unsigned int bitmap_pos_id;
+} mp_eosd_images_t;
static inline bool is_text_sub(int type)
{
@@ -8,7 +64,14 @@ static inline bool is_text_sub(int type)
void sub_decode(struct sh_sub *sh, struct osd_state *osd, void *data,
int data_len, double pts, double duration);
+void sub_get_bitmaps(struct osd_state *osd, struct sub_bitmaps *res);
void sub_init(struct sh_sub *sh, struct osd_state *osd);
void sub_reset(struct sh_sub *sh, struct osd_state *osd);
void sub_switchoff(struct sh_sub *sh, struct osd_state *osd);
void sub_uninit(struct sh_sub *sh);
+
+struct sh_sub *sd_ass_create_from_track(struct ass_track *track,
+ bool vsfilter_aspect,
+ struct MPOpts *opts);
+
+#endif
diff --git a/sub/font_load.c b/sub/font_load.c
deleted file mode 100644
index d8f9eaf..0000000
--- a/sub/font_load.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "osdep/io.h"
-
-#include "font_load.h"
-#include "mp_msg.h"
-#include "libavutil/attributes.h"
-
-raw_file* load_raw(char *name,int verbose){
- int bpp;
- raw_file* raw=malloc(sizeof(raw_file));
- unsigned char head[32];
- FILE *f=fopen(name,"rb");
- if(!f) goto err_out; // can't open
- if(fread(head,32,1,f)<1) goto err_out; // too small
- if(memcmp(head,"mhwanh",6)) goto err_out; // not raw file
- raw->w=head[8]*256+head[9];
- raw->h=head[10]*256+head[11];
- raw->c=head[12]*256+head[13];
- if(raw->w == 0) // 2 bytes were not enough for the width... read 4 bytes from the end of the header
- raw->w = ((head[28]*0x100 + head[29])*0x100 + head[30])*0x100 + head[31];
- if(raw->c>256) goto err_out; // too many colors!?
- mp_msg(MSGT_OSD, MSGL_DBG2, "RAW: %s %d x %d, %d colors\n",name,raw->w,raw->h,raw->c);
- if(raw->c){
- raw->pal=malloc(raw->c*3);
- fread(raw->pal,3,raw->c,f);
- bpp=1;
- } else {
- raw->pal=NULL;
- bpp=3;
- }
- raw->bmp=malloc(raw->h*raw->w*bpp);
- fread(raw->bmp,raw->h*raw->w*bpp,1,f);
- fclose(f);
- return raw;
-
-err_out:
- if (f)
- fclose(f);
- free(raw);
- return NULL;
-}
-
-extern int sub_unicode;
-
-font_desc_t* read_font_desc(const char* fname,float factor,int verbose){
-unsigned char sor[1024];
-unsigned char sor2[1024];
-font_desc_t *desc;
-FILE *f = NULL;
-char *dn;
-char section[64];
-int i,j;
-int chardb=0;
-int fontdb=-1;
-int version av_unused;
-int first=1;
-
-desc=malloc(sizeof(font_desc_t));if(!desc) goto fail_out;
-memset(desc,0,sizeof(font_desc_t));
-
-f=fopen(fname,"rt");if(!f){ mp_msg(MSGT_OSD, MSGL_V, "font: can't open file: %s\n",fname); goto fail_out;}
-
-i = strlen (fname) - 9;
-if ((dn = malloc(i+1))){
- strncpy (dn, fname, i);
- dn[i]='\0';
-}
-
-desc->fpath = dn; // search in the same dir as fonts.desc
-
-
-
-// set up some defaults, and erase table
-desc->charspace=2;
-desc->spacewidth=12;
-desc->height=0;
-for(i=0;i<65536;i++) desc->start[i]=desc->width[i]=desc->font[i]=-1;
-
-section[0]=0;
-
-while(fgets(sor,1020,f)){
- unsigned char* p[8];
- int pdb=0;
- unsigned char *s=sor;
- unsigned char *d=sor2;
- int ec=' ';
- int id=0;
- sor[1020]=0;
-
- /* skip files that look like: TTF (0x00, 0x01), PFM (0x00, 0x01), PFB
- * (0x80, 0x01), PCF (0x01, 0x66), fon ("MZ"), gzipped (0x1f, 0x8b) */
-
- if (first) {
- if (!sor[0] || sor[1] == 1 || (sor[0] == 'M' && sor[1] == 'Z') || (sor[0] == 0x1f && sor[1] == 0x8b) || (sor[0] == 1 && sor[1] == 0x66)) {
- mp_msg(MSGT_OSD, MSGL_ERR, "%s doesn't look like a bitmap font description, ignoring.\n", fname);
- goto fail_out;
- }
- first = 0;
- }
-
- p[0]=d;++pdb;
- while(1){
- int c=*s++;
- if(c==0 || c==13 || c==10) break;
- if(!id){
- if(c==39 || c==34){ id=c;continue;} // idezojel
- if(c==';' || c=='#') break;
- if(c==9) c=' ';
- if(c==' '){
- if(ec==' ') continue;
- *d=0; ++d;
- p[pdb]=d;++pdb;
- if(pdb>=8) break;
- continue;
- }
- } else {
- if(id==c){ id=0;continue;} // idezojel
-
- }
- *d=c;d++;
- ec=c;
- }
- if(d==sor2) continue; // skip empty lines
- *d=0;
-
-// printf("params=%d sor=%s\n",pdb,sor);
-// for(i=0;i<pdb;i++) printf(" param %d = '%s'\n",i,p[i]);
-
- if(pdb==1 && p[0][0]=='['){
- int len=strlen(p[0]);
- if(len && len<63 && p[0][len-1]==']'){
- strcpy(section,p[0]);
- mp_msg(MSGT_OSD, MSGL_DBG2, "font: Reading section: %s\n",section);
- if(strcmp(section,"[files]")==0){
- ++fontdb;
- if(fontdb>=16){ mp_msg(MSGT_OSD, MSGL_ERR, "font: Too many bitmaps defined.\n");goto fail_out;}
- }
- continue;
- }
- }
-
- if(strcmp(section,"[fpath]")==0){
- if(pdb==1){
- free (desc->fpath); // release previously allocated memory
- desc->fpath=strdup(p[0]);
- continue;
- }
- } else
-
-#ifdef __AMIGAOS4__
-#define FONT_PATH_SEP ""
-#else
-//! path seperator for font paths, may not be more than one character
-#define FONT_PATH_SEP "/"
-#endif
-
- if(strcmp(section,"[files]")==0){
- char *default_dir=MPLAYER_DATADIR FONT_PATH_SEP "font";
- if(pdb==2 && strcmp(p[0],"alpha")==0){
- char *cp;
- if (!(cp=malloc(strlen(desc->fpath)+strlen(p[1])+2))) goto fail_out;
-
- snprintf(cp,strlen(desc->fpath)+strlen(p[1])+2,"%s" FONT_PATH_SEP "%s",
- desc->fpath,p[1]);
- if(!((desc->pic_a[fontdb]=load_raw(cp,verbose)))){
- free(cp);
- if (!(cp=malloc(strlen(default_dir)+strlen(p[1])+2)))
- goto fail_out;
- snprintf(cp,strlen(default_dir)+strlen(p[1])+2,"%s" FONT_PATH_SEP "%s",
- default_dir,p[1]);
- if (!((desc->pic_a[fontdb]=load_raw(cp,verbose)))){
- mp_msg(MSGT_OSD, MSGL_ERR, "Can't load font bitmap: %s\n",p[1]);
- free(cp);
- goto fail_out;
- }
- }
- free(cp);
- continue;
- }
- if(pdb==2 && strcmp(p[0],"bitmap")==0){
- char *cp;
- if (!(cp=malloc(strlen(desc->fpath)+strlen(p[1])+2))) goto fail_out;
-
- snprintf(cp,strlen(desc->fpath)+strlen(p[1])+2,"%s" FONT_PATH_SEP "%s",
- desc->fpath,p[1]);
- if(!((desc->pic_b[fontdb]=load_raw(cp,verbose)))){
- free(cp);
- if (!(cp=malloc(strlen(default_dir)+strlen(p[1])+2)))
- goto fail_out;
- snprintf(cp,strlen(default_dir)+strlen(p[1])+2,"%s" FONT_PATH_SEP "%s",
- default_dir,p[1]);
- if (!((desc->pic_b[fontdb]=load_raw(cp,verbose)))){
- mp_msg(MSGT_OSD, MSGL_ERR, "Can't load font bitmap: %s\n",p[1]);
- free(cp);
- goto fail_out;
- }
- }
- free(cp);
- continue;
- }
- } else
-
- if(strcmp(section,"[info]")==0){
- if(pdb==2 && strcmp(p[0],"name")==0){
- desc->name=strdup(p[1]);
- continue;
- }
- if(pdb==2 && strcmp(p[0],"descversion")==0){
- version=atoi(p[1]);
- continue;
- }
- if(pdb==2 && strcmp(p[0],"spacewidth")==0){
- desc->spacewidth=atoi(p[1]);
- continue;
- }
- if(pdb==2 && strcmp(p[0],"charspace")==0){
- desc->charspace=atoi(p[1]);
- continue;
- }
- if(pdb==2 && strcmp(p[0],"height")==0){
- desc->height=atoi(p[1]);
- continue;
- }
- } else
-
- if(strcmp(section,"[characters]")==0){
- if(pdb==3){
- int chr=p[0][0];
- int start=atoi(p[1]);
- int end=atoi(p[2]);
- if(sub_unicode && (chr>=0x80)) chr=(chr<<8)+p[0][1];
- else if(strlen(p[0])!=1) chr=strtol(p[0],NULL,0);
- if(end<start) {
- mp_msg(MSGT_OSD, MSGL_WARN, "error in font desc: end<start for char '%c'\n",chr);
- } else {
- desc->start[chr]=start;
- desc->width[chr]=end-start+1;
- desc->font[chr]=fontdb;
-// printf("char %d '%c' start=%d width=%d\n",chr,chr,desc->start[chr],desc->width[chr]);
- ++chardb;
- }
- continue;
- }
- }
- mp_msg(MSGT_OSD, MSGL_ERR, "Syntax error in font desc: %s",sor);
- goto fail_out;
-
-}
-fclose(f);
-f = NULL;
-
- if (first == 1) {
- mp_msg(MSGT_OSD, MSGL_ERR, "%s is empty or a directory, ignoring.\n", fname);
- goto fail_out;
- }
-
-//printf("font: pos of U = %d\n",desc->start[218]);
-
-for(i=0;i<=fontdb;i++){
- if(!desc->pic_a[i] || !desc->pic_b[i]){
- mp_msg(MSGT_OSD, MSGL_ERR, "font: Missing bitmap(s) for sub-font #%d\n",i);
- goto fail_out;
- }
- //if(factor!=1.0f)
- {
- // re-sample alpha
- int f=factor*256.0f;
- int size=desc->pic_a[i]->w*desc->pic_a[i]->h;
- int j;
- mp_msg(MSGT_OSD, MSGL_DBG2, "font: resampling alpha by factor %5.3f (%d) ",factor,f);fflush(stdout);
- for(j=0;j<size;j++){
- int x=desc->pic_a[i]->bmp[j]; // alpha
- int y=desc->pic_b[i]->bmp[j]; // bitmap
-
-#ifdef FAST_OSD
- x=(x<(255-f))?0:1;
-#else
-
- x=255-((x*f)>>8); // scale
- //if(x<0) x=0; else if(x>255) x=255;
- //x^=255; // invert
-
- if(x+y>255) x=255-y; // to avoid overflows
-
- //x=0;
- //x=((x*f*(255-y))>>16);
- //x=((x*f*(255-y))>>16)+y;
- //x=(x*f)>>8;if(x<y) x=y;
-
- if(x<1) x=1; else
- if(x>=252) x=0;
-#endif
-
- desc->pic_a[i]->bmp[j]=x;
-// desc->pic_b[i]->bmp[j]=0; // hack
- }
- mp_msg(MSGT_OSD, MSGL_DBG2, "DONE!\n");
- }
- if(!desc->height) desc->height=desc->pic_a[i]->h;
-}
-
-j='_';if(desc->font[j]<0) j='?';
-for(i=0;i<65536;i++)
- if(desc->font[i]<0){
- desc->start[i]=desc->start[j];
- desc->width[i]=desc->width[j];
- desc->font[i]=desc->font[j];
- }
-desc->font[' ']=-1;
-desc->width[' ']=desc->spacewidth;
-
-mp_msg(MSGT_OSD, MSGL_V, "Bitmap font %s loaded successfully! (%d chars)\n",fname,chardb);
-
-return desc;
-
-fail_out:
- if (f)
- fclose(f);
- free(desc->fpath);
- free(desc->name);
- free(desc);
- return NULL;
-}
-
-#ifndef CONFIG_FREETYPE
-void render_one_glyph(font_desc_t *desc, int c) {}
-int kerning(font_desc_t *desc, int prevc, int c) { return 0; }
-#endif
diff --git a/sub/font_load.h b/sub/font_load.h
deleted file mode 100644
index 7efe067..0000000
--- a/sub/font_load.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_FONT_LOAD_H
-#define MPLAYER_FONT_LOAD_H
-
-#include "config.h"
-
-#ifdef CONFIG_FREETYPE
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#endif
-
-typedef struct {
- unsigned char *bmp;
- unsigned char *pal;
- int w,h,c;
-#ifdef CONFIG_FREETYPE
- int charwidth,charheight,pen,baseline,padding;
- int current_count, current_alloc;
-#endif
-} raw_file;
-
-typedef struct font_desc {
-#ifdef CONFIG_FREETYPE
- int dynamic;
-#endif
- char *name;
- char *fpath;
- int spacewidth;
- int charspace;
- int height;
-// char *fname_a;
-// char *fname_b;
- raw_file* pic_a[16];
- raw_file* pic_b[16];
- short font[65536];
- int start[65536]; // short is not enough for unicode fonts
- short width[65536];
- int freetype;
-
-#ifdef CONFIG_FREETYPE
- int face_cnt;
-
- FT_Face faces[16];
- FT_UInt glyph_index[65536];
-
- int max_width, max_height;
-
- struct
- {
- int g_r;
- int o_r;
- int g_w;
- int o_w;
- int o_size;
- unsigned volume;
-
- unsigned *g;
- unsigned *gt2;
- unsigned *om;
- unsigned char *omt;
- unsigned short *tmp;
- } tables;
-#endif
-
-} font_desc_t;
-
-extern font_desc_t* vo_font;
-
-extern char *subtitle_font_encoding;
-extern float text_font_scale_factor;
-extern float osd_font_scale_factor;
-extern float subtitle_font_radius;
-extern float subtitle_font_thickness;
-extern int subtitle_autoscale;
-
-extern int vo_image_width;
-extern int vo_image_height;
-
-extern int force_load_font;
-
-int init_freetype(void);
-int done_freetype(void);
-
-font_desc_t* read_font_desc_ft(const char* fname,int face_index,int movie_width, int movie_height, float font_scale_factor);
-void free_font_desc(font_desc_t *desc);
-
-void render_one_glyph(font_desc_t *desc, int c);
-int kerning(font_desc_t *desc, int prevc, int c);
-
-void load_font_ft(int width, int height, font_desc_t **desc, const char *name, float font_scale_factor);
-
-void blur(unsigned char *buffer, unsigned short *tmp2, int width, int height,
- int stride, int *m2, int r, int mwidth);
-
-raw_file* load_raw(char *name,int verbose);
-font_desc_t* read_font_desc(const char* fname,float factor,int verbose);
-
-#endif /* MPLAYER_FONT_LOAD_H */
diff --git a/sub/font_load_ft.c b/sub/font_load_ft.c
deleted file mode 100644
index eb6d70b..0000000
--- a/sub/font_load_ft.c
+++ /dev/null
@@ -1,1178 +0,0 @@
-/*
- * Renders antialiased fonts for mplayer using freetype library.
- * Should work with TrueType, Type1 and any other font supported by libfreetype.
- *
- * Artur Zaprzala <zybi at fanthom.irc.pl>
- *
- * ported inside MPlayer by Jindrich Makovicka <makovick at gmail.com>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-
-#ifdef CONFIG_ICONV
-#include <iconv.h>
-#endif
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_GLYPH_H
-
-#ifdef CONFIG_FONTCONFIG
-#include <fontconfig/fontconfig.h>
-#endif
-
-#include "libavutil/common.h"
-#include "mpbswap.h"
-#include "font_load.h"
-#include "mp_msg.h"
-#include "mplayer.h"
-#include "path.h"
-#include "osd_font.h"
-
-#if (FREETYPE_MAJOR > 2) || (FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 1)
-#define HAVE_FREETYPE21
-#endif
-
-char *subtitle_font_encoding = NULL;
-float text_font_scale_factor = 3.5;
-float osd_font_scale_factor = 4.0;
-float subtitle_font_radius = 2.0;
-float subtitle_font_thickness = 2.0;
-// 0 = no autoscale
-// 1 = video height
-// 2 = video width
-// 3 = diagonal
-int subtitle_autoscale = 3;
-
-int vo_image_width = 0;
-int vo_image_height = 0;
-int force_load_font;
-
-int using_freetype = 0;
-#ifdef CONFIG_FONTCONFIG
-int font_fontconfig = 1;
-#else
-int font_fontconfig = -1;
-#endif
-
-//// constants
-static unsigned int const colors = 256;
-static unsigned int const maxcolor = 255;
-static unsigned const base = 256;
-static unsigned const first_char = 33;
-#define MAX_CHARSET_SIZE 60000
-
-static FT_Library library;
-
-#define OSD_CHARSET_SIZE 15
-
-static const FT_ULong osd_charset[OSD_CHARSET_SIZE] =
-{
- 0xe001, 0xe002, 0xe003, 0xe004, 0xe005, 0xe006, 0xe007, 0xe008,
- 0xe009, 0xe00a, 0xe00b, 0xe010, 0xe011, 0xe012, 0xe013
-};
-
-static const FT_ULong osd_charcodes[OSD_CHARSET_SIZE] =
-{
- 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
- 0x09,0x0a,0x0b,0x10,0x11,0x12,0x13
-};
-
-#define f266ToInt(x) (((x)+32)>>6) // round fractional fixed point number to integer
- // coordinates are in 26.6 pixels (i.e. 1/64th of pixels)
-#define f266CeilToInt(x) (((x)+63)>>6) // ceiling
-#define f266FloorToInt(x) ((x)>>6) // floor
-#define f1616ToInt(x) (((x)+0x8000)>>16) // 16.16
-#define floatTof266(x) ((int)((x)*(1<<6)+0.5))
-
-#define ALIGN(x) (((x)+7)&~7) // 8 byte align
-
-#define WARNING(msg, args...) mp_msg(MSGT_OSD, MSGL_WARN, msg "\n", ## args)
-
-#define DEBUG 0
-
-//static double ttime;
-
-
-static void paste_bitmap(unsigned char *bbuffer, FT_Bitmap *bitmap, int x, int y, int width, int height, int bwidth) {
- int drow = x+y*width;
- int srow = 0;
- int sp, dp, w, h;
- if (bitmap->pixel_mode==ft_pixel_mode_mono)
- for (h = bitmap->rows; h>0 && height > 0; --h, height--, drow+=width, srow+=bitmap->pitch)
- for (w = bwidth, sp=dp=0; w>0; --w, ++dp, ++sp)
- bbuffer[drow+dp] = (bitmap->buffer[srow+sp/8] & (0x80>>(sp%8))) ? 255:0;
- else
- for (h = bitmap->rows; h>0 && height > 0; --h, height--, drow+=width, srow+=bitmap->pitch)
- for (w = bwidth, sp=dp=0; w>0; --w, ++dp, ++sp)
- bbuffer[drow+dp] = bitmap->buffer[srow+sp];
-}
-
-
-static int check_font(font_desc_t *desc, float ppem, int padding, int pic_idx,
- int charset_size, const FT_ULong *charset,
- const FT_ULong *charcodes, int unicode)
-{
- FT_Error error;
- FT_Face face = desc->faces[pic_idx];
- int const load_flags = FT_LOAD_DEFAULT;
- int ymin = INT_MAX, ymax = INT_MIN;
- int space_advance = 20;
- int width, height;
- unsigned char *bbuffer;
- int i, uni_charmap = 1;
-
- error = FT_Select_Charmap(face, ft_encoding_unicode);
-// fprintf(stderr, "select unicode charmap: %d\n", error);
-
- if (face->charmap==NULL || face->charmap->encoding!=ft_encoding_unicode) {
- WARNING("Unicode charmap not available for this font. Very bad!");
- uni_charmap = 0;
- error = FT_Set_Charmap(face, face->charmaps[0]);
- if (error) WARNING("No charmaps! Strange.");
- }
-
- /* set size */
- if (FT_IS_SCALABLE(face)) {
- error = FT_Set_Char_Size(face, 0, floatTof266(ppem), 0, 0);
- if (error) WARNING("FT_Set_Char_Size failed.");
- } else {
- int j = 0;
- int jppem = face->available_sizes[0].height;
- /* find closest size */
- for (i = 0; i<face->num_fixed_sizes; ++i) {
- if (fabs(face->available_sizes[i].height - ppem) < abs(face->available_sizes[i].height - jppem)) {
- j = i;
- jppem = face->available_sizes[i].height;
- }
- }
- WARNING("Selected font is not scalable. Using ppem=%i.", face->available_sizes[j].height);
- error = FT_Set_Pixel_Sizes(face, face->available_sizes[j].width, face->available_sizes[j].height);
- if (error) WARNING("FT_Set_Pixel_Sizes failed.");
- }
-
- if (FT_IS_FIXED_WIDTH(face))
- WARNING("Selected font is fixed-width.");
-
- /* compute space advance */
- error = FT_Load_Char(face, ' ', load_flags);
- if (error) WARNING("spacewidth set to default.");
- else space_advance = f266ToInt(face->glyph->advance.x);
-
- if (!desc->spacewidth) desc->spacewidth = 2*padding + space_advance;
- if (!desc->charspace) desc->charspace = -2*padding;
- if (!desc->height) desc->height = f266ToInt(face->size->metrics.height);
-
-
- for (i= 0; i<charset_size; ++i) {
- FT_ULong character, code;
- FT_UInt glyph_index;
-
- character = charset[i];
- code = charcodes[i];
- desc->font[unicode?character:code] = pic_idx;
- // get glyph index
- if (character==0)
- glyph_index = 0;
- else {
- glyph_index = FT_Get_Char_Index(face, uni_charmap ? character:code);
- if (glyph_index==0) {
- WARNING("Glyph for char 0x%02lx|U+%04lX|%c not found.", code, character,
- code<' '||code>255 ? '.':(char)code);
- desc->font[unicode?character:code] = -1;
- continue;
- }
- }
- desc->glyph_index[unicode?character:code] = glyph_index;
- }
-// fprintf(stderr, "font height: %f\n", (double)(face->bbox.yMax-face->bbox.yMin)/(double)face->units_per_EM*ppem);
-// fprintf(stderr, "font width: %f\n", (double)(face->bbox.xMax-face->bbox.xMin)/(double)face->units_per_EM*ppem);
-
- ymax = (double)(face->bbox.yMax)/(double)face->units_per_EM*ppem+1;
- ymin = (double)(face->bbox.yMin)/(double)face->units_per_EM*ppem-1;
-
- width = ppem*(face->bbox.xMax-face->bbox.xMin)/face->units_per_EM+3+2*padding;
- if (desc->max_width < width) desc->max_width = width;
- width = ALIGN(width);
- desc->pic_b[pic_idx]->charwidth = width;
-
- if (width <= 0) {
- mp_msg(MSGT_OSD, MSGL_ERR, "Wrong bounding box, width <= 0 !\n");
- return -1;
- }
-
- if (ymax<=ymin) {
- mp_msg(MSGT_OSD, MSGL_ERR, "Something went wrong. Use the source!\n");
- return -1;
- }
-
- height = ymax - ymin + 2*padding;
- if (height <= 0) {
- mp_msg(MSGT_OSD, MSGL_ERR, "Wrong bounding box, height <= 0 !\n");
- return -1;
- }
-
- if (desc->max_height < height) desc->max_height = height;
- desc->pic_b[pic_idx]->charheight = height;
-
-// fprintf(stderr, "font height2: %d\n", height);
- desc->pic_b[pic_idx]->baseline = ymax + padding;
- desc->pic_b[pic_idx]->padding = padding;
- desc->pic_b[pic_idx]->current_alloc = 0;
- desc->pic_b[pic_idx]->current_count = 0;
-
- bbuffer = NULL;
-
- desc->pic_b[pic_idx]->w = width;
- desc->pic_b[pic_idx]->h = height;
- desc->pic_b[pic_idx]->c = colors;
- desc->pic_b[pic_idx]->bmp = bbuffer;
- desc->pic_b[pic_idx]->pen = 0;
- return 0;
-}
-
-// general outline
-static void outline(
- unsigned char *s,
- unsigned char *t,
- int width,
- int height,
- int stride,
- unsigned char *m,
- int r,
- int mwidth,
- int msize) {
-
- int x, y;
-
- for (y = 0; y<height; y++) {
- for (x = 0; x<width; x++) {
- const int src= s[x];
- if(src==0) continue;
- {
- const int x1=(x<r) ? r-x : 0;
- const int y1=(y<r) ? r-y : 0;
- const int x2=(x+r>=width ) ? r+width -x : 2*r+1;
- const int y2=(y+r>=height) ? r+height-y : 2*r+1;
- register unsigned char *dstp= t + (y1+y-r)* stride + x-r;
- //register int *mp = m + y1 *mwidth;
- register unsigned char *mp= m + msize*src + y1*mwidth;
- int my;
-
- for(my= y1; my<y2; my++){
- register int mx;
- for(mx= x1; mx<x2; mx++){
- if(dstp[mx] < mp[mx]) dstp[mx]= mp[mx];
- }
- dstp+=stride;
- mp+=mwidth;
- }
- }
- }
- s+= stride;
- }
-}
-
-
-// 1 pixel outline
-static void outline1(
- unsigned char *s,
- unsigned char *t,
- int width,
- int height,
- int stride) {
-
- int x, y;
- int skip = stride-width;
-
- for (x = 0; x<width; ++x, ++s, ++t) *t = *s;
- s += skip;
- t += skip;
- for (y = 1; y<height-1; ++y) {
- *t++ = *s++;
- for (x = 1; x<width-1; ++x, ++s, ++t) {
- unsigned v = (
- s[-1-stride]+
- s[-1+stride]+
- s[+1-stride]+
- s[+1+stride]
- )/2 + (
- s[-1]+
- s[+1]+
- s[-stride]+
- s[+stride]+
- s[0]
- );
- *t = v>maxcolor ? maxcolor : v;
- }
- *t++ = *s++;
- s += skip;
- t += skip;
- }
- for (x = 0; x<width; ++x, ++s, ++t) *t = *s;
-}
-
-// "0 pixel outline"
-static void outline0(
- unsigned char *s,
- unsigned char *t,
- int width,
- int height,
- int stride) {
- int y;
- for (y = 0; y<height; ++y) {
- memcpy(t, s, width);
- s += stride;
- t += stride;
- }
-}
-
-// gaussian blur
-void blur(
- unsigned char *buffer,
- unsigned short *tmp2,
- int width,
- int height,
- int stride,
- int *m2,
- int r,
- int mwidth) {
-
- int x, y;
-
- unsigned char *s = buffer;
- unsigned short *t = tmp2+1;
- for(y=0; y<height; y++){
- memset(t-1, 0, (width+1)*sizeof(short));
-
- for(x=0; x<r; x++){
- const int src= s[x];
- if(src){
- register unsigned short *dstp= t + x-r;
- int mx;
- unsigned *m3= m2 + src*mwidth;
- for(mx=r-x; mx<mwidth; mx++){
- dstp[mx]+= m3[mx];
- }
- }
- }
-
- for(; x<width-r; x++){
- const int src= s[x];
- if(src){
- register unsigned short *dstp= t + x-r;
- int mx;
- unsigned *m3= m2 + src*mwidth;
- for(mx=0; mx<mwidth; mx++){
- dstp[mx]+= m3[mx];
- }
- }
- }
-
- for(; x<width; x++){
- const int src= s[x];
- if(src){
- register unsigned short *dstp= t + x-r;
- int mx;
- const int x2= r+width -x;
- unsigned *m3= m2 + src*mwidth;
- for(mx=0; mx<x2; mx++){
- dstp[mx]+= m3[mx];
- }
- }
- }
-
- s+= stride;
- t+= width + 1;
- }
-
- t = tmp2;
- for(x=0; x<width; x++){
- for(y=0; y<r; y++){
- unsigned short *srcp= t + y*(width+1) + 1;
- int src= *srcp;
- if(src){
- register unsigned short *dstp= srcp - 1 + width+1;
- const int src2= (src + 128)>>8;
- unsigned *m3= m2 + src2*mwidth;
-
- int mx;
- *srcp= 128;
- for(mx=r-1; mx<mwidth; mx++){
- *dstp += m3[mx];
- dstp+= width+1;
- }
- }
- }
- for(; y<height-r; y++){
- unsigned short *srcp= t + y*(width+1) + 1;
- int src= *srcp;
- if(src){
- register unsigned short *dstp= srcp - 1 - r*(width+1);
- const int src2= (src + 128)>>8;
- unsigned *m3= m2 + src2*mwidth;
-
- int mx;
- *srcp= 128;
- for(mx=0; mx<mwidth; mx++){
- *dstp += m3[mx];
- dstp+= width+1;
- }
- }
- }
- for(; y<height; y++){
- unsigned short *srcp= t + y*(width+1) + 1;
- int src= *srcp;
- if(src){
- const int y2=r+height-y;
- register unsigned short *dstp= srcp - 1 - r*(width+1);
- const int src2= (src + 128)>>8;
- unsigned *m3= m2 + src2*mwidth;
-
- int mx;
- *srcp= 128;
- for(mx=0; mx<y2; mx++){
- *dstp += m3[mx];
- dstp+= width+1;
- }
- }
- }
- t++;
- }
-
- t = tmp2;
- s = buffer;
- for(y=0; y<height; y++){
- for(x=0; x<width; x++){
- s[x]= t[x]>>8;
- }
- s+= stride;
- t+= width + 1;
- }
-}
-
-static void resample_alpha(unsigned char *abuf, unsigned char *bbuf, int width, int height, int stride, float factor)
-{
- int f=factor*256.0f;
- int i,j;
- for (i = 0; i < height; i++) {
- unsigned char *a = abuf+i*stride;
- unsigned char *b = bbuf+i*stride;
- for(j=0;j<width;j++,a++,b++){
- int x=*a; // alpha
- int y=*b; // bitmap
- x=255-((x*f)>>8); // scale
- if (x+y>255) x=255-y; // to avoid overflows
- if (x<1) x=1; else if (x>=252) x=0;
- *a=x;
- }
- }
-}
-
-#define ALLOC_INCR 32
-void render_one_glyph(font_desc_t *desc, int c)
-{
- FT_GlyphSlot slot;
- FT_UInt glyph_index;
- FT_BitmapGlyph glyph;
- int width, height, stride, maxw, off;
- unsigned char *abuffer, *bbuffer;
-
- int const load_flags = FT_LOAD_DEFAULT;
- int pen_xa;
- int font = desc->font[c];
- int error;
-
-// fprintf(stderr, "render_one_glyph %d\n", c);
-
- if (!desc->dynamic) return;
- if (desc->width[c] != -1) return;
- if (desc->font[c] == -1) return;
-
- glyph_index = desc->glyph_index[c];
-
- // load glyph
- error = FT_Load_Glyph(desc->faces[font], glyph_index, load_flags);
- if (error) {
- WARNING("FT_Load_Glyph 0x%02x (char 0x%04x) failed.", glyph_index, c);
- desc->font[c] = -1;
- return;
- }
- slot = desc->faces[font]->glyph;
-
- // render glyph
- if (slot->format != ft_glyph_format_bitmap) {
- error = FT_Render_Glyph(slot, ft_render_mode_normal);
- if (error) {
- WARNING("FT_Render_Glyph 0x%04x (char 0x%04x) failed.", glyph_index, c);
- desc->font[c] = -1;
- return;
- }
- }
-
- // extract glyph image
- error = FT_Get_Glyph(slot, (FT_Glyph*)&glyph);
- if (error) {
- WARNING("FT_Get_Glyph 0x%04x (char 0x%04x) failed.", glyph_index, c);
- desc->font[c] = -1;
- return;
- }
-
-// fprintf(stderr, "glyph generated\n");
-
- maxw = desc->pic_b[font]->charwidth;
-
- if (glyph->bitmap.width > maxw) {
- fprintf(stderr, "glyph too wide!\n");
- }
-
- // allocate new memory, if needed
-// fprintf(stderr, "\n%d %d %d\n", desc->pic_b[font]->charwidth, desc->pic_b[font]->charheight, desc->pic_b[font]->current_alloc);
- if (desc->pic_b[font]->current_count >= desc->pic_b[font]->current_alloc) {
- int newsize = desc->pic_b[font]->charwidth*desc->pic_b[font]->charheight*(desc->pic_b[font]->current_alloc+ALLOC_INCR);
- int increment = desc->pic_b[font]->charwidth*desc->pic_b[font]->charheight*ALLOC_INCR;
- desc->pic_b[font]->current_alloc += ALLOC_INCR;
-
-// fprintf(stderr, "\nns = %d inc = %d\n", newsize, increment);
-
- desc->pic_b[font]->bmp = realloc(desc->pic_b[font]->bmp, newsize);
- desc->pic_a[font]->bmp = realloc(desc->pic_a[font]->bmp, newsize);
-
- off = desc->pic_b[font]->current_count*desc->pic_b[font]->charwidth*desc->pic_b[font]->charheight;
- memset(desc->pic_b[font]->bmp+off, 0, increment);
- memset(desc->pic_a[font]->bmp+off, 0, increment);
- }
-
- abuffer = desc->pic_a[font]->bmp;
- bbuffer = desc->pic_b[font]->bmp;
-
- off = desc->pic_b[font]->current_count*desc->pic_b[font]->charwidth*desc->pic_b[font]->charheight;
-
- paste_bitmap(bbuffer+off,
- &glyph->bitmap,
- desc->pic_b[font]->padding + glyph->left,
- desc->pic_b[font]->baseline - glyph->top,
- desc->pic_b[font]->charwidth, desc->pic_b[font]->charheight,
- glyph->bitmap.width <= maxw ? glyph->bitmap.width : maxw);
-
-// fprintf(stderr, "glyph pasted\n");
- FT_Done_Glyph((FT_Glyph)glyph);
-
- /* advance pen */
- pen_xa = f266ToInt(slot->advance.x) + 2*desc->pic_b[font]->padding;
- if (pen_xa > maxw) pen_xa = maxw;
-
- desc->start[c] = off;
- width = desc->width[c] = pen_xa;
- height = desc->pic_b[font]->charheight;
- stride = desc->pic_b[font]->w;
-
- if (desc->tables.o_r == 0) {
- outline0(bbuffer+off, abuffer+off, width, height, stride);
- } else if (desc->tables.o_r == 1) {
- outline1(bbuffer+off, abuffer+off, width, height, stride);
- } else {
- outline(bbuffer+off, abuffer+off, width, height, stride,
- desc->tables.omt, desc->tables.o_r, desc->tables.o_w,
- desc->tables.o_size);
- }
-// fprintf(stderr, "fg: outline t = %f\n", GetTimer()-t);
-
- if (desc->tables.g_r) {
- blur(abuffer+off, desc->tables.tmp, width, height, stride,
- desc->tables.gt2, desc->tables.g_r,
- desc->tables.g_w);
-// fprintf(stderr, "fg: blur t = %f\n", GetTimer()-t);
- }
-
- resample_alpha(abuffer+off, bbuffer+off, width, height, stride, font_factor);
-
- desc->pic_b[font]->current_count++;
-}
-
-
-static int prepare_font(font_desc_t *desc, FT_Face face, float ppem,
- int pic_idx, int charset_size,
- const FT_ULong *charset, const FT_ULong *charcodes,
- int unicode, double thickness, double radius)
-{
- int i, err;
- int padding = ceil(radius) + ceil(thickness);
-
- desc->faces[pic_idx] = face;
-
- desc->pic_a[pic_idx] = malloc(sizeof(raw_file));
- if (!desc->pic_a[pic_idx]) return -1;
- desc->pic_b[pic_idx] = malloc(sizeof(raw_file));
- if (!desc->pic_b[pic_idx]) return -1;
-
- desc->pic_a[pic_idx]->bmp = NULL;
- desc->pic_a[pic_idx]->pal = NULL;
- desc->pic_b[pic_idx]->bmp = NULL;
- desc->pic_b[pic_idx]->pal = NULL;
-
- desc->pic_a[pic_idx]->pal = malloc(sizeof(unsigned char)*256*3);
- if (!desc->pic_a[pic_idx]->pal) return -1;
- for (i = 0; i<768; ++i) desc->pic_a[pic_idx]->pal[i] = i/3;
-
- desc->pic_b[pic_idx]->pal = malloc(sizeof(unsigned char)*256*3);
- if (!desc->pic_b[pic_idx]->pal) return -1;
- for (i = 0; i<768; ++i) desc->pic_b[pic_idx]->pal[i] = i/3;
-
-// ttime = GetTimer();
- err = check_font(desc, ppem, padding, pic_idx, charset_size, charset, charcodes, unicode);
-// ttime=GetTimer()-ttime;
-// printf("render: %7f us\n",ttime);
- if (err) return -1;
-// fprintf(stderr, "fg: render t = %f\n", GetTimer()-t);
-
- desc->pic_a[pic_idx]->w = desc->pic_b[pic_idx]->w;
- desc->pic_a[pic_idx]->h = desc->pic_b[pic_idx]->h;
- desc->pic_a[pic_idx]->c = colors;
-
- desc->pic_a[pic_idx]->bmp = NULL;
-
-// fprintf(stderr, "fg: w = %d, h = %d\n", desc->pic_a[pic_idx]->w, desc->pic_a[pic_idx]->h);
- return 0;
-
-}
-
-static int generate_tables(font_desc_t *desc, double thickness, double radius)
-{
- int width = desc->max_height;
- int height = desc->max_width;
-
- double A = log(1.0/base)/(radius*radius*2);
- int mx, my, i;
- double volume_diff, volume_factor = 0;
- unsigned char *omtp;
-
- desc->tables.g_r = ceil(radius);
- desc->tables.o_r = ceil(thickness);
- desc->tables.g_w = 2*desc->tables.g_r+1;
- desc->tables.o_w = 2*desc->tables.o_r+1;
- desc->tables.o_size = desc->tables.o_w * desc->tables.o_w;
-
-// fprintf(stderr, "o_r = %d\n", desc->tables.o_r);
-
- if (desc->tables.g_r) {
- desc->tables.g = malloc(desc->tables.g_w * sizeof(unsigned));
- desc->tables.gt2 = malloc(256 * desc->tables.g_w * sizeof(unsigned));
- if (desc->tables.g==NULL || desc->tables.gt2==NULL) {
- return -1;
- }
- }
- desc->tables.om = malloc(desc->tables.o_w*desc->tables.o_w * sizeof(unsigned));
- desc->tables.omt = malloc(desc->tables.o_size*256);
-
- omtp = desc->tables.omt;
- desc->tables.tmp = malloc((width+1)*height*sizeof(short));
-
- if (desc->tables.om==NULL || desc->tables.omt==NULL || desc->tables.tmp==NULL) {
- return -1;
- };
-
- if (desc->tables.g_r) {
- // gaussian curve with volume = 256
- for (volume_diff=10000000; volume_diff>0.0000001; volume_diff*=0.5){
- volume_factor+= volume_diff;
- desc->tables.volume=0;
- for (i = 0; i<desc->tables.g_w; ++i) {
- desc->tables.g[i] = (unsigned)(exp(A * (i-desc->tables.g_r)*(i-desc->tables.g_r)) * volume_factor + .5);
- desc->tables.volume+= desc->tables.g[i];
- }
- if(desc->tables.volume>256) volume_factor-= volume_diff;
- }
- desc->tables.volume=0;
- for (i = 0; i<desc->tables.g_w; ++i) {
- desc->tables.g[i] = (unsigned)(exp(A * (i-desc->tables.g_r)*(i-desc->tables.g_r)) * volume_factor + .5);
- desc->tables.volume+= desc->tables.g[i];
- }
-
- // gauss table:
- for(mx=0;mx<desc->tables.g_w;mx++){
- for(i=0;i<256;i++){
- desc->tables.gt2[mx+i*desc->tables.g_w] = i*desc->tables.g[mx];
- }
- }
- }
-
- /* outline matrix */
- for (my = 0; my<desc->tables.o_w; ++my) {
- for (mx = 0; mx<desc->tables.o_w; ++mx) {
- // antialiased circle would be perfect here, but this one is good enough
- double d = thickness + 1 - sqrt((mx-desc->tables.o_r)*(mx-desc->tables.o_r)+(my-desc->tables.o_r)*(my-desc->tables.o_r));
- desc->tables.om[mx+my*desc->tables.o_w] = d>=1 ? base : d<=0 ? 0 : (d*base + .5);
- }
- }
-
- // outline table:
- for(i=0;i<256;i++){
- for(mx=0;mx<desc->tables.o_size;mx++) *(omtp++) = (i*desc->tables.om[mx] + (base/2))/base;
- }
-
- return 0;
-}
-
-#ifdef CONFIG_ICONV
-/* decode from 'encoding' to unicode */
-static FT_ULong decode_char(iconv_t *cd, char c) {
- FT_ULong o;
- char *inbuf = &c;
- char *outbuf = (char*)&o;
- size_t inbytesleft = 1;
- size_t outbytesleft = sizeof(FT_ULong);
-
- iconv(*cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
-
- /* convert unicode BigEndian -> MachineEndian */
- o = be2me_32(o);
-
- // if (count==-1) o = 0; // not OK, at least my iconv() returns E2BIG for all
- if (outbytesleft!=0) o = 0;
-
- /* we don't want control characters */
- if (o>=0x7f && o<0xa0) o = 0;
- return o;
-}
-
-static int prepare_charset(char *charmap, char *encoding, FT_ULong *charset, FT_ULong *charcodes) {
- FT_ULong i;
- int count = 0;
- int charset_size;
- iconv_t cd;
-
- // check if ucs-4 is available
- cd = iconv_open(charmap, charmap);
- if (cd==(iconv_t)-1) {
- mp_msg(MSGT_OSD, MSGL_ERR, "iconv doesn't know %s encoding. Use the source!\n", charmap);
- return -1;
- }
-
- iconv_close(cd);
-
- cd = iconv_open(charmap, encoding);
- if (cd==(iconv_t)-1) {
- mp_msg(MSGT_OSD, MSGL_ERR, "Unsupported encoding `%s', use iconv --list to list character sets known on your system.\n", encoding);
- return -1;
- }
-
- charset_size = 256 - first_char;
- for (i = 0; i<charset_size; ++i) {
- charcodes[count] = i+first_char;
- charset[count] = decode_char(&cd, i+first_char);
- if (charset[count]!=0) ++count;
- }
- charcodes[count] = charset[count] = 0; ++count;
- charset_size = count;
-
- iconv_close(cd);
- if (charset_size==0) {
- mp_msg(MSGT_OSD, MSGL_ERR, "No characters to render!\n");
- return -1;
- }
-
- return charset_size;
-}
-
-static int prepare_charset_unicode(FT_Face face, FT_ULong *charset, FT_ULong *charcodes) {
-#ifdef HAVE_FREETYPE21
- FT_ULong charcode;
-#else
- int j;
-#endif
- FT_UInt gindex;
- int i;
-
- if (face->charmap==NULL || face->charmap->encoding!=ft_encoding_unicode) {
- WARNING("Unicode charmap not available for this font. Very bad!");
- return -1;
- }
-#ifdef HAVE_FREETYPE21
- i = 0;
- charcode = FT_Get_First_Char( face, &gindex );
- while (gindex != 0) {
- if (charcode < 65536 && charcode >= 33) { // sanity check
- charset[i] = charcode;
- charcodes[i] = 0;
- i++;
- }
- charcode = FT_Get_Next_Char( face, charcode, &gindex );
- }
-#else
- // for FT < 2.1 we have to use brute force enumeration
- i = 0;
- for (j = 33; j < 65536; j++) {
- gindex = FT_Get_Char_Index(face, j);
- if (gindex > 0) {
- charset[i] = j;
- charcodes[i] = 0;
- i++;
- }
- }
-#endif
- mp_msg(MSGT_OSD, MSGL_V, "Unicode font: %d glyphs.\n", i);
-
- return i;
-}
-#endif
-
-static font_desc_t* init_font_desc(void)
-{
- font_desc_t *desc;
-
- desc = calloc(1, sizeof(*desc));
- if(!desc) return NULL;
-
- desc->dynamic = 1;
-
- /* setup sane defaults */
- desc->freetype = 1;
-
- memset(desc->start, 0xff, sizeof(desc->start));
- memset(desc->width, 0xff, sizeof(desc->width));
- memset(desc->font, 0xff, sizeof(desc->font));
-
- return desc;
-}
-
-void free_font_desc(font_desc_t *desc)
-{
- int i;
-
- if (!desc) return;
-
-// if (!desc->dynamic) return; // some vo_aa crap, better leaking than crashing
-
- free(desc->name);
- free(desc->fpath);
-
- for(i = 0; i < 16; i++) {
- if (desc->pic_a[i]) {
- free(desc->pic_a[i]->bmp);
- free(desc->pic_a[i]->pal);
- free(desc->pic_a[i]);
- }
- if (desc->pic_b[i]) {
- free(desc->pic_b[i]->bmp);
- free(desc->pic_b[i]->pal);
- free(desc->pic_b[i]);
- }
- }
-
- free(desc->tables.g);
- free(desc->tables.gt2);
- free(desc->tables.om);
- free(desc->tables.omt);
- free(desc->tables.tmp);
-
- for(i = 0; i < desc->face_cnt; i++) {
- FT_Done_Face(desc->faces[i]);
- }
-
- free(desc);
-}
-
-static int load_sub_face(const char *name, int face_index, FT_Face *face)
-{
- int err = -1;
-
- if (name) err = FT_New_Face(library, name, face_index, face);
-
- if (err) {
- char *font_file = get_path("subfont.ttf");
- err = FT_New_Face(library, font_file, 0, face);
- free(font_file);
- if (err) {
- err = FT_New_Face(library, MPLAYER_DATADIR "/subfont.ttf", 0, face);
- if (err) {
- mp_tmsg(MSGT_OSD, MSGL_ERR, "New_Face failed. Maybe the font path is wrong.\nPlease supply the text font file (~/.mplayer/subfont.ttf).\n");
- return -1;
- }
- }
- }
- return err;
-}
-
-static int load_osd_face(FT_Face *face)
-{
- if ( FT_New_Memory_Face(library, osd_font_pfb, sizeof(osd_font_pfb), 0, face) ) {
- mp_tmsg(MSGT_OSD, MSGL_ERR, "New_Memory_Face failed..\n");
- return -1;
- }
- return 0;
-}
-
-int kerning(font_desc_t *desc, int prevc, int c)
-{
- FT_Vector kern;
-
- if (!desc->dynamic) return 0;
- if (prevc < 0 || c < 0) return 0;
- if (desc->font[prevc] != desc->font[c]) return 0;
- if (desc->font[prevc] == -1 || desc->font[c] == -1) return 0;
- FT_Get_Kerning(desc->faces[desc->font[c]],
- desc->glyph_index[prevc], desc->glyph_index[c],
- ft_kerning_default, &kern);
-
-// fprintf(stderr, "kern: %c %c %d\n", prevc, c, f266ToInt(kern.x));
-
- return f266ToInt(kern.x);
-}
-
-font_desc_t* read_font_desc_ft(const char *fname, int face_index, int movie_width, int movie_height, float font_scale_factor)
-{
- font_desc_t *desc = NULL;
-
- FT_Face face;
-
- FT_ULong *my_charset = malloc(MAX_CHARSET_SIZE * sizeof(FT_ULong)); /* characters we want to render; Unicode */
- FT_ULong *my_charcodes = malloc(MAX_CHARSET_SIZE * sizeof(FT_ULong)); /* character codes in 'encoding' */
-
- char *charmap = "ucs-4";
- int err;
- int charset_size;
- int i, j;
- int unicode;
-
- float movie_size;
-
- float subtitle_font_ppem;
- float osd_font_ppem;
-
- if (my_charset == NULL || my_charcodes == NULL) {
- mp_msg(MSGT_OSD, MSGL_ERR, "subtitle font: malloc failed.\n");
- goto err_out;
- }
-
- switch (subtitle_autoscale) {
- case 1:
- movie_size = movie_height;
- break;
- case 2:
- movie_size = movie_width;
- break;
- case 3:
- movie_size = sqrt(movie_height*movie_height+movie_width*movie_width);
- break;
- default:
- movie_size = 100;
- break;
- }
-
- subtitle_font_ppem = movie_size*font_scale_factor/100.0;
- osd_font_ppem = movie_size*(font_scale_factor+1)/100.0;
-
- if (subtitle_font_ppem < 5) subtitle_font_ppem = 5;
- if (osd_font_ppem < 5) osd_font_ppem = 5;
-
- if (subtitle_font_ppem > 128) subtitle_font_ppem = 128;
- if (osd_font_ppem > 128) osd_font_ppem = 128;
-
- if ((subtitle_font_encoding == NULL)
- || (strcasecmp(subtitle_font_encoding, "unicode") == 0)) {
- unicode = 1;
- } else {
- unicode = 0;
- }
-
- desc = init_font_desc();
- if(!desc) goto err_out;
-
-// t=GetTimer();
-
- /* generate the subtitle font */
- err = load_sub_face(fname, face_index, &face);
- if (err) {
- mp_tmsg(MSGT_OSD, MSGL_WARN, "subtitle font: load_sub_face failed.\n");
- goto gen_osd;
- }
- desc->face_cnt++;
-
-#ifdef CONFIG_ICONV
- if (unicode) {
- charset_size = prepare_charset_unicode(face, my_charset, my_charcodes);
- } else {
- if (subtitle_font_encoding) {
- charset_size = prepare_charset(charmap, subtitle_font_encoding, my_charset, my_charcodes);
- } else {
- charset_size = prepare_charset(charmap, "iso-8859-1", my_charset, my_charcodes);
- }
- }
-
- if (charset_size < 0) {
- mp_tmsg(MSGT_OSD, MSGL_ERR, "subtitle font: prepare_charset failed.\n");
- goto err_out;
- }
-#else
- goto err_out;
-#endif
-
-// fprintf(stderr, "fg: prepare t = %f\n", GetTimer()-t);
-
- err = prepare_font(desc, face, subtitle_font_ppem, desc->face_cnt-1,
- charset_size, my_charset, my_charcodes, unicode,
- subtitle_font_thickness, subtitle_font_radius);
-
- if (err) {
- mp_tmsg(MSGT_OSD, MSGL_ERR, "Cannot prepare subtitle font.\n");
- goto err_out;
- }
-
-gen_osd:
-
- /* generate the OSD font */
- err = load_osd_face(&face);
- if (err) {
- goto err_out;
- }
- desc->face_cnt++;
-
- err = prepare_font(desc, face, osd_font_ppem, desc->face_cnt-1,
- OSD_CHARSET_SIZE, osd_charset, osd_charcodes, 0,
- subtitle_font_thickness, subtitle_font_radius);
-
- if (err) {
- mp_tmsg(MSGT_OSD, MSGL_ERR, "Cannot prepare OSD font.\n");
- goto err_out;
- }
-
- err = generate_tables(desc, subtitle_font_thickness, subtitle_font_radius);
-
- if (err) {
- mp_tmsg(MSGT_OSD, MSGL_ERR, "Cannot generate tables.\n");
- goto err_out;
- }
-
- // final cleanup
- desc->font[' ']=-1;
- desc->width[' ']=desc->spacewidth;
-
- j = '_';
- if (desc->font[j] < 0) j = '?';
- if (desc->font[j] < 0) j = ' ';
- render_one_glyph(desc, j);
- for(i = 0; i < 65536; i++) {
- if (desc->font[i] < 0 && i != ' ') {
- desc->start[i] = desc->start[j];
- desc->width[i] = desc->width[j];
- desc->font[i] = desc->font[j];
- }
- }
- free(my_charset);
- free(my_charcodes);
- return desc;
-
-err_out:
- if (desc)
- free_font_desc(desc);
- free(my_charset);
- free(my_charcodes);
- return NULL;
-}
-
-int init_freetype(void)
-{
- int err;
-
- /* initialize freetype */
- err = FT_Init_FreeType(&library);
- if (err) {
- mp_msg(MSGT_OSD, MSGL_ERR, "Init_FreeType failed.\n");
- return -1;
- }
- mp_msg(MSGT_OSD, MSGL_V, "init_freetype\n");
- using_freetype = 1;
- return 0;
-}
-
-int done_freetype(void)
-{
- int err;
-
- if (!using_freetype)
- return 0;
-
- err = FT_Done_FreeType(library);
- if (err) {
- mp_tmsg(MSGT_OSD, MSGL_ERR, "FT_Done_FreeType failed.\n");
- return -1;
- }
-
- return 0;
-}
-
-void load_font_ft(int width, int height, font_desc_t** fontp, const char *font_name, float font_scale_factor)
-{
-#ifdef CONFIG_FONTCONFIG
- FcPattern *fc_pattern;
- FcPattern *fc_pattern2;
- FcChar8 *s;
- int face_index;
- FcBool scalable;
- FcResult result;
-#endif
- font_desc_t *vo_font = *fontp;
- vo_image_width = width;
- vo_image_height = height;
-
- // protection against vo_aa font hacks
- if (vo_font && !vo_font->dynamic) return;
-
- if (vo_font) free_font_desc(vo_font);
-
-#ifdef CONFIG_FONTCONFIG
- if (font_fontconfig > 0)
- {
- FcInit();
- fc_pattern = FcNameParse(font_name ? font_name : "sans-serif");
- FcConfigSubstitute(0, fc_pattern, FcMatchPattern);
- FcDefaultSubstitute(fc_pattern);
- fc_pattern2 = fc_pattern;
- fc_pattern = FcFontMatch(0, fc_pattern, &result);
- if (fc_pattern) {
- FcPatternDestroy(fc_pattern2);
- FcPatternGetBool(fc_pattern, FC_SCALABLE, 0, &scalable);
- if (scalable != FcTrue) {
- FcPatternDestroy(fc_pattern);
- fc_pattern = FcNameParse("sans-serif");
- FcConfigSubstitute(0, fc_pattern, FcMatchPattern);
- FcDefaultSubstitute(fc_pattern);
- fc_pattern2 = fc_pattern;
- fc_pattern = FcFontMatch(0, fc_pattern, &result);
- FcPatternDestroy(fc_pattern2);
- }
- // s doesn't need to be freed according to fontconfig docs
- FcPatternGetString(fc_pattern, FC_FILE, 0, &s);
- FcPatternGetInteger(fc_pattern, FC_INDEX, 0, &face_index);
- *fontp=read_font_desc_ft(s, face_index, width, height, font_scale_factor);
- FcPatternDestroy(fc_pattern);
- return;
- }
- mp_tmsg(MSGT_OSD, MSGL_ERR, "Fontconfig failed to select a font. "
- "Trying without fontconfig...\n");
- }
-#endif
- *fontp=read_font_desc_ft(font_name, 0, width, height, font_scale_factor);
-}
diff --git a/sub/osd_dummy.c b/sub/osd_dummy.c
new file mode 100644
index 0000000..51824c6
--- /dev/null
+++ b/sub/osd_dummy.c
@@ -0,0 +1,35 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "config.h"
+#include "talloc.h"
+#include "sub.h"
+
+void vo_update_text_osd(struct osd_state *osd, mp_osd_obj_t *obj)
+{
+}
+
+void vo_update_text_teletext(struct osd_state *osd, mp_osd_obj_t *obj)
+{
+}
+
+void vo_update_text_progbar(struct osd_state *osd, mp_osd_obj_t *obj)
+{
+}
+
+void vo_update_text_sub(struct osd_state *osd, mp_osd_obj_t *obj)
+{
+}
+
+void osd_init_backend(struct osd_state *osd)
+{
+}
+
+void osd_destroy_backend(struct osd_state *osd)
+{
+}
+
+void osd_get_function_sym(char *buffer, size_t buffer_size, int osd_function)
+{
+}
diff --git a/sub/osd_font.h b/sub/osd_font.h
deleted file mode 100644
index 6be45bc..0000000
--- a/sub/osd_font.h
+++ /dev/null
@@ -1,545 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_OSD_FONT_H
-#define MPLAYER_OSD_FONT_H
-
-const unsigned char osd_font_pfb[] = {
-0x80,0x01,0x02,0x17,0x00,0x00,0x25,0x21,0x50,0x53,0x2d,0x41,0x64,0x6f,0x62,0x65,
-0x46,0x6f,0x6e,0x74,0x2d,0x31,0x2e,0x30,0x3a,0x20,0x4f,0x53,0x44,0x20,0x31,0x2e,
-0x30,0x30,0x0a,0x25,0x25,0x43,0x72,0x65,0x61,0x74,0x69,0x6f,0x6e,0x44,0x61,0x74,
-0x65,0x3a,0x20,0x53,0x75,0x6e,0x20,0x4a,0x75,0x6c,0x20,0x32,0x32,0x20,0x31,0x32,
-0x3a,0x33,0x38,0x3a,0x32,0x38,0x20,0x32,0x30,0x30,0x31,0x0a,0x25,0x0a,0x25,0x25,
-0x45,0x6e,0x64,0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x73,0x0a,0x31,0x32,0x20,0x64,
-0x69,0x63,0x74,0x20,0x62,0x65,0x67,0x69,0x6e,0x0a,0x2f,0x46,0x6f,0x6e,0x74,0x49,
-0x6e,0x66,0x6f,0x20,0x39,0x20,0x64,0x69,0x63,0x74,0x20,0x64,0x75,0x70,0x20,0x62,
-0x65,0x67,0x69,0x6e,0x0a,0x2f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x28,0x56,
-0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x31,0x2e,0x30,0x30,0x29,0x20,0x72,0x65,0x61,
-0x64,0x6f,0x6e,0x6c,0x79,0x20,0x64,0x65,0x66,0x0a,0x2f,0x4e,0x6f,0x74,0x69,0x63,
-0x65,0x20,0x28,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x67,0x65,0x6e,0x65,0x72,
-0x61,0x74,0x65,0x64,0x20,0x66,0x69,0x6c,0x65,0x2e,0x29,0x20,0x72,0x65,0x61,0x64,
-0x6f,0x6e,0x6c,0x79,0x20,0x64,0x65,0x66,0x0a,0x2f,0x46,0x75,0x6c,0x6c,0x4e,0x61,
-0x6d,0x65,0x20,0x28,0x4f,0x53,0x44,0x29,0x20,0x72,0x65,0x61,0x64,0x6f,0x6e,0x6c,
-0x79,0x20,0x64,0x65,0x66,0x0a,0x2f,0x46,0x61,0x6d,0x69,0x6c,0x79,0x4e,0x61,0x6d,
-0x65,0x20,0x28,0x4f,0x53,0x44,0x29,0x20,0x72,0x65,0x61,0x64,0x6f,0x6e,0x6c,0x79,
-0x20,0x64,0x65,0x66,0x0a,0x2f,0x57,0x65,0x69,0x67,0x68,0x74,0x20,0x28,0x52,0x65,
-0x67,0x75,0x6c,0x61,0x72,0x29,0x20,0x72,0x65,0x61,0x64,0x6f,0x6e,0x6c,0x79,0x20,
-0x64,0x65,0x66,0x0a,0x2f,0x49,0x74,0x61,0x6c,0x69,0x63,0x41,0x6e,0x67,0x6c,0x65,
-0x20,0x30,0x2e,0x30,0x30,0x30,0x30,0x30,0x30,0x20,0x64,0x65,0x66,0x0a,0x2f,0x69,
-0x73,0x46,0x69,0x78,0x65,0x64,0x50,0x69,0x74,0x63,0x68,0x20,0x66,0x61,0x6c,0x73,
-0x65,0x20,0x64,0x65,0x66,0x0a,0x2f,0x55,0x6e,0x64,0x65,0x72,0x6c,0x69,0x6e,0x65,
-0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x2d,0x31,0x33,0x33,0x20,0x64,0x65,
-0x66,0x0a,0x2f,0x55,0x6e,0x64,0x65,0x72,0x6c,0x69,0x6e,0x65,0x54,0x68,0x69,0x63,
-0x6b,0x6e,0x65,0x73,0x73,0x20,0x34,0x39,0x20,0x64,0x65,0x66,0x0a,0x65,0x6e,0x64,
-0x20,0x72,0x65,0x61,0x64,0x6f,0x6e,0x6c,0x79,0x20,0x64,0x65,0x66,0x0a,0x2f,0x46,
-0x6f,0x6e,0x74,0x4e,0x61,0x6d,0x65,0x20,0x2f,0x4f,0x53,0x44,0x20,0x64,0x65,0x66,
-0x0a,0x2f,0x50,0x61,0x69,0x6e,0x74,0x54,0x79,0x70,0x65,0x20,0x30,0x20,0x64,0x65,
-0x66,0x0a,0x2f,0x53,0x74,0x72,0x6f,0x6b,0x65,0x57,0x69,0x64,0x74,0x68,0x20,0x30,
-0x20,0x64,0x65,0x66,0x0a,0x2f,0x46,0x6f,0x6e,0x74,0x4d,0x61,0x74,0x72,0x69,0x78,
-0x20,0x5b,0x30,0x2e,0x30,0x30,0x31,0x20,0x30,0x20,0x30,0x20,0x30,0x2e,0x30,0x30,
-0x31,0x20,0x30,0x20,0x30,0x5d,0x20,0x64,0x65,0x66,0x0a,0x2f,0x46,0x6f,0x6e,0x74,
-0x42,0x42,0x6f,0x78,0x20,0x7b,0x30,0x20,0x2d,0x31,0x30,0x20,0x31,0x30,0x30,0x30,
-0x20,0x38,0x31,0x30,0x7d,0x20,0x72,0x65,0x61,0x64,0x6f,0x6e,0x6c,0x79,0x20,0x64,
-0x65,0x66,0x0a,0x2f,0x45,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x20,0x32,0x35,0x36,
-0x20,0x61,0x72,0x72,0x61,0x79,0x0a,0x64,0x75,0x70,0x20,0x30,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x20,
-0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,0x31,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x32,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,0x32,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x33,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,0x33,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x34,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,
-0x34,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x35,0x20,0x2f,0x75,0x6e,0x69,
-0x45,0x30,0x30,0x35,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x36,0x20,0x2f,
-0x75,0x6e,0x69,0x45,0x30,0x30,0x36,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x37,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,0x37,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x38,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,0x38,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x39,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,0x39,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x30,0x20,0x2f,0x75,0x6e,0x69,
-0x45,0x30,0x30,0x41,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x31,0x20,
-0x2f,0x75,0x6e,0x69,0x45,0x30,0x30,0x42,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x35,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x36,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x31,0x30,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x37,0x20,0x2f,0x75,0x6e,0x69,0x45,0x30,0x31,0x31,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x38,0x20,0x2f,0x75,0x6e,0x69,
-0x45,0x30,0x31,0x32,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x39,0x20,
-0x2f,0x75,0x6e,0x69,0x45,0x30,0x31,0x33,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x32,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x32,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x33,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x32,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x32,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x36,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x37,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x32,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x32,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x33,0x30,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x33,0x31,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x33,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x33,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x33,0x34,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x33,0x35,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x33,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x33,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x33,0x38,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x33,0x39,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x34,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x34,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x34,0x32,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x34,0x33,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x34,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x34,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x34,0x36,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x34,0x37,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x34,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x34,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x35,0x30,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x35,0x31,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x35,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x35,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x35,0x34,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x35,0x35,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x35,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x35,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x35,0x38,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x35,0x39,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x36,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x36,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x36,0x32,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x36,0x33,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x36,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x36,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x36,0x36,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x36,0x37,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x36,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x36,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x37,0x30,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x37,0x31,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x37,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x37,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x37,0x34,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x37,0x35,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x37,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x37,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x37,0x38,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x37,0x39,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x38,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x38,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x38,0x32,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x38,0x33,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x38,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x38,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x38,0x36,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x38,0x37,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x38,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x38,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x39,0x30,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x39,0x31,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x39,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x39,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x39,0x34,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x39,0x35,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x39,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x39,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x39,0x38,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x39,0x39,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x30,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x30,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x30,0x32,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x31,0x30,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x30,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x30,0x35,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,
-0x30,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x31,0x30,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x30,0x38,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x30,
-0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x31,0x31,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x31,0x31,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x31,0x32,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x31,0x31,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x31,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x31,0x35,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x31,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x31,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x31,0x38,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x31,0x31,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x32,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x32,0x31,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,
-0x32,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x31,0x32,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x32,0x34,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x32,
-0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x31,0x32,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x32,0x37,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x32,0x38,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x31,0x32,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x33,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x33,0x31,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x33,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x33,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x33,0x34,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x31,0x33,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x33,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x33,0x37,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,
-0x33,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x31,0x33,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,0x30,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,
-0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x31,0x34,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,0x33,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,0x34,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x31,0x34,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,0x37,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x34,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x34,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x35,0x30,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x31,0x35,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x35,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x35,0x33,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,
-0x35,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x31,0x35,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x35,0x36,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x35,
-0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x31,0x35,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x35,0x39,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x36,0x30,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x31,0x36,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x36,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x36,0x33,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x36,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x36,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x36,0x36,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x31,0x36,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x36,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x36,0x39,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,
-0x37,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x31,0x37,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x37,0x32,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x37,
-0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x31,0x37,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x37,0x35,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x37,0x36,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x31,0x37,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x37,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x37,0x39,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x38,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x38,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x38,0x32,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x31,0x38,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x31,0x38,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x38,0x35,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,
-0x38,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x31,0x38,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x38,0x38,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x38,
-0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x31,0x39,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x39,0x31,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x39,0x32,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x31,0x39,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x39,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x39,0x35,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x31,0x39,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x39,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x31,0x39,0x38,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x31,0x39,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x32,0x30,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x30,0x31,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,
-0x30,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x32,0x30,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x30,0x34,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x30,
-0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x32,0x30,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x30,0x37,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x30,0x38,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x32,0x30,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x31,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x31,0x31,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x32,0x31,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x31,0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x31,0x34,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x32,0x31,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x32,0x31,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x31,0x37,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,
-0x31,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x32,0x31,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,0x30,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,
-0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x32,0x32,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,0x33,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,0x34,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x32,0x32,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,0x36,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,0x37,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x32,0x32,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x32,0x39,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x33,0x30,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x32,0x33,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x32,0x33,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x33,0x33,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,
-0x33,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x32,0x33,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x33,0x36,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x33,
-0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x32,0x33,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x33,0x39,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x34,0x30,
-0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,
-0x70,0x20,0x32,0x34,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,
-0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x34,0x32,0x20,0x2f,0x2e,0x6e,0x6f,0x74,
-0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x34,0x33,0x20,
-0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,
-0x20,0x32,0x34,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,
-0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x34,0x35,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,
-0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x34,0x36,0x20,0x2f,
-0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,
-0x32,0x34,0x37,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,
-0x0a,0x64,0x75,0x70,0x20,0x32,0x34,0x38,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,
-0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x34,0x39,0x20,0x2f,0x2e,
-0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,
-0x35,0x30,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,
-0x64,0x75,0x70,0x20,0x32,0x35,0x31,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,
-0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x35,0x32,0x20,0x2f,0x2e,0x6e,
-0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x35,
-0x33,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x64,
-0x75,0x70,0x20,0x32,0x35,0x34,0x20,0x2f,0x2e,0x6e,0x6f,0x74,0x64,0x65,0x66,0x20,
-0x70,0x75,0x74,0x0a,0x64,0x75,0x70,0x20,0x32,0x35,0x35,0x20,0x2f,0x2e,0x6e,0x6f,
-0x74,0x64,0x65,0x66,0x20,0x70,0x75,0x74,0x0a,0x72,0x65,0x61,0x64,0x6f,0x6e,0x6c,
-0x79,0x20,0x64,0x65,0x66,0x0a,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x64,0x69,0x63,
-0x74,0x20,0x65,0x6e,0x64,0x0a,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x66,0x69,0x6c,
-0x65,0x20,0x65,0x65,0x78,0x65,0x63,0x0a,0x80,0x02,0x64,0x07,0x00,0x00,0xd9,0xd6,
-0x6f,0x63,0x3b,0x84,0x6a,0x98,0x9b,0x99,0x74,0xb0,0x17,0x9f,0xc6,0xcc,0x44,0x5b,
-0xc2,0xc0,0x31,0x03,0xc6,0x85,0x70,0xa7,0xb3,0x54,0xa4,0xa2,0x80,0xae,0x6f,0xbf,
-0x7f,0x98,0x88,0xe0,0x62,0xac,0xe9,0x21,0x16,0xed,0xa3,0x16,0x4a,0xb4,0x31,0xb6,
-0xaa,0x5d,0x94,0xf1,0xc3,0x04,0x34,0xfb,0xeb,0xfd,0x8d,0xb1,0xf9,0xaf,0xd6,0x14,
-0x0e,0x48,0xa2,0xd1,0xdf,0x43,0xa3,0x52,0xac,0xb2,0xa0,0x05,0xe8,0xd4,0x3c,0xdf,
-0x44,0xb0,0xfb,0x04,0xb4,0x6b,0xf5,0x7c,0xb2,0x5a,0xcf,0x59,0x2b,0xa6,0x84,0xf3,
-0xb8,0x18,0x21,0xbe,0xfe,0xf4,0xfd,0x83,0x30,0x31,0x19,0x63,0x70,0x76,0xcc,0x17,
-0x8d,0xf5,0xbb,0x1b,0x08,0xb2,0x39,0x99,0x74,0x40,0xfc,0xe8,0xa5,0x75,0xb0,0xe8,
-0x06,0x4f,0x42,0xa4,0xed,0x7b,0xd4,0xde,0x19,0xf8,0x85,0x97,0x5a,0x82,0xe9,0x7a,
-0xda,0xf9,0xe9,0x9e,0x70,0x7f,0xd5,0xd6,0x50,0x4e,0x24,0xfe,0xad,0xb3,0xd1,0x83,
-0xb0,0x63,0x04,0xb0,0x43,0x5d,0xcf,0xe8,0xe0,0xf7,0x01,0xb5,0xae,0x80,0xa2,0xab,
-0xf3,0xf9,0x02,0x5e,0xe4,0x71,0x0d,0x72,0x9d,0x9a,0xfd,0x81,0x96,0xc5,0xde,0x19,
-0xf8,0xbc,0x12,0xc0,0x52,0xc0,0xa8,0x55,0x8c,0x7f,0xa0,0x5f,0x84,0x46,0x75,0x46,
-0xfc,0x13,0x5e,0x05,0x11,0xce,0xfc,0xd4,0x96,0xfd,0xf0,0xa9,0xc4,0xbb,0xcf,0x07,
-0x97,0x37,0x93,0xc2,0xab,0x48,0x78,0xa5,0x80,0xc2,0xf6,0xfa,0x62,0x90,0x77,0x74,
-0x29,0x53,0x8e,0xcc,0x7c,0xb2,0x30,0xd2,0x4c,0x74,0xe5,0xd9,0x8c,0x5a,0x06,0x83,
-0x90,0x47,0xd8,0xbb,0x48,0x86,0x93,0xbf,0xdb,0x87,0x79,0xca,0xaf,0xd0,0xb0,0x8b,
-0x3d,0x0e,0x27,0xc0,0xda,0xda,0x4e,0xf9,0xc7,0x77,0x11,0xff,0x10,0xc9,0x6a,0x74,
-0xfb,0xe5,0x0d,0xd2,0x43,0x70,0x44,0xbb,0x41,0xf3,0x15,0x92,0x57,0x90,0xd9,0x47,
-0x6f,0x46,0x8e,0x4a,0x56,0x72,0x4f,0x39,0xee,0xfc,0x19,0x45,0xb2,0x89,0x9a,0xf0,
-0xa7,0x0f,0x14,0x78,0xaf,0xf3,0x87,0x09,0x86,0xd9,0xfa,0x4b,0x3e,0x72,0x96,0xc1,
-0x3b,0x39,0xfa,0x7e,0x7c,0x2e,0xa2,0xd0,0x78,0xa9,0xce,0x4f,0x3d,0x0c,0x71,0x3e,
-0xca,0x52,0xa0,0x3a,0xe9,0x33,0xe8,0x9b,0x41,0xc6,0xec,0x13,0x2d,0x22,0x8a,0x66,
-0x21,0xc1,0x8f,0x98,0xce,0xa5,0xf9,0xe5,0x44,0x76,0xb4,0xc8,0x46,0x8d,0xcd,0x65,
-0xc9,0x61,0xdf,0xa7,0xa9,0xd7,0x58,0x0a,0xc1,0x5b,0xc8,0xd9,0x87,0xda,0xc6,0x1e,
-0x8b,0x64,0xca,0x08,0x75,0x5a,0x86,0xba,0xb2,0x57,0x96,0x23,0xfb,0xf9,0xb2,0x42,
-0xd5,0x13,0x8f,0xaa,0x7e,0x97,0xa2,0xd6,0x0e,0x17,0xcb,0xdf,0x6f,0xdb,0xb0,0xb2,
-0x68,0x8a,0xf6,0x9b,0x6c,0x9f,0x77,0xd7,0x33,0xa9,0x36,0x1f,0x50,0xe1,0xa0,0x1f,
-0xd9,0xb8,0x3b,0xa9,0x1c,0x2b,0x1e,0xa4,0x31,0x24,0x5b,0x48,0x95,0xc1,0x26,0x3f,
-0x62,0x24,0x71,0x2e,0xe6,0xae,0xdd,0xd0,0xa1,0x51,0x83,0x2c,0x3b,0x2d,0x14,0xea,
-0x94,0xda,0x77,0x87,0xe2,0xd2,0x97,0x4d,0x5a,0x28,0x6b,0x64,0x19,0x37,0xc9,0x3f,
-0x90,0x66,0xb8,0x91,0x2f,0x17,0xd6,0xb6,0xa9,0x55,0xc1,0x7b,0x04,0xb0,0x96,0xa0,
-0x34,0x9a,0x14,0xea,0x12,0xf0,0x33,0xc3,0xc2,0x79,0x2a,0x42,0x33,0x8d,0x75,0x17,
-0xf4,0x05,0x79,0x36,0x89,0x22,0x8d,0xdb,0xd6,0x28,0xae,0xaa,0x22,0x0c,0x86,0x60,
-0xe0,0x66,0x5c,0x7a,0x43,0x0b,0x7f,0xd4,0x74,0x59,0x48,0x2b,0xd8,0xb7,0xd1,0x05,
-0xee,0xbe,0x91,0xe4,0x67,0x8d,0x4d,0xd2,0x25,0xe0,0x13,0xd7,0x85,0x53,0x8b,0x9c,
-0xd0,0x5f,0x09,0x09,0xfd,0xff,0xe1,0x59,0x37,0xe4,0x6d,0x9e,0x65,0x34,0x2e,0xfd,
-0x34,0x67,0x2a,0x1d,0x6e,0xc6,0x51,0x4d,0x69,0x55,0x9c,0xf7,0xfc,0xe7,0x4e,0x75,
-0xd5,0x2c,0x01,0xd5,0x70,0x29,0x8b,0xd0,0x6a,0xa5,0x69,0x1c,0x98,0x98,0x81,0xda,
-0xbf,0xc0,0x8a,0xf6,0x30,0x6c,0xf9,0xb0,0x0d,0xf4,0xf9,0x6a,0x35,0x55,0x02,0x2d,
-0x97,0xe6,0xd0,0x15,0xa8,0xbe,0xf5,0x80,0xe0,0x73,0xd5,0xb8,0xae,0xdc,0x5b,0x6a,
-0xa2,0x4d,0x67,0x7d,0x61,0xcd,0xa9,0xf0,0xe0,0x0a,0x63,0x3e,0x03,0x01,0x7d,0xcf,
-0x56,0x91,0x48,0x74,0x65,0x4c,0xdc,0xcd,0xe3,0xfe,0xdf,0xc0,0x82,0x5e,0x25,0xb4,
-0xea,0x04,0xe0,0x6f,0x16,0x5b,0x94,0x5d,0xf7,0x62,0xce,0xc3,0xa8,0xb9,0x9b,0x0f,
-0xd9,0x5c,0x92,0x56,0x59,0x58,0x41,0x50,0x85,0xbb,0x20,0x13,0xcc,0xff,0xa9,0xd0,
-0xa1,0x88,0x91,0x02,0x4e,0x44,0xe6,0x2e,0x36,0xc1,0x8b,0x53,0xb5,0xc7,0x47,0xad,
-0xb1,0x10,0xe7,0xb7,0x1c,0x27,0xbf,0xf0,0x16,0x79,0x39,0xaa,0x4f,0xa4,0x05,0x79,
-0x00,0x7f,0x3f,0xc6,0xfc,0x0f,0xf9,0x6b,0x21,0xbf,0x57,0x9f,0x64,0x10,0xfe,0xcd,
-0xd9,0x80,0x1c,0xab,0xb0,0x21,0x6a,0x84,0x4e,0x8a,0x07,0x93,0xc6,0x76,0x54,0x41,
-0x8e,0x2d,0x2d,0x72,0xc9,0x52,0xa2,0x16,0xdf,0x0d,0x84,0x09,0x43,0x88,0x3e,0x25,
-0x21,0x5a,0xf3,0x28,0xec,0x4d,0x08,0x41,0xce,0x55,0x7e,0xf9,0x34,0x54,0xcc,0xa2,
-0x2d,0xe0,0x95,0x4a,0x78,0xd5,0x8c,0xd4,0xd4,0x1b,0x3c,0x17,0xe0,0xb7,0x2f,0xf5,
-0x8a,0xc7,0x2b,0x71,0x2a,0x42,0x44,0x04,0x58,0xcf,0x03,0x1a,0x43,0x2e,0xf5,0xf0,
-0x68,0xbf,0x90,0x54,0x83,0xc8,0x57,0xed,0xbb,0xbc,0xc0,0x07,0x13,0x7d,0x71,0x17,
-0x37,0x2c,0x3e,0x3c,0xce,0x31,0xdb,0x68,0xac,0xd4,0x8c,0xca,0xd7,0x6e,0x52,0x51,
-0x0a,0x2d,0xa0,0x09,0xbf,0xfa,0x80,0xce,0xd9,0xe8,0x2c,0xfa,0x34,0xce,0x8c,0x85,
-0x95,0xd5,0x7a,0xd3,0x63,0x02,0x49,0x44,0x4e,0xee,0x34,0xa9,0x23,0x56,0x88,0x69,
-0xf1,0xf8,0x6d,0x28,0xc9,0x2d,0xd2,0x63,0x72,0x64,0xe2,0xd7,0xb6,0x6a,0x74,0xb8,
-0xf3,0xda,0xca,0x56,0xa9,0xbd,0xff,0x04,0x03,0xca,0xc2,0x08,0x27,0x54,0x17,0x5c,
-0xa1,0x71,0xb4,0x32,0x70,0x85,0x52,0x0a,0xc0,0x65,0x37,0x97,0x9f,0xb5,0xef,0xe6,
-0x26,0xc5,0xad,0x7b,0x2a,0x2a,0xd9,0x39,0xb2,0x27,0x56,0x43,0xf6,0x4a,0xce,0x84,
-0x3e,0x90,0x97,0xe3,0x62,0xcc,0xe5,0xa6,0x2c,0x4a,0xf3,0x10,0x91,0xf3,0x37,0x98,
-0x61,0x69,0xdf,0x5b,0x11,0x49,0xe0,0x43,0x56,0xed,0xe9,0x03,0x98,0x17,0x6e,0x41,
-0xc9,0x55,0xa8,0x77,0x5e,0x02,0xd5,0x08,0x9f,0x04,0x5e,0x18,0x79,0x8d,0xf9,0xed,
-0xc7,0x46,0x93,0x4f,0xd7,0xb9,0x46,0x19,0xd4,0x48,0xc7,0xf9,0x73,0x61,0xac,0x5b,
-0x3d,0x18,0x52,0x8f,0x73,0xc6,0x77,0xad,0x57,0x3a,0x8a,0xd7,0x3a,0xee,0xae,0xf9,
-0x80,0x47,0xbc,0xdb,0x44,0x49,0x01,0x5d,0x9d,0x3e,0xeb,0x1a,0xb3,0x53,0x37,0xca,
-0x4b,0x42,0xda,0x09,0xd9,0x4c,0xcd,0x85,0xc0,0x94,0x37,0x22,0x5e,0x74,0x73,0xda,
-0x60,0x56,0x4e,0x07,0x0c,0x4d,0x46,0x29,0x66,0x08,0x74,0x80,0xc2,0x38,0xfb,0x76,
-0xd5,0x94,0x03,0xa0,0x41,0x3b,0x66,0xc3,0xfa,0x2c,0x1a,0xdd,0x9e,0x5f,0x17,0x77,
-0xa1,0x0c,0x8c,0x47,0xc4,0x0d,0x51,0x29,0x47,0xb9,0xb9,0xed,0xbb,0xee,0xde,0xb3,
-0xf9,0x33,0xec,0x59,0xda,0x02,0xf9,0xa3,0x6c,0x8c,0x52,0x59,0x8d,0xbc,0x86,0x89,
-0xa0,0x0d,0xd0,0x68,0x6d,0xa0,0xb1,0x54,0x0c,0xbc,0x2e,0xe9,0xa0,0x8d,0x2e,0xad,
-0x37,0xdb,0x95,0x9b,0xb0,0x77,0xb6,0x4f,0x02,0xba,0x0b,0xe2,0xbd,0x7c,0x4b,0xa7,
-0x4d,0xab,0x45,0x96,0x64,0xef,0x2d,0x6b,0x66,0x3e,0x10,0x67,0x79,0x63,0x0a,0x96,
-0x7e,0x76,0x98,0xcf,0x4e,0x13,0xa0,0x3c,0x8e,0xbf,0xf3,0xd7,0x60,0x9e,0xb9,0xd0,
-0xe0,0xbd,0x14,0xfb,0x89,0xaf,0x2d,0xcf,0xd7,0x90,0x22,0xc1,0x77,0x54,0x4a,0x6c,
-0x42,0x5c,0xab,0x68,0x75,0xbd,0xeb,0x05,0x3e,0x5e,0x3b,0xfb,0x1a,0x87,0xc6,0x20,
-0x15,0x3f,0x62,0x03,0xf7,0x7d,0xf6,0x9c,0x1d,0x5f,0x80,0x93,0x13,0xb6,0x76,0xbe,
-0x90,0xbc,0x1d,0x87,0x66,0xa4,0xfe,0xfd,0x11,0x91,0x1f,0x8f,0x1e,0x35,0x9b,0x88,
-0x59,0xf6,0x85,0x8f,0x07,0xe9,0x15,0x45,0x59,0x07,0xf4,0xb5,0x66,0x1a,0xcd,0x19,
-0x12,0xe0,0xe4,0x88,0x5d,0xc9,0x8c,0xa6,0x9b,0x23,0x29,0x19,0x07,0x89,0xe5,0x4a,
-0x83,0xc7,0xcf,0xf5,0x10,0xc5,0x80,0x56,0xde,0x3e,0xa7,0x68,0x8b,0x71,0x15,0x63,
-0x12,0x24,0x12,0xbb,0xc4,0xb0,0xfe,0x65,0x4f,0xe9,0xe9,0x13,0x80,0xbf,0x3a,0x33,
-0xbd,0xba,0x9f,0x70,0x42,0x33,0xc4,0x5d,0x3b,0xeb,0x66,0x99,0x0e,0xff,0x66,0x39,
-0x1e,0xea,0x00,0x13,0x13,0x49,0xa7,0xef,0x7c,0x55,0xb0,0x36,0x9f,0xe3,0x2d,0x7d,
-0x1a,0xb9,0x0e,0x2f,0xff,0x9b,0x03,0xa1,0xaa,0xb6,0x6d,0x7b,0x8d,0xe3,0x0e,0x4b,
-0x2b,0x7c,0x96,0xdb,0xb8,0xf0,0xd3,0xa5,0xbf,0xbb,0x3e,0xda,0x95,0xa2,0xc7,0xd2,
-0x8e,0x8e,0xdc,0xfe,0x77,0x93,0x4b,0x6e,0x1f,0x13,0x21,0x6a,0x60,0x9f,0x8c,0xe1,
-0x05,0x50,0x53,0x58,0x3f,0xdc,0xab,0x20,0x96,0xdb,0xb0,0xb5,0x08,0xdb,0xb9,0xc4,
-0x62,0xce,0x47,0x1b,0x0c,0xcd,0xb6,0x78,0xfb,0x68,0x14,0x42,0xf3,0x75,0x3f,0x4f,
-0x44,0xec,0x75,0x12,0x7b,0x10,0x0e,0x2b,0x39,0x64,0x2c,0xea,0xaf,0xf2,0x11,0x08,
-0xfc,0xca,0x61,0xc1,0xcc,0x8b,0xc7,0xb4,0xc3,0x73,0x7f,0x30,0xc9,0xb8,0x9c,0xa5,
-0xce,0xb6,0xa7,0xc4,0x1c,0xf0,0xe6,0x17,0x5a,0x18,0x7e,0x7f,0xbb,0xc0,0x8f,0x08,
-0x3d,0xf7,0xa4,0x9a,0x99,0xb4,0x7b,0x4d,0x81,0xfc,0xe1,0x36,0x1b,0xb5,0x9a,0xa7,
-0xdc,0xdc,0x6e,0x1c,0xe3,0x4a,0x4e,0x57,0x80,0x86,0xb4,0xfa,0x01,0x94,0x3d,0x92,
-0x49,0xa4,0x0f,0x95,0x00,0x57,0xcf,0xe6,0x74,0xd7,0xaf,0x8a,0x93,0x23,0x83,0x67,
-0x1f,0xcd,0xb9,0xe1,0x3b,0x9f,0x86,0x04,0x3c,0x6b,0x88,0x5f,0x7f,0x87,0x54,0x98,
-0xf7,0x2f,0x0c,0x5c,0x23,0x95,0x11,0xe1,0x01,0x28,0x56,0x5c,0x5e,0x82,0xe2,0x22,
-0x12,0x6b,0x1e,0x90,0x27,0x16,0x80,0x50,0x65,0x28,0xc1,0x67,0xf5,0x36,0xf2,0xfb,
-0xff,0x30,0xf1,0x06,0x28,0x72,0x2e,0xb8,0x64,0xca,0xa6,0xd0,0x14,0xc7,0x50,0xca,
-0xb2,0xa3,0x82,0xda,0xe8,0xb2,0x77,0x60,0xac,0xc9,0x94,0x93,0x8a,0xcf,0xb5,0xfe,
-0x28,0x90,0x96,0x1d,0x5c,0x80,0x1e,0xcb,0xf3,0xdb,0x3c,0x3a,0x03,0xeb,0xc7,0x29,
-0x2c,0xa2,0x55,0x5e,0x66,0x6b,0xd4,0xa7,0x60,0xa7,0xe9,0x56,0xdc,0x1e,0xf2,0x02,
-0x5f,0x49,0xb7,0x29,0x31,0x4f,0x94,0x2b,0xd3,0xd7,0x1a,0x51,0x16,0xe1,0x0b,0x5b,
-0xcf,0xa1,0x98,0x70,0x24,0x50,0x11,0x3b,0x97,0x84,0x9f,0x5c,0xdc,0x81,0xfe,0x64,
-0x64,0xee,0x2a,0xa5,0x91,0xd3,0x14,0xc6,0x6e,0xe6,0x3b,0xf8,0x77,0x2b,0x35,0xa3,
-0x2d,0x6c,0x3b,0xc2,0xd5,0x8e,0x28,0x1a,0x67,0xf0,0x56,0x55,0x11,0xf0,0x78,0x91,
-0x81,0xa9,0xf4,0xd2,0xbb,0x06,0xe4,0x21,0x7f,0x9d,0x33,0x49,0x30,0x22,0x06,0x96,
-0x85,0x31,0xe6,0xd7,0x9b,0xd0,0x27,0x53,0x6c,0xe2,0x0c,0xcf,0x73,0x0d,0x18,0x26,
-0x56,0x21,0xcd,0xf8,0xad,0x1d,0xfb,0x82,0x6b,0x01,0x21,0x45,0x17,0x96,0x11,0x88,
-0x27,0xc1,0x2e,0x11,0xa9,0x23,0x95,0xf2,0xbe,0xaa,0xba,0xc7,0xa0,0xf5,0x42,0x21,
-0xed,0xa0,0x7d,0x02,0xf8,0xbe,0x58,0x23,0x8f,0xdb,0x0d,0x7b,0xdc,0xd8,0x8f,0xe2,
-0xe4,0xd9,0x99,0x26,0x08,0x7b,0x97,0x6b,0x4f,0xfe,0x3f,0x6a,0x49,0xb0,0x8e,0x7b,
-0xe5,0xf9,0x0d,0x8c,0x4e,0x39,0x8c,0x95,0x81,0x80,0xd9,0x3a,0xc2,0x9f,0x65,0x3f,
-0xd9,0x2f,0xa3,0xd7,0x4c,0xa3,0xf6,0x93,0xd7,0x84,0xb0,0xaf,0x2d,0xe2,0xcd,0x04,
-0x56,0x9e,0x63,0x08,0x1b,0x23,0x61,0xad,0xdd,0x17,0xa3,0x94,0x51,0xaa,0x7a,0xd3,
-0xac,0x90,0xc2,0x58,0x61,0x86,0xec,0x0e,0x97,0xfc,0x45,0xb4,0x3b,0xa2,0xdc,0xb2,
-0xdd,0xe2,0x80,0x01,0x08,0x02,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,
-0x80,0x03,};
-
-#endif /* MPLAYER_OSD_FONT_H */
diff --git a/sub/osd_font.pfb b/sub/osd_font.pfb
new file mode 100644
index 0000000..a4a65a1
Binary files /dev/null and b/sub/osd_font.pfb differ
diff --git a/sub/osd_libass.c b/sub/osd_libass.c
new file mode 100644
index 0000000..dae1ed0
--- /dev/null
+++ b/sub/osd_libass.c
@@ -0,0 +1,366 @@
+/*
+ * This file is part of mplayer2.
+ *
+ * mplayer2 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mplayer2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mplayer2. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
+#include "config.h"
+
+#include "talloc.h"
+#include "mp_msg.h"
+#include "sub.h"
+#include "libavutil/common.h"
+
+static const char osd_font_pfb[] =
+#include "sub/osd_font.h"
+;
+
+#include "sub/ass_mp.h"
+#include "mp_core.h"
+
+
+// Map OSD symbols (e.g. OSD_PLAY) to the glyphs in osd_font_pfb[].
+#define OSD_CODEPOINTS 0xE000
+
+void osd_init_backend(struct osd_state *osd)
+{
+ /* The player adds file-specific embedded fonts with ass_add_font()
+ * and clears them later with ass_clear_fonts(). Since these
+ * operations affect the whole library, this would lose the OSD font.
+ * So we use a separate ass_library instance for OSD rendering.
+ */
+ osd->osd_ass_library = mp_ass_init(osd->opts);
+ ass_add_font(osd->osd_ass_library, "OSD", (void *)osd_font_pfb,
+ sizeof(osd_font_pfb) - 1);
+
+ osd->osd_render = ass_renderer_init(osd->osd_ass_library);
+ mp_ass_configure_fonts(osd->osd_render);
+ ass_set_aspect_ratio(osd->osd_render, 1.0, 1.0);
+}
+
+void osd_destroy_backend(struct osd_state *osd)
+{
+ if (osd) {
+ if (osd->osd_render)
+ ass_renderer_done(osd->osd_render);
+ osd->osd_render = NULL;
+ ass_library_done(osd->osd_ass_library);
+ osd->osd_ass_library = NULL;
+ }
+}
+
+static void eosd_draw_alpha_a8i8(unsigned char *src,
+ int src_w, int src_h,
+ int src_stride,
+ unsigned char *dst_a,
+ unsigned char *dst_i,
+ size_t dst_stride,
+ int dst_x, int dst_y,
+ uint32_t color)
+{
+ const unsigned int r = (color >> 24) & 0xff;
+ const unsigned int g = (color >> 16) & 0xff;
+ const unsigned int b = (color >> 8) & 0xff;
+ const unsigned int a = 0xff - (color & 0xff);
+
+ int gray = (r + g + b) / 3; // not correct
+
+ dst_a += dst_y * dst_stride + dst_x;
+ dst_i += dst_y * dst_stride + dst_x;
+
+ for (int y = 0; y < src_h; y++) {
+ for (int x = 0; x < src_w; x++) {
+ unsigned char as = ((*src) * a + 255) >> 8;
+ unsigned char bs = (gray * as + 255) >> 8;
+ /* In the old mplayer OSD format, alpha=0 means transparency,
+ * but alpha=1..255 is opaque..transparent. */
+ *dst_i = (*dst_i * (255-as) >> 8) + bs;
+ unsigned char old_transparency = *dst_a - 1;
+ *dst_a = (old_transparency * (255-as) + 255 >> 8) + 1;
+
+ dst_a++;
+ dst_i++;
+ src++;
+ }
+ dst_a += dst_stride - src_w;
+ dst_i += dst_stride - src_w;
+ src += src_stride - src_w;
+ }
+}
+
+static void eosd_render_a8i8(unsigned char *a, unsigned char *i, size_t stride,
+ int x, int y, ASS_Image *imgs)
+{
+ for (ASS_Image *p = imgs; p; p = p->next) {
+ eosd_draw_alpha_a8i8(p->bitmap, p->w, p->h, p->stride, a, i, stride,
+ x + p->dst_x, y + p->dst_y, p->color);
+ }
+}
+
+static bool ass_bb(ASS_Image *imgs, int *x1, int *y1, int *x2, int *y2)
+{
+ *x1 = *y1 = INT_MAX;
+ *x2 = *y2 = INT_MIN;
+ for (ASS_Image *p = imgs; p; p = p->next) {
+ *x1 = FFMIN(*x1, p->dst_x);
+ *y1 = FFMIN(*y1, p->dst_y);
+ *x2 = FFMAX(*x2, p->dst_x + p->w);
+ *y2 = FFMAX(*y2, p->dst_y + p->h);
+ }
+ return *x1 < *x2 && *y1 < *y2;
+}
+
+static void draw_ass_osd(struct osd_state *osd, mp_osd_obj_t *obj)
+{
+ ass_set_frame_size(osd->osd_render, osd->w, osd->h);
+
+ ASS_Image *imgs = ass_render_frame(osd->osd_render, obj->osd_track, 0,
+ NULL);
+
+ int x1, y1, x2, y2;
+ if (!ass_bb(imgs, &x1, &y1, &x2, &y2)) {
+ obj->flags &= ~OSDFLAG_VISIBLE;
+ return;
+ }
+
+ obj->bbox.x1 = x1;
+ obj->bbox.y1 = y1;
+ obj->bbox.x2 = x2;
+ obj->bbox.y2 = y2;
+ obj->flags |= OSDFLAG_BBOX;
+ osd_alloc_buf(obj);
+
+ eosd_render_a8i8(obj->alpha_buffer, obj->bitmap_buffer, obj->stride,
+ -x1, -y1, imgs);
+}
+
+
+static void update_font_scale(ASS_Track *track, ASS_Style *style, double factor)
+{
+ // duplicated from ass_mp.c
+ double fs = track->PlayResY * factor / 100.;
+ /* The font size is always proportional to video height only;
+ * real -subfont-autoscale behavior is not implemented.
+ * Apply a correction that corresponds to about 4:3 aspect ratio
+ * video to get a size somewhat closer to what non-libass rendering
+ * would produce with the same text_font_scale_factor
+ * and subtitle_autoscale.
+ */
+ if (subtitle_autoscale == 2)
+ fs *= 1.3;
+ else if (subtitle_autoscale == 3)
+ fs *= 1.7;
+ style->FontSize = fs;
+ style->Outline = style->FontSize / 16;
+}
+
+
+static ASS_Track *create_osd_ass_track(struct osd_state *osd)
+{
+ ASS_Track *track = mp_ass_default_track(osd->osd_ass_library, osd->opts);
+ ASS_Style *style = track->styles + track->default_style;
+
+ track->PlayResX = track->PlayResY * 1.33333;
+
+ update_font_scale(track, style, osd_font_scale_factor);
+
+ style->Alignment = 5;
+
+ free(style->FontName);
+ style->FontName = strdup(font_name ? font_name : "Sans");
+
+ return track;
+}
+
+static ASS_Event *get_osd_ass_event(ASS_Track *track)
+{
+ ass_flush_events(track);
+ ass_alloc_event(track);
+ ASS_Event *event = track->events + 0;
+ event->Start = 0;
+ event->Duration = 100;
+ event->Style = track->default_style;
+ return event;
+}
+
+static char *append_utf8_buffer(char *buffer, uint32_t codepoint)
+{
+ char data[8];
+ uint8_t tmp;
+ char *output = data;
+ PUT_UTF8(codepoint, tmp, *output++ = tmp;);
+ return talloc_strndup_append_buffer(buffer, data, output - data);
+}
+
+void osd_get_function_sym(char *buffer, size_t buffer_size, int osd_function)
+{
+ // 0xFF is never valid UTF-8, so we can use it to escape OSD symbols.
+ snprintf(buffer, buffer_size, "\xFF%c", osd_function);
+}
+
+static char *mangle_ass(const char *in)
+{
+ char *res = talloc_strdup(NULL, "");
+ while (*in) {
+ // As used by osd_get_function_sym().
+ if (in[0] == '\xFF' && in[1]) {
+ /* The special play/pause etc symbols are taller than normal
+ * letters, and do not look very good when libass renders them
+ * with the base of the letters at the same level. Scale
+ * the symbols down to 70% size so they're closer to the
+ * letter sizes in usual fonts. */
+ res = talloc_strdup_append_buffer(res, "{\\fnOSD\\fscx70\\fscy70}");
+ res = append_utf8_buffer(res, OSD_CODEPOINTS + in[1]);
+ res = talloc_strdup_append_buffer(res, "{\\r}");
+ in += 2;
+ continue;
+ }
+ if (*in == '{')
+ res = talloc_strdup_append_buffer(res, "\\");
+ res = talloc_strndup_append_buffer(res, in, 1);
+ /* Libass has a couple of escapes like "\n" and "\{", but only
+ * those specific cases are recognized, and there is no escape
+ * for "\" itself. This makes it impossible to quote strings
+ * like "\n"; for example, "\\n" would be interpreted as a
+ * literal "\" followed by "\n" escape for linefeed. Work around
+ * this by adding the ZERO WIDTH NO-BREAK SPACE character after
+ * each "\". This ensures it will not be interpreted as an escape
+ * and should not change visible output.
+ */
+ if (*in == '\\')
+ res = append_utf8_buffer(res, 0xfeff);
+ in++;
+ }
+ return res;
+}
+
+void vo_update_text_osd(struct osd_state *osd, mp_osd_obj_t* obj)
+{
+ if (!obj->osd_track)
+ obj->osd_track = create_osd_ass_track(osd);
+ ASS_Event *event = get_osd_ass_event(obj->osd_track);
+ event->Text = mangle_ass(osd->osd_text);
+ draw_ass_osd(osd, obj);
+ talloc_free(event->Text);
+ event->Text = NULL;
+}
+
+#define OSDBAR_ELEMS 46
+
+void vo_update_text_progbar(struct osd_state *osd, mp_osd_obj_t* obj)
+{
+ obj->flags |= OSDFLAG_CHANGED | OSDFLAG_VISIBLE;
+
+ if (vo_osd_progbar_type < 0) {
+ obj->flags &= ~OSDFLAG_VISIBLE;
+ return;
+ }
+
+ if (!obj->osd_track)
+ obj->osd_track = create_osd_ass_track(osd);
+
+ ASS_Style *style = obj->osd_track->styles + obj->osd_track->default_style;
+
+ style->Alignment = 10;
+ style->MarginL = style->MarginR = style->MarginV = 0;
+
+ // We need a fixed font size with respect to the OSD width.
+ // Assume the OSD bar takes 2/3 of the OSD width at PlayResY=288 and
+ // FontSize=17 with an OSD aspect ratio of 16:9. Rescale as needed.
+ // xxx can fail when unknown fonts are involved
+ double asp = (double)osd->w / osd->h;
+ double scale = (asp / 1.77777) * (obj->osd_track->PlayResY / 288.0);
+ style->ScaleX = style->ScaleY = scale;
+ style->FontSize = 17.0;
+ style->Outline = style->FontSize / 16 * scale;
+
+ int active = (vo_osd_progbar_value * OSDBAR_ELEMS + 255) / 256;
+ active = FFMIN(OSDBAR_ELEMS, FFMAX(active, 0));
+
+ char *text = talloc_strdup(NULL, "{\\q2}");
+
+ if (vo_osd_progbar_type >= 32) {
+ text = append_utf8_buffer(text, vo_osd_progbar_type);
+ } else if (vo_osd_progbar_type > 0) {
+ text = talloc_strdup_append_buffer(text, "{\\fnOSD}");
+ text = append_utf8_buffer(text, OSD_CODEPOINTS + vo_osd_progbar_type);
+ text = talloc_strdup_append_buffer(text, "{\\r}");
+ }
+
+ //xxx space in normal font, because OSD font doesn't have a space
+ text = talloc_strdup_append_buffer(text, "\\h");
+ text = talloc_strdup_append_buffer(text, "{\\fnOSD}");
+
+ text = append_utf8_buffer(text, OSD_CODEPOINTS + OSD_PB_START);
+ for (int n = 0; n < active; n++)
+ text = append_utf8_buffer(text, OSD_CODEPOINTS + OSD_PB_0);
+ for (int n = 0; n < OSDBAR_ELEMS - active; n++)
+ text = append_utf8_buffer(text, OSD_CODEPOINTS + OSD_PB_1);
+ text = append_utf8_buffer(text, OSD_CODEPOINTS + OSD_PB_END);
+
+ ASS_Event *event = get_osd_ass_event(obj->osd_track);
+ event->Text = text;
+ draw_ass_osd(osd, obj);
+ event->Text = NULL;
+
+ talloc_free(text);
+}
+
+void vo_update_text_sub(struct osd_state *osd, mp_osd_obj_t* obj)
+{
+ struct MPOpts *opts = osd->opts;
+
+ obj->flags |= OSDFLAG_CHANGED | OSDFLAG_VISIBLE;
+
+ if (!vo_sub || !opts->sub_visibility) {
+ obj->flags &= ~OSDFLAG_VISIBLE;
+ return;
+ }
+
+ if (!obj->osd_track)
+ obj->osd_track = mp_ass_default_track(osd->osd_ass_library, osd->opts);
+
+ ASS_Style *style = obj->osd_track->styles + obj->osd_track->default_style;
+
+ style->MarginV = obj->osd_track->PlayResY * ((100 - sub_pos)/110.0);
+ update_font_scale(obj->osd_track, style, text_font_scale_factor);
+
+ char *text = talloc_strdup(NULL, "");
+
+ for (int n = 0; n < vo_sub->lines; n++)
+ text = talloc_asprintf_append_buffer(text, "%s\n", vo_sub->text[n]);
+
+ ASS_Event *event = get_osd_ass_event(obj->osd_track);
+ event->Text = mangle_ass(text);
+ draw_ass_osd(osd, obj);
+ talloc_free(event->Text);
+ event->Text = NULL;
+
+ talloc_free(text);
+}
+
+// Unimplemented.
+void vo_update_text_teletext(struct osd_state *osd, mp_osd_obj_t *obj)
+{
+ obj->flags |= OSDFLAG_CHANGED;
+ obj->flags &= ~OSDFLAG_VISIBLE;
+ if (!vo_osd_teletext_page || !vo_osd_teletext_mode)
+ return;
+ mp_msg(MSGT_OSD, MSGL_ERR, "OSD: teletext rendering not implemented\n");
+}
diff --git a/sub/sd.h b/sub/sd.h
index d5aea5c..7a0740f 100644
--- a/sub/sd.h
+++ b/sub/sd.h
@@ -3,11 +3,14 @@
struct osd_state;
struct sh_sub;
+struct sub_bitmaps;
struct sd_functions {
- void (*init)(struct sh_sub *sh, struct osd_state *osd);
+ int (*init)(struct sh_sub *sh, struct osd_state *osd);
void (*decode)(struct sh_sub *sh, struct osd_state *osd,
void *data, int data_len, double pts, double duration);
+ void (*get_bitmaps)(struct sh_sub *sh, struct osd_state *osd,
+ struct sub_bitmaps *res);
void (*reset)(struct sh_sub *sh, struct osd_state *osd);
void (*switch_off)(struct sh_sub *sh, struct osd_state *osd);
void (*uninit)(struct sh_sub *sh);
diff --git a/sub/sd_ass.c b/sub/sd_ass.c
index 6958764..1cdc1e5 100644
--- a/sub/sd_ass.c
+++ b/sub/sd_ass.c
@@ -23,6 +23,7 @@
#include "talloc.h"
+#include "options.h"
#include "mpcommon.h"
#include "mp_msg.h"
#include "libmpdemux/stheader.h"
@@ -33,6 +34,7 @@
struct sd_ass_priv {
struct ass_track *ass_track;
+ bool vsfilter_aspect;
bool incomplete_event;
};
@@ -43,7 +45,7 @@ static void free_last_event(ASS_Track *track)
track->n_events--;
}
-static void init(struct sh_sub *sh, struct osd_state *osd)
+static int init(struct sh_sub *sh, struct osd_state *osd)
{
struct sd_ass_priv *ctx;
@@ -61,10 +63,8 @@ static void init(struct sh_sub *sh, struct osd_state *osd)
ctx->ass_track = mp_ass_default_track(osd->ass_library, sh->opts);
}
- assert(osd->ass_track == NULL);
- osd->ass_track = ctx->ass_track;
- osd->vsfilter_aspect = sh->type == 'a';
- osd->ass_track_changed = true;
+ ctx->vsfilter_aspect = sh->type == 'a';
+ return 0;
}
static void decode(struct sh_sub *sh, struct osd_state *osd, void *data,
@@ -125,6 +125,31 @@ static void decode(struct sh_sub *sh, struct osd_state *osd, void *data,
event->Text = strdup(buf);
}
+static void get_bitmaps(struct sh_sub *sh, struct osd_state *osd,
+ struct sub_bitmaps *res)
+{
+ struct sd_ass_priv *ctx = sh->context;
+ struct MPOpts *opts = osd->opts;
+
+ if (osd->sub_pts == MP_NOPTS_VALUE)
+ return;
+
+ double scale = osd->normal_scale;
+ if (ctx->vsfilter_aspect && opts->ass_vsfilter_aspect_compat)
+ scale = osd->vsfilter_scale;
+ ASS_Renderer *renderer = osd->ass_renderer;
+ mp_ass_configure(renderer, opts, &osd->dim, osd->unscaled);
+ ass_set_aspect_ratio(renderer, scale, 1);
+ int changed;
+ res->imgs = ass_render_frame(renderer, ctx->ass_track,
+ osd->sub_pts * 1000 + .5, &changed);
+ if (changed == 2)
+ res->bitmap_id = ++res->bitmap_pos_id;
+ else if (changed)
+ res->bitmap_pos_id++;
+ res->type = SUBBITMAP_LIBASS;
+}
+
static void reset(struct sh_sub *sh, struct osd_state *osd)
{
struct sd_ass_priv *ctx = sh->context;
@@ -133,12 +158,6 @@ static void reset(struct sh_sub *sh, struct osd_state *osd)
ctx->incomplete_event = false;
}
-static void switch_off(struct sh_sub *sh, struct osd_state *osd)
-{
- reset(sh, osd);
- osd->ass_track = NULL;
-}
-
static void uninit(struct sh_sub *sh)
{
struct sd_ass_priv *ctx = sh->context;
@@ -150,7 +169,26 @@ static void uninit(struct sh_sub *sh)
const struct sd_functions sd_ass = {
.init = init,
.decode = decode,
+ .get_bitmaps = get_bitmaps,
.reset = reset,
- .switch_off = switch_off,
+ .switch_off = reset,
.uninit = uninit,
};
+
+
+struct sh_sub *sd_ass_create_from_track(struct ass_track *track,
+ bool vsfilter_aspect,
+ struct MPOpts *opts)
+{
+ struct sh_sub *sh = talloc(NULL, struct sh_sub);
+ sh->opts = opts;
+ sh->type = 'a';
+ sh->title = track->name;
+ sh->sd_driver = &sd_ass;
+ struct sd_ass_priv *ctx = talloc_zero(sh, struct sd_ass_priv);
+ sh->context = ctx;
+ ctx->ass_track = track;
+ ctx->vsfilter_aspect = vsfilter_aspect;
+ sh->initialized = true;
+ return sh;
+}
diff --git a/sub/sd_lavc.c b/sub/sd_lavc.c
new file mode 100644
index 0000000..deedc0b
--- /dev/null
+++ b/sub/sd_lavc.c
@@ -0,0 +1,240 @@
+/*
+ * This file is part of mplayer2.
+ *
+ * mplayer2 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * mplayer2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with mplayer2. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdlib.h>
+
+#include <libavcodec/avcodec.h>
+
+#include "mp_msg.h"
+#include "libmpdemux/stheader.h"
+#include "sd.h"
+#include "spudec.h"
+// Current code still pushes subs directly to global spudec
+#include "sub.h"
+
+struct sd_lavc_priv {
+ AVCodecContext *avctx;
+ int count;
+ struct sub_bitmap *inbitmaps;
+ struct sub_bitmap *outbitmaps;
+ bool bitmaps_changed;
+ double endpts;
+};
+
+static int init(struct sh_sub *sh, struct osd_state *osd)
+{
+ if (sh->initialized)
+ return 0;
+ struct sd_lavc_priv *priv = talloc_zero(NULL, struct sd_lavc_priv);
+ enum CodecID cid = CODEC_ID_NONE;
+ switch (sh->type) {
+ case 'b':
+ cid = CODEC_ID_DVB_SUBTITLE; break;
+ case 'p':
+ cid = CODEC_ID_HDMV_PGS_SUBTITLE; break;
+ case 'x':
+ cid = CODEC_ID_XSUB; break;
+ case 'v':
+ cid = CODEC_ID_DVD_SUBTITLE; break;
+ }
+ AVCodecContext *ctx = NULL;
+ AVCodec *sub_codec = avcodec_find_decoder(cid);
+ if (!sub_codec)
+ goto error;
+ ctx = avcodec_alloc_context3(sub_codec);
+ if (!ctx)
+ goto error;
+ ctx->extradata_size = sh->extradata_len;
+ ctx->extradata = sh->extradata;
+ if (avcodec_open2(ctx, sub_codec, NULL) < 0)
+ goto error;
+ priv->avctx = ctx;
+ sh->context = priv;
+ return 0;
+
+ error:
+ mp_msg(MSGT_SUBREADER, MSGL_ERR,
+ "Could not open libavcodec subtitle decoder\n");
+ av_free(ctx);
+ talloc_free(priv);
+ return -1;
+}
+
+static void clear(struct sd_lavc_priv *priv)
+{
+ priv->count = 0;
+ talloc_free(priv->inbitmaps);
+ talloc_free(priv->outbitmaps);
+ priv->inbitmaps = priv->outbitmaps = NULL;
+ priv->bitmaps_changed = true;
+ priv->endpts = MP_NOPTS_VALUE;
+}
+
+static void old_spudec_render(AVCodecContext *ctx, AVSubtitle *sub,
+ double pts, double endpts)
+{
+ if (!vo_spudec)
+ vo_spudec = spudec_new_scaled(NULL, ctx->width, ctx->height, NULL, 0);
+ spudec_set_paletted(vo_spudec,
+ sub->rects[0]->pict.data[0],
+ sub->rects[0]->pict.linesize[0],
+ sub->rects[0]->pict.data[1],
+ sub->rects[0]->x, sub->rects[0]->y,
+ sub->rects[0]->w, sub->rects[0]->h,
+ pts, endpts);
+ vo_osd_changed(OSDTYPE_SPU);
+}
+
+static void decode(struct sh_sub *sh, struct osd_state *osd, void *data,
+ int data_len, double pts, double duration)
+{
+ struct sd_lavc_priv *priv = sh->context;
+ AVCodecContext *ctx = priv->avctx;
+ AVSubtitle sub;
+ AVPacket pkt;
+
+ clear(priv);
+ av_init_packet(&pkt);
+ pkt.data = data;
+ pkt.size = data_len;
+ pkt.pts = pts * 1000;
+ if (duration >= 0)
+ pkt.convergence_duration = duration * 1000;
+ int got_sub;
+ int res = avcodec_decode_subtitle2(ctx, &sub, &got_sub, &pkt);
+ if (res < 0 || !got_sub)
+ return;
+ if (pts != MP_NOPTS_VALUE) {
+ if (sub.end_display_time > sub.start_display_time)
+ duration = (sub.end_display_time - sub.start_display_time) / 1000.0;
+ pts += sub.start_display_time / 1000.0;
+ }
+ double endpts = MP_NOPTS_VALUE;
+ if (pts != MP_NOPTS_VALUE && duration >= 0)
+ endpts = pts + duration;
+ if (vo_spudec && sub.num_rects == 0)
+ spudec_set_paletted(vo_spudec, NULL, 0, NULL, 0, 0, 0, 0, pts, endpts);
+ if (sub.num_rects > 0) {
+ switch (sub.rects[0]->type) {
+ case SUBTITLE_BITMAP:
+ // Assume resolution heuristics only work for PGS and DVB
+ if (!osd->support_rgba || sh->type != 'p' && sh->type != 'b') {
+ old_spudec_render(ctx, &sub, pts, endpts);
+ break;
+ }
+ priv->inbitmaps = talloc_array(priv, struct sub_bitmap,
+ sub.num_rects);
+ for (int i = 0; i < sub.num_rects; i++) {
+ struct AVSubtitleRect *r = sub.rects[i];
+ struct sub_bitmap *b = &priv->inbitmaps[i];
+ uint32_t *outbmp = talloc_size(priv->inbitmaps,
+ r->w * r->h * 4);
+ b->bitmap = outbmp;
+ b->w = r->w;
+ b->h = r->h;
+ b->x = r->x;
+ b->y = r->y;
+ uint8_t *inbmp = r->pict.data[0];
+ uint32_t *palette = (uint32_t *) r->pict.data[1];
+ for (int y = 0; y < r->h; y++) {
+ for (int x = 0; x < r->w; x++)
+ *outbmp++ = palette[*inbmp++];
+ inbmp += r->pict.linesize[0] - r->w;
+ };
+ }
+ priv->count = sub.num_rects;
+ priv->endpts = endpts;
+ break;
+ default:
+ mp_msg(MSGT_SUBREADER, MSGL_ERR, "sd_lavc: unsupported subtitle "
+ "type from libavcodec\n");
+ break;
+ }
+ }
+ avsubtitle_free(&sub);
+}
+
+static void get_bitmaps(struct sh_sub *sh, struct osd_state *osd,
+ struct sub_bitmaps *res)
+{
+ struct sd_lavc_priv *priv = sh->context;
+
+ if (priv->endpts != MP_NOPTS_VALUE && (osd->sub_pts >= priv->endpts ||
+ osd->sub_pts < priv->endpts - 300))
+ clear(priv);
+ if (!osd->support_rgba)
+ return;
+ if (priv->bitmaps_changed && priv->count > 0)
+ priv->outbitmaps = talloc_memdup(priv, priv->inbitmaps,
+ talloc_get_size(priv->inbitmaps));
+ bool pos_changed = false;
+ // Hope that PGS subs set these and 720/576 works for dvb subs
+ int inw = priv->avctx->width;
+ if (!inw)
+ inw = 720;
+ int inh = priv->avctx->height;
+ if (!inh)
+ inh = 576;
+ struct mp_eosd_res *d = &osd->dim;
+ double xscale = (double) (d->w - d->ml - d->mr) / inw;
+ double yscale = (double) (d->h - d->mt - d->mb) / inh;
+ for (int i = 0; i < priv->count; i++) {
+ struct sub_bitmap *bi = &priv->inbitmaps[i];
+ struct sub_bitmap *bo = &priv->outbitmaps[i];
+#define SET(var, val) pos_changed |= var != (int)(val); var = (val)
+ SET(bo->x, bi->x * xscale + d->ml);
+ SET(bo->y, bi->y * yscale + d->mt);
+ SET(bo->dw, bi->w * xscale);
+ SET(bo->dh, bi->h * yscale);
+ }
+ res->parts = priv->outbitmaps;
+ res->part_count = priv->count;
+ if (priv->bitmaps_changed)
+ res->bitmap_id = ++res->bitmap_pos_id;
+ else if (pos_changed)
+ res->bitmap_pos_id++;
+ priv->bitmaps_changed = false;
+ res->type = SUBBITMAP_RGBA;
+ res->scaled = xscale != 1 || yscale != 1;
+}
+
+static void reset(struct sh_sub *sh, struct osd_state *osd)
+{
+ struct sd_lavc_priv *priv = sh->context;
+
+ clear(priv);
+ // lavc might not do this right for all codecs; may need close+reopen
+ avcodec_flush_buffers(priv->avctx);
+}
+
+static void uninit(struct sh_sub *sh)
+{
+ struct sd_lavc_priv *priv = sh->context;
+
+ avcodec_close(priv->avctx);
+ av_free(priv->avctx);
+ talloc_free(priv);
+}
+
+const struct sd_functions sd_lavc = {
+ .init = init,
+ .decode = decode,
+ .get_bitmaps = get_bitmaps,
+ .reset = reset,
+ .switch_off = reset,
+ .uninit = uninit,
+};
diff --git a/sub/spudec.c b/sub/spudec.c
index a871aa3..8c4ba97 100644
--- a/sub/spudec.c
+++ b/sub/spudec.c
@@ -35,7 +35,7 @@
#include <string.h>
#include <math.h>
-#include <libavutil/avutil.h>
+#include <libavutil/common.h>
#include <libavutil/intreadwrite.h>
#include <libswscale/swscale.h>
@@ -119,7 +119,6 @@ typedef struct {
unsigned char *scaled_aimage;
int auto_palette; /* 1 if we lack a palette and must use an heuristic. */
int font_start_level; /* Darkest value used for the computed font */
- struct vo *hw_spu;
int spu_changed;
unsigned int forced_subs_only; /* flag: 0=display all subtitle, !0 display only forced subtitles */
unsigned int is_forced_sub; /* true if current subtitle is a forced subtitle */
@@ -580,16 +579,7 @@ static void spudec_process_control(spudec_handle_t *this, int pts100)
static void spudec_decode(spudec_handle_t *this, int pts100)
{
- if (!this->hw_spu)
spudec_process_control(this, pts100);
- else if (pts100 >= 0) {
- static vo_mpegpes_t packet = { NULL, 0, 0x20, 0 };
- static vo_mpegpes_t *pkg=&packet;
- packet.data = this->packet;
- packet.size = this->packet_size;
- packet.timestamp = pts100;
- vo_draw_frame(this->hw_spu, (uint8_t**)&pkg);
- }
}
int spudec_changed(void * this)
@@ -1209,16 +1199,6 @@ nothing_to_do:
}
}
-void spudec_update_palette(void * this, unsigned int *palette)
-{
- spudec_handle_t *spu = this;
- if (spu && palette) {
- memcpy(spu->global_palette, palette, sizeof(spu->global_palette));
- if(spu->hw_spu)
- vo_control(spu->hw_spu, VOCTRL_SET_SPU_PALETTE, spu->global_palette);
- }
-}
-
void spudec_set_font_factor(void * this, double factor)
{
spudec_handle_t *spu = this;
@@ -1334,15 +1314,6 @@ void spudec_free(void *this)
}
}
-void spudec_set_hw_spu(void *this, struct vo *hw_spu)
-{
- spudec_handle_t *spu = this;
- if (!spu)
- return;
- spu->hw_spu = hw_spu;
- vo_control(hw_spu, VOCTRL_SET_SPU_PALETTE, spu->global_palette);
-}
-
/**
* palette must contain at least 256 32-bit entries, otherwise crashes
* are possible
diff --git a/sub/spudec.h b/sub/spudec.h
index 2b3828c..ad7ece4 100644
--- a/sub/spudec.h
+++ b/sub/spudec.h
@@ -26,14 +26,12 @@ void spudec_assemble(void *this, unsigned char *packet, unsigned int len, int pt
void spudec_draw(void *this, void (*draw_alpha)(void *ctx, int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride), void *ctx);
void spudec_draw_scaled(void *this, unsigned int dxs, unsigned int dys, void (*draw_alpha)(void *ctx, int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride), void *ctx);
int spudec_apply_palette_crop(void *this, uint32_t palette, int sx, int ex, int sy, int ey);
-void spudec_update_palette(void *this, unsigned int *palette);
void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigned int frame_height, uint8_t *extradata, int extradata_len);
void *spudec_new(unsigned int *palette);
void spudec_free(void *this);
void spudec_reset(void *this); // called after seek
int spudec_visible(void *this); // check if spu is visible
void spudec_set_font_factor(void * this, double factor); // sets the equivalent to ffactor
-void spudec_set_hw_spu(void *this, struct vo *hw_spu);
int spudec_changed(void *this);
void spudec_calc_bbox(void *me, unsigned int dxs, unsigned int dys, unsigned int* bbox);
void spudec_set_forced_subs_only(void * const this, const unsigned int flag);
diff --git a/sub/sub.c b/sub/sub.c
index efe6489..4237c38 100644
--- a/sub/sub.c
+++ b/sub/sub.c
@@ -33,36 +33,15 @@
#include "osdep/timer.h"
#include "talloc.h"
+#include "options.h"
#include "mplayer.h"
#include "mp_msg.h"
#include "libvo/video_out.h"
-#include "font_load.h"
#include "sub.h"
+#include "sub/ass_mp.h"
#include "spudec.h"
#include "libavutil/common.h"
-#define NEW_SPLITTING
-
-
-// Structures needed for the new splitting algorithm.
-// osd_text_t contains the single subtitle word.
-// osd_text_p is used to mark the lines of subtitles
-struct osd_text_t {
- int osd_kerning, //kerning with the previous word
- osd_length, //orizontal length inside the bbox
- text_length, //number of characters
- *text; //characters
- struct osd_text_t *prev,
- *next;
-};
-
-struct osd_text_p {
- int value;
- struct osd_text_t *ott;
- struct osd_text_p *prev,
- *next;
-};
-//^
char * const sub_osd_names[]={
_("Seekbar"),
@@ -81,14 +60,10 @@ char * const sub_osd_names[]={
};
char * const sub_osd_names_short[] ={ "", "|>", "||", "[]", "<<" , ">>", "", "", "", "", "", "", "" };
-//static int vo_font_loaded=-1;
-font_desc_t* vo_font=NULL;
-
void* vo_osd_teletext_page=NULL;
int vo_osd_teletext_half = 0;
int vo_osd_teletext_mode=0;
int vo_osd_teletext_format=0;
-int vo_osd_teletext_scale=0;
int sub_unicode=0;
int sub_utf8=0;
int sub_pos=100;
@@ -102,49 +77,28 @@ int sub_justify=0;
static nav_highlight_t nav_hl;
#endif
-// return the real height of a char:
-static inline int get_height(int c,int h){
- int font;
- if ((font=vo_font->font[c])>=0)
- if(h<vo_font->pic_a[font]->h) h=vo_font->pic_a[font]->h;
- return h;
-}
-
-// renders char to a big per-object buffer where alpha and bitmap are separated
-static void draw_alpha_buf(mp_osd_obj_t* obj, int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
-{
- int dststride = obj->stride;
- int dstskip = obj->stride-w;
- int srcskip = stride-w;
- int i, j;
- unsigned char *b = obj->bitmap_buffer + (y0-obj->bbox.y1)*dststride + (x0-obj->bbox.x1);
- unsigned char *a = obj->alpha_buffer + (y0-obj->bbox.y1)*dststride + (x0-obj->bbox.x1);
- unsigned char *bs = src;
- unsigned char *as = srca;
-
- if (x0 < obj->bbox.x1 || x0+w > obj->bbox.x2 || y0 < obj->bbox.y1 || y0+h > obj->bbox.y2) {
- fprintf(stderr, "osd text out of range: bbox [%d %d %d %d], txt [%d %d %d %d]\n",
- obj->bbox.x1, obj->bbox.x2, obj->bbox.y1, obj->bbox.y2,
- x0, x0+w, y0, y0+h);
- return;
- }
-
- for (i = 0; i < h; i++) {
- for (j = 0; j < w; j++, b++, a++, bs++, as++) {
- if (*b < *bs) *b = *bs;
- if (*as) {
- if (*a == 0 || *a > *as) *a = *as;
- }
- }
- b+= dstskip;
- a+= dstskip;
- bs+= srcskip;
- as+= srcskip;
- }
-}
+int vo_osd_progbar_type=-1;
+int vo_osd_progbar_value=100; // 0..256
+subtitle* vo_sub=NULL;
+char *subtitle_font_encoding = NULL;
+float text_font_scale_factor = 3.5;
+float osd_font_scale_factor = 4.0;
+float subtitle_font_radius = 2.0;
+float subtitle_font_thickness = 2.0;
+// 0 = no autoscale
+// 1 = video height
+// 2 = video width
+// 3 = diagonal
+int subtitle_autoscale = 3;
+
+char *font_name = NULL;
+char *sub_font_name = NULL;
+float font_factor = 0.75;
+float sub_delay = 0;
+float sub_fps = 0;
// allocates/enlarges the alpha/bitmap buffer
-static void alloc_buf(mp_osd_obj_t* obj)
+void osd_alloc_buf(mp_osd_obj_t* obj)
{
int len;
if (obj->bbox.x2 < obj->bbox.x1) obj->bbox.x2 = obj->bbox.x1;
@@ -163,7 +117,7 @@ static void alloc_buf(mp_osd_obj_t* obj)
}
// renders the buffer
-inline static void vo_draw_text_from_buffer(mp_osd_obj_t* obj,void (*draw_alpha)(void *ctx, int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride), void *ctx)
+static void vo_draw_text_from_buffer(mp_osd_obj_t* obj,void (*draw_alpha)(void *ctx, int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride), void *ctx)
{
if (obj->allocated > 0) {
draw_alpha(ctx,
@@ -176,59 +130,6 @@ inline static void vo_draw_text_from_buffer(mp_osd_obj_t* obj,void (*draw_alpha)
}
}
-unsigned utf8_get_char(const char **str) {
- const uint8_t *strp = (const uint8_t *)*str;
- unsigned c;
- GET_UTF8(c, *strp++, goto no_utf8;);
- *str = (const char *)strp;
- return c;
-
-no_utf8:
- strp = (const uint8_t *)*str;
- c = *strp++;
- *str = (const char *)strp;
- return c;
-}
-
-inline static void vo_update_text_osd(struct osd_state *osd, mp_osd_obj_t* obj,
- int dxs, int dys)
-{
- const char *cp = osd->osd_text;
- int x=20;
- int h=0;
- int font;
-
- obj->bbox.x1=obj->x=x;
- obj->bbox.y1=obj->y=10;
-
- while (*cp){
- uint16_t c=utf8_get_char(&cp);
- render_one_glyph(vo_font, c);
- x+=vo_font->width[c]+vo_font->charspace;
- h=get_height(c,h);
- }
-
- obj->bbox.x2=x-vo_font->charspace;
- obj->bbox.y2=obj->bbox.y1+h;
- obj->flags|=OSDFLAG_BBOX;
-
- alloc_buf(obj);
-
- cp = osd->osd_text;
- x = obj->x;
- while (*cp){
- uint16_t c=utf8_get_char(&cp);
- if ((font=vo_font->font[c])>=0)
- draw_alpha_buf(obj,x,obj->y,
- vo_font->width[c],
- vo_font->pic_a[font]->h,
- vo_font->pic_b[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->w);
- x+=vo_font->width[c]+vo_font->charspace;
- }
-}
-
#ifdef CONFIG_DVDNAV
void osd_set_nav_box (uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) {
nav_hl.sx = sx;
@@ -264,7 +165,7 @@ inline static void vo_update_nav (mp_osd_obj_t *obj, int dxs, int dys, int left_
obj->bbox.x2 = ex;
obj->bbox.y2 = ey;
- alloc_buf (obj);
+ osd_alloc_buf (obj);
len = obj->stride * (obj->bbox.y2 - obj->bbox.y1);
memset (obj->bitmap_buffer, OSD_NAV_BOX_ALPHA, len);
memset (obj->alpha_buffer, OSD_NAV_BOX_ALPHA, len);
@@ -274,776 +175,11 @@ inline static void vo_update_nav (mp_osd_obj_t *obj, int dxs, int dys, int left_
}
#endif
-// renders char to a big per-object buffer where alpha and bitmap are separated
-static void tt_draw_alpha_buf(mp_osd_obj_t* obj, int x0,int y0, int w,int h, unsigned char* src, int stride,int fg,int bg,int alpha)
-{
- int dststride = obj->stride;
- int dstskip = obj->stride-w;
- int srcskip = stride-w;
- int i, j;
- unsigned char *b = obj->bitmap_buffer + (y0-obj->bbox.y1)*dststride + (x0-obj->bbox.x1);
- unsigned char *a = obj->alpha_buffer + (y0-obj->bbox.y1)*dststride + (x0-obj->bbox.x1);
- unsigned char *bs = src;
- if (x0 < obj->bbox.x1 || x0+w > obj->bbox.x2 || y0 < obj->bbox.y1 || y0+h > obj->bbox.y2) {
- mp_msg(MSGT_OSD,MSGL_ERR,"tt osd text out of range: bbox [%d %d %d %d], txt [%d %d %d %d]\n",
- obj->bbox.x1, obj->bbox.x2, obj->bbox.y1, obj->bbox.y2,
- x0, x0+w, y0, y0+h);
- return;
- }
- for (i = 0; i < h; i++) {
- for (j = 0; j < w; j++, b++, a++, bs++) {
- *b=(fg-bg)*(*bs)/255+bg;
- *a=alpha;
- }
- b+= dstskip;
- a+= dstskip;
- bs+= srcskip;
- }
-}
-inline static void vo_update_text_teletext(mp_osd_obj_t *obj, int dxs, int dys)
-{
- int h=0,w=0,i,j,font,flashon;
- int wm,hm;
- int color;
- int x,y,x0,y0;
- int cols,rows;
- int wm12;
- int hm13;
- int hm23;
- int start_row,max_rows;
- int b,ax[6],ay[6],aw[6],ah[6];
- tt_char tc;
- tt_char* tdp=vo_osd_teletext_page;
- static const uint8_t colors[8]={1,85,150,226,70,105,179,254};
- unsigned char* buf[9];
-
- obj->flags|=OSDFLAG_CHANGED|OSDFLAG_VISIBLE;
- if (!tdp || !vo_osd_teletext_mode) {
- obj->flags&=~OSDFLAG_VISIBLE;
- return;
- }
- flashon=(GetTimer()/1000000)%2;
- switch(vo_osd_teletext_half){
- case TT_ZOOM_TOP_HALF:
- start_row=0;
- max_rows=VBI_ROWS/2;
- break;
- case TT_ZOOM_BOTTOM_HALF:
- start_row=VBI_ROWS/2;
- max_rows=VBI_ROWS/2;
- break;
- default:
- start_row=0;
- max_rows=VBI_ROWS;
- break;
- }
- wm=0;
- for(i=start_row;i<max_rows;i++){
- for(j=0;j<VBI_COLUMNS;j++){
- tc=tdp[i*VBI_COLUMNS+j];
- if(!tc.ctl && !tc.gfx)
- {
- render_one_glyph(vo_font, tc.unicode);
- if (wm<vo_font->width[tc.unicode])
- wm=vo_font->width[tc.unicode];
- }
- }
- }
-
- hm=vo_font->height+1;
- wm=dxs*hm*max_rows/(dys*VBI_COLUMNS);
-
-#ifdef CONFIG_FREETYPE
- //very simple teletext font auto scaling
- if(!vo_osd_teletext_scale && hm*(max_rows+1)>dys){
- osd_font_scale_factor*=1.0*(dys)/((max_rows+1)*hm);
- force_load_font=1;
- vo_osd_teletext_scale=osd_font_scale_factor;
- obj->flags&=~OSDFLAG_VISIBLE;
- return;
- }
-#endif
-
- cols=dxs/wm;
- rows=dys/hm;
-
- if(cols>VBI_COLUMNS)
- cols=VBI_COLUMNS;
- if(rows>max_rows)
- rows=max_rows;
- w=cols*wm-vo_font->charspace;
- h=rows*hm-vo_font->charspace;
-
- if(w<dxs)
- x0=(dxs-w)/2;
- else
- x0=0;
- if(h<dys)
- y0=(dys-h)/2;
- else
- y0=0;
-
- wm12=wm>>1;
- hm13=(hm+1)/3;
- hm23=hm13<<1;
-
- for(i=0;i<6;i+=2){
- ax[i+0]=0;
- aw[i+0]=wm12;
-
- ax[i+1]=wm12;
- aw[i+1]=wm-wm12;
- }
-
- for(i=0;i<2;i++){
- ay[i+0]=0;
- ah[i+0]=hm13;
-
- ay[i+2]=hm13;
- ah[i+2]=hm-hm23;
-
- ay[i+4]=hm-hm13;
- ah[i+4]=hm13;
- }
-
- obj->x = 0;
- obj->y = 0;
- obj->bbox.x1 = x0;
- obj->bbox.y1 = y0;
- obj->bbox.x2 = x0+w;
- obj->bbox.y2 = y0+h;
- obj->flags |= OSDFLAG_BBOX;
- alloc_buf(obj);
-
- for(i=0;i<9;i++)
- buf[i]=malloc(wm*hm);
-
- //alpha
- if(vo_osd_teletext_format==TT_FORMAT_OPAQUE ||vo_osd_teletext_format==TT_FORMAT_OPAQUE_INV)
- color=1;
- else
- color=200;
- memset(buf[8],color,wm*hm);
- //colors
- if(vo_osd_teletext_format==TT_FORMAT_OPAQUE ||vo_osd_teletext_format==TT_FORMAT_TRANSPARENT){
- for(i=0;i<8;i++){
- memset(buf[i],(unsigned char)(1.0*(255-color)*colors[i]/255),wm*hm);
- }
- }else{
- for(i=0;i<8;i++)
- memset(buf[i],(unsigned char)(1.0*(255-color)*colors[7-i]/255),wm*hm);
- }
-
- y=y0;
- for(i=0;i<rows;i++){
- x=x0;
- for(j=0;j<cols;j++){
- tc=tdp[(i+start_row)*VBI_COLUMNS+j];
- if (tc.hidden) { x+=wm; continue;}
- if(!tc.gfx || (tc.flh && !flashon)){
- /* Rendering one text character */
- draw_alpha_buf(obj,x,y,wm,hm,buf[tc.bg],buf[8],wm);
- if(tc.unicode!=0x20 && tc.unicode!=0x00 && !tc.ctl &&
- (!tc.flh || flashon) &&
- (font=vo_font->font[tc.unicode])>=0 && y+hm<dys){
- tt_draw_alpha_buf(obj,x,y,vo_font->width[tc.unicode],vo_font->height,
- vo_font->pic_b[font]->bmp+vo_font->start[tc.unicode]-vo_font->charspace*vo_font->pic_a[font]->w,
- vo_font->pic_b[font]->w,
- buf[tc.fg][0],buf[tc.bg][0],buf[8][0]);
- }
- }else{
-/*
-Rendering one graphics character
-TODO: support for separated graphics symbols (where six rectangles does not touch each other)
-
- +--+ +--+ 87654321
- |01| |12| --------
- |10| <= |34| <= 00100110 <= 0x26
- |01| |56|
- +--+ +--+
-
-(0:wm/2) (wm/2:wm-wm/2)
-
-********** *********** (0:hm/3)
-*** **** **** ****
-*** 1 **** **** 2 ****
-*** **** **** ****
-********** ***********
-********** ***********
-
-********** *********** (hm/3:hm-2*hm/3)
-********** ***********
-*** **** **** ****
-*** 3 **** **** 4 ****
-*** **** **** ****
-********** ***********
-********** ***********
-********** ***********
-
-********** *********** (hm-hm/3:hm/3)
-*** **** **** ****
-*** 5 **** **** 6 ****
-*** **** **** ****
-********** ***********
-********** ***********
-
-*/
- if(tc.gfx>1){ //separated gfx
- for(b=0;b<6;b++){
- color=(tc.unicode>>b)&1?tc.fg:tc.bg;
- draw_alpha_buf(obj,x+ax[b]+1,y+ay[b]+1,aw[b]-2,ah[b]-2,buf[color],buf[8],wm);
- }
- //separated gfx (background borders)
- //vertical
- draw_alpha_buf(obj,x ,y,1,hm,buf[tc.bg],buf[8],wm);
- draw_alpha_buf(obj,x+ax[1]-1,y,2,hm,buf[tc.bg],buf[8],wm);
- draw_alpha_buf(obj,x+ax[1]+aw[1]-1,y,wm-ax[1]-aw[1]+1,hm,buf[tc.bg],buf[8],wm);
- //horizontal
- draw_alpha_buf(obj,x,y ,wm,1,buf[tc.bg],buf[8],wm);
- draw_alpha_buf(obj,x,y+ay[0]+ah[0]-1,wm,2,buf[tc.bg],buf[8],wm);
- draw_alpha_buf(obj,x,y+ay[2]+ah[2]-1,wm,2,buf[tc.bg],buf[8],wm);
- draw_alpha_buf(obj,x,y+ay[4]+ah[4]-1,wm,hm-ay[4]-ah[4]+1,buf[tc.bg],buf[8],wm);
- }else{
- for(b=0;b<6;b++){
- color=(tc.unicode>>b)&1?tc.fg:tc.bg;
- draw_alpha_buf(obj,x+ax[b],y+ay[b],aw[b],ah[b],buf[color],buf[8],wm);
- }
- }
- }
- x+=wm;
- }
- y+=hm;
- }
- for(i=0;i<9;i++)
- free(buf[i]);
-}
-
-int vo_osd_progbar_type=-1;
-int vo_osd_progbar_value=100; // 0..256
-
-// if we have n=256 bars then OSD progbar looks like below
-//
-// 0 1 2 3 ... 256 <= vo_osd_progbar_value
-// | | | | |
-// [ === === === ... === ]
-//
-// the above schema is rescalled to n=elems bars
-
-inline static void vo_update_text_progbar(mp_osd_obj_t* obj,int dxs,int dys){
-
- obj->flags|=OSDFLAG_CHANGED|OSDFLAG_VISIBLE;
-
- if(vo_osd_progbar_type<0 || !vo_font){
- obj->flags&=~OSDFLAG_VISIBLE;
- return;
- }
-
- render_one_glyph(vo_font, OSD_PB_START);
- render_one_glyph(vo_font, OSD_PB_END);
- render_one_glyph(vo_font, OSD_PB_0);
- render_one_glyph(vo_font, OSD_PB_1);
- render_one_glyph(vo_font, vo_osd_progbar_type);
-
- // calculate bbox corners:
- { int h=0;
- int y=(dys-vo_font->height)/2;
- int delimw=vo_font->width[OSD_PB_START]
- +vo_font->width[OSD_PB_END]
- +vo_font->charspace;
- int width=(2*dxs-3*delimw)/3;
- int charw=vo_font->width[OSD_PB_0]+vo_font->charspace;
- int elems=width/charw;
- int x=(dxs-elems*charw-delimw)/2;
- int delta = 0;
- h=get_height(OSD_PB_START,h);
- h=get_height(OSD_PB_END,h);
- h=get_height(OSD_PB_0,h);
- h=get_height(OSD_PB_1,h);
- if (vo_osd_progbar_type>0 && vo_font->font[vo_osd_progbar_type]>=0){
- delta = vo_font->width[vo_osd_progbar_type]+vo_font->spacewidth;
- delta = (x-delta > 0) ? delta : x;
- h=get_height(vo_osd_progbar_type,h);
- }
- obj->bbox.x1=obj->x=x;
- obj->bbox.y1=obj->y=y;
- obj->bbox.x2=x+width+delimw;
- obj->bbox.y2=y+h; //vo_font->height;
- obj->flags|=OSDFLAG_BBOX;
- obj->params.progbar.elems=elems;
- obj->bbox.x1-=delta; // space for an icon
- }
-
- alloc_buf(obj);
-
- {
- int minw = vo_font->width[OSD_PB_START]+vo_font->width[OSD_PB_END]+vo_font->width[OSD_PB_0];
- if (vo_osd_progbar_type>0 && vo_font->font[vo_osd_progbar_type]>=0){
- minw += vo_font->width[vo_osd_progbar_type]+vo_font->charspace+vo_font->spacewidth;
- }
- if (obj->bbox.x2 - obj->bbox.x1 < minw) return; // space too small, don't render anything
- }
-
- // render it:
- { unsigned char *s;
- unsigned char *sa;
- int i,w,h,st,mark;
- int x=obj->x;
- int y=obj->y;
- int c,font;
- int charw=vo_font->width[OSD_PB_0]+vo_font->charspace;
- int elems=obj->params.progbar.elems;
-
- if (vo_osd_progbar_value<=0)
- mark=0;
- else {
- int ev=vo_osd_progbar_value*elems;
- mark=ev>>8;
- if (ev & 0xFF) mark++;
- if (mark>elems) mark=elems;
- }
-
-
-// printf("osd.progbar width=%d xpos=%d\n",width,x);
- c=vo_osd_progbar_type;
- if(vo_osd_progbar_type>0 && (font=vo_font->font[c])>=0) {
- int xp=x-vo_font->width[c]-vo_font->spacewidth;
- draw_alpha_buf(obj,(xp<0?0:xp),y,
- vo_font->width[c],
- vo_font->pic_a[font]->h,
- vo_font->pic_b[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->w);
- }
-
- c=OSD_PB_START;
- if ((font=vo_font->font[c])>=0)
- draw_alpha_buf(obj,x,y,
- vo_font->width[c],
- vo_font->pic_a[font]->h,
- vo_font->pic_b[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->w);
- x+=vo_font->width[c]+vo_font->charspace;
-
- c=OSD_PB_0;
- if ((font=vo_font->font[c])>=0){
- w=vo_font->width[c];
- h=vo_font->pic_a[font]->h;
- s=vo_font->pic_b[font]->bmp+vo_font->start[c];
- sa=vo_font->pic_a[font]->bmp+vo_font->start[c];
- st=vo_font->pic_a[font]->w;
- if ((i=mark)) do {
- draw_alpha_buf(obj,x,y,w,h,s,sa,st);
- x+=charw;
- } while(--i);
- }
-
- c=OSD_PB_1;
- if ((font=vo_font->font[c])>=0){
- w=vo_font->width[c];
- h=vo_font->pic_a[font]->h;
- s =vo_font->pic_b[font]->bmp+vo_font->start[c];
- sa=vo_font->pic_a[font]->bmp+vo_font->start[c];
- st=vo_font->pic_a[font]->w;
- if ((i=elems-mark)) do {
- draw_alpha_buf(obj,x,y,w,h,s,sa,st);
- x+=charw;
- } while(--i);
- }
-
- c=OSD_PB_END;
- if ((font=vo_font->font[c])>=0)
- draw_alpha_buf(obj,x,y,
- vo_font->width[c],
- vo_font->pic_a[font]->h,
- vo_font->pic_b[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->bmp+vo_font->start[c],
- vo_font->pic_a[font]->w);
-// x+=vo_font->width[c]+vo_font->charspace;
-
- }
-// vo_osd_progbar_value=(vo_osd_progbar_value+1)&0xFF;
-
-}
-
-subtitle* vo_sub=NULL;
-
-inline static void vo_update_text_sub(struct osd_state *osd, mp_osd_obj_t* obj,int dxs,int dys){
- unsigned char *t;
- int c,i,j,l,x,y,font,prevc,counter;
- int k;
- int xsize;
- int xmin=dxs,xmax=0;
- int h,lasth;
- int xtblc, utblc;
- struct font_desc *sub_font = osd->sub_font;
-
- obj->flags|=OSDFLAG_CHANGED|OSDFLAG_VISIBLE;
-
- if(!vo_sub || !osd->sub_font || !sub_visibility || (sub_font->font[40]<0)){
- obj->flags&=~OSDFLAG_VISIBLE;
- return;
- }
-
- obj->bbox.y2=obj->y=dys;
- obj->params.subtitle.lines=0;
-
- // too long lines divide into a smaller ones
- i=k=lasth=0;
- h=sub_font->height;
- l=vo_sub->lines;
-
- {
- struct osd_text_t *osl, *cp_ott, *tmp_ott, *tmp;
- struct osd_text_p *otp_sub = NULL, *otp_sub_tmp = NULL, // these are used to store the whole sub text osd
- *otp, *tmp_otp, *pmt; // these are used to manage sub text osd coming from a single sub line
- int *char_seq, char_position, xlimit = dxs * sub_width_p / 100, counter;
-
- while (l) {
- xsize = -sub_font->charspace;
- l--;
- t=vo_sub->text[i++];
- char_position = 0;
- char_seq = calloc(strlen(t), sizeof(int));
-
- prevc = -1;
-
- otp = NULL;
- osl = NULL;
- x = 1;
-
- // reading the subtitle words from vo_sub->text[]
- while (*t) {
- if (sub_utf8)
- c = utf8_get_char((const char **)&t);
- else if ((c = *t++) >= 0x80 && sub_unicode)
- c = (c<<8) + *t++;
- if (k==MAX_UCS){
- t += strlen(t); // end here
- mp_msg(MSGT_OSD,MSGL_WARN,"\nMAX_UCS exceeded!\n");
- }
- if (!c) c++; // avoid UCS 0
- render_one_glyph(sub_font, c);
-
- if (c == ' ') {
- struct osd_text_t *tmp_ott = calloc(1, sizeof(struct osd_text_t));
-
- if (osl == NULL) {
- osl = cp_ott = tmp_ott;
- } else {
- tmp_ott->prev = cp_ott;
- cp_ott->next = tmp_ott;
- tmp_ott->osd_kerning =
- sub_font->charspace + sub_font->width[' '];
- cp_ott = tmp_ott;
- }
- tmp_ott->osd_length = xsize;
- tmp_ott->text_length = char_position;
- tmp_ott->text = malloc(char_position * sizeof(int));
- for (counter = 0; counter < char_position; ++counter)
- tmp_ott->text[counter] = char_seq[counter];
- char_position = 0;
- xsize = 0;
- prevc = c;
- } else {
- int delta_xsize = sub_font->width[c] + sub_font->charspace + kerning(sub_font, prevc, c);
-
- if (xsize + delta_xsize <= dxs) {
- if (!x) x = 1;
- prevc = c;
- char_seq[char_position++] = c;
- xsize += delta_xsize;
- if ((!suboverlap_enabled) && ((font = sub_font->font[c]) >= 0)) {
- if (sub_font->pic_a[font]->h > h) {
- h = sub_font->pic_a[font]->h;
- }
- }
- } else {
- if (x) {
- mp_msg(MSGT_OSD, MSGL_WARN, "\nSubtitle word '%s' too long!\n", t);
- x = 0;
- }
- }
- }
- }// for len (all words from subtitle line read)
-
- // osl holds an ordered (as they appear in the lines) chain of the subtitle words
- {
- struct osd_text_t *tmp_ott = calloc(1, sizeof(struct osd_text_t));
-
- if (osl == NULL) {
- osl = cp_ott = tmp_ott;
- } else {
- tmp_ott->prev = cp_ott;
- cp_ott->next = tmp_ott;
- tmp_ott->osd_kerning =
- sub_font->charspace + sub_font->width[' '];
- cp_ott = tmp_ott;
- }
- tmp_ott->osd_length = xsize;
- tmp_ott->text_length = char_position;
- tmp_ott->text = malloc(char_position * sizeof(int));
- for (counter = 0; counter < char_position; ++counter)
- tmp_ott->text[counter] = char_seq[counter];
- char_position = 0;
- xsize = -sub_font->charspace;
- }
- free(char_seq);
-
- if (osl != NULL) {
- int value = 0, exit = 0, minimum = 0;
-
- // otp will contain the chain of the osd subtitle lines coming from the single vo_sub line.
- otp = tmp_otp = calloc(1, sizeof(struct osd_text_p));
- tmp_otp->ott = osl;
- for (tmp_ott = tmp_otp->ott; exit == 0; ) {
- do {
- value += tmp_ott->osd_kerning + tmp_ott->osd_length;
- tmp_ott = tmp_ott->next;
- } while ((tmp_ott != NULL) && (value + tmp_ott->osd_kerning + tmp_ott->osd_length <= xlimit));
- if (tmp_ott != NULL) {
- struct osd_text_p *tmp = calloc(1, sizeof(struct osd_text_p));
-
- tmp_otp->value = value;
- tmp_otp->next = tmp;
- tmp->prev = tmp_otp;
- tmp_otp = tmp;
- tmp_otp->ott = tmp_ott;
- value = -2 * sub_font->charspace - sub_font->width[' '];
- } else {
- tmp_otp->value = value;
- exit = 1;
- }
- }
-
-
-#ifdef NEW_SPLITTING
- // minimum holds the 'sum of the differences in length among the lines',
- // a measure of the evenness of the lengths of the lines
- for (tmp_otp = otp; tmp_otp->next != NULL; tmp_otp = tmp_otp->next) {
- pmt = tmp_otp->next;
- while (pmt != NULL) {
- minimum += abs(tmp_otp->value - pmt->value);
- pmt = pmt->next;
- }
- }
-
- if (otp->next != NULL) {
- int mem1, mem2;
- struct osd_text_p *mem, *hold;
-
- exit = 0;
- // until the last word of a line can be moved to the beginning of following line
- // reducing the 'sum of the differences in length among the lines', it is done
- while (exit == 0) {
- hold = NULL;
- exit = 1;
- for (tmp_otp = otp; tmp_otp->next != NULL; tmp_otp = tmp_otp->next) {
- pmt = tmp_otp->next;
- for (tmp = tmp_otp->ott; tmp->next != pmt->ott; tmp = tmp->next);
- if (pmt->value + tmp->osd_length + pmt->ott->osd_kerning <= xlimit) {
- mem1 = tmp_otp->value;
- mem2 = pmt->value;
- tmp_otp->value = mem1 - tmp->osd_length - tmp->osd_kerning;
- pmt->value = mem2 + tmp->osd_length + pmt->ott->osd_kerning;
-
- value = 0;
- for (mem = otp; mem->next != NULL; mem = mem->next) {
- pmt = mem->next;
- while (pmt != NULL) {
- value += abs(mem->value - pmt->value);
- pmt = pmt->next;
- }
- }
- if (value < minimum) {
- minimum = value;
- hold = tmp_otp;
- exit = 0;
- }
- tmp_otp->value = mem1;
- tmp_otp->next->value = mem2;
- }
- }
- // merging
- if (exit == 0) {
- tmp_otp = hold;
- pmt = tmp_otp->next;
- for (tmp = tmp_otp->ott; tmp->next != pmt->ott; tmp = tmp->next);
- mem1 = tmp_otp->value;
- mem2 = pmt->value;
- tmp_otp->value = mem1 - tmp->osd_length - tmp->osd_kerning;
- pmt->value = mem2 + tmp->osd_length + pmt->ott->osd_kerning;
- pmt->ott = tmp;
- }//~merging
- }//~while(exit == 0)
- }//~if(otp->next!=NULL)
-#endif
-
- // adding otp (containing splitted lines) to otp chain
- if (otp_sub == NULL) {
- otp_sub = otp;
- for (otp_sub_tmp = otp_sub; otp_sub_tmp->next != NULL; otp_sub_tmp = otp_sub_tmp->next);
- } else {
- //updating ott chain
- tmp = otp_sub->ott;
- while (tmp->next != NULL) tmp = tmp->next;
- tmp->next = otp->ott;
- otp->ott->prev = tmp;
- //attaching new subtitle line at the end
- otp_sub_tmp->next = otp;
- otp->prev = otp_sub_tmp;
- do
- otp_sub_tmp = otp_sub_tmp->next;
- while (otp_sub_tmp->next != NULL);
- }
- }//~ if(osl != NULL)
- } // while
-
- // write lines into utbl
- xtblc = 0;
- utblc = 0;
- obj->y = dys;
- obj->params.subtitle.lines = 0;
- for (tmp_otp = otp_sub; tmp_otp != NULL; tmp_otp = tmp_otp->next) {
-
- if ((obj->params.subtitle.lines++) >= MAX_UCSLINES)
- break;
-
- if (h > obj->y) { // out of the screen so end parsing
- obj->y -= lasth - sub_font->height; // correct the y position
- break;
- }
- xsize = tmp_otp->value;
- obj->params.subtitle.xtbl[xtblc++] = (dxs - xsize) / 2;
- if (xmin > (dxs - xsize) / 2)
- xmin = (dxs - xsize) / 2;
- if (xmax < (dxs + xsize) / 2)
- xmax = (dxs + xsize) / 2;
-
- tmp = (tmp_otp->next == NULL) ? NULL : tmp_otp->next->ott;
- for (tmp_ott = tmp_otp->ott; tmp_ott != tmp; tmp_ott = tmp_ott->next) {
- for (counter = 0; counter < tmp_ott->text_length; ++counter) {
- if (utblc > MAX_UCS) {
- break;
- }
- c = tmp_ott->text[counter];
- render_one_glyph(sub_font, c);
- obj->params.subtitle.utbl[utblc++] = c;
- k++;
- }
- obj->params.subtitle.utbl[utblc++] = ' ';
- }
- obj->params.subtitle.utbl[utblc - 1] = 0;
- obj->y -= sub_font->height;
- }
- if(obj->params.subtitle.lines)
- obj->y = dys - ((obj->params.subtitle.lines - 1) * sub_font->height + sub_font->pic_a[sub_font->font[40]]->h);
-
- // free memory
- if (otp_sub != NULL) {
- for (tmp = otp_sub->ott; tmp->next != NULL; free(tmp->prev)) {
- free(tmp->text);
- tmp = tmp->next;
- }
- free(tmp->text);
- free(tmp);
-
- for(pmt = otp_sub; pmt->next != NULL; free(pmt->prev)) {
- pmt = pmt->next;
- }
- free(pmt);
- }
-
- }
- /// vertical alignment
- h = dys - obj->y;
- if (sub_alignment == 2)
- obj->y = dys * sub_pos / 100 - h;
- else if (sub_alignment == 1)
- obj->y = dys * sub_pos / 100 - h / 2;
- else
- obj->y = dys * sub_pos / 100;
-
- if (obj->y < 0)
- obj->y = 0;
- if (obj->y > dys - h)
- obj->y = dys - h;
-
- obj->bbox.y2 = obj->y + h;
-
- // calculate bbox:
- if (sub_justify) xmin = 10;
- obj->bbox.x1=xmin;
- obj->bbox.x2=xmax;
- obj->bbox.y1=obj->y;
-// obj->bbox.y2=obj->y+obj->params.subtitle.lines*sub_font->height;
- obj->flags|=OSDFLAG_BBOX;
-
- alloc_buf(obj);
-
- y = obj->y;
-
- obj->alignment = 0;
- switch(vo_sub->alignment) {
- case SUB_ALIGNMENT_BOTTOMLEFT:
- case SUB_ALIGNMENT_MIDDLELEFT:
- case SUB_ALIGNMENT_TOPLEFT:
- obj->alignment |= 0x1;
- break;
- case SUB_ALIGNMENT_BOTTOMRIGHT:
- case SUB_ALIGNMENT_MIDDLERIGHT:
- case SUB_ALIGNMENT_TOPRIGHT:
- obj->alignment |= 0x2;
- break;
- case SUB_ALIGNMENT_BOTTOMCENTER:
- case SUB_ALIGNMENT_MIDDLECENTER:
- case SUB_ALIGNMENT_TOPCENTER:
- default:
- obj->alignment |= 0x0;
- }
-
- i=j=0;
- if ((l = obj->params.subtitle.lines)) {
- for(counter = dxs; i < l; ++i)
- if (obj->params.subtitle.xtbl[i] < counter) counter = obj->params.subtitle.xtbl[i];
- for (i = 0; i < l; ++i) {
- switch (obj->alignment&0x3) {
- case 1:
- // left
- x = counter;
- break;
- case 2:
- // right
- x = 2 * obj->params.subtitle.xtbl[i] - counter - ((obj->params.subtitle.xtbl[i] == counter) ? 0 : 1);
- break;
- default:
- //center
- x = obj->params.subtitle.xtbl[i];
- }
- prevc = -1;
- while ((c=obj->params.subtitle.utbl[j++])){
- x += kerning(sub_font,prevc,c);
- if ((font=sub_font->font[c])>=0)
- draw_alpha_buf(obj,x,y,
- sub_font->width[c],
- sub_font->pic_a[font]->h+y<obj->dys ? sub_font->pic_a[font]->h : obj->dys-y,
- sub_font->pic_b[font]->bmp+sub_font->start[c],
- sub_font->pic_a[font]->bmp+sub_font->start[c],
- sub_font->pic_a[font]->w);
- x+=sub_font->width[c]+sub_font->charspace;
- prevc = c;
- }
- y+=sub_font->height;
- }
- }
-
-}
-
-inline static void vo_update_spudec_sub(mp_osd_obj_t* obj, int dxs, int dys)
+inline static void vo_update_spudec_sub(struct osd_state *osd, mp_osd_obj_t* obj)
{
unsigned int bbox[4];
- spudec_calc_bbox(vo_spudec, dxs, dys, bbox);
+ spudec_calc_bbox(vo_spudec, osd->w, osd->h, bbox);
obj->bbox.x1 = bbox[0];
obj->bbox.x2 = bbox[1];
obj->bbox.y1 = bbox[2];
@@ -1079,6 +215,7 @@ static mp_osd_obj_t* new_osd_obj(int type){
void osd_free(struct osd_state *osd)
{
+ osd_destroy_backend(osd);
mp_osd_obj_t* obj=vo_osd_list;
while(obj){
mp_osd_obj_t* next=obj->next;
@@ -1091,58 +228,16 @@ void osd_free(struct osd_state *osd)
talloc_free(osd);
}
-#define FONT_LOAD_DEFER 6
-
static int osd_update_ext(struct osd_state *osd, int dxs, int dys,
int left_border, int top_border, int right_border,
int bottom_border, int orig_w, int orig_h)
{
+ struct MPOpts *opts = osd->opts;
mp_osd_obj_t* obj=vo_osd_list;
int chg=0;
-#ifdef CONFIG_FREETYPE
- static int defer_counter = 0, prev_dxs = 0, prev_dys = 0;
-#endif
-#ifdef CONFIG_FREETYPE
- // here is the right place to get screen dimensions
- if (((dxs != vo_image_width)
- && (subtitle_autoscale == 2 || subtitle_autoscale == 3))
- || ((dys != vo_image_height)
- && (subtitle_autoscale == 1 || subtitle_autoscale == 3)))
- {
- // screen dimensions changed
- // wait a while to avoid useless reloading of the font
- if (dxs == prev_dxs || dys == prev_dys) {
- defer_counter++;
- } else {
- prev_dxs = dxs;
- prev_dys = dys;
- defer_counter = 0;
- }
- if (defer_counter >= FONT_LOAD_DEFER) force_load_font = 1;
- }
-
- if (force_load_font) {
- force_load_font = 0;
- load_font_ft(dxs, dys, &vo_font, font_name, osd_font_scale_factor);
- if (sub_font_name)
- load_font_ft(dxs, dys, &osd->sub_font, sub_font_name, text_font_scale_factor);
- else
- load_font_ft(dxs, dys, &osd->sub_font, font_name, text_font_scale_factor);
- prev_dxs = dxs;
- prev_dys = dys;
- defer_counter = 0;
- } else {
- if (!vo_font)
- load_font_ft(dxs, dys, &vo_font, font_name, osd_font_scale_factor);
- if (!osd->sub_font) {
- if (sub_font_name)
- load_font_ft(dxs, dys, &osd->sub_font, sub_font_name, text_font_scale_factor);
- else
- load_font_ft(dxs, dys, &osd->sub_font, font_name, text_font_scale_factor);
- }
- }
-#endif
+ osd->w = dxs;
+ osd->h = dys;
while(obj){
if(dxs!=obj->dxs || dys!=obj->dys || obj->flags&OSDFLAG_FORCE_UPDATE){
@@ -1155,25 +250,25 @@ static int osd_update_ext(struct osd_state *osd, int dxs, int dys,
break;
#endif
case OSDTYPE_SUBTITLE:
- vo_update_text_sub(osd, obj,dxs,dys);
+ vo_update_text_sub(osd, obj);
break;
case OSDTYPE_TELETEXT:
- vo_update_text_teletext(obj,dxs,dys);
+ vo_update_text_teletext(osd, obj);
break;
case OSDTYPE_PROGBAR:
- vo_update_text_progbar(obj,dxs,dys);
+ vo_update_text_progbar(osd, obj);
break;
case OSDTYPE_SPU:
- if(sub_visibility && vo_spudec && spudec_visible(vo_spudec)){
- vo_update_spudec_sub(obj, dxs, dys);
+ if (opts->sub_visibility && vo_spudec && spudec_visible(vo_spudec)){
+ vo_update_spudec_sub(osd, obj);
obj->flags|=OSDFLAG_VISIBLE|OSDFLAG_CHANGED;
}
else
obj->flags&=~OSDFLAG_VISIBLE;
break;
case OSDTYPE_OSD:
- if(vo_font && osd->osd_text[0]){
- vo_update_text_osd(osd, obj, dxs, dys); // update bbox
+ if(osd->osd_text[0]){
+ vo_update_text_osd(osd, obj);
obj->flags|=OSDFLAG_VISIBLE|OSDFLAG_CHANGED;
} else
obj->flags&=~OSDFLAG_VISIBLE;
@@ -1218,10 +313,12 @@ int osd_update(struct osd_state *osd, int dxs, int dys)
return osd_update_ext(osd, dxs, dys, 0, 0, 0, 0, dxs, dys);
}
-struct osd_state *osd_create(void)
+struct osd_state *osd_create(struct MPOpts *opts, struct ass_library *asslib)
{
struct osd_state *osd = talloc_zero(NULL, struct osd_state);
*osd = (struct osd_state){
+ .opts = opts,
+ .ass_library = asslib,
};
if(!draw_alpha_init_flag){
draw_alpha_init_flag=1;
@@ -1236,10 +333,8 @@ struct osd_state *osd_create(void)
new_osd_obj(OSDTYPE_DVDNAV);
#endif
new_osd_obj(OSDTYPE_TELETEXT);
-#ifdef CONFIG_FREETYPE
- force_load_font = 1;
-#endif
osd_set_text(osd, NULL);
+ osd_init_backend(osd);
return osd;
}
@@ -1251,28 +346,6 @@ void osd_set_text(struct osd_state *osd, const char *text) {
osd->osd_text = talloc_strdup(osd, text);
}
-int vo_osd_changed_flag=0;
-
-void osd_remove_text(struct osd_state *osd, int dxs, int dys,
- void (*remove)(int x0, int y0, int w, int h))
-{
- mp_osd_obj_t* obj=vo_osd_list;
- osd_update(osd, dxs, dys);
- while(obj){
- if(((obj->flags&OSDFLAG_CHANGED) || (obj->flags&OSDFLAG_VISIBLE)) &&
- (obj->flags&OSDFLAG_OLD_BBOX)){
- int w=obj->old_bbox.x2-obj->old_bbox.x1;
- int h=obj->old_bbox.y2-obj->old_bbox.y1;
- if(w>0 && h>0){
- vo_osd_changed_flag=obj->flags&OSDFLAG_CHANGED; // temp hack
- remove(obj->old_bbox.x1,obj->old_bbox.y1,w,h);
- }
-// obj->flags&=~OSDFLAG_OLD_BBOX;
- }
- obj=obj->next;
- }
-}
-
void osd_draw_text_ext(struct osd_state *osd, int dxs, int dys,
int left_border, int top_border, int right_border,
int bottom_border, int orig_w, int orig_h,
@@ -1287,7 +360,6 @@ void osd_draw_text_ext(struct osd_state *osd, int dxs, int dys,
bottom_border, orig_w, orig_h);
while(obj){
if(obj->flags&OSDFLAG_VISIBLE){
- vo_osd_changed_flag=obj->flags&OSDFLAG_CHANGED; // temp hack
switch(obj->type){
case OSDTYPE_SPU:
vo_draw_spudec_sub(obj, draw_alpha, ctx); // FIXME
@@ -1335,10 +407,6 @@ int vo_osd_changed(int new_value)
return ret;
}
-// BBBBBBBBBBBB AAAAAAAAAAAAA BBBBBBBBBBB
-// BBBBBBBBBBBB BBBBBBBBBBBBB
-// BBBBBBB
-
// return TRUE if we have osd in the specified rectangular area:
int vo_osd_check_range_update(int x1,int y1,int x2,int y2){
mp_osd_obj_t* obj=vo_osd_list;
diff --git a/sub/sub.h b/sub/sub.h
index 081834e..7ec29b2 100644
--- a/sub/sub.h
+++ b/sub/sub.h
@@ -21,6 +21,9 @@
#include <stdbool.h>
+#include "subreader.h"
+#include "dec_sub.h"
+
typedef struct mp_osd_bbox_s {
int x1,y1,x2,y2;
} mp_osd_bbox_t;
@@ -66,22 +69,9 @@ typedef struct mp_osd_obj_s {
int allocated;
unsigned char *alpha_buffer;
unsigned char *bitmap_buffer;
-} mp_osd_obj_t;
-
-struct osd_state {
- struct ass_library *ass_library;
- // flag to signal reinitialization due to ass-related option changes
- bool ass_force_reload;
- char *osd_text;
- struct font_desc *sub_font;
- struct ass_track *ass_track;
- double pts;
- double sub_offset;
- bool ass_track_changed;
- bool vsfilter_aspect;
-};
-#include "subreader.h"
+ struct ass_track *osd_track;
+} mp_osd_obj_t;
extern subtitle* vo_sub;
@@ -126,13 +116,27 @@ extern char *sub_cp;
extern int sub_pos;
extern int sub_width_p;
extern int sub_alignment;
-extern int sub_visibility;
extern int sub_bg_color; /* subtitles background color */
extern int sub_bg_alpha;
extern int spu_alignment;
extern int spu_aamode;
extern float spu_gaussvar;
+extern char *subtitle_font_encoding;
+extern float text_font_scale_factor;
+extern float osd_font_scale_factor;
+extern float subtitle_font_radius;
+extern float subtitle_font_thickness;
+extern int subtitle_autoscale;
+
+extern char *font_name;
+extern char *sub_font_name;
+extern float font_factor;
+extern float sub_delay;
+extern float sub_fps;
+
+extern int sub_justify;
+
void osd_draw_text(struct osd_state *osd, int dxs, int dys,
void (*draw_alpha)(void *ctx, int x0, int y0, int w, int h,
unsigned char* src, unsigned char *srca,
@@ -146,28 +150,30 @@ void osd_draw_text_ext(struct osd_state *osd, int dxs, int dys,
unsigned char *srca,
int stride),
void *ctx);
-void osd_remove_text(struct osd_state *osd, int dxs, int dys,
- void (*remove)(int x0, int y0, int w, int h));
-struct osd_state *osd_create(void);
+struct osd_state *osd_create(struct MPOpts *opts, struct ass_library *asslib);
void osd_set_text(struct osd_state *osd, const char *text);
int osd_update(struct osd_state *osd, int dxs, int dys);
int vo_osd_changed(int new_value);
int vo_osd_check_range_update(int,int,int,int);
void osd_free(struct osd_state *osd);
-extern int vo_osd_changed_flag;
-
-unsigned utf8_get_char(const char **str);
-
#ifdef CONFIG_DVDNAV
#include <inttypes.h>
void osd_set_nav_box (uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey);
#endif
-#ifdef IS_OLD_VO
-#define vo_remove_text(...) osd_remove_text(global_osd, __VA_ARGS__)
-#endif
+// used only by osd_libass.c
+void osd_alloc_buf(mp_osd_obj_t* obj);
+
+// defined in osd_libass.c or osd_dummy.c
+void vo_update_text_osd(struct osd_state *osd, mp_osd_obj_t *obj);
+void vo_update_text_teletext(struct osd_state *osd, mp_osd_obj_t *obj);
+void vo_update_text_progbar(struct osd_state *osd, mp_osd_obj_t *obj);
+void vo_update_text_sub(struct osd_state *osd, mp_osd_obj_t *obj);
+void osd_get_function_sym(char *buffer, size_t buffer_size, int osd_function);
+void osd_init_backend(struct osd_state *osd);
+void osd_destroy_backend(struct osd_state *osd);
#endif /* MPLAYER_SUB_H */
diff --git a/sub/sub_cc.c b/sub/sub_cc.c
index f18fa28..8919ce8 100644
--- a/sub/sub_cc.c
+++ b/sub/sub_cc.c
@@ -58,6 +58,8 @@ static int initialized=0;
static int cc_mode=CC_ROLLON;
static int cc_lines=4; ///< number of visible rows in CC roll-up mode, not used in CC roll-on mode
+int subcc_enabled = 0;
+
static void build_char_table(void)
{
int i;
diff --git a/sub/subreader.c b/sub/subreader.c
index f694f57..5ef0392 100644
--- a/sub/subreader.c
+++ b/sub/subreader.c
@@ -47,12 +47,8 @@
#include <iconv.h>
char *sub_cp=NULL;
#endif
-#ifdef CONFIG_FRIBIDI
-#include <fribidi/fribidi.h>
-char *fribidi_charset = NULL; ///character set that will be passed to FriBiDi
-int flip_hebrew = 1; ///flip subtitles using fribidi
-int fribidi_flip_commas = 0; ///flip comma when fribidi is used
-#endif
+
+int suboverlap_enabled = 1;
// Parameter struct for the format-specific readline functions
struct readline_args {
@@ -167,7 +163,7 @@ static subtitle *sub_read_line_sami(stream_t* st, subtitle *current,
s++;
if (*s == 'P' || *s == 'p') { s++; state = 2; continue; } /* found '<P' */
for (; *s != '>' && *s != '\0'; s++); /* skip remains of non-<P> TAG */
- if (s == '\0')
+ if (*s == '\0')
break;
s++;
continue;
@@ -1135,9 +1131,11 @@ static subtitle *sub_read_line_jacosub(stream_t* st, subtitle * current,
} //-- switch
} //-- for
*q = '\0';
- current->text[current->lines] = strdup(line1);
+ if (current->lines < SUB_MAX_TEXT)
+ current->text[current->lines] = strdup(line1);
} //-- while
- current->lines++;
+ if (current->lines < SUB_MAX_TEXT)
+ current->lines++;
return current;
}
@@ -1274,71 +1272,6 @@ subtitle* subcp_recode (subtitle *sub)
}
#endif
-#ifdef CONFIG_FRIBIDI
-/**
- * Do conversion necessary for right-to-left language support via fribidi.
- * @param sub subtitle to convert
- * @param sub_utf8 whether the subtitle is encoded in UTF-8
- * @param from first new subtitle, all lines before this are assumed to be already converted
- */
-static subtitle* sub_fribidi (subtitle *sub, int sub_utf8, int from)
-{
- FriBidiChar logical[LINE_LEN+1], visual[LINE_LEN+1]; // Hopefully these two won't smash the stack
- char *ip = NULL, *op = NULL;
- size_t len,orig_len;
- int l=sub->lines;
- int char_set_num;
- fribidi_boolean log2vis;
- if (!flip_hebrew)
- return sub;
- fribidi_set_mirroring(1);
- fribidi_set_reorder_nsm(0);
-
- if( sub_utf8 == 0 ) {
- char_set_num = fribidi_parse_charset (fribidi_charset?fribidi_charset:"ISO8859-8");
- }else {
- char_set_num = fribidi_parse_charset ("UTF-8");
- }
- while (l > from) {
- ip = sub->text[--l];
- orig_len = len = strlen( ip ); // We assume that we don't use full unicode, only UTF-8 or ISO8859-x
- if(len > LINE_LEN) {
- mp_msg(MSGT_SUBREADER,MSGL_WARN,"SUB: sub->text is longer than LINE_LEN.\n");
- l++;
- break;
- }
- len = fribidi_charset_to_unicode (char_set_num, ip, len, logical);
-#if FRIBIDI_INTERFACE_VERSION < 3
- FriBidiCharType base = fribidi_flip_commas?FRIBIDI_TYPE_ON:FRIBIDI_TYPE_L;
-#else
- FriBidiParType base = fribidi_flip_commas?FRIBIDI_TYPE_ON:FRIBIDI_TYPE_L;
-#endif
- log2vis = fribidi_log2vis (logical, len, &base,
- /* output */
- visual, NULL, NULL, NULL);
- if(log2vis) {
- len = fribidi_remove_bidi_marks (visual, len, NULL, NULL,
- NULL);
- if((op = malloc((FFMAX(2*orig_len,2*len) + 1))) == NULL) {
- mp_msg(MSGT_SUBREADER,MSGL_WARN,"SUB: error allocating mem.\n");
- l++;
- break;
- }
- fribidi_unicode_to_charset ( char_set_num, visual, len,op);
- free (ip);
- sub->text[l] = op;
- }
- }
- if (!from && l){
- for (l = sub->lines; l;)
- free (sub->text[--l]);
- return ERR;
- }
- return sub;
-}
-
-#endif
-
static void adjust_subs_time(subtitle* sub, float subtime, float fps, int block,
int sub_num, int sub_uses_time) {
int n,m;
@@ -1557,12 +1490,6 @@ sub_data* sub_read_file(char *filename, float fps, struct MPOpts *opts)
#ifdef CONFIG_ICONV
if ((sub!=ERR) && sub_utf8 == 2) sub=subcp_recode(sub);
#endif
-#ifdef CONFIG_FRIBIDI
- /* Libass has its own BiDi handling now, and running this before
- * giving the subtitle to libass would only break things. */
- if (sub != ERR && !opts->ass_enabled)
- sub = sub_fribidi(sub, sub_utf8, 0);
-#endif
if ( sub == ERR )
{
#ifdef CONFIG_ICONV
@@ -2149,9 +2076,6 @@ void sub_add_text(subtitle *sub, const char *txt, int len, double endpts) {
int double_newline = 1; // ignore newlines at the beginning
int i, pos;
char *buf;
-#ifdef CONFIG_FRIBIDI
- int orig_lines = sub->lines;
-#endif
if (sub->lines >= SUB_MAX_TEXT) return;
pos = 0;
buf = malloc(MAX_SUBLINE + 1);
@@ -2196,9 +2120,6 @@ void sub_add_text(subtitle *sub, const char *txt, int len, double endpts) {
if (sub->lines < SUB_MAX_TEXT &&
strlen(sub->text[sub->lines]))
sub->lines++;
-#ifdef CONFIG_FRIBIDI
- sub = sub_fribidi(sub, sub_utf8, orig_lines);
-#endif
}
/**
diff --git a/sub/subreader.h b/sub/subreader.h
index 079238a..a6d0831 100644
--- a/sub/subreader.h
+++ b/sub/subreader.h
@@ -79,10 +79,6 @@ typedef struct sub_data {
int sub_errs;
} sub_data;
-extern char *fribidi_charset;
-extern int flip_hebrew;
-extern int fribidi_flip_commas;
-
struct MPOpts;
sub_data* sub_read_file (char *filename, float pts, struct MPOpts *opts);
subtitle* subcp_recode (subtitle *sub);
diff --git a/timeline/tl_matroska.c b/timeline/tl_matroska.c
index 00fd6b7..22a72e1 100644
--- a/timeline/tl_matroska.c
+++ b/timeline/tl_matroska.c
@@ -35,7 +35,6 @@
#include "mpcommon.h"
#include "stream/stream.h"
-
static char **find_files(const char *original_file, const char *suffix)
{
void *tmpmem = talloc_new(NULL);
@@ -87,6 +86,50 @@ static char **find_files(const char *original_file, const char *suffix)
return results;
}
+static struct demuxer *open_demuxer(struct stream *stream,
+ struct MPContext *mpctx, char *filename, unsigned char uid_map[][16])
+{
+ return demux_open_withparams(&mpctx->opts, stream,
+ DEMUXER_TYPE_MATROSKA, mpctx->opts.audio_id,
+ mpctx->opts.video_id, mpctx->opts.sub_id, filename,
+ &(struct demuxer_params){.matroska_wanted_uids = uid_map});
+}
+
+static int enable_cache(struct MPContext *mpctx, struct stream **stream,
+ struct demuxer **demuxer, unsigned char uid_map[][16])
+{
+ struct MPOpts *opts = &mpctx->opts;
+
+ if (opts->stream_cache_size <= 0)
+ return 0;
+
+ char *filename = talloc_strdup(NULL, (*demuxer)->filename);
+ free_demuxer(*demuxer);
+ free_stream(*stream);
+
+ int format = 0;
+ *stream = open_stream(filename, &mpctx->opts, &format);
+ if (!*stream) {
+ talloc_free(filename);
+ return -1;
+ }
+
+ stream_enable_cache_percent(*stream,
+ opts->stream_cache_size,
+ opts->stream_cache_min_percent,
+ opts->stream_cache_seek_min_percent);
+
+ *demuxer = open_demuxer(*stream, mpctx, filename, uid_map);
+ if (!*demuxer) {
+ talloc_free(filename);
+ free_stream(*stream);
+ return -1;
+ }
+
+ talloc_free(filename);
+ return 1;
+}
+
static int find_ordered_chapter_sources(struct MPContext *mpctx,
struct content_source *sources,
int num_sources,
@@ -116,11 +159,7 @@ static int find_ordered_chapter_sources(struct MPContext *mpctx,
struct stream *s = open_stream(filenames[i], &mpctx->opts, &format);
if (!s)
continue;
- struct demuxer *d = demux_open_withparams(&mpctx->opts, s,
- DEMUXER_TYPE_MATROSKA, mpctx->opts.audio_id,
- mpctx->opts.video_id, mpctx->opts.sub_id, filenames[i],
- &(struct demuxer_params){.matroska_wanted_uids = uid_map});
-
+ struct demuxer *d = open_demuxer(s, mpctx, filenames[i], uid_map);
if (!d) {
free_stream(s);
@@ -133,6 +172,10 @@ static int find_ordered_chapter_sources(struct MPContext *mpctx,
if (!memcmp(uid_map[i], d->matroska_data.segment_uid, 16)) {
mp_msg(MSGT_CPLAYER, MSGL_INFO,"Match for source %d: %s\n",
i, filename_recode(d->filename));
+
+ if (enable_cache(mpctx, &s, &d, uid_map) < 0)
+ continue;
+
sources[i].stream = s;
sources[i].demuxer = d;
num_left--;
--
mplayer2 packaging
More information about the pkg-multimedia-commits
mailing list